Sei sulla pagina 1di 10

Um Agente de Resoluo de Problemas de Seleo de

Casos de Teste de Agentes Racionais


Fca. Raquel de V. Silveira
1
, Gustavo Augusto L. de Campos
1
, Mariela Ins Corts
1

1
Universidade Estadual do Cear (UECE)
60.740-903 Fortaleza CE Brasil
{raquel_silveira}@ifce.edu.br, {gustavo, mariela}@larces.uece.br
Abstract. Software agents are a promising technology for the development of
complex systems, although few testing techniques have been proposed to
validate these systems. In this paper, we propose the design of an approach
that uses agents to select test cases and test the performance of rational agent.
For each test case are realized interaction between agent and environment for
obtain the performance evaluation corresponding. As a result, we obtain a set
of test cases and their evaluation in which the agent has not been well
evaluated. Based on this result, the approach identifies the goals that are not
met by the agent and release to the designer.
Resumo. Agentes de software so uma tecnologia promissora para o
desenvolvimento de sistemas complexos, embora poucas tcnicas de testes
tenham sido propostas para validar esses sistemas. Neste trabalho, propomos
uma abordagem que usa agentes para selecionar casos de testes e testar o
desempenho de agentes racionais. Para cada caso de teste so realizadas as
interaes entre Agente e Ambiente para obter a avaliao de desempenho
correspondente. Como resultado, obtm-se um conjunto de casos de teste nos
quais o agente no foi bem avaliado, com a respectiva avaliao. A partir
desse resultado, a abordagem identifica os objetivos que no esto sendo
satisfeitos e as falhas apresentadas pelo agente e repassa ao projetista.
1. Introduo
Agente uma entidade capaz de perceber seu ambiente por meio de sensores e agir
nesse ambiente por intermdio de atuadores. O conceito de agentes racionais refere-se
aos agentes que agem para alcanar o melhor resultado esperado. O melhor resultado
aquele que o agente obtm a melhor medida de desempenho [Russel e Norvig 2004].
Em particular, devido s propriedades peculiares dos agentes racionais
(propriedades reativas, de memria, de aprendizagem, orientao por metas e por
utilidade), difcil aplicar tcnicas de testes que sejam capazes de garantir a
confiabilidade destes sistemas [Nguyen et al. 2009].
A realizao de testes de softwares tradicionais, que possuem entradas e sadas
previsveis, uma atividade no trivial. Testar agentes autnomos um desafio, haja
visto que a execuo de aes baseada nas suas prprias decises, que podem ser
diferentes da perspectiva do usurio, embora sendo apropriada; a mesma entrada de
teste pode resultar em diferentes execues [Nguyen et al. 2009].
Apesar de existirem alguns esforos no sentido de facilitar o desenvolvimento de
sistemas baseados em agentes, pouco tem sido feito na direo de propor mtodos e
69

