Finite State Machine

A definition of a Finite State Machine can be found at: Wikipedia In part it states:

“A finite state machine (FSM) or finite automaton is a model of behavior composed of states, transitions and actions. A state stores information about the past, i.e. it reflects the input changes from the system start to the present moment. A transition indicates a state change and is described by a condition that would need to be fulfilled to enable the transition. An action is a description of an activity that is to be performed at a given moment.“

The example implements a module that reads in the state tables for any number of Deterministic Finite State Machines (DFSM), as needed, from an Oracle database. The state transitions are read in from a csv file for any number of instances of those DFSMs. Use of Oracle is not absolutely required. The interested reader may want to try MySql or some other database, or convert the example into saving state in a Named Window. The use of Oracle does, however, illustrate the use of Coral8's database subquery capability.