Boundary Event
Qu’est-ce qu’un Boundary Event ?
Un événement de bordure BPMN 2.0 est un Catch Event intermédiaire attaché au bord d’une activité. Il attend un déclencheur (une échéance, un message, une erreur, un signal ou une modification des données) pendant l’exécution de l’activité. Lorsque ce déclencheur se produit, un chemin part de cette activité.
- Il se place toujours sur le bord d’une tâche, d’un sous-processus, d’une transaction ou d’une Call Activity. Il ne peut pas être attaché à un événement ou à une passerelle, ni apparaître isolément dans le flux.
- Il possède des Sequence Flows sortants, mais aucun Sequence Flow entrant : l’activité à laquelle il est attaché constitue son seul point d’entrée.
- Il n’attend un déclencheur que pendant l’exécution de son activité. Si celle-ci se termine avant, le Boundary Event ne se déclenche pas. Exception : Compensation, qui est activé une fois l’activité terminée.
- Au déclenchement, un jeton emprunte le flux sortant du Boundary Event. Un événement interruptif remplace le jeton de l’activité ; un événement non interruptif ajoute un jeton à côté.
- Dans la notation, il est représenté par un double cercle sur le bord de l’activité, avec le symbole du déclencheur à l’intérieur.
ProcessMind prend en charge les événements de bordure de tous les types présentés sur cette page. Pour en ajouter un, faites glisser un élément du groupe Boundary Event ou Événement de bordure non interruptif. de la palette Éléments BPMN jusqu’au bord d’une activité. Vous pouvez aussi attacher un événement intermédiaire de capture existant en le faisant glisser sur le bord d’une activité, puis le détacher en le faisant glisser à nouveau hors de celle-ci. L’attachement et le paramètre d’interruption sont conservés lors de l’exportation et de la réimportation d’un fichier BPMN.
Événements interruptifs et non interruptifs
Les événements de bordure se présentent sous deux formes, qui déterminent ce qu’il advient de l’activité lorsque le déclencheur se produit.
| Interruptif | Non interruptif | |
|---|---|---|
| Représentation | Double cercle plein | Double cercle en pointillés |
| Effet sur l’activité | L’activité est immédiatement annulée ; le travail en cours est abandonné | L’activité continue ; rien n’est annulé |
| Chemins après le déclenchement | Seul le chemin de bordure est suivi ; le flux sortant normal de l’activité ne l’est pas | Les deux chemins sont suivis : le chemin normal continue et celui de bordure s’exécute en parallèle |
| Nombre de déclenchements possibles | Une seule fois ; l’activité prend fin au déclenchement | Plusieurs fois tant que l’activité reste active, par exemple à chaque cycle d’un Timer répétitif |
| Attribut BPMN | cancelActivity="true" | cancelActivity="false" |
Un événement de bordure interruptif remplace la suite normale de l’activité. Un événement de bordure non interruptif ouvre une branche à partir de celle-ci.
Choisissez un événement interruptif lorsque le déclencheur rend inutile ou risquée la poursuite de l’activité : échéance dépassée, échec ou retrait. Choisissez un événement non interruptif lorsque le déclencheur appelle un travail supplémentaire en parallèle, ou un rappel ou une notification qui ne doit pas interrompre le travail en cours.
Les deux formes ne sont pertinentes que pendant l’exécution de l’activité. Lorsqu’un événement interruptif se déclenche, il annule l’activité et désactive du même coup les autres événements de bordure qui lui sont attachés. Un événement non interruptif laisse l’activité et ses autres événements de bordure en place.
Une activité, plusieurs événements de bordure. Une même activité peut comporter plusieurs événements de bordure. Voici une combinaison courante pour une tâche d’approbation :
- Un Timer interruptif après deux jours ouvrés : déclencher une escalade et arrêter la tâche.
- Un Timer non interruptif toutes les quatre heures : envoyer un rappel tout en laissant la tâche se poursuivre.
- Un événement Error interruptif sur le sous-processus qui effectue la vérification : traiter une défaillance technique.
Types de Boundary Events
ProcessMind prend en charge les types ci-dessous. Le groupe des événements interruptifs est plus fourni, car certains déclencheurs n’ont de sens que s’ils arrêtent l’activité.
Boundary Events interruptifs
| Type | Signification | Exemple courant |
|---|---|---|
| Message | Attend un message précis destiné à cette activité. | « Attendre le devis du fournisseur » est interrompu par le message « devis retiré », puis passe à « Trouver un autre fournisseur ». |
| Timer | Une échéance : une durée, une date ou un cycle calculé à partir du début de l’activité. | « Approuver une note de frais » comporte un Timer de deux jours ; si la tâche n’est pas terminée, le dossier passe à « Transmettre au responsable financier ». |
| Error | Intercepte une erreur survenue dans l’activité et l’arrête. Les événements de bordure Error sont toujours interruptifs. | Le sous-processus « Effectuer une vérification de solvabilité » déclenche « vérification échouée » ; le chemin de bordure mène à « Demander une évaluation manuelle du risque ». |
| Escalation | Arrête l’activité pour qu’un niveau hiérarchique supérieur prenne le relais. | « Résoudre un incident » déclenche une escalade lorsque le délai de première réponse est dépassé, puis passe à « Le responsable de l’incident prend le relais ». |
| Cancel | Intercepte l’événement de fin Cancel d’un sous-processus transactionnel. Valide uniquement pour une transaction. | La transaction « Réserver un voyage » est annulée par le client ; le chemin de bordure mène à « Rembourser le paiement et libérer les réservations ». |
| Compensation (cas particulier) | Exécute le gestionnaire de compensation d’une activité déjà terminée afin d’en annuler l’effet. N’interrompt pas le travail en cours. | « Débiter l’acompte » est compensé par « Rembourser l’acompte » si la commande est annulée plus tard dans le processus. |
| Conditional | Se déclenche lorsqu’une condition métier devient vraie pendant l’activité. | « Réserver le stock » est interrompu lorsque availableStock < orderedQuantity ; le dossier passe à « Mettre en attente et informer le client ». |
| Signal | Intercepte un signal diffusé. Un signal ne s’adresse pas à une activité en particulier ; tous les éléments à l’écoute peuvent réagir. | « Rassembler les pièces manquantes » est interrompu par le signal diffusé à l’échelle de l’entreprise « dossier retiré », puis le dossier est clôturé. |
| Multiple | Se déclenche dès qu’un des déclencheurs se produit. | « Attendre la réponse du client » intercepte soit le message « réponse reçue », soit un Timer de dix jours ; le premier des deux annule l’attente. |
| Parallel Multiple | Se déclenche uniquement lorsque tous les déclencheurs se sont produits. | « Recueillir les approbations avant publication » attend le message d’approbation juridique et celui de l’équipe de sécurité avant de poursuivre. |
Quelques règles pratiques pour ce groupe :
- Erreur doit être placée sur un sous-processus, une Call Activity ou une transaction, c’est-à-dire sur l’activité susceptible de déclencher l’erreur. Une tâche simple ne contient rien qui puisse échouer.
- Annuler doit être placé sur un sous-processus de transaction. Ailleurs, il n’y a rien à intercepter.
- Rémunération est un cas particulier. L’événement est activé une fois l’activité terminée et déclenché par un événement de rémunération émis ailleurs dans le processus. Il représente l’annulation d’une étape déjà effectuée, et non l’interruption d’une étape en cours.
- Multiple met plusieurs déclencheurs en concurrence. Multiple parallèle attend qu’ils se soient tous produits.
Boundary Events non interruptifs
| Type | Signification | Exemple courant |
|---|---|---|
| Message | Un message arrive pendant que l’activité se poursuit ; il ouvre un chemin secondaire. | « Rédiger une proposition » continue lorsque le message « commentaire du réviseur reçu » lance « Consigner le commentaire ». |
| Timer | Un rappel ou une vérification périodique ; l’activité n’est pas interrompue. | « Traiter un ticket d’assistance » comporte un Timer répétitif de huit heures qui lance « Envoyer un point d’avancement » pendant le traitement. |
| Escalation | Déclenche une escalade en parallèle de l’activité, sans y mettre fin. | « Traiter une réclamation » continue pendant que l’escalade « client stratégique » lance « Informer le directeur de compte ». |
| Conditional | Une condition ouvre un chemin secondaire pendant que l’activité continue. | « Traiter une demande de prêt » continue lorsque riskScore > 70 lance « Signaler pour examen d’audit ». |
| Signal | Un signal diffusé ouvre un chemin secondaire pour chaque élément à l’écoute ; l’activité continue. | « Exécuter le traitement nocturne » continue lorsque le signal « marché fermé » lance « Enregistrer un instantané des totaux provisoires ». |
| Multiple | Un des déclencheurs possibles ouvre un chemin secondaire ; l’activité continue. | « Négocier un contrat » reste en cours ; un message de l’autre partie ou un Timer de trois jours lance « Envoyer une relance ». |
| Parallel Multiple | Tous les déclencheurs réunis ouvrent un chemin secondaire ; l’activité continue. | « Attendre les résultats de toutes les vérifications » reste actif jusqu’à l’arrivée du message et du signal, puis lance « Consigner que tout est prêt ». |
Les événements de bordure non interruptifs servent à envoyer des rappels et des notifications, à observer le déroulement du travail ou à déclencher une escalade en parallèle. Ils ne modifient pas le flux principal : ils y ajoutent une branche.
Types d’événements qui ne sont pas des Boundary Events
Certains types d’événements pourraient sembler convenir comme événements de bordure, mais ce n’est pas le cas :
- Link relie différentes parties d’un flux. Il s’agit d’événements intermédiaires de capture ou d’émission dans la séquence, et non d’éléments attachés à une activité.
- Terminate met fin à une instance de processus entière et n’existe que comme événement de fin.
- Aucun ne constitue pas un déclencheur. Un événement de bordure ne peut donc jamais être « Aucun » : il doit toujours intercepter quelque chose.
Ajouter un Boundary Event dans ProcessMind
- Ouvrez la palette Éléments BPMN.
- Pour un événement interruptif, choisissez un type dans le groupe Boundary Event ; pour un événement non interruptif, choisissez-le dans le groupe Événement de bordure non interruptif..
- Faites-le glisser sur le bord d’une tâche, d’un sous-processus, d’une transaction ou d’une Call Activity.
- Déposez-le. L’événement s’aligne sur le bord le plus proche et l’activité devient son hôte.
- Tracez le flux de séquence entre l’événement de bordure et la première étape du chemin d’exception ou du chemin parallèle.
Conseils d’utilisation :
- Déposez un événement intermédiaire sur le bord d’une activité pour l’y attacher. Déposé sur une zone libre du canevas, il devient un Catch Event intermédiaire standard. Vous pouvez ensuite le faire glisser sur un bord pour l’attacher, ou le déplacer hors du bord pour le détacher.
- Un événement de bordure se déplace, se masque et se supprime avec l’activité à laquelle il est attaché. Il ne peut jamais être placé indépendamment d’une activité.
- La version non interruptive est une entrée distincte dans la palette, et non une case à cocher. Sélectionnez-la avant de la faire glisser si l’activité doit continuer.
- Lors de l’exportation, l’attachement est enregistré dans
attachedToRefet le paramètre d’interruption danscancelActivity. Les deux sont rétablis lors de la réimportation du fichier.
Erreurs fréquentes
- Un événement de bordure sans flux sortant. Il intercepte le déclencheur, mais ne peut ensuite mener nulle part : le chemin d’exception est une impasse.
- Un Timer non interruptif alors qu’un arrêt net est nécessaire. L’activité continue, l’échéance ne met donc pas fin au travail. Pour imposer une échéance, utilisez la version interruptive.
- Un événement de bordure Error sur une tâche simple. Attachez-le au sous-processus ou à la Call Activity qui contient l’étape susceptible d’échouer.
- S’attendre à ce qu’un événement de bordure se déclenche après la fin de l’activité. C’est impossible, sauf pour Compensation, qui est activé après la fin de l’activité.
- Utiliser Cancel en dehors d’une transaction. L’événement de bordure Cancel est défini uniquement pour les sous-processus transactionnels.
- Placer deux événements interruptifs sur une activité en s’attendant à ce que les deux chemins soient suivis. Le premier déclencheur l’emporte ; l’activité et ses autres événements de bordure sont annulés avec lui.
Tous les événements et leurs symboles correspondants
| Début | Intermédiaire | Fin | ||||||
|---|---|---|---|---|---|---|---|---|
| Type | Normal | Sous-processus d’événement | Sous-processus d’événement non interruptif | Réception | Limite | Limite non interruptive | Émission | |
| Aucun | | |||||||
| Message | | | | | | | | |
| Minuterie | | | | | | | ||
| Conditionnel | | | | | | | ||
| Lien | | | | |||||
| Signal | | | | | | | | |
| Erreur | | | | |||||
| Escalade | | | | | | | ||
| Terminaison | | |||||||
| Compensation | | | | | ||||
| Annulation | | | ||||||
| Multiple | | | | | | | | |
| Multiple parallèle | | | | | | | ||
Générer un modèle BPMN personnalisé
Sujets connexes
- Événements : tous les types d’événements.
- Intermediate Event : les événements qui se produisent au milieu d’un flux.
- Activités : les tâches et sous-processus auxquels un événement de bordure peut être attaché.
- Éléments BPMN pris en charge : les éléments que ProcessMind peut importer et exporter.
- BPMN 2.0 : guide pratique : la notation illustrée par des exemples détaillés.
Concevez de meilleurs processus. Bâtissez une architecture cohérente. Gardez la maîtrise.
Accédez immédiatement à la plateforme, sans carte bancaire ni attente. Représentez clairement le fonctionnement de votre organisation dans des modèles de processus reliés entre eux.
Définissez l’architecture des processus, les responsabilités et les contrôles, puis clarifiez les rôles à chaque niveau.
Démarrez votre essai gratuit et posez les bases d’une gouvernance, d’une gestion et d’une amélioration continue de vos processus.