Skip to main content
Log in

Attribute-based variability in feature models

  • Original Article
  • Published:
Requirements Engineering Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

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
Fig. 14

Similar content being viewed by others

References

  1. Asikainen T, Mannisto T, Soininen T (2007) Kumbang: a domain ontology for modelling variability in software product families. Adv Eng Inform 21:23–40

    Article  Google Scholar 

  2. Bagheri E, Ensan F (2014) Dynamic decision models for staged software product line configuration. Requir Eng 19:187–212

    Article  Google Scholar 

  3. 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

  4. Benavides D, Ruiz-Cortés A, Trinidad P (2004) Coping with automatic reasoning on software product lines. Second Groningen workshop on software variability management

  5. 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

  6. 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

    Article  Google Scholar 

  7. 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

  8. 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

  9. 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

  10. 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

    Article  Google Scholar 

  11. Chen L, Babar MA (2011) A systematic review of evaluation of variability management approaches in software product lines. Inform Softw Tech 53:344–362

    Article  Google Scholar 

  12. 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

    Google Scholar 

  13. 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

  14. 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

  15. Czarnecki K, Helsen S, Eisenecker U (2005) Formalizing cardinality-based feature models and their specialization. Software Process Improv Pract 10:7–29

    Article  Google Scholar 

  16. Davey BA, Priestley HA (2002) Introduction to lattices and order, 2nd edn. Cambridge University Press, Cambridge

    Book  MATH  Google Scholar 

  17. Deursen A, Klint P (2002) Domain-specific language design requires feature descriptions. J Comput Inform Tech 10:1–17

    Article  MATH  Google Scholar 

  18. 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

  19. 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

  20. 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

  21. 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

  22. Halmans G, Pohl K (2003) Communicating the variability of a software product family to customers. Softw Syst Model 2:15–36

    Article  Google Scholar 

  23. 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

  24. Höfner P, Khedri R, Möller B (2011) An algebra of product families. Softw Syst Model 10:161–182

    Article  Google Scholar 

  25. ITU-R (2011) Impact of industrial, scientific and medical (ISM) equipment on radiocommunication services ITU-R SM.2180

  26. 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

  27. 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

    Article  Google Scholar 

  28. 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

  29. 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

  30. 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

  31. 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

    Article  Google Scholar 

  32. 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

  33. 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

    Google Scholar 

  34. 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

  35. 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

  36. 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

  37. Mao G, Fidan B, Anderson BDO (2007) Wireless sensor network localization techniques. Comput Netw 51:2529–2553

    Article  MATH  Google Scholar 

  38. 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

  39. 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

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

    Book  MATH  Google Scholar 

  41. 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

  42. Ryssel U, Ploennigs J, Kabitzsch K (2011) Extraction of feature models from formal contexts. SPLC Workshops, ACM

  43. Schobbens P, Trigaux JC, Heymans P, Bontemps Y (2007) Generic semantics of feature diagrams. Comput Netw 51:456–479

    Article  MATH  Google Scholar 

  44. 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

  45. Sinnema M, Deelstra S (2006) Classifying variability modeling techniques. Inform Softw Tech 49:717–739

    Article  Google Scholar 

  46. Software Productivity Consortium Services Corporation (1993) Reuse-driven software processes guidebook version 02.00.03, Technical Report SPC-92019-CMC

  47. 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

  48. 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

  49. Wang H, Li YF, Sun J, Zhang H, Pan J (2007) Verifying feature models using OWL. J Web Semant 5:117–129

    Article  Google Scholar 

  50. Wang J, Ghosh RK, Das SK (2010) A survey on sensor localization. J Control Theory Appl 8:2–11

    Article  MATH  Google Scholar 

  51. Webber DL, Gomaa H (2004) Modeling variability in software product lines with the variation point model. Sci Comput Program 53:305–331

    Article  MathSciNet  MATH  Google Scholar 

  52. 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

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Ahmet Serkan Karataş.

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, C2S, 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, C2S, 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

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

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

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00766-014-0216-9

Keywords

Navigation