Welcome to the Dictionary of Programming Languages, a compendium
of computer coding methods assembled to provide information and
aid your appreciation for computer science history.
Browse the dictionary by clicking on a section:
Get a full dump of the dictionary:
List of Names
- Language type:
M - Mathematical or Simulation
Simscript is a simulation language with
both declarative and procedural features,
designed for discrete-event and
hybrid discrete/continuous modelling.
It has been in continuous use and
development since its invention in 1962.
The syntax and semantics of Simscript II are
designed to make simulation programs easy
to write and understand. The
language syntax is "English-like" and
fairly high-level. Like many
simulation systems, items in the system
under study are represented in the language
objects. The user defines what
attributes each class of objects possess.
Basic data types for
attributes and procedural code variables include
integers, reals, strings, and pointers.
Composite data types include arrays, sets,
All data elements in a Simscript program
are dynamic - memory allocation is fully
automatic. Procedural code can use
simple conditional and iteration
constructs, subroutines, and
functions. Scoping is simple: each entity
and variable belongs to global scope, or is
local to some routine.
Like Simula, Simscript uses a concurrent
process model for discrete-event simulation.
Nodes of a system are represented by
instances of a particular process class,
and can invoked on a time basis or in
response to simulation events.
The language also includes facilities for
data gathering, statistics, random-number
generation, various kinds of I/O, and
Early versions of Simscript produced
Fortran code output. Simscript II.5
produces C code. In both cases, the
generated code would be compiled and linked
with a run-time library.
Simscript II.5 is a commercial
product sold by CACI Products Company.
Documentation is available from the company
web site, and trial versions of the software
can be downloaded from there, too.
H. Markowitz et al, Rand Corporation, 1962.
- See Also:
There have been many front-end and extension
products for Simscript over the years:
Quikscript, EPSS, Simgraphics, and others.
Basically, Simscript's popularity created
a market for specialized extensions,
and its complexity created a need for
user-friendly interfaces, especially for
The current version of Simscript II.5
is distributed with a graphical front-end
called SIMDRAW, a debugger, a statistics
package, and other utilities and libraries.
- Sample code:
'' A simple telephone system model - CACI Products Company
'' files: TELPHN1.SRC
Normally mode is integer
Every INCOMING.CALL has
Define NUMBER.BUSY and
as integer variables
Activate a GENERATOR now
Print 1 line with LOST.CALLS thus
15 phone calls were made and ** were lost due to busy lines
For I = 1 to 15 do
Activate a INCOMING.CALL now
Let CALL.ID(INCOMING.CALL) = I
Wait uniform.f (2.0, 6.0, 1) minutes
If NUMBER.BUSY < 2
Add 1 to NUMBER.BUSY
Wait uniform.f(6.0, 10.0, 2) minutes
Subtract 1 from NUMBER.BUSY
Add 1 to LOST.CALLS
Descriptions in this dictionary are ©1997-99 Neal Ziring. Some
examples copyright of their respective authors. Some
technologies and languages are trademarked. Permission to
copy descriptions is granted as long as authorship credit is preserved.
Comments on this dictionary, corrections and suggestions, are all welcome.
Please use email, the address is firstname.lastname@example.org
[Ziring MicroWeb Home]
Dictionary and script maintained by Neal Ziring, last major modifications 3/18/98. Most recent
additions to dictionary and master list, 1/00.