Modeling variability in software product lines with the variation point model

  • Authors:
  • Diana L. Webber;Hassan Gomaa

  • Affiliations:
  • Booz Allen Hamilton, 8283 Greensboro Drive, McLean, VA;Department of Information and Software Engineering, George Mason University, Fairfax, VA

  • Venue:
  • Science of Computer Programming - Special issue: Software variability management
  • Year:
  • 2004

Quantified Score

Hi-index 0.00

Visualization

Abstract

A major challenge for software reuse is developing components that can be reused in several applications. This paper describes a systematic method for providing components that can be extended through variation points, as initially specified in the software requirements. Allowing the reuser or application engineer to extend components at pre-specified variation points creates a more flexible set of components. The existing variation point methods do not provide enough design detail for the reuser. This paper introduces a method called the Variation Point Model (VPM), which models variation points at the design level, beginning with the common requirements. The product line approach provides a systematic approach for software reuse. A challenge with the product line approach is to model the variability between the core assets and the applications. This paper describes the VPM and how it is used for modeling four different approaches to variability, modeling variability using parameterization, modeling variability using information hiding, modeling variability using inheritance, and modeling variability using variation points. VPM allows a reuser or application engineer to extend components at pre-specified variation points. For this to be possible, a variation point must be modeled such that the reuser has enough knowledge to build a variant.