Parallel time-stepped method and electronic device suitable for simulation of discrete event systems

By employing a parallel temporal progression method for discrete event systems, the problems of flexibility and arbitrariness in military simulation systems under complex battlefield environments are solved, achieving more efficient battlefield situation simulation.

CN114528066BActive Publication Date: 2025-12-23BEIJING AEROSPACE MEASUREMENT & CONTROL TECH
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202111604257.4
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-12-24
Publication Date
2025-12-23
Estimated Expiration
2041-12-24

AI Technical Summary

Technical Problem

Existing military simulation systems are unable to meet the high requirements of flexibility and arbitrariness when faced with complex and uncertain battlefield environments, and cannot effectively simulate actual battlefield situations.

Method used

A parallel timing-based execution method suitable for discrete event systems is adopted. By executing the event queue list according to timestamps, a parallel response to random events is generated. Combined with resource scheduling and conflict resolution, a hybrid execution logic of script-based pre-execution and event triggering at any time is realized.

Benefits of technology

It improves the flexibility and arbitrariness of military simulation systems, enabling them to more effectively simulate complex battlefield situations and meet the high requirements for flexibility and arbitrariness.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114528066B_ABST
    Figure CN114528066B_ABST
Patent Text Reader

Abstract

The application discloses a parallel time sequence advancing method and electronic equipment suitable for discrete event system simulation, and comprises the following steps: starting a main program of simulation deduction, and updating an event queue list; according to time stamps of sequence events in the updated event queue list, calling resources corresponding to the sequence events on demand, and executing subprograms of the sequence events; after receiving a mutation state signal, generating a random event according to the mutation state signal, and setting a time stamp and a highest priority of the random event; according to the time stamp and the highest priority of the random event, adopting a triggered event parallel response method, and executing a subprogram of the random event; after executing the subprogram of the random event, continuing to execute the subprograms of the sequence events in the event queue list until the main program of simulation deduction is ended, and generating a simulation report. The application simultaneously satisfies a hybrid execution logic of script type prefabricated execution and event triggered generation and parallel response execution at any moment, and improves flexibility and randomness of a military simulation deduction system.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The application belongs to the technical field of computer simulation, and more particularly, relates to a parallel time sequence advancing method suitable for discrete event system simulation and an electronic device. BACKGROUND

[0002] The simulation engine is a public service set irrelevant to specific simulation application in the simulation system, and the purpose is to provide a public running environment for the execution of the simulation entity. With the growth of the problem scale and complexity, in order to better adapt to the characteristics of modern war systematization, multi-dimension and complexity, the design and implementation of the military simulation deduction system must also develop towards the direction of integration, engineering and actual combat. The simulation engine is transformed into a high adaptability and multi-level platform providing resources and tools.

[0003] The simulation deduction system has experienced several stages such as continuous system simulation, discrete system simulation and intelligent simulation based on modern computer system. No matter which stage of the simulation deduction system, a perfect simulation running support service mechanism is needed inside to support and maintain, that is, the simulation deduction engine. The simulation deduction engine is used to realize receiving execution commands, analyzing flow, analyzing data, matching resources, obtaining results and the like, and is the core of the simulation deduction system execution. The simulation deduction engine also experiences its own evolution and upgrade, and has experienced the transformation from the rigid mode of single basic data driven to the flexible mode based on the HLA high-level framework, and has realized the engine platform design of top-level planning, flexible configuration, component model and hierarchical structure. With the increasing complexity and uncertainty of the battlefield environment, the flexibility and randomness of the military simulation deduction system also need to meet higher requirements.

[0004] Therefore, there is a particular need for a simulation deduction engine which meets the higher requirements of flexibility and randomness of the military simulation deduction system. SUMMARY

[0005] The purpose of the application is to propose a heterogeneous multi-agent control method which is not based on continuous system.

[0006] In order to achieve the above object, the application provides a parallel time sequence advancing method suitable for discrete event system simulation, which comprises: starting a main program of simulation deduction; after the main program is started, updating an event queue list; after the event queue list is updated, calling resources corresponding to sequence events according to time stamps of the sequence events in the event queue list, executing sub-programs of the sequence events as needed; after a mutation state signal is received, generating a random event according to the mutation state signal, and setting a time stamp and a highest priority of the random event; according to the time stamp and the highest priority of the random event, executing a sub-program of the random event by using a triggered event parallel response method; after the sub-program of the random event is executed, continuing to execute sub-programs of sequence events in the event queue list, and waiting for generation of a new random event until the main program of simulation deduction is ended, and a simulation report is generated.

