1 / 32

Dependable Composition of Web Services and Process Calculi

Dependable Composition of Web Services and Process Calculi. Manuel Mazzara Newcastle University. Agenda. Process Calculi and their Equivalences reconfigurability in the pi-calculus equivalences/bisimulation Dependable Composition of WS WS and standards BPEL composition Recovery

eliot
Download Presentation

Dependable Composition of Web Services and Process Calculi

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Dependable Composition of Web Services and Process Calculi Manuel Mazzara Newcastle University

  2. Agenda • Process Calculi and their Equivalences • reconfigurability in the pi-calculus • equivalences/bisimulation • Dependable Composition of WS • WS and standards • BPEL composition • Recovery • Process calculi and BPEL • unification of Recovery Framework

  3. Process Calculi and their Equivalences

  4. What is a “process calculus”? • Language • syntax • semantics • pragmatics • Interaction • message passing • mobility • reconfigurability

  5. Reconfigurability • Messages can include channel names (pi-calculus) • Sending an address expecting a reply to that address • output capability (MS Biztalk) • a received name will be used as the subject of outputs only • input capability (π-calculus) • a received name will be used as the subject of inputs

  6. Equivalences • Functions • identical outputs for identical inputs • What about interactive programs? • bisimulation • programs exhibiting the same behaviour

  7. Web Services vs. BEV Services  SPECIFICATION IMPLEMENTATION 50p 50p 50p Push “tea” 50p Push “tea” 50p Push “coffee” Serve tea Push “coffee” Serve tea Serve coffee Serve coffee Milner’s CCS famous example

  8. Message-sequences • These two BEV services accept the same message-sequences 50p.tea  tea 50p.50p.coffe  coffee • Are they the same? • message-sequencescan be inadequate • Essence of bisimulation • attention topossibilities still available at each state

  9. Look at this state SPECIFICATION IMPLEMENTATION 50p 50p 50p Push “tea” 50p Push “tea” 50p Push “coffee” Push “coffee” Serve tea Serve tea Serve coffee Serve coffee

  10. What is wrong? • This state in the specification has two possibilities: • 50p • “tea” • There is no matching state in the implementation • The implementation fails bisimulation

  11. A new implementation SPECIFICATION NEW IMPLEMENTATION 50p 50p Push “tea” Push “tea” 50p 50p Push “coffee” Serve tea Push “coffee” Serve tea Serve coffee private dialog with Illy, Lavazza, Segafredo, Breda Serve coffee

  12. Now it is fine! • Engagement in a private dialog with providers • at the end it still emits the coffee • Internal states • same external possibilities of the specification

  13. Dependable Composition of Web Services

  14. WS Background

  15. BPEL for WS Composition XML (workflow) “programming language” Standard (11 April 2007)

  16. BPEL Activities • A process consists of a set of (nested) activities • Basic activity • receive and send messages • assign values to variables • composition is stateful • signal faults • Structured activities • sequential, parallel • conditional • looping

  17. Dependability in WS (standards) • SOAP is employed as an XML messaging protocol • SOAP is not compulsory in SOA anyway • message level • WS-Reliability (OASIS) • dependability added to the unreliable Internet channel of communication • WS-Security (OASIS) • specifies mechanisms to provide integrity and confidentiality of SOAP messages

  18. Dependable Composition At the level of single services by domain-specific techniques Oracle BPEL process manager/Biztalk… provide no support stochastic Petri nets? Fault Prevention Fault Forecasting Fault Tolerance recovery Fault Removal Contracts conformance Deadlock Safety… not standardised

  19. Recovery in WS • ACIDity is not possible when transactions last long periods and cross administrative domains • atomicity has to be relaxed • isolation has to be relaxed • no “perfect” roll-back • explicit compensation

  20. BPEL Recovery Framework (1) WS-BPEL: scope Basic Units of Work WS-BPEL: fault handler Failures Management WS-BPEL: compensation Partial Roll-back

  21. BPEL Recovery Framework (2) • Fault Handler (FH) • forwards error recovery • reacts to events occurring during the normal execution • catch blocks for explicitly thrown faults • generally returned by an invoke activity • possibly thrown from inside the process itself • scopes are abnormally terminated when FH is invoked • Compensation Handler (CH) • backwards error recovery • installed when the body successfully terminates • application-specific rollback • get back to a state where execution can continue • available for another activity requiring an undo

  22. Process Calculi and BPEL

  23. Formal Methods?

  24. Bisimulation ? BPEL process ≈ ? ? BPEL process

  25. The Unifying Theory

  26. Reduction Semantics Two ways to interact: Asynchronous message passing Eventraising

  27. BPEL Encoding • Understanding of the OS ACTIVE BPEL semantics • It “should” implement the standard BPEL • Definition of the BPEL encoding Description of how the BPEL activites can be represented in the calculus

  28. BPEL Encoding (only basic activities) Use of the continuation passing style technique

  29. Unified Recovery Framework Work Unit Basic Units of Work Event Handler Failures Management Event Handler Partial Roll-back

  30. Use of Bisimulation π process BPEL process ≈ π process BPEL process

  31. Some feedback about this work • Semantics only for a subset of the BPEL activities • Encoding hardly readable • Timed theory not fully developed (timed transactions) • Explosion of states when encoding examples due to signaling of the end of each activity Efficient Analysis of BPEL 2.0 Processes Using pi-Calculus Weidlich, M.; Decker, G.; Weske, M.

  32. Contacts Manuel.Mazzara@newcastle.ac.uk +44-(0)-191-222-5154 www.cs.ncl.ac.uk/people/manuel.mazzara www.linkedin.com/in/manuelmazzara

More Related