UNIVERSIDADE DE SO PAULO
ANDERSON VALTRIANI SIQUEIRA
MODELAGEM DE PROCESSOS DE NEGCIO
So Paulo
Dezembro / 2006
ANDERSON VALTRIANI SIQUEIRA
MODELAGEM DE PROCESSOS DE NEGCIO
Monografia apresentada ao Instituto de
Matemtica e Estatstica da Universidade de
So Paulo para a concluso do curso de
graduao em Cincia da Computao.
rea de Concentrao: Cincia da
Computao
Orientador: Prof. Dr. Joo Eduardo Ferreira
So Paulo
Dezembro / 2006
LISTA DE ILUSTRAES
Figura 2.1: Elementos da BPMN (Fonte: [12]) .......................................................... 11
Figura 2.2: Diretrizes para o projeto conceitual de workflow (Fonte: [13]) ................ 20
Figura 3.1: Necessidades de um Analista de Negcio (Baseado em [13]) ............... 24
Figura 3.2: Padro Seqncia (Fonte: [1])................................................................ 27
Figura 3.3: Seqncia (BPMN) ................................................................................. 27
Figura 3.4: Padro Diviso Paralela (Fonte: [1])....................................................... 27
Figura 3.5: Diviso Paralela (BPMN) ........................................................................ 28
Figura 3.6: Padro Sincronizao (Fonte: [1]) .......................................................... 28
Figura 3.7: Sincronizao (BPMN)............................................................................ 29
Figura 3.8: Padro Escolha Exclusiva (Fonte: [1]).................................................... 29
Figura 3.9: Escolha Exclusiva (BPMN) ..................................................................... 30
Figura 3.10: Padro Juno Simples (Fonte: [1]) ..................................................... 30
Figura 3.11: Juno Simples (BPMN)....................................................................... 31
Figura 3.12: Padro Escolha Mltipla (Fonte [1])...................................................... 31
Figura 3.13: Escolha Mltipla (BPMN) ...................................................................... 32
Figura 3.14: Padro Juno Sincronizada (Fonte [1]) .............................................. 32
Figura 3.15: Juno Sincronizada (BPMN)............................................................... 33
Figura 3.16: Padro Juno Mltipla (Fonte [1])....................................................... 34
Figura 3.17: Juno Mltipla (BPMN) ....................................................................... 34
Figura 3.18: Padro Discriminador (Fonte [1]).......................................................... 35
Figura 3.19: Discriminador (BPMN) .......................................................................... 35
Figura 3.20: Padro N-Discriminador (Fonte [1]) ...................................................... 36
Figura 3.21: N-Discriminador (BPMN) (Fonte: [15]).................................................. 36
Figura 3.22: Padro Ciclo Arbitrrio.......................................................................... 37
Figura 3.23: Ciclo Arbitrrio (BPMN)......................................................................... 38
Figura 3.24: Padro Terminao Implcita (Fonte [1]) .............................................. 38
Figura 3.25: Terminao Implcita (BPMN)............................................................... 39
Figura 3.26: MI Sem Sincronizao (BPMN) ............................................................ 40
Figura 3.27: MI Com Conhecimento Prvio em Tempo de Projeto (BPMN) (Fonte: [15]) ... 40
Figura 3.28: MI Com Conhecimento Prvio em Tempo de Execuo (BPMN) (Fonte: [15]) 41
Figura 3.29: MI Sem Conhecimento Prvio (BPMN) (Fonte [15]) ............................. 42
Figura 3.30: Padro Escolha Postergada (Fonte [1])................................................ 43
Figura 3.31: Escolha Postergada (BPMN) (Fonte [15]) ............................................ 43
Figura 3.32: Padro Roteamento Paralelo Entrelaado (Fonte [1]) .......................... 44
Figura 3.33: Roteamento Paralelo Entrelaado (BPMN) .......................................... 44
Figura 3.34: Padro Marco (Fonte [1])..................................................................... 45
Figura 3.35: Marco (BPMN) ...................................................................................... 45
Figura 3.36: Atividade Cancelvel (BPMN) (Fonte: [15]) .......................................... 46
Figura 3.37: Caso Cancelvel (BPMN) ..................................................................... 47
LISTA DE ABREVIATURAS E SIGLAS
BPD
Business Process Diagram
BPM
Business Process Management
BPMI
Business Process Management Initiative
BPMN
Business Process Modeling Notation
NPDL
Navigation Plan Definition Language
PN
Plano de Navegao
SQL
Structured Query Language
WfMC
Workflow Management Coalition
SUMRIO
1 NTRODUO.......................................................................................................... 6
1.1 Objetivos .......................................................................................................... 7
1.2 Contribuies .................................................................................................. 7
1.3 Organizao do texto ...................................................................................... 8
2 FUNDAMENTAO TERICA............................................................................... 9
2.1 Processo de negcio ...................................................................................... 9
2.2 Modelagem de processo de negcio utilizando a BPMN .......................... 10
2.3 Arquitetura RiverFish.................................................................................... 14
2.3.1 DEFINIO FORMAL DE PLANO DE NAVEGAO.............................. 14
2.3.2 PRINCIPAIS CARACTERSTICAS E PROPRIEDADES DO RIVERFISH 15
2.3.3 RIVERFISH ESTENDIDO......................................................................... 16
2.4 Navigation Plan Definition Language (NPDL) ............................................. 16
2.4.1 A NAVIGATIONPLAN TOOL .................................................................... 19
2.5 Diretrizes para projeto conceitual de workflows ........................................ 19
3 RESULTADOS OBTIDOS ..................................................................................... 23
3.1 Necessidades de um Analista de Negcio.................................................. 24
3.2 Especificao dos Padres de Controle de Fluxo em NPDL e BPMN...... 26
3.2.1 PADRES BSICOS DE CONTROLE DE FLUXO.................................. 26
3.2.2 Padres Avanados de Ramificao e Sincronizao............................ 31
3.2.3 PADRES ESTRUTURAIS ...................................................................... 37
3.2.4 PADRES DE MLTIPLA INSTNCIA.................................................... 39
3.2.5 PADRES BASEADOS EM ESTADOS ................................................... 42
3.2.6 PADRES DE CANCELAMENTO ........................................................... 46
4 CONCLUSO ........................................................................................................ 48
4.1 Trabalhos Futuros ......................................................................................... 48
REFERNCIAS BIBLIOGRFICAS ........................................................................ 50
Cap tulo 1
INTRODUO
Modelagem de negcio uma erramenta conceitual que utiliza um conjunto
de elementos e rela es entre estes para expressar a maneira como uma
determinada atividade realizada especi icando dados de entrada sada e o luxo
de informao que ocorre durante a realizao da atividade. Assim a modelagem
usada no apenas para especi icar os passos de negcio mas tambm para prover
uma maneira uma viso simpli icada do negcio.
Na modelagem de negcio temos o mapeamento dos processos existentes.
Este mapeamento de grande import ncia uma vez que permitindo a viso ampla e
simplificada do negcio possibilita o entendimento e a melhoria dos servios
internos e externos da empresa.
Dessa maneira, a modelagem tambm usada para auxiliar as
organiza es na compreenso de seu prprio negcio permitindo a compreenso e
a identificao de problemas e possveis melhorias.
De acordo com [10], a modelagem de processos de negcio intenta criar
uma definio simples de um processo de tal maneira que pro issionais de di erentes
reas possam ver compreender e manipular de acordo com suas competncias o
processo atravs de uma notao adequada.
A BPMN um conjunto de conven es gr icas para descrever processos
de negcio. Esta notao oi especi icamente projetada para coordenar seqncias
de processos e a troca de mensagens existente entre processos. A inteno de um
modelo de processo em BPMN capturar detalhes su icientes para permitir que ele
seja utilizado como fonte de uma descrio executvel de um processo.
Existem muitas ferramentas para modelagem de processos de negcio.
Muitas caractersticas podem ser levadas em considerao ao se escolher uma
ferramenta, entre elas, podemos destacar a utilizao da BPMN para modelagem do
processo e a possibilidade de simular e de gerar estatsticas do processo. Para que
seja possvel a implementao destas duas ltimas, necessrio que exista uma
maneira de especificar formalmente os processos de negcio.
7
H uma grande variedade de linguagens para a de inio e execuo de
processos de negcio. O ideal seria que estas linguagens pudessem descrever
completamente qualquer processo de negcio mas como pode ser visto em uma
pesquisa feita por [14], esta no a realidade. Dessa orma deve-se escolher a
linguagem que atenda as necessidades existentes. Ento visando estabelecer
par metros para comparao entre as linguagens de definio de processos de
negcio
oram de inidos padr es de controle de luxo em [1]. Assim, podemos
classificar as linguagens de acordo com os padr es que ela capaz de expressar.
Existem duas importantes caractersticas que as
erramentas para
modelagem devem possuir: uma notao que seja completa o su iciente para
permitir a modelagem do processo de negcio assim como a utilizao de uma
linguagem para a definio do processo que possa expressar corretamente o
processo de negcio.
1.1 Objetivos
O principal objetivo deste trabalho identi icar como a notao BPMN pode
graficamente, representar os padr es de controle de luxo. Fazendo o mapeamento
dos padr es de controle de luxo para esta notao.
1.2 Contribuies
A principal contribuio a representao dos padr es de controle de luxo
atravs da notao BPMN.
Uma segunda contribuio deste trabalho a de inio de passos que
podem ser seguidos para que algumas necessidades que os analistas de negcio
possuem possam ser atendidas.
1.3 Organizao do texto
No captulo
so apresentados os undamentos utilizados para desenvolver
e entender este trabalho, tais como: o conceito de processos e gerenciamento de
negcios uma descrio da BPMN e de seus elementos que oram utilizados neste
texto, a definio do plano de navegao e da arquitetura R
, a descrio da
NPDL e de seus operadores e a descrio das diretrizes para modelagem de projeto
conceitual de workflows.
No captulo 3 apresentada a descrio dos padr es de controle de fluxo,
assim como um exemplo, sua representao em NPDL e em BPMN para cada um
dos padr es. Alm disso apresentamos quais as principais necessidades de um
profissional de negcio e mostramos passos que podem ser seguidos para que elas
sejam facilmente atendidas.
Por fim, o captulo
traz a concluso do trabalho, sua contribuio e
apresenta propostas para trabalhos futuros.
Cap tulo 2
FUNDAMENTAO TERICA
2.1 Processo de negcio
Segundo [5], processo de negcio pode ser visto como a ordenao de
atividades de trabalho utilizando tempo e espao com um incio um im e um
conjunto claramente definido de entradas e sadas. Assim podemos entender
processo de negcio como um conjunto de passos (ou atividades) que devem ser
executados em uma determinada ordem. Estas atividades podem ser executadas
sequencialmente ou paralelamente.
O gerenciamento de processos de negcio
ou
(BPM), um novo mtodo e uma nova tecnologia para manipulao de
processos. Alm das caractersticas relativas ao fluxo de controle, envolve mtodos
tcnicas e erramentas para apoiar o projeto execuo gerenciamento e anlise
operacional dos processos de negcio.
Com o BPM, houve a possibilidade da abstrao do negcio da lgica de
aplicativos, pois, segundo [6], ofereceu uma das primeiras oportunidades reais para
a separao de gerenciamento de negcios do gerenciamento de sistemas.
Um sistema de BPM constitudo dos seguintes mdulos:
(ambiente de execuo ou motor de execuo) Modelagem de Processos (definio
e projeto do processo); Simulao Monitoramento e de Atividade e Inter ace de
usurio. A modelagem de processos pode ser eita utilizando a
(BPMN), que ser descrita a seguir.
10
2.2 Modelagem de processo de negcio utilizando a BPMN
BPMN foi desenvolvida pela
aps mais de
(BPMI)
anos de pesquisa para ornecer uma notao que osse acilmente
entendida pelos usurios de negcio desde os analistas de negcios que comeam
a modelar os processos, at os desenvolvedores que os implementam. Esta
notao visa permitir a comunicao entre di erentes audincias de uma grande
variedade de informa es. Uma descrio detalhada pode ser encontrada em [12].
A BPMN define o
(BPD) que um conjunto de
elementos gr icos que permitem a criao de um modelo de Processo de Negcio.
Com a BPMN temos uma notao gr ica padronizada que descreve os
passos de um processo de negcio em um
Os elementos da BPMN foram organizados em quatro categorias bsicas.
1. Objetos de Fluxo: So os principais elementos gr icos para de inir o
comportamento de um processo do negcio.
a.
vento
trs objetos do luxo:
algo que ocorre no decorrer do processo de
negcio. Eles a etam o luxo do processo e podem ter um
gatilho, ou um resultado associado. H trs tipos de eventos:
Inicial, intermedirio e inal.
b.
tivi a e A atividade uma tare a genrica executada pela
organizao ela pode ser at mica ou complexa.
c.
atewa G
so usados como estrutura de controle
na seqncia do luxo.
2. Objetos de conexo: Os objetos de conexo conectam eventos
atividades e
. H trs objetos de conexo utilizados para
conectar os objetos do fluxo s outras informa es:
a. Flu o e se
n ia
utilizado para mostrar a ordem que as
atividades sero executadas no luxo.
b. Flu os e
ensage
utilizado para mostrar o tr ego de
mensagens entre as entidades do negcio.
c.
sso ia
o Uma associao conecta in ormao adicional
aos elementos bsicos como por exemplo uma descrio.
11
3. Raia: Raias so utilizadas para agrupar os elementos de modelagem
possibilitando a organizao das atividades em categorias.
dois
tipos de raias:
a. Pis inas Uma piscina um continer que agrupa um
conjunto de atividades de uma organizao. As piscinas podem
ser do tipo caixa preta ou caixa branca. A piscina do tipo caixa
preta esconde seus detalhes; a comunicao s pode ocorrer
com a borda da piscina enquanto a piscina do tipo caixa branca
exibe seus detalhes e permite a comunicao com elementos
em seu interior.
b. Pistas Para decompor uma organizao em unidades
espec icas divide-se longitudinalmente o interior da piscina por
meio de pistas.
4. Artefato: Artefatos so utilizados para agregar informa es ao
modelo permitindo uma maior flexibilidade da notao. Atualmente
existem trs tipos de arte atos de inidos:
a.
eto
e Da os So mecanismos utilizados para mostrar
como dados so produzidos ou requeridos pelas atividades.
b.
ru o Grupos so utilizados para documentao e no
afetam o fluxo do negcio.
c.
nota
utilizado para o erecer um texto com
informa es adicionais para quem estiver lendo o diagrama
BPMN.
Figura 2.1 Elementos da BPMN (Fonte 12 )
12
A BPMN possui dezenas de elementos de modelagem. Os elementos
citados acima so apenas uma generalizao dos elementos existentes. A seguir
sero apresentados os elementos utilizados neste trabalho.
1. Evento: Existem 9 tipos de eventos: mensagem, tempo, erro, regra,
cancelamento, compensao ligao mltiplo e trmino. A seguir
uma descrio de 3 deles.
a.
rro:
b. Liga
utilizado para o controle de exceo.
o:
utilizado para ligar eventos. Pode ser visto como
um go to.
c.
r ino: Indica que todas as atividades do processo devem
ser terminadas.
2. Gate a : G
podem ser usados tanto para a unio quanto
para a diviso do luxo. Na diviso temos o
como sendo um
local onde o fluxo pode seguir dois ou mais caminhos. Na unio o
um local que espera uma ou mais linhas de execuo do
fluxo antes de habilitar a atividade seguinte que pode, inclusive, ser
habilitada mais de uma vez.
a.
lusivo
R : Deciso e unio exclusiva.
ou
: Apenas um caminho ser seguido.
: Aguarda a linha do fluxo que foi ativada antes de
habilitar a atividade seguinte.
b. n lusivo
R : Deciso e unio inclusiva.
: Qualquer quantidade de caminho pode ser seguido.
: Aguarda todas as linhas de fluxos que foram ativadas
e s depois habilita a atividade seguinte.
13
c. Paralelo
ND :
: Todos os caminhos devem ser seguidos.
: Aguarda todas as linhas de fluxo antes de habilitar a
atividade seguinte.
d.
le o:
: Uma expresso determina quais caminhos devem
ser seguidos.
: Uma expresso determina por quais fluxos de
seqncia necessrio esperar antes de habilitar a atividade
seguinte.
3. Fluxo de exceo: Ocorre fora do fluxo normal do processo e
baseado em um evento intermedirio que ocorre durante a execuo
de uma atividade.
4. Atividade de repetio: Determina se a atividade executada zero
uma ou mais vezes. Este tipo de repetio semelhante
constru es
5. Atividade de m ltiplas inst ncias: Determina a quantidade de
vezes que a atividade ser executada. Este tipo de repetio
semelhante
construo
14
2.3 Arquitetura RiverFish
Segundo [7], R
um modelo arquitet nico para a representao
controle e execuo de processos de negcio. Esta arquitetura possui uma
linguagem de modelagem descrita pelo conceito de N
Navegao). Dessa orma podemos ver R
(Plano de
como uma arquitetura para
gerenciamento de processos de negcios.
Um conceito utilizado nesta arquitetura o conceito de plano de navegao.
Este conceito foi definido em [7] e estendido em [8] como um conjunto de todos os
processos de negcio exigidos em uma aplicao para se atingirem os objetivos de
negcio. O plano de navegao mapeia todas as regras de consistncia em uno
s requisi es dos servios eletr nicos de todos os
dos dados pertencentes
objetivos de negcio. Um plano de navegao conecta uma requisio ao seu
respectivo passo de negcio e uma inst ncia do PN pode ser entendida como um
vnculo entre uma requisio de um determinado usurio e os passos de negcio
que respondero por ela.
De acordo com [7], a definio ormal de plano de navegao utiliza
fundamentos da lgebra de processos. Os undamentos da lgebra de Processos
no sero descritos neste trabalho mas podem ser vistos em [2].
2.3.1 DEFINIO FORMAL DE PLANO DE NAVEGAO
Definio 1:
les. Uma ao simples um conjunto de a es
at micas compostas usando os operadores de seqncia e composio alternativa.
Definio 2: Ponto e verifi a
o. Um ponto de verificao um conjunto
de a es at micas compostas usando regras restritivas e condicionais.
Definio 3: Passo
e Nego io. Um passo de negocio ou uma ao
simples ou um ponto de verificao.
Definio 4: Pro esso e Nego io. Um processo de negocio um conjunto
de passos de negocio compostos usando operadores bsicos da lgebra de
processos e suas extens es.
15
Definio 5: Plano e Navega
o. Um plano de navegao um conjunto
de todos os processos de negocio exigidos em uma aplicao para atingir o objetivo
de negocio.
Passos de negocio podem ser especializados em a es simples pontos de
verificao regras e tipo de regras. Cada passo especializado implementa suas
a es at micas internas sobre um dado espec ico.
uando um plano de navegao
instanciado um vnculo criado entre os dados e os passos de negocio.
2.3.2
R
RF
PRINCIPAIS
CARACTER STICAS
PROPRIEDADES
DO
Segundo [7], o modelo arquitet nico R
apresenta duas principais
caractersticas:
1. A reutilizao de um determinado passo de negcio na de inio de
outros processos de negcio:
2. O controle de execuo das instancias dos planos de navegao em
bancos de dados relacionais.
Para os autores, estas duas caractersticas aliadas
de inio ormal do
Plano de Navegao rati icam as seguintes propriedades da arquitetura R
1. Reaproveitamento
2. Formalizao
3. Instanciao
4. Preciso na localizao da interao
Estas quatro propriedades do RF-NP esto undamentadas nas de ini es
da lgebra de Processos relacionadas
representao do ormalismo do ciclo de
regras. Suas defini es podem ser encontradas em [2] e [7].
16
2.3.3 R
RF
ESTENDIDO
Segundo a arquitetura de R
, processos podem ser divididos em duas
categorias: at micos e compostos. Processos de negcio at micos so descritos em
termos de passos de negcio sendo que passos de negcio podem ser a es
simples ou pontos de verificao. Processos de negcios compostos so aqueles
obtidos a partir de outros processos de negcio. A es e pontos de veri icao so
utilizados para manipulao de dados.
Em [9], o metamodelo do R
foi estendido, com o objetivo de utilizar
ontologias para representar o processo de negcio. Dessa orma inseriu-se a
classificao de regras de negcio possibilitando a representao do encadeamento
seqencial do luxo de execuo de um processo de negcio. E a arquitetura oi
adaptada para representar os conceitos de classificao de regras de negcio
propostos em [11].
As regras de negcio oram agrupadas em duas categorias: restritivas e
condicionais. Regras restritiva no admitem respostas alsas ou seja o luxo s
pode continuar sendo executado se uma regra deste tipo for atendida. Regras
condicionais avaliam a respostas e, com base nela, decidem por qual caminho
seguir.
2.4 Navigation Plan Definition Language (NPDL)
A NPDL uma extenso da linguagem S L. Ela oi de inida por [4] com o
objetivo de viabilizar o controle de processos de negcio para um modelo relacional
de dados. Esta linguagem baseada no conceito do plano de navegao da
arquitetura RiverFish e em operadores da lgebra de processos.
Processos em NPDL so de inidos por express es algbricas que so
constitudas por a es at micas processos e operadores NPDL.
A NPDL contm os operadores mais comuns da lgebra de processos alm
de tambm de inir operadores adicionais com o objetivo de atender a todas as
categorias de padr es de controle de luxo.
17
Os operadores da NPDL so:
1. Composio Seq encial (operador "."): o termo de processo A . B
significa que inicialmente somente o termo A est habilitado para
execuo. O termo B ser habilitado para execuo somente aps o
fim da execuo do termo A
2. Composio Alternativa (operador "+"): o termo de processo A + B
significa que ambos termos A e B estaro habilitados para a
execuo
3. Composio Paralela (operador "||"): o termo de processo A || B
significa que os termos A e B podem ser executados paralelamente;
Este operador representa o operador de entrelaamento da lgebra
de processos, com a ressalva de que na NPDL no h o conceito de
comunicao da ACP.
4. Composio Paralela Entrelaada (operador "|*"): o termo de
processo A |* B significa que os termos A e B podem ser executados
em qualquer ordem, mas no paralelamente;
5. Composio Multi Convergente (operador "&"): o termo de
processo A & B significa que o termo B ser habilitado para execuo
aps o trmino da execuo de cada linha de execuo do termo A.
Este operador foi criado para facilitar o uso do padro juno mltipla.
6. Composio Discriminatria (operador "^"): o termo de processo A
^ B significa que o termo B ser habilitado para execuo aps o
primeiro trmino de uma linha de execuo do termo A Este operador
foi criado para facilitar o uso do padro discriminador.
7. Repetio Ilimitada (operador "?*"): o termo de processo A?*
significa que o termo A pode ser executado, de forma paralela, uma
ou mais vezes; Este operador foi criado para facilitar a representao
dos padr es de mltipla inst ncias. Este padro reproduz o
comportamento que define a criao de subprocessos recursivos para
a representao de mltiplas inst ncias.
8. Repetio Numericamente Limitada (operador "?n"): o termo de
processo A?5 significa que o termo A deve ser executado, de forma
paralela, 5 vezes; Este operador uma variao do operador
que
permite indicar o nmero de vezes que o termo deve ser instanciado e
18
executado. O nmero associado ao
deve ser um nmero inteiro
positivo e no nulo.
9. Repetio Limitada por Funo (operador "?f"): o termo de
processo A?f significa que o termo A deve ser executado, de forma
paralela, o nmero de vezes retornado pela uno
execuo Este operador uma variao do operador
em tempo de
que permite
a associao de uma uno para determinar em tempo de execuo
quantas inst ncias da atividade sero criadas. A uno que pode ser
associada ao uma uno at mica cujo valor de retorno um
inteiro positivo e no nulo. A uno ser avaliada em tempo de
execuo do processo.
10. Execuo Condicional (operador "%r", sendo r uma regra de
negcio que retorna um valor
): o termo de processo %r1 A
significa que o termo A ser habilitado para execuo se o valor de
retorno da regra r1 for verdadeiro. Sendo assim, uma regra na NPDL
pode ser entendida como uma condio para a execuo de uma
atividade;
11. Execuo Condicional Negativa (operador "%!r", sendo r uma regra
de negcio que retorna um valor
): o termo de processo
%!r1 A significa que o termo A ser habilitado para execuo se o
valor de retorno da regra r1 for falso.
O comportamento dos operadores de execuo condicional (10) e (11) no
so representadas em lgebra de processos. Os operadores (4), (5), (6), (7), (8) e
(9) tambm no existem na lgebra de processos entretanto seus comportamentos
podem ser representados com a combinao de outros operadores de lgebra de
processos.
19
2.4.1 A N
A N
NPL N
foi implementada na forma de uma biblioteca de
fun es e oi desenvolvida para atender
s caractersticas especificadas pela
(WfMC) para um sistema de
. Ela
composta por trs servios: o Interpretador NPDL, o Servio de Instanciao de
Processos e o Servio Monitor de Execuo de Inst ncias de Processos.
A funo do Interpretador NPDL receber um comando de entrada e e etuar
as anlises lxica sinttica e sem ntica. O Servio de Instanciao de Processos
disponibiliza fun es para a criao de inst ncias de processos. O Servio Monitor
de Execuo de Inst ncias de Processos responsvel por ligar uma inst ncia de
processo aos seus dados de execuo (plano de navegao). No entraremos muito
em detalhes sobre a N
, mais informa es podem ser obtidas em
[4] e em [3].
O nosso interesse na N
algbrica em NPDL
que dada uma expresso
podemos criar uma rvore de expresso (rvore de
navegao) que uma rvore binria completa que representa a expresso
algbrica.
Com esta rvore de navegao possvel determinar a ordem de execuo
dos passos de um plano de navegao. E assim tem-se o controle do estado de
cada passo.
2.5 Diretrizes para projeto conceitual de workflows
A idia principal destas diretrizes propor uma seqncia de ases que
conduza a ordenao e encadeamento das tarefas que comp e o luxo de
informa es de um processo de negcio possibilitando a construo de um projeto
conceitual de
, que dever ser um arte ato gra o orientado apto a ser
representado, simulado e executado em ferramentas de BPM.
20
A concepo destas diretrizes se apia na arquitetura para gerenciamento
de processos de negcio denominada R
, na classificao de regras de
negcio para RiverFish no conceito de precedncia de atividades nos mecanismos
bsicos de seqncia paralelismo, iterao e seleo para modelagem de luxo de
controle de um processo de negcio e nos padr es do
Estas diretrizes so um conjunto de etapas de modelagem denominadas
fases, e so descritas a seguir:
Figura 2.2 Diretrizes para o projeto conceitual de
or flo
(Fonte 13 )
As principais caractersticas das diretrizes so:
1. Delimitao e separao das
Conceitual de
ases de construo do Projeto
para atuao de especialistas de negcio e
TI;
2. Aplicao das ases de orma iterativa e incremental, exceto a stima
fase que apenas incremental
3. Recuperao do processo de modelagem por uso de tabelas e
diagramas gerados em cada etapa;
A seguir, cada uma das sete fazes ser detalhada:
Fase
De lara
oe
lassifi a
o os assos e neg
io
Esta primeira etapa destinada a auxiliar pessoas de negcio na
modelagem de processos de negcio.
A declarao dos passos de negcio tem o objetivo de tornar explcito todos
os passos que comp e um processo de negcio sendo assim com a declarao
21
queremos dizer, expor ou manifestar a essncia de um passo de negcio da
maneira mais clara possvel.
A classificao dos passos de negcio tem o objetivo de auxiliar na
ordenao do luxo de controle de processos de negcio. Esta classi icao eita
de acordo com a estrutura proposta pela arquitetura R
estendida por [9].
Nesta classificao devemos dividir os passos de negcio em duas categorias:
Restritivos e Condicionais.
Fase
Posi ionar os
assos
ro esso
e neg
io lassifi a os
o o restritivos
Nesta fase, visando uma melhor performance, deseja-se posicionar os
passos de negcio classi icados como restritivos sempre que possvel no incio do
fluxo de controle. Isto necessrio para minimizar os e eitos causados por esses
passos casos eles no sejam atendidos pois passos de negcios restritivos podem
causar interrupo na execuo do luxo de controle uma vez que sua condio s
admite resposta verdadeira para prosseguir.
Fase
Des o rir a rela
ro esso e neg
e en
n ia entre os
assos
io
Esta etapa consiste em identificar para cada passo de negcio declarado na
Fase 1, a sua relao de dependncia com os outros passos do processo.
Fase
neg
o elar grafi a ente o flu o
ontrole
ro esso
io
Nesta fase eita a modelagem gr ica. Para isto conectamos por meio de
uma seta orientada os passos de negcio de acordo com a relao de dependncia
descrita na fase anterior. Quando um passo possui mais de uma seta saindo dele,
uando existe mais de uma seta entrando
dizemos que existe um ponto de diviso.
em um nico passo de negcio dizemos que existe um ponto de unio.
Fase
Des rever o
e istentes no
orta ento
os
ontos
ivis o e uni o
o elo onstru o
Nesta fase, o comportamento dos pontos de diviso e unio identi icados no
passo anterior devem ser descritos para permitir a identificao dos padr es de
22
proposto que esta ase seja desenvolvida juntamente com o
controle de fluxo.
profissional de TI, objetivando um entendimento comum do negcio.
Fase
entifi ar
lassifi ar os
a r es
ontrole
e flu o e
finali ar o ro eto on eitual e workflow
A partir da descrio do comportamento dos pontos de diviso e unio os
especialistas de negcio em conjunto com os especialistas de TI devero classi icar
o padro que melhor atenda ao comportamento declarado na ase anterior.
Fase
onfigura
o elo
asea o e
a r es na ferra enta
workflow
Nesta ltima ase deseja-se configurar o modelo obtido pela execuo dos
passos anteriores em uma ferramenta
dos especialistas.
que melhor atenda s necessidades
23
Cap tulo 3
RESULTADOS OBTIDOS
Existem diversas linguagens para a definio de processos de negcio.
Neste trabalho foi utilizada a NPDL por ela conseguir atender a todas as categorias
de padr es de controle de luxo e por se apoiar no conceito do plano de navegao
da arquitetura R
a N
e em operadores da lgebra de processos alm de possuir
, que disp e de bibliotecas que possibilitam o controle da
ordem de execuo de uma expresso em NPDL.
Como esta facilidade j est implementada e descrita em [ ] partiremos do
pressuposto de que dada uma expresso em NPDL que representar um processo
de negcio sabemos qual o comportamento e como simular este processo, tendo
como controlar o estado de cada atividade em qualquer instante de, por exemplo,
uma simulao.
Assim, para se ter o controle completo de um processo de negcio basta
represent-lo em NPDL. Mas esta linguagem no muito amigvel ao usurio visto
se tratar de express es algbricas.
A BPMN, porm uma notao j conhecida entre os pro issionais de
negcio e com elementos que possuem o comportamento bem de inido. No entanto
esta notao no nos ornece nenhuma maneira de controlar a execuo do
processo.
Desta maneira, deseja-se uma linguagem que seja facilmente utilizvel
como a BPMN, e que possua fundamentao matemtica como a NPDL. Neste
captulo
isto apresentado
no criando uma linguagem nova
que seria
desconhecida aos profissionais, mas criando um vnculo entre a BPMN e a NPDL.
Este vnculo eito mostrando como estas nota es representam os padr es de
controle de fluxo.
24
3.1 Necessidades de um Analista de Negcio
.5 vimos uma seqncia de ases para o desenvolvimento do
Na seo
projeto conceitual de
. Destas diretrizes podemos definir algumas
necessidades que um analista de negcio apresenta ao modelar um processo de
negcio.
Figura 3.1 Necessidades de um Analista de Negcio (Baseado em 13 )
Da figura 3.1, temos sete fases, que sero descritas e detalhadas a seguir:
1. Declarar os passos de negcio
Nesta fase deve-se declarar os passos de negcio ou seja as
atividades que comp e o processo. A melhor orma de azer isto
atravs de uma tabela em que cada linha representa uma atividade.
2. Classificar segundo Arquitetura RiverFish
Cada atividade declarada na fase anterior deve ser classificada
segundo a arquitetura R
estendida, descrita na seo .3.3.
Assim, ao final desta segunda fase, teremos todas as atividades e
suas classifica es.
3. Reposicionar visando melhor desempenho
Uma vez que as atividades j oram classi icadas desejvel que as
restritivas fiquem o mais prximo possveis do comeo do luxo. Isso
diminui os efeitos causados por uma interrupo gerada por estas
atividades e melhora o desempenho do processo.
25
4. Declarar as depend ncias entre os passos de negcio
Nesta fase, para cada atividade declarada na primeira fase, deve-se
especificar quais so as dependncias entre elas ou seja quais
atividades precisam ser executadas para que uma outra atividade
esteja habilitada para a execuo.
Uma forma de declarar esta dependncia para cada atividade
declarada na fase 1, especificar quais atividades ser habilitadas para
a execuo aps o trmino de uma determinada atividade.
Esta fase, assim como as prximas no dependem das ases
e3
pois estas visam apenas o melhor desempenho do processo.
5. Identificar os padres de controle de fluxo
Com as dependncias entre as atividades declaradas na fase
anterior, devemos identificar os padr es de controle de luxo. Mais
detalhes sobre estes padr es est descritos na prxima seo.
6. Fazer a diagramao em notao BPMN
Uma vez que as dependncias entre as atividades j so conhecidas
deve-se fazer o diagrama em notao BPMN. Mais detalhes sobre
como representar os padr es identi icados na ase anterior est
descrito na prxima seo.
7. Simular e gerar estat sticas do processo de negcio
Com o processo j descrito em BPMN deve-se ser possvel a
realizao de uma simulao assim como gerar estatsticas. Para
isto, pode-se utilizar a NPDL, que foi descrita na seo
. . Mais
detalhes sobre a como representar os padr es de controle de luxo
esto descritos na prxima seo deste texto.
26
3.2 Especificao dos Padres de Controle de Fluxo em
NPDL e BPMN
Aalst, Hofstede, Kiepuszewski e Barros, em [1], identificaram e definiram 20
padr es de controle de luxo em
or lo s. Os Padr es de
tentam
representar as diversas situa es recorrentes em luxos de controle de processos de
negcio. Estes padr es oram descritos inicialmente com o objetivo de estabelecer
uma maneira para comparar diversas linguagens de representao de
Assim, podemos classificar as linguagens de acordo com os padr es que ela
capaz de expressar por meio de sua sintaxe.
Estes padr es esto divididos e seis categorias:
1. Padr es bsicos de controle de luxo
2. Padr es avanados de rami icao e sincronizao
3. Padr es estruturais
4. Padr es de mltiplas inst ncias
5. Padr es baseados em estados
6. Padr es de cancelamento
A seguir so apresentados as especi ica es dos padr es de controle de
fluxo usando a notao BPMN e comandos NPDL.
3.2.1 PADRES BSICOS DE CONTROLE DE FLU O
Referem-se a constru es bsicas presentes na maioria das linguagens de
modelagem de workflows.
1) Seq
Defini
ncia
o: Uma atividade em um processo de
habilitada para a
execuo aps o trmino de uma outra atividade no mesmo processo.
lo: A atividade B habilitada para a execuo somente aps o
trmino da execuo da atividade A.
27
Figura 3.2 Padro Seq
ncia (Fonte 1 )
NPDL:
SET P = A . B
Seq
ncia (Fonte 4 )
P N: Uma seta ordenada, representando o fluxo de seqncia da
BPMN, pode ser utilizada para a representao do padro Seqncia.
Figura 3.3 Seq
ncia (BPMN)
2) Diviso Paralela
Defini
o:
um ponto no processo de
no qual uma nica linha de
execuo se divide em mltiplas linhas de execuo permitindo que duas ou mais
atividades sejam executadas simultaneamente ou em qualquer ordem.
e
lo: A atividade A executada habilitando a execuo de B e C em
paralelo (ou seja, em qualquer ordem ou simultaneamente).
Figura 3.4 Padro Diviso Paralela (Fonte 1 )
NPDL:
SET P = A . (B | | C)
Diviso Paralela (Fonte 4 )
28
P N: O
paralelo pode ser usado para a representao do
padro Diviso Paralela.
Figura 3.5 Diviso Paralela (BPMN)
3) Sincronizao
Defini
o:
um ponto no processo de
no qual mltiplas atividades
paralelas convergem para uma nica linha de execuo sincronizando assim as
linhas de execuo.
e
lo: A atividade C habilitada somente depois que A e B tiverem sido
executadas.
Figura 3.6 Padro Sincronizao (Fonte 1 )
NPDL:
SET P = (A | | B) . C
Sincronizao (Fonte 4 )
P N: O
padro Sincronizao.
paralelo pode ser usado para a representao do
29
Figura 3.7 Sincronizao (BPMN)
4) Escolha Exclusiva
Defini
o:
um ponto no processo de
no qual um nico caminho
escolhido dentre os possveis. Essa escolha baseia-se em uma deciso ou em um
dado de controle do
e
lo: As atividades B e C so habilitadas aps a execuo de A mas
somente uma delas ser escolhida implicitamente para execuo.
Figura 3.8 Padro Escolha Exclusiva (Fonte 1 )
NPDL:
SET P = A . (%r B + %!r C)
Sendo r a regra associada escolha exclusiva
Escolha Exclusiva (Fonte 4 )
P N: O
do padro Escolha Exclusiva.
exclusivo pode ser usado para a representao
30
Figura 3.9 Escolha Exclusiva (BPMN)
5) uno Simples
Defini
o:
um ponto no processo de
no qual, dois ou mais
caminhos diferentes se unem sem sincronizao. Neste caso assume-se que esses
diferentes caminhos no esto sendo executados em paralelo.
e
lo: Inicialmente, as atividades A e B esto habilitadas. Aps a
execuo de uma delas C habilitada.
Figura 3.10 Padro uno Simples (Fonte 1 )
NPDL:
SET P = (%r A + %!r B) . C
Sendo r a regra associada escolha exclusiva
uno Simples (Fonte 4 )
P N: O
do padro Juno Simples.
exclusivo pode ser usado para a representao
31
Figura 3.11
uno Simples (BPMN)
3.2.2 Padres Avanados de Ramificao e Sincronizao
Representam controles de fluxos mais avanados que os padr es bsicos
6) Escolha M ltipla
Defini
o:
um ponto no processo de
no qual um ou mais
caminhos so escolhidos. A escolha baseia-se em uma deciso ou dados de
controle do
lo: Inicialmente, uma das trs op es estar habilitada: somente a
atividade B ser executada somente a atividade C ser executada ou a atividade B
em paralelo com a atividade C sero executadas.
Figura 3.12 Padro Escolha M ltipla (Fonte 1 )
NPDL:
SET P = A . (%r1 (B | | C) + %!r1 (%r2 B + %!r2 C))
Sendo r1 e r2 as regras associadas s escolhas exclusivas
Escolha M ltipla (Fonte 4 )
32
P N: O
inclusivo pode ser usado para a representao do
padro Escolha Mltipla.
Figura 3.13 Escolha M ltipla (BPMN)
7) uno Sincronizada
Defini
o:
um ponto no processo de
no qual mltiplos caminhos
convergem para uma nica linha de execuo. Se mais de um caminho estiver com
atividades ativas, ento eita a sincronizao destes caminhos. Se somente um
caminho estiver com atividades ativas, ento o ramo alternativo de atividade
converge sem sincronismo.
lo: Se na escolha mltipla a execuo tiver sido encaminhada para a
diviso paralela de B e C ento a juno sincronizada aguarda a inalizao das
a es B e C para habilitar D. Caso a escolha mltipla dispare somente a execuo
de B, ento D ser habilitada aps a execuo de B. Caso a escolha mltipla
dispare somente a execuo de C ento D ser habilitada aps a execuo de C.
Figura 3.14 Padro uno Sincronizada (Fonte 1 )
33
NPDL:
SET P = A . (%r1 (B | | C) + %!r1 (%r2 B + %!r2 C)) . D
ou
SET P1 = (%r1 (B | | C) + %!r1 (%r2 B + %!r2 C))
SET P = A . P1 . D
Sendo P1 o mapeamento da escolha mltipla e
r1 e r2 as regras associadas s escolhas exclusivas
uno Sincronizada (Fonte 4 )
P N: O
inclusivo pode ser usado para a representao do
padro Juno Sincronizada.
Figura 3.15
uno Sincronizada (BPMN)
8) uno M ltipla
Defini
o:
um ponto no processo de
no qual, dois ou mais ramos
de atividades convergem sem sincronismo. Se mais de um ramo for ativado, de
forma concorrente, ento a atividade posterior
juno executada cada vez que
encerrada uma execuo de um dos ramos de entrada.
lo: Se na mltipla escolha a execuo tiver sido encaminhada para a
diviso paralela de B e C ento a juno mltipla executa D cada vez que uma
linha de execuo da diviso paralela inalizada. Caso a escolha mltipla dispare
somente a execuo de B, ento D ser habilitada aps a execuo de B. Caso a
escolha mltipla dispare somente a execuo de C ento D ser habilitada aps a
execuo de C.
34
Figura 3.16 Padro uno M ltipla (Fonte 1 )
NPDL:
SET P = A . (%r1 (B | | C) + %!r1 (%r2 B + %!r2 C)) & D
ou
SET P1 = (%r1 (B | | C) + %!r1 (%r2 B + %!r2 C))
SET P = A . P1 & D
Sendo P1 o mapeamento da escolha mltipla e
r1 e r2 as regras associadas s escolhas exclusivas
uno M ltipla (Fonte 4 )
P N: As setas representando a seqncia de luxo podem ser
usadas para a representao do padro Juno Multipla.
Figura 3.17
uno M ltipla (BPMN)
9) Discriminador
Defini
o: um ponto no processo de
que espera pelo trmino da
execuo de um de seus ramos de entrada antes de habilitar a execuo da
atividade subseqente. A partir desse momento ele espera o trmino da execuo
dos demais ramos de entrada mas no os leva em considerao. Dessa orma
diferentemente da Juno Mltipla o nmero de ramos ativos de entrada do
35
discriminador no determina o nmero de vezes que a atividade subseqente ser
executada.
e
lo: Se na Escolha Mltipla a execuo tiver sido encaminhada para a
diviso paralela de B e C ento o Discriminador habilitar a execuo de D aps o
trmino da linha de execuo que or encerrada primeiro. Se B terminar primeiro
ento D ser habilitado para execuo aps C terminar di erentemente da Juno
Mltipla D no ser habilitado novamente. Caso a escolha mltipla dispare somente
a execuo de B, ento D ser habilitado aps a execuo de B. Caso a escolha
mltipla dispare somente a execuo de C ento D ser habilitado aps a
execuo de C
Figura 3.18 Padro Discriminador (Fonte 1 )
NPDL:
SET P = A . (%r1 (B | | C) + %!r1 (%r2 B + %!r2 C)) ^ D
ou
SET P1 = (%r1 (B | | C) + %!r1 (%r2 B + %!r2 C))
SET P = A . P1 ^ D
Sendo P1 o mapeamento da escolha mltipla e
r1 e r2 as regras associadas s escolhas exclusivas
Discriminador (Fonte 4 )
P N: A combinao dos
inclusivo e exclusivo pode ser
usada para a representao do padro Discriminador.
Figura 3.19 Discriminador (BPMN)
36
9a) N Discriminador
Defini
processo de
o:
uma generalizao do padro Discriminador.
um ponto no
que espera pelo trmino da execuo de N de seus ramos de
entrada antes de habilitar a execuo da atividade subseqente. A partir desse
momento, ele espera o trmino da execuo dos demais ramos de entrada mas no
os leva em considerao. Dessa orma ocorre uma sincronizao parcial.
e
lo: Vamos fixar o valor de N como sendo 2. Assim, se na Escolha
Mltipla a execuo tiver sido encaminhada para a diviso paralela de B C e D
ento o N-Discriminador habilitar a execuo de E aps o trmino de quaisquer
linhas de execuo (B e C ou C e D ou B e D). Quando o terceiro processo terminar
sua execuo o N-Discriminador no o levar em considerao.
Figura 3.20 Padro N Discriminador (Fonte 1 )
NPDL:
SET P = A . P1 ^ E
Sendo P1 o mapeamento da escolha mltipla e as regras associadas
a P1 definem o comportamento do N-Discriminador
N Discriminador
P N: A combinao dos
inclusivo e complexo pode ser
usada para a representao do padro N-Discriminador.
Figura 3.21 N Discriminador (BPMN) (Fonte 15 )
37
3.2.3 PADRES ESTRUTURAIS
Representam a flexibilidade que as linguagens de modelagem de
possuem de blocos possurem paralelismo e mltiplos pontos de entrada e sada.
10) Ciclo Arbitr rio
Defini
o:
um ponto em um processo de
que permite que uma
ou mais atividades sejam feitas repetidamente.
e
lo: A atividade A executada seguida pela atividade B. Em seguida
as atividades C e D so habilitadas para a execuo. A execuo da atividade D
representa o ciclo, que possibilita que a atividade B seja executada vrias vezes.
Figura 3.22 Padro Ciclo Arbitr rio
NPDL:
SET P1 = B . (%r C + %!r (D . P1))
SET P = A . P1
Sendo r a regra associada escolha exclusiva
Ciclo Arbitr rio
P N: O Ciclo Arbitrrio representado por meio de caminhos
cclicos no luxo.
38
Figura 3.23 Ciclo Arbitr rio (BPMN)
11) Terminao Impl cita
Defini
o: Um dado subprocesso pode ser encerrado quando no h mais
nada a ser feito, ou seja, um caminho pode ser concludo se no houver mais
atividades a serem executadas neste caminho.
e
lo: Aps a execuo da atividade A as atividades B e C so
habilitadas. Aps a execuo da atividade B a atividade D habilitada e aps a
execuo desta este caminho termina. Assim como aps a execuo da atividade
C, a atividade E habilitada e aps a execuo de E o caminho termina.
Figura 3.24 Padro Terminao Impl cita (Fonte 1 )
NPDL: No existe em NPDL um termo que indique o estado inal do
processo
Terminao Impl cita (Fonte 4 )
.
P N: O evento de Fim pode ser usado para a representao do
padro Terminao Implcita.
39
Figura 3.25 Terminao Impl cita (BPMN)
3.2.4 PADRES DE M LTIPLA INST NCIA
Padr es de mltiplas inst ncias so utilizados para descreverem a execuo
de mais de uma inst ncia de uma determinada tare a at mica.
12) M ltiplas Inst ncias Sem Sincronizao
Defini
o: Este padro representa um ponto no
no qual mltiplas
inst ncias de uma atividade podem ser criadas isto h uma acilidade para gerar
novas linhas de execuo. Cada uma das linhas de execuo gerada
independente das demais. Alm disso no h a necessidade de sincronizar estas
linhas.
e
lo: Aps a execuo da atividade A mltiplas inst ncias da atividade
B so criadas gerando assim, vrias linhas de execuo independentes.
NPDL:
SET P = A . (B . C) ?*
MI Sem Sincronizao (Baseado em 4 )
P N: Os padr es Diviso Paralela e Escolha Exclusiva podem ser
usados para representar este padro. Aps a execuo da atividade B, a
atividade C executada e outra inst ncia da atividade B pode ser criada ou no
dependendo da regra associada
Escolha Exclusiva mas sempre que a
atividade B for executada, uma nova linha de execuo independente ser
criada.
40
Figura 3.26 MI Sem Sincronizao (BPMN)
13) M ltiplas Inst ncias com conhecimento pr vio em tempo de projeto
Defini
o: Ocorre quando, em uma inst ncia de processo uma atividade
habilitada mltiplas vezes sendo que o nmero de inst ncias a serem executadas
da atividade em questo conhecido em tempo de projeto. Aps o trmino da
execuo de todas as inst ncias uma outra atividade do
habilitada para
execuo
e
lo: Aps a execuo da atividade A a atividade B executada 3
vezes, e aps a execuo dessas 3 vezes da atividade B, a atividade C executada.
As mltiplas inst ncias da atividade B devem ser executadas paralelamente.
NPDL:
SET P = A . B ?3 . C
MI Com Conhecimento Pr vio em Tempo de Projeto (Baseado em 4 )
P N: O smbolo de mltipla inst ncia adicionado
atividade B
mostrando que esta atividade ser executada n vezes e em paralelo.
Figura 3.27 MI Com Conhecimento Pr vio em Tempo de Projeto (BPMN) (Fonte 15 )
14) M ltiplas Inst ncias com conhecimento pr vio em tempo de
execuo
Defini
o: Ocorre quando, em uma inst ncia de processo uma atividade
habilitada mltiplas vezes sendo que o nmero de inst ncias a serem executadas
da atividade em questo conhecido em tempo de execuo. Aps o trmino da
41
execuo de todas as inst ncias uma outra atividade do
habilitada para
execuo.
e
lo: Aps a execuo da atividade A a atividade B executada um
nmero de vezes que ser decidido em tempo de execuo e aps a execuo
dessas atividades B, a atividade C executada.
NPDL:
SET P = A . B ?f . C
Sendo f uma funo que retorna um nmero inteiro e maior que zero
MI Com Conhecimento Pr vio em Tempo de Execuo (Baseado em 4 )
P N: O smbolo de ciclo adicionado
atividade B mostrando
que esta atividade ser executada n vezes.
Figura 3.28 MI Com Conhecimento Pr vio em Tempo de Execuo (BPMN) (Fonte 15 )
15) M ltiplas Inst ncias sem conhecimento pr vio em tempo de
execuo
Defini
o: Ocorre quando, em uma inst ncia de processo uma atividade
habilitada mltiplas vezes sendo que o nmero de inst ncias a serem executadas
da atividade em questo no conhecido nem em tempo de projeto nem em tempo
de execuo ou seja ele no conhecido antes do momento de criao das
inst ncias da atividade. Aps o trmino da execuo de todas as inst ncias criadas
uma outra atividade subseqente do
e
habilitada para execuo.
lo: Aps a execuo da atividade A a atividade B executada vrias
vezes at que uma condio seja satisfeita e, aps estas execu es a atividade C
ser executada.
NPDL:
SET P = A . B ?* . C
MI Sem Conhecimento Pr vio (Baseado em 4 )
42
P N: Aps a execuo da atividade A as atividades B e B so
habilitadas para a execuo. A atividade B determina se mais cpias de B devem
ser criadas. Se mais cpias devem ser criadas a linha de execuo que habilitou
B ser encerrada Atravs do padro Terminao Implcita.
Figura 3.29 MI Sem Conhecimento Pr vio (BPMN) (Fonte 15 )
3.2.5 PADRES BASEADOS EM ESTADOS
Estendem a expressividade de linguagem de
por meio da
representao de estados.
16) Escolha Postergada
Defini
o:
um ponto no processo de
no qual um entre vrios
ramos de atividades escolhido. Di erentemente da Escolha Exclusiva, na Escolha
Postergada, a escolha no eita de modo explcito ou seja no se baseia em
dados ou em uma deciso. A escolha se baseia em in orma es que podem no
estar disponveis no momento que este ponto atingido. Assim a escolha
postergada at a ocorrncia de algum evento.
lo: Aps a execuo da atividade A as atividades B e C so
habilitadas, mas somente uma delas ser escolhida explicitamente para execuo.
43
Figura 3.30 Padro Escolha Postergada (Fonte 1 )
NPDL:
SET P = A . (B + C)
Escolha Postergada (Fonte 4 )
P N: Para representar a escolha postergada, o
exclusivo
baseado em dados utilizado. Eventos intermedirios so adicionados para
controlar a escolha que ser eita.
Figura 3.31 Escolha Postergada (BPMN) (Fonte 15 )
17) Roteamento Paralelo Entrelaado
Defini
o: Ocorre quando um conjunto de atividades executado em uma
ordem arbitrria que decidida em tempo de execuo e duas atividades nunca
so executadas ao mesmo tempo mas todas sero executadas.
lo: A atividade A executada habilitando a execuo de B seguida
pela execuo de C ou a execuo de C seguida pela execuo de B. Aps o
trmino da execuo de B e C (ou C e B) a atividade D habilitada para execuo
44
Figura 3.32 Padro Roteamento Paralelo Entrelaado (Fonte 1 )
NPDL:
SET P = A . (B | * C) . D
Roteamento Paralelo Entrelaado (Fonte 4 )
P N: Processos A H
so utilizados para representar este
padro. As atividades contidas no subprocesso A H
sero todas executadas
mas uma por vez.
Figura 3.33 Roteamento Paralelo Entrelaado (BPMN)
18) Marco
Defini
o: Ocorre quando a habilitao de uma atividade dependente de
um estado espec ico da inst ncia de um processo. Ou seja a atividade s
habilitada se um certo marco tiver sido atingido e ainda no estiver expirado.
lo: Considere trs atividades A B e C. A atividade A somente ser
habilitada depois que a atividade B tiver sido executada, mas se C no tiver sido
executada ainda, ou seja, A no estar habilitada antes da execuo de B e nem
45
depois da execuo de C. O estado entre B e C modelado pelo lugar M. Este lugar
o marco para A.
Figura 3.34 Padro Marco (Fonte 1 )
NPDL:
SET P1 = A . P1 + A . C
SET P = B . P1 + B . C
Marco (Fonte 4 )
P N: A combinao dos padr es de juno e escolha postergada
pode ser utilizada para representar o padro Marco.
Figura 3.35 Marco (BPMN)
46
3.2.6 PADRES DE CANCELAMENTO
ocorrncia de um
Modelam o cancelamento de atividades condicionado
determinado evento.
19) Atividade Cancel vel
Defini
o: Ocorre quando uma atividade j habilitada pode ser desabilitada
durante a execuo da inst ncia do processo.
uando a atividade desabilitada
necessrio remover a linha que controla a execuo da atividade em questo.
e
lo: Esta uma maneira de tratar exce es durante a execuo do
processo. Uma atividade A executada habilitando a execuo das atividades B e
C. Quando a atividade B terminar, ela lanar uma exceo. Se a atividade C estiver
sendo executada quando isto acontecer, ela ser interrompida e o luxo de execuo
seguir atravs de uma nova linha de execuo.
NPDL: O smbolo representa o smbolo de
da lgebra
de processos.
SET P = A . (B | | ((C . D) + #)
Atividade Cancel vel (Fonte 4 )
P N: Quando a atividade B terminar, o evento intermedirio
disparar um gatilho avisando o evento intermedirio acoplado a atividade C que
interromper a execuo desta caso esteja sendo executada, e continuar a
execuo do luxo atravs do luxo de seqncia ligado ao evento associado a
atividade C.
Figura 3.36 Atividade Cancel vel (BPMN) (Fonte 15 )
47
20) Caso Cancel vel
Definio: Ocorre quando a inst ncia do
pode ser removida
completamente.
Exemplo: Aps o trmino da atividade B ou do trmino da atividade D todo o
processo cancelado.
Em NPDL: Toda inst ncia de processo de inido em NPDL pode ser
cancelado em qualquer instante de sua execuo.
Caso Cancel vel (Fonte 4 )
Em BPMN: O evento de trmino usado para modelar este padro.
Figura 3.37 Caso Cancel vel (BPMN)
48
Cap tulo 4
CONCLUSO
A modelagem de negcio a erramenta utilizada para ornecer uma viso
ampla e possibilitar a otimizao de processos mas, para que isto seja possvel
necessrio que esta modelagem seja eita de orma compreensvel a todos. Para tal
utiliza-se a BPMN.
Para uma maior compreenso alm da simples descrio do negcio
necessrio que seja eita a simulao deste e para sua anlise de ser possvel
gerar estatsticas sobre a execuo do luxo evidenciando pontos que possam estar
comprometendo o desempenho do processo.
Para tanto, necessrio descrever o negcio utilizando uma linguagem que
tenha fundamentos garantindo-se, assim, a corretude dos resultados. Uma
linguagem que pode ser utilizada a NPDL que tem seus undamentos apoiados na
lgebra de Processos.
Como a BPMN j conhecida e utilizada entre os pro issionais da rea e a
NPDL undamentada em lgebra de Processos e j possui erramentas para a
execuo de processos de negcio ora apresentado neste trabalho a maneira de
representar alguns padr es utilizando a BPMN. Mostrou-se, tambm
representar
estes
mesmos
padr es
utilizando
NPDL.
Desta
como
maneira,
demonstramos que possvel representar um mesmo processo atravs de
diagramas em BPMN e de express es em NPDL.
4.1 Trabalhos Futuros
Apesar de descrevermos na seo 3.
como representar os diversos
padr es na notao BPMN e na linguagem NPDL a identificao destes padr es
nos processos e a sua traduo para express es NPDL nem sempre so tare as
triviais. Desta forma, como um possvel trabalho uturo tem se o desenvolvimento de
49
uma ferramenta gr ica que possibilite esta traduo de uma maneira simples e que
atenda s necessidades descritas na seo 3.1.
50
REFERNCIAS BIBLIOGRFICAS
[1] AALST, W.M.P. van der, HOFSTEDE, A.H.M. ter, KIEPUSZEWSKI, B.,
BARROS, A.P. Wor flo Patterns. In Distributed and Parallel Databases, Vol.
14, No. 1, Jul/2003, p. 5-51.
[2] BERGSTRA, J. A.
Amsterdam, 2001.
andboo
of Process Algebra. Elsevier Science,
[3] BRAGHETTO, K. R.; TAKAI, O. K.; FERREIRA, J. E.;PU, C. Controlling
ith NPDL and NavigationPlanTool.
processes in relational data model
Technical report, Departamento de Cincia da Computao Universidade de So
Paulo, 2005. Based on accepted work for DEMO section in SBBD2005. Disponvel
em http://www.ime.usp.br/~jef/kelly/NPDL.pdf.
[4] BRAGHETTO, K. R. Padres de Fluxo de Processo em Banco de
Dados Relacionais, Dissertao de Mestrado Instituto de Matemtica e Estatstica
da Universidade de So Paulo.
[5] DAVENPORT, T. Reengenharia de Processo. 5 ed. Rio de Janeiro,
Campus.1994.
[6] DELPHI GROUP. BPM 2005: market milestone report, 2005. Disponvel
em www.delphigroup.com.
[7] FERREIRA, J. E.; TAKAI, O. K.; PU, C. Integration of Business
ith Autonomous Information S stems a case stud
in
Processes
Government Services. In: INTERNATIONAL IEEE CONFERENCE ON ECOMMERCE TECHNOLOGY 2005 (CEC-05), 7., 2005, Munich, Germany.
[8] FERREIRA, J. E.; TAKAI, O. K.; PU, C. Integration of Collaborative
Information S stem in Internet Applications using RiverFish Architecture. In:
INTERNATIONAL
CONFERENCE
ON
COLLABORATIVE
COMPUTING:
NETWORKING APPLICATIONS AND WORK SHARING, 2005, San Jose, USA
[9] MILLA. J. M. Classificao de Regras de Negcio atrav s de
ontologias Um Estudo de Caso. Dissertao de Mestrado apresentado ao Instituto
de Pesquisas Tecnologias do Estado de So Paulo IPT, 2005.
51
third
[10] SMITH, H.; FINGAR, P. BUSINESS PROCESS MANAGEMENT the
ave. Tampa: Meghan-Kffer Press, 2003.
[11] VON HALLE, B. Business Rules Applied Building Better S stems
Using the Business Rule Approach, Wiley Computer Publishing, 2002.
[12] WHITE, S. A. Introduction To BPMN.
[13] ZULIANI, D. Projeto Conceitual de Wor flo , Dissertao de
Mestrado, Instituto de Pesquisas Tecnolgicas do Estado de So Paulo.
[14] Wor flo
Patterns. Disponvel em: http:
. or lo patterns.com
[15] Business Process Modeling Notation Specification. Disponvel em
http://www.bpmn.org