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.
|