• No results found

Handling Dynamic Changes in Petri Net Models of Workflow Processes

N/A
N/A
Protected

Academic year: 2022

Share "Handling Dynamic Changes in Petri Net Models of Workflow Processes"

Copied!
73
0
0

Loading.... (view fulltext now)

Full text

(1)

Handling Dynamic Changes in Petri Net Models of Workflow Processes

Third Annual Progress Seminar By

Ahana Pradhan (113050039)

Working under the guidance of Prof. Rushikesh K. Joshi

(2)

3

rd

APS

Dynamic Migration of Workflows

Dynamic instance migration needs to be facilitated for workflows in order to reflect real-world

changes in automated processes.

Consistency model:

Equivalence mapping from current state of old

workflow to the migrating state of the new

workflow.

(3)

Dynamic Evolution of Workflows

Reimbursement Workflow in an Academic Institute

Old process:

New process:

(4)

Token Transportation

3

rd

APS

Given a marking in the old net (running instance), goal is to obtain a marking in the new net (migrated instance)

Old Net:

New Net:

(5)

History-based Consistency

History equivalence (Compliance)

[Ellis et al. COCS’95, Rinderle et al. ER’08]

(6)

3

rd

APS

History-based Consistency

Delete-purged Compliance

[Rinderle et al. ER’08]

Delete-purged History: t1, t3

(7)

History-based Consistency

Loop-purged Compliance

[Rinderle et al. ER’08, Sun et al., IST’09]

(8)

3

rd

APS

Valid transfer

[Van der Aalst, ISF 01]

Marking-based Consistency

Marking { p2, p5 }

(9)

Notable Existing Solution Approaches

Change region

[Van der Aalst, ISF’01; Sun et al., IST’09]

State Space

[Agostini et al., CSCW’00]

(10)

3

rd

APS

1. Algorithm for Trace equivalence token transportation 2. Lookahead Trace based consistency models

3. Conclusion 4. Future works

Outline

(11)

Yo-Yo Algorithm

(12)

Token Transportation: Correctness

Consistency

preservation of history (done tasks in old ↔ done tasks in new) Validity

reachability of marking in the new net

Inconsistent! Invalid!

Correct

3

rd

APS

Done task tx

Done task ty Missing token in

parallel branch

(13)

Yo-Yo Approach

Token transportation by: Folding, transport, Unfolding

Old Net:

New Net:

(14)

Yo-Yo Approach: Folding

3

rd

APS

Old Net:

New Net:

(15)

Folding: Original Nets

Old Net:

New Net:

(16)

Folding: Step 1

3

rd

APS

Old Net:

New Net:

(17)

Folding: Step 2

Old Net:

New Net:

(18)

Folding: Step 3

3

rd

APS

Old Net:

New Net:

(19)

Transport: Step 1

Old Net:

New Net:

transport

(20)

Unfolding and Transport: Step 2

3

rd

APS

Old Net:

New Net:

transport

(21)

Unfolding and Transport: Step 3

Old Net:

New Net:

transport

(22)

Unfolding: Step 4

3

rd

APS

Old Net:

New Net: No transport required

(23)

Yo-Yo Approach: ingredients

Transportation between which two patterns

Peer patterns

When such hand-in-hand folding of nets are possible

Yo-Yo compatibility

Which pattern to fold when Folding order, obtained from Derivation Trees

What all pre-computed

transportations cover the scope

Token transportation Catalog

(24)

Input nets

SEQ: tx ty

AND: (tx) (ty)

XOR: [tx] [ty]

silent transitions model gateway logic

3

rd

APS

Pattern Specification Net Model

(25)

Input nets

Composition of primitive patterns: sequence or nesting

Start  SEQ

SEQ  SEQ t SEQ t SEQ | SEQ AND SEQ | SEQ XOR SEQ | e AND  ( SEQ t SEQ ) ( SEQ t SEQ )

XOR  [ SEQ t SEQ ] [ SEQ t SEQ ]

Start  SEQ  SEQ t1 SEQ t8 SEQ  t1 AND t8

t1 ( SEQ t2 SEQ ) ( SEQ t7 SEQ ) t8

t1 ( t2 SEQ AND SEQ ) ( SEQ AND SEQ t7 ) t8

t1 ( t2 ( SEQ t3 SEQ ) ( SEQ t4 SEQ ) ) ( ( SEQ t5 SEQ ) ( SEQ t6 SEQ ) t7 ) t8

 t1 ( t2 ( t3 ) ( t4 ) ) ( ( t5 ) ( t6 ) t7 ) t8 Example derivation

(26)

Input nets

Start  SEQ  SEQ t1 SEQ t8 SEQ  t1 AND t8

t1 ( SEQ t2 SEQ ) ( SEQ t7 SEQ ) t8

t1 ( t2 SEQ AND SEQ ) ( SEQ AND SEQ t7 ) t8

t1 ( t2 ( SEQ t3 SEQ ) ( SEQ t4 SEQ ) ) ( ( SEQ t5 SEQ ) ( SEQ t6 SEQ ) t7 ) t8

 t1 ( t2 ( t3 ) ( t4 ) ) ( ( t5 ) ( t6 ) t7 ) t8

3

rd

APS

Folding steps follow such

order of derivation..

(27)

Derivation Trees

SEQ AND XOR Grammar

Non-terminals Primitive Block Derivation Tree

p1

p1

p1 p1

p1 p2

p2 p3

p3

p3 p3

p3

q1 q2

q3 q4

q1

q1

q2

q2 q3

q4

Triplets:

Left-right positioning w.r.t. parent does not matter

(28)

Derivation Trees

3

rd

APS

(29)

Colored Derivation Trees

Node Type Description

Leaf/Non-leaf Unmarked folded/unfolded place

Leaf marked place in net

Non-leaf abstraction of null-executed subnet

Non-leaf abstraction of subnets where at least one labeled transition has been fired

Red node:

Color parent red

Black node:

Check if any

transition Sibling has color at right, If yes, color

parent red; Else color parent black

(30)

Pattern Alterations

3

rd

APS

Old Net:

New Net:

(31)

Peer Patterns

(32)

Yo-Yo compatibility

3

rd

APS

t1 { t2 { t3, t4 } , { t5, t6 } t7 } t8 t1 t2 t3 t4 { t5, t6 } t7 t8

Both can generate the same sequence t1 t2 t3 t4 t5 t6 t7 t8  Folding order exists

r1 r2

Yield of r1 = Yield of r2 =

(33)

Folding order

P1 P1`

+ =

P1 – P1`

P2 – P2`

P1

P2

P3 P4

P1`

P2`

P3`

