论文部分内容阅读
随着软件在现实世界的应用逐步深入,软件规模和复杂性呈现出不断增长的趋势,运行环境也呈现出开放、动态与多变的特征,用户需求不断演化,自适应软件成为软件工程领域的核心问题之一。自适应软件通过建立自适应控制循环以应对上述环境与需求的变化。其中,自适应策略的执行是指按照规划的自适应策略操纵目标系统的结构和行为,是自适应控制循环中的关键环节之一。然而,目前自适应相关的研究工作大多集中于自适应控制循环的其他三个环节,研究感知、分析与决策,针对自适应策略执行的相关研究较少,且现有方法大多缺乏软件及工具的支持,存在实用性较差的不足。此外,软件在运行时刻执行的自适应策略由机器智能决策产生,坏的策略是可能产生的,现有的策略执行机制大多默认其执行的策略是安全可靠的,不分析策略对目标系统可靠性的影响,因此存在坏的策略被执行,破坏目标系统可靠性的风险。针对上述问题,本文从自适应调整机制和策略的可靠性分析两个方面展开研究。首先,为了支持自适应策略的执行与策略可靠性分析,本文分析了软件连接件的分类,选取了数据流转发及过程调用2种软件单元交互关系作为结构调整的对象,并借鉴了服务流程建模的思想,建立了运行时模型,描述目标系统的结构与参数状态。然后,提出了自适应软件参数与结构调整机制,给出了自适应策略定义和软件参数抽取方法,为结构与行为的调整分别设计了相应的工作流程。最后,基于马尔科夫链提出了自适应软件可靠性分析方法,在策略执行前验证策略对目标系统可靠性的影响,及时发现坏的自适应策略,避免对目标系统产生实质的影响。上述三个方面的模型、机制与方法形成了本文所提出的面向自适应软件的策略执行机制。为了实现上述执行机制,有效地组织、应用与实现上述模型、机制及方法,并为策略的执行提供实用的软件工具的支持,本文设计并实现了面向自适应软件的策略执行框架,该框架分为“公共设施层-多Agent系统层-目标系统层”三层结构。其中,在“目标系统层”实现了自适应软件参数与结构调整机制中的两个关键组件,消息中间件与参数控制中心,实现对目标系统结构与参数的调整;在“多Agent系统层”中,建立多Agent系统,使Agent作为策略的执行者,将策略转化为对“目标系统层”消息中间件与参数控制中心的具体操作;“公共设施层”可靠性验证中心应用基于马尔科夫链的自适应软件可靠性分析方法完成了策略分析与验证功能。最后,本文设计与实现了一个web应用系统Bookstore系统,并以此系统作为目标系统验证了上述机制与框架的正确性与有效性。