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 règles personnalisées
  • Interface de gestion de la traçabilité entre les éléments du modèle, le code, les tests et les documents d'exigences
  • Analyse de couverture de modèle et analyse de couverture du code généré en mode SIL (software-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
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.

Établir des liens entre les exigences et les éléments de conception

Simulink Verification and Validation™ permet de lier des objets Simulink® et Stateflow® au texte des documents d'exigences. La boîte à outils supporte les exigences stockées dans des fichiers IBM® Rational® DOORS®, Microsoft® Word, Microsoft Excel®, PDF ou HTML. Vous pouvez appliquer des mots-clés et des descriptions aux liens dans Simulink afin de mieux documenter votre conception. L’interface peut être personnalisée de manière à supporter divers formats de document et systèmes de gestion des exigences.

Liez les objets du modèle, les cas de test et le code aux documents d'exigences.

Simulink Verification and Validation permet une traçabilité bidirectionnelle en insérant des liens vers des artefacts Simulink dans votre document d'exigences. L’outil synchronise vos liens dans les produits de gestion des exigences tels que DOORS. Pour confirmer que vos liens vers des exigences sont cohérents avec les documents sources, vous pouvez vérifier si les exigences ont été supprimées ou modifiées. Une interface utilisateur (appelée Requirements Management Interface) peut vous aider à automatiser l’analyse de traçabilité des exigences.

Les outils qui vous permettent de procéder à des tests à plus grand échelle et de générer du code gèrent également les liens vers les exigences. Vous pouvez lier des exigences à des cas de test, à des suites de tests et à des séquences de test dans Simulink Test™, et accéder aux liens depuis le canevas Simulink ou le gestionnaire de tests. Le code généré à partir de Embedded Coder®HDL Coder™ ou Simulink PLC Coder™ peut faire l’objet d’hyperliens depuis le rapport de génération de code vers le document d'exigences. Ces liens sont présentés comme des commentaires dans le code. Les hyperliens du rapport de génération de code permettent de naviguer directement depuis le code vers les exigences.

Consultez le MathWorks Connections Program pour connaître les solutions tierces de gestion des exigences qui supportent Simulink Verification and Validation.


Vérifier la qualité d’un modèle au moyen de standards et de mesures

Simulink Verification and Validation dispose d’une bibliothèque de règles de conception prêtes à l’emploi pour vérifier la conformité aux standards de modélisation. Les règles sont préconfigurées pour supporter le standard de modélisation du MathWorks Automotive Advisory Board (MAAB) et des normes DO-178, ISO 26262, IEC 61508 et IEC 62304 pour le développement de logiciels à haute intégrité. Vous pouvez vérifier les règles individuellement ou par groupe avec l’outil Model Advisor. Chaque règle s’accompagne d’une documentation détaillée et de recommandations pour résoudre les problèmes, avertissements et erreurs identifiés. Vous avez la possibilité de laisser l’outil effectuer les actions correctives requises afin de remédier aux problèmes identifiés.

Simulink Verification and Validation accompagne vos processus de développement en vérifiant que votre modèle est compatible avec les outils en aval. Ainsi, vous pouvez confirmer que votre modèle est compatible avec des outils tels que Simulink Code Inspector™ et Simulink Design Verifier™. La fonctionnalité Model Advisor peut afficher les problèmes de conception, comme la logique morte ou les  divisions par zéro, détectées par ces outils. Vous pouvez générer des mesures de modèle afin d’évaluer votre modèle en termes de dimensions, de complexité et de lisibilité. Ces mesures fournissent des indications favorisant le développement de modèles précis et sans ambiguïtés qui sont à la fois compacts, portables et révisables.

Pour veiller à ce que vos modèles soient conformes à vos propres standards, vous pouvez utiliser les API du Model Advisor et l’Éditeur de configuration afin de créer vos propres règles pour le Model Advisor. Vous pouvez également modifier les règles intégrées de conformité aux standards de l’industrie et de modélisation pour élaborer vos propres règles personnalisées. Similaires aux règles intégrées, les règles personnalisées vous permettent de définir les actions que doit prendre le Model Advisor, comme par exemple générer une erreur ou appliquer automatiquement un correctif à votre modèle.

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

Vous pouvez utiliser le IEC Certification Kit (ISO 26262 et IEC 61508) et le DO Qualification Kit (pour DO-178) afin de qualifier Simulink Verification and Validation pour les normes industrielles supportées, telles que DO-178, ISO 26262, IEC 61508 et IEC 62304.

Mise en évidence d’une infraction à une directive de modélisation dans l’outil Model Advisor.


Mesurer la couverture de code et de modèle

Simulink Verification and Validation génère des rapports de couverture de code et de modèle pour identifier les éléments de la conception qui n’ont pas été testés. Les rapports de couverture mesurent le degré selon lequel votre modèle est vérifié pour un cas de test ou une suite de tests. Le rapport détermine dans quelle proportion un cas de test ou une série de tests couvre les chemins d’exécution possibles au sein d’une conception. Il fournit une mesure cumulée de l’exécution des conditions logiques, des commutateurs, des sous-systèmes et des intervalles des tables d’interpolation dans votre modèle. Outre la couverture du modèle, Simulink Verification and Validation produit des rapports de couverture pour les S-fonctions codées en C et pour le code généré par Embedded Coder.

Les modèles dont les mesures de couverture sont élevées indiquent qu'ils ont été testés de manière plus approfondie. Simulink Verification and Validation génère des rapports de couverture et affiche directement les informations de couverture sur les blocs et sous-systèmes de votre modèle. Vous pouvez utiliser ces informations pour évaluer le modèle et identifier les parties de votre conception insuffisamment couvertes. 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.

Simulink Verification and Validation produit les mesures de couverture suivantes :

La couverture d’exécution est la forme la plus élémentaire de la couverture de modèle. Pour chaque bloc ou sous-système, la couverture d’exécution détermine si un élément est exécuté ou pas au cours de la simulation.

La couverture d’instruction est la forme la plus élémentaire de la couverture de code pour les S-fonctions codées en C et le code généré. Elle identifie les instructions de code qui ont été exercées.

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 condition examine les blocs (ou le code) qui produisent la combinaison logique de leurs entrées, tels que le bloc logique et les transitions Stateflow.

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, les états Stateflow ou les instructions conditionnelles dans le code.

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 condition modifiée/couverture de décision (MC/DC) analyse les logiciels critiques pour la sécurité tels que définis par RTCA DO-178 et détermine si les entrées logiques ont modifié la sortie de façon indépendante (pour les modèles et pour le code).

La couverture des limites relationnelles examine les blocs, les diagrammes Stateflow et les blocs de fonction MATLAB® qui contiennent un fonctionnement relationnel explicite ou implicite.

La couverture de saturation sur les débordements d’entiers enregistre le nombre de fois qu’un bloc tel que le bloc Abs sature sur un débordement d’entier.

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.