Vereinfachte FlexRay-Entwicklung mit der „Timing Definition Language“

Die Zeit spielend im Griff

4. Mai 2007, 11:27 Uhr | Prof. Dr. Wolfgang Pree
Diesen Artikel anhören

Fortsetzung des Artikels von Teil 3

Einsparungspotential mit TDL

Zunächst wurde gemessen, wieviel Zeit benötigt wird, um ein funktionierendes FlexRay-System mit einem aktuellen, am Markt erhältlichen Werkzeug zu entwickeln, mit dem „Bus Schedule“ und Parameter quasi manuell erstellt und eingegeben werden müssen. Die Aufgabe wurde durch einen mit dem ausgewählten Werkzeug vertrauten Entwickler durchgeführt. Dieselbe Aufgabe wurde mit den TDL-Werkzeugen [7] gelöst, wiederum mit einem Entwickler, der mit TDL vertraut ist.

Das Ergebnis: Die Entwicklungszeit mit TDL ist um den Faktor 20 kürzer als mit dem bisher gängigen Ansatz. Dieser quantitative Vergleich wurde anhand einer einfachen Fallstudie durchgeführt, in der ein FlexRay-Cluster, bestehend aus zwei ECUs, Daten in beiden Richtungen zwischen den ECUs übermittelt. In diesem Fall ist der „Bus Schedule“ einfach. Bei komplexeren Systemen ist das zu erwartende Einsparungspotential durch TDL deutlich höher.

704ah0403-tm_05.gif
Bild 3. Schematische Darstellung einer TDL-Komponente.

Die „Logical Execution Time“-Abstraktion

Das Programmiermodell von TDL beruht auf der „Logical Execution Time“ (LET) [1, 3, 7], die im Rahmen des Giotto-Projektes [1] an der University of California in Berkeley erfunden wurde. Die LET besagt, dass die Eingaben (von Sensoren oder die Berechnungen einer anderen Task) eines periodisch ausgeführten, also zeitgesteuerten Tasks am Beginn („release“ in Bild 2) der LET-Periode gelesen werden und die neu berechneten Ausgaben erst am Ende (terminate) der LET-Periode zur Verfügung gestellt werden. Zwischen diesen Zeitpunkten haben die Ausgänge den Wert der zuvor erfolgten Task-Ausführung. Es wird nur angenommen, dass die Task-Ausführung auf einer spezifischen Plattform schnell genug ist, um zwischen den logischen Anfangs- und Endpunkten einer Berechnung zu erfolgen. LET bedeutet, dass das beobachtbare zeitliche Verhalten einer Task unabhängig von der tatsächlichen Ausführung auf einer Plattform ist. Zur optimalen Unterstützung von digitalen Regelungen, wie sie etwa bei X-by-wire-Systemen zur Anwendung kommen werden, kann die LET auch auf den Wert Null gesetzt werden, wenn die Ergebnisse lokal verwendet werden – etwa um einen Aktor anzusteuern.

704ah0404-tm_05.gif
Bild 4. Eine TDL-Komponente verwendet den Output einer anderen TDL-Komponente.

Die Beschreibung des Zeitverhaltens von Tasks mittels der LET bietet folgende Vorteile für die Entwicklung von Echtzeit-Software, die bisher keine anderen am Markt erhältlichen Methoden und Werkzeuge bieten können:

  • Garantierter Zeit- und Wert-Determinismus: Gleiche Eingaben zu bestimmten Zeitpunkten führen immer zu denselben Ausgaben zu entsprechenden Zeitpunkten.
  • Keine Echtzeit-Anomalien wie „Priority Inversion“, „Race Conditions“ oder Deadlocks.
  • Plattform-neutrale Definition des Zeitverhaltens, insbesondere auch unabhängig von der Topologie eines verteilten Systems. Dadurch kann die Echtzeit-Software portiert werden, ohne dass sich das Zeitverhalten ändert.

Durch die LET kann zudem garantiert werden, dass das Verhalten des modellierten Systems in einer Simulation, zum Beispiel in einer Matlab/
Simulink-Umgebung, immer exakt mit dem Verhalten auf einer konkreten Plattform übereinstimmt.

704ah0405-tm_05.gif
Bild 5. LET-Vorgaben zur Bus-Schedule-Generierung.

  1. Die Zeit spielend im Griff
  2. Autor:
  3. Transparente Verteilung
  4. Einsparungspotential mit TDL

Jetzt kostenfreie Newsletter bestellen!