Abstract
In multiparty session types, interconnection networks identify which roles in a session engage in communication (i.e., two roles are connected if they exchange a message). In session-based interpretations of linear logic the analogue notion corresponds to determining which processes are composed, or cut, using compatible channels typed by linear propositions. In this work, we show that well-formed interactions represented in a session-based interpretation of classical linear logic (CLL) form strictly less-expressive interconnection networks than those of a multiparty session calculus. To achieve this result, we introduce a new compositional synthesis property dubbed partial multiparty compatibility (PMC), enabling us to build a global type denoting the interactions obtained by iterated composition of well-typed CLL threads. We then show that CLL composition induces PMC global types without circular interconnections between three (or more) participants. PMC is then used to define a new CLL composition rule that can form circular interconnections but preserves the deadlock-freedom of CLL.
Supplemental Material
- Samson Abramsky. 1993. Computational interpretations of linear logic. Theoret. Comput. Sci. 111, 1--2 (1993), 3--57. Google Scholar
Digital Library
- Samson Abramsky, Simon J. Gay, and Rajagopal Nagarajan. 1995. Specification structures and propositions-as-types for concurrency. In Logics for Concurrency. 5--40. Google Scholar
Digital Library
- Robert Atkey, Sam Lindley, and J. Garrett Morris. 2016. Conflation confers concurrency. 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. Springer, 32--55.Google Scholar
- Gianluigi Bellin and Phil Scott. 1994. On the π-calculus and linear logic. Theoret. Comput. Sci. 135, 1 (1994), 11--65. Google Scholar
Digital Library
- Laura Bocchi, Tzu-Chun Chen, Romain Demangeon, Kohei Honda, and Nobuko Yoshida. 2017. Monitoring networks through multiparty session types. Theoretical Computer Science 669 (2017), 33--58.Google Scholar
Cross Ref
- Laura Bocchi, Julien Lange, and Nobuko Yoshida. 2015. Meeting deadlines together. In Proceedings of the 29th International Conference on Concurrency Theory (CONCUR’15), Vol. 42. Schloss Dagstuhl, 283--296.Google Scholar
- Luís Caires and Jorge A. Pérez. 2016. Multiparty session types within a canonical binary theory, and beyond. In Proceedings of the International Conference on Formal Techniques for Distributed Systems (FORTE’16), LNCS, Vol. 9688. Springer, 74--95. Google Scholar
Digital Library
- Luís Caires and Frank Pfenning. 2010. Session types as intuitionistic linear propositions. In Proceedings of the 29th International Conference on Concurrency Theory (CONCUR’10), LNCS, Vol. 6269. Springer, 222--236. Google Scholar
Digital Library
- Luís Caires, Frank Pfenning, and Bernardo Toninho. 2016. Linear logic propositions as session types. Math. Struct. Comp. Sci. 26, 3 (2016), 367--423.Google Scholar
Cross Ref
- Sara Capecchi, Ilaria Castellani, and Mariangiola Dezani-Ciancaglini. 2016. Information flow safety in multiparty sessions. Math. Struct. Comput. Sci. 26, 8 (2016), 1352--1394.Google Scholar
Cross Ref
- Marco Carbone, Sam Lindley, Fabrizio Montesi, Carsten Schürmann, and Philip Wadler. 2016. Coherence generalises duality: A logical explanation of multiparty session types. In Proceedings of the 29th International Conference on Concurrency Theory (CONCUR’16), Leibniz International Proceedings in Informatics, Vol. 59. Schloss Dagstuhl, 33:1--33:15.Google Scholar
- 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). 263--274. Google Scholar
Digital Library
- Marco Carbone, Fabrizio Montesi, and Carsten Schürmann. 2014. Choreographies, logically. In Proceedings of the 29th International Conference on Concurrency Theory (CONCUR’14), LNCS, Vol. 8704. Springer, 47--62.Google Scholar
Cross Ref
- Marco Carbone, Fabrizio Montesi, Carsten Schürmann, and Nobuko Yoshida. 2015. Multiparty session types as coherence proofs. In Proceedings of the 29th International Conference on Concurrency Theory (CONCUR’15), Leibniz International Proceedings in Informatics, Vol. 42. Schloss Dagstuhl, 412--426.Google Scholar
- Ilaria Castellani, Mariangiola Dezani-Ciancaglini, and Paola Giannini. 2017. Concurrent reversible sessions. In Proceedings of the 29th International Conference on Concurrency Theory (CONCUR’17), LIPIcs, Vol. 85. Schloss Dagstuhl, Leibniz-Zentrum fuer Informatik, 30:1--30:17.Google Scholar
- Ilaria Castellani, Mariangiola Dezani-Ciancaglini, and Jorge A. Pérez. 2016. Self-adaptation and secure information flow in multiparty communications. Formal Asp. Comput. 28, 4 (2016), 669--696. Google Scholar
Digital Library
- Tzu-Chun Chen, Mariangiola Dezani-Ciancaglini, Alceste Scalas, and Nobuko Yoshida. 2017. On the preciseness of subtyping in session types. Logic. Methods Comput. Sci. 13, 2 (2017).Google Scholar
- Mario Coppo, Mariangiola Dezani-Ciancaglini, Nobuko Yoshida, and Luca Padovani. 2016. Global progress for dynamically interleaved multiparty sessions. Math. Struct. Comput. Sci. 26, 2 (2016), 238--302.Google Scholar
Cross Ref
- Ornela Dardha and Jorge A. Pérez. 2015. Comparing deadlock-free session typed processes. In Electronic Proceedings in Theoretical Computer Science, Vol. 190. 1--15.Google Scholar
Cross Ref
- Romain Demangeon, Kohei Honda, Raymond Hu, Rumyana Neykova, and Nobuko Yoshida. 2015. Practical interruptible conversations: Distributed dynamic verification with multiparty session types and python. Formal Methods Syst. Des. 46, 3 (2015), 197--225. Google Scholar
Digital Library
- Romain Demangeon and Nobuko Yoshida. 2015. On the expressiveness of multiparty sessions. In Foundations of Software Technology and Theoretical Computer Science (FSTTCS’15), Leibniz International Proceedings in Informatics (LIPIcs), Vol. 45. Schloss Dagstuhl, 560--574.Google Scholar
- Pierre-Malo Deniélou and Nobuko Yoshida. 2013. Multiparty compatibility in communicating automata: Characterisation and synthesis of global session types. In International Colloquium on Automata, Languages, and Programming (ICALP’13), LNCS, Vol. 7966. Springer, 174--186. Google Scholar
Digital Library
- Henry DeYoung, Luis Caires, Frank Pfenning, and Bernardo Toninho. 2012. Cut reduction in linear logic as asynchronous session-typed communication. In Computer Science Logic.Google Scholar
- Luca Fossati, Raymond Hu, and Nobuko Yoshida. 2014. Multiparty session nets. In Proceedings of the International Symposium on Trustworthy Global Computing (TGC’14), LNCS, Matteo Maffei and Emilio Tuosto (Eds.), Vol. 8902. Springer, 112--127.Google Scholar
Cross Ref
- Simon Fowler. 2016. An erlang implementation of multiparty session actors. In Proceedings of the International Conference on Engineering (ICE’16), Vol. 223. 36--50.Google Scholar
Cross Ref
- S. Gay and M. Hole. 2005. Subtyping for session types in the pi calculus. Acta Inf. 42, 2--3 (2005), 191--225.Google Scholar
Cross Ref
- 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. 95--108.Google Scholar
- J.-Y. Girard. 1987. Linear logic. Theoret. Comput. Sci. 50, 1 (1987), 1--102. Google Scholar
Digital Library
- Kohei Honda, Vasco T. Vasconcelos, and Makoto Kubo. 1998. Language primitives and type disciplines for structured communication-based programming. In European Symposium on Programming (ESOP'98), LNCS, Vol. 1381. Springer-Verlag, 22--138. Google Scholar
Digital Library
- Kohei Honda, Nobuko Yoshida, and Marco Carbone. 2008. Multiparty asynchronous session types. In Proceedings of the Conference on Principles of Programming Languages (POPL’08). 273--284. Google Scholar
Digital Library
- Kohei Honda, Nobuko Yoshida, and Marco Carbone. 2016. Multiparty asynchronous session types. J. ACM 63, 1--9 (2016), 1--67. Google Scholar
Digital Library
- Raymond Hu and Nobuko Yoshida. 2016. Hybrid session verification through endpoint API generation. In International Conference on Fundamental Approaches to Software Engineering (FASE’16) (LNCS), Vol. 9633. Springer, 401--418.Google Scholar
Cross Ref
- Raymond Hu and Nobuko Yoshida. 2017. Explicit connection actions in multiparty session types. In Proceedings of the 20th International Conference on Fundamental Approaches to Software Engineering, LNCS, Vol. 10202. Springer, 116--133. Google Scholar
Digital Library
- 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 (Apr. 2016), 36 pages. Google Scholar
Digital Library
- Limin Jia, Hannah Gommerstadt, and Frank Pfenning. 2016. Monitors and blame assignment for higher-order session types. In Proceedings of the Conference on Principles of Programming Languages (POPL’16). 582--594. Google Scholar
Digital Library
- Julien Lange and Emilio Tuosto. 2012. Synthesising choreographies from local session types. In Proceedings of the 29th International Conference on Concurrency Theory (CONCUR’12), LNCS, Maciej Koutny and Irek Ulidowski (Eds.), Vol. 7454. Springer, 225--239. Google Scholar
Digital Library
- Julien Lange, Emilio Tuosto, and Nobuko Yoshida. 2015. From communicating machines to graphical choreographies. In Proceedings of the Conference on Principles of Programming Languages (POPL’15), Sriram K. Rajamani and David Walker (Eds.). ACM Press, 221--232. Google Scholar
Digital Library
- Julien Lange and Nobuko Yoshida. 2016. Characteristic formulae for session types. In International Conference on Tools and Algorithms for the Construction and Analysis of Systems (TACAS’16), LNCS, Vol. 9636. Springer, 833--850. Google Scholar
Digital Library
- Sam Lindley and J. Garrett Morris. 2015. A semantics for propositions as sessions. In Conference name is European Symposium on Programming (ESOP'15) (LNCS), Vol. 9032. Springer, 560--584.Google Scholar
- Sam Lindley and J. Garrett Morris. 2016. Talking bananas: Structural recursion for session types. In Proceedings of the 21st ACM SIGPLAN International Conference on Functional Programming (ICFP’16). 434--447. Google Scholar
Digital Library
- Hugo A. Lopez, Eduardo R. B. Marques, Francisco Martins, Nicholas Ng, Casar Santos, Vasco Thudichum Vasconcelos, and Nobuko Yoshida. 2015. Protocol-based verification of message-passing parallel programs. In Proceedings of the International Conference on Object-Oriented Programming, Systems, Languages 8 Applications (OOPSLA’15). ACM, 280--298. Google Scholar
Digital Library
- Mungo 2016. Mungo homepage. Retrieved from http://www.dcs.gla.ac.uk/research/mungo/.Google Scholar
- Rumyana Neykova, Laura Bocchi, and Nobuko Yoshida. 2017. Timed runtime monitoring for multiparty conversations. Formal Asp. Comput. 29, 5 (2017), 877--910. Google Scholar
Digital Library
- Rumyana Neykova, Raymond Hu, Nobuko Yoshida, and Fahd Abdeljallal. 2018. Session type provider: Compile-time API generation for distributed protocols in F#. (unpublished). Google Scholar
Digital Library
- Rumyana Neykova and Nobuko Yoshida. 2017. Let it recover: Multiparty protocol-induced recovery. In Proceedings of the 26th International Conference on Compiler Construction. ACM, 98--108. Google Scholar
Digital Library
- Rumyana Neykova and Nobuko Yoshida. 2017. Multiparty session actors. Logical Methods Comput. Sci. 13, 1 (2017).Google Scholar
- Nicholas Ng, Jose Coutinho, and Nobuko Yoshida. 2015. Protocols by default: Safe MPI code generation based on session types. In International Conference on Compiler Construction (CC’15), LNCS, Vol. 9031. Springer, 212--232.Google Scholar
Cross Ref
- Nicholas Ng and Nobuko Yoshida. 2016. Static deadlock detection for concurrent go by global session graph synthesis. In Proceedings of the 25th International Conference on Compiler Construction. ACM, 174--184. Google Scholar
Digital Library
- Nicholas Ng, Nobuko Yoshida, and Kohei Honda. 2012. Multiparty session C: Safe parallel programming with message optimisation. In Proceedings of the Technology of Object-Oriented Languages and Systems (TOOLS’12), LNCS, Vol. 7304. Springer, 202--218. Google Scholar
Digital Library
- Luca Padovani, Vasco Thudichum Vasconcelos, and Hugo Torres Vieira. 2014. Typing liveness in multiparty communicating systems. In International Conference on Coordination Models and Languages (COORDINATION) 2014 (LNCS), Vol. 8459. Springer, 147--162. Google Scholar
Digital Library
- Jorge A. Pérez, Luís Caires, Frank Pfenning, and Bernardo Toninho. 2012. Linear logical relations for session-based concurrency. In European Symposium on Programming (ESOP'12), LNCS, Vol. 7211. Springer, 539--558. Google Scholar
Digital Library
- Kirstin Peters, Uwe Nestmann, and Ursula Goltz. 2013. On distributability in process calculi. In European Symposium on Programming (ESOP'13) (LNCS), Vol. 7792. Springer, 310--329. Google Scholar
Digital Library
- D. Sangiorgi. 1996. Pi-calculus, internal mobility, and agent passing calculi. Theor. Comput. Science 167, 182 (1996), 235--274. Google Scholar
Digital Library
- Alceste Scalas, Ornela Dardha, Raymond Hu, and Nobuko Yoshida. 2017. A linear decomposition of multiparty sessions for safe distributed programming. In Proceedings of the 31st European Conference on Object-Oriented Programming (ECOOP’17), Leibniz International Proceedings in Informatics, Vol. 74. Schloss Dagstuhl, Leibniz-Zentrum fuer Informatik, 24:1--24:31.Google Scholar
- Scribble. 2008. Scribble Project. Retrieved from www.scribble.org.Google Scholar
- K. C. Sivaramakrishnan, Mohammad Qudeisat, Lukasz Ziarek, Karthik Nagaraj, and Patrick Eugster. 2013. Efficient sessions. Sci. Comput. Program. 78, 2 (2013), 147--167. Google Scholar
Digital Library
- Ramsay Taylor, Emilio Tuosto, Neil Walkinshaw, and John Derrick. 2016. Choreography-based analysis of distributed message passing programs. In Proceedings of the IEEE/IFIP Workshop on Programmable Data Plane (PDP’16). IEEE Computer Society, 512--519.Google Scholar
Cross Ref
- Bernardo Toninho, Luís Caires, and Frank Pfenning. 2013. Higher-order processes, functions, and sessions: A monadic integration. In European Symposium on Programming (ESOP'13) (LNCS), Vol. 7792. Springer, 350--369. Google Scholar
Digital Library
- Hugo Torres Vieira and Vasco Thudichum Vasconcelos. 2013. Typing progress in communication-centred systems. In International Conference on Coordination Models and Language (COORDINATION) 2013 (LNCS), Vol. 7890. Springer, 236--250.Google Scholar
- Philip Wadler. 2014. Propositions as sessions. J. Funct. Program. 24, 2--3 (2014), 384--418.Google Scholar
Cross Ref
Index Terms
Interconnectability of Session-Based Logical Processes
Recommendations
Linear logical relations and observational equivalences for session-based concurrency
We investigate strong normalization, confluence, and behavioral equality in the realm of session-based concurrency. These interrelated issues underpin advanced correctness analysis in models of structured communications. The starting point for our study ...
Session types revisited
Session types are a formalism used to model structured communication-based programming. A binary session type describes communication by specifying the type and direction of data exchanged between two parties. When session types and session processes ...
Intrinsically-Typed Mechanized Semantics for Session Types
PPDP '19: Proceedings of the 21st International Symposium on Principles and Practice of Declarative ProgrammingSession types have emerged as a powerful paradigm for structuring communication-based programs. They guarantee type soundness and session fidelity for concurrent programs with sophisticated communication protocols. As type soundness proofs for languages ...






Comments