Variability management in a model-driven software product line (2007)
Variability management in Software Product Lines (SPLs) has two fundamental challenges: (1) the expression of common and variable features, and (2) the development of applications employing properly such features. In this paper, we present a Software Product Line based on Models (MD-SPL). We separate the concepts related to SPLs in different domains and we build core assets like feature models, metamodels, and three different types of transformation rules to transform models from a source domain to different (variable) models into a target domain. By using transformation rules, we are able to generate applications in an incremental process, guided by a set of features selected for each target domain. Thus, we manage to extend the SPLs scope, separate the domains diminishing the complexity to create applications with variable characteristics, and automatically generate applications using transformation rules. In order to illustrate our approach, we have built a MDSPL where the products are small applications used in programming computers teaching.