ANÁLISE SOB RESTRIÇÕES BASEADA EM UM RACIOCÍNIO ENERGÉTICO PARA O PROBLEMA DE ESCALONAMENTO TEMPO REAL DE SISTEMAS DE GERENCIAMENTO DE WORKFLOW

Documentos relacionados
Modelagem de Processos Redes de Petri e Workflow nets. Silvana Pereira Detro

JADEX: A BDI REASONING ENGINE. Alexander Pokahr, Lars Braubach e Winfried Lamersdorf Springer US - Multi-Agent Programming 2005 pp.

O potencial das redes de Petri em modelagem e análise de processos de negócio

Universidade Federal do Paraná.

Lista de Exercícios Escalonamento de CPU. 1. Considere o seguinte conjunto de processos, com o tamanho do tempo de burst de CPU dado em milissegundos:

Redes de Petri. Prof. Juan Moises Mauricio Villanueva

Problemas e Estratégias. March 31, 2016

NOTAS DE AULA 1 METAHEURÍSTICA 13/10/2016

6 ESCALONAMENTO DE CPU

Linear para o Problema de Escalonamento de Workflows em Múltiplos Provedores de Nuvem

Modelagem Temporal com UML

Prof. Lorí Viali, Dr.

ESTÁGIOS DOMINANTES FLEXÍVEIS EM SISTEMAS DE PRODUÇÃO FLOW SHOP HÍBRIDOS

Sequenciamento e Controles de Ordens de Produção

Sistemas de Tempo-Real

Modelagem Temporal com UML

3 Circuitos de objetos e simulação

Davidson Rodrigo Boccardo

Sequenciamento de Tarefas

3 Satisfação de Restrições

GERENCIAMENTO DE TAREFAS. Prof. Me. Hélio Esperidião

Redes de Petri Temporizadas Básicas - TBN

Ummétodohíbridoparaescalonar turnosdeenfermeiras

MODELAGEM COMPUTACIONAL DE UMA SOLUÇÃO DE INTEGRAÇÃO NA ÁREA DE RESERVAS DE VIAGENS UTILIZANDO REDES DE PETRI ESTOCÁSTICAS 1

Algoritmos de Escalonamento do Preactor. Algoritmos de Escalonamento do Preactor. INESC Porto Unidade de Engenharia de Sistemas de Produção

MODELO PARA PROGRAMAÇÃO DE ATIVIDADES E A ALOCAÇÃO DE TÉCNICOS PARA A INSTALAÇÃO E ASSISTÊNCIA TÉCNICA DE EQUIPAMENTOS

KEYWORDS Modelling. Petri net. Flexible of manufacture system. Productive efficiency. PALAVRAS CHAVE Redes de Petri. Modelagem. Sistema de manufatura

3 Trabalhos Relacionados

2º SIMPÓSIP BRASILEIRO DE AUTOMAÇAO INTELIGENTE

Gestão de Projectos. Projectos como redes de actividades Determinação do caminho crítico Método de PERT Método CPM Exercício Links

Carlos Augusto de Alcantara Gomes Universidade Federal de Itajubá, Av. BPS 1303 Itajubá MG

Sistemas Operacionais. Gerência de Processador

Planejamento & Escalonamento O algoritmo FF-métrico. Aldebaran Perseke 3 de abril de 2003

Engenharia de Software II

Escalonamento em uma máquina

Análise de Documentos Hipermídia. Joel André Ferreira dos Santos

Modelagem e CLP Redes de Petri

Curso de Sistemas de Informação. Karla Donato Fook DESU / DComp. Modelagem de Dados UML

Redes de Petri (RdP) Petri Nets

Segunda Parte do Trabalho Prático (Parte II) Valor: 70%

Redes de Computadores. Fundamentos de Sistemas Operacionais - 2º Período

3 Aprendizado por reforço

UMA PROPOSTA DE ESPECIFICAÇÃO DA FERRAMENTA S.A.Do.M (Software Artifacts Documentation and Management)

Análise de Sistemas. Aula 5

Visão Geral da UML. SSC Engenharia de Software I Profa. Dra. Elisa Yumi Nakagawa 2 o semestre de 2012

Programa de Pós-Graduação em Modelagem e Otimização, Regional Catalão / UFG

Tema 2: Modelo Dinâmico

