Modellbasierter Software-Entwicklungsprozess für automobile Software Komplexität beherrschen

Während die Software in Steuergeräten aus immer mehr Code-Zeilen besteht, muss sichergestellt werden, dass trotz höherer Quantität die Qualität der Software zunimmt. So verbreitet sich seit einigen Jahren die Methode, sowohl Software-Module als auch komplette Funktions-Software für automobile Steuergeräte mit Hilfe ausführbarer, funktionaler Modelle zu erstellen. Bei vielen Herstellern, Zulieferern und Dienstleistungsunternehmen sind zu diesem Zweck bereits verschiedene Tool-Ketten und Code-Generatoren im Einsatz.

Während die Software in Steuergeräten aus immer mehr Code-Zeilen besteht, muss sichergestellt werden, dass trotz höherer Quantität die Qualität der Software zunimmt. So verbreitet sich seit einigen Jahren die Methode, sowohl Software-Module als auch komplette Funktions-Software für automobile Steuergeräte mit Hilfe ausführbarer, funktionaler Modelle zu erstellen. Bei vielen Herstellern, Zulieferern und Dienstleistungsunternehmen sind zu diesem Zweck bereits verschiedene Tool-Ketten und Code-Generatoren im Einsatz.

Bei Bertrandt wurde vor fünf Jahren das erste Electronic Competence Center (ECC) mit Schwerpunkt auf Simulations- und Software-Themen gegründet. Ziel dieses ECC ist es, technologische Trends aufzuspüren, neue Werkzeuge und Tool-Ketten zu evaluieren sowie Methoden und Prozesse zu definieren, durch die ein strukturiertes Vorgehen in Entwicklungsprojekten sichergestellt wird. Viele Software-Produkte sind heutzutage durch unklare oder unvollständige Planungsziele, häufige Änderung der Planungsziele und Mängel in der Projektorganisation charakterisiert. Meist sind die Planungsmängel auf Defizite in der Anwendung des Planungsinstrumentariums (Methodik, Methoden und Werkzeuge) zurückzuführen.

Angelehnt an das V-Modell (Bild 1) bzw. das Submodell der Systemerstellung, ist im ECC ein Produkt-Entstehungsprozess für die Software-Entwicklung unter Anwendung der Tool-Kette Doors, Matlab/Simulink und des Code-Ggenerators TargetLink entstanden. Denn erst die Anwendung der im Entwicklungsprozess definierten Methodik führt zu einer höheren Qualität der Anforderungsanalyse und der daraus entwickelten Software. Die einzelnen Methodiken des Prozesses sind dabei so allgemein definiert, dass eine Anpassung an die Prozesse der Kunden sichergestellt ist.

Neben qualitativen Anforderungen an die entstehende Software beeinflussen Gremien und Normen den Entwicklungsprozess. So ist es wichtig, Anforderungen gemäß CMMI oder ISO/IEC 15504 (Spice, HIS-Scope) zu erfüllen. Handelt es sich um ein sicherheitskritisches System, kommt die IEC 61508 zur Geltung bzw. zukünftig die automotive Ausprägung ISO 26262. Zusätzlich arbeiten Gremien wie AUTOSAR an der Vereinheitlichung und Standardisierung der Prozesse. Hieraus ergeben sich zahlreiche externe Anforderungen an die Software, deren Einfluss auf den Prozess in jedem Einzelprojekt neu bewertet werden muss.

zurück zur Übersicht

Zunächst erfolgt dazu ein Review der Modulspezifikation zwischen Funktionsentwickler, Tester und Inspektor. Der Tester entwickelt aus der Modulspezifikation eine Modultestspezifikation. Zwischen Modulspezifikation und Modultestspezifikation erfolgt eine Verlinkung in Doors, so dass keine weiteren Erläuterungen der Funktionen, Parameter etc. notwendig sind. Parallel dazu wird mit Hilfe der Klassifikationsbaumanalyse eine Kombinatorik entwickelt, die durch Aufstellen von Äquivalenzklassen und Verknüpfung mit einer Grenzwertanalyse eine größtmögliche Testabdeckung sichert. Modultestspezifikation und Kombinatorik werden ebenfalls einem Review unterzogen. Wiederum parallel hierzu wird von einem Software-Entwickler, basierend auf der Modulspezifikation, ein Referenzmodell erstellt, mit dessen Hilfe Referenzdaten als Erwartungsvektor generiert werden.

Die eigentliche Testdurchführung wird automatisiert mit Hilfe eines Tools durchgeführt. Der Testreport wird automatisch generiert und einem weiteren Review unterzogen. Erst nach erfolgreichem Review des Testreports erfolgt die Freigabe.