首页 / 专利库 / 人工智能 / 人工智能 / 机器人技术 / 生物机器人技术 / 控制论 / 一种基于控制论和目标推理的软件质量运行时优化方法

一种基于控制论和目标推理的软件质量运行时优化方法

阅读:971发布:2020-06-02

专利汇可以提供一种基于控制论和目标推理的软件质量运行时优化方法专利检索,专利查询,专利分析的服务。并且本 发明 属于 软件 工程技术领域,具体为一种基于 控制论 和目标推理的软件 质量 运行时优化方法。本发明引入基于价值的 软件工程 中的价值观点,以客户的业务观点出发定义特定于目标系统的价值度量模型作为系统总体质量反馈,并以此为 基础 实现基于需求目标推理的软件质量运行时优化。本发明使用PID 控制器 对运行时相关质量属性的优先级(质量偏好)进行动态调节,并以此为输入进行偏好驱动的需求目标推理。目标推理所得到的需求目标配置方案用于指导运行时体系结构的动态重配置,从而实现系统的优化调节。采用本发明可以实现基于实时反馈的软件系统运行时总体质量优化。与传统的针对某一特定质量属性的优化方法相比具有较大的优势。,下面是一种基于控制论和目标推理的软件质量运行时优化方法专利的具体信息内容。

1.一种基于控制论和目标推理的软件质量运行时优化方法,其特征在于具体步骤为:
(1)软件系统按照初始的目标模型配置和体系结构配置进行运行;
(2)通过对软件系统的运行时实时监控获取基础运行数据,并根据价值度量模型计算得到反映系统总体质量状况的反馈信息;
(3)PID控制器根据所述反馈信息,对系统目标模型中各个软目标的优先级排序进行调整;
(4)支持偏好的目标推理器根据PID控制器产生的软目标优先级排序进行目标推理,产生硬目标配置,该硬目标配置体现所给定的软目标偏好;
(5)体系结构配置器根据目标推理器产生的硬目标配置方案以及硬目标与相关软件构件之间的映射关系,对运行时软件系统的体系结构进行动态调整,从而实现总体质量优化的目标;
(6)间隔一定时间后重复执行步骤(2)-(5)。
2.如权利要求1所述的基于控制论和目标推理的软件质量运行时优化方法,其特征在于,采用基于价值的软件工程思想,从客户的业务视出发定义运行时的价值度量模型作为驱动运行时优化调整的运行时反馈。
3.如权利要求1或2所述的基于控制论和目标推理的软件质量运行时优化方法,其特征在于,步骤(3)采用一种改进的PID控制算法实现对相关软目标优先级排序的动态调整,该算法过程如下:
(1)根据监控及计算得到的单位时间内的业务价值度量,计算其较期望业务价值(固定间隔监控的业务价值的平均值)的增量百分比Δv,并更新期望业务价值;所述期望业务价值是指固定间隔监控的业务价值的平均值;
(2)根据监控得到的各个质量属性的度量值,计算当前时刻其较相应期望值的偏差百分比e(t);并根据各个质量属性过往3个时刻的偏差e(t-2),e(t-1),e(t),由PID增量计算公式①计算各个质量属性的控制变量:
u(t) = u(t-1) + Kp*(e(t) – e(t-1)) + Ki*e(t) + Kd*(e(t) – 2*e(t-1) + e(t-2))…①
其中,Kp 为PID控制器中比例控制器的参数, Ki为PID控制器中积分控制器的参数, Kd 为PID控制器中微分控制器的参数;
(3)如果业务价值增量百分比Δv在一定容忍范围内,则不需要对系统目标模型中各个软目标的优先级进行调整,结束;反之,计算各个软目标的优先级的增量,即各个软目标的优先级乘以各个质量属性的控制变量,并更新优先级。

说明书全文

一种基于控制论和目标推理的软件质量运行时优化方法

技术领域

[0001] 本发明属于软件工程技术领域,具体涉及针对软件系统多种非功能性质量属性动态权衡的软件总体质量优化方法。

背景技术

