Font Size: a A A

Research On Software Intelligent Evolution Model And Implementation Mechanism

Posted on:2013-07-20Degree:DoctorType:Dissertation
Country:ChinaCandidate:C WangFull Text:PDF
GTID:1228330374499502Subject:Computer Science and Technology
Abstract/Summary:PDF Full Text Request
Along with the rapid progress of network and computer technology, the user requirement presents the trend of diversity and variability, which highly increase the scale and complexity of the software. In this situation, the pro-ductivity of software development cannot meet the rapid growth of user re-quirements. And the cost of software become much higher and the pressure of software maintenance become much greater. That is why the research of software evolution gets more and more attention. Software evolution is used to refer to the activities of changing software behavior during their lifecycles.From the perspective of research content and direction, software evolution research has gone through two stages:1. Software static evolution research, which provide some objective laws and assistant tools for software develop-ment based on the analysis of the software evolution process;2. Software dy-namic evolution research, which provide the theory and technology of software dynamic updating based on the study of software language and architecture. But most of the technology of software evolution will increase the complexity of software development, or result in the loss of performance, which reduce the practicality of these technologies. In order to solve the problem, some re-searchers try to improve the automation of software evolution process through artificial intelligent and relevant technologies. In this paper, we take the in-telligent trend of software evolution as the new stage of software evolution-software intelligent evolution.The target of software intelligent evolution is try to improve the automa-tion of software evolution based on requirement engineering, artificial intelli-gent and some other methods. In this paper, we build a conceptual model of software intelligent evolution, and try to solve some key issues in the imple- mentation process of the model, which are listed as follows:(1) Present a fault-tolerant software dynamic evolution mechanism based on multi-version redundancy. Software dynamic evolution is used to refer to the activities of changing software behavior when it is running, such as the ADD, UPDATE and DELETE operations of software components. In the pro-cess of realization, there are some problems to be solved, such as fault-tolerant, state migration, etc. In this paper, we present the software update mechanism, fault-tolerant mechanism and solve the state migration problem through the timestamp mechanism. The coexistence of multi-versions provides the founda-tion to the diversity of requirement.(2) On the basis of domain feature model, present a requirement model with feature labeling. Domain engineering is the activities to build reusable software products for the development of software application in specific do-main. Domain feature model is a feature oriented requirement model for do-mains, and it can reflect the requirement of the entire domain by recording the steady features and the connections between them. In this paper, we can bond the requirement model with the application model by the feature label-ing mechanism, and keep them change synchronously by the feature adjusting mechanism.(3) Provide a formal model for version selection combinatorial optimiza-tion problem, and solve it. The intelligent decision part of software intelligent evolution process is mainly used to provide the optimal version combination for different users. In the solving process with GA, the complex interaction between components result in an enormous scale of solution space and it ac-cumulates exponentially as the number of components increases. In order to solve the problem, provide an optimal algorithm based on the scale-free char-acteristic of software system, and reduce the scale of the solution space. The experiments verify the effectiveness of the algorithm.(4) Build a software change impact propagation model, and provide a method to predict the propagation range of change. The components of soft- ware have complex relevance between each other. It increases the risk of the software evolution. The research works on software change impact analysis can analyze the impact range of software change and predict the scale of soft-ware evolution. In this paper, we extract the invoking relationship of some Java software, and analyze the rules of software change impact propagation. The simulation experiment verifies the availability of the model.
Keywords/Search Tags:software intelligent evolution, multi-version redundancy, domain feature model, combinatorial optimization, change impact propa-gation
PDF Full Text Request
Related items