Advertisement

Behavioral Polymorphism and Parametricity in Session-Based Communication

  • Luís Caires
  • Jorge A. Pérez
  • Frank Pfenning
  • Bernardo Toninho
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7792)

Abstract

We investigate a notion of behavioral genericity in the context of session type disciplines. To this end, we develop a logically motivated theory of parametric polymorphism, reminiscent of the Girard-Reynolds polymorphic λ-calculus, but casted in the setting of concurrent processes. In our theory, polymorphism accounts for the exchange of abstract communication protocols and dynamic instantiation of heterogeneous interfaces, as opposed to the exchange of data types and dynamic instantiation of individual message types. Our polymorphic session-typed process language satisfies strong forms of type preservation and global progress, is strongly normalizing, and enjoys a relational parametricity principle. Combined, our results confer strong correctness guarantees for communicating systems. In particular, parametricity is key to derive non-trivial results about internal protocol independence, a concurrent analogous of representation independence, and non-interference properties of modular, distributed systems.

Keywords

Cloud Server Logical Predicate Label Transition System Strong Normalization Session Type 
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.

References

  1. 1.
    Berger, M., Honda, K., Yoshida, N.: Genericity and the π-Calculus. In: Gordon, A.D. (ed.) FOSSACS 2003. LNCS, vol. 2620, pp. 103–119. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  2. 2.
    Berger, M., Honda, K., Yoshida, N.: Genericity and the pi-calculus. Acta Inf. 42(2-3), 83–141 (2005)MathSciNetzbMATHCrossRefGoogle Scholar
  3. 3.
    Bono, V., Padovani, L.: Polymorphic endpoint types for copyless message passing. In: Proc. of ICE 2011. EPTCS, vol. 59, pp. 52–67 (2011)Google Scholar
  4. 4.
    Bono, V., Padovani, L.: Typing copyless message passing. Logical Methods in Computer Science 8(1) (2012)Google Scholar
  5. 5.
    Caires, L., Pérez, J.A., Pfenning, F., Toninho, B.: Relational parametricity for polymorphic session types. Tech. rep., CMU-CS-12-108, Carnegie Mellon Univ. (April 2012)Google Scholar
  6. 6.
    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
  7. 7.
    Caires, L., Pfenning, F., Toninho, B.: Linear logic propositions as session types (2012), under Revision - http://www.cs.cmu.edu/~fp/papers/sessions12.pdf
  8. 8.
    Caires, L., Pfenning, F., Toninho, B.: Towards concurrent type theory. In: TLDI 2012, pp. 1–12. ACM, New York (2012)Google Scholar
  9. 9.
    Dardha, O., Giachino, E., Sangiorgi, D.: Session Types Revisited. In: PPDP, pp. 139–150. ACM (2012)Google Scholar
  10. 10.
    Dezani-Ciancaglini, M., Giachino, E., Drossopoulou, S., Yoshida, N.: Bounded Session Types for Object Oriented Languages. In: de Boer, F.S., Bonsangue, M.M., Graf, S., de Roever, W.-P. (eds.) FMCO 2006. LNCS, vol. 4709, pp. 207–245. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  11. 11.
    Gay, S., Hole, M.: Subtyping for session types in the pi calculus. Acta Inf. 42, 191–225 (2005)MathSciNetzbMATHCrossRefGoogle Scholar
  12. 12.
    Gay, S.J.: Bounded polymorphism in session types. Math. Struc. in Comp. Sci. 18(5), 895–930 (2008)MathSciNetzbMATHCrossRefGoogle Scholar
  13. 13.
    Girard, J.Y.: Une extension de l’interprétation de Gödel à l’analyse, et son application à l’élimination de coupures dans l’analyse et la théorie des types. In: Proc. of the 2nd Scandinavian Logic Symposium, pp. 63–92. North-Holland Publishing Co. (1971)Google Scholar
  14. 14.
    Girard, J.Y., Lafont, Y., Taylor, P.: Proofs and Types. Cambridge Tracts in Theoretical Computer Science. Cambridge University Press (1989)Google Scholar
  15. 15.
    Goto, M., Jagadeesan, R., Jeffrey, A., Pitcher, C., Riely, J.: An Extensible Approach to Session Polymorphism (2012), http://fpl.cs.depaul.edu/projects/xpol/
  16. 16.
    Harper, R.: Practical Foundations for Programming Languages. Cambridge University Press (2012)Google Scholar
  17. 17.
    Honda, K.: Types for Dyadic Interaction. In: Best, E. (ed.) CONCUR 1993. LNCS, vol. 715, pp. 509–523. Springer, Heidelberg (1993)CrossRefGoogle Scholar
  18. 18.
    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
  19. 19.
    Jeffrey, A., Rathke, J.: Full abstraction for polymorphic pi-calculus. Theor. Comput. Sci. 390(2-3), 171–196 (2008)MathSciNetzbMATHCrossRefGoogle Scholar
  20. 20.
    Pérez, J.A., Caires, L., Pfenning, F., Toninho, B.: Linear Logical Relations for Session-Based Concurrency. In: Seidl, H. (ed.) ESOP 2012. LNCS, vol. 7211, pp. 539–558. Springer, Heidelberg (2012)CrossRefGoogle Scholar
  21. 21.
    Pfenning, F., Caires, L., Toninho, B.: Proof-Carrying Code in a Session-Typed Process Calculus. In: Jouannaud, J.-P., Shao, Z. (eds.) CPP 2011. LNCS, vol. 7086, pp. 21–36. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  22. 22.
    Pierce, B.C., Sangiorgi, D.: Behavioral equivalence in the polymorphic pi-calculus. J. ACM 47(3), 531–584 (2000)MathSciNetzbMATHCrossRefGoogle Scholar
  23. 23.
    Reynolds, J.C.: Towards a theory of type structure. In: Programming Symposium, Proceedings Colloque sur la Programmation, pp. 408–423. Springer, London (1974)CrossRefGoogle Scholar
  24. 24.
    Reynolds, J.C.: Types, abstraction and parametric polymorphism. In: Mason, R.E.A. (ed.) Information Processing 1983, pp. 513–523. Elsevier Science Publishers B. V. (1983)Google Scholar
  25. 25.
    Sangiorgi, D., Walker, D.: The π-calculus: A Theory of Mobile Processes. Cambridge University Press, New York (2001)Google Scholar
  26. 26.
    Toninho, B., Caires, L., Pfenning, F.: Dependent session types via intuitionistic linear type theory. In: Proc. of PPDP 2011, pp. 161–172. ACM, New York (2011)Google Scholar
  27. 27.
    Turner, D.: The polymorphic pi-calculus: Theory and implementation. Tech. rep., ECS-LFCS-96-345, Univ. of Edinburgh (1996)Google Scholar
  28. 28.
    Wadler, P.: Propositions as sessions. In: Thiemann, P., Findler, R.B. (eds.) ICFP, pp. 273–286. ACM (2012)Google Scholar
  29. 29.
    Washburn, G., Weirich, S.: Generalizing parametricity using information-flow. In: LICS, pp. 62–71. IEEE Computer Society (2005)Google Scholar
  30. 30.
    Zhao, J., Zhang, Q., Zdancewic, S.: Relational Parametricity for a Polymorphic Linear Lambda Calculus. In: Ueda, K. (ed.) APLAS 2010. LNCS, vol. 6461, pp. 344–359. Springer, Heidelberg (2010)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2013

Authors and Affiliations

  • Luís Caires
    • 1
  • Jorge A. Pérez
    • 1
  • Frank Pfenning
    • 2
  • Bernardo Toninho
    • 1
    • 2
  1. 1.CITI and Departamento de Informática, FCTUniversidade Nova de LisboaPortugal
  2. 2.Computer Science DepartmentCarnegie Mellon UniversityUSA

Personalised recommendations