Linear type theory for asynchronous session types

Gay, S. and Vasconcelos, V. (2010) Linear type theory for asynchronous session types. Journal of Functional Programming, 20(01), pp. 19-50. (doi: 10.1017/S0956796809990268)

Full text not currently available from Enlighten.

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

Abstract

Session types support a type-theoretic formulation of structured patterns of communication, so that the communication behaviour of agents in a distributed system can be verified by static typechecking. Applications include network protocols, business processes and operating system services. In this paper we define a multithreaded functional language with session types, which unifies, simplifies and extends previous work. There are four main contributions. First is an operational semantics with buffered channels, instead of the synchronous communication of previous work. Second, we prove that the session type of a channel gives an upper bound on the necessary size of the buffer. Third, session types are manipulated by means of the standard structures of a linear type theory, rather than by means of new forms of typing judgement. Fourth, a notion of subtyping, including the standard subtyping relation for session types (imported into the functional setting), and a novel form of subtyping between standard and linear function types, which allows the typechecker to handle linear types conveniently. Our new approach significantly simplifies session types in the functional setting, clarifies their essential features and provides a secure foundation for language developments such as polymorphism and object-orientation.

Item Type:Articles
Status:Published
Refereed:Yes
Glasgow Author(s) Enlighten ID:Gay, Professor Simon
Authors: Gay, S., and Vasconcelos, V.
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:Journal of Functional Programming
Publisher:Cambridge Journals
ISSN:0956-7968
ISSN (Online):1469-7653
Published Online:08 December 2009

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

Project CodeAward NoProject NamePrincipal InvestigatorFunder's NameFunder RefLead Dept
452331Engineering foundations of web services - theories and tool supportSimon GayEngineering & Physical Sciences Research Council (EPSRC)EP/E065708/1Computing Science