Your SlideShare is downloading. ×
Estudo de técnicas de persistência e acesso concorrente a ontologias
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Saving this for later?

Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime - even offline.

Text the download link to your phone

Standard text messaging rates apply

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

962
views

Published on


0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
962
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
16
Comments
0
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Estudo de técnicas depersistência e acessoconcorrente a ontologiasTrabalho de graduaçãoHelio Henrique Lopes Costa Monte AltoOrientadora: Elisa Hatsue Moriya Huzita
  • 2. Tópicos• Introdução e apresentação do problema• Revisão bibliográfica• Armazenamento de ontologias• Arquitetura• Conclusões e trabalhos futuros
  • 3. INTRODUÇÃO E APRESENTAÇÃO DOPROBLEMA
  • 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. 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. 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. 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. REVISÃO BIBLIOGRÁFICA
  • 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. 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. 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. 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. 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. 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. ARMAZENAMENTO DE ONTOLOGIAS
  • 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. RDF/XML• Exemplo de código XML
  • 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. 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. 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. 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. 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. 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. Jena RDB Schema desnormalizado do Jena2 (WILKINSON et al., 2003)
  • 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. 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. Jena TDB• Solução para o problema do acesso concorrente: • API do Jena: bloqueio exclusivo/compartilhado (ou multiple- reader/single-writer)
  • 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. 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. UMA ARQUITETURA DE SISTEMASMULTIAGENTES BASEADOS EMCONHECIMENTO PERSISTENTE
  • 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. 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. 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. 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. 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. Particionamento de ontologias• Algoritmo: (pseudocódigo )
  • 37. Consistência de ontologias•
  • 38. Arquitetura Visão geral da arquitetura proposta
  • 39. Implementação• Aprimoramento do DiSEN Agency Visão geral do DiSEN Agency (MONTE ALTO, 2011)
  • 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. ImplementaçãoExemplo de execução: DiSEN User Rating com 8 RaterAgents
  • 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. 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. Estudo de caso: ContextP-GSD• Mapeamento sobre a arquitetura proposta:
  • 45. CONCLUSÕES E TRABALHOS FUTUROS
  • 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. 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. 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. 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/>.