Software mit garantierter Zuverlässigkeit

Immer mehr Funktionen in Automobilen werden mit Software realisiert. Die zugehörigen Steuergeräte – im Premiumsegment derzeit bis zu 80 – müssen für eine korrekte Fahrzeugfunktion miteinander kommunizieren. Durch den steigenden Grad an Vernetzung innerhalb des Fahrzeugs wird jedoch auch die Softwareentwicklung immer komplexer und stellt die Hersteller vor neue Herausforderungen. Dabei gewinnen vor allem nicht-funktionale Aspekte wie Zuverlässigkeit und Zeitverhalten bei der Softwareentwicklung an Bedeutung. Bestehende Entwicklungslösungen berücksichtigen diese Anforderungen nicht ausreichend.

 

 

Im EU Förderprojekt CHESS arbeiten die Wissenschaftler des Fraunhofer ESK daher zusammen mit anderen europäischen Partnern aus den Bereichen Automotive, Telekommunikation, Railway und Space an domänenübergreifenden und industrieverwertbaren Lösungen für die Softwareentwicklung eingebetteter Systeme. Zur Bewältigung der steigenden Komplexität kombinieren sie dabei die Techniken der komponentenbasierten mit denen der modellgetriebenen Softwareentwicklung.

 

 

CHESS Demo Video

Software mit Garantien

© Foto panthermedia.net / Kheng Ho Toh

Ziel des Gemeinschaftsprojekts ist die Einhaltung definierter Garantien bei der Zusammenstellung von Softwarekomponenten. Alle relevanten funktionalen und nicht-funktionalen Eigenschaften einer Softwarekomponente müssen dafür modelliert, verifiziert und schließlich zur Laufzeit eingehalten werden. Dies benötigt einen durchgängigen Entwicklungsprozess von einem frühen Zeitpunkt des Architekturentwurfsbis hin zur Codegenerierung und Ausführung.

Modellierung nicht-funktionaler Eigenschaften

Bestehende Modellierungssprachen unterstützen die Beschreibung von nicht-funktionalen Eigenschaften nur unzureichend. Aus diesem Grund wird in CHESS eine Modellierungssprache spezifiziert, die auf Konzepten und Artefakten bestehender Sprachen, wie MARTE und SysML, aufbaut und die für die domänenübergreifende Modellierung nicht-funktionaler Eigenschaftengeeignet ist. Die Wissenschaftler des Fraunhofer ESK erforschen insbesondere die Modellierung des Zeitverhaltens. Die Beschreibung des Zeitverhaltens ist an AUTOSAR angelehnt und ermöglicht die Modellierung schon zu einer frühen Entwurfsphase. Da die nicht-funktionalen Eigenschaften jeweils von entsprechenden Domänenexperten definiert werden, wurde ein Konzept sogenannter „Modell-Views“ umgesetzt. Das Modellierungswerkzeug schränkt dabei die Sicht auf das Modell auf einen bestimmten Aspekt bzw. „View“ ein. Damit ist es möglich, nur view-spezifische Informationen zu modellieren und editieren. Auf andere Informationen kann nur lesend zugegriffen werden. So lässt sich die steigende Komplexität der Modelle beherrschen.

Analyse und Simulation

Um frühzeitig die Einhaltung nicht-funktionaler Eigenschaften zur Laufzeit garantieren zu können, müssen Analysen hinsichtlich der Einhaltung der spezifizierten Anforderungen durchgeführt werden. Neben statischen Verfahren zur Bewertung der Zuverlässigkeit und des Zeitverhaltens fließen auch aus Simulationen gewonnene Daten und Laufzeitergebnisse in das Modell zurück. Hierfür wird das vom Fraunhofer ESK entwickelte Simulationsframework DynaSim eingesetzt, das auch eine Simulation adaptiven Funktionsverhaltens ermöglicht.

Für Automotive geeignet

Die im Rahmen des Projekts CHESS entstehende Methodik wird für den Einsatz in verschiedenen Industriedomänen entwickelt. Die Wissenschaftler des Fraunhofer ESK arbeiten daran, die Eignung für die Automobilindustrie umzusetzen. Dazu entwickeln sie unter anderem eine Modelltransformation,die ein bestehendes CHESS Modell in ein Modell der automobilen Architekturbeschreibungssprache EAST-ADL2 transformiert. Diese Transformation stellt die Grundlage dar, um die Entwicklungsmethodik im Automobilbereich einsetzen und z. B. AUTOSAR Module generieren zu können.

Die modellierten Module werden in einer echtzeitfähigen Linux-Umgebung ausgeführt. Um dies zu erreichen, werden AUTOSAR-Betriebssystem-Funktionen in der Laufzeitumgebung zur Verfügung gestellt. Nicht-funktionale Eigenschaften, die im Entwurf nicht statisch verifiziert werden können, werden zudem durch die Laufzeitumgebung überwacht.

Zuverlässige Software

Die Integration der Modellierung nicht-funktionaler Eigenschaften in die domänenübergreifende komponentenbasierte Entwicklungsmethodik ist primäre Absicht von CHESS. Dazu haben die beteiligten Wissenschaftler die CHESS Modellierungssprache spezifiziert und darauf aufbauend eine Toolkette entwickelt, welche die Modellierung sowie die Analyse nichtfunktionaler Eigenschaften unterstützt. Zur Laufzeitabsicherung der nicht-funktionalen Eigenschaften haben sie zudem Erweiterungen für die in den jeweiligen Domänen verbreiteten Laufzeitumgebungen erarbeitet. Ein erheblicher Kostenfaktor ist das Beheben von Entwurfsfehlern, die erst in späten Entwicklungsphasen erkannt werden. Die CHESS-Methodik erlaubt es, solche Fehler durch Analyse- und Simulationsmethoden in frühen Entwicklungsphasen zu identifizieren und zu beheben, in denen Entwurfsänderungen günstig durchführbar sind. Durch die Berücksichtigung von nicht-funktionalen Eigenschaften in der Kombination mit bestehenden Ansätzen des komponenten basierten Entwurfs und der modellbasierten Softwareentwicklung ermöglicht CHESS die abgesicherte Implementierung und Integration neuartiger und komplexer Funktionen in Automobilen.

Ausblick

Die bis zum Frühjahr 2012 im Projekt CHESS entstehenden Ergebnisse und die Verbindung der Modellierung mit Analysemethoden erlauben es, Fehler frühzeitig zu erkennen und somit die Entwicklungskosten eingebetteter Softwaresysteme zu reduzieren. Das Fraunhofer ESK unterstützt mit den erzielten Erkenntnissen Projektpartner und Auftraggeber beim Aufbau solcher Entwicklungsmethoden zur frühzeitigen Modellierung und Validierung nicht-funktionaler Eigenschaften in der Praxis.

Das Projekt wurde vom ARTEMIS Joint Undertaking Programme und dem Bundesministerium für Bildung und Forschung (BMBF) gefördert.