Contribution à l'élaboration d'architectures logicielles à hiérarchies multiples

Abstract

By promoting their descriptions at a high level of abstraction, software architectures have been introducedin response to increasing complexity of systems. The architecture of a software system provides a modelsystem that hides the details of execution, allowing the architect to focus on the analysis and the mostcrucial decisions to best meet the requirements of that system. In this thesis, we propose to tackle theproblem of multiple hierarchies’ description of software architectures, with the aim to offer designersseveral architectural views on the system by exploiting the granularity and the specificity of components,connectors and configurations, and encouraging their reuse.Our contribution is summarized in three major aspects. The first concerns the proposal for an ADL(Architecture Description Language) known as C3 based in part on a representation model supported byexplicit concepts of components, connectors and configurations, and the other on a reasoning modelsupported by four types of hierarchies (structural, functional, conceptual, and meta-modeling) to describesoftware architectures at different levels of understanding. The second aspect concerns the proposal ofMY model as a methodology to describe the core concepts of software architectures (component,connector, and configuration). Finally, the third aspect involves the development of an UML profile (C3-Profile) which allows the projection of C3 architectures to UML 2.0 description to take advantage of toolssupport associated with UML 2.0En favorisant leurs descriptions à un haut niveau d’abstraction, les architectures logicielles ont étéintroduites en réponse à l’accroissement de la complexité des systèmes. L’architecture d’un systèmelogiciel fournit un modèle du système qui masque les détails d’exécution, permettant à l’architecte de seconcentrer sur l’analyse et les décisions les plus cruciales afin de répondre au mieux aux exigences duditsystème. Dans cette thèse, nous proposons d’aborder la problématique de description d’architectureslogicielles à hiérarchies multiples, avec comme objectif, d’offrir aux concepteurs plusieurs vuesarchitecturales sur le système en exploitant le mieux possible la granularité et la spécificité descomposants, des connecteurs et des configurations, et en favorisant leur réutilisation.Notre contribution se résume en trois volets majeurs. Le premier concerne la proposition d’un ADL(Architecture Description Language) baptisé C3 reposant d’une part sur un modèle de représentations’appuyant sur les concepts explicites de composants, de connecteurs et de configurations et d’autre partsur un modèle de raisonnement basé sur quatre types de hiérarchies (structurelle, fonctionnelle,conceptuelle et de méta-modélisation) pour décrire les architectures logicielles à différents niveaux decompréhension. Le deuxième volet concerne la proposition du modèle MY comme une méthodologie àsuivre pour décrire les architectures logicielles à base de composants. Cette démarche décrit les conceptsarchitecturaux selon un triptyque : composant, connecteur et configuration. Enfin, Le troisième voletconcerne le développement d’un profil UML (C3-Profil) qui permet de faire la projection desarchitectures définies en C3 vers UML 2.0 afin de profiter des outils supports d’UML 2.0

    Similar works