Classifying product families using platform coverage and variation mechanisms

The notion of product families is becoming more and more popular, both in research and in industry. Every product family initiative that is started within a company has its own context, such as a particular business strategy and a particular application domain. Each product family has its own specific characteristics that have to fit in with its context. In this paper we will describe two dimensions for classifying product families. The first dimension deals with the coverage of the product family platform. Platform coverage deals with the proportion of the functionality provided by the platform, and the additional functionality needed to derive a specific product within the product family. The second dimension deals with the variation mechanisms that are used to derive a specific product from the generic platform. The coverage of the platform and the variation mechanisms used are not totally unrelated. We will discuss various types of platform coverage and variation mechanisms, including their characteristics. These two dimensions are based on experience gained with a number of product families. We will look at four of these in greater detail to illustrate our ideas. We believe that these dimensions will aid the classification of product families. This will both facilitate the selection of a new product family approach for a particular context, and support the evaluation of existing product families. Copyright © 2005 John Wiley & Sons, Ltd.

[1]  Jan Bosch,et al.  Managing Variability in Software Product Lines , 2000 .

[2]  Frank J. van der Linden,et al.  Creating Architectures with Building Blocks , 1995, IEEE Softw..

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

[4]  Roel Wieringa,et al.  Requirements Engineering: Frameworks for Understanding , 1996 .

[5]  Jan Bosch,et al.  Design and use of software architectures - adopting and evolving a product-line approach , 2000 .

[6]  Felix Bachmann,et al.  Report on Discussion Sessions "Diversity Solutions" and "Light-Weight Processes" , 2001, PFE.

[7]  Ivar Jacobson,et al.  The Unified Software Development Process , 1999 .

[8]  John Durkin,et al.  Tools and applications , 2002 .

[9]  Krzysztof Czarnecki,et al.  Generative programming - methods, tools and applications , 2000 .

[10]  Jan Gerben Wijnstra Evolving a Product Family in a Changing Context , 2003, PFE.

[11]  Jan Bosch,et al.  Maturity and Evolution in Software Product Lines: Approaches, Artefacts and Organization , 2002, SPLC.

[12]  Rob C. van Ommering Beyond Product Families: Building a Product Population? , 2000, IW-SAPF.

[13]  Jan Gerben Wijnstra Supporting diversity with component frameworks as architectural elements , 2000, Proceedings of the 2000 International Conference on Software Engineering. ICSE 2000 the New Millennium.

[14]  Pierre America,et al.  Requirements Modeling for Families of Complex Systems , 2000, IW-SAPF.

[15]  Mohamed Fayad Accomplishing software stability , 2002, CACM.

[16]  Dewayne E. Perry,et al.  Generic Architecture Descriptions for Product Lines , 1998, ESPRIT ARES Workshop.

[17]  Charles W. Krueger,et al.  Easing the Transition to Software Mass Customization , 2001, PFE.

[18]  Philippe Kruchten,et al.  The 4+1 View Model of Architecture , 1995, IEEE Softw..

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

[20]  Jan Bosch,et al.  On the notion of variability in software product lines , 2001, Proceedings Working IEEE/IFIP Conference on Software Architecture.

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

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

[23]  Edsger W. Dijkstra,et al.  Structured programming , 1972, A.P.I.C. Studies in data processing.

[24]  Frank J. van der Linden Software Product-Family Engineering , 2003, Lecture Notes in Computer Science.

[25]  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 .

[26]  Jan Gerben Wijnstra Critical Factors for a Successful Platform-Based Product Family Approach , 2002, SPLC.

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

[28]  Jan Gerben Wijnstra,et al.  Platform Engineering for the Medical Domain , 2001, PFE.