constructs for the development computer simulation

193
Constructs for the Development of a Computer Simulation Language for Bulk Material Transportation Systems by Bevlee A. Watford Thesis submitted to the Faculty of the Virginia Polytechnic Institute and State University in partial fulfillment of the requirements for the degree of MASTER OF SCIENCE in INDUSTRIAL ENGINEERING AND OPERATIONS RESEARCH APPROVED: Timothy J. Greene,Chairman Robert P. Davis Aubrey E. Harvey October, 1983 Blacksburg, Virginia

Upload: others

Post on 04-Dec-2021

2 views

Category:

Documents


0 download

TRANSCRIPT

Constructs for the Development of a

Computer Simulation Language for

Bulk Material Transportation Systems

by

Bevlee A. Watford

Thesis submitted to the Faculty of the

Virginia Polytechnic Institute and State University

in partial fulfillment of the requirements for the degree of

MASTER OF SCIENCE

in

INDUSTRIAL ENGINEERING AND OPERATIONS RESEARCH

APPROVED:

Timothy J. Greene,Chairman

Robert P. Davis Aubrey E. Harvey

October, 1983 Blacksburg, Virginia

CONSTRUCTS FOR THE DEVELOPMENT OF A SIMULATION LANGUAGE FOR

BULK MATERIAL TRANSPORTATION SYSTEMS

by

Bevlee A. Watford

(ABSTRACT)

The overall objective of this research is the

development of a set of guidelines, or constructs, which

will assist in the formulation of a simulation language for

bulk material transportation systems. The formulation of

these guidelines necessitated a thorough analysis of two

particular areas; these being the simulation analysis

procedure and bulk material transportation systems. For

comprehension of the nature of simulation languages, Part II

presents each step of the analysis procedure as examined

from the language's perspective. Supporting this analysis,

Part III presents a detailed review of selected simulation

languages which are currently available to the systems

analyst.

Bulk material transportation systems are presented in

Part IV. These systems are discussed in detail from the

viewpoint of the mode of transportation, the transportation

medium, and the type of bulk materials transported.

The functional specifications, or constructs, for a

bulk material transportation simulation language are

presented in Part V. These specifications are categorized

according to the following areas; the system being

described, the language form, and computer considerations.

Utilizing these constructs a simulation language may be

developed for subsequent use by bulk material transportation

systems analysts which shall be a more appropriate choice

for simulating their systems than any language currently

available to them.

ACKNOWLEDGEMENTS

The author would like to thank Dr. Timothy J. Greene who,

in addition to being a major advisor, also provided an

extraordinary amount of support and guidance throughout this

masters program. Additional thanks are extended to Dr.

Robert P. Davis and Dr. Aubrey E. Harvey for their inputs

and assistance.

GLOSSARY

Activity - An operation or collection of operations which

act on the state of an entity, altering attribute values

thereby causing a change in the system.

Attribute - A characteristic or property of an entity.

Computer Language - Any language capable of being used to

write programs for computer interpretation.

Entity - Any real world object within the boundaries of a

system, the representation of any physical object in a

system model.

Event - The occurrence of a change in system state at an

isolated point in time reflecting decisions which are

made to start or end activities.

Macro A single statement within a computer program

representing a group of statements which will be executed

when the macro statement is encountered.

Model - A representation and/or set of transformation rules

which can be used to predict the behavior and

relationships between the set of entities composing the

system.

Modeling - The process of developing a model.

Process - A time ordered sequence of events which may

encompass several activities.

V

Simulation - The design and subsequent manipulation of a

computerized model of a system.

Simulation Clock - A mechanism for monitoring the passage of

time during the execution of a simulation program, · may

also be referred to as a simulation timing mechanism.

Simulation Language - A specific type of computer language

designed for use in the translation of a simuiation model

into a computer program.

Simulation Model - A specific type of model which has been

formulated for subsequent translation into a simulation

program for evaluation.

Simulation Program - A representation of a simulation model,

written in a computer language, and of a form amenable to

computer evaluation.

State of an entity - The instantaneous value ( s) of the

attribute(s) of an entity define its state.

System State The description of all entities, their

attributes, and activities of a system as they exist at

some point in time.

System - A collection of real world objects which, through

the occurrence of events and activities, act and interact

toge~her toward the accomplishment of some logical end.

vi

TABLE OF CONTENTS

ABSTRACT

ACKNOWLEDGEMENTS

GLOSSARY

PART I INTRODUCTION

Chapter

l.

2.

3.

4.

5.

INTRODUCTION TO SIMULATION ANALYSIS

BULK MATERIAL TRANSPORTATION SYSTEMS

PROBLEM DEVELOPMENT

RESEARCH OBJECTIVES

THESIS OUTLINE ...

PART II THE SIMULATION ANALYSIS PROCESS

Chapter

6.

7.

SIMULATION ANALYSIS

Advantages and Disadvantages of Simulation Analysis ....... .

Procedural Steps ...... . The Role of Simulation Languages

MODEL FORMULATION

Model Classifications Iconic, Analog, and Symbolic Models Static and Dynamic Models ....

Fixed Increment Time Advancement Next Event Time Advancement ...

Stochastic and Deterministic Models Discrete Models

Activity Scanning Event Scheduling

vii

iv

V

2

4

9

11

13

. 16

17 19 21

24

24 27 28 29 29 30 32 33 34

8.

9.

Process Interaction. Continuous Models

Block Form Models and Languages Expression Form Models and Languages

Combined Discrete/Continuous Models Concurrent Time Operation. Model Data Base Interaction. Control Flow Initiation Interaction Structural Interaction

Simulation Model Classifications Analog Simulation Models . Digital Simulation Models Hybrid Simulation Models

MODEL TRANSLATION

Computer Languages Simulation Languages

Design of Simulation Languages Programming Support. Language Portability Program Portability. Additional Considerations

Selection of a Language

MODEL VALIDATION AND PROGRAM VERIFICATION

Validation and Verification .. The Role of the Simulation Language

Model Validation .. Program Verification

10. PROGRAM EXPERIMENTATION

11. INTERPRETATION AND APPLICATION OF RESULTS

PART II I LANGUAGE REVIEWS

Chapter

12. LANGUAGE REVIEWS ..

Partial Differential Equation Languages Simulation Programs CSMP III DEMOS . DISCO . DYNAMO

viii

34 36 37 37 38 40 41 42 42 43 44 45 45

50

50 54 56 58 58 59 59 60

63

64 65 65 67

69

71

73

73 74 76 78 79 80

GASP IV. GPSS GSL ... REPLICAS SIMAN . . SIMSCRIPT II. 5 SIMULA SLAM SMOOTH Summary

PART IV BULK MATERIAL TRANSPORTATION SYSTEMS

Chapter

13. BULK MATERIAL TRANSPORTATION SYSTEMS

14. BULK MATERIALS ...... .

15. RAIL TRANSPORTATION SYSTEMS

16. INLAND WATER TRANSPORTATION SYSTEMS

17. OCEAN TRANSPORTATION SYSTEMS ....

18. INLAND WATER TRANSPORTATION SYSTEMS

19. OCEAN TRANSPORTATION SYSTEMS ..

20. PIPELINE TRANSPORTATION SYSTEMS

21. CONVEYOR TRANSPORTATION SYSTEMS

22. HIGHWAY TRANSPORTATION SYSTEMS

23. CONCLUSIONS

81 83 84 86 87 89 91 92 94 95

. 99

103

108

112

115

118

121

124

127

129

131

PART V SIMULATION LANGUAGE FUNCTIONAL SPECIFICATIONS

ix

Chapter

24. SYSTEM DESCRIPTION. 136

Random Number Generation 138 Random Variate Generation 142 Discrete, Continuous, or Combined Orientation 144

Discrete Orientation . 147 Continuous Perspectives 148

Continuous System Equations 149 Numerical Integration 150

Timing Mechanism 153

25. LANGUAGE FORM CONSIDERATIONS

Language Level Modular Construction Output Report Generation

26. COMPUTER CONSIDERATIONS

Data Structuring Documentation Debugging

27. SUMMARY

28. FUTURE DEVELOPMENT PLANS

BIBLIOGRAPHY

VITA. ••••• . . ' . . . . . . . . . . . . . . . . . . . . . . . .

X

155

156 158 159

164

165 166 167

170

171

174

182

LIST OF TABLES

Table

1. Transportation Facts and Figures •.•...•.....•.•.•.............•.•... 5

2. Advantages and Disadvantages of Simulation Analysis ................ 18

3. Advantages and Disadvantages of Contimlous Analog Simulation ....... 46

4. Advantages and Disadvantages of Digital Simulation ................. 47

5. Advantages and Disadvantages of Hybrid Simulation .................. 49

6. Advantages and Disadvantages of Simulation Languages .•.......•..... 57

7. 0:msiderations for Simulation Language Selection •.................. 62

8. lmi.gtla.ge OJrrlt:,arisons •.•.•.•.•... o ••••• o •••••••••••••••••••••••••••• 96

9. Examples of Bulk Solids and Their Properties .•.................... J.05

10. Examples of N:>n-bulk Solid Materials ...•.•.•.•...........•........ 107

11. System Parameter c.omparisons ...•...•.•...•...•.....•...•.......•.. 132

12. Statistical Tests for Randan Nunber Generators •...•.•.•...•...•... 140

13. Theoretical Probability Distributions .............•.•............. 145

14. Systan Etltities . ................................................. . 146

15. Output Report Te:rnis •...•.•...•.•...•.......•...•...........•...... 162

16. Output Report Types •.•...•.....•.•.•.....•.•.•.•.•.•.•.•.•...•...• 163

xi

LIST OF FIGURES

Figure

1. Hierarchy of Simulation Languages .•.•.•...•...•...•.....•........ 51

2 . Coal Sys tan Schana. tic • . • . • . . . . . . . . . • . . . . . . . . . . . • . • . • . . . . . • . . . . . .160

3. Future Develoµnent Plans .....•...........•.....•.•.............• 17 2

xii

PART I

INTRODUCTION

1

Chapter 1

INTRODUCTION TO SIMULATION ANALYSIS

A complex system's management and behavior control is a

topic of continuing research. This research has led to the

development of numerous methodologies and skills

facilitating the interactions which occur between the system

and the analyst. These interactions arise from the need of

the analyst to model the system in order to 1) observe the

system to understand its behavior, and 2) to manipulate the

system for examination of alternate forms of operation or

