Article View: bit.listserv.simula
Article #502Simula/DEMOS and C++/Sim Plus Plus, simulation languages
From: Rob Pooley
Date: Wed, 25 May 1994 12:44
Date: Wed, 25 May 1994 12:44
99 lines
4730 bytes
4730 bytes
Replying to Kjetil Skotheim, The two packages you mention are very different and I canonly claim to be very experienced with DEMOS. There is also a package called SIM++, which comes from Jade Inc in Canada, so I will include that in my response. All these views are personal and relate to my own interests, which are fairly general simulation. DEMOS ----- This is now a classic simulation package, written in SIMULA as a reworking of SIMULA's built in CLASS SIMULATION. It is small (2500 lines including comments) and well structured. It uses the class and co-routine features of SIMULA to provide a nice, easy to program language. It has incorporated lessons from GPSS, ECSL etc. It has automatic statistical reporting and event tracing can be turned on by inserting a simple procedure call. Its random number generation is good (Lehmer multiplicative congruential) and it uses objects to simplify automatic seed selection. Reporting includes most simple statistics, either built in to primitives such as resources or explicit added by the modeller as objects in the program. Only a small subset of SIMULA is needed to make use of DEMOS, but the whole of the SIMULA language is available for trickier tasks. It is easy to extend DEMOS, either by addin gto the source or by building a new package prefixed by it. There have been a few graphical front ends produced for DEMOS. I have experimental ones for X-windows and MS/DOS VGA which I can supply on request. They are written in SIMULA. DEMOS is supplied in source form and is machine independent at that level, i.e. you need a SIMULA compiler for the machine where you want to run it. It will run on machines from an Atari ST upwards. There is an extension of DEMOS called DISCO which adds combined/continuous modelling capabilities. DEMOS is not free, but is cheap for Universities. DISCO is public domain from the listserver. SIM plus plus ------------- This was built for network simulation, I believe. it is a large and quite complex set of C++ libraries. It is not hardware independent, but the parts requiring change to run on new machines are quite small. It has extensive facilities to supprt result generation and display, including postscript output. I found it interesting, but less clean for general purpose simulation. I am happy to admit that that may be because I find C++ uglier than SIMULA (since C is uglier than Algol 60). (Sorry Bjarne, but youknow what I mean!) For teaching purposes I prefer DEMOS, but I would be happy to settle for a C++ package with its simplicity these days. I don't think Sim plus plus has as obvious a concept of processes, nor of primitives such as resources, which underlie true process oriented simulation. SIM++ ----- This is a commercial package, written in C++, but with lots of hardware and operating system dependencies. Its features were heavily influenced by DEMOS, but are less extensive. Its main benefit is that it supports genuinely parallel simulation using the TimeWarp optimistic simulation mechanism (virtual time and rollback). It is uglier than DEMOS, but seems cleaner as a process oriented package than sim plus plus, to my biased eyes. Please don't send me your arguments with the above. It is just my biased thoughts. For some excellent discussion of proces oriented simulation see: W. Franta, The Process View of Simulation, North Holland, 1978 (Out of print) G. Birtwistle, Discrete Event Modelling on Simula, Macmillan, 1979 W. Kreuzer, Systems Simulation, Addison-Wesley, 1986 Birtwistle, Lomow, Unger and Luker, Process Style Packages for Discrete Event Modelling, parts 1 and 2 in Transactions of the SCS Vol 1 No 2 and Vol 2 No 1. Rob Pooley -- Rob Pooley Department of Computer Science Edinburgh University Kings Buildings Mayfield Edinburgh EH9 3JZ Scotland Tel. +44 31 650 5123 Fax. +44 31 667 7209
Technical Details
Message-ID:
<8384.9405251244@auskerry.dcs.ed.ac.uk>Path:
arc1-ca.pugleaf.net!bga.com!news.sprintlink.net!demon!uknet!doc.ic.ac.uk!pipex!howland.reston.ans.net!paladin.american.edu!auvm!DCS.ED.AC.UK!rjpShow Full Headers
Complete Article Headers
X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 113dd9,cee728278e642956,start X-Google-Attributes: gid113dd9,public X-Google-ArrivalTime: 1994-05-25 17:43:57 PST Path: arc1-ca.pugleaf.net!bga.com!news.sprintlink.net!demon!uknet!doc.ic.ac.uk!pipex!howland.reston.ans.net!paladin.american.edu!auvm!DCS.ED.AC.UK!rjp Comments: Gated by NETNEWS@AUVM.AMERICAN.EDU Newsgroups: bit.listserv.simula Via: uk.ac.ed.dcs; Wed, 25 May 1994 13:44:13 +0100 Message-ID: <8384.9405251244@auskerry.dcs.ed.ac.uk> Date: Wed, 25 May 1994 13:44:42 BST Sender: The SIMULA Language List <SIMULA@UGA.BITNET> From: Rob Pooley <rjp@DCS.ED.AC.UK> Subject: Simula/DEMOS and C++/Sim Plus Plus, simulation languages In-Reply-To: <9404220113.aa03201@dcs.ed.ac.uk> (kasbj@alkymi.unit.no) Lines: 98