Ingénierie logicielle orientée service (une contribution à l'adaptation dynamique basée sur une approche mixte composant/agent)

Abstract

L'évolution des systèmes distribués est en train de prendre une nouvelle dimension avec l'essor de nouvelles technologies (Architectures Orientées Services, Grille informatique, informatique nomade et ubiquitaire). Au sein de tels environnements, l'architecture logicielle du système évolue en cours d'exécution, c'est-à-dire lors de la phase d'exploitation du cycle de développement. Par conséquent, persistance des services et aspects dynamiques constituent de nouveaux challenges et amènent à reconsidérer des problématiques inhérentes que sont la réutilisation des services existants et leur adaptation. Adapter, intégrer et coordonner à la volée les services disponibles, réagir dynamiquement à l'évolution des systèmes apparaissent aujourd'hui comme des soucis centraux de recherche. Les objectifs des travaux que nous présentons autour de l'approche CompAA s'inscrivent dans ce contexte et proposent une voie à une adaptation contextuelle, relative aux conditions environnementales (qualité de service, disponibilité sur le réseau), la plus dynamique et autonome que possible, par la découverte des services disponibles. Pour cela, nos contributions s'organisent autour de deux principales propositions : 1) un modèle de composants adaptables, s'appuyant sur les principes d'abstraction et de variabilité, et s'appuyant aussi sur une définition sémantique en termes de propriétés fonctionnelles et non-fonctionnelles permettant une interprétation automatique par des agents logiciels. 2) un processus d'adaptation dynamique mettant en oeuvre le modèle proposé. Le processus spécifié couvre des étapes allant de l'analyse des besoins jusqu'à l'adaptation de composants, en passant par des étapes de découverte et sélection de composants. Différentes politiques permettent un niveau d'adaptabilité accrue au sein même du processus. Un aspect prépondérant mis en valeur dans cette thèse réside dans l'originalité de l'approche qui vise à intégrer les avantages connus de deux paradigmes : composants et agents. Pour nous, il existe un réel intérêt à spécifier des entités possédant la structuration et les qualités de réutilisation des composants logiciels et évoluant de manière autonome et flexible à l'instar des agents logiciels. Le champ d'expérimentation au travers duquel sont éprouvées nos propositions est celui du e-learning, plus particulièrement au travers de notre participation au projet européen ELeGI (Eu-ropean Learning Grid Infrastructure). Au travers de différentes situations d'apprentissage, les participants évoluent en partageant leurs connaissances afin de progresser individuellement et collectivement. On se retrouvre donc dans un contexte où les connaissances et les besoins de chacun sont en perpétuelles mouvances. Le modèle CompAA trouve donc naturellement sa place dans ce genre d'activité et permet de garantir une certaine transparence à l'utilisateur tout en lui garantissant une qualité de service optimale en dotant le système d'entités plus autonomes et auto-adaptables.The evolution of the distributed systems is taking a new dimension with the development of new technologies (Services Oriented Architectures, Grid computing, nomad and ubiquitous computing). Within such environments, the software architecture of the system evolves at runtime, that is during the exploitation phase of the development cycle. Consequently, persistence of the services and dynamic aspects establish new challenges and bring to reconsider inherent problems that are the reuse of the existing services and their adaptation. To adapt, to integrate and to coordinate on the fly" the available services, to react dynamically to the evolution of the systems appear as central research concerns today. The objectives of the works which we present around the CompAA approach join this context and propose a way in a contextual adaptation, relative to the environmental conditions (quality of service, availability on the network), most dynamic and most autonomous that possible, by the discovery of the available services. For that purpose, our contributions get organized around two main propositions : 1) a model of adaptable components, leaning on the principles of abstraction and variability, and also leaning on a semantic definition in terms of functional and non-functional properties allowing an automatic interpretation by software agents. 2) a process of dynamic adaptation implementing the proposed model. The specified process covers stages going of the analysis of needs until the adaptation of components, by way of stages of discovery and selection of components. Various policies allow a level of adaptability increased within the process. A dominating aspect emphasized in this thesis lies in the originality of the approach which aims at joining the advantages known for two paradigms : components and agents. For us, there is a real interest to specify entities possessing the structuring and the qualities of reuse of software components and evolving in an autonomous and flexible way following the example of the software agents. The field of experiment through which are tried our propositions is the one of the e-learning, more particularly through our participation to the European project ELeGI (European Learning Grid Infrastructure). Through various situations of learning, the participants evolve by sharing their knowledge to progress individually and collectively. In this context, the knowledge and the needs of each are in perpetual spheres of influence. The CompAA model finds naturally its place in this kind of activity and allows to guarantee a certain transparency to the user while guaranteeing him an optimal quality of service by endowing the system of more autonomous and more self-adaptable entities.PAU-BU Sciences (644452103) / SudocSudocFranceF

    Similar works

    Full text

    thumbnail-image

    Available Versions

    Last time updated on 14/06/2016