CN111103797B - 基于多变量控制的软件行为调节方法 - Google Patents
基于多变量控制的软件行为调节方法 Download PDFInfo
- Publication number
- CN111103797B CN111103797B CN201911252713.6A CN201911252713A CN111103797B CN 111103797 B CN111103797 B CN 111103797B CN 201911252713 A CN201911252713 A CN 201911252713A CN 111103797 B CN111103797 B CN 111103797B
- Authority
- CN
- China
- Prior art keywords
- software
- behavior
- transfer function
- software behavior
- adjustable
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B13/00—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
- G05B13/02—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
- G05B13/04—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric involving the use of models or simulators
- G05B13/042—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric involving the use of models or simulators in which a parameter or coefficient is automatically adjusted to optimise the performance
Landscapes
- Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种基于多变量控制的软件行为调节方法,包括分析目标软件功能逻辑,确定目标软件工作中影响目标软件资源消耗的可调配置参数,并建立可调配置参数与软件行为间的数学模型,即传递函数矩阵;应用多变量控制理论,对传递函数矩阵进行解耦器与控制回路设计,对每一个需要动态调节的软件行为构建独立的调节回路;将设计得到的解耦器与控制回路以异步执行的方式附着在原有的软件逻辑之上,并以设定的调节周期调节软件行为。本发明结合了控制工程与软件工程的理论知识,有效解决了实际软件在具有多种需要调控的软件行为情景下的在线调节问题,整体方法简单,方便设计与应用。
Description
技术领域
本发明属于软件工程领域,具体为一种基于多变量控制的软件行为调节方法。
背景技术
随着计算系统日益复杂,给应用程序开发人员带来了极大的负担。而现代系统的动态性使这种情况变得更恶劣,该种系统在软件运行中可能会经历突然和不可预测的变化;例如,应用程序工作负载波动和系统组件故障。软件工程师对于管理这种复杂性并确保应用程序在动态环境中成功运行的压力与日俱增。针对该状况,当前已经有提出使用自主或自适应技术来帮助工程师管理这种负担的方案。自适应系统通过调整系统自己的行为来维持控制目标的稳定,以此来响应不可预测的变化。虽然应用程序的功能方面(即语义正确性)的调整通常需要人为干预,但其非功能方面(例如可靠性,性能,能量消耗和成本)代表了应用自适应技术的重要且具有挑战性的机会。例如,客户需要持续保证商定的性能和质量水平。可以通过将它们映射到特定的配置参数来管理这些非功能性方面。可以测量这些属性并用于触发适应机制,即使面对不可预见的环境波动,也能保证满足要求。
现有的自适应手段主要有两种:一种方法是利用程序设计中的逻辑语言,对于不同的环境状态自适应调整不同的软件行为;另一种方法是将小部分软件代码作为自适应目标,对其设计控制器以达到自适应调节的目的。随着软件自适应要求的提高,这两种方法都很难达到满意的效果。前一种方法本质上采用了模式切换的方式,只能在人为设想到的场景中使用,且控制量离散化,很难保证其控制精度,而且对其模式的设计又会增加软件工程师的工作负担;后一种方法则只适用于小部分代码块中,对于大型的软件系统,由于建模误差等问题,很难应用该思路进行软件自适应逻辑设计,而且仅针对一些单变量进行调节,不符合实际工程开发中多可调参数、多被控对象的实际需求。
发明内容
本发明的目的在于提供一种基于多变量控制的软件行为调节方法。
实现本发明目的的技术方案为:一种基于多变量控制的软件行为调节方法,包括以下步骤:
步骤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、根据获得的传递函数矩阵,对其中的每一个传递函数计算其归一化增益,进而得到归一化增益矩阵,归一化增益的计算公式为:
其中Kij为第i个可调参数与第j个软件行为间的静态增益,τ与θ为相应传递函数的惯性时间常数与纯延迟时间常数;
步骤2-2、根据得到的归一化增益矩阵,计算得到归一化相对增益矩阵,公式为:
其中,KN为归一化增益矩阵,λij为第i个可调参数与第j个软件行为间的归一化相对增益;
步骤2-3、对于每个需要调节的软件行为,选取最大的归一化相对增益对应的可调参数作为需要调节的软件行为控制量,进而完成对目标软件的所有软件行为的控制量匹配;
步骤2-4、设计动态解耦器,对任一匹配后的控制回路,弥补软件行为因其他非匹配可调参数变动导致的变化,动态解耦器矩阵为:
其中,Gij(s)为第i个可调参数与第j个软件行为间的传递函数,lij为第i个可调参数与第j个软件行为间的传递函数时延项,relu函数可以滤除输入值的负数部分;
步骤2-5、经过上述步骤,目标软件内的多输入多输出系统已经被解耦为多个单输入单输出系统,对于每个需要调节的软件行为,有其独立的控制回路,且互相之间由解耦器保证对于每个软件行为的调整之间互不影响,进而对每个控制回路设计单独的控制器;
步骤3、将设计得到的解耦器与控制器以异步执行的方式附着在原有的软件逻辑之上,并以设定的调节周期调节软件行为,具体为:
在原有软件代码外增加一条监控线程,以设定的周期,对于任一受监控的软件行为,根据期望值与当前值间的差别计算控制量,并将控制量作用至相应的可调参数,同时根据解耦器计算对其他软件行为的补偿量,作用在其他软件行为对应的可调参数,完成一次软件的行为调节。
下面结合实施例对本发明作进一步详细的描述。
实施例
本实施例对巡检机器人后台软件中的视频监控模块利用本发明的方法进行调节,具体步骤为:
步骤1、选取被控量为该模块的3个软件行为:CPU占用率、内存占用率、网络带宽占用,通过对该部分软件代码分析,选取可调配置参数:帧率、码率、分辨率为控制量,通过系统辨识得到其传递函数静态增益矩阵为:
网络带宽占用 | CPU占用 | 内存占用 | |
分辨率 | 1 | 0.75 | 3.25 |
帧率 | -0.58 | 0.283 | -0.005 |
码率 | 6.5 | 1 | 0.0025 |
显然目标软件内存占用仅与分辨率存在明显的关联关系,故直接建立分辨率-内存占用的控制回路,对于其他可调参数与软件行为,进一步得到由多个数学模型构成的传递函数矩阵有:
步骤2、计算上述的传递函数矩阵的归一化相对增益矩阵有:
根据归一化相对增益矩阵可建立码率-网络带宽占用、帧率-CPU占用两条控制回路,进一步设计解耦器有:
进一步设计独立回路的PID控制器:
控制回路 | K<sub>p</sub> | K<sub>i</sub> |
分辨率-内存占用 | 7 | 0.1 |
码率-网络带宽占用 | 400 | 0.01 |
帧率-CPU占用 | 20 | 0.16 |
步骤3、通过使用异步线程,对原有的软件系统进行软件行为调节,软件架构如图2所示,附加的异步线程不会对原有软件系统产生侵入式代码,易于维护。
通过本发明,对三种软件行为的控制输出误差如图3、图4、图5所示。由图可知,基于多变量控制,目标软件具备了较好的自我行为调节能力,可以通过对可调参数合适的调整改变自身的资源占用情况。
本发明针对实际工程中,需要进行在线调节的目标软件,将多个软件行为作为被控量以及多个可调参数作为控制量,通过使用系统辨识、回路匹配与动态解耦器,对软件系统的可调参数和软件行为之间存在的复杂影响关系进行解耦,实现了在不影响其他软件行为的前提下,对指定软件行为进行调节的目的。并通过对解耦得到的每个控制回路单独设计控制器,更好的保证了目标软件的每一个软件行为的调节稳定性。且本发明整体设计简单,方便应用于实际系统之中。
Claims (5)
1.一种基于多变量控制的软件行为调节方法,其特征在于,包括以下步骤:
步骤1、分析目标软件功能逻辑,确定目标软件工作中影响目标软件资源消耗的可调配置参数,并建立可调配置参数与软件行为间的数学模型,即传递函数矩阵;
根据传递函数矩阵静态增益信息,判断软件行为是否受唯一可调参数影响,若是,将该软件行为与对应的可调参数直接组成控制回路,执行步骤3;
步骤2、应用多变量控制理论,对传递函数矩阵进行解耦器与控制回路设计,对每一个需要动态调节的软件行为构建独立的调节回路,对传递函数矩阵进行解耦器与控制回路设计的具体方法为:
步骤2-1、根据获得的传递函数矩阵,计算每一个传递函数的归一化增益,得到归一化增益矩阵;
步骤2-2、根据得到的归一化增益矩阵,计算得到归一化相对增益矩阵;
步骤2-3、对于每个需要调节的软件行为,选取最大的归一化相对增益对应的可调参数作为需要调节的软件行为控制量,完成对目标软件的所有软件行为的控制量匹配;
步骤2-4、设计动态解耦器,对任一匹配后的控制回路,弥补软件行为因其他非匹配可调参数变动导致的变化,设计的动态解耦器矩阵为:
其中,Gij(s)为第i个可调参数与第j个软件行为间的传递函数,lij为第i个可调参数与第j个软件行为间的传递函数时延项,relu函数可以滤除输入值的负数部分;
步骤2-5、对每个控制回路设计单独的控制器;
步骤3、将设计得到的解耦器与控制回路以异步执行的方式附着在原有的软件逻辑之上,并以设定的调节周期调节软件行为。
2.根据权利要求1所述的基于多变量控制的软件行为调节方法,其特征在于,建立多个可调配置参数与多种可量化软件行为间的传递函数矩阵的具体方法为:
确定在代码运行期需要动态调整的软件行为,并对目标软件代码进行功能分析确定可以影响目标软件资源消耗的可调配置参数,并将可调配置参数作为控制量;
将可调配置参数作为单一变量得到软件行为在稳态时关于可调配置参数的阶跃变化导致的变换曲线,并建立可调参数与软件行为间的数学模型,得到描述整个软件的传递函数矩阵。
3.根据权利要求1所述的基于多变量控制的软件行为调节方法,其特征在于,根据传递函数矩阵静态增益信息,判断软件行为是否受唯一可调参数影响的具体方法为:
当软件行为与唯一一个参数间的静态增益不为0,与其他参数间的静态增益为0,则软件行为受唯一可调参数影响。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911252713.6A CN111103797B (zh) | 2019-12-09 | 2019-12-09 | 基于多变量控制的软件行为调节方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911252713.6A CN111103797B (zh) | 2019-12-09 | 2019-12-09 | 基于多变量控制的软件行为调节方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111103797A CN111103797A (zh) | 2020-05-05 |
CN111103797B true CN111103797B (zh) | 2022-06-21 |
Family
ID=70423049
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911252713.6A Active CN111103797B (zh) | 2019-12-09 | 2019-12-09 | 基于多变量控制的软件行为调节方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111103797B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111679908B (zh) * | 2020-05-14 | 2022-09-27 | 南京理工大学 | 结合协同控制的机器人软件模块间资源调度方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2607537A1 (en) * | 2007-10-22 | 2009-04-22 | Ibm Canada Limited - Ibm Canada Limitee | Software engineering system and method for self-adaptive dynamic software components |
CN103458444A (zh) * | 2012-05-29 | 2013-12-18 | 中国联合网络通信集团有限公司 | 设备配置自适应方法、装置及系统 |
CN104375842A (zh) * | 2014-12-05 | 2015-02-25 | 中国人民解放军理工大学 | 一种自适应软件uml建模及其形式化验证方法 |
CN108628600A (zh) * | 2018-05-08 | 2018-10-09 | 北京理工大学 | 基于控制流分析的软件动态行为建模方法和装置 |
CN109002358A (zh) * | 2018-07-23 | 2018-12-14 | 厦门大学 | 基于深度强化学习的移动终端软件自适应优化调度方法 |
-
2019
- 2019-12-09 CN CN201911252713.6A patent/CN111103797B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2607537A1 (en) * | 2007-10-22 | 2009-04-22 | Ibm Canada Limited - Ibm Canada Limitee | Software engineering system and method for self-adaptive dynamic software components |
CN103458444A (zh) * | 2012-05-29 | 2013-12-18 | 中国联合网络通信集团有限公司 | 设备配置自适应方法、装置及系统 |
CN104375842A (zh) * | 2014-12-05 | 2015-02-25 | 中国人民解放军理工大学 | 一种自适应软件uml建模及其形式化验证方法 |
CN108628600A (zh) * | 2018-05-08 | 2018-10-09 | 北京理工大学 | 基于控制流分析的软件动态行为建模方法和装置 |
CN109002358A (zh) * | 2018-07-23 | 2018-12-14 | 厦门大学 | 基于深度强化学习的移动终端软件自适应优化调度方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111103797A (zh) | 2020-05-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8046090B2 (en) | Apparatus and method for automated closed-loop identification of an industrial process in a process control system | |
US9727035B2 (en) | Computer apparatus and method using model structure information of model predictive control | |
CN101589363A (zh) | 动态模型预测控制 | |
Yang et al. | Data-driven design of fault-tolerant control systems based on recursive stable image representation | |
Abrazeh et al. | Virtual hardware-in-the-loop FMU co-simulation based digital twins for heating, ventilation, and air-conditioning (HVAC) systems | |
CN107390529A (zh) | 一种基于带宽节省的模糊自适应执行器失效补偿控制方法 | |
CN111103797B (zh) | 基于多变量控制的软件行为调节方法 | |
Mohamed et al. | Designing image-based control systems considering workload variations | |
Lu et al. | End-to-end utilization control in distributed real-time systems | |
CN115167102A (zh) | 一种基于并行优势动作评价的强化学习自适应pid控制方法 | |
CN115390459A (zh) | 模型预测控制方法及装置 | |
Ma et al. | Adaptive finite-time dynamic output-feedback FTC design for MIMO nonlinear systems with actuator and sensor faults | |
CN113433825B (zh) | 单连杆机械臂的自适应容错控制方法、系统及存储介质 | |
CN114219177A (zh) | 机房环境调控方法、装置、电子设备及存储介质 | |
CN112365099A (zh) | 一种非确定性分离的web服务器集群伸缩方法 | |
Rodrigues et al. | System identification and control using quadratic neural networks | |
Fravolini et al. | Interval prediction models for data-driven design of aerial vehicle’s robust adaptive controllers | |
Prabhu et al. | Performance assessment of run-to-run EWMA controllers | |
Zheng et al. | Dynamic controlled pattern extraction and pattern-based model predictive control | |
Ma et al. | Quantifying the potential benefits of constrained control for a large-scale system | |
CN112379601A (zh) | 基于工业过程的mfa控制系统设计方法 | |
Kirubakaran et al. | Fuzzy aggregation based multiple models explicit multi parametric MPC design for a quadruple tank process | |
CN111694595B (zh) | 基于误差容忍的软件行为调节方法 | |
Buttar | Applying machine learning to reduce the adaptation space in self-adaptive systems: an exploratory work | |
Suzer et al. | Adaptive fuzzy control for utilization management |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |