Definición Múltiple Instancia
Proceso
A nivel de procesos es importante resaltar que, para la automatización de estos, en determinados casos se detecta que en algunos segmentos del flujo del proceso la(s) actividad(es) debe(n) realizarse tantas veces como el proceso lo demande y de manera independiente a nivel de ejecución y de información, así los datos de entrada sean los mismos.
BPMN
Bajo la norma internacional BPMN las actividades (tareas y subprocesos) pueden contener en el interior del contorno del rectángulo que las define, lo que se conoce como un marcador o distintivo que describe su comportamiento; entre ellos está el marcador múltiple instancia, que indica que en ese punto del proceso se van a generar varias instancias o repeticiones de esa actividad, las cuales pueden resultar de un valor fijo o de la evaluación de una expresión y se pueden ejecutar en paralelo o secuencialmente.
Dentro del estándar el símbolo es el siguiente:
Comportamientos de las actividades múltiple instancia
Las actividades múltiple instancia tienen varios comportamientos en la ejecución de un proceso, las cuales serán descritas a continuación:
Comportamiento de ejecución
Describe el comportamiento interno de ejecución de las diferentes instancias creadas por la actividad múltiple instancia y son las siguientes:
- Secuencial: determina que cada instancia generada de la actividad múltiple instancia, será ejecutada después que termine la antecesora y así sucesivamente hasta que se cumpla el número de veces que se debe repetir dicha actividad. Se caracteriza porque puede ser ejecutada por el mismo recurso en todas sus instancias, pero su ejecución puede ser más larga en el tiempo. Muy utilizada si se tienen restricciones en cuanto a disponibilidad de recursos para ejecutar las tareas.
- Paralelo: este comportamiento determina que al momento de iniciar la actividad múltiple instancia, todas las instancias generadas podrán ser ejecutadas al mismo tiempo, sin restricciones de recursos. Se debe disponer de más de un recurso para la ejecución si se quiere obtener un menor tiempo total de ejecución, comparado con el comportamiento anterior.
Comportamiento de salida
Describe el comportamiento después de finalizar las instancias creadas por la actividad múltiple instancia para el resto del proceso dependiente de la ejecución de dicha actividad. Aplican de igual manera para cualquiera de los dos comportamientos de ejecución anteriormente descritos.
Imagen de ejemplo:
- Sincronización: exige que se deben terminar todas y cada una de las instancias creadas por la actividad múltiple instancia, para poder continuar el flujo de proceso. Lo que implica que lo que continúe en el flujo de proceso se ejecutará solo una vez cada que este abandone la ejecución de la actividad múltiple instancia. Para el ejemplo de la imagen, después de terminar la tarea 1 se instanciarán las múltiples instancias de la Tarea MI 2 y deberán terminar todas para que la Tarea 3 se ejecute una sola vez.
- Incontrolado: bajo este comportamiento cada una de las instancias creadas por la actividad múltiple instancia continuará de manera independiente, sin importan que suceda con las demás. Lo que implica que lo que continúe en el flujo de proceso se ejecutará tantas veces como instancias se generen en la actividad múltiple instancia. Para el ejemplo de la imagen, después de terminar la tarea 1 se instanciarán las múltiples instancias de la Tarea MI 2 y la Tarea 3 se ejecutará varias veces, una vez por cada instancia creada por la actividad múltiple instancia.
- Primero: determina que lo que continúe en el flujo de proceso después de la actividad múltiple instancia, se ejecutará solo una vez, tan pronto al menos una instancia generada termine, sin importar que suceda con las demás. Para el ejemplo de la imagen, después de terminar la tarea 1 se instanciarán las múltiples instancias de la Tarea MI 2 y la Tarea 3 se ejecutará solo una vez, tan pronto se ejecute por completo al menos una de las instancias generadas.
- Condicionado: determina que lo que continúe en el flujo de proceso después de la actividad múltiple instancia, se ejecutará sí y solo sí se cumple una condición prediseñada pero que tiene que ver con las instancias generadas por la actividad múltiple instancia. Por ejemplo, que al menos dos instancias de las generadas hayan terminado para poder continuar. Para el ejemplo de la imagen, después de terminar la tarea 1 se instanciarán las múltiples instancias de la Tarea MI 2 y la Tarea 3 se ejecutará tan pronto se cumpla la condición parametrizada en la actividad múltiple instancia.
Ejemplo
A continuación, se describe un proceso de negocio en donde se hace necesario la utilización de la múltiple instancia para que este quede bien diseñado y describa fielmente la realidad.
Una reconocida universidad privada, publica en los medios de comunicación una convocatoria para una maestría bastante exclusiva y exigente. Los posibles candidatos deben enviar su hoja de vida vía electrónica y esperar a que el comité de la maestría evalúe si puede continuar con el proceso o no, en todo caso la universidad le comunicará el resultado.
Se reciben hojas de vida durante un mes o si es el caso, la convocatoria se cierra manualmente. Una vez la convocatoria se cierre, el comité debe evaluar cada una de las hojas de vida enviadas y determinar cuáles de los aspirantes son aptos para pasar al segundo nivel, es decir, una entrevista con el comité. En caso de no ser seleccionado para seguir en el proceso, se le avisa al aspirante la decisión del comité.
Los aspirantes seleccionados son citados y se les entrevista de manera individual, allá el comité decide si el aspirante puede continuar con el siguiente nivel, es decir, una prueba de conocimiento. En caso de no ser seleccionado para seguir en el proceso, se le avisa al aspirante la decisión del comité.
Los aspirantes seleccionados son citados para que presenten una prueba de conocimiento, la cual es el último nivel de la selección.
Luego que todos los aspirantes seleccionados completen los diferentes niveles, el comité evalúa y escoge los aspirantes que pueden ingresar a la maestría. El máximo de cupos es de 20 aspirantes y si no se logra un máximo de 10 aspirantes aptos la convocatoria se declara desierta por falta de aspirantes aptos. En cualquier caso, el aspirante debe recibir una comunicación de la universidad explicando si fue admitido o no en la maestría.
Diagrama convencional
Explicación
Tal como se observa en las imágenes de ejemplo, en el diagrama convencional, aunque se puede observar que se conservan fielmente las etapas expuestas para el proceso, el desarrollo del mismo no corresponde a la realidad debido a que tal y como está diseñado el proceso, las tareas en donde se evalúa el candidato deben ser ejecutadas de manera independiente ya sea en paralelo o de manera secuencial, partiendo de un único requerimiento o convocatoria, lo que no sucede en el diagrama.
Diagrama con múltiple instancia
Explicación
En el diagrama anterior se incluyen las tareas en donde se evalúa el candidato dentro de un subproceso con el fin de poder controlar dichas tareas de manera independiente para cada uno de los candidatos, partiendo de un único requerimiento o convocatoria. Esto garantiza que el desarrollo del proceso respetará las reglas de negocio propuestas en el enunciado. Vale la pena anotar que dentro del subproceso múltiple instancia el comportamiento de ejecución es en paralelo, pero podría ser secuencial y que el comportamiento de salida es complejo, debido a que en medio de la ejecución se pueden enviar mensajes a aspirantes y al final se tiene que esperar a que todos los aspirantes aceptados terminen para que el comité evaluador pueda escoger los mejores si es el caso.