Modellbasierter Software-Entwurf für echtzeit-kritische Systeme

Wie genau darf’s denn sein?

22. Januar 2007, 11:15 Uhr | Dr. Elof Frank und Martin Schnieringer
Diesen Artikel anhören

Fortsetzung des Artikels von Teil 2

Mosaiksteine, die den Weg bereiten“

Die Tatsache, dass ein VSP unter echten Softwarelasten arbeiten kann, generiert wertvolle Informationen auf dem Weg zur optimalen Systemarchitektur. Hierzu gehören:

  • Busauslastungen,
  • Prozessorauslastung und die damit verbundene Prozessorauswahl,
  • Cache-Zugriffsstatistiken abhängig von der Software-Architektur und   Cache-Struktur,
  • Latenzzeiten des Systems auf interne und externe Ereignisse,
  • Abhängigkeiten zwischen externen Komponenten, Hardware, Software und deren dazugehörige Ereignisse,
  • Transaktions- und Algorithmendurchsatz.

Sobald die optimale Architektur ermittelt worden ist, übernimmt das VSP-Modell die Spezifizierung der ausführbaren Komponenten. Das bedeutet, dass das Hardware-Entwicklungsteam das VSP als Referenzmodell verwenden und an ihm den Funktionsumfang der Hardware-Elemente des Designs verifizieren kann.

Der wichtigste Vorteil eines VSP jedoch ist, dass das Software-Entwicklungsteam mit der Arbeit beginnen kann, sobald die Systemarchitektur festgelegt worden ist – also 6 bis 12 Monate früher als beim sequenziellen Entwicklungsprozess –, und dass die Hardware- und Softwareelemente des Designs parallel nebeneinander erstellt werden können (Bild 1).

67ah0601_03.jpg
Bild 1. Vergleich zwischen konventionellem (oben) und architekturorientiertem, VSP-basiertem Prozess (unten).

Qualität entwickeln“ versus „Qualität testen“

Entdeckte Fehlerquellen mit dem VSP

Aufgrund der Lint-ähnlichen Fähigkeiten des VSP mit der Überschlagserkennungs-ECU konnten folgende Problemstellungen bereits in frühen Software-Entwicklungsphasen gefunden werden:

 

  1. Überwachungsmodul „Computer arbeitet ordnungsgemäß“ hat den Prozessor irrtümlich zurückgesetzt.
  2. Treiber des Beschleunigungssensors hat das falsche Register gelesen.
  3. Softwaresegment, das nicht auf Null initialisiert wurde, führte zu Betriebssystemstopp.
  4. Speicherfehlerregister wurde nach einem Speicherfehler nicht zurückgesetzt.
  5. Überlaufproblem im Zeitgebercode.
  6. Stapelüberlauf (Stackoverflow).
  7. Überlaufproblem hat den Einsatz des Airbags um eine Sekunde verzögert.
  8. Bootstrap hat PLL-Uhr umgeschaltet, bevor PLL ausgeführt wurde.
  9. Programmierbarer Zeitgeber wurde falsch initialisiert.
  10. Asymmetrische Rundungsfehler.

  • Der virtuelle Systemprototyp ist in der Lage, den gleichen kompilierten und verknüpften Zielcode wie die echte Hardware auszuführen. Außerdem verhält sich der virtuelle Systemprototyp taktzyklengenau, um die Echtzeit-Kriterien zu analysieren, die mit den Automobilelektronik-Anwendungen verknüpft sind.
  • Der VSP, der für dieses Projekt erstellt wurde, kann die echten Unfalldaten des Fahrzeugs in die Simulationsumgebung schreiben. Er ist ferner dafür verwendbar, um die serielle Buskommunikation auf Systemebene zu überprüfen. Zudem lässt er Fehlerinjektion zu und stellt eine Skriptumgebung zur Verfügung, die Tests auf Produktebene verbessert.
  • Alle Peripheriemodelle sind so programmiert, dass sie den Software-Entwickler bei falscher Verwendung der Spezifikationen warnen. Eben dieses VSP-Feature kann kein Hardwareprototyp bieten, und der Kasten listet diesbezüglich einige Probleme auf, die beim Entwickeln der Software sofort aufgedeckt wurden.
  • Aufgrund der Zyklusgenauigkeit aller Bestandteile eines VSP bestand die Möglichkeit, die Leistungsfähigkeit des Systems quantitativ zu erfassen; darauf aufbauend konnten dann auch noch Verbesserungen auf der Produktebene vorgenommen werden.

67ah0602_04.jpg
Bild 2. a) Traditionelles V-Diagramm für die funktionelle Zerlegung im Vergleich zu b), einer modellbasierten Entwicklung mit simultaner Konstruktion, frühen und schnellen Überprüfungszyklen und kürzerem Designzyklus – Details hierzu in [3].

  1. Wie genau darf’s denn sein?
  2. Anwendbarkeit auf eine verteilte Automobilsteuerungsplattform mit mehreren Controllern
  3. Mosaiksteine, die den Weg bereiten“
  4. Architektur-orientiertes, VSP-basiertes Design

Jetzt kostenfreie Newsletter bestellen!