Your Training Partner
Référence BPMN
Collaboration BPMN « Établir un devis d'assurance »: le pool du processus reçoit une demande de devis d'un pool boîte noire « Client », prépare le devis, puis attend sur une passerelle événementielle deux messages concurrents, une acceptation qui mène à l'établissement du contrat et un refus qui clôt le processus.

BPMN: les motifs courants

Les chapitres précédents documentent les symboles un par un. Celui-ci documente les assemblages: les figures qui reviennent d'un modèle à l'autre, ce que chacune affirme et la règle qui la fait tenir. Chaque motif combine des éléments déjà définis.

Un motif est un assemblage d’éléments que le standard ne nomme pas et que les modèles répètent: la question à deux issues, la paire de losanges, le cycle, l’échéance. Ce chapitre en prend huit.

L’origine des motifs

Le standard définit des éléments et laisse les idiomes à l’usage. Sa clause de sémantique d’exécution rapporte chaque passerelle et chaque activité répétée à un catalogue extérieur, les workflow patterns1. Ce catalogue figure dans ses références non normatives2. Un motif tient donc son nom de la littérature, sa légalité du standard.

Dumas et ses coauteurs donnent l’ordre de travail: modéliser d’abord le scénario nominal, le sunny-day scenario, puis recenser ce qui peut mal tourner et choisir pour chaque écart le mécanisme adapté3. Les quatre premiers motifs appartiennent au chemin nominal; les quatre suivants le quittent. Chaque figure est un modèle complet et se lit seule.

Le choix exclusif

Une seule branche est empruntée, et la fusion transmet celle qui arrive.

Traiter une demande de congéDiagramme BPMN 2.0 : Traiter une demande de congé. smartgecko.academyDemande reçueExaminer lademandeDemanderecevable ?Approuver lademandeRefuser la demandeInformer lecollaborateurDemande traitéeouinonsmartgecko.academy
Le motif complet: une activité de décision, un losange qui pose la question, deux branches qui répondent, une fusion qui rassemble.

La passerelle exclusive divergente crée des chemins alternatifs dont un seul est emprunté par instance. Le standard la présente comme une question posée à un point du processus, dont les réponses possibles forment un ensemble défini, chaque réponse portant une expression de condition sur un flux sortant4. En fusion, elle achemine chaque jeton entrant vers son flux sortant sans synchronisation4. La sémantique d’exécution nomme ces deux comportements exclusive choice (WCP-4) et simple merge (WCP-5)5.

Trois exigences font tenir l’assemblage, et Dumas les énonce ensemble6.

  • Une activité de décision précède le losange. Elle produit la donnée que les conditions testent.
  • Les conditions sont mutuellement exclusives: une seule est vraie chaque fois qu’un jeton atteint la passerelle.
  • La fusion est un passe-plat: elle déplace vers son flux sortant tout jeton qu’elle reçoit.

L’étiquette de chaque porte donne la réponse correspondante6. Sur la figure, les deux issues se rejoignent parce qu’une suite commune leur succède; quand elles n’ont rien en commun, chacune va jusqu’à son propre événement de fin.

La fusion facultative

Silver observe qu’en fusion la passerelle exclusive équivaut à l’absence de passerelle: devant une activité elle est superflue et les flux s’y raccordent directement. Elle garde son intérêt devant une autre passerelle, où un losange à plusieurs entrées et sorties se lit mal7. Dumas admet la même abréviation8. La figure la dessine, parce qu’elle fait partie du motif nommé.

La mise en parallèle

Les deux branches partent ensemble, et la suite attend les deux.

Préparer l’arrivée d’un collaborateurDiagramme BPMN 2.0 : Préparer l’arrivée d’un collaborateur. smartgecko.academyContrat signéCréer les accèsinformatiquesÉquiper le poste de travailAccueillir le collaborateurCollaborateur enpostesmartgecko.academy
Deux travaux sans dépendance d'ordre, ouverts puis refermés par une paire de losanges au signe plus.

La passerelle parallèle synchronise des flux parallèles et en crée. En division elle ne vérifie aucune condition, chaque flux sortant recevant un jeton; en fusion elle attend tous ses flux entrants9. La sémantique d’exécution donne le compte exact et les deux noms de catalogue, parallel split (WCP-2) et synchronization (WCP-3)10.

Le motif affirme que les deux travaux n’ont aucune dépendance d’ordre et peuvent donc se dérouler en même temps8. Dumas donne deux repères: le mot « pendant ce temps » dans la description du processus, ou deux ressources distinctes de part et d’autre8.

La fusion garde son symbole

La division parallèle admet une abréviation: plusieurs flux sortants d’une même activité en valent une8. La fusion, elle, demande son losange. Sans lui, chaque jeton déclenche la suite à son arrivée, si bien que l’activité suivante s’exécute une fois par branche; la sémantique d’exécution nomme ce comportement multi-merge (WCP-8)5, et Silver le juge presque toujours involontaire7. Le chapitre sur les passerelles donne la règle d’appariement complète avec l’autre anomalie qu’elle évite.

Le bloc de répétition

Le fragment recommence tant que la décision qui le clôt reste défavorable.

Finaliser une réponse ministérielleDiagramme BPMN 2.0 : Finaliser une réponse ministérielle. smartgecko.academyRéponse àrédigerRédiger la réponseRelire la réponseRéponseapprouvée ?RéponseapprouvéeRéponse àrédigerRédiger et relire la réponseRéponseapprouvéeJusqu’à approbation de la réponseouinonsmartgecko.academy
Le même comportement écrit deux fois, sur l'exemple de correspondance ministérielle de Dumas: en haut le cycle tracé avec deux losanges, en bas le sous-processus porteur du marqueur de boucle. Les deux fragments sont indépendants.

Dumas nomme repetition block le fragment répétable et lui pose une condition: sa dernière activité doit être une activité de décision, faute de quoi rien ne dit quand recommencer11. Le retour se raccorde en amont du bloc par une fusion exclusive.

Le type de cette fusion est contraint. Une fusion exclusive convient parce qu’elle transmet tout jeton reçu. Une fusion parallèle provoquerait un interblocage, puisqu’une seule des deux branches entrantes est active à la fois11. Une fusion inclusive fonctionnerait, avec une sémantique plus lourde que la situation ne demande11.

Les deux écritures

Le fragment se replie dans un sous-processus porteur du marqueur de boucle. Dumas présente cette écriture comme la simplification de la précédente, la condition passant dans une annotation textuelle puisque le standard ne la dessine pas12. La sémantique d’exécution nomme le résultat structured loop (WCP-21)13; les attributs loopCondition, testBefore et loopMaximum le paramètrent14.

Le marqueur abrège un cycle structuré, un bloc de répétition à un seul point d’entrée et un seul point de sortie12. Un cycle à plusieurs sorties reste écrit avec des passerelles: le réécrire à une seule sortie demande des conditions supplémentaires qui disent quand on le quitte12.

Un sous-processus de boucle dont on montre le contenu garde la contrainte du bloc, une activité de décision en dernière position12.

L’échéance sur une activité

La minuterie démarre avec l’activité et se déclenche si l’activité n’est pas achevée à l’échéance.

Valider une commande fournisseurDiagramme BPMN 2.0 : Valider une commande fournisseur. smartgecko.academyCommande àvaliderValider la commandeCommandevalidéeTransmettre au responsable desachatsCommandetransmise24 h écouléessmartgecko.academy
La minuterie de bord à double trait continu: passé le délai, la validation s'arrête et la commande part chez le responsable des achats.

Une minuterie posée sur la bordure d’une activité s’active à son démarrage et fonctionne comme un délai maximal; Dumas en fait le motif activity timeout15. Silver ajoute pourquoi une passerelle placée après l’activité ne rend pas le même service: le processus ne l’atteint qu’une fois l’activité terminée, donc le dépassement du délai y est constaté trop tard16.

Le double trait continu marque l’événement de bord interruptif et pose implicitement cancelActivity à true17. La sémantique d’exécution en donne la suite: l’occurrence est consommée, l’activité porteuse est annulée, puis l’exécution suit le flux sortant de l’événement de bord18.

Les deux sorties de l’activité sont des alternatives exclusives, une par état final; chacune porte son propre événement de fin. Silver ajoute la règle de style: un événement de bord a un flux sortant et un seul16.

La demande et sa réponse

Un participant décide, l’autre attend la décision sur une passerelle événementielle.

