The DataHaven.NET project is developing in principles of Automata-based programming. This is a programming paradigm in which the program or its part is thought of as a model of a finite state machine or any other formal automaton.
Its defining characteristic is the use of finite state machines to describe program behavior. The transition graphs of state machines are used in all stages of software development (specification, implementation, debugging and documentation).
Here is a list of state machines which control the program behaviour.
A small tool called visio2python was written to simplify working with the DataHaven.NET project. It can translate transition graphs created in Microsoft Visio into Python code.
Automata-Based Programming technology was introduced by
in 1991 and Switch-technology was developed to support automata-based programming.
Automata-Based Programming is considered to be rather general purpose program development methodology than just another one finite state machine implementation.
Anatoly Shalyto is the former of
Foundation for Open Project Documentation.
Read more about Switch-technology on the Saint-Petersburg National Research University of Information Technologies, Mechanics and Optics, Programming Technologies Department Page.