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

Business Process Diagram

BPM

Business Process Management

BPMI

Business Process Management Initiative

BPMN

Business Process Modeling Notation

NPDL

Navigation Plan Definition Language

PN

Plano de Navegao

SQL

Structured Query Language

WfMC

Workflow Management Coalition

SUMRIO
1 NTRODUO.......................................................................................................... 6
1.1 Objetivos .......................................................................................................... 7
1.2 Contribuies .................................................................................................. 7
1.3 Organizao do texto ...................................................................................... 8
2 FUNDAMENTAO TERICA............................................................................... 9
2.1 Processo de negcio ...................................................................................... 9
2.2 Modelagem de processo de negcio utilizando a BPMN .......................... 10
2.3 Arquitetura RiverFish.................................................................................... 14
2.3.1 DEFINIO FORMAL DE PLANO DE NAVEGAO.............................. 14
2.3.2 PRINCIPAIS CARACTERSTICAS E PROPRIEDADES DO RIVERFISH 15
2.3.3 RIVERFISH ESTENDIDO......................................................................... 16
2.4 Navigation Plan Definition Language (NPDL) ............................................. 16
2.4.1 A NAVIGATIONPLAN TOOL .................................................................... 19
2.5 Diretrizes para projeto conceitual de workflows ........................................ 19
3 RESULTADOS OBTIDOS ..................................................................................... 23
3.1 Necessidades de um Analista de Negcio.................................................. 24
3.2 Especificao dos Padres de Controle de Fluxo em NPDL e BPMN...... 26
3.2.1 PADRES BSICOS DE CONTROLE DE FLUXO.................................. 26
3.2.2 Padres Avanados de Ramificao e Sincronizao............................ 31
3.2.3 PADRES ESTRUTURAIS ...................................................................... 37
3.2.4 PADRES DE MLTIPLA INSTNCIA.................................................... 39
3.2.5 PADRES BASEADOS EM ESTADOS ................................................... 42
3.2.6 PADRES DE CANCELAMENTO ........................................................... 46
4 CONCLUSO ........................................................................................................ 48
4.1 Trabalhos Futuros ......................................................................................... 48
REFERNCIAS BIBLIOGRFICAS ........................................................................ 50

Cap tulo 1
INTRODUO

Modelagem de negcio uma erramenta conceitual que utiliza um conjunto


de elementos e rela es entre estes para expressar a maneira como uma
determinada atividade realizada especi icando dados de entrada sada e o luxo
de informao que ocorre durante a realizao da atividade. Assim a modelagem
usada no apenas para especi icar os passos de negcio mas tambm para prover
uma maneira uma viso simpli icada do negcio.
Na modelagem de negcio temos o mapeamento dos processos existentes.
Este mapeamento de grande import ncia uma vez que permitindo a viso ampla e
simplificada do negcio possibilita o entendimento e a melhoria dos servios
internos e externos da empresa.
Dessa maneira, a modelagem tambm usada para auxiliar as
organiza es na compreenso de seu prprio negcio permitindo a compreenso e
a identificao de problemas e possveis melhorias.
De acordo com [10], a modelagem de processos de negcio intenta criar
uma definio simples de um processo de tal maneira que pro issionais de di erentes
reas possam ver compreender e manipular de acordo com suas competncias o
processo atravs de uma notao adequada.
A BPMN um conjunto de conven es gr icas para descrever processos
de negcio. Esta notao oi especi icamente projetada para coordenar seqncias
de processos e a troca de mensagens existente entre processos. A inteno de um
modelo de processo em BPMN capturar detalhes su icientes para permitir que ele
seja utilizado como fonte de uma descrio executvel de um processo.
Existem muitas ferramentas para modelagem de processos de negcio.
Muitas caractersticas podem ser levadas em considerao ao se escolher uma
ferramenta, entre elas, podemos destacar a utilizao da BPMN para modelagem do
processo e a possibilidade de simular e de gerar estatsticas do processo. Para que
seja possvel a implementao destas duas ltimas, necessrio que exista uma
maneira de especificar formalmente os processos de negcio.

7
H uma grande variedade de linguagens para a de inio e execuo de
processos de negcio. O ideal seria que estas linguagens pudessem descrever
completamente qualquer processo de negcio mas como pode ser visto em uma
pesquisa feita por [14], esta no a realidade. Dessa orma deve-se escolher a
linguagem que atenda as necessidades existentes. Ento visando estabelecer
par metros para comparao entre as linguagens de definio de processos de
negcio

oram de inidos padr es de controle de luxo em [1]. Assim, podemos

classificar as linguagens de acordo com os padr es que ela capaz de expressar.


Existem duas importantes caractersticas que as

erramentas para

modelagem devem possuir: uma notao que seja completa o su iciente para
permitir a modelagem do processo de negcio assim como a utilizao de uma
linguagem para a definio do processo que possa expressar corretamente o
processo de negcio.

1.1 Objetivos

O principal objetivo deste trabalho identi icar como a notao BPMN pode
graficamente, representar os padr es de controle de luxo. Fazendo o mapeamento
dos padr es de controle de luxo para esta notao.

1.2 Contribuies

A principal contribuio a representao dos padr es de controle de luxo


atravs da notao BPMN.
Uma segunda contribuio deste trabalho a de inio de passos que
podem ser seguidos para que algumas necessidades que os analistas de negcio
possuem possam ser atendidas.

1.3 Organizao do texto

No captulo

so apresentados os undamentos utilizados para desenvolver

e entender este trabalho, tais como: o conceito de processos e gerenciamento de


negcios uma descrio da BPMN e de seus elementos que oram utilizados neste
texto, a definio do plano de navegao e da arquitetura R

, a descrio da

NPDL e de seus operadores e a descrio das diretrizes para modelagem de projeto


conceitual de workflows.
No captulo 3 apresentada a descrio dos padr es de controle de fluxo,
assim como um exemplo, sua representao em NPDL e em BPMN para cada um
dos padr es. Alm disso apresentamos quais as principais necessidades de um
profissional de negcio e mostramos passos que podem ser seguidos para que elas
sejam facilmente atendidas.
Por fim, o captulo

traz a concluso do trabalho, sua contribuio e

apresenta propostas para trabalhos futuros.

Cap tulo 2

FUNDAMENTAO TERICA

2.1 Processo de negcio

Segundo [5], processo de negcio pode ser visto como a ordenao de


atividades de trabalho utilizando tempo e espao com um incio um im e um
conjunto claramente definido de entradas e sadas. Assim podemos entender
processo de negcio como um conjunto de passos (ou atividades) que devem ser
executados em uma determinada ordem. Estas atividades podem ser executadas
sequencialmente ou paralelamente.
O gerenciamento de processos de negcio


ou

(BPM), um novo mtodo e uma nova tecnologia para manipulao de

processos. Alm das caractersticas relativas ao fluxo de controle, envolve mtodos


tcnicas e erramentas para apoiar o projeto execuo gerenciamento e anlise
operacional dos processos de negcio.
Com o BPM, houve a possibilidade da abstrao do negcio da lgica de
aplicativos, pois, segundo [6], ofereceu uma das primeiras oportunidades reais para
a separao de gerenciamento de negcios do gerenciamento de sistemas.


