"Clive D.W. Feather" <clive@demon.net> Mon, 08 January 2007 16:43 UTC

Received: from [] (helo=stiedprmman1.va.neustar.com) by megatron.ietf.org with esmtp (Exim 4.43) id 1H3xaX-0000Ed-GC; Mon, 08 Jan 2007 11:43:09 -0500
Received: from [] (helo=chiedprmail1.ietf.org) by megatron.ietf.org with esmtp (Exim 4.43) id 1H3xaW-0000E5-Gf for cosmogol@ietf.org; Mon, 08 Jan 2007 11:43:08 -0500
Received: from anchor-internal-1.mail.demon.net ([]) by chiedprmail1.ietf.org with esmtp (Exim 4.43) id 1H3xaV-00016T-0Z for cosmogol@ietf.org; Mon, 08 Jan 2007 11:43:08 -0500
Received: from finch-staff-1.server.demon.net (finch-staff-1.server.demon.net []) by anchor-internal-1.mail.demon.net with ESMTP� id l08Gh5vc008475; Mon, 8 Jan 2007 16:43:05 GMT
Received: from clive by finch-staff-1.server.demon.net with local (Exim 3.36 #1) id 1H3xaT-000ILJ-00 for cosmogol@ietf.org; Mon, 08 Jan 2007 16:43:05 +0000
Date: Mon, 8 Jan 2007 16:43:05 +0000
From: "Clive D.W. Feather" <clive@demon.net>
To: IETF Cosmogol list <cosmogol@ietf.org>
Message-ID: <20070108164305.GB66689@finch-staff-1.thus.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
User-Agent: Mutt/1.5.3i
X-Spam-Score: 0.0 (/)
X-Scan-Signature: 3e15cc4fdc61d7bce84032741d11c8e5
Subject: Miscellany
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

Some miscellaneous comments.

Allow more than one initial or final state:

    Initial : main-entry , alternate-entry
    Final : success , failure

It's possible to remove this need by adding dummy states, but it's often
easier to describe a system if you don't.

Allow non-deterministic state machines. They're useful; even though it's
always possible to convert a NDFSM to a DFSM, the latter can be much harder
to understand. By all means make the default for validation be

I'm not sure what the difference is between "Initial" and a start state.
Similarly, why is "must be complete" only a command-line option? Better
would be:
- allow the definition of the machine to say "must be complete";
- allow command-line options to add/override "Initial", "Final", and
  "must be complete" declarations (compare the -D option of many C
  compilers, which does an extra #define).

The former would best be done with extra syntax for "properties". Perhaps:

    !Complete           # Must be complete
    !-Deterministic     # Need not be deterministic

Contrary to the alternative in section 8, you don't want to force every
transition to be declared. Sometimes it's easier to understand a FSM if all
the "message @ state5 -> state5" entries are omitted.

Have a property saying "this is an acceptor"; that is, there are no actions
but every state is either a success state or a failure state. This property
would require some way of classifying states. In fact, allowing states or
messages or actions to be classified would be useful in itself, since
programs that draw state machines could use classes to indicate things
differently (different fonts, different colours, different shapes of
boxes). A possible syntax:

    STATE = alpha, bravo, charlie : normal;
    STATE = x-ray, yankee, zulu   : error;

    MESSAGE = letter, digit, space : keyboard;
    MESSAGE = down, up, motion : mouse;

    ACTION = ring, on-hook, off-hook : local-loop;
    ACTION = assign-trunk, find-route : internal;

Clive D.W. Feather  | Work:  <clive@demon.net>   | Tel:    +44 20 8495 6138
Internet Expert     | Home:  <clive@davros.org>  | Fax:    +44 870 051 9937
Demon Internet      | WWW: http://www.davros.org | Mobile: +44 7973 377646
THUS plc            |                            |

Cosmogol mailing list