APP下载

综合模块化航空电子平台网络故障注入策略

2018-10-16孙毅刚刘哲旭

计算机应用 2018年9期
关键词:链路节点案例

孙毅刚,徐 畅,刘哲旭

(1.中国民航大学 航空工程学院,天津 300300; 2.中国民航大学 电子信息与自动化学院,天津 300300)

0 引言

随着技术的发展与人们生活质量的提高,现役民用飞机经常需要进行相应的升级改装,以面对适航安全的要求或是来自客户的个性化需要。新一代客机采用了综合模块化航空电子(Integrated Modular Avionics, IMA)系统,允许应用开发商根据ARINC-653等标准独立开发客户所需的安全、娱乐等航电软件[1],再由系统集成商将应用程序载入IMA模块,与航空电子全双工交换式以太网(Avionics Full Duplex switched Ethernet, AFDX)集成为IMA平台网络[2-3]。IMA平台网络承担了航电系统数据通信、功能交互的重要职能,其良好的可靠性与健壮性是航电软件正确运行的前提,因此,IMA平台网络的测试验证工作是整个航电系统升级改装测试性验证与安全评估的关键[4]。故障注入技术能够在较短的时间内高效地提供丰富、充分的故障现象以供分析,是测试性验证工作中的重要手段[5-6]。传统的故障注入策略,采用简单列举可注入故障类型并依次注入待测试系统的方式,运用到具有复杂通信结构的IMA平台网络时,存在难以选取合适的测试路径、存在大量等效故障与无效故障等问题,使故障注入工作繁琐复杂,测试成本也随之增加[7]。因此,寻找一种能够满足故障注入测试要求,又能最大限度简化测试任务、降低测试成本的故障注入策略,是航电系统测试验证工作中需要解决的关键问题之一。

目前,关于IMA平台网络故障注入的研究普遍是针对IMA模块或AFDX总线本身特性的故障测试。文献[8]通过故障注入的方式对IMA模块自有的健康管理功能进行了验证;文献[9]通过修改数据帧时标与内容的方式进行故障注入,验证了AFDX总线的健壮性与容错性;文献[10]提出一种3+1整合法,提高对AFDX总线的测试速度与测试数据深度。然而,以上研究文献只针对IMA模块与AFDX总线的自身特性进行了故障测试与验证,但未将二者所集成的IMA平台网络作为研究对象,因此难以解决传统故障注入策略运用到IMA平台网络中时测试次数较多、测试时间较长的问题。

针对上述问题,本文提出了一种新的IMA平台网络故障注入策略。通过对传统测试路径选取算法的改进,生成能够覆盖所有通信链路的最优测试路径,保证测试的有序性,并减少了路径中的测试任务数。确定测试路径后,采用建立故障注入测试案例生成模型的方式,排除等效与无效故障,精简了每个测试任务中所需的测试案例的个数。与传统故障注入策略相比,本文方法缩减了测试时间,减少了测试成本,解决了传统策略在测试路径选取与测试案例生成时的无序性与盲目性的问题,可以为航电系统升级改装的安全性验证提供一种高效的数据样本采集方案。

1 问题描述

IMA平台网络的基础结构如图1所示,由发送端、接收端与AFDX双网组成,AFDX数据在发送端进行冗余复制后发送,到达双网AFDX交换机,基于虚拟链路(Virtual Link, VL)配置进行寻址,到达接收端后经完整性检查与冗余校验处理,将数据传递到IMA模块的上一层。

图1 IMA平台网络基础结构

各个IMA模块中加载的应用程序通过AFDX总线进行数据通信,该数据通信过程的配置有效性与容错性是软件正确行使其职能的基础[11]。在如图1所示的双模块IMA平台网络中,只存在一条通信链路,是IMA平台网络通信的最简单形式。

结合IMA平台网络的工作机制,在故障注入策略设计时主要有两方面问题需要解决:

1)采取何种顺序进行故障注入的问题,即故障注入测试路径生成问题。实际应用中的IMA平台网络如图2所示,所连接IMA模块较多,通信链路交联情况复杂。对于复杂通信网络的故障注入顺序应是以确保覆盖所有模块与通信链路为前提,使总测试路径长度最短,即测试任务最少;同时测试方向应与网络通信方向保持统一,以便故障定位。此类问题属于路径优化选取问题,解决方法是结合网络特性使用合适的路径优化算法,求取最优故障注入顺序。

图2 多模块IMA平台网络通信

2)该注入哪些故障的问题,即故障注入测试案例生成问题。IMA平台网络可注入故障较多,若采用传统的故障注入策略,列举所有可注入故障并依次注入,将会花费大量的时间与计算成本;同时,IMA平台网络可注入故障之间存在较多的等效故障,如VL调度时抖动过大与端口配置时转发时延过高,产生的故障现象都为通信延时。进一步考虑到IMA平台网络的双冗余机制,单网注入故障不会在总体上观察到故障现象,例如,向A网注入导致丢帧的故障时,B网正常工作,AFDX总线的冗余管理(RM)机制能够于B网获取正确的数据流,该注入行为属于无效故障注入。如何排除等效与无效故障,生成精简的测试案例,也是IMA平台网络故障注入策略设计中需要解决的问题。

2 故障注入策略设计

针对上述两个问题,采用的故障注入策略对应地分为两个部分:故障注入测试路径设计与故障注入测试案例设计。

2.1 故障注入测试路径设计

IMA平台网络故障注入测试路径设计指的是将IMA模块视为测试路径上的节点,选用合适的方法覆盖网络各节点及节点间的通信链路,生成故障注入顺序。传统的方法是沿用信息学中路径遍历的思路,采用路径覆盖算法对复杂结构进行简化。考虑IMA平台网络通信过程需保证实时性与确定性,路径选取时应尽可能与模块间通信的顺序一致,而单独采用深度优先搜索算法进行路径选取时,每当访问到终止节点或是重复节点,都会回到上一层节点重新选择,这个过程影响了IMA平台网络测试的有序性。同样作为常见的路径遍历算法,基于节点的完全路径覆盖算法[12]所生成的路径都为由初始节点开始,至叶子节点结束的完全测试路径,在一定程度上体现出了测试有序性。

基于节点的完全路径覆盖算法:

步骤1 访问路径的初始节点并标记为当前节点,记层数n=1。

步骤2 寻找当前节点能够到达的其他节点,标记为子节点,记子节点所在层为n=n+1。

步骤3 判断第n层是否有未被访问的节点,若是,跳到步骤4;若否,输出路径覆盖结果,算法结束。

