Re: Complex application flow. Best approach ???



On Fri, 8 Apr 2005 16:41:03 +0200, "Jan" <tmp02@xxxxxxxxxxxxxxxxxx>
wrote:

>In case nobody does, I guess your advise to try to cut the giant FSM into
>manageable pieces might be my only option.
>
>So if anyone knows some "magic" technology, I really like to hear it. :-)

You might want to take a look at SMC. (State Machine Compiler). You
can download it from the resources section of www.objectmentor.com.
It generates code in either Java or C++; but it would be very simple
to change the code generator to generate something else. It's
designed to have multiple code generators.

I've done some very complex state machines, and have found this tool
to be very helpful.



-----
Robert C. Martin (Uncle Bob) | email: unclebob@xxxxxxxxxxxxxxxx
Object Mentor Inc. | blog: www.butunclebob.com
The Agile Transition Experts | web: www.objectmentor.com
800-338-6716


"The aim of science is not to open the door to infinite wisdom,
but to set a limit to infinite error."
-- Bertolt Brecht, Life of Galileo
.



Relevant Pages

  • Re: Complex application flow. Best approach ???
    ... >>In case nobody does, I guess your advise to try to cut the giant FSM into ... (State Machine Compiler). ... > to change the code generator to generate something else. ... > "The aim of science is not to open the door to infinite wisdom, ...
    (comp.object)
  • Re: State Machine/Class Granularity
    ... It enforces some constraints such as making sure each state machine has a unique name and ID and resides in the subsystem's namespace. ... So I would expect the builder to build every state machine exactly the same way once it is provided with the events, transitions, and action identifiers. ... It seems to me that the only thing that has changed is the location of some of the code that is being generated (i.e., from EventQueue to class). ... the base class never has to be touched by the code generator; it's only generating code for the derived class. ...
    (comp.object)
  • Re: State Machine/Class Granularity
    ... > consumeEvent does the action STT lookup using the local event ID. ... > Note that by moving the actual FSM STT to the class, the EventQueue ... > objects can be in different states of their common state machine. ... > When the code generator writes the event generation code, ...
    (comp.object)
  • Re: State Machine/Class Granularity
    ... state machine code generator; it's in the form of a builder class. ... FSMs dynamically? ...
    (comp.object)