Die Motor Industry Software Reliability Association (MISRA) hat im Jahr 1998 Richtlinien für die Verwendung von C-Code in elektronischen Steuergeräten von Fahr- und Flugzeugen eingeführt, den sogenannten MISRA-C:1998 Standard. Hierbei wurden eine eingeschränkte Teilmenge der Programmiersprache C identifiziert welche den Sicherheitsanforderungen in den Stufen SIL 2 und höher gerecht wird, sowie Metriken zur Bewertung der Qualität von eingebetteter Software definiert.
Nachfolgend gab es mehrere Aktualisierungen des Standards, darunter MISRA C:2004, den MISRA AC AGC-Standard im Rahmen der automatischen Code-Generierung, MISRA C++:2008 für C++ und den MISRA C:2012-Standard.
Weitere Informationen zu MISRA-C finden Sie unter misra.org.uk
Simulink, Stateflow und Embedded Coder sind weit verbreitet um eingebettete Software nach MISRA-C® zu entwickeln und Code zu generieren. Die Verifikationsprodukte Polyspace® dienen nachfolgend zur Analyse von (handgeschriebenen oder generiertem) Code, unter anderem zur Überprüfung der Einhaltung des MISRA-C Standards. Polyspace Bug Finder unterstützt dabei die Überprüfung von Programmierrichtlinien gemäß MISRA-C: 2004, MISRA-C++:2008, MISRA C:2012 und MISRA AC AGC.
Modelle oder Subsysteme können mit Hilfe des Code Generation Advisor so konfiguriert und überarbeitet werden, dass der Code-Generator möglichst MISRA-C:2012-konformen Code erzeugt. Jener Code kann anschließend im Detail mit Polyspace auf MISRA-Konformität überprüft werden, wobei sich potentielle Funde bis ins Modell zurückverfolgen lassen, wo die Möglichkeit besteht gerechtfertigte oder notwendige Abweichungen zu dokumentieren.
Weitere Informationen zur Code-Generierung gemäß MISRA-C Standards finden Sie hier:
Um die Nutzeraufwand zur Einhaltung von MISRA-C weiter zu reduzieren, stellt MathWorks die MISRA Support Table bereit, die Embedded Coder mit Simulink- und Stateflow-Modellen verwendet.
Das MISRA-C-Analysepaket enthält Folgendes:
- Dokumentation mit Zusammenfassung aller Programmierrichtlinien sowie detaillierten Beispielen
- Simulink-Modelle