DDS-based Distributed Simulation System and Device

The DDS-based distributed simulation system addresses integration and synchronization challenges in flight simulator systems by using DDS middleware for data communication and subsystem management, enhancing efficiency and accuracy in flight simulation.

CN119514022BActive Publication Date: 2025-07-15CHINESE PEOPLES LIBERATION ARMY UNIT 92728
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202411567044.2
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-11-05
Publication Date
2025-07-15
Estimated Expiration
2044-11-05

AI Technical Summary

Technical Problem

The existing technology is difficult to effectively solve the problems of interconnection, interoperability, function expansion, data synchronization and interaction of various subsystems in the "human-in-loop" semi-physical real-time simulation system of aircraft. Especially in a distributed heterogeneous environment, it is urgent to achieve efficient data communication and interface adaptation.

Method used

A distributed simulation system based on DDS is adopted, including the front-end UI management subsystem, hardware resource management subsystem, simulation platform business management subsystem, simulation data recording and playback subsystem, simulation system timing synchronization subsystem and third-party bridge subsystem, data interaction and time synchronization are carried out through the DDS network to realize the integration and interconnection of each subsystem.

Benefits of technology

It realizes efficient data interaction and time synchronization of each subsystem, reduces the system pressure caused by data volume, has good scalability and synchronization, supports access and data interaction of heterogeneous systems, and improves the computing power and accuracy of the simulation system.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119514022B_ABST
    Figure CN119514022B_ABST
Patent Text Reader

Abstract

The present invention provides a DDS-based distributed simulation system and device, which can meet the requirements of accuracy in the "man-in-the-loop" semi-physical simulation process of aircraft, real-time data publication / subscription of each component, software compatibility of each professional subsystem development, interaction between third-party data and simulation data, and reusability and extensibility of models. By using the operation framework of the distributed simulation system, it supports the access of heterogeneous systems, and finally realizes the confrontation between the "man-in-the-loop" semi-physical simulation system and the computer-generated virtual opponent. The present invention adopts the HLA distributed simulation architecture concept, and through the DDS middleware, it can interact the simulation system data through a real-time network, and the interaction content includes flight simulation data, control panel data, visual HUD data, and MFD data.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of distributed computing and simulation, and in particular, to a distributed simulation system and device based on DDS. Background Art

[0002] The "human-in-the-loop" semi-physical real-time simulation system of an aircraft often consists of a complex network environment of multiple platforms and multiple subsystems, and the amount of interactive data also shows a geometric growth. In view of the complex many-to-many relationship between data sources and data requirements, and the actual situation of mutual intersection in aspects such as time, space, and data flow control. It is urgent to solve the problems of interconnection, interoperability, function expansion among simulation systems in the distributed heterogeneous environment of the software system, as well as data synchronization, interaction, expansion, bridging, and centralized solution of each system, to realize the integration of each subsystem of the "human-in-the-loop" semi-physical real-time simulation of the aircraft, and support the integration and interconnection of internal subsystems of each simulation system and other heterogeneous systems, and data interaction during joint simulation experiments, with functions such as data communication middleware, interface development, and interface adaptation, to provide efficient data interaction services and access services, and provide interfaces for future remote networking, which is an urgent need for the application of the architecture design of the "human-in-the-loop" semi-physical real-time simulation system of the aircraft. Summary of the Invention

[0003] Aiming at the defects in the prior art, the purpose of the present invention is to provide a distributed simulation system and device based on DDS.

[0004] According to the distributed simulation system based on DDS provided by the present invention, it includes:

[0005] Foreground UI management subsystem: performs human-computer interaction and realizes interconnection, interoperability, and interoperation among each subsystem based on the DDS data communication middleware;

[0006] Hardware resource management and control subsystem: centrally manages and controls the platform hardware composition and provides underlying support to the simulation service layer;

[0007] Simulation platform service management and control subsystem: manages and controls the simulation services carried by the simulation platform;

[0008] Simulation data recording and playback subsystem: stores and manages the simulation interaction data generated during the simulation process, and provides a visual analysis interface and a data playback interface;

[0009] Simulation system time synchronization subsystem: performs platform software time synchronization, uses the system time of a server or computer as a reference point, and regularly publishes time information to all nodes in the simulation system using the DDS network. After each node receives the time information, it obtains its own system time and calculates the difference, so that all nodes in the entire simulation system achieve time synchronization;

[0010] Third-party bridging subsystem: Obtain third-party system data as required, convert and inject it into the simulation platform, obtain simulation platform data as required, and inject it into the third-party system;

[0011] The front-end UI management subsystem, the hardware resource control and management subsystem, the simulation platform business control and management subsystem, and the simulation data recording and playback subsystem are connected to the master control node; the simulation system time synchronization and timing subsystem is connected to the system server through DDS; the third-party bridging subsystem is connected to the third-party system and the master control node.

[0012] Preferably, the front-end UI management subsystem includes: database configuration and network service configuration of the main control system;

[0013] Database system configuration includes scenario database configuration and entity database configuration;

[0014] Network service system configuration includes master control network service configuration, 3D situation network service configuration, and DDS network configuration;

[0015] The master control network service configuration item and the 3D situation network service configuration item have the IP address and port number of the service, and the DDS network configuration item has the network type and domain ID; the master control network service is used to provide services to the simulation nodes; the 3D situation network service provides services to the 3D environment visualization monitoring system and provides simulation data for its entities; the DDS network provides real-time data communication support for the distributed simulation system. All simulation nodes on the DDS network transmit data through the publish / subscribe mechanism, providing a data publication / subscription mode based on topics. Each subsystem realizes plug-and-play discovery and data interaction among nodes by configuring the publish / subscribe relationship.

[0016] Preferably, the hardware resource control and management subsystem includes a server and a client;

[0017] The server is used to collect and display information of each node of the platform and the working status information of each model process in the scenario, provide basic control commands for the simulation basic platform, and support the display of the network topology structure;

[0018] The client is used to receive files and commands / scripts issued by the server, collect local information of the node, system-related model process information, and report it to the server.

[0019] Preferably, the server includes:

[0020] UI: Display information of each node of the platform and the working status of each model;

[0021] Instruction / file control module: Includes initialization, start, pause, stop instructions, files, and scripts;

[0022] Data transmission module: Receives the data collected by the client in the form of messages or through communication protocols such as TCP / IP, UDP, and DDS.

[0023] Data collation module: Integrates the received node information and model information for UI display.

[0024] Preferably, the client includes:

[0025] Instruction / file receiving module: Receives the instructions, files, and scripts issued by the server.

[0026] Data collection module: Collects local node information, including CPU model, CPU occupancy ratio, memory size, memory occupancy ratio, and collects system-related model information.

[0027] Data collation module: Collates and merges the collected data in a fixed format.

[0028] Data transmission module: Reports the collected data to the server in the form of messages or through communication protocols such as TCP / IP, UDP, and DDS.

[0029] Preferably, the business management and control subsystem of the simulation platform includes:

[0030] Simulation model running environment generation module: Responsible for assembling the models required for this simulation into simulation units.

[0031] Simulation scenario configuration module: Organizes the scenario information of each aircraft equipment set by the user through the UI interface, generates all scenario information, and pushes it to each subsystem in the distributed simulation system.

[0032] Simulation platform monitoring module: During the simulation deduction process, observes in real time the process of both sides' formations performing tasks in the airspace, and observes the simulation deduction process through a 2D map and 3D situation.

[0033] Simulation platform model control module: During the simulation deduction process, can perform control operations on a simulation competition at any time, including initialization, running, pausing / resuming, and stopping.

[0034] Simulation model deployment module: Deploys and integrates the models of the simulation platform, configures component class functions to manage all configuration information related to flight experiment design and configuration management system, including system configuration, external system communication configuration, database connection configuration, scenario format configuration, and resource allocation configuration of the distributed system.

[0035] Simulation model management module: Responsible for external model inspection, uploading new models to the system, deleting existing models in the system, creating model objects, modifying model objects, deleting model objects, displaying the model list, and displaying the model object list.

[0036] Preferably, the time synchronization subsystem of the simulation system includes:

[0037] Provide a time management server tool to obtain the physical time and logical time of the time server, and publish the time information to each subsystem node through the time synchronization service of the distributed data interaction middleware, so that each node can complete time calibration and synchronization;

[0038] Apply network time synchronization technology, that is, build an NTP server within the local area network to achieve automatic time synchronization.

[0039] Preferably, the time synchronization subsystem of the simulation system includes:

[0040] Management sub-module: Responsible for starting, executing, and stopping the control of the simulation time service;

[0041] Time service sub-module: Responsible for time service operations, including timer processing, publishing the system physical time to the DDS middleware, and executing the acquisition of the physical time of the simulation system;

[0042] The time service sub-module is responsible for starting and stopping the service by the management sub-module. After the service is started, a timer is enabled to calculate and obtain the system physical reference time of the time synchronization subsystem of the simulation system at regular intervals and publish it to the DDS network;

[0043] The subsystems of each simulation system obtain the reference time data and simulation data through DDS data subscription, and then synchronize the reference time to the subsystems of each simulation system.

[0044] Preferably, the third-party bridging subsystem includes: a software bridging module and a physical device bridging module, which separates the abstraction from the implementation and replaces the inheritance relationship with a composition relationship, thereby reducing the coupling degree of the two variable dimensions of abstraction and implementation. It has an interface adaptation function and, based on the middleware, completes the data mapping of the transmission protocol with other heterogeneous systems through the bridging gateway, and realizes the access conversion and sending of the third-party system data and the simulation platform data. It supports providing functions such as time synchronization, communication protocol conversion, data interface conversion, DR processing, data collection, and data transceiver management between various aircraft simulation systems to achieve data interaction.

[0045] The distributed simulation device based on DDS provided by the present invention includes the distributed simulation system described above.

[0046] Compared with the prior art, the present invention has the following beneficial effects:

[0047] (1) Adopting a centralized server method for internal data interaction can relieve the system pressure caused by a large amount of data;

[0048] (2) By adopting the method of a third-party bridging subsystem, it is possible to access a third-party system through interface data injection, with good scalability;

[0049] (3) The system architecture adopts a data synchronization mechanism, that is, after each node finishes running a frame, it will return the completed flag to the system framework. The system framework will then advance to the next beat after receiving the completed flags of all nodes, ensuring the synchronization of the system operation;

[0050] (4) The functions of the subsystems are integrated. The foreground UI management subsystem, the hardware resource management subsystem, the simulation service management subsystem, and the simulation data recording and playback subsystem are integrated into a set of master control systems, which can make it more convenient for simulation operators to conduct simulation tests. BRIEF DESCRIPTION OF THE DRAWINGS

[0051] Other features, objectives, and advantages of the present invention will become more apparent by reading the following detailed description of non-limiting embodiments with reference to the accompanying drawings:

[0052] Figure 1 is the overall system architecture diagram;

[0053] Figure 2 is the system hardware deployment diagram;

[0054] Figure 3 is the interaction relationship diagram between modules;

[0055] Figure 4 is the composition diagram of the console foreground UI subsystem;

[0056] Figure 5 is the setting diagram of the distributed simulation system;

[0057] Figure 6 is the system structure diagram;

[0058] Figure 7 is the server structure diagram;

[0059] Figure 8 is the client structure diagram;

[0060] Figure 9 is the model management business flow diagram;

[0061] Figure 10 is the class design diagram;

[0062] Figure 11 is the class design diagram;

[0063] Figure 12 is the architecture structure diagram;

[0064] Figure 13 is the system architecture diagram;

[0065] Figure 14 It is the timing diagram for timing release;

[0066] Figure 15 It is the timing diagram for simulation node subscription;

[0067] Figure 16 It is the schematic diagram of the management module;

[0068] Figure 17 It is the timing service diagram;

[0069] Figure 18 It is the system flow chart;

[0070] Figure 19 It is the schematic diagram of interface format conversion;

[0071] Figure 20 It is the connection structure diagram of XSim and the system;

[0072] Figure 21 It is the composition structure diagram of the overall control system. Specific implementation manners

[0073] The present invention will be described in detail below in conjunction with specific embodiments. The following embodiments will help those skilled in the art to further understand the present invention, but do not limit the present invention in any form. It should be noted that for those of ordinary skill in the art, without departing from the concept of the present invention, several changes and improvements can still be made. These all belong to the protection scope of the present invention.

[0074] Embodiment

[0075] The present invention provides a design method for the framework of a distributed aircraft "human-in-the-loop" hardware-in-the-loop real-time simulation system based on the DDS specification, which can meet the requirements of accuracy in the "human-in-the-loop" hardware-in-the-loop simulation process of the aircraft, real-time data publication / subscription of each component, software compatibility of each professional subsystem development, interaction between third-party data and simulation data, as well as reusability and expandability of the model. Using the operation framework of the distributed simulation system, it supports the access of heterogeneous systems, and finally realizes the confrontation between the "human-in-the-loop" hardware-in-the-loop simulation system and the virtual opponent generated by the computer. The design method adopts the HLA distributed simulation architecture idea, and through the DDS middleware, the data of the simulation system can be interacted through the real-time network, and the interaction content includes flight simulation data, control panel data, head-up display data, and MFD data. The overall architecture of the system is as Figure 1 shown.

[0076] DDS can generate the corresponding framework code according to the idl-specified file, and users can develop the interface program for the interconnection and interoperability between simulation systems by developing the idl interface.

[0077] The system framework supports Windows and Linux systems, as well as domestic operating systems and domestic chips. The overall system adopts a "centralized-distributed" model, that is, it is deployed in a centralized manner and has a distributed architecture. The system uses DDS to achieve data interaction between nodes through subscription and publication. Due to the large amount of data and continuous expansion, the system currently uses two topics: Topic1 and Topic2. Topic1 is basic data, mainly entity, electromagnetic, and key event data, which is interacted through Ethernet and is mainly used for third-party interaction or distributed deployment; Topic2 is system data, including most of the data generated by the simulation system, which is interacted through shared memory and is used for data interaction within the simulator. It has the function of interface adaptation, can complete data mapping with the transmission protocols of other heterogeneous systems based on middleware through a bridging gateway, and realize the access conversion and sending of third-party system data and simulation platform data. It supports providing functions such as time synchronization, communication protocol conversion, data interface conversion, DR processing, data acquisition, and data transceiver management between various aircraft simulation systems to achieve data interaction. This design method can comprehensively improve the computing power of the "human-in-the-loop" semi-physical real-time simulation of aircraft, laying a foundation for providing more accurate "human-in-the-loop" semi-physical aircraft simulation training.

[0078] The simulation operation framework includes a total of six subsystems: the front-end UI subsystem of the simulation system, the hardware resource management and control subsystem of the simulation platform, the business management and control subsystem of the simulation platform, the simulation data recording and playback subsystem, the time synchronization and timing subsystem of the simulation system, and the third-party data bridging subsystem. The six subsystems conduct data interaction through DDS. The front-end UI subsystem of the simulation system is responsible for human-computer interaction, such as scenario editing; the hardware resource management and control subsystem of the simulation platform is responsible for hardware monitoring, and the business management and control subsystem of the simulation platform is responsible for the simulation process, such as simulation initialization, start, and stop; the simulation data recording and playback subsystem is responsible for data recording and playback; the time synchronization and timing subsystem of the simulation system is responsible for system synchronization; the third-party data bridging subsystem is responsible for the access of heterogeneous systems. In terms of hardware deployment, a centralized computing method is adopted, and the deployment of the six subsystems is as Figure 2 shown.

[0079] The system server is responsible for the operation and solution of the entire simulation system. The flight simulation models all run within the server, and the interaction between the flight simulation system display and control devices (mainly including MFD, visual scene, HUD, etc.) is completed through the flight simulator terminal interaction node.

[0080] Among the six subsystems of the simulation framework, the front-end UI management subsystem, the hardware resource management subsystem, the simulation business management subsystem, and the simulation data recording and playback subsystem are realized through the master control node. The time synchronization and timing subsystem of the simulation system and the third-party bridging subsystem are both implemented on separate computers.

[0081] (1) Console Front - end UI Sub - system

[0082] The console front - end UI sub - system mainly completes the human - machine interaction function. The data communication middleware based on DDS enables the interconnection, intercommunication, and interoperability among various sub - systems. The middleware adopts standard middleware technical specifications, provides the data interaction ability between nodes in the distributed system, provides a graphical human - machine interface for the integrated management and control sub - system of the simulation platform, supports the human - machine interaction between users and the simulation model management module, the simulation model running environment generation module, the simulation service control module, and the simulation data recording and playback sub - system, and supports the dynamic screen display of the simulation service monitoring module. The interaction relationship between the user and each module through operating the console front - end UI sub - system is as Figure 3 shown.

[0083] The console front - end UI sub - system is mainly divided into the main page, the simulation model management page, the simulation model running environment generation page, the simulation service control page, the simulation data recording and playback page, the simulation service monitoring page, the hardware resource management and control page, and the system settings page. The composition of the console front - end UI sub - system is as Figure 4 shown.

[0084] Among them, system settings mainly include the database configuration and network service configuration of the main control system, as Figure 5 shown.

[0085] The database system configuration includes scenario database configuration and entity database configuration (including configuration information such as plug - in entities, model entities, and entity assembly, etc.);

[0086] The network service system configuration includes general control network service configuration, 3D situation network service configuration, etc. and DDS network configuration.

[0087] Among them, the configuration items of the general control network service and the 3D situation network service are the IP address and port number of the service. The DDS network configuration items are the type of the network and the domain ID. The general control network service is mainly used to provide services to the simulation node sub - system and the flight resource management sub - system (optional). The 3D situation network service mainly provides services to the 3D environment visualization monitoring system and provides simulation data for its entities. The DDS network mainly provides real - time and efficient data communication support for the distributed simulation system. All simulation nodes on this network transmit data through the publish - subscribe mechanism, provide a data publication / subscription mode based on topics, and each sub - system can realize plug - and - play discovery and data interaction among nodes by configuring the publish - subscribe relationship.

[0088] (2) Hardware Resource Management and Control Sub - system

[0089] The hardware resource management and control subsystem completes the centralized management and control of the platform's hardware components and provides underlying support to the simulation service layer. This hardware platform management and control system consists of a server side and a client side. The server side is mainly used to collect and display information of each node of the platform, the working status information of each model process in the scenario, provide basic control commands for the simulation basic platform, and support the display of the network topology structure; the client side is mainly used to receive files and commands / scripts issued by the server side, collect local node information, system-related model process information, and report it to the server side.

[0090] The hardware system structure is as Figure 6 shown. It has a variety of service quality management (QoS) strategies, such as reliable transmission, best effort transmission, data periodicity, node existence, etc. Different subsystem nodes can meet different requirements for data interaction and transmission by configuring QoS strategies. It has a data forwarding function based on relays, ensuring that there is only one data link for data communication between subsystems across network segments or local area networks, and forwarding through relays to reduce data traffic across network segments and local area networks.

[0091] UI: Displays information of each node of the platform and the working status of each model;

[0092] Server side: Collects information of each platform node, the working status information of each model process in the scenario, and provides basic control commands for the simulation basic platform;

[0093] Client side: Receives files / scripts issued by the server side, receives commands issued by the server side, collects local node information (CPU model, CPU occupancy ratio, memory size, memory occupancy ratio), collects system-related model information, and uploads the collected information to the server side.

[0094] The structure diagram of the server side is as Figure 7 shown.

[0095] Instruction / file control module: Includes instructions such as initialization, start, pause, stop, etc., files and scripts.

[0096] Data transmission module: Receives data collected by the client side in the form of messages or communication protocols such as TCP / IP, UDP, DDS, etc.

[0097] Data sorting module: Integrates the received information of each node and model information for UI display.

[0098] The structure of the client side is as Figure 8 shown.

[0099] The client side structure includes:

[0100] Instruction / file receiving module: Receives instructions, files, scripts, etc. issued by the server side;

[0101] Data acquisition module: Collect local information of the node (CPU model, CPU occupancy ratio, memory size, memory occupancy ratio), and collect system-related model information;

[0102] Data sorting module: Sort and merge the collected data in a fixed format;

[0103] Data transmission module: Report the collected data to the server in the form of messages or communication protocols such as TCP / IP, UDP, DDS, etc.

[0104] (3) Business control subsystem of the simulation platform

[0105] The business control subsystem of the simulation platform mainly completes the management and control of the simulation services carried by the system simulation platform, as well as the auxiliary functions related to the services. Specifically, it is divided into the following 6 modules: simulation model management module, simulation model running environment generation module, simulation scenario configuration module, simulation platform monitoring module, simulation platform model control module, and simulation model deployment module.

[0106] The simulation model management module is responsible for external model inspection, uploading new models to the system, deleting existing models in the system, creating model objects, modifying model objects, deleting model objects, displaying the model list, and displaying the model object list.

[0107] The simulation model running environment generation module is responsible for assembling the models required for this simulation into simulation units. For example, assembling models such as flight, radar, electronic warfare, and weapons into an aircraft entity as a simulation unit.

[0108] The model management business process is as Figure 9 shown.

[0109] The simulation scenario configuration module mainly includes the scenario management module, 2D map management module, flight unit ID design, and class design. To conduct a simulation exercise, in addition to flight objects, it is also necessary to set scenario information related to flight, such as: setting the formation information of both sides of the flight, how many mission units each side's formation has, the initial position (GPS coordinates), flight altitude, flight direction, fuel quantity, pilot ID, flight unit ID, etc. of each mission unit entering the airspace.

[0110] Sort out the scenario information of each aircraft equipment set by the user through the UI interface, generate all scenario information, and push it to each subsystem in the distributed system through the network communication module.

