一种软件模糊自适应支撑系统和开发方法

xiaoxiao2020-7-22  15

一种软件模糊自适应支撑系统和开发方法
【专利摘要】本发明公开了一种软件模糊自适应支撑系统和开发方法。该支撑系统包括:软件模糊自适应可视化编辑与仿真测试模块、软件模糊自适应逻辑持久化存储模块、模糊自适应Aspect设施自动生成模块、模糊逻辑基本运算模块、模糊逻辑执行引擎模块。该开发方法基于软件模糊自适应支撑系统,提供领域特定语言来实现软件模糊自适应策略的编辑,并对模糊自适应策略进行语法检查,然后对模糊自适应逻辑进行可视化仿真和测试;最后自动将基于领域特定语言的模糊自适应逻辑转变为可执行编程语言Aspect代码;利用通用的Aspect编织系统可将自动生成的Aspect织入到目标软件内部。本发明屏蔽了复杂的模糊控制技术细节,为软件模糊自适应开发提供了可视化、自动化的支撑手段。
【专利说明】一种软件模糊自适应支撑系统和开发方法
【技术领域】
[0001]本发明属于软件自适应【技术领域】,特别是一种软件模糊自适应支撑系统和基于该系统的软件模糊自适应开发方法。
【背景技术】
[0002]当前软件系统面临着外部环境和需求的日益频繁的变化,而这些变化会以干扰的形式,对复杂软件系统(如军事信息系统)的运行连续性和服务可用性等造成负面影响,造成中断、服务不可用等问题。软件自适应被认为是软件应对变化问题的方法,其核心思想就是运用反馈闭环(closed-loop)的思想,将软件作为动态可调整的对象,在运行过程中根据感知的变化在线自我调整以适应新的环境和需求。软件自适应过程在本质上是一种对环境和用户进行频繁交互的过程。
[0003]然而,与环境和用户的密切交互使得软件自适应环不可避免地存在不确定性,而这种不确定性又常常表现为模糊性,如恶劣环境干扰导致的数据不精确性、用户需求表达的含糊性等。如何应对和处理自适应环中的模糊性、实现模糊条件下的CMIS自适应,已成为一个亟待解决的问题。而软件模糊自适应的方法被认为一种能够直接而自然地处理自适应模糊性的一种有效方法,其基本思想是将模糊控制理论引入到软件自适应研究中,使得软件呈现出这样一种形态:在开放、动态、难控的计算环境(如战场环境)中,在环境与需求信息的完整与精确获取已不可能、对外部变化的部分或不精确感知已成必然的约束下,软件能以感知到的不确定和不完备的需求变化和环境要素变化等模糊性信息为基础,借助模糊逻辑及反馈控制理论,自动进行模糊推理和决策,调整自身的参数、结构和行为。
[0004]较之常规软件开发过程,软件模糊自适应开发需要一定的模糊控制理论知识,具有一定的复杂性,这对于软件开发人员来说仍然是一件较为困难的事,造成了软件工程与控制工程之间的存在知识鸿沟。因而需要有相应的软件支撑系统来支持软件模糊自适应开发,减轻软件开发人员负担。但是,现有的软件自适应支撑系统,较为著名的如美国IBM的ACT、美国卡耐基梅隆大学的Rainbow RAIDE、加拿大滑铁卢大学的StarMX等,都尚不支持对自适应模糊性的处理,无法满足软件模糊自适应工程化实现的要求。

【发明内容】

