W3C home > Mailing lists > Public > www-voice@w3.org > July to September 2006

[SCXML] Change proposals

From: Torbjörn Lager <lager@ling.gu.se>
Date: Fri, 01 Sep 2006 16:12:06 +0200
Message-ID: <44F83FB6.2050506@ling.gu.se>
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 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Monday, 30 October 2006 12:49:04 GMT