A List of Successes That Can Change the World

Volume 9600 of the series Lecture Notes in Computer Science pp 95-108


Subtyping Supports Safe Session Substitution

  • Simon J. GayAffiliated withSchool of Computing Science, University of Glasgow Email author 

* Final gross prices may vary according to local VAT.

Get Access


Session types describe the structure of bi-directional point-to-point communication channels by specifying the sequence and format of messages on each channel. A session type defines a communication protocol. Type systems that include session types are able to statically verify that communication-based code generates, and responds to, messages according to a specified protocol. It is natural to consider subtyping for session types, but the literature contains conflicting definitions. It is now folklore that one definition is based on safe substitutability of channels, while the other is based on safe substitutability of processes. We explain this point in more detail, and show how to unify the two views.