REPUBLIC OF CAMEROON
REPUBLIQUE DU CAMEROUN PEACE - WORK - FATHERLAND
PAIX - TRAVAIL - PATRIE *********
********* UNIVERSITY OF
DSCHANG
UNIVERSITE DE DSCHANG *********
********* POST GRADUATE SCHOOL
ÉCOLE DOCTORALE
DSCHANG SCHOOL OF SCIENCES AND TECHNOLOGY
|
UNITE DE RECHERCHE EN INFORMATIQUE FONDAMENTALE, INGENIERIE ET
APPLICATIONS (URIFIA)
SUJET :
|
|
|
|
Mémoire soutenu publiquement en vue de l'obtention
diplôme de Master en Informatique
Option : Spécialité
:
Par
Matricule : CM-UDS-16SCI2468
Licence en Informatique Fondamentale
Sous la direction de :
Chargé de cours
|
du
Année académique 2020/2021
|
DÉDICACE
i
À mes parents TONLE IGNAS et NOUMBO
SÉRAPHINE.
ii
REMERCIEMENTS
Je voudrais adresser toute ma gratitude à
l'Éternel Dieu qui a permis que j'accomplisse ce travail, et à
toutes les personnes qui m'ont cru capable de pouvoir le faire. C'est
grâce à votre soutien que j'ai trouvé la force et le
courage pour réaliser ce mémoire. Mes sincères
remerciements :
-- Au Dr TCHOUPÉ TCHENDJI Maurice, mon encadreur, pour
la confiance qu'il m'a témoignée en acceptant la direction
scientifique de mes travaux. Je lui suis extrêmement reconnaissant de
m'avoir fait bénéficier tout au long de ce travail de ses
innombrables qualités de chercheurs. Votre esprit d'observation, votre
abnégation au travail ainsi que votre quiétude resteront de
grandes sources d'inspiration pour moi. Soyez assuré de mon attachement
et de ma profonde gratitude.
-- À tous les membres du jury, pour l'immense honneur
que vous m'accordez en acceptant d'examiner ce travail.
-- À tous les enseignants du département de
Mathématiques-Informatique de la faculté des sciences de
l'université de Dschang, pour tous vos enseignements et conseils
judicieux, en particulier au chef de département Pr NKENLIFACK Marcellin
Julius.
-- Au Pr TAYOU DJAMEGNI Clémentin, pour m'avoir
montré quelle peut être l'immense grandeur de la recherche
scientifique.
-- À mon mentor Dr ZEKENG NDADJI Milliam Maxime, en qui
j'ai retrouvé les traits d'un véritable modèle, de par son
immense bienveillance et son irrépressible envie de venir en aide
à ses cadets académiques. Vous êtes, sans conteste, mon
modèle.
-- À mes parents et ma famille pour le soutien
inconditionnel.
-- À mes amis et mes camarades qui m'ont poussé
à me surpasser afin de devenir une meilleure version de
moi-même.
-- À toute l'équipe Africa Systems,
particulièrement à mon oncle tonton ZEBAZE Pierre Roger, pour
toute la confiance qu'il m'accorde et le
REMERCIEMENTS iii
MÉMOIRE - TONLE NOUMBO FRANCK BRUNO URIFIA
leadership qu'il m'inculque; et à monsieur WAMBA Chancel
pour sa bienveillance.
-- À l'équipe SmartCoders, particulièrement
à mon ainé M. MVAH Fabrice pour son coaching.
-- À toutes les personnes qui ont participé de
près ou de loin à mes travaux de recherche et à
l'élaboration de ce mémoire. Je vous serai éternellement
reconnaissant.
iv
TABLE DES MATIÈRES
Dédicace i
Remerciements ii
Table des matières iv
Liste des acronymes vii
Liste des tableaux viii
Table des figures ix
Résumé xi
Abstract xii
Introduction 1
Contexte du travail 1
Problématique étudiée 2
Organisation du manuscrit 3
Chapitre I ? Le Business Process Management
5
I.1 - Introduction 5
I.2 - Les principes clés du Business Process Management
6
I.2.1 - Définitions et exemples 6
I.2.1.1 - Définitions des concepts clés 6
I.2.1.2 - Exemple introductif d'un processus opérationnel
. . 7
I.2.2 - Les concepts de base du BPM 10
I.2.2.1 - Les classes de workflows 10
I.2.2.2 - Cycle de vie du BPM 11
I.3 - Généralités sur la modélisation
des processus opérationnels 12
I.3.1 - Concepts de base 12
I.3.1.1 - L'activité de modélisation 12
I.3.1.2 - Procédure de modélisation d'un processus
opérationnel 14
I.3.2 - Les langages de modélisation de processus 16
I.3.2.1 - La notation BPMN 16
I.3.2.2 - Les réseaux de workflows (Workflow-Nets) 18
I.3.2.3-LelangageYAWL 21
MÉMOIRE - TONLE NOUMBO FRANCK BRUNO URIFIA
TABLE DES MATIÈRES v
I.4 - Les workflows structurés 21
I.4.1 - Définition 22
I.4.2 - Les propriétés des workflows
structurés 23
I.5 - Conclusion 24
Chapitre II Spécification des processus
administratifs avec une
approche orientée scénario 26
II.1 - Introduction 26
II.2 - Le langage de spécification LSAWfP 27
II.2.1 - Modélisation des scenarios à l'aide des
artefacts représentatifs 27
II.2.2 - Déduction du modèle grammatical de
workflow 29
II.2.3 - Acteurs et accréditations 30
II.3 - Méthodologie de spécification et
nécessité d'un outil de spécification 32 II.3.1 -
Méthodologie de spécification des processus LSAWfP . . . . 32
II.3.2 - Nécessité d'un outil de
spécification pour LSAWfP 32
II.4 - Revue des outils existants de spécification des
workflows 34
II.4.1 - Bizagi Modeler 34
II.4.2 - YAWL Process Editor 35
II.4.3 -
BPMN.io 36
II.5 - Conclusion 37
Chapitre III Facilitation de la spécification des
processus administratifs
avec une approche orientée scénario
38
III.1 - Introduction 38
III.2 - Présentation de LSAWfP Editor 39
III.2.1 - Architecture logicielle de LSAWfP Editor 40
III.2.2 - Modélisation graphique des processus 41
III.2.3 - Sauvegarde, visualisation et partage des
spécifications . . . 43
III.2.4 - Interopérabilité avec les autres outils
de LSAWfP 44
III.3 - Principe de conversion d'un GMWf en un diagramme de
workflow
équivalent 44
III.3.1 - Diagramme de workflow 45
III.3.2 - Conversion d'une spécification
non-récursive 45
III.3.3 - Conversion d'une spécification récursive
50
III.4 - Fonction d'export de LSAWfP vers le BPMN XML 2.0 55
III.5 - Conclusion 56
Conclusion générale 58
TABLE DES MATIÈRES vi
MÉMOIRE - TONLE NOUMBO FRANCK BRUNO URIFIA
Problématique étudiée et bilan 58
Analyse critique des résultats obtenus 59
Quelques perspectives 59
Bibliographie 61
Annexe A ? Présentation du contenu des fichiers
générés par LSAWfP
Editor 67
vii
LISTE DES ACRONYMES
BPM Business Process Management;
BPMN Business Process Model and Notation;
DS(E)L Domain Specific (Embeded) Language;
GMAWfP Grammatical Model of Administrative Workflow Process;
GMWf Grammatical Model of Workflow;
LSAWfP Language for the Specification of Administrative
Workflow
Process;
P2PTinyWfMS Peer-to-Peer Tiny Workflow Management System;
UML Unified Modeling Language;
Wf-Net Workflow-Net;
WfM(S) Workflow Management (System);
WfMC Workflow Management Coalition;
XML eXtensible Markup Language;
YAWL Yet Another Workflow Management;
viii
LISTE DES TABLEAUX
I - Liste exhaustive des tâches du processus de
pré-soutenance d'une thèse
de doctorat et de leurs exécutants respectifs.
9
II - Accréditations des différents acteurs
prenant part au processus de pré-
soutenance 32
ix
TABLE DES FIGURES
1 - Les trois phases du cycle de vie BPM (source [1]).
11
2 - Les quatre activités clés du BPM (source
[1]) 13
3 - Quatre constructions de routage basique (source [2]).
14
4 - Procédure de modélisation (source [3])
15
5 - Éléments de base du BPMN (source [4]).
17
6 - Diagramme d'orchestration BPMN du processus de
pré-soutenance. . 19
7 - Constructions de routage d'un réseau de
workflow (source [2]). 20
8 - Exemple d'un réseau de workflow (source [5]).
20
9 - Éléments de base d'un diagramme YAWL
(source [6]). 21
10 - Processus de pré-soutenance speci~é
avec YAWL. 22
11 - Illustration des modèles de workflows
structurés(source [7]). 24
12 - Artefacts représentatifs du processus de
pré-soutenance d'une thèse de
doctorat 28
13 - Méthodologie de modélisation d'un
processus à l'aide de LSAWfP
(source [8]) 33
14 - Capture d'écran de Bizagi Modeler 35
15 - Capture d'écran de YAWL Process Editor
36
16-Captured'
écrandeBPMN.io
37
17 - Le logo de LSAWfP Editor 39
18 - L'architecture de LSAWfP Editor 40
19 - Panneau des artefacts et des scénarios sur
LSAWfP Editor 41
20 - Panneau d'edition des modèles sur LSAWfP
Editor 42
21 - Capture d'écran de LSAWfP Editor 43
22 - D'un GMWf vers un diagramme de workflow
équivalent 45
23 - Exemple d'un diagramme de workflow: Processus
d'expédition d'une
commande 45
24 - Équivalence entre les règles de
Thompson et les diagrammes de workflows 46
25 - Fonctionnalité d'export dans LSAWfP Editor
55
TABLE DES FIGURES X
MÉMOIRE - TONLE NOUMBO FRANCK BRUNO URIFIA
26 - Visualisation du modèle BPMN
généré par LSAWfP Editor sur
BPMN.io 56
xi
RÉSUMÉ
Le travail réalisé dans ce mémoire
s'inscrit dans le cadre du projet SmartWorkflow [9, 10, 8, 11, 12],
initié par Tchoupé en collaboration avec Parigot. Ce projet
consiste précisément en la modélisation des processus
opérationnels avec une approche grammaticale; et en l'exécution
décentralisée et centrée artefact des
spécifications obtenues, sur une architecture orientée service.
Un langage de modélisation, une méthodologie de
spécification ainsi qu'un modèle d'exécution ont
déjà été proposés.
Avant d'être automatisé, un processus
opérationnel doit être spécifié dans un formalisme
décrivant l'ensemble des tâches qui le compose, les relations de
précédence d'exécution qui les lient, les données
qu'elles consomment et produisent, et les acteurs chargés de les
exécuter. Le processus de spécification est
généralement facilité grâce à l'emploi d'un
outil dit d'aide à la spécification. C'est ce à quoi nous
nous attelons dans ce mémoire : la production d'un outil d'aide à
la spécification des processus en LSAWfP (un langage de
modélisation des processus administratifs avec une approche
orientée scénario). Après une revue de la
littérature sur le Business Process Management (BPM) et sur les travaux
de modélisation effectués dans SmartWorkflow, nous
étudions et analysons les principales fonctionnalités
communément offertes par les outils d'aide à la
spécification. Nous proposons également une méthode de
conversion formelle des spécifications LSAWfP vers les autres langages
de workflows. Nous terminons par une application directe de cette
méthode à travers la proposition d'une fonction d'export de
LSAWfP vers le BPMN sous le format BPMN XML 2.0.
Mots clés : SmartWorkflow,
Spécification de workflow, LSAWfP, grammaires, processus
opérationnel, BPM, conversion de spécification, BPMN XML
xii
ABSTRACT
The work presented here belongs to the SmartWorkflow project
[9, 10, 8, 11, 12], initiated by Tchoupé and Parigot. This project
consists precisely of the modeling of business processes with a grammatical
approach; and in the decentralized and artifact-centered execution of the
resulting specifications, on a service-oriented architecture. A modeling
language, a specification methodology, and an execution model have already been
proposed.
Before being automated, a business process must be specified
in a formalism describing the set of tasks that compose it, the execution
precedence relations that bind them, the data that they consume and produce,
and the actors responsible for executing them. The specification process is
commonly facilitated using a BPM tool. This is what we are working on in this
thesis : the production of a BPM tool for LSAWfP (a business process modeling
language with a scenario-oriented approach). After a review of the literature
on Business Process Management (BPM) and on the modeling work achieved in
SmartWorkflow, we study and analyze the main functionalities commonly offered
by BPM tools. We also introduce a method for the formal conversion of LSAWfP
specifications to other workflow languages. We conclude with a direct
application of this method through the proposal of an export function from
LSAWfP to BPMN in the BPMN XML 2.0 format.
Keywords : SmartWorkflow, Workflow
specification, LSAWfP, grammars, business process, BPM, BPM tool, BPMN
XML
1
INTRODUCTION
SOMMAIRE
Contexte du travail 1
Problématique étudiée 2
Organisation du manuscrit 3
Contexte du travail
La gestion des processus opérationnels (Business
Process Management, en abrégé BPM) a suscité une attention
considérable ces dernières années en raison de son
potentiel d'augmentation significative de la productivité et de la
réduction des coûts des entreprises. Elle est définie par
Wil M. P. Van Der Aalst comme étant "la discipline qui combine les
connaissances issues des technologies de l'information et celles issues des
sciences de la gestion et les applique aux processus opérationnels des
entreprises" [1]. Le BPM vise à améliorer les processus
opérationnels en se concentrant sur leur automatisation, leur analyse,
leur implication dans les opérations de prise de décision
(management) et l'organisation du travail. C'est pourquoi il est souvent
accompagné de logiciels permettant de gérer, contrôler et
soutenir les processus opérationnels : ces logiciels sont appelés
Systèmes de Gestion de Workflow (SGWf) [13].
Traditionnellement, l'automatisation d'un processus
opérationnel passe par sa modélisation formelle dans un langage
compréhensible par un SGWf. Plusieurs langages ont de ce fait
émergé. Ces derniers permettent chacun dans un formalisme
spécifique, de modéliser l'ensemble des processus
opérationnels d'une entreprise. La notation Business Process
Model and Notation (BPMN) [14] et le langage Yet Another
Workflow Language (YAWL) [15] font partie des plus utilisés par les
professionnels du domaine. La spécification d'un processus
opérationnel à l'aide d'un langage de modélisation est
généralement simplifiée par l'utilisation d'un
PROBLÉMATIQUE ÉTUDIÉE 2
MÉMOIRE - TONLE NOUMBO FRANCK BRUNO URIFIA
outil dit d'aide à la spécification. Ces outils
offrent de nombreuses fonctionnalités allant de la simple
création d'un modèle de processus à son partage, sa
validation, sa correction voire son export vers d'autres langages de
modélisation et son exécution. Ces outils au-delà de
l'aide à la spécification, jouent un rôle primordial dans
l'automatisation des processus.
Dans l'optique de rendre plus accessible l'automatisation des
processus et faciliter la gestion complètement
décentralisée de ceux-ci, Tchoupé et Parigot initient le
projet SmartWorkflow. Ce projet a pour but la gestion
décentralisée des processus opérationnels à l'aide
d'une approche grammaticale [9, 10, 8, 11, 12]. Du côté de la
modélisation, SmartWorkflow a fait naitre LSAWfP (a Language for the
Specification of Administrative Workflow Processes) [8], un langage de
spécification des processus administratifs avec une approche
orientée scénario. Basé sur une variante des grammaires
attribuées, ce langage permet de capturer parfaitement les modèle
de cycle de vie, informationnel et organisationnel des processus qu'il
spécifie. Il fournit un formalisme graphique simple permettant de
modéliser les scénarios d'exécution de chaque processus
sous la forme d'arbres annotés. Il met également un accent
particulier sur la modélisation des perceptions que les acteurs ont sur
les processus et leurs données. Un autre principal avantage de ce
langage est sa base mathématique solide, principalement
constituée d'un modèle grammatical qui peut être
étudié formellement de la même manière que les
réseaux de Petri et les autres langages de ce type. Côté
exécution, un modèle d'exécution distribué
centré artefact [10] ainsi qu'un prototype de SGWf (P2PTinyWfMS)
[11] ont vu le jour.
Problématique étudiée et
objectifs
En l'état actuel du projet, la modélisation
effective d'un processus administratif à l'aide de LSAWfP soulève
un problème : celui de l'absence d'un outil d'aide à la
spécification des processus modélisés avec ce dernier. En
effet, les concepts manipulés par LSAWfP (grammaires, artefacts,
accréditations) ne sont pas forcément évidents à
comprendre pour un concepteur lambda. De plus, l'approche orientée
scénario que prône ce dernier, est nouvelle et singulière
dans le domaine du BPM. Cette singularité constitue également un
frein, car LSAWfP pourrait rencontrer des difficultés à trouver
une place dans le quotidien des concepteurs de systèmes workflows,
habitués à d'autres langages.
Dans le présent travail, nous nous intéressons
à la facilitation de la spécification des processus
administratifs avec une approche orientée scénario. À cet
effet, nous
ORGANISATION DU MANUSCRIT 3
MÉMOIRE - TONLE NOUMBO FRANCK BRUNO URIFIA
nous attelons à donner une réponse au
questionnement suivant : afin de réaliser une spécification
à l'aide de LSAWfP d'un processus administratif quelconque et sachant
que celle-ci passe par plusieurs étapes, certaines faisant intervenir
des notions propres aux grammaires, quels moyens peuvent être mis en
place pour faciliter autant que faire se peut la spécification de ce
processus?
La réponse immédiate qui nous vient à
l'esprit est la création d'un outil d'aide à la
spécification. Néanmoins cette réponse apparente nous
conduit naturellement à nous poser plusieurs autres questions : quelles
sont les principales fonctionnalités offertes par les outils existants
d'aide à la spécification? Quelles sont les
fonctionnalités que devra proposer le nôtre? Comment pourra-t-on
le rendre interopérable avec les outils de modélisation
existants?
Les réponses apportées à ces
différentes interrogations nous permettront d'atteindre notre objectif
principal à savoir, la production d'un outil interopérable d'aide
à la spécification des processus modélisés avec
LSAWfP. Nos objectifs spécifiques sont les suivants:
1. Proposer une architecture logicielle pour un
système de spécification des processus administratifs avec un
accent particulier sur la notion de scénario.
2. Mettre en place un DSEL (Domain Specific Embedded
Language) JSON (JavaScript Object Notation) pour la création, la
sauvegarde et le partage des spécifications LSAWfP.
3. Proposer une méthode formelle pour la conversion du
flot de contrôle des processus modélisés par LSAWfP vers
des diagrammes de workflows équivalents.
4. Créer un prototype du système que nous
proposons comme preuve de concepts; l'outil va utiliser le DSEL proposé
pour sauvegarder les spécifications faites sur ce dernier, et va fournir
une implémentation de la méthode de conversion dans le but
d'offrir une fonction d'exportation du flot de contrôle des
spécifications LSAWfP vers le format BPMN 2.0 XML.
Organisation du manuscrit
La suite de ce document est structurée en trois
chapitres, suivis d'une conclusion et d'une annexe. Elle est organisée
comme suit:
Chapitre 1 - Le Business Process
Management : nous présentons ici les différents concepts
autour du Business Process Management. Plus précisément,
ORGANISATION DU MANUSCRIT 4
MÉMOIRE - TONLE NOUMBO FRANCK BRUNO URIFIA
nous présentons successivement les principes
clés du BPM, la modélisation des processus à l'aide de ce
dernier et les workflows structurés.
Chapitre 2 - La spécification des
processus administratifs avec une approche orientée scénario :
ici, nous présentons les contributions réalisées dans
le cadre du projet de Tchoupé et al, en lien direct avec les travaux que
nous menons. Nous présentons ensuite la nécessité pour
LSAWfP de disposer d'un outil d'aide à la spécification et nous
terminons par une revue de quelques outils existants d'aide à la
spécification.
Chapitre 3 - Facilitation de la
spécification des processus administratifs avec une approche
orientée scénario : dans ce chapitre, nous commençons
par présenter les fonctionnalités principales et l'architecture
logicielle de LSAWfP Editor, notre outil d'aide à la
spécification. Nous présentons ensuite la méthode formelle
que nous avons établie pour la conversion des spécifications
LSAWfP. L'on termine par la présentation d'une implémentation
directe de cette méthode au sein de notre outil de spécification
: une fonction d'export vers le BPMN XML 2.0.
Conclusion générale - Nous
effectuons ici un bilan de notre travail ainsi qu'une analyse critique des
résultats obtenus. Quelques perspectives d'amélioration de
résultats sont également présentées.
Annexe A - Présentation du contenu
des fichiers générés par LSAWfP Editor : dans cette
annexe, nous présentons des extraits de fichiers
générés par notre outil. Nous présentons
également l'entièreté du DSEL JSON que nous avons
proposé pour la sauvegarde des spécifications LSAWfP.
5
I
CHAPITRE
LE BUSINESS PROCESS MANAGEMENT
SOMMAIRE
I.1 - Introduction 5
I.2 - Les principes clés du Business Process Management
6
I.3 - Généralités sur la
modélisation des processus opérationnels 12
I.4 - Les workflows structurés 21
I.5 - Conclusion 24
I.1. Introduction
Le travail realisé dans ce memoire s'inscrit dans le
cadre du Business Process Management, un sous-domaine du génie logiciel
qui s'intéresse à l'automatisation des processus
opérationnels. Un processus opérationnel peut être
défini comme un ensemble de tâches réalisées dans le
but d'accomplir un objectif de business [13].
Le Business Process Management tire ses racines des
premières études réalisées au début du
siècle dernier, sur la conception organisationnelle [16]. Cet
intérêt initial s'est développé par la suite pour
devenir une discipline du génie industriel et est resté
axé sur l'analyse des activités opérationnelles dans le
secteur manufacturier. La montée des services et l'importance
grandissante des technologies de l'information pour la conception des processus
(qui sont au centre du fonctionnement des entreprises) ont élevé
ce domaine au rang de discipline complète du génie logiciel,
quittant ainsi le génie industriel. Du fait de cette émergence,
ce domaine s'est également retrouvé au coeur de plusieurs
recherches scientifiques, en raison du rôle capital qu'il joue à
présent, au sein de nombreuses organisations et entreprises.
I.2. LES PRINCIPES CLÉS DU BUSINESS PROCESS MANAGEMENT
6
MÉMOIRE - TONLE NOUMBO FRANCK BRUNO URIFIA
I.2. LES PRINCIPES CLÉS DU BUSINESS PROCESS MANAGEMENT
7
Dans ce chapitre, nous présentons le BPM et les
principes clés qui y sont associés; la modélisation des
processus avec ce dernier, ainsi que les workflows structurés.
I.2. Les principes clés du Business Process
Management
I.2.1. Définitions et exemples
Pour mieux appréhender le Business Process Mangement,
il est essentiel de définir quelques concepts de base de ce dernier. Les
notions de workflow, processus opérationnel, langage de workflow,
système de gestion de workflows, etc. doivent être
élucidées afin d'avoir une vision concrète du BPM et des
perspectives qu'il offre.
I.2.1.1. Définitions des concepts clés
Un processus opérationnel peut être défini
de manière informelle comme un ensemble de tâches ordonnées
selon un modèle spécifique et dont l'exécution produit un
service ou un objectif d'entreprise particulier [13]. Lorsqu'un tel processus
est géré électroniquement, on parle de workflow.
L'objectif d'un workflow est de rationaliser, coordonner et contrôler les
processus opérationnels dans un environnement organisé,
distribué et informatisé. Le processus de recrutement ou encore
la demande de prise de congés sont des exemples courants de processus
opérationnels au sein d'une entreprise. Les termes "processus
opérationnels" et "workflows" sont employés comme synonymes dans
la suite de ce manuscrit. Cet amalgame est également fait dans la
plupart des travaux de recherche portant sur le BPM.
La Workflow Management Coalition 1 (WfMC)
[17] définit la gestion des workflows (GWf) comme la
modélisation et la gestion informatique de toutes les tâches et
des différents acteurs impliqués dans l'exécution d'un
processus opérationnel. La GWf est réalisée à
l'aide des Systèmes de Gestion de Workflow (SGWf) : il s'agit
de systèmes complexes dont le but est d'automatiser les workflows en
fournissant un cadre approprié pour faciliter la collaboration entre les
acteurs impliqués dans l'exécution de ces derniers [13, 1]. Les
SGWf sont composés d'outils logiquement orchestrés pour
spécifier, optimiser, automatiser
1. La réputation croissante des workflows a conduit
à la création, en 1993, de la Workflow Management Coalition
(WfMC) en tant qu'organisation chargée de développer des
normes dans ce domaine. Site officiel de la WfMC :
https://www.wfmc.org/.
MÉMOIRE - TONLE NOUMBO FRANCK BRUNO URIFIA
et surveiller les processus opérationnels [17].
Techniquement, la gestion d'un processus selon la GWf se fait en deux phases
[18] :
1. la phase de modélisation du processus : le
processus est étudié puis spécifié à l'aide
d'un langage (généralement graphique) appelé langage
de workflow. La spécification qui en résulte est
nommée modèle de workflow;
2. la phase d'instanciation et d'exécution du
processus : le modèle de workflow est introduit dans un WfMS qui
instancie et orchestre ensuite l'exécution du processus sous-jacent.
Sachant que les SGWf sont des systèmes autonomes et
préconçus, automatiser un processus opérationnel revient
à le spécifier dans un langage de workflows.
La GWf se concentre principalement sur l'automatisation des
processus opérationnels. Elle ne s'intéresse pas
particulièrement à d'autres aspects tels que l'analyse, la
vérification et la gestion des workflows (modèles), contrairement
au BPM qui en a fait ses fondements [19]. La gestion des processus
opérationnels (BPM) est une discipline qui combine les connaissances des
technologies de l'information et celles des sciences de la gestion pour les
appliquer aux processus opérationnels [1]. Elle peut être
considérée comme une extension de la GWf, car en plus de la
prendre en charge, elle fournit des outils supplémentaires pour
améliorer les processus opérationnels. Raison pour laquelle le
terme "Gestion de workflows" tend à disparaître au profit de
"Gestion des processus opérationnels".
I.2.1.2. Exemple introductif d'un processus
opérationnel
Le BPM est une technologie importante, car elle simplifie
l'automatisation des processus opérationnels, qui sont à la base
du fonctionnement des entreprises et des organisations. Les processus
opérationnels sont omniprésents dans notre société.
Les exemples sont divers et comprennent les processus suivants:
-- La conception et le développement d'un logiciel par
une équipe (en
particulier lorsque les membres sont géographiquement
dispersés) [20]; -- La rédaction simultanée d'un article
scientifique ou la documentation d'un
produit par plusieurs chercheurs (édition
coopérative) [20];
-- Le suivi d'un dossier médical [21];
-- Le processus d'inscription des étudiants dans une
faculté; [22]
-- Le retrait d'une grosse somme d'argent au guichet d'une
banque;
-- La procédure de prise de congés dans une
institution gouvernementale;
-- Le processus d'examen par les pairs d'un article dans un
journal scientifique [9, 23];
I.2. LES PRINCIPES CLÉS DU BUSINESS PROCESS MANAGEMENT
8
MÉMOIRE - TONLE NOUMBO FRANCK BRUNO URIFIA
-- Le processus de pré-soutenance d'une thèse de
doctorat. [24, 25, 26];
Le processus de dépôt d'une thèse de
doctorat présente toutes les caractéristiques du type de
processus (processus administratifs) étudié dans ce manuscrit. De
plus ce dernier reste non automatisé au sein de notre université.
Il sera par conséquent utilisé comme exemple courant tout au long
du manuscrit. Notre description de ce processus s'inspire de celles faites dans
[24, 25, 26], et d'une enquête menée auprès d'un enseignant
de la faculté des sciences :
Exemple 1 Le processus de dépôt d'une
thèse de doctorat au sein de l'université de Dschang (exemple
courant):
Le processus est enclenché lorsque le candidat
dépose son dossier de demande de pré-soutenance auprès de
son équipe dirigeante (les encadreurs). Ce dossier est constitué
de différents éléments tels que les exemplaires de
thèse, le résumé étendu, les photocopies
certifiées des reçus de paiement, le rapport des
séminaires et la décision d'admission en thèse.
-- Une fois le dossier de pré-soutenance
reçu, son équipe dirigeante le complètera en y associant
les pièces complémentaires (rapport scientifique du directeur de
thèse, liste des potentiels experts et rapport du responsable de
laboratoire)
-- Le dossier est par la suite envoyé au chef de
département. Avec l'aide d'un expert chargé d'approuver les
articles scientifiques produits par le candidat, le chef de département
vérifie la conformité de l'ensemble du dossier;
-- Si le dossier n'est pas conforme, il rédige un
rapport contenant le motif de rejet, puis l'envoie à l'équipe
dirigeante et le processus s'achève. Dans le cas contraire, il va
simultanément contacter divers experts dans le but de former un jury
d'expertise (composé de 3 experts dans notre cas);
-- Une demande d'expertise sera envoyée à
chaque potentiel expert. Après réception de son invitation,
chaque expert effectuera une pré-analyse de celle-ci, dans le but de
confirmer ou refuter sa participation;
-- Si un expert se retrouve indisponible pour
l'événement, il rédige un justificatif de
déclinaison et le fait parvenir au chef de département. Dans le
cas contraire, il mène une étude approfondie de la thèse,
rédige un rapport contenant ses corrections et ses
disponibilités, puis l'envoi au chef de département;
I.2. LES PRINCIPES CLÉS DU BUSINESS PROCESS MANAGEMENT
9
MÉMOIRE - TONLE NOUMBO FRANCK BRUNO URIFIA
-- En cas de refus d'expertise, le chef de
département sélectionne un nouvel expert et lui transmet une
invitation pour l'évaluation de la thèse en cours de
traitement.
-- Une fois tous les rapports parvenus, le chef de
département les renvoie à l'équipe dirigeante et le
candidat. Une fois les corrections terminées, le chef de
département à l'aide des rapports, fixe une date et un lieu
convenant à l'ensemble des intervenants, et les notifie.
À partir de cette description, il est facile
d'identifier toutes les tâches à exécuter, leur
enchaînement, les acteurs impliqués et les tâches qui leur
sont attribuées. Dans le cas présent, huit acteurs sont
impliqués : le candidat (Cdt) qui est responsable de
l'initiation du processus, l'équipe dirigeante (ED), le chef de
département (CD) et les cinq experts (EX1,EX2 et EX3).
Un récapitulatif de l'attribution des tâches est
présenté dans le tableau I. Nous avons associé des
symboles aux tâches afin de pouvoir les manipuler aisément dans
les diagrammes qui suivront.
TABLE I - Liste exhaustive des tâches du processus
de pré-soutenance d'une thèse de doctorat et de leurs
exécutants respectifs.
Tâches
|
Symboles
|
Acteurs
|
Constitution et soumission du dossier de pré-A
soutenance à l'ED
|
|
Cdt
|
Complétion du dossier et soumission au CD
|
B
|
ED
|
Vérification de la conformité du dossier
|
C
|
CD
|
Rédaction du motif de rejet et renvoi à
l'ED
|
D
|
CD
|
Sélection d'un expert X, rédaction d'une
invitation et envoi
|
E1 (resp. E2, E3)
|
CD
|
Pré analyse de l'invitation et du projet
|
F1 (resp. F2, F3)
|
EX1 (resp. EX2, EX3)
|
Rédaction d'un justificatif de déclinaison et
renvoi au CD
|
G1 (resp. G2, G3)
|
EX1 (resp. EX2, EX3)
|
Expertise de la thèse
|
H1 (resp. H2, H3)
|
EX1 (resp. EX2, EX3)
|
Rédaction d'un rapport contenant les
corrections et les disponibilités, puis envoi au
CD
|
I1 (resp. I2, I3)
|
EX1 (resp. EX2, EX3)
|
Renvoi des rapports à l'ED et le
Candidat
|
J
|
CD
|
Choix de la date et l'heure de la pré-
soutenance et envoi aux différents intervenants
|
K
|
CD
|
I.2. LES PRINCIPES CLÉS DU BUSINESS PROCESS MANAGEMENT
10
MÉMOIRE - TONLE NOUMBO FRANCK BRUNO URIFIA
I.2.2. Les concepts de base du BPM
Une vue de haut niveau du BPM révèle que son
cycle de vie se compose de trois phases sur lesquelles il est possible
d'itérer indéfiniment : les phases de (re)conception,
d'implémentation/configuration, et d'exécution &
ajustement [1] (voir fig. 1). Au cours de ce cycle de vie, quatre
activités clés, à savoir la modélisation
(model), la mise en oeuvre (enact), l'analyse (analyse) et la
gestion (manage) (voir fig. 2), sont réalisées [1]. Dans
cette section portant sur les concepts de bases du BPM, nous commencons par une
revue de la litterature sur la classification des workflows et nous terminons
par une présentation du cycle de vie BPM selon Van der Aalst.
I.2.2.1. Les classes de workflows
Les auteurs de [13] mènent une étude sur la
classification des workflows. Dans celle-ci, ils signalent l'absence d'une
approche communément acceptée pour catégoriser les
workflows. Il existe donc plusieurs approches lorsqu'on souhaite les
classifier.
La classification des workflows en fonction de la nature et du
comportement des processus automatisés est l'une des plus courantes dans
la littérature. Selon elle, les workflows sont divisés en trois
groupes : les workflows de production, les workflows
administratifs et les workflows ad-hoc [27, 2]. Les workflows
de production sont ceux qui automatisent des processus
structurés qui ne subissent que très peu (voire pas du tout) de
modifications dans le temps : tous les scénarios sont connus à
l'avance et la plupart des tâches sont exécutées par des
systèmes. Les workflows administratifs s'appliquent aux
processus variables pour lesquels tous les cas sont connus, c'est-à-dire
les processus dont les tâches sont prévisibles et dont les
règles d'ordonnancement sont simples et clairement définies. Dans
ces workflows, les changements sont plus fréquents que dans ceux de
production et les acteurs humains sont plus impliqués dans
l'exécution des tâches. Notons que ce type de workflow apporte une
plus-value considérable aux organisations de l'administration publique
[28]. Notre exemple courant, le processus de pré-soutenance d'une
thèse de doctorat, est un processus administratif. Les workflows
administratifs sont à l'opposé des workflows ad-hoc, qui
automatisent des processus pour lesquels il n'est pas toujours possible de
définir l'ensemble des règles d'ordonnancement à l'avance.
Ces processus ne sont donc que partiellement spécifiés et peuvent
subir de nombreuses mises à jour au cours du temps.
Il existe de nombreux autres types de workflows dans la
littérature. Nous pouvons les workflows scientifiques [29], les
workflows orientés services [30] et
I.2. LES PRINCIPES CLÉS DU BUSINESS PROCESS MANAGEMENT
11
MÉMOIRE - TONLE NOUMBO FRANCK BRUNO URIFIA
les workflows structurés [31, 32, 33]. Ces
derniers joueront un rôle particulier dans le cadre de notre travail,
raison pour laquelle ils seront présentés plus en détail
dans la dernière partie de ce chapitre. Les workflows restants ne seront
pas présentés, car ils ne sont pas d'un grand
intérêt pour le travail que nous effectuons.
I.2.2.2. Le cycle de vie du BPM
FIGURE 1 - Les trois phases du cycle de
vie BPM (source [1]).
L'automatisation d'un processus donné à l'aide
du BPM commence par sa modélisation à l'aide d'un ou plusieurs
langages de workflow [18]. Cette "modélisation" est
initiée pendant la phase de "(re)conception" du cycle de vie du
BPM. Les modèles de workflows obtenus au cours de cette activité
peuvent être analysés (activité "analyse") par des
simulations, ou des algorithmes de model checking2 (pour
vérifier si les modèles sont corrects). La figure 1 nous montre
que la phase de (re)conception est suivie de celle d'
"implémentation/configuration". Dans cette phase, les
modèles de workflows obtenus précédemment sont convertis,
si nécessaire, en modèles de workflow exécutables; puis
utilisés pour configurer le SGWf : ceci conclut l'activité de
modélisation. Après la phase
"implémentation/configuration" vient la phase
"d'exécution & ajustement". Au cours de cette
dernière phase, le workflow est instancié, exécuté
et géré en fonction des scénarios prévus lors de la
modélisation du processus (activités "mise en oeuvre" et
"gestion"). De plus, lorsqu'une instance de workflow est en cours
d'exécution, les données produites et enregistrées peuvent
être analysées (pour découvrir les éventuels goulots
d'étranglement, pertes et déviations) en vue d'une
2. Le model checking est une technique automatisée qui,
étant donné un modèle à états finis d'un
système et une propriété formelle, vérifie
systématiquement si cette propriété est valable pour (un
état donné dans) ce modèle [34].
I.3. GÉNÉRALITÉS SUR LA MODÉLISATION
DES PROCESSUS OPÉRATIONNELS 12
MÉMOIRE - TONLE NOUMBO FRANCK BRUNO URIFIA
éventuelle amélioration. Si suffisamment
d'améliorations possibles sur le modèle de workflow sont
détectées, le cycle peut être relancé pour les
appliquer.
I.3. Généralités sur la
modélisation des processus opérationnels
Les processus opérationnels sont au coeur du
fonctionnement de toute organisation. Il est donc crucial pour ces
organisations de les affiner afin d'être aussi efficace que possible. La
compréhension des processus opérationnels est un facteur
clé lorsque l'objectif d'une organisation est de disposer d'un BPM
efficace. Afin de se concentrer sur ses points forts, de gérer les
ressources et d'éliminer les faiblesses d'une entreprise, les
organisations doivent modéliser et documenter leurs processus. Dans le
contexte du BPM, les modèles de processus jouent un rôle
primordial. La modélisation des processus, partie indissociable
du BPM, vise à décrire, normaliser et réorganiser les
processus opérationnels. Elle aide les organisations à mieux
comprendre leurs processus opérationnels et à distinguer les
processus à valeur ajoutée de ceux qui ne le sont pas. De plus,
elle révèle les processus opérationnels peu clairs ou
compliqués, les résultats défectueux ou les efforts
inutiles [35]. Cette section portera sur les concepts de base de la
modélisation des processus opérationnels, et la
présentation de quelques langages de modélisation de ces
processus.
I.3.1. Concepts de base
I.3.1.1. L'activité de modélisation
La modélisation des processus est une activité
cruciale dans la WfM/BPM. Comme mentionné ci-dessus (sec. I.2.2.2), elle
est réalisée à l'aide de langages
spécialisés appelés langages de workflow.
Plusieurs langages de workflow ont déjà été
développés. Certains d'entre eux (BPM, diagrammes
d'activité UML) sont informels (c'est-à-dire qu'ils
n'ont pas de sémantique bien définie et ne permettent pas
d'analyse [1, 36]) tandis que d'autres (WF-Net, YAWL) sont basés sur des
outils mathématiques (formels) puissants (réseaux de Petri).
Néanmoins, ils permettent tous d'exprimer dans un diagramme
(appelé modèle de workflow), les tâches qui composent un
processus donné et l'ordonnancement de ces tâches. Plus
précisément, les langages de workflows permettent de
décrire le comportement des processus à travers la
représentation (entre autres) [37] :
-- Des tâches qui constituent la partie principale du
processus;
I.3. GÉNÉRALITÉS SUR LA MODÉLISATION
DES PROCESSUS OPÉRATIONNELS 13
MÉMOIRE - TONLE NOUMBO FRANCK BRUNO URIFIA
FIGURE 2 - Les quatre activités
clés du BPM (source [1]).
-- Des informations et des ressources relatives aux
différentes tâches;
-- Des séquences ou dépendances entre ces
tâches;
-- Des événements de déclenchement et de
fin des tâches.
Les tâches sont la base de tout workflow; une
tâche est la plus petite unité de décomposition
hiérarchique d'un processus [9]. Elle représente tout travail
effectué dans le cadre d'un processus. Le terme ressource quant
à lui fait référence à un système ou
à un humain qui peut exécuter une tâche. Il est
également reconnu comme acteur, participant, partie prenante, agent
ou utilisateur selon le contexte. Modèles de
routage
Pour atteindre ses objectifs, tout langage de workflow doit,
pour un processus donné, permettre au minimum d'exprimer ses
tâches et leurs acheminements (flot de contrôle). Le flot
de contrôle des tâches est communément appelé le
modèle de cycle de vie du processus étudié [38,
39]. Il existe un certain nombre de modèles de routage identifiés
dans la littérature comme modèles de base : ce sont les routages
séquentiels, parallèles, alternatifs ou conditionnels et
itératifs [2] (voir fig. 3).
-- Le routage séquentiel exprime le fait que les
tâches doivent être exécutées l'une après
l'autre (tâche A avant les tâches B et C
dans la figure 3(a));
-- Le routage parallèle est utilisé pour
spécifier l'exécution potentiellement simultanée de
certaines tâches. Les tâches B et C de la figure
3(b) peuvent être exécutées en même temps; dans ce
cas, les tâches A et D sont considérées
comme des passerelles : On dit que A est une passerelle
AND-Split tandis que D est une passerelle
AND-Join;
I.3. GÉNÉRALITÉS SUR LA MODÉLISATION
DES PROCESSUS OPÉRATIONNELS 14
MÉMOIRE - TONLE NOUMBO FRANCK BRUNO URIFIA
FIGURE 3 - Quatre constructions de routage
basique (source [2]).
-- Avec le routage alternatif, on peut modéliser une
décision : c'est-à-dire le choix d'exécuter une
tâche plutôt qu'une autre à un moment donné. Dans la
figure 3(c), les tâches B et C ne peuvent pas
être exécutées toutes les deux; dans ce cas, A est
une passerelle OR-Split et D est une passerelle
OR-Join;
-- Dans certains cas, il est nécessaire
d'exécuter une tâche plusieurs fois. Dans la figure 3(d), la
tâche B est exécutée une ou plusieurs fois.
Lorsqu'un langage de workflow permet uniquement de
spécifier le routage des tâches, ne s'intéresse pas
à la modélisation des données consommées et
produites lors de l'exécution de ces tâches et n'accorde qu'un
rôle secondaire aux acteurs, on dit qu'il est centré
processus. C'est le cas pour tous les langages mentionnés
précédemment (BPMN, WF-Net, diagrammes d'activité UML et
YAWL). Ce type de langage de workflow est fréquemment appelé
"langage de workflow traditionnel". Certains feront l'object d'une
sous-section de la partie suivante.
I.3.1.2. Procédure de modélisation d'un
processus opérationnel
La modélisation des processus opérationnels
(Business Process Modeling) est la représentation analytique ou,
plus simplement, l'illustration des processus opérationnels d'une
organisation [40]. Comme dit ultérieurement, c'est au cours de la phase
"conception" du cycle de vie du BPM, que les processus
opérationnels du monde réel sont mis en correspondance avec les
modèles. La modélisation des processus opérationnels
est un concept clé du BPM, qui constitue un moyen de communication
entre les parties prenantes des processus et crée également une
compréhension commune et claire des processus modélisés
[41].
En général, les modèles de processus sont
caractérisés par trois propriétés de base, à
savoir le mapping, l'abstraction et enfin l'adéquation
à l'objectif (finalité) [18]. Le mapping des
processus fait référence au transfert des processus du
I.3. GÉNÉRALITÉS SUR LA MODÉLISATION
DES PROCESSUS OPÉRATIONNELS 15
MÉMOIRE - TONLE NOUMBO FRANCK BRUNO URIFIA
monde réel dans des modèles. En outre, un
processus opérationnel a un niveau d'abstraction qui est choisi
par le modélisateur afin de cacher les détails non pertinents
pour le modèle résultant. Enfin, la finalité d'un
modèle est essentielle pour illustrer l'objectif de ce dernier. Dans le
but de modéliser les processus opérationnels, la procédure
de modélisation doit être prise en considération, ce qui
inclut les étapes à suivre pour modéliser ceux-ci.
Frederiks et Van der Weide [3] présentent une approche en quatre
étapes (voir fig. 4) pour la procédure de modélisation des
processus:
1. L'élicitation : Dès la
première étape, les informations qui doivent être
capturées dans les modèles de processus doivent être
collectées à partir de ce que l'on appelle l'univers du
discours. L'objectif de la phase d'élicitation est d'identifier les
exigences des parties prenantes du processus. Ensuite, les informations qui
sont explicitement disponibles doivent être transférées
dans un format convenu. Les rôles des parties prenantes des processus
sont complémentaires pour cette phase, car ils élicitent et
capturent les exigences de modélisation et leur contexte. Ces
informations peuvent être capturées par le biais d'entretiens ou
de brainstorming, qui sont des techniques d'élicitation couramment
utilisées.
FIGURE 4 - Procédure de modélisation (source
[3]).
2.
I.3. GÉNÉRALITÉS SUR LA MODÉLISATION
DES PROCESSUS OPÉRATIONNELS 16
MÉMOIRE - TONLE NOUMBO FRANCK BRUNO URIFIA
La modélisation : Pendant cette phase,
les spécifications informelles sont transformées en
spécifications formelles. La découverte des concepts de
modélisation significatifs et de leurs relations aura lieu dans cette
phase de la procédure de modélisation. Compte tenu du format
unifié et du langage de modélisation
sélectionné, les instances et les activités du
processus doivent être identifiées et couvertes par les
modèles.
3. La vérification : Dans cette
phase, des contrôles de vérification sont effectués afin de
s'assurer que le modèle est syntaxiquement correct. Les
spécifications formelles sont vérifiées en matière
de cohérence, et d'exactitude.
4. La validation: Cette phase contrôle
les modèles de processus sur la base de l'exactitude sémantique
des spécifications.
I.3.2. Les langages de modélisation de processus
Les langages de modélisation de processus sont des
langages utilisés pour exprimer les modèles de processus
opérationnels. Ceux-ci se doivent de fournir une sémantique
claire permettant de définir les aspects clés d'un processus
opérationnel. Un langage de modélisation des processus
opérationnels doit fournir des structures pour la représentation
des objets métiers. Il doit également fournir des structures pour
les valeurs des types de bases appropriés en ce qui concerne la
représentation et le flux des données [42]. Ces structures
doivent être adéquates pour capturer les références
aux objets ou sources de données externes. Dans le cadre de nos travaux,
nous décrirons notamment le principe de trois des langages de
modélisation les plus populaires, à savoir: Le langage BPMN,
le langage WF-Net et le langage YAWL.
I.3.2.1. La notation BPMN
La notation Business Process Model and Notation (BPMN) est un
standard de la modélisation des processus opérationnels, qui
fournit une notation graphique pour spécifier les processus
opérationnels dans un Diagramme de Processus Opérationnel (DPO)
[43]. Ce diagramme est basé sur une technique d'organigramme similaire
aux diagrammes d'activité UML (Unified Modeling Language).
Développé à l'origine par la Business Process Management
Initiative (BPMI), le BPMN est maintenu par l'Object Management Group (OMG)
depuis la fusion des deux organisations en 2005. L'objectif principal du BPMN
est d'offrir une notation facilement compréhensible par tous les
utilisateurs : des analystes d'entreprise qui créent les
premières ébauches des processus, aux développeurs
techniques responsables de la mise en oeuvre de la technologie qui
exécutera ces
I.3. GÉNÉRALITÉS SUR LA MODÉLISATION
DES PROCESSUS OPÉRATIONNELS 17
MÉMOIRE - TONLE NOUMBO FRANCK BRUNO URIFIA
I.3. GÉNÉRALITÉS SUR LA MODÉLISATION
DES PROCESSUS OPÉRATIONNELS 18
processus; et aux personnes qui géreront et
surveilleront ces processus. Ainsi, le BPMN crée un pont
normalisé entre la conception des processus opérationnels et leur
mise en oeuvre [14].
Les modèles BPMN sont exprimés par des
diagrammes simples construits à partir d'un ensemble limité
d'éléments graphiques. Pour les utilisateurs professionnels comme
le cas des développeurs, ils simplifient la compréhension du flow
et du processus opérationnel. On distingue trois principales
catégories de diagrammes à savoir : les diagrammes
d'orchestration, de chorégraphie et de
collaboration [14]. Parmi les nombreux éléments
graphiques qu'offre le BPMN, les plus utilisés sont [4] (voir fig. 5)
:
-- Les événements, qui sont
utilisés pour représenter un phénomène susceptible
de se produire. En particulier, l'événement de début
représente le moment où le processus opérationnel
commence, les événements intermédiaires
représentent un phénomène qui peut se produire
pendant l'exécution et les événements de fin sont
déclenchés lorsque le processus se termine.
FIGURE 5 - Éléments de base
du BPMN (source [4]).
-- Les activités, qui sont
utilisées pour représenter un travail générique que
les acteurs effectuent au sein du processus opérationnel. Elles peuvent
être atomiques ou non. Les types d'activités qui font partie d'un
modèle de processus sont : les sous-processus et les
tâches. Un sous-processus est une activité
constituée de plusieurs autres. Une tâche est
employée pour représenter une action à réaliser,
qui produit un résultat. Les activités sont
représentées graphiquement par des rectangles aux coins
arrondis.
-- Les passerelles, qui sont utilisées
dans le but de gérer le flot de contrôle pour les activités
parallèles et les choix. Il existe différents types de
passerelles.
MÉMOIRE - TONLE NOUMBO FRANCK BRUNO URIFIA
La passerelle parallèle doit attendre que tous les flux
d'entrée démarrent, puis tous les chemins de sortie sont
lancés en parallèle. Elle peut se comporter comme une bifurcation
(AND-Split) ou comme une fusion (AND-Join). La passerelle de
fusion XOR (OR-Join) donne la possibilité de décrire des
choix dans le processus et d'en sélectionner un seul chaque fois que la
passerelle est atteinte. La passerelle de décision XOR (OR-Split)
donne la possibilité de choisir parmi plusieurs chemins de sortie
chaque fois qu'ils sont atteints. Les passerelles sont graphiquement
représentées par des losanges.
-- Les pools, qui sont utilisés pour
représenter un participant ou une organisation impliqué dans le
processus.
À titre d'illustration, on peut observer
ci-après (voir fig. 6), le modèle de workflow de notre exemple
courant, spécifié à l'aide du BPMN grâce à
l'ensemble des éléments graphiques précédemment
cités.
I.3.2.2. Les réseaux de workflows
(Workflow-Nets)
Les réseaux de workflows (WF-nets) sont une sous-classe
des réseaux de Petri (langage de modélisation
mathématique permettant la description des langages structurés)
destinés à modéliser le workflow des activités de
processus [2]. Les transitions de ces réseaux sont affectées aux
tâches ou aux activités, et les places sont affectées aux
prés et post conditions. Ses constructions de routage sont
présentées à la figure 7. Les réseaux de workflows
ont des exigences structurelles et opérationnelles
supplémentaires, principalement l'ajout d'une place d'entrée
(source) unique sans transition précédente, et d'une
place de sortie (puits) sans transition suivante (voir fig. 8). En
conséquence, on peut définir des marques de début et de
fin qui représentent l'état du processus. Ils ont la
propriété de consistance [2], indiquant qu'un processus avec un
marquage de départ de k jetons dans son site source, peut atteindre le
marquage d'état de terminaison avec k jetons dans son site puits.
Les réseaux de workflows possèdent de nombreux
avantages [15] :
-- Une sémantique formelle malgré la nature
graphique.
-- Une abondance de techniques d'analyse.
-- Ils sont basés sur les états contrairement
aux autres langages qui sont généralement (seulement)
basés sur les événements.
Malgré toutes ces qualités, l'emploi de ces
derniers dans la modélisation des processus n'offre pas un
résultat satisfaisant du point de vue du flot de contrôle. On note
trois principaux problèmes qui en sont à l'origine:
MÉMOIRE - TONLE NOUMBO FRANCK BRUNO
URIFIA
I.3. GÉNÉRALITÉS SUR LA MODÉLISATION
DES PROCESSUS OPÉRATIONNELS
|
19
|
Présoutenance d'une thèse de doctorat
|
|
|
A
|
|
c O ·
c
no
|
|
|
U
|
|
cu
|
Q- W
|
fB~
|
|
|
+-,
|
|
|
|
|
|
C 1
|
|
D
|
|
E
v
a
|
|
|
v
|
ca a
|
|
|
|
|
|
0
w
v
|
|
|
|
|
U
|
|
El
|
|
|
E2
|
|
|
E3
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
cu a
|
|
|
|
W (H1)
|
|
|
|
11 J
|
|
|
|
|
|
|
|
|
Expert 2
|
|
|
|
|
|
|
F2
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
G2
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
H2
|
|
|
|
|
|
|
|
12
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Expert 3
|
|
|
|
|
3,
|
|
|
|
|
|
|
|
|
|
|
|
|
1G3
|
|
|
|
|
|
|
|
|
l HI3 )
|
|
|
|
|
|
|
(r 13
|
|
|
|
|
|
4
|
|
|
|
FIGURE 6 -- Diagramme d'orchestration BPMN
du processus de pré-soutenance.
I.3. GÉNÉRALITÉS SUR LA MODÉLISATION
DES PROCESSUS OPÉRATIONNELS 20
MÉMOIRE - TONLE NOUMBO FRANCK BRUNO URIFIA
FIGURE 7 - Constructions de routage d'un
réseau de workflow (source [2]).
FIGURE 8 - Exemple d'un réseau de
workflow (source [5]).
-- Il n'y a pas de support spécifique pour les
modèles impliquant des instances multiples. De plus, des
charges telles que garder la trace, diviser et joindre les instances sont
supportées par le concepteur.
-- Des modèles de synchronisation avancés sont
dif~ciles à modéliser en termes de réseau de
workflows, car ils ne prennent que deux types de jonctions en charge : la
jonction AND ou la jonction XOR.
-- Le déclenchement d'une transition est toujours
local, c'est-à-dire que l'activation est uniquement basée
sur les jetons dans les emplacements d'entrée et le déclenchement
n'affecte que les emplacements d'entrée et de sortie. Ceci rend
très difficile la modélisation de processus où ont lieu
des événements qui affectent tout le processus et par ricochet
l'ensemble du réseau.
C'est cet ensemble de problèmes qui pousseront [15]
à décrire un nouveau langage de modélisation basé
sur les réseaux de workflows et permettant la modélisation de
complexes processus opérationnels. Il fera l'objet de la section
suivante.
I.3. GÉNÉRALITÉS SUR LA MODÉLISATION
DES PROCESSUS OPÉRATIONNELS 21
MÉMOIRE - TONLE NOUMBO FRANCK BRUNO URIFIA
I.3.2.3. Le langage YAWL
Le langage YAWL (Yet Another Workflow Language)
étend la classe des réseaux de workflows avec des
instances multiples, des tâches composites, la suppression des tokens et
des transitions directement connectées [15]. Il s'inspire des
réseaux de Petri, mais c'est un langage complètement nouveau avec
une sémantique indépendante. Ses éléments de bases
sont présentés à la figure 9.
FIGURE 9 - Éléments de base
d'un diagramme YAWL (source [6]).
YAWL utilise une condition de début et de fin unique
pour marquer le démarrage et la conclusion d'un processus. Les
conditions sont utilisées pour séparer les tâches (comme
les places dans les réseaux de Petri), mais elles n'ont pas besoin
d'être explicitement dessinées. Les tâches sont
représentées par des rectangles. Il existe des variantes de
tâches, par exemple les tâches d'instances multiples et
les tâches de sous-processus. Le comportement du routage est
défini par des petits blocs sur les côtés gauche et droit
des tâches. Les divisions et jointures XOR et AND
utilisent des symboles triangulaires.
À titre d'illustration, on peut observer
ci-après (voir fig. 10), le modèle de workflow de notre exemple
courant, spécifié à l'aide du langage YAWL grâce
à l'ensemble des éléments graphiques
précédemment cités.
I.4. LES WORKFLOWS STRUCTURÉS 22
MÉMOIRE - TONLE NOUMBO FRANCK BRUNO URIFIA
FIGURE 10 - Processus de
pré-soutenance specifié avec YAWL.
I.4. Les workflows structurés
De nombreux langages de spécifications de processus ont
vu le jour avec l'avènement du BPM, entrainant de fait la
création de nombreux WfMS. S'il existe des similitudes entre les
langages de plusieurs de ces systèmes, il existe également des
différences significatives. Parmi celles-ci, on note le fait que bon
nombre de WfMS imposent des restrictions syntaxiques lors de la
spécification des processus. Les types de workflows les plus restrictifs
sont regroupés en une classe commune appelée workflows
structurés [32]. L'utilisation de cette classe de workflows
garantit certaines propriétés importantes que l'on verra.
I.4.1. Définition
Pour appréhender les workflows structurés, il
est essentiel d'établir une définition pratique de la syntaxe
d'un workow classique. [7] fournit une définition d'un workflow
classique de processus centré sur la syntaxe et se limitant aux aspects
de flot de contrôle.
Définition 1 Syntaxiquement, un
workflow W est défini par un ensemble P
constitué d'éléments du processus, et par une relation
transitive Trans ? P ×P. L'ensemble des
éléments du processus peut être divisé en un
ensemble de or-joins Oj, un ensemble de or-splits Os, un ensemble de
and-joins Aj, un ensemble de and-splits As et un ensemble
d'activités A.
Un certain nombre de propriétés sont
observées sur les workflows classiques [7]. Parmi toutes celles-ci,
l'une qui requiert le plus l'attention est le fait que les processus
modélisés à l'aide des workflows classiques peuvent se
retrouver dans une impasse (deadlock). C'est par exemple le
cas, lorsqu'un or-split est suivi d'un and-join. Le processus
modélisé ne s'achève pas et son déploiement devient
par conséquent impossible. De plus, les modèles de workflows
résultant de cette classe sont très souvent rejetés par
les WfMS standards et commerciaux.
I.4. LES WORKFLOWS STRUCTURÉS 23
MÉMOIRE - TONLE NOUMBO FRANCK BRUNO URIFIA
I.5. CONCLUSION 24
MÉMOIRE - TONLE NOUMBO FRANCK BRUNO URIFIA
Un workflow structuré est un workflow dont la
syntaxe est restreinte de diverses façons. Intuitivement, un
workflow structuré est un workflow où chaque
or-split a un or-join correspondant et chaque and-split
a un and-join correspondant. Ces restrictions garantissent
certaines propriétés importantes que l'on verra dans la section
suivante. De plus, elles correspondent également à celles
imposées par des WfMS commerciaux. Néanmoins, [7] propose une
définition formelle de cette classe de workflow.
Définition 2 Un
modèle de workflow structuré (MWS) est
défini de manière inductive comme suit:
1. Un workflow constitué d'une unique
activité est un MWS. Cette activité est à la fois
l'activité initiale et finale.
2. Soit X et Y des MWSs. La concaténation de ces
workflows, où l'activité finale de X a une transition vers
l'activité initiale de Y, est un MWS. L'activité initiale de ce
MWS est l'activité initiale de X et son activité finale est
l'activité finale de Y.
3. Soit X1,...,Xn des MWSs et soit j
un or-join et s un or-split. Le workflow avec comme activité initiale s
et activité finale j et les transitions entre s et les activités
initiales de Xi et entre les activités finales de Xi et j est un MWS.
L'activité initiale de ce MWS est s et son activité finale est
j.
4. Soit X1,...,Xn des MWSs et soit j
un and-join et s un and-split. Le workflow avec comme activité initiale
s et activité finale j et les transitions entre s et les
activités initiales de Xi, et entre les activités finales de Xi
et j, est un MWS. L'activité initiale de ce MWS est s et son
activité finale est j.
5. Soit X et Y des MWSs et soit j un or-join et s un
or-split. Le workflow avec comme activité initiale j et comme
activité finale s et avec des transitions entre j et l'activité
initiale de X, entre l'activité finale de X et s, entre s et
l'activité initiale de Y, et entre l'activité finale de Y et j,
est un MWS. L'activité initiale de ce MWS est j et son activité
finale est s.
Les différents cas de figure mis en oeuvre dans la
définition sont illustrés dans la figure 11.
I.4.2. Les propriétés des workflows
structurés
Comme le montre clairement la définition 1, tout
modèle de workflow structuré est également un
modèle de workflow classique. La sémantique des
constructions utilisée dans les modèles structurés est
donc la même que pour les modèles
FIGURE 11 - Illustration des
modèles de workflows structurés(source [7]).
classiques. On note également qu'un workflow
structuré admet toujours une seule activité initiale et finale.
De plus, de par sa propre définition (voir déf. 2), un workflow
structuré garantit deux propriétés très importantes
à savoir:
1. Un modèle de workflow structuré ne
deadlock jamais. On démontre facilement cela à l'aide de
l'induction structurelle [44].
2. Dans un modèle de workflow structuré, il
n'est pas possible d'avoir plusieurs instances d'une même activité
active au même moment. Cette situation est facilement observable
dans un workflow arbitraire si un and-split est suivi par un
or-join.
Ces propriétés sont la raison pour laquelle, une
grande majorité des WfMS commerciaux permettent uniquement
l'exécution des workflows structurés. Ce constat démontre
le rôle important que joue cette classe de workflow au sein du BPM,
raison pour laquelle elle a fait l'objet de la dernière partie de notre
chapitre portant sur le Business Process Management.
I.5. Conclusion
Dans ce chapitre, nous avons d'abord présenté
les principes clés du Business Process Management. Ceci a
été fait à travers une présentation des concepts de
base propres à cette discipline et la présentation de son cycle
de vie. Nous nous sommes par la suite, intéressés à la
modélisation des processus. Ceci nous a permis d'une part,
d'évoquer les phases clés du processus de modélisation
à l'aide de la modélisation des processus opérationnels
(Business Process Modeling). Puis de montrer d'autre part, comment s'effectue
la modélisation avec des langages de spécification de processus.
Notamment en présentant les éléments de bases de
I.5. CONCLUSION 25
MÉMOIRE - TONLE NOUMBO FRANCK BRUNO URIFIA
divers langages tels que BPMN, Workflow-Nets et YAWL; ensuite
en modélisant des processus avec ces derniers. Nous nous sommes enfin
attardés sur le rôle capital que joue la classe des workflows
structurés au sein du BPM. Dans le chapitre suivant, nous allons
présenter un nouveau langage de modélisation des processus
administratifs; une méthodologie de spécification orientée
scénario associée à ce langage; ainsi qu'un
problème auquel sont confrontés les concepteurs, lors de la
modélisation effective d'un processus à l'aide de ce langage.
26
II
CHAPITRE
LA SPÉCIFICATION DES PROCESSUS
ADMINISTRATIFS AVEC UNE
APPROCHE ORIENTÉE SCÉNARIO
SOMMAIRE
II.1 - Introduction 26
II.2 - Le langage de spécification LSAWfP 27
II.3 - Méthodologie de spécification et
nécessité d'un outil de spécification 32
II.4 - Revue des outils existants de spécification des
workflows 34
II.5 - Conclusion 37
II.1. Introduction
Dans le Business Process Management, la spécification
des processus peut s'effectuer de diverses manières. Cependant, il
n'existe pas d'outils de modélisation communément
acceptés. Certains d'entre eux sont critiqués pour leur
incapacité à capturer à la fois le cycle de vie et les
modèles informationnels et organisationnels des processus. Pour
d'autres, la modélisation des processus se fait
généralement à l'aide d'un seul graphique, ce qui ne
facilite pas la modularité, la maintenance et
l'évolutivité. En outre, certains de ces langages sont
très généraux; par conséquent, leur application
à des processus de domaines spécifiques (tels que les processus
administratifs) est très complexe.
Dans le but de combler les différentes absences
observées dans les divers outils de modélisation
déjà mis en place, TCHOUPÉ TCHENDJI Maurice, ZEKENG NDADJI
Maxime et al. entreprennent un vaste projet visant à la gestion des
processus administratifs à l'aide d'une approche grammaticale [9, 10,
8]. Étant
II.2. LE LANGAGE DE SPÉCIFICATION LSAWFP 27
MÉMOIRE - TONLE NOUMBO FRANCK BRUNO URIFIA
donné que les travaux que nous menons s'inscrivent dans
le cadre de ce projet, ce chapitre est majoritairement consacré à
la présentation des travaux déjà effectués en lien
direct avec les nôtres.
Ce chapitre est organisé comme suit : nous
commençons par décrire LSAWfP, le langage de Zekeng et al. pour
la spécification des processus administratifs; ensuite nous donnons une
méthodologie de spécification des processus LSAWfP avec une
approche orientée scénario. Nous montrons par la suite la
nécessité pour LSAWfP de disposer d'un outil d'aide à la
spécification. Nous terminons par une revue de quelques outils existants
de spécification, afin de déterminer quelles sont les
fonctionnalités de bases que doivent fournir de tels outils.
II.2. Le langage de spécification LSAWfP
LSAWfP (A Language for the Specification of Administrative
Workflow Processes) est un langage récent spécifiquement
conçu pour la modélisation des processus administratifs. Il
s'appuie sur une variante des grammaires attribuées pour fournir un
cadre de modélisation des principaux aspects conceptuels de ces
processus : il s'agit des aspects liés à l'ordonnancement des
tâches (modèle de cycle de vie), aux données
consommées et produites par les tâches (modèle
informationnel), et aux ressources en charge de l'exécution des
tâches (modèle organisationnel) [38]. De plus, LSAWfP met
un accent particulier sur la modélisation (à l'aide de vues) des
perceptions que les différents acteurs ont sur les processus et leurs
données afin de garantir la confidentialité. Pour
modéliser un processus donné avec LSAWfP, quatre étapes
clés doivent être suivies : (1) modéliser les
scénarios du processus à l'aide d'arbres annotés et (2)
dériver, à partir des arbres annotés, une grammaire
abstraite qui sera utilisée comme modèle de cycle de vie; puis
(3) identifier les acteurs impliqués dans l'exécution du
processus et (4) établir le rôle joué par chacun d'eux
à l'aide d'une liste d'accréditations.
II.2.1. La modélisation des scenarios à
l'aide des artefacts représentatifs
LSAWfP est fondé sur le principe selon lequel, par
définition, tous les scénarios d'exécution, tous les
acteurs et les rôles qu'ils jouent par rapport aux tâches d'un
processus administratif donné Pad, sont connus à
l'avance. LSAWfP propose donc de modéliser le scénario
d'exécution de chaque Pad à l'aide d'un arbre
annoté ti appelé artefact. Dans un tel arbre,
chaque noeud (étiqueté Xi) correspond
II.2. LE LANGAGE DE SPÉCIFICATION LSAWFP 28
MÉMOIRE - TONLE NOUMBO FRANCK BRUNO URIFIA
potentiellement à une tâche Xi du
Pad et chaque décomposition hiérarchique (un noeud et
ses fils) correspond à un ordonnancement : la tâche
associée au noeud parent doit être exécutée avant
les tâches associées aux noeuds fils; ces derniers doivent
être exécutés selon un ordre - parallèle ou
séquentiel - qui peut être spécifié par des
annotations particulières ";" (est séquentiel à) et
"k" (est parallèle à). Ces annotations seront
appliquées à chaque décomposition hiérarchique.
L'annotation ";" (resp. "k") reflète le fait que les
tâches associées aux noeuds fils de la décomposition
doivent (resp. peuvent) être exécutées en séquence
(resp. en parallèle).
FIGURE 12 - Artefacts représentatifs
du processus de pré-soutenance d'une thèse de doctorat
Il arrive que l'ensemble des scénarios
d'exécution pour un processus administratif donné soit infini.
C'est le cas de notre exemple courant dans lequel nous pouvons itérer
sur les tâches E1,E2,E3 sans limite; comme
chaque itération donne lieu à un nouveau scénario
d'exécution, nous générons ainsi un ensemble infini de
scénarios d'exécution. On constate donc que l'utilisation des
artefacts n'est pas suffisante pour spécifier ce processus (car
on bouclera indéfiniment lors de la spécification des
différents scénarios). LSAWfP fait intervenir la notion
d'artefacts représentatifs pour la gestion de ces cas de
figure. Il s'agit d' un} ensemble fini æ =
{t1,...,tk} d'artefacts issus d'un ensemble fini ô =
{S1 ad,...,Sk ad de scénarios dits
représentatifs. L'ensemble æ des artefacts
représentatifs est défini de telle sorte que n'importe quel
artefact représentant un scénario d'exécution
peut être exprimé comme une "combinaison" des
éléments de cet ensemble.
II.2. LE LANGAGE DE SPÉCIFICATION LSAWFP 29
MÉMOIRE - TONLE NOUMBO FRANCK BRUNO URIFIA
Pour la spécification de notre exemple courant avec
LSAWfP, nous avons trois scénarios représentatifs : le
premier est celui dans lequel le CD rejette le dossier de
pré-soutenance directement après avoir vérifié sa
conformité; le second est celui dans lequel les cinq premiers experts
sélectionnés valident leurs invitations; le dernier
scénario représentatif est celui dans lequel les cinq premiers
experts rejettent leurs invitations. Ces scénarios peuvent être
modélisés en utilisant les trois artefacts
représentatifs art1, art2 et art3 de la figure
12. Nous pouvons voir en particulier que art1 montre comment la
tâche "Constitution et soumission du dossier de pré-soutenance
à l'ED" assignée au Cdt, et associée au
symbole A (voir sec. I.2.1.2), doit être exécutée
avant les tâches associées aux symboles B, C et
D qui doivent être exécutées en séquence.
Comme dit plus haut, à partir de ces trois artefacts
représentatifs, il est possible de générer tous les autres
artefacts appartenant à ce processus administratif. Notons
également que des symboles supplémentaires appelés
symboles de (re)-structuration peuvent être ajoutés dans
les artefacts pour corriger l'ordonnancement des tâches : C'est le cas
pour art2 et art3 dans lesquels sont respectivement
rajoutés les symboles S et S1.
II.2.2. La déduction du modèle grammatical de
workflow
Après avoir modélisé les scénarios
du processus étudié à l'aide d'artefacts
représentatifs, LSAWfP propose d'en extraire une grammaire abstraite
appelée GMWf (Grammatical Model of Workflow). Pour ce faire, il
suffit de substituer l'ensemble des artefacts représentatifs par une
grammaire G (un GMWf) dans laquelle, chaque symbole se réfère
à une tâche et, chaque production p se présente
sous l'une des deux formes suivantes : p : X0 ?
X1 ; ... ; Xn ou p :
X0 ? X1 ... k
Xn. Ces deux formes de productions
modélisent parfaitement les deux types d'ordonnancement
(parallèle ou séquentiel) retenus dans la conception des
artefacts représentatifs. On note donc ti ? G pour exprimer le
fait que chaque artefact représentatif ti est conforme à
G. Les symboles racines des différents artefacts
représentatifs forment l'ensemble des axiomes de G. Un GMWf peut alors
être formellement défini comme suit [8] :
Définition 3 Un
Grammatical Model of Workflow (GMWf) est défini par
G = (S,P,A) où :
-- S est un ensemble fini de symboles grammaticaux
ou sortes 1 correspondant aux
différentes tâches à exécuter dans
le processus opérationnel étudié;
1. Un sorte est une donnée utilisée
pour définir les règles de structuration (syntaxe) dans un
modèle de document [45]. Exemple : un symbole non terminal dans
une grammaire non contextuelle, un ELEMENT dans un Document Type
Definition (DTD).
II.2. LE LANGAGE DE SPÉCIFICATION LSAWFP 30
-- A ? S est un ensemble fini de symboles
particuliers appelés axiomes, représentant les tâches qui
peuvent démarrer un scénario d'exécution (racines des
artefacts représentatifs);
-- P ? S ×S*
est un ensemble fini de productions décorées par les
annotations ";" (est séquentiel à) et "k" (est
parallèle à) : ce sont des règles de
précédence. Une production P =
(XP(0),XP(1),···XP(|P|))
est soit de la forme P : X0 ? X1
;...;X|P|, ou de la forme P : X0 ?
X1 k ... k X|P| avec
|P| qui désigne la longueur de la partie droite de P.
Une production avec le symbole X en membre gauche est appelée une
X-production.
En considérant le cas du processus de
pré-soutenance d'une thèse de doctorat dont les artefacts
représentatifs sont présents à la figure 12, le GMWf
dérivé est G = (S,P,A) dans lequel l'ensemble S
des symboles grammaticaux est S =
{A,B,C,D,E1,E2,E3,F1,F2,F3,G1,G2,G3,H1,H2,H3,I1,I2,I3,J,K}
(voir sec. I.2.1.2); la seule tâche initiale (axiome) est A
(donc A = {A}) et l'ensemble P des productions
est:
P1 : A?B;C;D
P2 : A ? B;C;S;J ;K
P3 : S ? E1 k E2 k
E3
P4 : E1 ? F1 P7 : E2
? F2 P10 : E3 ? F3 P13 :
F1 ? G1 P16 : G2 ? E2 P19
: B ? E P22 : I1 ?
E
P5 : F1 ? H1 P8 : F2
? H2 P11 : F3 ? H3 P14 :
G1 ? E1 P17 : F3 ? G3 P20
: C ? E P23 : I2 ?
E
P6 : H1 ? I1 P9 : H2
? I2 P12 : H3 ? I3 P15 :
F2 ? G2 P18 : G3 ? E3 P21
: D ? E P24 : I3 ?
E
MÉMOIRE - TONLE NOUMBO FRANCK BRUNO URIFIA
II.2.3. Les acteurs et les accréditations
Identification des acteurs
L'identification des acteurs participant à
l'exécution du processus se fait facilement à l'aide de la
description textuelle du processus. Par exemple, selon la description du
processus de pré-soutenance, huit (k = 8) acteurs participent
à son exécution : un candidat (Cdt), une équipe
dirigeante (ED), un chef de département (CD) et cinq
experts (EX1,EX2 et EX3). Par simple
déduction, on obtient la liste des acteurs LPk =
{Cdt,ED,CD,EX1,EX2,EX3}.
Établissement de la liste des
accréditations
LSAWfP propose un mécanisme appelé
accréditation, inspiré de la nomenclature des droits
utilisée dans les systèmes de type Unix, pour assurer une
meilleure coordination entre les acteurs et garantir par la suite la
confidentialité
II.2. LE LANGAGE DE SPÉCIFICATION LSAWFP 31
MÉMOIRE - TONLE NOUMBO FRANCK BRUNO URIFIA
de certaines actions et données. L'accréditation
d'un acteur donné fournit des informations sur ses droits (permissions)
par rapport à chaque tâche du GMWf du processus
étudié. Il existe trois types d'accréditation:
1. L'accréditation en lecture (r) : un acteur
accrédité en lecture sur le sorte X doit être
informé de l'exécution de la tâche associée; il doit
également avoir un accès libre à son statut
d'exécution (données générées pendant son
exécution). Nous appelons vue d'un acteur,
l'ensemble des sortes sur lesquels il est accrédité en
lecture.
2. L'accréditation en écriture (w) :
un acteur accrédité en écriture sur le sorte X
peut exécuter la tâche associée. Tout acteur
accrédité en écriture sur un sorte est
accrédité en lecture sur celui-ci.
3. L'accréditation en exécution (x) :
un acteur accrédité en exécution sur le sorte X
est autorisé à demander à l'acteur qui y est
accrédité en écriture de l'exécuter
(réalisation de la tâche associée).
Plus formellement, une accréditation est définie
comme suit:
Définition 4 Une
accréditation AAi définie sur un ensemble S de
symboles grammaticaux pour un acteur Ai, est un tripletAAi =
(AAi(r),AAi(w),AAi(x))
tel que, AAi(r) Ç S aussi appelé vue
de l'acteur Ai, est l'ensemble des symboles sur lesquels Ai est
accrédité en lecture, AAi(w) Ç
AAi(r) est l'ensemble des symboles sur lesquels Ai est
accrédité en écriture et AAi(x) Ç
S est l'ensemble des symboles sur lesquels Ai est accrédité en
exécution.
À partir de l'affectation des tâches pour le
processus de pré-soutenance dans notre exemple courant, il en
découle que l'accréditation en écriture de l'ED
est AED(w) = {B}. De plus, puisqu'il ne peut
exécuter la tâche B que si la tâche A
(exécutée par le Cdt) est déjà
exécutée (voir artefacts art1, art2 et art3,
fig. 12), il doit être accrédité en
exécution sur A pour pouvoir demander son exécution; il
doit également l'être sur la tâche C pour demander
au CD de procéder a la vérification du dossier. On a
donc AED(x) = {A,C}. En outre, afin de pouvoir
accéder à toutes les informations sur la constitution du dossier
(tâche A), les rapports de correction faits par les experts (tâche
J) et les honoraires de la pré-soutenance (tâche K). Ces
tâches, en addition de AED(w) 2 constitue
l'ensemble AED(r) = VED = {A,B,J,K} des
tâches sur lesquelles il est accrédité en lecture. En
faisant de même pour chacun des autres acteurs, nous déduisons
leurs accréditations. Celles-ci sont représentées dans le
tableau II et nous avonsLAk =
{ACdt,AED,ACD,AEX1,AEX2,AEX3}.
2. Rappel: tout acteur accrédité en écriture
sur une sorte est accrédité en lecture sur celle-ci.
MÉMOIRE - TONLE NOUMBO FRANCK BRUNO URIFIA
II.3. MÉTHODOLOGIE DE SPÉCIFICATION ET
NÉCESSITÉ D'UN OUTIL DE SPÉCIFICATION 32
TABLE II - Accréditations des différents
acteurs prenant part au processus de pré-soutenance
Acteur
|
Accréditation
|
Cdt
|
Cdt = ({A,J,K},{A},{B})
|
ED
|
ED = ({A,B,J,K},{B},{A,C})
|
CD
|
CD = ({B,C,D,E1,E2,E3,G1,G2,G3,I1,I2,I3,J,K},{C,D,E1,E2,
E3,J,K},{F1,F2,F3})
|
EX1
|
EX1 = ({B,E1,F1,G1,H1,I1},{F1,G1,H1,I1},
ø)
|
EX2
|
EX2 = ({B,E2,F2,G2,H2,I2},{F2,G2,H2,I2},
ø)
|
EX3
|
EX3 = ({B,E3,F3,G3,H3,I3},{F3,G3,H3,I3},
ø)
|
Nous obtenons finalement le Modèle Grammatical
de Workflow du Processus Administratif : avec LSAWfP, la
modélisation d'un processus résulte en un triplet Wf =
(G,LPk,L k) (appelé Grammatical
Model ofAdministrative Workflow Process - GMAWfP -) dans lequel, G est le
GMWf, LPk est la liste des acteurs et L k est la
liste de leurs accréditations.
II.3. Méthodologie de spécification et
nécessité d'un outil de spécification
II.3.1. Méthodologie de spécification des
processus LSAWfP
La méthodologie de spécification proposée
par Zekeng et Tchoupé se déroule en quatre étapes suivant
la description ci-après [8].
Pour modéliser un processus donné à
l'aide de LSAWfP, il faut partir d'une description textuelle du processus et
effectuer les quatre activités illustrées à la figure 13.
Tout d'abord, l'ensemble des tâches et leurs relations de
précédence d'exécution doivent être
identifiées afin de produire un ensemble fini d'artefacts
représentatifs en suivant l'approche présentée à la
section II.2.1. Le GMWf doit ensuite être déduit de l'ensemble des
artefacts représentatifs ainsi produits. Ensuite, il faut identifier les
différents acteurs impliqués dans l'exécution du processus
modélisé, et enfin, il faut procéder à une
affectation cohérente des tâches aux acteurs et en déduire
leurs accréditations respectives.
II.3.2. Nécessité d'un outil de
spécification pour LSAWfP
En dépit de ses innombrables qualités, l'emploi
de LSAWfP dans son état actuel peut s'avérer très complexe
sans la présence d'un outil de spécification pour épauler
le concepteur. En effet, comme dit plus haut, spécifier un processus
à l'aide de LSAWfP revient à déterminer son GMAWfP Wf
= (G,LPk,L k). Pour une
MÉMOIRE - TONLE NOUMBO FRANCK BRUNO URIFIA
II.3. MÉTHODOLOGIE DE SPÉCIFICATION ET
NÉCESSITÉ D'UN OUTIL DE SPÉCIFICATION 33
FIGURE 13 - Méthodologie de
modélisation d'un processus à l'aide de LSAWfP (source
[8]).
grosse procédure administrative, le GMAWfP obtenu peut
contenir une centaine de productions, voire bien plus. Il en est de même
pour les acteurs et les différentes accréditations. Cette
difficulté qui au premier abord semble liée uniquement à
LSAWfP est en fait un problème commun rencontré par tous les
autres langages de workflows. La solution générale qui en ressort
est celle selon laquelle, afin de pouvoir faciliter au mieux la
modélisation à l'aide d'un langage de workflow, il est
impératif que ce dernier bénéficie d'un outil de
spécification proposant à minima une interface graphique pour
simplifier la modélisation des processus opérationnels complexes.
À travers cet outil, le concepteur a une vision globale directe du
processus qu'il est train de spécifier, ce qui contribue largement
à réduire les erreurs de modélisation, et à rendre
le travail moins fastidieux. De plus les outils d'aide à la
spécification offrent des interfaces pratiques et intuitives,
éliminant ainsi le besoin d'experts en workflow, ce qui rend le langage
accessible à un plus grand nombre de personnes.
Comme autre raison justifiant la nécessité d'un
outil de spécification pour LSAWfP, on a le fait que les concepts
manipulés par ce dernier ne sont pas forcément évidents
à comprendre. En effet la modélisation d'un processus avec ce
langage requiert un certain nombre de connaissances sur les grammaires
(productions, axiomes...) dans son état actuel. De plus, l'approche de
modélisation orientée scénario prônée par
LSAWfP est nouvelle et singulière dans le domaine. Il serait donc plus
aisé pour tout concepteur de systèmes d'information
désirant utiliser l'approche LSAWfP, de disposer d'un outil logiciel
d'aide à la spécification des processus. Un tel outil se chargera
de rendre plus pratique la philosophie de LSAWfP tout en mettant à la
disposition des usagers, plusieurs fonctionnalités et
II.4. REVUE DES OUTILS EXISTANTS DE SPÉCIFICATION DES
WORKFLOWS 34
MÉMOIRE - TONLE NOUMBO FRANCK BRUNO URIFIA
DSEL (Domain Specific Embedded Language) pour la
création, la sauvegarde et le partage des spécifications de
processus.
La dernière raison que nous pouvons évoquer est
la simplification de la spécification des processus dans
P2PTinyWfMs. En effet, l'utilisation de notre prototype de WfMS passe
nécessairement par la spécification du processus que l'on
souhaite simuler en langage JAVA. Le concepteur est donc contraint d'avoir un
minimum de bases en JAVA pour pouvoir profiter du simulateur. Ceci qui pose
problème, car l'idéologie véhiculée par le BPM, est
celle selon laquelle automatiser un processus opérationnel, revient tout
simplement à le modéliser, indépendamment d'un langage
de programmation. La mise sur pied d'un outil de spécification peut
être le premier pas vers l'indépendance des outils actuels et de
nos futurs outils, vis-à-vis des langages de programmation. Car cet
outil est le point d'entrée, lors de l'automatisation d'un processus.
En somme, ce sont là toutes les raisons qui nous ont
motivé à proposer comme contribution dans le cadre de ce projet,
un outil interopérable d'aide à la facilitation des processus
spécifiés à l'aide de LSAWfP. Ce dernier viendra rendre la
spécification des processus à l'aide de LSAWfP bien plus
intuitive qu'auparavant.
II.4. Revue des outils existants de spécification
des workflows
Cette partie nous permettra de faire le point sur ce que
proposent généralement les outils de spécifications
existants en termes de fonctionnalites. Pour ce faire, on procédera
à l'analyse de trois des plus célèbres outils de
spécifications à savoir : Bizagi Modeler, YAWL Process Editor
et
BPMN.io.
II.4.1. Bizagi Modeler
Développé par l'entreprise anglaise Bizagi,
cet outil de spécification graphique permet de modéliser des
processus sous le langage BPMN. Il se classe comme le plus
célèbre parmi ceux de sa catégorie, et fait partie d'une
suite d'outils proposé par Bizagi, dont le but est l'automatisation
complète (modélisation, vérification, exécution, et
ajustement) des différents workflows d'une entreprise. Bizagi Modeler
permet aux organisations de créer et de documenter des processus
opérationnels afin de mieux comprendre chaque étape et
d'identifier les possibilités d'amélioration des processus pour
accroître l'efficacité organisationnelle [46]. Il
II.4. REVUE DES OUTILS EXISTANTS DE SPÉCIFICATION DES
WORKFLOWS 35
MÉMOIRE - TONLE NOUMBO FRANCK BRUNO URIFIA
s'agit de l'outil que nous avons utilisé pour la
modélisation de notre exemple courant en BPMN (voir fig. 6).
FIGURE 14 - Capture d'écran de
Bizagi Modeler
En ce qui concerne ses fonctionnalités de base, il
permet de créer, sauvegarder et partager les diagrammes de
workflow en utilisant la notation BPMN. Il permet également la
collaboration entre les membres d'une équipe sur des diagrammes de
processus créés en vue d'éventuelles améliorations.
Il offre aussi la possibilité d'importer et d'exporter des diagrammes
Microsoft Visio, IBM Bluewoks, XPDL, et BPMN. Une de ses principales
limites est son indisponibilité sur le système d'exploitation
macOS.
II.4.2. YAWL Process Editor
Développé par la YAWL Foundation, YAWL
Process Editor est un outil open source d'aide a la specification qui
permet de créer des workflows de processus oprerationnels pour
gérer l'activité d'une entreprise. En outre, les systèmes
peuvent être créés à partir d'une interface pratique
et intuitive, éliminant ainsi le besoin d'experts en workflow et
d'autres personnels spécialisés. Lors de la conception d'un
workflow, il propose des spécifications, qui décrivent la
tâche ou le processus que l'on souhaite representer. À
l'intérieur de l'application, ces spécifications sont
composées de réseaux qui peuvent être ajoutés
manuellement et personnalisés, en utilisant la souris pour dessiner un
schéma et reproduire le workflow de manière graphique. Il s'agit
de l'outil que nous avons utilisé pour la modélisation de notre
exemple courant en YAWL (voir fig. 10).
II.4. REVUE DES OUTILS EXISTANTS DE SPÉCIFICATION DES
WORKFLOWS 36
MÉMOIRE - TONLE NOUMBO FRANCK BRUNO URIFIA
FIGURE 15 - Capture d'écran de YAWL
Process Editor
En ce qui concerne ses fonctionnalités de base, YAWL
Process Editor permet la création, la sauvegarde et le partage de
spéci~cations de processus couvrant toutes les perspectives
nécessaires à l'automatisation des workflows (voir fig. 15). En
plus de ce qui est visible dans la capture, il y a des variables de
données définies pour chaque tâche, en utilisant des
schémas XML. Les variantes de tâches peuvent être
créées et mappées à partir de variables globales
par de simples opérations de glisser-déposer [47]. En ce
qui concerne les accréditations, YAWL peut classer les ressources
humaines et non humaines en rôles, postes et groupes en fonction des
capacités organisationnelles. Sa principale faiblesse est sa structure
formelle liée aux réseaux de Petri, ce qui la rend un peu moins
accessible pour des concepteurs tiers, par rapport aux autres langages de
workflows.
II.4.3. BPMN.io
Développé par l'entreprise Camuda,
BPMN.io est outil de spécification
open-source et accessible depuis un navigateur web. Il permet principalement de
visualiser et modéliser des processus opérationnels
spécifiés en BPMN depuis le web. Ceci facilite grandement la
visualisation et le partage des spécifications sachant qu'avec l'aide de
ce dernier, la contrainte d'installer un outil sur son poste
disparait.
II.5. CONCLUSION 37
MÉMOIRE - TONLE NOUMBO FRANCK BRUNO URIFIA
FIGURE 16 - Capture d'écran de
BPMN.io
Développé en JavaScript, il offre
également une bibliothèque, qui permet aux concepteurs d'inclure
des diagrammes BPMN dans leurs pages web. Sa principale faiblesse réside
dans son manque de fonctionnalités additionnelles lorsqu'on le
compare aux autres outils précédemment cités. Mais cette
faiblesse est largement compensée par sa facilité
d'utilisation et sa simplicité d'accès.
II.5. Conclusion
La spécification des processus peut être
envisagée sous plusieurs angles. Dans ce chapitre, nous avons
présenté le projet qui constitue la base de nos travaux, à
savoir la spécification des processus administratifs avec une
démarche grammaticale. C'est ainsi que nous avons exposé, en
accord avec [8, 9], les contributions majeures réalisées dans le
cadre de ce projet en lien avec notre travail. Il s'agissait notamment du
langage LSAWfP permettant la spécification des processus administratifs
avec une approche orientée scénario et d'une méthodologie
de spécification des processus pour ce langage. Nous avons
terminé par une revue de quelques outils existants de
spécification, après avoir présenté la
nécessité pour LSAWfP de disposer du sien. Dans le chapitre III,
nous allons présenter notre contribution en ce qui concerne la
facilitation de la spécification des processus administratifs.
38
III
CHAPITRE
FACILITATION DE LA SPÉCIFICATION
DES PROCESSUS ADMINISTRATIFS
AVEC UNE APPROCHE ORIENTÉE
SCÉNARIO
SOMMAIRE
III.1 - Introduction 38
III.2 - Présentation de LSAWfP Editor 39
III.3 - Principe de conversion d'un GMWf en un diagramme de
workflow
équivalent 44
III.4 - Fonction d'export de LSAWfP vers le BPMN XML 2.0
55
III.5 - Conclusion 56
III.1. Introduction
Étant donné un processus administratif
spécifié à l'aide du langage LSAWfP, le concepteur
à l'état actuel du projet, n'a d'autre choix que de devoir
spécifier individuellement et manuellement, l'ensemble des
éléments constituant le GMAWfP de son processus. Ceci dans le but
de pouvoir le simuler dans P2PTinyWfMS. Un tel procédé
devient très vite fastidieux lorsqu'on a affaire à une grosse
procédure administrative; car on se retrouve avec une quantité
colossale d'informations à devoir remplir l'une après l'autre.
De plus, l'étape de modélisation jouant un
rôle primordial au cours du procédé d'automatisation du
processus, la plupart des langages de spécification dispose d'outils de
spécification des processus. Comme vu précédemment, ces
outils ont
III.2. PRÉSENTATION DE LSAWFP EDITOR 39
MÉMOIRE - TONLE NOUMBO FRANCK BRUNO URIFIA
III.2. PRÉSENTATION DE LSAWFP EDITOR 40
III.2. PRÉSENTATION DE LSAWFP EDITOR 41
III.2. PRÉSENTATION DE LSAWFP EDITOR 42
III.2. PRÉSENTATION DE LSAWFP EDITOR 43
pour principal but de faciliter la tâche au concepteur,
autant que faire se peut, durant tout le processus de modélisation. Pour
un langage tel que LSAWfP, basé sur les grammaires et faisant intervenir
un nombre conséquent de données au sein d'un GMAWfP, il est
crucial de pouvoir bénéficier d'un tel outil afin de faciliter la
spécification des processus. Dans l'optique de remédier à
ce problème, nous proposons dans ce chapitre, LSAWfP Editor, un outil de
spécification des processus administratifs avec LSAWfP. Un tel outil se
devant d'être fiable, robuste, efficace, extensible et surtout simple
d'utilisation, il est primordial de le concevoir minutieusement tout en
reposant sur des outils (langages, bibliothèques, frameworks...)
existants et présentant les caractéristiques recherchées.
Il se doit également d'être interopérable avec des outils
existants d'aide à la spécification.
FIGURE 17 - Le logo de LSAWfP
Editor
Ce chapitre est organisé comme suit : nous
commençons par présenter LSAWfP Editor à travers son
architecture et ses fonctionnalités de bases (modélisation
graphique, sauvegarde, visualisation, etc.). Nous présentons par la
suite, les formules mathématiques que nous avons établies pour la
conversion de nos spécifications. Nous terminons par une application
directe de ces formules dans notre éditeur LSAWfP Editor, à
travers une fonction d'export des GMAWfP vers le format BPMN XML 2.0.
III.2. Présentation de LSAWfP Editor
LSAWfP Editor peut être définit comme un outil de
spécification graphique des processus modélisés à
partir du langage LSAWfP. Développé en JAVA, cet outil
dédié à la conception des GMAWfP épouse
parfaitement la philosophie orientée scénario. La revue des
outils de spécifications existants nous a permis de faire une
déduction sur les fonctionnalités de bases que doit offrir LSAWfP
Editor, s'il souhaite se classer dans la même catégorie que les
autres. Les deux principales fonctionnalités qu'il doit proposer sont:
la modélisation graphique et la sauvegarde des spécifications
pour le partage de celles-ci. Une fonctionnalité additionnelle qu'il
pourrait également offrir, est celle de l'export vers un langage
existant.
MÉMOIRE - TONLE NOUMBO FRANCK BRUNO URIFIA
III.2.1. Architecture logicielle de LSAWfP Editor
L'architecture de LSAWfP Editor implémente le design
pattern MVC (Model View Controller ou Modèle Vue Contrôleur
en français) qui est une référence en matière
de patron de conception. Dans cette architecture, les vues affichent des
résultats et récupèrent des entrées
(données, actions) qu'elles transmettent aux modèles à
travers les contrôleurs (qui les valident); les modèles
réalisent les traitements (édition des artefacts, sauvegarde,
export, etc.) puis notifient les vues pour rafraîchissement. Sous LSAWfP
Editor, le modèle, la vue et le contrôleur sont organisés
comme suit:
-- Le modèle est la pièce maîtresse
réalisant le plus gros du travail. C'est à ce niveau que se
déroule la mise en oeuvre de toutes les fonctionnalités offertes
par notre outil. Nous avons entre autres : la création d'une nouvelle
spécification, celle d'un nouveau scénario, la sauvegarde et
l'export des spécifications et les différentes actions
effectuées sur les artefacts.
-- La vue donne une représentation graphique des
artefacts représentatifs, et de l'ensemble des données
constituant le GMAWfP du processus. Ceci dans le but de permettre une
interaction conviviale entre LSAWfP Editor et ses utilisateurs. Elle dispose
donc de parseurs pouvant réaliser la correspondance entre les
données reçues et les données à afficher.
-- Le contrôleur quant à lui, est chargé
d'établir le pont entre la vue et le modèle.
La figure 18 résume l'architecture de LSAWfP Editor
ci-dessous présentée.
FIGURE 18 - L'architecture de LSAWfP
Editor
MÉMOIRE - TONLE NOUMBO FRANCK BRUNO URIFIA
III.2.2. Modélisation graphique des processus
La modélisation graphique offre une interface graphique
dans laquelle le concepteur peut très souvent glisser-déposer les
éléments dont il a besoin, ou les placer et les disposer à
l'aide de boutons présents dans le panneau des outils. Cette
fonctionnalité peut être considérée comme la
fonctionnalité première que doit offrir tout outil d'aide
à la spécification. En effet elle facilite grandement la
modélisation, car l'utilisateur a directement en visuel, le
modèle qu'il construit, ce qui facilite grandement la
compréhension qu'il a, de ce qu'il est en train de faire. Raison pour
laquelle nous proposons dans LSAWfP Editor un vaste panneau dans lequel
l'utilisateur a la possibilité de placer des taches et les ordonnancer.
Il s'agit du panneau dans lequel figurent les différents artefacts
représentatifs du processus que l'on spécifie (voir A
dans fig. 19).
FIGURE 19 - Panneau des artefacts et des
scénarios sur LSAWfP Editor
LSAWfP adoptant une philosophie orientée
scénario, notre éditeur fait de même en permettant à
l'utilisateur de créer de multiples scénarios pour le même
processus opérationnel qu'il spécifie. Pour ce faire, on propose
dans la barre d'outils un bouton permettant de créer un nouveau
scénario. Nous mettons également en oeuvre un panneau regroupant
l'ensemble des scénarios déjà créés pour un
processus donné (voir B dans fig. 19).
MÉMOIRE - TONLE NOUMBO FRANCK BRUNO URIFIA
Nous proposons pour terminer un panneau d'édition des
modèles, divisé en trois sections principales (voir fig. 20) :
FIGURE 20 - Panneau d'edition des
modèles sur LSAWfP Editor
-- la section d'édition des artefacts qui
permet d'ajouter des fils à un noeud et offre la possibilité de
les ordonnancer;
-- la section des informations sur une tache qui
permet d'associer un symbole à une tache, de changer son type ou encore
de lui ajouter une description;
-- la section sur les accréditations qui
permet de créer les différents acteurs intervenant dans le
processus, et de les assigner des accréditations suivant leurs
capacités organisationnelles.
À l'aide de tous les éléments graphiques
que nous proposons, un concepteur peut parfaitement modéliser l'ensemble
des éléments constituant le GMAWfP de son processus. La
spécification se retrouve grandement facilitée sachant que la
liste des symboles S, des axiomes A et des productions P
sont déduits de l'ensemble des artefacts provenant du panneau
des artefacts; tandis que la liste des acteurs et
MÉMOIRE - TONLE NOUMBO FRANCK BRUNO URIFIA
des accréditations proviendra de la section sur les
accréditations. LSAWfP Editor assume donc pleinement son rôle
d'outil d'aide à la spécification des processus LSAWfP du
côté de la modélisation graphique.
III.2.3. Sauvegarde, visualisation et partage des
spécifications
FIGURE 21 - Capture d'écran de
LSAWfP Editor
La sauvegarde des spécifications faites est une autre
fonctionnalité clé d'un outil de spécification.
Sauvegarder permet non seulement de pouvoir reprendre et améliorer nos
spécifications, mais aussi de pouvoir les partager, ce qui est essentiel
quand on modélise un processus opérationnel en équipe.
LSAWfP Editor effectue la sauvegarde de ces spécifications à
l'aide d'un format créé par nous-même. Ce format suit
l'architecture logicielle de notre éditeur et contient l'ensemble des
éléments nécessaires pour parfaitement restituer
l'ensemble des artefacts modélisés. Une des forces de ce format,
est que contrairement aux autres formats de sauvegarde graphique (notamment le
BPMN XML 2.0 et le YAWL), celui-ci fait abstraction de la partie graphique (pas
besoin de spécifier les coordonnées graphiques des
différents éléments, ce qui facilite grandement la lecture
du fichier et réduit sa taille), et le diagramme est parfaitement
restitué lors de son ouverture. Ceci étant dû au choix
stratégique d'employer des arbres annotés pour représenter
les artefacts. L'extension du format de sauvegarde se nomme .ggmawfp
(Graphical Grammatical Model of Administrative Workflow Process). Une fois
la sauvegarde effectuée, LSAWfP Editor permet de visualiser le .ggmawf
obtenu, ce qui vient compléter la fonction de partage des
spécifications. En effet, un concepteur a
MÉMOIRE - TONLE NOUMBO FRANCK BRUNO URIFIA
III.3. PRINCIPE DE CONVERSION D'UN GMWF EN UN DIAGRAMME DE
WORKFLOW
ÉQUIVALENT 44
la possibilité de sauvegarder son modèle, et
l'envoyer à un autre concepteur qui pourra le visualiser à l'aide
de notre outil. Le partage se retrouve ainsi assuré. Pour illustrer tout
ceci, on présentera en annexe un extrait du fichier de sauvegarde de
notre exemple courant, obtenu avec LSAWfP Editor.
III.2.4. Interopérabilité avec les autres
outils de LSAWfP
Lorsqu'on parle de spécification des processus, la
suite logique est l'automatisation des modèles obtenues. Ceci se
déroule à travers une phase de simulation et d'exécution
des spécifications. Le langage LSAWfP s'inscrit dans la même
logique et dispose déjà d'un simulateur (P2PTinyWfMS)
d'exécution pour les spécifications LSAWfP. Un
problème d'interopérabilité naitra immediatement entre
LSAWfP Editor, P2PTinyWfMS et les éventuels outils qui seront
proposés dans le cadre de notre projet. LSAWfP Editor prend les devants
dans la résolution de ce problème, en proposant un format
générique et abstrait pour le partage des spécifications
entre les différents outils. Contrairement au format de sauvegarde
graphique, ce format embarquera uniquement en son sein, les
éléments obligatoires pour restituer le modèle grammatical
de workflow, c'est-à-dire le GMWf, les acteurs et les
accréditations. Ce format sera par la suite utilisé par le
simulateur et les futurs outils de la suite LSAWfP.
L'interopérabilité entre ces derniers se retrouve ainsi
assurée. Ce format se nomme .gmawfp. Son sigle
qui est le même que celui du modèle grammatical de workflow d'un
processus administratif, vient renforcer l'idée que ce format se veut
générique et exploitable par tous les outils implémentant
le langage LSAWfP.
Pour illustrer tout ceci, on présentera en annexe un
extrait du .gmawfp de notre exemple courant, obtenu avec LSAWfP Editor.
III.3. Principe de conversion d'un GMWf en un diagramme
de workflow équivalent
La plupart des langages de spécifications ont en commun
l'utilisation d'un diagramme de workflow comme représentation graphique
de leurs spécifications. Quitter de LSAWfP vers ces autres langages
revient donc à convertir un modèle grammatical de workflow (GMWf)
en un diagramme de workflow équivalent. Ce diagramme pourra par la suite
être sérialisé en différents langages de
modélisation existants.
MÉMOIRE - TONLE NOUMBO FRANCK BRUNO URIFIA
III.3. PRINCIPE DE CONVERSION D'UN GMWF EN UN DIAGRAMME DE
WORKFLOW
ÉQUIVALENT 45
FIGURE 22 - D'un GMWf vers un diagramme de workflow
équivalent
III.3.1. Diagramme de workow
Un diagramme de workflow est un diagramme qui permet
de représenter l'enchainement et l'ordonnancement des tâches d'un
processus. Ces diagrammes sont communs à bon nombre de langages de
workflows parmi lesquels BPMN et YAWL.
FIGURE 23 - Exemple d'un diagramme de
workflow: Processus d'expédition d'une commande
Les principaux éléments d'un diagramme de workflow
sont:
-- L'événement de début (cercle
vert)
-- L'événement de fin (cercle rouge)
-- Les activités (rectangles gris)
-- Les passerelles OR (losanges vides)
-- Les passerelles AND (losanges marqués du signe
+)
La réalisation d'un diagramme de workflow peut être
perçue de façon générique
comme un assemblage des différents éléments
cités ci-dessus.
III.3.2. Conversion d'une spécification
non-récursive
Principe de l'algorithme de
conversion
Pour pouvoir quitter d'un GMWf vers un diagramme de workflow
équivalent, nous nous sommes inspirés des constructions de
Thompson [48] qui permettent de quitter d'une expression
régulière vers un automate non déterministe
équivalent.
MÉMOIRE - TONLE NOUMBO FRANCK BRUNO URIFIA
III.3. PRINCIPE DE CONVERSION D'UN GMWF EN UN DIAGRAMME DE
WORKFLOW
ÉQUIVALENT 46
L'algorithme de Thompson fonctionne de manière
récursive en divisant une expression en ses sous-expressions
constitutives, à partir desquelles l'automate sera construit
à l'aide d'un ensemble de règles(symbole, union,
concaténation) [49].
Notre algorithme se fonde sur un ensemble de similitudes
observées entre les règles de construction de Thompson et
l'assemblage des composants d'un diagramme de workflow. Ces similitudes sont
résumées dans la figure ci-dessous.
FIGURE 24 - Équivalence entre les
règles de Thompson et les diagrammes de workflows
Conversion des spécifications non
récursives
À l'aide des similitudes observées entre les
constructions de Thompson et les diagrammes de workflows, nous
définissons des fonctions prenant comme paramètres
d'entrée des éléments d'un GMWf et renvoyant en
sortie un diagramme de workflow. Ces fonctions une fois
combinées jouent le même rôle que les règles de
Thompson, en permettant de construire le diagramme de workflow
équivalent d'un GMWf. Nous en proposons six, pour la conversion des
specifications non récursives:
1 - La fonction DIAGM
La fonction DIAGM (Diagram Minimun) nous permet
d'obtenir le diagramme de workflow minimal d'une tache provenant du
GMWf.
MÉMOIRE - TONLE NOUMBO FRANCK BRUNO URIFIA
III.3. PRINCIPE DE CONVERSION D'UN GMWF EN UN DIAGRAMME DE
WORKFLOW
ÉQUIVALENT 47
Définition 5 .
2 - La fonction
OR
La fonction OR nous permet de représenter une
alternative dans le diagramme de workflow.
Définition 6 Soit (G1,G2,G3,...,GN)
des Graphes (diagrammes de workflows):
1. OR(G1)=G1
2. OR(G1,G2,G3,...,GN) = G
3. OR(NULL,NULL,...,NULL) = NULL
3 - La fonction
AND
La fonction AND nous permet de représenter une
exécution parallèle dans le diagramme de workflow.
III.3. PRINCIPE DE CONVERSION D'UN GMWF EN UN DIAGRAMME DE
WORKFLOW
ÉQUIVALENT 48
Définition 7 Soit (G1,G2,G3,...,GN)
des Graphes (diagrammes de workflows):
1. AND(G1) = G1
2. AND(G1,G2,G3,...,GN) = G
3. AND(NULL,NULL,...,NULL) = NULL
4 - La fonction
CONCAT
La fonction CONCAT nous permet de
concaténer deux ou plusieurs diagrammes de workflow.
Définition 8 Soit (G1,G2,G3,...,GN)
des Graphes (diagrammes de workflows):
1. CONCAT(G1,G2,...,GN) = G
MÉMOIRE - TONLE NOUMBO FRANCK BRUNO URIFIA
III.3. PRINCIPE DE CONVERSION D'UN GMWF EN UN DIAGRAMME DE
WORKFLOW
ÉQUIVALENT 49
Remarque : CONCAT concaténe
deux graphes si et seulement si le premier d'entre eux se termine. Sinon, il
retourne une erreur.
5 - Les fonctions DIAGR et DIAG
La fonction DIAGR (Diagram Right)
nous permet d'obtenir le diagramme de workflow complet, de la
partie droite d'une production de l'ensemble
P du GMWf.
La fonction DIAG quant à
elle, nous permet d'obtenir le diagramme de workflow complet
d'une tache. Ce diagramme démarre sur la tache en
entrée et s'achève lorsque tous les successeurs de la tache ont
été exécutés.
Définition 9
DIAGR(cx) =
Définition 10
|
?
???
???
|
E si, cx = E
CONCAT({DIAG(Xi)}1=
i = n)
si, cx = X1;
...;Xn
AND({DIAG(Xi)}1=
i = n)
si, cx = X1 || ... ||
Xn
|
DIAG(A)
=
|
?
??????
??????
|
E si, A =
E
CONCAT (
DIAGM(A), P1 :
A ?
X1;...;Xn OR({DIAGR(rhs(Pi))}1=
i = n)
ou, P2 : A
? X1||..||Xn
...
) Pn : A
? ...
|
A partir du principe de fonctionnment de la fonction
DIAG, l'on déduit que pour obtenir le
diagramme de workflow d'un GMWf, il nous suffit de
déterminer:
OR
({DIAG(Ai)})
avec Ai les elements de A
Propriétés de la formule de
conversion
-- Le diagramme de workflow final retourné
par notre formule de conversion est un diagramme de workflow
structuré.
Démonstration : Les
fonctions de base (DIAGM, OR, AND,
CONCAT) de notre formule de conversion retourne toujours un
diagramme de workflow structuré en sortie; car elles lient chaque
passerelle ouvrante qu'elles créent à une passerelle fermante du
même type. Par induction structurelle, la
composition (ou combinaison) de ces fonctions retournera toujours un
worklow structuré. Raison pour laquelle les
fonctions DIAG et DIAGR
retournent elles aussi des diagrammes de workflows
structurés.
MÉMOIRE - TONLE NOUMBO FRANCK BRUNO
URIFIA
MÉMOIRE - TONLE NOUMBO FRANCK BRUNO URIFIA
III.3. PRINCIPE DE CONVERSION D'UN GMWF EN UN DIAGRAMME DE
WORKFLOW
ÉQUIVALENT 50
Conclusion: Sachant que le diagramme de workflow final
est déduit de la formule OR ({DIAG(Ai)}),
on conclut que tout diagramme de workflow retourné par
notre formule est structuré.
III.3.3. Conversion d'une spécification
récursive
La formule de conversion actuelle souffre d'une grosse limite.
Lors de la conversion d'une spécification LSAWfP dans laquelle un des
artefacts représentatifs est récursif, la formule entre dans une
boucle infinie pendant le calcul de OR ({DIAG(Ai)}). La
récursivité étant un concept clé et largement
rencontré au sein des processus administratifs, il est impératif
de pouvoir les prendre en charge au cours de la conversion des
spécifications. C'est cette principale raison qui nous pousse à
effectuer des ajustements sur la formule actuelle afin qu'elle puisse
parfaitement convertir des spécifications LSAWfP récursives.
Introduction de nouveaux éléments lors du
procédé de conversion
Pour que la conversion des spécifications
récursives puisse être possible, de nouveaux
éléments doivent être pris en compte lors du
procédé de conversion de ces spécifications. En effet, la
boucle infinie à laquelle on fait face lors de la conversion
résulte de notre incapacité à identifier chaque tache de
façon unique afin de déterminer si oui ou non, elle est
déjà en cours de conversion. Pour corriger cela, nous
introduisons:
-- Un adressage unique de chaque tache de nos
artefacts représentatifs
Ceci est fait dans le but d'identifier les taches
récurrentes c'est-à-dire les taches déjà en cours
de conversion. Cet adressage sera fait a l'aide de l'annotation de Dewey
[50].
-- Un historique des taches traitées lors
du parcours d' un chemin de l'artefact
Lorsqu'une tache sera en cours de conversion, elle sera
directement transmise à tous ses fils comme historique afin que ceux-ci
ne refassent plus son calcul s'ils la rencontrent une seconde fois. Cette
approche nous évite d'entrer dans une boucle infinie, car lors de la
rencontre d'une tache déjà en cours de conversion, une annotation
sera marquée sur la tache précédant sa seconde instance.
Ceci dans le but de représenter la relation ittérative
existante entre elle et la tache en cours de conversion.
III.3. PRINCIPE DE CONVERSION D'UN GMWF EN UN DIAGRAMME DE
WORKFLOW
ÉQUIVALENT 51
Une annotation peut tout simplement être perçue
comme un lien implicite entre deux éléments.
Redéfinition des différentes fonctions
de conversion
L'introduction de l'historique et de l'adressage nous conduit
à une redéfinition des fonctions précédemment
citées. On passe de 6 à 7 fonctions de conversion. Nous avons:
1 - Redéfinition de la fonction
DIAGM
La fonction DIAGM (Diagram Minimun) nous permet
d'obtenir le diagramme de workflow annoté minimal d'une tache
provenant du GMWf.
Définition 11 .
2 - Redéfinition de
la fonction OR
La fonction OR nous permet de représenter une
alternative dans le diagramme de workflow annoté.
Définition 12 Soit
(G1,L1);(G2,L2);...;(GN,LN) des couples de (Graphes, Liste Annotations) avec
L1,...,LN des listes contenant les annotations des éléments
récursifs (éléments en cours de conversion) faisant partie
des alternatives de la fonction OR :
1. OR((A,B)) = (A,B)
2. OR((NULL,L1);(NULL,L2);...;(NULL,LN)) = (G,NULL)
MÉMOIRE - TONLE NOUMBO FRANCK BRUNO URIFIA
3. OR((G1,L1);(G2,L2);...;(GN,LN)) = (G,NULL)
III.3. PRINCIPE DE CONVERSION D'UN GMWF EN UN DIAGRAMME DE
WORKFLOW
ÉQUIVALENT 52
3 - Redéfinition de
la fonction AND
La fonction AND nous permet de représenter une
exécution parallèle dans le diagramme de workflow
annoté.
Définition 13 Soit
(G1,L1);(G2,L2);...;(GN,LN) des couples de (Graphes, Liste Annotations) avec
L1,...,LN des listes contenant les annotations des éléments
récursifs (éléments en cours de conversion) faisant parti
des taches à exécuter simultanément:
1.
MÉMOIRE - TONLE NOUMBO FRANCK BRUNO URIFIA
AND((A,B)) = (A,B)
2. AND((NULL,L1);(NULL,L2);...;(NULL,LN)) =
(G,NULL)
3. AND((G1,L1);(G2,L2);...;(GN,LN)) = (G,NULL)
III.3. PRINCIPE DE CONVERSION D'UN GMWF EN UN DIAGRAMME DE
WORKFLOW
ÉQUIVALENT 53
4 - La fonction
JOIN
La fonction JOIN nous permet de concaténer un
graphe non vide et un graphe annoté.
Définition 14 Soit G1 un graphe non
annoté et (G2,L2) un couple (Graphes, Liste Annotations) avec L2 une
liste contenant les annotations des éléments récursifs
exécutés avant G2 :
1. JOIN(G1,(G2,L2)) = (G,NULL)
MÉMOIRE - TONLE NOUMBO FRANCK BRUNO URIFIA
Remarque : JOIN concaténe deux graphes si et
seulement si le premier d'entre eux se termine. Sinon, il retourne une
erreur.
III.3. PRINCIPE DE CONVERSION D'UN GMWF EN UN DIAGRAMME DE
WORKFLOW
ÉQUIVALENT 54
5 - Redéfinition de la fonction CONCAT
La fonction CONCAT nous permet de
concaténer deux ou plusieurs diagrammes de workflows
annotés.
Elle consiste en une jointure deux à deux, des
différents graphes annotés pris en paramètres. La fonction
CONCAT s'arrête lorsqu'elle a joint tous les graphes, et renvoie
une erreur si elle rencontre une liste non vide d'annotations avant le dernier
paramètre.
Définition 15 Soit
(G1,L1);(G2,L2);...;(GN,LN)
des couples de (Graphes, Liste Annotations) avec Lk la liste contenant les
annotations des éléments récursifs qu'on exécute
avant Gk :
1.
CONCAT((G1,L1);(G2,L2);...;(GN,LN))
= (G,NULL)
MÉMOIRE - TONLE NOUMBO FRANCK BRUNO URIFIA
6 - Redéfinition des fonctions DIAGR et DIAG
La fonction DIAGR (Diagram Right) nous permet
d'obtenir le diagramme de workflow annoté complet, de la partie
droite d'une production de l'ensemble P du GMWf.
La fonction DIAG quant à elle, nous permet
d'obtenir le diagramme de workflow annoté complet d'une tache.
Ce diagramme démarre sur la tache en entrée et s'achève
lorsque tous les successeurs de la tache ont été
exécutés.
Définition 16
DIAGR(a,u,H) =
|
?
???
???
|
E si, a = E
CONCAT({DIAG(Xi,u.i,H)}1< i < n)
si, a = X1; ...;Xn
AND({DIAG(Xi,u.i,H)}1< i < n) si, a
= X1 || ... || Xn
|
III.4. FONCTION D'EXPORT DE LSAWFP VERS LE BPMN XML 2.0 55
Définition 17
DIAG(X,u,H) =
?
????????????? ?
??????????????
å si, A = å
JOIN ( P1 : A --*
X1;...;Xn
DIAGM(X,u), P2 : A --*
X1||..||Xn
...
...
...
OR(
{DIAGR(rhs(Pi),u,H
u(X,u))}1< i < n ou,
)
) Pn : A --* ...
MÉMOIRE - TONLE NOUMBO FRANCK BRUNO URIFIA
A partir du principe de fonctionnment de la fonction
DIAG, l'on déduit que pour obtenir le diagramme de workflow
d'un GMWf, il nous suffit de déterminer:
({ ( )} )
G = OR DIAG Ai,i,[ i avec Ai les elements
de A
i
|
Puis d'appliquer un post-traitement sur le diagramme
de workflow annoté complet G. Il aura pour but de remplacer les
annotations par des liens explicites vers les différentes taches
récursives de notre diagramme.
III.4. Fonction d'export de LSAWfP vers le BPMN XML
2.0
Lorsqu'on applique notre formule de conversion à un
GMWf, on obtient en sortie un diagramme de workflow qui n'est propre à
aucun langage de workflow. Il contient l'ensemble des taches du processus et
leurs relations de précédence. Il peut par conséquent
être sérialisé dans un langage de workflow
spécifique afin d'obtenir le modèle de workflow du processus dans
ce langage. Dans le cadre de notre étude, nous sérialisons ce
diagramme afin d'obtenir en sortie une spécification BPMN sous le format
BPMN XML 2.0. Cette sérialisation fait office de
fonctionnalité d'export dans LSAWfP Editor.
FIGURE 25 - Fonctionnalité d'export
dans LSAWfP Editor
III.5. CONCLUSION 56
MÉMOIRE - TONLE NOUMBO FRANCK BRUNO URIFIA
Il devient à présent possible de
spécifier un processus à l'aide de LSAWfP dans LSAWfP Editor,
puis l'exporter en BPMN sous le format BPMN XML 2.0 et enfin le visualiser dans
un autre outil de spécification. À titre d'illustration, on peut
observer le résultat de l'export de notre exemple courant
spécifié sur LSAWfP Editor. Le fichier obtenu est
visualisé sur l'outil
BPMN.io, et on constate que son flot de
contrôle est en tout point identique au modèle que nous avons
spécifié manuellement dans la section portant sur le BPMN (voir
sec. I.3.2.1).
FIGURE 26 - Visualisation du modèle
BPMN généré par LSAWfP Editor sur
BPMN.io
LSAWfP Editor devient ainsi interopérable avec
les autres outils de modélisation déjà existants qui
permettent d'exécuter ou visualiser des spécifications BPMN.
III.5. Conclusion
Dans ce dernier chapitre portant sur la facilitation de la
spécification des processus administratifs avec une approche
orientée scénario, nous avons présenté LSAWfP
Editor, un outil d'aide à la spécification des processus
modélisés avec LSAWfP. L'outil proposé tire ses
fonctionnalités principales d'une revue des outils existants de
spécification. Il propose notamment une large palette d'outils
permettant une parfaite modélisation graphique des processus LSAWfP. Il
permet en plus la sauvegarde graphique et la visualisation des
spécifications,
CONCLUSION GÉNÉRALE 57
MÉMOIRE - TONLE NOUMBO FRANCK BRUNO URIFIA
ce qui conduit à la fonctionnalité de partage de
ces dernières. Il offre enfin une fonctionnalité d'export vers un
format que nous proposons; ceci dans le but d'assurer
l'interopérabilité entre lui, les outils actuels et les
éventuels outils qui seront créés dans le cadre du projet.
Notre seconde contribution a été l'établissement d'une
formule mathématique permettant de convertir des GMWf en diagramme de
workflow. Une application de cette formule a été faite et
proposée sous forme de fonctionnalité dans LSAWfP Editor:
L'export vers le BPMN XML 2.0. Elle a été testée à
travers l'export de notre exemple courant. Nous avons obtenu un diagramme
d'orchestration BPMN généré équivalent à
celui que nous avions spécifié manuellement; d'où
l'interopérabilité effective entre LSAWfP Editor et les autres
outils de spécification.
58
CONCLUSION GÉNÉRALE
SOMMAIRE
Problématique étudiée et bilan 58
Analyse critique des résultats obtenus 59
Quelques perspectives 59
Nous allons pour conclure, rappeler la problématique
abordée dans ce mémoire, ensuite présenter les grandes
lignes de la solution proposée, ainsi que ses limitations et les
critiques qu'il convient d'en faire. Nous terminerons par la
présentation de quelques perspectives pouvant faire l'objet des travaux
futurs.
Problématique étudiée et
bilan
Dans ce mémoire, nous nous sommes
intéressés à l'automatisation des processus
opérationnels en utilisant les outils technologiques offerts par le BPM
(langage de modélisation, WfMS). Nous avons contribué à
l'ambition de rendre plus accessible, l'automatisation des processus
opérationnels à travers une approche grammaticale grâce
à cette technologie. Ceci dans le but d'accroître son
succès dans les secteurs d'activité utilisant des processus
administratifs, comme ce fut le cas dans d'autres secteurs (banques,
assurances, etc.). Nous avons principalement été guidés
par l'objectif de faciliter autant que faire se peut la modélisation des
processus administratifs avec une approche orientée scénario.
Pour ce faire nous avons proposé un outil
interopérable d'aide à la spécification des processus
LSAWfP. Nous avons opéré les mêmes choix
méthodologiques que ceux opérés dans [51]. Ces choix ont
été : l'étude minutieuse du langage (LSAWfP dans notre
cas) et une revue des fonctionnalités offertes par les outils de
spécification existants. Cette méthodologie nous a conduit
à la production de LSAWfP Editor, un outil d'aide à la
spécification des processus administratifs avec une approche
orientée scénario. Nous avons ensuite établi une
formule
QUELQUES PERSPECTIVES 59
MÉMOIRE - TONLE NOUMBO FRANCK BRUNO URIFIA
de conversion des spécifications LSAWfP. Cette formule
a été redéfinie afin de pouvoir supporter les conversions
dans lesquelles figurent des artefacts représentatifs récursifs.
Pour terminer, nous avons proposé une application de cette formule de
conversion : une fonction d'export vers le BPMN XML 2.0. L'outil de
modélisation a été testé en l'utilisant pour la
spécification du processus de pré-soutenance d'une thèse
de PhD dans notre université. Le processus a été
parfaitement spécifié; son modèle sauvegardé et
partagé. La fonction d'export a elle aussi été
testée. Elle a été entièrement satisfaisante, car
notre exemple courant spécifié avec LSAWfP puis converti en BPMN
XML 2.0 a eu un flot de contrôle identique à celui que nous avons
spécifié manuellement en BPMN dans Bizagi Modeler.
Analyse critique des résultats obtenus
D'après nos expérimentations, l'outil
proposé est capable de modéliser n'importe quel processus
administratif sachant que ces derniers ont un nombre de scénarios et de
taches constant. La formule de conversion quant à elle est capable de
convertir n'importe quelle spécification LSAWfP (des plus simples ne
possédant aucun symbole de restructuration aux plus complexes qui
contiennent plusieurs taches récursives et des dizaines de symboles de
restructuration) en un diagramme de workflow équivalent, tant que cette
spécification est bien définie. La fonction d'export ne retourne
aucun résultat lorsque la spécification LSAWfP passée en
paramètre n'a pas de diagramme d'orchestration équivalent en
BPMN. Une étude approfondie doit être menée pour identifier
avec certitude ce genre de cas. Il reste malgré tout difficile de mener
une évaluation théorique de nos résultats sachant que
notre travail est centré sur le procédé de
spécification des processus.
Quelques perspectives
Le présent travail ouvre la voie à un ensemble
de travaux futurs qui pourraient faire l'objet d'études plus
approfondies. Nous pouvons citer entre autres :
-- Preuves mathématiques de l'equivalence de notre
formule de conversion : présenter les preuves mathématiques de la
validité des fonctions de conversions proposées ainsi qu'une
étude de leur complexité.
-- Fonction d'import des spécifications BPMN et YAWL
vers LSAWfP : afin de rendre notre outil entièrement
interopérable, en plus de la fonction
QUELQUES PERSPECTIVES 60
MÉMOIRE - TONLE NOUMBO FRANCK BRUNO URIFIA
d'export, LSAWfP Editor doit embarquer une fonction d'import
des spécifications existantes vers notre langage de
modélisation.
Dans le cadre global de notre projet, des perspectives de
recherches peuvent également être faites. Nous avons
principalement:
-- Une méthodologie générale de
modélisation des processus avec une approche orientée
scénario
61
BIBLIOGRAPHIE
[1] Van Der Aalst WMP. Business Process Management : A
Comprehensive Survey. ISRN Software Engineering. 2013 Feb;2013 :507984.
Available from:
https://doi.org/10.1155/2013/507984.
[2] Van Der Aalst WMP. The application of petri nets to
workflow management. Journal of Circuits, Systems and Computers. 1998;08(01)
:21-66. Available from:
https://doi.org/10.1142/S0218126698000043.
[3] Frederiks PJM, van der Weide TP. Information modeling :
The
process and the required competencies of its participants. Data
&
Knowledge Engineering. 2006;58(1) :4-20. Application of
natural language to information systems (NLDB04). Available from :
https://www.
sciencedirect.com/science/article/pii/S0169023X05000753.
[4] Corradini F, Polini A, Re B. Inter-organizational
business process verification in public administration. Business Process
Management Journal. 2015 09;21 :1040-65.
[5] Acu B, Reisig W. Compensation in Workflow Nets. In :
Donatelli S, Thiagarajan PS, editors. Petri Nets and Other Models of
Concurrency - ICATPN 2006, 27th International Conference on Applications and
Theory of Petri Nets and Other Models of Concurrency, Turku, Finland, June
2630, 2006, Proceedings. vol. 4024 of Lecture Notes in Computer Science.
Springer; 2006. p. 65-83. Available from :
https://doi.org/10.1007/
11767589_5.
[6] van der Aalst WMP, Aldred L, Dumas M, ter Hofstede AHM.
Design and Implementation of the YAWL System. In : Persson A, Stirna J,
editors. Advanced Information Systems Engineering, 16th International
Conference, CAiSE 2004, Riga, Latvia, June 7-11, 2004, Proceedings. vol. 3084
of Lecture Notes in Computer Science. Springer; 2004. p. 142-59. Available
from:
https://doi.org/10.1007/978-3-540-25975-6_12.
[7]
BIBLIOGRAPHIE 62
MÉMOIRE - TONLE NOUMBO FRANCK BRUNO URIFIA
Kiepuszewski B, ter Hofstede AH, van der Aalst WM.
Fundamentals of control flow in workflows. Acta Informatica. 2003;39(3)
:143-209. Available from:
https://doi.org/10.1007/s00236-002-0105-4.
[8] Zekeng Ndadji MM, Tchoupé Tchendji M, Tayou
Djamegni C, Parigot D. A Language and Methodology based on Scenarios, Grammars
and Views, for Administrative Business Processes Modelling. CoRR.
2020;abs/2010.13347. Available from:
https://arxiv.org/abs/2010.13347.
[9] Zekeng Ndadji MM. A grammatical approach to peer-to-peer
cooperative editing on a service-oriented architecture [Ph.D. thesis]. Dschang
: University of Dschang; 2021. Available from :
https://arxiv.org/abs/2106.00041.
[10] Zekeng Ndadji MM, Tchoupé Tchendji M, Tayou
Djamegni C, Parigot D. A Projection-Stable Grammatical Model for the
Distributed Execution of Administrative Processes with Emphasis on Actors'
Views. CoRR. 2021 02;abs/2102.10566. Available from :
https://arxiv.org/abs/2102.
10566.
[11] Zekeng Ndadji MM, Tchoupé Tchendji M, Tayou
Djamegni C, Parigot D. A Language for the Specification of Administrative
Workflow Processes with Emphasis on Actors' Views. In : ICCSA 2020 - 20th
International Conference on Computational Science and Its Applications. vol.
12254 of Lecture Notes in Computer Science. Cagliari, Italy: Springer; 2020. p.
231-45. Available from:
https://hal.archives-ouvertes.fr/hal-02968427.
[12] Tchoupé Tchendji M, Djeumen R, Atemkeng M. A
Stable and Consistent Document Model Suitable for Asynchronous Cooperative
Edition. Journal of Computational Chemistry. 2017;05 :69-82.
[13] Georgakopoulos D, Hornick M, Sheth A. An overview of
workflow management: From process modeling to workflow automation
infrastructure. Distributed and Parallel Databases. 1995 Apr;3(2) :119-53.
Available from:
https://doi.org/10.1007/BF01277643.
[14] OMG. Business Process Model and Notation (BPMN), Version
2.0.2; 2013. Available from:
http://www.omg.org/spec/BPMN/2.0.2.
[15] Van Der Aalst WM, Ter Hofstede AH. YAWL : yet another
workflow language. Information systems. 2005;30(4) :245-75.
[16] Jeston J, Nelis J. Business Process Management :
Practical Guidelines to Successful Implementations. Routledge; 2014. Available
from : https: //
books.google.cm/books?id=kQNcMAEACAAJ.
[17] BIBLIOGRAPHIE 63
MÉMOIRE - TONLE NOUMBO FRANCK BRUNO
URIFIA
Hollingsworth D, Hampshire U. Workflow management coalition :
The workflow reference model. Document Number TC00-1003.
1995;19(16) :224.
[18] Dumas M, Rosa ML, Mendling J, Reijers HA. Fundamentals of
Business Process Management. 2nd ed. Springer Publishing Company, Incorporated;
2018.
[19] Van Der Aalst WMP, La Rosa M, Santoro FM. Business
Process
Management. Business & Information Systems Engineering.
2016
Feb;58(1) :1-6. Available from :
https://doi.org/10.1007/
s12599-015-0409-x.
[20] Imine A. Conception Formelle d'Algorithmes de
Réplication Optimiste Vers l'Edition Collaborative dans les
Réseaux Pair-à-Pair [Theses]. Nancy 1, France : Université
Henri Poincaré; 2006.
[21] Chaâbane M, Bouzguenda L, Bouaziz R, Gargouri F.
Spécification des processus workflows évolutifs
versionnés. Schedae Informaticae. 2021 06 :21-9.
[22] Zekeng Ndadji MM. Réconciliation par consensus
des mises à jour des répliques partielles d'un document
structuré. [Master]. University of Dschang; 2016.
[23] Eric B, Hélouët L, Kouamou GE, Morvan C. A
Grammatical Approach to Data-centric Case Management in a Distributed
Collaborative Environment. In : The 30th ACM/SIGAPP Symposium On Applied
Computing. The 30th ACM/SIGAPP Symposium On Applied Computing. Salamanca, Spain
:
ACM; 2015. p. 1834-9. Available from :
https://hal.inria.fr/ hal-01193222.
[24] Romdhani I, Tawse M, Habibullah S. Student project
performance management system for effective final year and dissertation
projects supervision. London, Uk. Infonomics Society; 2011. Available from:
http: //
researchrepository.napier.ac.uk/id/eprint/4711.
[25] Yan Y, Han X, Yang J, Zhou Q. On the Design of an
Advanced Web-Based System for Supporting Thesis Research Process and Knowledge
Sharing. Journal on Educational Technology. 2012;5 :9.
[26] Sehurutshi B, Eyitayo OT. A Collaborative Tool for
MPhil/PhD Student Dissertation Workflow. Edited by Oduronke Eyitayo George
Anderson. 2016 :22.
[27]
BIBLIOGRAPHIE 64
MÉMOIRE - TONLE NOUMBO FRANCK BRUNO URIFIA
McCready S. There is more than one kind of workflow software.
Computerworld. 1992;Nov. 2. Available from : https://ci.nii.ac.jp/
naid/10004324449/en/.
[28] Boukhedouma S. Adaptation et restructuration de
modèles de processus Worflow dans un contexte inter-organisationnel.
(Adaptation and restructuring of Workflow process models in an
inter-organizational context) [Theses]. University of Nantes, France; 2015.
Available from :
https://tel.archives-ouvertes.fr/tel-01688142.
[29] Juve G, Chervenak A, Deelman E, Bharathi S, Mehta G,
Vahi
K. Characterizing and profiling scientific workflows.
Future Generation Computer Systems. 2013;29(3) :682-92. Special Section :
Recent Developments in High Performance Computing and Security. Available from
:
https://www.sciencedirect.com/science/article/
pii/S0167739X12001732.
[30] Piccinelli, Finkelstein, Williams. Service-oriented
workflow : the DySCo framework. In : 2003 Proceedings 29th Euromicro
Conference; 2003. p. 2917.
[31] Eder J, Gruber W. A Meta Model for Structured Workflows
Supporting Workflow Transformations. In : Manolopoulos Y, Navrat P, editors.
Advances in Databases and Information Systems. Berlin, Heidelberg : Springer
Berlin Heidelberg; 2002. p. 326-39.
[32] Kiepuszewski B, ter Hofstede AHM, Bussler CJ. On
Structured Workflow Modelling. In : Wangler B, Bergman L, editors. Advanced
Information Systems Engineering. Berlin, Heidelberg: Springer Berlin
Heidelberg; 2000. p. 431-45.
[33] Liu R, Kumar A. An Analysis and Taxonomy of Unstructured
Workflows. In : van der Aalst WMP, Benatallah B, Casati F, Curbera F, editors.
Business Process Management. Berlin, Heidelberg: Springer Berlin Heidelberg;
2005. p. 268-84.
[34] Baier C, Katoen JP. Principles of Model Checking
(Representation and Mind Series). The MIT Press; 2008.
[35] Biazzo S. Approaches to business process analysis : a
review. Business process management journal. 2000.
[36]
BIBLIOGRAPHIE 65
MÉMOIRE - TONLE NOUMBO FRANCK BRUNO URIFIA
Muehlen Mz, Recker J. In : How Much Language Is Enough?
Theoretical and Practical Use of the Business Process Modeling Notation.
Berlin, Heidelberg: Springer Berlin Heidelberg; 2013. p. 429-43. Available
from:
https://doi.
org/10.1007/978-3-642-36926-1_35.
[37] Grigori D. Eléments de flexibilité des
systèmes de workflow pour la définition et l'exécution de
procédés coopératifs [Theses]. Université Henri
Poincaré - Nancy 1, France; 2001. Available from :
https://hal.univ-lorraine.
fr/tel-01748094.
[38] Divitini M, Hanachi C, Sibertin-Blanc C. In :
Inter--Organizational Workflows for Enterprise Coordination. Berlin,
Heidelberg: Springer Berlin Heidelberg; 2001. p. 369-98. Available from:
https://doi.org/10.1007/
978-3-662-04401-8_15.
[39] Hull R, Narendra NC, Nigam A. Facilitating Workflow
Interoperation Using Artifact-Centric Hubs. In : Baresi L, Chi CH, Suzuki J,
editors. Service-Oriented Computing. Berlin, Heidelberg: Springer Berlin
Heidelberg; 2009. p. 1-18.
[40] Business Process Modeling : Definition, Why, Technique
and Benefits; 2019. Accessed : 2021-06-18.
https://kissflow.com/workflow/bpm/
business-process-modeling/. Available from :
https://kissflow.
com/workflow/bpm/business-process-modeling/.
[41] Weske M. Business Process Management : Concepts,
Languages, Architectures. Berlin, Heidelberg: Springer-Verlag; 2007.
[42] Thiagarajan RK, Srivastava AK, Pujari AK, Bulusu VK.
BPML : a process modeling language for dynamic business models. In :
Proceedings Fourth IEEE International Workshop on Advanced Issues of E-Commerce
and Web-Based Information Systems (WECWIS 2002); 2002. p. 222-4.
[43] Simpson R. An Xml Representation for Crew Procedures
Final Report Nasa Faculty Fellowship Program -2004; 2005..
[44] Hofstede AHMt, Kiepuszewski B. Formal Analysis of
Deadlock Behaviour in Workflows. Technical report, Queensland University of
Technology/Mincom, Brisbane...; 1999.
[45] Tchoupé Tchendji M, Zekeng Ndadji MM. Tree
Automata for Extracting Consensus from Partial Replicas of a Structured
Document. Journal of Software Engineering and Applications. 2017;10(05)
:432-56. Available from:
http://dx.doi.org/10.4236/jsea.2017.105025.
[46]
BIBLIOGRAPHIE 66
MÉMOIRE - TONLE NOUMBO FRANCK BRUNO
URIFIA
Bizagi Modeler; 2021. Accessed : 2021-06-28.
https://www.bizagi.com/ en/platform/modeler. Available from :
https://www.bizagi.com/en/
platform/modeler.
[47] Adams M, Hense AV, ter Hofstede AHM. YAWL : An open
source Business Process Management System from science for science. SoftwareX.
2020;12 :100576. Available from : https://www.sciencedirect.com/
science/article/pii/S2352711020302892.
[48] Thompson K. Programming Techniques : Regular Expression
Search Algorithm. Commun ACM. 1968 Jun;11(6) :419-22. Available from :
https://doi.org/10.1145/363347.363387.
[49] Aho AV, Lam MS, Sethi R, Ullman JD. Compilers :
Principles, Techniques, and Tools (2nd Edition). USA : Addison-Wesley Longman
Publishing Co., Inc.; 2006.
[50] Tatarinov I, Viglas SD, Beyer K, Shanmugasundaram J,
Shekita E, Zhang C. Storing and querying ordered XML using a relational
database system. In : Proceedings of the 2002 ACM SIGMOD international
conference on Management of data; 2002. p. 204-15.
[51] Brambilla M, Butti S, Fraternali P. Webratio bpm : a
tool for designing and deploying business processes on the web. In :
International Conference on Web Engineering. Springer; 2010. p. 415-29.
67
ANNEXE
PRÉSENTATION DU CONTENU DES
FICHIERS GÉNÉRÉS PAR LSAWFP
EDITOR
Dans cette annexe, nous présentons des extraits de
fichiers générés par notre outil. Nous commençons
par le contenu du fichier de sauvegarde graphique (.ggmawfp) de notre
exemple courant. Nous présentons par la suite, le DSEL JSON que
nous avons proposé pour la sauvegarde des spécifications dans un
format interopérable, pour l'ensemble des outils du projet. À
titre illustratif, nous présentons le fichier de sauvegarde
interopérable (.gmawfp) de notre exemple courant. Nous
terminons par la présentation d'un extrait du fichier BPMN XML 2.0
de cet exemple, généré après export sur LSAWfP
Editor.
Extrait du fichier de sauvegarde graphique
1
2
3
|
"scenarios": [
{
"id": 1,
|
|
|
|
|
|
4
|
"name": "scen-min",
|
|
|
|
|
|
5
|
"beingEditedNode": {
|
|
|
|
|
|
6
|
"task": {
|
|
|
|
|
|
7
|
"symbol": "D",
|
|
|
|
|
|
8
9
|
"desc": "Redaction
renvoi a l' ED",
"type": "Classic"
|
du
|
motif
|
de
|
rejet
|
et
|
10
|
},
|
|
|
|
|
|
11
|
"status": "Closed",
|
|
|
|
|
|
12
|
"production": {
|
|
|
|
|
|
MÉMOIRE - TONLE NOUMBO FRANCK BRUNO
URIFIA
13
14
15
|
PRESENTATION DU DSEL JSON
|
|
68
|
|
|
|
"prodName": "",
"prodLhs": "S2",
"prodRhs": {
|
|
|
16
|
"rhsType": "Sequential",
|
|
|
17
|
"rhsSymbols": [1
|
|
|
18
|
}
|
|
|
19
|
},
|
|
|
20
|
"sons": [1
|
|
|
21
|
},
|
|
|
22
|
"task": {
|
|
|
23
|
"symbol": "A",
|
|
|
24
25
|
"desc": "Constitution et soumission
de presoutenance a l' ED",
"type": "Classic"
|
du
|
dossier
|
26
|
},
|
|
|
27
|
"status": "Closed",
|
|
|
28
|
"production": {
|
|
|
29
|
"prodName": "",
|
|
|
30
|
"prodLhs": "S0",
|
|
|
31
|
"prodRhs": {
|
|
|
32
|
"rhsType": "Sequential",
|
|
|
33
|
"rhsSymbols": [1
|
|
|
34
|
}
|
|
|
35
|
},
|
|
|
Dans ce fichier, on remarque la présence
d'éléments tels que "scenarios", "beignEditedNode" et
"sons" qui n'appartiennent pas aux éléments constituant
un GMAWfP. Ils ont pour rôle de restituer les éléments
graphiques (artefacts représentatifs, noeuds édités, etc.)
lors de l'ouverture du fichier.
Presentation du DSEL JSON
1
|
enum
|
TaskType {
|
|
|
2
|
|
TASK_TYPE_CLASSIC
|
=
|
"Classic",
|
3
|
|
TASK_TYPE_VIRTUAL
|
=
|
"Virtual"
|
4
|
}
|
|
|
|
5
|
|
|
|
|
PRESENTATION DU DSEL JSON 69
MÉMOIRE - TONLE NOUMBO FRANCK BRUNO
URIFIA
6 enum ProductionType {
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
PRODUCTION_TYPE_ SEQ = "Sequential",
|
PRODUCTION_TYPE_ PAR = "Parallel", PRODUCTION_TYPE_ NONE =
"None", PRODUCTION_TYPE_ EPS = "Epsilon"
}
interface PeerToPeerWorkflow { grammaticalModelOfWorkflow:
GrammaticalModelOfWorkflow , accreditations?: Map<String ,
Accreditation>, stakeholders?: Stakeholder[]
}
interface GrammaticalModelOfWorkflow { tasks: Task[],
axioms: String[],
productions: Production[]
}
interface Accreditation { readable: String[], writable: String[],
executable: String[]
}
interface Stakeholder { id: String,
desc?: String
}
interface Task { symbol: String, desc?: String, status?: String,
type: TaskType
}
|
|
EXTRAIT DU FICHIER .GMWAFP DE NOTRE EXEMPLE 70
MÉMOIRE - TONLE NOUMBO FRANCK BRUNO URIFIA
interface Production { prodName: String, prodLhs: String,
prodRhs: ProductionRhs
}
interface ProductionRhs {
rhsType: ProductionType ,
rhsSymbols?: String[]
}
42
43
44
45
46
47
48
49
50
51
52
Ce DSEL contient uniquement l'ensemble des
éléments requis pour une spécification LSAWfP, et il les
matérialise à l'aide des types offerts par le TypeScript. Avec ce
dernier, l'on dispose d'une syntaxe claire et précise, nous
fournissant tous les éléments nécessaires pour
spécifier un processus avec LSAWfP. Le format .gmwafp
(basé sur ce DSEL) est donc parfaitement approprié pour
assurer l'interopérabilité entre les différents outils du
projet, sachant que contrairement au format .ggmawfp, il embarque
uniquement en son sein les éléments propres au GMAWfP.
{
"grammaticalModelOfWorkflow":{
"tasks":[
{
"symbol":"A",
"desc":"",
"type":"Classic"
},
{
"symbol":"B",
"desc":"",
"type":"Classic"
},
{
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Extrait du fichier .gmwafp de notre exemple
EXTRAIT DU FICHIER BPMN XML 2.0
GÉNÉRÉ 71
MÉMOIRE - TONLE NOUMBO FRANCK BRUNO
URIFIA
"symbol":"C", "desc":"",
"type":"Classic"
},
{
"symbol":"D",
15
16
17
18
19
20
Comme le DSEL, ce fichier se divise en 3 principaux
éléments : le "grammaticalModelOfWorkflow", les
"accreditations" et les "stakeholders".
Extrait du fichier BPMN XML 2.0
généré
<?xml version="1.0" encoding="UTF -8"?>
<bpmn:definitions xmlns:bpmn="
http://www.omg.org/spec/
BPMN/20100524/MODEL" xmlns:bpmndi="http ://
www.omg.
org/spec/BPMN/20100524/DI" xmlns:dc="http ://
www.omg.
org/spec/DD/20100524/DC" xmlns:di="http ://
www.omg.
org/spec/DD/20100524/DI" xmlns:xsd="http ://
www.w3.
org/2001/XMLSchema" xmlns:xsi="
http://www.w3.org /2001/XMLSchema
-instance" targetNamespace=" LSAWfPEditor"
id="LSAWfP_Process_1621779960435_6"> <bpmn:process
id="ProcessId_1621779960435_1" name=" null">
<bpmn:documentation>null</bpmn:documentation>
<bpmn:startEvent id="StartEvent_945944692_7"> <bpmn:outgoing>
SequenceFlow_945944692618756840_8</bpmn: outgoing>
</bpmn:startEvent>
<bpmn:task id="Activity_618756840_1_9" name="A">
<bpmn:documentation />
<bpmn:incoming>
SequenceFlow_945944692618756840_8 </bpmn: incoming>
<bpmn:outgoing>
SequenceFlow_618756840889417478_10 </bpmn: outgoing>
|
MÉMOIRE - TONLE NOUMBO FRANCK BRUNO URIFIA
72
</bpmn:task>
<bpmn:exclusiveGateway id=" ExclusiveGateway_889417478_11"
gatewayDirection="Diverging">
<bpmn:incoming>
SequenceFlow_618756840889417478_10</bpmn: incoming>
<bpmn:outgoing>
SequenceFlow_8894174781239211939_12</bpmn: outgoing>
<bpmn:outgoing>
SequenceFlow_8894174782118728884_13</bpmn: outgoing>
</bpmn:exclusiveGateway>
<bpmn:task id="Activity_1239211939_1.1.1_14" name="B">
<bpmn:documentation />
<bpmn:incoming>
SequenceFlow_8894174781239211939_12 </bpmn: incoming>
<bpmn:outgoing>
SequenceFlow_12392119391372598191_15 </bpmn: outgoing>
</bpmn:task>
<bpmn:task id="Activity_1372598191_1 .1.2_16" name="C">
<bpmn:documentation />
<bpmn:incoming>
SequenceFlow_12392119391372598191_15 </bpmn: incoming>
<bpmn:outgoing>
SequenceFlow_13725981912139423180_17 </bpmn: outgoing>
</bpmn:task>
<bpmn:task id="Activity_2139423180_1.1.3_18" name="D">
|
|