组件演算类型系统与会话类型编码的研究
1. 组件演算类型系统
1.1 组件演算基础
组件演算受特定扩展思路启发,该扩展基于抽象行为规范(ABS)语言,引入了端口和重绑定操作的概念。端口和字段在概念上有所不同:端口是访问环境提供功能的接入点,而字段用于保存对象的内部状态。字段只能由拥有它们的对象通过赋值自由修改,而端口可以由同一 cog 中的任何对象通过重绑定操作进行修改。
1.2 端口一致性问题及解决
端口存在两个一致性问题:
- 端口在使用时不能被修改,通过结合端口和临界区的概念解决。
- 禁止在 cog 外部修改对象的端口,通过设计类型系统来保证这一要求,该类型系统通过采用组记录来跟踪对象所属的 cog。重绑定语句在操作涉及的对象之间组兼容时才是类型良好的。
1.3 相关工作
1.3.1 ABS 语言相关工作
- ABS 语言是为分布式面向对象系统设计的,将并发和同步机制与函数式语言集成。
- 存在多个集成并发对象和参与者(类似于 ABS 语言中的 cog)的并发面向对象模型,采用异步通信和将 futures 作为一等值使用。
- ABS 的并发模型是 Creol 并发模型的推广,从单个并发对象发展到并发对象组。
- ABS 内部的同步机制允许一次只有一个对象处于活动状态,类似于 Creol 中的协作调度。
- ABS 中的 cog 可与监视器进行比较,但没有显式信号,且可以在语言中编码监视器。
- 并发对象演算采用同步和异步方法调用,语义不同,与 ABS 中不同 cog 之间
超级会员免费看
订阅专栏 解锁全文

1万+

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



