Modellbasierter Software-Entwurf für echtzeit-kritische Systeme Wie genau darf’s denn sein?

Der Beitrag macht deutlich, warum traditionelle Designmethoden in der Automobilindustrie fehlschlagen. Er beschreibt die einzelnen Bestandteile eines Virtuellen Systemprototypen (VSP), der diese Probleme beheben kann.

Modellbasierter Software-Entwurf für echtzeit-kritische Systeme

Der Beitrag macht deutlich, warum traditionelle Designmethoden in der Automobilindustrie fehlschlagen. Er beschreibt die einzelnen Bestandteile eines Virtuellen Systemprototypen (VSP), der diese Probleme beheben kann.

Während der modellbasierte Software-Entwurf sich einer immer größeren Beliebtheit erfreut, beschränken sich die zugrunde liegenden Modelle und Methoden auf relativ hohe Abstraktionsebenen, die allerdings nur eine unzureichende Aussagekraft ob der Echtzeit-Fähigkeit von hochkomplexen Regelalgorithmen zulassen. Als Folge wird ein effizienter Entwicklungsprozess für echtzeit-kritische Applikationen im Bereich von Powertrain, Chassis oder Safety immer noch durch die Verfügbarkeit der eigentlichen Steuergeräte beschränkt.

Wo liegt das Problem, mag man denken? Wir haben doch bisher immer noch unsere Systeme rechtzeitig zum Produktionsstart ausgeliefert. Bisher noch, aber waren Kosten, Qualität und Entwicklungsprozesse wirklich optimal? Und können wir dies für die Zukunft garantieren?

Die Automobilindustrie sieht sich im Moment größten Herausforderungen gegenüber, und zwar bezüglich einer Neuausrichtung des Entwicklungsprozesses für echtzeit-kritische Systeme. Die Autos haben sich zu rollenden Computersystemen entwickelt, voller eingebetteter Systeme, die (fast) alles kontrollieren: vom Antrieb über die automatische Überschlagserkennung bis hin zur Klimakontrolle und den Infotainmentsystemen.

Dass die Anzahl dieser eingebetteten Automobilsysteme weiter zunimmt, ist hauptsächlich auf die stetige Verbesserung der Softwarefunktionen zurückzuführen. Aber wenn 70 % des Wertes der kommenden Automobilelektronik in der Software liegt, wie können wir uns es leisten, diese weiterhin ganz zum Schluss zu entwickeln?

Virtuelle Systemprototypen erlauben in dieser Hinsicht einen völlig neuen, modellbasierten Entwicklungsansatz, bei dem SW-Entwicklung parallel zur Steuergeräte-HW-Entwicklung durchgeführt wird. Sie ermöglichen ein frühzeitiges Erkennen von Architekturproblemen und Optimierungspotentialen sowie eine erhebliche Reduktion von klassischen Kosten- und Risikofaktoren eines sequenziellen HW/SW-Entwicklungsprozesses. Zudem stellen sie eine komplementäre Ergänzung zum modellbasierten SW-Entwurf dar.

Bei Virtuellen Systemprototypen (VSP) handelt es sich um taktzyklengenaue, auf Softwaresimulation basierende Modelle eingebetteter Systeme, die den Entwicklungszyklus erheblich verkürzen, dadurch Kosten senken und gleichzeitig die Designqualität verbessern.

Ist das Hauptaugenmerk auf die Software-Entwicklung zu richten?

Da es immer mehr Embedded Systeme gibt, müssen sich die Entwickler darüber klar werden, wie wichtig es ist, qualitativ hochwertige Software auch rechtzeitig zu liefern. Angesichts einer äußert komplexen 32-bit-Mikroarchitektur, verkürzter Serienanlaufzeiten (Start-of-Production; SoP) und der Nachfrage nach qualitativ hochwertigeren Automobilsystemen ist es heute ausschlaggebend, dass die gelieferten Systeme von Anfang an richtig funktionieren. Einer kürzlich von Embedded Market Forecaster durchgeführten Studie [1] zufolge werden alarmierende 54 % aller Embedded Systeme zu spät geliefert. Hierzu gehören Antriebs-, Sicherheits-, Fahrgestell- und Infotainmentanwendungen. Diese Statistik ist umso bedenklicher, als Prognosen besagen, dass schon bald die Software allein mehr als 12 % des Werts eines Autos ausmachen wird.

Ein BMW-Manager berichtete kürzlich auf einer Automobilelektronik-Konferenz in den USA [2], dass die Software 50 % bis 70 % der Entwicklungskosten einer ECU (Electronic Control Unit) für Automotive-Anwendungen ausmache und dass 40 % des Fahrzeugpreises von dessen Elektronik und Software bestimmt werde. Die Luxusfahrzeuge von heute enthalten bis zu 100 ECUs, die minimal über fünf Busse miteinander verbunden sind und mittels Millionen von Codezeilen gesteuert werden, die in Echtzeit interagieren. Die Herausforderungen an die Technologieführer sind hoch und wachsen weiter. Es ist also höchste Zeit, das Augenmerk auf die Software-Entwicklung zu richten, um bessere Codequalität und kürzere Entwicklungszeiten zu erreichen.

Dazu müssen verbesserte Designmethoden zum Einsatz kommen, die genaue und umfassende Spezifikationen, eine bessere Architektur und eine höhere Qualität der Implementierung sicherstellen. Designmethoden, die diese Probleme angehen, verhindern eine Kostenexplosion, die durch die steigende Komplexität ausgelöst wird.

In der Automobilindustrie kommen bereits computerbasierte Modellierungstechniken wie „Finite Elemente Analyse“ zum Einsatz, um die Einschränkungen physikalischer Prototypen zu überwinden, die im mechanischen und strukturellen Design verwendet werden. Mittlerweile sind führende Automobil-OEMs und deren Zulieferer auch davon überzeugt, dass das Embedded-Systems-Design (wozu die Entwicklung sowohl der Hardware als auch der Software gehören) ebenfalls von modellbasiertem Design und ausführbaren Spezifikationen (Executable Specifications; siehe [3]) unterstützt werden muss.

Virtuelle Systemprototypen (Modelle von SoCs, ECUs und vernetzten ECUs, die auf vollständiger Softwaresimulation beruhen) zeichnen sich durch eine ausgesprochen hohe Simulationsleistung (bis zu 200 MIPS – Millionen Instruktionen pro Sekunde) und Zyklusgenauigkeit aus. Mit ihnen lässt sich die Systemarchitektur analysieren und optimieren; zudem sind sie die Grundvoraussetzung für den parallelen Entwurf von Hard- und Software. Virtual Sytem Prototyping konzentriert sich auf das Front-End des Entwicklungsprozesses, so dass von Anfang an richtig entworfen wird, anstatt später auf Richtigkeit zu testen. Mit VSP lassen sich Entwürfe schneller in ein Produkt umwandeln, und es können mehr Produkte mit dem gleichen Ressourcenaufwand bzw. die gleiche Anzahl an Produkten mit weniger Ressourcen erstellt werden.

Die folgenden Abschnitte befassen sich mit den Vorteilen eines simulationsbasierten Entwicklungsprozesses, der mit architekturorientiertem Design beginnt und dann mit Hilfe des VSP (als „goldene Spezifikation“) eine parallele Software- und Hardware-Entwicklung ermöglicht. Zum Abschluss werden die Produktivität, die Entwicklungszeit und das Risiko der konventionellen Methode (Back-End-Entwicklung) mit der architektur-orientierten, VSP-basierten Methode (Front-End-Entwicklung) verglichen.