[gnu.g++] discrete-event simulation in C++

zavgren@hpsrad.enet.dec.com (John Zavgren) (08/21/90)

I am about to write a discrete-event simulation of a communications
network. The object-oriented paradigm looks like it should save a lot
of programming time, but I have never programmed in an object-oriented
language, let alone C++. Can anyone furnish me with a few well-written
well-commented C++ programs that I can use to get started with this project?
I am especially interested in queueing network simulations.

RSVP
John Zavgren  

ecsv38@castle.ed.ac.uk (S Manoharan) (08/21/90)

In article <2533@ryn.esg.dec.com> zavgren@hpsrad.enet.dec.com (John Zavgren) writes:
>I am about to write a discrete-event simulation of a communications
>network. The object-oriented paradigm looks like it should save a lot
>of programming time, but I have never programmed in an object-oriented
>language, let alone C++. Can anyone furnish me with a few well-written
>well-commented C++ programs that I can use to get started with this project?

I have this library of C++ classes for constructing event-based 
(event-driven) simulations. If you need it, give me a loud shout.

But, could someone tell me how event-based simulations compare
with process-based simulations with respect to:
   1. Ease of development
   2. Code updatability and maintainability
   3. Code size
   4. .....

Are event-based simulations stuffs of stone-age?

Manoharan.

korsberg@abaa.uucp (Ed Korsberg) (08/22/90)

In article <5845@castle.ed.ac.uk> ecsv38@castle.ed.ac.uk (S Manoharan) writes:
>But, could someone tell me how event-based simulations compare
>with process-based simulations with respect to:
>   1. Ease of development
>   2. Code updatability and maintainability
>   3. Code size
>   4. .....
>
>Are event-based simulations stuffs of stone-age?
>

I think process based simulations are more appropriate for modeling 
multi-tasking computer systems.  It would also seem to be more 
"object oriented" than event based simulations in that an object can be
modeled independently of another object.

Event based simulations still have their place but I believe that process
based simulations have replaced it for most models.

--------------------------------------------------------------------------------
-- 
Ed Korsberg             E-mail: korsberg@aa.ab.com
Allen Bradley           phone:  313-998-2470
555 Briarwood Circle
Ann Arbor, Mich 48104

korsberg@abaa.uucp (Ed Korsberg) (08/22/90)

In article <2533@ryn.esg.dec.com> zavgren@hpsrad.enet.dec.com (John Zavgren) writes:
>I am about to write a discrete-event simulation of a communications
>network. The object-oriented paradigm looks like it should save a lot
>of programming time, but I have never programmed in an object-oriented
>language, let alone C++. Can anyone furnish me with a few well-written
>well-commented C++ programs that I can use to get started with this project?
>I am especially interested in queueing network simulations.
>

I am interested in this too!  Have you taken a look at the CSIM program
available through MCC?  It's only $150 and runs on a variety of machines.
Also have you though about using Smalltalk for you simulation?  
I think that C++ is an attempt to mimic some of the concepts promoted in Smalltalk.  

Smalltalk already has simulation classes for doing discrete event simulation, 
although I do not know if it can do higher level process simulation.

Please let me know which route you take for your project, I need to do something
similar soon.
------------------------------------------------------------------------------

-- 
Ed Korsberg             E-mail: korsberg@aa.ab.com
Allen Bradley Inc.      phone:  313-998-2470
555 Briarwood Circle
Ann Arbor, Mich 48104

pawel@cs.UAlberta.CA (Pawel Gburzynski) (08/23/90)

From article <2533@ryn.esg.dec.com>, by zavgren@hpsrad.enet.dec.com (John Zavgren):
> I am about to write a discrete-event simulation of a communications
> network. The object-oriented paradigm looks like it should save a lot
> of programming time, but I have never programmed in an object-oriented
> language, let alone C++. Can anyone furnish me with a few well-written
> well-commented C++ programs that I can use to get started with this project?
> I am especially interested in queueing network simulations.
> 
> RSVP
> John Zavgren  


	I am currently developing a package for modelling communication
networks in g++. The package is called SMURPH and descends from LANSF -- an
earlier version of the package written in plain C. For all practical
purposes SMURPH is ready, but still undocumented. I anticipate to have
a distributable version by the end of September. It is my intention to
distribute SMURPH for FREE. There may be some subtle problems, though, as
SMURPH will be used in my book on protocol design and Prentice Hall may
have some objections. Anyway, I believe that individual cases can be handled
without problems.

	In some sense SMURPH is both event-driven and process-driven. The
user sees only the process driven part. If anybody is interested, I can provide
some related papers (including examples of networks and protocols programmed in
SMURPH). Moreover, LANSF (the SMURPH's predecessor) is available without
restrictions and, of course, it is absolutely free. You can copy it
using anonymous ftp from menaik.cs.ualberta.ca (pub/lansf.2.11.tar.Z).
It comes with a (somewhat lengthy) manual that must be processed by
LaTeX.


				Pawel Gburzynski
				Department of Computing Science
				University of Alberta
				615 GSB
				Edmonton, Alberta, Canada
				T6G 2H1

sam@cs.ed.ac.uk (S. Manoharan) (08/24/90)

In article <5845@castle.ed.ac.uk> ecsv38@castle.ed.ac.uk (S Manoharan) I wrote:
>
>But, could someone tell me how event-based simulations compare
>with process-based simulations with respect to:
>   1. Ease of development
>   2. Code updatability and maintainability
>   3. Code size
>   4. .....
>

I just found a reference which suggests the better-ness of process-based
simulations over others:
@article{Birt85,
   author = "Graham Birtwistle and Greg Lomow and Brian Unger and Paul Lucker",
   year =	"May 1985",
   journal =	"Trans. of the society for computer simulation",
   number =	"1",
   pages =	"27-56",
   title =	"Process Style Packages for Discrete Event Modelling: Experience from the transaction, activity and event approaches",
   volume =	"2"
}

In case someone's interested.

Manoharan.

Ps - Those who wanted the class library, please hold on for a few days.
I will mail it soon.


--
S. Manoharan               Janet: sam@uk.ac.ed.lfcs
Dept of Computer Science   Uucp : ..!mcsun!ukc!edcastle!lfcs!sam 
University of Edinburgh    Arpa : sam%lfcs.ed.ac.uk@nsfnet-relay.ac.uk
Edinburgh EH9 3JZ    UK.   Voice: 667 8323(home) 667 1081x2708(office)