Font Size: a A A

Key Technology Research On Feature-based Software Product Line Development

Posted on:2008-10-21Degree:DoctorType:Dissertation
Country:ChinaCandidate:Y Y Z L LiFull Text:PDF
GTID:1118360215493969Subject:Computer application technology
Abstract/Summary:PDF Full Text Request
Sofware product line develops domain-specific reusable assets to produce andmaintain software product family with similar functions by analyzing and managingcommonality and variability in domain. It is an effective way to implement softwareproduction for mass customization. How to realize the development of core assets indomain and the customized production of software products applying SPL principleson the base of feature analysis is a key problem in the research of SPL engineering. Toaddress this problem, the dissertation mainly introduces the key technology onfeature-based software product line development in terms of formal modeling, domainarchitecture and component designing, software product configuration modeling andproblem solving, and asset managing.In the 1st chapter, we firstly discuss the origin of software product line andintroduce some definitions and conceptions of SPL and SPL engineering, then discussthe characteristics of SPL development and software product development applyingSPL principles. After introducing the related engineering projects and academicresearch progresses of SPL, we propose our main ideas on feature-based SPL andsoftware product development.In the 2nd chapter, after introducing the conceptions of feature model andanalyzing its deficiency in terms of non-functional feature description and variabilitymodeling, we propose the concept of feature map to extend the feature model. Itsupports customized feature dependencies and constraint expresses, provides thecapability to navigate and locate the software artifacts of features. Then ontology isused to define the meta-model of feature map. On the base of above definition,hypergraph is introduced to formailized software product line from different semanticlayers. The semantic informations in each layer are abstracted as ontology conceptsand relationships and are connected by semantic lift mechanism to construct aninterweaving semantic structure. Thus a uniform knowledge representation frameworkand formal model for SPL is constructed.In the 3rd chapter, we firstly introduce the process of domain engineering and thendiscuss the engineering principles used to design domain architecture on the base offeature. Feature model is taken as an input to design the domain architecture fromdistinct abstract layers such as subsystem, process and module. By analyzing thefeatures to specify the reusable objects, we especially discuss the design scheme ofdomain components to hide the variability of feature model. On the base of above work, we propose an algorithm to produce software architecture automatically. Thealgorithm takes feature model as the basis to produce domain architecture by thebottom-up design of module component, process and subsystem. It also considers theoperating environment and performance requirements adequately.In the 4th chapter, aider analyzing the process of application engineering, wepropose the concept of SPL oriented product configuration to customize softwareproduct. Configuration rules and deduct rules are defined in terms of the variabilityand configuration dependency of features. Corresponding to the phases of featureselection and software artifact selection in the process of software production, thefeature configuration model and software artifact configuration model are constructedto provide a uniform framework of constraint description for feature model anddomain application requirement. The related algorithms of configuration solving arealso presented, the result of which are the sets of features and software artifactsmeeting feature constraints and application requirements. To reuse partialconfiguration rules and solving results to improve solving efficiency, we improve andoptimize the process of configuration modeling and problem solving.In the 5th chapter, we firstly formalize the concept of asset libarary and softwareasset. Confronted with the fact that different stages in the process of SPL developmenttake distinct management demands on the software assets, we propose that the SPLassets are held in three disparate repositories. Automatic asset transfer between assetrepositories is implemented in the charge of workflow to realize the whole lifecyclemanagement of SPL assets. The distributed storage scheme of SPL assets based on theconcept of repository is also discussed.In the 6th chapter, we firstly propose a system framework supportingfeature-based SPL development and discuss its main functions, modules and keyprocesses. Then a prototype designed and realized on the basis of the framework ispresented. The main processes of the prototype to develop product line and concretesoftware products, and some assistant tools and platform are illustrated.In the end, all of the works in this dissertation are summed up, and their futuresare prospected.
Keywords/Search Tags:Software Product Line, Domain Engineering, Feature Modeling, Ontology, Domain-Specific Software Arthitecture, Component, Configuration Modeling, Problem Solving, Asset Repository
PDF Full Text Request
Related items