Ricardo Couto Antunes da Rocha rcarocha@inf.puc-rio.br 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ção Cená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.
Motivação Cenário de Computação Ubíqua
Percepção de Contexto Visão tradicional de sistemas: Características: 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 Sistema Sensível Ao Contexto Saída explícita 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 Contexto Definiçã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 Contexto Definiçã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
Percepção de Contexto Identificando Contexto no Exemplo 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
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)
Exemplo de Aplicação: EasyMeeting
Cenário do EasyMeeting Alice enters a conference room Alice “beams” her policy to the broker B B The broker builds the context model Web The broker detects Alice’s presence B » Policy says, “can share with any agents in the room” A Policy says, “inform my personal agent of my location” A B .. isLocatedIn .. Harry Chen. “An Intelligent Broker for Pervasive Context Aware Services,“ Dezembro, 2004.
Cenário do EasyMeeting The broker tells her location to her agent A Her agent informs the broker of her role and intentions + The broker informs the subscribed agents B The projector agent wants to help Alice The projector agent asks slide show info. B The projector agent sets up the slides
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 Aspectos Ortogonais 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 Aspectos Ortogonais Percepção: Simbólicos observáveis Sensoriamento: valores observáveis Modelos
Exemplo: Arquitetura CoBrA
Dúvidas?
Maiores informações Projeto MoCA Contato: http://www.lac.inf.puc-rio.br/moca Contato: Ricardo C. A. da Rocha rcarocha@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