π-演算中的分层通信拓扑
1. 引言
在计算领域,并发无处不在。常见的做法是将并发软件系统组织成通过消息传递进行通信的动态进程集合。由于进程可能被创建或销毁,系统中进程的数量在计算过程中会发生变化,甚至可能是无界的。而且,交换的消息可能包含进程地址,这使得系统的通信拓扑(连接可直接通信进程的超图)会随时间演变,进程的连通性也会动态改变。这种动态可重构性使得系统的设计和分析变得困难,验证问题通常是不可判定的。
本文聚焦于分层系统,这是并发消息传递系统的一个新子类。由于对通信拓扑施加了形状约束,该子类的安全验证问题是可判定的。
π - 演算是由 Milner、Parrow 和 Walker 设计的一种进程演算,用于对具有动态通信拓扑的系统进行建模。在 π - 演算中,进程可以动态生成,通过同步通道交换消息进行通信。通道名称可以动态创建并作为消息传递,这种特性被称为移动性,它允许进程在运行时修改其邻域。
众所周知,π - 演算是图灵完备的计算模型,因此 π - 项的验证问题通常是不可判定的。不过,该演算存在一些支持自动验证的有用片段。目前已知表达能力最强的片段是 Meyer 提出的深度有界 π - 演算。深度有界性是对通信拓扑形状的一种约束,若存在一个数 k,使得每个可达 π - 项的通信拓扑中的每条简单路径长度都受 k 限制,则称该 π - 项是深度有界的。Meyer 证明了深度有界项的终止性和覆盖性(一类安全属性)是可判定的。然而,深度有界性本身是一个不可判定的属性,这严重阻碍了深度有界片段在验证中的实际应用。
本文针对这一问题提出了两步解决方案:首先,通过对通信拓扑施加形状约束(而非像深度有界性那样的数值约束),确定深度有界系统的一个(仍然