Établir un devis d’assuranceDiagramme BPMN 2.0 : Établir un devis d’assurance. smartgecko.academyClientÉtablir un devis d’assuranceDemande dedevis reçuePréparer le devisAcceptation reçueRefus reçuÉtablir le contratContrat établiDevis refuséDemande dedevisDevisAcceptationRefussmartgecko.academy
Deux pools, quatre flux de message, sur l'exemple de devis d'assurance de Dumas. La passerelle événementielle met l'acceptation et le refus en concurrence: le premier message reçu détermine la suite.

Un flux de séquence reste dans son pool et l’échange passe par des flux de message. Dumas pose alors la règle d’appariement des deux côtés: le choix interne d’un participant doit être repris par un choix événementiel chez l’autre19. C’est ce que fait la passerelle événementielle, dont le standard dit que la décision revient à un autre participant, sur des données que le processus ne voit pas20. Le premier événement déclenché envoie un jeton sur son flux sortant et les autres chemins cessent d’être valides, ce que la sémantique d’exécution appelle deferred choice (WCP-16)21.

Le client est un pool boîte noire: le modèle affirme ce qu’il envoie et reçoit, sa logique interne restant hors du diagramme.

L’interblocage évité

Dumas rattache au motif un avertissement de conception. Une collaboration se bloque quand un participant attend un message que l’autre, sur la branche qu’il a prise, n’enverra pas; l’ordre des flux de message est à vérifier pour l’éviter19. Deux repères y aident: une activité d’où sort un flux de message envoie ce message à son achèvement et une activité où entre un flux de message l’attend pour démarrer19.

La reprise après échec

L’erreur remonte du niveau enfant, la cause se corrige, le travail recommence.

Exécuter un paiementDiagramme BPMN 2.0 : Exécuter un paiement. smartgecko.academyPaiement àexécuterExécuter le paiementDébiter le compteCompte débité ?Paiement effectuéCompte nondébitéouinonPaiement exécutéCorriger les coordonnées bancairesCompte nondébitésmartgecko.academy
L'événement de fin d'erreur, à l'intérieur, atteint l'événement de bord d'erreur; le flux d'exception corrige la cause et rejoint le flux normal en amont du sous-processus.

Un événement de fin d’erreur interrompt le sous-processus qui l’englobe et lève l’exception; un événement de bord d’erreur la capture, et une branche sortante, le flux d’exception, porte la procédure de rétablissement22. Silver nomme la construction Error throw-catch et la décrit comme la propagation d’une exception du niveau enfant vers le niveau parent23. Les deux événements référencent le même code d’erreur, que le diagramme n’affiche pas: leurs étiquettes doivent donc concorder, ce que la figure fait23.

La figure ajoute au motif de base la fin de la branche. Dumas donne les deux issues usuelles du flux d’exception: le clore sur un événement de fin de terminaison pour abandonner le processus, ou le ramener sur le flux de séquence normal lorsque l’exception a été correctement traitée22. La seconde issue donne la reprise.

Silver range les deux sorties d’une activité portant un événement de bord interruptif parmi les alternatives exclusives, qui se fusionnent directement24. Le losange employé est celui du bloc de répétition, à ceci près que la décision qui commande la répétition se trouve un niveau plus bas, dans le sous-processus lui-même.

Aucune variante non interruptive n’existe pour l’erreur17, si bien qu’une reprise écrite ainsi recommence le sous-processus entier.

L’escalade sans interruption

Un fait signalé depuis l’intérieur ouvre une procédure parallèle, et le travail se poursuit.

Traiter une réclamationDiagramme BPMN 2.0 : Traiter une réclamation. smartgecko.academyRéclamationreçueInstruire la réclamationAnalyser le dossierMontant élevéDécider del’indemnisationDossier instruitRéclamationtraitéeInformer le responsable d’agenceResponsableinforméMontant élevésmartgecko.academy
L'escalade émise dans le flux enfant atteint l'événement de bord à double trait interrompu. L'instruction du dossier continue pendant que le responsable d'agence est informé.

Une escalade est un déclencheur propagé: il remonte de l’endroit de l’émission jusqu’à la portée englobante la plus proche qui porte un événement capable de le capturer. Le standard la qualifie de non critique, l’exécution se poursuivant à l’endroit de l’émission, alors qu’une erreur la suspend à cet endroit25. Silver résume: l’escalade est la contrepartie non interruptive de l’erreur, avec le même mécanisme d’émission et de capture26.

Le double trait interrompu de l’événement de bord non interruptif pose cancelActivity à false, et l’activité reste active quand l’événement survient17. La clause de sémantique d’exécution énumère le message, le signal, la minuterie et la condition comme les déclencheurs qui laissent l’activité en cours, sans nommer l’escalade que la clause de notation admet au bord dans ses deux variantes18. La clause de notation décide de ce qu’un diagramme a le droit de montrer, donc la figure est conforme; la clause d’exécution décrit ce qu’un moteur en fait, et son silence est une raison de plus de vérifier le comportement de l’outil avant de s’appuyer sur ce motif26.

Le raccordement au flux normal

Le gestionnaire d’escalade ouvre un chemin qui court à côté du flux principal. Le standard recommande de le terminer sur son propre événement de fin, ce que fait la figure27. Silver donne l’autre écriture avec sa condition: le flux normal sort toujours de l’activité, le flux d’exception seulement si l’événement survient, de sorte que les deux sont conditionnellement parallèles et que leur fusion demande une passerelle inclusive24.

Silver ajoute une réserve d’usage: peu d’outils prennent l’escalade en charge et peu de modélisateurs en connaissent le sens, ce qui invite à la réserver aux cas qui l’exigent26.

L’annulation d’une instance en cours

Une demande d’annulation arrive à n’importe quel moment et met fin à l’instance.

Honorer une commande sur mesureDiagramme BPMN 2.0 : Honorer une commande sur mesure. smartgecko.academyCommandeconfirméeFabriquer le produitExpédier le produitCommande livréeAnnuler la commandeAnnulation reçueRembourser l’acompteCommandeannuléesmartgecko.academy
Le sous-processus événementiel en pointillé écoute pendant tout le processus. Son événement de début interruptif arrête l'étape en cours, quelle qu'elle soit.

Un sous-processus événementiel démarre chaque fois que son événement de début survient pendant que le processus parent est actif28. La sémantique d’exécution en donne les deux propriétés qui font le motif: il annule l’exécution du processus englobant lorsque l’attribut isInterrupting de son événement de début est posé, et il est autonome, sans raccordement aux flux de séquence29.

Dumas en tire le critère de choix face à un événement de bord: le sous-processus événementiel quand l’événement peut survenir à tout moment du processus ou quand la procédure mérite d’être réutilisée, l’événement de bord quand la portée se limite à une activité déterminée30. Une annulation demandée par un client entre dans le premier cas, puisque le modèle n’a aucune raison de la rattacher à la fabrication plutôt qu’à l’expédition.

Deux mécanismes portent des noms proches.

  • L’abandon depuis le flux normal se note par un événement de fin de terminaison, qui ordonne l’arrêt immédiat de toutes les activités du niveau, instances multiples comprises31. Dumas en fait la forme la plus simple du traitement d’exception, utile quand un jeton risquerait de rester piégé devant une synchronisation que plus rien n’atteindra32.
  • L’annulation d’une transaction est un mécanisme distinct, réservé au sous-processus de transaction et chaîné avec la compensation. Le chapitre sur les événements de bord le documente.

Les classes de conformité

Les sous-classes du standard fixent ce qu’un outil doit prendre en charge pour revendiquer un niveau33.

La sous-classe descriptive, la plus restreinte, porte le choix exclusif et la mise en parallèle, puisque ses deux passerelles y figurent avec le sous-processus dans ses deux vues33. Le bloc de répétition y tient aussi, tant qu’il est tracé avec des passerelles.

La sous-classe analytique ouvre les quatre motifs restants, plus la seconde écriture du bloc de répétition33. Le marqueur de boucle y entre sous le nom d’activité de boucle, avec son standardLoopCharacteristics. L’échéance y entre comme événement de bord de minuterie, la demande et sa réponse comme passerelle événementielle accompagnée des événements intermédiaires de message, la reprise comme événement de bord d’erreur avec l’événement de fin d’erreur. L’escalade y entre en entier, l’événement intermédiaire d’émission et l’événement de bord non interruptif y figurant chacun sur sa ligne.

L’annulation d’une instance en cours reste hors des deux: aucun des deux tableaux ne mentionne l’attribut triggeredByEvent du sous-processus événementiel33. Un modèle destiné à des lecteurs métier écrit donc cette annulation autrement, par un événement de bord attaché à l’activité concernée.

Ce qui n’a pas de motif

