Font Size: a A A

The variation point model for software product lines

Posted on:2002-12-17Degree:Ph.DType:Dissertation
University:George Mason UniversityCandidate:Webber, Diana LynFull Text:PDF
GTID:1468390011491319Subject:Computer Science
Abstract/Summary:
This dissertation describes a new concept, the Variation Point Model (VPM). VPM is a method to model variation points in a software product line. In addition a process, the Common Core Process (CCP), is provided to illustrate the use of VPM in the software development cycle. CCP is a process that creates variable software components that can be used in a product line. This process builds on the concepts of the Product Line Approach [Davis 1996/Bass 1997] and the Reuse-driven Software Engineering Business (RSEB) [Jacobson 1997].; The literature survey examined many domain analysis methods that can be applied to create a domain model for a family of systems. These models not only provide a common understanding of the domain, but also determine the commonalities and variabilities in the family of systems. However, existing domain analysis methods lack a method to model the points of variation, and hence do not explicitly describe where in the model software evolution can occur. A variation point model is needed for a family of systems to communicate to reusers where and how to implement a family member unique variant. The following problem statement is examined in this research to address variation point modeling: How to build a variation point model for a software product line.; Two specific instances of this problem were examined while searching for a method to solve this problem. The first problem instance is based on the satellite command and control domain and is from the Control Channel Toolkit (CCT) [Webber 1998]. The second problem instance is based on the Automated Teller Machine (ATM) problem and is from the Banking System Case Study [Gomaa 2000]. These two problems are stated as follows: (1) How to vary a Command Format component for use on multiple satellite command and control systems to allow the reuser to provide unique command format instructions and formatting algorithms. (2) How to vary an ATM Client and Bank Server components for use on multiple ATM systems to allow the reuser to provide unique ATM features.; The result of this research is VPM. Variation points were determined to be the mechanism to provide the variability of the reusable components. VPM models the variation points and allows the target system developer (reuser) to develop unique variants to extend the reusable components. VPM concentrates on the information a reuser needs in order to create a variant from the variation point.; Three software developer organizations participated in surveys and interviews to validate VPM. These developers have experience building a product line. This research examined and documented what they have done over two three-year developments. This research created variation point models of the two problem instances listed above. An implementation of VPM was performed to provide a proof of concept. Two student exercises were conducted to show the usability of VPM. This research concludes that the models created were technically effective.; The contribution is a method, VPM, to model variation points for a software product line. CCP is provided to illustrate the use of VPM in the software development cycle. VPM can guide a company or industry on how to create flexible components using variation points and how to model them for the reuser.
Keywords/Search Tags:Variation point, Model, VPM, Product line, Components, Reuser, ATM, Method
Related items