CN112256386A - 一种仿真运行支撑系统 - Google Patents

一种仿真运行支撑系统 Download PDF

Info

Publication number
CN112256386A
CN112256386A CN202011016770.7A CN202011016770A CN112256386A CN 112256386 A CN112256386 A CN 112256386A CN 202011016770 A CN202011016770 A CN 202011016770A CN 112256386 A CN112256386 A CN 112256386A
Authority
CN
China
Prior art keywords
simulation
instance
lrc
management
support system
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.)
Pending
Application number
CN202011016770.7A
Other languages
English (en)
Inventor
桑景瑞
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Tianyuandike Information Technology Co ltd
Original Assignee
Beijing Tianyuandike Information Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Tianyuandike Information Technology Co ltd filed Critical Beijing Tianyuandike Information Technology Co ltd
Priority to CN202011016770.7A priority Critical patent/CN112256386A/zh
Publication of CN112256386A publication Critical patent/CN112256386A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本申请公开了一种仿真运行支撑系统,目的是为了解决现有仿真运行支撑系统广域互连难度大、重复仿真实验工作量大以及跨语言和跨平台难度大的问题。所述系统包括:联邦管理模块、声明管理模块、扩展的对象管理模块、时间管理模块、所有权管理模块和数据分发管理模块。上述系统各模块之间采用WebService服务进行通信,对对象管理进行了扩展,实现LRC实体级管理,采用WebService和MQ两种数据交互技术,实现系统对仿真规模和仿真形态的适用性,通过本系统的配置文档,实现可配置的分布式运行结构设计。

Description