Um sistema de BPM constitudo dos seguintes mdulos:

(ambiente de execuo ou motor de execuo) Modelagem de Processos (definio


e projeto do processo); Simulao Monitoramento e de Atividade e Inter ace de
usurio. A modelagem de processos pode ser eita utilizando a


(BPMN), que ser descrita a seguir.

10

2.2 Modelagem de processo de negcio utilizando a BPMN

BPMN foi desenvolvida pela


aps mais de

(BPMI)

anos de pesquisa para ornecer uma notao que osse acilmente

entendida pelos usurios de negcio desde os analistas de negcios que comeam


a modelar os processos, at os desenvolvedores que os implementam. Esta
notao visa permitir a comunicao entre di erentes audincias de uma grande
variedade de informa es. Uma descrio detalhada pode ser encontrada em [12].


A BPMN define o

(BPD) que um conjunto de

elementos gr icos que permitem a criao de um modelo de Processo de Negcio.


Com a BPMN temos uma notao gr ica padronizada que descreve os
passos de um processo de negcio em um

Os elementos da BPMN foram organizados em quatro categorias bsicas.


1. Objetos de Fluxo: So os principais elementos gr icos para de inir o
comportamento de um processo do negcio.
a.

vento

trs objetos do luxo:

algo que ocorre no decorrer do processo de

negcio. Eles a etam o luxo do processo e podem ter um


gatilho, ou um resultado associado. H trs tipos de eventos:
Inicial, intermedirio e inal.
b.

tivi a e A atividade uma tare a genrica executada pela

organizao ela pode ser at mica ou complexa.




c.

atewa G

so usados como estrutura de controle

na seqncia do luxo.
2. Objetos de conexo: Os objetos de conexo conectam eventos


atividades e

. H trs objetos de conexo utilizados para

conectar os objetos do fluxo s outras informa es:


a. Flu o e se


n ia

utilizado para mostrar a ordem que as

atividades sero executadas no luxo.


b. Flu os e


ensage

utilizado para mostrar o tr ego de

mensagens entre as entidades do negcio.


c.

sso ia

o Uma associao conecta in ormao adicional

aos elementos bsicos como por exemplo uma descrio.

11
3. Raia: Raias so utilizadas para agrupar os elementos de modelagem
possibilitando a organizao das atividades em categorias.

dois

tipos de raias:
a. Pis inas Uma piscina um continer que agrupa um

conjunto de atividades de uma organizao. As piscinas podem


ser do tipo caixa preta ou caixa branca. A piscina do tipo caixa
preta esconde seus detalhes; a comunicao s pode ocorrer
com a borda da piscina enquanto a piscina do tipo caixa branca
exibe seus detalhes e permite a comunicao com elementos
em seu interior.
b. Pistas Para decompor uma organizao em unidades
espec icas divide-se longitudinalmente o interior da piscina por
meio de pistas.
4. Artefato: Artefatos so utilizados para agregar informa es ao
modelo permitindo uma maior flexibilidade da notao. Atualmente
existem trs tipos de arte atos de inidos:
a.

eto

e Da os So mecanismos utilizados para mostrar




como dados so produzidos ou requeridos pelas atividades.


b.

ru o Grupos so utilizados para documentao e no




afetam o fluxo do negcio.


c.

nota

utilizado para o erecer um texto com

informa es adicionais para quem estiver lendo o diagrama


BPMN.

Figura 2.1 Elementos da BPMN (Fonte 12 )




12

A BPMN possui dezenas de elementos de modelagem. Os elementos


citados acima so apenas uma generalizao dos elementos existentes. A seguir
sero apresentados os elementos utilizados neste trabalho.

1. Evento: Existem 9 tipos de eventos: mensagem, tempo, erro, regra,


cancelamento, compensao ligao mltiplo e trmino. A seguir
uma descrio de 3 deles.
a.

rro:

b. Liga

utilizado para o controle de exceo.

o:

utilizado para ligar eventos. Pode ser visto como

um go to.
c.

r ino: Indica que todas as atividades do processo devem

ser terminadas.


2. Gate a : G

podem ser usados tanto para a unio quanto

para a diviso do luxo. Na diviso temos o

como sendo um

local onde o fluxo pode seguir dois ou mais caminhos. Na unio o




um local que espera uma ou mais linhas de execuo do

fluxo antes de habilitar a atividade seguinte que pode, inclusive, ser


habilitada mais de uma vez.

a.

lusivo

R : Deciso e unio exclusiva.

ou

: Apenas um caminho ser seguido.

: Aguarda a linha do fluxo que foi ativada antes de

habilitar a atividade seguinte.

b. n lusivo

R : Deciso e unio inclusiva.

: Qualquer quantidade de caminho pode ser seguido.

: Aguarda todas as linhas de fluxos que foram ativadas

e s depois habilita a atividade seguinte.

13

c. Paralelo


ND :

: Todos os caminhos devem ser seguidos.

: Aguarda todas as linhas de fluxo antes de habilitar a

atividade seguinte.

d.

le o:

: Uma expresso determina quais caminhos devem

ser seguidos.


: Uma expresso determina por quais fluxos de

seqncia necessrio esperar antes de habilitar a atividade


seguinte.
3. Fluxo de exceo: Ocorre fora do fluxo normal do processo e
baseado em um evento intermedirio que ocorre durante a execuo
de uma atividade.

4. Atividade de repetio: Determina se a atividade executada zero


uma ou mais vezes. Este tipo de repetio semelhante
constru es

5. Atividade de m ltiplas inst ncias: Determina a quantidade de


vezes que a atividade ser executada. Este tipo de repetio
semelhante

construo

14

2.3 Arquitetura RiverFish

Segundo [7], R

um modelo arquitet nico para a representao

controle e execuo de processos de negcio. Esta arquitetura possui uma




linguagem de modelagem descrita pelo conceito de N


Navegao). Dessa orma podemos ver R

