- 相關(guān)推薦
構(gòu)件化的航天用數(shù)據(jù)傳輸處理系統(tǒng)構(gòu)建
軟件復(fù)用是指重復(fù)使用為避免重復(fù)開發(fā)同樣或類似工作產(chǎn)品的過程,下面是小編搜集的一篇-相關(guān)論文范文,歡迎閱讀借鑒。
1、引言
作為一種擺脫軟件危機的手段,軟件復(fù)用能夠有效克服軟件開發(fā)中經(jīng)常出現(xiàn)的開發(fā)效率低、費用高、開發(fā)周期長、系統(tǒng)難以維護、軟件質(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ā)周期,減小軟件的維護成本,是我們面臨的一個重要課題。
本文基于Windows系統(tǒng),采用軟件總線模型層次化設(shè)備模型,構(gòu)建了一個構(gòu)件化的數(shù)據(jù)傳輸處理系統(tǒng)實例,實現(xiàn)了該領(lǐng)域內(nèi)軟件的二進制復(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é)議支配下進行通信:向設(shè)備發(fā)送上行遙控信息、軌道預(yù)報信息,接收設(shè)備解調(diào)的遙測信息、測量信息等。
(2)與中心的數(shù)據(jù)通信
數(shù)據(jù)傳輸處理系統(tǒng)與中心的數(shù)據(jù)通信一般使用多路通信板或網(wǎng)絡(luò)方式進行通信,采用簡化HDLC規(guī)程或TCP/IP協(xié)議作為通信協(xié)議。實時向中心發(fā)送設(shè)備的測量信息、控制結(jié)果信息等,接收并轉(zhuǎn)發(fā)中心發(fā)送的遙控指令以及軌道預(yù)報。
(3)實時數(shù)據(jù)處理
主要包括遙測挑點處理、外測數(shù)據(jù)處理以及控制量計算三部分。
(4)事后處理
事后處理是指在任務(wù)跟蹤結(jié)束后對實時記錄測量和控制數(shù)據(jù)進行處理,包括顯示、打印和重發(fā)以及數(shù)據(jù)的精度分析等。
3、需求分析
3.1角色識別
通過對航天測控站數(shù)據(jù)傳輸處理系統(tǒng)的任務(wù)進行分析,可識別出操作員、中心、各設(shè)備分機、雙工控制臺、時統(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(ObjectManagementGroup)的CORBA,這些技術(shù)相對比較復(fù)雜,程序不易理解。航天測控站數(shù)據(jù)傳輸處理系統(tǒng)的設(shè)計基于Windows系統(tǒng),要充分復(fù)用已有的軟件資源,在對現(xiàn)有功能模塊進行重構(gòu)的基礎(chǔ)上,開發(fā)設(shè)計基于構(gòu)件技術(shù)的體系架構(gòu),實現(xià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)衡分析方法(ArchitectureTrade-offAnalysisMethod,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ù)信息、計劃信息、主備機信息、系統(tǒng)路由信息、各軟件部件的信息描述、各軟件部件的命令接口以及命令接口描述、系統(tǒng)內(nèi)部動態(tài)數(shù)據(jù)信息。在系統(tǒng)中,各處理部件將自己的信息描述、命令接口描述以及命令接口注冊到系統(tǒng)總線上,同時向總線申請本軟件部件要處理的數(shù)據(jù)以及對應(yīng)數(shù)據(jù)的接收地址,系統(tǒng)總線負責(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)的通信機制
系統(tǒng)設(shè)計了專門的通信區(qū)域作為進程間通信的手段。通信區(qū)域采用Windows的內(nèi)存映射文件傳送數(shù)據(jù)、利用事件同步數(shù)據(jù)的發(fā)送與接收、利用環(huán)形隊列緩沖數(shù)據(jù)的"進程-進程"之間高速單方向通信的機制[12-13].對每個通信區(qū)域定義區(qū)域名稱、地址標(biāo)識、區(qū)域長度、緩沖區(qū)個數(shù)等信息,并且與唯一的一個接收者相關(guān)聯(lián)。通信區(qū)域有一個接收者,但可以有多個發(fā)送者。對于使用者來說,只需要知道某個通信區(qū)域的去向即可,不必了解數(shù)據(jù)傳輸?shù)娜魏渭毠?jié),所有實現(xiàn)的細節(jié)都已經(jīng)被封裝。
4.3系統(tǒng)容器和運行機理
系統(tǒng)設(shè)計了一個控制程序負責(zé)處理其他構(gòu)件的加載、卸載以及管理、配置工作。系統(tǒng)通過信息處理構(gòu)件(系統(tǒng)數(shù)據(jù)總線)向外與其他構(gòu)件進行信息交換,該構(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)件使用兩種注冊機制---靜態(tài)注冊和動態(tài)注冊。
(1)靜態(tài)注冊
靜態(tài)注冊在控制程序運行前進行。通過預(yù)先定義好描述的方式,將自身的信息寫入系統(tǒng)描述表,包括可執(zhí)行文件名稱、運行路徑、命令接口地址等,控制程序運行時自動加載該描述表。
(2)動態(tài)注冊
在控制程序運行后向控制程序動態(tài)注冊,包括可執(zhí)行文件名稱、運行路徑、命令接口地址等信息。
4.5構(gòu)件化設(shè)計
通過對系統(tǒng)進行分析,按照構(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í)行程序(進程),這種形式的程序只要符合系統(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)的容器,負責(zé)創(chuàng)建和管理其他進程---時間服務(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ù)注冊注銷機制,并在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)的可裁剪性、可擴充性;(2)以構(gòu)件單元進行組裝和復(fù)用,提高了軟件的復(fù)用程度,降低了軟件的生產(chǎn)維護成本,加快了軟件的開發(fā)速度,增強了系統(tǒng)的可靠性;(3)采用內(nèi)存映射文件技術(shù),結(jié)合數(shù)據(jù)注冊機制,解決了系統(tǒng)連接構(gòu)件設(shè)計實現(xiàn)的難點,使得系統(tǒng)內(nèi)部信息流轉(zhuǎn)和交換更加方便靈活。
參考文獻:
[1]史浩輝,何煒.基于構(gòu)件的指控軟件復(fù)用[J].計算機技術(shù)與發(fā)展,2011,2l(2):160-165.
【構(gòu)件化的航天用數(shù)據(jù)傳輸處理系統(tǒng)構(gòu)建】相關(guān)文章:
創(chuàng)建自己的Dephi構(gòu)件03-18
金融服務(wù)品質(zhì)個性化模式的構(gòu)建策略12-10
有關(guān)構(gòu)建林業(yè)產(chǎn)業(yè)化經(jīng)營體系的研究03-18
關(guān)于構(gòu)建林業(yè)產(chǎn)業(yè)化經(jīng)營體系的研究03-18
淺論口譯教學(xué)多元化評估體系的構(gòu)建03-18
專門化立法與沖突法重述的構(gòu)建11-20
配網(wǎng)調(diào)度自動化系統(tǒng)方案構(gòu)建11-10
關(guān)于統(tǒng)一化構(gòu)建我國執(zhí)行體制的思考11-22
信息構(gòu)建與知識構(gòu)建12-04