Machines à états finis

Report
Machines à états finis
Introduction
• Les Machines à états finis sont un outil de modélisation formelle basé sur
la théorie des automates.
• Elles ont été utilisées bien avant l'apparition d'UML, notamment pour la
modélisation de protocoles, d'analyseurs syntaxiques, etc…
• Une machine à états finis est construite à partir de trois éléments de base :
– Des états,
– des évènements,
– des transitions
• Elle sera représentée via un diagramme d'états ou Statechart Diagram
Forme générale d'un diagramme d'état
• Le dispositif modélisé est supposé se trouver dans un état
précis à un moment précis, et l'apparition d'un évènement
(stimuli, sollicitation, …) est susceptible de le faire passer dans
un autre état, suivant une transition.
Forme générale d'un diagramme d'état
• La machine ci-dessus passera de etat2 à etat1
lorsque
l'événement
#evt1
apparaîtra.
Dans l'état etat2, elle pourrait encore capter un
autre événement, à savoir #fin.
État et transition
• Un état est caractérisé par la ou les valeurs d’une ou plusieurs
grandeurs ou variables (les variables d'état).
• La transition entre deux états est supposée instantanée.
Transition
• Forme complète d’une transition
Transition
état1
# even e m en t( arg )[ arg> = 0 ] / ferm eP o rte ^ Su p e rvisio n .# p o rteF erm ée
état2
État
On Entry
Do
OnExit
État
• Deux formes différentes :
Déclenche à nouveau les actions
d’entrée et de sortie
État
#état1 / opération
L ecture N om
entry:enE ntrant
exit:enSortant
do:activité
on évenem ent:
#nom L u / afficherO K
L ecture m otde passe
entry:Invite m otde passe
Sous diagramme
• Un état peut être décrit par un sous
diagramme d’états.
Sous diagramme
Historique
L’état interne est préservé
(possède une mémoire)
Exemple : Lecteur de carte
Conclusion
• Une machine à états peut servir à modéliser n'importe quel
type de dispositif ou système : un dispositif électronique,
électrique, mécanique, un élément logiciel, etc.
• Une machine à états finis servira donc essentiellement, dans
UML, à modéliser le comportement de nos éléments logiciels,
donc des objets. A ce titre, il modélise leur comportement
dynamique.
• Une machine à états sera donc généralement associée à une
classe dont elle modélisera le fonctionnement de toutes les
instances.

similar documents