Skip to main content
Log in

Facilitating the evolution of products in product line engineering by capturing and replaying configuration decisions

  • SW-Diversity
  • Published:
International Journal on Software Tools for Technology Transfer Aims and scope Submit manuscript

Abstract

Software product lines rely on developing reusable artifacts and defining their variability in models to support and accelerate the derivation of individual products. A major challenge in product lines is the continuous evolution of both the reusable artifacts and derived products. Products that have been derived from a product line have to be updated regularly, e.g., after bugfixes or the development of new features. Changes to reusable artifacts and variability models have to be propagated to derived products. The aim of our research is to provide automated support for the evolution of products derived from product lines by capturing and replaying configuration decisions. Our PUPLE (Product Updates in Product Line Engineering) approach supports updating derived products after changes to the product line they have been derived from. It exploits the structure of variability models and uses change-tracking data to minimize user intervention. The paper first explores how different types of product line changes influence the derived products. It then presents extensions to our decision-oriented product line approach DOPLER to support product line evolution. We evaluate the feasibility of the PUPLE approach with evolution tasks that were performed by engineers of an industry partner on a product line of an Eclipse-based tool suite with six derived products. We conclude with lessons learned and limitations of our approach.

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.

Similar content being viewed by others

References

  1. Ajila S.A., Kaba A.B.: Evolution support mechanisms for software product line process. J. Syst. Softw. 81(10), 1784–1801 (2008)

    Article  Google Scholar 

  2. Benavides D., Segura S., Ruiz-Cortés A.: Automated analysis of feature models 20 years later. Inf. Syst. 35(6), 615–636 (2010)

    Article  Google Scholar 

  3. Beuche, D.: Modeling and building software product lines with pure::variants. In: Proceedings of the 15th International Software Product Line Conference, SPLC Workshops 2011, Tool Demo, Munich, Germany, pp. 46. ACM (2011)

  4. Bosch J.: Design and Use of Software Architectures, Adopting and Evolving a Product Line Approach. Addison-Wesley, Boston (2000)

    Google Scholar 

  5. Clements P., Northrop L.: Software Product Lines: Practices and Patterns. SEI Series in Software Engineering. Addison- Wesley, Boston (2001)

    Google Scholar 

  6. Czarnecki, K., Grünbacher, P., Rabiser, R., Schmid, K., Wasowski, A.: Cool features and tough decisions: a comparison of variability modeling approaches. In: 6th International Workshop on Variability Modeling of Software-Intensive Systems (VaMoS 2012), pp. 173–182. ACM, Leipzig (2012)

  7. Deelstra S., Sinnema M., Bosch J.: Product derivation in software product families: a case study. J. Syst. Softw. 74(2), 173–194 (2005)

    Article  Google Scholar 

  8. Deelstra S., Sinnema M., Bosch J.: Variability assessment in software product families. Inf. Softw. Technol. 51(1), 195–218 (2009)

    Article  Google Scholar 

  9. Deng, G., Gray, J., Schmidt, D., Lin, Y., Gokhale, A., Lenz, G.: Evolution in model-driven software product-line architectures. In: Tiako, P. (ed.) Designing Software-intensive Systems, pp. 1280–1312. Idea Group Inc. (IGI) (2008)

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

    Article  Google Scholar 

  11. Dhungana D., Grünbacher P., Rabiser R., Neumayer T.: Structuring the modeling space and supporting evolution in software product line engineering. J. Syst. Softw. 83(7), 1108–1122 (2010)

    Article  Google Scholar 

  12. Grünbacher, P., Rabiser, R., Dhungana, D., Lehofer, M.: Model-based customization and deployment of eclipse-based tools: industrial experiences. In: 24th IEEE/ACM International Conference on Automated Software Engineering (ASE 2009), pp. 247–256. IEEE/ACM, Auckland (2009)

  13. Heider W., Froschauer R., Grünbacher P., Rabiser R., Dhungana D.: Simulating evolution in model-based product line engineering. Inf. Softw. Technol. 52(7), 758–769 (2010)

    Article  Google Scholar 

  14. Heider, W., Rabiser, R.: Tool support for evolution of product lines through rapid feedback from application engineering. In: 4th International Workshop on Variability Modelling of Software-intensive Systems (VaMoS 2010), pp. 167–170. ICB-Research Report No. 37 (University of Duisburg Essen), Linz, Austria (2010)

  15. Heider, W., Rabiser, R., Dhungana, D., Grünbacher, P.: Tracking evolution in model-based product lines. In: 1st International Workshop on Model-driven Approaches in Software Product Line Engineering (MAPLE 2009), collocated with the 13th International Software Product Line Conference (SPLC 2009), pp. 59–63. ACM, San Francisco, CA, USA (2009)

  16. Holl, G., Thaller, D., Grünbacher, P., Elsner, C.: Managing emerging configuration dependencies in multi product lines. In: 6th Int’l Workshop on Variability Modelling of Software-Intensive Systems, pp. 3–10, Leipzig, Germany (2012)

  17. Johnson, S., Bosch, J.: Quantifying software product line ageing. In: 1st ICSE 2000 Workshop on Software Product Lines: Economics, Architectures, and Implications, pp. 27–32. Limerick, Ireland (2000)

  18. Knauber, P.: Managing the evolution of software product lines. In: 8th International Conference on Software Reuse (ICSR-8). Springer LNCS, Madrid (2004)

  19. Krueger, C.: The biglever software gears unified software product line engineering framework. In: 12th International Software Product Line Conference (SPLC 2008), vol. 2, p. 353. Lero, Limerick (2008)

  20. McGregor, J.: The evolution of product line assets. Technical report CMU/SEI-2003-TR-005 ESC-TR-2003-005 (2003)

  21. Mende, T., Beckwermert, F., Koschke, R., Meier, G.: Supporting the grow-and-prune model in software product lines evolution using clone detection. In: 12th European Conference on Software Maintenance and Reengineering (CSMR’08), pp. 163–172. IEEE CS (2008)

  22. Nöhrer, A., Egyed, A.: Optimizing user guidance during decision-making. In: 15th International Software Product Line Conference (SPLC 2011), pp. 25–34. IEEE CS, Munich (2011)

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

    MATH  Google Scholar 

  24. Rabiser, R., Dhungana, D., Heider, W., Grünbacher, P.: Flexibility and end-user support in model-based product line tools. In: 35th EUROMICRO Conference on Software Engineering and Advanced Applications (SEAA) 2009, pp. 508–511. IEEE CS, Patras (2009)

  25. Rabiser, R., Grünbacher, P., Dhungana, D.: Supporting product derivation by adapting and augmenting variability models. In: 11th International Software Product Line Conference (SPLC 2007), pp. 141–150. IEEE Computer Society, Kyoto (2007)

  26. Rabiser R., Grünbacher P., Dhungana D.: Requirements for product derivation support: Results from a systematic literature review and an expert survey. Inf. Softw. Technol. 52(3), 324–346 (2010)

    Article  Google Scholar 

  27. Rabiser R., O’Leary P., Richardson I.: Key activities for product derivation in software product lines. J. Syst. Softw. 84(2), 285–300 (2011)

    Article  Google Scholar 

  28. Runeson P., Höst M.: Guidelines for conducting and reporting case study research in software engineering. Empirical Softw. Eng. 14(2), 131–164 (2009)

    Article  Google Scholar 

  29. Savolainen, J., Bosch, J., Kuusela, J., Männistö, T.: Default values for improved product line management. In: 13th International Software Product Line Conference, pp. 51–60. SPLC ’09, Carnegie Mellon University, Pittsburgh, PA, USA (2009)

  30. Schmid K., Verlage M.: The economic impact of product line adoption and evolution. IEEE Softw. 19(4), 50–57 (2002)

    Article  Google Scholar 

  31. Sendall S., Kozaczynski W.: Model transformation: the heart and soul of model-driven software development. IEEE Softw. 20(5), 42–45 (2003)

    Article  Google Scholar 

  32. Sinnema M., Deelstra S.: Classifying variability modeling techniques. Inf. Softw. Technol. 49(7), 717–739 (2006)

    Article  Google Scholar 

  33. Siy, H., Perry, D.: Challenges in evolving a large scale software product. In: Principles of Software Evolution Workshop, collocated with the International Software Engineering Conference (ICSE98), pp. 29–32, Kyoto, Japan (1998)

  34. Svahnberg M., Bosch J.: Evolution in software product lines: two cases. J. Softw. Maint. Res. Practice 11(6), 391–422 (1999)

    Article  Google Scholar 

  35. van der Linden F., Schmid K., Rommes E.: Software Product Lines in Action—The Best Industrial Practice in Product Line Engineering. Springer, Berlin-Heidelberg (2007)

    Google Scholar 

  36. Vierhauser, M., Grünbacher, P., Egyed, A., Rabiser, R., Heider, W.: Flexible and scalable consistency checking on product line variability models. In: 25th IEEE/ACM International Conference on Automated Software Engineering (ASE 2010), pp. 63–72. ACM, Antwerp (2010)

  37. Weyns, D., Michalik, B., Helleboogh, A., Boucke, N.: An architectural approach to support online updates of software product lines. In: Ninth Working IEEE/IFIP Conference on Software Architecture, pp. 204–213, WICSA ’11. IEEE Computer Society, Washington (2011)

  38. Wohlin, C., Runeson, P., Höst, M.: Experimentation in Software Engineering: An Introduction. Kluwer International Series in Software Engineering (2000)

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Wolfgang Heider.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Heider, W., Rabiser, R. & Grünbacher, P. Facilitating the evolution of products in product line engineering by capturing and replaying configuration decisions. Int J Softw Tools Technol Transfer 14, 613–630 (2012). https://doi.org/10.1007/s10009-012-0229-y

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10009-012-0229-y

Keywords

Navigation