Escolar Documentos
Profissional Documentos
Cultura Documentos
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
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.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
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
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.
No captulo
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
Cap tulo 2
FUNDAMENTAO TERICA
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
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
10
(BPMI)
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
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
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.
atewa G
n ia
ensage
sso ia
11 3. Raia: Raias so utilizadas para agrupar os elementos de modelagem possibilitando a organizao das atividades em categorias. tipos de raias: a. Pis inas Uma piscina um continer que agrupa um
dois
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
nota
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:
utilizado para o controle de exceo. o: utilizado para ligar eventos. Pode ser visto como
b. Liga
um go to. c.
como sendo um
fluxo antes de habilitar a atividade seguinte que pode, inclusive, ser habilitada mais de uma vez.
a.
lusivo
ou
b. n lusivo
13
c. Paralelo
ND :
atividade seguinte.
d.
le o:
ser seguidos.
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
Segundo [7], R
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 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 dos dados pertencentes s requisi es dos servios eletr nicos de todos os
(Plano de
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].
Definio 1:
at micas compostas usando os operadores de seqncia e composio alternativa. Definio 2: Ponto e verifi a
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.
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
2.3.2 R
PRINCIPAIS
CARACTER STICAS
PROPRIEDADES
DO
RF
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
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
16 2.3.3 R
RF
ESTENDIDO
Segundo a arquitetura de R
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
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.
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
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 deve ser um nmero inteiro
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
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
NPL N
A N
. 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 [4] e em [3]. O nosso interesse na N algbrica em NPDL
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.
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
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
or flo
(Fonte 13 )
As principais caractersticas das diretrizes so: 1. Delimitao e separao das Conceitual de 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
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
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
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
e en
n ia entre os
assos
ro esso e neg
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
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, dizemos que existe um ponto de diviso. uando existe mais de uma seta entrando
Fase
Des rever o
orta ento
os
ontos
ivis o e uni o
e istentes no
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 controle de fluxo. proposto que esta ase seja desenvolvida juntamente com o
Fase
entifi ar
lassifi ar os
a r es
ontrole
e flu o e
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 workflow
onfigura
o elo
asea o e
a r es na ferra enta
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
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
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.
2. Classificar segundo Arquitetura RiverFish Cada atividade declarada na fase anterior deve ser classificada segundo a arquitetura R
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 pois estas visam apenas o melhor desempenho do processo. e3
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
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.
1) Seq Defini
habilitada para a
27
ncia (Fonte 1 )
NPDL: SET P = A . B
Seq
ncia (Fonte 4 )
ncia (BPMN)
o:
um ponto no processo de
execuo se divide em mltiplas linhas de execuo permitindo que duas ou mais atividades sejam executadas simultaneamente ou em qualquer ordem.
NPDL: SET P = A . (B | | C)
Diviso Paralela (Fonte 4 )
28
P N: O
3) Sincronizao Defini
o:
um ponto no processo de
paralelas convergem para uma nica linha de execuo sincronizando assim as linhas de execuo.
executadas.
NPDL: SET P = (A | | B) . C
Sincronizao (Fonte 4 )
P N: O
padro Sincronizao.
29
o:
um ponto no processo de
escolhido dentre os possveis. Essa escolha baseia-se em uma deciso ou em um dado de controle do
P N: O
30
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.
P N: O
31
Figura 3.11
o:
um ponto no processo de
no qual um ou mais
atividade B ser executada somente a atividade C ser executada ou a atividade B em paralelo com a atividade C sero executadas.
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
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.
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.
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
P N: O
Figura 3.15
o:
um ponto no processo de
de atividades convergem sem sincronismo. Se mais de um ramo for ativado, de forma concorrente, ento a atividade posterior juno executada cada vez que
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
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
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
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
o:
um ponto no
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.
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.
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
o:
um ponto em um processo de
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.
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.
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.
processo
39
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.
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.
NPDL: SET P = A . (B . C) ?*
MI Sem Sincronizao (Baseado em 4 )
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
13) M ltiplas Inst ncias com conhecimento pr vio em tempo de projeto Defini
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 execuo
habilitada para
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
atividade B
14) M ltiplas Inst ncias com conhecimento pr vio em tempo de execuo Defini
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
habilitada para
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 )
atividade B mostrando
15) M ltiplas Inst ncias sem conhecimento pr vio em tempo de execuo Defini
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
vezes at que uma condio seja satisfeita e, aps estas execu es a atividade C ser executada.
NPDL: SET P = A . B ?* . C
42
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.
por meio da
o:
um ponto no processo de
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.
habilitadas, mas somente uma delas ser escolhida explicitamente para execuo.
43
NPDL: SET P = A . (B + C)
Escolha Postergada (Fonte 4 )
exclusivo
baseado em dados utilizado. Eventos intermedirios so adicionados para controlar a escolha que ser eita.
ordem arbitrria que decidida em tempo de execuo e duas atividades nunca so executadas ao mesmo tempo mas todas sero executadas.
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
NPDL: SET P = A . (B | * C) . D
Roteamento Paralelo Entrelaado (Fonte 4 )
P N: Processos A H
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.
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.
ocorrncia de um
o: Ocorre quando uma atividade j habilitada pode ser desabilitada uando a atividade desabilitada
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.
da lgebra
de processos.
Atividade Cancel vel (Fonte 4 )
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.
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.
Em NPDL: Toda inst ncia de processo de inido em NPDL pode ser cancelado em qualquer instante de sua execuo.
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 a NPDL. Desta como
maneira,
demonstramos que possvel representar um mesmo processo atravs de diagramas em BPMN e de express es em NPDL.
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.
andboo
[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.
[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 [10] SMITH, H.; FINGAR, P. BUSINESS PROCESS MANAGEMENT the ave. Tampa: Meghan-Kffer Press, 2003.
third
[11] VON HALLE, B. Business Rules Applied Building Better S stems Using the Business Rule Approach, Wiley Computer Publishing, 2002.
[13] ZULIANI, D. Projeto Conceitual de Wor flo , Dissertao de Mestrado, Instituto de Pesquisas Tecnolgicas do Estado de So Paulo.
. or lo patterns.com