SwarmEnvironment contains objects and methods for a simulation run. Essentially, everything that would be globally accessible in Objective C is stored here, since Java has no notion of global variables. Here one can find:
the Swarm startup method, initSwarm
This is the first call that any Swarm simulation will make.
The arguments are:
globalZone
All Swarm objects must be put in a Zone. At the start of the model, globalZone can be used to bootstrap things. After that, new sub-zones can be created and used instead.
randomGenerator, uniformIntRand, uniformDblRand
For convenience, a basic generator object and distribution objects are created upon initSwarm.
probeLibrary
The singleton object associates subsets of variables (standard ways to inspect an object) with a class. The default view is all the variables, but this can be changed by sending messages to this object.
probeDisplayManager
This singleton object keeps track of what GUI object displays have been made by the user. Sending messages to this object allows one to bring the display in sync with the real object
symbols returned by status methods
symbols used as arguments
global and application-specific archiver objects
The singleton objects below accept get and put messages that result in reading or writing objects to file. The `App' objects are stored in an application-specific file (APPNAME.{hdf,scm}) and the others are stored in a global file in the users's home directory.