Supporto per MISRA C in MATLAB e Simulink

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, MIRA Ltd. pubblicò MISRA C (MISRA C:1998) per fornire un subset ristretto di un linguaggio strutturato e standardizzato che soddisfaceva il livello integrazione della sicurezza (SIL) 2 e superiori.

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.

Per maggiori informazioni su MISRA C, consultare il sito misra.org.uk

Simulink, Stateflow ed Embedded Coder sono largamente 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 che sia più probabile che il generatore di codice produca un codice conforme a MISRA C: 2012 utilizzando il Code Generation Advisor. La conformità a MISRA del codice generato può essere verificata utilizzando Polyspace e i risultati possono essere ricondotti 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 meglio gli utenti nei loro sforzi di ottenere la conformità a MISRA C, MathWorks fornisce la Tabella di supporto MISRA 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

Prodotti chiave per lo sviluppo di applicazioni MISRA C: