單一訊息從執行到完成的處理

IBM® Rational® Rhapsody® 假設狀態圖會對由部分外部動作者套用至狀態圖的單一訊息做出回應。外部動作者可以是系統事件佇列或另一個物件。

依狀態圖的訊息處理會分割為數個步驟。在每個步驟中,都會將訊息分派至狀態圖進行處理。

一旦分派訊息,它可能會啟用由該訊息觸發的轉移。由於訊息分派,每個正交元件最多可以發動一個轉移。衝突的轉移不會在相同的步驟中發動。

未定義所選轉移發動的順序。它基於並非由狀態圖明確定義的任意遍訪。

每個元件由於訊息可以執行一個轉移。一旦所有元件均完成執行轉移,該訊息即會被認為耗用,步驟將會終止。

在對訊息做出回應之後,狀態圖可能到達其中部分狀態具有送出的、作用中空值轉移(暫時性配置)的狀態配置。在此情況下,在狀態圖到達穩定的狀態配置(沒有其他轉移處於作用中)之前,需要採取進一步的步驟。空值轉移由空值事件所觸發,每當發現暫時性配置時,都會將這些事件分派至狀態圖。在到達穩定的配置之前,空值事件會按一系列的步驟進行分派。一旦到達穩定的配置,即會完成對訊息的回應,控制會回到分派器,並且可以分派新的訊息。

註: 理論上,狀態圖可能將永不能到達穩定的狀態。實際解決方案是要將限制設為狀態圖到達穩定的配置所容許的最大步驟數。在現行實作中,會將到達最大步驟數視為如同訊息處理已完成一樣。

意見回饋