Code-Generierung für sicherheitsrelevante Anwendungen Software ohne Fehler

In der Automobilindustrie ist die modellbasierte Software-Entwicklung und Code-Generierung seit mehr als zehn Jahren Stand der Technik. In vielen Anwendungsbereichen hat sie die herkömmliche Entwicklungsmethodik abgelöst. Auch wenn die modellbasierte Entwicklung alleine die Sicherheit von Software nicht garantieren kann, so trägt deren inhärente Systematik wesentlich zu einer erfolgreichen Entwicklung von sicherheitsrelevanter Software bei.

Der Ausgangspunkt für die Einführung der automatischen Code-Generierung war die Idee, die Anzahl iterativer Entwicklungsschritte zu verringern und dadurch die Entwicklungszeit zu verkürzen. Durch die Verwendung von Modellen als Eingangsgröße für die Code-Generierung anstelle von textbasierten Anforderungsdokumenten für die manuelle Programmierung wird ein höherer Grad an Eindeutigkeit erzielt. Zusätzlich ermöglicht die Simulation auf Basis von Modellen das frühzeitige Erkennen von Fehlern im Entwurf von Steuerungen und Regelungen. Das Ergebnis ist, dass Code innerhalb kürzerer Zeit mit einer kleineren Fehlerquote erzeugt werden kann.

Bei der Entwicklung von sicherheitsrelevanter Software sind weitere Aspekte der Code-Generierung von Bedeutung: Sicherheitsstandards, wie beispielsweise die ISO 26262, enthalten Richtlinien für den Einsatz geeigneter Methoden und Maßnahmen in der Software-Entwicklung. Ziel ist es, das Fehlerrisiko zu minimieren und die Wahrscheinlichkeit für den Nachweis der Fehler, welche von den bestehenden Sicherheitsvorkehrungen nicht abgefangen werden, zu maximieren. Teil 6 des Standards ISO 26262 enthält die Richtlinien für die Software-Entwicklung, welche die Spezifikation von Anforderungen, die Architektur und den Entwurf der Software sowie deren Implementierung und Test behandeln.

Der vorliegende Artikel diskutiert, wie übliche Fehler beim Entwurf und in der Implementierung mit Hilfe der automatischen Code-Generierung vermieden und eine frühzeitige Absicherung des Entwurfs erreicht werden kann. Die Beispiele beschreiben Anwendungen des modellbasierten Entwicklungswerkzeugs Ascet von ETAS, welches seit vielen Jahren in der Automobilindustrie etabliert ist.