Máquinas de Estados UML 2.5.1

Guía interactiva de la asignatura Modelamiento de Sistemas de Información. Explora conceptos, notación, transiciones, comportamientos y un caso de videovigilancia con IA; simula el ciclo de vida de una alerta y evalúa tu aprendizaje.

OMG UML 2.5.1 Ciclos de vida de objetos Caso: alerta de intrusión Simulador interactivo

1. ¿Qué representa una máquina de estados?

Una máquina de estados describe el comportamiento de una entidad mediante estados y transiciones activadas por eventos. Su objetivo es representar cómo cambia una condición observable a lo largo del tiempo y bajo qué reglas.

En UML 2.5.1, StateMachine es un comportamiento especializado. Puede utilizarse para representar el comportamiento interno de una entidad o para especificar un protocolo de uso mediante secuencias permitidas de invocaciones y condiciones.

En el caso de videovigilancia, una alerta puede pasar por los estados Detectada, EnVerificación, Confirmada o Descartada y, si el incidente se atiende, llegar a Atendida.

Behavior State Machine

Modela el comportamiento interno sujeto a eventos y transiciones. Describe cómo la entidad reacciona y cambia de condición.

Protocol State Machine

Define secuencias permitidas de invocaciones y condiciones de uso; no describe acciones internas.

Vista general del ciclo de vida de una alerta de intrusión: Detectada, EnVerificación, Confirmada, Descartada y Atendida.
Figura 1. Vista general del ciclo de vida de una alerta de intrusión.

Estado y actividad: dos preguntas diferentes

La diferencia conceptual evita uno de los errores más frecuentes al modelar.

Diagrama de actividades

Pregunta: ¿qué tarea se ejecuta?

Ejemplo: Verificar alerta. Acción que ocurre, suele nombrarse con un verbo.

Máquina de estados

Pregunta: ¿en qué condición está?

Ejemplo: EnVerificación. Situación que permanece, suele expresarse como condición, adjetivo o situación.

Regla práctica: “Verificar alerta” es una actividad; “EnVerificación” es un estado.
Diferencia entre una actividad y un estado.
Figura 2. Diferencia entre una actividad y un estado.

2. Elementos de la notación UML 2.5.1

Símbolos básicos para leer y construir una máquina de estados.

ElementoDescripción
Estado simpleSituación estable de una entidad. Se representa mediante un rectángulo con esquinas redondeadas y puede contener comportamientos entry, do y exit.
Estado compuestoEstado que incluye una o varias regiones con subestados. Una región puede expresar jerarquía; varias regiones ortogonales representan concurrencia.
Seudoestado inicialPunto de entrada predeterminado a una región. Se representa mediante un círculo sólido.
Estado finalMarca la terminación de la región que lo contiene. Se representa con un círculo interior sólido y un contorno circular exterior.
Choice / JunctionChoice permite seleccionar dinámicamente una alternativa mediante guardas; Junction conecta segmentos de transiciones.
Fork / JoinLas barras gruesas permiten dividir o sincronizar recorridos concurrentes.
TransiciónConexión dirigida entre vértices. Puede incluir disparador, guarda y efecto.
Nota clave: el círculo negro es un seudoestado inicial; no es un “estado del negocio”. El primer estado nombrado puede ser Detectada, pero formalmente se distingue del punto inicial.
Elementos fundamentales de una máquina de estados UML.
Figura 3. Elementos fundamentales de una máquina de estados UML.

3. Disparadores, guardas, efectos y tipos de transición

La etiqueta típica de una transición se expresa como: trigger [guard] / effect

Run-to-Completion (RTC): la máquina procesa un evento despachado hasta completar el paso de ejecución asociado antes de despachar el siguiente. Una doActivity puede continuar durante la permanencia en el estado y finalizar o interrumpirse al salir de él.
Lectura de la expresión trigger [guard] / effect.
Figura 4. Lectura de la expresión trigger [guard] / effect.

