Skip to main content

Variability Modeling

  • Chapter
  • First Online:
Systems and Software Variability Management

Abstract

The aim of this chapter is to provide a comprehensive description of the notion of variability modeling in the context of software product line engineering and to give an overview of the techniques proposed for variability modeling.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 84.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.00
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD 109.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    The terms “problem” and “solution” are relative. A solution for one may be a problem for others to solve. Requirements, which are considered “problems” to solve by designers, are “solutions” to real-world problems. One may view features in the “solution” space as problems for asset development in the artifact space.

  2. 2.

    For the same object, we can observe it from different angle, i.e., viewpoint, and extract different information. For example, an orthopedic doctor’s view of human will be different from that of an internist.

  3. 3.

    In this chapter, we did not cover modeling real-world problems but focused on “external factors” derived from real-world problems that influence configuration of features in the solution space.

  4. 4.

    The problem of unexpected side effects when a feature is added to a set of features is generally known as the feature interaction problem.

References

  1. Kang, K.C., Cohen, S.G., Hess, J.A., Novak, W.E., Peterson, A.S.: Feature-oriented domain analysis (FODA) feasibility quality attributes and study. Technical report, CMU/SEI-90-TR-21, November 1990

    Google Scholar 

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

    Article  Google Scholar 

  3. Griss, M.L., Favaro, J., d’Alessandro, M.: Integrating feature modeling with the RSEB. In: 5th International Conference on Software Reuse, pp. 76–85 (1998)

    Google Scholar 

  4. van Gurp, J., Bosch, J., Svahnberg, M.: On the notion of variability in software product lines. In: Working IEEE/IFIP Conference on Software Architecture, pp. 45–54 (2001)

    Google Scholar 

  5. Eriksson, M., Börstler, J., Borg, K.: The PLUSS approach – domain modeling with features, use cases and use case realizations. In: Obbink, H., Pohl, K. (eds.) SPLC 2005. LNCS, vol. 3714, pp. 33–44. Springer, Heidelberg (2005)

    Google Scholar 

  6. Hein, A., Schlick, M., Vinga-Martins, R.: Applying feature models in industrial settings. In: 1st International Software Product Line Conference, pp. 47–70 (2000)

    Google Scholar 

  7. Czarnecki, K., Eisenecker, U.W.: Generative Programming: Methods, Tools, and Applications. Addison-Wesley, Reading, MA (2000)

    Google Scholar 

  8. Riebisch, M., Böllert, K., Streitferdt, D., Philippow, I.: Extending feature diagrams with UML multiplicities. In: 6th World Conference on Integrated Design & Process Technology, Pasadena, CA, USA, 23–27 June 2002

    Google Scholar 

  9. Czarnecki, K., Bednasch, T., Unger, P., Eisenecker, U.: Generative programming for embedded software: an industrial experience report. In: Batory, D., Consel, C., Taha, W. (eds.) GPCE 2002. LNCS, vol. 2487, pp. 156–172. Springer, Heidelberg (2002)

    Google Scholar 

  10. Czarnecki, K., Helsen, S., Eisenecker, U.: Staged configuration using feature models. In: Nord, R.L. (ed.) SPLC 2004. LNCS, vol. 3154, pp. 266–283. Springer, Heidelberg (2004)

    Google Scholar 

  11. Benavides, D., Trinidad, P., Ruiz-Cortés, A., Pastor, O., Falcao e Cunha, J.: Automated reasoning on feature models. In: CAiSE 2005. LNCS, vol. 3520, pp. 491–503. Springer, Heidelberg (2005)

    Google Scholar 

  12. Lee, J., Kang, K.C.: Feature binding analysis for product line component development. In: van der Linden, F. (ed.) PFE 2003. LNCS, vol. 3014, pp. 250–260. Springer, Heidelberg (2004)

    Google Scholar 

  13. Capilla, R., Dueñas, J.C.: Modeling variability with features in distributed architectures. In: van der Linden, F. (ed.) PFE-4 2001. LNCS, vol. 2290, pp. 319–329. Springer, Heidelberg (2002)

    Google Scholar 

  14. Fey, D., Fajta, R., Boros, A.: Feature modeling: a meta-model to enhance usability and usefulness. In: Chastek, G. (ed.) SPLC2 2002. LNCS, vol. 2379, pp. 198–216. Springer, Berlin (2002)

    Google Scholar 

  15. Lee, Y., Yang, C., Zhu, C., Zhao, W.: An approach to managing feature dependencies for product releasing in software product lines. In: Morisio, M. (ed.) ICSR 2006. LNCS, vol. 4039, pp. 127–141. Springer, Heidelberg (2006)

    Google Scholar 

  16. Zhang, W., Mei, H., Zhao, H.: A Feature-oriented approach to modeling requirements dependencies. In: 13th IEEE International Conference on Requirements Engineering, pp. 273–284 (2005)

    Google Scholar 

  17. Streitferdt, D., Riebisch, M., Philippow, I.: Details of formalized relations in feature models using OCL. In: 10th IEEE International Conference on Engineering of Computer-Based Systems, pp. 45–54 (2003)

    Google Scholar 

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

    Article  MathSciNet  Google Scholar 

  19. Ferber, S., Haag, J., Savolainen, J.: Feature interaction and dependencies: modeling features for reengineering a legacy product line. In: Chastek, G. (ed.) SPLC2 2002. LNCS, vol. 2379, pp. 235–256. Springer, Berlin (2002)

    Google Scholar 

  20. Lee, K., Kang, K.C.: Feature dependency analysis for product line component design. In: Bosch, J., Krueger, C. (eds.) ICSR 2004. LNCS, vol. 3107, pp. 69–85. Springer, Heidelberg (2004)

    Google Scholar 

  21. Kang, K., Lee, J., Lee, H.: A holistic approach to feature modeling. September 2011 (unpublished)

    Google Scholar 

  22. Atkinson, C., Bayer, J., Bunse, C., Kamsties, E., Laitenberger, O., Laqua, R., Muthig, D., Peach, B., Wust, J., Zettel, J.: Component-Based Product Line Engineering with UML. Addison-Wesley, London (2002)

    Google Scholar 

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

    Article  Google Scholar 

  24. Kang, K.C., Donohoe, P., Koh, E., Lee, J., Lee, K.: Using a marketing and product plan as a key design driver for product line asset development. In: Chastek, G. (ed.) SPLC2 2002. LNCS, vol. 2379, pp. 366–382. Springer, Berlin (2002)

    Google Scholar 

  25. Lee, K., Kang, K.C.: Usage context as key driver for feature selection. In: Bosch, J., Lee, J. (eds.) SPLC 2010. LNCS, vol. 6287, pp. 32–46. Springer, Heidelberg (2010)

    Google Scholar 

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

    Article  Google Scholar 

  27. Anastasopoulos, M., Gacek, C.: Implementing product line variabilities. In: Symposium on Software Reusability: Putting Software Reuse in Context, pp. 109–117 (2001)

    Google Scholar 

  28. Bachmann, F., Clements, P.C.: Variability in software product lines. Technical report, CMU/SEI-2005-TR-012, September 2005

    Google Scholar 

  29. Bosch, J., Florijn, G., Greefhorst, D., Kuusela, J., Obbink, J.H., Pohl, K.: Variability issues in software product lines. In: van der Linden, F. (ed.) PFE-4 2001. LNCS, vol. 2290, pp. 13–21. Springer, Heidelberg (2002)

    Google Scholar 

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

    Google Scholar 

  31. Yu, Y., Lapouchnian, A., Leite, J.C.S.P., Mylopoulos, J.: Configuring features with stakeholder goals. In: 2008 ACM Symposium on Applied Computing, pp. 645–649 (2008)

    Google Scholar 

  32. Thurimella, A.K., Bruegge, B., Creighton, O.: Identifying and exploiting the similarities between rationale management and variability management. In: 12th International Software Product Line Conference, pp. 99–108 (2008)

    Google Scholar 

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

    Google Scholar 

  34. Pohl, K., Böckle, G., van der Linder, F.: Software Product Line Engineering Foundations, Principles, and Techniques. Springer, Berlin (2005)

    MATH  Google Scholar 

  35. Hartmann, H., Trew, T.: Using feature diagrams with context variability to model multiple product lines for software supply chains. In: 12th International Product Line Conference, pp. 12–21 (2008)

    Google Scholar 

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

    Article  Google Scholar 

  37. Greenfiled, J., Short, K.: Software Factories: Assembling Applications with Patterns, Models, Frameworks, and Tools. Wiley, Indianapolis, IN (2004)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Kyo C. Kang .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2013 Springer-Verlag Berlin Heidelberg

About this chapter

Cite this chapter

Kang, K.C., Lee, H. (2013). Variability Modeling. In: Capilla, R., Bosch, J., Kang, KC. (eds) Systems and Software Variability Management. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-36583-6_2

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-36583-6_2

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-36582-9

  • Online ISBN: 978-3-642-36583-6

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics