Séquences en OU

En mode de jetons multiples, l'utilisateur peut définir le comportement de l'évaluation des conditions de transition dans les divergences en OU.

Les solutions suivantes sont possibles :

  • Traitement de gauche à droite avec arrêt après la première transition active (choix de 1 parmi n). Cela correspond au comportement des séquences en OU avec jeton unique.

  • Traitement en parallèle de toutes les transitions de la divergence en OU (choix de x parmi n)

Choix de x parmi n

Dans le mode multijeton, plusieurs commutations peuvent être validées parallèlement (choix de x parmi n). Les branches à exécuter sont déterminées par le résultat des conditions des transitions qui suivent la divergence en OU. Les transitions des branches sont toutes exécutées. Toutes les branches dont les conditions de transition sont satisfaites sont activées.

Si aucune des transitions n'est vraie, l’étape validée à ce moment-là reste valide.

Choix de x parmi n :

Si...

Alors

Si S_5_10 est active et que la condition de transition a est vraie alors que b est fausse,

une séquence est exécutée de S_5_10 vers S_5_11.

Si S_5_10 est active et que la condition de transition a est fausse alors que b est vraie,

une séquence est exécutée de S_5_10 vers S_5_12.

Si S_5_10 est active et que les conditions de transition a et b sont vraies,

une séquence est exécutée de S_5_10 vers S_5_11 et S_5_12.

L'activation en parallèle des deux branches en OU génère un deuxième jeton. Les deux jetons fonctionnent maintenant en parallèle, ce qui veut dire que les étapes S_5_11 et S_5_12 sont actives en même temps.

Jeton 1 (S_5_11)

Jeton 2 (S_5_12)

Si...

Alors

Si...

Alors

Si la condition de transition c est vraie,

une séquence est exécutée de S_5_11 vers S_5_13.

Si la condition de transition d est vraie,

une séquence est exécutée de S_5_12 vers S_5_13.

Si S_5_13 est encore active (jeton 1) en raison de l'activation de la condition de transition c, le jeton 2 s'arrête et la séquence est exécutée à nouveau en mode monojeton. Si S_5_13 n'est plus active (jeton 1), elle est réactivée par le jeton 2 et les deux jetons continuent d'opérer en parallèle (mode multijeton).

Si vous désirez que les divergences en OU soient validées de manière exclusive dans ce mode, vous devez le mentionner explicitement dans la logique de transition.

Exemple :

Terminaison d'une divergence en OU par une convergence en ET

Si une divergence en OU est refermée par une convergence en ET, cela peut déclencher un blocage de la séquence.

Terminaison d'une divergence en OU par une convergence en ET :

Si…

Alors

Si la condition de transition a est vraie et que b est fausse,

une séquence s'exécute vers S_6_1.

Comme les étapes S_6_1 et S_6_2 sont liées par une convergence en ET, il n'est pas possible de quitter la divergence parce que S_6_1 et S_6_2 ne peuvent jamais être actives en même temps.

(Soit S_6_1 est activée avec la condition de transition a, soit S_6_2 est activée avec la condition de transition b.)

Par conséquent, S_6_1 et S_6_2 ne peuvent jamais être actives en même temps et la séquence est bloquée.

Ce blocage peut être levé, par exemple par un deuxième jeton décalé dans le temps et exécuté via la transition b.