icon-carat-right menu search cmu-wordmark

Variability in Software Product Lines

Technical Report
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.
Publisher

Software Engineering Institute

CMU/SEI Report Number
CMU/SEI-2005-TR-012

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.

Cite This Technical Report

Bachmann, F., & Clements, P. (2005, September 1). Variability in Software Product Lines. (Technical Report CMU/SEI-2005-TR-012). Retrieved November 22, 2024, from https://insights.sei.cmu.edu/library/variability-in-software-product-lines/.

@techreport{bachmann_2005,
author={Bachmann, Felix and Clements, Paul},
title={Variability in Software Product Lines},
month={{Sep},
year={{2005},
number={{CMU/SEI-2005-TR-012},
howpublished={Carnegie Mellon University, Software Engineering Institute's Digital Library},
url={https://insights.sei.cmu.edu/library/variability-in-software-product-lines/},
note={Accessed: 2024-Nov-22}
}

Bachmann, Felix, and Paul Clements. "Variability in Software Product Lines." (CMU/SEI-2005-TR-012). Carnegie Mellon University, Software Engineering Institute's Digital Library. Software Engineering Institute, September 1, 2005. https://insights.sei.cmu.edu/library/variability-in-software-product-lines/.

F. Bachmann, and P. Clements, "Variability in Software Product Lines," Carnegie Mellon University, Software Engineering Institute's Digital Library. Software Engineering Institute, Technical Report CMU/SEI-2005-TR-012, 1-Sep-2005 [Online]. Available: https://insights.sei.cmu.edu/library/variability-in-software-product-lines/. [Accessed: 22-Nov-2024].

Bachmann, Felix, and Paul Clements. "Variability in Software Product Lines." (Technical Report CMU/SEI-2005-TR-012). Carnegie Mellon University, Software Engineering Institute's Digital Library, Software Engineering Institute, 1 Sep. 2005. https://insights.sei.cmu.edu/library/variability-in-software-product-lines/. Accessed 22 Nov. 2024.

Bachmann, Felix; & Clements, Paul. Variability in Software Product Lines. CMU/SEI-2005-TR-012. Software Engineering Institute. 2005. https://insights.sei.cmu.edu/library/variability-in-software-product-lines/