[0002] 软件系统的需求包括功能性和非功能性两个部分。其中,功能性需求往往体现为对系统所提供的功能、行为或所要达到的状态的要求,其满足性往往是确定性的“是”或“否”。而非功能性需求往往是对系统整体或某些功能实现的质量约束,例如性能、安全性、可靠性等,其满足性不是确定性的“是”或“否”的二值结论,而是表现为一种被满足的程度。
[0003] 软件系统中不同非功能性需求(或称质量属性)之间往往存在冲突。例如,安全性和性能之间往往就存在冲突:安全性所要求的加密传输、加密存储等实现手段往往会牺牲一定的性能。在传统的软件开发过程中,开发人员往往会在体系结构设计中基于对于系统运行环境的分析和预测,对这些质量属性冲突做出权衡决策。这种静态权衡决策一旦做出,在软件部署和运行之后都不会发生改变。显然,对于难以预测且处于动态变化之中的运行时环境,这种静态权衡决策经常难以保证运行时软件的优化运行。
[0004] 由于系统所处的运行环境处于不断变化之中,因此软件的一些运行参数和结构配置只有通过运行时的优化调整才能更好地适应变化的环境,保证并提高软件的运行时质量。软件系统运行时质量优化正是通过运行时的参数调整、结构重配置等手段实现软件非功能性质量的动态优化调节。本发明所关注的运行时优化方法针对的并不是某一方面的质量属性,如性能、可靠性等,而是以多种质量属性之间的动态权衡为基础的软件总体质量优化。这种总体质量一般可以用客户的总体满意度来衡量。
[0005] 为了实现基于多种质量属性动态权衡的运行时总体质量优化,本发明采用了基于目标的需求模型表示,并使用了目标推理和控制论中的一些技术。目标是对相关干系人(stakeholder)对于系统的期望或要求的一种表达,而目标模型将干系人目标组织成一种层次化的精化和分解结构。目标模型中包括描述功能性需求的硬目标(hard goal)以及描述非功能性需求的软目标(soft goal)。目标之间的关系包括目标之间的AND和OR分解关系以及硬目标对软目标的contribution关系等。其中硬目标的OR分解表示任何一个子目标都是实现父目标的一个可选方式,而且这些子目标往往表现为对于多个相关软目标的正面和负面影响(contribution关系),为多种质量属性权衡决策提供了空间。图1描述了一个在线课程注册系统目标模型示例,其中圆矩形表示硬目标,而花生状的图元表示软目标。目标间的AND分解和OR分解分别表示为带横线和三角箭头的连线。硬目标对软目标的contribution关系表示为带标记的箭头,其中“Make”和“Help”表示正面影响,而“Break”和“Hurt”表示负面影响。
[0006] 控制论是研究各类系统调节和控制规律科学。控制论中,根据系统的输出量对系统的控制作用有无影响可以把控制方法分为闭环控制(即反馈控制)和开环控制。反馈控制论根据系统的输出反馈对系统进行动态控制,使被控对象的输出值尽量接近于系统的期望值。反馈控制可以显著降低系统误差,提高控制精度,减小扰动对系统输出的影响。反馈控制的基本框架如图2所示:控制器根据期望值和实际输出值的差来控制被控对象,目的是使被控对象的实际输出值尽量接近于期望值。近些年来,控制论逐渐被研究者引入到软件开发中,其目的是实现软件系统或软件开发过程的优化控制。

发明内容

