Diagrama de Estado
Un
diagrama de estados muestra el flujo de control entre estados (en qué estados
posibles puede estar “cierto algo” y como se producen los cambios entre dichos
estados.
Componentes
Estado
Un
estado es una condición o situación en la vida de un objeto durante la cual
satisface una condición, realiza alguna actividad o espera algún evento.
Evento
Un
evento es la especificación de un acontecimiento significativo que ocupa un
lugar en el tiempo y en el espacio. Es la aparición de un estímulo que puede (o
no) activar una transición de estado.
Envío
de mensajes
Aparte
de mostrar la transición de estados por medio de eventos, puede representarse
el momento en el cual se envían mensajes a otros objetos. Esto se ejecuta a
través de una línea punteada dirigida al diagrama de estados del objeto receptor
del mensaje.
Transición
simple
Una
transición simple es un vínculo entre dos estados que señala que un objeto en
el primer estado puede entrar al segundo estado y ejecutar ciertas operaciones,
cuando un evento ocurre y si ciertas condiciones son satisfechas.
Transición
interna
Es
una transición que sigue en el mismo estado, en vez de implicar dos estados
distintos. Representa un evento que no causa cambio de estado. Se denota como
una cadena adicional en el compartimiento de acciones del estado.
Acciones:
Podemos
especificar la solicitud de un servicio a otro objeto como consecuencia de la
transición. Se puede especificar al realizar una acción como consecuencia de
entrar, salir, estar en un estado, o por la ocurrencia de un evento.
Generalización
de Estados:
- Podemos reducir la complejidad de estos diagramas usando la generalización de estados.
- Distinguimos así entre superestado y subestados.
- Un estado puede obtener varios subestados disjuntos.
- Los subestados heredan las variables de estado y las transiciones externas.
- La agregación de estados es la composición de un estado a partir de varios estados independientes.
La
composición es concurrente por lo que el objeto estará en alguno de los estados
de cada uno de los subestados concurrentes. La destrucción de un objeto es
efectiva cuando el flujo del control del autómata alcanza un estado final no
anidado. La llegada a un estado final guardado implica la subida al superestado
asociado, no el fin del objeto.
Subestados
Un
estado puede separarse en varios subestados, con transiciones entre ellos y
conexiones al nivel superior. Las conexiones se ven al nivel inferior como
estados de inicio o fin, los cuales se suponen conectados a las entradas y
salidas del nivel inmediatamente superior.
Transacción
Compleja
Una
transición compleja relaciona tres o más estados en una transición de múltiples
fuentes y/o múltiples destinos. Representa la subdivisión en discuciones del
control del objeto o una sincronización. Se representa como una línea vertical
de la cual salen o entran varias líneas de transición de estado.
Transición
a estados anidados
Una
transición de hacia un estado complejo (descrito mediante estados guardados)
significa la entrada al estado inicial del subdiagrama. Las transiciones que
salen del estado complejo se definen como transiciones desde cada uno de los
subestados hacia afuera (a cualquier nivel de profundidad).
Transiciones
temporizadas
- Las esperas son actividades que tienen asociada cierta duración.
- La actividad de espera se interrumpe cuando el evento esperado tiene lugar.
- Este evento desencadena una transición que permite salir del estado que alberga la actividad de espera.
- El flujo de control se transmite entonces

Referencia:
