Diagramas de Tiempos y Visión Global de Interacción
Dentro de la taxonomía de UML 2.5, los diagramas de interacción se componen de cuatro tipos especializados: Secuencia, Comunicación, Diagramas de Tiempos (Timing Diagrams) y Diagramas de Visión Global de Interacción (Interaction Overview Diagrams).
Estos dos últimos modelos fueron introducidos para cubrir escenarios críticos donde el tiempo exacto en milisegundos o la orquestación a alto nivel de múltiples flujos no pueden expresarse con claridad en un diagrama de secuencia convencional.
1. Diagramas de Tiempos (Timing Diagrams) #
El Diagrama de Tiempos se enfoca en el cambio de estado de uno o varios objetos a lo largo de una escala de tiempo lineal. Es el diagrama por excelencia en:
- Sistemas embebidos, IoT y electrónica digital.
- Protocolos de comunicación y buses de datos (I2C, SPI, TCP).
- Sistemas de tiempo real estricto (Hard Real-Time Systems).
Elementos Principales #
| Elemento | Descripción |
|---|---|
| Línea de vida de estado (State Lifeline) | Representa los estados discretos que un objeto adopta en el eje vertical respecto al tiempo en el eje horizontal. |
| Línea de vida de valor (Value Lifeline) | Muestra valores continuos o numéricos de una señal o variable. |
| Escala de tiempo | Eje horizontal graduado en unidades temporales reales (). |
| Restricción de duración (Duration Constraint) | Intervalo de tiempo permitido para permanecer en un estado ({d <= 50ms}). |
| Restricción de tiempo (Time Constraint) | Instante exacto o rango en el que debe ocurrir un evento ({t = 120ms}). |
Ejemplo en PlantUML: Protocolo de Autenticación con Timeout #
1@startuml 2robust "Cliente" as CLI 3robust "Servidor Auth" as SRV 4 5@0 6CLI is Inactivo 7SRV is EnEspera 8 9@10 10CLI is EnviandoCredenciales 11CLI -> SRV : POST /login 12 13@20 14SRV is Validando 15 16@35 17SRV is GenerandoToken 18SRV -> CLI : 200 OK (JWT) 19 20@45 21CLI is SesionActiva 22SRV is EnEspera 23 24@70 25CLI is Inactivo 26@enduml
2. Diagramas de Visión Global de Interacción (Interaction Overview) #
El Diagrama de Visión Global de Interacción combina la notación de control de los diagramas de actividad con marcos de interacción que encapsulan diagramas de secuencia o comunicación.
Permite a los arquitectos observar el "mapa general" de cómo fluye la lógica de un proceso complejo dividiéndolo en fragmentos reutilizables.
Elementos Clave #
- Marco de interacción (
ref): Rectángulo que referencia a un diagrama de secuencia específico (por ejemploref: ValidarTarjeta,ref: ProcesarPago). - Nodos de decisión y combinación (Decision / Merge): Rombos para bifurcar flujos según condiciones de guarda
[pago_aprobado]. - Nodos de bifurcación y unión concurrente (Fork / Join): Barras gruesas para ejecutar interacciones en paralelo (por ejemplo: enviar email de confirmación y actualizar inventario simultáneamente).
Ejemplo Conceptual en PlantUML #
1@startuml 2skinparam activityDiamondBackgroundColor #E0F2FE 3 4start 5:ref AutenticarUsuario (Seq Diagram); 6 7if (¿Usuario válido?) then (sí) 8 :ref CargarCarrito (Seq Diagram); 9 fork 10 :ref ProcesarPagoTarjeta; 11 fork again 12 :ref ReservarStockAlmacen; 13 end fork 14 :ref NotificarConfirmacionPedido; 15 stop 16else (no) 17 :ref MostrarErrorBloqueo; 18 stop 19endif 20@enduml
3. Comparativa de los 4 Diagramas de Interacción UML 2.5 #
| Diagrama | Enfoque Principal | Cuándo Utilizarlo |
|---|---|---|
| Secuencia | Orden cronológico de mensajes entre objetos. | Modelar casos de uso, llamadas a métodos y APIs REST. |
| Comunicación | Estructura de conexiones y topología de enlaces. | Analizar acoplamiento arquitectónico y distribución de nodos. |
| Tiempos (Timing) | Cambios de estado exactos en el eje temporal. | Sistemas embebidos, IoT, protocolos hardware y timeouts críticos. |
| Visión Global (Overview) | Flujo lógico y orquestación de múltiples diagramas. | Procesos de negocio empresariales y flujos multicapa complejos. |