PADRÕES DE PROJETO PARA SISTEMAS
MULTIAGENTES
Allan Lima
adsl@cin.ufpe.br
Contexto
Flexibilidade
Legibilidade
Reuso
...
Protocolos
Mobilidade
Tarefas
...
Padrões de Projeto SMA
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?
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
VISÃO GERAL DOS
PADRÕES DE PROJETO
PARA AGENTES
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
Interactio
n Concentram-se na localização e nas forma das interação
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.
Forwardin
g 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.
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
Interation Patterns
Nome Descrição Meetin
g
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 sistema Protocolos de comunicação mais complexos
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 juntos Fundamental para a colaboração
EXEMPLOS DE
IMPLEMENTAÇÃO DOS
PADRÕES
Itinerary
Itinerary
Meeting
Meeting
Master-Slave
Master-Slave
Master-Slave
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.
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/
DÚVIDAS, CRÍTICAS, SUGESTÕES?
Obrigado!
PADRÕES DE PROJETO PARA SISTEMAS
MULTIAGENTES
Allan Lima
adsl@cin.ufpe.br