[0007] 本发明的目的在于提供一种针对软件系统多种非功能性质量属性动态权衡的软件总体质量优化方法。
[0008] 本发明提供出的软件总体质量优化方法,是一种以运行时反馈为基础,由需求模型动态权衡驱动的运行时软件自适应优化方法。该优化方法具有如图2所示的反馈控制模型的基本框架,同时也具有自适应系统的MAPE(Monitor-Analyze-Plan-Execute)基本控制环路,即其优化方法过程的框架结构中包括了监控、分析、自适应调整方案规划和方案执行四个部分。为了提供运行时的系统总体质量的实时反馈,本发明引入基于价值的软件工程(Value-based Software Engineering)中的价值观点,即以客户的业务观点出发定义特定于目标系统的价值度量模型来辅助计算运行时的总体质量度量反馈。
[0009] 本发明方法的总体框架如图3所示。从反馈控制模型的角度看,该方法中的受控对象是运行时软件系统及作用于其上的目标推理器和体系结构配置器,控制器采用的是PID控制器;而基于系统运行时监控数据和价值度量模型的运行时业务价值度量,为控制器提供运行时反馈。从自适应系统的MAPE控制结构看,该方法中的运行时数据监控获取属于监控部分,业务价值度量计算属于分析部分,反馈控制器及目标推理器属于规划部分,而体系结构配置器则属于执行部分。
[0010] 基于控制论和目标推理的软件质量运行时优化方法,如图3所示,包括以下步骤:(1)软件系统按照初始的目标模型配置和体系结构配置进行运行。
[0011] (2)通过对软件系统的运行时实时监控,获取基础运行数据,并根据价值度量模型计算得到单位时间内的业务价值度量,作为反映系统总体质量状况的反馈信息。
[0012] (3)PID控制器根据反馈信息对系统目标模型中各个软目标的优先级排序(即质量偏好)进行调整,其直观原理是可以通过提高某个软目标的优先级达到改善或防止其进一步变差的目的,而PID控制器根据运行时反馈,对各个软目标优先级的不断调整体现出了质量属性的动态权衡。
[0013] (4)支持偏好的目标推理器根据PID控制器产生的软目标优先级排序进行目标推理,产生硬目标配置。推理所产生的硬目标配置(主要是针对OR分解硬目标的不同配置)体现了所给定的软目标偏好。
[0014] (5)体系结构配置器根据目标推理器产生的硬目标配置方案以及硬目标与相关软件构件之间的映射关系,对运行时软件系统的体系结构进行动态调整,从而实现总体质量优化的目标。
[0015] (6)间隔一定时间(一般3-10分钟左右)后重复执行步骤(2)-(5)。
[0016] 所述的基于控制论和目标推理的软件质量运行时优化方法步骤(3)中,采用一种改进的PID控制算法实现对相关软目标优先级排序的动态调整,该算法过程如下:(1)根据监控及计算得到的单位时间内的业务价值度量,计算其较期望业务价值(固定间隔监控的业务价值的平均值)的增量百分比Δv,并更新期望业务价值。
[0017] (2)根据监控得到的各个质量属性的度量值,计算当前时刻其较相应期望值的偏差百分比e(t)。根据各个质量属性过往3个时刻的偏差e(t-2),e(t-1),e(t),由PID增量计算公式①计算各个质量属性的控制变量(即质量属性所需要提高的程度):u(t) = u(t-1) + Kp*(e(t) – e(t-1)) + Ki*e(t) + Kd*(e(t) – 2*e(t-1) + e(t-2))…… ①
其中,u(t)为各个质量属性的控制变量,即质量属性所需要提高的程度;Kp为PID控制器中比例控制器的参数,考虑受控对象的当前行为的影响因素;Ki 为PID控制器中积分控制器的参数,考虑受控对象的过去行为的影响因素;Kd为PID控制器中微分控制器的参数,考虑受控对象的将来行为影响因素。
[0018] (3)如果业务价值增量百分比Δv在一定容忍范围内(一般在-5%以上), 则不需要对系统目标模型中各个软目标的优先级进行调整(即不需要目标推理和系统重配置),结束;反之,计算各个软目标的优先级的增量,即各个软目标的优先级乘以各个质量属性的控制变量,并更新优先级。
[0019] 本发明的优点和积极效果:该方法可以实现基于实时反馈的软件系统运行时总体质量优化,这种优化体现了在运行时环境不断变化的情况下通过多种质量属性之间的动态权衡实现软件系统总体质量满意度的最大化。与传统的针对某一特定质量属性的优化方法相比具有较大的优势。附图说明
[0020] 图1为一个软件系统目标模型示例。
[0021] 图2为反馈控制模型基本框架。
[0022] 图3为本发明所采用的两层反馈控制器结构图。

具体实施方式

[0023] 本节给出了一个面向如图1所示的在线课程注册系统、基于Java反射机制的具体实现方式。该系统以软件即服务(Software As Service)的方式进行运营。在该模式下,每成功完成一笔课程注册可获得固定额度的收益,但同时要向所使用的第三方支付平台支付一笔手续费(不同的平台提供商手续费标准不一)。因此,如果以直接利润最大化作为客户的根本价值,那么该系统的价值度量模型可以设定为:单位时间成功处理的课程注册数量*单笔收益-该时间段内累计的支付平台手续费。
[0024] 基于该实施方式的主要使用过程为:(1)按照初始的目标模型配置和体系结构配置运行,由图1可知具体需要选择一种初始的课程选择模式(列表选择或直接输入课程号方式)和支付平台(ABBPAY或UNLPAY)。
[0025] (2)收集过去5分钟内的成功处理事务数量,调用各个第三方支付服务数量等数据,根据价值度量模型计算该时间段内的价值度量。
[0026] (3)PID控制器根据价值度量调整最小化错误率、最小化响应时间、最小化手续费开销、支付服务可用性(如图1所示)等软目标的优先级。
[0027] (4)使用目标建模工具OpenOME中所实现的偏好驱动的目标推理算法,进行目标推理,产生新的硬目标配置方案。
[0028] (5)根据新的硬目标配置方案以及相关硬目标与Java实现构件之间的映射关系,修改运行时体系结构描述中的课程选择构件和支付平台构件所对应的具体实现构件名称。
[0029] (6)运行时系统每次执行业务流程时都是使用反射机制调用运行时体系结构描述中所作指定的课程选择构件和支付平台构件的具体实现体,从而实现体系结构的动态重配置。
[0030] (7)间隔5分钟后重复执行步骤(2)-(6)。
[0031] 基于该实施过程的优化案例和优化结果:案例考虑具有高负载的在线课程注册系统,以单位时间内的有效吞吐量(以课程成功注册为度量值)和利润(以课程费用成功支付为度量值)作为指标,对比分析了本发明所提出的方法与传统的静态配置、基于硬编码的自适应优化方法。由下表中的优化结果可见,本发明所提出的方法较静态配置的最好情况单位时间内的有效吞吐量提高了2.67%,利润提高了11.64%;较基于硬编码的自适应分别提高了2.56%和7.14%。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