Automata-based Programming (Shalyto's Approach) - State-Based Object-Oriented Programming

State-Based Object-Oriented Programming

The composite approach, based on both object-oriented and automata-based programming paradigms (Shalyto 2004), (Shalyto 2005), may be rather useful for solving tasks from a very large spectrum. This approach was called “state-based object-oriented programming”.

The main feature of this approach is that, like in Turing machines, controlling (automata) states are explicitly singled out. The number of these states is noticeably fewer than amount of all other objects' states (for example, run-time states).

The term “states space” was introduced in programming. This term means the set of object's controlling states. So this approach provides more understandable behavior in comparison with the case when such space is not singled out explicitly.

The minimal set of documents, which visually and clearly describe structural (static) and behavioral (dynamic) sides of a software project, is described (Tukkel 2003).

From the experience of adaptation of suggested approach (Tukkel 2001) one can conclude that application of automata makes programs' behavior clearer as using objects makes programs' structure clearer. Existence of high quality project documentation makes further program refactoring (changing of its structure while retaining its functionality) much easier (Kuznetsuv 2003).

Read more about this topic:  Automata-based Programming (Shalyto's Approach)

Famous quotes containing the word programming:

    If there is a price to pay for the privilege of spending the early years of child rearing in the driver’s seat, it is our reluctance, our inability, to tolerate being demoted to the backseat. Spurred by our success in programming our children during the preschool years, we may find it difficult to forgo in later states the level of control that once afforded us so much satisfaction.
    Melinda M. Marshall (20th century)