(Plano de

como uma arquitetura para

gerenciamento de processos de negcios.


Um conceito utilizado nesta arquitetura o conceito de plano de navegao.
Este conceito foi definido em [7] e estendido em [8] como um conjunto de todos os
processos de negcio exigidos em uma aplicao para se atingirem os objetivos de
negcio. O plano de navegao mapeia todas as regras de consistncia em uno
s requisi es dos servios eletr nicos de todos os

dos dados pertencentes

objetivos de negcio. Um plano de navegao conecta uma requisio ao seu


respectivo passo de negcio e uma inst ncia do PN pode ser entendida como um
vnculo entre uma requisio de um determinado usurio e os passos de negcio
que respondero por ela.
De acordo com [7], a definio ormal de plano de navegao utiliza
fundamentos da lgebra de processos. Os undamentos da lgebra de Processos
no sero descritos neste trabalho mas podem ser vistos em [2].

2.3.1 DEFINIO FORMAL DE PLANO DE NAVEGAO

Definio 1:

les. Uma ao simples um conjunto de a es

at micas compostas usando os operadores de seqncia e composio alternativa.


Definio 2: Ponto e verifi a

o. Um ponto de verificao um conjunto

de a es at micas compostas usando regras restritivas e condicionais.


Definio 3: Passo

e Nego io. Um passo de negocio ou uma ao


simples ou um ponto de verificao.


Definio 4: Pro esso e Nego io. Um processo de negocio um conjunto

de passos de negocio compostos usando operadores bsicos da lgebra de


processos e suas extens es.

15
Definio 5: Plano e Navega


o. Um plano de navegao um conjunto

de todos os processos de negocio exigidos em uma aplicao para atingir o objetivo


de negocio.
Passos de negocio podem ser especializados em a es simples pontos de
verificao regras e tipo de regras. Cada passo especializado implementa suas
a es at micas internas sobre um dado espec ico.

uando um plano de navegao

instanciado um vnculo criado entre os dados e os passos de negocio.

2.3.2
R


RF


PRINCIPAIS

CARACTER STICAS

PROPRIEDADES

DO

Segundo [7], o modelo arquitet nico R

apresenta duas principais

caractersticas:
1. A reutilizao de um determinado passo de negcio na de inio de
outros processos de negcio:
2. O controle de execuo das instancias dos planos de navegao em
bancos de dados relacionais.

Para os autores, estas duas caractersticas aliadas

de inio ormal do

Plano de Navegao rati icam as seguintes propriedades da arquitetura R

1. Reaproveitamento
2. Formalizao
3. Instanciao
4. Preciso na localizao da interao

Estas quatro propriedades do RF-NP esto undamentadas nas de ini es


da lgebra de Processos relacionadas

representao do ormalismo do ciclo de

regras. Suas defini es podem ser encontradas em [2] e [7].

16
2.3.3 R


RF


ESTENDIDO

Segundo a arquitetura de R

, processos podem ser divididos em duas

categorias: at micos e compostos. Processos de negcio at micos so descritos em


termos de passos de negcio sendo que passos de negcio podem ser a es
simples ou pontos de verificao. Processos de negcios compostos so aqueles
obtidos a partir de outros processos de negcio. A es e pontos de veri icao so
utilizados para manipulao de dados.
Em [9], o metamodelo do R

foi estendido, com o objetivo de utilizar

ontologias para representar o processo de negcio. Dessa orma inseriu-se a


classificao de regras de negcio possibilitando a representao do encadeamento
seqencial do luxo de execuo de um processo de negcio. E a arquitetura oi
adaptada para representar os conceitos de classificao de regras de negcio
propostos em [11].
As regras de negcio oram agrupadas em duas categorias: restritivas e
condicionais. Regras restritiva no admitem respostas alsas ou seja o luxo s
pode continuar sendo executado se uma regra deste tipo for atendida. Regras
condicionais avaliam a respostas e, com base nela, decidem por qual caminho
seguir.

2.4 Navigation Plan Definition Language (NPDL)

A NPDL uma extenso da linguagem S L. Ela oi de inida por [4] com o


objetivo de viabilizar o controle de processos de negcio para um modelo relacional
de dados. Esta linguagem baseada no conceito do plano de navegao da
arquitetura RiverFish e em operadores da lgebra de processos.
Processos em NPDL so de inidos por express es algbricas que so
constitudas por a es at micas processos e operadores NPDL.
A NPDL contm os operadores mais comuns da lgebra de processos alm
de tambm de inir operadores adicionais com o objetivo de atender a todas as
categorias de padr es de controle de luxo.

17
Os operadores da NPDL so:
1. Composio Seq encial (operador "."): o termo de processo A . B
significa que inicialmente somente o termo A est habilitado para
execuo. O termo B ser habilitado para execuo somente aps o
fim da execuo do termo A
2. Composio Alternativa (operador "+"): o termo de processo A + B
significa que ambos termos A e B estaro habilitados para a
execuo
3. Composio Paralela (operador "||"): o termo de processo A || B
significa que os termos A e B podem ser executados paralelamente;
Este operador representa o operador de entrelaamento da lgebra
de processos, com a ressalva de que na NPDL no h o conceito de
comunicao da ACP.
4. Composio Paralela Entrelaada (operador "|*"): o termo de
processo A |* B significa que os termos A e B podem ser executados
em qualquer ordem, mas no paralelamente;
5. Composio Multi Convergente (operador "&"): o termo de
processo A & B significa que o termo B ser habilitado para execuo
aps o trmino da execuo de cada linha de execuo do termo A.
Este operador foi criado para facilitar o uso do padro juno mltipla.
6. Composio Discriminatria (operador "^"): o termo de processo A
^ B significa que o termo B ser habilitado para execuo aps o
primeiro trmino de uma linha de execuo do termo A Este operador
foi criado para facilitar o uso do padro discriminador.
7. Repetio Ilimitada (operador "?*"): o termo de processo A?*
significa que o termo A pode ser executado, de forma paralela, uma
ou mais vezes; Este operador foi criado para facilitar a representao
dos padr es de mltipla inst ncias. Este padro reproduz o
comportamento que define a criao de subprocessos recursivos para
a representao de mltiplas inst ncias.
8. Repetio Numericamente Limitada (operador "?n"): o termo de
processo A?5 significa que o termo A deve ser executado, de forma
paralela, 5 vezes; Este operador uma variao do operador

que

permite indicar o nmero de vezes que o termo deve ser instanciado e

18
executado. O nmero associado ao

deve ser um nmero inteiro

positivo e no nulo.
9. Repetio Limitada por Funo (operador "?f"): o termo de
processo A?f significa que o termo A deve ser executado, de forma
paralela, o nmero de vezes retornado pela uno
execuo Este operador uma variao do operador

em tempo de
que permite

a associao de uma uno para determinar em tempo de execuo


quantas inst ncias da atividade sero criadas. A uno que pode ser
associada ao uma uno at mica cujo valor de retorno um
inteiro positivo e no nulo. A uno ser avaliada em tempo de
execuo do processo.
10. Execuo Condicional (operador "%r", sendo r uma regra de
negcio que retorna um valor

): o termo de processo %r1 A

significa que o termo A ser habilitado para execuo se o valor de


retorno da regra r1 for verdadeiro. Sendo assim, uma regra na NPDL
pode ser entendida como uma condio para a execuo de uma
atividade;
11. Execuo Condicional Negativa (operador "%!r", sendo r uma regra
de negcio que retorna um valor

): o termo de processo

%!r1 A significa que o termo A ser habilitado para execuo se o


valor de retorno da regra r1 for falso.

O comportamento dos operadores de execuo condicional (10) e (11) no


so representadas em lgebra de processos. Os operadores (4), (5), (6), (7), (8) e
(9) tambm no existem na lgebra de processos entretanto seus comportamentos
podem ser representados com a combinao de outros operadores de lgebra de
processos.

19
2.4.1 A N


A N

NPL N


foi implementada na forma de uma biblioteca de

fun es e oi desenvolvida para atender




s caractersticas especificadas pela

(WfMC) para um sistema de

. Ela

composta por trs servios: o Interpretador NPDL, o Servio de Instanciao de


Processos e o Servio Monitor de Execuo de Inst ncias de Processos.
A funo do Interpretador NPDL receber um comando de entrada e e etuar
as anlises lxica sinttica e sem ntica. O Servio de Instanciao de Processos
disponibiliza fun es para a criao de inst ncias de processos. O Servio Monitor
de Execuo de Inst ncias de Processos responsvel por ligar uma inst ncia de
processo aos seus dados de execuo (plano de navegao). No entraremos muito


em detalhes sobre a N

, mais informa es podem ser obtidas em

[4] e em [3].


O nosso interesse na N
algbrica em NPDL

que dada uma expresso

podemos criar uma rvore de expresso (rvore de

navegao) que uma rvore binria completa que representa a expresso


algbrica.
Com esta rvore de navegao possvel determinar a ordem de execuo
dos passos de um plano de navegao. E assim tem-se o controle do estado de
cada passo.

2.5 Diretrizes para projeto conceitual de workflows

A idia principal destas diretrizes propor uma seqncia de ases que


conduza a ordenao e encadeamento das tarefas que comp e o luxo de
informa es de um processo de negcio possibilitando a construo de um projeto
conceitual de

, que dever ser um arte ato gra o orientado apto a ser

representado, simulado e executado em ferramentas de BPM.

20
A concepo destas diretrizes se apia na arquitetura para gerenciamento
de processos de negcio denominada R

, na classificao de regras de

negcio para RiverFish no conceito de precedncia de atividades nos mecanismos


bsicos de seqncia paralelismo, iterao e seleo para modelagem de luxo de
controle de um processo de negcio e nos padr es do

Estas diretrizes so um conjunto de etapas de modelagem denominadas


fases, e so descritas a seguir:

Figura 2.2 Diretrizes para o projeto conceitual de




or flo

(Fonte 13 )


As principais caractersticas das diretrizes so:


1. Delimitao e separao das
Conceitual de

ases de construo do Projeto

para atuao de especialistas de negcio e

TI;
2. Aplicao das ases de orma iterativa e incremental, exceto a stima
fase que apenas incremental
3. Recuperao do processo de modelagem por uso de tabelas e
diagramas gerados em cada etapa;

A seguir, cada uma das sete fazes ser detalhada:

Fase

De lara

oe

lassifi a

o os assos e neg


io

Esta primeira etapa destinada a auxiliar pessoas de negcio na


modelagem de processos de negcio.
A declarao dos passos de negcio tem o objetivo de tornar explcito todos
os passos que comp e um processo de negcio sendo assim com a declarao

21
queremos dizer, expor ou manifestar a essncia de um passo de negcio da
maneira mais clara possvel.
A classificao dos passos de negcio tem o objetivo de auxiliar na
ordenao do luxo de controle de processos de negcio. Esta classi icao eita


de acordo com a estrutura proposta pela arquitetura R

estendida por [9].

Nesta classificao devemos dividir os passos de negcio em duas categorias:


Restritivos e Condicionais.

Fase

Posi ionar os

assos

ro esso

e neg

io lassifi a os

o o restritivos

Nesta fase, visando uma melhor performance, deseja-se posicionar os


passos de negcio classi icados como restritivos sempre que possvel no incio do
fluxo de controle. Isto necessrio para minimizar os e eitos causados por esses
passos casos eles no sejam atendidos pois passos de negcios restritivos podem
causar interrupo na execuo do luxo de controle uma vez que sua condio s
admite resposta verdadeira para prosseguir.

Fase

Des o rir a rela


ro esso e neg

e en

n ia entre os

assos

io

Esta etapa consiste em identificar para cada passo de negcio declarado na


Fase 1, a sua relao de dependncia com os outros passos do processo.

Fase
neg

o elar grafi a ente o flu o


ontrole

ro esso

io
Nesta fase eita a modelagem gr ica. Para isto conectamos por meio de

uma seta orientada os passos de negcio de acordo com a relao de dependncia


descrita na fase anterior. Quando um passo possui mais de uma seta saindo dele,
uando existe mais de uma seta entrando

dizemos que existe um ponto de diviso.

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

Fase

Des rever o

e istentes no

orta ento

os

ontos

ivis o e uni o


o elo onstru o

Nesta fase, o comportamento dos pontos de diviso e unio identi icados no


passo anterior devem ser descritos para permitir a identificao dos padr es de

22
proposto que esta ase seja desenvolvida juntamente com o

controle de fluxo.

profissional de TI, objetivando um entendimento comum do negcio.

Fase

entifi ar

lassifi ar os

a r es


ontrole

e flu o e


finali ar o ro eto on eitual e workflow




A partir da descrio do comportamento dos pontos de diviso e unio os


especialistas de negcio em conjunto com os especialistas de TI devero classi icar
o padro que melhor atenda ao comportamento declarado na ase anterior.

Fase

onfigura

o elo

asea o e

a r es na ferra enta


workflow
Nesta ltima ase deseja-se configurar o modelo obtido pela execuo dos
passos anteriores em uma ferramenta
dos especialistas.

que melhor atenda s necessidades

23

Cap tulo 3

RESULTADOS OBTIDOS

Existem diversas linguagens para a definio de processos de negcio.


Neste trabalho foi utilizada a NPDL por ela conseguir atender a todas as categorias
de padr es de controle de luxo e por se apoiar no conceito do plano de navegao
da arquitetura R


a N

e em operadores da lgebra de processos alm de possuir


, que disp e de bibliotecas que possibilitam o controle da

ordem de execuo de uma expresso em NPDL.


Como esta facilidade j est implementada e descrita em [ ] partiremos do
pressuposto de que dada uma expresso em NPDL que representar um processo
de negcio sabemos qual o comportamento e como simular este processo, tendo
como controlar o estado de cada atividade em qualquer instante de, por exemplo,
uma simulao.
Assim, para se ter o controle completo de um processo de negcio basta
represent-lo em NPDL. Mas esta linguagem no muito amigvel ao usurio visto
se tratar de express es algbricas.
A BPMN, porm uma notao j conhecida entre os pro issionais de
negcio e com elementos que possuem o comportamento bem de inido. No entanto
esta notao no nos ornece nenhuma maneira de controlar a execuo do
processo.
Desta maneira, deseja-se uma linguagem que seja facilmente utilizvel
como a BPMN, e que possua fundamentao matemtica como a NPDL. Neste
captulo

isto apresentado

no criando uma linguagem nova

que seria

desconhecida aos profissionais, mas criando um vnculo entre a BPMN e a NPDL.


Este vnculo eito mostrando como estas nota es representam os padr es de
controle de fluxo.

24

3.1 Necessidades de um Analista de Negcio

.5 vimos uma seqncia de ases para o desenvolvimento do

Na seo

projeto conceitual de

. Destas diretrizes podemos definir algumas

necessidades que um analista de negcio apresenta ao modelar um processo de


negcio.

Figura 3.1 Necessidades de um Analista de Negcio (Baseado em 13 )




Da figura 3.1, temos sete fases, que sero descritas e detalhadas a seguir:
1. Declarar os passos de negcio
Nesta fase deve-se declarar os passos de negcio ou seja as
atividades que comp e o processo. A melhor orma de azer isto
atravs de uma tabela em que cada linha representa uma atividade.

2. Classificar segundo Arquitetura RiverFish


Cada atividade declarada na fase anterior deve ser classificada
segundo a arquitetura R

estendida, descrita na seo .3.3.

Assim, ao final desta segunda fase, teremos todas as atividades e


suas classifica es.

3. Reposicionar visando melhor desempenho


Uma vez que as atividades j oram classi icadas desejvel que as
restritivas fiquem o mais prximo possveis do comeo do luxo. Isso
diminui os efeitos causados por uma interrupo gerada por estas
atividades e melhora o desempenho do processo.

25
4. Declarar as depend ncias entre os passos de negcio
Nesta fase, para cada atividade declarada na primeira fase, deve-se
especificar quais so as dependncias entre elas ou seja quais
atividades precisam ser executadas para que uma outra atividade
esteja habilitada para a execuo.
Uma forma de declarar esta dependncia para cada atividade
declarada na fase 1, especificar quais atividades ser habilitadas para
a execuo aps o trmino de uma determinada atividade.
Esta fase, assim como as prximas no dependem das ases

e3

pois estas visam apenas o melhor desempenho do processo.

5. Identificar os padres de controle de fluxo


Com as dependncias entre as atividades declaradas na fase
anterior, devemos identificar os padr es de controle de luxo. Mais
detalhes sobre estes padr es est descritos na prxima seo.

6. Fazer a diagramao em notao BPMN


Uma vez que as dependncias entre as atividades j so conhecidas
deve-se fazer o diagrama em notao BPMN. Mais detalhes sobre
como representar os padr es identi icados na ase anterior est
descrito na prxima seo.

7. Simular e gerar estat sticas do processo de negcio


Com o processo j descrito em BPMN deve-se ser possvel a
realizao de uma simulao assim como gerar estatsticas. Para
isto, pode-se utilizar a NPDL, que foi descrita na seo

. . Mais

detalhes sobre a como representar os padr es de controle de luxo


esto descritos na prxima seo deste texto.

26

3.2 Especificao dos Padres de Controle de Fluxo em


NPDL e BPMN

Aalst, Hofstede, Kiepuszewski e Barros, em [1], identificaram e definiram 20


padr es de controle de luxo em

or lo s. Os Padr es de

tentam

representar as diversas situa es recorrentes em luxos de controle de processos de


negcio. Estes padr es oram descritos inicialmente com o objetivo de estabelecer
uma maneira para comparar diversas linguagens de representao de

Assim, podemos classificar as linguagens de acordo com os padr es que ela


capaz de expressar por meio de sua sintaxe.
Estes padr es esto divididos e seis categorias:
1. Padr es bsicos de controle de luxo
2. Padr es avanados de rami icao e sincronizao
3. Padr es estruturais
4. Padr es de mltiplas inst ncias
5. Padr es baseados em estados
6. Padr es de cancelamento

A seguir so apresentados as especi ica es dos padr es de controle de


fluxo usando a notao BPMN e comandos NPDL.

3.2.1 PADRES BSICOS DE CONTROLE DE FLU O

Referem-se a constru es bsicas presentes na maioria das linguagens de


modelagem de workflows.

1) Seq
Defini

