Bounded polymorphism in session types

Gay, S. (2008) Bounded polymorphism in session types. Mathematical Structures in Computer Science, 18(05), pp. 895-930. (doi: 10.1017/S0960129508006944)

Full text not currently available from Enlighten.

Publisher's URL: http://dx.doi.org/10.1017/S0960129508006944

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.

Item Type:Articles
Status:Published
Refereed:Yes
Glasgow Author(s) Enlighten ID:Gay, Professor Simon
Authors: Gay, S.
Subjects:Q Science > QA Mathematics > QA75 Electronic computers. Computer science
Q Science > QA Mathematics > QA76 Computer software
College/School:College of Science and Engineering > School of Computing Science
Journal Name:Mathematical Structures in Computer Science
ISSN:0960-1295
ISSN (Online):1469-8072
Published Online:06 October 2008

University Staff: Request a correction | Enlighten Editors: Update this record