tcnicas para testar a eficincia destes sistemas [Nguyen et al. 2009]. Para a realizao
de testes em agentes racionais, necessrio que as tcnicas existentes para testes de
software sejam adaptadas e combinadas visando a deteco de diferentes falhas,
tornando os agentes de software mais confiveis [Zina 2011].
O objetivo deste trabalho conceber uma abordagem baseada em agentes
racionais que seja capaz de selecionar casos de testes para contribuir com o teste de
agentes racionais, gerando para o projetista informaes relevantes sobre falhas, que lhe
permitam realizar melhorias nos programas agentes.
2. Referencial Terico
2.1 Agentes Racionais
Um agente de software um tipo de programa de computador que tem a capacidade de
perceber seu ambiente por meio de sensores e de agir neste ambiente por meio de
atuadores [Russell e Norvig 2004].
Agentes podem atingir diferentes tarefas de diferentes maneiras, e dependendo
da tarefa e do contexto em que a tarefa pode ser concluda, pode selecionar a forma
mais adequada [Poutakidis 2009].
Do ponto de vista do projetista do agente, um agente racional se, baseado nas
informaes percebidas, o agente for capaz de tomar decises corretas que realizem os
objetivos estabelecidos pelo projetista ou, quando no for possvel realizar todos os
objetivos, tomar decises de maior sucesso, definido de acordo com algum critrio. Este
critrio denominado medida de avaliao de desempenho [Russell e Norvig 2004].
Baseados nesses princpios, [Russell e Norvig 2004] descrevem quatro tipos
bsicos de programas de agentes racionais: (i) agentes reativos simples (selecionam
aes com base na percepo atual, ignorando o histrico de percepes), (ii) agentes
reativos baseados em modelos (o agente mantm um estado interno que depende do
histrico das percepes), (iii) agentes baseados em objetivos (alm do estado atual,
mantm informao sobre os objetivos que descrevem situaes desejveis); (iv)
agentes baseados em utilidade (possuem uma funo utilidade que mapeia um estado
em um grau de felicidade associado).
2.2 Testes de Agentes
Teste de software uma atividade que tem como objetivo avaliar a qualidade do
produto e melhor-la atravs da identificao de defeitos e problemas. O teste consiste
na verificao dinmica do comportamento de um programa em um conjunto de casos
de teste adequadamente selecionados [Poutakidis 2009].
Ao nvel do agente, os testes tm relao direta com os casos de teste criados
para testar os objetivos do agente. Em geral, o teste de um objetivo implica um teste ou
um conjunto de planos que envolvem eventos e recursos. Da mesma forma, o teste de
um objetivo aciona uma integrao de planos e eventos [Zina 2011].
No caso de testes do agente todos os objetivos do agente devem ser testados. O
agente deve ser capaz de atingir suas prprias metas e agir corretamente em casos em
que sua meta esperada no pode ser alcanada. Esta exigncia pode ou no ser
suficiente para cobrir os componentes do agente, ou seja, planos, eventos, crenas etc.
70

Se o critrio de adequao bsico no for alcanado, mais casos de teste devem ser
definidos para completar os testes do agente [Zina 2011].
3. Trabalhos Relacionados
Na literatura de engenharia de software orientada a agentes, tem sido propostas vrias
pesquisas sobre os diferentes aspectos de teste de agentes. Cada uma das quais com
diferentes abordagens e perspectivas. Entretanto, o teste de agente uma atividade
desafiadora e um processo de teste estruturado para agentes ainda requerido [Zina 2011].
Nessa seo, verificado se as abordagens existentes so capazes de atender aos
seguintes critrios, identificados a partir das caractersticas da abordagem proposta: (i)
noo de agentes racionais, (ii) utilizao de casos de teste gerados de acordo com os
objetivos, (iii) medida de avaliao de desempenho do agente testado, (iv) considerao
dos planos para que o agente alcance os objetivos, e (v) acompanhamento da avaliao
de desempenho do agente testado.
Uma abordagem de teste orientada a objetivos para os agentes apresentada por
[Zina 2011]. especificado um processo de teste que complementa a metodologia
Tropos [Mylopoulos e Castro 2000] e refora a relao mtua entre a anlise de
objetivos e testes. Alm disso, define um processo estruturado para a gerao de testes
nos agentes, fornecendo uma forma de derivar casos de teste a partir da anlise dos
objetivos dos agentes. Essa estratgia no apresenta: (i) a noo de agentes racionais,
(ii) uma medida de avaliao de desempenho e (iii) uma simulao que possa monitorar
o comportamento do agente ao executar as aes que envolvem os objetivos do agente.
[Nguyen 2008] prope um mtodo de anlise orientada a objetivos, visando um
processo de testes sistemtico e abrangente para agentes que engloba o processo de
desenvolvimento do agente de acordo com a metodologia Tropos [Mylopoulos e Castro
2000] a partir da anlise de requisitos iniciais at a implantao. proposta uma
metodologia de como produzir artefatos de testes a partir das especificaes dos agentes
e do design, e usa estes artefatos para detectar problemas. Os casos de teste so gerados
automaticamente e evoluem guiados pela mutao e funo de qualidade.
Uma abordagem evolucionria para a realizao dos testes de agentes
autnomos adotada por [Nguyen et al. 2009]. proposto aplicar um recrutamento dos
melhores casos de teste para evoluir os agentes. Para cada agente dado um perodo
experimental em que o nmero de testes com diferentes nveis de dificuldade so
executados. Os agentes so recrutados apenas quando passam pelo critrio de qualidade.
Em ambas as abordagens de [Nguyen 2008] e [Nguyen et al. 2009], o agente a
ser testado implementado de acordo com o modelo BDI. Considerando os critrios
avaliados, no tratado: (i) a noo de agentes racionais e (ii) uma simulao que possa
monitorar o comportamento do agente ao executar uma ao que envolve os objetivos.
4. Abordagem Proposta
Esta seo apresenta a abordagem proposta e os aspectos envolvidos na realizao dos
testes de agentes racionais. A abordagem baseia-se na concepo do agente de resoluo
de problemas de seleo de casos de teste que contribua com testes de agentes racionais.
71

