Pré. | Proc. |
Exemple : points d'entrée et de sortie (références de points de connexion)
Enterprise Architect fournit support pour les points d'entrée et de sortie, ainsi que pour les références de points de connexion. Dans cet exemple, nous définissons deux Statemachines pour MyClass : Statemachine et SubMachine.
- L'État 1 est un State composite (également appelé State orthogonal car il comporte plusieurs régions) avec trois régions : RégionA , RégionB et RégionC
- State2 est un State de sous-machine appelant SubMachine , qui possède trois régions : RegionX , RegionY et RegionZ
- EntryPoint1 est défini sur State1 pour activer deux des trois régions ; EntryPoint2 est défini sur SubMachine pour activer deux des trois régions
- ExitPoint1 est défini sur State1 ; deux points de sortie ExitPoint2 et ExitPoint3 sont définis sur SubMachine
- Les références de points de connexion sont définies sur State2 et se lient aux points d'entrée/sortie de la sous-machine de saisie
- Les nœuds initiaux sont définis pour démontrer l'activation par défaut des régions
Entrer d'un State : Point d'entrée Entrée
Point d'entrée 1 sur État 1
Lorsqu'une transition ciblant EntryPoint1 est activée, State1 est activé suivi des régions contenues.
- L'activation explicite se produit pour RegionA et RegionB , car chacune d'elles est entrée par une transition se terminant sur l'un des sommets contenus dans la région
- L'activation par défaut se produit pour RegionC , car elle définit un pseudo-état initial InitialC et la transition provenant de l' InitialC vers l'étatC1 démarre l'exécution
EntryPoint2 sur SubMachine
La Séquence Déclencheur à simuler est : [EVENT_C, EVENT_A].
Lorsqu'une transition ciblant la référence de point de connexion CPR_Entry sur State2 est activée, State2 est activé, suivi de l'activation de la sous-machine via les points d'entrée de liaison.
- L'activation explicite se produit pour RegionX et RegionY , car chacune d'elles est entrée par une transition se terminant sur l'un des sommets contenus dans la région - StateX1 dans RegionX , StateY1 dans RegionY
- L'activation par défaut se produit pour RegionZ , car elle définit un pseudo-état initial InitialZ et la transition provenant d' InitialZ vers StateZ1 démarre l'exécution
Entrer d'un State : Entrée par défaut
Cette situation se produit lorsque l’ State composite est la cible directe d’une transition.
Entrée par défaut de l'état 2
La Séquence Déclencheur à simuler est : [EVENT_A, EVENTC].
Lorsqu'une transition ciblant directement l'État 2 est activée, l'État 2 est activé, suivi de l'activation par défaut pour toutes les régions de la sous-machine.
- State de RegionX est inactif car il ne définit pas de nœud initial
- La région Y est activée via InitialY et la transition vers l'état Y2 est exécutée
- RegionZ est activé via InitialZ et la transition vers StateZ1 est exécutée
Sortie State
État 1 Sortie
- Séquence Déclencheur [EVENT_C, EVENT_A] : la région C est désactivée en premier, puis la région A et la région B ; une fois le comportement de sortie de l'état 1 exécuté, la transition sortant de ExitPoint1 est activée
- Séquence Déclencheur [EVENT_A, EVENT_C] : les régions A et B sont désactivées en premier, puis la région C ; une fois le comportement de sortie de l'état 1 exécuté, la transition sortant directement de l'état 1 est activée
Sortie de l'état 2
Déclencheur Séquence [EVENT_C, EVENT_A], donc l'état actuel ressemble à ceci :
- Séquence Déclencheur [EVENT_A, EVENT_C, EVENT_C, EVENT_B, EVENT_B] : la région X est désactivée en premier, puis la région Y et la région Z en dernier ; une fois le comportement de sortie de l'état 2 exécuté, la transition sortant directement de l'état 2 est activée
- Séquence Déclencheur [EVENT_A, EVENT_B, EVENT_B, EVENT_C, EVENT_C] : RegionX est désactivé en premier, puis RegionZ et RegionY est le dernier ; une fois le comportement de sortie de State2 exécuté, la transition sortant de CPR_Exit3 est activée ( ExitPoint3 sur SubMachine est lié à CPR_Exit3 de State2 )
- Séquence Déclencheur déclenchement [EVENT_C, EVENT_C, EVENT_B, EVENT_B, EVENT_A] : la région Y est désactivée en premier, puis la région Z et la région X en dernier ; une fois le comportement de sortie de l'état 2 exécuté, la transition sortant de CPR_Exit2 est activée ( ExitPoint2 sur la sous-machine est lié à CPR_Exit2 de l'état 2 )