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).