论文部分内容阅读
目前,随着Internet运用的广泛性以及计算能力的日益增长;软件系统应用的网络化使得软件系统面临越来越多的挑战:软件的规模和复杂性在不断地增加;软件系统应用场景也是动态的、异构的以及时刻改变着,软件系统如何对外部环境、需求的变化做出及时并且正确的反应,从而使得软件系统始终维持在最优的状态。这些都需要软件系统必须具备很好的自适应性,在尽可能少的人工干预下,能够快速的应对不确定条件或者快速的从失败中恢复。当前,研究人员提出了很多自适应框架和自适应软件系统设计方法。本文在基于现有工作的基础上进一步深入研究,提出了一个扩展性自适应支撑框架;在自适应软件系统需求描述阶段引入了目标模型刻画,提高了系统自适应的描述能力;接着将模型映射到自适应工作流管理系统上,实例运行验证了本系统的可行性,具体研究内容如下:1.基于目标(Goal)的可变需求建模和推理针对自适应软件系统的可变性要求,首先我们采用基于目标驱动(Goal-driven)的需求刻画工具,对用户需求进行刻画,描述需求的功能性目标和非功能性目标,并附有对于目标的上下文信息描述;其次提出目标模型的推理算法及推理机制对刻画的目标模型进行推理,分析非功能性目标的可满足性和不可满足性;最后采用规划算法对目标模型进行精炼,以便后续映射为过程模型交由工作流系统运行。2.提出一个目标驱动的自适应软件系统管理框架(A Goal-driven Self-adaptive Software Management Framework,简称GSASMF)该自适应软件系统管理框架主要包括如下几个部分:1)辅助交互模块:对需求刻画映射得到的过程模型进行规则化操作,给出运行中活动点的Web服务填充,本文中采用智能决策算法,根据上下文信息,选择最优Web服务进行填充。本模块关注输入信息,具体的实现与自适应支撑框架中其它模块是松耦合的。2)部署模块:主要用于部署经辅助模块规则化得到的可变业务流程(Business Process,简称BP,下同)模型,并对部署的可变BP模型进行管理。部署成功的可变BP模型交由自适应管理框架的底层执行引擎负责解析执行业务流程。3)监控模块:实时获取当前执行流程的上下文信息及Web服务性能,触发Web服务的替换。在具体的执行过程中将内部的执行状态封装为特定事件(状态正常、异常、遇到Web服务质量下降),从系统内部抛出事件,让注册的事件侦听器去处理。4)预测模块:提取监控模块获取的信息,通过提出的预测模型对相关信息进行分析,为系统进行自适应调整提供参考。5)自适应模块:此模型主要负责根据预测和监控模块提供的信息对可能不符合条件的Web服务进行替换,其次将运行的业务流程从旧模型转为在新模型下执行;完成实例的迁移功能。3.目标驱动的需求模型(Goal-Driven Requirement Model)与业务流程模型的映射为方便刻画的可变目标模型能够在底层工作流系统运行,本文提出了目标模型和过程模型的映射规则,将刻画得到的目标模型按照设定的映射规则转换为标准的业务流程,然后通过自适应支撑框架部署模块将标准过程模型文件部署到底层工作流引擎中执行。4.原型系统实现引用实例验证系统的可行性:结合具体应用案例,采用基于Eclipse的图形化工具进行目标建模,对目标模型进行推理和映射操作;设计自适应管理接口,给出具体的实现类图;对JBPM-BPEL修改,完成与自适应管理层的交互;运行验证GSASMF自适应软件系统的有效性。