2
在狀態模式中,這是如何建模的?具有不同警戒狀態的狀態轉換
狀態A到上觸發X和conditon C1狀態B時當前狀態是A
狀態A到狀態C的觸發X和條件C2時當前狀態是A
這是怎麼通常實現的呢?我可能需要執行很多警戒條件。
在狀態模式中,這是如何建模的?具有不同警戒狀態的狀態轉換
狀態A到上觸發X和conditon C1狀態B時當前狀態是A
狀態A到狀態C的觸發X和條件C2時當前狀態是A
這是怎麼通常實現的呢?我可能需要執行很多警戒條件。
這是非常標準的例子, this example。
[編輯在基礎這不是功課!]
假設我的理解對不對:
X
),它可以觸發C1
或C2
)如果這是使用警戒條件的標準情況。語法是:
X[C1]
作爲過渡A-> B的標籤,和X[C2]
>℃。C1 & C2必須評估爲布爾值,因此可以根據您的評論替換var==2
。即標籤將變成X[var==2]
和X[var==3]
。
因爲它在語義上是正確的,C1 & C2必須在狀態A中互斥 - 否則你有非確定性。
hth。
沒有功課。我想知道是否我有不同的警戒條件下使用的相同變量,如果我應該使條件成爲觸發器的一部分,使它們成爲不同的觸發器,或者如果它可以將它作爲相同的觸發器進行建模,例如if (var == 2)條件C1和另一個如果var == 3條件C2 – user716129 2011-04-20 19:35:27
謝謝,清除了。在一個相關的說明---如果我有多個觸發器A,B導致兩個狀態S1和S2之間的轉換,是否會造成任何問題?我在網上查看了一些狀態圖,沒有看到任何導致兩個州之間轉換的多個事件......我應該將這個問題變成另一個問題嗎? – user716129 2011-04-26 13:51:36
我會單獨詢問q。不能馬上想到它爲什麼會導致問題,但正如你所說,不是(m)那裏的任何例子。可能值得看看UML規範... – sfinnie 2011-04-26 16:20:54