基于软件故障注入的系统验证测试评估技术研究

2024-01-10 02:10乔邦江刘彪易泽鹏林镇明廖家旺国营长虹机械厂空军驻桂林地区军事代表室
航空维修与工程 2023年12期
关键词:故障注入武器总线

乔邦江 刘彪 易泽鹏 林镇明 廖家旺/ 国营长虹机械厂 空军驻桂林地区军事代表室

0 引言

当前,综合电子系统的复杂度越来越高,对稳定性的要求更高,系统的故障适应能力需要在系统设计之初考虑清楚。系统出厂前,针对设计之初论证的临界状态以及功能、性能超限等技术指标,需要采用故障注入技术模拟故障测试环境,进行系统的故障适应性分析,验证系统的容错性能和系统的可靠性;系统出厂后,由于工作在特殊、恶劣的环境下,常常出现一些无法预测的随机故障,一般通过主动向目标系统注入标准激励信号,观察系统在标准激励信号下的响应,查看能否重现测试中的故障,以帮助提升故障定位的准确率和故障处理效果。

故障注入技术作为测评系统容错机制的有效性方法,已经在航空航天、飞行器控制、商业交易以及通信等领域广泛应用。故障注入技术可以分为基于物理硬件的实现方法和基于软件的实现方法。硬件故障注入技术易使系统造成永久性损坏,且无法评测系统的软件故障;软件故障注入技术通常可注入的故障范围更广,既可以模拟系统的硬故障又可以模拟系统的软故障,且不会对系统硬件产生任何形式的破坏,还具有方便地跟踪目标操作系统执行情况并实现数据处理的特点。软件故障注入成为故障注入技术的发展方向与研究热点[1],引起各国研究者的广泛关注。

本文通过分析国内外基于软件故障注入技术的研究现状及其发展趋势,开展软件故障注入技术方法调研,归纳总结软件故障注入技术在不同应用领域的研究情况。该研究成果可为航空航天领域应用该项技术对装备武器系统、无人机飞行控制系统和装备总线通信系统的可靠性评估提供参考。

1 研究现状及其发展趋势

故障是指在系统运行过程中导致或可能导致系统故障的缺陷。故障注入是指人为地有意识地通过特定的故障模型产生故障,在特定工作负载的目标系统上运行,加速系统故障和错误的发生,同步观察目标系统的反馈信息,并对收集到的信息进行分析,从而得到相关的评价结果。因此,故障注入成为一种评价系统可靠性的有效方法。

软件故障注入是一种模拟目标系统硬件或软件故障的方法,通过修改内存映像来实现,分为静态和动态两种方式。在程序运行前将故障代码嵌入到程序中,称之为静态模式,根据程序运行时的数据判断结果是否存在故障;在程序运行过程中进行故障实时注入的则称为动态故障注入。

运行前的软件故障注入方法需要修改程序源代码,包括修改赋值语句和进程结构以实现故障注入,然后将程序重新编译并运行,通过监控程序运行过程中的数据分析结果,评估注入的故障是否符合要求,从而诊断故障[2]。运行中的软件故障注入方法不需要对程序源代码进行修改,也不需修改赋值语句及程序的逻辑结构。在程序执行过程中,将错误数据插入到程序中,监视其执行状态以获取必要的数据,根据获取的数据判断程序是否存在问题或出现故障。

与运行前的软件故障注入方法相比,研究运行中的软件故障注入方法更具实际意义,主要原因如下。

1)运行前的软件故障注入方法需要多次对源代码进行更改,以检测程序中是否存在故障。这种方法过于复杂烦琐,不易一步到位。

2)修改源代码中的赋值语句或逻辑结构,可能影响程序的行为,导致程序出现错误或异常;可能导致程序在发生故障时产生不同的数据,难以诊断故障问题。

基于软件方法实现的故障注入技术的研究正在向以下几个方面发展。

1)研究并应用不同的故障注入方法,如将硬件故障注入与软件故障注入方法相结合,构建实用的注入工具,并将理论应用于实践[3]。

2)在分布式系统与网络设计中,运用宏观层次的软件故障注入策略。

3)对改进现有的采样技术、参数估计和建模方法的研究,可以降低故障注入测试的实际运行时间和经济成本,提高评估结果的准确性[4]。

4)将设计阶段与评估阶段使用的故障注入方式相结合,并将故障注入方法与现场测量和建模相结合。

5)改进现有的软件故障注入方法,以实现特定时间和地点的故障数据注入。

6)故障注入测试正在向错误注入自动化和智能化、错误注入反馈智能化、错误注入结果分析和评估智能化方向发展[5]。

