plataforma para gerenciamento de dados para dispositivos...

12
Plataforma para gerenciamento de dados para dispositivos oveis baseada no conhecimento do contexto Thadeu R. Carmo 1 1 Instituto de Matem´ atica e Estat´ ıstica da Universidade de S˜ ao Paulo [email protected] Abstract. With the increasing number of mobile devices, not limited to mobile phones or palm tops, interaction design becomes one of the major issues when developing mobile information systems in terms, not only the choice of input and output channels and presentation of information but also the application context-awareness. The present document gives a description of the platform and also how it was used to develop a mobile tourist information system for an international arts festival where interaction was based on a combination of interactive paper and speech output. Resumo. Com o grande n´ umero de dispositivos m´ oveis existentes, n˜ ao sendo limitados somente a celulares ou palm tops, torna-se uma tarefa complicada ao s´ o o modo de interac ¸˜ ao com a escolha dos canais de entrada e sa´ ıda de informac ¸˜ oes, mas tamb´ em o bom uso e conhecimento do contexto em quest˜ ao. Ser´ a apresentado um resumo da plataforma desenvolvida em Java e descrita em [11], bem como o uso desta plataforma no desenvolvimento de um sistema de informac ¸˜ ao m´ ovel sobre turismo em um festival internacional de artes, onde a interac ¸˜ ao com os usu ´ arios era baseada em uma combinac ¸˜ ao de papel interativo e voz. 1. Introduc ¸˜ ao Sistemas m´ oveis trazem desafios relacionados n˜ ao somente a redes dinˆ amicas e distribuic ¸˜ ao de dados, mas tamb´ em a novos meios de interac ¸˜ ao. Usu´ arios de sistemas oveis procuram a informac ¸˜ ao certa no momento certo, sem que sua mobilidade e usabi- lidade sejam comprometidas. O dom´ ımio de turismo j´ a vem sido utilizado como objeto de pesquisa para sis- temas m´ oveis, como em [12] e, enquanto alguns estudos conseguiram demonstrar a im- portˆ ancia do conhecimento do contexto em quest˜ ao, muitos n˜ ao obtiveram sucesso. Como turismo ´ e uma atividade social, sendo em muitos casos praticada em fam´ ılia ou em grupos de amigos, o uso de dispositivos como PDAs, cujo foco ´ e uso pessoal, e possuem telas razoavelmente pequenas, acaba n˜ ao sendo uma boa escolha, pois tamb´ em n˜ ao suporta ac ¸˜ oes como comparac ¸˜ ao e combinac ¸˜ ao de informac ¸˜ oes, tarefas que turistas necessitam [5]. Algumas tentativas com tablet PCs foram feitas com o intuito de se conseguir funcio- nalidades melhores [4], mas sem muito sucesso por conta da mobilidade que acaba sendo comprometida. As limitac ¸˜ oes apresentadas acima levaram os pesquisadores a procurar novas tec- nologias m´ oveis que sejam capazes de servir, tanto conte´ udo est´ atico quanto dinˆ amico.

Upload: lamdan

Post on 09-Nov-2018

217 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Plataforma para gerenciamento de dados para dispositivos ...grenoble.ime.usp.br/~gold/cursos/2008/movel/slides/posCorrigidas/... · ciadores de bancos de dados orientados a objetos,

Plataforma para gerenciamento de dados para dispositivosmoveis baseada no conhecimento do contexto

Thadeu R. Carmo1

1Instituto de Matematica e Estatıstica da Universidade de Sao Paulo

[email protected]

Abstract. With the increasing number of mobile devices, not limited to mobilephones or palm tops, interaction design becomes one of the major issues whendeveloping mobile information systems in terms, not only the choice of inputand output channels and presentation of information but also the applicationcontext-awareness. The present document gives a description of the platformand also how it was used to develop a mobile tourist information system foran international arts festival where interaction was based on a combination ofinteractive paper and speech output.

Resumo. Com o grande numero de dispositivos moveis existentes, nao sendolimitados somente a celulares ou palm tops, torna-se uma tarefa complicadanao so o modo de interacao com a escolha dos canais de entrada e saıda deinformacoes, mas tambem o bom uso e conhecimento do contexto em questao.Sera apresentado um resumo da plataforma desenvolvida em Java e descrita em[11], bem como o uso desta plataforma no desenvolvimento de um sistema deinformacao movel sobre turismo em um festival internacional de artes, onde ainteracao com os usuarios era baseada em uma combinacao de papel interativoe voz.

1. Introducao

Sistemas moveis trazem desafios relacionados nao somente a redes dinamicas edistribuicao de dados, mas tambem a novos meios de interacao. Usuarios de sistemasmoveis procuram a informacao certa no momento certo, sem que sua mobilidade e usabi-lidade sejam comprometidas.

