C'est vraiment un blog bien fourni, il y a vraiment des tas de trucs géniaux, beaux, étonnants ou drôles.
Je me suis baladé hier soir et un peu ce matin.
Et puis la sélection musicale est de qualité dans le genre électro abstract, ambient, noisy, minimaliste, glitch, etc etc...
C'est une représentation de l'automate d'états (y'a plein de noms). Déjà c'est pas séquentiel comme le grafcet, c'est assez combinatoire dans l'esprit.
Dans les rectangles bleus tu as les états autorisés de ta machine (ou de ton processus c'est pareil). Les flèches représentent les évènements qui peuvent faire changer d'état.
EX :
- T'es au repos en SOCK_CLOSED
- Tu reçoit une demande OPEN pour une connexion TCP ? tu passes dans l'état SOCK_INIT (TCP)
- De là un CONNECT t'emmène en SOCK_ESTABLISHED mais un listen en SOCK_LISTEN
- Si tu es en SOCK_ESTABLISHED, un OPEN ou un LISTEN tu t'en fous parce que ce sont des évènements qui n'ont rien à faire avec cet état. Par contre un CLOSE te ramène en SOCK_CLOSED.
L'avantage de ça c'est que la programmation derrière est hyper simple. Une variable représente l'état (la case bleue) et des CASE (ou des IF) font les actions qui parfois se résument à un changement d'état.
Nous on a abandonné depuis longtemps le GMMA pour les machines auto, on travaille avec des automates d'états finis comme celui-ci, un par mode (AUTO, MANUEL, CY/CY...). C'est à la fois conceptuel et très pratique.