状態

Rational® Rhapsody® Developer for C は、ステートチャートのフラット実装のみをサポートします。 フラット実装では、状態は、列挙型として実装されます。 サブ状態を持つすべての状態が、列挙型の struct メンバーとして表されます。

例えば、HomeHeatingSystem のステートチャートには、(明らかな) 状態が 1 つのみあり、systemControl 状態です。この状態は、 次のように HomeHeatingSystem 構造に実装されます。

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

ある状態からの出力遷移を選択する場合に Switch ステートメントが使用されます。 Switch ステートメントは、ステートチャートのイベント処理を実装する操作の中にあります。 これらのステートメントには、他にも、それぞれの状態に対して生成された takeEvent() 操作、dispatchEvent() 操作、serializeStates() 操作、および exit() 操作があります。詳しくは、以下のセクションを参照してください。


フィードバック