Context: A Survey and Context: A Survey and Research DirectionsResearch Directions
Universidade Federal de PernambucoUniversidade Federal de PernambucoCIN – Centro de InformáticaCIN – Centro de Informática
Vaninha VieiraOrientadora: Ana Carolina Salgado
{vvs, acs}@cin.ufpe.br
Recife – PE – BrasilRecife – PE – BrasilOutubro - 2004Outubro - 2004
Porque Contexto?Porque Contexto?
Context: A Survey and Research Directions : Out 8, 2004 3
Toda comunicação requer contexto
Nas mais diversas situações do mundo real, sempre fazemos uso de informações de contexto
Context: A Survey and Research Directions : Out 8, 2004 4
Interações “pessoa-pessoa”
Contexto amplia a qualidade da conversação ajudando a compreender certas situações, ações ou eventos
Xuxa?
Context: A Survey and Research Directions : Out 8, 2004 5
Interações “pessoa-pessoa”
Contexto amplia a qualidade da conversação ajudando a compreender certas situações, ações ou eventos
Abrir uma janela?
Context: A Survey and Research Directions : Out 8, 2004 6
Interações “pessoa-pessoa”
Contexto direciona as nossas ações e comportamentos
Context: A Survey and Research Directions : Out 8, 2004 7
Interações “pessoa-computador”
As aplicações convencionais, em geral, não levam em consideração o contexto atual do usuário
Xuxa?
Context: A Survey and Research Directions : Out 8, 2004 8
Interações “pessoa-computador”
Utilizando-se o contexto pode-se aumentar as formas de troca de informações entre o usuário e o computador
A identificação do dispositivo usado pelo usuário pode permitir à aplicação habilitar/desabilitar determinadas funcionalidades, limitando ou expandindo recursos
Conhecendo a localização do usuário pode-se oferecer informações relativas ao seu local atual. Ex.: GPS
Context: A Survey and Research Directions : Out 8, 2004 9
Em Resumo...
Contexto ajuda aAmpliar a comunicação entre pessoas e entre pessoa e
computadorDiminuir ambiguidades e conflitosAumentar a expressividade dos diálogosAmpliar os serviços oferecidos por uma aplicaçãoAumentar a satisfação do usuárioTornar as aplicações mais amigáveis, flexíveis,
adaptáveis ... ... ...
Formalizando Contexto como Formalizando Contexto como um Conceito Computacionalum Conceito Computacional
Context: A Survey and Research Directions : Out 8, 2004 11
Diversas Áreas da Computação – n Definições
Interface Homem Máquina (HCI)“Contexto é qualquer informação que pode ser utilizada para caracterizar e interpretar a situação na qual um usuário interage com uma aplicação em um dado momento” [Brezillion, 2002]
Aplicações context-aware “Contexto é qualquer informação que caracteriza a situação de uma entidade. Entidade é uma pessoa, lugar ou objeto considerado relevante para a interação entre uma pessoa e uma aplicação” [Dey et al, 2001]
Inteligência Artificial “Contexto é o que restringe a solução de um problema, sem interferir nele explicitamente” [Brezillion, 2003]
Context: A Survey and Research Directions : Out 8, 2004 12
??????
Surge uma nova categoria de aplicações
Aplicações context-aware Ou, aplicações “cientes de contexto” ou aplicações “sensíveis a contexto”
“Um sistema é considerado sensível a contexto se ele utiliza o contexto de uso para fornecer informações/serviços relevantes para o usuário” [Dey et al, 2001] ??
????
Context: A Survey and Research Directions : Out 8, 2004 13
Categorias de Informações de Contexto
Contexto primário (baixo nível) Identidade (quem é o usuário, de que grupo faz parte) Espacial (localização, orientação, velocidade) Temporal (dia, hora, estação do ano) Ambiente (temperatura, qualidade do ar, luz, som) Disponibilidade de recursos (bateria, largura de banda) Medidas fisiológicas (pressão sanguínea, batimento cardíaco,
atividade muscular, tom de voz) Recursos próximos (dispositivos acessíveis, hosts) Atividade (falando, lendo, caminhando, correndo, escrevendo)
Contexto complexo (alto nível) Atividade atual (etapa de um processo, passo em um workflow) Situações sociais complexas (com quem está, pessoas próximas)
em uma reunião, ministrando aula, apresentação em workshop, ... Agendas, calendários
Context: A Survey and Research Directions : Out 8, 2004 14
Informações de Contexto – 5Ws
Who Informações relativas a pessoas
When Informações temporais correntes e históricas
Where Informações sobre o ambiente
What Informações sobre atividades sendo desenvolvidas pelo usuário difícil detectar automaticamente
Why Informações sobre motivos associados às
ações dos usuários mais difícil ainda
Contexto em AçãoContexto em Ação
Exemplos de Aplicações ClássicasExemplos de Aplicações Clássicas
Context: A Survey and Research Directions : Out 8, 2004 16
Microsoft Windows e Office
Help sensível ao contexto Menu e desktop contextual (frequência de acesso) Ajuste automático do idioma Área de transferência “inteligente” Agente Assistente “inteligente”
Context: A Survey and Research Directions : Out 8, 2004 17
Active Badge System -Olivetti Research Lab (1992)
Permite localizar pessoas em um escritório As pessoas usam crachás que transmitem sinais IR (os active badges) Uma rede de sensores espalhada pelo prédio coleta os sinais os quais
são enviados a um servidor central O recepcionista localiza onde a pessoa está e direciona a ligação
para um ramal apropriado Outros experimentos
Direcionamento automático das chamadas
Identificação de pessoaspróximas
Privacidade Inicialmente um problema
Informações de contexto: Localização Pessoas
próximas, Tempo
Context: A Survey and Research Directions : Out 8, 2004 18
The ParcTab System - Xerox Palo Alto (1992)
http://sandbox.parc.com/parctab/ É um dispositivo móvel similar a um palm, conectado a um servidor
central através de uma rede baseada em infra-vermelhos Funciona como um assistente de escritório pessoal móvel Dezenas de aplicações desenvolvidas para esse dispositivo Alguns serviços oferecidos:
Apresentar informações sobre olocal onde o usuário está
Auxiliar o usuário a encontrar umrecurso próximo (ex. impressora)
Localização de outras pessoas Informações de contexto:
Localização, Dispositivos próximos, Tempo
Context: A Survey and Research Directions : Out 8, 2004 19
The Context Toolkit - Georgia Tech (1999)
http://www.cs.berkeley.edu/~dey/context.html http://sourceforge.net/projects/contexttoolkit/
Tese de Doutorado de Anind Dey
Conjunto de classes desenvolvidas para facilitar a criação de aplicações sensíveis ao contexto
Feito em Java Utiliza o mesmo conceito de
widgets para GUI’s
Diversas aplicações de exemploconstruídas para validação
Context: A Survey and Research Directions : Out 8, 2004 20
InOut Board - Georgia Tech (1999)
Aplicação Java que mostra se um usuário está ou não no escritório Obtém informações sobre funcionários que entram e saem do prédio Feito com a ajuda de iButtons Informações de contexto:
Identificação, tempo
Context: A Survey and Research Directions : Out 8, 2004 21
DUMMBO - Georgia Tech (1999)
Dynamic Ubiquitous Mobile Meeting Board
Usa iButtons para detectar a presença de pessoas em uma reunião Quando duas pessoas indicam sua presença no iButton, o DUMMBO
assume o início de uma reunião e começa a coletar o áudio e o que foi escrito no quadro
Informações de contexto: Identificação, localização do
quadro, tempo de chegadae saída
Context: A Survey and Research Directions : Out 8, 2004 22
Conference Assistant - Georgia Tech (1999)
Auxilia participantes em conferências Ao se inscrever na conferência o participante informa dados pessoais,
áreas de interesse e colegas com interesses similares que estarão na conferência e recebe o Conference Assistant para instalar em seu notebook ou PDA
Funcionalidades: Exibe os eventos de interesse do usuário na conferência Ao entrar em uma sala onde está ocorrendo uma apresentação, ele exibe
informações sobre o palestrante, e o material da apresentação (quando disponível), e permite que o usuário faça anotações
Informações de contexto: Localização, tempo, atividade em uma dada localização e preferências do
usuário
Context: A Survey and Research Directions : Out 8, 2004 23
Análise das aplicações context-aware disponíveis
A maioria usa apenas uns poucos valores de contexto Localização Identificação Tempo
Em geral, são protótipos de pesquisa (não-comerciais)
Principal tipo de aplicação Serviços baseados em localização (guias, assistentes)
Dificuldade em obter e processar informações de contexto Complexidade em desenvolver essas aplicações Tendem a consumir muitos recursos (monitoramento contínuo e/ou
cálculos e análises complexas) Alto custo de desenvolvimento
Desafios na implementação de Desafios na implementação de Aplicações Context-AwareAplicações Context-Aware
Context: A Survey and Research Directions : Out 8, 2004 25
Muitos são os desafios...
Captura (Aquisição) Representação Processamento Segurança e privacidade “Tunning”
Context: A Survey and Research Directions : Out 8, 2004 26
Automática
Aquisição de Contexto
Manual
Identificação das informações de contexto a serem consideradas
Context: A Survey and Research Directions : Out 8, 2004 27
Se tudo deve ser compreendido dentro de um contexto, como podemos compreender o contexto?Uma criança para falar precisa de uma referência
O contexto deve ser sólido o suficiente para não ser modificado com a chegada de novas informações
Definir que informação está em um determinado contexto
Múltiplos contextos
Representação do Contexto
Context: A Survey and Research Directions : Out 8, 2004 28
Armazenar o contexto junto às informações convencionais da aplicação?
Necessidade de um formato de representação comum do contexto que permita A transferência de informações de contextoQue diferentes aplicações utilizem a mesma informação
de contexto
Representação do Contexto
Context: A Survey and Research Directions : Out 8, 2004 29
Pares chave-valor Modelo orientado a objetos Baseado em lógica : fatos/regras Grafos contextuais [Brézillon, 1999]
Ontologia Web Semântica (RDF) Extensões à UML
Alguns formatos de representação de contexto
Context: A Survey and Research Directions : Out 8, 2004 30
Alguma “inteligência” deve ser utilizada para
processar a informação de contexto e deduzir seu significado
Contexto geralmente é indireto ou é dedutível pela combinação de diferentes partes de informações de contexto
Provavelmente o mais desafiador!! Exemplo:
Se três pessoas se encontram em uma certa sala do escritório em um determinado horário, isso pode significar que é a reunião semanal estratégica
Agentes Inteligentes
Processamento do Contexto
Context: A Survey and Research Directions : Out 8, 2004 31
Segurança e privacidade
Para aquisição do contexto é necessário a monitoração das ações dos usuários
Isso pode violar regras de privacidade Garantia de segurança no uso dessas
informações Usuário deve ser capaz de intervir no que deseja
ser monitorado
Context: A Survey and Research Directions : Out 8, 2004 32
“Tunning” das aplicações context-aware
Contexto consome muitos recursos da aplicação Tendência a diminuir o desempenho Necessário um ajuste fino
Da granularidade das informações de contexto Da necessidade X satisfação do usuário em relação às
reações do sistema ao contexto
Context: A Survey and Research Directions : Out 8, 2004 33
Outras Questões em Aplicações Context-Aware
Soluções reutilizáveis Frameworks
Framework Conceitual de Contexto em Groupware [Rosa et al, 2003]
Toolkits Context Toolkit [Dey et al, 2001]
ComponentesMiddleware
Infra-estruturaCentralizado X DistribuídoComputação móvel, ubíquaSistemas multi-agentes
Context: A Survey and Research Directions : Out 8, 2004 34
Uma Classificação dos Trabalhos sobre Contexto
Estudo do Conceito de ContextoFormalização: definição, representação, modelagem,
processamento, inferência de modo genérico Inteligência Artificial, Banco de Dados
Estudo de Aplicações Context-AwareDefinições, captura, processamentoFerramentas de apoio à construção de aplicações
Sistemas Distribuídos, HCI, Engenharia de Software
Utilização de Contexto Identificação, captura, representação, processamento e
uso de informações de contexto em domínio específico CSCW/CSCL, Computação Móvel e Ubíqua, HCI
Contexto no CInContexto no CIn
Context: A Survey and Research Directions : Out 8, 2004 36
Quem está trabalhando com Contexto
IA Patricia Tedesco ([email protected])
BD Ana Carolina Salgado ([email protected])
Sandra Siebra ([email protected]) Vaninha Vieira ([email protected]) Rosalie Belian ([email protected])
HCI Alex Sandro Gomes ([email protected])
Genesio ([email protected])
Sistemas Distribuídos Carlos Ferraz ([email protected]) Nelson Rosa ([email protected])
Engenharia de Software (???)
Context: A Survey and Research Directions : Out 8, 2004 37
Projetos de Pesquisa
Projeto Integra Usando Contexto em Ambientes de Integração de Informações
Rosalie Belian e Ana Carolina Salgado
Projeto “Colabora” Usando Contexto em Ambientes de Aprendizado Colaborativo
Sandra Siebra, Ana Carolina Salgado e Patrícia Tedesco
Modelagem de Aplicações Colaborativas Ciente de Contexto Vaninha Vieira, Ana Carolina Salgado
HCI Integração entre Análise de Contexto e Engenharia de Requisitos
Genesio e Alex Sandro Gomes
Context: A Survey and Research Directions : Out 8, 2004 38
Projeto CAPES/COFECUB
Colaboração Contextual: Métodos e Ferramentas para o Apoio ao Trabalho em Equipe Contexto aplicado a CSCW e a CSCL
Parceria entre CIn / UFPE
Coordenadora: Ana Carolina Salgado NCE / UFRJ
Coordenador: Marcos Borges LIP6 / Paris VI / França
Coordenador: Patrick Brézillon
Status: Submetido e aguardando aprovação
Alguns Projetos de Pesquisa Alguns Projetos de Pesquisa Envolvendo Contexto Envolvendo Contexto
Context: A Survey and Research Directions : Out 8, 2004 40
No Brasil
NCE/UFRJ Coordenador: Prof. Marcos Borges URL: http://chord.nce.ufrj.br Projeto: Chord
Inserindo Contexto em Groupware (M.Sc)
Parceria com LIP6/Paris VI/França
USP / São Carlos Coordenadora: Profa. Maria da Graça Pimentel URL: http://coweb.icmc.usp.br/coweb/mostra.php?ident=5 Projeto: INCA/SERVE
Desenvolvimento de Aplicações Ciente de Contexto
Parceria com Georgia Institute of Technology – EUA
Context: A Survey and Research Directions : Out 8, 2004 41
No Resto do Mundo
Patrick Brézillon - LIP6 / Paris VI, França http://www-sysdef.lip6.fr/~brezil/Pages2/ContextPB.html Projeto: SYSDEF
Modelagem e representação de contexto
Gregory Abowd - Georgia Tech, USA http://www.cc.gatech.edu/fac/Gregory.Abowd/ Parceria projeto INCA/SERVE (USP-São Carlos)
Computação context-aware
Wolfgang Prinz – GMD, Alemanha http://orgwis.gmd.de/~prinz/ Cooperative Media Lab
Contexto e Awareness em aplicações colaborativas
Quer saber mais?Quer saber mais?
Context: A Survey and Research Directions : Out 8, 2004 43
Referências
CONTEXT: International web site http://context.umcs.maine.edu/
Link para muitos papers sobre context-awareness http://vvv.it.kth.se/edu/Ph.D/LocationAware/aware.vt98.html
Coleção do Brézillon de Referências sobre contexto http://www-poleia.lip6.fr/~brezil/MUCA/Contexte.pdf
Conferências específicas sobre contexto International and Interdisciplinary Conference on Modeling and
Using Context [http://context-05.org/] Modeling and Retrieval of Context [http://www.mrc2004.de.ms/] International Workshop on Software Aspects of Context [
http://diuf.unifr.ch/~kouadrim/iwsac04]
Context: A Survey and Research Directions : Out 8, 2004 44
Mais Referências
Borges, M.R.S., Brézillon, P., Pino, J.A., Pomerol, J.C. “Bringing Context to CSCW”, Proceedings of the 8th International Conference on Computer Supported Cooperative Work in Design. CSCWD´2004, Xiamen, China, May 2004.
Siebra, S.A., Tedesco, P.C.A.R., Salgado, A.C., Brézillon, P., A Context-based Analytical Environment for CSCL, submetido ao CRIWG 2004 (2004).
Brézillon P., “Context in problem solving: A survey”. The Knowledge Engineering Review, vol. 14, n°1, 1999, pp. 1-34.
Dey, A. K., 2001, "Understanding and Using Context". In: http://citeseer.nj.nec.com/dey01understanding.html, accessed in May 2004.
Huang, Q., 2002, Supporting Context-Aware Computing in Ad Hoc Mobile Environments. Technical Report WUCS-02-36, Washington University, Department of Computer Science and Engineering, St. Louis, Missouri.
Rosa, M. G. P., Borges, M. R. S., Santoro, F. M., 2003, "A Conceptual Framework for Analyzing the Use of Context in Groupware". In: Proc. of CRIWG'03, v. LNCS 2806, pp. 300-313, Springer-Verlag Berlin, Heidelberg.
“A seleção natural gerou seres vivos capazes de se adaptar ao contexto
(os que não se adaptam, não sobrevivem)””
O mesmo tende a acontecer com o software (?)
http://groups.yahoo.com/group/context-ufpe/
Frase de efeitoFrase de efeito
Context: A Survey and Research Directions : Out 8, 2004 46
Formas de UtilizaçãoAplicação apenas apresenta informação de contextoAplicação executa serviços a partir do contextoAplicação transforma contexto em informação
Ex.: anotações coletadas durante uma reunião
Uso de Contexto
Context: A Survey and Research Directions : Out 8, 2004 47
Framework Conceitual de Contexto em Groupware
Um framework conceitual é representado por quadros conceituais, cujo objetivo é fornecer diretrizes para pesquisa e desenvolvimento
Proposto por Rosa et al (2003) Objetiva a identificação e a classificação dos elementos
contextuais mais comuns nas ferramentas de groupware
Context: A Survey and Research Directions : Out 8, 2004 48
Similaridade Semântica Aplicações colaborativas
Contexto do usuário, do grupo, das tarefas sendo desempenhadas Serviços Inteligentes
GPS, Recomendação, Filtragem, etc. Engenharia de Software
Auxiliar o engenheiro de domínio ou de aplicação Busca de componentes Medidas de desempenho dos desenvolvedores Personal Software Process Outros ?????
Alguns exemplos de uso de Contexto
Context: A Survey and Research Directions : Out 8, 2004 49
Representação do contexto em vários níveisIndividualTarefaEquipe
Não processar apenas o contexto individual, mas também o contexto do grupo
Contexto do grupo envolve todo o conhecimento relativo ao grupo
composição do grupo, regras, papéis, objetivos, estratégias, procedimentos de coordenação
Exemplo: Contexto em Groupware
(Borges et al, 2004)
Context: A Survey and Research Directions : Out 8, 2004 50
Processo para promover contexto
1) mapeamento de eventos a contextos de origem
2) mapeamento de usuários a contextos de trabalho, a partir de suas
atividades atuais (contexto mais apropriado)
3) Verificação das preferências dos usuários
Context: A Survey and Research Directions : Out 8, 2004 51
Uma representação de contexto
Context: A Survey and Research Directions : Out 8, 2004 52
Outras Aplicações de Contexto
Contexto aplicado a Web Services Prover clientes com um comportamento customizado e personalizado
[Keidl & Kemper, 2004]
Contexto aplicado a Web Services Prover clientes com um comportamento customizado e personalizado
[Keidl & Kemper, 2004]
Context: A Survey and Research Directions : Out 8, 2004 53
Modelos de contexto em colaboração
Analisa a situação atual em que diferentes usuários se encontram
Compara a situação com as informações disponíveis
Provê o usuário com informações mais relevantes naquela situação
Estimula contatos, troca de informações e ajuda mútua entre os usuários em situações similares