ncia


o: Uma atividade em um processo de

habilitada para a

execuo aps o trmino de uma outra atividade no mesmo processo.




lo: A atividade B habilitada para a execuo somente aps o

trmino da execuo da atividade A.

27

Figura 3.2 Padro Seq




ncia (Fonte 1 )


NPDL:

SET P = A . B
Seq

ncia (Fonte 4 )


P N: Uma seta ordenada, representando o fluxo de seqncia da

BPMN, pode ser utilizada para a representao do padro Seqncia.

Figura 3.3 Seq




ncia (BPMN)

2) Diviso Paralela
Defini

o:

um ponto no processo de

no qual uma nica linha de

execuo se divide em mltiplas linhas de execuo permitindo que duas ou mais


atividades sejam executadas simultaneamente ou em qualquer ordem.
e

lo: A atividade A executada habilitando a execuo de B e C em

paralelo (ou seja, em qualquer ordem ou simultaneamente).

Figura 3.4 Padro Diviso Paralela (Fonte 1 )




NPDL:
SET P = A . (B | | C)


Diviso Paralela (Fonte 4 )




28


P N: O

paralelo pode ser usado para a representao do

padro Diviso Paralela.

Figura 3.5 Diviso Paralela (BPMN)




3) Sincronizao
Defini

o:

um ponto no processo de

no qual mltiplas atividades

paralelas convergem para uma nica linha de execuo sincronizando assim as


linhas de execuo.
e

lo: A atividade C habilitada somente depois que A e B tiverem sido

executadas.

Figura 3.6 Padro Sincronizao (Fonte 1 )




NPDL:
SET P = (A | | B) . C


Sincronizao (Fonte 4 )


P N: O


padro Sincronizao.

paralelo pode ser usado para a representao do

29

Figura 3.7 Sincronizao (BPMN)




4) Escolha Exclusiva
Defini

o:

um ponto no processo de

no qual um nico caminho

escolhido dentre os possveis. Essa escolha baseia-se em uma deciso ou em um


dado de controle do
e

lo: As atividades B e C so habilitadas aps a execuo de A mas

somente uma delas ser escolhida implicitamente para execuo.

Figura 3.8 Padro Escolha Exclusiva (Fonte 1 )




NPDL:
SET P = A . (%r B + %!r C)
Sendo r a regra associada escolha exclusiva


Escolha Exclusiva (Fonte 4 )




P N: O

do padro Escolha Exclusiva.

exclusivo pode ser usado para a representao

30

Figura 3.9 Escolha Exclusiva (BPMN)




5) uno Simples
Defini

o:

um ponto no processo de

no qual, dois ou mais

caminhos diferentes se unem sem sincronizao. Neste caso assume-se que esses
diferentes caminhos no esto sendo executados em paralelo.
e

lo: Inicialmente, as atividades A e B esto habilitadas. Aps a

execuo de uma delas C habilitada.

Figura 3.10 Padro uno Simples (Fonte 1 )




NPDL:
SET P = (%r A + %!r B) . C
Sendo r a regra associada escolha exclusiva


uno Simples (Fonte 4 )




P N: O

do padro Juno Simples.

exclusivo pode ser usado para a representao

31

Figura 3.11


uno Simples (BPMN)

3.2.2 Padres Avanados de Ramificao e Sincronizao


Representam controles de fluxos mais avanados que os padr es bsicos

6) Escolha M ltipla
Defini

o:

um ponto no processo de

no qual um ou mais

caminhos so escolhidos. A escolha baseia-se em uma deciso ou dados de


controle do

lo: Inicialmente, uma das trs op es estar habilitada: somente a

atividade B ser executada somente a atividade C ser executada ou a atividade B


em paralelo com a atividade C sero executadas.

Figura 3.12 Padro Escolha M ltipla (Fonte 1 )




NPDL:
SET P = A . (%r1 (B | | C) + %!r1 (%r2 B + %!r2 C))
Sendo r1 e r2 as regras associadas s escolhas exclusivas


Escolha M ltipla (Fonte 4 )




32


P N: O

