Per aiutare a valutare la qualità del codice software utilizzato nelle unità di controllo elettronico, la MISRA (“Motor Industry Software Reliability Association”) ha introdotto delle linee guida per l’utilizzo del codice C per i software eseguiti su automobili e aeromobili. Nel 1998, MISRA Ltd. pubblicò MISRA C (MISRA C:1998) per fornire un subset ristretto di un linguaggio strutturato e standardizzato in grado di soddisfare il livello di integrazione della sicurezza (SIL) 2 e superiore.
Da allora, sono stati eseguiti diversi aggiornamenti allo standard, tra cui MISRA C:2004, lo standard MISRA AC ACG nel contesto della generazione automatica di codice, MISRA C++:2008 per C++, e lo standard MISRA C:2012.
Simulink, Stateflow ed Embedded Coder sono ampiamente utilizzati per generare software embedded per MISRA C®. I prodotti di verifica del codice Polyspace® vengono utilizzati per analizzare codice scritto a mano o generato per la conformità con MISRA C. Polyspace Bug Finder supporta il rilevamento delle regole di codifica MISRA-C: 2004, MISRA-C++:2008, MISRA C:2012 e MISRA AC AGC.
È possibile configurare un modello o un sottosistema in modo da aumentare le probabilità che il generatore di codice sia in grado di produrre un codice conforme a MISRA C: 2012 utilizzando il Code Generation Advisor. È possibile verificare la conformità a MISRA del codice generato utilizzando Polyspace e i risultati sono riconducibili al modello. È possibile fare annotazioni a livello di modello per fornire giustificazioni per qualsiasi deviazione.
Scopri di più sulla generazione di codice conforme a MISRA:
Per assistere al meglio gli utenti nei loro sforzi di conseguire la conformità a MISRA C, MathWorks fornisce un pacchetto di analisi sulla fattibilità e dei suggerimenti per generare codice MISRA C utilizzando Embedded Coder con modelli Simulink e Stateflow.
Il pacchetto di analisi MISRA C comprende:
- Documentazione con un riepilogo delle regole ed esempi dettagliati
- Modelli Simulink