Font Size: a A A

Research On Key Techniques Of Incremental Software Product Line

Posted on:2010-09-17Degree:DoctorType:Dissertation
Country:ChinaCandidate:T JiangFull Text:PDF
GTID:1118360302458542Subject:Computer Science and Technology
Abstract/Summary:PDF Full Text Request
Software reuse has been widely accepted as an effective way to promote efficiency and quality of software development. Recently, software product line (SPL) has been brought into the spotlight as a systematic way of software reuse. A SPL focuses on a specific domain, and constructs a common set of core assets according to the commonality and variability in domain. Specific software products can be developed efficiently from the core assets in a prescribed way to avoid repeated efforts.The gulf between problem space and solution space is a major difficulty in software development. In SPL, a set of software products is developed, and the commonality and variability among products should be managed effectively. The variability of problem space and the complex organization of solution space make the gulf even deeper. Feature oriented SPL engineering resorts to feature as a bridge connecting the two spaces, which proves to be effective in SPL requirements analysis. Besides, the incremental development approach begins to rise. This approach aims to improve the agility of SPL and remedy the integration centric approach which is close and inflexible. Based on the idea of feature and composition, we treat feature as an embodiment of increment. Consistent use of increment and composition of increment in the whole life cycle of SPL is valuable.In this dissertation, we investigate systematically the incremental SPL development, and spread the idea of increment over the whole life cycle of SPL. The consistent use of increment can fill in the gulf to a great extent. This dissertation conducted a series of researches, including SPL requirements analysis, SPL architecture, artifact refinement and collaboration develop environment. The main contents of this dissertation are as follows.First, it presents an explicit formal semantics and Alloy specification of feature model and defines the concepts of feature, feature model, configuration, product and product line. It also specifies the relationship and semantic constraints among the concepts. In order to reuse the semantics and automate the analysis of feature model, the formal semantics is translated into Alloy specification. The Alloy Analyzer, a nonproprietary tool can be used to check the feature model automatically.Second, it proposes the concept of feature increment. It focuses on the macroscopical relationships and differences between products, and enhances the traceability between requirements and design. The dependency between feature increments and the composition criteria are described. Then a goal and scenario based analysis process is put forward to guide the practice of SPL.Third, it proposes the concept of software architecture incremental layer, which is used to solve the problem of sizable mismatch between conceptual and actual variability. Design information is recognized and structured in an incremental and modular way. Based on category theory, the formal semantics of incremental SPL architecture is defined. The meanings of the concepts and relationships among them are specified. Category theory supports the diagrammatic representation of concepts, which makes the architecture more understandable and traceable. It puts forward a role based derivation method, which guides the derivation process of product architecture from the SPL architecture.Fourth, it proposes a strategy of incremental large-scale refinement of SPL artifacts. Artifact slice encapsulates all the changes caused by a feature. When adding new features or enlarging the scope of SPL, related artifact slice can be designed. Thus, change is restricted in a limited scope, which enhances the understandability and evolution ability. The refinement process is based on a meta-model of artifact, which makes the approach highly cohesive and low coupling.Last, it presents a collaborative supporting platform--CASDE. The SPL development is analyzed based on activity theory. The architecture of CASDE is proposed based on the key elements of development. The architecture is process-centered, context-aware and highly integrated. The support to the three levels of collaboration is discussed. Based on CASDE, a prototype of tool suite is developed.
Keywords/Search Tags:Software product line, feature, stepwise refinement, formal semantics, feature increment, software architecture incremental layer, artifact slice, collaboration
PDF Full Text Request
Related items