ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Maquinas De Estados Finitos

edward_vera6 de Marzo de 2014

2.980 Palabras (12 Páginas)393 Visitas

Página 1 de 12

Máquinas de Estado Finito Ingeniería de Software I

- 1 -

Máquinas de Estado Finito

INTRODUCCIÓN ................................................................................................................ 2

SINTAXIS.............................................................................................................................. 2

SEMÁNTICA........................................................................................................................ 3

EJEMPLO .............................................................................................................................. 3

TRAZAS ................................................................................................................................ 4

EJEMPLO .............................................................................................................................. 4

DEADLOCK ......................................................................................................................... 5

EJEMPLO .............................................................................................................................. 5

SEMÁNTICA DEL DEADLOCK ................................................................................................ 5

COMPOSICIÓN DE FSM................................................................................................... 6

SINTAXIS DE LA COMPOSICIÓN ............................................................................................. 7

Ejemplo ........................................................................................................................... 7

Sobre la composición...................................................................................................... 8

EJEMPLO .............................................................................................................................. 9

EXTENSIONES.................................................................................................................. 10

CONDICIONES .................................................................................................................... 10

ACCIONES .......................................................................................................................... 10

VARIABLES ........................................................................................................................ 10

Ejemplo ......................................................................................................................... 11

CONDICIONES DE SALIDA DE UN ESTADO ........................................................................... 11

Ejemplo ......................................................................................................................... 12

FSMS TEMPORIZADAS....................................................................................................... 12

Ejemplo ......................................................................................................................... 13

NO DETERMINISMO....................................................................................................... 13

EJEMPLO ............................................................................................................................ 13

MODELO CONCEPTUAL ............................................................................................... 17

EJEMPLO ............................................................................................................................ 17

ACLARACIONES ................................................................................................................. 20

Máquinas de Estado Finito Ingeniería de Software I

- 2 -

Introducción

Las máquinas de estado finito son una herramienta muy útil para especificar aspectos relacionados con tiempo real, dominios reactivos o autónomos, computación reactiva, protocolos, circuitos, arquitecturas de software, etc.

El modelo de FSM (Finite State Machine) es un modelo que posee sintaxis y semántica formales y que sirve para representar aspectos dinámicos que no se expresan en otros diagramas.

Sintaxis

Las máquinas de estado finito se definen como una tupla S , Σ, A ⊆ S Σ S , sk , donde:

• S  s1 , s2 ,..., sm : es un conjunto finito de nodos.

• Σ : es un alfabeto finito de etiquetas.

• A: es un conjunto finito de aristas etiquetadas que unen nodos.

• sk ∈ S : es el estado inicial.

Ejemplo

a

2

1

b b

3

a

• 〈 S  1,2,3 ,

• Σ  a , b ,

• A  1, a ,2  ,  2, b,3  ,  3, a ,1 , 1, b,3 ,

• sk 1 〉

Vale la pena destacar que formalmente la máquina de estado es la tupla anterior y no el “dibujo”. Este es tan sólo una representación gráfica de la máquina de estado para tener una más sencilla y rápida visualización de su contenido.

Máquinas de Estado Finito Ingeniería de Software I

- 3 -

Semántica

Los nodos representan los posibles estados de aquello que se desea modelar. Las etiquetas representan eventos que provocan un cambio. Las aristas determinan de qué manera cada estado, dado un evento, deriva en otro estado.

Ejemplo

Supongamos que se quiere modelar el comportamiento de una puerta. La puerta, inicialmente cerrada, puede pasar a estar abierta tras el evento “abrir puerta”. Una vez abierta, puede pasar al estado cerrada, tras el evento “cerrar puerta”.

abrir puerta

cerrada abierta

cerrar puerta

Máquinas de Estado Finito Ingeniería de Software I

- 4 -

Trazas

El conjunto de posibles trazas correspondientes a una máquina de estado finitos, se puede definir en término de grafos, cómo el conjunto de todos los caminos (de ejes) alcanzables desde el estado inicial.

Ejemplo

Dada la FSM de ejemplo:

a

2

1

b b

3

a

Las trazas de esta FSM son:

• {a, b, a} correspondiente a 1, 2, 3, 1

• {b, a} correspondiente a 1, 3, 1

• {a, b, a, b, a} correspondiente a 1, 2, 3, 1, 3, 1

• {b, a, a, b, a} correspondiente a 1, 3, 1, 2, 3, 1

• {b, a, b, a, ... , b, a} 1, 3, 1, 3, …, 1, 3

• Etc…

Máquinas de Estado Finito Ingeniería de Software I

- 5 -

Deadlock

Formalmente hablando, una FSM S , Σ, A ⊆ S  S , sk , tiene deadlock, si existe algún

nodo s ∈ S , tal que no existen un evento e y un nodot ∈ S tal que s , e, t  ∈ A. En otras

palabras, si existe algún nodo que no posea “salida” para ningún evento.

Ejemplo

El estado 2 no posee salida alguna.

a

2

1

b

3

a

Semántica del deadlock

La existencia de deadlock no necesariamente habla de un mal modelado. Más adelante veremos que puede ser un efecto no deseado de la composición de FSMs.

Un ejemplo en donde el deadlock no necesariamente “está mal”, podría ser el siguiente: Queremos modelar un partido de fútbol. Un partido de fútbol, en particular, se organiza, se juega y finaliza. Y una vez finalizado, ese partido no se juega ni organiza nunca más. Entonces podríamos modelarlo de la siguiente manera:

árbitro pita comienzo del partido árbitro pita fin del partido

Esperando Partido en Partido

curso finalizado

inicio

Máquinas de Estado Finito Ingeniería de Software I

- 6 -

Composición de FSM

Supongamos que se quiere modelar el siguiente comportamiento de un horno microondas: El horno microondas posee una puerta. Si la puerta está cerrada, entonces puede estar o no en funcionamiento (según se prenda o apague). Estando prendido no es posible abrir la puerta del horno sin antes apagarlo.

También asumamos lo siguiente: en cualquier momento es posible establecer el modo de cocción.

modo de cocción

modo de

cerrar puerta

cocción

Puerta abierta y encendido deshabilitado

Puerta cerrada y horno apagado

prender horno apagar horno

abrir puerta

Puerta cerrada y horno prendido

modo de cocción

No es obligatorio etiquetar los nodos,

...

Descargar como (para miembros actualizados) txt (25 Kb)
Leer 11 páginas más »
Disponible sólo en Clubensayos.com