Open Access
Issue
JNWPU
Volume 42, Number 3, June 2024
Page(s) 514 - 520
DOI https://doi.org/10.1051/jnwpu/20244230514
Published online 01 October 2024

© 2024 Journal of Northwestern Polytechnical University. All rights reserved.

Licence Creative CommonsThis is an Open Access article distributed under the terms of the Creative Commons Attribution License (https://creativecommons.org/licenses/by/4.0), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

为了实现航空电子系统间大容量高速的数据交换[1], 以波音公司与空客公司为代表的航空设备制造商共同组织研制新一代航空总线标准, 在此标准中, 定义了一种新型网络结构[23]——AFDX(航空电子全双工交换式以太网, avionics full duplex switched ethernet)网络。AFDX网络在传统的以太网技术基础上, 通过引入虚链路、双冗余管理等技术, 使之满足航空电子系统通信对高带宽、低延迟、强实时性、确定性的通信服务要求。

AFDX包括端系统、交换机和虚拟链路3部分。AFDX端系统作为航空电子子系统与AFDX交换机之间的接口, 负责发送和接收来自电子系统的信息, 建立各子系统之间的连接, 保证整个综合电子系统之间数据交换的安全性和可靠性。终端系统的性能优劣决定着整个AFDX网络的安全性, 为了保证端系统在AFDX网络中正常工作, 对终端的功能和性能进行验证测试显得尤为重要。

本文所提出的机载网络系统下AFDX网络配置测试技术研究, 主要目的是对AFDX网络中端系统进行测试, 对终端的功能和性能进行评估, 提升航空电子系统可靠性和安全性。本文贡献如下:

1) 设计AFDX端系统配置测试规范。研究AFDX终端功能, 对终端的测试内容进行确认, 建立测试总体框架, 并对端系统的配置文件格式进行设计。

2) 研究激励数据生成算法。建立激励数据生成架构, 对数据发送的约束条件进行形式化定义, 通过SMT求解器, 设计并生成激励数据发送时刻表, 保证消息按照时间间隔无冲突发送。

3) 仿真实验验证及分析。本仿真实验环境是TestCenter网络测试平台, 利用激励数据发送时刻表作为输入, 模拟当前网络高负载的流量调度。

1 相关工作

在航空电子领域, 机载网络要求的是高实时性、高可靠性、高数据传输率和低成本。检测AFDX端系统功能和性能是AFDX网络领域的研究热点。本节将从AFDX端系统测试介绍国内外研究现状。

对AFDX网络的研究工作中最重要的是对AFDX网络中的端系统网络节点进行测试和验证, 以判断端系统能否正常工作[4]。AFDX端系统测试技术需要从测试需求分析、测试方案设计以及测试工具研发等方面进行研究, 建立完整的测试体系[5]。

分析研究AFDX端系统的功能特性, 总结终端系统的测试需求。Wang等[67]对终端的应用协议展开研究, 并且从端系统基本属性、虚拟链路、端口通信和运行稳定性方面进行了测试需求分析; Wang团队[8]通过研究ARINC 664第七部分, 根据协议针对故障注入和数据完整性检测提出测试方法。

根据端系统测试需求, 制定测试方案。苗佳旺等[9]从通信测试、网络监控和故障注入三方面对AFDX端系统及其通信端口制定测试方法。

研制端系统测试仿真工具,以具体实验评估AFDX网络的功能与性能。文献[10]设计了基于WinpCap的ARINC664总线网络测试系统, 硬件基于普通PC机和高性能以太网卡, 并且在WinPCap网络抓包工具基础上二次开发完成, 实现对整个网络性能参数的分析功能; 文献[11]通过编制AFDX网络收发测试程序, 采用商用的AFDX仿真板卡和AFDX网络交换机, 实现远程对AFDX端系统设备的功能测试和性能测试。

基于以上研究现状可知, 当前国内外对于端系统测试领域存在以下问题: 测试需求难以覆盖端系统的重要功能点; 测试方案的可实施性较差, 测试过程中的指令信息和操作流程不够完善, 无法实时获取端系统的运行状态, 测试用例的执行步骤缺乏必要细节; 端系统配置和测试执行过程存在重复和繁琐的人力操作, 测试工具与硬件板卡之间耦合性较高。

