Proposta De Uma Arquitetura De Software Para Adaptação De Conteúdo De Realidade Virtual Para Dispositivos Móveis

Share Embed


Descrição do Produto

PROPOSTA DE UMA ARQUITETURA DE SOFTWARE PARA ADAPTAÇÃO DE CONTEÚDO DE REALIDADE VIRTUAL PARA DISPOSITIVOS MÓVEIS

José Barbosa Dias Júnior Marlus Dias Silva Alexandre Cardoso Edgard Afonso Lamounier Júnior

Universidade de Rio Verde- FESURV – GO Universidade Federal de Uberlândia – UFU - MG [email protected] [email protected] [email protected] [email protected]

Abstract This paper presents a proposal for software architecture to assist the development of Virtual Reality applications for mobile devices, based on context adaptation techniques of. This solution is due to offer support on context appropriateness of Virtual Reality, to be used by different mobile devices in accordance with its restrictions. This adaptation is performed in a dynamic way by the proposed solution without the need for user interaction, providing Virtual Reality content portability Reality for mobile applications.

1. Introdução De acordo com Rocha [2007], a evolução nas tecnologias de dispositivos computacionais portáteis e os avanços nas comunicações sem fio, permitiram o surgimento de um novo paradigma: a Computação Móvel (CM). As constantes inovações tecnológicas nesta área permitiram o desenvolvimento de uma grande variedade

de dispositivos que levam o ambiente de trabalho para além das “paredes de escritórios e edifícios”, permitindo uma maior liberdade entre os usuários e os sistemas computacionais, devido a sua mobilidade. O surgimento de equipamentos como: celulares com suporte a WAP, notebooks, Palms, entre outros, fizeram crescer a demanda por novas formas de serviços e aplicações nas mais diversas áreas (educação, saúde, entretenimento, entre outras). Devido à grande evolução da CM, o desenvolvimento de aplicações para dispositivos móveis tornou-se uma área de grande interesse, em parte devido à enorme disponibilidade desses dispositivos no mercado e a sua crescente integração com as tecnologias de comunicação sem fio. Dentre elas podemos destacar aplicações de Realidade Virtual (RV) e ou Mista (RM) nas mais diversas áreas tais como: Educação, Entretenimento, Visualização, entre outras. A mobilidade proporcionada pelos equipamentos móveis, juntamente com interação mais natural advinda da RV, permite criar um Ambiente Virtual Móvel propício à troca de experiências, informações, imagens, entre outros, de forma mais motivante para o usuário.

Entretanto, ainda existem problemas relacionados às restrições existentes nestes dispositivos, as quais continuam sendo o grande “gargalo” para a criação de aplicações móveis de RV [2]. Segundo [3] e [4], outra barreira a ser transposta no desenvolvimento de aplicações para dispositivos móveis é a heterogeneidade desses equipamentos, caracterizadas por diferentes restrições de processamento, memória, bateria, largura de banda de comunicação, e diversas plataformas de software existentes (Windows, Symbian, Palm OS, entre outras). Devido às especificidades desses dispositivos, seria necessário desenvolver diferentes versões dos conteúdos de RV para esses ambientes de acordo com as características de cada dispositivo. Contudo a criação de diferentes versões pode se tornar inviável e não escalável a codificação humana, devido à variedade de plataformas e dispositivos disponíveis. Nesse cenário, torna-se um desafio o desenvolvimento de aplicações de RV para dispositivos móveis, principalmente para dispositivos heterogêneos. Este trabalho tem como propósito uma arquitetura para customização do conteúdo para estes ambientes, de forma autônoma, ou seja, sem a intervenção do usuário, por meio de uma infra-estrutura de software, facilitando o desenvolvimento de aplicação móveis de RV.

2. Adaptação De acordo com [5] adaptação é a capacidade de adequação que uma aplicação possui de se adaptar as alterações nas circunstâncias do ambiente em que executa. Segundo [6] dois fatores têm contribuído para o aumento do interesse pelo desenvolvimento de softwares adaptáveis. Sendo o primeiro, o paradigma da computação móvel, pelo quais as aplicações devem ter a capacidade de se adaptarem a diversos ambientes e dispositivos móveis. O segundo é o desenvolvimento da computação autônoma, cujo objetivo é a aumento de sistemas que tem a capacidade de se auto- gerenciar, utilizando todas as potencialidades das infra-estruturas tecnológicas, reduzindo a administração humana sobre eles. Uma aplicação pode ser considerada adaptativa se for capaz de alterar automaticamente seu comportamento de acordo com seu contexto [7]. Para que as aplicações móveis de RV, possam ser utilizadas por diferentes dispositivos, o conteúdo deve ser cuidadosamente selecionado e adaptado às condições restritivas de cada equipamento destino, tais como: dimensões do display, quantidade de cores, memória disponível, entre outras.

Portanto, o mesmo conteúdo direcionado para notebook não deve ser enviado a um celular, exemplo. Para isso, deve haver tanto a redução informações, como a modificação do formato apresentação dos dados.

um por das da

3. Trabalhos relacionados Projetos relacionados à utilização de RV e Realidade Mista (RM) em dispositivos móveis, começaram a ser explorados nos últimos anos e existem ainda muitos fatores a serem resolvidos, para que estes possam oferecer melhor qualidade e quantidade de serviços aos usuários. Dentre estes trabalhos podem-se destacar os trabalhos nas seguintes áreas: Localização e Navegação [8], Educação [9], Entretenimento [10], Visualização e Navegação [11] e [12]. O projeto [8] utiliza RV e RM para navegação embora sejam utilizados em dispositivos diferentes, não possui critérios para adequação de conteúdo utilizado de acordo com os dispositivos, isso acontece na maior parte dos trabalhos descritos. O Guia Virtual de Museu [11], permite certa personalização, como por exemplo: as rotas, de acordo com as escolhas usuários. Porém os critérios para realização de uma adaptação de acordo com os requisitos dos usuários seria muito complexo devido à quantidade de informações necessárias, tais como: faixa etária dos grupos, preferências, grupos com deficiência, entre outras [11] e [13]. A personalização utilizada por [11] está próxima de uma customização das preferências do usuário, porém está mais voltada para uma configuração de preferências [13] e [14]. O SignPost [12], permite visualização diferenciada de acordo com a preferência do usuário, esses dados são pré-definidos pela aplicação sem possibilidade de adequação. Outro fator deste trabalho é que na sua versão todo processamento realizado pela aplicação fica sob responsabilidade do dispositivo móvel, isto pode comprometer o desempenho da aplicação e exigir um configuração alta do hardware. Segundo [9], o Virtran embora tenha sido desenvolvido para celulares, pode ser utilizado por PDA. Essa aplicação permite acréscimos de novas funcionalidades e também a possível utilização de dispositivos dos próprios usuários sem a necessidade de configurações específicas, diferentemente das outras aplicações descritas.

Porém, o VirTran não fornece suporte para adaptação de conteúdo, nem a definição de perfis dos dispositivos, como a solução proposta.

4. Arquitetura proposta A arquitetura proposta para geração de conteúdo adaptativo para aplicações móveis de RV utiliza técnicas de adaptação de contexto, para execução desta customização. Um dos objetivos dessa abordagem é atender os diversos usuários participantes do sistema de forma dinâmica, fornecendo-os conteúdo adaptado, abrangendo dispositivos distintos. Esta solução pretende reduzir o tempo de desenvolvimento e permitir a portabilidade de conteúdo de RV, por meio de uma metodologia que permita uma maior abstração das características de um dispositivo específico. Portanto, pretende-se obter uma solução multiplataforma capaz de realizar a adaptação de desse conteúdo de forma automatizada, utilizando como base as informações de contexto do usuário. Dessa forma, o processo de customização é realizado totalmente pelo servidor, facilitando assim o acesso a diferentes dispositivos. A figura 1 demonstra a visão geral desta arquitetura, sendo esta composta por cinco módulos: cliente móvel, serviço de comunicação, serviço grupo, serviço adaptação e serviço de perfil.

Figura 1 – Visão geral da arquitetura proposta A camada de cliente contém os dispositivos participantes do sistema. Para resolver o problema de receber, armazenar e manter a referência desses equipamentos, a arquitetura possui um serviço de comunicação, responsável também, por auferir as conexões realizadas pelos usuários identificando as

