I have a Fixed State Machine question that relates to the ProtoFSM.
Somebody suggested using the FSM example to help simplify my communication,
and I'd agree. It would be a lot easier to draw this, and I'll try after I
describe my question.
When using ProtoFSM do the states have to be logically concatenated?
The reading I've done on this online seems to suggest it. What I'd like to
do is after several logical steps (a login procedure,) then be able to
parse three separate states. (My application would be receiving three
types of string input: a board designation, special commmands like time
and move information, and general text to display in a window view.) Most
of what I've seen, though, seems to suggest that an FSM (and ProtoFSM) will
only allow one state at a time to exist.
ASCII drawings:
Is the FSM like this:
A -> B -> C -> end
which isn't helpful, or can it be:
D
/ \
A-> B -> C -> E -> end
\ /
F
My "triggers":
A := "Login:" // send the username
B := "ssword:" // send the password
C := "%aics%" // send several set-up commands to use the host
D := "@#@ * #@#" // * is an ASCII character field showing board position
// and status, and would trigger a board redraw
E := "^Y( * ^Y)" // * is a special msg indicating move time or game status
// and it gets displayed in its' own window.
F := "*" // Any other string, window text to display
The above really only looks good in fixed-space font (courier, etc.) Upon
looking at it, actually all states could be active at once, since the login
routine only occurs once and the output parsing (D,E,F) can begin
immediately since it doesn't occur until after login (except for plain
strings which are displayable.) So it could just as logically be:
A-\
\
B --\
\
C ---\
-> end
D ---/
/
E --/
/
F-/
Is there any FSM guru out there that could help? Hope this isn't *too*
confusing, or I'll quit programming and go back to making things out of
Wiccans. ;)
Darren
newtonmpuser_at_mailtag.com
pontifex_dre_at_yahoo.com
-- This is the Newtontalk mailinglist - http://www.newtontalk.net To unsubscribe or manage: visit the above link or mailto:newtontalk-request_at_newtontalk.net?Subject=unsubscribe
This archive was generated by hypermail 2.1.2 : Wed Jan 02 2002 - 12:01:48 EST