model transformations for business process analysis and execution marlon dumas university of tartu

53
Model Transformations for Business Process Analysis and Execution Marlon Dumas University of Tartu

Upload: quentin-terry

Post on 27-Dec-2015

221 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Model Transformations for Business Process Analysis and Execution Marlon Dumas University of Tartu

Model Transformations for Business Process Analysis and Execution

Marlon Dumas

University of Tartu

Page 2: Model Transformations for Business Process Analysis and Execution Marlon Dumas University of Tartu

2

Business Process Management (BPM)

Collection of methods and techniques to design, analyze, execute and monitor business operations involving humans, software, information and physical artifacts using process models.

Page 3: Model Transformations for Business Process Analysis and Execution Marlon Dumas University of Tartu

3

OK, so what is a process model?

• Collection of inter-dependent activities whose collective performance is intended to achieve a goal such as delivering a product or a service.

• E,g. order-to-cash, procure-to-pay, issue-to-resolution• Animated example

Check Completeness

ObtainAdditional

Information

Check Credit History

Check Income Source(s)

Credit CardApplication

Assess Application

Make Credit Offer

Notify Rejection

Page 4: Model Transformations for Business Process Analysis and Execution Marlon Dumas University of Tartu

4

Process models serve many purposes…

ProcessDocumentation

WorkflowManagement

EnterpriseArchitecture

DocumentManagement

KnowledgeManagement

ProcessImprovement

Process CostAnalysis / Simulation

EnterpriseSystems

Compliance /Risk Management

SoftwareEvaluation/Selection

Page 5: Model Transformations for Business Process Analysis and Execution Marlon Dumas University of Tartu

5

… they have many faces

Abstract Models

EPC, BPMN

Communication, simulation, activity-

based costing…

ProcessImplementation

ProcessAnalysis & Design

Process Enactment & Monitoring

Process Evaluation

“TO BE”Process Models

Exe

cuta

ble

P

roce

ss M

od

els

Mea

sure

s fo

r Im

pro

vem

ent

Process Metrics

OrganizationalAnalysis

Tar

get V

alue

s

“AS IS”Process Models

Detailed Models

BPEL, State Machines…

Data types, conditions, data mappings, fault

handling…

Integration, testing, deployment…

Page 6: Model Transformations for Business Process Analysis and Execution Marlon Dumas University of Tartu

6

…and can be seen from many perspectives

• Control-flow• Data• Resource• Operational

Sound design

Dialog premix FX premix

Music designComposer

Sound Designer

Editor

V

V

Temp picture cut

Temp picture cut

V

V

V

V

Temp music output

Temp sound output

Effect cues Dialog cues Music cues

Page 7: Model Transformations for Business Process Analysis and Execution Marlon Dumas University of Tartu

7

Many in one, or one in many?

“The thing can be many in one sense, but also can be one in another sense.”

Imam Ghazali

Revival of Religious Sciences 

Page 8: Model Transformations for Business Process Analysis and Execution Marlon Dumas University of Tartu

8

Process Modelling:Dealing with Multiplicity

• Multiple modelling languages (meta-models)• Multiple modelling viewpoints

– Control-flow view vs. data view– Public views (protocols) vs. private views

• Multiple abstraction levels– High-level: tasks, performance metrics...– Low-level: data transformations, application bindings...

Page 9: Model Transformations for Business Process Analysis and Execution Marlon Dumas University of Tartu

9

Process Modelling Notations

• Business Process Modelling Notation (BPMN)• Event-driven Process Chains (EPC)• Business Process Execution Language (BPEL)• State machines and variants (e.g. IBM Business

State Machine, WWF)• Petri nets (and variants, e.g. YAWL)

Page 10: Model Transformations for Business Process Analysis and Execution Marlon Dumas University of Tartu

10

Model transformations

• BPMN-to-BPEL– Purpose: Transform models produced by analysts into

models for developers (and vice-versa)– Commonly supported in commercial tool, but in a limited

manner

• BPEL-to-Petri nets– For analysis & verification

• BPMN-to-Petri nets– For analysis & verification (e.g. deadlock-freeness)

