algumas propriedades de agentes são interessantes para...

20
Uso de Sistemas Multi-Agentes para Implementação de Aplicações Sensíveis a Contexto José Viterbo Filho [email protected] Laboratory for Advanced Collaboration PUC–Rio, Brazil • Proatividade e Autonomia • Agentes podem continuar executando suas tarefas mesmo durante períodos de desconexão Motivação • Mobilidade • Agentes podem migrar entre dispositivos se houver necessidade Algumas Propriedades de Agentes são interessantes para implementação de aplicações em dispositivos móveis M. Khedr and A. Karmouch - University of Ottawa. Negotiating Context Information in Context-Aware Systems. IEEE Intelligent Systems, 2004.

Upload: truongnhu

Post on 09-Feb-2019

217 views

Category:

Documents


0 download

TRANSCRIPT

1

Uso de Sistemas Multi-Agentes para

Implementação de Aplicações

Sensíveis a Contexto

José Viterbo [email protected]

Laboratory for Advanced Collaboration

PUC–Rio, Brazil

• Proatividade e Autonomia• Agentes podem continuar executando suas

tarefas mesmo durante períodos de desconexão

Motivação

• Mobilidade• Agentes podem migrar entre dispositivos se

houver necessidade

Algumas Propriedades de Agentessão interessantes para implementaçãode aplicações em dispositivos móveis

M. Khedr and A. Karmouch - University of Ottawa.Negotiating Context Information in Context-Aware Systems.IEEE Intelligent Systems, 2004.

2

• Existem plataformas adequadas para a implementação de agentes em dispositivosportáteis

Motivação

Agentes podem ser implementados deforma leve e operar em ambientesmóveis onde os dispositivos têmrecursos computacionais limitados

H. Harroud., M. Khedr and A. Karmouch - University of Ottawa.Building Policy-Based Context-Aware Applications for Mobile Environments.Mobility Aware Technologies and Applications, MATA 2004.

• vantajoso em cenários de recursoslimitados e de aplicações eminentementedistribuídas -> computação móvel.

Motivação

Paradigma de programação permitesubdividir a aplicação em tarefasbásicas, facilitando sua distribuição

N. R. Jennings and M WooldridgeAgent-Oriented Software Engineering.Handbook of Agent Technology, 2001.

3

• Funcionalidades que serviços que exigem mais podercomputacional podem ser executados em servidores fixos

• Agentes de usuários ou de serviços associados a dispositivos específicos podem ser alocados em qualquer nócapaz de executar plataformas de agentes mais leves.

• Serviços de maior complexidade podem ser distribuídos pordiversos nós da rede fixa a fim de melhorar a performance do sistema

Motivação

Agentes podem ser distribuídos de talforma que:

M. Khedr and A. Karmouch - University of Ottawa.Negotiating Context Information in Context-Aware Systems.IEEE Intelligent Systems, 2004.

Agentes

Um agente de software é um processo

autônomo capaz de reagir e iniciar

mudanças no seu ambiente,

possivelmente em colaboração com

usuários e outros agentes

N. R. Jennings and M WooldridgeAgent-Oriented Software Engineering.Handbook of Agent Technology, 2001.

4

Agentes

Além de serem autônomos, outro

aspecto importante de agentes é que

devem ser capazes de cooperar com

outros agentes.

N. R. Jennings and M WooldridgeAgent-Oriented Software Engineering.Handbook of Agent Technology, 2001.

• A combinação de autonomia com cooperação levaà classe dos agentes colaborativos, que fazemparte de sistemas multi-agentes nos quaisbuscam atingir algum objetivo comum

Sistemas Multi-Agentes

O desenvolvimento e implementação de

sistemas multi-agentes exige

ambientes distribuídos de controle

integrado

V. Gyurjyan, D. Abbot, G. Heyes, E. Jastrzembski, C. Timmer and E WolinFIPA Agent Based Network Distributed Control System.Proc. of Computing in High Energy and Nuclear Physics, 2003.

