Está en la página 1de 41

BizAgi ®: PATRONES DE

MODELAMIENTO
Will Van der Aalst
http://is.tm.tue.nl/research/patterns/patterns.htm

Vision Software
PATRONES DE MODELAMIENTO

• Patrones Básicos de Control de Flujo


• Patrones de Sincronización y
enrutamiento Avanzado
• Patrones Estructurales
• Patrones que involucran Multi
Instanciación
• Patrones que se basan en el estado del
sistema
• Patrones de Cancelación
Patrones Básicos de Control de Flujo

A B C

Secuencia (Actividades en Serie)


Es el patrón Básico de todo WorkFlow.
Se requiere cuando hay una dependencia de dos tareas, de tal forma
que una tarea no pueda iniciarse antes de que la otra se haya
terminado
Patrones Básicos de Control de Flujo

Distribución en Paralelo
Es necesaria cuando dos o más actividades
deben ejecutarse de forma concurrente o en
paralelo.

Este patrón se encuentra en el WorkFlow en


un nodo del camino donde sale más de una
transición permitida, así las actividades
siguientes pueden ser ejecutadas
simultáneamente o en cualquier orden.
Ejemplo Distribución en Paralelo
Patrones Básicos de Control de Flujo

Sincronización (And Join)


Se requiere Sincronización cuando una
actividad no puede realizarse hasta que un
conjunto de actividades que se realizan en
Paralelo se hayan finalizado.

Se puede identificar este patrón en un


punto en el proceso del workflow donde
múltiples actividades en paralelo
convergen en un solo hilo de control.
Sincronización (Compuerta paralela)
Patrones Básicos de Control de Flujo

Selección Exclusiva
(Compuerta Exclusiva)
Ocurre cuando en un punto del workflow basado en
los datos del proceso se escoge un camino de varios
disponibles.
Ejemplo – Selección Exclusiva
Patrones Básicos de Control de Flujo

Mezcla Simple
(Compuerta Exclusiva)
La mezcla simple se usa cuando se necesita reunir o confluir
rutas alternativas de ejecución en una sola.
Este patrón se puede
observar cuando dos o
más ramas alternativas
del proceso se unen en
una sola sin
sincronización.
Es decir la actividad X se
activa una vez
completada C o B.
Mezcla Simple – Compuerta Exclusiva
Patrones Sincronización y Enrutamiento Avanzado

Selección Múltiple
Ocurre cuando en un punto del workflow basado en los datos del
proceso se escoge uno o más caminos de varios disponibles.
Ejemplo Selección Multiple
Patrones Sincronización y Enrutamiento Avanzado

Mezcla Sincronizada
Es un punto en el proceso, donde múltiples ramas convergen en
un solo camino.
Si se toma más de una ruta se deben sincronizar las ramas
entrantes, si solo una ruta fue tomada, las ramas convergentes
deben juntarse sin sincronización.
Mezcla Sincronizada – Compuerta Inclusiva
Patrones Sincronización y Enrutamiento Avanzado

Mezcla Multiple o Serialización


Es un patrón del workflow en donde dos o más ramas del proceso
convergen en una sola sin sincronización.
Es decir la actividad D se activa una vez completada B o C, por lo
que si se activan B y C la actividad D se realizará dos veces.

Mezcla Multiple
Ejemplo Mezcla Multiple
Patrones Sincronización y Enrutamiento Avanzado

Discriminador
Es un punto en el proceso que recibe varias ramas entrantes, pero la
actividad siguiente se activa en una sola instancia cuando se finaliza la
primera de las ramas entrantes. A partir de ese momento el
discriminador espera las ramas restantes para terminar y "no hace
caso" de ellas. Una vez que se hayan accionado todas los ramas
entrantes, se reajusta para poderlo accionar otra vez.
Patrones Sincronización y Enrutamiento Avanzado

Mezcla de N/M Casos


Puede ser visto como una generalización del patrón discriminador. Para
este caso se desea sincronizar N hilos de M transiciones entrantes.

Es decir la actividad siguiente es habilitada una vez se han finalizado


las N ramas de entrada y se ignora el resultado de las M-N ramas.
Ejemplo Mezcla de N/M casos
Patrones Estructurales
Ciclos Arbitrarios
Es un punto en el proceso donde una o más actividades pueden ser
ejecutadas varias veces. No hay restricciones estructurales en el ciclo.
Ejemplo Ciclos Arbitrarios
Patrones Estructurales
Terminación Implícita
Un subproceso debería terminar cuando no hay más por hacer. En
otras palabras, cuando no hay tareas activas y ninguna tarea puede
activarse.
Ejemplo Terminación Implícita
Ejemplo Terminación Implícita
Patrones que Involucran Multi-Instanciación

Multi-Instanciación con conocimiento a Priori en Tiempo de Diseño


Una actividad dentro de un proceso puede ser ejecutada varias veces,
el número de veces que la actividad será ejecutada se conoce en
tiempo de diseño.
Multi-Instanciación con conocimiento a Priori en Tiempo de Diseño
Patrones que Involucran Multi-Instanciación

Multi-Instanciación Sin Sincronización


Dentro del Contexto de un caso (una instancia del WorkFlow) múltiples
instancias de una actividad pueden ser creadas.

Cada una de esas instancias es independiente y no es necesario


sincronizarlas.
Ejemplo Multi Instanciación sin Sicronización
Patrones que Involucran Multi-Instanciación

Multi-Instanciación con conocimiento a Priori en Tiempo de


Ejecución
Para un caso, una actividad puede ser ejecutada varias veces. El
número de repeticiones de una actividad varía para cada caso y puede
depender de las características del caso o de la disponibilidad de
recursos, pero siempre es conocido en algún momento en tiempo de
ejecución antes de que se cree la actividad. Una vez todas las
instancias se hayan terminado se puede continuar con las actividades
siguientes.
Ejemplo Multi-Instanciación con conocimiento a Priori en Tiempo de Ejecución
Patrones que Involucran Multi-Instanciación

Multi-Instanciación Sin conocimiento a Priori


Para un caso, una actividad puede ser ejecutada varias veces. El
número de repeticiones de una actividad varía para cada caso y puede
depender de las características del caso o de la disponibilidad de
recursos, pero solo es conocido en algún momento en tiempo de
ejecución después de instanciada la actividad.
Patrones que se basan en el Estado del Sistema

Decisión Implícita o Diferida


Un punto en el proceso donde solo una de varias ramas debe ser
seleccionada. A diferencia de la compuerta exclusiva (Selección
Exclusiva) la decisión no es tomada de forma explicita (basado datos
del proceso o una decisión), pero varias alternativas son ofrecidas
desde el entorno del proceso.
Una vez se active una rama del proceso las otras ramas deben quedar
deshabilitadas.
Ejemplo Decisión Implicita o Diferida
Patrones que se basan en el Estado del Sistema

El Objetivo (Milestone)
Una actividad se puede ejecutar dependiendo del estado del caso, es
decir la actividad se permite solamente si se ha alcanzado cierto
objetivo.
Considere tres actividades nombradas A, B, y C. La Actividad A
solamente se puede realizar si se ha ejecutado la actividad B y no se
ha ejecutado C todavía.
Ejemplo El Objetivo
Patrones de Cancelación

Cancelación de actividades
Una actividad permitida es deshabilitada, es decir se remueven los
hilos que esperan por la ejecución de esa actividad
Ejemplo Cancelación de Actividades
Patrones de Cancelación

Cancelación de Casos
Un caso, es decir una instancia del workflow es removido
completamente
Ejemplo Cancelación de Casos
¿ Inquietudes ?

También podría gustarte