Vous êtes sur la page 1sur 134

Les processus métiers :

concepts, modèles et systèmes


Chapitre 3 :
Eléments de modélisation et
autres notations
Contenu (2)
• Le chapitre introduit la notion de
processus bien structuré et bien
parenthésé
• Il présente l’essentiel des concepts des
modèles UML, EventProcessChain et
Réseaux de Petri, pour modéliser des
processus
Dimensions de la modélisation

Logique

Organisationnel

Informationnel
Contenu (1)
• De fait, il existe assez peu d’approches de
modélisation spécifiques aux processus métiers
opérationnelles couvrant toutes ces dimensions
(voir cependant OSSAD http://dumas.univ-
tln.fr/Ossad/Appel%20vol%201.htm )
• Aussi, le chapitre présente plus des notations
formelles qu’une méthodologie
d’analyse/conception
• Mais, le fait de modéliser en se demandant si le
processus est bien structuré, bien parenthèse, à
choix libre … supporte une discipline de
conception efficace
Notion de processus bien
structuré
Bonnes pratiques, mais
fondements scientifiques aussi
(ex: « Well handled Petri Net)
Notion de processus bien structuré (1)

• Un seul point d’entrée et un seul point de


sortie
• Toute activité est sur un chemin allant du
point d’entrée au point de sortie
• Les connecteurs de flot de contrôle sont
bien parenthésés (AND-Split-AND-Join;
XOR-Split, XOR-Join; OR-Split-Jonction …)
Notion de processus bien structuré (2)
Notion de processus bien structuré (3)
• Dans le cas (a), une parenthèse OR-Split est
fermée par une parenthèse AND-Join, il y a
risque de blocage : si une seule branche est
activée, la porte AND-JOIN n’est jamais franchie
– Le graphe de processus contient une « impasse »
• Dans le cas (b), une parenthèse AND-Split est
fermée par une parenthèse OR-Split. quel est
l’interprétation de cet OR-Split ?
– Le graphe de processus « manque de
synchonisation »
Processus avec blocage (impasse)

[SAD 00]
Processus avec manque de
synchonisation

[SAD 00]
Processus corrects

[SAD 00]
Tout processus peut-il être transformé un
processus bien structuré ?
• (Presque) oui …
• Certains ne peuvent être transformés
qu’en dupliquant des activités
• Il existe des cas non transformables …
mais très particuliers
Duplication d’une activité
A structurer !?
Modéliser avec
Unified Modelling Language
(UML)
UML : Principes de modélisation
• Ce sont les diagrammes d’activité qui sont au cœur de la
modélisation des processus métiers, en particulier du flot
de contrôle
• Les diagrammes de classes et d’objets sont
indispensables à la modélisation des flots de données
• Les diagrammes de séquence permettent ici d’étudier
les flots de contrôle alternatifs
• Mais tous les diagrammes peuvent être utilisés de façon
classique, en particulier dans une démarche
d’analyse/conception globale d’un logiciel plus large que
la modélisation d’un processus
UML

Modélisation du flot de contrôle.


Les diagrammes d’activité
Discordance du vocabulaire
• « Processus »  « Activité » en UML
• « Activité »  « Action » en UML
UML : concepts de base (1)
UML : concepts de base (2)
Modélisation du flot de contrôle
Patrons avancés (1)
Patrons avancés (2)
UML

Modélisation du flot de données


Diagramme de classes
• Classique …
• Indispensable à la modélisation du flot de
données
• Utilisé pour la méta-modélisation
(modélisation des modèles de processus)
• Et la modélisation du modèle
organisationnel
Diagrammes de classes (Exemple)
Diagramme de séquence
• Les différents scénarios permettent de
découvrir les différentes alternatives dans
le flot de contrôle
Diagrammes de séquence (1)
Diagrammes de séquence (2)
Flots d’objets (1)
Flots d’objets (2)
UML

Modélisation du modèle
organisationnel
Méta-modèle organisationnel
Instance du modèle organisationnel
Swimlanes
Différentes organisations
Validation

• Le processus est-il bien structuré ?


