Máquina de estados

Estados y las transiciones etiquetadas entre ellos, del inicio al fin.

1 ejemplo de máquina de estados

Estados de aprobación de contenido

El ciclo de vida de un documento desde el borrador, pasando por la revisión, hasta publicado o rechazado.

Cada transición lleva el evento que la dispara, porque para eso sirve una máquina de estados. El camino de rechazo va en el acento para que el lector vea dónde rebota el trabajo.

Abrir en el editor

¿Qué es una máquina de estados?

Un diagrama de máquina de estados muestra los estados posibles de un objeto y los eventos que lo hacen pasar de uno a otro. Su forma moderna viene de los statecharts de David Harel (1987), que UML adoptó como diagrama de estados.

Un círculo negro marca el inicio y un círculo con borde, el final. Cada caja redondeada es un estado y cada flecha, una transición etiquetada con el evento que la dispara y, opcionalmente, una condición entre corchetes.

Cuándo usar una máquina de estados

  • Para definir el ciclo de vida de un contenido, de borrador a revisión, aprobado y publicado, con sus rechazos.
  • Para especificar los estados de un pedido o una suscripción antes de programarlos y evitar transiciones imposibles.
  • Si lo importante es el orden de los mensajes entre sistemas y no el estado de un objeto, usa un diagrama de secuencia.

Cómo hacer una buena máquina de estados

  1. Nombra los estados con adjetivos o participios («Aprobado», «En revisión») y las transiciones con eventos («aprobar», «rechazar»).
  2. Comprueba que todo estado tiene salida, salvo los finales, y que se puede llegar a todos desde el inicio.
  3. Añade condiciones de guarda cuando un mismo evento puede llevar a estados distintos.
  4. Describe los estados y eventos al copiloto de IA de MakeCharts y revisa que no falte ninguna transición de error.