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

Statemachines

Statemachines illustrent comment un élément (souvent une classe) peut se déplacer entre States , en classant son comportement en fonction déclencheurs de transition et des gardes contraignants.

Vous générez des éléments et des connecteurs Statemachine à partir des pages « State » de la boîte à outils Diagramme .

Appellation

  • Statemachines étaient autrefois connues sous le nom de diagrammes State
  • Les représentations Statemachine dans UML sont basées sur la notation des diagrammes State Harel et sont donc parfois appelées diagrammes State

Tableaux State

Vous pouvez afficher une Statemachine sous forme de diagramme ou de tableau dans l'un des trois formats de relation.

Sélectionnez le format d'affichage

Étape

Action

Voir aussi

1

Cliquez-droit sur l'arrière-plan diagramme et sélectionnez l'option 'Statechart Editor'.

2

Sélectionnez l’option d’affichage appropriée :

  • Diagramme
  • Tableau (État- State suivant)
  • Tableau (État-Déclencheur)
  • Tableau (État déclencheur)
Tableau Statemachine

Exemple Diagramme

Ce diagramme illustre quelques fonctionnalités des Statemachines .

UML StateMachine chart example in Sparx Systems Enterprise Architect.

States Diagramme composite

Le symbole de maillon de chaîne dans le coin inférieur droit de l' State enregistré indique qu'il s'agit d'un State avec un diagramme composite.

Vous avez deux options pour afficher le contenu du diagramme composite d'un State . Tout d'abord, vous pouvez double-cliquer sur l'élément parent pour afficher son diagramme enfant séparément, comme illustré ici :

A Composite UML StateMachine chart using Sparx Systems Enterprise Architect.

Par défaut, le diagramme enfant s'affiche dans un cadre étiqueté qui représente l' object parent dans le contexte du diagramme enfant. Vous pouvez cliquez-droit sur l'arrière-plan et sélectionner l'option 'Masquer le cadre Diagramme ' pour masquer le cadre, et sur l'option 'Afficher le cadre Diagramme ' pour afficher à nouveau le cadre.

Alternativement, vous pouvez cliquez-droit sur l'élément composite sur le diagramme principal et sélectionner l'option « Avancé | Afficher le Diagramme composite », qui affiche à nouveau le diagramme enfant dans un cadre étiqueté, mais cette fois dans le contexte du diagramme parent.

A Composite UML StateMachine chart using Sparx Systems Enterprise Architect.

ProtocoleStateMachines

La spécification UML de l'OMG ( UML Superstructure Spécification , v2.5, sect. 14.4) stipule :

"Les ProtocolStateMachines sont utilisées pour exprimer des protocoles d'utilisation. Les ProtocolStateMachines expriment les séquences légales d'occurrences d'événements auxquelles les comportements d'un BehavioredClassifier associé doivent se conformer. La notation Statemachine est un moyen pratique de définir l'ordre d'invocation des fonctionnalités comportementales d'un classificateur. Les ProtocolStateMachines peuvent être associées à des classificateurs, des interfaces et des ports. "

Pour créer une ProtocolStateMachine, créez un élément Statemachine et ouvrez la fenêtre Propriétés de cet élément. Sélectionnez l'onglet 'Behavior' et, sur celui-ci, cochez la case 'Protocol Statemachine '. L'élément sur le diagramme a maintenant le mot <<protocol>> au-dessus du nom de l'élément.

Icônes de la boîte à outils des éléments Diagramme Statemachine

Icône

Description

Voir aussi

State element