满足性模理论求解器是软件工程研究和实践中的重要基础设施。SMT求解器广泛用于各种重要的软件工程技术, 例如符号执行[12]、程序合成等。SMT求解器用于验证一阶谓词逻辑的公式。如果给定的公式是可满足的, 那么SMT求解器给出自由变量的替换, 使公式为真。

本文基于激励数据生成算法, 建立激励数据生成架构, 对数据发送的约束条件进行形式化定义, 通过SMT求解器, 生成激励数据发送时刻表, 保证消息按照时间间隔无冲突发送。

2 AFDX端系统配置测试规范设计

2.1 AFDX端系统配置文件设计

终端的配置信息项通过XML文件的形式进行保存, 对终端的配置信息项给出详细的设计方案。

终端作为XML文件的根节点, 所包含的属性信息描述如表 1所示。

发送链路表示用于数据发送的链路, 定义为终端的下一级节点, 包含的属性信息描述如表 2所示。

接收链路表示用于数据接收的链路, 定义为终端的下一级节点, 包含的属性信息描述如表 3所示。

发送端口用于数据发送, 定义为终端的下一级节点, 包含的属性信息描述如表 4所示。

接收端口用于数据接收, 定义为终端的下一级节点, 包含的属性信息描述如表 5所示。

表1

终端属性定义表

表2

发送链路属性定义表

表3

接收链路属性定义表

表4

发送端口属性定义表

表5

接收端口属性定义表

2.2 AFDX网络调度模型的建立

AFDX网络采用星形拓扑网络结构, 网络通信节点包括端系统和交换机, 端系统之间通过交换机连接, 定义 N ={E1, E2, SW1, SW2, …, En, SWn}, 表示对于一个AFDX网络中, 存在n个端系统相互连接。

2.3 基于SMT求解器激励数据生成架构

通过对消息长度和发送时间间隔进行约束, 实现对板卡激励数据的规整, 保证同一时刻链路只能发送一条消息, 消息发送的时间窗口不出现重叠, 并且保证消息的长度和发送时间间隔满足链路的限制。

定义M={v1, v2, …, vm, …, vn}, 0 < m < n, 表示端系统中包含n条虚拟链路。虚拟链路的属性为 < VLID, lmaxi, BAGi>, 其中VLID代表虚拟链路号, 链路号确定且唯一, lmaxi代表第i条链路允许发送消息的最大长度, BAGi表示第i条链路数据流发送的最短间隔, 链路在一个BAG中只能发送一个消息。

约束建立如下:

1) BAG约束

端系统配置信息中对每一条链路都分配一个BAG值, 每条链路在一个BAG时间段内只能发送一帧数据, 要求激励数据发送时间间隔和链路的BAG保持一致, 并且激励数据在一个BAG间隔只能发送一次。要求BAG范围在1~128 ms

2) 帧长约束

当端系统发送数据时, 提前对数据帧长进行检测, 如果数据长度大于规定的最大帧长, 端系统将会把数据划分成较小的数据片封装之后按照相应的BAG发送到物理链路上; 当数据帧长度小于最小帧长时, 就需要对数据帧进行填充, 使其符合帧长要求, 因为当数据帧小于最小帧长时, 容易造成丢包的情况发生。故在进行消息包规整时, 需要满足的帧长约束的数学表达式为

3) 最大延迟约束

主机端应用程序传输数据较长需要分片的数据时, 这条VL需要处理的其他数据将会被延迟发送。对于传输数据的VL, 如果P-1个帧已被处理, 第P帧的最大延迟为

故最大延迟约束的数学表达式为

4) 最大允许抖动约束

在ARINC664规范中要求, 在终端节点系统输出的虚连接传输抖动最大值要求满足

其中, 最大抖动的单位为μs。Nbw是介质的带宽, 以bits/s为单位; Lmax以byte为单位。针对全网络, 抖动的上限为500 μs。选择端系统配置参数, 使抖动尽量小于500 μs。一个BAG时间段内一个数据帧等待的时间不能超过Jitter, 如果超过Jitter, 该VL这个BAG内将不能再继续发送数据。

5) 冗余约束

端系统通过多个独立冗余的网络进行通信, 这样可以避免某个网络由于连接或交换出现的故障, 端系统发送数据帧时, 对于冗余网络需要满足:

(1) 冗余VL数据需要通过网络A和网络B同时发送;

(2) 非冗余VL数据只通过网络A或网络B发送。

6) 无冲突约束

