田万勇,赵露露,杜利刚,胡军锋
基于建模与仿真的Link-16协议一致性测试
田万勇,赵露露,杜利刚,胡军锋
(中国电子科技集团公司第二十研究所,西安 710068)
数据链是实现作战单元互操作的决定性因素,作战单元对协议实现的一致性是互操作性的基础。本文针对消息协议表述易产生歧义和测试模型通用性不足等问题,将测试重点聚焦于语法与语义,以Link-16消息与规则为测试对象,基于建模与仿真方法构建一致性测试模型。美军JITC的测试案例说明,该方法可以实现典型语法与语义的一致性测试,扩展性较好。
数据链;一致性;建模与仿真
数据链是一种基于标准化的消息格式和通信协议,以面向比特的方式在传感器平台、指控平台以及武器平台间实时传输数字化信息的战术无线通信系统,是网络中心战和体系化作战的核心支撑系统[1]。Link-16数据链是美军联合作战的主要工具,可在作战成员间交换敌方目标数据、己方平台状况、成员位置、电子侦察/电子战情报、危险警告、导航、控制与指挥引导等信息,是全面提升美军联合作战能力的重要保障。
消息协议,又称消息标准,是数据链系统或设备终端所应遵循的标准化协议和规范,以实现系统或设备级的信息交互[2]。消息协议包括消息格式、数据元素字典和通信协议等内容,是数据链特有的标准[3]。Link-16消息协议涉及近百条消息和一万多条规则,内容繁多,应用功能多样。协议一致性测试是对数据链设备的协议实现进行检验,确定是否符合消息标准的规定。通常试验人员需要深入理解标准规范,清楚各部分之间的内在联系,然后借鉴已有的经验来设计试验想定。这种方法通常会带来两个问题,一是工作量非常大,耗时长,进度难以保障;二是对试验人员要求非常高,测试用例的典型性和全面性难以保障,缺陷的漏检率较高。此外,针对实装设备的消息协议一致性测试通常采用人工方式进行测试用例加载和逐条测试,难以对待测装备施加大量用例和极限应力测试,实际应用场景覆盖性、数据的充分性以及测试模型扩展性难以保证。
本文首先分析了数据链协议一致性测试方面的国内外研究现状,其次介绍了离散事件系统(Discrete Event System Specification,DEVS)模型,并基于建模与仿真理论阐述了语法与语义一致性测试方法与流程,再次以美军联合互操作测试司令部(Joint Interoperability Test Command,JITC)的测试案例说明了测试流程与建模方法,最后对该方法进行了分析与总结。
美军JITC对数据链消息协议一致性测试方法进行了研究,旨在为战术数据链标准的一致性测试探索出一条行之有效的道路。JITC通过将系统理论、建模与仿真(Modeling and Simulation,M&S)等概念应用到一致性测试中,提高了协议一致性测试的效率和自动化水平。目前,已对航迹相关、解相关、航迹管理、报告职责、航迹质量、网络管理以及数据注册等方面进行了测试,后续将对其他功能进行测试并计划将该技术应用于全球信息栅格的测试。
国内相关学者在数据链一致性测试技术方面也开展了大量研究。文献[4]提出了一种数据链协议一致性测试平台架构,设计了数据链协议测试用例生成方法,并针对本地测试和分布式测试需求提出了数据链协议一致性测试评估方法。文献[5]阐述了数据链协议一致性测试原理,提出基于因果图的测试用例设计方法,保证测试用例的覆盖性,可以对消息编解码、收发与处理进行全面测试,保证各平台消息实现的一致性。文献[6]从一致性与互操作性的内涵出发,基于统一的消息处理要求,阐述了数据链系统一致性与互操作性的实现方法和条件。文献[7-8]基于建模与仿真方法构建数据链一致性和互操作性测试模型,实现了数据链协议一致性和互操作性动态测试。文献[9]从协议一致性测试的协议形式化描述技术入手,分别对协议一致性测试过程中的描述、测试序列生成、测试实现与执行进行了综合研究,阐述了其中存在的问题并给出了基本解决思路。
数据链系统是一个由连续系统和离散事件系统构成的混合系统,建模和仿真需要以明确、无二义的方式描述数据链系统的动态行为特征。离散事件系统规范(Discrete Event System Specification,DEVS)作为一种系统建模与仿真的模块化、层次化和形式化描述机制,可用于描述离散、连续以及连续和离散事件构成的混合系统。DEVS从一般系统理论出发,提供的形式化描述可为实现其他基本系统表示的行为提供计算基础[10]。
DEVS基本模型有两种:DEVS原子模型和DEVS耦合模型,其具体定义参见文献[11]。其中,原子模型描述了离散事件系统的自治行为,包括系统状态转换、外部输入事件响应和系统输出等。原子模型可以通过连接形成耦合模型。耦合模型中包含多种成员,每个成员既可以是原子模型,也可以是耦合模型。
DEVS模型有两种行为:发送消息和接收消息。这2种行为可以通过3个原子模型来表示:holdSend、waitReceive和waitNotReceive。holdSend表示在剩余时间过期之后发送消息。接收消息的行为由waitReceive和waitNotReceive这2个原子模型来表示。waitReceive表示以定义好的时间间隔等待一条消息,并通过将接收消息的值与预定义好的值相比较来确定pass-fail的条件。waitNotReceive表示不等待接收任何消息,并且使模型空闲一段预定义好的时间间隔。每个原子模型和耦合模型都有2个输入端:start和in_Jmsg,2个输出端:out_Jmsg和pass。DEVS原子模型与耦合模型如图1所示。
图1 DEVS原子模型与耦合模型
基本模型描述了消息的输入与输出。如图2所示,将基本模型按照消息输入/输出的逻辑顺序串联起来,构成组合模型,该组合模型由开始端的开始事件触发。当前一个基本模型的条件满足时,将触发下一个基本模型。相对于基本模型,组合模型可描述系统更复杂的行为。
图2 组合模型
每一个组合模型通常代表一个测试场景。测试人员可以将一系列的组合模型级联起来形成更复杂的测试场景。通过设计不同的基本模型与组合模型,可实现对不同场景下协议的充分测试。
本文从语法一致性和语义一致性两方面测试Link-16协议一致性。其中,语法一致性主要测试数据链设备按照协议发送、接收消息并按照规定格式解析数据的能力,包括消息格式、数据元素的完整性、正确性与发送周期等方面是否与消息协议规定一致。语义一致性主要测试数据链设备对于交换的战术信息具体含义的理解能力,即是否按照收发与处理规则正确实现消息协议。通过检验模型是否符合消息处理流程,以及模型处理以后形成的功能和能力是否满足消息标准,例如是否正确实现指控交接和航迹相关等功能。
协议一致性测试包含消息协议规则获取组件、规则集正确性分析组件、测试模型生成组件和测试发生组件4个部分,总体架构如图3所示。
根据Link-16数据链消息协议中的消息格式、信息处理流程和功能定义,语法与语义一致性测试方法如图4所示。选择一组测试用例,产生所需的激励数据和约束数据,按顺序触发模型。执行过程中,测试分析工具采集输出结果,与预期结果进行比对分析,判断测试项是否通过。测试人员可以在测试过程中设置状态采集点,通过在状态采集点收集相关信息对模型进行测试。
图3 数据链协议一致性测试总体架构
图4 消息协议一致性测试方法
本文将M&S方法与DEVS理论应用于数据链消息协议一致性测试中,以提高数据链消息标准的自动化测试能力和有效性。按照图3所示的总体架构,协议一致性测试流程如图5所示,主要包含以下步骤:消息处理规则分析与提取、测试用例生成、测试模型构建和测试执行。其中:
(1)规则分析与提取:分析数据链协议,提取消息处理输入与输出之间的对应关系。
(2)测试用例生成:将消息的事务处理分解为一系列离散事件(Discrete Event System,DEV),建立事件之间的关系,分析消息执行路径,并根据路径形成测试用例,实现对消息处理路径的全部覆盖。
(3)DEVS测试模型构建:采用规范的方法,将测试顺序转换为统一的可执行模型。
(4)测试执行:利用测试模型触发待测系统(System Under Test,SUT)测试行为,实现被测功能。
图5 消息协议一致性测试流程
基于M&S方法,美军JITC针对Link-16数据链系统的消息协议进行了一致性测试。其中,Link-16的测试环境分为两类:独立式与分布式。在独立式环境中,Link-16分别是集成架构行为模型(Integrated Architecture Behavior Model,IABM)和空中防御系统集成(Air Defense System Integrator,ADSI)的子系统。表1总结了2种环境中Link-16功能的一致性测试结果,测试的功能分别为自动航迹相关、解相关、相关窗口大小、航迹管理、报告职责、航迹质量和身份差异辨识。未来JITC将对更多的Link-16系统功能进行一致性测试。
表1 JITC的Link-16一致性测试结果
以自动航迹相关功能为例,其功能实现流程为:当SUT从远端Link-16单元接收到空中航迹(J3.2),并在本地航迹的相关窗口内时,启动尝试相关过程。如果接收到第二个航迹并在本地航迹相关窗口内,则通过向远端发送相关请求(J7.2)将其相关,并保持为通用本地航迹。如果本地航迹号大于远端航迹号,则本地系统放弃自己的航迹并发出丢弃航迹通知(J7.0);否则,远端Link-16单元会丢弃它的航迹并发出通知。自动航迹相关流程图如图6所示。
图6 自动航迹相关流程图
自动航迹相关组合模型如图7所示,该组合模型包含5个原子模型,分别为:waitReceive(J3.2,data1),waitReceive(J3.2,data1),holdSend(J7.2,data3),waitReceive(J7.0,data4),holdSend(J7.0,data5)。
图7 自动航迹相关组合模型
数据链消息协议主要采用以文档为中心的实现方式,通过大量文字和表格的形式描述,存在不全面、有歧义和变更追溯困难等问题,导致消息协议一致性测试复杂度高、任务量大和功能覆盖难以实现,严重制约了数据链互操作水平的提升。协议一致性测试是协议测试中关键的一环,也是互操作性测试的基础。针对数据链协议一致性测试问题,本文将测试重点聚焦于语法与语义,即以消息与协议规则为测试对象,基于建模与仿真理论构建测试模型。该方法可提高数据链消息协议测试自动化程度和通用性,降低数据链装备测试复杂性和研制风险,并为数据链装备互操作性测试提供指导和借鉴。
[1] 梅文华,蔡善法. JTIDS/Link 16数据链[M]. 北京:国防工业出版社,2007.
[2] 骆光明. 数据链——信息系统连接武器系统的捷径[M]. 北京:国防工业出版社,2007.
[3] 牛英滔,尹浩,陈强. 美军战术数据链格式化消息标准的发展[J]. 电讯技术,2006(5):6-11.
[4] 牛煜. 数据链测试技术研究[D]. 西安:西安电子科技大学,2009.
[5] 陈升来. Link 16数据链协议一致性测试方法研究[J]. 信息化研究,2014,40(1):38-41.
[6] 石教华. 战术数据链互操作性实现方法和条件[J]. 火力与指挥控制,2015,40(8):136-139.
[7] 赵露露,王苏乐,田万勇. 基于建模与仿真的数据链互操作性动态测试[C]. 第七届中国指挥控制大会论文集,2019:560-564.
[8] Tian Wanyong, Chen Chilian, Zhao Lulu. Modeling and Interoperability Testing of Data Link Based on DEVS[C], IEEE 3rd International Conference on Electronic Information and Communication Technology (ICEICT), 2020.
[9] 李强,余祥,齐建业,等. 协议一致性测试研究进展[J]. 西南科技大学学报,2013,28(4):85-92.
[10] 邱晓刚,段伟. DEVS研究进展及其对建模与仿真学科建立的作用[J]. 系统仿真学报,2009,21(21):6697-6704,6709.
[11] B.P. Zeigler, Tag Gon Kim, H Praehofer. 建模与仿真理论——集成离散事件与连续复杂动态系统[M]. 李革,等,译. 2版. 北京:电子工业出版社,2017:59-106.
Consistency Testing for Link-16 Protocol Based on Modeling and Simulation
TIAN Wanyong, ZHAO Lulu, DU Ligang, HU Junfeng
Data link is the determining factor to realize interoperability for combat units. The implementation consistency of protocol among combat units is the basis of interoperability. According to the problems of ambiguity of message protocol expression and lack of generality of test model, the paper focuses on syntax and semantics test. We take messages and rules of Link-16 as test objects and construct consistency model based on modeling and simulation. Experiment results of JITC show that the method can conduct consistency testing of typical syntax and semantics and has good scalability.
Data Link; Consistency; Modeling and Simulation
TN914
A
1674-7976-(2021)-04-284-05
2021-04-14。田万勇(1982.08-),安徽含山人,博士,高级工程师,主要研究方向为数据链。本文受国防基础科研计划(JCKY2017210A001)、军委装备发展部技术基础项目(JZX6J20191201BZ0816)支持。