Redes de Petri. Marcação e seu comportamento dinâmico. Marcação

Gerência de Projetos e Qualidade de Software. Prof. Walter Gima

Sumário. Redes de Petri (RdP) Petri Nets. Áreas de Aplicação. História. Armando Jorge Miranda de Sousa

Sistemas Operacionais de Tempo Real. Prof. Andre Luis Meneses Silva

Inteligência Artificial

INTELIGÊNCIA ARTIFICIAL

IDENTIFICAÇÃO DE MARCADORES DE PAVIMENTAÇÃO NA ORIENTAÇÃO DE CEGOS. André Zuconelli 1 ; Manassés Ribeiro 2

Resolução Proposicional Fernando Bozza, Vanessa Maria da Silva

PREVISÃO EM SÉRIES TEMPORAIS COMBINANDO MODELOS ESTATÍSTICOS E CONCEITOS FUZZY

Diagrama de Atividades. Professor: André Gustavo Bastos Lima

Inteligência Artificial

Análise qualitativa do processo de workflow da ouvidoria do IFMG campus Bambuí: um estudo de caso

Sistemas especialistas Fuzzy

1.1 Descrição do problema A programação genética (PG) é uma meta-heurística utilizada para gerar programas de computadores, de modo que o computador

Professor Emiliano S. Monteiro

ANÁLISE DE SISTEMAS. Diagrama de atividades. por. Antônio Maurício Pitangueira

Planeamento com procura em espaço de estados

Sistemas Operativos. Objetivo. Entrega do Questionário. Exercício 1. Exercício 2. Exercício 3. Exercício 4. Grupo 1 Introdução

MODELO DE SIMULAÇÃO DE UMA SOLUÇÃO DE INTEGRAÇÃO USANDO TEORIA DAS FILAS 1 SIMULATION MODEL OF AN INTEGRATION SOLUTION USING QUEUE THEORY

Um Algoritmo de Escalonamento para Redução do Consumo de Energia em Computação em Nuvem

Redes de Petri. 1 Introdução. José de Oliveira Guimarães DC-UFSCar

3 Trabalhos Relacionados

Modelos matemáticos para resolução de problemas de afectação de operações a recursos produtivos

Inteligência Computacional

SIMULAÇÃO DA PROPAGAÇÃO DE ONDAS ACÚSTICAS EM DIFERENTES FREQUÊNCIAS ATRAVÉS DE UMA MALHA DE GUIAS DIGITAIS DE ONDAS

Vários modelos: um SAD pode incluir vários modelos, cada um representando uma parte diferente do problema de tomada de decisão Categorias de modelos

7 Congresso de Pós-Graduação MODELAGEM DE BASE DE CONHECIMENTO PARA TAREFA DE CLASSIFICAÇÃO EM MINERAÇÃO DE DADOS

Engenharia de Software

lnteligência Artificial Introdução a Lógica Nebulosa (Fuzzy)

MANUAL PARA DESENVOLVIMENTO DE SOFTWARE TRABALHO DE CONCLUSAO DE CURSO EM SISTEMAS DE INFORMAÇÃO

O símbolo usado em diagramas de circuito para fontes de tensão é:

Utilização de técnicas de Process Mining em Sistemas de Middleware Adaptativos Proposta de Trabalho de Graduação

FUNDAMENTOS DA ANÁLISE E PROJETO DE SISTEMAS. Projeto de Programas PPR0001

UML Unified Modeling Language Linguagem de Modelagem Unificada Requisitos, Casos de Uso no ArgoUML

! Introdução. " Motivação para Processos de Software. ! Processo Unificado (USDP) " Definições " RUP x USDP " Características do Processo Unificado

FUNDAÇÃO UNIVERSIDADE ESTADUAL DE MARINGÁ

NBC TA 520 Procedimentos analíticos

O NIVELAMENTO DA LINHA DE BALANÇO

PCC173 - Otimização em Redes

COMO FUNCIONA A SIMULAÇÃO

Construtores de Sicronização em OpenMP

Requisitos de Software

COMO FUNCIONA A SIMULAÇÃO

Montagem, testes, depuração e documentação de circuitos digitais

Gerência de memória III

Introdução à Resolução de Problemas por meio de Busca

Redes de Petri Coloridas (Coloured Petri Nets - CPN)

Geraldo da Silva Rocha Netto. Escalonamento Flexível de Workflows com Restrições Temporais. Dissertação de Mestrado

