slides

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
CT = T1+T2+…+ Tm
m
CT = p1T1+p2T2+…+pmTm=  pi Ti
i 1
CTparallel = Max{T1, T2,…, TM}
CT = T/(1-r)
Laguna & Marklund (2005): Business Process Modeling, Simulation and Design
5
Automated Layout and Abstraction
Wil van der Aalst et al., Process Mining Tutorial
6
A Bit of History
1968
1969
1970s (and 80s)
7
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
•
•
•
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
10
Behavioral Equivalence
A
Fully concurrent
bisimilar (FCB)
B
C
Weakly
bisimilar
D
C
D
D
C
C
D
D
C
A
A
C
B
D
B
Preserves the level of concurrency in
a process model
Sequential simulation of a
process model
11
Starting Point – Process
Structure Tree
Johnson et al. (PLDI’1994), Vanhatalo et al. (BPM’2008)
12
Taxonomy of Process Fragments
■ Trivials, polygons, and bonds are structured fragments
■ Rigids are “unstructured”
Process fragment
Pay by
cheque
Trivial Polygon Bond Rigid
Homogeneous Heterogeneous
XOR AND
i
t
Pay by
cash
au
R1
w
c
P2
d
y
P1
Approve
bv
x
Update
account
z
o
Acyclic Cyclic
Reject payment
request
Acyclic Cyclic
13
e
P3
Inform
customer
f
B1
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
tt,a pt,a ta
pi
ti
pa,u
tu
pw
tw,c pw,c tc
A
pt
tt,b p tb
t,b
B
D
ty po
px tx,d px,d td
B
C
pc,y
C
pb,v tv
A
pd,y
D
cw ew,c cw,cec
et,a ct,a ea
ca,u
eu
ei
ci
ey c
o
C1
cx ex,d cx,d ed
A
An unfolding is a
representation of a net without
“merge” points
cc,y
cd,y
D1
ct
c'w e'w,c c'w,c e'c
et,b
ct,b eb
cb,v ev
B
c'c,y
e'y c'
C2
c'x e'x,d c'x,d e'd
o
c'd,y
D2
cw ew,c cw,cec
et,a ct,a ea
ca,u eu
ei
cd,y
D1
ct
c'w
et,b
ct,b eb
cb,v
B
ey c
o
C1
cx ex,d cx,d ed
A
ci
cc,y
ev
c'x
A complete prefix unfolding is
a finite initial part of the unfolding
that contains full information
about the reachable states
21
Ordering Relations
cw ew,c cw,cec
et,a ct,a ea
A>C1
D2||C2
A#D2
B#A
C2||D2 B>D2
ca,u eu
ei
ey c
o
C1
cx ex,d cx,d ed
A
ci
cc,y
cd,y
D1
ct
c'w e'w,c c'w,c e'c
et,b
ct,b eb
cb,v ev
B
c'c,y
e'y c'
C2
c'x e'x,d c'x,d e'd
o
c'd,y
D2
■ 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
22
FCB and Ordering Relations
Two process models are FCB-equivalent …
A
C
A
C
B
D
B
D
… if and only if, (complete prefix) unfoldings of both models expose
same ordering relations
A B C D
A
B
C
D
# > >
#
> >
||
< <
< < ||
A B C D
A
B
C
D
# > >
#
> >
||
< <
< < ||
23
Structuring Process Models
A
C
B
D
Compute ordering relations
of the (unstructured)
process model
A B C D
A
B
C
A
C
B
D
D
# > >
#
> >
||
< <
< < ||
Construct a block-structured
process model from ordering
relations
24
Ordering Relations Graph
A B C D
A
B
C
D
# > >
#
> >
||
< <
< < ||
A
C
B
D
An ordering relations graph
25
Modular Decomposition Tree (MDT)

A module is a set of edges with uniform structure
■ 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

The MDT is unique and can be computed in linear time
A
C
A
C
C1
B
D
B
A
C
C1
D
B
C2
D
A
C
B
D
A
C
C1
B
C2
L1
D
L1
C1
C2
The MDT
26
Structuring Acyclic Process Models
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.
A
C
B
A
D
C
E
B
D
E
C
A
D
B
E
A primitive module
27
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