A holistic approach to feature modeling for product line requirements engineering

Abstract

Requirements engineering (RE) offers the means to discover, model, and manage the requirements of the products that comprise a product line, while software product line engineering (SPLE) offers the means of realizing the products’ requirements from a common base of software assets. In practice, however, RE and SPLE have proven to be less complementary than they should. While some RE techniques, particularly goal modeling, support the exploration of alternative solutions, the appropriate solution is typically conditional on context and a large product line may have many product-defining contexts. Thus, scalability and traceability through into product line features are key challenges for RE. Feature modeling, by contrast, has been widely accepted as a way of modeling commonality and variability of products of a product line that may be very complex. In this paper, we propose a goal-driven feature modeling approach that separates a feature space in terms of problem space and solution space features, and establish explicit mappings between them. This approach contributes to reducing the inherent complexity of a mixed-view feature model, deriving key engineering drivers for developing core assets of a product line, and facilitating the quality-based product configuration.

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

Notes

  1. 1.

    Problem versus solution are relative terms; what may be viewed as a problem by one may be viewed as a solution by others. Functional requirements are problems to solve for designers, but they are solutions to real-world problems.

  2. 2.

    We use ‘efficient’ here to mean that the elevator is of an appropriate size and speed for the volume of traffic it must carry.

  3. 3.

    The four viewpoints (i.e., capability, operating environment, domain technology, and implementation technique) of FODA’s feature model [1] are adopted in our approach with the following change. In our approach, we combined domain technology and implementation technique into one viewpoint (i.e., design decision viewpoint), because both of them represent the same viewpoint, i.e., design decisions.

References

  1. 1.

    Kang KC, Cohen SG, Hess JA, Novak WE, Peterson AS (1990) Feature-Oriented Domain Analysis (FODA) Feasibility quality attributes and Study. Technical Report CMU/SEI-90-TR-21

  2. 2.

    Maiden N, Lockerbie J, Randall D, Jones S, Bush D. Using satisfaction arguments to enhance i* modelling of an air traffic management system. In: Proceedings of the 15th IEEE international requirements engineering conference (RE ‘07), pp 49–52

  3. 3.

    Flores RF, Krueger C, Clements P (2012) Mega-scale product line engineering at general motors. In: Proceedings of the 16th international software product line conference (SPLC), 2012, pp 259–268

  4. 4.

    Yu Y, Lapouchnian A, Leite JCSP, Mylopoulos J (2008) Configuring features with stakeholder goals. In: Proceedings of the ACM symposium applied computing, pp 645–649

  5. 5.

    Sawyer P, Mazo R, Diaz D, Salinesi C, Hughes D (2012) Using constraint programming to manage configurations in self-adaptive systems. IEEE Computer 45(10)

  6. 6.

    van Lamsweerde A (2009) Requirements engineering: from system goals to UML models to software specifications. Wiley, Berlin

    Google Scholar 

  7. 7.

    Yu E (1997) Towards modeling and reasoning support for early-phase requirements engineering. In: RE’97: Proceedings of the 3rd IEEE international symposium on requirements engineering (RE’97). Washington DC, USA

  8. 8.

    Lee K, Kang KC (2010) Usage context as key driver for feature selection. In: Proceedings of the 14th international software product line conference (SPLC 10), 2010, pp 32–46

  9. 9.

    Lee K, Kang KC, Chae W, Choi BW (2000) Feature-based approach to object-oriented engineering of applications for reuse. Softw Pract Exp 30(9):1025–1046

    Article  Google Scholar 

  10. 10.

    Anton AI (1996) Goal-based requirements analysis, requirements engineering. In: Proceedings of the second international conference on, pp 136–144, 15–18

  11. 11.

    van Lamsweerde A (2004) Elaborating security requirements by construction of intentional anti-models. In: Proceedings of the 26th international conference on software engineering (ICSE ‘04). IEEE Computer Society, Washington, DC, USA, pp 148–157

  12. 12.

    Svahnberg M, Gurp J, Bosch J (2005) A taxonomy of variability realization techniques. Softw Pract Exp 35(8)

  13. 13.

    Anastasopoulos M, Gacek C (2011) Implementing product line Variabilities. Proc Symp Softw Reusability pp 109–117

  14. 14.

    Bachmann F, Clements PC (2005) Variability in software product lines. CMU/SEI Technical Report, CMU/SEI-2005-TR-012

  15. 15.

    Lee H, Choi H, Kang KC, Kim D, Lee Z (2009) Experience report on using a domain model-based extractive approach to software product line asset development. In: Proceedings of the 11th international conference on software reuse (ICSR 09), pp 137–149

  16. 16.

    Lee J, Kang KC (2003) Feature binding analysis for product line component development. In: Proceedings of the 5th international workshop on product-family engineering (PFE-5), pp 250–260

  17. 17.

    Object Management Group (OMG) (2005) Reusable asset specification, version 2.2. Normative document. http://www.omg.org/spec/RAS/2.2/PDF

  18. 18.

    Capilla R, Dueñas JC (2001) Modeling variability with features in distributed architectures. In: Proceedings of the 4th international workshop on product family engineering (PFE-4), pp 319–329

  19. 19.

    Czarnecki K, Helsen S, Eisenecker U (2004) Staged configuration using feature models. In: Proceedings of the 3rd software product line conference (SPLC 04), pp 266–282

  20. 20.

    Fey D, Fajta R, Boros A (2002) Feature modeling: a meta-model to enhance usability and usefulness. In: Proceedings of the 2nd software product line conference (SPLC 02), pp 198–216

  21. 21.

    Lee Y, Yang C, Zhu C, Zhao W (2006) An approach to managing feature dependencies for product releasing in software product lines. In: Proceedings of the 9th international conference on software reuse (ICSR 06), pp 127–141

  22. 22.

    Zhang W, Mei H, Zhao H (2005) A feature-oriented approach to modeling requirements dependencies. In: Proceedings of the 13th IEEE international conference on requirements engineering (RE 05), pp 273–284

  23. 23.

    Streitferdt D, Riebisch M, Philippow I (2003) Details of formalized relations in feature models using OCL. In: Proceedings of the 10th IEEE international conference on engineering of computer–based systems (ECBS 03), pp. 45–54

  24. 24.

    Ye H, Liu H (2005) Approach to modelling feature variability and dependencies in software product lines. Softw IEEE Proc 152(3):101–109

    MathSciNet  Article  Google Scholar 

  25. 25.

    Ferber S, Haag J, Savolainen J (2002) Feature interaction and dependencies: modeling features for reengineering a legacy product line. In: Proceedings of the 2nd software product line conference (SPLC 02), pp 235–256

  26. 26.

    Lee K, Kang KC (2004) Feature dependency analysis for product line component design. In: Proceedings of the 8th international conference on software reuse (ICSR 04), pp 69–85

  27. 27.

    Kang KC, Kim S, Lee J, Kim K, Shin E, Huh M (1998) FORM: a feature-oriented reuse method with domain-specific reference architectures. Ann Softw Eng 5:143–168

    Article  Google Scholar 

  28. 28.

    Kang K, Lee J, Donohoe P (2002) Feature-oriented product line engineering. IEEE Softw 19(4):58–65

    Article  Google Scholar 

  29. 29.

    Thurimella AK, Bruegge B, Creighton O (2008) Identifying and exploiting the similarities between rationale management and variability management. In: Proceedings of the 12th international software product line conference (SPLC 08), pp 99–108

  30. 30.

    Wolf T (2007) Rationale-based unified software engineering model. Dissertation, Technische Universität München, 2007

  31. 31.

    Pohl K, Böckle G, van der Linder F (2005) Software product line engineering foundations, principles, and techniques. Springer, Berlin

    Book  MATH  Google Scholar 

  32. 32.

    Moody DL (2009) The ‘physics’ of notations: toward a scientific basis for constructing visual notations in software engineering. IEEE Trans Softw Eng 35(6):756–779

    Article  Google Scholar 

  33. 33.

    Hartmann H, Trew T (2008) Using feature diagrams with context variability to model multiple product lines for software supply chains. In: Proceedings of the 12th international product line conference (SPLC 08), pp 12–21

  34. 34.

    Goldsby H, Sawyer P, Bencomo N, Cheng B, Hughes D (2008) Goal-based modeling of dynamically adaptive system requirements. In: Proceedings of the 15th IEEE international conference on engineering of computer-based systems (ECBS 08), Belfast, pp 36–45

  35. 35.

    Czarnecki K, Helsen S, Eisenecker U (2005) Staged configuration through specialization and multi-level configuration of feature models. Softw Process Improv Pract 10(2):143–169

    Google Scholar 

  36. 36.

    Greenfiled J, Short K (2004) Software factories: assembling applications with patterns, models, frameworks, and tools. Wiley, London

    Google Scholar 

  37. 37.

    Lee H, Yang J-S, Kang KC (2012) VULCAN: architecture-model-based software development workbench. In: Proceedings of the joint 10th working IEEE/IFIP conference on software architecture and 6th European conference on software architecture, 2012, companion volume, pp 86–89

  38. 38.

    Le DM, Lee H, Kang KC, Lee K (2013) Validating consistency between a feature model and its implementation. In: Proceedings of the 13th international conference on software reuse, Pisa, Italy, June 18–21 (to appear)

Download references

Author information

Affiliations

Authors

Corresponding author

Correspondence to Jaejoon Lee.

Rights and permissions

Reprints and Permissions

About this article

Cite this article

Lee, J., Kang, K.C., Sawyer, P. et al. A holistic approach to feature modeling for product line requirements engineering. Requirements Eng 19, 377–395 (2014). https://doi.org/10.1007/s00766-013-0183-6

Download citation

Keywords

  • Feature modeling
  • Product line requirements engineering
  • Goal modeling
  • Feature space
  • Feature modeling viewpoints