O domımio de turismo ja vem sido utilizado como objeto de pesquisa para sis-temas moveis, como em [12] e, enquanto alguns estudos conseguiram demonstrar a im-portancia do conhecimento do contexto em questao, muitos nao obtiveram sucesso. Comoturismo e uma atividade social, sendo em muitos casos praticada em famılia ou em gruposde amigos, o uso de dispositivos como PDAs, cujo foco e uso pessoal, e possuem telasrazoavelmente pequenas, acaba nao sendo uma boa escolha, pois tambem nao suportaacoes como comparacao e combinacao de informacoes, tarefas que turistas necessitam[5]. Algumas tentativas com tablet PCs foram feitas com o intuito de se conseguir funcio-nalidades melhores [4], mas sem muito sucesso por conta da mobilidade que acaba sendocomprometida.

As limitacoes apresentadas acima levaram os pesquisadores a procurar novas tec-nologias moveis que sejam capazes de servir, tanto conteudo estatico quanto dinamico.

Page 2: Plataforma para gerenciamento de dados para dispositivos ...grenoble.ime.usp.br/~gold/cursos/2008/movel/slides/posCorrigidas/... · ciadores de bancos de dados orientados a objetos,

Considerando as necessidades de um usuario em uma feira de turismo, o interesse e vol-tado para interfaces baseadas em papel, explorando novas formas de canetas e papel di-gital, de modo que estes possam ser usados para captura de dados e interacao. A escolhado canal de saıda das informacoes nao ficou limitado somente a telas, como por exemploas de PDAs, mas inclui tambem a possibilidade do uso de voz, utilizando mecanismos deconversao de texto para audio. Para suportar o desenvolvimento de aplicacoes e ajudar nasinvestigacoes e experiencias, uma plataforma experimental foi criada [3] e utilizada paraa criacao de um guia movel para os visitantes do festival internacional de arte de Edin-burgh de 2004. No desenvolvimento desde guia, os dispositivos moveis focados foramblocos de papel interativo combinados com entrada e saıda de voz, alem de uma versaoque combina somente voz.

As necessidades encontradas como generalidade e flexibilidade foram atingidasatraves de uma abordagem focada em banco de dados. Este tipo de abordagem, permiteque todas as informacoes pertinentes a aplicacao e suas interfaces sejam armazenadas demaneira simples, podendo ser atualizadas em tempo de execucao. Os sistemas geren-ciadores de bancos de dados orientados a objetos, permitem nao somente o armazena-mento de dados, mas tambem o gerenciamento de codigo podendo controlar, inclusive, aaplicacao. A abordagem escolhida foi uma extensao e integracao de conceitos de sistemasde hypermedia abertos e bancos de dados para publicacao de conteudos. Com base nas ex-periencias obtidas com o sistema feito para o festival de 2004, a plataforma e a aplicacaoforam redefinidas para o festival do ano seguinte. Nesta mudanca, a maior dificuldade ar-quitetural foi a troca da plataforma de publicacao de conteudo por uma que possui suporteintegrado com conhecimento do contexto, atraves de um conceito de variacoes de objetose versoes [2]. As interfaces focadas nesta versao foram um conjunto de documentos in-terativos – um folheto do evento, um mapa e um marcador – com um canal para saıda devoz e, em paralelo, conteudo HTML acessado via navegadores em PDAs e computadoresconvencionais, alem de um quiosque que dava a possibilidade de os usuarios imprimiremagendas interativas personalisadas.

2. Visao Geral da PlataformaUm dos maiores desafios no gerenciamento de dados para dispositivos moveis esta rela-cionado em como suportar a interacao com os usuarios em movimento. Considere o casode turistas visitando uma cidade, por exemplo. Estes turistas nao ficariam confortaveiscarregando pesados equipamentos, alem de ser mais confortavel eles terem as mao livres.Turistas normalmente andam em duplas ou grupos trocando informacoes sobre o planeja-mento das atividades. Por todas estas razoes, fazer simplesmente uma adaptacao da telaque e apresentada no computador desktop para a tela de um PDA, definitivamente nao e amelhor solucao. E importante que outras formas inovadoras de interfaces sejam conside-radas e investigadas, sendo esperado que dispositivos vestıveis e canais nao visuais, taiscomo audio, venham a ter um papel importante. Um dos mais importantes objetivos e apossibilidade de manter formas familiares de documentos em papel, como mapas, guias efolhetos, usando tambem tecnologias emergentes como caneta e papel digital para agregarinformacoes e servicos a estes. Deste modo, a transicao do mundo do papel para o mundodigital e simples e um tanto quanto natural, podendo ambas serem suportadas juntas.

Para facilitar a prototipacao rapida de interfaces para o usuario em um ambientecom diferentes tipos de dispositivos moveis e modos de interacao, e um fato que estas se-

