Stateflow

 

Stateflow

Modéliser et simuler la logique décisionnelle avec des machines à états et des diagrammes de flux

Concevoir des machines à états

Avec Stateflow, vous pouvez concevoir des machines à états en utilisant des éléments à glisser-déposer et des instructions logiques simples. Pour vous aider à démarrer, l'autoformation Stateflow Onramp et d'autres formations sont à votre disposition.

Diagramme d'état comportant plusieurs états et des blocs fonctionnels MATLAB. L'état « exchange » contient une logique représentée avec un diagramme de flux pour déterminer s'il entre dans l'un des deux états enfants ou s'il sort de l'état.

Créer des diagrammes de flux

Vous pouvez utiliser des diagrammes de flux pour représenter la logique d'état. L'assistant Pattern Wizard vous permet de générer automatiquement des diagrammes de flux pour des patterns de logique courants.

Modéliser votre logique avec des tables

Stateflow propose des tables de transition d'état et des tables de vérité. Les tables de transition d'état proposent une vue tabulaire pour la modélisation de la logique, et les tables de vérité implémentent le design de la logique combinatoire dans un format tabulaire.

Exécuter des diagrammes Stateflow

Lors de l'exécution de votre diagramme d'état, des animations mettent en avant les états et les transitions actifs. Vous pouvez modifier manuellement les variables pendant l'exécution afin de visualiser leur impact sur le système.

À gauche figure un diagramme Stateflow pour un changement de vitesse manuel. Les données de simulation pour deux des états du diagramme sont présentées dans les graphiques de droite, les flèches identifiant le tracé correspondant à chaque état.

Surveiller et analyser les données

Simulation Data Inspector offre la possibilité de visualiser les données de simulation. Grâce à cet outil, vous pouvez surveiller un système pour collecter des informations précieuses sur son comportement.

Débugger la logique dans Stateflow

Les capacités de débuggage de Stateflow vous permettent de suivre en détail l'exécution d'un diagramme. Vous pouvez définir des points d'arrêt et examiner différentes fonctions pas à pas dans vos diagrammes d'état afin de comprendre les comportements inattendus.

Un scheduler de logique temporelle est implémenté dans un modèle Simulink. Le bloc planifie l'exécution de trois sous-systèmes d'appel de fonction, le troisième envoyant sa sortie à un bloc Scope.

Planification des tâches Stateflow

Stateflow peut invoquer les algorithmes Simulink de manière périodique ou continue pour planifier l'exécution des composants et simuler votre environnement en temps réel.

Un modèle Simulink qui a été révisé après la validation des exigences. Sous le modèle, les statuts de vérification des exigences listées sont colorés en vert pour indiquer que toutes les propriétés du modèle sont valides.

Valider des designs avec Simulink

Stateflow s'intègre parfaitement aux autres produits MathWorks pour vérifier, valider et tester vos designs. Vous pouvez exploiter ces produits pour garantir que vos designs répondent aux exigences, détecter les erreurs plus rapidement et atteindre vos objectifs de qualité.

Deux fenêtres d'application reliées par un graphique indiquant que la seconde fenêtre a été créée à partir de la première. La première fenêtre montre un diagramme Stateflow et la seconde le code C qui a été généré automatiquement à partir du diagramme.

Générer du code pour le déploiement

La génération de code vous permet d'implémenter votre logique de diagramme d'état sur des systèmes embarqués. Stateflow support les workflows de génération de code C, C++, VHDL et Verilog, ainsi que de texte structuré pour les PLC.

« Il a fallu attendre le projet Deep Space 1 pour que les diagrammes d'état et la technologie de génération automatique de code soient utilisées sur des grands systèmes pour le software avionique des engins spatiaux. Les outils MathWorks ont rendu cette approche possible. »

Vous souhaitez en savoir plus sur le produit  Stateflow ?