Graphe d'états
Dans ce chapitre, nous allons nous intéresser à la modélsation des états dans lesquels se trouvent les objets techniques.
1/ Le langage UML
Le Langage de Modélisation Unifié, de l'anglais Unified Modeling Language (UML), est un langage de modélisation graphique à base de pictogrammes conçu pour fournir une méthode normalisée pour visualiser la conception d'un système.
Il est couramment utilisé en développement logiciel et en conception orientée objet.
2/ Objectif : Décrire le comportement dynamique d'une entité (logiciel, composant, objet...)
Le diagramme états-transitions (State Machine Diagram ou Statechart Diagram) fait parti des diagrammes comportementaux. Son rôle, est de décrire le fonctionnement d’une machine (ou d’un objet) ayant un comportement séquentiel. Il représente les différents états (situations) dans lesquels peut se trouver la machine (ou l’objet) ainsi que la façon dont cette machine (ou l'objet) passe d’un état à l’autre en réponse à des événements.
Notion d'état
Un système est à un moment donné dans un état particulier, identifié par un nom. À un état correspondent des actions, une activité. Le symbole graphique est de type Block et l’état est décrit clairement.
Il existe deux états spécifiques qui sont :
- L'état initial : état dans lequel se trouve le système ou l’objet au départ de la séquence correspondant par exemple à la mise sous énergie ou la création de l’objet.
- L'état final : état correspondant à la fin du fonctionnement du système ou la destruction de l’objet.
Activité et action
Il est possible de rattacher à un état une activité, une action d’entrée et une action de sortie. Elles possèdent des noms d'événement prédéfinis correspondant à des déclencheurs particuliers : "entry", "exit" et "do".
| Action | Description |
|---|---|
| entry | Permet de spécifier une action exécutée dès l'entrée dans l'état. Ce type d’action constitue souvent les configurations ou initialisations nécessaires à certains états. |
| exit | Permet de spécifier une action exécutée à la sortie de l'état. Une action "exit" permet souvent de sortir "proprement" d’un état. |
| do | Activité exécutée tant que le système ou l’objet se trouve dans l'état et dès que l'action liée à "entry" est terminée. Si une transition externe se déclenche pendant que l'activité "do" est en cours, cette dernière est interrompue et l'activité "exit" de l'état s'exécute. |
Transition et évènement
Les états sont reliés entre eux par des connexions unidirectionnelles appelées transitions externes. Elles sont représentées par une flèche. Une transition externe constitue un changement d’état allant de l’état source à un état cible. Un état est actif lorsqu’une transition y mène et devient inactif lorsqu’une transition le quitte. Elle peut être déclenchée par un évènement, par une condition ou automatiquement Transition implicite Il existe quatre types d’évènements associés à une transition :
Une condition de garde est une expression booléenne faisant intervenir des entrées et/ou des variables internes. Elle autorise le passage d’un état à un autre.
Une transition réflexive entraîne une sortie puis une nouvelle entrée dans ce même état.
Point de jonction ou de décision
Un point de jonction est représenté par un cercle plein. Il permet de partager des segments de transition afin d'obtenir une notation plus compacte ou plus lisible des chemins alternatifs. Dans l’exemple la transition entre « Etat 1 » et « Etat 4 » est franchie si les évènements « e1 » et « e4 » sont déclenchés dès le début du franchissement.
Un point de décision possède une entrée et au moins deux sorties. Dans l’exemple après le déclenchement l’évènement « e1 », si l’évènement « e2 » est déclenché, la transition entre « Etat 1 » et « Etat 2 » est franchie. La transition entre « Etat 1 » et « Etat3 » est franchie si l’évènement « e3 » est déclenché.
Bifurcation et Union
Une bifurcation active deux états à partir d'un état antérieur. Une union active un état à partir de deux états précédents.
État composite
Un état composite (aussi appelé super-état) permet d’englober plusieurs sous-états.
État composite orthogonal
Un état orthogonal permet de réaliser plusieurs opérations en parallèle.
