Skip to main content

Executable Semantics and Type Checking for Session-Based Concurrency in Maude

  • Conference paper
  • First Online:
Rewriting Logic and Its Applications (WRLA 2022)

Abstract

Session types are a well-established approach to communication correctness in message-passing programs. We present an executable specification of the operational semantics of a session-typed \(\pi \)-calculus, implemented in the Maude system. We also develop an executable specification of its associated algorithmic type checking, and describe how both specifications can be integrated. We further explore how our executable specification enables us to detect well-typed but deadlocked processes by leveraging reachability and model checking tools in Maude. Our developments define a promising new approach to the (semi)automated analysis of communication correctness in message-passing concurrency.

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 59.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 79.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

Similar content being viewed by others

Notes

  1. 1.

    See https://gitlab.com/calrare1/session-types.

References

  1. Caires, L., Pfenning, F., Toninho, B.: Linear logic propositions as session types. Math. Struct. Comput. Sci. 26(3), 367–423 (2016)

    Article  MathSciNet  Google Scholar 

  2. Clavel, M., et al.: All About Maude - A High-Performance Logical Framework. LNCS, vol. 4350. Springer, Heidelberg (2007). https://doi.org/10.1007/978-3-540-71999-1

    Book  MATH  Google Scholar 

  3. Hüttel, H., et al.: Foundations of session types and behavioural contracts. ACM Comput. Surv. 49(1), 3:1–3:36 (2016). https://doi.org/10.1145/2873052

  4. Kouzapas, D., Pérez, J.A., Yoshida, N.: On the relative expressiveness of higher-order session processes. Inf. Comput. 268 (2019). https://doi.org/10.1016/j.ic.2019.06.002

  5. Milner, R., Parrow, J., Walker, D.: A calculus of mobile processes. I. Inf. Comput. 100(1), 1–40 (1992)

    Google Scholar 

  6. Padovani, L.: Deadlock and lock freedom in the linear \(\pi \)-calculus. In: Proceedings of the Joint Meeting of the Twenty-Third EACSL Annual Conference on Computer Science Logic (CSL) and the Twenty-Ninth Annual ACM/IEEE Symposium on Logic in Computer Science (LICS), CSL-LICS 2014. Association for Computing Machinery, New York (2014). https://doi.org/10.1145/2603088.2603116

  7. Pitsiladis, G.V., Stefaneas, P.: Implementation of privacy calculus and its type checking in Maude. In: Margaria, T., Steffen, B. (eds.) ISoLA 2018. LNCS, vol. 11245, pp. 477–493. Springer, Cham (2018). https://doi.org/10.1007/978-3-030-03421-4_30

    Chapter  Google Scholar 

  8. Ramírez Restrepo, C.A., Pérez, J.A.: Executable rewriting semantics for session-based concurrency (Extended Version). Technical report, Pontificia Universidad Javeriana Cali/University of Groningen (2022). https://japerezp.github.io/files/wrla22-long.pdf

  9. Sangiorgi, D., Walker, D.: The Pi-Calculus: A Theory of Mobile Processes. Cambridge University Press (2003). http://books.google.com/books?id=QkBL_7VtiPgC

  10. Scalas, A., Yoshida, N.: Less is more: multiparty session types revisited. Proc. ACM Program. Lang. 3(POPL), 30:1–30:29 (2019). https://doi.org/10.1145/3290343

  11. Stehr, M.: CINNI - a generic calculus of explicit substitutions and its application to \(\lambda \)-, \(\varsigma \)- and \(\pi \)-calculi. In: Futatsugi, K. (ed.) The 3rd International Workshop on Rewriting Logic and its Applications, WRLA 2000, Kanzawa, Japan, 18–20 September 2000. Electronic Notes in Theoretical Computer Science, vol. 36, pp. 70–92. Elsevier (2000). https://doi.org/10.1016/S1571-0661(05)80125-2

  12. Thati, P., Sen, K., Martí-Oliet, N.: An executable specification of asynchronous pi-calculus semantics and may testing in Maude 2.0. Electron. Notes Theor. Comput. Sci. 71, 261–281 (2002). https://doi.org/10.1016/S1571-0661(05)82539-3

  13. Vasconcelos, V.T.: Fundamentals of session types. Inf. Comput. 217, 52–70 (2012). https://doi.org/10.1016/j.ic.2012.05.002

  14. Viry, P.: Input/output for ELAN. Electron. Notes Theor. Comput. Sci. 4, 51–64 (1996). https://doi.org/10.1016/S1571-0661(04)00033-7. First International Workshop on Rewriting Logic and its Applications, WRLA 1996, Asilomar, USA, 1996

  15. Viry, P.: A rewriting implementation of pi-calculus. Technical report, University of Pisa (1996). http://eprints.adm.unipi.it/id/eprint/1952

  16. Wadler, P.: Propositions as sessions. J. Funct. Program. 24(2–3), 384–418 (2014)

    Article  MathSciNet  Google Scholar 

Download references

Acknowledgements

This work has been partially supported by the Dutch Research Council (NWO) under project No. 016.Vidi.189.046 (Unifying Correctness for Communicating Software).

We are grateful to Camilo Rocha for his useful suggestions on this work, to the anonymous reviewers for their careful reading, and to the WRLA’22 attendees for constructive remarks.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Jorge A. Pérez .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2022 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Ramírez Restrepo, C.A., Pérez, J.A. (2022). Executable Semantics and Type Checking for Session-Based Concurrency in Maude. In: Bae, K. (eds) Rewriting Logic and Its Applications. WRLA 2022. Lecture Notes in Computer Science, vol 13252. Springer, Cham. https://doi.org/10.1007/978-3-031-12441-9_12

Download citation

  • DOI: https://doi.org/10.1007/978-3-031-12441-9_12

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-031-12440-2

  • Online ISBN: 978-3-031-12441-9

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics