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 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:''' |