Font Size: a A A

Adaptable Software Reuseand Configuration Based On Commonality And Variability Analysis

Posted on:2012-11-14Degree:DoctorType:Dissertation
Country:ChinaCandidate:J M GuoFull Text:PDF
GTID:1118330362458332Subject:Computer application technology
Abstract/Summary:PDF Full Text Request
"Nothing is permanent except change". With the rapid development of economy and technology, along with the trend of corporate globalization, diversification and fast transformation, it has become an urgent task to study the adaptability of software systems to changeful user requirements and to build adaptable software systems. This paper aims at building adaptable software systems with the guidance of commonality and variability analysis. We study the automated development, formal verification, optimal configuration, and diversified integration of adaptable software systems and related software artifacts. We focus on the technology and methods of software reuse and configuration corresponding to transformational adaptation and compositional adaptation for building adaptable software systems. The main contributions of this paper are summarized as follows:Firstly, in the field of domain engineering of software product lines, we propose a model-driven approach to semiautomatically developing domain functional requirements. Since existing domain analysis techniques lack automated support, we are the first to apply model transformation to domain requirements development. We build the metamodels of product functional requirements and domain functional requirements based on case grammar theory. We formalize the rules of deriving domain functional requirements models from product functional requirements models using model transformation languages. Our approach provides a rigorous model-based support for domain functional requirements development, improves the efficiency and scalability of domain requirements analysis, promotes the study of automated requirements analysis, and facilitates the integration research of software product line engineering and model-driven engineering.Secondly, we propose an approach to the consistent evolution of feature models based on semantic analysis of changes. Due to frequent changes and continual evolution of software product lines and their commonalities and variabilities, we are the first to introduce semantic analysis of changes into the evolution and consistency maintenance of feature models. Based on ontology, we first give a formal definition of feature models and a set of consistency constraints. Then we define primitive change operations that affect feature model evolution and analyze their semantic dependencies and their impact on the consistency of feature models. Compared with existing methods, our approach can straightforwardly resolve the inconsistencies caused by changes and limit the impact of changes in a local range so as to reduce the cost of consistency maintenance greatly. Our approach improves the development of rapid-response change management tools of feature models and effectively supports incremental management of software product line evolution.Thirdly, in the field of product derivation of software product lines, we propose an approach, based on genetic algorithms, to feature selection optimization with resource constraints in software product lines. In order to quickly and effectively derive application product configurations from software product lines, we are the first to introduce evolutionary algorithms into software product line feature selection optimization with resource constraints. We create a novel repair operation that can transform an arbitrary feature selection into a valid feature combination conforming to the feature model constraints, which allows genetic algorithms or other evolutionary algorithms to be applied to the problem of software product line feature selection. Compared with existing methods, our approach can obtain similar optimization results and simultaneously reduce computation time greatly. It improves the efficiency of product derivation and facilitates the research of automated software product line engineering.Fourthly, in the field of end-user oriented application components configuration, we propose an ontology-based approach to adaptable workflow participant assignment. Most of existing methods cannot effectively organize and use various enterprise data and mainly depend on a few professionals to define authorization constraints using various complex specification languages. Our approach can represent more complex authorization constraints by flexibly organizing and using various enterprise data and workflow data based on ontology. By a high-usability interactive interface, end-users can specify authorization constraints easily without any coding. Our approach facilitates the study of end-user oriented flexible configuration technology.
Keywords/Search Tags:software adaptability, reuse, configuration, software product lines, feature models, model transformation, consistency, genetic algorithms, ontology, workflow
PDF Full Text Request
Related items