características destes equipamentos em tempo de execução. Para garantir integridade destas informações, esses dispositivos são divididos em grupos com características comuns. Esta tarefa é realizada pela camada de grupo, responsável pela sua criação e gerenciamento. Para realizar a customização do conteúdo de RV, são utilizadas técnicas de adaptação de contexto associadas às informações de identificação e perfis dos dispositivos participantes, vindas consequentemente das camadas de comunicação e perfil. De posse dessas informações a camada de adaptação realiza o processo de adequação de conteúdo, permitindo que esse possa ser utilizado por diferentes dispositivos. Os perfis (características) dos equipamentos são armazenados, gerenciados e criados pela camada de perfil, ela utiliza as informações do repositório de perfis para gerá-los de forma pré-defina. A base de informações sobre os equipamentos é obtido de forma dinâmica, utilizando para isso a especificação Composite Capability/Preference Profiles (CC/PP) [17] e User Agent Profiling Specification (UAProf) [18]. O método utilizado para estruturação da proposta, armazenando em um banco de dados relacional os objetos que representam o domínio do problema (conteúdo, dispositivos, fabricantes, componentes, entre outros), ao contrário do que normalmente é realizado (representado no próprio código), permite sua instanciação em tempo de execução a partir de um modelo genérico. Esta solução é baseada no modelo cliente-servidor, seguindo as diretrizes propostas por [11], sendo composta pelo cliente de adaptação móvel virtual, que é um cliente multiplataforma para dispositivos móveis, e pelo servidor de adaptação de conteúdo 3D, uma arquitetura de software responsável pela customização deste conteúdo para os equipamentos portáteis. A figura 2 ilustra a arquitetura proposta, para o servidor de aplicação.

requisição e troca de mensagens necessárias para comunicação entre o cliente e servidor. O servidor de adaptação utiliza uma mensagem de identificação vinda do cliente para identificá-lo, realizar seu agrupamento de acordo com suas características e a customização do seu conteúdo 3D. A figura 3 ilustra o funcionamento geral estrutura proposta.

Figura 2- Arquitetura proposta A arquitetura é dividida em seis camadas responsáveis pela execução dos serviços descritos anteriormente. A camada de Persistência é responsável pelo armazenamento das informações dos dispositivos, bem como o conteúdo 3D. Garantindo a integridade dos mesmos. O Factory Perfil utiliza as informações da camada inferior para gerar os perfis dos equipamentos, de forma pré-definida. Ela também gerencia esses perfis. O Manager Adapter determina as políticas utilizadas para realização da adaptação do conteúdo de RV, para isso ele possui três módulos internos, cada um deles responsáveis por atividades específicas de controle e customização de objetos 3D (módulo 3D), imagens (Módulo Image) e texto (Módulo Texto), utilizando para isso as políticas pré-definidas de adaptação. A camada de Tratamento gerência os eventos ocorridos nos clientes móveis, permitindo assim um controle individualizado de cada cliente. O Grupo tem como finalidade agrupar os clientes móveis em grupos com características comuns, para facilitar o seu gerenciamento e o controle na troca de informações entre o servidor e os clientes. A última camada é a Conexão que tem a responsabilidade de gerenciar e manter a referência das conexões dos clientes móveis.

4.1 Estrutura de funcionamento Na estrutura proposta, todo o processamento relacionado à adaptação é realizado pelo servidor de adaptação, baseado na arquitetura proposta. O cliente móvel é constituído pela aplicação móvel, e uma camada de conexão, responsável por realizar a

Figura 3 – Estrutura geral O cliente móvel é um cliente multiplataforma para dispositivos móveis, ele é responsável por realizar a requisição, contendo informações necessárias para a identificação dos dispositivos.

4.2 Cliente Móvel O Cliente Móvel comunica-se com o servidor pela troca de mensagens de requisição/resposta, ele é responsável pela identificação do dispositivo móvel, coletando informações sobre as características dos dispositivos e enviando-as ao servidor de forma dinâmica. Estas informações são utilizadas pelo servidor para realizar a definição do perfil do dispositivo móvel. É função do cliente móvel também, realizar as solicitações de conteúdo de RV. Estas atividades são realizadas pela camada de conexão cliente, como pode ser visto na figura 4.

O funcionamento do Servidor de Adaptação e as trocas de mensagens entre suas camadas são ilustrados na figura 5.

Figura 4 – Funcionamento do Cliente Móvel A camada de conexão cliente é responsável também por toda comunicação realizada com o servidor. Ela recebe as informações customizadas vindas do servidor, controlando a troca de dados entre eles. O processamento dos dados é realizado todo no servidor, para não sobrecarregar os dispositivos móveis, haja vista as restrições de processamento existentes nestes equipamentos. O funcionamento do servidor será detalhado no próximo item.

