On the analysis of CMMN expressiveness: revisiting workflow patterns Renata Carvalho Hafedh Mili
Motivation Les techniques de modélisation des processus classiques Rigides Peu de flexibilité Les techniques déclaratives offrent plus de flexibilité Sont-elles capables de modéliser les mêmes comportements déjà connus et utilisés pour les analystes d’affaires? 2/19
Programme Workflow Patterns CMMN Analyse de l’expressivité de CMMN Workflow Patterns que CMMN peut représenter Workflow Patterns que CMMN ne représente pas complètement Workflow Patterns qui dépendent du soutien d’un moteur CMMN Workflow Patterns qui ne peuvent pas être représentés dans CMMN Conclusions et prochaines étapes 3/19
Workflow Patterns Proposé par Workflow Patterns Initiative en 1999 Décrit les exigences de modélisation de processus d'une manière indépendante de la mise en œuvre Objectifs: Permettre la comparaison entre les différentes techniques de modélisation Amélioration des techniques existantes Soutenir le développement des nouvelles techniques Catégories: le contrôle, les ressources, les données, la gestion des exceptions 4/19
CMMN Case Management Modeling and Notation Norme OMG ( Object Management Group ) pour la gestion des cas Notation déclarative Aucune séquence prédéfinie L’exécution d’un cas est guidée par le knowledge worker Le knowledge worker l’ajuste dans le runtime Discretionary items Centré sur les données 5/19
CMMN - Exemple 6/19
CMMN - Exemple TODOPLANNINGEVENTS Triage Physician Care Blood Test X-Ray Take Prescribed Drugs Discharge Authorization 7/19
CMMN 8/19
Analyse de l’expressivité de CMMN Les Workflow Patterns que CMMN peut représenter Exclusive Choice La divergence d'une branche en deux ou plusieurs branches Lorsque la branche entrante est activée, le thread de contrôle est transmis à l'une des branches sortantes 9/19
Analyse de l’expressivité de CMMN Workflow Patterns que CMMN peut représenter Synchronization La convergence de deux ou plusieurs branches en une seule branche Le thread de contrôle passe à la branche suivante lorsque toutes les branches d'entrée ont été activées 10/19
Analyse de l’expressivité de CMMN Workflow Patterns que CMMN peut représenter Cancel Region La possibilité de désactiver un ensemble de tâches dans une instance de processus S’il y a des tâches déjà exécutées (ou actuellement activées), elles sont retirés 11/19
Analyse de l’expressivité de CMMN Workflow Patterns que CMMN peut représenter Task Precondition (Data Existence ou Data Value) Des conditions préalables sur la base de données qui peuvent être spécifiées pour les tâches, en fonction de la valeur des paramètres spécifiques au moment de l'exécution Une tâche ne peut être exécutée que si la condition associée est positive 12/19
Analyse de l’expressivité de CMMN Workflow Patterns que CMMN ne représente pas complètement Structured Synchronizing Merge Si deux ou plusieurs branches (qui ont divergé plutôt dans le processus) convergent dans une seule branche le thread de contrôle ne passe à la branche suivante que lorsque chaque branche entrante active est exécutée. 13/19
Analyse de l’expressivité de CMMN Workflow Patterns qui dépendent du soutien d’un moteur CMMN CMMN permet la définition des règles: Règle d'applicabilité, d'activation manuel, d’obligation, et de répétition Ces règles doivent être soutenues par le moteur CMMN applicabilité répétition activation manuel obligation 14/19
Analyse de l’expressivité de CMMN Workflow Patterns qui dépendent du soutien d’un moteur CMMN Multiple Instances with a Priori Runtime Knowledge Plusieurs instances d'une tâche peuvent être créées Le nombre requis d’instances dépend d'un certain nombre de facteurs d'exécution, mais on connait au préalable que les instances de cette tâche vont être créées Une fois déclenchées, ces instances sont indépendantes les unes des autres et fonctionnent en même temps Il est nécessaire de synchroniser les instances avant de poursuivre l’exécution du processus Le moteur CMMN peut soutenir ce pattern en utilisant la règle de répétition. 15/19
Analyse de l’expressivité de CMMN Workflow Patterns qui ne peuvent pas être représentés dans CMMN Éviter la concurrence: Critical Section Si deux ou plusieurs sous graphes d'un modèle sont identifiés comme des «sections critiques» lors de l'exécution d'une instance d’un processus donné, seules les tâches dans l'une de ces «sections critiques» peuvent être activées à un moment donné. La gestion des ressources et la gestion des exceptions 16/19
Conclusions Analyse de l’expressivité de CMMN CMMN n’est pas capable de représenter tous les workflow patterns La plupart des workflow patterns de contrôle et des données Très faible soutien pour les workflow patterns de ressources et de gestion des exceptions Avoir une meilleure connaissance des limites de représentation lorsqu’on choisit CMMN pour la modélisation du processus. 17/19
Prochaines Étapes Vérificateur de modèle CMMN Développement d’un moteur CMMN Identifier les extensions qu’on peut ajouter L’utilisation de CMMN dans des domaines pratiques Soins médicaux 18/19
Questions? 19/19