correctness ensuring process configuration: an approach based on partner synthesis

28
Correctness Ensuring Process Configuration: An Approach Based on Partner Synthesis Wil van der Aalst (TU/e, QUT) Niels Lohmann (U-Rostock, TU/e) Marcello La Rosa (QUT) Jingxin Xu (QUT)

Upload: universitaet-rostock

Post on 22-Apr-2015

1.073 views

Category:

Education


0 download

DESCRIPTION

held by Wil van der Aalst at the BPM 2010 conference in Hoboken, NY.

TRANSCRIPT

Page 1: Correctness Ensuring Process Configuration: An Approach Based on Partner Synthesis

Correctness Ensuring Process Configuration:An Approach Based on Partner SynthesisWil van der Aalst (TU/e, QUT)Niels Lohmann (U-Rostock, TU/e)Marcello La Rosa (QUT)Jingxin Xu (QUT)

Page 2: Correctness Ensuring Process Configuration: An Approach Based on Partner Synthesis

The need for configurable process models: CoSeLoG project

PAGE 1+/- 430 Dutch municipalities

Page 3: Correctness Ensuring Process Configuration: An Approach Based on Partner Synthesis

The need for configurable process models: Suncorp case

PAGE 2

End to end process has between 250-1000 process steps

Sources: Guidewire reference models, GIO CISSS Project, CI US&S P4PI Project

Product Dev

• 25+ steps

Sales

• 50+ steps

Service

• 75+ steps

Claims

• 100+ steps

30variations

500steps

Home

Motor

Commercial

Liability

CTP / WC

Page 4: Correctness Ensuring Process Configuration: An Approach Based on Partner Synthesis

Two variants of the same process …

PAGE 3

Page 5: Correctness Ensuring Process Configuration: An Approach Based on Partner Synthesis

Variation points

PAGE 4

Action

Blocking

Activating

HidingBlocking

Activate

Hide/skip

Block

Configuration = limiting behavior !

Page 6: Correctness Ensuring Process Configuration: An Approach Based on Partner Synthesis

Correctness of configurations

• Question 1: Is a particular configuration correct?

• Question 2:Is there a correct configuration?

• Question 3: How to characterize the set of all correct configurations?

• Question 4:How to auto-complete a configuration?

PAGE 5

Configurable Model + Configuration = Configured model

+ =

Page 7: Correctness Ensuring Process Configuration: An Approach Based on Partner Synthesis

Can t3 be blocked?

PAGE 6

pI

p5

t7

p6

t8

pO

t2

p3

t1

p2

t4t5

p4

t6

p7

pI

p5

t7

p6

t8

pO

t2

p3

t1

p2

t4t5

p4

t6t3

p7

XOR-join

XOR-split

AND-join

AND-split

Flow

Place

Transition

Token

Page 8: Correctness Ensuring Process Configuration: An Approach Based on Partner Synthesis

Block t1 and hide t3 ?

PAGE 7

p2

p3

p5

p8

t3

t1 t2

t4

t6

Prepare Travel Form(Secretary)

Prepare Travel Form(Employee)

ApproveTravel Form

(Admin)

RejectTravel Form

(Admin)

Submit Travel Form for Approval (Employee)

Request for change(Admin)

t7Check & Update Travel Form(Employee)

Arrange travel insurance (Employee)

p4

t5 τ

p6

p7

t9t8

p1

XOR-join

XOR-split

AND-join

AND-split

Flow

Place

Transition

Token

p2

p3

p5

p8

t3

t2

t4

t6

ApproveTravel Form

(Admin)

RejectTravel Form

(Admin)

Submit Travel Form for Approval (Employee)

Request for change(Admin)

t7Check & Update Travel Form(Employee)

p4

t5 τ

p6

p7

t9t8

τ

