自动验证概率自由选择与类型推断实验
1. 自动验证概率自由选择
在验证简单属性的 P - 有效性时,使用现有的模型检查技术,一个关键步骤是将“同情”(compassion)要求“本地化”并减少其数量。因为直接将概率公平性替换为同情要求,通常会产生大量全局的同情要求,这对于模型检查来说是不可取的。
1.1 礼貌哲学家协议
Lehmann 和 Rabin 的礼貌哲学家算法是“自由哲学家”算法的改进。在这个算法中,叉子是共享变量,持有叉子时设置,放在桌子上时重置。相邻的哲学家还共享一个 lastL[i ⊕ 1] 变量,初始值为 -1,用于表示是左边还是右边的哲学家最后进食。每个哲学家 Pi 还有额外的布尔变量 signR[i] 和 signL[i] ,分别表示其向左右邻居表达进食的意愿。
该算法的 spl 代码如下:
in
N : integer where N ≥ 2
local signL, signR, y, : array [1..N] of boolean init 0
local lastL : array [1..N] of {−1, 0, 1} init −1
N
i = 1
P[i] ::
loop forever do
ℓ0 : non - critical
ℓ1 : signL[i] := 1; signR[i] := 1; goto {0.5 : ℓ2; 0.5 : ℓ5}
ℓ2
超级会员免费看
订阅专栏 解锁全文
35

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



