Présentation

De nombreux processus métier doivent se répéter jusqu'à ce qu'une condition soit remplie. Dans Cúram, cela est mis en oeuvre à l'aide des activités début de boucle (loop-begin) et fin de boucle (loop-end). Toutes les activités qui se trouvent entre une boucle de début (loop-begin) et l'activité de fin de boucle (loop-end) correspondante sont répétées jusqu'à la fin de la boucle.

Dans une définition de processus, les activités de début de boucle (loop-begin) et de fin de boucle (loop-end) arrivent par paires et les métadonnées permettent à chaque boucle de début de connaître la fin de boucle correspondante et vice versa. Pour ajouter une séquence d'activités à une boucle, une transition est créée à partir de l'activité de début de boucle (loop-begin) vers la première activité à répéter. Les activités suivantes dans la séquence sont liées à l'aide des transitions, comme tel serait normalement le cas en dehors d'une boucle. Toutefois, la dernière activité dans la séquence a une transition vers l'activité de fin de boucle. Une impulsion commune consiste à ajouter également une transition de l'activité de fin de boucle au démarrage pour créer le cycle. Cependant, cette action est erronée et donne lieu à une définition de processus qui n'est pas valide.

Une boucle doit aussi indiquer les critères qu'elle va utiliser pour déterminer s'il convient d'arrêter ou non. Pour prendre en charge cela, une boucle dans le flux de travaux Cúram dispose d'une condition de sortie de boucle (loop-exit).

Des boucles peuvent en contenir d'autres tant qu'elles sont totalement imbriquées les unes les autres. Cela permet de s'assurer que les boucles ainsi que la définition de processus restent une structure de bloc valide, comme requis par le moteur de flux de travaux Cúram (voir Structure d'un flux de travaux).