一種模型組件的服務化實現(xiàn)方法及其系統(tǒng)的制作方法
【專利摘要】本發(fā)明公開了一種模型組件的服務化實現(xiàn)方法,包括生成模型服務支持的模型組件代碼的服務化封裝;采用GT3core工具實現(xiàn)模型組件的服務部署;在客戶端實現(xiàn)對模型組件服務的調用;還提供了一種模型組件的服務化實現(xiàn)系統(tǒng)。本發(fā)明的優(yōu)點在于:對現(xiàn)有的HLA規(guī)范不做修改,以保持技術的延續(xù)性和繼承性,便于分布式仿真系統(tǒng)的集成;實現(xiàn)了仿真模型的服務化,分離仿真模型的調用方和實現(xiàn)方,提供仿真模型就是提供一種服務。
【專利說明】一種模型組件的服務化實現(xiàn)方法及其系統(tǒng)
【技術領域】
[0001]本發(fā)明涉及一種模型組件的實現(xiàn)方法及系統(tǒng)。更具體地,涉及一種模型組件的服務化實現(xiàn)方法及其系統(tǒng)。
【背景技術】
[0002]目前分布式聯(lián)網仿真應用越來越普遍,同時對模型組件的可重用、服務化的需求也越來越迫切??梢圆捎肳SDL對仿真模型進行統(tǒng)一描述,從描述自動產生客戶端和服務器端代碼,這樣可方便地實現(xiàn)仿真模型的封裝。分布交互仿真系統(tǒng)中模型的編寫一般采用的語言是Visual C++,而GT3中服務的服務端和客戶端程序的編寫一般采用JAVA語言。如果需要把模型資源服務化,可以采用的一種方法是將所有的模型資源用JAVA語言進行改寫。但原來的系統(tǒng)中,模型車廠、仿真支撐平臺、顯示系統(tǒng)、演練管理等都是采用VC語言開發(fā)的,如果全部用JAVA語言重新開發(fā)的話,其結果是需要耗費巨大的人力和物力,而且開發(fā)的周期也將大大增加。
[0003]同時復雜系統(tǒng)分布仿真技術在實現(xiàn)仿真系統(tǒng)中各類資源安全地共享與重用、協(xié)同互操作、優(yōu)化調度運行等方面還有不足之處。
[0004]因此,需要提供一種一種模型組件的服務化實現(xiàn)方法及其系統(tǒng),以滿足仿真系統(tǒng)對各類資源安全地共享與重用、協(xié)同互操作和優(yōu)化調度運行的需求。
【發(fā)明內容】
[0005]本發(fā)明要解決的第一個技術問題是提供一種模型組件的服務化實現(xiàn)方法及其系統(tǒng),以解決建模仿真在開放、動態(tài)網絡環(huán)境中開發(fā)和運行的需求。
[0006]為解決上述第一個技術問題,本發(fā)明采用下述技術方案:
[0007]—種模型組件的服務化實現(xiàn)方法,該方法具體步驟如下:
[0008]步驟一:生成模型服務支持的模型組件代碼的服務化封裝;
[0009]步驟二 :采用GT3c0re工具實現(xiàn)模型組件的服務部署;
[0010]步驟三:在客戶端實現(xiàn)對模型組件服務的調用。
[0011]優(yōu)選的,所述步驟一是采用服務實現(xiàn)文件實現(xiàn)對模型組件源程序中方法的聲明以及調用。
[0012]優(yōu)選的,所述服務實現(xiàn)文件生成h頭文件,此h文件和模型組件源程序中的CPP文件共同編譯生成一個模型組件的dll動態(tài)鏈接庫文件,所述dll動態(tài)鏈接庫為服務實現(xiàn)文件調用模型資源的形式。
[0013]優(yōu)選的,所述動態(tài)鏈接庫文件生成后,模型服務通過jni來調用模型組件源程序中的方法,而模型組件源程序中的方法中已經實現(xiàn)了對原有模型的調用,從而實現(xiàn)對原有模型資源初始服務化。
[0014]優(yōu)選的,所述服務部署采用GT3c0re工具,生成能夠描述服務接口信息的服務接口描述文件,基于所述服務接口描述文件和服務實現(xiàn)文件,對模型服務進行編譯、打包和部署。
[0015]優(yōu)選的,所述服務部署進一步包括:
[0016]用GT3c0re工具生成能夠描述服務接口信息的服務接口描述文件;
[0017]由模型開發(fā)者用GT3c0re工具根據模型能夠提供的接口以及接口的參數進行編寫生成WSDL接口描述文件;
[0018]基于所述服務接口描述文件和服務實現(xiàn)文件,對模型資源服務進行部署,形成模型資源服務的服務端。
[0019]優(yōu)選的,所述步驟三,可根據下載的接口描述WSDL文件,自動生成調用模型資源服務的C++代碼。
[0020]一種模型組件的服務化實現(xiàn)系統(tǒng),該系統(tǒng)包括
[0021]模型組件的服務化封裝模塊,用于生成模型服務支持的模型組件代碼;
[0022]模型服務部署模塊,采用Web服務描述語言WDSL,提供模型服務接口的描述,并完成模型服務的部署;
[0023]對模型服務的調用模塊,根據下載的接口描述WSDL文件,自動生成調用模型資源服務的C++代碼。
[0024]優(yōu)選的,所述的模型組件的服務化封裝模塊,是利用源程序中的cpp文件和h文件編譯生成一個dll動態(tài)鏈接庫文件,所述dll動態(tài)鏈接庫為服務實現(xiàn)文件調用模型資源的形式。
[0025]本發(fā)明的有益效果如下:
[0026]本發(fā)明對對現(xiàn)有的分布式仿真規(guī)范不做修改,以保持技術的延續(xù)性和繼承性,便于分布式仿真系統(tǒng)的集成;仿真模型的服務化,分離仿真模型的調用方和實現(xiàn)方,提供仿真模型就是提供一種服務;考慮實時性因素,提高仿真模型服務調用的效率。
【專利附圖】
【附圖說明】
[0027]下面結合附圖對本發(fā)明的【具體實施方式】作進一步詳細的說明。
[0028]圖I示出一種模型組件的服務化實現(xiàn)方法示意圖。
【具體實施方式】
[0029]為了更清楚地說明本發(fā)明,下面結合優(yōu)選實施例和附圖對本發(fā)明做進一步的說明。附圖中相似的部件以相同的附圖標記進行表示。本領域技術人員應當理解,下面所具體描述的內容是說明性的而非限制性的,不應以此限制本發(fā)明的保護范圍。
[0030]本發(fā)明還提供了一種模型組件的服務化實現(xiàn)方法,圖I中所示,該方法具體步驟如下:步驟一:生成模型服務支持的模型組件代碼的服務化封裝步驟;步驟二 :采用GT3core工具實現(xiàn)模型組件的服務部署;步驟三:在客戶端實現(xiàn)對模型組件服務的調用。
[0031]其中所述生成模型服務支持的模型組件代碼的服務化封裝步驟是采用服務實現(xiàn)文件實現(xiàn)對模型組件源程序中方法的聲明以及調用。因為模型服務的實現(xiàn)文件為java文件,要實現(xiàn)對模型程序C++代碼的調用,必須通過JNI來調用以庫形式存放的模型組件源程序中的方法的方式來實現(xiàn)。因此,服務實現(xiàn)文件生成h頭文件,此h文件和模型組件源程序中的cpp文件共同編譯生成一個模型組件的dll動態(tài)鏈接庫文件,所述dll動態(tài)鏈接庫為服務實現(xiàn)文件調用模型資源的形式。模型組件源程序中的方法的庫文件生成后,模型服務的實現(xiàn)文件就可以通過JNI來調用模型組件源程序中的方法了,而模型組件源程序中的方法中已經實現(xiàn)了對原有模型的調用,這樣就實現(xiàn)了對原有模型資源服務化的第一步。
[0032]其中所述服務部署步驟采用GT3c0re工具,生成能夠描述服務接口信息的服務接口描述文件;服務部署步驟進一步包括:用GT3c0re工具生成能夠描述服務接口信息的服務接口描述文件,由模型開發(fā)者用GT3c0re工具根據模型能夠提供的接口以及接口的參數進行編寫生成WSDL接口描述文件;基于所述服務接口描述文件和服務實現(xiàn)文件,對模型資源服務進行部署,形成模型資源服務的服務端。
[0033]其中所述的在客戶端實現(xiàn)對模型組件服務的調用步驟,可根據下載的接口描述WSDL文件,自動生成調用模型資源服務的C++代碼。對模型服務調用的步驟進一步包括:模型服務的客戶端程序實現(xiàn)對模型資源服務的服務連接、實例創(chuàng)建、方法調用、實例撤銷等,但模型資源的使用者即用戶程序并不實現(xiàn)用戶真正需要進行的服務調用,只是將服務的連接、實例創(chuàng)建、方法調用、實例撤銷等封裝進客戶端方法中。模型服務的客戶端程序通過JAVA語言來開發(fā),而使模型資源的調用不破壞整個系統(tǒng)的整體性,分布式仿真用戶對模型資源的調用采用VC來進行開發(fā),這個JAVA與VC的銜接也通過JNI來實現(xiàn)。因此,模型資源服務的用戶端(C程序編寫)通過調用客戶端程序(JAVA程序)中的方法,實現(xiàn)對模型服務的調用。
[0034]本發(fā)明還提供了一種模型組件的服務化實現(xiàn)系統(tǒng),該系統(tǒng)包括模型組件的服務化封裝模塊、模型服務部署模塊和模型組件服務的調用模塊;模型組件的服務化封裝模塊用于生成模型服務支持的模型組件代碼;模型服務部署模塊:采用Web服務描述語言WDSL提供模型服務接口的描述,并完成模型服務的部署;對模型服務的調用模塊:根據下載的接口描述WSDL文件,自動生成調用模型資源服務的C++代碼。其中模型組件的服務化封裝模塊采用服務實現(xiàn)文件實現(xiàn)對模型組件源程序中方法的聲明以及調用。因為模型服務的實現(xiàn)文件為java文件,要實現(xiàn)對模型程序C++代碼的調用,必須通過JNI來調用以庫形式存放的模型組件源程序中的方法的方式來實現(xiàn)。因此,服務實現(xiàn)文件生成h頭文件,此h文件和模型組件源程序中的cpp文件共同編譯生成一個模型組件的dll動態(tài)鏈接庫文件,所述dll動態(tài)鏈接庫為服務實現(xiàn)文件調用模型資源的形式。模型組件源程序中的方法的庫文件生成后,模型服務的實現(xiàn)文件就可以通過JNI來調用模型組件源程序中的方法了,而模型組件源程序中的方法中已經實現(xiàn)了對原有模型的調用,這樣就實現(xiàn)了對原有模型資源服務化的第一步。其中模型服務部署模塊采用GT3c0re工具,生成能夠描述服務接口信息的服務接口描述文件;服務部署步驟進一步包括:用GT3c0re工具生成能夠描述服務接口信息的服務接口描述文件,由模型開發(fā)者用GT3c0re工具根據模型能夠提供的接口以及接口的參數進行編寫生成WSDL接口描述文件;基于所述服務接口描述文件和服務實現(xiàn)文件,對模型資源服務進行部署,形成模型資源服務的服務端。其中對模型服務的調用模塊,可根據下載的接口描述WSDL文件,自動調用模型資源服務的C++代碼。對模型服務調用的步驟進一步包括:模型服務的客戶端程序實現(xiàn)對模型資源服務的服務連接、實例創(chuàng)建、方法調用、實例撤銷等,但模型資源的使用者即用戶程序并不實現(xiàn)用戶真正需要進行的服務調用,只是將服務的連接、實例創(chuàng)建、方法調用、實例撤銷等封裝進客戶端方法中。模型服務的客戶端程序通過JAVA語言來開發(fā),而使模型資源的調用不破壞整個系統(tǒng)的整體性,分布式仿真用戶對模型資源的調用采用VC++來進行開發(fā),這個JAVA與VC++的銜接也通過JNI來實現(xiàn)。因此,模型資源服務的用戶端(C++程序編寫)通過調用客戶端程序(JAVA程序)中的方法,實現(xiàn)對模型服務的調用。
[0035]顯然,本發(fā)明的上述實施例僅僅是為清楚地說明本發(fā)明所作的舉例,而并非是對本發(fā)明的實施方式的限定,對于所屬領域的普通技術人員來說,在上述說明的基礎上還可以做出其它不同形式的變化或變動,這里無法對所有的實施方式予以窮舉,凡是屬于本發(fā)明的技術方案所引伸出的顯而易見的變化或變動仍處于本發(fā)明的保護范圍之列。
【權利要求】
1.一種模型組件的服務化實現(xiàn)方法,其特征在于:該方法具體步驟如下: 步驟一:生成模型服務支持的模型組件代碼的服務化封裝; 步驟二 :采用GT3Core工具實現(xiàn)模型組件的服務部署; 步驟三:在客戶端實現(xiàn)對模型組件服務的調用。
2.根據權利要求I所述的模型組件的服務化實現(xiàn)方法,其特征在于:所述步驟一是采用服務實現(xiàn)文件實現(xiàn)對模型組件源程序中方法的聲明以及調用。
3.根據權利要求2所述的模型組件的服務化實現(xiàn)方法,其特征在于:所述服務實現(xiàn)文件生成h頭文件,此h文件和模型組件源程序中的cpp文件共同編譯生成一個模型組件的dll動態(tài)鏈接庫文件,所述dll動態(tài)鏈接庫為服務實現(xiàn)文件調用模型資源的形式。
4.根據權利要求3所述的模型組件的服務化實現(xiàn)方法,其特征在于:所述動態(tài)鏈接庫文件生成后,模型服務通過jni來調用模型組件源程序中的方法,而模型組件源程序中的方法中已經實現(xiàn)了對原有模型的調用,從而實現(xiàn)對原有模型資源初始服務化。
5.根據權利要求I所述的模型組件的服務化實現(xiàn)方法,其特征在于:所述服務部署采用GT3c0re工具,生成能夠描述服務接口信息的服務接口描述文件,基于所述服務接口描述文件和服務實現(xiàn)文件,對模型服務進行編譯、打包和部署。
6.根據權利要求5所述的模型組件的服務化實現(xiàn)方法,其特征在于:所述服務部署進一步包括: 用GT3c0re工具生成能夠描述服務接口信息的服務接口描述文件; 由模型開發(fā)者用GT3c0re工具根據模型能夠提供的接口以及接口的參數進行編寫生成WSDL接口描述文件; 基于所述服務接口描述文件和服務實現(xiàn)文件,對模型資源服務進行部署,形成模型資源服務的服務端。
7.根據權利要求I所述的模型組件的服務化實現(xiàn)方法,其特征在于:所述步驟三,可根據下載的接口描述WSDL文件,自動生成調用模型資源服務的C++代碼。
8.—種模型組件的服務化實現(xiàn)系統(tǒng),其特征在于:該系統(tǒng)包括 模型組件的服務化封裝模塊,用于生成模型服務支持的模型組件代碼; 模型服務部署模塊,采用Web服務描述語言WDSL,提供模型服務接口的描述,并完成模型服務的部署; 對模型服務的調用模塊,根據下載的接口描述WSDL文件,自動生成調用模型資源服務的C++代碼。
9.根據權利要求8所述的模型組件的服務化實現(xiàn)系統(tǒng),其特征在于:所述的模型組件的服務化封裝模塊,是利用源程序中的CPP文件和h文件編譯生成一個dll動態(tài)鏈接庫文件,所述dll動態(tài)鏈接庫為服務實現(xiàn)文件調用模型資源的形式。
【文檔編號】G06F9/45GK103777991SQ201410040433
【公開日】2014年5月7日 申請日期:2014年1月27日 優(yōu)先權日:2014年1月27日
【發(fā)明者】張晗, 卿杜政, 周敏 申請人:北京仿真中心