基于多智能体并行搜索的软件自适应机制
发布时间:2020-03-25 12:13
【摘要】:随着硬件计算水平的提升和软件工程技术的不断发展,越来越多的软件系统运行在以互联网、云环境等为代表的动态、不可控且时变的开放环境(Open Environment)中,致使软件系统面临的用户需求具有动态性和不确定性,管理的计算资源呈现出高度分布、组成异构等特点,所在的硬件环境具有动态多变、难以控制等特点,进而导致软件系统需要动态适应具有“来源多样,影响各异;同时发生,潜在影响;不可预测,不可确定”等新特征的复杂软件变化。因此,运行在开放环境下的软件系统更加迫切地需要一种软件自适应机制,使得该类软件能够在运行过程中通过对系统参数、对外行为或体系结构的自主调整,从而在线适应复杂软件变化。目前,这一研究问题受到了学术界众多高校和领域顶级学术会议以及产业界重要研究机构的关注,已成为软件工程领域和自主计算领域亟待解决的难点问题之一。软件自适应机制是自适应软件系统的核心,众多研究学者已从不同角度开展了大量研究工作。然而,在建立面向开放环境下软件系统的自适应机制过程中,存在诸多新的关键问题,突出表现在:(1)现有自适应框架存在调整层次单一、限制系统研发状态、无法支持自适应全过程等问题。因此,如何建立面向开放环境下软件系统的专用自适应框架?(2)现有方法忽略了不同变化特征与系统结构特点,采用集中统一方式感知并分析变化,造成了感知效率低、分析开销高等问题。因此,如何快速感知并准确分析“来源多样,影响各异”的软件变化?(3)现有方法忽略了变化间关联关系及变化对系统的潜在影响,无法有效处理“同时发生,潜在影响;不可预测,不可确定”的复杂软件变化。因此,如何针对复杂软件变化实现在线权衡决策?(4)如何为开放环境下自适应软件系统的研发与自适应过程,提供切实的工程化?本文从软件工程层面出发,交叉融合了基于控制论的软件自适应理论、基于搜索的软件工程和面向智能体的软件工程等多个学科的方法与技术,针对上述关键问题重点研究了基于多智能体并行搜索的软件自适应机制,并研制了支持该机制应用到实际系统中的自适应软件开发与运行支撑环境,为建立开放环境下的自适应软件系统提供了理论方法指导与工程化支持。本文主要研究工作及创新点如下。(1)提出一种基于多智能体的开放环境软件自适应框架,指导建立自适应机制。本文开展了关于自适应机制设计方法、开发方法与使能技术的现状综述,并在此基础上,结合软件系统特征与运行环境特点,建立了一种基于多智能体的开放环境软件自适应框架,可指导建立该类软件的自适应机制并提供了体系结构参考模型。与同类框架相比,该框架可处理处于各种研发状态的软件系统、可支持自适应全过程并实现了系统分层调整,且具有较好的在线修正能力与运行稳定性。(2)提出面向开放环境的变化感知与事件分析方法,实现层次感知与精准识别。本文建立了针对运行环境和系统资源的建模方法,并运用感知框架技术快速获取感知数据。针对现有方法普遍忽略的需求变化问题,本文建立了需求模型并可实时获取需求变更情况。为提升事件分析的准确性,本文对感知数据进行了去缺失,去噪声和模糊化处理,并提出了基于朴素贝叶斯分类的异常检测方法,可快速判别系统运行状态并减少不必要开销。针对系统异常状态,本文提出了基于规则推理与模糊推理的事件识别方法,可在具有不确定性的运行时上下文中准确识别多种自适应事件。(3)提出面向主从规划模式的决策与执行方法,支持权衡决策并在线调整系统。本文提出了基于策略的自适应决策方法,可快速决策并在线修正策略。本文引入基于搜索的软件工程技术,提出了基于搜索的自适应决策方法以同时处理多种互相关联的软件变化。与现有方法相比,该方法系统性地建立了自适应决策问题模型并实现了在线权衡决策。本文引入后优化技术,针对不同决策问题特点,建立了四种方案选择方法,可保证选出唯一最优策略。本文建立了基于顶层指导和自主协同的策略执行方法,可依据策略快速调整系统,并动态获取策略执行效果,在线修正不同决策方法。(4)建立基于并行搜索的自适应决策效率优化方法,可快速产生最优策略。本文改进了Spark计算框架作业层的调度算法,并建立了基于加权轮转的任务分配与调度方法,可支持多项决策任务的并行执行,从而提升了整体决策效率。并且,本文建立了基于种群划分的并行搜索方法,可通过多种群协作实现对自适应策略的并行搜索,提升了单次决策效率。经实验验证,该决策优化方法可显著提升决策效率,较传统串行方式可获得线性加速比,且能够获得质量更好的决策结果。(5)实现一种自适应软件系统的开发与运行支撑环境ADAPT,提供工程化支持。ADAPT提供了一套自适应软件开发工具集可支持软件快速研发,并提供了两类运行支持平台可辅助系统实现自适应过程。本文选取了自主计算领域的经典案例系统,以及运行在开放环境下的典型软件开展了多项实验,验证了自适应机制快速感知变化、准确识别事件、针对不同事件实现在线权衡决策与调整等多方面的能力,表明了本文提出的自适应机制及ADAPT可有效支持系统动态适应软件变化,实现平稳运行。本文围绕如何建立开放环境下软件系统的自适应机制,从多个方面开展了研究工作,特别引入了基于搜索的软件工程理论,为解决软件自适应问题提供了新颖的研究思路,并有效解决了技术交叉融合所引发的多项新问题。最后,根据在领域经典案例系统和典型实际系统中开展的应用验证可知,本文提出的自适应机制及其支撑环境可支持自适应软件的研发及自适应过程,具有一定的可行性、有效性和实际应用价值。
【图文】:
图 7.7 数据库读写时间变化情况展示系统在第152.7秒发生了“数据访问超时”的局部事件,自适应机制采用策略“001”在时刻 152.7 进行调整。但调整后,数据库读取时间并未降低。这说明策略“001”执行后并未获得预期效果。底层控制循环中的验证环节通过对数据读取时间的监控,,发
图 7.14 用户登录界面访问错误率变化情况展示因此,根据策略的优先级和有效性,功能智能体在第 529 秒,选择了策略“002”,启用了作为备份服务器的第 2 号用户服务器。当策略在第 551 秒执行完毕后,错误率已降低,表明该事件已被处理,并增加策略“002”的有效次数。在 846 秒再次发生200 392 584 776 958 1160
【学位授予单位】:西安电子科技大学
【学位级别】:博士
【学位授予年份】:2018
【分类号】:TP311.5
本文编号:2599888
【图文】:
图 7.7 数据库读写时间变化情况展示系统在第152.7秒发生了“数据访问超时”的局部事件,自适应机制采用策略“001”在时刻 152.7 进行调整。但调整后,数据库读取时间并未降低。这说明策略“001”执行后并未获得预期效果。底层控制循环中的验证环节通过对数据读取时间的监控,,发
图 7.14 用户登录界面访问错误率变化情况展示因此,根据策略的优先级和有效性,功能智能体在第 529 秒,选择了策略“002”,启用了作为备份服务器的第 2 号用户服务器。当策略在第 551 秒执行完毕后,错误率已降低,表明该事件已被处理,并增加策略“002”的有效次数。在 846 秒再次发生200 392 584 776 958 1160
【学位授予单位】:西安电子科技大学
【学位级别】:博士
【学位授予年份】:2018
【分类号】:TP311.5
本文编号:2599888
本文链接:https://www.wllwen.com/kejilunwen/ruanjiangongchenglunwen/2599888.html