Un proceso Cúram debe formar un grafo que tenga las propiedades siguientes: dirigido, conectado y acíclico. Puede que suene complicado, pero solo son términos técnicos que designan propiedades muy sencillas de los grafos.
- Un grafo "dirigido" es uno en el que cada arista solo tiene un sentido (suele conocerse como dígrafo). En términos de flujo de trabajo, esto significa que una transición de la actividad A a la actividad B no puede utilizarse para volver de B a A. Esto es así en un flujo de trabajo Cúram. Se menciona aquí solo porque la propiedad 'acíclico' (véase más abajo) se define de forma distinta para grafos y dígrafos.
- Un grafo "conectado" es aquel en el que pueden alcanzarse todos los nodos. En términos de flujo de trabajo, esto significa que cada actividad del proceso debe ser accesible en al menos una ruta desde la actividad inicial a la actividad final.
Esto impide que los flujos de trabajo tengan una estructura en la que una o más actividades nunca puedan ejecutarse.
- Por último, un dígrafo "acíclico" es aquel en el que no hay ciclos dirigidos. En términos de flujo de trabajo, esto significa que no puede haber ningún bucle ad hoc (es decir, un bucle construido mediante transiciones en lugar de actividades de inicio y fin de actividad).
Puede que los bucles ad hoc parezcan cómodos, pero (al igual que las sentencias GOTO de los lenguajes de programación) pueden hacer que un proceso sea muy difícil de leer y comprender. Las construcciones explícitas de bucle dan lugar a definiciones de proceso más claras y comprensibles.
Además, permite al motor saber dónde pueden tener lugar los bucles, de modo que puede llevar cuenta de cuántas veces ha iterado un bucle en tiempo de ejecución.