CN108932372A - 一种用于在仿真中注入故障的方法 - Google Patents
一种用于在仿真中注入故障的方法 Download PDFInfo
- Publication number
- CN108932372A CN108932372A CN201810614592.4A CN201810614592A CN108932372A CN 108932372 A CN108932372 A CN 108932372A CN 201810614592 A CN201810614592 A CN 201810614592A CN 108932372 A CN108932372 A CN 108932372A
- Authority
- CN
- China
- Prior art keywords
- interface data
- fault location
- direct fault
- data
- data group
- 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
- 238000000034 method Methods 0.000 title claims abstract description 46
- 238000004088 simulation Methods 0.000 title claims abstract description 23
- 230000003993 interaction Effects 0.000 claims abstract description 12
- 238000013178 mathematical model Methods 0.000 claims abstract description 12
- 238000004590 computer program Methods 0.000 claims description 4
- 238000013515 script Methods 0.000 claims description 4
- 238000012360 testing method Methods 0.000 abstract description 7
- 238000004458 analytical method Methods 0.000 abstract description 2
- 238000002347 injection Methods 0.000 description 6
- 239000007924 injection Substances 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 230000004913 activation Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000007613 environmental effect Effects 0.000 description 4
- 239000000243 solution Substances 0.000 description 2
- 230000004888 barrier function Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007175 bidirectional communication Effects 0.000 description 1
- 238000012512 characterization method Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
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个位置。
设:位于i位置的接口数据标记为vi,于是所有接口数据构成接口数据集合V。某时刻t对应的接口数据、以及接口数据集合分别为Vt,于是前一时刻这两者分别为Vt-1。用fi表征针对接口数据vi注入的故障。
故障注入过程,可以认为是某时刻,根据当前以及前几次的接口数据(在此,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 (6)
1.一种用于在仿真中注入故障的方法,包括下列步骤:
发起仿真目标与数学模型的交互;
使接口数据组中的数据向前移位一个位置,其中所述接口数据组包括n个位置,其中n为正整数;
把在此次交互中获取的交互数据读取到第n个位置;
确定接口数据故障注入单是否为空,其中所述接口数据故障注入单为队列并且描述以何种方式对哪个接口数据进行故障注入;
在接口数据故障注入单不为空的情况下,从接口数据故障注入单中读取第一个元素;以及
执行故障注入。
2.根据权利要求1所述的方法,其中n=3。
3.根据权利要求1所述的方法,其中接口数据组为存储在缓存中的环形队列。
4.根据权利要求1所述的方法,其中该方法还包括步骤:
根据所读取的接口数据故障注入单的元素在故障注入模型库中查找相应的故障注入方法,其中故障注入模型库中存放有脚本形式的故障注入方法。
5.根据权利要求1所述的方法,其中所述接口数据组包括驱动数据组和/或反馈数据组,其中所述驱动数据组和反馈数据组均为一维数组。
6.一种机器可读存储介质,其具有存储在其上的计算机程序,所述计算机程序被配置为执行根据权利要求1至5之一所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310396018.7A CN116382117A (zh) | 2018-06-14 | 2018-06-14 | 一种用于在仿真中注入故障的方法 |
CN201810614592.4A CN108932372B (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 true CN108932372A (zh) | 2018-12-04 |
CN108932372B CN108932372B (zh) | 2023-04-25 |
Family
ID=64446490
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810614592.4A Active CN108932372B (zh) | 2018-06-14 | 2018-06-14 | 一种用于在仿真中注入故障的方法 |
CN202310396018.7A Pending CN116382117A (zh) | 2018-06-14 | 2018-06-14 | 一种用于在仿真中注入故障的方法 |
Family Applications After (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) | CN108932372B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0568132A2 (en) * | 1992-04-30 | 1993-11-03 | Schlumberger Technologies, Inc. | Test generation by environment emulation |
US20050015702A1 (en) * | 2003-05-08 | 2005-01-20 | Microsoft Corporation | System and method for testing, simulating, and controlling computer software and hardware |
US20100218058A1 (en) * | 2009-02-25 | 2010-08-26 | Cisco Technology, Inc. | Fault injection |
CN103873448A (zh) * | 2012-12-17 | 2014-06-18 | 北京旋极信息技术股份有限公司 | 一种嵌入式系统高速互联规范协议解析方法及系统 |
CN104834226A (zh) * | 2015-04-22 | 2015-08-12 | 上海微小卫星工程中心 | 一种数字卫星仿真系统及数字卫星状态快速切换方法 |
CN105354399A (zh) * | 2015-12-14 | 2016-02-24 | 北京航空航天大学 | 一种基于故障机理的液压伺服机构多学科可靠性建模方法 |
-
2018
- 2018-06-14 CN CN201810614592.4A patent/CN108932372B/zh active Active
- 2018-06-14 CN CN202310396018.7A patent/CN116382117A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0568132A2 (en) * | 1992-04-30 | 1993-11-03 | Schlumberger Technologies, Inc. | Test generation by environment emulation |
US20050015702A1 (en) * | 2003-05-08 | 2005-01-20 | Microsoft Corporation | System and method for testing, simulating, and controlling computer software and hardware |
US20100218058A1 (en) * | 2009-02-25 | 2010-08-26 | Cisco Technology, Inc. | Fault injection |
CN103873448A (zh) * | 2012-12-17 | 2014-06-18 | 北京旋极信息技术股份有限公司 | 一种嵌入式系统高速互联规范协议解析方法及系统 |
CN104834226A (zh) * | 2015-04-22 | 2015-08-12 | 上海微小卫星工程中心 | 一种数字卫星仿真系统及数字卫星状态快速切换方法 |
CN105354399A (zh) * | 2015-12-14 | 2016-02-24 | 北京航空航天大学 | 一种基于故障机理的液压伺服机构多学科可靠性建模方法 |
Non-Patent Citations (4)
Title |
---|
TIANFU YAO等: "Demonstration of theoretical and experimental simulations in fiber optics course", 《PROC OF SPIE》 * |
张程烨等: "面向星载应用的软件故障注入方法", 《仪器仪表用户》 * |
欧阳高翔等: "全数字仿真及其在卫星在轨维护中的应用", 《系统仿真学报》 * |
董剑等: "面向 S698 处理器的软件故障注入工具研究与实现", 《航天控制》 * |
Also Published As
Publication number | Publication date |
---|---|
CN108932372B (zh) | 2023-04-25 |
CN116382117A (zh) | 2023-07-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Meyer | Performability: a retrospective and some pointers to the future | |
CN102855177B (zh) | 一种单元测试的方法和装置 | |
CN100353327C (zh) | 通过由测试集组成的测试环境来实现产品自动测试的方法 | |
Walker et al. | The ITER plasma control system simulation platform | |
Mural et al. | Dependability modeling and evaluation of phased mission systems: a DSPN approach | |
CN106339312A (zh) | Api测试方法和系统 | |
CN109937418B (zh) | 用于仿真的基于波形的重构 | |
CN101382905A (zh) | 用于虚拟机环境中的仿真设备的开发的系统和方法 | |
CN102999419B (zh) | 一种Android测试事件记录回放方法及装置 | |
CN107547261A (zh) | 云平台性能测试方法及装置 | |
CN104317995A (zh) | 基于PSpice AD电路仿真的单故障自动注入方法 | |
CN109684150A (zh) | 存储颗粒控制器的性能测试系统、测试方法及仿真平台 | |
Walker et al. | A simulation environment for ITER PCS development | |
CN102486749A (zh) | 数据驱动测试方法及系统 | |
CN106407580A (zh) | 基于脚本的规则检测遥控闭锁方法 | |
Masuda et al. | Gillespie algorithms for stochastic multiagent dynamics in populations and networks | |
US8108198B2 (en) | Memory tracing in an emulation environment | |
Thistle | Undecidability in decentralized supervision | |
CN106371849A (zh) | 应用数据的处理方法及装置 | |
CN108932372A (zh) | 一种用于在仿真中注入故障的方法 | |
CN103019931A (zh) | Asn.1接口的检测处理方法和装置 | |
Saadawi et al. | Verification of real-time DEVS models | |
CN110752964B (zh) | 一种网络设备的测试方法及装置 | |
CN109284222A (zh) | 软件单元、数据处理系统中的项目测试方法、装置及设备 | |
CN101013977A (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 |