상태

Rational® Rhapsody® Developer for C는 상태 차트의 일반 구현만 지원합니다. 일반 구현에서 상태는 열거 유형으로 구현됩니다. 하위 상태를 보유하는 모든 상태는 enum의 struct 멤버로 표시됩니다.

예를 들어, HomeHeatingSystem의 상태 차트에는 하나의 명확한 상태인 systemControl 상태만 있습니다. 이 상태는 다음과 같이 HomeHeatingSystem 구조에서 구현됩니다.

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

상태에서 나가는 상태 전이 사이에서 선택하기 위해 전환(switch) 명령문이 사용됩니다. 전환 명령문은 상태 차트의 이벤트 처리를 구현하는 오퍼레이션에 있습니다. 이 명령문에는 그 중에서도 상태마다 생성되는 takeEvent(), dispatchEvent(), serializeStates()exit() 오퍼레이션이 포함됩니다. 자세한 정보는 다음 절을 참조하십시오.


피드백