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
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- Border Patrol: Improving Smart Device Security through Type-Aware Systems Design; Funder: UK Research and Innovation; Code: EP/N028201/1
- Trustworthy and Resilient Decentralised Intelligence for Edge Systems; Funder: UK Research and Innovation; Code: 10066667
- Session Types for Reliable Distributed Systems (STARDUST); Funder: UK Research and Innovation; Code: EP/T014709/2
- Conversation-Based Governance for Distributed Systems by Multiparty Session Types; Funder: UK Research and Innovation; Code: EP/K011715/1
- Causal debugging for concurrent systems; Funder: French National Research Agency (ANR); Code: ANR-18-CE25-0007
- POST: Protocols, Observabilities and Session Types; Funder: UK Research and Innovation; Code: EP/T006544/2
- Turtles: Protocol-Based Foundations for Distributed Multiagent Systems; Funder: UK Research and Innovation; Code: EP/N027833/2
- Trustworthy and Resilient Decentralised Intelligence for Edge Systems; Funder: European Commission; Code: 101093006
- Morello-HAT: Morello High-Level API and Tooling; Funder: European Commission; Code: EP/X015955/1
- AppControl: Enforcing Application Behaviour through Type-Based Constraints; Funder: European Commission; Code: EP/V000462/1