• Est-il sain (sans blocage, borné) ? Peu
outillé, mais se poser néanmoins la
question et utiliser des principes de
modélisation qui limite les risques en
s’inspirant des RdP
Processus UML bien structuré (2)
Conclusion UML
• Moins adapté et outillé que les RdP
• Mais les diagrammes d’activités
empruntent aux RdP
• Permettent une bonne intégration à
l’analyse et à la conception avec les
autres aspects d’un logiciel, en particulier
dans le contexte de développement
orienté objet
Modéliser avec
Event Process Chain (EPC)
Principes de modélisation
• 4 perspectives :
– Organisationnelle
– Donnée
– Activité
– Contrôle
• 3 niveaux d’abstraction
– Définition des besoins
– Conception
– Implantation
Perspectives et niveaux
d’abstractions
Eléments de notation
Flot de données et flot organisationnel
Éléments du flot de contrôle
• Un modèle EPC est un graphe ordonné
d’événements et d’activités alternés et
connectés par des connecteurs de flot de
contrôle
Connecteur ET (1)
Connecteur ET (2)
Connecteur OU Exclusif (1)
Connecteur OU Exclusif (2)
Connecteur OU (1)
Connecteur OU (1)
Chemin de processus
Flot de données et flot organisationnel
Conclusion EPC
• Très utilisé dans le monde ERP, SAP
• Fondement dans les RdP
Modéliser avec
des Réseaux de Pétri (RdP)
Pourquoi les RdP ?
• Similarités avec les langages et outils BPM 
choisi pour développer une sémantique formelle
de ces langages (EPC, diagrammes d’activité
UML, WS-BPEL)
• Fondements mathématiques  techniques
d’analyse (voir chapitre 4)
• Notations graphiques  plus facilement
accessible à des non spécialistes
• Plus implicite et compacte que les modèles à
transitions
Notion de réseau de Petri
Définition
On appelle réseau de Petri places/transition tout
triplet N = (P,T,W) où :
– P est un ensemble fini de places : P = {p1, …, pn}
– T est un ensemble fini de transitions, disjoint de P : T
= {t1, … , tm}
– W : PxT U TxP  N (entiers naturels) est la fonction
de valuation des arcs

Graphiquement, par convention, les arcs de valuation nulle ne sont pas


représentés; les valuations égales à 1 sont omises (valeur par
défaut); dans les autres cas, les valuations sont explicites.
Place d’entrée et place de sortie
• Une place p est une place d’entrée d’une
transition t si W(p,t)>0.
– l’ensemble t = {p | p  P et W(p,t)>0} définit
les places d’entrée de t
• Une place p est une place de sortie d’une
transition t si W(t,p)>0.
– L’ensemble t = {p | p  P et W(t,p)>0} définit
les places de sortie de t
Marquage, transition tirable,
franchissement d’une transition
On appelle marquage d’un RdP (P,T,W) toute
fonction m : P  N (entiers naturels).

Dans un RdP (P,T,W), une transition t est tirable


dans un marquage m si et seulement si, pour
toute place p de t, m(p) >= W(p,t)

Le franchissement d’un transition t conduit à un


nouveau m’ marquage tel que :
m’(p) = m(p) – w(p,t) + w(t,p)
Atteignabilité…
• Un état Mn est atteignable à partir d’un
marquage M1 (noté M1 -*-> Mn) si et
seulement si il existe une séquence s telle
que M1 -*-> Ms
Symboles et principes de base
Exemple « Service »
• Modélisation d’un service (imprimante,
coiffeur) … Service
Demande Service fait

Demande Service fait

En_cours

Libre

Demande Service fait

En_cours
Exemple « Service » (P,T,W)
• P = {Demande, Libre, En_cours, Service
fait}
• T = {Début_service, Fin _service}
• W = {{Demande, Début_service, 1}, {Libre,
Début_service, 1}, {Début_service,
En_cours, 1}, {En_cours, Fin_service, 1},
{Fin_service, Libre, 1}, {Fin_service,
Services fait, 1}}
Exemple « Service » ( t, t )
– Début_service = {Demande, Libre}
– Fin _service = { En_cours}
– Début_service = {En_cours}
– Fin_service = {Service fait, Libre}
Exemple « Service » (Marquage)
• Marquage initial :
{m(Demande) =3, m(Libre) =1, m(En_cours) = 0, M(Service
fait) = 0}
• 1er pas :
– m’(Demande) = m(Demande) – w(Demande, Début_service)
+ w(Début_service, Demande) = 3 -1 + 0 = 2
– m’(Libre) = m(Libre) – w(Libre, Début_service) +
w(Début_service, Libre) = 1 -1 + 0 = 0
– m’(En_cours) = m(En_cours) – w(En_cours, Début_service)
+ w(Début_service , En_cours) = 0 -0 + 1 = 1
Propriétés souhaitées/ables
des RdP
• Vivacité
• Terminaison
• Borné
• A choix libre
• Bien formé
• Sans blocage (sans deadlock)
• Sain
Vérification de ces propriétés
• Il existe un lien direct entre ces propriétés
des réseaux de Petri et la qualité du
processus modélisé
• Voir « Chapitre 4 : analyse qualitative des
processus »
En pratique

