Last updated at 6:53 am UTC on 18 January 2007
The discrete event simulation package of Smalltalk-80
When the Blue Book came out, the chapters about the discrete event simulation package were really exciting - I think it was the first fully documented and code complete simulation framework and the happy ones that had a Smalltalk-80 licence could use it to write very innovative software. Remember that in the early eighties there were almost no other simulation languages available. Finding a computer that had Simula was extremely difficult and writing discrete event simulation with Fortran was all but fun.
Here is a zip file with two change sets: Simulation.zip (24 KBytes)
Change set simulation.1.cs contains the simulation framework, change set BlueBookExamples.2.cs contains the examples from the blue book. To run the examples, go to the comment of class SimulationExamples.
Note that a simulation object has to be subclassed from EventMonitor to be able to trace its activities into a stream. In the Blue Book, you find such traces also for simulation objects that are not subclassed from EventMonitor. This might be a bit confusing, but the problem is really easy to fix: simply change the superclass.
It would be nice to have a tutorial about how to use the simulation framework, but I will need some time to write it. It would also be nice to carefully modernize the simulation framework, but that is a different topic.
Selected examples from the blue book have been translated into other languages. Here are two references for the car washe example:
http://citeseer.ist.psu.edu/491911.html (discrete event simulation in Java)
http://www.mactech.com/articles/mactech/Vol.06/06.12/Discretesimulations/index.html (same thing in Modula-2)
Here is a fileout from a Smalltalk-80 Version 2.5 image: st80Simul.zip (17 KBytes) It is a souvenir from the past century: The files were written in 1990!