SlideShare a Scribd company logo
Analyzing BPEL4Chor: Verification and Participant Synthesis
BPEL




                                                   Analyzing BPEL4Chor - Verification and Partner Synthesis
  designed to describe a service orchestration
  … respectively a single service
  invoked services’ behaviors are not described




  BPEL
      processes can be automatically analyzed
  (BPM 2006; project Tools4BPEL)
                                                                   2
BPEL4Chor




                                                          Analyzing BPEL4Chor - Verification and Partner Synthesis
   extension    to describe choreographies




     behaviors              topology          grounding
                                                                          3
An Example Choreography




                                                            Analyzing BPEL4Chor - Verification and Partner Synthesis
   taken   from the paper introducing BPEL4Chor




   one   traveler, one agency, several airline instances
                                                                         4
Analyzing BPEL4Chor - Verification and Partner Synthesis
                                                          5
Analyzing BPEL4Chor Choreographies




                                                         Analyzing BPEL4Chor - Verification and Partner Synthesis
   “Classical”  properties:
      deadlock-freedom, livelock-freedom,
       no dead activities (a.k.a. Soundness)
   Messages:
      Does there exist a state in which more than one
       message is pending on a communication channel?
      What is the minimal/maximal number of messages
       to be sent to reach a final state?
   Behavior:
      Will a participant always receive an answer?
      Can a participant enforce the execution of an
       activity?
                                                                       6
Translating BPEL4Chor into a Petri Net




                                                                Analyzing BPEL4Chor - Verification and Partner Synthesis
   Extend   compiler BPEL2oWFN



                                BPEL2oWFN

                               Static Analysis
   BPEL processes                Translation
                                Instantiation
                                Composition
                            Structural Reduction
                                                    Petri net



      topology


   BPEL4Chor       requires instantiation and composition
                                                                                 7
Instantiation




                                                                         Analyzing BPEL4Chor - Verification and Partner Synthesis
                                                               …
   example      for two airline instances
                                                               t1



                      …
                                                   trip
<receive  wsu:id="ReceiveTripOrder"  />
                            price.1
<forEach  wsu:id="fe_RequestPrice„                        t2   t3   price.2
                  parallel="yes">
    <scope>
                                                        quote.1
        <sequence>
            <invoke  wsu:id="RequestPrice"  />
           t4   t5   quote.2
            <receive  wsu:id="ReceiveQuote"  />
        </sequence>
    </scope>
                                                               t6
</forEach>
                                                                    order.1
<opaqueActivity  name="SelectAirline"  />
<invoke  wsu:id="OrderTickets"  />
                       t7   t8   order.2
                      …




                                                               …
                                                                                        8
Composition




                                                            Analyzing BPEL4Chor - Verification and Partner Synthesis
   each service is translated into an open workflow net
    with an interface
   open workflow nets can be composed




   resulting   net has no interface (standard Petri net)
                                                                          9
Analysis Result




                                                         Analyzing BPEL4Chor - Verification and Partner Synthesis
   Choreography   can deadlock!




   each participant is correct (controllable, sound…)
   deadlock very subtle!
                                                              10
Case Study
                                airline instances




                                                                    Analyzing BPEL4Chor - Verification and Partner Synthesis
                 1         5           10           100     1000
   places        20       63          113       1013       10013
   transitions   10       41           76           706     7006
   states       14      3483       9806583                  
                                                    exponential
   states       14       561        378096         growth 
   states       11       86          261      18061      1752867
   states       11       30           50           410     4010

  complete/unreduced                            linear
  symmetry reduction                          growth 
  partial order reduction
  symmetry reduction and partial order reduction
  out of memory (>2 GB)
                                                                             11
Analyzing BPEL4Chor - Verification and Partner Synthesis
                                                          12
Partner Synthesis




                                                         Analyzing BPEL4Chor - Verification and Partner Synthesis
   new setting: design phase of choreography
   one participant description is missing




   goal:   synthesize missing participant description
                                                                 13
Translation




                                              Analyzing BPEL4Chor - Verification and Partner Synthesis
   incomplete
            choreography is translated with
   BPEL2oWFN




   translationyields an open workflow net
   with interface to missing participant
                                                  14
