I think what you are asking for is "checkpointing" which is implemented and well described in the MASON manual (section 4.2.1 and the tutorial too) although it requires every object to be serializable.
There might be other ways of storing java objects obviously but this is native so it might be worth a try.
I probably asked this before.
My model is an evolutionary system that evolves agents towards some goal. When I evolve each successive generation, I have to run N number of simulations — basically evaluating a population of N genotypes (N is usually 512). By the time I get to the 100th generation, I would have run 100N simulations.
I want to visualize the behavior of these agents (in the View) — but I want to just observe one simulation, every N simultions. In other words, I want to visualize simulation number 1, simulation number N+1, simulation number 2N+1, and so on… (it doesn’t have to be the first one, neccessarily, it could be just any one from that set of N simulations).
Translated in the model-view-controller lingo: I want the controller to stop observing the model and rendering the view at certain points while keeping the model running as usual. The reason for this should be obvious: the model runs much much faster without graphics rendering — and I want to observe the progress much more efficiently by peeking into the model, periodically.
Certain options are out: I don’t want to serialize and re-animate with a separate “player” — I want to observe real-time.
I am more than willing to get under the hood of MASON and directly work on the source (e.g. Controller.java) — all at my own risk, of course. What would be nice is some idea on where I can momentarily “detach” the view and “re-attach” it again.