Top Banner
DecSerFlow Towards a Truly Declarative Service Flow Language Wil van der Aalst & Maja Pesic Eindhoven University of Technology, P.O. Box 513, 5600 MB Eindhoven, The Netherlands [email protected] ed talk 3rd International Workshop on ervices and Formal Methods mber 2006, Vienna, Austria
52

DecSerFlow Towards a Truly Declarative Service Flow Language Wil van der Aalst & Maja Pesic Eindhoven University of Technology, P.O. Box 513, 5600 MB Eindhoven,

Mar 31, 2015

Download

Documents

Simone Blackner
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: DecSerFlow Towards a Truly Declarative Service Flow Language Wil van der Aalst & Maja Pesic Eindhoven University of Technology, P.O. Box 513, 5600 MB Eindhoven,

DecSerFlow Towards a Truly Declarative

Service Flow Language

Wil van der Aalst & Maja PesicEindhoven University of Technology, P.O. Box 513, 5600 MB Eindhoven, The Netherlands

[email protected]

Invited talk 3rd International Workshop onWeb Services and Formal Methods8 September 2006, Vienna, Austria

Page 2: DecSerFlow Towards a Truly Declarative Service Flow Language Wil van der Aalst & Maja Pesic Eindhoven University of Technology, P.O. Box 513, 5600 MB Eindhoven,

Outline

1. Classical approaches• BPEL2PN• PN2BPEL

2. DecSerFlow• Language• Graphical notation and LTL semantics• Implementation and application

(specification and enactment)

3. Using DecSerFlow for process mining

4. Conclusion

Page 3: DecSerFlow Towards a Truly Declarative Service Flow Language Wil van der Aalst & Maja Pesic Eindhoven University of Technology, P.O. Box 513, 5600 MB Eindhoven,

Classical approaches

BPEL2PN

PN2BPEL

1. Formal languages (Petri nets, LTS, YAWL)

2. Graphical languages(BPMN,UML-AD)

Industry standards:1. BPEL2. (abstract) BPEL3. WS-CDL4. etc.

Page 4: DecSerFlow Towards a Truly Declarative Service Flow Language Wil van der Aalst & Maja Pesic Eindhoven University of Technology, P.O. Box 513, 5600 MB Eindhoven,

BPEL2PN• Many translations are available, cf.

– S. Hinz, K. Schmidt, and C. Stahl. Transforming BPEL to Petri nets. BPM 2005.

– C. Stahl. A Petri net semantics for BPEL. Technical Report 188, Humboldt Universität zu Berlin, June 2005.

– etc.– C. Ouyang, W.M.P. van der Aalst, S. Breutel, M. Dumas, A.H.M. ter

Hofstede, and H.M.W. Verbeek. Formal semantics and analysis of control flow in WS-BPEL. Technical Report BPM-05-13, BPMcenter.org, June 2005.

• Focus on analysis, i.e., verification of various properties.• Our approach is implemented in BPEL2PNML and

WofBPEL.• cf. BEST (Berlin-Eindhoven Service Technology)

program also involving tools such as BPEL2PN, LOLA and FIONA

Page 5: DecSerFlow Towards a Truly Declarative Service Flow Language Wil van der Aalst & Maja Pesic Eindhoven University of Technology, P.O. Box 513, 5600 MB Eindhoven,

Example

Page 6: DecSerFlow Towards a Truly Declarative Service Flow Language Wil van der Aalst & Maja Pesic Eindhoven University of Technology, P.O. Box 513, 5600 MB Eindhoven,

Corresponding Petri net

Page 7: DecSerFlow Towards a Truly Declarative Service Flow Language Wil van der Aalst & Maja Pesic Eindhoven University of Technology, P.O. Box 513, 5600 MB Eindhoven,

PN2BPEL

• Joint work with Kristian Bisgaard Lassen.• Few people have been working on this.• Purpose: Generating readable BPEL code

(otherwise it has no purpose).• Implemented in WorkflowNet2BPEL4WS and

ProM.• Not complete, but extendible.• Work with Chun Ouyang, Marlon Dumas, et al.

(QUT) on using concepts in context of BPMN.

