Machine à états : terme d’automate expliqué simplement
SéquencesComme le sélecteur d’un lave-linge : lavage, rinçage, essorage, chacun avec son propre travail. Une machine à états se souvient de l’étape où en est une tâche, et ne fait que ce que cette étape permet.
Un programme qui mémorise dans quelle partie d’une tâche il se trouve. Il définit les commandes et les changements permis pour chaque partie.
Machine à états sur une vraie machine
Une machine à états est un programme qui mémorise dans quelle partie d’une tâche il se trouve, avec une seule valeur stockée. Cette valeur est l’état. Dans chaque état, le programme sait quelles commandes donner et quels changements sont permis.
Elle s’écrit en général en texte, avec CASE et un nombre comme State. 10 peut vouloir dire Running et 30 Held. Le nombre n’est qu’un code, pas une durée.
C’est une autre façon d’écrire une séquence. Un diagramme la dessine, et une machine à états la garde dans le code. Avant d’en écrire une, liste les commandes de chaque état et ses sorties permises.
Machine à états: un exemple commenté
Un lot peut être Running, Held ou Complete. Appuie sur Hold pendant qu’il est Running et l’état passe à Held, où les commandes sont désactivées. Chaque état a des commandes différentes, donc le programme ne peut pas les mélanger.
Machine à états: une erreur courante
Changer l’état depuis partout dans le programme. Garde les sorties de chaque état dans sa propre branche, pour pouvoir les vérifier au même endroit.
Toujours pas sûr de celui-ci ? Pose la question dans le Vestiaire.