Vérification, validation et test avec MATLAB et Simulink

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

Les ingénieurs utilisent le 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 qualité 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 au 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 et répondre aux normes de l’industrie (telles que DO-178 et ISO 26262)

« Par rapport au codage manuel, le Model-Based Design nous a permis de réduire les coûts de main-d'œuvre de 30 % et ceux des tests de 20 %, et 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

Utilisation de MATLAB et Simulink pour la vérification et la validation

Vérification des exigences

Le processus de développement commence avec les exigences textuelles, pouvant être conservées dans des documents, des feuilles de calcul ou des outils de gestion des exigences comme IBM® Rational® DOORS®. Avec Simulink Requirements™, vous pouvez consulter, créer et gérer des exigences conjointement avec votre architecture, votre design, le code généré et les artefacts de test. Vous pouvez créer un lien numérique depuis les exigences vers le design exprimé dans System Composer™, Simulink, Stateflow® ou les tests MATLAB dans Simulink Test™. Grâce à cette traçabilité, vous pouvez identifier ce qui manque dans l’implémentation ou le test, et comprendre rapidement l'impact d'une modification sur le design ou le test. Les exigences exprimées dans les outils tiers peuvent être consultées, synchronisées et gérées afin d'assurer la traçabilité avec les autres outils de votre processus de développement.

Les analyses temporelles dans Simulink Test vous permettent de vérifier les exigences textuelles en spécifiant ces analyses avec une sémantique précise dans un langage naturel qui peut être évalué et débogué.


Conformité aux normes de certification

Automatisez la vérification 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 Automotive Advisory Board (MAAB). 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 (ISO 26262 et IEC 61508) et le DO Qualification Kit (DO-178) 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ébordements d’entiers, de la logique morte, des violations d'accès dans les 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é étudiée pendant le test. 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 atteindre vos objectifs de couverture structurelle et fonctionnelle.


Analyse statique de code

Pour vérifier du code écrit manuellement ou automatiquement généré, 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 autres. Polyspace Code Prover™ effectue une analyse statique permettant de prouver l'absence d'overflow, de division par zéro, de débordement de tableaux et autres erreurs run-time dans du code source C et C++.