• Sonuç bulunamadı

GEREÇLER VE YÖNTEMLER

4.5. Geribildirim Bulgu ları

4.5.2. Sözlü Geribildirim Bulguları

O pessimista queixa-se do vento. O otimista espera que ele mude. O realista ajusta as velas.

Willian George Ward (1812-1992)

Quando um sistema possui tolerˆancia a falhas adaptativa se conclui que no mesmo, existem v´arias pol´ıticas de redundˆancia ou configura¸c˜oes para cada tarefa espec´ıfica, e estas pol´ıticas s˜ao selecionadas de acordo com o seu estado e objetivo atual. No modelo desenvolvido, cada pol´ıtica de redundˆancia corresponde a um fluxo espec´ıfico de processamento de baixo n´ıvel, com a configura¸c˜ao de PCs associada. Falta definir o processo de sele¸c˜ao da configura¸c˜ao mais adequada a um dado momento.

Uma configura¸c˜ao ´e adequada, se realizar a tarefa a que se prop˜oe da melhor forma poss´ıvel. Infelizmente, ´e necess´ario para o controle adaptativo selecionar uma configura¸c˜ao sem a execut´a-la, ou seja, baseando-se em previs˜oes ou estimativas. Estas previs˜oes devem levar em conta dois fatores: a probabilidade de executar a tarefa sem erros (IC); e a eficiˆencia na sua execu¸c˜ao (ID). Estes dois fatores devem

ser combinados criando um ´unico ´ındice para se comparar configura¸c˜oes diferentes, sendo este um fator de ganho (IG).

7.2.1

´Indice de confian¸ca

Uma tarefa pode n˜ao ser realizada por um robˆo por muitos motivos. Pode existir um ou mais defeitos no sistema, ou o ambiente apresenta propriedades n˜ao previstas que estejam interferindo com a tarefa, ou o controle n˜ao foi programado adequadamente. Definir um ´ındice com a probabilidade de sucesso ou falha na execu¸c˜ao de uma

tarefa de um robˆo ´e um problema complexo, o qual s´o gera muitos trabalhos interes- santes na literatura ([Parker, 2000b]). Neste trabalho, como foi visto na Se¸c˜ao 6.5, foi realizada uma abordagem simplista, na qual ´e calculada a probabilidade do fluxo gerar uma informa¸c˜ao em um atuador ou em outro ED, com dados provenientes de uma falha.

Os objetivos de uma fase podem ser traduzidos para o ´ındice de confian¸ca de uma determinada configura¸c˜ao (IC), atrav´es da associa¸c˜ao de pesos a confian¸ca das in-

forma¸c˜oes atribu´ıdas a determinados EDs, como visto na Equa¸c˜ao 6.5.6 na P´agina 109 da Se¸c˜ao 7.1.1.

O c´alculo realizado levou em conta apenas a probabilidade de falhas nos dados coletados, n˜ao considerando a influencia direta da precis˜ao destes na probabilidade de sucesso da fase. Este ponto ´e deixado como trabalhos futuros (Se¸c˜ao 10.1).

Uma abordagem interessante para obter este ´ındice, considerando n˜ao apenas as falhas, mas tamb´em a precis˜ao das informa¸c˜oes ´e executar as m´ultiplas configura¸c˜oes do sistema e coletar os dados de sucesso. Podem-se inserir falhas facilmente nos EDs de forma a validar ou ajustar os c´alculos de confian¸ca realizados de forma est´atica. Infelizmente, esta abordagem pode ser bastante trabalhosa ou invi´avel, se o n´umero de configura¸c˜oes e a quantidade de pontos de inser¸c˜ao de falhas for muito grande, o que normalmente acontece.

7.2.2

´Indice de desempenho

A medida de desempenho na realiza¸c˜ao de uma tarefa pode corresponder ao tempo e aos recursos demandados. Intuitivamente, associamos que quanto mais r´apido ´e executada uma a¸c˜ao, maior ´e o seu desempenho. Mas ´e importante destacar que o consumo de um recurso como energia pode ser t˜ao importante quanto o tempo decorrido.

A inferˆencia de um valor de desempenho, para a realiza¸c˜ao de uma tarefa, ´e t˜ao complexo para um robˆo quando a inferˆencia da sua confiabilidade ou do sucesso na realiza¸c˜ao da mesma.

Da mesma forma que a obten¸c˜ao da confian¸ca, uma abordagem mais simples, mas muito trabalhosa, seria executar cada poss´ıvel configura¸c˜ao do sistema e cole- tar os dados relevantes referentes ao seu desempenho, obtendo assim ´ındices m´edios e limites referentes a cada uma. Se o n´umero de configura¸c˜oes for muito grande, pode-se tentar selecionar um subconjunto que caracterize as varia¸c˜oes com impactos significativos no desempenho, obtendo neste caso, dados suficientes para permitir a inferˆencia do desempenho das configura¸c˜oes n˜ao avaliadas. Um modelo de desem- penho ´e desenvolvido baseado no conhecimento do funcionamento do sistema e em dados experimentais coletados.

1. Essencialmente, a configura¸c˜ao com melhor desempenho, ou que consome menor tempo, recebe o ´ındice com valor 1, e as demais s˜ao calculadas proporcionalmente, como ´e visto na Equa¸c˜ao 7.2.1.

IcD =

min(Tk)∀k ∈ Adapta¸c˜oes

Tc

(7.2.1) Fica claro que o ajuste deste ´ındice pode ser um processo lento e muito interativo. No modelo desenvolvido o fator de custo mais claro ´e o processamento demandado pelo fluxo de baixo n´ıvel e a mem´oria ocupada. Como foi visto em v´arios momentos no texto todo o trabalho foi desenvolvido buscando a concentra¸c˜ao de processamento no fluxo. Uma simplifica¸c˜ao poss´ıvel no modelo para um ´ındice de desempenho ´e associ´a-lo ao custo de processamento do fluxo. Para tanto ´e necess´ario o tempo de processamento de cada BF, que pode ser obtido em execu¸c˜oes reais ou simula¸c˜oes com entradas controladas. Al´em disso, ´e necess´ario o tempo consumido em trocas de contexto e configura¸c˜oes realizadas internamente a PCA. Estes valores podem ser obtidos com instrumenta¸c˜ao do sistema em situa¸c˜oes controladas como visto na Se¸c˜ao 6.8.

A configura¸c˜ao que consome menor processamento definido pela soma de tempo dos BFs recebe o ´ındice com valor 1. As demais s˜ao calculadas proporcionalmente como ´e visto na Equa¸c˜ao 7.2.2.

ID c =

min(Pi∈BF skTi)∀k ∈ Adapta¸c˜oes

P

i∈BF scTi

(7.2.2) De forma a buscar uma maior aproxima¸c˜ao com a realidade ou permitir um refina- mento da estimativa de desempenho, ´e poss´ıvel tentar combinar o tempo de processa- mento do fluxo com outras informa¸c˜oes internas, por exemplo, valores armazenados em configura¸c˜oes de PCs associadas `a fase. Se a tarefa da fase for percorrer um ambiente, a sua velocidade m´edia pode ser um fator importante de desempenho in- dependente do tempo total da miss˜ao ou do tamanho do ambiente. Se a velocidade m´edia variar em fun¸c˜ao da fase ou do per´ıodo do ciclo de processamento, como foi visto na Se¸c˜ao 6.4, o desempenho da configura¸c˜ao sofre uma influencia direta desta varia¸c˜ao. Assim sendo, a estimativa de desempenho pode ser calculada considerando este tipo influencia, como visto na Equa¸c˜ao 7.2.3, na qual a velocidade foi inclu´ıda na formula de calculo.

IcD =

min((Pi∈BF skTi) × P CkV el)∀k ∈ Adapta¸c˜oes

(Pi∈BF scTi) × P CcV el

(7.2.3) Entre cada fase do controle a a¸c˜ao realizada pode variar significativamente, assim como os fatores que influenciam o desempenho final observ´avel. Devido a estes mo- tivos, uma estimativa do ´ındice de desempenho calculado em fun¸c˜ao de parˆametros

internos ao controle tamb´em deve se adequar a cada fase. O projetista deve poder associar a cada fase de uma miss˜ao, a equa¸c˜ao apropriada para o c´alculo da estimativa de desempenho ID.

PHASE: GOTOGOAL

IPERF(ID): CYCLE PCVEL

MIN IPERF: 0.50

Este c´alculo do ´ındice pode ser implementado em uma forma equivalente a lin- guagem de defini¸c˜ao de testes definida na Se¸c˜ao 7.1.2, ou atrav´es de uma fun¸c˜ao na linguagem C, que receba como parˆametro o identificador da formula de c´alculo. In- dependente da forma de implementa¸c˜ao, o c´alculo deve ter acesso a dados internos da PCA e informa¸c˜oes armazenadas na estrutura do Grafo de Controle Adaptativo (GCA) para poder criar uma estimativa adequada.

No prot´otipo desenvolvido, com ser´a visto na Se¸c˜ao 9.2 o n´umero de configura¸c˜oes era pequeno sendo poss´ıvel executar cada uma individualmente. O tempo m´edio de execu¸c˜ao foi calculado e o ´ındice de desempenho de cada configura¸c˜ao foi estabelecido manualmente.

7.2.3

´Indice de ganho

Em determinada miss˜ao de um sistema pode ser mais importante o desempenho, e em outra a confiabilidade, refletida no modelo pela confian¸ca. Normalmente estes dois fatores s˜ao antagˆonicos, pois a confiabilidade depende do uso de redundˆancia a qual provavelmente vai consumir uma quantidade maior de recursos.

Se a confiabilidade de determinada a¸c˜ao ´e muito baixa, pode n˜ao fazer sentido tentar realiz´a-la, porque provavelmente o sistema ir´a falhar. Da mesma forma pode ser invi´avel, se tentar realizar uma a¸c˜ao que demore muito tempo ou consuma toda a bateria ou outro recurso dispon´ıvel.

O controle adaptativo visa balancear a confiabilidade com o desempenho, sendo que, a importˆancia de cada fator a um dado momento deve ser estabelecida de forma externa a este controle. Seja definida por um operador humano ou por um sistema de planejamento capacitado para tal. Em qualquer caso, uma fun¸c˜ao correspondente ao ganho do sistema IG deve ser definida, e o objetivo do controle adaptativo passa

a ser maximizar o seu valor. A fun¸c˜ao de ganho deve combinar a importˆancia de dois ou mais indicadores do sistema, visando criar um ´ındice ´unico utiliz´avel em um processo de sele¸c˜ao da configura¸c˜ao mais apropriada a um dado momento. Como exemplificado na Equa¸c˜ao 7.2.4, o ´ındice de ganho pode ser definido por uma fun¸c˜ao entre ID, ID e FDesempenho×Confian¸ca

Importˆancia que ´e um fator de balanceamento de importˆancia

IG c = fG(IcD, I C c , F Desempenho×Confian¸ca Importˆancia ) (7.2.4)

O processo adaptativo implementado consiste basicamente na sele¸c˜ao de um nodo vizinho no Grafo de Controle Adaptativo, que ser´a visto na Se¸c˜ao 8.1, que possua um IG maior que o nodo corrente. Neste caso, uma adapta¸c˜ao ´e realizada. A fun¸c˜ao f

G

pode ser composta de v´arias formas diferentes, por exemplo, atrav´es de uma fun¸c˜ao linear como mostrado na Equa¸c˜ao 7.2.5, que est´a sendo utilizada no prot´otipo.

IcG= (I D

c × F ) + (I C

c × (1 − F )) (7.2.5)

A fun¸c˜ao linear ´e um exemplo que utiliza um ´unico fator para defini¸c˜ao da im- portˆancia FDesempenho×Confian¸ca e fornece um resultado normalizado com foi proposto

tamb´em pelos ´ındices IC e ID. A fun¸c˜ao de ganho pode ser t˜ao complexa quanto

o projetista queira, mas a essˆencia, sempre ser´a balancear a importˆancia de fatores antagˆonicos. Se os fatores a serem balanceados n˜ao forem antagˆonicos, no sentido que um melhora, e outro piora, n˜ao a necessidade de uma fun¸c˜ao de ganho deste tipo. No controle adaptativo podem ser inclu´ıdos outros fatores para otimiza¸c˜ao explicita, como consumo de bateria ou combust´ıvel, bastando para isso, ampliar a formula de ganho. MISSION: M GOTOGOAL MIN IPERF: 0.30 MIN IREL: 0.70 MIN IPROFIT: 0.90 PHASE: F GOTOGOAL

IPERF(ID): CYCLE PCVEL

MIN IPERF: 0.50

IREL(IC): STDCALC

MIN IREL: 0.80

IPROFIT(IG): STDLINEAR

MIN IPROFIT: 1.00

Como j´a citado anteriormente, no modelo criado, ´e importante a possibilidade de definir os ´ındices do controle adaptativo de forma global a miss˜ao, ou associados diretamente a cada fase espec´ıfica. Desta forma, ´e poss´ıvel respeitar as caracter´ısticas

pr´oprias de cada miss˜ao, assim como de cada fase. O refinamento ao n´ıvel de fase, permite que o projetista ajuste individualmente a importˆancia dos fatores adaptati- vos, de forma a garantir crit´erios coerentes com o objetivo global da miss˜ao. Sendo o fator FDesempenho×Confian¸ca definido globalmente para a miss˜ao, pode ser necess´ario em

determinadas fases valorizar a confian¸ca mais que o desempenho e vice versa. Al´em disso, deve ser poss´ıvel especificar os n´ıveis m´ınimos de desempenho ou confian¸ca aceit´aveis, abaixo dos quais a fase ou miss˜ao ´e considerada invi´avel.

O ideal para o uso do modelo, ´e que as formulas b´asicas sejam identificadas e inseridas automaticamente atrav´es de um ambiente espec´ıfico de desenvolvimento (framework), e que os ´ındices de controle utilizados sejam aprendidos dinamicamente a partir do funcionamento do robˆo. Esta nova etapa do trabalho, que facilitaria em muito o trabalho do projetista, fica tamb´em para o futuro (Se¸c˜ao 10.1).

7.2.4

Custo de uma adapta¸c˜ao

Uma quest˜ao importante que n˜ao foi tratada neste trabalho ´e quando a ativa¸c˜ao de uma configura¸c˜ao realizada no processo de adapta¸c˜ao est´a associada a um custo, seja este de tempo, energia ou outra natureza. A ativa¸c˜ao de uma nova configura¸c˜ao de software no modelo implementado 2 possui uma troca de contexto m´ınima, a qual

est´a associada somente, `a mudan¸ca de ´ındices internos aos PCs autom´aticos.

Quando uma adapta¸c˜ao de um sistema est´a associada `a ativa¸c˜ao ou desativa¸c˜ao de elementos de hardware, existe um custo no processo de reconfigura¸c˜ao. Este custo pode ser em energia, tempo, recursos de processamento ou outros. Assim sendo, o custo das adapta¸c˜oes tamb´em deve ser inserido no c´alculo de ganho. Essencialmente, a fun¸c˜ao de ganho passa incluir um fator temporal, que ´e o tempo esperado de funci- onamento na nova configura¸c˜ao. A inclus˜ao do tempo esperado na nova configura¸c˜ao e o custo de transi¸c˜ao insere basicamente uma in´ercia no processo adaptativo.

Este problema ´e equivalente a trabalhos de outras ´areas, por exemplo, a otimiza¸c˜ao do consumo de energia em sites de provedores web ([NETO et al., 2003]), no qual servidores podem ser ativados ou desativados em fun¸c˜ao da demanda. Esta quest˜ao, assim como outros pontos, foram deixados para trabalhos futuros (Se¸c˜ao 10.1).

Benzer Belgeler