SlideShare a Scribd company logo
1 of 15
Motivation




                                                       From Public Views to Private Views - Correctness-by-Design for Services
        Service brokering fails in realizing SOA for
         inter-organizational business processes!

 Possible solution:
 !specify a choreography (e.g. BPEL4Chor)
 !serves as a contract for all parties involved


 Challenge:                                 A

                                     B            C
                                                                           2
Research Goal




                                                          From Public Views to Private Views - Correctness-by-Design for Services
 ! develop   formal foundation for contracts
   !   a local correctness criterion !
   !   decision algorithm !
   !   transformation rules to derive a
       correct private view from public view

 ! verify correctness of existing approaches
   (e.g., Abstract BPEL Profiles, BPEL4Chor)       today

 ! improve    approaches used in practice
   !   formulate BPEL code transformation rules
   !   collect anti-patterns
                                                                                3
Step 1: Specification




                                                                                                           From Public Views to Private Views - Correctness-by-Design for Services
 A contract is                traveler                 agency                              airline

                         p1               trip         p6                                            p13
 ! a closed system                       order
                         a                                            f
   (no external          p2                            p7
   interface)                             flight                                  flight
                                         details                                  order
                              b                        g                                             m
 ! bilateral
                              p3                       p8                     confirm                p14
   communication                         invoice
                                                                               order
                              c                    h                                           n
                                                                          i
                                                            p9                                       o
                                                                              reject
                                                   j            p10           order
                              p4

                                         reject p11                           k
                                          trip
                                                            l
 ! weakly terminating    d                                                p12                  p15


   (always possible to   p5
                                         ticket
                                                                                                     p16
                                   e                                                       p
   reach final marking)
                                                                                                                              4
