基于TTCN-3的CTCS-3级车载设备虚拟分布式测试框架研究及应用

2015-01-01 02:32郭默燃侯卫兵赵显琼
铁道通信信号 2015年10期
关键词:时钟车载分布式

郭默燃 侯卫兵 赵显琼

从确定CTCS-3级列车运行控制系统做为我国统一的技术平台体系以来,各铁路行业研究机构开展的对CTCS-3级关键部件和系统的测试平台研究,其基本思路是分布式仿真测试平台。这一方法的优点是:能够仿真真实的运营环境、各部件的真实处理逻辑,适于系统联合测试等。但是同时存在如下缺点:测试系统复杂度高,开发周期长,维护困难,测试数据配置繁琐等。而复杂分布式测试系统本身也存在一些问题,如:各部件调度策略复杂和各部件间通信实时问题等。解决这些问题成本高、性价比低,特别是针对于部件功能测试这样的专向性测试。

通过对欧洲ETCS规范中车载设备测试规范子集 “车载设备测试功能需求”(Subset094)及法国E.R.S.A公司的车载设备测试平台的分析、学习和研究,提出基于TTCN-3语言的虚拟分布式测试执行框架,在符合Subset094测试规范的基础上,将TTCN-3语言应用于CTCS-3级车载设备的测试执行实现中,在一定程度上解决了分布式仿真测试平台自身同步与交互的问题,同时对于部件级测试有着很好的通用性。

1 TTCN-3语言介绍

TTCN-3语言,即测试和测试控制符号语言(the testing and test control notation),是一种测试描述和测试执行语言。它支持分布式系统所有各类的黑盒测试,是由欧洲电信标准协会于1999年到2002年开发,它实际上是重新设计了 “基于树和表的符号语言标准 (TTCN)”。TTCN-3语言以一种核心语言的方式提供与不同的数据描述语言的接口,并且提供用户多种测试行为描述方式,这使得TTCN-3语言具有广泛的适用性和应用独立性。TTCN-3语言已经在标准ITU-T Rec.Z.140系列中发布。

由于TTCN-3支持多种类型的测试,近年来TTCN-3语言的应用越来越广,已经发展到航空、汽车、银行系统、IP系统、医疗设备、移动和宽带通信、铁路、空间和远程通信、遥感勘测、Web服务等各个领域当中。

相对于其他的测试脚本语言,TTCN-3具有如下优点:

1.简单易学,容易上手。

2.具有完善句法定义及静态语义和操作语义的定义;具有强大的内建的匹配机制和匹配表达式;具有快照语义,保护外部事件到达的顺序,同时每个外部事件可以和多个可选参数进行核对。

3.允许定义并发测试并且支持同步通信和异步通信。

4.支持动态测试配置。在测试过程中,测试组件可以随意创建,多次映射和多次连接,在TTCN-3语言模块中可以创建多个并行测试组件(PTCs),各PTC之间可以通信,每个PTC都可以通过特定的接口与被测系统通信,如图1所示。

图1 动态并发测试系统

5.支持时钟设置。在测试组件或测试案例描述中都可以进行设置时钟、开启时钟、关闭时钟的操作,同时时钟内部还可以开启其他的时钟。

6.能够实现全自动执行测试。测试执行顺序可以通过TTCN-3中的控制部分描述,测试执行能够通过TTCN-3的控制接口 (TCI)由外部源驱动。

7.支持TTCN-3语言的工具资源丰富,包括:瑞典IBM Telelogic公司的Tau Tester;德国Testing Technologies公司的TTworkbench;西班牙MTP公司的Exhaustif/TTCN等。

2 基于TTCN-3的CTCS-3车载测试框架

车载设备的测试是一个数据驱动的测试过程,主要是看列车在收到特定数据时能否发出正确处理的数据结果,这与TTCN-3的基于消息的测试优势一致;其次,车载设备是一个多交互设备,在列车实际行驶过程中会和RBC、应答器、轨道电路、列车速度传感器和司机等多个对象进行交互,如图2所示,如果测试环境完全按照真实环境来搭建,会造成测试环境复杂、维护困难,并产生分布性和实时性等相关问题,而这些问题运用TTCN-3语言在一定程度上都能得到解决。

图2 车载设备交互框图

