Die Motor Industry Software Reliability Association (MISRA) hat im Jahr 1998 Richtlinien für die Verwendung von C-Code in elektronischen Steuergeräten von Fahrzeugen und Luftfahrzeugen eingeführt, den sogenannten MISRA-C:1998 Standard. Im Jahr 1998 veröffentlichte MISRA Ltd. MISRA C (MISRA C:1998), mit dem Ziel, eine eingeschränkte Teilmenge einer standardisierten, strukturierten Sprache bereitzustellen, die den Grad der Sicherheitsintegrität (SIL) 2 und höher erfüllt.
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.
Mit den weitverbreiteten Simulink, Stateflow und Embedded Coder lässt sich Embedded Software nach MISRA-C® entwickeln und Code generieren. Produkte zur Code-Verifizierung in Polyspace® dienen zur Analyse von handschriftlichem oder erzeugtem Code in Bezug auf die Einhaltung der MISRA C-Standards. Polyspace Bug Finder unterstützt die Erkennung von Coderegeln gemäß MISRA-C: 2004, MISRA-C++:2008, MISRA C:2012 und MISRA AC AGC.
Sie können ein Modell oder Untersystem so konfigurieren, dass der Codegenerator mit hoher Wahrscheinlichkeit MISRA C: C:2012-konformen Code mit dem Code Generation Advisor generiert. Jener Code kann anschließend im Detail mit Polyspace auf MISRA-Konformität überprüft werden, wobei sich potenzielle Funde bis ins Modell zurückverfolgen lassen. Dort besteht dann die Möglichkeit, gerechtfertigte oder notwendige Abweichungen zu dokumentieren.
Weitere Informationen zur Code-Generierung gemäß MISRA-Standards finden Sie hier:
Um Anwender bei ihren Bestrebungen nach MISRA C-Konformität zu unterstützen, bietet MathWorks ein Machbarkeitsanalysepaket sowie Empfehlungen zur Generierung von MISRA C-Code bei der Verwendung von Embedded Coder mit Simulink- und Stateflow-Modellen.
Das MISRA-C-Analysepaket enthält:
- Dokumentation mit Zusammenfassung aller Programmierrichtlinien sowie detaillierten Beispielen
- Simulink-Modelle