4.1. Seleo de Casos de Teste de Agentes Racionais
Considerando que os testes dos agentes racionais consistem em identificar situaes nas
quais o agente no foi bem avaliado, o projetista informar a medida de avaliao do
agente considerando um ou mais aspectos do ambiente.
A Tabela 1 especifica uma medida de avaliao de desempenho para o agente
aspirador de p (uma verso adaptada de [Russell e Norvig 2004]) que deve limpar o
ambiente e maximizar a limpeza e a energia. A 1 coluna descreve parte da percepo
do agente. A 2 coluna descreve a ao. A 3 e a 4 colunas so associadas aos objetivos
energia e limpeza, respectivamente, duas funes escalares (av
E
e av
L
) para medir o
desempenho do agente no episdio. O projetista deve considerar este tipo de medida e
conceber o agente visando maximizar o desempenho.
Tabela 1. Medida de avaliao desempenho
P
K
A
K
av
E
(P
K
, A
K
) av
L
(P
K
, A
K
)
..., L, ... Asp -1.0 0.5
..., L, ... Dir, Esq, Ac, Ab -2.0 1.0
..., L, ... N-op 0.0 -1.0
..., S, ... Asp -1.0 2.0
..., S, ... Dir, Esq, Ac, Ab -2.0 -1.0
..., S, ... N-op 0.0 -1.0
O problema de seleo de casos de teste para um agente racional foi formulado
como um problema de programao multiobjetivo (PMO). Seja:
Agent: um programa agente racional a ser testado;
Amb: um programa ambiente capaz de interagir com Agent;
ProtocolInterao: uma descrio do protocolo de interao entre Agent e Amb;
: um conjunto de ambientes factvel de instanciar Amb e testar Agent;
P(): subconjuntos de ambientes possveis de serem descritos em ;
CasosTEST P(): um subconjunto de casos de teste no conjunto P(), onde:
Caso
i
CasosTEST: uma descrio especfica de ambiente emCasosTEST;
H(CasosTEST) P((PxA)
NInt
): conjunto de histrias de comprimento NInt de
Agent em Amb considerando ProtocolInterao e todos os casos em CasosTEST tal
que i {1, ..., NCasos}, t {1, ..., NInt}:
h(Caso
i
) (PxA)
NInt
: histria de comprimento NInt de Agent em Amb
correspondente ao Caso
i
CasosTEST;
Ep
t
(h(Caso
i
)) PxA: episdio na interao t, t NInt, da histria de Agent em
Amb correspondente ao caso Caso
i
CasosTEST;
f
ad
(H(CasosTEST)) = (f
1
(H(CasosTEST)), ..., f
M
(H(CasosTEST))) R
M
:
um vetor de M funes objetivo (implcitas) na medida de avaliao de
desempenho formada pelo projetista (M 1), mede a adequao de Agent a Amb
considerando um conjunto de histrias H(CasosTEST), onde, m {1, ..., M}:
f
m
(E(CososIESI)) =
1
NCosos
Av
m
NCusos
=1
(h(Caso
I
))
mede a adequao de Agent a Amb, quanto a realizao do objetivo m na medida
de avaliao, considerando as histrias em H(CasosTEST); e i {1, ..., NCasos}:
Av
m
(h(Caso
I
)) = av
m
NInt
p=1
(Ep
p
(h(Caso
I
)))
72

