Sistemas Distribuídos Agentes de Software 10 OUT 2003 1 Definição de agente • Um agente pode ser uma pessoa, uma máquina, ou software que actua por interposta pessoa. • Propriedades adicionais: – Autónomos: capaz de actuar sem intervenção externa directa. – Tem algum grau de autonomia e controlo do seu estado interno baseado nas suas próprias experiências. – sem a propriedade da autonomia um agente não é uma entidade dinâmica mas sim um objecto passivo, por isso a autonomia é uma propriedade requerida dos agentes. 10 OUT 2003 2 Propriedades dos agentes – Interactivo: capaz de comunicar com o ambiente ou com outros agentes. • podem expressar-se em graus de interactividade: – mensagens para objectos (invocação de métodos) (forma mais básica de interacção) – reacção a eventos observáveis no ambiente – interacções sociais (múltiplas a paralelas formas) – interacção em sistemas multiagentes heterogéneos (capazes de se coordenarem através de mecanismos cooperativos e competitivos como negociação e planeamento) (interacção mais complexa) – É considerada uma propriedade necessária 10 OUT 2003 3 Propriedades dos agentes – Adaptativos: capazes de responder a outros agentes e ao seu ambiente. • Na sua mais avançada forma permite ao agente modificar o seu comportamento baseado na sua experiência (aprendizagem e evolução). • Envolve geralmente algoritmos genéticos. • É considerada uma propriedade necessária – Proactivos: orientados a um objectivo com um propósito. Não reagem simplesmente ao ambiente. 10 OUT 2003 4 Propriedades dos agentes – Móveis: capacidade de se transportar de um ambiente para outro. • geralmente corresponde a mudar de máquina hospedeira. • pode ser visto como itinerante, dinâmico, roaming ou migrante. • Não é uma propriedade necessária. – Inteligentes: o estado é formalizado pelo conhecimento e interactua com outros agentes usando linguagem simbólica 10 OUT 2003 5 Propriedade de agentes – Racionais: capaz de escolher uma acção baseada em objectivos internos – Não previsível: capaz de agir em formas não idênticas no passado mesmo se as condições iniciais forem iguais. – Carácter: ter personalidade ou estado emocional acreditável. 10 OUT 2003 6 Propriedades dos agentes – Transparente e auditado: deve ser transparente quando requisitado e deve apresentar um relatório de actividades se pedido. – Coordenativo: capaz de executar uma actividade num ambiente partilhado por outros agentes. • actividades são geralmente coordenadas via planos, fluxos de trabalho, ou outro mecanismo de gestão de processos 10 OUT 2003 7 Propriedades de agentes – Cooperativos: capaz de se coordenar com outros agentes para atingir um propósito – Competitivo: capaz de se coordenar com outros agentes num modelo onde o sucesso de um agente implica o fracasso de outro. – Robusto: capaz de lidar com erros e dados incompletos – Confiáveis: aderem às leis da robótica 10 OUT 2003 8 Sistemas de agentes – Um agente pode ser construído para ser capaz de fazer muitas coisas mas um “fat-agent” representa um impedimento à velocidade, robustez e manutenção. – Dividir a funcionalidade entre muitos agentes fornece modularidade, flexibilidade, extensibilidade, escalabilidade e capacidade de alteração. 10 OUT 2003 9 Sistemas de agentes – Aplicações que requerem computação distribuída são suportadas melhor por MAS. – Tecnologia de agentes representa o SOA em computação distribuída. – Os ambientes MAS fornecem uma infraestrutura específica onde se integram os ambientes de funcionamento, protocolos de comunicação e interacção entre agentes 10 OUT 2003 10 Uso de agentes • Agentes para redes e gestão de sistemas – responsáveis por tarefas tais como: detecção de faltas, equilíbrio de carga. antecipação de faltas, parametrização dinâmica de redes, análise de problemas, padrões de comportamentos, síntese de informação. • Agentes para decisão e suporte logístico • Agentes de negociação e formulação de consenso. 10 OUT 2003 11 Uso de agentes • Agentes para assistência ao utilizador • Agentes para estruturas organizacionais – simulação de situações ou organizações 10 OUT 2003 12 Tecnologia de Agentes • Linguagem de Programação: Java ou C++ • Linguagem de Comunicação: KQML ou FIPA ACL • Representados como String ou documentos XML • Linguagem de conteúdo: KIF or SL1 • Maior parte dos agentes móveis são enviados pela rede usando técnicas de serialização 10 OUT 2003 13 Pontos chaves • Comunicação – Existe a necessidade de standardizar as linguagens de comunicação entre agentes (KQML, Arcol, FIPA, KIF, XML-based) para haver interoperabilidade enter diferentes fabricantes. – É necessário haver um entendimento ontológico 10 OUT 2003 14 Pontos chave • Estado interno dos agentes – Representação dos objectivos que representam desejos ou estados futuros. – Ajudam o agente a determinar que acções tomar em circunstâncias particulares – São necessários interfaces com o exterior para que o agente tenha uma representação do mundo 10 OUT 2003 15 Pontos chave • Gestão do ciclo de vida: – Devem existir mecanismos para fazer o “start”, “stop”, “manage” e “trace”. – Quando são móveis adicionam-se “permissões” para executar, actuar, ou comunicar. – Quando são evolutivos adicionam-se serviços para “delegar responsabilidades” – Podem ficar adormecidos e salvaguardados durante grandes temporadas 10 OUT 2003 16 Pontos chave • História: – Podem existir mecanismos para gravar as acções do agente para futuras auditorias e para avaliação de acções passadas • Mobilidade – requerem um servidor com o ambiente onde possam ser executados – introduzem complexidade adicional de segurança e validação do código móvel 10 OUT 2003 17 Pontos chave – introduzem complexidade na gestão: • Aonde estão? Como comunicar com eles? como trazê-los de volta quando a rede falha? – gestão de nomes torna-se essencial 10 OUT 2003 18 Arquitectura de agentes 10 OUT 2003 19 Arquitectura de agentes 10 OUT 2003 20 Arquitectura de agentes • Sistema de gestão de agentes – Mantém um directório de nomes lógicos dos agentes e seu endereço de transporte para uma plataforma de agentes – Responsável por fazer a gestão do ciclo de vida dos agentes 10 OUT 2003 21