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.
Similar content being viewed by others
Notes
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.
We use ‘efficient’ here to mean that the elevator is of an appropriate size and speed for the volume of traffic it must carry.
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
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
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
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
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
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)
van Lamsweerde A (2009) Requirements engineering: from system goals to UML models to software specifications. Wiley, Berlin
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
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
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
Anton AI (1996) Goal-based requirements analysis, requirements engineering. In: Proceedings of the second international conference on, pp 136–144, 15–18
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
Svahnberg M, Gurp J, Bosch J (2005) A taxonomy of variability realization techniques. Softw Pract Exp 35(8)
Anastasopoulos M, Gacek C (2011) Implementing product line Variabilities. Proc Symp Softw Reusability pp 109–117
Bachmann F, Clements PC (2005) Variability in software product lines. CMU/SEI Technical Report, CMU/SEI-2005-TR-012
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
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
Object Management Group (OMG) (2005) Reusable asset specification, version 2.2. Normative document. http://www.omg.org/spec/RAS/2.2/PDF
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
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
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
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
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
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
Ye H, Liu H (2005) Approach to modelling feature variability and dependencies in software product lines. Softw IEEE Proc 152(3):101–109
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
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
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
Kang K, Lee J, Donohoe P (2002) Feature-oriented product line engineering. IEEE Softw 19(4):58–65
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
Wolf T (2007) Rationale-based unified software engineering model. Dissertation, Technische Universität München, 2007
Pohl K, Böckle G, van der Linder F (2005) Software product line engineering foundations, principles, and techniques. Springer, Berlin
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
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
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
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
Greenfiled J, Short K (2004) Software factories: assembling applications with patterns, models, frameworks, and tools. Wiley, London
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
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)
Author information
Authors and Affiliations
Corresponding author
Rights 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
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00766-013-0183-6