Machine abstraite, représentée par un graphe dont les noeuds sont les états et les liens les transitions, à l’aide duquel elle contrôle l’état et les transformations d’un objet
Note terminologique
En mathématiques : machine à états finis.
Introduction de la notion
Une des sources irréductibles de la complexité, dans nos systèmes, provient du fait que les objets se transforment, autrement dit qu’ils passent d’un état à un autre, sous certaines conditions à vérifier, et que leur comportement dépend de leur état présent.
Ce phénomène est maintenant bien identifié sous l’appellation “cycle de vie des objets métier”, entre autres.
Faute de donner une forme adéquate à ce phénomène, les approches traditionnelles ont alourdi les logiciels, en pulvérisant le cycle de vie et en le ramenant à des séquences de contrôle disséminées dans le système informatique.
La bonne approche, normalement généralisée depuis l’avénement des méthodes orientées objets, consiste à représenter formellement ces cycles de vie par des automates à états.
Commentaire
La notation standard UML propose un type de diagramme pour modéliser les automates à états : le diagramme d’états.
Il outille toutes les approches de modélisation, à commencer par celle de l’aspect sémantique, la vraie place des cycles de vie des objets métier. Au niveau logiciel, on s’efforce de préserver l’unité de l’automate, voire de lui donner une expression qui permettra de le faire évoluer à moindre coût.
La notation CMMN s’approche de la notion, sans égaler la richesse d’expression du diagramme d’états en UML, loin s’en faut.
Termes connexes : automate, machine à états (synonyme), objet métier, cycle de vie, dérivation, qualité.