ScholarGate
助手

会话类型与类型化并发

会话类型是描述通道通信协议的行为类型,通过类型检查确保并发进程正确交互。

用 PaperMind 寻找选题即将推出Find papers & topics
Tools & resources
下载幻灯片
Learn & explore
视频即将推出

Definition

会话类型是一种描述通信通道所遵循协议的类型,即发送和接收消息的顺序和类型,以便类型检查器能够确保参与者按照明确定义的协议进行通信。

Scope

本主题涵盖并发的类型规程,特别是会话类型和行为类型,它们指定了通信进程之间交换消息的序列和形式。它包括二元和多方会话类型、对偶性与协议一致性、通信安全和无死锁的保证,以及会话类型与线性逻辑之间的对应关系。

Core questions

  • 类型如何描述通道上的通信协议?
  • 什么是对偶性,它如何确保两个端点达成一致?
  • 类型化如何保证通信安全和无死锁?
  • 会话类型如何通过Curry-Howard对应关系与线性逻辑相关联?

Key theories

二元会话类型
Honda、Vasconcelos和Kubo引入了会话类型和用于结构化通信的对偶性规程,确保通道的两个端点遵循互补且兼容的协议。
多方会话类型
Honda、Yoshida和Carbone通过将全局协议投射到局部类型上,将会话类型推广到多个参与者,从而保证了多方之间的安全交互。
作为线性命题的会话类型
Caires和Pfenning建立了会话类型与直觉线性逻辑之间的Curry-Howard对应关系,从而从可类型性中获得了诸如无死锁等强有力的保证。

Clinical relevance

会话类型和行为类型为并发和分布式软件带来了协议一致性、通信安全和无死锁的静态保证,并已被集成到语言扩展和库中。它们将原本会在运行时出现的协议错误转化为编译时类型错误。

History

会话类型起源于类型化π演算的研究,由Honda及其同事在1993-1998年间为二元会话形式化。多方会话类型在2008年将该理论扩展到多个参与者,而Caires和Pfenning在2010年提出的逻辑对应关系将会话类型与线性逻辑联系起来,从而推动了无死锁类型化并发研究和实用工具的发展。

Debates

行为类型化的表达能力与实用性
研究人员就会话类型系统应有多丰富展开辩论,权衡死锁自由和协议一致性等保证的强度与主流语言中注解负担和集成难度之间的关系。

Key figures

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

Related topics

Seminal works

  • honda1998
  • honda2008
  • caires2010

Frequently asked questions

会话类型保证了什么?
良好类型化的会话保证了通信安全,这意味着每条消息都具有预期的类型,并且各方遵循商定的协议;更丰富的系统还额外保证了进程的推进或无死锁。
会话类型中的对偶性是什么?
对偶性是通道两个端点之间的关系:一个端点发送的任何内容,另一个端点都必须接收,反之亦然,这样两个局部协议才能组合成一个连贯的对话。

Methods for this concept

Related concepts