Bildergalerie
Beispielmodell eines Bremssystems (oben links). Die Eigenschaften der markierten Funktion werden in der Properties-View von Eclipse dargestellt (oben rechts). Der generierte Simulationscode (main.cpp, unten) verwendet diese Eigenschaften als Input.
Im Fenster im Vordergrund wird die Simulation ausgeführt, aus der dann das Change Model entsteht.
Im unteren Fenster sieht der Entwickler das in der Simulation entstandene Change Model. Im oberen Fenster werden bei „Results“ die Timing Traces angezeigt.
Die Modellierung eines Constraints im Ernest-Modell wird im oberen linken Fenster angezeigt. Oben rechts stellt der Entwickler die maximale Verzögerung zwischen Stimulus und Response ein.
Nach der Analyse werden „Constraint Validation“ angelegt, die zur weiteren Auswertung dienen (oben links). Ihre Eigenschaften zeigen mit der Meldung „Satisfied: True or False“, ob zwischen zwei Events der Constraint eingehalten wurde (oben rechts).

Kernstück von Ernest (framework for the early verification and validation of networked embedded systems) ist die simulationsbasierte Analyse. In einem ersten Schritt wird aus dem Softwaremodell eine Simulation erzeugt und das Kommunikationsverhalten nachgebildet. Das Ernest-Framework erzeugt dabei so genannte Timing-Traces, die über das Zeitverhalten informieren und festhalten, an welchem Port zu welchem Zeitpunkt eine Nachricht angelangt ist. „Wir haben zunächst die Analyse des Zeitverhaltens als eine derzeit wichtigste nicht-funktionale Eigenschaft berücksichtigt, die gerade bei Automobil-Software unbedingt eingehalten werden muss“, erläutert Gereon Weiß, Gruppenleiter Automotive Software bei der Fraunhofer ESK, die Wahl der ESK-Forscher. Weitere Analysemöglichkeiten sind geplant und können leicht in das offene Framework integriert werden.

In einem zweiten Schritt haben die Wissenschaftler der Fraunhofer ESK eine Möglichkeit gefunden, wie man diese Simulationsdaten an die offene Entwicklungsumgebung Eclipse anbindet und analysiert. Dabei greifen sie auf ein Change-Modell zurück, das die Simulationsdaten in das Eclipse-Modell überführt. Der Entwickler kann nun überprüfen, ob die gesetzten Anforderungen eingehalten wurden und sein Software-Modell entsprechend verbessern.

Analyse mehrerer Modellierungssprachen

Besonders am Ernest-Simulationsframework ist, dass es durch ein eigens entwickeltes Meta-Modell unterschiedliche Modellierungssprachen wie UML, EAST-ADL und Artop/Autosar analysiert. Die ESK-Wissenschaftler haben bereits während der Entwicklung darauf geachtet, dass die Analyse von der Modellierungssprache der Systemarchitektur unabhängig bleibt. Damit können Softwarenentwickler unterschiedliche Modelle mit verschiedenen Entwicklungssprachen in das Framework integrieren und überprüfen.