SlideShare a Scribd company logo
1 of 14
Download to read offline
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
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
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
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
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
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
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
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
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
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
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
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
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
Questions?




                           A Feature-Complete Petri Net Semantics for WS-BPEL 2.0
             A FEATURE-
              COMPLETE
              PETRI NET
             SEMANTICS
                 FOR
             WS-BPEL 2.0




                                 14

More Related Content

What's hot

Understanding stp-rstp-convergence
Understanding stp-rstp-convergenceUnderstanding stp-rstp-convergence
Understanding stp-rstp-convergenceHazhir Yadegari
 
A High Speed Pipelined Dynamic Circuit Implementation Using Modified TSPC Log...
A High Speed Pipelined Dynamic Circuit Implementation Using Modified TSPC Log...A High Speed Pipelined Dynamic Circuit Implementation Using Modified TSPC Log...
A High Speed Pipelined Dynamic Circuit Implementation Using Modified TSPC Log...IDES Editor
 
Difference b/w STP RSTP PVST & MSTP
Difference b/w STP RSTP PVST & MSTPDifference b/w STP RSTP PVST & MSTP
Difference b/w STP RSTP PVST & MSTPNetwax Lab
 
Lecture 05 NOP and Stack Group of Instructions
Lecture 05 NOP and Stack Group of InstructionsLecture 05 NOP and Stack Group of Instructions
Lecture 05 NOP and Stack Group of InstructionsZeeshan Ahmed
 
Aumentando a eficiência do Web Container usando chamadas Assíncronas
Aumentando a eficiência do Web Container usando chamadas Assíncronas Aumentando a eficiência do Web Container usando chamadas Assíncronas
Aumentando a eficiência do Web Container usando chamadas Assíncronas Rafael T. C. Soares (tuelho)
 
1 Vampir Overview
1 Vampir Overview1 Vampir Overview
1 Vampir OverviewPTIHPA
 
Log Visualization - Bellua BCS 2006
Log Visualization - Bellua BCS 2006Log Visualization - Bellua BCS 2006
Log Visualization - Bellua BCS 2006Raffael Marty
 
XMPP - Introduction And LAS Implementation (Presentation)
XMPP - Introduction And LAS  Implementation (Presentation)XMPP - Introduction And LAS  Implementation (Presentation)
XMPP - Introduction And LAS Implementation (Presentation)Ralf Klamma
 
rails_best practices_rubykaigi
rails_best practices_rubykaigirails_best practices_rubykaigi
rails_best practices_rubykaigiRichard Huang
 

What's hot (10)

Understanding stp-rstp-convergence
Understanding stp-rstp-convergenceUnderstanding stp-rstp-convergence
Understanding stp-rstp-convergence
 
A High Speed Pipelined Dynamic Circuit Implementation Using Modified TSPC Log...
A High Speed Pipelined Dynamic Circuit Implementation Using Modified TSPC Log...A High Speed Pipelined Dynamic Circuit Implementation Using Modified TSPC Log...
A High Speed Pipelined Dynamic Circuit Implementation Using Modified TSPC Log...
 
Services
ServicesServices
Services
 
Difference b/w STP RSTP PVST & MSTP
Difference b/w STP RSTP PVST & MSTPDifference b/w STP RSTP PVST & MSTP
Difference b/w STP RSTP PVST & MSTP
 
Lecture 05 NOP and Stack Group of Instructions
Lecture 05 NOP and Stack Group of InstructionsLecture 05 NOP and Stack Group of Instructions
Lecture 05 NOP and Stack Group of Instructions
 
Aumentando a eficiência do Web Container usando chamadas Assíncronas
Aumentando a eficiência do Web Container usando chamadas Assíncronas Aumentando a eficiência do Web Container usando chamadas Assíncronas
Aumentando a eficiência do Web Container usando chamadas Assíncronas
 
1 Vampir Overview
1 Vampir Overview1 Vampir Overview
1 Vampir Overview
 
Log Visualization - Bellua BCS 2006
Log Visualization - Bellua BCS 2006Log Visualization - Bellua BCS 2006
Log Visualization - Bellua BCS 2006
 
