Conceptos avanzados en un Diagrama de Estados

Subestados

Un estado puede descomponerse en 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. Un ejemplo es el estado marcando de un teléfono puede descomponerse en Inicio y marcado parcial, como lo muestra la siguiente figura.

Ejemplo de subestados

Transició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 threads del control del objeto o una sincronización. Se representa como una línea vertical del cual salen o entran varias líneas de transición de estado. En el ejemplo que sigue se muestra una transición a dos threads concurrentes que luego se sincronizan.

Ejemplo de transición compleja

Transición a estados anidados

Una transición de hacia un estado complejo (descrito mediante estados anidados) significa la entrada al estado inicial del subdiagrama. Las transiciones que salen del estado complejo se entienden como transiciones desde cada uno de los subestados hacia afuera (a cualquier nivel de profundidad).

En la hoja inicial de diagramas de secuencias se encuentran como primer ejemplo los dos casos nombrados: Desde el estado inicial se pasa al estado BuenFuncionamiento (a su estado inicial) y de este estado salen transiciones hacia MalFuncionamiento y hacia el estado final, que deben comprenderse como transiciones de cada uno de los estados internos hacias estos ultimos.
 



Pablo Figueroa
Versión 1.1