Skip to main content

A model for tracing variability from features to product-line architectures: a case study in smart grids


In current software systems with highly volatile requirements, traceability plays a key role to maintain the consistency between requirements and code. Traceability between artifacts involved in the development of software product line (SPL) is still more critical because it is necessary to guarantee that the selection of variants that realize the different SPL products meet the requirements. Current SPL traceability mechanisms trace from variability in features to variations in the configuration of product-line architecture (PLA) in terms of adding and removing components. However, it is not always possible to materialize the variable features of a SPL through adding or removing components, since sometimes they are materialized inside components, i.e., in part of their functionality: a class, a service, and/or an interface. Additionally, variations that happen inside components may crosscut several components of architecture. These kinds of variations are still challenging and their traceability is not currently well supported. Therefore, it is not possible to guarantee that those SPL products with these kinds of variations meet the requirements. This paper presents a solution for tracing variability from features to PLA by taking these kinds of variations into account. This solution is based on models and traceability between models in order to automate SPL configuration by selecting the variants and realizing the product application. The FPLA modeling framework supports this solution which has been deployed in a software factory. Validation has consisted in putting the solution into practice to develop a product line of power metering management applications for smart grids.

This is a preview of subscription content, access via your institution.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13


  1. It is available on:

  2. Most services are omitted to gain readability.

  3. The feature metamodel is described in [15], while the Flexible-PLA metamodel is described in [41].




  7. The script of the interviews is available on

  8. Redmine is web-based project management and bug-tracking tool

  9. Intelligent Monitoring of Power NETworks

  10. NEtworked MOnitoring & COntrol, Diagnostic for Electrical Distribution

  11. Technologies for automated and intelligent management of power distribution networks of the future

  12. Oracle Berkeley DB is a high-performance embeddable database providing Java Object and Key/Value storage (NoSQL).

  13. Apache Hadoop is a framework for running applications on large cluster built of commodity hardware.

  14. Object-relational database management system.

  15. Software for clustering and high availability in Oracle db environments.

  16. Although other papers propose other traceability approaches [40, 43,46], we did not include them here as they do not consider SPLE.


  1. Adachi Barbosa E, Batista T, Garcia A, Silva E (2011) Pl-aspectualacme: an aspect-oriented architectural description language for software product lines. In: Crnkovic I, Gruhn V, Book M (eds) Software architecture, lecture notes in computer science, vol 6903, Springer, Berlin, pp 139–146

    Google Scholar 

  2. Aizenbud-Reshef N, Nolan BT, Rubin J, Shaham-Gafni Y (2006) Model traceability. IBM Syst J 45(3):515–526. doi:10.1147/sj.453.0515

    Article  Google Scholar 

  3. Ajila S, Kaba A (2004) Using traceability mechanisms to support software product line evolution. In: Information reuse and integration, 2004. IRI 2004. Proceedings of the 2004 IEEE International Conference on, pp 157–162. doi:10.1109/IRI.2004.1431453

  4. Anquetil N, Kulesza U, Mitschke R, Moreira A, Royer JC, Rummler A, Sousa A (2009) A model-driven traceability framework for software product lines. Software and systems modeling, p 25. doi:10.1007/s10270-009-0120-9. URL:

  5. Antkiewicz M, Czarnecki K (2004) Featureplugin: feature modeling plug-in for eclipse. In: eclipse ’04: Proceedings of the 2004 OOPSLA workshop on eclipse technology eXchange. ACM, New York, NY, USA, pp 67–72. doi:10.1145/1066129.1066143

  6. Bachmann F, Bass L (2001) Managing variability in software architectures. In: SSR ’01: Proceedings of the 2001 symposium on Software reusability. ACM, New York, NY, USA, pp 126–132. doi:10.1145/375212.375274

  7. Bachmann F, Goedicke M, Leite J, Nord R, Pohl K, Ramesh B, Vilbig A (2004) A meta-model for representing variability in product family development. In: Linden F (eds) Software product-family engineering, lecture notes in computer science, vol 3014, Springer, Berlin, pp 66–80

    Google Scholar 

  8. Bass L, Clements P, Kazman R (2003) Software architecture in practice. Addison-Wesley Pearson Education, Boston, MA, USA

    Google Scholar 

  9. Benavides D, Segura S, Ruiz-Cortés A (2010) Automated analysis of feature models 20 years later: a literature review. Inf Syst 35(6):615–636

    Article  Google Scholar 

  10. Berg K, Bishop J, Muthig D (2005) Tracing software product line variability: from problem to solution space. In: SAICSIT ’05: Proceedings of the 2005 annual research conference of the South African institute of computer scientists and information technologists on IT research in developing countries. South African Institute for Computer Scientists and Information Technologists, Republic of South Africa, pp 182–191

  11. Beydeda S, Book M, Gruhn V (2005) Model-driven software development. Springer, Berlin

    Book  MATH  Google Scholar 

  12. Bezivin J (2005) On the unification power of models. Softw Syst Model 4(2):171–188

    Article  Google Scholar 

  13. Cleland-Huang J, Gotel O, Zisman A (2012) The grand challenge of traceability (v1.0). Springer, London

    Google Scholar 

  14. Clements P, Northrop L (2002) Software product lines: practices and patterns. Addison-Wesley, Boston, MA, USA

    Google Scholar 

  15. Czarnecki K (2005) Mapping features to models: a template approach based on superimposed variants. In: GPCE 2005—generative programming and component engineering. 4th international conference. Springer, pp 422–437

  16. Dashofy EM, Hoek AVD (2002) Representing product family architectures in an extensible architecture description language. In: PFE ’01: revised papers from the 4th international workshop on software product-family engineering. Springer, pp 330–341

  17. Díaz J, Pérez J, Garbajosa J, Yagüe A (2013) Change-impact driven agile architecting. In: Proceedings of the 46th Hawaii international conference on system sciences (HICSS ’13), Hawaii, USA, 7–10 Jan 2013, IEEE Computer Society Press, pp 4780–4789

  18. Espinoza A, Garbajosa J (2008) A proposal for defining a set of basic items for project-specific traceability methodologies. In: Software engineering workshop, 2008. SEW ’08. 32nd Annual IEEE, pp 175–184

  19. Gotel O et al (2012) The grand challenge of traceability (v10). In: Cleland-Huang J, Gotel O, Zisman A (eds) Software and systems traceability, Springer, London, pp 343–409

    Chapter  Google Scholar 

  20. Gotel O, Finkelstein C (1994) An analysis of the requirements traceability problem. In: Proceedings of the first international conference on requirements engineering, pp 94–101. doi:10.1109/ICRE.1994.292398

  21. Hauser JR, Clausing D (1988) The house of quality. Harv Bus Rev 66(3):63–73

    Google Scholar 

  22. Jacobson I, Griss M, Jonsson P (1997) Software reuse. architecture, process and organization for business success. Addison-Wesley, Boston

    Google Scholar 

  23. Kang KC, Cohen SG, Hess JA, Novak WE, Peterson AS (1990) Feature-oriented domain analysis (foda) feasibility study. Tech. rep., Carnegie-Mellon University, Pittsburgh, PA, USA, CMU/SEI-90-TR-21 ESD-90-TR-222

  24. Khurum M, Gorschek T (2009) A systematic review of domain analysis solutions for product lines. J Syst Softw 82(12):1982–2003

    Article  Google Scholar 

  25. Kizcales G, Lamping J, Mendhekar A, Maeda C (1997) Aspect-oriented programming. In: Proceedings of the 11th European conference on object-oriented programming (ECOOP), lecture notes in computer science, vol 1241. Springer

  26. Kolovos DS, Paige RF, Polack FAC (2006) On-demand merging of traceability links with models. In: In Proceedings of 3 rd ECMDA traceability workshop

  27. Letelier P (2002) A framework for requirements traceability in uml-based projects. In: In Proceedings of 1st International. Workshop on traceability in emerging forms of software engineering, pp 32–41

  28. Loughran N, Sánchez P, Garcia A, Fuentes L (2008) Language support for managing variability in architectural models. In: SC’08: Proceedings of software composition, 7th international symposium, lecture notes in computer science, vol 4954, Springer, pp 36–51

  29. Magee J, Kramer J (1996) Dynamic structure in software architectures. In: Proceedings of the 4th ACM SIGSOFT symposium on foundations of software engineering, SIGSOFT ’96, ACM, New York, NY, USA, pp 3–14

  30. Mahdavi-Hezavehi S, Galster M, Avgeriou P (2013) Variability in quality attributes of service-based software systems: a systematic literature review. Inf Softw Technol 55(2):320–343

    Article  Google Scholar 

  31. Martin JL, Yague A, Gonzalez E, Garbajosa J (2010) Making software factory truly global: the smart software factory project. In: Fagerholm F (ed) Software factory magazine., p 19

  32. Massoud Amin S, Wollenberg B (2005) Toward a smart grid: power delivery for the 21st century. Power Energy Mag IEEE 3(5):34–41. doi:10.1109/MPAE.2005.1507024

    Article  Google Scholar 

  33. Matinlassi M (2004) Comparison of software product line architecture design methods: COPA, FAST, FORM, KOBRA and QADA. In: ICSE ’04: Proceedings of the 26th international conference on software engineering. IEEE Computer Society, Washington, DC, USA, pp 127–136

  34. Medvidovic N, Taylor RN (2000) A classification and comparison framework for software architecture description languages. IEEE Trans Softw Eng 26(1):70–93. doi:10.1109/32.825767

    Article  Google Scholar 

  35. Mens T (2010) Future research challenges in software evolution and maintenance—report from EC expert meeting. ERCIM News 81

  36. Moon M, Chae HS, Nam T, Yeom K (2007) A metamodeling approach to tracing variability between requirements and architecture in software product lines. In: CIT ’07: Proceedings of the 7th IEEE international conference on computer and information technology, IEEE Computer Society, Washington, DC, USA, pp 927–933

  37. Object Management Group (2006) Data distribution service for real-time systems, v1.2

  38. Object Management Group (2006) Meta-object facility (MOF) specification 2.0 TR formal-06-01-01.

  39. Object Management Group (2011) OCL specification version 2.2.

  40. Olsen G, Oldevik J (2007) Scenarios of traceability in model to text transformations. In: Akehurst D, Vogel R, Paige R (eds) Model driven architecture: foundations and applications, lecture notes in computer science, vol 4530, Springer, Berlin, pp 144–156

    Chapter  Google Scholar 

  41. Pérez J, Díaz J, Soria CC, Garbajosa J (2009) Plastic partial components: a solution to support variability in architectural components. In: Proceedings of joint working IEEE/IFIP conference on software architecture 2009 and European conference on software architecture 2009, WICSA/ECSA 2009, Cambridge, UK, 14–17 Sept 2009. IEEE, pp 221–230

  42. Pérez J, Díaz J, Garbajosa J, Alarcón PP (2010) Flexible working architectures: agile architecting using ppcs. In: Proceedings of the 4th European conference on software architecture (ECSA 2010), LNCS, Springer, Berlin, pp 102–117

  43. Pohl K, Brandenburg M, Gülich A (2001) Integrating requirement and architecture information: a scenario and meta-model approach. In: REFSQ’01: Proceedings of The seventh international workshop on requirements engineering: foundation for software quality, pp 68–84

  44. Pohl K, Böckle G, Linden F (2005) Software product line engineering: foundations, principles and techniques. Springer, Germany

    Book  Google Scholar 

  45. Poshyvanyk D, Di Penta M, Kagdi H (2011) Sixth international workshop on traceability in emerging forms of software engineering: (tefse 2011). In: 33rd international conference on software engineering (ICSE 2011), pp 1214–1215. doi:10.1145/1985793.1986052

  46. Ramesh B, Jarke M (2001) Toward reference models for requirements traceability. IEEE Trans Softw Eng 27(1):58–93. doi:10.1109/32.895989

    Article  Google Scholar 

  47. Runeson P, Höst M (2009) Guidelines for conducting and reporting case study research in software engineering. Empir Softw Eng 14:131–164

    Article  Google Scholar 

  48. Runeson P, Höst M, Rainer A, Regnell B (2012) Case study research in software engineering: guidelines and examples. Wiley, Hoboken

    Book  Google Scholar 

  49. Satyananda TK, Lee D, Kang S, Hashmi SI (2007) Identifying traceability between feature model and software architecture in software product line using formal concept analysis. In: Proceedings of the international conference computational science and its applications. IEEE Computer Society, Washington, DC, USA, pp 380–388

  50. Schwaber K, Beedle M (2002) Agile software development with scrum. Prentice-Hall, Englewood Cliffs

    Google Scholar 

  51. Scott J, Kazman R (2009) Realizing and refining architectural tactics: Availability. Tech. rep., CMU/SEI-2009-TR-006 ESC-TR-2009-006, Pittsburgh, USA

  52. Selic B (2003) The pragmatics of model-driven development. IEEE Softw 20(5):19–25. doi:10.1109/MS.2003.1231146

    Article  Google Scholar 

  53. Staab S, Walter T, Grner G, Parreiras F (2010) Model driven engineering with ontology technologies. In: Amann U, Bartho A, Wende C (eds) Reasoning web semantic technologies for software engineering, Lecture Notes in Computer Science, vol. 6325, Springer, Berlin, pp 62–98

    Google Scholar 

  54. Stake RE (1995) The art of case study research. Sage, London

    Google Scholar 

  55. Szyperski C (2002) Component software: beyond object-oriented programming. Addison-Wesley Longman Publishing Co., Inc., Boston, MA

    Google Scholar 

  56. Taha WM (2009) Domain-specific languages IFIP TC 2 working conference, DSL, lecture notes in computer science, vol 5658. Springer, Berlin

    Google Scholar 

  57. van Heesch U, Avgeriou P, Hilliard R (2012) A documentation framework for architecture decisions. J Syst Softw 85(4):795–820. doi:10.1016/j.jss.2011.10.017

    Article  Google Scholar 

  58. van der Hoek A, Heimbigner D, Wolf AL (1999) Capturing architectural configurability: variants, options, and evolution. Tech. rep., Technical Report CU-CS-895-99, Department of Computer Science, University of Colorado, Boulder, Colorado

  59. van Ommering R, van der Linden F, Kramer J, Magee J (2000) The koala component model for consumer electronics software. Computer 33(3):78–85. doi:10.1109/2.825699

    Article  Google Scholar 

  60. Weiler T (2003) Modelling architectural variability for software product lines. In: SVM’03: Proceedings of the software variability management workshop, pp 53–61

  61. Yin R (2008) Case study research. Design and methods. 4th edn. Sage, London

    Google Scholar 

Download references


The work reported in here has been partially sponsored by the Spanish fund: INNOSEP (TIN2009-13849), IMPONET (ITEA 2 09030, TSI-02400-2010-103), i-SSF (IPT-430000-2010-038), NEMO&CODED (ITEA2 08022, IDI-20110864), and ENERGOS (CEN-20091048). Finally, it is also funded by the UPM (Technical University of Madrid) under their researcher training program.

Author information

Authors and Affiliations


Corresponding author

Correspondence to Jessica Díaz.

Rights and permissions

Reprints and Permissions

About this article

Cite this article

Díaz, J., Pérez, J. & Garbajosa, J. A model for tracing variability from features to product-line architectures: a case study in smart grids. Requirements Eng 20, 323–343 (2015).

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI:


  • Traceability modeling
  • Software product line engineering
  • Product-line architecture
  • Variability