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