TY - JOUR AV - restricted SN - 0360-0300 ID - eprints3695 EP - 36 SP - 1 TI - Foundations of Session Types and Behavioural Contracts N2 - Behavioural type systems, usually associated to concurrent or distributed computations, encompass concepts such as interfaces, communication protocols, and contracts, in addition to the traditional input/output operations. The behavioural type of a software component specifies its expected patterns of interaction using expressive type languages, so types can be used to determine automatically whether the component interacts correctly with other components. Two related important notions of behavioural types are those of session types and behavioural contracts. This article surveys the main accomplishments of the last 20 years within these two approaches. A1 - Huttel, Hans A1 - Lanese, Ivan A1 - Vasconcelos, Vasco Thudichum A1 - Caires, Luis A1 - Carbone, Marco A1 - Deniélou, Pierre-Malo A1 - Mostrous, Dimitris A1 - Padovani, Luca A1 - Ravara, Antonio A1 - Tuosto, Emilio A1 - Torres Vieira, Hugo A1 - Zavattaro, Gianluigi UR - http://doi.acm.org/10.1145/2873052 JF - ACM Computing Surveys Y1 - 2016/// PB - ACM VL - 49 IS - 1 ER -