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

Post on 27-Dec-2015

221 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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.

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

4

Process models serve many purposes…

ProcessDocumentation

WorkflowManagement

EnterpriseArchitecture

DocumentManagement

KnowledgeManagement

ProcessImprovement

Process CostAnalysis / Simulation

EnterpriseSystems

Compliance /Risk Management

SoftwareEvaluation/Selection

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…

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

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 

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...

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)

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)

11

BPMN from 10 000 miles…

Event Task Flow Gateway

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

13

Quick BPMN example

Check stock availability

Reject order

Confirm order

Send invoice

Ship goods

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

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>

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

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

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

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

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

21

Example: Only Structured Components

Check stock availability

Reject order

Confirm order

Send invoice

Ship goods

Flow-component

Switch-component

Sequence-component

Sequence-component

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

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

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]

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

26

BPEL-to-Petri netApplication to Conformance Checking

ServicesServicesabstractBPEL

process

Petri netmodel

SOAPMessages

Event Log

Services

Monitoring /Correlation

Conformance?

ConformanceChecking!

Translation

27

From BPEL to WF-nets

28

Petri net-based Conformance Checking

Objectives:– quantitatively measure conformance– locate deviations

Conformance?

29

Conformance Checking – Fitness

30

Conformance Checking – Fitness

31

Measuring fitness: Log replay analysis

missing tokensremaining tokens

= 0= 1

consumed tokensproduced tokens

= 0= 0

32

Measuring fitness: Log replay analysis

= 1= 2

= 0= 0

missing tokensremaining tokens

consumed tokensproduced tokens

33

Measuring fitness: Log replay analysis

= 2= 4

= 0= 0

missing tokensremaining tokens

consumed tokensproduced tokens

34

Measuring fitness: Log replay analysis

= 3= 5

= 0= 0

missing tokensremaining tokens

consumed tokensproduced tokens

35

Measuring fitness: Log replay analysis

= 5= 6

= 0= 0

missing tokensremaining tokens

consumed tokensproduced tokens

36

Measuring fitness: Log replay analysis

= 6= 7

= 0= 0

missing tokensremaining tokens

consumed tokensproduced tokens

37

Measuring fitness: Log replay analysis

= 7= 7

= 0= 0

missing tokensremaining tokens

consumed tokensproduced tokens

38

Measuring fitness: Log replay analysis

= 9= 9

= 0= 0

missing tokensremaining tokens

consumed tokensproduced tokens

39

Measuring fitness: Log replay analysis

= 9= 9

= 0= 0

missing tokensremaining tokens

consumed tokensproduced tokens

40

Measuring fitness: Log replay analysis

= 0= 1

= 0= 0

missing tokensremaining tokens

consumed tokensproduced tokens

41

Measuring fitness: Log replay analysis

= 1= 2

= 0= 0

missing tokensremaining tokens

consumed tokensproduced tokens

42

Measuring fitness: Log replay analysis

= 2= 4

= 1= 0

missing tokensremaining tokens

consumed tokensproduced tokens

43

Measuring fitness: Log replay analysis

= 3= 5

= 1= 0

missing tokensremaining tokens

consumed tokensproduced tokens

44

Measuring fitness: Log replay analysis

= 4= 6

= 1= 0

missing tokensremaining tokens

consumed tokensproduced tokens

45

Measuring fitness: Log replay analysis

= 6= 7

= 1= 0

missing tokensremaining tokens

consumed tokensproduced tokens

46

Measuring fitness: Log replay analysis

= 7= 8

= 1= 0

missing tokensremaining tokens

consumed tokensproduced tokens

47

Measuring fitness: Log replay analysis

= 8= 8

= 1= 1

missing tokensremaining tokens

consumed tokensproduced tokens

48

Measuring fitness: Log replay analysis

= 8= 8

= 1= 1

missing tokensremaining tokens

consumed tokensproduced tokens

49

Measuring fitness: Log replay analysis

50

Measuring fitness: Log replay analysis

f = 1.0 f ≈ 0.540f ≈ 0.955

51

Conformance Checking - Appropriateness

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

100 % fitnessbut not represented instructurally suitable way.

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

53

References

top related