Deux demandes reviennent des ateliers de modélisation sans que BPMN leur réponde par un assemblage.

Le contrôle à quatre yeux, qui exige que la personne vérifiant un travail diffère de celle qui l’a produit, porte sur l’affectation des ressources. Deux couloirs montrent que deux rôles interviennent; ils restent muets sur l’identité des personnes, puisque la signification d’un couloir appartient au modélisateur. La contrainte se déclare dans le modèle, du côté de la ressource et de l’exécutant, qui n’ont aucun symbole: l’affectation passe par un resourceRef ou une expression évaluée à l’exécution, et l’exécutant se déclare comme individu, groupe, rôle ou organisation34. Cette lecture est la nôtre, faute de règle du standard.

Le jalon n’a pas de symbole non plus. Dumas le range parmi les éléments de CMMN, la notation distincte que l’OMG publie pour la gestion de cas35. Un événement intermédiaire neutre nommé d’après un état atteint en donne l’équivalent visuel, et le standard décrit ce symbole comme un moyen de signaler un changement d’état du processus, à l’usage des méthodes de modélisation qui en tiennent compte36. Le jeton le traverse sans délai, donc le jalon reste une lecture, sans effet sur le déroulement.

Au-delà des motifs

Le chapitre suivant passe des assemblages aux règles qui les gouvernent: les conventions de style de Silver, le nommage des éléments et ce qui casse un diagramme.

Le chapitre suivant

. Les règles de style de Bruce Silver, les conventions de nommage de eCH-0158 et les erreurs qui rendent un modèle BPMN faux plutôt que seulement illisible.

