Font Size: a A A

Reuse Scenario And Its Optimization In Software Product Line Development

Posted on:2012-02-17Degree:DoctorType:Dissertation
Country:ChinaCandidate:Z Q WuFull Text:PDF
GTID:1228330467481121Subject:Systems Engineering
Abstract/Summary:PDF Full Text Request
Software products are becoming increasingly intensive. The system complexity of individual products grows, while the diversity of products increases and the delivery time must short. Software product lines (SPL) is the answer to this, which is a set of software-intensive systems sharing a common, managed set of features and is developed from a common set of core assets in a prescribed way. SPL offer tremendous potential to improve a company’s competitive position and responsiveness to changing market needs. However, it turns out that unless the full benefits and costs are well understood by executive-level stakeholders, the probability of success will be low. Therefore, the basic argument for SPL is foremost an argument of cost/benefit relations, not an argument of function. Whatever system can be built with SPL, in principle, it can be built as well as a traditional system. However, the associated costs of the system may differ fundamentally. Due to complexity of SPL cost effective analysis, the reuse scenario based cost model becomes an important research field in SPL. On the other hand, SPL often considers problems that involve finding a suitable balance between competing and potentially conflicting goals, such as cost and reliability. A significant breakthrough in this field is the appearance of optimization technique.This work was financially supported by the National Natural Science Foundation of China (NSFC)(71021061,70625001) and the Fundamental Research Funds for the Central Universities (N090604004). The background of this dissertation is the SPL development. Based on analyzing typical reuse scenarios of SPL implementation, we’re focusing on models and algorithms for optimization problem with reuse scenarios selection. The major research results of this dissertation falls on five aspects as follows:(1) First of all, we propose a model that assists developers to systematically evaluate and compare alternative reuse scenarios in SPL implementation. The model is able to identify basic activities (abstracted as nine operations), associated relevant parameters with each basic operation in a precise way. A two-stage scheme of typical reuse mode is described from the perspectives of application engineering and domain engineering. According to the scheme, total numbers of six reuse modes are identified, and alternative industry reuse scenarios can be derived from the modes. It is offers a foundation framework for research subsequent.(2) Then in Chapter4, based on the two-stage scheme, a bi-objective0-1integer programming model is developed to help decision-maker selecting reuse scenarios when developing a software product line towards minimizing cost and maximizing reliability while satisfying system requirements to a certain degree. This model is referred as cost and reliability optimization under requirements satisfaction constraints, shorter for CROS hereafter. To solve the model efficiently, a three-phased algorithm for finding all efficient solutions is developed, by which, the first two phases are to obtain all supported efficient solution and the last is to get non-supported efficient solution. Two practical methods are presented to facilitate decision-maker to choose a decision from the entire efficient solutions in light of the decision-maker’s preference via man-computer interaction.(3) Based on the Bayes theory, a test-utility mandating an extension of the testability definition were proposed for dynamically estimating the effect and cost of unit testing for a SPL in the implementation phase in Chapter5. Considered on cost of domain testing, we investigate the selection of the reuse scenarios on the two-stage scheme for satisfying the budget limitations, the development cost and time, the failure rate and reliability constraint while maximizing the SPL quality.(4) Thus, costs of domain implementation and verification, which may involve substantial expenses in SPL development, should be reduced. In addition, both should not be considered individually but in an integrated manner to further reduce development cost. In Chapter6, an integrated decision model for SPL development is proposed to assist decision-makers in selecting reuse scenarios for domain implementation and in simultaneously determining the optimal number of test cases for domain verification by using test-utility definition. An objective of the model is to minimize SPL development cost while satisfying the required system and reliability requirements. The Lagrange relaxation decomposition (LRD) method with heuristics was developed to solve integrated decision problems. Based on LRD, the non-linear model boils down to a0-1knapsack problem for the sub-problem of reuse scenario selection and an integer knapsack problem of the number of tests assignment sub-problem. Combined with the Lagrange multiplier-determined heuristic, the proposed algorithm can determine global optimum solution and is more effective than the previous methods while simultaneously considering implementation and verification costs. Simulations on varying sizes of problems and sensitivity analyses were conducted, and the results indicate that LRD is more effective than previous methods in determining global optimal solutions for integrated decision problems.(5) One of the core problems in SPL developement is to coordinate relative cost of reuse and relative cost of writing for reuse. More specifically, it is the integration of production strategy decision for product builders and reuse scenario selection for core-asset developers. In Chapter7, we have developed the CoFAQ (Cost Optimization under Functional And Quality goal satisfaction constraints) model, which provides a systematic mechanism for management to analyze all possible products and evaluate various reuse alternatives at the organizational level. CoFAQ is aimed to assist decision-makers in optimizing design of a product family for achieving cost minimization, while satisfying functional and quality requirements. A two-phase algorithm with heuristic (TPA) was developed to solve the model efficiently. Based on the TPA, the CoFAQ boils down to a weighted set covering problem for production strategy decision sub-problem and a knapsack problem for reuse scenario selection sub-problem. An application of the model in a mail server domain development is presented to illustrate how it has been used in practice.
Keywords/Search Tags:Software Product Line, Reuse Scenario, Software Cost, Software Reliability, Optimization Model, Heuristic
PDF Full Text Request
Related items