A Truly Concurrent Semantics for Reversible CCS (2309.14011v4)
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.
- Bogdan Aman et al. Foundations of reversible computation. In Reversible Computation: Extending Horizons of Computing - Selected Results of the COST Action IC1405, volume 12070 of LNCS, pages 1–40. Springer, 2020. doi:10.1007/978-3-030-47361-7_1.
- How reversibility can solve traditional questions: The example of hereditary history-preserving bisimulation. In Igor Konnov and Laura Kovács, editors, 31st International Conference on Concurrency Theory, CONCUR 2020, volume 171 of LIPIcs, pages 7:1–7:23. Schloss Dagstuhl - Leibniz-Zentrum für Informatik, 2020. doi:10.4230/LIPIcs.CONCUR.2020.7.
- Clément Aubert. Concurrencies in reversible concurrent calculi. In Claudio Antares Mezzina and Krzysztof Podlaski, editors, Reversible Computation - 14th International Conference, RC 2022, Urbino, Italy, July 5-6, 2022, Proceedings, volume 13354 of Lecture Notes in Computer Science, pages 146–163. Springer, 2022. doi:10.1007/978-3-031-09005-9_10.
- Clément Aubert. The correctness of concurrencies in (reversible) concurrent calculi. J. Log. Algebraic Methods Program., 136:100924, 2024. doi:10.1016/J.JLAMP.2023.100924.
- Flow models of distributed computations: Three equivalent semantics for CCS. Information and Computation, 114(2):247–314, 1994. doi:10.1006/inco.1994.1088.
- Open compliance in multiparty sessions. In Formal Aspects of Component Software - 18th International Conference, FACS 2022, Virtual Event, November 10-11, 2022, Proceedings, pages 222–243, 2022. doi:10.1007/978-3-031-20872-0_13.
- Distributed semantics for the pi-calculus based on Petri nets with inhibitor arcs. J. Log. Algebraic Methods Program., 78(3):138–162, 2009. doi:10.1016/j.jlap.2008.08.002.
- Gérard Boudol. Flow event structures and flow nets. In Semantics of Systems of Concurrent Processes, LITP Spring School on Theoretical Computer Science, La Roche Posay, France, April 23-27, 1990, Proceedings, volume 469 of LNCS, pages 62–95. Springer, 1990. doi:10.1007/3-540-53479-2_4.
- A theory of contracts for web services. ACM Transactions on Programming Languages and Systems (TOPLAS), 31(5):1–61, 2009.
- A compositional semantics for the reversible p-calculus. In 28th Annual ACM/IEEE Symposium on Logic in Computer Science, LICS 2013, New Orleans, LA, USA, June 25-28, 2013, pages 388–397. IEEE Computer Society, 2013. doi:10.1109/LICS.2013.45.
- Rigid families for the reversible π𝜋\piitalic_π-calculus. In Reversible Computation - 8th International Conference, RC 2016, volume 9720, pages 3–19. Springer, 2016. doi:10.1007/978-3-319-40578-0_1.
- Bruno Courcelle. Fundamental properties of infinite trees. Theoretical Computer Science, 25(2):95–169, 1983. doi:10.1016/0304-3975(83)90059-2.
- Reversible communicating systems. In CONCUR 2004 - Concurrency Theory, volume 3170 of LNCS, pages 292–307. Springer, 2004.
- A distributed operational semantics for CCS based on condition/event systems. Acta Informatica, 26(1/2):59–91, 1988. doi:10.1007/BF02915446.
- Proved trees. In Werner Kuich, editor, Automata, Languages and Programming, 19th International Colloquium, ICALP92, volume 623 of Lecture Notes in Computer Science, pages 629–640. Springer, 1992. doi:10.1007/3-540-55719-9\_110.
- Ursula Goltz. CCS and Petri Nets. In Semantics of Systems of Concurrent Processes, LITP Spring School on Theoretical Computer Science, La Roche Posay, France, April 23-27, 1990, Proceedings, volume 469 of LNCS, pages 334–357. Springer, 1990. doi:10.1007/3-540-53479-2_14.
- Event structure semantics of (controlled) reversible CCS. In Reversible Computation RC 2018, volume 11106 of LNCS, pages 102–122. Springer, 2018. doi:10.1007/978-3-319-99498-7_7.
- Event structure semantics of (controlled) reversible CCS. Journal of Logical and Algebraic Methods in Programming, 2021. doi:10.1016/j.jlamp.2021.100686.
- Jean Krivine. A verification technique for reversible process algebra. In Reversible Computation RC 2012. Revised Papers, volume 7581 of LNCS. Springer, 2013. doi:10.1007/978-3-642-36315-3.
- Rom Langerak. Bundle event structures: a non-interleaving semantics for LOTOS. In Formal Description Techniques, V, Proceedings of the IFIP TC6/WG6.1 FORTE 92, volume C-10 of IFIP Transactions, pages 331–346. North-Holland, 1992.
- Causal ambiguity and partial orders in event structures. In CONCUR ’97: Concurrency Theory, volume 1243 of LNCS, pages 317–331. Springer, 1997. doi:10.1007/3-540-63141-0_22.
- Static versus dynamic reversibility in CCS. Acta Informatica, 58(1):1–34, 2021. doi:10.1007/s00236-019-00346-6.
- Reversibility in the higher-order π𝜋\piitalic_π-calculus. Theor. Comput. Sci., 625:25–84, 2016. doi:10.1016/j.tcs.2016.02.019.
- Claudio Antares Mezzina et al. Software and reversible systems: A survey of recent activities. In Reversible Computation: Extending Horizons of Computing - Selected Results of the COST Action IC1405, volume 12070 of LNCS, pages 41–59. Springer, 2020. doi:10.1007/978-3-030-47361-7_2.
- Robin Milner. A Calculus of Communicating Systems, volume 92 of LNCS. Springer, 1980. doi:10.1007/3-540-10235-3.
- Reversible occurrence nets and causal reversible prime event structures. In Reversible Computation RC 2020, volume 12227 of LNCS, pages 35–53. Springer, 2020. doi:10.1007/978-3-030-52482-1_2.
- A distributed operational view of reversible prime event structures. In Proceedings of the 36rd Annual ACM/IEEE Symposium on Logic in Computer Science, LICS 2021, pages 1–13. IEEE, 2021. doi:10.1109/LICS52264.2021.9470623.
- Towards a truly concurrent semantics for reversible CCS. In Shigeru Yamashita and Tetsuo Yokoyama, editors, Reversible Computation - 13th International Conference, RC 2021, volume 12805 of Lecture Notes in Computer Science, pages 109–125. Springer, 2021. doi:10.1007/978-3-030-79837-6_7.
- Relating reversible Petri nets and reversible event structures, categorically. In Marieke Huisman and António Ravara, editors, Formal Techniques for Distributed Objects, Components, and Systems - 43rd IFIP WG 6.1 International Conference, FORTE 2023, Held as Part of the 18th International Federated Conference on Distributed Computing Techniques, DisCoTec 2023, Lisbon, Portugal, June 19-23, 2023, Proceedings, volume 13910 of Lecture Notes in Computer Science, pages 206–223. Springer, 2023. doi:10.1007/978-3-031-35355-0_13.
- Reversing place transition nets. Log. Methods Comput. Sci., 16(4), 2020. URL: https://lmcs.episciences.org/6843.
- Petri Nets, Event Structures and Domains, Part 1. Theoretical Computer Science, 13:85–108, 1981. doi:10.1016/0304-3975(81)90112-2.
- Benjamin C. Pierce. Types and programming languages. MIT Press, 2002.
- Reversing algebraic process calculi. J. Log. Algebraic Methods Program., 73(1-2):70–96, 2007. doi:10.1016/j.jlap.2006.11.002.
- Wolfgang Reisig. Petri Nets: An Introduction, volume 4 of EATCS Monographs on Theoretical Computer Science. Springer, 1985. doi:10.1007/978-3-642-69968-9.
- Claus Reinke. Haskell-Coloured Petri Nets. In Pieter W. M. Koopman and Chris Clack, editors, Implementation of Functional Languages, 11th International Workshop, IFL’99, volume 1868 of Lecture Notes in Computer Science, pages 165–180. Springer, 1999. doi:10.1007/10722298\_10.
- Glynn Winskel. Event Structures. In Petri Nets: Applications and Relationships to Other Models of Concurrency, volume 255 of LNCS, pages 325–392. Springer, 1986. doi:10.1007/3-540-17906-2_31.
- Glynn Winskel. An introduction to event structures. In J. W. de Bakker, Willem P. de Roever, and Grzegorz Rozenberg, editors, Linear Time, Branching Time and Partial Order in Logics and Models for Concurrency, School/Workshop, Noordwijkerhout, The Netherlands, May 30 - June 3, 1988, Proceedings, volume 354 of Lecture Notes in Computer Science, pages 364–397. Springer, 1988.