onde av
m
(Ep
p
(h(Caso
i
))) o valor de recompensa/penalizao no objetivo m
atribudo pela avaliao do episdio p da histria associada ao Caso
i
CasosTEST;
f
inad
(H(CasosTEST)) = ( f
1
(H(CasosTEST)), ..., f
M
(H(CasosTEST))) R
M
:
um vetor de M objetivos associado ao vetor f
ad
(H(CasosTEST)), mede a
inadequao de Agent a Amb considerando as histrias em H(CasosTEST).
Problema:
maximizar f
inad
(H(CasosTEST))
s.a: CasosTEST P() e
H(CasosTEST) P((PxA)
NInt
)
A formulao do problema de seleo de casos de testes considera que, se o
programa agente for inadequado, as funes objetivo de inadequao, ou seja, as
funes objetivo na medida de avaliao modificadas pelo sinal de menos (), sero
maximizadas. Dependendo dos objetivos no PMO, pode no existir um conjunto timo.
Neste caso, a tarefa consiste em encontrar um conjunto de casos satisfatrio.
4.4. Agente de Resoluo Problemas para a Seleo de Casos de Teste
Esta seo esboa um agente de resoluo de problemas de seleo de casos de teste
para programas agentes racionais (Thestes). O programa emprega uma estratgia de
busca local, baseada em populaes e orientada por uma funo utilidade, para
encontrar conjuntos de casos de teste satisfatrios, ou seja, ambientes especficos nos
quais as histrias associadas de Agent em Amb tm baixo desempenho.
4.4.1. Estrutura do Programa Agente Thestes
A Figura 1 ilustra a estrutura do agente de resoluo de problemas Thestes. Esta
estrutura consiste em uma adaptao da estrutura de programas agente orientados por
utilidade, especificada por [Russell e Norvig 2004], e da arquitetura abstrata do agente
com estado interno, especificada por [Wooldridge 2002].

Figura 1. Estrutura do programa agente Thestes
Considerando os subsistemas do agente Thestes, mais especificamente, o
subsistema de percepo, ver, mapeia as informaes necessrias ao teste de Agent em
uma representao computacional, Estado
K
, adequada ao processamento dos outros dois
subsistemas: (Agent, Amb, ParmetrosBUSCA, ParmetrosSimulao). O subsistema de
atualizao de estado interno, prximo, armazena as informaes em Estado
K
, considera os
parmetros em ParmetrosSimulao e gera um conjunto inicial CasosTEST de maneira
aleatria: (CasosTEST, Agent, Amb, ParmetrosBUSCA, ParmetrosSimulao).
Finalmente, considerando o estado interno atualizado, a funo ao de Thestes
inicia um processo de busca local visando encontrar uma ao satisfatria Ao
K
para
ser enviada ao projetista. Esta funo utiliza informaes a respeito de um modelo de
73

transio de estados para gerar novos casos de teste a partir de CasosTEST, e o
protocolo de interao e a funo utilidade para, respectivamente, obter as histrias
correspondentes aos casos de teste e avaliar o desempenho de Agent nestas histrias.
De posse das informaes geradas pela funo ao, Thestes envia ao projetista
quatro informaes importantes em Ao
K
: (1) o conjunto CasosTEST soluo para o
problema de seleo e os melhores casos encontrados, (2) as histrias correspondentes
de Agent em Amb, (3) os valores de desempenho, considerando cada um dos objetivos,
e (4) outras informaes relevantes para o diagnstico de problemas em Agent.
4.4.2. Modelo de Transio
O modelo de transio indica a funo que modifica os conjuntos de casos de teste,
considerando os casos de teste em uma soluo corrente, Pop
t
= CasosTEST, um
modelo de transio pr-definido e os valores de desempenho correspondentes, medidos
por uma funo Utilidade para gerar novos casos de teste, Pop
t+1
. O modelo de transio
genrico considera os NCasos em um conjunto Pop
t
corrente e escolhe: (a) os casos de
teste que sero modificados, e (b) as mudanas que sero realizadas nestes casos.
Esta primeira concretizao do modelo aplicou as principais noes presentes na
metaheurstica baseada em populaes Algoritmo Gentico (GA). Da mesma maneira,
diversos modelos de transio podem ser concretizados considerando outras noes
presentes em outras metaheursticas, principalmente aquelas baseadas em populaes.
4.4.3. Mecanismo de Simulao de Interaes Agent-Amb
Thestes conhece Agent e Amb, bem como o protocolo ProtocoloInterao. A funo
ao considera estas informaes e ParmetrosSimulao no processo de tomada de
deciso. Assim, foi concebido um mecanismo de interao que, de acordo com
ProtocolInterao, simula as interaes entre Agent e Amb, quando Amb inicializado
com informaes de um caso de teste (Caso
i
CasosTEST) e anota os episdios
(Ep
p
(h(Caso
i
)) PxA) da histria (h(Caso
i
) (PxA)
NInt
). A Figura 2 ilustra o
funcionamento deste mecanismo.

