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.| 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.



