290 likes | 404 Views
Uma Introdução à Computação Sensível ao Contexto e seus Principais Problemas. Ricardo Couto Antunes da Rocha rcarocha@inf.puc-rio.br. Laboratory for Advanced Collaboration PUC-Rio - Brazil. Roteiro. Motivação Percepção de Contexto Modelagem de Contexto Exemplo de Aplicações: EasyMeeting
E N D
Uma Introdução à Computação Sensível ao Contexto e seus Principais Problemas Ricardo Couto Antunes da Rocha rcarocha@inf.puc-rio.br Laboratory for Advanced Collaboration PUC-Rio - Brazil
Roteiro • Motivação • Percepção de Contexto • Modelagem de Contexto • Exemplo de Aplicações: EasyMeeting • Aspectos/Abstrações para uma Infra-estrutura de software para CW
Motivação • Computação ubíqua • Computação anytime, anywhere • Para ser viável, a computação deve deixar de ser intrusiva • Problema do telefone ubíquo celulares cheios de recursos e que exigem nossa constante atenção • Computador deve decidir as tarefas que deve realizar sem a necessidade da interação humana (sem que possível) • Calm technology Mark Weiser, 1991
Motivação • Minority Report
MotivaçãoCenário de Computação Ubíqua • iTourist • Blog eletrônico que captura as experiências de um usuário durante uma viagem turística • Sensores: câmera de alta resolução, sensores de luz e de vibração, GPS receiver, acesso a rede sem fio, sensores biométricos, acelerômetro • LCD de alta resolução Daniel Ashbrook, Kent Lyons, and James Clawson, "Capturing Experiences Anytime, Anywhere,"IEEE Pervasive Computing, vol. 5, no. 2, 2006, pp. 8-11.
Percepção de Contexto • Visão tradicional de sistemas: • Caixas pretas que recebem entradas do usuário • Características: • Entrada/Saída explícitas: lenta, intrusiva, requer atenção do usuário • Loop sequencial entrada-saída • Interesse em mover da visão caixa preta para sensível a contexto • Tirar o usuário do “loop” (sempre que possível) • Reduzir a interação explícita (sempre que possível)
Percepção de Contexto • Modelo sensível a contexto Entrada explícita Saída explícita Sistema Sensível Ao Contexto • Contexto: • estado do usuário • estado do ambiente físico • estado do sistema computacional • histórico de interações do usuário …
Percepção de ContextoDefinição de Contexto • Anind Dey (2001) • Qualquer informação que possa ser utilizada para caracterizar a situação de uma entidade, onde uma entidade pode ser uma pessoa, lugar ou objeto que é considerada relevante para uma interação entre um usuário e uma aplicação, incluindo o próprio usuário e a aplicação. • Exemplos típicos de contexto são localização, identidade, estado de pessoas e grupos, e objetos computacionais e físicos.
Percepção de ContextoDefinição de Contexto • Schilit (e outros) identificaram 4 categorias: • Contexto computacional: rede, conectividade, custo da comunicação, banda passante, recursos (impressoras, estações, etc.) • Contexto do usuário: perfil do usuário, posição, velocidade, pessoas próximas, situação social, estado de espírito, etc. • Contexto físico: luminosidade, nível de ruído, temperatura, umidade • Contexto de tempo: hora do dia, dia/mês/ano, semana, época do ano
Tempo (data, hora) Localização Mapa da atual cidade Identificação das localizações semânticas Localização dentro do mapa Contexto de atividade Contexto de passeio Percepção de ContextoIdentificando Contexto no Exemplo
Problemas Relacionados • Modelos • Descrever a complexidade do ambiente • Descrever a imprecisão dos sensores • Sistemas • Heteronegeidade, interoperabilidade • Manutenção e evolução • Segurança • Distribuição, desempenho • Modelo de programação • Aspectos Humanos • Inferir desejo do usuário • Privacidade • Contexto deve ser compreensível
Modelagem de Contexto • Tarefa de estruturar uma informação contextual, com objetivo de: • Permitir a correta interpretação da informação de contexto pelos usuários, desenvolvedores e aplicações • Permitir o processamento de informações de contexto • Reutilizar contexto • Faz parte do processo de engenharia de software de aplicações sensíveis a contexto
Modelagem de Contexto • Características da Informação de Contexto • Informação contextual pode possuir várias características temporais: estático x dinâmico, atraso na recuperação de contexto, histórico de contexto, ... • Informação contextual é imperfeita: imperfeição dos sensores, desatualização, algoritmos de inferência, ... • Contexto pode ter várias representações alternativas: abstrações. Ex: localização em coordenadas e em posição simbólica. • Informação contextual é altamente inter-relacionada
Exemplo de Aplicação: EasyMeeting • Provê um ambiente de sala de reuniões inteligente, que facilita as atividades típicas de um usuário em reuniões usuais. • Seis serviços foram desenvolvidos: • Serviço de reconhecimento de fala • Serviço de apresentação • Serviço de controle de luz • Serviço de música • Serviço de boas vindas • Serviço de visualização (em dispositivos pessoais)
The broker detects Alice’s presence Alice “beams” her policy to the broker Alice enters a conference room » B B » » Policy says, “inform my personal agent of my location” The broker builds the context model Policy says, “can share with any agents in the room” B A .. isLocatedIn .. Web B A Cenário do EasyMeeting Harry Chen. “An Intelligent Broker for Pervasive Context Aware Services,“ Dezembro, 2004.
The broker tells her location to her agent The broker informs the subscribed agents The projector agent asks slide show info. A B B The projector agent wants to help Alice Her agent informs the broker of her role and intentions The projector agent sets up the slides + Cenário do EasyMeeting
Aspectos/Abstrações para uma Infra-estrutura CW • Cada aspecto pode ser interpretado como uma camada em que abstrações podem ser interpretadas • Uma infra-estrutura (MW ou FW) deveria dar suporte a todos esses aspectos Exploração Situação e Identificação de Contexto Aspectos Ortogonais Percepção: Simbólicos observáveis Sensoriamento: valores observáveis
Abstrações para Computação CW (1/6) • Sensoriamento: produz valores gerados por sensores, resultado de interpretação do ambiente Exploração Situação e Identificação de Contexto Aspectos Ortogonais Percepção: Simbólicos observáveis Sensoriamento: valores observáveis
Abstrações para Computação CW (2/6) • Percepção: valores são interpretados como valores simbólicos, independente do sensor Exploração Situação e Identificação de Contexto Aspectos Ortogonais Percepção: Simbólicos observáveis Sensoriamento: valores observáveis
Abstrações para Computação CW (3/6) • Valores são interpretados como abstração de contexto e situações do ambiente Exploração Situação e Identificação de Contexto Aspectos Ortogonais Percepção: Simbólicos observáveis Sensoriamento: valores observáveis
Abstrações para Computação CW (4/6) • Abstração de contexto é explorada e utilizada por elementos interessados Exploração Situação e Identificação de Contexto Aspectos Ortogonais Percepção: Simbólicos observáveis Sensoriamento: valores observáveis
Abstrações para Computação CW (5/6) • Alguns aspectos ou abstrações não fazem parte de nenhuma camada em especial. • Exemplo: privacidade, histórico, confiança • Infra-estruturas podem implementá-las em diferentes camadas ou como elementos ortogonais Exploração Situação e Identificação de Contexto AspectosOrtogonais Percepção: Simbólicos observáveis Sensoriamento: valores observáveis
Abstrações para Computação CW (6/6) Exploração Situação e Identificação de Contexto AspectosOrtogonais Percepção: Simbólicos observáveis Sensoriamento: valores observáveis Modelos
Maiores informações • Projeto MoCA http://www.lac.inf.puc-rio.br/moca • Contato: • Ricardo C. A. da Rocharcarocha@inf.puc-rio.br • Markus Endler (coordenador)endler@inf.puc-rio.br
Referências • Harry Chen, "An Intelligent Broker Architecture for Pervasive Context-Aware Systems", PhD Thesis. University of Maryland, Baltimore County, December 2004 • Harry Chen et al., "Intelligent Agents Meet the Semantic Web in Smart Spaces", IEEE Internet Computing • Harry Chen et al., "SOUPA: Standard Ontology for Ubiquitous and Pervasive Applications", International Conference on Mobile and Ubiquitous Systems: Networking and Services • eBiquity Group: http://ebiquity.umbc.edu/ • CoBrA site: http://cobra.umbc.edu/ • SOUPA ontology: http://pervasive.semanticweb.org/soupa-2004-06.html