OO Finite State Machine Language 
Author Message
 OO Finite State Machine Language

Hello,

Does anyone know where I can find work that has been done on the definition of
finite state machines?

Thanks,
-Edward



Sat, 09 Sep 2000 03:00:00 GMT  
 OO Finite State Machine Language

Quote:

> Hello,

> Does anyone know where I can find work that has been done on the
> definition of finite state machines?

As usual, the first place to look is in the Gang-of-Four book: Design
Patterns, Gamma et al.


Sat, 09 Sep 2000 03:00:00 GMT  
 OO Finite State Machine Language

Quote:

>Hello,

>Does anyone know where I can find work that has been done on the definition
of
>finite state machines?

Having scanned for this info before, it seems there are three schools of
thought here:

    global boolean variables and lots of 'if' statements

    An FSM class set as described in the book /Object Lifecycles : Modeling
the World in States/ by Sally Shlaer and Stephen J. Mellor

    CASE tools that manage FSMs as project requirements and write code that
follows them.

I (and probably Ed) would appreciate any additions to this list, especially
clarifications on the third topic. The first needs no introduction.

The heart of the second approach is a Transistion Map, where the key is the
combination of a current state and an input event ID, and the output is a
new state. I'v defined one like this:

    typedef ::std::pair< clsStateBase *, int >
                transit;

     typedef ::std::map< transit, clsStateBase * >
                clxTransition_t;

'clsStateBase' is a protocol class that you derive states from. States are
objects. The 'int' is the input event ID. When an event arrives you build a
'transit' out of its ID and the current state, and you fetch the new state
from the map.

  --  Phlip
======= http://users.deltanet.com/~tegan/home.html =======
  --  22 August 1997 - Ashley said "Dilbert" for the first time  --



Sat, 09 Sep 2000 03:00:00 GMT  
 OO Finite State Machine Language

On Tue, 24 Mar 1998 19:14:55 GMT, "Edward Lam"

Quote:

>Hello,

>Does anyone know where I can find work that has been done on the definition of
>finite state machines?

>Thanks,
>-Edward


Robert Martin's web page at http://www.oma.com/ has an example of a
state machine compiler which generates C++.


Sun, 10 Sep 2000 03:00:00 GMT  
 OO Finite State Machine Language

Quote:

> Hello,

> Does anyone know where I can find work that has been done on the definition of
> finite state machines?

I have written a finite state machine compiler that generates C++
code in the form of the 'State' pattern from the 'Design Patterns'
book.  The generated machine is very fast and dense.  Also, you
never touch, edit, or even look at the generated code.  The
generated code derives from a class that you provide and implements
the FSM functionality in that class.

To get a copy of this compiler and the associated documentation, simply
download the 'smc' package from the 'freeware' section of my
website.  There is no charge.  Enjoy.
--
**We are looking for good engineers, See our website
**for more information.

Robert C. Martin    | Design Consulting   | Training courses offered:

14619 N Somerset Cr | Tel: (800) 338-6716 |   C++
Green Oaks IL 60048 | Fax: (847) 918-1023 | http://www.oma.com  

"One of the great commandments of science is:
    'Mistrust arguments from authority.'" -- Carl Sagan



Sun, 10 Sep 2000 03:00:00 GMT  
 
 [ 5 post ] 

 Relevant Pages 

1. finite state machines, state cad

2. Finite State Machine and Forth

3. Finite State Machines

4. ESTEREL, Forth and finite state machines

5. finite state machines

6. Finite state machine compiler

7. Finite State Machines

8. Finite State Machine inherent support

9. cisco_fsm (finite state machine) free tool: pre-announcement

10. Use of a Finite State Machine in testbench code

11. FSMedit - The Finite State Machines Editor - Version 2.0

12. finite-state-machine problems => Synopsys

 

 
Powered by phpBB® Forum Software