双层动态分布式仿真平台的制作方法

文档序号:12733220阅读:215来源:国知局
双层动态分布式仿真平台的制作方法与工艺

本发明涉及分布式计算机仿真技术领域,尤其涉及一种双层动态分布式仿真平台。



背景技术:

随着分布式计算机仿真技术的发展,拥有众多节点的分布式仿真应用得以实现。为了能工程化地开发个性化的分布式仿真系统,业界已研发出了多种支持分布式仿真应用开发的平台(简称仿真开发平台),国内采用的有代表性的这类平台包括基于HLA体系结构的仿真开发平台,以及DWK体系结构的仿真开发平台:

1、仿真高层体系结构(HLA)。

HLA是分布交互仿真的高层体系结构,它不考虑如何由对象构建成员,而是在假设已有成员的情况下考虑如何构建联邦。HLA主要考虑在联邦成员的基础上如何进行联邦集成,即如何设计联邦成员间的交互以达到仿真的目的。

HLA的定义包括三个部分:(1)HLA规则,它定义了在联邦设计阶段必须遵循的基本准则,确保联邦中仿真的正确交互,并描述了仿真和联邦成员的责任以及它们同RTI之间的关系;(2)HLA接口规范,它定义了在仿真系统运行过程中,支持联邦成员之间互操作的标准服务,确定了每个成员必须提供的“回调”功能;(3)HLA对象模型模板,它是一种标准的结构框架(或模板),是描述HLA对象模型的关键部件,为FOM/SOM建立了数据格式。HLA的关键组成部分是接口规范,它定义的标准服务可分为六大类,即联邦管理服务、声明管理服务、对象管理服务、时间管理服务、所有权管理服务和数据分发管理服务。这六大类服务实际上反映了为有效解决联邦成员间的互操作所必须实现的功能。DMSO HLA 1.3接口规范一共定义了129个服务,这些服务可分为两种类型:一类是由联邦成员调用,RTI提供服务;另一类是由RTI调用,联邦成员响应。

2、DWK是北京神州普惠科技股份有限公司自主研发的基于组件化建模、实时数据分发服务(DDS)与HLA仿真技术的建模仿真平台,提供一系列分布式仿真系统开发工具,包括仿真组件模型开发、模型可视化装配、仿真实体开发、想定编辑与快速预演、实验设计、实验环境配置、仿真管理控制、仿真执行引擎、数据采集与分析等系统仿真必需的多种开放与可视化基础工具,通过接口适配器、SDK开发包可实现多粒度、多层次、虚实一体及异地联合仿真。DWK可满足复杂仿真系统开发与运行环境支撑需求,实现了对系统仿真应用全生命周期的支持。分布式仿真平台可应用于分析论证、模拟训练、试验评估等仿真应用系统的开发、集成、运行和管理,为各领域各层级的仿真系统定制提供总体解决方案。

上述两种仿真开发平台缺点主要在三个方面,一是由于定义仿真应用系统的技术复杂,需要仿真应用软件的开发人员学习和熟悉整套开发平台的架构和应用细节,实施的难度和成本较高;二是维护仿真成员和仿真组织的效率较低,特别是当存在大量仿真节点的情况下,仿真系统的运行效率将很快下降;三是部署仿真节点受到的限制比较严格,通常一台高性能计算上所部署的仿真节点只能是几十个到几百个。

以上三个方面的缺陷是由于采用了当前的分布式仿真技术架构面产生的;鉴于此,有必要进行深入研究,以获得新的分布式仿真技术架构技术,从而解决上述三个方面的缺陷。



技术实现要素:

本发明的目的是提供一种双层动态分布式仿真平台,可以简化分布式仿真应用软件的开发难度,提升分布式仿真应用系统的运行效率,增加分布式仿真节点的部署密度,从而提高分布式仿真应用系统开发效率并节省开发和应用成本。

本发明的目的是通过以下技术方案实现的:

一种双层动态分布式仿真平台,包括:由分布式仿真数据交互层次与分布式仿真功能实现层次构成的双层分布式仿真体系结构;其中:

所述分布式仿真数据交互层次,定义了采用不同数据结构代表不同仿真节点的种类以及仿真节点之间的数据交换方式,实现网络透明的仿真节点之间的相互通信机制,使得网络任何位置的仿真节点之间能够相互连接、相互沟通和相互交流;

分布式仿真功能实现层次,定义了每一种类的仿真节点所具备的仿真功能;当接收外部信号触发后,依据每一个仿真节点的数据结构所包含的特征数据来识别仿真节点的类型,并实现相应的仿真功能。

仿真功能由两类外部信号触发,第一类是外部传入的仿真时钟信号,即表示当前的仿真时间值的时钟;第二类是外部传入的仿真事件信号,每一种类的仿真节点只能接收有限类别的仿真事件信号,每一类别的仿真事件信号都带有相应的事件信息数据,再按照仿真节点的种类和事件信息数据来实现相应的仿真功能。

