Cube: a decentralised architecture-based framework for software self-management
Cube : un framework décentralisé dirigé par l'architecture pour l'auto-gestion des logiciels
Résumé
In recent years, the world has witnessed the rapid emergence of several novel technologies and com- puting environments, including cloud computing, ubiquitous computing and sensor networks. These en- vironments have been rapidly capitalised upon for building new types of applications, and bringing added- value to users. At the same time, the resulting applications have been raising a number of new significant challenges, mainly related to system design, deployment and life-cycle management during runtime. Such challenges stem from the very nature of these novel environments, characterized by large scales, high dis- tribution, resource heterogeneity and increased dynamism. The main objective of this thesis is to provide a generic, reusable and extensible self-management solu- tion for these types of applications, in order to help alleviate this stringent problem. We are particularly interested in providing support for the runtime management of system architecture and life-cycle, focus- ing on applications that are component-based and that run in highly dynamic, distributed and large-scale environments. In order to achieve this goal, we propose a synergistic solution - the Cube framework - that combines techniques from several adjacent research domains, including self-organization, constraint satisfaction, self-adaptation and self-reflection based on architectural models. In this solution, a set of decentralised Autonomic Managers self-organize dynamically, in order to build and administer a target application, by following a shared description of administrative goals. This formal description, called Archetype, contains a graph-oriented specification of the application elements to manage and of various constraints associated with these elements. A prototype of the Cube frame- work has been implemented for the particular application domain of data-mediation. Experiments have been carried-out in the context of two national research projects: Self-XL and Medical. Obtained results indicate the viability of the proposed solution for creating, repairing and adapting component-based ap- plications running in distributed volatile and evolving environments.
Durant ces dernières années, nous avons assisté à une forte émergence de nouvelles technologies et environnements informatiques tels que le cloud computing, l'informatique ubiquitaire ou les réseaux de capteurs. Ces environnements ont permis d'élaborer de nouveaux types d'applications avec une forte valeur ajoutée pour les usagés. Néanmoins, ils ont aussi soulevés de nombreux défis liés notamment à la conception, au déploiement et à la gestion de cycle de vie des applications. Ceci est dû à la nature même de ces environnements distribués, caractérisés par une grande flexibilité, un dynamisme accru et une forte hétérogénéité des ressources. L'objectif principal de cette thèse est de fournir une solution générique, réutilisable et extensible pour l'auto-gestion de ces applications. Nous nous sommes concentrés sur la fourniture d'un support logiciel permettant de gérer à l'exécution les architectures et leur cycle de vie, notamment pour les applications à base de composants s'exécutant dans des environnements dynamiques, distributes et à grande échelle. De façon à atteindre cet objectif, nous proposons une solution synergique - le framework Cube - combin- ant des techniques issues de domaines de recherche adjacents tels que l'auto-organisation, la satisfaction de contraintes, l'auto-adaptation et la reflexion fondée sur les modèles architecturaux. Dans notre solution, un ensemble de gestionnaires autonomiques décentralisés s'auto-organise de façon à construire et gérer une application cible en s'appuyant sur une description partagée des buts de l'application. Cette description formelle, appelé Archetype, prend la forme d'un graphe orienté exprim- ant les différents éléments de l'architecture et un ensemble de contraintes. Un prototype du framework Cube a été implanté dans le domaine particulier de la médiation. Des expériences ont été conduites dans le cadre de deux projets de recherché nationaux: Self-XL et Medical. Les résultats obtenus démontrent la validité de notre approche pour créer, réparer et adapter des applications à base de composants s'exécutant dans des environnements distribués, dynamiques et hétérogènes.
Loading...