Model-Based Design Automatische Code-Generierung für sicherheitskritische Applikationen

Redakteur: Dipl.-Ing. (FH) Thomas Kuther

Bei der Entwicklung von Embedded-Software für Automobil-Anwendungen bietet das Model-Based Design Systementwicklern enorme Vorteile in der Spezifikations- und Entwurfsphase so wie bei der Implementierung. Geeignete Software-Tools helfen dabei den Ingenieuren, Qualität zu steigern und Entwicklungsaufwand zu reduzieren.

Anbieter zum Thema

Elektronik und Embedded Software nehmen bei der Fahrzeugentwicklung einen immer größeren Raum ein. Bis 2010 wird der Elektronikanteil wahrscheinlich 40% der Materialkosten eines Autos betragen. Zum Vergleich: 1970 waren es noch 10%. Elektronik und Embedded Software spielen in praktisch allen funktionstragenden Elementen eines Fahrzeugs eine Rolle: Sie ersetzen oder vereinfachen mechanische und hydraulische Komponenten in zentralen Fahrzeugsystemen wie der Lenkung oder den Bremsen und stellen erweiterte Merkmale wie aktive Sicherheitssysteme und Fahrerinformationssysteme bereit. Ohne solche Komfort- und Sicherheitsfunktionen ließen sich moderne Autos gar nicht mehr verkaufen.

Die rasch wachsende Komplexität von Elektronik und Embedded Software sowie die mit dem Testen und der Verifikation solcher Systeme verbundenen Schwierigkeiten ziehen allerdings vermehrt Qualitätsprobleme und Rückrufe nach sich. Nach Angaben von IBM wenden Automobilhersteller allein für die Beseitigung von Softwareproblemen ca. 1,5 bis 2 Mrd. € pro Jahr auf. In den USA werden über 30% aller Gewährleistungsansprüche im Automobilsektor durch Software- oder Elektronikfehler verursacht.

Das MDB-Wheel zeigt die typischen Einsatzfelder des Model-Based Designs (Archiv: Vogel Business Media)

Model-Based Design hat sich zur bevorzugten Methode zur Entwicklung von Embedded-Software für Automobil-Anwendungen entwickelt, weil es Vorteile sowohl für die Spezifikations- und Entwurfsphase als auch für die Implementierung bietet. In letzter Zeit kam zudem eine Reihe neuer Tools und Fähigkeiten für das Model-Based Design auf den Markt, die die Ingenieure bei Test- und Verifikationsaktivitäten unterstützen. Diese verbessern die Qualität der Embedded Software und beschleunigen die Test- und Verifikationszyklen.

Model-Based Design in der Spezifikation, Implementierung und Verifikation

Automobilingenieure nutzen typischerweise Modelle zur Entwicklung von Funktionen, die auf einem elektronischen Controller (Electronic Control Unit, ECU) laufen sollen. Die Modelle werden bei Model-Based Design auf verschiedene Weise eingesetzt: als ausführbare Spezifikationen; zur Analyse des dynamischen Verhaltens eines Systems; zur Simulation von Systemkomponenten oder Umgebungsbedingungen und damit zur Verringerung des Bedarfs an teuren Hardware-Prototypen (oder sogar zum vollständigen Verzicht darauf); sowie zur Entwicklung von Algorithmen. Zusätzlich hierzu hat sich die automatische Codegenerierung aus diesen Modellen heute als Technik zur Implementierung von ECU-Software in Serienqualität etabliert.

Vom Standpunkt der Qualität her ist die automatische Codegenerierung schon deshalb so wertvoll, weil sie die Entwicklung durch Analyse- und Simulationsfähigkeiten optimiert und automatisch erzeugter Programmcode konstante Qualität aufweist. Durch die Kombination von aus Code, der aus den Systemkomponenten und Umgebungs-Modellen erzeugt wurde, lassen sich außerdem Hardware-in-the-Loop-Tests aufbauen.

C-Code-Generierung per Knopfdruck

Der Real-Time Workshop Embedded Coder von The MathWorks erzeugt C-Code aus Simulink- und Stateflow-Modellen, der so übersichtlich und effizient ist wie professioneller handgeschriebener Code. Der erzeugte Code ist außerordentlich kompakt und schnell – beides sind unabdingbare Voraussetzungen für Embedded Systems, das On-Target Rapid Prototyping, und Echtzeitsimulatoren. Vorhandene Anwendungen, Funktionen und Daten lassen sich außerdem vollständig in den generierten Code integrieren.

Mit dem Real-Time Workshop Embedded Coder können Ingenieure Software in Produktionsqualität erzeugen, implementieren und verifizieren. Der generierte Programmcode ist ANSI/ISO-C-kompatibel und kann daher auf jedem Mikroprozessor oder Echtzeit-Betriebssystem (RTOS) ausgeführt werden. Separat erhältliche Embedded Targets erweitern den Real-Time Workshop Embedded Coder um Zielsystem-spezifische Unterstützungspakete.

