李達明 石寶峰 閆友為
(北京全路通信信號研究設計院有限公司,北京 100073)

李達明,男,碩士畢業于清華大學電子工程系,助理工程師,主要從事鐵路通信信號方面的工作。曾參與武廣、滬寧、滬杭以及京滬高鐵的CTCS-3室內功能測試以及十一五國家支撐計劃。
隨著我國高速鐵路的快速發展,保證列車的安全行車已經成為重中之重,而軌道電路碼序作為客運專線中列車行車的重要依據,其正確性就顯得尤為重要。
針對軌道電路碼序正確性的評測,僅僅作為列控系統功能測試的一部分,在國內還停留在設備單元測試、現有線路功能測試以及人工仿真測試階段[1-8],缺少線路級的完整碼序測試,即便是針對碼序的生成邏輯,也更多的依賴于特定線路[9],缺少一種通用的方法。
結合目前碼序評測的現狀,本文提出了一種集中對客運專線碼序進行動態實時評測的方法,其根據測試執行過程的操作條件和應用數據,對測試執行的狀態、過程和結果進行評判,發現故障,能夠更加高效地發現可能存在的安全隱患,保證列車的安全行車。碼序的生成邏輯難以用簡單的數學模型來表達,因此就需要通過經驗知識給出正確的判斷。為此需要獲取這些知識,加以表示和運用,這就是知識工程的概念,其最早由美國人工智能專家E.A.費根鮑姆提出,他認為“知識工程是人工智能的原理和方法,對那些需要專家知識才能解決的應用難題提供求解的手段。恰當運用專家知識的獲取、表達和推理過程的構成與解釋,是設計基于知識的系統的重要技術問題?!盵10]其特點是基于人類對各學科專業知識的積累,能夠迅速的對事物做出分析和判斷。知識工程中基于規則的知識表示,將大量專業的知識進行分類解釋,給出相應的結果,本文將知識工程應用于碼序評測中, 將數據和邏輯抽象出來,避免兩者之間相互影響,提高整個評測過程的穩定性、準確性以及效率。
知識工程是設計和實現知識庫系統的理論、方法和技術,是研究知識表示、知識獲取、知識管理和利用的一門學科[11]。其中知識表示可以通過產生式系統實現。
產生式系統是根據產生式規則來表述知識的知識庫系統,其基本形式為:“IF P THEN Q”,其含義:如果前提條件P滿足,則可推出Q成立或執行Q操作,并且稱“IF P THEN Q”這個表達式為一條規則。
采用產生式規則表示法描述碼序邏輯這類知識,總結有以下3個優點。
1) 自然性好,產生式表示法用“IF-THEN”的形式表示知識,這種表示形式與人類的判斷性知識基本一致,直觀、自然、便于推理;
2) 除了對系統的總體結構、各部分相互作用的方式及規則的表示形式有明確規定以外,對系統的其他實現細節都沒有具體規定,這使設計者們在開發實用系統時具有較大靈活性,可以根據需要采用適當的實現技術,特別是可以把對求解問題有意義的各種啟發式知識引入到系統中;
3) 表示的格式固定,形式單一,規則間相互獨立,整個過程只是前件匹配,后件動作。匹配提供的信息只有成功與失敗,沒有復雜的計算,所以系統容易建立。
由此可見,根據知識工程的概念,將碼序規范抽象為規則進行描述,能夠避免和數據的耦合,其適用性以及靈活性十分突出,以下將研究生成碼序規則以及集中實時評測的方法。
將抽象出的規則生成的碼序結果和實際結果進行實時對比,就是碼序集中評測的核心內容,為完成這個目標,首先必須將技術規范所規定的碼序抽象為規則加以描述,然后將這些規則加以整合,構成全線完整的碼序,和實際碼序實時對比,給出評測結果。
依照《列控中心技術規范》[12],軌道電路碼序分為站內軌道電路碼序與區間軌道電路碼序,站內軌道電路碼序根據本站進路狀態、前方進路信號以及軌道電路狀態等生成。區間軌道電路根據區間方向按照軌道電路升序生成,其順序如下。
HU→HB→UU→UUS→U→U2→ U2S→LU→L→L2→L3→L4→L5
由于軌道電路碼序為升序生成,因而前方區段編碼會影響本區段編碼的生成?;谶@個特點,從線路末端依次遞歸對各區段編碼,就可完整地生成整條線路的碼序,基于上述規范可以形成基本的規則集,并在此基礎上增加一些特殊站場的規則集。簡單的條件如災害狀態,包括設置災害和未設置災害兩種狀態,對于設置災害防護的區段,在采集到災害防護信息后,將控制相應的軌道區段發送H碼防護。若本區段為區間,且與前方區段不處于同一閉塞分區,前方區段空閑而且也為區間,則本區段編碼為前方區段編碼按碼序升序排列的下一個編碼。綜合考慮軌道電路碼序的各種可能情況,最終總結出軌道電路發碼是由11個條件決定。這11個條件如下。
1) 災害狀態;
2) 本區段類別,區段類別包括區間、股道以及咽喉區段3種區段類型;
3) 前方區段類別;
4) 與前方區段是否屬于同一閉塞分區;
5) 前方區段占壓狀態,包括占用狀態和非占用狀態;
6) 前方區段發碼;
7) 前方區段鎖閉狀態;
8) 進路最高碼序,包括L5、UUS以及UU等碼序;
9) 是否信號降級,包括室外點燈或者臨時限速導致的信號降級;
10) 進路信號狀態,包括無進路、信號未開放、信號正常關閉、引導信號、信號開放以及信號非正常關閉這6種狀態;
11) 進路類型,包括正常進路以及跨線進路兩種。
根據這11個條件,可以將碼序規則完整地抽象描述出來,這些規則的建立是通過不斷積累和總結這個領域的專家知識得出的,因此建立過程比較繁瑣,耗費的時間也比較長,相較于采用復雜邏輯的實現方案,使用規則的方法在擴展性上獨有優勢,能夠根據運營場景和實施方案的不同,經過添加和修改相應的規則達到適應不同場景的需求,無需改動程序邏輯本身,因此具有很好的可擴展性和適應性。
碼序集中評測的關鍵就在于一次性生成全線碼序,難點首先在于如何根據輸入條件篩選出需要的規則,從而確定碼序結果,其次是如何一次性生成全線碼序。
對于有n個條件,K條規則的規則集,通過對n個條件狀態的判斷在這K條規則中找到滿足條件的結果。由于所有的規則都是基于產生式系統構成,因此邏輯比較簡單,所有節點分層固定,使用寬度優先搜索,對下一層進行搜索前,先搜索本層所有節點,搜索過程如圖1所示。搜索算法采用堆棧結構,首先對于第一個條件輸入,遍歷1到K這K條規則的第一個條件,對于滿足條件的規則進行入棧,若未找到滿足條件的規則,則退出搜索,對于第二個條件的輸入,將之前入棧的規則出棧,遍歷這出棧的規則的第二個條件,對于滿足條件的規則入棧,若未找到則退出搜索,依次類推,進行深度為n的遍歷搜索,對所有的輸入條件進行查找,在輸入第n個條件時,若找到滿足條件規則且唯一,則輸出規則對應結果。否則則退出搜索。其時間復雜度為O(n)。對于上述搜索算法,其輸入每次都需要進行n層搜索,考慮到在實際評測中兩次狀態輸入之間,并非所有條件都發生改變,而只是一部分條件的變化,因此可以在輸入條件時對當前狀態和上次狀態的條件進行模式匹配,從第一個不同的條件開始輸入,假設第m個條件開始不同,如果前次狀態保留“學習”了m-1次的規則集合,則直接從m層開始搜索。否則,重新開始“學習”,并重構這n層各層的規則集合,實現智能評測。
這樣在實際的評測中,可以減少不必要條件的搜索,減小搜索的深度,從而進一步減小運算復雜度和時間復雜度。

