Advertisement

Conflation Confers Concurrency

  • Robert Atkey
  • Sam Lindley
  • J. Garrett Morris
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.

Keywords

Access Point Intuitionistic Logic Linear Logic Reduction Rule Proof Rule 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

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