Figura 2. Simulao das interaes Agent-Amb
O mecanismo alimenta Amb com informaes em P
Amb
a respeito de um caso de
teste especfico pertencente ao conjunto soluo corrente CasosTEST. Ao perceber,
Amb armazena internamente essas informaes e envia em A
Amb
as informaes de seu
estado corrente. O mecanismo anota estas informaes e as repassa para Agent, que
percebe em P
Agent
, processa-as e seleciona uma ao que enviada em A
Agent
para o
mecanismo. Ao receber estas informaes sobre ao, o mecanismo encerra a anotao
de um episdio da histria, envia em P
Amb
as informaes sobre ao para Amb e inicia
outro ciclo de interao, que deve ser repetido at a anotao de uma histria completa.
4.4.4. Funo Utilidade
Durante o processo de busca, na gerao de novos casos de teste, a funo Utilidade
permite que o agente obtenha medidas de desempenho considerando os casos de teste
74

modificados pelo ModeloTransio. Estas medidas permitem que Thestes julgue os
casos de teste e selecione um subconjunto de NCasos que seja melhor que o anterior.
Assim, nesta primeira abordagem, supondo-se que a funo Utilidade
preferencialmente independente, ou seja, o grau de utilidade de um objetivo independe
dos valores assumidos pelos demais, foram incorporadas em Thestes duas formas
especiais de funo Utilidade, ou seja, uma funo aditiva:
0tiliuaue(f
Inad
(B(CasosTEST))) = u
m
[- f
m
(B(CasosTEST)) ,
M
m=1

e outra no formato linear, onde w
m
0, m = 1, ..., M.
0tiliuaue(f
Inad
(B(CasosTEST))) = - w
m
- f
m
(B(CasosTEST))
M
m=1

O problema de seleo de casos de teste foi reformulado como:
maximizar Utilidade(f
inad
(H(CasosTEST)))
s.a: CasosTEST P() e
H(CasosTEST) P((PxA)
NInt
)
Ou seja, considerando que = f
inad
(P()) a representao do mapeamento de
P() no espao dos objetivos: = {y R
M
| y = f
inad
(H(CasosTEST))), CasosTEST
P() e H(CasosTEST) P((PxA)
+
)}; o problema pode ser estabelecido como:
maximizar Utilidade(y)
s.a: y
5. Avaliando o Agente Thestes
O estudo de caso a seguir ilustra o funcionamento e uma primeira avaliao do
esqueleto de Thestes, resolvendo um problema de seleo para testar um agente
aspirador de p reativo simples com percepo local, que avaliado em um ambiente
com vrias salas considerando os atributos energia e limpeza, de acordo com a Tabela 1.
5.1. O Ambiente de Tarefa e o Agente em Teste
A tarefa de Thestes consiste em selecionar um conjunto de ambientes que sejam
satisfatrios para testar um programa agente reativo simples aspirador de p, com regras
condio-ao. Um ambiente difere de outro quanto localizao e quantidade de
salas sujas. Todo ambiente parcialmente observvel, ou seja, pressupe-se que o
aspirador percebe o ambiente, mas sua funo ver consegue mapear apenas o estado da
sala que o agente est. A Figura 3 mostra as regras condio-ao do Agent.


Figura 3. Regras condio-ao do Aspi rador
5.2. Concretizao de Thestes para o Problema
O esqueleto de Thestes pressupe a existncia de um conjunto CasosTEST corrente
contendo NCasos de teste, que uma soluo inicial gerada pela funo prximo. A
funo ao do agente considera quatro componentes principais: (1) um
ModeloTransio de estados que opera sobre CasosTEST para gerar novos conjuntos,
se estado da sala S ento retornar a ao Asp
seno retornar uma ao de movimento aleatria (Ac, Esq, Dir, Ab)

75

