Behavioral polymorphism and parametricity in session-based communication

  • Authors:
  • Luís Caires;Jorge A. Pérez;Frank Pfenning;Bernardo Toninho

  • Affiliations:
  • CITI and Departamento de Informática, FCT, Universidade Nova de Lisboa, Portugal;CITI and Departamento de Informática, FCT, Universidade Nova de Lisboa, Portugal;Computer Science Department, Carnegie Mellon University;CITI and Departamento de Informática, FCT, Universidade Nova de Lisboa, Portugal, Computer Science Department, Carnegie Mellon University

  • Venue:
  • ESOP'13 Proceedings of the 22nd European conference on Programming Languages and Systems
  • Year:
  • 2013

Quantified Score

Hi-index 0.00

Visualization

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.