1 Ivan Lanese Computer Science Department University of Bologna Italy Managing faults and compensations in SOCK Joint work with Claudio Guidi, Fabrizio.

Slides:



Advertisements
Similar presentations
1 Ivan Lanese Computer Science Department University of Bologna Italy Types for deadlock avoidance in SSCC.
Advertisements

Pontus Boström and Marina Waldén Åbo Akademi University/ TUCS Development of Fault Tolerant Grid Applications Using Distributed B.
1 Reversibility for Recoverability Ivan Lanese Computer Science Department FOCUS research group University of Bologna/INRIA Bologna, Italy.
Ivan Lanese Computer Science Department University of Bologna/INRIA Italy Fault in the Future Joint work with Gianluigi Zavattaro and Einar Broch Johnsen.
1 Ivan Lanese Computer Science Department University of Bologna/INRIA Italy Fault Model Design Space for Cooperative Concurrency Joint work with Michael.
Dependable Composition of Web Services and Process Calculi Manuel Mazzara Newcastle University.
Transparent Robustness in Service Aggregates Onyeka Ezenwoye School of Computing and Information Sciences Florida International University May 2006.
Adding Organizations and Roles as Primitives to the JADE Framework NORMAS’08 Normative Multi Agent Systems, Matteo Baldoni 1, Valerio Genovese 1, Roberto.
1 Ivan Lanese Computer Science Department University of Bologna Italy On the Interplay between Fault Handling and Request-response Service Invocations.
1 Ivan Lanese Computer Science Department University of Bologna Italy Towards a Unifying Theory for Web Services Composition Manuel Mazzara Faculty of.
1 The SOCK SAGA Ivan Lanese Computer Science Department University of Bologna Italy Joint work with Gianluigi Zavattaro.
Tutorials 2 A programmer can use two approaches when designing a distributed application. Describe what are they? Communication-Oriented Design Begin with.
1 Synchronization strategies for global computing models Ivan Lanese Computer Science Department University of Bologna.
Ivan Lanese Computer Science Department University of Bologna/INRIA Italy On the Expressive Power of Primitives for Compensation Handling Joint work with.
IBM WebSphere survey Kristian Bisgaard Lassen. University of AarhusIBM WebSphere survey2 Tools  WebSphere Application Server Portal Studio Business Integration.
1 Ivan Lanese Computer Science Department University of Bologna Roberto Bruni Computer Science Department University of Pisa A mobile calculus with parametric.
1 Ivan Lanese Computer Science Department University of Bologna Italy Error Handling in Service Oriented Computing Joint work with Claudio Guidi, Fabrizio.
Business Process Orchestration
1 SOCK and JOLIE from the formal basis to a service oriented programming language Ivan Lanese Computer Science Department University of Bologna Italy Joint.
1 Ivan Lanese Computer Science Department University of Bologna Italy From services to ABS With input from Davide Sangiorgi, Fabrizio Montesi, …
1 Ivan Lanese Computer Science Department University of Bologna Italy Behavioural Theory for SSCC Joint work with Luis Cruz-Filipe, Francisco Martins,
1 Ivan Lanese Computer Science Department University of Bologna Italy Evolvable systems: some ideas for modelling With input from Davide Sangiorgi, Fabrizio.
Bridging the gap between Interaction- and Process-Oriented Choreographies Talk by Ivan Lanese Joint work with Claudio Guidi, Fabrizio Montesi and Gianluigi.
BPEL (Business Process Execution Language)
SOCK and JOLIE from the formal basis to a service oriented programming language Part II Claudio Guidi and Fabrizio Montesi.
Bridging the gap between Interaction- and Process-Oriented Choreographies Talk by Ivan Lanese Joint work with Claudio Guidi, Fabrizio.
Bridging the gap between Interaction- and Process-Oriented Choreographies Talk by Ivan Lanese Joint work with Claudio Guidi, Fabrizio Montesi and Gianluigi.
1 Ivan Lanese Computer Science Department University of Bologna/INRIA Italy Error Handling: From Theory to Practice Joint work with Fabrizio Montesi italianaSoftware.
1 Static vs dynamic SAGAs Ivan Lanese Computer Science Department University of Bologna/INRIA Italy.
1 Joint work with Claudio Antares Mezzina (INRIA), Jean-Bernard Stefani (INRIA) and Alan Schmitt (INRIA) Controlling Reversibility in Rhopi Ivan Lanese.
1 Ivan Lanese Computer Science Department University of Bologna Italy Concurrent and located synchronizations in π-calculus.
Ivan Lanese Computer Science Department University of Bologna/INRIA Italy Fault in the Future Joint work with Gianluigi Zavattaro and Einar Broch Johnsen.
1 Programming SAGAs in SOCK Ivan Lanese Computer Science Department University of Bologna Italy Joint work with Gianluigi Zavattaro The SOCK saga.
1 Ivan Lanese Computer Science Department University of Bologna Italy On the expressive power of primitives for compensation handling Joint work with Catia.
1 Ivan Lanese Computer Science Department University of Bologna Italy Behavioural Theory at Work: Program Transformations in a Service-centred Calculus.
Session II Part I – BPMN, BPEL and WS*
1 Ivan Lanese Computer Science Department University of Bologna Italy Streaming Services in SSCC Joint work with Francisco Martins, Vasco Vasconcelos and.
1 Ivan Lanese Computer Science Department University of Bologna Italy Towards a Unifying Theory for Web Services Composition Manuel Mazzara Faculty of.
1 Joint work with Antonio Bucchiarone (Fondazione Bruno Kessler - IRST, Trento) and Fabrizio Montesi (University of Bologna/INRIA, Bologna) A Framework.
Fault Recovery in WS-Diamond using the SH-BPEL Engine and PAWS Barbara Pernici Politecnico di Milano May 11, 2007.
THE NEXT STEP IN WEB SERVICES By Francisco Curbera,… Memtimin MAHMUT 2012.
Demonstrating WSMX: Least Cost Supply Management.
A Survey on Service Composition Languages and Models Antonio Bucchiarone Antonio Bucchiarone and Stefania Gnesi Istituto di Scienza e Tecnologie dell’Informazione.
1 Joint work with Michael Lienhardt (PPS), Claudio Antares Mezzina (Trento), Jean-Bernard Stefani (INRIA) and Alan Schmitt (INRIA) Reversibility in Concurrency.
BPEL4WS (Business Process Execution Language for Web Services) Nirmal Mukhi Component Systems Department IBM Research.
Dynamic Choreographies Safe Runtime Updates of Distributed Applications Ivan Lanese Computer Science Department University of Bologna/INRIA Italy Joint.
Fault Recovery in WS-Diamond using the SH-BPEL Engine.
Towards Global and Local Types for Adaptation Ivan Lanese Computer Science Department University of Bologna/INRIA Italy Joint work with Mario Bravetti,
1 The CeNTIE project is supported by the Australian Government through the Advanced Networks Program of the Department of Communications, Information Technology.
Foundational Study and Practical Experimentation of Service Orchestration with SOCK/JOLIE Ivan Lanese, Fabrizio Montesi, Claudio Guidi, and Gianluigi Zavattaro.
Ivan Lanese Computer Science Department University of Bologna/INRIA Italy Amending Choreographies Joint work with Fabrizio Montesi and Gianluigi Zavattaro.
1 Causal-Consistent Reversible Debugging Ivan Lanese Focus research group Computer Science and Engineering Department University of Bologna/INRIA Bologna,
95-843: Service Oriented Architecture 1 Master of Information System Management Service Oriented Architecture Lecture 7: BPEL Some notes selected from.
GSFL: A Workflow Framework for Grid Services Sriram Krishnan Patrick Wagstrom Gregor von Laszewski.
“This presentation is for informational purposes only and may not be incorporated into a contract or agreement.”
Mario Bravetti Department of Computer Science University of Bologna INRIA research team FOCUS Choreography Projection and.
“Dynamic fault handling mechanisms for service-oriented applications” Fabrizio Montesi, Claudio Guidi, Ivan Lanese and Gianluigi Zavattaro Department of.
A Service Oriented Architecture for the Finance Case Study
Ivan Lanese Computer Science Department University of Bologna/INRIA Italy Decidability Results for Dynamic Installation of Compensation Handlers Joint.
1 Joint work with Claudio Antares Mezzina and Jean-Bernard Stefani Controlled Reversibility and Compensations Ivan Lanese Focus research group Computer.
On Using BPEL Extensibility to Implement OGSI and WSRF Grid Workflows Aleksander Slomiski Presented by Onyeka Ezenwoye CIS Advanced Topics in Software.
95-843: Service Oriented Architecture 1 Master of Information System Management Service Oriented Architecture Lecture 8: More BPEL Notes selected from.
Ivan Lanese Computer Science Department University of Bologna/INRIA Italy Adaptive Choreographies Joint work with Mila Dalla Preda, Jacopo Mauro and Maurizio.
SE 548 Process Modelling WEB SERVICE ORCHESTRATION AND COMPOSITION ÖZLEM BİLGİÇ.
1 SOA Seminar Service Oriented Architecture Lecture 8: More BPEL Notes selected from the paper “Formal Semantics and Analysis of control flow in WS-BPEL.
1 Seminar on SOA Seminar on Service Oriented Architecture BPEL Some notes selected from “Business Process Execution Language for Web Services” by Matjaz.
Business Process Execution Language (BPEL) Pınar Tekin.
Deadlock Freedom by Construction
Service-centric Software Engineering
Choreography, Orchestration, and Contracts Languages and Techniques for Service Composition Gianluigi Zavattaro
Presentation transcript:

1 Ivan Lanese Computer Science Department University of Bologna Italy Managing faults and compensations in SOCK Joint work with Claudio Guidi, Fabrizio Montesi and Gianluigi Zavattaro

Roadmap l SOCK l Extension for faults and compensations l The automotive case study l Conclusive remarks

Roadmap l SOCK l Extension for faults and compensations l The automotive case study l Conclusive remarks

SOCK (Service Oriented Computing Kernel) l One of the core calculi in Sensoria l The one that more closely follows current technologies l Explores service interactions –based on one-way and request-response primitives –coordinated using the correlation sets mechanism l Has a 3 layers structure –Service behaviour layer: defines the basic behaviours of service instances –Service engine layer: deals with state, correlation sets and instantiation of sessions –Service system layer: composes located engines into a network

Service behaviour syntax ²:: = s j o ( ~ x ) j o r ( ~ x ; ~ y ; P ) ²:: = s j z ( ~ y ) j o z ( ~ y ; ~ x )

Higher layers l A service engine is: where c is a correlation set, P i are processes and S i states l A service system is: where l i are locations l We will concentrate on the service behaviour layer, where error handling is managed Y :: = c. P d [( P 1 ; S 1 ) j ::: j ( P n ; S n )] E :: = Y 1 jj ::: jj Y n