[0007] Preferably, the following steps are used to call resources corresponding to the sequence events according to time stamps of the sequence events, and execute sub-programs of the sequence events: a time advancing sub-program is called, a top event of the event queue list is read, a global clock is advanced according to the time stamp of the top event, and a current state is set; according to the global clock, a latest clock is read, it is determined whether the current state satisfies a trigger condition of a sequence event in the event queue list according to the latest clock, when the current state satisfies the trigger condition of the sequence event in the event queue list, resources corresponding to the sequence event are called, and the sub-program of the sequence event is executed.

[0008] Preferably, after the sub-program of the sequence event is executed, the current state is updated, it is determined whether there is a next sequence event according to the updated current state, if there is the next sequence event, the time stamp of the next sequence event is updated according to the updated current state, and the next sequence event with the updated time stamp is written into the event queue list.

[0009] Preferably, the following steps are used to generate a random event according to the mutation state signal, and set a time stamp and a highest priority of the random event: relevant information of a configuration file is parsed, a rule and a principle of event triggering are matched according to the mutation state signal, the random event is generated according to the rule and the principle of event triggering, and the time stamp and the highest priority of the random event are set.

[0010] Preferably, the subprogram of the random event is executed according to the timestamp and the highest priority of the random event by using a triggered event parallel response method, which comprises the following steps: a simulation member requests time advancement according to its own state; the maximum obtainable logical time of the member sending the request of time advancement is calculated according to the timestamp and the highest priority of the random event, and all simulation members are notified by broadcasting; the simulation clock is advanced, the resource corresponding to the random event is called, and the subprogram of the random event is executed; when the subprogram of the random event is executed, the request of time advancement to a time greater than the maximum obtainable logical time is blocked until the event advancement reaches the maximum obtainable logical time; the cancellation is blocked, the main program is returned, the timestamp of the sequential event in the event queue list is updated according to the timestamp of the random event, the sequential event in the event queue list is continuously executed, and the triggering of the next random event is waited.

[0011] Preferably, the resource comprises equipment models, personnel models, device models, organization models, facility models, three-dimensional earth data, multi-level road network data, vectors, elevations, memory allocation, processor calculation and priority allocation.

[0012] Preferably, the resource corresponding to the event is called on demand by using the following steps: the event information in the flow configuration file is parsed, and the mobilization rule of the model is confirmed; the model used by the event is loaded into the simulation scene, and the model is configured; the model in the simulation scene is scheduled in real time.

[0013] Preferably, when there is a resource conflict, the resource conflict is resolved by using the following steps: when multiple events simultaneously accept the use request of the same resource, the processing priority of the multiple events is determined, and the execution time sequence of the front and back chains of each event is calculated; the event with high processing priority or urgent execution time sequence is approved to use the resource, and the execution of the remaining events is blocked and the waiting is notified; after the occupation of the resource is released, the blocking is released, and the use of the resource is approved according to the use request of other events.

[0014] Preferably, the event queue list is updated by using the following steps: the main program is started, initial parameters are obtained, and the state is initialized and set; after the initialization and setting, the initial sequential event is generated according to the formatting requirement of the configuration file; the initial sequential event is timestamped and added to the event queue list.

[0015] The application further provides an electronic device, which comprises a memory storing executable instructions and a processor running the executable instructions in the memory to realize the parallel time sequence advancement method suitable for discrete event system simulation.

[0016] The beneficial effect of the present application is that the parallel time sequence advancing method for discrete event system simulation is capable of realizing script preformed execution by performing the sequence time of event queue list according to time stamp, generating random events through mutation state signal, executing subprogram of random events by adopting trigger event parallel response method, and meeting mixed execution logic of script preformed execution and event trigger generation and parallel response execution at any time, thereby improving flexibility and randomness of military simulation deduction system, meeting higher requirements of flexibility and randomness, and more effectively simulating actual battlefield situation.

[0017] The method of the present application has other characteristics and advantages that will be apparent from and made more specific in the accompanying drawings and the following detailed description, which together form a part of this specification, and which together serve to explain certain principles of the present application. BRIEF DESCRIPTION OF DRAWINGS

[0018] The above and other objects, features and advantages of the present application will become more apparent from the following detailed description when taken in conjunction with the accompanying drawings in which like reference characters refer to like parts throughout and in which:

[0019] Figure 1 A flow chart of a parallel time sequence advancing method for discrete event system simulation according to one embodiment of the present application is shown.

[0020] Figure 2 A time sequence execution flow chart of a parallel time sequence advancing method for discrete event system simulation according to one embodiment of the present application is shown.

[0021] Figure 3 A time sequence execution system schematic diagram of a parallel time sequence advancing method for discrete event system simulation according to one embodiment of the present application is shown.

[0022] Figure 4 A distributed system schematic diagram of a parallel time sequence advancing method for discrete event system simulation according to one embodiment of the present application is shown. DETAILED DESCRIPTION

[0023] Preferred embodiments of the present application will be described herein below with reference to the accompanying drawings. While preferred embodiments of the present application are shown in the drawings, it is understood that the present application can be embodied in various forms and should not be limited by the embodiments set forth herein. Rather, these embodiments are provided so that this application will be thorough and complete, and fully convey the scope of the present application to those skilled in the art.

[0024] According to the parallel time sequence advancing method for discrete event system simulation, the main program of simulation deduction is started; after the main program is started, the event queue list is updated; after the event queue list is updated, the subprogram of the sequence event is executed by calling the resource corresponding to the sequence event according to the time stamp of the sequence event in the event queue list; after the mutation state signal is received, the random event is generated according to the mutation state signal, and the time stamp and the highest priority of the random event are set; the subprogram of the random event is executed by using the triggered event parallel response method according to the time stamp and the highest priority of the random event; after the subprogram of the random event is executed, the subprogram of the sequence event in the event queue list is continuously executed, and the new random event is waited until the main program of simulation deduction is ended, and the simulation report is generated.

[0025] Specifically, after the main program of simulation deduction is started, the initial parameters are obtained, the initialization setting is performed, the initial event is generated according to the formatting requirement of the configuration file, and the initial event is stamped with the time stamp, added to the event queue list, and the updated event queue list is obtained; the sequence event in the event queue list is executed in sequence according to the time stamp of the sequence event in the event queue list; when the mutation state signal comes in, the random event is generated according to the mutation state signal, the subprogram of the random event is executed by using the triggered event parallel response method, after the subprogram of the random event is executed, the sequence event in the event queue list is continuously executed, and the new random event is waited until the main program is ended, the report generation subprogram is called, the deduction process data is connected, the report is generated through the report connection rule, and the deduction is ended and exited.

[0026] According to the parallel time sequence advancing method for discrete event system simulation, the sequence event in the event queue list is executed by time stamp, the script pre-execution is realized, the random event is generated by the mutation state signal, the subprogram of the random event is executed by using the triggered event parallel response method, the hybrid execution logic of the script pre-execution and the event triggered generation and parallel response execution at any time is met, the flexibility and randomness of the military simulation deduction system are improved, the higher requirements of flexibility and randomness are met, and the actual battlefield situation is simulated more effectively.

[0027] As a preferred scheme, the following steps are used to call the resource corresponding to the sequence event and execute the subprogram of the sequence event according to the time stamp of the sequence event: the time advancing subprogram is called, the top event of the event queue list is read, the global clock is advanced according to the time stamp of the top event, and the current state is set; the latest clock is read according to the global clock, whether the current state meets the trigger condition of the sequence event in the event queue list is determined according to the latest clock, the resource corresponding to the sequence event is called, and the subprogram of the sequence event is executed when the current state meets the trigger condition of the sequence event in the event queue list.

[0028] Specifically, step 1): the main program is started and initial parameters are obtained, the system state is initialized (i.e. the initial attributes of the model system are configured). According to the formatting requirements of the configuration file, the trigger condition for starting the execution of the process, i.e. the initial event, is generated, time stamped, and added to the event queue list. According to this process, the trigger parameters involved in the configuration file are parsed and initialized to generate an event execution sequence, thereby perfecting the event queue list;

[0029] Step 2): the main program calls the time advancement subprogram, sequentially takes out the top event (i.e. the execution unit with the smallest time stamp), advances the global clock according to the time stamp, sets the current state of the system (i.e. configures the model system attributes and the public resources of the battlefield environment according to the configuration file), and returns to the main program;

[0030] Step 3): the main program reads the latest clock and determines whether the current system state satisfies the triggering rule of the event. When the state satisfies, the corresponding event execution subprogram is called. The system state is modified and updated, the resource scheduling is coordinated, the unified scheduling of each model is completed, the value of the cumulative statistics is modified, and the execution of the event is completed;

[0031] Step 4): the event execution subprogram parses the configuration file (or directly reads the parsed results of the configuration file through the process parsing service), determines whether there is a next event, if yes, stamps the updated event time stamp and pushes it into the event table, the subprogram is self-destroyed and returns to the main program, and step 2) is repeated; if no, the subprogram is self-destroyed and returns to the main program.

[0032] As a preferred solution, after the execution of the subprogram of the sequence event, the current state is updated, and it is determined whether there is a next sequence event according to the updated current state. If yes, the time stamp of the next sequence event is updated according to the updated current state, and the next sequence event with the updated time stamp is written into the event queue list.

[0033] Specifically, after the execution of the subprogram of the sequence event, the current state is updated, the event execution subprogram parses the configuration file (or directly reads the parsed results of the configuration file through the process parsing service), determines whether there is a next event, if yes, stamps the updated event time stamp and pushes it into the event queue list, the subprogram is self-destroyed and returns to the main program, and the sequence event in the event queue list is executed according to the time stamp; if no, the subprogram is self-destroyed and returns to the main program.

[0034] As a preferred solution, the following steps are used to generate a random event according to a mutation state signal and set the time stamp and the highest priority of the random event: the relevant information of the configuration file is parsed, the rules and principles of event triggering are matched according to the mutation state signal, the random event is generated according to the event triggering rules and principles, and the time stamp and the highest priority of the random event are set.

[0035] Specifically, step 1): the system state mutation occurs, i.e. the battlefield environment parameters, combat conditions mutate or receive intervention, adjustment instructions from the outside. Including environmental parameter mutation such as weather, terrain, and changes in combat force quantity or core combat attributes of the force;

[0036] Step 2): parse the relevant information of the configuration file (or obtain the configuration file parsing result through the process support module), match the rules and principles of event triggering, generate additional events according to the event triggering rules, and set the timestamp and the highest priority.

[0037] As a preferred solution, the following steps are used to execute the subprogram of the random event according to the timestamp and the highest priority of the random event, using the triggered event parallel response method: the simulation member requests time advancement according to its own state; according to the timestamp and the highest priority of the random event, the maximum obtainable logical time of the member sending the request for time advancement is calculated, and all simulation members are notified by broadcast; the simulation clock is advanced, the resources corresponding to the random event are called, and the subprogram of the random event is executed; when executing the subprogram of the random event, the request for time advancement greater than the maximum obtainable logical time is blocked until the event advancement reaches the maximum obtainable logical time; the blocking is cancelled, the main program is returned, the timestamp of the sequence event in the event queue list is updated according to the timestamp of the random event, the sequence event in the event queue list is continued to be executed, and the next random event is waited for triggering.

[0038] Specifically, the triggered event parallel response. The post-logic rule configuration method of random event "dispatch response-state update-regression steady state-timestamp update-sequence execution" based on the configuration file is adopted to realize the function based on event triggering and global response, and the correct and clear advancement of time sequence is focused on. The parallel time sequence advancement method of calculating the greatest available logical time (GALT) avoids the confusion of timestamps, and realizes the systematized and organized time sequence advancement. The specific implementation is as follows:

[0039] Step 1): the federal member in the simulation system requests time advancement according to its own state;

[0040] Step 2): calculate the GALT of the member sending the request for time advancement, i.e. the upper limit of the time allowed to advance without considering the state of other members, and broadcast to notify all simulation members;

[0041] Step 3): the main program advances the simulation clock by reading the current model set attribute, analyzing the system state, determining the simulation time sequence node, and calling the execution subprogram of the random event;

[0042] Step 4): The random event execution subroutine blocks the attempt to advance the simulation time to a value greater than GALT during the execution of the random event of the member, until the system reaches the state under the value of the current GALT (i.e. the attribute set of the federal member meets the demand);

[0043] Step 5): Block cancellation, according to the execution logic of "block-callback", after returning to the main program, the time stamp of the sequence event in the event queue list is updated according to the time stamp of the random event, the sequence event in the event queue list is continued to be executed, the random event execution program of the corresponding next request is called back to complete the event execution, thereby completing the time advance and updating the value of GALT;

[0044] Step 6): Repeat steps 1)-5) until the end of the simulation.

[0045] The execution of parallel time sequence advance needs to rely on the parallelization division and processing of event execution and model resources. Through the intelligent analysis result of the configuration file, the correlation between event sequences is determined, the event sequences without strong correlation are divided into independent event execution blocks, and the events in the block are sequentially executed according to the time stamp order. Each member in the system sends the request-response-execution state message with the time stamp through broadcast and point-to-point forms to complete the unified marking with the global clock, and the above-mentioned block-callback mode is used to complete the efficient, correct and clear time sequence advance.

[0046] Random event triggering. The priority configuration and execution of the sudden event at any time and the update of the global time logic are supported, the flexible, adaptive and intelligent identification of simulation granularity is supported, and the simulation step is automatically configured according to the simulation granularity requirement. The execution step of coarse granularity selects a larger step size, the execution step of fine granularity selects a smaller step size, and the process is correctly and efficiently advanced.

[0047] The random event triggering adopts the pre-logic rule configuration method of random event "state mutation-rule matching-event generation-triggering system" based on the configuration file, realizes the generation and triggering of random events based on the current state of the system and temporary external stimulation. The specific implementation is as follows:

[0048] Step 1): The system appears state mutation, i.e. the mutation of battlefield environment parameters, combat conditions or the reception of intervention and adjustment instructions from the outside world. Including the mutation of environmental parameters such as weather, terrain and the change of combat force quantity or the core combat attribute of the force;

[0049] Step 2): Analyze the related information of the configuration file (or obtain the configuration file analysis result through the process support module), match the rules and principles of event triggering, generate additional events according to the event triggering rules, and set the time stamp and the highest priority;

[0050] Step 3): According to the latest priority sequence, the "random arbitrary" event is promoted as a top event, and the corresponding processing subprogram is parsed, triggered, called and executed to complete the parameter updating, position change, or even creation and destruction of the model, and to update the system state;

[0051] Step 4): After the execution of the event processing execution subprogram is completed, the main program is returned, the system state is judged, the event timestamp to be executed is updated, the events in the event sequence are continuously matched, and the simulation continues.

[0052] As a preferred solution, the resources include equipment models, personnel models, device models, organization models, facility models, three-dimensional earth data, multi-level road network data, vectors, elevation, memory allocation, processor calculation, and priority allocation.

[0053] Specifically, the resources include basic entity model resources such as equipment models, personnel models, device models, organization models, and facility models; public resource data such as three-dimensional earth data, multi-level road network data, vectors, or elevation; and computing resources such as memory allocation, processor calculation, and priority allocation.

[0054] As a preferred solution, the following steps are used to call the resources of the corresponding event on demand: parsing the event information in the process configuration file to confirm the mobilization rules of the model; loading the model used by the event into the simulation scene and configuring the model; and scheduling the model in the simulation scene in real time.

[0055] Specifically, by reading the configuration file parsing result (or by referring to the configuration file parsing result through the process support module), combining the deployment quantity, position, and demand of various types of model resources, and using resource scheduling and planning algorithms and autonomous allocation methods during the process execution, intelligent matching and scheduling of the involved model resources are achieved. In addition, the underlying resources such as computing resources, visualization display and rendering resources relied on by the system operation are intelligently allocated according to the computing and display requirements. The specific implementation is described as follows:

[0056] Step 1): Parse the task information in the process configuration file to confirm the mobilization rules of the model and other resources, including the demand for resource types, quantity, position information during execution, etc.

[0057] Step 2): Call the resource library, load the model and other basic resources into the simulation scene and configure them, trigger their execution methods and logic models according to the execution logic, and schedule their positions, etc. In addition, based on multi-threaded concurrent processing technology, the underlying resources such as computing resources, visualization display and rendering resources relied on by the system operation are intelligently allocated according to the computing and display requirements;

[0058] Step 3): receiving current system real-time state and resource scheduling request information through a message distribution service, performing real-time system scheduling on model systems (i.e. organic combination and mutual interaction of models) in the scene, and performing real-time scheduling and allocation of resources to complete simulation execution.

[0059] As a preferred solution, when there is a resource conflict, the following steps are adopted to resolve the resource conflict: when multiple events simultaneously request the use of the same resource, the processing priority of the multiple events is determined, and the execution time sequence of each event is calculated; the event with high processing priority or urgent execution time sequence is approved to use the resource, while the execution of the remaining events is blocked and waiting is notified; after the resource occupation is released, the block is released, and the use of the resource is approved according to the use request of other events.

[0060] Specifically, resource priority allocation and resolution in the case of resource conflict are implemented, and for the case of resource shortage conflict, intelligent allocation is performed according to the priority of the event requesting the resource, thereby improving resource use efficiency. A method based on priority sequencing and blocking-delaying-updating is adopted to schedule the conflicting resources in the parallel time advancement process, thereby realizing conflict resolution.

