CN106951310A - 一种面向lvc的仿真框架的自动生成方法 - Google Patents
一种面向lvc的仿真框架的自动生成方法 Download PDFInfo
- Publication number
- CN106951310A CN106951310A CN201610007065.8A CN201610007065A CN106951310A CN 106951310 A CN106951310 A CN 106951310A CN 201610007065 A CN201610007065 A CN 201610007065A CN 106951310 A CN106951310 A CN 106951310A
- Authority
- CN
- China
- Prior art keywords
- template
- lvc
- simulation
- simulation frame
- file
- 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
Links
Classifications
-
- 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/46—Multiprogramming arrangements
- G06F9/465—Distributed object oriented systems
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开一种面向LVC的仿真框架的自动生成方法,包括如下步骤:S1、构建基于状态分布对象模式、消息模式和数据流模式的对象模型的交互机制;S2、使用Slice语言定义对象模型,并自动生成对象模型的代码;S3、定义用户输入信息的XML描述文件;S4、定义基于标记的模板与基于编程的模板结合的仿真框架模板文件,使用对象模型代码和XML描述文件生成仿真框架的系统整体架构;S5、建立全局时钟,同步仿真成员的物理时间,生成面向LVC的仿真框架。本发明提高了仿真系统的生成效率。
Description
技术领域
本发明涉及仿真框架的自动生成方法。更具体地,涉及一种面向LVC的仿真框架的自动生成方法。
背景技术
实况仿真(Live Simulation)是指真实的人使用实际装备在实际战场的假象行动,主要使用于试验与训练领域。构造(Constructive)仿真是一种战争演练和分析工具,通常由模拟的人操纵模拟的系统。虚拟(Virtual)仿真是指系统和军队在合成战场上模拟作战,往往表现为真人操纵模拟系统。LVC仿真指在仿真系统中同时具有实况仿真、虚拟仿真、构造仿真三种类型的仿真。目前在建模与仿真(主要是指虚拟仿真和构造仿真)、试验与训练(主要是实况仿真)两个领域内部都具备了初步的互操作能力,如基于高层体系结构(High Level Architecture)的仿真系统主要应用于虚拟和构造仿真,试验与训练使能体系结构(TENA)针对靶场领域,主要支持实况仿真,模型与仿真的可重用和可组合也有了一定的基础,但在建模与仿真、试验与训练两个领域之间的互操作能力比较差,仿真和模型的可重用性、可组合性与需求相比距离还比较远。如何保证实况仿真对实时性的要求,并且协调虚拟和构造仿真中的时间推进,是面向LVC的仿真中需解决的问题。
因此,需要提出一种面向LVC的仿真框架的自动生成方法。
发明内容
本发明的目的在于提供一种面向LVC的仿真框架的自动生成方法,支持虚拟仿真、构造仿真或实况仿真三种类型中的任何一种或多种类型的组合,解决建模与仿真、试验与训练两个领域之间互操作性,以及模型与仿真的可重用性和可组合性问题。
为达到上述目的,本发明采用下述技术方案:
一种面向LVC的仿真框架的自动生成方法,该方法包括如下步骤:
S1、构建基于状态分布对象模式、消息模式和数据流模式的对象模型的交互机制;
S2、使用Slice语言定义对象模型,并自动生成对象模型的代码;
S3、定义用户输入信息的XML描述文件;
S4、定义基于标记的模板与基于编程的模板结合的仿真框架模板文件,使用对象模型代码和XML描述文件生成仿真框架的系统整体架构;
S5、建立全局时钟,同步仿真成员的物理时间,生成面向LVC的仿真框架。
优选地,步骤S1中状态分布对象为在仿真事件期间内生存时间非零且状态演变的对象,包括对象接口和公共状态。
优选地,步骤S4中基于标记的模板使用变量替换,变量替换指根据模板中声明的变量在XML描述文件中查询,并用查询得到的值替换模板中对应的变量;基于编程的模板包括foreach语句、if语句、嵌套语句、内置函数、模板参数、外链模板和数据域转换。
本发明的有益效果如下:
本发明通过定义状态分布对象SDO,克服了传统分布对象系统不直接支持订阅/发布机制,而传统订阅/发布系统不提供方法的对象抽象的问题;且本发明通过模板实现了仿真框架的自动生成,其输入文件包括XML描述文件、模板、Slice对象模型定义,自动生成仿真框架,提高了仿真系统的生成效率,帮助非仿真专业人员快速构建仿真系统。
附图说明
下面结合附图对本发明的具体实施方式作进一步详细的说明。
图1示出面向LVC的仿真框架的自动生成方法的流程图。
具体实施方式
为了更清楚地说明本发明,下面结合优选实施例和附图对本发明做进一步的说明。附图中相似的部件以相同的附图标记进行表示。本领域技术人员应当理解,下面所具体描述的内容是说明性的而非限制性的,不应以此限制本发明的保护范围。
本实施例提供的面向LVC的仿真框架的自动生成方法,包括如下步骤:
S1、构建基于状态分布对象模式、消息模式和数据流模式的对象模型的交互机制;
S2、使用Slice语言定义对象模型,并自动生成对象模型的代码;
S3、定义用户输入信息的XML描述文件;
S4、定义基于标记的模板与基于编程的模板结合的仿真框架模板文件,使用对象模型代码和XML描述文件生成仿真框架的系统整体架构;
S5、建立全局时钟,同步仿真成员的物理时间,生成面向LVC的仿真框架。
其中
步骤S1“构建基于状态分布对象模式、消息模式和数据流模式的对象模型的交互机制”的具体过程为:
分布式仿真的重点是仿真成员的交互,因此,第一步是构建对象模型的交互机制。在面向LVC的仿真框架中,对象模型的交互机制包括基于状态分布对象、消息和数据流这三种模式的交互:
状态分布对象SDO是指在仿真事件期间内生存时间非零且状态演变的对象,是分布对象计算DOC和以数据为中心的匿名公布与订购数据交换机制相结合的产物。一个SDO包含两部分:一个是对象接口,给包含本SDO的仿真成员的方法提供位置透明、可远程激活的接口;另一个是公共状态,可从建立某个SDO的实例的应用传送给所有通过订购表明对该SDO感兴趣的应用的公共数据。SDO的特点是既有方法又有公共状态,同时,SDO实现了聚合,即一个SDO中可包含其他的SDO,这样在定义对象模型的过程中,可采用自底向上的方法,重用小的“积木”对象。
消息是单个信息“包”,通过“事件通道”传送,定义为数值类型。它同SDO一样支持单一继承、多重继承以及聚合,主要用于一个应用到多个应用的通讯。
数据流表示连续的、周期性的信息流,比如音频、视频、遥测信息等。实现为SDO公共状态中的一个特殊的“流缓冲器StreamBuffer”属性。流本身由“帧”系列组成。有许多类型的帧跟某单个流关联。每帧被编码成一个或多个数值类型valuetype或一维数组vector。最简单的帧是一种无类型的一维字节数组,需要的话可以构造更详细的帧。
步骤S2“使用Slice语言定义对象模型,并自动生成对象模型的代码”的具体过程为:
Slice语言独立于特定编程语言,由编译器对其进行编译,生成特定语言代码。编译器定义了一些规则,称为语言映射,决定怎样把每个Slice成分翻译到特定语言,从而实现自动生成对象模型无缝连接到应用所需的代码。
步骤S3“定义用户输入信息的XML描述文件”的具体过程为:
用户输入信息(直接描述)用XML描述文件表达,直接描述可替换模板中的动态内容。若用户输入足够多的信息,则利用XML的分层结构实现仿真系统的整体架构。在仿真框架自动生成时,通过解析XML文件可实现模板内容替换。
XML描述文件的总体设计为:
将仿真框架的系统整体架构的根元素定义为Servers,在仿真框架的系统整体架构中添加三种基本元素Server、Grid、Storm,数量分别为0到多个。用户可以根据需要为各基本元素添加其子元素和属性,在保证需求逻辑正确的前提下,这是一种上下文无关的描述方式。
同层次元素可以重名。例如元素Server的直接子元素adapter可以有多个。
不同层次的元素的逻辑结构为并列关系时可以重名,否则不可重名。例如元素interface的树形结构为server-slice-interface,当interface从属于不同的slice时则不同层,但它们的树形结构相同,故在逻辑上认为是并列关系,则此时可以重名;又如evictor在树server-freeze-evictor和树server-slice-interface-evictor中为不同层,结构上也不是并列关系,则这样的定义视为错误,若interface的确需要描述evictor信息,可将evictor设置为interface的属性。
元素的主属性在当前层次唯一标示元素,有且仅有一个,其他属性具有不确定性,同种元素的属性数量可以不一样。例如元素interface主属性name是必须设置的,可选属性有namespace、topic等,有些属性虽然不是主属性但也必须设置元素才有意义,如interface的realize属性。
步骤S4“定义基于标记的模板与基于编程的模板结合的仿真框架模板文件,使用对象模型代码和XML描述文件生成仿真框架的系统整体架构”的具体过程为:
定义基于标记的模板与基于编程的模板结合的仿真框架模板文件,描述仿真框架的系统整体架构(间接描述),基于标记的模板使用变量替换,基于编程的模板包括选择、循环语句、内置函数、外链模板等。变量替换指根据模板中声明的变量在XML描述文件中查询,并用查询得到的值替换模板中对应的变量。声明文件指自动生成的对象模型代码文件,包含在仿真框架的系统整体架构中。编程语句包含foreach语句、if语句、嵌套语句、内置函数、模板参数、外链模板、数据域转换等。
步骤S5“建立全局时钟,同步仿真成员的物理时间,生成面向LVC的仿真框架”的具体过程为:
为了保证LVC三种类型的仿真推进,使用专门的时间服务器建立全局时钟。仿真成员通过定时“报时”,保证其时间推进与物理时钟一致。仿真成员的逻辑时钟不能超过中心服务器的逻辑时钟,而且中心服务器和子服务器之间网络传输的只是一些同步服务请求和时钟推进请求,网络的流量不会出现“拥塞”现象。
显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定,对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动,这里无法对所有的实施方式予以穷举,凡是属于本发明的技术方案所引伸出的显而易见的变化或变动仍处于本发明的保护范围之列。
Claims (3)
1.一种面向LVC的仿真框架的自动生成方法,其特征在于,该方法包括如下步骤:
S1、构建基于状态分布对象模式、消息模式和数据流模式的对象模型的交互机制;
S2、使用Slice语言定义对象模型,并自动生成对象模型的代码;
S3、定义用户输入信息的XML描述文件;
S4、定义基于标记的模板与基于编程的模板结合的仿真框架模板文件,使用对象模型代码和XML描述文件生成仿真框架的系统整体架构;
S5、建立全局时钟,同步仿真成员的物理时间,生成面向LVC的仿真框架。
2.根据权利要求1所述的面向LVC的仿真框架的自动生成方法,其特征在于,步骤S1中状态分布对象为在仿真事件期间内生存时间非零且状态演变的对象,包括对象接口和公共状态。
3.根据权利要求1所述的面向LVC的仿真框架的自动生成方法,其特征在于,步骤S4中基于标记的模板使用变量替换,变量替换指根据模板中声明的变量在XML描述文件中查询,并用查询得到的值替换模板中对应的变量;基于编程的模板包括foreach语句、if语句、嵌套语句、内置函数、模板参数、外链模板和数据域转换。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610007065.8A CN106951310A (zh) | 2016-01-06 | 2016-01-06 | 一种面向lvc的仿真框架的自动生成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610007065.8A CN106951310A (zh) | 2016-01-06 | 2016-01-06 | 一种面向lvc的仿真框架的自动生成方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106951310A true CN106951310A (zh) | 2017-07-14 |
Family
ID=59466262
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610007065.8A Pending CN106951310A (zh) | 2016-01-06 | 2016-01-06 | 一种面向lvc的仿真框架的自动生成方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106951310A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107872527A (zh) * | 2017-11-21 | 2018-04-03 | 中国运载火箭技术研究院 | 一种lvc一体化远程方式云服务系统及方法 |
CN108595171A (zh) * | 2018-04-27 | 2018-09-28 | 广州视源电子科技股份有限公司 | 对象的模型生成方法、装置、设备及存储介质 |
CN115688495A (zh) * | 2023-01-05 | 2023-02-03 | 中国电子科技集团公司第十五研究所 | 分布式lvc仿真体系协同筹划方法、服务器及存储介质 |
CN116108757A (zh) * | 2023-04-04 | 2023-05-12 | 中国电子科技集团公司第十五研究所 | 试训环境中多级仿真时间推进方法、服务器及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102004635A (zh) * | 2010-08-19 | 2011-04-06 | 中国船舶重工集团公司第七○九研究所 | 一种支持重用的仿真模型系统及其开发方法 |
CN102609248A (zh) * | 2011-12-28 | 2012-07-25 | 方伟 | 一种基于mda的综合航空电子系统建模仿真平台 |
-
2016
- 2016-01-06 CN CN201610007065.8A patent/CN106951310A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102004635A (zh) * | 2010-08-19 | 2011-04-06 | 中国船舶重工集团公司第七○九研究所 | 一种支持重用的仿真模型系统及其开发方法 |
CN102004635B (zh) * | 2010-08-19 | 2014-10-01 | 中国船舶重工集团公司第七0九研究所 | 一种支持重用的仿真模型系统及其开发方法 |
CN102609248A (zh) * | 2011-12-28 | 2012-07-25 | 方伟 | 一种基于mda的综合航空电子系统建模仿真平台 |
Non-Patent Citations (2)
Title |
---|
毕博等: "基于TENA的分布交互仿真程序设计", 《微电子学与计算机》 * |
谢虹等: "SOD实现技术研究", 《SOFTWARE》 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107872527A (zh) * | 2017-11-21 | 2018-04-03 | 中国运载火箭技术研究院 | 一种lvc一体化远程方式云服务系统及方法 |
CN107872527B (zh) * | 2017-11-21 | 2020-11-10 | 中国运载火箭技术研究院 | 一种lvc一体化远程方式云服务系统及方法 |
CN108595171A (zh) * | 2018-04-27 | 2018-09-28 | 广州视源电子科技股份有限公司 | 对象的模型生成方法、装置、设备及存储介质 |
CN108595171B (zh) * | 2018-04-27 | 2021-08-10 | 广州视源电子科技股份有限公司 | 对象的模型生成方法、装置、设备及存储介质 |
CN115688495A (zh) * | 2023-01-05 | 2023-02-03 | 中国电子科技集团公司第十五研究所 | 分布式lvc仿真体系协同筹划方法、服务器及存储介质 |
CN116108757A (zh) * | 2023-04-04 | 2023-05-12 | 中国电子科技集团公司第十五研究所 | 试训环境中多级仿真时间推进方法、服务器及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106951310A (zh) | 一种面向lvc的仿真框架的自动生成方法 | |
CN109447276B (zh) | 一种机器学习系统、设备及应用方法 | |
CN102622262B (zh) | 基于modelica建模语言的分布式实时交互仿真系统 | |
Tolk | Interoperability, composability, and their implications for distributed simulation: Towards mathematical foundations of simulation interoperability | |
CN109255512A (zh) | 一种基于蒙特卡洛遗传算法的高校排课方法 | |
CN108873936A (zh) | 一种基于势博弈的飞行器自主编队方法 | |
CN102622227A (zh) | 一种支持动态配置的构件模型及构件工厂 | |
CN106648658A (zh) | 面向实况/虚拟/构造混合系统的仿真方法 | |
CN102780583B (zh) | 物联网业务描述、组合和服务质量评估的方法 | |
CN111708641A (zh) | 一种内存管理方法、装置、设备及计算机可读存储介质 | |
CN105608247A (zh) | 面向ima资源安全性分析的aadl到ecpn模型转换方法 | |
CN102520941A (zh) | 一种生成可执行文档的方法及装置 | |
CN107609109A (zh) | 一种报表生成方法、装置和系统 | |
CN104063219B (zh) | 一种web系统的表格开发方法及系统 | |
CN109359331B (zh) | 基于可执行领域特定建模语言xSHS的CPS动态行为建模与仿真方法 | |
CN105022870B (zh) | 一种基于cpn的面向服务软件性能建模与仿真分析方法 | |
CN104615815B (zh) | 一种并行模型的消息传输方法及系统 | |
CN103473389B (zh) | 一种应用于hla分布式仿真技术的通用模型 | |
Kuhn et al. | A simulator coupling architecture for the creation of digital twins | |
JP5414332B2 (ja) | シミュレーション実行方法 | |
Yang et al. | Design of task workflow based on activiti technology | |
Chaves et al. | A software process simulator machine for software engineering simulation games | |
CN113656952B (zh) | 一种云边端计算环境的建模工具 | |
Liu et al. | Design of Multimedia Intelligent Teaching Platform for Preschool Curriculum Based on Edge Computing | |
CN102857571A (zh) | 组合服务仿真方法及装置 |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170714 |
|
RJ01 | Rejection of invention patent application after publication |