All Downloads are FREE. Search and download functionalities are using the official Maven repository.

java-fsm.README Maven / Gradle / Ivy

Go to download

OpenAI FSM is used by Apache cTAKES. It was originally developed out of sourceforge openAI group

The newest version!
The Finite State Machine is a relatively simple concept.  You basically have a
number of "states" that are connected by transitions.  All of the states are
contained in a "machine".  Data is fed into the machine and the current state
of the machine is changed according to the input.  The key is the transitions
themselves.

For more information, see the JavaDocs in docs/html.  The JavaDocs will have
to be generated (see INSTALL) or can be viewed online.


The Machine
-----------
The Machine contains all of the States.  Only one State is active at a time.
Input is given to the Machine and the list of Conditions for the current State
are iterated through until one is found who's criteria is met for the given
input.  Once a Condition is met, then its corresponding transition is
traversed and its target State then becomes the current State of the Machine.

The State
---------
A node in a state graph that can represent the current "state" of the Machine.
Code can be executed upon entering and leaving a State.  States are connected
by transitions via the Condition class.

The Condition
-------------
States are connected together by transitions represented by Conditions.  If a
Condition's criterial is met, then its target State becomes the new current
state of the Machine.  If no Conditions are met, then the Machine with throw
an "UnhandledConditionException"





© 2015 - 2024 Weber Informatics LLC | Privacy Policy