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