Además de los diagramas de secuencia y comunicación, UML incluye otros diagramas de interacción menos frecuentes: el diagrama de tiempo y el diagrama de vista global de interacción. No suelen ser los primeros diagramas que se usan en un proyecto, pero pueden ser valiosos cuando el problema exige representar tiempo, cambios de estado o coordinación entre varias interacciones.
El diagrama de tiempo se concentra en cómo cambian estados o valores a lo largo de una línea temporal. El diagrama de vista global de interacción combina una visión de flujo con referencias a interacciones más detalladas, como si organizara varias secuencias dentro de un proceso mayor.
Estos diagramas son especializados porque responden preguntas más puntuales que otros diagramas UML. No se usan para mostrar cualquier estructura ni cualquier comportamiento general. Se usan cuando el tiempo, la coordinación de interacciones o la evolución de estados durante un intervalo son aspectos importantes.
En muchos sistemas, un diagrama de secuencia o de actividades será suficiente. Pero cuando se necesita analizar tiempos máximos, sincronización, ventanas temporales, protocolos, ciclos de comunicación o varias interacciones encadenadas, estos diagramas pueden aportar claridad.
El diagrama de tiempo permite observar cambios de estado o valores durante una línea temporal. El diagrama de vista global de interacción permite organizar varias interacciones dentro de un flujo mayor. Ambos pertenecen a la familia de diagramas de interacción, pero se aplican a necesidades más específicas que una secuencia simple.
El diagrama de tiempo muestra cómo cambia el estado o el valor de uno o más participantes a lo largo del tiempo. Se usa cuando importa la duración, el orden temporal exacto o la relación entre cambios de distintos elementos.
Por ejemplo, puede representar cómo cambia el estado de una conexión, un sensor, una sesión, una alarma, una solicitud o un proceso de autorización durante ciertos segundos o minutos.
La línea temporal es el eje principal del diagrama de tiempo. A diferencia del diagrama de secuencia, donde el tiempo avanza de arriba hacia abajo, en el diagrama de tiempo suele avanzar horizontalmente. Los cambios se muestran sobre esa línea.
Este formato facilita analizar duraciones, demoras, sincronización y cambios que deben ocurrir dentro de ciertos límites temporales.
Un diagrama de tiempo puede mostrar estados, como Disponible, Ocupado, En espera o Error. También puede mostrar valores, como temperatura, nivel, señal, conexión activa o cantidad disponible.
La elección depende del problema. Si se analiza el comportamiento de un pedido, pueden mostrarse estados. Si se analiza un sensor, pueden mostrarse valores o rangos.
Una de las principales razones para usar un diagrama de tiempo es expresar restricciones temporales. Por ejemplo, una respuesta debe llegar antes de 5 segundos, una sesión expira después de 15 minutos de inactividad o una alarma debe activarse si un valor supera cierto límite durante más de 10 segundos.
Estas restricciones pueden ser difíciles de explicar con un diagrama de clases o actividades. El diagrama de tiempo las hace visibles.
Una sesión puede comenzar como Activa, pasar a Inactiva después de cierto tiempo sin actividad y expirar si la inactividad supera un límite. Un diagrama de tiempo puede mostrar esos cambios sobre una escala temporal.
Este tipo de vista ayuda a discutir reglas de expiración, tiempos máximos y eventos que reactivan la sesión.
Un sensor puede informar valores continuamente. El sistema puede pasar de Normal a Alerta si el valor supera un umbral durante un intervalo determinado. Si el valor vuelve al rango aceptado, puede regresar a Normal.
El diagrama de tiempo permite representar visualmente la relación entre valores, duración y cambios de estado.
Conviene usar un diagrama de tiempo cuando el comportamiento depende de duraciones, ventanas temporales, sincronización o cambios de estado en una línea de tiempo. Es útil en sistemas de control, comunicaciones, dispositivos, monitoreo, sesiones, alarmas y protocolos.
No conviene usarlo si el tiempo exacto no es relevante. En ese caso, un diagrama de secuencia, actividades o estados puede ser más claro.
El diagrama de vista global de interacción combina elementos de diagramas de actividades con referencias a interacciones. Permite mostrar un flujo general donde cada paso puede ser una interacción más detallada, como un diagrama de secuencia separado.
Se usa cuando un proceso completo está formado por varias interacciones importantes y se necesita mostrar el orden general sin repetir todos los mensajes internos.
Una interacción referenciada representa una interacción definida en otro lugar. Por ejemplo, Validar usuario, Procesar pago, Registrar pedido o Enviar confirmación pueden ser interacciones separadas que se enlazan dentro de una vista global.
Esto permite mantener diagramas más limpios. La vista global muestra el recorrido general, y cada interacción puede tener su propio detalle en un diagrama de secuencia.
Al igual que en un diagrama de actividades, pueden aparecer decisiones que determinan qué interacción ocurre después. Por ejemplo, después de Procesar pago, el flujo puede ir a Confirmar pedido si el pago fue aprobado, o a Informar rechazo si fue rechazado.
Esta combinación permite representar procesos de alto nivel compuestos por interacciones complejas.
Una vista global de interacción para una compra puede incluir las interacciones Seleccionar productos, Validar carrito, Procesar pago, Registrar pedido, Descontar stock y Enviar confirmación. Cada una puede estar detallada en un diagrama de secuencia distinto.
La vista global evita mezclar todos los mensajes de todas las interacciones en un único diagrama gigante.
Para una reserva de turno, la vista global puede incluir Buscar disponibilidad, Seleccionar horario, Registrar reserva y Notificar confirmación. Si no hay disponibilidad, el flujo puede volver a Buscar disponibilidad con otros criterios.
Este diagrama ayuda a entender la coordinación entre interacciones sin detallar cada mensaje interno.
Conviene usar este diagrama cuando un proceso incluye varias interacciones importantes y se necesita una vista de coordinación. Es útil para procesos largos, escenarios complejos o documentación donde se desea navegar desde una visión general hacia detalles separados.
No conviene usarlo para procesos simples. Si todo puede explicarse claramente con un único diagrama de secuencia o actividades, la vista global puede ser innecesaria.
| Diagrama | Foco principal | Uso típico |
|---|---|---|
| Tiempo | Cambios de estado o valores a lo largo del tiempo. | Sesiones, sensores, protocolos, restricciones temporales. |
| Vista global de interacción | Coordinación de varias interacciones. | Procesos largos formados por varias secuencias. |
Los diagramas de tiempo y de vista global de interacción amplían las posibilidades de modelado de interacciones en UML. El primero permite analizar cambios temporales; el segundo permite coordinar varias interacciones dentro de un proceso mayor. Son herramientas útiles cuando el problema realmente necesita ese nivel de representación.
En el próximo tema veremos cómo elegir el diagrama adecuado según el problema que se desea comunicar.