Page 274 - DCAP601_SIMULATION_AND_MODELING
P. 274
Simulation and Modelling
Notes Users of simulation languages have traditionally had to choose between one of two types of
language. On the one hand, they could choose a block type language such as GPSS. Languages of
this type have the advantage that the learning and programming of the language is both quick
and relatively easy. Also, since the number of de-bugging runs is usually small, turn around
time is likely to be quite rapid. However, the block structuring of the language may also create
some difficulties. The fixed nature of the blocks, both as to the types of blocks available in the
language and the manner in which the blocks simulate a particular activity, may render the
language unsuitable for the simulation of certain types of systems. In addition, the need to pre-
allocate much of the available memory space of the computer may make the use of a block
structured language impossible on a small computer. The alternative to a block structured
language is an algebraic language, such as SIMSCRIPT or FORTRAN. It would be desirable to
have a language which combines the advantages of both types of language without some of the
disadvantages. QUIKSIM represents an attempt to produce.
14.1.1 GPSS (General Purpose Simulation Languages)
General Purpose Simulation System (GPSS) (originally Gordon’s Programmable Simulation
System after creator Geoffrey Gordon. The name was changed when it was decided to release it
as a product) is a discrete time simulation language, where a simulation clock advances in
discrete steps. A system is modelled as transactions enter the system and are passed from one
service (represented by blocs) to another. This is particularly well suited for problems such as a
factory. It was popular in the late 1960s and early 1970s but is little used today. GPSS is less
flexible than simulation languages such as Simula and SIMSCRIPT II.5.
This topic explains designing general purpose, parallel simulation languages. We discuss how
parallel simulation languages differ from general purpose programming languages. Our thesis
is that the issues of distribution, performance, unusual implementation mechanism, and the
desire for determinism are the dominant considerations in designing a simulation language
today. We then discuss the separate roles that special and general purpose simulation languages
play. Next we use the two languages, Sim++ and CPS, to illustrate these issues. Then we discuss
eight design considerations: process versus event oriented-view, basic program structure, I/O,
making implementation cost explicit to the programmer, providing dynamic facilities, memory
management, the semantics of false messages in time warp, and program development
methodology considerations. A number of conclusions are drawn from our experiences in
language design.
Modern simulation languages such as SIMSCRIPT II and SIMULA 67 are very powerful general
purpose languages which contain facilities to handle lists and to schedule events in simulated
system time (imperative sequencing statements). These languages do not include some of the
useful but more specialized features of previous languages (GPSS, CSL, SOL) especially
interrogative sequencing statements such as “SEIZE (facility)” or “WAIT UNTIL (Boolean
expression)”; however, the definition capability of the new languages is powerful enough to
permit their extension to include the interrogative features. The addition of some features of
GPSS to SIMULA 67 was presented at a previous SIMULATION CONFERENCE. The present
paper extends that work by describing an efficient algorithm which adds the “WAIT UNTIL”
procedure to SIMULA.
Present day approaches to discrete event simulation can be generally classified as using either
special purpose data-driven simula tion systems or general purpose simulation languages.
Although the latter embrace a far wider range of applications and offer much greater flexibility
in modeling for a particu lar application, their user base is restricted by the high level of
expertise required. An Expert System interface to general purpose simulation languages, ISI (the
Intelligent Simulation Interface), is pre sented here. Models are constructed and simulation runs
268 LOVELY PROFESSIONAL UNIVERSITY