Checkpoint-based rollback recovery in session programming

Fuente: arXiv
Salvato in:
Dettagli Bibliografici
Autori principali: Mezzina, Claudio Antares, Tiezzi, Francesco, Yoshida, Nobuko
Natura: Preprint
Pubblicazione: 2023
Soggetti:
Accesso online:
Tags: Aggiungi Tag
Nessun Tag, puoi essere il primo ad aggiungerne!!
_version_ 1866909456151871488
author Mezzina, Claudio Antares
Tiezzi, Francesco
Yoshida, Nobuko
author_facet Mezzina, Claudio Antares
Tiezzi, Francesco
Yoshida, Nobuko
contents 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.
format Preprint
id arxiv_https___arxiv_org_abs_2312_02851
institution arXiv
publishDate 2023
record_format arxiv
spellingShingle Checkpoint-based rollback recovery in session programming
Mezzina, Claudio Antares
Tiezzi, Francesco
Yoshida, Nobuko
Programming Languages
Logic in Computer Science
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.
title Checkpoint-based rollback recovery in session programming
topic Programming Languages
Logic in Computer Science
url https://arxiv.org/abs/2312.02851