(2) uma funo utilidade para avaliar os conjuntos gerados, (3) uma estratgia para
selecionar entre os conjuntos avaliados um novo conjunto corrente mais til, e (4) um
teste para o novo conjunto CasosTEST. Para os componentes (1), (3) e (4) o estudo
empregou noes dos algoritmos genticos [Holland 1975]. Para o componente (2),
empregou uma funo Utilidade no formato linear, conforme descrito na Seo 4.4.4.
No contexto do GA, CasosTEST, contendo as descries de ambientes de tarefa
compostos de nxn salas, foi representado por uma populao, onde cada indivduo
codifica um ambiente e cada gene codifica o estado da sala, em termos de sujeira. O
ModeloTransio baseado em GA considera CasosTEST como uma populao que est
apta a passar pelas etapas de seleo de pares (empregado o mtodo da roleta),
cruzamento e mutao, que provocam a evoluo e que permitem funo ao realizar
simulaes, avaliar a utilidade dos indivduos e compor uma nova populao melhor.
Visando prevenir a perda do melhor caso de teste encontrado em uma gerao anterior,
nos experimentos empregou-se elitismo nas modificaes do conjunto CasosTEST.
5.3. Experimento com o Agente Thestes
Esta seo apresenta um experimento realizado com Thestes. ParmetrosBUSCA
descrevem o tamanho (n
2
) e a quantidade (NCasos) de ambientes em CasosTEST, a taxa de
mutao (Mut), o nmero mximo de execues (Kmx), e o valor de utilidade mxima que
pode ser alcanada por uma histria (Umx). As informaes sobre Kmx e Umx definem
a condio de parada no mecanismo de teste. As informaes em ParmetrosSimulao
descrevem o nmero mximo de interaes entre Agent e Amb em qualquer simulao
(Nint), ou seja, o nmero mximo de episdios em cada histria, e o nmero de simulaes
realizadas em um mesmo ambiente (Ns). A Tabela 2 apresenta estas informaes.
Tabela 2. Informaes em ParmetrosBUSCA e ParmetrosSimulao
ParmetrosBusca ParmetrosSimulao
NCasos n
2
Mut K
mx
U
mx
N
int
Ns
10 25 3 30 100000 100 5
O nmero mximo de interaes (I
mx
) de Agent com Amb, a serem simuladas
em cada um dos 10 casos (NCasos) na populao, 100. O valor de utilidade mxima
(U
mx
) alto, significando que a condio de parada no mecanismo de teste da estratgia
de busca definida considerando a realizao de 30 ciclos de execues da funo ao
(K
mx
). Para cada caso de teste na populao foram realizadas cinco simulaes (Ns). A
Figura 4 apresenta a funo Utilidade no formato linear com pesos iguais para limpeza e
energia, respectivamente, na medida de avaliao, ou seja, w
L
= w
E
= 0,5.

Figura 4. Valores de utilidade de 10 casos CasosTEST em 30 geraes
Os pontos no lineares representam os casos de teste em CasosTEST em cada
gerao. Os pontos lineares identificam o melhor caso de teste na gerao. Da gerao
15 em diante, estes pontos no sofrem variao e, como se aplica o elitismo, servem
76

como referencial para os casos em CasosTEST na gerao. Conforme pode ser
percebido, o melhor caso foi obtido na 14 gerao, ou seja, com valor de utilidade igual
a 40,8. A Figura 5 apresenta os valores das funes de inadequao de limpeza e
energia associados aos 10 casos de teste em CasosTEST nas 30 geraes.

Figura 5. Valores de Inadequao de Limpeza e Energia dos 300 casos
As regras condio-ao no agente aspirador Agent foram concebidas
considerando a medida de avaliao na Tabela 1. A funo ao de Thestes buscou
selecionar os casos em cada gerao na qual o agente menos limpou e mais gastou
energia. A Figura 6 destaca os casos em cada gerao e os valores de inadequao de
limpeza em (a) e os valores de inadequao de energia em (b).

