byte x;
if
::(x == 0) -> ...
::(x > 0) -> ...
fi
是否存在全局变量的默认值?或者模型检查器检查所有可能的交错,也就是说,在这种情况下,使用(x==0)
和(x>0)
的所有可能状态。
答案 0 :(得分:1)
根据Promela doc默认情况下,变量初始化为零。
检查所有可能的变量初始值会以指数方式增加状态空间。
答案 1 :(得分:0)
这样做;
if
:: x = 0
:: x = 1
:: x = 2
// if you need more, add more
fi
或者如果你真的想要所有值,0到255
byte x = 0;
do
:: x <= 254 -> x++
:: break
od
将在每次迭代时中断或递增,从而生成所有可能的值。或者,正如您(和我)现在知道的那样,使用:
select (i : 0 .. 255)