如何从记事本++执行.smv文件

时间:2014-04-04 10:36:13

标签: notepad++ nusmv

我目前正在学习NuSMV进行LTL和CTL模型检查。

我使用notepad ++进行编码活动 - 主要是在python中 - 我知道我们可以使用notepad ++运行python脚本(.py文件)。

我是NuSMV的新手,我想知道是否有任何方法可以在notepad ++中执行.smv脚本。

以下是我打算运行的.smv代码示例。

MODULE main
 VAR
  variable : boolean;
 ASSIGN
  init(variable) := true;
  next(variable) := !variable;
 LTLSPEC
  G (variable & X !variable)
 CTLSPEC
  EF (!variable & AX variable)

但是,使用NuSMV交互式shell运行上述SMV脚本也有些困难。假设上面的脚本名称是test.smv。我应该如何使用NuSMV交互式shell运行它?

1 个答案:

答案 0 :(得分:1)

如果您可以找出运行代码的命令行,那么解决方案是:

  1. 安装NPPExec插件
  2. 找出要执行并测试它的命令行
  3. 在N ++中,按 F6 或使用NPPExec插件菜单中的等效菜单项
  4. 填写您需要的命令行
  5. "$(FULL_CURRENT_PATH)"令牌替换命令行中的文件名 - N ++会将当前文件的文件名放在此处
  6. [可选]按保存... 按钮并保存命令
  7. 确定按钮运行命令
  8. 要重复运行相同的命令,只需按 Ctrl + F6
  9. 要显示命令输出到控制台,请按 Ctrl +`(1234567890左侧的键)。

    NuSMV支持从命令行启动,并且在文档的第4章中提供了大量命令行选项(current version截至今天)。但是,如果它们仍然无法满足您的要求并且无法从命令行运行代码,那么您可能需要考虑自定义编程解决方案(如果您有足够的时间和技能) - 考虑编写自己的N ++插件。或者编写可从命令行控制的小工具,该命令行使用其API调用所有必需的NuSMV方法。也许这也可以在Python中完成。然后,您只需从NPPExec调用您的工具。