一种仿真运行支撑系统
技术领域
本申请涉及分布交互仿真技术,特别是涉及分布交互仿真运行的支撑系统。
背景技术
分布式仿真是当今仿真技术研究的重要领域之一。在军事领域,它是武器装备发展、研制、试验、定型、鉴定、作战效能评估、作战训练、后勤支援,以及武器装备采办等不可缺少的重要支撑技术;在民用领域,已应用于交通运输、医疗、娱乐、互联网商业、制造业等其他领域,为科学技术研究和制造工程设计提供支持,为提高效能、节省经费、降低风险、保证质量和缩短研制周期的起到了关键作用。
仿真运行时框架(RTI)是HLA实现仿真应用互连、互操作的基础构件,它被视作仿真引擎,也被认为是分布式仿真的操作系统。围绕RTI软件的具体实现可以开发各种用途的HLA仿真系统。
RTI的核心作用是为分布交互仿真提供控制和管理功能。如图1所示,RTI提供的服务划分为六组,分别为联邦管理、声明管理、对象管理、所有权管理、时间管理和数据分发管理。这些服务都由RTI软件来实现:
联邦管理服务提供一系列有关联邦生命周期的服务。联邦管理服务提供的功能可以分为4类:联邦的创建和销毁、联邦的加入和退出、联邦的保存和恢复及联邦的同步等。
声明管理是仿真模型数据交互的基础,它提供了模型之间对数据的供需进行协商的机制,以及对不需要的消息进行过滤的机制,这样可以减少消息的传送数量。公布服务是将自身产生的仿真消息类型在整个联邦中进行公布。订购服务是将模型自身需要的仿真消息类型向整个联邦发布。
对象管理用于管理仿真模型之间的互操作过程,是分布式仿真的核心功能。包括实体注册和发现、实体属性更新和交互的发送。交互,即事件。交互生成后,先交给RTI,由RTI将交互发送到所有订购的邦员处理。
所有权管理服务就是负责协调和管理这种关系机制的转移。如果一个实体的属性的值需要由另一个邦员产生,则该属性的所有权就需要转移。RTI提供了“推”、“拉”两种模式,使实体属性在所有邦员间顺利转移。
分布交互仿真是由多个不同种类的仿真应用(邦员)集成起来的。各个邦员拥有不同的本地时间、不同的时间推进机制、不同的时间粒度和精度。为了解决这一问题,HLA时间管理服务的主要任务是保证仿真事件过程与真实事件发生过程的顺序一致性,以及各个联邦成员对于仿真事件发生过程的观察一致性,并协调联邦成员之间的活动。时间管理服务按照功能可以分为4类,分别负责联邦成员时间管理策略的设置、时间推进、异步提交和辅助服务。
数据分发管理服务主要是通过增强联邦成员对于数据需求的精简能力,从而减少邦执行中传输的数据量,加强对于大型仿真系统和广域运行的支持能力。
数据分发管理服务的作用与声明管理服务的作用较为类似,都是在联邦成员之间建立一种公布和订购的关系,从而减少仿真网络中的数据量。但是,与工作在对象类属性层次的声明管理不同的是数据分发管理是工作在实例属性层次。数据分发管理服务的工作原理也与声明管理服务的基本相同,都是在预定的路径空间里,由产生数据的联邦成员和接收数据的联邦成员分别向联邦声明产生和接收的数据特性,再由RTI根据提供的数据特性在联邦成员之间进行匹配,从而将数据进行针对性的传输。数据分发管理服务所提供的功能可以分为三类:第一类负责路径空间区域的设置,包括创建、修改和删除;第二类和第三类主要负责区域和对象实例、对象类及其属性、交互实例和交互类等的关联服务。
如图2所示,RTI在软件结构上分为运行支持环境(CRC)和RTI的接口模块(LRC)两个部分,RTI作为HLA仿真应用的运行支撑系统,其自身结构的优劣直接决定了仿真应用的性能。虽然目前RTI的种类很多,但按其结构模型大致可以分为三类:
①集中式结构模型,如图3所示,存在一个中心服务器,联邦成员之间的通信都通过这个服务器。这种结构虽然简单,易于实现,但由于中心节点服务器负担过大,不利于系统扩充。
②分布式结构模型,如图4所示,没有中心节点,但每个仿真节点机上都有一个RTI服务器,联邦成员发出的请求先由这个服务器做出响应,如果本地服务器无法处理,再由其他RTI服务器协同处理。这种结构虽然有利于系统的扩充,但是由于缺乏全局管理,整体仿真应用运行效率较差。
③层次式结构模型,如图5所示,这种结构吸取了前两种结构模型的优点,既存在中心服务器,也存在本地服务器。中心服务器负责全局性服务,各个本地服务器负责各联邦成员的服务请求。如果出现需要各个联邦成员共同完成的工作,则由中心服务器协调各本地服务器共同完成。这种设计降低了各节点的运行压力,也提高了仿真运行效率。
瑞典的pitch RTI在系统结构上采用了半集中式结构,如图6所示,它将联邦管理、时间管理、所有权管理的部分功能集中在CRC(Central RTI Component)中,而声明管理、对象管理和数据分发管理等主要用于数据传输的功能集中在LRC中。这样的优势在于将大部分的数据传输分布在网络节点中,避免出现网络瓶颈。
当前仿真运行支持系统(RTI)现有实现技术面临如下问题:
广域互连问题
为了实现战区以上级分布式训练和模拟,需要大量的仿真应用在广域网上的互连,但当前仿真运行支持系统均采用CS结构,大部分使用环境处于专用网络中,例如大部分运用在实验室环境下,国内广域条件下分布式仿真仍然存在问题。其主要原因在于仿真运行支持系统本身对广域互连的支持不足,除了网速限制,防火墙等安全设施对通信的阻隔也是困难之一。
重复仿真实验问题
在作战实验等仿真应用中,需要在虚拟环境中对作战方案和武器装备应用过程进行多次运行,从而进行统计学上的评价。而当前的仿真运行支持系统并没有考虑重复实验中对邦员状态的管理,从而使重复的仿真实验需要大量的手工作业。
跨语言和跨平台问题
由于仿真运行支持系统多为CS结构,其跨语言和跨平台问题一直是解决系统互连、互操作的关键问题。跨平台问题包括跨硬件平台和跨软件平台问题,跨硬件平台指对intel、arm等两大主流硬件平台及国产兆芯(x86)、飞腾(ARM)、海思(ARM)、展讯(ARM)的适配性;软件平台则是指Windows、Unix/Linux及国产的操作系统deepin、优麒麟、中标麒麟、UOS(统信操作系统)的适配能力。跨语言问题是指仿真运行支持系统对多种语言仿真应用的支持能力,如C/C++、Java、python等。当前仿真运行支持系统的应用多是封闭系统,对跨语言和跨平台问题没有成为重点。但当前仿真应用的不断发展,尤其是国产化的要求,迫使跨平台和跨语言成为仿真运行支持系统的主要性能指标。
发明内容
本申请的目的在于克服上述问题或者至少部分地解决或缓减解决上述问题。
根据本申请的一个方面,提供了一种仿真运行支撑系统,包括:
联邦管理模块,其配置成进行联邦的创建和销毁、联邦的加入和退出、联邦的保存和恢复、以及联邦的同步;
声明管理模块,其配置成对象类属性层次上,在联邦成员之间建立公布和订购的关系;
扩展的对象管理模块,其配置成采用采用基于XML和JSON扩展的对象管理来管理仿真模型之间的互操作过程,实现LRC实体级管理;
时间管理模块,其配置成通过对时间管理,使仿真事件过程与真实事件发生过程顺序一致,以及使各个联邦成员对于仿真事件发生过程的观察一致;
所有权管理模块,其配置成在邦员之间转移实体属性;和
数据分发管理模块,其配置成在实例属性层次上,在联邦成员之间建立公布和订购的关系。
可选地,对于实验室条件下的仿真,各邦员之间使用“消息中间件+JSON消息”实现高速的仿真交互。
可选地,CRC与LRC之间设置有高速的PUB/SUB通道。
可选地,所述CRC与LRC之间还设置有REQ/REP双向辅助通道。
可选地,邦员与邦员之间采用MQ的PAIR通信模式通信。
可选地,对于广域条件下的作战训练和人在回路模型系统,各邦员之间选用“消息中间件+JSON消息”或WebService方式进行通信,支持多种软件平台和网络类型。
可选地,所述扩展的对象管理模块包括:
配置子模块,其配置成采用XML实现多次实验运行配置;和
本地对象实例管理子模块,其配置成对HLA对象管理机制进行扩展,使邦员生成初始实例并在运行结束或新联邦运行开始前自动清理已经生成的实例。
可选地,所述配置子模块包括:
地址和端口号配置单元,其配置成对地址和端口号进行配置;
实验配置单元,其配置成对实验ID、想定ID、作战方案ID,实验运行次数、结束条件及每次随机数的产生条件进行配置;和
联邦初始化数据配置单元,其配置成对每个邦员中每个实体的初始化数据进行配置。
可选地,所述本地对象实例管理子模块包括:
本地实例表建立单元,其配置成建立邦员本地实例表,所述邦员本地实例表由LRC与邦员共享;
HLA对象管理服务扩展单元,其配置成采用setObjectInstanceTable和getObjectInstanceTable服务使LRC与邦员共享所有注册和发现的实例。
可选地,所述本地对象实例管理子模块还包括:
实例增加单元,其配置成当registerObjectInstance和discoverObjectInstance被调用时,LRC在实例表中增加一个实例项,并填写该实例项的句柄、名称和属性;
第一实例删除单元,其配置成当deleteObjectInstance和removeObjectInstance被调用时,LRC将被选择的实例从实例表中删除;
所有权转移单元,其配置成当所有权转移服务被调用、并且在接到所有权移出或移入消息后,LRC修改属性的OwnedBy成员;和
第二实例删除单元,其配置成当resignFederation服务被联邦成员调用时,LRC根据邦员的退出选项,删除实例表中的所有实例项。
本申请具有以下优点:
1、基于WebService服务,适应当前基于广域的应用要求。WebService是一种跨编程语言和跨操作系统平台的远程调用技术。它可以通过SOAP、WSDL和UDDI等技术协议和基础设施,实现异构系统的集成。在保证所有应用独立性的同时,实现对各类网络和各种防火墙的穿越。其技术特点完全适用于仿真运行支持系统的松散集成和广域条件下的交互,解决专用通信协议实现广域通信难的问题。
2、扩展的对象管理设计,实现LRC实体级管理,适应了仿真实验的重复性要求。为了实现仿真实验的多次运行,同时在每次运行时进行配置。本发明对HLA对象管理进行扩展,设计了LRC与邦员共享的实例表,使LRC扩展了实体级管理。
3、采用WebService和MQ两种数据交互技术,实现系统对仿真规模和仿真形态的适用性。在以上两种跨语言和跨平台技术的基础上,本发明对仿真运行支持的使用场景进行了特殊设计。对于实验室条件下的仿真,采用专用集成技术,使用调整的“消息中间件(MQ)+JSON消息”实现高速的仿真交互;对于广域条件下的作战训练和人在回路模型系统,采用WebService方式进行通信,实现异构网络中、不同防火墙保护下和运行于不同操作系统、不同语言平台下的各类仿真训练系统的互操作,实现效率和高可用性的平衡。
4、通过本系统的配置文档,实现可配置的分布式运行结构设计。使WebService和MQ协同运行,各取其优势,实现广域条件下的跨软硬件平台、跨语言的高效运行。
根据下文结合附图对本申请的具体实施例的详细描述,本领域技术人员将会更加明了本申请的上述以及其他目的、优点和特征。
附图说明
后文将参照附图以示例性而非限制性的方式详细描述本申请的一些具体实施例。附图中相同的附图标记标示了相同或类似的部件或部分。本领域技术人员应该理解,这些附图未必是按比例绘制的。附图中:
图1是根据本申请背景技术部分的RTI的功能示意图;
图2是根据本申请背景技术部分的RTI的功能架构示意图;
图3是根据本申请背景技术部分的集中式结构RTI的结构示意图;
图4是根据本申请背景技术部分的分布式结构RTI的结构示意图;
图5是根据本申请背景技术部分的层次式结构RTI的结构示意图;
图6是根据本申请背景技术部分的半集中式结构RTI的结构示意图;
图7是根据本申请实施例的仿真运行支撑系统的总体结构示意图;
图8是根据本申请实施例的联邦管理服务列表;
图9是根据本申请实施例的声明管理服务菜单列表;
图10是根据本申请实施例的对象管理服务菜单列表;
图11是根据本申请实施例的所有权管理服务菜单列表;
图12是根据本申请实施例的时间权管理服务菜单列表;
图13是根据本申请实施例的数据分发管理服务菜单列表;
图14是根据本申请实施例的辅助服务菜单列表;
图15是根据本申请实施例的基于JSON的联邦服务消息体系;
图16是根据本申请实施例的RTI核心与邦员间的通信方式;
图17是根据本申请实施例的邦员之间的通信方式;
图18是根据本申请实施例的仿真实验的初始化配置文件结构示意图;
图19是根据本申请实施例的邦员本地实例表的结构示意图;
图20是根据本申请实施例的广域条件下联邦系统的配置和部署情况。
具体实施方式
实施例一
基于现有技术的各种缺陷,本申请实施例着力从如下几个方面对仿真运行支持系统进行改进:
1、基于WebService服务,适应当前基于广域的应用要求。WebService是一种跨编程语言和跨操作系统平台的远程调用技术。它可以通过SOAP、WSDL和UDDI等技术协议和基础设施,实现异构系统的集成。在保证所有应用独立性的同时,实现对各类网络和各种防火墙的穿越。其技术特点完全适用于仿真运行支持系统的松散集成和广域条件下的交互,解决专用通信协议实现广域通信难的问题。
2、扩展HLA对象管理,实现LRC实体级管理,适应仿真实验的重复性要求。为了实现仿真实验的多次运行,同时在每次运行时进行配置。本发明对HLA进行扩展,设计了LRC与邦员共享的实例表,使LRC扩展了实体级管理。同时设计了基于XML的邦员初始化设计文档,满足邦员在重复实验过程中对每次实验不同的初始化要求。
3、采用WebService和MQ两种数据交互技术,实现系统对仿真规模和仿真形态的适用性。在以上两种跨语言和跨平台技术的基础上,本发明对仿真运行支持的使用场景进行了特殊设计。对于实验室条件下的仿真,采用专用集成技术,使用调整的“消息中间件(MQ)+JSON消息”实现高速的仿真交互;对于广域条件下的作战训练和人在回路模型系统,采用WebService方式进行通信,实现异构网络中、不同防火墙保护下和运行于不同操作系统、不同语言平台下的各类仿真训练系统的互操作,实现效率和高可用性的平衡。
系统采用两种标准的通信方式,实现了广域互连和跨平台、跨语言能力。WebService协议实现了广域互连、跨平台、跨语言能力,而基于Zero Mq的通信提供了局域条件下的高速通信能力和跨平台、跨语言能力。
通过配置和部署,本系统可以快速将分布于广域网的各类平台下的邦员集成为一个完整的联邦系统,实现各级各类仿真、训练和作战实验。
图7是根据本申请一个实施例的仿真运行支撑系统的总体结构示意图,所述仿真运行支撑系统包括:
联邦管理模块,其配置成进行联邦的创建和销毁、联邦的加入和退出、联邦的保存和恢复、以及联邦的同步;
声明管理模块,其配置成对象类属性层次上,在联邦成员之间建立公布和订购的关系;
扩展的对象管理模块,其配置成采用采用基于XML和JSON扩展的对象管理来管理仿真模型之间的互操作过程,实现LRC实体级管理;
时间管理模块,其配置成通过对时间管理,使仿真事件过程与真实事件发生过程顺序一致,以及使各个联邦成员对于仿真事件发生过程的观察一致;
所有权管理模块,其配置成在邦员之间转移实体属性;和
数据分发管理模块,其配置成在实例属性层次上,在联邦成员之间建立公布和订购的关系;
上述各模块均采用webservice服务实现仿真应用的跨网络交互。
关于上述联邦管理模块中的联邦的同步,同步在IEEE1516规范中定义为联邦运行过程所有或部分邦员需要进行的状态协同。邦员在到达同步时的状态称为同步点。如:邦员加入联邦后,为了便于控制,开发人员决定建立三个同步点:1是完成公布订购后所以邦员需要同时生成初始实体时,此为readyToPopulate;2,所以邦员必须等待其他邦员实体生成后,才能进入仿真时间推进循环过程,这个同步点为readyToRun;3,当完成仿真后,所有邦员应在退出前进行协调,统一退出,这个同步点为readyToResign。同步点的状态、条件和多少由开发人员根据实际情况确定。
作为本申请的优选实施例,对于实验室条件下的仿真,各邦员之间使用“消息中间件+JSON消息”实现高速的仿真交互。
作为本申请的优选实施例,CRC与LRC之间设置有高速的PUB/SUB通道。
作为本申请的优选实施例,所述CRC与LRC之间还设置有REQ/REP双向辅助通道。
作为本申请的优选实施例,邦员与邦员之间采用MQ的PAIR通信模式通信。
作为本申请的优选实施例,对于广域条件下的作战训练和人在回路模型系统,各邦员之间采用WebService方式进行通信。
作为本申请的优选实施例,所述扩展的对象管理模块包括:
配置子模块,其配置成采用XML实现多次实验运行配置;和
本地对象实例管理子模块,其配置成对HLA对象管理进行扩展,使邦员生成初始实例。
作为本申请的优选实施例,所述配置子模块包括:
地址和端口号配置单元,其配置成对地址和端口号进行配置;
实验配置单元,其配置成对实验ID、想定ID、作战方案ID,实验运行次数、结束条件及每次随机数的产生条件进行配置;和
联邦初始化数据配置单元,其配置成对每个邦员中每个实体的初始化数据进行配置。
作为本申请的优选实施例,所述本地对象实例管理子模块包括:
本地实例表建立单元,其配置成建立邦员本地实例表,所述邦员本地实例表由LRC与邦员共享;
HLA对象管理服务扩展单元,其配置成采用setObjectInstanceTable和getObjectInstanceTable服务使LRC与邦员共享所有注册和发现的实例。
作为本申请的优选实施例,所述本地对象实例管理子模块还包括:
实例增加单元,其配置成当registerObjectInstance和discoverObjectInstance被调用时,LRC在实例表中增加一个实例项,并填写该实例项的句柄、名称和属性;
第一实例删除单元,其配置成当deleteObjectInstance和removeObjectInstance被调用时,LRC将被选择的实例从实例表中删除;
所有权转移单元,其配置成当所有权转移服务被调用、并且在接到所有权移出或移入消息后,LRC修改属性的OwnedBy成员;和
第二实例删除单元,其配置成当resignFederation服务被联邦成员调用时,LRC根据邦员的退出选项,删除实例表中的所有实例项。
为了将HLA数据类型映射为平台无关数据类型,采用WSDL进行数据类型定义。数据类型包括简单数据类型、复杂数据类型和枚举类型。
简单数据类型有54个,如表1所示,涵盖了HLA标准中的所有简单类型。
表1简单数据类型
Figure BDA0002699320290000081
Figure BDA0002699320290000091
Figure BDA0002699320290000101
复杂数据类型引用了IEEE中wshlae命名,重用了其数据类型,包括属性句柄集、属性句柄-属性值对集合、参数句柄-参数值对集合、联邦成员句柄表等常用数据类型,如表2所示。
表2复杂数据类型
Figure BDA0002699320290000102
Figure BDA0002699320290000111
Figure BDA0002699320290000121
Figure BDA0002699320290000131
联邦管理如图8所示,所述联邦管理服务包括:
1、连接服务:connect,disconnect
2、创建和销毁联邦:createFederationExecution,destroyFederationExecution
3、联邦查询:listFederationExecution
4、加入和退出联邦:joinFederationExecution,resignFederationExecution
5、同步点服务:egisterFederationSynchronizationPoint,synchronizationPointAchieved
6、联邦保存和恢复:requestFederationSave,federateSaveBegun,federateSaveComplete,federateSaveNotComplete,queryFederationSaveStatus,requestFederationRestore,federateRestoreComplete,federateRestoreComplete,queryFederationRestoreStatus,abortFederationSave,abortFederationRestore
声明管理服务如图9所示,所述声明管理服务包括:
1、公布服务:publishObjectClassAttributes,unpublishObjectClass,unpublishObjectClassAttributes,publishInteractionClass,unpublishInteractionClass
2、订购服务:subscribeObjectClassAttributes,unsubscribeObjectClass,subscribeInteractionClass,unsubscribeInteractionClass
对象管理服务如图10所示,所述对象管理服务包括:
1、注册实例名称:reserveObjectInstanceName,releaseObjectInstanceName,reserveMultipleObjectInstanceName,releaseMultipleObjectInstanceName
2、注册实例:registerObjectInstance
3、发送消息:updateAttributeValues,sendInteraction
4、删除实例:deleteObjectInstance,localDeleteObjectInstance
5、请求消息:requestAttributeValueUpdate
6、传输设置:queryAttributeTransportationType,queryInterationTransportationType,requestAttributeTransportationTypeChange,requestInterationTransportationTypeChange
所有权管理服务如图11所示,所述所有权管理服务包括:
1、无条件属性所有权剥离:unconditionalAttributeOwnershipDivestiture
2、协商的属性所有权剥离:negotiatedAttributeOwnershipDivestiture
3、所有权剥离确认:confirmDivestiture
4、属性所有权获取:attributeOwnershipAcquisition
5、可获得的所有权获取:attributeOwnershipAcquisitionIfAvailable
6、协商的所有权放弃:attributeOwnershipDivestitureIfWanted
7、拒绝所有权放弃:attributeOwnershipReleaseDenied
8、撤销所有权转移:cancelAttributeOwnershipAcquisition,cancelNegotiatedAttributeOwnershipDivestiture
9、查询所有权:queryAttributeOwnership,isAttributeOwnedByFederate
时间管理服务如图12所示,所述时间管理服务包括:
1、时间管理策略设置:enableTimeRegulation,disableTimeRegulation;enableTimeConstrained;,disableTimeConstrained
2、时间推进服务:timeAdvanceRequest,timeAdvanceRequestAvailable,nextMessageRequest,nextMessageRequestAvialable,flushQueueRequest;
3、异步提交设置:enableAsynchronousDelivery,disableAsynchronousDelivery
4、查询服务:queryGALT、queryLogicalTime、queryLITS、queryLookahead;
5、调整服务:modifyLookahead,changeAttributeOrderType,changeInterationOrderType
6、回退服务:retract
数据分发管理服务如图13所示,所述数据分发管理服务包括:
1、创建和删除服务:createRegion,deleteRegion
2、修改服务:commitRegionModifications
3、注册服务:registerObjectInstanceWithRegion
4、关联服务:associateRegionForUpdates,unassociateRegionForUpdates
5、区域限定的公布订购:subscribeObjectClassAttributeWithRegions,unsubscribeObjectClassAttributesWithRegions,subscribeInteractionClassWithRegions,unsubscribeInteractionClassWithRegions
6、区域限定的消息发送:sendInteractionWithRegions,requestAttributeValueUpdateWithRegions
7、自动分离指令设置:getAutomaticResignDirective,setAutomaticResignDirective
除了以上各服务,系统还包括辅助服务,如图14所示,所述辅助服务包括:
1、获取所有FDD定义的对象类、交互类、对象属性、交互参数的句柄、名称、传输类型、消息类型:getObjectClassHandle,getObjectClassName,getAttributeHandle,getAttributeName,InteractionClassHandle,getInteractionClassName,publicParameterHandle,getParameterHandle,getParameterName,getObjectInstanceHandle,getObjectInstanceName
2、数据分发辅助服务。获取所有属性、参数对应区域、区域中每维的名称、句柄、上下限:getDimensionHandle,getDimensionName,getRangeBounds,setRangeBounds,getDimensionUpperBound,getAvailableDimensionsForClassAttribute,getAvailabelDimensionsForInterationClass,getDimensionHandleSet
3、数据传输辅助服务:getTransportationType,getTransportationName,getOrderType,getOrderName
4、设置消息提示开关,包括仿真实例相关提示和交互相关提示:nableObjectClassRelevanceAdvisorySwitch,isableObjectClassRelevanceAdvisorySwitch,nableAttributeRelevanceAdvisorySwitch,disableAttributeRelevanceAdvisorySwitch,enableAttributeScopeAdvisorySwitch,disableAttributeScopeAdvisorySwitch,enableInteractionRelevanceAdvisorySwitch,isableInteractionRelevanceAdvisorySwitch
5、各类句柄和数据类型的编码和解码:encodeObjectClassHandle,decodeObjectClassHandle,encodeInterationClassHandle,decodeInterationClassHandle,encodeObjectClassHandle,decodeObjectClassHandle,encodeObjectInstanceHandle,decodeObjectInstanceHandle,encodeParameterHandle,decodeParameterHandle,encodeAttributeHandle,decodeAttributeHandle,encodeDemensionHandle,decodeDemensionHandle,encodeFederateHandle,decodeFederatehandle,encodeHLAinteger64Time,decodeHLAinteger64Time,encodeHLAinteger64TimeInterval,decodeHLAinteger64TimeInterval,encodeHLAfloat64Time,decodeHLAfloat64Time,increaseHLAinteger64TimeByEpsilon,decreaseHLAinteger64TimeByEpsilon,increaseHLAfloat64TimeByEpsilon,decreaseHLAfloat64TimeByEpsilon,normalizeFederateHandle,normalizeServiceGroup
6、回调相关服务,包括回调的启用和禁用、多回调的使用等:enableCallbacks,disableCallbacks,evokeMutipleCallbacks
7、消息传输参数:getOrderType,getOrderName,getTransportationTypeHandle,getTransportationTypeName
基于JSON的消息是为了在实验室条件下,对不同平台及各种语言生成的仿真邦员的集成,其特点是小巧、高速并且通用。
JSON可以描述复杂的数据类型,但其弱点是数字数据类型存在不足,只有一个数字类型,无法区分整数、小数等类型。但由于HLA的FOM中已经对所有的属性、参数进行了完整定义,因此,可以在FOM文档的指导下对数据进行区分和处理。
JSON消息体系是邦员与RTI之间进行交互的消息格式及其类型。图15给出了基于JSON的联邦服务消息体系。其中IMessage是所有服务调用和返回的基类,它有FederationHandle,Sender和Service 3个成员。其中FederationHandle表示在多联邦条件下的联邦句柄,Sender则是调用服务的邦员名称,Service则是该消息对应的联邦服务ID。
由IMessage向下扩展,可以得到四类消息其中RTI服务消息是包含了HLA联邦服务中非时间相关的服务调用,包括RO消息类型;JrtiException则是在邦员和CRC之间传输的异常消息;ReturnMessag是联邦服务调用的返回结果,其中的returnValue成员是一个JSON对象,根据不同的服务返回不同的对象。
TMessage是IMessage子类,它用于表示带有时间的服务调用,包括TSO消息,包括属性更新、交互发送和删除实例及时间推进服务。
为了在实验室条件下取得最大的性能,系统采用了当前最高效的消息队列组件来实现局域网条件下的消息通信。Zero MQ是一种开源的高速网络通信组件,它实现了多种模式的消息传输;具有30多种编程语言的编程接口和开发包,具备跨平台和跨语言能力;在与多种消息中间件比较测试中,它的数据传输速度远远超越了其他消息中间件。
CRC是RTI核心模块,LRC则是邦员接口模块。如图16所示,PUB为公布方端点,SUB为订购方法端点,REQ为请求方端点,REP为回应方端点。CRC是核心RTI组件,LRC为邦员本地RTI组件。为了实现高的呑吐率,在CRC与LRC之间建立高速的PUB/SUB通道,实现CRC到LRC的单向高速传输;为了实现双向数据通信,又建立了一个REQ/REP双向辅助通道,这样保证CRC与LRC之间的高速通信。
邦员有大量的通信可以不经过CRC进行中转。所以需要建立邦员LRC之间的高速通信通道。如图17所示,系统采用了MQ的PAIR通信模式,实现邦员的点对点通信,提高了系统传输效率。AIR(pair)为MQ通信部件的一种通信方式,即一对终端以自由方式结对,通信采用全双工异步方式自由进行。但该方式通信不能进行1对多、多对1和多对多方式的通信。LRC为本地邦员组件。
为了实现仿真实验的多次采样,需要在随机条件下进行多次运行,最终得到统计结果。系统对HLA对象管理进行了扩展,采用了基于XML和JSON扩展的对象管理来完成这一功能。
实验配置采用XML实现,图18给出了某作战仿真实验的初始配置。其中给出了实验方案和邦员初始化数据集。配置分为三个部分:
1、RTI的地址和端口号
2、实验的配置,包括实验ID、想定ID、作战方案ID,实验运行次数、结束条件及每次随机数的产生条件。其中结束条件分为三种:时间条件、仿真交互条件和实体状态条件。这些条件由联邦中的特定邦员判定。
3、联邦初始化数据。包括每个邦员中每个实体的初始化数据。
这些初始化数据,是由RTI前端通过对所有邦员服务接口调用实现,也可以在FOM中定义初始化交互类实现。
图中包括RTI配置和联邦配置。
1、RTI配置:rti_host是RTI核心所在节点的IP地址;rti_front_port是RTI核心前端端口号,用于接收RTIAmbassador JSON消息;rti_back_port是RTI核心后端端口号,用于发送RTIFederateAmbassador JSON消息;rti_service_url是RTI web服务的URL;rti_service_soapAction和rti_service_namespace是RTI web服务的动作和名字空间参数;FDDID是唯一标识联邦定义文档的符号。
2、联邦配置:rtiAmbPort和fedAmbPort是指邦员发送和接收JSON消息的端口;lrc_service_url是邦员web服务的URL;lrc_service_soapAction和lrc_service_namespace是RTI web服务的动作和名字空间参数;federate为邦员配置,其中contructure为仿真邦员的仿真实例组成,element用于配置每个仿真实例,其中objectClass是其所属对象类句柄,instanceName是实例名称,inidata是该实例的初始化信息,包括实例属性名称、类型和值。
为了保证RTI对多次实验的控制,系统对HLA对象管理进行了扩展,其目的是保证邦员在每次运行前对本地现有实例表的清理,使邦员顺利实现对初始实例的生成。
扩展的第1步是建立邦员本地实例表,并实现LRC与邦员共享该实例表。图19给出了实例表的结构。为了使LRC与邦员共享实例表,联邦成员需要按上面的结构完成这一表的构建。其中实例表内包含一个对象实例的映射表(Map),该实例表在退出联邦时由LRC进行清理,以便于下次实验的初始化,并保证在不断重复运行中实例表不会出现问题。
HLA对象管理服务扩展包括以下几个方面:
(1)新增setObjectInstanceTable和getObjectInstanceTable服务
通过该服务LRC与邦员共享所有注册和发现的实例,实例表中的实例项由LRC负责维护,而实例属性值由联邦成员维护。如果联邦成员试图修改除属性值以外的元素,则会引起异常RTIInternalError。
(2)当调用registerObjectInstance和discoverObjectInstance时,LRC会在实例表中增加一个实例项,并填写其句柄、名称和属性。
(3)当调用deleteObjectInstance和removeObjectInstance时,LRC会将该删除的实例从实例表中删除。但如果本邦员如果拥有该实例的属性时,会引起相应的异常。
(4)当调用所有权转移服务时。在接到所有权移出或移入消息后,LRC负责修改属性的OwnedBy成员。
(5)当联邦成员调用resignFederation服务时,LRC需要根据邦员的退出选项,删除实例表中的所有实例项,以便于下一次运行时的初始化过程。
以上五项扩展是为了在重复仿真过程中实现对仿真实体进行管理而对现有服务的扩展,其扩大了对象管理的范围,从而保证仿真支撑平台实现对联邦成员所有实体的管理。
本申请实施例所述的系统采用了可配置的分布式运行结构设计,通过对RTI和邦员进行配置,可以实现局域、广域及局域与广域结合的联邦分布式运行模式。图18中给出了联邦的配置文档结构,RTI可选两种通信模式,即消息队列和Webservice。
(1)消息队列通信模式。在RTI配置项中,rti_host、rti_front_port、rti_back_port用于设置消息队列模式下的CRC(rti核心模块)的地址和端口号,其中rti_front_port为上行端口号(REQ/REP模式),rti_back_port为下行端口号(PUB/SUB模式)。在每个联邦(federation)设置中,lrc_port用于指定使用消息队列时邦员之间lrc通信时的端口号,且每个邦员(federate)设置中,均给出了各邦员的地址。
(2)WebService通信模式。在RTI和邦员配置中,rti_service_url、rti_service_soapAction和rti_service_namespace用于配置CRC服务的URL、soapAction和命名空间;lrc_service_url、lrc_service_soapAction和lrc_service_namespace用于配置各个邦员LRC的URL、soapAction和命名空间。
通过系统配置,所有系统可以灵活地部署在局域网环境和广域网环境。下图给出了一种基于广域的应用场景。图20是一个广域条件下的作战训练应用,其被广域网分割为3个区域,模型区域集中了所有的仿真模型,它们运行在高分辨率或多分辨率下,各邦员之间采用消息队列满足模型之间的高速通信;控制区域则分布了人在回路节点,用于指挥人员将作战方案输入系统;决策分析区域则用于战略、战役首长进行态势分析和战略决策。
局域网中所有邦员采用高速的消息队列进行通信,而所有广域通信则采用WebService进行,保证所有通信不会出现障碍。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、获取其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质。
专业人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元,能够以电子硬件、计算机软件或者二者的结合来实现。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

