自動轉變

在單一的狀態轉變中,系統會先執行目前狀態的結束演算法、將實體轉變為新狀態、執行新狀態的進入演算法,接著執行監視演算法。此時,如果監視演算法判斷實體應進一步自動轉變為另一種狀態,則不會執行對目前狀態定義的剩餘監視演算法,且系統會起始另一個轉變週期。

請注意,進入演算法也可以告知系統將實體自動轉變為另一個狀態。在此情況下,不會執行對目前狀態定義的剩餘進入演算法以及所有監視演算法。

下列圖例提供事件自動轉變鏈的範例。

此圖例包含三個主要區段:「待處理」、「已拒絕」及「稍後重試」。「待處理」區段中有「監視」及「離開」,「已拒絕」區段中有「進入」、「監視」及「監視」。「待處理」會轉變為「已拒絕」,而「已拒絕」會轉變為「稍後重試」。

在此範例中,業務實體處於「待處理」狀態。當實體處於該狀態時,監視演算法判斷將它自動轉變為「已拒絕」狀態。此時會發生下列情況:

  • 不再執行其他「待處理」狀態的監視演算法
  • 執行「待處理」狀態的結束演算法
  • 系統會將實體轉變為「已拒絕」狀態
  • 執行「已拒絕」狀態的進入演算法。不再要求自動轉變。
  • 執行「已拒絕」狀態的監視演算法。不再要求自動轉變。