Content area
Full Text
This paper describes the SIMSCRIPT system simulation language and the philosophy of system structure on which it is based.
Application of the language to programming both discrete and continuous models is indicated and illustrated with examples.
SIMSCRIPT processing is described and statistics regarding operating characteristics are given.
The SIMSCRIPT system was developed at The RAND Corporation"'4 by a group including the second author.
The production of a digital simulator program, or of any program for that matter, involves two steps: creating the model, then writing the program. Fundamentally, the writing of the program is a technical detail which must of necessity wait upon the creation of the model. Nevertheless, the nature of the machinery available for producing simulation programs is bound to exercise an influence on the nature of the model. This is true because effective modeling requires abstraction of the essence of the system under investigation, the direction taken in the abstraction being determined by the goals of the investigation. For complex systems it is very often not clear which of many possible abstractions is most valid for the purposes at hand.
The choice in this case is naturally made of the one which is easiest to handle even, perhaps, if it appears slightly less desirable than another one which will clearly lead to great difficulties in programming. At this point, it is worth remarking that the normal course of a simulation is not described by: modeling, programming, end of process; but rather by: modeling, testing, modeling, testing, etc., until an adequate model is developed. It seems a natural conclusion that the less restraint placed upon the modeler by the nature of his tools and their ease of use, the more rapidly this process will converge on the average, this phenomenon being the more pronounced for the more complex systems. From SIMSCRIPT universe this it follows that the nature of the programming language should facilitate program debugging, modification, and repetitive testing. Storage capacity should not be wasted, reports of simulation results should be easy to arrange and use, and not too much time should be necessary to test models.
The SIMSCRIPT language 1,2 is based upon a description of systems involving concepts denoted by entity, attribute, set, state, and event. In this...