我正在使用 Windows 操作系统并在 Cygwin 中输入:wish -f ispin.tcl
打开 ispin 界面。我打开一个文件test.pml
,其中包含:
byte state = 2;
proctype A()
{ (state == 1) -> state = 3
}
proctype B()
{ state = state - 1
}
init
{ run A(); run B()
}
之后,我使用种子 = 123 的随机方式运行它。结果打印在输出中没有问题:
0: proc - (:root:) creates proc 0 (:init:)
Starting A with pid 1
1: proc 0 (:init::1) creates proc 1 (A)
1: proc 0 (:init::1) test.pml:12 (state 1) [(run A())]
Starting B with pid 2
2: proc 0 (:init::1) creates proc 2 (B)
2: proc 0 (:init::1) test.pml:12 (state 2) [(run B())]
3: proc 2 (B:1) test.pml:8 (state 1) [state = (state-1)]
4: proc 1 (A:1) test.pml:4 (state 1) [((state==1))]
4: proc 2 (B:1) terminates
5: proc 1 (A:1) test.pml:4 (state 2) [state = 3]
5: proc 1 (A:1) terminates
5: proc 0 (:init::1) terminates
3 processes created
当我尝试验证此模型时出现问题。验证结果为:
verification result:
spin -a test.pml
gcc -DMEMLIM=1024 -O2 -DXUSAFE -DSAFETY -DNOCLAIM -w -o pan pan.c
./pan -m10000
Pid: 3952
spin: error, the version of spin that generated this pan.c assumed a different wordsize (4 iso 8)
我该如何解决这个问题?我在互联网上搜索,但找不到可以帮助我的东西。