CN108897591A - 联合试验平台中间件插件及其试验资源信息交互的方法 - Google Patents
联合试验平台中间件插件及其试验资源信息交互的方法 Download PDFInfo
- Publication number
- CN108897591A CN108897591A CN201810602697.8A CN201810602697A CN108897591A CN 108897591 A CN108897591 A CN 108897591A CN 201810602697 A CN201810602697 A CN 201810602697A CN 108897591 A CN108897591 A CN 108897591A
- Authority
- CN
- China
- Prior art keywords
- plug
- information
- adapter
- file
- object model
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/35—Creation or generation of source code model driven
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/31—Programming languages or programming paradigms
- G06F8/315—Object-oriented languages
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
- G06F9/44526—Plug-ins; Add-ons
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computing Systems (AREA)
- Stored Programmes (AREA)
Abstract
本发明提供联合试验平台中间件插件及其试验资源信息交互的方法,属于构件技术领域。本发明所述联合试验平台中间件插件,包括对象模型实现文件和插件适配器;所述对象模型实现文件上设有对象模型实现文件刻面、对象模型实现文件插座以及DDS接口;所述插件适配器上设有事件槽、事件源、插件适配器插座以及插件适配器刻面;本发明所述联合试验平台中间件插件试验资源信息交互的方法包括试验资源信息发布过程和试验资源信息订购过程。本发明解决了现有联合试验平台中间件插件的定制化架构使得所有试验资源采用相同的插件进行信息交互,造成计算机内存资源消耗严重的问题。本发明可用于联合试验平台试验资源信息交互。
Description
技术领域
本发明涉及联合试验平台中间件插件及其试验资源信息交互的方法,属于构件技术领域。
背景技术
联合试验平台中间件负责整个体系应用建立和运行期间的所有通信,属于联合试验平台的公共设施,提供试验系统资源之间高性能、低延迟的数据环境和提供面向综合测试系统应用管理控制功能。
构件技术以面向对象技术为基础,并很好的发展了面向对象技术。它的目的是将对象、包括其用户界面、对外接口等属性以及对象的功能实现封装成一个规范的、标准的、可以方便地被构件容器所操纵和使用的整体,使其成为一个通用、高效的软件部件。构件技术是支持软件复用的核心技术,成为了近几年来迅速发展并受到高度重视的一个学科分支。
构件是面向组装(eomposition-oriented)的,即构件并不是在组装成应用系统的过程中处于完全消极(passive)的状态,而是主动(active)参与和完成组装过程。
构件面向组装的本质是从传统复用技术所注重的静态组装向动态组装的转变。静态组装以组装工具的使用为主要特征。当前基于控件的GUI构造和4GL工具可以称得上是组装工具的成功典范,确实降低了应用系统构造的复杂度。然而,这些工具还远未达到普通用户能够轻松掌握和熟练使用的程度。动态组装以构件模型、构件构架的建立和标准化以及开放系统技术的运用为主要特征。与静态组装相比,动态组装虽然牺牲了应用系统的部分运行效率,但动态组装具有很高的灵活性,并能实现构件组装的自动化。
目前,现有的联合试验平台中间件采用插件配合中间件通用框架的方式实现试验资源信息交互,但是中间件插件的定制化架构使得所有试验资源采用相同的插件进行信息交互,造成计算机内存资源消耗严重。
发明内容
本发明为了解决现有联合试验平台中间件插件的定制化架构使得所有试验资源采用相同的插件进行信息交互,造成计算机内存资源消耗严重的问题,提出联合试验平台中间件插件及其试验资源信息交互的方法。
本发明所述联合试验平台中间件插件,包括:
对象模型实现文件和插件适配器;
所述对象模型实现文件上设有对象模型实现文件刻面、对象模型实现文件插座以及DDS接口,DDS为数据分发服务;
所述插件适配器上设有事件槽、事件源、插件适配器插座以及插件适配器刻面;
所述对象模型实现文件刻面用于接收插件适配器传递的对象实例信息;
对象模型实现文件插座用于对象模型实现文件向插件适配器传递对象实例信息;DDS接口为联合试验平台中间件插件与底层通信设施DDS信息交互的接口,DDS接口将对象模型实现文件传递的对象实例信息传送至DDS,并接收从DDS传送至对象模型实现文件的对象实例数据;
事件槽用于为插件适配器接收联合试验平台中间件传递的试验资源信息提供接口,事件源用于为插件适配器发送对象实例信息至联合试验平台中间件提供接口;
插件适配器插座用于发送对象实例信息至对象模型实现文件;
插件适配器刻面用于接收对象模型实现文件传递的对象实例信息
所述插件适配器用于,接收由联合试验平台中间件传递的发布试验资源信息和订购试验资源信息,获取其中的对象模型名称信息,初始化DDS,创建域参与者、发布者、订购者;执行发布对象实例、订购对象实例,创建数据写主题、数据写入者、读主题、数据读取者,并根据获取的对象模型名称信息检索并加载相应的对象模型实现文件,动态组装该试验资源对应的中间件插件,将发布试验资源信息中的对象实例信息传递给对象模型实现文件;执行监听回调函数以访问对象模型实现文件传递的对象实例信息,将对象实例信息整理为试验资源信息,并通过事件源将该试验资源信息发送给联合试验平台中间件;
所述对象模型实现文件用于接收插件适配器的传递的对象实例信息,并转发至DDS;获取订购试验资源信息的对象实例数据进行处理得到对象实例信息,并将处理得到的对象实例信息返回至插件适配器。
作为对上述技术方案的进一步阐述:
进一步的,所述试验资源信息包括对象实例信息和对象模型信息。
进一步的,所述对象实例信息包括对象实例名称、对象实例数据类型及对象实例数据。
进一步的,所述对象模型信息包括对象模型名称信息。
本发明所述联合试验平台中间件插件试验资源信息交互的方法,通过以下技术方案实现:所述方法包括试验资源信息发布过程和试验资源信息订购过程;
试验资源信息发布过程:
A1、插件适配器通过事件槽接收由联合试验平台中间件传递的发布试验资源信息,获取其中的对象模型名称信息,初始化DDS,创建域参与者和发布者;
A2、插件适配器执行发布对象实例,创建数据写主题、数据写入者,并根据获取的对象模型名称信息检索并加载相应的对象模型实现文件,动态组装该试验资源对应的中间件插件,将发布试验资源信息中的对象实例信息传递给对象模型实现文件;
A3、对象模型实现文件通过DDS接口发送插件适配器传递的对象实例信息;
试验资源信息订购过程:
B1、插件适配器通过事件槽接收由联合试验平台中间件传递的订购试验资源信息,获取其中的对象模型名称信息,初始化DDS,创建域参与者和订购者;
B2、插件适配器执行订购对象实例,创建数据读主题、数据读取者,并根据获取的对象模型名称信息检索并加载相应的对象模型实现文件;
B3、DDS接收发布者信息,对象模型实现文件通过DDS接口获取订购试验资源信息的对象实例数据;
B4、对象模型实现文件对接收的订购试验资源信息的对象实例数据进行处理得到对象实例信息,并将处理得到的对象实例信息返回至插件适配器;
B5、插件适配器执行监听回调函数以访问获得的对象实例信息,将对象实例信息整理为试验资源信息,并通过事件源将该试验资源信息发送给联合试验平台中间件。
本发明最为突出的特点和显著的有益效果是:
本发明所涉及的联合试验平台中间件插件及其试验资源信息交互的方法,为完成联合试验资源的调度和信息传输,在保留现有的联合试验平台中间件订购/发布机制和标准接口服务的基础上,采用插件模式引入DDS作为联合试验平台中间件的底层通信设施。同时,为提高对不同联合试验任务的共用性,增强使用的灵活性,遵循免编程的系统构建方式,针对每个逻辑靶场规划文件中的联合试验资源自动生成DDS对应的对象代码并自动进行后台编码编译,最终生成一个插件实现文件。本发明联合试验平台中间件插件为柔性组装架构,能够支持试验资源个性化信息交互需求下的自动装配与运行,能够实现零编程模式下试验资源快速集成应用,降低信息交互过程中对于计算机内存资源的消耗约20%,提高中间件的信息传输性能。
附图说明
图1为本发明中联合试验平台中间件插件架构示意图;
图2为本发明中对象模型实现文件结构示意图;
图3为本发明中插件适配器结构示意图;
图4为DCPS发布模块的类模型;
图5为DCPS订购模块的类模型;图4、图5中,Qos表示服务质量策略,create表示创建,implicit表示隐式声明,value表示取值;default_datareader_qos是默认服务质量策略,interface表示接口;
图6为DataWriterImpl类图;
图7为DataReaderImpl类图;
图8为插件适配器类模型;
图9为本发明联合试验平台中间件发布过程流程图;
图10为本发明联合试验平台中间件订购过程流程图;
图11联合试验平台中间件插件运行原理图,图11中,ACE(AdaptiveCommunication Environment)表示自适应通信环境,TAO(The ACE Object requestbroker)表示ACE对象请求代理;
图12为实施例中联合试验平台中间件插件应用模式;
图13为实施例中固定逻辑靶场对象模型数量下内存消耗对比折线图;
图14为实施例中固定组件化资源对象模型数量下内存消耗对比折线图;
其中,1.对象模型实现文件,2.插件适配器,3.对象模型实现文件刻面,4.对象模型实现文件插座,5.DDS接口,6.事件槽,7.事件源,8.插件适配器插座,9.插件适配器刻面,10.联合试验平台中间件插件,11.中间件库,12.组件。
具体实施方式
具体实施方式一:结合图1、图2、图3、图4、图5、图6、图7、图8对本实施方式进行说明,本实施方式给出的联合试验平台中间件插件,包括:对象模型实现文件1和插件适配器2,如图1所示;
在中间件插件柔性组装架构下,中间件插件分成对象模型实现文件1(如图2所示)和插件适配器2(如图3所示)两部分,通常一个插件适配器2连接多个对象模型实现文件1。
所述对象模型实现文件1上设有对象模型实现文件刻面3、对象模型实现文件插座4以及DDS接口5,DDS为数据分发服务;所述插件适配器2上设有事件槽6、事件源7、插件适配器插座8以及插件适配器刻面9;所述的对象模型实现文件刻面3、对象模型实现文件插座4、DDS接口、事件槽6、事件源7、插件适配器插座8以及插件适配器刻面9均符合CCM(CORBA构件模型)构件端口机制规范,本实施方式采用刻面、插座、事件源/事件槽三种类型端口,以实现传递试验资源信息、调度对象模型实现文件1、注册对象实例、更新对象实例以及产生数据回调。
事件源7/事件槽6是插件行为触发的一种机制,当某一节点组件状态发生变化,例如组件调用中间件更新对象实例,则触发事件槽6,插件适配器数据接收接口(事件槽6)接收发布的对象实例信息,进行后续处理;若此节点组件订购另一节点组件对象实例,通过基于DDS的底层通信设施通讯,此节点中间件插件的事件源7状态发生变化,插件适配器数据发送接口(事件源7)将订购对象实例回调数据返回给中间件,组件调用中间件获取订购的对象实例数据。如图12所示。
所述对象模型实现文件1与插件适配器2通过相互匹配的对象模型实现文件刻面3、插件适配器插座8与相互匹配的对象模型实现文件插座4、插件适配器刻面9进行连接并信息交互。
所述对象模型实现文件刻面3为插件适配器2调度的对象模型实现文件1外部可用接口,用于联合试验平台中间件发布过程中,接收插件适配器2传递的对象实例信息;
本实施方式中间件插件架构定义对象实例信息接收处理类,包含获取对象实例信息函数,匹配对象模型函数,获取插件适配器2传递的对象实例信息,并判断是否与本对象模型实现文件1匹配。
类是对对象的抽象,对象是类的实例。类是可以对这个对象进行操作的程序和过程。它包括对象的名称、方法、属性和事件。
对象模型实现文件插座4用于联合试验平台中间件订购过程中,对象模型实现文件1向插件适配器2发送对象实例信息;
本实施方式中定义对象实例信息发送处理类,包含发送对象实例信息函数,将对象模型实现文件1接收到DDS订购的对象实例数据发送给插件适配器2;
DDS接口5为联合试验平台中间件插件与底层通信设施DDS信息交互的接口,DDS接口5将对象模型实现文件1传递的对象实例信息传送至DDS,并接收从DDS传送至对象模型实现文件1的对象实例数据;
定义基于DDS中间件插件的服务接口类,获取服务接口指针;基于DDS数据发送类,包含注册数据类型、写入数据、获取数据读监听者指针函数,整理中间件传递的对象实例信息,通过DDS发送发布者数据;基于DDS数据接收类,包含有效数据接收函数,通过DDS接收发布者数据,中间件通过实现回调函数接收到订购的数据。
事件槽6用于为插件适配器2接收联合试验平台中间件传递的试验资源信息提供接口,事件源7用于为插件适配器2发送对象实例信息至联合试验平台中间件提供接口;
定义试验资源信息接收类,包含获取试验资源信息函数;试验资源信息发送类,包含发送试验资源信息函数。
插件适配器插座8为插件适配器2调度对象模型实现文件1接口,根据试验资源处理后的对象模型名称信息调度相应对象模型实现文件1,插件适配器插座8用于发送对象实例信息至对象模型实现文件1;
插件适配器刻面9是插件适配器2接收对象模型实现文件1返回订购对象实例数据的外部可用接口,插件适配器刻面9用于接收对象模型实现文件1传递的对象实例信息。
所述插件适配器2用于:
发布过程中,接收由联合试验平台中间件传递的发布试验资源信息,获取其中的对象模型名称信息,初始化DDS,创建域参与者和发布者;执行发布对象实例,创建数据写主题、数据写入者,并根据获取的对象模型名称信息检索并加载相应的对象模型实现文件1,动态组装该试验资源对应的中间件插件,将发布试验资源信息中的对象实例信息传递给对象模型实现文件1;订购过程中,接收由联合试验平台中间件传递的订购试验资源信息,获取其中的对象模型名称信息,初始化DDS,创建域参与者和订购者;执行订购对象实例,创建数据读主题、数据读取者,并根据获取的对象模型名称信息检索并加载相应的对象模型实现文件1;执行监听回调函数以访问对象模型实现文件传递的对象实例信息,将对象实例信息整理为试验资源信息,并通过事件源7将该试验资源信息发送给联合试验平台中间件;
所述对象模型实现文件用于接收插件适配器的传递的对象实例信息,并转发至DDS;获取订购试验资源信息的对象实例数据进行处理得到对象实例信息,并将处理得到的对象实例信息返回至插件适配器。
对象模型实现文件1依靠底层通信设施DDS可以实现试验资源信息交互。以数据为中心的发布/订购(Data-Centric Publish-Subscribe,DCPS)是OMG DDS标准的一部分,它处理以数据为中心的发布/订购通信。通信基于已命名的数据流,流从发布者向订购者传送已知类型的数据。发布者端的对象模型实现文件接收由插件适配器2传递的、与其相匹配的对象实例信息,通过DDS的DCPS层有效地将对象实例数据从发布者端传送到感兴趣的订购者端。订购者端的对象模型实现文件创建监听回调函数,在对象实例数据接收后立即运行它,插件适配器2可以执行监听回调函数以访问对象实例数据。
图4为DCPS发布模块类模型,包括定义的发布者类(Publishier)、数据写入者类(DataWriter)、发布者监听者类(PublisherListener)接口、数据写入监听者类(DataWriterListener)接口。
Publishier和DataWriter是DCPS发布模块中最重要的类,其中Publisher负责分发当前所要发布的信息,并管理属于该发布者的DataWriter对象的行为。DataWriter是一个发布者类型化的接入器,每个数据写入者只关联一个特定的主题Topic,因此只具有一种数据类型,通过数据写入者的特定类型接口来发布所关联主题的数据实例。DataWriterListener是一个数据写入者监听器接口,应用程序可执行该接口,随后将数据写入者监听器执行附加至实体。
其中,数据写入者类(DataWriter)的关键函数包括:
register_instance()
register_instance_w_timestamp()
unregister_instance()
unregister_instance_w_timestamp()
dispose()
dispose_w_timestamp()
write()
write_w_timestamp()
assert_liveliness()
get_liveliness_lost_status()
get_offered_deadline_missed_status()
get_offered_incompatible_qos_status()
get_publication_matched_status()
get_key_value()
get_matched_subscriptions()
get_matched_subscription_data()
wait_for_acknowledgement()
lookup_instance()
发布者类(Publishier)的关键函数包括:
begin_coherent_changes()
create_datawriter()
delete_datawriter()
lookup_datawriter()
suspend_publications()
resume_publications()
end_coherent_changes()
delete_contained_entities()
set_default_datawriter_qos()
get_default_datawriter_qos()
copy_from_topic_qos()
wait_for_acknowledgements()
delete_contained_entities_copy()
数据写入监听者类(DataWriterListener)的关键函数包括:
on_offered_incompatible_qos()
on_offered_deadline_missed()
on_liveliness_lost()
on_publication_match()
图5为DCPS订购模块类模型,包括定义的订购者类(Subscriber)、数据读取者类(DataReader)、数据实例类(DataSample)、实例信息类(SampleInfo)、读取条件类(ReadCondition)和查询条件类(QueryCondition),以及订购者监听者类(SubscriberListener)接口、数据读取监听者类(DataReaderListener)接口。
Subscriber和DataReader是DCPS订购模块中最重要的类。Subscriber其实是一个将数据读取者组织在一起的容器,并且是一个创建DataReader的工厂。DataReader是用来获取由Subscriber所接收到的数据,并将数据传递给相应的DDS实体,每个DataReader被绑定到一个特定的Topic(主题),也就是说每个DataReader只关心它所感兴趣的数据类型。DataReaderListener是一个数据读取者监听器接口,应用程序可执行该接口,随后将数据读取者监听器执行附加至实体,监听器用适当的操作得到异步回调。
其中,数据读取者类(DataReader)的关键函数包括:
take_instance()
get_liveliness_changed_status()
get_sample_rejected_status()
get_requested_deadline_missed_status()
get_requested_incompatible_qos_status()
get_subscription_matched_status()
get_matched_publication_data()
create_readcondition()
create_querycondition()
delete_readcondition()
read()
take()
take_next_sample()
return_loan()
read_next_sample()
read_next_w_condition()
get_matched_publications()
get_sample_lost_status()
wait_for_historical_data()
take_next_instance()
take_next_w_condition()
get_key_value()
read_next_instance()
read_w_condition()
take_w_condition()
lookup_instance()
数据读取监听者类(DataReaderListener)的关键函数包括:
on_sample_rejected()
on_liveliness_changed()
on_requested_deadline_missed()
on_requested_incompatible_qos()
on_data_available()、on_subscription_match()
on_sample_lost()
订购者监听者类(SubscriberListener)的关键函数包括:
on_data_on_readers()
订购者类(Subscriber)的关键函数包括:
delete_contained_entities()
get_datareader()
delete_datareader()
lookup_datareader()
create_datareader()
begin_access()
end_access()
notify_datareader()
delete_contained_entities_copy()
实例信息类(SampleInfo)包括:
source_timestamp:Time_t
sample_state:SampleStateKind
view_state:ViewStateKind
instance_handle:InstanceHandle_t
instance_state:InstanceStateKind
disposed_generation_count:long
no_writers_generation_count:long
absolute_generation_rank:long
sample_rank:long
generation_rank:long
publication_handle:InstanceHandle_t
对象模型实现文件1的数据发送类DataWriterImpl如图6所示,继承了数据写入者(DataWriter)类。
数据写入者实现(DataWriterImpl)类关键函数包括:
registerDataType()
dataWrite()
dataListen()
关键函数说明如表1所示:
表1 DataWriterImpl的关键函数说明
对象模型实现文件1的数据接收类DataReaderImpl如图7所示,继承了数据读取者(DataReader)类和数据读取监听者(DataReaderListener)类。
数据读取者实现类(DataReaderImpl类)关键函数包括:
on_data_available()
onDataReceived()
其说明如表2所示:
表2 DataReaderImpl的关键函数说明
图8为本实施方式定义的插件适配器类模型图,主要类的相关介绍如下:
(1)插件适配器类:包含试验资源信息、域参与者、主题列表、发布/订购对象实例列表和对象模型实现文件句柄列表,提供整理试验资源信息、初始化DDS、检索并加载对象模型实现文件功能。
(2)中间件接口类:该接口用于保证试验资源信息能够准确传递给插件适配器,并实现对象实例数据交互。
(3)对象模型实现文件类:根据插件适配器整理的试验资源信息订购发布关系,为对象模型实现文件提供注册对象实例类型所需的域参与者,并发送中间件发布的对象实例数据,接收对象模型实现文件传递的中间件订购的对象实例数据。
其他步骤及参数与具体实施方式一相同。
具体实施方式二:本实施方式与具体实施方式一不同的是,所述试验资源信息包括对象实例信息和对象模型信息。
其他步骤及参数与具体实施方式一相同。
具体实施方式三:本实施方式与具体实施方式一或二不同的是,所述对象实例信息包括对象实例名称、对象实例数据类型及对象实例数据。
其他步骤及参数与具体实施方式一或二相同。
具体实施方式四:本实施方式与具体实施方式三不同的是,所述对象模型信息包括对象模型名称信息。
其他步骤及参数与具体实施方式三相同。
具体实施方式五:结合图9、图10、图11对本实施方式进行说明,本实施方式给出的联合试验平台中间件插件试验资源信息交互的方法,包括试验资源信息发布过程和试验资源信息订购过程;其中
如图9所示,试验资源信息发布过程具体包括以下步骤:
A1、插件适配器通过事件槽接收由联合试验平台中间件传递的发布试验资源信息,获取其中的对象模型名称信息,初始化DDS,创建域参与者和发布者;
A2、插件适配器执行发布对象实例,创建数据写主题、数据写入者,并根据获取的对象模型名称信息检索并加载相应的对象模型实现文件,动态组装该试验资源对应的中间件插件,将发布试验资源信息中的对象实例信息传递给对象模型实现文件;
A3、对象模型实现文件通过DDS接口发送插件适配器传递的对象实例信息;
如图10所示,试验资源信息订购过程具体包括以下步骤:
B1、插件适配器通过事件槽接收由联合试验平台中间件传递的订购试验资源信息,获取其中的对象模型名称信息,初始化DDS,创建域参与者和订购者;
B2、插件适配器执行订购对象实例,创建数据读主题、数据读取者,并根据获取的对象模型名称信息检索并加载相应的对象模型实现文件;
B3、DDS接收发布者信息,对象模型实现文件通过DDS接口获取订购试验资源信息的对象实例数据;
B4、对象模型实现文件对接收的订购试验资源信息的对象实例数据进行处理得到对象实例信息,并将处理得到的对象实例信息返回至插件适配器;
B5、插件适配器执行监听回调函数以访问获得的对象实例信息,将对象实例信息整理为试验资源信息,并通过事件源将该试验资源信息发送给联合试验平台中间件。
图11为联合试验平台中间件插件工作原理,联合试验任务由组件资源协作交互完成,整个联合试验任务中包含多个对象模型,根据逻辑靶场规划文件的所有对象模型生成一个个性化中间件插件,每个组件通过中间件进行信息交互时,采用此中间件插件。每个组件中的对象模型均为其个性化信息,中间件插件中的对象模型调度代码会根据试验资源信息,调度相应对象模型实现代码去实现试验资源信息交互,从而避免提供冗余服务,提高中间件插件的灵活性,节省计算机在试验任务运行过程中的内存资源消耗。
图12为中间件插件应用模式,中间件插件可以支持试验资源的个性化信息交互,图中左边部分为发布者节点,右边部分为订购者节点,试验资源信息交互主要包含发布/订购对象实例事件和更新/回调对象实例事件。以下为试验资源信息交互工作流程:
(1)发布者组件调用中间件库发布试验资源信息,通过事件槽将试验资源信息传递至发布者端的中间件插件;
(2)发布者端的插件适配器对试验资源信息进行处理,获取其中的对象模型名称信息,并根据获取的对象模型名称信息调度相应的对象模型实现文件,动态组装该试验资源对应的中间件插件,通过该相应的对象模型实现文件传递发布的对象实信息;
(3)该相应的对象模型实现文件通过DDS接口注册对象实例,写入对象实例数据,通过DDS发送发布者数据;
(4)订购者端中间件插件接收对象实例数据,通过插件适配器调度的对象模型实现文件传递订购的对象实例数据;在插件适配器中整理订购的对象实例信息,通过事件源返回至订购者节点中间件,订购者组件调用中间件库获取订购数据。
本发明所提出的基于动态装配的联合试验平台中间件插件架构能够支持试验资源个性化信息交互需求下的自动装配与运行,降低信息交互过程中对于计算机内存资源的消耗,提高中间件的信息传输性能。
对于庞大的联合试验任务,即使其逻辑靶场规划文件中包含大量的对象模型,中间件插件也仅会根据试验资源对所需的对象模型实现文件进行动态装配,用以支持试验资源信息交互,从而避免中间件插件提供大量冗余服务,提高中间件信息传输性能。
实施例
采用以下实施例验证本发明的有益效果:
测试联合试验平台中间件插件性能:
设定整个逻辑靶场包含的对象模型数量范围为10~100个,每个组件化资源包含对象模型数量范围为1~10个,搭建了两种的测试方案:第一种方案固定逻辑靶场包含的对象模型数量为80个,包含10个组件化资源,分别画出定制化中间件插件和本发明联合试验平台中间件插件使用过程中内存消耗与每个组件化资源包含的对象模型数量的关系曲线,如图13所示;第二种方案固定每个组件化资源包含的对象模型数量为5个,包含6个组件化资源,分别画出定制化中间件插件和本发明联合试验平台中间件插件使用过程中内存消耗与逻辑靶场包含的对象模型数量的关系曲线,如图14所示。从图中可以看出,本发明可节省计算机内存资源约20%。
结果分析:
经过多次运行测试,整个雷达制导导弹虚拟试验验证系统运行稳定,各个节点试验任务的初始化、启动、暂停、继续、停止等控制动作正常,组件式资源数据显示正常,并且相比于定制化中间件插件,具备柔性组装能力的中间件插件使用灵活,具备良好的通用性,在试验运行中对各个节点计算机内存的消耗更小,因此,本发明联合试验平台中间件插件可以提高中间件的信息传输性能。
本发明还可有其它多种实施例,在不背离本发明精神及其实质的情况下,本领域技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
Claims (5)
1.联合试验平台中间件插件,其特征在于,所述联合试验平台中间件插件包括:对象模型实现文件和插件适配器;
所述对象模型实现文件上设有对象模型实现文件刻面、对象模型实现文件插座以及DDS接口,DDS为数据分发服务;
所述插件适配器上设有事件槽、事件源、插件适配器插座以及插件适配器刻面;
所述对象模型实现文件刻面用于接收插件适配器传递的对象实例信息;
对象模型实现文件插座用于对象模型实现文件向插件适配器传递对象实例信息;DDS接口为联合试验平台中间件插件与底层通信设施DDS信息交互的接口,DDS接口将对象模型实现文件传递的对象实例信息传送至DDS,并接收从DDS传送至对象模型实现文件的对象实例数据;
事件槽用于为插件适配器接收联合试验平台中间件传递的试验资源信息提供接口,事件源用于为插件适配器发送对象实例信息至联合试验平台中间件提供接口;
插件适配器插座用于发送对象实例信息至对象模型实现文件;
插件适配器刻面用于接收对象模型实现文件传递的对象实例信息;
所述插件适配器用于,接收由联合试验平台中间件传递的发布试验资源信息和订购试验资源信息,获取其中的对象模型名称信息,初始化DDS,创建域参与者、发布者、订购者;执行发布对象实例、订购对象实例,创建数据写主题、数据写入者、读主题、数据读取者,并根据获取的对象模型名称信息检索并加载相应的对象模型实现文件,动态组装该试验资源对应的中间件插件,将发布试验资源信息中的对象实例信息传递给对象模型实现文件;执行监听回调函数以访问对象模型实现文件传递的对象实例信息,将对象实例信息整理为试验资源信息,并通过事件源将该试验资源信息发送给联合试验平台中间件;
所述对象模型实现文件用于接收插件适配器的传递的对象实例信息,并转发至DDS;获取订购试验资源信息的对象实例数据进行处理得到对象实例信息,并将处理得到的对象实例信息返回至插件适配器。
2.根据权利要求1所述联合试验平台中间件插件,其特征在于,所述试验资源信息包括对象实例信息和对象模型信息。
3.根据权利要求1或2所述联合试验平台中间件插件,其特征在于,所述对象实例信息包括对象实例名称、对象实例数据类型及对象实例数据。
4.根据权利要求3所述联合试验平台中间件插件,其特征在于,所述对象模型信息包括对象模型名称信息。
5.根据权利要求1~4任一项所述联合试验平台中间件插件试验资源信息交互的方法,其特征在于,所述方法包括试验资源信息发布过程和试验资源信息订购过程;
试验资源信息发布过程具体包括以下步骤:
A1、插件适配器通过事件槽接收由联合试验平台中间件传递的发布试验资源信息,获取其中的对象模型名称信息,初始化DDS,创建域参与者和发布者;
A2、插件适配器执行发布对象实例,创建数据写主题、数据写入者,并根据获取的对象模型名称信息检索并加载相应的对象模型实现文件,动态组装该试验资源对应的中间件插件,将发布试验资源信息中的对象实例信息传递给对象模型实现文件;
A3、对象模型实现文件通过DDS接口发送插件适配器传递的对象实例信息;
试验资源信息订购过程具体包括以下步骤:
B1、插件适配器通过事件槽接收由联合试验平台中间件传递的订购试验资源信息,获取其中的对象模型名称信息,初始化DDS,创建域参与者和订购者;
B2、插件适配器执行订购对象实例,创建数据读主题、数据读取者,并根据获取的对象模型名称信息检索并加载相应的对象模型实现文件;
B3、DDS接收发布者信息,对象模型实现文件通过DDS接口获取订购试验资源信息的对象实例数据;
B4、对象模型实现文件对接收的订购试验资源信息的对象实例数据进行处理得到对象实例信息,并将处理得到的对象实例信息返回至插件适配器;
B5、插件适配器执行监听回调函数以访问获得的对象实例信息,将对象实例信息整理为试验资源信息,并通过事件源将该试验资源信息发送给联合试验平台中间件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810602697.8A CN108897591B (zh) | 2018-06-12 | 2018-06-12 | 联合试验平台中间件插件装置及其试验资源信息交互的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810602697.8A CN108897591B (zh) | 2018-06-12 | 2018-06-12 | 联合试验平台中间件插件装置及其试验资源信息交互的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108897591A true CN108897591A (zh) | 2018-11-27 |
CN108897591B CN108897591B (zh) | 2021-04-02 |
Family
ID=64344684
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810602697.8A Active CN108897591B (zh) | 2018-06-12 | 2018-06-12 | 联合试验平台中间件插件装置及其试验资源信息交互的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108897591B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110321236A (zh) * | 2019-07-11 | 2019-10-11 | 哈尔滨工业大学 | 一种基于OpenDDS的远程方法调用实现方法 |
CN110471124A (zh) * | 2019-07-24 | 2019-11-19 | 哈尔滨工业大学 | 虚拟试验光电信号大气传输效应主动计算服务方法及系统 |
CN111625921A (zh) * | 2019-12-31 | 2020-09-04 | 中国航天科工集团八五一一研究所 | 一种虚拟试验末制导探测信号空间传输效应计算服务方法 |
CN111753445A (zh) * | 2020-07-29 | 2020-10-09 | 哈尔滨工业大学 | 一种基于核心组件的联合试验基础模型的建模方法 |
CN111753443A (zh) * | 2020-07-29 | 2020-10-09 | 哈尔滨工业大学 | 一种基于能力累积的武器装备联合试验设计方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103166975A (zh) * | 2013-04-03 | 2013-06-19 | 上海航天测控通信研究所 | 一种dds通信系统 |
CN105205183A (zh) * | 2015-10-29 | 2015-12-30 | 哈尔滨工业大学 | 一种基于xml的dds分布式系统自动构建方法 |
JP2017120497A (ja) * | 2015-12-28 | 2017-07-06 | 川崎重工業株式会社 | 航空機搭載システム |
-
2018
- 2018-06-12 CN CN201810602697.8A patent/CN108897591B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103166975A (zh) * | 2013-04-03 | 2013-06-19 | 上海航天测控通信研究所 | 一种dds通信系统 |
CN105205183A (zh) * | 2015-10-29 | 2015-12-30 | 哈尔滨工业大学 | 一种基于xml的dds分布式系统自动构建方法 |
JP2017120497A (ja) * | 2015-12-28 | 2017-07-06 | 川崎重工業株式会社 | 航空機搭載システム |
Non-Patent Citations (1)
Title |
---|
李良辰: ""联合试验平台OpenDDS网关开发"", 《中国优秀硕士学位论文全文数据库信息科技辑》 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110321236A (zh) * | 2019-07-11 | 2019-10-11 | 哈尔滨工业大学 | 一种基于OpenDDS的远程方法调用实现方法 |
CN110321236B (zh) * | 2019-07-11 | 2022-10-25 | 哈尔滨工业大学 | 一种基于OpenDDS的远程方法调用实现方法 |
CN110471124A (zh) * | 2019-07-24 | 2019-11-19 | 哈尔滨工业大学 | 虚拟试验光电信号大气传输效应主动计算服务方法及系统 |
CN111625921A (zh) * | 2019-12-31 | 2020-09-04 | 中国航天科工集团八五一一研究所 | 一种虚拟试验末制导探测信号空间传输效应计算服务方法 |
CN111753445A (zh) * | 2020-07-29 | 2020-10-09 | 哈尔滨工业大学 | 一种基于核心组件的联合试验基础模型的建模方法 |
CN111753443A (zh) * | 2020-07-29 | 2020-10-09 | 哈尔滨工业大学 | 一种基于能力累积的武器装备联合试验设计方法 |
CN111753445B (zh) * | 2020-07-29 | 2024-05-28 | 哈尔滨工业大学 | 一种基于核心组件的联合试验基础模型的建模方法 |
Also Published As
Publication number | Publication date |
---|---|
CN108897591B (zh) | 2021-04-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108897591A (zh) | 联合试验平台中间件插件及其试验资源信息交互的方法 | |
US7565443B2 (en) | Common persistence layer | |
Peltz | Web services orchestration and choreography | |
US7788319B2 (en) | Business process management for a message-based exchange infrastructure | |
US8943518B2 (en) | Managing and optimizing workflows among computer applications | |
US8516451B2 (en) | System and method for creating virtual callback objects | |
CN110083342A (zh) | 一种程序生成方法、装置以及计算机可读存储介质 | |
US9665352B2 (en) | COBOL reference architecture | |
CN112256406B (zh) | 作业流程平台化调度方法 | |
Bordbar et al. | On behavioural model transformation in web services | |
Putnik et al. | Virtual enterprise integration: Challenges of a new paradigm | |
Kang et al. | Ws-cdl+: An extended ws-cdl execution engine for web service collaboration | |
Kang et al. | WS-CDL+ for web service collaboration | |
Shan et al. | Systematic interaction management in a workflow view based business-to-business process engine | |
Lytra et al. | A pattern language for service-based platform integration and adaptation | |
Schuler et al. | Workflows over workflows: practical experiences with the integration of SAP R/3 business workflows in WISE | |
Xu et al. | A tuple-space-based coordination architecture for test agents in the mast framework | |
McGovern et al. | Event-driven architecture | |
Brahnmath | The UniFrame quality of service framework | |
George | Providing context in WS-BPEL processes | |
Fuld et al. | Spring integration in action | |
Alor-Hernandez et al. | Defining an SOA for Stock Quote Management | |
Kouvas et al. | Business process enactment | |
Xu et al. | A Dynamic Workflow Management Model Based on Web Services | |
Oaks et al. | Guided interaction: A language and method for incremental revelation of software interfaces for ad hoc interaction |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |