Title :
Alternative implementations of multitrajectory simulation
Author :
Gilmer, John B., Jr. ; Sullivan, Frederick J.
Author_Institution :
Wilkes Univ., Wilkes-Barre, PA, USA
Abstract :
Multitrajectory simulation allows random events in a simulation to generate multiple trajectories and explicitly manage the set of trajectories. The original prototype combat simulation used to demonstrate and test the concept used code embedded in the functional modules, e.g. those that implement “move”, “shoot”, etc. A much improved method provided a class library that hid the messy details. When a random choice is made, a random choice method appears to return twice (or more) for a given call, once in the context of the original state, and once each for the new trajectories. These techniques both have significant shortcomings. For example, the second (more preferable) technique really needs to be able to overwrite the C++ “this” variable, an option unavailable on C++ compilers. Since these issues surfaced, three additional implementation techniques have been developed. These include periodic copying of states to provide reference copies and duplication of trajectories up to the branch point, reformulation of the simulation into a discrete event style, and reformulation into a tail recursive style. We review these techniques. Each has advantages and disadvantages. Multitrajectory simulation is not dependent on the particular limitations of any one method
Keywords :
digital simulation; military computing; C++; class library; combat simulation; compilers; discrete event simulation; multiple trajectories; multitrajectory simulation; periodic copying; random choice method; random events; tail recursive simulation; Analytical models; Discrete event simulation; Libraries; Space exploration; Stochastic processes; Stochastic systems; Tail; Testing; Trajectory; Virtual prototyping;
Conference_Titel :
Simulation Conference Proceedings, 1998. Winter
Conference_Location :
Washington, DC
Print_ISBN :
0-7803-5133-9
DOI :
10.1109/WSC.1998.745082