NORMES DE L'INDUSTRIE

MISRA C

Pour simplifier l'évaluation de la qualité du code logiciel utilisé dans les unités de commande électronique, la MISRA (Motor Industry Software Reliability Association) a établi des directives régissant l'utilisation du code C dans les logiciels embarqués dans les automobiles et les avions. En 1998, MISRA Ltd. a publié la norme MISRA C (MISRA C:1998) visant à fournir un sous-ensemble restreint d'un langage standardisé et structuré conforme au niveau SIL (Safety Integrity Level) 2 et au-delà.

Depuis lors, plusieurs mises à jour ont été apportées à la norme, notamment MISRA C:2004, MISRA AC AGC dans le contexte de la génération automatique de code, MISRA C++:2008 pour le code C++ et MISRA C:2012.

Plus sur MISRA C

Simulink, Stateflow et Embedded Coder sont largement utilisés pour générer du logiciel embarqué conforme à la norme MISRA C®. Les produits de vérification de code Polyspace® sont utilisés pour analyser la conformité MISRA C du code écrit manuellement ou généré automatiquement. Polyspace Bug Finder supporte la détection des règles de codage MISRA-C: 2004, MISRA-C++:2008, MISRA C:2012 et MISRA AC AGC.

Vous pouvez configurer un modèle ou un sous-système pour que le générateur de code produise du code conforme à MISRA C :2012 grâce au Code Generation Advisor. La conformité MISRA du code généré peut être contrôlée avec Polyspace, et les résultats peuvent être tracés jusqu'au modèle. Vous pouvez annoter au niveau du modèle afin de fournir des justifications en cas d'éventuels écarts.


En savoir plus sur la génération de code conforme à MISRA :

Pour aider davantage les utilisateurs à atteindre la conformité à MISRA C, MathWorks propose un package d'analyse de faisabilité et des recommandations de génération de code MISRA C lors de l'utilisation d’Embedded Coder avec des modèles Simulink et Stateflow.

Le package d'analyse MISRA C comprend les éléments suivants :

  • Documentation avec récapitulatif des règles et exemples détaillés
  • Modèles Simulink

Les produits clés pour développer des applications conformes à MISRA C :