The space object defines methods for actions which depend only on spatial geometry, such as the movement of an agent, and does so in such a way that user-defined agents can take immediate advantage of these methods. A space object also makes available to the user a set of general functions operating on spatial variables. The interface to the prototype Swarm consists of a collection of tools for analysis and visualization. The prototype Swarm allows the user to create, modify, and destroy objects. Each object has a few standard attributes managed by Swarm, as well as user-specified private data.
Objects possess a private data storage.
Objects are at liberty to make data in this store public. Swarm computations are organized about regular, global, time steps. The computations performed by an object are described in its step function and post-step function . The regular triggering of the individual step functions does not entail synchronous activity of the objects. Objects may be designed, for instance, to respond at irregular intervals to the global trigger.