狀態

Rational® Rhapsody® Developer for C 只會支援狀態圖的「非階層式」實作。在「非階層式」實作中,會將狀態實作為列舉類型。每個狀態都有子狀態,代表列舉的 struct 成員。

例如,HomeHeatingSystem 的狀態圖只有一個(明顯)狀態,即 systemControl 狀態。此狀態在 HomeHeatingSystem 結構實作如下:

struct HomeHeatingSystem {
    RiCReactive ric_reactive;
    /*states enumeration: */
    enum HomeHeatingSystem_Enum{
         HomeHeatingSystem_RiCNonState=0,
         HomeHeatingSystem_systemControl=1}
    rootState_subState,
    rootState_active;
};

開關陳述式是用於在向外範圍轉移之間從狀態選取。可以在實作狀態圖的事件處理之作業中,發現開關陳述式。 這些陳述式包括針對每一個狀態所產生的 takeEvent()dispatchEvent()serializeStates()exit() 作業。如需相關資訊,請參閱下列小節:


意見回饋