论文部分内容阅读
传统软件系统的开发一般基于相对封闭、静态、稳定的平台,然而随着分布式系统规模和复杂度的提高,软件运行平台逐步由传统的单机、封闭、静态的运行环境转变为开放、动态、多变的网络运行环境?在这种网络运行环境下,软件开发者难以完全预测到软件运行中的变化,需要对传统的软件开发方法加以扩展以适应客观世界的变化。因此,需要新的软件开发方法和构造框架,以此构造的软件要能够在运行过程中监视非预期的环境变化或交互行为,并以此对软件进行在线或者离线的演化。本文将面向方面技术中不同关注点分离思想应用于软件开发和构造框架中,提出了一个监控使能的软件编程模型?基于此模型构造的软件能够为软件业务功能增加监控能力和演化能力,模型将软件监控能力?演化能力作为横切关注点,独立构造,运行过程中自动注入到软件的业务功能中,避免了在构造阶段软件各种逻辑代码纠结问题。本文的主要工作可概述为如下几个方面:1.提出了监控使能的软件编程模型?该模型能够支持软件编程人员在软件构造阶段采用分离式的方法分别构造软件业务功能逻辑、监控逻辑、演化逻辑,并在编译或运行阶段绑定各种逻辑,完成对软件业务的监控、演化功能。2.分析比较了现有软件开发方法和相关软件构造框架,研究了Eclipse框架集成技术的基本原理和技术特点、面向方面编程思想?AspectJ技术和ASM技术,作为实现编程框架的技术手段。3.基于编程模型,本文设计并实现了监控使能的编程框架Mepframe。Mepframe支持编程人员通过监控编程语言和嵌入注释两种方式进行监控需求的表达,提供了用户构造演化处理动作的演化处理模板,运行时绑定机制将构造阶段构造的各种逻辑在运行阶段进行绑定,使之组成一个互相协作运行的整体。4.基于上述工作,本文通过银行ATM自动柜员机实例对Mepframe原型系统进行了验证,实验结果表明基于Mepframe框架构造的软件能够在业务功能中有效集成监控能力、演化能力,使得其能够适应不断变化的运行环境,初步证明了本文工作的可行性和有效性。