Suchen

AUTOSAR

ISO-26262-konforme Komponenten ohne Laufzeitfehler

Seite: 2/2

Firma zum Thema

Unterschiedliche Farbmarkierung von Code mit und ohne Laufzeitfehler

Die Anwendung von Polyspace zur Code-Verifikation verkürzt die für die Prüfung erforderliche Zeit, da Code ohne Laufzeitfehler grün und Code mit möglichen Fehlern orange markiert werden.

Codebeispiel: Zeilen mit möglichen Laufzeitfehlern sind orange, Zeilen ohne Laufzeitfehler grün markiert
Codebeispiel: Zeilen mit möglichen Laufzeitfehlern sind orange, Zeilen ohne Laufzeitfehler grün markiert
(Bild: Mathworks)

Wenn ein EB tresos AutoCore-Modul eine orangefarbene Codezeile aufweist, während alle anderen Zeilen grün sind, weiß man genau, auf welchen Bereich man sich konzentrieren muss. So lässt sich der Review-Aufwand für den fehlerfreien Code vermeiden.

AUTOSAR und ISO 26262 unter einem Hut

Darüber hinaus muss der Code nicht nur sowohl dem AUTOSAR-Standard als auch der Norm ISO 26262 entsprechen, sondern vielmaher auch den Entwicklungsrichtlinien nach MISRA C. Eine Analyse des Codes mittels Polyspace kann MISRA C Regelverstöße automatisiert erkennen, sodass die Anzahl der für die statische und dynamische Codeverifizierung verwendeten Tools reduziert werden kann.

Vorsicht, wenn mehrere Threads gleichzeitig zugreifen

Einige Konfigurationen von EB tresos AutoCore beinhalten globale Variablen, die von mehreren Tasks benutzt werden können (shared data). Der gleichzeitige Zugriff auf diese Variablen durch mehrere Threads kann ein unvorhersehbares Verhalten des Steuergeräts verursachen. Standardmäßig wird das Problem dadurch gelöst, dass für die Variablen kritische Bereiche und Sperren (engl. Locks) implementiert werden, damit nur jeweils eine Task auf sie zugreifen kann. Dieser Ansatz ist zwar am sichersten, jedoch nicht immer am effizientesten. Die übermäßige Nutzung kritischer Bereiche kann die Systemleistung negativ beeinflussen, da Interrupts während der Ausführung der einzelnen kritischen Bereiche vorübergehend deaktiviert werden müssen.

Gemeinsam genutzte Variablen müssen identifiziert werden

Um solche Leistungseinbußen des Systems zu vermeiden, müssen diejenigen gemeinsam genutzte Variablen identifiziert werden, für die kritische Bereiche und Sperren erforderlich sind. Bei kleinen Modulen ist dies nicht besonders schwierig, bei einem vollständigen System ist es jedoch komplizierter. Für diese Analyse wird Polyspace eingesetzt; damit lässt sich ermitteln, ob die Sperren ordnungsgemäß konfiguriert sind. So wurden bei der Analyse von EB tresos AutoCore-Code Engpässe, die die Systemleistung beeinträchtigt haben, gefunden und entfernt.

Keine Laufzeitfehler dank Polyspace zur Code-Verifikation

EB tresos AutoCore wird derzeit in der Produktion eingesetzt, und die Anzahl der aktiven AUTOSAR-Projekte für Elektrobit steigt stetig. Darunter ist auch ein Projekt eines Fahrerassistenzsystems für einen führenden Automobilhersteller in Europa.

Ausgelieferte Software ist frei von bestimmten Laufzeitfehlern

Mit den Polyspace-Werkzeugen zur Code-Verifikation ist es Elektrobit möglich, zu belegen, dass die ausgelieferte Software frei von bestimmten Laufzeitfehlern ist. Darüber hinaus – was noch wesentlich wichtiger ist – kann dies schneller, gründlicher und mit weniger manuellem Aufwand erfolgen als es bisher möglich war.

* * Alexander Much, Quality Management, ECU development, Elektrobit Automotive GmbH in Erlangen.

(ID:24919320)