Modelagem para previsão/estimação: uma aplicação Neuro-Fuzzy

Gerência do Processador. Adão de Melo Neto

Inteligência Artificial - IA. Resolução de problemas por meio de busca

Transcrição:

ANÁLISE SOB RESTRIÇÕES BASEADA EM UM RACIOCÍNIO ENERGÉTICO PARA O PROBLEMA DE ESCALONAMENTO TEMPO REAL DE SISTEMAS DE GERENCIAMENTO DE WORKFLOW Flávio Félix Medeiros, Stéphane Julia Faculdade de Computação - Universidade Federal de Uberlândia Av. João Naves de Ávila, 2160 - Bloco B, Sala 1B - CEP 38400-902 Uberlândia, MG, Brasil Emails: flaviomedeiros.ufu22@yahoo.com.br, stephane@facom.ufu.br Abstract The objective of this paper is to propose a method of analysis under constraints applied to the problem of real time scheduling in workflow management systems. The adopted model is a p-time Petri net with hybrid resource allocation mechanism. The proposed method uses originally mechanism of time constraint propagation based on cases duration and different types of routings for workflow processes. The different types of resources (discrete and continuous) are incorporated into the model and an approach based on energetic reasoning is applied. The energetic reasoning can identify unacceptable schedulings due to energetic inability of resources involved in the implementation of related activities, and update the temporal constraints in order to eliminate inconsistent dates with scheduling solutions. On the set of modified constraints is then applied a specialized inference mechanism, called token player, seeking to obtain in real time an admissible scenario corresponding to a specific sequence of activities which respects all the time constraints. Keywords Workflow management system, Petri Nets, Constraint Programming, Energetic Reasoning Resumo O objetivo deste artigo é o de propor um método de análise sob restrições aplicado ao problema de escalonamento tempo real em sistemas de gerenciamento de workflow. O modelo adotado é uma de rede de Petri p-temporal com mecanismo de alocação de recursos híbridos. O método proposto utiliza inicialmente um mecanismo de propagação de restrições temporais baseado nas durações dos casos e nos diferentes tipos de roteiros dos processos de workflow. Os diferentes tipos de recursos (discretos e contínuos) são incorporados ao modelo e uma abordagem baseada em um raciocínio energético é então aplicada. O raciocínio energético consegue identificar escalonamentos inadmissíveis devido à incapacidade energética dos recursos envolvidos na execução das atividades correspondentes, bem como atualizar as restrições temporais dos processos a fim de eliminar datas inconsistentes com soluções de escalonamento. Posteriormente, é aplicado ao conjunto de restrições modificadas um mecanismo de inferência especializado, denominado jogador de redes de Petri, que busca obter em tempo real um cenário admissível correspondente a uma sequência específica de atividades que respeitem o conjunto das restrições temporais. Keywords Sistemas de gerenciamento de workflow, Redes de Petri, Análise sob restrição, Raciocínio E- nergético 1 Introdução O propósito de um sistema de gerenciamento de workflow (Aalst and Hee, 2002) é executar processos de workflow. Processos de workflow representam uma sequência de atividades de uma organização que devem ser executadas para tratar casos específicos a fim de alcançar um objetivo bem definido. De acordo com (Aalst and Hee, 2002), o uso das redes de Petri na modelagem de workflow tem uma série de vantagens importantes, como o fato de forçar uma definição precisa dos processos em contraste com a maioria das técnicas de diagramação informais, como por exemplo o uso de diagramas de atividades da UML (Dumas and Hofstede, 2001) Alguns modelos baseados em redes de Petri foram definidos exclusivamente para a representação de workflow, como é o caso das Workflownets por exemplo (Aalst and Hee, 2002). As Workflow-nets possuem apenas um lugar de início e um lugar de término, sendo que uma ficha no lugar de início representa um caso que precisa ser tratado e uma ficha no lugar de término representa um caso que foi tratado. Toda tarefa é associada a uma transição e toda condição é associada a um lugar, sendo que toda tarefa e condição deve estar em um caminho entre o lugar de início e o lugar de término. O problema de escalonamento (Lee and DiCesare, 1994) consiste em organizar no tempo uma sequência de atividades considerando restrições temporais (intervalos temporais) e restrições de utilização de recursos compartilhados necessários para execução das atividades. No caso de sistemas de tempo real, vários cenários (vários casos em um sistema de gerenciamento de workflow) podem ser executados simultaneamente e situações de conflito que devem ser resolvidas em tempo real (sem mecanismos de retrocesso) podem ocorrer se um mesmo recurso não-preemptivo for chamado ao mesmo tempo para execução de atividades que pertencem a cenários diferentes. A diferença fundamental entre o problema de escalonamento tradicional dos sistemas de produção (Lee and DiCesare, 1994) e o problema de escalonamento em sistemas de gerenciamento

de workflow é a natureza dos recursos envolvidos para tratar as atividades. No caso dos sistemas de produção, os recursos representam equipamentos físicos e são representados por simples fichas (recursos do tipo discreto) nos lugares. No caso dos sistemas de gerenciamento de workflow, os recursos podem representar equipamentos físicos bem como funcionários humanos. Por exemplo, é possível alocar uma enfermeira em um hospital para cuidar de vários pacientes ao mesmo tempo durante o seu dia de trabalho. Nesse caso, a enfermeira não pode ser vista como uma simples ficha discreta e um modelo baseado em uma rede de Petri ordinária dificilmente poderá representar todas as características reais que existem em sistemas de gerenciamento de workflow. Um outro problema vem da incerteza associada ao comportamento dos recursos de tipo humano. Isso torna praticamente impossível o cálculo de uma solução de escalonamento previsível como geralmente acontece no campo da manufatura (Lee and DiCesare, 1994). Neste trabalho, será apresentado um método de análise sob restrições cujo objetivo será a construção de uma base de conhecimento que poderá ser integrada a um mecanismo de inferência especializado, chamado jogador de redes de Petri, que executará em tempo real (sem mecanismo de retrocesso) uma solução de escalonamento admissível (que respeite um conjunto de restrições) no contexto dos sistemas de gerenciamento de workflow. 2 Modelo de processo de workflow temporal com mecanismo de alocação de recursos híbridos O modelo proposto neste artigo é o mesmo que aquele proposto em (de Oliveira et al., 2008). Trata-se de uma rede de Petri p-temporal com alocação de recursos híbridos. Neste modelo, a estrutura de controle segue a mesma que aquelas das workflow-net de Aalst (Aalst and Hee, 2002), com os lugares de início, fim e os principais roteiros existentes nos processos de workflow. Em vez de associar as tarefas às transições, as tarefas são associadas à lugares específicos. Assim, os mecanismos de alocação de recursos podem ser facilmente visualizados nas tarefas. A seguir as principais características deste modelo serão apresentadas. O Serviço de reclamações apresentado em (Aalst and Hee, 2002) será utilizado para ilustrar os diversos tipos de roteiros estudado neste trabalho. No processo do Serviço de reclamações, primeiro uma reclamação é registrada. Depois, são contactados o cliente que fez a reclamação e o departamento afetado pela reclamação. O cliente é contactado com o objetivo de se obter mais informações. O departamento é informado sobre a reclamação e é questionado sobre uma reação inicial. Essas duas atividades devem ser executadas em paralelo (roteiro paralelo). Depois disso, as informações são coletadas e, em sequência, uma decisão é tomada (roteiro sequêncial). Dependendo da decisão tomada, ou um pagamento é feito ou uma carta é enviada ao cliente (roteiro alternativo). Por fim, a reclamação é arquivada. A figura 1 ilustra os diversos tipos de roteiros do processo do Serviço de reclamações. Os lugares E j com j=0 até 10 representam lugares de espera entre as atividades. As atividades são associadas aos lugares A i com i=1 até 8. Em particular, os lugares E0 e E10 representam o início e o fim do processo e a ficha em E0 representa um caso a ser tratado. 2.2 Restrições temporais explícitas Geralmente, o tempo necessário para a execução de uma atividade em um processo de workflow é não-determinístico. Dessa forma, um intervalo de tempo pode ser atribuído a cada atividade. De acordo com (de Oliveira et al., 2008), restrições de tempo explícitas existentes em sistemas com características de tempo real podem ser especificadas formalmente usando um modelo de rede de Petri p-temporal. 2.2.1 Intervalo estático A definição estática de uma rede de Petri p- temporal é baseada em intervalos estáticos que representam o intervalo de permanência das fichas nos lugares do ponto de vista das durações das atividades. Uma ficha pertencente a um lugar p participará da sensibilização de uma transição de saída de p se ela tiver permanecido lá pelo menos durante a duração especificada pela borda mínima e no máximo durante a duração especificada pela borda máxima do intervalo. Enquanto a ficha não alcança o tempo mínimo no lugar de permanência onde se encontra, ela fica indisponível para o disparo de outras transições. Dentro do intervalo, a ficha fica disponível, e após o limite máximo de permanência, a ficha se torna morta e não pode mais disparar nenhuma transição. 2.1 Restrições sob os roteiros Figura 1: Roteiros

