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
Example: Dynamic properties for Organization as a Whole 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
Some simulation results 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 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 Organização Não Pode Agente B possui 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. Representando a interação Escolho o serviço de compras, quais as lojas que vendem televisões? Quais os serviços que você oferece? Lojas Americanas e Casa e Vídeo. Compras, horário de cinema e paquera ! requisitar serviços responder c/ lista informar seleção e requisitar lojas responder c/ lista © LES/PUC-Rio
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 Caso de Lei © LES/PUC-Rio
Tolerância a Falhas Análise e Monitoramento de Criticalidade em Sistemas Multiagentes Abertos Governados por Leis
Motivação Tolerância a falhas Tolerância a falhas em SMAs 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 Pode / Deve Não Pode Leis Normas (permissões, proibições e obrigações) Normas sensíveis ao tempo Restrições …. Organização A Organização B agente Papel de agente agente agente © LES/PUC-Rio
Como projetar e controlar sistemas complexos, dinâmicos e ABERTOS? Replicação adaptativa e dinâmica Monitoring Agent i Agent criticality Replication Control Interdependence and Role Analysis Interactions’ Law Analysis Activity Analysis Observation Level Interaction Events System Events Event Observation Replication DarX Server (host a) Agent i Agent Level © LES/PUC-Rio
Arquitetura Agente Monitor 1 Agente Monitor 2 Agente Monitor 4 Nível de Observação Monitor Host i Monitor Host j Agente 1 Agente 3 Controle Evento Mensagem Legendas: Nível do Agente Agente 2 Agente 4 © LES/PUC-Rio
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