[go: up one dir, main page]

CN103955368B - A Software Fuzzy Adaptive Support System and Development Method - Google Patents

A Software Fuzzy Adaptive Support System and Development Method Download PDF

Info

Publication number
CN103955368B
CN103955368B CN201410175451.9A CN201410175451A CN103955368B CN 103955368 B CN103955368 B CN 103955368B CN 201410175451 A CN201410175451 A CN 201410175451A CN 103955368 B CN103955368 B CN 103955368B
Authority
CN
China
Prior art keywords
fuzzy
adaptive
adaption
software
logic
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
Application number
CN201410175451.9A
Other languages
Chinese (zh)
Other versions
CN103955368A (en
Inventor
杨启亮
陶先平
邢建春
谢宏伟
王平
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
PLA University of Science and Technology
Original Assignee
PLA University of Science and Technology
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by PLA University of Science and Technology filed Critical PLA University of Science and Technology
Priority to CN201410175451.9A priority Critical patent/CN103955368B/en
Publication of CN103955368A publication Critical patent/CN103955368A/en
Application granted granted Critical
Publication of CN103955368B publication Critical patent/CN103955368B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

The invention discloses a kind of adaptive support system of software obfuscation and development approach.The support system includes:Software obfuscation adaptive visualization editor and emulation testing module, software obfuscation adaptive logic persistent storage module, fuzzy self-adaption Aspect facilities automatically-generating module, fuzzy logic basic operation module, fuzzy logic enforcement engine module.The development approach based on the adaptive support system of software obfuscation there is provided field language-specific to realize the editor of software obfuscation adaptive strategy, and syntax check is carried out to fuzzy self-adaption strategy, visual simulating and test then is carried out to fuzzy self-adaption logic;Last is automatically executable programming language Aspect codes by the fuzzy self-adaption logic transition based on field language-specific;The Aspect automatically generated can be woven into using general Aspect system for weaving to inside target software.The present invention shields the fuzzy control technology details of complexity, and for software obfuscation, adaptively exploitation provides visualization, the supporting method automated.

Description

一种软件模糊自适应支撑系统和开发方法A Software Fuzzy Adaptive Support System and Development Method

技术领域technical field

本发明属于软件自适应技术领域,特别是一种软件模糊自适应支撑系统和基于该系统的软件模糊自适应开发方法。The invention belongs to the technical field of software self-adaptation, in particular to a software fuzzy self-adaptive support system and a software fuzzy self-adaptive development method based on the system.

背景技术Background technique

当前软件系统面临着外部环境和需求的日益频繁的变化,而这些变化会以干扰的形式,对复杂软件系统(如军事信息系统)的运行连续性和服务可用性等造成负面影响,造成中断、服务不可用等问题。软件自适应被认为是软件应对变化问题的方法,其核心思想就是运用反馈闭环(closed-loop)的思想,将软件作为动态可调整的对象,在运行过程中根据感知的变化在线自我调整以适应新的环境和需求。软件自适应过程在本质上是一种对环境和用户进行频繁交互的过程。Current software systems are faced with increasingly frequent changes in the external environment and requirements, and these changes will negatively affect the operation continuity and service availability of complex software systems (such as military information systems) in the form of interference, resulting in interruptions, service Issues such as unavailability. Software self-adaptation is considered as a method for software to deal with changing problems. Its core idea is to use the feedback closed-loop idea to regard software as a dynamically adjustable object and adjust itself online according to perceived changes during operation to adapt to the change. new environment and needs. The software adaptive process is essentially a process of frequently interacting with the environment and users.

然而,与环境和用户的密切交互使得软件自适应环不可避免地存在不确定性,而这种不确定性又常常表现为模糊性,如恶劣环境干扰导致的数据不精确性、用户需求表达的含糊性等。如何应对和处理自适应环中的模糊性、实现模糊条件下的CMIS自适应,已成为一个亟待解决的问题。而软件模糊自适应的方法被认为一种能够直接而自然地处理自适应模糊性的一种有效方法,其基本思想是将模糊控制理论引入到软件自适应研究中,使得软件呈现出这样一种形态:在开放、动态、难控的计算环境(如战场环境)中,在环境与需求信息的完整与精确获取已不可能、对外部变化的部分或不精确感知已成必然的约束下,软件能以感知到的不确定和不完备的需求变化和环境要素变化等模糊性信息为基础,借助模糊逻辑及反馈控制理论,自动进行模糊推理和决策,调整自身的参数、结构和行为。However, the close interaction with the environment and users makes the software adaptive loop inevitably have uncertainties, and this uncertainty is often manifested as ambiguity, such as data inaccuracy caused by harsh environment interference, and the uncertainty of user needs expression. Ambiguity etc. How to deal with the ambiguity in the adaptive loop and realize the CMIS self-adaptation under ambiguous conditions has become an urgent problem to be solved. The software fuzzy adaptive method is considered to be an effective method that can directly and naturally deal with the adaptive fuzziness. Form: In an open, dynamic, and difficult-to-control computing environment (such as a battlefield environment), under the constraints that it is impossible to obtain complete and accurate information on the environment and requirements, and partial or inaccurate perception of external changes is inevitable, software Based on fuzzy information such as perceived uncertain and incomplete demand changes and environmental element changes, with the help of fuzzy logic and feedback control theory, it can automatically perform fuzzy reasoning and decision-making, and adjust its own parameters, structure and behavior.

较之常规软件开发过程,软件模糊自适应开发需要一定的模糊控制理论知识,具有一定的复杂性,这对于软件开发人员来说仍然是一件较为困难的事,造成了软件工程与控制工程之间的存在知识鸿沟。因而需要有相应的软件支撑系统来支持软件模糊自适应开发,减轻软件开发人员负担。但是,现有的软件自适应支撑系统,较为著名的如美国IBM的ACT、美国卡耐基梅隆大学的Rainbow RAIDE、加拿大滑铁卢大学的StarMX等,都尚不支持对自适应模糊性的处理,无法满足软件模糊自适应工程化实现的要求。Compared with the conventional software development process, software fuzzy adaptive development requires certain theoretical knowledge of fuzzy control and has certain complexity. There is a knowledge gap between. Therefore, a corresponding software support system is needed to support software fuzzy self-adaptive development and reduce the burden of software developers. However, the existing software adaptive support systems, such as ACT of IBM in the United States, Rainbow RAID of Carnegie Mellon University in the United States, StarMX of the University of Waterloo in Canada, etc., do not yet support the processing of adaptive ambiguity and cannot satisfy Software fuzzy adaptive engineering realization requirements.

发明内容Contents of the invention

本发明的目的在于提供一种软件模糊自适应支撑系统和开发方法,该系统和方法能够实现软件模糊自适应逻辑的可视化编辑、测试、仿真、存储和自动化转换生成可执行程序的功能。The object of the present invention is to provide a software fuzzy self-adaptive support system and development method, the system and method can realize the functions of visual editing, testing, simulation, storage and automatic conversion of software fuzzy self-adaptive logic to generate executable programs.

实现本发明目的的技术解决方案为:The technical solution that realizes the object of the present invention is:

一种软件模糊自适应支撑系统,该支撑系统支持软件模糊自适应逻辑可视化编辑与自动化生成,具体包括:软件模糊自适应可视化编辑与仿真测试模块、软件模糊自适应逻辑持久化存储模块、模糊自适应Aspect设施自动生成模块、模糊逻辑基本运算模块、模糊逻辑执行引擎模块,其中模糊逻辑基本运算模块分别接入软件模糊自适应可视化编辑与仿真测试模块、模糊逻辑执行引擎模块、模糊自适应Aspect设施自动生成模块,模糊逻辑执行引擎模块分别与软件模糊自适应可视化编辑与仿真测试模块、模糊自适应Aspect设施自动生成模块相连接,软件模糊自适应逻辑持久化存储模块与软件模糊自适应可视化编辑与仿真测试模块相连接,软件模糊自适应可视化编辑与仿真测试模块接入模糊自适应Aspect设施自动生成模块,各模块作用如下:A software fuzzy adaptive support system, which supports software fuzzy adaptive logic visual editing and automatic generation, specifically includes: software fuzzy adaptive visual editing and simulation test module, software fuzzy adaptive logic persistent storage module, fuzzy automatic Adapt to the automatic generation module of Aspect facilities, the basic operation module of fuzzy logic, and the execution engine module of fuzzy logic, among which the basic operation module of fuzzy logic is respectively connected to the software fuzzy adaptive visual editing and simulation test module, the fuzzy logic execution engine module, and the fuzzy adaptive Aspect facility The automatic generation module, the fuzzy logic execution engine module are respectively connected with the software fuzzy adaptive visual editing and simulation test module, the fuzzy adaptive Aspect facility automatic generation module, and the software fuzzy adaptive logic persistent storage module is connected with the software fuzzy adaptive visual editing and The simulation test modules are connected, and the software fuzzy adaptive visual editing and simulation test modules are connected to the fuzzy adaptive Aspect facility automatic generation module. The functions of each module are as follows:

软件模糊自适应可视化编辑与仿真测试模块提供基于领域特定语言的软件模糊自适应策略可视化编辑和测试环境,其中模糊自适应策略采用“if-then”模糊规则的形式进行表达;The software fuzzy adaptive visual editing and simulation testing module provides a domain-specific language-based software fuzzy adaptive strategy visual editing and testing environment, in which the fuzzy adaptive strategy is expressed in the form of "if-then" fuzzy rules;

软件模糊自适应逻辑持久化存储模块实现对编辑好的模糊自适应策略及相关配置进行持久化存储;The software fuzzy self-adaptive logic persistent storage module realizes the persistent storage of the edited fuzzy self-adaptive strategy and related configurations;

模糊自适应Aspect设施自动生成模块将基于领域特定语言的模糊自适应逻辑自动转化为基于Native语言的Aspect设施和一个数据黑板对象;The fuzzy adaptive Aspect facility automatic generation module automatically converts the fuzzy adaptive logic based on the domain-specific language into the Aspect facility and a data blackboard object based on the Native language;

模糊逻辑基本运算模块实现对模糊逻辑的基本操作和算法进行管理;The fuzzy logic basic operation module realizes the management of the basic operations and algorithms of fuzzy logic;

模糊逻辑执行引擎模块支撑系统的总调度,负责对模糊自适应策略进行解释执行,完成模糊自适应推理运算。The fuzzy logic execution engine module supports the overall scheduling of the system, is responsible for explaining and executing the fuzzy adaptive strategy, and completes the fuzzy adaptive reasoning operation.

一种基于所述软件模糊自适应支撑系统的软件模糊自适应开发方法,该方法实现软件模糊自适应逻辑可视化编辑与自动化生成,步骤如下:A software fuzzy adaptive development method based on the software fuzzy adaptive support system, the method realizes visual editing and automatic generation of software fuzzy adaptive logic, and the steps are as follows:

步骤1,利用软件模糊自适应可视化编辑与仿真测试模块编辑与仿真测试模糊自适应策略:首先根据模糊自适应需求和模糊自适应目标确定模糊自适应输入、输出变量,然后将模糊自适应变量进行模糊化处理;其次编辑基于模糊规则的模糊自适应策略,然后对编辑好的模糊自适应策略进行语法错误检查;最后对模糊自适应策略进行仿真测试;Step 1, use the software fuzzy adaptive visual editing and simulation test module to edit and simulate the fuzzy adaptive strategy: first determine the fuzzy adaptive input and output variables according to the fuzzy adaptive requirements and fuzzy adaptive goals, and then carry out the fuzzy adaptive variables Fuzzification processing; secondly, edit the fuzzy adaptive strategy based on fuzzy rules, and then check the syntax error of the edited fuzzy adaptive strategy; finally, conduct a simulation test on the fuzzy adaptive strategy;

步骤2,存储模糊自适应策略:首先利用模糊逻辑基本运算模块对模糊操作子进行配置,然后利用模糊自适应逻辑持久化存储模块设置存储路径,存储上述配置信息和步骤1所述模糊自适应输入、输出变量、模糊自适应规则,实现模糊自适应逻辑的重复利用和共享;Step 2, store the fuzzy adaptive strategy: first use the fuzzy logic basic operation module to configure the fuzzy operator, then use the fuzzy adaptive logic persistent storage module to set the storage path, store the above configuration information and the fuzzy adaptive input described in step 1 , output variables, and fuzzy adaptive rules to realize the reuse and sharing of fuzzy adaptive logic;

步骤3,生成模糊自适应Aspect:利用模糊自适应Aspect设施自动生成模块自动生成基于可执行语言代码的模糊自适应Aspect文件;Step 3, generate fuzzy adaptive Aspect: use the fuzzy adaptive aspect facility automatic generation module to automatically generate a fuzzy adaptive aspect file based on the executable language code;

步骤4,编织模糊自适应Aspect:借助通用的Aspect编织工具,将步骤3生成的Aspect文件织入到目标软件中,从而在目标软件内部形成软件模糊自适应环;Step 4, weaving fuzzy adaptive aspect: weaving the aspect file generated in step 3 into the target software with the help of general aspect weaving tools, so as to form a software fuzzy adaptive loop inside the target software;

本发明与现有技术相比,其显著优点为:(1)为开发人员提供图形化的基于领域特定语言的模糊自适应逻辑编辑、仿真、测试环境;(2)自动生成基于Native语言的模糊自适应代码,使开发人员在无需深入理解模糊控制理论的情况下也能较为方便地开展软件模糊自适应的开发工作;(3)提供了模糊自适应逻辑的保存和导入功能,并建立了模糊逻辑存储格式的标准,方便不同团体之间的共享,从而能降低了软件模糊自适应的开发难度,提高了软件开发效率。Compared with the prior art, the present invention has the remarkable advantages as follows: (1) provide developers with graphical fuzzy adaptive logic editing, simulation and testing environment based on domain specific language; (2) automatically generate fuzzy adaptive logic based on Native language The self-adaptive code enables developers to carry out software fuzzy self-adaptive development work more conveniently without in-depth understanding of fuzzy control theory; (3) Provides the function of saving and importing fuzzy self-adaptive logic, and establishes The standard logical storage format is convenient for sharing among different groups, thereby reducing the difficulty of software fuzzy self-adaptive development and improving the efficiency of software development.

附图说明Description of drawings

图1为本发明软件模糊自适应支撑系统的总体结构和开发方法的原理框图。Fig. 1 is a functional block diagram of the overall structure and development method of the software fuzzy adaptive support system of the present invention.

图2为本发明系统中模糊自适应逻辑的编辑与仿真测试模块的结构图。Fig. 2 is a structural diagram of the editing and simulation testing module of the fuzzy adaptive logic in the system of the present invention.

图3为本发明系统中软件模糊自适应逻辑的持久化存储模块结构图。Fig. 3 is a structural diagram of the persistent storage module of the software fuzzy adaptive logic in the system of the present invention.

图4为本发明系统中模糊自适应Aspect设施自动生成模块的原理示意图。Fig. 4 is a schematic diagram of the principle of the automatic generation module of the fuzzy adaptive Aspect facility in the system of the present invention.

图5为本发明系统中模糊自适应Aspect设施间数据通信实现机制图。Fig. 5 is a diagram of the realization mechanism of data communication between fuzzy self-adaptive Aspect facilities in the system of the present invention.

图6为本发明系统中模糊自适应Aspect设施自动批量生成示意图。Fig. 6 is a schematic diagram of automatic batch generation of fuzzy adaptive Aspect facilities in the system of the present invention.

图7为本发明软件模糊自适应逻辑的可视化编辑与自动化生成方法示意图。Fig. 7 is a schematic diagram of the visual editing and automatic generation method of the software fuzzy adaptive logic of the present invention.

图8为本发明实施例中软件模糊自适应规则编辑与仿真的示意图。Fig. 8 is a schematic diagram of software fuzzy adaptive rule editing and simulation in an embodiment of the present invention.

具体实施方式detailed description

本发明提供了一种能够支撑软件模糊自适应逻辑可视化编辑、测试、仿真和自动生成可执行程序代码的系统和基于该系统的软件模糊自适应开发方法,下面结合附图及具体实施例对本发明作进一步详细说明。The present invention provides a system capable of supporting software fuzzy adaptive logic visual editing, testing, simulation and automatic generation of executable program codes and a software fuzzy adaptive development method based on the system. The following describes the present invention in conjunction with the accompanying drawings and specific embodiments For further details.

结合图1,本发明软件模糊自适应支撑系统,该支撑系统支持软件模糊自适应逻辑可视化编辑与自动化生成,具体包括:软件模糊自适应可视化编辑与仿真测试模块、软件模糊自适应逻辑持久化存储模块、模糊自适应Aspect设施自动生成模块、模糊逻辑基本运算模块、模糊逻辑执行引擎模块,其中模糊逻辑基本运算模块分别接入软件模糊自适应可视化编辑与仿真测试模块、模糊逻辑执行引擎模块、模糊自适应Aspect设施自动生成模块,模糊逻辑执行引擎模块分别与软件模糊自适应可视化编辑与仿真测试模块、模糊自适应Aspect设施自动生成模块相连接,软件模糊自适应逻辑持久化存储模块与软件模糊自适应可视化编辑与仿真测试模块相连接,软件模糊自适应可视化编辑与仿真测试模块接入模糊自适应Aspect设施自动生成模块,各模块作用如下:In conjunction with Fig. 1, the software fuzzy self-adaptive support system of the present invention, the support system supports software fuzzy self-adaptive logic visual editing and automatic generation, specifically includes: software fuzzy self-adaptive visual editing and simulation test module, software fuzzy self-adaptive logic persistent storage module, fuzzy adaptive Aspect facility automatic generation module, fuzzy logic basic operation module, fuzzy logic execution engine module, among which the fuzzy logic basic operation module is respectively connected to the software fuzzy adaptive visual editing and simulation test module, fuzzy logic execution engine module, fuzzy logic execution engine module, and fuzzy logic execution engine module. Adaptive Aspect facility automatic generation module, fuzzy logic execution engine module are respectively connected with software fuzzy adaptive visual editing and simulation test module, fuzzy adaptive Aspect facility automatic generation module, software fuzzy adaptive logic persistent storage module and software fuzzy automatic Adaptive visual editing is connected with the simulation test module, and the software fuzzy adaptive visual editing and simulation test module is connected to the fuzzy adaptive Aspect facility automatic generation module. The functions of each module are as follows:

1、软件模糊自适应可视化编辑与仿真测试模块提供基于领域特定语言的软件模糊自适应策略可视化编辑和测试环境,其中模糊自适应策略采用“if-then”模糊规则的形式进行表达;1. The software fuzzy adaptive visual editing and simulation testing module provides a domain-specific language-based software fuzzy adaptive strategy visual editing and testing environment, in which the fuzzy adaptive strategy is expressed in the form of "if-then" fuzzy rules;

2、软件模糊自适应逻辑持久化存储模块实现对编辑好的模糊自适应策略及相关配置进行持久化存储;具体为:2. The software fuzzy adaptive logic persistent storage module realizes the persistent storage of the edited fuzzy adaptive strategy and related configurations; specifically:

(1)采用XML格式对编辑好的软件模糊自适应规则进行存储;(1) Store the edited software fuzzy adaptive rules in XML format;

(2)采用XML格式对配置信息进行存储,所述配置信息包括:模糊推理参数配置、定义的输入输出变量、及该输入输出变量的模糊分割;(2) Adopting XML format to store configuration information, said configuration information includes: fuzzy reasoning parameter configuration, defined input and output variables, and fuzzy segmentation of the input and output variables;

3、模糊自适应Aspect设施自动生成模块将基于领域特定语言的模糊自适应逻辑自动转化为基于Native语言的Aspect设施和一个数据黑板对象,具体为:3. The fuzzy adaptive Aspect facility automatic generation module automatically converts the fuzzy adaptive logic based on domain-specific language into Native language-based aspect facility and a data blackboard object, specifically:

(1)模块面向对象,设有专门的Aspect代码生成类,从编辑环境中获取模糊自适应逻辑相关信息;(1) The module is object-oriented, and has a special Aspect code generation class to obtain fuzzy adaptive logic related information from the editing environment;

(2)依据用户对自适应设施类名、存储路径的预定义配置一次性生成模糊感知器、模糊自适应器、模糊执行器三个Aspect设施和一个数据黑板对象,该数据黑板对象用于模糊感知器Aspect、模糊自适应器Aspect和模糊执行器Aspect在目标软件内的交互;(2) According to the user's predefined configuration of adaptive facility class name and storage path, three Aspect facilities, fuzzy perceptron, fuzzy adaptor, and fuzzy executor, and a data blackboard object are generated at one time, and the data blackboard object is used for fuzzy Interaction of Perceptron Aspect, Fuzzy Adapter Aspect and Fuzzy Actuator Aspect in the target software;

4、模糊逻辑基本运算模块实现对模糊逻辑的基本操作和算法进行管理;4. The fuzzy logic basic operation module realizes the management of the basic operations and algorithms of fuzzy logic;

5、模糊逻辑执行引擎模块支撑系统的总调度,负责对模糊自适应策略进行解释执行,完成模糊自适应推理运算。5. The fuzzy logic execution engine module supports the overall scheduling of the system, is responsible for explaining and executing the fuzzy adaptive strategy, and completes the fuzzy adaptive reasoning operation.

本发明基于所述软件模糊自适应支撑系统的软件模糊自适应开发方法,该方法实现软件模糊自适应逻辑可视化编辑与自动化生成,步骤如下:The present invention is based on the software fuzzy adaptive development method of the software fuzzy adaptive support system. The method realizes visual editing and automatic generation of software fuzzy adaptive logic, and the steps are as follows:

步骤1,利用软件模糊自适应可视化编辑与仿真测试模块编辑与仿真测试模糊自适应策略:首先根据模糊自适应需求和模糊自适应目标确定模糊自适应输入、输出变量,然后将模糊自适应变量进行模糊化处理;其次编辑基于模糊规则的模糊自适应策略,然后对编辑好的模糊自适应策略进行语法错误检查;最后对模糊自适应策略进行仿真测试;具体为:Step 1, use the software fuzzy adaptive visual editing and simulation test module to edit and simulate the fuzzy adaptive strategy: first determine the fuzzy adaptive input and output variables according to the fuzzy adaptive requirements and fuzzy adaptive goals, and then carry out the fuzzy adaptive variables Fuzzification processing; secondly, edit the fuzzy adaptive strategy based on fuzzy rules, and then perform syntax error checking on the edited fuzzy adaptive strategy; finally, conduct a simulation test on the fuzzy adaptive strategy; specifically:

(1)确定自适应变量:根据模糊自适应需求和目标软件的模糊自适应目标确定模糊自适应输入、输出变量,在软件模糊自适应可视化编辑与仿真测试模块逐个添加所需模糊自适应输入、输出变量;(1) Determining the adaptive variables: determine the fuzzy adaptive input and output variables according to the fuzzy adaptive requirements and the fuzzy adaptive goals of the target software, and add the required fuzzy adaptive input and output variables one by one in the software fuzzy adaptive visual editing and simulation test module output variable;

(2)模糊化自适应变量:在软件模糊自适应可视化编辑与仿真测试模块将步骤(1)所添加的模糊自适应输入、输出变量进行模糊分割,生成多个模糊语言值,并为每一个模糊语言值定义隶属度函数;(2) Fuzzy adaptive variables: in the software fuzzy adaptive visual editing and simulation test module, the fuzzy adaptive input and output variables added in step (1) are fuzzy divided to generate multiple fuzzy language values, and for each The fuzzy language value defines the membership function;

(3)编辑模糊自适应策略:在软件模糊自适应可视化编辑与仿真测试模块编辑基于模糊规则的模糊自适应策略,然后对编辑好的模糊自适应策略进行语法错误检查;(3) Edit the fuzzy adaptive strategy: edit the fuzzy adaptive strategy based on fuzzy rules in the software fuzzy adaptive visual editing and simulation test module, and then check the syntax error of the edited fuzzy adaptive strategy;

(4)测试模糊自适应策略:在软件模糊自适应可视化编辑与仿真测试模块对编辑好的模糊自适应策略进行图形化仿真和测试,以发现模糊自适应推理中隐含的逻辑错误,测试过程需要模糊逻辑基本运算模块、模糊逻辑执行引擎模块的支撑;(4) Test the fuzzy self-adaptive strategy: Graphically simulate and test the edited fuzzy self-adaptive strategy in the visual editing and simulation test module of the software fuzzy self-adaptive, so as to discover the hidden logical errors in the fuzzy self-adaptive reasoning. The test process Need the support of fuzzy logic basic operation module and fuzzy logic execution engine module;

步骤2,存储模糊自适应策略:首先利用模糊逻辑基本运算模块对模糊操作子进行配置,然后利用模糊自适应逻辑持久化存储模块设置存储路径,存储上述配置信息和步骤1所述模糊自适应输入、输出变量、模糊自适应规则,实现模糊自适应逻辑的重复利用和共享;Step 2, store the fuzzy adaptive strategy: first use the fuzzy logic basic operation module to configure the fuzzy operator, then use the fuzzy adaptive logic persistent storage module to set the storage path, store the above configuration information and the fuzzy adaptive input described in step 1 , output variables, and fuzzy adaptive rules to realize the reuse and sharing of fuzzy adaptive logic;

步骤3,生成模糊自适应Aspect:利用模糊自适应Aspect设施自动生成模块自动生成基于可执行语言代码的模糊自适应Aspect文件;Step 3, generate fuzzy adaptive Aspect: use the fuzzy adaptive aspect facility automatic generation module to automatically generate a fuzzy adaptive aspect file based on the executable language code;

步骤4,编织模糊自适应Aspect:借助通用的Aspect编织工具,将步骤3生成的Aspect文件织入到目标软件中,从而在目标软件内部形成软件模糊自适应环;Step 4, weaving fuzzy adaptive aspect: weaving the aspect file generated in step 3 into the target software with the help of general aspect weaving tools, so as to form a software fuzzy adaptive loop inside the target software;

上述步骤1~4的实现均基于模糊逻辑执行引擎模块的支撑。The implementation of the above steps 1 to 4 is based on the support of the fuzzy logic execution engine module.

下面结合具体实施例对本发明作进一步详细说明。The present invention will be described in further detail below in conjunction with specific embodiments.

实施例1Example 1

本发明提供的软件模糊自适应支撑系统可通过对FuzzyLite模糊逻辑软件工具进行扩展实现。The software fuzzy self-adaptive support system provided by the invention can be realized by extending the FuzzyLite fuzzy logic software tool.

图1为软件模糊自适应支撑系统的总体结构,该系统包括软件模糊自适应可视化编辑与仿真测试环境、软件模糊自适应逻辑持久化存储模块、模糊自适应Aspect设施自动生成模块、模糊逻辑基本运算模块、模糊逻辑执行引擎模块等5个部分,处于核心的是模糊逻辑执行引擎,这些模块之间相互作用,构成了一个初步支持软件模糊自适应较为高效地进行开发的支撑环境。这些模块的主要功能和相互之间的联系分别如下:Figure 1 shows the overall structure of the software fuzzy adaptive support system, which includes software fuzzy adaptive visual editing and simulation test environment, software fuzzy adaptive logic persistent storage module, fuzzy adaptive Aspect facility automatic generation module, and fuzzy logic basic operations There are five parts including the module and the fuzzy logic execution engine module. The core is the fuzzy logic execution engine. These modules interact with each other to form a supporting environment that initially supports software fuzzy self-adaptive and more efficient development. The main functions of these modules and their interrelationships are as follows:

(1)软件模糊自适应可视化编辑与仿真测试模块(1) Software fuzzy adaptive visual editing and simulation testing module

该模块主要提供基于领域特定语言的软件模糊自适应策略可视化编辑和测试环境。在这个模块中,采用模糊控制领域的“if-then”模糊规则定义语句(又称模糊控制语言Fuzzy Control Language,FCL)作为软件模糊自适应策略的定义语言,使用简单、易用理解,且接近普通人的思维方式;同时,也提供模糊自适应环的感知、执行环节的输入输出语言变量的模糊分割、隶属度函数的形状设定、推理规则选择等功能;该模块能对编辑好的自适应策略进行语法检查,对不符合语法的自适应规则进行错误提示,还能对模糊自适应策略进行仿真测试,来直观察看分析模糊自适应的决策结果,从而可以依据仿真结果进一步优化规则。This module mainly provides visual editing and testing environment for software fuzzy adaptive strategy based on domain specific language. In this module, the "if-then" fuzzy rule definition statement in the field of fuzzy control (also known as Fuzzy Control Language, FCL) is used as the definition language of software fuzzy adaptive strategy, which is simple to use, easy to understand, and close to The way of thinking of ordinary people; at the same time, it also provides functions such as the perception of fuzzy adaptive loops, the fuzzy segmentation of input and output language variables in the execution link, the shape setting of membership function, and the selection of inference rules; Grammatically check the adaptation strategy, give error prompts to the adaptive rules that do not conform to the grammar, and also perform simulation tests on the fuzzy adaptive strategy to directly observe and analyze the decision results of the fuzzy adaptive strategy, so that the rules can be further optimized based on the simulation results.

(2)软件模糊自适应逻辑持久化存储模块(2) Software fuzzy adaptive logic persistent storage module

该模块实现对编辑好的模糊自适应规则及相关配置进行持久化存储。模糊自适应逻辑的信息具有树状数据结构的特征,所以这里采用标准的XML文档作为持久化存储的载体。为了实现对模糊自适应逻辑的格式化和持久化存储,该模块还提供了相应的导出(写)、载入(读)操作。导出操作首先将编辑环境中的模糊自适应规则、语言变量模糊分割、隶属度函数等数据进行标准的树状化处理,然后将这个树结构信息写入到XML文件中。载入操作是导出操作的逆过程,即从XML文件中解析出模糊自适应逻辑的相应信息,并将这些信息在图形化的自适应逻辑编辑环境中进行显示。This module implements persistent storage of edited fuzzy adaptive rules and related configurations. The information of fuzzy adaptive logic has the characteristic of tree-like data structure, so standard XML document is used here as the carrier of persistent storage. In order to realize the formatting and persistent storage of fuzzy adaptive logic, this module also provides corresponding export (write) and load (read) operations. In the export operation, the fuzzy adaptive rules in the editing environment, the fuzzy segmentation of language variables, the membership function and other data in the editing environment are processed in a standard tree form, and then the tree structure information is written into the XML file. The loading operation is the reverse process of the export operation, that is, the corresponding information of the fuzzy adaptive logic is parsed from the XML file, and the information is displayed in the graphical adaptive logic editing environment.

(3)软件模糊自适应逻辑Aspect设施自动生成模块(3) Software fuzzy adaptive logic Aspect facility automatic generation module

该模块负责将基于领域特定语言的模糊自适应逻辑自动转化为基于Native语言(本实施例采用的是C++)的Aspect设施,包括模糊感知器Aspect、模糊自适应器Aspect和模糊执行器Aspect,以便于直接将模糊自适应逻辑直接织入到基于Native语言的可执行软件系统中。具体而言,该模块首先借助用户对话框来收集基本信息包括Aspect名称、文件保存位置等,然后依据可视化编辑环境中的定义好的模糊自适应逻辑,生成相应的类和Aspect。该模块还同时生成了一个基于全局数组的软件数据总线,用于感知器Aspect、自适应器Aspect和模糊自适应Aspect之间在目标软件内部进行交互的数据交换通道。织入到目标软件之后的Aspect设施在执行模糊化运算、模糊推理运算、清晰化运算等操作时需要与模糊逻辑引擎模块进行交互。This module is responsible for automatically converting the fuzzy adaptive logic based on domain-specific language into Aspect facilities based on Native language (this embodiment adopts C++), including fuzzy perceptron Aspect, fuzzy adaptor Aspect and fuzzy executor Aspect, so that It can directly weave the fuzzy adaptive logic into the executable software system based on Native language. Specifically, the module first collects basic information including Aspect name, file storage location, etc. by means of user dialog boxes, and then generates corresponding classes and Aspects according to the defined fuzzy adaptive logic in the visual editing environment. This module also generates a software data bus based on a global array at the same time, which is used as a data exchange channel for the interaction between the perceptron aspect, the adaptor aspect and the fuzzy adaptive aspect within the target software. The Aspect facility woven into the target software needs to interact with the fuzzy logic engine module when performing operations such as fuzzy operation, fuzzy reasoning operation, and clear operation.

(4)模糊逻辑引擎模块(4) Fuzzy logic engine module

该模块是支撑系统的总调度,负责对模糊自适应策略进行解释执行、模糊自适应推理运算等。由于本模块主要完成的模糊逻辑运算,因此,这一部分直接从FuzzyLite中继承而来。This module is the general dispatcher of the supporting system, responsible for explaining and executing the fuzzy adaptive strategy, fuzzy adaptive reasoning and operation, etc. Since this module mainly completes fuzzy logic operations, this part is directly inherited from FuzzyLite.

(5)模糊逻辑基本运算模块(5) Fuzzy logic basic operation module

该模块负责对模糊逻辑的基本操作和算法进行管理,包括对模糊集合的求交、求并运算,隶属度函数库等进行管理。该模块也是直接从从FuzzyLite中继承而来。This module is responsible for the management of the basic operations and algorithms of fuzzy logic, including the management of fuzzy set intersection and union operations, membership function library, etc. This module is also directly inherited from FuzzyLite.

图2为模糊自适应逻辑编辑与仿真测试模块的总体实现结构,当开发者明确软件模糊自适应环的概念框架之后,就可利用该模块进行软件模糊自适应逻辑的编辑和测试工作,具体为:Figure 2 shows the overall implementation structure of the fuzzy adaptive logic editing and simulation test module. After developers clarify the conceptual framework of the software fuzzy adaptive loop, they can use this module to edit and test the software fuzzy adaptive logic. Specifically, :

(1)自适应环输入输出变量的模糊化。实现对自适应环中感知、执行等环节变量的模糊化处理,包括隶属度函数定义,模糊分割数确定等。(1) Fuzzification of the input and output variables of the adaptive loop. Realize the fuzzy processing of variables in perception, execution and other links in the adaptive loop, including the definition of membership function, the determination of fuzzy segmentation number, etc.

(2)模糊自适应策略的编辑与语法检查。基于FCL模糊规则对模糊自适应策略进行编辑,同时对编辑后的策略进行语法检查。(2) Editing and grammar checking of fuzzy adaptive strategy. Edit the fuzzy adaptive strategy based on the FCL fuzzy rules, and check the syntax of the edited strategy at the same time.

(3)模糊自适应逻辑仿真测试。对编辑完成后的模糊自适应逻辑进行图形化仿真测试,动态分析自适应逻辑的决策结果,同时能利用分析结果反馈优化模糊自适应策略。(3) Fuzzy adaptive logic simulation test. Graphical simulation test is performed on the edited fuzzy adaptive logic, the decision result of the adaptive logic is dynamically analyzed, and the fuzzy adaptive strategy can be optimized by feedback of the analysis results.

图3为支撑系统持久化存储模块的总体结构。模糊自适应逻辑的信息具有树状数据结构的特征,所以这里采用标准的XML文档作为持久化存储的载体。在实现上,仍然采用了面向对象思想,分别定义了树构造器类、XML读写操作类、存储类等软件实体来负责完成基于XML的持久化存储功能。本发明所定义的XML文件存储格式如表1所示。另外,为了方便生成的XML文档共享,使之能够形成一套标准体系,我们还为生成的XML文档定义了DTD文件。DTD(Document Type Definition)用于定义标记符的语法规则。它属于XML1.0规格的一部分,是XML文件的一种验证机制,一般包含在XML文件内,是XML文件的一部分。DTD是一种控制XML文档格式正确性的有效方法,可通过对比XML文档和DTD文件的定义来判断文档是否符合规范,标签或者元素使用的是否正确。XML文件为应用程序提供了一种数据交换的载体,DTD文件的作用正是让XML文件能够成为一种特定的数据交换标准,因为不同的团体只需定义好标准DTD,其他团体都能依DTD建立标准格式的XML文件,并且进行验证,从而建立数据格式的标准,并在网络上进行数据交互。定义的DTD文件内容见表1。Figure 3 shows the overall structure of the persistent storage module of the supporting system. The information of fuzzy adaptive logic has the characteristic of tree-like data structure, so standard XML document is used here as the carrier of persistent storage. In terms of implementation, object-oriented thinking is still adopted, and software entities such as tree constructor class, XML read and write operation class, and storage class are respectively defined to be responsible for completing the persistent storage function based on XML. The XML file storage format defined by the present invention is shown in Table 1. In addition, in order to facilitate the sharing of generated XML documents and form a standard system, we also define DTD files for generated XML documents. DTD (Document Type Definition) is used to define the syntax rules of tags. It belongs to a part of the XML1.0 specification and is a verification mechanism for XML files. It is generally included in XML files and is a part of XML files. DTD is an effective method to control the correctness of the XML document format. By comparing the definition of the XML document and the DTD file, it can be judged whether the document conforms to the specification, and whether the label or element is used correctly. XML files provide a data exchange carrier for applications. The role of DTD files is to make XML files a specific data exchange standard, because different groups only need to define standard DTDs, and other groups can rely on DTDs. Establish standard format XML files and verify them, so as to establish data format standards and perform data interaction on the network. The content of the defined DTD file is shown in Table 1.

表1模糊自适应逻辑的XML存储格式Table 1 XML storage format of fuzzy adaptive logic

在模糊自适应逻辑持久化存储模块的菜单中,提供了相应的导出(写)、载入(读)操作菜单项。导出操作首先将编辑环境中的模糊自适应规则、语言变量模糊分割、隶属度函数等数据进行标准的树状化处理,然后将这个树结构信息写入到XML文件中。载入操作是导出操作的逆过程,即从XML文件中解析出模糊自适应逻辑的相应信息,并将这些信息在图形化的自适应逻辑编辑环境中进行显示。In the menu of the fuzzy adaptive logic persistent storage module, corresponding export (write) and load (read) operation menu items are provided. In the export operation, the fuzzy adaptive rules in the editing environment, the fuzzy segmentation of language variables, the membership function and other data in the editing environment are processed in a standard tree form, and then the tree structure information is written into the XML file. The loading operation is the reverse process of the export operation, that is, the corresponding information of the fuzzy adaptive logic is parsed from the XML file, and the information is displayed in the graphical adaptive logic editing environment.

图4为模糊自适应Aspect设施自动生成模块的实现原理。支撑系统专门提供了模糊自适应Aspect设施自动生成模块,实现在完成模糊自适应逻辑的测试仿真之后,生成模糊自适应相关Aspect设施。该模块在实现上采用了面向对象思想,设计有专门的Aspect代码生成类,其首先从编辑环境中获取模糊自适应逻辑相关信息,然后依据用户的预定义配置(如自适应设施类名、生成路径),一次性批量生成模糊感知器、模糊自适应器、模糊执行器等三个Aspect和一个数据黑板对象。Figure 4 shows the realization principle of the automatic generation module of the fuzzy adaptive Aspect facility. The supporting system specially provides the automatic generation module of fuzzy self-adaptive Aspect facilities, which realizes the generation of fuzzy self-adaptive related Aspect facilities after the test simulation of fuzzy self-adaptive logic is completed. This module adopts object-oriented thinking in its implementation, and has a special Aspect code generation class designed. It first obtains the relevant information of fuzzy adaptive logic from the editing environment, and then according to the user's predefined configuration (such as adaptive facility class name, generated Path), generate three Aspects including fuzzy perceptron, fuzzy adaptor, and fuzzy executor and a data blackboard object in batches at one time.

图5为模糊自适应Aspect设施间数据通信实现机制。数据黑板是用来为被植入到目标软件内部的模糊感知器对象、模糊自适应器对象和模糊自适应器对象之间进行通信和数据交换的软件设施,也可称之为软件总线,用于管理模糊自适应的流程。静态类R起到了软件总线的作用,它内部维护了两个消息队列Input队列和Output队列,其中Input队列存放输入的传感值,Output队列存放模糊自适应决策的结果。Fig. 5 is the implementation mechanism of data communication between fuzzy adaptive Aspect facilities. The data blackboard is a software facility for communication and data exchange between fuzzy sensor objects, fuzzy adaptor objects and fuzzy adaptor objects embedded in the target software. It can also be called a software bus. for managing fuzzy adaptive processes. The static class R plays the role of a software bus. It internally maintains two message queues, the Input queue and the Output queue. The Input queue stores the input sensor values, and the Output queue stores the results of fuzzy adaptive decision-making.

图6为利用模糊自适应Aspect设施自动生成模块实现模糊自适应时生成Aspect相关文件的过程。在支撑系统中,提供有Aspect生成菜单项,点击该菜单项就弹出Aspect预配置对话框,在该对话框中允许用户自定义将要生成的模糊自适应器(FuzzyAdpator)、模糊感知器(FuzzySensor)、模糊执行器类(FuzzyActuator)、数据黑板类等的名称,以及Aspect相关文件的保存路径。上述工作完成之后,点击对话框中的“OK”按钮,就可自动批量生成Aspect等文件。Figure 6 shows the process of generating Aspect-related files when using the automatic generation module of the fuzzy adaptive Aspect facility to realize fuzzy self-adaptation. In the support system, there is an Aspect generation menu item. Clicking this menu item will pop up the Aspect pre-configuration dialog box, in which the user is allowed to customize the fuzzy adaptor (FuzzyAdpator) and fuzzy sensor (FuzzySensor) to be generated. , the name of the fuzzy actuator class (FuzzyActuator), the data blackboard class, etc., and the save path of Aspect-related files. After the above work is completed, click the "OK" button in the dialog box to automatically generate Aspect and other files in batches.

本发明提供了一种基于上述软件模糊自适应支撑系统的软件模糊自适应的可视化编辑与自动化生成方法。图7示意了该方法的基本步骤,包括确定模糊自适应需求(Specifying SFSA Requirements)、模糊化自适应变量(Fuzzifying SFSA Variables)、编辑模糊自适应策略(Editing SFSA Policies)、测试模糊自适应逻辑(Testing SFSALogic)、生成模糊自适应Aspect(Generating SFSA Aspects)和编织模糊自适应Aspect(Weaving SFSA Aspects),当每一步骤发现问题,返回到上一步骤进行重新修改和优化。具体为:The invention provides a software fuzzy self-adaptive visual editing and automatic generation method based on the above-mentioned software fuzzy self-adaptive support system. Figure 7 illustrates the basic steps of the method, including determining fuzzy adaptive requirements (Specifying SFSA Requirements), fuzzifying adaptive variables (Fuzzifying SFSA Variables), editing fuzzy adaptive policies (Editing SFSA Policies), testing fuzzy adaptive logic ( Testing SFSALogic), Generating SFSA Aspects (Generating SFSA Aspects) and Weaving Fuzzy Adaptive Aspects (Weaving SFSA Aspects), when problems are found in each step, return to the previous step for re-modification and optimization. Specifically:

步骤1,编辑与仿真测试模糊自适应策略:利用软件模糊自适应可视化编辑与仿真测试模块编辑与仿真测试模糊自适应策略。首先根据模糊自适应需求和模糊自适应目标确定模糊自适应输入、输出变量,然后将模糊自适应变量进行模糊化处理,其次编辑基于模糊规则的模糊自适应策略,然后对编辑好的模糊自适应策略进行语法错误检查,最后对模糊自适应策略进行仿真测试,具体为:Step 1, editing and simulation testing fuzzy self-adaptive strategy: use software fuzzy self-adaptive visual editing and simulation test module to edit and simulate fuzzy self-adaptive strategy. First, determine the fuzzy adaptive input and output variables according to the fuzzy adaptive requirements and fuzzy adaptive goals, then fuzzy the fuzzy adaptive variables, secondly edit the fuzzy adaptive strategy based on fuzzy rules, and then edit the edited fuzzy adaptive The strategy is checked for syntax errors, and finally the fuzzy adaptive strategy is simulated and tested, specifically:

(1)确定模糊自适应需求。明确目标软件的模糊自适应的目标、模糊自适应涉及的输入、输出变量等内容。图8左侧单输入变量(Temperature)和单输出变量(CPU)添加过程的实施例。(1) Determine fuzzy adaptive requirements. Clarify the fuzzy adaptive target of the target software, the input and output variables involved in the fuzzy adaptive, etc. An embodiment of the process of adding a single input variable (Temperature) and a single output variable (CPU) on the left side of Fig. 8 .

(2)模糊化自适应变量。利用支撑系统创建模糊自适应的输入、输出变量,并对每一个变量进行模糊分割、定义每一个模糊语言值得隶属度函数等。图8右侧是对模糊自适应变量Temperature进行两次模糊分割(High和Mid),并为每一个模糊语言值定义隶属度函数的实施例。(2) Fuzzy adaptive variables. Use the support system to create fuzzy adaptive input and output variables, and perform fuzzy segmentation for each variable, and define the membership function of each fuzzy language value. The right side of Fig. 8 is an embodiment in which two fuzzy divisions (High and Mid) are performed on the fuzzy adaptive variable Temperature, and a membership function is defined for each fuzzy language value.

(3)编辑模糊自适应策略。利用支撑系统编辑基于模糊规则的模糊自适应策略,编辑过程中可进行语法错误检查。图8左侧下方是模糊自适应策略编辑与测试区,如规则“ifTemperature is Mid then CPU is High”。(3) Edit fuzzy adaptive strategy. The fuzzy self-adaptive strategy based on fuzzy rules can be edited by using the support system, and grammar error checking can be carried out during the editing process. The lower left side of Figure 8 is the fuzzy adaptive strategy editing and testing area, such as the rule "ifTemperature is Mid then CPU is High".

(4)测试模糊自适应逻辑。利用支撑系统对编辑好的模糊自适应逻辑进行图形化仿真和测试,以发现模糊自适应推理中隐含的逻辑错误。图8左侧上方实现对上述9条模糊自适应规则的图形化仿真和测试。(4) Test fuzzy adaptive logic. The edited fuzzy adaptive logic is graphically simulated and tested using the support system to find hidden logic errors in the fuzzy adaptive reasoning. The upper left side of Fig. 8 realizes the graphical simulation and testing of the above nine fuzzy adaptive rules.

步骤2,存储模糊自适应策略:首先利用模糊逻辑基本运算模块对模糊操作子进行配置,然后利用模糊自适应逻辑持久化存储模块设置存储路径,存储上述配置信息和步骤1所述模糊自适应输入、输出变量、模糊自适应规则,实现模糊自适应逻辑的重复利用和共享;Step 2, store the fuzzy adaptive strategy: first use the fuzzy logic basic operation module to configure the fuzzy operator, then use the fuzzy adaptive logic persistent storage module to set the storage path, store the above configuration information and the fuzzy adaptive input described in step 1 , output variables, and fuzzy adaptive rules to realize the reuse and sharing of fuzzy adaptive logic;

步骤3,生成模糊自适应Aspect。当仿真和测试完毕后,利用支撑系统自动生成基于可执行语言(如C++)代码的模糊自适应aspect文件。图6为模糊自适应Aspect设施自动批量生成示意图,该实施例中批量生成13个Aspect相关文件。Step 3, generate fuzzy adaptive Aspect. After the simulation and test are completed, the fuzzy adaptive aspect file based on the executable language (such as C++) code is automatically generated by using the support system. FIG. 6 is a schematic diagram of automatic batch generation of fuzzy adaptive Aspect facilities. In this embodiment, 13 Aspect-related files are generated in batches.

步骤4,编织模糊自适应Aspect。借助通用的Aspect编织工具,如Aspect C++Weaver,将步骤3生成的aspect文件织入到目标软件中,从而在目标软件内部形成了软件模糊自适应环。Step 4, weaving fuzzy adaptive aspect. With the help of a general aspect weaving tool, such as Aspect C++Weaver, weave the aspect file generated in step 3 into the target software, thus forming a software fuzzy adaptive loop inside the target software.

本发明提供的软件模糊自适应逻辑支撑系统和开发方法,以控制领域中一种可扩展的模糊控制软件系统(如Fuzzylite)为基础,结合软件工程中的AOP(面向方面编程)和OOP(面向对象编程)等技术来构造软件模糊自适应支撑系统。系统提供可视化的图形界面来编辑模糊自适应逻辑,让软件自适应开发人员直观地看到模糊逻辑执行效果,并方便对模糊逻辑的各项参数和设置进行修改,然后对于编辑好的模糊逻辑能够直接生成基于Aspect的native语言模糊自适应逻辑源代码,利用Aspect编织器可直接将这些自动的Aspect织入到目标软件中。该系统提供了模糊自适应逻辑的保存和导入功能,并建立了模糊逻辑存储格式的标准,方便不同团体之间的共享。从而能降低了软件模糊自适应的开发难度,为软件模糊自适应开发提供了可视化、自动化的支撑手段,提高了软件开发效率。The software fuzzy adaptive logic support system and development method provided by the present invention are based on a scalable fuzzy control software system (such as Fuzzylite) in the control field, combined with AOP (aspect-oriented programming) and OOP (oriented-oriented programming) in software engineering. Object programming) and other technologies to construct software fuzzy adaptive support system. The system provides a visual graphical interface to edit fuzzy adaptive logic, allowing software adaptive developers to intuitively see the execution effect of fuzzy logic, and conveniently modify the parameters and settings of fuzzy logic, and then edit the fuzzy logic. Directly generate Aspect-based native language fuzzy adaptive logic source code, and use Aspect Weaver to directly weave these automatic Aspects into the target software. The system provides the function of saving and importing fuzzy adaptive logic, and establishes the standard of fuzzy logic storage format, which is convenient for sharing among different groups. Therefore, the development difficulty of software fuzzy self-adaptation can be reduced, a visual and automatic support means can be provided for software fuzzy self-adaption development, and the efficiency of software development can be improved.

Claims (5)

1. a kind of adaptive support system of software obfuscation, it is characterised in that:The support system supports software obfuscation adaptive logic Visual edit is generated with automation, is specifically included:Software obfuscation adaptive visualization editor and emulation testing module, software mould Self-adaptive fuzzy logic persistent storage module, fuzzy self-adaption Aspect facilities automatically-generating module, fuzzy logic basic operation It is adaptively visual that module, fuzzy logic enforcement engine module, wherein fuzzy logic basic operation module are respectively connected to software obfuscation Change editor and emulation testing module, fuzzy logic enforcement engine module, fuzzy self-adaption Aspect facility automatically-generating modules, mould Fuzzy logic enforcement engine module respectively with software obfuscation adaptive visualization editor and emulation testing module, fuzzy self-adaption Aspect facility automatically-generating modules are connected, and software obfuscation adaptive logic persistent storage module and software obfuscation are adaptive Visual edit is connected with emulation testing module, and software obfuscation adaptive visualization editor and the access of emulation testing module are fuzzy Adaptive Aspect facility automatically-generating modules, each module effect is as follows:
It is adaptive that software obfuscation adaptive visualization editor provides the software obfuscation based on field language-specific with emulation testing module Tactful visual edit and test environment are answered, wherein fuzzy self-adaption strategy is carried out in the form of " if-then " fuzzy rule Expression;
Software obfuscation adaptive logic persistent storage module is realized to be entered to the fuzzy self-adaption strategy and relevant configuration that edit Row persistent storage;
Fuzzy self-adaption Aspect facilities automatically-generating module turns the fuzzy self-adaption logic based on field language-specific automatically Turn to based on the Aspect facilities of Native language and a data blackboard object;The data blackboard object is used for Fuzzy Perceptron Model The interaction of Aspect, fuzzy self-adaption device Aspect and fuzzy actuator Aspect in target software;
Basic operation and algorithm of the fuzzy logic basic operation module realization to fuzzy logic are managed;
The total activation of fuzzy logic enforcement engine block supports system, is responsible for explaining fuzzy self-adaption strategy execution, complete Into fuzzy self-adaption reasoning computing;
The Aspect is the meaning of aspect, in being Aspect Oriented Programming this software development pattern Concept, Aspect is the program module being packaged to the crosscutting concerns in software operation logic.
2. the adaptive support system of software obfuscation according to claim 1, it is characterised in that:The software obfuscation is adaptive Logic persistent storage module is realized carries out persistent storage, tool to the fuzzy self-adaption rule and relevant configuration information that edit Body is:
(1) the software obfuscation adaptation rule editted is stored using XML format;
(2) configuration information is stored using XML format, the configuration information includes:Fuzzy reasoning parameter configuration, definition The fuzzy partition of input/output variable and the input/output variable.
3. the adaptive support system of software obfuscation according to claim 1, it is characterised in that:The fuzzy self-adaption Fuzzy self-adaption logic based on field language-specific is automatically converted to be based on native by Aspect facilities automatically-generating module The Aspect facilities of language and a data blackboard object, the Aspect facilities include Fuzzy Perceptron Model Aspect, fuzzy adaptive Device Aspect and fuzzy actuator Aspect are answered, is specially:
(1) module object-oriented, provided with special Aspect code building classes, obtains fuzzy self-adaption logic from editing environment Relevant information;
(2) Fuzzy Perceptron Model disposably generated to the predetermined configuration of adaptive facility class name, store path according to user, obscured Adaptive device, fuzzy three Aspect facilities of actuator and a data blackboard object, the data blackboard object are used for fuzzy sense Know the interaction of device Aspect, fuzzy self-adaption device Aspect and fuzzy actuator Aspect in target software.
4. a kind of adaptive development approach of software obfuscation based on the adaptive support system of software obfuscation described in claim 1, its It is characterised by:This method realizes that software obfuscation adaptive logic visual edit is generated with automation, and step is as follows:
Step 1, software obfuscation adaptive visualization editor and emulation testing module editor and emulation testing fuzzy self-adaption are utilized Strategy:Fuzzy self-adaption input, output variable are determined according to fuzzy self-adaption demand and fuzzy self-adaption target first, then will Fuzzy self-adaption variable carries out Fuzzy processing;Secondly the fuzzy self-adaption strategy based on fuzzy rule is edited, then to editor Good fuzzy self-adaption strategy carries out syntax error inspection;Emulation testing finally is carried out to fuzzy self-adaption strategy;
Step 2, fuzzy self-adaption strategy is stored:Fuzzy operation is matched somebody with somebody first with fuzzy logic basic operation module Put, store path, mould described in storage configuration information and step 1 then are set using fuzzy self-adaption logic persistent storage module Self-adaptive fuzzy input, output variable, fuzzy self-adaption rule, realize the recycling of fuzzy self-adaption logic and share;
Step 3, generation fuzzy self-adaption Aspect:Base is automatically generated using fuzzy self-adaption Aspect facility automatically-generating modules In the fuzzy self-adaption Aspect files of executable language codes;
Step 4, braiding fuzzy self-adaption Aspect:Instrument is woven by general Aspect, the Aspect texts that step 3 is generated Part is woven into target software, so as to be internally formed the adaptive ring of software obfuscation in target software.
5. the adaptive development approach of software obfuscation according to claim 4, it is characterised in that:Using soft described in step 1 Part fuzzy self-adaption visual edit and emulation testing module editor and emulation testing fuzzy self-adaption strategy, be specially:
(1) adaptive dependent variable is determined:Determine to obscure certainly according to fuzzy self-adaption demand and the fuzzy self-adaption target of target software Adaptation input, output variable, are obscured certainly needed for software obfuscation adaptive visualization editor and emulation testing module add one by one Adapt to input, output variable;
(2) the adaptive dependent variable of obfuscation:Step (1) is added with emulation testing module in software obfuscation adaptive visualization editor Plus fuzzy self-adaption input, output variable carry out fuzzy partition, generate multiple fuzzy language values, and be each fuzzy language Value defines membership function;
(3) fuzzy self-adaption strategy is edited:Mould is based in software obfuscation adaptive visualization editor and emulation testing module editor The fuzzy self-adaption strategy of rule is pasted, syntax error inspection then is carried out to the fuzzy self-adaption strategy editted;
(4) fuzzy self-adaption strategy is tested:In software obfuscation adaptive visualization editor and emulation testing module to editting Fuzzy self-adaption strategy is patterned emulation and tested, to find the logic error implied in fuzzy self-adaption reasoning, test Process needs fuzzy logic basic operation module, the support of fuzzy logic enforcement engine module.
CN201410175451.9A 2014-04-28 2014-04-28 A Software Fuzzy Adaptive Support System and Development Method Active CN103955368B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410175451.9A CN103955368B (en) 2014-04-28 2014-04-28 A Software Fuzzy Adaptive Support System and Development Method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410175451.9A CN103955368B (en) 2014-04-28 2014-04-28 A Software Fuzzy Adaptive Support System and Development Method