XMPP - Introduction And LAS Implementation (Presentation)
XMPP - Introduction And LAS  Implementation (Presentation)XMPP - Introduction And LAS  Implementation (Presentation)
XMPP - Introduction And LAS Implementation (Presentation)
 
rails_best practices_rubykaigi
rails_best practices_rubykaigirails_best practices_rubykaigi
rails_best practices_rubykaigi
 

Similar to A Feature-Complete Petri Net A Feature-Complete Petri Net Semantics for WS-BPEL 2.0

[Webinar Slides] Programming the Network Dataplane in P4
[Webinar Slides] Programming the Network Dataplane in P4[Webinar Slides] Programming the Network Dataplane in P4
[Webinar Slides] Programming the Network Dataplane in P4Open Networking Summits
 
Openflow overview
Openflow overviewOpenflow overview
Openflow overviewopenflowhub
 
Mexico 3070 user group meeting 2012 test coverage john
Mexico 3070 user group meeting 2012  test coverage johnMexico 3070 user group meeting 2012  test coverage john
Mexico 3070 user group meeting 2012 test coverage johnInterlatin
 
Web Service Composition mit WS-BPEL und dem Open-Source-Orchester
Web Service Composition mit WS-BPEL und dem Open-Source-OrchesterWeb Service Composition mit WS-BPEL und dem Open-Source-Orchester
Web Service Composition mit WS-BPEL und dem Open-Source-OrchesterTammo van Lessen
 
Open stack with_openflowsdn-torii
Open stack with_openflowsdn-toriiOpen stack with_openflowsdn-torii
Open stack with_openflowsdn-toriiHui Cheng
 
Unifying Network Filtering Rules for the Linux Kernel with eBPF
Unifying Network Filtering Rules for the Linux Kernel with eBPFUnifying Network Filtering Rules for the Linux Kernel with eBPF
Unifying Network Filtering Rules for the Linux Kernel with eBPFNetronome
 
VPX Profiles To Platforms, SIE Computing Solutions
VPX Profiles To Platforms, SIE Computing SolutionsVPX Profiles To Platforms, SIE Computing Solutions
VPX Profiles To Platforms, SIE Computing Solutionsjillmcolna
 
PEGASE – a robust and efficient tool for worst-case network traversal time ev...
PEGASE – a robust and efficient tool for worst-case network traversal time ev...PEGASE – a robust and efficient tool for worst-case network traversal time ev...
PEGASE – a robust and efficient tool for worst-case network traversal time ev...RealTime-at-Work (RTaW)
 
2015 FOSDEM - OVS Stateful Services
2015 FOSDEM - OVS Stateful Services2015 FOSDEM - OVS Stateful Services
2015 FOSDEM - OVS Stateful ServicesThomas Graf
 
Config Lab L2 EtherChannel 2 Both layer 2 EtherChannel and layer 3 Eth.pdf
Config Lab L2 EtherChannel 2 Both layer 2 EtherChannel and layer 3 Eth.pdfConfig Lab L2 EtherChannel 2 Both layer 2 EtherChannel and layer 3 Eth.pdf
Config Lab L2 EtherChannel 2 Both layer 2 EtherChannel and layer 3 Eth.pdf21stcenturyjammu21
 
0.5mln packets per second with Erlang
0.5mln packets per second with Erlang0.5mln packets per second with Erlang
0.5mln packets per second with ErlangMaxim Kharchenko
 
(Open) MPI, Parallel Computing, Life, the Universe, and Everything
(Open) MPI, Parallel Computing, Life, the Universe, and Everything(Open) MPI, Parallel Computing, Life, the Universe, and Everything
(Open) MPI, Parallel Computing, Life, the Universe, and EverythingJeff Squyres
 
CCNxCon2012: Session 5: A Distributed PIT Table
CCNxCon2012: Session 5: A Distributed PIT TableCCNxCon2012: Session 5: A Distributed PIT Table
CCNxCon2012: Session 5: A Distributed PIT TablePARC, a Xerox company
 
Berkeley Packet Filters
Berkeley Packet FiltersBerkeley Packet Filters
Berkeley Packet FiltersKernel TLV
 
Analyzing Interacting BPEL Processes - A Tool Demo
Analyzing Interacting BPEL Processes - A Tool DemoAnalyzing Interacting BPEL Processes - A Tool Demo
Analyzing Interacting BPEL Processes - A Tool DemoUniversität Rostock
 

Similar to A Feature-Complete Petri Net A Feature-Complete Petri Net Semantics for WS-BPEL 2.0 (20)

Tools4BPEL4Chor
Tools4BPEL4ChorTools4BPEL4Chor
Tools4BPEL4Chor
 
DAC 2012
DAC 2012DAC 2012
DAC 2012
 
[Webinar Slides] Programming the Network Dataplane in P4
[Webinar Slides] Programming the Network Dataplane in P4[Webinar Slides] Programming the Network Dataplane in P4
[Webinar Slides] Programming the Network Dataplane in P4
 
Openflow overview
Openflow overviewOpenflow overview
Openflow overview
 
Mexico 3070 user group meeting 2012 test coverage john
Mexico 3070 user group meeting 2012  test coverage johnMexico 3070 user group meeting 2012  test coverage john
Mexico 3070 user group meeting 2012 test coverage john
 
8051 tutorial
8051 tutorial8051 tutorial
8051 tutorial
 
Web Service Composition mit WS-BPEL und dem Open-Source-Orchester
Web Service Composition mit WS-BPEL und dem Open-Source-OrchesterWeb Service Composition mit WS-BPEL und dem Open-Source-Orchester
Web Service Composition mit WS-BPEL und dem Open-Source-Orchester
 
Open stack with_openflowsdn-torii
Open stack with_openflowsdn-toriiOpen stack with_openflowsdn-torii
Open stack with_openflowsdn-torii
 
Unifying Network Filtering Rules for the Linux Kernel with eBPF
Unifying Network Filtering Rules for the Linux Kernel with eBPFUnifying Network Filtering Rules for the Linux Kernel with eBPF
Unifying Network Filtering Rules for the Linux Kernel with eBPF
 
VPX Profiles To Platforms, SIE Computing Solutions
VPX Profiles To Platforms, SIE Computing SolutionsVPX Profiles To Platforms, SIE Computing Solutions
VPX Profiles To Platforms, SIE Computing Solutions
 
PEGASE – a robust and efficient tool for worst-case network traversal time ev...
PEGASE – a robust and efficient tool for worst-case network traversal time ev...PEGASE – a robust and efficient tool for worst-case network traversal time ev...
PEGASE – a robust and efficient tool for worst-case network traversal time ev...
 
2015 FOSDEM - OVS Stateful Services
2015 FOSDEM - OVS Stateful Services2015 FOSDEM - OVS Stateful Services
2015 FOSDEM - OVS Stateful Services
 
Config Lab L2 EtherChannel 2 Both layer 2 EtherChannel and layer 3 Eth.pdf
Config Lab L2 EtherChannel 2 Both layer 2 EtherChannel and layer 3 Eth.pdfConfig Lab L2 EtherChannel 2 Both layer 2 EtherChannel and layer 3 Eth.pdf
Config Lab L2 EtherChannel 2 Both layer 2 EtherChannel and layer 3 Eth.pdf
 
Multicore
MulticoreMulticore
Multicore
 
0.5mln packets per second with Erlang
0.5mln packets per second with Erlang0.5mln packets per second with Erlang
0.5mln packets per second with Erlang
 
Python
PythonPython
Python
 
(Open) MPI, Parallel Computing, Life, the Universe, and Everything
(Open) MPI, Parallel Computing, Life, the Universe, and Everything(Open) MPI, Parallel Computing, Life, the Universe, and Everything
(Open) MPI, Parallel Computing, Life, the Universe, and Everything
 
CCNxCon2012: Session 5: A Distributed PIT Table
CCNxCon2012: Session 5: A Distributed PIT TableCCNxCon2012: Session 5: A Distributed PIT Table
CCNxCon2012: Session 5: A Distributed PIT Table
 
