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
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
Bachmann, F., Bass, L.: Managing variability in software architectures. In: Proceedings of the Symposium on Software Reusability, Toronto, Ontario, Canada, pp. 126–132 (2001)
Bass, L., Clements, P., Kazman, R.: Software Architecture in Practice, 2nd edn. SEI Series in Software Engineering. Addison-Wesley, Reading (2003)
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)
Bosch, J.: Design and Use of Software Architectures – Adopting and evolving a product-line approach. Addison-Wesley (Pearson Education) (2000)
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)
Clements, P., Krueger, C.: Being Proactive Pays Off/Eliminating the Adoption Barrier. IEEE Software 19(4), 28–31 (2002)
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)
Faust, D., Verhoef, C.: Software product line migration and deployment. Software Practice and Experience 33(10), 933–955 (2003)
Gacek, C., Anastasopoules, M.: Implementing product line variabilities. In: Proceedings of the Symposium on Software Reusability, pp. 109–117. ACM Press, New York (2001)
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)
Garlan, D., Allen, R., Ockerbloom, J.: Architectural mismatch: Why reuse is so hard. IEEE Software 12(6), 17–26 (1995)
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)
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)
Lago, P.: The UNIK project: from product family to product line. Technical Report PDT-DAIPI- P-001-B0, Politecnico di Torino, Italy (August 2002)
Lago, P., Niemelä, E., van Vliet, H.: Integrating features and structural aspects in engineering software product families (2003) (submitted)
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)
Laudon, K., Laudon, J.: Management Information Systems – Managing the Digital Firm, 8th edn. Prentice Hall, Englewood Cliffs (2004)
Modarressi, A., Mohan, S.: Control and management in next-generation networks: challenges and opportunities. IEEE Communications Magazine 38(10), 94–102 (2000)
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)
Robak, S.: Feature modeling notations for system families. In: International Workshop on Software Variability Management, pp. 58–62 (2003)
Schmid, K., John, I.: A practical approach to full-life cycle variability management. In: International Workshop on Software Variability Management, pp. 41–47 (2003)
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)
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)
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)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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