Banco de dados e ContextoMestrado em Ciência da Computação, CIn – UFPEBruno Felipebffs@cin.ufpe.br
AgendaExemplos de Contexto;Definindo Contexto;Computação Sensível ao Contexto;Quando usar Contexto;Comparativo: Aplicações Tradicionais e Sensíveis ao Contexto;Um Exemplo de Aplicação;Banco de Dados e Contexto;Motivação;Uma Definição;Exemplo de um SGBD Sensível ao Contexto: Chameleon;Proposta de Esquema de Contexto;Personalização de Consultas;Desafios na área;Referências;
Cenário da Computação AtualComo apoiar usuários naexecução de tarefas diáriase na tomada de decisões?Mudança no uso de sistemas computacionais:De aplicativos de apoio organizacionalPara aplicativos de apoio à tarefas pessoais diárias.
Pesquisa no Google (1/3)Pesquisa realizada em Recife  por Bruno, em  12/05/11 às 20:10
Pesquisa no Google (2/3)Pesquisa realizada em João Pessoa por Mariana, em  12/05/11 às 20:16
Pesquisa no Google (3/3)Pesquisa realizada em Belém por Carlos, em  12/05/11 às 20:40
Facebook
O que essas aplicações têm em comum?ContextoConhecimento que ajuda a identificar o que é ou não é relevante em um dado momento.Sistema sensível ao Contexto (CSS).Aplicação que usacontexto para oferecer serviçoseinformaçõesmais relevantes.
Celular no cinemaSeu 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.
Ele mesmo se coloca no modo silencioso.
Ao sair do cinema o celular volta ao modo normal, de forma que você não perca ligações.Definindo contextoContexto é 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].
Computação Sensível ao ContextoO termo computação sensível ao contexto (context-aware computing) foi proposto por Schilitet al. (1994).Definição [Dey e abowd, 2000]“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”.
Aplicações cientes do contextoPodem se adaptar automaticamente a mudanças no ambiente	e as necessidades correntes do usuário sem exigir a sua atenção.Podem explorar características do ambiente tais como a posição	do usuário, pessoas próximas, hora do dia, níveis de ruídos, ilu-minação e etc. para fornecer informações e serviços adequados 	ao contento.
Mas usar contexto é sempre bom?Word
Funcionalidades de auto-correção e auto-formatação
Tenta ser sensível ao contexto ajudando o usuário ao corrigir automaticamente termos de grafia, gramática ou formatação.
Usuário não tem controle
O sistema não aprende.
Clippy
Muitas vezes provê dicas e informações totalmente inúteis.
Intrusivo.Cuidado com a experiência do usuário, é fundamental!!!
Um comparativo entre Sistemas Tradicionais e Sensíveis ao contextoExecutam ações com base em informações fornecidas explicitamente pelo usuário e agem da mesma forma, independente do usuário.Consideram também, informações contextuais coletadas de outras fontes e mudam o comportamento a partir destas fontes.
Arquitetura em CamadasConsideram também, informações contextuais coletadas de outras fontes e mudam o comportamento a partir destas fontes.
Um exemplo de aplicaçãoSistema UbiBus de Transporte Inteligente
MotivaçãoFalta 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.
Visão geral da arquitetura do sistema Contexto
 Localização e velocidade do ônibus
 Localização dos terminais
 Localização dos passageiros
 Presença e intensidade do congestionamentoUbiBus – Protótipos de Interface (1/2)
UbiBus – Protótipos de Interface (2/2)
Banco de dados e Contexto
MotivaçãoNã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;Representar uniformemente, armazenar e gerenciar informações sobre entidades com diferentes valores ou mesmo diferentes esquemas em várias circunstâncias definidas pelo contexto.Melhorar a formulação de consultas a um banco de dados, agregando informações relevantes; Tempo;Criação de frameworks de preferências de usuários;Enriquecer à semântica dos banco de dados;Adaptação à computação móvel, computação ubíqua, ambientes inteligentes e aplicações sensíveis ao contexto.
Banco de dados e contexto: uma definiçãoBanco 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.
ChameleonUm protótipo de gerenciador de banco de dados, construído a partir do PostgreSQL.Principal característica: modelagem de contexto.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.

