Checkpoint-based rollback recovery in session programming

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.

Authors

Publication Details

Journal
Logical Methods in Computer Science
Published
2025-01-10
DOI
https://doi.org/10.46298/lmcs-21(1:2)2025
Citations
2
Primary Topic
Distributed systems and fault tolerance
Type
article
Field-Weighted Citation Impact
2.97

Funders

Controls
|||
ALL TIME
JAN
FEB
MAR
APR
MAY
JUN
JUL
AUG
SEP
OCT
article

Checkpoint-based rollback recovery in session programming

Francesco Tiezzi, Claudio Antares Mezzina, Nobuko Yoshida
2 citations
Logical Methods in Computer Science
Distributed systems and fault tolerance
2.97
article

Checkpoint-based rollback recovery in session programming

Francesco Tiezzi, Claudio Antares Mezzina, Nobuko Yoshida
article en
2 citations

Abstract

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.

Logical Methods in Computer ScienceVol. Volume 21, Issue 1
Istituto Nazionale di Alta Matematica "Francesco Severi", Gruppo Nazionale per il Calcolo Scientifico, Engineering and Physical Sciences Research Council
Peace, Justice and strong institutions
Openalex Percentile: Top 11%
Distributed systems and fault tolerance
2.97
AI Navigator

Ask Laika to Summarize, Analyze, and Connect papers live on the map.

Summarize Papers & Methodologies

Extract key findings, datasets, and comparative methods across publications.

Benchmark Rankings & Visual Analytics

Rank top research institutions, authors, funders, topics, and journals by Field-Weighted Citation Impact (FWCI) and paper volume with instant charts.

Connect Distant Disciplines

Bridge topological clusters on the map to find hidden collaborative intersections.