Abstract
Extended feature models enable the expression of complex cross-tree constraints involving feature attributes. The inclusion of attributes in cross-tree relations not only enriches the constraints, but also engenders an extended type of variability that involves attributes. In this article, we elaborate on the effects of this new variability type on feature models. We start by analyzing the nature of the variability involving attributes and extend the definitions of the configuration and the product to suit the emerging requirements. Next, we propose classifications for the features, configurations, and products to identify and formalize the ramifications that arise due to the new type of variability. Then, we provide a semantic foundation grounded on constraint satisfaction for our proposal. We introduce an ordering relation between configurations and show that the set of all the configurations represented by a feature model forms a semilattice. This is followed by a demonstration of how the feature model analyses will be affected using illustrative examples selected from existing and novel analysis operations. Finally, we summarize our experiences, gained from a commercial research and development project that employs an extended feature model.














Similar content being viewed by others
References
Asikainen T, Mannisto T, Soininen T (2007) Kumbang: a domain ontology for modelling variability in software product families. Adv Eng Inform 21:23–40
Bagheri E, Ensan F (2014) Dynamic decision models for staged software product line configuration. Requir Eng 19:187–212
Batory D (2005) Feature models, grammars, and propositional formulas. In: Proceedings of the 9th International software product line conference (SPLC’05), LNCS 3714, pp 7–20
Benavides D, Ruiz-Cortés A, Trinidad P (2004) Coping with automatic reasoning on software product lines. Second Groningen workshop on software variability management
Benavides D, Ruiz-Cortés A, Trinidad P (2005) Using constraint programming to reason on feature models. In: Proceedings of the 17th international conference on software engineering and knowledge engineering (SEKE’05), pp 677–682
Benavides D, Segura S, Ruiz-Cortés A (2010) Automated analysis of feature models 20 years later: A literature review. Inform Syst 35:615–636
Benavides D, Trinidad P, Ruiz-Cortés A (2005) Automated reasoning on feature models. In: Proceedings of the 17th international conference on advanced information systems engineering (CAISE’05), LNCS 3520, pp 491–503
Bosch J, Florijn G, Greefhorst D, Kuusela J, Obbink H, Pohl K (2001) Variability issues in software product lines. In: Proceedings of the 4th international workshop on product family engineering (PFE’01), pp 11–19
Botterweck G, Thiel S, Nestor D, Abid S, Cawley C (2008) Visual tool support for configuring and understanding software product lines. In: Proceedings of the 12th international software product line conference (SPLC’08), IEEE computer society, pp 77–86
Capilla R, Bosch J, Trinidad P, Ruiz-Cortés A, Hinchey M (2014) An overview of dynamic software product line architectures and techniques: observations from research and industry. J Syst Softw 91:3–23
Chen L, Babar MA (2011) A systematic review of evaluation of variability management approaches in software product lines. Inform Softw Tech 53:344–362
Cheng L, Wu C, Zhang Y, Wu H, Li M, Maple C (2012) A survey of localization in wireless sensor network. Int J Distrib Sens N 962523(1–962523):12
Czarnecki K, Bednasch T, Unger P, Eisenecker U (2002) Generative programming for embedded software: an industrial experience report. In: Proceedings of the ACM SIGPLAN/SIGSOFT conference on generative programming and component engineering (GPCE’02), LNCS 2487, pp 156–172
Czarnecki K, Grünbacher P, Rabiser R, Schmid K, Wasowski A (2012) Cool features and tough decisions: a comparison of variability modeling approaches. In: Proceedings of the 6th international workshop on variability modelling of software-intensive systems (VAMOS’12), pp 173–182
Czarnecki K, Helsen S, Eisenecker U (2005) Formalizing cardinality-based feature models and their specialization. Software Process Improv Pract 10:7–29
Davey BA, Priestley HA (2002) Introduction to lattices and order, 2nd edn. Cambridge University Press, Cambridge
Deursen A, Klint P (2002) Domain-specific language design requires feature descriptions. J Comput Inform Tech 10:1–17
Dumitru H, Gibiec M, Hariri N, Leland-Huang J, Mobasher B, Castro-Herrera C, Mirakhorli M (2011) On-demand feature recommendations derived from mining public product descriptions. In: Proceedings of the 33rd international conference on software engineering (ICSE’11), ACM, pp 181–190
Fernandez-Amoros D, Heradio R, Cerrada J (2009) Inferring information from feature diagrams to product line economic models. In: Proceedings of the 13th international software product line conference (SPLC’09), pp 41–50
Goldoni E, Savioli A, Risi M, Gamba P (2010) Experimental analysis of RSSI-based indoor localization with IEEE 802.15.4. In: Proceedings of the 16th European wireless conference (EW’10), pp 71–77
Griss M, Favaro J, d’Alessandro M (1998) Integrating feature modeling with the RSEB. In: Proceedings of the 5th international conference on software reuse (ICSR’98), pp. 76-85
Halmans G, Pohl K (2003) Communicating the variability of a software product family to customers. Softw Syst Model 2:15–36
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 software product line conference (SPLC’08), IEEE computer society, pp 12–21
Höfner P, Khedri R, Möller B (2011) An algebra of product families. Softw Syst Model 10:161–182
ITU-R (2011) Impact of industrial, scientific and medical (ISM) equipment on radiocommunication services ITU-R SM.2180
Kang K, Cohen S, Hess J, Novak W, Peterson S (1990) Feature-oriented domain analyses (FODA) feasibility study. Technical Report CMU/SEI-90-TR-21, Software Eng. Inst., Carnegie Mellon Univ., Pittsburgh
Kang K, Kim S, Lee J, Kim K (1998) FORM: a feature-oriented reuse method with domain-specific reference architectures. Ann Soft Eng 5:143–168
Karataş AS, Oğuztüzün H, Doğru A (2010) Global constraints on feature models. In: Proceedings of the 16th international conference on principles and practices of constraint programming (CP’10), LNCS 6308, pp 537–551
Karataş AS, Oğuztüzün H, Doğru A (2010) Mapping extended feature models to constraint logic programming over finite domains. In: Proceedings of the 14th international software product line conference (SPLC’10), LNCS 6287, pp 286–299
Karataş AS, Oğuztüzün H, Doğru A (2011) Transforming cross-tree relations involving attributes into basic constraints in feature models, In: Proceedings of the 5th international conference on application of information and communication technologies (AICT’11), pp 157–161
Karataş AS, Oğuztüzün H, Doğru A (2013) From extended feature models to constraint logic programming. Sci Comput Program 78:2295–2312
Lee J, Kang, K (2006) A feature-oriented approach for developing dynamically reconfigurable products in product line engineering. In: Proceedings of the 10th international software product line conference (SPLC’06), IEEE CS Press, pp 131–140
Lee J, Kang K, Sawyer P, Lee H (2013) A holistic approach to feature modeling for product line requirements engineering. Requir Eng. doi:10.1007/s00766-013-0183-6
Loesch F, Ploedereder E (2007) Restructuring variability in software product lines using concept analysis of product configurations. In: Proceedings of the 11th European conference on software maintenance and reengineering (CSMR’07), IEEE computer society, pp 159–170
Lopez-Herrejon RE, Batory D (2001) A standard problem for evaluating product-line methodologies, In: Proceedings of the 3rd international conference on generative and component-based software engineering (GCSE’01), Springer, pp 10–24
Mannion M (2002) Using first-order logic for product line model validation. In: Proceedings of the 2nd software product line conference (SPLC’02), LNCS 2379, pp 176–187
Mao G, Fidan B, Anderson BDO (2007) Wireless sensor network localization techniques. Comput Netw 51:2529–2553
Niu N, Savolainen J, Yu Y (2010) Variability modeling for product line viewpoints integration. In: Proceedings of the IEEE 34th computer software and applications conference, pp 337–346
Peng R, Sichhitiu ML (2006) Angle of arrival localization for wireless sensor networks. In: Proceedings of the 3rd annual IEEE conference on sensor and ad hoc communications and networks, pp 374–382
Pohl K, Böckle G, Linden F (2005) Software product line engineering: foundations, principles, and techniques. Springer, Berlin
Riebisch M, Bollert K, Streitferdt D, Philippow I (2002) Extending feature diagrams with UML multiplicities. 6th conference on integrated design and process technology (IDPT’02), Pasadena, California
Ryssel U, Ploennigs J, Kabitzsch K (2011) Extraction of feature models from formal contexts. SPLC Workshops, ACM
Schobbens P, Trigaux JC, Heymans P, Bontemps Y (2007) Generic semantics of feature diagrams. Comput Netw 51:456–479
Simos M et al (1996) Software technology for adaptable reliable systems (STARS) organization domain modeling (ODM) guidebook version 2.0. STARS-VC-A025/001/00, Manassas, VA, lockheed martin tactical defense systems
Sinnema M, Deelstra S (2006) Classifying variability modeling techniques. Inform Softw Tech 49:717–739
Software Productivity Consortium Services Corporation (1993) Reuse-driven software processes guidebook version 02.00.03, Technical Report SPC-92019-CMC
Stoiber R, Glinz M (2010) Supporting stepwise, incremental product derivation in product line requirements engineering. In: Proceedings of the 4th international workshop on variability modeling of software-intensive systems (VaMoS’10), pp 77–84
Trinidad P, Ruiz-Cortés A (2009) Abductive reasoning and automated analysis of feature models: how are they connected? In: Proceedings of the 3rd international workshop on variability modelling of software-intensive systems (VAMOS’09), pp 145–153
Wang H, Li YF, Sun J, Zhang H, Pan J (2007) Verifying feature models using OWL. J Web Semant 5:117–129
Wang J, Ghosh RK, Das SK (2010) A survey on sensor localization. J Control Theory Appl 8:2–11
Webber DL, Gomaa H (2004) Modeling variability in software product lines with the variation point model. Sci Comput Program 53:305–331
White J, Doughtery B, Schmidt D, Benavides D (2009) Automated reasoning for multi-step software product-line configuration problems. In: Proceedings of the 13th software product line conference (SPLC’09), pp 11–20
Author information
Authors and Affiliations
Corresponding author
Appendix 1
Appendix 1
Proof of Proposition 1
We first start by observing that the subset relation is also reflexive (i.e., X ⊆ X), antisymmetric (i.e., X ⊆ Y and Y ⊆ X imply X = Y), and transitive (i.e., X ⊆ Y and Y ⊆ Z imply X ⊆ Z), where X, Y, and Z are sets. We define the configuration ordering using the subset relation between the sets of included features and the sets of excluded features of two valid configurations; thus, it quickly follows that the configuration ordering relation is a partial order, as follows.
Let C1 = (I1, E1), C2 = (I2, E2) and C3 = (I3, E3) be three valid configurations with respect to M. The configuration ordering relation is
-
(reflexive) C1 ≤ C1, since I1 ⊆ I1 and E1 ⊆ E1.
-
(antisymmetric) C1 ≤ C2 and C2 ≤ C1 imply C1 = C2, since I1 ⊆ I2 and I2 ⊆ I1 imply I1 = I2, and E1 ⊆ E2 and E2 ⊆ E1 imply E1 = E2
-
(transitive) C1 ≤ C2 and C2 ≤ C3 imply C1 ≤ C3, since I1 ⊆ I2 and I2 ⊆ I3 imply I1 ⊆ I3, and E1 ⊆ E2 and E2 ⊆ E3 imply E1 ⊆ E3 □
Proof of Proposition 2
We first start by observing that Cinf ≤ C1 (since I1 ∩ I2 ⊆ I1 and E1 ∩ E2 ⊆ E1) and Cinf ≤ C2 (since I1 ∩ I2 ⊆ I2 and E1 ∩ E2 ⊆ E2). Thus, Cinf is a lower bound of {C1, C2}.
Then, we show that Cinf is the greatest lower bound of {C1, C2}. Assume that there exists another configuration C = (I, E), where C ≠ Cinf, such that C is a lower bound of {C1, C2} and Cinf ≤ C. Due to the assumption C ≠ Cinf, at least one of the following two conditions must be true: (i) I ≠ I1 ∩ I2, (ii) E ≠ E1 ∩ E2.
We will first examine (i). Since we have assumed that Cinf ≤ C, then, due to the definition of the configuration ordering relation, it must be the case that I1 ∩ I2 ⊆ I. If (i) is true, then there must be at least one feature f such that f is a member of I, but not I1 ∩ I2. f is not a member of I1 ∩ I2 if and only if f ∉ I1 or f ∉ I2. However, since we assumed that C is a lower bound of {C1, C2}, it must be the case that C ≤ C1 and C ≤ C2. If C ≤ C1, then I ⊆ I1; thus, every member of I, including f, must also be a member of I1; hence, f ∉ I1 cannot be true. For similar reasons, f ∉ I2 cannot also be true. Therefore, it is not possible to find such an f. Consequently, (i) cannot be true.
Similarly, it is easy to show that (ii) cannot be true as well. Thus, our assumption on the existence of such a C fails. Therefore, we conclude that Cinf = (I1 ∩ I2, E1 ∩ E2) is the infimum of {C1, C2} (i.e., Cinf = C1 ∧ C2). □
Proof of Proposition 3
Let the set of all valid configurations represented by M be S. Since M is not void, it represents at least one valid product; thus, S will be non-empty. It follows from Proposition 1 that S is equipped with the partial order relation ≤ ; thus, it is a partially ordered set. It follows from Proposition 2 that for any two valid configurations C1 = (I1, E1) and C2 = (I2, E2) such that C1, C2 ∈ S, C1 ∧ C2 exists and is equal to (I1 ∩ I2, E1 ∩ E2). Therefore, S is a meet semilattice. □
Proof of Proposition 4
We first start by observing that Cinf ≤ C1 (since I1 ∩ I2 ⊆ I1, E1 ∩ E2 ⊆ E1, and A1-1 ⊆ A1-1 ∪ A2-1, …, A1-n ⊆ A1-n ∪ A2-n). Similarly, Cinf ≤ C2 is also true. Thus, Cinf is a lower bound of {C1, C2}.
Then, we show that Cinf is the greatest lower bound of {C1, C2}. Assume that there exists another configuration C = (I, E, Δ), where C ≠ Cinf, such that C is a lower bound of {C1, C2} and Cinf ≤ C. Due to the assumption C ≠ Cinf, at least one of the following three conditions must be true: (i) I ≠ I1 ∩ I2, (ii) E ≠ E1 ∩ E2, (iii) Δ ≠ Δinf. The proofs that show (i) and (ii) cannot be true can be directly borrowed from the proof of Proposition 2. Therefore, we will focus on (iii).
Let Δ = {a1 ∈ A1, …, an ∈ An}. Since we have assumed that Cinf ≤ C, then, due to the definition of the extended configuration ordering relation, it must be the case that A1 ⊆ A1-1 ∪ A2-1, …, An ⊆ A1-n ∪ A2-n. If (iii) is true, then there must be at least one value v such that v is a member of A1-x ∪ A2-x, but not Ax, where 1 ≤ x ≤ n. v is a member of A1-x ∪ A2-x if and only if v ∈ A1-x or v ∈ A2-x. However, since we assumed that C is a lower bound of {C1, C2}, it must be the case that C ≤ C1 and C ≤ C2. If C ≤ C1, then A1-x ⊆ Ax; thus, a value that is not a member of Ax cannot be a member of A1-x; hence, v ∈ A1-x cannot be true. For similar reasons, v ∈ A2-x cannot also be true. Therefore, it is not possible to find such a v and (iii) cannot be true.
Thus, our assumption on the existence of such a C fails. Therefore, we conclude that Cinf is the infimum of {C1, C2} (i.e., Cinf = C1 ∧ C2). □
Proof of Proposition 5
Let the set of all valid configurations represented by M be S. Since M is not void, it represents at least one valid product; thus, S will be non-empty. As discussed above, S is equipped with the partial order relation ≤ ; thus, it is a partially ordered set. It follows from Proposition 4 that for any two configurations C1 = (I1, E1, Δ1) and C2 = (I2, E2, Δ2) such that C1, C2 ∈ S, C1 ∧ C2 exists and is equal to (I1 ∩ I2, E1 ∩ E2, Δinf), where Δ1 = {a1 ∈ A1-1, …, an ∈ A1-n, …}, Δ2 = {a1 ∈ A2-1, …, an ∈ A2-n, …}, and Δinf = {a1 ∈ A1-1 ∪ A2-1, …, an ∈ A1-n ∪ A2-n}. Therefore, S is a meet semilattice. □
Rights and permissions
About this article
Cite this article
Karataş, A.S., Oğuztüzün, H. Attribute-based variability in feature models. Requirements Eng 21, 185–208 (2016). https://doi.org/10.1007/s00766-014-0216-9
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00766-014-0216-9