Unraveling Unstructured Process Models Marlon Dumas University of Tartu, Estonia Joint work with...

Preview:

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

Recommended