基于体系结构、特征驱动的软件动态演化方法研究

基于体系结构、特征驱动的软件动态演化方法研究

论文摘要

在互联网成为当今主流软件运行环境之后,网络的动态性和开放性使用户需求与硬件资源更加频繁地变化,导致软件的变化性和复杂性进一步增强。变化性成为了软件的基本属性。软什演化指的是软件进行变化并达到所期望形态的过程,可分为静态演化和动态演化两种类型。由于具有持续可用性的优点,动态演化已成为软件工程研究的热点。动态演化比静态演化更为复杂,技术上更难以处理。凶此,现代软件的复杂性决定了动态演化研究应从宏观层面入手。由于软件体系结构能从系统结构全局的角度刻画软件当前配置状态,因此已成为了软件进行动态演化的重要依据。而目前存在于一般软件动态演化方法中的主要问题是,软件体系结构和软件业务逻辑需求之间存在语义鸿沟。所以开发者难以从业务逻辑上预先推导软件变更的结果及其影响范围,从业务逻辑视图综合地考虑软件动态演化问题,并保证软件动态演化的业务逻辑合理性和正确性。另外,现存的基于体系结构的动态演化研究并没有提供完整的控制软件变更的手段以保持软件动态演化的完整性。为了解决一般软件动态演化方法存在的问题,本文在软件产品线方法研究的基础上,提出了一种基于体系结构、特征驱动的软件动态演化方法(FASDEM)。FASDEM方法的主旨是应用软件产品线技术开发支持动态演化的软件系统,实现通过运行时刻对特征模型和软件参考体系结构的定制实现软件动态演化。FASDEM方法主要包括三种活动:动态软件特征分析与建模,软件演化参考体系结构设计和软件动态演化工程。为了支持对动态软件的特征分析与建模,本文结合领域建模方法提出了一种基于本体的动态软件特征建模方法,并给出其元模型和基于推理的模型一致性验证方法。通过该方法,开发者能对动态软件系统的业务逻辑共性、运行时业务逻辑的可变性和这些可变性之间的约束关系进行建模,为动态软件系统提供高层次的、抽象的软件演化业务逻辑视图。由于基于体系结构的软件动态演化可能会引入违反业务逻辑的系统行为。所以为了解决这个问题,本文通过引入端口语义概念,首先给出了基于特征语义的构件和构件系统的形式化描述模型,以建立软件体系结构与软件业务逻辑视图之间的关联关系。然后在此形式化模型的基础上提出了一种基于协作环境构造的构件系统业务逻辑满足行为提取方法。软件演化参考体系结构(SERA)描述了基于特征模型的动态软件体系结构的受限演化空间,和面向各种特定演化需求的动态软件体系结构可变性,所以SERA是进行特征驱动的动态软件体系结构定制演化的基础。为了支持SERA的设计活动本文提出了一种基于特征模型的软件演化参考体系结构设计方法,并在此基础上给出了支持FASDEM动态演化工程活动的环境建模、基于特征绑定的软件演化规则定义,和特征驱动的软件演化参考体系结构的定制及其构件行为演化的方法。其中,软件演化规则是在特征模型定制基础上定义的,这种方法为软件动态演化提供了灵活的演化策略定义和处理机制,使得开发者从高层业务逻辑视图上综合和完整地考虑软件演化问题成为可能。为了提高软件的构造性,更好地支持软件动态演化,FASDEM通过引入运行时体系结构演化空间(RAES)的概念,给出了一种支持动态软件开发的软件模型——基于特征语义体系结构空间的软件动态演化模型(FASM)。FASM使用反射技术构造,其元层由运行时体系结构演化空间构成,基层由可运行的物理构件形成,元层和基层因果相联。通过对RAES的观察,可获知系统的结构和行为信息。对元层RAES的在线定制调整可实现对基层的修改进而实现系统的动态演化。最后本文设计了FASM支撑平台并实现了其原型系统。FASM支撑平台由建模工具集、执行工具集和动态演化工具集组成。建模工具集旨在方便用户按照FASM模型可视化地进行动态软件系统的建模构造与开发;执行工具集为动态系统提供运行和监控环境;动态演化工具集支持基于体系结构和特征驱动的系统动态演化,保障演化完整进行。

