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
•  Premise: Structured is “better”
–  Easier to understand
–  Easier to analyze
–  Easier to automatically layout
–  Easier to abstract (zoom-out)
•  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=
CT = T/(1-r)
CT = T1+T2+…+ Tm
Laguna & Marklund (2005): Business Process Modeling, Simulation and Design
Automated Layout and Abstraction
6
Wil 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
Preserves the level of concurrency in
a process model
Sequential simulation of a
process model
Fully concurrent
bisimilar (FCB)
Weakly
bisimilar
Weakly
bisimilar
Sequential simulation of a
process model
Starting Point – Process
Structure Tree
12
Johnson et al. (PLDI’1994), Vanhatalo et al. (BPM’2008)
13
Taxonomy of Process Fragments
■  Trivials, polygons, and bonds are structured fragments
■  Rigids are “unstructured”
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
An unfolding is a
representation 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
21
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>C1
B>D2
B#A
A#D2
C2||D2
D2||C2
22
FCB and Ordering Relations
Two process models are FCB-equivalent …
… if and only if, (complete prefix) unfoldings of both models expose
same ordering relations
23
Structuring Process Models
Compute ordering relations
of the (unstructured)
process model
Construct a block-structured
process model from ordering
relations
24
Ordering Relations Graph
An ordering relations graph
25
Modular Decomposition Tree (MDT)
  The MDT is unique and can be computed in linear time
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
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

Marlon Dumas @ BPMN 2010

  • 1.
    Unraveling Unstructured ProcessModels 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
  • 2.
    Poll: Which deskdo you prefer? 2
  • 3.
    Poll: Which modeldo you prefer? 3
  • 4.
    The Problem •  Premise:Structured is “better” –  Easier to understand –  Easier to analyze –  Easier to automatically layout –  Easier to abstract (zoom-out) •  We know not all models can be structured… •  Which ones can, which ones can’t? 4
  • 5.
    Analysis of StructuredModels 5 CTparallel = Max{T1, T2,…, TM} CT = p1T1+p2T2+…+pmTm= CT = T/(1-r) CT = T1+T2+…+ Tm Laguna & Marklund (2005): Business Process Modeling, Simulation and Design
  • 6.
    Automated Layout andAbstraction 6 Wil van der Aalst et al., Process Mining Tutorial
  • 7.
    A Bit ofHistory 7 1968 1969 1970s (and 80s)
  • 8.
    20 years (and200 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
  • 9.
    40 years (and400 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
  • 10.
    Corollary (if youcare) •  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.
    11 Behavioral Equivalence Preserves thelevel of concurrency in a process model Sequential simulation of a process model Fully concurrent bisimilar (FCB) Weakly bisimilar Weakly bisimilar Sequential simulation of a process model
  • 12.
    Starting Point –Process Structure Tree 12 Johnson et al. (PLDI’1994), Vanhatalo et al. (BPM’2008)
  • 13.
    13 Taxonomy of ProcessFragments ■  Trivials, polygons, and bonds are structured fragments ■  Rigids are “unstructured” 13
  • 14.
  • 15.
  • 16.
  • 17.
    Homogeneous AND Rigidthat cannot be structured •  Causal rules: –  {A, B}  { C } –  { B }  { D } •  Overlap on the left-hand side of the rules
  • 18.
    Compare to this… • Causal relations –  {A, B}  {C, D}
  • 19.
  • 20.
  • 21.
    The Key Ingredient:Unfoldings An unfolding is a representation 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 21
  • 22.
    Ordering Relations ■ Two transitionsof 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>C1 B>D2 B#A A#D2 C2||D2 D2||C2 22
  • 23.
    FCB and OrderingRelations Two process models are FCB-equivalent … … if and only if, (complete prefix) unfoldings of both models expose same ordering relations 23
  • 24.
    Structuring Process Models Computeordering relations of the (unstructured) process model Construct a block-structured process model from ordering relations 24
  • 25.
    Ordering Relations Graph Anordering relations graph 25
  • 26.
    Modular Decomposition Tree(MDT)   The MDT is unique and can be computed in linear time 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.
    27 Structuring Acyclic ProcessModels 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.
  • 28.
  • 29.
    For further details… Downloadand 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