Context as a Resource: A Service-Oriented Approach for Context-Awareness ; Information du Contexte comme une Ressource : Une Approche Orientée Service pour la Sensibilité au Contexte
Abstract
Nowadays, ubiquitous environments become part of our daily lives. At home, work, cars, hotels, supermarkets and others public spaces we find technologies (electronics and computational elements) that try to make our life simpler and easier in a transparent way. In recent years, the potential of these environments is more and more exploited with the advent and widespread usage of smartphones. This kind of devices enables the execution of applications that are able to adapt seamlessly to the current environment state. These applications, called context-aware applications, benefit from the context information and services that are present in ubiquitous environments to improve and change automatically their behavior. However, such adaptations require the integration of information regarding heterogeneity in terms of devices, execution platforms, and communication protocols as well the mobility of applications so that the different responsibilities of the adaptation can be distributed. In order to face these issues, and considering the limitations of existing solutions, we provide two major contributions in this dissertation: i) SPACES, a middleware approach to integrate context information and ii) Ubiquitous Feedback Control Loops (Ubiquitous FCLs), as an approach to adapt context-aware applications. In particular, in SPACES we define a metamodel inspired on REST (REpresentational State Transfer) for fostering the exchange of context information as resources, which represents the keystone of our approach. Then, we define SPACES Connectors modularizing the different concepts and concerns identified by the metamodel. The connectors are designed by using Component Based Software Engineering (CBSE) principles and then they are incorporated into the Service Component Architecture (SCA) model to be used in different kinds of applications, not only context-aware applications. With the SPACES definition we are able to state the second major contribution-- i.e., Ubiquitous FCLs. Inspired on concepts from Autonomic Computing, this kind of FCLs provides the flexibility required to integrate new participants in the adaptation process (e.g., context-aware applications, services and legacy systems) by supporting mobility and the incorporation of new communication mechanisms when required. In the core of the Ubiquitous FCLs--i.e., the deci- sion making-- we employ constraint programming techniques to optimize the selected configuration regarding aspects for providing a better user experience, such as the cost associated with the adaptation, the resources consumed or the QoS offered by the new configuration. Finally, we validate our proposal with three case studies: i) a Caching or Off-Loading situation, where the application behavior is modified at runtime, ii) TRACK.ME, a platform for supporting tracking-based scientific experimentations and iii) DIGIHOME, a smarthome platform. These scenarios demonstrate the suitability of our approach when different kinds of devices, protocols and implementation technologies are involved in the adaptation process. ; Aujourd'hui, les environnements ubiquitaires font partie de notre vie quotidienne. À la maison, au travail, dans les voitures, dans les hôtels, les supermarchés et autres espaces publiques, nous rencontrons des technologies qui visent à rendre notre vie plus simple et plus facile d'une façon transparente. Durant ces dernières années, le potentiel de ces environnements a été de plus en plus exploité, notamment avec l'avènement et l'utilisation généralisée des smartphones. Ce type de dispositifs permet l'exécution d'applications qui ont la capacité de s'adapter parfaitement à l'état courant de l'environnement. De telles applications, appelées "applications sensibles au contexte", bénéficient de l'information du contexte et des services qui sont présents dans leur environnement pour améliorer et changer automatiquement leur comportement. Toutefois, ces adaptations nécessitent une intégration d'informations qui doit être effectuée en tenant compte de l'hétérogénéité en termes de dispositifs, de plateformes d'exécution, et de protocoles de communication ainsi que la mobilité des applications de sorte que les différentes responsabilités de l'adaptation peuvent être distribuées. Pour faire face à ces défis, et compte tenu des limitations des solutions existantes, nous fournissons deux contributions majeures dans cette dissertation. Tout d'abord nous introduisons l'intergiciel SPACES comme une solution d'intégration des informations contextuelles et ensuite nous définissons le paradigme de "boucles de contrôle ubiquitaires" pour adapter les applications sensibles au contexte. En particulier, dans SPACES, nous définissons un méta-modèle inspiré du style architectural REST (REpresentational State Transfer) pour favoriser l'échange des informations contextuelles en tant que ressources, ce qui représente le fondement de notre approche. Ensuite, nous définissons les connecteurs SPACES pour modulariser les différents concepts et préoccupations identifiés par le méta-modèle. Ces connecteurs sont conçus en utilisant les principes de la programmation orientée composant et ils sont incorporés dans le modèle Service Component Architecture (SCA) pour être utilisés dans différents types d'applications, et ainsi indépendamment des applications sensibles au contexte. Grâce à la définition de SPACES, nous sommes en mesure d'élaborer la seconde contribution de la dissertation--i.e., les boucles de contrôle ubiquitaires. Inspiré par les concepts de l'informatique autonome, les boucles de contrôle offre la flexibilité nécessaire pour intégrer de nouveaux participants dans le processus d'adaptation (par exemple, des applications sensibles au contexte, des services et des systèmes existants) tout en fournissant un support pour la mobilité et l'intégration de nouveaux mécanismes de communication en cas de besoin. Dans le noyau des boucles de contrôle ubiquitaires--i.e., la prise de décision-- nous employons des techniques de programmation par contraintes pour optimiser la configuration courante de l'application en intégrant des critères qui garantissent une meilleure expérience à l'utilisateur final, tels que les coûts associés à l'adaptation, les ressources consommées ou encore la qualité de service offerte par la nouvelle configuration. Enfin, nous validons notre proposition avec trois études de cas: Tout d'abord une politique de Caching or Off-Loading, dans laquelle le comportement de l'application est modifiée lors de l'exécution, ensuite TRACK.ME, une plateforme pour effectuer des expérimentations scientifiques et enfin DIGIHOME, une plateforme pour la création des maisons intelligentes. Ces scénarios démontrent la pertinence de notre approche lorsque différents types de dispositifs, des protocoles et des technologies de mise en œuvre sont impliqués dans le processus d'adaptation.
Themen
Sprachen
Englisch
Verlag
HAL CCSD
Problem melden