構(gòu)件化的航天用數(shù)據(jù)傳輸處理系統(tǒng)構(gòu)建論文
1 引 言
軟件復(fù)用是指重復(fù)使用為避免重復(fù)開發(fā)同樣或類似工作產(chǎn)品的過程[1].作為一種擺脫軟件危機(jī)的手段,它能夠有效克服軟件開發(fā)中經(jīng)常出現(xiàn)的開發(fā)效率低、費用高、開發(fā)周期長、系統(tǒng)難以維護(hù)、軟件質(zhì)量難以保證等問題[2].
隨著對軟件復(fù)用實踐的深入,構(gòu)件技術(shù)得到飛速發(fā)展[3].軟件構(gòu)件技術(shù)是支持軟件復(fù)用的核心技術(shù)[4],構(gòu)件通過接口與外界交互,可通過相同接口構(gòu)件替換原有構(gòu)件[5].這種方式徹底顛覆了手工作坊式的軟件開發(fā)模式,給軟件開發(fā)人員在設(shè)計、編碼等方面了帶來了很大的靈活度,正在成為軟件設(shè)計領(lǐng)域新的趨勢[6].
在航天測控領(lǐng)域,測控應(yīng)用軟件復(fù)用技術(shù)的研究歷來受到關(guān)注和重視。隨著載人航天工程、探月工程的不斷深入,我國航天測控網(wǎng)不斷有新的測控設(shè)備投入使用[7].而航天測控站數(shù)據(jù)傳輸處理系統(tǒng)是各測控設(shè)備不可或缺的一個分系統(tǒng),它承擔(dān)著與測控中心之間的信息交換及部分信息處理任務(wù),如何提高該軟件系統(tǒng)的開發(fā)效率,提高軟件質(zhì)量,縮短軟件開發(fā)周期,減小軟件的維護(hù)成本,是我們面臨的一個重要課題。
本文基于 Windows 系統(tǒng),采用軟件總線模型層次化設(shè)備模型,構(gòu)建了一個構(gòu)件化的數(shù)據(jù)傳輸處理系統(tǒng)實例,實現(xiàn)了該領(lǐng)域內(nèi)軟件的二進(jìn)制復(fù)用,提高了系統(tǒng)的可靠性和軟件的開發(fā)效率。
2 數(shù)據(jù)傳輸處理系統(tǒng)任務(wù)
航天測控系統(tǒng)由測控中心、測控站、通信系統(tǒng)等組成[8].數(shù)據(jù)傳輸處理系統(tǒng)是航天測控網(wǎng)的基本節(jié)點,主要完成與測控設(shè)備通信、與中心的數(shù)據(jù)通信、實時數(shù)據(jù)處理和事后處理功能。
(1) 與測控設(shè)備通信
數(shù)據(jù)傳輸處理系統(tǒng)與測控設(shè)備之間通過通信接口部件(以太網(wǎng)、多路通信板、CCP 或?qū)S媒涌冢?連接,在相關(guān)的協(xié)議支配下進(jìn)行通信: 向設(shè)備發(fā)送上行遙控信息、軌道預(yù)報信息,接收設(shè)備解調(diào)的遙測信息、測量信息等。
。2) 與中心的數(shù)據(jù)通信
數(shù)據(jù)傳輸處理系統(tǒng)與中心的數(shù)據(jù)通信一般使用多路通信板或網(wǎng)絡(luò)方式進(jìn)行通信,采用簡化 HDLC規(guī)程或 TCP/IP 協(xié)議作為通信協(xié)議。實時向中心發(fā)送設(shè)備的測量信息、控制結(jié)果信息等,接收并轉(zhuǎn)發(fā)中心發(fā)送的遙控指令以及軌道預(yù)報。
。3) 實時數(shù)據(jù)處理
主要包括遙測挑點處理、外測數(shù)據(jù)處理以及控制量計算三部分。
。4) 事后處理
事后處理是指在任務(wù)跟蹤結(jié)束后對實時記錄測量和控制數(shù)據(jù)進(jìn)行處理,包括顯示、打印和重發(fā)以及數(shù)據(jù)的精度分析等。
3 需求分析
3. 1 角色識別
通過對航天測控站數(shù)據(jù)傳輸處理系統(tǒng)的任務(wù)進(jìn)行分析,可識別出操作員、中心、各設(shè)備分機(jī)、雙工控制臺、時統(tǒng)設(shè)備、模擬器等 10 類角色,經(jīng)過抽象,劃分為操作員、網(wǎng)絡(luò)用戶、HDLC 用戶、串口用戶、站時統(tǒng) 5 類用戶。
3. 2 功能需求
根據(jù)數(shù)據(jù)傳輸處理系統(tǒng)承擔(dān)的任務(wù),分析后將系統(tǒng)抽象為如下用例模型[9],如圖 1 所示。
3. 3 系統(tǒng)約束
當(dāng)前比較成熟的構(gòu)件模型主要有 Microsoft 公司的 COM/DCOM/COM + 、SUN 公司的 JavaBeans/EJB 和 OMG(Object Management Group) 的 CORBA,這些技術(shù)相對比較復(fù)雜,程序不易理解。航天測控站數(shù)據(jù)傳輸處理系統(tǒng)的設(shè)計基于Windows 系統(tǒng),要充分復(fù)用已有的軟件資源,在對現(xiàn)有功能模塊進(jìn)行重構(gòu)的基礎(chǔ)上,開發(fā)設(shè)計基于構(gòu)件技術(shù)的體系架構(gòu),實現(xiàn)二進(jìn)制級別的軟件復(fù)用,提高系統(tǒng)的可靠性,減少軟件的重復(fù)開發(fā),實現(xiàn)多設(shè)備之間軟件版本的統(tǒng)一。
4 構(gòu)件化設(shè)計及實現(xiàn)
4. 1 系統(tǒng)體系結(jié)構(gòu)設(shè)計
按照體系結(jié)構(gòu)權(quán)衡分析方法(Architecture Trade- off Analysis Method,ATAM)[10],綜合目前常用的系統(tǒng)體系結(jié)構(gòu)風(fēng)格[11],結(jié)合構(gòu)件化方法,數(shù)據(jù)傳輸處理系統(tǒng)采用層次模型和軟件總線模型相結(jié)合的風(fēng)格,該模型結(jié)構(gòu)如圖 2 所示。
在系統(tǒng)底層,將與通信有關(guān)的部分軟件部件設(shè)計為層次結(jié)構(gòu),包含服務(wù)程序、通信接口、通信程序3 層。在系統(tǒng)上層,設(shè)計為軟件總線結(jié)構(gòu),總線中包含系統(tǒng)任務(wù)信息、計劃信息、主備機(jī)信息、系統(tǒng)路由信息、各軟件部件的信息描述、各軟件部件的命令接口以及命令接口描述、系統(tǒng)內(nèi)部動態(tài)數(shù)據(jù)信息。在系統(tǒng)中,各處理部件將自己的信息描述、命令接口描述以及命令接口注冊到系統(tǒng)總線上,同時向總線申請本軟件部件要處理的數(shù)據(jù)以及對應(yīng)數(shù)據(jù)的接收地址,系統(tǒng)總線負(fù)責(zé)在系統(tǒng)動態(tài)數(shù)據(jù)中查找各個軟件部件注冊的.信息,并按要求向?qū)?yīng)的地址發(fā)送。各軟件部件處理完畢后,如果要產(chǎn)生結(jié)果數(shù)據(jù),則將數(shù)據(jù)發(fā)送到系統(tǒng)總線上。
4. 2 系統(tǒng)的通信機(jī)制
系統(tǒng)設(shè)計了專門的通信區(qū)域作為進(jìn)程間通信的手段。通信區(qū)域采用 Windows 的內(nèi)存映射文件傳送數(shù)據(jù)、利用事件同步數(shù)據(jù)的發(fā)送與接收、利用環(huán)形隊列緩沖數(shù)據(jù)的"進(jìn)程 - 進(jìn)程"之間高速單方向通信的機(jī)制[12 -13].對每個通信區(qū)域定義區(qū)域名稱、地址標(biāo)識、區(qū)域長度、緩沖區(qū)個數(shù)等信息,并且與唯一的一個接收者相關(guān)聯(lián)。通信區(qū)域有一個接收者,但可以有多個發(fā)送者。對于使用者來說,只需要知道某個通信區(qū)域的去向即可,不必了解數(shù)據(jù)傳輸?shù)娜魏渭?xì)節(jié),所有實現(xiàn)的細(xì)節(jié)都已經(jīng)被封裝。
4. 3 系統(tǒng)容器和運行機(jī)理
系統(tǒng)設(shè)計了一個控制程序負(fù)責(zé)處理其他構(gòu)件的加載、卸載以及管理、配置工作。系統(tǒng)通過信息處理構(gòu)件(系統(tǒng)數(shù)據(jù)總線) 向外與其他構(gòu)件進(jìn)行信息交換,該構(gòu)件預(yù)定義了一個命令接口和一個數(shù)據(jù)接口: 通過命令接口接收其他構(gòu)件的注冊或注銷命令,按照其他構(gòu)件注冊信息的類別,將所注冊信息發(fā)送給定的地址; 通過數(shù)據(jù)接口接收系統(tǒng)內(nèi)部的動態(tài)信息。
其他處理構(gòu)件向信息處理構(gòu)件注冊自己關(guān)心的信息,并從給定的地址接收信息,處理后,發(fā)送到信息處理構(gòu)件數(shù)據(jù)接口。系統(tǒng)的信息流轉(zhuǎn)方式參見圖3.
4. 4 信息注冊
在系統(tǒng)數(shù)據(jù)總線上,構(gòu)件使用兩種注冊機(jī)制---靜態(tài)注冊和動態(tài)注冊。
。1) 靜態(tài)注冊
靜態(tài)注冊在控制程序運行前進(jìn)行。通過預(yù)先定義好描述的方式,將自身的信息寫入系統(tǒng)描述表,包括可執(zhí)行文件名稱、運行路徑、命令接口地址等,控制程序運行時自動加載該描述表。
。2) 動態(tài)注冊
在控制程序運行后向控制程序動態(tài)注冊,包括可執(zhí)行文件名稱、運行路徑、命令接口地址等信息。
4. 5 構(gòu)件化設(shè)計
通過對系統(tǒng)進(jìn)行分析,按照構(gòu)件抽取理論,從數(shù)據(jù)傳輸處理系統(tǒng)抽取出數(shù)據(jù)平滑、外測數(shù)據(jù)處理、系統(tǒng)框架、雙工控制、信息管理、軌道預(yù)報、數(shù)據(jù)比對等系列構(gòu)件。按照構(gòu)件的運行特點和功能,將構(gòu)件設(shè)計為可執(zhí)行程序和動態(tài)鏈接庫兩種形式。
。1) 可執(zhí)行程序形式
將網(wǎng)絡(luò)通信、HDLC 通信、串口通信、時間管理、遙控處理、章動控制、姿章聯(lián)控、雙工控制、數(shù)據(jù)服務(wù)等設(shè)計為可執(zhí)行程序(進(jìn)程) ,這種形式的程序只要符合系統(tǒng)的調(diào)用規(guī)范,可以隨時加入系統(tǒng)。
。2) 動態(tài)鏈接庫形式
將中心多項式平滑、軌道預(yù)報、數(shù)據(jù)比對、數(shù)據(jù)通信區(qū)設(shè)計為動態(tài)鏈接庫 (DLL) 形式。其中Dtes. exe + FrameWork. dll 為整個系統(tǒng)的容器,負(fù)責(zé)創(chuàng)建和管理其他進(jìn)程---時間服務(wù)、網(wǎng)絡(luò)服務(wù)、串口服務(wù)、CCP 服務(wù)、通信管理、數(shù)據(jù)存儲、外測處理、數(shù)字引導(dǎo)、軌道預(yù)報、系統(tǒng)雙工處理等,而這些構(gòu)件基于 Dt-esBase. dll、MemArea. dll、OrbitForcast. dll、Encrypt. dll等動態(tài)鏈接庫構(gòu)件運行。系統(tǒng)部署圖[14]見圖4.
5 結(jié)束語
本文針對測控軟件開發(fā)中存在復(fù)用性差的問題,提出了構(gòu)件化設(shè)計的理念,提出并實現(xiàn)了構(gòu)件化設(shè)計、軟件總線體系結(jié)構(gòu)、層次化的虛擬設(shè)備、數(shù)據(jù)注冊注銷機(jī)制,并在 Windows 平臺上開發(fā)設(shè)計了一種測控站數(shù)據(jù)傳輸處理軟件系統(tǒng)實例。這種方法與模塊復(fù)用相比,實現(xiàn)了業(yè)務(wù)功能構(gòu)件的動態(tài)組裝,和商業(yè)化的組件技術(shù)相比,框架簡單,容易理解和開發(fā)。該系統(tǒng)已經(jīng)部署在數(shù)十套不同類型的測控設(shè)備上,參加了數(shù)十次大型試驗任務(wù),實踐證明,該方法具有下列優(yōu)點:(1) 采用構(gòu)件化技術(shù),結(jié)合軟件總線模型體系結(jié)構(gòu),設(shè)計實現(xiàn)了測控站數(shù)據(jù)傳輸處理系統(tǒng)的可復(fù)用構(gòu)件庫和統(tǒng)一的通信調(diào)用接口,提高了系統(tǒng)的可裁剪性、可擴(kuò)充性;(2) 以構(gòu)件單元進(jìn)行組裝和復(fù)用,提高了軟件的復(fù)用程度,降低了軟件的生產(chǎn)維護(hù)成本,加快了軟件的開發(fā)速度,增強(qiáng)了系統(tǒng)的可靠性;(3) 采用內(nèi)存映射文件技術(shù),結(jié)合數(shù)據(jù)注冊機(jī)制,解決了系統(tǒng)連接構(gòu)件設(shè)計實現(xiàn)的難點,使得系統(tǒng)內(nèi)部信息流轉(zhuǎn)和交換更加方便靈活。
參考文獻(xiàn):
[1] 史浩輝,何煒。 基于構(gòu)件的指控軟件復(fù)用[J]. 計算機(jī)技術(shù)與發(fā)展,2011,2l(2) : 160 -165.
【構(gòu)件化的航天用數(shù)據(jù)傳輸處理系統(tǒng)構(gòu)建論文】相關(guān)文章:
高校教材管理人性化構(gòu)建論文05-26
中學(xué)語文生態(tài)化課堂的構(gòu)建論文06-09
《樓宇智能化技術(shù)》課程實訓(xùn)室的構(gòu)建論文12-13
淺談高校網(wǎng)絡(luò)化數(shù)字化教學(xué)平臺的構(gòu)建論文10-28
基于GIS技術(shù)的水利信息化系統(tǒng)構(gòu)建論文11-28
構(gòu)建小學(xué)數(shù)學(xué)課堂立體化教學(xué)論文05-26
網(wǎng)絡(luò)的高校多元化招生宣傳平臺的構(gòu)建論文02-05