Software Engineering Institute | Carnegie Mellon University
Software Engineering Institute | Carnegie Mellon University

Digital Library

Javascript is currently disabled for your browser. For an optimal search experience, please enable javascript.

Advanced Search

Basic Search

Content Type

Topics

Publication Date

Technical Report

Variability in Software Product Lines

  • September 2005
  • By Felix Bachmann , Paul C. Clements
  • This 2005 report describes the concepts needed when creating core assets with included variability. These concepts provide guidelines to core asset creators on how to model the variability explicitly, so it is handled consistently throughout the product line and managing the variability becomes feasible.
  • Software Product Lines
  • Publisher: Software Engineering Institute
  • Abstract

    Product line engineering is a widely used approach for the efficient development of whole portfolios of software products. The basis of the approach is that products are built from a core asset base, a collection of artifacts that have been designed specifically for use across the portfolio. To account for differences among the software products, some adaptations of the core assets are usually required. These adaptations should be planned before development and made easy for the product developers to use without jeopardizing existing properties of the core assets. 

    In a product line with a large number of products and core assets, as well as requirements to make fine-grained adjustments, managing variability can become problematic very quickly. Mismanagement may result in adding unnecessary variability, implementing variation mechanisms more than once, selecting incompatible or awkward variation mechanisms, and missing required variations. As the product line grows and evolves, the need for variability increases, and managing the variability grows increasingly difficult.  

    This report describes the concepts needed when creating core assets with included variability. These concepts provide guidelines to core asset creators on how to model the variability explicitly, so it is handled consistently throughout the product line and managing the variability becomes feasible.

  • Download

Cite This Report

SEI

Bachmann, Felix; & Clements, Paul. Variability in Software Product Lines (CMU/SEI-2005-TR-012). Software Engineering Institute, Carnegie Mellon University, 2005. http://resources.sei.cmu.edu/library/asset-view.cfm?AssetID=7675

IEEE

Bachmann. Felix, and Clements. Paul, "Variability in Software Product Lines," Software Engineering Institute, Carnegie Mellon University, Pittsburgh, Pennsylvania, Technical Report CMU/SEI-2005-TR-012, 2005. http://resources.sei.cmu.edu/library/asset-view.cfm?AssetID=7675

APA

Bachmann, Felix., & Clements, Paul. (2005). Variability in Software Product Lines (CMU/SEI-2005-TR-012). Retrieved December 29, 2014, from the Software Engineering Institute, Carnegie Mellon University website: http://resources.sei.cmu.edu/library/asset-view.cfm?AssetID=7675

CHI

Felix Bachmann, & Paul Clements. Variability in Software Product Lines (CMU/SEI-2005-TR-012). Pittsburgh, PA: Software Engineering Institute, Carnegie Mellon University, 2005. http://resources.sei.cmu.edu/library/asset-view.cfm?AssetID=7675

MLA

Bachmann, Felix., & Clements, Paul. 2005. Variability in Software Product Lines (Technical Report CMU/SEI-2005-TR-012). Pittsburgh: Software Engineering Institute, Carnegie Mellon University. http://resources.sei.cmu.edu/library/asset-view.cfm?AssetID=7675