Conflation Confers Concurrency

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

Abstract

Session types provide a static guarantee that concurrent programs respect communication protocols. Recent work has explored a correspondence between proof rules and cut reduction in linear logic and typing and evaluation of process calculi. This paper considers two approaches to extend logically-founded process calculi. First, we consider extensions of the process calculus to more closely resemble \(\pi \)-calculus. Second, inspired by denotational models of process calculi, we consider conflating dual types. Most interestingly, we observe that these approaches coincide: conflating the multiplicatives (\(\otimes \) and \(\invamp \)) allows processes to share multiple channels; conflating the additives (\(\oplus \) and \( {\, \& \,}\)) provides nondeterminism; and conflating the exponentials (\({!}\) and \({?}\)) yields access points, a rendezvous mechanism for initiating session typed communication. Access points are particularly expressive: for example, they are sufficient to encode concurrent state and general recursion.

Notes

Acknowledgements

This work was supported by the EPSRC grant: From Data Types to Session Types—A Basis for Concurrency and Distribution (EP/K034413/1).

References

  1. Abramsky, S.: Proofs as processes. Theor. Comput. Sci. 135(1), 5–9 (1992)MathSciNetCrossRefMATHGoogle Scholar
  2. Abramsky, S., Gay, S.J., Nagarajan, R.: Interaction categories and the foundations of typed concurrent programming. In: Proceedings of the NATO Advanced Study Institute on Deductive Program Design, Marktoberdorf, Germany, pp. 35–113 (1996)Google Scholar
  3. Bellin, G., Scott, P.J.: On the \(\pi \)-Calculus and linear logic. Theoret. Comput. Sci. 135(1), 11–65 (1994)MathSciNetCrossRefMATHGoogle Scholar
  4. Bird, R., Wadler, P.: An Introduction to Functional Programming. Prentice Hall International (UK) Ltd., Hertfordshire (1988)Google Scholar
  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. Curry, H.B.: Functionality in combinatory logic. Proc. Nat. Acad. Sci. 20, 584–590 (1934)CrossRefMATHGoogle Scholar
  7. Dardha, O., Pérez, J.A.: Comparing deadlock-free session typed processes. In: EXPRESS/SOS, 2015, Madrid, Spain, 31 August 2015, pp. 1–15 (2015)Google Scholar
  8. Ehrhard, T., Laurent, O.: Interpreting a finitary pi-calculus in differential interaction nets. Inf. Comput. 208(6), 606–633 (2010). http://dx.org/10.1016/j.ic.2009.06.005 MathSciNetCrossRefMATHGoogle Scholar
  9. Fiore, M.P.: Differential structure in models of multiplicative biadditive intuitionistic linear logic. In: Della Rocca, S.R. (ed.) TLCA 2007. LNCS, vol. 4583, pp. 163–177. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  10. 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)Google Scholar
  11. Girard, J.Y.: Linear logic. Theoret. Comput. Sci. 50(1), 1–101 (1987)MathSciNetCrossRefMATHGoogle Scholar
  12. Honda, K.: Types for dyadic interaction. In: Best, E. (ed.) CONCUR 1993. LNCS, vol. 715. Springer, Heidelberg (1993)Google Scholar
  13. Honda, K., Laurent, O.: An exact correspondence between a typed pi-calculus and polarised proof-nets. Theor. Comput. Sci. 411(22–24), 2223–2238 (2010). http://dx.doi.org/10.1016/j.tcs.2010.01.028 MathSciNetCrossRefMATHGoogle Scholar
  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, pp. 122–138. Springer, Heidelberg (1998)CrossRefGoogle Scholar
  15. Honda, K., Yoshida, N., Berger, M.: Control in the \(\pi \)-calculus. In: Fourth ACM-SIGPLAN Continuation Workshop, CW04, 2004. Online proceedings (2004)Google Scholar
  16. Houston, R.: Finite products are biproducts in a compact closed category. J. Pure Appl. Algebra 212(2), 394–400 (2008). http://www.sciencedirect.com/science/article/pii/S0022404907001454 MathSciNetCrossRefMATHGoogle Scholar
  17. Howard, W.A.: The formulae-as-types notion of construction. In: Seldin, J.P., Hindley, J.R. (eds.) To H.B. Curry: Essays on Combinatory Logic, Lambda Calculus and Formalism. Academic Press, Boston (1980)Google Scholar
  18. 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). http://dx.doi.org/10.1007/11817949_16 CrossRefGoogle Scholar
  19. Kobayashi, N., Pierce, B.C., Turner, D.N.: Linearity and the \(\pi \)-calculus. In: POPL. ACM (1996)Google Scholar
  20. Kobayashi, N., Pierce, B.C., Turner, D.N.: Linearity and the Pi-calculus. ACM Trans. Program. Lang. Syst. 21(5), 914–947 (1999)CrossRefGoogle Scholar
  21. Landin, P.J.: The mechanical evaluation of expressions. Comput. J. 6(4), 308–320 (1964)CrossRefMATHGoogle Scholar
  22. Lindley, S., Morris, J.G.: A semantics for propositions as sessions. In: Vitek, J. (ed.) ESOP 2015. LNCS, vol. 9032, pp. 560–584. Springer, Heidelberg (2015)CrossRefGoogle Scholar
  23. Mazza, D.: The true concurrency of differential interaction nets. Mathematical Structures in Computer Science (2015, to appear)Google Scholar
  24. Naftalin, M., Wadler, P.: Java Generics and Collections. O’Reilly Media, Inc., Sebastopol (2006)Google Scholar
  25. Padovani, L.: Deadlock and lock freedom in the linear \(\pi \)-calculus. In: LICS. ACM (2014). http://doi.acm.org/10.1145/2603088.2603116
  26. Tait, W.W.: Infinitely long terms of transfinite type. In: Crossley, J.N., Dummett, M.A.E. (eds.) Formal Systems and Recursive Functions. North-Holland, Amsterdam (1965)Google Scholar
  27. 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
  28. Wadler, P.: Propositions as sessions. J. Funct. Program. 24(2–3), 384–418 (2014)MathSciNetCrossRefMATHGoogle Scholar
  29. Wadler, P.: Propositions as types. Commun. ACM 58(12), 75–84 (2015). http://doi.acm.org/10.1145/2699407 CrossRefGoogle Scholar

Copyright information

© Springer International Publishing Switzerland 2016

Authors and Affiliations

  1. 1.The University of EdinburghEdinburghScotland, UK
  2. 2.University of StrathclydeGlasgowScotland, UK

Personalised recommendations