[0111] The class design is as Figure 10 shown.

[0112] The program logic of the interface design is as follows:

[0113] [void getLoadPlanDestDir()]

[0114] Read the copy generation path of the mounting plan and write it to dir

[0115] [void getTypesInfoDestDir()]

[0116] Read the copy generation path of the type definition and write it to dir

[0117] [bool readScenarioInitInf()]

[0118] Select to read the scenario plan file from the specified path or create a new empty scenario plan

[0119] [bool readImagUIInfo()]

[0120] Read the scenario interface configuration information

[0121] [bool saveXML()]

[0122] Save the current scenario plan as an XML file

[0123] [void readSendXML()]

[0124] Read the content of the scenario plan that has been edited and completed

[0125] [bool sendXML()]

[0126] Push the scenario plan that has been edited and completed

[0127] [void clearAllInfo()]

[0128] Clear the content of the scenario plan being edited

[0129] Simulation platform monitoring module: During the simulation process, users can observe the process of both sides' formations performing tasks in the airspace in real time, and users can more intuitively observe the simulation process through the 2D map and 3D situation. The functions of this module include: 2D map simulation function, 3D situation simulation function, key event display function, flight unit list display function, flight unit detailed information display function.

[0130] Simulation platform model control module: During the simulation process, users can perform control operations such as initializing, running, pausing / resuming, stopping, etc. on a simulation competition at any time. Use TCP for instruction interaction. During a simulation process, users can pause or stop the simulation process at any time.

[0131] Simulation model deployment module: Deploy and integrate models on the simulation platform. The configuration component class function manages all configuration information related to flight experiment design and the configuration management system, including the configuration of this system, the communication configuration with external systems, the connection database configuration, the scenario format configuration, and the resource allocation configuration of the distributed system.

[0132] Class design is as Figure 11 shown.

[0133] The interface design program logic is as follows:

[0134] [void setDBConfig()]

[0135] Set the database connection configuration

[0136] [void setNetConfig()]

[0137] Set the network connection configuration

[0138] [void setResourceConfig()]

[0139] Set the system resource configuration

[0140] [void setXMLFormat()]

[0141] Set the XML configuration format information

[0142] [void setSimConfig()]

[0143] Set the simulation common configuration

[0144] (4) Simulation data recording and playback subsystem

[0145] The simulation platform data recording and playback subsystem is used to store and manage the simulation interaction data generated during the simulation process, and provide a visual analysis interface and data playback interface for easy review and analysis of the simulation process.

[0146] (5) Simulation system time synchronization subsystem

[0147] Mainly complete the time synchronization of the platform software. Taking the system time of a server or computer as a reference point, regularly use the DDS network to publish time information to all nodes in the simulation system. After each node receives the time information, it obtains its own system time and calculates the difference to make all nodes in the entire simulation system reach time synchronization.

[0148] The time synchronization subsystem of the simulation system needs to provide a time management server tool that can obtain the physical time and logical time of the time server, and publish time information to each subsystem node through the time synchronization service of the distributed data interaction middleware, enabling each node to complete time calibration and synchronization.

[0149] The architecture is as Figure 12 shown.

[0150] The time synchronization subsystem can serve as the time source for the entire distributed simulation system. This subsystem can act as a time server to provide the reference time to all simulation nodes, and at the same time can also serve as the simulation cycle propeller for the entire simulation system.

[0151] After obtaining the system time source from the time server, the time data is periodically published through the DDS communication middleware on the network. After each node of the simulation system subscribes to the time data of the DDS communication middleware in the same domain on the network, it obtains the reference time of this system.

[0152] Unifying the above mechanism ensures the time synchronization of the entire distributed simulation system.

[0153] The big data generation and processing system is composed of various computing device clusters. The computing devices use unified and synchronized standard time to record the time sequence of various events, such as E-MAIL information, log information, file creation and access time, database processing time, etc.

[0154] For the big data system, the data or operations such as control, calculation, processing, and application between different computing devices have timing. If the computer times are not synchronized, these applications or operations may not be able to proceed normally.

[0155] The big data system is a time-sensitive computing and processing system. Time synchronization is the basic guarantee for the correct processing of big data and the technical support for big data to play its role.

[0156] In the big data era, all big data communications within the entire processing and computing system are carried out through the network.

[0157] The same is true for time synchronization. The standard time information is transmitted through the interconnected network of big data to achieve time synchronization within the big data system.

[0158] To ensure the accuracy of the physical time of the time synchronization subsystem, network time synchronization technology can be applied, that is, an NTP server is set up within the local area network to achieve automatic time synchronization.

[0159] The Network Time Protocol (NTP) is the technical foundation for time synchronization.

[0160] Within the same local area network, we can set up our own NTP time synchronization server. The timing synchronization subsystem sends time synchronization request commands to the fixed IP and port of the NTP time server regularly or on demand through the TCP / IP network protocol. After receiving the request, the server returns the reference time to the timing synchronization subsystem.

[0161] After receiving the reference time returned by the NTP time synchronization server, the timing synchronization subsystem can publish the reference time data to the DDS communication middleware.

[0162] For all simulation system nodes that have subscribed to topic data from the DDS communication middleware and registered callbacks, once the timing synchronization subsystem publishes time data, they will immediately receive the published data. After each simulation node receives the time data, it will synchronize the time of the simulation node.

[0163] The simulation timing synchronization subsystem only needs to be timed once through the NTP service, and according to the needs of users, if users need to manually synchronize the time of the simulation timing synchronization subsystem, there is no need to set up an NTP server at all.

[0164] The system architecture is as Figure 13 shown.

[0165] The distributed simulation system consists of a simulation control subsystem (including the foreground UI control), a timing synchronization subsystem, a simulation node subsystem, and others (such as hardware resource management and control, simulation data recording and playback, and third-party data bridging subsystems).

[0166] The timing synchronization subsystem mainly consists of a management sub-module and a timing service sub-module, and the simulation control subsystem is responsible for starting and stopping through the management sub-module.

[0167] The management sub-module is responsible for the start, execution, and stop control of the simulation timing service.

[0168] The timing service sub-module is responsible for timing services, including timer processing, publishing the system physical time to the DDS middleware, and executing the acquisition of the physical time of the simulation system.

[0169] The timing service sub-module is responsible for starting and stopping the service by the management sub-module. After the service is started, a timer is started, and the system physical reference time of the timing synchronization subsystem is calculated and acquired regularly. The data publishing sub-module is responsible for publishing the reference time data to the DDS network.

[0170] The simulation node subsystem can obtain the reference time data and simulation data through DDS data subscription. After successfully obtaining the reference time data, it can synchronize the reference time to each simulation node subsystem.

[0171] The DDS (Data Distribution Service) communication middleware is the foundation for all data communications in this subsystem. It is a new generation of distributed real-time communication middleware protocol that adopts a publish / subscribe architecture, emphasizes data-centricity, and provides rich QoS (Quality of Service) strategies to ensure real-time, efficient, and flexible data distribution, meeting the requirements of various distributed real-time communication applications. Therefore, using this middleware as the basis for data communication can meet the real-time, accurate, and efficient synchronization of the system time of the sub-nodes in the simulation system.

[0172] The "Time Management Service" is used to synchronize the clocks of each simulation subsystem unit node in the distributed system. During the simulation process on the "Simulation Platform", since different simulation subsystems may be deployed on different PC terminals, the system times of different PC terminals may be different. Then, the times recorded in the logs generated during the simulation process will be different, which will cause trouble for subsequent processing and business logic related to the logs. Therefore, before conducting the simulation on the "Simulation Platform", the current system time of the "Simulation Platform" server needs to be synchronized to the PC terminals of each flight simulation subsystem first. The client program on the terminal records the system time of the server and calculates the difference between the local system time and the server system time based on the server system time. The time used for storing logs during the subsequent simulation process is the calculated time, so as to ensure that the data time in the logs is consistent with the system time of the server.

[0173] The system timing is as Figure 14 shown.

[0174] The subscription timing of the simulation node is as Figure 15 shown.

[0175] The management module is as Figure 16 shown.

[0176] The main methods of the management module are as follows:

[0177] (1) ReqStart()

[0178] The simulation control calls this interface to start the service when authorizing the simulation

[0179] (2) ReqStop()

[0180] The simulation control calls this interface to stop the simulation time service

[0181] (3) startTimeSyncService()

[0182] Used to execute the start of the simulation time service

[0183] (4) CTimeSyncManage()

[0184] Constructor

[0185] (5)CTimeSyncManage()

[0186] Destructor

[0187] The time service sub-module is as Figure 17 shown

[0188] The main methods of the time service are as follows:

[0189] (1)StartTimer()

[0190] Start the timer

[0191] (2)StopTimer()

[0192] Stop the timer

[0193] (3)timerProc()

[0194] Timer processing function

[0195] (4)timeout()

[0196] Timeout processing function

[0197] (5)publishSysTime()

[0198] Publish the system physical time to the DDS middleware

[0199] (6)getSysTime()

[0200] Execute to obtain the physical time of the simulation system

[0201] The main attributes of the time service:

[0202] (1)m_cur_systime

[0203] Save the current physical time of the simulation system

[0204] (2)m_timer_event_id

[0205] Timer ID number

[0206] (6) Third-party data bridging subsystem

[0207] The third-party data bridging subsystem includes a software bridging module and a physical device bridging module. Its main functions are: obtaining third-party system data according to requirements, converting and injecting it into the simulation platform, obtaining simulation platform data according to requirements, and injecting it into the third-party system.

[0208] System Design: The third-party data bridging subsystem is mainly composed of a software bridging module and a physical device bridging module. Its function is to separate abstraction from implementation so that they can vary independently. It is implemented by using a composition relationship instead of an inheritance relationship, thereby reducing the coupling degree of the two variable dimensions of abstraction and implementation. It has an interface adaptation function and can, based on middleware, complete data mapping of the transmission protocol with other heterogeneous systems through a bridging gateway, and implement the access conversion and sending of third-party system data and simulation platform data. It supports providing functions such as time synchronization, communication protocol conversion, data interface conversion, DR processing, data acquisition, and data transceiver management between various aircraft simulation systems to achieve data interaction.

[0209] Design and Implementation: The main function of the third-party data bridging subsystem is to obtain third-party system data, convert and inject it into the simulation platform, obtain simulation platform data as needed, and inject it into the third-party system simulation. The bridge pattern is suitable for use, and the system process is as Figure 18 shown.

[0210] Data Acquisition: The realized role, obtaining data from the third-party system.

[0211] Conversion and Injection: The specific realized role, giving the specific implementation of the realized role interface, and also converting and injecting the data obtained from the third-party system.

[0212] Obtain Simulation Data: Process the data of the third-party system and obtain simulation platform data.

[0213] Data Transfer Out: Inject the obtained simulation platform data into the third-party system.

