Path: utzoo!utgpu!watserv1!watmath!att!pacbell!pacbell.com!ucsd!swrinde!cs.utexas.edu!radar!cadillac!vaughan@mcc.com From: vaughan@mcc.com (Paul Vaughan) Newsgroups: comp.lang.c++ Subject: Re: discrete-event simulation in C++ Message-ID: <10629@cadillac.CAD.MCC.COM> Date: 23 Aug 90 14:25:18 GMT References: <2533@ryn.esg.dec.com> <5606@abaa.UUCP> <1990Aug22.171319.12499@ida.liu.se> Sender: news@cadillac.CAD.MCC.COM Reply-To: vaughan@mcc.com (Paul Vaughan) Organization: MCC VLSI CAD Program Lines: 28 In-reply-to: mip@IDA.LiU.SE (Mikael Patel) Discrete event simulation should be done in SIMULA, the grandfather of object-oriented programming languages. What you need is classes and COROUTINES to make life easy for you! C++ has only classes. Try looking at DEMOS. Its a nice simulation package written in Simula-67 that is very easy to use and generates all the statistics you need without you having to implement random functions, histograms, etc. There is a text book; G.M. Birtwistle, Discrete Event Modelling on Simula, Macmillan, 1979, ISBN 0-333-23881-8. Simula compilers for most modern machines (workstations, pc, macintosh, etc) are available. Not to knock SIMULA, but you can get all these things and more in C++. For instance, ATT distributes its tasking library (coroutines) and there should be a tasking package in libg++ soon. Libg++ has a choice of random stream generators and about every distribution you could need. It also has classes for recording statistics, histograms, etc. You can get plotters (notably Dag Bruck's plotter in the InterViews contrib library) and all sorts of useful classes in the public domain or in libraries. I'm not sure what SIMULA does in the way of dynamic type checking, but you can use the NIHL stuff to accomplish that in C++. So, there certainly is a choice these days. Paul Vaughan, MCC CAD Program | ARPA: vaughan@mcc.com | Phone: [512] 338-3639 Box 200195, Austin, TX 78720 | UUCP: ...!cs.utexas.edu!milano!cadillac!vaughan