Definição – o que significa máquina de estado?
Uma máquina de estado é um conceito usado no projeto de programas de computador ou lógica digital. Existem dois tipos de máquinas de estado: máquinas de estado finito e infinito. O primeiro é composto por um número finito de estados, transições e ações que podem ser modelados com gráficos de fluxo, onde o caminho da lógica pode ser detectado quando as condições são atendidas. Este último não é usado na prática.
Uma máquina de estado é qualquer dispositivo que armazena o status de algo em um determinado momento. O status muda com base nas entradas, fornecendo a saída resultante para as mudanças implementadas. Uma máquina de estado finito possui memória interna finita. Os símbolos de entrada são lidos em uma sequência, produzindo um recurso de saída na forma de uma interface de usuário.
As máquinas de estado são representadas por meio de diagramas de estado. A saída de uma máquina de estado é uma função da entrada e do estado atual. As máquinas de estado desempenham um papel significativo em áreas como engenharia elétrica, linguística, ciência da computação, filosofia, biologia, matemática e lógica. Eles são mais bem usados na modelagem de comportamento de aplicativos, engenharia de software, projeto de sistemas digitais de hardware, protocolos de rede, compiladores e no estudo de computação e linguagens.
Definirtec explica State Machine
A operação de uma máquina de estado começa a partir de um estado inicial. Em uma transição bem-sucedida, ele termina em um estado de aceitação. A transição ocorre com base nas entradas fornecidas. O estado atual depende do estado anterior do sistema. O número de estados formados depende dos estados de memória disponíveis. Uma transição é habilitada com base em certas condições e indica uma mudança de estado. Uma ação descreve uma atividade realizada em um determinado momento. Os diferentes tipos de ações são ação de transição, ação de entrada, ação de entrada e ação de saída.
Os autômatos determinísticos têm exatamente uma transição em cada estado para cada entrada possível. Em autômatos não determinísticos, uma entrada de estado leva a uma, muitas ou nenhuma transição. Uma máquina de estado com apenas um estado é chamada de máquina de estado combinatória e usa apenas ações de entrada.
Os dois grupos diferentes de máquinas de estado são aceitadores e transdutores. Os aceitantes produzem uma saída binária, com base no fato de a entrada ser aceita ou rejeitada pela máquina. Durante o processamento da entrada, se o estado atual for de aceitação, a entrada será aceita. Caso contrário, é rejeitado. Os idiomas aceitos pelas máquinas de estado são chamados de idiomas regulares. Os estados iniciais são representados por uma seta apontando para ela de qualquer lugar, enquanto os estados aceitos são representados por círculos duplos. Os transdutores fornecem a saída com base em uma determinada entrada, usando ações. As máquinas Moore e Mealy são exemplos de transdutores.
Máquinas de estado de linguagem de modelagem não modificada também são amplamente utilizadas, pois possuem as características de máquina de Moore e Mealy dentro delas. Eles incluem conceitos adicionais, como regiões ortogonais e estados aninhados hierarquicamente.