并行离散事件仿真系统自动初始化实现方法技术方案

技术编号:16326931 阅读:28 留言:0更新日期:2017-09-29 18:55
本发明专利技术公开一种并行离散事件仿真系统自动初始化实现方法,步骤包括:S1.获取想定文件并进行解析,将解析得到的想定数据存储至构建的想定数据存储结构中;S2.构建包含有想定数据与仿真对象的属性之间映射关系的赋值函数模板库;S3.根据仿真对象初始化需求,从赋值函数模板库中搜索赋值函数模板,并根据赋值函数模板自动在想定数据存储结构中搜索仿真对象对应的初始化数据,对仿真对象进行初始化。本发明专利技术能够实现并行离散事件仿真系统的自动初始化,且具有实现方法简单、初始化成本低以及初始化精度、效率高等优点。

【技术实现步骤摘要】
并行离散事件仿真系统自动初始化实现方法
本专利技术涉及建模与仿真
,尤其涉及一种适用于复杂系统仿真的并行离散事件仿真系统自动初始化实现方法。
技术介绍
自20世纪90年代欧美等发达国家开始对并行离散事件仿真技术进行研究以来,相继推出了多个基于高性能计算平台的并行离散事件仿真运行支撑环境,如SPEEDES、Warped、Parsec、usik等。这些并行离散事件仿真支撑环境广泛应用于大规模生态环境仿真、计算系统生物学仿真、复杂战争环境下的大规模作战模拟、国家与国防战略研究、危机预测预警与处置决策等复杂系统仿真应用中,为复杂系统及复杂性问题的研究提供了重要的科学实验方法和工具。并行离散事件仿真系统初始化是进行仿真推演的第一步,正确高效的初始化对仿真系统的顺利执行至关重要。在军事仿真系统中,仿真想定作为不可或缺的重要环节,能够反映出作战双方的兵力部署和作战方案等信息。仿真系统初始化前,需要从仿真想定文件中获取仿真系统运行所需的先决条件以及初始化数据,如想定环境、实体集合、航迹集、责任区等,以生成仿真应用系统的初始化程序,对相应的变量进行初始化赋值,为仿真系统的正确运行提供支持。基于并行离散事件仿真技术实现的复杂系统仿真应用通常由多个仿真对象组成,每个仿真对象又可能由多个仿真模型组成,并且随着复杂系统仿真应用的不断深入,仿真对象规模越来越大,仿真模型越来越复杂,使得复杂系统仿真应用的初始化程序也越来越复杂,开发难度也越来越高;其次,仿真想定文件的数据组织结构是面向军事仿真人员的,与并行离散事件仿真系统的组织结构存在较大的差异性,难以直接建立起仿真想定数据与仿真系统初始化变量之间的映射关系;再次,在仿真系统的实际应用过程中,军事仿真人员通常需要频繁修改仿真系统参数,以对不同场景下系统的性能进行评估,这对仿真系统初始化程序的适应性提出了较高的要求。传统的并行离散事件仿真初始化程序通常采用“堆砌代码”式的开发方式,如基于SPEEDES的仿真应用开发方法等。此类方法要求仿真开发人员在理解系统初始化需求和想定文件数据结构的基础上,人工从想定文件中搜索对应的初始化数据,并手动编写代码为相应的初始化变量赋值,导致仿真系统初始化程序的实现工作量较大,引入人工错误的概率较高,对想定文件变化的适应能力也较差。
技术实现思路
本专利技术要解决的技术问题就在于:针对现有技术存在的技术问题,本专利技术提供一种实现方法简单、初始化成本低、初始化精度及效率高的并行离散事件仿真系统自动初始化实现方法,采用模块化的设计方法实现仿真系统的自动初始化,能够大大减少人工参与仿真系统初始化的工作量,提高初始化程序开发效率,避免引入人工随机错误,同时能够更好地适应仿真想定文件的变化。为解决上述技术问题,本专利技术提出的技术方案为:一种并行离散事件仿真系统自动初始化实现方法,步骤包括:S1.想定文件解析及数据存储:获取想定文件并进行解析,将解析得到的初始化数据存储至预先构建的想定数据存储结构中;S2.构建赋值函数模板库:构建包含有初始化数据与仿真对象的属性之间映射关系的赋值函数模板库;S3.仿真自动初始化:读取仿真对象模型描述文件,根据所述赋值函数模板库从所述想定数据存储结构中搜索仿真对象的初始化数据,对仿真对象进行初始化赋值。作为本专利技术方法的进一步改进:所述想定数据存储结构具体为根据仿真系统结构层次,基于哈希表嵌套构建得到,使得构建得到的想定数据存储结构与仿真系统结构层次相匹配。作为本专利技术方法的进一步改进:所述想定数据存储结构具体为依次由仿真对象类哈希表、仿真对象实例哈希表以及仿真对象实例属性哈希表嵌套构建得到,其中所述仿真对象类哈希表为基于仿真对象类信息、所述仿真对象实例哈希表构建哈希表得到,所述仿真对象实例哈希表为基于仿真对象实例信息、所述仿真对象实例属性哈希表构建哈希表得到,所述仿真对象实例属性哈希表为基于对象属性信息构建哈希表得到。作为本专利技术方法的进一步改进:所述仿真对象实例属性哈希表具体为基于对象属性信息、仿真对象属性集合哈希表构建哈希表得到,所述仿真对象属性集合哈希表为由属性信息集合构建哈希表得到;所述仿真对象属性集合哈希表包括由第一属性信息构建哈希表得到的第一属性集合、以及由第二属性信息构建哈希表得到的第二属性集合。作为本专利技术方法的进一步改进:所述第一属性信息为包括属性名称、属性值域的基本属性信息;所述第二属性信息为包括航迹ID或多粒度属性信息、属性集的复杂属性信息。作为本专利技术方法的进一步改进,所述步骤S1的具体步骤为:S11.设置想定文件与样本编号,每一个想定文件包含多个样本,且每一个样本包含进行一次仿真系统初始化所需的所有初始化数据;S12.根据所述步骤S11中的设置解析仿真对象数据集、分析仿真对象类数目;S13.依次嵌套构建仿真对象类哈希表、仿真对象实例哈希表以及仿真对象实例属性哈希表;S14.根据所述步骤S11中设置解析公共属性信息以及编组信息;S15.将解析得到的所述公共属性信息以及编组信息插入所述仿真对象实例属性哈希表中;作为本专利技术方法的进一步改进,所述步骤S13的具体步骤为:S131.将仿真对象类名作为key值,以及构建仿真对象实例属性哈希表H2并作为value值,分别存入所述仿真对象类哈希表H1;S132.将仿真对象实例号作为key值,以及构建仿真对象属性哈希表H3并作为value值,分别存入所述仿真对象实例属性哈希表H2;S133.将仿真对象属性名称作为key值,以及构建用于存储仿真对象属性值的仿真对象属性容器作为value值,分别存入所述仿真对象属性集合哈希表H3。作为本专利技术方法的进一步改进:所述赋值函数模板库为基于适配器模式的接口函数库,所述接口函数库中接口函数包括对应多种仿真对象属性的变量参数。作为本专利技术方法的进一步改进:所述接口函数具体包括对应仿真对象类名称、仿真对象实例编号、仿真对象实例名称、模型初始化参数结构中的变量名称的多种变量参数。作为本专利技术方法的进一步改进,所述步骤S3的具体步骤为:S31.根据仿真对象类名称、仿真对象实例名称或实例编号,以及需要被初始化的属性名称,在所述赋值函数模板库中搜索对应的赋值函数模板;S32.在仿真对象初始化函数中,根据需要被初始化的属性名称及搜索到的赋值函数模板,生成相应的赋值语句;S33.执行所述步骤S32生成的赋值语句,使得从所述想定存储结构中搜索到所述仿真对象的值域,并将搜索到的值为仿真对象的状态变量赋初始值。与现有技术相比,本专利技术的优点在于:1)本专利技术通过将想定数据存储在想定数据存储结构中,同时通过构建赋值函数模板库,建立想定数据与仿真对象的属性之间的映射关系,将存储数据与仿真系统初始化变量之间进行匹配对应,并且能自动生成仿真对象初始化代码,完成仿真对象初始化变量自动赋初始值,从而避免人工查找初始化变量值并编写仿真系统初始化代码,提高仿真系统的开发效率,减少人工参与以及由于人工操作造成的错误率,实现自动初始化;2)本专利技术通过嵌套哈希结构的想定数据存储结构存储想定数据,可以通过根据仿真应用系统的层次,从仿真对象类、仿真对象实例、计算模型实例、属性变量的序列重新组织想定文件中的数据信息,使得既能够避免每次初始化时都需要扫描一次想定文件,又能够方便仿真系统快速查找初始化变量本文档来自技高网
...
并行离散事件仿真系统自动初始化实现方法

