Chaîne de processus événementielle (EPC)
La chaîne de processus événementielle (EPC, de l'anglais event-driven process chain, EPK en allemand) est une notation de modélisation des processus. Elle alterne des événements, les états métier qui déclenchent une étape ou en résultent, et des fonctions, les étapes qui consomment du temps. Des connecteurs ET, XOR et OU règlent chaque branchement et chaque jonction. L'équipe d'August-Wilhelm Scheer l'a conçue en 1992 à l'Université de la Sarre, avec SAP, et elle est devenue la notation centrale d'ARIS. Sa règle propre: un événement ne décide jamais, seule une fonction décide.
Objectif
La chaîne de processus événementielle modélise un processus comme une suite d'états et d'étapes. Chaque étape y est encadrée par l'état qui la déclenche et celui qu'elle produit, et le modèle se lit comme des phrases: «La facture est reçue. Le service des prestations contrôle la facture. La facture est couverte, ou elle ne l'est pas.» Un logigramme montre l'ordre des étapes. L'EPC montre aussi la condition qui autorise chacune d'elles.
Elle répond à une question: une étape doit-elle s'exécuter et sous quelle combinaison de conditions? Les connecteurs donnent la combinaison: toutes les conditions (ET), au moins une (OU), exactement une (XOR, ou exclusif). Le BPM CBOK de l'ABPMP classe l'EPC parmi les notations les plus puissantes pour identifier les contraintes d'un processus.
Le livrable est un diagramme. Des hexagones pour les événements et des rectangles arrondis pour les fonctions alternent le long de flèches, avec un cercle de connecteur à chaque branchement et à chaque jonction. Sur le côté des fonctions s'attachent les unités organisationnelles, les objets d'information et les systèmes applicatifs: le modèle devient une EPC étendue (eEPK en allemand).
L'EPC appartient à la famille de la modélisation des processus, aux côtés du logigramme, de BPMN, du diagramme d'activités UML et d'IDEF. Elle s'en distingue par l'alternance stricte de l'événement et de la fonction: chaque étape attend un état nommé, et un événement ne décide jamais.
Usage
Quand l'utiliser
- Processus aux nombreuses interfaces et sous-modèles: chaque raccord entre deux chaînes passe par un événement nommé.
- Détail sous le niveau d'un cadre d'architecture d'entreprise: l'EPC descend jusqu'à l'étape et à sa condition de départ.
- Démarrage soumis à plusieurs conditions: le connecteur dit si toutes, une au moins ou une seule doivent être réunies.
- Recherche des contraintes d'un processus: chaque fonction attend un état nommé, et l'attente devient visible.
- Atelier avec des experts métier peu habitués aux modèles: la chaîne se relit comme une suite de phrases.
- Organisation qui modélise déjà dans ARIS: le référentiel relie chaque fonction à son unité, à ses données et à son système.
- Groupe multinational ou partenaires germanophones: le CBOK note que l'EPC est répandue en Allemagne et en Europe, surtout dans les groupes multinationaux.
Quand ne pas l'utiliser
- Pas de licence ARIS ni de projet d'en acquérir une: l'outillage générique de l'EPC reste mince, prendre BPMN.
- Mandat pour une administration publique suisse: eCH-0140 y retient BPMN et eCH-0158 en fixe les conventions, prendre BPMN.
- Processus court et linéaire, sans conditions combinées: les événements doublent le dessin sans rien apprendre, prendre le logigramme.
Description
Trois objets et leurs noms
L'événement est la survenue d'un état métier d'un objet d'information, qui pilote la suite du processus. Il se rapporte à un instant et ne consomme pas de temps. Il se dessine en hexagone. Son libellé nomme l'objet et son changement d'état: «Facture reçue», «Offre refusée». Un événement déclenche des fonctions et résulte de fonctions.
La fonction est une étape qui consomme du temps. Elle se dessine en rectangle aux coins arrondis et se nomme par un verbe et son objet: «Contrôler la facture».
Le connecteur est un cercle marqué ET, XOR ou OU. Il dit comment plusieurs flèches se combinent, et le CBOK l'appelle règle. Un connecteur à une flèche entrante et plusieurs sortantes est un branchement. Un connecteur à plusieurs entrantes et une sortante est une jonction.
Nüttgens et Rump ont formalisé la syntaxe de la chaîne. Un événement ne se relie qu'à des fonctions, et une fonction qu'à des événements, directement ou à travers des connecteurs. Une fonction a exactement une flèche entrante et une flèche sortante, de sorte que tout branchement passe par un connecteur. Une chaîne commence par au moins un événement de départ et finit par au moins un événement de fin.
Les connecteurs et l'événement qui ne décide pas
Selon le Methodenhandbuch d'ARIS, le sens d'un connecteur dépend de sa position.
| Position du connecteur | ET | OU | XOR |
|---|---|---|---|
| Plusieurs événements déclenchent une fonction | La fonction démarre quand tous sont survenus | La fonction démarre dès qu'un au moins est survenu | La fonction démarre quand un seul est survenu |
| Une fonction produit plusieurs événements | Tous surviennent | Un au moins survient | Un au plus survient |
| Plusieurs fonctions produisent un événement | L'événement survient quand toutes sont terminées | L'événement survient dès qu'une au moins est terminée | L'événement survient quand une seule est terminée |
| Un événement déclenche plusieurs fonctions | Toutes démarrent | Interdit: l'événement ne décide pas | Interdit: l'événement ne décide pas |
Un événement ne décide rien: seule une fonction décide. Relier un événement déclencheur à plusieurs fonctions par un OU ou un XOR est donc illégal. Pour lancer plusieurs fonctions, un événement passe par un ET, qui les démarre toutes en parallèle. La règle force l'équipe à nommer qui décide: la fonction de décision porte l'unité organisationnelle qui l'exécute.
Le modélisateur qui vient du logigramme écrit ce branchement par réflexe: «Facture reçue», puis un XOR vers «Rembourser la facture» ou «Refuser la facture». Le losange d'un logigramme porte un test. Le branchement XOR placé après un événement n'en porte aucun, car personne n'a encore examiné la facture. Pour corriger, le modélisateur insère la fonction qui décide, «Contrôler la facture», et place le XOR sur sa sortie, vers deux événements: «Facture couverte» et «Facture non couverte». Chaque issue devient un état nommé que la suite attend.
Les objets attachés à une fonction
Une fonction reçoit sur son côté les objets qui la décrivent: l'unité organisationnelle qui l'exécute, les objets d'information qu'elle lit ou écrit, le système applicatif qui la soutient. Ces liaisons ne portent pas le flux de contrôle. ARIS range l'EPC dans sa vue de contrôle (Steuerungssicht), celle qui relie ses vues des fonctions, de l'organisation et des données. Le CBOK ajoute les couloirs, horizontaux ou verticaux.
Le modélisateur découpe une chaîne longue. Une fonction renvoie à une chaîne de niveau inférieur, et une interface de processus (Prozesswegweiser) marque le point où la chaîne passe à un processus amont ou aval. Les deux chaînes partagent l'événement où l'une finit et où l'autre commence.
Construire une EPC
- Borner la chaîne par ses événements. Nommer l'événement de départ et les événements de fin. Une équipe qui ne sait pas nommer l'état final n'a pas arrêté son périmètre.
- Poser les fonctions dans l'ordre. Un verbe et un objet par fonction. Entre deux fonctions, écrire l'événement que la première produit et que la seconde attend.
- Placer chaque décision dans une fonction. Là où une fonction peut finir de plusieurs façons, un connecteur prend sa sortie: un XOR si les issues s'excluent; un OU si plusieurs peuvent survenir ensemble; un ET si toutes surviennent. Chaque issue reçoit son événement.
- Combiner les déclencheurs. Là où une fonction attend plusieurs états, une jonction placée devant elle dit la combinaison.
- Réunir les branches. Là où des branches se rejoignent, nous les réunissons par une jonction du même type que le branchement qui les a ouvertes. Une jonction OU attend les branches que le branchement amont a ouvertes. Elle ne le sait qu'en remontant la chaîne: Nüttgens et Rump montrent que sa sémantique ne se lit pas localement. Une paire de même type se lit et se vérifie. Une branche qui finit sur son propre événement de fin n'a pas de jonction; une boucle place sa jonction XOR avant son branchement XOR.
- Chercher l'événement qui décide. Relire chaque branchement OU ou XOR placé juste après un événement et insérer devant lui la fonction qui décide.
- Attacher les objets. Poser l'unité, les objets d'information et le système sur les fonctions qu'ils concernent.
- Relire la chaîne à voix haute avec le métier. Une EPC correcte se lit comme une suite de phrases, que les experts métier valident sans apprendre les symboles.
Les pièges
L'événement trivial. Écrire «Contrôle terminé» après chaque fonction respecte l'alternance et n'apprend rien. L'événement nomme un état de l'objet, «Facture couverte», que la suite attend. Deux fonctions séparées par un événement vide décrivent souvent une seule étape.
L'événement inatteignable et le blocage. Le CBOK prévient qu'une équipe sans discipline de notation laisse des trous logiques. Une chaîne qui paraît complète cache un événement qu'aucun chemin n'atteint ou une jonction ET placée derrière un branchement XOR. Ce ET attend une branche que le XOR a écartée, et le processus se bloque. La paire de connecteurs de même type prévient ce cas.
La longueur. Chaque fonction apporte au moins un événement. Un processus de trente étapes produit une chaîne d'une soixantaine de nœuds avant les connecteurs, près du double du logigramme du même processus. Les niveaux et les interfaces de processus découpent cette longueur.
La dépendance à l'outil. Selon le CBOK, l'implémentation la plus complète de l'EPC reste dans la famille ARIS. Hors d'ARIS, le modèle s'échange et se maintient plus mal qu'un modèle BPMN. Certains outils traduisent une EPC en BPMN, et l'analyste relit le résultat avant usage.
Le Vorgangskettendiagramm, une mise en page en colonnes
Le Vorgangskettendiagramm (VKD) d'ARIS range les objets d'une EPC étendue en colonnes, une par type: événements, fonctions, unités organisationnelles, données, systèmes. Il porte le même contenu. Les colonnes montrent d'un coup d'œil chaque changement d'unité, de système ou de support de données d'une étape à la suivante, que le placement libre d'une EPC disperse. Le Methodenhandbuch d'ARIS en donne le prix: la disposition séquentielle des fonctions rend les branchements et les boucles de traitement très peu lisibles. Le VKD convient donc à un processus plutôt linéaire. ARIS documente à part une «EPK en colonnes» (Spaltendarstellung), qui est un autre type de modèle.
Considérations IA
Un modèle de langue tire vite une première chaîne d'une procédure écrite ou d'un compte rendu d'entretien. Il propose les fonctions, formule les événements qui les séparent et place les connecteurs. Sur un modèle exporté, il contrôle la syntaxe: un branchement OU ou XOR après un événement, une fonction à deux flèches sortantes, deux événements qui se suivent, une jonction ET derrière un XOR. Il ébauche aussi la traduction d'une EPC en BPMN.
Il ne sait pas qui décide. Le texte source dit «si la facture est couverte» sans nommer qui le vérifie, et le modèle de langue place alors un branchement XOR après l'événement: l'erreur que la notation interdit. L'analyste identifie avec le métier la fonction et l'unité qui décident. Le modèle de langue invente aussi des événements triviaux pour tenir l'alternance. L'attribution des fonctions aux unités engage des responsabilités. L'analyste la valide avec les personnes concernées. Un compte rendu d'entretien ou une procédure de caisse maladie cite souvent des cas réels: des données sur la santé, sensibles au sens de la loi fédérale sur la protection des données. Ils ne vont pas dans un outil public.
Exemples
Une EPC étendue d'une caisse maladie: le remboursement d'une facture de physiothérapie en tiers garant, où l'assuré paie et se fait rembourser. Le concept que le dessin rend visible: là où les branches se rejoignent, la jonction reprend le type du branchement.
- Événement
- Fonction
- Connecteur
- Unité organisationnelle
- Objet d'information
Le XOR du contrôle ouvre deux branches exclusives, et la jonction XOR finale les referme: «Facture traitée» survient quand une seule des deux fonctions, versement ou refus, est terminée. Le ET qui suit «Facture couverte» lance deux fonctions en parallèle, et la jonction ET attend leurs deux résultats avant le versement. Une jonction ET à la place du XOR final attendrait un refus qui ne vient jamais sur une facture couverte.
Visualisations
Chaque forme indique la catégorie de l'objet: un hexagone pour un état, un rectangle arrondi pour une étape, un cercle pour une règle de combinaison. Le dessin se lit de haut en bas, et les connecteurs se distinguent par la marque inscrite dans leur cercle.
Le Methodenhandbuch d'ARIS dessine chaque objet attaché en rectangle, marqué à gauche de l'icône de son type: un groupe de personnes pour l'unité organisationnelle, une fenêtre pour le système applicatif. Un trait relie l'unité à la fonction. Une flèche relie l'objet d'information et dit s'il entre dans la fonction, en sort ou les deux. Nous posons chaque type d'objet du même côté de toutes les fonctions: le lecteur trouve l'unité au même endroit à chaque étape.
Coût
| Phase | Niveau | Justification |
|---|---|---|
| Préparation | Moyen | Les modélisateurs apprennent les règles des connecteurs et conviennent des conventions de nommage des événements et des fonctions. |
| Exécution | Moyen | Chaque fonction demande ses événements et chaque décision sa fonction. Le modélisateur découpe en niveaux une chaîne qui s'allonge vite. |
| Documentation | Élevé | Un changement du processus touche les fonctions, les événements et les objets attachés. Hors d'un référentiel, le modélisateur met à jour chaque objet à la main dans chaque chaîne. |
Outils
Un tableau blanc et des étiquettes en deux formes suffisent pour la première chaîne en atelier. Les outils de dessin généralistes, Visio ou diagrams.net, portent des bibliothèques de formes EPC et conviennent à un modèle isolé. Ils ne vérifient pas la syntaxe. L'outil libre bflow* Toolbox modélise l'EPC et détecte les erreurs de modélisation courantes à l'aide de règles de validation que l'administrateur peut adapter.
ARIS, de Software AG, tient l'EPC comme un modèle de son référentiel. Une fonction ou une unité y existe une fois et se réutilise d'une chaîne à l'autre. Les vues de l'organisation et des données restent reliées aux fonctions. L'outil signale les connexions illégales. ARIS se justifie quand l'organisation modélise ses processus dans la durée.
Sources
- ABPMP, Guide to the Business Process Management Common Body of Knowledge (BPM CBOK), §3.3.4 Event Process Chain (EPC): la définition, l'origine dans ARIS, les cas d'usage, les avantages et les limites de la notation.
- Software AG, ARIS Methodenhandbuch, Version 10.0 Service Release 27, octobre 2024, §3.4.1.2 Ereignissteuerung, ereignisgesteuerte Prozesskette (EPK): la définition de l'événement, le sens des connecteurs dans chaque position, l'interdiction du OU et du XOR après un événement déclencheur et la mention du Vorgangskettendiagramm; aux §3.1.2 et §3.4.1.3, les symboles des objets attachés et le sens des flèches vers les objets d'information.
- Markus Nüttgens, Frank J. Rump, Syntax und Semantik Ereignisgesteuerter Prozessketten (EPK), Promise 2002, CEUR Workshop Proceedings, vol. 65: l'origine à l'Institut für Wirtschaftsinformatik de l'Université de la Sarre avec SAP, les règles de syntaxe de la chaîne, l'interface de processus et la sémantique des jonctions OU.
- eCH, eCH-0158 Conventions de modélisation BPMN pour l'administration publique, V1.2: la norme BPMN retenue pour l'administration publique suisse (eCH-0140) et ses conventions de modélisation.

