Multiparty Session Types Within a Canonical Binary Theory, and Beyond

Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 9688)

Abstract

A widespread approach to software service analysis uses session types. Very different type theories for binary and multiparty protocols have been developed; establishing precise connections between them remains an open problem. We present the first formal relation between two existing theories of binary and multiparty session types: a binary system rooted in linear logic, and a multiparty system based on automata theory. Our results enable the analysis of multiparty protocols using a (much simpler) type theory for binary protocols, ensuring protocol fidelity and deadlock-freedom. As an application, we offer the first theory of multiparty session types with behavioral genericity. This theory is natural and powerful; its analysis techniques reuse results for binary session types.

References

  1. 1.
    Bocchi, L., Honda, K., Tuosto, E., Yoshida, N.: A theory of design-by-contract for distributed multiparty interactions. In: Gastin, P., Laroussinie, F. (eds.) CONCUR 2010. LNCS, vol. 6269, pp. 162–176. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  2. 2.
    Bonelli, E., Compagnoni, A., Gunter, E.: Correspondence assertions for process synchronization in concurrent communications. J. Funct. Program. 15, 219–247 (2005)MathSciNetCrossRefMATHGoogle Scholar
  3. 3.
    Caires, L., Pérez, J.A.: A typeful characterization of multiparty structured conversations based on binary sessions. CoRR, abs/1407.4242 (2014)Google Scholar
  4. 4.
    Caires, L., Pérez, J.A., Pfenning, F., Toninho, B.: Behavioral polymorphism and parametricity in session-based communication. In: Felleisen, M., Gardner, P. (eds.) ESOP 2013. LNCS, vol. 7792, pp. 330–349. Springer, Heidelberg (2013). See also Technical Report CMU-CS-12-108, April 2012CrossRefGoogle Scholar
  5. 5.
    Caires, L., Pfenning, F.: Session types as intuitionistic linear propositions. In: Gastin, P., Laroussinie, F. (eds.) CONCUR 2010. LNCS, vol. 6269, pp. 222–236. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  6. 6.
    Carbone, M., Montesi, F.: Deadlock-freedom-by-design: multiparty asynchronous global programming. In: POPL, pp. 263–274. ACM (2013)Google Scholar
  7. 7.
    Carbone, M., Montesi, F., Schürmann, C., Yoshida, N.: Multiparty session types as coherence proofs. In: CONCUR 2015. LIPIcs, vol. 42, pp. 412–426. Dagstuhl (2015)Google Scholar
  8. 8.
    Castagna, G., Gesbert, N., Padovani, L.: A theory of contracts for web services. In: POPL, ACM SIGPLAN Notices 43, pp. 261–272. ACM (2008)Google Scholar
  9. 9.
    Chen, T.: Lightening global types. J. Logic Algebraic Meth. Program. 84(5), 708–729 (2015)MathSciNetCrossRefMATHGoogle Scholar
  10. 10.
    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)MathSciNetCrossRefGoogle Scholar
  11. 11.
    Demangeon, R., Yoshida, N.: On the expressiveness of multiparty session types. In: FSTTCS 2015. LIPIcs. Dagstuhl (2015)Google Scholar
  12. 12.
    Deniélou, P.-M., Yoshida, N.: Multiparty compatibility in communicating automata: characterisation and synthesis of global session types. In: Fomin, F.V., Freivalds, R., Kwiatkowska, M., Peleg, D. (eds.) ICALP 2013, Part II. LNCS, vol. 7966, pp. 174–186. Springer, Heidelberg (2013)Google Scholar
  13. 13.
    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)CrossRefGoogle Scholar
  14. 14.
    Honda, K., Yoshida, N., Carbone, M.: Multiparty asynchronous session types. In: POPL, pp. 273–284. ACM (2008)Google Scholar
  15. 15.
    Huttel, H., et al.: Foundations of session types and behavioural contracts. ACM Comput. Surv. 49(1), 3:1–3:36 (2016). doi:10.1145/2873052 CrossRefGoogle Scholar
  16. 16.
    Lange, J., Tuosto, E., Yoshida, N.: From communicating machines to graphical choreographies. In: Proceedings of POPL 2015, pp. 221–232. ACM (2015)Google Scholar
  17. 17.
    McIlvenna, S., Dumas, M., Wynn, M.T.: Synthesis of orchestrators from service choreographies. In: APCCM. CRPIT, vol. 96. Australian Computer Society (2009)Google Scholar
  18. 18.
    Padovani, L.: Deadlock and lock freedom in the linear \(\pi \)-calculus. In: Proceedings of CSL-LICS 2014, pp. 72:1–72:10. ACM (2014). http://hal.archives-ouvertes.fr/hal-00932356v2/document
  19. 19.
    Pérez, J.A., Caires, L., Pfenning, F., Toninho, B.: Linear logical relations and observational equivalences for session-based concurrency. Inf. Comput. 239, 254–302 (2014)MathSciNetCrossRefMATHGoogle Scholar
  20. 20.
    Sangiorgi, D., Walker, D.: The \(\pi \)-calculus: A Theory of Mobile Processes. CUP, Cambridge (2001)MATHGoogle Scholar
  21. 21.
    Toninho, B., Caires, L., Pfenning, F.: Corecursion and non-divergence in session-typed processes. In: Maffei, M., Tuosto, E. (eds.) TGC 2014. LNCS, vol. 8902, pp. 159–175. Springer, Heidelberg (2014)Google Scholar
  22. 22.
    Wadler, P.: Propositions as sessions. J. Funct. Program. 24(2–3), 384–418 (2014)MathSciNetCrossRefMATHGoogle Scholar

Copyright information

© IFIP International Federation for Information Processing 2016

Authors and Affiliations

  1. 1.NOVA LINCSUniversidade NOVA de LisboaLisbonPortugal
  2. 2.University of GroningenGroningenThe Netherlands

Personalised recommendations