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)

« 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

Utiliser MATLAB et Simulink pour la vérification et la validation

Panel Navigation

 

En vedette : l’approche Model-Based Design et les processus collaboratifs

Vérification des exigences

Le processus de développement commence avec les exigences informelles textuelles qui peuvent être enregistré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, vos designs, le code généré et les artefacts de test. Vous pouvez créer un lien numérique depuis les exigences vers le design 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 leur traçabilité avec d'autres outils dans 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 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 (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é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++.


Démarrez par des tâches basiques jusqu'à des opérations plus avancées en suivant des exemples et des tutoriels interactifs.