Software Product Line Evolution with Cardinality-Based Feature Models

  • Nadia Gamez
  • Lidia Fuentes
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6727)


Feature models are widely used for modelling variability present in a Software Product Line family. We propose using cardinality-based feature models and clonable features to model and manage the evolution of the structural variability present in pervasive systems, composed by a large variety of heterogeneous devices. The use of clonable features increases the expressiveness of feature models, but also greatly increases the complexity of the resulting configurations. So, supporting the evolution of product configurations becomes an intractable task to do it manually. In this paper, we propose a model driven development process to propagate changes made in an evolved feature model, into existing configurations. Furthermore, our process allows us to calculate the effort needed to perform the evolution changes in the customized products. To do this, we have defined two operators, one to calculate the differences between two configurations and another to create a new configuration from a previous one. Finally, we validate our approach, showing that by using our tool support we can generate new configurations for a family of products with thousands of cloned features.


Software Product Lines Feature Models Evolution 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Pohl, K., Böckle, G., Linden, F.: Software Product Line Engineering – Foundations, Principles, and Technique. Springer, Heidelberg (2005)CrossRefzbMATHGoogle Scholar
  2. 2.
    Lee, K., Kang, K., Lee, J.: Concepts and guidelines of feature modeling for product line software engineering. In: Gacek, C. (ed.) ICSR 2002. LNCS, vol. 2319, pp. 62–77. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  3. 3.
    Sánchez, P., Gámez, N., Fuentes, L., Loughran, N., Garcia, A.: A Metamodel for Designing Software Architectures of Aspect-Oriented Software Product Lines. Technical Report D2.2, AMPLE Project (2007)Google Scholar
  4. 4.
    Czarnecki, K., Helsen, S., Eisenecker, U.W.: Staged Configuration through Specialization and Multilevel Configuration of Feature Models. Software Process: Improvement and Practice 10, 143–169 (2005)CrossRefGoogle Scholar
  5. 5.
    Batory, D.S.: Feature models, grammars, and propositional formulas. In: Obbink, J.H., Pohl, K. (eds.) SPLC 2005. LNCS, vol. 3714, pp. 7–20. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  6. 6.
    Thüm, T., Batory, D., Kästner, C.: Reasoning about edits to feature models. In: Proceedings of the 31st International Conference on Software Engineering (2009)Google Scholar
  7. 7.
    Fuentes, L., Gámez, N.: Configuration Process of a Software Product Line for AmI Middleware. Journal of Universal Computer 16(12), 1592–1611 (2010)Google Scholar
  8. 8.
    Loughran, N., Sanchez, P., Garcia, A., Fuentes, L.: Language Support for Managing Variability in Architectural Models. LNCS, vol. 49, pp. 36–51 (2008)Google Scholar
  9. 9.
    Tsang, E.: Foundations of Constraint Satisfaction. Academic Press, London (1933)Google Scholar
  10. 10.
    Choco Solver Home Page (December 2010),
  11. 11.
    Stephan, M., Antkiewicz, M.: Ecore.fmp: A Tool for Editing and Instantiating Class Models as Feature Models. Technical Report 2008-08, University of Waterloo (2008)Google Scholar
  12. 12.
    Budinsky, F., Steinberg, D., Merks, E., Ellersick, R., Grose, T.J.: Eclipse Modeling Framework. Addison-Wesley Professional, Reading (2003)Google Scholar
  13. 13.
    Zhang, W., Yan, H., Zhao, H., Jin, Z.: A BDD-based approach to verifying clone-enabled feature models’ constraints and customization. In: Mei, H. (ed.) ICSR 2008. LNCS, vol. 5030, pp. 186–199. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  14. 14.
    Kim, C.H.P., Czarnecki, K.: Synchronizing cardinality-based feature models and their specializations. In: Hartman, A., Kreische, D. (eds.) ECMDA-FA 2005. LNCS, vol. 3748, pp. 331–348. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  15. 15.
    Kuhlemann, M., Batory, D., Apel, S.: Refactoring feature modules. In: Edwards, S.H., Kulczycki, G. (eds.) ICSR 2009. LNCS, vol. 5791, pp. 106–115. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  16. 16.
    Acher, M., Collet, P., Lahire, P., France, R.: Composing feature models. In: van den Brand, M., Gašević, D., Gray, J. (eds.) SLE 2009. LNCS, vol. 5969, pp. 62–81. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  17. 17.
    White, J., et al.: Automated diagnosis of feature model configurations. Journal of Systems and Software 83(7), 1094–1107 (2010)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2011

Authors and Affiliations

  • Nadia Gamez
    • 1
  • Lidia Fuentes
    • 1
  1. 1.Dpto de Lenguajes y Ciencias de la ComunicaciónUniversidad de MálagaSpain

Personalised recommendations