🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: bit.listserv.simula
Article #502

Simula/DEMOS and C++/Sim Plus Plus, simulation languages

#502
From: Rob Pooley
Date: Wed, 25 May 1994 12:44
99 lines
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!rjp

Show 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