skip to main content
research-article
Open Access

Interconnectability of Session-Based Logical Processes

Published:13 December 2018Publication History
Skip Abstract Section

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.

Skip Supplemental Material Section

Supplemental Material

a17-toninho.webm

References

  1. Samson Abramsky. 1993. Computational interpretations of linear logic. Theoret. Comput. Sci. 111, 1--2 (1993), 3--57. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Samson Abramsky, Simon J. Gay, and Rajagopal Nagarajan. 1995. Specification structures and propositions-as-types for concurrency. In Logics for Concurrency. 5--40. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. 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 ScholarGoogle Scholar
  4. Gianluigi Bellin and Phil Scott. 1994. On the π-calculus and linear logic. Theoret. Comput. Sci. 135, 1 (1994), 11--65. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. 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 ScholarGoogle ScholarCross RefCross Ref
  6. 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 ScholarGoogle Scholar
  7. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  8. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  9. 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 ScholarGoogle ScholarCross RefCross Ref
  10. 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 ScholarGoogle ScholarCross RefCross Ref
  11. 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 ScholarGoogle Scholar
  12. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  13. 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 ScholarGoogle ScholarCross RefCross Ref
  14. 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 ScholarGoogle Scholar
  15. 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 ScholarGoogle Scholar
  16. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  17. 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 ScholarGoogle Scholar
  18. 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 ScholarGoogle ScholarCross RefCross Ref
  19. 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 ScholarGoogle ScholarCross RefCross Ref
  20. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  21. 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 ScholarGoogle Scholar
  22. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  23. 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 ScholarGoogle Scholar
  24. 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 ScholarGoogle ScholarCross RefCross Ref
  25. 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 ScholarGoogle ScholarCross RefCross Ref
  26. S. Gay and M. Hole. 2005. Subtyping for session types in the pi calculus. Acta Inf. 42, 2--3 (2005), 191--225.Google ScholarGoogle ScholarCross RefCross Ref
  27. 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 ScholarGoogle Scholar
  28. J.-Y. Girard. 1987. Linear logic. Theoret. Comput. Sci. 50, 1 (1987), 1--102. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  30. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  31. Kohei Honda, Nobuko Yoshida, and Marco Carbone. 2016. Multiparty asynchronous session types. J. ACM 63, 1--9 (2016), 1--67. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. 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 ScholarGoogle ScholarCross RefCross Ref
  33. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  34. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  35. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  36. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  37. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  38. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  39. 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 ScholarGoogle Scholar
  40. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  41. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  42. Mungo 2016. Mungo homepage. Retrieved from http://www.dcs.gla.ac.uk/research/mungo/.Google ScholarGoogle Scholar
  43. Rumyana Neykova, Laura Bocchi, and Nobuko Yoshida. 2017. Timed runtime monitoring for multiparty conversations. Formal Asp. Comput. 29, 5 (2017), 877--910. Google ScholarGoogle ScholarDigital LibraryDigital Library
  44. Rumyana Neykova, Raymond Hu, Nobuko Yoshida, and Fahd Abdeljallal. 2018. Session type provider: Compile-time API generation for distributed protocols in F#. (unpublished). Google ScholarGoogle ScholarDigital LibraryDigital Library
  45. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  46. Rumyana Neykova and Nobuko Yoshida. 2017. Multiparty session actors. Logical Methods Comput. Sci. 13, 1 (2017).Google ScholarGoogle Scholar
  47. 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 ScholarGoogle ScholarCross RefCross Ref
  48. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  49. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  50. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  51. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  52. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  53. D. Sangiorgi. 1996. Pi-calculus, internal mobility, and agent passing calculi. Theor. Comput. Science 167, 182 (1996), 235--274. Google ScholarGoogle ScholarDigital LibraryDigital Library
  54. 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 ScholarGoogle Scholar
  55. Scribble. 2008. Scribble Project. Retrieved from www.scribble.org.Google ScholarGoogle Scholar
  56. K. C. Sivaramakrishnan, Mohammad Qudeisat, Lukasz Ziarek, Karthik Nagaraj, and Patrick Eugster. 2013. Efficient sessions. Sci. Comput. Program. 78, 2 (2013), 147--167. Google ScholarGoogle ScholarDigital LibraryDigital Library
  57. 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 ScholarGoogle ScholarCross RefCross Ref
  58. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  59. 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 ScholarGoogle Scholar
  60. Philip Wadler. 2014. Propositions as sessions. J. Funct. Program. 24, 2--3 (2014), 384--418.Google ScholarGoogle ScholarCross RefCross Ref

Index Terms

  1. Interconnectability of Session-Based Logical Processes

            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

            • Published in

              cover image ACM Transactions on Programming Languages and Systems
              ACM Transactions on Programming Languages and Systems  Volume 40, Issue 4
              December 2018
              191 pages
              ISSN:0164-0925
              EISSN:1558-4593
              DOI:10.1145/3292525
              Issue’s Table of Contents

              Copyright © 2018 Owner/Author

              Publisher

              Association for Computing Machinery

              New York, NY, United States

              Publication History

              • Published: 13 December 2018
              • Accepted: 1 July 2018
              • Revised: 1 March 2018
              • Received: 1 April 2017
              Published in toplas Volume 40, Issue 4

              Permissions

              Request permissions about this article.

              Request Permissions

              Check for updates

              Qualifiers

              • research-article
              • Research
              • Refereed

            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!