[0005]本发明的目的在于提供一种软件模糊自适应支撑系统和开发方法,该系统和方法能够实现软件模糊自适应逻辑的可视化编辑、测试、仿真、存储和自动化转换生成可执行程序的功能。
[0006]实现本发明目的的技术解决方案为:
[0007]—种软件模糊自适应支撑系统,该支撑系统支持软件模糊自适应逻辑可视化编辑与自动化生成,具体包括:软件模糊自适应可视化编辑与仿真测试模块、软件模糊自适应逻辑持久化存储模块、模糊自适应Aspect设施自动生成模块、模糊逻辑基本运算模块、模糊逻辑执行引擎模块,其中模糊逻辑基本运算模块分别接入软件模糊自适应可视化编辑与仿真测试模块、模糊逻辑执行引擎模块、模糊自适应Aspect设施自动生成模块,模糊逻辑执行引擎模块分别与软件模糊自适应可视化编辑与仿真测试模块、模糊自适应Aspect设施自动生成模块相连接,软件模糊自适应逻辑持久化存储模块与软件模糊自适应可视化编辑与仿真测试模块相连接,软件模糊自适应可视化编辑与仿真测试模块接入模糊自适应Aspect设施自动生成模块,各模块作用如下:
[0008]软件模糊自适应可视化编辑与仿真测试模块提供基于领域特定语言的软件模糊自适应策略可视化编辑和测试环境,其中模糊自适应策略采用“if-then”模糊规则的形式进行表达;
[0009]软件模糊自适应逻辑持久化存储模块实现对编辑好的模糊自适应策略及相关配置进行持久化存储;
[0010]模糊自适应Aspect设施自动生成模块将基于领域特定语言的模糊自适应逻辑自动转化为基于Native语言的Aspect设施和一个数据黑板对象;
[0011 ] 模糊逻辑基本运算模块实现对模糊逻辑的基本操作和算法进行管理;
[0012]模糊逻辑执行引擎模块支撑系统的总调度,负责对模糊自适应策略进行解释执行,完成模糊自适应推理运算。
[0013]一种基于所述软件模糊自适应支撑系统的软件模糊自适应开发方法,该方法实现软件模糊自适应逻辑可视化编辑与自动化生成,步骤如下:
[0014]步骤1,利用软件模糊自适应可视化编辑与仿真测试模块编辑与仿真测试模糊自适应策略:首先根据模糊自适应需求和模糊自适应目标确定模糊自适应输入、输出变量,然后将模糊自适应变量进行模糊化处理;其次编辑基于模糊规则的模糊自适应策略,然后对编辑好的模糊自适应策略进行语法错误检查;最后对模糊自适应策略进行仿真测试;
[0015]步骤2,存储模糊自适应策略:首先利用模糊逻辑基本运算模块对模糊操作子进行配置,然后利用模糊自适应逻辑持久化存储模块设置存储路径,存储上述配置信息和步骤I所述模糊自适应输入、输出变量、模糊自适应规则,实现模糊自适应逻辑的重复利用和共孚;
[0016]步骤3,生成模糊自适应Aspect:利用模糊自适应Aspect设施自动生成模块自动生成基于可执行语言代码的模糊自适应Aspect文件;
[0017]步骤4,编织模糊自适应Aspect:借助通用的Aspect编织工具,将步骤3生成的Aspect文件织入到目标软件中,从而在目标软件内部形成软件模糊自适应环;
[0018]本发明与现有技术相比,其显著优点为:(1)为开发人员提供图形化的基于领域特定语言的模糊自适应逻辑编辑、仿真、测试环境;(2)自动生成基于Native语言的模糊自适应代码,使开发人员在无需深入理解模糊控制理论的情况下也能较为方便地开展软件模糊自适应的开发工作;(3)提供了模糊自适应逻辑的保存和导入功能,并建立了模糊逻辑存储格式的标准,方便不同团体之间的共享,从而能降低了软件模糊自适应的开发难度,提高了软件开发效率。
【专利附图】

【附图说明】
[0019]图1为本发明软件模糊自适应支撑系统的总体结构和开发方法的原理框图。
[0020]图2为本发明系统中模糊自适应逻辑的编辑与仿真测试模块的结构图。[0021]图3为本发明系统中软件模糊自适应逻辑的持久化存储模块结构图。
[0022]图4为本发明系统中模糊自适应Aspect设施自动生成模块的原理示意图。
[0023]图5为本发明系统中模糊自适应Aspect设施间数据通信实现机制图。
[0024]图6为本发明系统中模糊自适应Aspect设施自动批量生成示意图。
[0025]图7为本发明软件模糊自适应逻辑的可视化编辑与自动化生成方法示意图。
[0026]图8为本发明实施例中软件模糊自适应规则编辑与仿真的示意图。
【具体实施方式】
[0027]本发明提供了一种能够支撑软件模糊自适应逻辑可视化编辑、测试、仿真和自动生成可执行程序代码的系统和基于该系统的软件模糊自适应开发方法,下面结合附图及具体实施例对本发明作进一步详细说明。
[0028]结合图1,本发明软件模糊自适应支撑系统,该支撑系统支持软件模糊自适应逻辑可视化编辑与自动化生成,具体包括:软件模糊自适应可视化编辑与仿真测试模块、软件模糊自适应逻辑持久化存储模块、模糊自适应Aspect设施自动生成模块、模糊逻辑基本运算模块、模糊逻辑执行引擎模块,其中模糊逻辑基本运算模块分别接入软件模糊自适应可视化编辑与仿真测试模块、模糊逻辑执行引擎模块、模糊自适应Aspect设施自动生成模块,模糊逻辑执行引擎模块分别与软件模糊自适应可视化编辑与仿真测试模块、模糊自适应Aspect设施自动生成模块相连接,软件模糊自适应逻辑持久化存储模块与软件模糊自适应可视化编辑与仿真测试模块相连接,软件模糊自适应可视化编辑与仿真测试模块接入模糊自适应Aspect设施自动生成模块,各模块作用如下:
[0029]1、软件模糊自适应可视化编辑与仿真测试模块提供基于领域特定语言的软件模糊自适应策略可视化编辑和测试环境,其中模糊自适应策略采用“if-then”模糊规则的形式进行表达;
[0030]2、软件模糊自适应逻辑持久化存储模块实现对编辑好的模糊自适应策略及相关配置进行持久化存储;具体为:
[0031](I)采用XML格式对编辑好的软件模糊自适应规则进行存储;
[0032](2)采用XML格式对配置信息进行存储,所述配置信息包括:模糊推理参数配置、定义的输入输出变量、及该输入输出变量的模糊分割;
[0033]3、模糊自适应Aspect设施自动生成模块将基于领域特定语言的模糊自适应逻辑自动转化为基于Native语言的Aspect设施和一个数据黑板对象,具体为:
[0034](I)模块面向对象,设有专门的Aspect代码生成类,从编辑环境中获取模糊自适应逻辑相关信息;
[0035](2)依据用户对自适应设施类名、存储路径的预定义配置一次性生成模糊感知器、模糊自适应器、模糊执行器三个Aspect设施和一个数据黑板对象,该数据黑板对象用于模糊感知器Aspect、模糊自适应器Aspect和模糊执行器Aspect在目标软件内的交互;
[0036]4、模糊逻辑基本运算模块实现对模糊逻辑的基本操作和算法进行管理;
[0037]5、模糊逻辑执行引擎模块支撑系统的总调度,负责对模糊自适应策略进行解释执行,完成模糊自适应推理运算。
[0038]本发明基于所述软件模糊自适应支撑系统的软件模糊自适应开发方法,该方法实现软件模糊自适应逻辑可视化编辑与自动化生成,步骤如下:
[0039]步骤1,利用软件模糊自适应可视化编辑与仿真测试模块编辑与仿真测试模糊自适应策略:首先根据模糊自适应需求和模糊自适应目标确定模糊自适应输入、输出变量,然后将模糊自适应变量进行模糊化处理;其次编辑基于模糊规则的模糊自适应策略,然后对编辑好的模糊自适应策略进行语法错误检查;最后对模糊自适应策略进行仿真测试;具体为:
[0040](I)确定自适应变量:根据模糊自适应需求和目标软件的模糊自适应目标确定模糊自适应输入、输出变量,在软件模糊自适应可视化编辑与仿真测试模块逐个添加所需模糊自适应输入、输出变量;
[0041](2)模糊化自适应变量:在软件模糊自适应可视化编辑与仿真测试模块将步骤(I)所添加的模糊自适应输入、输出变量进行模糊分割,生成多个模糊语言值,并为每一个模糊语言值定义隶属度函数;
[0042](3)编辑模糊自适应策略:在软件模糊自适应可视化编辑与仿真测试模块编辑基于模糊规则的模糊自适应策略,然后对编辑好的模糊自适应策略进行语法错误检查;
[0043](4)测试模糊自适应策略:在软件模糊自适应可视化编辑与仿真测试模块对编辑好的模糊自适应策略进行图形化仿真和测试,以发现模糊自适应推理中隐含的逻辑错误,测试过程需要模糊逻辑基本运算模块、模糊逻辑执行引擎模块的支撑;
[0044]步骤2,存储模糊自适应策略:首先利用模糊逻辑基本运算模块对模糊操作子进行配置,然后利用模糊自适应逻辑持久化存储模块设置存储路径,存储上述配置信息和步骤I所述模糊自适应输入、输出变量、模糊自适应规则,实现模糊自适应逻辑的重复利用和共孚;
[0045]步骤3,生成模糊自适应Aspect:利用模糊自适应Aspect设施自动生成模块自动生成基于可执行语言代码的模糊自适应Aspect文件;
[0046]步骤4,编织模糊自适应Aspect:借助通用的Aspect编织工具,将步骤3生成的Aspect文件织入到目标软件中,从而在目标软件内部形成软件模糊自适应环;
[0047]上述步骤I?4的实现均基于模糊逻辑执行引擎模块的支撑。
[0048]下面结合具体实施例对本发明作进一步详细说明。
[0049]实施例1
[0050]本发明提供的软件模糊自适应支撑系统可通过对FuzzyLite模糊逻辑软件工具进行扩展实现。
[0051]图1为软件模糊自适应支撑系统的总体结构,该系统包括软件模糊自适应可视化编辑与仿真测试环境、软件模糊自适应逻辑持久化存储模块、模糊自适应Aspect设施自动生成模块、模糊逻辑基本运算模块、模糊逻辑执行引擎模块等5个部分,处于核心的是模糊逻辑执行引擎,这些模块之间相互作用,构成了一个初步支持软件模糊自适应较为高效地进行开发的支撑环境。这些模块的主要功能和相互之间的联系分别如下:
[0052](I)软件模糊自适应可视化编辑与仿真测试模块
[0053]该模块主要提供基于领域特定语言的软件模糊自适应策略可视化编辑和测试环境。在这个模块中,采用模糊控制领域的“if-then”模糊规则定义语句(又称模糊控制语言Fuzzy Control Language,FCL)作为软件模糊自适应策略的定义语言,使用简单、易用理解,且接近普通人的思维方式;同时,也提供模糊自适应环的感知、执行环节的输入输出语言变量的模糊分割、隶属度函数的形状设定、推理规则选择等功能;该模块能对编辑好的自适应策略进行语法检查,对不符合语法的自适应规则进行错误提示,还能对模糊自适应策略进行仿真测试,来直观察看分析模糊自适应的决策结果,从而可以依据仿真结果进一步优化规则。
[0054](2)软件模糊自适应逻辑持久化存储模块
[0055]该模块实现对编辑好的模糊自适应规则及相关配置进行持久化存储。模糊自适应逻辑的信息具有树状数据结构的特征,所以这里采用标准的XML文档作为持久化存储的载体。为了实现对模糊自适应逻辑的格式化和持久化存储,该模块还提供了相应的导出(写)、载入(读)操作。导出操作首先将编辑环境中的模糊自适应规则、语言变量模糊分害I]、隶属度函数等数据进行标准的树状化处理,然后将这个树结构信息写入到XML文件中。载入操作是导出操作的逆过程,即从XML文件中解析出模糊自适应逻辑的相应信息,并将这些信息在图形化的自适应逻辑编辑环境中进行显示。
[0056](3)软件模糊自适应逻辑Aspect设施自动生成模块
[0057]该模块负责将基于领域特定语言的模糊自适应逻辑自动转化为基于Native语言(本实施例采用的是C++)的Aspect设施,包括模糊感知器Aspect、模糊自适应器Aspect和模糊执行器Aspect,以便于直接将模糊自适应逻辑直接织入到基于Native语言的可执行软件系统中。具体而言,该模块首先借助用户对话框来收集基本信息包括Aspect名称、文件保存位置等,然后依据可视化编辑环境中的定义好的模糊自适应逻辑,生成相应的类和Aspect。该模块还同时生成了一个基于全局数组的软件数据总线,用于感知器Aspect、自适应器Aspect和模糊自适应Aspect之间在目标软件内部进行交互的数据交换通道。织入到目标软件之后的Aspect设施在执行模糊化运算、模糊推理运算、清晰化运算等操作时需要与模糊逻辑引擎模块进行交互。
[0058](4)模糊逻辑引擎模块
[0059]该模块是支撑系统的总调度,负责对模糊自适应策略进行解释执行、模糊自适应推理运算等。由于本模块主要完成的模糊逻辑运算,因此,这一部分直接从FuzzyLite中继承而来。
[0060](5)模糊逻辑基本运算模块
[0061]该模块负责对模糊逻辑的基本操作和算法进行管理,包括对模糊集合的求交、求并运算,隶属度函数库等进行管理。该模块也是直接从从FuzzyLite中继承而来。
[0062]图2为模糊自适应逻辑编辑与仿真测试模块的总体实现结构,当开发者明确软件模糊自适应环的概念框架之后,就可利用该模块进行软件模糊自适应逻辑的编辑和测试工作,具体为:
[0063](I)自适应环输入输出变量的模糊化。实现对自适应环中感知、执行等环节变量的模糊化处理,包括隶属度函数定义,模糊分割数确定等。
[0064](2)模糊自适应策略的编辑与语法检查。基于FCL模糊规则对模糊自适应策略进行编辑,同时对编辑后的策略进行语法检查。
[0065](3)模糊自适应逻辑仿真测试。对编辑完成后的模糊自适应逻辑进行图形化仿真测试,动态分析自适应逻辑的决策结果,同时能利用分析结果反馈优化模糊自适应策略。[0066]图3为支撑系统持久化存储模块的总体结构。模糊自适应逻辑的信息具有树状数据结构的特征,所以这里采用标准的XML文档作为持久化存储的载体。在实现上,仍然采用了面向对象思想,分别定义了树构造器类、XML读写操作类、存储类等软件实体来负责完成基于XML的持久化存储功能。本发明所定义的XML文件存储格式如表I所示。另外,为了方便生成的XML文档共享,使之能够形成一套标准体系,我们还为生成的XML文档定义了 DTD文件。DTD (Document Type Definition)用于定义标记符的语法规则。它属于XML1.0规格的一部分,是XML文件的一种验证机制,一般包含在XML文件内,是XML文件的一部分。DTD是一种控制XML文档格式正确性的有效方法,可通过对比XML文档和DTD文件的定义来判断文档是否符合规范,标签或者元素使用的是否正确。XML文件为应用程序提供了一种数据交换的载体,DTD文件的作用正是让XML文件能够成为一种特定的数据交换标准,因为不同的团体只需定义好标准DTD,其他团体都能依DTD建立标准格式的XML文件,并且进行验证,从而建立数据格式的标准,并在网络上进行数据交互。定义的DTD文件内容见表I。
[0067]表I模糊自适应逻辑的XML存储格式
【权利要求】
1.一种软件模糊自适应支撑系统,其特征在于:该支撑系统支持软件模糊自适应逻辑可视化编辑与自动化生成,具体包括:软件模糊自适应可视化编辑与仿真测试模块、软件模糊自适应逻辑持久化存储模块、模糊自适应Aspect设施自动生成模块、模糊逻辑基本运算模块、模糊逻辑执行引擎模块,其中模糊逻辑基本运算模块分别接入软件模糊自适应可视化编辑与仿真测试模块、模糊逻辑执行引擎模块、模糊自适应Aspect设施自动生成模块,模糊逻辑执行引擎模块分别与软件模糊自适应可视化编辑与仿真测试模块、模糊自适应Aspect设施自动生成模块相连接,软件模糊自适应逻辑持久化存储模块与软件模糊自适应可视化编辑与仿真测试模块相连接,软件模糊自适应可视化编辑与仿真测试模块接入模糊自适应Aspect设施自动生成模块,各模块作用如下: 软件模糊自适应可视化编辑与仿真测试模块提供基于领域特定语言的软件模糊自适应策略可视化编辑和测试环境,其中模糊自适应策略采用“if-then”模糊规则的形式进行表达; 软件模糊自适应逻辑持久化存储模块实现对编辑好的模糊自适应策略及相关配置进行持久化存储; 模糊自适应Aspect设施自动生成模块将基于领域特定语言的模糊自适应逻辑自动转化为基于Native语言的Aspect设施和一个数据黑板对象; 模糊逻辑基本运算模块实现对模糊逻辑的基本操作和算法进行管理; 模糊逻辑执行引擎模块支撑系统的总调度,负责对模糊自适应策略进行解释执行,完成模糊自适应推理运算。
2.根据权利要求1所述的软件模糊自适应支撑系统,其特征在于:所述软件模糊自适应逻辑持久化存储模块实现对编辑好的模糊自适应规则及相关配置信息进行持久化存储,具体为: (1)采用XML格式对编辑好的软件模糊自适应规则进行存储; (2)采用XML格式对配置信息进行存储,所述配置信息包括:模糊推理参数配置、定义的输入输出变量、及该输入输出变量的模糊分割。
3.根据权利要求1所述的软件模糊自适应支撑系统,其特征在于:所述模糊自适应Aspect设施自动生成模块将基于领域特定语言的模糊自适应逻辑自动转化为基于native语言的Aspect设施和一个数据黑板对象,该Aspect设施包括模糊感知器Aspect、模糊自适应器Aspect和模糊执行器Aspect,具体为: (1)模块面向对象,设有专门的Aspect代码生成类,从编辑环境中获取模糊自适应逻辑相关信息; (2)依据用户对自适应设施类名、存储路径的预定义配置一次性生成模糊感知器、模糊自适应器、模糊执行器三个Aspect设施和一个数据黑板对象,该数据黑板对象用于模糊感知器Aspect、模糊自适应器Aspect和模糊执行器Aspect在目标软件内的交互。
4.一种基于权利要求1所述软件模糊自适应支撑系统的软件模糊自适应开发方法,其特征在于:该方法实现软件模糊自适应逻辑可视化编辑与自动化生成,步骤如下: 步骤I,利用软件模糊自适应可视化编辑与仿真测试模块编辑与仿真测试模糊自适应策略:首先根据模糊自适应需求和模糊自适应目标确定模糊自适应输入、输出变量,然后将模糊自适应变量进行模糊化处理;其次编辑基于模糊规则的模糊自适应策略,然后对编辑好的模糊自适应策略进行语法错误检查;最后对模糊自适应策略进行仿真测试; 步骤2,存储模糊自适应策略:首先利用模糊逻辑基本运算模块对模糊操作子进行配置,然后利用模糊自适应逻辑持久化存储模块设置存储路径,存储上述配置信息和步骤I所述模糊自适应输入、输出变量、模糊自适应规则,实现模糊自适应逻辑的重复利用和共 步骤3,生成模糊自适应Aspect:利用模糊自适应Aspect设施自动生成模块自动生成基于可执行语言代码的模糊自适应Aspect文件; 步骤4,编织模糊自适应Aspect:借助通用的Aspect编织工具,将步骤3生成的Aspect文件织入到目标软件中,从而在目标软件内部形成软件模糊自适应环;
5.根据权利要求4所述的软件模糊自适应开发方法,其特征在于:步骤I中所述利用软件模糊自适应可视化编辑与仿真测试模块编辑与仿真测试模糊自适应策略,具体为: (1)确定自适应变量:根据模糊自适应需求和目标软件的模糊自适应目标确定模糊自适应输入、输出变量,在软件模糊自适应可视化编辑与仿真测试模块逐个添加所需模糊自适应输入、输出变量; (2)模糊化自适应变量:在软件模糊自适应可视化编辑与仿真测试模块将步骤(1)所添加的模糊自适应输入、输出变量进行模糊分割,生成多个模糊语言值,并为每一个模糊语言值定义隶属度函数; (3)编辑模糊自适应策略:在软件模糊自适应可视化编辑与仿真测试模块编辑基于模糊规则的模糊自适应策略,然后对编辑好的模糊自适应策略进行语法错误检查; (4)测试模糊自适应策略:在软件模糊自适应可视化编辑与仿真测试模块对编辑好的模糊自适应策略进行图形化仿真和测试,以发现模糊自适应推理中隐含的逻辑错误,测试过程需要模糊逻辑基本运算模块、模糊逻辑执行引擎模块的支撑。
【文档编号】G06F9/44GK103955368SQ201410175451
【公开日】2014年7月30日 申请日期:2014年4月28日 优先权日:2014年4月28日
【发明者】杨启亮, 陶先平, 邢建春, 谢宏伟, 王平 申请人:中国人民解放军理工大学

最新回复(0)