[0214] Third-party data interface adaptation: The interface adaptation function realizes the data conversion between the interfaces of the third-party system data and the middleware standard interface. The internal data within the simulation platform can directly interact through the communication protocol because all functions have been considered during the design of each subsystem, and a complete interface control file has been formulated. The interface control file design of heterogeneous systems must be different from that of the simulation platform, and even the programming languages may be different. Through the interface adaptation sub-module, the interface configuration files compiled in different programming languages can be converted and compiled to conform to the platform's interface standard, and then the communication protocol within the platform can be used for data transmission. The interface adaptation method for the interface adaptation sub-module to interact with the third-party system adopts the message interaction method. The data interaction message is divided into three parts: message header, message body, and message tail. For example, data bits such as frame identifier, source address code, destination address code, information category code, information length, and information exchange timestamp in the data are defined as the message header, all the information fields for simulation interaction in the middle are defined as the message body, and the data bits of the check field at the tail are defined as the message tail. After defining the communication data interface of the heterogeneous system, the heterogeneous system data can be input, transmitted, and output in the multicast network. Interface format conversion is as Figure 19 shown.

[0215] The data interfaces within the simulation platform include scenario configuration, equipment models, and environment models. The specific interface content is as follows:

[0216] The scenario configuration interface defines the relevant data information involved in the initial scenario, including scenario name, scenario time, scenario label, minimum simulation step, maximum simulation step, starting and ending longitude and latitude of the airspace, starting and ending longitude and latitude of the key targets on both sides, and equipment initialization information involved in the scenario, etc.

[0217] The equipment model interaction interface defines the relevant simulation interfaces for the simulation operation and related functional performances of the equipment model. Taking the aircraft model as an example, it includes the input and output related to the flight control model interaction, the input and output related to the sensor model interaction, the input and output related to the mission model interaction, etc.

[0218] The simulation environment model interaction interface defines the airspace-related environment simulation interface information, including meteorology, hydrology, electromagnetics, infrared, etc.

[0219] Third-party data communication protocol adaptation: When interacting with the third-party system, the third-party system may adopt different communication protocols, such as shared memory, multicast, DDS, UDP, etc., which causes the heterogeneous system to be unable to interact with the platform for data. Through the communication protocol adaptation sub-module, the API interface of the heterogeneous system is compiled, and the communication protocol used by the heterogeneous system is converted into a multicast communication protocol that conforms to the platform communication standard for data interaction with the platform.

[0220] The reason for using a constructed multicast network to interact with heterogeneous systems is to utilize the wide application range of the multicast communication protocol, which can adapt to more types of heterogeneous systems. The communication protocol only needs to be interface-converted and corresponding code compiled to be converted into a multicast protocol that meets the platform interaction standard for data interaction with the simulation platform.

[0221] Interconnection of the XSim system:

[0222] According to the current technical status, the XSim system is different from other third-party systems. It has richer functions and can be docked with the distributed simulation operation framework through its specially developed overall control system. On the one hand, it is necessary to manage and control the operation of the entire distributed simulation system, on the other hand, it is necessary to complete the push of the experiment scenario file; on the other hand, it is necessary to complete the initialization construction of the XSim distributed simulation environment.

[0223] Data interaction between the XSim system and the distributed simulation operation framework is realized through Topic3 of DDS, and the connection method is as Figure 20 shown.

[0224] The XSim overall control system, as the control center of the distributed simulation system, mainly includes three major modules: initialization of the distributed simulation environment, push of the scenario, and operation management and control of the distributed simulation system. The system composition structure diagram is as Figure 21 shown.

[0225] Initialization of the distributed environment mainly starts the distributed simulation server and simulation engine before the start of the distributed simulation. Push of the scenario file mainly selects the specified scenario file and distributes the scenario file to other systems through the data bus. Operation management and control mainly issues process control instructions (start, pause, end) during the distributed simulation process to control the running state of the entire system.

[0226] The interaction relationship with the control interface of XSim is shown in Table 1.

[0227] Table 1 Description of the interface relationship of the overall control system

[0228]

[0229] Those skilled in the art know that, in addition to implementing the systems, devices, and their respective modules provided by the present invention in the form of pure computer-readable program code, the method steps can be logically programmed to enable the systems, devices, and their respective modules provided by the present invention to be implemented in the form of logic gates, switches, application-specific integrated circuits, programmable logic controllers, and embedded microcontrollers, etc., to implement the same program. Therefore, the systems, devices, and their respective modules provided by the present invention can be considered as a kind of hardware component, and the modules included therein for implementing various programs can also be regarded as the structures within the hardware component; the modules for implementing various functions can also be regarded as either software programs for implementing the method or the structures within the hardware component.

[0230] The specific embodiments of the present invention have been described above. It should be understood that the present invention is not limited to the above specific embodiments, and those skilled in the art can make various changes or modifications within the scope of the claims, which does not affect the essence of the present invention. Without conflict, the embodiments of the present application and the features in the embodiments can be combined with each other arbitrarily.

Claims

