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