inclusivo pode ser usado para a representao do

padro Escolha Mltipla.

Figura 3.13 Escolha M ltipla (BPMN)




7) uno Sincronizada
Defini

o:

um ponto no processo de

no qual mltiplos caminhos

convergem para uma nica linha de execuo. Se mais de um caminho estiver com
atividades ativas, ento eita a sincronizao destes caminhos. Se somente um
caminho estiver com atividades ativas, ento o ramo alternativo de atividade
converge sem sincronismo.


lo: Se na escolha mltipla a execuo tiver sido encaminhada para a

diviso paralela de B e C ento a juno sincronizada aguarda a inalizao das


a es B e C para habilitar D. Caso a escolha mltipla dispare somente a execuo
de B, ento D ser habilitada aps a execuo de B. Caso a escolha mltipla
dispare somente a execuo de C ento D ser habilitada aps a execuo de C.

Figura 3.14 Padro uno Sincronizada (Fonte 1 )




33

NPDL:

SET P = A . (%r1 (B | | C) + %!r1 (%r2 B + %!r2 C)) . D


ou
SET P1 = (%r1 (B | | C) + %!r1 (%r2 B + %!r2 C))
SET P = A . P1 . D
Sendo P1 o mapeamento da escolha mltipla e
r1 e r2 as regras associadas s escolhas exclusivas


uno Sincronizada (Fonte 4 )




P N: O

inclusivo pode ser usado para a representao do

padro Juno Sincronizada.

Figura 3.15


uno Sincronizada (BPMN)

8) uno M ltipla
Defini

o:

um ponto no processo de

no qual, dois ou mais ramos

de atividades convergem sem sincronismo. Se mais de um ramo for ativado, de


forma concorrente, ento a atividade posterior

juno executada cada vez que

encerrada uma execuo de um dos ramos de entrada.




lo: Se na mltipla escolha a execuo tiver sido encaminhada para a

diviso paralela de B e C ento a juno mltipla executa D cada vez que uma
linha de execuo da diviso paralela inalizada. Caso a escolha mltipla dispare
somente a execuo de B, ento D ser habilitada aps a execuo de B. Caso a
escolha mltipla dispare somente a execuo de C ento D ser habilitada aps a
execuo de C.

34

Figura 3.16 Padro uno M ltipla (Fonte 1 )




NPDL:
SET P = A . (%r1 (B | | C) + %!r1 (%r2 B + %!r2 C)) & D
ou
SET P1 = (%r1 (B | | C) + %!r1 (%r2 B + %!r2 C))
SET P = A . P1 & D
Sendo P1 o mapeamento da escolha mltipla e
r1 e r2 as regras associadas s escolhas exclusivas


uno M ltipla (Fonte 4 )




P N: As setas representando a seqncia de luxo podem ser

usadas para a representao do padro Juno Multipla.

Figura 3.17


uno M ltipla (BPMN)

9) Discriminador
Defini

o: um ponto no processo de

que espera pelo trmino da

execuo de um de seus ramos de entrada antes de habilitar a execuo da


atividade subseqente. A partir desse momento ele espera o trmino da execuo
dos demais ramos de entrada mas no os leva em considerao. Dessa orma
diferentemente da Juno Mltipla o nmero de ramos ativos de entrada do

35
discriminador no determina o nmero de vezes que a atividade subseqente ser
executada.
e

lo: Se na Escolha Mltipla a execuo tiver sido encaminhada para a

diviso paralela de B e C ento o Discriminador habilitar a execuo de D aps o


trmino da linha de execuo que or encerrada primeiro. Se B terminar primeiro
ento D ser habilitado para execuo aps C terminar di erentemente da Juno
Mltipla D no ser habilitado novamente. Caso a escolha mltipla dispare somente
a execuo de B, ento D ser habilitado aps a execuo de B. Caso a escolha
mltipla dispare somente a execuo de C ento D ser habilitado aps a
execuo de C

Figura 3.18 Padro Discriminador (Fonte 1 )




NPDL:
SET P = A . (%r1 (B | | C) + %!r1 (%r2 B + %!r2 C)) ^ D
ou
SET P1 = (%r1 (B | | C) + %!r1 (%r2 B + %!r2 C))
SET P = A . P1 ^ D
Sendo P1 o mapeamento da escolha mltipla e
r1 e r2 as regras associadas s escolhas exclusivas


Discriminador (Fonte 4 )


P N: A combinao dos


inclusivo e exclusivo pode ser

usada para a representao do padro Discriminador.

Figura 3.19 Discriminador (BPMN)




36
9a) N Discriminador
Defini
processo de

o:

uma generalizao do padro Discriminador.




um ponto no

que espera pelo trmino da execuo de N de seus ramos de

entrada antes de habilitar a execuo da atividade subseqente. A partir desse


momento, ele espera o trmino da execuo dos demais ramos de entrada mas no
os leva em considerao. Dessa orma ocorre uma sincronizao parcial.
e

lo: Vamos fixar o valor de N como sendo 2. Assim, se na Escolha

Mltipla a execuo tiver sido encaminhada para a diviso paralela de B C e D


ento o N-Discriminador habilitar a execuo de E aps o trmino de quaisquer
linhas de execuo (B e C ou C e D ou B e D). Quando o terceiro processo terminar
sua execuo o N-Discriminador no o levar em considerao.

Figura 3.20 Padro N Discriminador (Fonte 1 )




NPDL:

SET P = A . P1 ^ E
Sendo P1 o mapeamento da escolha mltipla e as regras associadas
a P1 definem o comportamento do N-Discriminador
N Discriminador

P N: A combinao dos


inclusivo e complexo pode ser

usada para a representao do padro N-Discriminador.

Figura 3.21 N Discriminador (BPMN) (Fonte 15 )




37
3.2.3 PADRES ESTRUTURAIS

Representam a flexibilidade que as linguagens de modelagem de

possuem de blocos possurem paralelismo e mltiplos pontos de entrada e sada.

10) Ciclo Arbitr rio


Defini

o:

um ponto em um processo de

que permite que uma

ou mais atividades sejam feitas repetidamente.


e

lo: A atividade A executada seguida pela atividade B. Em seguida

as atividades C e D so habilitadas para a execuo. A execuo da atividade D


representa o ciclo, que possibilita que a atividade B seja executada vrias vezes.

Figura 3.22 Padro Ciclo Arbitr rio




NPDL:
SET P1 = B . (%r C + %!r (D . P1))
SET P = A . P1
Sendo r a regra associada escolha exclusiva
Ciclo Arbitr rio

P N: O Ciclo Arbitrrio representado por meio de caminhos




cclicos no luxo.

38

Figura 3.23 Ciclo Arbitr rio (BPMN)




11) Terminao Impl cita


Defini

o: Um dado subprocesso pode ser encerrado quando no h mais

nada a ser feito, ou seja, um caminho pode ser concludo se no houver mais
atividades a serem executadas neste caminho.
e

lo: Aps a execuo da atividade A as atividades B e C so

habilitadas. Aps a execuo da atividade B a atividade D habilitada e aps a


execuo desta este caminho termina. Assim como aps a execuo da atividade
C, a atividade E habilitada e aps a execuo de E o caminho termina.

