general purpose visual simulation system

200

Upload: others

Post on 24-Dec-2021

8 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: GENERAL PURPOSE VISUAL SIMULATION SYSTEM
Page 2: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

1GENERAL PURPOSE VISUAL SIMULATION SYSTEM

byJohn Leslie Bishop

Osman Balci, Chairman

Computer Science

(ABSTRACT)

The purpose of the research described herein is to

prototype a software system that aids a simulationist in

developing a general purpose discrete event simulation1 model.

A literature review has shown the need for an

integrated visual simulation system that provides for the

graphical definition and interactive specification of the

model while maintaining application independence. TheGeneral Purpose Visual Simulation System (GPVSS) prototyped

in this research meets this need by assisting a

simulationist to: (1) graphically design the model and its

M visualization, (2) interactively specify the model’s logic,

and (3) automatically generate the executable version of the

model, while maintaining domain independence. GPVSS is

prototyped on a Sun 3/160C computer workstation using the

SunView graphical interface. It consists of over 11,000

lines of documented code. GPVSS has been successfully

tested in three different case studies that are described in

this work.

1

Page 3: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

III

I

iii

Page 4: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

TABLE OF CONTENTS

Abstract .............................................. iiAcknowledgements ...................................... iiiList of Figures ....................................... viList of Tables ........................................ viii

Chapter 1: Introduction ............................... 11.1 Statement of the Problem ..................... 11.2 Statement of Objectives ...................... 11.3 Overview of Thesis ........................... 2

Chapter 2: Literature Review .......................... 32.1 Definition of Terms .......................... 3

2.1.1 Animation ............................. 32.1.2 Visual Simulation ..................... 42.1.3 Visual Interactive Simulation ......... 52.1z4~Visual Modeling ....................... 62.1.5 Visual Interactive Modeling ........... 6

2.2 Background ................................... 62.3 Graphical Symbology .......................... 72.4 Display Type ................................. 92.5 Interaction .................................. 10

2.5.1 Types of Interaction .................. 102.5.2 Levels of Interaction ................. 102.5.3 Methods for Incorporating Interaction . 11

2.6 Construction of VS/VIS Models ................ 122.7 Conceptual Frameworks for VS Programming ..... 132.8 Perspectives on VS/VIS ....................... 142.9 Benefits of VS/VIS ........................... 162.10 Drawbacks of VS/VIS ......................... 182.11 Conclusions ................................. 21

Chapter 3: Design and Implementation of GPVSS ......... 223.1 Hardware and Software Environment ............ 223.2 GPVSS ........................................ 263.3 The Image Editor/Model Editor ................ 30

3.3.1 The Image Editor ...................... 333.3.1.1 Pen Mode ....................... 333.3.1.2 Line Mode ...................... 353.3.1.3 Rectangle Mode ................. 383.3.1.4 Select Mode .................... 403.3.1.5 Image Load ..................... 443.3.1.6 Image Save ..................... 48

3.3.2 The Model Editor ...................... 513.3.2.1 Submodel Definition ............ 523.3.2.2 Path Definition ................ 573.3.2.3 Dynamic Object Specification ... 60

iv

Page 5: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

1

3.3.2.4 Specification Mode ............. 743.3.2.5 Load Model ..................... 833.3.2.6 Save Model ..................... 88

3.4 The Generator ................................ 903.5 The Animation Tool ........................... 93

3.5.1 Animation Mode ........................ 953.5.2 Run Mode .............................. 100

Chapter 4: Case Studies and Testing ................... 1034.1 M/M/1 System ................................. 103

4.1.1 The Experimental Model and Results .... 1034.2 MVS System ................................... 107

4.2.1 The Experimental Model and Results .... 1094.3 Capacity System .............................. 113

4.3.1 The Experimental Model and Results .... 1154.4 Testing ...................................... 119

4.4.1 Verification .......................... 1194.4.2 Validation ............................ 121

Chapter 5: User’s Manual .............................. 1235.1 Round Robin System ........................... 1235.2 Starting GPVSS ............................... 1245.3 Drawing Images ............................... 1245.4 Defining the Model ........................... 132

5.4.1 Defining SubModels .................... 1385.4.2 Defining Paths ........................ 1385.4.3 Saving a Model ........................ 142

5.5 SubModel Specification ....................... 1475.5.1 SubModel Logic ........................ 1475.5.2 SubModel Attributes ................... 160

5.6 Dynamic Object Definition and Specification .. 1635.7 The Model Generator .......................... 1715.8 The Model Animation Tool ..................... 178

Chapter 6: Summary and Future Research ................ 1846.1 Summary ...................................... 1846.2 Recommendations for Future Research .......... 185

Bibliography .......................................... 188VITAE ................................................. 192

v

Page 6: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

1nk

LIST OF FIGURES

Figure 3.1 GPVSS .................................. 23Figure 3.2 Model Name Requester for Editor ........ 27Figure 3.3 Editor Initial Screen .................. 28Figure 3.4 Model Name Requester for Generator ..... 29Figure 3.5 Model Generator Execution .............. 31Figure 3.6 The Process Interaction Program Screen . 32Figure 3.7 Image Editor Pen Mode .................. 34Figure 3.8 Image Editor Line Mode ................. 36Figure 3.9 Image Editor Rectangle Mode ............ 39Figure 3.10 Image Editor Select Mode ............... 41Figure 3.11 Selecting an Image ..................... 42Figure 3.12 Duplicating an Image in Select Mode .... 43Figure 3.13 Image Editor Load Panel ................ 46Figure 3.14 Image Editor Save Panel ................ 49Figure 3.15 The Model Editor ....................... 53Figure 3.16 Submodel Name Requester ................ 54Figure 3.17 Defining a Submodel .................... 56Figure 3.18 Path Name Requester .................... 58Figure 3.19 Intermediate Path Point Definition ..... 59Figure 3.20 Path Termination ....................... 61Figure 3.21 Dynamic Object Name Requester .......... 62Figure 3.22 DO Definition and Specification Tool ... 64Figure 3.23 DO Interarrival Time Menu .............. 65Figure 3.24 Interarrival Probability Distributions . 67Figure 3.25 Maximum Generated DO Menu .............. 68Figure 3.26 Attribute Name Requester ............... 69Figure 3.27 Attribute Definition/Specification Tool 71Figure 3.28 Attribute Variable Type Menu ........... 72Figure 3.29 Initial Attribute Value Menu ........... 73Figure 3.30 IAV Probability Distributions .......... 75Figure 3.31 Specification Menu ..................... 78Figure 3.32 Specification Path Requester ........... 79Figure 3.33 Submodel Logic Specification Tool ...... 81Figure 3.34 Model Load Requester ................... 87Figure 3.35 Save Model Requester ................... 89Figure 3.36 Animation Tool with Loaded Model .......° 96Figure 3.37 Process Interaction Conceptual Framework 99Figure 3.38 The Animation Tool Run Panel ........... 101Figure 4.1 M/M/1 Model ............................ 104Figure 4.2 M/M/1 Dynamic Display .................. 105Figure 4.3 M/M/1 Experimental Model ............... 106Figure 4.4 MVS Model .............................. 110Figure 4.5 MVS Dynamic Display .................... 111Figure 4.6 MVS Experimental Model ................. 112Figure 4.7 Capacity Model ......................... 116Figure 4.8 Capacity Dynamic Display ............... 117Figure 4.9 Capacity Experimental Model ............ 118

vi

Page 7: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

Figure 5.1 GPVSS Main Menu ........................ 125Figure 5.2 System Model Name Requester ............ 127Figure 5.3 Image Editor/Model Editor .............. 128Figure 5.4 Re—sized Image Editor .................. 129Figure 5.5 Completed Background Image ............. 130Figure 5.6 Saving the Background Image ............ 131Figure 5.7 Dynamic Object Images .................. 133Figure 5.8 Selecting the DO Image ................. 134Figure 5.9 Saving a DO Image ...................... 135Figure 5.10 Loadiig the Background Image ........... 136Figure 5.11 Image Editor After Background Load ..... 137Figure 5.12 The Model Editor ....................... 139Figure 5.13 Submodel Definition Name Requester ..... 140Figure 5.14 Completed Submodel Definition .......... 141Figure 5.15 Path Name Requester .................... 143Figure 5.16 Path Starting Point .................... 144Figure 5.17 Path Termination ....................... 145.Figure 5.18 Completed Path Definitions ............. 146Figure 5.19 Save Model Requester ................... 148Figure 5.20 Specification Menu ..................... 149

lFigure 5.21 Specification Path Requester ........... 150Figure 5.22 Terminall Internal Logic Specification . 152Figure 5.23 Terminal2 Internal Logic Specification . 154Figure 5.24 Terminal3 Internal Logic Specification . 155Figure 5.25 CPU_QUEUE Internal Logic Specification . 156Figure 5.26 CPU Internal Logic Specification ....... 158Figure 5.27 CPU Internal Logic Specification ....... 159Figure 5.28 Attribute Name Requester ............... 161Figure 5.29 Nicpu_sm Attribute Specification ....... 162Figure 5.30 Nicpu_queue_sm Attribute Specification . 164Figure 5.31 QUANTUM Attribute Specification ........ 165Figure 5.32 OVERHEAD Attribute Specification ....... 166Figure 5.33 Execution_time Attribute Specification . 167Figure 5.34 DO Name Requester for Jobl ............. 168Figure 5.35 Jobl DO Specification Tool ............. 169Figure 5.36 DO Attribute Name Requester for Origin . 170Figure 5.37 Origin DO Attribute Specification Tool . 172Figure 5.38 Rservice_time DO Attr. Spec. Tool ...... 173Figure 5.39 Job2 DO Specification Tool ............. 174Figure 5.40 Job3 DO Specification Tool ............. 175Figure 5.41 Model Generator Requester .............. 176Figure 5.42 Generating the Model ................... 177Figure 5.43 Model Animation Tool Screen ............ 179Figure 5.44 Animation Tool After Load Operation .... 180Figure 5.45 The Dynamic Display .................... 181Figure 5.46 The Experimental Model ................. 182

vii

1

Page 8: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

LIST OF TABLES

Table 3.1 GPVSS Database Tables .................. 47Table 3.2 Dynamic Object Standard Attributes ..... 76Table 3.3 Submodel Logic Specification ........... 82Table 3.4 Macros ................................. 84Table 3.5 Program Generation Files ............... 92Table 4.1 M/M/1 System Experimental Results ...... 108Table 4.2 MVS System Experimental Results ........ 114Table 4.3 Capacity System Experimental Results ... 120Table 5.1 Round Robin System Experimental Results 183

viii

Page 9: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

CHAPTER 1

INTRODUCTION

1.1 Statement of the Problem

Many visual modeling tools and packages have becomeavailable in recent years. Of the software currently on the

market, most tend to be “either collections of FORTRAN

subroutines, such as SEE—WHY, or purpose built languages

such as Inter_SIM and Xcell“ [Bell and O’Keefe 1987] or

extensions to existing simulation languages. Examples of

this approach include CINEMA which interfaces to the SIMAN

simulation language [Johnson and Poorte 1988], and TESS

which interfaces with the SLAM II simulation language

[Standridge 1986]. RESQME [Gordon et al. 1988] provides a

full visual simulation modeling environment, but forces the

user to use such primitives as "Sources", "Sinks", "Chains",

"Nodes", "Queues", etc. [Sauer 1982].

Clearly there is a need for an integrated visual

simulation system that provides for the graphical definition

and specification of the model while maintaining application

independence.

1.2 Statement of Objectives

The purpose of this research is to prototype a software

system that aids a simulationist in developing a general

1

I

Page 10: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

2

purpose discrete event visual simulation model. Thesoftware system should assist a simulationist to: (1)

graphically design the model and its visualization, (2)

interactively specify the model’s logic, and (3)

automatically generate the executable version of the model.

1.3 Overview of Thesis

Chapter 2 presents a state-of-the-art review of Visual

Simulation (VS). Chapter 3 describes in detail the

conceptual framework and internal logic used in GPVSS.

Chapter 4 contains three case studies and the verification/

validation of GPVSS. Chapter 5 fully documents the current

use and functionality of GPVSS and contains a simple

tutorial illustrating its use. Chapter 6 presents a summary

of work accomplished and suggests areas for future research.

Page 11: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

CHAPTER 2

LITERATURE REVIEW

2.1 Definition of Terms .

Recent years have seen the increasing proliferation of

discrete event simulation packages that include some

facility for "animation", "Visual Simulation" (VS), "Visual

Interactive Simulation" (VIS), "Visual Modeling" (VM), or

"Visual Interactive Modeling" (VIM). The meaning of these

terms to describe a dynamic display facility for simulation

has become relatively ambiguous.

2.1.1 Anination

Animation refers to any graphic display of information

where the information to be imparted to the viewer is

conveyed by image change [Baeker 1974]. This includes many

' displays clearly outside the scope of simulation. Therefore

it is inappropriate to restrict the definition of "animation

tool" to that which provides a display "portraying the

dynamic behavior of the system model" with some variable

degree of user interaction [O’Keefe 1987].

A more apropos definition is offered by Standridge

[1986]. The term animation as it applies to simulation

refers to either simulation-concurrent or post-simulation

animation. In simulation—concurrent animation, the

3

Page 12: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

4

simulation is run "based on the state of the system as seen

in the animation" [Standridge 1986] and allows the user to

interact with and change model parameters. Post—simulation

animation "emphasizes the presentation of the dynamics and

structure of a system as captured by a simulation"[Standridge 1986] and does not allow the changing of model

parameters by the user.

As the above illustrates, the term "animation" has been

used to refer to a variety of dynamic simulation displays

and degrees of user interaction. According to Mathewson

[1985] "animation is a particular use of the topological

information in a program generator". For this reason, it

is desirable to restrict the scope of animation as it

applies to simulation to refer solely to the generated

dynamic display. Thus, a "simulation—concurrent animation" ·

is defined as a dynamic display generated by the state of

the system model, regardless of whether user interaction

with the model is supported. Similarly, "post-simulation

animation" is a dynamic display driven by a simulation trace

and may or may not include facilities for user interaction.

2.1.2 Visual Simulation

VS is the process of building a model which permits a

visual display of the dynamic behavior of the system under

study and experimenting with this model on a computer for a

specific purpose. The major difference between Discrete

Page 13: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

I

5

Event Simulation and VS is the fact that the simulationmodel’s input, internal behavior, and/or output arevisualized and displayed on a computer screen. VS is asubset of the capabilities provided by VIS.

2.1.3 Visual Interactive Sinulation

VIS includes all of the capabilities of VS, but adds

the capability of the user to interact with the running

model. This interaction may be either model or user

determined, depending on who initiates the interaction

[O’Keefe 1987].

Prompting the user to make some sort of scheduling

decision is one example of model initiated interaction. In

fact, the need for a user to know the current state of the

modeled system when making such a decision is considered the

impetus behind the first VIS efforts [Bell and O’Keefe

1987].

User initiated interaction allows the user to change

model parameters and continue execution of the model. This

ability to "play" with the model can be crucial for

understanding the system. For example, the TRAVIS (Traffic

Intersection Visual Interactive Simulator) [White 1988]

allows the user to change such parameters as ·traffic light

sequencing, interarrival times of automobiles, etc. and

observe the effect on the modeled system produced by these

changes.

Page 14: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

“F6 i

2.1.4 Visual Hodelingl

The term Visual Modelling has been used relatively

loosely in the literature, and refers generally to the

process of building any form of Visual Simulation [Paul

1989]. Therefore VM is a component of VS and a subset ofVIM.

2.1.5 Visual Interactive Hodeling

The definition of VIM is restricted to the process of

building a VIS model. VIM is a component of VIS, and

contains all of VM.

2.2 Background_·4AlthoughGPSS/Norden was created in 1973 and was the

first documented work in VIS [Nance 1989], Bell and O’Keefe

[1987] report that the first significant work in VIS was

conducted by Hurrion at the University of Warwick in

England. Hurrion was trying to simulate a job shop

manufacturing system. The difficulty in accomplishing this

lay in the fact that often a human scheduler had control

over the system. Attempts to model the scheduling process

with traditional modeling techniques were unsatisfactory.

. Therefore it was decided to implement a "man-in-the—loop“

model. In order for the human scheduler to make realistic

decisions, it was necessary for the scheduler to be able to

know the current state of the model. To accomplish this, an

Page 15: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

7

iconic visual display with letters depicting entities was

created. From this and subsequent work, Hurrion introduced

the term "Visual Interactive Simulation".

Since its inception, VS/VIS has become an increasingly

popular method of problem solving [Paul 1989]. Graphical

symbology, movement depiction, display type, and the degree

of user interaction vary greatly from one system to the

next.

2.3 Graphical Symbology

Currently there are a variety of methods used to

represent the state of a system model visually. These

methods consist of keyboard characters, icons, or three

dimensional rendering [Paul 1989].

Keyboard characters are the simplest method of

representing model objects. The use of keyboard characters

is inexpensive in both hardware and development time.

Hardware costs are lower because no special graphics

hardware is required to display the character image.

Development time for creating the object image is lower

because the object images (characters) already exist. The

tradeoff is that the diversity of model object images that

can be employed is extremely limited, and one may feel

constrained in adequately conveying the diverse objects in a

system visually. In addition, object movement

representation is crude at best.

Page 16: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

;l

8

Icons are a more faithful representation of systemmodel objects. Icon images may be pre—defined, defined by

the user, or generated automatically [Paul 1989]. The use

of iconic representational graphics is typically more

hardware- and development—intensive due to the need for

special purpose graphics hardware and the time required to

create the icon image. Despite the additional overhead, the

use of icons to represent system model objects greatly

enhances the quality of the visual simulation.

If desired, the visual simulation may be further

enhanced by the addition of animation. Animation may be in

the form of icon movement, or icon change. In icon movement

animation, the icon is dynamically drawn on the screen with

time, position, movement, and speed attributes analogous to

the object being represented in the system. Icon change

animation occurs when the animation is implicit in the

varying icon image. Thus it would be possible to show a

customer moving from a queue to a server, and show him

walking at the same time. The overhead associated with icon

change animation is considerable since it requires multiple

icon images for each object to be animated and requires

substantially more skill and effort of the modeler.

Finally, three dimensional rendering can be used for

maximum realism. Techniques range from simple polygon

projection to photo—realism. The primary drawback of these

methods is that they are currently not able to run in real

[

Page 17: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

¤9 u

time due to hardware considerations. However, with suchl

technical advances such as the Intel 80810 RISC architecture

CPU, which features on—chip Phong and Gouraud three

dimensional shading, the prevalence of this technique is

sure to increase.

2.4 Display Type

Hurrion [1979, 1986] classifies display types into

schematic, logical, and null displays. Schematic displays

attempt to parrot the system being modeled. Typically they

have a detailed blueprint or schematic diagram as a

background over which icons representing objects in the

system move. This approach is particulary suitable for

creating dynamic displays of relationships among objects

where a spatial or simple logical relationship exists. ’

Logical or summary displays take the form of bar

charts, histograms, time series, etc.. Use of this type of

dynamic display is appropriate when relationships among

system model objects are extremely complex or when use of a

schematic display is inappropriate. In large complex models

it may be more useful to present the user with a logical

display containing summary statistics rather than observing

a schematic display of the model.

Null displays enable the end user to run the simulation

without the performance degradation associated with a

dynamic visual display. This method is similar to executing

Page 18: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

I

10

a conventional simulation model.

2.5 Interaction

The degree of interaction that VIS provides users is

perhaps one of its most significant benefits. Within VISinteraction varies greatly in the type, level and methods

for incorporating interaction.

2.5.1 Types of Interaction

There are two means by which a user may interact with a_ running model: model prompted and user prompted. Model

prompted interaction occurs when the simulation itself

prompts the user for input. An example of this method in

Hurrion’s seminal visual simulation of a job shop

manufacturing system where the scheduler was prompted to

make scheduling decisions. User prompted interaction is

characterized by the user’s ability to specify when the

interaction is to occur. This method enables the user to

change system model parameters and continue execution of the

model.

2.5.2 Levels ov Interaction

Originally Hurrion categorized three levels of

interaction [Hurrion and Secker 1978]: basic operations,

priorities, and algorithms in order of increasing levels of

interaction.

Page 19: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

n

ll

Basic operations consist of interactions that effect

one—to—one changes in the system model. Any entity or any

attribute of any entity on the dynamic display may be

modified, deleted, moved, or replicated and the

corresponding modification is incorporated into the systemmodel.

Priority interactions modify the priorities of

operations, jobs, or entities. This form of interaction

gives the user the capability of assigning dynamic

priorities to entities for the balance of the simulation

run.

Algorithm interactions modify the various driving

algorithms of the simulation model. Using algorithm

interaction, an analyst would be able to create "algorithmic

modules" [Hurrion and Secker 1978] which could be combined

in various ways to produce the desired system model.

Hurrion [1980] later combines priority and algorithm

interaction into a new level called structural interaction.

2.5.3 Hethods for Incorporating Interaction

O’Keefe [1987] outlines three methods for handling both

model- and user-initiated interaction: embedded

programming, standard interactions, and stopping

interpretation.

The embedded programming method incorporates all

display generating code into the model itself. This method

Page 20: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

12

provides a great deal of flexibility, but requires much moredevelopment effort and offers little reusability.

Providing a library of standard interactions is a stepforward. Using this method allows the modeler to pick andchoose amongst a set of pre—defined interactions therebydecreasing development time. If need be, some standard

interaction libraries may be extended. OPTIK is an example

of such a library [O’Keefe 1987].

Stopping interpretation is perhaps the most powerful

method by which a user may interact with the simulation

model. As the name implies, the underlying code of the

simulation model must be interpreted in order to utilize

this method. When stopping interpretation, it is possible '

to actually alter the simulation model code. While this may

provide great flexibility, it does require the user to have

some knowledge of the code being modified.

2.6 Construction of VS/VIS Models

Two methods of VM/VIM currently exist. The first

technique separates design of the model and the dynamic

display [Macintosh et al. 1984; Hurrion 1980]. Hurrion[1980] explicitly divides the VM/VIM process into

construction of the simulation model and design of the

display and interaction facilities. This has the effect of

forcing the modeler to construot two models: a model of the

system, and a visual display which is in effect a model of

Page 21: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

»

13

the model.

An alternative method is to provide the user with the

capability to create the system model and specify the

dynamic display at the same time, so that a one—to—one

correspondence exists between objects in the display and

objects in the model [Gordon and MacNair 1987; Bell and

O’Keefe 1987]. Unfortunately most of these systems have

suffered from a distinct lack of application independence.

2.7 Conceptual Frameworks for VS Programming

Activity scan, event scheduling, three—phase, and

process interaction approaches have all been used in VS/VIS.

Hurrion [1980] advocates the activity scan conceptual

framework because it provides significant "advantages for

interaction at run time". Provided the model is designed

such that a one—to—one relationship exists between objects

in the model and objects in the dynamic display, it is a

relatively easy task to change the activity tests.

Because the event scheduling and three—phase conceptual

frameworks are event based, animation of state changes in

the system model is relatively straightforward. However, if

user interaction with the model is desired, several

difficulties arise. Since the simulation always leads the

animation display by some amount, the additional burden is

placed on the simulation of continuously keeping track of

the model state at the current animation time. Also, any

Page 22: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

I

14

future events that have been calculated must be re-

calculated using the new system model parameters.

Process interaction has the advantages of the activity

scan approach and the disadvantages of event based

conceptual frameworks. Since the process interaction

conceptual framework is object based, changes in attribute

values of objects in the dynamic display can be reflected

quite easily in changes in the appropriate system model

object attributes. On the other hand, objects experiencing

delays which are time—based and unconditional must be

handled using a future event set [Derrick 1988] which must

be handled in a manner similar to that discussed for event-

based conceptual frameworks.

Ultimately, the choice of conceptual frameworks is

dependent on the degree of user interaction desired and the

nature of the system being modeled.

2.8 Perspectives on VS/VIS

O’Keefe [1987] defines five separate views of VS/VIS:

statistical, decision support, computer aided design (CAD),

gaming, and simulator.

The statistical or traditional perspective treats

VS/VIS as a selling aid. Statistical experimentation is the

primary means of decision support. Little or no provision

is made for the user to interact with the system model as it

is running. This perspective is almost mandated by the use

Page 23: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

v

15

of post—simulation animation, since any significant degreeof user interaction is ruled out.

A

Decision support perspective views VS/VIS as a decision

support tool to solve unstructured problems. Consequently

much emphasis is placed on providing the user withfacilities to interact with the system model. Use of a

standard set of interactions may limit the usefulness of a

VS/VIS system under this perspective.

The CAD perspective perceives VS/VIS as a tool for

designing a system by combining either pre- or user—defined

parts. The CAD perspective is particularly appropriate when

an object—oriented approach is used. Users can create

instances of objects and place them in the system model.

The CAD perspective is prevalent with VS/VIS users involved

in manufacturing system design.

Gaming perspective views VS/VIS as a tool for learning

as opposed to analysis of results.

The simulator perspective incorporates VS/VIS as a

rudimentary simulator with the user as the "man-in—the—

loop".

The perspectives described above are sufficient to

describe the domain of capabilities of VS/VIS when taken as

a whole. However, no single perspective currently exists to

adequately encompass VS/VIS.

Page 24: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

I

16

2.9 Benefits of VS/VISMany benefits are associated with VS/VIS [Bell and

O’Keefe 1986; O’Keefe 1987]. O’Keefe states that VS/VISgives the client and developer three additional capabilitiesnot found in traditional simulation methods in the [areas ofselling, gaming, and learning [O’Keefe 1987].

VS/VIS augments selling by providing both acommunication and a presentation medium [O’Keefe 1987].During model development the dynamic display becomes a

communication medium that enables the modeler and the client

to discuss model validation, development, andexperimentation. The dynamic display becomes a presentation

medium for the presentation of model results obtained using

VS/VIS or by traditional statistical experimentation.

VS/VIS enhances gaming capabilities by making it '

possible to use gaming with relatively complex system

models. The need for user interaction with the runningsystem model was the impetus behind Hurrion’s original job

shop visual simulation [Bell and O’Keefe 1987].

Learning capabilities are enhanced because the

interactive capabilities of VIS allow the client to "play"

at managing the system [Bell and O’Keefe 1987]. This allows

the client to gain knowledge pertaining to management of the

system.

In addition to these augmented capabilities, the

following are generally accepted benefits that VS/VIS

Page 25: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

17

provides.

The dynamic display associated with VS/VIS augmentsmodel credibility through the enhanced presentation ofsimulation results. This is due to the fact that the client

‘ need not have an extensive simulation background tounderstand model results [O’Keefe 1987]. In a survey by Belland Kirkpatrick [1986] seventy percent of the respondents

felt that their decisions were implemented more often when

VS/VIS was used. Although Bell and Kirkpatrick [1986]

themselves admit the validity of their survey is inquestion, clearly VS/VIS has had some beneficial effect onmodel credibility for some.

VS/VIS enhances model verification and validation.

This is because the analyst can easily see the effect ofincorrect behavior when the system model is not working

correctly [Paul 1989]. In addition, the communication

medium that VS/VIS provides enables the client to

participate to a greater degree in the verification/

validation process. In the same survey by Bell and

Kirkpatrick [1986] eighty—eight percent of the respondents

said that validation was either "faster" or "much faster"

when using a VS/VIS system.

One additional benefit of VS/VIS is that the client can

be involved in model development at a much earlier stage

than is otherwise possible. This allows the developer totailor the model much closer to the clients needs, and to

Page 26: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

18[

possibly avoid costly misunderstandings. In addition, the

client may soon know enough about the system to ask

questions that would not have previously been thought of

[Palme 1977].

2.10 Drawbacks of VS/VIS

VS/VIS has definitely advanced the state of the art in

discrete event simulation. However, VS/VIS does have some

undesirable characteristics that the analyst and client

should be aware of before choosing to construct a VS/VIS.

It is difficult to estimate the cost/benefit ratio of

developing a VS/VIS simulation [Bell 1985a]. While

increased costs are certain, the benefits of implementing

VS/VIS are much less tangible.

VS/VIS tends to be hardware specific [Bell 1985a] due

to graphics requirements. Furthermore, the choice of

hardware determines the graphics capabilities available to

the modeler. While increased complexity may or may not be

desirable, this does have the effect of placing a limit on

the maximum complexity of the model display.

The use of VS/VIS introduces further requirements for

the construction and presentation of model results that

~ would not be present for conventional simulation techniques.

In addition to constructing the system model, the

analyst is now responsible for creating a dynamic display.

Currently, a good screen design methodology has yet to be

Page 27: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

19 V

developed within the simulation community. Consequently,

the modeler must also be substantially familiar withgraphics design and programming. Some aspects of model

behavior may be difficult or impossible to portray visually.Paul [1989] presents an example of a port model that easilyportrays incoming ships entering their berths. However, the

assignment of a given ship to a berth, the primary impetus

behind the simulation, is dependent upon many different

attributes such as cargo, berth capabilities, and ship type.

Paul [1989] states "Any attempt to represent visually such

rules would probably be self—defeating" due to the resultant

complexity in the dynamic display.

The use of a dynamic display as a presentation medium

may require the modeler to add more detail to the system

model than actually required to obtain the desired

statistical results. Bell [1985a] cites an example of a

truck dispatching system model. If the system road network

is dense, it may not be material which route a truck

actually takes to arrive at a given point. The client,

however, may not fully accept the model as credible without

actually seeing which route the truck takes.

A dynamic display is an aid in model Verification/

Validation, not a means in itself. Paul [1989] makes the

observation that "undue confidence" may be placed in the

model merely because it "looks alright". Bell [1985a] warns

that since VS/VIS displays the model transient period in

Page 28: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

r

20

great detail, and since the client can observe thistransient behavior in the system every day, there is a

distinct possibility that the client may assess model

credibility based on the transient period rather than steady

state.

The client must be aware that interacting with the

running system model by changing model parameters

invalidates the usual assumptions associated with steady-

state analysis of model output. The danger exists that the

client views a "snapshot" of model behavior and assumes that

the system always exhibits these characteristics [Paul

1989]. The use of a dynamic display does not abrogate the

need of the modeler to instruct the client about the nature

of statistical methods.

Paul [1989] begins to address one area that has been

distinctly lacking in VS/VIS literature — human factors.

The expressions "seeing is believing" and "a picture is

worth a thousand words" immediately come to mind when

discussing VS/VIS. Yet within the legal community

eyewitness evidence is considered the least reliable form of

evidence. Paul [1989] states that "Dreams, wishes, desiresand thoughts" can affect an individual’s perceptions.

Another human factors consideration is the choice of colors

used in the dynamic display. Red and green are two of the

most widely used colors in VS/VIS but roughly ten percent of

the total population is unable to distinguish these due to

Page 29: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

21

color blindness [Paul 1989]. Thus, considerable attentionmust be paid by the modeler to established human factorsguidelines when designing a VS/VIS dynamic display.

2.11 Conclusions

The use of VS/VIS has many positive effects on theprocesses of model Validation, Verification, andacceptability of model results. There are some drawbacks

associated with VS/VIS however. Not the least of which isthe lack of a comprehensive VS/VIS methodology to guide

modelers in the construction of a VS/VIS. As the qualityand quantity of VS/VIS systems increase, the impact of humanfactors considerations is increasingly to be felt. The onusis on the modeler to determine when, where and how toimplement VS/VIS.

Page 30: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

CHAPTER 3

DESIGN AND IMPLEMENTATION OF GPVSS

The General Purpose Visual Simulation System (GPVSS)has been developed to enable a simulationist to

interactively define and specify an executable discrete

event visual simulation model of the system being studied.

It should be noted here that all user interface terminology

conforms to the SunView user interface standard [Sun 1988b].

The top—level menu of GPVSS is shown in Figure 3.1.

At the highest level, GPVSS is comprised of three main

components: the Image Editor/Model Editor, the Model

Generator, and the Model Animation Tool. The purpose of the

Image Editor/Model Editor is to provide the user with

facilities to graphically define and interactively specify a

model of the system being studied. The Model Generator

utilizes the model definition and specification provided by

the Image Editor/Model Editor to create an executable visual

simulation model. Finally, the Model Animation Tool creates

a dynamic display of the running simulation.

3.1 Hardware and Software Environment

GPVSS was implemented on a SUN 3/160C1 color

1 SUN 3/160C is a trademark of Sun Microsystems, Inc.

22

Page 31: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

l

1 123

G P V S S ~ ’ . ··”General Purpose Visual Simulation System II , . i

lliago Editor/Hodol EditorlMods!

Hodol GonoratorGenorats

Model An1¤•t1on Tool

Figure 3. 1 GPVSS

Page 32: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

n

24

workstation running the SUN UNIX operating system. The SUNis a 2—MIPS machine consisting of a 16.67-MHz MC68020

microprocessor with a 16.67-MHz MC68881 floating—point co-

processor, a 380-MB Fujitsu Eagle disk subsystem, a 1/4—inch

cartridge tape subsystem, 8-MB of main memory, a l9—inchcolor monitor with a resolution of 1152 X 900 pixels, a

pointing device called a mouse, and a connection to the

Ethernet network which enables high speed file transfer to

and from other University computing systems.

The most significant element of the user interface is

the 19—inch bit—mapped display screen. This display

technology offers excellent graphics capabilities.

The user communicates with the SUN via keyboard input

and the mouse. The mouse may be used to point to or select

locations on the screen. The system provides feedback on

the current mouse location by continuously updating the

position of the mouse pointer. Virtually any material that

is displayed on the screen can be pointed to and treated as

input.

The windows are the basic building block of the user

interface and are roughly analogous to sheets of paper on a

desktop. Windows may be resized, overlapped, closed, or

quit. Resizing a window allows the user to effectively

increase the available workspace [Sun 1988b, p. 35].

Overlapping is useful when the user needs to interact with

multiple windows, but there is not enough room to display

Page 33: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

25

all of them. Closing reduces a window to a small 64 X 64bit image known as an "icon". Icons are useful when awindow contains a process that does not require immediateuser interaction, but it is still desirable to keep thatprocess running (shell, for example). Quitting a windowdestroys the window entirely when there is no further use

for it.

Menus and buttons are perhaps the most important window

features in terms of the user interface. Menus provide a

user with the ability to select an option from a finite list

of choices. Menus may be "pop—up", requiring the user to

depress a mouse button before they are active. Buttons

allow the user to interact in a more limited way with the

running program. Selecting a button requires the user to· position the mouse cursor over the button image and depress

a mouse button. This action executes a C function that has

been associated with the button by the programmer.

The GPVSS code consists of approximately 11,000 lines

of documented SunView, C, and EQUEL/C code. All window

features are programmed using the SunView application

package, which consists of high—level routines to create a

graphical user interface and window management system [Sun

Microsystems 1988]. The databases are created using the

INGRES relational database management system [Sun

Microsystems, 1986]. EQUEL (Embedded QUEry Language)/C was

used to access INGRES.

Page 34: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

Z26

Although many modern systems have the hardware

capability to support GPVSS, the SunView interface

technology has proved invaluable for its rapid development.

3.2 GPVSS

To define or specify a model, the Image Editor/Model

Editor tool is used. Selecting the "Image Editor/Model

Editor" Icon executes the pre_objed() function which sets up

a blocking requester that queries the user to input the name

of the model to be defined and specified (see Figure 3.2).

This name must be unique and conform to C identifier

conventions. Selecting the "Construct Model" button calls

pre_objed() which forks the objed program with the model

name obtained from the blocking requester passed as a

command line argument (see Figure 3.3).

The user may exit the model_frame without naming a

model by selecting the "Exit" button. This event executes

the exit_proc() function which merely contains a

window_return() call to break out of the blocking requester.

A similar process is used to call the Model Generator.

Selecting the "Model Generator" icon executes the pre_gen()

function which brings up the frame model_frame mentioned

previously (see Figure 3.4) [Sun 1988b, p. 207]. Instead of

the "Construct Model" button however, the user is presented

with a "Generate Code" button. If selected, this button

executes call_gen(). Call_gen() takes the model name found

Page 35: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

1

n

27

IEG)W>~WO‘¤

IEiV;

z:s3Svz°‘Zi"Ä S S**——cu

EE*8S ? § SS ‘- ITS 55TSE‘

ä ¥ 2**1 I2Q)wm

EFi

re . Igu 3 2 Model Name Requester for Editor

Page 36: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

';

lf E

__

._

2 8

g

.,__ __

__

"‘•-"—‘¤

EP?

—-12·'13w

äf6E

iic

ÄggE:

gglL

«—iaE¤·g'

'ZEQ‘*eg“‘”‘‘·‘·‘-·¢·‘·‘i S

Slal

SCI'Gen

Page 37: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

I

29 I.— . ä 駧§§§§§Eiäiäii;E§§§Eiäää§ääiääE;EiE;E§äääääääääSEEEEäEESES?EäSäESääääöEESSäEääääEE2S25EE2EESESES?SEEES5éääéä2EéäéäsESEääzäzi2S$$2§2§2§2S;E2iaäzä$252E2%;E2Péééäéääsäsäé2%%sääaäzäsäaää$ä%?$sä=äsä*!6~:€;äS&;é;¢?;;mz=2=2=é:22:22=;:2¤22=2:6=s:2=s=s=2:2:2=2:2=2=2=5:2:2:;=;=;¤;=s:;:;s:=:=:;:=:=:=:=:=:=:¤:=¢:=:=:r:=:=:=¤=:rz=;=:=:=:ze:;:¤:;=;=;=;:;=:=;::¤;:::;=

.'5n.-E0

g;:5:5:;:5:;;;:;:5:;:3;5:5:5:;:55;:5:;:525E32;EgigägigigEgigigigigägigigägEgägigig;;;;;;§;;;;g;;;;;;;;5;;;;:5:5:;:;:;:;:;:;:5:;:gEgSgigägigigägägigigägégE;§;E;E;E;£;§+2 { ;;§;§;§;§;§;§;§;§;§;§5gg§;E;E;E;E5E;£;E;E;£;£;EgägägägägigägS;E;E;£;£;2;£;2;2;£;;;zgägägzgä;;;2;a;;;;;;;2;;§;E;E;5;5;E;E;E;E;£;E;E5%;5;E;E;E;E;E;i;é;§5E3E;E;EgägigigäVI>~VJ

· ?§§§§§§§§§§Ä§§§Ä§Ä§§§Ä§€€§§§EÄEÄ€§EÄ5§€Äääääääääääääägi;EÜÄgiÄäE§§Ö§§§§§§§§§§§§§Ä§Ö§Ä§Ö§Ä§€§§§€§§§Ä§Ä§§§§§Ä§Ä§Ä5ÄE§€§EEEÄEÄEEEEE§EEħ§§§§§§§§§§§§§Ü§§§§§§§ÖEÄÄEÖÄ=SO_ gzgziääaäääsizäa§2§z§s§2§2§s§2§s§2§;§z§2§;§s§s§s§;§;S;E;EsE;S;E;E;S;E;5;é;é;£;%;S;£;Egégägägä;2§2;2§2ääääisäéäzäzäääzfaizäsäzäsäsäsäaäzä2E2P2E;E;éaEsä;E;E;E;E;%;ä;E;E

- ·•-4 ; :Q:;:;:5:5:;:5:5:;:3g:5:;;;:5:5;;:;;;;3;;:;;5;;;g;gE;E;Egi:E;i:E:§:§:§:E:§:3:;:;:§:§:§:;:§:5:;:5:;:;:5:;:;:Q:5:;:5:;;:55;E55gi;E;E;EgigägigE;E;i;E;E;E:i:$:§:§:E:§:§+2¤ ‘ EäiifsiäääEiäiäeäää;E;E3E;E;E;E;5;£5E;2;E;E;E;E5E;i;E5E;S5E;E3E;E;E;EgE5£;€;252§é§2§£§;§£§E?£§;E;5;E;E;E;E;E;E;E;E;E;E;E;E5E;E;E;EgägägigEgägigägägé;;;;;;;;;;;;;;;;§;

E — ifa?2äafääzäzäzäsäzäsäéääääääEäääéäéäääéäéääää§&§é§é§S§2§2§z§2Eaäääzä;§2§s§;52%2%z52é;%z%;SaésäséésEz5;;;&;ääS;éeääéäsääEéääääésäzésäéääéäizieäsiz§z§2§s§;§2§2§sä2S-,4 { :fz}:§:§:§:§:§:§:§:Z:§:§:§:§:§:§:Q:}:§:§:§;§:§:§:§:§:§:§:§:§:§:3;:;;;:Q;Q:}E}E§EQEgE;E;E§E§EQEgEgE;EgEgE;EgEgigigifgEgägätigiriZ§:§:§:§:§:§:E:§:§:§:§:§:§:§:§:§:§€§EV} äEäääääääéäääääääéääiéäääääääéäääéäéäéääääéäääääägägégégägägägägigE;ägägégägägägägäééééééäägézééäsääaä2ä2;;;;;;;;;;;;;;;;;§;e;§;ägäéääéäääégägégégé;ä;é;ä;§;§;§;§;§§é„„i*9T " Z2E25zäéeäzäsE;§;ä;E;E;€;E;E;€;§;S;Eäéääéiäéiäääéiäääiäéäääaiääääääsäaää52525;%EsF;E;€;€;E;3;E;€;E;E;E;E;£;E;E;EgägigE;Egéiäiéiäiz§Si2§2§2iz§2§2§;§2E;E;55E;ä;E;E;E;

:¤ T2M;-·· g g ägägägägägägägägägägägägigägägägägägig;eésäsäsäzE2;;;sääsäsäs§s§2§z;2äsäaisäs36§a§;;;;s;a;e;s§e§s;s;sä;é;S;é;E;E2a%§2§ä§%§&§2§2§2é2§2§2§2äääsäeéeäzéz§2§2§s§2§2§sé

3 E EEGS 82Q-g E „- .. ä2EEäaäzäaäaS25;€;E;E;E;%;E;€;ä;E2E;E;E;S;E;E;E;E;E;E;E;§;E;E§SEE;EEééiääéiiiEäääéiéäéäääääsäääzäzäääääsäéääFeäsfäE252525232E2E2B22;säaE;5;E;E;EzizäsiéääégiiiäääääéE . SS¤-E ; 88.„ 6;e5geg;zg65;;;5;;;gg;;;;;;;;;;;;§;ä;§;§;ä;ä;é;§;ä;§;ä§äääiE2ääéäägägägägE;§;ä;é;é;ägägégä5E;ägégägäsäzäeäaäsäzä2äsäaä2ä2E2äéäéääE2Eäääääiä䧧§§§§é;䧧;ä;ä;§;§;ä

E E g§i3Ä esäääääääQQ,=' ; 2:2=z:2=;=;:2=;=;=2:2·.w=2 2;;§2§2§;§z§2§2§;§;§;5;;;gs$2;;§;;a§;;;§e;;§;;;;;;;;;;egsgagegägägägägägägE3EgägägägäSééigiäigä2äziéäsE2§2äsä2isä2isE2i;äz§6äs§2;;;iz§2§2§2§s§2§s§2;;§z§;§;§§;§§§§§§D. E ·C-I-i·Z-Z~Z~Z~Z-Z~1~Z-:-:-:-:·Z-Z~:-:-:-:-:-1-:-;-:-;-:-;-;-;-:-;-3-;-;·;-;-;•;-;-;-·¢·Z·.·1·.-I-Z-Z-Z-Z-I-PZ-E-:-I-Z-I-i-Z-:·1-:·:-:-:-:~:-;-;~;-;-;-;~;~;~;-:-;-;-w

‘—’<-> ä ÄESSEEE@5EEEE§EfiäEEEEE§E§EEEEEäiäE§EEE§i§EEEEE§E§E§E§E§§fE§E§E§£§£§§§E§iESSÄEEEEÄFÄEÄEÄ?ÄEEESÄEESEE§EEE§E§EE;S25EEEEÄEEEEE§E§E§E§EEE§E§E§E§E§E§E§E§i§E§E§E§wE>1;3B F 2SäéiéääESESESiéäEEEäéééäääéésääESäéisäaä2;ais;2äaäaäzizä6ä2;sie;s;s§2§§;§;ä;§;§;§5%5E;E2;Egä5Eéäääé6E2äéäéääzäSE2äsieä2i2;6äsäzäsäs;252;;§;;z;s;e;a;a;a;§;ä;ä;ä;

*3 z

gFigure 3.4 Model Name Requester for Generator

Page 38: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

30i

in the Panel_item mname_item and passes it as an argument tothe gen program. The gen program is called using thesystem() function and not forked off as is the objedprogram. The "Generate Code" button remains selected untilcode generation is complete (see Figure 3.5). This is donebecause the gen program creates special files in its own

directory that are model specific. Therefore, only one

model can be executing at any_ time until the file handling

oapabilities of the gen program are improved.

The "Exit" button can be used as described previously

to exit the model_frame without generating code.

Selecting the "Model Animation Tool" executes the

call_anim() function which forks off the pi (process

interaction) program created by the model generator tool

(see Figure 3.6). It is important to only select this item

once as the SunView windowing system queues mouse events and

the user could wind up with multiple executing pi programs.

Selecting the "Quit" button calls quit_proc() which

closes down the fonts, destroys the Frame base_frame and

exits the program.

3.3 The Image Editor/Model Editor

The Image Editor/Model Editor is designed to provide

the modeler with the capability of: (l) drawing a graphical

image whether it be the model background or a dynamic object

image and (2) specifying the model logic interactively.

Page 39: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

I

• ·.Z-Z·Z~I·I-1-1-Z-Z-I-2-1-2-2·Z~:~I~:·:-;-:-:4-:-;-:-:—:~:~:~:~:·:~:·:·:-5;ZziS:Z:Z:Z;Z;Z;Z;Z;!;¢;Z;¥;Z;Z;Z;Z;Z;Z;I;I;Z;Z;I~Z·Z·I-Z·Z·5·:·Z·:-Z-:~:~:~:-:-:-:·:-:-:~3-:·;·:-:·:~:¢;Z5:Z;Z:l:C;Z;Z;€;Z;Z;Z;Z;I·';Z;Z;Z;Z;I;Z;Z·I-Z-Z-I-DC-Z~1-:·Z·Z-:-:·:·:-:-:-:·:-:·;·:·;-:·:-:-:-:-;-:Z;Z;Z;Z;C;Z;Z;Z;Z;Z;I;Z;Z;I;Z;I;Z;Z;I;;;Z;Z-Z-I-Z·:·1-Z-:-:~:~:·:-:·:·;-:-1-:·:-1-;-:-;-:Z;!;Z;Z;Z;I;Z;C;Z;I;Z;Z;2;Z;Z;I;I;!;I;Z;Z;I;:;.

Q E §$EéiäfsäE52Ezäia5;E=E=E=5=E=?E=E=E=E=E=ä=E=E=£=E=E=E=E=E=E=E=E¢E=E¤E=E=E=E¢E=E=E=i:5¢E:E:䤣:E=E¤E:E:E=£¤§:E:£:£=;:£:;:;€;E£5;E25;E;E;E9E5EzE=E=E=E=E=S=E¤E=E=E=E¤E=E=E=E=5=E¤E¤E=£=E=E=£=£=£=E=E=E=E:2E:2E1s=E:2;:2:2:EE{E25;E;äE;E;§;E;E;E5€=i=E=E=E=E=E=S=E=E=E=E=E=ärirä=E:i=E=E:E¤E:£:E=E:£:E:E=£:;=;:;:§:;:;:;:$:2:;:;:;E;E;E;€5E;E;E;E;Z555E;E;E;£;£¤E;E=E=i=E:E:E=E=£:E$:2:;E:E:2:;:ä:2:;:;:;:;:;:;:;:;:;:;:;:;:1 I -¤=E=E=E=E=E=E=£:E1E1E1EfiäEE€§?E€£FEiiEääiää5;?£E;?;E;E;f;E;E;E;E;Eii;E;E;E5E{E555E;S;E=E=E=E=E=E=€¤E=E=E=E¤E=i=E=E¤E=E¤E=E1E:E=i=E:E=E:}=2=szärääifäizäzäääzfziaizä;E;E;E;E;E;E;E5E555EaE5E{S55;E=E=E¤E=E=E:E=S=E=E=E=E=3=£=£=E:E:E:$=E:$$:2:;:;:$:;E$E;5;E;E;€;E;E;E;55E;E;E5E5i;€;E3E5E;E;£5E;E;E¤£=E5£=E=E¤E=i¤E=£=E=£:£:&:£:;:;:;:2:;:;:;:;:;:;:;:;:;:;:;:5:5E5:;E5E;E5E55525E5E5Egi;E;E5E5EgigE;i:E:E:E:£rE:&:i=;:E=2:;:;:2...........,.1,-,-,„EE12:E:E:§:§:i:§:i:§:§:§:§:§:Q:§:§:§:§:§:§:§:§:§:§:§:§:§;Q:;:;:3:gz;:5:}:;:¤:¤:¢;=;¤:¢E1E5E1E1SIEZE1E:35ZZ:§¤§:Eti:§:§:E:}:§:}:i:E:ii:}:§:§:§:§:§:§:{zi:Q1;:;:;:5:5:;:3:§:3:;;3:;:;:3;5;;:5;I;1EgErE:E:E:§:E:§:E:i:§:Z:i:i:§:§:{zi:}:;:;:;:;:;:;:;:5:;;:;:35:;;5;;:;;;:;;;:;:;;;:5;;;;;;:;:;g;:E:Er;:E:$:iz;:§:§:§:§:§:§:§:§:;§:§:§:;:;:Q:3:5:5:{:;:;:3:;;;;;;g;;;;;;;;;g;g;1;gg5ggg;g5:;:;gr§:§:§:3:§:;:§:§:§:;:§:;:;;

§;E=E=?=E=S=E=E¤E=E=E¤5=E=E=E=E=E:5:E¤E=E1?ri:S=£=E:E:E:£:E=Ecäz£:£:E:§:i:§:;:;:;:;:;:;:;:;:2:;:;:;:;:;:;:;E;äE;E=E=E=E=E¤Z=E¤E=E$:5=ErE=E=E=E=ErärE=E:5:3=äS:E=E:S12:Eé:Sri:£:£:E13:£:£:;:£cz:;:$:ic;:£:;:;:5:;:sz;:5:;:;E35;:5EQE;E=E=E¤5¤E=Sri=E¤Eri:E¤E=E=£:E=E=E:E:i:i:E:&ri:E2:£:&:2:;:§:;:§:;:;:;:;:5:;:5:;:{:5:;Egig:;E3E5§;ä;E;€=i¤E=E=E=E=ErE=E=E1E:£:§=£=&=E:E:i:£:;:£:&:&:£:;:;:;:;:;:;:;:;:3:;:2:;:;:5:;:5:;:;E;E;:5E;5;E;E;E=£;£=E=E=E:ä=£:E¤i:;:§;E;E3E;Ezi;Sei555553;5;;{gi;Egé;Egä5E;E=E=E=5:$$5:E=i:5:E:$:3:3:51;:Eri:;:;:£:£:£:$:;:;:£:;:;:;:;:;:;:;E;:;E;E5E;555;E555S55;E;E55;E32;555555552;;E;Egigigi5Egägig3;;Egi;E5;5E5;:£:£:;:$:;:;:2:;;:;:;;:;:;:5:5:z:;;:5:;5:5E;Egigi555Egigigigägögégigigigigägi;;;E:£;§:§:;:;:;:;:;:2:;:;:;:5:;;:;:;:;:;:;:;:5:;:5:3:;:;;;:5:;;;E;E5E;E5§;E5E5;;EgE;E;§;£;£;;;;;;;;;;;;;2;;;3;;Q:;:;:;:5:5:;:5:5:5:;:5:5:;:;;5:5:5:;Q3:5:5;gzgzgiggigigigigägégég

söiä=EsE;5;FifaE25EE;5$5;EsäzfaääEQE;E;E;E;Q$555;E5552;Egi3EgigEgigigigigE{3;S§E;£§E§€5£§S?S§E?E$§£€&?EEiiiEäääfääääääéäiäizääizääE;E;§;E;555;E;E;E;E;E;E;E5E;E;E;E5E;E555E5?5E5E;E;E;E5E;E;Egi;Egi;€;E;S;Q;E;E;E;E;£:£§i:éiääaäEis?;5;EEEeis?;E;E;E;E;E;E;E;E5E5E;E;E5E5E;E5E;E;E;E5E;S;E5£;E;E;E5EgE;3;Z;Egig&:£5;:;FEB;Ei?EE;E$5;E$555255E;E;E;E555S55;E;E;3;E;E;£;E;E5E5£5E3£5E;E;E;Egi;EgigEgigigägigizägégigigzgigi:;;;:;5;E;E;E;E;E;E5E;E;E;E5€;E;E5E5

$3:2:2:1::%:2717:?I¢:?:7:¥:*:¢:$:*:7:7:Q:Q:Q:Q:Q:¢:Z:¢:¢:!:?:!:Y:Q:Q:5:Z:Z:1:5:1;Z:¤:?;Z;1;1:Z;Z:¤:Z-I-C;1-I-S-2-3-1-2-:—I?Z¥:·I-:?:?:—:?:¢:¥:¥:QS:Z:?:7:¥:¢:¢:Y:¢:¥:¢:¢:¢:?:Z:Z:¥:Z:¤:2:5:1;Z;Z;Z;1;Z;Z;I;I;Z;I;I;Z;I;I;Z;Z;Z;Z;I·I;Z-:·1-t·:~:-:·:?:¢:¥:¢:Q:Q:¥:Z:Q:Z:Z:€:Z:Z:¤;Z:?:¥;Z:Z;Z;Z:2:1;¥;1:1;;I;I;Z;I;I;Z;l;1;I;:515;:;:-:;:-:-:-:-:~:-:·:~:·:¢:Q:¢:¢:Z:¥:¤:?:!:Z:Q:¢;¢:l;Z;¤;2;I;I:Z;I;C;I;I;1;:;:;:;:;:;:;2;:;:5;:;:;:;:-:;:-:-:;:;:-:·:¤:-£:E:S:£:i:£:E:$r£:§:§:§:£:§:§:{:Q:E:§:;:E:5:Q:§:§:;:§:;:;:¢:¤:¤:=:=:=:=:=:=:=:=:¢:=:=:=:=;=:=:=:=;=;=E=i=;:E¢E¢E:E=i=E:3:E:£:E:3=£=i:£:iri:§:i:E:E:E:i:Q:§:§:§:§:£:;:¤:¤:;:=:=:=:=:=:¤:=:=:=:=:=:=:=:=:=:=:=;=:¤:¢:=;=;=:=:=;=;:;:;:E=;¤§:E:&:E=E:£:§:§:§:ici:§:§:;:;:§:;:;:;:;:2¢:5:=:=:¤:=:¢:=:=:=:=:=:=;¤;¢:=;=;¤:¤:1;¢;:;=;=;¤;:;=;:E:;:E:E:E:E:E:E:£:§:§:§:§:;:§:§:;:§$:§:§:§:§:;:;:5:=:¢:¤:=:=:=;=:¢;=:=;=;::=;=;:::;:::;:;:;:;:5:;:E:;:§:§:;:;:§:§:§:§Q:Q:Q:¢:Q:¢:¢:¥:Q:Q:¢:¢:¢:¥:¤:Q:Q:¤:¤:¤:¢:¢:¤:¢:¢:¤:¤:¤:¤:1:=E¤E¢E=E¢E=EIEIESESEZSSESEIZZE1E5:$:*2*:*:Q:Q:*:*:¥:Q:Q:Q:Q:?:¥:Q:Q:Q:Q:Q:Q:¢:Q:Q:¤:Q:¢:¤§:¢:Q:¤:¤:¤:¢:ZE¤E¤:1E¢E¢E1EZE¢E¢EIEZEZEIEIE¤E=EtZI*¢E=Eri:¢:*:*:Q:*1*:*:Q:Q:Q:¢:?:¢:Q:*:*2*:Q:¢:¢:Q:¤:Q:¢:¢:QS:¤:¤:¤;¢:¤E¤E¤:¤E¤E¢E¤E¤E¤E¤§¤E=EIEIESEIEZ§¤§¤E1E:§=S25:Q1}:Z:Q:¥:Q:Q5:Q:Q:Q:¢:¤:Q:¢:Q:Q:Q:Q:Q:¢:Q:1:1:¤:¤:¤:¤:¤:¢:¢:¢ESElE¢E¤E1EKEri¢EIE:$:E:5:E:§:Z:i:§:§:Q:Q:i:¤:¥:¤:¢:Q:¢:¢:¢:Q:¤:¤:¥:¢:Q:¥:¥:¥:¢:Q:¢:Q:Q:¥:Q:Q:¥:¢:¢:¤:¥:¥:¤:¤:Q;¥:?:¥:S:¤:Z;1;¤;¤;1;I;1;I;I;S;I;S;:;I;:;:;:;¤;:Z:i:§:§:Z:}:§:{:§:§:§:§:Q:§:*:¢:Q:Q:¢:Q:¢:Q:¤:¤:¤:¤:¤:¢:¤:Q:¢:1:5:¢;¤;I:¤;¤;¢;¤;1;I;=;2;:;:;:;:;:;1;:;:;:;:;:;:§:;:;:;:§:§:§:§:§:§:§:§:$1;:;;:}:Z:§:¢:Q:1:21:1;1:Z;I;¢;I;I;I;¤;¤;¤;1;:;:;r;:;:5:;:;2;:;:;:;:5:5:5:5:;:5:;:;:525:;:}:5:§:§:§;§:§:§;};};g;I;¤:I;I;Igl;Z;I;I;1;:;I;:;I;:;:;:;:;:;:;2;:5:5:;:;:;:;:;:;:;:;:;:;:;:::;:5;::5;}:;;;:};¢;I:1;I;1;I;¤;Z;l;¥"¤*:*:*:¥:*:¥:¥:¥:¢:*:Q:Q:¢:7:Q:Q:¢:¥:¢:Q:¥:¥:¥:¢:¢:Q:Q:¤:¢:¤:¤:¤:¤:¥:¤:¤:f:¢:¢:¢:5:¢:f:¤:1:I;¤;I;l;=;¤:Z;I;I;I;:;IZ:;:i1§rZ:§:§:§:§:§:Q:Q:§:¢:¥:¥:Q:Q:¥:Q:Z:¢:¢:?:¤:¥:¤:¤:Z:¤:¥:¤:¢:1;¤:¤;Z:1;¤:¤;¤;¤;1;2;I;I;I;1;I;I;I;I;:;1;:;I;:;:;:;:;:§:;:fr{zi:}:¥:Q:¢:Q:Q:Q:Q:¤:¢;Zzl;¤:¤:Z;Z:15:1:Z;¢;1;¢;I;I;I;S;1;5;I;=;=;I;Z;r;I;¢;:;2;:;:;:5:;2;:5:;:;:}:§:§:§:§;§:§:§:?:¥:Q:¤:Q:Q:5:¤;1;5;¤;1;I:1;¤:¢;I;¢;I;1;:;:5;:;:;:;:;:5:;:;:;:;:;:;:;:;:§:§:§:§:§:§:§:§:§:§E€E$5$$5EEEEFEEEFEFEFEFEFEEEEEEEEEZi€§€§€§?§E§€;5§E;E;E;E;E;E55;E;E;E;E;i;?;E5E;E¤E=E;E55=E¤E¤?€=E=E=E¤E=E=E=E=E=Er5=E:5:i=E=Sri=E:E€i?E:E€i€EE5S55EEEEEEEEEEiE;E2?§E§€;E;E;E;E;E;E;E;S;E;E3EQE5£5E5E5E;äE5E5E5E5E=E=E¤5=E=E=Egi:5¤E=E:£:$:E:E:E:i=E¥iEEEE?i€§?§E;E;€;E;E;E;$¢?¤€;E;E5€55;E;E;E;E5E;E;5;i;E5E;E;S;E;5;E;E;E;i;E=E=E¤E:E:ä:E=E:Ezi:E:$:£:z:i=E:E:EE§?;E;E;€;E5E;E;€;§;E;E;E;E;E;E;E;E;E;E;E;E;E;S;E;E;E;£5E;E;2;£:E:E:£:E:E:E:£:E:$:;:;:;:;éiiiE;EQE5E;EE;E{E}?§EQE{E;E5E;E5E;E5E32;E;E;S=E;E;ESE=E=E¤E=E=E=E:E=Er£1ir§:i:E:E:E:5:£:E:S22:Ezi:i:§:§:§:§€§E§€§€§E§€§E§E§E§E§E;E§E§E§E§E5E;E5EQEQEgigägägi{£;E5E;EgE3EgägigigE;Egi;EgE1{2S2E1E1E1E2E:E:E:§:i:£:§:§:£:}:§:i:§:§:;:Q:§:;€;E§E;€§E;E;E;5555Egigägägigigigägigigé, _.;SgE;EgE;Zg§;Eg$;igic§:§:i:§:§:§:§:§:§ri:{:5;3:;:5:;:5:;E;E;E;E;E;E;E;E;E;E;£5EgigigEgigigigigEgägigigägigEgigigizi:§:£:§:§:§:§5:;:;:;:5:;:;:5:5:5:§:5E;E;E;E;E;E;S3E;E;Egi

§;§g§:§:§:§:§:§:§:§:§:§:§:§:§:§:§:§:;:3;:;;};{:;;g;g;;;g;gEj;gE;EgEgfgigfgfgZgEg§:§1E:ES§:§¢Eri:§:§1Z:§:Z:Z:§:§:§:§:§:§:§:§:§:§:§:§:§:§:§:§:§:§:§:§:§;§;§:§:§:§:3}:3}:;;;:g;gg;;;g;g§};g§Q};EgigfgigigZgäzf:i:§:§:§:§:§:§:§:§:§:§:§:§:§ci:§:§:§:§:§:§:§:§:§;g:;:5;;:;;;:;:};Q:g;;;g;;;g;g;g;g;g;g;gg{gggg;g§g§:§:§:§:§:§:§:§:§:§1Q:§:§:Q:§:§:§:§:§:{:§:Q:§:§:§:§;§;§;{gg;Q;};};g;g;;;g;g;§g§g;g§g§g§g§2{2Z:E:§:§:§:§:§:§:§:§:§:§:§:§:§:§:§:§:§:};§:§:§:;:‘··:;:;:§:§:§:§:§:§:§:§:§:Q:§:§:§:§:Q:§:{:§:§;§:§:§:}:§;;:;;;:;;;;};j3};;:;;I;g;g;IEZZIE1§g§:§ZEiiciii:{cf:§:§:§:§:§:§:§:§:§:§:§:§:§:§:§:§:Q:§:§:§;§:§:§:§:§:}:§:§;§;§:Q;g:g:g;;;;;Q;;;};Q7};g;g;g;g;g;g;g;g;:§g§:§:§:§:§:§:§:§:E:§:§:§:§zi:}:§:{:§:Q:{:§:§:§;§:§:§:§;§:§:Q3:;;§:g;§;;;Q;g;g;g;Qggg;g;g;g;g;g;g5;;;g§:§:§:§:§:}:}:3}:§:§:Q:§:§:}:§:}:}:;;;:3;:};}:3;:};;;g;g;g;g;;;g;g;g;1;;;g;g5g;g;g;g§g§;§g§;§:§:§:§:§:§:§:§:Q:§:{:Q:g:§;§;;;;;g;;3:;;;

:;:2:;£:e:;:;:;:;:;:;:;:;:3:;:;:3:;:;:25;:;E;E;E5€3E;E;EgE;E;EgE;£;E5E;E3E;E=E=é=E:E=E:E:E:£1£:E=§:E:£:§:;:E:§:2:;:;:§:;:iz;:;:;:;:;:;:;:;:;:3:;:;:;:5:5:;:3:;:5:;:55;Egi;3555S3552355553gi;S55:E5E=E=E:E:Eri:Eci:2:;:;:;:§:;:;:;:;:;:;:;:;:;:;:;:5:;:;:;:;:;:5:;:95;:;55;ig;335;;E;E;E;E;E;E;E;E;E;£;ä:E;£:£:£:£:£:;:£2:;:;:Q:;:;:;:;:;:;:3:;:;:;:5:;:5;;:5:;:3:3:;;;:;;;E5E;EgE5E;E;E;§;zgégsgézigi:§:;:£:;:;:;:;:;:;:;:9:;:;:;:;:;:;:;:;:;:;:5;;:;:;:3;;:;

äiiE5EEEiEäEEiE§3§Eiz§EEE§EiEiE§E§E5;§3§EEEiii;§E§E§£§2§€§Ei€§€§€§€iE§€iiiiäE§€§€§€§§§€§E§€§€§§§€§€§E§€§€§€§€§€§§EEEEEEEEEEEQE§EéiéiäE§E§E§E§E§E§E§5§3§i§£§E§2§2§£§E§i§€§E§i§€§§§€§E§€§E§€§§§E§§§§§§§§§§§§§§§§§§§E§§EEEEE§EiEEE§E§E§EEE§EiE§E§E§E§i§E§E§E§E§E§E§E§E§E§E§£§£§é§E§§§E§i§§§€§E§§§§§§§E§§§§§€§§§§§§§§E§§§E§E§5§E§€§E§E§§§E§E§i§E§E§E§E§5§E§E§E§E§£§E§£§E§E§E§i§E§EQ§§€§€§E§E§E§§§§§§§§§E§§§§€EE2E2EEEEE§S5EEE§E§EEEäE§EQEiE§E§E§E§£§E§Q§£§i§£§€§2§€§$3;;;gä5ägäg§gä{gi;ägä;§g§;§g§;§;§2§a§s§;§s§z§2isäsäsg6;aisäs;sgaga§s;z§z;e§s;s§;§;§s;;;2;;;;;e;;§;§;;;;;S;%§&;2;2E2Eéäéä2äsäaEsä2äzäääzä2äsäsäzi2iaäsi2;sis;ä2;säsäsä2;6;2Q2§2;;2äz§2§2;sga$5;;s$2;;;agsg;äéésäaääääéiéäéäéäéäSiEäzäsä2%2äsäzäsééä2$2äzä612iaE2äsä2äaE2;2;2{aizisäsäsäeäsäsäaäsäsäzäsézEziaE;S;é§S§ééé§é§%§%ä&§Sä2ä2äääéäéäéäéäaäéääzisézäzäaäaiäsä2§2§2i2§s§6§;§s§s§2§2éz§2SaS;SäääääääéäéäääéäéäSäéäEEEEEESäéäääääéääääézäéäsäääzE5;:;:;:;:;:;:;:5:;2;:;:;:;:;:;:;:;:;:§:§:§:§2}:;;:;:;:;:§:{:;:5:;:;:;:;:;:;:5;;;=;¤;3:¤;¢;¤;::¢;¤;¤;1;:;:E:§ri:E:§:i:§:§:§:§:i:§:izizici:§:§:§:§:i:§:§:§:$:;:;:3:3:;:;:;:§:§:¤:1:=:¤:¤;=;¢:¤;S;¤;S;=;S;r;:;:;1E:E:E:5:£:£:§:§:§:i:§:§:§:§:§:i:§:§:§:§:§:§:§:§:§:§:§:§:3:;:§:;:g:;:=:5:¤:=;¤;=;¤:¤:=;=;:E:;rE:i:S15:E:§:§:§:§:%§:§:§:§:§:E:§:§:§:§:;:;:3;:;:§:;:§:;:¤;¤;;:¤;S:=;=;1;¤;=;S;:;¢;:;:E:;:E:E:§:i:i:E:E:§:§:i:§:§:§:§:§:§:§:§:§:§:§:§:§:§:¤:¤:¤;¤;-;.;.;.;.;.;.;.;.;.;.;.;.;.;.;.;.;.;.;.;.;.;.;.;.;.;.;.;.;.;.;.;.;.;.;,;,;.;.;.:.;::;;;:3;:;;::;;;::;:;:;;::3;;:;:;;;-;:5;:;-;:;-;-;.5-;-;-;-;-;.;-5;.;.;.7-;.;.;.;.;.;.;.;.;.ggf;Z5;Z5;Z:::1;:g::1;:;:;t;:;:;:;:;Z;:;:;:;:~:-;-;·:-:-:—;-:~:~;4-:-:-;-;-;-;-;-;-:-;-;-;-;-;-5-;Z;.;Z;Z;Z;Z;1;I;Z;Z;I;Z;I;I;Z;Z;Z;1;Z;:;I;:;I;:;:·:-:-:-:-1-:-:-:-:-:-:-:-:·:»;-:-;Z;Z;-;Z;Z;Z;Z;Q:Z;¥;Z;Z;Z;Z;2;i;Z;Z;Z;Z;Z;Z;I;I;Z;Z·Z;Z·Z~Z~:»I-I-Z-:-:-:·:-:·:-:¥:?:7:Z:§§5§;§;§;§;§;§;§;§;§5E;E;E5EgEgi5E;EgägigägigégigägägigigigEgigégégägi;E5E5s5ägigigägägägägzgägzgz;s;;;;:;:;:;:;:;:;5;:;E3:;E5:;E;E;E;E;E;E5E;E;E;E;E;S;£;E;E;E5E;E5E;Egigägägä3E5E5Egégägägzgz52525zgsgsggegzgagagE:2:;$=;:;E;E;E;i;E;E;E;E;€;E;E5E5E55;E;E;€;?;E;E5E;S;E;€;S;E;£;EgägägägE5&;£;i;3;&;&;E;;g;;;;;:;:2:2:;:;:;:;:;:2%;?;E;E;E;E;E;E;E;E;E;E§5E5€;S5E;E;E;E;E;E5E;E;£;E;Q;E;E;i;E;£;£g£;§=i:ici:2;:;:2:;E;:;€;E;E;5;E;E;E;E;S;E;E;E;E;i5E;E;E;22;:;1;:;:;:;:;1;:;:S:Q:E:{:Ezi:§:§:§:§:§:§:§:§:§:§:§:3:5:;:§:;:§:§:§:§:§:;:;:¤:=:¤;¢;¤;¢;¤;I;¥;¢;S;:;=E¤E=E¤E¤ESi:E:§:§:i:§:i:E1E:E:E:Zzi:Z:E:{:E:{:§:§2E:{:§:§:{:§:§:{:{:§:E:§:5:;:Q:Q:§:1;Z:Z:¤:I:I;¤;¤;Z;2:1:1;¤EIE:E:£=E:E:i:§:§:i:§:i:E:i:E:E:§:§:§:§:§:§:i:§:§:§:§:§:§:§:{:;:;:2;:;;1:Z:¤:¢:1:¤:=:=;¢:¤;¢;¢i¤E=E=E:Er§:EIiririririräri:E:§:§:§:i:i:§:§:§:§:§:§:§:§:§:§:§:§:§:§:§:¤:¢:¤:¤:=:¤;¤;¤;=E¤EZESE=E:E:E:E:E:E:E:§:i:£:§:§ri:§:i:§:§:i:§:§:§:§:;:—'-I-Z-1-I~:—:·:-1-:-:-:·:-:-:—:-:·:·:~:·:·:·:·:-:—:¥:!:¢:¥:?:?:¢:Z:¢:Z;1:21;¤;Z:Z;¤;¢;I;5:1;5;I;1;I;I;I;I;I;Z;Z;:;I;:;:;:;2;:;:;:;:;:;:;:§:§:§:§:§:§:§:§:§:§:§:§:§:§;§:§:¤:Z;§:Zi:1:Z:Z55;1:2;1;-;2;I;Z;i;Z;Z;:5;:;:;1;:;:5;:5:;:§:§:§:f:§:§:§:{:§:§:§:Q:§:§:§:Q:§:{zi:Z1f;Q:2;Z:2;1zf;1;f;I;¤;2;I;I;I;I;I;:;:;:;:;:;:55;:;:;:;:;:;:;:§:§:§:§:§:§:};Qzi:}:fz};Z;}:Q;Z;Z;Z;Z;Z:Z;I;Z;Z;Z71;Sg!;:;:5;:;:;:;:;:;:;:;:;:;:§:§:§:§:§:§:§:§:§:§;§:§·Q:Q;Q:Q;};Q:§E§§EQÄ}E§EQE§QEQEQEQQQQEQQZEQEIfZEZ{Z{Z{2{1{Z{tf:QZ{:§:§:§:§:§:§:§:§:§:§:§:§:§:§:§;§:§:§:§:Q;§:Q:Q:§;}:}:Q;Q;§:Q;Q;Q;Q;Q;Q;Q;};Z;Q;Z;Z;I;I;Z;I;Z;Z;I;2;:;:;Z;2;:;:5;2{:fz;:{:{:§:Q:{:Q:Q:}:Q:Q:}:Q:Q:Q:Q:Q;Q;Q;Q3}3};Q;E5};Q5E;Q;Q;I;1;I;Z;$:;:;:;:;:;:;:;:;:;:51;}:;:;:}:§;§:§:§:§:Q:§:Q:§:§:Q:Q;Q3E:3;Q:Q:§;};};Q;Q;g;Q;;;Q;};Z;;;:;:;:;:;:55;:;:;:;:;:{:;:;:{:{:Q:E:f:Q;E:Q;gf;Qgf;Q;Q;Q;Q;Q;Q;Q;Q;Q;g;Q;g;g;E;:;:;:;:;:;:;1;:;:;;;:;;;:;:;:;:;:;:‘‘-··~·····-·—·—·—·F·—·F·¢·¥·¤·Z·¥·F-?-F-F-I-F·¥-¢-¤·¤-¢~¢~¤-S-S-1-Z-1-14·v~Z~r~r·1-:-:+:-:~:~:—:·:·:-:-:-:—:-:-:-1—:¢:¥:¥:Q:¤:¤:¤:Qrf:Z:1:Q:frä:¢;fx!:¤:¤:¤:Z$:1;S-!;I;g;g;g;g;g;g;g;g;g;g;g;g;;;g;g5;;;5g;g;g;:;:;:Q:;:Q:;:;:}:}:;:;:3;;:;:;;;Q;ggg;g;g;g;g;g;g;g;g;g;g;g;g;g;g;:;:;:5:;:;:;:;:5;:;:;5:;;Q:Q:5;§:g;;;;:g;g;;;g;g;g;g;g

Z*C·Z·I·Z·I-2-Z·I-2-1-I~Z-Z·I-Z-Z-;-Z-Z·$:::::1:1:;:::;:;:;l;l;l;Zj€;€;€;Z;Z;Z;C;Z;I;C;I;Z—Z—I·Z·Z-}I-Z-Z-Z-Z:Z:§:Z:::;:ZÜj:;Ü;:;::Ä:T:Z;Ö:Z;Z;€;€;€;];C;Z;Z;C;I;I;Z;Q?=?*€E€E?E?E€252?$€;?;€$¥;€;€=€;E=€=E=5=E=E=E=E=E=E¢E=E=E¤E=§=E:3=E=E¤E:E¤&¤E¤E=§¤£:£=E=EääääääääääääääääzääE2E55sE;E;€;E=E=é¤E=E=E¤€¤E=E=§=&=5¤Eé=§=E=£:5:2:2:2:2

gz5:{:3:5:;:5:5E5:5:=:=:¢E¢E=E=E=E=§¢E=E:E151E1E:£:2:i:£:i:£:§:£:£:i:§:§:§:§:;:;§:;:3:;:;:;:5g:;:5:§:g:;:5E=E¤E=5=E=E=E:E=ErE1E:ErE:£:E:E:E:ErE:§:§:£:£:§:§:§:§:§:i:{;;;:;;;;;;;;;;;:;I;g5gg;g;g;g;g;g;g;;;:;;;:;:;:;:5:;:;:;:;:;:;:;:;:;:5;:;:;:;:5:;:;:;:;:;2;:;:;:;:;:;:5:;:;:;:5:;:;:5:Z:Z:Z:¤:¤:1:Z:=:¤:=:1;I:=:¢:¢;¤;=;¢;I;=;I;¤;=

EG)¤E=E=E=E¤E=E=E:5:E:E=E1E:E:E:E:£:E:i:;¢:¤:¤:¢:¤E¤€¤E=E¤E=E=E¤E=€=E¤£é=E=E=E=E=E¤E=ErE=E:€=E:E:i:$:E:§:£:i:$:§:§:§:§:;:§:¤:E:¢:¤:=:¤E¢E¢E=E¤E=E¤E=E¤E¤E=E:E¢E=E1E:E=E

*" E=E=E=5=E¤E=S=E¤£=E=£=£rE=E:i:£:2:Eri:E5if$5EiiiEE?$5;E;?;E;E;E;5;E;S;E;5;E¢E=E=E=£=S=E=E¤E=E=E=E:5=EE=E:E=E¤E=i=E¤i¤Eé€E=£€E€£€E559EF5EEE;€$€&E;E;Z£€;E;€E€;E=5;E=V!A ‘ E;E;i;i;E;S;E;Egigigigicäziziz3:i:i2§:§:3:5:5:§:;:5E;E;535;E;E;E5E;E;EgigigigigigigigigigigégigigEgigigigigigi:3:Z:;:{:5:9z5:;:5:5:5:5:5:;:5E5E;E;E5E5E;E;E;£;E;E;§;$;E/J:'Q4->

‘ E;EgiägE;EgigägigEgigägigi52335Q;E;§§£§2§ZiE§£§$§£§i§£§&§;§§§2§25;E;§;EzS;€;E;E;E;E;E;E;S;Q;E;E;E;E;E;E;E;E;E;E5é5E;E5E§E§E5E§2§£§£§E§E§E§E§5§$§&§Q§E§E§E§i§E§i§;5$€E<¤ä; isä2@2;;;2i;§2§2§;§s§2§s§;§2§;§;§;$5;%:5zäzéeäeäaéz5;%;E;E;é;E;ä;%;22252gäéäééiääsézääééäeiäiääéiaääésäsiaäsäziaésisääeisäzäaäzEäézäaääsäsäsäzäaéaä252ä;E;%;S;&

--;V;• ;»3.;Z;Z;Z;I;I;2;I;1;Z;I;1;Z;1;:;:;:5;:;2;:5:;;;:;:;:·:-:-:-:~;-:-;:-3-;-5-;-;1;Z;Z;Z;1;Z;2;I;I;Z;I5;:;:;:;:;:;:5;:;:;:5;:;:;::1;;;:;:;:;:-;;:~;i;Z;Z;Z;Z;Z;I;Z;Z¥ ·I-Z~Z-I·1-Z·I·Z—Z-C-Z-:~:-:-:-:·:~:·:·:·:·:·:-:-:«:·:!;Z:Z;¥;Z;1:Z:€:2:2;Z;I;Z;I;I;I;I;I;Z;I;1;:;:;:;:;:;:;:;:;:;:5;:;:;:;:-:;:-;-:~:·:-;-;-;Z;-;!;1;Z;Z;Z;Z;Z;I;I;Z•-e { €;E;E;E;E;E5E5S55;};E;E;E;E;3;E;E;£;E5E;EgägigigE;£;£¢E:E:£:i:E:E:E:£:£:£:£:§:§:£:;:;:;:;:§:;:5:;:;:;:;:;:;:;:5:5:3:3;;:;:;:;E;:5E;E;i;5=E¤E¤E¤E=E=E¤E=£¤i:E:E=5:E:£:§¤

’; 5;E;E=£5E=E¤§¤E¤E¢E=irErErärärä=E13riri$:3:;:;:&:;:§E;E;E;E;E;$5€;E3E;E5i;E;E;§;Egigägigigä5£;£;£;i;2:;:ä:;:2;:3:;:;:;:;:5:;:3:5:;:;:;i;EgägégögägigägägägägEgigzgäg:s 7 ¤ E;Egsi;5äiiiääääéäéz52äääsfzä2EésäääääsfzäsäaE25;%;5;E;5;Eai;E;E;E;E;€;E;ä;§;£;E;£;S;E;E;E;£;E;E;&géäääéääEEEE?E?E$2F2EE€2€25;?;52E2¥;ä2€2ä2E2E;?;ä;E;E;5;E;E;E;E;E;m 1

•—2;2;a;s;2;a;2;;;2§2§2§s§;§a§sisgzäsä;§2§;§;§;$2;;;S;232;;äeägsgsgsgagagsgsgzgag;;;;;;;;;;;;s;s;;;2;s;2;2§;§2§;§a§;§2§;§2§2ia$2§2§2§;E;252;%;gégägägsgsgsgsgzgsgsgag

··-• g g ;ää;§2§;§;§z§2§;§;§;§s§;E;E;E;E;S;E;E;§;5;E;SgägäzS§E;i§S§EééäéäääääääSi2iäiääääsi2§2§2§2§;§2§z§;§s§;§;§2§;;aE;5;é;§;55352;;;€;&;€;i;Sääiéäéääiääéäéääi2§&§2§2§2§2§2> I •*

-EEiözäiääiäEiäzäE;E;E;E;E5E5E;E3E;E;E;E;E;E;E;E;E5253;ägigi:3EEEääziiäzääE;55€5E;E3E;E5£;E;E;E5§;E;E;E;E;E5E;Egägi52;igig2;;;ig};sg;5;;35;;;;;;;:;;;:5E;E;E;i;E;E;E

Q Z*’ 2E;23Z;E;E35=E¢E;E=E=E¤E¢E¤5=E=E=Erä=E=E:E1E12:E:&:i:E:£:iziiäE;E;E;E;E;E;555g5;E;E35555552gigigigi:E:£zirizi:E:E:;:2:;:5:5:;:;:;:;:;:;:;:;:;:5:;:gägzgägigigigigiggiQ) « ¤ Z 55;E;E;E5E;E;E;E;§§E§EFäiääéäEEEFEFiääöiäääää;52P;5zf;E;E;E;3;E5253;;E;E;E;E;E;E;igägägägägégigäg2§£;2§;§;§;5;§;E;?;52E;i;E;E;E;E2E;E;E5€;E;§;E;$5E;£;E;£;EgägégägagäYg II; 1 g g 2Esäsäzézä;ésäaäsäää2Eääafääääääiääéäääääé§Eéääéääéäiääääääsäzisäaäsä2Eäfzäääzä2E;E;EsS;E;52&;%;525sEaäaäaäsäääzéäääääéäääéäääE§S§é§é§E§2§2§2E2§2§;§;§;E;§;§2%;ä;56E2E

? ‘ i“=O-3 ,. ,, E{Egg};§E§E§E§EÜEÜ5§EÜEÜZÜEEEEEEiÜZÜEÜ{Ef?E1Z€{Efiiifääfä䧀§€§€§€§€§€§Ä§E§E§€§E5E§E§€äEääfäf§E§E§E§E§EÜEEEEZܧÜEÜEÖZÜ{Ü}ÜEZBEEEZÜZEEEE$§€§€§€§§€é€§€§E§€ä€§€§S5 {+:5 5 g_:¤g

ä fsäéääsééäääääääEEääääääéäéääääääääéäééééEéäéäééäEääiaäääsi2;;;$2;;§2§2¥;5sE2€;S;&;Ez€;&;é;Eéäéig2Esäääaie§2§2§6§2§2§s§2§6§2§2§z§2§;§;;;§;§;§;;;§;§;;;;zégägggägggzg•-• Ä —izuS-mGJ

I} 1,_’¢·‘

ggigäé :3;3S=E=E¢ESErE¤E¤E:i=E:E:E:E:E:E:Er3:§:§:£:§:£:E$1;:;:iz§:;:;:;:;:5:5:5:;:;:;:5:5:;:;:5;;;5:5E5E;E;E;E:3:Sci:ici:E:£:i:E:i:i:§:§:£:§:§:;:§:2;:;:;:;:3:;:;:;:5:;:5:;s: , 7 £:;=;„;1;:2=;:2: .5; E:2räfääää2€;€2€;E;€;E;EsS22?2E1E;S3E;£;Egäeä52;5;E;£;E;E=ä¢E;E=E=E=E¤E:E:52:2:2:E:£=&:;:;=;:;:;:;=;:;%;5;E;E;E;E;E;€;E;E;E;E;E;E;E;E;E;E;E;E=E¤E=E=E¤£=i:E:E¤5=E=£:

3 · :¢;¥:¥:¤:Q:¢:¥:¤;¤:¥:¤n1: :{:5:;:;1;:;:;:{:5:;:5:5;;;5;;;3;;;;;g;;;g;;;;;g;g;g;;;ggi:i:;:Z:§:§:§zizi:§:§:§:§:§:§:5:§:§;5;;:§;;:3;;;:;:;;5:;;;g;;;;;g;;;gg;g;g;g;g;g;g§:Z;§:§:§:§:§:§2}:;:;:;CL 1 E:E=E1E1E=E:E:5=Eriri=E=i=E=E:i:E:£:E:$:i:i:E2:;:Z:;:5:5:;5E;E;E;E;E;E;E5§;£;§5E;E;E;E¢E=E=E=£¤E:£¤£:E:i:E:E:§:&:i:£:£:i:i:§:;:;:3:5:;:;:;:5:;E;:;€;E;E5E55;E;E5E5E5W U - 555555gigigEgigigigä55;:E1{1Egirä:E:i:§:i:E:i:i:i:Q:§:§:§:3:;:;:;:i:§:;:§:;:;:;:;:;:;:;E5E3E5E;E;E;i;E;E5EgigigigägE;£:§:£:E:§:i:§:§:§:§:§:§:;:;:;:;:;:;:;:3:;:;:5:;:w ~ ¥äSäääéäääéäéééäéäéééäéääééäéäéäéäéäääääéä2§2ä2§2§2ä2§2§;§siz§s§z§z§s§2§s§2%2§s§;%;5Eéeääéäéäéäéäääééääéäéäääéäéäéäzääzäzéaä2§2§2§2§2§s§2§2§2§2§2§2§2§6§;§;§s;z;a;s;s°’ =Q¤E¤E=E=E:E:E:E:£:E:é=§:£:E:£:£:§:;:;:§:;:;E;:$E3E;?;E;£;E;€;E¤5=E=E=E¢E¢£¢i¢E=E¤E¤E¢E¤E=E:E:€:E=E1;r£:i:E:E:i:&:£:;:;:§:;E;E;E5E;5;E5E;E;25E;£;E;£;5;E¤E;E=S=E=E¤E=E“‘E ‘ iE§2§aizäää25zäaäsäsE;€2E;5sE:5;%1EzE;E;Ezä2S35;Egäeégi5E5EgigäiiääEäiäéééäääääiäié$2§s§2§;§2§2§2§zisösä;E;E;ä;?;?;€;E;EzäaäeE;E;E3ä;€;E;ä;&;&;Egigigägiiigiiäääisääiz

¤ Z;::;:::;1E:£1E:i:£:5:E:E:E:E:E:E:£:£:E1E:Ezi:E:E:E:aizi:{:äQ1;:5:{:{zi:5:3:5:;5:3:5:5:35:5:5;5:;:5E5E5EigE35gi5EgigigE5E5E5Egi3EgigigigigZgigigigigigigigigigigi

Figure 3.5 Model Generator Execut1on

Page 40: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

I

3 2

IIIIIIII

I{ I

III IIIIIIIII Ié

IFigure 3.6 The Process Interaction Program Screen

Page 41: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

n

33

3.3.1 The Image Editor

The Image Editor consists of a 1150x900 scrollable

canvas with a row of buttons situated directly above it (see

Figure 3.3) [Sun 1988b, p. 207]. The current mode of the

Image Editor is displayed as the frame label at the top leftcorner of the frame. The button panel consists of buttons

labelled "Pen", "Line", "Rect", "Select", "Load", "Save",

"Model", and "Quit" [Sun 1988b, p. 208]. The following is a

detailed discussion of the functionality and implementation

that each of these buttons provides.

It should be noted here that the "Quit" button is

active any time there is not a blocking requester.

Selecting this button calls function quit_proc(). This

function de—allocates memory and quits the program.

3.3.1.1 Pen Mode

Pen mode is the default mode of the Image Editor. In

this mode it is possible to draw freehand using the mouse

with the left mouse button depressed (see Figure 3.7).

Pressing the middle mouse button while in pen, line, or

rectangle mode erases the pixel currently being pointed toby the mouse pointer. This can be used as a limited erase

capability.

Selecting the "Pen" button calls the function

pen_proc() of the objed program. Pen_proc() puts the editor

into pen mode and changes the SunView event handling

Page 42: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

l

34

Image Editor ·· Pen Mode ·Line Rect Select Load @ Quit

!¤Figure 3.7 Image Editor Pen Mode

Page 43: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

263'

function to top_event_proc().

Top_event_proc() executes all events pertaining to pen,line, and rectangle modes. In pen mode, top_event_proc()utilizes pw_put() to set the pixel at the current mousepointer position when the left mouse button is depressed.Thereafter, pw_vector() draws a line from the last mouse

position to the next mouse position as long as the leftmouse button remains depressed. This means that curves can

be drawn as long as the mouse is not moved very quickly. Ifthe mouse is moved rapidly, the freehand drawing begins totake on a segmented aspect due to the large change in mousepointer coordinates between SunView events. This designdecision was made in order to prevent the occurrence of

"dotted" lines when using rapid mouse movements." The pen, line, and rectangle modes also ‘support an

erase feature as mentioned above. While the middle mousebutton is depressed, pw_put() is used to clear the colorvalue at the present mouse pointer coordinates. No

provision for fast mouse movement is supported as when usingthe left mouse button. Therefore fast mouse movement

results in some pixels being skipped while erasing.

3.3.1.2 Line Mode

Line mode is entered by selecting the "Line“ button on

the Image Editor control panel and is used to draw lines onthe canvas between any two points (see Figure 3.8). The

Page 44: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

I

E3 6 A

Image Editor — Line Mode IÜ Line Rec! Select Load Qui t

·· 3 3 z 3 3 3 3 3 eq 3 mg

I

Figure 3.8 Image Editor Line Mode

Page 45: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

J37

first point is selected by moving the mouse pointer to the

desired position and depressing the left mouse button.

While the button remains depressed, the user may move the

mouse pointer anywhere on the canvas and a continuously

updated line between the first point and the current mousepointer coordinates is drawn. When the line is positioned

correctly, releasing the left mouse button freezes the line

in its current position.

The line mode is implemented similarly to pen mode in

many respects. Function line_proc() of the program objed is

executed when the "Line" button is selected. This function

places the editor in line mode and the frame’s SunView event

handling function to top_event_proc().

When the left mouse button is initially depressed, the

pixel at the current coordinates is set with pw_put() just

as in pen mode. Mouse drag events are handled differently

however. Instead of drawing a line from the mouse’s old

· position to the new position as in pen mode, two lines are

drawn using an exclusive—or (XOR) logical mask. The first

line is from the original mouse position to the mouse’s last

reported position. The second line is from the original

mouse position to the current mouse coordinates. Since the

logical mask being used is XOR, drawing the same line twice

has the effect of erasing it. Thus while the mouse is

dragged with the left mouse button depressed, the editor

continually erases the line at the old mouse position and

Page 46: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

38

draws a new line at the current mouse position.

It should also be noted that attempting to draw twolines on top of each other results in the second erasing thefirst where they overlap.

3.3.1.3 Rectangle Mode

Rectangle mode is entered by selecting the "Rect"button on the Image Editor control panel and is used to draw

rectangles on the canvas between any two opposite corners(see Figure 3.9). The first corner is selected by movingthe mouse pointer to the desired position and depressing theleft mouse button. This corner remains fixed for the

remainder of the rectangle drawing process. While thebutton remains depressed, the user may move the mousepointer anywhere on the canvas and a continuously updated

rectangle with opposite corners at the first point and thecurrent mouse pointer coordinates is drawn. When the

rectangle is positioned correctly, releasing the left mouse

button freezes the rectangle in its current position.

Implementation of the rectangle mode is virtually

identical to line mode. Rec_proc() in the objed program

puts the editor in line mode and sets the SunView event

handling function to top_event_proc(). Instead of drawing

single lines however, rec_draw() is called to draw four

lines that comprise a rectangle with opposite corners at thespecified coordinates.

Page 47: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

I

39

[Image Editor — Rectangle ModeLine nec: saiooz Load quit

{,älliw ._ mg

E

„_ gg g

Figure 3.9 Image Editor Rectaugle Mode

Page 48: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

40

3.3.1.4 Select Mode

Select mode is entered by designating the "Select"

button on the Image Editor control panel (see Figure 3.10).

The select mode is provided so that the user can select any

portion of the canvas for duplication or in order to copy

the selected image to disk. The image selection process is

akin to the process of drawing while in rectangle mode. The

first corner of the image is selected by moving the mouse

pointer to the desired position and depressing the left

mouse button. While the button remains depressed, the user

may move the mouse pointer anywhere on the canvas and a

continuously updated rectangle with opposite corners at the

first point and the current mouse pointer coordinates are

drawn. When the rectangle is positioned correctly,

releasing the left mouse button selects the image within the

boundaries of the rectangle (see Figure 3.11). Once this

process is complete, the user may duplicate the selected

image on the canvas by depressing the middle mouse button

(see Figure 3.12). While the button is depressed, the image

appears on the canvas and follows the mouse pointer. When

the middle button is released, the image is fixed. Thisprocess may be repeated as many times as desired until a new

image has been selected with the left mouse button.

Seleoting the "Select" button on the main control panel

executes function select_proc() of the objed program.

Select_proc() puts the editor into select mode and changes

Page 49: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

4 1·*—n-

‘䀧€§€E€§€§€€€€€§€?€$€€€?€€€€€?§?€€€€€€€?€€€i€?€?€?€5€?€?€€€?€?€?§i€€€?€€€€€?€€€€€?§€EE€E§E§ä§§§€§€§€§€§€§€§€§€§E§€§€?€€€§€§€§€€€?€?€E€F?E?€€€€€?€?€?€€€€€?€€€€€€€E€?€€€F€€€€€€€F€ESF?E?EBS?§Eäiääħ€§€§€§€§€§€§€€§§€§€?€§€€€?€€§?iiiEE?€€€?§€€€Ä€€3€€€E€€€€€?€FE?EFE?€?€€EIEEEE§€§€§€§€§€§€§€§€§€§§§€?€€€?€€€€€EÄ?€€€E€?€€€?€€€E€€§€EEEE€EEEEEE?€€€?€E€€€€€€€€€€§€€E§Ä§EE€§€§€§§§§§§§€§€§€§€§€€§§€€€€€€€i€?€€€?§€€?€E€€€?€€€?€?€€Ä?§?€€€€€€€€EF?

äé5E5E5EEEEäääéäääääéäéäéäéäéäéäéäääéiéäiéSäääéiéäääzéääéäsäéäéäéiääéäsäsäsäsäs§2§2§2§2§a§s§2ä2§2%af?äaéaääéäääääääääääéääEEäSEEESESESSEééäSE2ESäéE2äEEäéä2ä2§ééSäsäsäsäsäéäaäsäsäsäsäséaäsäsäzäsäsäzäéääääéäéäéäéäéäEEäEEäéäéääééäääéiéäääééäézäääéäaééäsäeäsäsäsäääz§2§2§2§s§s§s§2§2§a;2§a;säsiaäääéääééäéééäéäéääääééääiääséäééäsäéä2§S§2§s§2ä2§2§2§s§2äzäsäsäs§2§2§2§;§s§6;2§;;;§§E;;i5äS?EE2éäéäiéäéäéääéséäéäéäääääééäéisäsääääzisäsäizäzäzäsäsäaäaäsäs

ggägégägigägägägäg§;§;§2§säsäsääsäz;s§s§2§s§:;s;;;s;;;e§;;a5;;;55;;;;;;;;e;;56%izaäééäéä2äzäaiéäeäeäeäa52aéaézizääeizäeä2E2;;2E2§2;säz§z§2§z§z§2§2§a§6;z;2;2;s;z%sQgsis;s%;é;é;2sS;é§%é2äéä2äS§2ä2§2äsä2§2§2§2§2äzisäääsäääsé2§&§:§2;2§2äs§2§2;s§2§säsäsäsäésésEzéséääESäéäéäéäéäéäéééäéäéäéäéääääääsäsäéäsäéäsäsäziaäsäsäzäsäzäsäzäézäsSzäzääésäE6äSäääääSäéääiéäéäéäéäéäéäéääéääéäéééi2äéééäzäéäääsésisäzääsäzä252S2¥2%z¥25s%s¥2%§%§%§%䧧%§S§5ä%;:;:;:;:;:;:;:;:;:;:;:;:¤:§:¤:¤:¤;1:¢:¤:5:Szi;=zi;i;S;¤;¢;Szi;S5:;¢;:;¤;:;:;:;:;:i:E¢E:ErE:i:§:§:§:§:§:i:§:i:§:§:§:§:Q:}:§:§:¢:§:¤:¤:Z:iz¤:¤:¥:Z:¤:¢:S:S;=:=:=;Z;is;ii=;i;=ES;iiriiiriii:2:2:5:3:3E:ErE:§:E:i:i:§:§:§:§:§:§:i:§:§:¢:¢:§:¤:¢:¤:Z:¤:¢:¤:=:I:=:=:iEii!EZEZEli!EZE=Z={SEE:5:5r{Evi:E:{ri:§:§:E:irf:E5:%Z:I:¤:¢:¤:¤:¢:¤:¢:¤:¤:Z:¤:¤EiE¤E=EiESEZEZESEiE=E¤E¢E¤E:E:E¤E=E:£:§r§rE5:¥:¢:¢:¥:¥:¥:¤:¥:¤:¥€¥E¤:¥E¢E¤E¤E¤EZEZEZEFEZEYEZSZESEZEIEZEZESEIE$2:;:;:2:;:2:;:2:2:;5;:;€;£;E;%aE25;E;%;€;S;E;E;E5E;E;5;E;£5£;E;E;§5E;E;E;E;E;E;E¤§¤i¤£=E:§rE:$:£:&:£=£=2:22:;:Ec2:;:;:2f;:sE2E;5;E;E;?;E;E;S;S55;E;E;E;E5%;E;E;E;i5§;£;E;E;E;E;E;E5E:£=E=Eri:E:£:£=£:2:£:2¤§:2:§=&:;:&:$=2:2:2525;:25;E;E;E;E5E;E;E;5;E;E;§;i;E;£;E;Egi5E=E;E=E¤£¤%=£:ä:E:E=é=E=2:E:E:&:£=£:2:säääsE;5;EzäzäzäaäzääE;é;5;E;E;E;E;E;E;i;E;€;E=E¤E=E¢E=E:E=£¤£:£=E:£:£¤2:E:SF2?2P2äafsiä5;E2EaizäzézézE5E;S;£;?;§;§;%;E;S;E;€=€=£=E=£=E¢E¤E=S=* ;:;:E:i:§:§:i:§:§:§:§:§:§:§:§:§:§:Ezi:§:§:Q:Q:§:§:{:5:5;;:;:§:§;3:§:3:3:;;;:3:3:3:g;;E;E;EgE§E5{gi5EgigigigEg§;Eg§gE;Eg§ZE2Eri2E:§:§:§:§:E:£:§:{sici:§:§:i:§:§:§z{:Q:}:;:5:§:§:§:§:§:§:Q:555552;QEQEQE;EgfgigigE;S55;EgigfgEgigigfgäziritfrf:i:§:E:§:§:§:Exi:}:Qc{xi:}:E:§:§:{Ef:§E§5§E§E§E5E§EgEgE;E;Egig};E}E3}:{CEE:}IEZESiri:ErE:§:i:§zi:Z:i:E2E:§:§:E:Q:§:§E§FQ?}E§€§E§E§E§EQEQEQE3E5EQEQEZEQEi§i3iE=EIEr2:5:E:E:E:§:§¤§:i:E:E:}:§:§:§:§:iEiE§E§€§E§E§€§E§E§2§§s§2is§E§2§2§2§2§;§s§s§;§;§z§2§;§;§;§;§a§;§;§;§;§;§;§;§;§;§;§;§;§;§;S;E;S55;E;E;EgégégS;Sg2;E;§;§;Egägägägä;2;£;2;2éziéiäiäi2§2§2§;§;§a§;§;§$§;§2§;§2§;§;Q;§;§;€;§;E;E;E;€;E;E;E;E5E;£;E;E;§;%5E;Egägägigägägägägigägägägégagz;2§;§2§z§2§2§z§2§;§2§2§s§;§;§;§s€;E355355;555;E;€;E;E;5;%;€;£;E;S55;Egä3ägägägéiä§2§&§2§2§2§£§z§2§2§2§2§2§;§2§z?;EeE;P;E2EzäsäzäzE2$5;%;E;E;S;S;E5E;é;E;E;€;S§&;éäääéiääiéäisä2§£§2§2isäääsäzisEzisäsäzäääézäaäzäxEsääaäzääagäégägägägägégägägägägägägägägäsäsäsäsäsä2ä2äeäässa;s;2§s2:;626;:;:;e;§;§;§;é;§;§;§;ä;§;ä;§;§;§;é;ä;ä;§;§;é;é;é;§gig;5E;E5ä2;%5ä22ésäzäzäsäs;z;s;2;2;z;2;s;s;s;§;s;§;é;i;§;E;E;ä2%;;äzé;égägägägägégägägägégägägägäsäsisäeéeäeäsäsäeäaäs2222aésäsäzäsä;;z;s;ä;§;é;§;§;§;§;ä;égägäsägägéségägégégä;ägägégéz$2äzäeääsäsäsäsäsäsäzäzässz;z;s;§;§;ä;ä;ä;ä;é;é;ä;§;é;§;é;ä;§;é;ä5;§;ä;ä;%;ä2ä6é;ä2;zésä2ä2;222;;s;e222;22E;6sääzää;ä;§;ä;§;é;é;ä;é;§;é;ä;ä;ä*52%6äzäsäaäzäszäsäzssäsäzäeä;;§2é;§;é;§;ä;§;%;ä;é;§;§;§;§;é;é;ä;é;é;é;ä;ä;§;is$222222%%ééeääsäeä62622äeäsäsäaäsäaääsézäääéäzääääséääsäääääsääé2ä;ä5é;§sésägé2ä;§6§2éEEéézéäéeéeäsézäzäsäsäzésäeéeäeäeäeäséeézäääéäääääääéäéäääääääääéäéääséé;§;§;é;ä;§éäSézééééßäsééäeéeäsäeéeäsésääsäeéeäe2s@2ézääéääääéääääääääääääääésS;éääéääääsäéäéééäééééeäéäéééäsézéaéééééäésézéeäsäe26éäéääääääääääésäää;é;§;ä;§;ä;§;§;§;éé§é%ääéäääéäéééäéäsääééäééäzäéä

iéifääääiäiääF252Es5Eä2äsf2?;5s€2525;ä2Es€;E2%2S;E;ä;E;E;S;E;E;E§E§EéäääääBSfifääääiäéfEääääEEFéäääää252Eääääéäs5252E;EsE2E;E;ä;5;E;S;E;ä;€;E;é;äE;E;S;égigägägägägéäéiääääääéfäfsfäääfsäääää;E;E25;E25;E;EeE;E2E25;E2E2E;5;E;EgégägigägégégägigägägägEgäääöäfzöääääää2Fzäeäaäsäzäaä55;E;E5S55;E5E;E;E;E;E5E;Egigégägigägägégégägägz;2:2%ai;Fäfsi2€zE2€;E;S;E;E5£;ä;E;Egägigägigägägägigégägägägégägsgsgzgag32;;;:2:;:;:zE;E;E;E;E;€;£;§;£;ä;E5S;ä5E;E;E;E;252ä;2$2$2;;;§2§;§s§s§s§;§2§2§;§2§s§;§;§;§;§;§;§;§;ä;§;2;2;2;ä;2;£;é;ä;2;2;2;2gaga;ääisäzäaä2ä;$2;;;§2§;§;§s§2§;§;§2§2§2;2;;;s§;§;§;;;§;§;§;§;S;E;;;E;S;2;Egägä;E;E52;;25ägsgäiä§2§sisizisis§2§s§;§s§s§;§2§;§2§;§2§2§e§;§;§5Q2§;§;§;§;;;§;E;£;£;E;&;%;S;Sgégägägägäg2§2§2§2§2§2§2§2§2§;§2§;§s§s§2§;§s§;§s§;§;§;§;§;;;§;é;;;E;E;§;&;S5%;&;2;2;25ä32;;;2;25Eis;ia§2§2§2§s§2§s§a§;§;§s§;§;§;Q;g;g;§;;;§;S;§;E;E;£;é;£;2;S;2;2;;2;25252;§s§;§s§;§;§s§;§s§;§;§;§

‘···‘············ ·*-*._=*=***=*=*¢*=**=**·=*=**=**=*¢=°=*==*¤*=*=*=*==*=*=Z¤*¤*=====¥=??=€=¥F%=F=f=?=%=?=%=§2§2§2§2§2§2§2§zisäsäéäiiéääääiéäEFääääääääääääääääéääääääääéäééääESääéäääääiääéäéääääääéäääääééääääääifäääääFäääfäääääääfiääfifäääääääääääfäääFääääääiäääääääääää

'@ä1165ä;§;ä;§;§;ä;ä;ä;ä;é;§;ä;§;é;ä;é;ä;ägägégägégägägägägägsgégägägääaäzäzässäéäääääääéää2é;é;ä;ä;§;é;i;ä;ä;§;ägégägägägégägägäg2;ägégägägä2;äe;s;s;e;s2s;2;s;z;2;§;ä;'

iaßzä §§ä§§i§2§2§éiääaääé222;2;;§;§;§;§2§;§2;;§ais;2§2§;§;§2§s§s§;§2§2§§§§§E;§§§§§§Eäiiäääiäiääééääiéäz§&§;§s§2äaääääizä2§2§;§2§;§2§s§a§s§;§;§;§€§;§§§§§§§ä§§§§§§§§§§€€§§E§5

ä?·¢« Z;;;;;5;;:;;;;;;;E;E;E;E5E;E;E;i5S;E;E;EgigigigägigägégE;E;i;E;£;E;i:;:§:;sz;zi;5;55:;;gz5;;;;E;E;EgE5E5E;E;E5E;E;E5E;E5E;E;E;E;E;E;E;E;E;E;E:i:i:;:;:;:;:3:;:;:5;;;25;;;gägigägagigigäzizä:2:;:2:;:;:;:;:;:;:;:;:;:;:;:;:;:;:;:5:555:55;2555532;;E;E;E;£;E5E;E;£;E;i;E=igE:E¤E:E:5:&:£¤E¤i:E:£:E:E:3:;;:E:§:i:EEiE;€;E£5;?;E;E;Eäizizi¤ Eä626;;;ä626;$222;;;E;äsääE;§;§;ä;ä;ä5äsää;izä;ä;é;ä2ä2éeäeä2222äeäeäeé22222222säséeäsäzäsä2;zäääaäEääääéääsäääääésä2E;éäéääséääééééEEéééäséeäsésééézéséaäzäeä

Z {1; §2;;;§z§2;;;2;;§;§;§;§;§;§;ge5;;;;S;E;i;i;S5égieégägäääiäiääEääääiéiä$2äziaäais§2§z§2§2§2iziääsiais§;§;§;§aE256Esäaäzfzé;E;5;E;ésieääääääiéiääääääääéääiäääéääiiää_;Fi. 335Egägfgigigi;E;Egi555552;;E;i;i:E;€:§:§:Z:§:3:§?§ziEi?}E{SEE;E§5;E5E;E;E§E;E5i;igigigigE525EgEgi;E;qigägégEgigägigE:§;£:§:§:£:iE{E;E;E;E;E§E§E§E5£;E;E3E;E;E;€;E;E

ää zfääzäaésä2E2E2%;äzä2%ééääääéäéééfäfäääääääääSéäääéääääééäiéäsiz§2§s§;§2§2§;E2€;S252Eaäsäzä252E2E;%;E2EzäaéeäiéEEéääääääéiEäiäéäääääääE2äääsiää;§;§a§;§s§s§2€;%sE2äz5Gl'°§

ä" ;E;E3E5E;E;E;E;$;ä;E;E;E;2;&;§;égégigégé:E;2gzzz:;f2:;E;E;E;€;E;E;E;E5E;E;E5E;E;i;Egi;EgägigigEgigägégägägägägägzgägagegz:;:;:;:5:;:;:55;E;:;E;E;£5E;E;E;E;E;E;E;E;E;£Z, 55 g2;2;;;;;;;ägegsgsga52;;;2;252;;;ägsizgsgs§;§s§;§;§2§a§2§2§e§s§;2;2zäzzgagegzgsgagegagsg2;2;a;;;;;;;;;;s;zgzgzgsgzgs;2§2§;§s§2§;§2§s§2äs§2§2§;§;§;§;2;2;2;25;;;s,_ 1:/; _-;.:-3.3.;-;.3.;.;.;.3.gi;I;Z;I;I;Z;:;i;Z-:;Z·I—:·:-:·:·I-:-1~:·:«:·:·:-:—;-:·:—;~:-:-:-:-:·;-;·;-:~;-:-;·;-;-:Z;Z;Z:Z;€;Z:i;I;Z:i;Z;Z;I;Z;C·I·I·C-Z-Z·i-I-i-C·I—i·Z-Z¤•"’

äf ;2;2§;;&;2;z§z§s§2§s§;§;§2§2§2§2§2§siz§2§;§;§2§2§;E;§;E;£;2;2;s;;;1;;;;;2gs552;;;2;;;s;;;;;;§2§s§;§z§;§;§s§2ia§2§;§z§2is§2§s§;§;2;ä;§;£555552;s;2;2;;;2;;;2;;;2;2;2;&I ¤ **.*3 :¤:Z:Z:IS:¤:¤:¢:Z:¢:¢:¤:=:=:=:i:=:¢:¢:=;=:¤;=;S;=E3:Siri:Sri:E:§:i:i:¤:Z:¤:¢:¢:¢:¢:¤:=:Z:Z:¢:¤:¢:Zzi:ici:=:=:=;¢:=;=:=::;:5:;:;:§:§:;:E:E:E:i:i:$:i:E:§:¤:¤:¤:¤:¤:¢:¢c gi? :3:5:i;3;¤;i:¤;:;i;i;i;¤;:;¤;:;:;:;:;:;2;:;:;:;z;1;:;:;:;:;:5:;:;;;:;;5:3;;:;;g;g;33;;;g;;;g;:;:;c5;:;:;1;:5:;:;:;z;:5:;:5:;:;:;:55z;::5;;;;;;;;;:;;;;;g;;;;;;;g;gL "' tr I~I-1%·:¥:?:¥:?:?:¢:?:?:Z:?:¥:Z:7;1;€:Z;i;Igi;Z;Z;Z;:;35;:;:;:5;:;:;:;:;:;;;;:3-;-:-;-;.;.;Z;I;Z;Z;Z;:;:;:;:;:55;:;:;:::;::3gg;:;;:1;;:::;:;:3:;:;:;:;:;:;:;.;.O—lg

*1* $5252525%;Eézäsä;EäéäääääEääéiäiäéääiäiääää2§s§2§2§2§s§;§2§;§2§;§;§;E;§;€;E;ä;E;%;é;E;E;é5Egégägagagäiziä§s§2§s§2§s§2§;§;§;§;§;§;§;§;§;§;;;§;;;gggageggggggggégsgägäII-I iv 2EIEzi:E:E:§:§:§:§:§:§:§:§:§:§:§:§:§:§:Q:Q:;:3:;:Z;¤;¤;¢:=:S:i;i:¤;=;ZES25:E:EZi:{xi:Eri:E:}:§:Eiz}:$2{zi:i:§:§:Q:{:{rf:Q:5:§:§:§:;:{:Z:¤:i:¢:i;i;1;i;i;S;:;:E:i:§:EE . :·:-:·:-:—:-:·:-:-:-:·:-:-:—:~:—:-:-:~:-:-;-:-:-;Z:?;Z;1:izizf;i:1;i;i;i;1:1-i·I-I·Z·i·i·I·C·C·:·i-I-:-Z-t~r-:·:-:·:-:-:·:-:·:~:-:~:-:-:¥:?:¢:¥:¢;?:¢:¢:¥:!:Z;Z:1:¢:Z:3. säéäsäääaäääaäséaisäaäzäaäsäzäaäiaäzäsäeäeäsäaäsäaäsäsgs;a§z;;;;;;;a;;Se2séäSis;äzääiséséaäaäaäsiaésäsisääeäa§2§2§2;2§;§s§2§s§s§a§s§;;z§;§;§;§;§;§;;;;;;;2;;;22;;Z H éää駧;ä;ä;§;§;§;§;§;§;§;§;é;§;§;§;§;§;é;§;ä;égägégägégégägägégägägägäzägäsägässäaäzäe26;;;äää;ä;§;§;§;é;§;ä2é;§;§;§;ä;§;§;igägégägägägégägägägégägägägäg;;&;§;ä2;s;

I I i c i

e-riFiI' ·gu 6 3.10 Image Ed1tor Select Mode

Page 50: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

I

II

-—. E,gägäägägägägägigäägääägääzäéäizäziéai;äzääääsäsäaä§2§2§2§2§zäsiés22§2§2ääzäsäsä2$2;;;ä2äéaäzä2§z§2§2§2iz;äaä2§z§;§2§2§2§si;;$2äzizäää2äaiä§;;§§2äsääéä$$22$5;E;?;%é;2E;€é2Sézäéz225;ä€;äS;E25;€;S2äzäzé;S25;2;%;E25;%;S;S2?;E=S¤E=S=ä=%&S¤ä=E=%E2=2¤E=22=E=2=3=22ä=2=2=2:2=2=E:2:2:2:2=2:22:2:2:2:2:2:2%;:2:2:2¢:;:=:=========:¤==:=:=:=¢:=:===:¤:=:=:¤:rU =E;Es€25;E2EsäsE;E;E5EaE5€;é§E;€§E§E§E§Eäé§3§E§EäääiääéiéäEEEE§EäEäääiääiéääääääiäääääiäiääéäéäääiiäiäääié§&§2§2§2ä2§2€;ä;¥eäääääsEääääääääsäääs5s€;f;?;5;E;€;E;E;E;E;E525E5i;E;EäEEEäi§E§EEE§EäE25éäiE§EEäiiéEiEiéiäääiäiéiäfäéiiäiiäääz52FifaE2EafsääfeäääsäääzääfzézE;E;§;E;EeE5£§E§€EEäEäEääiääéäiäääääääääéiäéääääéäéiiEEääiäiäiääsfaäéäEääaäsäzfsE;525;FaäzäzfsEsi2E;E;5zäzE;E;€§E;EEEEE§E§S§SäiESäääääéiäiääiäéiiääiäääiéEI' äääääääääääiääääääääääääääääääääääääääääääääääääääääääääääääääéSäääéäéäéäéééäéäéäéäéäéäéééäéäääéäéééäéééEéiéäääéäéiéäéäääéäsäsä2E2äsäsäsäsäaäsäääzäzääiääääääääääääääääääääääääEäääiäéäääääääääéäéääéäääéäééäägääääääääääääéäéééiääéäsizäeäééeääéeäaäaäeäaäääääääääääääääéäääääé§äää䧧ä;§;§;§;§;§;ä;§;§;ä;éäägégäéééäaésééésäääeäséeäsäeézäzäeäsäsäääzäsäsäaäzäE;§;§;ääéäägääägääégäéäägégEgigägägägägégägégésäsäsäääsäzésés

A.;E2E2Eei;E;E5E;5;E;E;§;E;E;E;E;E§;E;5;§;55555;;E5E;E;S;E;E;E;S;S;E;£;E;E;€;S;§;S;E;E;Egi5E;igéiéiäééääiääääéäsiääzäEääiääääaf2525EzääääféäsäzäääzäsäzäzEsäsäa923z5;ésE2E;E;E;E;E;§;E;E;5;€;E;E;E;E;E;E;E;E;E;E;E;E;E;€5i;é§E;E;Eäääéäiäéiääéääiääääéää35252äafääsäzäzäääeääf2E2EzE;Esä;5;€z€;E2E;E;5;€;E;E;E;S;S;E;E;€;5;E;E;E§E§ä§&§ääääääéiiiääiääEEFéöäféféääfääzfzäsäéäääääafaäääzä2%2€;E2E§zE2E5Ezäsézisäsésäeäzägäzäéää

ZSZEZEZEYEZEZEYEZEZEZESEZESEZEZESSSE$5151SIE¤§=i¤E¤§:Z¢§:E¢i:E:i:E:Z:§:§:§:Z:Z:iciriz§:§:§:§:§:i:§:§:§:§:§E§E§E§E§E§€§E§EQEQEQE{E§E§S55QEQEQEQE§E§E§E§E;EgigigigigfgfgiSigi;ECE:EZEZEZEIEZESE:i:§:§:i:i:E:i:i:§:§:§:§:§:§:§:i:§:§:§:§:i:§:{:§S§?§i§E§E5E;E;E;E§E55;E§EgigägigigigägägigigägEgigfgigägi;E;§;£g{:Z:§:Z:E:§:E:§:§:§:§:$:}:3;:§:§:§:;:§:§:§E§E§E§E;E;E5E;§5E;EgfgigigfgigEgigigigägE;EgEgEgEgE;§:§gi:Z:}:§:§:§:§:§:§:§:Q:§:§:§:§:§:§E§;;;5;;E;Egig}ääS2;§giSE2äzE2ä2E2ä2E2E2E2E2äSésésäzäsäéäsäsézäzäzäzäsäsäsäsisésä6äeäézäzésäsäs§6§2ä2§s§;§säsäzäzäzäsäzäaäeääz$2;2$2;;;§;§22;;;äxäeäzgzä62;;;;6;;%656;:%;2;%%esEééäéäéääééäzäéäéäääséaäaäsäaésäéäsé2äsé2äsi2ä2ä2ä2ä2ä6äsieä6äsé2ä2ä2§2äsäsia§e;a;säsäs;z§2§2§a§s§a;zääaäséaézéaézésäeäéséaEaéséäéäééäääésäsääéäääééääéäéäsäsäzäääs§2§2§2§2§aéaäzäsäsäsäzäsäeiaisäaäaäsäeäsäsäésésäzS22E2é2S§%sé§é§éäéäééS§ééS§2ééäéäääéééäzäääéäéäzäsäsäsäääsä

-o ;g;g;g;g;gigfzfcit{zi:}zi:Q:§z§:§:§:§:§:§:§:§:§:§:§:§:§;§:§:§:§:Q;§;§;};§;Q;Q;gggg};ggg;;g;g;g;I;:;:;:fr;:;:;:§:§:§:§:§:§:§:§:§:§:§:§:§:§:§:§:§:§:§;{;§;g;§1;;}:;;;:;‘¤ ;=:: Z·:~:~:·:·:-:¥:¢:?:¢:?:7:Z:¢:¥:¥:¢:¥:¢:¢:Z:Z;¥;1:Z:!:Z:1;1;5;Z;¥;¤;1;¤;Z;¢;I;I;I;I;1;I;Z;I;Z;S;Z§Z§:f:§:Z:§:§:§:§:{55:*:7:$:7:¢:¢:¢:¢:¥:¥:¥:¥:?:?:¢:¢:1:¤:¤:¥;Z:¥:Z:QZ·;.j« -;.;.;Z;Z;I;Z;2;Zgfyt;:;Z;Z55;:;:;:5;:;:;:;:;:5:1;:;:;:;:;:-3-;;:-:-:-:-:+;-:-3-3-3-:~;-;-;-;-;Z;¥;i;l;Z;I;Z;2;I;I;Z;Z;Z;Z;Z;Z;:5;Z;3;:;:;:5;:;:;:;*;:;:-1-:

I jgégiE5E5E5E;Egi5€gE5E;E;i;E;EgägégägigigigägägigigägEgi;§;£;E:E:;:;?&E;:;E;E;i;?;5EE;E;E;E;E$?;E;E;E;E;E;§;i;E;E;E;E;E;E;E5EgE555$55553;5555Egä;E;E;E;£;E;E:E€:£:£?£EE

II ·;ig.— E5£5E;5;E;E;£5E;£:;;;:;:£:5;;:;;;:;;;:5;;:;;;;;;g;;E;E5E;S5E5i5Egigigä3E;E;S;E5E;E;E5E5E;E5EgägägigigEgigigägigi5Egägigiz$:3:;:;3:;:;:;:;:;;;:3;5;;;;i5;5i;E;5;E5E;E;sg;;s;s;2;2;2;2;;§;§2§;§2§;§z§a§2§;§2§2§;§;§s§2§s§s§;§2§2§2§2§;2;2;2;&;2;E;2;2;2;agägsgzgsgzgägagag2;2;2;2;;;z;2;2;2;2;;§;§;§;§6§z§a§s§2§2§;§ai;§;§6§2§2§s§;§s§2§2§2§e

ä„«ais§;§s§;§2§2§aie;;§:§;§z§z§2§s§z§2§2§2§2§ääsäag2E2262;2z2;2;a;2;2;s;s;;;;;2;;;s;2;2;;;2§2§;§2§äizäsäa§2äeisisiziz§2§z§;§2§;§;§s§s§2§s§2§2§2§2§;§;§z§s§e£;§;E;&;s;2;;;

S äagsä2§2§2§s§a§;§;§;§s§2§2§2§2§2§;§;§;§2§a525zäzääfäääfäääääääääEääääääiiiäääééäéééäääaäsisä2iz§;§;§;@2§2§2§s§;§s§2§s§s§;§2§2ä;§2;;§2§;§;§a§;§;§2§;§2Szäääääääéäéääfää2E;E;E;E;E5E;E;5;E;S;E;E;3E;EgägägägE;&;§§&i2FEääiiäaääääää5;E;E&E;E2EE;E;5;E;E;S23;E;E;E;E;E;E;S;£;£;£gi5E5;gi;Sgégägägägagigsg;gs;;;;;;;2:3:;:;:;;E;E;E5E;E;E3E;E>f1 :=:=:=:¤:¤:=:=;¤:=:¢;¢:=;=;¤:¤;¤:¤;:;:6;r:2;ri:iri:E¤E:E:E:5:Z:§:§:i:§:i:i:i:£:§:i:¤:¤:¤:¤:¤:=:¤:=:=:¢:¤:¤:¢:=:=:=:¤:=:¢:=:¢:¤:=:=;¤:¤;¤;¤;ri¤E¢E=E:E:£:E:E=£:i:i:E:EIäeäzöaäzFsäzäzäaäaF2E252EaäséeäsS;EséaäzäSe?2525;Ezéaöz%;E;S;S;é;&;&;ä;ä;S;ä=&¤%=2ä2FääääääéäéfääafääéE2ääääääzäzäzäääaäaéeäzäzäzäzäaäsäeäzäsés%2S;S;ä;E;S;%;S;&;5ä;ä;§;§;§;§;ägégégégägäääääääääääééääéäéééäsä2EIäzésäeä2§2§2§é§2§2§Sä2äéäéäääéäéää26;;;2§;;2;;;s;;;;gä;é;§;§;é;ä;é;é;§;ä;égägägägägägééäääéääééäéäéäéäéäéäéäéäéäéää

§ä§§§§§§§§§ä§§§§§§§ä§§§EéääiääiäiääääéäääiiSiE§§§§§ä§iiäiääiäääääEiääää䧧§§§§§ä§ääEäisäzä2äééääéäääéäsääääääi䧧§§§§§ä§§§§§€§E§é§§§E§§§§§§§§§§§§§§§§§§§ä§§§§§§§Eäéiää2§ äEääääääEääääää%éää%ä€äää§ä䧧§ä;§§§;§2äsäzäéäääääzäéäaä2ä2äéäääääääéäääääéääéääääéäääéäiäääääääéäääääéääEéäéääääEääéääääääääEääääääääääääéäääéé2§2§2ä2ä2ä2%éé2§6§2é2¤*•-· ;»„, »;-;-:-;;-;-;-;-;-;-;-;-3-;-;-;-;.;.;-;-;.;-;.;Z;i;:;I;:;Z;:;:;:5;:;2;:;:;:;2;:;:;:;:;:;c-z;:·:·:-:—:~:·1-;-:-:-:~:-:-:-:·:—:-:-:1;1;¥;1;I:Z;Z;1;I;Z;I;I;¥;¤;¤;S;I;Zm Ms 23:;:;:;:;:;:;:;:;:;:;Z;1;:;:;:;:;:5;:;:;:;:5;:;:;:;:;:;:;:;:;:;:—:;:—:~:~:·1-:—;-:-:-:¤:·:¤;15:1:1:1;1:5;¤:¥;1:Z;¤;I:1:1;l;1;I;1;I;Z;Z;I;:;S;:;:;:;:;:;Z;:;:;:;:¤*>{Se:·2g_Q,44->

sz _ _Q;Q;l;Z13;I32;Z;I;Z;Z;I;C;Z;I;2;I;Zgi;I;2;I;I5;I;C5;Z;Z;Z;:;:;Z;z;:§C§C{:§:§z§:§:{:§:§:Q:Q:Qz§:§:§:QzQ:§:f;Q:Q:Q:Q:{;Z:Z;!;Z;Zzfgi;Z;I;I;Z;252;Z;Z;l;Z;I;Z;C;Z;Z;Z;ZEF.‘“

;z§2§;§2§s§;§2§2§;§2äéäfäääEääiääääääzäaäsiaä2E2225252ääxäsäzä2Eafaäsäs€2E2€a3;52EaääääaE2¥z?2Esf2EaäzäéäösE;E25aäsäääEEEäiéääääääääääifäääfäéäéäaiziäisE2€;5;5s€;äg, 2§;§a§;§2Q2$2;;;sis§2§;§;§s§;§;§;22§;2§2;é§E§;§2§2§;§;§s§;§;§s§;§;§2§2§;§s§z§;§;§2§;§2§;§zisizisäsi2§2§2§;§2§a§s§2§;§;§z§2§s§zäzäsäzisäzäz§;§;i;ä;2;2;£;E§&§£§2§2§;§g Bgu: ·‘

r--—~-··~···--‘F

i re ·Su 3.11 SGl€CtlHg am Image

Page 51: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

II

I

II

43

l'

-3•·

5163:V

$-23£·2

$2I3·;W

E0.„I.Bg,

B

;:Figure3.12 Dupl1cat1ng an Image lh Select Mode

Page 52: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

44l

the SunView event handling function to select_event_proc().

The select area box is drawn in a manner similar to the

rectangle mode. When the dimensions of the selected area

have been determined, a pixrect is created in memory using

mem_create() and the selected area read into it from the

canvas using pw_read(). Image movement is accomplished by

writing the stored pixrect to the canvas using an XOR

logical mask with the function pw_write().

The same erasure capabilities and restrictions

associated with the use of the XOR logical mask discussed

previously for line and rectangle modes apply here. Thus it

is possible to erase large portions of the screen by

selecting the area to be erased and then drawing the

selected image directly over its canvas equivalent.

3.3.1.5 Image Load

The image editor has the capability of loading either

backgrounds or objects. Background loading restores an

entire canvas that has previously been stored to disk.

Object loading restores images that have previously been

obtained in select mode and saved to disk. In addition,

provision has been made to store path names for backgrounds

and objects that are "attached" to a specific model.

Selecting the "Load" button brings up a blocking

requester with a PANEL_TEXT item lname_item labeled

"File/Name ", and buttons labeled "Load Object", "Load

Page 53: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

n

45

Attached Object", "Load Background", "Load AttachedBackground", and "No Load" (see Figure 3.13).

The "Load Object" button executes oload_proc(). Thepurpose of this function is to load a file from disk andallow the user to use it as a selected image in select mode.A previously selected image in memory is destroyed usingpr_destroy(). The file specified in the load panel isopened and copied into a pixrect using pr_load(). Finally,

the editor is placed in select mode, the SunView event

handling function set to select_event_proc(), and theblocking requester cleared.

Selecting the "Load Attached Object" button executesthe oload_attach() function. This function is substantiallyidentical to oload_proc() except that the path namecontaining the image is obtained from the database rather

than the user. Within the database provision has been madeto reference object images by name rather than by path (see

Table 3.1). Thus, an image associated with an object named"job" in the "CPU_System" model could be retrieved by

entering "job" at the "File/Name " prompt and selecting this

option provided the modeler had specified "CPU_System" asthe model name when entering the editor. Upon completion ofloading, the blocking requester is cleared.

Selecting the "Load Background" button executes

bload_proc(). This function performs identically tooload_proc() except that the entire canvas is being loaded

Page 54: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

I

46

Image Editor — Pen ModeLine Rect Select Lxgigäljäeiigä: Save QuitL

Q Q·.·-..2·~§·j _-.2·._·._— QFile/Name:‘Load

0b‘ect Load back round NoLoadLoadAttached 0b°ect Load AttachedBackroundB_

Q. _—__________ _______

Figure 3.13 Image Editor Load Panel

Page 55: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

47

Table 3.1 GPVSS Database Tables

Table: attr_dat

NameIxmeB1z;besmodel text 30 System model namename text 30 Name of attributebrief text 80 Brief descriptionattr_type text 1 See object codes belowtype integer 4 Variable typeiav text 80 Initial attr. value dataiav_type integer 4 Initial attr. value type

Table: model_datNameIzp.eB1cbesmod_name text 55 System model nameobject_type text 1 See object codes belowname text 55 Name of objectpath text 55 Path name of file

Table: dynamic_datName IzmeBm:e.smodel text 30 System model namename text 30 Name of Dynamic Objectbrief text 80 Brief description

_ submodel text 80 First sub—modelfile text 30 File containing imageiat text 80 Interarrival timeiat_type integer 4 Interarrival typegen text 80 Maximum generation datagen_type integer 4 Maximum generation type

Object Codes

Model_dat:"O" — Object image"B" — Background image"M" — Model specification file"L" — Path to submodel Logic specification files

Attr_dat:"S" — Submodel attribute"D" - Dynamic Object attribute

Page 56: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

I

48

from the specified file whose path name was entered at the"File/Name:" prompt. First the image is read into memory

using pr_load(), then it is drawn on the canvas using

pw_write(). Bload_proc() destroys any previously selectedimage if the user is in select mode. After loading thebackground, the blocking requester is cleared.

Selecting "Load Attached Background" executes the

bload_attach() function. This function is similar to

bload_proc() except the filename containing the image is

retrieved from the database (see Table 3.1). There can only

be one background for each model. Therefore it is not

necessary to enter any name or filename at the "File/Name="

prompt as it is ignored.

Selecting the "No Load" button executes the no_load()

function which merely clears the blocking file requester.

3.3.1.6 Image Save

The image editor has corresponding image save functions

to those described previously in the image load section.

Selecting "Save" on the image editor control panel

executes the save_proc() function, which in turn sets up a

blocking requester on the save panel. The save panel

contains two PANEL_TEXT items labeled "File " and "Name:" as

well as buttons labeled "Save Object", "Save/Attach Object",

"Save Background", "Save/Attach Background", and "No Save"

(see Figure 3.14).

Page 57: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

49

Image Editor — Pen Mode[Z1 Line nee: Select Load £;s;s„·;eve;s;s;; (mg) gun

I Q~_‘-_ _.FHe. ‘ »Name: · Q I

Save 0b°ect Save Backround ISave/Attach 0b'ect Save/Attach BackroundiI

III_Figure

3.14 Image Editor Save Panel I

Page 58: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

50

Selecting the "Save Object" button calls functionosave_proc(). Osave_proc() stores a selected object imageto disk. Therefore "Save Object" does not work correctly ifthe editor is not in select mode and an object imageselected. Moving an image to disk is a three step process.Storage for the image is allocated using mem_create(), andthe image transferred from the canvas to memory usingpw_read(). Finally, pr_dump() is used to transfer the imagefrom memory to the path specified in the "File:" panel item.The blocking requester is cleared upon completion of theoperation.

Selecting "Save/Attach Object" executes functionosave_attach(). This function performs identically toosave_proc(), and also stores information in the databaselinking an object name to a path containing its image for agiven model (see Table 3.1). For this reason, the desiredname of the object should be entered at the "Name:" panelitem in addition to entering the path name of the image fileat the "File:" panel item.

Selecting "Save Background" calls bsave_proc(), whichis identical in almost every respect to osave_proc(). Thereare important differences, however. The primary differenceis that the entire canvas is saved to the path specified inthe "Fi1e¤" panel item. Also, osave_proc() may be calledwhile in any mode, but destroys any previously selectedimage if called in select mode.

Page 59: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

551

Selecting "Save/Attach Background" callsbsave_attach(). This function is functionally equivalent to

bsave_proc(), but also updates the database to attach thepath name specified in the "File " panel item as the

background image for the current model being worked on. Itis not necessary to specify a name as this information is .

ignored. If the current model has already had a path

specified for the background, and the background saved using

"Save/Attach Background", the path defaults to the previous

entry providing that absolutely nothing was entered at the"File=" panel item, including blank spaces. If a new path

name is specified, the database is changed to reflect the

change. Thus it is only necessary to specify a path name

for the background once.

Selecting "No Save" executes the no_save() function

which merely clears the blocking requester without saving.

3.3.2 The Model Editor

The purpose of the model editor is to provide

facilities for the interactive definition and specification

of the model logic.

The model editor is entered from the image editor by

selecting the "Model" button which calls the model_proc()

function. Model_proc() draws any paths and submodels that

have already been defined, and changes the main panel

buttons so that the model editor buttons are shown (see

Page 60: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

52

Figure 3.15). Drawing the model definition is a relativelystraightforward process. Submodels are drawn using therec_draw() function as in rectangle mode with the XORlogical mask. Paths are drawn using the pw_vector()function as in line mode between successive pairs of pointsalso using the XOR logical mask.

The "Image“ button takes the place of the "Model"

button when in the model editor. Selecting the "Image"

button executes the function object_proc(). Object_proc()

erases the model definition by re—drawing it with the XOR

logical mask and sets the main panel buttons for the image

editor.

3.3.2.1 Submodel Definition

This model editor mode provides the user with thecapability to partition the background image into multiple

discrete rectangular submodel partitions.

Selecting the "SubMod" button on the model editor

control panel executes submod_proc(). Submod_proc() merely

sets up a blocking requester to input the name of the new

submodel (see Figure 3.16).

The submodel name requester contains a "Sub—Model¤"PANEL_TEXT item and two buttons labeled "Define Sub-Model"

and "Exit". Selecting the "Define Sub—Model" button

executes the function model_def_proc(). Model_def_proc()

allocates memory for the new sub—model if necessary, updates

Page 61: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

I

53sg I IIIÜ II

. IÜ II I

I

I I. A |

Figure 3.15 The Model Editor

Page 62: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

54 I@3 *6 6 6

5. II. ‘F

IIé I

Q IEI

'¤ .2 I

E I °'

8 i2 ä II >6 ä 2 Ü I

6E•— II .,

.-Figure3.16 Submodel Name Requester

Page 63: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

55

the list of submodels, and changes the SunView eventhandling function to sub_event_proc().

Sub_event_proc() first obtains the name for the sub-model that is entered at the "Sub-Model¢" prompt on the

blocking requester. This name must conform to standard C_ identifier conventions. From this point forward, the

procedure for actually drawing the submodel rectangle isvery similar to the implementation of the rectangle mode

capability of the image editor (see Figure 3.17). The

function upper_left() is called to update the submodel

coordinates at each SunView event. Note that the internal

logic assumes that submodel partitions are discrete, and

that the model editor does not enforce this convention.

A limited submodel delete facility is provided. By

depressing the middle mouse button, the last submodel to be

defined is eliminated. The memory is not de-allocated here

and may be used again if defining multiple submodels. The

Boolean variable abort_sub keeps track of whether the last

submodel in the submodel list has been "deleted“ or not.

This feature is only active immediately after a sub—model

has been defined and the user has not exited the submodel

definition mode.

Selecting "Exit" from the submodel blocking requester

executes the function exit_proc(). Exit_proc() returns

control to the model editor by clearing the blocking

requester and not defining a submodel.

Page 64: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

4

56la4EE

I 4ÜÄ?

Ü 4·< [

O l>N"’

I¤ P 4ä :‘ 4

0)‘4

E „? 4E i.,

D 1

2.1:2.2 42~

;éäa

Figure 3.17 Definimg a Submodel

Page 65: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

V57

3.3.2.2 Path Definition

Path definition facilities are provided to allow theuser to define a path between any two submodels. Paths areuni—directional. Currently only one path with a given"from" and "to" submodel is supported. Note that the modeleditor does not enforce this convention.

Path definition begins by selecting the "Path" button

on the main control panel. This action executes the

path_proc() function which puts the editor into path mode

and sets up a blocking requester for the input of the path

name (see Figure 3.18).

The path name requester contains a "Path " PANEL_TEXT

item and two buttons labeled "Define Path" and "Exit".

Selecting the "Define Path" button executes the function

path_def_proc(). Path_def_proc() initializes some variables

and changes the SunView event handling function to

sub_event_proc().

The path coordinates can now be defined. Paths must

start and end within submodels. First move the mouse

pointer to the desired coordinates within the "from"1submodel. Depressing the left mouse button designates thisas the path starting point. Subsequent points are

designated by moving the mouse pointer to the appropriate

coordinates and depressing the left mouse button (see Figure

3.19). These intermediate points may be anywhere on the

canvas, including within submodels. The termination point

Page 66: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

58E

Ö Ö Ö3 FF Ö Ö PII. IÄQÄ

III II2 IÖ1 II II II

I I

IT I¥'.62 I6 I6I:

6 1I„ I I¤ IZ ?.s I· II IE I..6 6 I I§ 2 ä =2 2 6 I•» *·’ ~•- I I

In " W I„ 2 ;§ a' i.1: ¤ jI-“ :

E ä ¤ ä IZ ! ¤— ·‘

I

Figure 3.18 Path Name Requester

Page 67: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

59IH I ‘ I ‘ ‘ I · P—IÜ.Ö‘

“ ' I; I' II@ ¤I i

ä Q E I [

Figure 3.19 Intermediate Path Point Definition

Page 68: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

———————————————————————————eeeeeeeaaaaaaaerSSSrrSSSSSSr”——————————————————————

D60

is designated by moving the mouse pointer within a submodel

and depressing the middle mouse button (see Figure 3.20).

Sub_event_proc() is the function that handles the above

process. lnitially, memory is allocated and the path list

updated. As start, intermediate, and end points areselected the path definition is updated and memory allocated

as necessary. For start and end points, fin_sub() is used

to make sure that the coordinates lie within a submodel. In

addition, a line is always drawn between the last selected

point and the current mouse pointer coordinates in a manner

similar to the method used while in line mode in the image

editor.

Selecting "Exit" from the path definition blocking

requester executes the function exit_proc(). Exit_proc()

returns control to the model editor by clearing the blocking

requester and not defining a path.

3.3.2.3 Dynamic Object Specification

Dynamic object specification is initiated by selecting

the "Dynamic" button on the main control panel to execute

the name_dynamic_object() function, which sets up a blocking

requester for the input of the dynamic object name (see

Figure 3.21). This name must conform to standard C

identifier conventions.

The dynamic object name requester contains a "Dynamic

Object Name:" PANEL_TEXT item and two buttons labeled "Name

Page 69: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

61

I II

II; I’ IäI:. I=. I7 I

I; Iie? I

„¤2SIÜ

¥ZQQ I·; Iä I’ IO f" IE I

I I

EZFigure 3.20 Path Termination

Page 70: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

X

X62§J 2

22Eä$2 Eä"¥J

2E2

EVträ

2

ärn 5„EI J 21 5‘ E1„

i¤ €z · 2W ‘E=äE2¤

} 1U — I2 “ 2 2

ä S¤•:2ä2„.€ $3,E'“ 6·E22ää,é§

"*·‘*"*****1·‘”·‘*°2*‘··“"·*"··‘·^”*·"·‘· ·—* —· ··”^’”‘:’:°”‘'‘‘”>°'·''‘”1"":°‘*'X””‘”'‘ “;

Figure 3.21 Dynamic Object Name Requester

Page 71: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

63

Dynamic Object" and "Exit".

Selecting "Exit" from the dynamic object name blockingrequester executes the function exit_proc(). Exit_proc()

returns control to the model editor by clearing the blockingrequester and not naming a dynamic object.

Selecting the "Name Dynamic Object" button executes the

function doname_proc(), which forks the dynamic program with

the model name and system name as command line arguments.

The dynamic program is designed as an input tool forthe definition and specification of dynamic objects (see

Figure 3.22). All dynamic object (DO) information input

through the dynamic program is stored in the database in the

attr_data table (see Table 3.1 in Section 3.3.1.5).

The DO name previously specified heads the display.

Underneath are provisions for entering (1) a brief

description of the DO, (2) the origin submodel, (3) the

inter—arrival time, and (4) the maximum generated DOs.

The brief description of the DO is primarily for the

use of the modeler. It holds a single line of 80 characters

describing the significance of the DO within the model.

The origin submodel is the first submodel the DO

attempts to enter.

The interarrival time may be "Constant", "Returned", or

"Sampled" (see Figure 3.23). “Constant" interarrival times

never vary. "Returned" interarrival times are determined by

a user defined function. "Sampled" interarrival times may

Page 72: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

6422_2.

E

IlIII2{ {

2L\2

E„.23222EQ2

B ^• ; ä‘•-m •-1

= :Z ä E5en¤. nn ' :3 O •5 :2 „. 2 . Q ;*7 .C -•- C :" f S _ E{Q Q E Eé22 Q?w

·¤ x ~— Y E3 Q ..„ E ä Ü E{{g ä *7 ä 6uE¤ < § S "’ S ä {.2 2{‘~=

ä § E i 3{3t 2 .2 2{3Q g 2 z{-

E m cs m E •- I QO "° *' "•-* X Q ;„ {2 é E .5 $2 = 32

'Figure3.22 DO Definition and Specification Tool

Page 73: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

I

65

2;EE

2:: 2<2E·ä iäämE w EÖ §LTESE22 IQ 2

lg (D -5 •.“ 5 22xs2äE <A82 ä$222Us. gg C •-> C ·— E·•- E 1 UI D • ;S 2 2 ··· S 2 2 2 2Ä E é ·•·> 1:;% p V LJ ttV:S·= 2 ä, \ 2(U ••I. 82 2E22 2 E E§··

Ä "° ÄEä: :.1 I é Q””’ QS E m Ü QD "‘ ;-4--4-

I¤ ¤¢¤| X :„ 2 2 E S E 2EC:

Figure 3.23 DO Interarrival Time Menu

Page 74: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

I

66{

be chosen from the probability distribution screen (see

Figure 3.24). Currently only the exponential distribution

function is implemented.

The maximum generated DOs may be either "Infinite" or

"Finite" (see Figure 3.25). Selecting "Infinite" creates a

never ending stream of DOs into the model system. If

"Finite" is chosen, the user must specify an integer value

for the number of DOs entering the model system at the

"Data " prompt. The user may specify a function to

determine the number of DOs to enter the system, as long as

that function returns an integer value.

Located at the bottom of the display are buttons

labeled "Save", "Quit", and "Specify DO Attribute".

The "Save" button calls save_proc(). Save_proc()

stores the currently displayed °DO specifioation in the

"attr_dat" table in the database (see Table 3.1 in Section

} 3.3.1.5).The "Quit" button calls quit_proc() which quits the

dynamic program without saving the DO speoification.

Selecting the "Specify DO Attribute" allows the user to

define an attribute that becomes part of the DO structure

definition. This button executes the function spec_proc().

Spec_proc() sets up a blocking requester for the input of an

attribute name (see Figure 3.26). This panel has an

"Attribute Name:" PANEL_TEXT item and two buttons labeled

"Name Attribute" and "Exit".

Page 75: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

I

I

I

IIIIIH III I I I I II IIIIIII II II II I II I II II

AII32;

IIIE

I S

éILZ.. I é ÄIIié · .I§EI"'bI3

I c~· 5 EIrä <~·"‘§ ÄI 2. I6! EIE‘§I.„

EI„-U ;I___Figure

3.24 Interarrival Probability Distributions

Page 76: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

X

X68 X

XXXCXHX X X X X XXXXXXX XX X X XX XX XX X X”XX‘3XX‘1"’—"XX°XX‘ W2 1 "" 2

FIXD‘;5 2

a :zäZ

< E

, S 6 é20E ”

E.C ~•— .•-• 13 X g#4 rx .9- U) -4 ZO 0 U c6 < 6 ä6 6 12

'S 0 Ü — E" SEÄE) lg in 3 Ö8 I 3 3 —· ¤= ä·•w -·- w C '°“’ 23 6- V [E6? §· 6 27 EE"6 6 S 2 :2‘··

g “ 6 ·* .6 6··—‘ 3 Ä .2 ° § 52 LZ 22Eg 5 ·—1:6- 6 ';g°*,5 'E Z 2"° •-• L. E*5 § g ä 5ux

*C ! 2 :E 0 XE: 0 E -6- 5

U Ä Ä L »·-4 z

1Figure3.25 Maximum Generated DO Menu

Page 77: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

\

69WWE WWW W WW WW WW W W W WW ÄI Z

Äbisf

;— 2

i ‘r é2%EE23* ··• Eä E 2

2 Q. w Ü. O Z: § 6 °'i 2~· ¤ 22 S S 2' Y 6 Q 2

1 ä : co E' 2 \ :> 0 Q; w 6 QJ " KE 2E 32:• pg

Q_ •• •—|E¤ ‘ *5 Ä Ä; " SE*‘E‘ : é fz Ä .. == § 23 Ä 3 3 E2E2 3 2: 2 ·— 1: 2

2 :2 2 Q' E '; 2S S E 3 2„ . gg L Z6 ¤> * E2 g ? E 6 g .E m E - QQ 0 2 •· N X ;

" Ä "' C :

E>·ä 2 . . EQ ‘ 2 E

Figure 3.26 Attribute Name Requester

Page 78: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

1

70

The "Exit" button executes the exit_proc() function

which clears the blocking requester without defining an

attribute.

The "Name Attribute" button forks the attribute program

with the model name, attribute name, and "D“(for DO) as

command line arguments. The purpose of the attribute

program is to provide facilities for the definition,

specification, and storage of both DO attributes and

submodel attributes. DO information is stored in the

"attr_dat" table of the database (see Table 3.1 in Section

3.3.1.5). The attribute panel contains: (1) the attribute

name, (2) a brief description of the attribute, (3) the type

of attribute value, and (4) the initial attribute value (see

Figure 3.27).

The brief description describes what aspect of the DO

or model system the attribute depicts and the type of

attribute value describes what values the attribute may

take. Attribute types may be (1) "int", (2) "long", (3)

"float", (4) “double", (5) "char", or (8) "time" (see Figure

3.28). These classifications correspond to C variable types

except for "time", which in this case is type double.

The initial attribute value may be (1) "Constant", (2)

"Returned", (3) "Sampled", or (4) "Evaluated" (see Figure

3.29). "Constant" may be any value of the same type as the

attribute. "Returned" allows the initial value to be set by

a user defined function. In addition, the pre—defined

Page 79: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

7 1

__--{{2

{E22E

T i gE E ?¢ ¢{2,s .2 .2{zE Ä Ä{§7; .2 .2{:8 2 I': | E8 8 *; ·;I

in

SFigure3.27 Attribute Definition/Specification Tool

Page 80: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

1

72MIEV 77777 7 7 7 77 77aÜ>

:22AEä „„

.5 cu Sc; E LmEéäéäéää ;" xEE22g_§ B3§*2 Ä Ä s,9 E ..: J: §I ä SSU

,.1ä „_ °ö 3 é"’ 2 g ::2 „.2.¤:

EFigure 3.28 Attribute Variable Type Menu

Page 81: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

7 3

ii

I]2

Eääug §Q! N C G1 N Z'5 E *6 5 'E.3 sj C C ·•->

ä cu E| /\ 3 O GJ > .

C.1 .1 ZC C E6 6 I22__22222Eä Z1:2= E23§ „. ..

u- Q E EW m E-•• 3>~ E ?2 *·

*EFigure 3.29 Initial Attribute Value Menu

Page 82: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

I74

function seed_init() is available if the user wishes to havea random number seed initialized from the pre—defined globalseed "seed". It is merely necessary to pass seed_init() the

address of the integer seed it generates a random number

from (i.e. seed_init(&seed)). "Sampled" allows theattribute to be initialized from a probability distribution

(see Figure 3.30). Note that currently only the exp()

function is implemented. "Evaluated“ allows the user to set

the initial value of an attribute to true or false depending

on the expression or function supplied at the "Data:"

prompt.

It should also be noted here that DOs have a number of

attributes pre—defined in GPVSS as shown in Table 3.2.

Perhaps the most useful of these attributes is the “q_sm_et"

attribute which is usually set to be the queue submodel

entry time.

Two buttons labeled "Save" and "Quit" are placed at the

bottom of the panel. The "Save" button executes the

save_proc() which saves the attribute data in the database

and quits the program (see Table 3.1 in Section 3.3.1.5).

The “Quit" button executes the function quit_proc() which

quits the program without saving.n

3.3.2.4 Specification Mode

The specification 'mode allows the user to specify

submodel attributes and submodel logic. The specification

Page 83: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

7 5

11E- 1 I12

2*"1 E5, Q E „ 1 Qan I J ; E 1E • E E ·E:5‘ 1 ä3 1 5'E 1 21;2C;

"· = E c;ÜII""" 3 — — 1 2S — ¢~- 5 : : 1 5Y, I; "'°° S ÄÜ ä • EÜ12·S 11 2ux *

Üi?12ä1E

22 2_222 __ _ W

2Figure3.30 IAV Probability Distributions

Page 84: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

——————————————————————————————————————————————————*‘t———"ttttttffffffffffff‘—

l

1

76

Table 3.2 Dynamic Object Standard Attributes

IxpeHam:doubletag The unique DO tag

int type The type of the DOint max_gen The maximum generated DOstime occurence_time Time of the activitytime q_sm_et Queue submodel entrance timeint first If DO just entered the systemint sub_exec Sub—model sect. to processchar origin_name[56] The prev. submodel holding DOchar dest_name[56] The next submodel holding DOint submodel The submodel containing the DOtime entry_time DO entry time to the systemint job_origin Where the DO came fromPixrect *DO_image What the DO looks likestruct DO_list *next A pointer to the next DOstruct DO_list *prev A pointer to the prev. trans.

Page 85: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

1

k77 1

mode is entered by selecting the "Spec" button on the main

control panel, which executes function ms_proc(). Ms_proc()

changes the frame label to reflect the specification mode

and the SunView event handler to ms_event_proc().

Ms_event_proc() handles the model specification events.

Precisely, it forks off both the submodel attribute and

submodel logic specification programs. This is accomplishedby means of a menu that is active only when the mouse

pointer is within a defined submodel rectangle and the right

mouse button is depressed. Available menu choices include

"Sub—Model Attribute" and "Sub—Model Logic“ (see Figure

3.31).

Selecting the "Sub-Model Attribute" menu item first

executes the name_attr() function. Name_attr() brings up

the same blocking requester for the input of the attribute

name that was used for DOs (see Figure 3.26). The procedure

is identical to the process of DO attribute specification

described earlier except for the fact that an "S" (for Sub-

model attribute) is passed to the attribute program in the

command line instead of a "D" (for Dynamic object

attribute).

Selection of the "Sub-Model Logic" menu calls function

spec_path() which sets up a blocking requester for the input

of the specification path (see Figure 3.32). The path is

needed to store the multiple files that the spec_log program

generates.

Page 86: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

7 8IH Ä Ä "" "°"""'77 " °°'I5 I

2 Iu I" II I; I~ I

Ä II52 II I•;[ 3: }

4EI

E EI 6 62 II IN 2 2 s I

ä Ti II

159 Q.9 ziJ II.

O I'. IZcQ ÖÖÖ IE II IIG I~'=‘ Ii IAL I¤> II% é‘

'I 1Iä; IUJ 5‘... I2 ä H2 __ 5 I

Figure 3.31 Specification Menu

Page 87: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

I

7 9

IIE I

I IIn II« II II I

I EI äI ;

I Iz

, 6* I2 ä 2 I.1 •*I2 6 ID N

E I I6ä::lg :: I .2 3 2 IE gg E I Ic% tg va I II C I I5; E I

L? 2 IzuI

IFigure 3.32 Specification Path Requester

Page 88: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

80 lThe specification path requester has a PANEL_TEXT

itemlabeled"Specification Path=" and two buttons labeled

"Specify Logic" and "Exit". The "Exit" button clears the

blocking requester without specifying submodel logic. The

"Specify Logic" button executes the function spec_proc().Spec_proc() takes the specified path and store it in

the database for future use (see Table 3.1 in Section

3.3.1.5). If no path is specified, then the path defaults

to the database value. Note that absolutely nothing must be

typed at the "Specification Path:" prompt, including blanks.

Finally, spec_proc() clears the blocking requester so that

the spec_log program can be called with the system model

name and submodel name, and specification path as arguments.

Program spec_log provides the actual submodel

specification facilities. Each submodel is broken down into

multiple components [Balci 1986]. In addition, a "Global

Definition" file is provided for the inclusion of user

defined functions. .

Spec_log opens a number of SunView Textsw’s for each

submodel that is specified (see Figure 3.33 and Table 3.3).

The Textsw files are stored in the path passed to the

program as a command line argument. Two files for the same

Textsw but different submodels are distinguished by the

submodel name appended to the standard filename. Thus, the

entrance condition file ("EC") for the "CPU" submodel would

be saved in the "EC_CPU" file in the specified directory.

Page 89: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

I

II

_- Y'“—‘°l*" v—vv—~—————·—· .IIII?I

1,..;I‘I

IIEIIII

ÄéII1

Y I ___ «„ _____ _Q ‘«

L‘¤•-•(0•»

D.CUI.¤\Lm3\

é»° Q'O

D äg ^ °'8•-4 f\.. E "‘

.. ‘ <¤ .axa· ä E, sO 3 3 I "2 Q. CL 3 .11 U Q. 1.1..1.¤ ·-— ‘-’ <.1 QJ cn c -4 ‘g_- Qm II V II X C zII I-— II m vw IE E S ~·* E E äE 1 z 1 ß u.1 1- 1-lv 3 :.1.1 3 Z Z w w·•-> Q. ax Q < Il.1 •—1 V"’ -9 E .‘·’ > ä E Z “$‘

:11 c -4 E Q E _ EJ 1-Illüuüll! Eääadli II- <>IA LQ_: .‘.Z.E g _*_;_·„- g _~_:... 3 I 1 : GID In u"' U 1,,, ¤I= 1 IS

Figure 3.33 Submodel Logic Specification Tool

Page 90: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

S2 ;

Table 3.3 Submodel Logic Specification

EC: Entrance conditions that must be true in order toenter the submodel. This may consist of anexpression or a function as long as the functionevaluates to either true or false.

LO if EC is True: Logical operations to be completed if theentrance condition evaluates to true. These operationsmust be in standard C code. However, for this andother Textsw’s, more user friendly macros have beendefined that bring the logical specification up to ahigher level.

ASC: Activity start condition that must evaluate to truebefore the activity in the submodel may begin.

LO if ASC is False: Logical operations that are executed ifthe activity start condition evaluates to false.

LO if ASC is True: Logical operations that are executed ifthe activity start condition evaluates to true.

A: The activity of the submodel. Provision must be madefor advancing the DO to "LO_EOA“ after the activity iscompleted if not using a pre—defined macro.

LO_EOA: Logical operations to be performed at the end of theactivity. ‘

XC: Textsw contains the exit condition that must evaluate totrue before a DO may leave the submodel.

LO_XC: Logical operations to be executed if the “XC“condition evaluates to true.

Page 91: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

J

583

A “Save“ button is located at the bottom left of thepanel that calls the ms_save function. This saves the

contents of each Textsw in the appropriate file.

Note that only one “Global Def" file is used.

Therefore it is important to edit only one version of thisfile when multiple sub—window logic specifications are

running, and to save the edited version last.

A number of macros have been defined to expedite the

submodel specification process. See Table 3.4 for a

presentation of their availability and proper use.

In addition, the function "least(DO,

submodelname_MODEL)“ is provided to determine if a DO is at

the head of a given queue in the specified model.

These macros and functions bring the submodel

specification process up to a higher level than exclusively

using the standard C programming language, while still

maintaining a high degree of flexibility.

3.3.2.5 Load Model

The load model mode is offered to provide the modeler

with the ability to load previously defined submodel andpath definitions. These definitions are stored in a text

file with a unique format.

Submodel definitions are at the beginning of the file.

For each submodel a string containing the submodel name, the

coordinates of the upper left corner, the width, and the

Page 92: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

84

Table 3.4 Macros

Purpose Use

ADVANCE(x)

Prevents a DO from exiting Should only be used in thethe "A“ section of a submodel "A" submodel specificationuntil time x has passed. section. This macro calls

the function Advance().

BRANCH(seed, x, y, z)

Uses seed to generate a Seed must be an integerrandom number. lf the variable. X must be agenerated number is less than floating point value.x, the macro will MOVE the DO Submodels are specified byto submodel y. Otherwise the their names followed by theDO will MOVE to submodel 2. "_MODEL" extension.

COND_BRANCH(x, y, 2)

MOVEs a DO to submodel y if x X may be a logical argumentevaluates to true, or to or a function that returnssubmodel z otherwise. true or false. Submodels

are specified by their namesfollowed by the "_MODEL"extension.

DECREMENT(x, y)

Decrements the variable x by X must be a variable.amount y.

DESTROY

Used when a DO leaves the This macro callsmodel. destroy_proc(), which

destroys the DO and tellsthe program that the DO madea logical advance.

EXIT_SUBMODEL

Advance the DO directly to Used only in the "A“the "XC“ section. submodel section. The use

of this macro is appropriate‘ when the DO spends zero timein a submodel activity.

Page 93: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

I

II85 I

Table 3.4 Macros Continued

Purpose Use

INCREMENT(x, y)

lncrements the variable x by X must be a variable.amount y.

MOVE(x)

Moves the DO to the “EC“The submodel must be

section of the specified specified by the name of thesubmodel x. submodel followed by a

"_MODEL“ extension.

SET_DO(x, y)

Sets the DO attribute x to X and Y must be compatiblethe value y. variable types.

STATISTICS

Collects the proper This macro callsstatistics when a DO leaves statistics_proc(), and itsthe system. use is optional.

SYS_ENTRY

Used to collect the lnitializes DO statisticsappropriate statistical variables. Use of thisinformation when a DO enters macro is optional.the model system.

UNT1L<x>

Prevents a DO from exiting This macro should only bethe “A“ section of a submodel used in the “A“

section of auntil condition x evaluates submodel. X may be ato true. logical argument or a

function that returns trueor false.

Page 94: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

86

height of the submodel rectangle are stored. "END„OF_MODELS“is placed directly after the last submodel definition in thefile.

Path definitions follow the submodel definitionsbeginning with a string containing the path name. This isfollowed by two strings containing the _“from" and "to“

submodel names that define the end points of the path.Next, the x and y coordinates of the path are listed. Aarbitrary number of points can make up a path. Therefore,

the coordinates -1,-1 denote the end of each path. Note

that negative coordinates are impossible otherwise, since

the x and y values correspond to actual pixel positions onthe screen and the Sun color monitor does not have negative

coordinates. "END_OF_PATHS“ marks the end of path

definitions.

The "Load M“button on the main control panel starts

the process of loading a model definition by calling

loadm_proc(). This action brings up a blocking requesterthat has a PANEL_TEXT item labeled "Are you sure?" and twobuttons labeled “Load Model" and “Exit“ (see Figure 3.34).As discussed previously, the “Exit“ button executes

exit_proc() which clears the blocking requester without

loading a model.

The “Load Model“ button executes the model_load()

function. This function looks up the filename containing

the model definition in the database. Therefore, any text

Page 95: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

8 7

’ Model Editor — Load Model Mode ~- 7 ' ·3ubMod Path Spec ”„L‘ö,ä§!:j:B\ SaveMAreyou sure'7‘

EI

Load Model Ex1 t

’1E 11Ef. ‘s‘

EIf;i

1

;..—‘ — 7

Figure 3.34 Model Load Requester

Page 96: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

I

68‘

previously entered at the "Are you sure?" on the blocking

requester is ignored. Next any existing path and/orsubmodel definitions are erased using the XOR logical maskand their memory de—allocated. Finally, the new model

definition is loaded into memory and drawn onto the canvas,again using the XOR logical mask.

lf the model definition is saved frequently using the

"Save M" button, the "Load M" button can also be used as a

limited path and submodel definition deletion facility.

3.3.2.6 Save Model

The purpose of the save model mode is to create the

file containing submodel and path definitions. The save

file format follows that previously discussed in the load

model section. ‘

The "Save M" button on the main control panel starts

the process of saving a model definition by calling

savem_proc(). This brings up a blocking requester with a

PANEL_TEXT item labeled "Model:" and buttons labeled "Save

Model", "Save/Attach Model" and "Exit" (see Figure 3.35).

As mentioned previously, the "Exit" button executes

exit_proc() which clears the blocking requester without

saving a model. '

The "Save Model" button executes function model_save().

Model_save() saves the submodel and path definitions in the

file specified at the "Model " prompt in the blocking

Page 97: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

II

89 EI

Model Ed1tor’ ·I Save Model Moda ' ·· I 'Emm Path IEIEEIBEHI Load M IIIHIB owModel: I ¤IA ’

|SaveIModel} Save/Attach Model @

I

Figure 3.35 Save Model Requester

Page 98: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

90

requester. The usefulness of this option is limited due to

the fact that model definition path names are retrieved onlyfrom the database.

The "Save/Attach Model" button executes function

model_attach(). This saves the submodel and pathdefinitions in a user defined file as mentioned above, but

also stores the path in the database (see Table 3.1 in

Section 3.3.1.5). If no path is specified, then the path

defaults to the database value. Note that absolutely

nothing must be typed at the “Model " prompt, including

blanks.

3.4 The Generator

The generator creates the executable code for the

visual simulation by invoking the gen program. Selecting

the "Model Generator" icon on the main menu serves as the

invocation. The gen program accesses several files both in

the generator directory and in the directory specified for

submodel logic specification as well as making extensive use

of the database (see Table 3.1 in Section 3.3.1.5).

The "MASTER_INCLUDE.h" file is created in the same

directory as the submodel logic specifications. This file

tells the pi (process interaction) program where to find the

DO structure definition, the GLOBAL_DEF file, and the

function definitions created for each submodel.

For each submodel, a function is created and stored in

Page 99: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

91

a file named for the submodel with a “.h"extension. Thus

the function handling the "CPU“submodel would be in the

CPU.h file in the submodel logic directory. The created

function has the name "CPU_proc()“. The various files

created in the submodel specification mode of the model

editor are opened, and the code is inserted in the proper

place.

Next, the pi.h file is created. This file contains all

macro definitions and global declarations.

The pi.pre_h is copied into the pi.h file. The purpose

of this file is to allow convenient addition and deletion of

code without the need to program the changes into the gen

program.

Submodel constants are defined for each submodel.

These take the form of the model name followed by a “_MODEL“

extension. The "CPU" submodel would have a "CPU_MODEL"

unique integer constant defined for it. These constants are

used by the DOs to determine which submodel function to

execute.

Following the submodel constant definitions all user-

defined attributes are declared and initialized. The

required information to accomplish this is queried from the

"attr_dat" table in the database (see Table 3.1 in Section

3.3.1.5). The system model name is defined in, the

“MODEL_NAME“ constant.

Table 3.5 contains descriptions of the additional files

Page 100: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

1

192

Table 3.5 Program Generation Files

pi.h: Contains all global definitions.

DO_ATTRIBUTE.c¤ This file is automatically included in theDO_DEF.h file which declares the entire DO structure.Thus user defined attributes apply to all DOs as thereis only one DO structure.

DOINIT.c: This file contains the initialize() function.lnitialize() is used to initialize all variablesbetween simulation runs, whether they are user definedor not. Each DO specified in the database has it’sattributes initialized and is assigned a unique integeridentifier which is used for the determination of suchthings as inter—arrival times, priorities, etc.,

lDOINITl.c: This file is used by the initialize() function

to determine a DOs inter—arrival time based on its DOtype. The code contained in this file is designed tobe inserted within a C switch statement on the DO type.

DOINlT2.c¢ lnitializes the user defined DO attributes whenthe DOs are created.

DOSWITCH.cS Contains code that is designed to beinserted in a C switch statement on the current‘ submodel of a DO. This determines which submodelfunction the program will execute.

ANIMSWITCH.c= This file contains code designed to beinserted in a C switch statement on the submodelconstant. The purpose of this code is to convert thenumerical constant submodel names to the stringsubmodel names the animator understands.

Page 101: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

93

required by the gen program to transform the model

definition and specification into the programmed model.

To transform the programmed model into the executable

model, the gen program issues a system command to "make —f

pi_makefile" which compiles and links the pi program.

3.5 The Animation Tool

The capabilities offered by a GPVSS generated

simulation include the ability to show moving bitmap images

on the dynamic display, and to freeze/restart the animation

through user initiated interaction. When the dynamic screen

first appears, two buttons labeled "Load" and "Quit" are

shown (see Figure 3.6).

The "Quit" button calls quit_proc() which merely quits

the program. The "Load" button calls function attach_load()

which executes attach_load(). This function retrieves the

path name of the background image from the database (see

Table 3.1 in Section 3.3.1.5), loads it into a pixrect

memory structure, and then draws the image on the dynamic

display.

The dynamic display utilizes a technique known as"double buifering" to draw the dynamic objects on the screen

[Sun 1968a]. Double buffering provides smooth animation by

hiding erasing and redrawing until the next frame is ready

to be viewed. Even with rapid regeneration systems, these

operations are visible. Double buffering enables images to

Page 102: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

l2 94 *be drawn behind the currently visible frame. When drawingis complete, the buffers are switched, thereby making allthe objects on the new frame appear to have been drawninstantaneously.

Double buffering is implemented by restricting read andwrite access to a specific buffer. Limiting write access to

a buffer is achieved by dividing in half the bitplanes

associated with the canvas using the pw_putattributes()

function. Display or read access to a buffer is limited by

manipulating the colormap. Two colormaps are constructed:

one with colors associated with the low—order bits, the

other with the high-order bits. This effectively halves the

maximum available bits for color definition. Thus, a 256-

color canvas is capable of supporting two 16-color buffers.

Display of either the high- or low-order buffer is

accomplished by changing the colormap appropriately. _

Due to the use of double buffering, the background

image must be loaded into the dynamic display twice, once

for each buffer. Because write access to the canvas has

been masked, any attempt to resize the window results in the

elimination of the background image in that buffer. This

results in an undesirable flickering effect when the dynamic

display is run.

If the background image is successfully loaded,

attach_load() performs the remainder of the setting up

tasks.. Submodel and path definitions are loaded into

Page 103: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

95

memory from a path name retrieved from the database (seeiTable 3.1 in Section 3.3.1.5). If no errors wereencountered, initialize() is called to initialize allsimulation variables. Finally, attach_load() eliminates the“Load" button and brings up the “Animate“ and "Run“

buttonsh

(see Figure 3.36).

3.5.1 Animation Node

The "Animate" button starts and stops the dynamicdisplay. It executes the anim_proc() function which enablesor disables the repeated execution of the draw_objs()

function and whether or not the "Run" button is shown. Thecalls to draw_objs() are enabled by using

notify_set_itimer_func() to make the system repeatedly call

draw_objs() as often as possible. The "Run“ button is

removed due to the fact that the dynamic display must

necessarily halt in order for the simulation to execute

U properly in “Run"mode. This is because both "Animate" and

"Run" modes require the use of some of the same global

variables, thereby making it impossible to initialize the"Run“

model properly while producing a dynamic display.Therefore, making the "Run" button and the dynamic display

mutually exclusive avoids this conflict.

Draw_objs() is the heart of the dynamic display

facility. It first checks to see if any animation objectson the animation list have a start time less than or equal

Page 104: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

6 6

II2II Ü

22

I Ü

II

aa Ei ÄFigure 3.36 Animation Tool with Loaded Model

Page 105: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

97

to the animation clock. If there are, these objects areinserted into the draw list. These animation objects are

classified as "EXTEND“ objects due to the fact that allmovement between submodels is assumed to be instantaneous.

Therefore, the animation clock must halt during theirmovement.

Since all movement between submodels is assumed to be

instantaneous in simulation time, a problem arises when an

object spends zero time in a submodel. Assume an object

moves from submodel A to submodel B, spends zero time in B,

and then moves to submodel C. Since both movements occur at

identical times, care must be taken so that the same DO is

not seen moving on two different paths at the same time.

This preserves the sequential logic of the model. Thus,

instead of seeing a DO move from A to B and from B to C at

the same time, the DO moves first from A to B then from B to

C.

This solution was implemented by giving each DO a

unique integer tag. If the draw list contains a DO with the

same tag, the animation object is placed on a temporary

list. When all objects currently on the screen arrive at

their respective destinations, the temporary animation

object list becomes the draw list again and the above cycle

continues.

Code exists to animate object movements that begin at a

specified animation clock time, but are otherwise unbounded.

Page 106: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

I

98,

The animation clock does not halt during the animation as is

the case for instantaneous object movement. "EXTEND“ and

"CONCURRENT“ animation objects are maintained on separate

lists in a manner similar to that described above. No

"CONCURRENT" objects move until all the "EXTEND“ objects

have reached their destination. This_code is currently not

utilized, but could be used to animate arrivals or

departures from the model system. Note that the animation

of system arrivals should be led by the proper number of

animation time units so that the animation object arrives at

its destination at the designated time. The function

path_length() computes the number of animation steps

required to traverse a given path.

Once all current animation objects have been removed

from the animation list and place on the appropriate draw

list, the function simulate() is called.

Simulate() contains all code pertaining to the system

model. The simulation code was created under the process

interaction conceptual framework as described in Figure 3.37

reprinted from [Balci 1988, p. 294]. Simulate() updates the

simulation clock to the first event on the Future Object

List (FOL) and moves all DOs with occurrence times less than

or equal to the simulation clock (which is distinct from the

animation clock) from the FOL to the Current Object List

(COL). It then attempts to advance each DO as far as

possible until no DO may move any further.

Page 107: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

1

9 9

STARTINITIALIZATIONS

CLOCK UPDATE PHASE

CURRENT TIME = MOVE—TIME OF TI·IE FIRST OBIECT ONTHE FUTURE OBJECTS LIST (FOL)

TRANSFER ALL OBIECTS WITH MOVE-TIMES EQUAL TOTHE CURRENT TIME FROM THE FOL TO THE CURRENTs OBJECTS LIST (COL)

SCAN PHASE

MOVE THE NEXT OBJECT ON THE COL THROUGH AS· MANY PROCESSES AS POSSIBLE

ANYMORE OBIECTS

TO MOVE?

NO

TERMINATE ‘SIMULATION

?YES

I OUTPUT I

END¤·¤·¤-===·===—=·="·"‘*‘="‘Ü$Figure3.37 Process Interaction Conceptual Framework

[Balci 1988, p. 294]

Page 108: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

1

100

Since the ability to animate "CONCURRENT" animation

objects was originally incorporated, simulate() is called

until the last simulation DO movement leads the animation by

the constant "INTERVAL". "INTERVAL" must be greater than or

equal to the longest path length used for "CONCURRENT"

animation objects in order to start the animation object

early enough to arrive at the correct time.

The FRAME_LABEL of the dynamic display is updated to

reflect the current animation clock.

Lastly draw_objs() computes the new positions of the

animation objects, draws them in the background buffer,

swaps the buffers, and erases the old animation objects.

3,5.2 Run Node

The run mode provides facilities for the gathering of

statistical data using the method of replications. GPVSS

reports the average number of DOs in the system, and the

average waiting time for DOs.

Selecting the "Run" button executes stat_proc() whichl

brings up the run panel (see Figure 3.38). The run panel

provides an interface to enter! (1) "Random Number Seed",

(2) "Number of Runs", (3) "Transient Length", and (4)

"Steady State Length". Two buttons labeled "Run Simulation"

and "Exit" are located at the bottom of the panel.l

The "Exit" button calls exit_proc() which clears the

blocking requester without running the simulation.

Page 109: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

‘1

101

?11 .1

E:*"‘

1§13ä E? !i E= 1E

ä ·A

__ Sg, Ü.2 .. 6 Sg " E1*%%% 3 ä 3 B ;

2 § S g2gS S S ä ?.,. ·¤ .¤ x:euSS S E 2 ·

Q — C! Z •- t/J —i

~*Figure3.38 The Animation Tool Run Panel

Page 110: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

102 :

The "Run Simulation" button executes functionrun_sim(). This function retrieves the data entered by theuser on the run panel, initializes all variables, and runsthe simulation. The output heading, the average number ofD0s in the system for each replication, and the averagewaiting time of DOs for each replication are all output tostandard output. Instead of the animation clock beingdisplayed as the frame label, the number of the currentreplication is shown. After all replications are complete,

run_sim() closes down all windows and quits the program.

Page 111: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

2CHAPTER 4

CASE STUDIES AND TESTING

4.1 M/M/1 System

A simple computer system has one Central ProcessingUnit (CPU). Users access the system from a single keyboard

device and submit jobs to the computer.

Interarrival times of jobs to the system are

exponentially distributed with mean 200 seconds. Service

times of the CPU are exponentially distributed with mean 160

seconds.

A GPVSS model of the system was constructed using the

facilities described in Chapter 3 (see Figure 4.1). Figure

4.2 shows the running animation of the CPU_System. A job

can be seen leaving the CPU, while another is on its way

from the CPU_QUEUE to the CPU.

4.1.1 The Experimental Hodel and Results

Statistics were gathered using the "Run“ mode of the

animation tool (see Figure 4.3). The system model was

assumed to enter steady state after 3000 completed jobs.

After reaching steady state, the model was allowed to

process 15000 jobs. The method of replications was used to

gather 20 values for the average time a DO spent in the

system and the average number of DOs in the system.

103

Page 112: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

I

104 IT " " " ""‘ ’ · -· —' ~— V——-MY.I

QTgf

ä I.. I5 ige

äi

-SQT

I?

IIUJß·;E*0E HZ »‘·‘‘ ‘ ‘ ’· .,1·.«g¤u·. = ¤

Figure 4.1 M/M/1 Model

Page 113: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

I106 I

IIIÜ I‘I’IIIIIIII IIM III

IIIII II2 III

I

Figure 4.2 M/M/1 Dynamic Display

Page 114: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

106

ll

Ü *¢Ö: §’ luu

}lin

111ä2g nsg‘

Z lge CD S S zu*5 Z3 3 3 2 EE.11111 .. 2, E;:;l:{ Q E

.·=¤=:= B 12 .1 6; Ig E 6 fg) 6 ägg E E E —S‘1U U D C (U2 2 2 2 2 10: z •— K/J

rvFigure4.3 M/M/l Experimental Model

Page 115: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

1

107 V

The results of the simulation are listed in Table 4.1.

The average time a job spent in the system was between

778.998 and 821.214 seconds at the 95% confidence interval.

The average number of jobs in the system was between 3.896

and 4.116 at the 95% confidence interval.”

4.2 MVS System

A Multiple Virtual Storage (MVS) batch computer system

has two Central Processing Units [Balci 1988]. Users access

MVS through an interactive Virtual Memory (VM) computer

system running the CMS operating system. Users are

classified as follows: (1) 300 baud modem users, (2) 1200

baud modem users, (3) 2400 baud modem users, and (4) LAN

users.

Each user creates a batch program under VM/CMS and

submits it to the MVS with the distributions listed below.

User Type Interarrival Times Mean

300 baud Exponential 3200 Seconds1200 baud Exponential 640 Seconds2400 baud Exponential 1600 SecondsLAN Exponential 266.67 Seconds

The four facilities in the MVS system are the Job Entry

Subsystem (JES) scheduler, processor 1 (IPU1), processor 2

(CPU2), and the printer (PRT). Listed below are the

distributions of service times.

Page 116: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

108

Table 4.1 M/M/1 System Experimental Results

Average Waiting Time

VALUES GIVEN:

851.207 825.170 878.756 747.024 707.498727.253 822.011 851.601 812.012 781.124826.138 804.737 795.171 710.398 724.980823.250 798.654 795.861 908.723 810.554

CONFIDENCE INTERVALS FOR THE DATANumber of data points = 20Sample Mean = 800.106140Sample Varianoe = Z980.889404

Confidenoe lntervalstLevel 0.100 0.050 0.025 0.010 0.005Lower limit 783.893 778.998 774.554 769.109 765.178Upper limit 816.319 821.214 825.658 831.103 835.034

Average Number of Jobs in the System ‘

VALUES GIVEN:

4.290 4.148 4.422 3.722 3.5223.687 4.143 4.346 4.052 3.8964.119 4.037 3.964 3.531 3.6264.081 4.011 3.928 4.545 4.053

CONFIDENCE INTERVALS FOR THE DATANumber of data points = 20Sample Mean = 4.006063Sample Variance : _ 0.080510Confidenoe IntervalsrLevel 0.100 0.050 0.025 0.010 0.005Lower limit 3.922 3.896 3.873 3.845 3.825Upper limit 4.090 4.116 4.139 4.167 4.188

Page 117: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

109‘

Facility Processing Times MeanI

JES Exponential 112 SecondsCPU1 Exponential 226.67 SecondsCPU2 Exponential 300 SecondsPRT Exponential 160 Seconds

When a batch job is first submitted by a user, it goesto the JES scheduler. If both queues are empty, the JES

scheduler assigns the job to CPU1. This is because CPU1 has

the lowest average service time. If one of the queues for

CPU1 or CPU2 is not empty, the JES scheduler assigns the job

to the shortest queue.

After being serviced by a CPU, all jobs either use the

printer (PRT) with probability of 0.2, or leave the system

with probability of 0.8.

All jobs are assumed to have equal priority and all

queues are handled using the first—come—first—served

scheduling discipline. -

A GPVSS model of the system was constructed using the

facilities described in Chapter 3 (see Figure 4.4). Figure

4.5 shows the running animation of the CPUl_System. A 1200

baud job can be seen leaving the printer, while a 9600 baud

job is on its way from the printer queue to the printer.

4.2.1 The Experimental Model and Results

Statistics were gathered using the "Run" mode of the

animation tool (see Figure 4.6). The system model wasassumed to enter steady state after 3000 completed jobs.

Page 118: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

I

II

1 1 0

II

H ug II- L Iä G Ill I

· ‘

| .

E ’ VV ' ·· ‘· · V · V

VFigure4.4 MVS Model

Page 119: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

I

lll

Ü Ü Ü „E I

IÜ II

’ @I@U II “

I III IIII III

l.TII LNI I-L-I I. *1 II — IIäI @ II

E gs ms wä Z¤OOOITIFigure

4,5 MVS Dynamic Display

Page 120: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

112

G

I1E Ü I

E II.DÜF

I1

-- I¥I Ü Ü1I1 {jl} I1 Li-,

IIcn m‘ §U'} G G eE G G N

Eua g I2 E6 ä Ü

111; gg E @1 1éäs ~= 11 6, 3r. n: c12 3 g1ÜQ Ü E Z gää ää :1:%gg 6 E 6 E _1°’

Q C g lv GlS ::2 z 1: Ö

Figure 4.6 MVS Experimental Model

Page 121: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

n

113

After reaching steady state, the model was allowed to

process 15000 jobs. The method of replications was used to

gather 20 values for the average time a DO spent in the

system and the average number of DOs in the system.

The results of the simulation are listed in Table 4.2.

The average time a job spent in the system was between

2370.111 and 2508.026 seconds at the 95% confidence

interval. The average number of jobs in the system was

between 14.801 and 15.750 at the 95% confidence interval.

4.3 Capacity System

The operating system of a computer installation

controls the processing of jobs sent by three independent

terminals [Balci 1988].

When a job arrives from a terminal, it enters a queue

in front of the Input—Output unit 1 (IO1) and waits forl

processing. All of the queues in the system are handled in

arrival order (First—Come First—Served). After the job is

processed at IO1, it enters the queue in front of the

Central Processing Unit (CPU). Then, after the job is

executed at the CPU, it joins the queue in front of theInput—Output unit 2 (IO2). No limit is placed on the number

of jobs waiting in the queue in front of IO1 and CPU, but

only ten jobs are allowed at IO2 (including the one in

processing). If ten jobs are at IO2 (9 in queue and 1 in

processing), then any subsequent arrivals to IO2 are

Page 122: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

I I

114

Table 4.2 MVS System Experimental ResultsAverage Waiting TimeVALUES GIVEN:

2371.152 2296.923 2716.885 2487.397 2303.1392441.727 2371.648 2681.721 2441.719 2294.8782372.147 2961.429 2533.762 2381.045 2180.7452382.213 2344.331 2296.519 2522.246 2399.740

CONFIDENCE INTERVALS FOR THE DATANumber of data points Z 20Sample Mean Z Z439.068359Sample Variance Z 31812.566406Confidenoe Intervals:

Level 0.100 0.050 0.025 0.010 0.005Lower limit 2386.104 2370.111 2355.594 2337.806 2324.964Upper limit 2492.032 2508.026 2522.543 2540.331 2553.173

Average Number of Jobs in the SystemVALUES GIVEN:

14.733 14.319 17.175 15.677 14.30815.390 14.902 17.006 15.216 14.22814.764 18.831 15.732 14.888 13.54814.784 14.705 14.256 16.026 15.029

CONFIDENCE INTERVALS FOR THE DATA 'Number of data points Z 20Sample Mean Z 15.275742Sample Varianoe Z 1.507309

Confidenoe IntervalsrLevel 0.100 0.050 0.025 0.010 0.005

Lower limit 14.911 14.801 14.701 14.579 14.490Upper limit 15.640 15.750 15.850 15.973 16.061

Page 123: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

115

diverted to another I/O unit that is not included in ourstudy.

ÄStatistics of the distributions of interarrival times

between jobs and the processing times at each service centerare tabulated below. All values are stated in milliseconds.Terminal Interarrival Times Mean _

1 Exponential 20002 Exponential 40003 Exponential 1250

Facility Processing Times Mean

IO1 Exponential 450CPU Exponential 500IO2 Exponential 580

A GPVSS model of the system was constructed using the

facilities described in Chapter 3 (see Figure 4.7). Figure

4.8 shows the running animation of the CPU2_System. A

terminal 1 job can be seen leaving the IO1 device, while aterminal 3 job is on its way from the IO1 queue to IO1.

4.3.1 The Experimental Hodel and Results

Statistics were gathered using the "Run" mode of the

animation tool (see Figure 4.9). The system model was

assumed to enter steady state after 3000 completed jobs.

After reaching steady state, the model was allowed to

process 15000 jobs. The method of replications was used to

gather 20 values for the average time a DO spent in thesystem and the average number of DOs in the system.

Page 124: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

1 1 6‘ " ’ " ’ ’ · -— —· —~« —~——— ——--IW ‘— 1~----,--,-,-, -,,

F;1EätF

1*1.1¤'

*14

Iggg; I

·“F— I FII 11

I ||I1!°1

F?F1

6 ä Ü m Ü Üg ä U U U

Figure 4.7 Capacity Model

Page 125: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

ll'7 IYYYYVYYYY Y YYYY YYYYYYYY YYYYY Y

Ü "—

I I1'Y' {I IQ] II

¤ IQ III

auäI Iä „I — M Ü IÜ ·; I*— I- I-3 0 0 0 I

Figure 4.8 Capacity Dynamic Display

Page 126: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

1

116

Ü iE 1*·· 11E 1

11 Q

=1

m J

Q 11

6 mag 1Emääf~äaägg

E mß mWP-0 0 0 1

Figure 4.9 Capacity Experimental Model

Page 127: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

119

The results of the simulation are listed in Table 4.3.The average time a job spent in the system was between6175.095 and 6352.312 seconds at the 95% confidence

interval. The average number of jobs in the system was

between 9.546 and 9.855 at the 95% confidence interval.

4.4 Testing

A simulation model is only useful it produces

sufficiently credible results. The internal logic of GPVSS

and the logic of the model must be shown to be sufficiently

accurate. Testing refers to both Verification and

Validation. Model Verification refers to building the model

right. Model Validation refers to building the right model.

Model Verification and Validation are therefore required if

the user is to have confidence in the statistical results.

4.4.1 Verification

Both d@Sk Ch@CkI¤§ and tracinq techniques were used to

achieve model Verification. Desk checking consists of

carefully and thoroughly examining the GPVSS code for

errors. Debugging the code was an incremental process. As

each new feature was added, as many bugs as posrible were

eliminated. Additions to the code incorporated as much

previously debugged code as possible, thereby minimizing the

number of errors.

Tracing was accomplished by following all DOs as they

Page 128: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

120

Table 4.3 Capacity System Experimental Results

Average Waiting Time

VALUES GIVEN:

6391.875 6225.573 6215.359 6033.398 6324.7335928.592 5964.760 6224.833 6168.832 6198.975~ 6384.520 6423.599 6275.756 6630.325 6633.7416708.255 6113.443 6406.245 6121.348 5899.883CONFIDENCE INTERVALS FOR THE DATANumber of data points = 20Sample Mean = 6263.703125Sample Variance = 52527.960938

Confidence lntervalsrLevel 0.100 0.050 0.025 0.010 0.005Lower limit 6195.645 6175.095 6156.440 6133.583 6117.082Upper limit 6331.761 6352.312 6370.966 6393.823 6410.325

Average Number of Jobs in the System ‘

VALUES GIVEN:

9.871 9.730 9.663 9.365 9.9039.094 9.152 9.602 9.529 9.6269.918 9.918 9.602 10.422 10.268

10.490 9.386 9.923 9.428 9.120CONFIDENCE INTERVALS FOR THE DATANumber of data points = 20Sample Mean = 9.700429Sample Variance = 0.159356

Confidence Intervals:Level 0.100 0.050 0.025 0.010 0.005Lower limit 9.582 9.546 9.514 9.474 9.445Upper limit 9.819 9.855 9.887 9.927 9.956

Page 129: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

I

121

moved from one submodel to another. The "DEBUG“ variable isused to toggle the GPVSS verification facilities on and off.These remain in the code, but are currently inactive. lfthe "DEBUG" constant is defined as true, informationregarding the DO type, from submodel, to submodel, starttime, and DO tag is printed to standard output each time aDO movement occurs. The standard output can be re—directed

to a file so that careful analysis of relatively long tracesmay be performed.

4.4.2 Validation

Validation was performed by comparing the results

obtained from the three case studies discussed above with

known analytical model results.

Actual values for the M/M/1 computer system described

in Section 4.1 are 800 seconds for the average waiting time

and 4.0 for the average number of jobs in the system.

Comparison of these analytical results obtained from the

GPVSS implementation shows that these values fall within all

confidence intervals listed in Table 4.1.

Actual values for the MVS batch computer system

described in section 4.2 are 2400 seconds for the average

waiting time and 15 for the average number of jobs in the

system. Comparison of these analytical results obtained

from the GPVSS implementation shows that these values fall

within all confidence intervals listed in Table 4.2.

Page 130: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

l122

Actual values for the capacity computer system

described in Section 4.3 are 6264.047 milliseconds for the

average waiting time and 9.709 for the average number of

jobs in the system. Comparison of these analytical results

obtained from the GPVSS implementation shows that these

values fall within all confidence intervals listed in table

4.3.

Thus the statistics produced by the GPVSS models of

each of the three previously discussed systems compare

favorably with the analytical results substantiating

sufficient model validity.

Page 131: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

¤n

CHAPTER 5

USER’S MANUAL

This chapter illustrates the usage of GPVSS. For a

case study problem described in the next section, it showshow to develop and execute a visual simulation model step by

step. ‘

5.1 Round Robin System

The operating system of a computer installation with a

single CPU controls the processing of jobs sent by three

independent terminals in a round-robin manner.

The user of each terminal "thinks" for an amount of

time and sends a job to the computer system for execution.

Think times are exponentially distributed with mean 250.00

milliseconds. The user is inactive until the computer’s

response starts appearing on the terminal. Thereupon, the

user goes through a "thinking" process again and sends the

next job. The arriving jobs join a single queue, with first

come first served (FCFS) discipline on CPU access. Repeated

usage of the CPU is accomplished in a round-robin manner.

The CPU allocates to each job a maximum service quantum of

length QUANTUM (100.00) milliseconds (not including

overhead). lf the job is finished within this service time

period, it spends a fixed overhead time OVERHEAD (15.00)

123

Page 132: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

I124

milliseconds at the CPU after which a response is sent tothe originating terminal. If the job is not finished withinQUANTUM, its remaining service time is decremented by

QUANTUM and it is placed at the end of the queue afteri

spending a fixed overhead time of OVERHEAD. Job servicetimes are exponentially distributed with mean 500.00

milliseconds. All transmission times between the terminals

and the host are assumed to be negligible.

5.2 Starting GPVSS

Before starting GPVSS, it is a good idea to have adirectory already created in which the various files

associated with the model are stored. In this case, the

directory used is "/usr/bishop/test3dir“.

To activate GPVSS, make sure that

"/usr/bishop/work/top_level" is the current directory andtype "GPVSS<CR>". This brings up the GPVSS main menu (see

Figure 5.1). ‘

5.3 Drawing Images

The first step in constructing the model is to draw theimages that are used in the dynamic display. Two types of

images must be created: the system background image and the

Dynamic Object (DO) images.

To create the system background image, enter the model

editor by first selecting the "Image Editor/Model Editor"

Page 133: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

I

1 2 5„ 4.;

2:2:2:2:2:2:;::;;;:;:5;;:3:;:2:§:2:2:2:2:i=2:i;i5E;E5;;;:;:5:;:;:2:2:2:2:i:i¢E:E;£;E;E555E;:;:;:;:§:3:§:2:2:2:2¤E:E=E;E;Egégé;E;E;:2:2:§:2:§:§:2:Eri:E:E=Sri=E=E=E5E;E;E§:2:2:2:2:2:2r2:E=2:E=E¤E¤€¤E=E=€;E;E§E;E;:§$:2:2:2:2:E:E:ErE:E=E=E¤E;E=€¢E¤EQ:5E;E;:§:§:§:E:2:2:3Eriräri¢E¢€¢E=E;€;E2E{Biz;3:2:2:2:5:5:E:E¤E¤ESESS!EQS;E;E§€2E2?2E§€2:2:2:E:E¤E=ESE¤£=E=E¤E;E;E;€2EEEE?2€2:i:E:E¢E=S¤E=E=E;E=i;E2E2E2E2E2E2?2€£€2=E=EI:,2.—.ä ;é;§séäiääzääääääéäääääsäääsäsé22ésé2%;§;äää5ä;E;éää;iiE$2;2ä2ä2äs§2é6ä;ééé;é;§;§;§äääääääää6äsäs§s§s;2äs§2§;ä;é;ä;§;ä;§;ääääääääéäeäzäeäsäsäsäsisi;ä;é;ä;§;ä;ä;§;ä§ä;e;s;2;säsäzäzéeisEsi;ä2%5E2;ig?;§;§;ääs;sieäaä2;6;sE2;eésäsägägägigégégégääé;§;§;säéääzäsäsäsézäzäsäääeégägégégä;§;i;§;s;§§§;a;z;2§2ä2äsäzäs§aäs§;§2ä5§;ä;ä;ä;§;§;;;2;e;s;s;zä:;:2äeäeäsäigégägégi;ä;ä;s;e;z;s§2;säsäeäsägägägägägägäg§;§;ä;e;s;s;s;sIUI

: EI5E09+-*

E$2EEEEEEÜEEE25ÜEFEFE?EEEESEE§E§£§EÄE§E§€§Ei€§?i€E? §2§2§2;2;3;ä292ä2%2E2ä2%2523%;§2§sE2§2§2§2§2§2;2;2;vaVJ=O··-<

;22:;$::;;:3;;:;:;:5:Q:§:§:§:§:§:§:E:i:E:E¢2:;:;;; :§:Z:§:§:£:E:;:;¤;¤;=;5;;:5:;:§:§:§:§:§:§:§:§:E:i:§:+*

2E2§§§E§EiigE;E;§2E;€;S22;S25;E2?2§2€2§2§2§2§2§2§&;£ $2;;2?2$$2;§2§2Eéäägäg2;E;E;E;E;§;£;E;S252§2§;§2§=¤g

·—-3

2 .Z'*"E U E 2äzäääzä;E2E25;S2§;§2$2;2§2§2§2§z§2§2;2;2;%§&;Ezäzä; Eéäääää2Eäsäzä2ä2ä2E2ä2§2§2§2§2§2§2§2§2§s§a§2§2§z;2

’E :2¤J•*

2 22Eéäääéäéäéäääääéiääéäääéäääääzäääöäaääääééääääiäää ° äéééiéiääääääääiäiäiääääääiésäää2§2§2§2§2§é§2§S§;ä;ä2 E s20.. - ; ä2?Ä?2§Ä§Ä§§§§§§§Ä§E2E2E§?2E2€2E2?2?2?2€2?§?2§Ä§€§§§ 2 äääsäéäéäéééääéäääääsäääääsäsäsäaäzäsésäeééäeééäääéi

S- gv Q ·¤i;§2§2;2;2;252;2;;52;;;ggg;g;;;§;§;§;§;§;§2§2;2;2;2; „ 2§2§2§2§2§2§£;2;2;£;é;E553;;;;§;§2§2§2§s§2§2§2§2§2

= ¤ ; 2 2äääää2§2§é§;ä;§;2;s;aäaäaisäi2§2ä2§2§s§2§S§§§;§é§; ,_ äzäääääéäéäEäéää䧧;§ä§ä2§2éeézäééääsäääéäéééäääéäL ’“g——· =·»¤"°E Eäsig;äaégägigä5§;§;§;ä;;§zäaäzäzäsäzäsésägägääägäg 2¤>

é2§2§2§2§é;€s;;;;§2;2§2§2§2§2§2§2§2§2ä2§2;2§%§2;¥;Ss V- 2iéäéééäé22%;S23;Es;2§2§2§2ä2§2§2§2§2§2ä2§S§éäSsS;éQ, -

"‘aäSäséääéäéäéaézéaésäaäaäs;z;2§s§sä2§2§2§2äaéééäääié ·—

·· ézäsä%ä2§éäéäé§é§é§32é2¥s;2ieäéääsäzäaäsäééééääéäéäU

2:2:2:E=E=E=E=ErE¤E¤:5z2:5:2:2:2:2:2:2:2=2:E¤2=i:Erf 3 "I :2=2:2:E¤2¤E=E¤ErE;E=E¤E2:2:2:2E2:2:2:2:i¤€=E¤E¤E¤E¤>ä¤-2S25;525252€2=2=2:2¤i=&=£=é=E=ä=E=i=é=é=E=E=E=E=E=:=

Figure 5.1 GPVSS Main Menu

Page 134: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

w

|

126 Y

Icon on the main menu. This brings up a blocking requesterasking the user to input the name of the system

model (see Figure 5.2). In this case, type "CPU3_System“and then select the “Construct Model" button. This startsthe Image Editor/Model Editor as a separate process (seeFigure 5.3).

Resize the window as desired (see Figure 5.4). If help

with the SunView interface is needed, see the SunView

Programmers Guide [Sun 1988a].

The background is now drawn using the pen, line,

rectangle, and select modes as described in Chapter 3. Thequality of the background is limited only by the patience

and artistic capability of the modeler. Be sure to read

carefully Section 3.3.1.4 as it describes uses of the selectmode that come in extremely handy when creating/erasing

images. Once the background is completed, it should looksomething like Figure 5.5.

Since we now have a completed background that we wishto associate with this model, select the "Save" button onthe image editor panel. This brings up a blocking requester

for the filename (see Figure 5.6). Enter a path

name at the “File " item and Select the “Save/Attach

Background“ button. This saves the background in the

specified file and place an entry in the "model_dat"

relation in the INGRES database (see Table 3.1 in Section

3.3.1.5) associating this file with the background image of

Page 135: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

N

127__ -C $:7:::::::::7:Yt7:7:7:7:7:Y:¥:::::7:7;::7:7:7:75:!:7:¢:¥:€;€:€:¥:T:¢:€:7:?:7;Z:!:!:Z;7:C:Z33:2Z:€;Z;!:$;Z;Z;¢:Z;E32;!·I~I·!-Z-Z·I-C-Z—I·€~Z·I-Z·Z·Z-Z-Z-1-1-E·Z~2-:-9-2-7>I·Z-1-Z·:·:~:·'-:-:·:»:·:~:·:·:·'·‘·*-:·‘·‘-'-‘-'—*-'····:-·-·-·-···•·-·~·:-·-·.·.·.·.~.·.·.-.-.-.·.·.~.·.·.·.-.-.-.~·.~.·.·.~.--~~·~·--~—------~.....................,......· · 4 W:§:§:§:§:§:§:Q:§:§:f1}:Q:§:Q:Q:Q:{:§:Q:Qzi:Q;5:Z:Z:Z;¥;¥;Z;Zgf;Z;2;I;?;Z3I:3;133;I;I3I;Z;2;Z;I;I;Z;t;Z;Z;:;:;:;:;:;C;Z;:;:fcf:{rf:}:§:§:§:§:Qzf:Q:{:Q:Q:Q;}:§:Q:}:Q:§:1;Z:C11;f;Z:2;Z;1;I;Z;1;€§!;I;Z;I;I;C;I;If!}:}I;:§:§:§:§:Q:§:§:§:§:§:§:§:§:§:§:§:§;§:§:Q;§:§:Q;Q;Q:§;Q;F;I;2:C;7;!;Z;Z;I;I;Z;Igift;I;I;Z;:;I{Zftftfi§:§:§:§:§:§:§:§:Q:Q:§:f:§:§:§:§:{:§:§:Q:Q;Q;Qgf;?:f;I;Z;¥;I;I;I;I;I;¢;I;I;1;:5;:;rf:§:§:f:§t§:§:§:§:§

· E éiéééäéééE2ééäéE2äEäzäézizäzäééézéséééä2ésä2äzäsé2ä%ä2§2§2;EéäääääääéääääääääääääéäääääE;äääääääääää;§;§;§;§ää;§;§;ä;E;äägE;ägäéäééääééä2ézäsäää2EzééäEeésäzäsäsää2E2éäää;ääääääääääääääääääääé;äiäääää;§;§;§;§;§;ä;§;ä;§;ä;é;§;§;§;ä2§;ä2§2§2ä6éE5éE22;EeäaéeE2éeäääääEäääéäääääii;ääääéääséää;§;§;ä;ä;é;é;§;§;§;§;§;ä;§;ä2ä2ä2222äeää6izisäeäsäaäaäsäsäsää;ääéääääää;§;ä;é;§;E;E;§;ä;§;§;§;§;§;§;ä;ä;§;§gägägägégä“_uääéäääsääiéääiääsäsisäéäéäéäéäéésäsésäsäsäsS2äaäääzäéésäsäaäsäzä2§2§2§22s§aäsäsäsäeäsäaäzisäsäsäaäzäsässeäs§2äzä2ä;;säs§s;s%s;s%s%2%säséäääéäéééäéääéääéäéé%§é§Sé&äé§éä6§2§é§éä2§2äéäzésäzäsäsäsäsä2§2§2§sésäsésä2;:;;äséaäsäzä652%%1éäaßséäéééééééäéäääéäéääééäéäääéééäéäéééé2äéiéäääéäSäéäéS2ääsäsE2ääéä2é2ää2äsäs§sésä2%zäsésäsS2E?éäéäéäéääééäéäéäéäSES?SEéééäéäSiEäéiEäéäéééäSESééiSESéäéé2ä&é2ä2é2é6ä2§2äsäéésäsäzé

' ‘ 3äsäsäsäaä;E;E2E2F2P;5zE;E;E2€2€;E;E;S;E;E;E;?;ä;?;E;E;ä;E;555;;E;E;E;E;E;9;2;£;i;E;5;&;E;ä;&;E;S5S;E;E;ä;2;&;égägégégägéiägäääiäisäsi2§2§2§a§&§z§sisäsäsiäisöääsäsäzäsäsSai;3;i;Esé;S;E;E;5;E;é;E;€;Ssäsäsägé;é;é;E;S;S;ägägigéiääEäéiséEééääéääsééiiéaäsäaäzizäzisä2§;§25;5z52?2ä2é2€2EsR25;E;%;E;EsE;E;£2S;%;ä;ä;S;E;ä;E;ä;&§E;5äéeääääééäiEääéääzäéäéääääisäzi;§2§2€Ei2ääfsfzäz€25sf2€;E2E;E;E;€aäzéséaieE;€;€;E;E;E;S;S;E;E§I'

E69W>~· zEgägsgsgagagsgsgzgägsgzgz;2;2;z;;;s;2§2§2§2§s§;§z§; E§€;E;E§i§EgE5E5E;E§E§E§E§E§E§E§EÄEÄEÄEEEEEEEEESESV9 E Qäéäéäääéäéäääéääiääää;;;ä§ää§ä§%§éä2ä2§2é2ä2éé§äeé ä;§ääää2é2§;§;§é§%§eäsäééséaésäsésäsäsäéäääaääääéäää:10; ;2;;;gagagsg2;32;;;2;2;;;§;;s§;§s§2§2§s§2§s§z§;§2 E{E5E;E5SEEÄEÄEEESEESESESESEäiäiäiäiääääéiäiääéiäii

···* ' ri:ErE=£¢E¤E¤?=E=E=E¢E=E=E¢ErE:5:3:E=£:§:£rE:E:E:E:£ E¢E¤E¤E=ErE¤E¤S¤E=E¢E¢§¤E¢E=E¤E¢E=ErE:E¢E:E:E:E:£:E€+-> = Qs§;§2§;iz§;;2§a§2§e§s§25;EsE§2%2%2E25;äsEa52?2ä2€; 2E2E;EaäääzE2E2$52525;ä2ä;52E2Es€2E;€;E2%;Esfsféza=¤ i :22:2:2:2:5:2:2:2:2:$25säzäsäaäeézäsäääaEsäsäsäeäe sE2EaéeäzfsEzäzfzäéäéaE252EsEzEz¥25;5a¥2€2äs?sEsE;2·-—ä:¤= §2§2§s§zäsizis;2;;§2§2§;§;§;§;§;§;§;§;§s§s§s$6;;;2 25;;;2§;§;§s§;§2§;§;§2§e§;§;§;§;§;§2§z§2§2§6é2E;Ea5

Em··:,_.S N E?§?§€§?§€§?§?§?䀧€§€§?€?ääääiää?€?§?§?§?ä?§?§€§?§? EääéäiääiäiääääéäiäiäéäääääiäääääéääééäéäéäéäéEéääééW :-:·:—;·:~:-:·:—:-:·:·:·:-:-:-:·:¢:¥:7:¥:¢:7:?:?:?:?¢¤ ä E EEääääääääääEäééiéääSizfaäääzEzäaäsäzäaäzfeäsäsäzäz SääfääéäzE2E2S;E;%2€;Ezäeäääz?;52ä2Ea€2E;5s%&%;5;5;E5 * E FEääääääéääéifäääE§?§E§?E€EE?§?䀧?§?§?§€§?é?§?§ EE§€§E䥧?§?§€é?§€§?ä?ä?§?§?§€§?§€§?§?§?§€§€ääé?§?€?§ S

S”T SZZq;_1

‘-" ai;§2§2§2§&§s§z§2§2§§§§§§§z§§§§§§§§§§§§§§§§§§§§5§éä; is;2§§§2§§§§§§§§§§;䧧;ägägéééééääéäéääéääséééääääéä

W ¤= i S S ?EäéäsfEfääsäiisäääzäzäzäzäaääfzSs5;2sE;E;5;ä;5§E§E; säaäzäaäz?;5;E;EeiségE;E;€;E§E§E§Eiéäiäääiiiäääi§2§£O E ä S ä äéäéäéäéééäéäéäéééäéäéééééäééeésäéäsäsäzäzäaäaäsäsée 2äeääézéääéäsiaäéää2ézésäsia§2§2§2§aä2äe§2§2ä2;2;2;E- - „- EiiEääääiiéääéääääääääiääääääéäääääääéääääääéääiäää E?§?§?§€§?§?§?§?äääääääääEäiäiääéäääääääääääääääääé¤ g gä°‘g N * = EEiSäääEäääEééäfiääääääääääéäéäääéiäääééäéééäéäéäééä • ?ĀĀ§E§E§?SEE}?EE?FEEÄEEEÄEEEEEEEEEEEEEEEEÄÄEÄQS< .„ :

1; S ? S ;z§2§2§;§2$2;;;2§a§s;;§§§äiäääéiääéäféäääääääéäääi zi2§2§2§ä§§§2§2§§§§§ääEEEääääääääääääääääéäéääääääää;„, >, U i Q :5:5;;:;:;:3;;:;:;;;:5;;;5:51;;;E;E;E;E;E;E;E;§;§;i; ¤ 3:;:;:5:;:;:5:;:5:3:55;E;E5E;E;E;S;E;E;E;E;EgE;E;i:5~_-_-_~_._„_„_._._._._._._. ._„_._._.„...... U) _._._._._._._._._.............,. . .~,

2"’„ ? ® E Ü %2%2$2%;¥sfzäsäaäääaä2E252S§E2S2E;E;S§E§ä§?ä䧀äääéä äE2äeézääfzE2FzääääEéäfäääféEäééääääääääääéäääéäääEM ¤> §:{cf:§:§:fx}:fz}:{1}:;}:}:}:§:{:Q:§:§:§:§:§:§;§:§: :{:§:§:§:§:§:Q:§:§:§:§:§:§:§:§:§:§:§:§:§:§:}:§:§:§:§2 ä °° EE?€€€?€i€?€€€?€?§€€?€5€E€EE?€?Ä€€€€€€€€€€€€€€EE5€€E U- €€€€§?€€§€€€§E€€€€€€€€€€€€ÄEÄEEEÄ?€€€?€€€€€?€€€iEä€i

<~ U Q g äää;§;§;ä;§;§;ä;§;€;é;§;ä;ägägägägägägägägägägägég$5 ·- „« gi;§;i;§;ä;i5é;§;§;§;§;§;é;i;ägägégägägägägägigägägi«> .. ; ääéäéäéäéäSäéäéäéäéäéiääéiéäsäséäsé2§2§2§2§2ä&ä2§2 S '7 Säéäéäääéäééääéäéäéäéäéésäzééä2ä%ä2ä2§2ä2ésä2é2é2ä2§« g.·I-I-PI-I-I-Z-Z·Z-Z-i·I~2~I·T·Z·I·Z·I-Z-Z·Z·I·$·Z *" C I—I—Z·Z·Z—I—I·Z·l-I-I·I·I-1+2·Z·Z-Z-I-I—Z·Z—Z-I-}>'E¤.‘g* EE§2§2§2§2§2§2§2§2§;§2§;§;§2§2§e§;§;§;§;§;§;§;§s§;§; 'E ä 2§2äzizizéää2§2§2§2§2§2§2§;§;§2§;§2§2§;§;§s§;§;§;§;§Q I E °___F

1 re 5.SU 2 System Model Name Requester

Page 136: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

1I

·*~.•{äsäsäzäaäaäsäsäzäeäsäsäs§;§2§z;2;s§s§2§säsäséeäsésäzäésäz%sS2Sz%2%sézS2Szésä;és&sé;%aS;é;é2e2é2;2z2§2§2äéäéäéäééééäézäzäääzéääsäääéésäzäzääiääaäzésäzäsäieäsäaäeäsäaäzäsäzäsäaäsäsisäzéaésézäsäzäa%2%2%e%zS2éaSeésééääääéiääéäéääééäéäéäéäéäéäéiéäéääééäéäééääsééééäéäsä2E2äzäsäsésäsäséésäaäsäsééäséséa52%zäeéésäsäézéäéééäéäéäéäéäéäéäéäéééäéäéäéääiéäääéäéääiéäééääSiéé2ä2äääéäéäéäééééäééäéäSi2äéäsééézéääsäzäéééäzäsäé_ ’Ziäääz5säsä;ä2€2%s%sS25;ézS;E;EaE;S;E;S;5;&;ä;€zE§E;E;ä§é§é§E§%§ääääéäääääääéääéäääiéäiäéäéiäiiääää§&§2§&§E§&§2§2§2§2§£§2§2§ais§2§säääsésiäisäsäsäääsäzäsäaäaäaäzäsäaä;EsS;S;E;E;E;E;EaE;ä;E;€§ä§%§EäE§E§E§EäS§&éEääiéééäéiäiäääizääääääiää2§2§2äs§2äzizizä2é2§2§2§;5;§2€z§sE2ä;E;ä;E;E;Ee5;€;E;E;Eeä§EEEäéiääääEäéääEEEE?EEEEEEääääEäääiéäEiääääääääéäéiääaäaäzäzisiaiziääziääs52EafzäzEzE;E;ä;€;ä;E;E;%2S;E;E;E;E;E;&;E;äzésézis'

‘ 3aiaä2;;s§2§s§s§s§s§;§;§2§;§;§;§s§;§;§;ä;5;E2E;i;E;E;S;€;i;€;E;5;5;E;E;S;E;S;E;E;E;E;é;E;E;S;€;E;ä;2gägägägägägägigägä;£;ä;&;£;s;2;&;s;2;ä;z;égäiääzgägääaisisizi;§2§a§z§;§;§2§;§s§säz3;525s€s&;€;ä2§;é;€;E;E;E;€;E;ä;é;E;£;S;ägégE;E;2;Egägägägägägégsgzgzgsgäg2;;isgsiégsieis§z§2§2§s§2§;E;§;%;E;é;?;€;é;€;i;S;E;E5E;§;EzE;E;E;E;é;&;§;E5E;€;é;&;E;E;égägä;égägä32;2;2;2;2;2;2i2§2§2E2äsizisäsäaiziäiziaiaiz§;€2§2E;E2E;E2E2E;%s

I: ¤" ¤:¤:¢:¢:¢:¤:Z:¢:¤:¤:¤:¤:¤;Z:¤5:1:Z;21:5:5:¢:=;¤;=;Z:¤;¤;:;¤;:;:;¢;S;SE:§:§:S15zi:E12:}zi:§:§:§:§:§:§:§:Q:Q:{2;:{zi:E:§:{:§:§:§:§:§:Qzgzgzg:5:3:;:5:5:5;;:;;;;g;Q;;;=;¤;=;2:;:;:5;:;:;:;:§:§:§:$:§:§:i:§:§:§:§:§:§:Q:}:5:;:;:;:}:3;;:Q:Q:3;§;;;g:5;3;:;;;:g;ggggg;g;;;g;g;g;g;gg}cizi:Q:}:§:§:§:§:§:§:§:§:§:§:§:§:;:;;3:;:;;;:5;gg;gz;;g;;;;;g;ggg;g;g;g;g;g;g;g;g;g;;;g;g;g;g;g;g;g;g;gig;igiziz$:;;:}:}:;:}:}:;:;:3:

q-;-;-;-;-;-;-;-;-:2;-;-;~;Z;:;:;I;:;I;I;I;:;:;:;:;r;t;:;:;:;:;2;2;:;:;:;:;:5;1;1;:5;:;:;2;:;:;:;:5;:;:;:;:;:;:;:Q:{:}:§:§:{cg:{:;:;:;;;:;:;;;:}:3:3;g;};Q;S;¤;3;;;::I;I;¤;Z;¢;¤;:;:;:;:;:;:;:;:;:;:;:;:;:;:5;:;:;2;2;:;:5;:;:;:;:;:;:;:;:§:§:§:§:§:§:§:§:§:Q:§:Q1};§:§:§;Qxg:§;§;Q3};Q;Q3;;;Q;g;;;;;g;Z;:;:;:;:;¢;:;:;1;:;:5;:;:;2;:;:;:E:§:§:§:§:§:§:§:§:§:§:§;§;{:}:3Q:§;§;;;;;Q:;:5;;;;g;g;g;g;g;g;:;2;:5;:;:;:;:;:;:;2;:;:;:;:;:;:;:;:;:;:;:§:§:ääifääääiäiäiäéfifäEEEéäiääääiäiäääEäääE§E§E§Séäiiää?Ef?EFE?i¥E%i?EFE€£¥2?£fEEEFääääéfs52%%2F2?zäzäääs5éfzääES2Eääsäeä2Esäzää2E;SieEsi;é5ä;E;%;E;%;Egi;§§E§S§£;&§&iiiEääE2EEäiääEzäziäiäiäiäääéaiääsE2;si;F2525252F;5aE;ä;5;E;E;ä;E;§;E;E5E;E;i;E5555;3;%;Egägäg2;EgägägEgi;E;E;ägägégzgägsg2g252;;;;252;;$6$2;%;§;§;§;§;§;;;§;E;E35;E;€;E;£;S;£;QgégägägEgégägs5252;;;ga;22;;;25;;;;;;;;;;;;;;;;;;;;;;§;§;ggg;gggg;gggggggggE;i;£;2;2;£;2;;;ägsgsgsg;

§s§s§s§2§2§;§2§2§2§s§ais5;%;5;és¥;€;E2€;ä;3;é;225;E;i;é;E;E;5;&;S§?;S§E;&§5EEä&§E§é§&§E§5§E§2§äääääiääéésäääzizésE2äaisis§2§2§s§2§s§;§2§2§2§2§2§2ä2§2§2§s§2§&§2ä2EzEsE25;E2E;E25;E2E;SzE;5;E;S;é;S;S;ä§EäS§§;ä§EäéäääEiäiäääEE?éäääéäéiéäéäéééäääéiäiéääiääziääsäéäsäääsäéäzieäzisäsizisäsäsfsfsäääéä6EzäaäésEsääaézE2€;€;ä;EEE5éEEEäéäéääääééääääääéäiäiäääééiäéäiéiäiäiäääiEE2§2§2§E2éääaäsE2äaääfzäz5252525252i2Ezf25;éz?;E;äéEEäééäääiäääéééääéSéééäääééä

äägégéäégääéäégääéäägägä;igägägE§äääää3ägégégägägägégägägégégägégé;ääägégégägigégäéäéäéäéäääääääéäéäéäéäéäSäääéääiéäéäääääääääzääiéääääääiiää;§§§;§§ä;ä§ä;§;Egégääägägigigägägägäg§;é;§§§;§;䧧;äääääää2§5§&§S§2§ä§Säéäéäéäsäsisgaäsäzgsgsgz;;§s;;;z§;;;§;§§;§;§§§;§;§;§;§;§;ä;ägägégägéäägäg§;ä;§;ägéäääääää§;§;§;ä;§;ägégE5äéäéäéäéä2äéäzäsésésäsäésizäeizä22;;;2;äz;s§2§E§§§äääägä;é;§;§;§;ä;ägägägégägägägégégägägägägEgiaézéääeäeiz§2és§2§2§2§z;2§2§säz§*:::¢:¥:¢5:7:¢:¥:¢:¥:¢:¥:¥:¥:¤:¢:¤:¤:Zci:F:¤:Z:¢:¥:¢:¤:¤:¤:¤;¤;1;Z;1;I:¢:¤;¤;1;¤;¢i¤EIZIEZEIEIE:§:§r§ZZEric}:Et{zit?:Z:E:ZS5:*:¢:¢:¤:¤:Z5:¤:¢:¤:¤:¤:¢:Z;1:¤:1:1:1:1:1:1:1;3:21:1:1:1:5;I;:;:;:E:§:§:§:Z:§:§:§:§:§:§:§:§:§:§:§:§:§:§:{2}:}:;§:¤:Z:§:1:25:Z:1:Z;22:9:1:1;2:1;1;S;I;¤;I;1;I;I;t;:;:;Z5;:;2;:;:;:;2;:;:§:§:§:{:§:§:{2{:§:Q:}:Q:§:§:{;Q:3;;;:;:Zgg;§;¥;ls;¤;I;r;:;:;25;:;I;:;r;:;:;:;:;:;:5;:;:;:;:;:;:;:}:}:3;}:;:g:Q;;:;:;;;;};g;g;g;g;$@55;;;2;égägägz;2;2;2;2;;;55;;;2;z;s;2;2;2;2;2;2;s;2;2;;;2;;;s;;;2;;gsgagzge;52;;;2;ag25;;;2;;;;;s;;;2;;;z;;;2;;§;;;§;§;§;§;§;§;§;§55;;;;;;§;§;§5§5ä;E;E;€5€;£;i;E;£;E5EgägS;E5£;S;E;EgégägigägägägägägägEgägégägägégägägEgägigägsgägägzgägäiää$;2§ä§2§2§;§2§;§&§s§2E2;;2§2§2§2§;?;EaäsääE;ä;ä;E2E;5;E;E2?;E;i;EzEzEzfeé;%;€;E;E;E;S;E;E;E;E;€;i;E;€;S;€;E;E§€;&;&EEiäääiiiääääääéäi$2iäiäééääfäfäääféääfääifääääääsäéääaäääaäaääsäafaääf;E2EsE2E;E;E;EI “ —"‘“ °—-0Ü

I·I-I·I·Z·Z-Z·t-:+2-:-:-:·:-:·:~:-:·:~:·:-:-:?:¢;Z:Z:Z:1zi:Z:Zgigf;Z;I:Z;Z;I;Z;Z;1;i;Z;C;1;Z;C;I;I;1;I-2;:-Z-:-1-:-:·:-:·:-:-:-:-:-:-:-:~:-:-:·:Z;€:¥;C;C;Z;I;Z;Z;C;°

:Qzi:§:§:§:§:§:§:§:§zi:}:§:§:§;§:§:§:§:Q:§:Q;Q:§:g;;;Q;};I;¤;I;1;¤;S;S;:;r;1;:;:;:;:;:;:;:;:;:;:;:;:;:5fz;:§:§:{1;z}:;;;:;:}:;:;:;;;:;:5;g:;;g;g3;:;;;:;;;:;:;:;:;:;

ä Ei’:3;5:gigigigE555535;;E;E;E;E;E5Egigigägägigigigägig 5;gE;E;EgägägigigigigigigégE;E;E5E;E;E5§;E3E3E;E55;Eg §;E;E5EgigE;E;§;53E;E5E;5525E5E;E;E;E5E;E;E;E:E;§;E; gigigE;i;?;E;E;E;E;E5E;E5E;EgE;E;E;E;£:E;E:i:§:§:§;;

¤ I4 $292%;%E2E2E2525;E2?2E;§2%z€2E;é25;5;%2%z52Eääaäzäz 2E2E2$25;%;5;%252äaE252Ezääfzäzäafsäääsääääfäéääää3 gägägägégägägäzééäéäzäéééäzäéäéésééäéäéäsäéääääéé éäéäéäéäääaäéäéäéäääéäéäéäéäéäéäéééäääääaäéésiéäéäéä.125555;E;E;E;E;E;E;EgE;EgigigigE;E;i;E;E;E;§;E;E;E;i; 5E;E;E;E;E3i;E;E;E5§E;E;E;E;E;E5i;E5E;E;€;E;E;E;E¤E§2§2§;§2;s§2§z§2$$2;;;iz;s§2§;§;§a§;§;§2§z;;§;§;§§ aäa§s§2§2§2§2§a§s§s§2§2§;§s§s§;§2§z§2§s§;§;§zäsésäää¤ä

Efi2;:•·· IgZ;Z;I;Z;Z;Z;:;i;Z;2;:;:;Z::;:;:5:2:1;:;:;:;:;:;;; ,\ gi;I;2;Z;2;Z;Z;Z;2gZ;I;Z;I;I;Z;I;Z;2;Z;Z;Z;Z;2::;::1

C 1„ zE2EsE;EsEz?;¥;5;5;ä;52Eaäzäääsäsäsäzäsäääsäaäääzäsfg ;:;1 §2§2§s§2§2§s§z§;§;§s§2§s§z§;§s§2§;§2§2§;§;§2;;§;§;§; E; z§;§;§z$2i2§;§2§;§2;;$2;;;§;§2§2§a§2§;§s§s§2§;§;§;§

1 ¤ äääéäääääéäiääEEäääääääääääéäääääääääääéäéäääéäéääääK"L0"J éi, 1}:§:{:§:§:§:§:§:§:§:§:§:?:¢:Z:¢:¢:¥:¥:¢:¢Ö?Ä¢EZÄ¢ÖZVK Q:§:§:§:§:§:§:{3:}:}:§:§:?:¢:¢:¢:?:¢:Z:¥:¥:¢:¥:?:?:jf 22.3;5;;:3;;;:;;;:::;:;:;:;:5rE¤€rE:E¤€=£¤E=E:E:E=E=Er?,. ;5;55:3;;;3:;;;5;5:5;5;:5:E:E¤E:E:E¤E=i¤E¤E:E:E¢E¢

~¤ gzgsgsgs;2§2;;§2§sizisäzäsS23;%;E;E;E;E;S;é;E;¥;§;¥; o 5 zgägsgs;2;;2gsgzg2;g2;;;§;§s52§;E;E;E;€;ä2€;E2€;E3 é ägégä;2;2;2;2;&;z;2;&;2;2;zgäzaäsgsäafsösfaä;EsE2E;€•» E2. ga;2g32;;;;6gagzgs:2:äafsäsEsä2äaE;é;€;ä2%2€;f2ä2 ; 2;2;6;6;2;z;2;2;5;;:;;:;;s:2?sés:sE2EsE2E;E252325;%5; H gz;2:;:2:2:2:2:;:;:22525s%;E;E2E;EsE;E2E;E;E;S;S23; W 2:2:2:2:2:2:2=2:2:2:2:2€;=;E2E2E2E;E2E;E;E;€;€2€;E;E

E .. 4: ä 2äs§E§2§2$2;§2§2§2§2§sE25252%;Eafafääsäaäsäzäzäzfää•-« III} z i~- ·; e i zWFi

5 3 ·sure . Image Editor/Model Editor

Page 137: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

I129

! I II

I

FV I„ZE

I" |€‘I

{_I· I

ä? IZQ

;,,~·‘ If;

m¤ID ;·.

g av5**L ·•· I',.9 .1 ?·•·•ff**6 ‘

w IE a__ ·;:£¤;A‘;„: •.¢>„:z=—<„$&:t?¤$;&a«ax€A*a.LAm12ix§s¥sJ—?•;«.x.$:2.%aä¤;«;;:;«»·.xL;. Ak:. r·:».» . „:.; .. ;=e.¤¤‘ . ;„.u„„,¢. .::.:.:u„i. ...;.52:-»sr$:¤.*?;iĀ߄a?!Ar=d•..*:Figure

5.4 Re—sized Image Editor

Page 138: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

|

1 30

*sg iääiiE;

·— M M .1- 1- I- EV E;." U U U [UU

'; !‘¤ *‘ 21.2O U SE:=22

·.€__(‘

0 -4 «i'E2 2•—•__ ·- wm"' .‘ 2*** ’“ ”’ " ’ ‘*#«""2H _]

Flgure 5.5 Completed Background Image

Page 139: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

1

1

131

2!_’

15 11

{Q 1

1gi!

ETEl

: 1ä {2°

Ü> 12 12U,2.

2 E 1:¤:1:E O o täg E E2 2 T5 1_62:2: 3 2 · — VL! VT}. x IU__

P_„ S 2 2 1-

2 TZ ‘° I3 EI 1] Q.1 >~ zu •-•1Z1 Ä Ü 12 ä ” E 1E S " „

0 49·¤

4-• 07 {Ä E Ä E 1 1g- •-•.¤¤.fn ä c äL E Ä 2 E 10 .1 ä •-• ,

S :1 ÄÜ EE·¤ \ m \

'·• !"“

ZFigure 5.6 Saving the Background Image

Page 140: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

I

132

this model.

Now design the DO images. To clear the screen, selectthe "Quit" button and re—enter the image editor. Once theDO images are completed they should look like something

resembling the images in Figure 5.7. The images must nowbe saved as objects. Select the image of a DO originatingfrom Terminal 1 using procedures discussed in section

3.3.1.4 (see Figure 5.8). Select the "Save" button againand fill in the appropriate file name and object name (see

Figure 5.9). Select the "Save/Attach Object" button to

store the DO image in the specified file and to place an

entry in the database (see Table 3.1 in Section 3.3.1.5) so

that the DO image may be referenced by name. Repeat this

process for the DOs originating from Terminal 2 and Terminal

3 using "job2" and "job3" for the DO names.

5.4 Defining the Model

Once these tasks have been accomplished, resize the

window and enter the model editor. To enter the model

editor, first erase the DO images and re—load the background

image. Select "Load" button from the menu, then select the"Load Attached Background" button (see Figure 5.10). This

results in the restoration of the previously saved

background image. Note that the editor is still in select

mode, but any previously selected image has been destroyed

by the image loading process (see Figure 5.11). Now select

Page 141: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

I

Il33¤¤3

mE·=

3 ;gägi5ägägägägägägägägägägägägägägägägégägégégägägg‘°z,,·»g,3==3"’

QEQEQEQÖQÖQE{EQZÄQÄQÄ}EQÄQEQÄQEQÄQEQEQEQEQÄQEQÄQEQE Q E3E5E;:5E5Egä3E;553gE5E;E;E5E;E;i;ä;E;E;E;&;E;£;E;§;•¤>LEB"" {F 2§2§2§2§s§2§2§2§2§2;;;zi2§2;;;;§2§2§;§2§;§;§;§;§;§;§"’* E2äzä2ääiäiää2iaizäsä2i2§2§2§;§;§;§;§;§6§;§2§;§;§;§;

" 33 éääéäéäéééäéiaéääéäéäéäéäsäéäéEeäsésäéésääésäeäzäaä : gä;ä;§;§;§;§;§;§;ä3ä;égégägägägägégég§;ä;é2é6é2és§2äE a 3

rF1Sure5.7 Dynamic Object Images

Page 142: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

I

1 3 4_ -C :*:75:::¥:¢:*I¢I¥r:$t¥!$Z?:7$:*:75:?:?:7I*I:I:?Z:¥:I*!:¥:f:¤:¥::¤¢:¤7;Z:1:?:¥:¥:¢:k?:¥:!:¥:¢:¤:?:?:!:¥:¥:¢:¥:¤:Z:¥:¢:¥:¤:3:2:f;1:Y:I;I:¢:3:¤:¢~1·!·¤-I-I-Z~I·¥-I·:-:·¢·r-r-:-:-:-2-::·:-:·:·¤¤:-:•:·:·x~:·>:·:-:—:·:·:·:-:·:-:-:-:-:-:·:-:-:·:~:·:·:-:-:-:-:-:-:-:·:~:—:-:-·-·-·----—-·--—-·—·------·:-3----—----·-·--·---·.--·.-·.-.-.-.-.—.·.-.—.~.·.-.-.-.·.—.-.-.—.-.·.·.-.-.-.-.· — -«.~.-.·' ‘'

I = gägégägäségégégégägégägsgägägégäzäeäe;2äs2e2ääs2äséäääääEs?2äääsääéäéäääéääääséääääääsääääéäéääaääéséäéääääsäsääé;%;%;§;ä3§;%;é2§;é;é2é;ä;é;é;ä;éääséääsä;égäsäägägää22;%;é522äeäéääääääéäéäääéäéäéééääääääääé2éééäééééééäE2ääésää§&é;é;§;é;ä;ä;E;äsäää2ésääääéséäää2ä;E;ä;E2ésää;ä;é3§2ä;ääéäéäéäéäéäéäéäääéäéäéäääääéäééääéäääääéäääééäéäääéäééééäEéäséäääé3ä3%;E;ä2Eääääääéäéaésäééé2éäé2%2ä2ä;é;ä;§;ä;é;%2é2%;é;é;%3

I•EI¤.J-¤

·_a;: :Q:Z:{cf:}:§:§:§:§:§:§;§:Q:Q:Q:Q:}:Q:§;§:Q:{;Q:Q:Z;3;1;Z;Z;Z;3;I;3;1;I;Z;Z;I;E;I;C§I;:§I§:§:{:§:§:{:§:{tf:Q:§:§:§:§:§:§:§:§:§:§:§:§:§:§:§:§z}:§:§;§:€:Z;!:¥;Z:Z:Z:Z;I;'¤ }Zg: Z;:;:5;:;1;:;:;:;;;:;:;:;:;:;:;:;:6-:;:;:;:;;;:Q:j:Z;Z3!;Z;Z;I;I;};2;2;Z;I;I;Z;I;Z;i;I;Zgi;:5;:gz;:;:5;:;:5;:;:;:;:::;:5;:5;:;:;:;:;;;:;:;:;:§:Q:f;Q;Z;i:Z;Z;i;0 ‘;i·:

ä2§2§s§e§s§s§2§2§a§äaääääEaéääééäéääéäiäéääääéääéäi efzäzäaEzäéääsfääääéäééäéEéäééääéääääéäääääééäiääéé;i§E§E{E§E§E§E;E;EQEQEQEEEéigiéiäiäiäiäfäE§E§{§E§E§E 2ä2Esiaizäaiä§2§2§z§s§;§2$2;;;§a§;§a§;§;§;§;§;§;§;§I ‘:}:§.Q:§;§:§:§:§:§:§:§:§:§:§:§:§:§:§:§:{:§:§:Q:§:§:§:§:§ §:§:§:§:§:§:§:§:§:§:§:§:§:};§:{:§:§:§:§:§:§:§:§:f:§:I 36;; E;§;§ä§ä§;ä;§;§;ä;§;ä;§;§;§;§;ägägégégégégégägégégig äéäégäg§g§;§;§;§;§;§;§;§;égéäégégi;§;§;§;§;ä;§;§;ä;§

VC gé- ·6%62;%ä%§Sé&§2äéä%§2é%§%§2äéäéäsééäeäsäääéäéäzäaééä2 35Säéäääääéäéäéääééäéiéäéä2äéésézäééäééäéäeésäaäsäsäI1!9;I-:·Z·;-Z-Z-Z~Z-Z-Z·Z-I-Z-l·Z·Z-Z-Z»Z·2~Z-Z·1·I-li ~Z-Z·Z-Z-Z-Z«1-Z-Z·Z·I—Z·Z—Z·Z·Z-I·$·I·Z·Z·Z·:·Z—Z«Z

-· 3*IIIE;§;ä;§;§;䧧é§Eäsiääéäéäääéäéäéäéäääéäéäéäééééäääéé ééääéäESSéäEéäSäééséääsäsis?äééäééääéäéäääéäääéésäag

¢~2gsgzgsgagzgsiääsäaäsääiai2§2§a§s§s§s§2§s§2§s§;§;§;§ -•= §2§2§2§2äsäsizi;§2§;§a§s§2§;§;§;§;§;§;§s§;§;§;§;;;§;

ä'(ä

EI•-'6ä Ex; 2äeääää;ääéäääääääéäääääääésäääsé;§;é;ä;ä;ä;é;é;é;ä; ' äääiääéäääiäääääiiääéäiäiiiääääääääiäiääiiäiääägäiE

°* ‘CEQEQE;E;E3E;Egi5igfgE;S33;255gägigigigigigigägigégig^ ;E5i;i;E;E;E;E;E;E;E;E;E5£gigégägigägigigägägigigigiE hä Ezé2ä2%2ä2?2ä;52%sE;5s€sEséeäeisäaä2Es€2Es52E;%;€;%2 E 2§2E;E;Es5;é;5252SsE2%s?;ä;5;E;EaE;EeäzäésäséeäaésaWWIC

'6 3 Sg ;2;;;2;2;;ge;g3;;s§s§a§z§;§;§2§;§;§;§2§2§s§s§2§;§;·* éß2ésäsäää§%§2§2§s§%§2§2§säsé6§2§6é2§2ä2ä6äsizäsäsäz FEE?€EÄ?Ä?€?€?€?€€€?€EE?IEEE?€$€€E€€€?E¥€?€?€?E?E**7II,:3;*. L" C %;ä2E2%zEzäsäsäé25;E;%éaäsä;€2ä;i;E;&;2;&52;£;2;22[3)g H2;2;2e2;2;seééze;äeéäzäéäaäzäéééäzäaäziéééäééääsäéé ¤· ¤> ;2;é;2;2;2géäéäééséiäéäéäéäéäéééää§2;s;;;;;;;g;;e;z3’ 3 3·¢ 3··_

Figure 5.8 Selecting the DO Image

Page 143: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

I

_51I

1Y.

E3

L Y:Y2Z:Z:=:¤:¢:¤:¤:Z;=:2=:=;=:¤E¤i=E¤E¤E¤E¤E:§=¢¤E:Z ;S:P;2;=;SEE:Eii:irESEE:¢:¥r*2*:Y:*:*:¢:Y:¢:¤:¢:- U 1 é;2;s:2=s:2:;=2:;:;:s=s¤s=z:6:2:;:;:2:2:2:;:;::32:;: =2:2:2:2:2:2:22:;za:2:s¤2:;%;€;5;E;?sE;€2E2€sE2E;5se 1U

ä I E2€;E2§;E;ésE;Eäésésä2EaFsfésE;E;€s%25säsE2%sE2¥2%s 236522522525;S2ééaäzéaä;EsS2ä;ä2%2SséeäsäsäsäaäéEgg:ä E I

1: ’VNxÄ ;§:{:§:§:§:§:§;§:§:§:§:§:§:§:§:§:§:§:§:§:§:§:§:§:§:¥ {:Q:Q:§:§:§;§:§:§:{:§:§:§:§:§:¢:?:T:¢:¢:¢:€:¥:¢:!:?:U .c :;:5;:;:-:-:—:·:—:-:·:·:·:—:-;·:~:-:-:~:—:—:-:-:-:¤ -:«:-:—:-:-:-:-:—:·:-:—:—:-:-:¥:¢:¥:¥:¢:?:¢:¢:¥:¢:¥:U tuUg„, •=

ff ? S5;:2:2:2:;;:;:2:;:;=2:2:;:z:s¤;:;5;E;S;E;E;E;E;E 22=222=2:2:;:s¤2:2:225252E;5s?;E2E;Eeiaäséaäsäsäzä;U E 2 2 I $22é2%sésésä2äééäéäééeääéäéäääéääéäiääääääéääääää sé2ä2ä6äé€äääsääiäääääääääääääéäiäääéäääääéäéäééaäs_„ g 3 5 I VUo „ § ;§;i;E;E5E;S55;EQ3;Egi;Egigi3E;i;E;E;E;i;i;E;§;E;£;§ _c E;S;E5EgigigE5E5EgigigEgigigigägigigägigigägigigigig

EQggg ä

gg I E §2?2EsE;PsE;€2%s5zE;€säsääääzäz%s52€2äsEzé;€;52€s520 I 1;1;:;:;:;:;:;:5;:;:;:;:{:§:§:§;§:Q:§:§:§:Q:Q:§;}:} _¤ ;:§:{:{:{:§2}:{:fz}:Q:fz{:§:§:§:§:§:§:}:§;j:};§:Q:Q:E „.•7333 23mrz \ 6: g iirE=E2E¢i2E2i2E=E¤E¤E2?riri=i=E2E2E2E2E¢E¤E=E=€¤Er ¤E=E=3=E=€¢E¤§=E¢E2E2E:E2ErE=i=€¤E=E=E2E¢E=E=E?i=E€E•- Ü- 5 2{:§:§:§:§:§:§:§:§:§:§:¥:¥:¥:¥:¥:Z:¢:¢;¤;1;Z;¢:Z:Z:Z gg ft§:§:?:§:¢:¥:¢:?:?:¢:¢:¢:¢:¥:¥:¥:?:¤:¥:$:¢:?:f;Z:¤;w E

•·-¤V70U„_Ü g ‘ 5;:;:;:;:;:5;:;:5;:;:}:§:§:{:f:§;§:§:Q:§:j:!:Z:Z: VJ :;:§:;:;1;:§:§:;:§:§:§:§:§:§:§:¥:§:Z:?:Z:?:Z:f:!:1;Z| Ü Q Ü ; ;1;:;2;2;:5;:;:;:;:;:;:;:;:;1;:-:-:·:—;~:-:-;¥:€:!: Z Z;:;1;:;:;:;:;:;:;:-:-:~:·:-:-:¥:-:Z:l:?;?:¢:€:Z:Z;ZÜ Ü U

..6 ° jf I €;E5i5E;€5E;E;E;Eg55555;E=55£=3¤E¢E:E¢E:E2E=E=E:i:§1 gE5E¤E5€;E;E¤E=E=E=E=§2£=i2E2E¤E=E¤E¤E:E:E:E:E:E:i:E..» g g ¤•1•E\ —— 3 $ ä S éäääééäéäéääéääääéäéääézäääéäéäéäsäéééézééäéäeäsäsNJ W Ü Ä -:-:—:-:-:·:-:·:·:-:Z:27:?;!:T;¢;!:1:1:Z:Z;?;Z:Z;f; O · :-:?:¥:?:¥:?:?:¢:¥:?:?:¢:?;€:¥:!:!:!:!:7:€:?:¢:!:Z:Z

0 .. .. Z I Y;EgigigigägigigEgigägigigigigEgägigägägigigigägigig : 53555555;555Egigigägägigi;E;E;E5§5£;E5€;€5E=E;E¤E=E¤¤ 2 g-

’Eiääéäééääääéäéäéäéäääaäéééäééäéäsäzäaisäsäsäaésäs 3 éäéäääéäéäSäsäéäéäääéäzäääéä&ä2ä2é2ä2é2äe§6éää2ä2§s§

E I —- <¤Q U Z 2-1 1 1··32i 3 z 3 31-; 1~3·.~·.-3

wF1gure5.9 Sav1mg a DO Image

Page 144: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

I

I

1 36

E II2

E;I; Iät2;

IL I

ä ä32ä

%¤— 2E 2ä S IZ I m.2+ ¤ ¤= I2 E %. 9 N 5E Z I .3:;:;: 3 :

I-UI0-* N ’3 3 2 jE §

Q W» 2 EI§ •· IGU

ID Uv) cu ·¤ INL E < gä3—· .. fg 3 I*6 g 2 < I0 G 93° : " . I

!

"Figure 5.10 Loading the Background Image

Page 145: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

1 371 lg 1 11 1 11 1 1122

121

2 U U U

'

"lS 12 Q; 1lÖ2 *2 - l0[Z 12 l2 FE !

Ig2:.9MG

B Q}2 22 H 1 1 1 1 1

Figure 5.11 Image Editor After Background Load

Page 146: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

|

138

the "Model“ button to enter the model editor (see figure

5.12).

5.4.1 Defining Submodel;

It is now time to define all submodels in the model.

To define the "Terminal1" submodel select the "SubMod"

button on the model editor panel. This brings up a blocking

requester for the input of the submodel name (see Figure

5.13). Enter "Terminal1“ at the prompt and select "Define

Sub—Model“. The editor is now ready to draw a rectangle

that describes the boundaries of the "Terminal1" submodel

for logic specification and path definition purposes. This

process is identical to drawing a rectangle (see Section

3.3.1.3).

lt should also be noted that if the results of the lastlsubmodel definition were not as desired, it is possible to

delete the last submodel defined by depressing the middle

mouse button. This feature becomes inactive if another „

editor mode is entered.

Repeat the above process for the "Terminal2",

"Terminal3", "CPU_QUEUE“, and "CPU" submodels. The model

should then look like Figure 5.14.

5,4.2 Defining Path;

The paths connecting the submodels should now be

defined. Paths are uni—directional. If a DO moves both

Page 147: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

I I

1 3 9

\_,

S; IIIIII III

gplk.

Ü-

IS;

‘ IÜ VI-I III1: {Q I- }_-5 U 0 0

n:=·;IIS

.: I.:•• I;'6 Sl ·** S}? ‘E I?

ä ää2

ll}Figure 5.12 The Model Editor

Page 148: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

1 1I

140ÜFFiä

Ir [

F;S;E

F

if}

za[

[Q II— III VNIU III Ej I- }— [.

N a U U Uz 1

ID · ¤ xB 2§E

é [§ —«· Ü I ‘2 E 2 Iä — *6 =tn E c F

· 2 „L' Iä 2 __ ääEE¥135:;

'

D 2

EFigure 5.13 Submodel Definition Name Requester

Page 149: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

1I

1 4 1

€?· 1I

1

Ä?1*%

@ 1.„ IE gv-

- 1}I:

2 Ü 0 0

äf

kiL mc?3 ä I3 B

EFigure 5.14 Completed Submodel Definition

Page 150: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

n142

ways between two submodels, two paths must be specified.Not all submodels must be interconnected, but there must bea path between any two submodels in the same direction a DOcould possibly travel. If a DO tries to move to and from

submodels that are not connected by a path, an error occurs.

To define a path, first select the "Path" button on the

model editor panel. This brings up a blocking requester for

the path name (see Figure 5.15). Currently this information

is not used. Therefore anything maybe entered here. Select

the "Define Path" button to start the path definition.

Locate the mouse cursor at that point the path is to

begin. This point must begin within a submodel boundary

(see Figure 5.16). Press the left mouse button to select

the first point on the path. If the mouse cursor is outside

a submodel, this has no effect. Subsequent intermediate

points may be specified irregardless of submodel boundaries

by depressing the left mouse button (see Section 3.3.2.2).

The path termination point must be in a submodel and is

selected with the middle mouse button (see Figure 5.17).

Repeat the above process until all paths are defined. The

model should then resemble Figure 5.16.

5.4.3 Saving a Model

Since the model is now completely defined, it is a good

idea to save it. Select the "Save M" button on the model

editor panel. Enter the desired file name and Select

Page 151: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

I

II I143

IIIII?

am “II-I

II,.I_ I I III IT I

Ig I IIII I —m Im ImI- I- I-2 I Ü Ü Ü |·‘

II IQ I5 Iä I I·¤ S

E ä Z I I6 B ä Ig ·:¢:¥: gg•W6

3 I_: 4:;:;: R {‘¤ Q {‘“ Iä |

Q cf*· E ·i <•

F1gure 5.15 Path Name Requegtey

Page 152: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

1 4 4IE I

I;I; . I@1* I

III'; IQ IPII

suI2 II giII: I

II; i—@ ME mEE I- I- I-2 2 0 0 0 I•J gz, _ I1 IIIaa IVE I? I6 ISIIns If¤L'IL · I3 Q2·¤z

1* ·~ 1 1* 1 1% 1····1r 1*-»§ä ä

Figure 5.16 Path Starting Point

Page 153: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

I

II146 I

IIÄ =‘—I II II

IIIfi; I:=’

II

Q I2 Ü U U I-I

IIIIua I.?U xjO

I51*6”¤

H I2 ’I *"

"‘Figure5.17 Path Termihatioh

Page 154: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

1 4 6‘ Y " ’ ’ " · —· —·-— —— - — — V -- «zu 1 1

11

ulE ml

E 1- 1- 1-§ 13 0 0

11

J

_Figure 5.18 Completed Path Definitions

Page 155: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

I147

"Save/Attach Model" (see Figure 5.19). This stores

the model and make an appropriate entry in the "model_dat"table of the database (see Table 3.1 in Section 3.3.1.5).When future model saves are desired, the file name defaults

to this value if nothing is typed at the prompt, includingblanks. Saved models may be loaded by selecting the "Load"

button (see Section 3.3.1.5).

5.5 Submodel Specification

The next step is submodel specification. Select the

"Spec" button on the model editor panel to enter

specification mode. A pop—up menu is activated by

depressing the right mouse button while within a submodel

boundary (see Figure 5.20). Depressing the right mouse

button outside of a submodel boundary has no effect.

5.5.1 Submodel Logic

Select the "Sub—Model Logic" menu item while within

"Terminal1" to specify the internal logic of this submodel.

This brings up a blocking requester for the path name of the

directory all created files are stored in (see Figure 5.21).This path should only be entered once for all submodels.

Subsequent specifications should merely select the

"Specification Path" button without typing anything at the

prompt, including blanks. This is similar to the process

described previously for saving a model definition. In any

Page 156: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

I

I

I

148 1

Q MI11

Ä

“"ii

SP ILu Il 1 I

11@7IE äi

EI 4:>I 1 Ü III [Ü 1' I , 1E 1- 1- 1— 1N •-• 13 12* 5 I U U U 1MI §’

S 11'D 11 1Q E 1

·•-*S 1zu

S " 5 1'O¤¤ ..Figure

5.19 Save Model Requester

Page 157: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

II1 4 9

Ig IIIII

IlHP II

ii? IIIIi H E IZ 3 Iä Z E .*5 '¤ ·.L', G G { E E IE 2 .2 I- I-E · 0 0 0

0 „

§ I·· . I

3¤-l.„

‘6äE.-

ii?fä' ä H>: · ·‘ ·~•-M — · ·· I :¤l¤

Figure 5.20 Specification Menu

Page 158: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

N

N1 so

IH; P ‘i‘i ' " ' " ‘iii 222‘ N

N5 2¤¤2;;

IN2g NI Nä 2

2Q 2Z ä I t- N- I »—E § § U 0 212; E 5 i I0 ·C ru :Z in m 2 ,éä ä E i ’

rn E va Ä

g äIEI V} ·' ;i:1;:>.é:;:·.,;::.- .;£. ‘ ? ·

Figure 5.21 Specification Path Requester

Page 159: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

151 A

event, selection of the "Specification Path" brings up the

Submodel Specification tool.

The Specification of the "Terminall" Submodel is shownin Figure 5.22. The Entrance Condition (EC) for "Terminal1"

is true. This means DOS can always get into this Submodel._ Once the DO has entered the Submodel, its origin is Set to

1, and rservice_time (remaining service time) is sampled

from an exponential distribution with mean 500.00. "Origin"

and "rservice_time" DO attributes are not pre—defined and

must be defined and specified along with the DOS. For now

it is best to keep a list of attributes used and define them

all at once later. "Seed" is a pre—defined integer Seed

for a random number generator. The two SET_DO statements

constitute the Logical Operations (LO) if the EC holds true.

Since the Activity Start Condition (ASC) is true, the

DO may engage in the activity right away. The activity

duration is sampled from an exponential distribution with

mean 250.00. ·This is the user "think" time. The DO remains

engaged in the Activity until this time has passed.

After the activity is completed, the "SYS_ENTRY" macro

records the DO entering the model.

Since the eXit Condition (XC) is true, the DO leaves

the Submodel and moves to the CPU_QUEUE Submodel. Note the

"_MODEL" extension to the CPU_QUEUE Submodel name.

Finally, when the Specification is complete, Select the

"Save" button located at the bottom left hand side of the

Page 160: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

N

l 5 2! NH ! _ ”—*!”! ! 2 ! ' ———”———_—’°—— NNä

f{-F 1éja ‘

E?.Q2.1=is— 4r

?2

X; Ä

:2 g N1 w 1 _ A _AAA A A _ A AA A i

L‘DQ·•»In0•¢

D.C

Q\LIn3\ rxxx„ 1:.C ID4-» 0ev InQ. •5

I5vl Q; QC Q"‘ ÜE Q2 UID X 0I- ¤> 0

2 10„ Q Ä _J«- E —

Luua ··· Q Q'G 4-* Q QO •'* I • ZZ 0 Q [I ~ U In QQ C ·•· N Q3 ·•' > xx [UV) U! L ¤ Q—•· 0 X CYL UI 0 >- [O L xx 3E EIS 5 E EE 2 Ö Ü 2 ä “* 2 ¤VJ! Z Lu u.: Z ä ä(J I- K/J •—-

< VJ L- IE ID E. III ID :-2.IIlI'.)

I4 W,2 :2 g I-S, °.Z·-g I « S¤· 2 „ ·- „=>T•' „<-· ·-

A 1

Figure 5.22 Terminall Internal Logic Specification

Page 161: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

1

153

Specification tool to exit the tool and save the

Specification.

Figures 5.23 and 5.24 Show Similar specifications for

the "Terminal2" and “Terminal3" submodels respectively.

The Specification of the "CPU_QUEUE" Submodel is shown

in Figure 5.25. Since the Entrance Condition is TRUE, a DO

can always enter the "CPU_QUEUE" Submodel. When it does,

the q_sm_et (queue Submodel entry time) is set to the ·

simulation clock. This attribute is a standard DO attribute

(See Table 3.2 in Section 3.3.2.3).

The activity (waiting for the CPU) is started if there

is a DO in the CPU, or if there are DOS already waiting in

the queue. The "nicpu_Sm" and "nicpu_queue_sm“ attributes

must be defined using the Submodel attribute definition

tool. AS before, make a list of attributes to be specified

so that they may be done all at once later.

If there is no need to wait (LO if ASC is FALSE), the

EXIT_SUBMODEL macro takes the DO to the CPU_QUEUE XC.

Otherwise, the number of DOS waiting in the CPU_QUEUE is

incremented by one using the INCREMENT macro.

Activity duration for a DO in the CPU_QUEUE is until

the CPU is free and the DO has the earliest q_Sm_et for this

Submodel. The least() function is provided for the

evaluation of the q_sm_et. Again, notice the "_MODEL"

extension to the Submodel name to be checked.

On completion of the activity, the number in the queue

Page 162: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

I

I

- IH I I TI I —* ——”—“""'——"‘ III‘"'—~—Z”“—"—"“_‘°““°’Z°—“‘EIinI

t.‘21V,*

Ii?r.-

$.7·!'Q1FiE·'1ä? I_.§:

if;I$2.1IÜ iI';.T1,{..·I5II57I

,.ffEQI

A AA A“' ___ A ä

L'B(V)·•>I,0Ill+9\Q.OLUIQ\LIII3\ rs

rx•• '¤L (D+9 G)III U)

CL •5

(\I SIII SC S-•- IBE Ti GG! X GJ•- 0 0

‘ g•• Q —J•- E „ LUGJ ·•G Q'G +9 ® 3O Ol I •

ZZ W G II •~ U LD InD E *· CN 33 '•‘ > V LuVJ C7 L ¤_3«- QXLID m >. IO L V gg 3E "‘-’

LIJ I- Q_ID CJ O LJ Z Q+9 C) Q Z uJ VUI UJ I | IJJ €

I LIJ Lu>~. D I- I- D > co D >(/J CZ UJ LU Z D )· I C3(J I- t/7 I- < co I- ZIl Ill III ;-14 EL)

N N.. Z.! g I'.- 2 Z-gä uv: ¤° "Jil}-zg _, V

•-Aid •-A<l-•« —<

Figure 5.23 Term1nal2 Internal LOglC Spec1f1cat1on

Page 163: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

I

I

i II1

f'1

?ra.7E5$221II?I1

E?—

222 22 -22 “· 22 2 2 22 22 2 2222 22 2_22 2___ Ä

L'GI")•#UIID-•-•\D.OLU)

\LU)3\ rs•• ‘¤L G+* IDeu U:

CL •U

(0 ®Q ®E äxx rx§ % 2I- G G

* 3„ 0 __;

T2 r'? ä äD ('7 I • IZ W G II ·~ U LD ug.¤ C ·•·N D3 ·*· > ~/ LUW U) L Q 3·•·· LD X D'L U'!

O3:KI I- EEI G Q C.) Z (.74-* Q Q Z LU xxUI I-IJ I I LU < I Lu Lu>„ 2 I- I- 2 > m 2 >fl) Z Lu LL.) IZ Q Z; IZ GG; I- W I- < I-IIIEtamzsswß(J

•- an U •-E 0 •-_fU o•• an-•¤ uu (Q uu | < pgE au3„as•z"‘ -12:- •-If" aw .a

F1gure 5.24 Term1nal3 Internal Log1c Spec1ficat1on

Page 164: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

II

” ' ' C " -——-— 7* .-.7.77 ,. 7._,.._., _,____3_____Y „____ ______*_A _ _____ ______1

.

I,lgIII

.‘~I

i2I1=-'„I

iéé3$7*1I

; Ig

Iäé:

Eät*iI7 77 _“’ _ _ _ _ V__ __ _' __ I

IL‘¤(V)·•->Ih0(¤7 Ü0 QL QW I" I-¤ u.I\ DL LUI-0 :13 C7\ IZi"‘

50- Q4-»

LuI3S 22 0 rxä_ A •a A2 | — .5 •,& ä 5 5

X 2 ml Q wi•• U C 3 II DE B S " SE ° °{ 5 C'S ,: ·* a „· ä.¤ ID ll .1 U Q. U Ö3, ' " S E E 2 Qg D CxxC1ä *· ·—

·I Z z 3E, E ä 3 **1 ~ 5+> . Q U 1..1IhI-IJ I ·· I- Z •·-• Z u.1 I1;5* ää ti C 2 2 E 3 E >(T; 1- t/J V 1.1..1 •—• 3 Q 1- g

=¤ 1:.*~·Q•- ¤¤ •-

'·° 0 s- °°unung un- Q nn-= I 4 :m .0 •« .o: .0 •« °= ‘•-41-¤°" -IQ:-•„ ,-1_„“”" _;

F1gure 5 25 - .- CPU_QUEUE Internal LOglC Speglficatiou

Page 165: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

157

is decremented by one using the DECREMENT macro.

Once jobs get to the XC submodel section, they are imoved to the "CPU" using the MOVE macro. Figures 5.26 and5.27 show the CPU submodel specification. The EntranceConditions enforce the fact that a DO may only enter thissubmodel if the CPU is empty. Upon entrance, the number ofDOs in the CPU is incremented by 1 using the INCREMENT

macro.

If there is one DO in the CPU, the activity may start.The “LO

if ASC is TRUE" section introduoes the "QUANTUM“,

"execution_time“, and "OVERHEAD" attributes. Make a note of

these submodel attributes so that they are specified later.

These attributes are used to determine how much processing

time a CPU spends on a given DO. If the remaining service

time is greater than the maximum quantum size, the CPU

processes the DO for the execution time equal to the quantum

plus scheduling overhead time. Otherwise, the execution

time is set to the remaining service time plus scheduling

overhead time. The DO then remains in the Activity until

the execution time has elapsed.

Upon completion of the Activity, the remaining servicetime of the DO is decremented as much as the execution time

excluding the overhead time.

Since the eXit Condition is true, all DOs may always

exit the CPU submodel.

When leaving, the number of DOs in the CPU is

Page 166: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

I

I

I

gfI

Sil1I?Y“ÄI

.XIÄäII¢;‘.

Ii·.

Ei2§'··’I*~6;;_;

I1I?r· rÄIf?Ä

Ä?I

Ä I

L'DC')49U)3 2UJ0 I·° EEI

>Q QE I; +3 < U‘ S E 5•J

~· El I IZQ > ID <

+ > *-•-*I- L ·~Z E Q Q 1x¢ V7 E QQ D E L ·•· •Q_ Q' A 0 Q 1xLJ € | I .JD G Q Q A Lu-I 0* Q E u -I QW. Q -«- «- Q QW- •~E II II •J

> «ES5 U W III cI S E I3 IJ0 I | E E O U) I I Dz S Q 3- \ ~·· ·•· L. S ID uJ \| Q U ·•-*• 43 •-•

Q. U 3 •Q Q U •·* ‘•' I I D | U ·•· Q'3 ••—

> C ‘•- C U G —· > I *0-:/) II C II L O-

O Q Q C L D —·II L1 II Q •·~·· X xr Q Q.I- In ·•-> 1: •» an •——

I-- ux L1 13Z L S C S Z Z L ~/ CE ““I S ° U 3 5 ä *23 ’?

S°’

USI SIQ X • X Z Lu Lu G D •

m Q. IZ Q Q Q \ Q Q < Z UJ Z Q I \ Q>„ U Q U VI > Q II (.3 L1 UIm ·•- Z ·-— ••- «— Q nu 0: 1.;.: ·~•- I-| C I-•C ~•· I-*-I ID < Q I- Q — 1-M Q

E. Izbatääi-uzm m xa}; ‘*m"Q

•-I°°

•-I “°o.. :2 0 II-I"" -I-"" 3 I 4 pq zuE E o" o In °= ' Ääh) E R E -4},.] BE ¤lI•·I•- W-zfn .4:** I.: "Z _Q_______Q___Q_____*_________ Q__________Q____Ql_

• • • IFigure 5.26 CPU Internal LOglC Spec1f1cat1on

Page 167: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

I

I

I

2.II

gg;.I5

s„‘

IÜ.‘äf.I II I? II..

2 II?I{I?2

2II? I sfwL

I2;II

L'U:0-•·01

4-* Q

E E-.'i’ ‘$‘.¤ Q

g E 2„ E *1 E ä ä5 ä 8 E E Eä E 2 : ¤ .2 .22p• g__ L I- I-Z us 0 au nu. < W E c c3 2 E L -•— «- ~•-Q CY A •-I E E(,1 < I I sx L/\ D D 0 0 ID O"‘I, ° ° E 2 ’E5

.225•— ~ E II II 4*l E *57uJ td LL.!g ä 4-* U GJ C (D *' g g0 I I E E 0 ua L 1 .¤ 1Z 3 0 ·•· \ ·•··•• L O| Q. U 4- •

·•-> v A.¤ Q U •-•··- I I 3 I cn I ··

•-3 -•-

> C ‘•- C U Q L1 Q •-1 N(/) II C II L O ·•· O GI Q >-1 QII xr II GJ-

·~— X x/ y- xx m 0E E *5 E *5 ‘° E 2 *5 2 2E 3 LLJ ä U ID U LJJ LU I- 4-* U UID I Z I I G} *--* GI LI Z < ·•'+» 3 Lu 3 O X • X Z I.LI I- äm Q Z Q Q m \ 0 m <;! Z Lu c/JU L1 U xx w > L1 DU) ·•· Z -•~ ¤•- ·— Q LLJ ZF} C »—-« I: -•- rä az < Q I-ll} ll III III! III! · EEL'! •-• w •-I

°° 0 •- ‘°0•- an-- Q

:0 "" =°-I: ¤° " EI: 0E ¤-Ihi,-I Ufa- I-I‘_Q"' -1

• •Figure 5.27 CPU Internal Log1c Spec1fication

A____

Page 168: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

160

decremented by one using the DECREMENT macro. If the

remaining service time is greater than zero, the DO is moved

back to the CPU_QUEUE. Otherwise, the "STATISTlCS" macro is

called to record a system departure and the D0 is moved to

its terminal of origin. This information is stored in the D0

"origin" attribute (see Figure 5.27).

When finished, select the "Save" button on the lower

left panel to exit the program and save the specification.

5.5.2 Submodel Attribute;

Now that the submodel specifications are complete, it

is necessary to define and specify the submodel attributes

that are used in those specifications. To accomplish this,

select the "Sub—Model Attribute" item from the pop—up

menu in the specification mode shown previously in Figure

5.20. The submodel in which this is done in unimportant

since all submodel attributes are global and are therefore

accessible by all. This brings up a blocking requester for

the input of the attribute name (see Figure 5.28). Select

the "Name Attribute" button to enter the attribute

specification tool.

As can be seen in Figure 5.29, "nicpu_sm" is an integer

constant initialized to zero that describes the number of

jobs in the CPU. Select the "Save" button to save the

attribute information in the "attr_dat" table of the

database (see Table 3.1 in Section 3.3.1.5).

Page 169: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

I

1 6 1

IEII

IL III I

IIIE 0 0 0I P I- I- Ig I I 0 0 0 Is· E I I IE

IFigure 5.28 Attribute Name Requester

Page 170: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

162

1g

Y!1 I 1H1! 1" °“" " Ü' " ' Ü' ’ ”—— ' 1 1

11 111

ä 1. 1 11 12 I 1E Ü 1“ fä 1 1Ä 2 2 1E E 2 „ ¤ 12 ä 2 2 1 12 E E E 1*: $2 $7 Q1 'g E B 3y, Z E E·¤ E Z Z2 2 :: 2‘; uu < <ä 8 2 : 1 1‘§ E S. E 1 1g é 1Z‘ 15 1 1fg 1 1L')

WWW W __ W W W W W W W

WFigure5.29 Nicpu_sm Attribute Specification

Page 171: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

ÄÄ

163

A similar process is performed for the “nicpu_queue_sm"

(see Figure 5.30), "QUANTUM" (see Figure 5.31), "OVERHEAD“

(see Figure 5.32), and "execution_time" (see Figure 5.33)

attributes.

5.6 Dynamic Object Definition and Specification

Once this has been accomplished, we define the DOs.

Select the "Dynamic" button on the model editor panel. This

brings up a requester for the Dynamic Object name (see

Figure 5.34). To enter the DO specification tool, select

the "Name Dynamic Object" button.

The DO specification tool for jobl then appears on the

screen (see Figure 5.35). Jobl is described as a job

originating from Terminal 1. The name of the first submodel

the DO tries to enter is "Terminall". The DO image created

earlier for a job originating from Terminal 1 is listed as

the Object Image file. The interarrival time is constant

and equal to zero. Lastly, the maximum number of generated

DOs of this type is one.

The DO attributes "origin" and "rservice_time" used

previously in the submodel specification should now be

defined and specified. DO attributes are global to all DOs.

Thus a given attribute need only be defined once. Select

the "Specify DO Attribute" button to bring up a blocking

requester for the DO attribute name (see Figure 5.36).

Select the "Name Attribute" button to enter

Page 172: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

I1 6 4

IEI

FQIaiI

I¥I

_ _ _______Y _,_ _ if, i I

I IIä I II I. I I ZI I Iä I II I III I II Z II,.¤Eä ävr I.-I é äz; I I.. ’ ’I I2 2 I I3 ·· .2 .2 I I§ E : : I§ . Z E I IZ; E ä E I

gv-Mf V Y UW V 7* vv. UA A faw -7 i A Ü Y V V > ·M— _. 4%;:;,;

,Figure5.30 Nicpu_queue_sm Attribute Specification

Page 173: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

I

~‘“—11

-—2---_Il

1

2

·——-I

ä

55‘5 *-6. M

J

2

16

1

2

ä1

¢*31

E1

';!

E-,s1

ä E

1

I . 2

3

S S 2 2*

1

41-*

'_

1

1

6

~|

1

vl

I

2., v. g zs

·

1

6 : $*1;;

|

Ö"°

°‘ o

E··E' Ä §

1

1

2s -

1

TZä = 6

1= 11

1

S

••.••- <

2.6 ¤ -

1

1

E·‘¤ ä E

1

2·-

—·

1

3

-_ 1

.6

1

11

.

1

1

V V.Li“£;·&¤A•z§e¢a¤«x

F'lg-ur65 NTUM

,

1··lbut

-

6 S €C •P

_

lf ·

_

atiOn

Page 174: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

N

166QB " *’ 6666666666666r-66 6. .6

N

l 6 66 N6 N N°·’ N=< ä N NN6 g N NEÜ. N N6 N| N

6 N Nu NW EE m +é•Nä E 6 ä 2* N, N1 NE E N NQ Q

NN

g E 2 2 N N6 6 6 6 N ,S E E E N NE § f I N N

Q E N N*3 E : E N NE N·— 6 6 66 66 6 66

6Figure5.32 OVERHEAD Attribute Specification

Page 175: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

I

I

167

IBüI

. I

I2

Il Igg. I I

I77 U iv") zimi I W I I

IIä I II3 IZ; 3 I·¤ ' I2 I-«- I I2 Ä I2 I= IE 2 l IQ.. Iä 2* E I I° 2. 1; 1; - Ü ·o c cf I— I2 : 2 2; IU .. .. .. I I§ S S52E E 3 I

g ä 2 2 5 IZ E Ä Ä I I2 zi 2 I II 1: < I3 ä *2 *; I3 1; : I I2 E ä 2 I IE I I

Figure 5.33 Execution_time Attribute Specification

Page 176: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

1 68Ä 111 I1I1Ü1 Ä I1:

I—¤1 1E 1I;Ill II 1III 1

1; 1

2 1ä 1 11

1 111 1 1 1 1: 1 1— 1-1-g1 11 1111ä

,1 128 Q i 1F E13 „ § IÄ § g I1; 16 ä 11 . 1:: S 1 1

E 3 j IZ ä ä I3 I 5 1Z

ÄFigure5,34 DO Name Requester for Jobl

Page 177: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

Tg,Ä" I

I|

Ü

I

I

2

I

g

__-_Q_

E

J:

B

I

Ä I?I2

22

22

QI

g EJ;

2?

I

„ 2 2

I

I

I?ä, Z ;· Ü

I2

=· 52 2

_„

I

Eé„2

I

I

,_

I

·· =· E § °‘Ä“I

0

"'

,_ ¤ nä

=

I

·L";» E E 2* §°§,g|

I

ca

g.2

EI- E

I

I

“_V}

”-r-•

2 2 2 *2} E ÄI

E,ä

38

I

_Ö E é

“‘

I!1 "' ‘ I1

“ 2 E

I

'——2

I

I

Y1

I

__—~Ü

I

—_I

·—_I

-2*I

—-_

'35—

Job

-5

1 DO Sp1fi0

ät.lo Tool

Page 178: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

170

IQ? I1

IIlfl 1I2, I1i ä 17 U,

— „1 3 1ä ä 1ä

r i $2 Iä I: I1 E2 2(. 1 § =° 1 Ä-” IfI 3 L2 |Q i O 1 I' I 2 *2 I3 ’ I1. 2 .2 =· E ~ 12 ,, I 2 :.1; *2 2 1g ' *; 1 "' 8 Z " TZ 1

T: - E · äQ § Q 1¤< : „ 12 QS 2 2 2 1an O E _§ g gQ N _YZ BS I fc +I I 13 E Ä I _ 2 2”°‘ Z - m E -·- Iw r- •e xL, E E §

E E 1

Fi 1* ·gu e 5.36 DO Attribute Name Requester for Origin

Page 179: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

w

171

the attribute Specification tool (see Figure 5.37). DO

attribute Specification is identical to Submodel attribute

Specification from this point forward.

A similar process is used to define the DO attribute

rservice_time (see Figure 5.38).

When all DO attributes have been defined, exit the DO

Specification ”tool by Selecting the "Save“ button. This

exits the program and put appropriate entries in the

“dynamic_dat" table of the database (see Table 3.1 in

Section 3.3.1.5).

A similar process is used to define the DOS job2 (see

Figure 5.39) and job3 (see Figure 5.40).

The image editing/model editing process is now

complete. Quit the Image Editor/Model Editor by Selecting

the "Quit" button on the main panel.

5.7 The Model Generator

The model generator is used to convert the model

definition and Specification into an executable simulation.

Select the "Model Generator" icon on the top level menu (see

Figure 5.1) to bring up a blocking requester that should

already have the system model name entered (see Figure

5.41). Select the "Generate Code" button to create an

executable visual simulation model (see Figure 5.42). The

blocking requester clears after the completion of the

generation process.

Page 180: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

172"OIH O O O OO OO OO IIE

I

IS6 IIIi

II

I IIY YAY Y——Y —— Y ~—· ·— 1 I· II IIIS IS IS ä IE I I«¤I IIS: I IE | I]2 Sua C •-‘E E I= Ü

6:*SS SS I Ij 2 2 SI

I IS S S Ig -5* OK TI I I___ g +-• •·•

I „

ä. ,, I6

If/J *4 Iig E 2

*Figure 5.37 Origin DO Attribute Specification Tool

Page 181: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

I

1 7 3IQ

II

IIILL II? II2 Ig I

g _ v_______„,__ __g_ __>_______,_,_,_„__, MI: 1 . IIäI I5 ä IE I

2 ;_j 22 II I2 2E °° 2 IE I=IIgZ 8¤•22 2 2 I

j S S ° I I2 E ·‘-I ·2 I IQ Z .5 .5 I·¤ 2- 'Z 'C I_:-_’g •-• -•-•

I: 8 2 2 Iä 2 :.-2 IV) O Qig 2 é22I

ä V W H VA YW A U W i N — H Ü W _V__II;‘;2.;¢,·..1¤;L;iäz=¤I:-¤22k2$;;é§;„;„‘::,-.i.¢»2«.·£;¢«£a»Figure

5.38 Rservice_time DO Attr. Spec. Tool

Page 182: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

I

174

I

I III I

,2 iI22g2 2 I- IC L

—II I' I2 I3 2 Iä § 3 I Ü I2 .. 2 2 2 __ I= Ig Ig § E E TE ..IEÄ Ä E E ääéä I ILI E : 8 E E I I

E Ta ‘§ E IZ 'Ä I I2 1: =r g 2 Ä I Iw 8 -•-· Z I

ITé E IE ä Ä g I§ E E 2 E 2 I IE 2 2 z 2 2 I I5 IS" I I‘ ·· I — I2 II I III-'IIFigure

5.39 Job2 DO Specification Tool

Page 183: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

I

I1 7 5

ag?¥

I-. IInII

I

nu I--;II IIIII I II I III I- I. —‘D

I•• I2 I IE ·•-I I

2 ä IE ·· I-8 B ä II I-•- V?I'; E I2 u I Ié ä I I2 E i I” 2 E IJJ S E I IS E E I Ig 6 I. III I- U II: cw gz E I-J

__Iu 0 ·— zu av es : •-0 IGi [ +-V ·•·•

I_8 E "I 8 :I; ‘* I6 I ig ’” E Q 8 TJ " TG ' E„- < w I: § I: I I_•J

-.}— *'§ ••

ILI S I! 8 E E I I‘°' I'- I5 E- Ä Ä : ° I IÄ 8 1; 2 I; I I,. g Ä · _; I I"‘ : r§ I I II' _¤ ll E O -•-I

ID -•- -•- I- •• x I„ äs 2 z 2 2 I IE III IIIYLIIIIII ___ _ _, __

___Figure5.40 Job3 DO Specification Tool

Page 184: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

I

I

1 7 6_

.C :Z:?:fz?5:7:?:7:¥:Z:Z:¥:¢:¢:¥:?:¥:!:?:?:!:¥;7;¢:¢:¥:7:7:27;?:¥:¥:¥:7:T:T:7:!:!;t:¢;r;Z;t;:;:;:5;:;:;:5;:;:;:;:;:;:;::1;:;:;:;:;:-:-:~:·:·:-:-:-:-:·:-:-:-:-:-:·:-:~:-:-:-:-:-:-:-:-:-:·:-;.:-:~;.;.;.;.;.;.;.;.;.3.;.;.;.;.;.;.;.;.·.;.;.;.:.;.;.:5.;,;,;,;,·_-_•_~_~_-,-,-_-,-_-,-_-,-,-_-_-_•_-_._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._.....,.„,,„„________· · - “*=5=E¤ErirärE¤E¢E¢E=E=E¤é=E=E¤£=E=E=E=Sri:Eri:E:E:£:&:E:E:£=S¤E:2:i:s:£:E:E¤E:E:E:2:2:E:2:2:2:Z:2:2:2z2:2:2:;:;:;:2:;:;:;:2:;:;:;:;:zE;E;S;E;E;E;5;E;E;E;E;E:E¤€¤E:£¤£:E=E:ErE:E=E:%:餣¤E:2:E:E:2:2:E:2:2:2:E:2:2:2:$:2:;:;:2:2:E:2:2:6:;E2ze:2:2:1zz:2z;:;:;:5:;:eä5E;§;Esi5E;E;E5E;E;E;E5EgigägigägE5EgE5EgE5E;E;E;£:&¤$¤E:E:£:£:£¤$:E:E:£¤2:2:£:2rz:2:E:2:;:2:;:;:;:;:2:;:;:;:;:;:;:;F;z;:5EE;E;E;£;E;?;E;€;€;E;E;§;§;E;E;E;E;

IIII §§§§§§§§§§§§§§§§§§§§§§§§ä§§§§§§§ä§§§ä;%§§§ä§§§äié;EäEE;é§EääZ;E§ä§äiiiii駧§§;ä2§§§2§s§2§s§2ää§2§;§;§;§2§;§;§2§;§s§;§s§;§2§s§s§s§2§2§2§2§;§2§2§2§2§z§;§;;§§§§§§§§§§ääiiiäääääiii§E§Eiäiiiääääiäiéääéigääiaiäiäézäéäsäsääisääääsäsäsäsi2§2§2§s§2§2§s§s§;§;§2§2§2§;§2§;§;§;§z§;;;§;§z§;§;§;§;§;g;§;§;gggg53§;§;g;Q3EEgääE2Eéäéä2EEäéiéizisäsäsizääääääiai2§2§é§2§2§2§2§;§siaäsizisis§&§;§2§s§2§2§2§6§z§;§s;s§;§s§s§;§;§;§;§;;;§;

L>

EOJ+-J· · - v{5Sg};E5E55=E;E2E:i:E:E:Eri:E:E:E:$1E:{:§:§:§:§:§:§:§:§:§:§:§:§:§:¢:;:5:;:§;§:;:;:;:;:;:gE§Egi;E5E5igägé3E5ägägE5E;EgigEgEgägägägägägigägägiräzäzi:§:§:§:§:§:§:§:;:;:vzI>~

I¥§ä§ä§§§§§§§§§§§äääii§§§§E§E§§§§§ä§§§ä§§§§;§§§§ä§¥V}I ·

äI‘°I::E

IEääääéäääéäiääiääääääääéäääéägääääEäégégägégägägägäg äeäääsäaäsäéééäéésäéäéäaäéE2ääiäéäääéääääääääääägégä···‘ ;rE=E¤E¤§=E¤E¤E=E=EirE2:5:3¤E¤E¤E¢E=ErE¤E¢E¢§:Eri: .„ rE:E:€¢ErE¢E¤E¤E¢E¤E¤E¤€¤E¤E¤E¤E=E=E¤E¢E¢E¢E¢E¢E=E¤EVJ Z .„L.sI‘S § EI"J

I_I"3 L a äiääfsääääääfääééääiäéSEEäääfiääääääääääfäfäääsäéäzä ääafaäsäääaäääääsfiääfiääfääEäääiäifäfääiäifääääääié’i T6 3 ?äääääääääääää?ääääéiEEEäääääääääääéäääéäéäääääääää ä?ä?i?§?ä?§?§€§?ä?E?§€€?§€§?§?§€§?ä?§?§¥§?§?§?§?§?§§Q ’ ä F LgIQ-8 I .. .. iäääääääääääéäääääääääääéäääääääääääääääääääéääiäégä S;ägégägégägäägägääääääiäéäégääägägägägägägägägigäg‘5 .„ 3 SS°·

E § ä•ÄJ"

V? * 2¥EEESEEäEéääEEEäEäéESEEäéäEäéäéäéééééäéäéäéäéézäääé w 2äzä2§2§2§2ä2ä2§s§s§a§2;s§6;2é2;2§2;2;z;z;z;;;s;s§z5°’· „éES§S¤2§ 2ääi2ä2ä2Sieäéäeä6ä2ä2E22Eéäéäéäsäéäéäeäsieäeäzäsä ä ä2ä2é2§2és§sä2§2;2§2§2§6;2ä2äeäzäaäeäsieäsäsgsäsäaäzC- F7 ;?;I;Z;—;«;—;—;1;?;I;"‘i; i;I;Z;Z;:;Z;Z;Z5;:;:;2;:;C5;:;:~:·:-1;:-:;:-:·:·:· Q :Z:Z:Z;1;Z:Z:Z;Z;Z:f;I;Z;C;I;Z;Z;Z;I;f;Z;Z;?;Z;1;C;ZQ ä‘“"‘ Egi5ä;ägägi;ägi5E3E;äSägE5E2äsäsäääääääsääéééäääääéä "- äääääääääéiääääääääääääääääéäääéääiéääääääääääääääää"* "°

“ . *6 z 2%2é3é;ä2ésé2é2ésä2é2é2é;é;é;é;ä;é;ä;é;é;é;é;é;é;é;é"° -- · ¥ääiEäEEäääiiäääääE5iEESäéäéäéääééééééäéäéäéäéäéäääé 5 äääääääEäääEäEäEi?äääääääiäääääéäéäééäéäééäéääääéäää> ·- I 3 :¢:¤:¢:¤;¤:¢::;¤;::r;¤ss;=;¢;¤:¢;¢E¢E:E:?:;:3:§¤§:°’ irE¤E¤§¤E¤E¤ErE=E¢E:E¢ErE¤E¤E¤E:E¤E¤E¤E¤E¤E¤E:£:i:E: ua ririrE¤E¤E:E¢E=E¢E¤E¢E:i=ErErE=ErE¤E=E¢E=E¢E=E¢ErE¢E0-CU¤= ä

EFigure5.41 Model Generator Requester

Page 185: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

I

I

II1 7 7

— C:¥r¥:Y:¥:*:¢:*:*:Y:*:*:?:¥:?:¢:¥:VII:::*:7:It?:Ix?I7:?:*:*:¢:?:?:Y:?:?:Y:¥:*:*r?:¢:¢:¢5:¢:Y:S:Y;¢::;:;?::;:;¢;I;:;:;:;:5;:;:;:;:;:;:;2;:-:—:-:~:;:~:-z-:-:-:·:-:-:-:·:~:—:—:·:—:—:-:-:~:-:~:·:-:~:-:-:-:-:·:—:-:-:-:~:·:-:·:—:·:-1-;-;-;.3,;.;.;.;.;.;.;.-.-.-.-.·.-.~.-.-.—.-.-.·.-.-.·.-.-.-.-.-.·.—.~.·.-.-.-.-.—.—.-.~.·.·.-.-.—.—.-.-.~.~.~.-.-.-.-.-.-.-.-_._.,Ir~ U!:§:§:§:Q:}:§:Q:§:§:§:§:{:f:§:{:§:f:Q:}:Q:}:§;}:};§;Q;Q:Q;};Q;Q;gggg;};};g;I;l;I;Iglgl;ggfgg;S;I;I;I;S;I;2;:;I;Z;I;I;t;:;:5;:5;:;:;:;:;:ft}:§:§:;:§:f:§:§:§:§:§:§:j:§;§:Q1}:§;}:§:Q:3};}:}:}:}3;;;Q;};Q;};};};Q;};g;Z:I;I;I;I;I;I;I;I;¢;:;:;:;:;:;:;:;:;:§:§:§:§:§:§:§:§:fz}:Q1}:{rf:§:§:§:§:§:§:§:§:§;§:§:§:§:§:§:§:§:§;§:{:Q;}:3};{5:;;}:Q;};I;f;¤;I;I_1;Z;I;Z;r;:EI;:;I;:§t§:{:§:§:§:§:§:§:§:§:§:§:§:§:§:§:§:§:§:§:§:[:§:

EéäSE2äéäéäéiéääéäääéséääéiii2isäéäé$2Esäzäää2§aisäsi2izisé2§2isäsä2ä2E2§2€ä€§%§ä§5§S§ä2%§ä;Si;ESéääéääääääääéiéäääééäääéééEéäääEäéäiii?aäääääéiEi;isäsäizi2izäaizä2iz§2§2§2§;§2;;§;§z;s§e§2§;S2;;s;;EzäzésésE;S;22;ES32SäääSEE2äääéääé2§2ä2§2Eéisisäääsieäs§2§2§2§zäzisäsä2§2§s§zä2§;§;§;§;§2§;;;§:52§2;;2;s§2;;;;g;;;&;g;;;S;égäg&;2;é;2;2;2§2§2§s§s§2§2izizäsi6§aisia;$2is$2;;;z$2;;;;§;;;§;§;;;§;;;;;;;;;§;;;§;;gS;äE Ei;I;égégégägégégägägägégégägägägi;§;ä;ä2ä;ä;äsäsé2ä2ä2§s2eäsäzääiéääääääääääääääääääI;Ii;si;ää;ääääääääää;§;§;§;§;§;§IIgi;ä;é;§;§;ägägégäg§;§;ä;ägäsägigä;ä;äe%2äsä2ézä2äe26226äzäsäääsäéäaäääääääääääéäääEI;ääääéäää§;§;€;§;ä;§;ä;§;é;§;§;é;E;é;%;ä;§;䧧;§;§;§;é5Iä;§;ä;é;§5%;;égäI2ägägäeéeééeääézézII2äääzäéäääääääIi;E;2%;äääéI2§;§;§;§;EI;§;§;§;§;Ii;ä;§;ä;äI;ägägégägägäsäsä;ä;22ä2ä2§2é2;2䧧§-— 6;äéäéäSEéäéäääääääéäääéäéääiééääéääééäéééäéééäéäéäaäéiz¥%§ä§2%ä%ä%ä%§%§¥i¥§%§¥IE5äEEäéääZE5%ääääE2EäéééE5äEäääEäéééäääEäéäéESEééääéäéäéäéäéäääääéiéééEéäéäzEzäéäääs§s§6§2ä2ä2é2§2§2§2§2ä6EI2;äs$2%ifaäs¥§¥§%§%§%§%§5§Eä%§%§éäéäEEééääéääééééäéäääéäéäéäéééäéä2é2i2ä%§é§2§2ä2§2§s§2§2Esiääaézäsésiaäeä2§2ä2äzi2äs§2§s§s§;§;;;;2;s;2ä2é2éäääéäéäéäéäéäéäsééäéééäzééäsäéäzäääéäaäeäsäsäsä2äaäzi2ä2E2äsäz§2i2§2§2§2§s;z;2;z;2;;;;;;é

o 2;;§5§;E;E5E5SE;E;EzägäsE;E;E;E;E;§;E5i;E;E;E;Z55;E3S§5525E§EiEäéäSiE§E§£§£§E§E§£§2§E§EiEiäää$2};;QE§ä§;$2§a§2§&§;§;§;§2Q2§;§;§;I;§2g3Q;§5;;;S5Q;EgizägigS5555;S55;EgE55;;Egi;E325E;$;£;£;E;E52§E§ägäi2§Ei;{s§2§si2§s§z§2§;§;§;§;§;§;§;§;Q2§5g5g;I5;gg;{;§;§;;;§;§;§3;;§;E;E5E;E;E;E5EgigE5E5Egägägägägä525E52;E52gE;5;;;;2g{g$2§s§2§;§;§;§;§;§;§;§;;;;;§;§5§;§;§;§;g5;;ggggggggggggggggE;g25E;2g2;;;2;2;2;;;;;2;;;;;;;;§I I \ :-:~:I;§:§:{:?:¥:¢:¥:¥:¥:¢:?:?:¢:?:Zz?zi:Z:Z:Z:Z:¥:Z:!:?:?:¥:¥:¥:¢:?:?:¢:?:¢:¢:¥:¥:?:¥:?:¥:Z:I:?;I;:;:IS;:I:5;:;:I:5;:;:5;:;:;:;:I:I1I:;:;:I:{1;:§:{:Q:§;§:?:§:§:§:Z:¥:Z:¢:¥:¢;Z:¥:Z:¢:¢:¢:¢:¢:¢:¥;?:?:¥:¢:¥:¥:?:?:¢:¢:Y:Z:T1Y:Y:Z;2;I;:;;;:;:;:;:;:;:;;;:;:I:I:I:;:;:I1;:}c§:§:§;§;{:§:{:§;§:§:§:§:Q:¥;§;?:¥:¢:¢:¢:?:¢:?:¢:¢:¥:¢:Z:?:¥:¢:?:¢:¥:¥:?:¥:¢:?:?:¢;1;l;:;:;:;:5I:I;;;;:;:;:;;;:;;§;§:§:{:{;§:§:§:§:¥;¥:¥:?;¥:Z;¢:¥:I EE Eäääiz§;§a§;§§§E;E;ääääääääääiäéäéäiEéääääééfäéääääääiäiääEifä2§&§?§EääiääääääfääääääiéäSäääéäéääää§s§2§E§s§2§2ääé2§s§2§s§;§2;2§;§;§;§s§2§2§;gz;$2;;;2;;;sä;§§§2§2;§§§§§éäégäääääääiäääääääéäéizäääääääS22?zääiéäSäääéééäääéäééäääääésäéäzäääzäääsäzä2§2§s§2§2äääsäa§&äzés§2§2§2§2§2§sis;2§2§2§2§2§s§z§§§z§§§§§ä§E;ä;§§E5ägääéééääEEEäääääääéäääéääéäéääiiäéäääéäiéiäisiéääE2§2§2§2äsäai;§$§2§eäs$2;;;§2§;§s§2§§§ä;§§§§§§§;§E§é

ECUVII>~— E¤E¤i¤E¢E¢E=E=3¤ErE=Bri¤ESE=i¢Eriliririräziririräf? EIEIE¤E=E¤EIE=Eri=E=E=E¢i¢E¢E=E:ErE¤E¤E¥ESEEIEEEFIEVI I €é?§äääEäEäääéEEäEäéäE?ääääääéäääääiäääääääääääéääää äääääéääéééäääääääää2ä2%;äséééääääääääsääéäéäéäéääää¤O I ;EEE;E;E;E;E;E5E5E5E5E;E;EgägägigEgigigägigégigigigE E;€3E55;;E5E5E5E3i;EgE;E;EgEgE;E;£5§;E;E;€;E;E;E;E;~—· 1 E§€§§§€§€§€§€§€§€§€§€§€?€?€€€?€?€?€€€?€€€?€€€FES?E ggEgä;äéäääééééäéääéäééééääzizéaäzäééäééééäsééäzäsäa+-> I ¤222;S;2;2;2;2;;;2;ääzésäs§s§2§2§2§2§2ä2ä2§s§2§s 3;%sézéääaéééééäéäääéäéäéäEEéä2§2§2§2§2§2ä2ä2§s§2i2ä=¤ I 2§:§;§2§;§2§;§2§2§z§s§;§2§2§s§;§;§;§;§a?s%;ä2E;ä2S2€ §s§s§a§;§s§s§s§2§2;2;;§;§z§;%2%;EsPsE2EsE;Esägfsäaäs"‘ I E¤E¢E¤E¤E=E=E=§=E¢E¤E:E:Z¢E¢E¢E=E¤E=E¤3?E?E?E€E€E€E? ¤ErErEérärE:E¤Ei:ErE=Erirä?§?E?E?E€E?E€E?E?E?E?E$E5 IQ:§:f:§:§:§:§:§:§:{:§:{:Q;}:§:§:§:Q:§:§:§;§:§:§:§:§ fi§:§:{:§:§:§:§:§:§:§:§:§:§:§:}:§:§:§:§:§:§:§:§:§:§:E s2äääéäzäéäéäéäéäéäääééäééäéééäéäéäéäéééäéäéééééäéäé éäaäéIäééääéäéäéäsieäéäéäéäääeäsäéäéééiéäéäéäzäsäeé

-•-1 I ‘?:?:T:7*¥:?:¢:Z:Zz?Z?:¥:Z:7:i:?:?:?:¢:7:¢:¢:¥:¢:I:? ?:¥:Y:!:¢:?:¢:i:?:Z:?:¥:?:¥:$:¢:7:¢:7:¢:?:¥:¥:7:¢:!:*/I :‘·——ä

1E.2. „I B E 2§;§2§2§;$2;;§2§s§s§;§s§s§;§;ä;§;%2§2€;€;E;Ez€;¥2ä;% i;§s§s§2§2§s§2§2§2§2§z§;§;§;E;§;§2€z€sE;EzE2ä;E§5;ä§I E TG .€€S§2§;;ääEä2§2§2§2§a§;§säéääaäääääiäääääääääéääää 2§s§s§2§2§2§2§2§2§;§;§;§;§säéizfsääEäääääääääiäääää· 3 i I 2 263I II=-

Z Z35E Q .5§;E;E;E;E;E;E5E;E5E5E;E3E5E;€;E;E§i§£§E§i§E§E§§§§§ \ ;E;§;E5§;E;E5E;i;E;E;E;E;E;E;E;E;E§E§E§£§E§E§E§E§E§EL 2 I * * ;lg: 1;;;=1;:;I;:;=;;;:¤»I; EseäääéääääääääääääääääII2ä;ä;é;é;%ä§;é;§;ääé;é;é; ·¤ éä2EIIéäääääääääääéääéääsääääääésääéséäéääääääséääI. Q Q I Ii iääéääääiiäääääEääiä?ääéää?äääiiäääääéääääääääääääää éääääääääéäääéääääéääééääI;äääääääséääääääsäääääGJ **1pr;w

vu ¥2%;%2¥2?sE2€2ä2faäsäsäääefzäzäaääääääääääéäääääääääm U Ü ‘ EIFIEÄEIEÄEEISIEIEIEEEEEIEÄEÄEIEIEIEÄEIEEEÄEQEEEI .- „ i2§ai2izäääz§z§s§2§s§z§s§2§2§z§;§;§;§;§;§;§s§;§;§;§;„, I ÄEiEääääiääfäääfääéäääääääEEäéääiäääääiääääääfiäääää 8 *1 éäéääéäéäééäeäéäsäääääaäéäéééäéäéäääéiääSäääséäéäé;; I 2;;§2$2232;2EzäzäääaEsäsézéääääésäsäeäaäzäsäsäsä;E 1: 52§a§;§;§2§2§2§s§2%:225;äzäaääsä;ä2€;ä2ä252?2Sz5;> m 3 :2:2:2:;:2:;:2:;:zésfzäaä;E;5;S;52E2%2€2%;52€2fsEs520. Q I jEZ;E5§3E5E;E;E;§5E;E;§;E;E;i3E;E5E3E;E;E5E5E;E;E5E o m ?;E;E;E;E;E3E;E;E5E;E;E;E;S55;E;S5E;E3E;E;E;E;E5E;E;¤ = I E

EFigure5.42 Generatimg the Model

Page 186: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

I

2178

5.8 The Model Animation Tool

To run the Visual Simulation, select the “Model

Animation Tool“ icon and wait for the dynamic display screento come up (see Figure 5.43). Select the "Load“ button to

load the background image and initialize variables (seeFigure 5.44). Select the "Animate" button to toggle the VS

on and off (see Figure 5.45). Selecting the “Run“button °

brings up the statistics panel (see Figure 5.46). The "Run

Simulation“ button runs the model without the dynamic

display (see Section 3.5.2) and is used for the gathering of

statistical information. Results obtained from this run are

listed in Table 5.1.

Finally, exit the top_level menu by selecting the

“Quit" button. This quits GPVSS entirely.

Page 187: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

I

1 7 9

I

· IIIIII IIII

IIIIII

III

I

III

Figure 5.43 Model Animation Tool Screen

Page 188: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

I 166

IIIII I

II

I II @1I I

II

I II]II- I- I-U U ll

Figure 5.44 Animation Tool After Load Operation

Page 189: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

[1 E5 1

111

[1 EÜ

[ [0 0 0

Figure 5.45 The Dynamic Display

Page 190: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

II162

§iQQi§IiIQ §

$2 [Q QM;* I- I-I U U U§1

E 2 2 22 2 2 ä I E2 2 :·°i’ 2 *2 2 2 2

2Figure 5.46 The Experimental Model

Page 191: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

163

Table 5.1 Round Robin System Experimental Results

Average Waiting TimeVALUES GIVEN:

1507.162 1515.372 1463.607 1509.916 1496.0391526.664 1513.152 1516.152 1496.656 1516.4151510.644 1517.421 1516.233 1512.524 1496.3271476.913 1517.460 1502.654 1496.661 1466.792

CONFIDENCE INTERVALS FOR THE DATANumber of data points = 20Sample Mean = 1506.161377Sample Variance : 169.530167Confidence lntervalstLevel 0.100 0.050 0.025 0.010 0.005Lower limit 1502.295 1501.127 1500.066 1496.769 1497.632Upper limit 1510.026 1511.195 1512.255 1513.554 1514.491

Average Number of Jobs in the System

VALUES GIVEN:

2.572 2.575 2.560 2.575 2.5662.564 2.569 2.574 2.572 2.5752.575 2.579 2.575 2.575 2.5692.571 2.577 2.567 2.574 2.567

CONFIDENCE INTERVALS FOR THE DATANumber of data points : 20Sample Mean : 2.572650Sample Variance I 0.000023

Confidence lntervalslLevel 0.100 0.050 0.025 0.010 0.005Lower limit 2.571 2.571 2.570 2.570 2.570Upper limit 2.574 2.575 2.575 2.575 2.576

Page 192: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

u

CHAPTER 6SUMMARY AND FUTURE RESEARCH

6.1 SummaryA The literature review presented in Chapter 2 clearly

indicates the need for an integrated visual simulationsystem that provides for the graphical definition andinteractive specification of the model while maintaining

application independence. GPVSS is an interactive graphicsoriented general purpose simulation system designed to

produce a running visual simulation from a graphical modeldesign. GPVSS provides facilities to: (1) graphicallydesign the model and its visualization, (2) interactively

specify the model’s logic, and (3) automatically generate

the executable version of the model, while maintaining

domain independence.E Chapter 3 provides an extensive detailed description of

the internal logic of GPVSS. GPVSS is prototyped on a Sun3/16OC computer workstation using the SunView graphicalinterface. The Image Editor/Model Editor provides thefacilities for the graphical design of the model and itsvisualization as well as interactive specification of themodel logic. The Generator automatically ·creates theAnimation Tool which is the executable version of the model.

Chapter 4 presents three case studies and shows that

184

g____i

Page 193: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

I

135

the internal logic of GPVSS and the logic of the models are

sufficiently accurate. Verification of GPVSS is achieved

through the use of desk checkinq and fracinq techniques.

Validation is achieved by modeling three systems, each

admitting a closed—form analytical solution, and comparingthe experimental and analytical results. In every case the

analytical estimate of the mean falls within the 90%I confidence interval.

Chapter 5 illustrates the usage of GPVS3. Using a case

study of a round robin system, the user is shown step by

step how to develop and execute a visual simulation.

The case studies presented clearly show that GPVSS is

an adequate visual simulation system for a wide variety of

problems. Thus, the goal of prototyping a software system

that aids a simulationist in developing a general purpose

discrete event visual simulation model has been achieved.

6.2 Recommendations for Future Research

GPVSS has been prototyped by using the evolutionary

software development approach. Because of this, a variety

of characteristics of GPVSS could stand improvement.

During GPVSS development, database tables were created

as the needs for them arose. Subsequent development often

rendered attributes of these tables obsolete, or duplicated

information unnecessarily. While there are no unused

attributes in the GPVSS databases currently, there remains

Page 194: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

136I

considerable duplication of information. A useful

modification would be to consolidate the database as much as

possible to maximize the sharing of information between the

various GPVSS components. For instance, although a DO image

may be stored with its name as a key, the DO specification

tool requires the user to know the name of the file

containing this image.

S The drawing environment of GPVSS is relatively crude.

A circle primitive would be helpful. Improved erase modes

are also desirable. Also, provision for the incorporation

of color images would increase the communicative

capabilities of the dynamic display. Many commercial

“paint“ programs could provide this capability.

Currently, limited macro, function and image libraries

assist the modeler in the creation of the system model. In

addition, only the exponential distribution on the

distribution selection panel is implemented. Code

implementing a variety of statistical distributions would be

both easy and useful.

Finally, the animation facilities of GPVSS are basic.

Code exists to animate “concurrent” animation events but is

not currently used. A very useful addition to GPVSS would Sbe the introduction of VIS capabilities. S

Future improvements to GPVSS are needed. GPVSS is an Searly prototype; however, GPVSS has proved to be a useful Svisual modeling system for a significant class of systems.

SI

Page 195: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

187

Future impI‘OV€m€n1;S and implementations can gain €V€I‘ IT1OI‘€

of the potential for computer assisted modeling offered by

VS and VIS.

Page 196: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

188BIBLIOGRAPHY

Alemparte, M., D. Cheda, D. Seely, and W. Walker (1975),"Interacting With Discrete Simulation Using On LineGraphic Animation," Comput. ä Graphics 1, 3Q9—3l3_

Baeker, R.M. (1974), "Genesys Interactive Computer-MediatedAnimation", In Computer Animation, J. Halas, Ed.New York, N.Y., pp. 97-115.

Balci, O. (1986), "A Conceptual Framework for SimulationModeling," MDE Project Working Paper, Department of

VComputer Science, Virginia Tech, Blacksburg, Va.

Balci, O. (1988), "CS 4214 Simulation & Modeling LectureNotes," Department of Computer Science, Virginia Tech,Blacksburg, Va.

Bell, P.C. (1985a), "Visual Interactive Modeling as anOperations Research Technique," Interfaces 15, 4(July—Aug ), 26-33.

Bell, P.C. (1985b), "Visual Interactive Modeling inOperational Research: Successes and Opportunities,"Journal of the Operational Research Society 36, 11(Nov.), 975-982.

Bell, P.C. (1986), "Visual Interactive Modelling in 1986,"School of Business Administration, The University ofWestern Ontario, London, Canada.

Bell, P.C. and P.F. Kirkpatrick (1986), "Questionnaire onthe Practice of Visual Interactive Modeling," School ofBusiness Administration, The University of WesternOntario, London, Canada.

Bell, P.C. and R.M. O’Keefe (1987), "Visual InteractiveSimulation - History, Recent Developments, and MajorISsues," Simulation 49, 3 (Sept.), lO9·115.

Biles, W.E. and S.T. Wilsor (1987), "Animated Graphics andComputer Simql3tiOn," In Proceedings of the I9S7 HinterSimulation Conference (Atlanta, Ga., Dec. 14-16). IEEE,Piscataway, N.J., pp. 472-476.

Birtwistle, G., J. Joyce, and B. Wyvill (1984), "ANDES - AnEnvironment for Animated Discrete Event Simulation," InProceedings of the U.ä- Simulation Conference (Bath,U.K.), Sept.

Page 197: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

169Cox,S. (1967), “Interactive Graphics in GPSS/PC,“ [

Simulation 49, 3 (Sept,), 117-122,

Gordon, R.E. and E.A. MacNair (1967), “A Visual ProgrammingApproach to Manufacturing Modeling," In Proceedings ofthe 1937 Hinter Simulation Conference (Atlanta, Ga_,Dec. 14-16). IEEE, Piscataway, N.J., pp. 465-470.

Gordon, R.F., E.A. MacNair, K.J. Gordon, and J.E. Kurose(1966), “The RESearch Queuing Package ModelingEnvironment (RESQME),“ Research Report RC 13426(#60092), Research Division, IBM, Yorktown Heights,N.Y., Jan.

Grant, J.W. and S.A. Weiner (1966), “Factors To Consider InChoosing A Graphically Animated Simulation System,“Industrial Engineering, (Aug_), 37-68,

Grant, M.E. and D. W. Starks (1966), “A tutorial on TESS:The Extended Simulation Support System,“ In Proceedingsof the ISSS Hinter Simulation Conference (San Diego,Ca., Dec. 12-14). IEEE, Piscataway, N J., pp. 136-240.

Hollocks, B.W. (1967), “Practical Benefits of AnimatedGraphics in Simulation,“ In Proceedings of the 1937Hinter Simulation Conference (Atlanta, Ga_, Deo_14-16). IEEE, Piscataway, N.J., pp. 323-326.

Hurrion, R.D. (1960), “An Interactive Visual SimulationSystem for Industrial Management,“ European Journal ofthe Üperational Research Society 5, 2 (Ang_), 86-93,

Hurrion, R.D. (1966), “Visual Interactive Modeling,“European Journal of the Operational Research Society

· F3, 3 (Mar.), 261-267.

Hurrion, R.D. and R.J. Secker (1976), “Visual InteractiveSimulation: An Aid to Decision Making,“ Omega S, 5,419-426.

Johnson, M.E. and J.P. Poorte (1966), “AHierarchical

Approach to Computer Animation in SimulationModeling," Simulation SO, 2 (Jan ), 30-36.

Kurose, J.F., K.J. Gordon, R.E. Gordon, E.A. MacNair andP.D. Welch (1966), "A Graphics-Oriented Modeler’sWorkstation Environment for the RESearch QueuingPackage (RESQ),” In ISSS Proceedings of Fall JointC(,%?Z'?,7EE·E‘f' CiZ¥TiT-EVETICE (Nov, ) , NewYork,pp.

719-726.

Page 198: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

190

Macintosh, J.B., R. W. Hawkins, and C. J. Shepard (1984),"Simulation on Microcomputersl The Development of aVisual Interactive Modelling Philosophy," InProceedings of the 1954 Hinter Simulation Conference(Dallas, Tex., Nov. 28-30). IEEE, Piscataway, N.J.,pp. 531-537.

Mathewson, S.C. (1985), "Simulation Program Generators: Codeand Animation on a P.C.," Journal of the SperationalResearch Society 35, 7 (June), 583-589.

Melamed, B. and R.J.T. Morris (1985), "Visual SimulationlvThe Performance Analysis Workstation,“ IEEETransactions on Computers 15, 2 (Ang,), 87-94,

Miles, T., R.P. Sadowski, and B.W. Werner (1988), "Animationwith CINEMA," In Proceedings of the 1955 HinterSimulation Conference (San Diggg, 03,, Dec, 12-14),IEEE, Piscataway, N.J., pp. 138-240.

Nance, R.E. (1989), Personal Communication, Department ofComputer Science, Virginia Tech, Blacksburg, Va.

0’Keefe, R.M. (1987), "What is Visual InteractiveSimulation? (And is There a Methodology for Doing itRight?)," In Proceedings of the 1957 Hinter SimulationConference (Atlanta, Ga., Dec. 14-18). IEEE,Piscataway, N.J., pp. 481-484.

Palme. J. (1977), "Moving Pictures Show Simulation toUser," Simulation E9, 8 (Dec.), 204-209.

Sauer, C.H., E.A. MacNair, and J.F. Kurose (1982), "TheResearch Queuing Package Version 2l Introduction andExamples." Research Report RA 138 (#41128), ResearchDivision, IBM, Yorktown Heights, N.Y., Apr.

Smith, R.L. and L. Platt (1987), "Benefits of Animation inthe Simulation of a Machining and Assembly Line,"Simulation 45, 1 (Jan,), 28-30,

Standridge. C. R. (1988), "Animating Simulations UsingTESS," Computers and Industrial Engineering io, 2,121-134.

Sun Microsystems (1988), SunIH5RES, Volumes I, II, and III,Sun Microsystems, Inc., Mountain View, CA, May.

Sun Microsystems (1988a), SunViem Programmer s Guide,Sun Microsystems, Inc., Mountain View, CA, May.

Page 199: GENERAL PURPOSE VISUAL SIMULATION SYSTEM

II

191Sun Microsystems (1988b). SunView 1 Beginner’s Guide,Sun Microsystems, Inc., Mountain View, CA, May.White, R.A. (1988), "TRAVISZ A General Purpose TrafficIntersection Visual Interactive Simulator,“ M.S.Thesis, Department of Computer Science, Virginia Tech,Blacksburg, Va., Sept.Wyvill, B. and B. MacDonald (1987), “State of uthe Art inComputer Graphics and Animation," In Frwcaedinqä of theConference on Hethodology and Validation (1987 EagteynSimulation Conferences, Orlando, Fla., Apr. 8-9). SCS,San Diego, Calif., pp. 1-8.

I

I

I

I( I

I I IIl I

Page 200: GENERAL PURPOSE VISUAL SIMULATION SYSTEM