仿真事件分为两类,第一类是系统仿真事件,其包括时钟事件;第二类是仿真功能事件,包括:主动仿真事件,即由某一仿真节点主动向其关联的其他仿真节点发送的仿真事件;被动仿真事件,即由某一仿真节点在接收到其他仿真节点的事件后,向发送的仿真节点返回的仿真事件。

所述分布式仿真数据交互层次中包含了采用分层结构设置的多个仿真节点;通过仿真节点的数据结构来描述与其他仿真节点的关联关系;

仿真事件的发送能够跨网络在不同仿真节点之间传递,通过分布式仿真数据交互层次实现了仿真节点之间收发仿真事件的透明性,即一个仿真节点只要具有另一仿真节点的编号,即可向相应仿真节点发送仿真事件。

仿真平台的仿真过程初始化采用了基于XML初始化文件的集成初始化技术,通过三个步骤来实现仿真过程的初始化;其中,第一步骤是基础环境初始化,即准备好参与仿真的各个计算机上的仿真系统,每一个计算机上的仿真系统称为一个仿真成员;第二步骤是仿真节点初始化,即按照初始化文件的内容,在各个仿真成员上初始化属于该仿真成员的各个仿真节点,初始化后的仿真节点都具有一个唯一的编号,并且,在仿真节点的数据结构中,同时包含了相关联的其他仿真节点的编号;第三步骤是仿真过程初始化,即按照初始化文件的内容,设定仿真过程的全局起始状态,包括全局仿真时钟、仿真过程时间推进比值以及全局预定义仿真事件列表。

针对具有每一种特征的数据结构,开发与其相应的仿真功能;仿真功能通过对仿真事件的响应来现实;所有的仿真节点都要定时接收并处理系统仿真事件,此外,不同的仿真节点还可能接收并处理若干种仿真功能事件。

系统仿真事件的处理流程如下:

接收并更新本地时钟;按当前时钟,在发送事件列表中选出可发送事件;依次发送选出的可发送事件;将发送后的事件移入已发送事件列表。

仿真功能事件的处理流程如下:

接收仿真功能事件;

按照事件的定义,改变本仿真节点数据结构中存储的内容,从而更新本仿真节点的状态;

在更新本仿真节点状态的过程中,如果需要向相关联的节点发送事件,则生成事件并加入发送事件列表;

在更新本节点状态的过程后,如果需要向发送事件的节点返回事件,则生成返回事件并加入发送事件列表。

由上述本发明提供的技术方案可以看出,1)可大规模地增加仿真节点的部署密度,一台普通的计算机设备上可部署5000个仿真节点,一台高性能的计算机设备上可部署10000个以上仿真节点,从而支持更大规模的仿真过程。2)显著地简化了仿真过程的初始化过程,通过基于XML初始化文件的集成初始化技术,显著提高了仿真过程初始化的自动化程度,从而提高了仿真应用系统的启动执行效率。3)显著地简化了仿真功能开发的复杂性,将仿真功能的开发统一为针对两类仿真事件的开发,即仿真时钟事件和仿真功能事件,并统一了两类事件各自的总体开发流程。基于以上三个优点,可以快速地初始化具有大规模节点的仿真过程,可以用较少的计算机设备在网络上实现较大规模的仿真实验,可以节省开发应用的成本和时间。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他附图。

图1为本发明实施例提供的一种双层动态分布式仿真平台的示意图;

图2为本发明实施例提供的分层结构的仿真节点示意图;

图3为本发明实施例提供的仿真过程的初始化流程图;

图4为本发明实施例提供的时钟事件的处理流程图;

图5为本发明实施例提供的仿真功能事件的处理流程图。

具体实施方式

下面结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明的保护范围。

本发明实施例提供一种双层动态分布式仿真平台,该仿真平台采用双层动态分布式仿真体系结构,以支撑大规模分布式仿真应用系统的开发和运行;同时,基于这种分布式仿真系统结构,实现与其相配套的仿真过程初始化技术及支撑工具,并基于这种分布式仿真系统结构,实现与其相配套的仿真组件开发技术及其支撑工具。

本发明实施例中,所述双层动态分布式仿真平台包括:如图1所示的,由分布式仿真数据交互层次与分布式仿真功能实现层次构成的双层分布式仿真体系结构;其中:

所述分布式仿真数据交互层次,定义了采用不同数据结构代表不同仿真节点的种类以及仿真节点之间的数据交换方式,实现网络透明的仿真节点之间的相互通信机制,使得网络任何位置的仿真节点之间能够相互连接、相互沟通和相互交流;