• A FIPA (Foundation to Intelligent Physical Agents) establece a padronização de ambientes para o desenvolvimento e execução de agentes

5

Sistemas Multi-Agentes

A plataforma de agentes (AP) proposta

pela FIPA sugere os seguintes

componentes obrigatórios:

V. Gyurjyan, D. Abbot, G. Heyes, E. Jastrzembski, C. Timmer and E WolinFIPA Agent Based Network Distributed Control System.Proc. of Computing in High Energy and Nuclear Physics, 2003.

• Directory Facilitator (DF) - Fornece serviço de “páginasamarelas”.

• Agent Management System (AMS) - Provê um serviço de nomes para os agentes, e mantém um índice para todos osagentes que estão registrados em uma plataforma

• Agent Communication Channel (ACC) - É o sistema quecontrola a troca de mensagens dentro de uma plataforma

Sistemas Multi-Agentes

Especificação FIPA.

6

SMA’s X Contexto

Frameworks para desenvolvimento:

• CoBrA (Context-aware Broker Architecture)• Laboratório Ebiquity• Universidade de Maryland, Baltimore County• Prof Tim Finin, Harry Chen

• ACAI (Agent-based Context-aware Infrastructure)• Laboratório de Pesquisas em Multimídia e

Agentes Móveis (MMARL)• Universidade de Ottawa• Prof. Ahmed Karmouch e Mohamed Khedr

Context-Aware Broker Architecture• Laboratório eBiquity• Universidade de Maryland, Baltimore County• Prof Tim Finin, Harry Chen

CoBrA

7

CoBrA

Infraestrutura que visa permitir a

integração de agentes, serviços e

dispositivos que exploram informações

de contexto em espaços ativos

H. Chen, T. Finin, A. Joshi, L. Kagal, F. Perich and. D. ChakrabortyIntelligent Agents Meet the Semantic Web in Smart Spaces.IEEE Internet Computing, 2004.

• O principal componente da arquiteturaCoBrA é um agente inteligente chamadocontext broker

CoBrA

Harry ChenAn Intelligent Broker Architecture for Pervasive Context-Aware Systems.Department of Computer Science, UMBC, 2004.

• Prove um modelo comum para representaçãode contexto;

• Recebe informações de contexto de fontesinacessíveis a partir de dispositivos com recursos limitados;

• Infere dados que não são recebidosdiretamente de sensores;

• Detecta e corrige inconsistências nos dados de contexto recebidos;

• Estabelece políticas para o compartilhamentode contexto.

Context Broker

8

CoBrA

• Provê uma representação explícita do tipo de informação de contexto que o context broker é capaz de compartilhar e processar.

• Ajudar a eliminar ambigüidades com relação a informações de contexto que poderiam terdiferentes significados em implementaçõesdistintas

Outro componente básico do sistema é a Ontologia CoBrA

CoBrA

H. Chen, T. Finin and A. JoshiAn Ontology for Context-Aware Pervasive Computing Environments.Special Issue on Ontologies for Distributed Systems, Knowledge Engineering Review, 2003.

9

• Define vocabulário para descrever os eventos

referentes aos encontros de um grupo de

pesquisas em uma sala inteligente

→pessoas, agentes, lugares e eventos

relacionados a uma apresentação

• Representado em OWL, uma linguagem da Web

Semântica

Ontologia CoBrA

CoBrA

H. Chen, T. Finin and A. JoshiAn Ontology for Context-Aware Pervasive Computing Environments.Special Issue on Ontologies for Distributed Systems, Knowledge Engineering Review, 2003.

<pol:Policy rdf:about="&cobra;harrychen-policy"><pol:policyOf>

<per:Person rdf:about="http://umbc.edu/people/hchen4"><per:name rdf:datatype="&xsd;string">Harry Chen</per:name>

</per:Person></pol:policyOf><pol:defaultPolicyMode rdf:resource="&pol;RequiresExplicitPermission"/><pol:permits rdf:resource="#ShareHarryLocInfoWithEBMembers"/>

