260 likes | 411 Views
JADE – Java Agent Development Framework. Claiton Luiz Vieira Lisboa Professor: Claudio R. Geyer Disciplina: Programação com Objetos Distribuídos Programa de Pós-Graduação em Ciência da Computação Universidade Federal do Rio gande do Sul. Sumário. Introdução Objetivo Motivação Visão Geral
E N D
JADE – Java Agent Development Framework Claiton Luiz Vieira Lisboa Professor: Claudio R. Geyer Disciplina: Programação com Objetos Distribuídos Programa de Pós-Graduação em Ciência da Computação Universidade Federal do Rio gande do Sul
Sumário • Introdução • Objetivo • Motivação • Visão Geral • Comunicação • Mobilidade • Desempenho • Avaliação • Conclusão • Trabalhos Futuros • Referências
Introdução • Agent-Oriented Programming (AOP) • Inteligência Artificial • Autonomia • Pró-atividade • Capacidade de Comunicação • Sistemas Distribuídos • Agente: autonomia para tarefas complexas, tomar iniciativa de ação e se comunicar para ajudar • Exemplo: Google
Introdução • Pode ser utilizada em diversas áreas • Padronização • Arquitetura • Protocolos de Comunicação • Entre outros • Foundation Intelligent Physical Agents (FIPA) • Java Agent DEvelopment Framework (JADE)
Objetivo • Explorar JADE • AOP e JADE em outras áreas (gerenciamento)? • JADE é escalável? • Verificar como é realizado: • Comunicação • Mobilidade • Realizar testes com o JADE
Motivação • Possibilidade de usar na industria JADE e/ou AOP • Gerenciamento de produtos via SNMP • Amenizar problemas de escalabilidade e comunicação • Soluções distribuídas • Pró-atividade
Visão Geral • Middleware JADE é composto por: • Agent -> Componentes com nomes únicos • Container -> Recipientes para agentes • Plataforma -> Recursos para os agentes • Main Container -> primeiro a iniciar • AMS (Agent Management System) -> cria, remove e move agentes • DF (Directory Facilitator) -> Páginas Amarelas
Comunicação • Entre agentes • Mesmo container • Em containers de hosts diferentes • Em containers de plataformas diferentes • Message Passing (1:1, 1:n, assíncrona) • Linguagem ACL (Agent Communication Language) • Informações: Sender, Receiver(s), Communicative Act e Content
Comunicação • Troca de mensagens em Plataforma • Mesmo Container -> clona msg e passa referência ao agente • Containers diferentes -> RMI • IMTP (Internal Mensage Transport Protocol)
Comunicação • Troca de mensagens entre Plataformas diferentes • ACC (Agent Communication Channel) -> Conecta todos os containers de uma plataforma • MTPs (Message Transport Protocols) -> Corba IIOP MTP, HTTP-based MTP
Mobilidade • Agente é composto de 3 partes: • Código -> Parte executada na migração • Estado -> Dado de execução (PC e SP) • Dado -> Variáveis usadas pelo programa
Mobilidade - Processo • beforeMove() • void doMove(Location destination) • AMS (Active -> Transient) • Inicia mobilidade • Suspensão das atividades do agente • AMS (Transient -> Active) • Retorno as atividades • afterMove()
Avaliação • Troca de mensagens mais eficiente com agentes em um mesmo container • Protocolos para troca de mensagens entre plataformas tem mesmo desempenho • JADE vs RMI • JADE melhor com agentes em um container • RMI melhor com agentes em containers diferentes • Melhorar Mobilidade
Conclusão • Para troca de mensagens se mostrou escalável • Melhor na parte de mobilidade • Autonomia e Pró-atividade continuam interessando • Boa Documentação • Muitos exemplos • Possibilidade de mais trabalhos com JADE
Trabalhos Futuros • Verificar se suporta SNMP • Pesquisar a existência de trabalhos relacionados a gerenciamento de redes • Pesquisar outras plataformas e padrões AOP
Referências E.Cortese, F.Quarta and G.Vitaglione. Scalability and Performance of JADE Message Transport System Aarti Singh, Dimple Juneja, A.K. Sharma. Agent Development Toolkits. International Journal of Advancements in Technology - 2011 JADE PROGRAMMER’S GUIDE – Fabio Bellifemine, Giovanni Caire, Tiziana Trucco (TILAB S.p.A., formerly CSELT) Giovanni Rimassa (FRAMeTech s.r.l.), Roland Mungenast (PROFACTOR GmbH) - 08/04/2010 JADE 4.0 JADE ADMINISTRATOR’S GUIDE – Fabio Bellifemine, Giovanni Caire, Tiziana Trucco (TILAB S.p.A., formerly CSELT) Giovanni Rimassa (FRAMeTech s.r.l.), Roland Mungenast (PROFACTOR GmbH) - 08/04/2010 JADE 4.0 Voyager Core Developer’s Guide Version 1.1 for Voyager 8.0 – 2006-2011 http://jade.tilab.com/
Perguntas Obrigado! ???