COVAMOF: A Framework for Modeling Variability in Software Product Families

A key aspect of variability management in software product families is the explicit representation of the variability. Experiences at several industrial software development companies have shown that a software variability model should do four things: (1) uniformly represent variation points as first-class entities in all abstraction layers (ranging from features to code), (2) allow for the hierarchical organization of the variability, (3) allow for the first-class representation of simple (i.e., one-to-one) and complex (i.e., n-to-m) dependencies, and (4) allow for modeling the relations between dependencies. Existing variability modeling approaches support the first two requirements, but lack support for the latter two. The contribution of this paper is a framework for variability modeling—COVAMOF—that provides support for all four requirements.

[1]  Jan Bosch,et al.  Variability Issues in Software Product Lines , 2001, PFE.

[2]  Marco Sinnema,et al.  Product derivation in software product families: a case study , 2005, J. Syst. Softw..

[3]  Mehdi Jazayeri,et al.  Software Architecture for Product Families: Principles and Practice , 2000 .

[4]  Cristina Gacek,et al.  Implementing product line variabilities , 2001, SSR '01.

[5]  David M. Weiss,et al.  Software Product-Line Engineering: A Family-Based Software Development Process , 1999 .

[6]  Leonard J. Bass,et al.  Managing variability in software architectures , 2001, SSR '01.

[7]  Jan Bosch,et al.  Variability Dependencies in Product Family Engineering , 2003, PFE.

[8]  Charles W. Krueger,et al.  Software reuse , 1992, CSUR.

[9]  Steffen Thiel,et al.  Systematic Integration of Variability into Product Line Architecture Design , 2002, SPLC.

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

[11]  Jan Bosch,et al.  A taxonomy of variability realization techniques , 2005, Softw. Pract. Exp..

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

[13]  Michael Eonsuk Shin,et al.  Multiple-view meta-modeling of software product lines , 2002, Eighth IEEE International Conference on Engineering of Complex Computer Systems, 2002. Proceedings..

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

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

[16]  Don S. Batory,et al.  The design and implementation of hierarchical software systems with reusable components , 1992, TSEM.

[17]  M. Clauß,et al.  Modeling variability with UML , 2001 .

[18]  M.L. Griss,et al.  Software reuse architecture, process, and organization for business success , 1997, Proceedings of the Eighth Israeli Conference on Computer Systems and Software Engineering.

[19]  Martin Becker Mapping Variabilities onto Product Family Assets , 2003 .

[20]  Marco Sinnema,et al.  A Product Derivation Framework for Software Product Families , 2003, PFE.