状态

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() 操作。有关更多信息,请参阅以下部分:


反馈