首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >错误:不可能建立具有无限精度变量的BDD FSM

错误:不可能建立具有无限精度变量的BDD FSM
EN

Stack Overflow用户
提问于 2019-04-24 13:32:43
回答 1查看 266关注 0票数 1

我刚刚安装了nuXmv,并希望尝试示例文件夹中的增长-反整数示例。当我尝试运行命令:build_model时,我得到了错误消息:

文件增长-反向整数. FSM :第30行:不可能建立具有无限精度变量的BDD FSM

有人知道如何纠正这个错误吗?提前谢谢。

生长-反整数.file文件:

代码语言:javascript
运行
复制
MODULE main

VAR state : { s0, s1, s2, s3 };

VAR c : integer;
VAR lim : real;

ASSIGN
 init(state) := s0;
 next(state) :=
  case
   state = s0 : s1;
   state = s1 : s2;
   state = s2 & c < lim : s2;
   state = s2 & c >= lim : s3;
   state = s3 : s1;
   TRUE : state;
  esac;

 init(c) := 0;
 next(c) := (state = s2 & next(state) = s2)?(c+1):(0);

 init(lim) := 2;
 next(lim) := (state = s3 & next(state) = s1)?(lim + 1):(lim);

INVARSPEC c < 3;
INVARSPEC c < 4;
INVARSPEC c < 5;
INVARSPEC c < 6;
INVARSPEC c < 20;

LTLSPEC G F (state = s3);
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-04-24 14:53:18

当输入模型包含一些无限域变量(如模型中的realinteger类型)时,最终用户应该使用MathSAT5引擎后端而不是常规方法(例如,基于BDDs的方法)。

基于MathSAT5的命令在nuXmv手册中很容易识别,因为它们中包含关键字msat。在本例中,您仅限于不变量和LTL有界模型检查。还有一些特殊的命令来模拟系统(即msat_pick_statemsat_simulate)。

read_model -i <file.smv>之后,人们通常使用命令go_msat,然后选择适当的方法来检查给定的属性。

(幻灯片取自这里)

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

https://stackoverflow.com/questions/55831326

复制
相关文章

相似问题

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