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.
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.
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