CN110531963A - 一种基于数据的工业软件***行为模型还原方法 - Google Patents
一种基于数据的工业软件***行为模型还原方法 Download PDFInfo
- Publication number
- CN110531963A CN110531963A CN201910802236.XA CN201910802236A CN110531963A CN 110531963 A CN110531963 A CN 110531963A CN 201910802236 A CN201910802236 A CN 201910802236A CN 110531963 A CN110531963 A CN 110531963A
- Authority
- CN
- China
- Prior art keywords
- data
- model
- state machine
- finite state
- industrial
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/35—Creation or generation of source code model driven
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种基于数据的工业软件***行为模型还原方法,属于工业软件领域,包括步骤为:获取运行反馈数据;对数据分析分类,提取构建具有相关性的上层***模型;验证生成***模型是否准确;归纳构成***模块的相应原始数据,生成***的输出;验证是否还存在有相关性的***;整合现有子***模型生成整体***模型。本发明基于已有工业控制软件运行反馈数据,可快速准确完整地构建工业***软件模型;减小整体软件***有限状态机模型的状态空间,简化数据逆向构建***有限状态机的过程;通用性强,可广泛应用于工业***建模,结合基本单元代码驱动功能块封装技术,可迅速转换为工业***控制代码。
Description
技术领域
本发明涉及工业软件领域,尤其涉及一种基于数据的工业软件***行为模型还原方法。
背景技术
现有工业控制***体系庞大,由多部分组件模块组合构成,结构复杂,尤其是其软件***的体系更加繁杂。在缺少源代码的情况下,无法对原有***进改进升级,软件模块无法复用,***维护困难。而且现有的工业控制***模型的构建,通常是由功能需求进行初步分析,撰写需求功能文档,在***开发过程中不断对初始不完善的需求文档进行补充修正,开发过程中持续循环迭代直到构建***符合需求的过程,是一种正向的工控***开发过程。
目前的工控***开发和维护模式,存在以下弊端:
1)缺少源代码的情况下,工业控制***软件无法继续维护;
2)缺少自动模块化构建工业软件***模型的通用方法;
3)正向的***开发流程,消耗大量时间,人力成本,难以满足当下对于工业控制***快速更新,变化的需求。
因此,本领域的技术人员致力于开发一种基于数据的工业软件***行为模型还原方法,基于已有***运行数据,逆向还原工业软件***有限状态机模型。
发明内容
有鉴于现有技术的上述缺陷,本发明所要解决的技术问题是在缺少源代码的情况下,缩减工业控制软件***模型的构建周期,降低***开发的多种成本,充分利用现有工业控制软件的代码模块与反馈数据,提高还原***模型的可塑性与可扩展性,使得还原软件***模型能迅速简易的生成工业***的控制软件代码。
为实现上述目的,本发明提供了一种基于数据的工业软件***行为模型还原方法,包括以下步骤:
步骤11:获取运行反馈数据;
步骤12:对运行反馈数据分析分类,提取构建具有相关性的上层***模型;
步骤13:验证生成***模型是否准确,如果不准确则返回步骤12,如果准确则继续进行步骤14;
步骤14:归纳构成***模块的相应原始数据,生成***的输出;
步骤15:验证是否还存在有相关性的***,如果存在则返回步骤12,如果不存在,则继续进行步骤16;
步骤16:整合现有子***模型生成整体***模型。
进一步地,生成整体***模型的步骤包括:构建基本模块有限状态机模型,由多个基本模块有限状态机模型构建子***有限状态机模型,由多个子***有限状态机模型构建整体软件***有限状态机模型。
进一步地,模块包括控制逻辑、多个执行单元和多个反馈单元。
进一步地,控制逻辑通过时间流上的输入事件与输入数据进行逻辑判定,决定有限状态机模型的状态跳转。
进一步地,模块的输出包含要生成有限状态机模型的状态信息。
进一步地,构建基本模块有限状态机模型的步骤包括:
步骤21:获取原始数据并转换为布尔数值;
步骤22:分离数据为训练数据与测试数据,由训练数据输出得到可能的***状态;
步骤23:验证生成的状态是否重复,如重复则剪除重复状态继续步骤22,如不重复则继续步骤24;
步骤24:由状态间多组数据分析提取状态间两两跳转条件;
步骤25:根据测试数据验证生成的状态机是否完整准确,如不完整准确则更新数据后返回步骤22,如完整准确则继续进行步骤26;
步骤26:生成基本模块有限状态机模型。
进一步地,原始数据包含布尔数值、事件、非布尔数值。
进一步地,布尔数值直接使用。
进一步地,事件类型根据是否触发转换为布尔数值。
进一步地,非布尔数值首先确定临界值,再根据是否达到临界值转换为布尔数值,具有明确物理含义的根据物理含义确定临界值,不具有明确物理含义的根据已转换数据关系分析确定临界值。
本发明基于已有大量工业控制软件运行反馈数据,可以快速准确完整地构建工业***软件模型;大大减小了整体软件***有限状态机模型的状态空间,简化了数据逆向构建***有限状态机的过程;通用性强,可以广泛的应用于工业***模型构建,结合基本单元代码驱动功能块封装技术,可以迅速转换为工业***控制代码。
以下将结合附图对本发明的构思、具体结构及产生的技术效果作进一步说明,以充分地了解本发明的目的、特征和效果。
附图说明
图1是本发明的有限状态机模型的逆向构建流程图;
图2是本发明工业软件***模块组合模型图;
图3是本发明整体软件***有限状态机模型的逆向构建示意图;
图4是本发明数据处理流程示意图;
图5是本发明基本模块有限状态机模型构建流程图;
图6是本发明原始数据转换为布尔类型示意图。
具体实施方式
以下参考说明书附图介绍本发明的多个优选实施例,使其技术内容更加清楚和便于理解。本发明可以通过许多不同形式的实施例来得以体现,本发明的保护范围并非仅限于文中提到的实施例。
在附图中,结构相同的部件以相同数字标号表示,各处结构或功能相似的组件以相似数字标号表示。附图所示的每一组件的尺寸和厚度是任意示出的,本发明并没有限定每个组件的尺寸和厚度。为了使图示更清晰,附图中有些地方适当夸大了部件的厚度。
如图2所示,为工业软件***模块组合模型,其中细箭头表示的为事件流,粗箭头表示的为数据流。工业软件***可视为若干执行单元,若干反馈单元等基本单元代码模块的组合,通过事件流与数据流的输入和***控制逻辑实现软件***的功能。***的控制逻辑通过时间流上的输入事件与输入数据进行逻辑判定,决定整个软件***有限状态机模型的状态(基本单元的状态组合)跳转,即决定需要生成的软件***有限状态机模型的跳转条件,基本单元的输出信息包含要生成软件***的有限状态机模型的状态信息。基本单元代码模块在时间流上的输出(数据和事件)易于得到,通过与***输入(数据和事件)的结合可用于对整个软件***有限状态机的逆向构建。
对于一个复杂***而言,***有限状态机模型的状态数量多,约束条件组合复杂,难以通过数据对整个***状态直接进行分析还原。本发明通过工业***软件基本功能模块的固有状态机模型,层层向上嵌套构建整体***模型可以大大排除***的大部分无效可能状态与跳转约束条件,简化***的逆向构建状态空间。
如图3所示,是本发明整体软件***有限状态机模型的逆向构建示意图。由于基本单元功能块的单一性,通用性功能,其有限状态机模型简易,固有,通用。基本软件功能块的运行反馈数据中包含了模块间的联系信息,通过数据提取,找到相互联系的基本模块,首先构建基本单元功能模块的有限状态机模型。
在构建基本模块有限状态机模型的基础上,通过多个基本模块有限状态机模型的组合,构建子***有限状态机模型。内嵌子***模型的状态由其基本模块模型的状态组合构成,转换条件是***输入事件,输入数据的逻辑判断表达式组合,子***的状态机模型简易,包含的状态及跳转条件判定数据种类都较少,易于由数据提取出确定的状态数,再通过搜索算法遍历有限输入的逻辑组合,代入生成状态机模型进行测试,确认不同状态间的转换条件,从而构建子***有限状态机模型。之后,在已构建的子***有限状态机模型上,对其组成的基本模块数据进行处理,合并子***的输入输出内容,得到子***的整体输入输出数据。
在子***有限状态机模型构建完成的基础上,类似的用该数据进行子***的上层***有限状态机模型的构建,层层向上最终还原出整个软件***的有限状态机模型。
如图4所示,是本发明数据处理流程示意图。基于数据的工业软件***有限状态机模型逆向构建流程中的数据处理过程,始于原有软件***的基本模块数据采集或由功能分析构造数据,获取拟构建功能***的基本模块的输出数据。原始搜集数据经过多层次的分析处理与提取,用于***有限状态机模型多层次生成。首先,原始搜集数据经分析分类,找出基本单元间的相互联系程度,相互联系程度较高的基本单元数据分离出来分析用于提取出子***状态数和跳转条件,用于构建子***有限状态机模型。由子***有限状态机模型状态,分析基本单元原始数据,整合数据提取子***状态输出数据,与***输入数据结合向上层***构建,直至最终提取出整个目标构建***的有限状态机要素,生成***有限状态机模型。
如图5所示,为本发明基本模块有限状态机模型构建流程图,包括以下步骤:
步骤21:获取原始数据并转换为布尔数值,并分析去除重复数据;
步骤22:分离数据为训练数据与测试数据,由训练数据输出得到可能的***状态;
步骤23:验证生成的状态是否重复,如重复则剪除重复状态继续步骤22,如不重复则继续步骤24;
步骤24:由状态间多组数据分析提取状态间两两跳转条件;
步骤25:根据测试数据验证生成的状态机是否完整准确,如不完整准确则更新数据后返回步骤22,如完整准确则继续进行步骤26;
步骤26:生成基本模块有限状态机模型。
如图6所示,为本发明原始数据转换为布尔类型示意图。
工业软件***的原始数据包含布尔数值、事件、非布尔数值等多种类型。在构建有限状态机模型的过程中,布尔类型的数据可以直接使用,其它类型的数据则需要初始化为布尔类型。
事件类型根据是否触发转换为布尔数值。
非布尔数值首先确定临界值,再根据是否达到临界值转换为布尔数值,具有明确物理含义的根据物理含义确定临界值,不具有明确物理含义的根据已转换数据关系分析临界值。
如图1所示,为本发明的有限状态机模型的逆向构建流程图,包括以下步骤:
步骤11:获取运行反馈数据;
步骤12:对运行反馈数据分析分类,分析基本单元状态输出数据,对基本单元间的联系程度进行判定,找出足以构成子***的基本单元组合,提取构建具有相关性的上层***模型,构建内部小型子***。对子***基本单元的数据与***输入条件进行数据处理分析,由分析结果构建子***有限状态机模型。
步骤13:验证生成的***模型是否准确,使用原始数据测试子***状态机模型的准确性。如果模型不准确,更改参数,返回步骤12重新推理,如果准确则继续进行步骤14;
步骤14:归纳构成***模块的相应原始数据,生成***的输出;
步骤15:验证是否还存在有相关性的***,如果存在则返回步骤12,如果不存在,则继续进行步骤16;
步骤16:整合现有子***模型生成整体***模型。由生成子***有限状态机模型与相应组成单元的原始数据处理合并子***的状态数据,用于子***的上层***构建。层层构建直至最终将所有子***状态机模型合并为一个***模型,即为目标生成***的整体模型。由原始输入数据检验构建的整体***的有限状态机模型是否符合原***原始输入输出。完全符合,则成功构建出目标***的有限状态机模型。
本发明基于已有***运行数据,逆向还原工业软件***有限状态机模型。提出了工业软件***有限状态机模型的嵌入组合构建方法,由下向上层层还原所需***的有限状态机模型,降低所需***有限状态机的还原复杂度。
以上详细描述了本发明的较佳具体实施例。应当理解,本领域的普通技术无需创造性劳动就可以根据本发明的构思作出诸多修改和变化。因此,凡本技术领域中技术人员依本发明的构思在现有技术的基础上通过逻辑分析、推理或者有限的实验可以得到的技术方案,皆应在由权利要求书所确定的保护范围内。
Claims (10)
1.一种基于数据的工业软件***行为模型还原方法,其特征在于,包括以下步骤:
步骤11:获取运行反馈数据;
步骤12:对所述运行反馈数据分析分类,提取构建具有相关性的上层***模型;
步骤13:验证生成***模型是否准确,如果不准确则返回步骤12,如果准确则继续进行步骤14;
步骤14:归纳构成***模块的相应原始数据,生成***的输出;
步骤15:验证是否还存在有相关性的***,如果存在则返回步骤12,如果不存在,则继续进行步骤16;
步骤16:整合现有子***模型生成整体***模型。
2.如权利要求1所述的基于数据的工业软件***行为模型还原方法,其特征在于,所述生成整体***模型的步骤包括:构建基本模块有限状态机模型,由多个所述基本模块有限状态机模型构建子***有限状态机模型,由多个所述子***有限状态机模型构建整体软件***有限状态机模型。
3.如权利要求1所述的基于数据的工业软件***行为模型还原方法,其特征在于,所述模块包括控制逻辑、多个执行单元和多个反馈单元。
4.如权利要求3所述的基于数据的工业软件***行为模型还原方法,其特征在于,所述控制逻辑通过时间流上的输入事件与输入数据进行逻辑判定,决定所述有限状态机模型的状态跳转。
5.如权利要求4所述的基于数据的工业软件***行为模型还原方法,其特征在于,所述模块的输出包含要生成的所述有限状态机模型的状态信息。
6.如权利要求2所述的基于数据的工业软件***行为模型还原方法,其特征在于,所述构建基本模块有限状态机模型的步骤包括:
步骤21:获取原始数据并转换为布尔数值;
步骤22:分离数据为训练数据与测试数据,由训练数据输出得到可能的***状态;
步骤23:验证生成的所述状态是否重复,如重复则剪除重复状态继续步骤22,如不重复则继续步骤24;
步骤24:由状态间多组数据分析提取状态间两两跳转条件;
步骤25:根据测试数据验证生成的状态机是否完整准确,如不完整准确则更新数据后返回步骤22,如完整准确则继续进行步骤26;
步骤26:生成基本模块有限状态机模型。
7.如权利要求6所述的基于数据的工业软件***行为模型还原方法,其特征在于,所述原始数据包含布尔数值、事件类型、非布尔数值。
8.如权利要求7所述的基于数据的工业软件***行为模型还原方法,其特征在于,所述布尔数值直接使用。
9.如权利要求7所述的基于数据的工业软件***行为模型还原方法,其特征在于,所述事件类型根据是否触发转换为布尔数值。
10.如权利要求7所述的基于数据的工业软件***行为模型还原方法,其特征在于,所述非布尔数值首先确定临界值,再根据是否达到临界值转换为布尔数值,具有明确物理含义的根据物理含义确定临界值,不具有明确物理含义的根据已转换数据关系分析确定临界值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910802236.XA CN110531963B (zh) | 2019-08-28 | 2019-08-28 | 一种基于数据的工业软件***行为模型还原方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910802236.XA CN110531963B (zh) | 2019-08-28 | 2019-08-28 | 一种基于数据的工业软件***行为模型还原方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110531963A true CN110531963A (zh) | 2019-12-03 |
CN110531963B CN110531963B (zh) | 2021-05-07 |
Family
ID=68664812
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910802236.XA Active CN110531963B (zh) | 2019-08-28 | 2019-08-28 | 一种基于数据的工业软件***行为模型还原方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110531963B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113434424A (zh) * | 2021-07-06 | 2021-09-24 | 上海交通大学 | 一种黑盒工业控制***模块化代码还原方法 |
CN116501531A (zh) * | 2023-06-19 | 2023-07-28 | 成都移信通科技有限公司 | 用于监测软件运行数据安全的软件插件配置方法和*** |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
UA77697U (ru) * | 2012-07-30 | 2013-02-25 | Светлана Геннадиевна Михайлова | Способ определения прочности базисов протезов |
CN104050087A (zh) * | 2014-07-04 | 2014-09-17 | 东南大学 | 一种基于uml模型的软件架构正确性验证方法 |
CN105045603A (zh) * | 2015-08-24 | 2015-11-11 | 北京金山安全软件有限公司 | 一种构建有限状态机模型框架的方法、装置及电子装置 |
CN107016214A (zh) * | 2017-04-26 | 2017-08-04 | 上海工程技术大学 | 一种基于有限状态机的参数依赖模型的生成方法 |
CN107566098A (zh) * | 2017-07-24 | 2018-01-09 | 清华大学 | 软件定义网络应用测试序列的生成方法与生成*** |
CN108228455A (zh) * | 2017-12-29 | 2018-06-29 | 北京航空航天大学 | 一种软件控制危险分析方法 |
CN108919672A (zh) * | 2018-07-13 | 2018-11-30 | 华东师范大学 | 一种复杂工业控制***的实现方法 |
-
2019
- 2019-08-28 CN CN201910802236.XA patent/CN110531963B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
UA77697U (ru) * | 2012-07-30 | 2013-02-25 | Светлана Геннадиевна Михайлова | Способ определения прочности базисов протезов |
CN104050087A (zh) * | 2014-07-04 | 2014-09-17 | 东南大学 | 一种基于uml模型的软件架构正确性验证方法 |
CN105045603A (zh) * | 2015-08-24 | 2015-11-11 | 北京金山安全软件有限公司 | 一种构建有限状态机模型框架的方法、装置及电子装置 |
CN107016214A (zh) * | 2017-04-26 | 2017-08-04 | 上海工程技术大学 | 一种基于有限状态机的参数依赖模型的生成方法 |
CN107566098A (zh) * | 2017-07-24 | 2018-01-09 | 清华大学 | 软件定义网络应用测试序列的生成方法与生成*** |
CN108228455A (zh) * | 2017-12-29 | 2018-06-29 | 北京航空航天大学 | 一种软件控制危险分析方法 |
CN108919672A (zh) * | 2018-07-13 | 2018-11-30 | 华东师范大学 | 一种复杂工业控制***的实现方法 |
Non-Patent Citations (1)
Title |
---|
欧阳广等: "《基于软件交互行为日志的动态模型构建》", 《计算机工程与应用》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113434424A (zh) * | 2021-07-06 | 2021-09-24 | 上海交通大学 | 一种黑盒工业控制***模块化代码还原方法 |
CN116501531A (zh) * | 2023-06-19 | 2023-07-28 | 成都移信通科技有限公司 | 用于监测软件运行数据安全的软件插件配置方法和*** |
CN116501531B (zh) * | 2023-06-19 | 2023-09-08 | 成都移信通科技有限公司 | 用于监测软件运行数据安全的软件插件配置方法和*** |
Also Published As
Publication number | Publication date |
---|---|
CN110531963B (zh) | 2021-05-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112100865B (zh) | 基于并行cnn模型的航空发动机剩余寿命预测方法 | |
Thulasidasan et al. | Combating label noise in deep learning using abstention | |
CN104217216A (zh) | 生成检测模型的方法和设备、用于检测目标的方法和设备 | |
CN112088383A (zh) | 神经网络构筑装置、信息处理装置、神经网络构筑方法及程序 | |
CN107784322B (zh) | 异常数据检测方法、装置、存储介质以及程序产品 | |
CN109684190A (zh) | 软件测试装置和方法 | |
CN105447031A (zh) | 训练样本的标注方法及装置 | |
CN104298843A (zh) | 一种基于着色随机Petri网的复杂机构动态级联可靠性建模方法 | |
CN110531963A (zh) | 一种基于数据的工业软件***行为模型还原方法 | |
CN112905997B (zh) | 面向深度学习模型中毒攻击的检测方法、装置及*** | |
CN116610092A (zh) | 用于车辆分析的方法和*** | |
CN110262942A (zh) | 一种日志分析方法及装置 | |
CN117155706B (zh) | 网络异常行为检测方法及其*** | |
CN112580807A (zh) | 一种基于效能评估的神经网络改进需求自动生成方法及装置 | |
CN109656818A (zh) | 一种软件密集***故障预测方法 | |
CN115730947A (zh) | 银行客户流失预测方法及装置 | |
CN112949711B (zh) | 面向软件定义卫星的神经网络模型可复用训练方法、装置 | |
CN101487876B (zh) | 验证向量的优化方法及装置 | |
Karunanithi et al. | Neural networks for software reliability engineering | |
CN116383503B (zh) | 基于对抗学习和序列推荐的知识追踪方法及*** | |
CN102697491A (zh) | 心电图特征波形识别方法和*** | |
CN114743590A (zh) | 基于图卷积神经网络的药物-靶标亲和力预测***、计算机设备、存储介质 | |
CN110673843B (zh) | 一种基于数据的软件模块行为状态机还原方法 | |
Ali et al. | Character recognition by implementing FPGA-based artificial neural network | |
CN112562849B (zh) | 一种基于层次结构和共现结构的临床自动诊断方法及*** |
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 |