Font Size: a A A

Based Architecture, Feature-driven Software Dynamic Evolution

Posted on:2009-11-28Degree:DoctorType:Dissertation
Country:ChinaCandidate:Y M LiuFull Text:PDF
GTID:1118360272958836Subject:Computer software and theory
Abstract/Summary:PDF Full Text Request
In order to adapt themselves to nowadays opening environment of Internet and varying requirements of users, software systems should be able to adjust themselves frequently and dynamically. Hence, variability has become an essential characteristic of nowadays software systems. Software evolution refers to the process that software changes itself to achieve anticipant form. It can be divided into two categories, static evolution and dynamic evolution. Owing to the merit of continuous usability, dynamic evolution has become a hotspot in the software engineering research areas.Dynamic evolution is more complex and more difficult to be dealt with than the static one. Therefore, the complexity of modern software system requires that the research on dynamic evolution should be commenced from a macroscopic view. For SA (Software Architecture) depicts system configuration states from a global perspective, so SA can become a major gist and a driving factor for dynamic evolution. But a major problem in nowadays software dynamic methods is the lack of software business view in the SA-based software evolution. And this makes the changing impact analysis of software evolution hard to realized, and the rationality and correctness of the SA-based software evolution hard to guarantee.To address the aforementioned problems in the existent dynamic evolution methods, feature-driven and architecture-based software dynamic evolution method is proposed (FASDEM). The main idea of FASDEM is the use of software product lines techniques to support software dynamic evolution, and realize feature model and architecture customization-based software evolution. FASDEM method includes three main activities: dynamic software feature analysis and modeling, software evolution reference architecture design and software dynamic evolution engineering.In order to support feature analysis and modeling of dynamic software, an ontology-based dynamic software feature modeling method is proposed along with its meta-model and consistency verification method. Through this method, developers can analysis the common business logic of dynamic software system, and also its run-time business logic variability and the constraint between these variabilities in feature model. So feature model provides dynamic software with a high-level and abstract business logic view, and at the same time, provides an unambiguous terminology for both business view and the SA specification, and so as to ensure the consistency between them. Software dynamic evolution may introduce business logic violation behaviors. And in order to solve this problem, first of all, we use port semantic as the description element for the formal behavior protocol model of the component and component system, and then based on this model proposed a coordination environment based component composition behavior derivation method in this paper.For software evolution reference architecture (SERA) specifies the evolution space and various business needs of the software. So SERA is of the base for the feature-driven software dynamic evolution. To support the design of SERA, in this paper, a feature-based SERA design method is proposed. Furthermore, in order to describe the dynamic evolution of the software system, we present a method for the context modeling and feature-binding based software evolution rule definition. For the definition of the software evolution rule is based on feature binding, so this kind of definition strategies make developer considering software dynamic evolution from the view of business logic possible.Then, a feature-semantic architectural evolution space-based and dynamic evolution-oriented software application model FASM (Feature-semantic Architectural evolution space-based Software Model) was proposed. FASM is constructed by reflection technology. Its meta-level RAES is an architecture space composed with feature model and software evolution reference architecture. The meta-level and base-level are associated in the form of cause and effect. Within RAES, different layers of architecture provide views and management means at different abstraction levels to the users, which meet the variable requirement of various roles from management layer to operation layer. Through the observation of RAES the information of structure and behaviors of application system is acquired. The on-line adjustment for RAES can modify base-level so as to evolve application system.At last, a supporting system for FASM was designed and its prototype is developed. The supporting system consists of three modules: modeling tool set, execution tool set and dynamical evolution tool set. Modeling tool set includes a visualized integrated tool for the development and construction of application system according to FASM model. Execution tool set provides a runtime environment for the execution and monitoring of dynamic application. Dynamical evolution tool set supports the dynamic evolution based on feature semantic architectural space.
Keywords/Search Tags:Dynamic Evolution, Software Architecture, Reflection, Software Production Line, Feature Modeling, Ontology, Behavior Protocol, Customization
PDF Full Text Request
Related items