Vérification, validation et test avec MATLAB et Simulink

Vérifiez et validez les systèmes embarqués avec l'approche Model-Based Design

Les ingénieurs utilisent l'approche Model-Based Design avec MATLAB® et Simulink® pour concevoir des systèmes embarqués complexes et générer du code C, C++ et HDL de production. Grâce aux tests en simulation et à l’analyse statique basée sur les méthodes formelles, les outils MathWorks apportent rigueur et automatisation à l'approche Model-Based Design afin d'identifier les erreurs plus tôt et d'améliorer la qualité du système.

Avec MATLAB et Simulink, vous pouvez :

  • Tracer les exigences dans les architectures, le design, les tests et le code
  • Démontrer que votre design est conforme aux exigences et qu'il ne présente aucune erreur run-time critique
  • Vérifier la conformité et mesurer la qualité des modèles et du code
  • Générer automatiquement des cas de test pour augmenter la couverture de test
  • Produire des rapports et artefacts ainsi que répondre aux normes de l’industrie (telles que DO-178 et ISO 26262)

Vérification des exigences

Le processus de développement commence avec les exigences informelles textuelles qui peuvent être répertoriées dans des documents, des feuilles de calcul ou des outils de gestion des exigences comme IBM ® Rational ® DOORS ®. Requirements Toolbox™ vous permet d'importer, de visualiser, de créer et de gérer les exigences en parallèle avec votre architecture, vos designs, votre code généré et vos artefacts de test. Vous pouvez créer un lien numérique des exigences vers votre design dans System Composer™, Simulink, Stateflow ®, ou pour vos tests dans Simulink Test™. Grâce à cette traçabilité, vous pouvez identifier ce qui manque dans l’implémentation ou les tests, et comprendre rapidement l'impact d'une modification sur ces derniers.

Vous pouvez formaliser les exigences et les analyser pour en vérifier la cohérence, l'exhaustivité et la justesse afin de les valider plus tôt avec le bloc Requirements Table dans Requirements Toolbox. Les évaluations temporelles dans Simulink Test vous permettent de vérifier les exigences textuelles en spécifiant ces évaluations avec une sémantique précise en langage naturel qui peut être évaluée et déboguée.


Conformité aux normes de certification

Automatisez la vérification de conformité des modèles et du code vis-à-vis des normes comme DO-178, ISO 26262, IEC 61508 et IEC 62304, et des directives du MathWorks Advisory Board (MAB). Simulink Check™ propose des règles de vérification et des métriques reconnues dans l’industrie permettant d'identifier les violations des normes et des directives lors du développement. Vous pouvez créer des règles de vérification personnalisées afin d'assurer la conformité à vos propres normes ou directives internes. L’IEC Certification Kit (for ISO 26262 and IEC 61508) et DO Qualification Kit (for DO-178 and DO-254) offrent des artefacts de qualification d'outils, des certificats et des suites de test pour vous aider à qualifier les produits de vérification et de génération de code et à rationaliser la certification de vos systèmes embarqués.


Prouver l'absence d'erreurs et vérifier formellement les exigences

La vérification formelle permet d'identifier des erreurs de design cachées qui entraînent par exemple des dépassements d’entiers, de la logique morte, des violations d'accès aux tableaux et des divisions par zéro, sans simuler le design. Simulink Design Verifier™ peut vérifier formellement que votre design ne présente aucune erreur ou faille de sécurité. Cet outil peut également prouver que votre design est conforme aux exigences critiques. S'il détecte une exception, il génère un contre-exemple pour le débogage.


Génération automatique de tests

Il est essentiel d'identifier ce qui n’est pas couvert dans les tests, les fonctionnalités indésirables ou les erreurs relatives aux exigences. Simulink Coverage™ calcule la proportion du modèle ou du code généré éprouvée pendant les tests. Il applique des métriques reconnues dans l'industrie, notamment les conditions, les décisions, les conditions/décisions modifiées (MCDC) et les objectifs de couverture personnalisés. Simulink Design Verifier peut générer automatiquement des cas de test afin de résoudre les problèmes liés à une couverture incomplète et vous permettre d'atteindre vos objectifs de couverture structurelle et fonctionnelle.


Analyse statique de code

Pour vérifier du code écrit manuellement ou généré automatiquement, les produits Polyspace® utilisent des méthodes formelles pour trouver les bugs et prouver l'absence d'erreurs run-time critiques sans exécuter de code ni de cas de test. Polyspace Bug Finder™ vérifie et documente la conformité aux normes telles que MISRA®, ISO 26262, IEC 61508, DO-178 et les réglementations FDA. Vous pouvez vérifier les vulnérabilités de sécurité logicielle et la conformité aux normes telles que CWE, CERT-C, ISO/IEC 17961 et bien d'autres. Polyspace Code Prover™ effectue une analyse statique permettant de prouver l'absence d'overflow, de division par zéro, de dépassement de tableaux et autres erreurs run-time dans du code source C et C++.


« Par rapport au codage manuel, l'approche Model-Based Design nous a permis de réduire les coûts de main-d'œuvre de 30 % et ceux des tests de 20 %, ainsi que d'augmenter la productivité de plus de 30 %. Nous avons terminé le développement de notre ECU en avance, tout en constituant notre équipe de développement logiciel en interne. »

Daming Li, Weichai Power