Modular session types for distributed object-oriented programming

Gay, S. , Vasconcelos, V., Ravara, A., Gesbert, N. and Caldeira, A. (2010) Modular session types for distributed object-oriented programming. In: 37th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, Madrid, Spain, 17-23 Jan 2010, pp. 299-312. ISBN 9781605584799 (doi: 10.1145/1706299.1706335)

Full text not currently available from Enlighten.

Publisher's URL:


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 typestates supporting non-uniform objects, i.e. objects that dynamically change the set of available methods. We define syntax, operational semantics, a sound type system, and a correct and complete type checking algorithm for a small distributed class-based object-oriented language. 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. We also describe a prototype implementation as an extension of Java.

Item Type:Conference Proceedings
Glasgow Author(s) Enlighten ID:Gesbert, Dr Nils and Gay, Professor Simon and Ravara, Antonio
Authors: Gay, S., Vasconcelos, V., Ravara, A., Gesbert, N., and Caldeira, A.
Subjects:Q Science > QA Mathematics > QA75 Electronic computers. Computer science
Q Science > QA Mathematics > QA76 Computer software
College/School:College of Social Sciences > School of Education

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