Contenu principal

Créer des diagrammes de flux dans Stateflow

Un diagramme de flux Stateflow® est une construction graphique qui modélise des structures logiques telles que des arbres de décision et des boucles itératives. Les diagrammes de flux représentent une logique combinatoire dans laquelle un résultat ne dépend pas des résultats précédents. Vous créez des diagrammes de flux en combinant uniquement des jonctions de connexion et des transitions. Les jonctions instaurent des branches décisionnelles entre les différentes trajectoires de transition. L'exécution d'un diagramme de flux débute par une transition par défaut et se termine par une jonction de terminaison, c'est-à-dire une jonction dénuée de transitions sortantes. Pour plus d’informations, veuillez consulter Combiner les transitions et les jonctions pour créer des trajectoires de branchement.

Remarque

Si un diagramme Stateflow contient uniquement un diagramme de flux, il évalue le diagramme de flux chaque fois qu'il s’active. En revanche, le diagramme évalue tout diagramme de flux à l'intérieur d'un état uniquement lors de l'entrée dans l'état.

Il est recommandé d’encapsuler les diagrammes de flux dans des fonctions graphiques afin de créer une logique modulaire et réutilisable que vous pouvez appeler n'importe où dans un diagramme. Pour plus d’informations sur les fonctions graphiques, consultez Reuse Logic Patterns by Defining Graphical Functions.

Par exemple, ce diagramme de flux modélise une logique if-else simple :

Flow chart that models an if else statement.

Le diagramme de flux modélise ce code :

if u > 0
   y = 1;
else
   y = 0;
end

Tracer un diagramme de flux

Vous pouvez tracer des diagrammes de flux au moyen de jonctions de connexion qui serviront de points de branchement entre les trajectoires de transition alternatives. Pour tracer un diagramme de flux :

  1. Ouvrez un nouveau diagramme.

  2. Ajoutez une transition par défaut à la jonction qui marque le début de l’exécution du diagramme de flux. Dans la palette d’objets, cliquez sur l’icône Default transition . Sur la trame du graphique, cliquez ensuite sur l'emplacement de la transition. L’éditeur Stateflow ajoute une nouvelle jonction de connexion en tant que destination de la transition.

  3. Pour ajouter une nouvelle transition, pointez vers le bord d’une jonction. Cliquez ensuite dessus et éloignez le curseur de la souris de la jonction. L’éditeur Stateflow met à votre disposition des repères graphiques qui vous permettent d'ajouter une jonction ou un état.

    • Pour placer une jonction à la fin de la transition, cliquez sur le repère circulaire.

    • Pour connecter la transition à une jonction existante, faites glisser le curseur de la souris vers la destination souhaitée.

  4. Pour ajouter une jonction de connexion au diagramme, dans la palette d’objets, cliquez sur l’icône Junction . Sur la trame du graphique, cliquez ensuite sur l'emplacement de la nouvelle jonction.

  5. Répétez la procédure précédente selon vos besoins.

  6. Libellez les transitions comme l’indique Définir les actions dans une transition.

Bonnes pratiques pour la création de diagrammes de flux

Respectez ces bonnes pratiques lorsque vous créez des diagrammes de flux.

Flow chart that illustrates best practices.

Utilisation d’une seule transition par défaut

Les diagrammes de flux présentent un point d’entrée unique.

Mise à disposition d’une seule jonction de terminaison

La présence de plusieurs jonctions de terminaison nuit à la lisibilité d’un diagramme de flux.

Convergence de l’ensemble des trajectoires de transition vers la jonction de terminaison

Un diagramme de flux s’exécute toujours jusqu’au point de terminaison.

Mise à disposition d’une transition inconditionnelle à partir de chaque jonction à l’exception de la jonction de terminaison

Si un retour en arrière involontaire a lieu pendant la simulation, un message d'avertissement apparaît.

Pour contrôler le niveau d'action de diagnostic en cas de retour en arrière involontaire, ouvrez la boîte de dialogue Configuration Parameters et, dans le volet Diagnostics > Stateflow, définissez le paramètre Unexpected backtracking sur none, warning ou error. Le réglage par défaut est warning. Pour plus d’informations, veuillez consulter Unexpected backtracking (Simulink).

Un retour en arrière involontaire est susceptible de se produire au niveau d’une jonction dans les conditions suivantes :

  • La jonction ne présente pas de trajectoire de transition inconditionnelle vers un état ou une jonction de terminaison.

  • Plusieurs trajectoires de transition conduisent à cette jonction.

Pour traiter les mises à jour, utilisez des actions de condition plutôt que des actions de transition

Les diagrammes de flux testent les transitions, mais ne les exécutent pas. Par conséquent, les diagrammes de flux n’exécutent jamais d’actions de transition. En outre, dans les diagrammes qui utilisent MATLAB® comme langage d’action, le recours à une action de transition dans une fonction graphique entraîne une erreur de temps de compilation.

Voir aussi

Rubriques