Sei sulla pagina 1di 56

Eventos

Evento de Inicio

Un Evento de Inicio indica el punto donde comienza un Proceso


y el flujo de ejecucin del mismo. El smbolo asociado a este tipo
de Evento es un crculo abierto cuyo lmite viene definido con una
nica lnea de trazo fino.

El comienzo de un Proceso puede ser natural, entendindose


como natural que no necesita de ningn elemento para iniciarse o
bien, puede requerir de alguna circunstancia externa al propio
Evento para que ste se active. Esto es, el Evento necesita un
disparador para activarse. sta es la razn por la que existen
diferentes tipos de Eventos de Inicio que indiquen los diferentes
elementos que pueden llegar a disparar el inicio de un Proceso.
Estos elementos, que bien pueden ser un mensaje o un
temporizador, es lo que se conoce en la terminologa de BPMN,
disparador. El hecho de que el smbolo asociado a un Evento sea
un crculo abierto es para que en su interior pueda declararse el
tipo de disparador que activa el Evento.

1. Conectando Eventos de Inicio

La nica restriccin que existe es que slo tienen Flujos de Secuencia de salida.
No se permite que los Flujos de Secuencia se conecten a un Evento de Inicio
debido a que ste representa el inicio de un Proceso.

Versin incorrecta y correcta de conexin de Eventos de Inicio

Si lo que se desea es reiniciar todo el Proceso, esto es, desde el Evento de Inicio,
la solucin pasa por finalizar el Proceso actual y activar posteriormente el
Evento de Inicio. Se estara creando una nueva instancia del Proceso.
A pesar de que la Tarea es posible que se realice ms de una vez no se reinicia
todo el Proceso, simplemente se itera sobre la Tarea Disear y Ejecutar Prueba.

2. Comportamiento de los Eventos de Inicio

Un token refleja el punto exacto dnde se encuentra el flujo de ejecucin de un Proceso.


Este elemento, que en los siguientes diagramas ser descrito mediante una flecha,
servir al lector como gua para comprender el comportamiento de los Eventos de Inicio
y los siguientes elementos de modelado que se definan.

Evento de Inicio, stos son los que generan el flujo inicial de un Proceso. Un Evento
de Inicio crea, por tanto, un token.

Una vez activado el Evento y el token generado, ste inicia el flujo del Proceso
avanzando por el Flujo de Secuencia de salida
3. Evento de Inicio Simple
Se define cuando no tiene asociado ningn disparador. El uso ms comn que
se realiza de l es cundo en el Proceso que se desea modelar no viene
especificada ninguna causa que lo active. Su smbolo asociado es el mismo que
el de Evento de Inicio.

4. Evento de Inicio Mensaje

Este tipo de Evento sirve para iniciar un Proceso tras la


recepcin de un disparador de tipo Mensaje.

Mensaje: recepcin de una notificacin administrativa,


