確保呼叫觸發的作業

如果接收端物件並非處於能夠回應所觸發作業的狀態,來自所觸發作業的回覆可能存在問題。如果並非在預期時呼叫觸發的作業,則會導致回覆值不正確。

您可以設計狀態圖,而不使用 IS_IN 巨集來決定接收端所處的狀態,以便永不忽略觸發的作業。為執行此作業,請建立包含物件中子狀態的超狀態,並在超狀態中,建立含觸發程式的靜態回應以傳回適當的值。例如,若要確保在不考量物件所處狀態的情況下一律讀取感應器,請在具有下列轉移的超狀態中建立靜態回應。

opRead/reply(getStatus())

這樣的話,無論物件處於何種子狀態,將一律傳回適當的值。雖然超狀態的觸發程式及子狀態的觸發程式在子狀態中時均處於作用中,但是在轉移時會採用超狀態的觸發程式,因為它的優先順序較高。請參閱轉移選取


回饋