Berkeley Packet Filters
Berkeley Packet FiltersBerkeley Packet Filters
Berkeley Packet Filters
 
Analyzing Interacting BPEL Processes - A Tool Demo
Analyzing Interacting BPEL Processes - A Tool DemoAnalyzing Interacting BPEL Processes - A Tool Demo
Analyzing Interacting BPEL Processes - A Tool Demo
 

More from Universität Rostock

Pragmatic model checking: from theory to implementations
Pragmatic model checking: from theory to implementationsPragmatic model checking: from theory to implementations
Pragmatic model checking: from theory to implementationsUniversität Rostock
 
Where did I go wrong? Explaining errors in process models
Where did I go wrong? Explaining errors in process modelsWhere did I go wrong? Explaining errors in process models
Where did I go wrong? Explaining errors in process modelsUniversität Rostock
 
Decidability Results for Choreography Realization
Decidability Results for Choreography RealizationDecidability Results for Choreography Realization
Decidability Results for Choreography RealizationUniversität Rostock
 
Artifact-centric modeling using BPMN
Artifact-centric modeling using BPMNArtifact-centric modeling using BPMN
Artifact-centric modeling using BPMNUniversität Rostock
 
Compliance by Design for Artifact-Centric Business Processes
Compliance by Design for Artifact-Centric Business ProcessesCompliance by Design for Artifact-Centric Business Processes
Compliance by Design for Artifact-Centric Business ProcessesUniversität Rostock
 
Verification with LoLA: 7 Implementation
Verification with LoLA: 7 ImplementationVerification with LoLA: 7 Implementation
Verification with LoLA: 7 ImplementationUniversität Rostock
 
Verification with LoLA: 6 Integrating LoLA
Verification with LoLA: 6 Integrating LoLAVerification with LoLA: 6 Integrating LoLA
Verification with LoLA: 6 Integrating LoLAUniversität Rostock
 
Verification with LoLA: 5 Case Studies
Verification with LoLA: 5 Case StudiesVerification with LoLA: 5 Case Studies
Verification with LoLA: 5 Case StudiesUniversität Rostock
 
Verification with LoLA: 4 Using LoLA
Verification with LoLA: 4 Using LoLAVerification with LoLA: 4 Using LoLA
Verification with LoLA: 4 Using LoLAUniversität Rostock
 
Verification with LoLA: 3 State Space Reduction
Verification with LoLA: 3 State Space ReductionVerification with LoLA: 3 State Space Reduction
Verification with LoLA: 3 State Space ReductionUniversität Rostock
 
Verification with LoLA: 2 The LoLA Input Language
Verification with LoLA: 2 The LoLA Input LanguageVerification with LoLA: 2 The LoLA Input Language
Verification with LoLA: 2 The LoLA Input LanguageUniversität Rostock
 
Internal Behavior Reduction for Services
Internal Behavior Reduction for ServicesInternal Behavior Reduction for Services
Internal Behavior Reduction for ServicesUniversität Rostock
 
Karsten Wolf @ Carl Adam Petri Memorial Symposium
Karsten Wolf @ Carl Adam Petri Memorial SymposiumKarsten Wolf @ Carl Adam Petri Memorial Symposium
Karsten Wolf @ Carl Adam Petri Memorial SymposiumUniversität Rostock
 
Implementation of an Interleaving Semantics for TLDA
Implementation of an Interleaving Semantics for TLDAImplementation of an Interleaving Semantics for TLDA
Implementation of an Interleaving Semantics for TLDAUniversität Rostock
 
Formale Fundierung und effizientere Implementierung der schrittbasierten TLDA...
Formale Fundierung und effizientere Implementierung der schrittbasierten TLDA...Formale Fundierung und effizientere Implementierung der schrittbasierten TLDA...
Formale Fundierung und effizientere Implementierung der schrittbasierten TLDA...Universität Rostock
 
Demonstration of BPEL2oWFN and Fiona
Demonstration of BPEL2oWFN and FionaDemonstration of BPEL2oWFN and Fiona
Demonstration of BPEL2oWFN and FionaUniversität Rostock
 

More from Universität Rostock (20)

Pragmatic model checking: from theory to implementations
Pragmatic model checking: from theory to implementationsPragmatic model checking: from theory to implementations
Pragmatic model checking: from theory to implementations
 
Where did I go wrong? Explaining errors in process models
Where did I go wrong? Explaining errors in process modelsWhere did I go wrong? Explaining errors in process models
Where did I go wrong? Explaining errors in process models
 
Decidability Results for Choreography Realization
Decidability Results for Choreography RealizationDecidability Results for Choreography Realization
Decidability Results for Choreography Realization
 
Artifact-centric modeling using BPMN
Artifact-centric modeling using BPMNArtifact-centric modeling using BPMN
Artifact-centric modeling using BPMN
 
Compliance by Design for Artifact-Centric Business Processes
Compliance by Design for Artifact-Centric Business ProcessesCompliance by Design for Artifact-Centric Business Processes
Compliance by Design for Artifact-Centric Business Processes
 
Verification with LoLA
Verification with LoLAVerification with LoLA
Verification with LoLA
 
Verification with LoLA: 7 Implementation
Verification with LoLA: 7 ImplementationVerification with LoLA: 7 Implementation
Verification with LoLA: 7 Implementation
 
Verification with LoLA: 6 Integrating LoLA
Verification with LoLA: 6 Integrating LoLAVerification with LoLA: 6 Integrating LoLA
Verification with LoLA: 6 Integrating LoLA
 
Verification with LoLA: 5 Case Studies
Verification with LoLA: 5 Case StudiesVerification with LoLA: 5 Case Studies
Verification with LoLA: 5 Case Studies
 
Verification with LoLA: 4 Using LoLA
Verification with LoLA: 4 Using LoLAVerification with LoLA: 4 Using LoLA
Verification with LoLA: 4 Using LoLA
 
Verification with LoLA: 3 State Space Reduction
Verification with LoLA: 3 State Space ReductionVerification with LoLA: 3 State Space Reduction
Verification with LoLA: 3 State Space Reduction
 
Verification with LoLA: 1 Basics
Verification with LoLA: 1 BasicsVerification with LoLA: 1 Basics
Verification with LoLA: 1 Basics
 
Verification with LoLA: 2 The LoLA Input Language
Verification with LoLA: 2 The LoLA Input LanguageVerification with LoLA: 2 The LoLA Input Language
Verification with LoLA: 2 The LoLA Input Language
 
Saarbruecken
SaarbrueckenSaarbruecken
Saarbruecken
 
Ws4 dsec talk @ Kickoff RS3
Ws4 dsec talk @ Kickoff RS3Ws4 dsec talk @ Kickoff RS3
Ws4 dsec talk @ Kickoff RS3
 
Internal Behavior Reduction for Services
Internal Behavior Reduction for ServicesInternal Behavior Reduction for Services
Internal Behavior Reduction for Services
 
Karsten Wolf @ Carl Adam Petri Memorial Symposium
Karsten Wolf @ Carl Adam Petri Memorial SymposiumKarsten Wolf @ Carl Adam Petri Memorial Symposium
Karsten Wolf @ Carl Adam Petri Memorial Symposium
 
Implementation of an Interleaving Semantics for TLDA
Implementation of an Interleaving Semantics for TLDAImplementation of an Interleaving Semantics for TLDA
Implementation of an Interleaving Semantics for TLDA
 
Formale Fundierung und effizientere Implementierung der schrittbasierten TLDA...
Formale Fundierung und effizientere Implementierung der schrittbasierten TLDA...Formale Fundierung und effizientere Implementierung der schrittbasierten TLDA...
Formale Fundierung und effizientere Implementierung der schrittbasierten TLDA...
 
Demonstration of BPEL2oWFN and Fiona
Demonstration of BPEL2oWFN and FionaDemonstration of BPEL2oWFN and Fiona
Demonstration of BPEL2oWFN and Fiona
 

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