D- AO97 375 MISSISSIPPI STATE UNIV MISSISSIPPI STATE EMNIEENim-gb F/0 ,STUDY OF AVIONICS TIME DIVISION NULTIPLEX US SINULATION.f(U /DEC 60 M 0 CALHOUN, U KHATIRZAD AFOSRf8t-01l6UNCLASSIFIE |lo SSU-ElRS*- - ArOSIM-TW41-0311 M L
mhhhhhII hhl1hhhhm2hh
MI MEEN111111IIIEIIEIIII
AFOSR-TR. S I - : 11
A STUDY OF
AVIONICS TIME DIVISION
MULTIPLEX BUS SIMULATIONLEV
ELECTRICAL ENGINEERING
c By4
LU MALCOLM 0. CALHOUN, Ph.D.-:J
La- and
BEHROOZ KHATIRZAD
Prepared For:
AIR FORCE OFFICE OF SCIENTIFIC RESEARCH
BOLLING AFB, DC 20332
Approved for p""tIc a releasedistribution unlimited.
Mississippi State UniversityMississippi State, Miss. 39762 MSSU-EIRS-EE-81-1
COLLEGE OF ENGINEERING ADMINISTRATION
WILLIE L. MCDANIEL. PH.D.
WALTER R. CARNES, PH.D,F'..", ..
RALPH E. POWE, PH.D.
LAWRENCE J. HILL, M.S.
CHARLES B. CLIETT, M.S..- .1 ' , '11, , f iI . ,
WILLIAM R. FOX. PH.D.
JOHN L. WEEKS. JR., PH.D.
ROBERT M. SCHOLTES, PH.D.
B. J. BALL, PH.D.
W. H. EUBANKS, M.ED.
FRANK E. COTTON. JR.. PH.D.N E. F,N',
C. T. CARLEY. PH.D.V! A, F N' ' [ -N! EN'.'NEEPiNG ANDl INDUSTRIAL :ESEARt,, 'TAThF)N
JOHN I. PAULK. PH.D. )RAWER nE
141F,',N'FP F S11 TAIE UNIESIrAMh-'. PP ', 7
I AT E MISSIS IPPI 39'62
ELDRED W. HOUGH. PH.D.
' '. ,,II~IXh, E,05 not dlsrfmloate o,, hhe tsa,t t ,n. , .0 ,1 V
'" F ) 7' T K M,.!1,fl V, F,-Pr lnt 610 AlPln Hall P 0 L,- -. .J .1, '. 1 V, Nb MI. I 5U r, F h 1?21 "as Iton ,S.Fst a, I-
, , , ,", 'Fff. F ' ' F '. , - .
I'l AD IN' I I' r I"N,
REPORT DOCUMENTATION PAGL [IFA)f'li(~:~pf P U V4 ,()V' A C F 10 1N C)j 3 11VI iP Ij , T- A TA~ I .N~i
T IIF - . t I I I ' j -)'I P p T P pf P, r
A STLIDY OF AviOntICS TIM[ DIVISIOtl MULTIPLEX FINALRUS S-111AT~nj IJan 1980 to 31 Dec 1980OtI S.?IIIAT10 PE RFORMINr 0 -1,P PORT *uumFFN
3 AuT,-~Th CONTRACT o)R GRANT NUMH~F31 ,
MAL-Cril-M r) CALHOIO and AFOSR-F0-0126
BEHR0OZ KIIATIRZ'Eq PFRFPF4WN'. OGR,A'IZAII!Th NAM[ AN') ADORF~. &O PRO',sRAM ELEME NT PRO)JECT. A,.
APE A 4 *ORK UNIT NjMj3L W3,flississipni State University 20/9 ~ /~Drawer FE 34DMiss-lssippi State, MS 3076?
TI CNTP LLING q)FpF N AMF AND ADDRESS Directorate of 12 REPORT G ATE
Mathematical and Information Sciences, ___________
Lt. Col. Georne 1'1. flcKeruiie, AFOSR/YIJ Bollina AFB, 13 NUMBER OFPAE
DC 203312 ___
14 MON I TOPNO AGEN - Y N AM& S ALUO,4f 55,1 bl-o fl- C *,fr'I1iinA OfI)iI 15 SEC JRIT V CLASS ,I! th-~lpr
Uncl assi fied
SCHE 0U .E
6 OiSTRIFIJT )N S'AEMf N4T ',, 0
Aprrove f'cr'p,111c rojefl3O;
17 DSrRRuJTfIG S- AT EMEP. thej Eshs.. *) nt,-: HI N-.10, II'difl.,,,n ftn,, Hepoinr
9 E *')RGS (( ...... -- e -4'- . f n ,,, AP -- y , .- I h h1
' Ck -ic nh-r)
P It- AT I011TIME DIVISIOPI ttLTIPLEXIN17
AVIOINICSc DATA RUS
21 APRS3 P 4CT (1n~n -1- rr, id. I! - -- .- 1 h,,! , l- oEnn'r
Utilization of AFAL's MiwySIri Simulation Program is wade, linking MU PA andM'JXPB to GrAp IV. Computer Simulations are made to cormpare FORTPAN', GASP IV,GPSS 11, SIMSCPRIPT 11, ADA and ECSS 11 are considered as possiblesimulation tools.
DD 'J' P 7 1473 1111T11N .1 1 NoV Al .%OBOLETE
SF( CIRI TV CL ASSIFIC ATIO)N nF THIS P AGE 147-.1 ',. 1 IY
Mississippi State UniversityDepartment of Electrical Engineering
(A STUDY OF AVIONICS TIME DIVISION
MULTIPLEX BUS SIMULATION,
For Period Covering'? *-" . (. I Janu wry k~t-4-31 Decoe 380
tP_: Final Report -, - /-AFOSR-80-01268 '* '
' , --# . -
Principal Investigator
-L_ Malcolm D./Calhoun', Ph.D.
Report Prepared By: Approved for publia release' diatibutuon tw= wtod,
-- BehrooziKhatirzad
Prepared For: '"
Air Force Office of Scientific ResearchBolling AFB, DC 20332
AIR F1'W-, O:[; (d' SCI2''TIFI F'S-ARCH (APSC)NOTI..' Ci" 9O ' . A Y t' > ,kThLs 1001: i . . , .i -t : rovi-'.,eC and isal 'ov," .,r , .' i a.-, 1AW AFR 14U-l2 (7bJblstrlL;,u : ":' 13 twill~iited.
A. D, BLQ'2;£
8 1 4 6 120 Tachnical Informetion Officer
ii
TABLE OF CONTENTS
Chapter Page
LIST OF FIGURES .................................... vii
LIST OF TABLES ..................................... x
I. INTRODUCTION ....................................... 1
II. SIMULATION LANGUAGE ................................ 4
General Views of SIMSCRIPT II ................... 6
General Structure of Simulation
Programming in SIMSCRIPT II .................. 7
General Views of GASP IV ........................ 9
GASP Input Data Cards .......................... 12
Data Card Type I ................................ 12
Data Card Type II ............................... 16
Data Card Type III ............................... 16
Data Card Type IV ............................... 16
Data Card Type V ............................... 16
Data Card Type VI ............................... 17
Data Card Type VII .............................. 17
Data Card Type VIII . ..... ... 17
Data Card Type IX . 1." > . . ."" ..... .... .. 17r.fI C TAB
Data Card Type X ...... . ... 18j"rt if Jention
Data Card Type XI ... . .;................. 18
Data Card Type XI I . ri '°t± ............. 18
"Avfl~CLLitY "
"D -L.L,: !
iii
TABLE OF CONTENTS (Continued)
Chapter Page
II. SIMULATION LANGUAGE (Continued)
Data Card Type 0 ..................... 19
General Views of GPSS II ............. 20
Description of GPSS II Blocks ........ 21
General Views of the ADA Linguage .... 28
Exceptional Situation in the ADA
Language .......................... 30
General Views of ECSS II ............. 31
III. GENERAL IDEAS OF MUXSIM ................. 35
The Purpose of the MUXSIM System ..... 38
Description of the MUXDA Program ..... 39
Statement of the Problem ............. 39
Simulation Objective ................. 41
GASP IV Simulation Structure and
Program Variables for MUXDA ....... 41
Main Program ......................... 41
Subroutine INTLC ..................... 44
Subroutine FUIFRE (NF) ............... 45
Subroutine ENDDM (NM) ................ 45
Subroutine DMARIV (ND) ............... 46
Subroutine NXTFUI (I, WHEN) .......... 46
Subroutine NXTDM (I) ................. 46
Simulation Report .................... 47
iv
TABLE OF CONTENTS (Continued)
Chapter Page
I I I GENERAL IDEAS OF MUXSIM (Continued)
A Description of the MUXDB Program ... 77
Statement of the Problem................77
Simulation Objective.....................83
GASP IV Simulation Structure and
Program Variable......................84
Main Program.............................84
Subroutine INTLC.........................84
Subroutine EVNTS.........................84
Subroutine WATCH (IDUM).................85
Subroutine CTERM (ITRM)..................85
Subroutine TERMR (ITRM)..................86
Subroutine NOISES (IN)...................86
Subroutine NOISET (IN)...................86
Subroutine TRMUP (ITN)...................87
Subroutine TRMDN (ITN)...................87
Subroutine FUI (IFUI)....................87
Subroutine DMARIV (1DM)..................88
Subroutine OTPUT.........................88
Subroutine NXTMSG (lAM)..................88
Subroutine STAT (ILBUS, IRBUS)..........89
Simulation Report.........................g
TABLE OF CONTENTS (Continued)
Chapter Page
IV. A SIMULATION EXAMPLE IN VARIOUS LANGUAGES ............. 100
A Description of the FORTRAN Simulation
Program ......................................... 100
Subroutine ARRIVAL ................................. 104
Subroutine SERVICE ................................. 105
Subroutine DEPARTURE ............................... 106
GASP IV Simulation Program ......................... 109
A Description of the GASP IV Simulation
Program ......................................... 110
Main Program ....................................... 110
Subroutine EVNTS ................................... 110
Subroutine ARR ..................................... 112
Subroutine BEGS .................................... 112
Subroutine FINS .................................... 112
Simulation Report ................................. 112
GPSS II Simulation Program ......................... 116
A Description of the GPSS II Simulation
Program ......................................... 116
Simulation Report .................................. 118
SIMSCRIPT II Simulation Program .................... 120
A Description of SIMSCRIPT II Simulation
Program ......................................... 120
vi
TABLE OF CONTENTS (Continued)
Chapter Page
IV. A SIMULATION EXAMPLE IN VARIOUS LANGUAGES (Continued)
Simulation Report .................................. 122
V. SUMMARY AND CONCLUSION ................................ 124
APPENDIX - List of Programs and Subroutines ........... 127
REFERENCES ............................................ 155
vii
LIST OF FIGURES
Figure Page
1-1 Sample Multiplex Bus Architecture ..................... 3
2-1 General Layout for the Simulation of anArrival and Departure ................ ............ 8
2-2 General Layout of the Main Program for
GASP IV ............................................... 10
2-3 Layout of Subroutine EVNTS ............................ 11
2-4 Functional Flow of GASP IV Program .................... 13
2-5 Relation of GASP IV and User Subprograms .............. 15
2-6 Schematic of ECSS Program Processing .................. 33
3-1 HUXSIM System Data Flow Diagram ....................... 36
3-2 MUXSIM Modular Software Structure ..................... 37
3-3 Demand Message Multiplex System SchematicRepresentation ........................................ 40
3-4 GASP IV Input Echo Check and User InputData Incorporated in MUXDA ............................ 48
3-5 File Printout at Time 0 for MUXDA inFirst Run ......................................... 49
3-6 Plot Output fcr MUXDA ................................. 60
3-7 Variation of Queue Length with Time inMUXDA (First Run) ..................................... 61
3-8 Variation of the Percentage of IntervalTime for Demand Message Transmission withTime in MUXDA (First Run) ............................. 62
3-9 Variation of Bus Idle Time with Time inMUXDA (First Run) ..................................... 63
viii
LIST OF FIGURES (Continued)
Figure Page
3-10 File Printout at Time 0 for MUXDA in
Second Run .......................................... 64
3-11 Plot Output for MUXDA in Second Run ................... 73
3-12 Variation of Queue Length with Timein MUXDA (Second Run) ................................. 74
3-13 Variation of the Percentage of IntervalTime Available for Demand Message Transmissionwith Time in MUXDA (Second Run) ....................... 75
3-14 Variation of Bus Idle Time with Timein MUXDA (Second Run) ................................. 76
3-15 GASP IV Input Data Echo Check forMUXDB Simulation ...................................... 92
3-16 User Input Data for GASP IV in
MUXDB Simulation ...................................... 93
3-17 User Detailed Input ................................... 94
3-18 Printout of Files at Time 0 for MUXDB ................. 95
3-19 Output from Subroutine MONTR, showingEvent Tracing for MUXDB ............................... 96
3-20 GASP Summary Report ............ ........ ........... 97
3-21 Statistics Regarding the Use of Files
for MUXDB ............................................. 98
3-22 Histogram Output for MUXDB ............................ 99
4-1 Flow Chart of Single Queue, Single Serverin the FORTRAN Program ................................ 102
4-2 Flow Chart of Subroutine ARRIVAL ....................... 104
4-3 Flow Chart of Subroutine SERVICE ....................... 105
4-4 Flow Chart of Subroutine DEPARTURE ..................... 106
ix
LIST OF FIGURES (Continued)
Figure Page
4-5 Printout of the FORTRAN SimulatiorProgram ............................................... 107
4-6 Flow Chart for GASP Single Queue,Single Server ......................................... 111
4-7 Input Data Echo Check and Printout ofFiles at Time 0 for Single Bus Example ................ 114
4-8 GASP IV Summary Report for Single BusExample ............................................... 115
4-9 Block Diagram for GPSS 11 SimulationProgram ............................................... 117
4-10 GPSS 11 Printout for Single Bus Example ............... 119
4-11 Flow Chart for Event Arrival for SingleBus Example ........................................... 128
x
LIST OF TABLES
Table Page
2-1 GPSS II Standard Block Limits ......................... 27
3-1 Definition of GASP Files for MUXDA .................... 42
3-2 Definition of Non-GASP Variables ...................... 43
3-3 Definition of GASP Files for P'UXDB .................... 78
3-4 Definition of Non-GASP Variables for rVUXDB ............ 79
5-1 Comparative Study of Various Simulations of
Single Queue, Single Rus Problems ..................... 125
CHAPTER I
INTRODUCTION
Progress in digital technology has led to the development of
shared information among electronic subsystems. For example, a
number of digital processors may be interconnected via one common
communication channel. Recent advances in microprocessors have
made distributed processing a reality in many practical applications:
manufacturing, computing, integrated avionics systems, etc. One
technique for transferring information between several devices on
one common channel is known as time division multiplexing; the channel
over which the information is transferred is called a multiplex data
bus. [i]
The multiplex system is a collection of electronic devices which
send or receive signals for encoding and/or decoding; also, the system
is capable of storing for future dispersal messages which arrive simul-
taneously. The components of the multiplex system are, (1) the bus
controller, (2) remote terminals, (3) suhcystems which may have em-
bedded remote terminals, and (4) the data bus. See Figure 1-1. The
data bus conveys information between the bus controller and the remote
terminals (PT). The number of RT's cn the data bus depends on the com-
plexity of the desired system. The bus controller initiates information
transfers on the data bus and is an integral part of the multiplex sys-
tem. A subsystem is a functional unit which receives data transfer
service from the data bus. Frequently it is necessary to have more than
one data bus; a data bus which has more than one path between the sub-
systems is called a redundant data bus. Figure 1-1 illustrates a
2
redundant data bus architecture.
Discrete event simulation is a viable means of modeling digital
multiplex systems. Questions concerning data bus utilization and/or
bus traffic loading should be answered prior to the hardware develop-
ment of the system. A simulation model may be used in the preliminary
design and accuracy testing of a digital multiplex system. One such
simulation model which has been developed for this purpose is the
Multiplex System Simulator (MUXSIM) [2] . In building the model for
MUXSIM, FORTRAN IV and the GASP IV simulation languages were used;
however, other simulation languages such as GPSS II or SIMSCRIPT II
may be used. In selecting the simulation language to use in modeling
a multiplex system, care should be taken that the simulation language
matches the host computer system.
An overview of several current simulation languages is presented
in Chapter II. In Chapter III, the general views of MUXSIM and the
analysis of the dynamic part of the MUXSIM system are described in
detail. The purpose of the dynamic MUXSIM (PIUXDA and MUXDB) is to
model the time-variant or stochastic aspects of the system and to
obtain the simulation results on such system parameters as queue size,
time delay, system failure, etc. In Chapter IV, a programming example
of a single queue, single bus is presented in FORTRAN IV, and three
different simulation languages, (GASP IV, SIMSCRIPT II, and GPSS II).
Chapter V is a comparative study of the simulation languages based on
the results of Chapter IV. Recommendations regarding the choice of a
language for multiplex simulation are included,
3
All programs and modified programs which are used in this report
are included in the Appendix. Numbers enclosed in brackets [ ] refer
to the reference list at the end of the report.
Redundant Data Bus Ai iI I
_ _ _ _ _ _ _ _ _I t
SubsystemIwith Embedded . . .--- ..Remote Terminal L - - -
I I
I I iI j
I I I
Bus Controller - -- -
I II I i
I
Si IUI
I I
BI
TIEIMSI
I I
I i
Figue 11 SapleMultple BusArcitecure
CHAPTER II
SIMULATION LANGUAGE
Simulation is a good approach to analysis in the design and
operation of a complex system. It is necessary for the modern en-
gineer to be familiar with the techniques of simulation.
Large scale system modeling, using similation is very dependent
on the digital computer; therefore, one who is interested in sim-
ulation modeling should have a basic knowledge of computer science.
In this project, it is necessary to know FORTRAN IV as a requirement
for learning and working with the GASP IV simulation language.
The definition of simulation: Simulation is the process of
designing a model of a real system and conducting experiments with
this model for the purpose of either understanding the behavior of
the system or evaluating various strategies (within the limits im-
posed by criterion or set of criteria) for the operation of the
system [3].
In simulation modeling, the engineer seeks to describe a system
and its behavior. For this purpose, theories or hypothesis must be
constructed. These theories are used to predict future events.
The greatest advantage of simulation is its powerful education
and training application, because the development and use of sim-
ulation allows a means to find the problems which may happen in the
real world; this, in turn, helps in understanding and learning how
to handle the difficulties or problems. It should be pointed out
that the development of a good simulation model may require a lot
of time and expense.
5
In addition, simulation modeling is a type of art work, and therefore
requires a talented engineer. Furthermore, the complexity of the sys-
tem may be such that it is not amenable to simulation. Thus, it is
possible that the results of a simulation do not always fit in the
real world. Another reason for the difference between simulation re-
sults and real world is that we cannot create all the conditions in
our simulation model; therefore, when possible, the results of a sim-
ulation should be compared with the direct experiment in the real life
systems. If there is too much difference in the results, the model
should be modified to overcome many difficulties in obtaining a good
match between the model and actual conditions.
Is it always possible to perform a direct experiment? The answer
is not always yes, because the direct experiment may be too costly and
time consuming, or it may be too difficult to maintain the same con-
dition for each run of the experiment. Also, it may not be possible
to create many types of alternatives in the real life. Furthermore,
the simulation result is numerical. These numbers may be truncated
several times during the simulation process itself; therefore, there
is always danger of obtaining an incorrect result or a slightly
different result from the real world.
6
GENERAL VIEWS OF SIMSCRIPT II
SIMSCRIPT II is a very impressive and flexible computer pro-
gramming language. It can be used for general programming pro-
blems [4] [q]. SIMSCRIPT II is divided into five language levels,
which are as follows:
1. Level One or Elementary User's Language
This is designed to introduce programming concepts if one is not
familiar with computer programming. This level is a simple teaching
language.
2. Level Two or Level of FORTRAN
This is almost like the FORTRAN language, but is different in specific
features. For example, all variables are not real unless otherwise
defined; SQRT (square root) and other FORTRAN functions are not allowed
to be used as variable names.
3. Level Three or Level of PL/I or ALGOL
This level is almost comparable to PL/I or ALGOL, but as in level two,
they have many differences.
4. Level Four or Entity-Attribute-Set-Level
This level contains the entity-attribute-set of this language. The
simulation program in this level should have a preamble, and every
statement which appears in the preamble should define the existence
of a class of entities. An entity can belong to other entities,
have sets of other entities, and may have attributes.
5. Level Five or Simulation-Oriented Feature
Levels one through four present a general programming language, but
level five is different, in that it provides concepts and programming
-'I-
7
features for discrete-event simulation. Discrete-event simulation
handles models whose entities interact with one another at discrete
times, instead of continuously. This level deals with concepts and
statements made to help in modeling systems.
General Structure of Simulation Programming in SIMSCRIPT II
Every EVENT must be defined in the preamble, scheduled by the
modeler, and must be supported by an event routine. For example,
for simulation of an arrival and departure, one should define arrival
and departure in the preamble. In the main program, the arrival
should be scheduled and after it, an event arrival must be written.
A schedule of departures should be in the event arrival and departures
should be supported by an event departure. Figure 2-1 illustrates
the general layout of the above example.
8
PREAMBLE
EVENT NOTICES INCLUDE ARRIVAL AND DEPARTURE
END
MAIN
SCHEDULE AN ARRIVAL
EVENT ARRIVAL
SCHEDULE A DEPARTURE
RETURN
END
EVENT DEPARTURE
RETURN
END
Figure 2-1 General Layout for the Simulation of an Arrival and De-
parture.
9
GENERAL VIEWS OF GASP IV
GASP IV was developed by Dr. A. Alan B. Pritsker at Purdue
University and is based on GASP I, which was developed at Arizona
State University, which in turn was based on the original GASP
developed at U. S. Steel by Mr. Phillip J. Kiviat. [6]
GASP is an acronym for General Activity Simulation program.
GASP IV is a specialized language for constructing simulation models
of computer systems. It is a powerful and a well-documented simulation
language. GASP IV is a FORTRAN based simulation language and does
not require a separate compiling system. It is easy to maintain on
any machine which has a FORTRAN IV compiler. This simulation language
is used for discrete, continuous, and combined discrete/continuous
modeling and is the only simulation language with this capability.
It is easy to modify and extend to meet the needs of particular
applications. GASP IV has the capabilities for event control, to
update system variables, to initialize the state of system, and to
collect the statistical value.
A simulation program written in GASP IV is divided into two parts,
a user part and a GASP IV part. The user part consists of the main
program and subroutine. In the main program, all non-GASP variables
that remain constant for all simulation runs should be initialized.
Some of the most used GASP subroutines are described below:
Subroutine GASP is called via the main program. The general layout
of the main program is shown in Figure 2-2.
Subroutine INTCL is used to initialize non-GASP variables at the
start of each run.
10
C MAIN PROGRAM
DIMENSION NSET (NNSET)
C NNSET to be specified
COMMON (GASP VARIABLES)
COMMON (NON-GASP VARIABLES)
EQUIVALENCE (NSET (1), QSET (1))
C Initialization of non-GASP variables
C Initialization of Card Rc-der Value, NCRDR and Printer Value,
C NPRNT.
CALL GASP
C If more runs are desired, insert GO TO statement to either
C reinitialize non-GASP variables or to CALL GASP again.
STOP
END
Figure 2-2 The General Layout of the Main Program for GASP IV.
11
The user written subroutine EVNTS (IX) is called to pick up the
event code IX and to call the appropriate event code. The general
form event code is given in Figure 2-3.
SUBROUTINE EVNTS (IX)
DIMENSION NSET (1)
COMMON QSET (1)
COMMONJ (GASP VARIABLES)
COMMON (NON-GASP VARIABLES)
EQUIVALENCE (NSET (I), QSET (1))
C For Single Queue and Single Server
C Simulation program which is written in this thesis
C IX has been specified as follows:
C If IX is 20, Event Arrival will occur.
C If IX is 30, Event Begin Service will occur.
C If IX is 40, Event Finish Service will occur.
GO TO (20, 30, 40), IX
20 CALL ARR
RETURN
30 CALL BEGS
RETURN
40 CALL FINS
RETURN
END
Figure 2-3 Layout of Subroutine EVNTS.
1?
Subroutine OTPUT produces some information in addition to the stan-
dard GASP summary report. It can be used as an end of simulation
event.
The GASP part of the simulation program consists of the subprogram
that prepares for the following functions: data collection, statistics
computation and reporting, monitoring and error reporting, random
deviate generation, data storage and retrieval data, and event
initialization and mode controller. Figure 2-4 shows the flow chart
of the GASP program.
Figure 2-5 presents a diagram showing the relationship of the
GASP IV subprograms and the user written subprograms. The lines in
Figure 2-5 represent one subprogram calling another. Each of the
user written subprograms can call any of the GASP IV subprograms.
Lines indicating such calls are problem specific and are not shown
in the figure. Subprogram names, having both a solid box and a
dashed box around them, are usually written by the user. GASP IV
gives a "dummy" version if no user version is written.
GASP Input Data Cards
The GASP program has standard input data cards besides the user
init cards. The user input data card is placed before or after,
or both before and after the GASP input data card, depending on the
type of program.
There are twelve types of input data cards as described below:
Data Card Type I
Data card type I is used for recording the name of the programmer,
the number of the project, the date and number of the simulation run.
13
User generated I Provided by GASP IV
START RESTART
Main program Initialize GASPInitialize variables
non-GASP variables and establishinitial events
Subroutine INTLCInitialize
non-GASP variables,-state variablesand time-events
II
Yes runrun
complete
there a Yes
time-event
Surutn SONoie e event frode
u sRemove time-
eventven codiiosm
Is event file
Subroutine SSAVEo Yeoram,Record status posne p
Subroutine STATE Try to advance Advance time
Update state time by step Ito time of eventSubroutine SCOND size [Set event codeEvaluate state- IS event conditionsl I, ()(
.Figure 2-4- Functlonal Flow Chart of a GASP IV Program,
*Numbered circles refer to destination points in the program.
14
4R1educeha steposriz yes ted
S Raccuracy notbeen met or has a
Figrel nctpora w Ct oa ne
IsNIter av t .... te-eventt
TvYes
Typ I ye- yn
Subroutine OTPUT Subroutine SUMRY
Perform end-of-simulation Print GASP summary
and specialized reporting report if requested
Figure 2-4 Functional Flow Chart of a GASP IV Program (Continued)
STATEI- Evet'SCON MAN : EVNTS ' routines
OTPU GAS PV subprogram
P -- LOurmi subprogramCOLC
rTB J1DTN RT
LOTUser prgrm requipre :QI IT
L ~ ERRO Supoga AcUsSbpora
The format is (3A4, 3X, 515, 1511) for type I data cards.
Data Card Type II
Data card type II is used if the control variable (LLSUP (2)) is
less than one. It consists of information about subroutine COLCT,
TIMST, and TIMSA, number of histograms, number of parameter sets,
number of plots or tables, number of random streams, maximum allow-
able number of entries in the file storgae area (NSET/QSET), max-
imum number of attributes per entry in NSET/QSET, number of files
in NSET/QSET, dimension of NSET/QSET, number of derivative equations,
number of equations defining in state level and number of state
condition flags (LFLAG) employed. The format is (1515).
Data Card Type III
Input card type III is used only if the number of sets of sta-
tistics collected by subprogram COLCT (NT!CLT) is greater than zero
and the control variable (LLSUP (3)) is less than one. The format
of this card is (5X, 15, 2A4) and it contains labels associated
with variables used in COLCT.
Data Card Type IV
Input data card type IV is used only if the number of sets of
statistics collected by subprograms TIMST and TIMSA is greater than
zero and the control variable (LLSUP (4)) is less than one. The
format of this card is (5X, 15, 2A4, E1O.O) and it consists of a
label for TIMST, TIMSA and the initial value for the time persistent
variable.
Data Card Type V
This input data card is used only if the number of histograms
(NNHIS) is greater than zero and the control variable (LLSUP (5))
17
is less than one. The format of this type of card is (5X, 15, 2A4,
7X, 15, 2EI0.O). It consists of a label of histogram, number of
cells of each histogram, upper limit of the first cell of the his-
togram, and the width of a cell for histogram.
Data Card Type VI
Data input card type VI is divided into two types, Type A and
Type B.
Type A is used only if the number of plots and/or tables (NNPLT)
is greater than zero and the control variable (LLSUP (6)) is less
than one. The format used is (5X, 15, 2A4, 7X, 315, ElO.O). This
card gives information about the label of plot, index of tape, num-
ber of variables for the table or plot, keys for specifying the type
of table or plot, and intervals between successive plot points.
Type B is used only if IJ (Index) is less than the number of
variables to be plotted or tabled. The format used is (5X, 15, Al,
2A4, 1X, 215, 2EI0.0). This card gives plot symbols, labels for
plots, keys for specifying lower and upper limits and values associated
with lower and upper limits of plot ordinates.
Data Card Type VII
This type of card is used only if the number of files in the file
storage area (NSET) is greater than zero and the control variable
(LLSUP (7)) is less than one. The format is (1415). This card gives
information about ranking attributes for files.
Data Card Type VIII
This type of card is used only if the number of files (NNFIL) in
the file storage area (NSET) is greater than zero and the control
variable (LLSUP (8)) is less than one. The format of this card is
18
(1415). This card consists of keys for priority systems to be
used in the files.
Data Card Type IX
This type of card is used only if the number of state and
derivative equasions (NNEQT) is greater than zero and the control
variable (LLSUP (9)) is less than one. The format of this card is
(215, 5E0.0). This card has information about accuracy, mimimum
and maximum step size permitted, and keys between communication
points.
Data Card Type X
This type of card is used only if the number of parameter sets
(NNPRM) is greater than zero and the control variable (LLSUP (10))
is less than one. The format of this card is (5X, 15, 4EIO.O). This
data card has information about parameter set numbers and parameter
numbers.
Data Card Type XI
Data card type XI is used only if the control variable (LLSUP (11))
is less than one. The format of this card is (415, 2E1O.0, 15, (615)).
This data card yields information about stopping the simulation, whether
statistical array should be cleared during initialization, and the
initialization of the random number seed.
Data Card Type XII
This type of card is used only if the number of files in NSET
(NNFIL) is greater than zero and the control variable (LLSUP (12))
19
is less than one. The format is (5X, 15, (6E10.0)). This data card
gives information about the file number for attributes. If this number
is equal to zero, it shows the end of data card type XII.
Data Card Type 0
Data card type 0 is used only if the remaining number of runs
(NNRNS) is greater than one and the indicator used in DATIN for
initialization (IICRD) is equal to zero. The format of this card
is (1511, 15). This card is used for multiple runs and it has a
different value for different programs.
20
GENERAL VIEWS OF GPSS II [7]
GPSS II is an acronym of General Purpose Systems Simulator II.
This program language is one of the easiest simulation languages.
It is not as flexible as GASP IV or other advanced simulation
languages, because of a limitation on the number of blocks, storage
areas, and transaction in systems.
In order for a system to be simulated, it must be reducible to
a series of operations performed on units of traffic. The units of
traffic upon which the system operates relies on the nature of the
system. Traffic may be work items in a production line, electrical
pulses in a digital circuit, or messages in a communications system.
Transactions are the units of traffic that are made and used by the
simulator. These transactions have certain properties which conform
to characteristics of traffic in a system. Each transaction is
associated with a priority, which is one integer between zero and
seven. When competing for service, the transaction with the
numerically higher priority will be the first to be processed. If
transactions have the same priority, the one that has been delayed
longer will be selected first.
The program supplies block types, which present operations in a
model of the system equivalent to the actions happening in the real
system. Each block specifies a number of clock units that the trans-
actions are to spend in that block. The number may be made to depend
upon a number of factors within the system itself, or it may be con-
stant or computed from statistical distribution. Every block specifies
the next step to which a transaction will be sent when its computed
21
time interval is completed.
The user gives each block an identifying number to designate
the path of flow. The fundamental properties of some of these
block types are described and all the operations which may be
performed are discussed. Before the properties of these blocks
can be discussed, it is necessary to specify the format of the
block types.
The card fields of the GPSS II blocks are as follows:
Field Columns
LOCATION 2-6
NAME 7-18
X 19-24
Y 25-30
Z 31-36
SELECTION MODE 37-42
NEXT BLOCK A 43-48
NEXT BLOCK B 49-54
MEAN TIME 55-60
MODIFIER 61-66
COMMENTS 67-80
In these fields, all numbers should be left justified.
Description of GPSS II Blocks
ADVANCE
Purpose: In this block, transaction waits while the clock advances.
Operand: This block has no operand.
Condition for entry acceptance: It does not refuse entry under any
22
condition.
ASSIGN
Purpose: This block modifies the value of the parameter.
Operand: X field gives the parameter numbers. Y field specifies
system variables.
Condition for entry acceptance: It never refuses entry.
ASSEMBLY
Purpose: This block is used to terminate the number of assembly
sets (assembly sets are original and duplicated blocks).
Operand: X field specifies the assembly count, which must be at
least two.
Condition for entry acceptance: It always accepts entry.
COMPARE
Purpose: This block tests the relationship between two system
variables.
Operand: X field gives the system variable that is going to be
tested. Y field is specified by Mnemonics (kind of relationship).
Z field gives the system variable that is going to be tested.
Condition for entry acceptance: It refuses entry whenever the
relationship is false.
ENTER
Purpose: This block places one or more units into storage.
Operand: X field specifies the storage number. Y field specifies
the number of units to be stored.
Condition for entry acceptance: It never refuses entry.
GENERATE
Purpose: The GENERATE block creates transaction.
23
Operand: X field gives the time of the first transaction. Y field
specifies the limit count. Z field gives the priority of a central
transaction. Mean time should be given for the interval between the
creation of two transactions. The modifier can be specified two ways,
first, by a constant value which gives a uniform random variable.
Second, by a function which gives the form of distribution.
Condition for entry acceptance: It never accepts entry.
GATE
Purpose: This block tests the status of some entities.
Operand: X field is given by Nmemonic, followed by a number
(facility number).
Condition for entry acceptance: It refuses entry whenever indicated
status is false.
INDEX
Purpose: The INDEX block is used to compute a transaction parameter
value for temporary use. A constant is added to the specified para-
meter and stores the result in Parameter 1.
Operand: X field gives a parameter number. Y field gives the constant
value.
Condition for entry acceptance: It never refuses entry.
LOGIC
Purpose: This block changes the status of the LOGIC switch.
Operand: X field is specified by S(set) or R(reset), plus number.
Condition for entry acceptance: It never refuses entry.
Initially LOGIC switches are reset (0).
24
LEAVE
Purpose: The LEAVE block takes a unit out of storaqe.
Operand: X field specifies the storage number. Y field gives the
number of units to be taken out.
Condition for entry acceptance: It never refuses entry.
LOOP
Purpose: This block causes a transaction to cycle through a set of
blocks several times.
Operand: X field gives a parameter number.
Condition for entry acceptance: It never refuses entry.
MARK
Purpose: This block marks the transaction with the current clock time.
Operand: X field is either blank or contains a parameter number. When
using a parameter number, the parameter number should be marked.
Condition for entry acceptance: It never refuses entry.
MATCH
Purpose: The MATCH block is used to synchronize the movement of the
assembly set.
Operand: X field specifies the block number of a MATCH block.
Condition for entry acceptance: It always accepts entry.
PREEMPT
Purpose: This block attempts the higher level usage of facility.
Operand: X field gives the facility number.
Condition for entry acceptance: It refuses entry if the facility has
already been preempted.
25
PRIORITY
Purpose: This block is used to set PRIORITY of entry transactions.
Operand: X field is used to specify the value of PRIORITY. Y field
is either blank or buffer.
Condition for entry acceptance: It never refuses entry.
Purpose: This block is used to print out some expected value.
Operand: X field specifies the first location of SAVEX to be printed.
Y field specifies the last location of SAVEX to be printed.
Condition for entry acceptance: It never refuses entry.
QUEUE
Purpose: It records one or more entries into a Queue.
Operand: X field gives the QUEUE number. Y field specifies the
number to be added into QUEUE.
Condition for entry acceptance: It never refuses entry.
RELEASE
Purpose: The RELEASE block is used to end service on facility.
Operand: X field specifies the number of facility.
Condition for entry acceptance: It always refuses entry.
RETURN
Purpose: This block is used to end the preemption.
Operand: X field gives the facility number.
Condition for entry acceptance: It never refuses entry.
SAVEX
Purpose: This block allows the user to gather and print information
from the block diagram, and transmit information from one transaction
to another.
26
Operand: X field of this block specifies a SAVEX storage location.
Y field gives the system variable to be used in the modification.
Condition for entry acceptance: It always accepts entry.
SEIZE
Purpose: The SEIZE block begins service on a facility.
Operand : X field specifies the number of facility.
Condition for entry acceptance: It refuses entry if it has already
seized.
SPLIT
Purpose: This block creates a duplication of each transaction that
enters the block.
Operand: There is no operand.
Condition for entry acceptance: It always accepts entry.
TABULATE
Purpose: This block gives statistics on the simulation program.
Operand: X field specifies the number of TABULATE blocks.
Condition for entry acceptance: It always accepts entry.
TERMINATE
Purpose: The TERMINATE block removes transactions from the block
diagram.
Operand: X field should be left blank or specified by the letter P.
If R is used in the X field, the termination counter would be reduced
by one.
Condition for entry acceptance: It does not refuse entry under any
condition.
27
The standard upper limits of blocks, storage, etc. are given
for GPSS II in Table 2-1:
Item Std. Max. Words/Item
Blocks 800 5
Facilities 200 6
Storage 200 7
Queues 200 6
Logic Switches 500 1
Savex Locations 500 I
Functions I00 4
Tables and QTABLES 100 10
Variable Statements 50 1
Transactions in System 1000 9
Table 2-1 GPSS II Standard Block Limits.
28
GENERAL VIEWS OF THE ADA LANGUAGE
The ADA language was designed by a team led by Jean D. T chbiah.
It has been chosen as the name for the common language, honoring
Ada Augusta, the daughter of the poet, Lord Byron, and Babbage's
programmer [p].
The ADA lar,,jage was designed with three concerns in mind:
a recognition of the importance of program dependability and
maintenance, a concern for programming as a human activity, and
efficiency.
The ADA language is a modern algorithmic language which con-
tains the usual control structures, and is able to define types
and subprograms. ADA is also capable of serving the need for
modularity, whereby data, types, and subprograms can be packaged.
Any program in the ADA language is a series of higher level pro-
gram units, with the capability of compiling separately.
The program units can be a subprogram which is an executable
algorithm. Package modules are collections of entities or task
modules which are concurrent calculations. The subprogram,
package modules, and task modules are described in more detail
as follows:
Subprogram
A subprogram is an executable unit which is the basic unit for
expressing an algorithm. A subprogram can have parameters, which
A type characterizes a set of values and a set of operations that
apply to those values.
29
show its connections to other program units. There are two kinds
of subprograms in the ADA language: (1) procedures and (2) func-
tions. These are described below:
(1) Procedure Subprogram
A procedure subprogram is the logical equivalent to a series of
actions. For example, it may read in data, update variables, or
produce some output.
(2) Function Subprogram
A function subprogram is the logical equivalent to a mathematical
function for computing a value.
Package Modules
A package module is composed of fundamental units to define a
collection of logically related entities.
Task Modules
A task module is almost like a package module, but with more
capability for parallel processing. A task can be carried out on
multiple processors or with interleaved execution on a single pro-
cessor, the same as procedure entries can have a parameter showing
the transmission of data between tasks.
Each program unit usually consists of two parts:
(1) a declarative part and (2) a sequence of statements.
These are described as follows:
(1) A declarative part defines the logical entities to be
used in the program unit and associates names with declared
entities. A name can he a variable, a constant, or a type.
(2) A sequence of statements defines the execution of the
30
program unit. A statement describes the type of action to be taken.
An assignment statement indicates that the current value of a variable
should be replaced by a new value.
Exceptional Situation in the ADA Language
In the ADA language, sometimes the computer reaches the point
where normal program execution can not continue. For example,
it may be needed to access the value of an uninitialized variable.
To overcome this situation, the statements of a program unit can
be textually followed by an exception handler describing the action
to be taken if an exceptional situation arises.
31
GENERAL VIEWS OF ECSS II [9]
ECSS II, or Extendable Computer System Simulator II, is called
"ex-two". This program language has been constructed for simulation
models of a computer-based system; it is an extension of the general
purpose simulation language SIMSCRIPT II, and that language is im-
plied as a subset. It gives a wide selection of statements and data
structures for describing common computer hardware structures, soft-
ware operations, and work load characteristics in a natural and
straight forward notation. In general, the ECSS II program includes
a preamble, a system description section, a work load description,
actomatic event routines, and SIMSCRIPT routines. These character-
istics are described below:
(1) Preamble
The preamble statement is used only if defining new global
variables, functions, and entities.
(2) System Description Section
The section which describes the system of an ECSS II program
defines the simulated resources in an ECSS II model. Declarative
statements in this part give the name and number of every device,
specify device characteristics and capabilities, show how devices
are interconnected, and describe paths through which simulated
data may pass.
(3) Work Load Description Section
This part of the ECSS II program defines routines which are
called processes and may be used to characterize the load on a
computer system's resources. The load is determined by the
32
environment and behavior of the program that comes to be executed
as a result of environmental demands.
(4) Automatic Event Routines
This section of the program is generally used for simulation
monitoring and control and for representing actions that happen
outside the model itself.
(5) SIMSCRIPT II Routines
SIMSCRIPT II routines, formed by a translator, consists of the
initialization routine, the translation of automatic event routines,
the translation of process routines, and process routines.
Processing
Producing an executable ECSS program is a three-step procedure:
translation, compilation, and editing. This is illustrated in
Figure 2-6.
Simulation Reports
ECSS produces three types of outputs: system display output,
statistical output, and tracing output. These are described as
follows:
System Display
This report is created by the SHOW SYSTEM statement. It pro-
duces the name of each device group and specifies whether it is a
device or a class, and shows characteristics of the device groups
and the state of model at any point during simulation.
Statistics
ECSS II can provide statistics on model performance at any
particular interval. ECSS II automatically collects data on the
33
ECSSProgram
ECSSTransl ator
Obec odel
User-Supple 1nitializitio
Data Data
Figure 2-6 Schematic of ECSS Program Processing. [9]
34
activity of each device and contents of queues and is produced tly
the SHOW STATISTICS statement.
Tracing
This part of output gives details about interactions within
a computer system and traces each step of the simulation model.
CHAPTER III
GENERAL IDEAS OF MUXSIM
MUXSIM is the abbreviation for Multiplex Simulation [2] [1] '1]
It consists of four major subsystems: the utility, the ststic, the
dynamic, and the executive. These subsystems are then divided into
programs, subprograms, and subroutines or modules. Most of these
are written in FORTRAN and some are in GASP. The executive uses the
TOPS-10 control statement. Figure 3-1 illustrates the MUXSIM System
Data Flow Chart.
The four major parts of MUXSIM are described as follows:
(1) Utility Subsystem
The utility subsystem is a module of MUXSIM which manages the
signal flow list, withdrawing the simulator inputs from it. This
subsystem is also the management system for MUXSIM. In checking
the Equipment Complement for completeness, signal deficiencies,
and flagging any equipment, the utility subsystem uses the information
from the signal flow list.
(2) Static Subsystem
The static subsystem deals with all the signal information,
grouping, and handling, such as remote terminal assignments, word
maps, message maps, as well as fixed format bus loading and utilization
computation.
(3) Dynamic Subsystem
The dynamic subsystem, consisting of two discrete-event modules,
handles the random messages, scheduling tasks, and computes the dynamic
bus loading and time statistics. It is called "dynamic" because
36
S TART _ _ _ __ U
D_____________ T
Correct Equipment I
List, Signal List, & L
Signal List Signal Summary TI
Editing & Bookkeeping T )RPT/Equipment '
Signal to InterconnectionLocation/RT Mapping Pequirement
Signal to WordMapping
S, essage Structure T
Word to Message & Processing AW~r~a iriesageequirement 'C
IC
Utilization Computation i] UtilizationU Reports
D
EXIT NTime Delay and AMessage Queuing M
Statistics I
Figure 3-1 MUXSIM System Data Flow Diagram.
37
stochastic events characterizing such phenomena as multiplex system
failure, bus noise, and time variable data transfer requirements are
considered. This system uses the simulation language GASP IV as a
component.
(4) Executive Subsystem
The executive subsystem supplies the interface between the user
and the other three subsystems: the utility, the static, and the
dynamic. It has an interactive section with optional coaching to
assist the user and to make learning the simulator operation easier.
Figure 3-2 shows the MUXSIM Modular Software Structure and their
relation to one another.
Opera tor
InteractiveExecutiveSubsystem
Utility Static DynamicSubsystem Subsystem Subsystem
Figure 3-2 MUXSIM Modular Software Structure.
3P
The Purpose of the MUXSIM System
The purpose of the MUXSIM system is to prepare the design and
design accuracy of a digital system, used by those interested in
carrying out the system design of a digital information transfer/
multiplex system. MUXSIM directs questions of data bus utilization
and/or bus traffic loading.
The MUXSIM programs serve to combine specific analysis and
prototype hardware. MUXSIM provides a means of interacting parts
of the detailed analysis (such as updating rate requirements,
sampling requirements, data buffering requirements, bus data
requirements, processing delay requirements) for numerous point-
to-point signaling into logical requirements which can be confirmed
for compatible operation by a computer, before attempting a hard-
ware development program.
MUXSIM is devised to be applicable to a set of multiplex system
designer's questions that cannot be promptly answered by other
available means.
39
DESCRIPTION OF THE MUXDA PROGRAM
Demand Access Transfer
This model basically deals with a demand access information
transfer over the bus. The demand access messages are transmitted
after the fixed message requirements are finished and until either
the demand messages are used up or time has come for the start of
the next fixed message transmission sequence. The central con-
troller should know the length of every transmission and prevent
the transmission of a demand message if it will interfere with
the start of a fixed message.
Shown in Figure 3-3 is the demand message multiplex system
schematic representation.
Statement of the Problem
MUXDA represents an information transfer system which has a
fixed format data transfer foreground and an interrupt enabled
demand access first-in, first-out background. This system is
expected to reduce bus loading and the delay in access of the
sporadic data.
Some of the assumptions made to allow the simulation to cycle
faster are: error and failure-free environment, interrupt system
which allows the Central Control to initiate command/response re-
quests for the demand access data, foreground with fetch messages
on a fixed telemetry format command/response basis, and foreground-
background mode similar to hybrid analog-digital real-time operating
system. Other assumptions are that the foreground transmission has
no sporadic motion, and the computed bus load for each transfer is
40
REMOTETERMINAL
#N 4
DEMANDMESSAGEINTEPRUPT DATA PUS
L NES
REMOTE
TERMINALM+I
BUS
CONTROL
REMOTE
rPIANDTERMINAL
P'ESSAGFINTERRUPT
LINES
REMOTETE rMIul l
Figure 3-3 Demand Message M~ultiplex System Schematic Penresentation.
41
available from the static subsystem in a lumped sequence for each
fundamental update interval. A further assumption is that the
command response for this demand access data is initiated by central.
Central knows the length of data transmission for each demand access
message and does not initiate a demand message transfer which could
interfere with the next foreground transmission.
Simulation Objective
The objective of this simulation is to determine bus resource
utilization impact on the technique of using demand access background
transfer for signals of sporadic nature.
GASP IV Simulation Structure and Program Variables for MUXDA
In this problem, there were two files used. Table 3-1 gives
the definition of the files and their associated characteristics
for this simulation. File 1 is the event file as per GASP IV
and File 2 stores the demand message arrival. Table 3-2 defines
the non-GASP variables.
Main Program, Subroutine INTLC and Subroutine EVUTS Description
Main Program
The Main Program establishes tbo card reader (MCPDR) and line
printer (NPRNT) values and subroutine GASP is called.
In this program, a temporary disk file is not used and plot
data is stored in the QSET. The MUXSIM executive system is not
used, therefore it is not necessary to use subroutines CHAIN,
RESTOR, and GFTCOH.
42
ATTRIBUTES FILE I FILE 2
ArrivedFile Definition Events demand messane queue
ATRIB (1) Event Time Message Length
Event type = 100*1+J(2) where I = event type Demand message Number
J = sub type
Message length (if event Time of arrival in(3) type is 200 otherwise it wait queue
is a don't caresituation)
I = Event Type
100 - FUI time start200 - Start of Fill free time300 - End of Demand 'essage400 - Demand Message arrival
J Sub Type
I N
200 FUI Number (1,NFUIS)200 FUI Number (I,V!FUIS)
300 Demand Message Number(1,NOM)
400 Demand l'essage Number(I ,NDM)
Tahle 3-1 Definition of GASP Files.
43
Variabl e Definition
DM (I,J) Demand message parameter definition
J = Demand message number (1,NDM)
I = Demand message parameter, where:
1 = mean time between demand messageoccurrence
2 = Maximum , of uniform distributionabout mean
3 = Demand message length
DMISENT (I) Sum of demand message lengths sent for a particular
FUI, where I is the FUI number
I = (1,NFUIS)
FUI Fundamental Update Interval for data transmissionon bus
FUIT The time of occurrence of the last FUI numbered I
FUIFX (I) Sum of the Fixed Message lengths sent for aparticular FUI, where I is the FUI number
I = (1,NFUIS)
FUINXT The next FUI start time
FUIWAT (I) Data bus idle time per FUI, computed by subtractingtime of end of last Demand Message sent from startof next FUI. I is the FUI number (1,NFUIS).
MODE MODE = 1 is FIFO;
MODF = 2 is largest to FIT in interval first.
I:D Maximum quantity of demand messages which the systemmust process.
"FIJI NFUI is the integer comment FUT number.
;FUI Maximum number of FUI intervals. This is thenumber of minor frame cycles per major frame.
Table 3-2 Definition of non-GASP Vqriahles.
44
Subroutine INTLC
Subroutine INTLC is called via subroutine DATIN, in order to
read in the simulation data cards and to set up the initial conditions
from the input data cards or algebraic statements.
In this program, subroutine INTLC reads in Card Type I, Card
Type II, and Card Type III. Card Type I defines the FUI duration
and run mode, Card Type II specifies the FUI fixed message sequence
duration, and Card Type III gives the demand message. All non-GASP
user input data are printed out to make checking easier.
Subroutine EWNTS
Subroutine EVNTS sends control to one of the four user written
subroutines: FUIT, FUIFRE, ENDDM, and DMARIV. The events of the
simulation, in the order of their event code are:
100-Start of fundamental update interval time (FUIT)
200-End of fixed message transmission on bus (FUIFRE)
300-End of demand message transmission on bus (ENDDM)
400-Arrival of demand message to the queue (DMARIV)
Subroutine FUIT
Subroutine FUIT performs the following functions:
(1) In order to prevent round-off errors from accumulating and
destroying the results, FUIT establishes the beginning of a major
frame.
(2) In order to demonstrate the validity of operation, FUIT prints
out the following for the first 100 intervals: the number of messages
45
in the queue, the length of demand messages transmitted in a
fundamental update interval as a percent of the time available
for demand message transmission, and the bus idle time as a
percent of the time available for demand message transmission.
(3) For each FUI, a histogram of the length of the demand
message transmission sequence is formed.
(4) By calling subroutine NXTFUI, the next FUI is scheduled.
(5) This FUI is scheduled for the start of the FUI free time.
Subroutine FUIFRE (NF)
The end of message transfer for FUI is established in sub-
routine FUIFRE, which performs the following functions:
(1) This subroutine processes the end of a message transmission
and schedules the next.
(2) It establishes if there are any messages to be transmitted
and/or the time remaining to do so.
(3) The routine tests to see if a message can be transmitted within
the remaining time in FUI.
(4) This subroutine is designed to branch a specified mode and
select the message for proper transmission according to that mode.
(5) FUIFRE brings the total length of demand messages up-to-date
that are being sent during that FUI; also, it updates the FUI free
time to the present remaining time.
Subroutine ENDDM (NM)
The start of a demand message transfer for FUT is established
in subroutine ENDDM, which performs the following functions:
46
(1) ENDDM performs the end of the demand message arrival processing
and establishes a histogram.
(2) It programs the arrival of FUIFRE while pointing out the end of
the message transmission in that FUI.
Subroutine DMARIV (ND)
The arrival of a demand message on the queue is established in
subroutine DMARIV, which performs the following functions:
(1) DMARIV calls for the scheduling of the next demand message
arrival and processes the arrival of the demand message.
(2) It files the current demand message on the queue where it waits
for transmission on the data bus.
Subroutine NXTFUI (I,WHEN)
Subroutine NXTFUI performs only one function; that is, the
scheduling of the next FUI arrival.
I is the index of the FUI interval number. WHEN is the index of
the next start time for this FUI interval.
Subroutine NXTDM (I)
Subroutine NXTDM performs only one function; it schedules the
arrival of the next demand message.
I is the index of the Oemand Message number.
47
Simulation Report
The MUXDA outputs are given in the following section. Figure
3-4 shows the input data echo check, provided by subroutine DATIN.
Figure 3-5 presents the printout of the files that are obtained at
the end of subroutine DATIN. After the GASP IV summary report, there
are twenty histograms for the first run, which give the observed, the
relative, and the cumulative frequencies for each cell. For example,
histogram number two shows that thirty-one percent (31%) of the message
has delay time less than or equal to .03 of the time unit. The length
of the delay time is from the message arrival to the end of the trans-
fer. Histogram number eleven shows that ninety five percent (95"), of
the length of the demand message is less than or equal to .15 of the
time unit.
In Figure 3-6, three variables versus time are plotted. These are
as follows:
(1) The number of messages in the queue, versus time
(2) The lenath of demand messages transmitted in a fundamental update
interval as a percent of the interval time available for demand message
transmission. versus time
(3) The bus idle time as a percent of the time available for demand
message transmission, versus time
This plot is expanded and is shown in Figures 3-7, 3-R, and 3-9.
Figure 3-10 shows the output for MUXDA in the second run. Figures 3-1?,
3-13, and 3-14 arp eypanded plots of Figure 3-11.
48
r Q C- 4-
z z 0 0 Z
00'0000
00000
000 0~ 0COC0 000 - 0000-m I x o cl0>
z 1 1 *3SCAJ2,)J3Zj cur
C- 00C 00 0 0 00 0 0 oZZ Z Z Z Z Z Z ZZ - 0CC
oCO CO C
-z 0 v >z4 00 0 0 0 00 0 0 0 0 ..0.0 C -0 -
a 2. ~ 0000
a-. zz z .,oaz. -z00O o I..
2E *2U-* 2- 2 22 2 =;- z0- 000007 7
- zCz oOo.O O OO O O C -..- C-
C,9
CF U-'x -
o CDC ):DDo C
-> 0 ,00C lC)C
-0.- :3 - 4
cr 00 z 00(
-* -d +0000 *0+0*0.0+ + 1 * .
C
C-4)C 00 0 0C) 00 0 0 -4 I) D) DQ
o > c ()C a C> CD 0a).
Z4 -j~ -- , r-00.~ . .0- .. .0 . ... .
-l CO . C> F a4
C. ~ ~ ~ ~ C OO 0 0 0 0 c~ cl
50
cc~
C>
+C C. 4* + .C) 0 - C 0 -
m fNJD C C
D (Z> I- -l DC
- -, -! 2(:DC C)c >C C 7 )C C )C >C>C j -
-11 -c C> Co=> C) tC t( >C) lC-C ,C >
VIC O .- ...... V Z C Z~ZO
- -I -c -9 -E o- o ocoo cccoo o .m-o, DO- - OO O OC CC DwC-- 0 nX o- OO C DD D CC C C -- :I- E
- Z '-O C/'CC D OD C C)-Z ~ -
<m Cu" C.- C)C C C >C , > C D C D(>x )C
ZJf Z3- -~.c -~ - '-3-6.%w ). V,)P Y. ,C Ci4t Z -)C
j' sci- :---- - -OP - - C. > - -KJ
. .-c . .- to. . . . . . ft
0.) ~ O C C C C C CC0.1 WI - )",I), )P'
co a CC C CD C CDO DCD C),C0C) CD CO+ .~Z . .Z .C #
C> ~ .' C)CCC CC CCD .- 6C c <D DC> C
CDCC )C lC.0C, C CC DC .C(0 C)( L DC )C , C)C D(,aC -
- - - - - - - -a,
*to . .to . . . . * .* . o. .Ifo
II isI 1 11 11 It to to It 11 It If i 11 to ii I
-----------------
------------
51
0 *.. .. 0w 0.. . o o..a. .. *
0- -0 o. .0 0. .
* , .. .. 0 • ~* oo0* oo~ a . .... . -o
Co..00.0a . ,. a . . . .oa . . . . . .. . .. . i , + . . . . .-" o .o*<. .... a£ <: - o o . . o-ooo < .oo-oo a -- oo o oc o -o -
. . . .0.. .. . . . . .. . .. .oS.o. oo.
o -:-.-- -o a oo.-,, oo:ooo o o.,oo
* - 0 0 0 0 0 0 0 0 . - 0 0 0 0 0 0 0 0 . 0 0 0 0 0 0 0 0 0 00o.o* 00 0 00 0 oa -
' -00 0~ 0 0 00 0 0
- - 0 0 0 0 0 0 0 0 .- - 0 0 0 0 0 0 0 0 .... 0 0 0 0 0 0 0 0 .
+2
.o .. .
o o ©0 0
-o X
o- .0 0.. ..0 ,
. . . . . . .. .
x -0 r -" .... ....... .. ..
0000000000 *-o t 00000000- Oooooooooo..
4.. .ooo 4.. *°
4o~o oo . . . . o
S. . ........... C. 0000000...000 K . . . . ... ..0
05 0 000 0000 0 4 000000000o 0000 . 0 000
Ce 0 000 000 00 4 40 000 000 0 CO 000 000 000
.. ..... . .-- -- o- .
. . . ... . .
. . . .... .".".. . -. . ... ... . . . . . . . . . . .
* .- -
o -- - 0*C-)
* - -- -o.......0
.::.0000 00 0 ::00 00 00 ....-- - ooC.
K . .. . .. . aC . .... .. -**o) 00 . ....
*. - o o 000o0000000-0- 00000000o0ooo- 0000000000 oo oo 00000000 -00 *- 00000000000- .
. .. 00000 .? 000000000oo -oo0000000.
... -o .' oo-o Lw
.. ......C.00"_.0'0.-- S"000000000000..
ooooo o00000 00-'.C.000 00 000000000 . '............ C . . .. ...~ 0 0 .. . 000o ooo0000 o
-- . . . 0 0. .. 0. ... .....
-,_ - __ 0 -00. 0 0 0 0 0
0.: - C.: - 0
0- 0o
54
0. -© o. 0
S- :: to ::. -
.. .0 - .. ...
Z ... .... . . . . . . . . . . . .
----- Co - ooc:oooooo-0 0000
S..... - . o - '.... ......- 000000000 oc ooo oooooooo
o.o00 0000 00-. 00' .0 00' 00-000 o0-. '
LJU-
-- o---0 00000 - 000000000 '"o 0 00 0
-* 0-0..-00000 -0000000 ~ S33 0000000
. :. -.... 4-
£ . .: . *.* . C-I *.* S **' . ... (~
* 0 0 . .. .... .. 0 . 0 0 0
C .. . .. . .. .. . . .. . .. ..
= - -00000 -oOOOOOO4O .-- - 000Q000 a O 0 000 0o oo .o .o- .oo. .o
-. - 00000000 - ooooooca =- 0000000
0000-, ,..-, €.00o 00*o o0.oooo0,I 0o..0, 00 S 0'-_ • . . . . . -- . . . . .. 0: .. .. . ...
S.. 0-0000 o0000 t.. 00000000 .. 000 0 00 0
o o0000000 Zm o00000 0 000000
o 0 00 00000 00 -00 o0000000 03 oo 00000 o- 0 00000000000 _. 00000000 -- 00-000000000
-. -. *-000000 ~ .0.-0 000 00C000 -00 00 00
'I.
a 0'
-o
C
* 42CC
In
r ) C C ) C t
U)Ln
*0 '0
0 ~C C C
57
o ii + rI. D ItC 1o C * - 0 .o
o * (-.9jC.
M , CC n ))OZ ..
z .- 0: 6w ' **1
-. U-
-~oo 0.- 0 10.wJ -n o .fZO . . .ZO. . . .
(x cc il 11 0- - i1- X = -r c -
,.V>c ozo >
o -Z z -Z -z"i ~ ~~ ~ ~ ~ wumruu r .C
cc .C 0o-K Z) +o+c+ + + -C1 0000+w=Z z rj- '-j I~ "IP - I r 00 ,wl Z - 0000w-Cx C ~~ DC >,)C C DC ,C C> KL" d X
0 0 0 0 0 o - Coj. 000
I . .I. -KV
+ +
r0 00000 z 000 100 0 0000><
... .. . 0 ... .. .00 .
- - - - - - - - - - - -- - l 1.-
zIIz z z z z z III II I II I II I II AII( II
- C'l~ - ~rO~- .r~0 0 Nj9 4 ~".Ol~ (5~V
-- TABLE NUPBER1.RUN. NUMBER
T," E USED FREE.1000-01 .200C01 .1000.00 .900D00.1100.01 .0000 t250-00 .3750-00
.1000' .2000.C1 .900o-c3 .1000.00
.'00o1 .100Cl .9500.00 .5000-0'.l.00-01 .4000.01 .6000-Oo .'000-OC:500.0. .qo0o.cl .8737-00 .z2.300
.1500.01 .0G0C .0000 .1000-C!:1 700-Cl -. 000-C! .6I 29.0c .3671-0c.'6o0-C1 .2000.01 .5435-0, .94.S7-OC:-,00 .61 .3000C!O .62 6.-CC . 3736-0 0.o000-Cl .COOo-01 .?'.00-00 .2600.0c* 1 00.0 1 .0000 .e2 50-00 .3750 -0C.2200.01 .0000 .7667.00 .Z333.0c
30Cv-Cl .200:81 .9500-00 .5000-010 0 . 0 1 .6000 00 .00 0.00
.23001 .6000-C' .92 t3- 00 .7368-01.2b00.0' .200C0C .0000 .1000.01.2700.01 .5000-01 .- 4.09.o0 .!591.00.2!00-01 .3000.C1 .34,78-CC .!522.00.2600-01 . 3 000 -ClI .2747-00 .72S3-C0.3000-01 .2000-01 .9200-00 .8000-C'
.3--00.01 .0000 .7500-00 .2500-00.3200-0'i .0000 .9000-00 .1000-00
.3300.0' .?300.01 .8000-00 .2000-00.00-cl .3000-01 .9000.00 .1000.00
:,o~l .5000-0! .6000.00 .4000.005!O~, .1000-Cl .1170.00 .6830.0c
.370 0.-0'1 . 2 000.0 C1 .946.-00 . 5054.00
.3600-01 .6000-01 .361-00 .6739.-00.3900-Cl .1000-01 .2967-C .70!3300.4000-01 .5000.01 .9600.00 .4000-01
:.100.01 .2000-01 .6250-CC .3750-00.200.01 .2000.01 .8667-00 .1333.00
.4300.01 .3000-01 .1000-01 .2080-05S.4400.01 .3000-01 .1000.01 .29e0-05
.4500-01 .7000 .0' .6000-00 .14000.00
.4600.01 .3000.01 .3,04-0C .t596-00.4700-01 .1000.01 .1075-00 .8925-00
:.800-01 .4000-Cl t,30;.0O .3696-00.4900.01 .1000.01 .5:.95-01 .9;451.00.5000.01 .3000-01 .9600.00 .4000-01.5100.01 .100-Cl .9750-00 .2500-01.52006.01 . 3000.01 .P667-00 . 3333-0 1.!300-01 .4000-0' .9500.00 .5000-01:5400-01 .5000.01 .6000-CO .4000.00
.5700.01 .4000 .01 .5376-0 1 .9462-00.5600.01 .20001 .7391.00 .260;-00.59cc.01 .400D010 .5-~9S-01 .9451-00.6000-0* .1009 .01 q'100.00 io800-01.6100-01 .0000 sb~Co.oo .5000-.CO..6200.01 .1000.01 .83!3300 .1o67-00.6300-01 .1000.01 .9000-0c .1000.00.6/00-Cl .5000.01 .5000.00 .5000.00.650o.1 : .9 000-C' .91 58-00 .8421 -01.6600.01 .0000 .t383-01 .9362-00.6700.0' .7000-01 .54.8.0C .4516 -00C
.900-0 .0001 V 516005 00 * !00007'100.01 .1000.01 .5000-00 .5000-00.7200-01 .0000. 1000-01 .1987-05
:7303-o, .1000.01 .9000 00 10 0000.7'00-01 .4000-Cl .0000-00 .1000-00.7 5 00- 01 . E0 0 0-.01 . 7684-.00 .2316-00.7600-Cl .4000-Cl. .0000 .1000-01.7%-OCl .4000.-01 .51,11.00 .4139-OC.'800.01 .3000-Cl .2717-00 .7283-00
;00.01 .5000-C! .3516-00 .6481-00.300 .Cl .8-0-CC .1600-00
. 7AC1 .003C .8500-00 .1500-OC
.83'C 0000 .8333.001 . i66700C.330.' CCO 9000OCC .1000-C
:5.30- .. 000-Cl .5000.c0 .5000-CO.!500.0' .5000.01 .6000.00 . 000.00
Figure 3-5 (Continued).
59
+++*+I., + ** . . + I I + g
f'- 10 f - I-r- -n - u'% rjol - n .- r~d ""W -f 17 10 'o~ coI
04 CDCO 0 0O C) O. 0r. 0z 0al- ol CD C 'I- D1 00 Io
. . . . . . . . . . . . .
a)
- - - -r -- - - y-- f~r . - r rII
00 00 00000000000000
. a. . . . . . . ..
- - - - - f- - .- - - - (% ?I r ,j r'.j lj r'.j rr'.j
* + . . . . a. a
60
3994(0 is55 . 103 .0 1o.6o Its 'MIT .so.o.
0 I02t0 35*HT0 5 9 @ 0 ' 9 * 09 S0 * ~ *9
:::::: ,
9.0' 1
1 10 1 1 . . U
@9.9' 1 :.; , I . 9
9igure 3- Plo Oupu fo.IX
61
L
4-
E
____ - ,- _
-I
, ' 0.
9 L°
I I-------- o'__-- -3_ 1, C
6?
0
E
U,
0 E
_________ "
- --"-'- I_____- --- ,
__ __- "H-
0
L
" ' "n ,
4 -4
o u
--------: - -
z WDD U IIIII uJ 6IMO-CCC>OO~i CQC<~c~~; C-
w~ 6W ~0 f00 w
KO -P.- 0- - P-- 0- E --- O
I- -a cc W1 W100 o o o Oo o ~ ..o) C. C>10 OO O a coC->C)C -
+M - + + + + +.t*+* + + * . . cc
ry hni -Z 0111 rn in' " -0 .C
k M x O C)I
O -j co coI upv)' -%oF-C ) Y
U1 11 1 11 1 M ill 11111 " if00 O O O it4-
3: 000000000 000000
-- 6 o
C. -0 o. .o 0. .
C. .. *0 C . *o C. .*0
Co~ *. * o. -. C. *o (
o o. . .--
. . . . . ... . • . . . . . . . .
-o o o o - 0000000000.
- , 000. 000. - - 0 oo0 o00o0 .. - - o00 o0000 o000..
* 000000ooo0o°40 '° 0° 5 3. 000 0 0 00...= ooooa.o* .. ...... 0....- 3 .€ o ooo oo. oooC..* .. . . ... * . . . . . . . .
3- 00 -- C CO C Ca ,,ooCo<ooooo @ O 00C O OC- C -.. : , -- o o< o :
04, SC . - CO , -4.. 4.. C
66
-. - ... .
4J
".. . . . .* *0 0 .... .a .. *,a
0 0 . e*0- .0
- -0 - - - - - --
L[ ............
-. 0 --oooooo ooo C.oooo0 oo00 - 00 o '0.oooo o. - - oo ... o..0..
-. o o oo o-I 00 00 0 00 0o~ €00 00 00o o. '0 0 0 0 0 0 0
K- - .000000000 i. 0000000000o00oC ._o ~o00oo
-- -o0000000000 -- 00 000000O0 - 0- o o0
0° - 00000o0000. -. OoIoo OO n o o -00
00 *00.00 00+ 0o.0000000000+, 0o
00 o0., .. 00.°*
u
- OSl - ,- So -
0- 0- 0
.. . ..... ... . .. ....oo ....... .............
o o-o0=- -
- o. o. -:. . .?
o. ..*: . . . o -. -o£ * : ,. - :: .
• o * ...* .... o .. . .... . 0. . . . . ., . .o C
* -- o0 - z - -
00 0000000000 - -o¢00000000000, 00 000000000oo
00 . 000 000 oS 0.0 .00 000. . ..........
o -
0. 0:0 ...0
. • . -. .:. .
- - - -~ - .. -0~
* . ... : * ..... . *: :0
C * ... -o ,0 z
o - aao a '
- *ocooooooo . occoo<oococ - 000000:.000CC
* K ooo . £ ._. . . ... ..
* oo o~o-* . 000. oooo 2. C.0000
0 0 o° .-
0°° 0 0.
o 0o- .0.,-
- .. .:. .:
.°..
* - 0-4 3-0 . - . 0
* - o. K
7 Q
0- 0. ~. C-
3. 0~ 0*
3* 0. 0' 3. -c- 0}
za
3 . . C- 0. - - 0* 3 C a- 0. 0*
- (~~)3 * C 3 - sC K 3 * r * * a* C C C 3* 3 3 3 -* , 0 I~. 3 3 3 0 K 3 3- - 0- 3 0. 3 3 3.
£ 0 3 4 3 4 3o 0 3 0 0 0- L
- 3 - 3 - I
3 . 3 . 3 . 3- 3 3
K.- K K..-
0 0 00 - 30 3 30 30
- - ~3 --. 3 -3 3 - 33
- C C
- 03 0 C 0£ ~C.- * o. * o.-
71
.. 7 AI NUMBER1.
C C. 0 .;~ .C .2~C Cc c C, oC C 2 .:4
* C *C1 DCC .SC C .4, 5 0 C00C C .7'S 3C.CC .C C C C
OcCC 90.C .'Do C07Cc3 * ~ ~ ~ 2 t~iCC .CC'C .lC
6: c Oo 02.2 .:C0 .rCcCOC .C 0 .C C
c 1. . 0002.2C' .b91-CC o.*C0C1 L. 3 OOC -C 7" - 0 C C . 4 - C C
3CC *~1 .5002,.01 PEOOD-Cc .4CC9 * .002C, 0 .5EC-CC .64.C-C
.CC -I C . C CC -C .191, 5-CC L .0 F -03 7' C ,1 .!0C C .2 8 C 71-
c 122:Cl .CC-' I 52''OC ?F3.C
.:9C-l 020C c1 ooc *'535.C b.ccC.C-C .0 CC -Cl .coo- CC .1 0CC-C
.. CC -Cl .0 CC.-Cl .Q2C 00-CC .10 CC -CC.'5 , c'r 6SC7C71 .759.OC .2 I- C C
.45CC-Cl .3000-Cl .3'.78-oc *tSOZCC*4o c -c1I *1 00C -Cl 2756-C1,C E.04 2*C
.2cC-C o *1 D C*-C1 .6CC-CC .40CC-C'1
.53cC-Cl .2C22,C' .1020-C' .1000-C.s..cC- 1 'o CC*CC . ;C^ CC 3 C *C CC-OC.!500-1' .0-2 .SCS3-3c .4AO.5boo-C! .000I 33-C .24C.5 70o0o- .0 CC'-C1 .0-C .7''?C
.5920--1i . C C - C1 .2 306 -CC, tl .7s2C
*0 c-C c o C 202.-21 t.&95C- CS
Col' .302 .12CC-.C
6 6 C2 I, '00oo .COC. 1iCC*6522I 1 I0c., 1~s5C .50 C
:?00v-2 .219Fc .7602-cc
.'12- 2CO21 .825CC c 17OCC
.7222 .C. .53300 . 6-CC
76C1- Cl: .2 D0-01 .531- 1 .. cC.C, -1 .? 0C C .3Ctct- , .3,L4, C
o90C .3cCCl .1758-C- .2 ' ,-0cDO .. C -C01 Do.C,-C b 0 0-C'
.0222 L .20-' 1 222 .1~-2
00C.C - C f 7C2C 7 12 .9222 ~0C
Figure 3-10 (Cont inued).
72
.8700+01 .2000-01 .2688.00 .7312+0.8800-01 .2000+01 .4022+00 .5978.08•8900-01 .4000*01 .2088400 .7912+00.9000+01 .2000401 .9400+00 .6001-01.9100 01 .0000 .9250+00 .7500-01•200.01 .0000 .1000+01 .3974-05-9300+01 .1000.01 .8000-00 .2000+00.400-01 .2000.01 .9000+00 .1000.00• 500'01 .7000-07 .6526.00 .3474.00.9600+01 .3000+01 .3404400 .6596.00.Q700-01 .4000401 .3226-00 .6774.00-0800.01 -3000+01 .2935+00 .7065.00•990001 .4000C01 .3846.00 .6154.00.1000.02 .2000+01 .8200.00 .1800 00.1010.02 .1000-01 .8750+00 .1250+00.1020*02 .1000+01 .9000+00 .1000+00.1030+02 .1000.01 .1000.01 .5960-05.1040.02 .2000+01 .9000.00 .1000.00.1050.02 .6000-01 .4526+00 .5474 00.1060402 .2000401 .2660+00 .7340.00.1070.02 .3000+01 .4086+00 .5914*00.1080.02 .6000.01 .2717+00 .7283-00.1090.02 .1000*01 .4505*00 .5495+00.1100+02 .4000*01 .7400*O0 .2600400
MINIMUM .000 0o 1397-06MAXIMUM .9000+01 :?800+01 :1000.01
Figure 3-10 (Continued).
73
00. OO5f 0 :
....... 000 .,tOQ .0
... : 0 .. 0.... '.....NVU-So .3000 H s0 0 .1000"00 7500"00 000 .0tool .000 000 000O0t ' 0-0 .000.0'
5. 0 S 0 20 z0 s 00 0 00 oS 0 0 0 60 1 '0 15 so a05 l0 5 100 1 11(tI It s
1100 I 0
. 0 00 ' 0
.14001 0
. ¢01 • u.1500.0 •
* 1000.01. I
10 00 0'
0 0
S S070, 0 1
.";oooo
.. 0o-0, ̂9
.3000*I I 0 -
9100 0 : 0I
,4 oo
..001300-0 0
. 6 1 - U
.0000.00 . 0
* 1S 00.-0 -I 0
I-0 u
.. 0o-00.5100.01 - 0
.,'oo-01 0 0 0
.1000-SI 1 u
.0000-01 - 0
.t000 0 0
.0000.0
.t000"01 . 0 0
.600-0r
. * 00'0f., ' u
.Fr01 P01 - f
. 7 1 0 0 0 -o 0 0
.0000.01 - u
. 0 0 0 0 0. .. .. o
.P5000.01 0 - 0
.07o0.01$
.100 *0 0 .
. 00 0.0 . 0 0u
.1 0o-01 . I
0.11 7 0o010-(50 0 0 10 0
7 1 0 0 0 0o .0 d # u u00
1 1 0 0 ' 0 0 0 0
0 . 6 0 0 00o , 5 000 1 0 1 0 1 0 0 0 0
Fiur 311 PltOupu fr JO inScndPn
.0 oo + I
74
U-
75
tfn
Ln.
I r ?
-- T~: ,
-- ---- ~--*---En
a)
c. u
_ _f reI
____ I~ -41
J7 D 12
2u
F.-
mi
Ott 00 0
77
A DESCRIPTION OF THE !MUXDB PROGRAM
The MUXDB model refers to redundancy management and fault-
handling phases of the multiplex system. Regarding the means by
which faults will he dealt with and system redundancy controlled,
this is an area of great complexity in the design of multiplex
systems. Redundancy is designed into multiplex systems to reduce
malfunctions.
MUXDA and fUXDB basically have the same key features, but
both models are important because it takes longer to cycle through
an equivalent simulated time for MUXDB than it does for MUXDA.
MUXDB is a more complex form -f model DA; the differences include
the following:
(1) extreme noise impact on the data bus
(2) terminal malfunction and impact of failure recovery
(3) the command and response dealt with on an individual message
basis
(4) introduction of message transmission time uncertainties
Statement of the Problem
flodel DE represents a system consisting of demand access back-
ground message queueing and foreground fixed format message trans-
mission. After completing the fixed message requirement, the demand
access messages are transmitted on a first-in, first-out basis.
1odel DR takes into account the impact of noise on the dual redundant
data bus. In order for a failure to result, both data buses must he
impacted by a noise event during transmission of the same message.
In this model, bus failures are generated by using a noise event of
78
ATTRIBUTES FILE I FILE 2 FILE 3
File Definition Events Arrived Demand Temporary
Messages Storage File
ATRIB (1) Event Time Time of Arrival Event Time
(2) Event Type where 1000. + Demand Same as File IEvent Type = Message
I*100 + J and I is Number
event type and J issub-type
(3) Message number (for Time of Arrival in Same as File Ievent type 100) Waiting QueueMessage number plusnumber of hits onbuses (for eventtypes 200 and 300)Noise generatornumber (for eventtypes 400 or 500)Don't care (forother event types)
I Event Type J I SubtypeI J
100 - Watchdog Timer 100 - Dummy Argument200 - Call to a Terminal 200 - Terminal Number I,NTP300 - Terminal Response to a Call 300 - Terminal Number I,NTR400 - Noise Start 400 - Bus/Noise Designation500 - Noise Stop 1,2,36CO - Terminal Recovery from Failure 500 - Bus/Noise Designation700 - Terminal Failure 1,2,3800 - Start a FUI 600 - Terminal Number I,NTR
1000 - Demand Message Arrival 700 - Terminal Number I,NTR800 - FUI Number I,NFUIS
1000 - Demand Message Number;,NDM
Table 3-3 Definition )f GASP Files.
75
Variable Definition
PM (1,J) remand Mlessage Parameter Definition.
J = Demand MIessagp NumberI = Demand 'Iessage Parameter
where:
I = ;'ean time between Demand tMessageOccurrences
2 = t, aximum A of uniform distributionabout ,1ean
3 = Demand Message length
4 = Terminal to call for this Message
D1MF Time of the end of the response of the last demandmessage sent
FlU (1,J) Fixed message lengths per FUI
J = FUI numberI = (I,NFIX(3)) for particular Fixed Message
within FUI
FMPF Time of the end of the response of the last fixedmessage sent
FUI Fundamental Update Interval (FUI) for data trans-mission on bus
FUIIT The time of occurrence of the last FIJI numbered I
FUIPPS Time of start of actual message or process for FUI
FUISTA The actual time of FUI start
IB'JSY Bus Controller Busy Transmitting or AwaitingResponse (0 = Not Busy, I Rusy)
[CURF The FIJI numher currently being processed (1,NFIATV)
The current number of noise events disrutingtransmission on the left bus (0,r'NOISE)
Table 3-4 mefinition of Non-GASP Variables.* Time increment between two succes ,ivn Doints.
,' rJ
Variable Definition
I v (I) Terminal Up/Down Status
I = Terminal Number (INTP)IOK(I) = (C-Up and Working, lBiusted)
IPBULS The current number of noise events disruptingtransmission on the right bus (O,NNOISE)
IRESE The number of valid readible responses lost totimeout
JIT The switch to detect occurrence of the firstscheduled message
The current fixed message number, in FUI, ICURF,being processed at this time if MSGTYP=1(Don't care if MSGTYPI)
'4 GTYP The current message type being processed by thebus controller. Where MSGTYP equals:
I for fixed messages2 for demand messages
NB Number of noise hits on both buses
nDrl Maximum Quantity of Demand Messages which theSystem must process
N!FIX (I) The number of fixed messages to be processed byan individual FUI
I = Particular FUI Number (I,NFUIS)
NlFUIS Maximum number of FUI intervals. This is thenumber of minor frame cycles per major frame.
t!L Number of noise hits on left bus
N7i G Total number of messages sent during simulation
NMH Total number of messages hit on at least one bus
NNOISF Numher of different noise generators impacting thesystem. This is the number of user input noisegenerator cards (Mdx=15).
Table 3- Definition of Non-GASP Variables (Continued).
Variable nefinition
NSBlS (I) Noise generation parameter for generator I whichdenotes hus(es) impacted. (I=],NNOISE) andN f) R eft( I ft:
I for left bus, affected2 for right bus affected3 for both buses affected.
N R Number of noise hits on right bus
NT' User input of quantity of terminal down eventsaffecting system. (Note; a terminal down eventcan affect any terminal in system).
'iTO Number of timeouts
;UTP User input of quantity of terminals in system
:IUMV I) (Unused variable)
SLNG (1) Mean length for occurrence of noise event gen-erated by noise generator I. Where I = (1,NNOISE)
SLVAP Maximum A of uniform distribution about lengthSLNG(I) for occurrence noise generator I whereI = (1,NNOISE)
S.EAN (I) Mean time between occurrences of noise eventsgenerated by noise generator I(I = (1,NNOISE)).
SMVAR (I) MaximumA of uniform distribution about SMEAN(I).I is noise generator number (1,NNOISE).
TLEN (1) The length of a terminal down time for terminaldown event generator I. (I = (],NTMI)).
TLVAP (1) The maximum A of uniform distribution about timeof terminal down TLEN(I) generated by terminaldown generator 1. (1=(1,NTM))
TMFAN ( M'ean time for occurrence of next terminal down byterminal down generator I where I = (1,NTM).
TMAIFNT ([) Total resage lengths sent per FiI number I where
I = (I,NFIJI2).
Fiqjure 3-4 fefinitinn of Non-GASP Variables (Continued).
R2
Vari at)Ie Definition
TMVAR (1 Ma xi mum L o f un iform d ist r ibut ion abhout TAN( I)the timie of occurrence of next terminal down byterminal down generator I where I (1,NTM).
TPFIh The mean time of terminal I response whereI = (1I ,,TP ).
TPVA? (I) 11axim:im A of uniform distribution about TRES(I),the response time of terminal I where I = (I,NTR).
XF'J] Fill in subroutine FUI to avoid laheling problem.
>'Ibl , 3_-1 rfinit ion 0'f Non-2ASP Variahlo,, (Contintifd)
Or'1 ds durat io n. The foreground transmi ss ion of ameae is ,o
on I g-'.nsa ha, is, i nrteaid of a fixed non-varyi ng eqtipnce
g-oup . This scheme evaluates(- the impact of noisec on the messaqw. For
separate evaluation, the wessage is separated into the command secirent
and the respntn, segment . Faillur(' can he re'cognized hy either a non-
re-sponding ter"'inal nr ai failure of the controller to acknowledge the
r t,,po r, . A 17, ir-c can also he determined hy a "watch-dog" timier
(-r'. e t ,at occujrs hr ,fore a oiivon riessage Yresponse.
ref nccurro'nc( ) f o fail are event caus es each terminal on the bus
f', ' ewe arfe two failure modt-s: ( I permanent disale or
(7i t" fit IiatMl e (thiat is., i terminal which recovers from a
cro a f ePr a -, Fr io, o f t j r,1r Tlhere, is a response t ~s aed
oit oli "essage -3 p, w hic h i s u n if orml Iy , is t r ihuted . Therefore, under
t c ~it u at ion a controller cannot predict the lenujth of time for
t ra nsri t t inr a mess ,-ager,. If the length of timre for an average, message
tranm, i -Iionr 1 , es than the time( to. the start of the next NI time,
toe; controlle r wil s chedul e its occurrence; however, this program,
I Hit in ftir thi, aIn w a delay of the next FIJI fixed
forat~'sa' ran-s'<s', ion until the t'ansmiission in orogrc-s- is
m1 u- - -n i~ ie
TJ - rio f this" si'jIlat ion arp to dlet ermine hus resource
7 '7 ' s rraci of la' f h andl i ng, in acidi t ion tH oh-
I I r i r th i I Ta( t fit f u nc o r ta i pes onoi t he da ta
+rrt Y-r i r Ki-r 9 T , eoii ji'r'iO r -,i n ' kude va ria 'I e
j-,/ rs nr-r Ar! cli(IT. watc iilog regirrro- s,
,-AD-A097 375 MISSISSIPPI STATE LW4IV MISSISSIPPI STATE £MSINERIrMSl-ET P/6 9/2STUDY OF AVIONICS TINE DIVISION NULTIPLEX KS SI[ULATION.g 1
DEC 80 M D CALHOUt, KHATIltZAO AFOSM-80-0126UNCLASSIFIED MSSU-EIRS-EE-aI-1 AFOSR-TR-413II m .
l l ll
IIIIINuuuuIIIIIIIIIIIIIuIIIIIIIIIllIIINONEIIIhonm1hhmhhhNONEhl
101 IE M
84
and terminal failure and corresponding watch-dog requirements.
GASP IV Simulation Structure and Program Variables for MUXDB
In this program, there are three files used. Table 3-3 gives
the definitions of the files and their associated characteristics for
this simulation. File 1 is the event file as per GASP IV, File 2
stores the demand message arrival, and File 3 is the temporary
storage file. Table 3-4 defines the non-GASP variables.
Main Program, Subroutine INTLC, and Subroutine EVNTS Description
Main Program
The main program sets the card reader number (NCRDR) and the
card printer number (NPRNT) and subroutine GASP is called. The
MUXSIM executive system is not used, therefore it is not necessary
to use subroutines CHAIN, RESTOR, and GETCOM.
Subroutine INTLC
This subroutine is called via subroutine DATIN, in order to
read in the simulation data cards and to set up the initial con-
ditions from the input data cards or algebraic statements. The
non-GASP user input data are printed out to make checking easier.
Subroutine EVNTS
Subroutine EVNTS sends control to one of the nine user written
subroutines: WATCH, CTERM, TERMR, NOISES, NOISET, TRMUP, TRMDN,
FUI, and DMARIV. The events of the simulation, in the order of
their event code are:
85
100-Watch-Dog Timer (WATCH)
200-Call to Terminal (CTERM)
300-Terminal Response to a Call (TERMR)
400-Noise Start (NOISES)
500-Noise Stop (NOISET)
600-Terminal Recovery from Failure (TRMUP)
700-Terminal Failure (TRMDN)
800-Start a Fundamental Update Interval (FUI)
1000-Demand Message Arrival (DMARIV)
Subroutine WATCH (IDUM)
The "watch-dog" timer event is established in subroutine WATCH,
which performs the following functions:
(1) The program increases the number of timeouts (NTO) by one.
(2) To set the requirement for testing a next message, it calls
subroutine NXTMSG (2).
Subroutine CTERM (ITRM)
The call to terminal events is accomplished in subroutine CTERM,
which performs the following functions:
(1) This routine tests for noise hits on the data bus.
(2) CTERM handles message arrival and processing at a terminal and
produces terminal response.
(3) CTERM prevents response if noise hits on both buses or if the
terminal is down,
(4) If there is no response inhibit, CTERM schedules a response.
(5) CTERM increases the number of messages by one in order to record
86
the total number of messages sent during the simulation.
Subroutine TERMR (ITRM)
Terminal response is accomplished in subroutine TERMR, which
performs the following functions:
(1) This routine checks to see if the terminal response is valid;
if it is not, the "watch-dog" timer is left alone.
(2) It illiminates the "watch-dog" timer and calls the next message
(NXTMSG (3)) subroutine to program the following message if the
terminal response is valid.
(3) If the terminal response is valid, but the "watch-dog" timer
has expired, IRESE is increased by one.
Subroutine NOISES (IN)
The noise event process is accomplished in subroutine MOISES,
which performs the following functions:
(1) NOISES processes noise events and schedules the next noise event
arrival and duration.
(2) It establishes which buses are impacted.
(3) This routine marks the message on the bus hit according to noise.
(4) It increases the count of number of noise events on the proper
buses by one.
(5) NOISES establishes the end-of-the-noise event.
(6) It calls the STAT subroutine to record the bus noise data.
Subroutine NOISET (IN)
Noise event termination is established in subroutine NOISET, which
87
performs the following functions:
(1) This routine reduces the number of noise events on the proper
buses by one to record the number of noise events left.
(2) To record the bus noise statistics, it calls subroutine STAT.
Subroutine TRMUP (ITN)
Terminal recovery from failure is established in subroutine
TRMUP, which performs only one function: it decreases the terminal
up/down status IOK(IN) by one. The terminal is operational if the
indicator is zero.
Subroutine TRMDN (ITN)
Terminal failure is established in subroutine TRMDN, which
performs the following functions:
(1) To indicate that the terminal is down, it sets the up/down
status IOK(ITN) up one.
(2) TRMDN schedules the next down event for this terminal.
Subroutine FUI (IFUI)
The start of the fundamental update interval is established
in subroutine FUI, which performs the following functions:
(1) If FUI = 1, it proceeds to compute the time of the next FUI (1)
start to prevent the round-off error from accumulating and invalid-
ating the results. It then produces the entire schedule for all
FUI starts for the remainder of this frame and schedules the arrival
of the FUI (1) for the next major frame. If FUI t 1, it omits the
above and starts at this point.
88
(2) It sets the value for current FUI (ICURF) and sets the value
of the fixed message number to be transmitted to 1, the message
type to I to indicate a fixed message, and the JTT switch to I to
enable the detection of the first message to be transmitted. It
then calls subroutine MXTMSG (1) to schedule the next possible
call to a terminal.
Subroutine DMARIV (IDM)
The arrival of a demand message is established in subroutine
DMARIV, which performs the following functions:
(1) DMARIV establishes the length, message number, and arrival time.
(2) It files this information in File (2) or the arrived demand
message file.
(3) It schedules the next arrival of this demand message.
Subroutine OTPUT
Subroutine OTPUT is used to gain output in addition to the
standard GASP IV summary report. OTPUT is called prior to sub-
routine SUMRY and is used to print out the following:
(1) The number of timeouts or intervals of time between bus failure
and bus recovery.
(2) The number of valid readable responses lost to timeouts.
(3) The number of bits on the left bus, right bus, and on both buses.
(4) The total number of messages sent.
(5) The total number of messages to hit on one bus or more.
Subroutine NXTMSG (IAM)
The subsequent call to a terminal scheduling is established in
89
subroutine NXTMSG, which performs the following functions:
(1) If it is the start of FUI and the bus is busy either waiting
on transmission or a transmission is in progress, it returns to
the subroutines that have been called.
(2) NXTMSG branches on message type to 3 or 5.
(3) It collects a histogram and statistics information for the
first fixed message in FUI.
(4) If possible, it schedules a fixeu message transmission and
a companion "watch-dog" timer event. It then updates the message
number by one, sets the IBUSY flag to busy (one) and increases the
message count by one, and returns.
(5) For a demand message, NXTMSG tests to see if there is time to
send a demand message; if there is, it schedules a call to a terminal
and schedules a companion "watch-dog" terminal event, sets the busy
flag, and increases the message count by one.
(6) If a demand message cannot be scheduled due to lack of time to
achieve the transmission, this routine sets the busy flag to free
and establishes the end of demand message transmission for this
FUI. It then returns to the subroutines that have been called.
Subroutine STAT (ILBUS, IRBUS)
Statistics of time-persistent variables for noise on the left
bus, right bus, and/or both are collected for noise events on the
bus; this is the only function that subroutine STAT performs.
Function RNXT (RMEN, RVAR, ISTRM)
This routine computes the delta time for the next event arrival
90
for a given event generation, which is based on a uniform dis-
tribution about the mean, using the random number stream designated
by the user. RNXT performs the following functions:
(1) For calling the next arrival of the event in question, RNXT
establishes the random number stream.
(2) For the event in question, it establishes the uniform upper
and lower bound.
(3) By using the uniform distribution, RNXT computes the arrival
time.
Simulation Report
The MUXDB outputs are given in the following section, with
particular emphasis on some of the more common data outputs:
Figure 3-15 shows the input data echo check, provided by
subroutine DATIN. Figure 3-16 presents the user input cards;
Figure 3-17 is similar to Figure 3-16, but is given in more detail.
The printout of the files that are obtained at the end of subroutine
DATIN (Time 0) is shown in Figure 3-18, and a partial printout of
the event tracing which is obtained from subroutine MONTR is shown
in Figure 3-19.
Figure 3-20 is the GASP IV summary report. The statistics that
are collected using subroutine COLCT are presented; these show that
the interval time between the start of an actual message and the
response of the last demand message is, on the average, .016 of the
time unit with the standard deviation of .0026 of the time unit.
These values are based on 1,000 observations. The minimum and max-
imum values observed for the time interval between the start of an
91
actual message and the end of the response of the fixed message
are .011 and .022 of the time unit, respectively. The average
interval time between the start of an actual message and the end
of the last demand message is .088 of the time unit, based on
1,000 observations.
The next set of statistics on the summary report is for the
data collected in subroutine TIMST; this shows that the utilization
of noises on the right bus is .018 of the time unit over the total
simulation time of 1,000 of the time unit.
Statistics regarding the use of files are shown in Figure 3-21.
For example, on the average, there are 23.3 events in file 1. A
maximum of 32 events are stored in the event file.
In Figure 3-22, statistical information for the fixed message
in FUI is given. The figure shows that 91.4% of the first fixed
messages, based on 10,001 observations, has the starting time less
than or equal to .014 of the time unit.
92
o 0 0
o Z
o 0
o 2 0
0 0-00
.0 0~c
Z L
o -~ 000- U<
Ua- 22o m
Uz 2
zz 00z 0 r
z 'I
- 2.~ , .4z
93
INPuA (ARCSc
D1 .3D . .0C3 .0 c
.I .004 .CC5 1..C0 2, , 1.
. .03 .co 2.0.3 .0!: .C!5 3
.C 3 .OC' .0 . ^73 .Cot. .0C3 ,OCe 1
c C1 .31 .0052 .01 .0c1 .0052 .005F.005
F .0065 .0066 .0067 .0068 .006
F C .C0610 .006
N 1 10.00 0.05 .0012 15.00 0.05 R0 .0011
N 1 10.00 0.05 .05 .001
N 1 20.c 0.05 .05 .001N 2 15.0 0.05 .05 .001
N 3 25.? ).05 .05 .001T I 0.010 1100.0 10. 012 0.5 0.C10 1100.0 10. 0
Figure 3-16 User Input Data for GASP IV in MUXDB Simulation.
q4
0 0
000oCO0O,0
oo oo oo. o 2 *, o o c
4oo oo o -o co ¢o~
o
oo w ooo ooo -
°.,°.0
£ oooooooo-
o ooo oooooooooooooo
• O000 0
00
00 00c'0c -ooooooooo0 4 • 4. Cooo oo0oo
4 000
K - - - ' 20 - z
95
o *
o _
-2
=2o~cooo oooo ) o
0 o -yOz L
m 4-
4 "F_0
L (
"J4J
.0-
....
S-- -- - - - - - - --
- -~c - - -- -
96
" INT7ELER DIATE lE U L 7 ,
URENT EVE.T......TNWC= .OC-02
. )* -)Z .2c17.C3 .1C07*$1' £EiNT ....... TT%;EXz .1100-01
• I1 Q -C1 .1000-03 .000-01
C' QET Evt T. . . .. TWz .1l0 -01
.E-2-1E .. 0.03 .100-.0; x , T.. ..... TPloo C .30-01t jm QE T E 4E T T.. . 6 ~= * 1 2- 0l
, 4- 1 .IC01 0C .OC0%E T
EVEIT ....... T NEA= . 10C0 C
.10^0-0% .2020-03 .7C0001(j E I E T .. . .. T % .= .1000-00
.1C3 .3C .C020-03 .7;00-01E, ! EET ....... TTNE A .10 24 00.1C2..06 .1005.04 .00 0
T EVENT ..... T C w .10Z4 00•1C24-o. .1005.04 .OOCO4 ( EAT ....... TNEX= .1CZ 00.1026°00 .100304 OOCO
.AENT E.ENT ..... TNOW= .10 -.O0.1026-00 .1003:04 .0000
% XT
E ENT ....... TTNEX= .10 5000• 1$3.00 .2C16.03 .1000o01
i P ENT EVET T TNC0W .1050"00.105 -00 .2016-03 .1000-01
,E. XT EVET ....... TTNEA= .1210.00.1210-0 .1000-03 .1&OC.01
LA;El EVENI ..... TNOW .1109.00.110;00 .3010.03 .1000.01
NEXT EvENT ....... TTNEXI .1210.00.1z10.00 .1000.03 .1C0001
CJkPENT EVENT ..... TN0w= .116".00.1 1 9 -C0 .2010-05 .2010-03
NEXT EVENT ....... T TNEx= .1330 C0. 1 30-00 .1000.03 .2010.03
CuRPENT 5ENT. TN0,. 12 3.00.1I23.0C .3010.03 .2010.03
NEAT EVENT .... .... TINEX .133000.1300.0C .1000.03 .2010-03
L ,- ET EjE'47 ..... TN0 = . 1'83.00. 2020 0 .2050-03
A IT EVENT ....... TT EX= .1423.00.1 .2!-C0 .1000.03 .2050-C3
L QC ENT E ET ..... TNw= .1!71-03.171-^: .30-03 .2053-03
stAT E %.T ........... TTE .123 00.1-2'.:0 .1:3.03 .2050o03
&;EN1 EVEN!...TNbw= .l&21*00E' T ESE.NT ....... NOV. .1..1.00E Id -0 0 . 10.0.0. .20.3 0. .
T OvAT ... TW .1553.00• I053.0S .!C10.03 .2030.03N E AT E ENT....... T1EX= .1 5 1.00.15e1-00 .12C0.03 .2030. 3
jPET EvENT.....TNw= .1f7 .0.1 74. - 1004.0C4 .0NEA' EvENT ....... TTNEx .0C .0C.200: -C .e "3 0. - .7 C C 1
CVLE. T E , 4N. .. IN w= . ,0 0.2
Figure 3-19 Output from Subroutine !1ONTR, showing Event Tracingfor MUXDB.
q7
C
C. 0- - - CCC& 00 * 000
Or> a 000
S a
CC a 0001. II -'0 c,~ 000S 4 00~S
- C -7 - - - -
00
o - a0 0 0U CC -
a ~ 00 a C4' C 00 ~ 000
S- a 4 ocY -z c~co0 - a 0> ,-~ 45 000 La a wCt 000 o
0 5 0 .- rV '4 aa o -~ ..
4' -7 4' -*5 cJ0 C a 4'
4 2 a aa 04
C -, a a a o 4''C C- C 'V
- S a 0 -~ E7 1 o a S00 o z *o - E
ii ra - 45 Co aO 000
0 a or- 05 coo a0 U a - 00 - 000 a,O 4' 0 n Cr0 0(0 4' 000 Co -' 0 0 C, 0 *. -U.-. C5 0 a . a
I~ 4'- 4 Z N - 0 4' 0O s a 0 - .-. -
-2 - -* - 4' 4a a, 4' a Z - -
4' 0 4 NC- 4' COC- wC (0 C - 0 a a CC, C CCC 0.-C -7 ''J S - a -a II *> ***
7. - - .-. a 0 vo.. a1 0-sr0 0 CflCd~ -OPfl
0 C .flCt' .flNa(4' 0 NO 0 -(0 0..2 C 4 .- ..0 0 4' 4'a o -4' C, 4 -
a 4' 4' I0
-a 4 4' 4'
.fl .- 0 0 C-.-a - 4 4 00 000O CC 4' 4' CI* .C 4' 4' 4 00 4'
4' ~I .. J ~ N-% a ONCr 7- Z S S - Ca,
0 0 5 -a) 5 .-- 7-0 0 - -- 000-41 -
a .- I -a a
0 0 - S S
0 000 0-7 4 0-C,.
a a 000.J~., ZCC-- - - .4 a - - - - -
7 7 7 - -- (-40O ~) - 0 0 .rn-7 -7 -7 - -
98
0.2 000
* o oo oooC 0.1O0 000 000O0 00
................... . . . . .o
.oo.-c. .. oooo . o............. mmoo
.... ....0 0 ... ...0 , .. , 00. ,,,° 0 •
4J (U
L.-
'. 00 0 'C,0 O 'U CC O0|000 0 0 a
99
4 -s
S .
*: .o o
S • 0
o -,E
* I l 111, 11111 ,
J OOOOO~ooooc..S00000o,..0i
00
CHAPTER IV
A SIMULATION EXAMPLE IN VARIOUS LANGUAGES
In this chapter, a single queue, single server simulation ex-
ample is discussed in four languages; they are: FORTRAN, GASP IV,
GPSS II, and SIMSCRIPT II.
The primary goal of this program is to simulate a single queue,
single server system. In this thesis, the server is analogous to
the terminal or bus controller and the queue is the message queue
stored in the controller. The service unit is the data bus itself.
The arrival of a message on a bus is exponentially distributed with
mean time of five minutes and the service time is also exponentially
distributed with mean time of four minutes. This program is simulated
for eight hours (simulation time). The second goal is to use FORTRAN
to implement the model to realize impropriety of the language for
simulation. Figure 4-1 shows the general structure of this problem
in the FORTRAN language.
A Description of the FORTRAN Simulation Program
The FORTRAN Simulation Program performs the following functions:
(1) FORTRAN initializes all variables and parameters and sets the
total time of simulation.
(2) This program checks to see whether the simulation time is over;
if it is over, it calls the proper event to be executed.
(3) FORTRAN calculates the average queue length and the average
service time for all runs.
101
The flow chart of subroutines ARRIVAL, SERVICE, and DEPARTURE
is given in Figures 4-2, 4-3, and 4-4, respectively. The printout
of this program is given in Figure 4-5.
102
START
Initialize all Variablesand Parameters
CallRAND (MI,R)
Compute First Arrival Tests if Simulation
Assign 10 to Event
Tests if Time o fNext Service isless than Time of TONS: TONANext Arrival
,
Tests if Time of Next TOND: Assign 30Departure is less tha TONS:&TONA to EventTime of Next Service anTime of Next Arrival
-- -(_
Choose the smallest Time ofTransactions and Assign theEvent for That Transaction
Figure 4-1 Flow Chart of Single Queue, Single Server in the FORTRAN
Program.
103
Arrival Service Departure
Computeall Averages
FPrintResults
STOP
Figure 4-1 Flow Chart of Single Queue, Single Server in the FORTRANProgram (Continued).
104
Subroutine ARRIVAL
The parameters received by this subroutine are: Time of Next
Arrival (TONA), Time of Next Service (TONS), Clock, Time of Last
Queue Change (TOLQC), Queue Length (IQ), Total Queue Length (TIQ),
Facility Status (IFS), Sum of Queue Length (SOOL), Expected Arrival
Time (EXPA), and Seed for Random Number Generator (N).
SARRIVAL
Clock = TONA
I Compute SOQL
f = Clock Update Time of LastTOLQC lo Queue Change
TIQ = TIQ + 1
,I
IQ = IQ + 1
Call RAND
(N,R)
1 Com pute Next Arrival Is aiiyBs n
does Queue have moreN than one Trans-
Clockaction?
Yes "
RETURN
Figure 4-2 Flow Chart of Su rou ine RRIVAL.
105
Subroutine SERVICE
The parameters received by this subroutine are: Time of Next
Service (TONS), Time of Next Departure (TOND), Clock, Time of Last
Queue Change (TOLQC), Queue Length (IQ), Sum of Queue Length (SOQL),
Sum of Service Time (SOST), Expected Service Time (EXPS), and Seed
for Random Number Generator (N).
SRICE
Clock = TONS
Call RAND
(N,R)
Compute Service Time
Compute TOND
Accumulate Service Time
Compute SOQL
TOLQC = Clock 1 Update Time ofIQ = 10- I' Last Queue Change
IFS = ITONS = 9999
Figure 4-3 Flow Chart of Subroutine SERVICE.
106
Subroutine DEPARTURE
The parameters received by this subroutine are: Time of Next
Departure (TOND), Time of Next Service (TONS), Clock, Queue Length
(IQ), and Facility Status (IFS).
DEPART
Clock = TOND
< I.T0TONS
Clock
TOND : 9999
IFS = 0
RETURN
Figure -4 Flow Chart of Subroutine DEPARTURE.
107
S I U L A
1 0 N S T A T IS T ; C
AYE QUEuE LENGMT AVE UT!LIZAIN
.0970 .7C&2
'.2 770 .;7 :
05435 .7174
2.0E3Z .71;U
3.?672 .73Z^
2.4-633 0t
.?757 .539R
I.3134 .060
.7144. *506
T.0702 .6Q1€
4. 136 .804Q
2.3Z80 .8013
5.0661 .2017
1.7005 .7t97
2. ,55 .8646
1.E799 .7695
2. 1511 .85!7
.5753 .," 3
1.8116 .7047
.9342 .e452
1.9664 .7915
3. 4616 .86
3.2761 .8,69
4.9629 .9315
2.2642 .7723
.9359 .047
2.!54 .9164
1.!!sC.7!17
2.6119 . T2
3.4771 .91a7
1 . 18 6 .7540
2.096 .7690
F.e;P .oOn €
Figure 4-5 Printout of the FORTRAN Simulation Program.
1 .5 735 . 7 ;3.57 1c
.. 036
3. 216!.2814..
7
1.50 17 . 285.,549 .938 9
2.1151.?7.
3.6;10 .6481
I E 18 .6'56
3.6657 .8 5010.7325
6 e771 E
.7-132
1 13 82
8..8005.652; . 56!
1.5557 .709
2.1624 * ? '(5
.5565 .564.
. 5;4,4 .oi'56
. c.55 .7- 6
.7~c
.72 ,
Figure 4-5 (Continued).
109
7r3
1. 5079 .7234
.71
7.151. .723!
.'528 .t 762
.0771 7067
.4(17 5770
1 ! 8 73 4
.7551
.13
.12.21'e.'i
E.541 .o L
5. S55 2
C.4
Aj U6uE E.NG.T ;OC ALL PUNS * 2. : 5
AE L 2 TI N F0; ALL LjN$ S
Figure 4-5 (Continued).
'I.N
GASP IV Simulation Prnqram
The objective of this program is to simulate a Single Queue,
Single Server system by using the GASP IV simulation language.
The arrival of a message it exponentially distributed with mean
time five minutes and the service time is exponentially distributed
with mean time four minutes.
A Description of the GASP IV Simulation Program
The GASP IV Simulation Program is divided into the Main Program
and four subroutines; they are: EVNTS, APR, BEGS, and FINS.
There are three files used for this program. File I is the
event file, File 2 is for queueing the message, and File 3 is for
service facility. The flow chart of this program is shown in
Figure 4-6.
Main Program
The Main Program sets the card reader number (NCRDR) and the
card printer number (NPRNT) and subroutine GASP is called.
Subroutine FVNTS
Subroutine FVNTS sends control to one of the three user written
subroutines: APR, BEGS, and FINS. The events of the simulation,
in the order of their event code are:
20 - Arrival (ARR)
30 - Begin Service (BEGS)
40 - Finish Service (FINS)
111
Provided by User Provided by GASP IV
SSTART RESTART
Main Program IInitialize GASPvariable and
establish initialevents
IYes run
Remove Time
Event fromEvent File
C GAdvance TimeSubroutine Event to Time of Event
Select Appropriate Set Event CodeEvent
BEGSFINS
i Subroutine Summary
, RETURN
Figure 4-6 Flow Chart for GASP Single Queue, Single Server.
112
Subroutine ARR
The event arrival process of a message is accomplished in
subroutine ARR. This subroutine records the arrival of a message
and schedules the next arrival of a message. ARR also tests to
see whether there are any messages in the Queue and if the Service
Facility is free. If there are no messages in the Queue and the
Service Facility is free, it schedules another arrival of a message;
otherwise, ARR returns to subroutine BEGS.
Subroutine BEGS
The begin event is established in subroutine BEGS. This sub-
routine removes a message from the Queue, puts the message in the
Service Facility, and schedules the finishing service.
Subroutine FINS
The finish event process is accomplished in subroutine FINS.
This subroutine removes a message from the Service Facility and
schedules begin service if there are any messages in the Queue.
Simulation Report
Figure 4-7 presents the input data echo check, provided by
subroutine DATIN and a printout of the files that are obtained
at the end of subroutine DATIN.
Figure 4-8 is the GASP IV summary report. On the average,
there are 1.83 events in file 1, with the stdndard deviation of
.38 minutes. File 2 shows the average Queue length is 2.85
minutes, with the standard deviation of 2.95 minutes. The max-
113
imum number of messages in the Queue is 12. File 3 shows that
the average utilization time is ,83 minutes, with the standard
deviation time of one minute. The maximum number of messages
in the Service Facility is one.
114
C
z C
if
fta
i -6 In
.Z
hOG -
C
01 E
o K (L itC
on *ft 1- EO : E",ft L &N C..7X.
or2 I
C2 (2Q a 3:ftf
( jc 2 z 1- 200 OI- x
.x .a "Io *. MO
a, C> a c 41~- (C 0 -sk
N - ~ - .~ uK~~~~~~~~~ 71SI t f 1 550 0 . . 1 1C, 0 00q N . .,
I~0 t O t2 N . . -N 3
0 .1
C. NON 'g .g +2~~, 4-).J 0 c f~~z =3 0
toI lIt i t
P~.0
JLU
115
**IG.P TU-F*Akv REPORT-.
SimLLAT;ON PAOJFCT NUParB 0 i.Y PEHROOI
DiT 5/ 2 I 1 c RUN NUMBER 1 OF 1
CIIRRENT IME .doo* 03
**'rASP FILE STORAGE AREA DUMP Al TIME .4800.CA'*
MAYI-'.:A ',U-Erk 0f ENTRIES IN FILE SIORAGr AREA * 15
PRINTOUT OF FILE NUMER IINOW - .4mO0*0QQTIM- .47,67.03
TI1E FFIOD F0R STATISTICS .41O.0AV(RAGr NU" ER IN F1LE 1
STANDARD DEVIATION fS7MAXIMUM NUMBER IN FILE 2
E N T Y IC .oco 0 FILE CONTENTS
PkINTOUT Of FIL RM E IThewZ - PO .O
CGTI- .4726.03
TIME PikIOD FOR STATISTICS .4 O00*0AVEkAGE NUMBER IN FILE 2.523STANDARD DEVIATION 2.9598WAXJPUM NU1bFR IN FILE 12
11E FILE IS EMPTv
PkINTO UT OF FIL NMUIR 3TNOw * .PON0"0') 1P. .4674 .0
1IE FRIOC FOR STATISTICS .4,800*03AVLRAGF NjbER IN FILE 300STANDARD DEVIATION ,3757VAIIMUN NUMBER IN FILE 1
IMF FILE IS FMPTY
Figure 4-8 GASP IV Summary Report for Single Bus Example.
116
GPSS II Simulation Program
The objective of this program is to simulate a single queue,
single server system by using the GPSS II simulation language. The
arrival of a message is exponentially distributed with mean time
five minutes and the service time is exponentially distributed with
mean time four minutes.
A Description of the GPSS II Simulation Program
The GPSS I Simulation Program performs the following functions:
(1) This program creates the arrival of a message by using the
GENERATE block.
(2) GPSS II records the entries of messages in the QUEUE block.
(3) It begins service on the facility in the SEIZE block.
(4) The message uses the service facility in the ADVANCE block.
(5) The message frees the service facility in the RELEASE block.
(6) The simulation terminates when simulation time is over.
The block diagram for this program is given in Figure 4-9.
117
105,FN2 Message Arrival
11 1 Enter the Queue
112 Capture the Service Facility
F 13t4,FN2 Use the Service Facility
14 1 Free the Service Facility
15R Leave the Service Facility
Figure 4-9 The Block Diagram for GPSS II Simulation Program.
11
Simulation Report
Figure 4-1O presents the GPSS II printout. The second and third
lines of this printout are the transaction counts for all blocks. For
example, at Block 2, 5 indicates the number of transactions currently
at the block and 53 is the total number of transactions that entered
the block.
Line six gives the following information: the facility number (1),
the average utilization time (.76 minutes), the number of times the
facility was used (48), and the average time for each transaction
(3.37 minutes).
Line nine gives statistics for the Queue, measured by the block
diagram. This includes the following:
(1) the number of the Queue used in the model (1)
(2) the largest number of messages in the Queue (6)
(3) the average number of messages in the Queue (1.45)
(4) the total number of messages entering in the Queue (53)
(5) the number of messages that have no waiting time (12)
(6) the percentage of messages that have no waiting time (22.64%)
(7) the average length of time that messages spent in the Queue
(5.79 minutes)
(8) the average waiting time in the Queue (7.49 minutes), excluding
the messages that do not have waiting time.
(9) there is no table (0)
(10) the current value of the Queue content (5)
119
3
o
~.2
2
- zz
.1~ 0
03
~4.0 7
0
0.)7 ~..4- 4 *4 -0'- E- 24
-- x- U.)C ZLZ
', -o- z -z 0
4 0- .0 0.)
~440 - 4
4., 4~ 0~
o 4-.-. C
L/)~1,00 .1~ .42 2 4 1-.4 40 0
4..4. 4~).4 02.4o ~ 0.4 4~)
-4'... C-"'4.4 S..
0~~0 ~'4.1' .aZ~.- .04'*o 44 * 0w~ -, =- 4-fr' 4.A. .4
L')
2 42 -4 - 2 (.0.4 - - -,
-, 0-4
4±
4./,4: --. 4...4.~.4 04 0)
- - - S..24 2 .4
... 4. 0- - 0)44~.4 ZZ -
- - l.A.0 0
2 42.4 -4 4~.4 2- 0 42
.a-'*g 40 .4*0 ~.4 .1,.4 44.:
- 4..4- z-.' 2
- 0.-. 00 22 2
24, 42 C- 20 .0- .4 70 4C 44~ =
.1, - - .4 .42 - 02. 04 .4 - -.4 4 0 -
120
SIMSCRIPT II Simulation Program
The objective of this program is to simulate a Single Queue,
Single Server system by using the SIMSCRIPT II simulation language.
The arrival of a message is exponentially distributed with mean
time five minutes and the service time is exponentially distributed
with mean time four minutes.
A Description of the SIMSCRIPT II Simulation Program
The SIMSCRIPT II Simulation Program is divided into five parts;
they are: Preamble, Main Program, Event Arrival, Event Departure,
and Event Stop Simulation.
The Preamble defines every event, including Service Time, Queue
Change, and Sum of Queue, as variables. It also defines the status
of the model and all integer variables.
The Main Program schedules the arrival of a message, the desired
number of hours for the simulation run, and the start of the sim-
ulation.
The Event Arrival schedules the arrival of a message and creates
a message. It files the message in the Queue and records the total
number of entries. The Event Arrival computes the sum of the Queue
length and schedules the departure of the message. Figure 4-11
shows the flow chart for Event Arrival.
The Event Departure lets the status be idle if the Queue is
empty; otherwise, it removes the first message from the Queue and
updates the last Queue change. The Event Departure destroys the
message and determines the service time. It also schedules the
12]
START
SCHEDULEARRIVAL
CREATEA
MESSAGE
BUBU? DETERMINESERVICE
FILE MESSAGE[
IN QUEUE SCHEDULE
ED DPARTURE
TOTAL ENTRY+I PUT STATUS I
COMPUTE SUMBUYMD
OFQUEUE LENGTH
UPDATE LASTQUEUE CH.NGE
G RETURN)
Figure 4-11 Flow Chart for Event Arrival for Single Bus Example.
122
departure of the message. Figure 4-12 shows the flow chart of
Event Departure.
The Event Stop Simulation gives the simulation statistics,
such as, the average Queue length, utilization time, the maximum
number of messages in the Queue, and the total entries.
Simulation Report
The average Queue length for this simulation program is
3.69 minutes and the average utilization time is 0.94 minutes.
The total number of messages entered is 99 and the maximum
number in the Queue is 9.
123
START
QUEUE NO COMPUTE SUMEMPTY? OF
QUEUE LENGTH
YES REMOVE FIRSTMESSAGE FROM
QUEUE
UPDATE LAST
PUT ON QUEUE CHANGESERVER
IDLE STATE
DESTROYMESSAGE
DETERMINESERVICE TIME
SCHIIE DUL EDEPARTURE
Figure 4-12 Flow Chart for Event Departure for Single Server Example.
CHAPTER V
SUMMARY ANT COICLUSION
In the preceding chapters of this report five simulation
languages are presented: GASP IV, GPSS II, SIMSCRIPT II, ADA, and
ECSS I. Additionally, a simulation of a simple bus, single queue
system is shown utilizing FORTRAN IV, GASP IV, GPSS TI, and
SIMSCRIPT II. The objective of this simulation is to obtain
information on queue length and bus utilization and compare the
various programming languages. The ADA and ECSS II languages
are not available on the Mississippi State University Univac
1108 System, thus there are no simulation runs in these languages.
The primary thrust in this research effort has been the
utilization of AFAL's MUXSIM simulation program. MUXSIM was copied
from the AFAL DEC System 10 onto magnetic tape and transported to
Mississippi State University. Considerable time and effort was
expended in adaptinq MUXSIM to the UNIVAC 1108 system. Due to
the non-availability of interactive terminals at Mississippi State
University, MUXSIM runs were made in batch mode using card decks.
The following results were achieved with r1UXSIM operating on
the UNIVAC 1108 system:
1. The dynamic portions of MUXSIM, MUXDA and MUXDB, were
software modified for use with the HNIVAC 1108 based
GASP IV. Simulation runs of MUXDA and MUXDB are listed
in Chapter III of this report.
125
2. GASP IV user subroutines are written in FORTRAN language.
Additional FORTRAN subroutines for expanded plots of MUXDA
bus statistics collected by GASP IV are listed (p. 154).
See the Appendix for all program listings.
3. Data files for MUXDA and MUXDB were linked to GASP IV.
Finally, the ADA and ECSS II languages were considered as
possible simulation tools for future avionics multiplex data bus
studies. Both ADA and ECSS II are general purpose languages with
attributes which make them candidates for consideration. ADA has
programming features similar to COBOL and PASCAL. The ECSS II
language relies on a computer system with a SIMSCRIPT compiler.
From a practical point of view, it appears ECSS II offers little
advantage over SIMSCRIPT. As mentioned previously, no simulation
runs were made with ADA and ECSS II; the discussion of these
languages is based on information obtained from references [81
191.
The foregoing statements summarize the work accomplished under
this orant and cover the work statements outlined in the proposal.
An additional study was made for comparative purposes utilizing
GASP IV, GPSS II, FORTRAN, and SIMSCRIPT. The results of this
comparison are shown in Chapter IV.
APPENDIX
127
LIST OF PROGRAMS AND SUBROUTINES
HUXDA
0 CE N C. N"
E, IV AL C ( :SFT1) .1sET(1
0'ON/ 1 0 T J E V N T F A F E I t, C L 1 C S T , C. ,
CRN IGcOm2/ N ;) (DL(1O) TFUL,CTNC.,sESPLNLAGCP)ANc -.:.CN EAC N C S FNN CT S Z ) ,S TSL ) TTNLA
7P;.T L S,TTTS V
PL( 1 G' 1LPL ,LLSUP(. ) LLSY (10 ,MT,NNC I(), LT ,N, S, NDL
T ,NPTS (1.) ,CS STN ,NNvA ( ) P 1 0), LO ( 1
COM' ON, 3C F'5 / I C VT.> 1 SCS (±"; , J J G ,j jC.. IA "M%t[T :,"C% , t.\A, E (3 ),',,:C " ,NN O NNPT ,N SE T,NP J , NNP , N S ,NNUI NNS ET , L S SE )
& L SSZ )V (25,5), SSTPV( 2 ., A) ,VVNAL (00)
INCLUDE IT
cC
------------------ -- INPUT CARD DEFINITION- ---------------------------c CAR D 'YPE A
0E D EF:NED 6y L TIVE POSIT !OK t, T I1 TmE D CT1ONAAY
C DCK. THE&S CA DS AR E LOCATED AFTER ToE GASP IV CONTROL CARDS FOR
C S MULATION OuN I
-..... CA 0 TYPE I DEF INES THE FU. TIME LENGTH AND DEMAN S ESSAGEC TCANSFEA "ODE (E .Z). (FI,.Z, ,iZ) (ONE CARD)
E 1 S 1S SE L$CTED C T .C CUNS 0 LL tE NSuE. (ONE PC El TI.ME SECONDC ODE IS E LE CIOD ONE R N .ILL ENSUE. ODE 21
C "ODE 1 FIRST-IN-FIRST-OUT.C "LDE c- ONGS ESSAGE THAT CAN 9E TRANVtTTE0 I. THEC IN TE REF"AIN 1GNG TIME GOES FIRST.c
C C YPE :1 .:E ;',ES '" E DURATION OF THE FIXED "ESSAGE SEC JENCEF:G EAC
W €:I. (A" C F E LI RE S A C A D F 0 E AC. FUI AND ThE CARDS
C LST
EE SE L 'C-D EY ASCENING Ful Nu"-E R.) (FIO.Z)- Z.- -',TPY NDA 4TES 'HE END CF CAD Typ II SEQUENCE.
-CAQC T 'PE DEFINES TME DEIANC, "ESSA E S. ( F10.C) (EACM CAR
DEFINfS A LCMANO " SSAGE.)
T- E NTP I S I N EACM CAR A RE I E :NE AS:
ICALD '- -EAN ARRIVAL TI"C. (UNIFCCALY D!STRISUTED-)C r: .~.D 23 MAXI"LN DEVIATION FO" -SA'. ARRI:VAL ( ,-).
FELC '. DEMAND MESSAGE L.NGT1m.FIEL, -- (A C ,NDEFI NED F0 CZ TIHIS C D E L )
- LNX IN FIELD I0 DCATES TwE END oF AfRO TYPE
NCR DR sNPAN T-tC ALL GASPA . EXI
EL,:
128
S L'i 0L ~NE v N T S (
SA: '- L E
C A LC F Q
G. -TC
EL.~ 1
Zm''01 /i'uZi/r2IT N0", FU1,NFU'S,PU:NYTNrUI,!OD- A - - A T I C A AA E
I L .L I$D , DLA Tl
*i "@: ( I ) =" N0AT : _.( ) z2OC..fL3AT (NFUfl
SE OL7 : N r(.F1E(NF)C 2C
CAL
F R !,- STARTS F R FINIST: H EME T IN TMJ ruI
C ~L LI- LPQ'.C-SS'S T -E ENO OF A " ESSAGE TRANSMISSION4 AN4D SCHEDULES 'T-E
F'" ^,: NZT. M uSA NG E I PALSEISSION.
: 14C LU E I T
T .. . E S w ;E A I NI NG F RE E F U T Im E
1 = 1 :, 1 T N-T Nw." .. . .. E IT I F T 1 1'G CUE C , N C T f L EF
F F L( . E . C) GC T, 3:rI.LE.GC.) C TC 2SE EC E N T FROM CUE,C TO (11,12).MO
129
SU-CUTINE :NTLC
L A~ 'r I T .~L C A S SE SN I~ !N IT IAL CO-;t:T:ONS FC0L ,LA' C N E ITmF F;C~ T A,:. DT A C I.; VS AL GE~ k I C• ;A'EN'TS.
C O M VO N / jvU x ./ D m ( l N, ( ) , SU I A( T(Z)
I F0=. N RN F S. :-
I $ N CAC T'P( wi.Ick D.r:N.S TW, DUI IuEST1ON A kC AUN O0 D•
3C PC T A , Fb1,' P ' "O OF , *A
S' F U; NO. ; (E UI SA T)
C. READS :N CLAD TYPE 11 -"ICH4 E;NES FUl Fl1R! MSSAC5E SE .uENCEC UL AT ON A,_ wUANTITY CF r;IS.
1 ,.EAO (IRC,1GC) x13C FOR"AT F 10.)
I .L. .0) GO TC 2N PU1$ NPUI -1. -I T E ( N PRNT .3 1) NF u IS .A3: 1 O (: , 2 . )
I F X .1 F u:) CAL L ERR OR (2)GO TO ICONTINUEFLIlT-TNOWDC 3 !- I,NFuISAF U 11 TU I FLOAT (-1)
A CAL. N X FUI(I,x)% 004-
C. ;EA0 S IN CARD TYPE 1 WMIC H DEF:NES TE DE"AND ESSAGES.
F(0(IN0N).L.C.0) M AO 10 10
N D04 N 0 "* 1GC TO 5C1 0 CN 1N U E
*;('E(NP&T .3U) NO-3C A T T( 'I m NC,' ,Cx,'. PAAAM ETERS C F A D - NO.!4)
- : TE (NPRNT ,3C3) : e(,, (J ,l ),J I, . )
30 F r, I (. : .T (5 , 5 .II CA LL NxT T (1)C ',^NTINUE
3C 1 I.1,C*,wS E;,T C ! • C
15 , . A ()0.STTURN
NNPTS(1})NNFTS(1) - 1"CDE-PODEol
F ' II"T TL T ( -,
A -F U 1 ' ;U , *F L~ c:I IA CLL NITF.,: (,I)
D- ,3: TC !END
130
~% FIN k 1,.,1C.0
SPv SELECT I N :NTC L;IIuTES A -EA!C(:.E;.; ), TOCALL COPY(!)
C . TEST F - ILL F TI F(AT ; I16 ( .GE. )G- TC ZCALL R wCVE ( , 2)
C L Em AND ME S SA SE LENOTD 'L AT
;t -8( 1 )
ATR38(1).TNO DMIAL
CALL FIE (1)'SENT(NF) -DMSENT (NF)-D"L
CONTINUEF UI.6A T (N F Fi I . A T ( N ) XQ STu;NEND
S 8;OUT INE Fu IT (N FC------.A 1,3O TYPE EvENT (STAqT OF THIS FUI)C P ; FORPS TmE PROCESS ,NG I NVOLVEE D w1m FU STACTuP.
RE A L X X ( .1INCLUDE _TCOMON /MU X I/ FU I TND", FUI ,NFUI S . FU INXTNFUI ,MOD ECOMCN IMUA I/ D(5,C) I UI I F(2t)COmwO /MUXI DOMSENT(O UFUIwiT(20)A * FU I-F* LOAT CNFUIS)
C -.. FOLLOWING STATEMENT IS SAVING FUI I T E TO PREVENT DR IFT CFC - - FUl T;PES *ITH RESPECT TO EACH OTHEA DUE TO ROUNDOFF
I ,'FEa. FU I T TNO.-vC --. TEST ;OR I 0ST CYCLE TNROUGW -AJOR CyCLEC ---- SKI; PLOT CALL IF FIPST MAJOR CYCLE
IF( I1TLE.,(TTeE .X)) GO TO I-....CC'LECT 0NLY 100 SETS OF POINTS
.F(NNPTS( )*GE.100.)GC TO 1C . "s TE FR E ;LI T'ME AVALIALE 10; SC-E ULE Of ZE* NE "FSS-GES
A -F UI-FUIF (NF)--PLOT ARGU"ENTS-1 S SuE Nuw SEQ AT FUl TIME
C--.2 S TmE DE-AND PESSAGE LENGTHS SENT PEOCENTtGE 0' AVALAELE-- -:S UNUSEO TIME AS PERCENTAGE OF NON FI!XED TIMEA XII1) .FLCAT (NNG (2))
x A( )-O'SENT (NF) /lx TI!) . IFu]WAT (NF)/xCALL GPLOT (Xz.TNOw,)C T'NT NU ECALL !T(SEhFI.I---- ErC TCTL ACCU"ULATOCS"SE"T(NF)..OFUI.AT(N F) .C
-A... IS NC. E OF NE AT F u: FOR THIS F UI NU"8. Ax F :1T*Fu * FLOAT (NF-I)CALL NxT FJ I(N F , )
.--. SCmECuLE THE F;EE FUI TIME STAIT rC T:S FU)A 1 (1) rTNC'.F . FX (Nr)
A TI k(2)21.OZ. *F LOAT (NFlA TR :- 3 ) . F u I- FU I A (F xCAL- 91LE*( IF S .- E N lil FU', STARTSF ;Nx'-TNO.-F UI
---- % ,2 :S CJ;GE.T FLI NTERvAL NU%-X
R rT AN
E No
131
C A CK 7 YPE E vE N v &VALO C! E S, AEAEP:$E 5SE S Tw -EAfiPA L C r EM"A ND E S S AE S±\ AL S C~ sci:UL:% GC 3! E"E NExT DENA N "E S SAGE A RGIV .L.
D ES T E A ND ESS 5E D EF :N ITIOC :'(x~v) IS .1 FNE A:
AXA Q .V AL T ME EA NC x:;:S' ;IUTIO
, cDE vA ALUE A10UT E 'N
P, x3PE SS A G LE NG T
I N CL ODE :rT.t''ON /wuA,rvI1">N ru:,uIs,ru:NY7,:,$uI ,A0E{. '"0 N /MUIX/' (5 .) I ( . 1 ,5)
C---%r-S CMEDUL E T SE! 7K :E.ANhD "E S SACGE AAI VA4LC ALL N XT DW(ND)
C- - uT CUQQENT D.M. ON A,"l TI NG ;UEA 'A I a (1) -) (3 ,ND
L.L CILE*,(2)
R ETuANEND
sus8ouT INE NXTFuLI (IwNE)
C SC'E DULES T E STA T O 3 Tm NET r U .
CTON / MU I fu I I T ,N. FU: ,N F U IS , NX T NFU ,OE
I VN /C ' L /AI .o' DPLEr2TINC D 6 T1 A?RBE(1)NN EN
AT; I: (2)1 - 0. I L -0 F (L )C A,. L L FLE(L )A ET JRN
E.~TN N%3P :S L-. k L T I NE NXT D (:
SC"E DU LES AOR : VAtL F % '1E NE! $ D(AN S S AOGE
c 70ON IMUJxIU:l% N, S:.%;:, Sr.:NT,Nru:,M DECON iM U FZ,(5 .' Fr x(2!)
.NZCL DE C,"
P * w ( 2, 1
A - A -- . ' .-CAL.. F ILEF" C )CA EL 6D NQ T U;
13?
MUO X 013
" N i % % t T(1
%, ,%A P a P' T ,%%A TF A %F I L ,N , 'I- ), , % NQ TPP P ( p T N (lW
TLPT,TTLAS, T Av
; < -,. *£C 2<
,' ) ,L (2' .2) ,.LA P( 11 ,?) ,LLAPT (., ,2) ,LLPWI (12t) ,LSPL( (1L) ,LL PLSLSC 1E) LL (1O) ,P ,'NCFL(2),(LT ,F L M A 6 NL P
T ,'NFTS (1 ?) ,% NSI *A,,',VAA (1'") ,PP2( (15) , .-LO 1I0)C 0M"CI/GC I A A E T ,11 S( ) , Jj1 i , JJCL ,i'*N I ,' ON (*) ,T N TF
MN I I ,NN T LNS T, ENRJ PN , N RS U ,L T L, ,SS £ V L L
C "ON/GC2 '/E E,. (122), ! I (,))(I ) ,N(IC) ,.-ArC (10) , '.T )1)(1 CC)T%,. PUA17 P,
1NCL,.iDE :T
COM GN /MU 2/1Fu 11 , , '. AS,* (C ) ,) ,I A25), Lw,
CP N I , N0 I ,, ,L US (1 ) ,TS LAL (1), L1 P N) ,SL T(! ) , SLA
1(15)
CT "ON /,U N %/P, TET S ( 15' )) , T A ( A . ) ,Q IL P( 1) , 5,.A( 1 )
CC'ON /' U r C K NUS C AT 1P 1 'dWDATA USiAfI INIT CAO iFL'TuN .. .
, .P.T CAN / "U xyN IC - E1 I % : U S S E AN E E IA . COLU 1DAF: Ec AS LLO.:
ix xlT , I SH NED .IT H INPUT.
D F AND -ESSAGE F(i 1,4F1 .3 ) C 0 EANVAPIANCEF NC THTEQ-.N .
F E Di5 SES AC GE F(T , . F .-Z r F U I NU U 4bcR A-D 14 - ESSA3E
L ENG T
HS.
I z TEP-INAL DO.N (7e ,S , F1. 1 FO TEP-INAL U- BE4 , EAN ANDC VAPI ANC. CF rCCiPA NC A NDL L NC,TH AND VAAIANCF 0F O.N.C
=, NCISE F( T , S,5 . F C iIUS I %CICA TC Q(1 ,,! zLErTQIGMT,C T- , -EAN AND
L VARIANCE OF OCCuJ ANCE, ANDLCN GIH AN, VARIANCF 0F
; DUPATION.
,. '-EA CF PubS, (( TL,1.,F C. ) uCF NP ,EV A( T.0 I
I' EQVAL (FU'.DIME% AL JFDATE~INTL AVA.S).
z A ESPONSF I1.rE F( .1 EQ10.) CP TEMIjNAL NUME , 'A EANRESPONSE 1I-F, VAR ANC! OfPESP0NSE TI'F.
C : C '.E I CA R IN C - NC ACTI N
------------------- -- EvENT EFI TI NS ---- --------------------------------
E J ENI ' P A ( PS S :AD D. E iDuNDA (IC C AND EVENT SU -TYPESA-{ EFIN(5 .- "ubTC (1), A_ F.L50,.5:A -E DF I E0 v N T A 1 AC S F LL I.
E E T 'ET F Q,A GE NU''EA
2A LL T E 'I %A L
L ((i. NL"EQ EA:D Q CL. VTI .A71CNcr EI N U --
'5F - T,~A QSLOI
1 .t:!C
*E 4t2. Tj. N IENL )c %!,AE NL EQ * 2C :1 iF
S -[A'..,?
133
4'' - NH ISE START
C 1 .*5'(
EVN NS OE T AU EQN T~ I1!
E: VE NU jMP0E Qo
C - E U PDC 1 TIE
E V ENT NU1 11PE * 0 US CES INA TIO 1 1-%N SE NU'LCE
P . II"
L T E R IN A L IjPc 1 .TIM E
. VEVEN.T NUMPEP * TEAMINAL NU m2EQ
" E ul T IME STAVT
I TI MEC c.EVENT NUM.ER * FUI NuPBE PC
C S DEMAND TESSA&E ARRIVAL
I .TI"EE vENT D -rAND "ESSAGE NEuBERP
'ESSAG E %,U fc R> '0 C F C FI ED TYPE30C'S FOR DE'A% T YPE
N (gN:N CA N T -
A LL ASPALL ExIT
E'.D
S tIA UT:NE !NTLC
0 EADS IN TM SI'ULATION DATA CARDS AND SETS uP THF INITIALCmN:;IIONS F$Q T * SI MULATION EI THEP FRCM THE SIMULATION INPUT
C DATA CAPS OA ,Y ALSEEVAIC STATEMENqTS
INTEGEV CAAD( 4Q),SCVTCM EEC
ICL.DE ITCC'mo UN /URxI/'D m 'M4~).SNES
Cf"ON u VlIj I T . I , I N F S N F I 5) FCC""ON /"UA'/NNOISE,NS.US(15).S"EAN(1 ) SMAR(15) *SLNG(15),SLVAP1(15)
C 7ON IMU xN1 TMEAN( 15),T vAP (15I) TLEN(1 1) ,TLVAQ (15)C /'. !-U / X NT Q *TRE S , ) , TPV AP ( 1 5 ) *NUV( 5) ,10 151
/'O MUXl/ ILElUS. IR3USCM "MON IMUxRIIBUSY,STYPMSGNO.
/M ON /"UXUSEiFt.IPPS,F"EDME
CCM-ON /"UIPES/I;ESEC,--CN /STA 1,NMSGMNNL, NQ,NN,NTONMS'J
A TA N C/INC/DATA N x N T ,N F * LN, N 1 x I H ,I T , IW F 1 R IHIMN
,1HU
N 1 1
FuI IT TN,,
NN, I SE
N' j
134
% Ti". QuS T
I uS'
%SGT '1
% .L =C
F,,; S : -
;" F S 'A ( C Q I f 1;" ';, U C ARD )
F CC, I m AT
.R T C C
FCI [ R MA T ( I , X l I ,1 A )
I : .E G)b TC 0
%.C L G 0 1
%'5C
I * F1 . F j T 0I C % R T 0
I> c E T 0 1 cI P5 C A D'
I I( IC.E,,., u C TOC L L F 4 P ( 0
rAFCMNC;N D1E1
S)S A G)C C
4.a1 N NIAD
S C: C Hi, D N1)
(T PA.L C '*F ( 1 X ED E(SSAG ,E C IA ,
C , C N,' T % 11 E &fI
D 0 C C C I 1 R C
F -l - AI E TE S G i - ID
T
U., I C EG.CI.2sy 0 1
IF I . 'I.D1
E C) -, , ,- C R T " (T E3 A N T T A R N T T)
T ( I C
I1
I.E.i) 01
T E P '.ACL TQ t D
C%
l.r C"\ti:FL
; [ C. ;[ ( L, l & C RTC ) : , 'EA N(T ) , T R V A P N TN ) ( T ),
A T1
Q AO ESSECA
!35
N ISt C ARQOL
T L S f S I t 4 .C I SEL N. "I % % . F,2 N NC
1 F " - ,.T (T , jr ' F* ")E l I
T 1
NP T
?: C ',.Mi ,A.It ( t-% I TM
AI .1 '!i -A . AN Ft tASE'W - fAN, T VAPI P I , T4)
F A.'T 1 AI F )T
.Tx5 %: tSSF
.I T k % P T I I 11F,1 F A I2 %u f S S AIF E rE S E MS S A GF CE NGT IS 1")
C %ZT
J L
r( . I. A L ; r T L F) L
T. Z0 4 T10 1
1;r 221
% iT P,' T ,I .7t':A %DL N
F oA , T , ; 1*E! ' .A L FAt.T PA AE S T .1,' F RE1 NO 'T3T, ',J ."' .IT T VA Q IACE C LE T I
NC' P RNP N T, I I ,TEAN I VTVA ( I TL EN(I I TL VA i )'1 C T ', 1T. FE
C
EM % L S S F
I" F -- '1''.' ' ; '.11 %I N tE*,/,t. TEc)
NC'.1,T ,QESPCNSE ,
'I T%: C, I1AA
N1 AIS TE NC T2 q
I T P A)
1 36
i F C % j E : T'. T(NNO~ ~o ) N., TO CeL.ITE(NPRNT,1 )
1 F A'. T ('1 , T1' ! %:SE PA RA r TEAF : P. CSE' UCS EAT ,V AR AN4C E ,T E LENGTU H T5, VARIANCE OF LE rT )r
I7 1 ,%N ISE4I TE(N P-NT 1 TNBJ( )EA( A SVR( L ,SN( I)L V At
F1 F AAT (TIAi ,T.7,;.4c~l .4r FTC I ,:01T 4LL
CNu CN T N
-1 TE )NPRNT , I NF I T .F LI
SETUP AL. ' VENTS
AT 11 , '
A I IT )'T %o.. F T m ,'11 CA F LLA(1)
C TItMINAL DC7.%
C NTINE
.NCr..i:.; SO TJ S
A T T )TN . * 1NT (T TAN() I ,TVvA(.A 1)ATA I5 () E j..°F LO-AT(I)T
ALL FIL ' LA)
S5 CNT)~uE
N N(NCISE LE ) GO T5 SEC! j51 I
= , 'i CISE
AT ) T TN,. AT( SF A NI!) S VA R( ),I)
AT
F L C)A1''1 CALL ,iLt ()E
IF(\FUI . ) CALL £APOA(1 )AR1T T TN
e) iu 2I= , 1
,LIN!ITIALI)ZAT! N CONEL L T TM
T A ST A T T,
FT L
T ACE EN AN TI"C, c(I)= 11
CALL F tL E ')
T N
12?7
% ' F
C g A T
4 ~ ~ 7'x.g
13P,
I6 TNT
E -L A Tl '0 ;1 f C(A.L TI A T ERVIN AL V F N T.
% L .1IN / M lj A y M(4 , 1 .TS'.Y 5
',% / .x. /NlcTi E T T P ,TQ a ) ,NU~Vt '-
I" T: i i I' , U S T
u% / L /uIPQsF E D ES% /T AT/%M 'L N,%bL,NTO.S
A NT A AS FILL 1 NOC 0SI b V AL~A AND 4 E A%1 NI F .1 T: I S C ^-
A N,2A A t N I t , Nu % NO C
; A L PESP %S Ic : C C I % G
Tc T A %I AN Y ~ICT A 4 S ACE
~'f : 7 5* D E - tT
INE F yf
' ( t ,Z; Cr - ,
T- N
L L ~ S C)
'T 0
T N
139
F (f1 (v2 NC.,ICU4 F).tE.0.)CC "'1I -C; U A FSL F . C T
A ~FCT EN T ).A ,A Ie(l) TNO. F I X t$S6NGA, 1(U Q)
C .ATC., 2CG F1Fe MESS(AGE
I :xT.'; (B(~ 22
A 'Ib( 1) ':9 N,;C.r.T [S ' *T vAw( )
AT, R L S 1L'SJ.1CALL F I L ' I
A T C ,, =, G F, I. k M1
A T A I
x. L'N T I Ix. E
FA T = I N -A' T3 NI
NT L INFL E
I L )
) T S O 2
T"
CALT PEMA.!NING TILL NCVX(T FUc SITAA
F(: 1, 1 T - ( I C LQF -FU )l ) T N 0
L FCT ' C% T Ay Fk C M GU E
I L1' OI LT GR I T c) 9
ALL C '( I )-L =ATP18,C I
A LL Q C * I ,J'))T : R I b ( ) =:' 0 .'' - L
A'TA ! c () z'2 ' .A
AT
ALL '( LE)' t)
A r4 E ( ) ' '
A F L . I
%' sf _ (
140
L ANLES ME A P Ak: :vAL A',D SU E .NT Pm&C E SING AT A T AMIAAAD UEN EAT F S T -RMINAL E SPONS .
INCLUCE ITCOM kN /MU X NT TRES (1 ),T0VA (15) .NUMV( 15) ICK(15)C ? ;N / MU A t/I9U S , PL SC ' CN /STA1/ SMSG , SL, SA, SBNTG,N S
DULE F I k T A N AL ;E C Iv I' C A 'ALL ANTDA. GENEkATING A PESPN E
L 1. NO ACTICN
C DE0E.DIN G ON:C A. TER I '-AL IS OPERATIONAL
E. '[SSAGE RECEIVE RFAD A LE FRCM AT LEASTCNE BUS
C STATISTICS CCLLECTICN IF ANV
TEST F Q NCISE HITSC
I w TQ =AT lQ 1 t1 0 ', . .5
1 T L ( A T I ( )-(I TP-10 0 0 00 ) /I -.
MGAT ;1 )-(TATC, O 1,O. -( I TLIC'00.).5
C NO RESPOSSE IF HIT ON 9OTH SIDES OR TERMINAL DOwNc
II( (IHTR.GT.C(.CR.(IHTL.GT.T))N SGM=NuSCM*1
I f( IOK (I TRM) GT .0 )R TURN
c OK - GENERATE RESPONSEC
ATAIE(1)=T .- RNAT(TA5S tlTPM),T VAP(ITPM)1ITR')ATAIE(2)z3 0. ITPAt.V 1(5) 'SC* ILBUS.TC)C . IV US.1C'OOCO.
CALL FILE(1)NSvS=NmSG-1A F T uRAA NT
141
Soa~jLT INE 'EVMA ( TP-)
P c'C SESES TUkINAL RESPONS.
I L D E I TC G N I J k.' I IIT ,FU , J I S ,NFIX (2 ) ,f Ix Z ,5 2 ) ICURC -C C / U , / , T P , R E ) T VAR ( ) ,N UMV (15) , 10 (1 5 1C' CN X ,A E S/ IRcSE
C N / TA'/,%MS5G,.NLNLNB, NTG.NSG
TE Q INA. MAS I SPON , C
I T- iA. 3 T - f, 0 0
L A, :. 3 - .l 0OOO.- IT11 . .
C COLLECT STATISTI S
S I X .. .I .C R J k T L . T 7 ) . NM S G NM S G*I
TfI T If REPCNSE EAOAbLEc
I (IHTQ.GT. 3.AN , .(I TL.GT.0 )GO TO 90cC
C KILL *ATCH DOG ON THIS MESSAGEC
x -A SGI C NT INuE
SN I N 0(A ,5,1 , 3 .1
CALL RMOVE(1,1)IF(ATI (?).E .100. G 0 T0 1REmOVE TEMPORALLY ANY MESSAGE NO. EVENT NOT .ATCH 00G TIMEREVENT.CALL F ILEM()
GO TO 110 CONTINUE
IF(J.EQ.C) GO TO 2DO1 = ltjCALL RMOVE (4FE('),3)
11 CALL FILEM(1)40 CONTINuE
CALL NXTMSG(3)0 CONTINUE
AETURN:C IPESEIQESE*1
IF(J.h, . )GO TO 11
AFTURNE %D
S BQCUT INE WATCH( 1 UM)
C .ATCH DOG EVE'IT OCCUAENCE IS FST
A9LISNED.
jil{ I MIR .61 . ,) .'T. ( JI'TL.G T.0) )N'SG .NM5G I
c rCCLLECT S ATISTICS ON NC Q ESP N E fP C TF MNAL
N T 0 NT 0 1CALL NT S6TCI
Ti TAN
14?
SUOCUINE NOISES (IN)
PPO CE S SE S NOC'I SE E V EN4TS AN 0 SCHEDLE, NEXT Nfl 1S E EVET A.CC DURAT,0N.
INCLUDE ITC ("q N /MUA /NNO ISE , NS bUS ( 15) ,S -EAN ( V A5 .~~A (1) SL NG 15) .S LWA
1( 15)C3llmON /'MUX'/ILPUS,IR9USCC'V-CN /STA l/NMSG'H,NL ,NX,'.9.NTO,N-SG
c NOI SE. E V ENT ST A RT
XOATV m(BC )I f( (X -LE -4 Q C. )O.x.GT C. 7 C AL L E kQQPU QI r x.E c.O .) y 10,o2.
M A R E 'iE RY E SS A GE ON 8 US F ILE 1) AS H I T
CCNTINUEI ~N F I N D 2 22 5 5 , 1 , 2 , 2 6I I . E Q.) S 0 0CALL RMOVE(I,l)C AL L F IL E' M
IC CCNTINUE
C MARK AND RETURN T3 FILEIc I =. F E ( 3)
IF(I.EQ.O) GO TO 20C A LL R m VE I ,)ATV Ib(3)%:AT-?CO (5) .1C AL L F I LE04(IGO TC 1 CC 1 CCTINUEGO TO (il,22,23),iN
N4L-NL-1GC TO 30
22 IFBUS=IRBUS.1N D.Nf .1GO TO !C
1 E ~BS zIP E US -13C CONTINUE
I F( ( .LOUS.GT.C).AND. (IRFUS.GT.21),B)ONg3.1C ALL STAll IL3US *lP~uS)
NOW FOR NGISE TERMINATION EVF1NT CREATI0ON
A T, N . NX(L %'0,SLVAP(NNO) ,NNC)
A RIB~ 3) =NNOCAs.L FILEM(l)
NEXT NOISE E4ENT(THIS NU-bfR)
A'; E(I zTN'--NXT Sml,,.%NC ,SV0ARNNC) ,NNC)
A 1; 1L ( I)=
ALL. -N
Q F T jAN
143
S;VCUTINE NOISFT(1 N)
c
c PQ CESSES N. ES TR-:NATIN EVtNT. E'QV.' NE FV ',IS) V VN'C 5S(SCS).
INCL CE ITCC (,N I-U ' NNOI E .NSBUS (15) ,S [AN (1 ) ,SIVAiV(15) .SLN ( 15) ,S.LVAV
1(15)CC~VO, /IJAS/IL'UJ,IRUS,
ENC NC ISE EVENTC
I LtUS I L US ,C IC TC 101 VUS=IpojS-I
I C 10
IL U S= I L VJ -1
13 C:NTINbEC .u S'N1( LVUS IVVuS)
VI I..I%
FLNCTI N Q NIT E N, P A , ST P )
uS 1%1 G UNF 9 D E 'E A %NLBEP T ADD TO TNO0 GIVI NG NEaT
EVENT TIE. ST ' S AS UED ANY POSITIVE INTEGER.
IL " (: I , 5 ) o
*A I I. =VARQ
S T % U" XTL I
S ,-NLT (NE TRuP(ITN)
E , ST A Im ES Tt INAL kFCCVEV F 0M FAIL C DE
C r N /r u A /NT Q TRE S ( P ) ,Tv A.. (1 NU ,V(15) V IA K ( 15)
I (r I TN) I , ( 1I N -R ETuRNE'.0
G u t NE R1DN( T)
EST A LV:,E0 TE k NAL FAIL' RE.
I%(CLL E I1
C C C N /- uA I 4 . T T, A N T V V V ,1 U ) V AL V T ( 1CO i ) ;N (".AIT.N) oi .V*(')NUA(15 '3.
C NEX EO.N AiPV
A T d ) :T % k.N ( TT F A ( I TN) ,T wA ( ) I TN
C-LL F:L ( )
% A,..; AL u P fVEI C (CLL C NrX T
A N, r,( ) x.7N T FL %I TN), 'LVA ( : TN) T -IN)
C L L IL C()
*F T J ,,
144
S L C. L;IINE D mAR IV I1
P ,)CESSES DEA.. -SSAGF 4ARIVAL AND SCHEDULLS NEWT DEMAND -ESSAGEA ORI VAL.
I % CL 0 E I Y
0 f A P4 MESSAGE ID HAS ARRIVED. PUT ON QUEC
A TAR1 1W I) TM 3 , iD MA T R (6 ,) I DATR16b C) .TNO.
C SAVE LENGEm,,ES'A,.E NUMEA,ARIVAL TIME ON ;UE
C A LL r IL E M( 2
N CA T D.M 40. 1 Dm
C AL L F IL E(IRC~TURN
SUBROUTINE OT~iT
L OuTPUTS NON-GASP INFORMATION AdOUI THE EFFECT OF RUS NOISE.
I%CLUDE ITCC'v"QN /MUXPE'j IRESECCMMO)N ISTAIIP..'SGH,'yL ,Q, NO,NTO.NSG*.iTE (NPANT .100) I;ESE
11c FC;%ATNU-EER OF VALID READABLE RESPONSES LOST TO TIMEOUT '.,19)* 1 7 E (NP A N 7*1 01) NTO
101 FORWA7( NU-BER Of TIMEOUTS -'.19).*"ITE(N4PRNT,lCZ)NL,'4A,NP
1C2 FOQAT eONu'EDA OF HITS ON LEFT SUS -',I9,l' RIGHT BUS =*,19,2 ' cbOTH BUSES =I.1..cITE(NPNT.1C3)NmSG
103 FCRM4A7(*TOTAL NUMBER OF 14ESSAGES SENT =1.19).0ITE(NPANT,1 -4)NMSGH
I-,. Ff'AT('GTOTAL NUMBER OF MESSAGES HIT ON AT LEAST ONE BUS -',19)AFT UR%Eko
145
FORTRAN IV Simulation Example
0 ~r Aj LL . 0 Az LE AN~: PAARAM'E
N C; Cl % E 9 LE , E A A L E E
E V E L QQ~A U "~ ESG
. . . . . . . . . . . . . ..A . . . . . . . . . . . . . . . . . . . .
JO -F -^ EU LEN I C P ESALL ALN
0IS .
c 1E:AN SE;v Z5 11E Of "EjSG
-LE S UL TC % '
.* .'.
146
..........................................
CC TIME OP NEXT SEQvICEC
C*T I F NEI E A2TU
cT
C
C ~~YT CLAC.C £YT E CLOCK
CALL RAN (Nk)TONAv -EXPA.AL0G(;)
2CO CONT:NUE;F (TCNA .GT. TST) GOTO 460ASSIGN 10 TO EVEPT,F (TONS ,LT. TONA) ASSIGN 2 TO EVENTF (TOND .L
T. TONS .ANO. TOND ,LT. TONA) ASSIGN 3C '0 EVENT
GO10 EvE NT(IG , 20, 1I,- CONTINUE
CALL AIV AL(TONA,TOKS.CLOC,TOLQC ,1,T I CFSSO L,EVPA, )GOTO 200
-2c CONT!NUECALL SEVy TONS,TONDCLOCK.TOLQC.IGIFSSOOkSOSTExDS.N)GOTO 2 00
3': CONTINUECALL DCEA;T(TONO,TONSCLOCX:G,:FS)GOTO 200
4c CONTINUEC................................................................ .............
CALCLL ATION 0F AVEACGE ^.UfUE LEEGTW(AVQL),AVENAGE3 ERvICE TME(AVST)
AVQL= SOOL/CLCCYAVST SOST/CLCCKSSOCT- SSOGTAVOLSSOST= SSCST-AVST
.-XTE(t.3) AVQLAVSTlC: CCNTINUE
C CALCLLATICN Cr AVEQXAE UFUE FOP
ALL RUN,AVE;A;AGEC U 'I L Z 0 %t f CX A LL ; ON k " .Av EA GE TMPEf F w ESSAG !%~. Esfy9C ALL.A
A d 4L~ !SOCT / 1^,:.Av T: !SOST/ O .
.~~~ ~ SC Lc')AC A|lCA ,// //f,Cx,'SI . . A !T O N 5 T A I S'' .5 )
FOXA ( *5J,'AVE -UEUC ENOT Cx' LT:LIAT!CN'
* XV LT C C' ~ , ,'AVE GEuE LENGm', fOX ALL -UNS *F,- ,'I AV E IL AT1ON F r; A L AUNS F
147
SUF-ROUTIE AQIVAL(TONA,TONS.CLCCV ,TGLIGC,!.,T! ,IF.SZ.LEA- *%)CLOCK- TONASC;L- SOrL* (rLOCk-TOLJ.C )*XQTOLQCS CLOCK10~ - IQ I.
CALL RAND(N.R)TONA a CL CC K -(-E XPA -AL OG (RI~ F(IFS .',E . C .0;. * GT. 1) RETUP%TON~S- CLOCK
RE TURN
SLTROuT IE SERV (TONS TO~NSCLOCK ,TOL'-C IQ~,I FS, SOOL , SOST 7 EwPS N%)CLOCK2 TONSCALL RAND(N.R)SERVT. -EXPS-ALOG CR)TONC- CLOCX.SERvTS05T. SOST.SEQVTSOGL: SOGL.(CLOC'.-TOLCC ).ZQYOLQC- CLOCK12- 10-1I rsa 1TONS8 99C
RE TURNEND
SU=.AOuT INE DSPAR T T0140 ,TONS CLOCK .IQ , SCLCCot TOND:F (I; ZT ) TONs CLOCKTOND: ;9;49.
E TuRN
K-PAL 31N( BAND(NRN- N.E
is N-0. 9 'N3 1.3 5 73! 3 37.
EN%
148
SIMSCPIPT II Simulation Example
...,; ........ . . ......... ....... ..............
S;A $:N -L E LEU ES , NGL- $E ;vC 'E L S Ass5EL N :AL' :TTR s.TED Tk -EAP 5 AN; SE P C E ~ E I
- * E * N C ~ c E S I C Lw DE A Q A v L* S~ u A Tt ~ L
3A Y E %T 15$FE E ' SAGL VC T ELON SN1 THE .UEJE
~EF %6 S.IEIE QUEJE.CmANGE, S '-.UEuE AS vA;IA.NE SATUS AS A INTEGE i AR1S PLE
D E NE TCAL.ENTR V AS AN :NTEG ER VAPI 1,LE
'4,o S Y S7 E 0.NS THNE QUEUE
T AL V' AI. oEUE A$ T H MAxIrUM OF N.GUEUE
AC CUMULAT E UTIL IZATION AS TE AV j AGE CF STATJS
E C!SL N. ADVII XCETALF( ,) IU:
SC.5EUU A STOP.S!VULATIOC, IN 8 HOUPS- S T T SIUL A T ION
E ..0
E4FEsT A;SAIVALS C EU L A AQQI V A i I N EI P CNE:i. TIA LF E S N
T STATUS EUS' 0; N.UEJE ) 1*
LE I S u., E U S S U-. ,-U EU E" >E .v* " --.- UE E %G; .'E jE7 -I
v 'ILLE E SS1.G E I~ KaU E UEL ET TOTA.j\ TA T TkAL. ENT Y1
L E7
'uE uL.-CNEA .I T A E 1
'A LE" S L= CE.'I'C, E; C"%E'.T;IA. (L.,!
!-. C R~,L A. 'A " '' . j\, 'EAI *. " 'LT.S L E r;L; S E V I~ EU11E T.S.
7 T iT 7ST TS S
- ......,.
149
E ~%' TE 0A> u
*E' SIA 1TA1 :0LE
REOvE FIRST ESSAGE QU jP
1 9ESTDO ESSAGE
E T SUM t;N E U f VE. UE TI (4.-1/ 4 UE.U!E)C -A%.E
Q E 0 IAS ESSA r m UE~ E A E.T
D EV STNT 0 E S S TTA G EUT WL D ,LE ".' DE A TNE1% S R TL . il, MI U EL LET AVE. .UEUE.LENCGTbm SUM. ULUE/(T"E .V. 1
/44.)
SK 1 1) 5 L N ES PA ,14T 7 L I NE .T, AVE. QUEUE LENGH T IL:*T1ON.IAX .. uEjS
7 AND TOTAL.EN7PY THUS
5 U LA 7 1N SST A T 7 ; C S
U T L I ULJ AI CI *.* IIINUT*
t 3A .NA 'ISA. N oP
'II
150
GASP IV Simulation Example
) PAIC
CfCI~CMI A)J L EJVN N EF N) ELE C~C S F I
N 7 / ( c~ "7 A ; C A M F E 7 )A P L (2 ( 1 IS C, r
CNNEQC.NNL S,.NEGi ,SSC) C)L ()LiFU ), N0AIE5LLCSC NCENAP IGCC , IA ANN A N % F I %N N ,5 t. I iES LLER .L SA, LLSE PAT (PR0 1 LA S L T SA VCN 'OQ /G M / C'NLE(Q0) NML 4E(2N) ,MNG(2) ,ICRD C A ( ) .JCET
C AnC (2).2) .LLA FMH2 2)LLA P( I I *L L A2 2 *LL P ( LLP LC L L P) L . L , L L S UF ( 1 !) ,L L Sy 1 ^,( ) M 'PF7 s, N N C L (2 % C L. 7CL , N. N- N P L .i , N N 1 C ) N % S TA ,N V AR P C ) , P PM I , 0 ) P PL 0(1 C)
CC -- 1CC C' I IIE V , 11SED ( ) ,JJSE JJCL , M 1 MPO ,NNAME ( 1) NCF,:,NDAY,NNP .NNS[ ,NNPRJ,NNPR ,NF.RFS,NRUN,NF.CTR.NNF ;,SS(EC (C)
C ''/CC 6 F N IOC) , I I% (ICC ) KKPNK(iOO),M-AXC (IC) .C G C (.17).,SSC& v C25.5), S r;A(25. , ,VVNO Ci C.
S S
1. LLDE T
C I 7ALI( CA PL R EL EA VALUf DP AND PkIN Lr VA LUf ,NPCN
.......................S... [ ILL C.................
NT CA DR'S
N. P PR . tCALL GASP
S1,6POL71NE FAN7S) Iy): '-C L ,IE I '
E. V tvK I ARgIlVAL -ILL OCC~UA.
7 b It
SLEC
SF T
C A It L FI.
A P
C H E L L LE E l y I E
c A
S E ' Sj CE F A I AL I SA.
E )CA E xI S ! A C, E
A A~ I I
F L P S I L I E V 5TA LN
. .) % ) .5 . . ......... ........ . .~ .~ .E~ .) .C . ..
C A L L
.....oo °o... .. .. .. . ...... ...,°,°o .° ~ ...... o........ ........... .o,.oo
.I . I ! 11 1 1 .I .~i .I ..~i ii.ii i .I .i . .I . .. ... . . .. .. . .. . . . .. .
. I I. it 1 . .i . i. . .i . . . . .. .ii . .. . ...... .... .... .... .... .... .... .... .... ....
J A% :1: : C
. A..'AA..
IN:
L''AE', (,-j'A ,. V:NF:L:
.. .. . .. . .. . . .'.. . . .o Ao. ° . . . . . . . . . .A;.. . . .:... . . . . .
. .. ... .. ... .. ... .. ... .. ., . I
. ... .... ... .... ... ... ... ... .... ...i .... ...
I r3
*o Ol 0-
4C .4 -
a> Idz
E
In Ing
L. * 4
-4 6" 11) 00 0- 0vi
V1,a ZIL
L" w (fXo
-~M Wa i.0
0, Z *-
(S --,
aL 0
Plotting Routinf-s
D Ir'NSI N w.uE(IC ), USED(1O2), FREE(102),TI E(IO1 )I.,= 1 (, C
XMAY -I .E 3,DC 1 I1,1C ,11:1-1
TI (I ) 1 . * 1 1X A11 AM A 1 ( XVAX ,T IME (I))C CNT IN LIEDC 3C 1 II 0RF A ( , 5) U!E (I) ,USEC (I), F EE (I)5 FCP"AT (1 x,3E .4)
CC NTi1L EC LL C TIvEFREE,N,X1'A ))CC 'C I 1,1C(Lw I TE 4 0) 1I,T I mE( ), jE (1), uSE D( ) F kE E(I
4C F0RMAT (2x, I ,4(5x,E -.4))' C CC 1' T I U F
S TO P
E ND
St L F [ITIF N P D (x Y, YY I, N y A X
vcrF, .7N
xS -11 Z = .YS2~c.
CALL PLC'TS (YSZ ,YS2 ,CI)CALL L I.WT(-)CALL PL T(I.,1.,-3)CALL rPLC'T( XS ,L 0,CALL PLO (0. L,YSZ ,2)CALL PLT(C.L,C.0,2)CALL PLOI(XC(kGYORG,-!)X CC 0 =IYCOD:
c.
KZI
CALL SCALE (AX (K) ,XCCFR,N, )CALL S CALF (YY (w) ,YCCR,N,I)K 1 = N1
CALL A I 5(G.,.,0.C,5HFREF ,'Y~CC'R ;'.YY(N,, YY(N2,)
CALL LNEwT(L)CALL L E ( x(K) ,YY() , ,1 ,( ,12, .7 )CALL FLQrT(0,.L,C,0.C-,)C fI E E R Y N1 Y
C A L
REFERENCES
1. Calhoun, M. D., "A Study of two Avionics Multiplex Simulation
Models", USAF, August 1979.
2. Multiplex System Simulator (MIXSIM) User's Manual, Contract AFAL
F-33615-73-C-1172, Harris Corporation, Melbourne, Florida, June
1976.
3. Shannon, R. E., System Simulation, the Art and Science, Prentice-
Hall, Inc., Englewood Cliffs, New Jersey, 1975.
4. Kiviat, P. J., P. Villanueva, and H. H. Morkkowitz, The SIMSCRIPT
11 ProgrammingLanguage, Prentice-Hall, Inc., Englewood Cliffs,
New Jersey, 1968.
5. Brown, L., "Simulation and SIMSCPIPT 11.5", Class Notes, CSR553,
MSU, April 1980.
6. Pritsker, A. A. B., The GASP IV Simulation Language, J. Willey and
Son, New York, 1974.
7. Computer Science Department, GPSS II Programmer's Reference, HSU,
November 1978.
8. Sigplan Notices, "Preliminary ADA Reference Manual", Volume 14,
Number 6, June 1979, Part A.
9. Kosy, D. W., The ECSS 11 Language for Simulating Computer Systems,
Rand Corporation, 1975.
156
10. System Modification Design Data Manual, Volume II, Contract AFAL
F-33615-73-C-1172, Harris Corporation, Melbourne, Florida, June
1976.
11. Multiplex Simulation Design Study, Contract AFAL F-33615-73-C-1172,
Harris Corporation, Melbourne, Florida, June 1976.
FILM
DI