分布式程序类型系统:组件与会话探索
1. 类型与类型系统在并发和分布式编程中的作用
在编程领域,类型和类型系统具有诸多重要作用,从检测编程错误到促进代码优化和提高可读性。在并发和分布式编程中,这些优势依然存在,并且通过使用类型和类型系统,还能保证这类系统特有的其他属性。
过去20年,在进程类型的开发方面投入了大量精力,主要集中在π - 演算及其变体中。π - 演算是用于建模并发和分布式场景最常用的演算。例如,提出了一些类型来确保进程的特定属性:
- 终止性 :当查询一个类型良好的进程时,能保证最终会产生一个答案。
- 无死锁性 :确保类型良好的进程永远不会进入死锁状态,即除非整个进程发散,否则通信最终会成功。
- 无锁性 :在公平调度的情况下,即使整个进程发散,类型良好的进程的通信也会成功。
类型和类型系统用于保证安全属性的方法,也成功应用于比带类型的π - 演算更复杂的并发基于组件的系统中,以保证组件通信的无死锁性等。
2. 通信相关的类型和类型系统
存在多种用于通信的类型和类型系统提案,从带类型的π - 演算中的标准通道类型到行为类型,这些类型通常是为π - 演算(及其变体)定义的。
- 标准通道类型 :是基础性的,简单、表达能力强且健壮,在文献中得到了深入研究,也是行为类型的基础。
- 会话类型 :用于将协议描述和建模为类型抽象。它能保证多种安全属性,如通信通道的隐私性、通信安全性和会话保真度,
超级会员免费看
订阅专栏 解锁全文
6万+

被折叠的 条评论
为什么被折叠?



