Mealy model Masquerading as a Moore model (COOL/LCP)
S1: <wait for event to arrive>
case(ET1): doExitAction(S1,ET1);
case(ET2): doExitAction(S1,ET2);
case(ET3): doExitAction(S1,ET3);
} // action done at exit from state S1
State = NextState(S1, ET#);
Note: Actions are done when an event arrives that causes exit from current state; they cannot be done based on the event that causes entry to this state because the inverse relation PriorState(NewState, responsibleEvent) is not necessarily single-valued, so the machine may be non-deterministic.
(Each event instance e# has an EventType(e#)=ET#.)