p1Prepare Travel Form(Employee

Page 9: Correctness Ensuring Process Configuration: An Approach Based on Partner Synthesis

Block t4 also?

PAGE 8

p2

p3

p5

p8

t3

t1 t2

t4

t6

Prepare Travel Form(Secretary)

Prepare Travel Form(Employee)

ApproveTravel Form

(Admin)

RejectTravel Form

(Admin)

Submit Travel Form for Approval (Employee)

Request for change(Admin)

t7Check & Update Travel Form(Employee)

Arrange travel insurance (Employee)

p4

t5 τ

p6

p7

t9t8

p1

XOR-join

XOR-split

AND-join

AND-split

Flow

Place

Transition

Token

p2

p3

p5

p8

t3

t2

t6

Prepare Travel Form(Employee

ApproveTravel Form

(Admin)

RejectTravel Form

(Admin)

Submit Travel Form for Approval (Employee)

Request for change(Admin)

t7

p4

t5 τ

p6

p7

t9t8

τ

p1

Page 10: Correctness Ensuring Process Configuration: An Approach Based on Partner Synthesis

Existing approaches

• Most approaches only consider the syntactical issues or simply create the configured model and analyze it (i.e., trail and error).

• Our earlier approach using a SAT solver is an exception to this rule, but is limited to free-choice WF-nets.

PAGE 9

W.M.P. van der Aalst, M. Dumas, F. Gottschalk, A.H.M. ter Hofstede, M. La Rosa, J. Mendling, Preserving Correctness During Business Process Model Configuration. In Formal Aspects of Computing (FACS). Vol. 22 No. 3-4, 2010.

Page 11: Correctness Ensuring Process Configuration: An Approach Based on Partner Synthesis

New approach

• Based on partner synthesis developed in the Rostock group.

• Implemented in C-YAWL using Wendy.

• Advantages:1. No syntactical restrictions (i.e. beyond WF-nets

and free-choice).2. Complete characterization of all correct

configurations at design time: the so-called configuration guideline.

3. Computation time is moved from configuration time to design time.

PAGE 10

Page 12: Correctness Ensuring Process Configuration: An Approach Based on Partner Synthesis

Open nets and weak termination

Open net:• Labeled Petri net without any

syntactical restrictions.• Special label:• Set of final markings, in this case

[p4].

Correctness notion:• weak termination: it is always

possible to reach a final marking (weaker than classical soundness)

PAGE 11

τ

Page 13: Correctness Ensuring Process Configuration: An Approach Based on Partner Synthesis

Composition of open nets

PAGE 12

t11 t12 t21xy x

τ t14t13

t15

z

z

t22 z

p11

p12

p13

p14

p21

p22

p23

Ω ={[p14]} Ω ={[p23]}

(t12,t21)

(t14,t22)t13

(t15,t22)

p11

p12

p13

p14

p22

p23

τ

τ τ

τ

Ω ={[p14,p23]}

p21

=

Page 14: Correctness Ensuring Process Configuration: An Approach Based on Partner Synthesis

Controllability

• An open net is controllable if there exists another open net such that their composition is weakly terminating.

• An open net is called a partner of another open net if their composition is weakly terminating.

• A controllable open net has at least one partner.• There are efficient techniques to check controllability

and to synthesize partners.[Karsten Wolf. Does My Service Have Partners?. T. Petri Nets and Other Models of Concurrency 2: 152-171 (2009)]

• These are implemented in Wendy. [Niels Lohmann, Daniela Weinberg. Wendy: A Tool to Synthesize Partners for Services. Petri Nets 2010: 297-307.]

PAGE 13

Page 15: Correctness Ensuring Process Configuration: An Approach Based on Partner Synthesis

Controllability

PAGE 14

t11 t12 xy

τ t14t13 z

p11

p12

p13

Ω ={[p13]}

p14 = weakly terminating

partner??

Idea: good configuration = partner!

Page 16: Correctness Ensuring Process Configuration: An Approach Based on Partner Synthesis

Configurable interface (allow by default)

PAGE 15

Page 17: Correctness Ensuring Process Configuration: An Approach Based on Partner Synthesis

PAGE 16

Configurable interface (block by default)

PAGE 16

Page 18: Correctness Ensuring Process Configuration: An Approach Based on Partner Synthesis

Configuration guideline (allow by default)

PAGE 17

CG

Page 19: Correctness Ensuring Process Configuration: An Approach Based on Partner Synthesis

PAGE 18

Configurable interface (block by default)

PAGE 18CG

Page 20: Correctness Ensuring Process Configuration: An Approach Based on Partner Synthesis

Configuration guideline (allow by default)

PAGE 19

CG

Page 21: Correctness Ensuring Process Configuration: An Approach Based on Partner Synthesis

Configuration guideline (allow by default)

PAGE 20

CG

Page 22: Correctness Ensuring Process Configuration: An Approach Based on Partner Synthesis

PAGE 21

Configuration guideline (allow by default)

CG

Page 23: Correctness Ensuring Process Configuration: An Approach Based on Partner Synthesis

Configuration guideline (allow by default)

PAGE 22

CG

Page 24: Correctness Ensuring Process Configuration: An Approach Based on Partner Synthesis

Tool support

• YAWL editor− Creating C-YAWL models− Configuring C-YAWL models− Verification and auto-completion (using SAT solver

and/or Wendy)• YAWL engine• YAWL services

PAGE 23

Mapping(.cmap)

C-EPC model(.epml)

ConfiguredC-EPC (.epml)

EPC(.epml)

Questionnaire Model (.qml)

ConfiguredC-YAWL (.yawl)

YAWL Engine spec. (.yawl)

C-YAWL model(.yawl)

Quaestio

Mapper ProcessConfigurator

ProcessIndividualizer

Configurationmodel (.cml)

QuestionnaireDesigner

C-YAWL Editor

C-EPC Designer Process Merger

Page 25: Correctness Ensuring Process Configuration: An Approach Based on Partner Synthesis

p2

p3

p5

p8

t3

t1 t2

t4

t6

Prepare Travel Form(Secretary)

Prepare Travel Form(Employee)

ApproveTravel Form

(Admin)

RejectTravel Form

(Admin)

Submit Travel Form for Approval (Employee)

Request for change(Admin)

t7Check & Update Travel Form(Employee)

Arrange travel insurance (Employee)

p4

t5 τ

p6

p7

t9t8

p1

C-YAWL

PAGE 24

Page 26: Correctness Ensuring Process Configuration: An Approach Based on Partner Synthesis

C-YAWL

PAGE 25

Page 27: Correctness Ensuring Process Configuration: An Approach Based on Partner Synthesis

Conclusion

PAGE 26

• New approach for ensuring the correctness of process configurations based on partner synthesis.

• Advantages:1. No syntactical restrictions (i.e. beyond WF-nets and free-

choice).2. Complete characterization of all correct configurations at

design time: the so-called configuration guideline.3. Computation time is moved from configuration time to

design time.• Implemented in C-YAWL using Wendy.

− Complete support for workflow configuration, verification, and enactment.

− Autocomplete, domain knowledge, etc.

Page 28: Correctness Ensuring Process Configuration: An Approach Based on Partner Synthesis

More information

• www.processconfiguration.com(various references to configuration literature and a comprehensive toolset)

• www.yawlfoundation.org(YAWL has been extended to support configuration, cf. C-YAWL)

• service-technology.org(paper and tools - including Wendy - related to the analysis of services)

• www.win.tue.nl/coselog(webpage of the CoSeLoG project)

PAGE 27