Figura 3.24 Padro Terminao Impl cita (Fonte 1 )




NPDL: No existe em NPDL um termo que indique o estado inal do

processo


Terminao Impl cita (Fonte 4 )




.


P N: O evento de Fim pode ser usado para a representao do




padro Terminao Implcita.

39

Figura 3.25 Terminao Impl cita (BPMN)




3.2.4 PADRES DE M LTIPLA INST NCIA

Padr es de mltiplas inst ncias so utilizados para descreverem a execuo


de mais de uma inst ncia de uma determinada tare a at mica.

12) M ltiplas Inst ncias Sem Sincronizao


Defini

o: Este padro representa um ponto no

no qual mltiplas

inst ncias de uma atividade podem ser criadas isto h uma acilidade para gerar
novas linhas de execuo. Cada uma das linhas de execuo gerada
independente das demais. Alm disso no h a necessidade de sincronizar estas
linhas.
e

lo: Aps a execuo da atividade A mltiplas inst ncias da atividade

B so criadas gerando assim, vrias linhas de execuo independentes.

NPDL:
SET P = A . (B . C) ?*


MI Sem Sincronizao (Baseado em 4 )




P N: Os padr es Diviso Paralela e Escolha Exclusiva podem ser




usados para representar este padro. Aps a execuo da atividade B, a


atividade C executada e outra inst ncia da atividade B pode ser criada ou no
dependendo da regra associada

Escolha Exclusiva mas sempre que a

atividade B for executada, uma nova linha de execuo independente ser


criada.

40

Figura 3.26 MI Sem Sincronizao (BPMN)




13) M ltiplas Inst ncias com conhecimento pr vio em tempo de projeto


Defini

o: Ocorre quando, em uma inst ncia de processo uma atividade

habilitada mltiplas vezes sendo que o nmero de inst ncias a serem executadas
da atividade em questo conhecido em tempo de projeto. Aps o trmino da
execuo de todas as inst ncias uma outra atividade do

habilitada para

execuo
e

lo: Aps a execuo da atividade A a atividade B executada 3

vezes, e aps a execuo dessas 3 vezes da atividade B, a atividade C executada.


As mltiplas inst ncias da atividade B devem ser executadas paralelamente.

NPDL:

SET P = A . B ?3 . C


MI Com Conhecimento Pr vio em Tempo de Projeto (Baseado em 4 )




P N: O smbolo de mltipla inst ncia adicionado

atividade B

mostrando que esta atividade ser executada n vezes e em paralelo.

Figura 3.27 MI Com Conhecimento Pr vio em Tempo de Projeto (BPMN) (Fonte 15 )




14) M ltiplas Inst ncias com conhecimento pr vio em tempo de


execuo
Defini

o: Ocorre quando, em uma inst ncia de processo uma atividade

habilitada mltiplas vezes sendo que o nmero de inst ncias a serem executadas
da atividade em questo conhecido em tempo de execuo. Aps o trmino da

41


execuo de todas as inst ncias uma outra atividade do

habilitada para

execuo.
e

lo: Aps a execuo da atividade A a atividade B executada um

nmero de vezes que ser decidido em tempo de execuo e aps a execuo


dessas atividades B, a atividade C executada.

NPDL:

SET P = A . B ?f . C
Sendo f uma funo que retorna um nmero inteiro e maior que zero


MI Com Conhecimento Pr vio em Tempo de Execuo (Baseado em 4 )




P N: O smbolo de ciclo adicionado

atividade B mostrando

que esta atividade ser executada n vezes.

Figura 3.28 MI Com Conhecimento Pr vio em Tempo de Execuo (BPMN) (Fonte 15 )




15) M ltiplas Inst ncias sem conhecimento pr vio em tempo de


execuo
Defini

o: Ocorre quando, em uma inst ncia de processo uma atividade

habilitada mltiplas vezes sendo que o nmero de inst ncias a serem executadas
da atividade em questo no conhecido nem em tempo de projeto nem em tempo
de execuo ou seja ele no conhecido antes do momento de criao das
inst ncias da atividade. Aps o trmino da execuo de todas as inst ncias criadas
uma outra atividade subseqente do
e

habilitada para execuo.

lo: Aps a execuo da atividade A a atividade B executada vrias

vezes at que uma condio seja satisfeita e, aps estas execu es a atividade C
ser executada.


NPDL:
SET P = A . B ?* . C


MI Sem Conhecimento Pr vio (Baseado em 4 )




42

P N: Aps a execuo da atividade A as atividades B e B so

habilitadas para a execuo. A atividade B determina se mais cpias de B devem


ser criadas. Se mais cpias devem ser criadas a linha de execuo que habilitou
B ser encerrada Atravs do padro Terminao Implcita.

Figura 3.29 MI Sem Conhecimento Pr vio (BPMN) (Fonte 15 )




3.2.5 PADRES BASEADOS EM ESTADOS

Estendem a expressividade de linguagem de

por meio da

representao de estados.

16) Escolha Postergada


Defini

o:

um ponto no processo de

no qual um entre vrios

ramos de atividades escolhido. Di erentemente da Escolha Exclusiva, na Escolha


Postergada, a escolha no eita de modo explcito ou seja no se baseia em
dados ou em uma deciso. A escolha se baseia em in orma es que podem no
estar disponveis no momento que este ponto atingido. Assim a escolha
postergada at a ocorrncia de algum evento.


lo: Aps a execuo da atividade A as atividades B e C so

habilitadas, mas somente uma delas ser escolhida explicitamente para execuo.

43

Figura 3.30 Padro Escolha Postergada (Fonte 1 )




NPDL:

SET P = A . (B + C)


Escolha Postergada (Fonte 4 )




P N: Para representar a escolha postergada, o

exclusivo

baseado em dados utilizado. Eventos intermedirios so adicionados para


controlar a escolha que ser eita.

Figura 3.31 Escolha Postergada (BPMN) (Fonte 15 )




17) Roteamento Paralelo Entrelaado


Defini

o: Ocorre quando um conjunto de atividades executado em uma

ordem arbitrria que decidida em tempo de execuo e duas atividades nunca


so executadas ao mesmo tempo mas todas sero executadas.


lo: A atividade A executada habilitando a execuo de B seguida

pela execuo de C ou a execuo de C seguida pela execuo de B. Aps o


trmino da execuo de B e C (ou C e B) a atividade D habilitada para execuo

44

Figura 3.32 Padro Roteamento Paralelo Entrelaado (Fonte 1 )




NPDL:

SET P = A . (B | * C) . D


Roteamento Paralelo Entrelaado (Fonte 4 )




P N: Processos A H

so utilizados para representar este

padro. As atividades contidas no subprocesso A H




sero todas executadas

mas uma por vez.

Figura 3.33 Roteamento Paralelo Entrelaado (BPMN)




18) Marco
Defini

o: Ocorre quando a habilitao de uma atividade dependente de

um estado espec ico da inst ncia de um processo. Ou seja a atividade s


habilitada se um certo marco tiver sido atingido e ainda no estiver expirado.


lo: Considere trs atividades A B e C. A atividade A somente ser

