Sommario:
Definizione - Cosa significa State Machine?
Una macchina a stati è un concetto utilizzato nella progettazione di programmi per computer o logica digitale. Esistono due tipi di macchine a stati: macchine a stati finiti e infinite. Il primo è costituito da un numero finito di stati, transizioni e azioni che possono essere modellati con grafici di flusso, in cui il percorso della logica può essere rilevato quando le condizioni sono soddisfatte. Quest'ultimo non è praticamente utilizzato.
Una macchina a stati è qualsiasi dispositivo che memorizza lo stato di qualcosa in un determinato momento. Lo stato cambia in base agli input, fornendo l'output risultante per le modifiche implementate. Una macchina a stati finiti ha una memoria interna finita. I simboli di input vengono letti in una sequenza che produce una funzione di output sotto forma di un'interfaccia utente.
Le macchine a stati sono rappresentate usando diagrammi di stato. L'output di una macchina a stati è una funzione dell'input e dello stato corrente. Le macchine statali svolgono un ruolo significativo in settori quali ingegneria elettrica, linguistica, informatica, filosofia, biologia, matematica e logica. Sono utilizzati al meglio nella modellizzazione del comportamento delle applicazioni, ingegneria del software, progettazione di sistemi digitali hardware, protocolli di rete, compilatori e studio del calcolo e dei linguaggi.
Techopedia spiega State Machine
Il funzionamento di una macchina a stati inizia da uno stato iniziale. Una transizione riuscita finisce in uno stato di accettazione. La transizione avviene in base agli input forniti. Lo stato corrente dipende dallo stato passato del sistema. Il numero di stati formati dipende dagli stati di memoria disponibili. Una transizione è abilitata in base a determinate condizioni e indica un cambio di stato. Un'azione descrive un'attività eseguita in un determinato momento. I diversi tipi di azioni sono azione di transizione, azione di input, azione di entrata e azione di uscita.
Gli automi deterministici hanno esattamente una transizione in ogni stato per ogni possibile input. Negli automi non deterministici, un input di stato porta a una, a molte o nessuna transizione. Una macchina a stati con un solo stato è chiamata macchina a stati combinatori e utilizza solo azioni di input.
I due diversi gruppi di macchine a stati sono accettatori e trasduttori. Gli accettori producono un output binario, in base al fatto che l'input sia accettato o rifiutato dalla macchina. Durante l'elaborazione dell'input, se lo stato corrente accetta, l'input viene accettato. Altrimenti viene rifiutato. Le lingue accettate dalle macchine statali sono chiamate lingue regolari. Gli stati di inizio sono rappresentati da una freccia che punta su di esso da qualsiasi luogo, mentre gli stati accettati sono rappresentati usando doppi cerchi. I trasduttori soddisfano l'output in base a un determinato input, utilizzando le azioni. Le macchine Moore e Mealy sono esempi di trasduttori.
Anche le macchine a stati del linguaggio di modellazione non modificate sono ampiamente utilizzate in quanto presentano al loro interno le caratteristiche della macchina Moore e Mealy. Includono concetti aggiuntivi come regioni ortogonali e stati nidificati gerarchicamente.