goldman
Highlight
goldman
Cross-Out
goldman
Replacement Text
ú
goldman
Comment on Text
itálico
goldman
Cross-Out
goldman
Replacement Text
ú
Page 3: Plataforma para gerenciamento de dados para dispositivos ...grenoble.ime.usp.br/~gold/cursos/2008/movel/slides/posCorrigidas/... · ciadores de bancos de dados orientados a objetos,

jam geradas dinamicamente baseadas em conteudo e molduras ao inves de serem estaticas.A vantagem em se concentrar as atencoes na visualizacao final, traz como benefıcio quesomente esta etapa precisa ser alterada quando se desejar suportar um novo tipo de dis-positivo movel cliente ou um novo modo de interacao, conseguindo um reaproveitamentoda logica da aplicacao e do conteudo existente.

E importante tambem que a plataforma para desenvolvimento suporte conheci-mento de contexto, habilitando os desenvolvedores a fazerem definicoes e alteracoes emsuas nocoes, permitindo que todos os aspectos de um sistema funcionem dependentedeste. Isso significa que as informacoes podem ser apresentadas aos usuarios dependendode fatores, como tempo e localizacao, e tambem do modo de interacao. Por exemplo, casoo usuario esteja usando um quiosque com uma tela, o sistema poderia trocar o canal desaıda de um dispositivo de audio para uma saıda visual, ou entao por uma combinacaodos dois. Somente uma plataforma multi-modal poderia garantir que tanto o usuario como sistema pudesse escolher o modo de acesso apropriado baseado no contexto corrente.

Para suprir todas estas necessidades, os autores do artigo desenvolveram uma pla-taforma para publicacao de conteudo chamada de XCM, alem de um Client Controllerpara controle de entrada e saıda de dados, que juntos conseguem dar suporte nao somentea um canal multiplo e entrega de dados baseada no contexto, mas tambem interfacesmulti-modal. Para conseguir a flexibilidade desejada, esta plataforma foi desenvolvidacomo sendo uma extensao do banco de dados orientado a objetos OMS [9, 10]. A plata-forma OMS foi inicialmente desenvolvida para prototipacao rapida de aplicacoes conven-cionais de banco de dados, alem de conceitos novos focando sistemas que podem sofreralteracoes dinamicamente em tempo de execucao. Um ponto chave a se destacar, e ofato de que toda informacao e representada como objetos do banco de dados – incluindometa informacao e dados de sistema. No caso do XCM, isso se aplica ao conteudo a serdisponibilizado, a visualizacao, estrutura e layouts dos documentos.

Para que uma combinacao de mıdias seja suportada, em especifico papel intera-tivo, os pesquisadores desenvolveram uma plataforma para gerenciamento chamada iSer-ver [13], que permite juntar tipos fısicos e digitais. Uma arquitetura baseada em plu-gagem, permite que novos tipos de recursos (componentes ativos) sejam conectados demaneira bem simples. A selecao de um componente ativo resulta na execucao do codigoassociado a ele no iPaper Client e no iServer. Um componente ativo que e executado noiServer pode fazer acesso direto a fontes de informacao, como por exemplo, bancos dedados externos. Vale ressaltar que alguns componentes ativos podem nao devolver umaresposta para o usuario instataneamente, mas sim aguardar por mais requisicoes.

O componente Client Controller controla algumas das interacoes do usuario, poisqualquer requisicao de um componente ativo que e enviado para o XCM, tambem e pro-cessado pelo Client Controller. Este que age como um procurador para o servidor XCMcom o iServer. O Client Controller adiciona informacoes sobre o contexto nas requisicoesdurante esta interceptacao, tais como tempo ou localizacao. Os dados que estao no bancode dados serao transformados no formato apropriado para o canal de saıda corrente peloXCM. O resultado pode conter informacoes para multiplos canais de saıda, sendo de res-posabilidade do Client Controller ativar os canais apropriados. A figura 1 mostra umaversao simplificada das interacoes envolvidas no processo de acesso a informacao.

goldman
Cross-Out
goldman
Replacement Text
í
goldman
Comment on Text
A ordem das palavras está em inglês...
Page 4: Plataforma para gerenciamento de dados para dispositivos ...grenoble.ime.usp.br/~gold/cursos/2008/movel/slides/posCorrigidas/... · ciadores de bancos de dados orientados a objetos,

Figura 1. Processo de interacao

3. O Sistema EdFest

Turismo e considerado um bom estudo de caso para o emprego de dispositivos moveis e,por este motivo, foram criados guias de turismo voltados para PDAs. Enquanto algunsguias comerciais obtiveram sucesso, estudos mostram [5] que e raro o uso destes guiaspor turistas nas ruas. Mapas e guias em papel continuam sendo considerados acessoriosessenciais para a pratica do turismo. Existem muitos argumentos em defesa de se mantero uso de papeis em ambientes moveis, incluindo o fato de serem leves, robustos, baratose faceis de se fazer anotacoes. Planejar atividades durante uma visita a uma cidade en-volve a combinacao e comparacao de informacoes de documentos como mapas, panfletose guias, sendo extremanente facil de se fazer quando se usando papel ao inves de dispo-sitivos moveis com telas pequenas. Sendo assim, os pesquisadores resolveram investigartecnologias emergentes relacionadas a papel digital em ambientes de turismo moveis.

O festival de turismo de Edinburgh e o maior festival de arte do mundo e, em2005 estava na sua edicao 59, com aproximadamente 340 locais, 1800 eventos e 27000apresentacoes foram feitas em um perıodo de um mes. Com tantos eventos sendo ofere-cidos, turistas constumam planejar suas visitas quando estes sao anunciados, baseando-seno horario e localizacao, bem como na disponibilidade de ingressos. Revisoes tem umpapel importante tambem, pois ao inves de serem publicados em jornais ou online, saodisponibilizadas em murais e nos proprios locais. Idealmente, os turistas deveriam po-der acessar todas estas informacoes durante o evento e nao somente em uma visita parapre-planejamento. O festival apresenta uma cenario apropriado para se testar tecnolo-gias voltas a sistemas de informacao movel para distribuicao de informacao de maneiraconveniente.

Num primeiro momento, apos analises e consideracoes, foi decidido dispensarformas visuais de telas como PDAs e tablet PCs, dando-se foco a canais de saıda deaudio. Contudo, como a proposta inicial do projeto era a analise de diferentes maneira deinteracao em ambientes moveis, apesar do foco ter sido papel e audio, foi desenvolvidotambem interfaces basicas para estas saıdas.

A figura 2 mostra alguns dos componentes escolhidos para interacao, sendo um

Page 5: Plataforma para gerenciamento de dados para dispositivos ...grenoble.ime.usp.br/~gold/cursos/2008/movel/slides/posCorrigidas/... · ciadores de bancos de dados orientados a objetos,

folheto interativo contendo uma lista categorizada sobre o evento e paginas em brancopara anotacoes e comentarios, um mapa com recursos digitais que mostra o posiciona-mento dos locais, um marcador de dois lados, uma caneta digital e um fone de ouvido. Ofolheto interativo foi implementado com tecnologia da empresa Anoto [1], originalmentedesenvolvido para captura de escrita manual. Esta tecnologia e baseada em um padraoespecial de pontos usados para codificar a informacao das posicoes do documento, alemde uma caneta digital. A informacao e armazenada na caneta e pode ser enviada paraum computador sob demanda. Logitech, Nokia e Maxell desenvolveram canetas digitaisbaseadas nesta tecnologia. Foi usado pelos pesquisadores, um prototipo da caneta digitalda Nokia modificada pelos engenheiros da Anoto para enviar os dados das posicoes con-tinuadamente, tornando assim possıvel usar a caneta como um disposiıtivo de interacaobem como para captura de escrita.

Figura 2. Componentes de interacao

Um servidor central possui um banco de dados com informacao sobre os locais,eventos, restaurantes e revisoes dos usuarios. O panfleto contem uma lista de resumosdos eventos em ordem alfabetica como mostrado na figura 3. Nos panfletos, existem areasativas (pictogramas) que, quando ativadas pelo toque da caneta, apresentam informacoessuplementares vindas do banco de dados do festival, sendo apresentadas com o uso deuma interface de conversao de texto para audio. No rodape de cada evento, o usuariotem informacoes sobre quando um show ocorrera e sobre a disponibilidade de ingressos.Utilizando estes pictogramas, o usuario pode tambem colocar lembretes para um eventoespecıfico. O sistema lembrara os usuarios registrados atraves de um SMS enviado 30minutos antes do evento em questao. Os usuarios tem a possibilidade de dar notas e fazercomentarios sobre um determinado evento. A entrada dos comentarios e feita atraves deescrita manual nas paginas em branco que fazem parte do folheto. A escrita e capturada

Page 6: Plataforma para gerenciamento de dados para dispositivos ...grenoble.ime.usp.br/~gold/cursos/2008/movel/slides/posCorrigidas/... · ciadores de bancos de dados orientados a objetos,

digitalmente e, com o uso de reconhecimento inteligente de caracteres (ICR), e convertidapara texto.

Os mapas interativos mostram todos os locais da cidade, provendo funcionalidadepara acesso a informacao relacionada a eles. Nestes mapas, pode-se apontar qualquerposicao que sera mostrado informacoes sobre o local mais proximo da regiao apontada.O usuario possui tambem um GPS que e usado para identificar sua posicao, ajudando emtarefas de navegacao e suporte ao localizador, como por exemplo suportar a funcionali-dade ”Onde estou?”para localizacao no mapa. Com o mapa, o usuario pode ser guiadopara a localizacao onde um evento pode estar acontecendo, selecionando o pictogramaapropriado. O marcador oferece tambem funcionalidades como busca, reserva de bilhetese configuracao de preferencias. Nas consultas, podem ser usado diversos criterios, sendoo mais interessante a busca atraves da localizacao corrente do usuario, ou se apontandouma posicao no mapa. Usando o panfleto, o usuario pode configurar suas preferenciasusando caixas de selecao e tambem reservar bilhetes para um evento. Existe inclusive,uma etapa para confirmacao das reservas. Nos marcadores ha um pequeno mapa comfuncionalidades semelhantes as disponıveis no mapa completo.

Figura 3. Exemplo de panfleto

Existe um componente cuja interacao com o sistema nao e baseada em papel digi-tal, o quiosque. Um tipo de cliente que nao se move e esta conectado com resto do sistemaatraves de uma conexao de rede confiavel. Do quiosque, o usuario pode pesquisar dentretodos os eventos – inclusive os mais recentes que podem nao estar nos livretos – ler asrevisoes de outros usuarios, alem de poder criar e imprimir uma agenda personalizada.

4. Arquitetura do sistemaO sistema e baseado em uma arquitetura cliente-servidor, como pode ser visto na figura4. No lado do servidor, o XCM que sera descrito mais abaixo, age como o publica-dor de conteudos. Do lado dos clientes, exitem diversos componentes que oferecem

Page 7: Plataforma para gerenciamento de dados para dispositivos ...grenoble.ime.usp.br/~gold/cursos/2008/movel/slides/posCorrigidas/... · ciadores de bancos de dados orientados a objetos,

funcionalidades especıficas, como por exemplo, o cliente iPaper que e responsavel pelacomunicacao entre a caneta digital e o mecanismo de voz que e responsavel pelo proces-samento dos arquivos VoiceXML incluıdos como parte da resposta pelo servidor. Tantoa caneta digital como os fones de ouvido, se conectam com o computador cliente atravesde bluetooth. O sensor de GPS e conectado via USB, provendo um emulador de portaserial, tornando facil a obtencao das coordenadas. O computador cliente pode se conectarao servidor atraves de conexao ethernet, ad-hoc wireless, wireless ou ainda GPRS.

Figura 4. Arquitetura

Requisicoes feitas pelo iPaper vao diretamente para o iServer, este que por sua vezpluga mecanismos para suportar os diferentes tipos de recursos. Por exemplo, no casodo papel digital, o mecanismo plugado no iServer gerencia a informacao necessaria paramapear coordenadas (x,y) recebidas da caneta digital para objetos digitais em areas ativas.Componentes ativos podem associar areas do papel com servicos arbitarios. Quando oiServer recebe uma requisicao com cordenadas (x,y), ele resolve o link ativo para a URLapropriada que e enviada para o XCM.

Um componente especial, o Client Controller age como um proxy transparente dolado do cliente, fazendo a ponte entre o iServer e o XCM. Um componente importantedo Client Controller e o Context Engine, responsavel pelo gerenciamento do contexto dainformacao. Ele tem o poder de, quando necessario, criar objetos de alto nıvel relativosao contexto, usando tambem valores primitivos obtidos dos sensores de hardware e soft-ware. Ele reune todo tipo de informacao considerada relevante para atualizar o contextocorrespondente. Bons exemplos de informacao sao: a localizacao do usuario, o protocoloem uso, configuracoes de lıngua e tipo de conteudo. Um fator adicional disponıvel, saodados sobre o conjunto de usuarios proximos. Se alguma alteracao importante ocorrer nocontexto, o Client Controller pode avisar os usuarios interessados. Esta funcionalidade eusada para enviar lembretes.

O servidor XCM gerencia o banco de dados da aplicacao que contem informacoessobre eventos, apresentacoes, locais, usuarios, etc. Alem disso, existe um banco de da-dos com meta-informacao onde sao armazenados dados sobre definicoes de interfacesem termos de estrutura de documentos e templates XSLT. A estrutura dos documen-

Page 8: Plataforma para gerenciamento de dados para dispositivos ...grenoble.ime.usp.br/~gold/cursos/2008/movel/slides/posCorrigidas/... · ciadores de bancos de dados orientados a objetos,

tos, visualizacoes de conteudo e informacoes sobre layout sao definidos como objetosde meta-informacao. No caso do EdFest, o XCM envia arquivos VoiceXML para o meca-nismo de voz e paginas HTML diferentes para o quiosque. Quando o XCM recebe umarequisicao do iServer, ele faz uso da informacao dos seus bancos de dados para gerar odocumento apropriado de acordo com o contexto inserido pelo Client Controller, este querecebe o documento e e responsavel por despacha-lo para o componente apropriado quefara a renderizacao.

5. Detalhamento dos Componentes

Na secao anterior, comentamos sobre alguns componentes especiais. Iremos detalharagora dois componentes, o Client Controller e o componente de publicacao de conteudo,alem de um breve comentario sobre componentes ativos e seu papel no sistema.

5.1. Client Controller

O sistema EdFest possui varios componentes de interface, todos sendo clientes HTTPe, por padrao, autonomos e sem conhecimento um do outro. Os requisitos do sistematrazem a necessidade de uma integracao dos componentes. O Client Controller e o com-ponente responsavel por fazer a integracao, sendo um componente central do lado docliente, agindo como um procurador HTTP para o iServer e para o mecanismo de voz.As requisicoes HTTP passam pelo Client Controller, este que tem o poder de alterar oumesmo substituir tanto as requisicoes quanto as respostas do servidor, podendo inclusivedisparar execucoes para outros componentes. Um exemplo pratico no sistema EdFest equando se quer fazer uma requisicao para uma saıda de voz apontando a caneta em algumaarea apropriada de um panfleto. Neste caso, a requisicao HTTP e disparada do iPaper parao iServer e a resposta do servidor e interpretada pelo Client Controller, este que por suavez analisa o tipo de conteudo da resposta, despachando o resultado para o componenteapropriado, neste caso o mecanismo de voz. O mecanismo de despachamento e conside-ravelmente flexıvel de modo a ser extensıvel para novos componentes.

Uma caracterıstica interessante que pode se tornar um problema, sao asincronizacao e consistencia de varios canais de entrada e saıda na combinacao de interfa-ces. Por exemplo, pode nao fazer muito sentido continuar processando um dialogo de vozde um evento quando o usuario escolhe saber informacoes sobre outro evento. Na versaoatual do sistema, este suporte foi conseguindo de maneira bem simples, quando uma novarequisicao e recebida, o dialogo corrente de voz e interrompido. Em alguns casos, con-tudo, o usuario pode desejar continuar ouvindo o dialogo de voz enquanto escreve algumcomentario sobre o evento, ou ainda executar outras tarefas. Esta funcionalidade aindanao e suportada e, pela sua importancia e complexidade sera investigada futuramente.

Como ja comentado, o sistema EdFest faz uso de informacao do contexto gerenci-ada pelo Context Engine. Informacoes de contexto como coordenadas GPS e informacoesrelativas aos dispositivos clientes, reunidas continuadamente seja com informacoes obti-das de sensores ou atualizacoes automaticas. Existe ainda um mecanismo adicional parase repassar informacao do servidor para o cliente agindo como um servidor HTTP e ou-vindo por notificacoes de requisicoes.

Page 9: Plataforma para gerenciamento de dados para dispositivos ...grenoble.ime.usp.br/~gold/cursos/2008/movel/slides/posCorrigidas/... · ciadores de bancos de dados orientados a objetos,

5.2. XCM – eXtensible Content Management

Mesmo com a grande variedade de ferramentas disponıveis que suportam publicacaoestatica e dinamica de conteudo para web, muitos pecam pela falta de modelos decla-rativos. Este e um problema conhecido pela comunidade de pesquisadores, sendo quealguns modelos foram sugeridos [6, 7, 8]. Diferente da maioria destes, a abordagem esco-lhida pelos pesquisadores e baseada em sistema e nao em ferramentas. Isso significa que,ao inves de criar ferramentas de desenvolvimento sobre bancos de dados existentes, foicriado um sistema de banco de dados com suporte para conteudos de uma maneira geral,alem de um componente de publicacao web integrado no nucleo do sistema.

Como o XCM foi construıdo com foco em conhecimento de contexto, existemdois conceitos importantes que merecem destaque. O primeiro e um modelo bem definidodos contextos e o segundo e o fato de que no XCM todos os objetos que precisam terconhecimento de contexto possam ter variantes, sendo uma para cada contexto. Sendoassim, a entrega da informacao que e dependente de contexto e controlada se combinandoo contexto de uma requisicao com as variantes dos objetos envolvidos. O modelo decontexto usado e parecido com outros para HTML [15] e para dados semi-estruturados[14].

O contexto e definido em termos de um conjunto de pares (nome, valor) que es-pecificam suas varias dimensoes a serem levadas em conta em momentos de decisao parageracao do conteudo. Estas dimensoes podem incluir informacoes diversas, como porexemplo o idioma do usuario, o tipo de dispositivo cliente e outras propriedades definidaspelo usuario. Cada variante tem um conjunto de caracterısticas, tambem representadasusando pares (nome, valor) que definem o contexto. Todos os valores extraıdos de to-das dimensoes devem ser suportados. Os valores para as caracterıstivas podem incluirtambem caracteres coringa, conjuntos e intervalos.

No momento do processamento de uma requisicao, o XCM inicialmente extraia informacao de contexto, esta que pode estar tanto no cabecalho HTTP ou no seucorpo. Uma vez que todos os objetos especificados pela requisicao foram reunidos, estainformacao contextual e comparadaas caracteristicas de todas as variacoes de objetos en-volvidos, sendo que para cada objeto a variante mais apropriada e escolhida. Nao seradetalhado neste documento, mas existe um algoritmo que faz uso dos caracteres coringapara trabalhar com possıveis empates [11].

Como ja mencionado anteriormente, os tres canais de saıda do componente depublicacao sao independentes e, do seu ponto de vista, so e provido uma interface multi-canal para algumas informacoes e servicos. Isso significa que o cliente tem que fazerrequisicoes separadas para cada documento que ele deseje acessar, um vez que somenteuma resposta e retornada para cada requisicao. Por exemplo, nao e possıvel retornar umdocumento HTML e um dialogo de voz como resultado de uma unica requisicao. Fazendouso do Client Controller, esta situacao pode ser contornada, contudo o cliente precisaespecificar os canais de resposta para cada requisicao. Por este motivo, os pesquisadoresestao estendendo a implementacao atual do XCM para suportar a habilidade de retornarrespostas multi-part.

Page 10: Plataforma para gerenciamento de dados para dispositivos ...grenoble.ime.usp.br/~gold/cursos/2008/movel/slides/posCorrigidas/... · ciadores de bancos de dados orientados a objetos,

5.3. Componentes Ativos

Componentes ativos sao ditos como sendo um tipo novo de recurso que foi desenvolvidopara a plataforma iServer, cuja funcao e suportar a criacao de padroes complexos deinteracao necessarios pelo prototipo do sistema EdFest. Requisicoes feitas atraves delinks comuns retornam um unico pedaco de informacao como, por exemplo, uma paginaHTML, um vıdeo ou ainda audio. Componentes ativos sao objetos java, instanciadosdinamicamente com base nas configuracoes existentes no iServer, podendo ser executadostanto no lado servidor, quanto no lado cliente.

O cliente iPaper e um exemplo de componente que pode executar componentesativos do lado do cliente, possuindo duas maneiras de trabalho: Modo de folhagem, ondenao existem componentes ativos, e um modo chamado ativo, onde componentes ativosforam instanciados e estao em execucao. Um exemplo que ilustra bem a necessidade decomponentes ativos acontece quando acontecem eventos vindos da caneta digital. Nestecaso, o cliente iPaper pode tanto enviar as requisicoes direto para o iServer, ou delegarpara algum componente ativo. Isso depende do quao complexas sao as operacoes do ladodo cliente. Um simples clique com a caneta em um pictograma ou qualquer outra areaativa pode ser considerada uma requisicao simples, todavia escrever um comentario ourevisao sobre um evento estaria disparando uma serie de requisicoes para o iServer, esteque nada poderia fazer com informacoes incompletas.

6. Resultados ObtidosOs primeiros testes e contato dos usuarios com o sistema EdFest aconteceram em Edin-burgh em agosto de 2004 e, com base nas sugestoes e comentarios dos usuarios, melhoriasforam feitas e para um segundo experimento no ano seguinte. Os pesquisadores procura-ram observar de maneira discreta os usuarios, fazer entrevistas informais e tambem umapesquisa de satisfacao.

Figura 5. Interacao dos usuarios com o sistema

A figura 5 mostra os usuarios interagindo com alguns dos componentes do sis-tema, como o panfleto, o mapa e o marcador. Os resultados foram positivos, contudo,algumas alteracoes relacionadas a entrada de voz que existiam no primeiro prototipo fo-ram removidos. O motivo para tal mudanca esta fortemente relacionado a um problemade usabilidade, pois nao era claro para os usuarios que estes podiam fazer uso de voz parainteragir com o sistema enquanto navegavam pelos dialogos de voz.

Um outro problema que merece destaque, esta relacionado com o uso da canetadigital. Alguns usuarios acreditavam que era possıvel fazer anotacoes no panfleto e, este

Page 11: Plataforma para gerenciamento de dados para dispositivos ...grenoble.ime.usp.br/~gold/cursos/2008/movel/slides/posCorrigidas/... · ciadores de bancos de dados orientados a objetos,

foi considerado um problema geral associado com a dupla maneira de se fazer uso dodispositivo, pois era tanto usado para selecao quando para escrita de comentarios no papeldigital.