4.3 Servidor de Adaptação As camadas presente no Servidor de Adaptação são responsáveis, de forma geral, pela recepção das informações de requisição de dados vindas do Cliente Móvel e pela validação das mesmas. Por meio destas informações, o servidor realiza a identificação dos dispositivos participantes, o que permite a sua classificação de acordo com os perfis prédefinidos, armazenados na camada de Persistência. A camada de Factory Perfil recebe as mensagens de informações dos dispositivos e de conteúdo de RV, vindos da camada de Persistência, ela utiliza essas informações para criar o perfil dos dispositivos de acordo com suas restrições. Com as mensagens vindas da Factory Perfil a camada Manager Adapter aplica as políticas de adaptação de conteúdo de RV, para isso ela utiliza um conjunto de regras e as informações dos perfis armazenados na camada de Persistência, utilizando essas informações ela realiza a customização deste conteúdo, de acordo com as características de cada dispositivo. As políticas utilizadas nesta camada impedem, por exemplo, que o mesmo conteúdo com as mesmas características seja enviado para um notebook e para um celular.

Figura 5 - Funcionamento do Servidor de Adaptação Os dispositivos são divididos em grupos criados e gerenciados pela camada de Grupo, este processo reduz a “quantidade” de equipamentos a serem gerenciados pelo servidor, facilitando a aplicação de regras e o controle de alterações nos estados destes equipamentos, o que melhora o gerenciamento e reduzindo a complexidade da estrutura e o processamento necessário para execução desta etapa. A maior parte do gerenciamento dos Clientes Móveis é realizada em grupo, porém existe a necessidade de controle individual de eventos específicos (como: alterações, solicitações, entre outras) para estes clientes, esta tarefa é executada pela camada de Tratamento, que controla as especificidades necessárias para manter a integridade da estrutura. Para realização destas atividades tanto a camada de Grupo quanto a de Tratamento utilizam as informações vindas das camadas inferiores. A etapa de identificação, controle de solicitações e todas as outras atividades necessárias para execução da

comunicação com os clientes móveis, são executados pela camada de Conexão, que utiliza para isso as informações das camadas de Grupo e Tratamento.

5. Implementação da arquitetura A arquitetura esta sendo implementada utilizando plataforma Java 2 Micro Edition (J2ME), com o perfil Mobile Information Device Profile (MIDP) versão 2.0 e o Connected Limited Device Configuration (CLDC) versão 1.1 [15]. A escolha da plataforma foi devido a sua portabilidade, o suporte oferecido a uma grande quantidade de dispositivos. Foram desenvolvidas as camadas de Persistência e Factory Perfil, e estão sendo definas as políticas de adaptação. Algumas funcionalidades da camada de Conexão do Servidor e do Cliente Móvel também foram desenvolvidas para testar a comunicação entre ambos. Um importante requisito não funcional para arquitetura é que o cliente móvel seja multiplataforma, um dos fatores que influenciou na escolha da plataforma de desenvolvimento. Sendo atendido este requisito a solução proposta poderá ser utilizada por uma grande variedade de dispositivos.

6. Conclusões e trabalhos futuros Neste trabalho foi apresentada uma arquitetura, para suporte a adaptação de conteúdo de RV para dispositivos móveis. Ela encontra-se em fase de desenvolvimento. A solução proposta permite a aquisição de forma autônoma das características do dispositivo, e com base nos perfis pré-defindos também sem a intervenção do usuário, fornece informações suficientes para realização da customização do conteúdo. Diferenciando-se dos trabalhos relacionados descritos no item 3. De acordo com testes realizados utilizando a identificação do dispositivo móvel, obtida pelo Cliente Móvel, já foi possível selecionar o perfil do dispositivo utilizando os perfis da camada de Factory Perfil. Foram realizados também, testes de envido de imagens para o dispositivo móvel, sem aplicar políticas de adaptação à imagem fica fora dos padrões dos dispositivos impossibilitando sua visualização, já utilizando as regras iniciais de adaptação foi possível enviar a imagem, dentro das características necessárias para sua visualização. A utilização das especificações CC/PP e UAProf favorecem e facilitam a evolução da arquitetura.

Um problema a ser tratado no decorrer do projeto é a qualidade das imagens, pois as mesmas sofrem certa “distorção” no envio para os equipamentos móveis. Será desenvolvido um estudo de caso de uma aplicação colaborativa de RV para treinamento utilizando dispositivos móveis, para validar a solução proposta.

7. Referências [1] Rocha, T., Toledo, Maria B. F. “Mecanismos de Adaptação para Transações em Ambientes de Computação Móvel” in IEE Latin América Transactions, Vol 5, Nº 8, December 2007. [2] Alcantara, Afonso. Principais desafios da computação móvel. Disponível em . Acesso em: 20 jan. 2008 [3] Hao-hua Chu , Henry Song , Candy Wong , Shoji Kurakake , Masaji Katagiri, Roam, a seamless application framework, Journal of Systems and Software, v.69 n.3, p.209-226, 15 January 2004 [doi>10.1016/S0164-1212(03)00052-9] [4] Viana, Windson ; CAVALCANTE, Paula ; CASTRO, R. M. C. . Mobile Adapter: Uma abordagem para a construção de Mobile Application Servers adaptativos utilizando as especificações CC/PP e UAProf. In: XXV Congresso da Sociedade Brasileira de Computação, 2005, Sao leopoldo, RSBrasil. Anais do XXXII SEMISH. [5] Raatikainen, Kimmo E. E.; Middleware for Mobile Aplications Beyond 3G. International Conference on Intelligence in Networks (SMARTNET 2002),7.,p3-18, abril de 2002. [6] Mckinley, P. K.; Sadjadi S. M.; Kasten E. P.; Cheng, B. H. C. Composing adaptive software. IEEE Computer, v.37, n.7, 2004. p.56-64. [7] Henricksen, K.; Indulska, J. Adapting the web interface: an adaptive web browser. In: AUSTRALASIAN USER INTERFACE CONFERENCE (AUIC.01), 4, 2001, Gold Coast, Queensland, Austrália. Proceedings... Gold Coast, Queensland Austrália: IEEE, 2001. [8] LOCUS - Desenvolvimento de Ferramentas de Localização de contexto para Serviços de Informação Móvel. . Acesso em: 05 de Set. 2008 [9] Marçal, E., Filho. Tese de Mestrado. VirTraM: Um Framework para o Desenvolvimento de Treinamentos Utilizando Realidade Virtual. Universidade Federal do Ceará, 2005.Versão eletrônica . Visitado em: 03 de Abr. 2008. [10] Wagner, D.; Pintaric, T.; Ledermann, F.; Schmalstieg,

D. Towards Massively Multi-User Augmented Reality on Handheld Devices. In: INTERNATIONAL CONFERENCE ON PERVASIVE COM PUTING, 3. 2005, Germany, Proceedings. 2005. p. 208-219.

[11] Damala, A. Augmented Reality Based User Interfaces for Mobile Museum and Exhibition Guides, CAA 2007, Computer Applications and Quantitative Methods in Arcaheology. Deutsches Archaeologisches Institut, Berlin, In Press. [12] Schmalstieg, D., Wagner, D. First Steps Towards Handheld Augmented Reality. In: INTERNATIONAL SYMPOSIUM ON WEARABLE COMPUTERS (ISWC), 7., 2003, USA, Proceedings Washington: IEEE Computer Society, 2003. p. 127-137. [13] Proctor, N., 2004. Access in hand: providing deaf and hard-of-hearing visitors with on-demand, independent access to museum information and interpretation through handheld computers. In: J. Trant and D. Bearman (Editors), Museums and the Web 2005, Toronto, Canada.

www.archimuse.com/mw2005/papers/proctor/proctor.h tml. Acesso: em 10 Set. 2007. [14] Bowen, J.P. and Filippini-Fantoni, S., 2004. Personalization and the web from a museum perspective. In: J. Trant and D. Bearman (Editors), Museums and the Web 2004, Toronto, electronic version. http://www.archimuse.com/mw2004/papers/ bowen/bowen.html. Acesso: em 10 Set. 2007. [15] Sun (2004) “Java 2 Platform, Micro Edition (J2ME)”. Disponível em http://java.sun.com/j2me /index.jsp. Acessado: em Jul. 2008. [16] W3C - WWW CONSORTIUM, Site do fórum de desenvolvimento de tecnologias para Web. Disponível em:. Acesso: em Jan. 2008. [17] Site da especificação XML User Agent Profilling Specfication (UAProf). Disponível em: . Acesso: em Jan. 2008.

Lihat lebih banyak...

Comentários

Copyright © 2017 DADOSPDF Inc.