Storage of simulation and entities history in discrete models - De Giusti, Marisa Raquel (2008)
Simulation is the process of executing a model, that is a representation of a system with enough detail to describe it but not too excessive. This model has a set of entities an internal state, a set of input variable that can be controlled and others that cannot, a list of process that bind these input variables with the entities and one or more output values, which result from the execution of the processes. Running a model is totally useless if it can not be analyzed, which means to study all interactions among input variables, model entities and their weight in the values of the output variables. In this work we consider Discrete Event Simulation, which means that the status of the system variables being simulated change in a countable set of instants, finite or countable infinite. Simulation programming languages provide a big range of tools for analysis of the results, for generation and execution of experiments and to perform complex analysis (such as Analysis of Variance). This is usually enough for common analysis, but many times more detailed information is required. In many circumstances it is desirable to have all run of simulations stored in order to make further analysis or comparisons between simulations, many time after they have been run. Most simulation environments provide reports and logs (journals) and permit to save them in text or formated files, which include all results and some aspects of the run itself. In this work, we propose to store not only all simulation results, but all simulation history. This implies to store all permanent entities of the simulation, and all changes they have undergone along the simulation times. But it not only limits to permanent entities, since we also store the temporary ones, which are created and destroyed anytime in the simulation and which existence is subject to the execution of the simulation and the state of all model variables. This development takes the same syntax of GPSS language and the way it handles entities, to develop a simple interpreter and a tool that considers a subset of GPSS entities and permits to execute simulations with them. Besides, this tool permits to search and select entities for each simulation and displays their evolution along the simulation.