[0061] Step 1): simultaneously accepting multiple tasks (events) for the same resource use request;

[0062] Step 2): determining the processing priority of the multiple tasks or events requesting execution by judging the influence of the execution of the task or the triggering of the event on the system operation and business process (if the corresponding priority parameter has been configured in the simulation configuration file, the parameter can be directly read and applied);

[0063] Step 3): approving the task (event) with high priority and urgent execution time sequence to occupy the conflicting resource, while blocking the execution of the remaining tasks requesting the resource and notifying waiting;

[0064] Step 4): the task execution ends, the resource occupation is released, the block is released, the resource is scheduled to execute the remaining tasks, and the system state and event sequence timestamp are updated.

[0065] As a preferred solution, the following steps are adopted to update the event queue list: the main program is started, initial parameters are obtained, and state initialization is set; after initialization, initial sequence events are generated according to the formatting requirements of the configuration file; the initial sequence events are time-stamped and added to the event queue list.

[0066] Specifically, the main program is started and initial parameters are acquired, and the system state is initialized (i.e. the initial attributes of the model system are configured). According to the formatting requirements of the configuration file, a trigger condition for starting the execution of the flow is generated, i.e. an initial event is generated, time stamped, and added to the event queue list. According to this flow, the trigger parameters involved in the configuration file are parsed and initialized, and an event execution sequence is generated, so as to perfect and update the event queue list.

[0067] The application further provides an electronic device, which comprises a memory storing executable instructions, and a processor running the executable instructions in the memory to implement the parallel time sequence advancing method for discrete event system simulation.

[0068] Embodiment one

[0069] Figure 1 A flow chart of the parallel time sequence advancing method for discrete event system simulation according to an embodiment of the application is shown. Figure 2 A time sequence execution flow chart of the parallel time sequence advancing method for discrete event system simulation according to an embodiment of the application is shown. Figure 3 A time sequence execution system schematic diagram of the parallel time sequence advancing method for discrete event system simulation according to an embodiment of the application is shown. Figure 4 A distributed system schematic diagram of the parallel time sequence advancing method for discrete event system simulation according to an embodiment of the application is shown.

[0070] As shown in Figure 1 , Figure 2 , Figure 3 and Figure 4 , the parallel time sequence advancing method for discrete event system simulation comprises:

[0071] Step 1: starting a main program of simulation deduction;

[0072] Step 2: after the main program is started, updating an event queue list;

[0073] Step 3: after the event queue list is updated, according to the time stamps of the sequence events in the event queue list, calling the resources corresponding to the sequence events as needed, and executing the subprograms of the sequence events;

[0074] Step 4: after receiving a mutation state signal, generating a random event according to the mutation state signal, and setting the time stamp and the highest priority of the random event;

[0075] Step 5: according to the time stamp and the highest priority of the random event, executing the subprogram of the random event by using a trigger event parallel response method;

[0076] Step 6: After the subprogram of the random event is executed, the subprogram of the sequence event in the event queue list is executed in sequence, and a new random event is generated until the main program of the simulation inference ends, and a simulation report is generated.

[0077] Wherein, the following steps are used to call the resource corresponding to the sequence event according to the timestamp of the sequence event, and execute the subprogram of the sequence event: calling the time advancing subprogram, reading the top event of the event queue list, advancing the global clock according to the timestamp of the top event, and setting the current state; reading the latest clock according to the global clock, determining whether the current state meets the trigger condition of the sequence event in the event queue list according to the latest clock, and when the current state meets the trigger condition of the sequence event in the event queue list, calling the resource corresponding to the sequence event and executing the subprogram of the sequence event.

[0078] Wherein, after the subprogram of the sequence event is executed, the current state is updated, and whether there is a next sequence event is determined according to the updated current state, and if there is, the timestamp of the next sequence event is updated according to the updated current state and the next sequence event with the updated timestamp is written into the event queue list.

[0079] Wherein, the following steps are used to generate a random event according to the mutation state signal, and set the timestamp and the highest priority of the random event: analyzing the related information of the configuration file, matching the rules and principles of event triggering according to the mutation state signal, generating a random event according to the event triggering rules and principles, and setting the timestamp and the highest priority of the random event.

