thesis

Contribution à l'analyse d'impact des modifications des architectures logicielles

Defense date:

Jan. 1, 2009

Edit

Institution:

Littoral

Disciplines:

Abstract EN:

The work developed in this thesis deals with software architecture evolution, the architectural impact analysis and the impact analysis on the source code corresponding to the architectural description. We proposed in this work a model for representing common elements for the most of architecture description languages. We established links between architectural and source code representation. Our modelisation is based on the use of the graph formalism where nodes and arcs represent respectively the software elements and the links. We proposed a set of modification operations that are expressed by assertions. A knowledge based system implements the change operations and their impacts. These features are implemented in a platform entirely developed in Java and integrated as plugins into Eclipse. This platform provides a user interface for the graph visualization and for browsing the change impact propagation. Expert system rules are developed using the business rule management system DROOLS.

Abstract FR:

Le travail développé dans cette thèse fait partie des travaux consacrés à la gestion de l’évolution des architectures logicielles, à l’analyse d’impact a priori sur l’architecture ainsi que sur le code source correspondant à la description architecturale. Nous avons proposé dans ce travail un modèle pour la représentation des informations communes à la plupart des langages de description d’architecture. Nous avons également établi des liens entre le niveau de représentation architecturale et celui du code source. Notre modélisation repose sur une formalisation à base de graphe typé et attribué, dont les noeuds et les arcs représentent respectivement les éléments extraits du logiciel et les relations entre eux. Nous avons défini des opérations de modifications exprimées d’une manière assertionnelle. L’exécution de ces opérations de modification ainsi que la propagation de leurs impacts sont assurées par un système à base de connaissances. Les fonctionnalités que l’on vient de décrire sont supportées par une plate-forme réalisée sous la forme de plusieurs extensions intégrés à l’environnement Eclipse et entièrement développée en Java. Elle fournit une interface utilisateur permettant la visualisation des représentations logicielles ainsi que de la propagation de leurs impacts de modification. Les règles du système expert sont exprimées moyennant le système de gestion de règles métier DROOLS.