面向服务计算的演算探索
1. 服务调用与会话特性
在服务调用方面,每次服务调用都会开启一个新的会话,计算可在其中推进。而且,会话能够在不同深度进行嵌套,并且不会关闭。这一特性从语义角度来看十分关键,它为服务计算的流程和结构带来了独特的性质。
练习 9
需要编写 CaSPiS 进程 $\llbracket\lambda x.x\rrbracket_{\lambda2c}^a$ 和 $\llbracket(\lambda x.x)N\rrbracket_{\lambda2c}^a$,并写出 $\llbracket(\lambda x.x)N\rrbracket_{\lambda2c}^a$ 的所有归约步骤。
2. 从 Pi - 演算到 CaSPiS
无选择的 Pi - 演算可以编码到无关闭的 CaSPiS 片段中。Pi - 演算的通信原语可视为具有最小协议的服务。不过,若将 Pi - 演算进程 $a(x).P$ 编码为 CaSPiS 进程 $a.(?x)C$($C$ 是 $P$ 的编码),会不必要地在嵌套会话中运行 $C$。为避免此问题,可利用管道和模式匹配,使编码更优雅。为简便起见,这里聚焦于无求和的一元 Pi - 演算。选择方面的问题在于,CaSPiS 求和只能应用于抽象、具体化和返回前缀,而不能用于服务定义和调用。
Pi - 演算进程的编码定义如下:
| Pi - 演算进程 | CaSPiS 编码 |
| — | — |
| $\llbracket0\rrbracket_{\pi2c} \triangleq 0$ | |
| $\llbracket x(y).P\rrbr
超级会员免费看
订阅专栏 解锁全文
6

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



