예를 들어, HomeHeatingSystem 샘플에서 Furnace의 운영 상태에 대해 생성된 dispatchEvent() 오퍼레이션은 개략적으로 다음 switch 문을 사용하여 운영 직교 상태의 유휴, 종료 중, 작업 중 및 시작 중 하위 상태에서 나가는 상태 전이를 처리합니다.
static int operating_dispatchEvent(Furnace* const me,
short id) {
int res = eventNotConsumed;
switch (me->operating_active) {
case Furnace_idle:
{
/* process out transitions from idle state */
res = eventConsumed;
break;
};
case Furnace_shutting:
{
/* process out transitions from shutting
state */
res = eventConsumed;
break;
};
case Furnace_starting:
{
/* process out transitions from starting
state */
res = eventConsumed;
break;
};
case Furnace_working:
{
/* process out transitions from working
state */
res = eventConsumed;
break;
};
default:
break;
};
return res;
}