🍬本文摘要

2023-6-2-DIS研究-LMLPHP

研究一下DIS是个什么东西




😉一、DIS是什么

分布仿真(Distributed Simulation)是指将一个大型的仿真系统划分为多个子系统,并在不同的计算机上运行这些子系统,通过网络进行交互和协作。分布仿真技术可以大大提高仿真系统的性能和可扩展性,同时也有利于实现多源数据融合和多维度评估等功能。

DIS(Distributed Interactive Simulation)是一种基于分布仿真技术的通用仿真协议,最初由美国国防部开发,目前已成为国际标准。它定义了一个跨平台、跨语言的接口规范,使得不同厂商和组织开发的仿真模型、仿真工具、仿真场景等可以在同一个仿真系统中交互运行。

以下是DIS的主要特点:

  1. 支持多节点交互:DIS允许多个节点之间实时交互,各节点可以根据自己的状态和行为对整个仿真系统做出响应。

  2. 独立开发:DIS允许独立开发每个节点的仿真模型和仿真工具,并且这些节点可以在不同的计算机上运行,通过网络连接起来。

  3. 跨平台、跨语言:DIS可以支持多种操作系统和编程语言,包括Windows、Linux、C++、Java等。

  4. 数据一致性:DIS保证所有节点对仿真模型的状态和行为保持一致,从而实现多源数据融合和多维度评估等功能。

  5. 易于扩展:DIS支持动态加载新的仿真模型和工具,同时也可以通过插件机制进行功能扩展。

DIS是一种成熟、通用、可扩展的分布仿真技术,被广泛应用于军事、航空、航天、交通、物流等领域。它可以帮助用户快速开发高质量的仿真系统,并且提供了良好的互操作性和可扩展性,使得仿真系统更加灵活和可靠。


🐱‍🐉二、DIS中的PDU是什么

在DIS(Distributed Interactive Simulation)中,PDU表示“Protocol Data Unit”,即协议数据单元。PDU是DIS通信中的基本数据结构,它定义了交互式仿真中各个实体之间的通信格式和方式。

每个PDU包含一个头部和一个或多个数据项。头部描述了该PDU的类型、长度、发送方ID、接收方ID等信息,而数据项则包含具体的信息内容。PDU可以由不同的实体创建和接收,例如仿真模型、传感器、效果器等。

根据其功能和用途,PDU可以分为以下几类:

  1. Entity Information PDU:用于在不同节点之间传输实体的属性信息,例如实体位置、速度、朝向等。

  2. Warfare PDU:用于传输战斗相关的信息,例如攻击、防御、火力支援等。

  3. Logistics PDU:用于传输后勤相关的信息,例如物资补给、修理、运输等。

  4. Simulation Management PDU:用于管理仿真场景和仿真会话,例如开始、停止、暂停、重启等。

  5. Synthetic Environment PDU:用于传输场景相关的信息,例如地形、天气、时间等。

PDU是DIS通信中的基本单位,通过定义不同类型的PDU,各个实体之间可以共享信息并实现复杂的仿真行为。


🎉三、DIS规则书写

在txt文件中编写DIS(Distributed Interactive Simulation)的应用规则时,需要在文件中定义和描述每个实体的属性信息,并按照一定的格式组织和表示这些信息。在dis_interface和end_dis_interface之间的内容就是这些实体属性信息的具体描述。

下面是一个示例:

dis_interface
# 定义实体属性信息
EntityID=1
EntityType=3 # 机动车辆
Latitude=31.23
Longitude=121.47
Altitude=50
Velocity=20
Heading=90
# ......其他属性信息

end_dis_interface

在上面的示例中,dis_interface和end_dis_interface之间的内容用于定义实体的属性信息。通过EntityID可以唯一标识一个实体,而EntityType表示实体类型,Latitude、Longitude、Altitude表示实体的位置信息,Velocity表示速度,Heading表示朝向等。除此之外,还可以定义其他属性信息,例如装备、武器、传感器等等。

需要注意的是,在编写应用规则时,需要遵循DIS协议的规范,并且确保所编写的信息和实体属性符合实际需求和场景要求。同时,应该将应用规则保存为文本文件,并使用特定的工具或程序进行解析和处理,以实现多个节点之间的实时交互和通信。


🐱‍🚀四、DIS协议规范

