Foundations of Information Technologies

- FIT 2009 -

June 14-27, 2009, Novi Sad

General Information
Courses and Lecture Notes
Local Information




Sessions and Session Types: an Introduction

Mariangiola Dezani-Ciancaglini



Sessions are a common and widespread mechanism of interaction in distributed architectures. The processes willing to interact establish a connection on a shared public channel. In this connection they agree on some private channel on which to have a conversation, dubbed session. The conversation follows a given protocol which describes the kind and order of the messages exchanged on the private channel.   The messages exchanged during a session may be synchronization signals, basic values (e.g., integers, booleans, strings), names of public channels (those used to start sessions), or even names of private channels of already started sessions. In the 

last case one speaks of delegation since by sending to some other process the private channel of a session, the process delegates the receiver to continue that session. 

Session types describe the sequences of messages exchanged on a private session channel and their possible branching based on labels: they prevent communication mismatches and session deadlocks.