FSM Library Documentation

The OMAC Finite State Machine (FSM) library is a free, with source-code, object-oriented Visual C++ class library for use in coding states, events, actions, transitions, and conditions necessary in programming and executing finite state machine behavior. The FSM library supports a litany of options to easily accommodate a broad variety of control logic needs. The FSM under this Web site is distributed as a zipped file. FSM code within the files is under the FSMRelease/src/fsmlibnew while

Features:

  • Object oriented representation of finite state machines
  • Mealy or Moore state machines
  • Smart pointer handling of state, event and transition references. No memory leaks even though references are cross-linked.
  • Hierarchical states
  • Priority-based event-queuing (optional), head of event-queue insertion, and variable event handling per FSM update
  • Condition-based state transitions
  • Entry and Exit state actions
  • Multiple state actions per transition
  • Default activity when no events have occurred.
  • Synchronous and asynchronous event-handling

Documentation

FSM Documentation describing the features and how to use the FSM library is available online. 

 

Source

Download Zipped FSM Library  - 1.3MB 

Download Self-extracting DLL and FSM Library  - 1.7MB – Removed as hard to keep up to date.

Date Posted: September 28, 2001

Comments?

Submit Feedback