Modular session types for objects

Gay, S. J. , Gesbert, N., Ravara, A. and Vasconcelos, V. T. (2015) Modular session types for objects. Logical Methods in Computer Science, 11(4), 12. (doi: 10.2168/LMCS-11(4:12)2015)

114484.pdf - Published Version
Available under License Creative Commons Attribution Non-commercial No Derivatives.



Session types allow communication protocols to be specified type-theoretically so that protocol implementations can be verified by static type checking. We extend previous work on session types for distributed object-oriented languages in three ways. (1) We attach a session type to a class definition, to specify the possible sequences of method calls. (2) We allow a session type (protocol) implementation to be modularized, i.e. partitioned into separately-callable methods. (3) We treat session-typed communication channels as objects, integrating their session types with the session types of classes. The result is an elegant unification of communication channels and their session types, distributed object-oriented programming, and a form of typestate supporting non-uniform objects, i.e. objects that dynamically change the set of available methods. We define syntax, operational se-mantics, a sound type system, and a sound and complete type checking algorithm for a small distributed class-based object-oriented language with structural subtyping. Static typing guarantees that both sequences of messages on channels, and sequences of method calls on objects, conform to type-theoretic specifications, thus ensuring type-safety. The language includes expected features of session types, such as delegation, and expected features of object-oriented programming, such as encapsulation of local state.

Item Type:Articles
Glasgow Author(s) Enlighten ID:Gesbert, Dr Nils and Gay, Professor Simon
Authors: Gay, S. J., Gesbert, N., Ravara, A., and Vasconcelos, V. T.
College/School:College of Science and Engineering > School of Computing Science
Journal Name:Logical Methods in Computer Science
Publisher:International Federation of Computational Logic
ISSN (Online):1860-5974
Copyright Holders:Copyright © 2015 The Authors
First Published:First published in Logical Methods in Computer Science 11(4):12
Publisher Policy:Reproduced under a Creative Commons License
Related URLs:

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/1COM - COMPUTING SCIENCE
470671Behavioural types for object-oriented languagesSimon GayEngineering & Physical Sciences Research Council (EPSRC)EP/F037368/1COM - COMPUTING SCIENCE
614451Exploiting Parallelism through Type Transformations for Hybrid Manycore Systems.Wim VanderbauwhedeEngineering & Physical Sciences Research Council (EPSRC)EP/L00058X/1COM - COMPUTING SCIENCE
625521COST Action IC1201: Behavioural Types for Reliable Large-Scale Software System (BETTY)Simon GayEuropean Commission (EC)CGA-IC1201-1COM - COMPUTING SCIENCE