Lector de transiciones

Escribe una etiqueta con el formato trigger [guard] / effect y observa su descomposición. Los corchetes y la barra son opcionales.

Ejemplo: evaluacionCompletada [confianza ≥ 0.85]

4. Comportamientos del estado: entry, doActivity y exit

Tres momentos distintos dentro del ciclo de permanencia de un estado.

ElementoMomentoEjemplo en videovigilancia
entrySe ejecuta al entrar al estado.notificarVigilante()
do / doActivitySe ejecuta durante la permanencia en el estado.transmitirVideo()
exitSe ejecuta al abandonar el estado.detenerTransmision()

entry y exit se vinculan directamente con la entrada y salida del estado. La doActivity representa una actividad que se desarrolla mientras la entidad permanece en ese estado. La doActivity puede solaparse con la espera de eventos y ser interrumpida por una transición saliente.

Comportamientos asociados al estado EnVerificación: entry, do y exit.
Figura 5. Comportamientos asociados al estado EnVerificación.

5. Caso integrado: ciclo de vida de una alerta de intrusión

En el sistema de videovigilancia, una cámara inteligente detecta un posible evento y crea una alerta. El ciclo de vida representa la evaluación de confianza, la revisión y los posibles desenlaces.

EstadoSignificado / actividadesSalida esperada
DetectadaAlerta registrada; entry: registrarTimestamp().evaluacionCompletada [confianza ≥ 0.85] → EnVerificación; si es menor → Descartada.
EnVerificaciónEn revisión; entry: notificarVigilante(); do: transmitirVideo(); exit: detenerTransmision().verificacionFinalizada [esReal] → Confirmada; [no esReal] → Descartada.
ConfirmadaIncidente corroborado; entry: activarProtocoloSeguridad().incidenteResuelto / generarReporte() → Atendida.
AtendidaLa intervención se registró y se cerró.Transición de completitud hacia el estado final.
DescartadaEl sistema conservó la decisión de falso positivo o baja confianza.Transición de completitud hacia el estado final.

Reglas del caso

RB-01: un resultado de confianza inferior a 0,85 se descarta.
RB-02: solo una revisión positiva lleva a Confirmada.
RB-03: únicamente una alerta Confirmada puede pasar a Atendida.
RB-04: toda alerta termina en Atendida o Descartada.
Máquina de estados de la entidad Alerta con rutas de confirmación y descarte.
Figura 6. Máquina de estados de la entidad Alerta con rutas de confirmación y descarte.

Simulador del ciclo de vida

Simula eventos sobre una alerta. Observa el estado actual, los comportamientos ejecutados y el registro de transiciones.

Estado actual: (sin iniciar)

Registro de ejecución

Estado compuesto EnVerificación

Subestado actual: —

doActivity: —

6. Estado compuesto

Un estado compuesto puede contener una o varias regiones con subestados. EnVerificación puede descomponerse en una región con PendienteRevision y EnRevision, conectados por el evento revisorAsignado.

1 región: jerarquía interna

PendienteRevision → revisorAsignado → EnRevision

Una sola región demuestra jerarquía. No implica concurrencia.

2+ regiones ortogonales: concurrencia

Región A: Revisión
Región B: Evidencias

Cada región necesita su propia lógica de entrada, progreso y salida.

Estado compuesto EnVerificación con una región y dos subestados.
Figura 7. Estado compuesto EnVerificación con una región y dos subestados.

Figuras de la guía

Diagramas incluidos en la guía de estudio.

Autoevaluación

Responde las preguntas y verifica tu comprensión. No se envían datos a ningún servidor.

Puntaje: 0 / 0

Referencia

Object Management Group. (2017). OMG Unified Modeling Language (OMG UML), Version 2.5.1 (formal/2017-12-05).

Asignatura: Modelamiento de Sistemas de Información. Caso de referencia: sistema de visión por computadora para videovigilancia e IA.