Académique Documents
Professionnel Documents
Culture Documents
How to
ndice
Introduccin .................................................................................................................................................. 3 Patrones de control....................................................................................................................................... 4 Patrn: Secuencia ..................................................................................................................................... 4 Patrn: Separacin en paralelo (tambin llamado AND/split) ................................................................. 4 Patrn: Sincronizacin .............................................................................................................................. 5 Patrn: Opcin exclusiva (XOR-Split) ........................................................................................................ 6 Patrn: Fusin simple ............................................................................................................................... 7 Patrones avanzados de paralelismo y sincronizacin ................................................................................... 9 Patrn: Mltiple Opcin (Or-Split) ............................................................................................................ 9 Patrn: Fusin Sincronizada.................................................................................................................... 10 Patrn: Fusin Mltiple .......................................................................................................................... 12 Patrn: Discriminador ............................................................................................................................. 13 Patrn: Unin, N-de-los-M...................................................................................................................... 16 Patrones Estructurales ................................................................................................................................ 19 Patrn: Ciclos Arbitrarios ........................................................................................................................ 19 Patrn: Terminacin Implcita ................................................................................................................ 20 Patrones de tareas con mltiples instancias .............................................................................................. 22 Patrn: Mltiples instancias sin sincronizacin. ..................................................................................... 22 Patrn: Mltiples instancias con conocimiento a priori en tiempo de diseo ....................................... 24 Patrn: Mltiples instancias con conocimiento a priori en tiempo de ejecucin. ................................. 26 Patrn: Mltiples instancias sin conocimiento a priori en tiempo de ejecucin.................................... 28 Patrones basados en estado ....................................................................................................................... 30 Patrn: Seleccin Diferida....................................................................................................................... 30 Patrn: Enrutamiento en paralelo entrelazado. ..................................................................................... 31 Patrn: Hito ............................................................................................................................................. 33 Patrones de Cancelacin ............................................................................................................................. 36 Patrn: Cancelar Actividad...................................................................................................................... 36 Patrn: Cancelar Caso. ............................................................................................................................ 37
Los diagramas de proceso de Q-flow implementan este patrn por defecto en cada actividad. O sea, por defecto, los conectores entre tareas implican precedencia, salvo que se explicite lo contrario.
Este patrn se implementa en Q-flow utilizando el paso de separacin, el cual separa el hilo de ejecucin en mltiples caminos de ejecucin paralelos. Q-flow permite la ejecucin de mltiples caminos en paralelo (sin lmite en cuanto al nivel de anidaciones o contenido de los hilos internos).
Patrn: Sincronizacin
Una actividad es iniciada cuando dos o ms hilos completan la ejecucin de sus actividades. En un punto del proceso, dos o ms hilos de control convergen en un solo hilo. http://is.tm.tue.nl/research/patterns/download/swf/pat_3.swf Implementacin con Q-flow
El paso de unin de Q-flow implementa entre otros este patrn. Al ser ste el patrn ms comn de sincronizacin, el paso de unin se comporta por defecto de acuerdo al mismo, sincronizando todos los hilos de entrada antes de activar la siguiente actividad.
El patrn de seleccin exclusiva de camino es implementado en Q-flow por medio del paso de evaluacin, donde es evaluada una condicin (basada en respuestas dadas a preguntas o tareas, votaciones, evaluacin de datos relevantes del workflow o valores de propiedades de los usuarios participantes del workflow) y de acuerdo al valor de la evaluacin se selecciona uno u otro camino de ejecucin.
La fusin simple en Q-flow no utiliza ningn constructor especfico, sino que la simple unin de los caminos o hilos de ejecucin sobre una tarea determina que cualquiera de ellos que llegue a la tarea la active.
El paso de Separacin de Q-flow implementa este patrn incluyendo una evaluacin opcional en cada camino de ejecucin en que abre el proceso, permitiendo que cada camino sea activado opcionalmente, de acuerdo con el resultado de la evaluacin correspondiente (verdadero o falso).
El paso de unin de Q-flow implementa este patrn. El mismo, en su configuracin, permite que se seleccione la espera por todos los hilos iniciados en el fork/split correspondiente, de forma de que espere la finalizacin de todos los hilos antes de activar la siguiente tarea.
Este patrn est implementado en Q-flow por medio de una separacin con condicin en la cual los hilos se separan condicionalmente y continuando la ejecucin de cada hilo en un paso en comn. Se mantienen uno o dos hilos dependiendo de la separacin y cada uno de los hilos puede estar en el mismo paso del proceso.
Patrn: Discriminador
Es un punto del proceso que espera por una rama o hilo de control antes de activar la siguiente actividad. Los siguientes hilos de control que lleguen a ella luego de activada la tarea siguiente son ignorados, hasta que al llegar el ltimo la tarea finaliza. http://is.tm.tue.nl/research/patterns/download/swf/pat_9.swf
Este patrn es implementado en Q-flow por medio del paso de Unin, en el cual varios hilos de ejecucin se fusionan, permitiendo que se active la siguiente actividad en base a la cantidad de hilos o caminos de ejecucin que alcanzan el paso de unin. Para implementar este patrn, en las propiedades del paso de unin se selecciona la opcin continuar cuando ha llegado el primer hilo.
Este patrn es implementado en Q-flow por medio del paso de Unin, en el cual varios hilos de ejecucin se fusionan, permitiendo que se active la siguiente actividad en base a la cantidad de hilos o caminos de ejecucin que alcanzan el paso de unin. Para implementar este patrn, en las propiedades del paso de unin se selecciona la opcin continuar cuando han llegado N hilos.
Al igual que lo que sucede con el patrn de Fusin Simple, el modelo de grafo que implementa Q-flow no necesita de un constructor especfico para implementar la repeticin o el patrn de Ciclos Arbitrarios. La simple unin de una bifurcacin con el punto de entrada de una tarea o actividad de Qflow es una implementacin de este patrn.
Las propiedades de los pasos de unin y de terminacin muestran la capacidad del sistema para mantener activas las tareas en los hilos o caminos activos luego de haberse procesado los pasos de unin y/o de cancelacin o de lo contrario finalizarlas implcitamente.
Configuracin del paso de tarea para que espere a que se completen todas las instancias entes de ejecutar la siguiente actividad:
El paso de pregunta es configurado con la lista de destinatarios (tomadas de diversas fuentes) a quienes se dirigir la pregunta o tarea.
En la configuracin del paso, se especifica que debe esperar a que se completen las actividades antes de continuar con la siguiente actividad.
En este patrn, antes de instanciarse la actividad, se analiza el valor de un dato de aplicacin del proceso y mediante el script especificado en la siguiente imagen se generan tantas instancias del destinatario de la tarea como sean necesarias, asignndose cada instancia a la cola de trabajo.
En contraste con el XOR-Split, la seleccin no es explcita (basada en datos o decisiones) pero mltiples alternativas son ofrecidas por el entorno. En contraste con el AND-Split, slo una de las opciones es seleccionada.
Supongamos que en un punto del proceso se debe completar una actividad u otra basada en la disponibilidad de los recursos, pero ninguno de los recursos utilizables est disponible, por lo que se debe esperar a que uno de los recursos est disponible para decidir cul alternativa seleccionar. http://is.tm.tue.nl/research/patterns/download/swf/pat_16.swf Implementacin con Q-flow El paso de pregunta con evaluacin permite seleccionar la opcin a ser tomada en tiempo de ejecucin.
La siguiente figura muestra las propiedades a colocar en el paso de evaluacin para que contine ejecutando otra tarea mientras no se han completado o instanciado las tres tareas especificadas.
Patrn: Hito
Permite testear si un proceso de Workflow ha alcanzado determinada fase o etapa. http://is.tm.tue.nl/research/patterns/download/swf/pat_18.swf Implementacin con Q-flow Este patrn es implementado en forma nativa por Q-flow. En el siguiente diagrama, se abren dos hilos de ejecucin paralela y en el primero de los hilos se espera por la ejecucin del hito (paso Sincronizacin) para activar la tarea A. Se contina inmediatamente con la tarea C (con dos hitos y esperas se puede hacer una sincronizacin cruzada). Al llegar al paso de unin, la ejecucin contina.
En la configuracin del paso de sincronizacin se muestra que se esperar por el hito contenido en el otro hilo.
El paso de unin puede ser configurado para que la ejecucin contine cuando se ha completado el segundo hilo de ejecucin, independizndose la continuacin del workflow de la terminacin o de la ejecucin de la tarea A, la cual, segn diversos caminos que podra tomar el segundo hilo, podra no ejecutarse nunca.
El paso de finalizacin cancela el proceso en su conjunto. Se muestra la configuracin del paso de fin.