Skip to main content

Composable Partial Multiparty Session Types

  • Conference paper
  • First Online:

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 13077))

Abstract

We introduce partial sessions and partial (multiparty) session types, in order to deal with open systems, i.e., systems with missing components. Partial sessions can be composed, and the type of the resulting system is derived from those of its components without knowing any suitable global type nor the types of missing parts. Incompatible types, due to e.g. miscommunications or deadlocks, are detected at the merging phase. We apply these types to a process calculus, for which we prove subject reduction and progress, so that well-typed systems never violate the prescribed constraints. Therefore, partial session types support the development of systems by incremental assembling of components.

Work supported by the Italian MIUR project PRIN 2017FTXR7S IT MATTERS (Methods and Tools for Trustworthy Smart Systems).

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

Buying options

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   49.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

Learn about institutional subscriptions

Notes

  1. 1.

    From a computational point of view, this “parallel input” corresponds to the programming practice to selectively share sessions between processes. This constructor allows us to enforce a discipline on the shared sessions in order to avoid deadlocks between processes. Moreover, it is motivated by connections with linear logic [10, 28].

References

  1. Atkey, R.: Observed communication semantics for classical processes. In: Yang, H. (ed.) ESOP 2017. LNCS, vol. 10201, pp. 56–82. Springer, Heidelberg (2017). https://doi.org/10.1007/978-3-662-54434-1_3

    Chapter  MATH  Google Scholar 

  2. Barbanera, F., Dezani-Ciancaglini, M.: Open multiparty sessions. In: Proceedings of the ICE. EPTCS, vol. 304, pp. 77–96 (2019)

    Google Scholar 

  3. Barbanera, F., Dezani-Ciancaglini, M., Lanese, I., Tuosto, E.: Composition and decomposition of multiparty sessions. J. Log. Algebraic Methods Program. 119, 100620 (2021)

    Google Scholar 

  4. Barbanera, F., Lanese, I., Tuosto, E.: Composing communicating systems, synchronously. In: Margaria, T., Steffen, B. (eds.) ISoLA 2020. LNCS, vol. 12476, pp. 39–59. Springer, Cham (2020). https://doi.org/10.1007/978-3-030-61362-4_3

    Chapter  Google Scholar 

  5. Barbanera, F., de’ Liguoro, U., Hennicker, R.: Global types for open systems. In: Proceedings of ICE. EPTCS, vol. 279, pp. 4–20 (2018)

    Google Scholar 

  6. Barr, M.: *-autonomous categories and linear logic. Math. Struct. Comput. Sci. 1(2), 159–178 (1991). https://doi.org/10.1017/S0960129500001274

    Article  MathSciNet  MATH  Google Scholar 

  7. Burco, F., Miculan, M., Peressotti, M.: Towards a formal model for composable container systems. In: Hung, C., Cerný, T., Shin, D., Bechini, A. (eds.) SAC 2020: The 35th ACM/SIGAPP Symposium on Applied Computing, pp. 173–175. ACM (2020). https://doi.org/10.1145/3341105.3374121

  8. Caires, L., Vieira, H.T.: Conversation types. Theoret. Comput. Sci. 411(51–52), 4399–4440 (2010)

    Article  MathSciNet  Google Scholar 

  9. Carbone, M., Montesi, F., Schürmann, C.: Choreographies, logically. Distrib. Comput. 31(1), 51–67 (2018)

    Article  MathSciNet  Google Scholar 

  10. Carbone, M., Montesi, F., Schürmann, C., Yoshida, N.: Multiparty session types as coherence proofs. Acta Informatica 54(3), 243–269 (2017)

    Article  MathSciNet  Google Scholar 

  11. Castellani, I., Dezani-Ciancaglini, M., Giannini, P.: Event structure semantics for multiparty sessions. In: Boreale, M., Corradini, F., Loreti, M., Pugliese, R. (eds.) Models, Languages, and Tools for Concurrent and Distributed Programming. LNCS, vol. 11665, pp. 340–363. Springer, Cham (2019). https://doi.org/10.1007/978-3-030-21485-2_19

    Chapter  Google Scholar 

  12. Coppo, M., Dezani-Ciancaglini, M., Yoshida, N., Padovani, L.: Global progress for dynamically interleaved multiparty sessions. Math. Struct. Comput. Sci. 26(2), 238–302 (2016)

    Article  MathSciNet  Google Scholar 

  13. De Nicola, R., Melgratti, H.: Multiparty testing preorders. In: Ganty, P., Loreti, M. (eds.) TGC 2015. LNCS, vol. 9533, pp. 16–31. Springer, Cham (2016). https://doi.org/10.1007/978-3-319-28766-9_2

    Chapter  Google Scholar 

  14. Girard, J.Y.: Linear logic. Theoret. Comput. Sci. 50(1), 1–101 (1987)

    Article  MathSciNet  Google Scholar 

  15. Honda, K., Vasconcelos, V.T., Kubo, M.: Language primitives and type discipline for structured communication-based programming. In: Hankin, C. (ed.) ESOP 1998. LNCS, vol. 1381, pp. 122–138. Springer, Heidelberg (1998). https://doi.org/10.1007/BFb0053567

    Chapter  Google Scholar 

  16. Honda, K., Yoshida, N., Carbone, M.: Multiparty asynchronous session types. In: Necula, G.C., Wadler, P. (eds.) Proceedings of the POPL 2008, pp. 273–284. ACM (2008). https://doi.org/10.1145/1328438.1328472

  17. Honda, K., Yoshida, N., Carbone, M.: Multiparty asynchronous session types. J. ACM 63(1), 9:1–9:67 (2016). https://doi.org/10.1145/2827695

  18. Jespersen, T.B.L., Munksgaard, P., Larsen, K.F.: Session types for rust. In: Proceedings of the 11th ACM SIGPLAN Workshop on Generic Programming, pp. 13–22 (2015)

    Google Scholar 

  19. Keizer, A.C., Basold, H., Pérez, J.A.: Session coalgebras: a coalgebraic view on session types and communication protocols. In: ESOP 2021. LNCS, vol. 12648, pp. 375–403. Springer, Cham (2021). https://doi.org/10.1007/978-3-030-72019-3_14

    Chapter  Google Scholar 

  20. Kokke, W., Montesi, F., Peressotti, M.: Better late than never: a fully-abstract semantics for classical processes. Proc. ACM Program. Lang. 3(POPL) (2019). https://doi.org/10.1145/3290337

  21. Lange, J., Tuosto, E.: Synthesising choreographies from local session types. In: Koutny, M., Ulidowski, I. (eds.) CONCUR 2012. LNCS, vol. 7454, pp. 225–239. Springer, Heidelberg (2012). https://doi.org/10.1007/978-3-642-32940-1_17

    Chapter  Google Scholar 

  22. Lange, J., Tuosto, E., Yoshida, N.: From communicating machines to graphical choreographies. In: POPL, pp. 221–232. ACM (2015)

    Google Scholar 

  23. Montesi, F., Yoshida, N.: Compositional choreographies. In: D’Argenio, P.R., Melgratti, H. (eds.) CONCUR 2013. LNCS, vol. 8052, pp. 425–439. Springer, Heidelberg (2013). https://doi.org/10.1007/978-3-642-40184-8_30

    Chapter  Google Scholar 

  24. Neubauer, M., Thiemann, P.: An implementation of session types. In: Jayaraman, B. (ed.) PADL 2004. LNCS, vol. 3057, pp. 56–70. Springer, Heidelberg (2004). https://doi.org/10.1007/978-3-540-24836-1_5

    Chapter  Google Scholar 

  25. Nielsen, M.: Models for concurrency. In: Tarlecki, A. (ed.) MFCS 1991. LNCS, vol. 520, pp. 43–46. Springer, Heidelberg (1991). https://doi.org/10.1007/3-540-54345-7_47

    Chapter  Google Scholar 

  26. Scalas, A., Yoshida, N.: Less is more: multiparty session types revisited. Proc. ACM Program. Lang. 3(POPL), 1–29 (2019)

    Google Scholar 

  27. Toninho, B., Yoshida, N.: Polymorphic session processes as morphisms. In: Alvim, M.S., Chatzikokolakis, K., Olarte, C., Valencia, F. (eds.) The Art of Modelling Computational Systems: A Journey from Logic and Concurrency to Security and Privacy. LNCS, vol. 11760, pp. 101–117. Springer, Cham (2019). https://doi.org/10.1007/978-3-030-31175-9_7

    Chapter  Google Scholar 

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

    Article  MathSciNet  Google Scholar 

Download references

Acknowledgments

We are grateful to Mariangiola Dezani-Ciancaglini, Marco Peressotti and the anonymous reviewers for their useful remarks on the preliminar version of this paper.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Marino Miculan .

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

Stolze, C., Miculan, M., Di Gianantonio, P. (2021). Composable Partial Multiparty Session Types. In: Salaün, G., Wijs, A. (eds) Formal Aspects of Component Software. FACS 2021. Lecture Notes in Computer Science(), vol 13077. Springer, Cham. https://doi.org/10.1007/978-3-030-90636-8_3

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-90636-8_3

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-90635-1

  • Online ISBN: 978-3-030-90636-8

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics