Style and Meta-Style : Another way to reuse Software Architecture Evolution
Style et Meta-Style : Une autre façon de réutiliser l'évolution dans les architectures logicielles
Résumé
Over the last years, the size and complexity of software systems has been dramatically increased, making the evolution process more and more complex and consuming a great deal of resources and time. Consequently, software architecture is becoming one of the most important artifacts in planning and carrying out the evolution process. This architecture can provide an overall structural view of the system without undue focus on low-level details. This view can provide a deep understanding of previous design decisions and a means of exploring, analysing and comparing alternative scenarios of evolution. Therefore, software architecture evolution has gained significant importance in both industrial and academic areas in order to develop methods, techniques and tools that can help architects to plan evolution. To this end, an evolution styles approach has been introduced with the aim of capitalising on the recurrent evolution practices in a particular domain and of fostering their reuse.
In this thesis, we endeavour to tackle the challenges in software architecture evolution reuse by specifying a standard modeling framework that can conform to different evolution styles and satisfy the concerns of the different teams involved in the evolution process. The primary contribution of this thesis is twofold. First, it introduces a meta-evolution style (meta-modeling language) which specifies the core conceptual elements for software architecture evolution modeling in order to address the difference in modeling concepts among evolution styles approaches. Second, it introduces a new methodology to develop a multi-view and multi- abstraction evolution style in order to reduce the complexity of the evolution process model by breaking down an evolution style into several views, each of which covers a relevant set of aspects or satisfies certain stakeholders’ concerns. The central ideas are embodied in a prototype tool in order to validate the applicability and feasibility of the proposed approaches (method and technique).
Au cours des dernières années, la taille et la complexité des systèmes logiciels ont considérablement augmenté, rendant le processus d'évolution de plus en plus complexe et consommant ainsi beaucoup de ressources et de temps. C’est pourquoi, l'architecture logicielle est devenue l'un des éléments les plus importants dans la planification et la mise en œuvre du processus d'évolution. L’architecture peut fournir une vue structurelle globale du système sans se focaliser sur les détails de bas niveau. Cette abstraction permet une meilleure compréhension des décisions de conception prises précédemment et un bon moyen d'explorer, d'analyser et de comparer des scénarii alternatifs de l'évolution. Aussi, la thématique de l'évolution dans les architectures logicielles a pris une importance significative aussi bien dans le monde académique que dans le monde industriel, et a conduit au développement de méthodes, de techniques et d’outils pouvant aider les architectes à planifier l’évolution d’un système. Dans cette lignée, nous avons introduit une approche de styles d'évolution afin de capitaliser les pratiques d'évolution récurrentes dans un domaine particulier et de favoriser leur réutilisation.
Dans cette thèse, nous préconisons de relever les défis de la réutilisation de l’évolution de l'architecture logicielle en spécifiant un cadre de modélisation standard conforme à différents styles d'évolution et pouvant satisfaire les préoccupations de différentes équipes impliquées dans un
processus d'évolution. Cette thèse a un double objectif : Premièrement, elle introduit un style de méta-évolution (langage de méta-modélisation) qui spécifie les éléments conceptuels de base nécessaires à la modélisation de l'évolution de l'architecture logicielle. Deuxièmement, elle introduit une nouvelle méthodologie pour développer un style d'évolution selon plusieurs vues et plusieurs abstractions. Cette approche multi-vues et multiabstractions permet de réduire la complexité du modèle de processus d'évolution en décomposant un style d'évolution en plusieurs vues, dont chacune d’entre elles couvre un ensemble d'aspects pertinents et répond aux préoccupations de différentes catégories d’utilisateurs. Enfin, afin de
valider l'applicabilité et la faisabilité de notre approche, nous avons développé un prototype basé sur la plateforme de méta-modélisation ADOxx.
Domaines
Génie logiciel [cs.SE]Origine | Fichiers produits par l'(les) auteur(s) |
---|
Loading...