Saltar la navegación

4.1.- Estados y eventos.

Caso práctico

Mujer de mediana edad vista de frente, se ve de cintura para arriba, sonriente, es morena con flequillo y lleva el pelo recogido.

Ada indica a su equipo que para entender bien la dinámica de un diagrama de estados deben comenzar por analizar sus componentes fundamentales: estados y eventos.

Un estado es una situación en la vida de un objeto en la que satisface cierta condición, realiza alguna actividad o espera algún evento.

Existen tres tipos de estado en los que se puede encontrar un objeto:

  • Estado inicial. Punto de partida por defecto del diagrama de estados. Corresponde a los valores de los atributos de una clase en el momento de instanciar un nuevo objeto.
  • Estado final. Estado en el que se encuentra el objeto una vez finalizada la secuencia de eventos que pueden proporcionar transiciones entre estados.
  • Estado intermedio. Cualquiera de los estados intermedios entre los dos anteriores.

De izquierda a derecha se ve un círculo negro que marca el estado de acción inicial, un círculo negro rodeado de una circunferencia negra que marca el estado de acción final y un rectángulo con las esquinas redondeadas que marca el estado intermedio.

Los estados se representan mediante una caja y admite algunas variantes. La información que se muestra en los estados suele ser:
  • Nombre del estado. Por ejemplo Abierta.
  • Nombre del estado y acción/actividad asociada  al objeto mientras se encuentra en ese estado. En un semáforo en estado de precaución, se produce la actividad de parpadeo de la luz.
  • Estado con subestados. En el ejemplo se indica que el estado vigilando tiene asociado una serie de subestados, si se trata de un vigilante de seguridad, el estado "vigilando" podría tener relacionados los subestados de ruta a pie y o de visionado de cámaras.
De izquierda a derecha se ven 3 rectángulos con las esquinas redondeadas. En el primero pone Abierta (estado), el segundo se divide en dos y en la parte de arriba pone Precaución (estado)  y en la parte de abajo Parpadear luz (acción) y en el tercero pone Vigilando (estado) con un par de rectángulos pequeños unidos con una línea en la esquina inferior izquierda (subestados).

Un evento es un acontecimiento que dispara una transición entre dos estados del objeto. Existen eventos externos y eventos internos según el agente que los produzca.

Tipos de eventos:
  •  Señales (excepciones): la recepción de una señal, producida por una situación excepcional en el sistema. Puede ser origen de una transición entre estados.
  • Llamadas: la recepción de una petición para invocar una operación. Normalmente un evento de llamada es manejado por un método del objeto.
  • Paso de tiempo: el evento se genera como consecuencia del cumplimiento de un temporizador.
  • Cambio de estado: evento generado por un cambio en el estado o el cumplimiento de una condición.