1. A distributed simulation system based on DDS, characterized in that including: Front-end UI management subsystem: It conducts human-computer interaction and realizes the interconnection and interoperability between subsystems based on the DDS data communication middleware; Hardware resource control and management subsystem: It centrally controls and manages the platform's hardware components and provides underlying support to the simulation service layer; Simulation platform service control and management subsystem: It manages and controls the simulation services carried by the simulation platform; Simulation data recording and playback subsystem: It stores and manages the simulation interaction data generated during the simulation process, and provides a visual analysis interface and data playback interface; Simulation system time synchronization subsystem: It synchronizes the time of the platform software. Taking the system time of a server or computer as a reference point, it regularly uses the DDS network to publish time information to all nodes in the simulation system. After each node receives the time information, it obtains its own system time and calculates the difference, so that all nodes in the entire simulation system reach time synchronization; Third-party bridging subsystem: It obtains third-party system data as required, converts and injects it into the simulation platform, and obtains simulation platform data as required and injects it into the third-party system; The front-end UI management subsystem, the hardware resource control and management subsystem, the simulation platform service control and management subsystem, and the simulation data recording and playback subsystem are connected to the general control node; The simulation system time synchronization subsystem is connected to the system server through DDS; The third-party bridging subsystem is connected to the third-party system and the general control node; The front-end UI management subsystem includes: database configuration and network service configuration of the main control system; Database system configuration includes scenario database configuration and entity database configuration; Network service system configuration includes general control network service configuration, 3D situation network service configuration, and DDS network configuration; The general control network service configuration item and the 3D situation network service configuration item have the IP address and port number of the service, and the DDS network configuration item has the network type and domain ID. The general control network service is used to provide services to simulation nodes; the 3D situation network service provides services to the 3D environment visual monitoring system and provides simulation data for its entities; the DDS network provides real-time data communication support for the distributed simulation system. All simulation nodes on the DDS network transmit data through the publish / subscribe mechanism, providing a data publication / subscription mode based on topics. Through the configuration of the publish / subscribe relationship between subsystems, the plug-and-play discovery of each node is realized and data interaction is completed; The hardware resource control and management subsystem includes a server and a client; The server is used to collect and display the information of each node of the platform and the working status information of each model process in the scenario, provide basic control commands for the simulation basic platform, and support the display of the network topology structure; The client is used to receive the files and commands / scripts issued by the server, collect the local information of the nodes and the information of the system-related model processes, and report them to the server; The server includes: UI: Displays the information of each node of the platform and the working status of each model; Instruction / file control module: Includes initialization, start, pause, stop instructions, files, and scripts; Data transmission module: Receives the data collected by the client in the form of messages or in the form of TCP / IP, UDP, and DDS communication protocols; Data sorting module: Integrates the received node information and model information for UI display; The client includes: Instruction / File receiving module: Receives instructions, files, and scripts issued by the server; Data collection module: Collects local node information, including CPU model, CPU occupancy ratio, memory size, memory occupancy ratio, and collects system-related model information; Data sorting module: Sorts and merges the collected data in a fixed format; Data transmission module: Reports the collected data to the server in the form of messages or in the form of TCP / IP, UDP, DDS communication protocols; The simulation platform business control subsystem includes: Simulation model running environment generation module: Responsible for assembling the models required for this simulation into simulation units; Simulation scenario configuration module: Organizes the scenario information of each aircraft equipment set by the user through the UI interface, generates all scenario information, and pushes it to each subsystem in the distributed simulation system; Simulation platform monitoring module: During the simulation process, observes in real time the process of both sides' formations performing tasks in the airspace, and observes the simulation process through a 2D map and 3D situation; Simulation platform model control module: During the simulation process, can perform control operations on a simulation competition, including initialization, running, pausing / resuming, and stopping; Simulation model deployment module: Deploys and integrates the models of the simulation platform, configures component class functions to manage all configuration information related to flight experiment design and configuration management system, including system configuration, external system communication configuration, database connection configuration, scenario format configuration, and distributed system resource allocation configuration; Simulation model management module: Responsible for external model inspection, uploading new models to the system, deleting existing models in the system, creating model objects, modifying model objects, deleting model objects, displaying model lists, and displaying model object lists; The simulation system time synchronization subsystem includes: Provides a time management server tool to obtain the physical time and logical time of the time server, and publishes time information to each subsystem node through the time synchronization service of the distributed data interaction middleware, enabling each node to complete time calibration and synchronization; Applies network time synchronization technology, that is, builds an NTP server within the local area network to achieve automatic time setting; The simulation system time synchronization subsystem includes: Management sub-module: Responsible for starting, executing, and stopping control of the simulation time service; Time service sub-module: Responsible for time service operations, including timer processing, publishing system physical time to the DDS middleware, and executing to obtain the physical time of the simulation system; The time service sub-module is started and stopped by the management sub-module. After the service is started, a timer is enabled to calculate and obtain the system physical reference time of the simulation system time synchronization subsystem at regular intervals and publish it to the DDS network; Each subsystem of the simulation system obtains the reference time data and simulation data through DDS data subscription, and then synchronizes the reference time to each subsystem of the simulation system; The third-party bridging subsystem includes: a software bridging module and a physical device bridging module, which separates abstraction from implementation and replaces the inheritance relationship with a composition relationship, thereby reducing the coupling degree of the two variable dimensions of abstraction and implementation. It has an interface adaptation function. Based on middleware, it completes data mapping of transmission protocols with other heterogeneous systems through a bridging gateway, and realizes the access conversion and sending of third-party system data and simulation platform data. It supports providing functions such as time synchronization, communication protocol conversion, data interface conversion, DR processing, data acquisition, and data transceiver management between various aircraft simulation systems to achieve data interaction.

2. A distributed simulation device based on DDS, characterized in that, It includes the DDS-based distributed simulation system described in claim 1.

Citation Information

Patent Citations

  • network information system simulation platform supporting a domestic operation system

    CN109800053A

  • Joint simulation test identification system supporting multiple users and simulation test method thereof

    CN115525397A

  • Flight simulator simulation framework based on cloud platform

    CN118626205A