There's a fairly comprehensive LGPL'ed library written in Java called 
SIMKit <http://diana.cs.nps.navy.mil/simkit>.  It's based on extensions 
to Lee Schruben's "event graph" methodology.  The author, Arnie Buss, 
developed a nice design framework which integrates object-oriented 
design with a listener pattern to create a truly reusable component 
architecture for model components.

--paul


In article <43B8D594.2050200 / cesmail.net>,
 "M. Edward (Ed) Borasky" <znmeb / cesmail.net> wrote:

> Well ... I found two discrete event simulators that are open source. One 
> is SimPy, written in Python (http://simpy.sourceforge.net/) and the 
> other is C++SIM, written in C++ (http://cxxsim.ncl.ac.uk/). I suppose 
> the Python one could be translated to Ruby ... it's LGPL. But I'd think 
> for efficiency reasons a Ruby/C++ integrated package would be a better 
> choice.
> 
> M. Edward (Ed) Borasky wrote:
> 
> > Well ... let's start with the "basics". Is there an open source C/C++ 
> > DES package one could build upon? I do a lot of work in computer 
> > performance analysis, mostly using modeling rather than discrete event 
> > simulation. I've only found *one* truly open source modeling package, 
> > Prism from http://www.cs.bham.ac.uk/~dxp/prism/. The rest are usually 
> > free within the "academic community" but are restricted to 
> > non-commercial use.
> >
> > I haven't done much discrete event simulation, so I haven't bothered 
> > to do a similar search for open source packages. There is a really 
> > good open source *network* simulator written in C++ with some Tcl/Tk 
> > interfaces, called "ns/nam". That can be found at 
> > http://www.isi.edu/nsnam/
> >
> > Incidentally, in case you weren't aware of this, the whole notion of 
> > "object-oriented programming" came from the language SIMULA, a 
> > discrete event simulation language extended from Algol 60. Most folks 
> > today think it came from Smalltalk. So Ruby should be an excellent 
> > language for discrete event simulation. Good luck with it!
> >
> > Larry White wrote:
> >
> >> i'm looking to simulate small, but not 'toy' systems.
> >>
> >> In my limited experience, implementation details like the choice of
> >> data structures and algorithms makes most of the difference, although
> >> for very large systems only C/C++ will do.
> >>
> >> I've seen a ruby wrapper for some random number generators in C, which
> >> should help, but i could probably get by with a pure Ruby version for
> >> my needs.
> >>
> >>
> >>
> >> On 1/1/06, Paul Sanchez <paul / nospam.argelfraster.org.invalid> wrote:
> >>  
> >>
> >>> In article
> >>> <d15ea14a0512310543q68611fc1te680fa78d8d96b9c / mail.gmail.com>,
> >>> Larry White <ljw1001 / gmail.com> wrote:
> >>>
> >>>   
> >>>
> >>>> ------=_Part_29885_17055621.1136036629870
> >>>> Content-Type: text/plain; charset=ISO-8859-1
> >>>> Content-Transfer-Encoding: quoted-printable
> >>>> Content-Disposition: inline
> >>>>
> >>>> I'm looking for a reasonably complete discrete event simulation 
> >>>> library in
> >>>> ruby. I've googled and found a couple of projects, but didn't see 
> >>>> anything
> >>>> that looked very complete.
> >>>>
> >>>> Ideally it would have random generators for most standard 
> >>>> distributions,
> >>>> good support for queueing, and some fast collection types like 
> >>>> splay trees.
> >>>>
> >>>> Does anybody know of anything? I could use a java library but i 
> >>>> can't think
> >>>> of a better language for building and running small simulations 
> >>>> than ruby.
> >>>>
> >>>> thanks in advance.
> >>>>
> >>>> ------=_Part_29885_17055621.1136036629870--
> >>>>     
> >>>
> >>> I can see using Ruby as a teaching tool for DES, but not for production
> >>> runs unless you're only simulating toy systems.  As much as I love Ruby
> >>> and am twisting people's arms to get them to look at it, the "orders of
> >>> magnitude slower" aspect really hurts here.
> >>>
> >>> --paul