XML在列控系统配置中的应用
2018-03-07张路平于高荣
张路平 于高荣
(1.北京全路通信信号研究设计院集团有限公司,北京 100070;2.北京市高速铁路运行控制系统工程技术研究中心,北京 100070;3.中国港湾工程有限责任公司,北京 100027)
1 概述
目前,列控系统各地面设备数据配置的主要依据来自于列控系统工程数据表[1],电子版采用EXCEL的格式提供,该数据表加上各设备所需的固定参数及特殊配置数据共同构成列控中心、应答器报文以及临时限速服务器等列控地面设备参数化工程数据的输入。基于EXCEL的数据配置方式受限于表格的数据呈现形式,存在数据信息大量重复、无法准确体现站形信息等缺点,导致工具软件处理复杂站形错误率高、逻辑运算复杂且需进行大量特殊处理等问题。同时列控系统设备种类较多,各类工具软件采用直接输入方式,导致各列控设备间配置数据相对孤立,不便于站在整个列控系统角度将工程数据参数化,且工具软件开发工作量冗余。
本文提出将列控系统工程数据采用统一且可扩展标记性语言(XML)进行数据建模,将所需列控系统数据通过软件进行处理后,以XML形式进行存储,使其更具结构性、逻辑性、可扩展性和可移植性,从而简化工具软件处理逻辑,同时为多工具协作提供标准接口。
2 标准化列控数据解决方案
基于标准化的数据源,列控系统中不同设备间的配置数据可排除不同源导致的安全隐患,确保不同列控信号设备数据来源统一。XML作为一种W3C推荐的、允许不同专业开发自己特定领域数据标识的标记语言,独立于软件和硬件,被广泛应用于各个行业的数据存储与传输中。同时相比于数据库存储方式,XML具有很强的跨平台、多工具兼容、数据交互便捷性,有助于各列控信号设备辅助产品减少数据转换的开发工作。因此,本文选用XML对列控系统各产品的配置数据源及配置数据进行统一、标准化的模型化描述。
2.1 列控系统设计输入数据模型结构
列控系统设计数据主要为列控系统中各信号设备提供线路数据描述和基本的设备信息描述,其中包括:
1)线路基本数据,如速度、坡度、长短链及里程标系等;
2)线路设备数据,如轨道区段、信号机、道岔以及应答器等;
3)列控设备基本信息,如设备编号、归属关系以及管辖范围等;
4)各车站进路信息等。
基于上述数据对列控系统元数据进行设计,基本的数据描述思想如图1所示。
图1 列控系统结构化数据组织
与EXCEL数据表中孤立描述各信息的方式不同,本文建模工作立足于列控系统中多个产品的角度,采用树状结构以及关系化的描述形式,将系统、线路以及各列控设备数据组织在一起,同时采用父类、子类继承方式,能有效减少数据冗余。
以列控系统为根节点,按照基础线路数据、信号系统、信号点式设备进行分类,该分类不断向下进行种类扩展与具体设备延伸,将每一条线路、每一段范围内数据又在一个整体容器中进行存储。同时在模型数据基础上可扩展图形数据模型,结合CAD等绘图工具将列控模型进行图形化体现,向数据配置人员提供线路数据的展示,提供基于图形的查看、编辑和线路数据审核的数据依据。针对复杂站形可实现多套EXCEL数据表的数据关联,通过对XML数据模型文件的不断扩展,实现复杂站形的数据整理、关联。
2.2 列控系统配置模型结构
列控系统中各设备配置数据的形成不仅依赖于列控系统工程数据表,还需要各设备关注的固定参数信息以及其他数据,因此生成各列控设备配置数据过程的数据来源,在章节2.1 列控系统基础数据模型的基础上,还需增加各设备独立关注的数据模型。列控系统配置模型架构设计如图2所示。
基于不同系统组织结构、不同列控信号产品设备的配置数据需要,基于图1列控系统结构化数据组织,通过完善图2所示的模型组织架构图,进而将不同列控设备配置数据基于XML实现模型化存储。以列控中心(TCC)配置模型为例,图2中列控系统基础数据模型参照章节2.1组织设计,子系统数据模型分为 TCC C0数据模型(包含机柜信息、继电器信息、发车口等数据),TCC C2数据模型(包含所控LEU信息、有源应答器信息等);子系统设备参数模型包含平台相关参数、TCC设备相关参数等。
图2 列控系统配置模型组织架构
3 基于EMF框架的XML模型实现
UML是一种支持模型化和图形化的面向对象的建模语言,由于其较好的扩展性和兼容性在数据建模方面有较好的效果。本文采用的EMF框架(Eclipse Modeling Framework 基于 Eclipse开发软件提供的建模组件),该框架自身提供了反射API以存储及加载设计完成的数据模型实例,并且支持数据模型内部关联性相关的校验。同时该框架提供了十分有效的代码生成相关功能插件,支持已完成建模对象代码的生成及用户自行编写代码的自动合并,开发人员使用相关功能建立列控系统数据相关的UML模型,大量减少代码编写、校验等相关工作量。
简化描述EMF元数据模型中的Ecore元模型,省略了部分公共类如图3所示。
图3 简化Ecore元模型
集合列控系统,建模思路如下:具体的列控设备对象对应于模型中的类(EClass),拥有一个设备名称(name), 该设备的相关属性分别对应0个或多个attributes、references。其中EAttribute 用于表示设备对象自身的属性,拥有属性名称及属性类型,EReference 用于表示不同列控设备对象数据之间的关联性,通过名称体现此关系,布尔值containment表示它是否引用其他设备、数据对象。基于上述特点,笔者采用Ecore元模型对列控系统基础数据模型进行了设计实现,列控系统基础数据设计类图如图4所示,以某条线为例,通过工具转换EXCEL数据表生成的本地XML数据文件如图5所示。
图4 简化列控系统基础数据设计类图
4 总结
本文提出的以列控系统工程数据表作为输入,采用XML标准化数据建模形式,对列控系统各产品配置数据输入源及配置数据进行自动化模型化的实现方法,经验证可很好地应用于列控系统各产品数据配置生成工作中,能够降低数据配置工作由于输入源多样性产生的复杂度,同时通过对图2中架构的不断完善及标准化设计,可实现多工具、多模块联合工作,减少不同工具中重复的工作量。
图5 列控系统基础数据模型XML文件
[1]中华人民共和国铁道部.运基础信号[2010]346号 关于印发《列控系统工程数据表编制规定V2.0》的通知[S].北京:中华人民共和国铁道部,2010.
[2]董树锋,何光宇,刘凯诚,等.使用Eclipse建模框架实现基于公共信息模型系统的开发[J].电力系统自动化,2012,36(22):68-72.
[3]武艳,谭献海.基于XML的异构数据转换的研究[J].铁路计算机应用,2012,21(10): 4-7.
[4]张志,赵文耘,李川.基于UML的XML建模方法[J].计算机工程,2003,29(8):195-196.
[5]Nan S H,Tian J,Zhang H B,et al.Data Modeling of Spaceflight Based on UML and XML Schema[J].Ordnance Industry Automation,2008(1):49-51.
[6]余云飞.铁路信号数据一体化配置系统设计及实现[J].铁路通信信号工程技术,2017(6):27-30.
[7]Budinsky F,Brodsky S A,Merks E.EMF Eclipse Modeling Framework[J].Addison-Wesley,2008,4(4):206-207.
[8]肖文鹏.使用EMF开发基于模型的Eclipse插件[J].程序员:CSDN开发高手,2004(8):28-33.
[9]高恒国,罗克露,雷剑.Eclipse平台架构技术分析及基于RCP的应用研究[J].计算机与信息技术,2006(5):1-3.
[10]梁艳平,刘仍奎,芮小平,等.轨道交通基础数据库平台建设框架设计[J].交通信息与安全,2005,23(8):80-83.