步骤4 访问第n层中未被访问过的节点,若该节点在x(0

步骤5 若第n层中所有节点都已访问,则n=n-1,返回步骤3;否则,返回步骤4。

该算法采用一种类似于深度优先的遍历方式,考虑了IMA平台网络测试所需的有序性,能够使故障注入测试遍历IMA平台网络,生成有效的测试路径,但是该算法反复回到初始节点的过程同时也使测试任务数增多,增加了测试时间与计算成本[13]。作为对实时性有很高要求的动态网络系统,IMA平台网络的测试对象应侧重于模块间的通信链路,且由于单位时间内每段通信链路都有数据帧传递,传统方法中的初始节点与终止节点的概念相对不明显。因此,本文在文献[12]提出的基于变迁的路径覆盖算法的基础上,根据IMA平台网络初始与终止节点不明确等特性进行改进,提出一种基于通信链路的IMA平台网络测试路径优化算法:

定义1 令n为待测试IMA平台网络所连接的模块总数,构建通信链路方阵:Tn×n=(tij),1≤i,j≤n;若第i个模块无法向第j个模块发送消息,令tij=0,否则,tij表示网络中第i个模块向第j个模块发送消息时的通信链路;构建全通信链路集合R,R中的元素为Tn×n中所有非0的tij;构建路径集合W;

步骤1 初始化,令W为空集,i=j=1,计数变量k=1;

步骤2 判断tij是否为0或不属于集合R,若是,跳到步骤3;若否,将tij加入路径集合W,并将tij从R中删除,令i=j,j=1,重新开始步骤2;

步骤3 令j=j+1;判断是否j>n,若是,跳到步骤4;若否,返回步骤2;

步骤4 判断W是否为空集,若是,i=i+1,j=1,返回步骤2;若否,构建集合Yk,令Yk=W,输出Yk,跳到步骤5;

步骤5 判断R是否为空集,若否,令W为空集,i=j=1,k=k+1,返回步骤2;若是,算法结束。

该算法以通信链路作为测试对象,路径选取的过程遵循了IMA平台网络通信的方向,路径选取时因访问到终止节点而跳到其他通信链路的破坏测试有序性的现象较少。该算法生成的测试路径,含有的测试任务数等于IMA平台网络的通信链路数,避免了重复测试的情况。

2.2 故障注入测试案例设计

结合常见的AFDX总线故障注入工具的功能与IMA平台网络的故障传播特性,本文将可注入的故障划分为两个层面:

1)链路层故障。包括VL调度时可能出现的延时与抖动(Jitter),以及帧间隙(Inter-Frame Gap, IFG)异常;造成的故障现象均为所传输数据延时。另外,在AFDX端系统与交换机的配置表中,记录着允许通过的VL的配置参数,如VL工作参数有VL ID、最大与最小帧长、带宽分配间隙(Bandwidth Allocation Gap, BAG)、允许抖动、最大偏移时间(SkewMax)等,端口配置参数有端口号、开关状态、最大缓冲配置、端口延时等。其中,BAG参数过大、SkewMax参数过大、端口缓冲配置不当、端口转发时延过大等故障会造成所传输数据单网延时;帧长超范围、BAG参数过小、SkewMax参数过小、端口关闭等故障造成所传输数据单网丢帧。

2)协议层故障。

IMA平台网络协议层故障表现为数据帧的格式与内容出现异常,包括地址有误、序列号SN有误以及有效载荷有误等,在传输过程中导致寻址错误等问题,影响航电应用程序的正常工作。其中,地址又分为MAC、IP、UDP的目标地址与源地址,其中任一的地址字段出现格式或内容错误,会造成所传输数据单网寻址有误,即目标IMA模块及分区端口接收不到信息,信息丢失或被转发至错误模块与端口;SN有误会造成所传输数据单网次序错误,影响实时性与确定性;有效载荷有误会造成所传输数据误码失实,造成应用程序经由错误的信息产生错误判断,影响适航安全。

本文以上述两个层面中的故障作为待注入故障,通过有色Petri网(Colored Petri Net,CPN)形式化建模方法,建立IMA平台网络测试案例生成模型。其中,将故障注入对象分为4个类型:1)VL调度、2)VL工作参数、3)端口工作参数、4)数据帧格式与内容。所造成的故障现象分为5个方面:1)单网延时、2)单网丢帧、3)单网寻址错误、4)单网次序错误、5)单网有效载荷误码。造成的故障现象相同的故障,即等效故障,在建模时通过编程的方式随机选取其一,在确保覆盖故障现象的前提下,避免重复注入;同时,针对IMA平台网络的冗余双网工作特性,采取的策略为对双网分别生成测试案例。由于单个网络拥有5类故障现象,所以在双网故障集生成中共有25种组合;考虑AB双网属于完全相同的冗余网络,因此通过CPN编程排除其中10种重复的组合方式,最终生成共15种故障现象组合的故障注入测试案例。

3 实例分析

本文所选取研究对象为某半实物仿真IMA平台网络,该网络在正常拥有机载状态监控模块(Airborne Condition Monitor, ACM)、飞行管理计算机(Flight Management Computer, FMC)与飞行数据记录仪(Flight Data Recorder, FDR)三个IMA模块的情况下,加装了机载北斗通信模块(Airborne Beidou Communication Module, ABCM)与机载娱乐系统(In Flight Entertainment, IFE),通过故障注入为进一步的测试性验证工作收集故障数据。该网络的模块间通信交联情况如图3所示。

图3 一种IMA平台网络通信交联情况

3.1 故障注入测试路径生成

3.1.1 传统策略中的测试路径生成方法

