我正在使用NuSMV并且我正在尝试编写实时CTL属性
我想知道是否有办法从一个州设置步骤,如:
((s.state = on) ABG (0..5 s.state = off))
读作:if (s.state=on) is true
,来自此状态,其他5个步骤属性(s.state= off) is true
。
我试着写这样的东西,但它不起作用。你能救我吗?
否则,是否可以从不是第一个的状态开始检查相同的属性?
答案 0 :(得分:0)
问题。从此状态编写 if (s.state=on) is true
,并在其他5个步骤中编写属性(s.state= off) is true.
<强> CTL。强>
CTLSPEC AG ((s.state = on) ->
((AX s.state = off) &
(AX AX s.state = off) &
(AX AX AX s.state = off) &
(AX AX AX AX s.state = off) &
(AX AX AX AX AX s.state = off)
));
使用此公式,您可以测试每次点击s.state = on
条件s.state = off
对于当前的 5个状态是否为真,无论是否为真您的路径选择。
初始AG
确保此属性必须保存在执行路径上的任何位置,而不仅仅是初始状态。
实时CTL。
来自 nusmv邮件列表:
((s.state = on) ABG (1..5 s.state = off))
注意: 我的问题的其余部分并不清楚,所以如果还有一些未答复的部分,请编辑您的问题并澄清一下。 < / p>