Journeys as a Finite State Machine (FSM)
This blog post talks a bit of what a Finite State Machine (FSM) is and why it is so prominent in many aspects of software development. Worklife.Digital is extending the implementation of FSMs to the psychology world by defining the concept of Journeys, which is basically a business process implemented in a FSM.

What is a FSM?
The main properties of an FSM are:
- The system can only be in one of a finite number of states.
- It must always be in one of the finite number of states.
- There is a transition function to determine when a machine can change state.
Above is a very typical demonstration FSM. It shows clearly that the system has two states and there is a transition function that allows the machine to change between states.
Without going into detail properties of FSMs, the main benefits of FSMs are that we can make statements in other forms of logic (for example temporal logic) about these machines:
- We can model the outcomes of this system.
- The outcomes are repeatable (same inputs will always produce the same outputs)
- We can define failure states (undesirable states) and determine paths that lead to them.
- We can identify conflicting transition functions that lead to non-deterministic behavior.
- We can determine efficiency and efficacy of execution paths.
- We can even go so far as to determine the applicability of models to real world problems (by using symbolic logic model checkers such as PRISM)
- FSMs can be represented visually in a labeled state transitioning diagram and we can talk about it.
The bottom line is that FSMs is a formal approach to process context free languages and reason about them. It is not that problems cannot be solved without FSMs. It is just that they are efficient and effective at addressing real world probelms.
Comments
Post a Comment