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