The EMC 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. A precompiled Finite State Machine library DLL is available in the installation. This document describes the class definitions in the Finite State Machine library and provides examples of the use of the Finite State Machine software