Claims (10)

1.一种仿真运行支撑系统,包括:
联邦管理模块,其配置成进行联邦的创建和销毁、联邦的加入和退出、联邦的保存和恢复、以及联邦的同步;
声明管理模块,其配置成对象类属性层次上,在联邦成员之间建立公布和订购的关系;
扩展的对象管理模块,其配置成采用采用基于XML和JSON扩展的对象管理来管理仿真模型之间的互操作过程,实现LRC实体级管理;
时间管理模块,其配置成通过对时间管理,使仿真事件过程与真实事件发生过程顺序一致,以及使各个联邦成员对于仿真事件发生过程的观察一致;
所有权管理模块,其配置成在邦员之间转移实体属性;和
数据分发管理模块,其配置成在实例属性层次上,在联邦成员之间建立公布和订购的关系。
2.根据权利要求1所述的仿真运行支撑系统,其特征在于,对于实验室条件下的仿真,各邦员之间使用“消息中间件+JSON消息”实现高速的仿真交互。
3.根据权利要求2所述的仿真运行支撑系统,其特征在于,CRC与LRC之间设置有高速的PUB/SUB通道。
4.根据权利要求2所述的仿真运行支撑系统,其特征在于,所述CRC与LRC之间还设置有REQ/REP双向辅助通道。
5.根据权利要求2至4中任一项所述的仿真运行支撑系统,其特征在于,邦员与邦员之间采用MQ的PAIR通信模式通信。
6.根据权利要求1或2所述的仿真运行支撑系统,其特征在于,对于广域条件下的作战训练和人在回路模型系统,各邦员之间选用“消息中间件+JSON消息”或WebService方式进行通信,支持多种软件平台和网络类型。
7.根据权利要求1至6中任一项所述的仿真运行支撑系统,其特征在于,所述扩展的对象管理模块包括:
配置子模块,其配置成采用XML实现多次实验运行配置;和
本地对象实例管理子模块,其配置成对HLA对象管理机制进行扩展,使邦员生成初始实例并在运行结束或新联邦运行开始前自动清理已经生成的实例。
8.根据权利要求7所述的仿真运行支撑系统,其特征在于,所述配置子模块包括:
地址和端口号配置单元,其配置成对地址和端口号进行配置;
实验配置单元,其配置成对实验ID、想定ID、作战方案ID,实验运行次数、结束条件及每次随机数的产生条件进行配置;和
联邦初始化数据配置单元,其配置成对每个邦员中每个实体的初始化数据进行配置。
9.根据权利要求7所述的仿真运行支撑系统,其特征在于,所述本地对象实例管理子模块包括:
本地实例表建立单元,其配置成建立邦员本地实例表,所述邦员本地实例表由LRC与邦员共享;
HLA对象管理服务扩展单元,其配置成采用setObjectInstanceTable和getObjectInstanceTable服务使LRC与邦员共享所有注册和发现的实例。
10.根据权利要求9所述的仿真运行支撑系统,其特征在于,所述本地对象实例管理子模块还包括:
实例增加单元,其配置成当registerObjectInstance和discoverObjectInstance被调用时,LRC在实例表中增加一个实例项,并填写该实例项的句柄、名称和属性;
第一实例删除单元,其配置成当deleteObjectInstance和removeObjectInstance被调用时,LRC将被选择的实例从实例表中删除;
所有权转移单元,其配置成当所有权转移服务被调用、并且在接到所有权移出或移入消息后,LRC修改属性的OwnedBy成员;和
第二实例删除单元,其配置成当resignFederation服务被联邦成员调用时,LRC根据邦员的退出选项,删除实例表中的所有实例项。
CN202011016770.7A 2020-09-24 2020-09-24 一种仿真运行支撑系统 Pending CN112256386A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011016770.7A CN112256386A (zh) 2020-09-24 2020-09-24 一种仿真运行支撑系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011016770.7A CN112256386A (zh) 2020-09-24 2020-09-24 一种仿真运行支撑系统

