Suchen

Qualitätssicherung

ERNEST deckt Fehler schon in der Entwicklungsphase auf

Seite: 2/3

Firmen zum Thema

Aus diesen Daten berechnet der BremsController das aktualisierte Bremsmoment, das zusammen mit der aktuellen Geschwindigkeit an das ABS_1 (Anti-Blockier-System) weitergeleitet wird. Der ABS-Regler vergleicht die Geschwindigkeit des Fahrzeugs mit der aktuellen Geschwindigkeit der Räder, die wiederum über Sensoren erfasst wird. Mit diesen Daten wird das Bremsmoment angepasst und die benötigte Bremskraft (brakeForceDisc) an die Brems-Aktuatoren weitergegeben, die schließlich den Bremsvorgang auslösen.

In dem genannten Beispiel eines Bremssystemswurde das Modell in der Modellierungssprache EAST-ADL erstellt. Allerdings haben die Forscher des ESK während der Entwicklung darauf geachtet, dass die Analyse von der eigentlichen Modellierungssprache, in der die Systemarchitektur beschrieben wurde, unabhängig bleibt. Damit soll das wichtige Entwurfsziel von ERNEST, nämlich dessen breite Einsatzfähigkeit, erreicht werden.

Sichergestellt wird dies durch ein eigenes Meta-Modell, mit dem es möglich ist, die für die Simulation relevanten Informationen abzubilden und aus einem Benutzermodell zu extrahieren, welches die Systemarchitektur beschreibt (siehe Grafik). Durch eine Transformation lässt sich das Benutzer- in ein Analysemodell überführen. Letzteres ist nach dem Meta-Modell von ERNEST aufgebaut. Neben EAST-ADL werden sukzessive weitere Transformationen für andere Modellierungssprachen wie UML/MARTE und AUTOSAR/Artop realisiert.

Angabe von Constraints für das Timing

Im Analysemodell sind unter anderem die Werte hinterlegt, die das Zeitverhalten des Systems beschreiben, die sogenannten Constraints. Sie bilden die Grundlage für die Timing-Analyse. Sind bereits im Benutzermodell Informationen zum Zeitverhalten des Systems enthalten, so werden diese bei der Transformation in das Analysemodell übernommen.

Über einen Constraint kann nun definiert werden, welche Bedingungen an das Zeitverhalten gestellt werden. Dabei werden die Ports von System-Komponenten angegeben, die zur Messung des Zeitverhaltens herangezogen werden. In einem Constraint wird zudem festgelegt, wie das Zeitverhalten zwischen zwei Ereignissen sein soll, also etwa wie viel Zeit maximal oder minimal vergehen darf zwischen dem Eintreffen eines Events am ersten Port und dem Eintreffen eines Events am zweiten.

Daran, und das ist das Kernstück von ERNEST, schließt sich eine simulationsbasierte Analyse des Softwaresystems an. Zunächst kann man noch definieren, wie lange die Simulation laufen soll. Dann wird aus dem bestehenden Analysemodell, das auch die Informationen zum Zeitverhalten enthält, automatisch der Code für die Simulation generiert: Die Entwicklungsumgebung Eclipse sorgt für die Kompilierung des SystemC-Codes, wodurch eine ausführbare Simulation erzeugt wird.

Während der Simulation wird aufgezeichnet, welche Events zu welchem Zeitpunkt eintreffen. Die Speicherung dieser Informationen erfolgt in Form eines Trace, welcher anschließend im Analysemodell hinterlegt wird. Ein Trace wird für die Aufzeichnung verschiedener Daten genutzt, um diese später auswerten zu können. Für diese Traces sind verschiedene Formate wie beispielsweise OT1 (Open Timing Information Exchange Format) denkbar.

ERNEST lässt sich jederzeit erweitern, um zusätzliche Tracing-Formate zu unterstützen. Auf diesem aufgezeichneten Trace wird schließlich die Analyse durchgeführt. Über die gesamte Dauer der Simulation findet eine Prüfung statt, ob die definierten Constraints bezüglich des Zeitverhaltens eingehalten wurden oder nicht. Das Ergebnis der Prüfung fließt in das Analysemodell ein.

(ID:43159939)