Universidade Federal de Pernambuco
CIN – Centro de Informática
Context: A Survey and
Research Directions
Vaninha Vieira
Orientadora: Ana Carolina Salgado
{vvs, acs}@cin.ufpe.br
Recife – PE – Brasil
Outubro - 2004
Porque Contexto?
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
3
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
4
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
5
Interações “pessoa-pessoa”
 Contexto direciona as nossas ações e
comportamentos
Context: A Survey and Research Directions : Out 8, 2004
6
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
7
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
8
Em Resumo...
 Contexto ajuda a
 Ampliar a comunicação entre pessoas e entre pessoa e
computador
 Diminuir ambiguidades e conflitos
 Aumentar a expressividade dos diálogos
 Ampliar os serviços oferecidos por uma aplicação
 Aumentar a satisfação do usuário
 Tornar as aplicações mais amigáveis, flexíveis,
adaptáveis
 ... ... ...
Context: A Survey and Research Directions : Out 8, 2004
9
Formalizando Contexto como
um Conceito Computacional
Diversas Áreas da Computação – n Definições
Inteligência Artificial
“Contexto é o que restringe a solução de um problema, sem
interferir nele explicitamente” [Brezillion, 2003]
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]
Context: A Survey and Research Directions : Out 8, 2004
11
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
?
?
12
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
13
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
Context: A Survey and Research Directions : Out 8, 2004
14
Contexto em Ação
Exemplos de Aplicações Clássicas
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
16
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 pessoas
próximas
 Privacidade
 Inicialmente um problema
 Informações de contexto:
 Localização Pessoas
próximas, Tempo
Context: A Survey and Research Directions : Out 8, 2004
17
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 o
local onde o usuário está
 Auxiliar o usuário a encontrar um
recurso 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
18
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 exemplo
construídas para validação
Context: A Survey and Research Directions : Out 8, 2004
19
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
20
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 chegada
e saída
Context: A Survey and Research Directions : Out 8, 2004
21
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
22
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
Context: A Survey and Research Directions : Out 8, 2004
23
Desafios na implementação de
Aplicações Context-Aware
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
25
Aquisição de Contexto
Automática
Manual
Identificação das informações de contexto a
serem consideradas
Context: A Survey and Research Directions : Out 8, 2004
26
Representação do Contexto
 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
Context: A Survey and Research Directions : Out 8, 2004
27
Representação do Contexto
 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 contexto
 Que diferentes aplicações utilizem a mesma informação
de contexto
Context: A Survey and Research Directions : Out 8, 2004
28
Alguns formatos de representação de contexto
 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
Context: A Survey and Research Directions : Out 8, 2004
29
Processamento do Contexto
 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
Context: A Survey and Research Directions : Out 8, 2004
30
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
31
“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
32
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]
 Componentes
 Middleware
 Infra-estrutura
 Centralizado X Distribuído
 Computação móvel, ubíqua
 Sistemas multi-agentes
Context: A Survey and Research Directions : Out 8, 2004
33
Uma Classificação dos Trabalhos sobre Contexto
 Estudo do Conceito de Contexto
 Formalização: definição, representação, modelagem,
processamento, inferência de modo genérico
 Inteligência Artificial, Banco de Dados
 Estudo de Aplicações Context-Aware
 Definições, captura, processamento
 Ferramentas 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
Context: A Survey and Research Directions : Out 8, 2004
34
Contexto no CIn
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
36
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
37
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
Context: A Survey and Research Directions : Out 8, 2004
38
Alguns Projetos de Pesquisa
Envolvendo Contexto
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
40
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
Context: A Survey and Research Directions : Out 8, 2004
41
Quer saber mais?
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
43
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.
Context: A Survey and Research Directions : Out 8, 2004
44
Frase de efeito
“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/
Uso de Contexto
 Formas de Utilização
 Aplicação apenas apresenta informação de contexto
 Aplicação executa serviços a partir do contexto
 Aplicação transforma contexto em informação
 Ex.: anotações coletadas durante uma reunião
Context: A Survey and Research Directions : Out 8, 2004
46
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
47
Alguns exemplos de uso de Contexto
 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 ?????
Context: A Survey and Research Directions : Out 8, 2004
48
Exemplo: Contexto em Groupware
 Representação do contexto em vários níveis
Individual
Tarefa
Equipe
(Borges et al, 2004)
 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
Context: A Survey and Research Directions : Out 8, 2004
49
Processo para promover contexto
1) mapeamento de eventos
a contextos de origem
3) Verificação das
preferências dos usuários
Context: A Survey and Research Directions : Out 8, 2004
2) mapeamento de usuários a contextos
de trabalho, a partir de suas atividades
atuais (contexto mais apropriado)
50
Uma representação de contexto
Context: A Survey and Research Directions : Out 8, 2004
51
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
52
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
Context: A Survey and Research Directions : Out 8, 2004
53
Download

Ariane: Um mecanismo de apoio à percepção em bases de dados