For a better experience on dSPACE.com, enable JavaScript in your browser. Thank you!

Anatomie einer erfolgreichen MBD-Implementierung für Steuergeräte-Software

Veröffentlicht: 30.07.2015

Vidya Duraiswamy, Sr. Applications Engineer, dSPACE Inc.

Vidya Duraiswamy
Sr. Applications Engineer, dSPACE Inc.

Die modellbasierte Software-Entwicklung ermöglicht die frühzeitige Simulation von Modellen auf dem Host-PC und kürzere Entwicklungszeiten. Es gibt eine Reihe von Voraussetzungen, die erfüllt sein müssen, um ein Projekt erfolgreich abzuschließen. Zunächst müssen die Spezifikationen für das gewünschte Verhalten der Ergebnisse verständlich und vollständig sein. Dies können sowohl informelle als auch formale Anforderungen sein. Außerdem muss ein Workflow vorhanden sein, um Fehler so früh wie möglich zu erkennen.

Der BTC Embedded Specifier kann für die Übersetzung informeller Anforderungen in semi-formale oder formale Anforderungen verwendet werden. Die Schnittstelle für das Anforderungsmanagement (die Simulink Verification and Validation Toolbox) kann verwendet werden, um Referenzen vom Modell zu den Anforderungen zu spezifizieren. Der Seriencode-Generator dSPACE TargetLink kann dann Code generieren, der zu den Anforderungen zurückverfolgbar ist.

Der nächste Schritt ist die Entwicklung von Modellen, die auf den oben genannten Anforderungen basieren. In diesem Fall ist es unerlässlich, gut strukturierte Modelle nach Richtlinien wie den MAAB-Richtlinien, den MISRA-Modellierungsrichtlinien für TargetLink und den TargetLink Modeling Guidelines zu erstellen. Es ist möglich, die strikte Einhaltung der oben genannten Richtlinien mit Hilfe von Drittanbieter-Werkzeugen wie dem MES Model Examiner oder dem Schaeffler Engineering StyleChecker zu überprüfen. Auch eventuell vorhandene unternehmensspezifische Richtlinien lassen sich damit prüfen.

Entscheidend ist, eine funktionale Verifikation auf Modellebene durchzuführen, die mit mehreren verschiedenen Tools ablaufen kann. Modellabdeckungstests können mit der Simulink Verification and Validation Toolbox durchgeführt werden, um sicherzustellen, dass alle Teile des Modells stimuliert werden. Es ist auch möglich, die TargetLink-Modelle in einer Prototyping-Umgebung mit dem TargetLink Blockset (stand-alone) zu betreiben. Werkzeuge von Drittanbietern wie der BTC Embedded Validator können verwendet werden, um das Modell anhand der formalen Anforderungsspezifikationen zu überprüfen.

Sobald der Code generiert wurde, können statische Code-Prüfungen mit Drittanbieter-Tools wie Astree (AbsInt) und Polyspace (The Mathworks) durchgeführt werden, um Laufzeitfehler wie Division durch Null, Überschreiten von Array-Bereichsgrenzen usw. auszuschließen. Der Code-Review kann mit Hilfe der HTML-Code-Dateien erfolgen, die mit TargetLink erzeugt werden und Variablen und andere Elemente mit Hyperlinks auf das Modell oder auf das DataDictionary enthalten.

Back-to-Back-Tests zwischen dem Modell und dem generierten Code können mit dem in TargetLink vorhandenen MIL- und SIL-Simulationsvergleich durchgeführt werden. Dieser kann beweisen, dass das Gleitkomma-Simulink-Modell korrekt in Festkomma-Code übersetzt wurde. Die automatische Testausführung und -auswertung lässt sich mit Drittanbieter-Tools wie dem BTC Embedded Tester und PikeTec TPT durchführen. Um die Code-Abdeckung zu prüfen, bietet TargetLink eine integrierte Funktionalität oder es können Werkzeuge von Drittanbietern zum Einsatz kommen.

Für ein erfolgreiches Testen ist es unerlässlich, Simulationen mit den Eingabegrößen aller Anwendungsfälle durchzuführen. TargetLink bietet sowohl Anweisungsabdeckung als auch Entscheidungsabdeckung, auch bekannt als „statement coverage“ und „decision coverage“. Der BTC Embedded Tester kann bei der Erstellung und Verwaltung der Testvektoren helfen. Auch kann er Testfälle mit Anforderungen verknüpfen und Code Coverage Reports für Anforderungen, Modell und Code generieren.

Für die funktionale Verifikation auf Code-Ebene kommt der TargetLink Stand-Alone Model Manager zum Einsatz, um den Seriencode zu generieren, in eine S-Funktion zu verpacken und ihn auf dSPACE Prototyping-Hardware wie der MicroAutoBox oder dem DS1005 auszuführen. Für globale Variablen werden TRC-Dateieinträge generiert, die in einem Tool wie ControlDesk zum Messen verwendet werden können. dSPACE VEOS führt virtuelle Steuergeräte-Simulationen auf einem PC oder Evaluation Board aus. Mit dem BTC Embedded Tester können die formalen Anforderungen während der oben genannten Simulationen überprüft werden.

So kann der gesamte Software-Entwicklungsprozess für die verschiedenen Phasen realisiert werden – angefangen bei den Anforderungen über den Modellentwurf, die Modellverifikation und die Code-Verifikation bis hin zum Testprozess mit TargetLink und zusätzlichen Tools, unter anderem von Drittanbietern.

Produktinformationen