Entwicklung einer open-source Entwicklungsplattform, erweiterbar durch die Community
Das im Rahmen von ITEA 2 geförderte EU-Projekt AMALTHEA hat für den Automobilbereich eine modellbasierte, durchgängige Entwicklungsplattform geschaffen.
Mit der stetig steigenden Zahl an Komfort- und Fahrerassistenzsystemen in heutigen Fahrzeugen steigt auch der Bedarf an Rechenleistung, sodass z.B. im Automobilbereich ein Umstieg auf Multicore-Steuergeräte begonnen hat. Diese Umstellung auf Seiten der Hardware erfordert auch eine Anpassung der Entwicklungsmethoden und -werkzeuge auf der Softwareseite. Frei nach dem Motto “Tune-up your software development” hat das ITEA2-Projekt AMALTHEA eine open-source Entwicklungsplattform konzipiert, die ein gemeinsames Datenmodell und wohl-definierte Werkzeugschnittstellen für eine effizientere Softwareentwicklung bereitstellt.
Im Entwicklungsprozess von automobilen Steuergeräten kommt eine Vielzahl von Werkzeugen zum Einsatz, die teils eine spezifische Sicht auf ein System bieten, teils verschiedene Entwicklungsschritte unterstützen. In beiden Fällen werden nicht nur Informationen über das System verwendet, sondern auch im Rahmen der Entwicklung modifiziert. Diese modifizierten Daten bilden oft die Basis für folgende Entwicklungsschritte, sodass eine Kette von Werkzeugen entsteht. Da verschiedene Werkzeuge oft unterschiedliche Dateiformate verwenden, benötigt man eine Plattform, die einen kontinuierlichen Entwicklungsfluss ermöglicht und Daten bzw. Modelle einmalig erzeugt. Diese können schließlich mit den verschiedenen Werkzeugen visualisiert und bearbeitet werden (Abb. 1).
“Der Schlüssel zur Beherrschung der verteilten Entwicklung komplexer eingebetteter Systeme ist der Datenaustausch von Systemmodellen und Timing-Anforderungen über ein gemeinsames Datenmodell. AMALTHEA bietet mit seinem Datenmodell eine ideale Struktur für diesen Datenaustausch mit unseren Zulieferern im Produktionsprozess.“ Torsten Flämig, VW
Verschiedene Standards, wie z.B. Automotive SPICE, ISO-26262 und AUTOSAR, sind bei der automobilen Systementwicklung zu berücksichtigen. Automotive SPICE und ISO-26262 geben eine allgemeine Definition zur Evaluierung und Verbesserung der Entwicklungsprozesse im Automobilbereich. AUTOSAR bietet neben einer komponentenbasierten Entwicklungsmethodik für automobile Software auch eine standardisierte System-Architektur für Steuergeräte. Der Fokus liegt hierbei jedoch auf der System-Ebene, während die Verhaltensbeschreibung nur begrenzt möglich ist (Runnables stellen die detaillierteste Beschreibungsstufe dar). Durch die mangelnde Detail- Beschreibung bzgl. des (Zeit-)Verhaltens können fortgeschrittene Simulations- und Verifikationstechniken nur begrenzt angewandt werden. Diese sind jedoch für eine qualitativ hochwertige Entwicklung der viel komplexeren Multicore- Systeme unabdingbar. Eine Vielzahl kommerzieller Werkzeuge unterstützt verschiedene Teil-Aspekte von AUTOSAR, sodass ein Austausch zwischen unterschiedlichen Werkzeugen immer häufiger notwendig wird. Dies gilt insbesondere für die Optimierung von Multicore-Systemen, die zusätzliche Informationen, wie z.B. detaillierte Zeiteigenschaften eines Systems, benötigt.
Vereinfachter Datenaustausch mit AMALTHEA
Ziel des Projekts war die Aufwandsminderung für den Datenaustausch. Hierzu entwickelte das Projektkonsortium eine konsistente, offene und erweiterbare Werkzeugkettenplattform für eingebettete Multicore-Systeme insbesondere im Automobilbereich. Der modellbasierte Ansatz ermöglicht nicht nur AUTOSAR-kompatible System-Entwicklung, sondern unterstützt auch die Modellierung von Varianten, welche in der modernen Fahrzeug-Entwicklung üblich ist. Die AMALTHEA-Plattform erlaubt dabei nicht nur die Modellierung von Multicore-Software und -Hardware, sondern bietet auch elementare Werkzeuge zur Visualisierung und Bearbeitung dieser Modelle. Durch das einheitliche Datenmodell, das alle notwendigen Informationen für einen vollständigen Entwicklungsprozess enthält, können Daten zentriert erstellt und gehalten werden. Die Daten enthalten dabei sowohl Software- als auch Hardwarebeschreibungen, die um Multicore-relevante Attribute erweitert worden sind. Ein Hauptfokus bei der Plattformentwicklung lag auf offenen Schnittstellen, um eine Vielzahl von Werkzeugen - egal ob open-source, kommerziell oder proprietär - integrieren zu können. Gemeinsam mit dem Datenmodell entsteht hierdurch ein effizienter Datenaustausch, sowohl zwischen kooperierenden Unternehmen als auch zwischen verschiedenen Werkzeugen innerhalb eines Unternehmens. Weiterhin sollten Anwender selbstdefinierte Werkzeugketten zusammenstellen können, die spezielle Anforderungen durch die Verwendung entsprechender Werkzeuge erfüllen. Als Basis für die Entwicklungsplattform wurde Eclipse gewählt, da es durch seinen Plug-in-Mechanismus eine einfache Möglichkeit zur Integration weiterer Werkzeuge bietet. Damit die AMALTHEA-Ergebnisse frei verfügbar sind, wurde die Plattform unter der Eclipse-Public-License (EPL) veröffentlicht. Hierdurch ist diese nicht nur frei verwendbar, sondern auch der Quellcode zugänglich und Software-Anbieter können ihre Werkzeuge mit geringem Aufwand in die AMALTHEA-Plattform integrieren.
Variantenunterstützung
Im Rahmen von AMALTHEA wurden zudem auch Varianten in automobilen Systemen betrachtet. So kann z.B. die Motorsteuerungssoftware, je nach den gewählten Features eines Autos, hunderte Varianten aufweisen. Um dies bereits im Entwicklungsprozess eines Systems berücksichtigen zu können, wurde in AMALTHEA eine Methode entwickelt, mit der Software- und Hardware-Varianten gemeinsam beschrieben werden können. Bereits bei der Auswahl einer speziellen Variante können Abhängigkeiten zwischen Software- und Hardware- Komponenten geprüft und Fehler frühzeitig vermieden werden. Das gemeinsame Modellieren unterstützt zudem die Kompatibilität von Hard- und Software durch die Definition entsprechender Abhängigkeiten, die somit automatisch überprüft werden können. Im Gegensatz zur händischen Überprüfung dieser Abhängigkeiten verringert dies nicht nur den Aufwand, sondern erlaubt auch eine semiautomatische Produkterzeugung.
Praktischer Einsatz
Die Praxisrelevanz und Anwendbarkeit der AMALTHEA-Plattform sind durch die Zusammensetzung des Projektkonsortiums sichergestellt, dessen Partner insbesondere die Automobil- Domäne adressieren. Dabei reicht das Spektrum von Tier-1 Zulieferern, über Software-Anbieter, bis hin zu Forschungseinrichtungen. Einige der Software-Anbieter bieten bereits einen Datenaustausch mit Hilfe der AMALTHEA-Plattform an. Selbst Tier-1 Zulieferer verwenden die Plattform nicht nur intern, sondern auch für den Datenaustausch mit einigen OEMs, z.B. VW. In Bezug auf die aus CESAR/CRYSTAL stammende Referenz-Technologie- Plattform (RTP) ist die AMALTHEAPlattform als eine spezielle (Referenz-) Implementierung für die Automobil-Domäne zu sehen. Auch AMALTHEA verwendet eine OSLC Schnittstelle und kann hierdurch mit Teilen der RTP verbunden werden. Eine erste Version der Entwicklungsumgebung wurde bereits als Preview im Oktober 2013 auf der Homepage der Eclipse Automotive Industry Working Group (eclipse-auto-iwg) veröffentlicht. Diese Vorschau bietet eine Momentaufnahme des Entwicklungsstands und enthält neben dem Quellcode eine Dokumentation sowie Beispiele. Hierdurch wurde ein erster Schritt in Richtung opensource Community gemacht, durch den es möglich ist, Feedback bzgl. der Plattform zu sammeln und diesen zu integrieren.
Christopher Brink und Jan Jatzkowski
(Universität Paderborn)
Related projects
AMALTHEA
Model Based Open Source Development Environment for Automotive Multi Core Systems