programming paradigm centred around finite state machines
Programação orientada a autômatos é um paradigma de programação no qual o programa (ou partes dele) é pensado como um modelo de uma máquina de estados finitos (FSM, do inglês, finite state machine) ou qualquer outro (geralmente mais complicado) autômato formal (ver teoria de autômatos). Algumas vezes um conjunto potencialmente infinito de possíveis estados é introduzido, e tal conjunto pode ter uma estrutura complicada, não sendo apenas uma enumeração. A programação orientada a máquinas de estados finitos é geralmente semelhante mas, formalmente falando, não cobre todas as possíveis variantes que uma FSM representa, e a programação orientada a autômatos não necessariamente emprega FSM de forma estrita. As propriedades seguintes são indicadores chaves de uma programação orientada à autômatos: 1. * O período de tempo da execução do programa é claramente separado em passos do autômato. Cada um dos passos é a efetiva execução de uma seção de código (igual para todos os passos), no qual existe um único ponto de entrada. Tal seção pode ser uma função ou uma rotina, ou apenas um corpo cíclico. A etapa da seção pode ser dividida em subseções para serem executadas a depender dos diferentes estados, ainda que isto não seja necessário. 2. * Qualquer comunicação entre os passos só é possível mediante um conjunto explicitamente conhecido de variáveis nomeadas estado. Entre dois passos, o programa (ou suas partes criadas usando a técnica baseada em autômatos) pode não ter componentes implícitos de seu estado, tal como valores de (pilha) variáveis locais, endereços de retorno, ponteiro de instrução atual etc. Isto é, dados quaisquer dois momentos de iniciação do passo do autômato, eles diferem apenas nos valores das variáveis, sendo considerados como o estado do autômato. A completa execução do código orientado a autômatos é um ciclo (possivelmente explícito) de passos de um autômato. Outra razão para usar a noção de programação orientada a autômatos é que o estilo de raciocínio do programador, nessa técnica, é muito similar ao estilo de raciocínio usado para resolver problemas relacionados matemáticos usando máquina de Turing, algoritmo de Markov etc.
Abstract from DBpedia / Wikipedia · CC BY-SA
via Wikidata sitelinks · CC0
Discovered by embedding cosine similarity (sentence-transformers MiniLM, 384-dim).