Discrete Event Simulation Reset via OS Memory Unloading
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing discrete event simulation tools face inefficiencies and error-prone programmatic approaches for resetting simulations, particularly in complex systems where manual intervention and public interfaces are required, leading to maintainability issues.
Innovation Solution
A system and method utilizing a control program to direct the operating system to unload and reload a simulator's components from memory, employing shared executable files and a simulation engine, effectively resetting the simulation to its initial state without manual reset functions, leveraging the operating system's loading/unloading facilities.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If programmatic reset functions are used to reset simulation variables, then reset capability is achieved, but system complexity and error-proneness increase
Solution Approach 1:
The patent extracts the reset functionality from the simulation engine core by using operating system level memory management (loading/unloading shared libraries). This separates the reset mechanism from the simulation code, eliminating the need for complex programmatic reset functions while improving reliability through a simpler, more robust solution.
Solution Approach 2:
The patent introduces the operating system's loading/unloading facility as an intermediary between the user's reset request and the simulation variables. Instead of directly manipulating simulation variables through complex reset functions, the system uses the OS mediator to unload and reload the simulator, which automatically resets all variables through the initialization routines.
2Reliability
If manual reset functions are created for each simulation variable, then complete reset is achieved, but maintenance difficulty increases
Solution Approach 1:
The patent enables the simulator to reset itself automatically through the loading/unloading mechanism. When the shared library is unloaded and reloaded, the initialization routines are automatically executed, resetting all simulation variables without requiring manual intervention or complex reset functions. This self-service approach dramatically improves maintainability.
3Adaptability or versatility
If public interface functions are provided for reset, then external module support is enabled, but interface complexity and documentation requirements increase
Solution Approach 1:
The patent makes the loading/unloading facility a universal mechanism that works for all simulation variables and external modules simultaneously. A single reset operation (unloading and reloading the shared library) resets the entire simulation state including all external module variables, eliminating the need for separate reset functions for different modules.
4Reliability
If all simulation variables are re-assigned for reset, then true reset is achieved, but time consumption increases
Solution Approach 1:
The patent performs preliminary action by unloading the shared library from memory before reloading it. This approach is more efficient than individually re-assigning millions of variables because the unloading process automatically discards all current variable states, and the subsequent reloading automatically re-initializes all variables through the initialization routines, achieving true reset faster.
Data Source
AI summary
A system for controlling reset in discrete event simulation is disclosed. The system includes a simulator configured to effect the discrete event simulation, the simulator having a plurality of shared executable files, a memory configured to store the simulator for execution, an operating system having a loading/unloading facility, and a control program configured to effect a reset operation by directing the operating system to unload the simulator from the memory and then reload the simulator into the memory using the loading/unloading facility.


