Escolar Documentos
Profissional Documentos
Cultura Documentos
So Paulo
Dezembro / 2006
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
BPM
BPMI
BPMN
NPDL
PN
Plano de Navegao
SQL
WfMC
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
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
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
No captulo
, a descrio da
Cap tulo 2
FUNDAMENTAO TERICA
ou
10
(BPMI)
A BPMN define o
vento
c.
atewa G
na seqncia do luxo.
2. Objetos de conexo: Os objetos de conexo conectam eventos
atividades e
n ia
ensage
sso ia
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
eto
nota
12
rro:
b. Liga
o:
um go to.
c.
ser terminadas.
2. Gate a : G
como sendo um
a.
lusivo
ou
b. n lusivo
13
c. Paralelo
ND :
atividade seguinte.
d.
le o:
ser seguidos.
construo
14
Segundo [7], R
(Plano de
Definio 1:
15
Definio 5: Plano e Navega
2.3.2
R
RF
PRINCIPAIS
CARACTER STICAS
PROPRIEDADES
DO
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.
de inio ormal do
1. Reaproveitamento
2. Formalizao
3. Instanciao
4. Preciso na localizao da interao
16
2.3.3 R
RF
ESTENDIDO
Segundo a arquitetura de R
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
18
executado. O nmero associado ao
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
): o termo de processo
19
2.4.1 A N
A N
NPL N
. Ela
em detalhes sobre a N
[4] e em [3].
O nosso interesse na N
algbrica em NPDL
20
A concepo destas diretrizes se apia na arquitetura para gerenciamento
de processos de negcio denominada R
, na classificao de regras de
or flo
(Fonte 13 )
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;
Fase
De lara
oe
lassifi a
o os assos e neg
io
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
Fase
Posi ionar os
assos
ro esso
e neg
io lassifi a os
o o restritivos
Fase
ro esso e neg
e en
n ia entre os
assos
io
Fase
neg
ontrole
ro esso
io
Nesta fase eita a modelagem gr ica. Para isto conectamos por meio de
Fase
Des rever o
e istentes no
orta ento
os
ontos
ivis o e uni o
o elo onstru o
22
proposto que esta ase seja desenvolvida juntamente com o
controle de fluxo.
Fase
entifi ar
lassifi ar os
a r es
ontrole
e flu o e
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.
23
Cap tulo 3
RESULTADOS OBTIDOS
a N
isto apresentado
que seria
24
Na seo
projeto conceitual de
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.
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
. . Mais
26
or lo s. Os Padr es de
tentam
1) Seq
Defini
ncia
habilitada para a
27
ncia (Fonte 1 )
NPDL:
SET P = A . B
Seq
ncia (Fonte 4 )
ncia (BPMN)
2) Diviso Paralela
Defini
o:
um ponto no processo de
NPDL:
SET P = A . (B | | C)
28
P N: O
3) Sincronizao
Defini
o:
um ponto no processo de
executadas.
NPDL:
SET P = (A | | B) . C
Sincronizao (Fonte 4 )
P N: O
padro Sincronizao.
29
4) Escolha Exclusiva
Defini
o:
um ponto no processo de
NPDL:
SET P = A . (%r B + %!r C)
Sendo r a regra associada escolha exclusiva
P N: O
30
5) uno Simples
Defini
o:
um ponto no processo de
caminhos diferentes se unem sem sincronizao. Neste caso assume-se que esses
diferentes caminhos no esto sendo executados em paralelo.
e
NPDL:
SET P = (%r A + %!r B) . C
Sendo r a regra associada escolha exclusiva
P N: O
31
Figura 3.11
6) Escolha M ltipla
Defini
o:
um ponto no processo de
no qual um ou mais
NPDL:
SET P = A . (%r1 (B | | C) + %!r1 (%r2 B + %!r2 C))
Sendo r1 e r2 as regras associadas s escolhas exclusivas
32
P N: O
7) uno Sincronizada
Defini
o:
um ponto no processo de
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.
33
NPDL:
P N: O
Figura 3.15
8) uno M ltipla
Defini
o:
um ponto no processo de
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
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
Figura 3.17
9) Discriminador
Defini
o: um ponto no processo de
35
discriminador no determina o nmero de vezes que a atividade subseqente ser
executada.
e
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
36
9a) N Discriminador
Defini
processo de
o:
um ponto no
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
37
3.2.3 PADRES ESTRUTURAIS
o:
um ponto em um processo de
NPDL:
SET P1 = B . (%r C + %!r (D . P1))
SET P = A . P1
Sendo r a regra associada escolha exclusiva
Ciclo Arbitr rio
cclicos no luxo.
38
nada a ser feito, ou seja, um caminho pode ser concludo se no houver mais
atividades a serem executadas neste caminho.
e
processo
.
39
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
NPDL:
SET P = A . (B . C) ?*
40
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
NPDL:
SET P = A . B ?3 . C
atividade B
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
habilitada para
execuo.
e
NPDL:
SET P = A . B ?f . C
Sendo f uma funo que retorna um nmero inteiro e maior que zero
atividade B mostrando
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
vezes at que uma condio seja satisfeita e, aps estas execu es a atividade C
ser executada.
NPDL:
SET P = A . B ?* . C
42
por meio da
representao de estados.
o:
um ponto no processo de
habilitadas, mas somente uma delas ser escolhida explicitamente para execuo.
43
NPDL:
SET P = A . (B + C)
exclusivo
44
NPDL:
SET P = A . (B | * C) . D
P N: Processos A H
18) Marco
Defini
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.
NPDL:
SET P1 = A . P1 + A . C
SET P = B . P1 + B . C
Marco (Fonte 4 )
46
3.2.6 PADRES DE CANCELAMENTO
ocorrncia de um
da lgebra
de processos.
SET P = A . (B | | ((C . D) + #)
47
20) Caso Cancel vel
Definio: Ocorre quando a inst ncia do
completamente.
Exemplo: Aps o trmino da atividade B ou do trmino da atividade D todo o
processo cancelado.
48
Cap tulo 4
CONCLUSO
estes
mesmos
padr es
utilizando
NPDL.
Desta
como
maneira,
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
[6] DELPHI GROUP. BPM 2005: market milestone report, 2005. Disponvel
em www.delphigroup.com.
51
third
. or lo patterns.com