SlideShare une entreprise Scribd logo
1  sur  16
Télécharger pour lire hors ligne
Wendy:
a tool to synthesize partners for services




Niels Lohmann and Daniela Weinberg
Correctness of services


• correctness notions like soundness
  only applicable to internal behavior

• need to consider communication via




                                                                           interface
                                                               interface
  interface                             partner                                        service
                                        service
• service is correct iff there exists a
  partner service such that
  composition is compatible
• compatible = deadlock/livelock free

• aka “controllability”

24.06.10   Wendy: a tool to synthesize partners for services                                     2
Controllability


• synthesized partner can be used
  in many scenarios
   – documentation
   – communication proxy




                                                                         interface

                                                                                     interface
   – choreography completion                                   partner                           service
   – service validation                                        service
   – adapter generation
   – process configuration
   – runtime migration
   –…

• Wendy automatically synthesizes such partners!

24.06.10   Wendy: a tool to synthesize partners for services                                               3
Formal model


                                                                    p1

• open net = Petri net                                                        offer
  + interface
  + final markings                                                  p2        reject


• asynchronous + synchronous                                                  accept
  communication
                                                               p3        p4

• final markings model
                                                                              invoice
  desired end states
                                                                         p5


24.06.10   Wendy: a tool to synthesize partners for services                            4
Formal model

                             p1                                                q1


                                                offer             offer


                             p2                 reject           reject        q2


                                                accept          accept


           p3                       p4                                    q3   q4


                                                invoice         invoice


                                    p5                                         q5

• composition = place fusion / transition fusion
24.06.10    Wendy: a tool to synthesize partners for services                       5
Formal model

                                                    p1                        q1



                                                                offer
                                                    p2                        q2
                                                               reject


                                                               accept
                                p3                         p4            q3   q4



                                                               invoice
                                                           p5                 q5

• compatibility = deadlock/livelock freedom + k-bounded interface
24.06.10   Wendy: a tool to synthesize partners for services                       6
Wendy




     service                                                         partner
     (open net)
                                                      Wendy         (automaton)



LoLA-like format                                                 LoLA-like format
 PNML dialect

                                              Petrify/Genet
                                                                     partner
                                                                     (open net)




  24.06.10   Wendy: a tool to synthesize partners for services                      7
Basic algorithm


                    p1
                                                          1. overapproximation:
                                       offer                 – serve the interface (send,
                                                               receive, synchronize)
                    p2                 reject                – observe net’s behavior

                                       accept
                                                          2. removal of bad nodes:
    p3                     p4
                                                             – remove nodes with deadlocks
                                                             – remove nodes with unreachable
                                       invoice                 final marking
                                                             – remove nodes with message
                           p5                                  bound violations


24.06.10   Wendy: a tool to synthesize partners for services                                   8
Basic algorithm


                    p1
                                                                               !invoice
                                                                   [p1]                       [p1, invoice]
                                       offer             ?reject       #offer             ?reject     #offer

                                                                   [p2]                       [p2, invoice]
                    p2                 reject                                !inv.
                                                                [p3, reject]               [p3, reject, invoice]
                                                                [p1, reject]                  [p1, invoice]
                                       accept                  [p4, accept]               [p4, accept, invoice]
                                                       ?accept
    p3                     p4                                      [p4]                       ?accept
                                                        !invoice
                                       invoice
                                                               [p4, invoice]
                                                                    [p5]
                           p5

                                   • observation: we store many small state spaces
24.06.10   Wendy: a tool to synthesize partners for services                                                       9
Experimental results
                           10000000

                                                                   Asynchronous Sequence
                                  1000000                          (academic)


                                  100000
   nodes of synthesized partner




                                                                                                           Philosophers
                                                                                                           (academic)
                                   10000

                                                                          BPEL Processes (industrial)
                                    1000




                                     100




                                      10                                                             Choreographies
                                                                                                     (academic)

                                       1
                                            1           10            100          1000   10000   100000     1000000   10000000

24.06.10                                                     reachable markings of analyzed open net
                                     Wendy: a tool to synthesize partners for services                                            10
Improvements

•    observation: we generate markings of the net again and again
•    idea: generate complete state space of net once and for all
•    advantage: compact storage + early detection of “bad” situations
•    “powered by LoLA”

• furthermore
   – exploiting regularities
   – more compact data structures
   – reimplementing “standard data types”

• compared to earlier implementation Fiona:
   – 5 to 70 times faster*
   – 2 to 50 times less memory consumption*

24.06.10   Wendy: a tool to synthesize partners for services            11
Reduction Rules

      • most-permissiveness is not always desired/necessary
      • reduction rules create smaller partners
         – no “sending in advance”
         – receive messages in single order
         – send whenever possible
         – only send if required (prefer receiving)


      ?x        !d              !c                         ?x                                  ?x        ?x


     !b    !d    !c           !c      !d ?x               !b    !d             !c             !b        !b
                       ?x

?x        ?y #z               ?x      !d             ?x        ?y         !c        !d   ?x        ?y        ?y
                       !c

?y        ?x          #z                            ?y         ?x         #z             ?y        ?x        ?x



     24.06.10         Wendy: a tool to synthesize partners for services                                           12
Operating guidelines

• finite characterization of all partners
                                                                             c∨d∨x
• most-permissive partner                                                 ?x    !d !c
  + Boolean formula
                                                                b∨c∨d         c∨x         d∨x
                                                                           ?x        !d
                                                               !b !d !c         !c          ?x
• more applications:
   – test case generation     x∨y                                     c        x∨z             d
                                  ?y                                       !?z  ?x
   – choreography correction   ?x                                    !c                   !d
   – service substitutability     y                                    x       z
   – public view generation       ?y                                 ?x       !?z
   – service brokerage (SOA)
                                                                     f inal
   –…


24.06.10   Wendy: a tool to synthesize partners for services                                       13
Integration

•    ProM 6
•    YAWL Editor
•    Oryx
•    service-technology.org/live
•    your tool!




24.06.10   Wendy: a tool to synthesize partners for services   14
Try Wendy!




• Download:                    http://service-­‐technology.org/wendy
• Online version: http://service-­‐technology.org/live/wendy
• Questions:                   wendy @ service-­‐technology.org
24.06.10   Wendy: a tool to synthesize partners for services           15
Take home points

Wendy…
• synthesizes partners for services
• can be used in many scenarios
• performs well on (our) case studies

Next…
• extend correctness criteria
• elaborate stubborn set reduction for state space
  (symbolic techniques?)
• improve reduction rules

                                                               Niels Lohmann
                                                               Universität Rostock
                                                               niels.lohmann@uni-rostock.de
24.06.10   Wendy: a tool to synthesize partners for services                                  16

Contenu connexe

En vedette

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
 
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
 
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
 
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
 
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
 
A Feature-Complete Petri Net Semantics for WS-BPEL 2.0
A Feature-Complete Petri Net Semantics for WS-BPEL 2.0A Feature-Complete Petri Net Semantics for WS-BPEL 2.0
A Feature-Complete Petri Net Semantics for WS-BPEL 2.0Universität Rostock
 
Analysis on demand? - Instantaneous Soundness Checking of Industrial Business...
Analysis on demand? - Instantaneous Soundness Checking of Industrial Business...Analysis on demand? - Instantaneous Soundness Checking of Industrial Business...
Analysis on demand? - Instantaneous Soundness Checking of Industrial Business...Universität Rostock
 
The Petri Net API - A collection of Petri net-related functions
The Petri Net API - A collection of Petri net-related functionsThe Petri Net API - A collection of Petri net-related functions
The Petri Net API - A collection of Petri net-related functionsUniversität Rostock
 
Correctness of services and their composition
Correctness of services and their compositionCorrectness of services and their composition
Correctness of services and their compositionUniversität Rostock
 
Operating Guidelines for Finite-State Services
Operating Guidelines for Finite-State ServicesOperating Guidelines for Finite-State Services
Operating Guidelines for Finite-State ServicesUniversität Rostock
 
El Reino de León
El Reino de León El Reino de León
El Reino de León Legio Sexta
 

En vedette (12)

Verification with LoLA: 6 Integrating LoLA
Verification with LoLA: 6 Integrating LoLAVerification with LoLA: 6 Integrating LoLA
Verification with LoLA: 6 Integrating LoLA
 
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
 
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
 
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
 
