Mark Probert
11/2/2004 8:53:00 PM
Hi, all.
I am pleased to announce the release of fsmgen. This is a class library
and generator for creating simple finite state machine. The application
is to make simple TCP / UDP servers easy to write. This is done using a
YAML file to define the server and then using a generator to create a
default server and client template. These templates are then modified to
add "real" responses, rather than the default of sending strings back.
An example of a simple config file is:
Server:
name: SimpleSvr # we need a name
type: TCP # default server type [TCP|UDP]
port: 8045 # mandatory field
Events:
HELO: A client wants to connect
CMD: The client sends in a command
Actions:
INIT: [ init, "Initializing the system." ]
ACK: [ acknowledge, "HELO" ]
LIST: [ list, "Show available commands" ]
RUN: [ run, "Run a command" ]
States:
Start: [ INIT, Idle ]
Idle:
HELO: [ ACK, Ready ]
CMD:
Ready:
CMD: [ RUN, Idle ]
LIST: [ LIST, Ready ]
HELO:
I don't have a website up at the moment, so, if you are interested,
please contact me for the code.
Regards,
-mark. (probertm at acm dot org)