2 软件故障注入技术应用领域研究

2.1 软件故障注入技术在武器装备系统中的应用研究

由于武器系统本身的设计论证涉及测量和控制技术、红外技术、图像技术、电源技术、总线技术、激光技术、毫米波技术以及电气、光学和运动学等学科的方方面面,以及数字无刷伺服、气动/推力矢量控制、红外成像制导等新技术的应用,因此很难在武器系统发生故障后找到故障的真正原因。将故障注入技术应用于武器系统,为武器系统的故障诊断、隔离和定位提供了有效手段,极大地促进了武器系统的开发、测试和性能评估。

一些武器设计总体单位已经将故障注入技术应用于装备武器系统设计中。例如,航空研究所采用软件方法测试装备武器系统的信息交互故障(包含武器与外部设备以及武器内部之间),验证装备武器系统的工作能力,如图1 所示,虚线框内为装备武器系统,即目标系统,目标系统的正常通信信号被引出至故障注入系统,经注入故障后再送回到目标系统中[6]。

武器故障注入系统可以从物理层、电气层和协议层三个层面进行故障注入,具有实时数据传输能力,可以阻断和收集武器的各种信息交换通道,可以在实时注入故障的同时生成各种信号,不影响武器测试的实时性能。具体功能如下。

图1 装备武器系统故障注入原理图

1)故障设置功能。可以灵活设置各种故障,涵盖设备和武器系统中的各种常见故障。根据设备和武器系统中通信数据所代表的实际物理意义,数据故障分为三类:通信量故障、连续量故障和开关量故障。设备和武器系统中的故障包含十余种故障模式和近百种故障编号。

2)故障注入功能。该故障注入系统可以在特定时间、特定故障位置注入指定数量的故障。故障注入的开始时间、持续时间、结束时间、重复时间和注入周期可以根据故障模型确定。在故障注入过程中实时控制和监控故障的注入状态。该系统还可以根据要求注入瞬态故障、永久故障和间歇性故障。

3)测试结果存储和分析功能。可以将试验数据以文件形式保存,并提供数据分析和处理方法。

4)故障注入系统采用软硬件故障注入方法相结合,从物理、电气和协议层对装备和武器系统进行实时动态故障注入测试,对装备和武器系统的可靠性进行更加全面的评估,对提高武器装备的可靠性起着关键作用[7]。

2.2 软件故障注入技术在无人机飞控系统中的应用研究

飞行控制系统是无人机的核心子系统之一。飞行控制系统一旦发生故障,将造成重大财产损失。若能及时有效地发现故障,可采取一定措施防止重大事故的发生[8]。

基于上述需求,南京航空航天大学和西北工业大学研发了一种无人机飞行控制系统的软件故障注入与故障诊断实时仿真验证平台。该系统具有灵活多变的特点,可以随时在系统的任何地方注入不同类型的故障,快速满足用户的需求,能够在特定条件下快速检测并定位故障,诊断算法的质量。

软件故障注入系统、故障诊断系统和飞行控制系统之间的关系如图2 所示。虚线框代表无人机飞行控制系统或者目标系统。软件故障注入系统和故障诊断系统在无人机飞行控制系统中串联连接。双箭头表示从目标系统提取正常信号到软件故障注入系统的双向过程,并在故障注入后将信号发送回目标系统[9]。双箭头和目标系统的交点表示故障注入节点。

根据机载传感器、执行器、外围设备、综合控制计算机、飞机专用设备之间的通信特点,可将故障注入分为切换故障注入、连续故障注入及通信故障注入三种方式[10]。

连续故障注入通过拉动、移动、短路和断开来改变正确值,从而产生故障数据;开关故障注入通过改变描述载机设备运行状态的二进制位来产生故障值,通常使用设置0、1 和反转的方法;通信故障注入通过修改通信内容来产生故障值。

事件触发机制是在目标系统运行时激活一组故障,生成故障注入序列,并自动将它们注入到系统中[11]。采用事件触发的动态故障注入方法设计的故障注入系统的故障注入测试流程如图3 所示。

无人机的飞行状态受机载设备故障的影响很大。表1 所示的故障注入范例是将故障注入到无人机不同飞行状态下的所有分系统中。故障注入范例与故障注入的统计结果如表2 所示。

试验结果研究表明,将软件故障注入技术应用到无人机飞行控制系统的测试中,对无人机飞行控制系统的故障检测、系统可靠性和容错能力的研究具有重要的指导意义,是评估无人机飞行控制系统性能指标的一种有效手段。

