Towards Reversible Sessions

  title={Towards Reversible Sessions},
  author={Francesco Tiezzi and Nobuko Yoshida},
In this work, we incorporate reversibility into structured communication-based programming, to allow parties of a session to automatically undo, in a rollback fashion, the effect of previously executed interactions. This permits taking different computation paths along the same session, as well as reverting the whole session and starting a new one. Our aim is to define a theoretical basis for examining the interplay in concurrent systems between reversible computation and session-based… 

Reversible session-based pi-calculus

Reversibility in session-based concurrency: A fresh look

Compliance for reversible client/server interactions

This paper investigates protocols admitting a simple, though non trivial form of reversibility in the framework of the theory of contracts introduced in [4] and developed in a series of papers, e.g. [5].

Reversible client/server interactions

After adding checkpoints to the syntax of session behaviours, the operational semantics is formalised via an LTS, and natural notions of checkpoint compliance and sub-behaviour are defined, which prove to be both decidable andidable.

2 Contracts for Retractable and Speculative Interactions

Behavioral contracts are abstract descriptions of the communications that clients and servers perform. Behavioral contracts come naturally equipped with a notion of compliance: when a client and a

The Concurrency Column Causal-consistent Reversibility *

This paper presents an overview of the main approaches, results, and applications of causal-consistent reversibility.

Retractable and Speculative Contracts

It is shown that the two extensions of contracts, dealing respectively with backtracking and with speculative execution, give rise to the same notion of compliance, which determines when one server can be replaced by another preserving compliance.

Causal-Consistent Reversibility

This paper presents an overview of the main approaches, results, and applications of causal-consistent reversibility.

Specification and analysis of service oriented architectures within the calculus of communicating sequential processes (CSP)

This thesis proposes a new formal modelling language for SOC systems which is adequately expressive to model the previous concepts and provides an implementation for the new modelling language in a model checker to facilitate automated formal reasoning on systems properties like: good/bad traces, deadlock- freedom, and livelock-freedom.

A theory of retractable and speculative contracts



Causal-Consistent Reversibility in a Tuple-Based Language

This work considers both uncontrolled reversibility, suitable to study the basic properties of the reversibility mechanism, and controlled reversibility based on a rollback operator, more suitable for programming applications.

Controlling Reversibility in Higher-Order Pi

A fine-grained rollback primitive for the higher-order π-calculus (HOπ), that builds on the reversibility apparatus of reversible HOπ, is presented and a high-level operational semantics is defined which is sound and complete with respect to reversibleHOπ backward reduction.

Reversible structures

A compilation of a concurrent calculus -- the asynchronous RCCS -- to DNA via reversible structures is defined, thus yielding a finegrain implementation of memories of the past into chemistry.

Reversing Higher-Order Pi

It is proved that reversibility in the authors' calculus is causally consistent and that one can encode faithfully reversible HOπ into a variant of HOπ.

Reversible Communicating Systems

A process algebra RCCS, in the style of CCS, where processes can backtrack is obtained, and it is shown that, given a past, a computation step can be taken back if and only if it leads to a causally equivalent past.

A Compositional Semantics for the Reversible p-Calculus

We introduce a labelled transition semantics for the reversible π-calculus. It is the first account of a compositional definition of a reversible calculus, that has both concurrency primitives and

Formal Molecular Biology done in CCS

CCS-R, a reversible variant of Milner’s CCS, is presented and this simple process algebra offers a backtracking mechanism which is shown to be sound and how biological systems satisfying a “perfect mix” assumption can be formalized within C CS-R is discussed.

Reversing algebraic process calculi

Formal Molecular Biology Done in CCS-R