- From: Torbjörn Lager <lager@ling.gu.se>
- Date: Fri, 01 Sep 2006 16:12:06 +0200
- To: www-voice@w3.org
- CC: Jenny Brusk <jenny.brusk@bostream.nu>, Fredrik Kronlid <kronlid@ling.gu.se>
Based on my experiences trying to implement the current draft I would
like to propose two changes to SCXML. I think they would make SCXML
simpler and more intuitive to use, as well as somewhat easier to implement:
1. Remove <initial> and introduce a new (optional) attribute 'initial'
(value IDref) for <state>. Make 'initial' incompatible with 'final'.
2. Allow a mixture of <state> and <parallel> as children of <state> and
<scxml>.
As a consequence of 1)
<state id="s0">
<initial>
<transition target="s1 >
</initial>
<state id=s1" ... />
<state id=s2" ... />
<state>
can be written as
<state id="s0" initial="s1">
<state id=s1" ... />
<state id=s2" ... />
<state>
with no loss of expressiveness.
As a consequence of 2)
<state id="s0" initial="s1">
<state id=s1" ... />
<state id=s2">
<parallel ... />
</state>
<state>
could be replaced with
<state id="s0" initial="s1">
<state id=s1" ... />
<parallel ... />
<state>
with no loss of expressiveness. However,
<state id="s0">
<parallel id="p1" ... />
<state>
now has to be written
<state id="s0" initial="p1">
<parallel id="p1" ... />
<state>
(Possibly, 'initial' could default to the id of its first <state> or
<parallel> child, and then the first formulation would work.)
The proposed changes has been implemented in a modified version of SCXML
Web Laboratory, available here:
http://www.ling.gu.se/~lager/Labs/S-SCXML-Lab/
You may want to compare with the version more in the spirit of the W3c
Jan Draft spec, available here:
http://www.ling.gu.se/~lager/Labs/SCXML-Lab/
Best regards,
Torbjörn Lager
Received on Friday, 1 September 2006 14:13:40 UTC