Automated Merging of Feature Models Using Graph Transformations

  • Sergio Segura
  • David Benavides
  • Antonio Ruiz-Cortés
  • Pablo Trinidad
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5235)


Feature Models (FMs) are a key artifact for variability and commonality management in Software Product Lines (SPLs). In this context, the merging of FMs is being recognized as an important operation to support the adoption and evolution of SPLs. However, providing automated support for merging FMs still remains an open challenge. In this paper, we propose using graph transformations as a suitable technology and associated formalism to automate the merging of FMs. In particular, we first present a catalogue of technology-independent visual rules to describe how to merge FMs. Next, we propose a prototype implementation of our catalogue using the AGG system. Finally, we show the feasibility of our proposal by means of a running example inspired by the mobile phone industry. To the best of our knowledge, this is the first approach providing automated support for merging FMs including feature attributes and cross-tree constraints.


Feature Model Model Transformation Transformation Rule Graph Transformation Software Product Line 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Alves, V., Gheyi, R., Massoni, T., Kulesza, U., Borba, P., Lucena, C.: Refactoring product lines. In: GPCE 2006: Proceedings of the 5th international conference on Generative programming and component engineering, pp. 201–210. ACM Press, New York (2006)Google Scholar
  2. 2.
    Apel, S., Lengauer, C., Batory, D., Möller, B., Kästner, C.: An algebra for feature-oriented software development. Technical Report MIP-0706, Department of Informatics and Mathematics, University of Passau, Germany (July 2007)Google Scholar
  3. 3.
    Baresi, L., Heckel, R.: Tutorial introduction to graph transformation: A software engineering perspective. In: ICGT 2002: Proceedings of the First International Conference on Graph Transformation, London, UK, pp. 402–429. Springer, Heidelberg (2002)Google Scholar
  4. 4.
    Batory, D.: Feature models, grammars, and propositional formulas. In: Obbink, H., Pohl, K. (eds.) SPLC 2005. LNCS, vol. 3714, pp. 7–20. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  5. 5.
    Batory, D., Benavides, D., Ruiz-Cortés, A.: Automated analysis of feature models: Challenges ahead. Communications of the ACM (December 2006)Google Scholar
  6. 6.
    Benavides, D., Ruiz-Cortés, A., Trinidad, P.: Automated reasoning on feature models. In: Pastor, Ó., Falcão e Cunha, J. (eds.) CAiSE 2005. LNCS, vol. 3520, pp. 491–503. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  7. 7.
    Benavides, D., Ruiz-Cortés, A., Trinidad, P., Segura, S.: A survey on the automated analyses of feture models. In: Jornadas de Ingeniería del Software y Bases de Datos (JISBD) (2006)Google Scholar
  8. 8.
    Benavides, D., Segura, S., Trinidad, P., Ruiz-Cortés, A.: FAMA: Tooling a framework for the automated analysis of feature models. In: Proceeding of the First International Workshop on Variability Modelling of Software-intensive Systems (VAMOS), pp. 129–134 (2007)Google Scholar
  9. 9.
    Benavides, D., Trujillo, S., Trinidad, P.: On the modularization of feature models. In: First European Workshop on Model Transformation (September 2005)Google Scholar
  10. 10.
    Clements, P., Northrop, L.: Software Product Lines: Practices and Patterns. SEI Series in Software Engineering. Addison-Wesley, Reading (2001)Google Scholar
  11. 11.
    Czarnecki, K., Helsen, S.: Feature-based survey of model transformation approaches. IBM Syst. J. 45(3), 621–645 (2006)CrossRefGoogle Scholar
  12. 12.
    Czarnecki, K., Wasowski, A.: Feature diagrams and logics: There and back again. In: 11th International Software Product Line Conference (SPLC 2007), pp. 23–34. IEEE Computer Society, Los Alamitos (2007)CrossRefGoogle Scholar
  13. 13.
    Ehrig, K., Guerra, E., de Lara, J., Lengyel, L., Levendovszky, T., Prange, U., Taentzer, G., Varró, D., Varró-Gyapay, S.: Model transformation by graph transformation: A comparative study. In: MTiP 2005, International Workshop on Model Transformations in Practice (Satellite Event of MoDELS 2005) (2005)Google Scholar
  14. 14.
    Gheyi, R., Massoni, T., Borba, P.: A theory for feature models in alloy. In: First Alloy Workshop, pp. 71–80, Portland, United States (November 2006)Google Scholar
  15. 15.
    Heckel, R., Malte Küster, J., Taentzer, G.: Confluence of typed attributed graph transformation systems. In: ICGT 2002: Proceedings of the First International Conference on Graph Transformation, London, UK, pp. 161–176. Springer, Heidelberg (2002)Google Scholar
  16. 16.
    Kang, K., Cohen, S., Hess, J., Novak, W., Peterson, S.: Feature–Oriented Domain Analysis (FODA) Feasibility Study. Technical Report CMU/SEI-90-TR-21, Software Engineering Institute, Carnegie Mellon University (November 1990)Google Scholar
  17. 17.
    Krueger, C.W.: Easing the transition to software mass customization. In: PFE 2001: Revised Papers from the 4th International Workshop on Software Product-Family Engineering, London, UK, pp. 282–293. Springer, Heidelberg (2002)Google Scholar
  18. 18.
    Liu, J., Batory, D., Lengauer, C.: Feature oriented refactoring of legacy applications. In: ICSE 2006: Proceeding of the 28th international conference on Software engineering, pp. 112–121. ACM Press, New York (2006)Google Scholar
  19. 19.
    Mens, T.: Conditional graph rewriting as a domain-independent formalism for software evolution. In: AGTIVE 1999: Proceedings of the International Workshop on Applications of Graph Transformations with Industrial Relevance, London, UK, pp. 127–143. Springer, Heidelberg (2000)Google Scholar
  20. 20.
    Mens, T.: On the use of graph transformations for model refactoring. In: Lämmel, R., Saraiva, J., Visser, J. (eds.) GTTSE 2005. LNCS, vol. 4143, pp. 219–257. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  21. 21.
    Mens, T., Gorp, P.V., Varró, D., Karsai, G.: Applying a model transformation taxonomy to graph transformation technology. Electronic Notes in Theoretical Computer Science (ENTCS) 152, 143–159 (2006)CrossRefGoogle Scholar
  22. 22.
    Mens, T., Taentzer, G., Runge, O.: Analysing refactoring dependencies using graph transformation. Software and Systems Modeling 6(3), 269–285 (2007)CrossRefGoogle Scholar
  23. 23.
    Mens, T., Tourwé, T.: A survey of software refactoring. IEEE Trans. Softw. Eng. 30(2), 126–139 (2004)CrossRefGoogle Scholar
  24. 24.
    Peña, J., Hinchey, M., Ruiz-Cortés, A., Trinidad, P.: Building the core architecture of a multiagent system product line: With an example from a future nasa mission. In: 7th International Workshop on Agent Oriented Software Engineering. LNCS (2006)Google Scholar
  25. 25.
    Rozenberg, G. (ed.): Handbook of Graph Grammars and Computing by Graph Transformations. Foundations, vol. 1. World Scientific, Singapore (1997)zbMATHGoogle Scholar
  26. 26.
    Schobbens, P., Heymans, P., Trigaux, J., Bontemps, Y.: Feature Diagrams: A Survey and A Formal Semantics. In: Proceedings of the 14th IEEE International Requirements Engineering Conference (RE 2006), Minneapolis, Minnesota, USA (September 2006)Google Scholar
  27. 27.
    Segura, S., Benavides, D., Ruiz-Cortés, A., Trinidad, P.: Toward automated refactoring of feature models using graph transformations. In: Pimentel, E. (ed.) VII Jornadas sobre Programación y Lenguajes, PROLE 2007, Zaragoza, Spain, pp. 275–284 (September 2007)Google Scholar
  28. 28.
    Shvaiko, P., Euzenat, J.: A survey of schema-based matching approaches. Journal on Data Semantics IV, 146–171 (2005)zbMATHGoogle Scholar
  29. 29.
    Taentzer, G.: Agg: A graph transformation environment for modeling and validation of software. In: Pfaltz, J.L., Nagl, M., Böhlen, B. (eds.) AGTIVE 2003. LNCS, vol. 3062. Springer, Heidelberg (2004)Google Scholar
  30. 30.
    Trujillo, S., Batory, D., Diaz, O.: Feature refactoring a multi-representation program into a product line. In: GPCE 2006: Proceedings of the 5th international conference on Generative programming and component engineering, pp. 191–200. ACM Press, New York (2006)Google Scholar
  31. 31.
    Westfechtel, B.: Structure-oriented merging of revisions of software documents. In: Proceedings of the 3rd international workshop on Software configuration management, pp. 68–79. ACM, New York (1991)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2008

Authors and Affiliations

  • Sergio Segura
    • 1
  • David Benavides
    • 1
  • Antonio Ruiz-Cortés
    • 1
  • Pablo Trinidad
    • 1
  1. 1.University of SevilleSpain

Personalised recommendations