Sistemas Multi-Agentes
Exemplos
Domínios de Aplicação
•
•
•
•
•
•
Gestão do conhecimento
Apoio à tomada de decisão
Educação a Distância
Software Embarcado
Aplicações em Dispositivos Móveis
Simulação/Jogos
– Análise de comportamento emergente
– Treinamentos
• Aplicações Financeiras
– Negociações
– Leilão
• Data warehouse e Data mining
• Gerenciamento de Cadeia de Suprimentos
• Agentes para Medicina
– Biologia computacional, bioinformática
• ...
© LES/PUC-Rio
Exemplo 1: TAC Classic
© LES/PUC-Rio
Exemplo 2: TAC SCM
© LES/PUC-Rio
Exemplo 4: Agente de reputação
para ART Testbed
• Agentes devem escolher com quem interagir
• Objetivo de capacitar os agentes a fazer a escolha correta
• Comparações de diferentes estratégias
© LES/PUC-Rio
Exemplo 5: Immune System Modelling with Situated
Cellular Agents
• The IS (Immune System) constitutes the defence
mechanism of higher level organisms to micro organismic
threats.
– Distributed system
– Adaptation
– Cooperation
– Heteregeneous autonomous entities
– Learning
• The IS helps to find out novel and more effective security
models, e.g., for mobile autonomous agents.
© LES/PUC-Rio
Exemplo 5: Immune System Modelling with Situated
Cellular Agents
• Situated Cellular Agents (SCA) Model
– Represents elements and mechanism of the IS
– Allows a more detailed representation of the interaction
between entities
– IS mobile entities
• Antibodies
• B lymphocytes
• T lymphocytes
• Antigen
– IS entities
• Blood
• Lymph nodes
• Tissues
• Membranes
© LES/PUC-Rio
Exemplo 6: modeling molecular self-organization
• The application to molecular self-assembly:
– Given N molecules, what is the lowest-energy organized
structure that they can form?
• The goal is to achieve optimal aggregates in the process of
self-assembly with less computational effort than MC
simulations.
© LES/PUC-Rio
Exemplo 6: modeling molecular self-organization
• The test-bed
– Cell interactions are nearest-neighbor only
– repulsion/attraction
– Possible shapes:
• Two cells are neutral, one is positive, and one is negative
• All four are neutral
red, neutral; blue, positive; black, negative.
© LES/PUC-Rio
Exemplo 6: modeling molecular self-organization
• The algorithm
– Agent: a molecule or group of molecules
– 1) move to a new position
• Stochastically
– 2) merge with another agent
• Deterministically
– 3) or, split into two different agents
• Learning/adaptation mechanism
© LES/PUC-Rio
Exemplo 6: modeling molecular self-organization
© LES/PUC-Rio
Exemplo 7: Modelling the Dynamics of Intracellular
Processes as Organization of Multiple Agents
• AGR + TTL
• E.coli
© LES/PUC-Rio
Exemplo 7: Modelling the Dynamics of Intracellular
Processes as Organization of Multiple Agents
• Example: Dynamic properties for Organization as a Whole
© LES/PUC-Rio
Exemplo 7: Modelling the Dynamics of Intracellular
Processes as Organization of Multiple Agents
• Diagnosis
– a software environment can automatically check whether such
properties hold for a given (empirical or simulated) trace over
time for the dynamics of an organization.
– E.g., diagnosis of dysfunction within an organization.
© LES/PUC-Rio
Exemplo 7: Modelling the Dynamics of Intracellular
Processes as Organization of Multiple Agents
• Some simulation results
© LES/PUC-Rio
Exemplo 8: Mitochondria in Silico Project
• Simulation of mitochodrial metabolism
– respiratory chain reactions
© LES/PUC-Rio
Exemplo 8: Mitochondria in Silico Project
A: abstracted 3D structure. B: application to a phospholipid
© LES/PUC-Rio
Outros Exemplos
•
Agentes para sistemas de métricas
– Coleta, Avaliação, Apresentação para o Usuário
•
Agentes para gerência de ordens de serviço
– Organização, Escalonamento e Negociação de ordens de serviço
•
Agentes para gerência de compromissos
– Agendamento, Estratégia de Negociação, Lembretes
•
Agentes para gerenciamento de tráfego
– Informação de melhores caminhos
•
Agentes para Sistemas de Geoprocessamento
– SIG
•
Agentes Context-Aware
– PDA, Palm, celular...
•
Agentes para Sistemas Autonômicos
– Configuração automática dos parâmetros de servidores Web
– Aplicações de Diagnósticos de Servidores
– Administração do sistema (utilização de CPU, workload, utilização do disco...)
© LES/PUC-Rio
Jade:
Java Agent Development Framework
• Jade é um middleware para o desenvolvimento de sistemas
multi-agentes
• Inclui
– Um ambiente de execução onde os agentes JADE "vivem" e que
deve estar ativo em um host antes que um agente possa ser
executado
– Uma biblioteca de classes que programadores podem usar para
desenvolver agentes
– Um conjunto de ferramentas gráficas que permite a
administração e o monitoramento das atividades dos agentes
em execução
© LES/PUC-Rio
Jade:
Java Agent Development Framework
• Implementa o modelo de infraestrutura FIPA com registro,
páginas amarelas e mecanismo de envio de mensagens
• Abordagem orientada a tarefas: o comportamento dos
agentes é decomposto em pedaços menores (Behaviour)
que são adicionados ao agente quando necessário
© LES/PUC-Rio
Contêiner e Plataforma
• Contêiner
– Instância de um ambiente
Jade
– É onde os agentes executam
– Ao iniciar o Jade, um
MainContainer é criado
• Plataforma
– Conjunto de contêineres
ativos
© LES/PUC-Rio
A Plataforma
• O Jade segue o modelo da FIPA (Foundation for Intelligent
Physical Agents)
© LES/PUC-Rio
A Execução de um Agente
© LES/PUC-Rio
Engenharia de software para a utilização de leis de
interação em sistemas multiagentes abertos
Grupo E-Governance
http://web.teccomm.les.inf.puc-rio.br/index.php/E-Governance
Sistemas Abertos
• Incerteza
– Agentes podem entrar e sair do sistema a qualquer momento
– Agentes podem fornecer respostas diferentes a uma mesma
requisição
– Agentes desenvolvidos por diferentes equipes, diferentes
objetivos, provavelmente desconhecidos a priori.
– Comportamento global = emerge da união dos
comportamentos dos agentes
• Comportamento emergente & Incerteza ? Imprevisibilidade
nociva
– Imprevisibilidade: tendência de mudanças repentinas sem
nenhuma razão aparente.
– Imprevisibilidade  falhas no software
• É preciso controlar esta imprevisibilidade
© LES/PUC-Rio
Governança usando Leis
• Objetivos gerais
– Garantir que o comportamento de um SMA aberto exibam as
propriedades desejadas
– Aumentar a confiança entre os agentes
• Como isso é alcançado?
– Especificação de leis que ditam o que a sociedade (de agentes)
espera de seus membros
© LES/PUC-Rio
Características
• O aspectos internos dos agentes não são acessíveis
– Não é possível modificá-los para torná-los compatíveis com as
leis do sistema
• Como projetar mecanismos para que as leis tenham impacto
na execução do sistema sem acesso aos agentes?
• Qual o impacto das leis no desenvolvimento dos agentes?
• Os agentes tomam suas decisões baseando-se nas leis que
existem?
© LES/PUC-Rio
Onde entra a engenharia de software?
© LES/PUC-Rio
O problema – Engenharia de Software
• Com o avanço adoção das abordagens de governança, surge
a necessidade de técnicas e ferramentas que tornem o
seu uso mais produtivo e controlado.
© LES/PUC-Rio
Agora o título ficou mais claro
• Engenharia de software para a utilização de leis de
interação em sistemas multi-agentes abertos
© LES/PUC-Rio
O que tem sido feito no LES?
• XMLaw
• Reputação
• Ontologias
• …
© LES/PUC-Rio
XMLaw
Site do Projeto:
http://web.teccomm.les.inf.puc-rio.br/index.php/XMLaw__Governing_Software_Agents
A Abordagem de Leis
Leis
Pode / Deve
possui
Não Pode
Organização
Agente B
Agente A
interação
© LES/PUC-Rio
O Modelo Conceitual
• Conjunto de conceitos para representar as interações
© LES/PUC-Rio
Exemplo: Protocolo de Interação
• Alternativas de interação que os agentes podem seguir.
Escolho
Quais os
o serviço
Lojas
Compras,
de
serviços
compras,
queAmericanas
quais
horário dee
vocêasoferece?
lojas que
Casa
e Vídeo.
cinema
e
vendem televisões?
paquera !
• Representando a interação
requisitar
serviços
responder
c/ lista
informar
seleção e
requisitar
lojas
© LES/PUC-Rio
responder
c/ lista
Trabalhos em andamento
• Técnicas de engenharia para
– Reutilização das leis
– Verificação da qualidade
– Método que guie o desenvolvimento através das várias etapas
e ferramentas
• Requisitos
• Projeto
• Implementação
• Testes
© LES/PUC-Rio
Trabalhos em andamento
• Formalização do modelo do XMLAw
• Desenvolvimento da ferramenta de especificação gráfica das
leis
• Integração da formalização do modelo a ferramenta de
especificação gráfica.
• Desenvolvimento da ferramenta de monitoramento das leis.
• Manutenibilidade de frameworks de governança que utilizam
XMLaw
© LES/PUC-Rio
Preocupações referentes a Frameworks de
Governança
• Um framework de governança deve ter uma descrição clara
referente a decisões de projeto (reuso e requisitos). Isto
visa facilitar:
– Entendimento do projeto (Granularidade Alta – Visão geral)
– Entendimento dos pontos de flexibilização (Granularidade
baixa)
– Entendimento da correlação entre requisitos identificados e a
decisão por pontos de flexibilização (Casos de leis)
Framework
Ponto de
Flexibilização
© LES/PUC-Rio
Caso de Lei
Tolerância a Falhas
Análise e Monitoramento de Criticalidade em
Sistemas Multiagentes Abertos
Governados por Leis
Motivação
• Tolerância a falhas
– Geralmente implementada com detecção de erros e
recuperação do sistema
• Tolerância a falhas em SMAs
– Replicação de Agentes
– O grau de replicação do agente depende basicamente da
criticalidade do agente
© LES/PUC-Rio
Definição Intuitiva
A criticalidade de um agente significa o quão importante um
agente é para o sistema (ou outros agentes), isto é, qual o
potencial impacto que um agente defeituoso pode causar.
© LES/PUC-Rio
Arquitetura Conceitual XMLaw
Leis
Pode / Deve
Não Pode
Normas (permissões, proibições e obrigações)
Normas sensíveis ao tempo
Restrições
….
Organização A
Organização B
Papel de agente
agente
agente
© LES/PUC-Rio
agente
Como projetar e controlar sistemas
complexos, dinâmicos e ABERTOS?
• Replicação adaptativa e dinâmica
Monitoring Agent i
DarX Server
(host a)
Event Observation
Agent i
© LES/PUC-Rio
Observation Level
Replication
System Events
Agent Level
Interaction Events
Activity Analysis
Interdependence
and Role Analysis
Replication
Control
Interactions’ Law
Analysis
Agent criticality
Arquitetura
Nível do Agente
Nível de Observação
Agente Monitor 1
Agente Monitor 2
Agente Monitor 4
Monitor Host i
Agente 1
Legendas:
Agente 3
Agente 2
Monitor Host j
Agente 4
© LES/PUC-Rio
Controle
Evento
Mensagem
Framework de Governança Baseada em
Testemunhos, Julgamento e Reputação
Framework de Governança
• Framework para o Cálculo de Reputações de agentes de
software baseado em Testemunhos
© LES/PUC-Rio
FIM
Download

Engenharia de Software - (LES) da PUC-Rio