基于多变量控制的软件行为调节方法技术

技术编号:24034376 阅读:27 留言:0更新日期:2020-05-07 01:29
本发明专利技术公开了一种基于多变量控制的软件行为调节方法,包括分析目标软件功能逻辑,确定目标软件工作中影响目标软件资源消耗的可调配置参数,并建立可调配置参数与软件行为间的数学模型,即传递函数矩阵;应用多变量控制理论,对传递函数矩阵进行解耦器与控制回路设计,对每一个需要动态调节的软件行为构建独立的调节回路;将设计得到的解耦器与控制回路以异步执行的方式附着在原有的软件逻辑之上,并以设定的调节周期调节软件行为。本发明专利技术结合了控制工程与软件工程的理论知识,有效解决了实际软件在具有多种需要调控的软件行为情景下的在线调节问题,整体方法简单,方便设计与应用。

Software behavior regulation method based on multivariable control

【技术实现步骤摘要】
基于多变量控制的软件行为调节方法
本专利技术属于软件工程领域,具体为一种基于多变量控制的软件行为调节方法。
技术介绍
随着计算系统日益复杂,给应用程序开发人员带来了极大的负担。而现代系统的动态性使这种情况变得更恶劣,该种系统在软件运行中可能会经历突然和不可预测的变化;例如,应用程序工作负载波动和系统组件故障。软件工程师对于管理这种复杂性并确保应用程序在动态环境中成功运行的压力与日俱增。针对该状况,当前已经有提出使用自主或自适应技术来帮助工程师管理这种负担的方案。自适应系统通过调整系统自己的行为来维持控制目标的稳定,以此来响应不可预测的变化。虽然应用程序的功能方面(即语义正确性)的调整通常需要人为干预,但其非功能方面(例如可靠性,性能,能量消耗和成本)代表了应用自适应技术的重要且具有挑战性的机会。例如,客户需要持续保证商定的性能和质量水平。可以通过将它们映射到特定的配置参数来管理这些非功能性方面。可以测量这些属性并用于触发适应机制,即使面对不可预见的环境波动,也能保证满足要求。现有的自适应手段主要有两种:一种方法是利用程序设计中的逻辑语言,对于不同的环境状态自适应调整不同的软件行为;另一种方法是将小部分软件代码作为自适应目标,对其设计控制器以达到自适应调节的目的。随着软件自适应要求的提高,这两种方法都很难达到满意的效果。前一种方法本质上采用了模式切换的方式,只能在人为设想到的场景中使用,且控制量离散化,很难保证其控制精度,而且对其模式的设计又会增加软件工程师的工作负担;后一种方法则只适用于小部分代码块中,对于大型的软件系统,由于建模误差等问题,很难应用该思路进行软件自适应逻辑设计,而且仅针对一些单变量进行调节,不符合实际工程开发中多可调参数、多被控对象的实际需求。
技术实现思路
本专利技术的目的在于提供一种基于多变量控制的软件行为调节方法。实现本专利技术目的的技术方案为:一种基于多变量控制的软件行为调节方法,包括以下步骤:步骤1、分析目标软件功能逻辑,确定目标软件工作中影响目标软件资源消耗的可调配置参数,并建立可调配置参数与软件行为间的数学模型,即传递函数矩阵;根据传递函数矩阵静态增益信息,判断软件行为是否受唯一可调参数影响,若是,将该软件行为与对应的可调参数直接组成控制回路,执行步骤3;步骤2、应用多变量控制理论,对传递函数矩阵进行解耦器与控制回路设计,对每一个需要动态调节的软件行为构建独立的调节回路;步骤3、将设计得到的解耦器与控制回路以异步执行的方式附着在原有的软件逻辑之上,并以设定的调节周期调节软件行为。优选地,建立多个可调配置参数与多种可量化软件行为间的传递函数矩阵的具体方法为:确定在代码运行期需要动态调整的软件行为,并对目标软件代码进行功能分析确定可以影响目标软件资源消耗的可调配置参数,并将可调配置参数作为控制量;将可调配置参数作为单一变量得到软件行为在稳态时关于可调配置参数的阶跃变化导致的变换曲线,并建立可调参数与软件行为间的数学模型,得到描述整个软件的传递函数矩阵;优选地,根据传递函数矩阵静态增益信息,判断软件行为是否受唯一可调参数影响的具体方法为:当软件行为与唯一一个参数间的静态增益不为0,与其他参数间的静态增益为0,则软件行为受唯一可调参数影响。优选地,对传递函数矩阵进行解耦器与控制回路设计的具体方法为:步骤2-1、根据获得的传递函数矩阵,计算每一个传递函数的归一化增益,得到归一化增益矩阵;步骤2-2、根据得到的归一化增益矩阵,计算得到归一化相对增益矩阵;步骤2-3、对于每个需要调节的软件行为,选取最大的归一化相对增益对应的可调参数作为需要调节的软件行为控制量,完成对目标软件的所有软件行为的控制量匹配;步骤2-4、设计动态解耦器,对任一匹配后的控制回路,弥补软件行为因其他非匹配可调参数变动导致的变化,设计的动态解耦器矩阵为:其中,Gij(s)为第i个可调参数与第j个软件行为间的传递函数,lij为第i个可调参数与第j个软件行为间的传递函数时延项,relu函数可以滤除输入值的负数部分;步骤2-5、对每个控制回路设计单独的控制器。优选地,归一化增益的计算公式为:其中,Kij为第i个可调参数与第j个软件行为间的静态增益,τ与θ为相应传递函数的惯性时间常数与纯延迟时间常数。优选地,归一化相对增益矩阵的计算公式为:其中,KN为归一化增益矩阵,λij为第i个可调参数与第j个软件行为间的归一化相对增益。本专利技术与现有技术相比,其显著优点为:1)本专利技术通过使用系统辨识、回路匹配与动态解耦器,对软件系统的可调参数和软件行为之间存在的复杂影响关系进行解耦,实现了在不影响其他软件行为的前提下,对指定软件行为进行调节的目的;2)本专利技术通过对解耦得到的每个控制回路单独设计控制器,更好的保证了目标软件的每一个软件行为的调节稳定性;3)本专利技术设计简单,方便应用于实际系统之中。附图说明图1为本专利技术的流程图。图2为实施例中对软件行为调节线程的设计架构图。图3为实施例中对软件行为-CPU占用的调节误差示意图。图4为实施例中对软件行为-内存占用的调节误差示意图。图5为实施例中对软件行为-网络带宽占用的调节误差示意图。具体实施方式一种基于多变量控制的软件行为调节方法,包括以下步骤:步骤1、分析目标软件功能逻辑,确定软件工作中可以影响目标软件资源消耗的可调配置参数,并通过实验法进行系统辨识,建立多个可调配置参数与多种可量化软件行为间的数学模型,即传递函数矩阵;由于可能存在某种软件行为仅受唯一的可调参数影响,因此根据传递函数矩阵静态增益信息,判断软件行为是否受唯一可调参数影响,若是,将该软件行为与对应的可调参数直接组成控制回路,执行步骤3;建立多个可调配置参数与多种可量化软件行为间的数学模型,即传递函数矩阵的具体方法为:首先确定在代码运行期需要动态调整的软件行为,并对目标软件代码进行功能分析确定可以影响目标软件资源消耗的可调配置参数,并将可调配置参数作为控制量;对于上一步中得到的软件中的可调配置参数与软件行为,由于可调参数与软件行为通常较多,因此将可调配置参数作为单一变量得到软件行为在稳态时关于可调配置参数的阶跃变化导致的变换曲线,进而建立可调参数与软件行为间的数学模型,最终得到可以描述整个软件的传递函数矩阵;根据传递函数矩阵静态增益信息,判断软件行为是否受唯一可调参数影响的具体方法为:当软件行为与其他的参数间的静态增益为0,仅与唯一一个参数间的静态增益不为0,则软件行为仅受唯一可调参数影响,对于仅受唯一可调参数影响的软件行为,将该软件行为及对应的可调参数直接组成控制回路,执行步骤3;步骤2、应用多变量控制理论,对传递函数矩阵进行解耦器与控制回路设计,对每一个需要动态调节的软件行为构建独立的调节回路,具体为:步骤2-1、根据本文档来自技高网
...

