O que é Contexto? Por que usáPor que usá--lloo??adolfo/etc/SBC/ERI2009/dctos/context-sl... ·...
Transcript of O que é Contexto? Por que usáPor que usá--lloo??adolfo/etc/SBC/ERI2009/dctos/context-sl... ·...
1
MinicursoMinicurso 0808
Ana Carolina [email protected]
Patricia [email protected]
Bento Gonçalves-RS, Julho / 2009
Vaninha [email protected]
Modelos e Modelos e Processos Processos para o Desenvolvimento para o Desenvolvimento de Sistemas Sensíveis ao Contextode Sistemas Sensíveis ao Contexto
2
Agenda do Agenda do CursoCurso
� PARTE I (quinta 16h15 – 18h15)
• Introdução e Definições
• Contexto nas diversas áreas da Computação
• Exemplos de Aplicações Sensíveis ao Contexto
� PARTE II (sexta 10h45 – 12h45)
• Desafios no Desenvolvimento de CSS
• Representação de contexto
• Modelos e Metamodelo de contexto
� PARTE III (sexta 16h15 – 18h15)
• Processos para o desenvolvimento de CSS
• ICARE: Um estudo de caso
• Conclusões e perspectivas de pesquisa
Parte IParte I
Introdução e DefiniçõesContexto nas diversas áreas da Computação
Exemplos de Aplicações
Modelos e Processo para o Desenvolvimento Modelos e Processo para o Desenvolvimento de Sistemas Sensíveis ao Contextode Sistemas Sensíveis ao Contexto
O que é Contexto?O que é Contexto?Por que usáPor que usá--lo?lo?
5
ContextoContexto emem Interações Interações “Pessoa“Pessoa--Pessoa”Pessoa”
� Ajuda a compreender situações, ações e eventos
� E.g. “Fechar a Janela”
� Amplia a qualidade de conversações e interações
� Ajuda a resolver ambiguidades e conflitos
� Direciona ações e comportamentos� E.g. Cinema x Estádio de Futebol
6
� Amplia formas de comunicação
• Sem necessidade de intervenção explícita do usuário
� Permite adaptação do sistema
• Habilitar/desabilitar funcionalidades
• Prover serviços e informações relevantes à situação
Contexto emContexto em Interações “Interações “ PessoaPessoa--ComputadorComputador ””
2
7
�� AuxiliaAuxilia a a comunicaçãocomunicação entreentre
� Dispositivos (ex. Casas inteligentes)
� Agentes inteligentes (ex. sociedade de agentes)
Contexto em Interações Computador-Computador
8
�� Contexto é fundamental para apoiar a colaboraçãoContexto é fundamental para apoiar a colaboração� Ampliar a compreensão do grupo, tarefas e atribuições
� Qualidade do trabalho depende da qualidade das interações
� Contexto amplia a percepção dos membros do grupo
Audio Conferência Grupo de BD
PlanejandoNova disciplina
Prazo:próxima segunda
Rosa
Maria
José
Contexto em Interações Grupo-Computador
9
Em Resumo, Contexto ajuda a ... Em Resumo, Contexto ajuda a ...
� Melhorar a comunicação entre pessoas e entre pessoa e computador
• Reduz ambigüidades e conflitos
• Aumenta expressividade dos diálogos
� Ampliar o número de serviços oferecidos por uma aplicação
• Aumenta satisfação do usuário
• Ajudar a tornar as aplicações mais amigáveis, flexíveis, adaptáveis e fáceis de usar
10
ProblemaProblema
� Uso do contexto intuitivo na interação entre pessoas
�� Difícil formalizarDifícil formalizar em sistemas computacionais
• O que considerar como contexto?
• Como pode ser utilizado?
• Como gerenciar a informação contextual?
Formalizando Contexto Formalizando Contexto como um Conceito como um Conceito
ComputacionalComputacional
12
“Contexto é qualquer informação que caracteriza a situação de uma entidade
(pessoa, lugar ou objeto) considerada relevante para a interação entre
uma pessoa e uma aplicação” [Dey, 2001]
Definições de ContextoDefinições de Contexto
3
13
Definições de ContextoDefinições de Contexto
“Contexto é uma descrição complexa de conhecimento conhecimento
compartilhadocompartilhado sobre circunstâncias físicas, sociais,
históricas e outras, onde ações ou eventos ocorrem.
É o que restringe a interpretaçãorestringe a interpretação de uma ação ou evento,
sem, no entanto, ser parte dessa ação/evento”
“Contexto é uma coleção de condições relevantes e influências que tornam uma tornam uma situação única e compreensívelsituação única e compreensível”
[Brézillon, 1999]
14
Conhecimento relevante para o foco, porém não considerado diretamenteParte do contexto que não tem qualquer relação com o foco
Parte do Conhecimento Contextualinvocado, organizado, estruturado e situado de acordo com o foco. Usado para apoiar a tarefa
“Todo contexto é relativo a um foco”
Relação com o que o usuário está fazendoEx. tarefa, passo na execução do problema
Modelo de Classificação do ContextoModelo de Classificação do Contexto[Brézillon e Pomerol, 1999]
Foco
Contexto Proceduralizado
Conhecimento Contextual
Desenvolvimento de Software
Especialidade: Java; UML
Equipe: Carlos e André
Presença: on; off
horário
especialidade
experiência
reputaçãohabilidade
equipe
presença
disponibilidade
Estado civilidade
peso
última viagem
Conhecimento Externo
15
(Brézillon e Pomerol, 1999)
Nossa Definição sobre ContextoNossa Definição sobre Contexto
(Vieira et al., 2007)
Foco Contexto
ConhecimentoExterno
ConhecimentoContextual
Contexto Proceduralizado
é parte de
caracteriza Elemento Contextual
Entidade
é composto por
Regra Comportamento
dispara
Contexto é qualquer informação que pode ser usada para caracterizara situação de uma entidade (e.g. pessoa, lugar, objeto, aplicação,…)
(Dey, 2000)
16
Distinção entre Contexto e Elemento ContextualDistinção entre Contexto e Elemento Contextual
� Um elemento contextual (CE) é qualquer dado, informação ou conhecimento que permite caracterizar uma entidade em um domínio• CEs (Pessoa): sexo, instituição, interesses, cidade onde mora
� O contexto da interação entre um agente e uma aplicação, para executar alguma tarefa, é o conjunto de elementos contextuais instanciados que são necessários para apoiar a tarefa atual• Contexto («Carol»): Pessoa do sexo feminino, lotada no CIn/UFPE,
com interesses em «contexto» e «banco de dados», que mora em Recife-PE-Brasil
17
Distinção entre Contexto e Elemento Distinção entre Contexto e Elemento ContextualContextual
� Elemento contextual • Tipo de informação que
pode ser conhecida, codificada e representada antecipadamente
• É estático
• Pode ser definido em tempo de projeto
� Contexto• Não pode ser conhecido
antecipadamente. Depende da tarefa atual e do agente que a executa
• É dinâmico
• Deve ser construído em tempo de execução, quando uma interação ocorre
18
Caracterização dos Elementos Caracterização dos Elementos Contextuais Contextuais –– 5Ws+1H 5Ws+1H
�� WWhoho
�� WWherehere
�� WWhenhen
�� WWhathat
�� WWhyhy
•• HHowow
4
19
Caracterização dos Elementos Caracterização dos Elementos Contextuais Contextuais –– 5Ws+1H 5Ws+1H
�� WWhoho - Informações relativas às pessoas
• Identidade (quem é o usuário, que grupo pertence)
• Características fisiológicas (pressão sanguínea, batimento cardíaco, atividade muscular, tom de voz)
• Situações sociais (com quem está, pessoas próximas)
�� WWherehere - Informações sobre localização e o ambiente
• Espacial (localização, orientação, velocidade)
• Condições Ambientais (temperatura, qualidade do ar,luz, som)
• Disponibilidade de recursos (largura de banda)
20
Caracterização dos Elementos Caracterização dos Elementos Contextuais Contextuais –– 5Ws+1H 5Ws+1H
�� WWhenhen - Informações temporais
• Dia, hora, estação do ano
• Atuais e históricas
�� WWhathat - Informações sobre atividades sendo desenvolvidas pelo usuário
• Atividades individuais (falando, lendo, caminhando,escrevendo)
• Atividades sociais (em reunião, ministrando aula)
• Difícil detectar automaticamente
21
Caracterização dos Elementos Caracterização dos Elementos Contextuais Contextuais –– 5Ws+1H5Ws+1H
�� WWhyhy - Informações sobre motivos associados às ações dos usuários
• Mais difícil ainda• Geralmente realizada a partir da combinação de
diversas outras informações contextuais:
� Ex: Um desenvolvedor executa uma atividade como etapa de um processo mais amplo.
•• HHowow : define a forma como os elementos de contexto serãocoletados
• Ex: dispositivos como GPS são utilizados para realizara aquisição do contexto de localização
Contexto em Diferentes Contexto em Diferentes Áreas de ConhecimentoÁreas de Conhecimento
23
O Conceito de Contexto O Conceito de Contexto
� Tem sido objeto de estudo em diversas áreasáreas :
• Psicologia Cognitiva, Lingüística e na ComputaçãoComputação
� Na Computação
• Áreas pioneiras
�� Computação UbíquaComputação Ubíqua
�� Inteligência ArtificialInteligência Artificial
• Pesquisas Recentes:� Sistemas Colaborativos, Hipermídia Adaptativa, Interação Humano-
Computador, Integração de Dados, entre outras.
24
Contexto na Inteligência Artificial
� Considerada a primeira grande áreaprimeira grande áreada computação a estudar esse conceito
� McCarthy (1993) acreditava que sistemas desenvolvidos na IA sofriam por excesso de generalidade
� Exemplo: Sistema MYCINMYCIN• Indicava tratamento para doenças
infecciosas
• Mas não era sensível a fatores (como diarréia e desidratação) que aconteciam ao longo do tratamento
Contexto do Paciente???Contexto do Paciente???
5
25
Contexto na Inteligência ArtificialContexto na Inteligência Artificial
�� Formalização do ContextoFormalização do Contexto [McCarthy, 1993]
� “Verdades relativizadas existem dentro de um contexto”
� Predicado especial ist(c,p)ist(c,p)
• A proposição pp é verdadeira (is true) dentro do contexto cc .
C’: ist(contexto-de (“Histórias de Sherlock Holmes”),
(“Holmes é detetive”))
26
Contexto na Inteligência ArtificialContexto na Inteligência Artificial
� Benefícios [Akman e Surav 1997; Brézillon 1999] em diversos subdomínios:
• Representação do conhecimento
• Processamento de linguagem natural
• Reconhecimento de padrões
• entre outros
� Exemplo: em processamento de linguagem natural, pode
auxiliar na redução de ambigüidadesredução de ambigüidades lingüísticas.
27
Contexto na Computação UbíquaContexto na Computação Ubíqua
� Sistemas Ubíquos devem:• estar preparados para intermediar não
apenas a comunicaçãocomunicação entre o usuário e o computador, mas também entre dispositivos
• levar em consideração a mobilidademobilidadeconstante desses usuários e dispositivos
Compreender o contextocontexto atual
dos indivíduos e dispositivos se torna
um fator de extrema necessidade
28
Contexto na Computação Ubíqua Contexto na Computação Ubíqua --ExemplosExemplos
� Sistemas acoplados a sensores GPS
• O usuário recebe informações direcionadas ao local em que ele se encontra, como informações turísticas ou mapas com melhores rotas
� Casas inteligentes
• O contexto permite que aparelhos domésticos, como telefone, interruptor de luz ou cortinas, funcionem de forma pró-ativa de acordo com o contexto da casa e dos seus moradores
O telefone pode direcionardirecionar chamadaschamadas
para a secretária eletrônica,
quando o morador estiver dormindo
29
Contexto na Computação UbíquaContexto na Computação Ubíqua
� Um dos primeiros trabalhos a conceituar contexto em computação ubíqua foi realizado pelo grupo de Schilit (1994):
• “Localização, identificação dos grupos de pessoas envolvidas e objetos próximos e as mudanças que aconteciam nessas entidades”
• Aspectos essenciais:
� onde se está, com quem se está e quais recursos estão disponíveis
Localização, conectividade, custos de comunicação, pessoas próximas ao usuário são informações informações contextuaiscontextuais
30
Contexto na Interação Humano-Computador
� Interface ⇔ Comunicação
� Tudo está inserido dentro de um contexto contexto circunstancialcircunstancial (estado do sistema + cultura do usuário)
� Contexto é uma informação implícitainformação implícita que pode ser utilizada para interpretar ações explícitas e melhorar a comunicação entre usuários e aplicações [Moran e Dourish 2001]
Projetista
Usuários
6
31
Contexto na Interação HumanoContexto na Interação Humano--ComputadorComputador
� A interação com o usuário deve ser o mais flexívelflexível possível
• Através de modalidades múltiplas como Web, voz e tato, pode-se identificar preferências e capacidades dos usuários
�� Informações ContextuaisInformações Contextuais
• Preferências
• Se o usuário possui algum problema físico que exija uma interface especial
• Histórico de utilização da aplicação
32
Contexto na Interação HumanoContexto na Interação Humano--ComputadorComputador
� A interface vai se adaptaradaptar às necessidades do usuário
• de forma não intrusiva
• provendo feedback das suas ações
• solicitando deferimento em casos de conflito
� Resultados da adaptabilidadeadaptabilidade
• O usuário é poupado de responder, continuamente, a um conjunto de perguntas ou preencher parâmetros de especificação de uso
• Maior grau de usabilidade
33
Contexto em Sistemas Colaborativos
� Ambiente de trabalho colaborativo efetivo:
• Questão de facilitar o contato e a comunicaçãocomunicaçãoentre os atores, a compreensão mútuacompreensão mútua e o compartilhamento do compartilhamento do conhecimentoconhecimento [Brézillon e
Araújo 2005].
O uso do contextocontexto pode ser muito útil para viabilizar essas tarefas:
• Aumentar a produtividade do grupo, a qualidade do trabalho e tornar os usuários mais motivados a interagir.
34
Contexto em Sistemas Colaborativos
� O contextocontexto pode ser relativo:
• Ao grupogrupo
� ex. porque o grupo foi constituído
• À constituição organizacionalconstituição organizacionaldo grupo
� ex. quem é o grupo, quais são os participantes, que papéis desempenham em quais tarefas planejadas
35
Contexto em Sistemas Colaborativos
� O contexto pode ser relativo:
• Aos membros individuaismembros individuais do grupo
� ex. seu perfil técnico
• Ao ambiente físicoambiente físico onde cada indivíduo do grupo se encontra
� ex. localização, tempo, dispositivos existentes
• Às interaçõesinterações ocorridas e em andamento pelo grupo
� ex. tarefas realizadas, artefatos compartilhados
• Ao projetoprojeto em si
� ex. seu objetivo
36
Contexto em Hipermídia Adaptativa
� Sistemas de Hipermídia Hipermídia Adaptativa Adaptativa estão relacionados a:
• Modelagem de usuários e grupos
• Bancos de dados
• Métodos colaborativos
• Interfaces dinâmicas adaptativas
� Personalização e Navegação na Web
7
37
Contexto em Hipermídia Adaptativa
� Sistemas de HAHA
• Úteis quando há a necessidade de disponibilizar informação seletiva seletiva econtextualcontextual a usuários com diferentes objetivos e níveis de conhecimento
O conceito de contextocontexto pode exercer um papel
fundamental, pois ajuda a determinar o que é ou não
relevanterelevante de acordo com o modelo do usuáriomodelo do usuário
38
Contexto em Hipermídia AdaptativaContexto em Hipermídia Adaptativa
� Sistemas baseados na web que fazem uso de HA podem se beneficiar do uso de contexto como forma de otimizar tanto a apresentaçãoapresentação quanto a navegaçãonavegação adaptativa
� O contexto do usuário permite que tais sistemas adaptem seus conteúdos ao usuárioadaptem seus conteúdos ao usuário , habilitando, incluindo ou removendo hyperlinks das páginas de acordo com o que é mais relevantede acordo com o que é mais relevantepara ele.
39
Contexto em Hipermídia Adaptativa Contexto em Hipermídia Adaptativa --exemploexemplo
� Otimização de consultas feitas a engenhos de engenhos de buscabusca
• Usuários devem informar palavras-chave
• Informações sobre o contexto do usuário (atual e/ou histórico) podem ser usadas como um conhecimento adicionalconhecimento adicional para tornar os resultados das buscas mais próximos do que o usuário deseja
� sem que o usuário necessite informar diretamente esses critérios
40
DiscussãoDiscussão
� O conceito de contexto pode ter diferentes visões e aplicações, mas a sua base teórica é comumbase teórica é comum a todas as áreas
� Muitas das definições originadas em cada área de conhecimento se tornam comuns a outras, podendo ser complementarescomplementares
41
DiscussãoDiscussão
� Consenso
• A natureza relacionalrelacional do contexto
� O contexto não é uma entidade autônoma mas existe, apenas, quando relacionado a uma entidade;
� Está chovendo?
• O contexto é abordado como uma coleção de itensitens (ex. conceitos, regras, recursos, proposições e suposições) associados a uma situação específicasituação específica (ex. ambiente, domínio, tarefa, agente e interação)
42
DiscussãoDiscussão
(1) O contexto atua como um conjunto de conjunto de restrições que influenciam o comportamentorestrições que influenciam o comportamento de um sistema embutido em uma dada tarefa; e
(2) A definição de contexto depende da área de depende da área de conhecimentoconhecimento à qual pertence.
� Pesquisa realizada [Bazire e Brézillon 2005] coletou aproximadamente 150 definições de contexto
� Duas conclusões principais:
8
Sistemas Sensíveis ao Contexto
44
CenárioCenário dada ComputaçãoComputação AtualAtual
� Mudança no uso dos sistemas computacionais• De: aplicativos de
apoio organizacional
• Para: aplicativos de apoio a tarefas pessoais diárias
45
Aplicação
CenárioCenário dada ComputaçãoComputação AtualAtual
Agente
Tarefa
� Mudança no usodos sistemascomputacionais• De: aplicativos de
apoio organizacional
• Para: aplicativos de apoio a tarefas pessoais diárias
apóia
Como apoiar usuários na execução de tarefas diárias e na tomada de decisões?
46
Aplicação
CenárioCenário dada ComputaçãoComputação AtualAtual
Agente
Tarefa
Como identificar as informações
relevantes para o usuário em sua
tarefa atual?
FocoFoco
apóia
47
Aplicação
apóiaAgente
Tarefa
FocoFocoAjuda a resolver
conflitos semânticose ambigüidades
Apóia identificação do que é ou não
relevante em um dado momento
Cenário da Computação AtualCenário da Computação Atual
48
DefiniçõesDefinições
Contexto
Conhecimento que ajuda a identificar o que é ou não relevante em um dado momento
Sistema Sensível ao Contexto (CSS)
Aplicação que usa contexto para prover
serviços e informações mais relevantes
Aplicação
apóiaAgente
Tarefa
FocoFoco
9
49
apóia
ExemploExemplo
FocoFoco
José
location([BentoGonçalves ])
name(CSBC’09 )
hasContext
hasAge(60)
hasGender(male )
livesIn([Recife ])
hasContext
Reservar Transporte
Planejamento de MissoesComportamentoComportamento
isProfessor(yes )
Elementos Contextuais
Elementos Contextuais
50
apóia
ExemploExemplo
FocoFoco
hasContext
Reservar Transporte
Planejamento de Missoes
MariaisStudent(yes )
hasAge(23)
hasGender(female )
livesIn([PortoAlegre ])
hasContext
ComportamentoComportamento
location([BentoGonçalves ])
name(CSBC’09 )
51
Computação Sensível ao Contexto
O termo computação sensível ao contextocomputação sensível ao contexto(context-aware computing)
foi proposto por Schilit et al. (1994).
Definição [Dey e Abowd, 2000]
“Sistemas que utilizam o contexto para fornecer informaçõesinformações e/ou serviços serviços relevantesrelevantes para o usuário, onde relevância depende da tarefa depende da tarefa do usuário”.
52
� Sistemas cientes de contexto (context-aware systems)
� Sistemas baseados em contexto (context-based systems)
� Sistemas adaptativos (adaptive systems)
�� Sistemas sensíveis ao contextoSistemas sensíveis ao contexto (context-sensitive systems)
• “Perceber + adaptar-se + reagir ”• Nem sempre o sistema deve, necessariamente, reagir ao contexto, mas
pode apenas disponibilizá-lo como conhecimento adicional a seus usuários
Termos UtilizadosTermos Utilizados
53
ComparativoComparativo com com SistemasSistemas TradicionaisTradicionais
SistemaTradicional
Sistema Sensívelao Contexto
entrada explícita
saída padrão
entrada explícita
entrada percebida
entrada inferida
Percepção
Outros
serviçosAdaptação
Assistência
Executam ações com base em informações fornecidas explicitamente pelos usuáriosAgem da mesma forma, independente do usuário
Consideram, também, informações contextuais coletadas de outras fontesMudam comportamento segundo essas informações
54
CSS – Informações de Entrada
� Explícitas fornecidas pelos usuários
� Armazenadas em base de conhecimento contextual
� Extraídas de outras aplicações
� Inferidas por meio de raciocínio
� Percebidas a partir do ambiente
Sistema Sensívelao Contexto
entrada explícita
entrada percebida
entrada inferida
10
55
CSS – Comportamento e Serviços Providos
� Assistência às tarefas
� Apoio à percepção
� Adaptação do comportamento
� Outros serviços
Sistema Sensívelao Contexto
Percepção
Outros
serviçosAdaptação
Assistência
56
Assistência às tarefas
� Visam facilitar o uso do sistema
� como aconselhar e/ou avisar sobre tarefas que ele pode realizar para obter seus objetivos
� filtragens e classificação de itens (ex. materiais, objetos e pessoas) com base no perfil e interesses dos usuários
Tutoria Inteligente Tutoria Inteligente
RecomendaçõesRecomendações
57
Percepção do contexto
� Visa notificar o usuário sobre o contexto associado a pessoas e interações do seu interesse
•
� Membros de um grupo devem conhecer e compreender as ações realizadas pelos demais, como forma de coordenar suas próprias ações
Especialmente relevante em sistemas colaborativos sistemas colaborativos
58
Adaptação do comportamento ao contexto
� Implica a capacidade do sistema de modificar seu comportamento,
• Responder a mudanças ocorridas no ambiente
� Ações, eventos e definições dos usuários
Exemplo: Personalização de sites WebPersonalização de sites Web , realizada a partir da análise do perfil do usuário e de seus padrões de navegação.
59
Outros Serviços dependentes do contextoOutros Serviços dependentes do contexto
� Contexto pode ser empregado para enriquecer o enriquecer o conhecimentoconhecimento que já se tem sobre alguma coisa
• Exemplo:
� Enriquecer semanticamente definições sobre entidades armazenadas em diferentes bancos de dados
� Pode apoiar integração de esquemas de dadosintegração de esquemas de dados
complementar MetadadosMetadados em BDs
Gerenciamento de fotos em celulares
Exemplos de Aplicações Sensíveis ao Contexto
11
GMail/AmazonGMail/Amazon
62
GMail
� Faz recomendação de linksrecomendação de links baseada em análise de conteúdo e contextoanálise de conteúdo e contexto
� Mantém uma área de propaganda periférica em seus sistemas, embutida na tela de visualização dos emails
• Essas propagandas são sensíveis ao conteúdo da mensagem que o usuário está lendo
Área: Hipermídia AdaptativaHipermídia Adaptativa
63
GMail
Propaganda sensível ao contexto no GMail64
AmazonAmazon
� Esse portal mantém o histórico de utilizaçãohistórico de utilização do site pelos usuários
• Ex. materiais que visualizou, materiais que comprou e pesquisas realizadas
� Mantém também avaliações dos materiaisavaliações dos materiais feitas por outros usuários, e o tipo de material que o usuário está consultando (livro, dvd, etc.)
Área: Hipermídia AdaptativaHipermídia Adaptativa
65
AmazonAmazon
� A partir do cruzamento das informações cruzamento das informações contextuaiscontextuais o sistema descobre padrões do tipo “Clientes que visualizaram este livro também visualizaram”
• Apresenta recomendações de materiais que potencialmente o usuário poderia estar interessado
66
Amazon Amazon -- exemploexemplo
O sistema sugere guias de navegação pelo site seguindo
orientações elaboradas por outros usuários relacionadas ao
assunto do material que o usuário está visualizando no momento
12
Dynamic Tour GuideDynamic Tour Guide
68
Dynamic Tour Guide (DTG)
�� Aplicação móvelAplicação móvel cujo objetivo é prover rotas personalizadas para cada tipo de turista ou necessidade de passeio [Kramer et al. 2005]
• O DTG seleciona atrações
• Planeja um tour individualizado
• Permite navegação entre os locais de passeio
• Oferece informações ambientais
Área: Computação UbíquaComputação Ubíqua
69
Dynamic Tour Guide (DTG)Dynamic Tour Guide (DTG)
� Sensível ao contexto do turistacontexto do turista :
• Seu perfil
� Obtém informações sobre a identificação pessoal e sobre as preferências do turista, como os pontos turísticos que ele deseja visitar e o tempo disponível para cada passeio
• Sua localização
� Obtida via GPS
� Determina sua velocidade
• Data corrente
� Indica a estação do ano e suas condições climáticas70
Dynamic Tour Guide (DTG)
� Capaz de adaptar seu funcionamento
• Quando um turista começa a caminhar, o DTG verifica sua velocidade e as condições das ruas por onde ele deve passar
• O turista será guiado até o próximo ponto turístico que ele tenha selecionado e receberá informações sobre ele
71
Dynamic Tour GuideDynamic Tour Guide
72
Dynamic Tour GuideDynamic Tour Guide
Arquitetura
13
73
Dynamic Tour Guide (DTG)Dynamic Tour Guide (DTG)
� Uso de Ontologia para representar informações contextuais
• Atualização da ontologia reutiliza perfis de interesse dos usuários já armazenados
• Exemplos de categorias de interesse:
�Edificações, pontes, restaurantes, praiasCO2DE/POLITeamCO2DE/POLITeam
75
Collaborate to Design (CO2DE)
�� Editor síncrono/assíncronoEditor síncrono/assíncronode diagramas UML
� Projetado para permitir que participantes compartilhem o mesmo espaço de edição e controlem versões [Borges et al. 2004]
Área: Sistemas ColaborativosSistemas Colaborativos
76
Collaborate to DesignCollaborate to Design (CO2DE)(CO2DE)
� Aspectos de trabalho em grupo
• Participantes se conectam a uma Sessão
• Lista de participantes (coordenação)
• Espaço de trabalho compartilhado
• Recursos de percepção do trabalho em grupo (visibilidade do trabalho paralelo)
• Evolução do modelo por versões (“máscaras”)
• Mecanismos de Awareness (Telepointer, outros)
• Mecanismo de comunicação (chat)
• Histórico das ações de cada participante
77
Collaborate to DesignCollaborate to Design (CO2DE)(CO2DE)
Painel deMáscaras
Painel deUsuáriosPainel de Diagramação
78
Collaborate to DesignCollaborate to Design (CO2DE)(CO2DE)
� Provê funcionalidades para ajudar membros individuais a estarem “cientes” das informações contextuais relacionadas à tarefa corrente
• Ex. Informações sobre:
� A composição do grupo
� A posição de cada membro do grupo
� Cada novo documento sendo simultaneamente discutido, entre outras.
14
79
POLITeamPOLITeam
� Objetiva suportar telecooperação entre agências do governo alemão (Bonn e Berlim)
� Provê ferramentas:
• Espaço de trabalho compartilhado
� Acesso compartilhado a documentos
• Folders de circulação eletrônica
� E-mail para comunicação
Área: Sistemas ColaborativosSistemas Colaborativos
80
POLITeam
� Provê percepção contextualpercepção contextual
• Exemplos:
� Ações de outros usuários são indicadas por ícones
� Representação de usuários ativos
� Utiliza o contexto de trabalhocontexto de trabalho do usuário para permitir que usuários especifiquem perfis de percepção [Mark etal. 1997]
• Apoia o sistema na filtragem seletiva das informações de percepção
� Artefatos são associados a um conjunto de contextos
81
POLITeam
Contexto de trabalho Mostrar a informação de percepção quando
“Trabalhando no documento” O usuário abrir o documento
“Acessando a pasta do documento”
O usuário abrir a pasta que contém o documento
“Acessando uma pasta mãe qualquer do documento”
O usuário abrir qualquer pasta que faça parte da árvore de pastas onde o documento se encontra
“Trabalhando no mesmo processo”
O usuário acessar um outro documento que compartilha o mesmo código de arquivo
“Imediatamente” Imediatamente, independente do contexto
Adaptado de [Mark et al. 1997]
GeoDialogueGeoDialogue
83
GeoDialogue/DAVE_G
� DAVE-G - Dialogue-Assisted Visual Environment for Geoinformation
• Ambiente genérico no qual o usuário pode interagir com sistemas de informação geográfica através de uma interface multimodal
Área: Interação HumanoInteração Humano--ComputadorComputador
84
GeoDialogue/DAVE_G
� GeoDialogue
• Agente que implementa a abordagem de diálogo colaborativo baseado em contexto.
• Utilização de linguagem natural
Desafio na busca de modalidades humanas: a
comunicação humanacomunicação humana é inerentemente
contextualizadacontextualizada pelo conhecimento existente entre
os participantes
15
85
GeoDialogue/DAVE_GGeoDialogue/DAVE_G
� Interações usuário-SIG se encontram situadas em conjuntos complexos de contextos:
• Forma como a solicitação (via fala ou não) é realizada
• A tarefa em si
• O perfil e conhecimento do usuário
• O espaço geográfico em questão (escala, área envolvida)
� Ex. Consulta Q: “Hotéis próximospróximos a Miami” [Cai et al. 2003]
86
GeoDialogueGeoDialogue
� Implementa uma abordagem de diálogos que considera fatores contextuais para a interpretação de uma solicitação:
• O espaço geográfico
• O contexto pessoal do usuário e sua trajetória de interação
• O contexto da tarefa
� Protótipo [Cai et al. 2003] implementa o conceito de “near ” (próximo)
87
GeoDialogue GeoDialogue -- exemploexemplo
CoBra/EasyMeetingCoBra/EasyMeeting
89
CoBra - Context Broker Architecture
� Visa permitir a implementação de agentes, serviços e dispositivos que exploram informações contextuais em espaços inteligentes (salas de reunião, veículos, escritórios) [Chen 2004]
SemanticWeb
PervasiveComputing
Software Agents
CoBrACoBrA
90
CoBra CoBra -- Context Broker ArchitectureContext Broker Architecture
� Arquitetura contempla quatro aspectos principais:
• Representação das informações de contexto
• Inferência
• Compartilhamento de conhecimento/informações
• Políticas de proteção da privacidade do usuário
16
91
CoBra CoBra -- Context Broker ArchitectureContext Broker Architecture
�� Context BrokerContext Broker (negociador de contexto)
• Principal componente
• Agente inteligente que assume a maioria das responsabilidades relativas ao uso de contexto
• Outros agentes se comunicam com ele através do protocolo ACL/FIPA utilizando a ontologia pré-definida para representação de contexto.
92
CoBra CoBra -- Context Broker ArchitectureContext Broker Architecture
Arquitetura CoBrA [Chen, 2004]
93
CoBra/ EasyMeeting
�� Principal aplicaçãoPrincipal aplicaçãodesenvolvida sobre esta arquitetura
� Objetiva prover serviços sensíveis ao contexto para auxiliar palestrantes e ouvintes durante uma conferência [Chen 2004]
94
CoBra/CoBra/ EasyMeetingEasyMeeting
� O Context BrokerContext Broker é responsável pela coleta e manutenção de informações sobre:
• A localização dos participantes do evento
• As apresentações que estão agendadas
• Os perfis dos palestrantes
• O status do evento
95
CoBra/ EasyMeeting
� A aplicação decide quando oferecer serviçosserviços como:
• Controle de música ambiente
• Iluminação da sala de conferência
• Apresentação do perfil do palestrante
96
Exemplo de CenárioExemplo de Cenário
Alice entra na Sala de Conferência
O broker detecta a presença de Alice
B≈≈≈
Gerenciador diz: “compartilhar com demais agentes da sala”
A
B
O broker constróio modelo de contexto
Web
Alice apresenta seuPerfil ao broker
B
Gerenciador diz: “informar ao agente pessoal sua localização”
AB .. isLocatedIn ..
17
97
Exemplo de CenárioExemplo de Cenário
Seu agente informa ao broker seu papel e suas intenções
+
O broker informa a lo-calização dela ao agente
A
O agente do projetor deseja ajudar Alice
O agente do projetor pedeinformaçoes sobre slides
B
O agente do projetor apronta slides para iniciar
O broker informaaos demais agentes
B
Travel Mate/Virtual Team/Travel Mate/Virtual Team/VICTORVICTOR
99
Travel MateTravel Mate –– Solvent SDSolvent SD
100
Travel Mate Travel Mate
� Dispositivo móvel para ajudarajudar turistasturistas emem viagensviagens� Funcionalidades
• Utiliza GPS para localização global• Acessa mapa turístico contextualizado da localidade• Informações sobre serviços, redes de hotéis e
restaurantes disponíveis• Avaliação dos pontos turísticos, com notas e
comentários de turistas que já passaram pelo local• Permite localizar e se comunicar com amigos próximos
ou distantes
101
Travel Mate Travel Mate
� Informações de contexto:
• Localização
• Tempo
• Pessoas próximas
• Preferências do Usuário
• Atividade em uma dada localização
• Recomendações de outros usuários
102
Virtual Team
� Trata-se de um jogojogobaseado em simulação de negócio
• Uma fábrica de software
• Para o aprendizado aprendizado de gerentes de de gerentes de projeto novatosprojeto novatos
18
103 104
Virtual TeamVirtual Team
� E o contexto?
• Ações passadas
• Relacionamentos
• Tarefas Alocadas
• Habilidades
• Personalidade
• Emoções
105
VICTORVICTOR
Virtual Intelligent Companion for TutOring and Reflection
(Companheiro Virtual de Aprendizado)
21/01/2005 Paula Coelho
Considerações sobre Considerações sobre Aplicações Sensíveis ao Aplicações Sensíveis ao
ContextoContexto
107
Considerações sobre Aplicações Considerações sobre Aplicações Sensíveis ao ContextoSensíveis ao Contexto
� Aplicações utilizam contexto com o objetivo de prover serviços mais relevantesprover serviços mais relevantes aos seus usuários
� Informações de perfis, preferências, localização, tarefas em curso, históricos de uso, padrõesdetectados e outras informações inferidas são tratadas como contexto
108
Considerações sobre Aplicações Considerações sobre Aplicações Sensíveis ao ContextoSensíveis ao Contexto
� Informações contextuais são utilizadas, por exemplo, para:
• Promover personalizaçãopersonalização , como rotas individuais no DTG;
•• Filtragem seletivaFiltragem seletiva de informações de percepção, como no caso do POLITeam;
•• Redução de ambigüidadesRedução de ambigüidades , como na contextualização do operador “Near”, no GeoDialogue;
19
109
Considerações sobre Aplicações Considerações sobre Aplicações Sensíveis ao ContextoSensíveis ao Contexto
� Informações contextuais são utilizadas, por exemplo, para:
•• Serviços de ambienteServiços de ambiente , como iluminação da sala de conferências, no Easy Meeting;
•• SugestõesSugestões sensíveis ao conteúdo corrente de mensagens, como no exemplo do GMail
110
Tabela Comparativa
CAS Objetivo Arquitetura Representação Domínio Usa Conte xto para
prover
EasyMeeting Prover serviços sensíveis ao contexto para
auxiliar palestrantes e ouvintes em
uma conferência
Baseada em agentes; sobre a
infraestrutura CoBra
Ontologia Computação Ubíqua
Serviços de ambiente
Dynamic Tour
Guide
Prover rotas personalizadas
aos turistas
Agentes + web services
Ontologia Computação Ubíqua
Personalização e
adaptação
CO2DE Trata-se de um editor
cooperativo de digramas UML
Groupware Percepção entre
membros e
informações
relacionadas à tarefa corrente
111
Tabela Comparativa
CAS Objetivo Arquitetura Representação Domínio Usa Conte xto para
prover
GeoDialogue Abordagem de diálogo
colaborativo baseado em contexto para
interfaces para sistemas de informação geográfica
Baseada em agentes
Ontologia IHC Redução de ambigüida
des
GMail Sistema de e-mail que faz
recomendação de links baseada
em análise de conteúdo e
contexto
Par chave-valor Hipermídia adaptati
va
Sugestões de links
Amazon Portal que mantém o histórico de utilização do site pelos usuários
Hipermídia Adaptativa
Sugestões de guias de navegação
Parte IIParte II
Desafios no Desenvolvimento de CSSRepresentação de contexto
Modelos e Metamodelo de contexto
Modelos e Processo para o Desenvolvimento Modelos e Processo para o Desenvolvimento de Sistemas Sensíveis ao Contextode Sistemas Sensíveis ao Contexto