A figura 1 ilustra os intervalos estáticos vinculados às atividades do Serviço de reclamações. Para cada tarefa A i, aparece um intervalo estático que especifica a sua duração mínima e máxima. Em particular, os intervalos estáticos associados às tarefas Coletar Informações em A4 e Arquivar em A8 são iguais a [0, 0] porque as durações destas são desprezíveis se comparada com as outras tarefas do Serviço de reclamações. intervalos de visibiliade associados aos diversos lugares E j de espera entre as diversas atividades dos roteiros existentes. A figura 2 ilustra a aplicação do mecanismo de propagação de restrições temporais ao longo dos roteiros do processo do Serviço de reclamações, considerando 4 casos a serem tratos. 2.2.2 Intervalo de visibilidade De acordo com (de Oliveira et al., 2008) o comportamento dinâmico de uma rede de Petri p-temporal depende da marcação da rede e da situação temporal das fichas que é dada pelo intervalo de visibilidade. Um itervalo de visibilidade [(δ p ) mim, (δ p ) max ] associado a uma ficha em um lugar p de uma rede de Petri p-temporal especifica a data mínima ((δ p ) mim ) em que a ficha se torna disponível em p para o disparo de uma transição de saída de p (data de início ao mais cedo de uma atividade), bem como a data máxima ((δ p ) max ) após a qual a ficha se torna indisponível (morta) e não pode ser utilizada para o disparo de nenhuma transição (data de início ao mais tarde de uma atividade). 2.3 Restrições de alocação de recursos híbridos Alguns dos recursos usados em sistemas de gerenciamento de workflow podem ser considerados do tipo discreto, podendo ser representados por simples fichas. É o caso geralmente de recursos que representam equipamentos físicos, como uma impressora por exemplo. Outros recursos podem ser representados por recursos contínuos. É o caso geralmente de recursos do tipo humano. Tais recursos são representados por um número real que representa a disponibilidade de um funcionário humano, por exemplo, 100% representando a disponibilidade máxima quando o recurso se encontra no estado completamente disponível. Da mesma forma, aos pesos dos arcos de saídas e entradas dos recursos são atribuídos valores correspondentes à previsão da disponibilidade exigida para a realização da atividade relacionada. 3 Princípio geral de propagação de restrições 3.1 Propagação de restrições temporais nos roteiros O mecanismo de propagação de restrições temporais nos roteiros proposto neste artigo foi inicialmente apresentado em (de Oliveira et al., 2008). Utilizando técnicas clássicas de propagação de restrições baseadas em grafos sem circuitos e fixando a data de início de um caso bem como a sua duração máxima para ser completado, calcula-se os Figura 2: Exempo do mecanismo de propagação das restrições temporais nos roteiros Na figura 2 (A), as bordas mínimas dos intervalos de visibilidade associadas ao lugar E0, representam as datas de início de quatro casos a serem tratados pelo processo de workflow. As bordas máximas dos intervalos de visibilidade associadas ao lugar E10 representam as datas de término previstas dos quatro casos, sabendo que a duração máxima para tratar cada caso é de 105 unidades de tempo. Conhecendo as durações mínimas e máximas de cada atividade (intervalos estáticos) bem como os roteiros de um processo de workflow é possível aplicar mecanismos de propagação de restrições para obter os tempos de espera entre as atividades (intervalos de visibilidade associados aos lugares de espera) (figura 2 (B)) para cada um dos quatro casos. Por exemplo, o intervalo de visibilidade V1 associado ao lugar E7 significa que a atividade pagar associada ao caso 1 poderá ser iniciada ao mais cedo na data 45 e ao mais tarde na data 90. 3.2 Raciocínio energético baseado nas restrições de recursos A propagação das restrições temporais com base na disponibilidade dos recursos leva em consideração uma abordagem baseada em um raciocínio energético proposto por (Lopez and Esquirol,

1996). Tal abordagem foi utilizada para tratar o problema do escalonamento de tarefas em sistemas de manufatura utilizando um modelo baseado em grafos com as atividades associadas aos arcos. O raciocínio energético é uma abordagem baseada na relação entre a energia provida pelos recursos e a energia consumida pelas atividades. No contexto dos sistemas de gerenciamento de workflow, cada atividade i pode ser caracterizada por suas durações mínimas (Pmin i ) e máximas (Pmax i ) e devem ser executadas dentro de uma janela de tempo [r i, d i ], com r i representando o i- nício ao mais cedo da atividade e d i o final ao mais tarde previsto. O conjunto S denota as datas de i- nício das atividades consistentes com as janelas de tempo [r i, d i ] e com as restrições de utilização dos recursos utilizados na realização das atividades. Os mecanismos de propagação de restrições que são de interesse nesse trabalho têm como objetivo remover valores inconsistentes de datas de início de atividades a fim de reduzir o conjunto das possíveis soluções. 3.2.1 Estudo da Consistência global De acordo com (Lopez and Esquirol, 1996) a energia máxima disponível que um recurso pode prover em uma dada janela de tempo = [S, F ] é definida como: W = A (F - S ), onde A é o valor da intensidade energética que o recurso em questão disponibiliza para execução das atividades que o utilizam. Considerando-se uma atividade i, começando no instante S i e terminando em F i, considerandose também a intensidade energética a i que a atividade necessita do recurso e uma dada janela de tempo, duas situações podem ocorrer para se definir a energia requerida por i em : Se ([S i, F i ] ) então W i = a i [min(f i, F ) - max(s i, S )]. Se ([S i, F i ] ) = então W i = 0, onde W i é a energia requerida por i em. Mais genericamente, pode-se dizer que: W i = a i max[0, min(f i, F ) - max(s i, S )]. Uma vez que S i (data de início da atividade i) é uma variável, W i também é uma variável, podendo ser derivados valores mínimos, levando em consideração o intervalo temporal [r i, d i ]. A energia mínima requerida por uma atividade i ao longo da janela de tempo, chamada W i, é obtida pela posição da atividade i que sobrepõem o menos possível a janela de tempo : W i = a i max[0, min (Pmin i, F - S, r i + Pmin i - S, F - d i + Pmin i )]. Considerando W, a energia provida pelo recurso em uma dada janela de tempo, e n i=1 W i, as energias requeridas pelas atividades na mesma janela de tempo, pode-se derivar uma condição de consistência global necessária a ser respeitada por qualquer escalonamento em qualquer intervalo :, n i=1 W i W (1) A fórmula (1) significa que a soma das energias gastas pelas diversas atividades que utilizam um mesmo recurso em um intervalo de tempo não são maiores que a energia total produzida pelo recurso utilizado. Em particular, a partir da condição (1), pode-se extrair a seguinte proposição: Se tal que n i=1 W i > W então não existe um escalonamento admissível. A figura 3 ilustra a disputa pelo recurso R2 (Funcionário reclamações) do processo do Serviço de reclamações ilustrado na figura 5 (A). Tal recurso será envolvido na execução de doze atividades distintas. Figura 3: Mecanismo de alocação de recurso contínuo A tabela 1 apresenta tais atividades juntamente com as suas restrições temporais [r i, d i ], suas durações mínimas (Pmin i ) e suas intensidades energéticas (a i ). A restrição temporal r i é dada pelas bordas mínimas dos intervalos de visibilidade, Pmin i pelas bordas mínimas dos intervalos estáticos, d i pela soma das bordas mínimas dos intervalos de visibilidade e das bordas máximas dos intervalos estáticos, e a i pelos pesos associados aos arcos do modelo de alocação de recurso contínuo. Tabela 1: Dados das atividades envolvidas com o recurso R2 i r i Pmin i d i a i A2 Caso 1 5 20 50 30 A2 Caso 2 18 20 63 30 A2 Caso 3 23 20 68 30 A2 Caso 4 28 20 73 30 A3 Caso 1 5 25 50 40 A3 Caso 2 18 25 63 40 A3 Caso 3 23 25 68 40 A3 Caso 4 28 25 73 40 A7 Caso 1 45 20 105 50 A7 Caso 2 58 20 118 50 A7 Caso 3 63 20 123 50 A7 Caso 4 68 20 128 50 FONTE: Simulações realizadas pelos autores Considerando como exemplo ilustrativo de aplicação da consistência global a atividade A3 referente ao Caso 4 escolha-se um que cubra toda sua janela de execução: [S, F ]=[r i, d i ]. Nesse caso tem-se [S =28, F =73]. Somando as

energias mínimas necessárias para completa execução de cada uma das 12 (doze) atividades dentro do considerado obtem-se n i=1 W i = 3830. Tal valor é menor que a energia que o recurso R2 consegue prover durante esse intervalo estudado (W = 4500). Isso garante que nesse intervalo o recurso R2 consegue fornecer a energia mínima necessária para a completa execução das 12 atividades. No exemplo do processo do Serviço de reclamações é possível verificar que para as 12 atividades que utilizam o recurso R2, a condição de consistência global é satisfeita. Um resultado contrário implicaria na impossibilidade de se encontrar um escalonamento admissível sem relaxar algumas restrições de tempo. As regras de consistência global não permitem atualizar diretamente as variáveis do conjunto S (conjunto que contém as datas de início das atividades) do problema. Para isso, devem ser usadas regras de consistência local. 3.2.2 Estudo da consistência local De acordo com (Lopez and Esquirol, 1996), ao considerar uma atividade i, a condição da consistência global (1) pode ser reescrita da seguinte maneira: i,, W i W - n j=1,j i W j Considerando o valor máximo do lado direito da condição acima, pode-se derivar o valor máximo para o seu lado esquerdo. O termo A i = W n - j=1,j i W j é chamado de energia máxima disponível deixada pelas demais atividades no intervalo para a e- xecução da atividade i. Qualquer data de início S i da atividade i que leva a um consumo de e- nergia maior do que a energia máxima disponível para a mesma deve então ser removida. De acordo com (Hennet, 2002), uma maneira de verificar localmente se o recurso utilizado por uma determinada atividade fornece a energia suficiente para sua completa execução levando em consideração A i (energia máxima disponível para atividade i) é efetuar o cálculo da duração máxima equivalente p i. Tal duração representa a duração máxima de disponibilidade do recurso para execução da atividade i respeitando os gastos energéticos mínimos das outras atividades que utilizam o mesmo recurso no intervalo. Dessa forma p i é dada pela razão entre A i e a intensidade energética que i necessita de um recurso: p i = A i a i. Considerando-se a atividade A3 referente ao caso 4 da figura 3 como exemplo, é possível perceber que ao adotar um intervalo igual à duração mínima de execução da atividade, = [S = ((δ p ) mim ), F = ((δ p ) mim )+P min i ], ou seja, [S = 28, F = 28 + 30 = 58] e considerando a energia máxima disponível A i =970 para essa atividade nesse, o valor da p i =24.25 é inferior ao valor da Pmin i =25. Neste caso particular, o valor da p i =24.25 significa que o recurso R2 consegue fornecer energia para a atividade A3 referente ao caso 4 durante 24.25 unidades de tempo, sendo que a duração mínima da atividade corresponde a 30 unidades de tempo, o que caracteriza uma inconsistência local, já que a duração de disponibilidade do recurso é inferior à duração mínima necessária para a realização da atividade correspondente. A fim de encontrar uma faixa temporal dentro do intervalo permitido [r i, d i ] onde a duração p i seja maior ou igual a Pmin i pode ser feito um deslocamento do pela direita. O intervalo depois de deslocado à direita de acordo com a diferença entre (Pmin i ) e (p i ), ou seja, (30-24.25 = 5.75) é [S =28+5.75, F =58+5.75]=[S =33.75, F =63.75] (figura 4). Fazendo-se o cálculo da duração máxima equivalente levando em consideração esse novo tem-se p i =33.3125. Uma vez que p i > Pmin i, a data de início ao mais cedo da atividade A3 referente ao caso 4 passa a ser 33.75 = 34, conforme ilustrado pela figura 5 (B). De fato, se a atividade é iniciada na data 28, tem-se a certeza de que uma inconsistência relativa ao gasto energético do recurso envolvido acontecerá e que consequentemente não será possível encontrar um escalonamento que respeite o conjunto das restrições temporais. O deslocamento da data de início ao mais tarde de uma atividade pode ser feito de modo semelhante porém considerando deslocamentos à esquerda. Figura 4: delta Deslocamento do intervalo temporal Após a atualição do intervalo de visibilidade V4 em E2 relacionado à atividade A3 do caso 4 (figura 5 (B)), é necessário aplicar novamente o mecanismo de propagação das restrições temporais ao longo dos roteiros do processo completo do Serviço de reclamações. Dessa forma acontecem atualizações nos intervalos de visibilidades associados aos lugares E4, E5, E6, E7, E8, E9 e E10 referente ao caso 4 conforme ilustrado pela figura 5(B). O raciocínio energético pode ser aplicado a cada atividade do processo até que nenhuma alteração de restrição temporal aconteça.

