Causally Consistent Reversible Choreographies

Under a reversible semantics, computation steps can be undone. This paper addresses the integration of reversible semantics into process languages for communication-centric systems, equipped with behavioral types. In prior work, we introduced a monitors-as-memories approach to seamlessly integrate reversible semantics into a process model in which concurrency is governed by session types (a class of behavioral types), covering binary (two-party) protocols with synchronous communications. Although such a model offers a simple setting for showcasing our approach, its expressiveness is rather limited. Here we substantially extend our approach, and use it to define reversible semantics for a very expressive process model that accounts for multiparty (n-party) protocols (choreographies), asynchronous communication, decoupled rollbacks, and process passing. As main technical result, we prove that our multiparty, reversible semantics is causally-consistent.

[1]  Ugo de'Liguoro,et al.  A Game Interpretation of Retractable Contracts , 2016, COORDINATION.

[2]  Matthew Hennessy,et al.  Communicating Transactions - (Extended Abstract) , 2010, CONCUR.

[3]  Ivan Lanese,et al.  Retractable Contracts , 2015, PLACES.

[4]  Nobuko Yoshida,et al.  On asynchronous eventful session semantics , 2016, Math. Struct. Comput. Sci..

[5]  Nobuko Yoshida,et al.  Multiparty asynchronous session types , 2008, POPL '08.

[6]  Ivan Lanese,et al.  Advanced Mechanisms for Service Combination and Transactions , 2011, Results of the SENSORIA Project.

[7]  Nobuko Yoshida,et al.  Reversible session-based pi-calculus , 2015, J. Log. Algebraic Methods Program..

[8]  Davide Sangiorgi,et al.  On Barbed Equivalences in pi-Calculus , 2001, CONCUR.

[9]  Mariangiola Dezani-Ciancaglini,et al.  Compliance for reversible client/server interactions , 2014, BEAT.

[10]  Ivan Lanese,et al.  Foundations of Session Types and Behavioural Contracts , 2016, ACM Comput. Surv..

[11]  Mariangiola Dezani-Ciancaglini,et al.  Reversible Multiparty Sessions with Checkpoints , 2016, EXPRESS/SOS.

[12]  Ivan Lanese,et al.  Reversibility in the higher-order π-calculus , 2016, Theor. Comput. Sci..

[13]  Claudio Antares Mezzina,et al.  Reversibility in session-based concurrency: A fresh look , 2017, J. Log. Algebraic Methods Program..

[14]  Vincent Danos,et al.  Reversible Communicating Systems , 2004, CONCUR.

[15]  Davide Sangiorgi,et al.  Expressing mobility in process algebras : first-order and higher-order paradigms , 1993 .

[16]  Laura Bocchi,et al.  Monitoring Networks through Multiparty Session Types , 2013, FMOODS/FORTE.

[17]  Luca Padovani,et al.  A Gentle Introduction to Multiparty Asynchronous Session Types , 2015, SFM.

[18]  Nobuko Yoshida,et al.  On the Relative Expressiveness of Higher-Order Session Processes , 2016, ESOP.

[19]  Ivan Lanese,et al.  Causal-Consistent Reversibility , 2014, Bull. EATCS.

[20]  Ilaria Castellani,et al.  Self-adaptation and secure information flow in multiparty communications , 2016, Formal Aspects of Computing.

[21]  Matthew Hennessy,et al.  A distributed Pi-calculus , 2007 .

[22]  Ioana Cristescu,et al.  Contextual equivalences in configuration structures and reversibility , 2015, J. Log. Algebraic Methods Program..

[23]  Vasco Thudichum Vasconcelos,et al.  Language Primitives and Type Discipline for Structured Communication-Based Programming Revisited: Two Systems for Higher-Order Session Communication , 1998, SecReT@ICALP.

[24]  Claudio Antares Mezzina,et al.  Reversible Sessions Using Monitors , 2016, PLACES.

[25]  Nobuko Yoshida,et al.  Structured Interactional Exceptions in Session Types , 2008, CONCUR.

[26]  Nobuko Yoshida,et al.  Reversing Single Sessions , 2016, RC.

[27]  Nobuko Yoshida,et al.  Two Session Typing Systems for Higher-Order Mobile Processes , 2007, TLCA.

[28]  Vincent Danos,et al.  Transactions in RCCS , 2005, CONCUR.

[29]  Mariangiola Dezani-Ciancaglini,et al.  Reversible client/server interactions , 2016, Formal Aspects of Computing.