并发通信进程:原理、模型与等价性
1. 基于通道的通信语言 Cab
在并发编程中,进程间的通信是一个核心问题。为了实现进程间通过通道进行通信,我们引入了一种名为 Cab 的语言。它是在 Bims 语言的基础上扩展而来,允许程序由一组可以通过通道进行通信的并行进程组成。
1.1 Cab 语言的语法
Cab 语言的语法包含了 Bims 语言的语法类别,同时增加了程序类别 Proc 和通道类别 Channels 。其抽象语法扩展如下:
p ::= par(S1, ..., Sn)
S ::= ... | c?x | c!a
其中, par(S1, ..., Sn) 表示并行组合,要求任意两个并行组件 Si 和 Sj ( 1 ≤ i, j ≤ k 且 i ≠ j )变量独立,即一个组件中的变量不会出现在另一个组件中,以确保并行组件可以独立执行而不相互干扰。 c?x 表示从通道 c 接收一个值并将其绑定到变量 x , c!a 表示将算术表达式 a 的值发送到通道 c 。
1.2 全局和局部行为
为了理解 Cab 语言的语义,我们采用一种
超级会员免费看
订阅专栏 解锁全文
1808

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



