Developing long-term stable product line architectures

Product lines are usually built for the long term in order to repay the initial investment. While long-term stable software systems are already hard, if they are developed individually, it is even harder for complete product lines. At the time a new product line is created, the details of future product line characteristics are typically not known, no matter how well and detailed scoping and planning is done. Thus, any product line needs to evolve and adapt over time to incorporate new customer requirements as well as new technology constraints. Stability of the product line architecture is very important to the successful long-term evolution of a product line. In this paper, we discuss how a form of domain decomposition, which we call conceptual architecture, can be used to guide product line engineering towards long-term viability. We will illustrate this approach in the context of a large-scale product line development and analyze the evolution properties of the product line. Transferability of the approach is suggested to other embedded software systems that drive mature, well-understood physical control system.

[1]  Birgit Boss,et al.  Architectural aspects of software sharing and standardization: AUTOSAR for automotive domain , 2012, 2012 Second International Workshop on Software Engineering for Embedded Systems (SEES).

[2]  Hong Zhao,et al.  Maintaining software product lines — an industrial practice , 2008, 2008 IEEE International Conference on Software Maintenance.

[3]  K. Schmid,et al.  Introducing the PuLSE approach to an embedded system population at Testo AG , 2005, Proceedings. 27th International Conference on Software Engineering, 2005. ICSE 2005..

[4]  Klaus Schmid,et al.  A Requirements-Based Taxonomy of Software Product Line Evolution , 2007, Electron. Commun. Eur. Assoc. Softw. Sci. Technol..

[5]  Klaus Schmid,et al.  The product line mapping approach to defining and structuring product portfolios , 2002, Proceedings IEEE Joint International Conference on Requirements Engineering.

[6]  Klaus Schmid An assessment approach to analyzing benefits and risks of product lines , 2001, 25th Annual International Computer Software and Applications Conference. COMPSAC 2001.

[7]  Martin Verlage,et al.  Monitoring the evolution of an OO system with metrics: an experience from the stock market software domain , 2004, 20th IEEE International Conference on Software Maintenance, 2004. Proceedings..

[8]  Samuel Ajila,et al.  Experience report on the effect of market reposition on product line evolution , 2004, Proceedings of the 2004 IEEE International Conference on Information Reuse and Integration, 2004. IRI 2004..

[9]  Alessandro Maccari Experiences in assessing product family software architecture for evolution , 2002, ICSE '02.

[10]  Klaus Schmid A comprehensive product line scoping approach and its validation , 2002, ICSE '02.

[11]  Klaus Schmid,et al.  Software product lines in action - the best industrial practice in product line engineering , 2007 .

[12]  Ralph Krause,et al.  Experiences from a Large Scale Software Product Line Merger in the Automotive Domain , 2011, 2011 15th International Software Product Line Conference.

[13]  Paul Clements,et al.  Software product lines - practices and patterns , 2001, SEI series in software engineering.

[14]  Robert L. Nord,et al.  Describing Software Architecture with UML , 1999, WICSA.

[15]  Torsten Bertram,et al.  CARTRONIC - An Open Architecture for Networking the Control Systems of an Automobile , 1998 .

[16]  Klaus Schmid,et al.  Scoping software product lines: an analysis of an emerging technology , 2000 .

[17]  Jakob Axelsson Evolutionary architecting of embedded automotive product lines: An industrial case study , 2009, 2009 Joint Working IEEE/IFIP Conference on Software Architecture & European Conference on Software Architecture.

[18]  Frank van der Linden,et al.  Software product lines in action , 2007 .

[19]  Jan Bosch,et al.  Evolution in software product lines: two cases , 1999, J. Softw. Maintenance Res. Pract..

[20]  Marco Sinnema,et al.  Variability assessment in software product families , 2009, Inf. Softw. Technol..