Bounded polymorphism in session types

45Citations
Citations of this article
13Readers
Mendeley users who have this article in their library.

Abstract

Session types allow high-level specifications of structured patterns of communication, such as client-server protocols, to be expressed as types and verified by static typechecking. In collaboration with Malcolm Hole, we previously introduced a notion of subtyping for session types, which was formulated for an extended pi calculus. Subtyping allows one part of a system, for example, a server, to be refined without invalidating type-correctness of other parts, for example, clients. In this paper we introduce bounded polymorphism, which is based on the same notion of subtyping, in order to support more precise and flexible specifications of protocols; in particular, a choice of type in one message may affect the types of future messages. We formalise the syntax, operational semantics and typing rules of an extended pi calculus, and prove that typechecking guarantees the absence of run-time communication errors. We study algorithms for checking instances of the subtype relation in two versions of our system, which we call Kernel S and Full S, and establish that subtyping in Kernel S is decidable, and that subtyping in Full S is undecidable. © 2008 Cambridge University Press.

Cite

CITATION STYLE

APA

Gay, S. J. (2008). Bounded polymorphism in session types. Mathematical Structures in Computer Science, 18(5), 895–930. https://doi.org/10.1017/S0960129508006944

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free