habilitada depois que a atividade B tiver sido executada, mas se C no tiver sido
executada ainda, ou seja, A no estar habilitada antes da execuo de B e nem

45
depois da execuo de C. O estado entre B e C modelado pelo lugar M. Este lugar
o marco para A.

Figura 3.34 Padro Marco (Fonte 1 )




NPDL:
SET P1 = A . P1 + A . C
SET P = B . P1 + B . C


Marco (Fonte 4 )


P N: A combinao dos padr es de juno e escolha postergada




pode ser utilizada para representar o padro Marco.

Figura 3.35 Marco (BPMN)




46
3.2.6 PADRES DE CANCELAMENTO

ocorrncia de um

Modelam o cancelamento de atividades condicionado


determinado evento.

19) Atividade Cancel vel


Defini

o: Ocorre quando uma atividade j habilitada pode ser desabilitada

durante a execuo da inst ncia do processo.

uando a atividade desabilitada

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


e

lo: Esta uma maneira de tratar exce es durante a execuo do

processo. Uma atividade A executada habilitando a execuo das atividades B e


C. Quando a atividade B terminar, ela lanar uma exceo. Se a atividade C estiver
sendo executada quando isto acontecer, ela ser interrompida e o luxo de execuo
seguir atravs de uma nova linha de execuo.

NPDL: O smbolo representa o smbolo de

da lgebra

de processos.
SET P = A . (B | | ((C . D) + #)


Atividade Cancel vel (Fonte 4 )




P N: Quando a atividade B terminar, o evento intermedirio




disparar um gatilho avisando o evento intermedirio acoplado a atividade C que


interromper a execuo desta caso esteja sendo executada, e continuar a
execuo do luxo atravs do luxo de seqncia ligado ao evento associado a
atividade C.

Figura 3.36 Atividade Cancel vel (BPMN) (Fonte 15 )




47
20) Caso Cancel vel
Definio: Ocorre quando a inst ncia do

pode ser removida

completamente.
Exemplo: Aps o trmino da atividade B ou do trmino da atividade D todo o
processo cancelado.

Em NPDL: Toda inst ncia de processo de inido em NPDL pode ser


cancelado em qualquer instante de sua execuo.


Caso Cancel vel (Fonte 4 )




Em BPMN: O evento de trmino usado para modelar este padro.

Figura 3.37 Caso Cancel vel (BPMN)




48

Cap tulo 4

CONCLUSO

A modelagem de negcio a erramenta utilizada para ornecer uma viso


ampla e possibilitar a otimizao de processos mas, para que isto seja possvel
necessrio que esta modelagem seja eita de orma compreensvel a todos. Para tal
utiliza-se a BPMN.
Para uma maior compreenso alm da simples descrio do negcio
necessrio que seja eita a simulao deste e para sua anlise de ser possvel
gerar estatsticas sobre a execuo do luxo evidenciando pontos que possam estar
comprometendo o desempenho do processo.
Para tanto, necessrio descrever o negcio utilizando uma linguagem que
tenha fundamentos garantindo-se, assim, a corretude dos resultados. Uma
linguagem que pode ser utilizada a NPDL que tem seus undamentos apoiados na
lgebra de Processos.
Como a BPMN j conhecida e utilizada entre os pro issionais da rea e a
NPDL undamentada em lgebra de Processos e j possui erramentas para a
execuo de processos de negcio ora apresentado neste trabalho a maneira de
representar alguns padr es utilizando a BPMN. Mostrou-se, tambm
representar

estes

mesmos

padr es

utilizando

NPDL.

Desta

como

maneira,

demonstramos que possvel representar um mesmo processo atravs de


diagramas em BPMN e de express es em NPDL.

4.1 Trabalhos Futuros

Apesar de descrevermos na seo 3.

como representar os diversos

padr es na notao BPMN e na linguagem NPDL a identificao destes padr es


nos processos e a sua traduo para express es NPDL nem sempre so tare as
triviais. Desta forma, como um possvel trabalho uturo tem se o desenvolvimento de

49
uma ferramenta gr ica que possibilite esta traduo de uma maneira simples e que
atenda s necessidades descritas na seo 3.1.

50

REFERNCIAS BIBLIOGRFICAS

[1] AALST, W.M.P. van der, HOFSTEDE, A.H.M. ter, KIEPUSZEWSKI, B.,
BARROS, A.P. Wor flo Patterns. In Distributed and Parallel Databases, Vol.
14, No. 1, Jul/2003, p. 5-51.

[2] BERGSTRA, J. A.
Amsterdam, 2001.

andboo

of Process Algebra. Elsevier Science,

[3] BRAGHETTO, K. R.; TAKAI, O. K.; FERREIRA, J. E.;PU, C. Controlling


ith NPDL and NavigationPlanTool.
processes in relational data model
Technical report, Departamento de Cincia da Computao Universidade de So
Paulo, 2005. Based on accepted work for DEMO section in SBBD2005. Disponvel
em http://www.ime.usp.br/~jef/kelly/NPDL.pdf.

[4] BRAGHETTO, K. R. Padres de Fluxo de Processo em Banco de


Dados Relacionais, Dissertao de Mestrado Instituto de Matemtica e Estatstica
da Universidade de So Paulo.

[5] DAVENPORT, T. Reengenharia de Processo. 5 ed. Rio de Janeiro,


Campus.1994.

[6] DELPHI GROUP. BPM 2005: market milestone report, 2005. Disponvel
em www.delphigroup.com.

[7] FERREIRA, J. E.; TAKAI, O. K.; PU, C. Integration of Business


ith Autonomous Information S stems a case stud
in
Processes
Government Services. In: INTERNATIONAL IEEE CONFERENCE ON ECOMMERCE TECHNOLOGY 2005 (CEC-05), 7., 2005, Munich, Germany.

[8] FERREIRA, J. E.; TAKAI, O. K.; PU, C. Integration of Collaborative


Information S stem in Internet Applications using RiverFish Architecture. In:
INTERNATIONAL
CONFERENCE
ON
COLLABORATIVE
COMPUTING:
NETWORKING APPLICATIONS AND WORK SHARING, 2005, San Jose, USA

[9] MILLA. J. M. Classificao de Regras de Negcio atrav s de


ontologias Um Estudo de Caso. Dissertao de Mestrado apresentado ao Instituto
de Pesquisas Tecnologias do Estado de So Paulo IPT, 2005.

51

third

[10] SMITH, H.; FINGAR, P. BUSINESS PROCESS MANAGEMENT the


ave. Tampa: Meghan-Kffer Press, 2003.

[11] VON HALLE, B. Business Rules Applied Building Better S stems


Using the Business Rule Approach, Wiley Computer Publishing, 2002.

[12] WHITE, S. A. Introduction To BPMN.

[13] ZULIANI, D. Projeto Conceitual de Wor flo , Dissertao de


Mestrado, Instituto de Pesquisas Tecnolgicas do Estado de So Paulo.

[14] Wor flo

Patterns. Disponvel em: http:

. or lo patterns.com

[15] Business Process Modeling Notation Specification. Disponvel em


http://www.bpmn.org

Você também pode gostar