Title: Dependable Composition of Web Services and Process Calculi
1Dependable Composition of Web Services and
Process Calculi
- Manuel Mazzara
- Newcastle University
2Agenda
- 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
3Process Calculi and their Equivalences
4What is a process calculus?
- Language
- syntax
- semantics
- pragmatics
- Interaction
- message passing
- mobility
- reconfigurability
5Reconfigurability
- 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 (p-calculus)
- a received name will be used as the subject of
inputs
6Equivalences
- Functions
- identical outputs for identical inputs
- What about interactive programs?
- bisimulation
- programs exhibiting the same behaviour
7Web Services vs. BEV Services ?
SPECIFICATION
IMPLEMENTATION
50p
50p
50p
Push tea
50p
Push tea
50p
Serve tea
Push coffee
Push coffee
Serve tea
Serve coffee
Serve coffee
Milners CCS famous example
8Message-sequences
- These two BEV services accept the same
message-sequences - 50p.tea ? tea
- 50p.50p.coffe ? coffee
- Are they the same?
- message-sequences can be inadequate
- Essence of bisimulation
- attention to possibilities still available at
each state
9Look at this state
SPECIFICATION
IMPLEMENTATION
50p
50p
50p
Push tea
50p
Push tea
50p
Serve tea
Push coffee
Push coffee
Serve tea
Serve coffee
Serve coffee
10What is wrong?
- This state in the specification has two
possibilities - 50p
- tea
- There is no matching state in the implementation
- The implementation fails bisimulation
11A new implementation
SPECIFICATION
NEW IMPLEMENTATION
50p
50p
Push tea
Push tea
50p
50p
Serve tea
Push coffee
Serve tea
Push coffee
Serve coffee
private dialog with Illy, Lavazza, Segafredo,
Breda
Serve coffee
12Now 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
13Dependable Composition of Web Services
14WS Background
15BPEL 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
17Dependability 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
18Dependable 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
19Recovery 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
20BPEL Recovery Framework (1)
21BPEL 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
22Process Calculi and BPEL
23Formal Methods?
24Bisimulation
?
BPEL process
?
BPEL process
?
25The Unifying Theory
26Reduction Semantics
Two ways to interact
Asynchronous message passing
Event raising
27BPEL 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
28BPEL Encoding (only basic activities)
Use of the continuation passing style technique
29Unified Recovery Framework
30Use of Bisimulation
p process
BPEL process
BPEL process
p process
31Some 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.
32Contacts
Manuel.Mazzara_at_newcastle.ac.uk
44-(0)-191-222-5154
www.cs.ncl.ac.uk/people/manuel.mazzara
www.linkedin.com/in/manuelmazzara