La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Les procédés métiers : conception, modélisation et systèmes Claude Godart Université de Lorraine - Esstin 1.

Présentations similaires


Présentation au sujet: "Les procédés métiers : conception, modélisation et systèmes Claude Godart Université de Lorraine - Esstin 1."— Transcription de la présentation:

1 Les procédés métiers : conception, modélisation et systèmes Claude Godart Université de Lorraine - Esstin Claude.godart@univ-lorraine.loria.fr 1

2 Organisation du cours Introduction Concepts et notations Modélisation des processus Analyse qualitative des processus Analyse quantitative des processus Systèmes de gestion de processus Découverte de processus Processus transactionnels Conclusion

3 Chapitre 6 Découverte de la logique des processus 3 Claude Godart Université de lorraine. Esstin Claude.godart@univ-lorraine.loria.fr

4 Idée de base découverte de workflow Traces de workflow ERP, billetterie … 4

5 Motivations Trouver le modèle d’un processus Trouver le comportement exact d’un processus déjà modélisé –Pour diagnostiquer, –Améliorer  business intelligence 5

6 Exemples de traces 6 Log format –(caseID, activity) Example –Check Invoice for Invoice No. 4567 completed on 12.11.2010 at 9:19:57 –Function StoreCustomerData(„Müller“, c1987, „Bad Bentheim“) completed on 12.11.2010 at 9:22:24 –Send Invoice for Invoice No. 4567 completed on 12.11.2010 at 9:23:18 Resulting Log –(4567, Check Invoice), (c1987, StoreCustomerData), (4567, Send Invoice), etc.

7 Structure des traces d’exécution 7 Une structure indépendante, compatibles avec la plupart des SGWFs actuels

8 Structure des traces d’exécution (basique) 8

9 Structure des traces d’exécution (Exemple d’extension) Participant 9

10 Un seuil minimal sur la qualité et la quantité d’information Qualité de l’information (i.e. structure minimale): Absence de bruit (traces d’exécution incorrectes ou inachevées) Événement atomique (i.e. absence d’états, et de temps d’exécution) Quantité de l’information (i.e. nombre d’instances différentes): Nombre minimale égale à 1 Ajouter n instances pour un choix parmi n activités Ajouter  (ji+i) pour un parallélisme ente n flux contenant chacun ji activités Prouvé suffisant pour la découverte du flot de contrôle Conditions minimales sur les traces d'exécutions STP VSC ER VD MJR AE RP RD LD Instances 1STP VSC ER VD MJR RD LD 2STP VSC AE VD RD LD 3STP VSC VD RP RD LD 4STP VSC VD ER MJR RD LD 5STP VSC ER MJR VD RD LD 6STP VSC VD AE RD LD 7STP VSC RP VD RD LD 8STP VD VSC RP RD LD 9STP VSC RP RD VD LD 1+3+1*(4+1)=9 10

11 The « α algorithme » 11

12 Soit T un ensemble d’activités.   T * est une trace d’une instance d’exécution de workflow et W  T * est un log de workflow. Soit a,b  T: –a > W b ssi il y a une trace  = t 1 t 2 t 3  t n-1 et i  {1, , n-2} telque   W et t i = a et t i+1 = b, –a  W b ssi a > W b et not (b > W a), –a # W b ssi not(a > W b) et not(b > W a), and –a  W b ssi a > W b et b > W a. α algorithme : relations d’ordre 12

13 α algorithme : Exemple 1 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 case 4 : task A case 2 : task B case 2 : task D case 5 : task A case 4 : task C case 1 : task D case 3 : task C case 3 : task D case 4 : task B case 5 : task E case 5 : task D case 4 : task D W = { A B C D, A C B D, A E D} A > W B A > W C A > W E B > W C B > W D C > W B C > W D E > W D A  W B A  W C A  W E B  W D C  W D E  W D B  W C C  W B # W : rest Log is complete if this relation cannot be extended X  W Y xor Y  W X xor X  W Y xor X # W Y 13

