ScholarGate
Assistant

Types de session et concurrence typée

Les types de session sont des types comportementaux qui décrivent le protocole de communication le long d'un canal, permettant à la vérification de type de garantir que les processus concurrents interagissent correctement.

Trouver un sujet avec PaperMindBientôtFind papers & topics
Tools & resources
Télécharger les diapositives
Learn & explore
VidéoBientôt

Definition

Un type de session est un type qui décrit le protocole suivi par un canal de communication, l'ordre et les types de messages envoyés et reçus, de sorte qu'un vérificateur de type puisse garantir que les participants communiquent selon un protocole bien défini.

Scope

Ce sujet couvre les disciplines de typage pour la concurrence, en particulier les types de session et les types comportementaux qui spécifient la séquence et la forme des messages échangés entre les processus communicants. Il inclut les types de session binaires et multipartites, la dualité et la conformité des protocoles, les garanties de sécurité de la communication et d'absence d'interblocage, ainsi que la correspondance entre les types de session et la logique linéaire.

Core questions

  • Comment un type peut-il décrire un protocole de communication sur un canal ?
  • Qu'est-ce que la dualité, et comment assure-t-elle l'accord entre deux points d'extrémité ?
  • Comment la sécurité de la communication et l'absence d'interblocage sont-elles garanties par le typage ?
  • Comment les types de session sont-ils liés à la logique linéaire via la correspondance de Curry-Howard ?

Key theories

Types de session binaires
Honda, Vasconcelos et Kubo ont introduit les types de session et une discipline de dualité pour la communication structurée, garantissant que les deux points d'extrémité d'un canal suivent des protocoles complémentaires et compatibles.
Types de session multipartites
Honda, Yoshida et Carbone ont généralisé les types de session à de multiples participants via un protocole global qui est projeté sur des types locaux, garantissant une interaction sûre entre de nombreuses parties.
Les types de session comme propositions linéaires
Caires et Pfenning ont établi une correspondance de Curry-Howard entre les types de session et la logique linéaire intuitionniste, produisant des garanties solides telles que l'absence d'interblocage par typabilité.

Clinical relevance

Les types de session et comportementaux apportent des garanties statiques de conformité des protocoles, de sécurité de la communication et d'absence d'interblocage aux logiciels concurrents et distribués, et ils ont été intégrés dans des extensions de langage et des bibliothèques. Ils transforment les erreurs de protocole qui apparaîtraient autrement à l'exécution en erreurs de type à la compilation.

History

Les types de session sont nés de travaux sur le pi-calcul typé, formalisés pour les sessions binaires par Honda et ses collègues entre 1993 et 1998. Les types de session multipartites ont étendu la théorie à de nombreux participants en 2008, et la correspondance logique de Caires et Pfenning en 2010 a relié les types de session à la logique linéaire, stimulant la recherche sur la concurrence typée sans interblocage et le développement d'outils pratiques.

Debates

Expressivité versus praticité du typage comportemental
Les chercheurs débattent de la richesse que devraient avoir les systèmes de types de session, en équilibrant la force des garanties telles que l'absence d'interblocage et la conformité des protocoles avec la charge d'annotation et la difficulté d'intégration dans les langages courants.

Key figures

  • Kohei Honda
  • Nobuko Yoshida
  • Marco Carbone
  • Luís Caires
  • Frank Pfenning

Related topics

Seminal works

  • honda1998
  • honda2008
  • caires2010

Frequently asked questions

Que garantit un type de session ?
Une session bien typée garantit la sécurité de la communication, ce qui signifie que chaque message a le type attendu et que les parties suivent le protocole convenu ; les systèmes plus riches garantissent en outre la progression ou l'absence d'interblocage.
Qu'est-ce que la dualité dans les types de session ?
La dualité est la relation entre les deux points d'extrémité d'un canal : ce que l'un envoie, l'autre doit le recevoir, et vice versa, de sorte que les deux protocoles locaux s'assemblent en une conversation cohérente.

Methods for this concept

Related concepts