170 likes | 342 Views
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…
E N D
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
État On Entry Do OnExit
Déclenche à nouveau les actions d’entrée et de sortie État • Deux formes différentes :
Sous diagramme • Un état peut être décrit par un sous diagramme d’états.
L’état interne est préservé (possède une mémoire) Historique
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.