Software Reuse in Product Populations

Consumer products are becoming increasingly software intensive. The software complexity of individual products grows, while the diversity of products increases and the lead time must decrease. Software reuse is the answer to this, not only within a family but also between families of consumer products. We have devised an approach based upon a software component technology to enable reuse. This paper describes that approach, and it zooms in on two important aspects of component-based development. One aspect concerns the prediction of system properties from properties of components, which we illustrate using thread synchronization as example. The other aspect concerns branching of our software in our configuration management systems, where our analysis leads to the discovery that we may be constantly rewriting our own code and to the definition of the turn-over factor to quantify this. We end this paper with a brief validation of our approach.

[1]  Derek Coleman,et al.  A cooperative model for cross-divisional product development for a software product line , 2000, SPLC.

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

[3]  Martin Fowler,et al.  Refactoring - Improving the Design of Existing Code , 1999, Addison Wesley object technology series.

[4]  B. J. Pronk An Interface-based platform approach , 2000, SPLC.

[5]  Jan Bosch,et al.  Organizing for Software Product Lines , 2000, IW-SAPF.

[6]  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).

[7]  Richard N. Taylor,et al.  A Classification and Comparison Framework for Software Architecture Description Languages , 2000, IEEE Trans. Software Eng..

[8]  Rob C. van Ommering Techniques for Independent Deployment to Build Product Populations , 2001, WICSA.

[9]  Dieter K. Hammer,et al.  Evaluation of static properties for component-based architectures , 2002, Proceedings. 28th Euromicro Conference.

[10]  Rob C. van Ommering Building product populations with software components , 2002, ICSE '02.

[11]  Patrick Donohoe Software product lines : experience and research directions : proceedings of the First Software Product Lines Conference (SPLC1), August 28-31, 2000, Denver, Colorado, USA , 2000 .

[12]  Jan Gerben Wijnstra Variation Mechanisms and Multi-view Architecting in Platform-based Product Family Development , 2004 .

[13]  Naranker Dulay,et al.  Specifying Distributed Software Architectures , 1995, ESEC.

[14]  Jeff Magee,et al.  The Koala Component Model for Consumer Electronics Software , 2000, Computer.