skip to main content
research-article
Open access

Hybrid Multiparty Session Types: Compositionality for Protocol Specification through Endpoint Projection

Published: 06 April 2023 Publication History

Abstract

Multiparty session types (MPST) are a specification and verification framework for distributed message-passing systems. The communication protocol of the system is specified as a global type, from which a collection of local types (local process implementations) is obtained by endpoint projection. A global type is a single disciplining entity for the whole system, specified by one designer that has full knowledge of the communication protocol. On the other hand, distributed systems are often described in terms of their components: a different designer is in charge of providing a subprotocol for each component. The problem of modular specification of global protocols has been addressed in the literature, but the state of the art focuses only on dual input/output compatibility. Our work overcomes this limitation. We propose the first MPST theory of multiparty compositionality for distributed protocol specification that is semantics-preserving, allows the composition of two or more components, and retains full MPST expressiveness. We introduce hybrid types for describing subprotocols interacting with each other, define a novel compatibility relation, explicitly describe an algorithm for composing multiple subprotocols into a well-formed global type, and prove that compositionality preserves projection, thus retaining semantic guarantees, such as liveness and deadlock freedom. Finally, we test our work against real-world case studies and we smoothly extend our novel compatibility to MPST with delegation and explicit connections.

References

[1]
Gul Agha. 1990. Concurrent Object-Oriented Programming. Commun. ACM, 33, 9 (1990), sep, 125–141. issn:0001-0782 https://doi.org/10.1145/83880.84528
[2]
Franco Barbanera, Ugo de’Liguoro, and Rolf Hennicker. 2018. Global Types for Open Systems. In Proceedings 11th Interaction and Concurrency Experience, ICE 2018, Madrid, Spain, June 20-21, 2018, Massimo Bartoletti and Sophia Knight (Eds.) (EPTCS, Vol. 279). 4–20. https://doi.org/10.4204/EPTCS.279.4
[3]
Franco Barbanera, Ugo de’Liguoro, and Rolf Hennicker. 2019. Connecting open systems of communicating finite state machines. Journal of Logical and Algebraic Methods in Programming, 109 (2019), 100476. issn:2352-2208 https://doi.org/10.1016/j.jlamp.2019.07.004
[4]
Franco Barbanera, Mariangiola Dezani-Ciancaglini, Ivan Lanese, and Emilio Tuosto. 2021. Composition and decomposition of multiparty sessions. Journal of Logical and Algebraic Methods in Programming, 119 (2021), 100620. issn:2352-2208 https://doi.org/10.1016/j.jlamp.2020.100620
[5]
Franco Barbanera, Ivan Lanese, and Emilio Tuosto. 2020. Choreography Automata. In Coordination Models and Languages, Simon Bliudze and Laura Bocchi (Eds.). Springer International Publishing, Cham. 86–106. isbn:978-3-030-50029-0 https://doi.org/10.1007/978-3-030-50029-0_6
[6]
Franco Barbanera, Ivan Lanese, and Emilio Tuosto. 2020. Composing Communicating Systems, Synchronously. In Leveraging Applications of Formal Methods, Verification and Validation: Verification Principles, Tiziana Margaria and Bernhard Steffen (Eds.). Springer International Publishing, Cham. 39–59. isbn:978-3-030-61362-4 https://doi.org/10.1007/978-3-030-61362-4_3
[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 2008 - Concurrency Theory, Franck van Breugel and Marsha Chechik (Eds.). Springer, Berlin, Heidelberg. 418–433. isbn:978-3-540-85361-9 https://doi.org/10.1007/978-3-540-85361-9_33
[8]
Laura Bocchi, Weizhen Yang, and Nobuko Yoshida. 2014. Timed Multiparty Session Types. In 25th International Conference on Concurrency Theory (LNCS, Vol. 8704). Springer, 419–434. https://doi.org/10.1007/978-3-662-44584-6_29
[9]
Luís Caires and Hugo Torres Vieira. 2009. Conversation Types. In Programming Languages and Systems, Giuseppe Castagna (Ed.). Springer Berlin Heidelberg, Berlin, Heidelberg. 285–300. isbn:978-3-642-00590-9 https://doi.org/10.1007/978-3-642-00590-9_21
[10]
Marco Carbone and Fabrizio Montesi. 2013. Deadlock-Freedom-by-Design: Multiparty Asynchronous Global Programming. In Proceedings of the 40th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL ’13). Association for Computing Machinery, New York, NY, USA. 263–274. isbn:9781450318327 https://doi.org/10.1145/2429069.2429101
[11]
Marco Carbone, Fabrizio Montesi, and Hugo Torres Vieira. 2018. Choreographies for Reactive Programming. https://doi.org/10.48550/ARXIV.1801.08107
[12]
Ilaria Castellani, Mariangiola Dezani-Ciancaglini, and Paola Giannini. 2019. Reversible sessions with flexible choices. Acta Informatica, 56, 7-8 (2019), 553–583. https://doi.org/10.1007/s00236-019-00332-y
[13]
Ilaria Castellani, Mariangiola Dezani-Ciancaglini, Paola Giannini, and Ross Horne. 2020. Global types with internal delegation. Theoretical Computer Science, 807 (2020), 128–153. issn:0304-3975 https://doi.org/10.1016/j.tcs.2019.09.027 In memory of Maurice Nivat, a founding father of Theoretical Computer Science - Part II
[14]
David Castro, Raymond Hu, Sung-Shik Jongmans, Nicholas Ng, and Nobuko Yoshida. 2019. Distributed Programming Using Role-parametric Session Types in Go: Statically-typed Endpoint APIs for Dynamically-instantiated Communication Structures. Proc. ACM Program. Lang., 3, POPL (2019), Article 29, Jan., 30 pages. issn:2475-1421 https://doi.org/10.1145/3290342
[15]
David Castro-Perez, Francisco Ferreira, Lorenzo Gheri, and Nobuko Yoshida. 2021. Zooid: A DSL for Certified Multiparty Computation: From Mechanised Metatheory to Certified Multiparty Processes. In Proceedings of the 42nd ACM SIGPLAN International Conference on Programming Language Design and Implementation (PLDI 2021). Association for Computing Machinery, New York, NY, USA. 237–251. isbn:9781450383912 https://doi.org/10.1145/3453483.3454041
[16]
David Castro-Perez and Nobuko Yoshida. 2020. CAMP: Cost-Aware Multiparty Session Protocols. Proc. ACM Program. Lang., 4, OOPSLA (2020), Article 155, nov, 30 pages. https://doi.org/10.1145/3428223
[17]
Guillermina Cledou, Luc Edixhoven, Sung-Shik Jongmans, and José Proença. 2022. API Generation for Multiparty Session Types, Revisited and Revised Using Scala 3. In 36th European Conference on Object-Oriented Programming (ECOOP 2022), Karim Ali and Jan Vitek (Eds.) (Leibniz International Proceedings in Informatics (LIPIcs), Vol. 222). Schloss Dagstuhl – Leibniz-Zentrum für Informatik, Dagstuhl, Germany. 27:1–27:28. isbn:978-3-95977-225-9 issn:1868-8969 https://doi.org/10.4230/LIPIcs.ECOOP.2022.27
[18]
Mario Coppo, Mariangiola Dezani-Ciancaglini, Luca Padovani, and Nobuko Yoshida. 2015. A Gentle Introduction to Multiparty Asynchronous Session Types. In 15th International School on Formal Methods for the Design of Computer, Communication and Software Systems: Multicore Programming (LNCS, Vol. 9104). Springer, 146–178. https://doi.org/10.1007/978-3-319-18941-3_4
[19]
Luís Cruz-Filipe, Fabrizio Montesi, and Marco Peressotti. 2021. Formalising a Turing-Complete Choreographic Language in Coq. In 12th International Conference on Interactive Theorem Proving (ITP 2021), Liron Cohen and Cezary Kaliszyk (Eds.) (Leibniz International Proceedings in Informatics (LIPIcs), Vol. 193). Schloss Dagstuhl – Leibniz-Zentrum für Informatik, Dagstuhl, Germany. 15:1–15:18. isbn:978-3-95977-188-7 issn:1868-8969 https://doi.org/10.4230/LIPIcs.ITP.2021.15
[20]
Romain Demangeon and Kohei Honda. 2012. Nested Protocols in Session Types. In CONCUR 2012 – Concurrency Theory, Maciej Koutny and Irek Ulidowski (Eds.). Springer Berlin Heidelberg, Berlin, Heidelberg. 272–286. isbn:978-3-642-32940-1 https://doi.org/10.1007/978-3-642-32940-1_20
[21]
Romain Demangeon, Kohei Honda, Raymond Hu, Rumyana Neykova, and Nobuko Yoshida. 2015. Practical interruptible conversations: distributed dynamic verification with multiparty session types and Python. FMSD, 46, 3 (2015), 197–225. https://doi.org/10.1007/s10703-014-0218-8
[22]
Pierre-Malo Deniélou and Nobuko Yoshida. 2013. Multiparty Compatibility in Communicating Automata: Characterisation and Synthesis of Global Session Types. In Automata, Languages, and Programming, Fedor V. Fomin, Rūsiņš Freivalds, Marta Kwiatkowska, and David Peleg (Eds.). Springer Berlin Heidelberg, Berlin, Heidelberg. 174–186. isbn:978-3-642-39212-2 https://doi.org/10.1007/978-3-642-39212-2_18
[23]
Ethereum. 2022. Introduction to Smart Contracts. https://ethereum.org/en/developers/docs/smart-contracts/ Accessed: 20/10/2022
[24]
Lorenzo Gheri, Ivan Lanese, Neil Sayers, Emilio Tuosto, and Nobuko Yoshida. 2022. Design-By-Contract for Flexible Multiparty Session Protocols. In 36th European Conference on Object-Oriented Programming (ECOOP 2022), Karim Ali and Jan Vitek (Eds.) (Leibniz International Proceedings in Informatics (LIPIcs), Vol. 222). Schloss Dagstuhl – Leibniz-Zentrum für Informatik, Dagstuhl, Germany. 8:1–8:28. isbn:978-3-95977-225-9 issn:1868-8969 https://doi.org/10.4230/LIPIcs.ECOOP.2022.8
[25]
Lorenzo Gheri and Nobuko Yoshida. 2023. Hybrid Multiparty Session Types – Full Version. https://doi.org/10.48550/ARXIV.2302.01979
[26]
Rob van Glabbeek, Peter Höfner, and Ross Horne. 2021. Assuming Just Enough Fairness to make Session Types Complete for Lock-freedom. In 2021 36th Annual ACM/IEEE Symposium on Logic in Computer Science (LICS). 1–13. https://doi.org/10.1109/LICS52264.2021.9470531
[27]
Dick Hardt. 2012. The OAuth 2.0 Authorization Framework. RFC 6749. https://doi.org/10.17487/RFC6749
[28]
Paul Harvey, Simon Fowler, Ornela Dardha, and Simon J. Gay. 2021. Multiparty Session Types for Safe Runtime Adaptation in an Actor Language. In 35th European Conference on Object-Oriented Programming (ECOOP 2021), Anders Møller and Manu Sridharan (Eds.) (Leibniz International Proceedings in Informatics (LIPIcs), Vol. 194). Schloss Dagstuhl – Leibniz-Zentrum für Informatik, Dagstuhl, Germany. 10:1–10:30. isbn:978-3-95977-190-0 issn:1868-8969 https://doi.org/10.4230/LIPIcs.ECOOP.2021.10
[29]
Kohei Honda, Aybek Mukhamedov, Gary Brown, Tzu-Chun Chen, and Nobuko Yoshida. 2011. Scribbling Interactions with a Formal Foundation. In Distributed Computing and Internet Technology, Raja Natarajan and Adegboyega Ojo (Eds.). Springer Berlin Heidelberg, Berlin, Heidelberg. 55–75. isbn:978-3-642-19056-8 https://doi.org/10.1007/978-3-642-19056-8_4
[30]
Kohei Honda, Vasco T. Vasconcelos, and Makoto Kubo. 1998. Language primitives and type discipline for structured communication-based programming. In Programming Languages and Systems, Chris Hankin (Ed.). Springer Berlin Heidelberg, Berlin, Heidelberg. 122–138. https://doi.org/10.1007/BFb0053567
[31]
Kohei Honda, Nobuko Yoshida, and Marco Carbone. 2008. Multiparty Asynchronous Session Types. In Proc. of 35th Symp. on Princ. of Prog. Lang. (POPL ’08). ACM, New York, NY, USA. 273–284. https://doi.org/10.1145/1328897.1328472
[32]
Kohei Honda, Nobuko Yoshida, and Marco Carbone. 2016. Multiparty Asynchronous Session Types. J. ACM, 63, 1 (2016), 9:1–9:67. https://doi.org/10.1145/2827695
[33]
Ross Horne. 2020. Session Subtyping and Multiparty Compatibility Using Circular Sequents. In 31st International Conference on Concurrency Theory (CONCUR 2020), Igor Konnov and Laura Kovács (Eds.) (Leibniz International Proceedings in Informatics (LIPIcs), Vol. 171). Schloss Dagstuhl–Leibniz-Zentrum für Informatik, Dagstuhl, Germany. 12:1–12:22. isbn:978-3-95977-160-3 issn:1868-8969 https://doi.org/10.4230/LIPIcs.CONCUR.2020.12
[34]
Raymond Hu and Nobuko Yoshida. 2016. Hybrid Session Verification Through Endpoint API Generation. In Fundamental Approaches to Software Engineering - 19th International Conference, FASE 2016,Eindhoven, The Netherlands, Perdita Stevens and Andrzej Wasowski (Eds.) (Lecture Notes in Computer Science, Vol. 9633). Springer, 401–418. https://doi.org/10.1007/978-3-662-49665-7_24
[35]
Raymond Hu and Nobuko Yoshida. 2017. Explicit Connection Actions in Multiparty Session Types. In FASE (LNCS, Vol. 10202). 116–133. https://doi.org/10.1007/978-3-662-54494-5_7
[36]
Raymond Hu, Nobuko Yoshida, and Kohei Honda. 2008. Session-Based Distributed Programming in Java. In ECOOP 2008 – Object-Oriented Programming, Jan Vitek (Ed.). Springer Berlin Heidelberg, Berlin, Heidelberg. 516–541. https://doi.org/10.1007/978-3-540-70592-5_22
[37]
Keigo Imai, Rumyana Neykova, Nobuko Yoshida, and Shoji Yuen. 2020. Multiparty Session Programming With Global Protocol Combinators. In 34th European Conference on Object-Oriented Programming (ECOOP 2020), Robert Hirschfeld and Tobias Pape (Eds.) (Leibniz International Proceedings in Informatics (LIPIcs), Vol. 166). Schloss Dagstuhl–Leibniz-Zentrum für Informatik, Dagstuhl, Germany. 9:1–9:30. isbn:978-3-95977-154-2 issn:1868-8969 https://doi.org/10.4230/LIPIcs.ECOOP.2020.9
[38]
Jules Jacobs, Stephanie Balzer, and Robbert Krebbers. 2022. Multiparty GV: Functional Multiparty Session Types with Certified Deadlock Freedom. Proc. ACM Program. Lang., 6, ICFP (2022), Article 107, aug, 30 pages. https://doi.org/10.1145/3547638
[39]
Gregor Kiczales, John Lamping, Anurag Mendhekar, Chris Maeda, Cristina Lopes, Jean-Marc Loingtier, and John Irwin. 1997. Aspect-oriented programming. In ECOOP’97 — Object-Oriented Programming, Mehmet Akşit and Satoshi Matsuoka (Eds.). Springer Berlin Heidelberg, Berlin, Heidelberg. 220–242. isbn:978-3-540-69127-3 https://doi.org/10.1007/BFb0053381
[40]
Nicolas Lagaillardie, Rumyana Neykova, and Nobuko Yoshida. 2022. Stay Safe Under Panic: Affine Rust Programming with Multiparty Session Types. In 36th European Conference on Object-Oriented Programming (ECOOP 2022), Karim Ali and Jan Vitek (Eds.) (Leibniz International Proceedings in Informatics (LIPIcs), Vol. 222). Schloss Dagstuhl – Leibniz-Zentrum für Informatik, Dagstuhl, Germany. 4:1–4:29. isbn:978-3-95977-225-9 issn:1868-8969 https://doi.org/10.4230/LIPIcs.ECOOP.2022.4
[41]
Julien Lange and Emilio Tuosto. 2012. Synthesising Choreographies from Local Session Types. In CONCUR 2012 – Concurrency Theory, Maciej Koutny and Irek Ulidowski (Eds.). Springer Berlin Heidelberg, Berlin, Heidelberg. 225–239. isbn:978-3-642-32940-1 https://doi.org/10.1007/978-3-642-32940-1_17
[42]
Julien Lange, Emilio Tuosto, and Nobuko Yoshida. 2015. From communicating machines to graphical choreographies. In 42nd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages. ACM, 221–232. https://doi.org/10.1145/2676726.2676964
[43]
Julien Lange and Nobuko Yoshida. 2019. Verifying Asynchronous Interactions via Communicating Session Automata. In Computer Aided Verification, Isil Dillig and Serdar Tasiran (Eds.). Springer International Publishing, Cham. 97–117. isbn:978-3-030-25540-4 https://doi.org/10.1007/978-3-030-25540-4_6
[44]
MIT. 2022. Kerberos: The Network Authentication Protocol. https://web.mit.edu/kerberos/ Accessed: 20/10/2022
[45]
Anson Miu, Francisco Ferreira, Nobuko Yoshida, and Fangyi Zhou. 2021. Communication-Safe Web Programming in TypeScript with Routed Multiparty Session Types. In Proceedings of the 30th ACM SIGPLAN International Conference on Compiler Construction (CC 2021). Association for Computing Machinery, New York, NY, USA. 94–106. isbn:9781450383257 https://doi.org/10.1145/3446804.3446854
[46]
Fabrizio Montesi. 2013. Choreographic Programming. Ph. D. Dissertation. isbn:978-87-7949-299-8 https://www.fabriziomontesi.com/files/choreographic_programming.pdf
[47]
Fabrizio Montesi and Nobuko Yoshida. 2013. Compositional Choreographies. In CONCUR 2013 – Concurrency Theory, Pedro R. D’Argenio and Hernán Melgratti (Eds.). Springer Berlin Heidelberg, Berlin, Heidelberg. 425–439. isbn:978-3-642-40184-8 https://doi.org/10.1007/978-3-642-40184-8_30
[48]
Rumyana Neykova, Raymond Hu, Nobuko Yoshida, and Fahd Abdeljallal. 2018. A Session Type Provider: Compile-time API Generation for Distributed Protocols with Interaction Refinements in F#. In 27th International Conference on Compiler Construction. ACM, 128–138. https://doi.org/10.1145/3178372.3179495
[49]
Rumyana Neykova and Nobuko Yoshida. 2019. Featherweight Scribble (LNCS, Vol. 11665). Springer, Cham. 236–259. isbn:978-3-030-21485-2 https://doi.org/10.1007/978-3-030-21485-2_14
[50]
OMG. 2022. Business Process Model and Notation. https://www.bpmn.org/ Accessed: 20/10/2022
[51]
Luca Padovani, Vasco Thudichum Vasconcelos, and Hugo Torres Vieira. 2014. Typing Liveness in Multiparty Communicating Systems. In Coordination Models and Languages, Eva Kühn and Rosario Pugliese (Eds.). Springer Berlin Heidelberg, Berlin, Heidelberg. 147–162. isbn:978-3-662-43376-8 https://doi.org/10.1007/978-3-662-43376-8_10
[52]
Zorica Savanovic, Letterio Galletta, and Hugo Torres Vieira. 2020. A type language for message passing component-based systems. In Proceedings 13th Interaction and Concurrency Experience, ICE 2020, Online, 19 June 2020, Julien Lange, Anastasia Mavridou, Larisa Safina, and Alceste Scalas (Eds.) (EPTCS, Vol. 324). 3–24. https://doi.org/10.4204/EPTCS.324.3
[53]
Alceste Scalas, Ornela Dardha, Raymond Hu, and Nobuko Yoshida. 2017. A Linear Decomposition of Multiparty Sessions for Safe Distributed Programming. In ECOOP. https://doi.org/10.4230/LIPIcs.ECOOP.2017.24
[54]
Alceste Scalas and Nobuko Yoshida. 2016. Lightweight Session Programming in Scala. In 30th European Conference on Object-Oriented Programming (ECOOP 2016), Shriram Krishnamurthi and Benjamin S. Lerner (Eds.) (Leibniz International Proceedings in Informatics (LIPIcs), Vol. 56). Schloss Dagstuhl–Leibniz-Zentrum fuer Informatik, Dagstuhl, Germany. 21:1–21:28. isbn:978-3-95977-014-9 issn:1868-8969 https://doi.org/10.4230/LIPIcs.ECOOP.2016.21
[55]
Alceste Scalas and Nobuko Yoshida. 2019. Less Is More: Multiparty Session Types Revisited. In 46th ACM SIGPLAN Symposium on Principles of Programming Languages. 3, ACM, 30:1–30:29. https://doi.org/10.1145/3290343
[56]
Alceste Scalas, Nobuko Yoshida, and Elias Benussi. 2019. Verifying Message-passing Programs with Dependent Behavioural Types. In Proceedings of the 40th ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI 2019). ACM, New York, NY, USA. 502–516. isbn:978-1-4503-6712-7 https://doi.org/10.1145/3314221.3322484
[57]
Claude Stolze, Marino Miculan, and Pietro Di Gianantonio. 2021. Composable Partial Multiparty Session Types. In FACS 2021 Conference Proceedings. 13077, Springer. https://doi.org/10.1007/978-3-030-90636-8_3
[58]
Nicolas Tabareau, Mario Südholt, and Éric Tanter. 2014. Aspectual Session Types. In Proceedings of the 13th International Conference on Modularity (MODULARITY ’14). Association for Computing Machinery, New York, NY, USA. 193–204. isbn:9781450327725 https://doi.org/10.1145/2577080.2577085
[59]
David Ungar and Randall B. Smith. 1987. Self: The Power of Simplicity. OOPSLA ’87. Association for Computing Machinery, New York, NY, USA. 227–242. isbn:0897912470 https://doi.org/10.1145/38765.38828
[60]
Malte Viering, Raymond Hu, Patrick Eugster, and Lukasz Ziarek. 2021. A Multiparty Session Typing Discipline for Fault-Tolerant Event-Driven Distributed Programming. Proc. ACM Program. Lang., 5, OOPSLA (2021), Article 124, oct, 30 pages. https://doi.org/10.1145/3485501
[61]
A Yonezawa and M Tokoro. 1986. Object-oriented concurrent programming. The MIT Press. isbn:978-0262240260
[62]
Nobuko Yoshida and Lorenzo Gheri. 2020. A Very Gentle Introduction to Multiparty Session Types. In Distributed Computing and Internet Technology, Dang Van Hung and Meenakshi Dasciiacute Souza (Eds.). Springer International Publishing, Cham. 73–93. isbn:978-3-030-36987-3 https://doi.org/10.1007/978-3-030-36987-3_5
[63]
Nobuko Yoshida, Raymond Hu, Rumyana Neykova, and Nicholas Ng. 2013. The Scribble Protocol Language. In Trustworthy Global Computing - 8th International Symposium, TGC 2013, Buenos Aires, Argentina, Martín Abadi and Alberto Lluch-Lafuente (Eds.) (Lecture Notes in Computer Science, Vol. 8358). Springer, 22–41. https://doi.org/10.1007/978-3-319-05119-2_3
[64]
Nobuko Yoshida, Fangyi Zhou, and Francisco Ferreira. 2021. Communicating Finite State Machines and an Extensible Toolchain for Multiparty Session Types. In Fundamentals of Computation Theory, Evripidis Bampis and Aris Pagourtzis (Eds.). Springer International Publishing, Cham. 18–35. isbn:978-3-030-86593-1 https://doi.org/10.1007/978-3-030-86593-1_2
[65]
Fangyi Zhou, Francisco Ferreira, Raymond Hu, Rumyana Neykova, and Nobuko Yoshida. 2020. Statically Verified Refinements for Multiparty Protocols. Proc. ACM Program. Lang., 4, OOPSLA (2020), Article 148, nov, 30 pages. https://doi.org/10.1145/3428216

