Subject: Re: A state-machine language in XML

From: Stephane Bortzmeyer <[email-masked]>
Date: Fri, 16 Mar 2007 21:45:31 +0100

On Thu, Feb 22, 2007 at 03:52:13PM +0100,
 Stephane Bortzmeyer <[email-masked]> wrote 
 a message of 19 lines which said:

> For those who would prefer a XML syntax:
> 
> http://www.w3.org/TR/2007/WD-scxml-20070221/

After reading it, I can summary:

The language is more powerful than Cosmogol. It includes things like
guards (conditions for the firing of the a transition, something which
is missing from Cosmogol, partly because it requires a language to
express boolean expressions; State Chart XML uses JavaScript).

Its syntax is obviously very different :-) And it uses the word
"target" instead of "next" for the state after the transition.

It has substates (using XML natural taste for recursivity), something
which could be useful in Cosmogol (X509, for instance, is described by
embedded state machines).

It has rich control abilities, again using JavaScript expressions.

The example http://www.cosmogol.fr/examples.html#door would look like:

<state id="Open">
  <transition event="Close it" target="Closed"/>
  <transition event="Blow it out" target="Gone"/>
</state>

<state id="Closed">
  <transition event="Open it" target="Open"/>
  <transition event="Blow it out" target="Gone"/>
</state>

<state id="Gone"/>

_______________________________________________
Cosmogol mailing list
[email-masked]
https://www1.ietf.org/mailman/listinfo/cosmogol

---

From: Fred Baker <[email-masked]>
Date: Fri, 16 Mar 2007 21:51:29 +0000

I tend to want to have the text event="example" give you the name of  
some structure that describes the event, like

	<event name="example">
		<conditions match="all">
			<condition network_action="deliver_datagram"/>
			<condition tcp_header_flags="SYN"/> <!-- and not ACK -->
		</conditions>
	</event>

I would also want the thing to contain zero or more triggered actions  
or side effects; an example in the "IP network" fsm might be

	<action name="deliver_datagram">
		<!-- deliver the datagram to the process consuming datagrams  
directed to the system and bearing a specific IP protocol number -->
	</action>

---

From: Stephane Bortzmeyer <[email-masked]>
Date: Sun, 18 Mar 2007 09:13:26 +0100

On Fri, Mar 16, 2007 at 09:45:31PM +0100,
 Stephane Bortzmeyer <[email-masked]> wrote 

> After reading it, I can summary:

There is also an older proposal at the W3C: XTND

http://www.w3.org/TR/2000/NOTE-xtnd-20001121

Its main strength is that it is a very good introduction to the issue
and a good rationale. The language itself is curiously poor
(events/messages are not even explicit in this language).

---

From: Fred Baker <[email-masked]>
Date: Sun, 18 Mar 2007 15:31:31 +0100

> (events/messages are not even explicit in this language).

then it's unusable for an fsm that accepts messages as inputs,  
observes events, and sends messages to other fsms.