Banco de Dados e Contexto

  • 1.
    Banco de dadose ContextoMestrado em Ciência da Computação, CIn – UFPEBruno Felipebffs@cin.ufpe.br
  • 2.
    AgendaExemplos de Contexto;DefinindoContexto;Computação Sensível ao Contexto;Quando usar Contexto;Comparativo: Aplicações Tradicionais e Sensíveis ao Contexto;Um Exemplo de Aplicação;Banco de Dados e Contexto;Motivação;Uma Definição;Exemplo de um SGBD Sensível ao Contexto: Chameleon;Proposta de Esquema de Contexto;Personalização de Consultas;Desafios na área;Referências;
  • 3.
    Cenário da ComputaçãoAtualComo apoiar usuários naexecução de tarefas diáriase na tomada de decisões?Mudança no uso de sistemas computacionais:De aplicativos de apoio organizacionalPara aplicativos de apoio à tarefas pessoais diárias.
  • 4.
    Pesquisa no Google(1/3)Pesquisa realizada em Recife por Bruno, em 12/05/11 às 20:10
  • 5.
    Pesquisa no Google(2/3)Pesquisa realizada em João Pessoa por Mariana, em 12/05/11 às 20:16
  • 6.
    Pesquisa no Google(3/3)Pesquisa realizada em Belém por Carlos, em 12/05/11 às 20:40
  • 7.
  • 8.
    O que essasaplicações têm em comum?ContextoConhecimento que ajuda a identificar o que é ou não é relevante em um dado momento.Sistema sensível ao Contexto (CSS).Aplicação que usacontexto para oferecer serviçoseinformaçõesmais relevantes.
  • 9.
    Celular no cinemaSeucelular 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.
    Ele mesmo secoloca no modo silencioso.
  • 11.
    Ao sair docinema o celular volta ao modo normal, de forma que você não perca ligações.Definindo contextoContexto é 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].
  • 12.
    Computação Sensível aoContextoO termo computação sensível ao contexto (context-aware computing) foi proposto por Schilitet al. (1994).Definição [Dey e abowd, 2000]“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”.
  • 13.
    Aplicações cientes docontextoPodem se adaptar automaticamente a mudanças no ambiente e as necessidades correntes do usuário sem exigir a sua atenção.Podem explorar características do ambiente tais como a posição do usuário, pessoas próximas, hora do dia, níveis de ruídos, ilu-minação e etc. para fornecer informações e serviços adequados ao contento.
  • 14.
    Mas usar contextoé sempre bom?Word
  • 15.
  • 16.
    Tenta ser sensívelao contexto ajudando o usuário ao corrigir automaticamente termos de grafia, gramática ou formatação.
  • 17.
  • 18.
  • 19.
  • 20.
    Muitas vezes provêdicas e informações totalmente inúteis.
  • 21.
    Intrusivo.Cuidado com aexperiência do usuário, é fundamental!!!
  • 22.
    Um comparativo entreSistemas Tradicionais e Sensíveis ao contextoExecutam ações com base em informações fornecidas explicitamente pelo usuário e agem da mesma forma, independente do usuário.Consideram também, informações contextuais coletadas de outras fontes e mudam o comportamento a partir destas fontes.
  • 23.
    Arquitetura em CamadasConsideramtambém, informações contextuais coletadas de outras fontes e mudam o comportamento a partir destas fontes.
  • 24.
    Um exemplo deaplicaçãoSistema UbiBus de Transporte Inteligente
  • 25.
    MotivaçãoFalta de pontualidadedos ônibus e ausência de informações que apóiem o passageiro em suas decisões sobre o uso de transporte urbano.
  • 26.
    Visão geral daarquitetura do sistema Contexto
  • 27.
    Localização evelocidade do ônibus
  • 28.
  • 29.
  • 30.
    Presença eintensidade do congestionamentoUbiBus – Protótipos de Interface (1/2)
  • 31.
    UbiBus – Protótiposde Interface (2/2)
  • 32.
    Banco de dadose Contexto
  • 33.
    MotivaçãoNão haver anecessidade 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;Representar uniformemente, armazenar e gerenciar informações sobre entidades com diferentes valores ou mesmo diferentes esquemas em várias circunstâncias definidas pelo contexto.Melhorar a formulação de consultas a um banco de dados, agregando informações relevantes; Tempo;Criação de frameworks de preferências de usuários;Enriquecer à semântica dos banco de dados;Adaptação à computação móvel, computação ubíqua, ambientes inteligentes e aplicações sensíveis ao contexto.
  • 34.
    Banco de dadose contexto: uma definiçãoBanco 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.
  • 35.
    ChameleonUm protótipo degerenciador de banco de dados, construído a partir do PostgreSQL.Principal característica: modelagem de contexto.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.