Statecharts
From Wikipedia, the free encyclopedia
Les statecharts ont été introduits en 1987 par David Harel dans un article fondateur intitulé Statecharts: A Visual Formalism for Complex Systems[1]. L’objectif était d’étendre les automates finis classiques afin de modéliser des systèmes réactifs complexes, en ajoutant des notions hiérarchiques, de parallélisme et de communication entre états. Cette formalisation est devenue un standard dans l’ingénierie logicielle et l’automatisation industrielle.
Formalisation avec SCXML
Pour standardiser l’usage des statecharts, le W3C a défini le langage SCXML (State Chart XML[2]).
SCXML est une description formelle et exécutable des machines à états, basée sur XML mais enrichie de sémantique de programmation: états, transitions, événements, conditions et actions. Contrairement à XML qui n’est qu’un markup language destiné au balisage de données, SCXML est un véritable langage de programmation déclaratif, permettant l’exécution de comportements.
En pratique, un interpréteur SCXML exécute le graphe d’états défini dans le fichier. SCXML peut être utilisé seul ou intégré dans d’autres systèmes pour orchestrer des comportements complexes.