论文目录

  • 摘要
  • ABSTRACT
  • 第一章 绪论
  • 1.1 研究背景及意义
  • 1.2 研究现状和问题
  • 1.2.1 基于传统方法的动态演化
  • 1.2.2 基于软件体系结构的动态演化
  • 1.2.3 现存软件动态演化研究方法存在的问题
  • 1.3 本文主要工作
  • 1.4 论文章节结构
  • 第二章 相关研究综述
  • 2.1 软件演化技术
  • 2.1.1 软件的演化性和构造性
  • 2.1.2 软件的静态演化
  • 2.1.3 软件的动态演化
  • 2.2 软件体系结构
  • 2.2.1 软件体系结构概念
  • 2.2.2 软件体系结构描述语言
  • 2.3 基于体系结构的软件演化
  • 2.4 软件产品线研究概述
  • 2.4.1 软件产品线开发
  • 2.4.2 特征工程
  • 2.4.3 基于领域本体的业务特征建模
  • 2.5 基于体系结构、特征驱动的软件演化
  • 2.6 小结
  • 第三章 面向动态演化的特征建模
  • 3.1 概述
  • 3.2 面向动态演化的特征模型
  • 3.3 特征依赖关系分类
  • 3.3.1 静态依赖
  • 3.3.2 动态依赖
  • 3.4 面向动态演化的基于本体的特征模型
  • 3.4.1 特征模型元模型的OWL定义
  • 3.4.2 动态软件特征模型的可变性
  • 3.5 特征模型的基本建模规则
  • 3.6 特征模型的形式化描述及其一致性检查
  • 3.6.1 基于OWL的特征模型描述
  • 3.6.2 基于推理的一致性检查
  • 3.7 实例研究
  • 3.8 小结
  • 第四章 基于特征语义的构件模型及其行为提取
  • 4.1 概述
  • 4.2 构件端口语义
  • 4.3 构件与构件组合系统
  • 4.3.1 构件模型
  • 4.3.2 构件组合系统
  • 4.4 基于协作环境构造的业务需求满足行为的提取
  • 4.4.1 方法概述
  • 4.4.2 基于LTL的业务逻辑需求描述
  • 4.4.3 业务逻辑需求驱动的行为提取
  • 4.4.3.1 构件组合行为与业务逻辑需求的语义统一
  • 4.4.3.2 业务逻辑需求满足的行为提取算法
  • 4.4.4 协作环境的构造和实现
  • 4.5 小结
  • 第五章 特征驱动的动态演化工程
  • 5.1 概述
  • 5.2 特征分类和绑定分析
  • 5.3 特征驱动的软件演化参考体系结构设计
  • 5.3.1 软件演化参考体系结构
  • 5.3.2 基于特征模型的软件演化参考体系结构设计原则
  • 5.3.3 基于特征模型的软件演化参考体系结构初始生成算法
  • 5.3.4 框架构件模型
  • 5.3.4.1 构件结构描述
  • 5.3.4.2 构件行为描述
  • 5.4 基于特征模型定制的软件动态演化
  • 5.4.1 特征驱动的演化过程
  • 5.4.2 环境分析
  • 5.4.3 基于自由可变特征定制的软件演化规则定义
  • 5.4.4 特征驱动的软件演化参考体系结构定制
  • 5.4.5 基于端口语义定制的构件行为协议演化
  • 5.5 小结
  • 第六章 基于特征语义体系结构空间的软件动态演化模型
  • 6.1 概述
  • 6.2 反射技术概述
  • 6.2.1 基于反射的系统
  • 6.2.2 反射技术分类
  • 6.3 FASM软件模型的基本原理、框架和实现机制
  • 6.3.1 基本原理
  • 6.3.2 FASM模型的框架
  • 6.3.3 FASM模型的反射机制
  • 6.3.4 FASM模型中的物理构件开发
  • 6.4 软件模型FASM中的演化方法
  • 6.4.1 基层系统演化
  • 6.4.2 RAES定制引起的软件动态演化
  • 6.5 小结
  • 第七章 动态软件支撑平台的设计与实现
  • 7.1 概述
  • 7.2 FASM动态软件支撑平台的架构设计
  • 7.2.1 建模工具集
  • 7.2.2 执行工具集
  • 7.2.3 动态演化工具集
  • 7.3 支撑平台运行和监控技术
  • 7.3.1 框架构件引擎的设计
  • 7.3.2 物理构件运行信息跟踪器的实现机制
  • 7.4 支撑平台的软件动态演化管理
  • 7.4.1 平台的动态演化过程支持
  • 7.4.2 平台的动态软件运行状态维持机制
  • 7.5 支撑平台的一个原型实现
  • 7.5.1 建模工具设计说明
  • 7.5.1.1 特征建模工具OntoDyFeature
  • 7.5.1.2 动态体系结构建模工具OntoDyArch
  • 7.5.2 运行支撑平台设计说明
  • 7.6 小结
  • 第八章 总结与展望
  • 8.1 论文总结和创新点
  • 8.2 将来研究工作
  • 参考文献
  • 致谢
  • 攻读博士学位期间发表论文情况
  • 相关论文文献

    标签:;  ;  ;  ;  ;  ;  ;  ;  

    基于体系结构、特征驱动的软件动态演化方法研究
    下载Doc文档

    猜你喜欢