![Page 1: Dependable Composition of Web Services and Process Calculi](https://reader036.vdocuments.us/reader036/viewer/2022062501/568167ef550346895ddd5f58/html5/thumbnails/1.jpg)
Dependable Composition of Web Services and Process Calculi
Manuel MazzaraNewcastle University
![Page 2: Dependable Composition of Web Services and Process Calculi](https://reader036.vdocuments.us/reader036/viewer/2022062501/568167ef550346895ddd5f58/html5/thumbnails/2.jpg)
1. Process Calculi and their Equivalences reconfigurability in the pi-calculus equivalences/bisimulation
2. Dependable Composition of WS WS and standards BPEL composition Recovery
3. Process calculi and BPEL unification of Recovery Framework
Agenda
![Page 3: Dependable Composition of Web Services and Process Calculi](https://reader036.vdocuments.us/reader036/viewer/2022062501/568167ef550346895ddd5f58/html5/thumbnails/3.jpg)
Process Calculi and their Equivalences
![Page 4: Dependable Composition of Web Services and Process Calculi](https://reader036.vdocuments.us/reader036/viewer/2022062501/568167ef550346895ddd5f58/html5/thumbnails/4.jpg)
Language syntax semantics pragmatics
Interaction message passing mobility reconfigurability
What is a “process calculus”?
![Page 5: Dependable Composition of Web Services and Process Calculi](https://reader036.vdocuments.us/reader036/viewer/2022062501/568167ef550346895ddd5f58/html5/thumbnails/5.jpg)
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
Reconfigurability
![Page 6: Dependable Composition of Web Services and Process Calculi](https://reader036.vdocuments.us/reader036/viewer/2022062501/568167ef550346895ddd5f58/html5/thumbnails/6.jpg)
Functions identical outputs for identical inputs
What about interactive programs?bisimulation programs exhibiting the same behaviour
Equivalences
![Page 7: Dependable Composition of Web Services and Process Calculi](https://reader036.vdocuments.us/reader036/viewer/2022062501/568167ef550346895ddd5f58/html5/thumbnails/7.jpg)
Web Services vs. BEV Services
50p
Push “tea”
Serve teaPush “coffee”
50p
Serve coffee
50p
Push “tea”
Serve teaPush “coffee”
50p
Serve coffee
50p
IMPLEMENTATIONSPECIFICATION
Milner’s CCS famous example
![Page 8: Dependable Composition of Web Services and Process Calculi](https://reader036.vdocuments.us/reader036/viewer/2022062501/568167ef550346895ddd5f58/html5/thumbnails/8.jpg)
These two BEV services accept the same message-sequences
50p.tea tea50p.50p.coffe coffee
Are they the same?message-sequences can be inadequate
Essence of bisimulation attention to possibilities still available at each state
Message-sequences
![Page 9: Dependable Composition of Web Services and Process Calculi](https://reader036.vdocuments.us/reader036/viewer/2022062501/568167ef550346895ddd5f58/html5/thumbnails/9.jpg)
50p
Push “tea”
Serve teaPush “coffee”
50p
Serve coffee
SPECIFICATION
50p
Push “tea”
Serve teaPush “coffee”
50p
Serve coffee
50p
IMPLEMENTATION
Look at this state
![Page 10: Dependable Composition of Web Services and Process Calculi](https://reader036.vdocuments.us/reader036/viewer/2022062501/568167ef550346895ddd5f58/html5/thumbnails/10.jpg)
This state in the specification has two possibilities:50p
“tea”
There is no matching state in the implementation
The implementation fails bisimulation
What is wrong?
![Page 11: Dependable Composition of Web Services and Process Calculi](https://reader036.vdocuments.us/reader036/viewer/2022062501/568167ef550346895ddd5f58/html5/thumbnails/11.jpg)
A new implementation
50p
Push “tea”
Serve teaPush “coffee”
50p
Serve coffee
SPECIFICATION
50p
50p
private dialog with Illy, Lavazza, Segafredo, Breda
NEW IMPLEMENTATION
Push “tea”
Serve teaPush “coffee”
Serve coffee
![Page 12: Dependable Composition of Web Services and Process Calculi](https://reader036.vdocuments.us/reader036/viewer/2022062501/568167ef550346895ddd5f58/html5/thumbnails/12.jpg)
Engagement in a private dialog with providers
at the end it still emits the coffee
Internal states
same external possibilities of the specification
Now it is fine!
![Page 13: Dependable Composition of Web Services and Process Calculi](https://reader036.vdocuments.us/reader036/viewer/2022062501/568167ef550346895ddd5f58/html5/thumbnails/13.jpg)
Dependable Composition of Web Services
![Page 14: Dependable Composition of Web Services and Process Calculi](https://reader036.vdocuments.us/reader036/viewer/2022062501/568167ef550346895ddd5f58/html5/thumbnails/14.jpg)
WS Background
![Page 15: Dependable Composition of Web Services and Process Calculi](https://reader036.vdocuments.us/reader036/viewer/2022062501/568167ef550346895ddd5f58/html5/thumbnails/15.jpg)
BPEL for WS Composition
XML (workflow) “programming language”
Standard (11 April
2007)
![Page 16: Dependable Composition of Web Services and Process Calculi](https://reader036.vdocuments.us/reader036/viewer/2022062501/568167ef550346895ddd5f58/html5/thumbnails/16.jpg)
A process consists of a set of (nested) activities
Basic activityreceive and send messagesassign values to variables
composition is stateful signal faults
Structured activitiessequential, parallelconditional looping
BPEL Activities
![Page 17: Dependable Composition of Web Services and Process Calculi](https://reader036.vdocuments.us/reader036/viewer/2022062501/568167ef550346895ddd5f58/html5/thumbnails/17.jpg)
SOAP is employed as an XML messaging protocolSOAP is not compulsory in SOA anywaymessage 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
Dependability in WS (standards)
![Page 18: Dependable Composition of Web Services and Process Calculi](https://reader036.vdocuments.us/reader036/viewer/2022062501/568167ef550346895ddd5f58/html5/thumbnails/18.jpg)
Fault Forecasting
Fault Tolerance
Fault Removal
Fault Prevention
Dependable Composition
not standardised
At the level of single At the level of single services by domain-services by domain-specific techniquesspecific techniques
Oracle BPEL process Oracle BPEL process manager/Biztalk… manager/Biztalk… provide no supportprovide no support
Contracts Contracts conformanceconformanceDeadlock Safety…Deadlock Safety…
stochastic stochastic Petri nets?Petri nets?
recoveryrecovery
![Page 19: Dependable Composition of Web Services and Process Calculi](https://reader036.vdocuments.us/reader036/viewer/2022062501/568167ef550346895ddd5f58/html5/thumbnails/19.jpg)
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
![Page 20: Dependable Composition of Web Services and Process Calculi](https://reader036.vdocuments.us/reader036/viewer/2022062501/568167ef550346895ddd5f58/html5/thumbnails/20.jpg)
WS-BPEL: scopeBasic Units Basic Units
of Workof Work
WS-BPEL: fault handlerFailuresFailuresManagementManagement
WS-BPEL: compensationPartialPartialRoll-backRoll-back
BPEL Recovery Framework (1)
![Page 21: Dependable Composition of Web Services and Process Calculi](https://reader036.vdocuments.us/reader036/viewer/2022062501/568167ef550346895ddd5f58/html5/thumbnails/21.jpg)
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
BPEL Recovery Framework (2)
![Page 22: Dependable Composition of Web Services and Process Calculi](https://reader036.vdocuments.us/reader036/viewer/2022062501/568167ef550346895ddd5f58/html5/thumbnails/22.jpg)
Process Calculi and BPEL
![Page 23: Dependable Composition of Web Services and Process Calculi](https://reader036.vdocuments.us/reader036/viewer/2022062501/568167ef550346895ddd5f58/html5/thumbnails/23.jpg)
Formal Methods?
![Page 24: Dependable Composition of Web Services and Process Calculi](https://reader036.vdocuments.us/reader036/viewer/2022062501/568167ef550346895ddd5f58/html5/thumbnails/24.jpg)
BPEL process
?
BPEL process ?
≈
Bisimulation
?
![Page 25: Dependable Composition of Web Services and Process Calculi](https://reader036.vdocuments.us/reader036/viewer/2022062501/568167ef550346895ddd5f58/html5/thumbnails/25.jpg)
The Unifying Theory
![Page 26: Dependable Composition of Web Services and Process Calculi](https://reader036.vdocuments.us/reader036/viewer/2022062501/568167ef550346895ddd5f58/html5/thumbnails/26.jpg)
Two ways to interact:
Event raisingAsynchronous message passing
Reduction Semantics
![Page 27: Dependable Composition of Web Services and Process Calculi](https://reader036.vdocuments.us/reader036/viewer/2022062501/568167ef550346895ddd5f58/html5/thumbnails/27.jpg)
Understanding of the OS ACTIVE BPEL semantics It “should” implement the standard BPEL
Definition of the BPEL encoding
BPEL Encoding
Description of how the BPEL activites can be represented in the calculus
![Page 28: Dependable Composition of Web Services and Process Calculi](https://reader036.vdocuments.us/reader036/viewer/2022062501/568167ef550346895ddd5f58/html5/thumbnails/28.jpg)
Use of the continuation passing style technique
BPEL Encoding (only basic activities)
![Page 29: Dependable Composition of Web Services and Process Calculi](https://reader036.vdocuments.us/reader036/viewer/2022062501/568167ef550346895ddd5f58/html5/thumbnails/29.jpg)
Work UnitBasic Units Basic Units
of Workof Work
Event HandlerFailuresFailuresManagementManagement
Event HandlerPartialPartialRoll-backRoll-back
Unified Recovery Framework
![Page 30: Dependable Composition of Web Services and Process Calculi](https://reader036.vdocuments.us/reader036/viewer/2022062501/568167ef550346895ddd5f58/html5/thumbnails/30.jpg)
BPEL process
π process
BPEL process π process
≈
Use of Bisimulation
![Page 31: Dependable Composition of Web Services and Process Calculi](https://reader036.vdocuments.us/reader036/viewer/2022062501/568167ef550346895ddd5f58/html5/thumbnails/31.jpg)
Semantics only for a subset of the BPEL activitiesEncoding hardly readableTimed 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.
Some feedback about this work
![Page 32: Dependable Composition of Web Services and Process Calculi](https://reader036.vdocuments.us/reader036/viewer/2022062501/568167ef550346895ddd5f58/html5/thumbnails/32.jpg)
Contacts
[email protected]@newcastle.ac.uk
www.cs.ncl.ac.uk/people/manuel.mazzarawww.cs.ncl.ac.uk/people/manuel.mazzara +44-(0)-191-222-5154+44-(0)-191-222-5154
www.linkedin.com/in/manuelmazzarawww.linkedin.com/in/manuelmazzara