Sortir d’un état
Lorsqu’une transition hors d’un état est valide, cet état est signalé pour la sortie. Un état est signalé pour la sortie de l’une des façons suivantes :
La transition sortante est déclenchée à la limite de l’état.
La transition sortante traverse la limite de l’état.
L’état de destination est un état parallèle enfant d’un état activé.
Workflow de sortie d’un état
Ce diagramme de flux indique la progression des événements dans Stateflow® pour sortir 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.

Actions de sortie
Les actions Exit pour un état s’exécutent lorsque l’état est actif et qu’une transition valide depuis l’état existe. Un état effectue ses actions exit avant de devenir inactif.
Les actions de sortie sont précédées du préfixe exit ou ex, suivi de deux points obligatoires (:), eux-mêmes suivis d’une ou plusieurs actions. Séparez les différentes actions avec un retour chariot, un point-virgule (;) ou une virgule (,).
Remarque
Si l’état actuel n’est pas la source de la trajectoire de transition, Stateflow sort de l’état actuel et termine ses actions de sortie. Le parent devient alors l’état actuel. Ce cycle se répète jusqu’à ce que l’état actuel soit la source de la transition.
Exemple de sortie d’un état
Dans cet exemple, le diagramme Stateflow est initialisé et les actions entry sont effectuées pour StateA et StateA1. Pour ce diagramme, les actions during se sont produites deux fois. Un nouveau pas de temps a lieu, puis le diagramme s’active.
En suivant le Workflow d’exécution d’un diagramme Stateflow et le Workflow for Evaluating Transitions, StateB a été signalé pour l’entrée. StateA est la source de la transition. À ce pas de temps x = 5, y = 2 et z = 0.

En suivant le diagramme de flux pour les actions de sortie d’état jusqu’à ce que le diagramme passe en veille, les étapes d’exécutions pour ce diagramme sont, dans l’ordre :
StateAn’est pas un super-état deStateB.Effectuez les actions de sortie de
StateAet signalezStateAcomme inactif. À présent,z = 1.StateAn’a pas d’état parent.Accédez à Actions d’entrée.
Ces étapes terminent le workflow exit pour StateA. Cependant, le diagramme n’est pas encore en veille.
Effectuez le Workflow d’entrée dans un diagramme ou un état pour StateB pour terminer le pas de temps.
Sortir d’un état à l’aide de super-transitions
Une super-transition est une transition entre différents niveaux dans un diagramme. Une super-transition peut se produire entre un état dans un diagramme de niveau supérieur et un état dans l’un de ses sous-états, ou entre états stockés dans différents sous-états. Vous pouvez créer des super-transitions couvrant le nombre de niveaux souhaité dans votre diagramme.
Lorsque l’on sort d’un état grâce à une super-transition, après l’exécution des actions de sortie pour la source de la transition, les super-états de l’état sont signalés comme inactifs et les actions de sortie des super-états sont exécutées. Dans cet exemple, StateA2 est signalé pour exit et StateB1 est signalé pour entry. À ce stade, x = 5, y = 5 et z = 0.

En suivant le Workflow d’entrée dans un diagramme ou un état jusqu’à ce que le diagramme passe en veille, les étapes d’exécutions pour sortir de l’état StateA2 sont, dans l’ordre :
StateA2n’est pas un super-état de l’état de destination (StateB1).Effectuez les actions
exitpourStateA2et signalezStateA2comme inactif.StateA2a un état parent,StateA.StateAn’est pas un super-état de l’état de destination (StateB1).Effectuez les actions
exitpourStateAet signalezStateAcomme inactif.StateAn’a pas d’état parent.
Ces actions terminent le workflow exit pour StateA2 et StateA. Cependant, le diagramme n’est pas encore en veille.
Effectuez le Workflow d’entrée dans un diagramme ou un état pour StateB et StateB1 pour terminer le pas de temps.