de que os prazos de entrega serão respeitados. 5 Conclusão Figura 5: Aplicação da abordagem baseada no raciocínio energético sobre o processo do Serviço de reclamações 4 Princípio geral para o escalonamento tempo real Uma das técnicas que permite a execução dinâmica das redes de Petri p-temporais é o algoritmo do jogador de rede de Petri p- temporal (de Oliveira et al., 2008), que pode ser usado para a resolução do problema de escalonamento de sistemas de gerenciamento de workflow em tempo real. Quando o modelo é baseado no modelo de rede de Petri p-temporal, o algoritmo do jogador deve resolver as situações de conflito em tempo real de forma a não permitir a possibilidade de violação de restrição temporal que pode ser causada pela morte de uma ficha. O jogador possui um calendário dos eventos (bordas mínimas e máximas de todos os intervalos de visibilidade) escalonados no tempo. A cada vez que uma borda mínima é alcançada, uma ficha torna-se disponível. Se essa ficha sensibiliza uma transição e se não houver conflito efetivo, a transição é disparada; caso contrário, o conflito é isolado e o mecanismo de tomada de decisões é ativado para verificar se a transição pode ser disparada na data mínima. Se a decisão for o disparo, uma nova marcação é gerada e novos intervalos de visibilidade são definidos; caso contrário, é tratado o próximo evento do calendário. O mecanismo de tomada de decisão é basedo na geração de um grafo das classes e foi apresentado em (de Oliveira et al., 2008). Se um limite máximo (borda máxima de um intervalo de visibilidade) for atingido, então a ficha morre, representando um comportamento não permitido. Nesse caso, não haverá garantia Até o presente momento, o escalonamento de sistemas de gerenciamento de workflow é realizado essencialmente na forma de execução de filas de espera com políticas do tipo FIFO (First In First Out). Este trabalho propôs uma nova abordagem. A maior contribuição deste trabalho concerne na melhoria da base de conhecimento que define o conjunto de restrições que um jogador de redes de Petri deverá respeitar durante a elaboração de uma solução de escalonamento em tempo real. Em particular, a técnica de filtragem, embasada no estudo da consistência local, garante a remoção de janelas de tempo inconsistentes com soluções admissíveis de escalonamento. Aplicando o jogador de redes de Petri à nova base de conhecimento será então possível melhorar consideravelmente os prazos de entrega de cada caso em relação a uma política do tipo FIFO. Um protótipo da abordagem apresentada foi implementado em linguagem de programação Visual Prolog. Referências Aalst, W. V. D. and Hee, K. V. (2002). Workflow Management: Models, Methods and Systems, The MIT Pres. de Oliveira, F. F., Julia, S. and Valette, R. (2008). Real time scheduling of workflow management systems based on a p-time petri net model with hybrid resources, Simulation Modelling Practice and Theory 16: 462 482. Dumas, M. and Hofstede, A. H. M. T. (2001). Uml activity diagrams as a workflow specification language, Proceedings fo the 4th International Conference on The Unified Modeling Language, Modeling Languages, Concepts, and Tools pp. 76 90. Hennet, J. C. (2002). Concepts et outils pour les systèmes de production. Lee, D. Y. and DiCesare, F. (1994). Scheduling flexible manufacturing systems using petri nets and heuristic search, IEEE Transactions on Robotics and Automation pp. 123 132. Lopez, P. and Esquirol, P. (1996). Consistency enforcing in scheduling: A general formulation based on energetic reasoning, 5th International Workshop on Project Management and Scheduling.