algumas propriedades de agentes são interessantes para...
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
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