Nenhum dos dispositivos usados pelos clientes recebeu comentarios negativos,pelo contrario. A funcionalidade de localizacao do mapa se mostrou bastante util pela suaintuitividade, alem dos lembretes que os usuarios podiam criar reservas para os eventosde interesse.

Independentemente dos comentarios positivos, os pesquisadores veem ainda umenorme potencial para melhorias e novas funcionalidades e dispositivos.

7. Conclusao

O cenario apresentado como fundo para o desenvolvimento da plataforma apresentadamostram uma nova area para aplicacoes moveis, cujo intuito e prover servicos baseadosem conhecimento de contexto fazendo uso de tecnologias emergentes. A interacao comestes servicos tornam- se problemas devido as muitas inovacoes relacionadas aos dis-positivos, tornando importante experimentos que vao de novos modos de interacao ateinterfaces multi-modal.

Foram mostradas algumas maneiras de se combinar plataformas para se publicarconteudo web fazendo uso de conhecimento de contexto e servicos de combinacao demıdia, conseguindo se alcancar uma plataforma bem flexıvel para sistemas de informacaomoveis.

Referencias

[1] Anoto ab. http://www.anoto.com.

[2] R. Belotti, C. Decurtins, M. Grossniklaus, M.C. Norrie, and A. Palinginis. Interplay ofcontent and context, 2005.

[3] Rudi Belotti, Corsin Decurtins, Moira C. Norrie, Beat Signer, and Ljiljana Vukelja. Ex-perimental platform for mobile information systems. In MobiCom ’05: Proceedingsof the 11th annual international conference on Mobile computing and networking,pages 258–269, New York, NY, USA, 2005. ACM.

[4] B. Brown and E. Laurier L. Meng. Designing electronic maps: An ethnographic appro-ach. Springer Verlag, 2004.

[5] Barry Brown and Matthew Chalmers. Tourism and mobile technology. In ECSCW’03:Proceedings of the eighth conference on European Conference on Computer Suppor-ted Cooperative Work, pages 335–354, Norwell, MA, USA, 2003. Kluwer AcademicPublishers.

[6] Stefano Ceri, Piero Fraternali, Aldo Bongio, Marco Brambilla, Sara Comai, and Ma-ristella Matera. Designing Data-Intensive Web Applications. Morgan KaufmannPublishers Inc., San Francisco, CA, USA, 2002.

[7] G.-J. Houben, P. Barna, F. Frasincar, and R. Vdovjak. Hera: Development of semanticweb information systems. In Proceedings of ICWE ’03, 3rd International Confe-rence on Web Engineering, pages 529–538, July 2003.

goldman
Cross-Out
Page 12: Plataforma para gerenciamento de dados para dispositivos ...grenoble.ime.usp.br/~gold/cursos/2008/movel/slides/posCorrigidas/... · ciadores de bancos de dados orientados a objetos,

[8] G. Kappel, W. Retschitzegger, and W. Schwinger. Modeling customizable web applica-tions - a requirement’s perspective. In Kyoto International Conference on DigitalLibraries, Kyoto, Japan, pages 168–179, November 2000.

[9] A. Kobler, M.C. Norrie, and A. Wurgler. Oms approach to database development th-rough rapid prototyping. In Proceedings of WITS ’98, 8th Workshop on InformationTechnologies and Systems, Helsinki, Finland, December 2008.

[10] Moira C. Norrie. An extended entity-relationship approach to data management in object-oriented systems. In ER ’93: Proceedings of the 12th International Conference onthe Entity-Relationship Approach, pages 390–401, London, UK, 1994. Springer-Verlag.

[11] Moira C. Norrie, Beat Signer, Michael Grossniklaus, Rudi Belotti, Corsin Decurtins, andNadir Weibel. Context-aware platform for mobile data management. Wirel. Netw.,13(6):855–870, 2007.

[12] A. Pashtan, R. Blattler, A. Heusser, and P. Scheuermann. Catis: A context-aware touristinformation system. In Proceedings of IMC 2003, 4th International Workshop ofMobile Computing, Rostock, Germany, June 2003.

[13] B. Signer and M.C. Norrie. A framework for cross-media information management. InProceedings of EuroIMSA 2005, International Conference on Internet and Multime-dia Systems and Applications, pages 318–323, Grindelwald, Switzerland, February2005.

[14] Yannis Stavrakas and Manolis Gergatsoulis. Multidimensional semistructured data: Re-presenting context-dependent information on the web. In CAiSE ’02: Proceedings ofthe 14th International Conference on Advanced Information Systems Engineering,pages 183–199, London, UK, 2002. Springer-Verlag.

[15] William W. Wadge, Gord Brown, m. c. schraefel, and Taner Yildirim. Intensional html.In PODDP ’98: Proceedings of the 4th International Workshop on Principles ofDigital Document Processing, pages 128–139, London, UK, 1998. Springer-Verlag.