In professionellen Embedded Software-Projekten - insbesondere im industriellen Umfeld - gehen wir von Produktlebenszyklen von mehreren Jahren aus. Ein valides Build- und Software Management ist unerlässlich, um eine langfristige, wirtschaftliche Weiterentwicklung zu ermöglichen. Es macht die gewünschte Transparenz von Open Source Software sowie die Teilhabe an Innovationen und kontinuierlichen (Sicherheits-) Updates aus der Community erst handhabbar. Unabhängigkeit durch Prozess-Sicherheit Spätestens, wenn Embedded Linux-Betriebssystemsoftware einer Zertifizierung unterliegt, ist man darauf angewiesen, einen validen und reproduzierbaren Build-Prozess mit verlässlichem Versions-Management nachweisen zu können. Das Build Automation Management mit entsprechendem Software Change Management besteht in der Regel aus Tooling und Infrastruktur, aber ebenso aus definierten Prozessen. Wesentliche Anforderungen sind außerdem Personen- und Baurechnerunabhängigkeit. Emb. Linux D v1 Variants Build- & Testautomatisierung Build- und Testautomatisierung Emb. Linux C v1 Emb. Linux C v2 Auditierbares Software Change Management e2factory unterstützt das gesamte Product Lifecycle Management der in einem Kundenprodukt enthaltenen Embedded Software-Komponenten, insbesondere, aber nicht nur auf Betriebssystem-Ebene. e2factory unterliegt der GPLv3 und ist als Entwicklungswerkzeug frei verfügbar. Entscheidend für den industriellen Einsatz sind in erster Linie die folgenden Eigenschaften und Zusatznutzen: ■ e2factory ermöglicht ein verlässliches Build Automation Management und ein auditierbares Software Change Management ■ Reproduzierbarkeit sämtlicher entsprechend angelegter Software-Versionen durch Prüfsummencheck sämtlicher Eingangsparamter eines jeden Build-Prozesses (Sourcen, Buildscripte, Konfiguration, Bauumgebung) ■ Multiuser-Fähigkeit durch Client-/Server-Architektur ■ geringe Komplexität bei fokussierter Funktionalität: transparente Zusammenstellung eines Board Support Packages Emb. Linux D v2 Emb. Linux C v3 Emb. Linux B v2 Emb. Linux B v1 Emb. Linux A v1 Gegen diese Anforderungen sowie im Rahmen diverser zertifizierungspflichtiger Projekte hat emlix e2factory entwickelt. Das Software Management und Build-System wird seit 2003 kontinuierlich gepflegt und weiterentwickelt und wird mittlerweile in einigen hundert Entwicklungsprojekten sowie zur Wartung und Pflege eingesetzt. Emb. Linux A v2 Emb. Linux A v3 Build System Repository Versions t e2factory ermöglicht ein zuverlässiges Versions- und Variantenmanagement. Auch nach Jahren können baurechnerunabhängig die gewünschten Releases exakt nachgebaut und modifiziert werden. Der dahinter liegende Prozess erfüllt diverse Zertifizierungsanforderungen. Build- & Testautomatisierung e2factory sorgt für die strikte Trennung von Sourcen, Konfiguration und eigentlicher Bauumgebung. source #1 chroot pkg #1 result #1 source #2 chroot pkg #2 result #2 source #n chroot pkg #n result #n Result Server Source Server(s) Project ■ Prozesssicherheit bei Baurechner- und Personenunabhängigkeit ■ unterstützt Community-nahes Arbeiten (Mainline Compliance) ■ Software Paket Management auf Host und Target ■ die Sourcen werden im Rahmen von Projekten direkt vom upstream bezogen, reduziert auf das tatsächlich benötigte e2factory Professional Für den Einsatz im Unternehmen bietet emlix im Rahmen eines Professional Open Source-Ansatzes umfangreichen Service und Support – während der Entwicklung und über den gesamten Product Lifecycle eines Kundenproduktes. e2factory professional beinhaltet u.a.: ■ Project Set-up inkl. projektspezifischer Toolchain und Changeroot ■ Projektspezifische Konfiguration von e2factory ■ e2factory Workshop und Support-Kontingent ■ Signatur von Host- und Target-Paketen (optional) ■ Host- und Target-Paketmanagement ■ Umfangreiche Dokumentation (User Manual) ■ Serverinfrastruktur in zertifizierten Rechenzentren; Backup und Recovery ■ ggf. Portierung auf Server des Kunden Die enthaltenen Leistungen können als Supportvertrag oder im Rahmen von Wartungsverträgen abhängig von den Kundenbedürfnissen vereinbart werden. ■ integriertes Versionsmanagement; beliebige Versionen können in einem Projekt verwaltet werden, Rückverfolgbarkeit von Änderungen ■ e2factory erlaubt sicheres, verteiltes Arbeiten über verschiedene Standorte hinweg (e2factory workbench) ■ effizientes und verlässliches Lifecycle Management über den gesamten Produktlebenszyklus und diverse Software-Stände sowie ggf. Produktvarianten ■ gezielte, qualitätsgesicherte Zusammenstellung eines BSPs ohne unerwünschte Patches, Versionskonflikt etc.; kein Distributions Lock-in ■ In e2factory lassen sich die einzelnen Open Source-Lizenzen der jeweils verwendeten Software-Bausteine dokumentieren. Dies ermöglicht einen rechtssicheren Umgang mit freier Software. e2factory ist eine emlix-Marke und wird in emlix-Verantwortung kontinuierlich gewartet und weiterentwickelt. Hierbei gibt es klare Paradigmen im Bereich der Verlässlichkeit, Rückwärtskompatibilität und der Validierbarkeit mit zentralem Reviewing. e2factory-Updates werden sorgfältig geplant, gründlich getestet (umfangreiche Testsuite) und für jeden einzelnen Kunden abgestimmt. Build- & Testautomatisierung e2factory workbench Zur Unterstützung einer nahtlosen Zusammenarbeit zwischen Entwicklergruppen bietet emlix e2factory workbench an. emlix hosted über e2factory workbench die Projekte des Auftraggebers. Autorisierte Personen können über verschlüsselte Datenverbindungen auf die workbench zugreifen und unmittelbar zusammenarbeiten. Das Supportangebot e2factory workbench beinhaltet zusätzlich zu e2factory professional: ■ Set-up der e2factory workbench für verteiltes Arbeiten auf emlix-Servern Testplan Generator Open Source Test Library e2mtt Library Test Definition Host PC Testdriver Target Device Rev. 1.N ■ Support bei der Abstimmung mit der Kunden-IT ■ Administration von Entwicklungs-Servern und -Infrastruktur Report Generator Report Analyze ■ Verwaltung von Nutzern und Zugriffsberechtigungen ■ auf Wunsch Portierung auf Kundenserver emlix Test Application Framework (TAF) Mit dem Test Application Framework (TAF) hat emlix ein Qualitätssicherungs-Werkzeug entwickelt, das sich optimal an die Dynamik agiler Entwicklung anpassen kann und ein kontinuierliches und wirtschaftliches Testen nah an der Hardware erlaubt. Sämtliche Testläufe werden reproduzierbar archiviert, um auch zu einem späteren Zeitpunkt Ergebnisse überprüfen zu können. Das TAF enthält über 200 von emlix entwickelte, überwiegend automatisierte und systemnahe Tests für Embedded Linux-Systeme – ergänzt durch Module aus Open Source Test Libraries (zum Beispiel LTP - Linux Test Project). Eine spezifische Auswahl dieser Tests stellt, erweitert um projektbezogene Tests, die Testsuite eines Entwicklungsprojektes dar. Zu den Testergebnissen kann eine den Anforderungen entsprechende, umfangreiche Dokumentation generiert Report Database Auswahl, Durchführung und Dokumentation von Tests im TAF werden, die Entwicklungsstand und Qualität des Produktes darstellen. Die durchgängige eindeutige Versionierung und Dokumentation erlauben zusammen mit der Archivierung der reproduzierbaren Testergebnisse den Einsatz des TAF in Projekten mit hohen Qualitätsanforderungen (Zertifizierungen). Zusammen mit e2factory wird eine durchgängige Reproduzierbarkeit und Nachverfolgbarkeit aller Entwicklungsschritte und Testläufe erreicht. Funktionsweise des TAF Zum Projektstart werden die relevanten Tests aus der generischen Test-Tool-Bibliothek ausgewählt und für das Zielprojekt konfiguriert. Für projektspezifische zu testende Anforderungen werden weitere Tests implementiert, sodass zu jedem relevanten Bestandteil des Projektziels die notwendige Testabdeckung formuliert ist. Die initiale Testauswahl kann durch Hinzufügen weiterer Tests sowie Adaption bestehender Tests kontinuierlich über die Entwicklungszyklen an sich verfeinernde und verändernde Anforderungen angepasst werden. Tests können von Build- & Testautomatisierung TAF erleichtert. Test Results Test Cycle1-n Report Generator Test Report Der Testprozess beginnt mit dem Übersetzen der Tests in ausführbare Dateien. Das TAF-Bausystem automatisiert diesen Schritt und generiert die zur Ausführung notwendigen Testpläne und Verzeichnisstrukturen. Nach dem Setup des zu testenden Geräts führt der Testrunner die Tests anhand der Testpläne aus und protokolliert die Ergebnisse umfangreich in Result-Dateien. Es ist möglich, dass verschiedene Tester mehrere Testläufe auf verschiedenen Varianten des zu testenden Systems durchführen. Alle Testergebnisse können in die Result-Datenbank des TAF eingepflegt werden und aus dieser heraus zu Testreports korreliert werden. Der Testrunner selber läuft nicht auf dem zu testenden Gerät, sondern auf einem Test-Host, und führt Tests auf dem zu testenden Gerät aus. Ebenfalls möglich sind Tests, die nicht auf dem, sondern gegen das zu testende Gerät laufen. Dadurch können komplexe Vorgänge geprüft werden, die beispielsweise den Neustart des zu testenden Geräts beinhalten. Hohe Flexibilität Results Expected Das TAF erstellt Datenbank-basiert automatisierte Testreports, die das gesamte Test-Set-up dokumentieren. Werden Projekte parallel zu laufenden Entwicklungszyklen mit dem Test Application Framework getestet, spielt dessen flexible Anpassbarkeit eine grosse Rolle. Ergebnisse aus verschiedenen Entwicklungsständen lassen sich miteinander vergleichen, systemspezifische aber auch generische Tests lassen sich problemlos ergänzen. Das TAF kann für jedes Projekt mit seinen besonderen Anforderungen konfiguriert und erweitert werden. Verification emlix GmbH solutions @ emlix.com http://www.emlix.com emlix entwickelt oder von unseren Kunden zur Verfügung gestellt werden. Die Integration eigenständiger Tests in das TAF ist mit geringem Aufwand möglich. Robuste Test-Tools müssen bestimmte Funktionalitäten implementieren. Mit der taflib stellt emlix eine Implementierung zur Verfügung, die das Erstellen neuer Tests und deren Integration in das Phone +49 (0) 551 / 30664-0 Fax +49 (0) 551 / 30664-11
© Copyright 2024 ExpyDoc