sistemas multiagentes e sistemas distribuídos sensíveis ao contexto

21
Sistemas Multiagentes e Sistemas Distribuídos Sensíveis ao Contexto Aluno: Helio Henrique Lopes Costa Monte Alto R.A.: 53729

Upload: helio-henrique-monte-alto

Post on 07-Dec-2014

2.157 views

Category:

Technology


0 download

DESCRIPTION

Apresentado à disciplina de Sistemas Distribuídos, Ciência da Computação, UEM 2011

TRANSCRIPT

Page 1: 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

Page 2: Sistemas Multiagentes e Sistemas Distribuídos Sensíveis ao Contexto

Índice

• Introdução

• Agentes de software

• Sistemas multiagentes

• Agentes móveis

• Sistemas de agentes móveis

• Context awareness

• Aplicações

• Referências

Page 3: Sistemas Multiagentes e Sistemas Distribuídos Sensíveis ao Contexto

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.

Page 4: Sistemas Multiagentes e Sistemas Distribuídos Sensíveis ao 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.

Page 5: Sistemas Multiagentes e Sistemas Distribuídos Sensíveis ao Contexto

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

Page 6: Sistemas Multiagentes e Sistemas Distribuídos Sensíveis ao Contexto

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;

Page 7: Sistemas Multiagentes e Sistemas Distribuídos Sensíveis ao Contexto

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;

Page 8: Sistemas Multiagentes e Sistemas Distribuídos Sensíveis ao Contexto

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

Page 9: Sistemas Multiagentes e Sistemas Distribuídos Sensíveis ao Contexto

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

Page 10: Sistemas Multiagentes e Sistemas Distribuídos Sensíveis ao Contexto

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:

Page 11: Sistemas Multiagentes e Sistemas Distribuídos Sensíveis ao Contexto

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

Page 12: Sistemas Multiagentes e Sistemas Distribuídos Sensíveis ao Contexto

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;

Page 13: Sistemas Multiagentes e Sistemas Distribuídos Sensíveis ao Contexto

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

Page 14: Sistemas Multiagentes e Sistemas Distribuídos Sensíveis ao Contexto

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

Page 15: Sistemas Multiagentes e Sistemas Distribuídos Sensíveis ao Contexto

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

Page 16: Sistemas Multiagentes e Sistemas Distribuídos Sensíveis ao Contexto

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

Page 17: Sistemas Multiagentes e Sistemas Distribuídos Sensíveis ao 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

Page 18: Sistemas Multiagentes e Sistemas Distribuídos Sensíveis ao Contexto

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;

Page 19: Sistemas Multiagentes e Sistemas Distribuídos Sensíveis ao Contexto

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.

Page 20: Sistemas Multiagentes e Sistemas Distribuídos Sensíveis ao Contexto

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.

Page 21: Sistemas Multiagentes e Sistemas Distribuídos Sensíveis ao Contexto

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.