Summary: | Este trabalho apresenta uma proposta de infra-estrutura de software sensível ao contexto para a computação ubíqua (ubicomp) denominada Continuum. A área de ubicomp, também chamada de computação pervasiva, pressupõe uma forte integração com o mundo real, com foco no usuário e na manutenção de alta transparência. Para o desenvolvimento de aplicativos nesse cenário, é necessária uma infra-estrutura de software adequada. A infra-estrutura projetada é baseada no padrão da arquitetura orientada a serviços (service-oriented architecture ou SOA), fazendo uso de framework e middleware, e empregando uma redefinição da semântica siga-me. Nessa visão redefinida, os usuários podem ir para qualquer lugar carregando os dados e os aplicativos que desejam, os quais podem ser usados de forma imperceptível e integrada com o mundo real (seamless integration). O foco particular desse trabalho é sensibilidade ao contexto: a percepção de características relacionadas aos usuários e ao entorno. No trabalho são considerados os recursos disponíveis no ambiente e é mantida a história dos dados de contexto. Além disso, é proposta a representação do contexto para promover raciocínio e compartilhamento de conhecimento, empregando uma ontologia. Dessa forma, contexto é representado de uma maneira formal e bastante expressiva, diferente de muitas soluções existentes hoje em dia que ainda usam modelos de representação ad hoc. Esta tese está então na interseção destas três áreas principais: infra-estrutura de software para ubicomp, sensibilidade ao contexto e ontologias. No desenvolvimento desta tese, também examina-se o campo da computação ubíqua, e sugere-se um modelo de arquitetura geral que enfrente esses desafios fundamentais. Baseado nos requisitos estabelecidos para esse modelo, propõe-se um conjunto de serviços para o Continuum. Os serviços são projetados considerando o trabalho previamente desenvolvido pelo nosso grupo de pesquisa, mais especificamente o projeto ISAM, e particularmente o middleware EXEHDA. A proposta estende esses projetos, adicionando aspectos que não haviam sido considerados no momento do seu desenvolvimento. Particularmente, o suporte a sensibilidade de contexto é melhorado com a proposta de uma ontologia para a formalização da informação de contexto. Algumas análises, usando a metodologia de estudo de caso, foram conduzidas para apreciar as principais proposições da tese. Baseado nessas avaliações, foram apresentadas algumas lições aprendidas e traçada a conclusão do trabalho. Como resultado, Continuum é uma infra-estrutura de software que endereça muitos aspectos da computação ubíqua, integrando imperceptivelmente diferentes desafios. === The present work is a proposal of a context-aware software infrastructure for ubiquitous computing (ubicomp) named Continuum. The ubicomp area, also called pervasive computing, presupposes a strong integration with the real world, with focus on the user and on keeping high transparency. For the development of applications in this scenario, we need an adequate software infrastructure. The infrastructure designed in this work is based on service-oriented architecture (SOA), making use of framework and middleware, and employing a redefinition of follow-me semantics. In this redefined vision, users can go anywhere carrying the data and application they want, which they can use in a seamlessly integrated fashion with the real world. The specific focus of our work is context awareness: the perception of characteristics related to users and surroundings. We consider the resources available in the environment and keep a history of context data. Furthermore, we propose the representation of context to promote reasoning and knowledge sharing, using ontology. In this way, context is represented in a considerably expressive, formal approach, different from many solutions that exist today, which still use ad hoc representations models. Our work is then at the intersection of these three main areas: software infrastructures for ubicomp, context awareness, and ontologies. In the development of this thesis, we also survey the field of ubiquitous computing, suggesting a general architectural model to deal with its fundamental challenges. Based on the established requirements for this model, we propose a set of services for Continuum. The services are designed considering the previous works developed by our research group, namely ISAM (Infra-estrutura de Suporte às Aplicações Móveis – Mobile Applications Support Infrastructure), and particularly the middleware EXEHDA (Execution Environment for Highly Distributed Applications). We further extend these projects, by adding aspects to them that had not been considered at the time of their development. Particularly, we improve context awareness support, proposing an ontology for the formalization of context information. We have conducted some analysis, using case study methodology, to evaluate the main propositions of our work. Based on these assessments, we present lessons learned and draw the conclusion of our work. As a result, Continuum is a software infrastructure that addresses many aspects of ubiquitous computing, seamlessly integrating many different challenges.
|