Towards Reversible Sessions
Abstract
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 interaction. We thus enrich a session-based variant of pi-calculus with memory devices, dedicated to keep track of the computation history of sessions in order to reverse it. We discuss our initial investigation concerning the definition of a session type discipline for the proposed reversible calculus, and its practical advantages for static verification of safe composition in communication-centric distributed software performing reversible computations.
- Publication:
-
arXiv e-prints
- Pub Date:
- June 2014
- DOI:
- 10.48550/arXiv.1406.3480
- arXiv:
- arXiv:1406.3480
- Bibcode:
- 2014arXiv1406.3480T
- Keywords:
-
- Computer Science - Programming Languages;
- Computer Science - Logic in Computer Science;
- Computer Science - Software Engineering
- E-Print:
- In Proceedings PLACES 2014, arXiv:1406.3313