缓存一致性协议的参数化验证
1. 抽象系统的描述
抽象系统的初始状态可以用公式 $\Theta_A \stackrel{\text{def}}{=} \exists V : \alpha(V, V_A)$ 来描述。对于每个具体的转换 $\tau$,在抽象转换集合 $T_A$ 中都有一个对应的抽象转换 $\tau_A$,它由公式 $\rho_{\tau_A} \stackrel{\text{def}}{=} \exists V, V’ : \alpha(V, V_A) \land \rho_{\tau}(V, V’) \land \alpha(V’, V’_A)$ 来刻画,其中 $V_A$ 和 $V’_A$ 是自由变量。由这个初始状态谓词和这些转换组成的系统 $(V_A, \Theta_A, T_A)$ 显然是系统 $S$ 的一个抽象。
如果已经证明了关于系统 $S$ 的某个不变性属性 $\psi$,可以选择以下抽象转换:
$\rho_{\tau_A} \stackrel{\text{def}}{=} \exists V, V’ : \psi(V) \land \alpha(V, V_A) \land \rho_{\tau}(V, V’) \land \alpha(V’, V’_A) \land \psi(V’)$
我们称用不变式 $\psi$ 强化了系统 $S$。抽象初始状态的计算方式类似。
要计算抽象系统,需要找到满足这些公式的所有状态,这是可行的,因为它们是 WS1S 公式。也就是说,选择一些关于具体系统的公式 $\phi_i(V)$(我们称它们为抽象谓词),可以根据布尔抽象关系 $\alpha \stackrel{\text{def}}{=}
超级会员免费看
订阅专栏 解锁全文
1万+

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



