Multi- hierarchical levels based software architecture
Contribution à l'élaboration d'architectures logicielles à hiérarchies multiples
Résumé
By promoting their descriptions at a high level of abstraction, software architectures have been introduced
in response to increasing complexity of systems. The architecture of a software system provides a model
system that hides the details of execution, allowing the architect to focus on the analysis and the most
crucial decisions to best meet the requirements of that system. In this thesis, we propose to tackle the
problem of multiple hierarchies’ description of software architectures, with the aim to offer designers
several 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 by
explicit concepts of components, connectors and configurations, and the other on a reasoning model
supported by four types of hierarchies (structural, functional, conceptual, and meta-modeling) to describe
software architectures at different levels of understanding. The second aspect concerns the proposal of
MY 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 tools
support associated with UML 2.0
En 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ème
logiciel fournit un modèle du système qui masque les détails d’exécution, permettant à l’architecte de se
concentrer sur l’analyse et les décisions les plus cruciales afin de répondre au mieux aux exigences dudit
système. Dans cette thèse, nous proposons d’aborder la problématique de description d’architectures
logicielles à hiérarchies multiples, avec comme objectif, d’offrir aux concepteurs plusieurs vues
architecturales sur le système en exploitant le mieux possible la granularité et la spécificité des
composants, 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ésentation
s’appuyant sur les concepts explicites de composants, de connecteurs et de configurations et d’autre part
sur 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 de
compré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 concepts
architecturaux selon un triptyque : composant, connecteur et configuration. Enfin, Le troisième volet
concerne le développement d’un profil UML (C3-Profil) qui permet de faire la projection des
architectures définies en C3 vers UML 2.0 afin de profiter des outils supports d’UML 2.0.
Loading...