Page 8: DecSerFlow Towards a Truly Declarative Service Flow Language Wil van der Aalst & Maja Pesic Eindhoven University of Technology, P.O. Box 513, 5600 MB Eindhoven,

Basic idea

• Discover WF-net like components.

• Look for specific patterns that can easily be mapped onto BPEL (sequence, pick, switch, while, flow, etc.).

• Allow for ad-hoc extensions and re-use these.

Page 9: DecSerFlow Towards a Truly Declarative Service Flow Language Wil van der Aalst & Maja Pesic Eindhoven University of Technology, P.O. Box 513, 5600 MB Eindhoven,

4 types: PP, TP, PT, and TT components

Page 10: DecSerFlow Towards a Truly Declarative Service Flow Language Wil van der Aalst & Maja Pesic Eindhoven University of Technology, P.O. Box 513, 5600 MB Eindhoven,

Sequence

Page 11: DecSerFlow Towards a Truly Declarative Service Flow Language Wil van der Aalst & Maja Pesic Eindhoven University of Technology, P.O. Box 513, 5600 MB Eindhoven,

Flow

•acyclic•explicit choice•well-structured

Page 12: DecSerFlow Towards a Truly Declarative Service Flow Language Wil van der Aalst & Maja Pesic Eindhoven University of Technology, P.O. Box 513, 5600 MB Eindhoven,

Example

Page 13: DecSerFlow Towards a Truly Declarative Service Flow Language Wil van der Aalst & Maja Pesic Eindhoven University of Technology, P.O. Box 513, 5600 MB Eindhoven,

Fold sequence

Page 14: DecSerFlow Towards a Truly Declarative Service Flow Language Wil van der Aalst & Maja Pesic Eindhoven University of Technology, P.O. Box 513, 5600 MB Eindhoven,

Fold switch

Page 15: DecSerFlow Towards a Truly Declarative Service Flow Language Wil van der Aalst & Maja Pesic Eindhoven University of Technology, P.O. Box 513, 5600 MB Eindhoven,

Fold sequence

Page 16: DecSerFlow Towards a Truly Declarative Service Flow Language Wil van der Aalst & Maja Pesic Eindhoven University of Technology, P.O. Box 513, 5600 MB Eindhoven,

Fold sequence (2x) and pick (2x)

Page 17: DecSerFlow Towards a Truly Declarative Service Flow Language Wil van der Aalst & Maja Pesic Eindhoven University of Technology, P.O. Box 513, 5600 MB Eindhoven,

Final step: fold flow

Page 18: DecSerFlow Towards a Truly Declarative Service Flow Language Wil van der Aalst & Maja Pesic Eindhoven University of Technology, P.O. Box 513, 5600 MB Eindhoven,

Tool support: WorkflowNet2BPEL4WS and ProM

Page 19: DecSerFlow Towards a Truly Declarative Service Flow Language Wil van der Aalst & Maja Pesic Eindhoven University of Technology, P.O. Box 513, 5600 MB Eindhoven,

Empirical case study: 100 Protos• Different student projects.• Size of models: 23.66 places and 26.54 transitions.

• Reductions:

Page 20: DecSerFlow Towards a Truly Declarative Service Flow Language Wil van der Aalst & Maja Pesic Eindhoven University of Technology, P.O. Box 513, 5600 MB Eindhoven,
Page 21: DecSerFlow Towards a Truly Declarative Service Flow Language Wil van der Aalst & Maja Pesic Eindhoven University of Technology, P.O. Box 513, 5600 MB Eindhoven,
Page 22: DecSerFlow Towards a Truly Declarative Service Flow Language Wil van der Aalst & Maja Pesic Eindhoven University of Technology, P.O. Box 513, 5600 MB Eindhoven,
Page 23: DecSerFlow Towards a Truly Declarative Service Flow Language Wil van der Aalst & Maja Pesic Eindhoven University of Technology, P.O. Box 513, 5600 MB Eindhoven,

DecSerFlowTowards a Truly Declarative

Service Flow Language

joint work with Maja Pesic (TU/e)