Page 11: Model Transformations for Business Process Analysis and Execution Marlon Dumas University of Tartu

11

BPMN from 10 000 miles…

Event Task Flow Gateway

Page 12: Model Transformations for Business Process Analysis and Execution Marlon Dumas University of Tartu

12

BPMN: A more detailed view

Start EventIntermediate

Message EventIntermediate Timer Event

Task Parallel Fork Gateway

Parallel Join Gateway

End Terminate EventEnd Event

Flow Event-based Decision Gateway

receive

Merge Gateway

Data-based Decision Gateway

c

~c

Page 13: Model Transformations for Business Process Analysis and Execution Marlon Dumas University of Tartu

13

Quick BPMN example

Check stock availability

Reject order

Confirm order

Send invoice

Ship goods

Page 14: Model Transformations for Business Process Analysis and Execution Marlon Dumas University of Tartu

14

BPEL from 10 000 miles

• Basic activities: <assign>, <invoke>, <receive>• Sequential flow: <sequence>, <while>, <switch>• Block-structured parallel flow: <flow>• Graph-oriented (parallel) flow: <link> **• Event-action rules: <onEvent> **• Other constructs not relevant to this talk…

** Only partially supported by some tools

Page 15: Model Transformations for Business Process Analysis and Execution Marlon Dumas University of Tartu

15

A quick BPEL example

<sequence> <invoke “check stock availability” …/> <switch (…) …/> <case “reject”> <invoke “order rejection” …/> </case> <otherwise> <sequence> <invoke “order acceptance” … /> <flow> <invoke “invoicing” … /> <invoke “ship goods” … /> </flow> </sequence> </otherwise> </switch> </sequence>

Page 16: Model Transformations for Business Process Analysis and Execution Marlon Dumas University of Tartu

16

BPMN-to-BPEL: Some monsters!

Bounded multiple-instance task (D)

Unstructured loop

LivelockUnbounded multiple-instance tasks (C)

A B C D

A B C D

A D

A

B

C

D

Page 17: Model Transformations for Business Process Analysis and Execution Marlon Dumas University of Tartu

17

BPMN-to-BPEL (from 10 000 miles)

Repeat until reduction to a single node

1. Identify a structured & quasi-structured SESE region Fold into a BPEL structured activity

2. Identify irreducible SESE regions without parallelism Apply GotoWhile transformations, repeat from 1

3. Identify acyclic fragments with concurrency Fold into a BPEL activity with control links

4. Identify minimal unstructured components BPEL event handlers

Page 18: Model Transformations for Business Process Analysis and Execution Marlon Dumas University of Tartu

18

BPMN-BPEL: Structured Components

( a ) SEQUENCE-component

( b ) FLOW-component

<sequence> <invoke name="t1"/> <receive name="e1"/> . . . <invoke name="tn"/></sequence>

tc

<flow> <invoke name="t1"/> <wait name="e2"/> . . . <invoke name="tn"/></flow>

tc

t1

e1

tn

t1

tn

e2

C

C

Page 19: Model Transformations for Business Process Analysis and Execution Marlon Dumas University of Tartu

19

BPMN-BPEL: Structured Components

( e ) WHILE-component

( f ) REPEAT-component

<while condition="c1"> <invoke name="t1"/></while>

tc

<sequence> <invoke name="t1"/> <while condition="c1"> <invoke name="t1"/> </while></sequence>

tc

c1

~c1

t1C

c1

~c1t1

C

Page 20: Model Transformations for Business Process Analysis and Execution Marlon Dumas University of Tartu

20

BPMN-BPEL: Structured Components

( c ) SWITCH-component

( d ) PICK-component

<switch> <case condition="c1"> <invoke name="t1"/> </case> <case condition="c2"> <receive name="e1"/> </case> . . . <otherwise> <empty/> </otherwise></switch>

tc

tc

<pick> <onMessage name="e1"/> <invoke name="t1"/> </onMessage> <onAlarm name="e2"> <empty/> </onAlarm> . . . <onMessage name="tr"> <invoke name="tn"/> </onMessage></pick>

tn

t1

tr(receive)

e1

e2

C

t1

c2

default

c1

e1

C

