To react to unforeseen circumstances or amend abnormal situations in communi-cation-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.

Checkpoint-based rollback recovery in session programming / Mezzina, Claudio Antares; Tiezzi, Francesco; Yoshida, Nobuko. - In: LOGICAL METHODS IN COMPUTER SCIENCE. - ISSN 1860-5974. - ELETTRONICO. - Volume 21, Issue 1:(2025), pp. 1-36. [10.46298/lmcs-21(1:2)2025]

Checkpoint-based rollback recovery in session programming

Tiezzi, Francesco;
2025

Abstract

To react to unforeseen circumstances or amend abnormal situations in communi-cation-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.
2025
Volume 21, Issue 1
1
36
Mezzina, Claudio Antares; Tiezzi, Francesco; Yoshida, Nobuko
File in questo prodotto:
File Dimensione Formato  
LMCS_25.pdf

Accesso chiuso

Tipologia: Pdf editoriale (Version of record)
Licenza: Open Access
Dimensione 752.23 kB
Formato Adobe PDF
752.23 kB Adobe PDF   Richiedi una copia

I documenti in FLORE sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificatore per citare o creare un link a questa risorsa: https://hdl.handle.net/2158/1439137
Citazioni
  • ???jsp.display-item.citation.pmc??? ND
  • Scopus 3
  • ???jsp.display-item.citation.isi??? 2
social impact