Page 24: DecSerFlow Towards a Truly Declarative Service Flow Language Wil van der Aalst & Maja Pesic Eindhoven University of Technology, P.O. Box 513, 5600 MB Eindhoven,

Problems

• Tendency to over-specify.

• Focus on execution rather than "contractual" side.

Proposal• A more declarative approach

– Graphical– Executable– Analysis support (both design and run-time)

Page 25: DecSerFlow Towards a Truly Declarative Service Flow Language Wil van der Aalst & Maja Pesic Eindhoven University of Technology, P.O. Box 513, 5600 MB Eindhoven,

Basic idea

A B

DecSerFlow notation LTL semantics

Page 26: DecSerFlow Towards a Truly Declarative Service Flow Language Wil van der Aalst & Maja Pesic Eindhoven University of Technology, P.O. Box 513, 5600 MB Eindhoven,

LTL

Page 27: DecSerFlow Towards a Truly Declarative Service Flow Language Wil van der Aalst & Maja Pesic Eindhoven University of Technology, P.O. Box 513, 5600 MB Eindhoven,

Small example

Page 28: DecSerFlow Towards a Truly Declarative Service Flow Language Wil van der Aalst & Maja Pesic Eindhoven University of Technology, P.O. Box 513, 5600 MB Eindhoven,

1. Existence formulas

0

A

2..*

A

3..*

A

N..*

A

0..2

A

0..N

A

0..1

A

2

A

N

A

1

A

N..*

A

0..N

A

N

A

A

1..*

Page 29: DecSerFlow Towards a Truly Declarative Service Flow Language Wil van der Aalst & Maja Pesic Eindhoven University of Technology, P.O. Box 513, 5600 MB Eindhoven,

2. Relation formulas

A B

A B

A B

A B

A B

A B

A B

A B

A B

A B

A B

Page 30: DecSerFlow Towards a Truly Declarative Service Flow Language Wil van der Aalst & Maja Pesic Eindhoven University of Technology, P.O. Box 513, 5600 MB Eindhoven,

Example: "existence response"

• OK:– [ ]– [A,B,C,D,E]– [A,A,A,C,D,E,B,B,B]– [B,B,A,A,C,D,E]– [B,C,D,E]

• NOK– [A]– [A,A,C,D,E]

A B

Page 31: DecSerFlow Towards a Truly Declarative Service Flow Language Wil van der Aalst & Maja Pesic Eindhoven University of Technology, P.O. Box 513, 5600 MB Eindhoven,

Example: "response"

• OK:– [ ]– [A,B,C,D,E]– [A,A,A,B,C,D,E]– [B,B,A,A,B,C,D,E]– [B,C,D,E]

• NOK– [A]– [B,B,B,B,A,A]

A B

Page 32: DecSerFlow Towards a Truly Declarative Service Flow Language Wil van der Aalst & Maja Pesic Eindhoven University of Technology, P.O. Box 513, 5600 MB Eindhoven,

Example: "precedence"

• OK:– [ ]– [A,B,C,D,E]– [A,A,A,C,D,E,B,B,B]– [A,A,C,D,E]

• NOK– [B]– [B,A,C,D,E]

A B

Page 33: DecSerFlow Towards a Truly Declarative Service Flow Language Wil van der Aalst & Maja Pesic Eindhoven University of Technology, P.O. Box 513, 5600 MB Eindhoven,

Combinations

A B A BA Band =

A B A B A Band =

co-existence

succession

Page 34: DecSerFlow Towards a Truly Declarative Service Flow Language Wil van der Aalst & Maja Pesic Eindhoven University of Technology, P.O. Box 513, 5600 MB Eindhoven,

3. Negation formulas

A B

A B

A B

A B

A B

A B

A B

A B

A B

A B A B

Page 35: DecSerFlow Towards a Truly Declarative Service Flow Language Wil van der Aalst & Maja Pesic Eindhoven University of Technology, P.O. Box 513, 5600 MB Eindhoven,

Example: "neg succession"

• Not the logical negation!• OK:

– [ ]– [A,C,D,E]– [A,A,A,C,D,E]– [B,B,A,A,C,D,E]– [B,C,D,E]

