Automata-based programming 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 automation. Automata theory is the study of abstract computational devices.Abstract devices are (simplified) models of real computations. Computations happen everywhere: On your laptop, on your cell phone, in nature, etc.