在编写应用规则时,需要遵循DIS(Distributed Interactive Simulation)协议的规范,以保证实体之间的信息交互和通信正确有效。下面是一些主要的规范:

  1. PDU格式规范:PDU(Protocol Data Unit)是DIS通信中的基本数据单元,每个PDU包含一个头部和一个或多个数据项。PDU格式规范描述了每个PDU的结构和字段,例如头部长度、数据类型、发送方ID、接收方ID等。

  2. 实体属性规范:实体属性规范定义了各种实体的属性信息,例如位置、速度、朝向、状态等。这些信息需要根据特定的实体类型进行编码,并按照协议规范进行传输和解析。

  3. 仿真场景规范:仿真场景规范描述了DIS仿真系统中的地形、建筑、天气、时间等方面的信息。这些信息需要按照标准格式进行表示和编码,并且通过网络传输到DIS节点上。

  4. 系统配置规范:系统配置规范包括所有参与DIS仿真系统的计算机、软件和设备的具体配置和参数。这些信息需要在系统安装和配置时进行设置,并且需要确保不同节点之间的设置和参数一致。

  5. 交互性规范:交互性规范定义了各个实体之间的交互方式和协议。例如,不同实体之间可以通过哪些PDU进行通信,如何处理数据冲突和错误,以及如何处理并发操作等。

  6. 数据一致性规范:数据一致性规范是DIS协议中一个非常重要的方面,它确保所有节点对仿真模型的状态和行为保持一致。这需要在设计和编写应用规则时,考虑到不同实体之间的数据传输、更新和同步,以确保系统的稳定性和可靠性。

总之,在编写应用规则时,需要仔细研究和理解DIS协议的规范,并严格按照标准格式进行编码和表示。同时,应该使用专业的工具和软件进行测试和验证,以确保各个实体之间的信息交互和通信正确无误。


🎂五、PDU格式规范

在DIS(Distributed Interactive Simulation)中,PDU(Protocol Data Unit)是通信的基本数据单元。PDU格式规范描述了每个PDU的结构和字段,确保各个节点之间可以正确传输和解析数据。

以下是一些主要的PDU格式规范:

  1. PDU头部:每个PDU包含一个固定长度的头部,用于标识该PDU的类型、长度、发送方ID、接收方ID等信息。头部包含16字节的固定长度字段,格式如下:
| 8 bits |               8 bits                  |
-------------------------------------------------
| PDU Type |    Protocol Family (Reserved)       |
-------------------------------------------------
|                PDU Length (in bytes)           |
-------------------------------------------------
|                 PDU Status (Reserved)          |
-------------------------------------------------
|                  Timestamp                    |
-------------------------------------------------
|      Sender Entity ID (Site + App + Entity)    |
-------------------------------------------------
|     Receiver Entity ID (Site + App + Entity)   |
-------------------------------------------------
  1. 数据项:PDU的数据项指的是具体的信息内容,例如实体属性、装备、武器等。不同类型的PDU有不同的数据项,但都必须按照特定的格式进行编码和表示,以确保各个节点之间可以正确解析。

  2. 对齐方式:为了减少网络传输和计算的负担,PDU需要采用特定的对齐方式进行填充。在DIS中,采用32位对齐方式,即每个数据项长度必须是4的倍数,不足4字节的需要进行填充。

  3. PDU类型:PDU类型指的是PDU所表示的信息内容,例如实体属性、战斗、后勤等。每个PDU必须包含一个类型字段,用于标识该PDU属于哪种类型。

  4. PDU长度:PDU长度指的是该PDU数据项的总长度,包括头部和所有数据项。该长度需要在头部中进行标识,并且需要遵循特定的格式进行编码和解析。

PDU格式规范是DIS通信中非常重要的一部分,它定义了PDU的结构、字段、对齐方式和编码方式,确保各个节点之间可以正确传输和解析数据。在编写应用规则时,需要仔细研究和理解PDU格式规范,并根据实际需求和场景要求进行编码和表示。


🍳参考文献

🧊文章总结

提示:这里对文章进行总结:

  这里只是简单提及,更多的知识留在脑袋里,因为天机不可泄漏。






更多好文推荐

🍸2021-4月Python 机器学习——中文新闻文本标题分类
🍹2021年4月-(计算机网络)小型校园网络模拟搭建,最全最准确版
🍺2022-10-31-基于用户的协同过滤推荐算法实现+MAE+RMSE
🍻2022-11-28-大数据可视化,特征维度大于50
🥂2023-3-9-一篇简短的文章把C++左右值关系讲的透透彻彻

06-02 21:03