狀態圖::遷移

構成狀態圖的最基本要素,除了狀態以外就是遷移了。

遷移

遷移是一個從單個源頂點開始到單個目標頂點結束的單方向圓弧(源和目標可能是同一個頂點),它定義了狀態機行為的一段。它可以有關聯的效應行為,這個效應行為在遷移被通過(執行)的時候執行。

遷 移可以擁有多個觸發條件,每個觸發條件定義了一個事件,當事件發生被發送時,可以觸發遷移的通過。如果發送的事件發生與事件類型匹配,就可以說觸發條件處 於有效狀態。當一個遷移定義了多個觸發條件時,它們邏輯上是分離的,也就是說,只要它們中的任何一個處於有效狀態,遷移就會被觸發。

ULM2.5-14.2 Behavior StateMachines (8)

在交通信號系統這個例子中,當然也需要遷移,具體如下圖。在這個例子中只用到觸發條件,效應行為和監護條件在後續文章中介紹。

接下來以Road1StopSafely為例,說明狀態機的動作。

1.Road1GoTimeout觸發條件滿足後,狀態機從Road1Go狀態遷移到Road1StopSafely狀態

2.Road1StopSafely狀態的進入行為StartRoad1StopSafely被執行,點亮Road1方向綠燈

3.Road1StopSafelyTimout條件滿足後,Road1StopSafely的退出行為 StopRoad1StopSafely被執行,點亮Road1方向紅燈

4.狀態機從Road1StopSafely遷移到Road2Go

參考資料:

14.2 Behavior StateMachines (8)

打開方法如下:

1.進入【面向對象思考】 公眾號

2.打開【UML】-【UML2.5中文譯文】菜單

3.選擇【狀態圖】分類

4.選擇相關文章

以上就是今天的文章,歡迎點贊,關注並推薦給您的朋友!

閱讀更多更新文章,請關注【面向對象思考】微信公眾號!

推薦閱讀:

在軟體開發過程中,有哪些UML圖是比較常用的?
(翻譯)14.2.3.4 States(狀態)(3)
(翻譯)13.1 Summary
你認為最好的 UML 建模工具是哪一個(最好是免費軟體)?

TAG:面向對象編程 | 面向對象分析與設計 | UML建模 |