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

SCXML specification

From: Michael Traut <mtraut@intarsys.de>
Date: Thu, 18 Sep 2008 16:58:00 +0200
To: www-voice@w3.org
Message-ID: <OF4CFC7B0A.51502E85-ONC12574C8.00505C0F-C12574C8.005236C9@intarsys.de>
Dear sirs,

currently i am about to move my statemachine engine towards the SCXML 
standard. There are some issues and questions i found and i hope you can 
help me to a better understanding or improvement of the upcoming standard.

1) 3.1 - scxml 

why is the definition "half hearted" recursive? the root may not contain 
        - "onentry" this would be a natural place to put initalization 
action, as opposed to the "script" extension
        - "onexit" the same as above - just for symmetry
        - "transition" transitions that are inherited by the states within 
the "compound state" scxml
        - "history" - very important!! currently i see no way to express 
the possibiltiy to enter a whole machine at a defined state. Why?

in my opinion the root as currently defined is a (compound) state itself 
and should allow for that. 

2) 3.5 - initial

the description of the semantics is somehow misleading "If the initial 
attribute is specified, the specified state willbe entered, but no 
executable content will be executed". I assume, the "onentry" action is 
executed anyway.

3) 3.9 - history

maybe this is obvious, but it took me some time to figure out from the 
pseudo semantics (maybe erroneous): If i enter a compound state there 
should be a way to enter a historical state without specifing the history 
state directly. This decision may be up to the state node himself. This 
can be done (am i right?) by specifying the history state as the initial 
state of the compound state?

4) 3.3 - transition

while we have a very easy way of extending the action / executables, this 
is much more problematic with conditions. My current implementation works 
with generic "Functor" objects that can be plugged anywhere the spec 
allows actions. This is fine as they can be expressed as elements of the 
form <perform type="??" source="??"/>. These functors allow an 
"implementation language" on a per instance base. This syntax is not 
suitable for conditions, as these are restricted to string expressions. It 
would be a great improvement if i were able to express conditions as 
functors. this would mean that i need an element based definition. 

I am looking forward for your reply, many thanks.

kind regards,
Michael Traut

---------------------------------------------------------------------
Fon:  +49 721 38479-12
Fax:  +49 721 38479-60
Mobil: +49 172 7232017
Mail: mtraut@intarsys.de
---------------------------------------------------------------------

intarsys consulting GmbH
Bahnhofplatz 8, D-76137 Karlsruhe
Geschäftsführer: 
Dr. Bernd Wild, Karl Kagermeier, Michael Traut
Sitz der Gesellschaft: Karlsruhe
Registergericht: Amtsgericht Mannheim HRB 107535
Web: http://www.intarsys.de 
Received on Thursday, 18 September 2008 15:31:30 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Thursday, 18 September 2008 15:31:34 GMT