Un State représente une situation dans laquelle une condition invariante est remplie ; cette condition peut être statique (attente d'un événement) ou dynamique (exécution d'un ensemble d'activités).

State
State Machine element

Un élément Statemachine est un conteneur pour des groupes d'éléments State associés.

Statemachine
Initial element

L'élément initial représente un pseudo-état utilisé pour désigner l'état par défaut d'un State composite ; il peut y avoir un sommet initial dans chaque région de l' State composite.

Initial
Final element

L'élément Final de l'activité indique l'achèvement d'une activité ; une fois le Final atteint, toute exécution dans le diagramme d'activité est interrompue.

Final
History element

Il existe deux types de pseudo-états d'historique définis dans UML : l'historique superficiel et l'historique profond.

Histoire
Synchronize element

Un état de synchronisation est utile pour indiquer que les chemins simultanés d'une Statemachine sont synchronisés. Ils sont utilisés pour diviser et rejoindre des périodes de traitement parallèle.

Synchronisation
Object element

Un Object est une instance particulière d'une classe au moment exécuter .

Object
Choice element

Le pseudo-état Choix est utilisé pour composer des chemins de transition complexes, où le chemin de transition sortant est déterminé par des conditions d'exécution dynamiques.

Choix
Junction element

Les pseudo-états de jonction sont utilisés pour concevoir des chemins de transition complexes dans diagrammes Statemachine . Une jonction peut être utilisée pour combiner ou fusionner plusieurs chemins en un chemin de transition partagé.

Jonction
Entry element

Les pseudo-états de point d'entrée sont utilisés pour définir le début d'une Statemachine . Un point d'entrée existe pour chaque région, dirigeant la configuration initiale de l'état concurrent.

Point d'entrée
Exit element

Les points de sortie sont utilisés dans les éléments Statemachine et diagrammes Statemachine pour désigner le point où la machine est sortie et la transition à la source de ce point de sortie.

Point de sortie
Terminate element

Le pseudo-état Terminate indique que dès l'entrée dans son pseudo-état, l'exécution de la Statemachine se termine.

Mettre fin
Horizontal Fork/Join element

Un élément Fork/Join peut être utilisé pour : 1) diviser un flux unique en plusieurs flux simultanés, 2) joindre plusieurs flux simultanés ou 3) joindre et forker un certain nombre de flux entrants vers un certain nombre de flux sortants.

Fourche/Jointure Fourchette Rejoindre
Vertical Fork/Join element

Un élément Fork/Join peut être utilisé pour :

1) Diviser un flux unique en plusieurs flux simultanés

2) Rejoignez un certain nombre de flux simultanés ou

3) À la fois joindre et forker un certain nombre de flux entrants vers un certain nombre de flux sortants

Icônes de la boîte à outils du connecteur Diagramme Statemachine

Icône

Description

Voir aussi

State Flow Transition connector

Un connecteur de transition représente le mouvement logique d'un State à un autre dans un diagramme Statemachine .

Transition
Object Flow connector

Un flux Object connecte deux éléments, avec des données spécifiques qui le traversent, modélisation une transition active.

Flux Object

Notes

  • Les éléments State peuvent s'afficher avec ou sans ligne qui les traverse ; la ligne, comme illustré, s'affiche lorsque l'élément possède fonctionnalités telles que des opérations (qui peuvent être masquées) ou lorsque la case à cocher « Afficher le compartiment State » est sélectionnée dans la page « Objets » de la boîte de dialogue « Préférences »
  • Il est possible d'ajouter des éléments Point d'entrée et Point de sortie à la bordure d'un élément State ou Statemachine - cliquez-droit sur l'élément dans le diagramme et sélectionnez l'option 'Nouvel élément enfant | Point d'entrée' ou 'Point de sortie' ; si l'élément est un élément composite et représenté par un cadre, vous pouvez également cliquez-droit sur le cadre sélectionné et ajouter les éléments Point d'entrée ou Point de sortie
  • Si vous avez des points d'entrée et/ou des points de sortie sur une Statemachine qui est un classificateur pour un autre State , vous pouvez créer des références de point de connexion au classificateur à partir de l'autre State
  • Il est également possible d'ajouter des régions à un cadre d'élément State ou d'élément Statemachine ; cliquez-droit sur le cadre sélectionné et sélectionnez l'option « Définir les sous-états concurrents »
  • Vous pouvez effectuer des simulations de modèles sur des modèles Statemachine , et le modèle que vous simulez peut contenir des éléments de plusieurs Paquetage ; pour inclure les éléments externes dans la simulation, vous devez créer un diagramme Paquetage contenant le Paquetage « parent » et les Paquetages « externes » contenant les éléments externes, puis créer un connecteur d'importation Paquetage du Paquetage parent vers chaque Paquetage externe

Apprenez Plus