張路平 于高榮
(1.北京全路通信信號研究設計院集團有限公司,北京 100070;2.北京市高速鐵路運行控制系統工程技術研究中心,北京 100070;3.中國港灣工程有限責任公司,北京 100027)
目前,列控系統各地面設備數據配置的主要依據來自于列控系統工程數據表[1],電子版采用EXCEL的格式提供,該數據表加上各設備所需的固定參數及特殊配置數據共同構成列控中心、應答器報文以及臨時限速服務器等列控地面設備參數化工程數據的輸入。基于EXCEL的數據配置方式受限于表格的數據呈現形式,存在數據信息大量重復、無法準確體現站形信息等缺點,導致工具軟件處理復雜站形錯誤率高、邏輯運算復雜且需進行大量特殊處理等問題。同時列控系統設備種類較多,各類工具軟件采用直接輸入方式,導致各列控設備間配置數據相對孤立,不便于站在整個列控系統角度將工程數據參數化,且工具軟件開發工作量冗余。
本文提出將列控系統工程數據采用統一且可擴展標記性語言(XML)進行數據建模,將所需列控系統數據通過軟件進行處理后,以XML形式進行存儲,使其更具結構性、邏輯性、可擴展性和可移植性,從而簡化工具軟件處理邏輯,同時為多工具協作提供標準接口。
基于標準化的數據源,列控系統中不同設備間的配置數據可排除不同源導致的安全隱患,確保不同列控信號設備數據來源統一。XML作為一種W3C推薦的、允許不同專業開發自己特定領域數據標識的標記語言,獨立于軟件和硬件,被廣泛應用于各個行業的數據存儲與傳輸中。同時相比于數據庫存儲方式,XML具有很強的跨平臺、多工具兼容、數據交互便捷性,有助于各列控信號設備輔助產品減少數據轉換的開發工作。因此,本文選用XML對列控系統各產品的配置數據源及配置數據進行統一、標準化的模型化描述。
列控系統設計數據主要為列控系統中各信號設備提供線路數據描述和基本的設備信息描述,其中包括:
1)線路基本數據,如速度、坡度、長短鏈及里程標系等;
2)線路設備數據,如軌道區段、信號機、道岔以及應答器等;
3)列控設備基本信息,如設備編號、歸屬關系以及管轄范圍等;
4)各車站進路信息等。
基于上述數據對列控系統元數據進行設計,基本的數據描述思想如圖1所示。

圖1 列控系統結構化數據組織
與EXCEL數據表中孤立描述各信息的方式不同,本文建模工作立足于列控系統中多個產品的角度,采用樹狀結構以及關系化的描述形式,將系統、線路以及各列控設備數據組織在一起,同時采用父類、子類繼承方式,能有效減少數據冗余。
以列控系統為根節點,按照基礎線路數據、信號系統、信號點式設備進行分類,該分類不斷向下進行種類擴展與具體設備延伸,將每一條線路、每一段范圍內數據又在一個整體容器中進行存儲。同時在模型數據基礎上可擴展圖形數據模型,結合CAD等繪圖工具將列控模型進行圖形化體現,向數據配置人員提供線路數據的展示,提供基于圖形的查看、編輯和線路數據審核的數據依據。針對復雜站形可實現多套EXCEL數據表的數據關聯,通過對XML數據模型文件的不斷擴展,實現復雜站形的數據整理、關聯。
列控系統中各設備配置數據的形成不僅依賴于列控系統工程數據表,還需要各設備關注的固定參數信息以及其他數據,因此生成各列控設備配置數據過程的數據來源,在章節2.1 列控系統基礎數據模型的基礎上,還需增加各設備獨立關注的數據模型。列控系統配置模型架構設計如圖2所示。
基于不同系統組織結構、不同列控信號產品設備的配置數據需要,基于圖1列控系統結構化數據組織,通過完善圖2所示的模型組織架構圖,進而將不同列控設備配置數據基于XML實現模型化存儲。以列控中心(TCC)配置模型為例,圖2中列控系統基礎數據模型參照章節2.1組織設計,子系統數據模型分為 TCC C0數據模型(包含機柜信息、繼電器信息、發車口等數據),TCC C2數據模型(包含所控LEU信息、有源應答器信息等);子系統設備參數模型包含平臺相關參數、TCC設備相關參數等。

圖2 列控系統配置模型組織架構
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 簡化列控系統基礎數據設計類圖
本文提出的以列控系統工程數據表作為輸入,采用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.