一种模型组件的服务化实现方法及其系统的制作方法

文档序号:6537100阅读:163来源:国知局
一种模型组件的服务化实现方法及其系统的制作方法
【专利摘要】本发明公开了一种模型组件的服务化实现方法,包括生成模型服务支持的模型组件代码的服务化封装;采用GT3core工具实现模型组件的服务部署;在客户端实现对模型组件服务的调用;还提供了一种模型组件的服务化实现系统。本发明的优点在于:对现有的HLA规范不做修改,以保持技术的延续性和继承性,便于分布式仿真系统的集成;实现了仿真模型的服务化,分离仿真模型的调用方和实现方,提供仿真模型就是提供一种服务。
【专利说明】一种模型组件的服务化实现方法及其系统
【技术领域】
[0001]本发明涉及一种模型组件的实现方法及系统。更具体地,涉及一种模型组件的服务化实现方法及其系统。
【背景技术】
[0002]目前分布式联网仿真应用越来越普遍,同时对模型组件的可重用、服务化的需求也越来越迫切。可以采用WSDL对仿真模型进行统一描述,从描述自动产生客户端和服务器端代码,这样可方便地实现仿真模型的封装。分布交互仿真系统中模型的编写一般采用的语言是Visual C++,而GT3中服务的服务端和客户端程序的编写一般采用JAVA语言。如果需要把模型资源服务化,可以采用的一种方法是将所有的模型资源用JAVA语言进行改写。但原来的系统中,模型车厂、仿真支撑平台、显示系统、演练管理等都是采用VC语言开发的,如果全部用JAVA语言重新开发的话,其结果是需要耗费巨大的人力和物力,而且开发的周期也将大大增加。
[0003]同时复杂系统分布仿真技术在实现仿真系统中各类资源安全地共享与重用、协同互操作、优化调度运行等方面还有不足之处。
[0004]因此,需要提供一种一种模型组件的服务化实现方法及其系统,以满足仿真系统对各类资源安全地共享与重用、协同互操作和优化调度运行的需求。

【发明内容】

[0005]本发明要解决的第一个技术问题是提供一种模型组件的服务化实现方法及其系统,以解决建模仿真在开放、动态网络环境中开发和运行的需求。
[0006]为解决上述第一个技术问题,本发明采用下述技术方案:
[0007]—种模型组件的服务化实现方法,该方法具体步骤如下:
[0008]步骤一:生成模型服务支持的模型组件代码的服务化封装;
[0009]步骤二 :采用GT3c0re工具实现模型组件的服务部署;
[0010]步骤三:在客户端实现对模型组件服务的调用。
[0011]优选的,所述步骤一是采用服务实现文件实现对模型组件源程序中方法的声明以及调用。
[0012]优选的,所述服务实现文件生成h头文件,此h文件和模型组件源程序中的CPP文件共同编译生成一个模型组件的dll动态链接库文件,所述dll动态链接库为服务实现文件调用模型资源的形式。
[0013]优选的,所述动态链接库文件生成后,模型服务通过jni来调用模型组件源程序中的方法,而模型组件源程序中的方法中已经实现了对原有模型的调用,从而实现对原有模型资源初始服务化。
[0014]优选的,所述服务部署采用GT3c0re工具,生成能够描述服务接口信息的服务接口描述文件,基于所述服务接口描述文件和服务实现文件,对模型服务进行编译、打包和部署。
[0015]优选的,所述服务部署进一步包括:
[0016]用GT3c0re工具生成能够描述服务接口信息的服务接口描述文件;
[0017]由模型开发者用GT3c0re工具根据模型能够提供的接口以及接口的参数进行编写生成WSDL接口描述文件;
[0018]基于所述服务接口描述文件和服务实现文件,对模型资源服务进行部署,形成模型资源服务的服务端。
[0019]优选的,所述步骤三,可根据下载的接口描述WSDL文件,自动生成调用模型资源服务的C++代码。
[0020]一种模型组件的服务化实现系统,该系统包括
[0021]模型组件的服务化封装模块,用于生成模型服务支持的模型组件代码;
[0022]模型服务部署模块,采用Web服务描述语言WDSL,提供模型服务接口的描述,并完成模型服务的部署;
[0023]对模型服务的调用模块,根据下载的接口描述WSDL文件,自动生成调用模型资源服务的C++代码。
[0024]优选的,所述的模型组件的服务化封装模块,是利用源程序中的cpp文件和h文件编译生成一个dll动态链接库文件,所述dll动态链接库为服务实现文件调用模型资源的形式。
[0025]本发明的有益效果如下:
[0026]本发明对对现有的分布式仿真规范不做修改,以保持技术的延续性和继承性,便于分布式仿真系统的集成;仿真模型的服务化,分离仿真模型的调用方和实现方,提供仿真模型就是提供一种服务;考虑实时性因素,提高仿真模型服务调用的效率。
【专利附图】

【附图说明】
[0027]下面结合附图对本发明的【具体实施方式】作进一步详细的说明。
[0028]图I示出一种模型组件的服务化实现方法示意图。
【具体实施方式】
[0029]为了更清楚地说明本发明,下面结合优选实施例和附图对本发明做进一步的说明。附图中相似的部件以相同的附图标记进行表示。本领域技术人员应当理解,下面所具体描述的内容是说明性的而非限制性的,不应以此限制本发明的保护范围。
[0030]本发明还提供了一种模型组件的服务化实现方法,图I中所示,该方法具体步骤如下:步骤一:生成模型服务支持的模型组件代码的服务化封装步骤;步骤二 :采用GT3core工具实现模型组件的服务部署;步骤三:在客户端实现对模型组件服务的调用。
[0031]其中所述生成模型服务支持的模型组件代码的服务化封装步骤是采用服务实现文件实现对模型组件源程序中方法的声明以及调用。因为模型服务的实现文件为java文件,要实现对模型程序C++代码的调用,必须通过JNI来调用以库形式存放的模型组件源程序中的方法的方式来实现。因此,服务实现文件生成h头文件,此h文件和模型组件源程序中的cpp文件共同编译生成一个模型组件的dll动态链接库文件,所述dll动态链接库为服务实现文件调用模型资源的形式。模型组件源程序中的方法的库文件生成后,模型服务的实现文件就可以通过JNI来调用模型组件源程序中的方法了,而模型组件源程序中的方法中已经实现了对原有模型的调用,这样就实现了对原有模型资源服务化的第一步。
[0032]其中所述服务部署步骤采用GT3c0re工具,生成能够描述服务接口信息的服务接口描述文件;服务部署步骤进一步包括:用GT3c0re工具生成能够描述服务接口信息的服务接口描述文件,由模型开发者用GT3c0re工具根据模型能够提供的接口以及接口的参数进行编写生成WSDL接口描述文件;基于所述服务接口描述文件和服务实现文件,对模型资源服务进行部署,形成模型资源服务的服务端。
[0033]其中所述的在客户端实现对模型组件服务的调用步骤,可根据下载的接口描述WSDL文件,自动生成调用模型资源服务的C++代码。对模型服务调用的步骤进一步包括:模型服务的客户端程序实现对模型资源服务的服务连接、实例创建、方法调用、实例撤销等,但模型资源的使用者即用户程序并不实现用户真正需要进行的服务调用,只是将服务的连接、实例创建、方法调用、实例撤销等封装进客户端方法中。模型服务的客户端程序通过JAVA语言来开发,而使模型资源的调用不破坏整个系统的整体性,分布式仿真用户对模型资源的调用采用VC来进行开发,这个JAVA与VC的衔接也通过JNI来实现。因此,模型资源服务的用户端(C程序编写)通过调用客户端程序(JAVA程序)中的方法,实现对模型服务的调用。
[0034]本发明还提供了一种模型组件的服务化实现系统,该系统包括模型组件的服务化封装模块、模型服务部署模块和模型组件服务的调用模块;模型组件的服务化封装模块用于生成模型服务支持的模型组件代码;模型服务部署模块:采用Web服务描述语言WDSL提供模型服务接口的描述,并完成模型服务的部署;对模型服务的调用模块:根据下载的接口描述WSDL文件,自动生成调用模型资源服务的C++代码。其中模型组件的服务化封装模块采用服务实现文件实现对模型组件源程序中方法的声明以及调用。因为模型服务的实现文件为java文件,要实现对模型程序C++代码的调用,必须通过JNI来调用以库形式存放的模型组件源程序中的方法的方式来实现。因此,服务实现文件生成h头文件,此h文件和模型组件源程序中的cpp文件共同编译生成一个模型组件的dll动态链接库文件,所述dll动态链接库为服务实现文件调用模型资源的形式。模型组件源程序中的方法的库文件生成后,模型服务的实现文件就可以通过JNI来调用模型组件源程序中的方法了,而模型组件源程序中的方法中已经实现了对原有模型的调用,这样就实现了对原有模型资源服务化的第一步。其中模型服务部署模块采用GT3c0re工具,生成能够描述服务接口信息的服务接口描述文件;服务部署步骤进一步包括:用GT3c0re工具生成能够描述服务接口信息的服务接口描述文件,由模型开发者用GT3c0re工具根据模型能够提供的接口以及接口的参数进行编写生成WSDL接口描述文件;基于所述服务接口描述文件和服务实现文件,对模型资源服务进行部署,形成模型资源服务的服务端。其中对模型服务的调用模块,可根据下载的接口描述WSDL文件,自动调用模型资源服务的C++代码。对模型服务调用的步骤进一步包括:模型服务的客户端程序实现对模型资源服务的服务连接、实例创建、方法调用、实例撤销等,但模型资源的使用者即用户程序并不实现用户真正需要进行的服务调用,只是将服务的连接、实例创建、方法调用、实例撤销等封装进客户端方法中。模型服务的客户端程序通过JAVA语言来开发,而使模型资源的调用不破坏整个系统的整体性,分布式仿真用户对模型资源的调用采用VC++来进行开发,这个JAVA与VC++的衔接也通过JNI来实现。因此,模型资源服务的用户端(C++程序编写)通过调用客户端程序(JAVA程序)中的方法,实现对模型服务的调用。
[0035]显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定,对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动,这里无法对所有的实施方式予以穷举,凡是属于本发明的技术方案所引伸出的显而易见的变化或变动仍处于本发明的保护范围之列。
【权利要求】
1.一种模型组件的服务化实现方法,其特征在于:该方法具体步骤如下: 步骤一:生成模型服务支持的模型组件代码的服务化封装; 步骤二 :采用GT3Core工具实现模型组件的服务部署; 步骤三:在客户端实现对模型组件服务的调用。
2.根据权利要求I所述的模型组件的服务化实现方法,其特征在于:所述步骤一是采用服务实现文件实现对模型组件源程序中方法的声明以及调用。
3.根据权利要求2所述的模型组件的服务化实现方法,其特征在于:所述服务实现文件生成h头文件,此h文件和模型组件源程序中的cpp文件共同编译生成一个模型组件的dll动态链接库文件,所述dll动态链接库为服务实现文件调用模型资源的形式。
4.根据权利要求3所述的模型组件的服务化实现方法,其特征在于:所述动态链接库文件生成后,模型服务通过jni来调用模型组件源程序中的方法,而模型组件源程序中的方法中已经实现了对原有模型的调用,从而实现对原有模型资源初始服务化。
5.根据权利要求I所述的模型组件的服务化实现方法,其特征在于:所述服务部署采用GT3c0re工具,生成能够描述服务接口信息的服务接口描述文件,基于所述服务接口描述文件和服务实现文件,对模型服务进行编译、打包和部署。
6.根据权利要求5所述的模型组件的服务化实现方法,其特征在于:所述服务部署进一步包括: 用GT3c0re工具生成能够描述服务接口信息的服务接口描述文件; 由模型开发者用GT3c0re工具根据模型能够提供的接口以及接口的参数进行编写生成WSDL接口描述文件; 基于所述服务接口描述文件和服务实现文件,对模型资源服务进行部署,形成模型资源服务的服务端。
7.根据权利要求I所述的模型组件的服务化实现方法,其特征在于:所述步骤三,可根据下载的接口描述WSDL文件,自动生成调用模型资源服务的C++代码。
8.—种模型组件的服务化实现系统,其特征在于:该系统包括 模型组件的服务化封装模块,用于生成模型服务支持的模型组件代码; 模型服务部署模块,采用Web服务描述语言WDSL,提供模型服务接口的描述,并完成模型服务的部署; 对模型服务的调用模块,根据下载的接口描述WSDL文件,自动生成调用模型资源服务的C++代码。
9.根据权利要求8所述的模型组件的服务化实现系统,其特征在于:所述的模型组件的服务化封装模块,是利用源程序中的CPP文件和h文件编译生成一个dll动态链接库文件,所述dll动态链接库为服务实现文件调用模型资源的形式。
【文档编号】G06F9/45GK103777991SQ201410040433
【公开日】2014年5月7日 申请日期:2014年1月27日 优先权日:2014年1月27日
【发明者】张晗, 卿杜政, 周敏 申请人:北京仿真中心
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1