Skip to main content

Giovanni Fabbretti

Friday October 11th, 2024

A Theory of Distributed Reversible Systems with Failures and Recovery

Abstract:
Reversible systems are naturally endowed with the capability of executing both forwards and backwards. Being able to execute backwards comes useful in many different ways: debugging, error-recovery, design of sound programming primitives, etc.
Most programming languages are not designed with reversibility in mind and thus lack the ability to undo their actions. The issue is that most programming languages allow functions whose inverse does not exist. However, this issue can be overcome by employing memories to save the program state before performing each action, so that, upon necessity, memories can be looked up to restore a past state.
This thesis explores the following two paths. First, we provide an implementation of the general approach proposed by Lanese and Medić to derive reversible semantics starting from non-reversible ones for concurrent systems. Then, we investigate possible notions of reversibility in settings where some memories may be lost as a side effect of some events. In particular, the case study we chose is distributed systems and the events that cause the memory loss are failures.

Date and place

Friday October 11th at 9:30 AM
Maison Jean Kuntzmann, dans l’amphithéâtre Jean Kuntzmann
And Zoom

Jury members

Jean-Bernard STEFANI
INRIA, Grenoble, supervisor
Alan SCMITT
(INRIA, Rennes), Reviewer
Adrian FRANCALANZA
(Univ. Malta, Malta), Reviewer
Claudio MESSINA
(Univ. Urbino, Italy), Examiner
Gwen SALAUN
(UGA), Exainer
Ilaria CASTELLANI
(INRIA, Sophia-Antipolis), Examiner
Ivan LANESE
(Univ. Bologna, Italy), Invité
 

Submitted on October 10, 2024

Updated on October 10, 2024