Re: A state-machine language in XML

Fred Baker <fred@cisco.com> Fri, 16 March 2007 22:18 UTC

Return-path: <cosmogol-bounces@ietf.org>
Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com) by megatron.ietf.org with esmtp (Exim 4.43) id 1HSKkV-0000zl-Cd; Fri, 16 Mar 2007 18:18:11 -0400
Received: from [10.91.34.44] (helo=ietf-mx.ietf.org) by megatron.ietf.org with esmtp (Exim 4.43) id 1HSKkP-0000uO-2u for cosmogol@ietf.org; Fri, 16 Mar 2007 18:18:05 -0400
Received: from sj-iport-6.cisco.com ([171.71.176.117]) by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1HSKkN-0000l2-AS for cosmogol@ietf.org; Fri, 16 Mar 2007 18:18:05 -0400
Received: from sj-dkim-2.cisco.com ([171.71.179.186]) by sj-iport-6.cisco.com with ESMTP; 16 Mar 2007 15:18:02 -0700
Received: from sj-core-5.cisco.com (sj-core-5.cisco.com [171.71.177.238]) by sj-dkim-2.cisco.com (8.12.11/8.12.11) with ESMTP id l2GMI25L027412; Fri, 16 Mar 2007 15:18:02 -0700
Received: from xbh-sjc-221.amer.cisco.com (xbh-sjc-221.cisco.com [128.107.191.63]) by sj-core-5.cisco.com (8.12.10/8.12.6) with ESMTP id l2GMHNF6011204; Fri, 16 Mar 2007 22:18:02 GMT
Received: from xfe-sjc-212.amer.cisco.com ([171.70.151.187]) by xbh-sjc-221.amer.cisco.com with Microsoft SMTPSVC(6.0.3790.1830); Fri, 16 Mar 2007 15:17:46 -0700
Received: from [10.73.34.117] ([10.21.81.100]) by xfe-sjc-212.amer.cisco.com with Microsoft SMTPSVC(6.0.3790.1830); Fri, 16 Mar 2007 15:17:46 -0700
In-Reply-To: <20070316204531.GA11734@sources.org>
References: <20070222145213.GA3622@nic.fr> <20070316204531.GA11734@sources.org>
Mime-Version: 1.0 (Apple Message framework v752.3)
Content-Type: text/plain; charset="US-ASCII"; delsp="yes"; format="flowed"
Message-Id: <FD18AE2B-0EC6-4E99-BCBC-821ED9307900@cisco.com>
Content-Transfer-Encoding: 7bit
From: Fred Baker <fred@cisco.com>
Date: Fri, 16 Mar 2007 21:51:29 +0000
To: Stephane Bortzmeyer <bortzmeyer@nic.fr>
X-Mailer: Apple Mail (2.752.3)
X-OriginalArrivalTime: 16 Mar 2007 22:17:46.0474 (UTC) FILETIME=[ECCD74A0:01C76818]
DKIM-Signature: v=0.5; a=rsa-sha256; q=dns/txt; l=2177; t=1174083482; x=1174947482; c=relaxed/simple; s=sjdkim2002; h=Content-Type:From:Subject:Content-Transfer-Encoding:MIME-Version; d=cisco.com; i=fred@cisco.com; z=From:=20Fred=20Baker=20<fred@cisco.com> |Subject:=20Re=3A=20A=20state-machine=20language=20in=20XML |Sender:=20; bh=v0P6WXjwMEZbNeO/5M8Wc6r+MmhIwABDGJDO082Di/w=; b=pLXqhLT/j33B/Sn2UcE0j+38eShK5wtL0rKWQDzed3uGdn0cSI+8xzn94k0GGKVwZNL05Be2 KEcQuoET7RQHLtYiLQ6eYeywGFEPCb7S6VfRVGvBdHVEel8pwgNMVJU9;
Authentication-Results: sj-dkim-2; header.From=fred@cisco.com; dkim=pass (si g from cisco.com/sjdkim2002 verified; );
X-Spam-Score: 0.0 (/)
X-Scan-Signature: 082a9cbf4d599f360ac7f815372a6a15
Cc: cosmogol@ietf.org
Subject: Re: A state-machine language in XML
X-BeenThere: cosmogol@ietf.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: DIscussion on state machine specification in IETF protocols <cosmogol.ietf.org>
List-Unsubscribe: <https://www1.ietf.org/mailman/listinfo/cosmogol>, <mailto:cosmogol-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www1.ietf.org/pipermail/cosmogol>
List-Post: <mailto:cosmogol@ietf.org>
List-Help: <mailto:cosmogol-request@ietf.org?subject=help>
List-Subscribe: <https://www1.ietf.org/mailman/listinfo/cosmogol>, <mailto:cosmogol-request@ietf.org?subject=subscribe>
Errors-To: cosmogol-bounces@ietf.org

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>

On Mar 16, 2007, at 8:45 PM, Stephane Bortzmeyer wrote:

> On Thu, Feb 22, 2007 at 03:52:13PM +0100,
>  Stephane Bortzmeyer <bortzmeyer@nic.fr> 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
> Cosmogol@ietf.org
> https://www1.ietf.org/mailman/listinfo/cosmogol

_______________________________________________
Cosmogol mailing list
Cosmogol@ietf.org
https://www1.ietf.org/mailman/listinfo/cosmogol