李強(qiáng) 涂二看見 王艷
摘? ?要:實(shí)時(shí)數(shù)據(jù)處理子系統(tǒng)是試驗(yàn)指揮控制系統(tǒng)的重要組成部分。基于軟構(gòu)件技術(shù)對(duì)其進(jìn)行設(shè)計(jì)并部分實(shí)現(xiàn),為今后試驗(yàn)指揮控制系統(tǒng)跨平臺(tái)開發(fā)和使用提供了可行的技術(shù)方案和實(shí)施途徑。
關(guān)鍵詞:試驗(yàn)指揮控制系統(tǒng);軟構(gòu)件
中圖分類號(hào):TP319? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?文獻(xiàn)標(biāo)識(shí)碼:A
Design and Implementation on Real Data Process Sub-system Based on OSGI
LI Qiang?覮,TUER Kan-jian,WANG Yan
(China Huayin Ordnance Test Center,Huayin,Shaanxi 714200,China)
Abstract:Real data process sub-system is an important part command and control system. This paper designs and partially realizes the subsystem based on software component ,which provides a feasible technical scheme and implementation approach for? future development and use of the test command and control system across platforms.
Key words:command and control system;software component
隨著武器裝備建設(shè)從機(jī)械化逐步向信息化方向的不斷發(fā)展深入,靶場試驗(yàn)指揮控制系統(tǒng)(以下簡稱指控系統(tǒng))在武器鑒定試驗(yàn)中發(fā)揮了越來越重要的作用。指控系統(tǒng)在武器鑒定試驗(yàn)中用于試驗(yàn)信息處理、信息應(yīng)用以及試驗(yàn)信息系統(tǒng)的運(yùn)行管理,其主要功能包括實(shí)時(shí)接收試驗(yàn)數(shù)據(jù)、圖像、話音等信息,處理彈道(航跡)等參數(shù),顯示試驗(yàn)態(tài)勢(shì)、軌跡曲線、參數(shù)列表、視頻圖像,并向外發(fā)送引導(dǎo)信息、指揮信息,為完成靶場各類試驗(yàn)的指揮、決策提供支持。作為指控系統(tǒng)核心部件的實(shí)時(shí)數(shù)據(jù)處理子系統(tǒng)則通過對(duì)接收的測(cè)試數(shù)據(jù)進(jìn)行綜合處理,為試驗(yàn)綜合信息顯示和設(shè)備引導(dǎo)提供數(shù)據(jù),可以說實(shí)時(shí)數(shù)據(jù)處理子系統(tǒng)工作的正常與否直接關(guān)系到指控系統(tǒng)運(yùn)行狀態(tài)的好壞,也在一定程度上直接影響了試驗(yàn)的進(jìn)程。隨著軍隊(duì)信息系統(tǒng)國產(chǎn)化進(jìn)程的推進(jìn),靶場對(duì)裝備試驗(yàn)中使用的指控系統(tǒng)開發(fā)應(yīng)用提出了更高的要求。在實(shí)際應(yīng)用中使用軟構(gòu)件技術(shù)開發(fā)可復(fù)用構(gòu)件,再通過構(gòu)件的重組構(gòu)建跨平臺(tái)的實(shí)時(shí)數(shù)據(jù)處理子系統(tǒng),可以大大減少在系統(tǒng)在開發(fā)應(yīng)用過程中的重復(fù)勞動(dòng),提高開發(fā)效率。為此,本文采用軟構(gòu)件技術(shù),研究跨平臺(tái)某試驗(yàn)指控實(shí)時(shí)處理子系統(tǒng)設(shè)計(jì),為實(shí)現(xiàn)常規(guī)試驗(yàn)靶場指控系統(tǒng)軟件的國產(chǎn)化應(yīng)用提供了新的解決思路。
1? ?軟構(gòu)件技術(shù)
軟構(gòu)件技術(shù)是當(dāng)前最重要的軟件復(fù)用技術(shù)[1],它的核心就是“即插即用”的軟構(gòu)件。軟構(gòu)件是系統(tǒng)開發(fā)過程中的各種對(duì)象(包括用戶界面、對(duì)外接口等)和對(duì)象功能進(jìn)行封裝后構(gòu)成的軟件部件[3]。設(shè)計(jì)人員通過對(duì)軟件部件組合并以軟構(gòu)件容器為基礎(chǔ)可以快速生成應(yīng)用系統(tǒng),從而進(jìn)一步提高軟件開發(fā)的可復(fù)用性、效率及質(zhì)量。常規(guī)武器試驗(yàn)作為一個(gè)特殊的領(lǐng)域,與航天及其他大型武器系統(tǒng)試驗(yàn)不同,主要特點(diǎn)表現(xiàn)為任務(wù)周期短、任務(wù)間轉(zhuǎn)換快,這樣就要求其相應(yīng)的信息系統(tǒng)具備精確、高效及快速等特征,因此采用軟構(gòu)件技術(shù)對(duì)常規(guī)武器試驗(yàn)信息系統(tǒng)開發(fā),可以完全滿足高效性、快速性要求,也使應(yīng)用系統(tǒng)擁有較好的健壯性和柔性。同時(shí),軟構(gòu)件技術(shù)的開發(fā)模型與平臺(tái)比較成熟,在進(jìn)行應(yīng)用系統(tǒng)開發(fā)開發(fā)時(shí),可以提供統(tǒng)一標(biāo)準(zhǔn),符合靶場一體化信息系統(tǒng)建設(shè)要求,也有利于未來通過系統(tǒng)軟件部件的綜合集成來實(shí)現(xiàn)各類信息系統(tǒng)間的互聯(lián)、互通、互操作。基于軟構(gòu)件技術(shù)來設(shè)計(jì)實(shí)現(xiàn)指控系統(tǒng)各個(gè)分系統(tǒng),可以針對(duì)不同的試驗(yàn)任務(wù)需求,進(jìn)行系統(tǒng)的專用軟構(gòu)件重組和復(fù)用,形成新的系統(tǒng),從而大大提高系統(tǒng)的可靠性和可復(fù)用性。
1.1? ?軟構(gòu)件系統(tǒng)的一般開發(fā)過程
軟構(gòu)件系統(tǒng)開發(fā)通常包括五部分:一是領(lǐng)域構(gòu)件的開發(fā),通過分析領(lǐng)域知識(shí)、專家經(jīng)驗(yàn)以及系統(tǒng)資料系統(tǒng)需求分析,形成系統(tǒng)領(lǐng)域構(gòu)件和專用軟構(gòu)件;二是建立軟構(gòu)件庫,將軟構(gòu)件提交入庫管理;三是軟構(gòu)件獲取和調(diào)整,將軟構(gòu)件庫中軟構(gòu)件按照實(shí)際應(yīng)用系統(tǒng)開發(fā)需求進(jìn)行調(diào)整并修改提交入庫,以適應(yīng)應(yīng)用的需要;四是系統(tǒng)軟構(gòu)件的組裝,將軟構(gòu)件庫中的滿足應(yīng)用需求的軟構(gòu)件提取并組裝到應(yīng)用系統(tǒng),測(cè)試并完成發(fā)布。通常完成軟構(gòu)件應(yīng)用系統(tǒng)的構(gòu)建,還必須建一個(gè)基礎(chǔ)設(shè)施,它能夠提供軟構(gòu)件協(xié)同的模型和軟構(gòu)件交互并完成共同任務(wù)的特定服務(wù)?;谲洏?gòu)件的信息系統(tǒng)開發(fā)過程[4]如圖1所示。
圖1? ?基于軟構(gòu)件的系統(tǒng)開發(fā)過程
1.2? ?基于OSGI的軟構(gòu)件系統(tǒng)總體框架
OSGI是一種較為通用軟構(gòu)件開發(fā)平臺(tái),它是面向Java語言的一種動(dòng)態(tài)模型系統(tǒng);它還為應(yīng)用系統(tǒng)的構(gòu)件化開發(fā)定義了一個(gè)面向服務(wù)的基礎(chǔ)架構(gòu)。OSGI把應(yīng)用程序劃分為多個(gè)構(gòu)件,多個(gè)構(gòu)件之間可相互動(dòng)態(tài)發(fā)現(xiàn)并能夠通過服務(wù)模型管理它們之間的依賴關(guān)系。OSGI系統(tǒng)通常定義了二類對(duì)象:一是系統(tǒng)容器對(duì)外提供的服務(wù)對(duì)象,二是容器與應(yīng)用程序之間強(qiáng)制協(xié)議。如果想要使用OSGI平臺(tái)上開發(fā)應(yīng)用系統(tǒng),首先必須使用OSGI API創(chuàng)建應(yīng)用,然后才能將其部署到OSGI系統(tǒng)容器中。OSGI的構(gòu)件化軟件系統(tǒng)總體框架按照分層思想可以用圖2表示:
圖2? ?OSGI軟構(gòu)件系統(tǒng)總體框架
OSGI系統(tǒng)的核心組件就是OSGI框架。此框架為OSGI開發(fā)的應(yīng)用系統(tǒng)提供了一個(gè)標(biāo)準(zhǔn)的運(yùn)行環(huán)境?;贠SGI的軟構(gòu)件開發(fā)通常分為兩個(gè)階段,第一階段是軟構(gòu)件識(shí)別與封裝,即根據(jù)領(lǐng)域知識(shí)和用戶需求將軟件劃分為若干低耦合、高內(nèi)聚的功能塊并封裝成構(gòu)件,然后通過分析構(gòu)件之間的依賴關(guān)系抽取出構(gòu)件間相互調(diào)用使用的接口;第二階段是按照構(gòu)件接口構(gòu)造系統(tǒng)內(nèi)各個(gè)構(gòu)件能夠提供的服務(wù)。服務(wù)的注冊(cè)、發(fā)現(xiàn)和綁定都由OSGI底層框架來實(shí)現(xiàn)。構(gòu)件還需要提供統(tǒng)啟動(dòng)、停止和更新服務(wù)。
2? ?數(shù)據(jù)處理系統(tǒng)設(shè)計(jì)
采用軟構(gòu)件技術(shù)設(shè)計(jì)和開發(fā)數(shù)據(jù)處理子系統(tǒng),可以參考上述軟構(gòu)件系統(tǒng)開發(fā)過程,通常先按照業(yè)務(wù)分類構(gòu)筑系統(tǒng)的總體框架,從中分析哪些是系統(tǒng)專用構(gòu)件,哪些是可以通用的領(lǐng)域構(gòu)件,然后抽取和構(gòu)造各個(gè)軟構(gòu)件,最后根據(jù)系統(tǒng)功能要求將軟構(gòu)件按構(gòu)件開發(fā)平臺(tái)提供的標(biāo)準(zhǔn)或協(xié)議組裝成系統(tǒng)。其核心基礎(chǔ)是從系統(tǒng)的基本功能需求出發(fā),將系統(tǒng)的功能分解為若干個(gè)相對(duì)獨(dú)立的功能軟構(gòu)件,并區(qū)分領(lǐng)域構(gòu)件和系統(tǒng)專用構(gòu)件,充分研究設(shè)計(jì)各軟構(gòu)件的功能與結(jié)構(gòu),降低耦合度,增加其聚合度,以提高軟構(gòu)件的可重用性,同時(shí)提高了軟件開發(fā)效率和可靠性。
2.1? ?系統(tǒng)總體設(shè)計(jì)
實(shí)時(shí)數(shù)據(jù)處理子系統(tǒng)在試驗(yàn)時(shí)需要完成各類試驗(yàn)數(shù)據(jù)的實(shí)時(shí)處理,主要包括外測(cè)數(shù)據(jù)處理、遙測(cè)數(shù)據(jù)處理、引導(dǎo)數(shù)據(jù)生成、飛行軌跡預(yù)測(cè)等,解算出目標(biāo)的坐標(biāo)、速度、姿態(tài)等參數(shù),為指控系統(tǒng)試驗(yàn)指揮顯示子系統(tǒng)提供實(shí)時(shí)彈道/航跡信息[12]。系統(tǒng)設(shè)計(jì)時(shí),應(yīng)具備以下功能:
(1)試驗(yàn)前任務(wù)參數(shù)的預(yù)裝訂;
(2)接收光學(xué)經(jīng)緯儀、彈道相機(jī)、姿態(tài)測(cè)量系統(tǒng)、雷達(dá)數(shù)據(jù)等外測(cè)數(shù)據(jù),完成外測(cè)數(shù)據(jù)從測(cè)量坐標(biāo)系到以靶場坐標(biāo)系轉(zhuǎn)換
(3)完成外側(cè)數(shù)據(jù)、遙測(cè)數(shù)據(jù)航跡處理;
(4)根據(jù)目標(biāo)的斜距離、方位角、高低角,進(jìn)行交匯計(jì)算,實(shí)時(shí)解算目標(biāo)的速度、加速度、高度、及相應(yīng)的航路參數(shù)的。
(5)能人工設(shè)置外測(cè)信息(包括遙測(cè)數(shù)據(jù))的優(yōu)先級(jí),實(shí)時(shí)對(duì)外測(cè)數(shù)據(jù)進(jìn)行合理性檢驗(yàn)、判優(yōu)處理;
(6)能對(duì)外測(cè)數(shù)據(jù)進(jìn)行平滑濾波、誤差修正等預(yù)處理,并對(duì)實(shí)時(shí)數(shù)據(jù)進(jìn)行外推處理,形成引導(dǎo)信息,同時(shí)支持理論數(shù)據(jù)引導(dǎo);
(7)支持外測(cè)設(shè)備引導(dǎo)數(shù)據(jù)網(wǎng)絡(luò)發(fā)送;
(8)能夠計(jì)算數(shù)據(jù)的絕對(duì)時(shí)和相對(duì)時(shí)間;
(9)能實(shí)時(shí)記錄輸入/輸出數(shù)據(jù),支持遠(yuǎn)程數(shù)據(jù)庫存儲(chǔ)和本地文件存儲(chǔ)兩種方式。
(10)具備數(shù)據(jù)處理信息監(jiān)視功能,包括接收數(shù)據(jù)狀態(tài),發(fā)送數(shù)據(jù)狀態(tài)和數(shù)據(jù)處理狀態(tài)等,既可以顯示單任務(wù)的處理信息,也可以完成多任務(wù)的處理信息顯示。
(11)具備多任務(wù)多目標(biāo)處理能力。
在實(shí)時(shí)數(shù)據(jù)處理子系統(tǒng)體系結(jié)構(gòu)設(shè)計(jì)中,考慮到系統(tǒng)內(nèi)容十分復(fù)雜,功能模塊交互性強(qiáng),處理數(shù)據(jù)量大、實(shí)時(shí)性要求高,為了保證用戶操作及使用的友好性、安全性和軟件功能模塊的可擴(kuò)展性和可復(fù)用性,系統(tǒng)采用基于OSGI的三層總體結(jié)構(gòu),以適應(yīng)系統(tǒng)功能在任務(wù)頻繁變動(dòng)時(shí)的擴(kuò)展需要,其系統(tǒng)體系結(jié)構(gòu)如圖3所示
圖3? ?實(shí)時(shí)數(shù)據(jù)處理子系統(tǒng)框架
平臺(tái)層是基于OSGI環(huán)境,為業(yè)務(wù)層提供的與業(yè)務(wù)無關(guān)的功能,包括日志管理、網(wǎng)絡(luò)通信服務(wù)、系統(tǒng)時(shí)間服務(wù)和數(shù)據(jù)綜合顯示等。這些功能作為領(lǐng)域構(gòu)件為系統(tǒng)提供服務(wù)。
服務(wù)層為系統(tǒng)提供了服務(wù)支持,該層有一個(gè)服務(wù)總線,每個(gè)用戶構(gòu)件都可以向服務(wù)總線注冊(cè)自己能夠提供的服務(wù),并能夠查詢、綁定自己需要的服務(wù)。構(gòu)件注冊(cè)到總線的服務(wù)是動(dòng)態(tài)的,構(gòu)件的注冊(cè)服務(wù)在必要的時(shí)候直接卸載。服務(wù)層相關(guān)的接口由IBundleContext提供,這些接口包括GetFirstOrDefaultService,GetService,AddService和RemoveService,分別用于獲取默認(rèn)服務(wù),獲取指定服務(wù),添加服務(wù)和刪除服務(wù)。
業(yè)務(wù)層主要是系統(tǒng)業(yè)務(wù)處理構(gòu)件(也就是OSGI中的Bundle)。通過分析上述實(shí)時(shí)數(shù)據(jù)處理子系統(tǒng)的功能設(shè)計(jì)要求,(2)、(3)和(4)實(shí)現(xiàn)的關(guān)鍵技術(shù)在于測(cè)量坐標(biāo)系到靶場坐標(biāo)系的轉(zhuǎn)換以及測(cè)量數(shù)據(jù)的交匯處理,(6)則強(qiáng)調(diào)的是對(duì)數(shù)據(jù)的綜合處理包括誤差修正、平滑濾波以及外推處理。我們按照低耦合、高內(nèi)聚的功能劃分要求,可以將業(yè)務(wù)處理劃分為數(shù)據(jù)預(yù)處理、目標(biāo)軌跡生成、外推和插值處理、數(shù)據(jù)優(yōu)選、融合處理、交會(huì)計(jì)算、引導(dǎo)數(shù)據(jù)生成以及人工干預(yù)8個(gè)構(gòu)件。
2.2? ?構(gòu)件實(shí)現(xiàn)方法
在OSGI中,構(gòu)件的實(shí)現(xiàn)包括:構(gòu)件內(nèi)部實(shí)現(xiàn)、構(gòu)件發(fā)布和服務(wù)使用、構(gòu)件注冊(cè)等。下面就以數(shù)據(jù)預(yù)處理構(gòu)件為例,描述OSGI框架實(shí)現(xiàn)過程。
2.2.1? ?數(shù)據(jù)預(yù)處理構(gòu)件的內(nèi)部實(shí)現(xiàn)
在OSGI框架中一個(gè)構(gòu)件通常包括四個(gè)元素:1)MANIFEST.MF文件:該文件描述構(gòu)件的所有特征,包括名字、輸出的類或者包,導(dǎo)入的類或者包,版本號(hào)等。2)實(shí)現(xiàn)代碼:包括 Activator類、其它接口以及實(shí)現(xiàn)。3)資源:即應(yīng)用程序必須的資源文件,比如圖片、properties 文件、XML 文件等。4)啟動(dòng)參數(shù)。
在基于OSGI的框架開發(fā)中,Activator.java代碼框架和 MANIFEST.MF 文件由IDE根據(jù)框架自動(dòng)生成,用戶只需要在 Activator 代碼框架中填寫相應(yīng)的代碼實(shí)現(xiàn)。代碼實(shí)例如下:
package osgi.test.dataprocessfirst;
import org.osgi.framework.BundleActivator;
import org.osgi.framework.BundleContext;
public class Activator implements BundleActivator {
public void start(BundleContext context) throws Exception {? /* Processing algorithm body */; }
public void stop(BundleContext context) throws Exception { /* Processing algorithm body */; }
}
從上面的代碼我們可以看到構(gòu)件中都有 Activator類,Activator類實(shí)現(xiàn)了BundleActivator接口,此接口使 Activator 能夠接受框架的調(diào)用。在框架啟動(dòng)后,啟動(dòng)每個(gè)構(gòu)件的時(shí)候都會(huì)調(diào)用每個(gè)構(gòu)件的 Activator。當(dāng)我們把應(yīng)用程序中所有的構(gòu)件實(shí)現(xiàn)以后,都裝載到框架環(huán)境中,由OSGI框架讀入構(gòu)件的各自的信息,即 MANIFEST.MF 文件,并裝載相關(guān)的類和資源,解析依賴的包,通過調(diào)用其 Activator中的start方法,啟動(dòng)它,為其提供框架事件、服務(wù)事件等服務(wù),同時(shí)也可以調(diào)用其 Activator中的stop方法,停止它。
2.2.2? ?數(shù)據(jù)預(yù)處理構(gòu)件發(fā)布和使用服務(wù)
構(gòu)件在調(diào)用前需要通過注冊(cè)服務(wù)進(jìn)行發(fā)布,圖4表示的是構(gòu)件的注冊(cè)和使用流程。
圖4? ?構(gòu)件注冊(cè)使用示意圖
通常構(gòu)件的發(fā)布和使用服務(wù)需要如下四個(gè)步驟:1、定義一個(gè)服務(wù)接口,并且導(dǎo)出去供其它構(gòu)件使用;2、定義一個(gè)缺省的服務(wù)實(shí)現(xiàn),并且隱藏它的實(shí)現(xiàn);3、構(gòu)件啟動(dòng)后,需要將服務(wù)注冊(cè)到OSGI框架;4、從框架查詢這個(gè)服務(wù),并且測(cè)試可用性。
下面則以O(shè)SGI構(gòu)件使用和發(fā)布為例,簡述2.2.1中的數(shù)據(jù)預(yù)處理構(gòu)件bundle的發(fā)布和使用服務(wù)步驟。
定義一個(gè)新的包osgi.test. dataprocessfirst.service,用來存放接口,便于導(dǎo)出和給其它構(gòu)件使用時(shí)隱藏所有的實(shí)現(xiàn)類。
在service包中新建接口Idataprocessfirst,提供報(bào)文解析、合理性檢測(cè)、坐標(biāo)轉(zhuǎn)換和剔點(diǎn)處理服務(wù)接口聲明。再新建一個(gè)新的包osgi.test.dataprocessfirst.impl,用來存放實(shí)現(xiàn)類。在上述包中新建Default ServiceImpl類,實(shí)現(xiàn)上述接口。
最后通過BundleContext類實(shí)現(xiàn)注冊(cè)服務(wù)。
數(shù)據(jù)預(yù)處理構(gòu)件發(fā)布和使用服務(wù)的部分偽代碼如下:
package osgi.test.helloworld.service;
public interface Idataprocessfirst{
void IPDUPrase ();//報(bào)文解析服務(wù)接口聲明
voidIChcek ();//合理性檢測(cè)接口聲明
voidIConverse ();//坐標(biāo)轉(zhuǎn)換服務(wù)接口聲明
void IPick ();//剔點(diǎn)處理服務(wù)接口聲明
}
public class DefaultServiceImpl implements Idataprocessfirst {
public void IPDUPrase () { /* Processing algorithm body */ }
public voidIChcek () { /* Processing algorithm body */ }
public voidIConverse () { /* Processing algorithm body */ }
public void IPick () { /* Processing algorithm body */ }
}
在實(shí)現(xiàn)各個(gè)接口后,通過OSGI提供的registerService注冊(cè)服務(wù),就可以使用各個(gè)功能構(gòu)件,從而完成系統(tǒng)功能。
2.3? ?構(gòu)件的優(yōu)化
系統(tǒng)構(gòu)件中涉及多個(gè)可復(fù)用的數(shù)據(jù)處理計(jì)算的函數(shù)構(gòu)件,需要通過JNI技術(shù)實(shí)現(xiàn)效率優(yōu)化,即通過調(diào)用動(dòng)態(tài)鏈接庫方式,實(shí)現(xiàn)Java程序優(yōu)化,步驟如下:
1)聲明本地方法。在構(gòu)件的Java代碼中聲明一個(gè)本地方法,并加上關(guān)鍵字“native”作為前綴,且不用方法體。在調(diào)用本地方法的Java類中用System.loadLibrary加載存放本地方法的動(dòng)態(tài)鏈接庫(DLL)。
2)重新編譯。編譯Java代碼并用javah帶參數(shù)-jni來產(chǎn)生本地方法原型的頭文件。
3)編寫C/C++代碼。實(shí)現(xiàn)C或者C ++源代碼文件中的函數(shù),其源文件必須包括步驟2中創(chuàng)建的頭文件。
4)編譯、連接生成動(dòng)態(tài)鏈接庫。
5)運(yùn)行Java程序,進(jìn)行驗(yàn)證。
3? ?結(jié) 論
軟件系統(tǒng)國產(chǎn)化是未來國家和軍隊(duì)發(fā)展的必然趨勢(shì),隨著我國信息化建設(shè)的發(fā)展以及軍隊(duì)高新技術(shù)的應(yīng)用,國產(chǎn)化的需求越發(fā)強(qiáng)烈,很多軍用領(lǐng)域的軟件系統(tǒng)在構(gòu)建時(shí)都要求具備跨平臺(tái)的屬性以適應(yīng)國產(chǎn)化的要求。應(yīng)用軟構(gòu)件技術(shù)使得應(yīng)用系統(tǒng)在構(gòu)建時(shí)業(yè)務(wù)模塊具備可重組和復(fù)用的特性,大大的提高了軟件開發(fā)的效率。從軟構(gòu)件技術(shù)的角度,基于OSGI框架設(shè)計(jì)了指控系統(tǒng)實(shí)時(shí)數(shù)據(jù)處理子系統(tǒng)的開發(fā)方法,可為以后指控系統(tǒng)跨平臺(tái)改造提供借鑒和參考。
參考文獻(xiàn)
[1]? ? 陳曉湘.構(gòu)件技術(shù)與軟件Agent技術(shù)研究[J].計(jì)算機(jī)安全,2009,(2):70—73.
[2]? ? 萬方.基于UML的教務(wù)管理系統(tǒng)構(gòu)件抽取技術(shù)的探索[J].硅谷,2009,(2):62.
[3]? ? 周俊,羅挺,楊眉.一種基于軟構(gòu)件技術(shù)的信息系統(tǒng)開發(fā)模式研究[J]. 計(jì)算機(jī)系統(tǒng)應(yīng)用,2008,(9):50—52.
[4]? ? 付沙.基于構(gòu)件技術(shù)的軟件開發(fā)方法的研究[J].科技和產(chǎn)業(yè),2009,9(3):95—98.
[5]? ? 蘇春梅,郜竹香,郭霞勇.綜合戰(zhàn)場環(huán)境仿真軟件建模[J].情報(bào)指揮控制系統(tǒng)與仿真技術(shù),2005,27(5):86—90.
[6]? ? 薛紅梅,賈少銳,李燕.基于可復(fù)用構(gòu)件抽取方法的研究與實(shí)現(xiàn)[J].福建電腦,2005,(10):40—41.
[7]? ? 蔡福喜,黃大貴.基于模塊化設(shè)計(jì)思想的測(cè)控系統(tǒng)框架設(shè)計(jì)[J].測(cè)控技術(shù),2009,28(1):55—57.
[9]? ? 齊治昌.軟件工程[M].北京:高等教育出版社,2004.
[10]? 傅祖蕓,譯. 《C語言數(shù)值算法大全》[M]. 北京:電子工業(yè)出版社,1995.
[11]? 常發(fā)亮,劉靜. 多線程下多媒體定時(shí)器在快速數(shù)據(jù)采集中的應(yīng)用[J].計(jì)算機(jī)應(yīng)用,2003,23(6):177—178.