Partner Synthesis (1)




                                                                                Analyzing BPEL4Chor - Verification and Partner Synthesis
                                     Fiona


                                Partner synthesis


        open workflow net                               open workflow net
    (incomplete choreography)                       (synthesized participant)



   Fiona can synthesize a partner if one exists
   partner is correct by design
   partner’s behavior is based on communication
      no internal behavior is synthesized
      order of messages is as relaxed as possible
                                                                                        15
Partner Synthesis (2)




                                                                             Analyzing BPEL4Chor - Verification and Partner Synthesis
                                 oWFN2BPEL


                                 Retranslation


        open workflow net                          abstract BPEL process
     (synthesized participant)                   (synthesized participant)


   partner’s    behavior can be described using BPEL

   derived    BPEL process is abstract

   has   to be refined to an executable process
                                                                                  16
Limits of the Partner Synthesis




                                                               Analyzing BPEL4Chor - Verification and Partner Synthesis
   can   only synthesize one partner:
      If more than one airline instance is synthesized, the
       generated partners explicitly synchronize.
      airline instances would communicate timeouts:
       one instance would be forced to wait for a message
      can be a starting point for diagnosis


   causalitiesof messages might be ignored
      order and invoice messages might be concurrent
      can be fixed using constraints


                                                                      17
Take-home Points




                                                        Analyzing BPEL4Chor - Verification and Partner Synthesis
   BPEL4Chor  choreographies can be analyzed
     … to find very subtle errors
     … even with thousands of participants
     … automatically using the proposed tool chain


   BPEL4Chor  choreographies can be completed
     … by synthesizing the missing participant
     … to guarantee a deadlock-free choreography
     ... automatically using the proposed tool chain


                   Thank you very much!
                                                               18

More Related Content

PDF
Hyperledger 구조 분석
PDF
Effective Go
PDF
BPEL Conformance in Open Source Engines
PDF
Web Service Choreography Configurations for BPMN
PDF
Tools4BPEL4Chor
PDF
A Feature-Complete Petri Net Semantics for WS-BPEL 2.0
PDF
Analyzing Interacting BPEL Processes
PDF
A Feature-Complete Petri Net A Feature-Complete Petri Net Semantics for WS-BP...
Hyperledger 구조 분석
Effective Go
BPEL Conformance in Open Source Engines
Web Service Choreography Configurations for BPMN
Tools4BPEL4Chor
A Feature-Complete Petri Net Semantics for WS-BPEL 2.0
Analyzing Interacting BPEL Processes
A Feature-Complete Petri Net A Feature-Complete Petri Net Semantics for WS-BP...

More from Universität Rostock (20)

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

Recently uploaded (20)

PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PPTX
sap open course for s4hana steps from ECC to s4
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PPTX
Cloud computing and distributed systems.
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
Electronic commerce courselecture one. Pdf
PDF
KodekX | Application Modernization Development
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PDF
Machine learning based COVID-19 study performance prediction
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Mobile App Security Testing_ A Comprehensive Guide.pdf
sap open course for s4hana steps from ECC to s4
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
Cloud computing and distributed systems.
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
The AUB Centre for AI in Media Proposal.docx
Reach Out and Touch Someone: Haptics and Empathic Computing
Electronic commerce courselecture one. Pdf
KodekX | Application Modernization Development
NewMind AI Weekly Chronicles - August'25 Week I
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
Machine learning based COVID-19 study performance prediction
Digital-Transformation-Roadmap-for-Companies.pptx
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Chapter 3 Spatial Domain Image Processing.pdf
Advanced methodologies resolving dimensionality complications for autism neur...
Review of recent advances in non-invasive hemoglobin estimation
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
Per capita expenditure prediction using model stacking based on satellite ima...
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Ad

Analyzing BPEL4Chor: Verification and Participant Synthesis

  • 2. BPEL Analyzing BPEL4Chor - Verification and Partner Synthesis   designed to describe a service orchestration   … respectively a single service   invoked services’ behaviors are not described   BPEL processes can be automatically analyzed (BPM 2006; project Tools4BPEL) 2
  • 3. BPEL4Chor Analyzing BPEL4Chor - Verification and Partner Synthesis   extension to describe choreographies behaviors topology grounding 3
  • 4. An Example Choreography Analyzing BPEL4Chor - Verification and Partner Synthesis   taken from the paper introducing BPEL4Chor   one traveler, one agency, several airline instances 4
  • 5. Analyzing BPEL4Chor - Verification and Partner Synthesis 5
  • 6. Analyzing BPEL4Chor Choreographies Analyzing BPEL4Chor - Verification and Partner Synthesis   “Classical” properties:   deadlock-freedom, livelock-freedom, no dead activities (a.k.a. Soundness)   Messages:   Does there exist a state in which more than one message is pending on a communication channel?   What is the minimal/maximal number of messages to be sent to reach a final state?   Behavior:   Will a participant always receive an answer?   Can a participant enforce the execution of an activity? 6
  • 7. Translating BPEL4Chor into a Petri Net Analyzing BPEL4Chor - Verification and Partner Synthesis   Extend compiler BPEL2oWFN BPEL2oWFN Static Analysis BPEL processes Translation Instantiation Composition Structural Reduction Petri net topology   BPEL4Chor requires instantiation and composition 7
  • 8. Instantiation Analyzing BPEL4Chor - Verification and Partner Synthesis …   example for two airline instances t1 … trip <receive  wsu:id="ReceiveTripOrder"  /> price.1 <forEach  wsu:id="fe_RequestPrice„   t2 t3 price.2                  parallel="yes">    <scope> quote.1        <sequence>            <invoke  wsu:id="RequestPrice"  /> t4 t5 quote.2            <receive  wsu:id="ReceiveQuote"  />        </sequence>    </scope> t6 </forEach> order.1 <opaqueActivity  name="SelectAirline"  /> <invoke  wsu:id="OrderTickets"  /> t7 t8 order.2 … … 8
  • 9. Composition Analyzing BPEL4Chor - Verification and Partner Synthesis   each service is translated into an open workflow net with an interface   open workflow nets can be composed   resulting net has no interface (standard Petri net) 9
  • 10. Analysis Result Analyzing BPEL4Chor - Verification and Partner Synthesis   Choreography can deadlock!   each participant is correct (controllable, sound…)   deadlock very subtle! 10
  • 11. Case Study airline instances Analyzing BPEL4Chor - Verification and Partner Synthesis 1 5 10 100 1000 places 20 63 113 1013 10013 transitions 10 41 76 706 7006 states  14 3483 9806583   exponential states  14 561 378096 growth  states  11 86 261 18061 1752867 states  11 30 50 410 4010  complete/unreduced linear  symmetry reduction growth   partial order reduction  symmetry reduction and partial order reduction  out of memory (>2 GB) 11
  • 12. Analyzing BPEL4Chor - Verification and Partner Synthesis 12
  • 13. Partner Synthesis Analyzing BPEL4Chor - Verification and Partner Synthesis   new setting: design phase of choreography   one participant description is missing   goal: synthesize missing participant description 13
  • 14. Translation Analyzing BPEL4Chor - Verification and Partner Synthesis   incomplete choreography is translated with BPEL2oWFN   translationyields an open workflow net with interface to missing participant 14
  • 15. Partner Synthesis (1) Analyzing BPEL4Chor - Verification and Partner Synthesis Fiona Partner synthesis open workflow net open workflow net (incomplete choreography) (synthesized participant)   Fiona can synthesize a partner if one exists   partner is correct by design   partner’s behavior is based on communication   no internal behavior is synthesized   order of messages is as relaxed as possible 15
  • 16. Partner Synthesis (2) Analyzing BPEL4Chor - Verification and Partner Synthesis oWFN2BPEL Retranslation open workflow net abstract BPEL process (synthesized participant) (synthesized participant)   partner’s behavior can be described using BPEL   derived BPEL process is abstract   has to be refined to an executable process 16
  • 17. Limits of the Partner Synthesis Analyzing BPEL4Chor - Verification and Partner Synthesis   can only synthesize one partner:   If more than one airline instance is synthesized, the generated partners explicitly synchronize.   airline instances would communicate timeouts: one instance would be forced to wait for a message   can be a starting point for diagnosis   causalitiesof messages might be ignored   order and invoice messages might be concurrent   can be fixed using constraints 17
  • 18. Take-home Points Analyzing BPEL4Chor - Verification and Partner Synthesis   BPEL4Chor choreographies can be analyzed   … to find very subtle errors   … even with thousands of participants   … automatically using the proposed tool chain   BPEL4Chor choreographies can be completed   … by synthesizing the missing participant   … to guarantee a deadlock-free choreography   ... automatically using the proposed tool chain Thank you very much! 18