Réserver une Démo
Pré. Proc.

Exemple : points d'entrée et de sortie (références de point de connexion)

Enterprise Architect prend en support les points d'entrée et de sortie et les références de points de connexion. Dans cet exemple, nous définissons deux Statemachines pour MyClass - Statemachine et SubMachine.

StateMachine Entry, Exit and Connection Points in Sparx Systems Enterprise Architect

SubMachine Entry, Exit and Connection Points in Sparx Systems Enterprise Architect

  • State1 est un State composite (également appelé State orthogonal car il a plusieurs régions) avec trois régions : RegionA , RegionB et RegionC
  • State2 est un State SubMachine appelant SubMachine , qui a 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 point de connexion sont définies sur State2 et liées 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 : Entry Point Entry

EntryPoint1 sur State1

Lorsqu'une transition ciblée sur EntryPoint1 est activée, State1 est activé suivi des régions contenues.

Entry point during simulation of executable state machine

  • 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 InitialC vers StateC1 démarre l'exécution

EntryPoint2 sur SubMachine

La séquence de déclenchement à simuler est : [ Séquence , EVENT_A].

Lorsqu'une transition ciblée sur 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.

Entry point during simulation of executable state machine

  • L'activation explicite se produit pour RegionX et RegionY , car chacun d'eux est entré 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 de InitialZ vers StateZ1 démarre l'exécution

Entrer d'un State : Default Entry

Cette situation survient lorsque l' State Composite est la cible directe d'une Transition.

Entrée par défaut de State2

La séquence de déclenchement à simuler est : [ Séquence , EVENTC].

Lorsqu'une transition ciblée directement sur State2 est activée, State2 est activé, suivi de l'activation par défaut pour toutes les régions de la sous-machine.

Entry point during simulation of executable state machine

  • L' State de RegionX est inactif car il ne définit pas de nœud initial
  • RegionY est activé via InitialY et la transition vers StateY2 est exécutée
  • RegionZ est activé via InitialZ et la transition vers StateZ1 est exécutée

Sortie State

État1 Sortie

  • Séquence de déclenchement [ EVENT_C , EVENT_A] : la région C est désactivée en premier, puis la région A et la région B ; après l'exécution du comportement de sortie de State1 , la transition sortant de ExitPoint1 est activée
  • Séquence de déclenchement [EVENT_A, EVENT_C] : RégionA et RégionB sont désactivées en premier, puis RégionC ; après l'exécution du comportement de sortie de State1 , la transition sortant directement de State1 est activée

Sortie État2

Séquence de déclenchement [EVENT_C, EVENT_A], donc l'état actuel ressemble à ceci :

Entry point during simulation of executable state machine

  • Séquence de déclenchement [EVENT_A, EVENT_C, EVENT_C, EVENT_B, EVENT_B] : RegionX est désactivée en premier, puis RegionY et RegionZ en dernier ; après l'exécution du comportement de sortie de State2 , la transition sortant directement de State2 est activée
  • Séquence de déclenchement [EVENT_A, EVENT_B, EVENT_B, EVENT_C, EVENT_C] : RegionX est désactivée en premier, puis RegionZ et RegionY en dernier ; après l'exécution du comportement de sortie de State2 , la transition sortant de CPR_Exit3 est activée ( ExitPoint3 sur SubMachine est lié à CPR_Exit3 de State2 )
  • Séquence de déclenchement [EVENT_C, EVENT_C, EVENT_B, EVENT_B, EVENT_A] : RegionY est désactivée en premier, puis RegionZ et RegionX en dernier ; après l'exécution du comportement de sortie de State2 , la transition sortant de CPR_Exit2 est activée ( ExitPoint2 sur SubMachine est lié à CPR_Exit2 de State2 )