Re: Determining When a Machine is Final

On Jan 28, 2013, at 9:17 PM, Gavin Kistner <phrogz@me.com> wrote:
> Consider this test case:
> 
>    <scxml xmlns="http://www.w3.org/2005/07/scxml" version="1.0" name="HistoryTest">
>      <state id="s" initial="s1">
>        <state id="s1">
>          <onentry><raise event="go"/></onentry>
>          <transition event="go" target="pass"/>
>        </state>
>        <final id="pass"/>
>      </state>
>    </scxml>
> 
> 1) Is my test case wrong? Should entering the 'pass' final above not kill the interpreter?

Please forgive the noise and ignore this thread. Further reading on the semantics of <final> (which I should have done before sending the message) shows that my test code is wrong. As noted in section 3.7.2, a compound state entering a <final> state is itself final, but the state machine is only stopped when (as the algorithm code tests) a direct <final> child of <scxml> is entered.

Received on Tuesday, 29 January 2013 05:29:23 UTC