Diagramme d'états-transitions
- Objectifs:
- Ce diagramme sert à représenter des automates d'états finis, sous
forme de graphes d'états, reliés par des arcs orientés qui décrivent
les transitions.
- Les diagrammes d'états-transitions permettent de décrire les changements
d'états d'un objet ou d'un composant, en réponse aux interactions
avec d'autres objets/composants ou avec des acteurs.
- Éléments de base:
- États: valeurs des attributs représentées
par des noeuds
- Un diagramme d'état peut contenir plusieurs états
initiaux, plusieurs états finaux
- Il peut contenir un état historique (sauvegarde de
l'état d'exécution)
- Transitions: événements représentés
par des arcs orientés
- Une transition représente le passage instantané d'un état
vers un autre.
- Une transition est déclenchée par un événement. En d'autres
termes : c'est l'arrivée d'un événement qui conditionne la transition.
- Les transitions peuvent aussi être automatiques, lorsqu'on
ne spécifie pas l'événement qui la déclenche.
- En plus de spécifier un événement précis, il est aussi possible
de conditionner une transition, à l'aide de "gardes" : il s'agit
d'expressions booléennes, exprimées en langage naturel (et encadrées
de crochets).
Notation graphique d'un état, transition et événement


Exemple de transition conditionnelle

Exemple de diagramme d'états-transitions d'une
machine à laver les voitures
En phase de lustrage ou de lavage, le client peut appuyer
sur le bouton d'arrêt d'urgence. S'il appuie sur ce bouton, la machine
se met en attente. Il a alors deux minutes pour reprendre le lavage ou
le lustrage (la machine continue en phase de lavage ou de lustrage, suivant
l'état dans lequel elle a été interrompue), sans quoi la machine s'arrête.
En phase de séchage, le client peut aussi interrompre la machine. Mais
dans ce cas, la machine s'arrêtera définitivement (avant de reprendre
un autre cycle entier).

|