swarm-support
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Initializing objects with lisp


From: Marcus G. Daniels
Subject: Re: Initializing objects with lisp
Date: 11 Jun 1999 17:58:31 -0700
User-agent: Gnus/5.070084 (Pterodactyl Gnus v0.84) Emacs/20.3.10

>>>>> "AL" == Alex Lancaster <address@hidden> writes:

AL> Advantages of using the Lisp archiver over the
AL> Object{Loader,Saver} method are:

Yep, Object{Loader,Saver} were the from era of ad-hoc closed-world
Swarm features.  Nowadays, we're trying to address integration with
popular research tools, and preferably free ones.  :-)

The Lisp archiver backend requires grouping output into expressions,
which has two potential disadvantages, relative to the HDF5 backend:

  1) Memory overhead

  2) Collect/save pattern of use

At some point a call to `-save' is needed which groups a the objects
under the Archiver's management and spits output their name-tagged
serialized expressions.

On the other hand, the Lisp archiver:

  1) doesn't require HDF5 to be installed
     (e.g. it's unknown by us whether HDF5 works with Swarm on Windows,
      although there is a port)    

  2) is straightforward for stream-oriented use, e.g. over sockets.

  3) uses the syntax of an interpreted programming language.  
     When someone gets around to dropping a Scheme interpreter into
     Swarm, it will be possible to have model code and data live in
     harmony.  Models could load (and mutate) agent behaviors as well
     as agent state.

Btw, we are taking steps to make both modes (HDF5 and Lisp) of
archiver use practical for time series model output.  With any luck,
the 2.0 release will make it feasible to output thousands of
time-tagged objects for statistical analysis (in 1.4.1, more objects
archived means more virtual memory consumed).

AL> The next release of both `mousetrap' and
AL> `heatbugs' actually has this implemented by default, but you can
AL> experiment with the following code, which will work with Swarm
AL> 1.4.1.

Sugarscape can also use the Archiver for its sugar distribution map.
(One can load the current portable graymap in R and save it as HDF5.
Swarm can then recover the Discrete2d object from the HDF5 file.)

                  ==================================
   Swarm-Support is for discussion of the technical details of the day
   to day usage of Swarm.  For list administration needs (esp.
   [un]subscribing), please send a message to <address@hidden>
   with "help" in the body of the message.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]