PADRÕES DE PROJETO PARA
SISTEMAS MULTIAGENTES
Allan Lima
[email protected]
Contexto
Padrões de Projeto




Flexibilidade
Legibilidade
Reuso
...
SMA




Protocolos
Mobilidade
Tarefas
...
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
Interaction
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.
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.
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
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 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
[email protected]
Download

Design Patterns para Sistemas Multiagentes