根據技術規范,每個區段有一個默認的初始化編碼,根據邊界條件 (進路狀態和邊界狀態) 以及占壓條件的區段開始遞歸應用規則,可以生成全線的碼序。
整個線路分為上下行,包括區間線路碼序以及進路碼序的生成。根據線路中始端方向繼電器以及終端方向繼電器的屬性判斷區間線路是正向還是反向,碼序生成是依照遞歸的方式實現的,因為判斷條件中包括前向編碼、前向閉塞分區狀態等因素,因此編碼從線路的最后一個軌道區段開始,依次往前遞歸進行編碼。進路碼序需要考慮降級以及最高碼序等帶來的影響,同時需要考慮接近區段的影響。
實時評測就是在給定輸入的同時,直接將應用規則產生的碼序和給定的原始碼序作對比。需要保證的是規則產生的碼序是實時可靠的,實時就是需要在給定時間內做出評測;可靠就是保證進行評測的輸入和激勵產生原始輸出的輸入數據是一致的。影響評測實時性的因素主要有3點:第一點是采集數據的來源不同;第二點是通信延時;第三點是評測處理耗費的時間。通過圖2所示的實時評測的結構圖,來說明各個因素之間的關系以及影響程度。
對于軌道電路,定義它的外部輸入為RA(t1),對外輸出為YA(t4),其中的t1表示在t1時刻產生的外部輸入,下標A表示輸入和輸出都是針對A事件產生的,那么YA(t4)則表示針對A事件在t4時刻仿真子系統給出了輸出。

