ietf
[Top] [All Lists]

Re: Specifying a state machine: ASCII-based languages

2006-06-28 07:11:02
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, presumably after a few people try out various basic designs.



On Jun 28, 2006, at 6:55 AM, Stephane Bortzmeyer wrote:


* State Machine Compiler, SMC (http://smc.sourceforge.net/). As its
name suggests, its main aim is to generate executable code from the
state machine description. But it can be used, it seems so, for pure
specification. A nice exemple is a telephone at
http://smc.sourceforge.net/TelephoneSrc.htm.

(The FAQ has an excellent entry "Why write state machines in text and
then compile them? Why not create a GUI to draw state machines?" which
is quite relevant here.)

* Ragel (http://www.cs.queensu.ca/home/thurston/ragel/). Quite close
from SMC.

* FSMLang (http://fsmlang.sourceforge.net/). Same concept again.

* eXtensible Abstract State Machines, xASM (http://www.xasm.org/). I
must confess that this one is less clear in my mind.

* SDL (http://www.sdl-forum.org/). It is further from our aim, I
mention it for completeness.

Therefore, as a conclusion, I would like people to notice that
specifying state machines may not always involve a picture.

Unfortunately, there is no clear winner among these applications and
some of them are not ideal for specification (Ragel is "sold" more as
a replacement for lex than as a specification tool.)

_______________________________________________
Ietf mailing list
Ietf(_at_)ietf(_dot_)org
https://www1.ietf.org/mailman/listinfo/ietf


_______________________________________________
Ietf mailing list
Ietf(_at_)ietf(_dot_)org
https://www1.ietf.org/mailman/listinfo/ietf

<Prev in Thread] Current Thread [Next in Thread>