Step 2: Implementation




                                                                                     From Public Views to Private Views - Correctness-by-Design for Services
 implement private view          traveler                  modified traveler

   of a public view         p1               trip
                                            order
                                                      p1                    trip
                                                                           order
                            a                         a

                            p2                        p2
 Goals:                                      flight
                                            details
                                                                            flight
                                                                           details
                                 b                               b
 ! implementation of
                                 p3                        p31         p32
   the complete                             invoice                        invoice
                                 c
   contract is still
                                                            c
                                                                       e

   weakly terminating                                                      ticket


 ! criteria local to each
                                 p4                        p33         p34

                                            reject                         reject
   transformation                            trip                x          trip
                            d                         d
   (public " private)
                            p5                        p5
                                      e     ticket


                                                                                                           5
Solution




                                                          From Public Views to Private Views - Correctness-by-Design for Services
 ! Each  party must guarantee that its private view can
   interact with every environment its public view can
   cooperate with.

 ! local   criterion (accordance):



 ! implemented    in Fiona, but…
   !   … only a-posteriori check
   !   … no systematic design process
   !   … can be very expensive

                                                                             6
Transformation Rules




                                                               From Public Views to Private Views - Correctness-by-Design for Services
 derive correct private view from public view:
 ! add internal (non-communicating) actions




  N0              N1               N2               N3
  original        loop          in parallel      in sequence
                                                                                    7
Transformation Rules (cont.)




                                                          From Public Views to Private Views - Correctness-by-Design for Services
 derive correct private view from public view
 ! add internal (non-communicating) actions
 ! additional stronger (more flexible) rules on messages




                                                                              8
Sequence of Sending Events




                                                                    From Public Views to Private Views - Correctness-by-Design for Services
     sequence



      invoke1
                                   flow

      invoke2
                                  invoke1   invoke2   …   invoken

      !

      invoken




 ! also   implies arbitrary reordering of sending events
                                                                                       9
Sequence of Receiving Events




                                                                         From Public Views to Private Views - Correctness-by-Design for Services
      sequence



      receive1                      flow


      receive2
                                    receive1   receive2   …   receiven

       !

      receiven




 ! also    implies arbitrary reordering of receiving events
                                                                               10
Receive-then-send




                                                                         From Public Views to Private Views - Correctness-by-Design for Services
     sequence


     receive1

                              flow
      !
     receiven
                    invoke1   …      invokek   receive1   …   receiven

      invoke1


      !
      invokek




                                                                                     11
From Public Views to Private Views - Correctness-by-Design for Services
                                                                                              12
                                                                        receive
                                                                        invoke
                                                        flow
Send-then-receive




                                             sequence




                                                                                  receive
                                                               invoke
Anti-Pattern




                                                         From Public Views to Private Views - Correctness-by-Design for Services
           sequence                         sequence



            invoke                           receive



            receive                          invoke




 ! order   of sending and receiving may not be changed
                                                                   13
Adding an Alternative Branch




                                                                             From Public Views to Private Views - Correctness-by-Design for Services
                 sequence                                  pick


                  receiveA

                                             receiveC             receiveA
                 if then else


    sequence                    sequence
                                             sequence


      invokeB                     invokeD
                                               invokeF


      receiveC                    receiveE
                                               Arbitrary




                                                                                     14
Summary




                                                           From Public Views to Private Views - Correctness-by-Design for Services
! formal  foundation for contracts for services
! local criterion for guaranteeing global correctness


! first  results include
  !   transformation rules
  !   anti-patterns

" shows that Abstract BPEL is too restrictive:
  adding or reordering is not allowed in current profiles

                  Thank you very much!
                                                                      15

More Related Content

Viewers also liked

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
 
Internal Behavior Reduction for Services
Internal Behavior Reduction for ServicesInternal Behavior Reduction for Services
Internal Behavior Reduction for ServicesUniversitä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
 
Partner Generation for Petri Net Based Service Models
Partner Generation for Petri Net Based Service ModelsPartner Generation for Petri Net Based Service Models
Partner Generation for Petri Net Based Service ModelsUniversität Rostock
 
Verifying Deadlock and Livelock Freedom in an SOA Scenario
Verifying Deadlock and Livelock Freedom in an SOA ScenarioVerifying Deadlock and Livelock Freedom in an SOA Scenario
Verifying Deadlock and Livelock Freedom in an SOA ScenarioUniversitä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
 
Safira: Implementing Set Algebra for Service Behavior
Safira: Implementing Set Algebra for Service BehaviorSafira: Implementing Set Algebra for Service Behavior
Safira: Implementing Set Algebra for Service BehaviorUniversität Rostock
 
Demonstration of BPEL2oWFN and Fiona
Demonstration of BPEL2oWFN and FionaDemonstration of BPEL2oWFN and Fiona
Demonstration of BPEL2oWFN and FionaUniversität Rostock
 
Wendy: a tool to synthesize partners for services
Wendy: a tool to synthesize partners for servicesWendy: a tool to synthesize partners for services
Wendy: a tool to synthesize partners for servicesUniversitä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
 

Viewers also liked (19)

Verification with LoLA: 6 Integrating LoLA
Verification with LoLA: 6 Integrating LoLAVerification with LoLA: 6 Integrating LoLA
Verification with LoLA: 6 Integrating LoLA
 
Internal Behavior Reduction for Services
Internal Behavior Reduction for ServicesInternal Behavior Reduction for Services
Internal Behavior Reduction for Services
 
Artifact-centric Choreographies
Artifact-centric ChoreographiesArtifact-centric Choreographies
Artifact-centric Choreographies
 
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
 
Partner Generation for Petri Net Based Service Models
Partner Generation for Petri Net Based Service ModelsPartner Generation for Petri Net Based Service Models
Partner Generation for Petri Net Based Service Models
 
Verifying Deadlock and Livelock Freedom in an SOA Scenario
Verifying Deadlock and Livelock Freedom in an SOA ScenarioVerifying Deadlock and Livelock Freedom in an SOA Scenario
Verifying Deadlock and Livelock Freedom in an SOA Scenario
 
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
 
Safira: Implementing Set Algebra for Service Behavior
Safira: Implementing Set Algebra for Service BehaviorSafira: Implementing Set Algebra for Service Behavior
Safira: Implementing Set Algebra for Service Behavior
 
Demonstration of BPEL2oWFN and Fiona
Demonstration of BPEL2oWFN and FionaDemonstration of BPEL2oWFN and Fiona
Demonstration of BPEL2oWFN and Fiona
 
Wendy: a tool to synthesize partners for services
Wendy: a tool to synthesize partners for servicesWendy: a tool to synthesize partners for services
Wendy: a tool to synthesize partners for services
 
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
 

More from 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
 

More from 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
 

From public views to private views - Correctness by design for services

  • 1.
  • 2. Motivation From Public Views to Private Views - Correctness-by-Design for Services Service brokering fails in realizing SOA for inter-organizational business processes! Possible solution: !specify a choreography (e.g. BPEL4Chor) !serves as a contract for all parties involved Challenge: A B C 2
  • 3. Research Goal From Public Views to Private Views - Correctness-by-Design for Services ! develop formal foundation for contracts ! a local correctness criterion ! ! decision algorithm ! ! transformation rules to derive a correct private view from public view ! verify correctness of existing approaches (e.g., Abstract BPEL Profiles, BPEL4Chor) today ! improve approaches used in practice ! formulate BPEL code transformation rules ! collect anti-patterns 3
  • 4. Step 1: Specification From Public Views to Private Views - Correctness-by-Design for Services A contract is traveler agency airline p1 trip p6 p13 ! a closed system order a f (no external p2 p7 interface) flight flight details order b g m ! bilateral p3 p8 confirm p14 communication invoice order c h n i p9 o reject j p10 order p4 reject p11 k trip l ! weakly terminating d p12 p15 (always possible to p5 ticket p16 e p reach final marking) 4
  • 5. Step 2: Implementation From Public Views to Private Views - Correctness-by-Design for Services implement private view traveler modified traveler of a public view p1 trip order p1 trip order a a p2 p2 Goals: flight details flight details b b ! implementation of p3 p31 p32 the complete invoice invoice c contract is still c e weakly terminating ticket ! criteria local to each p4 p33 p34 reject reject transformation trip x trip d d (public " private) p5 p5 e ticket 5
  • 6. Solution From Public Views to Private Views - Correctness-by-Design for Services ! Each party must guarantee that its private view can interact with every environment its public view can cooperate with. ! local criterion (accordance): ! implemented in Fiona, but… ! … only a-posteriori check ! … no systematic design process ! … can be very expensive 6
  • 7. Transformation Rules From Public Views to Private Views - Correctness-by-Design for Services derive correct private view from public view: ! add internal (non-communicating) actions N0 N1 N2 N3 original loop in parallel in sequence 7
  • 8. Transformation Rules (cont.) From Public Views to Private Views - Correctness-by-Design for Services derive correct private view from public view ! add internal (non-communicating) actions ! additional stronger (more flexible) rules on messages 8
  • 9. Sequence of Sending Events From Public Views to Private Views - Correctness-by-Design for Services sequence invoke1 flow invoke2 invoke1 invoke2 … invoken ! invoken ! also implies arbitrary reordering of sending events 9
  • 10. Sequence of Receiving Events From Public Views to Private Views - Correctness-by-Design for Services sequence receive1 flow receive2 receive1 receive2 … receiven ! receiven ! also implies arbitrary reordering of receiving events 10
  • 11. Receive-then-send From Public Views to Private Views - Correctness-by-Design for Services sequence receive1 flow ! receiven invoke1 … invokek receive1 … receiven invoke1 ! invokek 11
  • 12. From Public Views to Private Views - Correctness-by-Design for Services 12 receive invoke flow Send-then-receive sequence receive invoke
  • 13. Anti-Pattern From Public Views to Private Views - Correctness-by-Design for Services sequence sequence invoke receive receive invoke ! order of sending and receiving may not be changed 13
  • 14. Adding an Alternative Branch From Public Views to Private Views - Correctness-by-Design for Services sequence pick receiveA receiveC receiveA if then else sequence sequence sequence invokeB invokeD invokeF receiveC receiveE Arbitrary 14
  • 15. Summary From Public Views to Private Views - Correctness-by-Design for Services ! formal foundation for contracts for services ! local criterion for guaranteeing global correctness ! first results include ! transformation rules ! anti-patterns " shows that Abstract BPEL is too restrictive: adding or reordering is not allowed in current profiles Thank you very much! 15