Journal article icon

Journal article

Checkpoint-based rollback recovery in session-based programming

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.
Publication status:
Published
Peer review status:
Peer reviewed

Actions

Access Document

Files:
Publisher copy:
10.46298/lmcs-21(1:2)2025

Authors

More by this author
Institution:
University of Oxford
Division:
MPLS
Department:
Computer Science
Role:
Author


More from this funder
Funder identifier:
https://ror.org/001aqnf71
Grant:
10066667
More from this funder
Funder identifier:
https://ror.org/0439y7842
Grant:
EP/N028201/1 - 72043/2
EP/X015955/1 - 316931
EP/T006544/2
EP/T014709/2
EP/N027833/2
RE21850
309899


Publisher:
Logical Methods in Computer Science
Journal:
Logical Methods in Computer Science More from this journal
Volume:
21
Issue:
1
Pages:
2:1–2:36
Publication date:
2025-01-10
Acceptance date:
2024-11-26
DOI:
ISSN:
1860-5974


Language:
English
Pubs id:
2074682
Local pid:
pubs:2074682
Deposit date:
2025-01-07
ARK identifier:

Terms of use


Views and Downloads






If you are the owner of this record, you can report an update to it here: Report update to this record

TO TOP