采用基于节点的完全路径覆盖算法,对研究对象进行化简,网络中各节点的编号如图5所示。算法输出结果:Y1={1,2,3};Y2={1,2,4};Y3={1,2,5};Y4={1,3,2};Y5={1,3,5};Y6={1,5};Y7={1,4,2};Y8={1,4,5}。该算法共生成8条路径,其中每个路径集合中的元素表示网络中模块的编号,例如,第二条测试路径Y2表示先进行模块1与模块2通信过程的故障注入,再进行模块2与模块4通信过程的故障注入。该算法生成的8条路径共含有2×7+1=15个测试任务。

3.1.2 本文所提策略中的测试路径生成方法

一、从蝴蝶、剪纸、故宫建筑等对称图形入手,借生活中的对称美来感受对联。而后,讲述王羲之、朱元璋、蒲松龄等人巧对故事激发兴趣,具体感受对联的魅力。

采用3.1节提出的基于通信链路的IMA平台网络测试路径优化算法,对研究对象进行化简。构建的通信链路方阵Tn×n如表1所示。

表1 通信链路方阵

算法输出结果:Y1={t12,t23,t32,t24,t42,t25};Y2={t13,t35};Y3={t14,t45};Y4={t15}。得到4条针对该IMA平台网络的故障注入测试路径,其中每个路径集合中的元素表示一个测试任务,例如,第二条测试路径Y2表示的意思是:先进行模块1到模块3的通信过程的故障注入,再进行模块3到模块5通信过程的故障注入。4条测试路径共含11个测试任务。

3.2 故障注入测试案例生成

3.2.1 传统策略中的测试案例生成方法

传统的故障注入策略通过列举所有可注入故障的方式,生成测试案例。本实验所使用故障注入工具支持15种可注入故障,考虑IMA平台网络双网冗余的工作特性,共225种故障组合,测试案例数过大,因此此处对测试案例的选取进行简单的优化:根据每种故障现象选择对应的一种可注入故障,作为故障注入测试案例。根据ARINC-664协议中对故障现象与产生方式的说明[2],选择对应的可注入故障,如表2所示。考虑双网冗余,由单网5个可注入故障可知双网共25种可注入故障组合,即测试案例数为25。

3.2.2 本文所提策略中的测试案例生成方法

在3.1.2节中,通过测试路径优化算法,得到了故障注入测试的具体顺序,即测试任务的先后顺序。此处采用2.2节提出的基于CPN模型的故障注入测试案例设计方法,建立测试案例生成模型,为测试任务生成具体的测试案例。CPN工具以图形与编程相结合的方式描述系统网络的交联与演变,凭借其可执行性与仿真便携性,被认为是网络复杂系统建模和分析的最佳工具之一[14-15]。CPN模型结构分为库所、变迁、弧与标记,其中,库所用椭圆形表示,代表系统的某个阶段或状态;变迁用矩形表示,代表引发系统状态改变的事件;弧将库所与变迁连接,代表状态与事件的演变关系;标记表示模型中的数据,以“着色”的方式划分类型,可以通过变迁在库所之间转移。本文所建立模型如图4所示。

表2 传统策略中选择的可注入故障

图4 基于CPN的故障注入测试案例生成模型

模型中的标记颜色集(即数据类型)被定义为S,由整型变量a,b与字符串变量s组成,其中a表示故障现象序号,b表示循环次数,s表示故障注入行为描述。模型采取了类似逆向故障树的结构模式:空白标记从初始库所“Begin”出发,经变迁Loop A复制到5个故障现象库所,且各标记颜色集中的a被赋值为所在库所的序号;然后,随机地通过与故障现象库所相连的可注入故障变迁,进入代表故障类型的库所,记录该过程,作为A网测试案例;接着,5个标记由Loop B回到初始库所,在Loop A处复制至序号小于或等于a的故障现象库所,经过又一次的随机选择过程,记录并生成B网测试案例。模型首先通过随机选择的方式,在保证覆盖所有故障类型的前提下,使得每次仿真生成的测试案例具有随机性,提高测试强度;并且通过第二次循环中只复制标记到序号小于或等于a的库所,测试案例数由5×5=25个降至5+4+3+2+1=15个,排除了由于A/B双网案例对称重复而导致的等效故障,减少了测试案例数。模型的某次仿真运行的结果如表3所示;其中每条测试案例表示应执行的故障注入操作,例如第二条测试案例表示的意思是:“A网-VL工作参数-注入帧长超出范围故障-A网丢帧;B网-端口工作参数-注入转发时延过大故障-B网帧延时。”