Cited By

View all

Index Terms

  1. Hybrid Multiparty Session Types: Compositionality for Protocol Specification through Endpoint Projection

      Recommendations

      Comments

      Information & Contributors

      Information

      Published In

      cover image Proceedings of the ACM on Programming Languages
      Proceedings of the ACM on Programming Languages  Volume 7, Issue OOPSLA1
      April 2023
      901 pages
      EISSN:2475-1421
      DOI:10.1145/3554309
      Issue’s Table of Contents
      This work is licensed under a Creative Commons Attribution 4.0 International License.

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      Published: 06 April 2023
      Published in PACMPL Volume 7, Issue OOPSLA1

      Permissions

      Request permissions for this article.

      Check for updates

      Author Tags

      1. compositionality
      2. concurrency
      3. multiparty session types
      4. protocol design

      Qualifiers

      • Research-article

      Funding Sources

      Contributors

      Other Metrics

      Bibliometrics & Citations

      Bibliometrics

      Article Metrics

      • Downloads (Last 12 months)156
      • Downloads (Last 6 weeks)15
      Reflects downloads up to 06 Jan 2025

      Other Metrics

      Citations

      Cited By

      View all

      View Options

      View options

      PDF

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader

      Login options

      Full Access

      Media

      Figures

      Other

      Tables

      Share

      Share

      Share this Publication link

      Share on social media