Die Funktions- und Software-Entwicklung einzelner AUTOSAR-Software-Komponenten erfolgt vielfach modellbasiert in Simulink/TargetLink. Wie Bild 3 zeigt, werden Steuerungs- und Regelungsfunktionen grafisch entworfen und durch automatische Code-Generierung in AUTOSAR-konformen, serienreifen C-Code übersetzt.
Die üblichen Vorteile und Vorgehensweisen des modellbasierten Entwurfs, zum Beispiel unmittelbare Simulier- und Testbarkeit, Generierung aller benötigten Artefakte aus einer Quelle und erhöhte Qualität, bleiben vollständig erhalten. Mit TargetLink lassen sich existierende Modelle einfach nach AUTOSAR migrieren.
Die Modelle werden um zusätzliche AUTOSAR-Daten angereichert, etwa um bestimmte Kommunikationsarten festzulegen oder die existierenden Funktionen in einzelne Software-Komponenten aufzuteilen. Der TargetLink-Anwender kann damit nicht nur Code für unterschiedliche AUTOSAR-Versionen aus demselben Modell generieren, sondern auch konventionellen Nicht-AUTOSAR-Code. Hierdurch wird die Wiederverwendung der eigentlichen Funktionsmodelle in unterschiedlichen Serienprojekten maßgeblich vereinfacht. Durch die Tatsache, dass die AUTOSAR-Unterstützung im Kern des Code-Generators verankert ist, ergibt sich eine vergleichbar gute Code-Effizienz sowohl für AUTOSAR als auch für Nicht-AUTOSAR-Projekte.
Die Praxis bisheriger AUTOSAR-Serienprojekte hat gezeigt, dass Aspekte der Interoperabilität und der Festlegung geeigneter Workflows von großer Bedeutung sind. Zur Entwicklung von Software-Komponenten mit TargetLink und SystemDesk werden standardkonforme AUTOSAR-Beschreibungen zwischen beiden Werkzeugen in einem iterativen Prozess ausgetauscht (AUTOSAR Round-Trip). Zur Erhöhung von Transparenz und Effizienz bieten SystemDesk und TargetLink zudem eine verfeinerte Kopplung auf Basis des Austausches von sogenannten SWC-Containern an. Diese fassen alle bei der Entwicklung einer Komponente erzeugten Artefakte, wie ARXML- und Code-Dateien, zusammen und erleichtern so den Datenaustausch. Zudem wird durch einen hinterlegten Workflow gesteuert, welche Artefakte durch den TargetLink-Anwender modifiziert werden dürfen und welche nicht, um unterschiedlichen Rollen gerecht zu werden. Die Aufgabe des TargetLink-Anwenders besteht nun darin, das modellbasierte Implementierungsmodell so zu entwerfen, dass es den Schnittstellenbeschreibungen des Software-Architekten gehorcht.
Zur Sicherstellung dieser Konsistenz verfügt TargetLink über eine Funktion zur Synchronisierung von Modellen und AUTOSAR-spezifischen Daten. Zudem wird das iterative Arbeiten durch ein eingebautes Diff&Merge unterstützt, um Änderungen zu visualisieren, effizient einzupflegen und die Auswirkungen auf das eigentliche Modell zurückzuverfolgen. Ein weiterer großer Vorteil des modellbasierten Entwurfs, nämlich die unmittelbare Simulier- und Testbarkeit, bleibt auch im AUTOSAR-Szenario erhalten. Mit TargetLink lässt sich der AUTOSAR-konforme Serien-Code auf Knopfdruck direkt gegen den blockbasierten Entwurf verifizieren. Der eigentliche Serien-Code wird dabei entweder auf dem Host-PC oder aber auf einem Evaluation Board ausgeführt. In beiden Fällen generiert TargetLink eine Stub-RTE im sogenannten AUTOSAR Compatibility Mode, gegen die der eigentliche Komponenten-Code gelinkt wird. Die Durchführung des Komponententests unter Einsatz des eigentlichen Target-Compiler und -Prozessors ist aufgrund der Nähe zum finalen Steuergerät besonders aussagekräftig.
Generierung und Absicherung virtueller Steuergeräte
Die Simulation einzelner Software-Komponenten ist jedoch nur ein wichtiger Schritt in Richtung abgesicherter Steuergeräte-Software. AUTOSAR ebnet durch Standardisierung der Struktur und Integration der Software auch den Weg für die Generierung virtueller Steuergeräte, die Voraussetzung für einen umfassenden Software-Test frühzeitig im Entwicklungsprozess sind. Die gewünschten und auch möglichen Testszenarien sind dabei vielfältig.
So legen vor allem Software-Architekten und Funktionsentwickler den Fokus auf die Absicherung der Anwendungskomponenten und deren Kommunikation untereinander. Mit SystemDesk können für solche Anwendungsfälle die zu testenden Komponenten einer V-ECU zugeordnet und das AUTOSAR-Betriebssystem, das beispielsweise für das Task-Scheduling nötig ist, sowie die RTE generiert werden. Steuergeräteverantwortliche haben darüber hinaus das fehlerfreie Zusammenspiel von Anwendungs- und Basis-Software im Fokus.
Daraus ergibt sich der Anspruch, Basis-Software-Module, beispielsweise den ECU State Manager, zu integrieren, um das Verhalten beim Hoch- und Herunterfahren einer V-ECU abzubilden. Doch nicht nur die Kommunikation von Software-Komponenten auf einem Steuergerät, auch die Kommunikation zwischen mehreren Steuergeräten soll zu einem möglichst frühen Zeitpunkt abgesichert werden. Das erfordert einerseits komfortable Möglichkeiten, um Datenelemente der Anwendungskomponenten auf Bussignale abzubilden.
Zum anderen ist es notwendig, die Module des Kommunikations-Stack einzubeziehen. Weil diese in solch frühen Entwicklungsphasen häufig noch nicht vorliegen, ist deren Konfiguration und Generierung zum Zwecke der Validierung wünschenswert und wird ebenfalls mit SystemDesk ermöglicht. Je nach Absicherungsszenario können für die V-ECUs zudem Schnittstellen zur Anbindung von Umgebungsmodellen oder Eingriffspunkte für die Stimulation definiert werden. Für die Ausführung der erstellten Simulationssysteme stellt dSpace mit der PC-basierten Simulationsplattform Veos und der Echtzeit-Hardware Scalexio geeignete Plattformen für verschiedene Anwendungsfälle zur Verfügung. So kann beispielsweise mit Veos ein CAN-Bus virtualisiert und inklusive Arbitrierung simuliert werden. Vervollständigt wird die Werkzeugkette für die virtuelle Validierung mit der Bereitstellung von Test- und Experimentier-Software, die in der PC-Welt wie auch in Szenarien mit Hardware zum Einsatz kommen kann.
Die Autoren:
Dr. Ulrich Eisemann |
---|
ist Senior Product Manager für den Serien-Code-Generator TargetLink bei der dSpace GmbH. |
Anne Geburzi |
---|
ist Product Manager bei der dSpace GmbH und verantwortet den Bereich der Generierung virtueller Steuergeräte im Systemarchitekturwerkzeug SystemDesk. |
Dr. Barbara Kempkes |
---|
ist Product Engineer SystemDesk bei der dSpace GmbH. |
Joachim Stroop |
---|
ist Lead Product Manager bei der dSPACE GmbH und verantwortlich für das Systemarchitekturwerkzeug SystemDesk. |