表3 故障注入测试案例生成结果

3.3 结果对比

实验硬件环境:装有旋极eiMAX故障注入系统的工控机、TTTech_AFDX端系统板卡、华力创通HWA-ASW-24型AFDX交换机。分别使用两种故障注入策略,对该IMA平台网络进行故障注入,观测各个IMA模块应用程序的工作状态并记录测试时间。在测试任务数、每个测试任务所需的测试案例数、总注入次数以及总测试时间等方面,与使用传统的故障注入策略的结果进行对比,对比情况如表4所示。

可以看出,本文提出的以测试路径选取结合测试案例生成的故障注入策略,相比传统的故障注入策略,在故障注入实验中保证了注入成功率的同时,减少了总注入次数与总测试时间。

表4 两种策略的结果对比

4 结语

本文在分析IMA平台网络工作机制与故障现象的基础上,提出一种IMA平台网络故障注入策略。通过故障注入测试路径优化算法,提高测试有序性且减少测试任务;运用CPN工具进行编程建模,精简每个测试任务中所需的故障注入测试案例。通过仿真实验,总结得出以下结论:

1)在测试路径优化选取与测试案例生成模型的设计过程中,考虑了IMA平台网络的复杂结构、通信机制与故障传播特性,因此,本文提出的故障注入策略能够适用于实际的IMA平台网络故障注入测试。

2)比较传统策略,本文策略的故障注入总次数减少了56%,总测试时间减少了51%,减少了测试成本。

3)本文策略克服了传统策略在设计测试路径与测试案例时的无序性与盲目性缺陷,提高了故障注入的效率,为面向升级改装的安全性测试验证提供一种高效的故障样本收集方案。

[11] 王臣虎.AFDX航空网络的可靠性建模与性能分析[D].上海:上海交通大学,2012:1-2. (WANG C H. Reliability modeling and performance analysis of AFDX avionics network [D]. Shanghai: Shanghai Jiao Tong University, 2012:1-2.)

[12] 刘继华,陈策.基于变迁的完全路径覆盖测试[J].计算机应用,2012,32(11):3075-3077. (LIU J H, CHEN C. Complete path coverage testing based on change [J]. Journal of Computer Applications, 2012, 32(11): 3075-3077.)

[13] 杨宁宁.基于遗传蚁群算法的路径覆盖测试数据生成的研究[D].邯郸:河北工程大学,2013:14-18. (YANG N N. Based on genetic and ant colony algorithm for path coverage test data generation [D]. Handan: Hebei University of Engineering, 2013:14-18.)

[14] HU H S, ZHOU M C, LI Z W. Liveness and ratio-enforcing supervision of automated manufacturing systems using Petri nets [J]. IEEE Transactions on Systems, Man, and Cybernetics—Part A: Systems and Humans, 2012, 42(2): 392-403.

[15] 董健.基于着色Petri网的列控系统等级转换建模分析与半实物仿真[D].北京:北京交通大学,2017:8-9. (DONG J. Modeling and semi-physical simulation of level transition based on colored Petri nets [D]. Beijing: Beijing Jiaotong University, 2017:8-9.)

猜你喜欢

链路节点案例
一种移动感知的混合FSO/RF 下行链路方案*
天空地一体化网络多中继链路自适应调度技术
案例4 奔跑吧,少年!
TWO VILLAS IN ONE CEDIA 2020案例大赛获奖案例
Bespoke Art Deco Media Room CEDIA 2020案例大赛获奖案例
概念格的一种并行构造算法
结合概率路由的机会网络自私节点检测算法
采用贪婪启发式的异构WSNs 部分覆盖算法*
浅析民航VHF系统射频链路的调整
Crosstalk between gut microbiota and antidiabetic drug action