Code-Generierung für sicherheitskritische Automotive Anwendungen

Seit Anfang August ist die neueste Version des Real-Time Workshop Embedded Coder (Release R2008a) von The MathWorks auch von der TÜV SÜD Automotive GmbH zertifiziert. Durch diese Zertifizierung kann das Werkzeug zur Entwicklung sicherheitsrelevanter Software nach IEC 61508-3:1998 eingesetzt werden.

Laut Zertifikatsbericht des TÜV wurde „die Entwicklungsabteilung von The MathWorks, die für die Entwicklung des Real-Time Workshop Embedded Coder verantwortlich ist, einem Audit unterzogen, bei dem die eingesetzten Entwicklungs- und Qualitätssicherungs-Prozesse überprüft und bewertet wurden. Schwerpunkt dieser Prüfung waren die Methoden zur Modifizierung der Software, die Prozesse zur Abwicklung des Fehlerberichtswesens (Bug-Reporting) sowie die ‚Fitness for Purpose‘ in Bezug auf die Entwicklung sicherheitsrelevanter Anwendungen nach IEC 61508-3.“ Der TÜV hat das Zertifikat auf der Grundlage eines Workflows für typische Automobil-Anwendungen vergeben, der die „anwendungsspezifische Verifikation und Validierung von Modellen und generiertem Code“ adressiert. Dieser Workflow legt dar, wie Model-Based Design zur Entwicklung IEC 61508-3-konformer Anwendungen eingesetzt werden kann.

„Die Prüfung durch den TÜV Süd und die darauf folgende Zertifizierung ist ein großer Erfolg für The MathWorks und sie unterstreicht das Engagement, mit dem unser Unternehmen die praktischen Bedürfnisse der Automobilindustrie unterstützt“, freut sich Guido Sandmann, Automotive Marketing Manager EMEA bei The MathWorks.

Zertifizierung durch den TÜV Süd und den TÜV Rheinland

Bereits im Juni 2008 konnte The MathWorks über die erfolgreiche Validierung des Real-Time Workshop Embedded Coder (Release R2007b) mit der Automotive Code Validation Suite (AVS) durch den TÜV Rheinland berichten. Die AVS ist eine unabhängige Test-Suite zur Überprüfung von Codegeneratoren für eingebettete Systeme. Dem Testbericht des TÜV Rheinland Industrie Service, ASI, zufolge wird „eine erfolgreiche Validierung mittels AVS als Nachweis betrachtet, dass die Validierung der anerkannten Vorgehensweise gemäß der Sicherheitsnorm IEC 61508-3:1998, Abschnitt 7.4.4 entspricht.“

Guido Sandmann: „Die AVS-Validierung durch den TÜV Rheinland zeigt beispielhaft, wie Entwickler-Teams Model-Based Design im Rahmen von reglementierten Entwicklungsprozessen auf einfache und gleichzeitig den praktischen Erfordernissen einer Großserienfertigung gerechte Art und Weise einsetzen können.“ (Archiv: Vogel Business Media)

Mit der Automotive Code Validation Suite (AVS) können Ingenieure ihre gesamte zum Model-Based Design verwendete Toolkette von der Modellspezifikation bis hin zum fertigen Embedded Code validieren. Hierbei werden der Codegenerator, der Cross-Compiler, der Linker und der Embedded-Prozessor geprüft. Die vom TÜV Rheinland für das Release R2007b durchgeführte Validierung demonstrierte die Übereinstimmung der Ergebnisse des vom Real-Time Workshop Embedded Coder erzeugten C-Codes mit den Ergebnissen aus Simulink- und Stateflow-Modellen. Die AVS wurde 2002 gemeinsam von Continental Automotive Systems, der Ford Motor Company und dem TÜV Rheinland initiiert und danach auch anderen Unternehmen aus der Automobil-Branche sowie deren Tool-Zulieferern zugänglich gemacht.

„Die AVS-Validierung zeigt beispielhaft, wie Entwickler-Teams Model-Based Design im Rahmen von reglementierten Entwicklungsprozessen auf einfache und gleichzeitig den praktischen Erfordernissen einer Großserienfertigung gerechte Art und Weise einsetzen können“, stellt Guido Sandmann, Automotive Marketing Manager EMEA bei The MathWorks, fest.

Die TÜV-Zertifizierung ist ein wichtiger Schritt für die Automobilhersteller und OEMS. Als einer der Nutznießer erklärt Torsten Sauer von Continental Automotive Systems: „Für unsere Ingenieure und Projekt-Manager war die erfolgreiche Validierung des Real-Time Workshop Embedded Coder die Voraussetzung für dessen Einsatz in der Entwicklung sicherheitsrelevanter Systeme. Andere Anwender sollten sich durch diese Ergebnisse ermutigt fühlen, diesen Weg der Validierung zu gehen, um damit die individuelle Konfiguration ihrer Toolkette abzusichern.“

(ID:266677)