O que é programação baseada em autômatos?

A programação baseada em autômatos é um paradigma de programação de computadores que trata seções do programa como autômatos finitos. Cada autômato pode realizar um "passo" de cada vez, e a execução do programa é dividida em etapas individuais. As etapas se comunicam entre si alterando o valor de uma variável que representa "o estado" e o fluxo de controle do programa é determinado pelo valor dessa variável.

A variável "state" pode ser um tipo de dado enum simples, mas estruturas de dados mais complexas podem ser usadas. Uma técnica comum é criar uma tabela de transição de estados, uma matriz bidimensional compreendendo linhas representando cada estado possível e colunas representando o parâmetro de entrada. O valor da tabela em que a linha e a coluna se encontram é o próximo estado para o qual a máquina deve passar se ambas as condições forem atendidas.

Máquina de estado finito, Entrada, Paradigma, Termos de programação