Flujo condicional
Un flujo de secuencia con una condición adjunta — el token sólo lo recorre cuando la condición se evalúa como verdadera.
Qué es un flujo condicional
Un flujo condicional es un flujo de secuencia que sólo se activa cuando su condición es verdadera. Visualmente, se marca con un pequeño rombo en el extremo de origen para distinguirlo de un flujo de secuencia incondicional. El token que espera en el nodo origen sólo recorre el flujo si la condición se cumple; de lo contrario, el flujo se ignora y el token espera un flujo cuya condición sí coincida.
Los flujos condicionales y las compuertas exclusivas son dos formas distintas de expresar la misma idea. Una compuerta exclusiva es explícita — un rombo, ramas etiquetadas con condiciones, sin ambigüedad sobre la decisión. Un flujo condicional es inline — adjunta la lógica directamente a la flecha, sin necesidad de compuerta. Las compuertas exclusivas son más legibles cuando la bifurcación es el punto central del diagrama; los flujos condicionales son más ligeros cuando la bifurcación es un efecto secundario de una actividad ya nombrada.
Cuándo recurrir a los flujos condicionales
- Después de una actividad cuyo resultado determina implícitamente el siguiente paso («Revisar solicitud» → flujo aprobado + flujo rechazado, sin compuerta explícita necesaria).
- Cuando la lógica de bifurcación es sencilla y añadir una compuerta parece sobrecarga.
- Cuando una de las ramas es un flujo por defecto (la flecha con la barra oblicua) y las otras son condicionales — esto expresa «sigue este camino salvo que se active una de las condiciones».
Los flujos condicionales en LucidFlow
Por defecto, LucidFlow emite compuertas exclusivas cuando el documento fuente describe bifurcaciones con tres o más resultados. Para casos simples de «aprobar / rechazar» tras una tarea de revisión, el generador usa flujos condicionales con una flecha por defecto — diagramas más limpios, misma semántica de ejecución. Puede convertir entre ambas formas en el lienzo en cualquier momento; la exportación preserva la que haya elegido.
Preguntas frecuentes
¿BPMN 2.0 exige un flujo por defecto cuando uso flujos condicionales?
No estrictamente, pero en la práctica sí. Si todos los flujos salientes tienen condición y ninguna se cumple, el token queda bloqueado. El flujo por defecto (el marcado con la barra oblicua corta en el origen) es la red de seguridad que se activa cuando ninguna condición coincide.
¿Puede salir un flujo condicional de una compuerta?
Sí. Las condiciones en los flujos que salen de una compuerta exclusiva son, técnicamente, flujos condicionales. El marcador de rombo en el origen es opcional cuando el origen ya es una compuerta, porque la bifurcación es obvia.
¿Son ejecutables los flujos condicionales en un motor BPMN?
Sí, siempre que la expresión de condición use un lenguaje que el motor soporte (FEEL, JavaScript, Groovy según el motor). Las condiciones puramente visuales — etiquetas como «si importe > 10 k» — son sólo documentación y deben formalizarse antes de que el diagrama se ejecute.