Diagramme états-transitions

Un diagramme états-transitions est un schéma utilisé en génie logiciel pour représenter des automates déterministes. Il fait partie du modèle UML et s'inspire principalement du formalisme des statecharts et rappelle les grafcets des automates. S'ils ne permettent pas de comprendre globalement le fonctionnement du système, ils sont directement transposables en algorithme. Tous les automates d'un système s'exécutent parallèlement et peuvent donc changer d'état de façon indépendante.

Exemple de diagramme états-transitions

Éléments

Transitions

En plus des états de départ (au moins un) et d'arrivée (nombre quelconque), une transition peut comporter les éléments facultatifs suivants :

  • Un évènement
  • Une condition de garde
  • Une liste d'actions

Quand l'événement se produit alors que les états de départ sont actifs et que la condition de garde est vraie alors les actions seront déclenchées.

États

Cette exécution est enrichie lorsque les états définissent une action d'entrée et une action de sortie : l'action de sortie de l'état de départ est exécutée d'abord, puis l'action de la transition, puis l'action de l'état d'arrivée.

Autres éléments

Les points de jonction ne sont qu'un élément graphique permettant de regrouper plusieurs segments de transition de façon à rendre le schéma plus lisible. Les points de décision permettent de simuler un choix : si-alors-sinon, qui entraîne deux états différents.

Représentation graphique

Le formalisme impose un diagramme par classeur.

  • L'état initial est représenté par un cercle rempli ; il est obligatoire
  • Le cercle creux dénote l'état de fin; il est facultatif. Plusieurs états finaux peuvent coexister.
  • Le rectangle à coins arrondis dénote un état. Il peut être nommé. Les actions internes à l'état peuvent être notées dans la partie inférieure du rectangle, séparée du nom par une barre horizontale
  • La flèche dénote la transition entre deux états
  • Les sous-états non concurrents peuvent être dessinés à l'intérieur de l'état
  • Des traits pointillés peuvent être utilisés pour séparer en zones d'exécution concurrentes un état. Les sous-états d'une même zone restent non concurrents
  • Les points de décision sont représentés par des losanges
  • Les points de jonction sont représentés par des cercles pleins (identique à l'état initial)

Transposition en langage structuré

À l'état initial ne correspond pas le constructeur de la classe, à l'état final le destructeur de la classe.

Voir aussi

Logiciels libres

  • Portail de l’informatique
Cet article est issu de Wikipedia. Le texte est sous licence Creative Commons - Attribution - Sharealike. Des conditions supplémentaires peuvent s'appliquer aux fichiers multimédias.