NuSMV实时CTL

时间:2016-11-29 21:54:00

标签: ctl nusmv

我正在使用NuSMV并且我正在尝试编写实时CTL属性 我想知道是否有办法从一个州设置步骤,如:
((s.state = on) ABG (0..5 s.state = off))

读作:if (s.state=on) is true,来自此状态,其他5个步骤属性(s.state= off) is true
我试着写这样的东西,但它不起作用。你能救我吗?

否则,是否可以从不是第一个的状态开始检查相同的属性?

1 个答案:

答案 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>