</pol:Policy>

Ontologia CoBrA

CoBrA

Harry ChenAn Intelligent Broker Architecture for Pervasive Context-Aware Systems.Department of Computer Science, UMBC, 2004.

10

Aplicação

CoBrA

• Discussão sobre uso de ontologias na

descrição de contexto

→Elaboração de uma ontologia

→Discussão sobre inferência

Contribuição

CoBrA

11

Agent-based Context-aware Infrastructure• Laboratório de Pesquisas em Multimídia e

Agentes Móveis (MMARL)• Universidade de Ottawa• Prof. Ahmed Karmouch e Mohamed Khedr

ACAI

ACAI

Visa fornecer uma infraestrutura de

apoio à execução de aplicações

multi-agentes sensíveis a contexto

• procura integrar de modo transparente, osdiferentes espaços físicos utilizados por um mesmo usuário ativo oferecendo algunsserviços básicos

M. Khedr and A. Karmouch - University of Ottawa.ACAI: Agent-Based Context-Aware Infrastructure for Spontaneous Applications.Journal of Network and Computer Applications, 2005.

12

ACAI

• Representação de contexto de maneirauniforme

• Composição, inferência e disseminação de contexto

• Protocolo de comunicação sensível a contexto

• Serviços para o gerenciamento de contexto• API’s para o desenvolvimento de aplicações

M. Khedr and A. Karmouch - University of Ottawa.ACAI: Agent-Based Context-Aware Infrastructure for Spontaneous Applications.Journal of Network and Computer Applications, 2005.

Serviços básicos:

• implementado de acordo com umaestrutura em camadas, cada uma contendomódulos responsáveis por diferentes tarefas

M. Khedr and A. Karmouch - University of Ottawa.ACAI: Agent-Based Context-Aware Infrastructure for Spontaneous Applications.Journal of Network and Computer Applications, 2005.

Permite a coleta, processamento, inferência e disseminação de informações de contexto de forma contínua e sem revelar às aplicações a complexidade envolvida em gerenciar osfornecedores de contexto heterogêneos

ACAI

13

M. Khedr and A. Karmouch - University of Ottawa.ACAI: Agent-Based Context-Aware Infrastructure for Spontaneous Applications.Journal of Network and Computer Applications, 2005.

Estrutura em camadas:

Camada de Percepção

Camada de Serviços

Camada de Aplicação

ACAI

• é responsável pela detecção, captura e aquisiçãode informações de contexto

• agentes fornecedores de contexto (CPA) encapsulam sensores fontes de contexto e capturam a informação bruta, que é interpretada e fornecida a outros agentes em um formato quepode ser compreendido

• Para efetuar a representação dessa informação de contexto na forma desejada, o CPA recorre aosserviços fornecidos pelo agente de ontologia

Camada de Percepção

M. Khedr and A. Karmouch - University of Ottawa.Negotiating Context Information in Context-Aware Systems.IEEE Intelligent Systems, 2004.

ACAI

14

• interpretação do contexto e sua estruturação

→agente de ontologia (OA)

• Dedução de informações que não estão disponíveisdiretamente a partir da primeira camada

• descoberta dos serviços disponíveis no ambiente e armazenamento, consulta e acesso de informaçõesde contexto por outros serviços

→agente de inferência (IA)

→agente de base de dados (SKBA)

M. Khedr and A. Karmouch - University of Ottawa.ACAI: Agent-Based Context-Aware Infrastructure for Spontaneous Applications.Journal of Network and Computer Applications, 2005.

Camada de Serviços

ACAI

• provê a interface entre os usuários de dispositivosmóveis e aplicações e as funcionalidades do serviço de contexto de ACAI

• permite que a informação de contexto sejanegociada com os fornecedores de contexto e acordos sobre a qualidade de contexto possam ser firmados entre fornecedores e consumidores

→agente de gerenciamento de contexto (CMA)

