350 likes | 663 Views
Padrões de Workflow usando Redes de Petri. Grace Borges Aluna de mestrado Depto. Ciência da Computação IME - USP. Padrões de Workflow usando Redes de Petri. Objetivo: apresentar Redes de Petri como ferramenta para modelagem e análise de processos. Conceitos (workflow e redes de Petri)
E N D
Padrões de Workflow usando Redes de Petri Grace Borges Aluna de mestrado Depto. Ciência da Computação IME - USP
Padrões de Workflow usando Redes de Petri Objetivo: apresentar Redes de Petri como ferramenta para modelagem e análise de processos. • Conceitos (workflow e redes de Petri) • Representação dos padrões de workflow • Limitações de redes de Petri • Métodos de análise de workflow
Introdução • Gerenciamento de workflow busca oferecer soluções flexíveis por meio da modificação e criação de novos processos. • Falta de definição formal no que se refere a sintaxe e semântica dificulta análises mais complexas dos modelos. • Redes de Petri: possuem representação gráfica, fácil aprendizado, facilitando a comunicação entre especialistas de diversas áreas, possibilitam descrever aspectos estáticos e dinâmicos do sistema e ainda possuem formalismo matemático necessário para métodos de análise.
Conceitos de Workflow • Modelo workflow: descrição de um processo de negócios, composto por várias tarefas conectadas na forma de um grafo dirigido. • Caso ou instância de processo: uma instância de execução de um workflow. • Tarefa: parte de um trabalho, é indivisível. • Item de trabalho: refere-se a tarefa de um caso específico em execução. • Atividade: refere-se a uma tarefa em execução • Fluxo de controle: determina que tarefas devem ser executadas e em que ordem.
Redes de Petri • 1962 – Carl Adam Petri apresentou a teoria inicial de redes de Petri na tese de doutorado. • Técnica de especificação formal largamente difundida e adequada para modelagem de sistemas com atividades paralelas, concorrentes, assíncronas e não determinísticas. • Áreas de aplicação: Ciências da computação, engenharia elétrica e química, administração de empresas. • Na computação: especificação de sistemas de hardware ou software, avaliação de desempenho, protocolo de comunicação, diagnóstico de falha.
Características Relevantes • Representação gráfica • Representação matemática • Mecanismos de análise • Verificação de propriedades • Verificação da correção do sistema especificado
Conceitos rede de Petri • Rede de Petri: tipo especial de grafo dirigido, bipartido, que consiste de dois tipos de nodos chamados transições e lugares. • Transição: componente ativo correspondente a alguma ação ou evento do sistema. É representado por um retângulo. • Lugar: componente passivo, geralmente associado ao estado do sistema ou alguma pré ou pós-condição. Representado por um círculo. • Arcos dirigidos: ligam lugares a transições e vice-versa encadeando condições e eventos. • Marcação inicial: representa o estado inicial do sistema através de marcas (fichas ou tokens). • Marcas: representam recursos disponíveis e permitem modelar o comportamento dinâmico. • Peso: cada arco possui um peso associado a ele e indica quantas marcas uma transição consome de um lugar de entrada ou acrescentam em um lugar de saída. Quando o arco não possui peso indicado explicitamente no grafo, consideramos seu peso igual a 1.
pagar registrar Sob avaliação reclamação Pronto enviar carta Exemplo – Rede de Petri
pagar pagar registrar registrar pronto pronto sob avaliação sob avaliação reclamação reclamação enviar carta enviar carta Disparo de Transição Disparo da transição registrar Disparo da transição pagar ou enviar carta
Workflow-net • Rede de Petri que modela o fluxo de controle de um workflow: • Possui apenas um lugar fonte (início) e um absorção (fim) • Todo nodo do grafo está em um caminho do lugar fonte ao lugar absorção • Transições: representam tarefas • Lugares: representam condições que podem ser usadas como pré e/ ou pós-condições das tarefas • Arcos: dependências causais
t1 t2 c1 c2 c3 Padrões básicos de workflow usando Redes de Petri • Seqüencial: execução seqüencial de tarefas, onde uma ocorre após a outra.
t2 c2 c4 AND-split AND-join t1 t4 c1 c6 c3 c5 t3 Padrões básicos de workflow usando Redes de Petri • Paralelismo: Se uma ou mais tarefas podem ser executadas ao mesmo tempo ou em qualquer ordem.
OR-split OR-join task1 t21 t11 c2 c4 c1 c6 c3 c5 task2 t12 t22 Padrões básicos de workflow usando Redes de Petri • Seleção:
t1 t4 t2 p4 p1 p2 p3 t3 Padrões básicos de workflow usando Redes de Petri • Iteração: Execução repetida de uma tarefa particular.
contatar cliente avaliar pagar positivo c3 c1 c6 arquivar c5 registrar c8 coletar Início fim c7 c2 c4 negativo enviar carta contatar departamento Exemplo – Gerenciamento de Reclamações
caso 5 caso 4 caso 3 caso 2 caso 1 contatar cliente avaliar pagar positivo c3 c1 c6 arquivar c5 registrar c8 coletar fim Início c7 c2 c4 negativo enviar carta contatar departamento Gerenciamento de Workflow usando Rede de Petri Colorida
avaliar pagar positivo c6 Fase 1 arquivar c5 c8 Início fim c7 negativo enviar carta contatar cliente c3 c1 registrar coletar c2 c4 contatar departamento Rede de Petri Hierárquica
Análise de workflow • Aspectos qualitativos: correção lógica • Deadlocks; • Livelocks; • Tarefas mortas; • Aspectos quantitativos: performance • tempo médio de conclusão de um processo; • nível de serviço; • utilização de capacidade.
Alcançabilidade • Indica a possibilidade de atingirmos determinada marcação M´ a partir de uma marcação inicial. Ou seja, existe uma seqüência de transições, que disparada levam a marcação M´. • Problema da Alcançabilidade: Dada uma marcação M´ determinar se M´ pertence ao conjunto de todas as marcações obtidas a partir da marcação inicial. • Se conhecemos as marcações em que o sistema fica em deadlock, podemos verificar se esses estados são alcançáveis ou não.
Grafo de Alcançabilidade • Especifica o possível comportamento do processo modelado. • Consiste de nodos e arcos dirigidos • Cada nodo representa um estado alcançável (marcação) • Cada arco uma possível mudança de estado
Soundness (workflow-net) • Para cada marca colocada no lugar início, uma (e apenas uma) marca aparece no lugar fim, ou seja, todo caso será concluído com sucesso após algum tempo; • Quando a marca aparece no lugar fim, todos os outros lugares estão sem marca, ou seja, ao se concluir um processo, não existem marcas remanescentes; • Para cada transição (tarefa) é possível mover do estado inicial até o estado no qual essa transição é habilitada, ou seja, não é passível de tarefas mortas.
Verificação usando grafo de alcançabilidade • Verificar se o grafo possui apenas um estado final; • Se o estado inicial possui apenas uma marca, o grafo deve apresentar apenas uma marca no estado final; • Para cada tarefa, verificar se existe uma mudança de estado no grafo que corresponda ao disparo da tarefa.
Limitações do Grafo de Alcançabilidade • Construção de processos de grandes dimensões pode tomar muito tempo de processamento. Porém, é praticamente impossível fazer essa análise sem computador. • Provê pouco suporte para definição de processos nonsound. O grafo se torna infinito quando marcas podem ser acumuladas num lugar, por exemplo.
Outros métodos de análise • Equação fundamental das redes de Petri (equação dos estados) • provê meios para verificar acessibilidade às marcações. Utiliza representação matricial da rede de Petri; • Invariantes de Transição • verifica e fornece componentes repetitivos estacionários (ciclos) nos modelos; • Invariantes de lugar • verifica e fornece componentes conservativos sem necessidade observar a árvore de cobertura; • Invariantes de justaposição e concatenação • análise de invariantes para redes formadas por sub-redes; • Redução para análise • utilizada em redes de grandes dimensões. Utiliza fusão de lugares e transições.
Complexibilidade e Decidibilidade • A maioria das propriedades das dedes de Petri possuem uma verificação decidível, porém de alta complexidade. • Problema da alcançabilidade: decidível e a solução é obtida usando espaço exponencial • Outros problemas são redutíveis ao problema da alcançabilidade, como verificar se uma rede é live (não passível deadlocks) ou não tem transições mortas. Também são decidíveis. • Propriedades como liveness e limitação podem ser verificadas em tempo polinomial para algumas sub-categorias de redes de Petri.
Referências Bibliográficas • AALST, W. V. P. van der; HEE, V. K. Workflow management: models, methods and systems. Cambridge: MIT Press, 2002. • AALST, W.M.P van der. The application of petri nets to workflow management. The Journal of Circuits, Systems and Computers, v. 8, n. 1, p. 1-53. 1998. • AALST, W.M.P van der; HOFSTEDE, A.H.M. ter. Workflow Patterns: On the Expressive Power of (Petri-net-based) Workflow Languages. In K. Jensen, editor, Proceedings of the Fourth Workshop on the Practical Use of Coloured Petri Nets and CPN Tools (CPN 2002), volume 560 of DAIMI, pages 1–20, Aarhus, Denmark, August 2002. University of Aarhus. • AALST, W.M.P. van der; HOFSTEDE, A.H.M. ter; Kiepuszewski, B.; BARROS, A.P. Workflow Patterns. Distributed and Parallel Databases, 14(3), pages 5-51, July 2003. • MACIEL, P.R.M.; LINS, R.D.; CUNHA, P.R.F. Introdução às Redes de Petri e Aplicações. X Escola de Computação Campinas - SP, Jul/1996. • MURATA, T. Petri Nets: Properties, Analysis and Applications. Proceedings of The IEEE, v. 77, n. 4, p. 541-580, abr. 1989. • PADUA, S.I.D.; SILVA, A.R.Y.; PORTO, A.J.V.; INAMASU, R.I. The potencial of Petri nets in modeling and analysis of workflow.Gestão & Produção, v. 11, n. 1, p.109- 119, jan./abr. 2004.