[comp.simulation] SIMULATION DIGEST V17 N10

simulation@uflorida.cis.ufl.edu (Moderator: Paul Fishwick) (09/26/90)

Volume: 17, Issue: 10, Wed Sep 26 09:24:20 EDT 1990

+----------------+
| TODAY'S TOPICS |
+----------------+

(1) SURVEY: Simulation Tools/SES Workbench/SimScript II.5
(2) WANTED: ISPS Simulator
(3) RE: Simulation of Football
(4) Telephone Routing
(5) FREE SOFTWARE: REAL Data Network Simulator (FTP)

* Moderator: Paul Fishwick, Univ. of Florida
* Send topical mail to: simulation@bikini.cis.ufl.edu OR
  post to comp.simulation via USENET
* Archives available via FTP to bikini.cis.ufl.edu (128.227.224.1).
  Login as 'ftp', use your last name as the password, change
  directory to pub/simdigest. Do 'type binary' before any file xfers.
* Simulation Tools available by doing above and changing the
  directory to pub/simdigest/tools. 



-----------------------------------------------------------------------------

Date: Wed, 19 Sep 90 11:23:57 PDT
From: burkley@cod.nosc.mil (V. J. Burkley)
To: fishwick@fish.cis.ufl.edu
Subject: Re:: SIMULATION DIGEST V17 N8
In-Reply-To: Your message of Wed Sep 19 06:13:52 1990


     This is a summary of responses I received from a request for
reviews of SES/Workbench and Simscript II.5 (posted on
COMP.SIMULATION, Vol. 17, Issue 4).  These responses are not ver-
batim,  I have removed duplicate information, comments directed
to myself, and disclaimers.  In addition I have listed comments
about other simulation tools which run on Sun or other worksta-
tion platforms.  Also listed is the name and e-mail address of
the source of each comment.


 -----OTHER PRODUCTS


     Sim++ from Jade (403-282-5711) runs as a sequential simula-
tor on a sun and as a parallel simulator on a network of suns.
The language is based on C++; I found it quite pleasant to use,
particularly because I write a lot of C and C++ code.

 -Marc Abrams 
abrams@abrams.cs.vt.edu


     SIMULA runs on Suns and is very good for discrete event
simulation.  It can be bought for Sun 3 or SPARC machines. It is
sold by Lund Software and you can e-mail them at
boris@dna.lth.se.

There are also compilers for VAX, Mac, Atari and IBM PC etc.

A good extra if you use SIMULA is a package called DEMOS which
adds lots of nice goodies for simulation. There is a good book by
Graham Birtwistle called Discrete Event Modelling on SIMULA
(DEMOS) published by MacMillan which goes into detail.

(The Mac compiler is available as a public domain version.)

 -Rob Pooley 
rjp@lfcs.edinburgh.ac.uk


     You might first want to get your hands on the proceedings of
the 1990 Summer Computer Simulation Conference.  There are about
2 kg worth of papers which cover many topics, including simula-
tion with the tools about which you inquired.  (Comment from
Burkley: I was unable to find the 1990 edition in my library, but
older versions were available.  These proceedings seemed to
present topics on specific simulation problems; not too much in
the way of commercial product review or comparisons.)

As far as Simscript from CACI, and SES Workbench, depending on
your needs, SES Workbench is probably the product you want.  Sim-
Script is more difficult to customize, and I suspect its perfor-
mance isn't as fast.  (But don't quote me on that, not having run
side by side benchmarks).  SES Workbench has a significantly
better user interface, but with the penalty of reduced func-
tionality.

Another product you will want to examine is ADAS, which was writ-
ten and marketed by the Research Triangle Institute, and is now
marketed by Cadre Technologies.  The huge benefit that this simu-
lator provides is integration with Cadre's CASE tools, powerful
resource modeling capabilities, and extensive user customizeabil-
ity (?).

     (Main office)
     Cadre Technologies Inc
     222 Richmond St
     Providence, RI 02903

     (Central region manager)
     2000 East Lamar Blvd
     Suite 600
     Arlington Texas, 76007
     817/261-4174

 -Todd P. Carpenter
carpent@src.honeywell.com


     DeNet is a Modula-2 based discrete event simulation environ-
ment that was designed to meet the needs of system designers and
performance analysts who face the problem of predicting the
behavior of complex systems.  DeNet encapsulates recent develop-
ments in programming languages and discrete event modeling metho-
dology to form a powerful, modular simulation tool.

