[comp.os.research] MODSIM articles

unni@sunset.sm.unisys.com (Unni Warrier) (08/12/87)

>From: Jacob Gore <uwvax!oddjob!gargoyle!nucsrl!gore@seismo.CSS.GOV>
Subject:  Re: complaining about PAWS... (interfaces to simulation engines)
>
>Since the Ada language comes up for review every five years, I would
>like to see support gathered for improving Ada's support for
>inheritance by 1993.  The first step is developing a proposal for how
>to add inheritance to Ada without breaking the language.  Anyone
>interested?  

Well, I'm interested in the sense that I would like to see it done very much.
I'm afraid that it's a bit out of my field, though, so I don't know how
helpful I could be to the effort.

I think that the best place to attack this, and related problems is the
package construct.  Here's what I wish was added to the language (and it would
not break any existing programs):

1.  Package type
    a.  Improves orthogonality (there are task types, so why not package
	types?) 
    b.  Allows to have classes of objects where each object is implemented
	as a package.  This, in turn:
	 i.  Allows to have an explicit distinction between class operations
	     (exported operations that work on objects of exported private 
	     types) and instance operations.
	ii.  Allows flexible initialization of objects (the begin-end section
	     serves as the object constructor operation).

2.  Adding a section to the package body that is be executed when the package
    is destroyed.
    a.  Provides for automatic cleanup (essential when one uses dynamic data
	structures and cannot rely on a garbage collector).
    b.  When combined with suggestion (1), serves as an object destructor
	operation. 

I have several other suggestions, but they are not related to this specific
topic. 

Please let me know if I can be of help.

Jacob Gore				gore@EECS.NWU.Edu
Northwestern Univ., EECS Dept.		{gargoyle,ihnp4,chinet}!nucsrl!gore


****************************************************************************

>From tsuchiya@gateway.mitre.org Wed Aug  5 15:34:29 1987
Subject: Re:  PAWS: a simulation package...

> Perhaps an appropriate way to start the discussion is to bring up the topic
> of simulation tools. .........................
> 
> I do yearn for a better language / interface, so that creating the 
> simulations would be much more easy (object-oriented, graphical interface
> Does anyone out there know of better tools that we could
> all hear about?  

I have seen what appears to be a rather nice, very general purpose network
simulator.  It is being marketed as a CAE system for communications.

It is being developed by a start-up called MIL 3, Inc., and the tool itself
is called OPNET.  It currently runs on an Apollo, but they are going to port
it over to Sun sometime soon.  It will cost $25,000 after September ($17,000
now).  I haven't used it myself, but hope to buy it if I can convince my
bosses.

Basically, it provides a complete set of tools for 1) defining processes
via a state machine description or straight from C-code, or both, 2) defining
nodes built from those processes (and some they provide, like traffic
generators, queues, radio transmitters and receivers), 3) building a
network from those nodes, 4) gathering all kinds of data, 5) setting up
the simulation, and 6) tools for analyzing the data in about as many ways
as one would ever want to, and getting the data out in graph form.

The system could be described as real fancy, but I think that pretty much
all of the fanciness has a purpose, and isn't there just to seduce.

If anybody cares, their number is 202-944-4740.

	Paul Tsuchiya		tsuchiya@gateway.mitre.org
	The MITRE Corp.		tsuchiya@mitre-gateway.arpa

***************************************************************************
>From art@CS.UCLA.EDU Wed Aug  5 17:17:53 1987
Subject: Re: Two modsim articles... 

X Jerry Freedman, Jr      writes:
X    The simulations we(I?) have been involved in for the last few years
X have been very finely detailed communication network simulations. Each
X node in the network is modelled ona real node and has the
X queues,flags,counters and buffers that real node would have. The simulation
X  can be halted at any time and the state of a node can be inspected
X and modified. Such simulations don't lend themselves to packages since
X you can't get the detail you want. They wouldn't lend themselves to
X Time Warping since you couldn't tell if the state of the node you were
X examining would be "final". Thats why we went for the NULL message
X approach. A real ADA type multitasking  version described by

In Time Warp a process' state becomes final when its simulation time
is less than the simulation's global virtual time (GVT).  It should
be a suitable synchronizaton mechanism for your communications network.
Im curious.  Do you have speedup measurements that compare your simulation
on many processors versus one processor?


In article <3557@sdcsvax.UCSD.EDU> you write:
>Two of the more famous paradigms for distributed simulation are the
>Chandy-Misra scheme (CM) and the Jefferson time warp scheme (TW).  CM allows
>the distributed simulation to proceed till a deadlock and then have ways of
>detecting the deadlock, and resolving it.  A deadlock arises when each of the
>processes in a cycle is waiting for a message from the previous process.  TW
>allows the simulation to proceed and has a rollback mechanism for dealing
>with out-of-order timestamped messages.  Hence one question is:  has anyone
>used TW or CM in their distributed simulations? What are your experiences?
>
The best experimental work Ive seen to date on the CM 
scheme (actually Ray Bryant first
invented it) is Daniel Reed's paper in Sigmetrics 87.  He built
a CM simulator on a sequent multiprocessor and ran many simulations of many
different applications.  He also tested both mecanisms that deal with
deadlock - deadlock avoidance via NULL messages, and deadlock detection.
His conclusion was that the CM mechanism achieves limited speedup.
The major problem with his paper is that the applications he uses
have a low ratio of application execution time per message to 
operating system execution time per message.  He's submitted another
paper to the Winter distributed simulation conference that I expect will
present greater speedups because the ratio is larger.

The best experimental Time Warp work has been done by David Jefferson's
group at JPL.  Their speedup results will be published in the upcoming
SOSP.  Their design was described in the distributed simulation session
of the winter simulation conference January 1985.  Speedups of 10 have been
achieved on a command and control army simulation running on the Mark III
hypercube.

Arthur Goldberg
3680-D Boelter Hall
UCLA Computer Science Department
LA, Ca. 90024
(213) 825-2864 / 820-6081
art@cs.ucla.edu

****************************************************************************
Subject: Simula
Date: Thu, 06 Aug 87 13:27:44 PST
From: art@CS.UCLA.EDU

I think simula is a wonderful language, especially for simulating
complex systems since each layer of the system can be encapsulated
in classes that represent its functionality.

However, Ive had some trouble with the simula compiler for the vax
provided by Simprog (the folks in Sweden).  Im using version 3.1.  It
produces code that doesnt assemble.  Sound familiar?

Id like to speak with anyone else who uses Simula on a Vax, an HP
300 series machine, or a Sun.

Thanks
Arthur 
  
***************************************************************************


>From tky@philabs.philips.com Wed Aug 12 11:54:36 1987
Subject: RE: PAWS: a simulation package...

>I do yearn for a better language / interface, so that creating the 
>simulations would be much more easy (object-oriented, graphical interface
>type of thing).  Does anyone out there know of better tools that we could
>all hear about?  

>unni@cam.unisys.com

Yet another simulator called PAW ( The Performance Analysis Workstation ) 
from AT&T Bell Labs.  This simulation package allows users to build their
simulation models using a mouse to draw queues on the screen.
Entering parameters  and  running simulations
can all be done with pull-down manuals.
During the simulations, users can actually see the animations of jobs
moving from one queue to another---an effective way to debug the simulation
models.  Someone with basic understanding of queueing would be
able to build models within a few hours of practice.
I personally found it easy to use and use it for high level system
simulations.  A paper reporting on this package can be found in the
August 1985 issue of IEEE Computer.

The price was ~1-2K including source (in C) one year ago.