SCXML: Fundamental questions

Hello,



Quickoffice has been looking at using SCXML in combination with our SVG implementation.



We have a few quick questions about the very basics of state machines. We were trying to find a clear definition in the spec about what an "active" state is. Or what it means to "activate" a state. Or "being in" a state. This might be an oversight of the spec, or might be something so fundamentally obvious that it was not deemed necessary to specifically describe it, in which case we apologize for the questions.



Consider the following state machine excerpt (transitions omitted):



<scxml>

  <state id="s">

    <state id="s0"/>

    <state id="s1"/>

  </state>

  <state id="t">

    <state id="t0"/>

    <state id="t1"/>

  </state>

</scxml>



Are those statements correct :



- "being in s" means that s is active

- "entering s" means that s becomes active

- generally speaking, if a state machine "is in" a state, it means that state is active (and vice-versa)

- when a substate is active, all its ancestor states are necessarily also active

- thus, if the state machine "is in" s0, it is also necessarily "in" s

- a transition from s0 to t0 necessarily exits s0 and s (they both become inactive) and enters t and t0 (which both become active)



A straightforward answer to those questions will go a long way towards helping us to implement some aspects of the SCXML spec and towards designing proper state machines using SCXML.



Thanks in advance,
Andrew

Andrew Emmons
Architect and Manager, SVG Technologies
Co-Chair, W3C SVG Working Group
Quickoffice, BitFlash Division
Web: www.bitflash.com<http://www.bitflash.com/>,
www.quickoffice.com<http://www.quickoffice.com>

Received on Friday, 11 April 2008 19:50:22 UTC