a feature-complete petri net a feature-complete petri net semantics for ws-bpel 2.0
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
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]
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?
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
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
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
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, ...
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
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
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
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
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
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
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, …
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