經過一定通信延時在t2時刻,對于碼序評測,從軌道電路和外部接口中采集到RA(t1)的數據,定義這些數據輸入為RA(t2)和YB(t2)。顯然RA(t1)=RA(t2),YB(t2)則是針對A事件之前的B事件所做出的輸出響應經過數據采集后輸入至碼序評測,YB(t2)并不一定等于YA(t4),碼序評測經過處理在t3時刻給出碼序的輸出YA(t3),根據評測的定義,需要比對的就是YA(t4)和YA(t3)這兩個值,判斷其是否一致,但在t3時刻,能夠進行比較的是YA(t3)和YB(t2),由于YB(t2)和YA(t4)之間的關系,導致比較的結果出現偏差。對于 t2=t1+t通信延時以及 t3=t2+t碼序評測這兩個時刻和 t1之間的時間差異,由于 t通信延時以及 t評判處理其時間跨度小,而且比較穩定,數據的輸入周期遠遠大于t通信延時以及t碼序評測帶來的延時,其影響可忽略不計。對于t4和t1的時間差異,由于影響軌道電路碼序的數據其來源很多,受到各個設備之間通信關聯的影響,延時較大,且無法預知,導致碼序評測的輸出結果要早于真實輸出的結果。為解決這一問題,在根據規則生成碼序時加入延時,保證碼序輸出和原始輸出的一致性,從而達到比對YA(t4)和YA(t3)的目的。
軌道電路碼序作為客運專線中列車行車的重要依據,以往針對碼序的測試都是基于模塊和具體線路,缺乏一個整體綜合考慮的方法,本文提出的基于知識工程對碼序進行集中實時評測的方法,能夠提高碼序測試的效率,減少人工和時間成本,并且能發現人工測試時可能忽略的問題。本文主要針對兩部分內容進行研究,第一部分主要研究將知識工程的概念引入碼序生成中,將碼序的生成邏輯抽象為規則,第二部分主要研究規則的選取以及實時評測的方法,提出了一種集中式全線碼序實時評測的方法。下一步的工作可以按照相同的方式對《列控中心技術規范》[12]中提及的其他部分,例如對有源應答器報文進行實時的評測,隨著規則增多,針對運營場景的改變,相應的對規則增加修改以及刪除都需要一個有效的管理方法。如何建立一個有效地針對規則的管理方法也是需要考慮的問題。
[1]楊肖鵬,高建強,李遠剛.列控系統中心接口分析[J].鐵道工程學報,2007,101(2):75-77.
[2]李亮,鄭樂藩,張智奇.CTCS-2級列控系統幾個問題的探討[J]. 鐵道通信信號, 2008,(5):17-18.
[3]黃祖成,張秀梅.客運專線CTCS-2級列控中心測試平臺的研究探討[J].鐵路通信信號工程技術,2008,5(4):11-13.
[4]肖亞榮.淺談CTCS-2級列控中心系統功能人工仿真測試[J].鐵道通信信號,2008,44(2):24-25.
[5]李銘.客運專線CTCS-2級列控中心功能仿真研究 [D]. 成都:西南交通大學, 2009 .
[6]鄧紫陽.基于著色Petri網CTCS-3級列控中心建模與仿真研究 [D]. 北京:北京交通大學, 2009.
[7]李驥群.CTCS-2級列控系統列控中心子系統仿真設計與研究 [D]. 成都:西南交通大學, 2010 .
[8]劉林發.客運專線列控仿真系統控制中心的研究[D]. 成都:西南交通大學, 2009..
[9]宋廣謙,周炎.石太客運專線碼序表設計[J].鐵道通信信號.2009 (5):8-10.
[10] EA Feigenbaum, The art of artificial intelligence: I. themes and case studies of knowledge engineering,Stanford Heuristic Programming Project Memo HPP-77-25 Computer Science Department Report [R]. 1977.
[11]王智明,楊旭,平海濤.知識工程及專家系統[M].北京:化學工業出版社,2006.
[12]科技運[2010]138號 列控中心技術規范[S].