Roadmap l SOCK l Extension for faults and compensations l The automotive case study l Conclusive remarks

Error handling l Safe composition of services requires to deal with faults –No guarentee on components’ behaviour because of loose coupling –Disconnections, message losses, … l A fault is an abnormal situation that forbids the continuation of the activity –An activity that generates a fault is terminated l Faults should be managed so that the whole system reaches a consistent state l Different mechanisms are commonly used –Fault handlers: specify how to recover from a fault –Termination handlers: specify how to terminate an ongoing activity when reached by a fault from a parallel activity –Compensation handlers: specify how to compensate a successfully terminated activity if requested for fault recovery

Linguistic extensions l We add some constructs to SOCK to manage faults l At runtime the scope will also contain the active handlers: {P;H} q P :: = ::: S t an d ar d opera t ors f P g q S cope i ns t ( u ; P ) I ns t a llh an dl er t h row ( f ) T h rowa f au l t comp ( q ) C ompensa t eascope

The scope hierarchy P H q P H q P H q P H q P H q

Throwing a fault q1q1 q2q2 (f,Q) Throw (f) (q 2,T 2 ) (q 1,T 1 )

Throwing a fault q1q1 q2q2 (f,Q) (q 2,T 2 ) (q 1,T 1 ) f

Throwing a fault T1T1 q1q1 T2T2 q2q2 (f,Q) f

Throwing a fault T1T1 q1q1 T2T2 q2q2 Q f

Killing activities l When a fault propagates activities are killed but l For parallel activities the termination handler (if present) is executed l For ongoing solicit-responses the fault is sent to the partner –The same fault is raised at the partner side –A solicit-response always receives a response, either normal or faulty l Activities related to error recovery cannot be killed –Handlers, …

Installing an handler Inst (f,Q) Handlers can be installed dynamically

Installing an handler (f,Q) Handlers can be installed dynamically

Dynamic installation of handlers l Allowed for fault and termination handlers l New handlers replace the older ones l Dynamic installation of termination handlers allows to update the handler as far as the activity progresses –No need to add auxiliary scopes l The last defined termination handler becomes the compensation handler when the activity terminates l Available handlers are installed before any fault is managed –Always the most updated handler is used

Installing compensation handlers q q’ Inst (q,Q)

Installing compensation handlers q (q,Q) Q terminates q’

Installing compensation handlers (q,Q) Handlers in q’ can compensate q using comp(q) q’

Compensation handlers l Are the last available termination handlers l Allow to undo the effect of a successfully terminated activity l Should be activated explicitly by comp(q) l Only other handlers can do it

Roadmap l SOCK l Extension for faults and compensations l The automotive case study l Conclusive remarks

Automotive case study l A car failure forces the car to stop l The car service system looks for –A garage to repair the car –A tow truck to take the car to the garage –A car rental to take the driver home l The suitability of the services is checked l The services are booked and paid via a bank

Modeling the automotive case study in SOCK

Adding tow truck faults

Screenshots from JOLIE

Roadmap l SOCK l Extension for faults and compensations l The automotive case study l Conclusive remarks

Conclusions l Formal framework for error handling in SOC –Near to current technologies (BPEL)… –… which have no formal semantics l Dynamic installation of handlers as main improvement –Allows to merge termination and compensation handlers –Allows to update the termination handler as the activity progresses l Error situations do not spoil the solicit-response protocol –Either the fault or the normal answer is sent back

A further idea l In WSDL faults can be sent only as answers to solicit- responses –SOCK follows the same approach l Callbacks (mutual invocation) can be used to model solicit-responses –The fault part cannot be mimicked faithfully –Two different faults instead of the communication of the same one l This can be solved by allowing to send faults in notifications

Possible next steps l Check whether the approach can be applied to the other Sensoria core languages –COWS, SCC… –They already have error-handling, but more “low-level” l Analyze the effect of faults on the relationship between choreography and orchestration

End of talk

Adding car rental faults