o que é contexto? por que usápor que usá--lloo??adolfo/etc/sbc/eri2009/dctos/context-sl... ·...

19
1 Minicurso Minicurso 08 08 Ana Carolina Salgado [email protected] Patricia Tedesco [email protected] Bento Gonçalves-RS, Julho / 2009 Vaninha Vieira [email protected] Modelos e Modelos e Processos Processos para o Desenvolvimento para o Desenvolvimento de Sistemas Sensíveis ao Contexto de Sistemas Sensíveis ao Contexto 2 Agenda do Agenda do Curso Curso 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 I Parte I Introdução e Definições Contexto 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 Contexto de Sistemas Sensíveis ao Contexto O que é Contexto? O que é Contexto? Por que usá Por que usá-lo? lo? 5 Contexto Contexto em em 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 em Contexto em Interações “ Interações “Pessoa Pessoa-Computador Computador

Upload: trinhdat

Post on 11-Nov-2018

217 views

Category:

Documents


0 download

TRANSCRIPT

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