Extraction and Evolution of Architectural Variability Models in Plugin-based Systems

Mathieu Acher 1 Anthony Cleve 2 Philippe Collet 3 Philippe Merle 4 Laurence Duchien 4 Philippe Lahire 3
1 TRISKELL - Reliable and efficient component based software engineering
IRISA - Institut de Recherche en Informatique et Systèmes Aléatoires, Inria Rennes – Bretagne Atlantique
3 Laboratoire d'Informatique, Signaux, et Systèmes de Sophia-Antipolis (I3S) / Equipe MODALIS
SPARKS - Scalable and Pervasive softwARe and Knowledge Systems
4 ADAM - Adaptive Distributed Applications and Middleware
LIFL - Laboratoire d'Informatique Fondamentale de Lille, Inria Lille - Nord Europe
Abstract : Variability management is a key issue when building and evolving software-intensive systems, making it possible to extend, confi gure, customize and adapt such systems to customers' needs and speci fic deployment contexts. A wide form of variability can be found in extensible software systems, typically built on top of plugin-based architectures that o ffer a (large) number of con figuration options through plugins. In an ideal world, a software architect should be able to generate a system variant on-demand, corresponding to a particular assembly of plugins. To this end, the variation points and constraints between architectural elements should be properly modeled and maintained over time (i.e., for each version of an architecture). A crucial, yet error-prone and time-consuming, task for a software architect is to build an accurate representation of the variability of an architecture, in order to prevent unsafe architectural variants and reach the highest possible level of flexibility. In this article, we propose a reverse engineering process for producing a variability model (i.e., a feature model) of a plugin-based architecture. We develop automated techniques to extract and combine di fferent variability descriptions, including a hierarchical software architecture model, a plugin dependency model and the software architect knowledge. By computing and reasoning about diff erences between versions of architectural feature models, software architect can control both the variability extraction and evolution processes. The proposed approach has been applied to a representative, large-scale plugin-based system (FraSCAti), considering diff erent versions of its architecture. We report on our experience in this context.
Type de document :
Article dans une revue
Software & Systems Modeling (SoSyM), Springer, 2013, 27 p. 〈10.1007/s10270-013-0364-2〉
Liste complète des métadonnées

Littérature citée [72 références]  Voir  Masquer  Télécharger

Contributeur : Mathieu Acher <>
Soumis le : dimanche 8 septembre 2013 - 15:41:41
Dernière modification le : vendredi 13 janvier 2017 - 14:21:33
Document(s) archivé(s) le : jeudi 6 avril 2017 - 16:38:56


Fichiers produits par l'(les) auteur(s)



Mathieu Acher, Anthony Cleve, Philippe Collet, Philippe Merle, Laurence Duchien, et al.. Extraction and Evolution of Architectural Variability Models in Plugin-based Systems. Software & Systems Modeling (SoSyM), Springer, 2013, 27 p. 〈10.1007/s10270-013-0364-2〉. 〈hal-00859472〉



Consultations de
la notice


Téléchargements du document