SlideShare uma empresa Scribd logo
1 de 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

Mais conteúdo relacionado

Mais de 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
 

Mais de 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
 

Último

DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 

Último (20)

DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 

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