Publications (2)

Publication Number Publication Date
CN103955368A CN103955368A (en) 2014-07-30
CN103955368B true CN103955368B (en) 2017-08-04

Family

ID=51332644

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410175451.9A Active CN103955368B (en) 2014-04-28 2014-04-28 A Software Fuzzy Adaptive Support System and Development Method

Country Status (1)

Country Link
CN (1) CN103955368B (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104486334A (en) * 2014-12-11 2015-04-01 北京国双科技有限公司 File transmission protocol account addition method and device
CN106411626A (en) * 2015-08-03 2017-02-15 中兴通讯股份有限公司 Test method and device based on DSL network element simulator
CN112346334B (en) * 2019-08-06 2022-01-11 北京东土科技股份有限公司 Configuration method, device, equipment and storage medium of fuzzy control parameters

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1224515A (en) * 1997-02-21 1999-07-28 贝克·休斯公司 Adaptive object-oriented optimized software system
US6807535B2 (en) * 2000-03-08 2004-10-19 Lnk Corporation Intelligent tutoring system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1224515A (en) * 1997-02-21 1999-07-28 贝克·休斯公司 Adaptive object-oriented optimized software system
US6807535B2 (en) * 2000-03-08 2004-10-19 Lnk Corporation Intelligent tutoring system

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
自适应模糊控制方法研究及仿真软件设计;吴泽伟;《中国优秀硕士学位论文全文数据库》;20060601;全文 *

Also Published As

Publication number Publication date
CN103955368A (en) 2014-07-30

Similar Documents

Publication Publication Date Title
Leng et al. Digital twins-based remote semi-physical commissioning of flow-type smart manufacturing systems
US20210081841A1 (en) Visually creating and monitoring machine learning models
US6167406A (en) System, method and article of manufacture for building an enterprise-wide data model
US6157864A (en) System, method and article of manufacture for displaying an animated, realtime updated control sequence chart
EP1849064B1 (en) Applying coding standards in graphical programming environments
US12175212B2 (en) System and method for using a graphical user interface to develop a virtual programmable logic controller
JP6033891B2 (en) Generate state diagram
US20140013313A1 (en) Editor/Development Tool for Dataflow Programs
CN103052943A (en) Source code conversion method and source code conversion program
Shao et al. Modeling and optimization of manufacturing process performance using Modelica graphical representation and process analytics formalism
Tolvanen et al. Advanced tooling for domain-specific modeling: MetaEdit+
Seiger et al. Test modeling for context-aware ubiquitous applications with feature petri nets
CN103955368B (en) A Software Fuzzy Adaptive Support System and Development Method
Ciavotta et al. Interoperable meta model for simulation-in-the-loop
Jena et al. Test case creation from UML sequence diagram: a soft computing approach
Heinecke et al. Generating test plans for acceptance tests from uml activity diagrams
CN114238072B (en) HIL requirement design method, device, computer equipment and storage medium
CN115033221A (en) Software product liability management system and method based on risk evolution network
US20250061043A1 (en) Methods and systems for an intelligent technical debt helper bot
Schou et al. Determining manufacturing system changes based on new product specifications
Neumann et al. Metric-based identification of target conflicts in the development of industrial automation software libraries
Weiß et al. Towards establishing formal verification and inductive code synthesis in the PLC domain
US20230289150A1 (en) System and method for engineering a technical system
Strasser et al. Engineering and validating cyber-physical energy systems: needs, status quo, and research trends
Sharma et al. Using norm analysis patterns for automated requirements validation

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant