SlideShare ist ein Scribd-Unternehmen logo
1 von 18
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

Weitere ähnliche Inhalte

Mehr von Universitä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
 
service-technology.org — A tool family for correct
business processes and ser...
service-technology.org — A tool family for correct
business processes and ser...service-technology.org — A tool family for correct
business processes and ser...
service-technology.org — A tool family for correct
business processes and ser...Universität Rostock
 

Mehr von Universität Rostock (20)

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
 
service-technology.org — A tool family for correct
business processes and ser...
service-technology.org — A tool family for correct
business processes and ser...service-technology.org — A tool family for correct
business processes and ser...
service-technology.org — A tool family for correct
business processes and ser...
 
Tools4BPEL Tutorial
Tools4BPEL TutorialTools4BPEL Tutorial
Tools4BPEL Tutorial
 
Diagnosis of Open Workflow Nets
Diagnosis of Open Workflow NetsDiagnosis of Open Workflow Nets
Diagnosis of Open Workflow Nets
 
Analyzing Web Service Behavior
Analyzing Web Service BehaviorAnalyzing Web Service Behavior
Analyzing Web Service Behavior
 

Kürzlich hochgeladen

Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Nikki Chapple
 
React Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkReact Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkPixlogix Infotech
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...BookNet Canada
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Strongerpanagenda
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterMydbops
 
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical InfrastructureVarsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructureitnewsafrica
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationKnoldus Inc.
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPathCommunity
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...Jeffrey Haguewood
 
Landscape Catalogue 2024 Australia-1.pdf
Landscape Catalogue 2024 Australia-1.pdfLandscape Catalogue 2024 Australia-1.pdf
Landscape Catalogue 2024 Australia-1.pdfAarwolf Industries LLC
 
QCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesQCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesBernd Ruecker
 
A Glance At The Java Performance Toolbox
A Glance At The Java Performance ToolboxA Glance At The Java Performance Toolbox
A Glance At The Java Performance ToolboxAna-Maria Mihalceanu
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...Wes McKinney
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch TuesdayIvanti
 
All These Sophisticated Attacks, Can We Really Detect Them - PDF
All These Sophisticated Attacks, Can We Really Detect Them - PDFAll These Sophisticated Attacks, Can We Really Detect Them - PDF
All These Sophisticated Attacks, Can We Really Detect Them - PDFMichael Gough
 

Kürzlich hochgeladen (20)

Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
 
React Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkReact Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App Framework
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL Router
 
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical InfrastructureVarsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog Presentation
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to Hero
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
 
Landscape Catalogue 2024 Australia-1.pdf
Landscape Catalogue 2024 Australia-1.pdfLandscape Catalogue 2024 Australia-1.pdf
Landscape Catalogue 2024 Australia-1.pdf
 
QCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesQCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architectures
 
A Glance At The Java Performance Toolbox
A Glance At The Java Performance ToolboxA Glance At The Java Performance Toolbox
A Glance At The Java Performance Toolbox
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch Tuesday
 
All These Sophisticated Attacks, Can We Really Detect Them - PDF
All These Sophisticated Attacks, Can We Really Detect Them - PDFAll These Sophisticated Attacks, Can We Really Detect Them - PDF
All These Sophisticated Attacks, Can We Really Detect Them - PDF
 

Analyzing BPEL4Chor: Verification and Participant Synthesis

  • 1.
  • 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