Simulink Verification and Validation

Principales fonctionnalités

  • Vérification de la conformité des modèles aux règles de modélisation du MAAB et aux règles de conception de systèmes à haute intégrité (DO-178, ISO 26262, IEC 61508 et normes industrielles associées)
  • Éditeur de configuration Model Advisor, avec notamment la création de vérifications de règles personnalisées
  • Interface pour gérer la traçabilité entre les éléments du modèle, le code, les tests et les exigences
  • Génération automatique d’un harnais de tests pour les sous-systèmes
  • Test des composants par la simulation et les modes SIL (software-in-the-loop) et PIL (processor-in-the-loop)
  • Interface de programmation pour automatiser la vérification de la conformité aux règles de modélisation, l’analyse de la traçabilité des exigences et le test des composants
Analysis views and reports generated by Simulink Verification and Validation for requirements tracing, modeling standards compliance checking, component testing, and model coverage.
Affichages et rapports d’analyse générés par Simulink Verification and Validation pour la traçabilité des exigences, la vérification de la conformité des modèles aux règles de modélisation, le test des composants et la couverture de modèle.

Utilisation de Simulink Verification and Validation

L’interface de gestion des exigences crée des liens permettant de connecter des documents externes aux blocs Simulink®. Il est possible d’utiliser ces liens pour la revue des exigences, la revue de la conception, l’analyse de traçabilité et la documentation du projet.

L’interface de gestion des exigences permet d’effectuer les opérations suivantes :

  • Associer des objets Simulink et Stateflow® à des exigences
  • Passer d’un objet Simulink ou Stateflow aux exigences
  • Revue des liens entre exigences et modèle par un code couleur et à l’aide de marqueurs personnalisés
  • Créer des rapports indiquant les liens qui existent entre les objets du modèle Simulink et les exigences

Simulink Verification and Validation dispose d’une bibliothèque de règles de modélisation vérifiables automatiquement. Les règles sont préconfigurées pour la prise en charge des règles du MathWorks Automotive Advisory Board (MAAB) et des standards de modélisation pour le développement de logiciels à haute intégrité selon DO-178B et IEC 61508.

L’utilisation de Model Advisor et des vérifications des règles de modélisation permet d’effectuer les opérations suivantes :

  • Effectuer des vérifications par rapport à des modèles ou des composants de modèle afin de contrôler la conformité aux standards de modélisation
  • Créer et partager la vérification des règles de modélisation
  • Automatiser l’exécution de la vérification des règles à l’aide d’une interface de programmation
  • Élaborer la vérification de règles personnalisées

Simulink Verification and Validation dispose de fonctions de test de composants qui génèrent un modèle harnais et enregistrent les données des modèles existants pour faciliter la simulation des composants de modèles. Vous pouvez :

  • Automatiser les tests des composants de modèles
  • Extraire le contenu des sous-systèmes ou des sous-diagrammes dans un nouveau modèle en vue de son analyse
  • Enregistrer les valeurs des entrées dans une simulation
  • Simuler des modèles à l’aide de cas de tests
  • Exécuter des tests par rapport au code généré
  • Collecter et analyser la couverture de modèle

Traçabilité des exigences entre les modèles, les tests et le code généré

L’interface de gestion des exigences de Simulink Verification and Validation permet de lier des objets Simulink et Stateflow à des documents d’exigences. Elle prend en charge les exigences enregistrées dans des fichiers IBM® Rational® DOORS®, Microsoft® Word, Excel®, PDF ou HTML. Il est possible de la personnaliser pour prendre en charge d’autres formats de document et d’autres systèmes de gestion des exigences.

Requirements Management Interface context menu and Requirements dialog box.
Menu contextuel de l’interface de gestion des exigences et boîte de dialogue des Requirements.

Création de liens

Les liens sont des références dans le modèle qui mènent à des documents externes. Ils sont associés à l’identificateur unique des blocs du modèle qui garantit la robustesse et la persistance des informations de traçabilité des exigences.

La traçabilité des exigences permet de sélectionner une exigence ou un signet dans un document externe et de créer un lien par le biais des menus contextuels de Simulink. La boîte de dialogue Requirements permet d’appliquer des mots-clés et des descriptions aux liens pour une analyse plus ciblée.

Revue de la conception et des exigences

L’interface de gestion des exigences permet de mettre en évidence des blocs dans le modèle ou de générer un rapport des exigences associant des images des sous-systèmes du modèle à des informations provenant des documents d’exigences. Vous pouvez personnaliser les modèles de rapport à l’aide de Simulink Report Generator™.

Conjointement à IBM Rational DOORS, Simulink Verification and Validation permet de répliquer des liens Simulink en tant qu’objets de lien dans DOORS, ce qui permet la traçabilité bidirectionnelle sans avoir à modifier les documents d’exigences. L’interface de gestion des exigences synchronise ces liens dans DOORS et dans Simulink. Vous pouvez par conséquent créer des liens dans IBM Rational DOORS ou dans IBM Rational DOORS Web Access, puis les synchroniser avec les modèles Simulink. Pour vous assurer que les liens des exigences sont cohérents avec les documents source, vous pouvez exécuter des vérifications de cohérence des exigences capables d’identifier les exigences supprimées ou modifiées. Il est possible de combiner ces vérifications à d’autres vérifications Model Advisor pour effectuer une analyse systématique des modèles.

Vérification du code

L’utilisation de Embedded Coder™, HDL Coder™ ou de Simulink PLC Coder™ pour générer le code à partir des modèles permet d’inclure les exigences sous forme de commentaire dans le code source et d’hyperliens dans le rapport de génération de code. Les hyperliens du rapport de génération de code permettent d’accéder directement aux exigences.

Consultez la page MathWorks Connections Program pour connaître les outils tierce pour la gestion des exigences qui prennent en charge l’interface de gestion des exigences et permettent la liaison et la traçabilité.

Annotated source code, created with Real-Time Workshop Embedded Coder, showing hyperlinks to requirements.
Code source annoté généré à l’aide d’Embedded Coder et montrant des hyperliens renvoyant aux exigences.

Vérification de la conformité aux règles de modélisation

Simulink Verification and Validation propose la vérification des règles suivantes :

  • MathWorks Automotive Advisory Board
  • DO-178B
  • IEC 61508 (ISO 26262)
  • Cohérence des exigences

Model Advisor permet d’exécuter la vérification de règles individuellement ou par groupe. Chaque vérification de règle s’accompagne d’une documentation détaillée et de recommandations pour résoudre les incohérences ; certaines vérifications disposent en outre d’options de configuration supplémentaires.

Violation in highlighted model block found through modeling standards checks in Model Advisor.
Violation détectée dans le bloc en couleur pour une règle de modélisation définit dans le Model Advisor.

Vous pouvez modifier les règles à vérifier à l’aide de l’éditeur de configuration de Model Advisor qui permet d’effectuer les opérations suivantes :

  • Sélectionner des combinaisons de règles à vérifier
  • Enregistrer une sélection de règles à vérifier en tant que nouvelle configuration
  • Importer et appliquer des règles à vérifier à partir d’une configuration existante
  • Ajouter la vérification de règles personnalisées à la configuration
  • Exporter et déployer une configuration

L’API de scripts permet de générer la vérification de règles personnalisées. La documentation du produit fournit quelques exemples de vérifications personnalisées.

Pour automatiser la vérification de la conformité, vous pouvez exécuter des vérifications en mode batch sur une seule machine ou sur plusieurs machines en parallèle avec Parallel Computing Toolbox™. Vous pouvez afficher les résultats dans Model Advisor ou dans le rapport HTML généré à l’issue de l’analyse.

Lors de l’utilisation du kit de qualification DO de Simulink, vous pouvez qualifier la vérification des règles DO 178B dans Model Advisor en vue d’une utilisation dans des projets certifiés DO-178B ou DO-254.

Test des composants

Simulink Verification and Validation dispose d’une API pour l’analyse et la simulation d’un ou plusieurs modèles référencés, sous-systèmes ou sous-diagrammes atomiques dans un modèle. Toutes les fonctions relatives aux tests des composants sont utilisables à partir de la ligne de commande ou intégrées aux scripts MATLAB®.

Génération d’un modèle harnais de test

La génération d’un modèle harnais de test permet d’isoler un sous-système atomique ou un modèle référencé par un système de contrôle plus important et de l’extraire sous forme de modèle harnais en vue de tests et d’analyses complémentaires. Vous pouvez utiliser ce modèle harnais pour effectuer un test complet des composants en cours de développement ou lorsque le reste du modèle de système n’est pas disponible pour la simulation.

La génération de modèle harnais automatise la configuration des interfaces d’entrées et sorties, y compris les bus complexes fortement imbriqués. Les dépendances des sous-systèmes, telles que les data store externes, sont intégrées dans le logiciel et associées aux entrées du nouveau modèle. Le nommage des signaux requis et les connexions sont automatisés afin de correspondre aux attributs du composant testé.

Enregistrement, importation et création des données

La fonction d’enregistrement des données permet de capturer les signaux d’entrée pendant une simulation en boucle fermée et de réutiliser les vecteurs de test pour la simulation du modèle harnais. Le format de données sous-jacent étant compatible avec Simulink Design Verifier™, vous pouvez générer d’autres cas de test à l’aide de la fonction de génération de test de Simulink Design Verifier.

Lors de la génération du modèle harnais, la fonction de génération peut contenir les données enregistrées lors de lasimulation et les importer dans le bloc Signal Builder.

Il est possible d’utiliser les modèles harnais contenant un bloc Signal Builder pour le débogage et l’analyse détaillée. Le bloc Signal Builder Simulink permet de modifier de façon graphique les vecteurs de test et d’importer les données de test existantes à partir de feuilles de calcul type Excel.

Workflow in Simulink Verification and Validation utilizing component testing functions to augment tests done on the control system model and to verify the model and code in the simulation.
Flot de test des composants avec Simulink Verification and Validation. Le flot utilise les fonctions de test des composants pour augmenter les tests effectués dans le modèle de système de contrôle et pour vérifier le modèle et le code dans la simulation.

Exécution des tests

La fonction d’exécution des tests permet d’automatiser l’exécution des cas de test par rapport aux modèles et au code généré en modes simulation SIL et PIL. Ces deux derniers nécessitent Embedded Coder.

Il est possible d’importer les résultats des tests des composants dans Data Inspector pour une analyse approfondie. La fonction d’exécution des tests est intégrée aux outils de couverture de modèle et de couverture de code afin de collecter des informations supplémentaires sur l’exhaustivité des tests.

Liaison des tests aux spécifications

Dans Signal Builder, vous pouvez lier les cas test avec des documents externes, tels que les spécifications fonctionnelles et les plans de test, par le biais du volet Requirements de la fenêtre Signal Builder. Vous pouvez en outre affecter des assertions à des cas test individuels afin d’analyser automatiquement la réussite ou l’échec des tests.

Using the Simulink Signal Builder block to link test cases with verification blocks and requirements.
Utilisation du bloc Signal Builder Simulink pour lier des cas tests aux blocs de vérification et aux spécifications. Le volet Verification des paramètres des blocs et le volet Requirements sont affichés.

Analyse de la couverture de modèle

Simulink Verification and Validation génère des rapports de couverture de modèle pour indiquer les éléments de la conception qui n’ont pas été testés, tels que les conditions logiques, les commutateurs, les intervalles des tables d’interpolation et les sous-systèmes. Ces rapports, publiés au format HTML, utilisent les mesures standard pour la couverture structurelle. Ils affichent en outre des informations de couverture relatives au modèle, permettant de rechercher la couverture manquante dans le modèle et d’accéder aux exigences associées. Vous pouvez alors déterminer s’il convient de modifier les exigences, les cas de test ou la conception pour satisfaire les objectifs de couverture.

Model coverage report for a group of test cases run in simulation.
Rapport de couverture de modèle pour un groupe de cas de test exécuté dans une simulation.

Simulink Verification and Validation propose huit mesures d’analyse de couverture de modèle :

La complexité cyclomatique mesure la complexité structurelle d’un modèle, donnant une approximation de la mesure de la complexité McCabe du code généré à partir du modèle.

La couverture de décision examine les éléments qui représentent des points de décision dans un modèle, tels que les blocs Switch Simulink et les états Stateflow.

La couverture de condition examine les blocs qui produisent la combinaison logique de leurs entrées, tels que le bloc logique et les transitions Stateflow.

La condition modifiée/couverture de décision (MC/DC) analyse les logiciels critiques pour la sécurité tels que définis par RTCA DO-178B, et détermine si les entrées logiques ont modifié la sortie de façon indépendante.

La couverture des tables d’interpolation (LUT) enregistre la fréquence d’utilisation de chaque intervalle d’interpolation. (Un cas de test bénéficie d’une couverture complète s’il exécute au moins une fois chaque intervalle d’interpolation et d’extrapolation.)

La couverture de plage de signaux indique les valeurs minimales et maximales générées pendant la simulation par chaque sortie de bloc et pour tous les objets de données Stateflow.

La couverture de la taille des signaux enregistre la taille minimale, maximale et allouée pour tous les signaux de taille variable dans un modèle. Seuls les blocs avec des signaux de sortie de taille variable sont inclus dans le rapport.

La couverture Simulink Design Verifier enregistre les données de couverture de modèle pour les blocs et fonctions Simulink Design Verifier.

Increasing Robustness of your Software Designs with Simulink

Visionner le webinar