Skip to main content

Observations from the Recovery of a Software Product Family

  • Conference paper

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 3154))

Abstract

The problem of managing the evolution of complex and large software systems is well known. Evolution implies the reuse and modification of existing software artifacts, and this means that the related knowledge must be documented and maintained.

This paper focuses on the evolution of software product families, although the same principles apply in other software development environments as well. We describe our experience gained in a case study recovering a family of six software products. We give an overview of the case study, and provide lessons learned, implicit assumptions reconstructed during the case study, and some rules we think are generally applicable. Our experience indicates that organizing architectural knowledge is a difficult task. To properly serve the various uses of this knowledge, it needs to be organized along different dimensions and tools are required. Our experience also indicates that, next to variability explicitly designed into the product family, a “variation creep” is caused by different, and evolving, technical and organizational environments of the products. We propose explicitly modeling invariabilities, next to variabilities, in software product lines to get a better grip on this variation creep.

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

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   69.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   89.99
Price excludes VAT (USA)
  • Compact, lightweight 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

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Bachmann, F., Bass, L.: Managing variability in software architectures. In: Proceedings of the Symposium on Software Reusability, Toronto, Ontario, Canada, pp. 126–132 (2001)

    Google Scholar 

  2. Bass, L., Clements, P., Kazman, R.: Software Architecture in Practice, 2nd edn. SEI Series in Software Engineering. Addison-Wesley, Reading (2003)

    Google Scholar 

  3. Böckle, G., Muñoz, J., Knauber, P., Krueger, C., Sampaio do Prado Leite, J., van der Linden, F., Northrop, L., Stark, M., Weiss, D.: Adopting and institutionalizing a product line culture. In: Verlag, S. (ed.) SPLC 2002. LNCS, vol. 2379, pp. 49–59. Springer, Heidelberg (2002)

    Chapter  Google Scholar 

  4. Bosch, J.: Design and Use of Software Architectures – Adopting and evolving a product-line approach. Addison-Wesley (Pearson Education) (2000)

    Google Scholar 

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

    Chapter  Google Scholar 

  6. Clements, P., Krueger, C.: Being Proactive Pays Off/Eliminating the Adoption Barrier. IEEE Software 19(4), 28–31 (2002)

    Article  Google Scholar 

  7. Clements, P., Northrop, L.: Salion, Inc.: A software product line case study. Technical Report CMU/SEI-2002-TR-038, Software Engineering Institute, CMU (November 2002)

    Google Scholar 

  8. Faust, D., Verhoef, C.: Software product line migration and deployment. Software Practice and Experience 33(10), 933–955 (2003)

    Article  Google Scholar 

  9. Gacek, C., Anastasopoules, M.: Implementing product line variabilities. In: Proceedings of the Symposium on Software Reusability, pp. 109–117. ACM Press, New York (2001)

    Google Scholar 

  10. Garg, M., Critchlow, P., Chen, C., Van der Westhuizen, C., van der Hoek, A.: An environment for managing evolving product line architectures. In: International Conference on Software Maintenance, September 2003, pp. 358–367 (2003)

    Google Scholar 

  11. Garlan, D., Allen, R., Ockerbloom, J.: Architectural mismatch: Why reuse is so hard. IEEE Software 12(6), 17–26 (1995)

    Article  Google Scholar 

  12. Jaring, M., Bosch, J.: Representing variability in software product lines: A case study. In: Verlag, S. (ed.) SPLC 2002. LNCS, vol. 2379, pp. 15–36. Springer, Heidelberg (2002)

    Chapter  Google Scholar 

  13. Kang, K., Cohen, S., Hess, J., Novak, W., Peterson, A.: Feature-oriented domain analysis (FODA) feasibility study. Technical Report CMU/SEI-90-TR-21, Software Engineering Institute, CMU (November 1990)

    Google Scholar 

  14. Lago, P.: The UNIK project: from product family to product line. Technical Report PDT-DAIPI- P-001-B0, Politecnico di Torino, Italy (August 2002)

    Google Scholar 

  15. Lago, P., Niemelä, E., van Vliet, H.: Integrating features and structural aspects in engineering software product families (2003) (submitted)

    Google Scholar 

  16. Lago, P., Niemelä, E., van Vliet, H.: Tool support for traceable product evolution. In: Proceedings of the European Conference on Software Maintenance and Reengineering, Tampere, Finland, March 2004, pp. 261–269. IEEE Computer Society Press, Los Alamitos (2004)

    Google Scholar 

  17. Laudon, K., Laudon, J.: Management Information Systems – Managing the Digital Firm, 8th edn. Prentice Hall, Englewood Cliffs (2004)

    Google Scholar 

  18. Modarressi, A., Mohan, S.: Control and management in next-generation networks: challenges and opportunities. IEEE Communications Magazine 38(10), 94–102 (2000)

    Article  Google Scholar 

  19. Riva, C., del Rosso, C.: Experiences with software product family evolution. In: Proceedings of the International Workshop on Principles of Software Evolution, September 2003, pp. 161–169 (2003)

    Google Scholar 

  20. Robak, S.: Feature modeling notations for system families. In: International Workshop on Software Variability Management, pp. 58–62 (2003)

    Google Scholar 

  21. Schmid, K., John, I.: A practical approach to full-life cycle variability management. In: International Workshop on Software Variability Management, pp. 41–47 (2003)

    Google Scholar 

  22. Taylor, R., Medvidovic, N., Anderson, K., Whitehead, E., Robbins, J., Nies, K., Oreizy, P., Dubrow, D.: A component- and message-based architectural style for GUI software. IEEE Trans. Software Eng. 22(6), 390–406 (1996)

    Article  Google Scholar 

  23. Webber, D., Gomaa, H.: Modeling variability with the variation point model. In: Gacek, C. (ed.) ICSR 2002. LNCS, vol. 2319, pp. 109–122. Springer, Heidelberg (2002)

    Chapter  Google Scholar 

  24. Weiler, T.: Modeling Architectural Variability for Software Product Lines. In: van Gurp, J., Bosch, J. (eds.) Proceedings of the Workshop on Software Variability Management, February 2003, pp. 55–63 (2003)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2004 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Lago, P., van Vliet, H. (2004). Observations from the Recovery of a Software Product Family. In: Nord, R.L. (eds) Software Product Lines. SPLC 2004. Lecture Notes in Computer Science, vol 3154. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-28630-1_13

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-28630-1_13

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-22918-6

  • Online ISBN: 978-3-540-28630-1

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics