Banco de Dados e Contexto

2.446 visualizações

Publicada em

Uma passagem por Contexto, aplicações sensíveis ao contexto até a inserção de contexto dentro de banco de dados.

Publicada em: Tecnologia
0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
2.446
No SlideShare
0
A partir de incorporações
0
Número de incorporações
6
Ações
Compartilhamentos
0
Downloads
38
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Banco de Dados e Contexto

  1. 1. Banco de dados e Contexto<br />Mestrado em Ciência da Computação, CIn – UFPE<br />Bruno Felipe<br />bffs@cin.ufpe.br<br />
  2. 2. Agenda<br />Exemplos de Contexto;<br />Definindo Contexto;<br />Computação Sensível ao Contexto;<br />Quando usar Contexto;<br />Comparativo: Aplicações Tradicionais e Sensíveis ao Contexto;<br />Um Exemplo de Aplicação;<br />Banco de Dados e Contexto;<br />Motivação;<br />Uma Definição;<br />Exemplo de um SGBD Sensível ao Contexto: Chameleon;<br />Proposta de Esquema de Contexto;<br />Personalização de Consultas;<br />Desafios na área;<br />Referências;<br />
  3. 3. Cenário da Computação Atual<br />Como apoiar usuários na<br />execução de tarefas diárias<br />e na tomada de decisões?<br />Mudança no uso de sistemas computacionais:<br />De aplicativos de apoio organizacional<br />Para aplicativos de apoio à tarefas pessoais diárias.<br />
  4. 4. Pesquisa no Google (1/3)<br />Pesquisa realizada em Recife por Bruno, em 12/05/11 às 20:10<br />
  5. 5. Pesquisa no Google (2/3)<br />Pesquisa realizada em João Pessoa por Mariana, em 12/05/11 às 20:16<br />
  6. 6. Pesquisa no Google (3/3)<br />Pesquisa realizada em Belém por Carlos, em 12/05/11 às 20:40<br />
  7. 7. Facebook<br />
  8. 8. O que essas aplicações têm em comum?<br />Contexto<br />Conhecimento que ajuda a identificar o que é ou não é relevante em um dado momento.<br />Sistema sensível ao <br />Contexto (CSS).<br />Aplicação que usacontexto para oferecer serviçoseinformaçõesmais relevantes.<br />
  9. 9. Celular no cinema<br /><ul><li>Seu celular pode perceber que você entrou em uma sala de cinema, que as luzes estão diminuindo e que portanto a sessão vai começar.
  10. 10. Ele mesmo se coloca no modo silencioso.
  11. 11. Ao sair do cinema o celular volta ao modo normal, de forma que você não perca ligações.</li></li></ul><li>Definindo contexto<br />Contexto é qualquer informação que caracteriza a situação de uma entidade (pessoa, lugar ou objeto) considerada relevante para interação entre uma pessoa e uma aplicação [Dey 2001]. <br />
  12. 12. Computação Sensível ao Contexto<br />O termo computação sensível ao contexto (context-aware computing) foi proposto por Schilitet al. (1994).<br />Definição [Dey e abowd, 2000]<br />“Sistemas que utilizam o contexto para fornecer informações e/ou serviçosrelevantes para o usuário, onde relevância depende da tarefa do usuário”.<br />
  13. 13. Aplicações cientes do contexto<br /><ul><li>Podem se adaptar automaticamente a mudanças no ambiente</li></ul> e as necessidades correntes do usuário sem exigir a sua atenção.<br /><ul><li>Podem explorar características do ambiente tais como a posição</li></ul> do usuário, pessoas próximas, hora do dia, níveis de ruídos, ilu-<br />minação e etc. para fornecer informações e serviços adequados <br /> ao contento.<br />
  14. 14. Mas usar contexto é sempre bom?<br /><ul><li>Word
  15. 15. Funcionalidades de auto-correção e auto-formatação
  16. 16. Tenta ser sensível ao contexto ajudando o usuário ao corrigir automaticamente termos de grafia, gramática ou formatação.
  17. 17. Usuário não tem controle
  18. 18. O sistema não aprende.
  19. 19. Clippy
  20. 20. Muitas vezes provê dicas e informações totalmente inúteis.
  21. 21. Intrusivo.</li></ul>Cuidado com a experiência do usuário, é fundamental!!!<br />
  22. 22. Um comparativo entre Sistemas Tradicionais e Sensíveis ao contexto<br />Executam ações com base em informações fornecidas explicitamente pelo usuário e agem da mesma forma, independente do usuário.<br />Consideram também, informações contextuais coletadas de outras fontes e mudam o comportamento a partir destas fontes.<br />
  23. 23. Arquitetura em Camadas<br />Consideram também, informações contextuais coletadas de outras fontes e mudam o comportamento a partir destas fontes.<br />
  24. 24. Um exemplo de aplicaçãoSistema UbiBus de Transporte Inteligente<br />
  25. 25. Motivação<br />Falta de pontualidade dos ônibus e ausência de informações que apóiem o passageiro em suas decisões sobre o uso de transporte urbano.<br />
  26. 26. Visão geral da arquitetura do sistema<br /><ul><li> Contexto
  27. 27. Localização e velocidade do ônibus
  28. 28. Localização dos terminais
  29. 29. Localização dos passageiros
  30. 30. Presença e intensidade do congestionamento</li></li></ul><li>UbiBus – Protótipos de Interface (1/2)<br />
  31. 31. UbiBus – Protótipos de Interface (2/2)<br />
  32. 32. Banco de dados e Contexto<br />
  33. 33. Motivação<br />Não haver a necessidade de banco de dados especializados, e.g., banco de dados temporais, banco de dados espaciais, pela razão de espaço, tempo e entidade serem tratados como contexto;<br />Representar uniformemente, armazenar e gerenciar informações sobre entidades com diferentes valores ou mesmo diferentes esquemas em várias circunstâncias definidas pelo contexto.<br />Melhorar a formulação de consultas a um banco de dados, agregando informações relevantes; Tempo;<br />Criação de frameworks de preferências de usuários;<br />Enriquecer à semântica dos banco de dados;<br />Adaptação à computação móvel, computação ubíqua, ambientes inteligentes e aplicações sensíveis ao contexto.<br />
  34. 34. Banco de dados e contexto: uma definição<br />Banco de dados e contexto vem a ser o uso de informações para descrever entidades dentro de um SGBD oferecendo assim mais semântica. Por este meio, enriquecendo à interação com o usuário, bem como, oferecendo resultados melhores e mais adaptados a sua necessidade.<br />
  35. 35. Chameleon<br />Um protótipo de gerenciador de banco de dados, construído a partir do PostgreSQL.<br />Principal característica: modelagem de contexto.<br />Visa a partir de um banco de dados previamente construído, adicionar características de contexto, ao invés de, construir um banco de dados específico para um domínio.<br />
  36. 36. Chameleon: exemplo<br />Considere um banco de dados sobre livros. A tabela livro tem o seguinte esquema: livro(id, autor, categoria, preço).<br />O usuário emite a seguinte consulta Q: SELECT * FROM livro WHERE livro.categoria<br />O usuário tem a preferência por livros de computação.<br />Uma solução é adicionar um objeto contexto modelando informações sobre categoria de livros.<br />O Chameleon então, cria um contexto do usuário apenas com categoria computação.<br />
  37. 37. Chameleon: exemplo (cont.)<br />Este contexto é modelado a seguir:<br />Quando o usuário envia à consulta Q a chave bindingé usada para unir a tabela livros com a tabela contexto. Apenas livros da categoria computação irão ser retornados.<br />
  38. 38. Chameleon: exemplo<br />Criação de novos contextos por meio da cláusula objectcontext.<br />Por exemplo, se quiséssemos adicionar um atributo chamado época à tabela livro, mas não tivéssemos permissão.<br />Com base na consulta anterior, o usuário agora pode ter livros na categoria computação que foram lançados em uma determinada época.<br />
  39. 39. Proposta de um esquema de contexto<br />Possibilidades de fazer consultas do tipo: todos produtos que tenham um VAT alto.<br />
  40. 40. Personalização de Consultas<br />Considere o banco de dados com o seguinte esquema:<br />Considere agora dois usuários, Maria e José enviando uma consulta perguntando sobre o que estará passando hoje à noite:<br />
  41. 41. Personalização de Consultas (cont.)<br />Contudo, Maria gosta de filmes de terror e comédia enquanto José gosta de sci-fie da atriz Julia Roberts.<br />Cada preferência do usuário pode ser armazenada em perfil (profile) do usuário. Deste modo o banco de dados pode automaticamente integrá-lo na consulta original, agregando mais valor à consulta e retornando informações mais adaptadas ao perfil do usuário.<br />Uma consulta mais interessante para José seria:<br />
  42. 42. Um Banco de Dados Personalizado<br />A proposta anterior sobre consultas personalizadas é alcançada a partir de um sistema de banco de dados personalizado, ou seja, um banco de dados com alguns módulos além dos tradicionais que rodeiam um sistema de acesso a conteúdo;<br />Userprofile- informações colhidas do usuário de forma explícita ou implícita;<br />Um sistema de banco de dados personalizado.<br />
  43. 43. Desafios na área<br />Propor uma linguagem de consulta, bem como, modelo de dados para banco de dados com informações contextuais;<br />Deixar o usuário ter controle sobre informações de contexto, principalmente aquelas em que podem causar aborrecimentos;<br />Segurança e privacidade;<br />Otimização do desempenho do sistema (custo computacional extra);<br />Representação dos elementos do contexto (como representá-los?);<br />Elicitação dos requisitos do contexto (O que considerar como contexto?);<br />
  44. 44. Referências<br />Chameleon: Context-AwarenessInsideDBMSs;<br />TechnicalReport: A Model for ContextAwareRelational Databases 2008;<br />Towards a Better Understanding of Context and Context-Awareness 2000;<br />The Anatomy of a Context-Aware Application;<br />And What can Context do for Data? 2009;<br />Personalization of Queries in Database Systems;<br />Palestra Contexto, Vaninha Vieira 2011 (v6);<br />Computação Sensível ao Contexto, Fabrício J. Barth 2004;<br />
  45. 45. Dúvidas<br />?<br />
  46. 46. Banco de dados e Contexto<br />Mestrado em Ciência da Computação, CIn – UFPE<br />Bruno Felipe<br />bffs@cin.ufpe.br<br />

×