Risiko Mehrfachnutzung

Das Ziel von AUTOSAR ist es, mit Hilfe von Standards komplexe Systeme und Software im Automobil besser zu beherrschen und durch Wiederverwendung von Komponenten eine wirtschaftlichere Entwicklung zu ermöglichen. Diese Wiederverwendung rückt gleichzeitig das Qualitätsthema in den Mittelpunkt, da sich die Kosten einer Rückrufaktion aufgrund einer fehlerhaften Elektronik-Komponente mit jedem Fahrzeugmodell vervielfachen, in dem diese Komponente verbaut wird.

Das Ziel von AUTOSAR ist es, mit Hilfe von Standards komplexe Systeme und Software im Automobil besser zu beherrschen und durch Wiederverwendung von Komponenten eine wirtschaftlichere Entwicklung zu ermöglichen. Diese Wiederverwendung rückt gleichzeitig das Qualitätsthema in den Mittelpunkt, da sich die Kosten einer Rückrufaktion aufgrund einer fehlerhaften Elektronik-Komponente mit jedem Fahrzeugmodell vervielfachen, in dem diese Komponente verbaut wird.

Ein AUTOSAR-System besteht aus Software-Komponenten (Software-Components, SW-C), die über einen Virtual Functional Bus (VFB) miteinander kommunizieren und interagieren. Die AUTOSAR-SW-Cs werden auf spezifische Steuergeräte abgebildet, die über das Netzwerk verteilt sind. Dank einer in Schichten angelegten Architektur können die AUTOSAR-SW-Cs auf andere Plattformen übertragen werden, ohne dass die einzelnen Funktionen dadurch beeinträchtigt werden. Der Vorteil: AUTOSAR-konforme Komponenten, die sich bewährt haben, können ohne langwierige und fehleranfällige Anpassungen auf andere Zielumgebungen portiert werden

Umso entscheidender ist, dass die Qualität der AUTOSAR-SW-C ein vorgegebenes Niveau erreicht, damit unentdeckte Fehler nicht von einem Fahrzeugmodell auf weitere übertragen werden. Die üblichen Tests an den Schnittstellen der SW-C können zwar Eigenschaften einer Funktion verifizieren, Schwächen im Quell-Code werden bei den Funktionstests zunächst nicht auffallen. Ein Weg, um ein akzeptables Qualitätsniveau zu erreichen, ist der Einsatz modellbasierter Entwicklungsmethoden, bei denen mit Hilfe einer geeigneten Modellierungssprache, beispielsweise mit der Unified Modeling Language (UML), auf Modellebene bereits per Simulation die Korrektheit und Robustheit geprüft werden kann. Bei der automatischen Generierung von Quell-Code aus dem verifizierten Modell kann man davon ausgehen, dass keine Fehler oder Schwachstellen eingebaut werden.

Aufwendige Quell-Code-Untersuchungen

Anders sieht die Situation aus, wenn der Quell-Code für die AUTOSAR-Komponente manuell entwickelt wird. Quell-Code-Untersuchungen können sehr aufwendig werden, und wurde der Quell-Code bei einem Zulieferer entwickelt, wird dem Hersteller vermutlich kein Zugriff gewährt. Durch einen reinen Black-Box-Test der Komponente, gleich ob der Quell-Code aus der eigenen Entwicklung oder von einem Zulieferer stammt, lassen sich keine Erkenntnisse darüber gewinnen, ob bei der manuellen Codierung gängige Regeln und Konventionen zur Sicherstellung einer akzeptablen Qualität eingehalten wurden.

Grundsätzlich beginnt der Prozess in beiden Fällen mit den Anforderungen, die in einem geeigneten Werkzeug für Anforderungsmanagement erfasst, verwaltet und verfolgt werden. In vielen Bereichen wird bereits eine Verknüpfung zwischen Anforderungsmanagement und Testmanagement/Testausführung hergestellt, um nachweisbar sicherzustellen, dass alle Anforderungen korrekt erfüllt worden sind. Dagegen ist das Thema der Qualitätsanforderungen an den Quell-Code trotz der zunehmenden Abhängigkeit der Fahrzeugqualität von der Qualität der in den Steuergeräten enthaltenen Software bisher kaum betrachtet worden.

zurück zur Übersicht

Die Konformität zum AUTOSAR-Standard fordert eine Reihe von Eigenschaften, die mit den üblichen Funktionstests auf Quell-Code-Ebene nur unzureichend nachgewiesen werden können, wie etwa Modularität, Skalierbarkeit, Transferierbarkeit, Wartbarkeit und Wiederverwendbarkeit. Diese Merkmale lassen sich eindeutig und reproduzierbar nur durch Analyse des Quell-Codes feststellen. Als Ergebnis dieser Analyse erhält man eine Reihe von Software-Qualitätsmetriken, welche eine Beurteilung der Qualität erlauben. Für jede der oben aufgeführten Eigenschaften gibt es eine Gruppe von Metriken, deren Werte beschreiben, bis zu welchem Grad diese Eigenschaft für den untersuchten Quell-Code zutrifft. Die Schachtelungstiefe ist beispielsweise eine Metrik, deren Wert die Wartbarkeit und Wiederverwendbarkeit beeinflusst. Eine hohe Schachtelungstiefe macht den Quell-Code sehr unübersichtlich und beeinträchtigt Weiterentwicklung und Fehlersuche. Die zyklomatische Komplexität wiederum gibt Aufschluss über die Modularität: Ein hoher Wert bedeutet, dass in dem untersuchten Quell-Code viele Aktionen zusammengefasst wurden, die besser in verschiedene Module gegliedert werden sollten. Bild 1 zeigt, wie eine Darstellung der erreichten Werte bezogen auf die Wartbarkeit aussehen kann.

Für eine systematische Auswertung und Verfolgung werden in einem Qualitätsmodell — für ein Projekt oder als Unternehmensrichtlinie — die anzuwendenden Metriken und die akzeptablen Wertebereiche festgelegt und im Werkzeug für Anforderungsmanagement verankert. Die Ermittlung der Messwerte in dem manuell erstellten Quell-Code für eine AUTOSAR-Komponente wird von einem Werkzeug für statische Quell-Code-Analyse durchgeführt, was die Vorteile bietet, dass für die Prüfung keine Unterstützung durch den Entwickler erforderlich ist und der Prüfingenieur keinen Einblick in den Quell-Code nehmen muss. Aus dem Abgleich der Messwerte mit dem Qualitätsmodell ergibt sich ein klares Bild des Qualitätsniveaus, die Verknüpfung mit den qualitätsrelevanten Anforderungen erlaubt zudem ein sicheres Urteil, ob die Komponente den Anforderungen gerecht wird.