張劍
中國(guó)艦船研究設(shè)計(jì)中心,湖北武漢430064
基于CCM構(gòu)件的HLA仿真開發(fā)研究
張劍
中國(guó)艦船研究設(shè)計(jì)中心,湖北武漢430064
HLA仿真作為新一代分布仿真體系結(jié)構(gòu),對(duì)仿真界產(chǎn)生了深刻影響。但是由于HLA與其它中間件技術(shù)沒(méi)有建立廣泛的聯(lián)系,使得HLA的可重用性僅僅局限在HLA范圍內(nèi),同時(shí)HLA的開發(fā)也具有很大的復(fù)雜性。在深入研究HLA仿真框架的基礎(chǔ)上,提出了一種基于CORBA構(gòu)件模型(CCM)構(gòu)件的HLA仿真開發(fā)方法,該方法利用CCM構(gòu)件技術(shù)來(lái)實(shí)現(xiàn)各聯(lián)邦成員的具體功能。該方法提高了軟件重用率和仿真開發(fā)效率,并優(yōu)化了HLA仿真系統(tǒng)的軟件層次結(jié)構(gòu)。驗(yàn)證中該方法成功運(yùn)用于艦船作戰(zhàn)系統(tǒng)聯(lián)邦的指控系統(tǒng)聯(lián)邦成員仿真。結(jié)果表明該方法確實(shí)可行。
HLA;CORBA構(gòu)件模型;軟件復(fù)用;構(gòu)件包
HLA作為仿真領(lǐng)域的一種中間件技術(shù),通過(guò)提供通用的、相對(duì)獨(dú)立的支撐服務(wù)系統(tǒng),將應(yīng)用層同底層支撐環(huán)境分離,即將具體的仿真功能實(shí)現(xiàn)、仿真運(yùn)行管理、底層通信三者分開,目的是提高仿真組件的可重用性和互操作性。從HLA規(guī)范的提出到現(xiàn)在,HLA與其他領(lǐng)域一些類似的中間件技術(shù) (如CORBA,EJB等)一直沒(méi)有建立廣泛的聯(lián)系,使得現(xiàn)有仿真組件的可重用性僅僅局限于HLA的范圍內(nèi)。而且,HLA是從橫向的角度在聯(lián)邦成員的基礎(chǔ)上進(jìn)行仿真集成,并不考慮仿真成員是如何設(shè)計(jì)與實(shí)現(xiàn)的。因此,其他分布式仿真技術(shù)要過(guò)渡到HLA,盡管系統(tǒng)的實(shí)際仿真行為并沒(méi)有多大的改變,但為了要將仿真移植到RTI支撐環(huán)境上,聯(lián)邦成員要重新開發(fā),仿真組件代碼需要重新編寫。這些都嚴(yán)重阻礙了HLA的進(jìn)一步發(fā)展,仿真領(lǐng)域迫切需要一種先進(jìn)的軟件工程技術(shù)來(lái)解決這些問(wèn)題。
近幾年來(lái),相關(guān)人員在構(gòu)件技術(shù)應(yīng)用于HLA仿真方面進(jìn)行了大量研究。文獻(xiàn)[1]探討了利用CCM開發(fā)符合HLA1516標(biāo)準(zhǔn)的仿真功能的方法。文獻(xiàn)[2]研究了CBD方法在HLA開發(fā)的應(yīng)用,提出了基于HLA的仿真構(gòu)件模型及其實(shí)現(xiàn)思路,闡明了實(shí)現(xiàn)的關(guān)鍵環(huán)節(jié)和方法。文獻(xiàn)[3]~[5]應(yīng)用MDA的設(shè)計(jì)思想,對(duì)于HLA的模型設(shè)計(jì),提出了一個(gè)基于CCM構(gòu)件的仿真模型(SCM)。文獻(xiàn)[6]通過(guò)對(duì)比CCM和HLA,提出了一種基于構(gòu)件的HLA開發(fā)模式。該模式借用了CCM的大量思想和概念。
本文在深入研究HLA仿真框架的基礎(chǔ)上,結(jié)合CCM商用技術(shù),提出了一種基于CCM構(gòu)件的HLA仿真開發(fā)方法。該方法利用CCM構(gòu)件技術(shù)來(lái)實(shí)現(xiàn)聯(lián)邦成員的具體功能。本文不僅介紹了該方法的主題思想和程序框架,還作為重點(diǎn)詳細(xì)論述了其運(yùn)行步驟。通過(guò)將該方法成功地運(yùn)用于艦船作戰(zhàn)系統(tǒng)聯(lián)邦的指控系統(tǒng)聯(lián)邦成員仿真,表明該方法確實(shí)可行。
2.1 HLA仿真基本思想
HLA主要考慮在聯(lián)邦成員的基礎(chǔ)上如何進(jìn)行聯(lián)邦集成[7,8],即如何設(shè)計(jì)聯(lián)邦成員間的交互以達(dá)到仿真的目的。其基本思想就是采用面向?qū)ο蟮姆椒ㄔO(shè)計(jì)、開發(fā)和實(shí)現(xiàn)仿真系統(tǒng)的對(duì)象模型,以獲得仿真聯(lián)邦的高層次的互操作和重用。在HLA中,互操作定義為一個(gè)成員能向其他成員提供服務(wù)和接收其他成員的服務(wù)。HLA定義了實(shí)現(xiàn)聯(lián)邦成員互操作的體系結(jié)構(gòu)和機(jī)制。除了方便成員之間的互操作外,HLA還向聯(lián)邦成員提供靈活的仿真框架。在HLA框架下,一個(gè)典型的仿真聯(lián)邦的邏輯結(jié)構(gòu)如圖1所示。
圖1 HLA仿真的邏輯結(jié)構(gòu)
2.2 運(yùn)行支撐環(huán)境RTI
RTI是一個(gè)按照HLA接口規(guī)范開發(fā)的軟件系統(tǒng),它為仿真應(yīng)用提供通用的、相對(duì)獨(dú)立的支撐服務(wù)。其主要作用有:
1)具體實(shí)現(xiàn)了HLA接口規(guī)范。HLA接口規(guī)范用文字定義了各種標(biāo)準(zhǔn)服務(wù)和接口,而RTI則用程序設(shè)計(jì)語(yǔ)言將這些標(biāo)準(zhǔn)服務(wù)和接口轉(zhuǎn)換成了標(biāo)準(zhǔn)的RTI API函數(shù)。
2)為仿真應(yīng)用提供了仿真運(yùn)行管理功能,使開發(fā)人員只需集中精力實(shí)現(xiàn)具體的仿真功能。
3)提供了底層通信傳輸服務(wù),屏蔽了網(wǎng)絡(luò)通信程序?qū)崿F(xiàn)的復(fù)雜性,使開發(fā)人員可以很容易地實(shí)現(xiàn)數(shù)據(jù)的發(fā)送和接收。
4)是仿真功能與仿真運(yùn)行管理、底層通信傳輸三者分離的基礎(chǔ)。它使仿真系統(tǒng)具有較好的擴(kuò)充性,各個(gè)組成部分的編程實(shí)現(xiàn)可以相對(duì)獨(dú)立地進(jìn)行,很適合于團(tuán)隊(duì)開發(fā)。
2.3 聯(lián)邦成員的運(yùn)行流程
對(duì)于每一個(gè)聯(lián)邦成員,其運(yùn)行流程主要包括以下環(huán)節(jié):初始化聯(lián)邦運(yùn)行數(shù)據(jù)、創(chuàng)建并加入聯(lián)邦、注冊(cè)RTI對(duì)象實(shí)例、聲明訂閱/發(fā)布關(guān)系、確定時(shí)間推進(jìn)策略、數(shù)據(jù)處理循環(huán)、退出聯(lián)邦。數(shù)據(jù)處理循環(huán)是聯(lián)邦成員的核心環(huán)節(jié),也是各個(gè)聯(lián)邦成員區(qū)別于彼此的主要環(huán)節(jié)。在該環(huán)節(jié)中,聯(lián)邦成員接收自己感興趣的數(shù)據(jù),按照特定的規(guī)則或者算法進(jìn)行處理,處理完畢后向網(wǎng)絡(luò)發(fā)布。
3.1CCM構(gòu)件簡(jiǎn)介
CCM鼓勵(lì)通過(guò)組合而不是繼承來(lái)重用軟件[9,10]。CCM構(gòu)件提供了稱為端口的多種外部接口,以便與客戶、其他構(gòu)件、CORBA服務(wù)等進(jìn)行交互。CCM構(gòu)件支持5種基本的端口:刻面/插座、事件源/事件槽和屬性。5種端口的表示方法如圖2所示。
圖2 CCM構(gòu)件的端口示意圖
1)刻面:刻面的主要功能是用來(lái)向其它構(gòu)件提供接口。另外,它還是CCM構(gòu)件提供的與客戶交互的相互獨(dú)立的一組接口??堂娴膶?shí)現(xiàn)被封裝在構(gòu)件中,對(duì)客戶不透明。
2)插口。插口的主要功能是用來(lái)獲得其它構(gòu)件的接口。另外,它還是一些指定的連接點(diǎn)。通過(guò)使用插口,構(gòu)件能夠與其他對(duì)象進(jìn)行連接,并調(diào)用這些對(duì)象的操作。
3)事件源。事件源的主要功能是發(fā)布特定的事件。它是指定發(fā)送特定類型事件的連接點(diǎn)。事件源分為Emitter和Publisher兩類。Emitter規(guī)定在某個(gè)時(shí)間只允許一個(gè)接收者與之連接,Publisher允許同時(shí)有多個(gè)接收者與之連接。
4)事件槽。事件槽的主要目的是接收特定的事件。它是指定接收特定類型事件的連接點(diǎn)。事件槽允許有多個(gè)事件源與之相連。
5)屬性。屬性主要用于構(gòu)件的配置,配置工具使用屬性對(duì)構(gòu)件的配置參數(shù)進(jìn)行預(yù)先的設(shè)置。
3.2 基于CCM構(gòu)件的軟件開發(fā)步驟
基于CCM構(gòu)件的應(yīng)用程序,其整個(gè)開發(fā)過(guò)程包括以下5個(gè)步驟:
1)構(gòu)件設(shè)計(jì)。根據(jù)系統(tǒng)需要設(shè)計(jì)構(gòu)件,定義構(gòu)件和其實(shí)現(xiàn)信息。
2)構(gòu)件實(shí)現(xiàn)。實(shí)現(xiàn)構(gòu)件中具體的業(yè)務(wù)邏輯,并編譯生成相應(yīng)的構(gòu)件二進(jìn)制文件。
3)構(gòu)件打包。把構(gòu)件實(shí)現(xiàn)者實(shí)現(xiàn)的二進(jìn)制文件以及構(gòu)件描述信息打包成為單個(gè)構(gòu)件包。
4)構(gòu)件組裝[11,12]。根據(jù)具體的功能需要把多個(gè)構(gòu)件包組裝成一個(gè)構(gòu)件集。構(gòu)件集包含有多個(gè)構(gòu)件包以及XML形式的構(gòu)件集描述文件。圖3為構(gòu)件組裝的效果示意圖。
圖3 構(gòu)件組裝效果示意圖
5)構(gòu)件部署。部署者根據(jù)構(gòu)件集描述文件把構(gòu)件集(或構(gòu)件)安裝在指定的網(wǎng)絡(luò)節(jié)點(diǎn)上,激活構(gòu)件實(shí)例并連接構(gòu)件。
以上5個(gè)步驟中,構(gòu)件打包和構(gòu)件組裝可以使用可視化的工具來(lái)完成。
4.1 基于CCM的HLA仿真開發(fā)的主體思想
基于CCM構(gòu)件的HLA開發(fā)的主體思想是,將聯(lián)邦成員代碼的核心部分——數(shù)據(jù)處理循環(huán)中的數(shù)據(jù)處理規(guī)則或者算法利用CCM構(gòu)件的形式進(jìn)行實(shí)現(xiàn)。其框架如圖4所示。
聯(lián)邦中各個(gè)聯(lián)邦成員的對(duì)外表現(xiàn)即對(duì)外接口主要是訂閱數(shù)據(jù)和發(fā)布數(shù)據(jù),其內(nèi)部主要是進(jìn)行自身承擔(dān)的數(shù)據(jù)處理。具體實(shí)現(xiàn)的描述如下:
圖4 基于CCM構(gòu)件的HLA程序框架
1)對(duì)于訂閱數(shù)據(jù)和發(fā)布數(shù)據(jù),聯(lián)邦成員只需調(diào)用RTI接口模塊的API函數(shù),具體的數(shù)據(jù)傳輸由運(yùn)行支撐環(huán)境RTI完成。
2)對(duì)于數(shù)據(jù)處理,通過(guò)CCM構(gòu)件集完成。聯(lián)邦成員在其主程序中,利用構(gòu)建集提供的接口向構(gòu)件集發(fā)送數(shù)據(jù)處理請(qǐng)求。構(gòu)件集收到數(shù)據(jù)處理請(qǐng)求后,進(jìn)行相應(yīng)的處理,然后把處理結(jié)果返回給主程序。此時(shí),聯(lián)邦成員的運(yùn)行模式就是通常的客戶機(jī)/服務(wù)器(C/S)模式。主程序充當(dāng)客戶機(jī),構(gòu)件集充當(dāng)服務(wù)器。
基于CCM構(gòu)件的HLA程序框架的主體部分就是各個(gè)聯(lián)邦成員的數(shù)據(jù)處理構(gòu)件集。構(gòu)件集由多個(gè)構(gòu)件,按照如圖3所示的方式組裝而成。
4.2 基于CCM的HLA仿真開發(fā)的運(yùn)行步驟
實(shí)驗(yàn)中采用的相關(guān)軟件為:CCM:ACE-5.5+TAO-1.5+CIAO-0.5;RTI:RTI-1_3NGv3_2;VC7.1
基于CCM的HLA仿真開發(fā)的運(yùn)行步驟大致分為開啟ORB命名服務(wù),開啟rtiexec服務(wù),構(gòu)件部署,運(yùn)行聯(lián)邦成員主程序。
4.2.1 開啟ORB命名服務(wù)
在CCM中,為了便于分布式開發(fā),可以為每個(gè)構(gòu)件定義一個(gè)有意義的別名。任何應(yīng)用程序,即使和構(gòu)件不在一個(gè)主機(jī)上,只需要知道這個(gè)別名,即可獲取相應(yīng)構(gòu)件的信息,從而創(chuàng)建構(gòu)件實(shí)例,調(diào)用其提供的服務(wù)。這是通過(guò)CORBA規(guī)范提供的命名服務(wù)來(lái)實(shí)現(xiàn)的。命名服務(wù)提供從名字到對(duì)象引用的映射。CCM中的別名定義在構(gòu)件配置文件中進(jìn)行,構(gòu)件配置文件中可以為構(gòu)件包中的每個(gè)構(gòu)件定義一個(gè)別名,具體是在屬性RegisterNaming中進(jìn)行設(shè)置,圖5的代碼即為某構(gòu)件定義了一個(gè)別名“ADD”。
當(dāng)開啟命名服務(wù)后,主程序可以通過(guò)這個(gè)別名來(lái)訪問(wèn)該構(gòu)件。命名服務(wù)的開啟主要是調(diào)用CORBA規(guī)范的Naming_service服務(wù),可以通過(guò)命令行方式進(jìn)行。具體格式如下:
naming_service-ORBEndPoint iiop://<version>@<ipAddr:ipPort>[-m(1=enable multicast responses,0=disable(default)]
其中,version表示IIOP協(xié)議的版本;ipAddr和ipPort分別表示監(jiān)聽請(qǐng)求的主機(jī)IP地址和端口號(hào)。-m表示是否使用多播方式。1表示使用,0表示不使用,默認(rèn)情況下為0。一般都在開啟命名服務(wù)的主機(jī)上監(jiān)聽請(qǐng)求,因此主機(jī)IP選為本機(jī)IP。而為了進(jìn)行分布式開發(fā),必須使用多波方式。因此,開啟命名服務(wù)的命令行一般寫成:
naming_service -ORBEndPointiiop://1.2@localhost:1234-m 1
圖5 構(gòu)件配置文件中的命名服務(wù)代碼
4.2.2 開啟rtiexec服務(wù)
HLA運(yùn)行時(shí),需要首先開啟rtiexec服務(wù)。rtiexec是一個(gè)全局進(jìn)程,主要功能是管理聯(lián)邦的創(chuàng)建、結(jié)束。每個(gè)聯(lián)邦成員通過(guò)與rtiexec的通信進(jìn)行初始化,加入到相應(yīng)的聯(lián)邦中。rtiexec實(shí)際上是一個(gè)運(yùn)行程序。如果不引入CCM構(gòu)件,即不同時(shí)運(yùn)行ORB命名服務(wù),那么直接運(yùn)行rtiexec服務(wù)即可,不需要添加任何參數(shù)。如果同時(shí)運(yùn)行ORB命名服務(wù),那么就需要為rtiexec添加相應(yīng)參數(shù)。rtiexec的格式為:
rtiexec-multicastDiscoveryEndpoint<ipAddr:ipPort>
其 中 ,ipAddr的 范 圍 為 224.0.0.0~239.255.255.255;ipPort的范圍為1024~65535。例如,可以寫成:
rtiexec-multicastDiscoveryEndpoint 224.0.0.1:1025
另外,還需要修改RID文件的相應(yīng)行的ipAddr和ipPort。
(RtiExecutiveMulticastDiscoveryEndpoint 224.0.0.1:1025)
4.2.3 構(gòu)件部署
在運(yùn)行聯(lián)邦成員之前,首先應(yīng)該完成構(gòu)件的部署。即根據(jù)構(gòu)件集描述文件,通過(guò)一些命令把構(gòu)件集安裝在指定的網(wǎng)絡(luò)節(jié)點(diǎn)上。大致步驟如下:
1)利用Nodemanager命令啟動(dòng)可供構(gòu)件部署、運(yùn)行的節(jié)點(diǎn)node。每個(gè)構(gòu)件對(duì)應(yīng)一個(gè)節(jié)點(diǎn)。
2)利用Execution_Manager命令完成邏輯節(jié)點(diǎn)與具體nodeApplication之間的關(guān)聯(lián)。
3)利用 Plan_Launcher命令完成構(gòu)件的部署。該過(guò)程需要把構(gòu)件集描述文件作為Plan_Launcher命令的參數(shù)。
以上命令均可以通過(guò)命令行方式進(jìn)行。
4.2.4 運(yùn)行聯(lián)邦成員主程序
完成以上全部工作后,就可以運(yùn)行聯(lián)邦成員主程序。在聯(lián)邦成員主程序數(shù)據(jù)處理循環(huán)中,通過(guò)解析構(gòu)件提供的別名,即可創(chuàng)建構(gòu)件實(shí)例,進(jìn)而調(diào)用該構(gòu)件對(duì)應(yīng)的接口函數(shù),由構(gòu)件來(lái)完成具體的數(shù)據(jù)處理。
4.3 基于CCM的指控系統(tǒng)聯(lián)邦成員的仿真應(yīng)用
為了驗(yàn)證以上方法的可行性,我們構(gòu)建了一個(gè)艦船作戰(zhàn)系統(tǒng)的HLA聯(lián)邦,其中的指控系統(tǒng)采用基于CCM構(gòu)件的方法實(shí)現(xiàn)。整體框架如圖6所示。
圖6 指控系統(tǒng)采用CCM實(shí)現(xiàn)的作戰(zhàn)系統(tǒng)聯(lián)邦框架
在指控系統(tǒng)聯(lián)邦成員的開發(fā)中,主程序和構(gòu)件集分別由不同的人員承擔(dān),表現(xiàn)出了很好的團(tuán)隊(duì)開發(fā)性。聯(lián)邦運(yùn)行正常,說(shuō)明基于CCM構(gòu)件實(shí)現(xiàn)聯(lián)邦成員的仿真是完全可行的。
4.4 基于CCM的HLA仿真開發(fā)的優(yōu)點(diǎn)
將CCM構(gòu)件技術(shù)應(yīng)用到HLA仿真中,在發(fā)揮HLA自身優(yōu)勢(shì)的基礎(chǔ)上,更具有以下優(yōu)點(diǎn):
1)提高了開發(fā)效率
對(duì)于每個(gè)聯(lián)邦成員來(lái)說(shuō),其中的數(shù)據(jù)處理是最關(guān)鍵且最難開發(fā)的環(huán)節(jié)。采用CCM構(gòu)件技術(shù)之后,開發(fā)人員可以通過(guò)多種渠道獲取構(gòu)件。可以自己編寫構(gòu)件,也可以利用已有的商業(yè)構(gòu)件或者其他開發(fā)人員編寫的構(gòu)件。這樣,大大減少了重復(fù)勞動(dòng),提高了軟件開發(fā)效率。
2)應(yīng)用程序?qū)哟吻逦?/p>
引入CCM技術(shù)之后,HLA的主程序框架負(fù)責(zé)進(jìn)行聯(lián)邦成員的日常維護(hù)以及數(shù)據(jù)的顯示,具體的數(shù)據(jù)處理由構(gòu)件集在后臺(tái)完成,即實(shí)現(xiàn)了數(shù)據(jù)處理和數(shù)據(jù)應(yīng)用的分離,使得程序?qū)哟蜗喈?dāng)清晰。
3)更加有利于團(tuán)隊(duì)并行開發(fā)
RTI有效分離了仿真功能、仿真運(yùn)行管理與底層通信傳輸,使得HLA仿真系統(tǒng)擴(kuò)充容易,各個(gè)聯(lián)邦成員的實(shí)現(xiàn)可以相對(duì)獨(dú)立地進(jìn)行,也就是說(shuō),RTI使得聯(lián)邦成員之間的團(tuán)隊(duì)并行開發(fā)成為可能。在聯(lián)邦成員的內(nèi)部數(shù)據(jù)處理中引入CCM技術(shù),分離了數(shù)據(jù)處理和數(shù)據(jù)應(yīng)用,使得開發(fā)人員可以相對(duì)獨(dú)立地并行進(jìn)行數(shù)據(jù)處理和數(shù)據(jù)應(yīng)用的代碼開發(fā),即實(shí)現(xiàn)了聯(lián)邦成員內(nèi)部的團(tuán)隊(duì)并行開發(fā)。
4)可以很方便地進(jìn)行混合語(yǔ)言開發(fā)
以往的HLA開發(fā),由于數(shù)據(jù)處理循環(huán)的代碼沒(méi)有分離出來(lái),因此每個(gè)聯(lián)邦成員只能使用一種編程語(yǔ)言開發(fā)。引入CCM技術(shù)之后,由于最終使用的是構(gòu)件的二進(jìn)制實(shí)現(xiàn),即構(gòu)件實(shí)現(xiàn)具有語(yǔ)言無(wú)關(guān)性。開發(fā)人員可以根據(jù)每個(gè)聯(lián)邦成員的特點(diǎn)、需求以及自己的偏好選擇最適合的語(yǔ)言來(lái)實(shí)現(xiàn)構(gòu)件。
本文在深入研究HLA仿真框架的基礎(chǔ)上,結(jié)合當(dāng)前流行的CCM構(gòu)件模型,提出了一種基于CCM構(gòu)件的HLA仿真開發(fā)方法。該方法在保持HLA優(yōu)勢(shì)不變的基礎(chǔ)上,使得軟件層次結(jié)構(gòu)更加清晰,同時(shí)提高了軟件復(fù)用率,更適合團(tuán)隊(duì)開發(fā)。
[1]張春光,萬(wàn)曉東,王云強(qiáng).基于CCM符合HLA1516標(biāo)準(zhǔn)的戰(zhàn)場(chǎng)仿真模型研究[J].計(jì)算機(jī)仿真,2005(z1):121-123,247.
[2]李立綱,潘力,劉廣宇.基于構(gòu)件的HLA系統(tǒng)開發(fā)[J].計(jì)算機(jī)仿真,2005,22(5):124-128.
[3]柏曉莉,柏曉輝,李恒峰,等.基于模型驅(qū)動(dòng)的HLA建模仿真研究[J].計(jì)算機(jī)仿真,2007,24(6):102-105.
[4]RADESKI A,PARR S,KEITH-MAGEE R.Componentbased development extensions to HLA[C]//Proceedings of the 2002 Spring Simulation Interoperability Workshop(SISO Spring 2002),March 2002.
[5]RADESKI A,PARR S.Towards a simulation component model for HLA[C]//Proceedings of the 2002 Fall Simula鄄tion Interoperability Workshop(SISO Fall 2002),Novem鄄ber,2002.
[6]RADESKI A,PARR S,KEITH-MAGEE R,et al.Compo鄄nent-based development extensions to HLA[C]//Proceed鄄ings of the 2002 Spring Simulation Interoperability Work鄄shop(SISO Spring 2002),March,2002.
[7]戰(zhàn)玉芝,劉懷勛,王麗芹,等.基于HLA的仿真程序設(shè)計(jì)研究及其應(yīng)用[J].計(jì)算機(jī)仿真,2007,24(7):146-148,275.
[8]周彥,戴劍偉.HLA仿真程序設(shè)計(jì)[M].北京:電子工業(yè)出版社,2002.
[9]潘慧芳,周興社,於志文.CORBA構(gòu)件模型綜述[J].計(jì)算機(jī)應(yīng)用研究,2005,22(5):14-15,26.
[10]張劍,董曉明.基于CCM構(gòu)件的作戰(zhàn)系統(tǒng)互操作策略研究[J].艦船電子工程,2008,28(12):35-37,88.
[11]呂行,王志堅(jiān),許峰.CORBA構(gòu)件組裝技術(shù)研究與應(yīng)用[J].計(jì)算機(jī)與現(xiàn)代化,2004(7):1-4.
[12]許峰,陳智強(qiáng),黃皓,王志堅(jiān).基于CCM的軟件構(gòu)件組裝技術(shù)的研究[J].計(jì)算機(jī)科學(xué),2006,33(8):232-235.
HLA Simulation Development Research Based on CORBA Component Model
Zhang Jian
China Ship Development and Design Center,Wuhan 430064,China
High Level Architecture(HLA),which is a new-generation distributed simulation architec鄄ture,has greatly influenced today's simulation field.But owing to its little contact with other middleware technology,the reusability of HLA has been restricted within the area of HLA.Its complexity also affects its development.Based on the thorough research of HLA simulation framework,a HLA simulation de鄄veloping method based on CORBA Component Model(CCM)was proposed.It used CCM to implement the real function of every federate.This method can not only advance the software reuse-rate and the de鄄velopment efficiency,but also optimize the software hierarchy of HLA simulation system.The validation shows that it is feasible for the method to be successfully applied to the simulation of command system federate member in the ship combat and control system federation.
High Level Architecture;CORBA Component Model;software reuse;component package
TP391.9
A
1673-3185(2009)06-70-05
2009-02-07
海裝“十一五”預(yù)研項(xiàng)目(1010108010201)
張 劍(1981-),男,助理工程師。研究方向:軟件體系結(jié)構(gòu)、分布式仿真。E鄄mail:zhangjian99@tsinghua.org.cn