recepcin de una carta, una llamada de telfono, todo
aquello que implique un intercambio directo entre dos
participantes del Proceso es un Mensaje. Estos
participantes que aqu se nombran deben estar en Calles
diferentes (se volver a esto en otro captulo.

Su smbolo asociado es un marcador con forma de sobre


dentro del smbolo de Evento.

Tambin existe el tipo No Interruptible para este tipo de Evento. Se diferencia del
Evento de Mensaje en que el borde del crculo est hecho a trazos. Se volver a
explicar este smbolo en el captulo que versa sobre las Actividades.

Ejemplo de un Proceso que se activa una vez que se tiene constancia de un pedido de
comida.

5. Evento de Inicio Temporizador


ste indica que el Proceso se inicia cundo cierta condicin de tiempo se
cumple, ya sea una fecha y hora especfica como un periodo de tiempo que se
repite regularmente.

El marcador asociado a este disparador es un reloj.


Tambin tiene el tipo No Interruptible.

Se muestra un ejemplo de uso.

6. Evento de Inicio Error

Este tipo de Evento viene asociado por la produccin de


una excepcin en la ejecucin de otro Proceso diferente al
que se est modelando. Este disparador, por tanto, suele
estar asociado al modelado de rutinas de manejo de
excepciones que pueden ocurrir en el contexto de un
Proceso principal y cmo deben ser resueltas
correctamente.

El marcador asociado a este disparador es el de un rayo. No


tiene versin No Interruptible.

7. Evento de Inicio Escalable


Habitualmente, las tareas de mantenimiento estn jerarquizadas. Existe
una unidad de desarrollo para cada tarea. Sin embargo, si aparece algn
problema en una de ellas se deriva a una unidad de mayor
responsabilidad. Este concepto es el que se encuentra tras el disparador
Escalable.
Un Evento de Inicio de tipo Escalable implica que el contexto de
ejecucin del Proceso se sigue ejecutando en un nivel mayor de
prioridad y responsabilidad. Su smbolo asociado es el de una flecha.

Versin No Interruptible.

8. Evento de Inicio Compensacin


Existe una alta probabilidad de que en el transcurso de un
Proceso se haya realizado una Actividad que necesite, a
posteriori, ser cancelada. Para modelar esta situacin se
tiene el disparador Compensacin. Se utiliza para deshacer
las acciones ya realizadas en una transaccin abortada. Se
retomar ms adelante este concepto.

El marcador asociado a este disparador son dos flechas


contiguas apuntando a la izquierda.

9. Evento de Inicio Condicional


Se ha visto cmo modelar Procesos que se activen una vez
ocurridos instantes de tiempo, con el disparador
Temporizador, o recibir una informacin, con el disparador
Mensaje. Para el resto de situaciones con otras condiciones
se tiene el disparador Condicional. Los Eventos de Inicio de
tipo Condicional representan una situacin en la que cierta
condicin, que se hace verdadera, activa el Proceso.
Este Evento suele activarse cuando se produce un cambio
en los datos del Proceso. El disparador Condicional
simplemente se utiliza para definir qu detalles de ese
cambio en el contexto del Proceso lo activan.
Esta condicin puede estar definida mediante una
expresin, en lenguaje natural o computacional, que prueba
una serie de datos y en la que se obtiene una respuesta de
Verdadero o Falso. La activacin del Evento ocurre cundo
esa condicin se evala a Verdadero. Para que pueda
dispararse de nuevo el Evento, dicha condicin debe volver
a Falso y Verdadero nuevamente.
El marcador asociado a este disparador es un prrafo de
texto con lneas.

Tambin tiene una versin No Interruptible.

Ejemplo de uso de este Evento.


10. Evento de Inicio Seal
Un Evento de Inicio de tipo Seal activa el Proceso cuando
recibe una seal proveniente de otro participante o Proceso.
Puede parecer que es equivalente al disparador Mensaje
pero tiene sutiles diferencias.
En el disparador Mensaje, remitente y destinatario son
conocidos, el mensaje tiene un origen y destino. Una Seal
es diferente al Mensaje, tiene un origen (aqul que la
produce) pero puede tener ms de un destinatario. Ser
ste, el destinatario, el que decida si responde o no a la
Seal. Puede hacerse un smil con una bengala. Todo el
mundo que est alrededor ver la luz de la bengala pero es
decisin de cada uno acudir a la llamada o no. Es por eso
que suele utilizarse ms el concepto de difusin que de
envo de una Seal.
Otra diferencia con respecto al disparador Mensaje es que
una Seal puede ser emitida dentro del propio Proceso y
no, obligatoriamente, desde otro participante.
El marcador asociado al disparador Seal es un tringulo.

Versin No Interruptible.

Ejemplo de uso de este Evento.

11. Evento de Inicio Mltiple


Un Evento de Inicio de tipo Mltiple encapsula a un
conjunto de los disparadores definidos anteriormente. Esto
es, cuando se recibe uno de los que estn definidos en el
disparador Mltiple, se activa el Proceso. Hay que tener en
cuenta que cada disparador crear una instancia diferente
del Proceso no vindose afectado el flujo de activaciones
previas que se hayan iniciado.
El marcador asociado a un disparador Mltiple es un
pentgono.

Versin No Interruptible.

12. Evento de Inicio Paralelo Mltiple


Un Evento de Inicio de tipo Paralelo Mltiple es equivalente
al anterior en el sentido de que encapsula a un conjunto de
los disparadores definidos anteriormente. La diferencia
entre el Evento Mltiple y el Paralelo Mltiple es que, como
se ha visto, en el primero slo se requiere que se active uno
de los que tiene definidos. Sin embargo, para el disparador
Paralelo Mltiple se requiere que todos los disparadores
que tenga definidos se activen. Una vez que esta condicin
se cumple, el Proceso se activa.
El marcador asociado a un disparador Paralelo Mltiple es
un signo de suma abierto.

Versin No Interruptible.

13. Procesos con ms de un Evento de Inicio

Un cierto Proceso puede ser modelado con ms de un


Evento de Inicio. Esta caracterstica est soportada en los
diagramas BPMN pudiendo realizar cualquier combinacin
de Eventos de Inicio que se necesite, sean con o sin
disparador. Modelar con ms de un Evento de Inicio se
necesita cundo hay varias formas de que un Proceso se
active, pudiendo cada uno empezar por un punto diferente
del mismo.

Cada Evento de Inicio es independiente de los que haya


definido en el mismo Proceso. Por ello, cada vez que alguno
de ellos se active generar una nueva instancia del Proceso
no vindose afectado, por tanto, las instancias previas del
mismo que se hayan ya iniciado.
14. Evento de Inicio Opcional

Dependiendo de la complejidad de modelado de un Proceso,


puede prescindirse del uso de Eventos de Inicio para modelarlo.
Esto es, el uso de un Evento de Inicio es opcional y queda a
cargo del modelador incluirlo en el diagrama o no. El primer
elemento sin Flujos de Secuencia de entrada ser el que inicie el
flujo del Proceso y el ltimo elemento sin Flujo de Secuencia de
salida el que lo finalice.

Eso s, el uso de Eventos de Inicio y de Fin est indisolublemente


unido. Si no se utiliza un Evento de Inicio, entonces no puede
usarse un Evento de Fin en el diagrama y viceversa.

Si el Proceso necesita un disparador asociado de los vistos


anteriormente que no sea el Simple, entonces el diagrama debe
incluir obligatoriamente el Evento de Inicio con el disparador
asociado.

Las buenas prcticas de modelado con diagramas BPMN


recomiendan incluir siempre los Eventos de Inicio.

Evento Intermedio

Un Evento Intermedio aparece entre un Evento de Inicio y otro


de Fin. Por tanto, indica que algo sucede despus de que un
Proceso se inicia y antes de que ste haya finalizado. Su smbolo
asociado es un crculo abierto con dos lneas de trazo fino
delimitando el borde.
Los Eventos Intermedios se insertan dentro del flujo del
Proceso representando acciones y efectos que aparecen durante
la ejecucin del mismo.

La principal diferencia entre los disparadores de los Eventos de Inicio e Intermedios es que
mientras que ambos pueden capturar un disparador, un Evento Intermedio tambin puede
lanzarlos. Se estudiar su comportamiento en la siguiente seccin.

1. Conectando Eventos Intermedios


Un Evento Intermedio se coloca en el flujo interior de un
Proceso por lo que slo se permite que tenga un Flujo de
Secuencia de entrada y uno de salida.

2. Comportamiento de los Eventos Intermedios

Una vez que el token llega a un Evento Intermedio desde un


Flujo de Secuencia de entrada, ste realizar alguna de estas dos
acciones:

1. Esperar a un disparador que lo active. En este primer caso,


se denomina un Evento Intermedio capturador. El
marcador asociado a este tipo de Eventos tiene un fondo
de color blanco, el mismo smbolo que para los Eventos de
Inicio dado que, como ya se ha visto, tambin producen
una espera hasta que son activados.
2. Lanzar inmediatamente un resultado. Para este caso, es lo
que se conoce como un Evento Intermedio lanzador. El
marcador asociado, en contraposicin a los Eventos que
capturan, tiene un fondo de color negro. Como se ver ms
adelante, es el mismo smbolo que se utilizar para los
Eventos de Fin, que tambin producen un resultado
inmediatamente.

Por un lado, los disparadores capturados por un Evento


Intermedio son:

Mensaje.
Temporizador.
Error.
Escalable.
Cancelacin.
Compensacin.
Condicional.
Enlace.
Seal.
Mltiple.
Paralelo Mltiple.

Por otro, los resultados lanzados por un Evento Intermedio son:

Mensaje.
Escalable.
Compensacin.
Enlace.
Seal.
Mltiple.

Un token que llega a un Evento Intermedio capturador esperar


hasta que el disparador asociado al Evento se active. A
continuacin, saldr inmediatamente de ste avanzando por el
Flujo de Secuencia de salida.

Un token que llega a un Evento Intermedio lanzador activar


inmediatamente el disparador. A continuacin, saldr
inmediatamente de ste avanzando por el Flujo de Secuencia de
salida

3. Evento Intermedio Simple

Al igual que el Evento de Inicio Simple, un Evento


Intermedio no tiene que estar asociado necesariamente a un
disparador. Un Evento Intermedio sin disparador se
denomina de tipo Simple.
El uso ms comn que se hace de l es como
documentacin tras finalizar una Actividad que no requiere
ningn tratamiento especial, como la de alcanzar una
versin programada del Proyecto, por ejemplo. En la
mayora de las ocasiones, establecer un nombre descriptivo
al Evento es suficiente.
Dado que no hay disparador asociado, una vez que el token
llega a un Evento Intermedio Simple se lanza de inmediato.

Una vez activado el Evento, el token sigue circulando por el


Flujo de Secuencia de salida.

4. Evento Intermedio Mensaje

Un Evento Intermedio de tipo Mensaje tiene, como ya se ha


visto en el Evento de Inicio, un marcador con forma de
sobre. Se diferencia el smbolo segn sea un Evento
capturador o lanzador.
Evento lanzador

Este tipo de Evento indica que se lanzar un mensaje


cundo ste se active. Como ya se ha dicho, cuando el
token alcance el Evento activar el disparador y seguir por
el Flujo de Secuencia de salida.
Evento capturador

Este tipo de Evento indica que se capturar un mensaje.


Esto es, cuando el token llegue al Evento se producir una
espera hasta que un disparador de mensaje lo capture y
pueda proseguir el flujo de ejecucin del Proceso. Una vez
recibido el mensaje, el token seguir por el Flujo de
Secuencia de salida.
Evento No Interruptible

Del mismo modo que con los Eventos de Inicio, los Eventos
Intermedios pueden tener su versin No Interruptible. Basta
con saber, por ahora, el smbolo asociado que es
equivalente a un Evento Intermedio capturador con el borde
realizado a trazos. En posteriores captulos se explicarn
con ms detalle.
Ejemplo de Uso

5. Evento Intermedio Temporizador


Un Evento Intermedio de tipo Temporizador tiene, como ya
se ha visto en el Evento de Inicio, un marcador con forma
de reloj.
Evento lanzador
Evidentemente, un Evento que produzca una espera de
tiempo no tiene sentido. Por esto, no hay un simbolo
asociado a un Evento Intermedio productor de tipo
Temporizador.
Evento capturador

Cuando el token llegue al Evento se producir una espera


hasta que se cumpla la condicin de tiempo especificada en
el Evento. Una vez cumplido, el token seguir por el Flujo de
Secuencia de salida.
Evento No Interruptible

Ejemplo de Uso
6. Evento Intermedio Error

Este tipo de Evento suele estar unido al concepto de


interrupcin de Actividades, que an no se ha explicado y
se retomar ms adelante. Por lo tanto, slo se mostrar el
tipo de smbolo asociado.
Evento lanzador
Aunque podra suponerse que debera existir un Evento
Intermedio que produjera un Error debido a una excepcin
producida en el flujo del Proceso no se tiene un smbolo
asociado a este tipo de situaciones. Esto se debe a que en
el modelado BPMN una condicin de Error est asociado
con la terminacin inmediata del Proceso. Es por esto por lo
que slo se tienen Eventos de Fin de Error.
Evento capturador

Este Evento puede ser utilizado nicamente cundo es


adjuntado a una Actividad y se retomar en el siguiente
captulo.
Evento No Interruptible
No tiene

7. Evento Intermedio Escalable


Al igual que en los Eventos de Inicio, este tipo de
disparador va asociado al cambio de contexto de ejecucin
del Proceso hacia un nivel mayor de responsabilidad.
Evento lanzador

Evento capturador

Evento No Interruptible

8. Evento Intermedio Cancelacin


Los Eventos Intermedios de Cancelacin slo pueden
capturar una transaccin abortada. Dado que se trata de un
concepto no explicado an de una Actividad, se retomar
su estudio en el siguiente captulo. De momento, slo se va
a mostrar su smbolo.
Evento lanzador
Del mismo modo que el Evento Intermedio de Error, suele
estar asociado con la terminacin inmediata del Proceso.
sta es la razn de que no exista smbolo productor a este
tipo de Evento Intermedio.
Evento capturador

Evento No Interruptible
No tiene.

9. Evento Intermedio Compensacin


Este tipo de Evento est ligado al comportamiento de las
Actividades, por lo que se explicar en el siguiente captulo.
Esta seccin muestra simplemente el smbolo asociado a
este disparador.
Evento lanzador

Evento capturador

Evento No Interruptible
No tiene.

10. Evento Intermedio Condicional


El Evento Intermedio Condicional modela una situacin en
la cual un Proceso est detenido hasta que cierta condicin
lgica se vuelve verdadera. El marcador asociado a este
Evento es igual que el que ya se vio para el Evento de Inicio,
un prrafo con lneas de texto.
Son varios los usos dados a este Evento. De entre ellos, el
que se encuentra relacionado con las Actividades se ver
en el siguiente captulo. Aqu, se mostrar cundo se utiliza
en medio del flujo de un Proceso.
Evento lanzador
Dado que las condiciones lgicas que se estn evaluando
estn predefinidas antes de modelar un Proceso en un
diagrama BPMN no existe un Evento productor para este
disparador.
Evento capturador

Cuando el token llegue al Evento, ste se quedar


esperando hasta que la condicin que establece el
disparador se vuelva verdadera. Hay que tener especial
cuidado al modelar esta situacin, porque si la condicin no
se vuelve verdadera en algn momento se produce una
espera indefinida en el Evento. Cuando se cumpla la
condicin, el token seguir circulando por el Flujo de
Secuencia de salida.
Evento No Interruptible

Ejemplo de Uso

11. Evento Intermedio Enlace


Un Evento Intermedio de Enlace sirve para conectar partes
separadas de un mismo Proceso que, por cualquier motivo,
no puede mostrarse en una nica seccin. Suele estar
asociado con problemas de impresin en papel de Procesos
que no caben en las dimensiones y deben ser seccionados
en diferentes partes, o bien, como un mecanismo que
habilita para hacer saltos de flujo de ejecucin en el
Proceso, al estilo de un GoTo computacional.
Para evitar resultados ambiguos, se recomienda etiquetar
los Eventos con el mismo descriptor. El Evento de Enlace
origen es de tipo lanzador y, por tanto, produce un
disparador, mientras que el destino es de tipo capturador y
captura el que se ha lanzado previamente.
Evento lanzador
Evento capturador

Evento No Interruptible
No tiene.
Ejemplo de Uso

que es equivalente a hacer

12. Evento Intermedio Seal

Un Evento Intermedio de Seal difunde un disparador que ser


capturado en los Eventos receptores que tengan que responder a
la indicacin. Como ya se vio en los Eventos de Inicio con este
disparador, una Seal tiene un origen conocido, aqul que origina
la difusin de sta, pero varios receptores y sern stos los que
decidan si responder o no a la peticin que se les enva.

Un Evento Intermedio lanzador de este disparador difundir la


Seal y seguir avanzando por el flujo del Proceso mientras que
un Evento Intermedio capturador esperar en ste hasta que se
reciba la peticin.
Evento lanzador

Evento capturador

Evento No Interruptible
Ejemplo de Uso

Los usos que se hacen de este tipo de disparador son muy


variados ya que la propia semntica del smbolo as lo permite y
pueden abstraerse muchos comportamientos difciles de modelar
mediante el envo de una Seal. Se puede citar, por ejemplo:

Ordenacin de Procesos: Una vez finalizado un Proceso,


difunde una Seal para que el resto siga con su flujo de
ejecucin.
Secciones crticas y condiciones de carrera: El uso de
recursos compartidos que deben ser utilizados en exclusin
mutua.
Estados de desarrollo: Puede servir como punto de
informacin de que se ha alcanzado un punto relevante del
Proceso.
Manejo de excepciones...

13. Evento Intermedio Mltiple

El Evento de disparador Mltiple es ya conocido, por haber sido


estudiado en la seccin de Eventos de Inicio. Se trata de un tipo
de disparador que encapsula un conjunto de los vistos
anteriormente.
Evento lanzador

Cuando el token llegue a un Evento Intermedio productor


enviar todos los disparadores que estn definidos en l y
seguir circulando por el flujo del Proceso.
Evento capturador
Se producir una espera en el Evento hasta que llegue
cualquiera de los que estn definidos en l.
Evento No Interruptible

14. Evento Intermedio Paralelo Mltiple

El Evento de disparador Paralelo Mltiple es equivalente al


Mltiple dado que tambin encapsula un conjunto de los vistos
anteriormente.
Evento lanzador

No tiene. Debe utilizarse el Evento productor Mltiple.


Evento capturador

Para este disparador, y a diferencia del Mltiple, se producir


una espera en el Evento hasta que lleguen todos los que estn
definidos en l.
Evento No Interruptible

15. Uso de los Eventos Intermedios

Dos son los lugares en los que se pueden utilizar los Eventos
Intermedios. Uno de ellos es dentro del flujo del Proceso para,
como ya se ha visto, lanzar un disparador o esperar hasta su
llegada dependiendo del tipo de Evento Intermedio que se trate.
Otro lugar en dnde se utilizan es en el borde de las Actividades,
que se explicar en el siguiente captulo.

Esta seccin indica qu disparadores pueden utilizarse en cada


uno de los lugares dnde est permitido su uso.
Tipos de Eventos Intermedios en el Flujo del Proceso
Simple
Mensaje
Temporizador
Escalable
Compensacin
Condicional
Enlace
Seal
Mltiple
Paralelo Mltiple
Tipos de Eventos Intermedios anclados al borde de una Actividad

Mensaje
Temporizador
Escalable
Error
Cancelacin
Compensacin
Condicional
Seal
Mltiple
Paralelo Mltiple

Evento de fin

Como el propio nombre indica, un Evento de Fin indica el final


de un Proceso. El smbolo asociado a un Evento de Fin es un
crculo abierto con el trazo del borde notoriamente ms grueso
que el Evento de Inicio.

Manteniendo la consistencia del modelo BPMN que ya se ha


visto hasta el momento, los Eventos de Fin tambin tienen
asociado un disparador que permita modelar adecuadamente las
diferentes situaciones que puedan ocurrir en el diseo de un
Proceso concreto. Un Evento de Fin siempre producir un
resultado, tenga o no un disparador asociado.

Otra caracterstica de los Eventos de Fin es que siempre son


lanzadores de resultados, en contraposicin a los Eventos
Intermedios que tambin podan capturar. Por tanto, todos los
marcadores asociados a los disparadores estn rellenados de
color negro.

Pocas son las variaciones que se han ido realizando en los


Eventos de Fin con las sucesivas versiones que se han ido
haciendo de BPMN. Si en la versin 1.1 haba 8 disparadores, en
la actual, la 2.0, hay nicamente uno ms, 9:

Simple
Mensaje
Escalable
Error
Cancelacin
Compensacin
Terminacin
Seal
Mltiple
1. Conectando Eventos de Fin

Los Eventos de Fin tienen la misma restriccin de conexin que


los Eventos de Inicio pero opuesta. Esto es, un Evento de Fin
slo puede ser conectado mediante un Flujo de Secuencia de
entrada pero no de salida.

2. Comportamiento de los Eventos de Fin

Los Eventos de Fin reflejan el fin del Proceso que se est


modelando. Una vez que el token llega a un Evento de Fin se
lanza el disparador que tenga asociado y a continuacin se
consume.
El flujo de un Proceso se termina en cunto llega a un Evento
de Fin. Tambin hay que tener en cuenta que dentro de un
Proceso puede haber definido ms de un Evento de Fin por lo
que es posible tener ms de un hilo de ejecucin que continuarn
a pesar de que un token sea consumido en uno de ellos. Si el
Proceso sigue teniendo algn token activo en otro hilo de
ejecucin, ste seguir con vida hasta que todos hayan
alcanzado algn Evento de Fin.

3. Disparadores conocidos para Eventos de Fin

Evento de Fin Simple

Este Evento no tiene un disparador asociado. Simplemente se


consume el token cuando llegue al Evento.
Evento de Fin Mensaje
Antes de consumir el token se lanza un disparador de tipo
Mensaje.
Evento de Fin Escalable

Antes de consumir el token se lanza un disparador de tipo


Escalable.
Evento de Fin Error

Antes de consumir el token se lanza un disparador de tipo


Error.
Evento de Fin Cancelacin

Antes de consumir el token se lanza un disparador de tipo


Cancelacin.
Evento de Fin Compensacin

Antes de consumir el token se lanza un disparador de tipo


Compensacin.
Evento de Fin Seal

Antes de consumir el token se lanza un disparador de tipo


Seal.
Evento de Fin Mltiple
Antes de consumir el token se lanza un disparador de tipo
Mltiple.

4. Evento de Fin Terminacin

Este tipo de Evento de Fin no es conocido por lo que se explica


a continuacin. Este disparador tiene una caracterstica
importante que lo diferencia del resto. Si un token llega hasta un
Evento de Fin Terminacin causa la interrupcin y finalizacin
inmediata del Proceso aun existiendo otros tokens activos en el
mismo.

Su smbolo asociado es un doble crculo incluido uno dentro de


otro.

Resumen de eventos

Disparador Se capturan Se producen No interruptibles

Mensaje

Temporizador

Error

Escalable

Cancelacin

Compensacin
Condicional

Enlace

Seal

Terminacin

Mltiple

Paralelo Mltiple

Actividades
1. Introduccin

Una Actividad representa el concepto principal de un Proceso


puesto que modela la realizacin de alguna accin que se ha de
ejecutar en el mismo. Una Actividad conllevar un cierto tiempo
de ejecucin para realizarla, necesitar uno o ms recursos de la
organizacin, requerir de un algn tipo de entrada y producir
algn tipo de salida.

Dependiendo del nivel de detalle de la Actividad, se distinguir


entre:

1. Tareas: Son Actividades atmicas. Representa el nivel ms


bajo de detalle presente en el Proceso.
2. Subprocesos: Son Actividades compuestas. Se pueden
expandir para ver otro nivel inferior de un Proceso.

As mismo, una Actividad puede ejecutarse ms de una vez


definiendo bucles internos. Pueden establecerse de manera
sencilla condiciones de repeticin de varias maneras, todas ellas
soportadas en BPMN y que se vern ms adelante.

2. Tarea
Una Tarea es una Actividad atmica. Se utiliza cuando el
nivel de detalle del Proceso no debe o no puede
descomponerse todava ms. Esto no quiere decir que una
Tarea no pueda ser compleja. Simplemente que, en el
modelado del Proceso que se est creando, no se requiere
definir con un nivel mayor de detalle.
Su smbolo asociado es el de un rectngulo con las cuatro
esquinas redondeadas y suele describirse la accin que se
realiza en ella con una sentencia en su interior.

Del mismo modo que ocurra con los Eventos y sus


disparadores asociados, una Tarea puede especializarse
para mostrar de una manera grfica las diferentes
situaciones recurrentes que pueden ocurrir en el modelado
de un Proceso. Por ejemplo, que cierta Tarea deba ser
realizada personalmente y no automatizada. Su uso est
asociado para usuarios ms avanzados de BPMN y excede
el contenido del tutorial por lo que slo sern mostrados en
la siguiente seccin de forma somera.

1. Especializacin de Tareas

Tarea Simple

Una Tarea genrica representando una accin muy general o


frecuente. La propia descripcin de la Tarea resuelve cualquier
aspecto ambiguo.
Tarea Servicio
Una Tarea que hace de enlace a alguna aplicacin Web o
servicio automatizado.
Tarea Envo

Una Tarea que enva un mensaje a un participante fuera del


Proceso.
Tarea Recepcin

Una Tarea que antes de completarse espera que le llegue un


mensaje de otro participante fuera del Proceso.
Tarea Usuario

Una Tarea cuya ejecucin debe recaer en la responsabilidad de


un intrprete humano asistido, generalmente, por una aplicacin
Software.
Tarea Manual

Una Tarea no automtica realizada por un intrprete humano


fuera del flujo de control.
Tarea Regla Negocio
Una Tarea que, asistida por un motor de Reglas de Negocio,
calcula el resultado dependiente de unos datos de entrada
afectados por una Regla de Negocio.
Tarea Script

Una Tarea ejecutada por un Script descrito en el diagrama.

2. Tarea o Evento Intermedio?

BPMN permite modelar diferentes situaciones de muy variadas


maneras, por lo cual es el modelador el responsable ltimo de
que su diseo sea coherente con el Proceso que est analizando.

El lector habr podido observar que el comportamiento de las


Tareas de Envo y de Recepcin es equivalente al de los Eventos
Intermedios lanzadores y capturadores de Mensaje.

Por lo tanto, es equivalente modelar de una forma u otra.

equivale a
Las buenas prcticas de BPMN recomiendan no mezclar ambos
enfoques en el mismo Proceso, siendo el modelador el que
decida utilizar alguna de las dos opciones.

3. Subproceso

Un Subproceso representa una Actividad compuesta. Esto


quiere decir que una Actividad puede modelar en su interior
otro Proceso. Se tiene, por tanto, soportado de forma nativa
en BPMN una estructura jerrquica de Procesos siguiendo
una relacin paterno-filial, llegando en cada Subproceso
hijo a un Proceso de menor nivel de detalle y nivel
abstracto.
Dos son las representaciones que se tienen de un
Subproceso.
Subproceso Colapsado

Su smbolo no es distinguible de la Tarea, un rectngulo


con las cuatro esquinas redondeadas salvo por un signo de
suma en su parte inferior que indica que se puede expandir.
En este tipo de Subproceso no puede verse su
comportamiento interno, el Proceso que est modelando.
Subproceso Expandido

Es un Subproceso en el que puede verse los detalles internos


del mismo, el Proceso que est modelando. Su smbolo es el
mismo que la Tarea pero notoriamente mucho ms grande para
permitir modelar cmodamente dentro de l.

1. Tipos de Subproceso

Del mismo modo que pasaba con la Tarea, los tipos de


Subproceso que existen en BPMN no son importantes para la
mayora de sus usuarios y escapa a los objetivos docentes de
este tutorial. Por esto, simplemente se va a dar una pequea idea
de cules son y para qu se usan.
Subproceso Embebido

Un Subproceso Embebido slo es visible dentro del mbito del


Proceso padre. Por tanto, no est disponible para ser utilizado
dentro de otros Procesos teniendo que ser, de nuevo, modelado.
Por depender de su Proceso padre, ste comparte con aqul
todos los datos que estn almacenados en el segundo.
Subproceso Reutilizable

El propio nombre lo indica, se trata de un Subproceso


disponible para ser utilizado en el modelado de diferentes
Procesos padre. Se trata de un Proceso que realiza una Actividad
recurrente y de amplio uso que permite modularizar y paquetizar
de forma ptima un Proceso de mayor nivel.

4. Conectando Actividades

Aunque an no se ha iniciado el captulo dedicado a los


Conectores de Objetos, basta con saber, por ahora, que una
Actividad puede estar conectada con uno o ms Flujos de
Secuencia de entrada y tener uno o ms Flujos de Secuencia de
salida.
Los siguientes ejemplos representan diagramas BPMN
correctamente conectados:

1. Conectando Subprocesos

Dado que un Subproceso es un tipo particular de Actividad,


hereda de ste las restricciones de conexin que hemos visto en
la seccin anterior. Sin embargo, tambin posee ciertas
restricciones propias que deben ser explicadas para poder
modelarlo adecuadamente.

Aplicar las restricciones de conexin vistas anteriormente a un


Subproceso Colapsado es muy sencillo dado que simplemente
hay que conectarlo con un Flujo de Secuencia.

Ahora bien, un Subproceso Expandido, en el que puede verse el


Proceso interno que est modelando, puede dar lugar a
confusin a la hora de ser conectado con un Flujo de Secuencia.
Existe la restriccin de que un Flujo de Secuencia del Proceso
padre no puede sobrepasar el lmite del borde del Subproceso
Expandido.
Sin embargo, existe la posibilidad de situar el Evento de Inicio o
Fin del Subproceso en la lnea que delimita el borde del mismo, a
fin de clarificar la interaccin entre el Proceso padre y el hijo.
Esto, que en situaciones en las que el Subproceso tiene
nicamente un Evento de Inicio o Fin carece de utilidad, permite
que Subprocesos con ms de un Evento de Inicio o Fin puedan
ser modelados sin obtener diagramas ambiguos.
Evidentemente, la segunda solucin, an siendo los dos
diagramas correctos en trminos de conexin, es menos ambigua
que la primera.

5. Comportamiento de las Actividades


Cuando el token llegue a una Actividad desde un Flujo de
Secuencia de entrada indica que sta est lista para comenzar su
ejecucin.

Una vez que est dentro de la Actividad, sta se ir ejecutando


hasta finalizar su realizacin.

Toda vez que la Actividad se haya realizado completamente, el


token avanzar por el Proceso siguiendo por el Flujo de
Secuencia de salida.

Este comportamiento general es aplicable nicamente cuando


la Actividad est conectada con un Flujo de Secuencia de entrada
y otro de salida.

Si la Actividad tiene ms de un Flujo de Secuencia de entrada,


cada uno de ellos es independiente del resto. Esto quiere decir
que si llega un token desde uno de los flujos de entrada la
Actividad est lista para ser ejecutada y se realiza. Si,
posteriormente, llega otro token desde otro flujo de entrada se
crear otra instancia diferente de la misma Actividad. En BPMN
se permite tener ms de una instancia de la misma Actividad
ejecutndose al mismo tiempo y en diferente punto de desarrollo
cada una.

Si la Actividad tiene ms de un Flujo de Secuencia de salida,


entonces cuando sta termine se generar un token por cada
flujo obteniendo, por tanto, ms de un hilo de ejecucin sobre el
mismo Proceso.

1. Comportamiento de los Subprocesos

Del mismo modo que pasaba con las conexiones de los


Subprocesos, el comportamiento de los mismos cumple con las
restricciones antes descritas para las Actividades pero tienen una
serie de restricciones particulares que conviene destacar.

Tradicionalmente, cuando el flujo de un Proceso padre llegaba


a un Subproceso, ste se detena hasta que no se completaba el
Subproceso. Esto tiene sentido con el comportamiento descrito
anteriormente ya que un token no sigue circulando por el Flujo de
Secuencia de salida hasta que no termina de ejecutarse la
Actividad.

Sin embargo, hay ciertos modelados de Procesos en los cuales


puede ser til en un momento puntual que un Subproceso no
interrumpa el flujo de ejecucin del Proceso padre en el que est
contenido. Para solucionar esto, haba que hacer uso de un
Patrn de construccin conocido que consegua este objetivo. En
la versin actual de BPMN, la 2.0, esto se ha solucionado con un
nuevo concepto: Los Subprocesos de Eventos.
Recuerda que algunos Eventos de Inicio tenan una versin No
Interruptible? Se identificaban porque su smbolo estaba hecho a
trazos y se deca que iban a ser estudiados ms adelante.

Un Subproceso de Evento no es ms que un Subproceso que


empieza con un Evento de Inicio con un disparador asociado y
que puede no interrumpir, si se desea, el flujo de ejecucin de su
Proceso padre. Su smbolo asociado es el de un rectngulo con
las cuatro esquinas redondeadas y con el borde punteado.

En los siguientes ejemplos, la segunda versin que se adjunta


no interrumpe el flujo del Proceso padre cuando se inicia el
Subproceso Analizar Resultados, por lo que seguira avanzando
hacia la Tarea Documentar Conclusiones a pesar de estar
ejecutndose an el Subproceso Analizar Resultados.
Subproceso de Evento Interruptible

Subproceso de Evento No Interruptible


6. Repeticin de Actividades

Dependiendo de la naturaleza del Proceso que se est


modelando, es posible que una cierta Actividad deba ser
realizada repetidas veces. En BPMN, se tienen varias formas de
realizar repeticiones de una cierta Actividad. Dos de ellas sern
explicadas a continuacin, dejando la ltima que utiliza un
elemento de modelado an no explicado, los Nodos, para el
siguiente captulo.
Bucles

Una Actividad puede calificarse con un marcador que defina


grficamente que existe una cierta condicin lgica que
determina la cantidad de veces que tiene que ejecutarse.

Esta condicin lgica obliga a ejecutar repetidamente la


Actividad mientras tenga el valor verdadero hasta que dicha
condicin cambie al valor falso.
Mltiples Instancias
Aunque pueda parecer similar al anterior, tiene sutiles
diferencias que deben ser explicadas. Calificar una Actividad con
el marcador Mltiples Instancias conlleva ejecutarla varias veces
pero creando instancias diferentes de la misma para cada una de
ellas. Por tanto, cada ejecucin tendr su propio flujo de
ejecucin y sus propios datos internos.

La siguiente cuestin que debe decidir el modelador es si estas


instancias de la Actividad deben ser ejecutadas paralela o
secuencialmente. En las antiguas versiones de BPMN slo estaba
soportada la forma paralela. Con ello se consigue que todas las
instancias de la Actividad se ejecuten en paralelo, a la vez. El
marcador asociado son tres lneas verticales en la parte inferior
de la Actividad.

La novedad que introduce la versin actual, la 2.0, es que esas instancias que se van a
crear de la Actividad sean ejecutadas secuencialmente, slo cuando se finalice una de
ellas se dar paso a la siguiente. El marcador asociado son tres lneas horizontales en
la parte inferior de la Actividad.

7. Cancelacin de Actividades

En la realidad, existen muchas situaciones en las cuales se est


realizando una accin que, por algn motivo externo o interno, no
puede continuar. Un examen que no se termina completamente
por falta de tiempo, una conversacin que se interrumpe porque
llaman a uno de los participantes Todas estas situaciones
reflejan ese concepto que se ha descrito inicialmente. Para
modelar un Proceso correctamente, hay que tener en cuenta este
aspecto para habilitar un mecanismo que permita cancelar
Actividades que, por cualquier motivo, lo requieran.
La forma que utiliza BPMN para manejar las excepciones dentro
del flujo de ejecucin del Proceso es toda una innovacin frente a
otras herramientas de modelado. Ana en la misma sencillez,
claridad y efectividad a la hora de modelar el Proceso.

Como ya se ha visto, cuando se completa una Actividad el


token sigue el flujo del Proceso avanzando por el Flujo de
Secuencia de salida. Sin embargo, si ocurre la cancelacin de
dicha Actividad, el token avanza por un Flujo de Secuencia de
excepcin cuyo origen se encuentra en el Evento que la ha
generado. Esta cancelacin conlleva la finalizacin del flujo
normal del Proceso. En ese sentido, el enfoque de BPMN de
anclar un Evento Intermedio al borde de la Actividad, denota una
forma de describir el error que muestra el flujo anormal de
ejecucin de la misma de un modo muy natural.

Este primer ejemplo muestra un Proceso que finaliza con un


Evento de Error, no siendo capturado por ninguna rutina que la
maneje. Este modelado de Procesos debe evitarse en la medida
de lo posible, ya que deja la responsabilidad del manejo de la
excepcin a un Proceso de mayor responsabilidad que an no se
ha modelado.

Este modelo es mejor que el anterior pues encapsula las operaciones que pueden
presentar un error en su ejecucin en un Subproceso que puede capturar los Eventos
que se lancen.

Al igual que pasaba con los Subprocesos de Eventos, es


posible que la cancelacin de una Actividad no deba finalizar el
flujo normal del Proceso que se est modelando. Recuerda los
Eventos Intermedios No Interruptibles? Anclar un Evento de este
tipo a una Actividad indica que la cancelacin de la misma no
finaliza el flujo normal del Proceso por lo que contina con su
ejecucin.

8. Atributo de Actividades

Estos son conceptos que sobrepasan los contenidos docentes


del tutorial ya que son demasiado avanzados para la gran
mayora de los modeladores. Por tanto, slo se definen sin entrar
en profundidad.
Actividad de Llamada

Referencia a una Actividad definida de forma global que se


utiliza en el modelado del Proceso actual. Ntese que la
diferencia entre este smbolo y la Tarea es que el trazo del borde
es notoriamente ms grueso.
Actividad de Compensacin

Sirve para denotar Actividades que revierten lo hecho


anteriormente por otras dentro del mismo Proceso.
nicamente pueden ir unidas a un Evento Intermedio de
Compensacin que est anclado a otra Actividad. Hay que
destacar que este tipo de Evento no cancela la Actividad en la
que est anclado, simplemente revierte la accin si
posteriormente se requiere.

Actividad de Llamada y Compensacin

Resultado de la unin de ambos atributos.

1. Atributo de Subprocesos

Transaccin

Una Transaccin es un Subproceso que est soportado por un


protocolo especial que se asegura que todas las partes
involucradas en el mismo tienen conocimiento de que debe
terminar completamente.

Debe tener anclado un Evento Intermedio de Cancelacin para


deshacer las acciones ya realizadas en su interior si debe
cancelarse.

Subproceso Ad Hoc

Un Subproceso es de tipo Ad Hoc cuando hay un Proceso que


no tiene Tareas o se desconoce su orden de ejecucin y, por
tanto, no pueden ser conectadas con la secuencia del diagrama
en la fase de diseo.
Transaccin Ad Hoc

Resultado de la unin de ambos atributos.

Nodos

Este captulo tiene como objetivo explicar el funcionamiento de un elemento de modelado


concreto, los Nodos. Un Nodo controla el flujo de ejecucin de un Proceso, creando y
sincronizando hilos diferentes de ejecucin en el mismo.

1. Introduccin
Un Nodo controla el flujo del Proceso que est modelando
creando hilos de ejecucin que convergen y divergen dentro del
mismo. Tiene, por tanto, la responsabilidad de asegurar la
correcta ejecucin del mismo.

La representacin grfica de un Nodo tiene forma de un


diamante.

Son variadas las situaciones que pueden requerir la inclusin


de un Nodo en el modelado de un Proceso: El valor de cierta
condicin que influye sobre qu alternativa del Proceso ejecutar,
una espera en cierto punto a fin de asegurar que todos los hilos
de ejecucin del Proceso han llegado para continuar la ejecucin
del mismo...

Controlar el flujo de un Proceso depende en gran medida de la


naturaleza de la condicin que hay que supervisar. Por ejemplo,
no se realiza el mismo tratamiento sobre una condicin lgica
que sobre una condicin basada en Eventos. Por ello, BPMN
tiene una amplia gama de Nodos diferentes para modelar
correctamente el tipo de condicin de que se trate.

Al igual que ocurra con los Eventos, se identifica cada tipo de


Nodo por el marcador que se incluye dentro del smbolo.

2. Comportamiento de los Nodos

Independientemente del tipo de que se trate, un Nodo realiza


dos acciones de control sobre el flujo de ejecucin de un
Proceso. Puede divergirlo si tiene varios Flujos de Secuencia de
salida y puede convergerlo si tiene varios Flujos de Secuencia de
entrada.
En el caso un Nodo divergente, la naturaleza del mismo podr
generar uno o ms tokens que circularn por los que tenga
definidos. Si se trata de un Nodo convergente, el token que llegue
esperar, si es necesario, a que los restantes que se hubieran
generado previamente lo alcancen. Se produce, por tanto, un
punto de sincronizacin en el Nodo.

Recuerda en el anterior captulo cuando se analiz el


comportamiento de una Actividad con mltiples Flujos de
Secuencia de entrada? Se deca que para cada entrada se creaba
una instancia diferente de la Actividad. Esto, que en algunas
situaciones no es el comportamiento esperado, se soluciona
utilizando un Nodo que sincronice todos los tokens antes de
ejecutarla.

Un requisito importante y necesario a la hora de modelar un


Proceso con un Nodo es que el tipo de Nodo divergente que se
utilice tiene que ser el mismo, si se usa, para el Nodo
convergente.

3. Nodo Exclusivo

Un Nodo Exclusivo representa un momento del Proceso en el


que existen varios caminos alternativos dependiendo del valor de
cierta condicin lgica. Esta condicin puede tener el nivel de
complejidad que se necesite, desde un tpico S o No hasta
construcciones complejas con operadores binarios relacionales y
lgicos (>, <, AND, OR...).
Su smbolo asociado es el ya visto en la introduccin

o con un marcador visible en forma de X

Ambas descripciones son equivalentes.

Para un Nodo Exclusivo divergente, se generar un nico token


que circular por el primer Flujo de Secuencia de salida que
verifique el valor verdadero para la condicin, an existiendo
otras alternativas que fueran igualmente vlidas.

Nada impide modelar un Nodo Exclusivo que, para cierta


ejecucin del Proceso, no verifique ninguna alternativa la
condicin que se est evaluando. Esto provocara una espera
indefinida del token en el Nodo Exclusivo por lo que las buenas
prcticas de BPMN recomiendan establecer un Flujo de
Secuencia por defecto. Este Flujo de Secuencia ser el elegido
por el token en caso de que ninguna de las otras alternativas
cumplan la condicin.

El comportamiento convergente de este Nodo es una mera


formalidad porque, como se ha dicho, al generarse un nico
token no existe sincronizacin.

1. Repeticin con un Nodo Exclusivo

Recuerda cundo se explic el concepto de repeticin de


Actividades? Se indic que haba tres formas posibles para
repetir una Actividad concreta. Dos se de ellas ya se vieron en el
captulo correspondiente a las Actividades. La ltima es haciendo
uso de un Nodo Exclusivo.

En efecto, se puede establecer la condicin que se evala en un


Nodo Exclusivo y si dicha condicin es cierta, se vuelve a
ejecutar la Actividad. En caso contrario, se contina el flujo de
ejecucin del Proceso. Se trata de un patrn de desarrollo muy
conocido y tiene la siguiente estructura.

4. Nodo Inclusivo

Un Nodo Inclusivo presenta las mismas caractersticas que un


Nodo Exclusivo. Se tienen diferentes alternativas para una cierta
condicin lgica. La diferencia con respecto al segundo es que
en ste s se permite que se generen tantos tokens como
alternativas verifiquen la condicin.

Su smbolo asociado es el de un crculo.

En este caso, el token s espera en el Nodo convergente para


realizar la sincronizacin.

Dado que la naturaleza es similar al del Nodo Exclusivo se


recomienda modelar una alternativa por defecto.

5. Nodo Paralelo

Un Nodo Paralelo no verifica ninguna condicin por lo que


genera un token por cada Flujo de Secuencia de salida que tenga
definido. Se realizar una sincronizacin en el Nodo convergente.

Su smbolo asociado es un signo de suma.


6. Nodo basado en Eventos

Un Nodo basado en Eventos representa un momento del


Proceso en el que se tienen dos o ms alternativas que dependen
de la ocurrencia de un tipo de Evento para que pueda proseguir
su ejecucin.

Su smbolo asociado es el de un pentgono incluido en un


Evento Intermedio.

Su comportamiento es similar al Nodo Exclusivo en el sentido


de que nicamente se generar un token que circular por la
primera alternativa que coincida con el tipo de Evento que se ha
lanzado. Una posterior activacin de otro Evento definido en el
mismo Nodo no afectar al token que se haya generado
previamente ni crear uno nuevo.

Evidentemente, es posible modelar un Nodo basado en Eventos


en el cual, todas sus posibles alternativas no verifiquen ninguno
de los Eventos que se hayan disparado. El token sufrir, por
tanto, una espera indefinida en el Nodo. Modelar un Flujo de
Secuencia por defecto no tiene sentido porque lo que se estn
verificando son Eventos, no condiciones. Por ello, las buenas
prcticas de BPMN recomiendan modelar una alternativa
mediante un Evento Intermedio Temporizador que se activar
cundo la condicin de tiempo que tiene definida se dispare.

7. Nodo Complejo

Un Nodo Complejo se utiliza cundo no es posible modelar el


comportamiento que se necesita en el Proceso con ninguno de
los Nodos que provee BPMN por defecto. Es el modelador, en
tiempo de diseo del Proceso, el que indicar el comportamiento
divergente o convergente del mismo.

Su smbolo asociado es un asterisco.


8. Nodo Exclusivo de Evento de Inicio

Este Nodo es un nuevo smbolo incluido en la versin actual de


BPMN, la 2.0. Su smbolo asociado es similar al del Nodo basado
en Eventos salvo que el tipo de Evento es de Inicio, no
Intermedio.

Permite simplificar el modelado de un Proceso concreto.

es equivalente a

9. Nodo Paralelo de Evento de Inicio


Este Nodo es un nuevo smbolo incluido en la versin actual de
BPMN, la 2.0. Su smbolo asociado es el de Evento de Inicio
Paralelo Mltiple.

Permite simplificar el modelado de un Proceso concreto.

es equivalente a

10. Ejemplo de uso combinado de Nodos


Swimlanes

Este captulo tiene como objetivo explicar el funcionamiento de un elemento de


modelado concreto, los Swimlanes. Un Swimlane se utiliza para modelar Procesos en
los que van a formar parte ms de un participante

1. Introduccin

Por lo visto hasta ahora, slo se puede modelar Procesos


Privados. El concepto Privado debe entenderse en el sentido de
que el Proceso que se modela slo puede ser realizado por un
participante. Sin embargo, es evidente que existen Procesos que
son realizados por dos o ms participantes. Piense, por ejemplo,
en la contratacin de un candidato por una empresa. En el
modelado de dicho Proceso habr que tener en cuenta los dos
participante, candidato y empresa. Un diagrama de este ltimo
tipo es lo que se conoce como Colaboracin.

BPMN provee de forma estndar unos elementos de modelado


que permiten disear Procesos que tengan ms de un
participante, ayudando a organizar y dividir las actividades en un
diagrama. Dichos elementos sern explicados a continuacin.

2. Calle

Una Calle es la representacin grfica de un participante en un


Proceso modelado en BPMN. Cada participante presente en el
Proceso deber estar asociado nicamente a una Calle.

El smbolo asociado a una Calle es una caja rectangular


que sirve de contenedor para el Proceso que tenga definido en
su interior.

Por tanto, participantes diferentes tendrn su propio Proceso


modelado en su interior y habr que estudiar como comunicarse
entre ellos para avanzar por el flujo de ejecucin en cada uno.
No es necesario que en el modelado de un diagrama de
Colaboracin, todos los participantes tengan su Proceso interno
visible, bien sea porque el modelador en la fase de diseo del
mismo no lo necesita o porque carece de la informacin
necesaria para ello. Si no lo tiene, se dice que es un participante
abstracto y su Calle se modela como una caja negra.

1. Conectando Calles

Una restriccin impuesta a la Calle es que el Flujo de Secuencia


del Proceso no puede sobrepasar los lmites impuestos por el
borde de la misma. Por tanto, para poder interactuar entre
diferentes Calles se utilizar un Conector de Objeto an no
explicado, el Flujo de Mensaje.

Los Flujos de Mensaje organizan todas las interacciones entre


las Calles, permitiendo avanzar a cada participante en su Proceso
interno. Si uno de los participantes es abstracto, el Flujo de
Mensaje se conecta con el borde de la Calle.
Si todos los participantes muestran sus Procesos internos,
entonces los Flujos de Mensaje conectan los elementos de
modelado correspondientes.

3. Lnea
Una Lnea es una particin dentro de la Calle de un participante.
Representa diferentes roles del participante dentro de su
Proceso. Su smbolo asociado es un rectngulo que se conecta
dentro de la Calle.

Por tanto, es muy posible que cada elemento de modelado del


Proceso, una Actividad, por ejemplo, sea ejecutado por un rol
diferente del participante. Piense, por ejemplo, en el ejemplo
anterior de la entrevista de trabajo. Es muy posible que la
Actividad Realizar Entrevista sea realizado por un rol
Entrevistador mientras que la Actividad Evaluar Contratacin sea
llevada a cabo por el rol Direccin de RR.HH.. Entrevistador y
Direccion de RR.HH. son roles diferentes del participante
Empresa definidos en su propio Proceso interno.

1. Conectando Lneas

Son varias las restricciones de conexin de las Lneas:

Se permite utilizar un Flujo de Secuencia que conecte


diferentes Lneas dentro de la misma Calle.
Se permite utilizar un Flujo de Mensaje que conecte
diferentes Lneas de Calles distintas.
No hay lmites en el anidamiento de Lneas, por lo que
pueden definirse diferentes roles subordinados a un rol
superior.

4. Ejemplo de Colaboracin

Potrebbero piacerti anche