control [ 77 l .

Formulating a system model

conditions which inhibit

is generally required due to

real world examination or

experimen'tation, such as cost or inability to isolate the

system. Further, it may be desired to model a system which

either cannot be translated into a mathematical form

amenable to analytical or numerical solution techniques, or

which presents an infeasible problem to be solved after

translation [43]. These difficulties often arise from the

interactions required of model entities, or from the

excessive model size. The increasing usage of the computer

for system's analysis has opened new perspectives into the

solution of such problems.

Simulation is defined by Shannon to be [·86]

2

3

"the process of designing a computerized model

of a system (or process) and conducting

experiments with this model for the purpose

either of understanding the behavior of the system,

or for evaluating various strategies for the

operation of the system."

Simulation can therefore be viewed as a problem solving tool

comparable to integer programming, linear algebra, or

network tools such as PERT and CPM. As with these and other

methodologies, the performance of a simulation analysis

requires a system definition and the formulation of a model

which emulates the system behavior. Similarly, the model is

tested to ensure its validity prior to any manipulation and

interpretation of results. Simulation analysis requires the

formulation of a computerized model, and the use of a

language capable of translating the model into a form which

is acceptable to a computer. The importance of the language

is not restricted to this phase of simulation analysis. It

affects each step, from system definition to application of

results, and an inappropriately chosen language is a

definite hinderance in the performance of a simulation

analysis.

Chapter 2

BULK MATERIAL TRANSPORTATION SYSTEMS

The American Heritage Dictionary defines transportation

as the act of transporting or conveying from one place to

another [ 60] . A bulk material transportation system is

therefore a system which provides for movement of a bulk

material. A thorough discussion of what is meant by bulk

material is given in Chapter 15. At this time it should

suffice to say that a bulk material is any type of freight

which is transported in a cargo carrier

[ 46]. It may be of any physical form,

without packaging

solid, liquid, or

gas. Typical bulk commodities include coal, petroleum and

petroleum products, grain, chemicals, sand, and gravel. The

movement of these materials is distingushed from the

movement of containerized goods by their unique handling and

transportation characteristics. Examination of the various

transportation modes employed reveals similarities in many

aspects.

The principle modes of bulk material transportation are

given in Table 1 along with some current industry statistics

[14,54]. With the exception of highway transportation

systems, the dominant type of material transported is of

bulk form. Highway transportation provides a necessary link

4

5

TABLE 1

Transportation Facts and Figures

Railway Highway Inland Ocean Pipeline Conveyor Water Water

Average 533 1770* 392 3000 345 0.75 Distance -20000 (miles)

Average Speed 60 50 5.5 22 4 10 (mph)

Percent Bulk of 60 40 85.2 78 100 70 Cargo

Percent Cargo 36 24.3 6.7 27 25 of Bulk

Average Capacity 78.8 13.52 1350 40000 ... (tons)

Cost** Rating 5 6 3 2 1 4

*This is an average figure for long haul distances, 535 being the average short haul distance.

**The modes are ranked from the most inexpensive (1) to the most costly per quantity of material moved (6).

"-" This indicates that the data is unavailable.

11 -. 11 According to CEMA, currently available belt conveyors are capable of handling hourly capacities in excess of any practical requirement.

References [14,17,54,91)

6

between other transportation modes. This function is

commonly required due to the intermodal nature of most bulk

transportation systems.

included as they are

Air transportation systems are not

not generally associated with the

movement of bulk materials. Conveyor systems, which are

typically thought of as material handling systems are

included, reflecting the influence of a material oriented

perspective.

It is appropriate here to differentiate between what is

meant by the classifications material handling and

transportation systems. For the purpose of this research, a

bulk material transportation system shall be defined as

follows:

1. Beginning where the bulk material may be assembled

for subsequent movement to another facility.

2. Including the carrier, the transportation medium, and

any number of interim facilities.

3. Ending where the bulk material may be assembled for

subsequent use.

Employing these guidelines, bulk material handling

systems exist prior to 1 and following 3. Therefore, any

movement of bulk materials occurring within these limits is

defined as transportation. This may involve conveyor

movement at a coal port facility, or stacking/reclaiming

7

systems at a mine. The loading and unloading facilities may

be described in any level of detail desired. These

facilities are regarded as forms of intermodal transfer. A

time limit for intermodal or modal transfer has not been

specified. Certain transportation facilities, such as rail

terminals, may delay cargo for any amount of time required

and/or permitted. These may be simply described as delays

in the transportation system.

This definition does not preclude decomposition of a bulk

material transportation system. It merely serves to

restrict its growth. For example, by viewing an interim

terminal as the end of the system, the movement of the

material after it reaches the terminal is now considered to

be part of a material handling system. These definitions

and conclusions are presented in greater detail in Chapter

14.

Table 1 indicates some similarities between the systems,

for instance in terms of capacities and average milage

figures. These large figures are typical of bulk material

transportation systems. The characteristics associated with

bulk materials results in transportation systems which are

uniquely different from others, and which contain common

features in terms of entities, events, and other simulation

aspects. It is these common characteristics which, if

8

incorporated within a simulation language, will enable the

system's analyst to easily and efficiently simulate a bulk

material transportation system.

Chapter 3

PROBLEM DEVELOPMENT

It should be no1ed here that several currently available

simulation languages are capable of representing most types

of transportation systems, including those for bulk material

movement. This is evidenced by the availability of

simulation models of these systems [22,26,89]. It is not the

purpose of this research to show that current simulation

languages are not capable of doing this. Rather, this

research investigates the degree to which these languages

are capable of describing bulk material transportation

systems.

The qualities which characterize current simulation

languages have developed from the designer acknowledging the

analyst's need to efficiently represent a chosen system.

The restrictions which have, and still are, guiding language

development are both physical, referring to computer

hardware, and conceptual, reflecting the analytical

perspectives

these areas

of the analysis

are reflected

procedure. Innovations

in the various levels

in

of

sophistication easily recognizable when reviewing simulation

languages. Languages have evolved to a point where their

selection and use are important factors in the simulation

analysis procedure.

9

10

The availability of languages designed for specific types

of systems delineates yet another level of simulation

language sophistication. These languages are formulated

according to specifications imposed by simulation hardware

and the analysis procedure. The particular system to be

studied has been used to dictate language requirements,

providing a conceptual influence for the language's physical

form and abilities. Bulk material transportation systems

represent an area where limited research toward the

identification of functional specifications for the

development of a specialized simulation language has been

presented.

From one perspective, simulation language specifications

shall identify inadequacies of languages currently used to

describe bulk material transportation systems. It is from

this viewpoint that current languages are examined. An

alternate purpose of these specifications is to assist in

formulating a simulation language designed specifically for

the analysis of bulk material transportation systems. It is

proposed that a language which conforms to these

specifications will facilitate the systems analysis.

Chapter 4

RESEARCH OBJECTIVES

The primary objective of this research is the development

of a set of functional specifications which will assist in

the formulation of a simulation language for bulk material

transportation systems. These specifications evolve as the

result of two distinct research approaches. To understand

the nature of a simulation language, each step of the

the 1 anguage' s analysis procedure is examined from

perspective. A detailed review of available simulation

languages

research

provides

approach

incentive

through

and justification

presenting some

currently available to systems analysts.

for this

languages

The second research approach considers bulk material

transpor~ation systems. The systems are analyzed to

identify specific simulation language requirements which

would facilitate language use for systems analysis. The

simulation language reviews assist here, as before, by

identifying limitations and difficulties facing,

specifically, bulk material transportation systems'

analysts. The specifications resulting from this approach

represent the requirements of the transportation industry

for a language which will efficiently and easily model their

systems.

11

12

The underlying objective of this research is to utilize

the presented specifications to develop a simulation

language for bulk material transportation systems. The

simulation language development is the proposed topic of-the

author's doctoral dissertation, of which this research is an

integral part. The following is a summary of the specific

objectives of this research;

1. To understand the nature of simulation languages and

their role in the analysis procedure.

2. To review a selection of the currently available

simulation languages in the published literature.

3. To determine the needs of bulk material

4.

transportation systems

language.

To develop functional

regarding a

specifications

formulation of a simulation language

material transportation systems.

simulation

for the

for bulk

Part I is an

Chapter 5

THESIS OUTLINE

introductory section, presenting a

preliminary overview of the simulation analysis procedure.

Following a brief discussion of bulk material transportation

systems, the approach to problem development is examined.

The objectives and signifigance of this research are

presented and the Part concludes with a thesis outline.

Part II presents a detailed examination of the simulation

analysis procedure. Each step of the analysis procedure is

discussed with regard to available simulation software and

hardware if applicable. This Part investigates a

classification scheme for simulation languages and examines

their design and selection criteria.

Part III presents a selective review

available computer simulation languages in

of

the

currently

published

literature.

and use

Emphasis is placed upon language construction

particularly with respect to bulk material

transportation applications. A table is presented comparing

these languages on the basis of selected criteria.

Part IV investigates bulk material transportation systems

and models, examining the needs of these systems which will

affect simulation language requirements.

13

14

Part V presents the constructs,

specifications, for the development of a

or functional

transportation

simulation language. These constructs have been formulated

in previous chapters, and are gathered here as a logical set

of specifications.

PART II

THE SIMULATION ANALYSIS PROCESS

15

Chapter 6

SIMULATION ANALYSIS

Simulation analysis is a process by which a system is

modeled and studied for the accomplishment of experimental

objectives. There are several techniques currently

available for the analysis of complex systems. Simulation

analysis is most often the choice for the analytical

evaluation of real world systems which may have one or more

of the following characteristics [77];

1. If few fundamental laws governing system behavior are

available, or there are numerous procedural entities

affecting the system which are difficult to describe

and represent.

2. If it is desired to model and analyze human decision

making or policy inputs which are difficult to

quantify.

3. If random components are signifigant elements in the

system.

4. If the system is large and/or complex prohibiting

closed form solution techniques.

16

17

6.1 ADVANTAGES AND DISADVANTAGES OF SIMULATION ANALYSIS

The merits and demerits of simulation modeling and

analysis as an approach to problem solving have been studied

in detail, (2,21,32,33,43,52,88] and are presented in Table

2. It should be noted that the technique of modeling,

whether for simulation or other purposes, offers several

advantages over real world experimentation. These have been

included in Table 2 as the simulation analysis procedure

requires the use of a model.

Alternate uses of simulation models which have been

proposed include the use of the model as a training tool or

as a validity check of the assumptions to be used in a

non-mathematical model [ 86] . An overall advantage of

modeling in general is that it permits a greater degree of

control over experimental conditions than actual system

manipulation will permit.

There are many situations in which simulation modeling

techniques are not easily applied or prove impossible to

utilize. For example, a system of sufficiently large scale

would require a model which is in itself, large and complex.

Writing computer programs for such a model is a lengthy and

difficult task.

The majority of the complaints concerning simulation

modeling reflect the misinterpretation of the analytical

18

TABLE 2

Advantages and Disadvantages of Simulation Analysis

Advantages

1. The performance of a system under a projected set of operating conditions can be estimated.

2. Alternative proposed system designs or alternative operating procedures for a single system can be compared; sensitivity analysis of system parameters can be performed.

3. Actual experimentation with the system may be infeasible, cost ineffective, or disruptive of the current operation of the system. In addition analysis may be performed on a proposed system.

4. Systems may be studied over an expanded or compressed time frame.

5. The use of a computer permits use of complex mathematical procedures for solution of the model's defining equations.

6. Simulation may be used to solve problems for which analytical methods do not exist, or are too difficult for hand calculations.

Disadvantages

1. Development of an acceptable simulation model is usually expensive and time consuming.

2. Simulation is imprecise, the degree of which is difficult to ascertain, even with the use of sensitivity analysis.

3. The numerical form of output data results in users assumming that the data is "real."

4. Misinterpretation of output can lead to incorrect analysis.

19

results [86]. It should be noted that for each run,

simulation of a stochastic model will produce only estimates

of a system's true characteristics for a given set of input

parameters. Many analysts incorrectly perceive simulation

results as an "answer" to their problem. Drawing inferences

of this type leads to erroneous conclusions which are

neglectful of the true purpose of a simulation analysis,

that of understanding system behavior. The numerical form

of simulation results often creates a tendency to place

greater confidence in the program output than is warrented

by the technique.

6.2 PROCEDURAL STEPS

The accomplishment of a simulation analysis may be viewed

as a problem solving process. As with most processes, it

may be decomposed into various stages or steps which will

complete the process, or analysis. Procedural steps have

been presented by many researchers [2,21,32,33,43,52,93) in

the form of a methodology for simulation analysis. The

varj ous methodologies differ in exact wording and detail,

however the following list contains those steps which

consistently appear;

1. System Definition determination of system

boundaries and restrictions, and an identification of

analysis objectives.

20

2. Model Formulation construction of the system

representation or model.

3. Model Translation - alteration of the model into a

form (computer program) acceptable to the computer.

4. Model Validation and Program Verification

determination of the model's ability to correctly

represent the system, and the program's ability to

execute in the desired logical manner.

5. Model Experimentation the manipulation .and

execution of the computer program to obtain output

values.

6. Model Interpretation and Application drawing

inferences from the program output and applying these

to the real world system.

Although these steps are presented as a logical sequence

of events for performing a simulation analysis, it should be

realized that the analysis is not necessarily a sequential

process. For example, as subsequent steps are performed,

new insights about the system may be obtained which

necessitate reformulation of analysis objectives. This may

result in system redefinition, thus the entire procedure is

reini tiated. Each completed step can require a previous

step's re-evaluation in a similar manner.

21

The iterative nature of the process may not be beneficial

to the analysis. Each iteration, resulting in the

redefinition of the system at some step in the process,

could force an undesirable generalization of the analysis

objectives. Therefore, by limiting the number of

iterations, it is more likely that the original objectives

wi 11 be adhered to. The computer language utilized in the

analysis affects the number of iterations necessary through

its influence at each step of the process.

6.3 THE ROLE OF SIMULATION LANGUAGES

The accomplishment of a simulation analysis is achieved

within a wide variety of conceptual frameworks, and

utilizing any of a number of analysis tools. Examples of

the latter include computers, and computer languages, which

are necessary for the performance of a simulation analysis.

Decisions regarding the applicability of these tools will

affect the accomplishment of the various steps and should be

made with the intent of simplifying and facilitating the

analysis. One of the most important decisions to be maae,

in terms of overall influence throughout the simulation

analysis, is the computer language selection. The

language's primary function is to provide a vehicle by which

the model is translated into a form for computer evaluation.

22

The simulation program is constructed utilizing the selected

computer language, and then submitted to the computer for

execution.

The increasing use of simulation as a problem solving

tool has resulted in the identification of several

programming features which are common to most simulation

programs. Examples of these include random variable

generation, advancing simulated time, and data collection.

A simulation language is a computer language specifically

intended for use in the formulation of a simulation program,

and which usually contains built-in features for situations

commonly required in the simulation program's execution.

Simulation languages are capable of providing assistance

in accomplishing each of the steps involved in the

simulation analysis. For example, they provide a conceptual

framework which influences system definition and model

formulation. They also provide statistical assistance for

validation and offer convenient computational abilities.

Recognizing the importance of the language used, an analyst

should select the language that performs the desired

functions in an acceptable manner.

Simulation language design should be attempted from the

intended user's viewpoint. Specifically, the designer

should note the language's importance in the overall problem

23

solving process, and incorporate features which facilitate

it. The user's desire to select a language which performs

the required functions with minimum difficulty has been a

motivating factor in the improvement and specialization of

simulation languages. The interaction between the language

designer and the user is beneficial to the development of

improved languages and other analysis tools. In this

respect, the simulation analysis process is extremely

influential in the design process. The following chapters

present a more thorough examination of the analysis

procedure, emphasizing those aspects which affect the

formulation of simulation languages.

Chapter 7

MODEL FORMULATION

Once the system has been defined,

formulate a model which represents it.

of analysis objectives generally

it is necessary to

The accomplishment

requires system

experimentation for· observance of its resulting behavior:

It is often infeasible or impossible to directly manipulate

the system, which may not exist as yet. To satisfy the

experimental requirements of the simulation analysis, a

system model is formulated.

7.1 MODEL CLASSIFICATIONS

A model is a description or representation of a system,

usually developed for the purpose of studying and drawing

inferences about system. Pri tsker and Pegden state that

models are employed at four levels (77];

1. As explanatory devices for problem definition.

2. As an analysis vehicle for crucial components,

elements, or issues determination.

3. As design assessors for the synthesis and evaluation

of proposed solutions.

4. As predictors to forecast and aid in the planning of

future developments.

24

25

The variability of the desired objectives of a simulation

analysis is reflected in these levels, and models differ in

that they may offer information applicable to one or more of

them.

Models have been classified in a number of ways, and

these classifications have been loosely extended to

subdivide simulation models. Simulation models are those

which have been developed specifically for subsequent

translation

evaluation.

into a

A more

simulation

accurate

program for

classification

computer

would be

computer simulation models, as certain models are developed

for physical simulation purposes.

analysis objectives may dictate

Certain aspects of

the manner in which

the

the

system entities are modeled resulting in a model which may

be described by the following classifications~

1. Iconic versus analog versus symbolic models

2. Static versus dynamic models

3.

4.

Deterministic versus stochastic models

Discrete versus continuous versus

discrete/continuous models

combined

The computer simulation model classification is extremely

important when considering language selection. The fourth

classification, in particular, could be used to efficiently

classify simulation languages. It should be noted that the

26

system type is not considered; the model type being the more

influential language selection criteria. As an example, a

discrete system need not require a discrete simulation model

for a system description which will satisfy analysis

objectives. Similarly, many continuous systems have been

successfully analyzed using discrete simulation models.

As previously stated, simulation languages often provide

a modeling framework or perspective which is intended to

assist in both system definition and model formulation. The

selection of a simulation language and the development of a

simulation model are interactive processes. It is possible

for a model to dictate a language requirement, or the

language may provide constraints for model formulation.

Either of these may adversely, or favorably, affect the

analysis procedure. Successful treatment of

interactions will result in a model that is

these

easily

translated into a computer program. The importance of the

relationship between the model and the language is stressed

throughout the following sections which present descriptions

of each model classification.

27

7 .1.1 Iconic, Analog, and Symbolic Models

Iconic or physical models are facsimilies of the system

being studied [ 86] . They may or may not be scaled, and

examples include airplane replicas for wind tunnel studies,

and architectural mock-ups. Visual models generally display

graphical representations of some system aspect. Flowcharts

and schematic diagrams are examples of analog models which

depict the logical relationships and interactions between

system elements. Symbolic models utilize symbols to

represent system entities, and are the most abstract model

type. For example, mathematical models are symbolic models

which describe relationships among system entities utilizing

equations.

The majority of simulation models formulated are

symbolic, or more specifically, mathematical models. The

system behavior is described

expressions or

representation

functions.

of a system

A

by

utilizing mathematical

common

a set

example is the

of differential

equations. Certain simulation languages provide facilities

for constructing networks, also a symbolic model type.

Simulation utilizing an analog computer requires the

formulation of an analog model. This is a particular means

of simulating continuous systems which requires a unique

form of computer software and is discussed in Section 8.2.1.

28

7.1.2 Static and Dynamic Models

A static model represents the system's state at a

particular time. It depicts the relationships between

entities when equillibrium exists in the system. An

attribute' s value may change, however information is not

provided on the manner in which the changes occur. Static

models are created to solve certain stochastic and

deterministic problems in which the passage of time or the

means by which the system changes occur is irrelevant [52).

Examples of these include models which estimate critical

values or the power of a proposed hypothesis test, and

equillibrium models in economic theory.

Dynamic models are those in which the system's state is

permitted to change with time. Unlike a static model,

information is provided on the manner in which these changes

occur. The classification is applicable if one or more of

the model entities is time dependent in behavior, or if the

passage of time is crucial to the analysis.

Simulation models are typically dynamic

observance of the system as time passes being

with the

an overall

objective of the simulation analysis. For this reason

simulation languages incorporate a mechanism for timekeeping

throughout program execution. The two commonly used

mechanisms for advancing simulated time are the fixed

increment approach and the next event approach.

29

7.1.2.1 Fixed Increment Time Advancement

Simulation languages which utilize this approach require the

definition of a fixed, incremental time unit. The

simulation clock is always advanced by this incremental

amount and the system is examined for any events which may

have occurred during the interval. If events have occurred

they are executed, the clock is advanced another incremental

unit, and the process is repeated [43,77].

7.1.2.2 Next Event Time Advancement

This approach advances the simulation clock far enough to

initiate the occurrence of the next scheduled event. The

system is updated to show that this event has occurred, and

time is advanced to the next event. The time advance

intervals are therefore variable in length, permitting

intervals where events do not occur to be skipped. This

approach requires the use of an event list, or file for

maintaining the time order of event occurrence [43,77].

The next event approach is· generally preferred for large

simulation models, or as the mean time between events

increases as it tends to be more efficient with regard to

computer runtime. This is because calculations are

performed only when necessary, at event times. The

efficiency of the fixed increment approach depends on the

30

chosen increment size. The number of required calculations

increases with decreasing increment size, and as many of

these do not occur at event times they are often

unnecessary. This approach is easier to implement because

it does not utilize an event list or_ any of the associated

processing required by the next event approach [ 43, 70].

System information is lost because events are treated as if

they occurred simultaneously at the end of the interval,

ignoring the exact time of event occurrence. Simulation

languages may offer one, the other, or a choice of both time

advance mechanisms. A primary selection consideration is

the quality of output data required by the analyst.

7 .1. 3 Stochastic and Deterministic Models

Stochastic models are those in which one or more entities

possess a degree of randomness in its transition from one

state to another [52]. For example, it may not be possible

to assign a probability to the state that a model entity

will assume following an activity's occurrence. Even if

possible, the attributes of an entity, and consequently the

system's state, may not be predicted with certainty. The

output of a stochastic simulation is· in itself random

because specific input values cannot be forecasted. The

model analysis will provide estimates of the true stochastic

31

behavior of the system. A disadvantage of a stochastic

model is the necessity for long run lengths to achieve

steady state conditions.

A deterministic model describes a system as evolving in a

completely known or deterministic manner from one state to

another [ 52, 70]. Because all model entities behave in a

precisely predictable way, the simulation's output is unique

for a given set of inputs. Model debugging and validation

is usually easier for a deterministic model, and steady

state conditions are irrelevant as the system is not random.

Most systems possess some measure of interacting

stochastic and deterministic entities. The randomness of

any one

through

model entity tends to

its interactions with

permeate the entire model

other entities. Therefore

those models with one or more stochastic entities are

usually labelled stochastic.

Recently, a third model type has been isolated, termed

semi-stochastic, and embodying the concepts of both

stochastic and deterministic models. Analysis of these

models is achieved by isolating the model's stochastic

portions using pre-processor routines. The output of these

routines is utilized to supply the model's deterministic

portion. The advantage of this analysis method is a

reported reduction in computer runtime when compared to

32

analysis of the model performed as if it were purely

stochastic [31].

The majority of simulation languages are capable of

translating both stochastic and deterministic models. The

stochastic aspects are reflected in the use of probability

distributions for describing model behavior. Simulation

languages differ in the mechanisms utilized for random

variable generation as well as in the availability of

various distributions.

7.1.4 Discrete Models

Simulation models may be classified as discrete,

continuous, or combined discrete/continuous. This

categorization

viewpoint of

is perhaps the most important from the

the simulation language used. Certain

languages are capable of representing only discrete models,

others apply only to continuous models, and still more are

capable of representing either, both, and/or combined

discrete/continuous models. It should be stressed that

these terms are descriptive only of model entities. As

previously stated, many systems can be successfully modeled

using either orientation.

the study's objectives.

The choice depends primarily on

33

A discrete model is one in which the attributes of

dependent entities, representing the system's state, change

discretely at specified points in time known as event times

(77]. If a choice has been made to model a system

discretely, further decisions.regarding modeling perspective

must be made. Currently available simulation languages

utilize any or all of the three following approaches;

1. Activity scanning

2. Event scheduling

3. Process interaction

7.1.4.1 Activity Scanning

This approach is often regarded as being unimportant in that

few languages offer it as a modeling per spec ti ve [ 77] .

After the simulation clock is advanced, the system's state

is compared to a list of conditions that are descriptive of

all system states which require an activity to begin or end.

If the conditions require it, an activity is started (or

stopped) and the associated system changes are enacted. The

process is then repeated as often as necessary for the

simulation. The user is required to compose the list of

conditions, and its completeness is crucial to successful

simulation.

34

This is a relatively inefficient method for system

simulation compared to the remaining two approaches, and is

mentioned primarily for completeness. It is, however, an

extremely useful approach if activity durations cannot be

specified or are dependent upon the system state.

7.1.4.2 Event Scheduling

The event scheduling approach is consistent in concept with

the next event time advance mechanism in that the simulation

is performed through event processing in the order in which

the events have been scheduled to occur. For this purpose,

the modeler must develop a complete listing of all the

events which occur resulting in changes in the system's

state.

Of the three approaches, this is possibly the most

flexible, restricting the modeler only in terms of those

events that can be logically represented by the chosen

simulation language. Pritsker and Pegden state that this is

the most difficult approach to learn [ 77]. However, its

power and flexibility may offer compensation for the

difficulties in application.

7.1.4.3 Process Interaction

35

The process interaction approach to discrete event

simulation modeling utilizes a process concept when

describing a system [27]. The modeler percieves the system

as a set of processes which interact with each other, each

set representing the entity's path. Process routines are

created which tell the history of an entity within the

system, and which explici tiy contain the statements for

simulated time advancement.

This approach combines features of both the activity

scanning and event scheduling approaches. It is perceived

to be a simple and more natural approach to simulation

analysis because many manmade systems are easily described

as a set of simultaneous processes [ 2 7 l . Simulation

programs written with process oriented languages generally

require less lines of code due to the language statements'

macro structure. From an alternate perspective, the modeler

is often restricted to the use of a set of macro-statements.

This restriction affords limited flexibility in that these

statements are usually oriented toward queuing theories.

As is often the case with modeling perspectives, a system

may be viewed from any one of these three approaches,

although the analysis objectives may indicate a preference.

Simulation languages vary in the type of modeling

orientations offered and the facilities provided for their

36

representation. The chosen language should offer those

orientations consistent with the modeler's views.

7 .1. 5 Continuous Models

A continuous model is one in which the attributes, or

descriptive values of entities, change continuously with

time. The system. is characterized by smooth, continuous

state changes. These changes may be expressed by

differential and/or difference equations in which the

variables correspond to the attributes of entities, and the

functions represent activities. In a continuous model, the

time variable may be continuous or discrete, determined by

whether the state changes occur at any point in time or only

at specified time intervals [77]. Jacoby isolates two

assumptions which characterize continuous models [43].'

l. The time scale used in the model is such that

irregular fluctuations

averaged.

in variable behavior are

2. The variable behavior is smooth and continuous such

that it can be represented by mathematical

expressions.

Continuous models are the only model type which may be

simulated utilizing an analog computer. Analog, continuous

simulation models and techniques are discussed in Section

37

8. 2. 1. In general, continuous simulation models may be of

block or expression form and the associated simulation

languages may be similarly classified.

7.1.5.1 Block Form Models and Languages

Block form languages originated as an interconnection and

control language for a collection of subroutines

representing analog blocks. The model is initially

constructed in block diagram form, then implemented through

a set of connection statements provided by the language. In

this manner, the language emulates the analog computer's

behavior by permitting subroutine connection and control in

much the same way as an analog panel permits control of

electronic uni ts. These languages ( and models) are often

selected by those who prefer analog type diagrams rather

than equations,

information for

or as an aid in providing

a purely analog model [ 48] .

dynamic check

Examples of

block form simulation languages include MIDAS, PACTOLUS, and

GPSS.

7.1.5.2 Expression Form Models and Languages

Expression or equation form models combine the convenience

of algebraic and logical statements with the simplicity of

block form modeling techniques [65]. Languages of this type

38

permit direct representation of the model's mathematical

equations in a form similar to that permitted by general

purpose computer languages. Expression form languages are a

more recently developed class of continuous simulation

languages. The majority of these adhere to the

specifications of the Simulation Software Committee of

Simulations Councils Inc. for continuous system simulation

languages [ 48) . Examples of expression form simulation

languages are DSL/90, DISCO, and CSMP/360.

7 .1. 6

This

utilized

Combined Discrete/Continuous Models

model type combines the descriptive

in discrete and continuous models

qualitites

for the

formulation of a model incorporating both orientations. As

previously stated, it is possible to represent a continuous

system with a discrete model, however the model often

requires system definition modifications which are

undesirable. Combined discrete/continuous models permit

representation of system entities and events as either

continuous or discrete, providing a model which is capable

of describing the system more accurately than if the modeler

were limited to one orientation or the other.

The use of combined discrete/continuous modeling

capabilities has been motivated by an increasing need for

39

additional simulation modeling techniques (23]. The desire

to model a system in its most natural form, whether discrete

or continuous, is a strong inc en ti ve for the use of a

combined model. A more exact representation of the system,

requiring fewer approximations or modifications can be

achieved with a combined model. Additionally, a combined

simulation model facilitates use of a broader scope of

available modeling techniques, retaining the useful features

of both discrete and continuous models in addition to

specific

portions.

interaction capabilities between both model

The advantages of combined simulation result from the

availability of both discrete and continuous concepts for

applicability to a problem. The model, and subsequently the

language used, facilitates strong feedback or interaction

between the continuous and discrete portions of the model or

program [ 23]. The hierarchies of discrete and continuous

models which may be required to adequately describe a given

system may be analyzed using a combined simulation

philosophy. Use of combined simulation techniques

facilitates increased modeling efficiency and improved

standardization resulting in fewer system approximations

when compared to the use of purely discrete or continuous

modeling concepts.

40

Combined discrete/continuous simulation languages possess

the attributes of both discrete and continuous languages.

The discrete facilities may involve utilization of any

combination of the discrete event modeling approaches

discussed in Section 3.1.4. The continuous facilities may

be differential or difference equation oriented, or may

parallel the facilities offered by block form languages.

Possibly the most important feature of combined simulation

modeling techniques is the type and availability of

interaction between the discrete and continuous portions of

the model (23). These interactions may occur in any of the

following four ways;

1. Concurrent time operation

2. Model data base interaction

3. Control flow initiation interaction

4. Structural interaction

7.1.6.1 Concurrent Time Operation

The necessity to synchronize the model events requires

coordination of the simulation time clocks for the discrete

and continuous portions, resulting in a timing mechanism

which controls the overall model simulation (23). Utilizing

a next event time advance mechanism, the time of the most

imminent event is noted. An incremental time step advance

41

procedure is then used to advance the simulation clock.

Static block outputs are computed with each step in addition

to derivatives and the system states. When the incremental

time unit causes the time of the most imminent discrete

event to be passed (or reached), the timing mechanism alters

the step size such that the exact time of the event

occurrence is reached. The discrete event is executed~ the

system is updated, and the process continues repetitively.

7.1.6.2 Model Data Base Interaction

This form of interaction may be either passive or active,

referring to the type of relationship between the discrete

and continuous portions of the model (23]. State

referencing

facilitates

is a

access

passive form

to various

of interaction which

continuous or discrete

non-local data storage by either portion of the model. This

form of interaction does not usually require any special

language implementation measures, being generally available

within the data structuring of most procedural

State modification is an active form of model

languages.

data base

interaction which permits a discrete event to change the

value of a continuous process' output variable. This

interaction is similar to the resetting of an analog

computer integrator to a new initial value during

simulation.

42

7.1.6.3 Control Flow Initiation Interaction

This is a form of process activation whereby a continuous

model portion may initiate the occurrence of a discrete

event or process. As the value of a continuous variable

achieves a specified threshold,

activated or scheduled to occur.

a discrete process is

This form of interaction

facilitates the transformation of entities from a continuous

to a discrete event nature [23].

7.1.6.4 Structural Interaction

This form of interaction permits a discrete model portion to

change the functional description of a continuous variable

or process. In this manner, the structural definition of

the continuous model portion may be modified by the

occurrence of a discrete event. This is considered to be

the highest level of combined discrete/continuous model

interaction

[ 23] . For

and has

example,

interesting efficiency

the substitution of

applications

simplified

continuous subsystem models during known or steady-state

system durations is possible.

43

7.2 SIMULATION MODEL CLASSIFICATIONS

Simulation models are symbolic, dynamic representations

of a system which are stochastic or deterministic, and

either discrete, continuous, or combined

discrete/continuous. In this respect they do not differ

from models in general. However the requirement that a

computer must evaluate the model indicates that some

consideration should be given to computer hardware and how

it affects simulation model classification.

Computer simulation models may be classified by the type

of computer which will be utilized for their evaluation as

follows;

1. Analog simulation models

2. Digital simulation models

3. Hybrid simulation models

The importance of the computer type utilized in the

performance of a continuous simulation analysis is

emphasized by these classifications. The classifications

stress the fact that computer languages have developed

concurrently with computers, and the techniques available

for model translation (i.e. simulation languages) have often

been developed for particular computer types.

44

7.2.1 Analog Simulation Models

Initial attempts at continuous system simulation were

performed using an electronic differential analyzer, or

analog computer. This device consists of various electronic

units capable of performing mathematical operations based on

voltage differentials. Pure analog simulation does not

involve the use of a computer language. The simulation of

continuous systems is achieved by first converting the

mathematical model into a set of machine equations, altering

the original problem equations through a process of

reduction and scaling [ 65] . It should be noted that an

analog computer treats all dependent variables as being

continuous in nature.

The programmer then assigns specific units to the

equations and generates a scaled computer diagram showing

these units and their

include amplifiers,

interconnections.

potentiometers,

Examples of units

resistors, and

capacitors. The required units are physically connected by

a process known as patching, creating a panel [ 65] . The

panel is attached to the analog computer which generates

solutions to the equations through analysis of the behavior

of the uni ts in the panel when subjected to electrical

current flow. Thus actual physical conditions are

represented by the unit's scaled output voltages.

45

Table 3 lists the advantages and disadvantages of using

an analog computer, as opposed to digital or hybrid, for

continuous system simulation analysis.

7.2.2 Digital Simulation Models

A digital computer, for digital simulation, is

essentially a counting device, operating with numbers which

represent a finite digital sequence

purpose computing device which is

[ 36 l . It is a general

discrete in nature,

resulting in all model variables appearing in discrete form.

Digital computers permit model representation by any digital

computer language, and are capable of simulating models

without any classification restrictions. They utilize a

process of numerical approximation to perform integration

commonly required for continuous system simulation. Table 4

compares the use of digital versus analog and/or . hybrid

computers for system simulation.

7.2.3 Hybrid Simulation Models

Hybrid simulation requires a

combines the qualities of analog

hybrid computer which

computers with those of

digital logic computers. The reasoning behind the merger is

to increase the versatility of the analog computer by

combining its speed with the digital computer' s storage

46

TABLE 3

Advantages and Disadvantages of Continuous Analog Simulation

Advantages

1. Due to parallel performance of computations, execution is fast and independent of problem size (number of equations).

2. Analog computers permit a great deal of man/machine interaction.

3. Analog computers are extremely efficient integrators, capable of managing complicated, non-linear problem characteristics.

4. Actual hardware from the system being studied can be included in the execution of the program.

Disadvantages

1. Analysis requires variable scaling, and computational accuracy is somewhat limited.

2. An overall size constraint exists for the model due to the number and type of electronic units available.

3. The analog computer is a special purpose device employing a machine oriented language, and is designed for the particular task of integration. In addition, only one task can be efficiently performed at a time.

4. Analog computers cannot simulate discrete time systems.

47

TABLE 4

Advantages and Disadvantages of Digital Simulation

Advantages

1. Digital computers are capable of performing arithmetic and logic operations at very high speeds, and storing large amounts of data.

2. Digital programs are easier to debug, and offer greater reliability than analog.

3. There is no need to scale variables, and any degree of integration accuracy can be achieved utilizing a sufficiently small step size.

4. Digital computers offer more computational flexibility in expressing a model's complex, non-line~r characteristics.

5. Digital computers employ user oriented languages which are capable of limited interactive ability, and can operate from a stored program.

Disadvantages

1. The simulation program's execution is slow due to the iterative nature of the integration process.

2. As the model increases in size, so does the execution time.

3. Errors in solution are introduced due to the specified integration step size and the numerical approximation technique used for integration.

abilities, input/output

The digital components

48

facilities, and logic

perform computations,

functions.

such as

multi-variable function generation, which may be difficult

or impossible to execute on an analog computer [ 41] . In

addition they are also used for problem setup, control, and

checkout. The dynamic portion of the program, including

integration, is performed by the analog components. Table 5

presents the advantages and disadvantages of utilizing a

hybrid computer for model simulation.

Recent developments in the area of autopatch hybrid

computers permit expensive hybrid computers to be time

shared and facilitates programming [49]. These factors may

increase hybrid computer usage for simulation analysis.

49

TABLE 5

Advantages and Disadvantages of Hybrid Simulation

Advantages

1. A hybrid computer can offer cost savings over a digital for many dynamic problems, such as design optimization studies, which require a large number of runs.

2. A hybrid computer has much higher computational speed than a digital computer.

Disadvantages

1. A hybrid computer has low computational precision, similar to that for an analog.

2. The required interface between the computers may result in some sampled data errors.

3. Variable scaling is necessary, and required programming is sophisticated and time consuming.

4. Access is limited to a small number of users.

Chapter 8

MODEL TRANSLATION

Once the simulation model has been formulated, it must be

translated into a form which permits computer analysis. A

computer language is the vehicle by which the translation

occurs and it is used to write programs for computer

interpretation. The language consists of a group of symbols

which can be recognized by the computer as instructions for

the accomplishment of desired operations.

8.1 COMPUTER LANGUAGES

The type o{ symbols utilized for computer language

construction determines the level of language sophistication

[ 15, 86] . A hierarchy of computer languages is shown in

Figure 1.

The lowest or most basic level of computer language is

known as the machine language level [15,86]. Computer

languages of this form reflect the computer's command

structure and detailed design, and they are the only

language form which a computer can directly recognize. The

computer instructions are written in 'binary notation with

direct correspondence to machine functions. Formulating a

computer program utilizing a machine language is tedious and

50

51

Figure 1: Hierarchy of Simulation Languages

LEVEL ONE MACHINE LANGUAGES

LEVEL TWO SYMBOLIC LANGUAGES

(Assembly Languages)

LEVEL THREE

LEVEL FOUR

PROGRAMMING LANGUAGES

(Compiler and Interpreter

Languages)

(General Purpose Languages)

HIGH LEVEL PROGRAMMING LANGUAGES

(Special Purpose Languages)

(Simulation Languages)

52

difficult for any purpose. It is severely impractical for

simulation analysis.

The second level of computer languages are known as

symbolic languages. They provide convenient symbols and

mnemonics (memory aids) for use in formulating computer

programs [ 15, 86] . Also referred to as assembly languages,

they incorporate a string of mnemonic symbols which

correspond to machine language functions. The programs are

translated by an assembler, or assembly program into a

machine language program. Assembly languages are machine

oriented and are available for most commercial computers.

Simulation programs are rarely written in assembly language

because the programming effort required, ( though less than

for a machine language), is considerable.

Programming languages constitute the third ievel and are

considered to be the most important user oriented computer

programming aid [ 86] . These languages provide a standard

set of expressions and statements which facilitate the

construction of compact computer programs. Programming

languages are macro in structure which serves to reduce the

time and effort necessary to formulate a complex program,

and reduces the possibility of programming errors. They are

capable of formulating computer programs for most purposes

and are also known as general purpose programming languages.

53

Programming languages are machine independent and may be

categorized as either compiler or interpreter languages.

Compiler languages utilize compilers which translate the

entire application program into either assembly or machine

language form [ 15, 86] . Once compiling is complete, the

computer executes the resulting program. Examples include

FORTRAN, RPG I I, COBOL,· PL/1, BASIC, AND PASCAL.

Interpretive languages require conversion of each line of

the application program to machine language every time the

program is executed. For this reason, these languages

usually require more computation time than compiler

languages. An example of an interpreter language is APL.

The fourth, and most sophisticated level of computer

languages are termed high level programming languages

[ 15, 86] . These languages provide for program construction

of a more convenient form than is possible with general

purpose programming languages. They utilize syntax and

semantics not commonly found in level three languages. High

level programming languages generally employ a translator,

or interpreter program which will generate a third level

language program from the user written application program.

High level programming languages are usually formulated for

special purpose applications such as the solving of partial

differential equations, or for statistical computations.

54

The increasing use of simulation analysis techniques has

resulted in the development of a special class of fourth

level languages known as simulation languages.

8.2 SIMULATION LANGUAGES

Initially, the languages used to formulate simulation

programs were extremely machine dependent, or of a third

level, general purpose type [ 15, 86] . An example of the

former is the use of analog computer techniques for

continuous system simulation. As the need for a more

functional simulation programming aid

languages were created specifically

became apparent,

for formulating

simulation programs. These

simple assembly languages

languages have evolved from

with

features, to sophisticated, high

simulation languages. Currently

designed to aid the analyst in

incorporated special

level, special purpose

available languages are

practically any desired

manner. They range from simulation languages for general

use, to those which apply only to specific system or model

types.

Certain useful features are commonly found in languages

specifically designed for simulation purposes, these being

[ 45] ;

55

1. Data generation - this includes provisions for random

number and variate generation as well as features for

generating correlated data streams.

2. Advancing simulated time this provides for

3 .

4.

5.

coordination of parallel computations, and for time

organization of entity flow within a simulated

system.

Data structuring

efficient storage

the language provides for

and retrieval of very structured

system information.

maintenance system

Also

with

included

search

is

and

mechanisms, and capable of prioritization.

a file

removal

Data collection, analysis, and reporting this

includes statistical and/or graphic reporting

mechanisms.

Initial

permits

condition specifications the

specification of system values

language

and the

generation of initial random sequences for initiation

of the simulation.

6. Program monitoring the language is capable of

monitoring the simulation both for identification of

logical errors, and to permit detailed analysis of

the system's dynamic behavior.

56

From an over al 1 standpoint, a simulation language

generally provides a support routine, usually known as the

control program [45). This is used to insure that events

occur in their proper sequence and time. The means by which

these functions are accomplished, and the thoroughness with

which they are accomplished, varies from one simulation

language to another.

Languages designed specifically for computer simulation

offer several advantages when compared to the utilization of

a general purpose language for simulation model translation.

Table 6 presents the advantages and disadvantages of

simulation languages as opposed to general purpose languages

[21,32,33,52,70,77,86].

8.2.1 Design of Simulation Languages

The formulation of a simulation language, as with all

computer languages, must give extreme consideration to the

intended user, and language application. Lomow and Unger

have delineated three areas of primary concern when

designing a computer language [55]. They are;

1. Programming support

2. Language portability

3. Program portability

57

TABLE 6

Advantages and Disadvantages of Simulation Languages

Advantages

1. They provide a natural framework for system modeling.

2. The language aids in the definition of entities within the system and in distingushing between entities of the same type through the use of characteristic attributes or properties.

3. Dynamic ~torage allocation during execution facilitates the adjustment of the number of entities as conditions within the system vary.

4. Simulation models are typically easier to alter when the program is written in a simulation language.

5. Simulation languages generally provide better error detection because many of the more common user errors which occur during execution of the simulation program are automatically checked for.

6. Macro facilities allow extension of language features.

7. The use of substantially fewer lines of code (due to 2 and 6 above) will reduce error potential.

8. Simulation languages typically include the ability to handle simulation data structures such as linked lists and queues.

Disadvantages (or advantages of general purpose languages)

1. General purpose languages are often known by the programmer, the familiarity lending itself to coding ease.

2. General purpose languages often offer greater flexibility in programming.

3. An efficiently written general purpose language simulation program may require less execution time because it is specifically tailored to analyze a particular situation.

4. General purpose languages are available on virtually all computer hardware.

58

8.2.1.1 Programming Support

Each language emcompasses a basic set of programming tools

which provide continuing support for both program

development and maintenance [55]. A set of clearly defined

project management tools, software configuration tools, and

editors and debugging aids are extremely useful throughout

the coding, debugging, and software maintenance phases.

Emshoff and Sisson report that the time spent coding and

debugging a simulation program can be reduced by a factor of

ten when utilizing a language which has additional

facilities for the enhancement of the debugging process

[ 21] .

8.2.1.2 Language Portability

The second area of concern involves the language's

portability [55]. The language, and its complementary set

of programming tools, should be standardized among all the

environments in which it will be used. Thus programmers

required to alter the environment in which they utilize a

language, perhaps due to change of job or employer, wi 11

experience a smooth transition, and any necessary retraining

in language usage is minimal. Additional consideration

59

should be given to the range of systems or model types which

the language is capable of representing.

8.2.1.3 Program Portability

The final design category concerns program portability.

This involves ensuring that programs which are moved from

one computing system to another will compile and execute

without requiring major program modifications [ 55]. This

assumes that the software transfer is not limited by

computer hardware. A particular advantage of good program

portability is the ability to develop a program at one

facility for subsequent use at another facility. In

addition, any special purpose, user defined simulation tools

should also be portable.

8.2.1.4 Additional Considerations

Research has identified several additional areas which, if

properly approached, can facilitate simulation language use

[ 10] .

1. The language should be strongly typed ensuring that

each entity embodies a clearly defined set of values.

This prevents confusion between the formulation of

logically distinct concepts. As a result, the

compiler is able to detect many errors which, in

60

other languages, may have led to executable but

incorrect program logic.

2. The definition of modular program units is

facilitated with data abstraction. These modular

units can be used to encapsulate the data structures

and operations of a single abstract data type.

3. The use of generic units allows program unit

definition which is independent of the type of value

which it is to manipulate. As a result, a single

piece of code can serve as a template upon which

program uni ts can be based which perform similar

operations on various data types.

4. A well developed language library, as well as subunit

use which supports and simplifies the development of

medium to large scale software projects.

8.2.2 Selection of~ Language

Language selection for a system's simulation analysis is

a topic which deserves considerable attention. Improper

selection can result in an unnecessary increase iu the time

required for model formulation, coding, and analysis. Just

as the selection of the proper type of model (discrete,

continuous, etc .. ) can influence the validity of the

simulation analysis, the proper language selection will also

influence each s~ep.

61

In addition, consideration must be given to the

language's processing characteristics including statistical

capabilities, list processing capabilities, core-allocation

abilities, and ease of obtaining standardized or user

tailored output reports. The reliability of the compilers

and support systems is important as well as compilation and

execution time considerations.

The similarities between the language design criteria and

the language selection criteria is not coincidental. It

should be the goal of the designer to formulate the language

from the user's point of view, satisfying user requirements

whether for a wide variety or for a specific type of

simulation analysis. The design goals should be formulated

at the outset, and strictly adhered to, facilitating a

clearly defined and easily implemented language.

As stated by Law and Kelton, decisions regarding the

language choice occur at two levels; 1) a language for

general use on several, varying projects, and 2) a language

for use in a particular study [52]. Table 7 presents a list

of considerations for language selection at both levels.

62

TABLE 7

Considerations for Simulation Language Selection

Level One Considerations

1. The compatibility of the language and the computer to be used.

2. Language installation and maintenance cost.

3. The number and types of simulation studies to be performed.

4. The quality and availability of language documentation.

5. Language flexibility and power.

6. The ease of learning the language.

7. The computer storage requirements and availability.

8. Language efficiency.

Level Two Considerations

(The criteria from Level 1 plus the following)

1. Language availability - either in-house or on a time sharing network.

2. Languages known by the analyst and time available for the study.

3. The program's portability requirements and the language's ability to communicate the nature of the model to model to intended users.

Chapter 9

MODEL VALIDATION AND PROGRAM VERIFICATION

The validation and verification of a simulation model and

program are ongoing processes throughout the simulation

analysis procedure. It is these processes that constrain

the analysis procedure such that the resulting simulation

model and program will be useful to the analyst. The

applicability of the results of the analysis is directly

determined by the degree of both model validity and program

verification.

The importance of validation and verification must be

emphasized when performing a simulation analysis.

Simulation models tend to be extremely complex, representing

several interacting processes and entities. The assumptions

used to formulate the model are not always obvious to

program users. These assumptions, and therefore the model,

must be proven valid prior to becoming available to the

user. Additionally, the results of a simulation analysis is

usually in the form of data which many users assume to be

real. For these reasons, the model and program must be

proven accurate.

63

64

9.1 VALIDATION AND VERIFICATION

Validation is the process of determining whether a

simulation model is an accurate representation of the actual

system [52]. It should be performed with respect to a

specified set of criteria derived from the model's purpose

of development [ 90]. There are three categories of model

validity; technical, operational, and dynamic [29].

Technical validity refers to the identification of all model

assumptions and their divergence from reality. It is

additionally concerned with model input data, its accuracy,

impartiality, and representativeness. The importance of

errors and divergences from reality are assessed as

operational validity. This assists in placing the analysis

output in the proper perspective with the real world system.

Dynamic validity is concerned with the review and updating

of the model so that it continues to be an acceptable system

representation.

Verification is concerned with determining whether a

simulation program performs as expected [52]. Program

debugging is a prime consideration in verification, ensuring

that the program is error free. The degree to which program

output conforms to observed data may be verified utilizing

either historical or forecasted data.

65

9.2 THE ROLE OF THE SIMULATION LANGUAGE

The simulation language utilized

should be capable of reducing the

validation and verification of the

for model translation

effort required for

simulation model and

program, respectively. This is possible through the

features common to simulation languages which aid in model

formulation and program development.

9.2.1 Model Validation

The compatability of the chosen model type and the

simulation language will directly affect model validity. On

the basis of the analysis objectives, the analyst views the

system in a particular manner. The model then represents

the system as the analyst perceives it. Accordingly, the

language ·should provide a translation of the model which

maintains these perceptions.

a system modeled utilizing

interaction approach, and

An obvious example is that of

a discrete event, process

subsequent model translation

utilizing a process oriented, discrete event simulation

language.

The type and availability of probability distributions

may also affect model validation. When formulating a

stochastic model, the analyst attempts to represent the

behavior of the random variables utilizing probability

distributions

The 1 anguage

distribution,

66

to represent the

should provide

insuring that

corresponding

desired

input data.

probability any

the model input data is

accurately represented.

The accuracy of digital compµter continuous model

simulation is extremely dependent on the numerical

integration technique utilized by the simulation language.

The integration technique(s) provided by a simulation

language may pose restrictions upon the order and nature of

the model's defining equations, influencing model

validation.

will occur

limitations

These errors

Numerical approximation or truncation errors

during program

of the particular

execution due to inherent

configuration.

integration algorithm [ 49] .

of the computer's digital

occur due to the finite

arise regardless

Roundoff errors

precision arithmetic calculations, and increase in

seriousness with integration time, integration rule order,

and with decreasing step size [ 13, 49] . These errors will

affect the computer output data, thus influencing model

validity.

67

9.2.2 Program Verification

Simulation languages provide

assist in program verification.

several techniques which

Languages which facilitate

modular development are easier to debug as this may be done

on a step by step, modular basis (52]. Many languages offer

special debugging capabilities. These may be selective or

switchable, and may refer to a user written source program,

or a processor generated target program [66]. Additionally,

the debugging facilities may be operational during compile

time or execution time. The familiarity of the analyst with

the facilities offered by the language is a prime factor

when considering the time spent debugging a simulation

program.

The availability and communicability of diagnostic error

printouts or 'displays is also important to program

verification. Additional assistance is provided by the

production of translator and/or compiler output listings and

memory maps [ 49). These messages result from the illegal

use of symbols or expressions and may be generated by the

translator or subsequent language processors [49). The

production of translator and/or compiler output listings and

memory maps will assist in error identification.

Several researchers suggest that each path through the

program be executed to ensure that it terminates, and that

68

the expected path output is produced_[43,61]. Of particular

use to simulation program verification is the language's

ability to provide a system trace. Tracing is a procedure

by which the system state, as represented by the values of

state variables, the contents of the event list, statistical

counters, etc., is specified following the occurrence of

each event [ 62] . Certain languages provide a graphical

display of the simulation output as the simulation

progresses which will also assist in verifying correct

program operation.

Another important aspect of verification, and of

validation, is the performance of statistical tests on

program output. These tests include tests of means and

variances, analysis of variances, regression factor

analysis, auto correlation, chi square tests, and others

[85]. Several languages have corresponding packages for the

accomplishment of these statistical tests. The language

should provide outpu_t data which is required for the tests

that the analyst chooses to perform, facilitating

statistical verification of the program.

Chapter 10

PROGRAM EXPERIMENTATION

Once the simulation program has been verified, it may be

used to investigate system behavior through experimentation.

The design of computer simulation experiments has been

researched by various authors and the reader is referred to

these publications for an indepth examination

[13,19,33,52,61,77,86,88,93].

Several simulation language features are capable of

assisting the analyst in experimentation. The user- system

communication aspects of the simulation language may provide

for computer assisted or on-line experimentation [66].

Algorithmic manipulation of experimentation specifications

has been recently proposed.

The displaying of simulation results is also important to

experimentation. The ability of the language to easily and

efficiently provide user required data is crucial to the

analysis. This would include plotting, either contour or

va~iable shade plots, and the production of tabularized

output reports.

response curves

Graphics units are available for displaying

or surfaces with color and shading

capabilities [66]. Research is currently being conducted in

the areas of on-line plotting concerning perspective,

69

70

projection, zooming, and rotation of the response surface.

In addition holographic techniques are available in some

existing sophisticated simulation languages (53).

The incorporation of optimization techniques simplifies

the optimization of simulation results. These techniques

may also be provided through an associated language package.

Simulation languages offer a wide range of experimental

control capabilities including user specified initial

conditions, sampling procedures, run length, batch size, and

estimation procedures (77).

Chapter 11

INTERPRETATION AND APPLICATION OF RESULTS

The final phase of the simulation analysis procedure is

primarily concerned with the fullfillment of the analysis

objectives. The simulation model and program have been used

to investigate system behavior during the previous step.

The results of these experiments must now be interpreted by

the analyst. The conclusions, theories, and decisions

formulated by the analyst are then applied to the real world

system.

Most researchers feel that the simulation analysis

procedure is not complete until the results have been

successfully applied, and the analysis objectives have been

satisfied [33,43,77,86]. It is believed that the success of

the re.sul ts implementation is largely dependent upon the

accomplishment of the previous steps. This analysis step

emphasizes the need for an easily understandable output data

format. It should be of a form which facilitates

application to the real system acknowledging that the model

may be utilized by those other than the original analyst.

The use of terms and notations familiar to eventual users is

a means of facilitating interpretation and analysis.

Program documentation abilities are also important at this

step.

71

PART III

LANGUAGE REVIEWS

The following chapter contains brief summaries of

selected, currently available simulation languages. Where

possible, certain languages have been grouped together and

discussed due to their similarities' of purpose.

72

12.1

(43]

Chapter 12

LANGUAGE REVIEWS

PARTIAL DIFFERENTIAL EQUATION LANGUAGES

Certain scientific and engineering continuous models

utilize partial

description. The

differential

solution of

equations in their

these equations

system

requires

particular numerical techniques not found in all continuous

simulation languages, and the result is a subclass of these

languages which have been specifically developed for the

simulation of continuous models involving .partial

differential equations. These languages are capable of

solving equations which are elliptical, parabolic,

hyperbolic, and/or biharmonic equations in one, two, and

three space dimensions.

The majority of the partial differential equation

languages are fourth level languages, the associated third

level language being FORTRAN. The most common are:

1. PDEL

2. LEANS I I I

3. DSS/2

4. PDELAN

5. FORSIM IV

73

6. ITPACK

7. LINPACK

8. ELLPACK

12.2 SIMULATION PROGRAMS

(63,89]

74

System's simulation analysis has been facilitated by the

use of "canned" programs. In general, these programs

provide a methodology for the analysis. They require the

user to complete standardized forms providing specific items

of information regarding system operation. This data is

then processed by the canned program resulting in a

simulation analysis of the system. Therefore these programs

are not simulation languages. However, they are tool for

computer simulation analysis, and several are available

specifically for transportation systems. Examples are

described below.

TRANSIM

This is a general purpose method of approach for computer

simulation analysis of transportation systems. The user is

required to model a system in terms of traffic uni ts and

system operating elements. Traffic units are considered to

be anything that flows thru a system including vehicles,

freight, and people. System operating elements are any

75

facility that services or processes the traffic units. The

user provided input data is classified as follows;

1. System physical plant and process data describes the

identification and arrangement of system operating

elements.

2. System traffic data describes the arrival of traffic

units at system operating elements.

3. System operating rules describe the operating

rules, dispatch schedules, work schedules, routing

rules, and maintenance and repair rules.

4. Operating elements performance data is the specific

information regarding the performance characteristics

of the individual system operating elements.

The standard input forms require that this information be

presented in a particular manner. TRANSIM does not require

the user to learn any special vocabulary or definitions. It

facilitates a modular approach to model building. The

operational aspects include

mechanism, ana a Monte Carlo

an

type

event oriented timing

simulator. TRANSIM is

available for the IBM 7090/7094 series computers.

BELTSIM

BELTSIM is a digital computer program which was developed

to eliminate the necessity for estimates which are used to

determine the design data for belt conveyor systems. These

estimates relate to the

belt conveyor system,

76

operational characteristics

and include peak. loading

of a

and

probability of overloading variables. The program

mathematically dumps a shuttle carload of coal arid traces

its path thru a user described belt network. Interactions

between loads, spillage, belt stoppages, and transfers are

noted, providing a quantitative measure of the performance

of a belt network.

The program input data is classified as follows;

1. Shuttle car discharge data including time between

dumps, payloads, and dumptimes.

2. Belt network data including lengths, speeds, and

capacities.

3. Mining practice data including shift length,

travel-in and out times, and break policies.

12.3

[35)

CSMP II I

CSMP III is the most recent version of the original

Continuous ~ystem ~odeling frogram language developed by

IBM. It is a problem oriented language and is capable of

representing models which are either expression or block

oriented descriptions of systems.

available for program formulation,

Three statement types are

the actual input order

77

not affecting program execution. Structure statements are

ordinary differential equations which describe the

functional relations between model variables. The

specification of initial conditions and the assignment of

numerical values to parameters is achieved with data

statements. Control statements are used to specify data

output and program execution steps. The language allows

user defined macros and the development of user subprograms.

All variables are treated as real numbers and double

precision arithmetic is available.

CSMP I I I is a fourth level language with an associated

preprocessor which produces a FORTRAN program for

compilation and execution. All FORTRAN library functions

are available to the CSMP III programmer in addition to the

CSMP I I I library which contains standard analog computer

functions. A total of eight integration algorithms, both

fixed and variable step, are incorporated including

provisions for one that is user specified. A stiff

differential equation algorithm is also included. Output

reports may be tabular or printer plots, and a graphics

package is available for the IBM 2250. CSMP III is not

recommended for large models but it has been used to

simulate combinational and sequential logic circuits.

78

12. 4

[ 7]

DEMOS

DEMOS is a discrete event simulation package created as a

subset of SIMULA, the name reflecting that it is a system

for discrete event ~odeling on SIMULA. The actual statement

structure is consistent with the forms proposed by SIMULA.

DEMOS simplifies the simulation aspects of SIMULA by

providing a small set of blocks which facilitate a

standardized approach to a wide range of simulation models.

As such, DEMOS permits program formulation with SIMULA

without requiring detailed knowledge of the non-simulation

aspects of the parent language. The language describes

discrete event models using entities to represent major

model dynamic components. These entities may compete for

resources and interact with each other. The user must also

provide information pertaining to the life cycle of the

entities, indicating the activities they engage in.

DEMOS incorporates nine random sampling facilities in

addition to mechanisms for event scheduling, data

collection,

possible as

implemented

compiler.

systems.

and output report generation. Event tracing is

an aid in validation and debugging. DEMOS is

in a SIMULA context and utilizes a SIMULA

The language has been used to model industrial

12.5

[38]

DISCO

79

DISCO is a SIMULA based simulation language capable of

representing and analyzing models involving both discrete

and continuous processes. The language describes continuous

processes as those which experience active phases during

time intervals, causing continuous state changes. Discrete

processes experience events, which are instantaneous active

phases, causing discrete changes in state. The processes

are otherwise inactive. The model is therefore described as

a collection of processes which undergo active and inactive

phases, and which act and interact to represent the system

behavior. The actual statement structure is consistent with

the forms proposed by SIMULA. Continuous processes may be

described by differential or difference equations. Discrete

processes operate in quasi-parallel, meaning that

simultaneous, concurrent events are executed. in a user

specified order. DISCO permits dynamic starting and

stopping of continuous processes, thus the equations

describing them may be altered during the simulation.

DISCO offers six integration methods which may be chosen

from at any time during the simulation, the default being

the fourth-order Runge-Kutta-England variable step size

algorithm. Additional software features include facilities

80

for solving higher order differential equations, ideal and

exponential delays, and tabulated functions.

12. 6

[82]

DYNAMO

DYNAMO is a continuous simulation language developed to

formulate programs for a particular model type known· as a

system dynamics model. It is a compiler language which

utilizes three equation types to describe dynamic models,

with statement order being irrelevant to program

formulation. Level equations represent state variables and

describe the system state at any particular point in time.

Output variables are described by rate equations which

depict state changes as time passes. The functions of the

rate equations are completely described by the third

equation type known as auxilliary equations. These are

components of the rate equations and represent feedback

control, facilitating analysis of feedback systems. All of

the equations are nonlinear, first order difference

equations, and the simulation is accomplished through their

simultaneous solution.

DYNAMO has macro capabilities and provides special output

features for plotting and printing data. The language

incorporates special mathematical and statistical

81

computational facilities, and utilizes the Euhler, fixed

step integration mechanism. This makes it particularly

applicable for representing discrete time, continuous

models. Examples include large, disaggregated models in

health care management,

economic's.

corporate policy making, and

12.7 GASP IV

[52,73,75,76]

GASP IV, the general ~ctivity §imulation frogram IV is a

combined discrete/continuous simulation language developed

as an extension of the discrete simulation language GASP II.

The language consists of more than 30 subroutines and

functions for performing required simulation activities. A

simulation program utilizing this language consists of a

user written portion and a portion provided by the system.

The user must specify the conditions which require an event

occurrence and the associated system changes. Two types of

events are distingushed by the user. Time events are those

that occur at specified times. State events are those which

are not scheduled and occur when particular system

conditions are met. The attributes of system entities may

be classified as discrete or continuous, depending on the

manner in which their values change. Continuous attributes

82

may also be referred to as state variables. The system

behavior is simulated by computing the values of the state

variables at small time increments, and computing the values

of discrete attributes at event times.

GASP IV is FORTRAN based and incorporates

time advance mechanism. The language

Runge-Kutta-England integration algori thrn for

a next event

utilizes the

solving sets

of simultaneous, first order differential equations. Higher

order equations may be represented through conversion to

canonical form, and difference equations may be directly

utilized. The language incorporates subroutines for the

collection of system data, performance of statistical

computations, and output report generation. Random variable

generation is possible from eight common distributions

including one that is user specified. GASP IV requires

approximately 20K words of computer storage.

GASP IV/E is an interactive version of GASP IV,

permitting data to be displayed during program execution.

GASP V is an extension of GASP IV which incorporates

additional

solution of

integration algorithms,

partial differential

and procedures

equations, as well

additional memory, logic, and generator functions.

for

as

12.8 GPSS

(5,64,84,52,86]

83

There are several versions of GPSS currently available.

The language was originally developed by IBM Corporation and

their current versions are GPSS/360 and GPSS V. All

previous IBM versions are obsolete, and GPSS Vis a superset

of GPSS/360. This summary_ considers the mechanics of these

versions and may be applied only generally to other

versions, which include GPSS, GPSS/H, and GPSSTS.

GPSS V (Qeneral ~urpose Simulation §ystem V) is a

process oriented simulation language designed specifically

for simulating discrete event models. The language

incorporates over forty-five statements with · corresponding

pictorial representations called blocks. A logical

representation of the model is constructed by combining the

standard blocks into a block diagram representing the path

of a process. The sequence of activities describing model

behavior are simulated by the block to block movement of

transactions. The transactions represent entities which

move through the system, and a block to block move is

labelled an event. Individual transactions cannot be

numbered, thus the parameters of one transaction are not

readily available to others. Once the block diagram has

been formulated, it is translated into equivalent GPSS V

84

statements for interpretation and execution by the GPSS V

processor. The language utilizes a next event time advance

mechanism, and the basic unit of time is user specified for

an integer valued clock.

GPSS V is written in assembly language and is

particularly oriented toward queuing systems. Complicated

numerical calculations and special output reports require

the use of a general purpose language to construct user

subroutines which may be interfaced with the GPSS V program.

The language has no exact facilities for random variable

generation, requiring the user to approximate the inverse of

the distribution function by a sequence of straight line

segments. GPSS V contains

report generation, and

debugging.

standard subroutines for output

comprehensive diagnostics for

12.9 GSL

[30]

GSL the Generalized Simulation 1anguage

language discrete/continuous

representing either

simulation

discrete, continuous,

is a combined

capable of

or combined

models.

oriented,

The language permits construction of event

block diagram, or procedural language based

simulations comparable to GPSS, GASP IV, and SIMULA,

85

re spec ti vely. A GSL program consists of blocks which each

describe a basic process, and are composed of a process

description and a data description. The process description

characterizes either the differential or difference

equations which specify continuous system state changes.

Additionally, continuous descriptions may be imbedded within

a discrete block. An executable copy of the simulation

block is known as a process instance and is analogous to a

GPSS transaction. Several process instances may be

associated with each process description. A data

description specifies the entities' attributes for each

process instance of the associated process description.

Thus the sole function of each simulation block is the

definition of each data structure, providing a set of

instructions for operations on that structure. GSL utilizes

macro-oriented procedural sections for the representation of

special purpose operators. A GSL program simulates a system

through creation, execution, and manipulation of discrete

and continuous process instances.

GSL is a FORTRAN based simulation language. I ts

translator is constructed in ALGOL and generates FORTRAN

programs which facilitates use of optimizing FORTRAN

compilers. Dynamic storage allocation during simulation is

incorporated.

12 .10

[58]

REPLICAS

86

REPLICAS is a FORTRAN based continuous system simulation

language. The language structure permits the model to be

represented by first order differential equations utilizing

a predefined statement type. The arguments of these

equations specify the system state, and conventional FORTRAN

arithmetic expressions and trigonometric functions may be

used in their construction. Additional statement types are

available for describing discontinuous or discretely defined

functions. Conditional and alternative calculations of

certain variables which are part of the model description

are al°so represented by a preset statement type, and a

generalized limiting function is included. Keywords are

used to categorize the program statements in terms of the

mathematical model itself, its forcing functions or

disturbances, and its design specifications. For example,

the length of time required to observe an event is

considered a forcing function, and design specifications

can, for the occurrence of a given condition, require that a

certain parameter assume a particular value. The simulation

program is a model translation utilizing these specified

statement types. The statement input order is irrelevant.

87

REPLICAS incorporates the Gear algorithm for evaluation

of differential equations by either the integral or

differential method. The processor utilizes a fixed

increment time advance mechanism, and incorporates the use

of a nonlinear constrained optimization facility. At the

present time REPLICAS is relatively untested. However, it

has been proposed for the analysis of general engineering,

scientific, and econometric simulation model.s.

12.11

[ 71 l

SIMAN

SIMAN is a recently developed simulation language capable

of performing simulation analysis of discrete, continuous,

and combined discrete/continuous models. Discrete models

may be described utilizing either a process interaction

approach, and/or an event scheduling approach.

interaction approach permits the user to

The process

represent the

model's functional operations with a block diagram. The

diagram may be constructed using an interact·i ve or batch

mode. The interactive mode permits graphic diagram

construction on a computer and incorporates real time error

checking. The batch mode permits diagram construction as a

form of batch statement input. The event scheduling

orientation involves a set of user written FORTRAN

88

subroutines consisting of mathematical/logical expressions.

These subroutines are used to describe instantaneous state

changes which occur at event times. Continuous models may

be described by algebraic, difference, and/or differential

equations. Numerical integration is automatically performed

when required.

The system operation is represented by entities which

flow through the block diagram. The entities may be

individualized through the assignment of attributes which

characterize them. The pattern of entity flow may be

sequential or non-sequential as desired. Three distinct

event types are permitted. Block events occur due to the

arrival of an entity to a block. Time events are those

which have been scheduled to occur. State events occur when

a continuous variable crosses a prescribed threshold. The

language incorporates special features for modeling material

handling systems which include industrial trucks, cranes,

hoists, manipulators, and conveyors.

SIMAN is a FORTRAN based simulation language and is

designed for use on minicomputers, and sixteen bit

micro-computers as well as large computer mainframes. The

language incorporates a well developed subprogram library

for required simulation functions such as event scheduling,

file manipulation, and data collection. Data analysis and

89

display occur

facilitate the

separately from program execution and

generation of plots, tables, barcharts,

histograms, correlograms, and fi 1 tered data sets. It is

also possible to create output which is formatted for direct

input . to the Tektronix Plot 10 Easy Graphing Software.

Random sample generation is provided for from fourteen

distributions, both theoretical and user specified.

12.12 SIMSCRIPT II.5

(11,52,86)

SIMSCRIPT II.5 is the current version of a general

purpose language which incorporates specialized capabilities

that facilitate the development of discrete event simulation

programs. The language is primarily event oriented with

limited process interaction techniques. The system state is

completely described by the attribute values of system

entities. Changes in these values occur at discrete points

in time known as event times, and the language utilizes a

next event time advance mechanism. SIMSCRIPT II.5 is

statement oriented, utilizing free form input which can be

learned and used at varying levels of sophistication, these

being;

Level One: Language statements comparable to BASIC,

introduction of programming concepts of a

simple algorithmic language.

Level Two:

90

Comparable in power

capabilities include

to FORTRAN, additional

report generators and

increased data structure abilities.

Level Three: Inclusion of ALGOL type statements.

Level Four: Incorporation of a structure for representating

entities, attributes, and sets or collections

of entities.

Level Five: Inclusion of provisions for timekeeping, sample

generating organizing of subprograms for

representing of system activities, and data

accumulation and analysis.

SIMSCRIPT II.5 is one of the few languages with an

associated package for performing statistical analysis of

simulation output data. Either continuous or combined

discrete/continuous models may be analyzed utilizing an

extension of the language known as C-SIMSCRIPT. Routines

are provided for random sampling from eleven probability

distributions, and complete user control of statistics

collection is permitted.

12.13 SIMULA

[5,8,27,40]

91

SIMULA is a general purpose language with special

features which facilitate discrete simulation. It was

developed as

the language

an

as

extension of ALGOL 60,

a subset. SIMULA is

actually including

process oriented,

describing a process as a combination of a data structure

and an operation rule. A data structure defines the

properties of the process. The operation rule specifies the

actions to be taken and is composed of events which occur at

a particular point in time. SIMULA has the ability to

create, destroy, and modify all existing or new processes,

and incorporates a common data file which can be accessed by

all processes.

The language identifies a process class as a group of

processes with similar data structures and operation rules

but which differ in their attribute values relative to the

data structure.

achieved within

The definition of a process class is

a block, which is an independent,

self-contained struct~re,

unit. A block may be

aggregated data structure

and SIMULA's fundamental program

regarded as a description of an

and the actions which the block

statements define.

instance is created.

As each block is executed, a block

A SIMULA program consists of a set of

blocks which

sequence of

instances.

92

organize the overall program execution as a

active phases related to various block

Special statements are supplied for postponing

actions or for rendering the entire process inactive.

SIMULA permits random sampling from five common

distributions and incorporates routines for statistics

collection. Language extension capabilities allow

formulation of special, problem oriented language features,

and it is possible to edit standard output reports.

Computer availability for SIMULA is restricted within the

United States due to the limited usage of ALGOL 60 upon

which the SIMULA lamguage is based. SIMULA has been used to

analyze small material handling train circuits within

factories.

12.14 SLAM

[72,77]

SLAM, the ~imulation ~anguage for ~lternative ~odeling is

capable of representing a discrete event model utilizing an

event scheduling, process interaction, or activity scanning

approach, or any combination of these. The language can

also represent a continuous model using either differential

or difference equations. The discrete event and continuous

aspects of SLAM were derived from GASP IV in which the

93

analyst describes events and system changes resulting from

their occurrence, or specifies equations for the dynamic

behavior of state variables, respectively. The process

interaction (network) aspects were derived from Q-GERT.

Nodes and branches are employed to construct a network which

pictorially models the elements of a process such as queues,

servers, and decision points. The network is then

translated into an equivalent statement form for computer

execution. SLAM has the additional capability of combining

its discrete event and continuous aspects for the

representation of combined discrete/continuous models.

SLAM is FORTRAN based and is therefore available for all

computers with FORTRAN compilers. The processor requires

28k decimal words for storage. The language incorporates a

set of standard subroutines for common simulation functions

including event scheduling,

manipulation, and output

statistics collection, file

report generation, including

histograms. Event tracing is possible as an aid in

validation and debugging. Random sample generation is

possible from eight common distributions, including

provisions for sampling from one that is user specified.

The integration method utilized is the Runge-Kutta-Fehlberg

fourth order algorithm which is a variable step size routine

for ordinary differential equations with initial values. A

94

decision optimization module for SLAM has been developed and

on-line network graphical construction is currently being

investigated.

12 .15

[87]

SMOOTH

SMOOTH is a combined discrete/continuous simulation

language developed from extending GERT network philosophy

for application to combined models. Continuous simulation

concepts are embodied in state networks which consist of

nodes and branches. The nodes are used to represent the

values of continuous system variables, called node values.

Branches represent the node's input and output and are

described by branch rates which are a function affecting the

associated nodal values. Five equation forms are available

for defining the rate equation's coefficients and exponents.

SMOOTH has the capability for network modification as a

function of system state. GERT network concepts are

employed for discrete event models. The discrete aspects of

the model are described by a nodal system representing

intersections for starting and stopping activities, and

branches representing activities. The simulation of a

discrete/continuous model is thus described by a pair of

interrelated networks, specified by numerical information,

which the SMOOTH computer program analyzes using simulation.

SMOOTH

specified

automatically

nodes, and

95

obtains

histograms

statistical

may be

data for

obtained.

Statistical nodes gather activity related statistics. The

language is FORTRAN based and incorporates standard routines

for the generation of random numbers, and output reports.

12.16 SUMMARY

Table 8 is a comparison table. It permits several of the

simulation languages previously described to be compared on

the basis of various language parameters. Table 8 does not

provide any additional information which is not already

contained in the particular language

gathers pertinent data and presents

concise manner.

summary.

it in a

It merely

logical and

96

TABLE 8

Language Canparisons

Current CSMP III DISCO DYNAM) GASP N GPSS V Version

Object FORTRAN AI..C,OL Asse:nbly FORTRAN Asse:nbly Language PL/1

Discrete YES NO YES YES Facilities

Discrete Process Next Process Perspective Interaction Event Interaction

Continuous YES YES YES Facilities

Equation A C B C Type

Integration 8 6 Euhler Rtmge:-Algorithm '- Fixed Kutta-

Step England

Combined NO YES NO YES Facilities

Timing Fixed Combined Fixed Next Next Mechanism Incranent Incranent Event Event

Output YES YES YES YES Facilities

Rand.cm X X X 8 Variable Generation

A indicates differential equations B indicates difference equations C indicates both differential and difference equations X indicates that the information was not available

97

TABLE 8 con't

L:mguage O:,mparisons

Current REPLICAS SJMIJI.A Sil1SCRIPI' SIMAN SI.AM Version II.5

Object FORTRAN AI.roL 60 Assanbly FORTRAN FORTRAN Language

Discrete YES YES YES YES Facilities

Next Activity Activity Discrete Process Event and Scanning, Scanning, Perspective Interaction Process Next Next

Event and Event and Interaction Process Process Continuous Interaction Interaction Facilities YES N) YES YES

Equation B C C Type

Integration Gear Runge- Runge-Kutta- Kutta-Algorithm Algorithm England 5 England 4

Combined YES YES Facilities

Timing Fixed Next Next Combined Combined Mechanism Increment Event Event

Output X YES YES YES YES Facilities

Random X 5 11 14 8 Variable Generation

PART IV

BULK MATERIAL TRANSPORTATION SYSTEMS

98

Chapter 13

BULK MATERIAL TRANSPORTATION SYSTEMS

A bulk material transportation system is a system which

provides for the movement of a bulk material from one place

to another. For the purpose of this research the

distinction between transportation and material handling

systems for bulk materials shall be made as follows;

1. A bulk material transportation system begins at a

terminal or other facility where the material may be

accumulated into desired quantities for movement.

2. The material is loaded into a carrier ( s) by

facilities which may be described

from thorough mechanical detail

in terms ranging

to more simple

descriptions in terms of loading rates.

3. The material is transported within, or on the carrier

to its destination. It may encounter delays at

interim terminals or facilities for modal change,

accumulation, or separation of material(s).

4. The transportation system ends where the material may

be removed from the carrier for subsequent use.

Material handling systems may exist at the origin,

interim facilities, or destination facilities. They are

utilized for the movement of material prior to its original

99

100

loading and after it has been removed from a carrier at its

destination.

destination,

The use of the generic terms, origin and

permits the analyst to define the

transportation system as desired. For example an analyst

may define a coal transportation system as beginning at a

mine in the United States, and ending at an overseas

facility where the coal will serve as fuel. However it is

also possible to define the destination point as being any

of the numerous interim facilities through which the

material passes, such as a port facility, or a train

classification yard. In this manner, the operations at such

a facility are now considered to be material hapdling and

may be eliminated from the transportation system analysis.

Transportation systems may be decomposed in this manner

to any required size. They are limited only in growth

potential. A simple system will consist of a single

material being transported by a single carrier between two

terminals. However, it is possible for a bulk material

transportation system to incorporate more than one of any of

these features.

Bulk materials are a classification of materials which

possess many similar transportation-oriented

characteristics. Chapter 14 presents a detailed description

of bulk materials and their properties, as well as examples.

101

The bulk material is the object which the transportation

system moves.

The transportation medium is a term which describes how

the material travels. For thi~ research, the various

mediums include rails, water (both ocean and inland waters),

roads and other land surfaces, pipes, and the supporting

structures within conveyor systems. Generally speaking, the

material carrier utilizes the medium for movement, following

and being guided by, the pathway it creates. For example,

due to the nature of inland waterways, their traffic must

follow the fixed route which the waterways define. It is

also possible for the transportation medium to provide power

for movement as is with water or electrified rails. Certain

characteristics of the transportation medium will influence

carrier movement. These qualities are typically physical in

nature, and examples include road surface conditions, or

water levels.

The remaining physical features of a bulk material

transportation system are the carriers and the terminals.

The carriers within these systems are also the containers

for the bulk material. Examples include railcars, barges,

and conveyor surfaces. The power for carrier movement may

exist as part of the carrier, as is with ocean bulk

carriers, or the power may be provided by a separate unit as

is with locomotives, towboats, and pipeline system pumps.

102

Terminal facilities within bulk material transportation

systems exist at the origin, ~estination, and at any number

of points within the system. They may serve as

consolidation or separation facilities for the material, or

to provide power, fuel, and other system necessities. They

may also represent intermodal facilities where the material

may change transportation modes. The operation of the

terminal may be described in any detail desired, keeping in

mind that they are portions of the overall transportation

system.

Following a description of bulk materials, the remaining

chapters of Part IV present descriptions of bulk material

transportation systems. The descriptions are given with

respect to the particular system features presented in this

chapter, these being the material, the medium, the carriers

and terminals. The operational characteristics of each

system are examined, as well as any special features which

they may contain.

It should be noted that these system descriptions are not

detailed. It is not necessary or desired at this time to

describe them in any manner other than through a general

overview of their physical and operational characteristics.

The nature of the functional specifications presented in

Part V does not require system descriptions of any greater

depth than is given.

Chapter 14

BULK MATERIALS

According to Kneiling, bulk materials are any type of

freight which is transported without packaging [46).

Although this is true, there are many other unique

characteristics exhibited by bulk materials which distingush

them from other types of freight. It is more advantageous

to rely upon a description of these attributes rather than

any set definition as to what a bulk material is.

A bulk material may be of any physical form, either

solid, liquid, or gas. Regardless of this form, certain

features are commonly evident. A bulk material is

transported in a container into which it is loaded without

packaging. Examples of these containers include railcars,

tanker trailers, and barges. Additionally, bulk materials

tend to assume the shape of their carrier. The carriers

often require cleaning or inspection if it is desired to

transport varying material types.

A property normally associated with liquids or gases is

that they assume the shape of their container. However bulk

materials typically exhibit fluid-like properties. They

flow and can be poured as a means of loading or unloading.

Loading and unloading rates are usually expressed as volume

103

104

or wieght per unit time. The

referred to in terms of volume or

amassed

weight.

quantities are

Bulk materials

are generally transported in "large" quantities. For

example, a unit train may convey as much as 100,000 tons of

coal. This is an extremely large quantity particularly when

related to a small, individual lump of coal. Similarly,

many liquids are moved in thousands-of-gallons quantities.

In this manner, the term bulk material implies that the

material is transported in bulk, or large amounts.

Solid bulk materials, or bulk solids, have certain

distingushing characteristics which are not directly

applicable to liquids or gases. A bulk solid consists of

particles so small in comparison to the total amount that it

can be regarded as a continuous mass [17). They are

sub-classified in a number of ways, most usually in terms of

particle size which may range from a fine powder to a broken

solid. Commonly referred to properties of bulk solids

include; cohesiveness, adhesiveness, particle size, and

particle composition. Table 9 contains a listing of these

and other properties ( and definitions) which are used in

describing and classifying bulk solids. Examples of bulk

solid materials are also given in Table 9.

Non-solid bulk materials include liquids and gases which

typically possess fluid properties. These materials exhibit

105

TABLE 9

Examples of Bulk Solids and Their Properties

Bulk Solids

Broken stone Coal Coke Copra Fertilizers

Grain -barley -maize -rye -wheat

Bulk Solids Properties

Gravel Oil cakes Ores -barytes -bauxite

-chrome -copper -iron -manganese -zinc

Phosphates Salt Sand Sugar Sulfur

Adhesion-the tendency for the material to adhere or stick to other surfaces.

Angle of repose-the angle to horizontal which the free surface of the materiaL, formed in a heap and at rest, assumes.

Bulk density-the weight per unit volume of many material particles.

Cohesion-the tendency for the material particles tb stick to each other.

Friability-the ease with which the material may be broken into smaller particles.

Hardness-the amount of single particle resistance to scratching, cutting, wearing, abrading, etc ..

Moisture content-the ratio of water weight to material weight within a give~ amount of material.

Particle size analysis-the size of particles, the size distribution, and the particle shapes.

Specific gravity-the ratio of the weight in air of a given volume of material to the weight in air of an equal volume of water.

Additional Properties abrasiveness slide aeration surcharge angle of internal friction angle of external friction

References [6,9,28]

angle of segregation angle of specific weight compaction tackiness corrosiveness toxicity

106

common fluid characteristics such as viscosity, elasticity,

specific gravity, and surface tension [79]. A detailed

presentation of these and other properties may be found in

any fluid mechanics text. Non-solid bulk materials are

typically transported in homogeneous form. Examples of

these materials are given in Table 10.

Bulk materials are more often "natural"

opposed to being manufactured. Liberal use

products as

of the word

natural permits inclusion of refined or processed materials.

For example, certain grains may be subjected to various

harvesting and refining processes. However, they are still

a natural material as opposed to a manufactured product such

as bread or beer. Bulk materials are typically transported

by water, rail, and highway. They are seldom transported by

air. Additionally, transportation and material handling

costs usually represent a signifigant portion of their final

value [69].

107

TABLE 10

Examples of Non-solid Bulk Materials

Chemicals Latex Liquid natural gas Liquid petroleum gas

Bulk Liquids Properties

Oil -fuel

Petroleum Refined petroleum

-crude Wines -lubricating -diesel -vegetable

Elasticity - this property is related to the amount of deformation (expansion or compression) for a given pressure change.

Internal energy - the energy a substance possesses because of its state of molecular activity.

Mass density - the mass per unit volume. Specific heat - the amount of heat that must be transferred

to a unit mass of a substance to raise its temperature by one degree.

Specific weight - the gravitational force per unit volume. Surface tension - the magnitude·per unit length of the

"tension" exerted by the liquid surface upon adjacent portions of the surface or upon other objects which are in contact with the liquid.

Additional Properties critical velocity turbulent friction disposition velocity fluid drag friction velocity turbulent flow

References [79,91]

heterogeneous suspension transition velocity homogeneous suspension laminar flow laminar friction

Chapter 15

RAIL TRANSPORTATION SYSTEMS

A railway bulk material transportation system consists of

the train, the rails, and the terminal facilities. A train

may be further specified as being composed of a

locomotive(s) and any number of railcars for conveying bulk

materials.

There are over 190,000 miles of line-haul railways and

over 300,000 miles of track in the United States, not all of

which are traversed by bulk cargo. The tracks are

relatively fixed and often interact with other ground

supported transportation modes, resulting in limited route

flexibility. The rails signifigantly affect the movement of

the trains through terrain conditions which are reflected in

curves and grades, and through the physical condition of the

rails themselves [46].

A railcar is an unmanned cargo carrier which possesses no

mo.tive power. It exists as a unique entity, however several

may be coupled, end-to-end to form an entity which moves as

a single unit. Rai lcars vary in type, size, capacity, and

construction material, as well as in loading and unloading

characteristics. The average railcar has a capacity of 78.8

tons, resulting in typical train capacities of 2000 tons and

more [14].

108

109

More than sixty percent of the materials transported by

rai 1 are bulk in nature. For example, railroads transport

seventy-five percent of the total coal tonnage moved in the

United States, corresponding to nearly one-third of all rail

cargo. Additional materials such as metallic ores,

chemicals and allied products, and grain also totalled over

one million car loadings in 1979 [ 14). Rail transportation

typically dominates the market for transporting quantities

of 30,000 pounds or more, 300 miles or more.

Locomotives provide the power for railcar movement and do

not have cargo carrying capabilities. As with railcars,

locomotives vary in size and type, in addition to

horsepower. A train consists of one or more locomotives,

and one or more railcars coupled end to end. The

locomotives are typically attached to the front of a coupled

railcar unit, however they may be placed between railcars,

or at the end of a train as needed.

A train may typically carry several types of bulk

materials, the primary exception being a unit train. The

unit train service evolved from the rent-a-train concept for

the movement of goods [ 14] . Primarily introduced as a

service to the coal industry, these trains specialize in the

movement of a single material type from origin to

destination. Usually there are no in-transit stops, and

110

loading .and unloading may be accomplished while the train is

in motion. Regularly scheduled train movements are often

required. This feature coupled with the single material

characteristic results in empty backhauls. However this is

usually offset by the high revenue producing abilities of

the unit train.

A train moves as a single unit from one terminal to the

next, averaging fifty miles per hour travelling speed. The

line capacity of any particular track segment is dependent

primarily on the type of track and signalling system, and

the overall track configuration (46]. For example sidings

are utilized to permit traffic from opposing directions to

pass one another, or for one train to overtake another.

Terminal facilities vary, however the typical function

performed is the reorganization of incoming trains in

preparation for departure as outgoing trains, or the.

movement of a material from one transportation mode to

another. The terminal is usually composed of several yards

through which the rai lcars selectively pass. These yards

are characterized by a large number of tracks which cross

and switch within and between them. Railcars may be delayed

a variable length of time upon reaching the terminal

depending on when the material, or the carrier is required.

A typical example is the use of rail storage facilities at a

coal port facility.

111

Piggyback service was initiated in an attempt to increase

the level of service available to intermodal customers (14).

Piggyback is a general term which includes both

trailer-on-flatcar and container-on-flatcar (TOFC and COFC)

services. Piggybacking combines use of the line-haul

efficiencies of rail movement with the flexibility and

delivery speed of motor carriers.

TOFC service involves the movement, by rail, of fully

loaded highway trailers (54). Trucks are utilized to

locally pickup and deliver the trailers. COFC service

provides for movement of containers, also on railroad

flatcars (14]. Flatbed trucks are utilized for ramp to door

deliveries. COFC services are not typically utilized for

bulk material movement.

Chapter 16

INLAND WATER TRANSPORTATION SYSTEMS

The inland water system for bulk material transportation

consists of inland waterways, barges and towing vessels, and

terminal facilities.

The United States has nearly 25,000 miles of inland

waterways which are of sufficient depth for commercial

navigation [ 25 l . Although constantly changing due to

nature's forces, these waterways are, for the most part,

permanently fixed in location. Interacting with these

waterways is a system of locks, dams, and resevoirs. Dams

are utilized to maintain sufficient water depth by

regulating the flow of water in and out of resevoirs [42).

Locks permit passage of vessels from one pool of water to

another at a different water level. Inland water vessels

must utilize locks in their movement, incurring delays of

thirty minutes to one hour, or more. The dimensions of the

locks, and the waterways themselves, constrain the size of

carriers which may utilize them. These are generally

expressed in terms of length, width, and current depth.

Approximately eighty percent of the materials transported

by inland water carriers are bulk in nature. Examples

include coal, petroleum and petroleum products, grain, sand,

112

113

and gravel [42]. These materials are transported in

unmanned barges which are non-selfpropelled, and which vary

in size and type. As previously mentioned the barge

capacity is limited by the waterway depth, the standard

being approximately 1500 tons [24]. Barges are either

pushed or pulled by towboats, and move in groups or strings

[ 1 7 l .

A towboat coupled with one or more barges is called a tow

[ 42]. Towboats vary according to power provided and, as

with barges, the maximum size is restricted by both channel

depth and lock dimensions. Fleeting, or the creation of a

flotilla inv9lves lashing several barges together to form a

particular type of tow.

unit. Bulk material

involves time spent

The flotilla then moves as a single

inland water movement typically

loading and unloading barges,

assembling, breaking, and reassembling the tow, as well as

travel and local maneuvering time [34]. Fueling typically

occurs at midstream while the tow is underway. For passage

through locks the tow may require separation into groups of

sufficiently small size (usually 12 barges) to ensure safe

lock utilization. The average crew size for a flotilla is

from seven to fourteen persons who, for line-haul operation,

may only work six hours on prior to having six hours off.

114

Movement along inland waterways occurs between terminals

which are typically served by either rail or highway

systems. A terminal is a facility whose primary function is

the loading and unloading of inland water carriers. It may

be general or special purpose oriented with regard to

material type and loading/unloading facilities. Solid or

dry bulk materials are usually loaded utilizing conveyor or

spout type systems, resulting in flowrates of weight or

volume per unit time [42]. Clamshell cranes and clambuckets

are typically used for unloading resulting in rates of a

more discrete nature [ 24 l. Non-solid bulk materials

generally utilize a pipeline system for both loading and

unloading.

Terminals usually incorporate some type of storage I

facility due to the type of intermodal transfer which may

occur [ 56 l . This may involve large storage tanks,

sufficient rai 1 or other "parking" facilities, or open or

covered ground storage. The type and capacity directly

corresponds to the type and volume of material handled.

It should be noted that certain carriers described in

this chapter are also utilized to transport bulk materials

along intercoastal waterways. Additionally, certain inland

waterways permit passage of ocean-type bulk carriers. These

carriers are discussed in Chapter 17 as they exhibit

characteristics not unlike ocean vessels.

Chapter 17

OCEAN TRANSPORTATION SYSTEMS

The movement of bulk cargo by means of ocean

transportation is one of the most inexpensive bulk .carrier

modes available. This is primarily due to the extremely

large carriers utilized. Currently twenty-seven percent of

the world fleet serving the United States are designed for

the movement of bulk materials (14]. Ocean transportation

systems are composed of bulk carriers, oceans, and port or

land facilities.

Approximately

covered by

large bulk

oceans

seventy-five percent of the earth is

of sufficient depth to permit passage of

carriers [ 1 7 l .

between two ports is large,

at any time. In this

The number of available routes

and these may be easily altered

respect, ocean bulk material

transportation differs from the relatively fixed routes

characteristic of rail, pipe1ine, and highway systems.

The bulk carriers for ocean transportation are larger

than for any other mode presented, conveying between 10,000

and 100,000 tons. A bulk carrier is typically a single deck

vessel with from four to sixteen holds [ 6, 69] . It is a

vessel designed to carry various kinds of dry cargo in bulk

both efficiently and economically. They are classified

115

116

loosely according to material as they tend to be specialized

vessels. The primary classifications are ore, ore/oil,

ore/bulk/oil, and general purpose bulk carriers. The bulk

category includes sugar, salt, coal, grain, and copra.

Tankers are utilized for non-solid bulk movement and are

specially designed for quick loading and unloading [9]. A

300,000 ton tanker may have seven or more tanks for

conveying oil, petroleum, fuel oil, and other bulk liquids.

A port is a harbor which shelters marine terminal

facilities in addition to providing piers or wharves for

ship berthing during loading and unloading [92]. The

carrier may utilize port facilities, or it may discharge its

cargo onto smaller vessels or to an artificial island [17].

The port incorporates storage facilities for both incoming

and outgoing materials. Ports serve as transfer terminals,

permitting the switching of cargo to a land or inland

transportation mode. The loading and unloading facilities

are designed for the particular type of material handled.

Tankers typically utilize pipelines while dry bulks may use

a gantry/conveyor system [69]. Some bulk carriers have

self-unloading capabilities.

Ocean bulk carriers transport materials between ports at

speeds from thirteen to sixteen knots [ 6] . The di stance

moved may be thousands of miles, and may require several

117

weeks in travel time. Bulk carriers are also utilized for

the movement of barges. LASH (lighter-aboard-ship) is the

name given to those carriers that transport barges which

have been loaded at some inland point and moved to the ocean

port via inland water movement. These carriers may convey

up to 73 barges containing various bulk materials.

It should be noted that several inland waterways, for

example the Great Lakes, permit passage of the type of

carriers described in this chapter. Additionally, although

the intercoastal waterways are part of the oceans, the

carriers which utilize them are of the type utilized on

inland waterways, and have been presented in that chapter.

Chapter 18

INLAND WATER TRANSPORTATION SYSTEMS

The inland water system for bulk material transportation

consists of inland waterways, barges and towing vessels, and

terminal facilities.

The United States has nearly 25,000 miles of inland

waterways which are of sufficient depth for commercial

navigation [ 25 l . Although constantly changing due to

nature's forces, these waterways are, for the most part,

permanently fixed in location. Interacting with these

waterways is a system of locks, dams, and resevo.i rs. Dams

are utilized to maintain

regulating the flow of water

sufficient water depth by

in and out of resevoirs [42].

Locks permit passage of vessels from one pool of water to

another at a different water level. Inland water vessels

must utilize locks in their movement, incurring delays of

thirty minutes to one hour, or more. The dimensions of the

locks, and the waterways themselves, constrain the size of

carriers which may utilize them. These are generally

expressed in terms of length, width, and current depth.

Approximately eighty percent of the materials transported

by inland water carriers are bulk in nature. Examples

include coal, petroleum and petroleum products, grain, sand,

118

119

and gravel [42]. These materials are transported in

unmanned barges which are non-selfpropelled, and which vary

in size and type. As previously mentioned the barge

capacity is limited by the waterway depth, the standard

being approximately 1500 tons [24]. Barges are either

pushed or pulled by towboats, and move in groups or strings

l 1 7 l .

A towboat coupled with one or more barges is called a tow

[ 42) . Towboats vary according to power provided and, as

with barges, the maximum size is restricted by both channel

depth and lock dimensions. Fleeting, or the creation of a

flotilla involves lashing several barges together to form a

particular type of tow.

unit. Bulk material

involves time spent

The flotilla then moves as a single

inland water movement typically

loading and unloading barges,

assembling, breaking, and reassembling the tow, as well as

travel and local maneuvering time (34]. Fueling typically

occurs at midstream while the tow is underway. For passage

through locks the tow may require separation into groups of

sufficiently small size (usually 12 barges) to ensure safe

lock utilization. The average crew size for a flotilla is

from seven to fourteen persons who, for line-haul operation,

may only work six hours on prior to having six hours off.

120

Movement along inland waterways occurs between terminals

which are typically served by either rail or highway

systems. A terminal is a facility whose primary function is

the loading and unloading of inland water carriers. It may

be general or special purpose oriented with

material type and loading/unloading facilities.

regard to

Solid or

dry bulk materials are usually loaded utilizing conveyor or

spout type systems, resulting in flowrates of weight or

volume per unit time (42]. Clamshell cranes and clambuckets

are typically used for unloading resulting in rates of a

more discrete nature (24]. Non-solid bulk materials

generally utilize a pipeline system for both loading and

unloading.

Terminals usually incorporate some type of storage

facility due to the type of intermodal transfer which may

occur (56]. This may involve large storage tanks,

sufficient rail or other "parking" facilities, or open or

covered ground storage. The type and capacity directly

corresponds to the type and volume of material handled.

It should be noted that certain carriers described in

this chapter are also utilized to transport bulk materials

along intercoastal waterways. Additionally, certain inland

waterways permit passage of ocean-type bulk carriers. These

carriers are discussed in Chapter 17 as they exhibit

characteristics not unlike ocean vessels.

Chapter 19

OCEAN TRANSPORTATION SYSTEMS

The movement of bulk cargo by means of ocean

transportation is one of the most inexpensive bulk carrier

modes available. This is primarily due to the extremely

large carriers utilized. Currently twenty-seven percent of

the world fleet serving the United States are designed for

the movement of bulk materials (14). Ocean transportation

systems are composed of bulk carriers, oceans, and port or

land facilities.

Approximately

covered by

large bulk

oceans

seventy-five percent of the earth is

of sufficient depth to permit passage of

carriers [ 1 7 l .

between two ports is large,

at any time. In this

The number of available routes

and these may be easily altered

respect, ocean bulk material

transportation di£fers from the relatively fixed routes

characteristic of rail, pipeline, and highway systems.

The bulk carriers for ocean transportation are larger

than for any other mode presented, conveying between 10,000

and 100,000 tons. A bulk carrier is typically a single deck

vessel with from four to sixteen holds [ 6, 69] . It is a

vessel designed to carry various kinds of dry cargo in bulk

both efficiently and economically. They are classified

121

122

loosely according to material as they tend to be specialized

vessels. The primary classifications are ore, ore/oil,

ore/bulk/oil, and general purpose bulk carriers. The bulk

category includes sugar, salt, coal, grain, and copra.

Tankers are utilized for non-solid bulk movement and are

specially designed for quick loading and unloading (9]. A

300,000 ton tanker may have seven or more tanks for

conveying oil, petroleum, fuel oil, and other bulk liquids.

A port is a harbor which shelters marine terminal

facilities in addition to providing piers or wharves for

ship berthing during loading arid unloading (92]. The

carrier may utilize port facilities, or it may discharge its

cargo onto smaller vessels or to an artificial island (17].

The port incorporates storage facilities for both incoming

and outgoing materials. Ports serve as transfer terminals,

permitting the switching of cargo to a land or inland

transportation mode. The loading and unloading facilities

are designed for the particular type of material handled.

Tankers typically utilize pipelines while dry bulks may use

a gantry/conveyor system [69]. Some bulk carriers have

self-unloading capabilities.

Ocean bulk carriers transport materials between ports at

speeds from thirteen to sixteen knots [ 6]. The di stance

moved may be thousands of miles, and may require several

weeks in travel time.

the movement of barges.

123

Bulk carriers are also utilized for

LASH ( lighter-aboard-ship) is the

name given to those carriers that transport barges which

have been loaded at some inland point and moved to the ocean

port via inland water movement. These carriers may convey

up to 73 barges containing vario.us bulk materials.

It should be noted that several inland waterways, for

example the Great Lakes, permit passage of the type of

carriers described in this chapter. Additionally, although

the intercoastal waterways are part of the oceans, the

carriers which utilize them are of the type utilized on

inland waterways, and have been presented in that chapter.

Chapter 20

PIPELINE TRANSPORTATION SYSTEMS

Pipeline transportation systems have typically been

utilized for the movement of bulk liquid materials. Within

the last decade, the movement of bulk solids via pipeline

systems has recieved increasing attention. A pipeline

transportation system is composed of the pipe, pumping

stations, terminals, and the material.

The

400,000

United

miles

States currently

of pipelines [92].

utilizes approximately

A pipeline system may

transport material over distances which vary from less than

ten miles, to hundreds of miles. Pipelines provide a

transportation system, either under or above ground, which

is totally encased. The pipe diameter is fixed for a given

section of pipe, and it is chosen to be compatible with the

material type. The pipe provides a fixed route in much the

same manner as rails do for a rail transportation system.

Pumping stations are strategically located along the

pipeline [14,91]. They provide the power required to

transport the materials. The distance between stations is a

function of terrain, the pipeline size, the required

pressures, and the bulk material. The pumps utilized vary

in type and power, and provide power for movement of

124

125

non-compressible bulk materials. They may be replaced by

compressors for the movement of compressible materials such

as natural gas. Terminal facilities within a pipeline

system may include treatment plants and storage facilities.

Pipeline systems may be loosely classified as carrying

either liquids or solids. Liquid materials moved include

water, and crude and refined oil, in addition to gaseous

substances which possess fluid properties. Pipelines

typically convey a single material, however as is the case

with oi 1 movement, several grades of a material may be

simultaneously or sequentially transported.

There are three principal types of solid material

pipeline systems [ 92). Slurry pipelines transport solids

which have been suspended in a fluid medium, typically

water. Slurry lines are currently used for the movement of

coal, iron ore, sulfur, and potassium chloride. Pneumatic

pipelines move solids by means of air pressure or a vacuum,

utilizing air as the conveying medium. This is a system

commonly used for the unloading of bulk materials such as

grain or sugar [ 50] . Capsule pipeline systems transport

freight whose size approaches the pipe diameter.

Additionally, small particles may be aggregated to form

capsules which are conveyed by liquid or gas. Research has

been conducted on the use of capsule pipelines for the

126

movement of clean, graded rock aggregates over a six mile

distance (92).

Pipelines are typically designed to operate 24 hours per

day, 365 days per year (91). Although their speed is

real ti vely slow ( three to five miles per hour) they are

extremely dependable and have very good loss and damage

records [ 14). They are utilized to transport a limited

number of bulk materials over relatively fixed routes.

Chapter 21

CONVEYOR TRANSPORTATION SYSTEMS

Conveyor systems are generally considered to be material

handling rather than transportation systems. However

according to the previous definition, they are also utilized

for the transportation of bulk materials. Conveyors are

often used for loading and unloading bulk carriers,

representing a form of intermodal transfer. The major

components of a conveyor system are the transporting

surface, its foundation and supporting structures, and the

drive components.

Conveyors, for the movement of bulk materials, are

typically belt, chain, or screw type [ 16 l . These

classifications refer to the surface on which the material

is conveyed. In any case, the conveyor consists of an

endless, moving surface which is designed to transport a

single material at a given rate [ 1 7 l . They are

uni-directional and operate continuously without time loss

for loading and unloading. Conveyor systems are extremely

flexible in that they may recieve and discharge material

from one or more locations. The transporting surface may be

any desired, practical width and length. If necessary, the

entire system may be housed from external effects.

127

128

The amount of material transported is a function of the

width and speed of the conveyor surface, and the material

weight [ l). Conveyor capacities are usually expressed as

weight or volume per unit time. The size of the material is

primarily limited by the surface width. Bulk materials

transported through conveyor systems range from very fine,

dusty chemicals to large, lumpy ores.

Aerial tramways exhibit the same characteristics as land

conveyor systems. This is a form of transportation in which

the individual carrier is suspended above the terrain by

cables. The cables are themselves supported by towers

placed at intermediate points [ 17). Aerial tramways are

also designed to convey a single material at a given rate.

Typical materials include sand, gravel, crushed rock, clay,

and coal.

For both conveyor and aerial tramway systems, longer.

installations are often composed of individual units. Thus

transfer of either cargo or carrier between segments is

required [ 17].

Chapter 22

HIGHWAY TRANSPORTATION SYSTEMS

Highway transportation systems are not typically

associated with the movement of bulk materials. Their

relatively small carrying capacity is not economically

suitable for commonly low unit value bulk materials such as

coal and ores. Trucks are used for short haulage, either as

a form of intermodal transfer or as the transportation mode

for short distances.

Highway transportation is one of the most flexible modes

available for bulk material movement. This flexibility is

primarily attributed to the use of practically any land

surface for movement. Roads may be classified according to

functions, purpose, or importance and for the most part,

trucks are not restricted to any one type [ 92] . The road

type and topography are influential when considering vehicle

operation. The vehicles are not constrained by rails,

waterways, or any other additional physical

associated with other transportation modes.

entities

Bulk motor carriers are smaller than other bulk carriers,

averaging from five to twenty tons [ 1 7 l . They are

individually powered and controlled, each carrier requiring

a single operator. The cargo unit may or may not be

129

130

permanently attached to the power unit. There is typically

one cargo carrier per power unit. Recently, tandem trailers

are being utilized and may convey different materials. Both

liquid and solid materials may be transported including

coal, gypsum, gasoline, grain, and oil. · The cargo unit is

usually specialized for a particular material type or class.

There are three basic terminal classifications which are

found in longer distance highway transportation systems

[ 14]. Pick-up and deli very terminals permit freight to be

collected from shippers and consolidated with other loads

bound for the same direction or destination. Break bulk

terminals facilitate separation of consolidated shipments.

Relay terminals are required due to the maximum hours of

service regulations imposed upon carrier operators.

Part

Chapter 23

CONCLUSIONS

IV has presented overviews of bulk material

transportation systems. They have been classified according

to the mode of physical movement. Table 11 presents a

summary of these systems with reference to several easily

identifiable system parameters. Each transportation mode is

easily described utilizing these parameters, indicating that

they may be of use during formulation of simulation language

constructs. Table 11 emphasizes the perception that bulk

material transportation systems are extremely similar

regardless of the variations in transportation mode. It is

these similarities which facilitate the development of

functional specifications for a simulation language capable

of representing bulk material transportation systems.

131

132

TABLE 11

Syste:n Parameter Comparisons

Railway

Transp:,r- --tation Medium

Power Unit

Cargo Carrier

Average Capacity (tons)

Average

Rail

Loco-m:>tive

Railcar

78.8

Nunber 100 of Carriers

Average Distance 533 Travelled

Average Speed (mph)

so

Transp:,rtation System

Highwa: Inland Ocean PiEeline __ y t:rater Water

Road or Land Water Water Pipeline Surface

llitor Towboat Engine Punos' Engine Com-

pressers

Truck Bulk Trailer Barge Carriers Pipe

13.52 1350 40000

1 15-30 1 1

457 392-1770

60 5.5 22 4

C:Onveyor

llivi.ng Surface

llitor Engine

M,ving Surface

15-15000

1

320

10

PART V

SIMULATION LANGUAGE FUNCTIONAL SPECIFICATIONS

133

This part presents the functional

are developed from the information

specifications which

provided in previous

parts of this research. These specifications have been

presented in

description,

respectively.

overview of

three chapters

language form, and

The specifications

the development of

which emphasize system

computer considerations,

provide a very general

the proposed simulation

language for bulk material transportation

actual formulation of the language occurs,

systems. Until

the operational

characteristics cannot be described in any greater detail.

It is more reasonable to state that these specifications

address the manner in which the language is desired to

facilitate the simulation of bulk material transportation

systems.

The information detailed in Part Vis presented as three

chapters. The first of these describes the functional

specifications which are primarily concerned with the system

description. These specifications are based largely on the

information presented in Chapter 8 where the importance of

the system description, or model, within a simulation

analysis is stressed.

with language form

The following chapter is concerned

functional and format. These

specifications are derived from

Chapter 9. The final chapter

134

information presented in

of Part V details those

135

functional specifications which are computer hardware

oriented. This chapter utilizes information given in

Chapters 8 and 10. Additionally, each of the specifications

detailed in this part utilize the descriptions of bulk

material transportation systems which were presented in Part

IV.

In addition to the use of previously detailed information

in Chapters 8,9, and 10 and Part IV, the author's previous

experience in the simulation of bulk material transportation

systems was also utilized. This experience was gained as a

result of the author's graduate research performed for

Norfolk and Western Railway at their Lambert's Point Coal

Export Facility during 1981-82. The task was to develop a

simulation model of the facility which could be used as an

analysis tool by Norfolk and Western personnel. SLAM, an

extremely powerful simulation language, (see Section 12.14)

was used to develop the model. The difficulties encountered

in successfully modeling the system as desired resulted in

the author's decision to formulate a simulation language

specifically for bulk materials such as coal.

Chapter 24·

SYSTEM DESCRIPTION

This chapter is concerned with the general system ( or

model) characteristics which have been presented in Section

8.1. The functional specifications presented will classify

bulk material transportation systems' models as being of the

following types;

1. Iconic, analog, or symbolic

2. Static or dynamic

3. Stochastic or deterministic

4. Discrete, continuous, or combined discrete/continuous

As previously stated, the majority of simulation models

are symbolic representations of a system. These models

describe system behavior utilizing mathematical expressions

and functions. Expressions of this type are extremely

important for the representation of bulk material

transportation systems. Examples include rate equations for

carrier movement and the loading and unloading of the

material. Additionally, many analysts feel that a network

configuration provides an excellent pictorial view of a

transportation system [4]. With this perspective, the nodes

correspond to terminals and the branches represent both the

transportation medium and the route to be followed.

Networks are also a symbolic model type.

136

137

Bulk material transportation systems are dynamic. The

analyst is primarily concerned with the variations in system

state as time advances. It is not feasible to suggest that

the manner in which these changes occur is irrelevant as it

is in a static simulation. It is the responsibility of the

analyst to describe the means by which these changes occur,

typically utilizing mathematical and/or logical expressions.

From another per spec ti ve, several of the variables within

bulk material transportation systems exhibit time dependent

behavior. Examples include the movement of a conveyor and

the availability of operators within an inland water system.

Stochastic models are those in which one or more model

entities possesses a degree of randomness in its transition

from one state to the next. Bulk material transportation

systems are stochastic, as opposed to deterministic, in that

the model entities do not behave in a completely known

manner. The overviews presented in Part IV do not describe

all of the inputs which influence system behavior. It would

be an extremely difficult programming task to incorporate

them within the simulation language. A typical example is

the effect of the weather on both material and carrier . behavior. It would be much simpler to reflect these

"exogenous" influences in terms of random behavior of the

system entities. However, the language should incorporate

138

deterministic capabilities which wi 11 assist in debugging

and validation.

24.1 RANDOM NUMBER GENERATION

As the result of the previous statement that the language

should possess the ability to represent stochastic system

elements, a method is required for generating random

variables. The method shall provide values from both

empirical tables and from theoretical distributions. This

shall be accomplished in two distinct steps (86]. The first

step requires the generation of a sequence of uniformly

distributed random numbers. These numbers are then utilized

to generate random variables with the required

characteristics. Random variate generation is discussed in

the following section.

The accomplishment of the first step within a computer

simulation theoretical framework should satisfy the

following criteria (11];

1. The sequence of random numbers must be uniformly

distributed.

2. The sequence of random numbers must be statistically

independent.

3. The generator should involve a minimum number of

program lines for expedient execution.

139

4. The generator should require a minimum amount of

memory storage.

5. The sequence of random numbers should be of

sufficiently long period.

6. The sequence of random numbers should be

reproducible.

The execution of a stochastic simulation program

typically utilizes several random numbers which are created

by the random number generator as a sequence of values.

This sequence must be statistically tested for uniformity

and independence in addition to randomness. Table 12

presents a list of statistical tests commonly used for this

purpose. It is recommended that the first four tests be

performed plus any others which may be relevant to the

problem at hand. Additionally, several currently used

random number generators have

requiring only proper usage to

correctness [86].

been previously tested,

ensure their statistical

It is not possible to assure that any deterministic

process such as a computer implemented algorithm will

produce a sequence without any non-random characteri sties

[ 70 l . The values generated are in fact pseudorandom. They

are created using recursive mathematical relations and are

therefore completely deterministic. The repeated use of the

140

TABLE 12

Statistical Tests For Random Number Generators

Frequency Tests Gap Test Spectral Test Autocorrelation Test Order Statistic Tests Maximum Test

References [11,86]

Serial Test Runs Test Poker Test Distance Test Lagged Product Test

141

same input values will generate the same sequence of random

numbers as output, satisfying the reproducibility

requirement mentioned above. This also permits use of

correlated sampling techniques [86]. The period of the

sequence is the number of values which will be · generated

before the values begin to repeat [ 70]. The period of a

random number sequence must be of sufficient length to

provide a unique value whenever required for the duration of

the simulation.

The most commonly used method for generating random

numbers is one of three forms of a linear congruential

generator [ 11]. The most recommended of these [ 70, 86] is

the multiplicative generator which is of the form

X = (CX 1) :Mxlulus M n n-

The value of Mis usually set equal to the word size of the

computer to be used, permitting the modulus operation to be

accomplished by ignoring overflow. The initial value of X

and the value of Care then chosen so that a maximum period

value is obtained, and to ensure a maximum degree of

correlation between the values generated. The random

numbers will be between 0 and 1, however any desired range

may be created by dividing X by M.

142

The remaining forms of the linear congruential generator

are known as the mixed form and the additive form

(11,70,86]. These typically permit a larger period length

which is independent of the computer word size. However

they typically require greater computer storage space, and

they tend not to perform well with regards to the runs test.

Each of the linear congruential generators are extremely

sensitive to the selection of seeds and constants. Shannon

presents several references for other types of generators

which are currently available (86]. These have very little

advantage over the multiplicative generator which tends to

execute as fast or faster, and is not as likely to create

difficulties when used.

24.2 RANDOM VARIATE GENERATION

The stochastic behavior of system variables is typically

described by historic data. For example the length of time

required for an inland water carrier to pass through a lock

may be recorded for as many occurrences as desired,

resulting in a set of tabularized sampled data points. This

data is then utilized by the system's analyst to describe

variable behavior during the simulation execution.

The random numbers discussed in the previous section may

now be utilized to select a variable value in one of two

143

ways. A table look-up procedure is a means of actually

selecting one of the sampled data values from the table and

assigning it to the proper variable. Monte Carlo sampling

is one type of table look-up technique (86]. This method is

not generally very efficient in terms of computer storage,

in addition to being restricted in terms of the use of only

historic, sampled data.

As opposed to a table look-up method, theoretical

distributions may be used. A distribution is chosen such

that it represents the historic data but has the advantage

of representing the population rather than just a sample.

The use of theoretical distributions is facilitated by the

fact that through mathematical manipulation, a uniformly

distributed random number may be used to generate

practically any theoretical 'distribution (70]. The

distribution is described by parameters (mean, variance,

etc.) which are derived from the sampled data.

For most of the theoretical distributions several

algorithms are available which accomplish the transformation

of the random number to the desired form [ 47, 70]. Many

researchers recommend the use of the inverse transformation

method, descriptions of which may be found in [11,47,70,77].

The number and type of theoretical distributions which

shall be incorporated within the proposed simulation

144

language would be difficult to specify at this time. What

may be stated is that it will be a subset of those presented

in Table 13. A form of table look-up procedure shall be

incorporated for that sampled data which cannot be

adequately represented by a theoretical distribution.

Additionally, one or more transformation techniques shall be

available for the amenable data.

24.3 DISCRETE, CONTINUOUS, OR COMBINED ORIENTATION

Table 14 presents a listing of the various entities

contained within bulk material transportation systems. As

with the system descriptions, this listing is an overview

and is not intended to incorporate all entity types which

may exist. It is obvious that both discrete and continuous

entities may be found, often existing simultaneously. This

indicates a need for the language to be capable of

representing one, the other, and/or both entity types.

In many cases a single entity requires representation as

both discrete and continuous. For example, the unloading of

a carrier may be described as a discrete process if it is

or cranes. However if the accomplished utilizing buckets

material is discharged through a pipeline, a continuous

description of the process is more applicable.

145

TABLE 13

Theoretical Probability Distributions

Beta Binomial Chi-square Erlang Exponential Gamma Geometric Hypergeometric

Lognormal Multinominal Negative Binominal Normal Poisson Triangular Uniform Weibull

Barges Commodities Conveyors Locomotives Towboats Operators People

146

TABLE 14

System Entities

Pipelines Railcars Rails Roads Ships Trucks Water

147

24.3.1 Discrete Orientation

The modeling perspective utilized for the discrete model

portions is strongly influenced by the nature of bulk

material transportation systems. Of the currently utilized

perspectives, event scheduling, process interaction, and

activity scanning, the most appropriate is the process

interaction approach.

The process interaction approach emphasizes the movement

of entities through the system, rather than the

representation of system state changes which is the primary

consideration of the other per spec ti ves. It permits the

analyst to percieve the system as a set of interact~ng

processes representing the path followed by an entity. This

is precisely the manner in which a bulk material

transportation system should be represented. The processes

can represent the various activities which typically occur

affecting a bulk material between its origin and

destination. Examples include loading and unloading, the

utilization of carriers, and of transportation mediums.

Terminal facilities may also be represented in this manner.

The process interaction approach will facilitate simpler

programming thru its use of macro-structure language

statements. However, certain aspects of bulk material

transportation systems may be more accurately represented

148

utilizing the event scheduling approach.

is desired to preschedule occurrences

For example if it

such as system

operational periods, or if it is desired to model certain

processes in greater detail. The user· may then define

instantaneous state changes occurring at event times in

terms of mathematical and/or logical expressions. The

activity scanning approach is useful in situations where the

system state determines the occurrences of events or

activities. An example of this would be the requirement

that a train await the proper number of rai lcars prior to

its movement. This perspective also facilitates system

representation in situations where activity durations cannot

be specified due to their dependence on the system state.

The proposed simulation language should offer programming

abilities representing each of the three discrete

perspectives. The process interaction approach shall be the

primary perspective, however the use of other perspectives

should be easily accomplished as they too are extremely

useful.

24.3.2 Continuous Perspectives

The continuous portions of bulk material transportation

systems' models are capable of being represented with either

block or expression form languages. Block form languages

149

emulate analog computer behavior for continuous system

simulation. They permit subroutine connection and control

in much the same way as an analog patchboard permits control

of electronic units.

recently

offered

developed

by block

Expression form languages

class which combine the

form languages with the

convenience of algebraic and logical statements.

are a more

simplicity

power and

For this

reason, the proposed simulation language shall be expression

form. The language will therefore facilitate direct

representation of the mathematical equations which describe

the system. This shall provide for more convenient

programming for the language user. It is proposed that the

continuous system facilities will closely adhere to the

specifications of the Simulation Software Committee of

Simulations Councils Inc. for continuous system simulation

languages [ 41] .

24.3.2.1 Continuous System Equations

The simulation of continuous systems typically involves

the use of differential and/or difference equations for the

system description. The proposed simulation language shall

offer facilities for solution of both equation types,

providing the user with a choice as

representation. Examples of their

to continuous system

use includes the

150

description of material flow either by pipeline or conveyor,

and the representation of loading and unloading

characteristics.

24.3.2.2 Numerical Integration

The use

simulation

of a digital

requires that

computer for continuous system

the proposed simulation language

incorporate an algorithm for numeric integration. There are

a large number of currently utilized techniques for digital

computer evaluation of continuous systems (18,33,49,70].

The decision as to which to use is primarily determined by

the following;

1. Computer memory (both available and required)

2. Acceptability of errors due to:

a) Numerical approximations

b) Roundoff (finite word length) effects

3. Computational effic~ency (processing time)

4. Stability of the method

Currently available algorithms are typically restricted

to solving systems of first order differential equations

(33]. This requires the proposed language to facilitate the

representation of an arbitrary nth order differential

equation by

differential

an equivalent

equations. Korn

system of

and Wait

integration techniques as follows (49);

n first

classify

order

numeric

use

1.

2.

151

Multi-step rules These utilize past values to

approximate a solution value either implicitly or

explicitly, and require one derivative call per

integration step.

Predictor-corrector methods These combine a

predictor rule for estimating the solution with a

rule to corrector

typically require

integration step.

improve the estimate.

two derivative calls

They

per

3. Runge-Kutta methods - These methods are designed to

be exact for a polynomial of order n. They are

classified by order which corresponds to the number

of derivative calls per integration step, and they

utilize an averaging process to obtain improved

derivative approximations.

Multi-step rules present difficulties in their initial

and with discontinuous derivatives where the

approximation is inaccurate [ 49] . Predictor-corrector

methods offer an improvement in accuracy and stability.

They typically incorporate a technique for altering the step

size based on a difference in solution values. Runge-Kutta

algorithms are the most efficient and present fewer

programming difficulties [70]. They also tend to be less

sensitive to certain stability problems w.hich occur with

numeric integration.

152

It would be difficult at this time to determine which

method would be optimal with regard to bulk material

transportation

the language

system simulation. It

will incorporate more

providing the user with a selection.

is concievable that

than one algorithm,

Korn and Wait state

that no one rule is best for all purposes however most

researchers consider a fourth order Runge-Kutta-Fehlberg

algorithm to be suitable for most general purposes [ 49) .

Dickie presents thirteen commonly used techniques which are

compared on the basis of memory space, number of derivative

evaluations, total number of errors, and relative efficiency

to perform a similar [ 18 l • It would be advantageous

comparison utilizing the selected computer type prior to

selecting a particular method of numeric integration for the

proposed language.

In conclusion, bulk material transportation systems and

models require symbolic, dynamic, stochastic,

discrete/continuous representation for an acceptable

simulation analysis

necessary that the

these capabilities.

to be accomplished. It is therefore

proposed language possess, at least,

153

24.4 TIMING MECHANISM

Acknowledging the use of a combined discrete/continuous

simulation language perspective, the proposed language's

timing mechanism must offer the following capabilities;

1. The ability to manage the timing of a purely discrete

model.

2. The ability to manage the timing of a purely

continuous model.

3 . The ability to manage the timing of a combined

discrete/continuous model.

The possible occurrence of each of these model types

necessitates a timing mechanism which is capable of

efficiently monitoring the events and activities for each.

The concurrent timing mechanism described in Section 8.1.6.1

represents a synchronization of a next event and a fixed

increment time clock. The fixed increment timing mechanism

facilitates simulation of the continuous model portion by

permitting derivatives and system states to be calculated

with each incremental time advancement. The next event

timing mechanism permits identification of the time of the

most imminent event, updating the system state at that time.

The synchronization of these timing mechanisms forces the

"fixed" increment mechanism to alter the specified step size

such that the time of the most imminent event is exactly

154

reached, permitting it to be executed at the proper time.

The necessity of this timing operation is obvious from the

following example. Within a conveyor system, the conveyor

typically operates continuously with scheduled downtime for,

for example, · personnel shift changes or maintenance. The

fixed increment timing mechanism will continuously monitor

the conveyor (and material) movement. However the

occurrence of the prescheduled downtime must be recognized

and executed. The next event timing mechanism· facilitates

this and permits the system state to be updated accordingly.

Use of a concurrently operating fixed increment/next

event timing mechanism will permit the proposed simulation

language to most efficiently execute simulation programs

describing the operations of bulk material transportation

systems. In addition the language should offer the user a

choice of one, the other, or concurrent timing which wi 11

increase the executional efficiency of programs written in

the proposed language.

Chapter 25

LANGUAGE FORM CONSIDERATIONS

As previously stated in Section 9.2.2, it is the goal of

the language designer to formulate the language such that it

satisfies the requirements of the eventual user. The user's

decision· as to which language to utilize occurs at two

levels; l)a language for use on several varying projects,

and 2)a language for use in a particular study [52]. Table

7 presents a list of considerations for language selection

at both levels, and therefore they will not be repeated

here.

The proposed simulation language for bulk material

transportation systems exists in a region between these

levels. It shall be developed for use on several varying

projects within the very specific framework of bulk material

transportation. The proposed simulation language shall be

capable of representing the systems described in Part IV.

These systems vary in terms of bulk material type, carrier

type, and Lransportation medium, however each of these areas

are always included in the system definition. It is

therefore the intent of the author that the language be

useful to those who desire to simulate any type of bulk

material transportation system. It is also intended that

155

156

the proposed simulation language be a more appropriate

choice to those systems' analysts than any other simulation

language currently available.

25.1 LANGUAGE LEVEL

At this time it is not possible to precisely specify the

sophistication level of the language which will be utilized

to formulate the proposed simulation language. It is more

appropriate to state what level the language will not be.

The use of a machine language is not practical for several

reasons. Languages of this form reflect the command

structure and detailed design of a particular computer type.

Additionally the tediousness and complexity associated with

machine language use tends to make it impractical for the

formulation of the proposed simulation language.

Problems of the same type would arise if an assembly or

second level language was utilized. These languages

incorporate a string of mnemonic symbols which correspond to

machine language instructions. Assembly languages are also

more computer oriented than is desired and would require a

considerable programming effort for the formulation of the

proposed simulation language.

An additional disadvantage associated with the use of

either a machine or assembly language is that they are often

.. 157

unfamiliar to the intended users. It is intended that the

simulation language be as user friendly as possible,

permitting comprehension and possible alteration of

subroutines, for example, report generation facilities, as

desired. These considerations promote usage of, at the very

least, a third level language for the proposed simulation

language formulation.

Programming, or third level languages are machine

independent, and are utilized in the formulation of most

currently used simulation languages. It is probable that

the proposed simulation language will also be written

utilizing a programming language. These languages do not

present the comprehension difficulties of lower level

languages because their statements are either of artificial

English or mathematical form. Certain languages are of

modular form, such as PL/1. This facilitates translation of

programs written in the language ( source program) into a

machine code (object program) which must be accomplished for

computer execution. The use of a compiler rather than an

interpretive language typically requires less computational

time due to its method of source to object translation, and

is therefore a better choice.

Al though it is not known what language the proposed

simulation language will be written in, it will more than

158

likely be of a third level type. What can be stated at this

time is that the proposed simulation language will be a

fourth, or high level programming language. The 1 anguage

will be specially developed for simulation analysis of bulk

material transportation systems. It will employ an

interpreter program, written in a programming language,

which will generate a third level language program which

will then be compiled into machine code for computer

execution.

25.2 MODULAR CONSTRUCTION

The overall construction of the proposed simulation

language will be modular in nature. It is intended that

each mode of bulk material transportation will be

represented by one or more modules, ( or submodules) . The

level of detail of these modules cannot be specified at this

time. In accordance with the process interaction

perspective, the movement of the bulk material through a

system shall be described in terms of the following modules;

1. Rail

2. Highway

3. Conveyor

4. Inland water

5. Ocean

159

6. Pipeline

For example consider the movement of coal from a mine to an

overseas

extremely

mentioned,

described

port facility.

simplified form,

the loading and

This system is presented, in

in Figure 2. As previously

unloading operations may be

The conveyance of coal is as processes.

di stingushed according to the transportion mode. The user

is required only to specify the mode and provide the

necessary descriptive parameters such as speed, distance

travelled, amount of material, etc.

25.3 OUTPUT REPORT GENERATION

The primary requirement of the proposed simulation

language's output report generation facilities is that they

be easily understood by· the intended user. In addition,

these facilities shall be as complete as possible. This

requires that data be presented in terms familiar to bulk

material transportation systems' analysts. Table 15

presents examples of these terms. A survey of each

transportation mode with regard to terms such as these will

facilitate their inclusion within the proposed simulation

language. The language shall offer a variety of output

formats from which the user may choose for data

representation. Table 16 presents a listing of these. The

160

transport coal via conveyor

transport coal via railway

transport coal via

transport coal via ocean vessel

Figure 2. Coal System Schematic

conveyor

transport coal via highway

161

main objective of these facilities is to make the report

generation facilities as user specified as possible.

The term user specified implies that the user may select,

from. a list of available parameters, precisely the output

format desired. These lists shall be as complete as

possible, identifying the available language options for the

user.

The statistical aspects of the output reports shall also

be as user specified as possible. The programmer must be

able to specify what statistics are required for each type

of data requested. Additionally, the language shall possess

the capability of providing output reports at any time

during the simuiation program execution. Table 16 presents

a listing of statistics which may be provided for.

Statistical analysis of ou~put data is typically not

accomplished by currently available simulation languages.

Instead, a separate program is usually required, as is the

case with SIMSCRIPT I I. 5. Prior to the actual formulation

of the proposed simulation language, it cannot be determined

how difficult the incorporation of such a feature will be

from a programming perspective. However, if statistical

analysis is included, the user will be able to specify

whether or not the analysis should be performed. Examples

of statistical tests which can be made available are

presented in Table 16.

TIME seconds minutes hours days

162

TABLE 15

Output Report Terms

RATE tons/hour feet/second miles/hour pounds/minute gallons/day

QUANTITIES pounds tons gallons miles feet yards

GENERAL railcars barges ships holds trucks carloads capacities

163

TABLE 16

Output Report Types

Formats

tables bar graphs histograms plots trace correlograms graphics

Statistics

mean variance covariance current value cumulative value minimum value maximum value sample size

Statistal Tests

linear regression linear correlation analysis of variance tests of means tests of variance proportional tests non-parametric tests

Chapter 26

COMPUTER CONSIDERATIONS

The choice of computer type for which the proposed

simulation language will be formulated is restricted by the

type of computer available to the language developer.

Virginia Tech's mainframe computer is presently of the IBM

370/158 series which is a digital computer. The advantages

of utilizing a digital as opposed to a hybrid or analog

computer have been previously presented in Table 4 and

include high computational speed for both logic and

arithmetic operations, large storage avai labi li ty, and

greater flexibility. Although analog computers are

available through Virginia Tech's Electrical Engineering

Department, their restriction to the simulation of

continuous systems make them an impractical choice.

In addition, the following types of personal computers

are available to the language developer;

1. IBM PC

2. TRS 80 - Model II

3. Apple II PLUS

The proposed simulation language will be suitable for use

on Virginia Tech' s mainframe digital computer. It is not

possible to specify at this time which of the personal

164

165

computers will be the most appropriate. It is desired that

the proposed simulation language be operational for at least

one, if not all, of those mentioned above.

26.l DATA STRUCTURING

The data structuring abilities of the proposed simulation

language shall provide for efficient storage and retrieval

of very structured system information. This typically

involves the use of a file maintenance system with search

is capable of and removal mechanisms, and which

prioritization. The following sequence of events must be

facilitated by the proposed simulation language [15).

1. Information entering the computer system is analyzed

and subsequently classified.

2. The information is stored in an ordered fashion (not

necessarily according to the classifications in 1).

3. The user requests information by specifying its

classification or type.

4. The storage facilities are searched and the proper

information is located.

5. The information is provided to the user.

Techniques for information storage and retrieval are

plentiful and varied [15). The choice is dependent on the

amount and type of computer storage devices available, and

166

the type of information being dealt with. Several of the

currently available simulation languages ( SLAM, SIMSCRIPT

I I. 5, SIMAN) employ what is referred to as a linked list

form of information storage and retrieval;

A linked list system permits data to be stored in a

manner that depicts the data relationships in an ordered

fashion, and is ideal for queuing systems [ 33] . Detailed

descriptions of their operational characteristics may be

found in [ 11, 52, 70, 71, 77] and the reader is referred to

these publications. The various types of linked lists are

described in terms of density, dimension, and sequence.

They may be searched serially or may provide for direct

location of required data.

26.2 DOCUMENTATION

The importance of language documentation capabilities

cannot be overemphasized. It is considered necessary for

the following reasons;

1. For understanding program input.

2. For understanding the program processing.

3. For understanding program output.

Language documentation capabilities also serve the following

purposes;

1. Facilitating program updating.

167

2. Facilitating the transfer of programs from one

computing facility to another.

3. Facilitating the transfer of programs from one user

to another.

It is intended that the programs written in the proposed

simulation language be self documenting to as great a degree

as possible. This is a result of utilizing terms familiar

to bulk material transportation systems' analysts. In

addition, the language shall permit the user to incorporate

non-executable statements within a program. An example of

the use of a non-executable statement type is the FORTRAN

COMMENT statement. By properly identifying a program line

as a comment line, the user may insert any message, or other

form of documentation, at any point within a program.

languages incorporate a feature of this type.

26.3 DEBUGGING

Many

Debugging is the technique of detecting, identifying, and

rectifying errors, or "bugs" which may occur during the

execution of computer programs [ 15). As previously

mentioned in Chapter 10, debuggining facilities are capable

of assisting the simulation analyst in the validation and

verification of the model and program, respectively.

168

Logic errors may occur as a result of incorrect

appreciation of the language features while syntax errors

occur due to incorrect program coding. Errors are typically

detected from incorrect output (detected by the programmer)

or due to the failure of the program to execute (detected by

the computer). It is the computer detectable errors which

the proposed simulation language's debugging facilities will

address.

Computer detected errors are identified during

translation of the user program into machine language for

subsequent execution.

must be diagnosed.

Once found, the cause of the errbr

There are several ways in which the

proposed simuiation language may assist the user in

determining the cause of error. The provision of a computer

trace or diagnostic routine provides a printed record of the

action taken by each instruction.

all or selective instructions.

It may provide records of

Additional facilities

include prints: of selected internal storage at various

stages of program execution, or the contents of backing

store, for example magnetic tapes or disks [15). The

proposed simulation language shall be capable of identifying

commonly occurring errors, and of providing a printed

message of the error type and location.

169

The above mentioned facilities should be developed

concurrently with the proposed simulation language.

Therefore it is infeasible to discuss them in any greater

detail until the time of language development.

Chapter 27

SUMMARY

This thesis has detailed the development of functional

specifications for the formulation of a bulk material

transportation

introductory

system simulation

part, Part II has

language.

presented

discussion of the simulation analysis process.

Following an

a detailed

The process

is viewed as an iterative sequence of steps which guide the

analyst through the analysis procedure. Emphasis is given

to the relationship between the analysis procedure and the

simulation language utilized. Part III has presented

reviews of a selected number of simulation languages. This

results in a knowledge of the capabilities of currently

available simulation languages. Part IV introduced bulk

material transportation syste~s and their characteristics

from a simulation analysis perspective. The intent was to

present these systems so that they will assist in developing

the conclusions of this research. Part V has presented the

functional specifications for a bulk material transportation

system simulation language. The specifications have been

described according to system description, language form,

and computer or hardware considerations. This part has

presented the conclusions of this research.

170

Chapter 28

FUTURE DEVELOPMENT PLANS

Continuation of the research initiated in this master's

thesis will result in the actual language development which

will be described in future research. Figure 3 depicts the

logical succession of activities which shall culminate in

the presentation of the simulation language for use by bulk

material transportation systems' analysts. This list of

events is not all inclusive. Instead it presents what are

considered to be the more important milestones in the

language development.

The initial phase of the language development involves

the selection of the computer hardware on which the language

will be functional. This is dependent upon the type of

hardware which is readily available to the language

developer. In conjunction with this decision, a computer

language is selected which will be used to write the

simulation language.

consideration by the

This

language

phase

developer

requires careful

whose familiarity

with the hardware and software will directly influence the

efficiency of the language developed.

Once this phase has been accomplished, actual language

development may begin. The development consists of several

171

construction of users manual

of computer hardware

172

of computer language

selection of validation

Figure 3. Future Development Network

verificatio

173

tasks which may be performed in a wide variety of sequences.

These tasks include the selection and coding of various

programming aids such as random number and random variable

generators, and data storage and retrieval mechanisms.

Additionally, the system descriptions and activities are

formalized and coded. Validation and verification shall

occur concurrently with language development as well as the

initial construction of a user's manual.

The final phase involves the presentation of the language

for analysts

language is

user's guide.

use. Final testing of the fully operational

accomplished as well as formalization of the

BIBLI<X;RAPHY

1. American Institute of Mining Engineers, SME Mining Engineering Handbook, Ivan A. Given ed., New York, SME of AlM1PE, Inc., 1973.

2. Anina, Joseph S., and Edward C. Russell, ''The Ten M:>st Frequent Causes of Simulation. Analysis Failure-And How to Avoid Them," SIMULATION, vol 60, pp. 137-140, June 1979.

3. Annstrong, Jolm H., The Railroad-What it is and What it Does, Nebraska, Sinmms-Boardman Publishing Corp., 1979.

4. Assad, Arjang A., ''t-bdels for Railroad Transportation.," Transp:,rtation. Research, vol 14A, Winter 1980.

5. Atkins, Stella, "A ilinpari.son. of SIMULA and GPSS for Sirrn.llating Sparse Traffic," SIMULATION, pp. 93-100, March 1980.

6. Bes, J., Bulk Carriers, New York, W.S. Hei.mlan, 1972.

7. Birtwhistle, G.M., Discrete Event Modeling on SIMULA, Hong Kong, McMillan Press Ltd. , 1979 .

8. Birtwhistle, GoM., Dahl, O.J., Myhrhaug, Bo, and K. Nygard, SIMULA Begin, Philadelphia, Auerbach Publishers Inc., 1973.

9. Branch, Allen E., Elements of Shipping, New York, Chapnan and Hall, 1981.

10. Bryant, Rayroond M., ''Discrete System Simulation. in Ada," SIMULATION, vol 39, pp. 111-121, October 1982.

11. Bulgren, William G., Discrete System Simulation., Englewood Cliffs, Prentice-Hall, 1982.

12. Buxton, J .N., ed., Simulation. Programning Languages, Proceedings of the IFIP Working Conference on Simulation. Prograrrming languages, New York, Elsevier Publishing Company, Inc. , 1968.

13. Capehart, Barney L. , "Simulation. of Continuous System M:>dels in Industrial Engineering,'' C'.anputers and Industrial Engineering, vol 1, pp. 207-216, 1977.

174

175

14. Cavinato, Joseph L., Coyle, John J., and Edward J. Bardi, Transportation, St. Paul, West Publishing llinpany, 1982.

15. Chander, Anthony, Cit"aharn, John, and Robin Williamson, A Dictionary of C,anputers, England, Penguin Books Ltd. , 1970

16. Conveyor Equipnent Manufacturers Association, Belt Conveyors for Bulk Materials, Boston, CBI Publishing ilinpany, Inc. , 1979.

17. Colijn, H., ''Transportation MJdes," Bulle Material Handling, M. Hawke ed., vol 2, pp. 169-193, 1973.

18. Dickie, A.A., "A Canparison of Thirteen Nunerical Integration Routines," UKSC Conference~ C.anputer Simulation, Chester, England, Kingprint Limited, April 1978.

19 . Ei.mutis, E. C. , "APL/ 370: A Useful Simulation Tool, " SIMUI.ATION, vol 20, pp. 67-68, February 1973.

20. Eldin, Hamed K. , ''The Need for an Industrial Engineering Software Library," C.anputers and Industrial Engineering, vol 1, 199-206.

21. Emshoff, J .R., and R.L. Sisson, Design and Use of C-ornputer Simulation Models, New York, Mc.Millan, 1970.

22. Fair, Marvin L. , and E.W. Williams, Econanics of Transportation and Logistics, Dallas:Business Publications, 1975.

23. Fahrland, David Arthur, "Canbined Discrete Event Contirruous Systems Simulation," SIMUI.ATION, vol 14, no 2, February 1970.

24. Faig, Earle, ''Waterway Transportation of Coal," Bulk Materials Handling, M. Hawke ed., vol 4, pp. 315-322, 1977.

25. Fedeler, Jerry A. , Heady, Earl O., and Won W. Koo, An Interregional Analysis of U.S. Ibrnestic Grain Transportation, Iowa State University, February 1975.

26. Follc, Joseph, "Simulation Models of Railroad Operations :A Review of Major Efforts," Pittsburgh Sinulation Conf. , March 1980.

27. Franta, W.R., The Process View Of Simulation, New York, Elsevier furth-Holland, Inc., 1977.

176

28. Frisque, D.E., and L.C. 'Marraccini, ''Physical Properties of Bulk Materials," Bulk Materials Handling, M. Hawke ed., vol 1, pp. 364-380, 1971.

29. Gass, Saul I., ''Evaluation of OJmplex llidels," C.omputers and Operations Research, vol 4, pp. 27-35, 1977.

30. Golden, D . G. , and J . D . Shoeffler, "GSL-A Qxnbined Continuous Discrete Simulation Language," SIMUIATION, vol 20, pp. 1-8, February 1973.

31. Golovin, L.B., "Semi-stochastic Simulation and Other Tricks of the Trade," Proceedings of the Winter Simulation Conference, pp. 179-188, 1982.

32. Gordon, Geoffrey, Systan Simulation, Engle,;ood Cliffs, N .J. , Prentice-Hall, Inc. , 1969.

33 . Graybeal, W .J. , and U. W. Pooch, Simulation: Principles and Methods, Cambridge, Winthrop Publishers, Inc. , 1980.

34. Greb, Edward M. , " A Universal Design for the Construction of Simulations," Washington and Jefferson College, 1977.

35. Green. Walter L., and Frank H. Speckhart, "CSMP," SIMUIATION, vol 34, pp. 131-133, April 1980.

36. Hamrxmd, Robert H. , Rogers, William B. , and Byard Houch Jr. , Introduction to FORTRAN N, New York, McGraw-Hill, Inc., 1978.

37. Hay, William W., Railroad Engineering, vol 1, New York, Jolm Wiley and Sons, Inc., 1953.

38. Helsgaun, Keld, ''DISCO-A SIMUIA Based Language for Contirn.lous c.anbined and Discrete Simulation," SIMUIATION, vol 35, pp. 1-12, July 1980.

39. Hille, Stanley J., and Richard F. Poist, Jr., Transporation: Principles and Perspectives, Illinois, Interstate Printers and Publishers, Inc., 1974.

40. Houle, P.A., and W.R. Franta, "On the Structural Concepts of SIMUIA," The Australian Canputer Journal, PP. 39-45, 1975.

177

41. Howe, R.M., "Tools For Continuous System Simulation:Hardware and Software," Simulation of Systans, L. Dekker ed., furth Holland Publishing Canpany, 1976.

42. Hoxson, H.G., "CIASS-Canposite Language Approach For System Simulation," Proc. 4th C.on.f. On Applications, Dec 9-11, 1970.

43. Jacoby, Sarruel L. S., and Jarrusz S. Kowalik, Mathana.tical M:Jdelling With C.ornputers, Englewood Cliffs, N .J., Prentice-Hall, Inc., 1980.

44. Jansen, Dennis R., "Analysis of the Costs of Truckload Freight Operations," Transportation Res.earch Record 7 58, Washington D. C. , Transportation Research Board, 1980.

45. Kivi.at, Phillip J., ''Develoµnent of Discrete Sinulation Languages," SIMUI.ATION, vol 8, pp. 65-70, February 1967.

46. Kneiling, John G., Integral ·Tram Systans, Wisconsin, Kalmbach .Publishing Company, 1969.

47. Kohlas, J., "Toe Generation of Randan NLinbers," Simulation '75, M.H. Hamza ed., Zurich, ACTA Press, June 23-26, 1975.

48. Korn, Granino, "A Wish List For Simulation Language Specifications," SIMULATION, vol 40, p. 30, January 1983 .

49. Korn, Granino A., and John V. Wait, Digital Continuous Svstem Simulation, Englewood Cliffs, N .J. , Prentice-Hall, Inc. , 1978.

SO. Kraus, Milton N., Pneumatic Qmveying Of Bulk Materials, New York, McGraw-Hill, 1980.

51. Kresge, David T., and Paul O. Roberts, Techniques of Transportation, vols 1 and 2, Washington D.C., The Brookings Institute, 1971.

52. Law, Averill M., and W. David Kelton, Simulation MJdeling and Analysis, New York, McGraw-Hill, 1982.

178

53. 1&7andowski, F., ed., "Simula.tore and Simulation," Proceedings of- the SPIE, vol 59, Anaheim Calif. ,1975.

54. Lieb, Robert C., Transportation: The fumestic System, Virginia, Reston Publishing c.anpany, Inc., 1978.

55. l.arDw, C., and B. Unger, '"The Process Vi~ of Simulation in Ada," The Proceedings of the Winter Simulation Conference, San Diego, pp. 77-83, 1982.

56. Meyer, R.N., ''Barge Loading and Unloading Facilities, 11 Bulk Materials Handling, M. Hawke ed., vol 2, pp. 226-237, 1973.

57. Mitchell, Edward E.L., and Joseph S. Gauthier, "Advanced C-ontinuous Simulation Language (ACSL), '' SIMUJ.ATION, vol 26, pp. 72-78, March 1976.

58. McLaughlin, Peter, ''REPLICAS, AN~ C-ontinuous System Simulation Language," Proceedings of the Annual Simulation Sympositm, 1980.

59. MJrgan, D.L., ''Bulk Trailers and C-ontainers, 11 Bulk Materials Handling, M. Hawke ed., vol 2, pp. 203-207, 1973.

60. M::>rris, William, ed. , The American Heritage Dictionary of the English Language, Boston, American Heritage Publishing Q:mpany and Houghton Mifflin c.ompany, 1975.

61. Naylor, Thanas H., Balintfy, J .L. Burdock, D.S., and K. Chu, c.omputer Simulation Techniques, N~ York, Jolm Wiley and Sons, inc., 1968.

63. O'Ixmovan, Thomas M., GPSS Simulation Made Simple, New York, Jolm Wiley and Sons, Inc. , 1979.

62. Office of Coal Research, and Virginia Tech, BELTSJM, Virginia, 1968.

64. O'Grady, E.P., ''Digital CoolptlterMethods for C-ontinuous System Simulation," Pittsburgh Simulation Conference, March 1973.

65. Ord-Smith, R.J., and J. Stephenson, Ccmputer Simulation of C-ontinuous Systems, London, Cambridge University Press, 1975.

179

66. Oren, Tuncer I., "A Personal View on the Future of Simulation Languages," Proceedings of the 1978 UKSC Conference on C,omputer Simulation, Chester, pp. 294-306, April 1978.

67. Oren, Tuncer I., "Software for Simulation of C'.anbined Contim.Jous and Discrete Systans: A State of the Art Review, 11 Sil1UIATION,

. vol 28, pp. 33-45, February 1977.

68. Oren, Tuncer I., and Bernard P. Ziegler, "Concepts for Advanced Simulation Methodologies," Sil1UI.ATION, vol 32, pp. 69-82, Mar 1980.

69. Oyler, J .F., ''Handling Bulk Solids at Ocean Ports, 11 Bulk Materials Handling, M. Hawke ed., vol 2, pp. 317-322, 1973.

70. Payne, James A. , Introduction to Simulation, New York, McGraw-Hill, 1982.

71. Pegden, C. Dermis, Introduction to SIMAN, Permsylvania, Systans Modeling Corporation, 1982.

72. Pegden, C. Dermis, and Michael P. Gately, "A Decision Optimization M::>dule for SLAM,'' Sil1UIATION, vol 34, pp. 18-25, January 1980.

13. Phillips, fun T., Ravidran, A., and James J. Solberg, Operations Research:Principles and Practices, New York, Jolm Wiley and Sons Inc., 1976.

74. Pitts, C., ''Belt Qmveyor Versus Truck For Coal Transportation," Unit and Bulk Materials Handling, presented at the Material Handling Conference, pp. 47-52, August 19-21, 1980.

75. Pritsker, A. Alan B., Modeling and Analysis Using Nea-x,rks, New York, Jolm Wiley and Sons Inc., 1977.

76. Pritsker, A. Alan B., The GASP IV Simulation Language, New York, Jolm Wiley and Sons Inc., 1974.

77. Pritsker, A. Alan B., and C. Dermis Pegden, Introduction to Simulation and SI.AM, New York, Jolm Wiley and Sons Inc. , 1979.

78. Rieber, Michael, C,anparitive Transportation Costs, vols 1-8, Springfield VA., Nl'IS, 1977.

79. Roberson, Jolm A., and Clayton T. Crowe, Engineering Fluid Mechanics, Boston, Houghton-Mifflin Company, 1975.

180

79. Roberson, John A., and Clayton T. Crowe, Engineering Fluid Mechanics, Boston, Houghton-Mifflin c.ampany, 1975.

80. Sargent, Robert G., "Introduction to S:i.mJ.lation Languages," Proceedings of the 1978 Winter mn.tl.ation Conference, vol 1, pp. 15-17, 1978.

81. Sampson, Roy J. , and Martin T. Farris, L\Jrnestic Transportation, Boston, Houghton-Mifflin Canpany, 1979.

82. Schaffer, William A., ''DYNAM)," SIMJIATI0N, vol 34, PPo 134-136, April 1980.

83. Schnidt, J.W., and R.E. Taylor, S:i.mJ.lation Analysis of Industrial Systans, HOOleMJOd, Ill., Irwin Press, 19700

84. Schrieber, Thomas, S:i.mJ.lation Using GPSS, New York, John Wiley and Sons Inc., 1974.

85. Shannon, Robert E., "S:i.mJ.lation: A Survey With Research Suggestions," AIIE Transactions, vol 7, pp. 289-301, 1975.

86. Shannon, Robert E., Systems Simulation: The Art and Science, New York, Prentice-Hall, 1975.

87. Sigal, C. Elliot, and A.A.B. Pritsker, "SMXYIH: A c.ombined Discrete Continuous Network S:i.mJ.lation Language,'' SIMJIATION, vol 22, pp. 65-73, M:rrch 1974.

88. Spriet, Jan A., and Ghislain C. Vansteenkiste, c.omputer Aided M::>deling and Simulation, New York, Acadanic Press, 1982.

89. UCIA, TRANS~, Clearinghouse for Federal and Technical Information Report No. 66-6, May 1966.

90. van Horn, Richard L., ''Validation of S:i.mJ.lation Results," Managanent Science, vol 17, pp. 247-258, January 1971.

91. Wasp, Edward J., Kerm.ey, John P., and Ramesh L. Gandi., Solid-Liquid Flow Slurry Pipeline Transportation, Gennany, TransTech Publications, 1979.

The vita has been removed from the scanned document