Page 21: Model Transformations for Business Process Analysis and Execution Marlon Dumas University of Tartu

21

Example: Only Structured Components

Check stock availability

Reject order

Confirm order

Send invoice

Ship goods

Flow-component

Switch-component

Sequence-component

Sequence-component

Page 22: Model Transformations for Business Process Analysis and Execution Marlon Dumas University of Tartu

22

BPMN-to-BPEL: Acyclic component

T1

T2

T3

T4

T1 T3

T2 T4

Flow-component

AND

BPMN BPEL

Proposition: Every acyclic BPMN component with a single entry point and a single exit point that is 1-safe and sound can be mapped to a BPEL Flow with links

Page 23: Model Transformations for Business Process Analysis and Execution Marlon Dumas University of Tartu

23

ExampleStructured+Acyclic Components

a2

C1

f2

f3

m4

UBL

receive EDI 856 (ASN)

receive EDI 810 (Invoice)

receive despatch-advice

receive invoice

EDI

sendpayment-request

send fulfillment-notice

a1

a4

a3

a5

a6

d1m5

j6

tc1 send fulfillment-notice

a6C2

tc2

Page 24: Model Transformations for Business Process Analysis and Execution Marlon Dumas University of Tartu

24

Minimizing the use of control links

a1

a3

a2

a5

a4

a6

a7

a8

fc

jcg2

g1

g3

g4

g5

t1

a5

a7

t2

t3

g4

jc

fc

[a3, a4]

[a1, a2]

[a6, a8]

Page 25: Model Transformations for Business Process Analysis and Execution Marlon Dumas University of Tartu

25

For the rest…

• Identify a minimal SESE region that is neither structured nor acyclic

• For each action in the component, retrieve:– All actions that immediately precede it– All actions that immediately follow it

• For each action, code the following behaviour using event-action rules:– Wait for a suitable combination of predecessors to

complete– Perform action– Notify completion to all successors

Page 26: Model Transformations for Business Process Analysis and Execution Marlon Dumas University of Tartu

26

BPEL-to-Petri netApplication to Conformance Checking

ServicesServicesabstractBPEL

process

Petri netmodel

SOAPMessages

Event Log

Services

Monitoring /Correlation

Conformance?

ConformanceChecking!

Translation

Page 27: Model Transformations for Business Process Analysis and Execution Marlon Dumas University of Tartu

27

From BPEL to WF-nets

Page 28: Model Transformations for Business Process Analysis and Execution Marlon Dumas University of Tartu

28

Petri net-based Conformance Checking

Objectives:– quantitatively measure conformance– locate deviations

Conformance?

Page 29: Model Transformations for Business Process Analysis and Execution Marlon Dumas University of Tartu

29

Conformance Checking – Fitness

Page 30: Model Transformations for Business Process Analysis and Execution Marlon Dumas University of Tartu

30

Conformance Checking – Fitness

Page 31: Model Transformations for Business Process Analysis and Execution Marlon Dumas University of Tartu

31

Measuring fitness: Log replay analysis

missing tokensremaining tokens

= 0= 1

consumed tokensproduced tokens

= 0= 0

Page 32: Model Transformations for Business Process Analysis and Execution Marlon Dumas University of Tartu

32

Measuring fitness: Log replay analysis

= 1= 2

= 0= 0

missing tokensremaining tokens

consumed tokensproduced tokens

Page 33: Model Transformations for Business Process Analysis and Execution Marlon Dumas University of Tartu

33

Measuring fitness: Log replay analysis

= 2= 4

= 0= 0

missing tokensremaining tokens

consumed tokensproduced tokens

Page 34: Model Transformations for Business Process Analysis and Execution Marlon Dumas University of Tartu

34

Measuring fitness: Log replay analysis

= 3= 5

= 0= 0

missing tokensremaining tokens

consumed tokensproduced tokens

Page 35: Model Transformations for Business Process Analysis and Execution Marlon Dumas University of Tartu

35

Measuring fitness: Log replay analysis

= 5= 6

= 0= 0

missing tokensremaining tokens

consumed tokensproduced tokens

Page 36: Model Transformations for Business Process Analysis and Execution Marlon Dumas University of Tartu

36

Measuring fitness: Log replay analysis

= 6= 7

= 0= 0

missing tokensremaining tokens

consumed tokensproduced tokens

Page 37: Model Transformations for Business Process Analysis and Execution Marlon Dumas University of Tartu

37

Measuring fitness: Log replay analysis

= 7= 7

= 0= 0

missing tokensremaining tokens

consumed tokensproduced tokens

Page 38: Model Transformations for Business Process Analysis and Execution Marlon Dumas University of Tartu

38

Measuring fitness: Log replay analysis

= 9= 9

= 0= 0

missing tokensremaining tokens

consumed tokensproduced tokens

Page 39: Model Transformations for Business Process Analysis and Execution Marlon Dumas University of Tartu

39

Measuring fitness: Log replay analysis

= 9= 9

= 0= 0

missing tokensremaining tokens

consumed tokensproduced tokens

Page 40: Model Transformations for Business Process Analysis and Execution Marlon Dumas University of Tartu

40

Measuring fitness: Log replay analysis

= 0= 1

= 0= 0

missing tokensremaining tokens

consumed tokensproduced tokens

Page 41: Model Transformations for Business Process Analysis and Execution Marlon Dumas University of Tartu

41

Measuring fitness: Log replay analysis

= 1= 2

= 0= 0

missing tokensremaining tokens

consumed tokensproduced tokens

Page 42: Model Transformations for Business Process Analysis and Execution Marlon Dumas University of Tartu

42

Measuring fitness: Log replay analysis

= 2= 4

= 1= 0

missing tokensremaining tokens

consumed tokensproduced tokens

Page 43: Model Transformations for Business Process Analysis and Execution Marlon Dumas University of Tartu

43

Measuring fitness: Log replay analysis

= 3= 5

= 1= 0

missing tokensremaining tokens

consumed tokensproduced tokens

Page 44: Model Transformations for Business Process Analysis and Execution Marlon Dumas University of Tartu

44

Measuring fitness: Log replay analysis

= 4= 6

= 1= 0

missing tokensremaining tokens

consumed tokensproduced tokens

Page 45: Model Transformations for Business Process Analysis and Execution Marlon Dumas University of Tartu

45

Measuring fitness: Log replay analysis

= 6= 7

= 1= 0

missing tokensremaining tokens

consumed tokensproduced tokens

Page 46: Model Transformations for Business Process Analysis and Execution Marlon Dumas University of Tartu

46

Measuring fitness: Log replay analysis

= 7= 8

= 1= 0

missing tokensremaining tokens

consumed tokensproduced tokens

Page 47: Model Transformations for Business Process Analysis and Execution Marlon Dumas University of Tartu

47

Measuring fitness: Log replay analysis

= 8= 8

= 1= 1

missing tokensremaining tokens

consumed tokensproduced tokens

Page 48: Model Transformations for Business Process Analysis and Execution Marlon Dumas University of Tartu

48

Measuring fitness: Log replay analysis

= 8= 8

= 1= 1

missing tokensremaining tokens

consumed tokensproduced tokens

Page 49: Model Transformations for Business Process Analysis and Execution Marlon Dumas University of Tartu

49

Measuring fitness: Log replay analysis

Page 50: Model Transformations for Business Process Analysis and Execution Marlon Dumas University of Tartu

50

Measuring fitness: Log replay analysis

f = 1.0 f ≈ 0.540f ≈ 0.955

Page 51: Model Transformations for Business Process Analysis and Execution Marlon Dumas University of Tartu

51

Conformance Checking - Appropriateness

100 % fitnessbut not sufficiently specific from behavioral point of view.

100 % fitnessbut not represented instructurally suitable way.

Page 52: Model Transformations for Business Process Analysis and Execution Marlon Dumas University of Tartu

52

Ongoing work

• Reversible BPMN ↔ BPEL transformation• Two-way transformation: BPEL ↔ FSM

– Application to automated service composition– BPEL FSM not too difficult – FSM BPEL more exciting, e.g.

A

B

B

A

A

B

Page 53: Model Transformations for Business Process Analysis and Execution Marlon Dumas University of Tartu

53

References