Sistemas Digitais e Automação Aula 12 – Redes de Petri
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.
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
Aplicação – Rede de Petri reclamação registrar Sob avaliação pagar enviar carta Pronto
Disparo de Transição Disparo da transição registrar Disparo da transição pagar ou enviar carta reclamação registrar sob avaliação pagar enviar carta pronto reclamação registrar sob avaliação pagar enviar carta pronto
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
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. t1 t2 c1 c2 c3
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. t1 t2 t3 t4 c1 c2 c3 c4 c5 c6 AND-split AND-join
Padrões básicos de workflow usando Redes de Petri Seleção: t11 task1 task2 c1 c2 c3 c4 c5 c6 OR-split OR-join t12 t21 t22
Padrões básicos de workflow usando Redes de Petri Iteração: Execução repetida de uma tarefa particular. t1 t2 t3 t4 p1 p2 p3 p4
Exemplo – Gerenciamento de Reclamações Início contatar cliente registrar coletar c1 c2 c3 c4 c5 avaliar positivo negativo c6 c7 c8 pagar enviar carta arquivar fim contatar departamento
Gerenciamento de Workflow usando Rede de Petri Colorida Início contatar cliente registrar coletar c1 c2 c3 c4 c5 avaliar positivo negativo c6 c7 c8 pagar enviar carta arquivar fim contatar departamento caso 5 caso 4 caso 3 caso 2 caso 1
Rede de Petri Hierárquica Início c5 avaliar positivo negativo c6 c7 c8 pagar enviar carta arquivar fim contatar cliente c1 c3 c4 registrar coletar c2 contatar departamento Fase 1
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.
Exemplo – grafo de alcançabilidade
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.