Variability in Software Product Lines

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.

PDF [417 KB]

Authors

Felix Bachmann

Paul C. Clements

This report is related to the following area(s) of work:

Software Product Lines

Technical Report
CMU/SEI-2005-TR-012
September 2005

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://www.sei.cmu.edu/library/abstracts/reports/05tr012.cfm

IEEE:

F. Bachmann, and P. Clements, "Variability in Software Product Lines," Software Engineering Institute, Carnegie Mellon University, Pittsburgh, Pennsylvania, Technical Report CMU/SEI-2005-TR-012, 2005. http://www.sei.cmu.edu/library/abstracts/reports/05tr012.cfm

APA:

Bachmann, F., & Clements, P. (2005). Variability in Software Product Lines (CMU/SEI-2005-TR-012). Retrieved May 18, 2013, from the Software Engineering Institute, Carnegie Mellon University website: http://www.sei.cmu.edu/library/abstracts/reports/05tr012.cfm

CHI:

Bachmann, Felix, and Paul Clements. Variability in Software Product Lines (CMU/SEI-2005-TR-012). Pittsburgh, PA: Software Engineering Institute, Carnegie Mellon University, 2005. http://www.sei.cmu.edu/library/abstracts/reports/05tr012.cfm

MLA:

Bachmann, F., & Clements, P. 2005. Variability in Software Product Lines (Technical Report CMU/SEI-2005-TR-012). Pittsburgh: Software Engineering Institute, Carnegie Mellon University. http://www.sei.cmu.edu/library/abstracts/reports/05tr012.cfm

Find Us Here

Find us on Youtube  Find us on LinkedIn  Find us on twitter  Find us on Facebook

Share This Page

Share on Facebook  Send to your Twitter page  Save to del.ico.us  Save to LinkedIn  Digg this  Stumble this page.  Add to Technorati favorites  Save this page on your Google Home Page 

For more information

Contact Us

info@sei.cmu.edu

412-268-5800

Help us improve

Visitor feedback helps us continually improve our site.

Please tell us what you
think with this short
(< 5 minute) survey.