DeNet was used for the first time in a simulation study in the
Summer of 1985.  Since then it has been installed on a variety of
systems, and it has been used both in academia and in industry to
study the behavior of a wide range of systems.  Examples of sys-
tems that have been studied with the help of DeNet include flight
control systems, local area and wide area networks, distributed
database management systems, and multiprocessor architectures.
The DeNet environment is thus a result of a multi-phase refine-
ment process.  Comments, complaints, and requests from users of
early versions of DeNet led to changes in design decisions, addi-
tional utilities, and corrections of implementation errors.

DeNet is currently running on VaxStations, DecStations, SUN3s,
SUN4s, and IBM RTs (under AICS). It requires a Modula-2 compiler
for the platform it is running on.

 -Miron Livny 
miron@cs.wisc.edu


 -----REVIEWS SPECIFIC TO SIMSCRIPT II.5 AND SES/WORKBENCH


     I have used both Simscript II.5 and SES/workbench on Sun3's
and Sun4's.  We do performance modeling of software systems (mul-
tiple process and distributed).

One of our requirements for a simulation tool is the support of
hierarchical modeling, ie, parameterized submodels that can be
used in more than one model.  Simscript supports this though
callable procedures that can be separately compiled.

Another of our requirements was for users with little or no
modeling experience to be able to use, understand and make minor
changes to models.  For this we have found graphical model defin-
ition to be a great advantage.  As an experienced modeler I find
textual languages about as easy to use as graphical ones and
often text editors allow better tools for changing than graphical
editors.  But beginning users tend to be able to do useful work
much quicker with graphical languages and we have found that the
graphical form of a model is much easier to explain to a non-
modeler and use as documentation.  Simscript met all of our other
requirements but does not allow graphical model specification.
Simscript supports graphical OUTPUT, ie, animation of the model,
but model definition is purely textual. After we had been using
Simscript for a couple of years, SES/workbench became available.
After converting a couple of our models from Simscript into
SES/workbench we decided to switch all of our modeling to
SES/workbench.  It's chief advantages over Simscript:

  1.  Graphical model definition
  2.  Graphical animation of the model diagram (showing transaction
      movement through the model rather than moving icons to
      represent modeled entities as with Simscript) (available Fall
      90)
  3.  Object orientation (limited form of inheritance, a little
      more powerful for our hierarchical modeling than simply independent
      compilation of submodels, object CAN still be indep compiled)
  4.  Debugging -- The model can be stopped manually or with
      breakpoints, all model parameters, variables, statistic
      values, ... can be examined, modified and resumed. (avail Fall
      90)

We have found SES/workbench to have all of the expressive power
of Simscript along with the listed advantages and so have con-
verted our modeling completely over to SES/workbench.

Since our evaluations CACI had released a more object-oriented
textual simulation language called ModSim II.  We have not
evaluated it.  CACI also offers graphical modeling languages for
specific modeling domains such as Network II.5 and Simfactory
II.5. These are layers on top of Simscript, ie,  they are graphi-
cal languages that compile into Simscript.  But CACI does not
offer a general graphical language that can access all the
features of Simscript itself.

 -Terry L Anderson 
tla@bartok.att.com


     Simscript being a fairly old language, there are a lot of
people who have used it.  My particular experience with it has
been in the Vax environment so it may be difficult to compare
since I haven't seen it on a Sun.  My main complaint against it
has been a serious lack of debug capabilities (which I suppose is
very difficult to implement in a "multi-process" system).
Depending on past experience with Simscript, I would definitely
choose SES. Having seen a Demo of it I would think SES would be
much easier to learn and the company does offer an excellent
course on it.

 -Rick Fortin 
fortin@manta.nosc.mil



My Review:

     SES/Workbench consistently received the most positive re-
views. It is one of the newest simulation environments on the
market, approximately one year old.  Although SES/Workbench is
new, it is based on a previous product and thus does have some
history behind it.  SES/Workbench uses a graphics interface to
build the model. The model is made of a series of icons or
blocks.  There are a limited number of icon styles but the user
can customize an individual icon by providing a script, which is
made in a 'C' like language.  SES/Workbench takes the model
created and then converts it into the 'C' language that is sup-
ported on the host machine. This code is then compiled and run.
The previous reviews give a good overview of SES/Workbenches' ad-
vantages.  Some of its disadvantages are:

   1. Relatively new and untested.
   2. Manual less than perfect
   3. Even though supposedly easy to learn, still requires substantial
      training.
   4. Cost.  According to one user $36,000 for Sun version.  Add 4-5
      thousand for maintenance fees per year.