【技术保护点】
1.一种基于多变量控制的软件行为调节方法,其特征在于,包括以下步骤:/n步骤1、分析目标软件功能逻辑,确定目标软件工作中影响目标软件资源消耗的可调配置参数,并建立可调配置参数与软件行为间的数学模型,即传递函数矩阵;/n根据传递函数矩阵静态增益信息,判断软件行为是否受唯一可调参数影响,若是,将该软件行为与对应的可调参数直接组成控制回路,执行步骤3;/n步骤2、应用多变量控制理论,对传递函数矩阵进行解耦器与控制回路设计,对每一个需要动态调节的软件行为构建独立的调节回路;/n步骤3、将设计得到的解耦器与控制回路以异步执行的方式附着在原有的软件逻辑之上,并以设定的调节周期调节软件行为。/n

【技术特征摘要】
1.一种基于多变量控制的软件行为调节方法,其特征在于,包括以下步骤:
步骤1、分析目标软件功能逻辑,确定目标软件工作中影响目标软件资源消耗的可调配置参数,并建立可调配置参数与软件行为间的数学模型,即传递函数矩阵;
根据传递函数矩阵静态增益信息,判断软件行为是否受唯一可调参数影响,若是,将该软件行为与对应的可调参数直接组成控制回路,执行步骤3;
步骤2、应用多变量控制理论,对传递函数矩阵进行解耦器与控制回路设计,对每一个需要动态调节的软件行为构建独立的调节回路;
步骤3、将设计得到的解耦器与控制回路以异步执行的方式附着在原有的软件逻辑之上,并以设定的调节周期调节软件行为。


2.根据权利要求1所述的基于多变量控制的软件行为调节方法,其特征在于,建立多个可调配置参数与多种可量化软件行为间的传递函数矩阵的具体方法为:
确定在代码运行期需要动态调整的软件行为,并对目标软件代码进行功能分析确定可以影响目标软件资源消耗的可调配置参数,并将可调配置参数作为控制量;
将可调配置参数作为单一变量得到软件行为在稳态时关于可调配置参数的阶跃变化导致的变换曲线,并建立可调参数与软件行为间的数学模型,得到描述整个软件的传递函数矩阵。


3.根据权利要求1所述的基于多变量控制的软件行为调节方法,其特征在于,根据传递函数矩阵静态增益信息,判断软件行为是否受唯一可调参数影响的具体方法为:
当软件行为与唯一一个参数间的静态增益不为0,与其他参数间的静态增益为0,则软件行为受唯一可调参数影...

【专利技术属性】
技术研发人员:郭健宋恺叶雅婷郑先杰屠腾惠玉卓
申请(专利权)人:南京理工大学
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1