Le diagramme d'état
Le diagramme d'état décrit les transitions entre l'états et les actions que le système ou ses parties réalisent en réponse à un évènement.
Il s'agit d'une représentation séquentielle des états d'un système.
Le diagramme d'état se compose
- d'états
- de transitions
- d'évènements
- de conditions
- d'effets
- d'activités
Un état (state) représente une situation d'un bloc fonctionnel pendant laquelle
- il satisfait une certaine condition
- il exécute une certaine activité
Les différents états sont reliés entre eux par des transitions.
Une transition est liée à un évènement. Lorsque l'évènement se produit, il peut provoquer le changement d'état de la fonction qui lui est liée. Une transition peut être complétée par une condition (guard) notée entre croche, des paramètres notés entre parenthèse et d'une activité.
Ainsi la syntaxe complète de la transition serait : evenement[condition](paramètres)/activité
Dans l'exemple ci-dessus le basculement du bouton marche-arrêt provoque un évènement qui place l'amplificateur en position d'Arrêt ou de Fonctionnement.
A la création de l'instance du graphe, un jeton virtuel est placé au point de départ. Si les conditions de la transistion le permettent, le jeton quitte le point de départ et rejoint le premier état. L'entrée du jeton provoque l'exécution de la tâche d'entrée de l'état (entry bahavior).Pendant le temps de présence du jeton, l'activité (do active) de l'état se réalise. Quand une transition pour sortir de l'état est vérifiée, le jeton quitte l'état et provoque l'exécution de l'activité de l'action de sortie (exit behavior). Le graphe reste actif tant que le jeton n'a pas rejoint la sortie.
Si plusieurs transitions peuvent être franchies, une seule le sera de manière non déterministe. Il faut donc être attentif à la gestion de ces situations.
Le diagramme d'état peut comporter des super-états (submachine state) qui encapsulent d'autres diagrammes d'états. Ils permettent de "factoriser" des transitions déclenchées par le même évènement et amenant vers le même état cible (brancher, débrancher) tout en spécifiant des transitions particulières entre les sous-états.
La mémorisation est modélisée par un pseudo état History symbolisé par la lettre H. L'activation de ce pseudo-état permet au super état de se souvenir du dernier sous-état qui était actif avant une transitsion sortante.
Dans l'exemple ci-dessus, grâce au pseudo état History le fait de débrancher la RADIO provoque la mémorisation des paramètres programmés. Lorsque l'appareil sera à nouveau rebranché les paramètres mémorisés seront repris.
On peut définir qu'une mémorisation (History) se propage quelque soit le niveau de profondeur des diagrammes d'état. On utilise alors le Deep History représenté par H*.
Lycée Théodore DECK - NB2011