如何在Promela / SPIN中打印所有状态

时间:2014-07-02 14:23:12

标签: multicore spin promela model-checking

我想在检查模型时打印所有状态。当发生断言违规时,我们确实得到了一个跟踪文件,但即使没有断言违规,我也希望看到状态。我怎么能这样做?

1 个答案:

答案 0 :(得分:4)

一种选择是使用pan标记gcc编译-DVERBOSE并查看验证运行的完整详细信息。当然,运行需要一段时间,并且会吐出过多的输出,但是你会看到它们被访问时的所有状态(格式不是很容易阅读,但可能足以满足你的目的)。

查看各个流程的状态图的另一个选项是

./pan -D | dot -Tps | ps2pdf - pan.pdf

这将创建一个多页PDF,其中每个页面都是一个过程(包括never声明)。