M. Khedr and A. Karmouch - University of Ottawa.ACAI: Agent-Based Context-Aware Infrastructure for Spontaneous Applications.Journal of Network and Computer Applications, 2005.

Camada de Aplicação

ACAI

15

• No início de sua operação, cada agente de fornecimento de contexto (CPA) deve se registrar junto ao agente de gerenciamento de contexto (CMA)

• Quando um agente de usuário (UA) se registra junto ao CMA informando os serviços que está procurando, este irá• consultar os CPA que fornecem esse tipo de contexto/serviço e

obter ofertas de fornecimento

• decidir, consultando o agente de inferência (IA), qual é o CPA que melhor se adequa a fornecer esse contexto/serviço e

• encaminhar a proposta ao UA

Interação entre agentes (1)

M. Khedr and A. Karmouch - University of Ottawa.Negotiating Context Information in Context-Aware Systems.IEEE Intelligent Systems, 2004.

ACAI

• Antes de encaminhar a proposta final para o UA, o CMA pode

solicitar a um dado CPA que reformule sua proposta, para se

aproximar da solicitação inicial

• Quando o CMA está de acordo com o formato do contexto a

ser fornecido, ele finalmente encaminha a proposta ao UA,

que passa a receber o contexto diretamente do CPA.

Interação entre agentes (2)

M. Khedr and A. Karmouch - University of Ottawa.Negotiating Context Information in Context-Aware Systems.IEEE Intelligent Systems, 2004.

ACAI

16

ACAI

• a quantidade de informações de contextodisponíveis é muito grande

• os dispositivos responsáveis pela coleta destasinformações são bem diversos

• cada consumidor de contexto pode ter interesseem informações com características distintas

• um protocolo específico:→ protocolo de negociação de qualidade de contexto (CLNP)

Negociação de qualidade de contexto

M. Khedr and A. Karmouch - University of Ottawa.Negotiating Context Information in Context-Aware Systems.IEEE Intelligent Systems, 2004.

ACAI

17

Negociação de qualidade de contexto

UA CMA CPA

ACAI

ACAI

Aplicação

18

ACAI

• Discussão qualidade de contexto e

negociação entre consumidor/produtor

→Proposta de um protocolo

• Distribuição de tarefas e análise da

interação entre agentes participantes

Contribuição

Comparação

• Ambos visam a utilização de informações de

contexto para a implementação de espaços

inteligentes, ambientes em que aplicações buscam

reagir à presença de usuários

→ informações de localização a partir de sensores de

proximidade

→perfis pessoais e regras de inferência.

• Implementaram, em particular, aplicações

voltadas para automatização de conferências

Finalidade

19

Comparação

• Ambos usam de ontologias, OWL em particular

• CoBrA procura descrever completamente o

conjunto de expressões e relações válidas para

suas aplicações

• ACAI adota uma abordagem de descrição abstrata,

que pode ser refinada para cada situação

→agentes de ontologia permitem dar maior

flexibilidade à descrição do contexto

Descrição de contexto

Comparação

• Sistemas desenvolvidos em JADE

• Protegé para descrever as ontologias e Jena para

realizar inferências para dados descritos em OWL

• Cobra utilizou Jess para implementar inferência

para dados não descritos em OWL

Ferramentas de desenvolvimento

20

Comparação

• CoBrA é completamente centralizado

• ACAI se mostrou mais funcional e melhor

estruturado que CoBrA, pois tem suas funções

distribuídas entre diversos agentes.

• Apesar de o agente CMA de ACAI centralizar toda a

negociação de contexto, ele não é responsável pelo

fornecimento do contexto, ficando menos sobrecarregado

• ACAI tem mais flexibilidade para a localização de serviços

Arquitetura

Comparação

• Aparentemente, nenhum dos sistemas dispõe de

um serviço de notificação (publish/subscribe)

• Provavelmente fica a cargo exclusivamente dos

clientes administrar o recebimento de informações

de contexto

→representa um maior custo para o cliente

Arquitetura