01 研究背景 截至2022 年 12 月 31 日,中国内地累计有 55 座城市开通运营轨道交通,运营里程达 10 291.96 km。在已开通的运营线路中多采用基于无线通信的列车自动控制系统(Communication Based Train Control System,CBTC)。CBTC 关键系统包括列车自动监控系统(Automatic Train Supervision,ATS)、区域控制器系统( Zone Controller ,ZC)、计算机联锁系统(Computer Interlocking,CI)、列车自动保护系统(Automatic Train Protection,ATP)、列车自动驾驶系统(Automatic Train Operation,ATO)和数据通信系统(Data Communication
截至2022 年 12 月 31 日,中国内地累计有 55 座城市开通运营轨道交通,运营里程达 10 291.96 km。在已开通的运营线路中多采用基于无线通信的列车自动控制系统(Communication Based Train Control System,CBTC)。CBTC 关键系统包括列车自动监控系统(Automatic Train Supervision,ATS)、区域控制器系统( Zone Controller ,ZC)、计算机联锁系统(Computer Interlocking,CI)、列车自动保护系统(Automatic Train Protection,ATP)、列车自动驾驶系统(Automatic Train Operation,ATO)和数据通信系统(Data Communication
System,DCS)等安全苛求系统。
为满足安全苛求系统“故障- 安全”的设计需要,高实时性、多任务处理的嵌入式系统成为系统设计首选。
信号核心控制系统软件的失效会危及国家安全和人员生命,导致严重的经济损失;
因此,需要对嵌入式软件进行严格测试。
自动化测试作为嵌入式系统的高级测试手段,通过自动化测试平台实施功能、数据和接口测试,实现测试结果和测试数据的分类汇集;
同时,加入自动化分析接口,根据需求和用例编写自动化分析脚本,从而实现测试结果的自动化分析。
传统的 CBTC 系统测试多采用仿真系统结合人工执行案例的方式,存在执行效率低、问题分析时效差等劣势,如何解决系统功能、数据和接口测试的效率问题,有效提高系统的自动化测试程度已成为亟需解决的关键问题之一。
随着城市轨道交通的高速发展及运营规模的扩大,地铁运营人员存在专业技术知识和技能水平参差不齐的特征,特别是紧急情况下应急处置能力不足。运营培训作为系统交付后用户快速培养应用人才的关键手段,越来越得到地铁运营公司的关注。当前,运营培训多通过真实系统的备品备件搭建培训环境,培训效果受到真实设备无法进行故障场景模拟的影响,效果较差。为加强城市轨道交通高技能专业人才的指导、协调、培养工作,组织各类员工进行标准化和应急处置方案培训,强化培训岗位的实操技能,建立健全完善的城市轨道交通运营公司人才培训体系,亟需建立基础运营培训教学平台。
本文采用CBTC 系统仿真技术作为自动化测试和运营培训的基础,通过分析 CBTC 系统架构特征、系统测试需求和运营场景等特点,阐述平台的设计和架构理念,提出基于服务导向架构(Service Oriented Architecture,SOA)的平台实现方法,通过构建不同的业务分层和模块化设计,根据不同的业务场景数据解决用户不同的应用场景需求。同时,采用统一的平台架构和标准化系统接口(Application Programming Interface,API),减少系统开发时间和成本,有效提高系统利用率。
CBTC系统结构如图1 所示。CBTC 各子系统、轨旁基础设施(信号机、道岔、应答器、计轴器、屏蔽门、紧急停车按钮、无人自动折返按钮、防淹门等)和轨旁电子单元(Trackside electronic unit,LEU)等统一构成了基于通信的全信息交互控制系统。由于各子系统实现不同功能,单个系统、设施或元素均具有多种运行状态,加之系统运行场景的随机性和可组合性特征,形成了以时间和事件为主线且成倍增长的场景复杂度,CBTC 主要场景如图 2 所示。
从测试角度分析,每个待测系统需基于其他系统或设备的状态变化而产生相应的影响,每种影响将构成对应的测试案例,案例需包括运行场景、功能点、测试需求、案例内容、测试步骤、测试结果等元素。从培训角度分析,各种设备或系统的正常或非正常状态为培训提供基础的数据来源。同时,多系统的场景联动应建立一套完整的场景构建系统,以满足运营培训和应急场景处置等需求。
CBTC系统的运行是基于数据实时交互产生的控制逻辑和控制流程,子系统与子系统之间实时进行数据交互,子系统内部通过数据输入、逻辑处理和数据输出产生新的状态数据,并输出至其他子系统。整个系统正常运行状态基于时序向前发展,在时间轴上子系统或设备各自产生状态更新并进行交互,进而控制全系统的运行状态变化。
从测试角度分析,人为干预的方式无法满足对系统状态变化的实时和精确控制。例如,执行列车进入待测计轴区段而不产生占压关系的测试案例,由于列车运行速度高和系统采集频率高的限制,人为干预无法进行精准停车的控制。从时序上分析,人为干预同样无法满足系统运行状态的实时设置。例如,执行列车进入待测计轴区段并同时进行防掩门状态的更新案例,人为干预无法进行时序上的精确控制,无法达到测试该场景的目的。
为满足基于CBTC 业务逻辑的自动化测试和运营培训的不同业务场景需求,在进行平台方案设计时应满足三方面的要求:首先,核心系统运行场景需全覆盖,满足全场景测试要求;其次,通用性自动化测试服务需满足架构与运行模式和业务场景解耦的通用性设计要求,提供具备场景组织和二次开发的扩展能力,使场景数据具有可扩展性;最后,建立标准化的平台管理和规范流程,实现系统标准化建设。
基于场景数字化的CBTC 自动化测试和运营培训平台对现有的测试案例场景、运营场景、故障场景、应急场景和系统逻辑场景进行总结,提出一套基于业务层次结构、功能模块化和统一场景数据源的 SOA 平台。基于SOA 平台,在解决自动化测试和运营培训适配结构上,从数据服务、数据存储、应用逻辑、人机交互和平台管理五大块构建综合服务平台,平台架构如图 3 所示。
基于CBTC 核心系统需求构建信号控制仿真服务,通过系统功能划分,构建基于核心控制子系统数据交互、基础线路数据和车辆仿真相结合的整套系统仿真,并借助计算机仿真技术对设备进行测试,平台数据连接如图 4 所示。
通过计算机软件技术,从基础设备、地面系统逻辑、列车控制逻辑、模拟驾驶、线路仿真等方面入手,实现CI 系统、ZC 系统、ATP/ATO 系统、轨旁系统和列车驾驶台的全系统仿真。
(1)基础设备方面对线路设备(信号机、道岔、屏蔽门、紧急停车按钮、无人折返按钮)状态进行模拟和控制。
(2)地面系统逻辑对列车运行状态、进路状态、道岔状态、区段状态、系统运行和故障状态、移动授权计算等进行功能设计。
(3)列车控制逻辑实现列车控制曲线计算、超速防护管理、车门管理、列车自动控制管理、自动驾驶和自动折返等主要功能。
(4)模拟驾驶通过模拟列车驾驶台的相关操作接口,通过驾驶台介入相关列车控制系统,提供可实现驾驶台介入的人工干预(自动化测试时可不用)方式。
通过仿真系统搭建,完成对固定闭塞模式、准移动闭塞模式和移动闭塞模式的全模式系统进行仿真和控制。
场景系统依据仿真系统的功能仿真,结合基础设备、信号仿真系统、数据交互通道等,实现基于系统级API接口的场景模拟。例如,针对列车 ATP 和 ATO 模式下的运行控制、通信设置、位置设置、车门控制、步进控制、换端控制、驾驶模式、最高预设、救援和模拟
器连接等进行基础场景设置。
自动化测试组件完成测试相关功能的管理,分为测试序列管理器、测试缺陷管理系统和数据分析及优化系统。自动化测试主要针对系统软件功能测试、数据测试、接口测试和性能测试,同时针对硬件基础平台完成硬件功能验证。
(1)测试序列管理器。通过对测试脚本进行数据加载,将测试脚本从时间和事件的维度进行序列化划分,基于仿真系统的线路数据加载,动态调配仿真系统,实现仿真系统的初始化、故障注入、事件注入和流程管理,完成对真实待测系统的自动化测试过程管控。
(2)测试缺陷管理系统。采用软件项目管理平台(Azure DevOps),通过二次开发实现与自动化测试平台的缺陷信息管理,如图5 所示。将实时测试中存在的缺陷信息在系统中记录,同时,将信息中结构化数据和非结构化数据进行持久化存储,便于开发人员进行数据访问和问题分析。
(3)数据分析及优化系统。数据分析系统采用基于桌面的用户界面框架(Windows Presentation Foundation,WPF)开发,完成数据分析模块、数据优化模块和系统API接口模块的实现。数据分析模块进行数据和缺陷的自动化分析,数据优化模块进行数据聚类分析后给出功能设计优化方案,系统 API 接口模块提供针对数据应用的二次开发。
数据分析模块采用行为- 事件分析模型,通过在系统平台上定义运营事件服务,借助行为 - 事件分析模型强大的筛选、分组和聚合能力,进行基于运行控制场景的多应用实时数据采集,完成对行为与事件关系的数据分析并给出结果,获得不同行为下事件处理方案的优化。通过研究与事件发生关联的所有因素(如加减速度、设备故障、路径决策、多列车连续运行等)来挖掘行为与事件背后的交互影响、响应策略等。
基础服务包括脚本管理、事件管理和硬件管理,以公共组件的形式对平台不同应用场景下的功能进行提取,抽象出公共功能进行模块组件实现,以满足不同的应用场景需求。
(1)脚本制作服务是一套基于基本线路数据、测试序列、培训场景和指令系统,开发基于可扩展标记语言(Extensible Markup Language,XML)的多源异构数据融合体系,通过数据采集、数据清洗和数据融合实现对数据的管理,形成基于运行和培训的场景脚本文件。
(2)脚本解析服务实现对脚本文件的解析,解析后形成执行指令、运行序列和场景数据信息,并通过仿真系统提供的API接口实现场景数据的导入,辅助系统进行运行场景的执行。
(3)时间和事件管理服务实现对已解析完成的时间类数据和事件类数据管理,通过生成基于时间和事件的测试序列,并通过仿真系统提供的API 接口实现时序和事件数据的导入,辅助系统进行时间轴和事件的执行。
(4)硬件管理服务完成对整个平台的硬件监控和管理,对硬件运行状态进行实时监控和状态反馈。
运营培训主要针对培训用户对培训的相关需求,开发基于场景和考核的可迭代功能模块组件,包括运营场景管理器和培训考核系统。
(1)运营场景管理器是一套实现地铁运营场景制作的工具,实现基本场景(如多车追踪、大小交路运营、折返作业等)、故障场景(如轨旁设备故障、信号系统故障、列车故障、网络故障等)和应急场景(如列车火灾、列车脱轨、列车冲突、列车救援、大客流等)下的场景制作,用户通过工具的可视化界面进行新场景制作、既有场景的修改和场景数据文件存储。
(2)培训考核系统基于用户的考核需求,结合培训的运营场景,将运营场景中涉及到的数据进行可视化,通过系统的流程管理进行步骤化的考核实施。培训考核系统主要设计五大功能模块,分别为题库管理模块、试卷管理模块、在线考试模块、成绩管理模块和公告管理模块,通过上层人机交互层完成数据的交互。
通过数据服务来实现跨域数据集成,提供统一的数据模型,以组合的方式实现用户应用场景下的数据集合定义。同时,采用集合数据服务的组合法则,通过对数据操作的次序及组合方式进行变换,得到输出结果相同的若干候选数据服务组合方案。同时,对数据服务组合方案的更新可建立迭代优化的数据集合新模型,实现集合数据分析与组合算法的持续精进,得到最优的数据服务组合方案。
针对多应用场景的组合数据处理问题,首先对多应用流数据共享场景进行分析和抽象,再构建一种通用的可应用于多场景的共享场景流数据服务框架。面向测试和培训内容,以服务的形式对上层业务系统提供组合数据,形成不同业务逻辑的数据服务。通过业务组合服务,实现跨域异构数据的集成,满足业务信息管理、业务流程管理等应用场景所需的服务流程。
数据采集服务实现对系统中结构化数据、非结构化数据和集合式数据进行分类存储。同时,为实现基于多源的数据服务,必须解决从存储管理到互操作的一系列机制、方法和实现技术。
系统实时状态数据和系统交互数据采用高效实时Redis内存数据库,从而提高分析系统进行数据访问的效率和可扩展性。系统运行的结构化数据和集合式数据采用关系型数据库,通过二维表建立关系,采用相应的检索方式,实现数据的快速访问;系统运行监控的非结构化数据采用文件存储形式,对系统运行的中间过程、异常问题进行非结构化数据文件与其属性数据分开存储。通过多种存储介质相结合的存储模式,结合数据的不同使用场景进行规范数据存储,实现安全、持久的存储需求。
人机交互信息可视化是辅助用户洞悉应用场景数据的重要方法和工具。系统采用界面设计和交互设计互融的方式进行,人机交互界面实现用户信息与设备之间的传递,利用计算机的软硬件设备对用户信息指令进行接收、处理和展示,为用户带来使用便捷。基于测试结果或培训过程建立用户界面模型,给出界面抽象元素、场景数据元素以及映射关系的形式化描述。
采用主流开源架构后台管理平台(dlvm-netcore)进行二次开发和功能裁剪,满足平台用户对自动安装部署、系统维护、环境配置、用户管理和安全认证权限的管理工作。从安全、数据应用、接口规范、场景设计、业务自动化流程、业务编码和基础数据规则等方面建立可实施规范,保障平台在服务应用的规范性和可靠性。
基于数字化场景的CBTC 自动化测试和运营培训平台集场景设计、自动化测试、运营培训服务、数字化服务和平台管理为一体,采用业务功能模块化设计原则,将不同应用场景中的相同功能进行逻辑抽象与实现。不同的应用功能采用不同模块、工具和系统组合,能够对CBTC 的运营场景进行功能测试、性能验证以及故障模拟,可配置为地铁线路运营部门的培训实践平台,提高地铁运营人员的日常操作效率,加强中心调度员的运营实践和故障处置能力。同时,整套平台的设计立足于适用性、实用性和扩展性,能满足不同厂商的系统场景测试要求,可为优化线路运营计划和完善人机协同提供模拟环境。