Skip to main content

Explicit Identifiers and Contexts in Reversible Concurrent Calculus

  • Conference paper
  • First Online:
Reversible Computation (RC 2021)

Abstract

Existing formalisms for the algebraic specification and representation of networks of reversible agents suffer some shortcomings. Despite multiple attempts, reversible declensions of the Calculus of Communicating Systems (CCS) do not offer satisfactory adaptation of notions usual in “forward-only” process algebras, such as replication or context. Existing formalisms disallow the “hot-plugging” of processes during their execution in contexts with their own past. They also assume the existence of “eternally fresh” keys or identifiers that, if implemented poorly, could result in unnecessary bottlenecks and look-ups involving all the threads. In this paper, we begin investigating those issues, by first designing a process algebra endowed with a mechanism to generate identifiers without the need to consult with the other threads. We use this calculus to recast the possible representations of non-determinism in CCS, and as a by-product establish a simple and straightforward definition of concurrency. Our reversible calculus is then proven to satisfy expected properties. We also observe that none of the reversible bisimulations defined thus far are congruences under our notion of “reversible” contexts.

This work has been supported by French ANR project DCore ANR-18-CE25-0007.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    Of course, due credit should be given for those previous calculi, that strongly inspired ours, and into which our system can be partially embedded, cf. Sect. 3.3.

  2. 2.

    We use this label to annotate the “internally non-deterministic” transitions introduced by the operator \(\sqcap \). It can be identified with \(\tau \) for simplicity if need be, and as \(\tau \), it does not have a complement.

