Simulatore di automi a stati finiti
Versione 1
Download
Programmi eseguibili (versione 1.0 del 07/10/2022)
Versione Linux
Versione Win64
Scaricare ed estrarre il file eseguibile.
Potrebbe essere necessario assegnare i permessi di esecuzione una volta estratti i programmi.
Esempi
Nel programma sono inclusi alcuni automi di esempio
Programma
Il programma è in formato testuale leggibile e facilmente manipolabile dall'utente.
Le istruzioni sono scritte nella forma:
(<stato corrente>, <input>, <stato futuro>, <output>)
Ad esempio:
(PIANO0, RC0, PIANO0, FERMO)
(PIANO0, RC1, PIANO1, SU)
(PIANO0, RC2, PIANO2, SU)
(PIANO0, P0, PIANO0, FERMO)
Stato
Può essere costituito da uno o più dei seguenti caratteri:
abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ 0123456789
Input e Output
Possono essere costituiti da uno o più dei seguenti caratteri:
abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ 0123456789
oppure uno solo dei seguenti caratteri
!#$%&'*+-./:;<=>?@[\]^{|}_
Esecuzione
Per eseguire il programma passare alla seconda pagina
Nella parte alta si vedono le transizioni di stato e gli output corrispondenti.
Viene evidenziata l'ultima transizione eseguita.
Nella parte inferiore sono rappresentati i possibili input
Cliccando sull'input si invia all'automa l'evento corrispondente
Nella parte sinistra è riportato l'elenco degli stati, ed è evidenziato lo stato corrente.
Cliccando su uno stato è possibile modificare lo stato corrente.
Generazione grafi
E' possibile generare un file per il programma "dot" per la generazione dell'immagine del grafo corrispondente alla macchina. Il file generato ha estensione .grf
Esempio:
file automa_ascensore.grf
digraph finite_state_machine
{
graph [fontname = "Verdana"];
node [fontname = "Verdana"];
edge [fontname = "Verdana"];
rankdir=LR;
size="8,8"
node [shape = doublecircle];
PIANO0;
node [shape = circle];
PIANO0 -> PIANO0 [ label = "RC0,FERMO"];
PIANO0 -> PIANO1 [ label = "RC1,SU"];
PIANO0 -> PIANO2 [ label = "RC2,SU"];
PIANO0 -> PIANO0 [ label = "P0,FERMO"];
PIANO0 -> PIANO1 [ label = "P1,SU"];
PIANO0 -> PIANO2 [ label = "P2,SU"];
PIANO1 -> PIANO0 [ label = "RC0,GIU"];
PIANO1 -> PIANO1 [ label = "RC1,FERMO"];
PIANO1 -> PIANO2 [ label = "RC2,SU"];
PIANO1 -> PIANO0 [ label = "P0,GIU"];
PIANO1 -> PIANO1 [ label = "P1,FERMO"];
PIANO1 -> PIANO2 [ label = "P2,SU"];
PIANO2 -> PIANO0 [ label = "RC0,GIU"];
PIANO2 -> PIANO1 [ label = "RC1,GIU"];
PIANO2 -> PIANO2 [ label = "RC2,FERMO"];
PIANO2 -> PIANO0 [ label = "P0,GIU"];
PIANO2 -> PIANO1 [ label = "P1,GIU"];
PIANO2 -> PIANO2 [ label = "P2,FERMO"];
}
Se non viene generato il file grf, controllare di avere i permessi di accesso alla cartella di destinazione indicata nella fase di esportazione
Se il programma dot è installato nel sistema, dopo la generazione del file grf viene automaticamente generata l'immagine corrispondente nei formati png e svg.
Il programma dot fa parte del pacchetto GraphViz
Per la generazione delle immagini il programma lancia i seguenti comandi:
dot -Tpng <nome file>.grf -o <nome file>.png
dot -Tsvg <nome file>.grf -o <nome file>.svg
Esempio:
dot -Tpng automa_ascensore.grf -o automa_ascensore.png
dot -Tsvg automa_ascensore.grf -o automa_ascensore.svg
Se viene generato il file grf ma non le immagini, verificare che il programma dot sia installato e accessibile. Per una rapida verifica si può aprire un terminale e dare il seguente comando:
dot -?
Se la risposta consiste nell'elenco delle opzioni allora il programma è installato.
Se dot risulta installato ma le immagini non vengono ancora generate, aprire un terminale, posizionarsi nella cartella dove è presente il file grf e lanciare manualmente il comando di generazione dell'immagine (vedere sopra i comandi da scrivere). Questo dovrebbe dare ulteriori indicazioni sulla possibile causa del problema.
Installazione Graphviz
Per Linux Ubuntu può essere installato da repository (apt install graphviz). Dopo l'installazione il programma dot è disponibile per l'utilizzo
Per Windows si scarica dalla pagina graphviz.org/download. Il programma dot deve trovarsi nel percorso di ricerca, quindi si consiglia di installare il pacchetto GraphViz usando il programma eseguibile "graphviz-xxx (64-bit) EXE installer" che predispone il percorso di ricerca per trovare i programmi del pacchetto
Avvertenze
I programmi sono realizzati per un uso didattico. Non sono stati sottoposti a rigidi controlli sul funzionamento, quindi potrebbero verificarsi degli errori. La segnalazione è gradita.
Contatto
Per comunicare con me vedere le istruzioni nella pagina "contatto".
Segnalazione di problemi
Se si notano problemi nel funzionamento o nell'usabilità, riceverò con piacere le segnalazioni e cercherò di sistemare eventuali problemi quanto prima.
Suggerimenti
Ricevo con piacere eventuali suggerimenti per migliorare l'utilizzo dei programma
Sicurezza
Per quanto mi riguarda applico la massima attenzione per evitare che i programmi contengano malware. Tuttavia non esiste la sicurezza assoluta, mai, in nessun caso. Il sito stesso potrebbe venire violato a mia insaputa e gli eseguibili compromessi.
Si consiglia sempre di effettuare una scansione degli eseguibili con un software antivirus una volta scaricati.