Introduction to simulation languages

  • Authors:
  • Robert E. Shannon

  • Affiliations:
  • -

  • Venue:
  • WSC '77 Proceedings of the 9th conference on Winter simulation - Volume 1
  • Year:
  • 1977

Quantified Score

Hi-index 0.00

Visualization

Abstract

Early effort in a simulation study is concerned with defining the system to be modeled and describing it in terms of logic flow diagrams and functional relationships. But eventually one is faced with the problem of describing the model in a language acceptable to the computer to be used. Most digital computers operate in a binary method of data representation, or in some multiple of binary such as octal or hexadecimal. Since these are awkward languages for users to communicate with, programming languages have evolved to make, easier to converse with the computer. Unfortunately, so many general and special purpose programming languages have been developed over the years, that i t is a nearly impossible task to decide which language best fits or is even a near best fit to any particular application. Over 170 programming languages were in use in the United States in 1972 [1] and today there are even more. Consequently, the usual procedure is to use a language known by the analyst, not because it is best, but because it is known. It should be stated that any general algorithmic language is capable of expressing the desired model; however, one of the specialized simulation languages may have very distinct advantages in terms of ease, efficiency and effectiveness of use. It is not the purpose of this paper to teach how to program in any of the languages described, nor to discuss implementation techniques. What we do hope to accomplish is to make the reader aware of the characteristics of some of the more popular languages, their strengths and weaknesses. The major differences between special purpose simulation languages in general are: (1) the organization of time and activities, (2) the naming and structuring of entities within the model, (3) the testing of activities and conditions between elements, (4) the types of statistical tests possible on the data and (5) the ease of changing model structure. In the following sections we intend to provide comparisons of several languages after first showing the various philosophies of language design and describing a number of key factors involved in choosing a language.