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

Image du cours
ActionDescription
entryPermet 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.
exitPermet de spécifier une action exécutée à la sortie de l'état. Une action "exit" permet souvent de sortir "proprement" d’un état.
doActivité 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 :

Image du cours Image du cours

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.

Image du cours

Une transition réflexive entraîne une sortie puis une nouvelle entrée dans ce même état.

Image du cours

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.

Image du cours

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

Image du cours

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.

Image du cours

État composite

Un état composite (aussi appelé super-état) permet d’englober plusieurs sous-états.

Image du cours

État composite orthogonal

Un état orthogonal permet de réaliser plusieurs opérations en parallèle.

Image du cours