661 an interactive pombing m ission simulation 1/2 … · -r124 661 an interactive pombing m ission...
TRANSCRIPT
-R124 661 AN INTERACTIVE POMBING M ISSION SIMULATION WITH COMPUTER 1/2GRAPHICS INTERFRCE(U) AIR FORCE INST OF TECHWRIGHT-PATTERSON RFB OH SCHOOL OF ENGI. M J 00CI
UNCLASSIFIED DEC 82 RFIT/GCS/MA/82D-4 F/G9/2 NL
mhhhBhBhhhhBhII lfffllfBBBlfllffllfmhhhhBhEBhhhhIIhllllllllllEIlfllflflflfllflflfllflflI ... lmmmmmmhhmm
I , I
IHI:1 11- I'__ w
u L2
Li. 02.0
1t.25 1.1 1.6
MICROCOPY RESOLUTION TEST CHART
NATIONAL BUREAU OF STANDARDS-1963-A
I.7,
. . . . . .
!...-- -.-- ;. ..:T-,-: :.:...- .- . .-. .. . . . ... . ... .. .. ... . . .. .. . . . . . . . . "
D3.
_________TIC-This document hcis been approved E L ECT E
Ifor public release and sale; its* Listributionl is unlimited. F~ FB 2 2 1983
DEPARTMENT OF THE AIR FORCEAIR UNIVERSITY (ATC) A
AIRFOCEINSTITUTE OF TECHNOLOGY*LUj
p.A
W right- Patterson Air Force Base, Ohio93, o,%4t
.1
C A EL 2
,eELECTE f~FEB 2 2 1981
bes avila l*copy.
L'L
-.
ii
r,[ ..e ,nt.< t o t , 7 , c,,i tyv c I t e c-, oI c fI r n ..' )
-l r t ,o s i t ;it f c p o v
; re .... lts fr th I crc , of
ot' tr
.' _ L l__rstj
P k-.-',i .I i iwi 'i"r/n.... --
"' .. t
[Reproduced rmm,
Vail
This report is the result of my efforts to design,
implement , and test an interpc tive flight simulation with
graphics interface for a bombing mission program used by
analysts in the Avionics Laboratory, Air Force Wright
Aeronautical Laboratories. The document is written for
readers with some knowledge of computer programming in high
level languages end interactive computer graphics. The
design and analysis is documented using the SADT approach .
The software is written in FORTFANP and the graphics Pre
accomplished using PLOT-10 software on a TEKTRONIX 4016
terminal.
I wish to express my appreciation to Professor
Charles W. Richard for his support and guidance throughout
the development of this project. Thanks also to Fr.
William K. McQuay of the Avionics Laboratory for offering
the thesis topic , then following through on its development
and implementation. Finally, I wish to thank my wife , Ann ,
for her support and understanding throughout this project ,
-.... J ..
. . . . . . ...; .
graphcs iterfce fr s ombig mision prodrmuce d fro
-. ,.
CONTENTS
Page
Pveface. . . . . . . . . ............... . ii
List of FiguPes. . . . . . . .......... . . . v
Abstract . . . . . . . . . . . . . . . . . . . .vii
I Introduction . . . . . . . . . . .. . . . . .
PPOblem Description. . . . . .. . 3
Thesis Objectives/Approach . . . . .. 4
II Simulation and Modeling ... . . . .. . 6
III Systems Specifications .. .. .. . . . . . 14
Pr e-Simulation .... . . . . .. . 15
The SimulatiOn . ... . . . . .. . 16
Post Simulation . . . . . . . . . . . . 19
RequiPed Functions. . . . . . . 20
IV Software Design and Development . . . . .. 23
Description of SADT . . . ... .. . 24
System Design ..... . . . . .. . 28
Algorithm Design ... . . . .. . 36
The P ogram/Code . .. .. .. 38
Data Structures . . . .. . . . .. . 41
Implementation .. .. . . . . .. . 42
V Testing and Verification . . . . . . 47
In General . . . . . . . . 47
The Simulation.............. 50
VI RecommendatiOns/ConclusiOn o o .. . . 57
iiJ
CONTENTS (cont'd)
Page
VII Bibliography . . . . . . . . . .. .. .. ... 60
VIII Appendix I Equations . .. .. .. .. .. 61
Ix Appendix II SADT Description ... 66
X Appendix III Data Dictionary . . . .* 79
XI Appendix IV User's Guide ......... 112
iv
- LIST OF FIGURES
FIGURE Page
1. A Comparison of' Simulations with Real World . . 8
2. Box/interface Arrow Definition . . . . . . . . 25
• . 3. SADT Arrow Conventions ... . . . . . 26
4. Node AO from Project SADT Description . .. .. 28
5. Process Aircraft Related Input/Output . . . . . 30
6. Node Al . . . . . . . . . . . . . . . . . . . . 31
7. Top Level Flow Chart . . . . . . . . . . .. . 33
8. Do All Pre-Simulation Tasks . . . . . ..... 34
9. Execute Simulation . . . . . . . .*. . . . . . 35
10. "Top" of the Subroutine Tree Structure .... 40
11. Defensive Display . . . . . . . . . . . . . . 45
12. Offensive Display . . . . . . . . . . . . . . . 46
13. Theta Measurement . . . .. . . . . . . . . 64
14. Node AO An Interactive Bombing Mission
Simulation with Computer Graphics Interface . . 67
15. Node Al Process Aircraft RelatedInput/Output . . . . . . . . . * . . . . . . . 68
16. Node All Process Pre-simulation Input/Output. . 69
17. Node All Analyze Graphic Terminal Inputs . . . 70
18. Node A112 Modify Aircraft Parameters . . . . . 71
19. Node A12 Process Simulation Run Input/Output. . 72
20. Node A121 Analyze Graphic Terminal inputs . . . 73
21. Node A125 Generate Graphic Displays . . . . . . 74
22. Node A2 Simulate Aircraft Mission . . . . . . . 75
v
* .* __ _ _ ___ _ _ _
LIST OF F;GURES (cont'd.)
Page
23. Node A21 Compute Aircraft Status . . . . .. 76
24. Node A22 Compute ECM vs Radar Effects ..... 77
25. Node A23 Compute Weapon Effects . . . . . . . . 78
A-1 Defensive Display . . . . . . . . . . . . . . .121
-i A-2 Offensive Display . . .. . . . . . . . . . 122
A-3 Control Characters . . . . . . . . . . . . . 132
-vS
.°-
" vi
P.FIT/GCS /FA/e2D-L
Pn intertctivc fl ght simuliption with conputer
graphics interface was designed usinv top-down structured
analysis techniques. The project converts a passive
bombing mission simulation used in the Avionics
Laboratory, Air Force Yright Aeronautical Laboratories nt.
Wright-Patterson AFF, into an interactive, real-time,
man-in-loop simulation. The design was documented using
SofTech's Structured Analysis and Design Technioue (SADT)
then coded in FORTRAN. The graphics were implemented using
TEKTRONIX PLOT-10 software end the system operates on a
VAX-11/780 computer coupled through a TEKTRONIX 14o
terminal .
vi
[ivii
. . -v - - - - - - -~.-. i - ~ * ~
AN INTERPCTIVE BOMBING MISSION SIMULATION
WITH COMPUTER GRAPHICS INTERFACE
I Introduction
A nation's success or failure in a conventional war
is ultimately dependent on that nation attaining and
maintaining air superiority. To attain air superiority
requires the capability to effectively penetrate the enemy
defensive system with tactical and strategic weapons.
Manned bombers comprise a large percentage of both tactical
and strategic weapons. Whether a bomber will effectively
penetrate an enemy's defensive network and destroy its
planned targets is determined by a combination and
interaction of several factors. The first, and most
critical factor is the type, number, and planned use of
electronic countermeasure equipment. Next are the
aircraft parameters of airspeed, altitude, and approach
heading relative to the defensive system. Since
intelligence data is seldom perfectly accurate, and what
was true of the enemy system yesterday may have been
changed by today anyway, another major consideration is the
pilot's skill, intuition and reaction to the hostile
environment as the mission develops. Uncontrollable
elements make p a o, .,th category. Weather, such as
thunderstorms or Jeav1 precipitation, is notorious for
producing unusual returns on radar. These effects may also
"J -
hide radar returns which normally would have been observed.
Chance also plays an untold role. A jammer might indicate
on in the cockpit, but actually not produce a signal, or an
enemy SAM system may not fire due to some malfunction.
Clearly, with this many factors to consider, and with
the innumerable potential combinations and interactions
among these factors, it is a complicated problem to
determine the overall effect of a change in one, or any
combination of the input parameters. It obviously is not
cost effective, and in many cases not even possible to do
inflight testing of each parameter adjvistment in order to
optimize the mission profile. The Analysis Group attacked
this problem by using several different simulation programs
to analyze the effectiveness of various electronic
countermeasure systems in use by the U. S. Air Force.
The mission simulation programs, called the Avionics
Air Defense Evaluation Model (AADEM), currently used by the
Analysis Group are written mostly in FORTRAN IV, with some
routines written in updated versions of FORTRAN. AADEM is
run on a Digital Equipment Corporation VAX H1/780 Computer
System. The programs reouire that the aircraft flight path
be defined completely before program execution. This
requires that all aircraft events such as headin,
airspeed, or altitude changes, electronic countermeasure
(ECM) configuration changes, and target selection/weppon
4 firing must be predetermined and formatted as input to the
various simulation programs. Pn error in this input data
2
results in an invalid simulation run, which may recuire
several days to locate and correct the error, reaeneratc
the input deck, and rerun. Also, in order to make only ore
small change in the mission profile recuires that the
entire input deck be reenterred with the modification.
Problem Descrirtion
Because of the above limitations, the Avionics
Laboratory requires a flight simulation of an aircraft
penetrating an enemy deployment of surface-to-air missiles
(SAM) and anti-aircraft artillery (AAA) with the capability
to simulate interactive "pilot" actions. Ideally, the
program should process an initial predefined flight path
using the same routines currently in use by the Analysis
Group. In addition, it should give an interactive "pilot"
the information normally available in an aircraft cockpit,
in a graphical format, and allow for modification to the
mission profile in as close to actual time as possible.
[Fef 1]
With this type of simulation program, the analysts
will be able to produce a test environment which parallels
an actual flight much more closely than the passive
simulations currently in use. Also, any errors in the
predefined flight path can be corrected by the "pilot"
during simulation execution, thereby reducing the amount of
time needed to obtain a valid test run.
. -..
Thesis Obiectives/A--roch
The approach was governed by two conflicting ideals:
We wanted to implement and test a model rather than merely
design one. However, to build a complete bombing mission
simulation is too large a project for a thesis effort. The
compromise was to be satisfied with only partial
development of some aspects of the simulation. The
particular details of these compromises follow.
Using software engineering principles and technicues,
the simulation was structured into modulps, with each
detail in its own module. In this way the modules can be
enhanced later to whatever degree is desired. In addition
to the modeling of a bombing mission, this project uses
TEKTRONIX PLOT-1 [Ref 2) graphics to interface with the
"pilot" and thereby furnish the information normally
available in an aircraft cockpit. PLOT-1O rather than Core
Standard [Ref 3] graphics were used not by choice, but
because no Core Standard package was available on the
Pvionics Laboratory computer when this project was begun.
Modular design with a clean graphics interface will make
translation to other graphics routines straight forward.
As partial justification for my approach to this
project ] offer the folowing by Robert Shannon, author of
many books and articles dealing with computer modeling.
The approach to the successful buildingof models Pppears to proceed on the basisof elaboration and enrichment. Onebegin s with a very rimple model ndattempts to move in an evolutionaryfashion toward a more elaborate model
i 4
that reflects the complex situation moreclearly. Analogy or association withpreviously well-developed structures
appears to play an important role indetermining the starting point for thisprocess of elaboration and enrichment.The process of elaboration and enrichmentinvolves a constant interaction andfeedback process between the real worldsituation and the model. There is aconstant interplay between themodification of the model and aconfrontation with the data generated.As each version of the model is testedand attempts to validate it are made, anew version is produced that leads to aretesting and revalidation. As long asthe model is computationally tractable,the analyst may seek further enrichmentor complication of the assumptions. Whenit becomes intractable or cannot besolved, he resorts to simplification andfurther abstraction.[Ref 4: 19,20]
Some of the design work of the interactive graphics
for this project was done by Capt. Randy Krause as his AFIT
thesis in 1978. [Ref 5] Since Capt. Krause's design was to
be implemented as a time-shared job on the ASD CYPER
Computer using a CDC CYBER GRAPHICS terminal , several
modifications were made to his design. His work did serve
as background for this project, Pnd as a reference against
which to cross check ideas.
In the next chapter, the fundamentals of simulation
and modeling, which served as the cornerstone of my
project, are briefly discussed. This chapter can be
skipped with no loss of continuity.
II Simulation and Mcdeling
The fundamental concept of systems analysis is that
changing one aspect of a system might very gell change, or
create the need for changes in other related, or seemingly
unrelated parts of that system. As man-made systems become
increasingly large, and the interrelationships of the
subparts become increasingly complex , engineers and
planners have a more and more difficult time predicting and
controlling the outcomes of various inputs. One very
useful tool in helping to observe the outcome of various
inputs, and thereby improve the understanding of a
complicated system, is computer simulation.
Simulation is the process of designing a model of a
real system and conducting experiments with this model
either to better understand the behavior of the system or
to evaluate various strategies (within the limits imposed
* by a set of criteria) for the operation of the system. To
simulate, then, is to both construct a model .hich
(hopefully) accurately describes the interrelationships of
all parts of a system, and then to use this model to
predict the effects that will be produced by changes in
either the system itself, or some of the methods of its
operation.
Three methods of studying a bombing mission are
' typically employed : digital models, simulators, an3
... . . .. . . . ." " = " " : " " " : "
'-_, - - - . / . . .:. . ,- - , ' . -. . -- _ " .- - , i
flight tests. A digital model is another name for a
computer model dhich usually has all parameters and events
established prior to beginning the simulation. A simulator
is a computer model dhich has a man-in-loop facility to
incorporate dynamic inputs and changes as the simulation
progresses. It uses hardw4are and realistic displays of
actual equipment to simulate the real dorld system. Flight
tests involve using real aircraft dith simulated threats
and defense systems dith associated operations performed in
a controlled environment. In choosing .hich1 method to
employ the analyst must evaluate several advantages and
limitations.
It' s easy to see that digital models and simulators
offer much stricter control. than can be achieved with
flight testing and it is much easier to make configuration
changes. Computer simulation is also considerably less
costly and requires less instrumentation to collect output
data. Simulators are an obvious improvement over purely
digital models since the human interactions gith realistic
simulations of ECM hardware and radar equipment enhance
realism. Put they still are limited compared to flight
tests since there are restrictions on the number of
aircraft, EC M capabilities, and real dorld interactions
- dhich can be simulated without dedicating more computer
poier than is typically available. However, these limits
are rapidly melting away dith advances in hardware.
Flig.t tests can do anything that a simulation car,K9
i -!'.
. .
if the analyst dill support, the cverhead costs required to
establish the mission profile. In addition , they carn
evaluate equipment, tactics, and operational readiness.
The advantages include the capability to use multiple
aircraft, multiple penetration aids, incorporate more real
dorld interactions, and thus a higher degree of realism.
Its limitations include tremendous costs in personnel and
instrumentation to collect data, limited control, fixed
geography for the test flight , and restrictions on th e
ability to alter the defensive structure. Figure 1 belod
summarizes the three methods of collecting system data
according to several measures of value.
'DIGITAL FLIGHT REAL
"____ ODELS 1SIVULATORS 1TESTS WORLDL I I I
IREALISr lMedium/low IGood HI HighestI :I I I
m CONTROL 1Easy Ea y Difficult NotII Possible
":I I II
,INSTRUMENT Lo -d Voderate High High
IICOSTS II III
DATA
REDUCTION ILow 1 Voderate High High
COSTS I Ia Ia
. I I I
1OVERALL L o .4 Hoderate High Very
:COSTS Hight TIME Days I Weeks V'onths. Year
!REQUIREMENTS! __
III I I
VERIFICATION Simulators Flight testIReal ,orldISOURCE 'Flight testlneal World'I Real Vorld _' __
[Ref 6:172]
"1 .. o FIGUi oRE IA Comparsion of Simulations dith Teal W'orld
: -. -1 -. . .. . .. .- . - , .'. . . . , .. ., :- .' . _ . . - , .- . . . .- . - - . ..- . - . . ... .- .._
An additional advantage of simulation is that it
forces the model builder to thoroughly analyze the system
and study the various interrelation-,s of the parts.
-dnipulating the various subsystems .hile building the
model often educates the builder and gives him or her more
and different ideas of potential changes to the inputs to
improve system performance. There is one more disadvantage
to simulation which is often addressed. As stated above,
the outputs of a simulation merely result from a
combination of the inputs, and the model builder's
assumptions about the real orld The outputs are always
imprecise, but it is difficult, if not impossible to
determine how imprecise. Since the outputs are usually
numbers, the number of digits printed may bear little
relation to the accuracy of the model's assumptions. If
the printing of the output is not carefully formatted, the
results can be very misleading to analysts unfamiliar -ith
the capabilities of the model.
Clearly, there are many potential advantages and
disadvantages in using a computer simulation rather than
direct experimentation jith the real system. Obviously,
direct experimentation precludes the problem of building a
mcdel dhich is not an accurate representation of the real
-dorld, and from it deriving false predictions of the
future. jiodever, sometimes, as in the case of a bombing
mission, direct experimentation is not possible. In fact,
Shannon gives six conditions under Ahich an analyst should
"i9
consider the use of simulation. Cf the six, the folloding
three fit this problem.
1) A complete mathematical formulationof h e problem does not exist oranalytica' meti'h !, of -,olvin( t hemathematical model have not yet beendeveloped. Iany .aiting line(queueing) models are in thiscat egory.
2) It is desired to observe a simulatedhistory of the process over a periodof time in addition to estimatingcertain parameters.
,) Simulation may be required forsystems or processes .ith long timeframes. Simulation affords completecontrol over time, since a phenomenonmay be speeded up or slowed dodn at4ill. Analysis of urban decayproblems is in this category.
[Ref 4:11]
The idea of a simulation to solve this problem is
initially appealing, and appears appropriate in that it
fits half of Shannon' s criteria as stated above, but to
keep it in perspective remember that a simulation never
solves a problem. A simulation is run ith a given set of
inputs, and from the inputs, and the criteria of the model,
it generates outputs. It is incapable of reaching a
conclusion on its own, but serves only as a tool to help
the analyst understand the behavior of the system and the
affects of various changes of inputs.
Now, if .e agree that a computer model is a valid
tool .ith Ahich to attack a problem, hod do .e go about
building one? Clearly .e must analyze the problem and try
to extract the essential features dithout leaving out any
critical details. Next, .e structure our set of essential
10°...........................
. .' . .
features into an approximation (possibly very crude) of the
real system. We then enrich anJ elaborate th1s
approximation urtil a useful predictor results.
Several sources list the following set of guidelines
to help an analyst design a model.
1) Factor the system into a collection• of smaller subsystems.
2) Clearly state the objectives of thesimulation.
-) Seek analogies to other models or
s ys t ems.4) Consider specific instances of the
problem.5) Establish some symbols.6) Write dodn the obvious.7) If a usable model results, enrich it.
If not, simplify.[Ref 7)
Simplification is the key dhich opens any system to the
model builder. For example, make variables into constants,
restrict the boundaries of the system and use linear
approximations. These approximations can be enriched and
the model improved after the first model is operating. The
bottom line is don't get bogged dodn dith details too early
in the project. Clearly, the standard approach to model
building is not to try one all-encompassing simulation on
the first attempt, but. rather to begin with a very basic
and straight forward model, and then enrich it as the
system becomes increasingly familiar to the builder and
user. Since model building is inherently an evolutionary
process, a computer model, even more than other computer
, software must be written modularly, with flexibility and
probability of change foremost in the programmer's mind.
. - ° ° ° ° . . . . . . .... . . ..
Considering that models, by nature, evolve, a "good"
model is:
I) Simple for the user, to understand , control,
and communicate gith
2) Robust , in that it does not give absurd
ans aer n
) Complete on important issues
4) Adaptive, and modular to allow for enrichment
5" Evolutionary, in that it should start simply
and become more complex, in conjunction aith
the user
It is not my purpose in this report to thoroughly
discuss all factors 4hich need to be considered dhile
designing and building a computer mod.' . I merely wanted
to touch on dhat I consider the most important.
considerations, and to somedhat justify m. approach to this
interactive simulation effort. For those readers
interested in more information on computer simulation and
modeling, I highly recommend references 4, 6, 7, and 8 from
my bibliography.
In closing this chapter, I present this "summary"
about model building:
There is no hard and fast. rule about hoAthe problem is originally formatted,i.e., how one looks at it in the firstplace. There are no magic formulas fordeciding hat. should be included in themodel in the form of variables andparameters, descriptive relationships andconstraints, and criterion for judgementof effectiveness. Remember that nobodysolves the problem; rather, everybody
12
solves the model that he has constructedof the problem. This concept helps tokeep the model and the art of modeling inthe proper perspective.FRef 4: 21]
With these .4ords of guidance, I am ready t~o establish the
project specifications.
%5 . . .
III System Snecifications
Development of this system, like any software
enginering effort, must begin by laying down a conceptual
framework for the project. Normally, the final user of a
software package will designate in considerable detail the
"°" requirements and capabilities for the proposed system.
However, for a thesis effort, it is more common for the
project sponsor to state desires in more general terms, and
leave the requirements definition and project scoping to
the graduate student and the thesis advisor. This chapter
will document the desired capabilities for the proposed
system.
The Analysis Group wanted a graphical interface
. between the "pilot" and computer built using a TEKTRONIX
4016 terminal. This terminal offers two modes of
interaction: direct keyboard inputs and crosshair
position/selection. Pilot inputs would be a combination of
menu picks using the crosshair capability of the 4016
terminal and keyboard inputs to further define pilot
actions when required. Output would be a graphical
representation of a Radar Warning Display, a praphical
representation of what the pilot could actually see through
the aircraft windows, and a block containing cockpit
instrument values and equipment status. In particular, the
following objectives were established.
1J4
I ',A
Pre-Simulation
In order to simulate an aircraft, a defense
environment, and bombing mission parameters, a number of
variables need to be initialized. The program would be
most flexible if all the aircraft parameters were
interactively alterable. This would in effect, allow any
type of aircraft to be simulated. However, in the interest
of simplicity we decided to make the flight characteristics
static, that is, remain fixed at their preset values, but
allow the ECM and weapon configuration to be interactively
alterable before the simulation begins. Enhancement of the
interactive adjustment to include more parameters will
improve the implementation. In particular, the following
structure will be used.
Preset Data
A) All aircraft performance capability (i.e. the
"type" aircraft is constant)
L) The defensive environment (input from an
Avionics Laboratory database)
C) An abort mission profile
D) A predefined flight path
Interactively Alterable Data
A) ECM configuration
1) Number of Chaff pods
2) Degrade factor for a chaff pod
.15
. 1.
,) Nur'ie r o f i n fr a- red fla res
4) Degrade factor for a fIa re
5) Number of radar j ammers
R) Weapons Load
1) Number of "Iron" bomb n
2) Number of "Smart" bombs
.)Number of RF missiles
4~ Number of IR mis.siles
5) P'robability of kill (PK) for each deapon
type
The Simulation
Interact ive Inputs
The aircraft do u.'d initially b e a lo . lv el
simulation only, to be enhanced as time permitted later in
the effort. The menu pick dould allow for pilot actions as
f ollo .4:
A) Turns
Ch ange d ir ecti on , at norm al or m ax imum r at e
P) Speed
Increase/ decr ea.e at normal or maximum rate
C) Altitude
Increase/ decrease , at. normal or maximum rate
D) ECM-selection
One/ allI
E) Pombing mode
R) esume pre-set flight path
6
* ~ in ision abort
In addition, the menu picks coul-i be further defined by
keyboard inputs to determine the folloing:
A) Heading Change
P) Airspeed Change
-, Altitude Chan g
D) Vhich jammer
1) Direction
2) Frequency
) Po wer
E) Vhich weapon
Which target
F) Simulation timestep- the time advance in the
mission before the user is again allowed to
make inputs
G' "Real time" factor - a means to accelerate or
decelerate the real-time aspect of the
i simulation
Interactive Out puts
In order t o simulate an aircraft dith an active
pilot, two requirements exist. Th e input data section
above addresses the means by ,hich the pilot control!! the
. aircraft. The other requirement is to simulate the enemy
th r eat n upon dhich iecisions an resultant action s are
Sbased .
The simulation feedback gill be ir four ;ar s:
4 '17
A) A computer gernerated !Radar 1Va'rning risp~lay
dhich includes:
1)a symbolic represen~tation of the highest
priority enemy threats (SAM sites , 'AA.
etc.
2)an indication of degree of threat based on~
rf signal strength and radio direction
finding principles
,)an indication of the type of threat being
displayed (track, acquisition, or laun~ch
m ode)
P At computer generated visual' representation of
the threat environment to include:
1. a symbolic representationL of SA.
-sites/type dithin the pilot's visual
capability
2) a symbolic representation of AAA
* -sites/type dithin the pilot's visual
capability
C)Tabulated instrument readings dhich display
actu-.al vs. preplanned values for the follo.4irg
aircraft/missior. parameters:
1) elapsed time (hours minutes :necond i)
2) true heading (degrees magn~etic)
3 ) altitude ( feet)
4) ground speed (knot )
5) fuel remaining (thousRands of pounds)
%'
r.
6) total fuel flow rate (thousand- of pound-
per hour)
7) position (latitude, longitude)
D) Tabulated listing of the following aircraft
equi pm ent! stat us
1) jammer name/on-off, frequency selected,
power, direction
2) chaff/number of pods remaining
) bombs/type, number remaining
4) cruise missiles/ type, number remaining
E) Interactive message area which will prompt the
pilot for keyboard inputs and display his
selections as appropriate (i.e. degrees of
heading change for turn, knots of airspeed
change, etc
Post Simulation
Since this project is an enhancement of the
capabilities of already existing simulation software (the
AADEM model) , the previous output generating routines
should be coupled to this project so that there is no loss
of already existing reports. In addition, a graphical
representation of the ned flight path through the threat
environment should be made available to t e user on
r equest. The generation of post simulation output. gill be
considered a low priority requirement.
T19
Reguired Functions
Numerous functions need to be performed in order to
, accomplish the tasks discussed above. Ir. general, the
N, capability to update all aircraft performance parameters,
equipment status parameters, and defensive site stat u s
parameters on a ccntinous time basJ.s will be required. Ir.
addition, several classes of functions need t, be
performed. These include, but are not limited to the
follo sing:
A) To support the interactive pilot actions
requires the following capabilities:
1) The capability to generate a menu of
potential pilot actions
2) The capability to interpret user inputs in
a unique manner,and to gracefully recover
from illegal inputs.
,) The capability to prompt for further
definition of pilot desires when needed.
4) The capability to modify the mission
profile so that the "aircraft" correctly
responds to "pilot" inputs
5) The capability to determine current.
aircraft positicn based on the combination
of preset mission profile, pilot inputs
and elapsed time
6) The cdpability to store, update end
display aircraft status parameters
20
*-
f' " - . _ f c bet ween t he ex i st in r. v i7,r. . 7,
Laboratory simulation and the man-ir.-IocF
simulation requires the following
capabilities:
1) The capability to interpolate aircraft
position on a continuous time scale as
desired from the discrete position vs.
time values supplied by the predefined
flight path
2) The capability to determine Pelative
position of the aircraft and air defense
sites on a continuous time basis from the
discrete data furnished in the defense
environment data bases
3) The capability to determine when either a
defensive site or the aircraft has been
destroyed
C) To generate the Radar Warning Receiver display
and the pilot's visual display require the
following capabilities:
1) The capability to dra4 the various
geometric figures which combine to build
the display
- 2) The capability to translate the X-Y
viewport coordinates so that the aircPaft
and threats are displayed in the correct
relative position
21
• - ~~~~. . -... .. . .-. :..". .. .. ,....-.....,..., : .. .," , ,'. : -' ,, ,- .. . .- :,. . _
3) The capability to update the display
periodically
The above outline describes precisely what this
system should do. The next step in software development is
to determine how the system will do it.
S22
-" '- -'- ' -" ' ' " " " ' : " ". -." " 4-:. .. - " .
* &
4,-, . . -
"- .' : -: . =" i , . . . - r.. 34- " _ - ,; . C " • ' i
" '-.t' ?4 I .. . . -" . . .,n: .s. - %:i'' 1 .C '- - .].0 Ii( . '. $'C:_[" 2-' .. .. > s. . .. 4,,;.
" -. .. f - ,j. . .n *ijf , 4 V' 1. , ' .. i
.- 'r ;'i r,; '. ,'' ;V.r:fi [ ' ' .ir 5 , "t',t( " -. -. . . )sri '- : '
t .,.. ..
4 . -" ' 'i . : / '
S i'- , . -
-. :< - ' 1," S ... . :'''" I--------------S 1:' '
"- i '. . .". : t . - ' ; } . : . , ,, " . .S, * .. -' . .
-- -. 2-
b~-o
---
..-..
.. .
oi : .. . r ':. -; P'eh .if,-:," c -,: <,, :,c~ vi:!.
.," f,;.c ic - ( o
-i 4- .- f. --' "' -:.
. " i , - f R : t .- !.: t v~ .- ;
:t,.4
q t..
.
:-. o : I r2--. - - .4 2 t ... .-. 2 t <;.i ( -,:,r:
"
-" - .. 2. r".2.. . 1 .: 0. >4 ... : t C / 0" c - - ir ior r.f tl C- " c I .T
-.)b 2', ." § s .":, -r e e 'c>'.r t v Q ;r cs. >n title }s ,-l -a
, , -2 . - ;' .-- ''7 . -' 4 ( ,r
.. -i -.: '< - <V "~ ]_ 4 /." ~ -
f.>' - OY
i3 (:-, ,.'r - :.- : ? : C,) r --, n " -r-t' i'.' .,i ''; r * 'r .P: -" '"
• / b : ? i ,.-_j l r C.
. . -" (. r"0 -o' .' 0 ' - -'.r. :'
C .,4
.
,-:i r ' " i"
c, r
1,
c) k
- I
[ I '..- . . . . .. ',
.7 .A
L' . !' ,.I i : .' " -
01 t v V o r tt' :/i.t . Tre /. '0 y:tis.q f._ f. , r .. n $
_,f' ,: 92 02 . /st .s. , :'..- .
}:'- ct <: " s. L3 , , I .. . -vtv 4,' , , . . r -' " . r .n k -; ,
<: rf, i o -r , o :t . in,'5' " "Of: .; r, t. sr' . ,- 'r 2b '- , r-
-,t3 .-' .: - . - c *,¢ ' : ' :".t- , :, V " ; ,: < i-ri ;} Y
B-lit- .-. ,,, t ;'' i4'
- -r ",
... oT" .r vc:Lc"T :. ",. c "ar o .O
4 -i: .: 4o ' : ." o ,- *' .:jjs' ,' 4 r- Yt', --: r tt
--O r, -- fir - , - Ii>~ ":;. 4 .\ S . ~ :r . r ' i
SL-..!
I /:\ _ __ _--". .
, .. . .. ... 1.,,' ... .. .
/ /I L./ /
I"(-r - r
r7. C,.
U U:' , ,- ' r -"r -. ,* ':e i s , ),:, 'tF, "i i ' t ,] ' . ' ,i ' -,-
.-.
£; ;.C. .." K4 -- . . V - I . '- 2' ." : '. ' .1 v F: r- '.,"v' r,
jf. l -1 -
. . ... . . . . . . ..
3 t i c , V-- t, - t
r. oo
r s
ny 1 ir Fir -
-- c .. .. ..
O-_. . V V I . to C or-. \'4
K ji ..... 'n . .. .. ' "i -+
' '- *. " . t . "i : 7.. ut", ~ -. . .... - .- . .. .. .- 1 i r fl f .:
t'2.. - - - - + , -
PI" " " : " : + .. ." '- - + "4
, .4 . . . '. . -. : " +. + .r " " - . .
L L ..-..
• /. .. .-
:' I, ,,--
%I?I "~
... , I /
I II I
I' i I
I I
I ~ I- -, --- '
.L L. ' __ ... , 1"t , r. I .. .i
t 4. :1 =
P . , P 7.7
1r
C-,4-
- - . ...
.,r
.. * , 5.-- - . - 4- - - 4
-~~ c If T ' , -
. "AI
!i", V r t4;A - !t- i -t
- . , 4- - > 4 .... . ! - . .
-- ~ ~~ ~~ i~ -c r - s r- -- f
;.'. , ;'.:- - '>t,4 r'Z -t. 4 '.- -: . i ;i -c-. Lrrs' , " "2'-,;) t
002L2Q± .( C._ t t Ah C . ant .1 r < . .
-l: ....
" i ". . ,t ,- ' ,C ... . U ' .- e. . :4.- . . 4 , f-,°] U) . -" ;
"" "I' 41 4. , ^ ',- --. . " - ",-, - - :' , : • " ? 2- *', •
.- ~-................ . 'A
'.4. 4- ''.
7.' .~*,.* 4-..
~ 4.,.'
.4.. .4\ ~
* 7'77'I.L .~ . - 17.. ... '. L
(Y~C~ ~t.Z0;., 774> is shc.; ~ ~C"".' ~.G '.~ "7 C..
72.. I
.4 7,.. 1.....'. - . I
.. r.
I Kr..
-.
/UC ..
4 ,. 4...____ _________
.4 .7 £ 7~~44.('* ..................................4'.
. *' 4
- 4i. 7.. 4-
~1,~7
(4~~ 4 ~.4
-.......- . ................. . . . .
i4 •
-. 4--.4
$ .. ".I
4 4 \ I.. . ..
.4-. , ,-. '. 4' 3 . < ':
"4 CI I I I I - ' '
I ~:z'-I' "I ', .' -I4
,-.',I I 4.
4'4 I I
I --
4 -."
I
•* 4
- . .4 4. . . .
-- - a a a,., a,. *, , a N
;..~ ..A .P ".~ d ;.-.*v at. a' a%' .. . . . N a. * a'. ' . N N N * ' N
rt~~zt ire cc ~jt"t~ ~r~i . '7;': ,-<4~
- N' 4- - r~ i r .±& r of t *'- <'~jj t~: :~?x 1< - .~ , -
4- . Li 'tV-ti 2-; .* -
- 4 -', *.rY C!'~ IL , j T"'C<' - -
- - -- N -- <-.4-- .---41
-N (,V <ff'' ;- ;- r -<
4 itt'
4. - N 4- -' -
~ . >Iij. ~-.'. ict:-jr' ><f tV.> !"'r; * *i- . --- N. -
IN,
/- - -N. ~ ~NN . 'N -NNN~~NNZ(
* * a *'~*~ -~~N..~N *-*, . N .a C a * *
START
DO ALLPRAE -SI MULA TION
* TASKS
PRINTNESULTS
STOP
FIGURE 71Top Level Flowchart
33
*-, . DO ALL-- .- -
1iE ADAADEM DECK
PUT TIME= 0DISPLAY
FIGURE 8Do All Pre-simulation Tasks
3"
* DETENMITE
44
INCREMENTExecte Smltio
35AT
.4%• . '1.. ; r
-. * -o
-a U
44.. .,. . .. . -. - ,.. .-
,.;_. " h .'i, "-.' ' "',-. .; ,., " -, ; . -- q t i : ' - ,' 'v
i ' , , " " ( . , 4 . , , -
• 72:i tI>.. :r- .. rc "''. ~ st ! :,r;;x t4.* . i "-
i " -o <.:_' :o t - .4. b -- r",sti-r t >,,, "4>,,
A.' . i , " 7 : , .. ., i ' i : o - ,. '- ..-. ,:
'->"r. , -r: -. .4.c'",.t -. ir" t':; i . r-n .. {..
7.... . -,., ! -......... ' ' i ,'r sItj~
4. "4.
*°,
.. , . , 4 . 4 . .C.. *C*. 4* . 44
p.,
-, f flc. r'-4w-.t4f ~.' 2-...C~r,'" 4.-
~., -
-. .
-- -
,.--..H2444 I. + UK
j.t +'!:A.
. vt~ rr:i. -4.'. 4
4i1-~ - *.-4 - 4
4'. + 4 4-
- . 4 4-. + - 4
4-2.
P'?-.r. 4: ~ "~ -r
1: ffi. 4 >r:' Li 4- ': . -,
2
- - fcc' 'lit ~E?~C" r , '. ;.scr sr-ct. ~ II
44* ~~4 ~
4JJ 4> -4..- tug,
2t 44 44.~4 ~ -~ ujf±.R± .. :~..-..'i., -'i..
21 ~. * Jt .~ ,4~.i.
1$ IT. '31-nlO (Li-
U 4 - m; :4 . .22>) t ''-I. V 2'~- 'G~' * 2' C ~CY'~il-
C.......- . -. 4... .- 1
-- - ) . K -. .. 4- V -.
it %-,'--''-n-'~
.4 - ., 1 4
.4. -.
4. , 4 -
- ALE-: '4. ''4 4, .4.
4$. * 4 4 .~. - - 4 4
4 .4... 4'.
4- 444~~ , 4 4.. - - - -4 - . -. 4.4 -- 4, .,
4 4 - . . . - 4 4 . 4 4 4
a. i~ . . . .
*a. a a., a a . - *~t. .* a .<1* . a a . , .
- Ut.
4:.4?
C , .................. . .
y - ci - - , tW r r. H ~. ': c I c 4-. '~ : '".
J.4 .4. - , -- -
4 44.~44~4 .- ,. ,.4..,, .,-, -:
4-... 4 U. -. . 4 a ~-' . - . ~
-, - 2 . . '4 '
t;Q
-. - .-. C 4. - . *. ... 20f. no''-
* ~. , -,:c:r.'-;~ ~ znr.J'~, t'-~- r4-r rrted nm :r-
ye24... . - 4-2 .... I. .~.! 44.44~ .4.. .4.... - -
4-v.4.4.. .
- - I -' . - '-P '-'I -. - -ry 4- -- r .' .- r.;r..-'.--r-.-rr' -r
.4... ,. ,. . 4 4 1.424. .* -.
.(A:..,., 4.,. 19.. 94 .. . 4. 4
4U - -- 3; ,t---. ~ , j
4 ~4. ~. 2. '~''.
q *~ rr-w -r. -' . - -- . . *. ;. .* -. .* -' . * . -. . -. . * .- * .- .- C- . - ** - . * ~. . * . * . .. * * * . . . . . *.
~4
I,.,- .4-,-..
-- -'..1. I.-. -,
S--.. . , . - .- -... ,. . - -- . -.1 -- - -. , -- -. . -
4 .- ,-I- ----.----- 4-. - -- - '1 '--x:~'--''- 2" - -t-'-5 - - ,,. . 4
4-,. . - - - -- .- 4~ t
or'.- 1cm * . c:-r t- -A 7?>J~j' -1--c' A
'c-I- ii.
- . ~- 2 Q* I-.' Mo
4. '.
n -'- 1 -r r r4- ~m~v ~~)I fir- r.t"ts, ;j
1 4-.-.-.. -r-: +
gm ~p.ce Zr ' -.
'"t:. r-c4 1 r'' '-~ & 'Jr cC-s rit-o' or- Uc'dlc--'-i 'a ~ 1< -.&
,--, . .4-
.. ,. - . -4$
-c - - - - at 2>- '-' 4 - "trt. -- 0' no
U '-' -- '4- r&.r r.-r (-4'
.4- . 4 .- ' - -
-- I, 4*- II - - . .4!--..t. 1 4. I - .. - . - . L I. * -, - - . - , 2.
* -4-.'
- *.1 2 4 . - 3 4j.~K' - 4.
- - . -- ,,'- - . ..
4 ~*~- *. ..* - .- - - . . -- - -t
-, & - rr-i--c'--'' ,> -& .,, r-- -
Reproduced Frombest available copy.
- .- I,. -- V 'II.-
A- - .
L (I
L -
I ,.,
-- PH LI-- A ~C .
I -'' *- C.
I * --- tilL
4- - - . j
I-- VI,I *, *i".
I ~
4 'C
i i** -
I ~,
I -,
- - (i~~~--- L
~' -
-- I
4
-C
I ''- ~. -
i v
! '- -- --.
rrL
4c 7. 7f
:'-. r . ..- ) . .,-< firt ctfs i- o'r a r ' ' t
•~ ~ ~ ~ ~~~~~~~c r.I'.Ci;".'C' :P? L .... C i ..... '',:
- -- ---- r.' & - .-"- - " ' -- 3', '-- 70" , :.r I / 'c 'l<-rc
7---
l :'-" ::' . :" V., :" f'-"' ... :'C f -Th - '-_"prn: 4 ;(V .'--.- r'' ". - : 'S"
" ' ]~(c I.s ,, tz , rt l . ) , is-< : >f + ... ' i ' hi I 1 Yt i r c y isitr-,'i4 •
(kc.: 9 rt7 .. i, Ve:t+ oE;., Ire , ' 5 Vr'"CS p'- nc
] :.t,':r .S >1 !1. aA ; -:. <r ,' i'}c'. 1 r -". .. nnt" P~ " : 1 40 2 !Vl i:( [ - r r
t - r~~~~~~~r'f',~I - - - -i " : . . ¢ ( .) ¢ i i : - ) ..
1' -,.. ... ..-.- , , -. ,-
-. I-" 'U -'
.- A .. : ' I . - -4
in ld- Ln y ..-. ,.
r:Gr.mni u -celer.aticn :nd- &; ,. ; ,r, :';. "s c - cl,
-. c,' -' " . bloc _ o r. c] ]1c ,,H '-:,. ",' ;tr '-, ' ''( ,''.
I :'e , ", :.1 ,-"flCC. (The- tV di fr...tirtrs r c, ',tr,:, fro'
L? ; t i' :.1Oi "l O sir. '-..iz r J-'-<, tV i r.. -,. t-' ,."- ,
.: ,',ls.~p ,s nq i ' hi s t~ i'o r V the n-.oi~ ... ,
I '*t - ' V y' % . ..: -.,t , --~, i i ~ :! : r , t ., ' .
-i r1t,.t': - iv: Or - , . 4-. 4- t I '! 's :c i f]c"a" ", r
to$tort 4.r Te.y - 4-.,.
-. " t .*j :~*ff ".fC 8'1j15't,,r,'
.,r
r. F
r: o1. o C
20 0-r:-- h r4< rr! t t -<,., ~ ,4 ~
Ar1 t 1, 05(, 1,r*. A -I
" ' 1' 4* '- ;" . 'A. A " - 4-"
"... , e c :3~f-A.'.- '",:: ' ' -.. , . ;t : - - r -t o - I c. t ,_ "p f ; : 1'.' , '. ," ' - .
7 r f
I V
'..,-,'. ' ' - ,. . .n ;.. - , - . - V-- A"t..' I '. t . , t} - ; ' : i-C ,
0.- ; .- . A'' . .. -. . V-
-j: ' cl ck ti., .... KA'".T'C e -' -, otlvr-' t -,'- -:---- ret
L-.4
,"" . < -.- - --r z'. © &' i - r i r ' .-.. ' , " i ,-, f- -.5 )r A ~ A . . 1F'. '4.. :r ,
i , , tb - , ! rv - . . . *V : i ",t .: ,rC ,4 .. ,-
".'" :.. '. ": L C E :A">. : X S A ... ." I ' ' "'.. Ar ' ' " ' : ' : V '
"." 1T.t ,"- T " - C).A'r" ."rr S e ' " ri A S- -' ;".' r: ~ , :,
- 1
I- . -•- [ , - -' , --- - -2, -
'A. , . ! .AAA' - ,4 ., ' 4[ " : I " S ' -.
A-... -•-''~
<"t irlo: " i
'( . . ... . . . . . .. .. .2
The delay multiplier is used to alter the real time
aspect of the simulation. The aelay is the clock time
between how long it takes to update all simulation
parameters, and the timestep. This is the input parameter
to the wait function. You can accelerate the simulation by
multiplying the delay by a number less than one. Iou can
slow the simulation by using a number greater than one.
There are two displays available depending on the
strategy of the user at the time. The defensive display
(Figure I I ) gives a Radar Warning Receiver and ECM Status .
The offensive display (Figure 12) gives a top down visual
presentation and weapon status. The other three parts, the
interactive scratch pad at upper left, interactive menu at
upper right, and mission status at lower left are always
presented.
Given this general description of the program
structure, I will go on to discuss the testing and
verification. For more information on exactly what the
program can do, or how it does it , I refer you to the
User's Guide, Appendix IV.
44
p °1
4~7 7 7 7
I~~~~i inII I
~w wwi
I II
I I I I I I I ' SWI- I laz cm 0I- aI! 0 pi o :w wCLiI.IiiiIn
m a)m m aio o(
LL.
ix W aehc i 4
w w w w E *L l
z K
#ACU, a00Voo"
Z G n 0CU04
C9CWm ww 0 0 A
Be 1 % c 3U
c = &- 0 w w Ia.S
FIGUE ItDefensive Dispay
45
w L
*~al a
I, cu'n'a a'u'eu!wI~o w w
1*a cu cue*
0 L
Ih)~ OA .1La a W W A
C-I I
D.
e:e
I-
ANW
z=U) c ac
$AS
I-
00 - aq4*LI a'In~~1 L& jaW
CA 1- C,IL w j eM
F--a wW 4a. a = =
w - caw
IGUE1 feev lpa346
V Tetir. ar.d V r ific tior.
Testing is the process of executing a program .ith
the intent of finding errors. Tis implies that a good
test case is one that has a high prnbability of detecting
ar a, yet undiscovered -.rror. The first section of this
chapter dill discuss the princi ples of testing in general
- term,. se second section 4ill then discus-s the thesi
- project in particular.
In General
Testing can be div ided into t 4o main classes: "black
box" testing and "glass box" testing (sometimes referred to
a n 11as "h ite box" testing). In black box testing , the test
data is derived solely from the project specifications.
Often the test cases for a soft were project are gritter
before or during the actual softdare development. These
tests are mo tl y to insure that the softdre does
everything it is specified to do.
.or example, suppose a module is supposed to sort up
to fift y names, each dith up to tenty characters, ir.to
phabetica. order. Te, most common first test gould be to
feed it a nit of names and be nure that the output is
al phabeti 7ed . Another common test dould be to ersur-e that
it handles too large ar input file (say 51 n am e )
" reasonablv. Also, does it han JlIe the ca s4es of zer c. o r ore
: 7
.-. -U- - . -U r -,-
U .-. * * . ' U *
name? These are the boundary conditions, ani shouli al ays
be tested. Often in testing, due to the potentially large
number of possible cases, situations are broken into
equivalence classes . That is , if the sort r out ir.e
gracefully handles 5 1 names, hopefully the same error
handler is called for larger files, so 5l, 52, ... d re
equivalent in a sense, and they probably do.' t need tc be
tested in dividuall y Simil arly, if t e routine correctly
sorts 2, 25, and 50 elementn, chances are it dill handle
t .e numbes- betder n Th number of ch.aracters in the names
ould be tested in the same day as the number of names in
the file.
.hen ev er a test is supposed to dork according to the
specifications , any number of situations may be tested
simultaneously. So de could test a name dith only one
character, one dith tdenty, and a list of fifty names all
in the same run, and expect an alphabetized list. Powever,
.d her our test is designed to be out side specifications,
each case must be handled separately. This is to ensure
that each invalid case is correctly handled.* And finally,
, the tester must al ays knod thd e expected output before
executing the test. It is very easy to lock at oUtpUt that
is close to correct, and a.5sume it i. perfect.
The ot her c I das.-s of test in g, is glass bo x testing .
These t,!t s take advantage of kno dle-joe of the internal
.tr')c t ur e of the coJ anJ the' progrIm logic They look at
".
subscript ranges, divisors, loop contr-l, etc. , and are
designed to find overlooked situations Ahic ,ill cause
problems.
Poth classes of testing ofter. ir.ccrpo:at e "rror
guessing ." An experienced progremmer cor.sid!r the problem
at -liand, trie to guess the potentially troubl-ome case,
thern t ests that t,1- program a.dequatly pe2forms t hen
Cd5
i-rogram testing is ehere the programmer in paid bach
for segmentirng code into routines jhich perform or.e Aell
defined functior. Each subroutine can be tested ui.ing the
techniques discussed above by calli g it .ith a sim le
r driv er. If the function i. performed correctly, the orly
question remaining is dhether the tests Aere ad-quat. f
the function is nott performed correctly, there is no
question as to .hich routine is at fault. Vher. a given
routine passes its test s , other routines at that lev el are
sirilairly te.ted. The next step is to rep.lace the Iriver
j with the actual routine that ca!ls the given level, r O
". test in the same fashion. dith a driver at the next higher
level. Continue tc 4ork irn this fiashion fro:m the b-ttom
-up. This method strives to ensure that the "h orker"
modules are correct before the interactior -,dc r-,f ter
mo jules-, confuse t he issu!e. If each levl is th : - '
tei ed , d!l t h e to1 i s rer jed , th e s-,ystem is -jorougl
tested. Unfortunately, ith only a fe Pec if i
exceptiors, no one has develoc, ed a scheme t F udr "rt t Iat
a giver, set. of tss is sufficient , dhile bigl hr
e x hau st iv e
Pef o re mov ing t o t he -. pec if ic s o f m y pr oj ect he r -
are d fed other principle.s cf testirng often, highlighted in
the literature: rltef 4, P, 11, 12, 1,
A)Anecessary part of a t est case isn the defirnition
o f ex pe ct ed r esul ts.
P) A programmer should avoid attemptirng to test his
or her odn programs.
0) he robability of more errors in a section of a
program is proportional to the number of errors
al"ready found in that section.
1) Examining a program to -see if it does not do ahat
it is supposed to is onl y half of the task -the
other ha.l f is n4e e in g dh -2t her the - program does
dhaIt it is not supposed to do.
With the above philosophies, techniques and tools, weIre
ready to test the simulatior .
The S imul at ion
* ~~~The basi rule of .soft dare ts n vi etn
you od Aok -~asunfortunately impossible, to follod4 for
t his e f fort J di, h od.ev er , a t, em pt t o test t he- pr o jec t
tho-,3r oug hIy. There are eleven ge-:neral functions dhich make
u p th1.i s s oft .4are:1) Tex t displays are presented on the screen
2) P'ar am eters are input, fro file
i) j i r a ri~e' r
4) L L r,- vi> r Frery ip 2 v r e
L5) r .4 1o> dhcl. th n sa me fo. evr v ar
?r i t t er,
r. eirs f or the offensive or dfen.sive di!splay are
j r a .4n
7)Vord n for the offe-:ns-iv e or defen.sive lisplay are
dr i tt enl
P) Interactilve comman ore decoded
9)ijarameters are updat-ed
10, arameters are prin~ted
11) Site information i.s graphically displayed
It douli be tedious and very dry to explicitly state every
tent case, reason for use, an~d expected outcome for each
sub rout ine:!, !to 1 I d de!-cr ibe t he t e stinrg i n sl ightl1y
h ig her t e r ms f or t he higher levelI functions described
abov e
'jtxt Di.-plays
Al t ex t dinplaying routir.e s are merely a call to
n~ the character size , then a sequeneo DTA rn
43tjt enen t !t No) parameters are input , arnd rno vdr iable are
charged. ior thes.e modules , exhaustive test ing is nimnpl
t o r ead th1.e out put for typograhical errors, anJ format onr
thescen
L
2&,) Irput Frcm Files
All rout ir.es hich read input, files to initJali ze
variables erI tstei - ning a parallel routine .ith
shared common areas an are instead of reai stat ement.
Vhen all variables .ritter. .re the same as ttle variables
read , I consiiered the input rout ine.s to be suffici entl y
245 ) Static DisplyDra.irpg
-The ntatic line Jra ,irg, and ord .riting routins ar e
in the same category as 1 above. Vhen the lines are in the
'desired places dith the correct do r J ?,. in the proper
position, in the proper text size, the testing is
exahaus t iv e.
67) Daynaic Disay Dr aqir
Testing the static dra.iing for the offensive display
*i, (Visual Display and Current Weap on Status) or defensive
display (Iadar Warning Receiver and Current ECM Status) is
only a small step from 4 & 5 above. Each subroutine ,4as
fist tested dith a driver until the ords and lines Ae
as d esir ed. Vhen this das satisfactory, they were coupled
to the refresh driver , to check1 that the tgo displays
toggled back and forth correctly.
P) Interactive Command DecodILg
The interactive command handling routine .. S coded
and t est ed in ver y n2 st p s Tes t ing wa ro mor e
complicated than for the ituatio.s above, but since there:
are se-?venit een b ox es i r. the menu, t do b tt onis, and s ix
con~trol c 1-jr ac t e r i t took co-nsiierdbly 1 D r. v
routine calls the cursor c che ckn f c.r a cor.t rol :- dacter
c h eck.st f or th! e space bar ,and if nor-e of the abov-3, o opsm
b ac k to c a"l he c u r so r tested every characte.:r on the
keyboard to ins ure t hadt n orn: o f t.he: ASC I I c o js o ul J b e
m i s int-3r pre tt e J. sin ce th e c jr no r ha rd 1es o f PLOT- 1
returns a single character, plus the Y, Y coordinate of the
point , 1 believe t-hadt, i t is unnre cess a ry t.o worr y a bout
o omb ir ttLon s o f char ac ter s causing pr oble:m.
Fo r each control character, arn J t h - npace bar ,
i n it ially hdad t he rout ine .4r it -a m essag e 4h e n selected.
Vhen I das convinced that, this structure. ~ascret di
the same for t he vX, Y pic king of buttons andJ menu b o xes.
V-te n the: exclusive-or structure! das confirmed I r epl ac.e d
e a Ch M essadge dr i t e statement .4i th a c all t o a subroutine
di th t he respective drite - message. Vh -r1 ea c h box a nd
button dan tested this day, I 4ent on to drnte a functional
m odJul1e to perform the respective tas*k. The- se: fu n ct ion al
m odul esn gill be- disc u.se d re x t
9&10) Updating arnd Printing prareters
Th-ire: are t do types of parameter!! t o upja t e du;rrig
the simulation: "countersm" and "lpos-ition .1 'Th. counersr
i n ncludJe c hadff, f a re s, a n . don r em a in inrg, e Idps e tim e ,
and fuel flod. Co-iputing th:ese involves slrle tsuhtractior
for items rernr.r , ingi ti. r for e a p ed im.-, anj
periodic additio.n and/or subtraction to fuel flzc.
desp-nding on .4h a t maneuvers are taking place. TestinZ
invo'.ves bourdary testing to preclude regat ive numbers of
items remaining, and corr ectres testirng for the
combinations of events. "iPositio." parameters include Y
position, Y position, fuel remaining, grour speed
altitude, and heading. As mentiored previously, all of
these values are comuted by the scheme:
N-3.4 value = Old value + (change rate * time).
Insuring the needed common blocks ,ere available, and that
the specific formulas had no typographical errors as the
crucial part of this testing. The simulation .as
repeatedly advanced by one second ano stopped so that each
parameter coud be checked through several cycles and a
representative cross section of maneuvers. Since the
printing of these parameters is dore by converting the
internally stored values from integers and real numbers to
c haracter strings, then using graphics text output features
fro ri ?LOT-1C, any incorrect output could have been caused
either by th e conversion r ou t ines or the ani c-hm etic
computation. te!ted th-e boundaries, and error guessed
then appropriate, trying to tause the routines to fail. I
believe these routines are correct.
,-".
-)
-. C.
.grg c r vo;: t~ iI~I~ fo r ~'5 r,~ v J r t rr- r V r 1 r. my -i.'n.p. r f- ct " t ,r AZ :i tc c r r n -i
". Li,.'p=< v, end t" ,. r.u-' n.' v e a r . :i, . r.' a,. ' r.,
o i r -I c? y fo .- 4.
f rm it. or- c r . i i t c t -
• i~ i* :rf. met.. . !r r ,.: - .2 ;er t ,. M07,;- :ri - " xii
C. o rl '1' -j -- iV J 7
r~r~.ri~gfor- num,?rnI.-% nc i L- gr. i r 4- rt tJ hO Y
r !w1 b i;.' d r.- v *t . j h r-, t _r, e e
k.'-~~~ ~ v r, :kt :j f f: -c, niy c i ; , cr d , c q d ad , ,
V--~~Ii-'v-I v A -- t1f i ~~4I v '
'-- " ie -]'r , -c~f ; rbo iVi, o 1 col i r.di , arc ,9.e CI. fr c , r. tt -V
1.4 -~~~cr r. rird io t, r ir.~~-r vI' -?--~
i+..)
* . * --..-- * , ,- *' **- - N ?%.-** .*-*~. *".._** - t* -.* * - .
[t'1
or~~~ts ev.e:-;f [r t - o l sibee *_. bu !.i.o ; : I. urr-r
aA drd r eq i rerent. rof - uer r f-ferat r. e
p~rogranrn-ers from the Azrjc Laoatr tff, Ih. the-e>
:din a: fet :T fC~: tL ,r
I . erberss-±ve:. of -.e]~~c.&.-rnat-es in the G2{ curriculum, rn,. wife, A r: my six \'-dr
o l d :t d i '.g!:te ! C r ! h c.: v .e ra g , I 4. -e -" i to ta !' e v , b
-"ir~ ut-s -f :r.ct:c for f n- / user to furl; co r. heni C
r. t?: .. . ........ . ... . ...q
p;cintei ou& ome - uncomfocrtable requiremer.t 5, ^,hice; C
:: -: i -'r c ' .i-s i te m ,k - A m o r e - f r i e n d ' it e~ r f a c ., T h e - l ' -, . t f - jg ,
seemed to .it do, and ru. it like they ha eer, it before.
Thlis, f , i the ul ma f."
c,- of i .t- rt ive oft i,'re
c. 7-
,1..'itr7 tis te-t .. .. pted, an aft. r s e hjur . ofOper:!i icr ,A/ttn' var i'jus user 141 crtoo atI o bvouJ~~i.sore-.s r cies r.ot-'.i, T he i e'¢ thle srt-I' '--, PA- beer.
suafficient f 'v '-ask e: ,rn diq 1 " -"ir :
"-3'.
* , 4 , , . 4 4 , ''4 4, , ,, 4 r r . - r ft -
Ift4ftftftft %. %~ ~ftft ft
4~ft ft~% ft "ft ft ft ' ft f t . , , ft , ft ft ft ft , ft ft ft ft 4 ft.,,, 4 . ft
'A
'4. , . - / .v~ I -.
ft...
4 , -. 4
4~44...
S-' -2 4-1.; m rs~~.' 4- ft , .. .
11.1.5 rftc.44c t ('4.. 4.4417'
,4s..-.2 2 ti..0;. ~4 4
j ..r ,r .. ifi-z:s V's:4 : rot ~
-. (:,SiPn.:j.gi * ~.
4,4.4, . I
4. 1 4- ~h:'c'
- 4-,.. 4.,l
-........... ,.~. .43'(2P 4 . ,4.. ~'.
44, - -. 2.. ~4 .~.- . 4..,. 4, -4 ''~~C''
4.'..
I. . - 4.* , -. . 4
S. ., 44,...
-- 4 '- ~- - -. 4-
I . . 4-.
.'.ji .~ . 4. ,.......ft
439
1.-,......'P; 1. '-V. ''V 7' 2...
4 4. 41 ' -, 4I ,. .
..
,
1 t
S•;
- 're '; -.. , . '" : " i
- 4
.v s,.. / - : ;. . .. .. _ ,..-., . ".- _- -- -.-
-, ----.
n-n
4 -
n- unn-n ,an
m~nmnuu d~ d
- .. - .. '
- - - .- !- I'
f 4 -,.--
1 .~
* - . - - .. -K. 41-* -, - - ,- * - L - - 4-~ S *- - - -r - - -
Fk
T 7
ro CL, ViM d rr 7 ~ A .~
r. - -- - -~ - - - - - -
Ccrput~ ~&; L Ic ! F1 [. 9i, i ! U
* I'T E v , i ! . P Lr - ,E ,' v 7v -
. V rui , , 0 n Ire e L o cgy .....rb ,,.
r J J ! - -2 t r .-r ' r.i . ?-'t. '- f, r
v5~i Tk 'V . .J'Ulri 5 - -a t-'d o. AF' , '. '. , A. " 1 r v"e
L;r j L e tf re.~c o y ,j~b r r1r97?. f C '
r. ' i r n nb-2 t E S.. r : . e .P.r eY'' E' ri i5 f~ f- n -2f r A: rl r il r
.. xe-,rrr. AC Fuhdr": NC. Duk,' e L ri~~t
-'be Ar rtci10" ~ ;AT
-,". o r ,, -. . "O tr he L r t o. f VCd. . r. ,"~ 7' .-- e rt
,:S i r e 2-.2d Yl', i' , Y :, lUt' Your . r, Ic*, '~
E .,rm rQt.. Durham, YOK2 N , Nuke tY n vri~ '. Prc.,
y9~ n.
, r a y i 1. t .: So ? Cr Sn , i I i it
c' rg R i'i re z _,)- c -". u _), 4 : . , i..
c.
,o €. I[ . .,r i. . e r.- .s c, ,m;Y ."
t I'# e 7' l r f 0~u c r r: ' ' i "" .t i t'+ '"'
o. g .-1
Inc v T1
i; ..
Appendix I
Equations
This appendix discusses two aspects of the
mathematics used in the MIRAGE system which are not readily
apparent either from reading the body of this thesis, or
from studying the code. The first section of the Appendix
discusses the derivation of the signal strength of a radar
signal received at the aircraft which was used in
constructing the Radar Warning Receiver Display. (Recall
that the RWR displays the relative bearing of sites with
respect to the aircraft, and the strength of the received
radar signal.) The second section gives a brief error
n analysis for the approximations used throughout the
simulation.
Radar Ecuations
The AADEM model presets all aircraft parameters and
observes maneuver success from the ground environment's
viewpoint. The MIRAGE system, on the other hand,
interactively adjusts the aircraft parameters, and displays
data from the aircraft's viewpoint. This required that
some radar signal parameters used by the AADEM model be
"backed up" to the aircraft perspective.
In order to construct the Radar Warning Receiver, the
echo pulse power received Pt the aircraft of the radar from
each site was needed.
,- - - -
The equation for this is:
S ac = (Pt ' t Loss)/41Tr2
• - where:
Sac =echo pulse power (signal strength) received
at the aircraft
Pt = peak power of the transmitted signal
G = gain of the antenna in the direction of the
target
r slant range.between radar site and aircraft
[Ref 14:2.6-2.7]
However, since the AADEM model uses the site's
perspective, it deals with signal strength reflected to the
site. This equation is similar, but is affected by the
cross-section area of the aircraft, twice the distance, and
the affective area of the receiving antenna.
Specifically,
S t =((Pt'*loss)/4fr2 )*'((Xsec*loss'*A )/411r 2 )
site 2(t t r
Ssite S ac (Xsec/l1hr 2)0l.6ss''A r
or Sac =Ssite ((1r/(XseclossAr
where:
A area of the receiving antennar
An equation was needed which determined the one way loss,
and "unfigured" the affect of aircraft cross-section and
the receiver antenna. In subroutine STRNTH, RLOSS is a
computation which determines the one-way loss needed from
the two-way loss available in AADEM. FACTOh, then, is the
solution to the equation discussed above expressed in terms
62
of the AADEM variables and RLOSS. Precise definitions for
the AADEM variables used are available in the AADEM
documentation.
Error Analysis
Although this section in entitled error analysis, it
should be emphasized that the MIRAGE system's equations are
exact except when the aircraft's speed or direction are
changing. In comparsion to its total mission time, this
ehould be a relatively small percentage. For simplicity,
consider the two cases disjoint. The worst case
performance will be no more than the sum of the two errors.
First look at the case of constant heading, with a
constant acceleration or deceleration. Also, assume that
our velocity is totally in the X direction.
We know that velocity = V = dx/dt
and acceleration = a = d%/dt.
Then V(t) = 0 f dt = V + at
In the MIRAGE system a is constant and for any time
increment, at,
X = X + V + at) dt"" At
2ax = V t + (1/2)a t when acceleration is constanti'--0 0
2,x Z V At + (1/2) a (At)
The MIRAGE system approximates using Ax : V At0
Thus the error = (1/2) a At2
4 and % error = ((1/2) a6t2 )/(V0 t) U 100
= [(1/2) aAt/V 1 100
63
At a typical cruise airspeed of 400K using the maximum
acceleration of 15K/sec and at of I second as used in
MIRAGE
, error [(1/2) £ (15) 1)/400] * 100 1.875%
For the second case, consider constant airspeed, but
a turn. he will consider a standard X, Y coordinate system
with - measured positive clockwise from the +Y axis.
++g
FIGURE 13Theta Measurement
Then the X component of the velocity V = V Sinx
Let w = turn rate = d*/dtF '." /At
and &x = V £Sin O(t) dt where O(t) 4 + wt
ax V Vin (#*+wt) dtLet = wt then d = w dt -> dt = d0/w
then Ax = v sin () w d
.!"at =(V/w) [-Cos 10
=(-V/w)[Cos (6+ wt)]
=(-V/w)[Cos(O w~t) -Cost]
64
For example, let = /2 then
Ax z (-V/w) [Cos(11/2 + wAt)]
= (-V/w) [Cos 1.2 Cos wAt - Sin "r/2 Sin w4t]
Ax = (-V/w) [-Sin wAt)
he know the Maclaurin series of
Sin X = X - (X3/31) + (X5 /51) - (X7 /71)
so Ax (V/w) [(wAt) -(wdt) 3/31] using the first two terms
of the series
2 2Ax -:VAt - (,Vw At3,/6
The MIRAGE system uses Ax VAt
which has error pproximately V w2 At/6
and % error =[((Vw 2At3)/6) / V~t ] 100
"-. .: [(w2 at2)/6] 100
In MIRAGE, dt : 1 see
maximum w = 18 degrees/see =.3141592 radians/sec
Thus $ error (.31141592)2 t (1)2 ' 100 / 6 = 1.64 193%
Since error grows as At 2 in the second case,
clearly a At much greater than one would cause
significantly larger errors. A smaller At would reduce the
error, but I feel that these errors are tolerable as it
stands. If a future user disagrees, it requires a simple
edit in the data statement for "DT" in subroutine GINITL to
reduce the error as desired.
65
Appendix II
SADT Descriptions
This appendix contains the complete SADT description
for the MIRAGE software system. , Recall that one criterion
for stopping the decomposition of a function is that the
function can be accomplished by a known tool. Since the
MIRAGE software system interacts with the AADEM model,
several AADEM routines were used as tools. This explains
why the following nodes/boxes were not decomposed further.
Node A125 box 1
Node A125 box 2
Node A22 box 3
Node A23 box I
Node A23 box 2
66
. ...
i , -4 - X
I "q
CL. 0 x o
V too . 14 0 D
.. ,< m .,,4r 4-0 o
z.. ........ ..
a 4j S.. 0" . -0t .,,. .. + ',o' . ..cc 0 6
.7..
O .4. 4) . 4 . S '.0.0.),. .., 102 Ci-,,6- ., o 04
.,, * .. . .. . . .. to5..VJ .-o4 ' 1; 8.
,.. ,. -.. . . . ,-4 ,
:..._ 4 +o . I -,~
44
2 Dto 0
.- 60.S. b -. 104 L.U ooa)
CA; 0W0. -
(a.~~S EO- *4j
ou
to
C>
67
-r4 a cc w
=-.. > & o06-- C.0.3 ) l
m~~ V.L.4 ) a
(U -IV-(~- Q m -4 0 .
-cc W) 0 N
4 00m) 4) . U) * Q -
. -1 0CO -4
CA.f. .14 4
V4.3 -H -0.0
jr OD wrI4 ,I
c 0 C4)L 0.N VA *~~: cc.,
4L) U -1 4.
L. I - 04) ". 06 4 : .
E0 0-4
vi 40
68
NF f
4o
41 U
bi--
~944-
4.4.4 V.-
C6C
L.4-3
40 ---------
1 1
&4-I C.40
41
2 '-4 69
- - - - - - - -------------
m a
cc 00) " '-
4)
L4
0
70
0 ~ ~ ~ ~ 0. (' ciL.- c -
a. Ll 0
C. -4
0jx.4L) C
r-4 - r I .
-4.
;0 J:4 91
'0..
0 0
--~F1.4
CCJ4j -4-o
L. .3 Q)) thi LA
-4~ (U(Uc .
0 -4 .4uZ W.4
cc %
rs-71
C)
Z) 0 ~ jr. L4 Q) cl i4j j
w Ln
J4 0) 0 -
- U i M (0 c
-4 W) -H 0 . -]4 -4 .C4J
0@ -. P)Q -4c uc
CL)4
-u 41
-. -a ", t
-H 1-4
- 4) t '.Nr. L() 4) Iq
J ~L)b -
L~.0 a- ~
> q- -- r. m V
f-4 0 6 G 0=
40 0 I% *-44-
4) 4)4)
72'
-4
> 4
-4-4
4J M 1-4
(0 cu
cu -L E
CL.L
C.) ulL. 4-
CU CA
LU) U
-4
CS
41
t C)
U. .-1 C; cc
-. 4 C V,
C.) 44 cc O
0 c
4) "-f0 C
C) 0 > -)
Q (4 cf 106
4.4 cc).-4
L) W Q#
0Q) u V
744
4 C
oo .0
co- C U) m 0Go -4 m r4-
'-4 vi L o )194
~~~O/ L)/C) c l~
4..
0 1-4OL CLv (4
L, -. 4 -v. 4 -
41)
w0 v 2 C14~
S. ]s ER f4 La 4.-4 0.0. 4 L.z
.0. -4
41.
U) -r4 a('4 :m) 4) L.4 I X;
004 0 co4C
755.
02- - .
ELL.
43 4.) 04) m I) ("
r . 4- I ) U-4 14).. L,
0 0L V
4)4) -
4-3 4) U LL 00Qc. w. EL 0.w .
o CL- 040-
4)) A4) - -,
01.- L.-, \J
4) 0 P. 0.0v00) 0 EL4) 4)
4) 4-) -06--
L4) 44
0. L.4)
-~~L - )1-W C
W) -ftU .0 0.
(L. co ~ > ~ ..0
.. . . . . .
.. , .. .-4.-
S. E.; cu W0 E0
~:3 _1i 4-) C -t - C C
u o=) C) 0 > l) r
w U) 0
"'"~~~~~Q , .. € C) , u
4.) l
w Q
':r)4) -
>" w
:.-)
C- ExCCC
-. 4 Oct
~>4- 3 4) S . -H )
U3 77 l --
0 0._ -()
(UI DIXL. A 4.
C',
hoV
cut
LL 4C )C V
le. 4
77'
.0-4 C
Q (u Vf (a -4L.4 1-
:3E o)-4
V 0
04) C
. cc
£.Lm I
.4-400- 0
C. 0U mNC 0(NI
-H -1
C)
44.0 Ca).45.00
~4 ) - C j -H
U )~~ L I N ) I7 8
.'1.,7
(: -
b .4 avia4 oy
- . . .----------. . . . . .
L.t'
* . . ~.> 4
.4 . . . I -
- . C -- --
-. 4 -
* *4. . 4, . .4~- .. ....
.................... - '"'' '
4 .. 4 ,.. -..... C
4.. 4... 4 .4 - * i..* -4 4 .... ,.. .. -
- . ,m
* . - 4-.. . 4. C.I. .
I *
ti :~.- . . Q4~w L..&~1t
'-V i.S. ... 4.-
£rr '. C, , C- t ;-L
1 - V . . P
- -- ,. I..... -
* . . p-u*141
- .. 4
. 4. I
* . I
4. . -
--. .
- . V V V . V.*VVb.q.* V **V~V* , V . .. , ,. . V
v~V...
LLA . '.1.~
.4... .. (
4-..........................
,.,. (1~ *. . . . . .- -- 4. - -
( [2-- V .
* L.j V-i.
A, ,'j
I U A
I -.
, ."'iLL, ~.
ru:
I ... 'I
it,.;' 4 , 4
'4..,:-.. * . A . r .. It 44.
.1 1
V .. . ., . 4. I
A A 4 - .. . . 4 '
1 .,
..-... 4;. L
.. I.* &" " --.. :.:4 *.-- ... ,C.' ~ 2: i ~ .
•4 . .
L ..
• ..- -.. I,~
. ,. -.
* - - - at a -- - a -a -a a - - a - - - - a - - a - - - a a a - - - a
V L~''
'i-a a- a'~ a (IDAaa(aaa-
a... ~. -a 4 a-
U; Watt' "i' -- - a -[
'a., atalat ____
'a -- arLa ~ a- - a'ilfl) ~a a
Vt tK.. . ' 3'a '-aa - aat- - - - - -
4 aaa 'a' a-a
iAjLalasi I A "', cL 1 ' K
it La a taaa' Ia-a a a
lta-.-Ia~- a~ a ,a-airt<a a-~~a - -- - a
C a -t'
- iaai~aa- a I ap.a *a~ taSIa
at Lata.- I. -- . I
-a--a La -
- ~ I, a aLa
-' - *~. ~. ~ -IfAu! £1. a a -, ata -- a a a
- 'a A -aa a
-;~ 1: I
* r r.
* a jflaa ~- C. -
a Iaa j -)'~a. aa~)
j-aLuItaa a--aaa a-a-a aaaaaaaa a
ala IL
-- a I a - -- a a--) aa aa~,Li a - a
- - . a 4 - a - -a-* a4)a34a.a-aC;saraIYa.a a. aLas a-
t&-! ~ - - a Va > W laLf' ill SaI-
a a- - (5 a
- - . ' a- a - - aaail Lad
ii a-. . 43') <a 'a.
4- 4. a -a a1- -I a-.-- a- a -a a - a -a) 4 a
(5! a - - a a
a 1 aa a -
* a. La a . at!- -a--a-i 'a ~ - :a;a::; a
3! at
a (a aa-a faa - a a a! - .aal a-
aa'
, ,* '.£-X , , ,' ' '. . . .-.'-. ',.... .. .. .-.. . ., = .." .4 ... . . "4 . , 4. 4 4.- -"/ . . . . ,, / .. "'. . ,
.: *.._.' 4 . . - .4 . 4. 4 ,4*.: . . . . . . .
--. ., : ... . 4
;I;'4 ; L .. . ....
.,.. ,!
( :9
,'L : * . :: -
* ( , L. .. '• v . <_. .4
.4,4. . **4. ,,4..... .4 . .. ..
4..,
,. 4. . 'j;)•
o.
.4 .. .4t
-!. ,. . .
44.1."1. . .- :. . . . + ..-. .. . . -
V -.. , ..,
i'::i' • : _ .L+ .-_,'
(I;... LLP+ : 4 ;.+,r.. "sF '
4. + ., . ; , . j, . i + ' : + L p
it.
F:,.
4. L~t
*:.
F FMAX. .:,~~- - . •.-. ( !L L
v' :m fuel use rate, full throttle, at flightaltitude
NAME: FLAGTYPE: Local variableUSE: Subroutine LVLOFF, SETSPDPURPOSE: Indicates whether from a climb or a descent,
acceleration or deceleration
NAME: FLARETYPE: Subroutine namePURPOSE: Responds to the pilot picking the "F" buttonCALLS:CALLED BY: FLYAC
NAME: FLOWCHTYPE: Local variableUSE: Subroutine SETFF, RSETFFPURPOSE: Input parameter - amount to change fuel use
rate
NAME:TYPE: Common block namee USE: Subroutine GINITL, DESCND, CLIMB, DECEL, ACCEL,
TURNPURPOSE: Fuel use rate adjustment for transient flight
states
NAME: FLRDEGTYPE: Common variable (ECMDEG)USE: Subroutine GINI T L, WRITERPURPOSE: Degrade factor for flare
NAME: FLYACTYPE: Subroutine namePURPOSE: Responds to the pilot's menu picks
Prompts pilot for information as requiredSets simulation status flag to indicate thatthe aircraft is in a transient stateCalls appropriate subroutines to adjust theaircraft position accordingly
CALLS: DCURSR, REFRSH, MOVABS, ANSTR, ANMODE, hELP,CHAFF, FLARE, ABORT, RESU.E, WEAPON, JAMMER,LVLOFF, DESCND, CLIMB, SETSPD, DECEL, ACCEL,ROLOUT, TURN, ENDG
CALLED BY: PROCES
NAME:- - TYPE: Common variable (JAMM)
USE: Subroutine GINITL, INPUT, ECMVAL, JAMMERPURPOSE: Frequency setting of respective jammer
86
NAME: FRPISQTYPE: Local variableUSE: Subroutine STRNTHPURPOSE: Constant - (4*Pi)2
NAIE:TYPE: Common variable (STATUS)USE: Subroutine GINITL, FLYAC, S7ATVLPURPOSE: TRUE when aircraft i; acceleratini
NAME:TYPE: Common block nameUSE: Subroutine GINITL, SETFF, RSETFFPURPOSE: All global information relating to aircraft
fuel
NAME: FULFLOTYPE: Common block nameUSE: Subroutine GINITL, SETFF, RSETFF, WEAPONPURPOSE: Aircraft fuel use rate parameters
NAME: FULRATTYPE: Common variable (FUELS)USE: Subroutine GINITL, SETFF, RSETFFPURPOSE: Fuel use rate
NAME: £.ILTQ.TYPE: Common variableUSE: Subroutine GINITL, STATVLPURPOSE: Total fuel remaining
NAME: G "T. _TYPE: Subroutine namePURPOSE: Plots enemy sites for the visual display and
gets user pick for targetCALLS: PLTSIT, PIKSITCALLED BY: WEAPON
NAME:TYPE: Subroutine namePURPOSE: Initislizes all global variables used in the
simulation.CALLS: STARTCALLED BY: PRELiM
NAME:TYPE: Subroutine namePURPOSE: Refreshe: the screen and calls for pilot inputsCALLS: REFRSHI, CHNSIZ, ANMODE, MOVABS, ANSTRCALLED EY: PROCES, PRELIM, JAMMER
87
-'D-A124 661 RN INTERACTIVE BOMBING MISSION SIMULATION WITH COMPUTER 2/2GRAPHICS INTERPACE(U) AIR FORCE INST OF TECHWRIGHT-PATTERSON AFB ON SCHOOL OF ENGI.. M J GOCI
UNCLASSIFIED DEC 82 RFIT/GCS/MR/82D-4 F/G 9/2 NL
mEIEEIEIEllll~llllllll
EEEEEEEEWlll
! - -- - ic-'--u .:. - . .....-.
l6L I~o 2.
11.25 1. A 1.6
MICROCOPY RESOLUTION TEST CHART
NATIONAL BUREAU OF STANDARDS-1963-A
* 'o .. v-- --- - - -- -
NAME: GSTATUSTYPE: Common block nameUSE: Subroutine SETDEV, ENDGPURPOSE: All global graphics information
NAME:TYPE: Common variable (ACSTAT)USE: Subroutine TURN, ROLOUT, GINITL, PIKSIT, PLTSITPURPOSE: Current heading of the aircraft
NAME: HELPTYPE: Subroutine namePURPOSE: Prints information on how to operate the
simulationCALLS: CHRSIZ, NEWPAG, ANMODECALLED BY: FLYAC, GETTGT, INFO3, PIKSIT
NAME: HIDEITTYPE: Subroutine namePURPOSE: Hides the interupt character echoCALLS: CHRSIZ, MOVABS, ANMODECALLED BY: PROCES
NAME: HITGNDTYPE: Subroutine namePURPOSE: Handles functions if the aircraft inadvertently
is flown into the groundCALLS: NEWPAG, CHRSIZ, MOVABS, ANSTR, ANCHO, GSETUP,
ANMODE, BOXER, WAIT, LVLOFFCALLED BY: STALL, STATYL
NAME: HSMSPKTYPE: Common variable (WEPPKS)USE: Subroutine GINITL, INPUT, WEAPONPURPOSE: Probability of kill for an IR missile
NAME: lTYPE: Local constantUSE: Subroutines WORDSPURPOSE: Y-coordinate in absolute units of the lowest
line on which to write MAX in the menu
NAME:TYPE: Local variableUSE: Subroutine WRITERPRUPOSE: Extractions from common blocks to be written in
the dynamic portion of the interactive display
NAME:TYPE: Local variableUSE: Subroutine WORDSPURPOSE: ASCII equivalent of ABORT MISSION
88
NAME: AC(0*TYPE: Local variable
USE: Subroutine WORDSPURPOSE: ASCII equivalent of ACCELERATE
NAME :TYPE: Local variableUSE: Subroutine WORDSPURPOSE: ASCII equivalent of ACTUAL
NAME: IA2(TYPE: Local variableUSE: Subroutine WORDSPURPOSE: ASCII equivalent of ALTITUDE (AGL)
NAME: IBO.Li. (2TYPE: Local variableUSE: Subroutine WORDSPURPOSE: ASCII equivalent of BOMBING MODE
NAME: LB (5)TYPE: Local variableUSE: Subroutine WORDSPURPOSE: ASCII equivalent of CLIMB
NAME:TYPE: Local variableUSE: Subroutine WORDSPURPOSE: ASCII equivalent of DECELERATE
NAME:TYPE: Local variableUSE: Subroutine FLYACPURPOSE: ASCII equivalent of ENTER DEGREES>
Prompt for pilot input
NAME:TYPE: Local variableUSE: Subroutine FLYAC, TURNPURPOSE: Heading change parameter
NAME: IDEL (TYPE: Local variableUSE: Subroutine FLYACPURPOSE: ASCII equivalent of ENTER DELAY MULTIPLIER
NAME:TYPE: Local variableUSE: Subroutine WORDSPURPOSE: ASCII equivalent of DESCEND
89
NAME: IIETYPE: Local variableUSE: Subroutine TURNPURPOSE: Input paramenter, indicates direction of turn
- NAME:TYPE: Local variableUSE: Subroutine FLYAC, DESCND, CLIMBPURPOSE: Altitude change parameter
NAME:TYPE: Local variableUSE: Subroutine WRITER
--PURPOSE: Loop parameter
- NAME: (TYPE: Local variableUSE: Subroutine WORDSPURPOSE: ASCII equivalent of FLIGHT PATH
NAME: LOW (19)TYPE: Local variableUSE: Subroutine WORDSPURPOSE: ASCII equivalent of FUEL FLOW
NAME:TYPE: Local variableUSE: Subroutine JAMMERPURPOSE: ASCII equivalent of ENTER FREQUENCY>
NAME: IFUEL (14)TYPE: Local variableUSE: Subroutine WORDSPURPOSE: ASCII equivalent of FUEL REMAINING
NAME:TYPE: Local variableUSE: Subroutine WORDSPURPOSE: ASCII equivalent of TRUE HEADING.
NAME: ITYPE: Local variableUSE: Subroutine WRITERPURPOSE: Loop parameter
NAME: ILMARGTYPE: Local constantUSE: Subroutine DRLINEPURPOSE: Left edge of the menu
90
" NAME:TYPE: Common variable (TSTEP)USE: Subroutine INPUT, GINITL, FLYACPURPOSE: Time increment that the simulation "runs"
between prompts for input
NAME: INDEXTYPE: Common variable (II)USE: Subroutine CTRLC,PURPOSE: Flag to indicate that an interrupt has occured
NAME: INF01TYPE: Subroutine namePURPOSE: Prints information about the aircraft flight
characteristicsCALLS: CHRSIZ, NEWLIN, ANMODE, HDCOPY, NEWPAGCALLED BY: PRELIM
NAME: INF02TYPE: Subroutine namePURPOSE: Prints information about aircraft configuration
capabilityCALLS: CHRSIZ, NEWLIN, ANMODE, NEWPAGCALLED BY: PRELIM
NAME: INFOITYPE: Subroutine namePURPOSE: Prints information about the simulation
graphics displays and control charactersCALLS: CHRSIZ, NEWLIN, ANMODE, HELPCALLED BY: PRELIM
NAME:TYPE: Subroutine namePURPOSE: Interactive input routine to configure the
aircraft prior to running the simulationCALLS: CHRSIZ, NEWPAG, ANMODECALLED BY: PRELIM
NAME: INRNGTYPE: Local variableUSE: Subroutine RWRPLTPURPOSE: Counter for number of sites within radar range
NAME:TYPE: Local variable
" - USE: Subroutine JAMMER. PURPOSE: ASCII equivalent of INVALID INPUT
NAME: IPOS (8)TYPE: Local variableUSE: Subroutine WORDSPURPOSE: ASCII equivalent of POSITION
91*. . . . . ..°
• *. NAME:TYPE: Local variableUSE: Subroutine WORDSPURPOSE: ASCII equivalent of PREPLANNED
NAME:TYPE: Local variableUSE: Subroutine WORDSPURPOSE: ASCII equivalent of PREPLANNED
NAME: IPiJ(3)TYPE: Local variableUSE: Subroutine JAMMERPURPOSE: ASCII equivalent of ENTER POWER>
NAME:TYPE: Local variableUSE: Subroutine RWRPURPOSE: ASCII equivalent of RADAR WARNING RECEIVER
DISPLAY
NAME: IRBMB (10)TYPE: Local variableUSE: Subroutine WEPWDSPURPOSE: ASCII equivalent of IRON BOMBS
NAME: IEL(0TYPE: Local variableUSE: Subroutine FLYACPURPOSE: ASCII equivalent of ENTER A POS REAL #
NAME:TYPE: Local variableUSE: Subroutine WORDSPURPOSE: ASCII equivalent of RESUME
NAME: IRFMISTYPE: Common variable (WEAPNS)USE: Subroutine GINITL, INPUTPURPOSE: Number of rf missiles available
NAME: IRMARGTYPE: Local constantUSE: Subroutine DRLINEPURPOSE: Right edge of the menu
NAME: IRMISTYPE: Common variable (WEAPNS)USE: Subroutine GINITL, INPUTPURPOSE: Number of IR missiles available
92
. .. . . . . . . . . . .... . . . . . .
NAME: JRL.12TYPE: Local variableUSE: Subroutine WEPWDSPURPOSE: ASCII equivalent of IR missiles
NAME: ITYPE: Common variable (WEAPNS)USE: Subroutine GINITL, INPUTPURPOSE: Number of "iron bombs" available
NAME:TYPE: Local variableUSE: Subroutine WORDSPURPOSE: X-coordinate in absolute units of the menu key
words
NAME: I (1TYPE: Local variableUSE: Subroutine JAMMERPURPOSE: ASCII equivalent of ENTER SECTOR>
NAME:TYPE: Common variable (JAMM)USE: Subroutine GINITL, INPUT, ECMVAL, JAMMERPURPOSE: Sector respective jammer is jamming
NAME: ISMBM&
TYPE: Common variable (WEAPNS)
USE: Subroutine GINITL, INPUT. PURPOSE: Number of "smart bombs" available
NAME:TYPE: Local variableUSE: Subroutine WORDSPURPOSE: ASCII equivalent of GROUND SPEED
NAME:TYPE: Local constantUSE: Subroutine CIRCLEPURPOSE: Roundness factor for the circle drawing
algorithm.
NAME: IM(TYPE: Local variableUSE: Subroutine WORDSPURPOSE: ASCII equivalent of ELAPSED TIME
NAME:TYPE: Local variableUSE: Subroutine FLYACPURPOSE: ASCII equivalent of ENTER TIMESTEP>
93
j ... ..---.-- . . .... ... .... ,. .. ,". , ,............... ... .. .. . -
.-. N AIT: (E:
TYPE: Local variableUSE: Subroutine WORDSPURPOSE: ASCII equivalent of TURN LEFT
NAEE: ITRNE (10)TYPE: Local variable
USE: Subroutine WORDS
PURPOSE: ASCII equivalent of TURN RIGHT
NAME: 11TYPE: Local variableUSE: Subroutine WORDSPURPOSE: Loop control used in computing which lines to
write MAX in the menu
NAME: IYVALTYPE: Local variableUSE: Subroutine WORDS
PURPOSE: Y-coordinate in absolute units of the
incremental lines on which to write MAX in thethe menu
NAME: JLT (12)TYPE: Local variable
USE: Subroutine FLYACPURPOSE: ASCII equivalent of ENTER FEET>
Prompt for pilot input
NAME: JAMMTYPE: Common block nameUSE: Subroutine GINITL, INPUT, ECMWDS, ECMVAL,
JAMMERPURPOSE: Data pertaining to jammers
NAME: JME*,. TYPE: Subroutine name
PURPOSE: Responds to pilot menu pick of JAMMER
CALLS: BOXER, REFRSH
CALLED BY: FLYAC
NAME: JA (16)TYPE: Local variableUSE: Subroutine JAMMERPURPOSE: ASCII equivalent of ENTER JAMMER #>
NAME: JAtR (7)TYPE: Local variableUSE: Subroutine ECVWDS
PURPOSE: ASCII equivalent of JAVVEP_
gil
NAME:TYPE: Local variableUSE: Subroutine WORDSPURPOSE: ASCII equivalent of ECM MODE
NAME: JMODETYPE: Local variableUSE: Subroutine JAMMER, FLYAC
PURPOSE: Whether normal or max jammer mode was picked
NAME: AUTYPE: Local variableUSE: Subroutine FLYAC, JAMMERPURPOSE: X-coordinate at which to print prompt
NAME: AuTYPE: Local variableUSE: Subroutine FLYAC, JAMMERPURPOSE: Y-coordinate at which to print prompt
NAME:"YPE: Local variableUSE: Subroutine HITGNDPURPOSE: ASCII equivalent of KABOOM
NAME: KCHAFF (10)TYPE: Local variableUSE: Subroutine WORDSPURPOSE: ASCII equivalent of CHAFF LEFT
NAME:TYPE: Local variableUSE: Subroutine PLTSITPURPOSE: ASCII equivalent of the symbol to be plotted
NAME: KDIFFTYPE: Local variableUSE: Subroutine ABORTPURPOSE: Amount of change required to transition from
present to abort parameter
NAME:TYPE: Local variableUSE: Subroutine ECMWDSPURPOSE: ASCII equivalent of CURRENT ECM STATUS
NAME:TYPE: Local variableUSE: Subroutine WORDSPURPOSE: ASCII equivalent of FLARES LEFT
95
A. . . . . . . . .
NAME: FE()S.-.-" TYPE: Local variable
USE: Subroutine ECMWDSPURPOSE: ASCII equivalent of FREQ BAND
NAME:TYPE: Common variable (CLOCK)
• . USE: Subroutine GINITL, KPTIM, WRITERPURPOSE: Simulated hours into the mission
NAME: (11)TYPE: Local variableUSE: Subroutine FLYACPURPOSE: ASCII equivalent of ENTER KNOTS>
Prompt for pilot input
NAME: KNOTSTYPE: Local variableUSE: Subroutine FLYAC, DECEL, ACCEL
- *.PURPOSE: Speed change parameter
NAME: KQUTTYPE: Local variable
. USE: Subroutine WRITER, ECMVAL, WEPVAL, RUNSIM,PUTTIM
PURPOSE: Character equivalent of a number
NAME: IPKW(4TYPE: Local variableUSE: Subroutine WEPWDS
PURPOSE: ASCII equivalent of _PK_
NAME:TYPE: Local variableUSE: Subroutine ECMWDSPURPOSE: ASCII equivalent of POWER
NAME:TYPE: Local variableUSE: Subroutine FLYAC, GSETUPPURPOSE: ASCII equivalent of MAKE INPUTS NOW
Prompt for pilot input
NAME:TYPE: Local variableUSE: Subroutine FLYAC, GSETUPPURPOSE: ASCII equivalent of TYPE "c" WHEN COMPLETE
96
NAME: PITYPE: Subroutine nameUSE: Keeps time in hours, minutes, secondsCALLS: NoneCALLED BY: RUNSIM
NAME: K1.IS (41)TYPE: Local variableUSE: Subroutine WEPWDSPURPOSE: ASCII equivalent of RF MISSILES
NAME:TYPE: Common variable (CLOCK)USE: Subroutine GINITL, KPTIM, WRITERPURPOSE: Simulated seconds into the mission
NAME:TYPE: Local variableUSE: Subroutine ECMWDSPURPOSE: ASCII equivalent of SECTOR
NAME:TYPE: Local variableUSE: Subroutine WEPWDSPURPOSE: ASCII equivalent of SMART BOMBS
NAME: T (1TYPE: Local variableUSE: Subroutine WEAPONPURPOSE: ASCII equivalent of SELECT TARGET
NAME: KVIS (14)TYPE: Local variableUSE: Subroutine GETTGTPURPOSE: ASCII euqivalent of VISUAL DISPLAY
NAME:TYPE: Local variableUSE: Subroutine WEPWDSPURPOSE: ASCII equivalent of CURRENT WEAPON STATUS
NAME: LSOLTYPE: Local variableUSE: Subroutine %ORDSPURPOSE: X-coordinate in absolute units of the aircraft
status key words
NAME:TYPE: Local constantUSE: Subroutine TURN, FLYACPURPOSE: Indicates direction of turn
97
9.
NAME:, TYPE: Local variable
USE: Subroutine WEPWDSPURPOSE: ASCII equivalent of #LEFT
NAME: LFTCOLTYPE: Local variableUSE: Subroutine WORDSPURPOSE: X-coordinate in absolute units of the menu key
words
NAME:TYPE: Common variable (STATUS)USE: Subroutine GINITL, FLYAC, STATVLPURPOSE: TRUE when aircraft is turning left
NAME: LIMITSTYPE: Common block nameUSE: Subroutine GINITL, STATVLPURPOSE: Aircraft flight capabilities
NAME: IL"TYPE: Local variableUSE: Subroutine BOXERPURPOSE: X-coordinate in absolute units of the lower
left corner of the desired box
NAME: LLITYPE: Local variableUSE: Subroutine BOXER
* . PURPOSE: Y-coordinate in absolute units of the lowerleft corner of the desired box
NAME: LOCATNTYPE: Common block nameUSE: Subroutine GINITL, STATVLPURPOSE: Position of the aircraft
NAME: LVLQFFTYPE: Subroutine namePURPOSE: Resets status flag and fuel use rate to
simulate the aircraft leveling off from analtitude change
CALLS: RSETFFCALLED BY: ABORT, CLIMB, DESCND, FLIAC, H!TGND, STATVL
NAME:TYPE: Local variableUSE: Subroutine WORDSPURPOSE: ASCII equivalent of MAX
98
SS. -
NAME: IAXACCTYPE: Common variable (ACPRAM)USE: Subroutine FLYACPURPOSE: Aircraft maximum rate of acceleration.
NAME: VAXDNTYPE: Common variable (ACPRM)USE: Subroutine FLYAC, GINITLPURPOSE: Aircraft maximum descent rate
NAME: MAXSLOTYPE: Common variable (PCPRAM)USE: Subroutine FLYAC, GINITLPURPOSE: Aircraft maximum rate of deceleration
NAME: VAX..TYPE: Common variable (ACPRAM)USE: Subroutine FLYAC, GINITLPURPOSE: Aircraft maximum rate of turn
NAME: EAXUPTYPE: Common variable (ACPRAM)USE: Subroutine FLYAC, GINITLPURPOSE: Aircraft maximum rate of climb
NAME:TYPE: Common block nameUSE: Subroutine REBOX, GINITL, ACCEL, CLIME, DECEL,
DESCND, LVLOFF, ROLOUT, SETSPD, TURNPURPOSE: Things to remember when refreshing the screen
NAME: MEMBOX (6.2)TYPE: Common variable (MEM)USE: Subroutine REBOX, GINITL, ACCEL, CLIME, DECEL,
DESCND, LVLOFF, ROLOUT, SETSPD, TURNPURPOSE: Flags as to which menu box to highlight
NAME: MINITTYPE: Common variable (CLOCK)USE: Subroutine GINITL, KPTIM, WRITERPURPOSE: Simulated minutes into the mission
NAME: MISSN (22)
TYPE: Local variableUSE: Subroutine WORDSPURPOSE: ASCII euqivalent of CURRENT MISSION STATUS
NAME: LT ISTMTYPE: Common variable (SECS)
USE: Subroutine GINITL, STATVL, WRITEP, PROCE-PURPOSE: Elapsed mission time
99
K7
NAhE: MVBTIPL: TEKTRONIX ibroutinePURPOSE: See TEKTRONIX documentation
NAME: MOVEATYPE: TEKTRONIX subroutinePORPOSE: See TEKTRONIX documentation
TFE: Common variable (SECS)Subroutine PROCES, GIIJITL
r dr L1 VL Z .i x lcen-tl- of i , ' i;
-I L
USE: Subroutine CLIMB, DESCND, GINITLPURPOSE: Altitude to which the aircraft is transitioning
NAME:TIPt: Local variableUSE: Subroutine REDY, AADRIVERPURPOSE: TRUE when user requests operation assistance
NAME: NEWHDGTIPE: Common variable (ACSTAT)USE: Subroutine TURN, ROLOUT, GINITLPURPOSE: Heading to which the aircraft is transitioning
NAME : NEWLT1PE: TEKTRONIX subroutinePURPOSE: See TEKTRONIX documentation
NANL:TYPE: TEKTRONIX subroutinePURPOSE: See TEKTRONIX documentation
NAME:TYPE: Common variable (ACSTAT)USE: Subroutine ACCEL, DECEL, SETSPD, GINITLPURPPOSE: Speed to which the aircraft is transitioning
NAME: NONETYPE: Local variableUSE: Subroutine PIKSITPURPOSE: ASCII equivalent of NO SITES IN RANGE
100
NAME: NORMDNTYPE: Common variable (ACPRAM)USE: Subroutie FLYAC, GINITLPURPOSE: Aircraft normal descent rate
NAME: N.RMPTYPE: Common variable (ACPRAM)USE: Subroutine FLYAC, GINITLPURPOSE: Aircraft normal rate of climb
NAME: NRMACCTYPE: Common variable (ACPRAM)USE: Subroutine FLYAC, GINITLPURPOSE: Aircraft normal rate of acceleration
NAME: NRMSLOTYPE: Common variable (ACPRAM)USE: Subroutine FLYAC, GINITLPURPOSE: Aircraft normal rate of deceleration
NAME: NMRTYPE: Common variable (ACPRAM)USE: Subroutine FLYAC, GINITLPURPOSE: Aircraft normal rate of turn
NAME:TYPE: Common variableUSE: Subroutine GETTGTPURPOSE: Site number of target selected by "pilot"
NAME: NUMCHFTYPE: Common variable (WEAPNS)USE: Subroutine CHAFF, GINITL, INPUTPURPOSE: Number of pods of chaff available
NAME: NUMFLRTYPE: Common variable (WEAPNS)USE: Subroutine FLARE, GINITL, INPUTPURPOSE: Number of flares available
NAME: NUMJMRTYPE: Common variable (JAMM)USE: Subroutine GINITL, INPUT, ECMWDSPURPOSE: Number of jammers on the aircraft
NAME: NUMPOSTYPE: Common variable (VISBLE)USE: Subroutine PIKSIT, PLTSIT
PURPOSE: Number of sites which are possible to bomb
101
' .::,NAME: iiTy YPE: Local constantUSE: Subroutine C-IRCLEPURPOSE: Standard geometric value 3.141592
NAME: IITTYPE: Subroutine namePURPOSE: Gets user pick of targets availableCALLS: VCURSR, NEWPAG, ANMODE, HELP, REFRSH, PLTSIT,
CHRSIZ, TRANGL, SWINDO, RROTATCALLED BY: GETTGT
NAME: ELiITYPE: Local variableUSE: Subroutine RWR PLOTPURPOSE: Signals if site has any live components to
avoid plotting dead sites
NAME: PLTSITTYPE: Subroutine namePURPOSE: Plots all threat sites within visual range of
aircraftCALLS: CHRSIZ, MOVABS, ANSTR, ANMODE, DWINDO, CIRCLE,
SWINDO, POINTA, RROTAT, MOVEA, POINTR, ANCHOCALLED BY: PIKSIT, GETTGT
NAME:POE(5TYPE: Common variable (JAMM)USE: Subroutine GINITL, INPUT, ECMVAL, JAMMERPURPOSE: Power setting of respective jammer
NAME:TYPE: Local variableUSE: Subroutine STRNTH, RWRPLTPURPOSE: Power of radar signal received at aircraft
NAME: PRELIMTYPE: Subroutine namePURPOSE: Driver for all the preliminary tasksCALLS: INITT, TERM, WELCUM, GINITL, REDY, NEWPAG,
INFO1, INF02, INF03, SETDEV, GSETUP, WAITCALLED BY: AADRIVER
NAME: PROCKSTYPE: Subroutine namePURPOSE: Handles interupts and drives the interactive
simulationCALLS: ENABLE, FLYAC, RUNSIM, REFRSHCALLED BY: AADRIVER
102
NAME: PUTLIMTYPE: Subroutine namePURPOSE: Prints mission time in HR:MIN:SEC format
CALLS: MOVABS, STRNUM, ANCHO, ANMODECALLED BY: WRITER
NAME:TYPE: Local variableUSE: Subroutine RWRPLTPURPOSE: Maximum radar signal power being received at
the aircraft
NAME: RADHDGTYPE: Local variableUSE: Subroutine PIKSIT, STATVLPURPOSE: Radian equivalent of aircraft heading
NAME: RADIUSTYPE: Local variableUSE: Subroutine CIRCLEPURPOSE: Input parameter/radius of the circle
NAME: RATETYPE: Local variableUSE: Subroutine ABORT" URPOSE: Real equivalent of rate of change for required
maneuvering
NAME: RDRRNGTYPE: Local variableUSE: Subroutine RWRPLTPURPOSE: "Line of sight" of radar
NAME: REBOX
TYPE: Subroutine namePURPOSE: Rehighlights menu boxes for which maneuver is
still active after refresh
CALLS: BOXERCALLED BY: REFRSH
NAME: REDYTYPE: Subroutine namePURPOSE: Tells user file input complete and determines
whether to print user operation assistance
routinesCALLS: CHRSIZ, ANMODE, NEWPAG
CALLED BY: PRELIM
NAME: REFRSHTYPE: Subroutine name
PURPOSE: Controls the redrawing of the graphics displayCALLS: NEWPAG, DISPLA, WRITER, REBOXCALLED BY: FLYAC, GSETUP. HITGND, PIKSIT, SHAKE, STALL,
WEAPON, JAMMER
103
. .. > . 7: ? . 1 T. / ?i . - .. , . - i . . -... --. - . ."
NAME: RELATE" TYPE: Subroutine name
PURPOSE: Interfaces the interactive aircraft parameterswith AADEM vehicle #1
CALLS: NoneCALLED BY: RUNSIM
NAME: RESUMETYPE: Subroutine namePURPOSE: Responds to pilot menu pick of RESUME INT'IAL
FLIGHT PATHCALLS: BOXERCALLED BY: FLYAC
NAME: RFMSPKTYPE: Common variable (WEPPKS)USE: Subroutine GINITL, INPUT, WEAPONPURPOSE: Probability of kill for an RF MISSILE
NAME: RLOSSTYPE: Local variableUSE: Subroutine STRNTHPURPOSE: Loss factor for radar signal
NAME:TYPE: Subroutine namePURPOSE: Resets status flag to indicate constant heading
and resets the fuel use rate accordinglyCALLS: RSETFFCALLED BY: ABORT, FLYAC, STATVL, TURN
NAME: RROTATTYPE: TEKTRONIX subroutinePURPOSE: See TEKTRONIX documentation
NAME: RSETFTYPE: Subroutine namePURPOSE: Adjusts aircraft fuel use rate at completion of
a flight maneuverCALLS: NONECALLED BY: ROLOUT, LVLOFF, SETSPD
NAME:TYPE: Common variable (STATUS)USE: Subroutine GINITL, FLYAC, STATVLPURPOSE: TRUE when aircraft is turning right
104* - -Q-* -. *
Tt* ...
NAME: RUNSIMTYPE Subroutine namePURPOSE: Updates all parameters of the simulation to
reflect the time increment fed as an inputargument then refreshes the screen to feed thisinformation to the user
CALLS: STATYL, VIEWS, RADPAR, RADSIG, JAMSIG, JTSCOM,
BATTLE2, KPTIMCALLED BY: PROCES
NAME:TYPE: Subroutine namePURPOSE: Draws the RWRCALLS: MOVABS, ANSTR, SWINDO, CIRCLE, TRANGLCALLED BY: DISPLA
NAME: RWRPLTTYPE: Subroutine namePURPOSE: Plots the sites for the RWR displayCALLS: CHRSIZ, MOVABS, ANMODE, DWINDO, SWINDO RROTAT,
STRNTH, MOVEA, POINTRCALLED BY: RWR
NAME: SBMBPKTYPE: Common variable (WEPPKS)USE: Subroutine GINITL, INPUT, WEAPONPURPOSE: Probability of kill for a smart bomb
NAME: SECSTYPE: Common block nameUSE: Subroutine GINITL, STATVL, WRITER PROCESPURPOSE: Elapsed mission time, total time allowed
NAME: ilTYPE: Subroutine namePURPOSE: Establish cursor home positionCALLS: NoneCALLED BY: PRELIM
NAME: SETFFTYPE: Subroutine namePURPOSE: Adjusts aircraft fuel use rate to begin a
flight maneuverCALLS: NoneCALLED BY: ACCEL, CLIMB, DECEL, DESCND, TURN, WEAPON
NAME:TYPE: Subroutine namePURPOSE: Resets status flag and fuel use rate to
simulate the aircraft stabilizing its speedfrom an acceleration or deceleration
CALLS: RSETFF- CALLED BY: ABORT, ACCEL, DECEL, FLYAC, SHAKE, STALL,
S TATVL
105
NAME: SHAKETYPE: Subroutine namePURPOSE: Handles functions if the pilot attempts to
exceed the aircraft's maximum speedCALLS: ANMODE, REFRSH, BOXER, WAIT, ANCHO, SETSPDCALLED BY: STATVL
NAME: SINTTYPE: Local variableUSE: Subroutine CIRCLEPURPOSE: Sine of THETA
NAME: SLOADJTYPE: Common variable (FUELS)USE: Subroutine DECEL, SETSPD, GINITLPURPOSE: Fuel use rate adjustment for deceleration
NAME: SLOINGTYPE: Common variable (STATUS)USE: Subroutine GINITL, FLYAC, STATVLPURPOSE: TRUE when aircraft is decelerating
NAME: SLOMAXTYPE: Common variable (FLPRAM)USE: Subroutine DECELPURPOSE: Fuel use rate adjustment for a maximum rate
deceleration
NAME: SLONRMTYPE: Common variable (FLPRAM)USE: Subroutine DECELPURPOSE: Fuel use rate adjustment for a normal rate
deceleration
NAME:TYPE: Local variableUSE: Subroutine FLYAC, DECELPURPOSE: Deceleration rate parameter
NAME: SLOWTYPE: Local variableUSE: Subroutine DECELPURPOSE: FLAG to SETSPD to indicate stabilize speed from
deceleration
NAME:TYPE: Common variable (ACSTAT)USE: Subroutine ACCEL, DECEL, SETSPD, GINITLPURPOSE: Current aircraft airspeed
106
.! . ~
.dz'
NAME: STALL• TYPE: Subroutine name
PURPOSE: Handles functions if the pilot attempts to flyslower than the aircraft's minimum speed
CALLS: REFRSH, BOXER, ANMODE, WAIT, ANCHO, HITGND,SETSPD
CALLED BY: STATVL
NAME: STATUSTYPE: Common block nameUSE: Subroutine GINITL, FLYAC, ABORT, LVLOFF,
SETSPD, ROLOUTPURPOSE: Flags which indicate the transient states of
the aircraft
NAME: STATVLTYPE: Subroutine namePURPOSE: Computes the current mission status valuesCALLS: LVOFF, HITGND, SHAKE, SETSPD, STALL, ROLOUTCALLED BY: RUNSIM
NAME: STEPSZTYPE: Local constantUSE: Subroutine CIRCLEPURPOSE: Roundnes3 factor for the circle drawing
algorithm
NAME:TYPE: Common variable (LIMITS)USE: Subroutine GINITL, STATVLPURPOSE: Slowest speed the aircraft can attain
NAME: STNTYPE: Subroutine namePURPOSE: Determines the power of a radar signal at the
aircraftCALLS: NoneCALLED BY: RWRPLT
NAME: STRNUMTYPE: TEKTRONIX subroutinePURPOSE: See "AFWAL Auxiliary PLOT-10 Routines"
NAME: STRTSMTYPE: Subroutine name
- PURPOSE: Alows user inputs, then starts time forsimulation
CALLS: FLYACCALLED BY: AADRIVER
NAME:* TYPE: TEKTRONIX subroutine
PURPOSE: See TEKTRONIX documentation
107
" .NAME:. TYPE: TEKTRONIX subroutine
PURPOSE: See TEKTRONIX documentation
NAME:TYPE: Local variableUSE: Subroutine CIRCLEPURPOSE: Arc of the circle
NAME: TOPSPDTYPE: Common variable (LIMITS)
" USE: Subroutine GINITL, STATVLPURPOSE: Fastest speed the aircraft can attain
NAME:TYPE: Subroutine namePURPOSE: Draws a triangle around the present cursor
positionCALLS: MOVER, DRAWRCALLED BY: PIKSIT, RWR
NAME:TYPE: Common variable (FUELS)USE: Subroutine TURN, ROLOUT, GINITLPURPOSE: Fuel use rate adjustment for turning
NAME:TYPE: Common variable (FLPRAM)USE: Subroutine TURN, GINILPURPOSE: Fuel use rate adjustment for a maximum rate
turn
NAME: THNURMTYPE: Common variable (FLPRAM)USE: Subroutine TURN, GINITLPURPOSE: Fuel use rate adjustment for a normal rate turn
NAME:TYPE: Local variableUSE: Subroutine FLYAC, TURNPURPOSE: Turn rate parameter
NAME:TYPE: Common block nameUSE: Subroutine INPUT, GINITL, PROCES, FLYACPURPOSE: Simulation timing parameters
NAME: 12"TYPE: Subroutine namePURPOSE: Simulates pilot actions to cause the aircraft
to turnCALLS: SETFF, BOXER, ROLOUTCALLED BY: ABORT, FLYAC
108
. . o .
NAME: UPADJTYPE: Common variable (FUELS)USE: Subroutine CLIMB, LVLOFF, GINITLPURPOSE: Fuel use rate adjustment for a climb
NAME: UPING• [:[ TYPE: Common variable (STATUS)USE: Subroutine GINITL, FLYAC, ST ATVLPURPOSE: TRUE when aircraft is climbing
NAME: UPMAXTYPE: Local variableUSE: Subroutine CLIMBPURPOSE: Fuel use rate adjustment for a maximum rate
climb
NAME: UPNORMTYPE: Common variable (FLPRAM)USE: Subroutine CLIMBPURPOSE: Fuel use rate adjustment for a normal rate
climb
NAME: VCURSRTYPE: TEKTRONIX subroutinePURPOSE: See TEKTRONIX documentation
NAME: VISHNGTYPE: Local variableUSE: Subroutine PLTSITPURPOSE: Radius of visibility of pilot from altitude
NAME: VISSIT (3.50)TYPE: COMMON variable (VISBLE)USE: Subroutine PLTSIT, PIKSITPURPOSE: Data about visible sites
NAME: WAITTYPE: Subroutine namePURPOSE: Delays processing to synchronize simulated time
with real timeCALLS: SYS$SETIMR, SYS$WAITFRCALLED BY: HITGND, SHAKE, STALL, PRELIM
NAME:TYPE: Common variable (TSTEP)USE: Subroutine GINITL, RUNSIMPURPOSE: Multiplier for the WAIT function
Accelerate or decelerate the "real time" aspectof the simulation
109
. .. . ~ ~ -.- ~ * * . * .. . . . . .. . ... . ... . ... - -, , -- ,- .
-. ,..-. _, _, .. o .. ,. . .-..'- . . - ... - . . .. . - . -.? - .>.- -. - ../ i i i -. i
NAME: WRAP* TYPE: Common logical variable (DISP)
USE: Subroutine REFRSH, DISPLA, WRITER, GINITL,FLYAC, GSETUP, SHAKE, STALL, WEAPON, PIKSIT,JAMMER
PURPOSE: TRUE when the CURRENT WEAPON STATUS block andVisual Display are to be presented
NAME: WEAPNSTYPE: Common block nameUSE: Subroutines CHAFF, FLAREPURPOSE: All common information relating to weaponn
NAME: WEAPONTYPE: Subroutine namePURPOSE: Responds to pilot menu pick of WEAPONCALLS: REFRSH, GETTGT, ANSTR, ANMODE, NEWLIN, SETFF,
BOXER, TARGETCALLED BY: FLYAC
NAME: WELCUMTYPE: Subroutine namePURPOSE: Prints introductory message to amuse user while
files are inputCALLS: CHRSIZ, ANMODECALLED BY: PRELIM
NAME: WEPPKSTYPE: Common block nameUSE: Subroutine GINITL, INPUT, WEAPONPURPOSE: Probability of kills for the weapons
NAME: WEPVALTYPE: Subroutine namePURPOSE: Writes the values for the CURRENT WEAPON STA.US
blockCALLS: CHRSIZ, MOVABS, STRNUM ANSTRCALLED BY: WRITER
NAME: WEPWDSTYPE: Subroutine namePURPOSE: Writes the weapon information for the CURRENT
WEAPON STATUS blockCALLS: MOVABS, ANSTRCALLED BY: WORDS
NAME: WORDSTYPE: Subroutine namePURPOSE: Lays out the key words for the static part of
the output displayCALLS: CHRSIZ, MOVABS, ANCHO, ANSTR, ECMWDS, WEPWDSCALLED BY: DISPLA
110
.4
NAME:TYPE: Subroutine namePURPOSE: Writes all dynamic values in the lower
rectangles of the interactive displayCALLS: CHRSIZ, STRNUM, MOVABS, ANSTR, ECMVAL, WEPVAL,
PUTTIMCALLED BY: REFRSH
NAME:TYPE: Local variableUSE: Subroutine PIKSIT, PLTST, RWRPLTPURPOSE: X coordinate distance from aircraft to site or
from cursor to site
NAME: XPRIMETYPE: Local variableUSE: Subroutine PIKSITPURPOSE: Transformed x coordinate from VCURSR
*1 NAME:TYPE: Local variableUSE: Subroutine RWRPLTPURPOSE: X coordinate of point to be plotted
NAME: XSECTYPE: Local variableUSE: Subroutine STRNTHPURPOSE: Radar cross section of aircraft
NAME:TYPE: Local variableUSE: Subroutine PIKSIT, PLTSIT, RWRPLTPURPOSE: Y coordinate distance from aircraft to site or
from cursor to site
NAME: XPRIMETYPE: Local variableUSE: Subroutine PIKSIT
PURPOSE: Transformed Y coordinate from VCURSR
NAMS: 1ITYPE: Local variableUSE: Subroutine RWRPLT
*. PURPOSE: Y coordinate of point to be plotted
w11
--. "
APPENDIX IV
MIRAGE User's Guide
Min-in-loop
interpct4Lve
" Real-time
Aircraft mission simulationusing
Qraphics to display the
"nvironment
1 12
Forcvord
The VIRAGE software is an interactive operation of
the AAEVEM model used in the ovionics L tboratory at V riht
Patterson, tir Force Ease. It ?llows vehicle one of the
AADEV model t o be interactively "f l o w n "t h r o u ah t h e
pre-programmed defensive network. It is basically the
simulation of a "wild weasel" type aircraft attempting to
penetrate enemy defensive systems and destroy preplanred
targets. MIRAGE llows for altering direction, speed, and
. altitude, deploying weapons, and using radar Pnd rPdPr
jamming equipment. The user is graphically sho wn his
current environment as available through the use of radar
equipment, or by looking out the aircraft windos. All
other information generally available to a pilot is
available in the various displays.
l:11?
Table of Contents
Introductior . . . . . . . . . . . . . . . . . . . . . 1 15
Pre-Simulation . . . . . . . . . . . . . . . . . . . . 116
F i arPys . . . . . . . . . . . . . . . . . . . . . 116
Configuring the Pircraft . . . . . . . . . . . . 1 19
Cper tinw the Simulation . . . . . . . . . . . . . 120
Interpreting the Displays . . . . . . . . . . . . 120
lnterpctirg with the Simulption .. ......... 127
Control Characters ........ ................ 132
1 1L4
74
MIRAGE Users' Guide
I ntroducti o n
This guide describes ll user actions and displ-ys
involved in the operation of the MIRAGF software. The two
parts of this Fuide correspond to the two phases of
execution: pre-simulation and simulation. It chrono-
logically discusses the execution of the MIRAGE system.
During the initial, or pre-simulation phase, the user
is shown orientation and information displays and is giver
the opportunity to configure the aircraft specifically for
the given mission.
The second, or simulation phase is menu-driven and
uses the crosshair capacity of the TEKTRONIX 4016 terminal
to pick the menu items, and some keyboard inputs to further
define user desires. This guide includes sample displays
from the MIRAGE execution which are fully explained.
The user should be familiar with this guide before
attempting to operate the simulation. Anyone familiar with
this guide will find the interface fairly 'friendly', and
before lonv will be "flying" like an ace.
Any items marked with an asterisk (*) in the second
section, "Operating the Simulation" havr rot been
completely implemented.
115
Pre-Simulation
After execution of the program is inititpted, a
welcome ds play will be presented on the screen. This
display has two purposes. First, it lets you know that you
have successfully accessed the model. Second, it gives you
somethinp to look at while the fADEM files are beinq read
Pnd the program variables are being initiali7ed. Fe
patient -- no action on your part is recuired to advance
the program, and no action will expedite it either! hen
the MIRAGE system is ready to work for you, it will say
exactly that.
All of your required actions will be promptcd, so you
need only follow directions. The software will ask if you
need instructions on how to operate the simulption. If you
respond other than yes, the program skips to the aircraft
configuration routines.
SIf you respond yes, the first display presents all
performance characteristics for the aircraft bein
simulated. It includes the maximum flying speed, stall
recovery altitude requirements, and normpl and mPximum
rates for each of the following parameters:
A) Fuel use
P) Turn
C) Acceleratilon
D) Deceleration
116
* E) ClimbI "i-F) Descent
A photocopy of this information is automatically made (if
the device is turned on) since that s ou - te P bit to
remember. When you respond that you are ready to continue,
the next display, which discusses ECM and weapon capability
of the aircraft, is presented.
The simulated aircraft can be loaded beyond the
capability of -ny real aircraft. It can carry up to five
electro-magnctic jammers , Pny number of iron bombs, smart
bombs, RF missiles, IF missiles, chaff pods, and flares.
Also, for each of the weapon and ECM items, the probability
of kill (PK) or PK degrade factor can be anything from zero
to one. This is certainly an impressive weapon platform,
but remember that the validity and usefulness of the
mission results depend on your realistic selection of
Saircraft payload.
You will later be offered the option to change the
built in timestep of twenty seconds which controls the
time-advance of the simulation. Because the TEKTRONIX
terminal must be completely cleared and redrawn anytime
something in the display must be changed, the information
on the screen can never be absolutely current, The
clearing and redrawing of the screen takes slightly less
than one second. These factors force you to make a
compromise decision. If you select a small timestep of two
or three seconds, in order to have fairly current data
117
-. . . , - - " " . , ',". . -.
displayed, the screen will be flashinp and dralvinr so oftcn
that you probably won't be able to read ard abrorb much
usable informtion. on the other rd, while a lonzer
timestep allows ample time to study the displpy, plenty car
happen "behind the scenes" that you may not realize until
it is too late to respond. The default timcstep is twenty
seconds. For reference, at typical cruising airspeeds,
this will usually be between two and three miles of ground
distance. Since the timestep can be changed anytime durinv
the simulation phase , until you gain experience with the
displays, I recommend you not change it until in the "run"
mode of the simulation.
Your final option is to change the "delay
multiplier." MIRAGE is designed to run approximately
synchronized to clock time, as discussed above, by use of a
delaying function. The real time aspect can be accelerated
or decelerated by adjusting the delay multiplier, which has
default value of 1. Setting the delay multiplier to .5 for
example will accelerate the simulation in the sense that
the delay between refreshes will be half the timestep, but
all parameters will still be adjusted by the full timestep.
Likewise, setting the multiplier to 2 will decelerate the
- simulntion to approximately double real time. An example
of use for a multiplier lesr than one is where you know you
are a long way from the enemy sites ard want to get. to
where the action is in a hurry. A lrge timestep coupled
to a small multiplier will get you across the territory in
118
a hurry. Conversely, if you are in the midst of the
action, and want to watch thing-s develop, your choice
should be a small timestep and a large multirlier. The
delay multiplier, like the timestep can be changed during
VIRAGE execution, so until you gain experience with the
normal operation of the model , I recommend you not change
it
Confirurinr the Aircrft
The next pre-simulation function is the actual
confiuring of the aircraft to your specifications. If you
follow the prompts, you can't so wrong. (If you don't
follow the prompts, the software will tell you how you
* .erred, and ask you to re-enter your parameter.) There is a
* default value for the number of pieces of each type of
equipment and the associated PK factor, as well as the
*. timestep and delay multiplier, so if you desire the normal
confivuration, simply respond as such when asked.
The final pre-simulation presentation reviews the run
time displays and the control charactErs that are used to
operate the simulation. I won't go into detail about it
here, since it is a condensptior of the material found in
the next section of this guide.
119
Oerating the Simulation
Interoreting the Displays
The two displays available while operating the F,]RtGE
software correspond to an offensive and defensive attitude
of the user. In both cases, the display is made up of five
sections. (Refer to figure A-I and figure A-2 as needed.)
The upper left section of both displays is the interactive
scratch pad. If the software recuires an input, it will
prompt you for it in this box. Your responses to the
prompts will also be echoed here.
The lower left section of the display contains the
CURRENT MISSION STATUS box. Here you will find the typical
navigation and performance equipment readinrs available to
a pilot. These are:
A) Elapsed time since the beginning of the
simulation (does not include "timeouts" for user
inputs as discussed below)
P) True heading (North:O00, South=18O, etc.)
C) Altitude in feet above ground level (AGL)
D) Ground speed in nautical mile- s (6,082.2 feet) per
hour
E) Fuel rempining in pounds
F) Fuel flow (burn rate) in pounds per hour
G) Position (latitude and longitude*)
The second column in this box displays the preplanred
mission parameters for the same elements discussed rbove.
This structure simulates the pilot's ability to compare his
120
°4
I- aa *
a~~ aI!!IIF-ii I 0 0@O
za m m i
w v 0OO ;
LLJ~L .L~J I LL
Wmi 4AWA
U) 0 0 * w * a aIJ c e c9 e
aga.
qccc :zc
I-I
0 b
so 0 V0z I v 0 n um 1 ft O ( S
a- a-c w '.
o 4WeAEOZ
IA I-z -04 Wi a- no5 aw I- c aM. I
* .. ... FIGURE A-1 Defenaive Display
121
J - .-i . . .
i. i
I I I
I0 U. w
a W W
wL09 wE w:
w ou ) U
a s~~o.4 so so-:
wmw
oo 0 maaw
04 M *t', w Ma. c.0 A
a a.3j
W -C0 .NFlUUZ A- oronsie Dipla
122-
nevigation instruments to his charts and flight rlan and
correct accordingly.
The upper right section of the display is thr
interactive menu. It consists of ten items for selection,
divided in some cases into two columns . WJth this menu,
you control all aircraft maneuvers. The top six elemerts
correspond to the pilot using the ailerons, elevato-s,
rudder, and throttle(s) to fly the aircrqft. The two
columns represent r of movement in the selected
direction. The left column represents normal rate, the
right column maximum rate. Recall that from the
pre-simulation display, if you had requested the
information, you were furnished with the values for these
rates for your aircraft. The ECM MODE box also has two
columns. Picking this level will cause the displays to
shift to the defensive mode which will be discussed later,
and allow for adjusting the jammer-, deploying chaff, or
deploying flares. The MAX column sets the "max confuser"
mode for the jamming equipment. Picking the POMEING MODE
box will cause the displays to shift to the offensive mode
which will be discussed below, and allows for selecting
targets and deploying weapons. Selecting the RESUME
* PREPLANNED FLIGHT PATH box will cause the aircraft to
return to its preplanned route of flight .' Selecting the
.PORT box causes the aircraft to maneuver, using normal
rates, to its abort heading, altitude, and airspeed. This
[ simulates the pilot's initial inputs to deport the enemy
123
* - .° - , -.+ . * . . . . . .. . . . . .. . • . .. . . - * * . . .
territory. It does not hamper the pilot's ability to make
other inputs in any way.
The three sections described above are drawr every
time the screen is refreshed. Which of the following two
pairs of sections is also drawn depends on whether the last
menu pick was ECM MODE or BOMBING MODE.
The Visual Display and CUPRENT WEAPON STATUS box (see
figure A-2) will be drawn whenever BOMBING MODE is picked,
and every refresh cycle thereafter until the ECY .CDE (or
MAX) is selected. The weapon status box in the lower right
section of the display, lists the available weapons on
board by name with a corresponding "key", the number of
that weapon type remaining, and the probability of kill for
that weapon type. When the supply of a weapon type is
exhausted, the name and other data are removed from the
list. Similar information for chaff and flares is shown
below the weapons, however chaff and flare information is
also displayed with the ECM status which will be discussed
shortly. When in the BOMBING or offensive mode, a visual
display will appear in the upper center of the display.
The upper left of this display shows the visual range in
meters indicated by the outer circle. The display is
oriented to the present aircraft heading, so that the top
of the display is the front of the aircraft; consider it a
top view of your environment with your aircraft in the
center.
"124
There are four symbols used on this disrlay:
* -A) A 'loll indicates that the object IS too far away
to distinguish
B) A "'" indicates e destroyed site
C) A "/" indicates a AAA site
D) A " " indicates P SAM site
From higher altitudes, your visual range can exceed 100
miles, so it would be unrealistic to alloy you to bomb
"nything in sight. However, it is equally unrealistic to
force you to fly the simulator to the accuracy expected of
our bomber pilots. To compromise, when visupl ranre
exceeds approximately seven miles, a smaller circle will
appear on the visual display. This circle represents which
of the displayed sites you will be allowed to bomb from
your present position. You might want to think of it as
the eyepiece of a bombsight. If only one circle is
displayed, any sites visible may be bombed.
When the ECM MODE or its VAX box are picked, the
CURRENT ECM STATUS and RADAR WARNING RECEIVER display are
drawn. The ECM status box shows the identification
character for each jammer, the code number for its
frequency band, the center of the sector selected in
degrees (i.e. 000 for North, 090 for East, etc.) and the
code number for the power. Note that ^ displayed for the
power Indicates that the jammer is off.
The other defensive mode display is the FPDAR VAFHNC
RECEIVER (RWR). Similar to the Visual Display, in the
125
upper left hand section the radar range is shown, his,
like the visual ranq factor is the maximum possible from
the given altitude. It does not consider terrain or other
obstructiors .A.y site emitting a radar rulse which is
received at the aircraft is displayed. Contrast this with
the visual display which only shown threats. Peadouprters,
army field units, etc . may show up on the RWR if they nre
monitoring the aircraft with their radar, but unless there
is SFM or PPA equipment at that location, they will not be
on the visual display. Cn the RWE, all signals are plotted
with the same symbol. However, the stronqest signal
received is plotted on the outer circle. Let me say that
again: The stronyest signal, possibly the c site to
the aircraft, is plotted f h away from the triangle
* representing the aircraft in the center. This is
representative of Radar Warring Receivers being- used in
actual Pir Force aircraft today. It gives very good
relative bearing (azimuth) information since aircraft
heading is considered to be at the top, and it prevents the
sites of importance (the strong signals) from hiding each
other, which would happen if they were all plotted in the,%.
center of the display.
One final note. When the PWR display is shown, there
are two "buttons" which are active. To the left is the "C"
or chaff button, and to the right, the "F" button. These
buttons, as well as how to interact with the rest of the
simulation controls will be explained in the next section.
-0126
Interacting with the Simulation
The simulation is interupt driven, running in
approximately real time, when it is running, and in a "time
out" state while you are making inputsC. bviously, the
crucial things to know are how to stop it so that you can
interact, and how to start it again when your inputs are
complete. To stop the simulation, enter a control c. That
o , hold the 'CTRL' key down and type a "c" . The
simulation will stop, and the TEKTRCNIX cursor will appear.
(The TEKTFONIX cursor consists of a very fine line
horizontally and vertically through the entire display.)
If you don't see the cursor, rotate thE white thumb wheels
which are to the right of the keyboard until they appear.
The menu item for a maneuver is "picked" by positioning the
cursor intersection in the appropriate box and pressinp the
space bar. If the software needs more information, it
prompts you for it in the interactive area. When all
requirements for the maneuver are complete, the cursor will
again appear. This allows you to make as many inputs as
you desire before restarting the simulation. When you have
entered all of the maneuvers you have in mind for t he
"timeout" period, simply enter a lo ve r case "c" to
continue. This is also how you initially start the
simulation. That is all there is to it. First let's look
at an example, and then some special cases.
- You are cruising along at 15,000 feet, and decide
that you would see a lot better f-on louer nltitude, and at
127
the same t me hide from some of the enemy radar. First,
you have to stop the simulation so that you can interact.
Fold the "CTRL" key and enter a "c". The cursor should now
be visible on the screen (it' s not very bright). If you
can't find it, rotate the thumb wheels a bit. Uow that you
have the cursor in sight, you must decide which rate of
descent you want to make. Femember the left col umn is
rormal , the right column maximum rate in the menu. Vow,
rotate the thumb wheels to position the cursor on your menu
choice Pnd tap the space bar . You have now told the
software to descend, but now you must specify how far. The
procram will prompt you with ENTER FEET>. Type the number
of feet you wish to descend, end a "return" key to enter
your choice. The menu should display a dashed box around
y,ur menu pick to show you that it understands your
comrrnmand , and the cursor will return to indicate that the
computer is ready for the next commprd. Let me repeat an
important point. When maneuvering the aircraft , the
prompts are for the change desired 1= the destination. So
ts knots to cange, not final airspeed , degrees to turn,
rot rew hepding, etc.
The top six of the ten menu items work Fs outlined
nbove. Pick with the cursor and space bar, then refine
your c-mmand with keyboard inputs by respond in to the
prompts ir the interactive Prea.
SelrctinF the EC: FCDE or its V"x box is sli7htly
different from the above. First, the screen v ill refresh
12C
.- A
to display the defensive mode: RADAR WARFING RECEIVEP fnd
CURRENT ECM STATUS. You will then be prompted to enter the
jammer identifier, and the power desired. If you enter 7ero
for power, you have turned thet jammer off. Ctherwise you
will be prompted to enter the frecuency code and sector.
The interpretation of the power and frecuency codes is
-iven in TAPLE 1.*
Notc: The defensive mode display w-ll be presented for
each refresh cycle until the ROMFING MODE box is selected.
Four items require only the cursor/space bar pick.
These are the C button to deploy a chaff pod, the F button
to deploy an infra-red flare, the AEORT MISSSION box which
maneuvers the aircraft to its preset abort profile, and the
RES U ME PREPLAFFD FLIGHT PATH* box, which manuevers the
aircraft back onto its preplanned route. This leaves only
the BOMPING MODE box to explain.
Selecting the FOMPING MODE box allows you to deploy
one of your remaining weapons. This pick will cause the
visual display to be updated and shown, and the cursor to
again be presented. If a smaller circle is drawn on the
visual display, this delimits the sites which can be bombed
from your present position. If no sites are within ranae,
VIRAGE will tell you so, and the cursor is again the menu
pick cursor. If there Pre sites within rrnre, you i
pick one with the cursor to select as the tirget. Agir,
_ move the cursor to the site on the visual display and tap
the space bar. You will now be prompted for P weapon.
129
Enter the key number of the weapon you want to use, or a
zero if you would rather not attack, followed by the
"return" key to enter your choice. The cursor will be
• ready to pick your next command.
Note: To deploy another weapon, you must re-select POMBING
MODE and proceed as above. You will not be allowed to pick
a second target with the command cursor.
Note: The offensive mode display will be presented for
each refresh cycle until the ECM mode or MAX box is
selected.
By now you may be thinking with all that going on
I'm bound to make a mistake. It's not as bad as it sounds.
Remember, you're in a timeout mode, so, with only a few
exceptions you can recover from an errant pick. First, the
exceptions: deploying chaff, flares, and weapons. When the
hardware is launched it's gone; you can't call it back.
The remaining maneuvers can be undone simply. Picking a
change in direction, speed , or altitude will logically
over-write a previously indicated change in direction,
speed, or altitude respectively. You can certainly turn
left and accelerate simultaneously, but you cannot climb
: and descend. In other words, if you enterred a "TURN LEFT
0-'O DEGREES", but you meant rightI go back and pick "TURN
RIGHT" and enter "30" when prompted for derees. Cnly the
last maneuver of each type (change in direction, speed, or
altitude) will be executed. Maneuvers in the same directior
do not combine, either. Ten ACCFLERPTF 20 KIIOTS Pre the
130
same as one. To cancel P maneuver altogether, repick it
and enter zero for the amount. If you have had a
particularly bad "titeout", and the menu or interactive
scratch pad are confusing you, it is possible to clear the
display and see your present status. This control
character and the others will be described next.
Six special characters operate when in the
interactive mode. To refresh the screen, and only show the
highlighting boxes for the current flight maneuvers, enter
a lower cese "r". To change the timestep, that is, the
period of simulated time which will elapse before the next
automatic redrawing of the screen, enter a lower case "t".
To change the delay multiplier, and alter the real time
aspect of the simulation, enter a lower case "d" . To
signal that your inputs are complete, and you wish to
continue the simulation, enter a lower case "c". To have a
help message displayed, enter a lower case "h". To
terminate the program altogether, and exit to the command
mode of the computer, enter an upper cpse "T". Femember,
these only work when you are in the interactive mode. To
get there from the run mode, hold the CTRL key and type a
"c". The control functions are summarized in Figure
*below.
p1 1
S:!Control EffectCharacter
c Stop the simulation/allow for inputs
r Refresh the screen
h Display a help message
t Change the timestep
g.d Change delay multiplier
c Continue simulation
T Terminate the program
FIGURE A-3Control Characters
NOTE: Entering a control c while the screen is being
redrawn will cause a scrambled display. It does no harm,
however. To get a usable display enter a lower case "r"
and continue with your planned interaction.
With your new understanding of the displeys as
described abo7e, and the commands used to interact with the
program, you're now ready to run the program. I'm sure you
will enjoy it!
132
.4::
VTrA-V 1- A
Michael James Goci was born on 23 May, 1950, in
Wyandotte, Michigan. He graduated from Cass Technical High
School in 1968. He attended Oakland University at
Rochester, Michigan and received a Bachelor of Arts Degree
in Mathematics in April 1972.
In August, 1972, he entered the Air Force through
Officer Training School. Upon receiving his commission in
November, 1972, he was assigned to Laughlin Air Force Base,
Texas for Undergraduate Pilot Training. Following
graduation in February 1974, he was assigned to Webb Air
Force Base, Texas as a I-37 instructor Pilot in the
Security Assistance Training Program. He trained students
from Vietnam, Iran, several African nations, and varicus
South American countries as well as one class of American
*: students.
In December 1977, he was transferred to Pease Air
Force Base, New Hampshire where he was an Aircraft
Commander in the KC-135 and an instrument flight
instructor. He completed the Master of Management Science
Program from the University of Northern Colorado in March
1980.
In June 1981, he was assigned to the Air Force
I nstitute of Technology to study toward a Master's Degree
in computer 3cience. He is also an active member of Tau
* (. Beta Pi.
133............ q..
S CURITY CLAS ICATIOM O T I wAGE (ll .t. e lat. Rntarea0
REPORT DOC TATMH PAGE B R COMPLETING FORM1. REPORT NURSER .. 2. o ACCESSION NO. S. RECIPF''T'S CATALOG NUMBER
APIT/GcS/RA/82D-&C 4. TITLE (and Subtitle) S. TYPE OF REPORI PERIOD COVEREDoANINTERACTIVE B0OMBING MISSION "sTc EOT ~o OEE
SIMULATION WITH COMPUTER GRAPHICS MS ThesisINTERFACE S. PERFORMINO ORG. REPORT NUMBER
,* 7. AUTHOR(*) 6. CON! RACT OR GRANT NUMBER()
Michael J. GoolCapt
S. PERFORMING ORGANIZATION NAME AND ADODESS 10. PPOGP V ELEMENT. PROJECT. TASK
Air Force Institute of Technology (AFIT-EN APE A WORK UNIT NUMBERSWright-Patterson APB, Ohio 45433
II. CONTROLLING OFFICE NAME AND ADDRESS 1. REPORT DATE
Avionics Laboratory, Electronics December, 1982Warfare Division (AFWAL/AAWA) 13. [EROF PAGES-
Wright-Patterson APB, Ohio 45423 ________
14. MONITORING AGENCY NAME & ADDRESS(If different from Centrollind Office) IS. SECURITY CLASS. (of this report)
UnolossifiedISa. DECL ASSI PIC ATION/ DOW GRAOING
SCHEDULE
1B. DISTRIBUTION STATEMENT (of Of@ Report)
Approved for public release; distribution unlimited(..,.
I7. DISTRIBUTION STATEMENT (of the abstract entered il Block 20, If different from Report)
IS. SUPPLEMENTARY NOTESS low _nw W APR + f relas190-17:;vnWqe ft-d l "-Proelenlet- 'IT AID
Air fm Uw ztct d Pehvibes 64'A~r .. e EUhe 1ec§rn2og *' I'ami9fr!ffairs
It. KEY WORDS (Continue an reverse de It necessary and Identif by block numubor)
Computer GraphicsComputer SimulationComputer Modeling
(Con en 'epseeOaids If neeom'md entifob block nsbee)n'nger Te flight simulation with computer graphicsInterface was designed using top-down structured analysistechniques. The project converts a passive bombing missionsimulation used In the Avionics Laboratory, Air Force WrightAeronautical Laboratories at Wright-Patterson APB, Into aninteractive, real-time, man-in-loop simulation. The designwas documented using SofTech's Structured Analysis and Design
DD1473 rirom or 1 Nov so is OESOI.aTe, N 473 TON INOV6IOSLT SECURITY CLASSIFICATION OF THIS PAGE (RMen Date anfare.
.* *. - . . I.;'..;.._;'2.;: : : -_ ,. :. : ,. : .Z .: .":."_+::. .:- .' .,-. -, . .. " -. . . . ..... " .. .. . :. , :.i - . . :_ : .. : : - , :
[CURqITY CLASSIFICATION OF THIS PAGUMIOh. Dao, EleSe n"
Technique (SADT) then coded In FORTRA, The graphics were :Implemented using TEKTRONIX PLOT-1O software and the systemoperates on a VAX-11/780 computer coupled through a.TEKTRONIX 4016 terminal. .1
-w -
Zr..
, V' . . .-
u'-i
S............-- .
;.. . . . .
|.. -I
FILMED
3 S,