一種應(yīng)用于hla分布式仿真方法的通用聯(lián)邦成員的制作方法
【專(zhuān)利摘要】本發(fā)明涉及一種應(yīng)用于HLA分布式仿真的通用聯(lián)邦成員,屬于計(jì)算機(jī)分布式仿真技術(shù)及應(yīng)用領(lǐng)域。由通用聯(lián)邦成員程序和仿真模型兩部分組成,其中通用聯(lián)邦成員程序由仿真調(diào)度模塊、模型接口和HLA模塊三部分組成。聯(lián)邦成員通過(guò)通用聯(lián)邦成員程序的HLA模塊連接HLA分布式仿真軟總線(xiàn),進(jìn)而實(shí)現(xiàn)與HLA運(yùn)行支撐環(huán)境(RTI)的交互。
【專(zhuān)利說(shuō)明】—種應(yīng)用于HLA分布式仿真方法的通用聯(lián)邦成員
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種應(yīng)用于HLA分布式仿真的通用聯(lián)邦成員,屬于計(jì)算機(jī)分布式仿真技術(shù)及應(yīng)用領(lǐng)域。
【背景技術(shù)】
[0002]計(jì)算機(jī)仿真是各個(gè)科學(xué)研究領(lǐng)域不可缺少的環(huán)節(jié)。仿真技術(shù)具有低成本、低時(shí)耗和簡(jiǎn)單易行的特點(diǎn),為各種理論研究和工程設(shè)計(jì)提供驗(yàn)證支撐,加速理論研究成果的應(yīng)用和部署。隨著信息、計(jì)算機(jī)、通信等【技術(shù)領(lǐng)域】的不斷發(fā)展,系統(tǒng)的規(guī)模和結(jié)構(gòu)日益復(fù)雜,特別是在航天、航空、軍事、交通及經(jīng)濟(jì)等領(lǐng)域。對(duì)大規(guī)模復(fù)雜系統(tǒng)的仿真是仿真【技術(shù)領(lǐng)域】的重要研究?jī)?nèi)容。先進(jìn)分布式仿真技術(shù)為解決大規(guī)模復(fù)雜系統(tǒng)的仿真提供了有效的途徑。
[0003]高級(jí)體系架構(gòu)(HLA)是美國(guó)國(guó)防部(DoD)為滿(mǎn)足軍事領(lǐng)域大規(guī)模復(fù)雜系統(tǒng)的仿真需求而提出的一系列通用技術(shù)框架研究中的重要成果之一,已經(jīng)成為IEEE1516標(biāo)準(zhǔn)。HLA是一套完整的分布式仿真技術(shù)規(guī)范,其核心目標(biāo)在于解決傳統(tǒng)分布式仿真技術(shù)中的互操作性和重用性差的問(wèn)題。HLA通過(guò)運(yùn)行支撐環(huán)境(RTI)提供了通用的、相對(duì)獨(dú)立的仿真支撐服務(wù),包括仿真模型管理服務(wù)、時(shí)間管理服務(wù)以及數(shù)據(jù)分發(fā)管理服務(wù),實(shí)現(xiàn)仿真算法、仿真運(yùn)行管理和分布式仿真底層數(shù)據(jù)傳輸?shù)姆蛛x,各部分透明化,仿真系統(tǒng)中各部分的可獨(dú)立開(kāi)發(fā)。
[0004]在HLA分布式仿真框架中,一個(gè)完成特定仿真任務(wù)的仿真系統(tǒng)叫做聯(lián)邦(Federation)。聯(lián)邦中包括分布于不同仿真計(jì)算機(jī)上的聯(lián)邦成員(Federate)組成,它們通過(guò)RTI進(jìn)行仿真交互,實(shí)現(xiàn)分布式協(xié)同和仿真。開(kāi)發(fā)符合HLA的仿真系統(tǒng)的主要工作在于把傳統(tǒng)的仿真模型轉(zhuǎn)化成符合HLA接口規(guī)范的仿真聯(lián)邦成員。
[0005]通常的處理方式有兩種,其一,針對(duì)不同的仿真模型分別編寫(xiě)符合HLA的規(guī)范的仿真邦員程序;其二,在一定的使用范圍內(nèi),有針對(duì)性的編寫(xiě)統(tǒng)一的、通用的仿真邦員程序。前者比較靈活,但是需要仿真模型開(kāi)發(fā)人員掌握HLA協(xié)議規(guī)則和編程接口,開(kāi)發(fā)難度大、效率低、無(wú)法實(shí)現(xiàn)可重用性;后者在一定功能需求范圍內(nèi)實(shí)現(xiàn)通用的聯(lián)邦成員。通過(guò)通用的聯(lián)邦程序?qū)崿F(xiàn)由HLA協(xié)議向一個(gè)標(biāo)準(zhǔn)的與HLA協(xié)議無(wú)關(guān)的接口轉(zhuǎn)化,從而使邦員程序?qū)崿F(xiàn)了從HLA接口到模型接口的轉(zhuǎn)化,使模型開(kāi)發(fā)人員不需要熟悉HLA協(xié)議標(biāo)準(zhǔn),簡(jiǎn)化分布式仿真系統(tǒng)的開(kāi)發(fā)難度。仿真聯(lián)邦中的所有邦員使用相同的邦員程序,增加了邦員的重用性和系統(tǒng)的可擴(kuò)展性,提高了基于HLA的仿真系統(tǒng)的開(kāi)發(fā)效率。所有邦員都具有統(tǒng)一的形式,便于實(shí)現(xiàn)基于HLA的仿真系統(tǒng)的全過(guò)程管理和控制,有利于實(shí)現(xiàn)聯(lián)邦成員的統(tǒng)一調(diào)度,簡(jiǎn)化了分布式仿真系統(tǒng)中仿真管理聯(lián)邦成員的開(kāi)發(fā)難度。
【發(fā)明內(nèi)容】
[0006]本發(fā)明為了解決基于HLA的分布式仿真系統(tǒng)的開(kāi)發(fā)難度大和聯(lián)邦成員重用性低等問(wèn)題,提出一種應(yīng)用于HLA分布式仿真方法的通用聯(lián)邦成員。
[0007]本發(fā)明的目的是通過(guò)以下技術(shù)方案實(shí)現(xiàn)的。[0008]本發(fā)明的一種應(yīng)用于HLA分布式仿真方法的通用聯(lián)邦成員,由通用聯(lián)邦成員程序和仿真模型兩部分組成,其中通用聯(lián)邦成員程序由仿真調(diào)度模塊、模型接口和HLA模塊三部分組成。聯(lián)邦成員通過(guò)通用聯(lián)邦成員程序的HLA模塊連接HLA分布式仿真軟總線(xiàn),進(jìn)而實(shí)現(xiàn)與HLA運(yùn)行支撐環(huán)境(RTI)的交互。
[0009]仿真調(diào)度模塊是通用聯(lián)邦成員程序的核心實(shí)現(xiàn),它通過(guò)模型接口實(shí)現(xiàn)仿真模型的運(yùn)行控制和獲取模型的輸入輸出,通過(guò)HLA模塊將仿真模型接入HLA軟總線(xiàn),實(shí)現(xiàn)分布式仿真系統(tǒng)中模型間的數(shù)據(jù)交互和時(shí)間同步功能。
[0010]仿真調(diào)度模塊包括仿真器和控制器。仿真器通過(guò)模型接口調(diào)用仿真模型,實(shí)現(xiàn)仿真計(jì)算;控制器通過(guò)監(jiān)聽(tīng)仿真器和HLA模塊的行為以及回調(diào)仿真器和HLA模塊的接口完成仿真的運(yùn)行控制和調(diào)度。
[0011]1.控制器
[0012]控制器處于中心地位,仿真運(yùn)行控制和調(diào)度都由它來(lái)實(shí)現(xiàn);同時(shí),為了實(shí)現(xiàn)仿真模型與HLA協(xié)議的分離,仿真器與HLA模塊間的數(shù)據(jù)傳輸也通過(guò)控制器來(lái)完成,而仿真器與HLA模塊間無(wú)直接傳輸。
[0013]控制器充當(dāng)仿真器和HLA模塊的監(jiān)聽(tīng)器,完成兩者之間的數(shù)據(jù)傳輸和交互。當(dāng)仿真器完成仿真模型的仿真計(jì)算任務(wù)時(shí),通過(guò)調(diào)用控制器提供的監(jiān)聽(tīng)接口進(jìn)行數(shù)據(jù)更新和時(shí)間推進(jìn)等。控制器收到仿真器的動(dòng)作請(qǐng)求,通過(guò)調(diào)用HLA模塊提供的回調(diào)接口,將仿真器的仿真更新通過(guò)HLA模型傳輸?shù)紿LA軟總線(xiàn)上,進(jìn)而交由RTI進(jìn)行處理。同理,當(dāng)HLA模塊收到來(lái)自HLA軟總線(xiàn)上的數(shù)據(jù)和控制信息時(shí),調(diào)用控制器提供的監(jiān)聽(tīng)接口,由控制器調(diào)用仿真器提供的回調(diào)接口傳輸給仿真器。
[0014]2.仿真器
[0015]仿真器主要負(fù)責(zé)具體的仿真計(jì)算功能。首先,控制器調(diào)用仿真器的開(kāi)始仿真回調(diào)接口,通知仿真器開(kāi)始仿真;仿真器通過(guò)模型接口調(diào)用仿真模型完成一個(gè)步長(zhǎng)的仿真計(jì)算;計(jì)算完成后,通過(guò)模型接口獲取模型的輸出,并調(diào)用控制器的監(jiān)聽(tīng)接口,由控制器通知HLA模塊完成模型輸出的更新;隨后仿真器調(diào)用控制的監(jiān)聽(tīng)接口進(jìn)行時(shí)間推進(jìn)請(qǐng)求,控制器通知HLA模塊,由HLA模塊通過(guò)HLA協(xié)議接口通知RTI模型的時(shí)間推進(jìn)請(qǐng)求。RTI同意時(shí)間推進(jìn)后,HLA模塊調(diào)用控制器的監(jiān)聽(tīng)接口,由控制器調(diào)用仿真器的回調(diào)接口,通知仿真器可進(jìn)行下一步推進(jìn),仿真器繼續(xù)下一個(gè)仿真步長(zhǎng)的計(jì)算,重復(fù)進(jìn)行。
[0016]3.HLA 模塊
[0017]HLA模塊主要負(fù)責(zé)聯(lián)邦成員與外界,即RTI的交互工作。HLA模塊按照HLA協(xié)議的規(guī)定實(shí)現(xiàn)了必要的HLA協(xié)議接口,處理所有與HLA協(xié)議相關(guān)的工作。HLA模塊提供控制器相應(yīng)的回調(diào)接口,以便控制器轉(zhuǎn)達(dá)仿真器的信息,包括模型數(shù)據(jù)更新和時(shí)間推進(jìn)等。HLA模塊調(diào)用控制器提供的監(jiān)聽(tīng)接口,將來(lái)自HLA軟總線(xiàn)的信息傳遞給仿真器。
[0018]4.仿真模型
[0019]仿真模型根據(jù)具體的仿真任務(wù)實(shí)現(xiàn)相應(yīng)的仿真算法,并為仿真器提供相應(yīng)的接口,仿真器通過(guò)這些接口完成仿真計(jì)算、獲取仿真數(shù)據(jù)以及更新仿真數(shù)據(jù)。
[0020]有益效果
[0021]本發(fā)明提供了一種HLA分布式仿真系統(tǒng)中通用聯(lián)邦成員的設(shè)計(jì)方法,解決了聯(lián)邦成員設(shè)計(jì)難的問(wèn)題,具有以下有益效果:[0022]1.本發(fā)明提供一種通用聯(lián)邦成員的設(shè)計(jì)框架,增加重用性,提高仿真系統(tǒng)的開(kāi)發(fā)效率。
[0023]2.本發(fā)明采用模塊化設(shè)計(jì),聯(lián)邦成員各模塊功能明確、采用接口相互連接,聯(lián)邦成員自身內(nèi)部可擴(kuò)展性強(qiáng),減小邦員的實(shí)現(xiàn)難度。
[0024]3.本發(fā)明通過(guò)控制器、HLA模塊和仿真器將HLA協(xié)議與實(shí)現(xiàn)具體仿真任務(wù)和仿真算法的仿真模型分開(kāi),消除仿真模型與HLA協(xié)議的耦合關(guān)系,實(shí)現(xiàn)仿真模型與HLA協(xié)議無(wú)關(guān),簡(jiǎn)化模型的開(kāi)發(fā)難度,提高開(kāi)發(fā)效率。
[0025]4.基于本發(fā)明的HLA分布式系統(tǒng),所有聯(lián)邦成員具有一致的形式和運(yùn)行機(jī)理,便于實(shí)現(xiàn)仿真系統(tǒng)及仿真運(yùn)行管理,便于搭建復(fù)雜的仿真系統(tǒng)。
[0026]5.基于本發(fā)明的HLA分布式仿真系統(tǒng),便于實(shí)現(xiàn)仿真系統(tǒng)的可擴(kuò)展性,只需要簡(jiǎn)單的增加聯(lián)邦成員的個(gè)數(shù)或改變仿真模型。
[0027]6.基于本發(fā)明,便于建立一套統(tǒng)一的規(guī)范化的HLA分布式仿真平臺(tái),實(shí)現(xiàn)仿真模型和其他仿真資源的有效管理。
【專(zhuān)利附圖】
【附圖說(shuō)明】
[0028]圖1為本發(fā)明中的通用聯(lián)邦成員功能結(jié)構(gòu)示意圖;
[0029]圖2為本發(fā)明中的通用聯(lián)邦成員的各模塊交互示意圖;
[0030]圖3為具體實(shí)施中基于本發(fā)明的分布式仿真系統(tǒng)實(shí)施列;
【具體實(shí)施方式】
[0031]為了具體說(shuō)明本發(fā)明的目的和優(yōu)點(diǎn),本實(shí)施例對(duì)上述發(fā)明加以實(shí)施實(shí)現(xiàn)。
[0032]聯(lián)邦成員的通用聯(lián)邦成員程序與仿真模型間的圓弧形分界線(xiàn)表示兩者通過(guò)接口有機(jī)的連接在一起形成聯(lián)邦成員。本實(shí)施例中通用聯(lián)邦程序以可執(zhí)行程序的形式實(shí)現(xiàn),而仿真模型以組件的形式存在(比如一定規(guī)則的動(dòng)態(tài)鏈接庫(kù)或者是COM組建),從而使兩者能有機(jī)的結(jié)合,實(shí)現(xiàn)聯(lián)邦成員的功能。為此,本實(shí)施例通過(guò)定義上述發(fā)明的通用聯(lián)邦成員的各組成部分間的接口來(lái)實(shí)施本
【發(fā)明內(nèi)容】
。一種應(yīng)用于HLA分布式仿真方法的通用聯(lián)邦成員,由通用聯(lián)邦成員程序和仿真模型兩部分組成,如圖1所示。其中通用聯(lián)邦成員程序由仿真調(diào)度模塊、模型接口和HLA模塊三部分組成。聯(lián)邦成員通過(guò)通用聯(lián)邦成員程序的HLA模塊連接HLA分布式仿真軟總線(xiàn),進(jìn)而實(shí)現(xiàn)與HLA運(yùn)行支撐環(huán)境(RTI)的交互。
[0033]仿真調(diào)度模塊是通用聯(lián)邦成員程序的核心實(shí)現(xiàn),它通過(guò)模型接口實(shí)現(xiàn)仿真模型的運(yùn)行控制和獲取模型的輸入輸出,通過(guò)HLA模塊將仿真模型接入HLA軟總線(xiàn),實(shí)現(xiàn)分布式仿真系統(tǒng)中模型間的數(shù)據(jù)交互和時(shí)間同步功能。
[0034]仿真調(diào)度模塊包括仿真器和控制器。如圖2所示,仿真器通過(guò)模型接口調(diào)用仿真模型,實(shí)現(xiàn)仿真計(jì)算;控制器通過(guò)監(jiān)聽(tīng)仿真器和HLA模塊的行為以及回調(diào)仿真器和HLA模塊的接口完成仿真的運(yùn)行控制和調(diào)度。
[0035]1.控制器
[0036]控制器處于中心地位,仿真運(yùn)行控制和調(diào)度都由它來(lái)實(shí)現(xiàn);同時(shí),為了實(shí)現(xiàn)仿真模型與HLA協(xié)議的分離,仿真器與HLA模塊間的數(shù)據(jù)傳輸也通過(guò)控制器來(lái)完成,而仿真器與HLA模塊間無(wú)直接傳輸。[0037]控制器充當(dāng)仿真器和HLA模塊的監(jiān)聽(tīng)器,完成兩者之間的數(shù)據(jù)傳輸和交互。當(dāng)仿真器完成仿真模型的仿真計(jì)算任務(wù)時(shí),通過(guò)調(diào)用控制器提供的監(jiān)聽(tīng)接口進(jìn)行數(shù)據(jù)更新和時(shí)間推進(jìn)等??刂破魇盏椒抡嫫鞯膭?dòng)作請(qǐng)求,通過(guò)調(diào)用HLA模塊提供的回調(diào)接口,將仿真器的仿真更新通過(guò)HLA模型傳輸?shù)紿LA軟總線(xiàn)上,進(jìn)而交由RTI進(jìn)行處理。同理,當(dāng)HLA模塊收到來(lái)自HLA軟總線(xiàn)上的數(shù)據(jù)和控制信息時(shí),調(diào)用控制器提供的監(jiān)聽(tīng)接口,由控制器調(diào)用仿真器提供的回調(diào)接口傳輸給仿真器。
[0038]2.仿真器
[0039]仿真器主要負(fù)責(zé)具體的仿真計(jì)算功能。首先,控制器調(diào)用仿真器的開(kāi)始仿真回調(diào)接口,通知仿真器開(kāi)始仿真;仿真器通過(guò)模型接口調(diào)用仿真模型完成一個(gè)步長(zhǎng)的仿真計(jì)算;計(jì)算完成后,通過(guò)模型接口獲取模型的輸出,并調(diào)用控制器的監(jiān)聽(tīng)接口,由控制器通知HLA模塊完成模型輸出的更新;隨后仿真器調(diào)用控制的監(jiān)聽(tīng)接口進(jìn)行時(shí)間推進(jìn)請(qǐng)求,控制器通知HLA模塊,由HLA模塊通過(guò)HLA協(xié)議接口通知RTI模型的時(shí)間推進(jìn)請(qǐng)求。RTI同意時(shí)間推進(jìn)后,HLA模塊調(diào)用控制器的監(jiān)聽(tīng)接口,由控制器調(diào)用仿真器的回調(diào)接口,通知仿真器可進(jìn)行下一步推進(jìn),仿真器繼續(xù)下一個(gè)仿真步長(zhǎng)的計(jì)算,重復(fù)進(jìn)行。
[0040]3.HLA 模塊
[0041]HLA模塊主要負(fù)責(zé)聯(lián)邦成員與外界,即RTI的交互工作。HLA模塊按照HLA協(xié)議的規(guī)定實(shí)現(xiàn)了必要的HLA協(xié)議接口,處理所有與HLA協(xié)議相關(guān)的工作。HLA模塊提供控制器相應(yīng)的回調(diào)接口,以便控制器轉(zhuǎn)達(dá)仿真器的信息,包括模型數(shù)據(jù)更新和時(shí)間推進(jìn)等。HLA模塊調(diào)用控制器提供的監(jiān)聽(tīng)接口,將來(lái)自HLA軟總線(xiàn)的信息傳遞給仿真器。
[0042]4.仿真模型
[0043]仿真模型根據(jù)具體的仿真任務(wù)實(shí)現(xiàn)相應(yīng)的仿真算法,并為仿真器提供相應(yīng)的接口,仿真器通過(guò)這些接口完成仿真計(jì)算、獲取仿真數(shù)據(jù)以及更新仿真數(shù)據(jù)。
[0044]5.控制器
[0045]控制器中的監(jiān)聽(tīng)接口分為與仿真器相關(guān)的監(jiān)聽(tīng)接口和與HLA模塊相關(guān)的監(jiān)聽(tīng)接□。
[0046]I)與仿真器相關(guān)的監(jiān)聽(tīng)接口
[0047]1.更新模型監(jiān)聽(tīng)接口當(dāng)仿真器完成一個(gè)仿真步長(zhǎng)的計(jì)算工作,需要進(jìn)行模型更新,將新的模型信息傳予分布式仿真系統(tǒng)中的其他仿真成員??刂破鞅O(jiān)聽(tīng)仿真器的模型更新請(qǐng)求,并將該請(qǐng)求轉(zhuǎn)達(dá)予HLA模塊。HLA模塊通過(guò)HLA協(xié)議接口將模型更新提交予RTI。該接口的輸入?yún)?shù)是所更新的模型信息,返回值為是否更新成功。
[0048]i1.時(shí)間推進(jìn)監(jiān)聽(tīng)接口在HLA分布式仿真系統(tǒng)中,整個(gè)仿真系統(tǒng)的時(shí)間管理是由RTI負(fù)責(zé)的。當(dāng)仿真器完成一個(gè)仿真步長(zhǎng)的計(jì)算和模型信息更新工作后,進(jìn)行時(shí)間推進(jìn)請(qǐng)求??刂破鞅O(jiān)聽(tīng)仿真器的時(shí)間推進(jìn)請(qǐng)求,并將該請(qǐng)求轉(zhuǎn)達(dá)給HLA模塊,由HLA模塊通過(guò)HLA協(xié)議提供的服務(wù)(接口)提交給RTI。該接口的輸入?yún)?shù)是請(qǐng)求推進(jìn)的時(shí)間值,返回值為時(shí)間推進(jìn)請(qǐng)求是否提交成功。
[0049]ii1.仿真已經(jīng)開(kāi)始監(jiān)聽(tīng)接口當(dāng)仿真器由暫?;謴?fù)仿真時(shí),控制器監(jiān)聽(tīng)仿真器的該動(dòng)作,并將其轉(zhuǎn)達(dá)給HLA模塊。該監(jiān)聽(tīng)接口無(wú)輸入?yún)?shù)和返回值。
[0050]iv.仿真已經(jīng)暫停監(jiān)聽(tīng)接口當(dāng)仿真器由仿真運(yùn)行調(diào)整為暫停時(shí),控制器監(jiān)聽(tīng)仿真器的該動(dòng)作,并將其轉(zhuǎn)達(dá)給HLA模塊。該監(jiān)聽(tīng)接口無(wú)輸入?yún)?shù)和返回值。[0051 ] 2)與HLA模塊相關(guān)的監(jiān)聽(tīng)接口
[0052]1.收到模型更新監(jiān)聽(tīng)接口在HLA分布式仿真系統(tǒng)中,如果聯(lián)邦成員訂購(gòu)了其他聯(lián)邦成員的數(shù)據(jù),RTI會(huì)在其他聯(lián)邦成員的數(shù)據(jù)更新信息傳遞給訂購(gòu)者,從而形成數(shù)據(jù)的生產(chǎn)者與消費(fèi)者模式。在本發(fā)明中,RTI通過(guò)HLA協(xié)議提供的回調(diào)服務(wù)接口(該接口由HLA模塊具體實(shí)現(xiàn))將來(lái)自其他聯(lián)邦成員的模型更新傳予訂購(gòu)模型更新的聯(lián)邦成員??刂破鞅O(jiān)聽(tīng)HLA模塊收到模型更新,并將該信息轉(zhuǎn)達(dá)予仿真器,由仿真器通過(guò)模型接口將其他模型的數(shù)據(jù)傳予仿真模型。
[0053]i1.允許時(shí)間推進(jìn)請(qǐng)求監(jiān)聽(tīng)接口 RTI收到聯(lián)邦成員的時(shí)間推進(jìn)請(qǐng)求,根據(jù)聯(lián)邦中各聯(lián)邦成員的時(shí)間推進(jìn)情況,將通知聯(lián)邦成員允許其時(shí)間推進(jìn)請(qǐng)求。RTI通過(guò)HLA協(xié)議提供的回調(diào)服務(wù)接口(該接口由HLA模塊具體實(shí)現(xiàn))通知聯(lián)邦成員時(shí)間推進(jìn)請(qǐng)求已經(jīng)被允許??刂破鞅O(jiān)聽(tīng)HLA模塊收到允許時(shí)間推進(jìn)請(qǐng)求的信號(hào),并轉(zhuǎn)達(dá)予仿真器,仿真器立即進(jìn)行下一個(gè)仿真步長(zhǎng)的仿真任務(wù)。該監(jiān)聽(tīng)接口的輸入?yún)?shù)為被允許的時(shí)間值,返回值無(wú)。
[0054]ii1.仿真運(yùn)行控制監(jiān)聽(tīng)接口在HLA分布式仿真系統(tǒng)中,通常存在一個(gè)聯(lián)邦成員專(zhuān)門(mén)負(fù)責(zé)管理整個(gè)聯(lián)邦的運(yùn)行,該聯(lián)邦成員被稱(chēng)為管理聯(lián)邦成員。本發(fā)明中,對(duì)仿真的運(yùn)行控制包括仿真的開(kāi)始、暫停、停止和仿真速度調(diào)節(jié)。RTI將管理聯(lián)邦成員的控制信息傳予HLA模塊。控制器監(jiān)聽(tīng)HLA模塊收到的運(yùn)行控制信息,并通知仿真器進(jìn)行相應(yīng)的動(dòng)作,比如暫停仿真、恢復(fù)仿真、停止仿真或調(diào)節(jié)仿真速度。仿真開(kāi)始、暫停、停止監(jiān)聽(tīng)接口,無(wú)輸入?yún)?shù)和返回值;調(diào)節(jié)仿真速度的監(jiān)聽(tīng)接口的輸入?yún)?shù)為時(shí)間調(diào)節(jié)因子,返回值無(wú)。
[0055]6.仿真器
[0056]1.仿真初始化接口該接口由控制器調(diào)用,仿真器在該接口的實(shí)現(xiàn)中建立仿真,并完成模型的初始化工作。該接口無(wú)輸入?yún)?shù),返回值為是否初始化成功。
[0057]i1.開(kāi)始仿真接口該接口由控制器調(diào)用,使仿真器由仿真暫?;謴?fù)仿真運(yùn)行。該接口無(wú)輸入?yún)?shù)和返回值。
[0058]ii1.暫停仿真接口該接口由控制器調(diào)用,使仿真器暫停仿真。該接口無(wú)輸入?yún)?shù)和返回值。
[0059]iv.設(shè)置仿真速度該接口由控制器調(diào)用,改變仿真速度。該接口的輸入?yún)?shù)為時(shí)間尺度因子,單步計(jì)算時(shí)間為仿真步長(zhǎng)除以時(shí)間尺度因子。該接口無(wú)返回值。
[0060]V.允許時(shí)間推進(jìn)該接口由控制器調(diào)用,允許仿真器進(jìn)行下一個(gè)仿真步長(zhǎng)的仿真任務(wù)。該接口無(wú)輸入?yún)?shù)和返回值。
[0061]v1.反射來(lái)自外部的數(shù)據(jù)該接口由控制器調(diào)用,由仿真器更新仿真模型的輸入。通常,在HLA分布式仿真系統(tǒng)中,聯(lián)邦成員需要訂購(gòu)其他聯(lián)邦成員的數(shù)據(jù)(由該聯(lián)邦成員中模型的提供)作為仿真模型的輸入數(shù)據(jù)??刂破鞅O(jiān)聽(tīng)到HLA模塊收到其他仿真邦員的新數(shù)據(jù)時(shí),會(huì)調(diào)用該接口告訴仿真器更新模型的輸入數(shù)據(jù)。該接口的輸入?yún)?shù)為當(dāng)前收到的其他仿真邦員的數(shù)據(jù),返回值為是否更新成功。
[0062]7.模型接口
[0063]1.模型初始化接口該接口由仿真器調(diào)用,仿真模型實(shí)現(xiàn),在仿真初始化時(shí)完成模型的初始化工作。該接口的輸入?yún)?shù)為模型的初始化數(shù)據(jù),返回值為是否初始化成功。
[0064]i1.模型仿真步進(jìn)接口該接口由仿真器調(diào)用,仿真模型實(shí)現(xiàn)。仿真中的每一個(gè)步長(zhǎng),仿真器調(diào)用該接口,完成仿真模型當(dāng)前仿真步長(zhǎng)的計(jì)算工作。該接口的輸入?yún)?shù)為仿真模型需要推進(jìn)到到得時(shí)間值,返回值為是否推進(jìn)成功。
[0065]ii1.模型輸入接口該接口由仿真器調(diào)用,仿真模型實(shí)現(xiàn),更新模型的輸入。該接口的輸入?yún)?shù)為模型輸入數(shù)據(jù),返回值為輸入是否更新成功。
[0066]iv.模型輸出接口該接口由仿真器調(diào)用,仿真模型實(shí)現(xiàn),獲取模型當(dāng)前的輸出數(shù)據(jù)。當(dāng)一個(gè)仿真步長(zhǎng)完成,仿真器調(diào)用該接口獲取模型的輸出數(shù)據(jù),并向其他邦員發(fā)布新的模型數(shù)據(jù)。該接口無(wú)輸入?yún)?shù),返回值為模型的輸出數(shù)據(jù)。
[0067]V.模型終止接口該接口由仿真器調(diào)用,仿真模型實(shí)現(xiàn),完成仿真結(jié)束時(shí)對(duì)仿真模型的最后清理工作。該接口無(wú)輸入?yún)?shù)和返回值。
[0068]8.HLA 模塊
[0069]1.時(shí)間推進(jìn)請(qǐng)求接口該接口由控制器調(diào)用,HLA模塊實(shí)現(xiàn),HLA模塊向RTI提交聯(lián)邦成員的時(shí)間推進(jìn)請(qǐng)求。輸入?yún)?shù)為請(qǐng)求推進(jìn)的時(shí)間值,無(wú)返回值。
[0070]i1.更新模型信息該接口由控制器調(diào)用,HLA模塊實(shí)現(xiàn),HLA向RTI提交模型更新。輸入?yún)?shù)為更新的數(shù)據(jù),返回值為是否提交更新成功。
[0071]通過(guò)定義以上接口對(duì)本發(fā)明的一種應(yīng)用于HLA分布式仿真方法的通用聯(lián)邦成員進(jìn)行具體實(shí)施。具體實(shí)施效果如圖3所示,圖中包含4個(gè)聯(lián)邦成員,它們分別是聯(lián)邦成員1、聯(lián)邦成員2、聯(lián)邦成員3和聯(lián)邦成員4 ;聯(lián)邦成員通過(guò)HLA分布式軟總線(xiàn)與HLA分布式仿真運(yùn)行支撐環(huán)境連接,形成分布式仿真系統(tǒng)。對(duì)應(yīng)于本發(fā)明的內(nèi)容,4個(gè)聯(lián)邦成員均由兩部分組成,分別是通用聯(lián)邦成員程序和仿真模型。聯(lián)邦成員中的通用聯(lián)邦成員程序相同,而仿真模型不同(比如聯(lián)邦成員I包含仿真模型1,聯(lián)邦成員2包含仿真模型2),從而實(shí)現(xiàn)不同的仿真算法或仿真任務(wù)。為此,具有上述有益效果。
【權(quán)利要求】
1.一種應(yīng)用于HLA分布式仿真方法的通用聯(lián)邦成員,其特征在于:包括通用聯(lián)邦成員程序和仿真模型。
2.根據(jù)權(quán)利要求1所述的一種應(yīng)用于HLA分布式仿真方法的通用聯(lián)邦成員,其特征在于:通用聯(lián)邦成員程序在功能上分為三部分,分別是模型接口、仿真調(diào)度模塊和HLA模塊;仿真調(diào)度模塊是通用聯(lián)邦成員程序的核心實(shí)現(xiàn),它通過(guò)模型接口實(shí)現(xiàn)仿真模型的運(yùn)行控制和獲取模型的輸入輸出,通過(guò)HLA模塊將仿真模型接入HLA軟總線(xiàn),實(shí)現(xiàn)分布式仿真系統(tǒng)中模型間的數(shù)據(jù)交互和時(shí)間同步等功能。
3.根據(jù)權(quán)利要求2所述的一種應(yīng)用于HLA分布式仿真方法的通用聯(lián)邦成員,其特征在于:仿真調(diào)度模塊包括仿真器和控制器;仿真器通過(guò)模型接口調(diào)用仿真模型,實(shí)現(xiàn)仿真計(jì)算;控制器通過(guò)監(jiān)聽(tīng)仿真器和HLA模塊的行為以及回調(diào)仿真器和HLA模塊的接口完成仿真的運(yùn)行控制和調(diào)度。
4.根據(jù)權(quán)利要求2所述的一種應(yīng)用于HLA分布式仿真方法的通用聯(lián)邦成員,其特征在于:HLA模塊主要負(fù)責(zé)聯(lián)邦成員與外界,即RTI的交互工作;HLA模塊按照HLA協(xié)議的規(guī)定實(shí)現(xiàn)了必要的HLA協(xié)議接口,處理所有與HLA協(xié)議相關(guān)的工作; HLA模塊提供控制器相應(yīng)的回調(diào)接口,以便控制器轉(zhuǎn)達(dá)仿真器的信息,包括模型數(shù)據(jù)更新和時(shí)間推進(jìn)等;HLA模塊調(diào)用控制器提供的監(jiān)聽(tīng)接口,將來(lái)自HLA軟總線(xiàn)的信息傳遞給仿真器。
5.根據(jù)權(quán)利要求1所述的一種應(yīng)用于HLA分布式仿真方法的通用聯(lián)邦成員,其特征在于:仿真模型根據(jù)具體的仿真任務(wù)實(shí)現(xiàn)相應(yīng)的仿真算法,并為仿真器提供相應(yīng)的接口,仿真器通過(guò)這些接口完成仿真計(jì)算、獲取仿真數(shù)據(jù)以及更新仿真數(shù)據(jù)。
【文檔編號(hào)】G06F17/50GK103514321SQ201310349094
【公開(kāi)日】2014年1月15日 申請(qǐng)日期:2013年8月12日 優(yōu)先權(quán)日:2013年8月12日
【發(fā)明者】李震, 余銀, 劉向東, 路平立 申請(qǐng)人:北京理工大學(xué)