The Evolution in Software Product Lines

Product-line architectures, i.e. a software architecture and component set shared by a family of products, represents a promising approach to achieving reuse of software. Several companies are initiating or have recently adopted a product-line architecture. However, little experience is available with respect to the evolution of the products, the software components and the software architecture. Due to the higher level of interdependency between the various software assets, software evolution is a more complex process. In this paper, we discuss the results of a case study concentrating on the evolution of software assets in two swedish organizations that have employed the product-line architecture approach for several years. We have identified categorizations of the evolution of the requirements, the software architecture and the software components and analyze the relations between the categories. Based on this model, we present a set of guidelines that support the evolution of software assets in a product-line.

[1]  Dewayne E. Perry,et al.  Challenges in Evolving a Large Scale Software Product , 1998 .

[2]  Jim Wilson,et al.  Applying Software Product-Line Architecture , 1997, Computer.

[3]  Jan Bosch,et al.  Characterizing stability in evolving frameworks , 1999, Proceedings Technology of Object-Oriented Languages and Systems. TOOLS 29 (Cat. No.PR00275).

[4]  Martin L. Griss,et al.  Integrating feature modeling with the RSEB , 1998, Proceedings. Fifth International Conference on Software Reuse (Cat. No.98TB100203).

[5]  David C. Gross,et al.  Managing Domain-Specific, Product-Line Development , 1996, IEEE Softw..

[6]  J. Váncza,et al.  Product Line Development with Customer Interaction , 1998 .

[7]  Ivar Jacobson,et al.  Software Reuse: Architecture, Process And Organization For Business Success , 1998, Proceedings. Technology of Object-Oriented Languages. TOOLS 26 (Cat. No.98EX176).

[8]  Jr. Frederick P. Brooks,et al.  The mythical man-month (anniversary ed.) , 1995 .

[9]  Jan Bosch,et al.  Framework composition: problems, causes and solutions , 1997, Proceedings of TOOLS USA 97. International Conference on Technology of Object Oriented Systems and Languages.

[10]  Jan Bosch,et al.  Architecture level prediction of software maintenance , 1999, Proceedings of the Third European Conference on Software Maintenance and Reengineering (Cat. No. PR00090).

[11]  Ralph Johnson,et al.  design patterns elements of reusable object oriented software , 2019 .

[12]  G. Kerr Quality factors. , 1988, Health physics.

[13]  Mary Shaw,et al.  Software architecture - perspectives on an emerging discipline , 1996 .

[14]  Jan Bosch,et al.  An experiment on creating scenario profiles for software change , 2000, Ann. Softw. Eng..

[15]  Meir M. Lehman,et al.  On understanding laws, evolution, and conservation in the large-program life cycle , 1984, J. Syst. Softw..

[16]  Michael Mattsson,et al.  Frameworks as Components : A Classification of Framework Evolution , 1998 .

[17]  Harald C. Gall,et al.  Software evolution observations based on product release history , 1997, 1997 Proceedings International Conference on Software Maintenance.

[18]  Leonard J. Bass,et al.  Second Product Line Practice Workshop Report , 1998, ArXiv.

[19]  Will Tracz,et al.  DSSA (Domain-Specific Software Architecture): pedagogical example , 1995, SOEN.

[20]  Sholom Cohen,et al.  Product Line Practice Workshop Report. , 1998 .

[21]  Mikael Lindvall,et al.  The visibility of maintenance in object models: an empirical study , 1998, Proceedings. International Conference on Software Maintenance (Cat. No. 98CB36272).

[22]  Victor R. Basili,et al.  Understanding and predicting the process of software maintenance releases , 1996, Proceedings of IEEE 18th International Conference on Software Engineering.

[23]  Paul Clements,et al.  Software architecture in practice , 1999, SEI series in software engineering.

[24]  Fred P. Brooks,et al.  The Mythical Man-Month , 1975, Reliable Software.

[25]  Jan Bosch,et al.  Product-line architectures in industry: a case study , 1999, Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002).