检查系统是否通过所有状态
Check that system passes all the states
一个变量state
代表一个系统的状态,例如state \in {"ready", "prepare", "do", "cleanup", "done"}
。如何表达 state
最终应该通过所有五个状态(以任何顺序)的条件?
工作示例(已接受的答案):
EXTENDS Naturals
VARIABLE n
Init == n = 1
Next == IF n < 3 THEN n' = n + 1 ELSE n' = n
Spec == Init /\ [][Next]_<<n>> /\ WF_<<n>>(Next)
Check == \A s \in {1,2,3}: <>(s = n) \* This goes: Model Overview >
\* > "What to check?" > Properties
给定 States = {"ready", "prepare", "do", "cleanup", "done"}
,您可以使用
检查它是否达到某个给定状态
<>(state = "ready")
您可以检查它是否到达所有状态
\A s \in States: <>(state = s)
一个变量state
代表一个系统的状态,例如state \in {"ready", "prepare", "do", "cleanup", "done"}
。如何表达 state
最终应该通过所有五个状态(以任何顺序)的条件?
工作示例(已接受的答案):
EXTENDS Naturals
VARIABLE n
Init == n = 1
Next == IF n < 3 THEN n' = n + 1 ELSE n' = n
Spec == Init /\ [][Next]_<<n>> /\ WF_<<n>>(Next)
Check == \A s \in {1,2,3}: <>(s = n) \* This goes: Model Overview >
\* > "What to check?" > Properties
给定 States = {"ready", "prepare", "do", "cleanup", "done"}
,您可以使用
<>(state = "ready")
您可以检查它是否到达所有状态
\A s \in States: <>(state = s)