[英]Simple State Machine in Alloy
我是合金及其功能的新手。 最近,我有一個關於簡單狀態機的作業:begin_state-> normal_state-> end_state。 只有一個begin_state,但有一個normal_state和一些end_state。 然后我無法使實例視圖與以下合金代碼一起正確運行:
abstract sig state
{
prev : some state,
next : some state
}
one sig begin extends state{}
some sig end extends state{}
sig mid extends state{}
//There is no state after end state, and there is no state before begin state
pred dosomething
{
no s : state | s in begin.prev and s in end.next
}
run{dosomething}
所以基本上我只希望開始狀態之前沒有狀態,結束狀態之后沒有狀態,實例示例可以是這樣的:
開始->正常->結束
要么
開始->正常->結束
|
正常->正常->結束
|
正常-正常
| |
結束<--------
...類似的東西。 謝謝
考慮以下命題:
如果(我希望)您認為這三個命題相互矛盾,那么請問自己(a)這些命題是否類似於您的Alloy模型中給出的規則? (b)您如何將它們重新表述為有意義,而不互相矛盾? (c)您如何將其改寫為Alloy?
我希望這有幫助。
注意量詞! 公式
no s : state | s in begin.prev and s in end.next
說沒有國家既是begin的前任,又是end的后繼。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.