隨著鐵路運(yùn)輸速度的加快,實(shí)現(xiàn)鐵路電力調(diào)度的集中監(jiān)控和指揮變得越來(lái)越關(guān)鍵。模擬板可以直接反映出各項(xiàng)設(shè)備和供電線路的運(yùn)行狀態(tài),在電力調(diào)度作業(yè)中扮演了不可或缺的角色。然而,目前許多模擬板系統(tǒng)的設(shè)計(jì)仍舊采用了過(guò)程式編程語(yǔ)言,這導(dǎo)致了模型缺乏統(tǒng)一性,結(jié)果便是一旦需求展開(kāi)或部分修改,就不可避免地進(jìn)行大面積的重構(gòu)和編程修改,從而增加了成本。
為了克服模擬板系統(tǒng)設(shè)計(jì)中的這些缺點(diǎn),本研究探索了采用面向?qū)ο蟮慕y(tǒng)一建模語(yǔ)言(UML)來(lái)進(jìn)行設(shè)計(jì)的原理、流程和方法,并將其與實(shí)際工程項(xiàng)目結(jié)合,進(jìn)行了具體的開(kāi)發(fā)和實(shí)踐應(yīng)用。
1、UML設(shè)計(jì)原理
如今,許多尖端的應(yīng)用系統(tǒng)開(kāi)發(fā)團(tuán)隊(duì)在分析、設(shè)計(jì)、編程和測(cè)試的各個(gè)階段都已全面采納了面向?qū)ο蟮拈_(kāi)發(fā)方法,這一做法已經(jīng)成為軟件應(yīng)用開(kāi)發(fā)領(lǐng)域的主導(dǎo)技術(shù)。統(tǒng)一建模語(yǔ)言(UML)僅是一套建模工具,且其設(shè)計(jì)思想與具體的編程語(yǔ)言無(wú)關(guān)?;谶@一特性,就像可以將UML模型轉(zhuǎn)換為源代碼一樣,源代碼也可以被還原為UML模型,這個(gè)過(guò)程通常被稱為“逆向工程”。
1.1 UML語(yǔ)言介紹
在1997年,統(tǒng)一建模語(yǔ)言(UML)被提交給了對(duì)象管理組(OMG),并被接受作為面向?qū)ο蠓治龊驮O(shè)計(jì)的標(biāo)準(zhǔn)建模語(yǔ)言。UML自那時(shí)起不斷地在進(jìn)化和改進(jìn)中,OMG發(fā)布的較新版是UML 2.0。在美國(guó)和西歐等地區(qū),大批軟件開(kāi)發(fā)機(jī)構(gòu)已經(jīng)開(kāi)始采用UML進(jìn)行系統(tǒng)建模,而在國(guó)內(nèi),也有越來(lái)越多的開(kāi)發(fā)組織在探索和采納這種做法。
UML是一種專為軟件密集型系統(tǒng)的可視化、規(guī)范化、建構(gòu)和文檔化而設(shè)計(jì)的建模語(yǔ)言,它主要被應(yīng)用于系統(tǒng)的分析和設(shè)計(jì)階段。UML的能力在于它能夠以前所未有的方式表達(dá)系統(tǒng)模型,它提供了一種比以往任何面向?qū)ο蟮姆治龊驮O(shè)計(jì)方法都更為強(qiáng)大的系統(tǒng)表達(dá)能力。
UML特別適合于面向?qū)ο蟮姆治龊驮O(shè)計(jì)階段的系統(tǒng)建模,能夠深刻地描述和表達(dá)系統(tǒng)的結(jié)構(gòu)與行為。UML的描述可以分為三個(gè)主要的視圖領(lǐng)域:結(jié)構(gòu)視圖、行為視圖和模型管理視圖。其中,結(jié)構(gòu)視圖包含了用例圖、類圖、對(duì)象圖、構(gòu)件圖和部署圖;行為視圖涵蓋了順序圖、協(xié)作圖、狀態(tài)圖和活動(dòng)圖;而模型管理視圖則包括了模型、包和子系統(tǒng)等方面的描述。通過(guò)這些視圖和圖表,UML提供了一套全面的工具集,以支持復(fù)雜系統(tǒng)的分析和設(shè)計(jì)。
1.2 模型與設(shè)計(jì)
(1)增量迭代開(kāi)發(fā)模式
在面向?qū)ο蟮姆椒ㄕ撝?,基本的理念是以天然的分區(qū)對(duì)問(wèn)題域進(jìn)行劃分,構(gòu)建符合人類認(rèn)知習(xí)慣的問(wèn)題領(lǐng)域模型,以實(shí)現(xiàn)對(duì)實(shí)體的結(jié)構(gòu)和行為進(jìn)行仿真。這樣的方法意在讓設(shè)計(jì)工作更加貼合現(xiàn)實(shí)世界的情況,進(jìn)而打造出模塊化、可復(fù)用且易于維護(hù)的系統(tǒng)架構(gòu)。
利用UML建模工具的面向?qū)ο笙到y(tǒng),可以應(yīng)用一種遞增式的迭代開(kāi)發(fā)模型,其工作流程分為以下幾個(gè)階段:1)需求收集,包含系統(tǒng)的基本功能要求及對(duì)計(jì)算機(jī)系統(tǒng)的具體需求;2)需求分析,任務(wù)是識(shí)別并描述系統(tǒng)的全部需求,以用例圖的形式體現(xiàn)系統(tǒng)的外部功能需求;3)系統(tǒng)設(shè)計(jì),此階段的目標(biāo)是拓展和精細(xì)化分析階段的模型,設(shè)計(jì)過(guò)程可以從序列圖入手,利用序列圖展現(xiàn)用例的行為序列,其中每個(gè)消息都對(duì)應(yīng)類的操作或狀態(tài)的轉(zhuǎn)化;4)系統(tǒng)實(shí)現(xiàn),即編碼階段,將設(shè)計(jì)轉(zhuǎn)化為程序代碼;5)系統(tǒng)測(cè)試,編碼完成后對(duì)系統(tǒng)進(jìn)行測(cè)試,以驗(yàn)證其功能的正確性。
(2)功能用例
模擬板系統(tǒng)的核心功能包括處理批量遙信、單個(gè)遙信的正常變位與事故變位、模擬板的復(fù)位、遙信全合閘亮屏、遙信全分閘暗屏、遙信燈閃光、亮盤運(yùn)行、暗盤運(yùn)行、停止閃光、調(diào)光操作、時(shí)間顯示、事故停表、安全生產(chǎn)日數(shù)的顯示、預(yù)告與事故聲音警報(bào)、單個(gè)遙信的閃光控制等。以下是該系統(tǒng)的功能用例圖的描述。
(3)交互設(shè)計(jì)
采用JAVA分布式技術(shù),將模擬板的實(shí)體設(shè)計(jì)為一個(gè)分布式對(duì)象,命名為MMPApp,并將其綁定至模擬板控制機(jī)的端口上進(jìn)行發(fā)布和訪問(wèn)接口提供,以便與調(diào)度員工作站的遠(yuǎn)程動(dòng)作系統(tǒng)進(jìn)行交互。此外,該對(duì)象也能夠?qū)崿F(xiàn)與實(shí)時(shí)數(shù)據(jù)庫(kù)間的信息交互。
模擬板組件主要通過(guò)遠(yuǎn)程調(diào)用與遠(yuǎn)動(dòng)調(diào)度實(shí)時(shí)數(shù)據(jù)庫(kù)組件和調(diào)度人機(jī)接口組件進(jìn)行交互。實(shí)時(shí)數(shù)據(jù)庫(kù)組件用于提供常規(guī)遙信、遙測(cè)、事故觸發(fā)、GPS校時(shí)、記錄安全生產(chǎn)天數(shù)等信息。而調(diào)度人機(jī)接口組件則提供多級(jí)調(diào)光、事故清閃、報(bào)警復(fù)位、全屏操作等信息的功能。
2主要程序流程與技巧
2.1 基本遙信數(shù)據(jù)顯示過(guò)程的優(yōu)化描述
利用線程池技術(shù),當(dāng)線程激活時(shí),流程首先在模擬板地址數(shù)據(jù)庫(kù)中定位顯示地址。隨后,該流程將從遠(yuǎn)程實(shí)時(shí)數(shù)據(jù)庫(kù)中檢索要顯示的數(shù)據(jù),并組織這些數(shù)據(jù)成為報(bào)文來(lái)驅(qū)動(dòng)對(duì)應(yīng)的信號(hào)燈。
在模擬板通信程序啟動(dòng)期間,批量報(bào)文會(huì)被構(gòu)建并發(fā)送以初始化顯示。系統(tǒng)穩(wěn)定運(yùn)行后,對(duì)于收到的單個(gè)遙信,會(huì)根據(jù)其狀態(tài)是正常還是事故,分別發(fā)送相應(yīng)的單個(gè)遙信正?;蚴鹿首兾粓?bào)文。安全天數(shù)和GPS時(shí)間同步報(bào)文也采取類似的發(fā)送機(jī)制。
2.2 供電網(wǎng)絡(luò)拓?fù)錉顟B(tài)指示流程的簡(jiǎn)化描述
傳統(tǒng)的遠(yuǎn)動(dòng)系統(tǒng)著重于四遙(遙測(cè)、遙信、遙控、遙調(diào))功能,并通過(guò)RTU直接傳輸現(xiàn)場(chǎng)信息以反映設(shè)備狀態(tài)。隨著調(diào)度自動(dòng)化系統(tǒng)的演進(jìn)以及用戶需求的增長(zhǎng),調(diào)度模擬板系統(tǒng)需要顯示供電網(wǎng)絡(luò)的拓?fù)錉顟B(tài),這為調(diào)度員提供了很大的便利以確認(rèn)哪些線路是通電或斷電狀態(tài)。
由于線路狀態(tài)不是通過(guò)傳感器采集而是通過(guò)計(jì)算得出的,這些數(shù)據(jù)稱為拓?fù)淞?。在?shí)時(shí)數(shù)據(jù)庫(kù)的拓?fù)淞坑?jì)算模塊中完成所有線路狀態(tài)的計(jì)算后,結(jié)果被存儲(chǔ)在內(nèi)存中的實(shí)時(shí)數(shù)據(jù)庫(kù)。模擬板系統(tǒng)隨后組織這些計(jì)算結(jié)果成報(bào)文,發(fā)送至模擬板進(jìn)行解析和顯示。實(shí)時(shí)數(shù)據(jù)的轉(zhuǎn)發(fā)、計(jì)算和協(xié)作過(guò)程如圖4所示。
當(dāng)調(diào)度員發(fā)出事故恢復(fù)指令時(shí),MNPApp對(duì)象同樣會(huì)暫停相應(yīng)屏幕的遙信線程,并以優(yōu)先級(jí)順序發(fā)送事故恢復(fù)報(bào)文、時(shí)間同步報(bào)文以及用于清除事故狀態(tài)指示的報(bào)文。這些處理完成后,遙信線程會(huì)自動(dòng)恢復(fù)。
3工程開(kāi)發(fā)與應(yīng)用
3.1 工程背景改寫(xiě)
西安鐵路局電力調(diào)度中心的隴海線歷來(lái)依賴日本日立公司提供的遠(yuǎn)動(dòng)監(jiān)控系統(tǒng)進(jìn)行運(yùn)行管理。但由于鐵路運(yùn)輸業(yè)務(wù)的快速發(fā)展,以及對(duì)速度提升和運(yùn)輸能力擴(kuò)增的需求,原系統(tǒng)的一些部件日益難以更換和維護(hù)。為了適應(yīng)這些新的要求,西安鐵路局決定采用新一代電氣化鐵道遠(yuǎn)動(dòng)自動(dòng)化系統(tǒng),并對(duì)既有的電力調(diào)度模擬板系統(tǒng)進(jìn)行徹底的升級(jí)改造。本項(xiàng)目就是在現(xiàn)有遠(yuǎn)動(dòng)實(shí)時(shí)數(shù)據(jù)庫(kù)系統(tǒng)的基礎(chǔ)上,研發(fā)了一套先進(jìn)的模擬板系統(tǒng)。
3.2 系統(tǒng)功能改寫(xiě)
新系統(tǒng)包括一個(gè)在模擬板控制機(jī)上運(yùn)行的通訊程序,它負(fù)責(zé)實(shí)時(shí)數(shù)據(jù)庫(kù)與配備NSMJ型智能接口盒的模擬板之間的串行通信。系統(tǒng)不僅能實(shí)時(shí)更新遙信和遙測(cè)數(shù)據(jù),并在模擬板上直觀地展示牽引供電系統(tǒng)的接線圖以及線路的電流狀態(tài),還能進(jìn)行事故報(bào)警和信號(hào)閃爍指示。此外,操作人員可以通過(guò)調(diào)度主機(jī)對(duì)模擬板執(zhí)行屏幕控制,包括全屏點(diǎn)亮或熄滅、事故閃爍和清除閃爍、屏幕亮度的多級(jí)調(diào)節(jié),以及在遠(yuǎn)動(dòng)系統(tǒng)發(fā)生事故時(shí)自動(dòng)激活全屏點(diǎn)亮等多個(gè)功能。
3.3 投入運(yùn)營(yíng)改寫(xiě)
在實(shí)際的運(yùn)行環(huán)境中,模擬板系統(tǒng)采用了多屏幕的分布式布局和安裝策略。各模擬板通過(guò)智能接口盒利用RS232接口與通信終端服務(wù)器相連,該服務(wù)器負(fù)責(zé)將串行通信數(shù)據(jù)轉(zhuǎn)換為網(wǎng)絡(luò)通信數(shù)據(jù),如圖6所示。三個(gè)操作臺(tái)分別控制1#屏、2#屏和3#屏。通過(guò)配置有多串口功能的DeviceMaster終端服務(wù)器,模擬板控制機(jī)能夠同時(shí)與三個(gè)模擬板進(jìn)行通信,實(shí)現(xiàn)數(shù)據(jù)的實(shí)時(shí)顯示和控制操作。
UML是制定系統(tǒng)架構(gòu)圖的標(biāo)準(zhǔn)化語(yǔ)言。它使得構(gòu)建復(fù)雜系統(tǒng)的視覺(jué)模型成為可能,不僅支持功能用例的建模,還可以用于精細(xì)化的業(yè)務(wù)流程建模。利用UML進(jìn)行反向工程有助于確保模型與代碼保持同步。UML設(shè)計(jì)的核心技術(shù)在于使用基于用例驅(qū)動(dòng)的UML增量迭代模型方法進(jìn)行設(shè)計(jì)。本研究所設(shè)計(jì)的模擬板系統(tǒng),改善了在復(fù)雜系統(tǒng)中存在的用例數(shù)量龐大、用例間交互復(fù)雜和工作量大等問(wèn)題,減少了用例生成的重復(fù)性。實(shí)現(xiàn)的關(guān)鍵流程包括基本遙信數(shù)據(jù)顯示、供電網(wǎng)絡(luò)拓?fù)涞墓鈳д故尽⒛M板亮度調(diào)節(jié)控制、以及事故指示閃爍和清除等流程。
采用UML迭代模型進(jìn)行改進(jìn)的鐵路電力調(diào)度模擬板系統(tǒng)已投入使用很過(guò)兩年。在這段時(shí)間內(nèi),虢鎮(zhèn)牽引變電所的饋出線路進(jìn)行了改造。由于系統(tǒng)采用了UML設(shè)計(jì),即使在進(jìn)行物理改造時(shí),模擬板系統(tǒng)的軟件也無(wú)需進(jìn)行任何調(diào)整,這證明了UML設(shè)計(jì)方法的統(tǒng)一性和可持續(xù)性,且實(shí)際應(yīng)用效果證明其優(yōu)勢(shì)顯著。