Publications (1)

Publication Number Publication Date
CN112256386A true CN112256386A (zh) 2021-01-22

Family

ID=74232642

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011016770.7A Pending CN112256386A (zh) 2020-09-24 2020-09-24 一种仿真运行支撑系统

Country Status (1)

Country Link
CN (1) CN112256386A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113255163A (zh) * 2021-06-24 2021-08-13 清华大学 基于分布式仿真技术的关联基础设施系统建模方法及装置
CN114221957A (zh) * 2021-11-30 2022-03-22 中国电子科技网络信息安全有限公司 一种联邦管理系统

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101055530A (zh) * 2006-12-31 2007-10-17 中国人民解放军63791部队 面向航天测控的基于hla的嵌入式分布仿真平台及其实现方法
CN102662681A (zh) * 2012-04-25 2012-09-12 清华大学 基于hla的分布式仿真通用支撑平台及其实现方法
CN102664954A (zh) * 2012-04-25 2012-09-12 清华大学 基于hla的分布式仿真支撑平台及其实现方法
CN103077068A (zh) * 2012-12-27 2013-05-01 北京仿真中心 一种基于共享内存的高性能仿真系统实现方法
CN104463492A (zh) * 2014-12-23 2015-03-25 国家电网公司 一种电力系统云仿真平台的运营管理方法
CN108762892A (zh) * 2018-06-07 2018-11-06 北京仿真中心 一种云仿真协同仿真模式的资源配置方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101055530A (zh) * 2006-12-31 2007-10-17 中国人民解放军63791部队 面向航天测控的基于hla的嵌入式分布仿真平台及其实现方法
CN102662681A (zh) * 2012-04-25 2012-09-12 清华大学 基于hla的分布式仿真通用支撑平台及其实现方法
CN102664954A (zh) * 2012-04-25 2012-09-12 清华大学 基于hla的分布式仿真支撑平台及其实现方法
CN103077068A (zh) * 2012-12-27 2013-05-01 北京仿真中心 一种基于共享内存的高性能仿真系统实现方法
CN104463492A (zh) * 2014-12-23 2015-03-25 国家电网公司 一种电力系统云仿真平台的运营管理方法
CN108762892A (zh) * 2018-06-07 2018-11-06 北京仿真中心 一种云仿真协同仿真模式的资源配置方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113255163A (zh) * 2021-06-24 2021-08-13 清华大学 基于分布式仿真技术的关联基础设施系统建模方法及装置
CN114221957A (zh) * 2021-11-30 2022-03-22 中国电子科技网络信息安全有限公司 一种联邦管理系统

