我在我正在开发的作品上使用nuXmv,但我在使用 Reals 时遇到了麻烦。
假设我有程序:
MODULE main
VAR
t : Real;
r : 0..5000;
ASSIGN
init(t):=0;
init(r):=0;
TRANS
case
r>=500 :next(r)=0 & next(t)=0 & r<600;
r<500 : next(t)-t>0 -> next(r)=r+t & next(r)<600;
esac;
SPEC
AG r<=600
我试图证明的这个例子的属性是 r 总是小于或等于 600。请注意,这只是一个说明性的例子,没有具体含义。
现在在命令行上我输入
$ nuXmv <fileName>
为了运行程序并检查属性是否实现,但出现此消息
“在这个版本的 nuXmv 中,批处理模式不适用于包含无限域变量的模型。”
所以我发现的问题是使用Real
on variable t
。有没有办法像我在变量上使用的那样指定一系列实数值r
(它是整数类型)?我知道如果这存在可以解决问题,如果没有,我如何在我的程序中使用 Reals?
提前感谢您的宝贵时间。