【技术保护点】
一种并行离散事件仿真系统自动初始化实现方法,其特征在于,步骤包括:S1. 想定文件解析及数据存储:获取想定文件并进行解析,将解析得到的初始化数据存储至预先构建的想定数据存储结构中;S2. 构建赋值函数模板库:构建包含有初始化数据与仿真对象的属性之间映射关系的赋值函数模板库;S3. 仿真自动初始化:读取仿真对象模型描述文件,根据所述赋值函数模板库从所述想定数据存储结构中搜索仿真对象的初始化数据,对仿真对象进行初始化赋值。

【技术特征摘要】
1.一种并行离散事件仿真系统自动初始化实现方法,其特征在于,步骤包括:S1.想定文件解析及数据存储:获取想定文件并进行解析,将解析得到的初始化数据存储至预先构建的想定数据存储结构中;S2.构建赋值函数模板库:构建包含有初始化数据与仿真对象的属性之间映射关系的赋值函数模板库;S3.仿真自动初始化:读取仿真对象模型描述文件,根据所述赋值函数模板库从所述想定数据存储结构中搜索仿真对象的初始化数据,对仿真对象进行初始化赋值。2.根据权利要求1所述的并行离散事件仿真系统自动初始化实现方法,其特征在于:所述想定数据存储结构具体为根据仿真系统结构层次,基于哈希表嵌套构建得到,使得构建得到的想定数据存储结构与仿真系统结构层次相匹配。3.根据权利要求2所述的并行离散事件仿真系统自动初始化实现方法,其特征在于:所述想定数据存储结构具体为依次由仿真对象类哈希表、仿真对象实例哈希表以及仿真对象实例属性哈希表嵌套构建得到,其中所述仿真对象类哈希表为基于仿真对象类信息、所述仿真对象实例哈希表构建哈希表得到,所述仿真对象实例哈希表为基于仿真对象实例信息、所述仿真对象实例属性哈希表构建哈希表得到,所述仿真对象实例属性哈希表为基于对象属性信息构建哈希表得到。4.根据权利要求3所述的并行离散事件仿真系统自动初始化实现方法,其特征在于:所述仿真对象实例属性哈希表具体为基于对象属性信息、仿真对象属性集合哈希表构建哈希表得到,所述仿真对象属性集合哈希表为由属性信息集合构建哈希表得到;所述仿真对象属性集合哈希表包括由第一属性信息构建哈希表得到的第一属性集合、以及由第二属性信息构建哈希表得到的第二属性集合。5.根据权利要求4所述的并行离散事件仿真系统自动初始化实现方法,其特征在于:所述第一属性信息为包括属性名称、属性值域的基本属性信息;所述第二属性信息为包括航迹ID或多粒度属性信息、属性集的复杂属性信息。6.根据权利要求3或4或5所述的并行离散事件仿真系统自动初始化实现方法,其特征在于,所述步骤S1的具体步骤为:S11.设置想定文件与样本编号,每一个想定文件包含多个样本...

【专利技术属性】
技术研发人员:姚益平朱峰包思芮唐文杰鄢来斌曲庆军蒋志文姚锋李田林
申请(专利权)人:中国人民解放军国防科学技术大学
类型:发明
国别省市:湖南,43

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1