dependable composition of web services and process calculi

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

Upload: eliot

Post on 25-Feb-2016

31 views

Category:

Documents


0 download

DESCRIPTION

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 - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Dependable Composition  of Web Services and Process Calculi

Dependable Composition of Web Services and Process Calculi

Manuel MazzaraNewcastle University

Page 2: Dependable Composition  of Web Services and Process Calculi

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

Process Calculi and their Equivalences

Page 4: Dependable Composition  of Web Services and Process Calculi

Language syntax semantics pragmatics

Interaction message passing mobility reconfigurability

What is a “process calculus”?

Page 5: Dependable Composition  of Web Services and Process Calculi

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

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

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

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

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

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

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

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

Dependable Composition of Web Services

Page 14: Dependable Composition  of Web Services and Process Calculi

WS Background

Page 15: Dependable Composition  of Web Services and Process Calculi

BPEL for WS Composition

XML (workflow) “programming language”

Standard (11 April

2007)

Page 16: Dependable Composition  of Web Services and Process Calculi

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

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

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

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

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

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

Process Calculi and BPEL

Page 23: Dependable Composition  of Web Services and Process Calculi

Formal Methods?

Page 24: Dependable Composition  of Web Services and Process Calculi

BPEL process

?

BPEL process ?

Bisimulation

?

Page 25: Dependable Composition  of Web Services and Process Calculi

The Unifying Theory

Page 26: Dependable Composition  of Web Services and Process Calculi

Two ways to interact:

Event raisingAsynchronous message passing

Reduction Semantics

Page 27: Dependable Composition  of Web Services and Process Calculi

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

Use of the continuation passing style technique

BPEL Encoding (only basic activities)

Page 29: Dependable Composition  of Web Services and Process Calculi

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

BPEL process

π process

BPEL process π process

Use of Bisimulation

Page 31: Dependable Composition  of Web Services and Process Calculi

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

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