Sistemas Multiagentes e Sistemas Distribuídos Sensíveis ao Contexto
-
Upload
helio-henrique-monte-alto -
Category
Technology
-
view
2.157 -
download
0
description
Transcript of Sistemas Multiagentes e Sistemas Distribuídos Sensíveis ao Contexto
Sistemas Multiagentes e Sistemas Distribuídos Sensíveis ao Contexto Aluno: Helio Henrique Lopes Costa Monte Alto
R.A.: 53729
Índice
• Introdução
• Agentes de software
• Sistemas multiagentes
• Agentes móveis
• Sistemas de agentes móveis
• Context awareness
• Aplicações
• Referências
Introdução
• A abordagem multiagente vem sendo considerada adequada para lidar com sistemas que são compostos de muitos elementos, provavelmente distribuídos.
• Em relação à colaboração entre as entidades envolvidas em um ambiente distribuído, uma abordagem ideal é que elas sejam capazes de perceber o contexto no qual estão inseridas, isto é, que elas façam parte de um ambiente que seja sensível ao seu contexto.
Agentes de software
• Entidades de software que possuem como principais características:
• Autonomia
• Habilidade social
• Reatividade
• Pró-atividade
• Além destas características, agentes são comumente idealizados e implementados utilizando-se conceitos atribuídos a humanos, como conhecimento, crença, intenção e obrigação.
Sistemas multiagentes
• Sistema onde dois ou mais agentes interagem entre si e trabalham cooperativamente a fim de atingir seus objetivos;
• Principais características:
• Paralelismo
• Escalabilidade
• Divisão em problemas menores
Sistemas multiagentes
• Comunicação entre agentes
• Protocolos de comunicação • Geralmente são especificados em vários níveis
• Ex: 1.Métodos de interconexão; 2. Sintaxe da informação; 3. Semântica da informação;
• Linguagem comum entre agentes • Ex: FIPA ACL – Agent Communication Language;
• Ontologias;
• Estratégias: • Troca de mensagens (principalmente assíncronas);
• Blackboard • menos privacidade e eficácia; mais difícil de distribuir; preocupação com
mecanismos de sincronização de agentes;
Sistemas multiagentes
• Cooperação entre agentes
• Ações coordenadas (dependências entre ações) a fim de atingir objetivos do sistema (tanto objetivos individuais quanto globais);
• Formas de cooperação:
• Partilha de resultados;
• Partilha de tarefas – balanceamento de carga computacional;
Sistemas multiagentes
• Coodernação • Gerenciamento de agentes – Plataforma de agentes (PA) (FIPA*,
2008);
*Foundation for Intelligent Physical Agents: entidade que visa a definir padrões para construção de agentes
Sistemas multiagentes
• Principais infraestruturas (ambientes / frameworks) existentes:
• JADE
• Segue especificações FIPA. Oferece: API, middleware, mobilidade, ferramentas gráficas, etc.; ciclo de vida é orientado a comportamentos;
• SemantiCore
• Segue especificações FIPA; foco em aplicações para Web Semântica; agentes são estruturados em componentes, que definem seu ciclo de vida;
• OpenCybele
• MadKit
Agentes móveis
• Evolução do conceito de código móvel;
• Agentes que podem se locomover de um dispositivo para o outro através da rede;
• Estrutura interna de um agente móvel:
Sistemas de agentes móveis
• Tipos primários de migração:
• Forte: mobilidade de código, dados e estado • Migrar estado através do acesso a parâmetros internos da
execução (ex.: pilha de execução);
• Agente implementado como autômato finito;
• Representação ontológica dos agentes (utilizado na plataforma SemantiCore);
• Fraca: migração apenas de código e dados • Muito mais simples
Sistemas de agentes móveis
• Vantagens:
• AM evitam sobrecarga de rede • Partes de uma comunicação podem ser empacotadas e
enviadas para o outro local, onde as interações ocorrerão;
• AM superam a latência da rede; • Para sistemas que devem responder em tempo real, a latência da
rede não é aceitável;
• Agentes podem se mover para o local e executar diretamente;
• AM encapsulam protocolos;
Sistemas de agentes móveis
• Vantagens:
• AM podem executar assíncrona e autonomamente • Ex: em dispositivos móveis que dependem de redes frágeis (ex: wi-fi)
tarefas podem se atribuídas a agentes móveis, que são enviados pela rede, tornando-se independentes;
• AM podem perceber seu ambiente e reagir a mudanças
• AM são naturalmente heterogêneos
• Tornam mais fácil a construção de sistemas robustos e tolerantes a falhas • Ex: se uma máquina está sendo desligada, agentes percebem isso e
migram para outro local
Sistemas de agentes móveis
• Desvantagens e riscos
• Escalabilidade e desempenho • Agentes reduzem carga da rede, mas aumentam o
processamento local
• Portabilidade e padronização
• Segurança • Masquerading
• Denegação de serviço
• Acesso não autorizado
Sistemas de agentes móveis
• Paradigma cliente/servidor: comunicação exige conexão contínua entre hosts; pouca flexibilidade;
• Agentes móveis: mais tolerante a falhas de conexão; permite comportamento autônomo; exige mais cuidados com segurança;
• Modelos híbridos: C/A/S, C/I/S
Context awareness • Sistemas sensíveis ao contexto
• Contexto = informações do ambiente
• Raciocínio sobre o contexto: permite adaptabilidade do ambiente e assistência a tarefas
• Principais atividades: percepção e processamento (interpretação) de informações de contexto
Context awareness
• Exemplos de informações de contexto:
• especificações do usuário (perfil), dispositivo e requisitos de aplicação;
• medidas quantificáveis no ambiente;
• Técnicas de representação de contexto:
• Par chave-valor
• Linguagens de marcação
• Mapas de tópicos
• Ontologia
• Modelos gráficos
Context awareness
• Ontologias: representação mais adequada
i. Linguagens de representação de conhecimento (ex: RDF e OWL);
ii. Representação semântica explícita, que pode ser inferida por motores de inferência;
iii. RDF e OWL podem ser usados para comunicação e compartilhamento de conhecimento entre agentes;
• Demais modelos têm estendibilidade e interoperabilidade limitados
• Nem todo agente é capaz de usá-los ou entender a informação neles contida;
Context awareness
• Agentes e context awareness:
• Agentes podem perceber o ambiente e agir nele de acordo com o contexto;
• Agentes podem causar mudanças no contexto;
• Agentes podem se locomover através de nós em um sistema distribuído (no caso de sistemas distribuídos sensíveis ao contexto);
• Agentes podem ter comportamento semelhante a humanos: podem ser móveis e inteligentes, e devem usar os recursos disponíveis dinamicamente e tomar decisões de acordo com a situação.
Aplicações
• Sistemas pervasivos / ubíquos • Requerem tolerância a falhas nas transações em redes sem-fio;
• Devem evitar sobrecarga de rede e reagir a situações desfavoráveis;
• Sistemas pervasivos devem ser sensíveis ao contexto: devem estar cientes de seus ambientes e recursos, devem detectar mudanças no ambiente e devem adaptar suas funcionalidades e comportamentos às mudanças;
• Computação móvel • Tolerância a falhas de rede; integração com sistemas pervasivos;
• Web semântica • Interação peer-to-peer entre Web browsers e servidores Web;
• Apresentação de conteúdo semântico e fornecimento de serviços Web inteligentes.
Referências
• Biasão, A. B. Um mecanismo de processamento de informações contextuais em um ambiente de desenvolvimento distribuído de software. Dissertação de mestrado. Universidade Estadual de Maringá. 2011.
• Braun, P., Rossak, W. Mobile Agents: Basic Concepts, Mobility Models, & The Tracy Toolkit. Morgan Kaufmann Publishers and dpunkt.verlag, 2005.
• FIPA Web Site, disponível em “http://www.fipa.org.br”, 2009. • Fuggeta, A.; Picco, G. P.; Vigna, G. Understanding Code Mobility. IEEE
Transactions on Software Engineering. Vol.24, num. 5, May 1998. • Lange, D. B.; Oshima, M. Seven Good Reasons for Mobile Agents.
Communications Of The ACM, March 1999/Vol. 42, No. 3, pg. 88/89. • Monte Alto, H. H. L. C. Estudo de Mobilidade de Agentes em Sistemas
Sensíveis ao Contexto. Relatório técnico, Universidade Estadual de Maringá, 2010.
• Wooldridge, M., Jennings, N. R. Intelligent Agents: Theory and Practice. Knowledge Engineering Review, Reino Unido, 1995.
• Zaslavsky, A. Mobile Agents: Can They Assist with Context Awareness?. Proceedings of the 2004 IEEE International Conference on Mobile Data Management (MDM’04). 2004.