Causal-consistent rollback in a tuple-based language

Abstract : Rollback is a fundamental technique for ensuring reliability of systems, allowing one, in case of troubles, to recover a past system state. However, the definition of rollback in a concurrent/distributed scenario is quite tricky. We propose an approach based on the notion of causal-consistent reversibility: any given past action can be undone, provided that all the actions caused by it are undone as well. Given that, we define a rollback as the minimal causal-consistent sequence of backward steps able to undo a given action. We define the semantics of such a rollback operator, and show that it satisfies the above specification. The approach that we present is quite general, but we instantiate it in the case of µKlaim, a formal coordination language based on distributed tuple spaces. We remark that this is the first definition of causal-consistent rollback in a shared-memory setting. We illustrate the use of rollback in µKlaim on a simple, but realistic, application scenario.
Type de document :
Article dans une revue
Journal of Logical and Algebraic Methods in Programming, Elsevier, 2017, 88, pp.99 - 120. 〈10.1016/j.jlamp.2016.09.003〉
Liste complète des métadonnées

Littérature citée [35 références]  Voir  Masquer  Télécharger

https://hal.inria.fr/hal-01633260
Contributeur : Ivan Lanese <>
Soumis le : dimanche 12 novembre 2017 - 09:11:22
Dernière modification le : jeudi 11 janvier 2018 - 17:07:42

Fichier

main.pdf
Fichiers produits par l'(les) auteur(s)

Identifiants

Collections

Citation

Elena Giachino, Ivan Lanese, Claudio Antares Mezzina, Francesco Tiezzi. Causal-consistent rollback in a tuple-based language. Journal of Logical and Algebraic Methods in Programming, Elsevier, 2017, 88, pp.99 - 120. 〈10.1016/j.jlamp.2016.09.003〉. 〈hal-01633260〉

Partager

Métriques

Consultations de la notice

16

Téléchargements de fichiers

10