lundi 7 septembre 2015

GRAF–Les automates finis 1/2


Il est fréquent d’utiliser la notation BPMN pour modéliser un processus métier. Cette notation présente cependant deux inconvénients majeurs :

  • Cette modélisation est complexe,
  • L’implémentation d’un modèle BPMN est délicate sans l’aide d’un moteur de BPEL


Dans de nombreux cas, l’implémentation d’un processus métier ne requiert pas l’exécution de traitements en parallèle. Les automates finis représentent Une alternative simple à modéliser et à implémenter.

Un automate fini (on dit parfois, par une traduction littérale maladroite de l'anglais, machine à états finis, au lieu de machine avec un nombre fini d'états), finite-state automaton ou finite-state machine (FSA, FSM), est une machine abstraite constituée d'états et de transitions. Son comportement est dirigé par une succession d’événements en entrée : l'automate passe d'état en état, suivant les transitions, à la réception de chaque événement reçu.
 
Dessin1

Dans GRAF, un automate fini est associé à un composant ou un module, de préférence de type orchestration (couleur violette) afin de décrire de façon détaillée son comportement lorsqu’il reçoit différents flux
Pour intégrer la modélisation de l’automate avec les interactions du composant qui l’implémente et mieux préparer la réalisation, GRAF classifie les événements reçus en relation avec les types de flux de l’architecture logique :
  • Invocation synchrone reçue,
  • Message asynchrone reçu,
  • Événement temporel
Les invocations synchrones se subdivisent en deux catégories :
  • celles qui proviennent de l’IHM de l’application qui exécute l’automate
  • celles qui proviennent d’un composant, éventuellement externe à l’application
Un événement (non temporel) reçu par un automate se représente par une petite flèche en couleur dirigée vers la gauche, collée à la transition qu’il déclenche. Un événement temporel se représente par une petite horloge :
aut2



Lorsque l’automate déclenche une transition pour passer d’un état à un autre, il peut déclencher certaines actions.
Pour intégrer la modélisation de l’automate avec les interactions du composant qui l’implémente et mieux préparer la réalisation, GRAF classifie les actions déclenchées en relation avec les flux et les composants de l’architecture logique :

  • Invocation synchrone émise,
  • Message asynchrone émis,
  • Autre traitement

 
aut3

 

Enfin, pour compléter le modèle, l’automate fini peut, à la réception d’un événement ou après le déclenchement d’une action, tester une condition. Suivant la valeur de la condition il pourra déclencher une transition ou une autre.
 
aut4