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.

Reply via email to