发送激励数据的时间占用不能出现重叠, 即同一时刻只能发送一条激励数据; 同一条链路上激励数据发送时间窗口不能发生交集, 即一条链路在当前激励数据没发送完成之前, 不会发送其他数据。

2.4 基于SMT求解器激励数据发送时刻表生成流程设计

基于SMT求解器消息发送时刻表算法的思想是通过将AFDX网络中数据传输的属性和特征抽象为数学约束, 通过SMT求解器计算, 生成激励数据的发送时刻表。算法执行步骤如图 1所示。首先, 读取终端配置文件, 对配置文件进行处理, 获取链路属性参数, 并设计数据结构存储虚拟链路信息; 其次, 终端配置求解器为终端的链路分配求解参数, 建立约束条件, 将表达式和链路信息一起传入求解器求解; 最后对求解的参数列表进行分析整理, 生成数据发送时刻表。时刻表记录链路发送消息的规划方案, 作为算法的输出内容。

1) 终端配置文件的预处理

读取终端XML配置文件, 获取端系统发送链路的配置信息, 设计数据结构进行存储, 数据结构用VL表示, VL数据结构属性描述如表 6所示。

对XML文件进行处理, 定位文件中的SndVL标签, 获取标签下的节点信息, 以链路ID作为标识, 提取对应的链路信息, 最终获取链路ID与链路信息的映射关系; 定位文件中的EndSystem标签, 获取该标签下的SndVL节点信息, 以终端名称作为标识, 提取该终端下发送链路信息, 并生成链路集合, 最终获取端系统与其包含的所有链路集合的映射关系; 定位文件中的EndSystem标签, 以终端名称作为标识, 记录终端数据发送速率, 最终获取端系统与其数据发送速率的映射关系。

2) 求解器计算

将约束条件抽象成SMT表达式, 传入到求解器中进行计算, 从基本约束, 无冲突约束, 传输周期性约束3个方面设计约束条件。约束条件建立如算法1所示。

算法1   Constraint establishment

输入: Z3 is the solver, VlList < VL> is the list of virtual links, Speed is the link sending rate, and TIME is the number of messages sent

输出:

1. for(i=0 to VlList.size()) do

2.   for(j=1 to TIME) do

3.    dispatch_point←

    Slover.getVariable(VlList.get(i).VLID)

4.   Slover.add(dispatch_point≥0)

5.  end for

6. end for

7. for(k1=1 to TIME) do

8.  for(i=0 to ViList.size()-1) do

9.   dispatch_point1←

     Slover.getVariable(VlList.get(i).VLID)

10.   for(j=i+1 to VlList.size()) do

11.    for(k2=1 to TIME) do

12.     dispatch_point2←

     Slover.getVariable(

      VlList.get(i).VLID

    )

13.     Slover.add(

      dispatch_point>

      dispatch_point1+

      VlList.get(i).Lmax/Speed‖

      dispatch_point>

      dispatch_point1+

      VlList.get(j).Lmax/Speed

      )

14.    end for

15.   end for

16.  end for

17. end for

18. for(i=0 to VlList.size()) do

19.  for (k=1 to TIME) do

20.   dispatch_point1←

       Slover.getVariable(

         VlList.get(i).VLID+

         toString(k)

      )

21.   dispatch_point2←

       Slover.getVariable(

         VlList.get(i).VLID+

         toString(k+1)

      )

22.   Bag←VlList.get(i).BAG

23.   Slover.add(

    dispatch_point2>

    dispatch_point1+VlList.get(i).Lmax/

    Speed+Bag

24.  )

25. end for

26. end for

3) 消息发送时刻表生成

对求解的参数列表进行整理, 生成消息发送时刻表。消息发送时刻表格式如表 7所示。

thumbnail 图1

算法流程示意图

表6

VL属性描述表

表7

消息发送时刻表格式

3 实验验证

本节对算法的实现进行验证, 提取终端配置文件链路的基本参数: ①链路标识VLID, 对链路进行唯一性标识; ②2个相邻帧之间的最小带宽分配BAG, 其范围为1~128 ms; ③链路的最大帧长Lmax。链路配置信息(部分)如表 8所示。

通过SMT求解器计算, 得出测试板卡的消息发送时刻表, 如表 9所示。消息时刻表为测试板卡消息发送提供解决方案, 实现消息发送不冲突, 并且满足链路消息发送时间间隔的规划表(部分)。

表 9可得, 在每个端口所发送的VL之间时间间隔紧密排列, 且同一VL 2次发送之间的时间间隔较小, 具有发送频率高、数据规模大的特点。

最后在TestCenter测试平台进行仿真实验, 实验结果证明当前网络中所有的交换机能按照本文生成的激励数据时刻表进行数据流的收发, 实现消息发送不冲突。同时证明本文提到的算法能很好地满足压力测试以及负载测试对数据量的要求。

表8

端系统链路配置信息表(部分)

表9

消息发送时刻表(部分)

4 结论

本文首先研究AFDX终端功能, 对终端的测试内容进行确认, 建立测试总体框架, 设计了AFDX端系统配置文件的格式, 建立AFDX网络调度的模型, 并基于SMT求解器激励数据生成架构, 对数据发送的约束条件进行形式化定义, 通过SMT求解器, 设计并生成激励数据发送时刻表, 保证消息按照时间间隔无冲突发送。最后通过在TestCenter网络测试平台进行仿真实验, 实验结果证明本文提到的算法能使AFDX网络配置中的VL在限定的约束范围内紧密排列, 也能够很好地模拟高负载下AFDX网络配置所属的网络运行状态, 很好地满足压力测试以及负载测试对数据量的要求。

References

  1. WANG Qingwei. The development trend and current situation for avionics system of new generation of military aircraft[J]. Trainer, 2019(3): 5–11. [Article] (in Chinese) [Google Scholar]
  2. WANG Yuanxun, ZHANG Shuang, KONG Deqi, et al. Test and analysis of AFDX network end system[C]//9th Annual Civil Avionics International Forum 2020, 2020 (in Chinese) [Google Scholar]
  3. CAO Yang. A brief introduction to avionics data bus technology[J]. Digital Communication World, 2018(3): 35. [Article] (in Chinese) [Google Scholar]
  4. WIJIUTOMO C W, TRILAKSONO B R, KISTIJANTORO A I. Development of test environment platform for ima using cots components[C]//2019 International Seminar on Application for Technology of Information and Communication, 2019 [Google Scholar]
  5. MOUYSSET S, ERMONT J, SCHARBARG J L. Limiting over sampling to improve transmission schedulability in a mixed NoC/AFDX architecture[C]//Emerging Technologies and Factory Automation, 2019 [Google Scholar]
  6. WANG K, LI W, WANG L, et al. Research on the test method of AFDX end system[C]//2022 7th International Conference on Intelligent Computing and Signal Processing, 2022: 806–809 [Google Scholar]
  7. KAO W W. Research on AFDX network end system testing technology[J]. Aviation Maintenance and Engineering, 2015, 8: 92–94 [Google Scholar]
  8. WANG S K, WEN L. Technical research and platform implementation of the protocol conformance test of AFDX network switch[C]//2018 International Conference on Networking and Network Applications, 2018 [Google Scholar]
  9. MIAO Jiawang, QIAO Fei, GAI Feng. Design and implement of AFDX network system testing[J]. Computer Measurement & Control, 2018, 26(5): 33–36. [Article] (in Chinese) [Google Scholar]
  10. HE J, ZHANG Y, HU G. Design of ARINC664 bus network test system based on WinPCap[C]//2020 5th International Conference on Electromechanical Control Technology and Transportation, 2020 [Google Scholar]
  11. KERKECH M, BUI V T, AFRICANO M, et al. Protocol recognition in virtual avionics network based on efficient and lightweight convolutional neural network[C]//2022 IEEE/ACM 26th International Symposium on Distributed Simulation and Real Time Applications, 2022: 9–16 [Google Scholar]
  12. ZHANG C. Stress testing SMT solvers via type-aware mutation[C]//42nd International Conference on Software Engineering, 2020 [Google Scholar]

All Tables

表1

终端属性定义表

表2

发送链路属性定义表

表3

接收链路属性定义表

表4

发送端口属性定义表

表5

接收端口属性定义表

表6

VL属性描述表

表7

消息发送时刻表格式

表8

端系统链路配置信息表(部分)

表9

消息发送时刻表(部分)

All Figures

thumbnail 图1

算法流程示意图

In the text

Current usage metrics show cumulative count of Article Views (full-text article views including HTML views, PDF and ePub downloads, according to the available data) and Abstracts Views on Vision4Press platform.

Data correspond to usage on the plateform after 2015. The current usage metrics is available 48-96 hours after online publication and is updated daily on week days.

Initial download of the metrics may take a while.