Behavioral Types in Programming Languages
Davide Ancona
(1)
,
Viviana Bono
(2)
,
Mario Bravetti
(3, 4)
,
Joana Campos
(5, 6)
,
Giuseppe Castagna
(7, 8)
,
Pierre-Malo Deniélou
(9)
,
Simon J. Gay
(10)
,
Nils Gesbert
(11)
,
Elena Giachino
(4, 3)
,
Raymond Hu
(12)
,
Einar Broch Johnsen
(13)
,
Francisco Martins
(5, 6)
,
Viviana Mascardi
(1)
,
Fabrizio Montesi
(14)
,
Rumyana Neykova
(12)
,
Nicholas Ng
(12)
,
Luca Padovani
(2)
,
Vasco T. Vasconcelos
(6, 5)
,
Nobuko Yoshida
(12)
1
DIBRIS -
Dipartimento di Informatica, Bioingegneria, Robotica e Ingegneria dei Sistemi [Genova]
2 Dipartimento di Informatica [Torino]
3 DISI - Department of Computer Science and Engineering [Bologna]
4 FOCUS - Foundations of Component-based Ubiquitous Systems
5 LaSIGE [Lisboa]
6 Department of Informatics [Lisbon]
7 IRIF (UMR_8243) - Institut de Recherche en Informatique Fondamentale
8 CNRS - Centre National de la Recherche Scientifique
9 RHUL - Royal Holloway [University of London]
10 School of Computing Science [Glasgow]
11 TYREX - Types and Reasoning for the Web
12 Imperial College London
13 Department of Informatics [Oslo]
14 SDU - University of Southern Denmark
2 Dipartimento di Informatica [Torino]
3 DISI - Department of Computer Science and Engineering [Bologna]
4 FOCUS - Foundations of Component-based Ubiquitous Systems
5 LaSIGE [Lisboa]
6 Department of Informatics [Lisbon]
7 IRIF (UMR_8243) - Institut de Recherche en Informatique Fondamentale
8 CNRS - Centre National de la Recherche Scientifique
9 RHUL - Royal Holloway [University of London]
10 School of Computing Science [Glasgow]
11 TYREX - Types and Reasoning for the Web
12 Imperial College London
13 Department of Informatics [Oslo]
14 SDU - University of Southern Denmark
Mario Bravetti
- Fonction : Auteur
- PersonId : 961956
Giuseppe Castagna
- Fonction : Auteur
- PersonId : 8870
- IdHAL : castagna
- ORCID : 0000-0003-0951-7535
- IdRef : 035110600
Elena Giachino
- Fonction : Auteur
- PersonId : 5912
- IdHAL : elena-giachino
- ORCID : 0000-0001-8884-044X
- IdRef : 142533904
Viviana Mascardi
- Fonction : Auteur
- PersonId : 835706
Vasco T. Vasconcelos
- Fonction : Auteur
- PersonId : 925473
Résumé
A recent trend in programming language research is to use behavioral type theory to ensure various correctness properties of largescale, communication-intensive systems. Behavioral types encompass concepts such as interfaces, communication protocols, contracts, and choreography. The successful application of behavioral types requires a solid understanding of several practical aspects, from their representation in a concrete programming language, to their integration with other programming constructs such as methods and functions, to design and monitoring methodologies that take behaviors into account. This survey provides an overview of the state of the art of these aspects, which we summarize as the pragmatics of behavioral types.