Defining a strategy to introduce a software product line using existing embedded systems

Engine Control Systems (ECS) for automobiles have numerous variants for many manufactures and different markets. To improve development efficiency, exploiting ECS commonalities and predicting their variability are mandatory. The concept of software product line engineering meets the business background of ECS. However, we should carefully investigate the expected technical, economical, and organizational effects of introducing this strategy into existing products.This paper explains an approach for assessing the potential of merging existing embedded software into a product line approach. The definition of an economically useful product line approach requires two things: analyzing return on investment (ROI) expectations of a product line and understanding the effort required for building reusable assets. We did a clone analysis to provide the basis for effort estimation for merge potential assessment of existing variants. We also report on a case study with ECS. We package the lessons learned and open issues that arose during the case study.

[1]  Susan Horwitz,et al.  Identifying the semantic and textual differences between two versions of a program , 1990, PLDI '90.

[2]  Dirk Muthig,et al.  Assessing merge potential of existing engine control systems into a product line , 2006, SEAS '06.

[3]  Dirk Muthig,et al.  A case study in refactoring a legacy component for reuse in a product line , 2005, 21st IEEE International Conference on Software Maintenance (ICSM'05).

[4]  John D. McGregor,et al.  Calculating ROI for software product lines , 2004, IEEE Software.

[5]  Dirk Muthig,et al.  Starting a Software Product Line by Reengineering a Set of Existing Product Variants , 2006 .

[6]  Paul Clements,et al.  Salion, Inc.: A Software Product Line Case Study , 2002 .

[7]  Wuu Yang,et al.  Identifying syntactic differences between two programs , 1991, Softw. Pract. Exp..

[8]  Andreas Hein,et al.  A Case Study in Applying a Product Line Approach for Car Periphery Supervision Systems , 2001 .

[9]  David Notkin,et al.  Software reflexion models: bridging the gap between source and high-level models , 1995, SIGSOFT FSE.

[10]  Magdalena Balazinska,et al.  Measuring clone based reengineering opportunities , 1999, Proceedings Sixth International Software Metrics Symposium (Cat. No.PR00403).

[11]  Wolfgang Stolz,et al.  Introducing PLA at Bosch Gasoline Systems: Experiences and Practices , 2004, SPLC.

[12]  Paul Clements,et al.  The Structured Intuitive Model for Product Line Economics (SIMPLE) , 2005 .

[13]  Charles W. Krueger Eliciting Abstractions from a Software Product Line , 2002 .

[14]  Klaus Schmid,et al.  PuLSE: a methodology to develop software product lines , 1999, SSR '99.

[15]  John Hatcliff,et al.  CALM and Cadena: metamodeling for component-based product-line development , 2006, Computer.

[16]  Dirk Muthig,et al.  Predicting return-on-investment for product line generations , 2006, 10th International Software Product Line Conference (SPLC'06).