Premium
Variability management of plugin‐based systems using feature models
Author(s) -
Santos André L.
Publication year - 2017
Publication title -
software: practice and experience
Language(s) - English
Resource type - Journals
SCImago Journal Rank - 0.437
H-Index - 70
eISSN - 1097-024X
pISSN - 0038-0644
DOI - 10.1002/spe.2428
Subject(s) - plug in , computer science , component (thermodynamics) , feature (linguistics) , feature model , context (archaeology) , software , software system , abstraction , software evolution , java , eclipse , software engineering , data mining , programming language , software construction , paleontology , linguistics , philosophy , physics , epistemology , biology , thermodynamics , astronomy
Summary Plugin‐based systems are typically realized with resort to a component framework that offers an infrastructure for assembling plugin components, which can be composed to form system variants. Feature models have been proposed as an abstraction to manage software variability, where feature configurations describe variants of a software system. In this paper, we propose an automated approach to map the artifacts of plugin‐based component frameworks to feature models. We describe a methodology for structuring the architecture of a plugin‐based system, so that the variability space and variants are reflected in a feature model and its configurations. We materialized the proposed approach for the Eclipse Equinox component framework in a tool to visualize the variability of plugin‐based systems in feature diagrams, which can be used to generate system variants. We carried out an experiment where we developed a small plugin‐based product line on top of Equinox in the context of an advanced software development course. Copyright © 2016 John Wiley & Sons, Ltd.