Thèse de doctorat en Systèmes automatiques
Sous la direction de Michel Diaz et de Khalil Drira.
Soutenue en 2006
à Toulouse 3 .
L'adaptabilité des applications logicielles peut être séparée en deux catégories. La première concerne l'adaptation comportementale appelée aussi adaptation algorithmique. Cette adaptation traite la redéfinition du comportement de l'application et de ses composants et implique, par exemple, l'introduction d'une nouvelle méthode dans l'interface d'un composant ou le changement du protocole d'orchestration qui coordonne un ensemble de services. Nos travaux, que nous classons dans une deuxième catégorie, traitent l'adaptation structurelle et considèrent une reconfiguration au niveau architectural. Ce type de reconfiguration traite l'organisation de l'architecture et consiste, par exemple, à remplacer un composant défaillant par un autre composant qui possède les mêmes fonctionnalités ou rediriger un client d'un service qui ne respecte pas le contrat de QdS vers un service susceptible d'offrir de meilleures garanties. Dans ce mémoire, nous définissons un méta-modèle relatif à la description et la gestion automatique des architectures dynamiques. Les instances des architectures sont décrites par des graphes étendus où les composants (ou les services) sont représentés par des n\oe uds, et les interdépendances (e. G. Les connexions, les relations de contrôle. . . Etc) sont décrites par des arcs. Les styles architecturaux sont spécifiés par des grammaires de graphes étendues. Le méta-modèle admet des descriptions en considérant différents niveaux d'abstraction et offre des mécanismes pour raffiner ou abstraire les descriptions selon des points de vues spécifiques. Il permet, aussi, de décrire le protocole de gestion de l'architecture et de caractériser les propriétés architecturales à préserver pour chaque niveau architectural considéré. Nous avons développé un algorithme de recherche d'homomorphismes de graphes et un algorithme de transformation de graphes pour les grammaires de graphes étendus définis pour notre méta-modèle. L'analyse de complexité des algorithmes ainsi que les résultats expérimentaux obtenus ont permis de conclure à leur efficacité. Une deuxième version des deux algorithmes a été définie profitant de la spécificité du contexte de la transformation de graphes. L'analyse de complexité de ces nouvelles versions donne des résultats encore plus performants pour le passage à l'échelle. . .
Dynamic architectures in the context of component-based and services-oriented applications
Adaptability for software applications can be separated into two categories. First relates to the behavioral adaptation also called algorithmic adaptation. This adaptation addresses the redefinition of the behavior of the application and its components and implies, for example, adding a new method into the interface of a component or updating the orchestration protocol that coordinates a set of services. Second category, in which we can classify our work, relates to the structural adaptation and implies a reconfiguration at the architectural level. This kind of reconfiguration deals with the organization of the architecture and involve, for instance, the substitution of a failing component by another with same functionalities or the redirection for a customer of a service which does not respect the QoS contract towards a service likely to offer better guarantees. In this thesis, we specify a meta-model relating to the description and the automatic management of dynamic architectures. Architecture instances are described by extended graphs where components (or services) are represented by vertices, and interdependencies (e. G. Connections, relations of control. . . Etc) are described by edges. The architectural styles are specified by extended graph grammars. The meta-model considers descriptions by admitting various abstraction levels and offers mechanisms to either abstract or refine descriptions according to specific points of view. It, also, makes it possible to describe architecture management protocols and to characterize the architectural properties to be preserved for each considered architectural level. We developed an algorithm for graph homomorphisms building and an algorithm for graph transformation in the context of extended graph grammars defined for our meta-model. . .
Cette thèse a donné lieu à une publication en 2007 par [CCSD] à Villeurbanne
Architectures dynamiques dans le contexte des applications à base de composants et orientées services