Edición de «Práctica de FSM (Ingeniería I)»
De Cuba-Wiki
Puedes deshacer la edición. Antes de deshacer la edición, comprueba la siguiente comparación para verificar que realmente es lo que quieres hacer, y entonces publica los cambios para así efectuar la reversión.
Revisión actual | Tu texto | ||
Línea 93: | Línea 93: | ||
'''FSM Semaforo:''' | '''FSM Semaforo:''' | ||
<graphviz> | |||
digraph G { | |||
// Config | |||
size="8,6" | |||
node [style=rounded, fontname=Arial, fontsize=10]; | |||
edge [fontname=Arial, fontsize=11]; | |||
// Estados | |||
Verde [label="Verde\n[tVerde < 30'']"]; | |||
AmarillaR [label="AmarillaRoja\n[tAmarillo < 5'']"]; | |||
AmarillaV [label="AmarillaVerde\n[tAmarillo < 5'']"]; | |||
RojaOprimido [label="RojaOprimido\n[tRojo < 10'']"]; | |||
Roja [label="Roja\n[tRojo < 30'']"]; | |||
// Oprimir | |||
Verde->Verde [label="Oprimir?"]; | |||
AmarillaR->AmarillaR [label="Oprimir?"]; | |||
AmarillaV->AmarillaV [label="Oprimir?"]; | |||
RojaOprimido->RojaOprimido [label="Oprimir?"] | |||
Roja->Roja [label="Oprimir?\n[tRoja > 20'']"] | |||
Roja->RojaOprimido [label="Oprimir?\n[tRoja > 20'']\n{tRoja}"] | |||
// Pasa tiempo | |||
AmarillaR->Roja [label="PasaARoja\n[tAmarillo = 5'']\n{tRoja}"]; | |||
Roja->AmarillaV [label="PasaDeRoja\n[tRoja = 30'']\n{tAmarilla}"]; | |||
RojaOprimido->AmarillaV [label="PasaDeRojaOprimido\n[tRoja = 10'']\n{tAmarilla}"]; | |||
AmarillaV->Verde [label="PasaAVerde\n[tAmarillo = 5'']\n{tVerde}"]; | |||
Verde->AmarillaR [label="PasaDeVerde\n[tVerde = 30'']\n{tAmarilla}"]; | |||
} | |||
</graphviz> | |||
'''FSM Interruptor:''' | '''FSM Interruptor:''' | ||
<graphviz> | |||
digraph G { | |||
// Config | |||
size="10" | |||
node [style=rounded, fontname=Arial, fontsize=10]; | |||
edge [fontname=Arial, fontsize=11]; | |||
// Grafo | |||
Boton; | |||
Boton->Boton [label="Oprimir!"]; | |||
} | |||
</graphviz> | |||
'''Variables:''' | '''Variables:''' | ||
Línea 156: | Línea 156: | ||
'''FSM Teléfono Celular''' | '''FSM Teléfono Celular''' | ||
<graphviz> | |||
digraph G { | |||
// Config | |||
size="8,6" | |||
node [style=rounded, fontname=Arial, fontsize=8]; | |||
edge [fontname=Arial, fontsize=9]; | |||
// Estados | |||
ApagadoCerrado [label="Apagado y\nCerrado"]; | |||
ApagadoAbierto [label="Apagado y\nAbierto"]; | |||
PrendidoAbierto [label="Prendido y\nAbierto"]; | |||
PrendidoCerrado [label="Prendido y\nCerrado"]; | |||
Hablando [label="Hablando"]; | |||
// Cambios de estado | |||
ApagadoCerrado->ApagadoAbierto [label="Abrir"]; | |||
ApagadoAbierto->ApagadoCerrado [label="Cerrar"]; | |||
ApagadoAbierto->PrendidoAbierto [label="On\n{i=0, n=0}"]; | |||
PrendidoAbierto->ApagadoAbierto [label="On"]; | |||
PrendidoAbierto->PrendidoCerrado [label="Cerrar"]; | |||
PrendidoAbierto->Hablando [label="Send"]; | |||
PrendidoCerrado->PrendidoAbierto [label="Abrir"]; | |||
Hablando->PrendidoAbierto [label="End"]; | |||
Hablando->PrendidoCerrado [label="Cerrar"]; | |||
Hablando->ApagadoAbierto [label="On"]; | |||
// Invalidos de Apagado y Abierto | |||
ApagadoAbierto->ApagadoAbierto [label="Clr"]; | |||
ApagadoAbierto->ApagadoAbierto [label="0"]; | |||
ApagadoAbierto->ApagadoAbierto [label="..."]; | |||
ApagadoAbierto->ApagadoAbierto [label="9"]; | |||
ApagadoAbierto->ApagadoAbierto [label="End"]; | |||
ApagadoAbierto->ApagadoAbierto [label="Send"]; | |||
// Invalidos de Hablando | |||
Hablando->Hablando [label="Clr"]; | |||
Hablando->Hablando [label="0"]; | |||
Hablando->Hablando [label="..."]; | |||
Hablando->Hablando [label="9"]; | |||
Hablando->Hablando [label="Send"]; | |||
// Invalidos de Prendido y Abierto | |||
PrendidoAbierto->PrendidoAbierto [label="0\n[i>8]"]; | |||
PrendidoAbierto->PrendidoAbierto [label="..."]; | |||
PrendidoAbierto->PrendidoAbierto [label="9\n[i>8]"]; | |||
// Validos de Prendido y Abierto | |||
PrendidoAbierto->PrendidoAbierto [label="0\n[i<=8]\n{n[i]=0, i++}"]; | |||
PrendidoAbierto->PrendidoAbierto [label="..."]; | |||
PrendidoAbierto->PrendidoAbierto [label="0\n[i<=8]\n{n[i]=9, i++}"]; | |||
PrendidoAbierto->PrendidoAbierto [label="Clr\n{i=1, n[]=0}"]; | |||
} | |||
</graphviz> | |||
'''Variables:''' | '''Variables:''' |