A Truly Concurrent Semantics for Reversible CCS
Hernán Melgratti, Claudio Antares Mezzina, G. Michele Pinna
TL;DR
The paper addresses the challenge of giving RCCS a truly concurrent semantics by encoding CCS processes into unravel nets and then enriching them to reversible unravel nets, thereby embedding RCCS history directly into the net structure. The authors develop a direct, net-based encoding that preserves causality and reversibility, prove a forward-reverse bisimulation between RCCS terms and the resulting reversible nets, and extend the approach to infinite/coinductive processes. A practical Haskell implementation demonstrates the viability of the encoding and simulation, highlighting the potential for scalable, truly concurrent reversible models. This work advances the integration of reversible process calculi with Petri-net semantics, enabling robust, concurrent reasoning about reversible computations in distributed systems.
Abstract
Reversible CCS (RCCS) is a well-established, formal model for reversible communicating systems, which has been built on top of the classical Calculus of Communicating Systems (CCS). In its original formulation, each CCS process is equipped with a memory that records its performed actions, which is then used to reverse computations. More recently, abstract models for RCCS have been proposed in the literature, basically, by directly associating RCCS processes with (reversible versions of) event structures. In this paper we propose a different abstract model: starting from one of the well-known encoding of CCS into Petri nets we apply a recently proposed approach to incorporate causally-consistent reversibility to Petri nets, obtaining as result the (reversible) net counterpart of every RCCS term.
