Ivan Lanese Computer Science Department University of Bologna/INRIA Italy Decidability Results for Dynamic Installation of Compensation Handlers Joint.

Slides:



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

1 1 Regression Verification for Multi-Threaded Programs Sagar Chaki, SEI-Pittsburgh Arie Gurfinkel, SEI-Pittsburgh Ofer Strichman, Technion-Haifa Originally.
Timed Automata.
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.
Dependable Composition of Web Services and Process Calculi Manuel Mazzara Newcastle University.
1 Introduction to Computability Theory Lecture12: Decidable Languages Prof. Amos Israeli.
1 Introduction to Computability Theory Lecture15: Reductions Prof. Amos Israeli.
1 Introduction to Computability Theory Lecture12: Reductions Prof. Amos Israeli.
Introduction to Computability Theory
1 Introduction to Computability Theory Lecture13: Mapping Reductions Prof. Amos Israeli.
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.
1 Operational Semantics Mooly Sagiv Tel Aviv University Textbook: Semantics with Applications.
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.
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.
Exceptions in Java Fawzi Emad Chau-Wen Tseng Department of Computer Science University of Maryland, College Park.
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 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.
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.
Operational Semantics Semantics with Applications Chapter 2 H. Nielson and F. Nielson
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.
*Department of Computing Science University of Newcastle upon Tyne **Institut für Informatik, Universität Augsburg Canonical Prefixes of Petri Net Unfoldings.
1 Introduction to Computability Theory Lecture11: The Halting Problem Prof. Amos Israeli.
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.
CC0002NI – Computer Programming Computer Programming Er. Saroj Sharan Regmi Week 7.
Retrievals & Projections Objectives of the Lecture : To consider retrieval actions from a DB; To consider using relational algebra for defining relations;
1 Joint work with Michael Lienhardt (PPS), Claudio Antares Mezzina (Trento), Jean-Bernard Stefani (INRIA) and Alan Schmitt (INRIA) Reversibility in Concurrency.
© 2009 Matthew J. Sottile, Timothy G. Mattson, and Craig E Rasmussen 1 Concurrency in Programming Languages Matthew J. Sottile Timothy G. Mattson Craig.
Dynamic Choreographies Safe Runtime Updates of Distributed Applications Ivan Lanese Computer Science Department University of Bologna/INRIA Italy Joint.
Containment and Integrity for Mobile Code Security policies as types Andrew Myers Fred Schneider Department of Computer Science Cornell University.
Towards Global and Local Types for Adaptation Ivan Lanese Computer Science Department University of Bologna/INRIA Italy Joint work with Mario Bravetti,
1 © 2002, Cisco Systems, Inc. All rights reserved. Arrays Chapter 7.
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,
Ivan Lanese Computer Science Department University of Bologna/INRIA Italy Causal-Consistent Reversibility in a Tuple-Based Language Joint work with Elena.
Introduction to Problem Solving. Steps in Programming A Very Simplified Picture –Problem Definition & Analysis – High Level Strategy for a solution –Arriving.
“Dynamic fault handling mechanisms for service-oriented applications” Fabrizio Montesi, Claudio Guidi, Ivan Lanese and Gianluigi Zavattaro Department of.
Automata & Formal Languages, Feodor F. Dragan, Kent State University 1 CHAPTER 3 The Church-Turing Thesis Contents Turing Machines definitions, examples,
1 Turing’s Thesis. 2 Turing’s thesis: Any computation carried out by mechanical means can be performed by a Turing Machine (1930)
1 Joint work with Claudio Antares Mezzina and Jean-Bernard Stefani Controlled Reversibility and Compensations Ivan Lanese Focus research group Computer.
This Week Lecture on relational semantics Exercises on logic and relations Labs on using Isabelle to do proofs.
Operational Semantics Mooly Sagiv Tel Aviv University Textbook: Semantics with Applications Chapter.
Ordering of Events in Distributed Systems UNIVERSITY of WISCONSIN-MADISON Computer Sciences Department CS 739 Distributed Systems Andrea C. Arpaci-Dusseau.
From Natural Language to LTL: Difficulties Capturing Natural Language Specification in Formal Languages for Automatic Analysis Elsa L Gunter NJIT.
Francesco Tiezzi IMT Advanced Studies Lucca Causal-Consistent Reversibility in a Tuple-Based Distributed Language Joint work with Elena Giachino, Ivan.
Operational Semantics Mooly Sagiv Tel Aviv University Sunday Scrieber 8 Monday Schrieber.
Ivan Lanese Computer Science Department University of Bologna/INRIA Italy Adaptive Choreographies Joint work with Mila Dalla Preda, Jacopo Mauro and Maurizio.
Operational Semantics Mooly Sagiv Reference: Semantics with Applications Chapter 2 H. Nielson and F. Nielson
Operational Semantics Mooly Sagiv Reference: Semantics with Applications Chapter 2 H. Nielson and F. Nielson
Concurrent Revisions: A deterministic concurrency model. Daan Leijen & Sebastian Burckhardt Microsoft Research (OOPSLA 2010, ESOP 2011)
Ivan Lanese Computer Science Department University of Bologna/INRIA Italy Causal-Consistent Reversibility in a Tuple-Based Distributed Language Joint work.
Business Process Execution Language (BPEL) Pınar Tekin.
1 Sections 3.1 – 3.2a Basic Syntax and Semantics Fundamentals of Java: AP Computer Science Essentials, 4th Edition Lambert / Osborne.
Internet of Things A Process Calculus Approach
Expressive Power of CCS
Presentation transcript:

Ivan Lanese Computer Science Department University of Bologna/INRIA Italy Decidability Results for Dynamic Installation of Compensation Handlers Joint work with Gianluigi Zavattaro

Map of the talk l Long-running transactions l Compensation installation l Gap in the expressive power l Conclusions

Map of the talk l Long-running transactions l Compensation installation l Gap in the expressive power l Conclusions

Handling unexpected events l Current applications run in environments such as the Internet or smartphones l Possible sources of errors –Communication partners may disconnect –Message loss –Received data may not have the expected format –Changes in the environment –... l Unexpected events should be managed so to ensure correct behavior even in unreliable environments

Compensation handling l In service-oriented computing the concept of a long running transaction has been proposed –Computation that either succeeds or it aborts and is compensated l The compensation needs to take back the system to a correct state –Undoing cannot always be perfect –Approximate rollback l Programming compensations is a delicate task

Different primitives in the literature l Long-running transactions used in practice –WS-BPEL, Jolie l A flurry of proposals in the literature –Sagas, StAC, cjoin, SOCK, dcπ, webπ, … l Are the proposed primitives equivalent? l Which are the best ones?

A difficult problem l Approaches to compensation handling can differ according to many features –Flat vs nested transactions –Automatic vs programmed abort of subtransactions –Static vs dynamic definition of compensations l Approaches applied to different underlying languages –Differences between the languages may hide differences between the primitives

Our approach l Taking the simplest possible calculus (π-calculus) l Adding different primitives to it l Comparing their expressive power l Too many possible differences l We concentrate on static vs dynamic definition of compensations l Decidability of termination (all computations terminate) allows to discriminate them –In a π-calculus without restriction

Map of the talk l Long-running transactions l Compensation installation l Gap in the expressive power l Conclusions

Static compensations l The compensation code is fixed –Java try P catch e Q –Q is the compensation for the already executed part of P –Q does not depend on when P has been interrupted l First approach that has been proposed l Still the most used in practice (WS-BPEL) l Not flexible enough

Dynamic compensations l The compensation can be updated during the computation –To take into account the changes in what has been done l A primitive to define a new compensation is needed –The new compensation may possibly extend the old one

Syntax of the calculus

Simple examples

Simple examples: compensation update

Classes of calculi l Dynamic compensations l Nested compensations l Parallel compensations l Replacing compensations l Static compensations

Classes of calculi

l Dynamic compensations l Nested compensations l Parallel compensations l Replacing compensations l Static compensations –Compensation updates are never used

A partial order Dynamic Replacing Nested Parallel Static Are the inclusions strict?

A partial order Dynamic Replacing Nested Parallel Static [ESOP2010] Relying on complex conditions on allowed encodings and operators [Here] Decidability of termination

Map of the talk l Long-running transactions l Compensation installation l Gap in the expressive power l Conclusions

Undecidability for nested compensations l We prove that they can code RAMs l RAMs are a Turing powerful model –Termination is undecidable l A RAM includes –A set of registers containing non negative integers –A set of indexed instructions l Two possible instructions –Inc(r j ): increment r j and go to next instruction –DecJump(r j,s): if r j is 0 go to instruction s, otherwise decrement r j and go to next instruction, l A RAM terminates if an undefined instruction is reached

Encoding idea

Decidability for parallel/replacing compensations l We exploit the theory of Well-Structured Transition Systems (WSTS) l Termination is known to be decidable for WSTS l We just have to prove that for each process P its derivatives form a WSTS

Well Quasi Ordering (wqo) l A reflexive and transitive relation (S,≤) is a wqo if given an infinite sequence s 1,s 2,… of elements in S, there exist i<j such that s i ≤s j

Well-Structured Transition System (S,→,≤) is a WSTS if –(S,→) is a finitely branching transition system –(S,≤) is a wqo –Compatibility: for every s 1 →s 2 and s 1 ≤t 1 there exists t 1 →t 2 such that s 2 ≤t 2 s1s1 t2t2 s2s2 t1t1 ≤ ≤

Idea of the proof l Given a process P with parallel or replacing compensations in its derivatives –No new names are generated –The set of sequential subprocesses never increases l This is not the case for nested compensations, since they allow to create infinitely many sequential processes l The order in the next slide is a wqo thanks to Higman’s lemma l Compatibility holds l Decidability follows from the theory of WSTS

Wqo on processes

Map of the talk l Long-running transactions l Compensation installation l Gap in the expressive power l Conclusions

Summary l We distinguished different forms of compensation installation l We showed that decidability of termination allows to highlight a gap between –Dynamic and nested compensations on one side –Static, parallel and replacing compensations on the other side l The result is robust –Different ways of managing subtransactions –The same holds for CCS with similar primitives l Absence of restriction is fundamental

Future work l Can we give termination preserving encodings of –Dynamic into nested compensations? –Parallel/replacing into static compensations? l The full picture of the expressive power of primitives for long running transactions is still far –Other dimensions –Which is the impact of the underlying calculus?

End of talk