使用SPIN工具验证LTL的步骤是什么?

时间:2013-06-20 07:03:24

标签: spin promela

我在Spin中写了一个模型。我想在模型上检查一些LTL。 例如:

ltl L1 {<>[]Working}

在“验证”窗口中,我选择“使用声明”选项,然后单击“运行”:

ltl L1: <> ([] (Working))
gcc -DMEMLIM=1024 -O2 -DXUSAFE -w -o pan pan.c

此时我不知道接下来要做什么......? 我试图通过Google寻找答案,但没有指南如何使用Spin ....

2 个答案:

答案 0 :(得分:3)

  1. 保存您的模型,包括ltl中的foo.pml - 阻止

  2. spin -a foo.pml

  3. gcc -o foo.exe pan.c(Windows)

  4. foo.exe -a

  5. 使用-a运行可执行文件是关键,否则将不会检查LTL属性。

答案 1 :(得分:0)

点击“运行”后的“验证”窗口中应该有验证结果。它看起来像这样(例如):

verification result:
spin -a  foo.pml
ltl ltl_0: [] (foo)
gcc -DMEMLIM=1024 -O2 -DXUSAFE -o pan pan.c
./pan -m10000  -a -c1
Pid: 21462

(Spin Version 6.2.4 -- 21 November 2012)
    + Partial Order Reduction
...

pan: elapsed time 0 seconds
No errors found -- did you verify all claims?

你没有看到这些吗?或者你看到了什么但却无法解释它?