Estudo de técnicas de persistência e acesso concorrente a ontologias

1.284 visualizações

Publicada em

0 comentários
1 gostou
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
1.284
No SlideShare
0
A partir de incorporações
0
Número de incorporações
2
Ações
Compartilhamentos
0
Downloads
19
Comentários
0
Gostaram
1
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Estudo de técnicas de persistência e acesso concorrente a ontologias

  1. 1. Estudo de técnicas depersistência e acessoconcorrente a ontologiasTrabalho de graduaçãoHelio Henrique Lopes Costa Monte AltoOrientadora: Elisa Hatsue Moriya Huzita
  2. 2. Tópicos• Introdução e apresentação do problema• Revisão bibliográfica• Armazenamento de ontologias• Arquitetura• Conclusões e trabalhos futuros
  3. 3. INTRODUÇÃO E APRESENTAÇÃO DOPROBLEMA
  4. 4. Introdução• Novas abordagens para projetar e construir software de natureza complexa e distribuída: • Sistemas multiagentes (SMA) • Ontologias• Construção de sistemas inteligentes • Ex: sistemas sensíveis ao contexto; aplicações para web semântica; sistemas colaborativos; etc.
  5. 5. SMAs e ontologias• Agentes devem interagir entre si e com o ambiente a fim de obter o conhecimento necessário para tomar decisões e agir;• Solução: ontologias; • Representação e compartilhamento de conhecimento; • Comunicação; • Raciocínio lógico e dedutivo (processos de inferência);
  6. 6. Apresentação do problema• A instanciação de uma ontologia constitui uma base de conhecimento (BC);• Supondo que haja uma BC centralizada, os agentes devem acessar e manipular o conhecimento nessas bases;• A BC deve ser persistida para que o conhecimento não seja perdido;• Problemas: • Como persistir a BC? • Como controlar o acesso e a atualização concorrente à BC de modo a não gerar inconsistências? • Como garantir que os diversos agentes da aplicação possuam o conhecimento necessário atualizado?
  7. 7. Proposta• Objetivo geral: investigar mecanismos e técnicas que possibilitem o armazenamento persistente e o acesso concorrente a ontologias por meio de agentes de software;• Objetivos específicos: • Explorar os principais conceitos e tecnologias existentes sobre agentes e ontologias, principalmente no que tange à persistência de ontologias e ao acesso concorrente; • Construir um protótipo de aplicação para exemplificar o uso das técnicas encontradas para tratamento de persistência e acesso concorrente a ontologias, utilizando agentes de software.
  8. 8. REVISÃO BIBLIOGRÁFICA
  9. 9. Agentes de software• Entidades de software que possuem como principais características: • Autonomia • Habilidade social • Reatividade • Pró-atividade• Conceitos atribuídos a humanos: conhecimento, crença, intenção e obrigação (WOOLDRIDGE; JENNINGS, 1995).• Agentes lógicos (ou agentes baseados em conhecimento) (RUSSEL; NORVIG, 2003)
  10. 10. 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• Infraestruturas de apoio à construção de SMAs: • SemantiCore • JADE
  11. 11. Ontologias• Conjunto de definições de conceitos, propriedades, relações, restrições, axiomas, processos e eventos que descrevem certo domínio de discurso (FREITAS et al., 2005);• Ferramentas de suporte a ontologias: • Frameworks de manipulação e armazenamento de ontologias: Jena e Sesame • Editores de ontologias: Protégé • Linguagens de consulta e atualização de ontologias: SPARQL ; • Motores de inferência: Pellet; mecanismo de inferência do Jena;
  12. 12. Lógicas de Descrição (DL)• Principal formalismo para a construção de ontologias;• Representação de um domínio de aplicação (um mundo)• Divididas em duas partes • Tbox: conhecimento intencional • Abox: conhecimento extensional
  13. 13. Resource Description Framework(RDF)• Linguagem declarativa para metadados (descrição de recursos)• Modelo RDF: tripla <S,P,O> (sujeito, predicado, objeto)• Conjunto de triplas RDF: grafo RDF• RDF Schema (RDFS) • Linguagem de ontologias • Classes, domínio e imagem, conjuntos, etc.
  14. 14. Web Ontology Language (OWL)• Linguagem de ontologias• Baseada em RDF e RDFS• Construções baseadas em DL: maior poder de expressividade • Ex: restrições, enumerações e operadores de conjunto• OWL 1 possui três dialetos: • OWL Lite • OWL DL * • OWL Full• OWL 2: extensão da OWL, também possui 3 sublinguagens: OWL 2 EL, OWL 2 QL e OWL 2 RL
  15. 15. ARMAZENAMENTO DE ONTOLOGIAS
  16. 16. Visão geral• Duas abordagens: formatos de serialização e repositórios semânticos (triple stores) • Formatos de serialização • Arquivos de texto • Troca de informações na Web (XML – eXtensible Markup Language) • Triple stores • Banco de dados para grafos RDF • Bases de conhecimento persistentes • Mecanismos de processamento de consultas e transações, estruturas de tabelas e índices
  17. 17. RDF/XML• Exemplo de código XML
  18. 18. RDF/XML• Problemas: • Formato não indexado -> baixa escalabilidade • Consulta requer processamento de boa parte do arquivo • Processamento de inferência • Requer que a ontologia esteja carregada em memória • Várias serializações diferentes para o mesmo grafo
  19. 19. Triple stores nativos• Técnicas similares às de SGBDs relacionais e de objetos • Tabelas, índices, processamento de consultas, etc.• Problemas: • Falta de recursos disponíveis em SGBDs existentes • Ex: Falta de processamento de transações -> controle de concorrência mais difícil
  20. 20. Triple stores baseados emSGBDs• Utiliza SGBDs existente para armazenar grafos RDF• Recursos implementados e amplamente testados • Otimizações de consultas • Processamento de transações • Controle de acesso • Logging • Recuperação• Problemas: • Semântica do BD conflita com flexibilidade do RDF • Conversão de consultas em grafos RDF (ex: SPARQL) para consultas SQL (semânticas distintas)
  21. 21. Triple stores• Vantagens • Eficiência de consultas • Indexação: tempo de resposta rápido e constante • Alta escalabilidade • Utilização de recursos de SGBDs• Alguns exemplos: • Jena (RDB, SDB e TDB) • Sesame (SAILs diversas) • OWLIM
  22. 22. Jena – Visão geral• Ferramenta open-source• API: abstrai grafos RDF • Ontology API: RDFS e OWL• Subsistemas de persistência: • RDB (Jena Relational Database) • SDB (Jena SPARQL Database) • TDB (Jena Tuple Database) Arquitetura do Jena (WILKINSON et al.,2003)
  23. 23. Jena RDB• Operações por meio da API • Traduzidas em operações em SGBDs relacionais• Layout híbrido (normalizado / desnormalizado) • Equilíbrio entre espaço e tempo de busca • Normalização apenas para recursos grandes • Pode ser configurado pelo desenvolvedor• Obsoleto: não utiliza SPARQL
  24. 24. Jena RDB Schema desnormalizado do Jena2 (WILKINSON et al., 2003)
  25. 25. Jena SDB• Sucessor direto do RDB• SGBDs suportados: Oracle 10g, IBM DB2, PostgreSQL, MySQL, Apache Derby, etc.• Consultas SPARQL S P O Hash / Id Lex ...• Layout: 12 24 35 40 dc:title 14 40 35 14 <book1> 13 40 11 35 dc:Title1 14 40 41 41 dc:Title2 13 <book2> Tabela de triplas 11 dc:Title3 Tabela de nós
  26. 26. Jena TDB• Triple store nativo• Metas: alto desempenho e escalabilidade • BD dedicado a grafos RDF • Não há necessidade de conversões entre SPARQL e SQL• Desvantagem: sem processamento transacional• Três índices compostos (árvore B+): • SPO, POS e OSP • Nós (NodeIDs): identificadores de 64 bits • 8 bits: tipo do nó; • 56 bits: endereço em disco;• Otimização de consultas
  27. 27. Jena TDB• Solução para o problema do acesso concorrente: • API do Jena: bloqueio exclusivo/compartilhado (ou multiple- reader/single-writer)
  28. 28. Sesame• Manipulação e armazenamento de RDF• Sem suporte nativo à OWL• SAIL (Storage and Inference Layer)• Suporte a dois repositórios por padrão (RDF e RDFS apenas): • Baseado em SGBD (MySQL e PostgreSQL) • Sesame Native Arquitetura do Sesame (ADUNA, 2011)
  29. 29. OWLIM• Triple store nativo• Compatível com Sesame (SAIL) e Jena (adaptador)• Um dos repositórios semânticos mais escaláveis• Motor de inferência: RDFS, OWL 2 RL e OWL Lite• Foco: • Manipulação de bilhões de fatos; • Otimização de consultas; • Gerenciamento de transações; • Inferência multi-threaded;
  30. 30. UMA ARQUITETURA DE SISTEMASMULTIAGENTES BASEADOS EMCONHECIMENTO PERSISTENTE
  31. 31. Justificativa• Garantir: • Persistência • Consistência • Compartilhamento • Atualização• Cenário: qualquer agente pode atualizar BC diretamente • Problemas: • Atualização das BCs locais • Consistência da BC
  32. 32. O Agente Bibliotecário• Agente bibliotecário (AB), ou OntologyAgent • Persistir e publicar conhecimento • Broker entre agentes da aplicação e BC• Objetivos: • Evitar problemas com acesso concorrente • Isolamento de responsabilidades do sistema • Atualização das BCs locais
  33. 33. O Agente Bibliotecário• Fluxo de execução básico: 1. Receber fatos; 2. Homologar fatos; 3. Atualizar e persistir BC; 4. Publicar fatos persistidos; Ciclo de vida do AB
  34. 34. Distribuição de conhecimento• Publicar BC inteira após persistência • Inviável • Solução: Publicação apenas do conhecimento recém-persistido• Agentes lógicos da aplicação • Cópias locais parciais da BC • Acesso mais rápido • Operações de consulta e inferência mais rápidas• Questões de projeto: • Como o AB deve extrair partes do conhecimento? • Como o conhecimento deve ser mesclado às BCs locais?
  35. 35. Particionamento de ontologias• Extração dinâmica de subconjuntos de ontologias • Realizada pelo AB • De acordo com os interesses dos agentes da aplicação • Carga adicional, mas não tão custosa • Feita apenas quando agente faz requisição de conhecimento • É possível utilizar cache • Atualização da BC local • Variante da rotina para atualização da BC central
  36. 36. Particionamento de ontologias• Algoritmo: (pseudocódigo )
  37. 37. Consistência de ontologias•
  38. 38. Arquitetura Visão geral da arquitetura proposta
  39. 39. Implementação• Aprimoramento do DiSEN Agency Visão geral do DiSEN Agency (MONTE ALTO, 2011)
  40. 40. Implementação• Implementação do OntologyAgent e adição dos mecanismos de atualização nos agentes lógicos da aplicação• Afeta aplicação DiSEN User Rating• Cache na ação de extração de módulos• Classe abstrata PersistenceAction • Ex:
  41. 41. ImplementaçãoExemplo de execução: DiSEN User Rating com 8 RaterAgents
  42. 42. Estudo de caso: ContextP-GSD• Mecanismo multiagente de processamento de contexto para o DiSEN Conjunto de agentes do mecanismo ContextP-GSD (BIASÃO, 2011).
  43. 43. Estudo de caso: ContextP-GSD• Problemas: • Persistência é feita em arquivo RDF/XML • Escalabilidade, confiabilidade e desempenho em um ambiente distribuído • A BC inteira é publicada e mantida localmente• Soluções: mecanismos de armazenamento • Tamanho máximo da BC do DiSEN? • Provavelmente não chegaria a centenas de milhões de triplas; • Jena TDB e SDB podem ser suficientes • Grau de concorrência de acessos à BC? • Com AB: TDB (com implementação simples de bloqueio compartilhado/exclusivo pela API do Jena), SDB, OWLIM • Sem AB: SDB, OWLIM
  44. 44. Estudo de caso: ContextP-GSD• Mapeamento sobre a arquitetura proposta:
  45. 45. CONCLUSÕES E TRABALHOS FUTUROS
  46. 46. Conclusões• Tecnologias para a web semântica em constante evolução • Padrões relacionados a ontologias • Repositórios semânticos mais escaláveis e confiáveis • Aprimoramento das capacidades de inferência• Arquitetura de software em SMAs baseados em conhecimento • Comportamento e interação entre os agentes • Distribuição e compartilhamento de conhecimento eficientes • Gerenciamento da BC • Implementação: pode ser utilizada em diversas aplicações
  47. 47. Trabalhos futuros• Aprimoramento do ContextP-GSD • Refatoração utilizando DiSEN Agency• Aprimoramentos na implementação da arquitetura • Melhorar gerência das BCs locais • Mesma BC mantida localmente por vários agentes • Balanceamento de carga • AB pode se tornar um gargalo • Possível solução: AB se duplicar/clonar dinamicamente
  48. 48. Referências• ADUNA. User Guide for Sesame 2.3. 2011. Acessado em Agosto de 2011. Disponível em: <http://www.openrdf.org/>.• BECKETT, D. Recommendation, RDF/XML Syntax Specification (Revised). 2004. W3C Recommendation. Acessado em Junho de 2011. Disponível em: <http://www.w3-.org/TR/rdf-syntax- grammar/>.• BIASÃO, A. B. Um mecanismo de processamento de informações contextuais em um ambiente de desenvolvimento distribuído de software. Dissertação (Mestrado) —Universidade Estadual de Maringa, 2011.• BIZER, C.; SCHULTZ, A. The berlin SPARQL benchmark. Int. J. Semantic Web Inf. Syst, v. 5, n. 2, p. 1–24, 2009. Disponível em: http://www.igi-global.com/articles-/details.asp?ID=35035>.• BIZER, C.; SCHULTZ, A. BSBM V3 Results (February 2011). 2011. Acessado em Agosto de 2011. Disponível em: http://www4.wiwiss.fuberlin.de/bizer/BerlinSPARQLBenchmark/res ults/V6/index.html>.
  49. 49. Referências• FIPA. FIPA Specifications. 2005. Acessado em Junho de 2011. Disponível em: <http://www.fipa.org/specifications/index.html>.• FREITAS, F. L. G. de; STUCKENSCHMIDT, H.; NOY, N. F. Ontology issues and appli- cations - guest editors’ introduction. J. Braz. Comp. Soc., v. 11, n. 2, p. 5–16, 2005.• MONTE ALTO, H. H. L. C. Investigação de Recursos de Comunicação e Colaboração na Infraestrutura SemantiCore. Relatório Técnico, Universidade Estadual de Maringá, Departamento de Informática, 2011.• RUSSEL, S.; NORVIG, P. Artificial Intelligence: A Modern Approach. 2a. ed. [S.l.]: Pearson Education Inc., 2003.• WILKINSON, K. et al. Efficient RDF storage and retrieval in Jena2. In: Proc. First International Workshop on Semantic Web and Databases. [s.n.], 2003. Disponível em: <http://www.cs.uic.edu/˜ifc/SWDB/papers/Wilkinson etal.pdf>.• WOOLDRIDGE, M.; JENNINGS, N. R. Intelligent agents: Theory and practice. Knowledge Engineering Review, v. 10, n. 2, p. 115–152, 1995.• ZAMBONELLI, F. et al. Agent-Oriented Software Engineering for Internet Applications. Springer Verlag, 2001. 326–346 p. Disponível em: <http://eprints.ecs.soton.ac.uk-/3749/>.

×