狀態圖::遷移
構成狀態圖的最基本要素,除了狀態以外就是遷移了。
遷移
遷移是一個從單個源頂點開始到單個目標頂點結束的單方向圓弧(源和目標可能是同一個頂點),它定義了狀態機行為的一段。它可以有關聯的效應行為,這個效應行為在遷移被通過(執行)的時候執行。
遷 移可以擁有多個觸發條件,每個觸發條件定義了一個事件,當事件發生被發送時,可以觸發遷移的通過。如果發送的事件發生與事件類型匹配,就可以說觸發條件處 於有效狀態。當一個遷移定義了多個觸發條件時,它們邏輯上是分離的,也就是說,只要它們中的任何一個處於有效狀態,遷移就會被觸發。
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 建模工具是哪一個(最好是免費軟體)?