(The faint of heart should not sign the checks.)

The people who currently use Simscript II.5 are very loyal to it.
If the reviewer did not have experience with SES/Workbench they
tended to be very positive about Simscript II.5.  Simscript II.5
does have a long history to draw on.  Its advantages include:

   1. Readable English like code (subject to opinion)
   2. Supports output graphics and animation.
   3. Well documented

Disadvantages are:

   1. It is well documented because users have found a lot of the
      manual's errors.  It is best to have a seasoned user's notes.
   2. Somewhat challenging to learn.
   3. Difficult to debug.
   4. Expensive, PC version with Simgraphics in the $16,000 range.
      Sun price probably more.

It has been claimed that Simscript II.5 is no longer getting high
support from CACI.  This implies that updates and improvements
may not be frequent in the future.

It appears that the people who are positive about Simscript II.5
are those who enjoy programming.

CACI has recently introduced a companion product for Simscript
II.5 called Simgraphics.  This is an environment which is sup-
posed to easily allow the user to create templates for use in
graphically displaying information in their models.  None of the
people I spoke to had used it.

The one thing that impressed me most while gathering these re-
views, has been that the users of SES/Workbench were previous
Simscript II.5 users.  Definitely take a hard look at
SES/Workbench when considering a new simulation environment.

My comments are based on conversations with a number of different
sources and from reviews of documents and brochures.

     SES/Workbench is made by
     Scientific and Engineering Software, Inc.
     1301 West 25th Street
     Suite 300
     Austin, TX  78705
     (512) 474-4526

     Simscript II.5 is made by
     CACI
     3344 North Torrey Pines Court
     La Jolla, CA 92037
     (619) 457-9681

 -Joe Burkley
burkley@cod.nosc.mil

 -------


------------------------------

Date: Fri, 21 Sep 90 17:13:37 EDT
From: hemant@wpi.wpi.edu (Hemant Rotithor)
To: simulation@bikini.cis.ufl.edu
Subject: ISPS Simulator

I would like to know where I can get ISPS simulator.
Will appreciate any pointers.
Many thanks.



------------------------------

From: aag@cs.aber.ac.uk
Date: Sun, 23 Sep 90 10:50:00 BST
To: simulation@bikini.cis.ufl.edu
Subject: Simulation football


First off, the nature of the description seems to 
suggest to me a need to use one of the object-
oriented languages for the simulation. Examples which
spring to mind are the LISP based languages, CLOS, LOOPS,
SCHEME and FLAVOURS or SMALLTALK, C++ and OBJECTIVE C.
Personally, I use a derivation of FLAVOURS to model political
organizations in historical context, but if I had to recommend 
one of the above-mentioned it would be SCHEME, if only because 
it's available for a very wide variety of machines (there's
even a version for PC's called PC SCHEME) and is a very 
transparent language to read. 


My approach to modelling a football game would involve making 
a conceptual distinction between the plays and the players, both 
of which one would then represent as objects. Specific plays would 
be represented as subclasses of the classes OFFENSIVE_PLAYS and
DEFENSIVE_PLAYS, which would probably also be subclasses of the 
top-level metaclass PLAYS. Information about whether a team should
be on the offensive or the defensive would be contained in PLAYS,
which would pass on the message to the requistite subclass. Each
subclass would contain definitions of all the play objects and the
methods for deciding which play would be best for the situation,
ie (in psedocode):
  	
	if down by ten then
		go for touchdown
		check distance from line
		if distance greater than ten then 
			throw-play
			choose which throw play
			send messages to players
		endif
	endif

The advantage with this split in information is that one one can
leave most of the information about how to execute specific plays
with the player objects, and can define an ad hoc or broken play
situation simply be sending a message from the play level down 
saying broken play with such and such players on the field, and just 
leave a set of randomised methods at the player level to take of
matters. At this level, the player objects would also contain
information about their function on the field which could be defined 
at whatever level of detail you desire. So, if one wanted to add extra
refinements to a play, one would do so at the player level, not the
play level. The play object is not per se, interested in how the
play is performed in particular, that is left to the player object
to determine once the message calling a lay has been received. I must 
sound a note of caution here, in that I work with political models and I 
have to define my basic political actors to behave in as lifelike a
manner as possible in order to produce something which behaves like
the House of Lords did at a particular period in history and the 
resulting object is HUGE. I'm about two-thirds of the way through
my program design, and I'm looking at twenty pages of design document,
twenty-five instance variables for each Lord and god alone knows how
many methods. It might be better to compromise and make only
say the quarterback and a couple of other guys capable of making
decisions about broken play behaviour and just hard wiring the rest of
the team for the time being.