(a) (b)
Figura 6. Valores de Inadequao de Limpeza (a) e Energia (b)
Vale ressaltar, apesar dos dois objetivos na medida de avaliao de desempenho
terem o mesmo valor de importncia (w
L
= w
E
= 0.5), a abordagem privilegiou os casos
nos quais Agent teve um comportamento mais inadequado no consumo de energia,
conforme indicado em (b). Isto se justifica, pois a medida de avaliao de desempenho
pontua negativamente a energia em todos os episdios para Agent e positivamente a
limpeza. Assim, conforme (a) e (b), o desempenho de energia do Agent mais
inadequado que o de limpeza. A Tabela 3 ilustra cinco episdios de uma simulao da
interao de Agent em Amb, no ambiente que obteve melhor valor mdio de utilidade.
Tabela 3. Histria parcial de Agent em Amb
K P
K
A
K
av
E
(P
K
, A
K
) av
L
(P
K
, A
K
)
1 ..., L, ... Ab 2.0 -1.0
2 ..., S, ... Asp 1.0 -2.0
3 ..., L, ... Dir 2.0 -1.0
4 ..., L, ... Dir 2.0 -1.0
5 ..., L, ... Ac 2.0 -1.0
O ambiente de tarefa selecionado foi constitudo de 25 salas com a seguinte
configurao: [[L, S, L, L, S], [S, L, L, L, L], [S, S, S, S, L], [L, L, L, S, S], [L, S, S, S,
S]]. O valor de utilidade foi U = 40.8 e os valores de inadequao: f
L
= 109.2 e f
E
=
190.8. Os demais episdios da histria de Agent em Amb seguem o mesmo padro.
77

Conforme esperado, o agente aspirador mais adequado ao ambiente considerando o
critrio de limpeza que o critrio de energia. Uma anlise breve das regras condio-
ao do aspirador de p confirmar esta proposio. Visto que o aspirador foi concebido
como um agente reativo simples, pouco pode ser feito para melhorar seu desempenho,
sendo necessrio estender sua estrutura para acomodar um estado interno.
6. Consideraes Finais
Considerando que o agente racional deve ser capaz de realizar seus objetivos, testes
adequados devem ser desenvolvidos para avaliar as aes e os planos executados pelo
agente na realizao destes objetivos. Para a realizao dos testes em agentes racionais
necessrio que tcnicas que tratem da natureza peculiar do agente sejam aplicadas.
A abordagem considera que no caso dos agentes racionais, em que a medida de
avaliao de desempenho estabelecida pelo projetista, envolve vrios objetivos e estes
objetivos podem ser conflitantes. Na abordagem proposta, o resultado dos testes deve
indicar o desempenho mdio do agente e, principalmente, os objetivos que no esto
sendo satisfeitos, alm de informaes sobre as histrias do agente, que sejam teis para
o projetista identificar em cada episdio das histrias, os comportamentos que precisam
ser melhorados e as mudanas necessrias para que o agente melhore suas habilidades.
Como trabalho futuro, sugere-se, um estudo de caso com os agentes racionais
reativo baseado em modelos, baseados em objetivos e baseados em utilidade, alm da
concepo de uma estratgia de teste capaz de testar, atravs de agentes racionais, a
interao entre os agentes em sistemas multi-agentes.
Referncias
Holland, J. (1975) Adaptation in natural and artificial systems. University of Michigan
Press.
Mylopoulos J.; Castro J. (2000) Tropos: A Framework for Requirements-Driven
Software Development. Information Systems Engineering: State of the Art and
Research Themes, Lecture Notes in Computer Science, Springer.
Nguyen, C. D. (2008) Testing Techniques for Software Agents. PhD Dissertation.
University of Trento.
Nguyen, C. D.; Perini, A.; Tonella, P.; Miles, S.; Harman, M.; Luck, M. (2009)
Evoluctionary Testing of Autonomous Software Agents. In: 8th Int. Conf. on
Autonomous Agents and Multiagent Systems. Budapest, Hungary.
Russell, S.; Norvig, P. (2004) Inteligncia Artificial: uma abordagem moderna. 2 ed.
So Paulo: Prentice-Hall.
Poutakidis, D.; Winikoff, M.; Padgham, L.; Zhang, Z. (2009) Debugging and Testing of
Multi-Agent Systems using Design Artefacts. Springer Science Business Media,
LLC.
Wooldridge, M. (2002) An Introduction to MultiAgent Systems. John Wiley & Sons
Ltda.
Zina, H. (2011) Test Suite Generation Process for Agent Testing, In: Indian Journal
of Computer Science and Engineering (IJCSE), v. 2, n. 2.
78

Potrebbero piacerti anche