2.3 软件故障注入技术在总线通信系统中的应用研究

控制系统作为整个武器系统的关键组成部分,承担着各子系统间的数据交互。早期,武器控制系统各部分间的信号交互大多采用模拟信号进行。随着通信数据量愈来愈多,传统的信号交互方法逐步被总线通信替代。

图2 飞行控制系统软件故障注入与故障诊断系统原理图

图3 动态故障注入流程

兵器研究所采用故障注入方法,主动向武器系统注入特定总线类型的故障,通过确定系统的响应,实现总线故障的定位和故障排除。为了满足上述需求,该团队研发了一种用于多总线的电气故障注入系统,包括1553B、ARINC 429、RS232、RS422、CAN 总线、以太网和武器系统中常用的其他通信方式,该系统可以实现从电气和协议层的故障注入。

以下故障注入方法可用于RS422、CAN、ARINC 429 和以太网。

1)在RS422 协议层上实施数据位、奇偶校验和停止位的替换以及启动位反转等故障处理,可以实现在RS422 电气层差分信号幅值的调整[12]。

2)在ARINC 429 协议层实施同步报头反转、数据替换和指定比特编码极性等故障处理,可以实现在ARINC 429电气层信号幅值和速率的调整。

3)在CAN 电气层实施终端匹配电阻调整及内部电源故障,可以实现CAN总线的电气层故障注入;在CAN 协议层实施自定义传输波特率和传输错误数据帧故障,可以实现CAN 总线的协议层故障注入[13]。

4)在网络电气层采用直流、正负信号以及TX/RX 差分信号的同时叠加,可以提供叠加的共模电压,采用IP/UDP层或TCP 中报文的错误、消息长度错误或其他故障注入方式,可以实现网络协议层的故障注入[14]。

故障注入系统的总体结构如图4 所示。故障注入单元首先通过通信网络接收来自故障软件的故障命令,并进行相关的故障注入运算,然后再利用故障注入系统,完成对总线上的所有故障的注入;故障注入单元完成了故障注入设备和待测装备和武器控制系统之间的接口交联与数据交互;信息收集单元通过接口信息收集各种信号,并按照ICD 的协议格式分析原始消息;信号采集接口实现对故障注入单元输出信号的采集;故障注入软件用于故障模式设置、测试管理、设备管理等。信号激励和采集设备完成标准信号的产生及目标信号的采集和显示,在故障注入期间可以采用激励信号替换标准信号。

表2 故障注入试验统计结果

图4 故障注入系统架构图

图5 测试系统连接关系图

故障注入系统可以测试系统的多项设计重点,包括CAN 总线及RS422 总线通信链路,该系统可应用CAN 总线完成地面测控单元与武器系统之间的通信,还可应用RS422 通信总线完成综合控制计算机与机载组件之间的通信[15]。系统连接关系图如图5 所示。

该总线电气故障注入系统可针对多种类型的故障向多条总线注入故障。基于总线故障注入原理,可以对多种类型的总线装备武器系统进行实时动态故障注入,从而对武器系统的可靠性进行更加全面的评估。该系统可为未来的总线系统设计提供有效的评估方法,有助于提高武器装备的可靠性水平。

3 总结与展望

本文对软件故障注入技术发展现状和发展趋势进行调研,通过查阅文献,归纳总结软件故障注入技术在不同领域的应用情况,重点分析了软件故障注入技术在装备武器系统、总线通信系统等几个领域的应用。

从故障注入技术在上述领域的应用情况来看,该技术作为评测系统容错性与可靠性的有效手段,已经广泛应用于军事、航空航天和工业控制等领域。将软件故障注入技术应用于软件系统的整体测试中,不但可以观察系统内部的错误传播规律,还可以评估系统的可靠性。为后续单位使用该项技术对飞艇和武器类产品的可靠性评估提供参考。

针对现有的软件故障注入系统可以看出,这些系统都是针对具体项目而专门设计的故障注入系统,因此应用范围具有相对的局限性。未来可以根据相关产品的特点和应用环境等因素,定制特定的软件故障注入系统,为提高产品的设计可靠性提供保障。

猜你喜欢
故障注入武器总线
模拟训练装备故障注入系统研究
SM4算法前四轮约减轮故障注入分析
采用修改-回放原理的1553B故障注入方法
基于PCI Express总线的xHC与FPGA的直接通信
机载飞控1553B总线转以太网总线设计
一张图看懂武器发展史
列车MVB总线故障注入研究
请放下你的武器
退役武器去哪儿了?
多通道ARINC429总线检查仪