Advertisement

Software Product Lines

  • Klaus PohlEmail author
  • Andreas Metzger
Open Access
Chapter

Abstract

Software product lines have proven to empower industry to develop a diversity of similar software-intensive systems at lower cost, in shorter time, and with higher quality when compared with the development of single systems. In this chapter, we describe the key differences between software product line engineering and the development of single software systems: the two complementary development processes and the explicitly managed product line variability. Looking ahead, we sketch some applications of the product line variability modeling principles and techniques in non-SPLE settings.

References

  1. 1.
    Pohl, K., Böckle, G., van der Linden, F.: Software product line engineering: foundations, principles, and techniques. Springer, Berlin (2005)CrossRefGoogle Scholar
  2. 2.
    Metzger, A., Pohl, K.: Software product line engineering and variability management: achievements and challenges. In: International Conference on Software Engineering (ICSE) – Future of Software Engineering Track (FOSE 2014), Hyderabad, India (2014)Google Scholar
  3. 3.
    Clements, P., Northrop, L.: Software product lines: practices and patterns, reading. Addison-Wesley, Upper Saddle River, NJ (2001)Google Scholar
  4. 4.
    Coplien, J., Hoffmann, D., Weiss, D.: Commonality and variability in software engineering. IEEE Soft. 15(6), 37–45 (1998)CrossRefGoogle Scholar
  5. 5.
    Metzger, A., Heymans, P., Pohl, K., Schobbens, P.-Y., Saval, G.: Disambiguating the documentation of variability in software product lines: a separation of concerns, formalization and automated analysis. In: 15th Int’l Requirements Engineering Conference (RE 2007), New Delhi, India (2007)Google Scholar
  6. 6.
    van der Linden, F., Schmid, K., Rommes, E.: Software product lines in action. Springer, Berlin (2007)CrossRefGoogle Scholar
  7. 7.
    Halmans, G., Pohl, K., Sikora, E.: Documenting application-specific adaptations in software product line engineering. In: 20th Int’l Conference on Advanced Information Systems Engineering (CAiSE 2008), Montpellier, France (2008)Google Scholar
  8. 8.
    Galster, M., Weyns, D., Tofan, D., Michalek, B. and Avgeriou, P.: Variability in software systems: a systematic literature review. In: IEEE Transactions on Software Engineering. available online (2013)Google Scholar
  9. 9.
    Helferich, A., Schmid, K., Herzwurm, G.: Product management for software product lines: an unsolved problem? Commun. ACM. 49(12), 66–67 (2006)CrossRefGoogle Scholar
  10. 10.
    van Ommering, R., Bosch, J.: Widening the scope of software product lines: from variation to composition. In: 2nd Int’l Software Product Line Conference (SPLC), San Diego, USA (2002)Google Scholar
  11. 11.
    Bühne, S., Lauenroth, K., Pohl, K., Weber, M.: Modelling features for multi-criteria product-lines in the automotive industry. In: ICSE Workshop on Software Engineering for Automotive Systems (SEAS 2004), Edinburgh, UK (2004)Google Scholar
  12. 12.
    Pohl, K.: Requirements engineering: fundamentals, principles, and techniques. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  13. 13.
    Niu, N., Easterbrook, S.: Extracting and modeling product line functional requirements. In: 16th Int’l Requirements Engineering Conference (RE 2008), Barcelona, Spain (2008)Google Scholar
  14. 14.
    Figueiredo, E., Cacho, N., Sant’Anna, C., et al.: Evolving software product lines with aspects: an empirical study on design stability. In 30th Int’l Conference on Software Engineering (ICSE 2008), Leipzig, Germany (2008)Google Scholar
  15. 15.
    Mohabbati, B., Asadi, M., Gasevic, D., Hatala, M., Müller, H.: Combining service-orientation and software product line engineering: a systematic mapping study. Inf. Soft. Technol. 55(11), 1845–1859 (2013)CrossRefGoogle Scholar
  16. 16.
    Di Nitto, E., Ghezzi, C., Metzger, A., Papazoglou, M.P., Pohl, K.: A journey to highly dynamic, self-adaptive service-based applications. Autom. Softw. Eng. 15(3–4), 313–341 (2008)CrossRefGoogle Scholar
  17. 17.
    Capilla, R., Bosch, J., Kang, K.-C.: Systems and software variability management. Springer, Heidelberg (2013)CrossRefGoogle Scholar
  18. 18.
    Batory, D., Höfner, P., Kim, J.: Feature interactions, products, and composition. In: 10th Int’l Conference on Generative Programming and Component Engineering (GPCE 2011), Portland, USA (2011)Google Scholar
  19. 19.
    Haber, A., Hölldobler, K., Kolassa, C., Look, M., Rumpe, B., Müller, K., Schaefer, I.: Engineering delta modeling languages. In 17th Int’l Software Product Line Conference (SPLC 2013), Tokyo, Japan (2013)Google Scholar
  20. 20.
    Lauenroth, K., Metzger, A., Pohl, K.: Quality assurance in the presence of variability. In: Intentional perspectives on information systems engineering, pp. 319–334. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  21. 21.
    Lee, J., Kang, S., Lee, D.: A survey on software product line testing. In 16th Int’l Software Product Line Conference (SPLC 2012), Salvador, Brazil (2012)Google Scholar
  22. 22.
    Pohl, K., Metzger, A.: Software product line testing. Commun. ACM. 49(12), 78–81 (2006)CrossRefGoogle Scholar
  23. 23.
    Benavides, D., Segura, S., Ruiz-Cortés, A.: Automated analysis of feature models 20 years later: a literature review. Inform. Sys. 35(6), 615–636 (2010)CrossRefGoogle Scholar
  24. 24.
    Pohl, R., Stricker, V., Pohl, K.: Measuring the structural complexity of feature models. In 28th Int’l Conference on Automated Software Engineering (ASE 2013), Palo Alto, USA (2013)Google Scholar
  25. 25.
    Dhungana, D., Grünbacher, P., Rabiser, R.: The DOPLER meta-tool for decision-oriented variability modeling: a multiple case study. Autom. Softw. Eng. 18(1), 77–114 (2011)CrossRefGoogle Scholar
  26. 26.
    Engström, E., Runeson, P.: Software product line testing: a systematic mapping study. Inf. Softw. Technol. 53(1), 2–13 (2011)CrossRefGoogle Scholar
  27. 27.
    Stricker, V., Metzger, A., Pohl, K.: Avoiding redundant testing in application engineering. In: 14th Int’l Software Product Line Conference (SPLC 2010), Jeju Island, South Korea (2010).Google Scholar
  28. 28.
    Berger, T., Rublack, R., Nair, D., Atlee, J., Becker, M., Czarnecki, K., Wasowski, A.: A survey of variability modeling in industrial practice. In 7th Int’l Workshop on Variability Modelling of Software-intensive Systems (VaMoS 2013), Pisa, Italy (2013)Google Scholar
  29. 29.
    Rubin, J., Kirshin, A., Botterweck, G., Chechik, M.: Managing forked product variants. In: 16th Int’l Software Product Line Conference (SPLC 2012), Salvador, Brazil (2012)Google Scholar
  30. 30.
    Pohl, K., Broy, M., Daembkes, H., Hönninger, H.: Advanced model-based engineering of embedded systems. Springer, Cham (2016)CrossRefGoogle Scholar
  31. 31.
    Atzori, L., Iera, A., Morabito, G.: The internet of things: a survey. Comput. Netw. 54(15), 2787–2805 (2010)CrossRefGoogle Scholar
  32. 32.
    Bosch, J.: Building products as innovation experiment systems. In: 3rd Int’l Conference on Software Business (ICSOB 2012), Cambridge, USA (2012)Google Scholar
  33. 33.
    Cooper, K., Franch, X.: Editorial. J. Syst. Softw. 81(6), 841–842 (2008) CrossRefGoogle Scholar
  34. 34.
    Díaz, J., Pérez, J., Alarcón, P.P., Garbajosa, J.: Agile product line engineering: a systematic literature review. Softw. Pract. Exp. 41(8), 921–941 (2011)CrossRefGoogle Scholar
  35. 35.
    Metzger, A., Bayer, A., Doyle, D., Molzam Sharifloo, A., Pohl, K., Wessling, F.: Coordinated run-time adaptation of variability-intensive systems: an application in cloud computing. In ICSE 2016 1st Int’l Workshop on Variability and Complexity in Software Design (VACE), Austin, Texas (2016)Google Scholar

Copyright information

© The Author(s) 2018

Open Access This chapter is licensed under the terms of the Creative Commons Attribution 4.0 International License (http://creativecommons.org/licenses/by/4.0/), which permits use, sharing, adaptation, distribution and reproduction in any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license and indicate if changes were made.

The images or other third party material in this chapter are included in the chapter's Creative Commons license, unless indicated otherwise in a credit line to the material. If material is not included in the chapter's Creative Commons license and your intended use is not permitted by statutory regulation or exceeds the permitted use, you will need to obtain permission directly from the copyright holder.

Authors and Affiliations

  1. 1.Paluno (The Ruhr Institute for Software Technology)University of Duisburg-EssenEssenGermany

Personalised recommendations