Vous pouvez également accéder à ce tutoriel en anglais et en allemand.

 

Dans cette vidéo, nous parlons des régions d'annulation dans YAWL. Ces régions d'annulation sont un outil flexible pour gérer toutes sortes de comportements anormaux, des avortements d'activités déclenchés par l'utilisateur aux délais d'attente. La flexibilité dans la définition des régions d'annulation a un prix : il est facile de faire des erreurs. Nous vous montrons comment les éviter. Le fichier zip joint ici contient une spécification YAWL initiale et finale pour suivre ce didacticiel sur votre propre installation YAWL.

 

Bonjour! Bienvenue à nouveau dans un autre de votre tutoriel! Aujourd'hui, nous allons parler des régions d'annulation dans YAWL. Dans de nombreux cas, il est important de pouvoir annuler un ensemble de tâches une fois que vous avez démarré un flux de travail complexe. Dans YAWL, les régions d'annulation sont un outil extrêmement puissant. Cependant, il n'est pas si facile de les utiliser correctement. Aujourd'hui, je vais vous montrer comment éviter les erreurs lors de la définition des régions d'annulation et nous vous donnerons un exemple et vous expliquerons les mécanismes de ces régions d'annulation. Comme d'habitude, vous pouvez trouver du matériel supplémentaire dans le lien ci-dessous. Et nous allons commencer maintenant. Nous commencerons par une spécification que vous pouvez trouver dans le matériel supplémentaire. Le fichier s'appelle Tutorial12.yawl. Et vous devez également charger d'abord le fichier ybkp d'exportation des données de l'organisation YAWL. Si vous ne savez pas comment faire cela, regardez l'un des didacticiels précédents. Cette spécification est déjà chargée dans YAWLeditor ici et vous pouvez la reconnaître car c'est la spécification du tutoriel 9. Nous avons quelqu'un qui formule une exigence et puis, il y a un processus en cours, où nous décidons de développer un logiciel dans un projet ou pour se procurer des logiciels. Imaginez qu'après avoir formulé l'exigence, vous découvrez que vous n'avez pas besoin de ce logiciel après tout et que vous souhaitez annuler toute la procédure, où qu'elle se trouve maintenant. Donc, si nous regardons toute cette partie de la spécification après l'exigence de formulation, nous pouvons dire que ok, jusqu'à ce que le bon de commande soit envoyé ou que le projet soit réellement démarré, nous pouvons toujours annuler le tout. Et nous voulons donner la possibilité d'annuler au même utilisateur qui a formulé l'exigence. Alors, comment pouvons-nous faire cela? Eh bien, nous allons d'abord créer une division AND après "Formuler l'exigence". Et c'est un schéma très fréquent ici. Nous sélectionnons donc «Formuler l' exigence» et allons sur le côté gauche, regardons le type de division et sélectionnons. Et ici, nous allons insérer une tâche "Annuler l'exigence" et la connecter ici, puis la connecter également à la fin. Et cette tâche d'annulation d'exigence sera proposée au même utilisateur qui a formulé l'exigence. Donc, sur le côté gauche, nous allons au ressourcement, activer l'offre système, et nous choisirons le complément de la tâche «Formuler l'exigence». Afin de définir notre région d'annulation, nous devons cliquer sur ce symbole circulaire rouge ici. Et puis nous obtenons un autre symbole ici qui nous permet d'ajouter des éléments à cette région d'annulation. Nous devons tout sélectionner: à partir de cette condition ici, toutes les tâches ici, ainsi que les arcs entre les tâches. La raison pour laquelle nous devons sélectionner les arcs est que YAWL provient de Petri Nets. Et dans les Petri Nets, entre deux transitions, il y a toujours une place. Et vous pouvez imaginer qu'à chaque fois que nous avons deux tâches ou deux transitions dans une spécification YAWL, il y a une place implicite entre elles qui est sur l'arc. Et c'est pourquoi nous devons maintenant sélectionner tous les éléments dans cette région d'annulation que nous voulons définir. Nous sélectionnons donc ici la condition et cliquons sur «ajouter», puis nous sélectionnons les tâches. Et nous sélectionnons tous les arcs entre les tâches. Et maintenant, notre région d'annulation est terminée. Et nous allons aussi ... maintenant nous pouvons arrêter cela ... et maintenant nous ne voyons plus la région d'annulation. Nous pouvons à nouveau sélectionner des tâches et cliquer dessus pour les revoir. Et vous pouvez maintenant voir ce point rouge apparaître ici indiquant qu'il s'agit d'une tâche d'annulation. Et nous définirons également «Démarrer le projet» et «Préparer le bon de commande» comme tâches d'annulation. Encore une fois, nous définirons la région d'annulation. Et cette fois, nous sélectionnerons «Annuler l'exigence» et l'arc avant cela. Voir "Démarrer le projet" est maintenant une tâche d'annulation. Et nous ferons la même chose pour "Préparer le bon de commande". Et nous avons terminé. Nous enregistrons ceci et nous le téléchargeons sur le moteur YAWL. Maintenant, nous pouvons commencer à exécuter le cas et voir comment il se comporte. La première tâche est donc confiée à Lorenzo Monaco: «Formuler l'exigence». Et maintenant, nous avons trois éléments de travail: «Annuler l'exigence», qui est confiée à Lorenzo Monaco, le même utilisateur qui vient de démarrer l'exigence, «Définir le projet de développement logiciel» et «Préparer l'approvisionnement logiciel». Tous sont donc désormais attribués au même utilisateur. Ceci est à des fins de démonstration et voyons ce qui se passe, si nous faisons "Annuler l'exigence". "Nous l'acceptons et le démarrons. Et vous pouvez toujours voir que les deux autres sont toujours là. Donc, cela a commencé et, parce que nous n'avons défini aucun comportement pour cela, nous ne pouvons pas le voir mais nous pouvons le compléter. Et vous pouvez voir maintenant: après l'achèvement, tous les autres éléments de travail sont partis. Et si nous regardons les cas, nous pouvons voir que le cas est terminé. Donc cette annulation a fonctionné. Vous pouvez essayer d'exécuter maintenant le workflow dans le reste et par exemple aller pour démarrer le projet et voir à quel moment la tâche "Annuler l'exigence" est à son tour annulée. Et ce modèle ici que nous avons deux régions dans le flux de travail qui s'annulent mutuellement est un modèle très fréquent dans les flux de travail. Si vous avez des questions, n'hésitez pas à les poser dans les commentaires et n'oubliez pas de vous abonner à cette chaîne, si vous ne voulez pas manquer de nouveaux épisodes. À bientôt!