Upload
holly-davis
View
212
Download
0
Embed Size (px)
Citation preview
Unraveling Unstructured Process Models
Marlon Dumas
University of Tartu, Estonia
Joint work with Artem Polyvyanyy and Luciano García-Bañuelos
Invited Talk, BPMN’2010 Workshop, Potsdam, 14 Oct. 2010
Poll: Which desk do you prefer?
2
Poll: Which model do you prefer?
3
The Problem
• Sometimes, structured is “preferable”– Easier to understand– Easier to analyze– Easier to automatically layout– Easier to abstract (zoom-out)
• But not all models are structured – often for a good reason!
• We know not all models can be structured…
• Which ones can, which ones can’t? 4
Analysis of Structured Models
5
CTparallel = Max{T1, T2,…, TM}
CT = p1T1+p2T2+…+pmTm=
m
1iiiTp
CT = T/(1-r)
CT = T1+T2+…+ Tm
Laguna & Marklund (2005): Business Process Modeling, Simulation and Design
Automated Layout and Abstraction
6Wil van der Aalst et al., Process Mining Tutorial
A Bit of History
7
1968 1969 1970s (and 80s)
20 years (and 200 papers) later…
• Everything can be structured if you accept to break and continue
• Everyone forgot to release their implementation (they were ashamed since it was full of GOTOs)
8
40 years (and 400 papers) later• We can structure any BPMN
diagram, except:– “Incorrect” ones– Cycles with multiple exit points– Z-structures– Inclusive join gateways, complex
gateways and other demons
• Try it out: http://sep.cs.ut.ee/Main/bpstruct 9
Corollary (if you care)
• Any (sound) BPMN model can be transformed into an equivalent (readable) BPEL process definition
10
• If BPEL had break/continue statements or we use boolean variables to simulate break/continue statememts• And the BPMN model does not have inclusive join gateways, complex gateways and other demons• And some other minor details not worth mentioning
11
Behavioral Equivalence
B
A C
D
B
A C
D
Preserves the level of concurrency in a process model
Sequential simulation of a process model
Fully concurrent bisimilar (FCB)
WeaklybisimilarWeaklybisimilar
Sequential simulation of a process model
C D
A
D C
C D
B
D C
C D
A
D C
C D
B
D C
Starting Point – Process Structure Tree
12Johnson et al. (PLDI’1994), Vanhatalo et al. (BPM’2008)
13
Taxonomy of Process Fragments
Process fragment
Trivial Polygon Bond Rigid
■ Trivials, polygons, and bonds are structured fragments■ Rigids are “unstructured”
Homogeneous Heterogeneous
XOR AND
Acyclic Cyclic
Acyclic Cyclic
Pay by cash
Pay by cheque
Update account
ApproveR1
P1
Reject payment request
Inform customer
B1
P2
P3
a
b
c
d
e f
i ot
u
v
w
x y z
13
Homogeneous XOR Rigid
14
Homogeneous AND Rigid
15
Block-structured version…
16
Homogeneous AND Rigid that cannot be structured
• Causal rules:– {A, B} { C }– { B } { D }
• Overlap on the left-hand side of the rules
Compare to this…
• Causal relations– {A, B} {C, D}
Heterogeneous Acyclic Rigid
19
Equivalent Structured Fragment
20
The Key Ingredient: Unfoldings
A
B
ct,aet,a
ct
ct,bet,b
ca,u
cb,v
eu
ev
cw
cx
c'w
c'x
ew,c
ex,d
C1
D1
cw,c
cx,d
C2
D2
c'w,c
c'x,d
cc,y
cd,y
c'c,y
c'd,y
ey co
c'oe'y
e'w,c
e'x,d
ci ei
ea
eb
ec
ed
e'c
e'd
A
tt,a
pi
B
tt,b
pt
pt,a
pt,b
tu
tv
pa,u
pb,v
pw
px
C
D
pw,c
px,d
tw,c
tx,d
ty
pc,y
pd,y
poti
ta
tb
tc
td
An unfolding is arepresentation of a net without “merge” points
A complete prefix unfolding is a finite initial part of the unfolding that contains full information about the reachable states
A
B
ct,aet,a
ct
ct,bet,b
ca,u
cb,v
eu
ev
cw
cx
c'w
c'x
ew,c
ex,d
C1
D1
cw,c
cx,d
cc,y
cd,y
ey co
ci ei
ea
eb
ec
ed
21
B
A C
D
Ordering Relations
■ Two transitions of an occurrence net are in one of the following relations:
□ A and B are in causal relation (A>B), iff there exists a path from A to B
□ A and B are in conflict (A#B), iff there are two transitions t1, t2 that share an input place and there is a path from t1 to A and a path from t2 to B
□ A and B are in concurrency (A||B) relation iff A and B are neither in causal, nor in conflict relation
A
B
ct,aet,a
ct
ct,bet,b
ca,u
cb,v
eu
ev
cw
cx
c'w
c'x
ew,c
ex,d
C1
D1
cw,c
cx,d
C2
D2
c'w,c
c'x,d
cc,y
cd,y
c'c,y
c'd,y
ey co
c'oe'y
e'w,c
e'x,d
ci ei
ea
eb
ec
ed
e'c
e'd
A>C1
B>D2
B#AA#D2
C2||D2
D2||C2
22
FCB and Ordering Relations
A B C DA
B
C
D
>#
||
>> >#
||
<<<<
B
A C
D B
A C
D
A B C DA
B
C
D
>#
||
>> >#
||
<<<<
Two process models are FCB-equivalent …
… if and only if, (complete prefix) unfoldings of both models expose same ordering relations
23
Structuring Process Models
B
A C
D
B
A C
D
Compute ordering relationsof the (unstructured) process model
Construct a block-structuredprocess model from ordering
relations
A B C DA
B
C
D
>#
||
>> >#
||
<<<<
24
Ordering Relations Graph
A B C DA
B
C
D
>#
||
>> >#
||
<<<<
An ordering relations graph
A
B
C
D
25
Modular Decomposition Tree (MDT)
L1
C1 C2
A
B
C
D
A
B
C
D
C1
A
B
C
D
C1 C2
The MDT is unique and can be computed in linear time
A
B
C
D
C1 C2
L1
B
A C
D
The MDT
■ A linear (L) module is a total order on a set of nodes of a graph■ A complete (C) module is a complete graph, or a clique■ A primitive (P) module is neither trivial, nor linear, nor complete
A module is a set of edges with uniform structure
26
27
Structuring Acyclic Process Models
B
A
C
D
E
A B
E
C
D
B
A
C
D
E
A primitive module
Let G be an ordering relations graph. The MDT of G has no primitive module, iff there exists a well-structured process model W such that G is the ordering relations graph of W.
Heterogeneous Cyclic Rigid
28
For further details…
Download and try:
• http://sep.cs.ut.ee/Main/bpstruct
• http://code.google.com/p/bpstruct/
Perspectives:
• Analyze
• Decompose (e.g. for distributed execution)
• Refactor (extract duplicate fragments into subprocesses)
• Visualize
29