Font Size: a A A

Research On Architecture-Based Software Dynamic Evolution

Posted on:2006-05-14Degree:DoctorType:Dissertation
Country:ChinaCandidate:C Y LiFull Text:PDF
GTID:1118360182993819Subject:Computer Science and Technology
Abstract/Summary:PDF Full Text Request
Variability is an essential characteristic of software systems. In order to adapt themselves to the opening environment of Internet and the variable requirements of users, software systems should be able to adjust themselves dynamically. 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. But dynamic evolution is more complex and more difficult to be dealt with than the static one.The complexity of modern software system requires that the research on dynamic evolution should be commenced from a macroscopic view. SA(Software Architecture) depicts system configuration states from a global perspective, which is advantageous to monitor the system level attributes and check the key constraints. SA can become a major gist and a driving factor for dynamic evolution. In order to support dynamic evolution based on SA, this paper conducted a series of researches, including dynamic SA description language, architecture refinement, application model and construction framework, and runtime environment and mechanisms for dynamic evolution.Based on the high-order multi-type π calculus theory, this paper proposed a dynamic architecture description language D-ADL. In D-ADL, components, connectors, and architecture are modeled as the 'Abstraction' type of high-order π calculus;components computing, connectors routing and architecture configuration are modeled as the 'Process';and the interaction point between component and connector is modeled as the 'Channel'. D-ADL can be used to describe evolution plans in an explicit way, while the evolution plans are formally represented as the high-order 'Process', and thus D-ADL can directly support anticipated dynamic evolution.On the basis of D-ADL formal specification, this paper analyzed the architecture refinement from three aspects deeply, i.e., structure, behavior, and attribute, then presented the methods and principles of refinement, so that the architectural information from different levels can be kept consistent during the refinement process. Especially, the principles of behavior refinement are formally defined, i.e., the behavior refinement of components should satisfy the relation of 'Observation Weak Simulation' between processes. The behavior refinement of connectors should satisfy the relation of 'Branching Weak Simulation' between processes. This affords possibility for unanticipated dynamic evolution through architecture refinement.Then, an architectural space-based, dynamic evolution-oriented softwareapplication model SASM(Software Architecture Space-based Model) was proposed. SASM is constructed by reflection technology. Its meta-level RSAS is an architecture space with tree-like layers, between which there exist refinement relations, and its base-level is composed of physical components. The meta-level and base-level are associated in the form of cause and effect. Within RSAS, 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 RSAS the information of structure and behaviour of application system is acquired. The on-line adjustment for RSAS can modify base-level so as to evolve application system.At last, a supporting system for SASM was designed and its prototype is developed. The supporting system consists of three modules: construction tool set, execution tool set and dynamical evolution tool set. Construction tool set includes a visualized integrated tool for the development of application system according to SASM 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 architecture space. Testing result of the prototype shows that additional cost of SASM model is acceptable in view of its great advantage.
Keywords/Search Tags:Dynamic evolution, SA, High-order π calculus, ADL, Refinement, Reflection
PDF Full Text Request
Related items