• NOK– [A,B]– [B,A,A,C,D,E,B]

A B

A B

A B A B

or

Page 36: DecSerFlow Towards a Truly Declarative Service Flow Language Wil van der Aalst & Maja Pesic Eindhoven University of Technology, P.O. Box 513, 5600 MB Eindhoven,

Using DecSerFlow

• Nature of model:– Global model (choreography model), i.e., interactions are

described from the viewpoint of an external observer who oversees all interactions between all services (non-executable specification of a contractual nature).

– Local model, i.e., the DecSerFlow model is used to specify, implement, or configure a particular service.

• Use:– Analysis of both global and local models.– Comparing global and local models.– Monitoring global and local models (conformance).– Enactment of local models.

Page 37: DecSerFlow Towards a Truly Declarative Service Flow Language Wil van der Aalst & Maja Pesic Eindhoven University of Technology, P.O. Box 513, 5600 MB Eindhoven,

Enactment

• A Büchi automaton typically assumes traces infinitely visiting an accepting state. There are several ways to address this. We use the approach proposed by Dimitra Giannakopoulou and Klaus Havelund to check finite traces.

• We can color the constraints green (in accepting state), yellow (accepting state can still be reached), or red (accepting state cannot be reached anymore).

Page 38: DecSerFlow Towards a Truly Declarative Service Flow Language Wil van der Aalst & Maja Pesic Eindhoven University of Technology, P.O. Box 513, 5600 MB Eindhoven,

Implementation (ConDec)

• Implementation on top of YAWL and ProM.• Editor (with facilities to extend language) has been

implemented.• Initial experiments with enactment service.• Plans to link editor with LTL checker in ProM.

YAWL

Prom

interface B

Page 39: DecSerFlow Towards a Truly Declarative Service Flow Language Wil van der Aalst & Maja Pesic Eindhoven University of Technology, P.O. Box 513, 5600 MB Eindhoven,

Editor

Add your own constraints!

Page 40: DecSerFlow Towards a Truly Declarative Service Flow Language Wil van der Aalst & Maja Pesic Eindhoven University of Technology, P.O. Box 513, 5600 MB Eindhoven,
Page 41: DecSerFlow Towards a Truly Declarative Service Flow Language Wil van der Aalst & Maja Pesic Eindhoven University of Technology, P.O. Box 513, 5600 MB Eindhoven,

Using DecSerFlow for process mining

curse prayresponse

Thanks to Ton Weijters, Boudewijn van Dongen, Ana Karla Alves de Medeiros, Anne Rozinat, Christian Günter, Eric Verbeek, Ronny Mans, Minseok Song, Laura Maruster, Huub de Beer, Peter van den Brand, Jan Mendling, Andriy Nikolov, Jianmin Wang, Lijie Wen,

Irene Vanderfeesten, Mariska Netjes, Steffi Rinderle, Walid Gaaloul, Gianluigi Greco, Antonella Guzzo, Maja Pesic, etc. etc.

Page 42: DecSerFlow Towards a Truly Declarative Service Flow Language Wil van der Aalst & Maja Pesic Eindhoven University of Technology, P.O. Box 513, 5600 MB Eindhoven,

Overview: Process mining

web servicesservice flow

processmodel

eventlogs

specifies global model

discovery

records events, e.g.,

via SOAP messages

specifies/implements local model

supports/controls

extension

conformance

Page 43: DecSerFlow Towards a Truly Declarative Service Flow Language Wil van der Aalst & Maja Pesic Eindhoven University of Technology, P.O. Box 513, 5600 MB Eindhoven,

Discovery

• Based on an event log a model is constructed without a-priori information.

• Not just the control-flow, cf. the social network miner.

• ProM examples: alpha algorithm, heuristics miner, multi-phase miner, genetic miner, etc.

web servicesservice flow

processmodel

eventlogs

specifies global model

discovery

records events, e.g.,

via SOAP messages

specifies/implements local model

supports/controls

extension

conformance

DecSerFlow

Page 44: DecSerFlow Towards a Truly Declarative Service Flow Language Wil van der Aalst & Maja Pesic Eindhoven University of Technology, P.O. Box 513, 5600 MB Eindhoven,

Alpha miner

Page 45: DecSerFlow Towards a Truly Declarative Service Flow Language Wil van der Aalst & Maja Pesic Eindhoven University of Technology, P.O. Box 513, 5600 MB Eindhoven,

Other examples

Export to CPN Tools, PNML, ARIS, EPC Tools, YAWL, Netminer, etc.

Page 46: DecSerFlow Towards a Truly Declarative Service Flow Language Wil van der Aalst & Maja Pesic Eindhoven University of Technology, P.O. Box 513, 5600 MB Eindhoven,

Conformance

• The log is compare with some a-priori model, the model can be a Petri net, EPC, data model, logical/temporal property, etc.

• ProM examples: conformance checker and LTL checker

web servicesservice flow

processmodel

eventlogs

specifies global model

discovery

records events, e.g.,

via SOAP messages

specifies/implements local model

supports/controls

extension

conformance

DecSerFlow

Page 47: DecSerFlow Towards a Truly Declarative Service Flow Language Wil van der Aalst & Maja Pesic Eindhoven University of Technology, P.O. Box 513, 5600 MB Eindhoven,

Examples

Page 48: DecSerFlow Towards a Truly Declarative Service Flow Language Wil van der Aalst & Maja Pesic Eindhoven University of Technology, P.O. Box 513, 5600 MB Eindhoven,

Extension

• An existing model is enriched with additional knowledge extracted from log.

• ProM examples: decision miner, staff assignment miner, performance analyzer, etc.

web servicesservice flow

processmodel

eventlogs

specifies global model

discovery

records events, e.g.,

via SOAP messages

specifies/implements local model

supports/controls

extension

conformanceDecSerFlow

Page 49: DecSerFlow Towards a Truly Declarative Service Flow Language Wil van der Aalst & Maja Pesic Eindhoven University of Technology, P.O. Box 513, 5600 MB Eindhoven,

Examples

Export to CPN Tools!

Page 50: DecSerFlow Towards a Truly Declarative Service Flow Language Wil van der Aalst & Maja Pesic Eindhoven University of Technology, P.O. Box 513, 5600 MB Eindhoven,

Conformancein webservices in a classical setting(abstract BPEL + SOAP messages)

<receive …createInstance=”YES”><correlations/></receive>

<invoke …inputVariable = …outputVariable = ...><correlations/></invoke>

<invoke …inputVariable = … ><correlations/></invoke>

<receive …variable = … ><correlations/></receive>

(MT,PI)

<reply … >variable = …</receive>

abst

ract

BP

EL

SO

AP

Mes

sage

s

SO

AP

Mon

itor/

Cor

rela

tor

(MT,PI)(MT,PI)(MT,PI)(MT,PI)(MT,PI)

...

Event log

A

E

G

D

H I

J

K

M

L

C

B

G

F

(MT,PI)

(MT,PI)

(MT,PI)

Petri net

Conformance checking!

Info

rmat

ion

Sys

tem

Conformance?

Page 51: DecSerFlow Towards a Truly Declarative Service Flow Language Wil van der Aalst & Maja Pesic Eindhoven University of Technology, P.O. Box 513, 5600 MB Eindhoven,

Conclusion

• Classical approaches:– BPEL2PN: mainly for analysis purposes. – PN2BPEL: also as an example for BPMN2BPEL, etc.

• DecSerFlow– Graphical notation, LTL semantics, extendible.– Linked to YAWL and ProM.

• Similar to ConDec aiming at supporting autonomous (groups of) workers.

• Interesting links between groupwork and services.

Page 52: DecSerFlow Towards a Truly Declarative Service Flow Language Wil van der Aalst & Maja Pesic Eindhoven University of Technology, P.O. Box 513, 5600 MB Eindhoven,

Relevant WWW sites

• http://www.processmining.org

• http:// promimport.sourceforge.net

• http://prom.sourceforge.net

• http://www.workflowpatterns.com

• http://www.workflowcourse.com

• http://is.tm.tue.nl/

• http://is.tm.tue.nl/staff/wvdaalst