Mobile Calculi based on Domains

Session Types for Inter-Process Communication

S. Gay and V. Vasconcelos and A. Ravara


We define a language whose type system, incorporating session types, allows complex protocols to be specified by types and verified by static typechecking. A session type, associated with a communication channel, specifies not only the data types of individual messages, but also the state transitions of a protocol and hence the allowable sequences of messages. Although session types are well understood in the context of the pi-calculus, our formulation is based on lambda-calculus with side-effecting input/output operations and is different in significant ways. Our typing judgements statically describe dynamic changes in the types of channels, our channel types statically track aliasing, and our function types not only specify argument and result types but also describe changes in channel types. After formalising the syntax, semantics and typing rules of our language, and proving a subject reduction theorem, we outline some possibilities for extending this work to a concurrent object-oriented language.

  author = \{S. Gay and V. Vasconcelos and A. Ravara},
  title = \{Session Types for Inter-Process Communication},
  institution = \{Department of Computing, University of Glasgow},
  year = \{2003}, 
  number = \{2003--133}, 
  url = \{}

About this site. Last modified: Wed Sep 20 22:02:03 CEST 2017