29
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

Unraveling Unstructured Process Models Marlon Dumas University of Tartu, Estonia Joint work with Artem Polyvyanyy and Luciano García-Bañuelos Invited Talk,

Embed Size (px)

Citation preview

Page 1: Unraveling Unstructured Process Models Marlon Dumas University of Tartu, Estonia Joint work with Artem Polyvyanyy and Luciano García-Bañuelos Invited Talk,

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

Page 2: Unraveling Unstructured Process Models Marlon Dumas University of Tartu, Estonia Joint work with Artem Polyvyanyy and Luciano García-Bañuelos Invited Talk,

Poll: Which desk do you prefer?

2

Page 3: Unraveling Unstructured Process Models Marlon Dumas University of Tartu, Estonia Joint work with Artem Polyvyanyy and Luciano García-Bañuelos Invited Talk,

Poll: Which model do you prefer?

3

Page 4: Unraveling Unstructured Process Models Marlon Dumas University of Tartu, Estonia Joint work with Artem Polyvyanyy and Luciano García-Bañuelos Invited Talk,

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

Page 5: Unraveling Unstructured Process Models Marlon Dumas University of Tartu, Estonia Joint work with Artem Polyvyanyy and Luciano García-Bañuelos Invited Talk,

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

Page 6: Unraveling Unstructured Process Models Marlon Dumas University of Tartu, Estonia Joint work with Artem Polyvyanyy and Luciano García-Bañuelos Invited Talk,

Automated Layout and Abstraction

6Wil van der Aalst et al., Process Mining Tutorial

Page 7: Unraveling Unstructured Process Models Marlon Dumas University of Tartu, Estonia Joint work with Artem Polyvyanyy and Luciano García-Bañuelos Invited Talk,

A Bit of History

7

1968 1969 1970s (and 80s)

Page 8: Unraveling Unstructured Process Models Marlon Dumas University of Tartu, Estonia Joint work with Artem Polyvyanyy and Luciano García-Bañuelos Invited Talk,

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

Page 9: Unraveling Unstructured Process Models Marlon Dumas University of Tartu, Estonia Joint work with Artem Polyvyanyy and Luciano García-Bañuelos Invited Talk,

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

Page 10: Unraveling Unstructured Process Models Marlon Dumas University of Tartu, Estonia Joint work with Artem Polyvyanyy and Luciano García-Bañuelos Invited Talk,

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

Page 11: Unraveling Unstructured Process Models Marlon Dumas University of Tartu, Estonia Joint work with Artem Polyvyanyy and Luciano García-Bañuelos Invited Talk,

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

Page 12: Unraveling Unstructured Process Models Marlon Dumas University of Tartu, Estonia Joint work with Artem Polyvyanyy and Luciano García-Bañuelos Invited Talk,

Starting Point – Process Structure Tree

12Johnson et al. (PLDI’1994), Vanhatalo et al. (BPM’2008)

Page 13: Unraveling Unstructured Process Models Marlon Dumas University of Tartu, Estonia Joint work with Artem Polyvyanyy and Luciano García-Bañuelos Invited Talk,

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

Page 14: Unraveling Unstructured Process Models Marlon Dumas University of Tartu, Estonia Joint work with Artem Polyvyanyy and Luciano García-Bañuelos Invited Talk,

Homogeneous XOR Rigid

14

Page 15: Unraveling Unstructured Process Models Marlon Dumas University of Tartu, Estonia Joint work with Artem Polyvyanyy and Luciano García-Bañuelos Invited Talk,

Homogeneous AND Rigid

15

Page 16: Unraveling Unstructured Process Models Marlon Dumas University of Tartu, Estonia Joint work with Artem Polyvyanyy and Luciano García-Bañuelos Invited Talk,

Block-structured version…

16

Page 17: Unraveling Unstructured Process Models Marlon Dumas University of Tartu, Estonia Joint work with Artem Polyvyanyy and Luciano García-Bañuelos Invited Talk,

Homogeneous AND Rigid that cannot be structured

• Causal rules:– {A, B} { C }– { B } { D }

• Overlap on the left-hand side of the rules

Page 18: Unraveling Unstructured Process Models Marlon Dumas University of Tartu, Estonia Joint work with Artem Polyvyanyy and Luciano García-Bañuelos Invited Talk,

Compare to this…

• Causal relations– {A, B} {C, D}

Page 19: Unraveling Unstructured Process Models Marlon Dumas University of Tartu, Estonia Joint work with Artem Polyvyanyy and Luciano García-Bañuelos Invited Talk,

Heterogeneous Acyclic Rigid

19

Page 20: Unraveling Unstructured Process Models Marlon Dumas University of Tartu, Estonia Joint work with Artem Polyvyanyy and Luciano García-Bañuelos Invited Talk,

Equivalent Structured Fragment

20

Page 21: Unraveling Unstructured Process Models Marlon Dumas University of Tartu, Estonia Joint work with Artem Polyvyanyy and Luciano García-Bañuelos Invited Talk,

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

Page 22: Unraveling Unstructured Process Models Marlon Dumas University of Tartu, Estonia Joint work with Artem Polyvyanyy and Luciano García-Bañuelos Invited Talk,

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

Page 23: Unraveling Unstructured Process Models Marlon Dumas University of Tartu, Estonia Joint work with Artem Polyvyanyy and Luciano García-Bañuelos Invited Talk,

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

Page 24: Unraveling Unstructured Process Models Marlon Dumas University of Tartu, Estonia Joint work with Artem Polyvyanyy and Luciano García-Bañuelos Invited Talk,

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

Page 25: Unraveling Unstructured Process Models Marlon Dumas University of Tartu, Estonia Joint work with Artem Polyvyanyy and Luciano García-Bañuelos Invited Talk,

Ordering Relations Graph

A B C DA

B

C

D

>#

||

>> >#

||

<<<<

An ordering relations graph

A

B

C

D

25

Page 26: Unraveling Unstructured Process Models Marlon Dumas University of Tartu, Estonia Joint work with Artem Polyvyanyy and Luciano García-Bañuelos Invited Talk,

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

Page 27: Unraveling Unstructured Process Models Marlon Dumas University of Tartu, Estonia Joint work with Artem Polyvyanyy and Luciano García-Bañuelos Invited Talk,

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.

Page 28: Unraveling Unstructured Process Models Marlon Dumas University of Tartu, Estonia Joint work with Artem Polyvyanyy and Luciano García-Bañuelos Invited Talk,

Heterogeneous Cyclic Rigid

28

Page 29: Unraveling Unstructured Process Models Marlon Dumas University of Tartu, Estonia Joint work with Artem Polyvyanyy and Luciano García-Bañuelos Invited Talk,

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