CN108932372B - 一种用于在仿真中注入故障的方法 - Google Patents
一种用于在仿真中注入故障的方法 Download PDFInfo
- Publication number
- CN108932372B CN108932372B CN201810614592.4A CN201810614592A CN108932372B CN 108932372 B CN108932372 B CN 108932372B CN 201810614592 A CN201810614592 A CN 201810614592A CN 108932372 B CN108932372 B CN 108932372B
- Authority
- CN
- China
- Prior art keywords
- fault injection
- interface data
- data
- data set
- interface
- 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
- 238000000034 method Methods 0.000 title claims abstract description 43
- 238000004088 simulation Methods 0.000 title claims abstract description 29
- 238000002347 injection Methods 0.000 claims abstract description 72
- 239000007924 injection Substances 0.000 claims abstract description 72
- 230000003993 interaction Effects 0.000 claims abstract description 13
- 238000013178 mathematical model Methods 0.000 claims abstract description 13
- 230000000977 initiatory effect Effects 0.000 claims abstract description 3
- 238000013515 script Methods 0.000 claims description 4
- 238000003491 array Methods 0.000 claims description 2
- 238000004590 computer program Methods 0.000 claims description 2
- 238000012360 testing method Methods 0.000 abstract description 7
- 238000004458 analytical method Methods 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 4
- 230000000712 assembly Effects 0.000 description 2
- 238000000429 assembly Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007175 bidirectional communication Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
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
- G05B17/00—Systems involving the use of models or simulators of said systems
- G05B17/02—Systems involving the use of models or simulators of said systems electric
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明涉及一种用于在仿真中注入故障的方法,该方法包括下列步骤:发起仿真目标与数学模型的交互;使接口数据组中的数据向前移位一个位置,其中所述接口数据组包括n个位置,其中n为正整数;把在此次交互中获取的交互数据读取到第n个位置;确定接口数据故障注入单是否为空,其中所述接口数据故障注入单为队列并且描述以何种方式对哪个接口数据进行故障注入;在接口数据故障注入单不为空的情况下,从接口数据故障注入单中读取第一个元素;以及执行故障注入。通过该方法,可以以高度安全、可靠的方式注入故障,同时获取到真实环境不能/不易获取的数据,从而不仅保障了测试数据来源,而且拓展了测试分析面。
Description
技术领域
本发明总体上涉及可靠性验证技术领域,具体而言涉及一种用于在仿真中注入故障的方法。
背景技术
全数字闭环仿真系统通常由仿真目标以及数学模型两部分构成,其中仿真目标所需要的虚拟物理环境由数学模型来提供。两者通过数据交互构成所谓闭环仿真系统。在实际应用中,为研究仿真对象在不同场景下的运行特征,常常通过向闭环仿真系统注入故障达成。故障注入的位置是多变的,可包含仿真目标、数学模型以及两者接口。
全数字闭环仿真数学模型是真实硬件测试环境的辅助,可以模拟真实硬件所不具备的故障环境。现有的全数字仿真环境故障注入也依赖真实硬件,针对不同的设备或平台,全数字仿真环境故障注入也需要一一建模,这会消耗大量的人力和计算资源。另外,现有的全数字仿真环境故障注入只能对单一性的故障进行操作,而没有对故障组合或复杂故障进行模拟的能力,因此不能较好地为真实测试提供测试环境模拟。
发明内容
本发明的任务是提供一种用于在仿真中注入故障的方法,通过该方法,可以以高度安全、可靠的方式注入故障,同时获取到真实环境不能/不易获取的数据,从而不仅保障了测试数据来源,而且拓展了测试分析面。
根据本发明,前述任务通过一种用于在仿真中注入故障的方法来解决,该方法包括下列步骤:
发起仿真目标与数学模型的交互;
使接口数据组中的数据向前移位一个位置,其中所述接口数据组包括n个位置,其中n为正整数;
把在此次交互中获取的交互数据读取到第n个位置;
确定接口数据故障注入单是否为空,其中所述接口数据故障注入单为队列并且描述以何种方式对哪个接口数据进行故障注入;
在接口数据故障注入单不为空的情况下,从接口数据故障注入单中读取第一个元素;以及
执行故障注入。
在本发明的一个优选方案中规定,n=3。通过该优选方案,可以对三次最近的接口数据进行缓存,从而保证能够通过接口数据提供接口数据的变化量以及变化率,并且不显著提高数据存储量。
在本发明的一个扩展方案中规定,接口数据组为存储在缓存中的环形队列。接口数据组例如可以存储在(环形)移位寄存器中以保证读取速度。当然,接口数据组也可以存储在其它存储设备、例如随机存取存储器、闪存等等中。
在本发明的一个优选方案中规定,该方法还包括步骤:
根据所读取的接口数据故障注入单的元素在故障注入模型库中查找相应的故障注入方法,其中故障注入模型库中存放有脚本形式的故障注入方法。
通过该优选方案,可以方便地提供故障注入方法的脚本。
在本发明的一个扩展方案中规定,所述接口数据组包括驱动数据组和/或反馈数据组,其中所述驱动数据组和反馈数据组均为一维数组。
在本发明的另一方面,前述任务通过一种机器可读存储介质来解决,该存储介质具有存储在其上的计算机程序,所述计算机程序被配置为执行根据本发明的方法。
本发明至少具有下列有益效果:
(1)实现了一种较为通用的方式描述形式目的多样的故障注入目的,可以较快的搭建数学模型故障注入。
(2)能够为故障注入方法提供某接口数据的变化量以及变化率,配合输入的时间参数,可以进行基于时间的故障注入;
(3)合并驱动信息与反馈信息,并同时输入故障模型,能够进行关联接口参数联合故障注入;
(4)该故障模型中,为多输入多输出模式,能够提供更为通用的模型描述。
附图说明
下面结合附图参考具体实施例来进一步阐述本发明。
图1示出了全数字闭环仿真系统的基本模型;
图2示出了驱动数据、反馈数据和接口数据的示意图;
图3示出了用于故障注入的数据结构的示意图;以及
图4示出了故障注入过程的流程图。
具体实施方式
应当指出,各附图中的各组件可能为了图解说明而被夸大地示出,而不一定是比例正确的。在各附图中,给相同或功能相同的组件配备了相同的附图标记。
在本发明中,各实施例仅仅旨在说明本发明的方案,而不应被理解为限制性的。
在本发明中,除非特别指出,量词“一个”、“一”并未排除多个元素的场景。
在此还应当指出,在本发明的实施例中,为清楚、简单起见,可能示出了仅仅一部分部件或组件,但是本领域的普通技术人员能够理解,在本发明的教导下,可根据具体场景需要添加所需的部件或组件。
图1示出了全数字闭环仿真系统的基本模型100。
如图1所示,在仿真目标101与数学模型102之间存在双向通信接口106,其中仿真目标101向数学模型102输入驱动信息105,而数学模型102向仿真目标101输出反馈信息103。两者按照一定的规律(如为了模拟某个具体场景而设置的交互行为),周期性交互数据。在本申请中,将反馈信息103和驱动信息105统称为接口数据,它们的所在位置为接口。故障注入方法,即对接口数据的故障注入方法。
图2示出了驱动数据、反馈数据和接口数据的示意图。
接口数据201分为驱动数据201和反馈数据202,它们形式上例如均可以为1维数组。根据本发明的故障注入方法,同时适用于两者,因此统一称为接口数据。
下面详细描述根据本发明的故障注入方法。
故障是指某些接口数据按照某种规律变化。将此规律变化下的接口数据替代原本数据,完成故障注入。
在本实施例中,以接口数据组包括三个位置、即n=3来描述故障注入方法。但是应当指出,n也可以为其它正整数、例如4个位置。
故障注入过程,可以认为是某时刻,根据当前以及前几次的接口数据(在此,n=3,因此为当前和前两次),按照某种方式产生修改后的接口数据,如下式描述。
其中有输入Vt-2,Vt-1,Vt分别为前2次与当此接口数据集合,Pt为当此故障注入所需其它参数,t为本次时刻;fj为第j个故障注入方法;输出为本次接口数据的故障注入结果。故障注入过程包括采集例如包括当前接口数据在内的3次接口数据的集合,同时输入必要参数与时刻,通过故障运算方法,获得当次携带故障分量的接口数据。
图3示出了用于故障注入的数据结构的示意图。
接口数据203保存包括当次数据在内的n次(在此为3次)接口数据集合,这n者可以采用环形队列,以提高切换速率。例如,接口数据203可以保存在缓存中。接口数据故障注入单301也可以为队列,以用于存放需要进行故障注入的接口数据以及故障注入方法、即描述以何种方式对哪个接口数据进行故障注入。故障注入模型库302则存放以脚本形式存在的故障注入方法。
图4示出了故障注入过程的流程图。在此,仍以n=3为例进行说明。应当指出,该方法同样适用于n为其它正整数的场景。
当仿真目标与数学模型交互发起时,首先轮转接口数据,即将前次即时间t的接口数据标记为时间t-1的接口数据,将时间t-1的接口数据标记为时间t-2的接口数据,并将时间t-2的接口数据标记为时间t的接口数据。
然后,将获取的此次交互数据填入标记为t的接口数据缓存。
随后,判定故障注入单是否为空:若否,则提取表单中的首条故障注入,以确定以何种方式对哪个接口数据进行故障注入。
然后可选地从故障注入模型库中提取故障注入方法。
之后,按照前面描述的方式,执行故障注入过程,结束后继续判定是否全部故障注入已经执行完毕。
当故障注入单为空时,故障注入结束(或无需进行故障注入),继续仿真目标与数学模型的交互过程。
本发明的特点至少在于:(1)首先可以用一种较为通用的方式描述形式目的多样的故障注入目的;(2)在数学上,通过提供多次、如3次接口数据集合,能够为故障注入方法提供某接口数据的变化量以及变化率,配合输入的时间参数,可以进行基于时间的故障注入;(3)合并驱动信息与反馈信息,并同时输入故障模型,能够进行关联接口参数联合故障注入;(4)故障模型中,为多输入多输出模式,能够提供更为通用的模型描述。
虽然本发明的一些实施方式已经在本申请文件中予以了描述,但是对本领域技术人员显而易见的是,这些实施方式仅仅是作为示例示出的。本领域技术人员可以想到众多的变型方案、替代方案和改进方案而不超出本发明的范围。所附权利要求书旨在限定本发明的范围,并藉此涵盖这些权利要求本身及其等同变换的范围内的方法和结构。
Claims (5)
1.一种用于在仿真中注入故障的方法,包括下列步骤:
发起仿真目标与数学模型的交互;
使接口数据组中的数据向前移位一个位置,其中所述接口数据组包括n个位置,其中n为正整数;
把在此次交互中获取的交互数据读取到第n个位置;
确定接口数据故障注入单是否为空,其中所述接口数据故障注入单为队列并且描述以何种方式对哪个接口数据进行故障注入;
在接口数据故障注入单不为空的情况下,从接口数据故障注入单中读取第一个元素;以及
执行故障注入,其中所述故障注入过程是某时刻,根据当前第n个位置以及前n-1个位置的接口数据产生修改后的接口数据,其中n=3。
2.根据权利要求1所述的方法,其中接口数据组为存储在缓存中的环形队列。
3.根据权利要求1所述的方法,其中该方法还包括步骤:
根据所读取的接口数据故障注入单的元素在故障注入模型库中查找相应的故障注入方法,其中故障注入模型库中存放有脚本形式的故障注入方法。
4.根据权利要求1所述的方法,其中所述接口数据组包括驱动数据组和/或反馈数据组,其中所述驱动数据组和反馈数据组均为一维数组。
5.一种机器可读存储介质,其具有存储在其上的计算机程序,所述计算机程序被配置为执行根据权利要求1至4之一所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810614592.4A CN108932372B (zh) | 2018-06-14 | 2018-06-14 | 一种用于在仿真中注入故障的方法 |
CN202310396018.7A CN116382117A (zh) | 2018-06-14 | 2018-06-14 | 一种用于在仿真中注入故障的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810614592.4A CN108932372B (zh) | 2018-06-14 | 2018-06-14 | 一种用于在仿真中注入故障的方法 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310396018.7A Division CN116382117A (zh) | 2018-06-14 | 2018-06-14 | 一种用于在仿真中注入故障的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108932372A CN108932372A (zh) | 2018-12-04 |
CN108932372B true CN108932372B (zh) | 2023-04-25 |
Family
ID=64446490
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310396018.7A Pending CN116382117A (zh) | 2018-06-14 | 2018-06-14 | 一种用于在仿真中注入故障的方法 |
CN201810614592.4A Active CN108932372B (zh) | 2018-06-14 | 2018-06-14 | 一种用于在仿真中注入故障的方法 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310396018.7A Pending CN116382117A (zh) | 2018-06-14 | 2018-06-14 | 一种用于在仿真中注入故障的方法 |
Country Status (1)
Country | Link |
---|---|
CN (2) | CN116382117A (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103873448A (zh) * | 2012-12-17 | 2014-06-18 | 北京旋极信息技术股份有限公司 | 一种嵌入式系统高速互联规范协议解析方法及系统 |
CN105354399A (zh) * | 2015-12-14 | 2016-02-24 | 北京航空航天大学 | 一种基于故障机理的液压伺服机构多学科可靠性建模方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5475624A (en) * | 1992-04-30 | 1995-12-12 | Schlumberger Technologies, Inc. | Test generation by environment emulation |
US7181382B2 (en) * | 2003-05-08 | 2007-02-20 | Microsoft Corporation | System and method for testing, simulating, and controlling computer software and hardware |
US8051346B2 (en) * | 2009-02-25 | 2011-11-01 | Cisco Technology, Inc. | Fault injection |
CN104834226B (zh) * | 2015-04-22 | 2017-06-20 | 上海微小卫星工程中心 | 一种数字卫星仿真系统及数字卫星状态快速切换方法 |
-
2018
- 2018-06-14 CN CN202310396018.7A patent/CN116382117A/zh active Pending
- 2018-06-14 CN CN201810614592.4A patent/CN108932372B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103873448A (zh) * | 2012-12-17 | 2014-06-18 | 北京旋极信息技术股份有限公司 | 一种嵌入式系统高速互联规范协议解析方法及系统 |
CN105354399A (zh) * | 2015-12-14 | 2016-02-24 | 北京航空航天大学 | 一种基于故障机理的液压伺服机构多学科可靠性建模方法 |
Also Published As
Publication number | Publication date |
---|---|
CN116382117A (zh) | 2023-07-04 |
CN108932372A (zh) | 2018-12-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102302609B1 (ko) | 신경망 아키텍처 최적화 | |
US9412065B1 (en) | Training a model using parameter server shards | |
US11080587B2 (en) | Recurrent neural networks for data item generation | |
AU2021240156B2 (en) | Quantum Control Pulse Generation Method And Apparatus, Device, And Storage Medium | |
WO2018081563A1 (en) | Neural architecture search | |
KR102156439B1 (ko) | 클라우드-엣지 시스템 및 이의 데이터 처리 방법 | |
Ovsyannikov et al. | Scientific workflows at datawarp-speed: Accelerated data-intensive science using nersc's burst buffer | |
US9589087B2 (en) | Verification environments utilizing hardware description languages | |
US20220100642A1 (en) | Hierarchical framework for creating restful web services test cases | |
US10970465B2 (en) | Web page manipulation | |
CN107729231A (zh) | 一种基于操作系统的故障注入方法及装置 | |
JP2015026184A (ja) | 故障シミュレーション方法およびその装置 | |
CN109273039A (zh) | 一种闪存器的擦除验证设备和方法 | |
CN117872102B (zh) | 测试向量精简方法、装置、设备及计算机可读介质 | |
CN108932372B (zh) | 一种用于在仿真中注入故障的方法 | |
Saadawi et al. | Verification of real-time DEVS models | |
CN116009889A (zh) | 深度学习模型的部署方法、装置、电子设备及存储介质 | |
CN113127331A (zh) | 一种基于故障注入的测试方法、装置及计算机设备 | |
CN107783904A (zh) | 单元测试桩去重方法、装置、计算机可读存储介质及设备 | |
CN107291439A (zh) | 一种目标增量数据构建方法及装置 | |
US11550574B2 (en) | Generating a vector predicate summary | |
CN114510592A (zh) | 图像分类方法、装置、电子设备及存储介质 | |
Mandrioli et al. | Dynamic models for the formal verification of big data applications via stochastic model checking | |
US10437716B2 (en) | Method and apparatus for coverage analysis of SRT look-up table | |
CN117114087B (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 |