Você está na página 1de 52

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 BPM BPMI BPMN NPDL PN SQL WfMC Business Process Diagram Business Process Management Business Process Management Initiative Business Process Modeling Notation Navigation Plan Definition Language Plano de Navegao Structured Query Language 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.

trs objetos do luxo:

vento

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. 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

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:


utilizado para o controle de exceo. o: utilizado para ligar eventos. Pode ser visto como

b. Liga

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 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

como uma arquitetura para

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

PRINCIPAIS

CARACTER STICAS

PROPRIEDADES

DO

RF

Segundo [7], o modelo arquitet nico R caractersticas:

apresenta duas principais

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 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

): 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

NPL N

A N

foi implementada na forma de uma biblioteca de s caractersticas especificadas pela


 

fun es e oi desenvolvida para atender




(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 [4] e em [3]. O nosso interesse na N algbrica em NPDL

, mais informa es podem ser obtidas em

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 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;
 

ases de construo do Projeto

para atuao de especialistas de negcio e

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


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

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, dizemos que existe um ponto de diviso. uando existe mais de uma seta entrando

em um nico passo de negcio dizemos que existe um ponto de unio.

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

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 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.
 

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

Na seo

.5 vimos uma seqncia de ases para o desenvolvimento do


 

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 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

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.

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.

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

paralelo pode ser usado para a representao do

padro Sincronizao.

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
 

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

exclusivo pode ser usado para a representao

do padro Escolha Exclusiva.

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.

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

exclusivo pode ser usado para a representao

do padro Juno Simples.

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.


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.

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.


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.

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


Terminao Impl cita (Fonte 4 )

processo

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.

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 execuo
 

habilitada para

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 execuo.


 

habilitada para

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
 

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 representao de estados.

por meio da

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 mas uma por vez.

sero todas executadas

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

Modelam o cancelamento de atividades condicionado determinado evento.

ocorrncia de um

19) Atividade Cancel vel Defini




o: Ocorre quando uma atividade j habilitada pode ser desabilitada uando a atividade desabilitada

durante a execuo da inst ncia do processo.

necessrio remover a linha que controla a execuo da atividade em questo.


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 SET P = A . (B | | ((C . D) + #)


da lgebra

de processos.
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 completamente. Exemplo: Aps o trmino da atividade B ou do trmino da atividade D todo o processo cancelado.
 

pode ser removida

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 a 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 [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.

[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

Você também pode gostar