a feature-complete petri net a feature-complete petri net semantics for ws-bpel 2.0

14
Workshop on Formal Aspects to Business Processes and Web Services Siedlce, 26 June 2007 Niels Lohmann [email protected] A Feature-Complete Petri Net Semantics for WS-BPEL 2.0 A Feature-Complete Petri Net Semantics for WS-BPEL 2.0 Workshop on Formal Aspects to Business Processes and Web Services Siedlce, 26 June 2007 Niels Lohmann [email protected]

Upload: universitaet-rostock

Post on 22-Apr-2015

1.124 views

Category:

Documents


0 download

DESCRIPTION

Workshop presentation given by Niels Lohmann on June 26, 2007 in Siedlce, Poland at the Formal Approaches to Business Processes and Web Services (FABPWS'07); part of ATPN 2007.

TRANSCRIPT

Page 1: A Feature-Complete Petri Net A Feature-Complete Petri Net Semantics for WS-BPEL 2.0

Workshop on Formal Aspects to Business Processes and Web ServicesSiedlce, 26 June 2007

Niels [email protected]

A Feature-Complete Petri NetSemantics for WS-BPEL 2.0

A Feature-Complete Petri NetSemantics for WS-BPEL 2.0

Workshop on Formal Aspects to Business Processes and Web ServicesSiedlce, 26 June 2007

Niels [email protected]

Page 2: A Feature-Complete Petri Net A Feature-Complete Petri Net Semantics for WS-BPEL 2.0

2

A Feature-C

omplete Petri N

et Semantics for W

S-BPEL 2.0

WS-BPEL

Web Service Business Process Execution Language

Language to describe business processes implemented as Web services

Described as XML document

<process name="example"><sequence>

<receive partnerLink="p1" /><invoke partnerLink="p2" /><reply partnerLink="p1" />

</sequence></process>What does this mean?

What does this mean?

Page 3: A Feature-Complete Petri Net A Feature-Complete Petri Net Semantics for WS-BPEL 2.0

3

A Feature-C

omplete Petri N

et Semantics for W

S-BPEL 2.0

Petri Net Semantics for WS-BPEL

Goal: a formal semantics for WS-BPEL

… to understand WS-BPEL

… to analyze WS-BPEL processes

Formal model: open workflow nets

workflow nets

+ interface

– structural constraints

= open workflow nets

Page 4: A Feature-Complete Petri Net A Feature-Complete Petri Net Semantics for WS-BPEL 2.0

4

A Feature-C

omplete Petri N

et Semantics for W

S-BPEL 2.0

Example: <receive> Activity

initial

running

final

stop

stopped

failed

faulted

channel

variable

t1

t2

t3

t4

t5

t6

t7

x

x

x

x

x

y

x

v

faultName

Page 5: A Feature-Complete Petri Net A Feature-Complete Petri Net Semantics for WS-BPEL 2.0

5

A Feature-C

omplete Petri N

et Semantics for W

S-BPEL 2.0

Example: <flow> Activity

A B

initial

final

stop

stopped

running

sync

t1 t3

t4

t5

t6

Page 6: A Feature-Complete Petri Net A Feature-Complete Petri Net Semantics for WS-BPEL 2.0

6

A Feature-C

omplete Petri N

et Semantics for W

S-BPEL 2.0

New Features of WS-BPEL 2.0

Semantic clarifications

What happens during compensation?

Syntactic sugar

<repeatUntil> activity, inline validation, …

Some new activities and features

<forEach> activity, termination handlers, ...

Page 7: A Feature-Complete Petri Net A Feature-Complete Petri Net Semantics for WS-BPEL 2.0

7

A Feature-C

omplete Petri N

et Semantics for W

S-BPEL 2.0

Implementation

BPEL2oWFN

Petri NetAPI

PatternRepository

Control/DataFlow Graph

AbstractSyntax Tree

meta model

static analysis pattern selection

Petri net model

BPEL process Petri net

Input Formats:

WS-BPEL 2.0BPEL4WS 1.1Abstract WS-BPEL 2.0BPEL4ChorWSDL 1.1

Output Formats:

Fiona oWFNLoLAPNMLINA, PEP, SPIN…

http://www.gnu.org/software/bpel2owfn

Page 8: A Feature-Complete Petri Net A Feature-Complete Petri Net Semantics for WS-BPEL 2.0

8

A Feature-C

omplete Petri N

et Semantics for W

S-BPEL 2.0

Applications of the Semantics (1)

Open workflow nets allow for…

Analysis of the inner of the oWFN (w/o interface)

Deadlock freedom

(relaxed) Soundness

Temporal logics

Analysis results can be mapped back to WS-BPEL

Page 9: A Feature-Complete Petri Net A Feature-Complete Petri Net Semantics for WS-BPEL 2.0

9

A Feature-C

omplete Petri N

et Semantics for W

S-BPEL 2.0

Tools4BPEL Tool Chain (1)

BPEL2oWFN

LoLALoLA2BPEL

WS-BPELProcess

Petri NetModel

WitnessPath

Page 10: A Feature-Complete Petri Net A Feature-Complete Petri Net Semantics for WS-BPEL 2.0

10

A Feature-C

omplete Petri N

et Semantics for W

S-BPEL 2.0

Applications of the Semantics (2)

Open workflow nets allow for…

Analysis of the open workflow net

Consistency

Controllability

Partner synthesis

Synthesis results can be re-translated to WS-BPEL

Page 11: A Feature-Complete Petri Net A Feature-Complete Petri Net Semantics for WS-BPEL 2.0

11

A Feature-C

omplete Petri N

et Semantics for W

S-BPEL 2.0

Tools4BPEL Tool Chain (2)

BPEL2oWFN

FionaoWFN2BPEL

WS-BPELProcess

oWFNModel

PartneroWFN

Page 12: A Feature-Complete Petri Net A Feature-Complete Petri Net Semantics for WS-BPEL 2.0

12

A Feature-C

omplete Petri N

et Semantics for W

S-BPEL 2.0

Summary (1)

Feature-complete semantics for WS-BPEL 2.0

and its predecessor specification

Simplified patterns for important constructs

Case study:

Compiler BPEL2oWFN

3971,069Transitions

304,0076,261,648States

242410Places

New SemanticsOld Semantics

Page 13: A Feature-Complete Petri Net A Feature-Complete Petri Net Semantics for WS-BPEL 2.0

13

A Feature-C

omplete Petri N

et Semantics for W

S-BPEL 2.0

Summary (2)

Petri net semantics allows to formally analyzeWS-BPEL processes

Analysis results can be re-translated into WS-BPEL

Complete tool chains help to “conceal” formal methods from the WS-BPEL designer

Danger: new semantics needed for future versionsWS-BPEL 2.1, WS-BPEL 3.0, WS-BPEL 4.0, …

Page 14: A Feature-Complete Petri Net A Feature-Complete Petri Net Semantics for WS-BPEL 2.0

14

A Feature-C

omplete Petri N

et Semantics for W

S-BPEL 2.0

Questions?

A FEATURE-COMPLETEPETRI NET

SEMANTICSFOR

WS-BPEL 2.0