java-fsm.README Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of openaifsm Show documentation
Show all versions of openaifsm Show documentation
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"