[0080] Wherein, the following steps are used to execute the subprogram of the random event according to the timestamp and the highest priority of the random event by using the triggered event parallel response method: the simulation member requests time advancing according to its own state; the maximum obtainable logical time of the member sending the request for time advancing is calculated according to the timestamp and the highest priority of the random event, and all simulation members are notified by broadcasting; the simulation clock is advanced, the resource corresponding to the random event is called, and the subprogram of the random event is executed; when the subprogram of the random event is executed, the request for time advancing to a time greater than the maximum obtainable logical time is blocked until the event advancing reaches the maximum obtainable logical time; the blocking is cancelled, the main program is returned, the timestamp of the sequence event in the event queue list is updated according to the timestamp of the random event, the sequence event in the event queue list is continued to be executed, and the triggering of the next random event is waited.

[0081] Wherein, the resources include equipment models, personnel models, device models, organization models, facility models, three-dimensional earth data, multi-level road network data, vectors, elevations, memory allocation, processor calculation and priority allocation.

[0082] Wherein, the resource of corresponding event is called as needed by the following steps: parsing event information in the process configuration file, confirming the mobilization rules of the model; loading the model used by the event into the simulation scene, and configuring the model; scheduling the model in the simulation scene in real time.

[0083] Wherein, when there is a resource conflict, the following steps are used to resolve the resource conflict: when multiple events simultaneously accept the use request of the same resource, the processing priority of the multiple events is determined, and the execution time sequence of each event is calculated; the event with high processing priority or urgent execution time sequence is approved to use the resource, while the execution of the remaining events is blocked and the waiting is notified; after the resource occupation is released, the block is released, and the use request of the other events is approved to use the resource.

[0084] Wherein, the following steps are used to update the event queue list: the main program is started, the initial parameters are obtained, and the state is initialized and set; after the initialization and setting, the initial sequence event is generated according to the formatting requirements of the configuration file; the initial sequence event is time-stamped and added to the event queue list.

[0085] The input of the design and application of a military simulation deduction engine based on a parallel time sequence advancing method suitable for discrete event system simulation is a process configuration file and a simulation model file. The configuration file is given in the form of a formatted configuration file such as json / xml. Among them:

[0086] The process configuration file, i.e. the deduction process execution definition file, defines the public information including scenario basic information, battlefield environment information, initial force composition information, deduction variable / parameter, scenario process information, activity basic information, activity sequence arrangement information, action basic information, model instance behavior method information, action sequence arrangement information and execution rule information triggered by events at any time. In addition to the above basic information required for process running, special information can be configured for execution process with special functional requirements. Such as evaluation and assessment information, parameter calculation information and statistical analysis information.

[0087] The simulation model file, i.e. the entity simulation model definition file, defines the general deduction model library and the basic attribute definition and editing specification of each model in the application process of the simulation deduction system. According to the model category, a complete set of design specifications and configuration interfaces of model basic attributes, special attributes, logic attributes, action attributes, animation attributes, state attributes and anchor point attributes are provided, the basic attribute default values of the common and inherent characteristic attributes of this type of model are provided, and the algorithm model of the two-dimensional and three-dimensional display model and behavior ability of the logic model is configured.

[0088] Embodiments of the application have been described above, with examples of the description being illustrative, not exhaustive, and not limited to the disclosed embodiments. Many modifications and variations of the described embodiments are possible in light of the above teachings. It is, therefore, to be understood that within the scope of the described embodiments, the application can be practiced otherwise than as specifically described.

Claims

