skip to main content
research-article
Open Access
Artifacts Available
Artifacts Evaluated & Reusable

Less is more: multiparty session types revisited

Published:02 January 2019Publication History
Skip Abstract Section

Abstract

Multiparty Session Types (MPST) are a typing discipline ensuring that a message-passing process implements a multiparty session protocol, without errors. In this paper, we propose a new, generalised MPST theory.

Our contribution is fourfold. (1) We demonstrate that a revision of the theoretical foundations of MPST is necessary: classic MPST have a limited subject reduction property, with inherent restrictions that are easily overlooked, and in previous work have led to flawed type safety proofs; our new theory removes such restrictions and fixes such flaws. (2) We contribute a new MPST theory that is less complicated, and yet more general, than the classic one: it does not require global multiparty session types nor binary session type duality — instead, it is grounded on general behavioural type-level properties, and proves type safety of many more protocols and processes. (3) We produce a detailed analysis of type-level properties, showing how, in our new theory, they allow to ensure decidability of type checking, and statically guarantee that processes enjoy, , deadlock-freedom and liveness at run-time. (4) We show how our new theory can integrate type and model checking: type-level properties can be expressed in modal µ-calculus, and verified with well-established tools.

Skip Supplemental Material Section

Supplemental Material

a30-scalas.webm

References

  1. Davide Ancona, Viviana Bono, Mario Bravetti, Joana Campos, Giuseppe Castagna, Pierre-Malo Deniélou, Simon J. Gay, Nils Gesbert, Elena Giachino, Raymond Hu, Einar Broch Johnsen, Francisco Martins, Viviana Mascardi, Fabrizio Montesi, Rumyana Neykova, Nicholas Ng, Luca Padovani, Vasco T. Vasconcelos, and Nobuko Yoshida. 2017. Behavioral Types in Programming Languages. Foundations and Trends in Programming Languages 3(2-3) (2017). Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Massimo Bartoletti, Alceste Scalas, Emilio Tuosto, and Roberto Zunino. 2016. Honesty by Typing. LMCS 12(4) (2016).Google ScholarGoogle Scholar
  3. Samik Basu and Tevfik Bultan. 2011. Choreography conformance via synchronizability. In WWW. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Samik Basu and Tevfik Bultan. 2016. On deciding synchronizability for asynchronously communicating systems. Theor. Comput. Sci. 656 (2016).Google ScholarGoogle Scholar
  5. Samik Basu, Tevfik Bultan, and Meriem Ouederni. 2012. Synchronizability for Verification of Asynchronously Communicating Systems. In VMCAI. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Giovanni Bernardi and Matthew Hennessy. 2016. Using higher-order contracts to model session types. LMCS 12(2) (2016).Google ScholarGoogle Scholar
  7. Lorenzo Bettini, Mario Coppo, Loris D’Antoni, Marco De Luca, Mariangiola Dezani-Ciancaglini, and Nobuko Yoshida. 2008. Global Progress in Dynamically Interleaved Multiparty Sessions. In CONCUR. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Laura Bocchi, Julien Lange, and Nobuko Yoshida. 2015. Meeting Deadlines Together. In CONCUR.Google ScholarGoogle Scholar
  9. Daniel Brand and Pitro Zafiropulo. 1983. On Communicating Finite-State Machines. JACM 30, 2 (1983). Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Nadia Busi, Maurizio Gabbrielli, and Gianluigi Zavattaro. 2009. On the expressive power of recursion, replication and iteration in process calculi. Mathematical Structures in Computer Science 19, 6 (2009). Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Luís Caires and Jorge A. Pérez. 2016. Multiparty Session Types Within a Canonical Binary Theory, and Beyond. In FORTE. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Luís Caires, Frank Pfenning, and Bernardo Toninho. 2016. Linear logic propositions as session types. MSCS 26, 3 (2016).Google ScholarGoogle Scholar
  13. Marco Carbone, Sam Lindley, Fabrizio Montesi, Carsten Schürmann, and Philip Wadler. 2016. Coherence Generalises Duality: A Logical Explanation of Multiparty Session Types. In CONCUR.Google ScholarGoogle Scholar
  14. Marco Carbone, Fabrizio Montesi, Carsten Schürmann, and Nobuko Yoshida. 2015. Multiparty Session Types as Coherence Proofs. In CONCUR.Google ScholarGoogle Scholar
  15. Tzu-Chun Chen, Mariangiola Dezani-Ciancaglini, Alceste Scalas, and Nobuko Yoshida. 2017. On the Preciseness of Subtyping in Session Types. Logical Methods in Computer Science 13, 2 (2017).Google ScholarGoogle Scholar
  16. Tzu-Chun Chen. 2015. Lightening global types. JLAMP 84, 5 (2015).Google ScholarGoogle Scholar
  17. Mario Coppo, Mariangiola Dezani-Ciancaglini, Luca Padovani, and Nobuko Yoshida. 2015a. A Gentle Introduction to Multiparty Asynchronous Session Types. In Formal Methods for Multicore Programming.Google ScholarGoogle Scholar
  18. Mario Coppo, Mariangiola Dezani-Ciancaglini, Nobuko Yoshida, and Luca Padovani. 2015b. Global Progress for Dynamically Interleaved Multiparty Sessions. MSCS 760 (2015).Google ScholarGoogle Scholar
  19. Pierre-Malo Deniélou, Nobuko Yoshida, Andi Bejleri, and Raymond Hu. 2012. Parameterised Multiparty Session Types. LMCS 8, 4 (2012).Google ScholarGoogle Scholar
  20. Pierre-Malo Deniélou and Nobuko Yoshida. 2012. Multiparty Session Types Meet Communicating Automata. In ESOP.Google ScholarGoogle Scholar
  21. Pierre-Malo Deniélou and Nobuko Yoshida. 2013. Multiparty Compatibility in Communicating Automata: Characterisation and Synthesis of Global Session Types. In ICALP.Google ScholarGoogle Scholar
  22. Mariangiola Dezani-Ciancaglini, Silvia Ghilezan, Svetlana Jaksic, Jovanka Pantovic, and Nobuko Yoshida. 2015. Precise subtyping for synchronous multiparty sessions. In PLACES.Google ScholarGoogle Scholar
  23. Alain Finkel and Etienne Lozes. 2017. Synchronizability of Communicating Finite State Machines is not Decidable. In ICALP.Google ScholarGoogle Scholar
  24. Simon Gay and António Ravara. 2017. Behavioural Types: From Theory to Tools. River Publishers, Series in Automation, Control and Robotics.Google ScholarGoogle Scholar
  25. Simon J. Gay. 2016. Subtyping Supports Safe Session Substitution. In A List of Successes That Can Change the World: Essays Dedicated to Philip Wadler on the Occasion of His 60th Birthday (LNCS), Vol. 9600.Google ScholarGoogle Scholar
  26. Simon J. Gay, Nils Gesbert, and António Ravara. 2014. Session Types as Generic Process Types. In EXPRESS/SOS.Google ScholarGoogle Scholar
  27. Simon J. Gay and Malcolm Hole. 2005. Subtyping for session types in the π -calculus. Acta Inf. 42, 2-3 (2005).Google ScholarGoogle ScholarCross RefCross Ref
  28. Jean-Yves Girard. 1987. Linear Logic. TCS 50 (1987), 1–102. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. Matthew Goto, Radha Jagadeesan, Alan Jeffrey, Corin Pitcher, and James Riely. 2016. An extensible approach to session polymorphism. Mathematical Structures in Computer Science 26, 3 (2016).Google ScholarGoogle Scholar
  30. Jan Friso Groote and Mohammad Reza Mousavi. 2014. Modeling and Analysis of Communicating Systems. The MIT Press.Google ScholarGoogle Scholar
  31. Chaodong He. 2011. The Decidability of the Reachability Problem for CCS!. In CONCUR. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. Kohei Honda, Vasco Thudichum Vasconcelos, and Makoto Kubo. 1998. Language Primitives and Type Discipline for Structured Communication-Based Programming. In ESOP. Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. Kohei Honda, Nobuko Yoshida, and Marco Carbone. 2008. Multiparty asynchronous session types. In POPL. Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. Kohei Honda, Nobuko Yoshida, and Marco Carbone. 2016. Multiparty Asynchronous Session Types. J. ACM 63, 1, Article 9 (2016). Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. Hans Hüttel, Ivan Lanese, Vasco T. Vasconcelos, Luís Caires, Marco Carbone, Pierre-Malo Deniélou, Dimitris Mostrous, Luca Padovani, António Ravara, Emilio Tuosto, Hugo Torres Vieira, and Gianluigi Zavattaro. 2016. Foundations of Session Types and Behavioural Contracts. ACM Comput. Surv. 49, 1, Article 3 (2016). Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. Atsushi Igarashi and Naoki Kobayashi. 2004. A generic type system for the π -calculus. TCS 311, 1 (2004). Google ScholarGoogle ScholarDigital LibraryDigital Library
  37. Naoki Kobayashi and Davide Sangiorgi. 2010. A hybrid type system for lock-freedom of mobile processes. TOPLAS 32, 5 (2010). Google ScholarGoogle ScholarDigital LibraryDigital Library
  38. Julien Lange, Emilio Tuosto, and Nobuko Yoshida. 2015. From Communicating Machines to Graphical Choreographies. In POPL. Google ScholarGoogle ScholarDigital LibraryDigital Library
  39. Sam Lindley and J. Garrett Morris. 2016. Talking Bananas: Structural Recursion for Session Types. In ICFP. Google ScholarGoogle ScholarDigital LibraryDigital Library
  40. Barbara H. Liskov and Jeannette M. Wing. 1994. A Behavioral Notion of Subtyping. TOPLAS 16, 6 (1994). Google ScholarGoogle ScholarDigital LibraryDigital Library
  41. OAuth Working Group. 2012. RFC 6749: OAuth 2.0 Framework. http://tools.ietf.org/html/rfc6749 .Google ScholarGoogle Scholar
  42. Luca Padovani. 2014. Deadlock and lock freedom in the linear π -calculus. In CSL-LICS. Google ScholarGoogle ScholarDigital LibraryDigital Library
  43. Luca Padovani. 2016. Fair Subtyping for Multi-Party Session Types. Mathematical Structures in Computer Science 26, 3 (2016).Google ScholarGoogle Scholar
  44. Benjamin C. Pierce. 2002. Types and programming languages. MIT Press. Google ScholarGoogle ScholarDigital LibraryDigital Library
  45. Alceste Scalas, Ornela Dardha, Raymond Hu, and Nobuko Yoshida. 2017a. A Linear Decomposition of Multiparty Sessions for Safe Distributed Programming. In ECOOP.Google ScholarGoogle Scholar
  46. Alceste Scalas, Ornela Dardha, Raymond Hu, and Nobuko Yoshida. 2017b. A Linear Decomposition of Multiparty Sessions for Safe Distributed Programming (Artifact). Dagstuhl Artifacts Series 3, 1 (2017).Google ScholarGoogle Scholar
  47. Alceste Scalas and Nobuko Yoshida. 2018a. Less is More: Multiparty Session Types Revisited. Technical Report 6. Imperial College London. https://www.doc.ic.ac.uk/research/technicalreports/2018/6Google ScholarGoogle Scholar
  48. Alceste Scalas and Nobuko Yoshida. 2018b. Multiparty session types, beyond duality. Journal of Logical and Algebraic Methods in Programming 97.Google ScholarGoogle ScholarCross RefCross Ref
  49. Bernardo Toninho and Nobuko Yoshida. 2016. Certifying Data in Multiparty Session Types. In A List of Successes That Can Change the World: Essays Dedicated to Philip Wadler on the Occasion of His 60th Birthday (LNCS), Vol. 9600.Google ScholarGoogle Scholar
  50. Bernardo Toninho and Nobuko Yoshida. 2017. Certifying data in multiparty session types. JLAMP 90 (2017).Google ScholarGoogle Scholar
  51. Philip Wadler. 2014. Propositions as sessions. J. Funct. Program. 24, 2-3 (2014).Google ScholarGoogle ScholarCross RefCross Ref
  52. Nobuko Yoshida, Pierre-Malo Deniélou, Andi Bejleri, and Raymond Hu. 2010. Parameterised Multiparty Session Types. In FOSSACS. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Less is more: multiparty session types revisited

        Recommendations

        Comments

        Login options

        Check if you have access through your login credentials or your institution to get full access on this article.

        Sign in

        Full Access

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader
        About Cookies On This Site

        We use cookies to ensure that we give you the best experience on our website.

        Learn more

        Got it!