Dealing with Constraints during a Feature Configuration Process in a Model-Driven Software Product Line

We present our ongoing work on an approach to create Model-Driven Software Product Lines by means of successive model refinement, guided by configuration of features. Each refinement uses model-to-model transformation until arriving at the executable code with technological platform details included. During this process, users select features at each stage taking into account their preferences and requirements. The selection of features can be performed for each element of the model. Thus, the selection is constrained by many facts, for example, a mandatory selection element-feature because some structural model relationships that has to be preserved. To deal with model transformations while satisfying the constraints, we introduce the concept of constraint-model to restraint the possible feature configurations a user can specify. Then, we propose the construction of transformations by composing several rules that facilitate, from a single source, the generation of different targets according to a given feature configuration.