Un Evento Temporal detecta el cumplimiento de una condición relacionada con el tiempo, como una hora o fecha determinadas, un plazo o un ciclo.
El Evento Temporal solo es de Captura, puede ser Inicial o Intermedio, pero no Final.
Como todo Evento, un Evento Temporal se dibuja con un círculo con distintos tipos de línea según sea Inicial o Intermedio. Dentro del círculo se dibuja un reloj.
Variantes de Eventos Temporal
La condición temporal capturada por el Evento Temporal pueder ser:
- Fecha u hora específica (time date): cualquier combinación válida de fecha y hora. Por ejemplo, "enero de 2025"; "15/01/2025 a las 14 hrs", etc.
- Plazo o duración (time duration): un lapso de tiempo medido desde un punto determinado, generalmente, el comienzo o el final de una Actividad. Por ejemplo, "5 días hábiles después del primer aviso", "después de 30 días", etc.
- Ciclo temporal (time cycle): Fecha, hora o plazo repetitivo. Por ejemplo, "todos los días a las 18 hrs.", "primer día hábil de cada mes", etc.
Texto.
Ejemplo 1
Texto.
Texto.
Ejemplo 1
Texto.
Ejemplo 2
Texto.
Ejemplo 2
- Texto.
- Texto.
- Texto.
- Texto.
Significado del Evento Temporal
A pesar de su nombre, el Evento Temporal no es un mecanismo para programar alarmas, sino uno que permite detectar la ocurrencia de condiciones temporales. El mecanismo utilizado para llevar el control del tiempo y el cumplimiento de plazos no está definido por BPMN. Se asume que este mecanismo existe, y el Proceso se sirve de él por medio de los Eventos Temporal.
En la Ejecución de Procesos, es decir, si el Proceso va a ser ejecuado por un BPMS, la especificación del Evento (hora/fecha, duración o ciclo) debe cumplir la Norma ISO-8601 para representar fechas e intervalos. El o los mecanismos para describir los Eventos Temporal y para llevar el control del tiempo es propio de cada BPMS.
En el Modelado de Procesos, la forma de expresar la declaración temporal es más libre, no está sujeta a una norma específica. La Buena Práctica es que sea clara para el lector del diagrama. La responsabilidad de detectar que se ha cumplido una condición temporal recae en la persona que realiza el Proceso, puede depender solo de su memoria, utilizar alguna aplicación que le alerte, o cualquier otro medio que le resulte conveniente.
En la Ejecución de Procesos, cada Evento Temporal debe especificar una y sólo una declaración temporal, es decir, una única hora/fecha, duración o ciclo. Por otro lado, en el Modelado de Procesos, la Especificación de BPMN no limita que el Evento solo tenga una declaración temporal, pero no aclara cómo debe interpretarse, ni cómo se relaciona con un Evento Múltiple con varios Eventos Temporales.
Tema 1
Texto.
Texto.
Texto.
Tema 2
Texto.
Texto.
Texto.
Evento Temporal Variantes
Hay cuatro variantes del Evento Temporal. El Evento Temporal solo es de Captura, puede ser Inicial o Intermedio, pero no Final.
Variantes de Eventos Temporal
| Posición del Evento | Modo | Notación | Descripción | |
|---|---|---|---|---|
| Evento Inicial | Proceso Principal | Captura | Comienza una nueva instancia del Proceso cuando se cumple la condición temporal. | |
| Subproceso | Captura | N/A | No puede iniciar un Subproceso en el Flujo (Embebido o Reutilizable)[1]. | |
| Evento Intermedio | en el Flujo | Captura | Espera a que se cumpla la condición temporal. El Flujo continúa cuando se cumple la condición. | |
| Lanzamiento | N/A | El Evento Temporal es solo de captura. | ||
| en el Borde | Captura con Interrupción | Interrumpe la Actividad a la que está adosado cuando se cumple la condición temporal, y comienza un Flujo de Excepción. | ||
| Captura sin Interrupción | No interrumpe la Actividad a la que está adosado cuando se cumple la condición temporal, y comienza un Flujo de Excepción. | |||
| Evento Final | Lanzamiento | N/A | El Evento Temporal es solo de captura. | |
[1] Los Eventos Temporal también se pueden usar para iniciar Subprocesos Evento. Pero como los Subprocesos Evento son poco utilizados, y para simplificar la exposición, en este artículo nos referiremos solo a los Subprocesos en el Flujo (Embebidos y Reutilizables).
Evento Temporal Inicial
|
Un Evento Inicial Temporal en un Proceso Principal comienza una nueva instancia del Proceso cuando se cumple la condición temporal. Se dibuja con un círculo de línea fina que contiene un reloj. |
|
Se usa un Evento Inicial Temporal cuando un Proceso está a la espera de que se cumpla una condición temporal para compenzar, es decir, para crear una nueva instancia del Proceso Principal. Por ejemplo, el Proceso Automatizado de Cierre Mensual comienza a las "21 hrs. de último día hábil de cada mes".
Evento Inicial Temporal en un Proceso Principal (i)
Un Evento Inicial Temporal no puede ser usado para comenzar un Subproceso. (Para una descripción más detallada ver Subproceso Normal.)
Evento Inicial Temporal en un Proceso Principal (ii)
Texto.
Conectores
- Flujo de Secuencia
-
Como todo Evento Inicial, el Evento Inicial Temporal no debe tener Flujos de Secuencia de Entrada, y debe tener uno o más Flujos de Secuencia de Salida.
- Flujo de Mensaje
-
El Evento Inicial Vacío no debe tener Flujos de Mensaje de Entrada o de Salida.
Evento Temporal Intermedio
Un Evento Intermedio Temporal indica que se ha cumplido una condición temporal después de que comienza un Proceso y antes de que termine.
Un Evento Intermedio Temporal puede ser usado en el Flujo o en el Borde de una Actividad.
- Si está en el Flujo, solo captura un Evento Temporal, es decir, detectar que se ha cumplido una condición temporal.
- Si está en el Borde de una Actividad, solo captura un Evento Temporal, y puede interrumpir o no la Actividad.
Eventos Intermedios Temporal
Un Evento Temporal en el Borde de una Actividad es usado para que un Proceso reaccione de manera inmediata cuando se cumple una condición temporal (fecha/hora, duración o ciclo). La reacción consiste en iniciar un Flujo de Excepción.
Un Evento Intermedio en el Borde siempre es de Captura, nunca de Lanzamiento. La Actividad a la que está adherido puede ser interrumpida o continuar su trabajo.
A diferencia de un Evento Intermedio en el Flujo, que siempre debe gatillarse cuando el Flujo llega a él, un Evento Intermedio en el Borde de una Actividad puede gatillarse o no.
Conectores
- Flujo de Secuencia
-
Si el Evento Intermedio Temporal está en el Flujo, entonces debe tener Flujos de Secuencia de Entrada y de Salida.
Si el Evento Intermedio Temporal está en el Borde de una Actividad, entonces no debe tener Flujos de Secuencia de Entrada, pero sí debe tener uno o más Flujos de Secuencia de Salida.
- Flujo de Mensaje
-
El Evento Intermedio Temporal no debe tener Flujos de Mensaje de Entrada o de Salida.
Evento Temporal Intermedio en el Flujo Capturador
|
Un Evento Intermedio Temporal Capturador en el Flujo espera a que se cumpla la condición temporal. El Flujo continúa cuando se cumple la condición. Se representa con un círculo de línea doble con un reloj. |
|
El Evento Intermedio Temporal en el Flujo permite pausar el Proceso a la espera de que se cumpla la fecha/hora o duración especificada.
Después de ejecutada la Actividad A el Proceso entra en pausa a la espera de que se cumpla la condición temporal, cuando esto ocurre el control pasa a la Actividad B.
Evento Intermedio Temporal Capturador en el Flujo
Una instancia del Proceso puede tener varios subflujos activos. La espera de un Temporal sólo impone una pausa en el subflujo que contiene el Evento Capturador, los demás continúan con su propia lógica de ejecución. En el ejemplo siguiente, hay tres caminos paralelos B, C1→C2 y D1→D2; el Evento Temporal produce una pausa entre D1 y D2, pero el resto del Proceso sigue su trabajo normal.
Evento Intermedio Temporal Capturador en Proceso con varios Flujos
Un Evento Intermedio Temporal Capturador también puede estar en el Flujo de un Subproceso Embebido, en cualquier nivel de anidamiento.
Evento Intermedio Temporal Capturador en el Flujo de Subproceso
Evento Temporal Intermedio Borde Interruptor
|
Un Evento Intermedio Temporal Interruptor en el Borde se gatilla cuando se cumple una condición temporal (fecha/hora o duración), interrumpe la Actividad a la que está adosado y comienza un Flujo de Excepción. El Flujo de Excepción lleva a una o más Actividades que manejan la excepción, y luego continúa hacia un final propio o se une a un Flujo Normal. Se representa con un círculo de línea doble con un reloj. |
|
Si se cumple la condición temporal mientras se ejecuta la Actividad B, la Actividad es interrumpida y se continúa por el Flujo de Excepción. En caso contrario, la Actividad B termina normalmente y se pasa a la Actividad C, es decir, continúa el Flujo Normal.
Evento Intermedio Temporal Interruptor en el Borde - dos caminos
En lugar de seguir un camino propio, el Flujo de Excepción se puede reincorporar al Flujo Normal después de procesar la Excepción.
Evento Intermedio Temporal Interruptor en el Borde - un camino
Puesto que este Evento interrumpe la Actividad a la que está adosado, el Evento solo se gatillará una vez, por lo tanto no tiene sentido que la condición sea un ciclo temporal.
Evento Temporal Intermedio Borde No Interruptor
|
Un Evento Intermedio Temporal no Interruptor en el Borde se gatilla cuando se cumple una condición temporal (fecha/hora, duración o ciclo) y comienza un Flujo de Excepción, pero sin interrumpir la Actividad a la que está adosado. El Flujo de Excepción lleva a una o más Actividades que manejan la excepción, y luego continúa hacia un final propio o se une a un Flujo Normal. Se representa con un círculo de línea doble segmentada con un reloj. |
|
Si se cumple la condición temporal mientras se ejecuta la Actividad B, se inicia un Flujo de Excepción y la Actividad continúa su trabajo. El Flujo de Excepción puede activarse varias veces, incluso de manera concurrente. Cuando la Actividad B termina se pasa a la Actividad C y continúa el Flujo Normal.
Evento Intermedio Temporal no Interruptor en el Borde - dos caminos
En lugar de seguir un camino propio, el Flujo de Excepción se puede reincorporar al Flujo Normal después de procesar la Excepción. Sin embargo, cuando el Evento es No Interruptor, las Actividades remanentes del Flujo Normal se ejecutan varias veces: cuando termina la Actividad B y cada vez que se gatilla el Evento no Interruptor en el Borde. A pesar de que no es un error, este modelo no es recomendable, pues la ejecución reiterada de una Actividad fuera de una Iteración explícita puede confundir al lector del diagrama.
Evento Intermedio Temporal en el Borde No Interruptor - un camino
Puesto que este Evento no interrumpe la Actividad a la que está adosado, el Evento se puede gatillar varias veces, por lo tanto tiene sentido que la condición sea un ciclo temporal..
Especificación BPMN
Attribute timeDate. If the trigger is a Temporal, then a timeDate MAY be entered. Temporal attributes are mutually exclusive and if any of the other Temporal attributes is set, timeDate MUST NOT be set (if the isExecutable attribute of the Process is set to true). The return type of the attribute timeDate MUST conform to the ISO-8601 format for date and time representations.
Attribute timeCycle. If the trigger is a Temporal, then a timeCycle MAY be entered. Temporal attributes are mutually exclusive and if any of the other Temporal attributes is set, timeCycle MUST NOT be set (if the isExecutable attribute of the Process is set to true). The return type of the attribute timeCycle MUST conform to the ISO-8601 format for recurring time interval representations.
Attribute timeDuration. If the trigger is a Temporal, then a timeDuration MAY be entered. Temporal attributes are mutually exclusive and if any of the other Temporal attributes is set, timeDuration MUST NOT be set (if the isExecutable attribute of the Process is set to true). The return type of the attribute timeDuration MUST conform to the ISO-8601 format for time interval representations.
A specific time-date or a specific cycle (e.g., every Monday at 9am) can be set that will trigger the start of the Process. The Event is displayed with a clock marker.
In normal flow the Temporal Intermediate Event acts as a delay mechanism based on a specific time-date or a specific cycle (e.g., every Monday at 9am) can be set that will trigger the Event. This Event MUST be displayed with a clock marker.
A specific time-date or a specific cycle (e.g., every Monday at 9am) can be set that will trigger the Event. If a Temporal Event is attached to the boundary of an Activity, it will change the normal flow into an exception flow upon being triggered.