节点文献

基于体系结构的软件动态演化研究

Research on Architecture-Based Software Dynamic Evolution

【作者】 李长云

【导师】 李赣生;

【作者基本信息】 浙江大学 , 计算机科学与技术, 2005, 博士

【摘要】 变化性是软件的基本属性。特别是在Intemet成为主流软件运行环境之后,网络的开放性和动态性使得客户需求与硬件资源更加频繁地变化,导致软件的变化性和复杂性进一步增强。软件演化指的是软件进行变化并达到所希望形态的过程,可分为静态演化和动态演化两种类型。由于具有持续可用性的优点,动态演化已成为软件工程研究的热点。但动态演化比静态演化更为复杂,技术上更难以处理。 现代软件的复杂性决定了动态演化研究应从宏观层面入手。软件体系结构从系统全局的角度刻画当前配置状态,有利于对系统级特征属性的监控和关键约束是否得以遵守的检查,因此成为软件进行动态演化的重要依据和驱动因素。为支持基于体系结构的动态演化,本文较系统地从动态体系结构描述语言、体系结构求精、软件应用模型和构造框架、软件运行环境和机制等方面逐步展开研究。 基于高阶多型π演算理论,提出了动态体系结构描述语言D-ADL。在D-ADL中,构件、连接件和体系结构风格被模型化为高阶π演算中的抽象(abstraction)类型;构件计算功能、连接件路由行为、体系结构配置活动被模型化为进程(process);构件和连接件的交互点则被模型化为通道(channel)。D-ADL可显性表示软件的变更计划,计划行为被形式化为高阶进程,从而直接支持预设的动态演化。 在D-ADL形式规约的框架之下,论文从结构、行为和属性三个方面深入分析体系结构求精,给出了求精的方法和准则,以维持求精过程中信息的一致性。特别是形式化地给出了行为求精的准则,即构件的行为求精应该满足进程观察弱模拟关系,连接件的行为求精应该满足进程分支弱模拟关系。这为通过对体系结构求精来支持非预设的动态演化提供了可能。 在此基础上,提出了基于体系结构空间、面向动态演化的软件应用模型SASM。SASM使用反射技术构造,基层和元层因果相联。基层由可运行的物理构件形成,元层RSAS是一个具备树形层次、层间存在求精关系的体系结构空间。RSAS反映了需求的层次性,提供给用户不同抽象级别的视图和管理手段。通过对RSAS的观察,可获知系统的结构和行为信息。对RSAS的在线调整可实现对基层的修改进而实现系统的非预设动态演化,而RSAS中不同层次之间的求精关系保证了应用的完整性和演化的一致性。 设计了SASM支撑平台并实现了其原型系统。SASM支撑平台由构造工具集、执行工具集和动态演化工具集组成。构造工具集旨在方便用户按照SASM

【Abstract】 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.

  • 【网络出版投稿人】 浙江大学
  • 【网络出版年期】2006年 09期
  • 【分类号】TP311.52
  • 【被引频次】57
  • 【下载频次】1420
  • 攻读期成果
节点文献中: