Section: New Results
Models for Reliability
Participant : Ivan Lanese.
Reversibility
We have continued the study of reversibility started in the past years. In particular, in [19], we thoroughly studied causal-consistent reversibility in the coordination language Klaim [50], a distributed version of Linda [49]. More specifically, we gave an abstract specification of a causal-consistent rollback operator and showed that our semantics satisfies it. The main novelty of Klaim w.r.t. process calculi studied in past work is that it includes a primitive to read a datum without consuming it, that, from the causality point of view, creates asymmetric dependencies. The same technique could be used to reverse languages with shared memory.
In [24] we studied how to exploit reversibility to improve client-server interactions. In particular, we defined retractable contracts, namely contracts including the possibility of undoing past agreements, which are more expressive than standard session contracts for binary interactions [48], yet preserve their nice properties: compliance and the subcontract relation are both decidable in polynomial time, the dual of a contract always exists and has a simple syntactic characterization. Furthermore we showed that the same contracts can also describe speculative interactions.