References

  1. Abadi, M., Blanchet, B., Fournet, C.: The applied Pi calculus: mobile values, new names, and secure communication. J. ACM 65(1), 1:1–1:41 (2018). https://doi.org/10.1145/3127586

  2. Amadio, R.M.: Operational methods in semantics. Lecture notes, Université Denis Diderot Paris 7, December 2016. https://hal.archives-ouvertes.fr/cel-01422101

  3. Arpit, Kumar, D.: Calculus of concurrent probabilistic reversible processes. In: ICCCT, pp. 34–40. ICCCT-2017. ACM, New York, NY, USA (2017). https://doi.org/10.1145/3154979.3155004

  4. Aubert, C., Cristescu, I.: Reversible barbed congruence on configuration structures. In: ICE 2015. EPTCS, vol. 189, pp. 68–95 (2015). https://doi.org/10.4204/EPTCS.189.7

  5. Aubert, C., Cristescu, I.: Contextual equivalences in configuration structures and reversibility. J. Log. Algebr. Methods Program. 86(1), 77–106 (2017). https://doi.org/10.1016/j.jlamp.2016.08.004

  6. Aubert, C., Cristescu, I.: How reversibility can solve traditional questions: the example of hereditary history-preserving bisimulation. In: CONCUR. LIPIcs, vol. 2017, pp. 13:1–13:24. Schloss Dagstuhl (2020). https://doi.org/10.4230/LIPIcs.CONCUR.2020.13

  7. Aubert, C., Cristescu, I.: Structural equivalences for reversible calculi of communicating systems (oral communication). Research report, Augusta University (2020). https://hal.archives-ouvertes.fr/hal-02571597, communication at ICE 2020

  8. Aubert, C., Medić, D.: Enabling Replications and Contexts in Reversible Concurrent Calculus (Extended Version), May 2021. https://hal.archives-ouvertes.fr/hal-03183053

  9. Baier, C., Kwiatkowska, M.Z.: Domain equations for probabilistic processes. MSCS 10(6), 665–717 (2000). https://doi.org/10.1017/S0960129599002984

  10. Bednarczyk, M.A.: Hereditary history preserving bisimulations or what is the power of the future perfect in program logics. Technical report, Instytut Podstaw Informatyki PAN filia w Gdańsku (1991). http://www.ipipan.gda.pl/~marek/papers/historie.ps.gz

  11. Boudol, G., Castellani, I.: Permutation of transitions: an event structure semantics for CCS and SCCS. In: Linear Time, Branching Time and Partial Order in Logics and Models for Concurrency, School/Workshop, Noordwijkerhout, The Netherlands, 30 May–3 June 1988, Proceedings. LNCS, vol. 354, pp. 411–427. Springer (1988). https://doi.org/10.1007/BFb0013028

  12. Cox, G.: SimCCSK: simulation of the reversible process calculi CCSK. Master’s thesis, University of Leicester (4 2010). https://leicester.figshare.com/articles/thesis/SimCCSK_simulation_of_the_reversible_process_calculi_CCSK/ 10091681

  13. Cristescu, I., Krivine, J., Varacca, D.: A compositional semantics for the reversible p-calculus. In: LICS, pp. 388–397. IEEE Computer Society (2013). https://doi.org/10.1109/LICS.2013.45

  14. Cristescu, I., Krivine, J., Varacca, D.: Rigid families for CCS and the \(\pi \)-calculus. In: Theoretical Aspects of Computing - ICTAC 2015. LNCS, vol. 9399, pp. 223–240. Springer (2015). https://doi.org/10.1007/978-3-319-25150-9_14

  15. Danos, Vincent, Krivine, Jean: Reversible communicating systems. In: Gardner, Philippa, Yoshida, Nobuko (eds.) CONCUR 2004. LNCS, vol. 3170, pp. 292–307. Springer, Heidelberg (2004). https://doi.org/10.1007/978-3-540-28644-8_19

    Chapter  Google Scholar 

  16. Danos, V., Krivine, J.: Transactions in RCCS. In: Abadi, M., de Alfaro, L. (eds.) CONCUR 2005. LNCS, vol. 3653, pp. 398–412. Springer, Heidelberg (2005). https://doi.org/10.1007/11539452_31

    Chapter  Google Scholar 

  17. Fischer, N., van Glabbeek, R.J.: Axiomatising infinitary probabilistic weak bisimilarity of finite-state behaviours. J. Log. Algebr. Methods Program. 102, 64–102 (2019). https://doi.org/10.1016/j.jlamp.2018.09.006

  18. Frank, M.P., Brocato, R.W., Tierney, B.D., Missert, N.A., Hsia, A.H.: Reversible computing with fast, fully static, fully adiabatic CMOS. In: ICRC, Atlanta, GA, USA, 1–3 December 2020, pp. 1–8. IEEE (2020). https://doi.org/10.1109/ICRC2020.2020.00014

  19. van Glabbeek, R.J.: On specifying timeouts. Electron. Notes Theor. Comput. Sci. 162, 173–175 (2006). https://doi.org/10.1016/j.entcs.2005.12.083

  20. van Glabbeek, R.J., Höfner, P.: CCS: it’s not fair! - fair schedulers cannot be implemented in ccs-like languages even under progress and certain fairness assumptions. Acta Inform. 52(2–3), 175–205 (2015). https://doi.org/10.1007/s00236-015-0221-6

  21. Goubault-Larrecq, J.: Isomorphism theorems between models of mixed choice. MSCS 27(6), 1032–1067 (2017). https://doi.org/10.1017/S0960129515000547

  22. Graversen, E., Phillips, I., Yoshida, N.: Event structure semantics of (controlled) reversible CCS. In: RC 2018, Leicester, UK, September 12–14, 2018, Proceedings. LNCS, vol. 11106, pp. 102–122. Springer (2018). https://doi.org/10.1007/978-3-319-99498-7_7

  23. Hennessy, M.: A distributed Pi-calculus. CUP (2007). https://doi.org/10.1017/CBO9780511611063

  24. Hoare, C.A.R.: Communicating Sequential Processes. Prentice-Hall, Hoboken (1985)

    Google Scholar 

  25. Krivine, J.: Algèbres de Processus Réversible - Programmation Concurrente Déclarative. Ph.D. thesis, Université Paris 6 & INRIA Rocquencourt (2006). https://tel.archives-ouvertes.fr/tel-00519528

  26. Lanese, I., Lienhardt, M., Mezzina, C.A., Schmitt, A., Stefani, J.-B.: Concurrent flexible reversibility. In: Felleisen, M., Gardner, P. (eds.) ESOP 2013. LNCS, vol. 7792, pp. 370–390. Springer, Heidelberg (2013). https://doi.org/10.1007/978-3-642-37036-6_21

    Chapter  Google Scholar 

  27. Lanese, I., Medić, D., Mezzina, C.A.: Static versus dynamic reversibility in CCS. Acta Informatica 1–34 (2021). https://doi.org/10.1007/s00236-019-00346-6

  28. Lanese, I., Phillips, I.C.C., Ulidowski, I.: An axiomatic approach to reversible computation. In: FOSSACS 2020, Dublin, Ireland, 25–30 April 2020, Proceedings. LNCS, vol. 12077, pp. 442–461. Springer (2020). https://doi.org/10.1007/978-3-030-45231-5_23

  29. Lévy, J.J.: Réductions correctes et optimales dans le lambda-calcul. Ph.D. thesis, Paris 7, January 1978. http://pauillac.inria.fr/~levy/pubs/78phd.pdf

  30. Matthews, D.: How to get started in quantum computing. Nature 591(7848), 166–167, March 2021. https://doi.org/10.1038/d41586-021-00533-x

  31. Medić, D., Mezzina, C.A.: Static VS dynamic reversibility in CCS. In: RC 2016. LNCS, vol. 9720, pp. 36–51. Springer (2016). https://doi.org/10.1007/978-3-319-40578-0_3

  32. Medić, D., Mezzina, C.A., Phillips, I., Yoshida, N.: A parametric framework for reversible \(\pi \)-calculi. Inf. Comput. 275, 104644 (2020). https://doi.org/10.1016/j.ic.2020.104644

  33. Merro, M., Zappa Nardelli, F.: Behavioral theory for mobile ambients. J. ACM 52(6), 961–1023 (2005). https://doi.org/10.1145/1101821.1101825

  34. Mezzina, C.A., Koutavas, V.: A safety and liveness theory for total reversibility. In: TASE 2017, Sophia Antipolis, France, 13–15 September, pp. 1–8. IEEE (2017). https://doi.org/10.1109/TASE.2017.8285635

  35. Milner, R.: A Calculus of Communicating Systems. LNCS, Springer-Verlag (1980). https://doi.org/10.1007/3-540-10235-3

  36. Palamidessi, C., Valencia, F.D.: Recursion vs replication in process calculi: Expressiveness. Bull. EATCS 87, 105–125 (2005). http://eatcs.org/images/bulletin/beatcs87.pdf

  37. Perdrix, S., Jorrand, P.: Classically-controlled quantum computation. Electron. Notes Theor. Comput. Sci. 135(3), 119–128 (2006). https://doi.org/10.1016/j.entcs.2005.09.026

  38. Phillips, I., Ulidowski, I.: Reversing algebraic process calculi. In: Aceto, L., Ingólfsdóttir, A. (eds.) FoSSaCS 2006. LNCS, vol. 3921, pp. 246–260. Springer, Heidelberg (2006). https://doi.org/10.1007/11690634_17

    Chapter  Google Scholar 

  39. Phillips, I., Ulidowski, I.: Reversibility and models for concurrency. Electron. Notes Theor. Comput. Sci. 192(1), 93–108 (2007). https://doi.org/10.1016/j.entcs.2007.08.018

  40. Rosenberg, A.L.: Efficient pairing functions - and why you should care. Int. J. Found. Comput. Sci. 14(1), 3–17 (2003). https://doi.org/10.1142/S012905410300156X

  41. Sangiorgi, D.: Introduction to Bisimulation and Coinduction. CUP (2011)

    Google Scholar 

  42. Sangiorgi, D., Walker, D.: The Pi-calculus. CUP (2001)

    Google Scholar 

  43. Szudzik, M.P.: The Rosenberg-strong pairing function. CoRR abs/1706.04129 (2017)

    Google Scholar 

  44. de Visme, M.: Event structures for mixed choice. In: CONCUR. LIPIcs, vol. 140, pp. 11:1–11:16. Schloss Dagstuhl (2019). https://doi.org/10.4230/LIPIcs.CONCUR.2019.11

Download references

Acknowledgments

The authors wish to express their gratitude to Ioana Cristescu for asking some of the questions we tried to answer in this paper, to Assya Sellak for suggesting to use (something close to) caktus stacks to represent our memories, and to the reviewers for their interesting observations.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Clément Aubert .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2021 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Aubert, C., Medić, D. (2021). Explicit Identifiers and Contexts in Reversible Concurrent Calculus. In: Yamashita, S., Yokoyama, T. (eds) Reversible Computation. RC 2021. Lecture Notes in Computer Science(), vol 12805. Springer, Cham. https://doi.org/10.1007/978-3-030-79837-6_9

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-79837-6_9

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-79836-9

  • Online ISBN: 978-3-030-79837-6

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics