A Semantics for Propositions as Sessions

Part of the Lecture Notes in Computer Science book series (LNCS, volume 9032)

Abstract

Session types provide a static guarantee that concurrent programs respect communication protocols. Recently, Caires, Pfenning, and Toninho, and Wadler, have developed a correspondence between propositions of linear logic and session typed π-calculus processes. We relate the cut-elimination semantics of this approach to an operational semantics for session-typed concurrency in a functional language. We begin by presenting a variant of Wadler’s session-typed core functional language, GV. We give a small-step operational semantics for GV. We develop a suitable notion of deadlock, based on existing approaches for capturing deadlock in π-calculus, and show that all well-typed GV programs are deadlock-free, deterministic, and terminating. We relate GV to linear logic by giving translations between GV and CP, a process calculus with a type system and semantics based on classical linear logic. We prove that both directions of our translation preserve reduction; previous translations from GV to CP, in contrast, failed to preserve β-reduction. Furthermore, to demonstrate the modularity of our approach, we define two extensions of GV which preserve deadlock-freedom, determinism, and termination.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Abramsky, S.: Proofs as processes. Theor. Comput. Sci. 135(1), 5–9 (1992)CrossRefMathSciNetGoogle Scholar
  2. 2.
    Barendregt, H.P.: The Lambda Calculus Its Syntax and Semantics, vol. 103. North-Holland (1984)Google Scholar
  3. 3.
    Bellin, G., Scott, P.J.: On the π-Calculus and linear logic. Theoretical Computer Science 135(1), 11–65 (1994)CrossRefMATHMathSciNetGoogle Scholar
  4. 4.
    Boreale, M.: On the expressiveness of internal mobility. In: Sassone, V., Montanari, U. (eds.) CONCUR 1996. LNCS, vol. 1119, Springer, Heidelberg (1996)Google 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., Dardha, O., Montesi, F.: Progress as compositional lock-freedom. In: COORDINATION 2014, Springer (2014)Google Scholar
  7. 7.
    Carbone, M., Debois, S.: A graphical approach to progress for structured communication in web services. In: ICE (2010)Google Scholar
  8. 8.
    Cooper, E., Lindley, S., Yallop, J.: Links: Web programming without tiers. In: de Boer, F.S., Bonsangue, M.M., Graf, S., de Roever, W.-P. (eds.) FMCO 2006. LNCS, vol. 4709, pp. 266–296. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  9. 9.
    Dardha, O., Giachino, E., Sangiorgi, D.: Session types revisited. In: PPDP. ACM (2012)Google Scholar
  10. 10.
    Gay, S.J., Vasconcelos, V.T.: Linear type theory for asynchronous session types. Journal of Functional Programming 20(01), 19–50 (2010)CrossRefMATHMathSciNetGoogle Scholar
  11. 11.
    Giachino, E., Kobayashi, N., Laneve, C.: Deadlock analysis of unbounded process networks. In: Baldan, P., Gorla, D. (eds.) CONCUR 2014. LNCS, vol. 8704, pp. 63–77. Springer, Heidelberg (2014)CrossRefGoogle Scholar
  12. 12.
    Girard, J.-Y.: Linear logic. Theoretical Computer Science 50(1), 1–101 (1987)CrossRefMATHMathSciNetGoogle Scholar
  13. 13.
    Honda, K.: Types for dyadic interaction. In: Best, E. (ed.) CONCUR 1993. LNCS, vol. 715, Springer, Heidelberg (1993)Google Scholar
  14. 14.
    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, p. 122. Springer, Heidelberg (1998)CrossRefGoogle Scholar
  15. 15.
    Kobayashi, N.: Type systems for concurrent programs. In: Aichernig, B.K. (ed.) Formal Methods at the Crossroads. From Panacea to Foundational Support. LNCS, vol. 2757, pp. 439–453. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  16. 16.
    Kobayashi, N.: A new type system for deadlock-free processes. In: Baier, C., Hermanns, H. (eds.) CONCUR 2006. LNCS, vol. 4137, pp. 233–247. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  17. 17.
    Kobayashi, N., Pierce, B.C., Turner, D.N.: Linearity and the π-calculus. In: POPL. ACM (1996)Google Scholar
  18. 18.
    Lévy, J.-J., Maranget, L.: Explicit substitutions and programming languages. In: Pandu Rangan, C., Raman, V., Sarukkai, S. (eds.) FST TCS 1999. LNCS, vol. 1738, p. 181. Springer, Heidelberg (1999)CrossRefGoogle Scholar
  19. 19.
    Lindley, S., Morris, J.G.: Sessions as propositions. In: PLACES (2014)Google Scholar
  20. 20.
    Padovani, L.: Deadlock and lock freedom in the linear π-calculus. In: LICS, ACM (2014)Google Scholar
  21. 21.
    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)CrossRefMATHGoogle Scholar
  22. 22.
    Takeuchi, K., Honda, K., Kubo, M.: An interaction-based language and its typing system. In: Halatsis, C., Philokyprou, G., Maritsas, D., Theodoridis, S. (eds.) PARLE 1994. LNCS, vol. 817, Springer, Heidelberg (1994)Google Scholar
  23. 23.
    Toninho, B., Caires, L., Pfenning, F.: Functions as session-typed processes. In: Birkedal, L. (ed.) FOSSACS 2012. LNCS, vol. 7213, pp. 346–360. Springer, Heidelberg (2012)CrossRefGoogle Scholar
  24. 24.
    van Bakel, S., Vigliotti, M.G.: A logical interpretation of the λ-calculus into the π-calculus, preserving spine reduction and types. In: Bravetti, M., Zavattaro, G. (eds.) CONCUR 2009. LNCS, vol. 5710, pp. 84–98. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  25. 25.
    Vasconcelos, V.T., Gay, S.J., Ravara, A.: Type checking a multithreaded functional language with session types. Theor. Comput. Sci. 368(1-2), 64–87 (2006)CrossRefMATHMathSciNetGoogle Scholar
  26. 26.
    Wadler, P.: Propositions as sessions. J. Funct. Program. 24(2-3), 384–418 (2014)CrossRefMATHMathSciNetGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2015

Authors and Affiliations

  1. 1.The University of EdinburghEdinburghUK

Personalised recommendations