分布式仿真功能实现层次,定义了每一种类的仿真节点所具备的仿真功能;当接收外部信号触发后,依据每一个仿真节点的数据结构所包含的特征数据来识别仿真节点的类型,并实现相应的仿真功能。

本发明实施例中,仿真功能由两类外部信号触发,第一类是外部传入的仿真时钟信号,即表示当前的仿真时间值的时钟;第二类是外部传入的仿真事件信号,每一种类的仿真节点只能接收有限类别的仿真事件信号,每一类别的仿真事件信号都带有相应的事件信息数据,再按照仿真节点的种类和事件信息数据来实现相应的仿真功能。

本发明实施例中,仿真事件分为两类,第一类是系统仿真事件,其包括时钟事件;第二类是仿真功能事件,包括:主动仿真事件,即由某一仿真节点主动向其关联的其他仿真节点发送的仿真事件;被动仿真事件,即由某一仿真节点在接收到其他仿真节点的事件后,向发送的仿真节点返回的仿真事件。

针对不同领域的分布式仿真应用,经常会有将仿真节点设置成多个层次结构的需要,针对这一问题,本发明实施例中,在分布式仿真数据交互层次中采用分层结构设置多个仿真节点,通过仿真节点的数据结构来描述与其他仿真节点的关联关系。如图2所示,编号为01的仿真节点的数据结构中包含了指向02和03节点的关联关系,同样,编号为02的仿真节点的数据结构中包含了指向04和05节点的关联关系,编号为03的仿真节点的数据结构中包含了指向06和07节点的关联关系。这样,通过在结点的数据结构中包含相关联的其他节点的指向数据,这可以实现动态地定义仿真节点之间层次关系的功能。

此外,仿真事件的发送能够跨网络在不同仿真节点之间传递,通过分布式仿真数据交互层次实现了仿真节点之间收发仿真事件的透明性,即一个仿真节点只要具有另一仿真节点的编号,即可向相应仿真节点发送仿真事件。

本发明实施例中,还提供一种仿真过程集成初始化技术。具体来说,仿真平台的仿真过程初始化可以采用基于XML初始化文件的集成初始化技术,主要通过如图3所示的三个步骤来实现仿真过程的初始化;其中,第一步骤是基础环境初始化,即准备好参与仿真的各个计算机上的仿真系统,每一个计算机上的仿真系统称为一个仿真成员;第二步骤是仿真节点初始化,即按照初始化文件的内容,在各个仿真成员上初始化属于该仿真成员的各个仿真节点,初始化后的仿真节点都具有一个唯一的编号,并且,在仿真节点的数据结构中,同时包含了相关联的其他仿真节点的编号;第三步骤是仿真过程初始化,主要包括:仿真状态、参数的设置,即按照初始化文件的内容,设定仿真过程的全局起始状态,包括全局仿真时钟、仿真过程时间推进比值以及全局预定义仿真事件列表。

另外,本发明实施例还提供一种仿真组件结构驱动开发技术,仿真组件开发采用了基于仿真节点数据结构的分类开发方法,即针对具有每一种特征的数据结构,开发与其相应的仿真功能;仿真功能通过对仿真事件的响应来现实;所有的仿真节点都要定时接收并处理系统仿真事件,此外,不同的仿真节点还可能接收并处理若干种仿真功能事件。

其中,系统仿真事件的处理流程如图4所示,主要包括:

接收并更新本地时钟;

按当前时钟,在发送事件列表中选出可发送事件;

依次发送选出的可发送事件;

将发送后的事件移入已发送事件列表。

仿真功能事件的处理流程如图5所示,主要包括:

接收仿真功能事件;

按照事件的定义,改变本仿真节点数据结构中存储的内容,从而更新本仿真节点的状态;

在更新本仿真节点状态的过程中,如果需要向相关联的节点发送事件,则生成事件并加入发送事件列表;

在更新本节点状态的过程后,如果需要向发送事件的节点返回事件,则生成返回事件并加入发送事件列表。

本发明实施例上述方案,主要获得具有如下优点:

1)可大规模地增加仿真节点的部署密度,一台普通的计算机设备上可部署5000个仿真节点,一台高性能的计算机设备上可部署10000个以上仿真节点,从而支持更大规模的仿真过程。

2)显著地简化了仿真过程的初始化过程,通过基于XML初始化文件的集成初始化技术,显著提高了仿真过程初始化的自动化程度,从而提高了仿真应用系统的启动执行效率。

3)显著地简化了仿真功能开发的复杂性,将仿真功能的开发统一为针对两类仿真事件的开发,即仿真时钟事件和仿真功能事件,并统一了两类事件各自的总体开发流程。

基于以上三个优点,可以快速地初始化具有大规模节点的仿真过程,可以用较少的计算机设备在网络上实现较大规模的仿真实验,可以节省开发应用的成本和时间。

以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明披露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求书的保护范围为准。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1