基于TTCN-3的测试框架分为三个部分:如图3所示,仿真列车的动力学模块、TTCN-3测试执行模块和事件记录数据库。其中,仿真列车的动力学模块根据给定的列车信息 (包括列车长度,列车重量等)和线路信息 (包括曲率,坡度和限速信息等)及运行速度距离曲线信息,实时计算得到速度、加速度及列车运行距离信息,并传递给被测车载设备和TTCN-3测试执行模块;TTCN-3测试执行模块是测试执行主体,通过多个虚拟部件来模拟与被测车载设备交互的外部设备,每个部件各自完成所虚拟的系统需要完成的收发信息功能,同时完成各虚拟部件之间的通信及将事件记录信息传输给事件记录数据库的功能;事件记录数据库存储由TTCN-3测试执行模块传递来的测试事件记录信息,用于测试评估分析。

图3 测试平台框图

整个测试框架的运行过程描述如下:在测试开始之前配置列车的动力学模型,包括列车信息和线路信息,及速度距离曲线;配置TTCN-3测试执行模块中的虚拟部件,完成消息的发送收集功能,即在特定条件下通过特定的接口向车载设备发送相应的数据,然后检测列车回应是否正确并收集数据。以BTM模拟为例,设定列车在运行到500m时会经过一个应答器组,则通过列车动力学模型,将根据速度和加速度信息实时计算列车的距离,将速度、加速度和距离的信息传给车载设备的同时,将距离信息发给TTCN-3测试执行单元 (MTC),MTC检测距离是否等于500m,一旦相等则触发BTM模拟,通过特定的接口发送相应的应答器信息到车载设备,这样车载设备就在特定的位置接收到应答器的信息。触发条件除了可以是距离信息外,还可以是速度信息、时间信息等,可以根据不同的情况来设定。通过这样的方式,可以生成CTCS-3级车载设备功能所需要规范中的所有场景,以满足功能测试的目的。在这个测试框架下,只要完成测试行为的描述工作,之后的主要工作就是测试数据的维护和管理了。

图4描述了基于TTCN-3的虚拟分布式测试平台组成,可以看出,与车载设备交互的模块:RBC、轨道电路、应答器及DMI等设备全部是由TTCN-3语言配置的6个组件来模拟,其完成的功能是根据触发条件来通过不同的接口向车载设备发送相应的信息,从而完成测试场景的构造。TTCN-3测试语言完成的测试平台,还针对每一条来自车载设备的信息进行匹配判定,给出参考判定结果。同时,各个测试组件通过数据接口,将各组件上发送和收到的信息及相应的时间信息等数据,发送给数据记录单元,以供测试分析验证器使用。

图4 基于TTCN-3的虚拟分布式测试平台框图

这个测试框架中,TTCN-3测试执行单元中虚拟地完成了分布式的多组件交互协同测试功能,各个组件除了要各自完成对SUT的测试功能外,还要完成相互之间的交互与协作,保证整个测试流程满足一定的顺序,这就是虚拟分布式测试,与真实的分布式仿真测试相比,这种虚拟分布式节省了分布式各单元之间的网络通信同步的开销,并保证了各组件之间无延迟通信及通信过程的准确无误。同时大大降低了系统的复杂性、维护难度和成本。

3 案例分析

针对 《CTCS-3级列控系统总体技术方案》功能中的 “列车唤醒的注册”需求,提取了1个小的测试案例,在基于TTCN-3语言的虚拟分布式测试框架下,完成对实验室仿真车载设备的测试及数据采集分析。

3.1 场景描述与测试案例提取

首先对 “列车唤醒与注册”功能进行需求分析,画出需求框图如图5所示。选取虚线箭头标示路径作为测试案例,再使用TTCN-3语言完成测试案例行为描述及数据描述。案例描述如下。

从车载设备上电开始检测,测试内容包括:车载设备在完成自检后是否自动置为待机模式(SB);在驾驶台激活后,车载设备是否给出提示,提示司机进行制动测试;制动测试是否正确完成;车载设备是否能够正常呼叫RBC;完成RBC呼叫,在接收到RBC相应参数后是否及时报告RBC位置信息;整个过程是否满足每个信息的收发周期都为200ms(这是根据实验室仿真设备的实现周期而定,实际设备的消息周期可以重定义)。

针对提取的几条功能需求,对实验室仿真车载设备进行测试。由以上需求分析,测试过程中需要与车载设备交互的几个部件为,DMI、RBC和列车。

图5 列车唤醒与注册场景

3.2 测试实现与结果分析

选用德国 Testing Technologies公司的TTWorkbench作为TTCN-3的开发平台和执行平台。在该环境中,测试过程最终可以生成消息序列图 (MSC),包含测试过程中各个行为发生的顺序及每一个行为与上一行为的间隔时间,如图6所示。在TTCN-3中,可以自由的定义时钟来做为判定条件,图6中定义了一个200ms的时钟,在接收下一条信息前开启,如果DMI在时钟规定时间之内收到来自车载设备的正确信息,则判定为pass。从图6中可以看出,在113ms时,DMI收到来自车载设备的正确信息。

图6中Component表示组件,systemPort表示被测系统接口,mtcPort表示DMI模拟接口,FrameContent表示框架内容,localtimer1表示本地时钟。测试结果见表1。从表1可以看出,整个测试是通过的,但在DMI接收车载设备发来的请求输入司机ID时,出现超时现象,即在完成上一信息接收后,经过262ms后才收到车载发来的司机ID请求消息,故需要在设计上对此进行调整。

图6 TTCN-3时钟设置与判定

在整个测试过程中,测试系统需要从车载设备接收8条有效消息,每条消息都处理正确,由此可以得出,被测车载设备基本能够完成功能需求规范的要求。本例中只有一条接收时间超过了200ms,经过调整车载设备程序,这一条已经纠正,并通过同一测试案例的回归测试得到验证。

完成以上测试后,故意将仿真实现的车载设备调整至故障状态,使其不能完成制动测试,再对其进行测试,测试系统检测出了这一故障,并给出检测到故障的判定和日志记录。

表1 测试行为时间分析

4 结论

通过本文的讨论分析可以得出,TTCN-3测试语言是一种很高效的测试语言,能够非常有效地完成基于消息的测试执行,同时降低工作量、开发周期和开发成本等。

由于TTCN-3语言具有动态配置并发测试组件特性和支持多接口适配等特性,对于CTCS-3级列车控制系统,由测试系统本身的复杂性、分布性和实时性等特点造成的问题,都可以在一定程度上解决。同时,由于TTCN-3语言相对于其他测试脚本语言具有简单易学,完善的句法定义,丰富的数据类型及与其他数据描述语言的多种接口,平台独立性等优良特性,使得测试工作重点从测试执行实现上转移到测试行为描述上,有效降低了工作量、成本投入、开发周期和维护难度。TTCN-3语言完善的消息记录接口能够实现数据收集功能。

下一步工作的重点,在进一步完善本文框架研究的基础上,研究测试案例的自动生成技术及测试数据的分析评估技术,同时针对CTCS-3级系统的另一个关键子系统——无线闭塞中心 (RBC)研究本框架的扩展应用及RBC与车载设备联调策略研究,实现车载设备和RBC两部分的基于TTCN-3测试语言的自动测试平台。

[1] ERTMS/ETCS-Class 1Functional Requirements for an on board Reference Test Facility REF :SUBSET-094-0 2.0.2 05/02/2009.

[2] 中国人民共和国铁道部科技司,运输局.CTCS-3级列车控制系统总体技术方案[S].北京,2008.

[3] ETSI ES 201 873-1V3.1.1,Methods for Testing and Specification(MTS);The Testing and Test Control Notation version 3;Part 1:TTCN-3Core Language,Sophia Antipolis,France,July 2005.

[4] Grabowski,J.,D.Hogrefe,et al.(2003)."An introduction to the testing and test control notation(TTCN-3)."Computer Networks-the International Journal of Computer and Telecommunications Networking 42(3):375-403.

[5] ETSI :TTCN-3Homepage,http://www.ttcn-3.org,June 2015.

[6] Juergen Grossmann.(2013)."Testing hybrid systems with TTCN-3embedded."International Journal on Software Tools for Technology Transfer,June 2014,Volume 16,Issue 3,247-267.

猜你喜欢
时钟车载分布式
一种车载可折叠宿营住房
别样的“时钟”
古代的时钟
高速磁浮车载运行控制系统综述
奔驰S级48V车载电气系统(下)
分布式光伏热钱汹涌
分布式光伏:爆发还是徘徊
有趣的时钟
智能互联势不可挡 车载存储需求爆发
时钟会开“花”