PADRÕES DE PROJETO PARA SISTEMAS MULTIAGENTES Allan Lima [email protected].
Transcript of PADRÕES DE PROJETO PARA SISTEMAS MULTIAGENTES Allan Lima [email protected].
![Page 2: PADRÕES DE PROJETO PARA SISTEMAS MULTIAGENTES Allan Lima adsl@cin.ufpe.br.](https://reader036.fdocuments.net/reader036/viewer/2022062512/552fc182497959413d8f4815/html5/thumbnails/2.jpg)
Contexto
Flexibilidade Legibilidade Reuso ...
Protocolos Mobilidade Tarefas ...
Padrões de Projeto SMA
![Page 3: PADRÕES DE PROJETO PARA SISTEMAS MULTIAGENTES Allan Lima adsl@cin.ufpe.br.](https://reader036.fdocuments.net/reader036/viewer/2022062512/552fc182497959413d8f4815/html5/thumbnails/3.jpg)
Padrões de Projeto + SMA?!
Complexidade dos SMA Problemas no nível de arquitetura e
implementação Em todos os sistemas muitos problemas
similares são resolvidos de formas distintas. Por que não criar padrões de projeto
para a catalogar tais soluções?
![Page 4: PADRÕES DE PROJETO PARA SISTEMAS MULTIAGENTES Allan Lima adsl@cin.ufpe.br.](https://reader036.fdocuments.net/reader036/viewer/2022062512/552fc182497959413d8f4815/html5/thumbnails/4.jpg)
Roteiro
Visão geral dos Padrões de Projeto para Agentes Classificação Traveling Patterns Task Patterns Interaction Patterns
Exemplos de Padrões Master-Slave Meeting Itinerary
![Page 5: PADRÕES DE PROJETO PARA SISTEMAS MULTIAGENTES Allan Lima adsl@cin.ufpe.br.](https://reader036.fdocuments.net/reader036/viewer/2022062512/552fc182497959413d8f4815/html5/thumbnails/5.jpg)
VISÃO GERAL DOS PADRÕES DE PROJETO PARA AGENTES
![Page 6: PADRÕES DE PROJETO PARA SISTEMAS MULTIAGENTES Allan Lima adsl@cin.ufpe.br.](https://reader036.fdocuments.net/reader036/viewer/2022062512/552fc182497959413d8f4815/html5/thumbnails/6.jpg)
Classificação
Tipo Descrição
Traveling Trata dos aspectos para gerenciar a mobilidade dos agentes, como roteamento e qualidade do serviço
Task Trata das tarefas e como estas são delegadas para um ou mais agentes
Interaction
Concentram-se na localização e nas forma das interação
![Page 7: PADRÕES DE PROJETO PARA SISTEMAS MULTIAGENTES Allan Lima adsl@cin.ufpe.br.](https://reader036.fdocuments.net/reader036/viewer/2022062512/552fc182497959413d8f4815/html5/thumbnails/7.jpg)
Traveling Patterns
Nome Descrição
Itinerary Mantém uma lista de destinos, define o esquema de roteamento, trata casos especiais e sempre fornece o próximo destino para o agente.
Também permite guardar os caminhos evitando refazer os cálculos.
Forwarding
Provê uma forma de direcionar agentes que chegam a um local para outro automaticamente.
Ticket Baseia-se um representação mais complexa de um endereço (ticket), encapsulando informações como permissões e time to live, necessárias para despachar um agente para um local.
![Page 8: PADRÕES DE PROJETO PARA SISTEMAS MULTIAGENTES Allan Lima adsl@cin.ufpe.br.](https://reader036.fdocuments.net/reader036/viewer/2022062512/552fc182497959413d8f4815/html5/thumbnails/8.jpg)
Task Patterns
Nome Descrição
Master-Slave
Permite ao agente mestre delegar um tarefa para um agente escravo.
O mestre cria o escravo, que se move ao seu destino, realiza a tarefa e retorna com o resultado para seu mestre.
Plan Adota uma seqüência de passos para organizar múltiplas tarefas e realizá-las seqüencialmente ou de forma paralela por múltiplos agentes
![Page 9: PADRÕES DE PROJETO PARA SISTEMAS MULTIAGENTES Allan Lima adsl@cin.ufpe.br.](https://reader036.fdocuments.net/reader036/viewer/2022062512/552fc182497959413d8f4815/html5/thumbnails/9.jpg)
Interation Patterns
Nome Descrição
Meeting
Provê uma forma para dois ou mais agentes iniciar uma interação local. Abstraindo problemas como o de sincronização.
Traz o conceito de meeting place.
Locker Restringe o acesso a um determinado dado de forma temporal. Evitando o aceso a dados que não são necessários ou permitidos no momento.
Ex.: Uma modificação no estoque só pode ser feita no horário comercial.
Menos dados transferidos e integridade para o sistemaProtocolos de comunicação mais complexos
![Page 10: PADRÕES DE PROJETO PARA SISTEMAS MULTIAGENTES Allan Lima adsl@cin.ufpe.br.](https://reader036.fdocuments.net/reader036/viewer/2022062512/552fc182497959413d8f4815/html5/thumbnails/10.jpg)
Interation Patterns
Nome Descrição
Messenger Define uma mensagem como um agente, responsável por mover-se até o destinatário e entregar a informação, enquanto o agente que o enviou continua o seu trabalho normalmente
Facilitator Define um serviço de nomes e localização para os agentes.
Permite que a informação seja acessa de forma transparente, sem saber-se onde os agentes a detêm se encontram
Organized Group
Compõe grupos de agentes que viajam juntosFundamental para a colaboração
![Page 11: PADRÕES DE PROJETO PARA SISTEMAS MULTIAGENTES Allan Lima adsl@cin.ufpe.br.](https://reader036.fdocuments.net/reader036/viewer/2022062512/552fc182497959413d8f4815/html5/thumbnails/11.jpg)
EXEMPLOS DE IMPLEMENTAÇÃO DOS PADRÕES
![Page 12: PADRÕES DE PROJETO PARA SISTEMAS MULTIAGENTES Allan Lima adsl@cin.ufpe.br.](https://reader036.fdocuments.net/reader036/viewer/2022062512/552fc182497959413d8f4815/html5/thumbnails/12.jpg)
Itinerary
![Page 13: PADRÕES DE PROJETO PARA SISTEMAS MULTIAGENTES Allan Lima adsl@cin.ufpe.br.](https://reader036.fdocuments.net/reader036/viewer/2022062512/552fc182497959413d8f4815/html5/thumbnails/13.jpg)
Itinerary
![Page 14: PADRÕES DE PROJETO PARA SISTEMAS MULTIAGENTES Allan Lima adsl@cin.ufpe.br.](https://reader036.fdocuments.net/reader036/viewer/2022062512/552fc182497959413d8f4815/html5/thumbnails/14.jpg)
Meeting
![Page 15: PADRÕES DE PROJETO PARA SISTEMAS MULTIAGENTES Allan Lima adsl@cin.ufpe.br.](https://reader036.fdocuments.net/reader036/viewer/2022062512/552fc182497959413d8f4815/html5/thumbnails/15.jpg)
Meeting
![Page 16: PADRÕES DE PROJETO PARA SISTEMAS MULTIAGENTES Allan Lima adsl@cin.ufpe.br.](https://reader036.fdocuments.net/reader036/viewer/2022062512/552fc182497959413d8f4815/html5/thumbnails/16.jpg)
Master-Slave
![Page 17: PADRÕES DE PROJETO PARA SISTEMAS MULTIAGENTES Allan Lima adsl@cin.ufpe.br.](https://reader036.fdocuments.net/reader036/viewer/2022062512/552fc182497959413d8f4815/html5/thumbnails/17.jpg)
Master-Slave
![Page 18: PADRÕES DE PROJETO PARA SISTEMAS MULTIAGENTES Allan Lima adsl@cin.ufpe.br.](https://reader036.fdocuments.net/reader036/viewer/2022062512/552fc182497959413d8f4815/html5/thumbnails/18.jpg)
Master-Slave
![Page 19: PADRÕES DE PROJETO PARA SISTEMAS MULTIAGENTES Allan Lima adsl@cin.ufpe.br.](https://reader036.fdocuments.net/reader036/viewer/2022062512/552fc182497959413d8f4815/html5/thumbnails/19.jpg)
Conclusões/Avaliação Crítica Padrões para agentes podem ser úteis
para resolver diversos problemas específicos com flexibilidade.
Mas não são suficientes para desenvolver um sistema por completo.
Foco na mobilidade. Área pouco explorada, falta de
continuidade das pesquisas e poucos autores.
![Page 20: PADRÕES DE PROJETO PARA SISTEMAS MULTIAGENTES Allan Lima adsl@cin.ufpe.br.](https://reader036.fdocuments.net/reader036/viewer/2022062512/552fc182497959413d8f4815/html5/thumbnails/20.jpg)
Para Saber Mais
ARIDOR, Y. & LANGE, D. B. 1998. Agent Design Patterns.
SAUVAGE, S. 2004. Design Patterns for Multiagent Systems.
TVEIT, A. 2001. A Survey of Agent-Oriented Software Engineering.
KENDALL, E. A. et al. 1998. Patterns of Intelligent and Mobile Agents.
Material disponível em: www.cin.ufpe.br/~adsl/mestrado/cadeiras/doa/
![Page 21: PADRÕES DE PROJETO PARA SISTEMAS MULTIAGENTES Allan Lima adsl@cin.ufpe.br.](https://reader036.fdocuments.net/reader036/viewer/2022062512/552fc182497959413d8f4815/html5/thumbnails/21.jpg)
DÚVIDAS, CRÍTICAS, SUGESTÕES?
Obrigado!