Once the play has been decided upon, messages are sent to the players,
who have to put the play into action. If it's a set play, then (if its
an offensive play) the quarterback has methods which tell him how far
and in which direction to throw the ball, the receivers have methods
which tell them where to run, and the linemen have methods which tell 
then which way to go. Then one would have a random element which says 
how well the quarterback throws the ball, and another to say how 
well the receiver is receiving. Meanwhile, over on the other side, the
defensive line have taken the pitch, and are waiting to react.
Theoretically, it should be perfectly possible to send messages as
soon as one of the offence makes a move which trigger off the correct
behaviour in the defence. I'm not saying it would be quick, but it
should be possible.

As for the problems with the pitch, I see no problem. Just define a
variable called PITCH_SIZE which is whatever size of pitch one is
playing on and represent it as a 2D array. Player's positions can also
be represented as points in a 2D array. One can basically range from
saying that PITCH_SIZE = (100, 60) which gives one a square yard for
each player up to PITCH_SIZE = (166, 120) which would give one a
square foot for each player. Whilst I wouldn't like to get too close
to doing the graphics, it should be fairly simple to link an array 
display mechanism in with whatever timing mechanism is being used, 
and display updates of the situation of play at, for instance,
thirty second intervals along with a message at the bottom of the 
display saying who's on the offensive, who's on the field, what
play is being used.


Angela

email:                           Snail:                        Voice:
Janet:aag@aber.cs               | Ms A.M. Gilham              |
inet: aag@cs.aber.ac.uk         | Dept of Computer Science    |+44 970 622449
uucp: ...!mcsun!ukc!aber-cs!aag | University College of Wales | (office)
                                | Aberystwyth. Dyfed.         |
                                | SY23 3BZ. UK                |






------------------------------

Newsgroups: comp.simulation
Path: mbm
From: mbm@scs.carleton.ca (Max B. Maklin)
Subject: Telephone Routing Simulators
Sender: mbm@helmut.scs.carleton.ca
Organization: School of Computer Science, Carleton University, Ottawa, Canada
References: <24453@uflorida.cis.ufl.EDU>
Date: Mon, 24 Sep 90 01:53:03 GMT
Apparently-To: uunet!comp-simulation


I would appreciate some direction into finding access to any simulators
written for telephone traffic routing.  There was some work done at 
Yale for the purposes of analyzing various adaptive learning schemes 
for routing calls through the network, but I have been unable to find 
any sources.  The simulator itself need not be overly complex in that a 
basic discrete-event simulator with the use of queueing models would 
suffice.  As I am using a Sun 4/Sparc, I would appreciate code that is 
written in C, but other directions would at least be helpful.  I would
also be interested in papers, TR's, etc., on telephone traffic routing 
in the context of simulation.

I will post any gathered information to the newsgroup at a later date 
for interested parties.  Thanks in advance!



------------------------------

Date: Tue, 25 Sep 90 17:04:09 -0700
From: keshav@tenet.Berkeley.EDU (Keshav)
To: fishwick@cis.ufl.edu
Subject: for comp.simulation: Announcement of REAL version 3.0

REAL Version 3.0 
 ----------------
REAL is a data network simulator that simulates networks at
the packet level. It implements several flow control protocols
(TCP, DECbit etc) and scheduling disciplines (Fair Queueing, 
FCFS etc). There are plotting and report facilities, and means as 
well as variances of simulation variables are reported.
REAL is written in C, and will run on BSD4.3/Ultrix/UMIPS
systems on VAX, SUN, SPARC, MIPS or DECstation hardware.
Online documentation and source code are part of the distribution.

Version 3.0 of REAL is now available for anonymous FTP from 
ucbarpa.berkeley.edu:pub/REAL/REAL.tar.Z  (128.32.130.11).
This version has several improvements over version 2.0, and
these are mentioned in pub/REAL/README. 

Thanks,

keshav



------------------------------




END OF SIMULATION DIGEST
************************