Subject: Re: Specifying a state machine: ASCII-based languages

From: Stephane Bortzmeyer <[email-masked]>
Date: Tue, 12 Sep 2006 22:28:24 +0200

On Wed, Jun 28, 2006 at 10:04:54AM -0400,
 Henning Schulzrinne <[email-masked]> wrote 
 a message of 48 lines which said:

> Having a more formal description of state machines is a natural next
> step from having, say, a good syntax description in ABNF.

> Unfortunately, unlike ABNF, none of these (except SDL) have a long-
> term stable reference. If we worry about PDF not being around for
> future RFC readers, I am a bit more worried about the authors of a
> SourceForge volunteer project finding other things to do.

> Thus, I think the first step would have to be to define a (subset)
> of a suitable language as an IETF-stable document,

You are absolutely right and here is my first attempt:

http://www.ietf.org/internet-drafts/draft-bortzmeyer-language-state-machines-00.txt

See also http://www.cosmogol.fr/ if you want the HTML version.

Comments, flames, criticisms, patches, suggestions and running code
are highly appreciated.

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

---

From: Stewart Bryant <[email-masked]>
Date: Thu, 14 Sep 2006 17:00:20 +0100

>Comments, flames, criticisms, patches, suggestions and running code
Isn't there a suitable text based state description language published 
by the
CCITT that we can use rather than invent our own from scratch? There
was a lot of work done on this back in the days of Chill to describe the
operation of SPC telephone exchanges.

- Stewart

---

From: Frank Ellermann <[email-masked]>
Date: Thu, 14 Sep 2006 20:22:02 +0200

Stewart Bryant wrote:

> invent our own from scratch?

Stephane's draft has 22 pages, including two non-trivial
examples.  SDL has abstract data types and other features.

For something that's better than ASCII art or some ad-hoc
table formats squeezed into RFCs his format is okay.  It
should be fairly simple to tranform this into whatever you
like better (because you have tools for it).

Frank

---

From: Stephane Bortzmeyer <[email-masked]>
Date: Fri, 15 Sep 2006 10:05:56 +0200

On Thu, Sep 14, 2006 at 05:00:20PM +0100,
 Stewart Bryant <[email-masked]> wrote 
 a message of 56 lines which said:

> Isn't there a suitable text based state description language
> published by the CCITT that we can use 

Pointers are welcome but you probably mean SDL, aka Z.100
(http://www.itu.int/ITU-T/studygroups/com17/languages/Z100.pdf and
http://www.sdl-forum.org/).

There are already existing languages for state machines and all those
I know are displayed at http://www.cosmogol.fr/related.html.

> rather than invent our own from scratch?

There are several reasons why none of them seemed useful for the IETF,
in the specific context of state machine description in the RFCs.

* several are not published as a stable standard (such as Graphviz or
SMC), so they cannot be normative references,

* those who are published as a standard are not always available
(Z.100 is an ITU standard and they do not publish everything freely,
the SDL forum publishes a non-authoritative version and even tutorials
are not freely available, see
http://www.iec.org/acrobat.asp?filecode=125).

* some are extremely complex, intended for a much more general use
(such as UML and SDL).

Ask yourself why no state machine in the RFC is described with these
languages. And why RFC 2360 does not mention them.

---

From: Stewart Bryant <[email-masked]>
Date: Fri, 15 Sep 2006 11:48:10 +0100

>http://www.sdl-forum.org/).
Yes - SDL / Z.100 was the one that I was thinking of.

>http://www.iec.org/acrobat.asp?filecode=125).
Perhaps we can fix this with a liaison to the ITU saying that in the 
interests
of co-operation and a desire to use a common state machine language
to ensure the interoperation and uniform interpretation of our protocols
would they make Z.100 available to all who are designing and implementing
IETF protocols.

>* some are extremely complex, intended for a much more general use
Do we mean more complex or more complete?

>languages. And why RFC 2360 does not mention them.
I have no idea.

- Stewart