Checkpoint-based rollback recovery in session programmingArticle
Authors: Claudio Antares Mezzina ; Francesco Tiezzi ; Nobuko Yoshida
NULL##NULL##NULL
Claudio Antares Mezzina;Francesco Tiezzi;Nobuko Yoshida
To react to unforeseen circumstances or amend abnormal situations in communication-centric systems, programmers are in charge of "undoing" the interactions which led to an undesired state. To assist this task, session-based languages can be endowed with reversibility mechanisms. In this paper we propose a language enriched with programming facilities to commit session interactions, to roll back the computation to a previous commit point, and to abort the session. Rollbacks in our language always bring the system to previous visited states and a rollback cannot bring the system back to a point prior to the last commit. Programmers are relieved from the burden of ensuring that a rollback never restores a checkpoint imposed by a session participant different from the rollback requester. Such undesired situations are prevented at design-time (statically) by relying on a decidable compliance check at the type level, implemented in MAUDE. We show that the language satisfies error-freedom and progress of a session.
Volume: Volume 21, Issue 1
Secondary volumes: Selected Papers of the 43rd International Conference on Formal Techniques for Distributed Objects, Components and Systems and the 25th International Conference on Coordination Models and Languages (FORTE and COORDINATION 2023)
Published on: January 10, 2025
Accepted on: November 25, 2024
Submitted on: December 6, 2023
Keywords: Computer Science - Programming Languages, Computer Science - Logic in Computer Science
Funding:
Source : OpenAIRE Graph- Turtles: Protocol-Based Foundations for Distributed Multiagent Systems; Funder: UK Research and Innovation; Code: EP/N027833/2
- POST: Protocols, Observabilities and Session Types; Funder: UK Research and Innovation; Code: EP/T006544/2
- Trustworthy and Resilient Decentralised Intelligence for Edge Systems; Funder: UK Research and Innovation; Code: 10066667
- Border Patrol: Improving Smart Device Security through Type-Aware Systems Design; Funder: UK Research and Innovation; Code: EP/N028201/1
- Morello-HAT: Morello High-Level API and Tooling; Funder: UK Research and Innovation; Code: EP/X015955/1
- AppControl: Enforcing Application Behaviour through Type-Based Constraints; Funder: UK Research and Innovation; Code: EP/V000462/1
- Conversation-Based Governance for Distributed Systems by Multiparty Session Types; Funder: UK Research and Innovation; Code: EP/K011715/1
- Trustworthy and Resilient Decentralised Intelligence for Edge Systems; Funder: European Commission; Code: 101093006
- Causal debugging for concurrent systems; Funder: French National Research Agency (ANR); Code: ANR-18-CE25-0007
- Session Types for Reliable Distributed Systems (STARDUST); Funder: UK Research and Innovation; Code: EP/T014709/2