Suchen

Echtzeit Analyse und Verifikation von Echtzeitsystemen

| Autor / Redakteur: Peter Gliwa, Daniel Kästner, Marek Jersak* / Martina Hafner

Seit gut einem Jahr agieren die drei deutschen Anbieter von Software-Entwicklungstools AbsInt, Gliwa und Symtavision als Allianz der „Real-Time Experts“. Sie bieten einen Baukasten an Tools zur Vorhersage, Optimierung, Messung und Absicherung des Zeitverhaltens von Echtzeitsystemen.

Firmen zum Thema

Die Zeit im Griff: AbsInt, Gliwa und Symtavision haben ihre Werkzeuge für die Timinganalyse auf Codeebene und Systemebene sowie für Messungen zur Laufzeit integriert und eine durchgängige Lösung geschaffen.
Die Zeit im Griff: AbsInt, Gliwa und Symtavision haben ihre Werkzeuge für die Timinganalyse auf Codeebene und Systemebene sowie für Messungen zur Laufzeit integriert und eine durchgängige Lösung geschaffen.
( Foto: Bernd Boscole, pixelio.de )

Das Zeitverhalten eines Systems wird von vielen Faktoren beeinflusst, die sich zwei verschiedenen Ebenen zuordnen lassen. In einem ersten Schritt muss das Laufzeitverhalten der einzelnen Funktionen bzw. Tasks auf der Zielhardware oder auf einem hinreichend genauen Hardwaremodell untersucht werden. Dabei wird der generierte Maschinencode betrachtet und untersucht, welche Ausführungszeit sich ergibt. Man spricht daher von Timinganalyse auf Codeebene.

Von der Code- zur Systemebene

In einem zweiten Schritt wird das Scheduling auf Systemebene betrachtet. Hier geht es um die Antwortzeiten von Tasks unter Berücksichtigung von Unterbrechungen, Blockierungen oder Busverzögerungen, sowie um das Zeitverhalten entlang von Wirkketten von Funktionen. Beide Ebenen müssen bei einer vollständigen Echtzeitmethodik betrachtet werden.

Echtzeitfähigkeit möglichst früh vorher sagen

Bild 1: Das Zeitverhalten eines Systems wird von vielen Faktoren beeinflusst, die sich in der Timinganalyse der System- und Codeebene zuordnen lassen (Archiv: Vogel Business Media)

Ein weiterer zentraler Aspekt ist die frühe und schnelle Vorhersage der Echtzeitfähigkeit: Wird das Zeitverhalten erst im Rahmen von Integrationstests in der Validierungsphase untersucht, so sind alle relevanten Designentscheidungen, insbesondere die Auswahl und Dimen-sionierung der Hardware sowie die Systemkonfiguration und der Systemschedule bereits gefallen. Viele Fehler können dann nur mit hohem Zeitaufwand kostenintensiv behoben werden.

Stattdessen sollte schon bei der Auswahl der Mikrocontroller und beim Design des Schedules neben der Average-Case-Performance auch das Worst-Case-Timing berücksichtigt werden. Auf der Basis von Zeitbudgets für Funktionen oder Tasks kann so die Systemauslegung optimiert werden. Mit Hilfe moderner Werkzeuge ist dies heute mit einem Bruchteil des Aufwandes möglich, der sonst in die Erstellung von Prototypen investiert werden müsste. Dabei werden auch mögliche Engpässe und Reserven frühzeitig bestimmt.

Im weiteren Entwicklungsverlauf müssen Auswirkungen von Programmänderungen und Implementierungsentscheidungen auf das Timing schnell nachvollziehbar sein. Die Implementierung kann wesentlich vereinfacht werden, wenn die Debug-Umgebung dem Timingaspekt Rechnung trägt und verschiedene Umfelder (Laborplatz, HIL, Fahrzeug) unterstützt.

In der Validierungsphase muss neben dem typischen Verhalten auch das Worst-Case-Zeitverhalten abgesichert und Randfälle systematisch abgedeckt werden. Gerade dieser Punkte ist heute ein Risiko, da die Echtzeitfähigkeit unter Spitzenlast nur schwer testbasiert zu ermitteln ist. In der Regel fehlen ausreichende Tests. Daher treten Echtzeitprobleme häufig erst im Einsatz und dann sporadisch auf. Das Debugging ist entsprechend aufwändig.

Koppelung dreier Werkzeuge für durchgängige Betrachtung

Bild 2: Timing im V-Modell. Die Koppelung des WCET-Analyzers aiT für die Timinganalyse auf Codeebene, SymTA/S für die Timinganalyse auf Systemebene und der Messsoftware G1 erlaubt eine durchgängige Methodik im Entwicklungsprozess. (Archiv: Vogel Business Media)

Durch die Koppelung der Tools der drei Firmen AbsInt, Gliwa und Symtavision ist es zum ersten Mal möglich, sowohl eine methodische Vollständigkeit, als auch eine durchgängige Betrachtung im Entwicklungsprozess zu realisieren (Bild 2).

Bild 3: Überblick über die möglichen Kopplungen der Werkzeuge von AbsInt, Symtavision und Gliwa und deren Schnittstellen (Archiv: Vogel Business Media)

Einen Überblick über die Tool-Kopplungen und deren Schnittstellen zeigt Bild 3. Die Werkzeuge aiT und SymTA/S bestimmen konstruktiv Worst-Case Situationen auf Code- respektive System-Ebene und erkennen viele Probleme bereits vorher. T1 ermöglicht das lückenlose Loggen des Zeitverhaltens im Steuergerät und das automatische Triggern einer detaillierten Datenerfassung im Falle einer Echtzeitverletzung.

(ID:332678)