Modéliser des processus


avec des réseaux de Petri.
Un processus comme un
Worflow-Net
• Un RdP est un WF-Net ssi :
– Une seule place d’entrée et une seule place
de sortie
– Chaque place et chaque transition se trouve
sur un chemin allant de la place initiale à la
place finale
– La consommation d’un jeton dans la place
initiale produit un et un seul jeton dans la
place finale
Exemple
RdP

Modélisation du flot de contrôle


Patrons de base avec des RdP
Patrons avancés avec des RdP
RdP

Modélisation du flot de données


Représentation du flot de données
• Le flot de données est porté par (voir RdP
coloré) :
– les couleurs associées aux jetons
– le flot des jetons dans le RdP et les conditions
associées aux transitions
• Remarquons que plus les jetons portent
d’information, et plus les RdP ont
tendance à perdre leur lisibilité (graphique)
RdP

Modélisation des ressources


Les rôles comme des places, les
ressources comme des jetons
• On ajoute des places spécifiques pour définir les
rôles
• Les ressources sont les jetons dans ces places
spécifiques
• Les transitions qui représentent les activités
consomment ces ressources
• On peut associer des places/ressources à
plusieurs transitions
• L’ajout de ces places complexifie le RdP qui
devient moins lisible et plus difficile à valider
Modélisation de ressources avec
des RdP
Limites des RdP classiques
• Passage à l’échelle
• Pouvoir d’expression limité
• Pas de modélisation du temps

RdP hierarchisés
RdP colorés
RdP temporisés
Les RdP hiérarchisés
… permettent de
• Plier/déplier un modèle
• De représenter le raffinement d’une
activité composée en sous-activité
Composition de WF-nets
Raffinement d’une transition
• PN3 obtenu par raffinement de t+ de PN1 par PN2 :
– PN1 = (P1, T1, F1) et PN2 = (P2, T2, F2)
– T1 inter T2 = vide, P1 inter P2 = {i, o}, t+ E T1
– PN3 = (P3, T3, F3) avec P3 = P1 u P2 , T3 = (T1 \ {t+}) U T2
– F3 = {(x,y) E F1 | x != t+ et y != t+ } U {(x,y) E F2 | x != i et
y != o } U {(x,y) E P1 x T2 | {(x, t+) E F1 et (i,y) E F2 } U
{(x,y) E T2 x P1 | {(t+, y) E F1 et (x,o) E F2 }

(F est la fonction W sans « valuation » : tous les arc ont la valeur « 1 »)


Les RdP colorés
Associer hôtel
et vol avec un
même numéro
de dossier
… permettent de
• De qualifier les jetons avec des attributs
• De distinguer les cas
• Sur lesquelles peuvent porter des
conditions de franchissement
Les RdP temporisés
… permettent de
• D’associer des timestamps aux jetons
(date à partir de laquelle un jeton peut être
consommé)
• D’associer des temps de franchissement
aux transitions (d’exécution aux activités)
• D’ajouter des délais aux activités
• Pour faire de la simulation temporelle
Conclusion RdP
• Certainement le fondement principal pour
la gestion des flots de contrôle
• Quelques outils utiles, mais la validation
automatique est loin d’être atteinte
• … en particulier pour les réseaux colorés
• Les RdP sont souvent embarqués de
façon cachée dans bons nombres d’outils
associés aux SGWf.
Exemple (1)
Une compagnie d’assurance souhaite modéliser le
processus défini comme suit :
A l’arrivée d’une déclaration de sinistre, elle fait en parallèle
deux vérifications dans deux départements différents : la
police d’assurance couvre–t-elle le sinistre ? La
déclaration permet-elle de décider du remboursement ?
Si la police d’assurance couvre le sinistre (police
acceptée) et que la déclaration est acceptée, l’assurance
paye. Dans le cas où soit la police d’assurance n’est pas
valide, soit la déclaration n’est pas acceptée, un courrier
est envoyé à l’adhérent.
Exemple (2)
En donner un modèle BPMN!
Exemple (3)
En donner un modèle BPMN!
Exemple (4)
Un concepteur a fait le réseau de Pétri suivant :
commentaires !
Exemple (5)
Autre solution …
Exemple (5)
Autre solution …
Exemple (5)
Autre solution …
Conclusion (1)
• Le chapitre présente plus des notations
formelles qu’une méthodologie
d’analyse/conception comme introduite dans
• Cependant, le fait de modéliser en se
demandant si le processus est bien structuré,
bien parenthèse, à choix libre …supporte une
discipline de conception efficace
Conclusion (2)
• RdP est probablement le modèle formel le
mieux outillé
• UML est utilisé en phase d’analyse et de
conception lorsque le processus est
embarqué dans un contexte logiciel plus large
• EPC est très utilisé en pratique dans le
contexte ERP, mais les outils EPC
« emballent » les concepts des RdP
Références
• [AAL 00] VAN DER AALST W. M. P., TER HOFSTEDE A. H. M., « Verification of Workflow Task
Structures : A Petri-net-baset Approach », Inf. Syst., vol. 25, n˚ 1, p. 43-69, 2000.
• [AAL 02] VAN DER AALST W. M. P., VAN HEE K. M., Workflow Management : Models, Methods,
and Systems, MIT Press, Cambridge, 2002.
• [AAL 11] VAN DER AALST W. M. P., STAHL C. Modelling Business Processes : A Petri Net-
Oriented Aproach, MIT Press, Cambridge, 2011.
• [DON 05] VAN DONGEN B. F., VAN DER AALST W. M. P., VERBEEK H. M. W., « Verification of
EPCs : Using Reduction Rules and Petri Nets », CAiSE, p. 372-386, 2005.
• [DUM 12a] DUMAS M. and al. Understanding Business Process Models: The Costs and Benefits
of Structuredness, CAISE 2012
• [DUM 90a] DUMAS P., CHARBONNEL G., La méthode OSSAD : pour maîtriser les technologies
de l’information - Tome I : Principes, Editions d’Organisation, Paris, 1990.
• [DUM 90b] DUMAS P., CHARBONNEL G., La méthode OSSAD : pour maîtriser les technologies
de l’information - Tome II : Guide pratique, Editions d’Organisation, Paris, 1990.
• [EPC 08] EPC, « Event-driven Process Chain », en.wikipedia.org/wiki/Event-driven_Process-
Chains, 2008.
• [FAW 97] FAWLER M., Uml distilled. Applying the standard object modeling language, Addison-
Wesley, Reading, 1997.
• [FAW 05] FAWLER M., Uml distilled. A brief guide to the standard object modeling language,
Addison-Wesley, Reading, 2005.

o
Bonnes et mauvaises structurations
de réseaux avec des RdP (2)
• (a) combine un AND_Split et un AND-join,
(b) combine un XOR-Split et un XOR-JOIN
(a) et (b) sont bien structurés
• (c) et (d) sont mal structurés

©Les processus métiers: concepts, modèles et systèmes


Well-structured WF-Net
Un WF-Net bien structuré est un WF-Net
bien parenthésé

©Les processus métiers: concepts, modèles et systèmes


RdP sains par construction
• On connaît un ensemble de RdP de base
sains
• Leur composition produit un RdP sain

Application : ayant un RdP, peut-on le


reconstruire en itérant la composition de
RdP de base sains

©Les processus métiers: concepts, modèles et systèmes


RdP de base sains

©Les processus métiers: concepts, modèles et systèmes


©Les processus métiers: concepts, modèles et systèmes
©Les processus métiers: concepts, modèles et systèmes
©Les processus métiers: concepts, modèles et systèmes
Et celui-ci ?

©Les processus métiers: concepts, modèles et systèmes


Analyse quantitative
• Analyse par simulation
– évaluation de propriétés recherchées
• par visualisation de cas
• évaluation de traces d’exécution
• Réseaux temporisés pour l’évaluation de
performance
• Réseaux stochastiques pour l’évaluation
de probabilités de franchissement d’une
transition …
©Les processus métiers: concepts, modèles et systèmes
Exemple (2)

©Les processus métiers: concepts, modèles et systèmes


Exemple (2)
• Dans la variante (a), plusieurs activités de
réservation d’hôtels et de vols s’exécutent
en parallèle, dans la variante (b) une seule
activité pour toutes les réservations
• L’analyse peut permettre d’évaluer quelle
est la stratégie la plus efficace,
éventuellement en fonction de circonstances

©Les processus métiers: concepts, modèles et systèmes

Vous aimerez peut-être aussi