Estructura de grafo

Puesto que el conjunto de actividades y transiciones de un proceso forman un grafo, puede aplicarse la teoría de grafos para detectar diversos problemas bien conocidos antes de que llegue a ejecutarse un proceso.

Teoría de grafos: La teoría de grafos es una rama de las matemáticas. Afortunadamente, las partes de la teoría de grafos que son relevantes para un flujo de trabajo son muy simples. Por lo tanto, este capítulo no requiere ningún conocimiento previo de teoría de grafos (ni mucho menos una licenciatura en matemáticas). En Internet hay abundante información sobre la teoría de grafos en la que puede encontrarse un análisis más detallado de muchos de los asuntos tratados en este capítulo.

Por ejemplo: considere un proceso en el que una actividad tiene una transición a otra actividad, que a su vez tiene una transición que vuelve a la primera actividad. Esto forma un ciclo en el grafo del proceso.

Si no hubiera condiciones en las transiciones, el proceso acabaría con seguridad en un bucle infinito. Dichos bucles se conocen como bucles informales (o bucles 'ad hoc') y su presencia hace que sean imposibles determinadas validaciones estructurales de utilidad. Por esta razón (entre otras), el flujo de trabajo de Cúram proporciona construcciones formales para delimitar las secciones iterativas de un proceso (las actividades de inicio y finalización de bucle). Esto permite detectar la presencia de bucles ad hoc en los procesos e impide que tales procesos se publiquen.

Analogías de código: Muchos desarrolladores estará familiarizados con la sentencia GOTO de un lenguaje de programación y las llaves que se utilizan normalmente para delimitar el inicio ({) y el final (}) de un bucle formal.

GOTO es análogo a los bucles ad hoc en un flujo de trabajo. Las llaves son análogas a las actividades formales de inicio y finalización de bucle (loop-begin-activity y loop-end-activity) en un flujo de trabajo.