Dans cette section, la sémantique de plusieurs métaclasses BPMN Modelio est expliquée afin de les ramener à des considérations concrètes et pratiques.
BPMN Process
Un BPMNProcess est la description d’un workflow particulier sous la forme d’une séquence de BPMNTask, BPMNEvent et autres éléments similaires qui le constituent.
Le terme générique élément de workflow désigne les différents éléments utilisés pour définir le workflow d’un processus, quelle que soit sa nature.
Le terme workflow désigne les éléments de workflow d’un processus et leur séquence.
Un BPMNProcess peut être créé sous un Package, une GeneralClass ou une Operation.
Le terme process désigne un BPMNProcess du point de vue de l’utilisateur (bien qu’en pratique l’utilisateur ne voit même pas les instances de BPMNProcess mais plutôt des instances de BPMNParticipant.)
BPMN Collaboration
Une BPMNCollaboration décrit la manière dont plusieurs BpmnProcess collaborent via des BpmnMessageFlows échangés entre BpmnParticipants.
BPMN Participant
Dans le métamodèle, le comportement exact d’un "système" décrit en BPMN est représenté comme une collaboration entre plusieurs participants. Ces participants sont du type BPMNParticipant.
Au niveau du métamodèle, un BPMNParticipant est le représentant d’un BPMNProcess.
La description d’un système avec BPMN consiste en la création d’au moins une Collaboration BPMN dans laquelle plusieurs participants, représentant plusieurs processus, collaborent pour réaliser le comportement du système.
Classification des Participants
Le point clé est qu’un participant ( BPMNParticipant ) est un objet qui représente un processus ( BPMNProcess ). Il est en quelque sorte une instance du processus.
On distingue plusieurs situations :
-
Le participant ne représente aucun processus (BPMNProcess)
-
Le participant représente un processus (BPMNProcess)
-
Le processus (BPMNProcess) associé possède la collaboration BPMN qui possède le participant.
-
Le processus (BPMNProcess) associé ne possède pas la collaboration BPMN qui possède le participant.
-
Modelio utilise des représentations spécifiques pour les différents participants et permet ou interdit des interactions particulières dans le diagramme en fonction de la nature des participants.
Cas n°1:
Dans cette situation, aucun processus n’est associé au participant (ce qui est autorisé par le métamodèle).
Un tel participant est utilisé pour référencer un processus externe dont seule l’existence, affirmée par la présence du participant est connue. L’utilisateur peut affirmer que le processus existe, mais sa définition n’est pas de la responsabilité de l’utilisateur, ou n’est pas dans le scope du projet. Un tel participant est appelé un participant externe ,
Bien-sûr, le workflow interne du participant n’est pas spécifié. Ses éléments de workflow et leur séquence sont totalement inconnus.
Cas n°2.a:
Dans ce cas, un participant est associé à un processus possédant la collaboration BPMN qui possède le participant.
Un tel participant est appelé un participant local .
Un participant de ce type peut récupérer le workflow exact du BPMNProcess associé. Modelio va donc permettre l’édition de ce BPMNProcess directement dans le participant.
Cas n°2.b:
Ce cas correspond au référencement d’un processus (BPMNProcess) connu et modélisé dans le projet courant mais non lié à la collaboration qui possède le participant.
Le participant représente le processus d’un autre "système". Modelio traite cette distance comme une interdiction de modifier le processus associé directement depuis le participant. Si l’utilisateur a besoin de modifier ce processus, il devra travailler directement dessus.
Un tel participant est appelé un participant référencé ,
Tableau récapitulatif de la classification des participants
Type | Processus associé | Utilisation | Comportement de Modelio dans les diagrammes |
---|---|---|---|
Participant externe |
Pas de processus associé |
Utilisé pour représenter un processus externe |
Pas de workflow visible. Pas d’édition de workflow. |
Participant local |
Possède la collaboration BPMN |
Utilisé pour représenter les processus internes qui sont sous contrôle de de l’utilisateur courant |
Le workflow du processus peut être affiché par le participant. |
Participant référencé |
Défini dans le projet courant, mais ne possédant pas la collaboration BPMN du participant |
Utilisé pour représenter les processus internes qui ne sont pas la responsabilité de l’utilisateur courant. |
Le workflow du processus peut être affiché par le participant. |
BPMN Message Flow
Les Message flows (BPMNMessageFlow) sont utilisés pour les échanges entre participants à l’intérieur d’une Collaboration BPMN. Il portent les messages (BPMNMessage) contenant les informations.
Quand un message flow est établi entre deux participants, il est possible de spécifier une source en spécifiant un élément particulier du workflow du Participant/Processus source, et la même possibilité existe pour le participant cible.
Toutefois, comme mentionné ci-dessus, un participant peut ne pas être associé à un workflow (participant externe), auquel cas il n’est pas possible de spécifier une source ou cible particulière. De tels message flows (BPMNMessageFlow) sont tout de même autorisés, ils sont juste moins précis que les autres. Cette situation correspond au référencement de Processus externes sur lesquels l’utilisateur n’a pas la main.
Exemples de Message flow entre différent participants:
-
M1 et M2: ces message flows connectent un participant local et un participant référencé, les workflow des deux participants sont connus, il est donc possible de spécifier précisément les sources et cibles des message flows.
-
M3 et M4: es message flows connectent un participant référencé et un participant externe, seul le workflow du participant référencé est connu, il n’est donc possible de spécifier précisément les sources et cibles des message flows le participant externe.