首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NuSMV实时CTL

NuSMV实时CTL
EN

Stack Overflow用户
提问于 2016-11-30 05:54:00
回答 1查看 125关注 0票数 0

我正在使用NuSMV,并且我正在尝试编写一个实时CTL属性。

我想知道是否有一种方法可以从状态设置步骤,例如:

((s.state = on) ABG (0..5 s.state = off))

从这个状态读取为:if (s.state=on) is true,对于其他5个步骤,属性(s.state= off) is true

我试着写这样的东西,但它不能工作。你能帮帮我吗?

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

EN

回答 1

Stack Overflow用户

发布于 2016-12-01 17:55:59

写入问题。 if (s.state=on) is true__,从该状态开始,对于其他5个步骤,属性(s.state= off) is true.

CTL。

代码语言:javascript
复制
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邮件列表

代码语言:javascript
复制
((s.state = on) ABG (1..5 s.state = off))

注意:你的问题的其余部分我不清楚,所以如果还有一些未回答的部分,请编辑你的问题并澄清一下。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40876458

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档