Verification with LoLA
Verification with LoLAVerification with LoLA
Verification with LoLA
 
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
 
A Feature-Complete Petri Net Semantics for WS-BPEL 2.0
A Feature-Complete Petri Net Semantics for WS-BPEL 2.0A Feature-Complete Petri Net Semantics for WS-BPEL 2.0
A Feature-Complete Petri Net Semantics for WS-BPEL 2.0
 
Analysis on demand? - Instantaneous Soundness Checking of Industrial Business...
Analysis on demand? - Instantaneous Soundness Checking of Industrial Business...Analysis on demand? - Instantaneous Soundness Checking of Industrial Business...
Analysis on demand? - Instantaneous Soundness Checking of Industrial Business...
 
The Petri Net API - A collection of Petri net-related functions
The Petri Net API - A collection of Petri net-related functionsThe Petri Net API - A collection of Petri net-related functions
The Petri Net API - A collection of Petri net-related functions
 
Correctness of services and their composition
Correctness of services and their compositionCorrectness of services and their composition
Correctness of services and their composition
 
Operating Guidelines for Finite-State Services
Operating Guidelines for Finite-State ServicesOperating Guidelines for Finite-State Services
Operating Guidelines for Finite-State Services
 
El Reino de León
El Reino de León El Reino de León
El Reino de León
 

Plus de Universitä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: 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
 
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
 
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
 
Modellierung eines verteilten Algorithmus
Modellierung eines verteilten AlgorithmusModellierung eines verteilten Algorithmus
Modellierung eines verteilten AlgorithmusUniversität Rostock
 
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
 
Analyzing Interacting BPEL Processes - An Overview of the Chair’s Work
Analyzing Interacting BPEL Processes - An Overview of the Chair’s WorkAnalyzing Interacting BPEL Processes - An Overview of the Chair’s Work
Analyzing Interacting BPEL Processes - An Overview of the Chair’s WorkUniversität Rostock
 
Reachability Analysis via Net Structure
Reachability Analysis via Net StructureReachability Analysis via Net Structure
Reachability Analysis via Net StructureUniversität Rostock
 

Plus de Universität Rostock (20)

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: 7 Implementation
Verification with LoLA: 7 ImplementationVerification with LoLA: 7 Implementation
Verification with LoLA: 7 Implementation
 
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
 
Saarbruecken
SaarbrueckenSaarbruecken
Saarbruecken
 
Ws4 dsec talk @ Kickoff RS3
Ws4 dsec talk @ Kickoff RS3Ws4 dsec talk @ Kickoff RS3
Ws4 dsec talk @ Kickoff RS3
 
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...
 
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
 
Modellierung eines verteilten Algorithmus
Modellierung eines verteilten AlgorithmusModellierung eines verteilten Algorithmus
Modellierung eines verteilten Algorithmus
 
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
 
Analyzing Interacting BPEL Processes - An Overview of the Chair’s Work
Analyzing Interacting BPEL Processes - An Overview of the Chair’s WorkAnalyzing Interacting BPEL Processes - An Overview of the Chair’s Work
Analyzing Interacting BPEL Processes - An Overview of the Chair’s Work
 
Reachability Analysis via Net Structure
Reachability Analysis via Net StructureReachability Analysis via Net Structure
Reachability Analysis via Net Structure
 

Wendy Synthesizes Partners

  • 1. Wendy: a tool to synthesize partners for services Niels Lohmann and Daniela Weinberg
  • 2. Correctness of services • correctness notions like soundness only applicable to internal behavior • need to consider communication via interface interface interface partner service service • service is correct iff there exists a partner service such that composition is compatible • compatible = deadlock/livelock free • aka “controllability” 24.06.10 Wendy: a tool to synthesize partners for services 2
  • 3. Controllability • synthesized partner can be used in many scenarios – documentation – communication proxy interface interface – choreography completion partner service – service validation service – adapter generation – process configuration – runtime migration –… • Wendy automatically synthesizes such partners! 24.06.10 Wendy: a tool to synthesize partners for services 3
  • 4. Formal model p1 • open net = Petri net offer + interface + final markings p2 reject • asynchronous + synchronous accept communication p3 p4 • final markings model invoice desired end states p5 24.06.10 Wendy: a tool to synthesize partners for services 4
  • 5. Formal model p1 q1 offer offer p2 reject reject q2 accept accept p3 p4 q3 q4 invoice invoice p5 q5 • composition = place fusion / transition fusion 24.06.10 Wendy: a tool to synthesize partners for services 5
  • 6. Formal model p1 q1 offer p2 q2 reject accept p3 p4 q3 q4 invoice p5 q5 • compatibility = deadlock/livelock freedom + k-bounded interface 24.06.10 Wendy: a tool to synthesize partners for services 6
  • 7. Wendy service partner (open net) Wendy (automaton) LoLA-like format LoLA-like format PNML dialect Petrify/Genet partner (open net) 24.06.10 Wendy: a tool to synthesize partners for services 7
  • 8. Basic algorithm p1 1. overapproximation: offer – serve the interface (send, receive, synchronize) p2 reject – observe net’s behavior accept 2. removal of bad nodes: p3 p4 – remove nodes with deadlocks – remove nodes with unreachable invoice final marking – remove nodes with message p5 bound violations 24.06.10 Wendy: a tool to synthesize partners for services 8
  • 9. Basic algorithm p1 !invoice [p1] [p1, invoice] offer ?reject #offer ?reject #offer [p2] [p2, invoice] p2 reject !inv. [p3, reject] [p3, reject, invoice] [p1, reject] [p1, invoice] accept [p4, accept] [p4, accept, invoice] ?accept p3 p4 [p4] ?accept !invoice invoice [p4, invoice] [p5] p5 • observation: we store many small state spaces 24.06.10 Wendy: a tool to synthesize partners for services 9
  • 10. Experimental results 10000000 Asynchronous Sequence 1000000 (academic) 100000 nodes of synthesized partner Philosophers (academic) 10000 BPEL Processes (industrial) 1000 100 10 Choreographies (academic) 1 1 10 100 1000 10000 100000 1000000 10000000 24.06.10 reachable markings of analyzed open net Wendy: a tool to synthesize partners for services 10
  • 11. Improvements • observation: we generate markings of the net again and again • idea: generate complete state space of net once and for all • advantage: compact storage + early detection of “bad” situations • “powered by LoLA” • furthermore – exploiting regularities – more compact data structures – reimplementing “standard data types” • compared to earlier implementation Fiona: – 5 to 70 times faster* – 2 to 50 times less memory consumption* 24.06.10 Wendy: a tool to synthesize partners for services 11
  • 12. Reduction Rules • most-permissiveness is not always desired/necessary • reduction rules create smaller partners – no “sending in advance” – receive messages in single order – send whenever possible – only send if required (prefer receiving) ?x !d !c ?x ?x ?x !b !d !c !c !d ?x !b !d !c !b !b ?x ?x ?y #z ?x !d ?x ?y !c !d ?x ?y ?y !c ?y ?x #z ?y ?x #z ?y ?x ?x 24.06.10 Wendy: a tool to synthesize partners for services 12
  • 13. Operating guidelines • finite characterization of all partners c∨d∨x • most-permissive partner ?x !d !c + Boolean formula b∨c∨d c∨x d∨x ?x !d !b !d !c !c ?x • more applications: – test case generation x∨y c x∨z d ?y !?z ?x – choreography correction ?x !c !d – service substitutability y x z – public view generation ?y ?x !?z – service brokerage (SOA) f inal –… 24.06.10 Wendy: a tool to synthesize partners for services 13
  • 14. Integration • ProM 6 • YAWL Editor • Oryx • service-technology.org/live • your tool! 24.06.10 Wendy: a tool to synthesize partners for services 14
  • 15. Try Wendy! • Download: http://service-­‐technology.org/wendy • Online version: http://service-­‐technology.org/live/wendy • Questions: wendy @ service-­‐technology.org 24.06.10 Wendy: a tool to synthesize partners for services 15
  • 16. Take home points Wendy… • synthesizes partners for services • can be used in many scenarios • performs well on (our) case studies Next… • extend correctness criteria • elaborate stubborn set reduction for state space (symbolic techniques?) • improve reduction rules Niels Lohmann Universität Rostock niels.lohmann@uni-rostock.de 24.06.10 Wendy: a tool to synthesize partners for services 16