Notes et références


  1. OMG, Business Process Model and Notation (BPMN), version 2.0.2, §13 « BPMN Execution Semantics ». Les lignes Workflow Patterns Support courent sur §13.3.6 « Loop Activity », §13.3.7 « Multiple Instances Activity » et §13.4.1 à §13.4.5, une par type de passerelle, chacune renvoyant le comportement décrit à un code WCP du catalogue. ↩︎

  2. OMG, Business Process Model and Notation (BPMN), version 2.0.2, §3.3 « Non-Normative », entrée Workflow Patterns: Russell, ter Hofstede, van der Aalst et Mulyar, Workflow Control-Flow Patterns: A Revised View, BPM Center Report BPM-06-22, 2006. Le catalogue auquel renvoient les codes WCP figure ainsi parmi les références non normatives du standard. ↩︎

  3. Marlon Dumas, Marcello La Rosa, Jan Mendling et Hajo A. Reijers, Fundamentals of Business Process Management, 2e édition, Springer, 2018, §4.3.8 « Summary »: modéliser d’abord le scénario nominal, puis recenser les situations qui peuvent mal tourner et déterminer pour chacune la cause, interne ou externe, le mécanisme de traitement et le besoin éventuel de compensation. ↩︎

  4. OMG, Business Process Model and Notation (BPMN), version 2.0.2, §10.6.2 « Exclusive Gateway »: les chemins alternatifs dont un seul est emprunté pour une instance donnée, la décision présentée comme une question à ensemble défini de réponses, chacune associée à une expression de condition sur un flux sortant de la passerelle, ainsi que la fusion sans synchronisation. ↩︎ ↩︎

  5. OMG, Business Process Model and Notation (BPMN), version 2.0.2, §13.4.2 « Exclusive Gateway (Exclusive Decision (data-based) and Exclusive Merge) », tableau 13.2: la sémantique de passe-plat en fusion, l’évaluation ordonnée des conditions en division, ainsi que la ligne Workflow Patterns Support qui range le comportement sous Exclusive Choice (WCP-4), Simple Merge (WCP-5) et Multi-Merge (WCP-8). ↩︎ ↩︎

  6. Marlon Dumas et coll., Fundamentals of Business Process Management, 2e édition, §3.2.1 « Exclusive Decisions »: l’activité de décision placée avant la division, les conditions mutuellement exclusives dont une seule est vraie à chaque passage, l’étiquette portée par chaque flux sortant, et la fusion exclusive décrite comme un passe-plat qui transmet le jeton dès son arrivée. ↩︎ ↩︎

  7. Bruce Silver, BPMN Method and Style, 2e édition, Cody-Cassidy Press, 2011: la passerelle exclusive en fusion équivalente à l’absence de passerelle, superflue devant une activité et utile devant une autre passerelle dont les entrées et sorties multiples se lisent mal, ainsi que le multi-merge jugé presque toujours involontaire, la fusion parallèle gardant son symbole là où la division peut s’en passer. ↩︎ ↩︎

  8. Marlon Dumas et coll., Fundamentals of Business Process Management, 2e édition, §3.2.2 « Parallel Execution »: les activités sans dépendance d’ordre exécutées en parallèle, la division qui sépare le jeton et la fusion qui les rassemble, le repère du mot « pendant ce temps » dans la description et celui des ressources distinctes, ainsi que les deux abréviations admises, la fusion exclusive omise devant une activité ou un événement et la division parallèle omise après une activité ou un événement. ↩︎ ↩︎ ↩︎ ↩︎

  9. OMG, Business Process Model and Notation (BPMN), version 2.0.2, §10.6.4 « Parallel Gateway »: la synchronisation et la création de flux parallèles, le jeton envoyé sur chaque flux sortant sans vérification de condition et l’attente de tous les flux entrants en fusion. ↩︎

  10. OMG, Business Process Model and Notation (BPMN), version 2.0.2, §13.4.1 « Parallel Gateway (Fork and Join) », tableau 13.1: l’activation dès un jeton sur chaque flux entrant, la consommation et la production d’exactement un jeton par flux, les jetons excédentaires laissés en place, ainsi que la ligne Workflow Patterns Support qui donne Parallel Split (WCP-2) et Synchronization (WCP-3). ↩︎

  11. Marlon Dumas et coll., Fundamentals of Business Process Management, 2e édition, §3.2.4 « Rework and Repetition »: le bloc de répétition dont la dernière activité doit être une activité de décision, le retour raccordé par une fusion exclusive en amont du bloc, l’interblocage qu’une fusion parallèle provoquerait puisqu’une seule branche est active à la fois, et la fusion inclusive jugée excessive. ↩︎ ↩︎ ↩︎

  12. Marlon Dumas et coll., Fundamentals of Business Process Management, 2e édition, §4.1 « More on Rework and Repetition »: le fragment délimité par la fusion et la division exclusives remplacé par un sous-processus marqué du symbole de boucle, la condition portée par une annotation, la contrainte de l’activité de décision en dernière position quand le contenu est montré, ainsi que le marqueur présenté comme une abréviation d’un cycle structuré à un seul point d’entrée et un seul point de sortie, un cycle à plusieurs sorties ne se réécrivant à une seule qu’au prix de conditions supplémentaires. ↩︎ ↩︎ ↩︎ ↩︎

  13. OMG, Business Process Model and Notation (BPMN), version 2.0.2, §13.3.6 « Loop Activity »: l’activité de boucle décrite comme une enveloppe exécutant l’activité intérieure tant que loopCondition s’évalue à true, avec testBefore pour une boucle testée avant ou après et loopMaximum pour plafonner les itérations. Sa ligne Workflow Patterns Support donne Structured Loop (WCP-21). ↩︎

  14. OMG, Business Process Model and Notation (BPMN), version 2.0.2, §10.3.8 « Loop Characteristics »: loopCondition, testBefore et loopMaximum pour la boucle standard. ↩︎

  15. Marlon Dumas et coll., Fundamentals of Business Process Management, 2e édition, §4.3.4 « Activity Timeouts »: la minuterie rattachée à la bordure d’une activité, activée au démarrage de celle-ci, qui provoque son interruption si elle se déclenche avant l’achèvement et fonctionne donc comme un délai maximal. ↩︎

  16. Bruce Silver, BPMN Method and Style, 2e édition: la minuterie de bord dont le chronomètre démarre à l’arrivée du flux de séquence dans l’activité, l’alarme se déclenchant si l’activité n’est pas achevée à l’échéance, l’inefficacité d’une passerelle placée après l’activité pour tester la même durée, et la règle de style du flux sortant unique sur un événement de bord. ↩︎ ↩︎

  17. OMG, Business Process Model and Notation (BPMN), version 2.0.2, §10.5.4 « Intermediate Event », sous-clauses « Intermediate Events Attached to an Activity Boundary » et « Attributes for Boundary Events », tableaux 10.90 à 10.92: le double trait continu de l’interruptif avec cancelActivity implicitement à true, le double trait interrompu du non interruptif avec cancelActivity à false et l’activité qui reste active, l’erreur toujours interruptive sans variante non interruptive, ainsi que l’escalade admise au bord dans ses deux variantes. ↩︎ ↩︎ ↩︎

  18. OMG, Business Process Model and Notation (BPMN), version 2.0.2, §13.5.3 « Intermediate Boundary Events »: l’occurrence consommée, l’activité annulée quand cancelActivity est posé, l’exécution suivant ensuite le flux de séquence raccordé à l’événement de bord. La même clause énumère le message, le signal, la minuterie et la condition comme les seuls déclencheurs permettant la poursuite de l’activité, sans mentionner l’escalade que le tableau 10.90 de §10.5.4 admet au bord dans ses deux variantes. ↩︎ ↩︎

  19. Marlon Dumas et coll., Fundamentals of Business Process Management, 2e édition, §4.2.3 « Racing Events »: la course entre événements extérieurs portée par la passerelle événementielle, le choix interne d’un participant qui doit être repris par un choix événementiel chez l’autre, la vérification de l’ordre des flux de message pour éviter un interblocage, ainsi que les deux repères, l’activité qui envoie son message à l’achèvement et l’activité qui attend le sien pour démarrer. ↩︎ ↩︎ ↩︎

  20. OMG, Business Process Model and Notation (BPMN), version 2.0.2, §10.6.6 « Event-Based Gateway »: le branchement fondé sur des événements plutôt que sur des expressions de données, la décision revenant à un autre participant sur des données que le processus ne voit pas et la condition de course où le premier événement déclenché invalide les autres chemins. ↩︎

  21. OMG, Business Process Model and Notation (BPMN), version 2.0.2, §13.4.4 « Event-based Gateway (Exclusive Decision (event-based)) »: le choix différé jusqu’à l’achèvement de la tâche ou de l’événement qui suit la porte, et la ligne Workflow Patterns Support qui range le comportement sous Deferred Choice (WCP-16). ↩︎

  22. Marlon Dumas et coll., Fundamentals of Business Process Management, 2e édition, §4.3.2 « Internal Exceptions »: l’événement de fin d’erreur qui interrompt le sous-processus englobant et lève l’exception, l’événement de bord qui la capture, le flux d’exception qui porte la procédure de rétablissement, et les deux issues usuelles de ce flux, l’événement de fin de terminaison pour abandonner le processus ou le retour au flux de séquence normal quand l’exception a été correctement traitée. ↩︎ ↩︎

  23. Bruce Silver, BPMN Method and Style, 2e édition: l’Error throw-catch pattern, où un événement de fin d’erreur placé dans un sous-processus émet vers la bordure de celui-ci, y est capturé par l’événement de bord d’erreur et ressort sur le flux d’exception, décrit comme la propagation d’une exception du niveau enfant vers le niveau parent d’un modèle hiérarchique. Silver ajoute que les deux événements référencent le même code d’erreur dans le métamodèle et que, ce code n’apparaissant pas au diagramme, les étiquettes de l’émetteur et du récepteur doivent concorder. ↩︎ ↩︎

  24. Bruce Silver, BPMN Method and Style, 2e édition: les chemins issus d’une passerelle exclusive, d’une passerelle événementielle ou d’un événement de bord interruptif sont des alternatives exclusives et se fusionnent directement; le flux d’exception d’un événement de bord non interruptif et le flux normal sont en revanche conditionnellement parallèles, de sorte que leur fusion demande une passerelle inclusive. ↩︎ ↩︎

  25. OMG, Business Process Model and Notation (BPMN), version 2.0.2, §10.5.1 « Concepts »: le déclencheur propagé, remonté de l’endroit de l’émission jusqu’à la portée englobante la plus proche portant un événement capable de le capturer, avec l’erreur critique qui suspend l’exécution à l’endroit de l’émission et l’escalade non critique où l’exécution se poursuit. ↩︎

  26. Bruce Silver, BPMN Method and Style, 2e édition: l’escalade présentée comme la contrepartie non interruptive de l’erreur, avec le même mécanisme d’émission et de capture, l’événement de bord d’escalade signalant une exception non interruptive à l’intérieur d’une activité, ainsi que la faible prise en charge du déclencheur par les outils et sa méconnaissance par les modélisateurs. ↩︎ ↩︎ ↩︎

  27. OMG, Business Process Model and Notation (BPMN), version 2.0.2, §10.5.6 « Handling Events », sous-clause « Non-interrupting Event Handlers »: le jeton engendré pour le flux de séquence sortant de l’événement, en parallèle de l’exécution, avec la recommandation de terminer ce flux sur son propre événement de fin. ↩︎

  28. OMG, Business Process Model and Notation (BPMN), version 2.0.2, §10.3.5 « Sub-Processes », sous-clause « Event Sub-Process »: le sous-processus dont triggeredByEvent vaut true, sans flux de séquence entrant ni sortant, démarré chaque fois que son événement de début survient pendant que le processus parent est actif. ↩︎

  29. OMG, Business Process Model and Notation (BPMN), version 2.0.2, §13.5.4 « Event Sub-Processes »: le sous-processus événementiel qui annule l’exécution du sous-processus englobant lorsque l’attribut isInterrupting de son événement de début est posé, son caractère autonome sans raccordement aux flux de séquence du reste du modèle, ainsi que l’impossibilité de lui attacher un événement de bord. ↩︎

  30. Marlon Dumas et coll., Fundamentals of Business Process Management, 2e édition, §4.3.6 « Event Sub-processes »: le sous-processus événementiel défini à l’échelle d’un processus entier là où un événement de bord se rapporte à une activité déterminée, sa réutilisation possible comme processus global, et la recommandation qui en découle. ↩︎

  31. OMG, Business Process Model and Notation (BPMN), version 2.0.2, §10.5.3 « End Event », tableau 10.88, ligne Terminate: l’arrêt immédiat de toutes les activités du processus, instances multiples comprises, sans compensation ni traitement d’événement. ↩︎

  32. Marlon Dumas et coll., Fundamentals of Business Process Management, 2e édition, §4.3.1 « Process Abortion »: l’événement de fin de terminaison comme façon la plus simple de traiter une exception, la cessation immédiate de l’instance au niveau courant et pour tout sous-processus, la propagation vers le bas de la hiérarchie seulement, et l’emploi typique pour éviter qu’un jeton reste piégé devant une synchronisation. ↩︎

  33. OMG, Business Process Model and Notation (BPMN), version 2.0.2, §2.2.2 « BPMN Process Elements ». Le tableau 2.1 « Descriptive Conformance Sub-Class Elements and Attributes » porte exclusiveGateway, parallelGateway, subProcess (expanded) et subProcess (collapsed). Le tableau 2.2 « Analytic Conformance Sub-Class Elements and Attributes », qui ajoute les éléments de la sous-classe analytique, porte Looping Activity avec standardLoopCharacteristics, eventBasedGateway, l’événement intermédiaire de message en capture, l’événement de bord de minuterie, l’événement de bord d’erreur et l’errorEndEvent, ainsi que les trois lignes de l’escalade, événement intermédiaire d’émission, événement de bord non interruptif et escalationEndEvent. Ni l’un ni l’autre tableau ne mentionne triggeredByEvent. La clause précise que les critères d’une sous-classe s’appliquent à l’outil qui en revendique la prise en charge. ↩︎ ↩︎ ↩︎ ↩︎

  34. OMG, Business Process Model and Notation (BPMN), version 2.0.2, §10.3.1 « Resource Assignment » et §10.3.2 « Performer »: le ResourceRole affecté par resourceRef ou par une expression évaluée à l’exécution, et la classe Performer qui définit la ressource exécutant l’activité sous la forme d’un individu précis, d’un groupe, d’un rôle ou d’une position dans l’organisation, enfin d’une organisation. ↩︎

  35. Marlon Dumas et coll., Fundamentals of Business Process Management, 2e édition, §10.4.2 « Decomposition of Ad Hoc Sub-Processes with CMMN »: le jalon (milestone) figure parmi les éléments que CMMN définit pour décrire un cas, aux côtés du stage, de la tâche et du sentry. CMMN n’ayant pas de vocabulaire français établi, ces trois noms restent en anglais. ↩︎

  36. OMG, Business Process Model and Notation (BPMN), version 2.0.2, §10.5.4 « Intermediate Event »: l’événement intermédiaire neutre du flux normal présenté comme un moyen de signaler un changement d’état du processus, à l’usage des méthodes de modélisation qui en tiennent compte. ↩︎

BPMN: niveaux de modélisation et classes de conformité
Toute la référence
BPMN: style, conventions et erreurs fréquentes