Discrete event/agent based simulation

Simon Frost sdfrost at ucsd.edu
Tue Sep 30 19:24:52 UTC 2003


Dear Squeak list,

I'm new to Squeak/SmallTalk, and I've found the best way (for me) to learn 
about an OO language is to implement a discrete event simulation. I've been 
looking for resources in this vein, and I wonder whether anyone has any 
other pointers.

For a basic DES, one needs the following:

1. A random number generator

I've found a Smalltalk version of the TT800 RNG 
(http://www.dnsmith.com/squeak/#TT800), and a mailing of a Mersenne Twister 
(from Makoto Matsumoto, Takuji Nishimura, and Hideo Fukumori). Are there 
any other implementations I should know about, and have they been tested?

2. A scheduler

My other implementations of DES (in Python and in Eiffel, incidentally), 
keep sorted timestamps in a balanced binary tree (either an AVL tree or a 
Red-Black tree). Are there Collections that implement such data structures?

It's also nice to have some GUI input/output. Specifically, is there a 
standard plotting library that people use?

My simulations often involve networks. Are there any nice packages for 
storing, displaying, and analyzing graph structures? (I've seen some on 
SqueakMap, but I haven't tried them out yet). Some nice vector graphics 
routines for animating graphs would be nice too.

I've also had a look at Microcosms (http://www.agro.uba.ar/microcosms/), 
which is very interesting, and I wonder how much of my models could be 
built into this.

Thanks for any feedback
Simon



More information about the Squeak-dev mailing list