March 2016


Options: Use Monospaced Font
Show Text Part by Default
Show All Mail Headers

Message: [<< First] [< Prev] [Next >] [Last >>]
Topic: [<< First] [< Prev] [Next >] [Last >>]
Author: [<< First] [< Prev] [Next >] [Last >>]

Print Reply
Sean Luke <[log in to unmask]>
Reply To:
MASON Multiagent Simulation Toolkit <[log in to unmask]>
Wed, 23 Mar 2016 11:55:24 -0400
text/plain (16 lines)
On Mar 23, 2016, at 5:01 AM, Luís de Sousa <[log in to unmask]> wrote:

> On 23 March 2016 at 09:52, Nick Malleson <[log in to unmask]> wrote:
>> Ernesto, what are the implications of having to make Agent serializable?
> And would ask why it must be made serializable? I never did it myself...

If your model is entirely serializable, then you can checkpoint it.  This means you can save out snapshots of the model as it's running to revisit later; you can also save out a model running (say) on a back-end server machine, move it forward to your laptop, and examine it under visualization, save it out AGAIN, and move it back on the server to keep running, etc.

I would strongly suggest you try to make your model serializable.  Generally this means you should avoid attaching to your agents any GUI or visualization stuff (or having them subclass from the same), and similarly for any objects in your SimState.  And inner classes too!  Nonserializable GUI stuff should instead go into your GUIState object.  

If you do NOT do this, your model will still run just fine under the GUI. But you won't be able to checkpoint/save it out or migrate it, just run it.