-2
A
回答
1
先決條件:得到用gcc一個工作環境上的Windows 10(例如看到these instructions)或,可選地,獲得虛擬環境一些的GNU/Linux分佈。目標系統中還有correctly install Spin。
只有兩種可能的方法:
選項A.:
~$ spin -a train.pml ~$ gcc pan.c -o verifier ~$ ./verifier -a -N c1 ... ~$ ./verifier -a -N c8 ...
選項B.:
~$ spin -search -ltl c1 train.pml ... ~$ spin -search -ltl c8 train.pml ...
在暫時性質c1, c5, c7, c8
是驗證您的手機型號,而c2, c3, c4, c6
都未驗證。還有一些關於未達到最終狀態的投訴。請檢查後一種情況是否違反了您的系統(它可能會也可能不是問題),並且驗證的結果與您的預期相符。
作爲參考,這是正確的輸出覈實財產c1
時,你應該得到的一個例子:
~$ spin -search -a -ltl c1 trail.pml
...
pan: ltl formula c1
(Spin Version 6.4.6 -- 2 December 2016)
+ Partial Order Reduction
Full statespace search for:
never claim + (c1)
assertion violations + (if within scope of claim)
acceptance cycles + (fairness disabled)
invalid end states - (disabled by never claim)
State-vector 152 byte, depth reached 4508, errors: 0
67919 states, stored (97586 visited)
170919 states, matched
268505 transitions (= visited+matched)
0 atomic steps
hash conflicts: 184 (resolved)
Stats on memory usage (in Megabytes):
11.659 equivalent memory usage for states (stored*(State-vector + overhead))
5.455 actual memory usage for states (compression: 46.78%)
state-vector as stored = 56 byte + 28 byte overhead
128.000 memory used for hash table (-w24)
0.534 memory used for DFS stack (-m10000)
133.905 total actual memory usage
unreached in proctype train
trail.pml:31, state 14, "-end-"
(1 of 14 states)
unreached in proctype gate
trail.pml:52, state 17, "-end-"
(1 of 17 states)
unreached in proctype queue
trail.pml:74, state 17, "-end-"
(1 of 17 states)
unreached in claim c1
_spin_nvr.tmp:10, state 13, "-end-"
(1 of 13 states)
pan: elapsed time 0.12 seconds
pan: rate 813216.67 states/second
+0
輝煌!非常感謝帕特里克。 – Andre
相關問題
- 1. 使用Spin和Promela語法進行LTL模型檢查
- 2. 使用Spin/Promela時超時
- 3. Promela使用Spin建模
- 4. Spin promela GPU
- 5. 使用SPIN進行LTL模型檢查
- 6. 什麼導致Promela/SPIN超時?
- 7. 如何才能從命令行檢查JavaScript代碼的語法錯誤?
- 8. 如何從PGP獲取返回代碼命令行代碼
- 9. 是否有可能在SPIN/PROMELA中檢查變量的最大值
- 10. 如何從命令行運行後從SSIS包檢測退出代碼?
- 11. 從windows命令行執行Perl代碼
- 12. Java從命令行運行的代碼
- 13. 使用C代碼執行Bash命令
- 14. 使用c#代碼的命令行
- 15. 如何使用命令行運行代碼塊項目
- 16. 如何檢查命令行文件
- 17. 如何在QT Creator中檢查ShellExecute命令返回(HINSTANCE)代碼
- 18. 運行命令行代碼
- 19. 如何使用SDK示例代碼從命令行使用AIDL工具?
- 20. knitr :: spin不會從命令行設置全局塊選項
- 21. 如何使用Visual Basic代碼運行命令提示符命令?
- 22. 如何從命令行檢查正在運行的JVM的堆使用情況?
- 23. 如何從命令行運行Visual Studio代碼?
- 24. 如何從命令行執行PHP代碼?
- 25. 如何從命令行運行我的代碼?
- 26. 如何從命令行執行Visual Studio代碼分析?
- 27. 如何從C#Windows窗體內運行命令行代碼?
- 28. 如何直接從終端/命令行運行Go(lang)代碼?
- 29. 從命令行檢查C#語法
- 30. Python代碼不從命令行
的輸出是什麼?什麼是正確的輸出?請查看一些關於在SO上提出問題的項目。 https://stackoverflow.com/help/asking – lit
@lit我不知道它應該是什麼。我似乎無法獲得除錯誤以外的任何輸出。我不知道如何正確運行該文件。謝謝。 – Andre
如果源代碼不工作,SO是一個可以使用的地方。 SO不是介紹性教程的地方。 – lit