14 W = { A B C D, A C B D} est complet A > W B A > W C B > W C B > W D C > W B C > W D A  W B A  W C B  W D C  W D B  W C C  W B # W : rest α algorithme : Exemple 2 14

15 W = { A B D, A C D} est complet A > W B A > W C B > W D C > W D A  W B A  W C B  W D C  W D  W :aucun # W : le reste α algorithme : Exemple 3 15

16 α algorithme – Principe (a) xyxy 16

17 α algorithme – Principe (b) x  y, x  z, and y#z 17

18 α algorithme – Principe (c) x  z, y  z, and x#y 18

19 α algorithme – Principe (d) x  y, x  z, and y||z 19

20 α algorithme – Principe (e) x  z, y  z, and x||y 20

21 α algorithme : Règles de construction d’un RdP Soit W log workflow sur l’ensemble T. 1.T W = { t  T     W t   }, 2.T I = { t  T     W t = first(  ) }, 3.T O = { t  T     W t = last(  ) }, 4.X W = { (A,B)  A  T W  B  T W   a  A  b  B a  W b   a1,a2  A a 1 # W a 2   b1,b2  B b 1 # W b 2 }, 5.Y W = { (A,B)  X   (A,B)  X, A  A  B  B  (A,B) = (A,B) }, 6.P W = { p (A,B)  (A,B)  Y W }  {i W,o W }, 7.F W = { (a,p (A,B) )  (A,B)  Y W  a  A }  { (p (A,B),b)  (A,B)  Y W  b  B }  { (i W,t)  t  T I }  { (t,o W )  t  T O }, and  (W) = (P W,T W,F W ). 21

22 α algorithme : exemple Ensemble minimal des traces d’exécution : –A 1, A 2, A 3, A 4, A 5, A 6, A 9 –A 1, A 2, A 3, A 4, A 5, A 7, A 9 –A 1, A 2, A 3, A 4, A 5, A 8, A 9 –A 1, A 2, A 4, A 3, A 5, A 6, A 9 –A 1, A 2, A 4, A 3, A 5, A 7, A 9 –A 1, A 2, A 4, A 3, A 5, A 8, A 9 –A 1, A 4, A 2, A 3, A 5, A 6, A 9 –A 1, A 4, A 2, A 3, A 5, A 7, A 9 –A 1, A 4, A 2, A 3, A 5, A 8, A 9 22

23 α algorithme : exemple 1.T W = {A 1, A 2, A 3, A 4, A 5, A 6, A 7, A 8, A 9 }, 2.T I = {A 1 }, 3.T O = {A 9 }, 4.X W = {(A 1, A 2 ), (A 1, A 4 ), (A 2, A 3 ), (A 3, A 5 ), (A 4, A 5 ), (A 5, A 6 ), (A 5, A 7 ), (A 5, A 8 ), (A 6, A 9 ), (A 7, A 9 ), (A 8, A 9 ), (A 5, (A 6, A 7 )), (A 5, (A 6, A 8 )), (A 5, (A 7, A 8 )), (A 5, (A 6, A 7, A 8 )), ((A 6, A 7 ), A 9 ), ((A 6, A 8 ), A 9 ), ((A 7, A 8 ), A 9 ), ((A 6, A 7, A 8 ), A 9 ) 5.Y W = {(A 1, A 2 ), (A 1, A 4 ), (A 2, A 3 ), (A 3, A 5 ), (A 4, A 5 ), (A 5, (A 6, A 7, A 8 )), ((A 6, A 7, A 8 ), A 9 ) 6.P W = { p(A 1 ), p(A 1, A 2 ), p(A 1, A 4 ), p(A 2, A 3 ), p(A 3, A 5 ), p(A 4, A 5 ), p(A 5, A 678 ), p(A 678, A 9 ), p(A 9 ) } 7.F W = {(p(A 1 ), A 1 ), (A 1, p(A 1, A 2 )), (p(A 1, A 2 ), A 2 ), (A 1, p(A 1, A 4 )), (p(A 1, A 4 ), A 4 ), (A 2, p(A 2, A 3 )), (p(A 2, A 3 ), A 3 ), (A 3, p(A 3, A 5 )), (p(A 3, A 5 ), A 5 ), (A 5, p(A 4, A 5 ), (p(A 4, A 5 ), A 5), (A 5, p(A 5, A 678 )), (p(A 5, A 678 ), A 6 ), (p(A 5, A 678 ), A 7 ), (p(A 5, A 678 ), A 8 ), (A 6, p(A 678, A 9 )), (A 7, p(A 678, A 9 )), (A 8, p(A 678, A 9 )), (p(A 678, A 9 ), A 9 ), (A 9, p(A 9 ))  (W) = (P W,T W,F W ). 23

24 α algorithme : exemple 24

25 Patterns mining 25

26 VSC précède 2 fois ER dans les 3 traces où ER apparaît Pour chaque activité A dans les traces d’exécution : le nombre d'occurrences global de cette activité (dénotée #A) les dépendances directes aux activités précédentes Bi (dénoté P(A\Bi)) Construction de la table de dépendance statistique (TDS) Instances 1STP VSC ER VD MJR RD LD 2STP VSC AE VD RD LD 3STP VSC VD RP RD LD 4STP VSC VD ER MJR RD LD 5STP VSC ER MJR VD RD LD 6STP VSC VD AE RD LD 7STP VSC RP VD RD LD 8STP VD VSC RP RD LD 9STP VSC RP RD VD LD STPVSCERMJRAERPVDRDSD #STP=9000000000 # VSC=90.89000000.1100 # ER=300.6600000.3300 # MJR=3000.660000.3300 # AE=200.500000.5500 # RP=400.7500000.2500 # VD=90.110.330.11 0 0 # RD=90000.220.110.33 00 # SD=90000000.110.890 26 MJR précède 2 fois RD dans les 9 traces où RD apparaît

27 Pour chaque activité A dans les traces d’exécution : le nombre d'occurrences global de cette activité (dénotée #A) les dépendances directes aux activités précédentes Bi (dénoté P(A\Bi)) Construction de la table de dépendance statistique (TDS) Instances 1STP VSC ER VD MJR RD LD 2STP VSC AE VD RD LD 3STP VSC VD RP RD LD 4STP VSC VD ER MJR RD LD 5STP VSC ER MJR VD RD LD 6STP VSC VD AE RD LD 7STP VSC RP VD RD LD 8STP VD VSC RP RD LD 9STP VSC RP RD VD LD STPVSCERMJRAERPVDRDSD #STP=9000000000 # VSC=90.89000000.1100 # ER=300.6600000.3300 # MJR=3000.660000.3300 # AE=200.500000.5500 # RP=400.7500000.2500 # VD=90.110.330.11 0 0 # RD=90000.220.110.33 00 # SD=90000000.110.890 27

28 Pour chaque activité A dans les traces d’exécution : le nombre d'occurrences global de cette activité (dénotée #A) les dépendances directes aux activités précédentes Bi (dénoté P(A\Bi)) Construction de la table de dépendance statistique (TDS) Instances 1STP VSC ER VD MJR RD LD 2STP VSC AE VD RD LD 3STP VSC VD RP RD LD 4STP VSC VD ER MJR RD LD 5STP VSC ER MJR VD RD LD 6STP VSC VD AE RD LD 7STP VSC RP VD RD LD 8STP VD VSC RP RD LD 9STP VSC RP RD VD LD STPVSCERMJRAERPVDRDSD #STP=9000000000 # VSC=90.89000000.1100 # ER=300.6600000.3300 # MJR=3000.660000.3300 # AE=200.500000.5500 # RP=400.7500000.2500 # VD=90.110.330.11 0 0 # RD=90000.220.110.33 00 # LD=90000000.110.890 28

29 Élimination des dépendances erronées Instances 1STP VSC ER VD MJR RD LD 2STP VSC AE VD RD LD 3STP VSC VD RP RD LD 4STP VSC VD ER MJR RD LD 5STP VSC ER MJR VD RD LD 6STP VSC VD AE RD LD 7STP VSC RP VD RD LD 8STP VD VSC RP RD LD 9STP VSC RP RD VD LD STPVSCERMJRAERPVDRDSD #STP=9000000000 # VSC=90.89000000.1100 # ER=300.6600000.3300 # MJR=3000.660000.3300 # AE=200.500000.5500 # RP=400.7500000.2500 # VD=90.110.330.11 0 0 # RD=90000.220.110.33 00 # LD=90000000.110.880 STP VSC ER VD MJR AE RP RD LD P(RP\VD) <> 0.25  P(VD\RP) <> 0.11 29

30 Élimination des dépendances erronées STPVSCERMJRAERPVDRDSD #STP=9000000000 # VSC=90.89000000.1100 # ER=300.6600000.3300 # MJR=3000.660000.3300 # AE=200.500000.5500 # RP=400.7500000.2500 # VD=90.110.330.11 0 0 # RD=90000.220.110.33 00 # LD=90000000.110.880 STP VSC ER VD MJR AE RP RD LD Instances 1STP VSC ER VD MJR RD LD 2STP VSC AE VD RD LD 3STP VSC VD RP RD LD 4STP VSC VD ER MJR RD LD 5STP VSC ER MJR VD RD LD 6STP VSC VD AE RD LD 7STP VSC RP VD RD LD 8STP VD VSC RP RD LD 9STP VSC RP RD VD LD 30

31 Élimination des dépendances erronées STPVSCERMJRAERPVDRDLD #STP=9000000000 # VSC=90.890000000 # ER=300.66000000 # MJR=3000.6600000 # AE=200.5000000 # RP=400.75000000 # VD=90.11 0 0 # RD=90000.220.110.3300 # LD=90000000.110.880 Deux activités A et B sont concurrentes ssi les entrées P(A\B) et P(B\A) dans TDS sont non nulles. Instances 1STP VSC ER VD MJR RD LD 2STP VSC AE VD RD LD 3STP VSC VD RP RD LD 4STP VSC VD ER MJR RD LD 5STP VSC ER MJR VD RD LD 6STP VSC VD AE RD LD 7STP VSC RP VD RD LD 8STP VD VSC RP RD LD 9STP VSC RP RD VD LD 31

32 Élimination des dépendances erronées STPVSCERMJRAERPVDRDLD #STP=9000000000 # VSC=90.890000000 # ER=300.66000000 # MJR=3000.6600000 # AE=200.5000000 # RP=400.75000000 # VD=90.11 0 0 # RD=90000.220.110.3300 # LD=90000000.110.880 Fenêtres de concurrence Instances 1STP VSC ER VD MJR RD LD 2STP VSC AE VD RD LD 3STP VSC VD RP RD LD 4STP VSC VD ER MJR RD LD 5STP VSC ER MJR VD RD LD 6STP VSC VD AE RD LD 7STP VSC RP VD RD LD 8STP VD VSC RP RD LD 9STP VSC RP RD VD LD 32 VSC est en concurrence avec 1 activité, on va chercher ses dépendances indirectes avec une fenêtre de 3; VD est en concurrence avec 6 activités.

33 Découverte des dépendances indirectes Instances 1STP VSC ER VD MJR RD LD 2STP VSC AE VD RD LD 3STP VSC VD RP RD LD 4STP VSC VD ER MJR RD LD 5STP VSC ER MJR VD RD LD 6STP VSC VD AE RD LD 7STP VSC RP VD RD LD 8STP VD VSC RP RD LD 9STP VSC RP RD VD LD STP VSC ER VD MJR AE RP RD LD Comportement concurrentiel STPVSCERMJRAERPVDRDLD #STP=9000000000 # VSC=90.890000000 # ER=300.66000000 # MJR=3000.6600000 # AE=200.5000000 # RP=400.75000000 # VD=90.11 0 0 # RD=90000.220.110.3300 # LD=90000000.110.880 33

34 Découverte des dépendances indirectes Instances 1STP VSC ER VD MJR RD LD 2STP VSC AE VD RD LD 3STP VSC VD RP RD LD 4STP VSC VD ER MJR RD LD 5STP VSC ER MJR VD RD LD 6STP VSC VD AE RD LD 7STP VSC RP VD RD LD 8STP VD VSC RP RD LD 9STP VSC RP RD VD LD STP VSC ER VD MJR AE RP RD LD Comportement concurrentiel STPVSCERMJRAERPVDRDLD #STP=9000000000 # VSC=90.890000000 # ER=300.66000000 # MJR=3000.6600000 # AE=200.5000000 # RP=400.75000000 # VD=90.11 0 0 # RD=90000.220.110.3300 # LD=90000000.110.880 34

35 Découverte des dépendances indirectes: Fenêtre de concurrence STPVSCERMJRAERPVDRDLD #STP=9000000000 # VSC=90.890000000 # ER=300.66000000 # MJR=300100000 # AE=200.5000000 # RP=400.75000000 # VD=90.11 0 0 # RD=90000.220.110.3300 # LD=90000000.110.880 Nous ne considérons pas seulement les activités qui précédent directement mais toutes les activités couvertes par la fenêtre de concurrence ayant une dépendance statistique non nulle. Instances 1STP VSC ER VD MJR RD LD 2STP VSC AE VD RD LD 3STP VSC VD RP RD LD 4STP VSC VD ER MJR RD LD 5STP VSC ER MJR VD RD LD 6STP VSC VD AE RD LD 7STP VSC RP VD RD LD 8STP VD VSC RP RD LD 9STP VSC RP RD VD LD On choisit TFC[MJR]=3 35

36 Patterns mining : Découverte des dépendances indirectes: Fenêtre de concurrence STPVSCERMJRAERPVDRDLD #STP=9000000000 # VSC=910000000 # ER=301000000 # MJR=300100000 # AE=201000000 # RP=401000000 # VD=91 0 0 # RD=90000.330.220.4500 # LD=9000000110 Nous ne considérons pas seulement les activités qui précédent directement mais toutes les activités couvertes par la fenêtre de concurrence ayant une dépendance statistique non nulle. Instances 1STP VSC ER VD MJR RD LD 2STP VSC AE VD RD LD 3STP VSC VD RP RD LD 4STP VSC VD ER MJR RD LD 5STP VSC ER MJR VD RD LD 6STP VSC VD AE RD LD 7STP VSC RP VD RD LD 8STP VD VSC RP RD LD 9STP VSC RP RD VD LD 36

37 P1: Propriété de comportement de dépendance mutuelle exclusive P2: Propriété de concurrence Concurrence globale Concurrence partielle Pas de Concurrence P3: Propriété de choix Pas de Concurrence choix unique pas de choix Corrélation entre TDS et les dépendances inter-activités depNrm(A; B)  P(B\A)>0  P(A\B)=0 Prouvé formellement Propriétés statistiques des patrons de workflow 37

38 Patterns mining : Découverte des patrons de workflows 38

39 Patterns mining : Découverte des patrons de workflows STP VSC ER VD MJR AE RP RD LD STPVSCERMJRAERPVDRDLD #STP=9000000000 # VSC=910000000 # ER=301000000 # MJR=300100000 # AE=201000000 # RP=401000000 # VD=91 0 0 # RD=90000.330.220.4500 # LD=9000000110 39


Télécharger ppt "Les procédés métiers : conception, modélisation et systèmes Claude Godart Université de Lorraine - Esstin 1."

Présentations similaires


Annonces Google