Similar Documents

Publication Publication Date Title
Cheng et al. FogFlow: Easy programming of IoT services over cloud and edges for smart cities
US6782420B1 (en) Telecommunications network with a distributive network management system
CN105335221B (zh) 基于可重构的分布式软件总线
US6789090B1 (en) Virtual network displaying system
CN107040416B (zh) 一种基于Cairngorm框架的虚拟数据中心可视化管理方法
EP1204259B1 (en) Data management framework for policy management
CN107454092B (zh) 一种opcua与dds协议信号转换装置、通信系统及通信方法
EP2527983A2 (en) Distributing services in graph-based computations
CN103279892B (zh) 仿真运行管理服务器及其仿真对象发现方法
WO2002041552A2 (en) Application development interface for multi-user applications executable over communication networks
US7934218B2 (en) Interprocess communication management using a socket layer
CN104615489B (zh) 一种多节点数据交互的实现方法
CN112256386A (zh) 一种仿真运行支撑系统
CN109690491A (zh) 执行远程命令
Arellanes et al. Analysis and Classification of Service Interactions for the Scalability of the Internet of Things
CN110321236A (zh) 一种基于OpenDDS的远程方法调用实现方法
Chen et al. AgentGateway: a communication tool for multi-agent systems
CN115225482A (zh) 一种基于Kubernetes进行Pod容器网络配置的方法及装置
CN114676179A (zh) 一种面向盾构场景的多源异构数据交互与融合方法及系统
Garnock-Jones et al. The network as a language construct
Khan et al. Realization of interoperability & portability among open clouds by using agents mobility & intelligence
US10740348B2 (en) Application programming interface and hypergraph transfer protocol supporting a global hypergraph approach to reducing complexity for accelerated multi-disciplinary scientific discovery
Rana et al. A petri net model of the meeting design pattern for mobile-stationary agent interaction
CN110019415A (zh) 基于移动终端的云计算大数据挖掘系统
Qingge et al. A mobile agent-based prototype of heterogeneous distributed virtual environment systems

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