Contenu principal

Exécution d’un diagramme Stateflow

Lorsqu'un diagramme Stateflow® s’active, il suit un workflow et exécute des actions. Un diagramme Stateflow s’active :

  • À chaque pas de temps

  • Lorsque le diagramme Stateflow reçoit un événement

Lorsqu'un diagramme s’active pour la première fois, il est initialisé et devient actif, comme le décrit Workflow d’entrée dans un diagramme ou un état. Lorsqu'il ne reste plus d'actions à entreprendre, le diagramme se met en veille jusqu'à ce qu'un nouveau pas de temps ou un nouvel événement l’active.

Workflow d’exécution d’un diagramme Stateflow

Ce diagramme de flux indique la progression des événements entrepris par Stateflow lors de l'exécution d'un diagramme ou d'un état. Dans ce diagramme de flux, l'état actuel fait référence à l'état dans lequel une décision ou un processus a lieu.

Flow chart that shows the steps for executing a chart or state.

Transitions par défaut

Une default transition est une transition qui n'a pas de source. Dans un diagramme Stateflow qui ne contient pas d'états, une transition par défaut marque le début d'un diagramme de flux. Pour plus d’informations, veuillez consulter Créer des diagrammes de flux dans Stateflow.

Si un diagramme Stateflow ne contient aucun état, il évalue les chemins de transition par défaut à chaque fois qu'il s’active. Après avoir marqué une transition par défaut pour l'évaluation, le diagramme suit les étapes indiquées dans Workflow for Evaluating Transitions.

Remarque

Les diagrammes évaluent les chemins de transition par défaut à l'intérieur d'un état uniquement lors de l'entrée dans l'état, et non à chaque fois que le diagramme s’active.

Transition externe

Une outer transition est une transition qui quitte l'état source. Un diagramme Stateflow marque les transitions externes à évaluer en guise de première étape de l'exécution d'un état. Après avoir marqué une transition externe pour l'évaluation, le diagramme suit les étapes indiquées dans Workflow for Evaluating Transitions.

Pendant des actions

Une action during est une action définie dans un libellé d'état en utilisant le préfixe during ou du. Pour plus d’informations, veuillez consulter Définir les actions dans un état.

Un état effectue des actions during lorsque le diagramme s’active, que l'état est actif et en l’absence de transitions externes valides.

Transitions externes

Une inner transition est une transition qui ne quitte pas l'état source. Pour plus d’informations, veuillez consulter Control Chart Execution by Using Inner Transitions.

Un diagramme Stateflow marque les transitions internes à évaluer après l'exécution d'actions during par un état. Après avoir marqué une transition interne pour l'évaluation, le diagramme suit les étapes indiquées dans Workflow for Evaluating Transitions.

Exécution des diagrammes avec une transition valide

Dans cet exemple, le diagramme Stateflow a été initialisé et les actions entry ont été effectuées pour StateA et StateA1. Un nouveau pas de temps a lieu et le diagramme s’active.

À ce pas de temps, x = 5, y = 2 et z = 0.

Stateflow chart with top-level states called StateA and StateB. StateA has substates StateA1 and StateA2. StateB has substates StateB1 and StateB2.

Le diagramme exécute les actions suivantes :

  1. Le diagramme a un sous-état actif, StateA.

  2. StateA comporte une transition externe vers StateB. Le diagramme détermine que la transition est valide.

  3. Le diagramme repère StateB pour l'entrée et StateA, pour la sortie.

  4. Pour quitter StateA, le diagramme procède comme l’indique Workflow de sortie d’un état.

  5. Pour entrer dans StateB, le diagramme procède comme l’indique Workflow d’entrée dans un diagramme ou un état.

Exécution des diagrammes sans transition valide

Dans cet exemple, le diagramme Stateflow a été initialisé et les actions entry ont été effectuées pour StateA et StateA1. Un nouveau pas de temps a lieu et le diagramme s’active.

À ce pas de temps, x = 3, y = 0 et z = 0.

Stateflow chart with top-level states called StateA and StateB. StateA has substates StateA1 and StateA2. StateB has substates StateB1 and StateB2.

Le diagramme exécute les actions suivantes :

  1. Le diagramme a un sous-état actif, StateA.

  2. StateA comporte une transition externe vers StateB. Le diagramme détermine que la transition est non valide.

  3. Le diagramme exécute les actions during pour StateA. À présent, y = 1.

  4. StateA ne comporte pas de transitions internes.

  5. Le sous-état actif de StateA est StateA1.

  6. StateA1 comporte une transition externe vers StateA2. Le diagramme détermine que la transition est non valide.

  7. Le diagramme exécute les actions during pour StateA1. À présent, x = 4.

  8. StateA1 n‘a pas de sous-états actifs.

  9. Le diagramme passe en veille.

Voir aussi

Rubriques