I am having problems with an internal transition in a composite state. The transitions "ONLINELOCAL", "ONLINEREMOTE", AND "OFFLINE" lead to the appropriate states within ControlIsEnabled however, the entry and exit actions of ControlIsEnabled are triggered. This behavior is opposite of general state machine theory behavior. Is my syntax wrong for an internal transition or is executing the entry/exit actions the intended behavior in apache commons scxml?
<state id="ControlEnabled"> <onexit><my:SendMsg/></onexit> <initial id="ControlInitial"> <transition target="ControlIsEnabled"/> </initial> <state id="ControlIsEnabled"> <onentry><my:ControlInit/></onentry> <onexit><my:ControlExit/></onexit> <state id="OnlineRemote"> <onentry><my:ChangeMode/></onentry> <transition event="" target="ControlDisabled"/> <transition event="CAR_LOCAL" target="CarLocalCtrl"/> <transition event="CAR_REMOTE" target="CarRemoteCtrl"/> </state> <state id="OnlineLocal"> <onentry><my:ChangeMode/></onentry> <transition event="CAR_LOCAL" target="CarLocalCtrl"/> <transition event="CAR_REMOTE" target="CarRemoteCtrl"/> </state> <state id="Offline"> <onentry><my:ChangeMode/></onentry> <transition event="CAR_LOCAL" target="CarLocalCtrl"/> <transition event="CAR_REMOTE" target="CarRemoteCtrl"/> </state> <initial id="ControlEnabledInitial"> <transition target="OnlineLocal"/> </initial> <state id="CarLocalCtrl"> <onentry><my:ChangeCarMode/></onentry> </state> <state id="CarRemoteCtrl"> <onentry><my:ChangeCarMode/></onentry> </state> <transition event="ONLINEREMOTE" target="OnlineRemote"/> <transition event="OFFLINE" target="Offline"/> <transition event="ONLINELOCAL" target="OnlineLocal"/> </state> <transition event="CONTROLMODEACTIONSTATUSBUTTON" target="ControlDisabled"/> <transition event="EXITSTATUSONLYBUTTON" target="Status"/> </state> ________________________________ This e-mail and any files transmitted with it may be proprietary and are intended solely for the use of the individual or entity to whom they are addressed. If you have received this e-mail in error please notify the sender. Please note that any views or opinions presented in this e-mail are solely those of the author and do not necessarily represent those of ITT Corporation. The recipient should check this e-mail and any attachments for the presence of viruses. ITT accepts no liability for any damage caused by any virus transmitted by this e-mail.