• Nenhum resultado encontrado

1.4 Organização da Dissertação

2.1.1 Escalonamento de Tarefas em Redes de Campo

No início da utilização do protocolo FOUNDATION™ Fieldbus, alguns poucos tra- balhos trataram o tema. Em [7], um algoritmo de escalonamento foi criado para reduzir o tamanho da agenda quando alguns ciclos de transmissão são relativamente primos ou no caso geral em que o MMC entre os períodos é muito grande. Em [17], Franco considera dependências temporais entre os dados e utiliza a metodologia de Gerber para propor um algoritmo de escalonamento para ambos dados periódicos e assíncronos.

Conforme a tecnologia avançou, esses desafios perderam a importância ou se tornaram desatualizados. Com relação ao trabalho de [7], os sistemas de controle comerciais não costumam permitir muitos ciclos diferentes numa mesma rede, espe-

cialmente primos entre si. Na prática, um período de 500 ms não é muito diferente de um de 600 ms no que tange desempenho de controle. Em muitos sistemas [31],[23], existe uma lista de ciclos configuráveis divisíveis entre si. Por exemplo, em FF H1, ciclos de 250, 500, 1000, 2000 e 5000 ms são configuráveis no sistema Centum CS3000, da Yokogawa. No que diz respeito ao trabalho em [17], FF H1 já consi- dera prioridades entre as modalidades de comunicação. Comunicações P/A têm a mais alta prioridade, seguidas por F/P e, por último, C/S. Assim, qualquer outra comunicação que não P/A é imediatamente cancelada se for o momento para uma comunicação P/A. Por isso o nome da comunicação P/A éCompel Data (traduzindo, algo como “Forçar Dados”) na terminologia FF H1.

Em [25], os autores chegam a um importante resultado para Sistemas de Controle em Rede (NCS, do inglês Network Control Systems), o dos Máximos Limites de Atraso Permissíveis (MADB, do inglês Maximum Allowable Delay Bounds). Um método de escalonamento para redes de controle em rede em que múltiplas malhas de controle são executadas no controlador foi então proposto, baseado nesse resultado. O algoritmo é apenas aplicável em sistemas com controle centralizado e pode ser adaptado para FF H1, desde que o controle seja configurado dessa forma. Para tal, seria necessária uma adaptação no algoritmo, pois este não considera o readback, que é comum em malhas de controle de processo. Para o presente trabalho, o algoritmo não se aplica, pois o objetivo é fazer um método aplicável a redes com controle distribuído, que é um caso mais complexo estruturalmente.

O tratamento de questões de NCS para o escalonamento passou a ser mais ativo a partir deste século. Uma estratégia de AP para redes Controller Area Network (CAN) foi proposta em [43]. A fim de garantir que as restrições temporais sejam atendidas e manter elevada a flexibilidade da rede, Wu et al [43] propuseram a atribuição de prioridades baseada no prazo de entrega das mensagens. A estratégia é fortemente baseada em características particulares ao CAN, cujo protocolo prevê prioridades às mensagens. Mesmo podendo ser adaptável a FF H1, os ganhos em flexibilidades são pouco desejáveis uma vez que raramente ocorrem mudanças numa rede FF H1 a partir do momento em que ela passa a operar.

Em [21], métodos heurísticos são propostos para aprimorar o escalonamento de taregas em FF H1, incluindo métricas específicas para este tipo de sistema. Os objetivos propostos por Hodson [21] foram utilizados neste trabalho. O agrupamento de comunicações para aumentar a disponibilidade da rede e os atrasos de controle são levados em conta em seu trabalho e serão também explorados neste. Contudo, como se trata de um artigo branco, não há detalhes do algoritmo, que é protegido. Além disso, não é realizada uma otimização plena, o que é o objetivo deste trabalho. Heurísticas como as propostas em [21] costumam ser muito eficazes para um conjunto de casos conhecidos, mas podem não ser eficientes para casos mais complexos. Com

o avanço da tecnologia, espera-se que mais dispositivos pertençam a uma mesma rede, e assim mais malhas simples e algumas malhas complexas e/ou multivariáveis poderão ser realizadas nos dispositivos de campo, numa mesma rede.

Cicillini [8] propõe um algoritmo offline de escalonamento de tarefas e mensagens para FOUNDATION™ Fieldbus. O algoritmo se baseia em prioridades estáticas, escolhidas pela estrutura das malhas de controle, e pelas restrições de recurso e de precedência. Um processo iterativo aloca as tarefas segundo as prioridades e res- trições, objetivando a obtenção de uma agenda viável. Os resultados mostram, no entanto, que algumas restrições de recursos não foram obedecidas, havendo sobre- posição de tarefas no mesmo dispositivo. Além disso, o algoritmo não tenta otimizar algum objetivo, em contraponto ao proposto no presente trabalho. Novamente uma abordagem por prioridades é usada para redes de campo em [44]. Neste trabalho, Xiang-Li propõe uma atribuição de prioridades às tarefas em função da profundi- dade da tarefa no grafo a que ela pertence e no prazo. Novamente, otimização não é considerada.

Poucos trabalhos consideraram escalonamento ótimo em um ambiente de rede de campo. Num trabalho que se aproxima deste [39, 40], Song usa programação com restrições para enumerar todas as possibilidades de alocação de blocos de função em dispositivos e escolhe a configuração que leva ao mínimo número de comunicações e agenda mais curta (mínimomakespan). Song faz uma série de considerações para a temporização das tarefas. Em uma delas, assume-se que não há atrasos entre blocos consecutivos numa malha de controle, o que pode ser indesejável ou impossível dependendo do caso (como várias malhas complexas em paralelo). Song afirma que agendas ótimas são obtidas, mas no entanto seus resultados ainda precisam ser verificados através de estudos de caso numéricos.

Outras abordagens para sistemas de controle em rede visam o planejamento dos períodos de execução em vez de o planejamento dos instantes de execução. Essa abordagem é mais aplicável para casos de controle concentrado no controlador. No entanto, a análise e o planejamento dos períodos de execução é inerente ao projeto das configurações de controle. Em [34], Peng et al propõem a escolha ótima da periodicidade de cada malha de controle num NCS levando em conta o máximo desempenho das malhas e a qualidade de serviço. Abordagem semelhante é feita em [28], em que Li et al observam que minimizar os atrasos de controle e o consumo de banda são critérios conflitantes, e propõem uma otimização multi-objetivo para o problema de gerenciamento dos períodos de execução.

2.1.2 Escalonamento de Tarefas em Sistemas Distribuídos