Trabalhos de Pesquisa
Andrew Diniz da Costa
[email protected]
Trabalho Realizados
2004
2006
2008
2009
Framework
ASF
© LES/PUC-Rio
2
Agent Society Framework
Introdução
• MAS-ML
• Framework para aplicar conceitos presentes na linguagem
de modelagem
– Ex: Papel, organização, ambiente ativo, etc.
• Agent Society Framework – ASF
– Criado no LES.
– Framework orientado a objetos para implementar sociedades
de agentes.
– Conceitos: agente, Papel, objetivo, organização, ambiente, etc.
© LES/PUC-Rio
4
Introdução
• Foundation for Intelligent Physical Agents - FIPA
– Organização dedicada a desenvolver especificações na área de SMA.
– FIPA compliant
• Comunicação de agentes (ACL)
• Gerenciamento de agentes
• Transporte de mensagens (MTS)
– Jade, Jadex, etc.
© LES/PUC-Rio
5
Contribuições ao ASF
• Tornar o framework FIPA compliant
– Serviço de transporte de mensagens
• 1 mensagem para 1..N receptores
– Mensagens no formato ACL (Agent Communication Language)
– Criação do supervisor AMS
•
•
•
•
Criação
Alteração
Exclusão
Buscas
– Criação de uma série de classes e interfaces
• Descrições de entidades
• Interfaces definido os estados de ciclos de vida
© LES/PUC-Rio
6
Contribuições ao ASF
• Distribuição de agentes
– Agentes na mesma ou em máquinas diferentes podem
interagir.
– Uma mensagem pode ser entregue para receptores localizados
em diferentes máquinas.
– Comunicação por socket.
– Possibilidade de criar outras formas de comunicação (hotspots).
© LES/PUC-Rio
7
Contribuições ao ASF
• Melhorias gerais
– Novo conceito de ambiente ativo;
– Entidades melhor representadas (ex: agente, organização,
etc.). Novos atributos e funcionalidades;
– Documentação completa do framework e de instâncias que
servem como exemplo.
– Site do ASF (http://www.les.inf.puc-rio.br/frameworkasf/).
Ambiente
Organizações
Agentes
Papéis
© LES/PUC-Rio
8
Diagrama de Classe
© LES/PUC-Rio
9
Comparações com frameworks SMA
• Comparações com três frameworks: Jade, Jadex e Jack.
• Diferencial do ASF
– Melhor representação do conceito sociedade de agente.
– Maior liberdade da instância em relação à restrições do
framework (Ex: política de seleção de planos).
– FIPA compliant.
– As instâncias utilizam o framework sem restrições de
orientação objeto (desenvolvimento em Java).
© LES/PUC-Rio
10
Uso do ASF
• Alunos de mestrado e doutorado
SILVA, V. T. ; DURAN, Feranda ; GUEDES, José ; LUCENA, Carlos José Pereira de . Governing Multi-Agent Systems.
Journal of the Brazilian Computer Society, v. 2 (13), p. 19-34, 2007.
© LES/PUC-Rio
11
Trabalho Realizados
2004
2006
2008
2009
ART-Testbed
MASSES
© LES/PUC-Rio
12
Agent Reputation Trust (ART) Testbed
(The finalist ZeCariocaLes)
Motivation
• The reputation concept is a complex information.
– Someone is honest or liar.
– The information supplied by someone is good or bad.
• How can the reputation help us? What are the ways?
• Use ideas of a framework created by old students of master,
José Guedes e Fernanda Duran.
• Participate of some competition.
© LES/PUC-Rio
14
Competition
• Agent Reputation Trust
(ART) Testbed
• Competition with
agents
• AAMAS Conference
• Domain: appraisals for
paintings
• Clients request
appraisals for paintings
from different eras
© LES/PUC-Rio
15
Competition
painting *
1
era
ZeCariocaLes
era1
1,0
...
era2
0,1
era9
0,5
Agent 2
Agent 1
era1
era2
...
era10
0,7
era9
era10
era1
© LES/PUC-Rio
era2
...
era9
era10
16
Competition
• It is necessary to complete the knowledge of each agent
• So, transactions with other agents should be executed.
• There are two types of transaction:
– Opinion
– Reputation
© LES/PUC-Rio
17
Transactions between agents
© LES/PUC-Rio
18
Game
• Each game has a lot of sessions. There isn’t a fix number.
• When a session finishes:
– The true value of the paintings is disclosed.
– It is verified what agent got the best appraisals.
• In the current session each agent has the following
information of the previous session:
– The true value of the paintings
– The value of each opinion supplied by other agents
– ...
• The winner is the agent that has more money in the end of
the game (the best financial administrator)
© LES/PUC-Rio
19
Lasts tests before the competition
© LES/PUC-Rio
20
Lasts tests before the competition
© LES/PUC-Rio
21
Competition
• 17 agents (1 didn’t execute) of 13 different institutions
• Two phases
– Preliminary
– Final
• Preliminary phase (May 10-11)
– 8 agents of the different institutions
– 15 agents offered by competition (5 “bad”, 5 “neutral”, 5 “bad”
dummies )
– 100 rounds
• Final phase (May 16-17)
– 5 best agents of the preliminary phase
– 15 agents offered by competition (5 “bad”, 5 “neutral”, 5 “bad”
dummies )
– 200 rounds
© LES/PUC-Rio
22
Preliminary Phase
© LES/PUC-Rio
23
Final Phase
1) Electronics & Computer Science, University of Southampton
2) Department of Math & Computer Science, The University of Tulsa
3) Department of Computer Engineering, Bogazici University
4) Agents Research Lab, University of Girona
5) Pontifícia Universidade Católica do Rio de Janeiro
© LES/PUC-Rio
24
Trabalho Realizados
2004
2006
2008
2009
ART-Testbed
MASSES
© LES/PUC-Rio
25
Multi-Agent System for Stock Exchange
Simulation
MASSES
• Domínio mais real para aplicar agentes de software
• Domínio de bolsa de valores
• Agentes são investidores da bolsa
• Cada dia é uma rodada do jogo.
© LES/PUC-Rio
27
Idéia Geral
© LES/PUC-Rio
28
Site do MASSES
© LES/PUC-Rio
29
Trabalho Realizados
2004
2006
2008
2009
DRP-MAS
© LES/PUC-Rio
30
A Hybrid Diagnostic-Recommendation
Approach for Multi-Agent Systems
Motivation
• Governance Framework
• Multi-agent systems are societies with autonomous and
heterogeneous agents, which can work together to achieve
similar or different goals.
• The reason for some agent not to achieve some goal.
• Buyer desires to buy some product from some seller.
–
If the goal was not achieved then which was the reason?
–
What to do?
© LES/PUC-Rio
32
Motivation
• Reputation concept related with diagnoses and
recommendation
• Ubiquitous Computing Systems provide several situations
that need of diagnoses and recommendations
© LES/PUC-Rio
33
Difficulties of Diagnosing and Providing Alternative
Executions
• We analyzed a set of points that deserved our attention
during the creation of the new module
1. Deciding how to analyze the execution of the agents
2. Selecting data for diagnosing
3. Determining strategies for diagnoses
4. Determining trustworthy agents
5. Determining strategies for recommendations
6. Representing profiles of agents
7. Different devices (cell phones, laptops, PDA)
•
Limitations of hardware
8. Types of connection
•
Speed of connection (56Kbps, 512Kbps, etc), IP.
© LES/PUC-Rio
34
General Idea
(2)
<<create>>
Mediator
Agent
(1)
Request name of the
Diagnosis Agent
(3)
Send the
Recommendation name
Diagnostic
Agent
(5)
Provide name of the
Diagnosis Agent
Requester
Agent
Recommendation
Agent
© LES/PUC-Rio
35
General Idea
Diagnostic
Agent
(2)
Provide diagnosis
result
(3)
Provide advices
Recommendation
Agent
Plan data
base
Requester
Agent
© LES/PUC-Rio
36
General Idea
Tipo de Diagnóstico 1
Requisita
Solicitador A
Provê
Agente
Diagnóstico A
Mediador A
Tipo de Diagnóstico 2
Agente
Diagnóstico B
Requisita
Tipo de Recomendação
Provê
Solicitador B
Mediador B
Agente
Recomendação B
Agente
Recomendação A
© LES/PUC-Rio
37
Architecture
DRP-MAS
Mediation
Diagnosis
Recommendation
Artificial Intelligence
Toolset
Reputation
Application
© LES/PUC-Rio
38
DRP-MAS (Artificial Intelligence Toolset)
Artificial Intelligence Toolset
AI DRPMAS
Forward Chaining
Inference Diagnoses
Backward
Chaining
Fuzzy Logic
API Bigus*
*Bigus, J., Bigus, J., 2001. Constructing Intelligent Agents Using Java, 2nd edition.
© LES/PUC-Rio
39
Performing Diagnosis
I/IV
• Goal: to perform diagnosis
• Such analyses are performed based on a set of information
provided by the Requester agent (application agent)
Information that can be provided:
• Goal
– The goal that was not achieved
• Plan executed
– The plan executed by the agent
• Resources:
– it may be the case that the resource could not be found, could
not used, the amount was not sufficient, …
• Profile
– The agent’s profile
© LES/PUC-Rio
40
Performing Diagnosis
II/IV
Information that can be provided:
• Quality of service
– A degree used to qualify the execution of the plan
• Partners
– The agents with whom the agent has interacted
• Services requested
– Services used by the agents
• Belief Base
– Base of Knowledge
• Devices
– Devices used by the customers.
• Connection
– Type of connection used.
© LES/PUC-Rio
41
Performing Diagnosis
III/IV
• The strategy used to make the diagnoses is a hot-spot
(flexible point)
• However, the framework provides a set of APIs* to help on
the diagnosis:
– backward chaining,
– forward chaining and
– reasoning with fuzzy logic
• The framework provide a default strategy that:
– Compares the amount of resource used and the desired one
– Analyzes the quality of the execution
*Joseph P. Bigus, Jennifer Bigus; Constructing Intelligent Agents Using Java, second edition.
© LES/PUC-Rio
42
Performing Diagnosis
IV/IV
• The diagnosis that the default strategy can provide are:
– The wrong amount of resources was used
– Several problems happened at the same time
– It was not possible to identify the problem
© LES/PUC-Rio
43
Providing Recommendations
• The Recommendation agent incorporates the process of
advising alternative ways to achieve some goal. It is
composed of three steps: (i) to select plans, (ii) to verify the
plans need for agents to request information, (iii) to choose
good agents
Selecting Plan
Verifying Selected Plans
Choosing agents
© LES/PUC-Rio
44
Scenarios used
• Translation
– Portuguese to English
• Music Market Place
– Buy cd from the name of some music.
Customer
Provider
Service
Customer
© LES/PUC-Rio
45
Conclusion
• Two versions of the DRP-MAS
– ASF + Report Framework
– Jadex + Report Framework and Fire model
• Possible Future Works
– Extend the DRP-MAS
• Extend the information set
• Define new strategies of diagnosis and recommendation
• Ubiquitous Computing
– Learning in agents
– Complex scenarios
– Etc.
© LES/PUC-Rio
46
Trabalho Realizados
2004
2006
2007
2008
2009
JADE+BDI
JAAF+T
© LES/PUC-Rio
47
Aplicabilidade do Modelo Belief-Desire-Intention
no Java Agent DEveloper Framework
Motivação
• Framework JADE não aplica o conceito BDI.
• JADEX não é uma extensão do JADE.
• JADEX e JADE são frameworks totalmente diferentes.
• Agentes JADEX e agentes JADE podem se comunicar a partir
de um middleware.
© LES/PUC-Rio
49
Contribuições
• Permitir que se use agentes baseados ou não no modelo BDI. Além
de poderem trabalhar em conjunto.
• Representar normas definam quais comportamentos são
permitidos e proibidos de serem executados pelos agentes e
organizações
• Representar organizações responsáveis por fornecer normas que
deverão ser seguidas por agentes de software.
• Permitir definir diferentes políticas de seleção de comportamentos
e objetivos para cada agente e organização.
• Manter o framework JADE sendo FIPA-Compliant.
© LES/PUC-Rio
50
Diagrama de Classes
© LES/PUC-Rio
51
Diagrama de Classes (hot-frozen spots)
© LES/PUC-Rio
52
Comparações
• Comparação com Jadex, Jack, Jason, ASF.
• Principais vantagens do JADE+BDI
– FIPA compliant
– Representa BDI
– Aplica mobilidade de agentes
• Vantagens de outros frameworks
– Oferece suporte para organizações e agentes usando o modelo
Moise+
– Trabalha com AgentSpeak e Java
© LES/PUC-Rio
53
Considerações Finais
• Estudo de caso Virtual Market Place.
• JADE+BDI ainda não foi utilizado por outros alunos.
• Trabalhos Futuros:
– Melhorar a representação de organizações e normas.
– Aplicar o conceito de papel.
– Disponibilizar framework para uso
– Escrever artigo sobre extensão realizada.
© LES/PUC-Rio
54
Trabalho Realizados
2004
2006
2007
2008
2009
JADE+BDI
JAAF+T
© LES/PUC-Rio
55
JAAF+T: A Framework to Implement SelfAdaptive Agents that Apply Self-Test
Motivation
• Self-adaptive systems become one of the main focal points
of software engineers.
• Several approaches describing how systems can perform
self-adaptation have been investigated.
• It is necessary to test the adapted behavior by investigating
its compliance with the new environment requirements at
runtime.
© LES/PUC-Rio
57
Motivation
• The main problems of the approaches that test the adapted
behavior at runtime are the following:
– it is not possible to define different input data to be used and
output assertions to be checked by the tests
– be useful when analyzing the results of the performed tests,
different log formats cannot be defined
– the self-test activity that such approaches use is specifically
defined to a given self-adaptation process.
© LES/PUC-Rio
58
Goal
• The goal of the presentation is to present an extension of
the Java self-Adaptive Agent Framework (JAAF)to apply the
self-test.
• We proposed a new control-loop
• A new activity of test is provided
© LES/PUC-Rio
59
New Control Loop with Test Activity
Self-adaptation
Layer
Test
Decision
Analyze
Collect
Effector
Application
Application
Layer
© LES/PUC-Rio
60
Classes related with
Test Activity
Classes related with Decision Activity
Class related with
Analyze Activity
Class related with Effector Activity
Classes related with Collect activity
© LES/PUC-Rio
61
Test Activity
• The test activity is composed of four steps
– In this step the application designer should relate the actions of
the agent to the test cases used to test such actions. In order
to define the possible test cases that will be executed, the Test
Definition Language (TDL) was created.
© LES/PUC-Rio
62
Test Activity
– The next step defines the data to be used as input data and
output assertions while testing the actions. In order to make
the definition of such data possible, the Quality Definition
Language (QDL) was defined.
© LES/PUC-Rio
63
Test Activity
– After relating the test cases and the actions, and also defining
the related data, the tests can be executed when requested by
the decision activity. Therefore, the third step of the test
activity executes the test per se.
• Different types of test can be executed, such as, unit test,
functional test, performance test, etc.
• Nowadays, the framework already provides two types of
executions: using JUnit and DBUnit API for unit tests
– In the sequence, it is time to generate the output logs with the
resThese logs will be used by the decision activity in order to
decide whether to execute the action or choose another one.
ults of the executed test.
© LES/PUC-Rio
64
Test Activity
• In order to use the test activity in another control loops, it is
only necessary to:
– Define the input and output assertions at design time by using
QDL
– Define at design time the types of logs that can be used to
format the feedback provided by the test activity by using TDL
– Inform at design time the test cases that will be used to test
actions by providing a TDL file
– Implement an activity able to analyze at runtime the logs
provided by the test activity. The framework provides as default
the Decision class that can be straightforwardly used by the
application instance of the framework.
– Call the test activity by providing the action that will be tested.
© LES/PUC-Rio
65
Case Study: Creation of Susceptibility Maps
© LES/PUC-Rio
66
Final Considerations
• Continue studying and proposing approaches that applying
self-test concept.
• Writing paper about JAAF-ST
– Self-adaptation + services + self-test
© LES/PUC-Rio
67
Referências
•
COSTA, Andrew Diniz da ; SILVA, Viviane Torres da ; LUCENA, Carlos J P .
Computing Reputation in the Art Context: Agent Design to Handle
Negotiation Challenges. In: Workshop Trust in Agent Societies, in the
Seventh International Conference on Autonomous Agents and Multiagent
Systems (AAMAS 2008), 2009, Estoril. Proceedigs of the Seventh
International Conference on Autonomous Agents and Multiagent Systems
(AAMAS 2008), 2009.
•
COSTA, Andrew Diniz da ; LUCENA, Carlos J P ; SILVA, Viviane Torres da ;
AZEVEDO, S. C. ; AZEVEDO, F. . Art Competition: Agent Designs to Handle
Negotiation Challenges. In: Falcone, R.; Barber, S.K.; Sabater-Mir, J.;
Singh, M.P. (Org.). (Org.). Trust in Agent Society (TRUST@AAMAS 2008
post-proceedings). Berlim: Springer-Verlag, 2008, v. 5396, p. 244-272.
•
S. NETO, B. F. ; COSTA, Andrew Diniz da ; NETTO, M. T. A. ; SILVA, Viviane
Torres da ; LUCENA, Carlos J P . A Framework to Implement Self-Adaptive
Agents. In: International Conference on Software Engineering and
Knowledge Engineering, 2009, Boston. Proceedings of the 21th
International Conference on Software Engineering and Knowledge
Engineering (SEKE 09), 2009.
© LES/PUC-Rio
68
Referências
• S. NETO, B. F. ; COSTA, Andrew Diniz da ; SILVA, Viviane Torres da
; LUCENA, Carlos J P . JAAF-S: A Framework to Implement
Autonomic Agents Able to Deal with Web Services. In: The 4th
International Conference on Software and Data Technologies
(ICSOFT 2009), 2009, Sofia. Proceedings of the 4th International
Conference on Software and Data Technologies (ICSOFT 2009),
2009.
• COSTA, Andrew Diniz da ; SILVA, Viviane Torres da ; ALENCAR, P ;
LUCENA, Carlos J P . A Hybrid Diagnostic-Recommendation System
for Agent Execution in Multi-Agent Systems. In: ICSOFT-2008,
2008, Porto. Proceedings of the ICSOFT-2008, 2008.
• COSTA, Andrew Diniz da ; Nunes, C.; SILVA, Viviane Torres da; S.
NETO, B. F.; LUCENA, Carlos J P . JAAF+T: A Framework to
Implement Self-Adaptive Agents that Apply Self-Test. In: The 25th
Symposium On Applied Computing (SAC 2010), Switzerland,
2010.
© LES/PUC-Rio
69
Referências
•
AZEVEDO, S. C. ; NETTO, M. T. A. ; COSTA, Andrew Diniz da ; Borsato, B.;
LUCENA, Carlos J P . Multi-Agent System for Stock Exchange Simulation
MASSES. In: IV Workshop on Software Engineering for Agent-oriented
Systems (SEAS 2008), 2008, Campinas. Anais do SEAS 2008, 2008.
•
COSTA, Andrew Diniz da ; SILVA, Viviane Torres da ; ALENCAR, P ;
LUCENA, Carlos J P ; Donald, D. . A Hybrid Diagnostic-Recommendation
System for Agent Execution Applied to Ubiquitous Computing Systems. In:
IV Workshop on Software Engineering for Agent-oriented Systems (SEAS
2008), 2008, Campinas. Anais do SEAS 2008, 2008.
•
COSTA, Andrew Diniz da ; AZEVEDO, F. ; AZEVEDO, S. C. ; SILVA, Viviane
Torres da ; LUCENA, Carlos J P . Zé Carioca LES - Agent Reputation Trust
(ART) testbed. In: Third Workshop on Software Engineering for AgentOriented Systems (III SEAS), 2007, João Pessoa. Anais do III Workshop on
Software Engineering for Agent-Oriented Systems (SEAS), 2007.
© LES/PUC-Rio
70
The End
Download

AndrewResumoTrabalho2009.2 - (LES) da PUC-Rio