Multiscale Representation of Simulated Time
SIMULATION: Transactions of The Society for Modeling and Simulation International
Rhys Goldstein, Azam Khan, Olivier Dalle, Gabriel Wainer
Volume 94, Issue 6
pp. 519-558
To better support multiscale modeling and simulation, we present a multiscale time representation consisting of data types, data structures, and algorithms that collectively support the recording of past events and scheduling of future events in a discrete event simulation. Our approach addresses the drawbacks of conventional time representations: limited range in the case of 32- or 64-bit fixed-point time values; problematic rounding errors in the case of floating-point numbers; and the lack of a universally acceptable precision level in the case of brute force approaches. The proposed representation provides both extensive range and fine resolution in the timing of events, yet it stores and manipulates the majority of event times as standard 64-bit numbers. When adopted for simulation purposes, the representation allows a domain expert to choose a precision level for his/her model. This time precision is honored by the simulator even when the model is integrated with other models of vastly different time scales. Making use of C++11 programming language features and the Discrete Event System Specification formalism, we implemented a simulator to test the time representation and inform a discussion on its implications for collaborative multiscale modeling efforts.