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.
A Feature-Complete Petri Net A Feature-Complete Petri Net Semantics for WS-BPEL 2.0
1. 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
nlohmann@informatik.hu-berlin.de
2. WS-BPEL
A Feature-Complete Petri Net Semantics for WS-BPEL 2.0
Web Service Business Process Execution Language
Language to describe business processes
implemented as Web services
Described as XML document
ea
<process name="example">
n?
<sequence>
his m
st
<receive partnerLink="p1" />
td oe
<invoke partnerLink="p2" />
<reply partnerLink="p1" />
W ha
</sequence>
</process>
2
3. Petri Net Semantics for WS-BPEL
A Feature-Complete Petri Net Semantics for WS-BPEL 2.0
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
3
4. Example: <receive> Activity
initial
A Feature-Complete Petri Net Semantics for WS-BPEL 2.0
stop
t4
channel
x
t1
x
running x
t5
x x
x variable
v
t2 y
stopped
t3 faulted t6
faultName
t7
failed
final
4
5. Example: <flow> Activity
A Feature-Complete Petri Net Semantics for WS-BPEL 2.0
initial
stop
t1 t3
running t4
A B
t5
sync
stopped
t6
final 5
6. New Features of WS-BPEL 2.0
A Feature-Complete Petri Net Semantics for 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, ...
6
7. Implementation
A Feature-Complete Petri Net Semantics for WS-BPEL 2.0
BPEL2oWFN
meta model Petri net model
Abstract Petri Net
Syntax Tree API
BPEL process Petri net
Control/Data Pattern
Input Formats: Flow Graph Repository Output Formats:
WS-BPEL 2.0 Fiona oWFN
static analysis pattern selection
BPEL4WS 1.1 LoLA
Abstract WS-BPEL 2.0 PNML
BPEL4Chor INA, PEP, SPIN
WSDL 1.1 …
http://www.gnu.org/software/bpel2owfn
7
8. Applications of the Semantics (1)
A Feature-Complete Petri Net Semantics for WS-BPEL 2.0
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
8
9. Tools4BPEL Tool Chain (1)
A Feature-Complete Petri Net Semantics for WS-BPEL 2.0
BPEL2oWFN
WS-BPEL Petri Net
Process Model
LoLA2BPEL LoLA
Witness
Path
9
10. Applications of the Semantics (2)
A Feature-Complete Petri Net Semantics for WS-BPEL 2.0
Open workflow nets allow for…
Analysis of the open workflow net
Consistency
Controllability
Partner synthesis
…
Synthesis results can be re-translated to WS-BPEL
10
11. Tools4BPEL Tool Chain (2)
A Feature-Complete Petri Net Semantics for WS-BPEL 2.0
BPEL2oWFN
WS-BPEL oWFN
Process Model
oWFN2BPEL Fiona
Partner
oWFN
11
12. Summary (1)
A Feature-Complete Petri Net Semantics for WS-BPEL 2.0
Feature-complete semantics for WS-BPEL 2.0
and its predecessor specification
Simplified patterns for important constructs
Case study:
Old Semantics New Semantics
Places 410 242
Transitions 1,069 397
States 6,261,648 304,007
Compiler BPEL2oWFN
12
13. Summary (2)
A Feature-Complete Petri Net Semantics for WS-BPEL 2.0
Petri net semantics allows to formally analyze
WS-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 versions
WS-BPEL 2.1, WS-BPEL 3.0, WS-BPEL 4.0, …
13
14. Questions?
A Feature-Complete Petri Net Semantics for WS-BPEL 2.0
A FEATURE-
COMPLETE
PETRI NET
SEMANTICS
FOR
WS-BPEL 2.0
14