Workflow Master PDF
Workflow Master PDF
Workflow Master PDF
Workflow
Chihab HANACHI
Université Toulouse I, France.
hanachi@univ-tlse1.fr
1
Objectifs
Comprendre :
– l’intérêt et les domaines d’application du workflow
– sa position dans l’évolution des Systèmes
Informatiques
– les nouvelles tendances du domaine (process
mining, flexibilité des processus).
Evaluation : Examen.
4
Plus d’information ?
Ici et ailleurs :
– Workflow Management: Models, Methods and
Systems. ISBN 0-262-01189-1. MIT Press,
2002, W.M.P. van der Aalst and K.M. van Hee.
– Process Aware Information Systems, Wiley,
2005, Dumas Marlon, Van Der Aalst Wil and
Arthur H. M. ter Hofstede.
– Processus métiers et S.I., "Evaluation,
modélisation et mise en oeuvre" , Edition Dunod,
2005, Chantal Morley, Jean Hugues, Bernard
Leblanc, Olivier Hugues.
5
Plus d’information ?
Ici et ailleurs :
– Workflow Management Coalition Terminology and Glossary,
(WFMC-TC-1011, Feb-1999, 3.0), disponible à
http://www.wfmc.org/standards/docs.html
– Workflow Pattern http://www.workflowpatterns.com/
– Workflow Mining www.processmining.org
– Outils ProM (ProcessMining)
http://is.tm.tue.nl/~cgunther/dev/prom/
– YAWL http://www.yawl-system.com/
6
Workflow Management Coalition
7
Workflow and BPM
quelques sites web
8
1. Approche intuitive du
workflow
9
L ’étude de cas : remboursement
de notes de frais (cf. photocopie).
Tâches et circuit simples, acteurs peu
nombreux et pourtant résultat
insatisfaisant pour le demandeur ;
Dépenses de l ’entreprise, en temps et
argent, disproportionnées par rapport à
ce processus routinier ;
De plus, ce processus se répète des
centaines de fois par an.
10
L’étude de cas :
remboursement de notes de frais.
Lourdeur des enchaînements de tâches
et des flux d ’information sous forme de
documents papiers.
11
Automatisation naïve
avant l ’arrivée du workflow
T1 T2 T3
go to T2 go to T3 Fin
13
Les processus comme composant
à part entière
A
B
T1 T2 T3
Appl. A Appl. B Appl. C
C
Fin
14
L’idée principale
Workflow
processus ressources
applications
appl.
SGBD
SGBD
SGBD
appl. appl. appl.
SGW
SE SE SE SE
Les processus :
•deviennent de plus en plus importants
•sont sujets à des changements
•deviennent plus complexes
17
•augmentent en nombre
Processus et organisation
18
Du Groupware au Workflow
19
Du Groupware au Workflow
20
Source: http://www.lotus.com
Technologie supportant le
Groupware
Activités
Formulaires électroniques
Structurées
Agenda-planning partagé Coordination
Workflow
Édition conjointe
Messagerie Collaboration
Forum de discussion
Faiblement
Communication
activités
Structurées
Centré sur Centré sur les
l ’information processus
21
From groupware to workflow
(Johansen1988, Baecker 1995, Dix 1998)
22
2. Workflow : Principes,
concepts, fonctions et
architecture.
23
Vocabulaire
Processus Cas
d ’entreprise Ressources
Workflow Rôles
Système de Gestion unité
de Workflow organisationnelle
Définition de worklist (liste des
processus tâches à faire)
Tâches, activités
24
Processus d’entreprise
(Business Process)
Enchaînement ordonné de tâches, répondant à un
certain schéma et aboutissant à un résultat
déterminé.
Ensemble d ’activités ayant un déclencheur commun,
reliées entre elle par des flux d ’information ou de
matières et qui se combinent pour fournir un produit
matériel ou immatériel, important et bien défini que
l ’on peut rattacher à un client externe ou interne.
25
Processus d’entreprise
(Business Process)
Exemples (voir aussi exemples exprimés en RP):
suivi de dossier médical
26
Workflow
Definition : Automatisation de tout ou partie d’un
processus d’entreprise, au cours duquel l’information
circule d’une activité à l’autre, c’est-à-dire d’un
participant à l’autre, pour action en fonction d’un
ensemble de règles de gestion [WfMC].
27
Système de Gestion
de Workflow (SGWf, WfMS)
Un ensemble d’outils permettant la définition
de processus, l’exécution de workflow, et
l’administration et la surveillance d’instances
de processus.
Exemple de FlowMind.
28
Architecture d’un SGWf
29
Architecture Workflow :
quelques standards
Process Definition
BPMN
1
XPDL
Aministration Other
BPAF
and 5 BPEL 4 workflow
XPDL
Wf-XML
30
Définition de processus avec
Flowmind (FlowPoint)
31
Application cliente : reminder dans
Flowmind
32
Adminsitration et monitoring :
FlowSnap
Mesurer/Tracer les
activités pour :
- Suivre les exécutions ;
- Réagir aux problèmes ;
- Calculer des indicateurs ;
- Améliorer les processus.
33
Définition(Schéma) de processus
Représentation informatique d ’un processus. Cette définition
peut être utilisée pour la modélisation et la simulation d ’un
processus, comme elle peut être exécutée par un SGWf.
34
Instance de processus : « case »
Correspond à une exécution d ’un schéma de
processus.
– Un schéma peut être instancié plusieurs fois, et plusieurs
instances peuvent s ’exécuter concurremment.
35
Tâche
Une tâche : unité de travail représentant une étape d’un
processus. Une tâche fait appel à des ressources
humaines ou matérielles pour son accomplissement.
37
Relations entre les concepts du
workflow Procesus d’entreprise
(que doit-il se passer )
Est formalisé en Est géré par
Sous-processus Composé de
Instances de processus
(représentation de ce qui se passe)
Tâches
Inclut une ou plusieurs
Peut être
ou
Pendant l’exécution Instances de tâches : activités
sont représentées par
Qui inclut
39
Fonctions principales assurées
par le workflow
3R : « rôles, règles, routes,»
gestion des ressources (rôles) :classification
des ressources à utiliser et règles
d ’allocation ;
règles de coordination des tâches (règles de
gestion) ;
routage des documents, des informations et
des tâches.
40
Différents types
de routage
Routage
A B C séquentiel
B
A D Routage
C parallèle
B
A D Routage
C conditionnel
Routage
A B C 41
itératif
Modélisation BPMN
43
Représentation des rôles et des unités
organisationnelles en BPMN
44
Allocation des tâches
Dans la définition d ’un workflow : les tâches sont
statiquement associées à des rôles ou des unités
organisationnelles plutôt qu ’à des individus.
unité organisationnelle
rôle
les deux
ou bien, basée sur des règles
dynamiques dépendant du cas traité et
de l ’histoire des ressources
46
Ordre d ’exécution des tâches
FIFO ;
LIFO ;
SPT (shortest processing time) ;
SRPT (shortest remaining processing
time) ;
EDD (earliest due date) ;
PRIO (tasks with priority go first).
47
3. Outils et Modèles pour
le workflow
48
Cycle de vie d'un workflow
Objectif
Analyses Gestion
Conception
Execution
Automatisation
Monitoring
49
Processus de workflow versus
Processus collaboratifs
structuré
Workflows de Production
Workflows
Administratifs
Workflows
Ad-hoc
Processus
collaboratifs
Faiblement
structuré Centré sur Centré sur les
l'information processus
50
Typologie de
de workflow
workflow de production : s ’applique à des
processus fortement structurés sans
variations ;
Workflow administratif : automatise des
processus variables(plusieurs cas) mais bien
définis.
Workflow ad-hoc : automatise des
procédures d ’exception dont il n ’est pas
toujours possible de définir des règles à
l ’avance. 51
SGWf actuels
Outils supportant des workflows de Production et Administratifs :
– W4 et WB2E (ex. FlowMind) de W4
– COSA (COSA solutions)
– Flowmark (IBM)
– OPEN/Workflow (Eastman software)
– Staffware (staffware)
– Visual workflow (FileNet)
– Oracle Workflow
Outils supportant des workflow ad-hoc: ensemble (File net)
Outils supportant des processus collaboratifs : Lotus Notes,
Microsoft Exchange.
Modélisation : voir WinDesign, Aris Tool Set, Power AMC,… (cf.
ouvrage de C. Morley).
52
Trois Modèles conceptuels
modèle organisationnel
modèle informationnel
modèle de procédé
53
Modèle organisationnel
Trois objectifs :
– structure les ressources en classes : rôle,
unité organisationnelle.
– Attribut aux ressources des autorisations
de réaliser des tâches, des méta-tâches
(définition, mise à jour de nouveau
processus, modification d ’occurrences) ;
– détermine des modes d ’allocations de
tâche : push, pull.
54
Modèle organisationnel
55
Modèle informationnel
Décrit la structure des formes, documents, et
données qui sont utilisés par un workflow ;
souvent pré-existant à la création du workflow ; mais
leur schéma doit être connu pour être exploité par le
WfMS.
L ’existence de ces informations et leur valeur
déterminent si une tâche peut être exécutée ou non
(pré-condition) ;
Décrit avec des modèles de données (Relationnel,
Objet), modèles de documents (SGML, XML)
56
Modèles de procédés
57
Modèles de procédés
RPO FLOWMIND
BPMN
TINA
60
Qualités requises pour un Langage de
description de workflow
62
Avantages de l'utilisation des
Réseaux de Petri
Sémantique formelle : spécification de processus
claire et précise;
langage graphique : intuitif et facile à utiliser.
Pouvoir d'expression : exprime tous les routages
possibles ;
analyse : de propriétés (terminaison, accessibilité de
certains états, …), de la performance.
Indépendant du commerce : n'est la propriété
d'aucun vendeur, existe indépendamment de
l'évolution du marché.
63
Principes des Réseaux de Petri
cadre •Un Réseau de Petri est un
roue
graphe orienté composé de
. ... places (rond) et de transitions
(rectangle)
•Les arcs (flèches) ne peuvent
2 relier que les places aux
transitions ou bien les
Assemblage transitions aux places.
•Les jetons (points) sont des
objets dynamiques : se
déplaçant de places en places.
Vélo
64
Réseaux de Petri
cadre roue •L ’état du RP est déterminé
par la distribution des jetons
. ... dans les places appelée
marquage.
•Le marquage initial est la
2 distribution initiale de jetons
. Assemblage
sur le réseau.
•La transition « assemblage »
pince a 3 places d ’entrée (cadre,
roue, pince) et 2 places de
sortie (pince, vélo).
•L ’état du système est : un
Vélo cadre, 3 roues, 1 pince et 0
vélo.
65
Réseaux de Petri
cadre roue •Une transition T est
franchissable (action
. ... possible) à partir d ’un état du
système dès lors qu ’il y a
suffisamment de ressources
2 dans toutes les places
d ’entrée de T.
. •Franchir une transition
pince Assemblage correspond à consommer
(enlever) des jetons des places
d ’entrée et produire (ajouter)
des jetons dans les places de
sortie en nombre égal aux
Vélo valuations des différents arcs
(par défaut 1).
66
Réseaux de Petri
cadre roue cadre roue
. ... .
2 2
. .
pince Assemblage pince Assemblage
.
Vélo Vélo
.
. .
.... ... 69
Évolution du système : séquence de
franchissement
Enfant . Grandir Marquage courant :
configuration des jetons à
travers les places.
Mariage Adulte et
Marquage accessible : un
Libre
marquage accessible à partir du
Divorcer marquage courant en
Marié
déclenchant une séquence de
transitions franchissables.
Grandir
4 états accessibles
(0,1,0,0)
Un état bloquant
Mariage Divorcer
(0,0,1,0)
Mourir
(0,0,0,1)
71
Exercice
dodo
..
début stop
boulot
73
Expression du Routage
Séquentiel ;
Parallèle ;
Alternatif ;
Itératif
74
Processus s’exécutant en parallèle
P0 .
T1
PR1 PR2
P1 P2
T3 T4
P3 P4
T2
75
Processus s ’exécutant alternativement
PR1 P0 ..
PR2
T1 T2
P1 P2
T3 T4
P3 P4
or
rv orange
vo
vert
77
Exemple : 2 feux rouges
sécurisés
. rouge1
. rouge2
Sécurité
or1 . or2
vo1 vo2
vert1 vert2
78
Exemple : 2 feux rouges
sécurisés.
Graphe facilement généré
(0,0,1,1,0,0,0) (1,0,0,0,0,1,0)
or1 or2
(1,0,0,1,0,0,1)
vo1 vo2
rv1 rv2
(0,1,0,1,0,0,0) (1,0,0,0,1,0,0)
79
Exemple : 2 feux rouges
sécurisés et équitables
. rouge1
. rouge2
Sécurité 2
or1 or2
vo1 vo2
.
vert1 vert2
Sécurité 1
80
Réseaux de Petri à Objets
Enrichissement des jetons : discernables et typés ;
chaque place est associée à un type ;
un jeton est un objet (attributs, méthodes) du type
associé à sa place ;
les arcs sont étiquetés par des variables, paramètres
formels des transitions ;
le franchissement est conditionné par le principe de
semi-unification variable/jeton.
le franchissement peut être conditionné par un test
sur la valeur des jetons ;
les jetons fixent la valeur des jetons produits. 81
Réseau de Petri à Objet
Nom : Joe Nom : Jack
Age : 30 Experience : (newwave,
LongueurCheveux : 30
Style : new wave
.. rock, classique)
cl.style in co
... cl co.experience Coiffeur libre
<Coiffeur>
co
Client Début <cl,co>
Attendant <cl,co>
<Client> Cl.LongueurCheveux--
Occupés cl
<Client, Coiffeur>
Client coiffé
<Client>
82
Réseau de Petri à Objet
P1
<real> 12
-15.2
x
Condition de déclenchement
x>0
y=int(sqrt(x)) action
P2 P3
<integer> <integer>
83
Fondements théoriques des RP
Définition : Un Réseau de Petri R est défini par
R=(P,T,W), où
P est un ensemble fini de places {p1,…,pm}
T est un ensemble fini de transitions {t1,…,tn},
W est la fonction de valuation :
W : ( P × T ) ∪ (T × P ) → Entier
a c
3
p2
p1 p3
b d
86
Exemple de représentation
matricielle
a b c d a b c d
0 1 0 0 p1 1 0 0 0 p1
Pre = 1 0 3 0 p2 Post= 0 1 0 3 p2
0 0 0 1 p3 0 0 1 0 p3
0 p1 a b c d
M= 3 p2 1 -1 0 0 p1
0 p3 C= -1 1 -3 0 p2
0 0 1 -1 p3
Abréviation :
On note Pre(.,t), Post(.,t) et
C(.,t) les colonnes de ces
matrices associées à une
87
transition t.
Exemple de représentation
matricielle
Une transition t est franchissable 0 p1
si et seulement si
M= 3 p2
∀p ∈ P, M ( p ) ≥ Pr e( p, t ) 0 p3
a b c d
autres notations :
0 1 0 0 p1
M(t>
Pré = 1 0 3 0 p2
M>=Pre(.,t)
0 0 0 1 p3
88
Exemple de représentation
matricielle
Si t est franchissable pour le marquage a b c d
M, le franchissement de t donne le 0 1 0 0 p1
nouveau marquage M' tel que : Pre = 1 0 3 0 p2
∀p∈ P,M'(p) = M(p)− Pre(p,t) + Post(p,
t) 0 0 0 1 p3
on note plus simplement :
M(t>M' a b c d
ou bien, M'=M-Pre(.,t)+Post(.,t) 1 0 0 0 p1
Post= 0 1 0 3 p2
L'exécution de a à partir 0 0 1 0 p3
de M conduit au marquage
M' suivant : M Pre(t) Post(t)
1 0 0 1
2 = 3 - 1 + 0
0 0 0 0 89
Conflit et parallélisme
Conflit structurel : Deux transitions t1 et a b c d
t2 sont en conflit structurel si et seulement 0 1 0 0 p1
si elles ont au moins une place d'entrée en Pre = 1 0 3 0 p2
commun: 0 0 0 1 p3
∃p∈ P,Pre(p,t1)• Pre(p,t2) ≠ 0
a b c d
Conflit effectif : elles sont en conflit pour 1 0 0 0 p1
un marquage M ssi t1 et t2 sont en conflit Post= 0 1 0 3 p2
structurel et que : 0 0 1 0 p3
M ≥ Pre(.,t1)
M ≥ Pre(.,t2) 0
M= 3
0
Exercice : Que peut-on dire de a et c ? De b et d ?
90
Conflit et parallélisme
Parallélisme structurel : Deux transitions a b c d
t1 et t2 sont parallèles structurellement si : 0 1 0 0 p1
Pre = 1 0 3 0 p2
(Pre(.,t1))T • Pre(p,t2) = 0
0 0 0 1 p3
Elles n'ont donc aucune place d'entrée
commune (le produit scalaire de leurs a b c d
vecteurs Pre est nul). 1 0 0 0 p1
Parallélisme effectif : deux transitions t1 et Post= 0 1 0 3 p2
t2 sont parallèles pour un marquage donné 0 0 1 0 p3
M ssi elles sont parallèles structurellement
et : M ≥ Pre(.,t1)
M ≥ Pre(.,t2)
92
Propriétés vérifiables avec les RP
Terminaison finie : est-ce que tout processus se
termine ?
Réseau borné : le nombre de configurations possible
du système est-il fini ?
Accessibilité : existe-il une évolution du système
conduisant à une configuration donnée (souhaitée,
non souhaitée).
Vivacité : une action donné est-elle toujours
possible? (pas de partie morte, pas de blocage dû à
la structure du réseau)
Quasi-vivacité : existe-t-il une configuration du
système permettant l'exécution d'une action
93
donnée ?
Découverte de Processus
C. Hanachi
(inspiré de transparents fournis
généreusement par
Wil Van Der Aalst
Eindhoven University of Technology) . 94
Présentation Générale
Techniques de découvertes généralisables au
Groupware.
Découverte de Processus
– Algorithme alpha
Un logiciel ProM
– Convertisseurs (e-mail, Staffware, InConcert, SAP, etc.)
– Process mining plug-ins
– Analysis plug-ins
– Conformance testing plug-in
– Social network plug-in 95
Motivation
Prepare Ship
shipment goods
process Register
order
(Re)send
bill
Archive
order
mining Receive
payment
Contact
customer
Register order
Prepare
shipment
(Re)send bill
Ship goods
Contact
Receiv e payment
customer
Archiv e order
End
5) Caractéristiques
1) Mesure de de la performance
performance
6) Controle de la
sécurité
www.processmining.org 97
Algorithme
α
98
Fichier log d’un processus
Information minimale case 1 : task A
case 2 : task A
dans les fichiers log: case 3 : task A
case id et task id. case 3 : task B
case 1 : task B
Information case 1 : task C
additionnelle : type case 2 : task C
case 4 : task A
d’évenement, date, case 2 : task B
ressources, et case 2 : task D
case 5 : task E
données. case 4 : task C
Dans ce log il y a case 1 : task D
case 3 : task C
troisséquences case 3 : task D
sequences: case 4 : task B
case 5 : task F
– ABCD case 4 : task D
– ACBD
99
– EF
Relations >,→,||,#
case 1 : task A A>B
case 2 : task A A>C
Direct succession: case 3 : task A
B>C
case 3 : task B
x>y iff for some case x case 1 : task B B>D
is directly followed by case 1 : task C C>B
case 2 : task C C>D
y. case 4 : task A E>F
case 2 : task B
Causality: x→y iff x>y case 2 : task D B||C
C||B
and not y>x. case 5 : task E
case 4 : task C
Parallel: x||y iff x>y case 1 : task D A→B
case 3 : task C A→C
and y>x case 3 : task D B→D
case 4 : task B
Choice: x#y iff not x>y case 5 : task F C→D
and not y>x. case 4 : task D E→F
100
Principes (1)
x y
x→y
101
Principes (2)
y
106
Exemple
case 1 : task A
case 2 : task A
case 3 : task A
case 3 : task B
case 1 : task B
case 1 : task C
case 2 : task C α(W)
B
case 4 : task A
case 2 : task B
A D
case 2 : task D
case 5 : task E
C
case 4 : task C
case 1 : task D
case 3 : task C
case 3 : task D
E F
case 4 : task B
case 5 : task F
case 4 : task D
107
ProM framework
http://is.tm.tue.nl/research/processmining/tools.htm
108
workflow management systems case handling / CRM systems ERP systems
social network
miner
case data
extraction
property verifier
...
External
Tools
NetMiner Viscovery
... 109
XML format
110
ERROR: invalidrestore
OFFENDING COMMAND: restore
STACK:
-savelevel-
-savelevel-