Reţele Petri şi Aplicaţii Curs 4 RPA (2019) Curs 4 1 / 45
Cuprins 1 Analiza structurală a reţelelor Petri Sifoane Capcane Proprietăţi 2 Modelarea fluxurilor de lucru: reţele workflow Reţele workflow 3 Proprietatea de corectitudine (soundness) în reţele workflow RPA (2019) Curs 4 2 / 45
Analiza structurală a reţelelor Petri Cuprins 1 Analiza structurală a reţelelor Petri Sifoane Capcane Proprietăţi 2 Modelarea fluxurilor de lucru: reţele workflow Reţele workflow 3 Proprietatea de corectitudine (soundness) în reţele workflow RPA (2019) Curs 4 3 / 45
Analiza structurală a reţelelor Petri Sifoane Sifoane Definiţie 1 Fie N = (P,T,F,W) o reţea şi R P o mulţime de locaţii. R se numeşte sifon dacă R R. Un sifon este propriu, dacă R. RPA (2019) Curs 4 4 / 45
Analiza structurală a reţelelor Petri Sifoane Sifoane Definiţie 1 Fie N = (P,T,F,W) o reţea şi R P o mulţime de locaţii. R se numeşte sifon dacă R R. Un sifon este propriu, dacă R. t2 t4 p1 p2 t3 p3 p4 t1 t5 RPA (2019) Curs 4 4 / 45
Analiza structurală a reţelelor Petri Sifoane Sifoane Definiţie 1 Fie N = (P,T,F,W) o reţea şi R P o mulţime de locaţii. R se numeşte sifon dacă R R. Un sifon este propriu, dacă R. t2 t4 p1 p2 t3 p3 p4 t1 t5 {p 1,p 2} = {t 1,t 2}, {p 1,p 2} = {t 1,t 2,t 3} {p 1,p 2} {p 1,p 2} = {p 1,p 2} sifon. RPA (2019) Curs 4 4 / 45
Analiza structurală a reţelelor Petri Sifoane Proprietatea fundamentală sifoanelor Notaţie: fie R P o mulţime de locaţii şi M o marcare. M(R) = p R M(p) RPA (2019) Curs 4 5 / 45
Analiza structurală a reţelelor Petri Sifoane Proprietatea fundamentală sifoanelor Notaţie: fie R P o mulţime de locaţii şi M o marcare. M(R) = p R M(p) Definiţie 2 Fie N = (P,T,F,W) o reţea, R P un sifon propriu şi M o marcare a lui N. R este marcat în marcarea M, dacă M(R) 0. RPA (2019) Curs 4 5 / 45
Analiza structurală a reţelelor Petri Sifoane Proprietatea fundamentală sifoanelor Notaţie: fie R P o mulţime de locaţii şi M o marcare. M(R) = p R M(p) Definiţie 2 Fie N = (P,T,F,W) o reţea, R P un sifon propriu şi M o marcare a lui N. R este marcat în marcarea M, dacă M(R) 0. Propoziţie 1 (Proprietatea fundamentală sifoanelor) Fie N = (P,T,F,W) o reţea şi R P un sifon propriu. Fie M o marcare a reţelei astfel încât M(R) = 0. Atunci, M [M, M (R) = 0. RPA (2019) Curs 4 5 / 45
Analiza structurală a reţelelor Petri Sifoane Exemplu t2 t4 p1 p2 t3 p3 p4 t1 t5 [M 0 = {(0,0,1,0),(0,0,0,1)}, {p 1,p 2 } nu sunt marcate niciodată. RPA (2019) Curs 4 6 / 45
Analiza structurală a reţelelor Petri Sifoane Proprietăţi Fie γ = (N,M 0 ) o reţea P/T marcată, R un sifon şi M [M 0. Dacă M 0 (R) = 0, atunci M(R) = 0 Se obţine o condiţie necesară pentru accesibilitate Dacă R sifon pentru care M 0 (R) = 0 şi M(R) 0, atunci M [M 0. t2 t4 p1 p2 t3 p3 p4 t1 t5 R = {p 1,p 2 } sifon cu M 0 (R) = 0 marcarea M = (1,0,0,1) nu este accesibilă. RPA (2019) Curs 4 7 / 45
Analiza structurală a reţelelor Petri Capcane Capcane-definiţie Definiţie 3 Fie N = (P,T,F,W) o reţea şi R P o mulţime de locaţii. R se numeşte capcană dacă R R. O capcană este proprie, dacă R. RPA (2019) Curs 4 8 / 45
Analiza structurală a reţelelor Petri Capcane Capcane-definiţie Definiţie 3 Fie N = (P,T,F,W) o reţea şi R P o mulţime de locaţii. R se numeşte capcană dacă R R. O capcană este proprie, dacă R. t2 t4 p1 p2 t3 p3 p4 t1 t5 {p 3,p 4 } este capcană. RPA (2019) Curs 4 8 / 45
Analiza structurală a reţelelor Petri Capcane Fie γ = (N,M 0 ) o reţea P/T marcată, M [M 0 şi R o capcană. Dacă M 0 (R) 0, atunci M(R) 0. Se obţine o condiţie necesară pentru accesibilitate Dată o marcare M şi R capcană cu M 0 (R) 0, dacă M(R) = 0, atunci M [M 0 p1 t1 p3 t4 t3 p2 t2 p4 R = {p 1,p 2,p 3 } capcană, M 0 (R) 0. M = (0,0,0,1,0) [M 0 (M(R) = 0) p5 t5 RPA (2019) Curs 4 9 / 45
Analiza structurală a reţelelor Petri Proprietăţi Condiţie necesară pentru viabilitate Propoziţie 2 Fie γ = (N,M 0 ) o reţea P/T marcată viabilă, f ără locaţii izolate. Orice sifon R este marcat la M 0. RPA (2019) Curs 4 10 / 45
Analiza structurală a reţelelor Petri Proprietăţi Condiţie necesară pentru viabilitate Propoziţie 2 Fie γ = (N,M 0 ) o reţea P/T marcată viabilă, f ără locaţii izolate. Orice sifon R este marcat la M 0. t3 p3 p4 p2 t2 p5 t1 p1 t4 {p 3,p 4 } nemarcat în marcarea iniţială, deci reţeaua nu este viabilă. RPA (2019) Curs 4 10 / 45
Analiza structurală a reţelelor Petri Proprietăţi Condiţie necesară pentru viabilitate Reciproca nu este adevărată: Sifoane: {p 1,p 2 } {p 1,p 2,p 3 } Reţeaua nu este viabilă. RPA (2019) Curs 4 11 / 45
Analiza structurală a reţelelor Petri Proprietăţi Condiţie suficientă pentru lipsa blocajelor Propoziţie 3 Fie γ = (N,M 0 )o reţea P/T marcată cu W(f) = 1, f F. Dacă orice sifon propriu al lui N include o capcană marcată în M 0, atunci γ este fără blocaje. RPA (2019) Curs 4 12 / 45
Analiza structurală a reţelelor Petri Proprietăţi Condiţie suficientă pentru lipsa blocajelor Propoziţie 3 Fie γ = (N,M 0 )o reţea P/T marcată cu W(f) = 1, f F. Dacă orice sifon propriu al lui N include o capcană marcată în M 0, atunci γ este fără blocaje. p3 p1 t1 t2 p4 p2 t4 p5 t3 Sifoane: {p 1,p 3,p 4,p 5}, {p 2,p 3,p 4,p 5}, {p 2,p 3,p 4}, {p 2,p 3} Capcane: {p 2,p 3}, {p 1,p 3,p 4,p 5}, {p 1,p 2,p 3} Reţea fără blocaje. RPA (2019) Curs 4 12 / 45
Analiza structurală a reţelelor Petri Proprietăţi Condiţie suficientă pentru lipsa blocajelor Reciproca nu este adevărată: p1 t1 p2 t3 p3 t4 t2 Reţea fără blocaje Sifoane proprii: {p 1,p 2 } nu include nici o capcană! Capcane proprii: {p 3 } RPA (2019) Curs 4 13 / 45
Modelarea fluxurilor de lucru: reţele workflow Cuprins 1 Analiza structurală a reţelelor Petri Sifoane Capcane Proprietăţi 2 Modelarea fluxurilor de lucru: reţele workflow Reţele workflow 3 Proprietatea de corectitudine (soundness) în reţele workflow RPA (2019) Curs 4 14 / 45
Modelarea fluxurilor de lucru: reţele workflow Fluxuri de lucru Flux de lucru(workflow): proces complex care se desfăşoară în cadrul unei organizaţii: acţiuni executate într-o anumită ordine date utilizate, prelucrate, produse de acţiuni resurse necesare execuţiei acţiunilor RPA (2019) Curs 4 15 / 45
Modelarea fluxurilor de lucru: reţele workflow Fluxuri de lucru Flux de lucru(workflow): proces complex care se desfăşoară în cadrul unei organizaţii: acţiuni executate într-o anumită ordine date utilizate, prelucrate, produse de acţiuni resurse necesare execuţiei acţiunilor Sisteme de administrare a fluxurilor de lucru (WFMS): permit definiţia fluxurilor de lucru şi asigură execuţia acestora RPA (2019) Curs 4 15 / 45
Modelarea fluxurilor de lucru: reţele workflow Exemplu RPA (2019) Curs 4 16 / 45
Modelarea fluxurilor de lucru: reţele workflow Flux de lucru - noţiuni / componente Caz: instanţă a fluxului de lucru, subiectul operaţiilor din cadrul fluxului de lucru (exemplu: o cerere de decontare); Acţiune: operaţie atomică realizată în cadrul fluxului de lucru; Resursă: execută acţiunile; Work item: acţiune + caz (acţiune care se poate executa pentru un anumit caz); Activitate: acţiune + caz + resursă (acţiune care este executată într-un anumit caz, de către o resursă); Structuri de control al execuţiei: dependenţa logică între acţiuni; RPA (2019) Curs 4 17 / 45
Modelarea fluxurilor de lucru: reţele workflow Structuri de control al execuţiei Secvenţă: A B AND-split B AND-join A A AND - split C B AND - join D D C OR-split OR-join B A A OR - Split OR - join C C B RPA (2019) Curs 4 18 / 45
Modelarea fluxurilor de lucru: reţele workflow Perspective asupra fluxurilor de lucru Perspectiva proces: acţiuni, ordinea de execuţie Perspectiva resurselor: resurse, modul de organizare, modul în care resursele sunt alocate pentru execuţia acţiunilor Perspectiva datelor: date pentru controlul execuţiei date create/utilizate de către acţiuni RPA (2019) Curs 4 19 / 45
Modelarea fluxurilor de lucru: reţele workflow Analiza fluxurilor de lucru Validare: în momentul execuţiei. Verificare: determinarea unor proprietăţi calitative ale procesului, înainte de execuţia/implementarea acestuia: există blocaje? execuţia unui caz se poate încheia cu succes? se pot executa toate acţiunile din proces? Analiza performanţei procesului: numărul de cazuri care pot fi procesate într-o anumită perioadă de timp timpul mediu de procesare al unui caz RPA (2019) Curs 4 20 / 45
Modelarea fluxurilor de lucru: reţele workflow Limbaje de specificare a fluxurilor de lucru Sistemele de administrare a fluxurilor de lucru lucrează cu definiţii ale fluxurilor de lucru, exprimate într-un anumit limbaj de specificare Abordări utilizate pentru descrierea proceselor: Limbaje dependente de produsul software Diagrame UML Grafuri BPMN Limbaje bazate pe XML: BPEL, XPDL Algebre de procese Reţele Petri RPA (2019) Curs 4 21 / 45
Modelarea fluxurilor de lucru: reţele workflow Reţele Petri în modelarea fluxurilor de lucru Reţele workflow: modelează perspectiva proces, se face abstracţie de resurse şi date modelarea execuţiei unui singur caz Reţele Petri de nivel înalt pentru modelarea celorlalte perspective (perspectiva resurselor şi cea a datelor) RPA (2019) Curs 4 22 / 45
Modelarea fluxurilor de lucru: reţele workflow Reţele Petri în modelarea fluxurilor de lucru acţiuni: modelate prin tranziţii caz: punct in reţea precondiţii şi post-condiţii pentru producerea acţiunilor: locaţii work item: tranziţie posibilă într-o anumită stare activitate: tranziţie care se execută structuri de control ale execuţiei: locaţii sau tranziţii RPA (2019) Curs 4 23 / 45
Modelarea fluxurilor de lucru: reţele workflow Modelarea structurilor de control A B = A B A AND - split B C = A AND-Split B C D D A AND - split B C = A AND - split B C D D RPA (2019) Curs 4 24 / 45
Modelarea fluxurilor de lucru: reţele workflow Modelarea structurilor de control A B AND - join D C A AND - join A B AND - join D B D C C RPA (2019) Curs 4 25 / 45
Modelarea fluxurilor de lucru: reţele workflow Modelarea structurilor de control B A AND-Split C AND-join E D AND - split AND-join B A C E D RPA (2019) Curs 4 26 / 45
Modelarea fluxurilor de lucru: reţele workflow Modelarea structurilor de control A B OR - split OR - Split = A C B C A B OR - Split = A OR - split B C C RPA (2019) Curs 4 27 / 45
Modelarea fluxurilor de lucru: reţele workflow Modelarea structurilor de control B A OR - Split D OR - Split C E RPA (2019) Curs 4 28 / 45
Modelarea fluxurilor de lucru: reţele workflow Modelarea structurilor de control A B D C E RPA (2019) Curs 4 28 / 45
Modelarea fluxurilor de lucru: reţele workflow Modelarea structurilor de control B A D C E RPA (2019) Curs 4 28 / 45
Modelarea fluxurilor de lucru: reţele workflow Modelarea structurilor de control A OR - join C B A OR - join C B RPA (2019) Curs 4 29 / 45
Modelarea fluxurilor de lucru: reţele workflow Reţele workflow Definiţia reţelelor worklfow Definiţie 4 O reţea workflow (WF-reţea) este o reţea Petri PN = (P,T,F) astfel încât: 1 P conţine o locaţie input i şi o locaţie output o astfel încât i = şi o =. 2 Pentru orice element n P T, există un drum în PN de la i la n şi un drum de la n la o. RPA (2019) Curs 4 30 / 45
Modelarea fluxurilor de lucru: reţele workflow Reţele workflow Reţele workflow t2 p1 p3 i t1 t3 t4 o p2 t4 p4 p4 p2 t1 t2 i p3 t3 p5 t5 o p1 t4 RPA (2019) Curs 4 31 / 45
Modelarea fluxurilor de lucru: reţele workflow Reţele workflow Observaţii W(x,y) = 1, pentru orice (x,y) F. Notaţii: Marcarea iniţială, M 0, a unei reţele workflow: M 0 (i) = 1,M 0 (p) = 0, p i. Se notează M 0 = i Marcarea finală a, M f, unei reţele workflow: M f (o) = 1,M f (p) = 0, p o. Se notează M f = o RPA (2019) Curs 4 32 / 45
Modelarea fluxurilor de lucru: reţele workflow Reţele workflow Exemplu RPA (2019) Curs 4 33 / 45
Modelarea fluxurilor de lucru: reţele workflow Reţele workflow Exemplu RPA (2019) Curs 4 34 / 45
Proprietatea de corectitudine (soundness) în reţele workflow Cuprins 1 Analiza structurală a reţelelor Petri Sifoane Capcane Proprietăţi 2 Modelarea fluxurilor de lucru: reţele workflow Reţele workflow 3 Proprietatea de corectitudine (soundness) în reţele workflow RPA (2019) Curs 4 35 / 45
Proprietatea de corectitudine (soundness) în reţele workflow Proprietatea de corectitudine logică Tranziţia proceseaza comanda nu se poate produce Cazul nu poate fi procesat RPA (2019) Curs 4 36 / 45
Proprietatea de corectitudine (soundness) în reţele workflow Proprietatea de corectitudine logică Există o secvenţă de execuţie către marcarea finală Există situaţii în care cazul nu poate fi procesat corect RPA (2019) Curs 4 37 / 45
Proprietatea de corectitudine (soundness) în reţele workflow Proprietatea de corectitudine logică Procesul se termină, dar cazul nu este procesat corect. RPA (2019) Curs 4 38 / 45
Proprietatea de corectitudine (soundness) în reţele workflow Corectitudine logică (soundness) în fluxuri de lucru Într-un flux de lucru execuţia unui caz trebuie să se poată termina întotdeauna RPA (2019) Curs 4 39 / 45
Proprietatea de corectitudine (soundness) în reţele workflow Corectitudine logică (soundness) în fluxuri de lucru Într-un flux de lucru execuţia unui caz trebuie să se poată termina întotdeauna Nu există acţiuni inutile (orice acţiune trebuie să se poată produce la un moment dat) RPA (2019) Curs 4 39 / 45
Proprietatea de corectitudine (soundness) în reţele workflow Definiţia proprietăţii de corectitudine Definiţie 5 O reţea workflow PN = (P, T, F) este corectă (sound) ddacă: 1 M [i,o [M (condiţia de terminare corectă) 2 t T, t este pseudo-viabilă RPA (2019) Curs 4 40 / 45
Proprietatea de corectitudine (soundness) în reţele workflow Definiţia proprietăţii de corectitudine Definiţie 5 O reţea workflow PN = (P, T, F) este corectă (sound) ddacă: 1 M [i,o [M (condiţia de terminare corectă) 2 t T, t este pseudo-viabilă RPA (2019) Curs 4 40 / 45
Proprietatea de corectitudine (soundness) în reţele workflow Închiderea unei reţele workflow Definiţie 6 Fie PN = (P,T,F) o WF-reţea. Închiderea reţelei PN este o reţea PN = (P,T,F), astfel încât : P = P T = T {t } F = F {(o,t ),(t,i)} t* PN este reţea tare conexă. i PN o RPA (2019) Curs 4 41 / 45
Proprietatea de corectitudine (soundness) în reţele workflow Proprietăţi Lema 3.1 Fie PN = (P,T,F) o reţea workflow pentru care are loc condiţia de terminare corectă. Atunci au loc: 1 ( M [i )(M o M = o) 2 (P N, i) este mărginită. 3 mulţimea marcărilor accesibile din (P N, i) coincide cu mulţimea marcărilor accesibile din (PN,i). 4 (PN,i) este pseudo-viabilă ddacă (PN,i) este pseudo-viabilă. RPA (2019) Curs 4 42 / 45
Proprietatea de corectitudine (soundness) în reţele workflow Caracterizare soundness Lema 3.2 Fie PN = (P,T,F) o WF-reţea sound. Atunci (PN,i) este reţea viabilă şi mărginită. RPA (2019) Curs 4 43 / 45
Proprietatea de corectitudine (soundness) în reţele workflow Caracterizare soundness Lema 3.2 Fie PN = (P,T,F) o WF-reţea sound. Atunci (PN,i) este reţea viabilă şi mărginită. Demonstraţie: 1 Din Lema 3.1(2) = (PN,i) este mărginită. Cum [i PN = [i PN (Lema 3.1(3)), rezultă (PN,i) mărginită. 2 Se arată că P N este reversibilă şi pseudo-viabilă. RPA (2019) Curs 4 43 / 45
Proprietatea de corectitudine (soundness) în reţele workflow Caracterizare soundness Lema 3.3 Fie PN = (P,T,F) o WF-reţea. Dacă (PN,i) este reţea viabilă şi mărginită, atunci P N este sound. RPA (2019) Curs 4 44 / 45
Proprietatea de corectitudine (soundness) în reţele workflow Caracterizare soundness Lema 3.3 Fie PN = (P,T,F) o WF-reţea. Dacă (PN,i) este reţea viabilă şi mărginită, atunci P N este sound. Demonstraţie: 1 Fie M [i PN. Se arată că există σ T astfel încât M[σ PNo. 2 Se arată ca orice tranziţie este pseudo-viabilă. RPA (2019) Curs 4 44 / 45
Proprietatea de corectitudine (soundness) în reţele workflow Caracterizare soundness Teorema 1 O WF - reţea PN este corectă ddacă (PN,i) este viabilă şi mărginită. RPA (2019) Curs 4 45 / 45
Proprietatea de corectitudine (soundness) în reţele workflow Caracterizare soundness Teorema 1 O WF - reţea PN este corectă ddacă (PN,i) este viabilă şi mărginită. Consecinţă 1 Problema corectitudinii este decidabilă pentru WF-reţele. RPA (2019) Curs 4 45 / 45
Proprietatea de corectitudine (soundness) în reţele workflow Caracterizare soundness Teorema 1 O WF - reţea PN este corectă ddacă (PN,i) este viabilă şi mărginită. Consecinţă 1 Problema corectitudinii este decidabilă pentru WF-reţele. Observaţie:O WF-reţea este corectă ddacă: marcarea o este marcare acasă reţeaua este pseudo-viabilă RPA (2019) Curs 4 45 / 45