P4`

(34)

Pre-computed Token Transportation

3

rd

APS

Compatible yields s1 s2 tx s3 s4 ty …

s3 = s4 = ε

s3 = ε s1

s1

s1 s2

s2

s2 s3

s3 s3

s4 s4 s4

s1 s2

s1 s2 s1 s2

s3 s4 s3 s4 s3 s4

(35)

Token Transportation Catalog

(36)

Yo-Yo Algorithm

3

rd

APS

1. Color old tree

2. <p-q> be 1st peer patterns to appear in folding order F 3. Color transfer between p, q 4.for each next <p-q> in F,

if q has colored root, if pis colored,

color transfer between p, q else

localPropagation(q)

F

(37)

Yo-Yo Algorithm

1. Color old tree

2. <p-q> be 1st peer patterns to appear in folding order F 3. Color transfer between p, q 4.for each next <p-q> in F,

(38)

Yo-Yo Algorithm

3

rd

APS

1. Color old tree

2. <p-q> be 1st peer patterns to appear in folding order F 3. Color transfer between p, q 4.for each next <p-q> in F,

if q has colored root, if p is colored,

color transfer between p, q else

localPropagation(q)

F

(39)

Yo-Yo Algorithm

1. Color old tree

2. <p-q> be 1st peer patterns to appear in folding order F 3. Color transfer between p, q 4.for each next <p-q> in F,

(40)

Yo-Yo Algorithm

3

rd

APS

1. Color old tree

2. <p-q> be 1st peer patterns to appear in folding order F 3. Color transfer between p, q 4.for each next <p-q> in F,

if q has colored root, if p is colored,

color transfer between p, q else

localPropagation(q)

false

F

(41)

Yo-Yo Algorithm

Output

(42)

Yo-Yo Algorithm

3

rd

APS

1. Color old tree

2. <p-q> be 1st peer patterns to appear in folding order F 3. Color transfer between p, q 4.for each next <p-q> in F,

if qhas colored root, if p is colored,

color transfer between p, q else

localPropagation(q)

Red root  color rightmost child

(43)

Yo-Yo Algorithm

1. Color old tree

2. <p-q> be 1st peer patterns to appear in folding order F 3. Color transfer between p, q 4.for each next <p-q> in F,

Black root  color leftmost child

(44)

Correctness

3

rd

APS

Catalog Completeness:

Token transportation catalog is complete w.r.t. the 6 change patterns Lemma 1:

For two Yo-Yo compatible derivation trees, consistent coloring between The top peer patterns guaranties consistent coloring between their immediate child peer patterns

Lemma 2:

Lemma 1 can be repeated for all parent-child peer pairs across two Yo-Yo

compatible derivation trees

(45)

Correctness: Catalog Completeness

Type of Node Marking Status Execution Status Color

Folded Unmarked Null/full-executed Uncolored

Unfolded Unmarked NA Uncolored

Folded Marked Null executed Black

Unfolded Marked NA Black

Folded Marked Partially executed Red

Folded Marked Full executed Red

6 situ ati ons! 3 colo r codes

1 marking, 2 x 4 x 4 = 32 situations 2 x 2 = 4 colorings

(46)

Correctness: Catalog Completeness

3

rd

APS

Pattern # valid markings

# actual situations

# colorings In derivation trees

# non- migratable colorings

# colorings where node type changes mapping

SEQ 3 28 6 0 0

AND 6 420 20 3 2

XOR 6 116 12 2 2

38 -5 +4

37 colorings in catalog

s1 s2

s3 s4

s5 s6 Yield is

s1 { s2 tx s3, s4 ty s5 } s6 SEQ:

s1 s2 tx s3 s4 ty s5 s6 XOR:

s1 s2 tx s3 s6 ors1 s4 ty s5 s6

e.g. non-migratable e.g. node type changes mapping

(47)

Correctness: Lemma 1

Roots of two derivation trees are yield compatible.

Consistent color transfer between the top patterns P and P’  consistency ensured between their child peers Q and Q’

P P’

Q Q’

tx ty tx ty Same relative

Positions of Q and Q’

w.r.t. P and P’

Root of Q Red Black uncolored

Old tree: New Tree:

(48)

Correctness: Lemma 2

3

rd

APS

. . . .

. .

. . .

. .

Preservation of yield compatibility through folding order

.

. . . .

. .

Old tree: New tree: Old tree: New tree:

Lemma 1

Lemma 1 Lemma 1

(49)

Lookahead Consistency Models

(50)

3

rd

APS

Lookahead Trace based Consistency

Consistency Model Name Description

Strong Lookahead same lookahead trace sets of consistent marking

Accommodative Lookahead old lookahead trace set preserved in new

Weak Lookahead at least one old lookahead trace preserved in new

accommodative strong

Weak

Lookahead trace: t2,t3

(51)

Strong lookahead

Milk-products packaging:

Chocolate packaging:

Dry fruit packaging:

Polythene pack, sealing, label, transport

Polythene pack, sealing, label, transport

(52)

3

rd

APS

Accommodative lookahead

Orientation, reg., X, ob. grades

Orientation, reg., X, ob. Grades; Orientation, reg., Y, ob. Grades Academic program:

Home university Semester:

Foreign university Semester:

(53)

Weak lookahead

Old Curriculum:

New Curriculum:

(54)

3

rd

APS

Algo 1: Computing weak lookahead marking

1. Acyclic nets

2. No duplicate transitions

(55)

Algo 1: Computing weak lookahead marking

{t1t3, t2t3}

(56)

3

rd

APS

Algo 1: Computing weak lookahead marking

{t1t3, t2t3}

t3t1

(57)

Algo 1: Computing weak lookahead marking

{t1t3, t2t3}

t3t2

(58)

3

rd

APS

Algo 1: Computing weak lookahead marking

Traces = { t1t3, t2t3 } lookahead traces

L = { t1t3, t2t3 } preserved lookahead traces

S = { {p1’}, {p2’} } weak lookahead consistent marking

(59)

Algo 2: Accept/Reject Branching

L = Polythene pack, sealing, label, transport

(60)

3

rd

APS

Algo 2: Accept/Reject Branching

L = Polythene pack, sealing, label, transport

(61)

Algo 2: Accept/Reject Branching

L = Polythene pack, sealing, label, transport PXOR = { p }

(62)

3

rd

APS

Algo 2: Accept/Reject Branching

L = Polythene pack, sealing, label, transport PXOR = { p }

Tpotential = { cardboard pack, polythene pack }

(63)

Algo 2: Accept/Reject Branching

L = Polythene pack, sealing, label, transport PXOR = { p }

Tpotential = { cardboard pack, polythene pack } Tblock = {cardboard pack}

(64)

3

rd

APS

Inferences

Traces of lookahead traces L preserved lookahead traces S weak consistent markings

Tblock contradictory head-transitions

L ≠ { } weak

+ |S| = 1, L = Traces accommodative + T block = { } strong

S = { } no lookahead

|s|>1  no single marking can fire all preserved lookahead

traces

(65)

Practical Example: Resource Acquisition

Departmental Process Central Library Process

(66)

3

rd

APS

Practical Example: Resource Acquisition

Departmental Process Instance Re-engineered Process

(67)

Practical Example: Resource Acquisition

Departmental Process Instance Migrated Instance

(Algo 1)

L = negotiate price, Payment,

Recv. delivery & invoice, Record details

(68)

3

rd

APS

Practical Example: Resource Acquisition

Departmental Process Instance Migrated Instance

(Algo 1) L =

negotiate price, Payment, Recv. delivery & invoice, Record details

(Algo 2) Tblock= Negotiate price & license, Activate e-resource

(69)

Practical Example: Resource Acquisition

Departmental Process Instance Migrated Instance

(Algo 1) L =

negotiate price, Payment, Recv. delivery & invoice, Record details

(Algo 2) Tblock= Negotiate price & license, Activate e-resource

Inferences:

Accommodative Lookahead

(70)

Conclusion

3

rd

APS

New approach to the token transportation problem by Catalog based modular solution by YoYo algorithm.

Embedding history in the catalog results in history equivalent solutions without computing them in runtime.

Novel approach of derivation tree and its coloring for representing net, markings along with the hierarchy of composition.

Structural analysis pushed to the schema level and linear runtime complexity for token transportation at instance level for trace equivalent migration.

Developed lookahead trace based consistency models with varying flexibility Demonstrated dynamic migration scenarios requiring future-based consistency notion, in contrast to trace based models

Algorithms for computing lookahead consistent markings, and inferences regarding the class of consistency

Support vs. enforcement of lookahead trace executions;

Practical migration situation requiring lookahead enforcement

(71)

Future Works

Consistency Models and Change Regions Extending the scope of Yo-Yo Algorithm

Dynamic instance migration in distributed execution

environment

(72)

Publications & Paper Presentations

3

rd

APS

1. [Full paper] Lookahead Consistency Models for Dynamic Migration of Workflow Processes : In Proceedings of the International Workshop on Petri Nets and Software Engineering (PNSE'15), A satellite event of the conference: 36th International Conference on Application and Theory of Petri Nets and Concurrency 2015, Brussels, Belgium, pp: 267-286, June 22-23, 2015.

2. [Full paper] Catalog-based Token Transportation in Acyclic Block-Structured WF-nets : In Proceedings of the International Workshop on Petri Nets and Software Engineering (PNSE'15), A satellite event of the conference: 36th International Conference on Application and Theory of Petri Nets and Concurrency 2015, Brussels, Belgium, pp: 287-307, June 22-23, 2015.

3. [Poster] Architecture of a light-weight non-threaded event oriented workflow engine

: In Proceedings of the 8th ACM International Conference on Distributed Event-Based Systems, DEBS '14, Mumbai, India, pp: 342-345, May 26-29, 2014.

4. [Short paper] Token transportation in Petri net models of workflow patterns

: In Proceedings of the 7th India Software Engineering Conference, Chennai, ISEC '14, Chennai, India, pp: 17:1-17:6, February 19-21, 2014.

(73)

THANK YOU

References

Related documents

if you can not add any new node then return 0; if you run out of memory then return ”I don’t know”... You add the node if and only if the answer

However, apart from the models of history and state based consis- tency, dynamic workflow migration in the context of other business goals such as resource optimization,

Providing cer- tainty that avoided deforestation credits will be recognized in future climate change mitigation policy will encourage the development of a pre-2012 market in

Chapter 4: Simulation in Timed Petri Net with help of NS2 In this work, the existing AODV routing protocol is simulated in NS2 tool and using generated trace file, necessary

Second, after modeling the system, performance analysis is carried out using Stochastic Petri nets to analyze various aspects of the system.. Third, verification and validation of

Whenever a source node was to send data packet, routing table is checked for an unexpired entry, which if exists, packet is transmitted directly by using that route otherwise

Modeling and Validation of Transmission Range Adjustment Algorithm in Wireless Sensor Network Using Colored Petri Nets.. Thesis submitted in partial fulfillment of the requirements

As reliability is a stochastic measure this thesis estimates reliability of a modified architecture based approach and models it using fault tree analysis and stochastic petri