1. A parallel timing progression method suitable for discrete event system simulation, characterized in that, include: Start the main program for simulation; After the main program starts, update the event queue list; After the event queue list is updated, the resources corresponding to the sequence events are called as needed according to the timestamps of the sequence events in the event queue list, and the subroutines of the sequence events are executed. After receiving the mutation state signal, a random event is generated based on the mutation state signal, and the timestamp and highest priority of the random event are set. Based on the timestamp and highest priority of the random event, the subroutine of the random event is executed using a parallel response method for triggered events. After the subroutine for the random event is executed, the subroutines for the sequential events in the event queue list will continue to be executed, and the program will wait for the generation of new random events until the main program of the simulation ends and a simulation report is generated. The process involves generating random events based on the mutation state signal using the following steps, and setting the timestamp and highest priority of the random events: The relevant information in the configuration file is parsed, and the rules and principles for triggering the event are matched according to the mutation state signal. Based on the event triggering rules and principles, a random event is generated, and the timestamp and highest priority of the random event are set. Specifically, the following steps are used to execute the subroutine of the random event based on its timestamp and highest priority, employing a parallel event response method: Simulation members request time advancement based on their own status; Based on the timestamp and highest priority of the random event, calculate the maximum available logical time for the member sending the request time advancement, and broadcast the notification to all simulation members; The simulation clock is advanced, the resources corresponding to the random event are called, and the subroutine of the random event is executed; When executing the subroutine of the random event, the request to advance the time to a value greater than the maximum available logical time is blocked until the event advance reaches the maximum available logical time; wherein, during the execution of the random event subroutine, the attempt to advance the simulation time to a value greater than the GALT advance request is blocked until the system reaches the state under the current value of GALT. The blocking is canceled, and the program returns to the main program. Based on the timestamp of the random event, the timestamp of the sequence events in the event queue is updated. The sequence events in the event queue are then executed, and the program waits for the next random event to be triggered. The random event triggering adopts a configuration method based on configuration files, which involves configuring pre-logic rules for random events: "state change - rule matching - event generation - triggering system". This includes: The system experiences a sudden change in state, that is, a sudden change in battlefield environment parameters or combat conditions, or the receipt of intervention or adjustment instructions from the outside world; Parse the relevant information in the configuration file, match the rules and principles for event triggering, generate additional events according to the event triggering rules, and set timestamps and highest priorities; Based on the latest priority sequence, random events are prioritized as top events, and corresponding processing subroutines are parsed, triggered, called, and executed to complete the parameter updates, position changes, creation, and destruction of the model, thereby updating the system state. After the event handling execution subroutine finishes execution, it returns to the main program, checks the system status, updates the timestamps of events to be executed, continues matching events in the event sequence, and the simulation continues.

2. The parallel timing progression method for discrete event system simulation according to claim 1, characterized in that, The following steps are used to call the resources corresponding to the sequence events according to their timestamps, and execute the subroutines of the sequence events: Call the time advance subroutine, read the top event of the event queue list, advance the global clock according to the timestamp of the top event, and set the current state; Based on the global clock, read the latest clock, and based on the latest clock, determine whether the current state meets the triggering conditions of the sequence event in the event queue list. When the current state meets the triggering conditions of the sequence event in the event queue list, call the resource corresponding to the sequence event and execute the subroutine of the sequence event.

3. The parallel timing progression method for discrete event system simulation according to claim 2, characterized in that, After the subroutine of the sequence event is executed, the current state is updated. Based on the updated current state, it is determined whether there is a next sequence event. If there is, the timestamp of the next sequence event is updated according to the updated current state, and the next sequence event with the updated timestamp is written into the event queue list.

4. The parallel timing progression method for discrete event system simulation according to claim 1, characterized in that, The resources include equipment models, personnel models, equipment models, organizational models, facility models, 3D Earth data, multi-level road network data, vectors, elevation data, memory allocation, processor calculations, and priority allocation.

5. The parallel timing progression method for discrete event system simulation according to claim 3, characterized in that, Use the following steps to invoke the resources corresponding to the events as needed: Analyze the event information in the process configuration file to confirm the model's activation rules; Load the model used by the event into the simulation scene and configure the model; Real-time scheduling of models in the simulation scenario.

6. The parallel timing progression method for discrete event system simulation according to claim 1, characterized in that, When resource conflicts exist, the following steps are used to resolve them: When multiple events simultaneously request the use of the same resource, the processing priority of the multiple events is determined, and the execution sequence of the preceding and following chains of each event is calculated. Approve high-priority or urgent events for processing, utilize the resources, and block the execution of other events while notifying them to wait. Once the resource occupation is resolved, the blockage is lifted, and the use of the resource is approved based on usage requests from other events.

7. The parallel timing progression method for discrete event system simulation according to claim 4, characterized in that, Update the event queue list using the following steps: The main program starts, obtains initial parameters, and initializes the state settings; After initialization, the initial sequence of events is generated according to the formatting requirements of the configuration file; The initial sequence events are timestamped and added to the event queue list.

8. An electronic device, characterized in that, The electronic device includes: Memory, which stores executable instructions; A processor that executes the executable instructions in the memory to implement the parallel timing progression method for discrete event system simulation according to any one of claims 1-7.

Citation Information

Patent Citations

  • Multi-task-based discrete event parallel simulation and time synchronization method

    CN104866374A

  • Single-chip microcomputer and synchronous and asynchronous control method thereof

    CN110673937A

  • Agile satellite dynamic task replanning method

    CN112465296A