Download View/Open

Transcript
DUDLEY EITOX LIBBABY
NAVAL POSTGEADUATS SCHOOL
MOUTEESY, OALIFOn,KIA 95943-6002
NAVAL POSTGRADUATE SCHOOL
Monterey, California
THESIS
AN EXPERT SYSTEM TO PROVIDE GUIDANCE ON
THE OPERATION
OF INSTALLED DAMAGE CONTROL SYSTEMS
ABOARD NAVAL SHIPS
IN EMERGENCY SITUATIONS
by
Bernard G. Gogel
December 1986
Thesis Advisor
Neil C. Rowe
Approved for public release; distribution is unlimited
T230533
Unclassified
SfCU«irv CLASSIFICATION Of Thi? PAof
REPORT DOCUMENTATION PAGE
la
REPORT SECURITY CLASSif ICATION
RESTRICTIVE
lb
MARKINGS
Unclassified
2a
SECURITY CLASSIFICATION AUTHORITY
2b
DECLASSIFICATION
Approved for public release;
distribution is unlimited
/DOWNGRADING SCHEDULE
PERFORMING ORGANIZATION REPORT NUMBER(S)
4
6a
NAME OF PERFORMING ORGANIZATION
ADDRESS
6b OFFICE
(If
8a
NAME OF FUNDING /SPONSORING
ORGANIZATION
8c
ADDRESS
Sfafe,
7a
NAME OF MONITORING ORGANIZATION
Naval Postgraduate School
Code 52
ADDRESS
7b
Monterey, California
(C/fy,
SYMBOL
ippli<abl«)
tnd 2lPCodt)
(Cry. Sfaf*,
MONITORING ORGANIZATION REPORT NUV8ER(S)
5
Naval Postgraduate School
6<
OISTRIBUTION/AVAILABILITY OF REPORT
3
Stttt.
(C/fy,
ind
ZIP Code)
Monterey, California
939^3-5000
8b OFFICE SYMBOL
(If ipphciblt)
PROCUREMENT INSTRUMENT IDENTIFICATION NUM9ER
9
and Z/PCcx^)
939^3-5000
SOURCE OF FUNDING NUMBERS
10
PROGRAM
PROJECT
TAS<
WORK
ELEMENT NO
NO
NO
ACCESSION NO
UNIT
GUIDANCE ON THE OPERATION OF INSTALLED DAMAGE
CONTROL SYSTEMS ABOARD NAVAL SHIPS IN EMERGENCY SITUATIONS
''AN^'M'pMV^SY'5fEM''T0°" PROVIDE
PERSONAL AUTHOR(S)
i
Gogel, Bernard G
fYPE OF REPORT
3a
13b
COVERED
TIME
DATE OF REPORT
14
FROM
Master's Thesis
(Yttr
Month Day)
IS
PAGLLO^^NT
1986 December
TO
SL.PPLEMENTARY NOTATION
6
COSATi COOES
F
GROUP
ElD
ABSTRACT (Continue on
•9
18
SUBGROUP
reverie
if
neceiiary and identify by block number)
Damage Control, Expert Systems
neiemr^ and
if
SUBJECT TERMS (Continue on revertt
identify by bicxk
number)
We discuss the design and Implementation of Emergency, a prototype expert
It provides recommendations on emergency
damage-control-guidance system.
action procedures, and information on the location and use of the installec
damage control systems aboard the ship to Damage Control Central personnel,
who can transmit the information to the On-scene leader at the site of the
emergency.
This prototype system handles emergencies involving personnel
A type of decision lattice control
injuries, fire, flooding, or fumes.
The program takes advantage of the
structure was used for the program.
similarities that occur during all emergencies with general procedures
at the top of the lattice.
At the bottom of the lattice, procedures
handle the detailed requirements for the identified hazard and source.
This structure allows for future additions to or revisions of the methods
of combating emergencies.
The program Emergency has laid some valuable
S'R'3UTlON/ AVAILABILITY OF ABSTRACT
:0
EK-'NCLASSlFlED^NLiMlT£D
I2a
NAME OF
Q
21
SAME AS RPT
Q OTiC
RESPONSIBLE INDIVIDUAL
Unclassified
22b TELEPHONE f/nf/ud* AreaCode)
Neil C. Rowe
DDFORM
1473. 84 MAR
ABSTRACT SECURITY CLASSIFICATION
USERS
l|
83
APR
edition
All
may be used
until
08-6 4 6- 24 6 2
exhausted
other editions are obsolete
22c
OFFICE
SYMBOL
52Rp
SECURITY CLASSIFICATION OF thiS PAGE
unclassified
Unclassified
SECURITY CLASSIFICATION OF THIS PAGE (Whtn Dmtm Bnffd)
(continued)
groundwork for a prototype aboard a Naval ship
#19 Abstract
S
N 0102- LF- 014- 6601
ynr.l a<?<aifiQd
SECURITY CLASSIFICATION OF THIS PAGE(Trh»n Dmtm Bnfrmd)
Approved
for public release; distribution
is
unlimited.
An Expert System to Provide Guidance on the Operation
of Installed Damage Control Systems Aboard Naval Ships
In Emergency Situations
by
Bernard G. Gogel
Lieutenant Commander, United States Naval Reserve
B.S., Purdue University, 1972
Submitted in partial fulfillment of the
requirements for the degree of
MASTER OF SCIENCE
IN
COMPUTER SCIENCE
from the
NAVAL POSTGRADUATE SCHOOL
December 1986
1
G'
L-
ABSTRACT
We
discuss the design
and implementation of Emergency,
damage-control-guidance system.
It
a prototype expert
provides recommendations on emergency action
procedures, and information on the location and use of the installed
systems aboard the ship to
Damage Control
information to the On-scene leader at the
Central personnel,
control
lattice
advantage of the
structure
similarities that
at the top of the lattice.
At
the
who can
transmit the
of the emergency. This prototype system
site
handles emergencies involving personnel injuries,
decision
damage control
was used
occur during
for
all
bottom of the
fire,
the
flooding, or fumes.
program.
A
type of
The program takes
emergencies with general procedures
lattice,
procedures handle the detailed
requirements for the identified hazard and source. This structure allows for future
additions to
or revisions of the
Emergency has
laid
methods of combating emergencies. The program
some valuable groundwork
for a prototype
aboard a Naval
ship.
THESIS DISCLAIMER
The reader
is
cautioned that the computer program developed in this research
only a prototype and
may
not have been exercised for
potential aspects of the the operation of installed
addressed by this program.
available, to ensure that the
be
considered
verification
is
validated.
While every
program
Any
is
free
effort
cases of interest.
damage control systems
of
Many
are not
has been made, within the time
of computional and logic errors,
application
at the risk of the user.
all
is
this
program without
it
cannot
additional
TABLE OF CONTENTS
I.
INTRODUCTION
II.
BACKGROUND
B.
ENVIRONMENT
METHODS TO AUGMENT THE KNOWLEDGE OF
THE ON-SCENE LEADER
C.
IV.
12
14
14
EMERGENCY: A DAMAGE CONTROL GUIDANCE
SYSTEM
A.
PROGR.'XM DESIGN CONSIDERATIONS
EMERGENCY SYSTEM: DESCRIPTION OF
B.
OPERATION
C.
DATA STRUCTURES
23
USING THE EMERGENCY SYSTEM ON US NAVY SHIPS
28
16
16
18
MEMORY REQUIREMENTS
A.
28
PROGRAM LANGUAGE REQUIREMENT
HOW TO INSTALL EMERGENCY
B.
C.
V.
12
SHIPBOARD DAMAGE CONTROL ORGANIZATION
SHIPBOARD DAMAGE CONTROL TRAINING
A.
III.
9
28
29
CONCLUSIONS
DISCUSSION OF THE RESEARCH
EMERGENCY SYSTEM LIMITATIONS
A.
B.
D.
APPENDIX
APPENDIX
32
32
FUTURE PROGRAM IMPROVEMENTS
BENEFITS OF RESEARCH
C.
APPENDIX
32
A:
B:
C:
34
34
DEMONSTRATION OF EMERGENCY PROGRAM
HANDLING A MEDICAL EMERGENCY
36
DEMONSTRATION OF HANDLING A FIRE
BERTHING COMPARTMENT
39
DEMONSTRATION OF A FIRE
MACHINERY ROOM
IN
IN
A
A MAIN
43
APPENDIX
LIST
D:
LISTING OF
PROGRAM EMERGENCY
OF REFERENCES
51
84
BIBLIOGRAPHY
85
INITIAL DISTRIBUTION LIST
86
1
OF FIGURES
LIST
evaluation of a report of an emergency
17
3.1
Initial
3.2
Procedure to handle a personnel injury
3.3
Sequence of actions
3.4
Example of a case
3.5
List of possible
3.6
Menu
for the user to select the type of
3.7
Menu
to select type of Injur\' or Illness
3.8
Notice of Boundaries to be
3.9
Example of a Safety Precaution
3.10
Fitting locations for a
23
3.1
Operating
23
3.12
Codes
for Piping
3.13
Codes
for
3.14
Codes
for Installed
in the event
18
of damage to the ship
structure
18
19
Compartments
for
Emergency
emergency
set
HALON System
Instructions for a HALON System
Systems
Compartment Use
Damage Control Systems
20
21
21
22
22
25
25
26
I.
INTRODUCTION
With the every increasing tendency toward the use of advanced and sophisticated
equipment aboard ships
in the
US Navy
many
it is
practical
opportunities for
installed systems
damage
most
aboard commercial ships and
effective
manner
is
The abiUty
equipment
is
damage
1:
p.
verv'
Naval ships
S.
The
have also gotten more
in large buildings
essential to limit the
to protect the personnel present.
can be
ships
large
[Ref
to use
to occur to the ship and/or personnel.
complex and are understood by very few personnel.
in the
and economical
The operating environment of most U.
extensive and complicated.
provides
equipment
damage control systems aboard modern,
Installed
175].
has become a problem maintaining expertise
Naval ships are provided with the most modern and
aboard the ships to operate them.
effective types of fire fighting
it
to
combat
casualities
to a ship or a building
and
Proper use of the available installed damage control
usually the most effective
method
to
combat an emergency on
a ship or
in a building.
almost impossible for an individual to become an expert in
It is
damage control
systems, he
is
By the time the person
systems.
is
ship
on
ready for transfer or has reached the end of his obligated service. The
when they
should
Training
personnel available.
training that
is
be
done
training of shipboard personnel in
situations
by the most
is
an
but
difficult
damage
control
essential,
competent
Unfortunately the best people often are assigned other duties
which greatly constrains
able to
Adequate
are detailed for sea duty.
methods of handling emergency
requirement.
damage control systems vary
Personnel are not routinely assigned to the same class of
different ships.
the proper
the various
one or two major
proficient in
locations of the controls and the valves of the installed
greatly
all
more
their ability to take time to train others.
difficult to
teach
is
Another element of
famiUarity with the ship's layout and being
fmd and operate the various systems on board [Ref
2: p.
vi].
Instead of
attempting to teach personnel to become experts in the location and operation of the
installed
systems,
it
is
proposed
to
develop
an
expert
system
to
provide
this
information to the user.
An
expert system uses
some method of reasoning
determine the best course of action to acheive a goal.
to eliminate
bad choices and to
Expert systems use information
in
an
perform some task that
to
normally associated with
is
human
There are many possible emergencies aboard a ship and there are many ways
experts.
to
way
"intelligent"
Human
combat them.
Some method
ships are difficult to find or train.
for the given
set
damage control systems aboard Naval
experts in installed
of emergency conditions
to determine the best course of action
An
needed.
is
expert system would be
applicable for this use.
Numerous
and are
in use
many
expert systems for
DENDRAL
today.
throughout the United States that
extensively
by
and
scientists
have been developed
an expert system used by research chemists
molecular structures from mass
identifies candidate
and nuclear magnetic data
spectral
is
different applications
[Ref.
engineers
MACSYMA
51].
3: p.
provide
to
is
solutions
a system used
variety
a
for
mathematical problems, such as algebraic simplification and integration [Ref
MYCIN
52].
3: p.
provides guidance in diagnosis and therapy in certain classes of infectious
blood diseases [Ref
attempts to
make
PROSPECTOR
is
a
CADUCEUS
53].
3: p.
diagnosis
in
the
is
a
domain of
medical consultation system that
medicine [Ref
internal
3: p.
54].
PROSPECTOR'S
performance
is
that of expert geologists. All of these systems enhance man's ability to
after evaluating the
many
possible alternatives.
the problems already solved with an expert system.
assist
equipment on a ship or
It
is
soil
comparable to
make
The problem of providing
personnel in the operation of installed damage control systems
system to
40].
3: p.
an expert system that provides probabilistic interpretation of
and geological data [Ref
expert
of
decisions
assistance to
similiar to
some of
should be possible to develop an
personnel in the identification and operation of installed
in a building. This study will consider installed
damage control
systems on Naval ships.
This study discusses the design issues and the implementation of an expert system
to provide guidance
on the use of
installed
damage control equipment. This expert
system, a prototype expert damage-control-guidance system, will be called Emergency
in this study.
The purpose of
this thesis is to
demonstrate that a computer program,
designed as a type of expert system, to guide personnel in the operation of installed
damage control systems
Emergency
provides
is
possible.
emergency
In the event of a medical emergency, the program
first
aid
transportation precautions. In the event of a
listing
instructions
fire,
and
flooding, or fumes,
of berthing compartments to be evacuated and also a
location to be closed to set the primary boundaries.
10
personnel
It
will
list
of
it
casualty
provides a
fittings
and
their
provide procedures to
determine the source of the hazard and provide safety precautions for the identified
hazard.
It
the identification
lists
number and
location of control devices to operate
appropriate installed damage control equipment.
and
provides instructions on the proper
operation of the installed equipment to combat and eliminate the given
safe
The program
hazard.
It
also provides the proper procedures
and
tests to
recover from the
emergency.
Chapter
aboard U.
teams,
S.
how
Chapter
II
provides background on the typical
Naval
ships.
personnel are assigned to emergency
personnel are trained, and the limitations of the current organization.
III discusses the
similarities
how
This includes
damage control organizations
There are some
design and implementation of Emergency.
between the methods used
in handling the various kinds of emergencies, but
each emergency also has the possibility of having some unique requirements depending
on the location of the emergency
must be able
to
make branching
handling the emergency.
in the ship.
The control
structure for the
decisions to accomplish the detailed procedures for
Because of the need for branching from general
detailed procedures, a design structure very similiar to a decision lattice
type of design structure allowed the program to
same general manner before implementing the
identified
using,
hazard and source.
initially treat
was
more
to
used. This
each emergency
in the
detailed procedures associated with the
Chapter IV provides a discussion of the methods of
and expanding Emergency
refining,
program
for use
aboard Naval
ships.
Chapter
V
contains the conclusions of the research effort involved in developing the prototype
program. This section also discusses the limitations and and weaknesses of Emergency
as well as
the
Emergency
handles
demonstrating
is
benefits.
Appendix
medical
how Emergency
A
emergencies.
handles a
a user session listing demonstrating
fire.
Appendix
D
is
a
listing
a
is
user
session
Appendix
fire in
is
a
demonstrating
user
session
a berthing compartment.
how Emergency
of program Emergency.
11
B
listing
how
listing
Appendix C
handles a main machinery'
room
II.
BACKGROUND
SHIPBOARD DAMAGE CONTROL ORGANIZATION
A.
A
Naval ship contains many potential hazards and can be
under certain conditions. Emergencies such as
fire,
almost any time underway or inport. The most
common
For
An
this
a dangerous place
flooding, or fumes can occur at
shipboard emergency
reason ships organize their primary emergency response team as a
emergency response team
is
a group of personnel
is fire.
fire party.
from the ship that can perform a
wide variety of tasks. The team would be made up of people with different talents that
could be combined to combat emergencies.
men and
A
and design an organization
materials
equipment to combat
fires
must determine the
ship
for
and other emergencies.
the
employment of men and
form
called a "Fire Bill"
Standard ships' Fire
This information
and made available
Bills,
to
certain
individuals,
put into a comprehensive and
intelligible
to all personnel addressed in the
document.
is
established by each
Type Commander and
set forth in
General Organization Books, are used as a guide by ships concerned [Ref.
The purpose of
the Fire
Bill
is
to establish a fire fighting organization
certain responsibilities for individuals
related emergencies are effectively
When
the ship
is
and departments to ensure that
etc.,
Type
4: p.
75].
and specify
fires
and other
and quickly handled.
underway, a special team
and other emergencies. The name of the
Flying Squad,
and
Specific responsibilities, duties,
employment of equipment must be prepared and assigned
divisions, or departments.
availability of
unit,
might vary from ship to
is
normally assigned to combat
fires
such as Fire Department, R-Division
ship,
but the purpose
is
to provide a
coordinated team of personnel well trained in firefighting and damage control that can
respond quickly
in
an emergency. Most of the personnel assigned to
normally from the engineering ratings.
this
team
are
Personnel in the engineering ratings work with
the equipment that powers the ship. These personnel could be electricians, machinists,
welders, pipefitters, boiler technicians,
technical area.
and others that work with
their
hands
These personnel tend to have a good knowledge of general damage
control procedures, but they are not particularity familiar with the location of
installed
maintain
damage
the
in a
control systems outside the engineering spaces where they
propulsion
plant
and
ship's
12
service
equipment
such
as
all
work
the
to
electrical
The engineering spaces
generators.
Underway
the
available in
are
^Damage Control Assistant and
Damage Control
charts and manuals.
Damage Control
Central contain
A
the compartments.
in a building.
The
show
charts that
damage
all
the information about
compartment, or space, on a ship
is
distinct
is
of a
ship.
control personnel will be
The damage control
has definable boundaries and
It
senior
Central to provide what information
damage control
all
on the lower decks
usually
available
is
from the
and manuals
charts
the ship's systems
all
room
like a
in
and
or a corridor
from the surrounding spaces.
the compartments and installed systems are difficult to read
because of the small print and the large volume of material on a single chart. Because
of the small spacing,
Finding the watertight and/or fiametight
difficult to trace.
of a
Central.
single
or flooding
fire
The
connecting the systems between compartments can be
lines
fitting are
Damage Control
also the responsibility of the personnel in
is
needed to
set a
complete
firetight or watertight
boundary
frame from one side of the ship to the other, both forward and
emergency. These
Some of
fittings
can be doors, hatches,
scuttles, or ventilation
when looking
the appropriate fittings can be easily missed
hundreds of
fittings.
manuals and
charts.
This information can take
Once
the required information
some time
is
event
fittings to close in the
fittings.
at a chart
with
determine from the
to
obtained,
of the
aft
duct
at a
it is
passed to the On-
scene leader via the sound powered phone talker.
Fires or emergencies that occur during
combat
or while the ship
is
at general
quarters should be handled as battle casualties by the Repair party organization in that
section of the ship.
The area covered
normally the second deck,
down
usually extends from the
to the keel,
or
damage control
bottom of the
ship.
deck,
Repair party
personnel should be familiar with their area. In large ships, such as aircraft carriers, the
area can
become
quite large. There
is
also a tendency for a large turnover of personnel
assigned to repair parties. Therefore repair party personnel in
familiar with the location of
area. This information
is
all
installed
many
damage control equipment
usually obtained from the
damage control
cases are not
in their assigned
charts and manuals
in the repair locker.
"The In-Port Fire Party
shall
be composed primarily of personnel in the regular
damage control
repair parties, each duty section having an effective fire fighting force"
[Ref
A
thirty
4: p.
75].
men.
typical Inport Fire Party
If the ship has the
normal
aboard an
aircraft carrier will consist
six section inport
watch
result in 180 people in the Inport Fire Party organization at
13
rotation, this
of
would
any given time. These 180
number of
people, plus a
alternates in the event of leave, schools, etc., have to be
and
trained in their specific job
individual in both general
up
eight
to
[Ref
5: p.
to
work
damage control and
months depending on
for a specific job
on
the individual's motivation
a fire
train
an
team can take
and learning
ability"
almost impossible to train a significant number of personnel on the
It is
15].
"The time to
as a fire fighting team.
Inport Fire Parties on the location and operation of
all
the installed
damage control
systems.
SHIPBOARD DAMAGE CONTROL TRAINING ENVIRONMENT
B.
The rapid increase
control training task
skills
complex systems aboard Naval ships has made the damage
in
more
difficult.
members have
Since crew
to be proficient in the
of their rating, damage control training will usually not have a high priority in the
allotment of training time. The exercises that are held on board most ships only keep
the
members of
procedures.
the repair party organization familiar with general
By the time an individual crew member
damage
control systems on board the ship, he
end of
his
member
obligated service.
acquires
and
assignments since there
and
or ver>' similar for
it is
difficult to
installed
systems
a great difference
all
ship classes.
memorize and
is
for
his
not
among
as
future
readily
a
crew
assignments.
The
that
applied
to
future
ship classes as to the location of
for a given
damage control system
is
the
The procedures however can be very complex
retain a
working knowledge of
all
of them.
METHODS TO AUGMENT THE KNOWLEDGE OF THE ON-SCENE
C.
LEADER
The key
individual at the scene of an emergency
effectively coordinate the efforts of his fire party.
an
installed
ready for rotation or has reached the
valuable
be
will
The operating procedures
the control devices.
same
is
familiar with the
is
The general damage control knowledge
retains
knowledge acquired about
is
damage control
Intelligent
Team
(ICAI)
leaders
is
Computer Aided
[Ref
a possible
5: p.
way
21].
The use of
He must
Intelligent
program
to
help train Fire
Computer Aided
Instruction
improve the quality of training to handle damage
control and emergency situations [Ref
LCDR
the on-scene leader.
LT. Stephen G. Weingart developed
Instructional computer
to greatly
training personnel in general
is
damage
5: p.
21].
ICAI can be of
great benefit in
control and emergency procedures.
The author,
Gogel, prepared a study that focused on the development of an expert system
that provides guidance to the on-scene leader in the proper utilization of the ship's
14
damage control equipment. The system would be extremely
installed
on-scene leader of the inport
underway
fire
fire
beneficial
to the
but would also be very valuable to the
party,
fighting organization. In the event of a battle casualty to the on-scene
leader, the expert
system could greatly
the task of combating an emergency.
assist
an inexperienced on-scene leader take over
This program
is
scene leader like LT. Weingart's program, but rather
that can be used
by the on-scene
leader might learn
not a training system for the on-
it is
a tool to provide information
leader. After several uses of the
program the on-scene
the detailed procedures for that situation. However, training
all
not the primary reason for
this
program.
The primary purpose of
the
program
is
is
to
provide an expert source of information on the operation of installed damage control
systems.
Microcomputer systems that can
proposed for use
in the
removal, free surface
to the
and
retrieve large
and rapid manner are becoming commonplace.
accurate
gravity,
store
damage control organization
effect,
and trim" [Ref
2: p.
amounts of data
"Computers
to solve such
have
in
an
been
problems as
list
counterflooding, relocation of centers of buoyancy and
131].
A
microcomputer with
a database of information as
proper number and the location of installed damage control systems would be
an extremely valuable tool to augment the knowledge of the on-scene
would only have
to enter information
about the emergency
in progress.
leader.
The user
The knowledge
of the ship's systems and the proper procedures to operate them would be in the
program
or data base.
15
EMERGENCY: A DAMAGE CONTROL GUIDANCE SYSTEM
III.
PROGRAM DESIGN CONSIDERATIONS
A.
The problem of
damage
control equipment was evaluated for the types of emergencies that could be
anticipated.
aboard
assisting the on-scene leader in the proper operation of installed
The author of this study has been involved
aircraft carriers.
damage
control
That experience and the guidance of the appropriate Naval Sea
Systems Technical Manuals were used
combat an emergency.
in all aspects of
It
in evaluating the needs of the on-scene leader to
was determined that
most emergencies
the beginning
at
require similar courses of action. Emergencies can be divided into the major areas of
injury to personnel or
using
the
ship's
damage
to the ship.
Emergencies are reported
compartment numbers. Figure
emergency should be
initially
fumes,
fire,
many
shows how the report of an
3.1
evaluated. If the emergency
should be handled as shown in Figure 3.2
If the
.
was a personnel
emergency was a
injury,
fire,
it
flooding, or
similar actions should take place. Boundaries should be set to contain the
flooding, or fumes to one area of the ship.
determined. The source or cause of the
fire,
The source of the emergency should be
flooding, or fumes should be eliminated.
Procedures to recover from the emergency should be
initiated.
sequence of actions that need to be taken in the case of a
details
at a given location
fire,
Figure 3.3 shows the
flooding, or fumes.
The
of the actions would vary depending on the type of emergency.
Even though many of the basic procedures
for handling emergencies are the
same, there are a large number of possible combinations of hazard types and sources.
The methods of handling emergencies
and what
installed systems are available.
would not be
covered.
will
An
practical due to the large
vary depending on the location in the ship
A
library of procedures for different cases
number of possible
cases that
would have
to be
expert system that, for specific hazards, can determine the applicable
segments of general procedures was needed.
A
compiled program was desired for
microcomputer on various ships
at sea.
but slow-to-execute form and convert
elTicient
operation of the program on a
"Compilers take a program in an easy-to-read
it
to
a
more
efficient
"Compilation techniques can also make
many
more
essential that the
efficient"
[Ref
6: p.
95].
It
was
16
kinds of
one" [Ref
artificial intelligence
program be
6: p.
95].
programs
as general as
Emergency discovered
at a given'location
Is
^f
^^°
Determine
the nature
the emergency,?^
,
^ nature of
known
Damage
emergency
to Ship
Fire
^
Flooding
Fumes
personnel
(Medical )
Injur\' to
Figure
possible and use
3.1
common
Initial
evaluation of a report of an emergency.
procedures where applicable.
desired also for ease of maintaining
lattice
was considered
efficient
Good programming
design was
and improving the program. The use of a decision
as a possibility.
A
decision lattice
would permit
a restricted but
form of forward chaining.
The prototype program was designed using
top-down stepwise refinement
a
methodology. The overall design was a type of decision
lattice
structure with
global variables to pass the type and the source of the hazard.
The program was
designed to obtain the data about the installed systems aboard the ship from disk
Information on the type and location of the emergency
keyboard. Case structures, as shown in Figure
next
recommended course of action
resolve a question by inference
information that
it
needs.
3.4, are
is
it
used to make decisions as to the
already knows,
This information
17
is
files.
to be entered at the terminal
to present to the user.
from what
some
When
it
the
program cannot
asks the user to provide
used with information about the
Injury to Personnel
Medical
(
)
1
Determine
Provide
Type of
Provide best
route to
sickbay
emergency
First Aid
Injur>'
-n
Transportation
Precautions
Procedure to handle a personnel
Figure 3.2
Damage
injury.
to Ship
Fire
Flag
Flooding
Set
Fumes
Set Boundaries
Identify
Eliminate
to contain the
Source'
or contain
the hazard
emergency
Sequence of actions
Figure 3.3
compartment where the emergency
is
Recover
from the
emergency
in the event
of damage to the ship.
located to determine the best recommendations
to pass to the user.
B.
EMERGENCY SYSTEM: DESCRIPTION OF OPERATION
Emergency
is
a
program
terms standing a watch, in
On-Scene Leader
in
which the typical user
Damage Control
at the scene
Central
is
a sailor
who must
on duty, or
in
Naval
pass information to the
of an emergency. Even on larger ships, some of these
18
case [email protected] of
6
:
begin
if
=
hazsource
then
1
writeln('Use
fire
station to
combat
'
if
class
"A"
possible
= 4 then
writeln('Use C02 if appropriate to ',
'extineuisn the class "D"
getco2hr(needrec);
if
7
:
hazsource
(*
encf,
fire',
.');
fire.');
6-)
begin
writelnC Use the
HALON
system
if
the
fire is out',
of control or
writelnC hazards to personnel are involved in'.
'
'
tr>'ing to
great');
combat the
fire
.');
gethalpn(needrec);
10
:
if
hazsource <
3
then
getafffhr(needrec);
11
:
begin
writeln('The compartment contains various
',
'firefighting systems.');
if
= 4 then
writelnC ^se TAPES to extinguish class "D"
hazsource
'
if
hazsource < >
3
if
fire',
appropriate.');
then
gettafes(needrec);
if
hazsource <
3
then
eetafTThr(needrec);
gethalbn(needrec);
(* II -)
{* case instalsystem of *)
encf;
end;
Figure 3.4
Example of a case
structure.
watchstanders lack the experience to obtain the proper information in a timely manner
to pass
on
to the
On-Scene Leader. The program Emergency provides that assistance
and guidance.
Emergency
location
on the
actual ship.
is
designed to start with the report of an emergency at a given
ship.
This
is
The author used
how an emergency
his years
response would start on board an
of experience
in
damage control aboard
including aircraft carriers, to design the order of actions that need to occur to
given
emergency.
The procedures
to
follow
in
combat
a
combating the emergencies were
obtained from experience and from guidance from Naval Sea Systems
19
ships,
Command
M
L
Technical Manual, Chapter 079 [Ref.
and Naval Sea Systems
1],
Manual, Chapter 9930, Firefighting Ship
the user
list
provided a
is
listing
For
this
prototype implementation,
of valid compartment numbers as shown in Figure 3.5 to
Compt. number
01-50-3-L
02-50-3-L
04-40-0-L
2-30-2-Q
2-30--4-Q
2-30- 1-Q
2-30-5-Q
2-30-6-L
2-36-2-Q
2-37-1-Q
-40-0-
-48-2-Q
2-50- 1-Q
2-60-02-60- 2-Q
2-60-3-Q
2-60-6-Q
3-30-3-L
3-60-7-L
3-70-2-L
3-70-4-L
3-73- 1-Q
3-80-0-
3-90-3-E
4-30-1-A
4-30-2-M
4-80-0-C
4-80-6-Q
4-80-4-A
5- 30-4-
5-30-1-A
5-40-0-E
5-60-0-E
6-30-1 -A
6-30-2-E
6-30-3-A
6-80-0-E
Figure 3.5
is
4].
compartment number
known.
If
will
work
Berthing
Compartment
None
None
None
Dr\' Standpipe
C02 Hose
Reel
None
None
None
None
None
Dr>' Standpipe
Exhaust Fan
None
Exhaust Fan
Passagewav
Berthmg Compartment
Cominuter Space
Storeroom
Magazine
Control Space
Passageway
Storefoom
Magazine
Storeroom
None
None
AMMO
AMMO
Main Machiner>' Room
Main Machinerv Room
Flammable Storeroom
#1
Storeroom
Pump Room #2
is
Active Sprmkler ^ys
None
None
Exhaust Fan
Active Sprinkler Svs
Dn.' Standpipe Spk
HALOX
HR
HR
AFFF HR and C02 HR
Drv Standpipe Spk
AFFF HR and C02 HR
TAU, C02
HaloiL tAU, C'02
C02 Floodine
queried
for
if
Emergency.
the nature of the emergency
unknown, the program provides some guidance
as to
nature of the emergency. Once the nature of the emergency
20
Eductor
Installed
Dry Standpipe Spk
Compartments
entered, the user
Spk
None
None
None
None
None
None
Head Space
List of possible
Spk
None
Compartment
Pump Room
After
Installed Systems
Passaeewav
Control Space
Workcenler
Passasewav
Workcenter
Admin Space
Head Space
Repair Locker
Passasewav
Galley Space
Gallev Space
Workcenter
Wardroom/galley
Passagewav
Admin Space
Medical Space
Head Space
Head Space
Berthing
program.
test the
as input for the program:
Compt. Use
is
Technical
of the ship's compartments. This option gives the user a
The Following Compartments
the
[Ref.
Command
is
how
known
to determine the
the user selects
1
one of the four types of emergencies from a menu shown
will
A
in Figure 3.6
The emergency
.
be either a personnel injury or some damage or danger to the ship and personnel.
global variable, haztype,
on the number
is
selected. This global variable
execute the details of the
fumes, or personinj depending
set to either fire, flooding,
common
is
used to determine
how
program
the
will
procedures to accomplish the required actions for
the specified hazard.
What
is the nature of the emergency or problem
Enter the appropriate number below
?
:
=
=
=
=
Fire
Flooding
Fumes
Injur>' to
Figure 3.6
If the
injury
from
injury, the
emergency
a
list
Menu
is
personnel
1
2
3
4
for the user to select the type of
a personnel injury, the user
is
emergency.
asked to enter the type of
of possible injuries shown in Figure 3.7 Using the inputted type of
program
will
provide the user with recommendations for emergency
What
tvpe of medical emergency has occurred
Enter the appropriate number below
?
:
Head
Injury
Back or neck Injury
External Bleeding
Internal Injury
Broken Leg
Broken Arm
Severed Limb
Serious Burns
Inhalation of Fumes
Electrical
Shock
Drowning
Unknown
Figure 3.7
Menu
Illness
to select type of Injury or Illness.
21
=
=
=
=
=
=
=
=
=
=
=
=
I
2
3
4
5
6
7
8
9
10
1
12
first
aid
and precautions
If the
for the safe transportation of the casualty to the ship's sick bay.
emergency
berthing compartments,
flooding, or fumes the user
fire,
is
if applicable, to
by checking the use code
all
compartments
zone or adjacent zone to the compartment that has the emergency.
for a berthing space the
number of
compartment
ventilation to the space.
is listed.
The user
and the ventilation
the electrical panel
The user
is
list
of
be cleared. The compartments are determined
compartment records of
in the
presented with a
is
is
If the use
same
code
is
then given the location and
controller to secure the
then presented with a
in the
list
power and
of water-tight and fume-
Set the following Boundaries to contain the Hazard:
Fitting
No.
FittinlNo.
Fitting
No.
WTD
WTH
WTS
Notice of Boundaries to be
Figure 3.8
fittings, as
tight
shown
ship. If the source
some
and
in
Figure
3.8, to close to isolate
of the emergency
possible sources in the area,
tests to
located at 4-37-1-Q
located at 4-37-1-Q
located at 4-37-1-Q
4-37-1
4-37-3
4-39-1
conduct. The user
is
is
the hazard to one area of the
not known, the user
compartments
set.
is
given suggestions as to
to check, piping systems to consider,
presented with safety precautions for the identified
highly toxic. All personnel who
in the course of finding and eliminating
the source of the fumes should use breathing devices.
Hydrogen
Sulfide
is
might be exposed
Figure 3.9
Example of a Safety Precaution.
hazard. Figure 3.9 shows an example of a typical safety precaution. If no appropriate
installed
damage control systems
exist,
the user
is
given recommendations on what
portable equipment to use. If installed systems are appropriate for the emergency, the
user
is
presented with a
HALON
system
is
list
of the control devices and their location.
shown
as
Figure
3.10
22
.
Operating
An
example
for a
and
safety
instructions
The compartment's
Actuator
Actuator
HALON
act# 4-40-2
rmact# 2-40-1
Figure 3.10
Actuators are as follows:
located 4-40-0-C FR 42 P
located 2-40- 1-Q FR 40 P
Fitting locations for a
HALON
An
precautions for the installed equipment are then presented.
HALON
system
extinguished,
is
shown
in
Figure 3.11
recommended atmosphere
.
System.
example
In the event of fumes or
tests are presented. In the
Before operating the installed
HALON
system
.
all
for
an installed
when
event of a
a fire
fire,
is
when
supply
and exhaust vent dampers should be closed if possible,
and all fans serving the space secured. All personnel
should be out of the space or in the process of leaving
the space. To activate the
system use the given
local or remote pneumatic actuators
HALON
Figure 3.11
the
fire is
user.
If
Operating Instructions for a
overhauled additional
tests
HALON
System.
and recovery procedures are then presented
needed and appropriate, control devices and
to the
their location are given for the
operation of installed ventilation and dewatering equipment. If there are no installed
ventilation
or dewatering systems
in
the
compartment, the program
will
provide
suggestions on what portable equipment to use.
C.
DATA STRUCTURES
The problem of how
to access the large
compartments on the ship was
be spending a
question.
lot
studied.
For
efiicient
possible data concerning the
operation the program should not
of time obtaining data on the compartment or emergency
The required information needs
to reside in
allows quick access to any required record.
numbered on board
amount of
memory
in a data structure that
The method by which compartments
ship does not lend itself to the sequential use of
23
m
are
compartment
numbers
to find particular data.
contained
The use of one
possible data about that
all
many compartments and
very few,
if
compartment that
large record per
A
compartment was considered.
any, contain
all
large ship has
of the various damage control
equipment. In fact most compartments do not contain any installed damage control
equipment.
Some of
controlling the
the
same
for a
for a control
compartment such
the data required for a
power and the
electrical
in the area.
For each record
location for each type of installed equipment
Since most of the ships compartments do not have any installed
it
was decided
that this
would
be inefficient.
still
A
was required
ship
and
store
to
retrieve
would be
7: p.
330].
damage control
Some compartments do
contain more than one type of installed damage control equipment.
several difTerent data structures were needed.
is
to contain a field
wasteful and inefficient. The use of record variants was considered [Ref
equipment,
panel
ventilation controller controlling the supply ventilation
number of compartments
number and
as
It
was decided that
record for each compartment on the
certain
critical
information to isolate and
contain the emergency. The location of electrical power panels to secure electrical
power, vent controllers to secure supply ventilation, and the
location as
identified.
appropriate are needed as
Some of the
extensive and
is
the
for a
their
soon as the location of the emergency
data required, such as fittings to close to
same
numbers and
fitting
set
boundaries,
number of compartments. Boundaries
is
is
quite
are located at
frames in the ship where a watertight or fiametight bulkhead extends across the entire
width of the ship from port to starboard. To design the program,
the
same deck or
the
same zone. The boundaries
for all
level, that are
compartments
that cover
between two
of boundaries are considered to be in
sets
to prevent the spread of the hazard
was decided
in the zone. It
more than one compartment. Figure
compartments, on
all
to use a code
3.12
would be the same
number
shows the codes
for all systems
for the piping
systems that could be present in a compartment. There are addition possibilities for
piping systems aboard a ship, but for the purposes of this prototype program only
these
combinations were considered. Codes were also developed for the types of
compartment on the
ship as
damage control systems
are
shown
shown
in Figure 3.13
in Figure 3.14
In order to find such data as
in the vicinity
Codes
etc.,
for the considered installed
.
what berthing areas
check to determine source of hazard,
compartments
.
an
ability
to clear,
to
of the emergency was necessary.
to limit the search of the records of the
find
24
information about
To be
compartments was needed.
compartments to
efficient a
method
By organizing the
Piping
Code #
Type of Piping System or systems
o""
NONE
1
Fire
2
Freshwater
3
Fire main and Freshwater
Chilled Water
4
main
Drain
Plumbing Vent
Hish Pressure Air
5
Soil
6
7
Fuel Oil
8
9
11
Fuel Oil and Soil Line
Hvdrauhc Oil
12
iVfultiple
10
Codes
Figure 3.12
Use Code #
1
:
2
:
3
:
4
:
5
6
7
8
9
:
:
:
:
:
Systems
for Piping Systems.
Use of Compartment
Admin
space
Berthing Compartment
Passageway
Head space
Workcenter
Main Machinery
Boiler
Room
Room
Pump room
Emereencv Generator
10:
Comnlinuter space
11
Gallev space
:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21
:
22:
23:
Storeroom
Flammable storeroom
Fuel tank
Water tank
Void
Access Trunk
Control space
Fan Room
Repair Locker
Hazardous materials
A VI
Magazine
MO
Medical Spaces
Figure 3.13
Codes
for
25
Compartment Use.
Code#
System or Systems
Installed
NONE
Installed eductor
Installed exhaust fan
Active sprinkler svstem
Dr\- standpipe sprinkler
1
2
3
4
5
6
7
C02 Flooding svstem
C02 Hose Reel
8
TAPES
AFFF Sprinkler
AFFF Hose Reel
HALON. TAU. and C02 Hose
AFFF HR and C02 Hose Reel
'
HALON
Twin Aeent Unit or
9
10
11
12
Codes
Figure 3.14
for Installed
records of compartment data in a linked
were kept together. All the records
single linked
list.
The
linked
lists
for the
structure for the
starting at the
as
possible,
compartment
main
Damage
Control Systems.
of records, compartments in the same zone
compartments on
a deck or a level are in a
compartment number
had a great impact on the design of the data
records.
Decks on
or highest complete deck
above the main deck are labeled 01, 02,
to handle the
make
desire to
as close to the actual
a ship are
numbered
deck or
etc.
level
1,
2,
etc.
3,
on the ship and going down thru the
lowest deck at the keel. For this prototype program the 6th deck
program needs
The
are in an array by deck or level.
the users entry format for the ship's
compartment number
list
Reel
up
is
at the keel. Levels
on the
to the highest level
number
as
an integer
ship.
The
in order to find the
required information on a given compartment and to determine what compartments,
any
in
the area might need to be evacuated. Since an 01
interpreted as the integer
if
the
compartment
is
1,
a boolean field in the
above the main deck.
A
and
a
1
compartment record
separate array of linked
would both be
is set
lists
to indicate
of records
used for the compartments above the main deck and another array of linked
records
is
program
if
lists
is
of
used for the compartments on the main deck and below. This allows the
to access the right
The records
for the
compartment, codes
compartment.
compartments contain
to secure the
power and
fields for the detailed location
ventilation, code for
what zone
it
of the
is
in,
code for the use of the space, a code for the piping systems that pass through the
26
space,
and a code
appropriate
for the installed systems, if any, in the space.
fields in the
record of the compartment where the emergency
program can determine what systems
event
the
program has the
emergency.
are present
compartment has more than one
program recommends
It
By checking
the
and what the space
installed
most appropriate system
ability to identify all other
can determine
if
27
used
for.
In the
the
the given emergency.
The
for
compartments
in the area.
located, the
damage control system,
there are certain types of
dangerous with the given emergency
is
is
the
in the
same zone
as the
compartments that could be
USING THE EMERGENCY SYSTEM ON US NAVY SHIPS
IV.
MEMORY REQUIREMENTS
A.
To
use the Emergency system on a microcomputer aboard
memory
requirements for the system's
developed on a
COMPAQ
internal hard disk drive.
files
must not be
82K bytes of
Deskpro computer with 640K of memory and a
The program Emergency and the prototype data
program the data
data
disk
space and compiled takes
on
Emergency uncompiled
bytes.
For the prototype
It
estimated that the data
is
for
files
an
aircraft
would consume 200- 300K bytes of memory. The compiled program Emergency
and the data
to
its
files
for
large size
be required for an
most Naval ships would
fit
on one standard 360K floppy
and many complex systems, a separate disk for the data
aircraft carrier.
The exact volume of data required
for
files
disk.
might
any given ship
not known.
is
PROGRAM LANGUAGE REQUIREMENT
B.
The Emergency system was developed on
TURBO PASCAL
as described in Borland
Reference manual [Ref
transferred to a
on
files all fit
only include 48 compartments and a large aircraft carrier might contain
files
carrier
type
47K
MB
10
consume approximately 8K bytes of memor>'. The prototype
files
approximately 1200 compartments.
Due
Ships, the
Emergency was
excessive.
a standard 5.25 inch, one-sided, double density floppy disk.
takes
US Naval
UNIX
[Ref
9].
VAX
8|.
The system
11/780
UNIX
files
file
a
COMPAQ
International
Deskpro computer
Turbo Pascal Version
and the prototype data
in
3.0
were then
files
system and Emergency was modified to run
with Berkeley Pascal as described in the Berkeley Pascal User's Manual
The Turbo Pascal version worked
better than the Berkeley Pascal version
because Turbo Pascal was designed for use with microcomputers. Turbo Pascal has a
built in ability to read string variables
strings.
and no
special procedures are
needed to handle
With Berkeley Pascal additional procedures or functions have
to be created to
read in string variables.
ADA
ADA
is
will
be the Department of Defense computer language [Ref
a Pascal like language
ADA. Emergency
and anything written
could be converted to
ADA
28
to
in Pascal
run aboard
10: p.
269],
could be converted to
US Naval
ships.
HOW TO
C.
INSTALL EMERGENCY
Emergency
a prototype
is
Emergency was designed
program that needs
special
to be easily installed in all
number of decks,
compartment number of sickbay,
ship's
is
part
or from the
the
identification
a few
for the regular
of the Emergency system for each ship
the difficult and time
is
the
is
data
base.
consuming part of
extremely important that the data base be accurate because this
file
There
ship.
where
damage control manuals.
where the program obtains the information about the
the 'Compdata'
and the constants, such
Compartment numbers
ship.
part of the
some of the
the value of
that provide specific information
Preparing and installing the data base
It
The only
ship.
program. The information for the constants can be obtained
damage control drawings
The unique
installation.
is
one particular
be in the data base. The program constants are conveniently located
will
at the beginning of the
from the
for
ships.
electrical panels, etc.
compartments are located on the
compartments
Naval
to be tailored for the individual ship
constants that give the
as the
program and was not designed
which contains
are
also
all
thirteen
the coded information for each
data
(13)
containing
files
numbers and locations of such items
controllers, water-tight
ship's systems.
and flame-tight
fittings,
For the actual implementation on board Naval
and
as
all
ships, but the data in
on the
panels, ventilation
damage control
systems.
ships, certain data fields in certain files
might have to be expanded to contain the required information. These
standard format for
file is
compartment on
information
electrical
installed
The major
is
each
file
files
would be unique
can be
in a
for the ship.
Ships in the same class could have similar data that could be shared with each other.
Ships in a class could have data passed
would
down from
the lead ship of the class. This
greatly simplify the preparation of the data bases.
Many
of the installed damage
control systems on the newer classes of ships are virtually identical between ships in
the
same
class.
The layout and use of
the
compartments are
also very close.
elements of data could be inherited from the class design concept by
class.
It
might be possible to have Type Commanders,
charge of
under
all
who
all
These
the ships in the
are administratively in
the ship's of a given type, prepare the data base for these classes of ships
their control. In the event the ship's force has to enter the data base, the
important compartments and systems should be entered
function in a partial
information. For
mode
new
but
it
first.
Emergency can then
would not cover the complete ship or
construction contracts, a provision could be
give complete
made
builder prepare the data base for the ship under construction since they
29
most
that the ship
would have
all
and
the plans
specifications.
The
ship
would then be covered by the system upon
completion of construction.
Emergency
is
designed to be used on a microcomputer aboard Naval ships. The
Emergency system should be Damage
primarv' location for the installation of the
Control Central. This
is
the duty Engineering Officer in-port will
to pass information via a
scene of the emergency.
its
As
maximum
work with
sound powered phone
Damage Control
state of readiness to
Assistant underway or
Damage Control watchstander
the
talker to the
microcomputer
a backup, another
could be installed in secondary
ship goes to
Damage Control
the location where the
Central.
combat
On-Scene leader
to use with
General Quarters
the
enemy
or
at the
Emergency
is
when
combat
the
inflicted
damage. Groups of trained personnel are organized as repair parties to combat
battle
any damage or emergencies. The repair party meets
damage control equipment. This compartment
portable
large ships a
is
compartment
that contains
called a repair locker.
microcomputer with the Emergency system would be valuable
major repair lockers
new on-scene
assist
at a
to use during
leaders to
On
at all the
General Quarters. This would provide a means to
combat damage
to
the ship in the event of battle
casuahies to personnel in the repair party.
Training of damage control central personnel to operate Emergency would be
easier than trying to train
them
and
to read
and numerous
interpret the complicated
damage control drawings. The program would present them only with
the information
wrong system being
traced out from
that they need
a
and eliminate the
possibility of the
damage control drawing. With an
set
up with
a batch
file
to call
installed
hard
microcomputer could be
disc, the
Emergency whenever the computer
turned on. The
is
operator would then have to enter the compartment number of the location of the
emergency
in the
format showTi on the screen. All other entries would be of a yes/no
nature or a selection from a menu. Training of personnel to update the data base or
maintain the program would take more time. Since the data base only changes when
alterations to the ship's design are
made, very few people would be needed. With the
rapid increase in computer literacy, every ship would probably have several people
who
could perform this function.
To
to
list
test the
all
determine
emergency system, there
of the
its
use,
ship
s
is
compartments.
and determine what
an option
An
installed
at the
operator can
damage
select
control systems
operator can then enter the compartment number and see
30
beginning of the program
if
a
it
compartment,
contains.
The
the expected boundaries,
system controls and locations, and procedures for the selected hazard type are
presented.
31
CONCLUSIONS
V.
A.
DISCUSSION OF THE RESEARCH
This study tried to address the problem of lack of expertise in the operation of
installed
damage
systems aboard Naval ships. Evaluation of the problem
control
resulted in the decision to use
an expert system. The work involved
in
developing the
prototype expert system Emergency was a success in that Emergency was capable of
some
performing
examples
nontrivial
of
providing
on
information
emergency
procedures and the operation of installed damage control systems. Appendixs A, B, and
C
of this study are sample user session hstings that demonstrate the operation of the
program. The use of a decision
lattice structure
with some global variables to pass the
type and source of the hazard proved to be an efficient method of designing the
program.
Common
upper-level procedures could be used for
but the
emergencies,
all
the different kinds of
unique requirements for the different emergencies could be
handled within the procedures by testing the value of the global variables and
located.
The use of the
Pascal language to write an expert system for the operation of installed
damage control
determining the type of compartment where the emergency
equipment
was shown
that implementing
to
is
be feasible by the prototype program. Chapter IV- showed
Emergency aboard Naval
ships
was
possible.
It
is
proposed that
expert systems for use aboard naval ships can be designed with a type of decision
lattice structure using the
B.
Pascal or
ADA
language.
EMERGENCY SYSTEM LIMITATIONS
Emergency
is
a prototype
program
that
was designed
to demonstrate the concept
that an expert system could provide valuable assistance in the
employment of
installed
damage control equipment. The prototype program only handles emergencies
compartment
at a time.
The program would be of
in
one
greater value, if several emergencies
located in different compartments could be handled at the same time.
This
is
a
possible future upgrade to the program.
Due
to time limitations
are not developed fully.
most of the procedures that provide guidance
As an example,
that handle personnel causalities.
On
the
to the user
the procedure perinjury contains procedures
menu
32
displayed to the user, see figure
3.7,
only twelve possible injuries are
procedures
for
emergency
listed.
aid
first
Of the
are
twelve choices given to the user, only two
partially
The
developed.
medical
other
procedures are merely stubs and need to be developed further. The procedures Tranport
and bestroute which provide transportation precautions and the best route
would be more useful
if
they were developed further.
An
expert in
to sickbay
Emergency
first
aid
should be consulted in expanding and improving the procedures involving personnel
causalities.
damage control systems were addressed
All of the current, major installed
some extent
limited
in
Emergency. Some of the Technical Data on system operations
to
very
is
due to the unavailability of some of the Technical Manuals. The safety-
precaution procedure and the procedure
improved
to
include
provide
to
more information from
the
system guidance need to be
Command
Naval Sea Systems
Technical Manuals. The fume-test procedure needs to include tests for more types of
and additional information on when
fumes
an unknown hazard needs
compartments
to check
These procedures
Emergency
will
and
tests to
conduct what
developed to
provide
tests.
the
The procedure
user with
a
for
list
of
conduct to determine the nature of the emergency.
have to be improved and expanded prior to actual use of
in the fleet. This
did not have time to pursue.
are 75
be
to
to
is
a time
consuming task which the author of
The author estimates
that the
this
study
most important procedures
80 percent complete on the information they present to the user. The
to
procedures that present safety precautions and system operating guidance are estimated
to be only
40 to 50 percent complete. All procedures are complete enough to show
how
they interact with the user and the other procedures. The author estimates that
would take three manmonths
Naval
to
complete the program as a useful prototype for a
ship.
The Emergency program was developed using
rather than data for an entire ship.
to
demonstrate the
feasibility
With
this
a limited
number of compartments
number of compartments
it
was possible
of the concepts without handling the large amount of
data a real ship would have entailed. The drawback of the small data base
ability
been
of the program to handle large amounts of data read in from a disk
fully
large
is
that the
file
has not
demonstrated. The input from the user at the keyboard will remain very
limited regardless of the
in the
it
program and data
number of compartments
the ship contains. There
is
nothing
structure design that should preclude the proper handling of
amounts of coded data from
disk
files.
33
The
allowed a
I
problem
a
some
limiting in
any way. The structure
arranging the procedures. The program was written in
lot "of flexibility in
Pascal which did place
was not
was not
decision lattice control structure
constraints
since the procedures
would recommend the use of Pascal
on how the procedures were arranged, but
worked together
this
better in a structured format.
for other expert systems that use a decision
lattice structure.
FUTURE PROGRAM IMPROVEMENTS
C.
Emergency was written
compartment number
the
the entr\' of a character
{
is
to be easily used
by nontechnical personnel. The entry of
the only input the user
Y;N)
must make that requires more than
or an integer choice from a menu. In spite of this there
could be some advantages in installing a graphics interface for the program.
interface that displayed a drawing of the ship's
compartments by deck or
give the user a prospective of the relationship of
one compartment
A
graphics
level
to another.
would
By the
use of a mouse the user could select the compartment of interest where the emergency
Pop up
or drop
is
located.
A
helpful addition to the
location
of
identification
all
the
down menus could
program would be
installed
damage
be used to select the type of emergency.
a graphic display that
control
showed
the relative
systems control operators and their
numbers. The graphic display would have to be well designed to avoid
confusing inexperienced users with too
much
data as the present
damage
control charts
tend to do. The installation of a graphical interface would greatly increased the
installation time to developed the data base
and would require increased data storage
area.
BENEFITS OF RESEARCH
D.
This study demonstrated the feasibility and benefits of using an expert system to
assist the
damage control organization aboard naval
damage control systems. The advantage of
ships in the proper use of installed
the decision lattice control structure in
conjunction with the use of some global variables was demonstrated. The use of Pascal
as a practical language for expert systems
that
ADA is also
was shown. The use of Pascal demonstrates
a possible language for expert systems.
This research can also benefit other areas where an expert system might be
beneficial.
1.
An
expert svstem might be beneficial in determining the source of a boiler water
chemistry problem.
34
Engineering plant casualty control could be assisted with an expert svstem. In a
sense a manual version of an expert system already exists with the" check lists
for given casualties in the Engineering casualty control manuals. This system
could be automated.
The developed prototype expert system could be converted into an Intelligent
Computer Aided Instruction (ICAT) system to train personnel in the operation
of the installed damage control systems.
35
APPENDIX A
DEMONSTRATION OF EMERGENCY PROGRAM HANDLING A
MEDICAL EMERGENCY
The
following
is
a demonstration of the program Emergency
handling a medical emergency. The compartments covered by
Emergency were printed out
with the user
is
first.
The program's
interaction
shown.
EMERGENCY
*
*
Expert system to provide guidance on the operation of
*
installed damage control equipment aboard the ship.
*
Answer the given questions and make the appropriate
*
choices from the presented menus.
*
*
An
Do you want
The
to
have the ship's compartments printed out
01- 50- 3-L
Y/N
Passageway
Control space
2- 30-
2-Q
4-Q
2-Q
2- 30-
1-Q
2- 30-
6-L
2- 30-
NONE
NONE
NONE
Berthing Compartment
04- 40- 0-C
2- 30-
Installed systems
Use
02- 50- 1-Q
Workcenter
Passageway
Workcenter
Workcenter
Head space
2- 30-
Admin
2-
5-Q
30- 3-Q
36- 2-Q
37- 1-Q
Passageway
2- 40-
1-Q
Admin
2- 40-
2-Q
Galley space
2-
?
following compartments will work as input for the program.
Compt number
2-
*
space
Repair Locker
Passageway
space
:
:
:
:
:
:
:
NONE
NONE
Dry standpipe sprinkler
C02 Hose
NONE
NONE
NONE
NONE
NONE
NONE
NONE
36
Reel
_
2- 40-
0-L
Galley space
2- 48-
Galley space
2- 60-
2-Q
1-Q
6-Q
3-Q
2-Q
1-Q
2- 60-
0-L
2- 68-
2-L
2- 70-
1-Q
2- 502- 60-
2- 602- 60-
Q
2-76-1
3- 30-
3-L
3- 30-
2-L
3- 60-
7-L
3- 70-
4-L
3- 70-
2-L
NONE
:
Dry standpipe sprinkler
:
NONE
NONE
Admin space
NONE
Passageway
NONE
Passageway
NONE
Galley space
NONE
Head space
NONE
Admin space
NONE
Passageway
NONE
Head space
NONE
Berthing Compartment
NONE
Workcenter
Medical Spaces
:
:
:
:
:
:
:
:
:
:
Head space
Installed exhaust fan
Head space
Installed exhaust fan
Berthing Compartment
NONE
:
:
:
NONE
NONE
3- 73-
1-Q
Passageway
3- 80-
0-L
Berthing Compartment
3- 90-
3-E
:
:
4- 80-
Cominuter space
Workcenter
Storeroom
Magazine
Passageway
4- 80-
Control space
4-
Passageway
Storeroom
Installed exhaust fan
Storeroom
Dry standpipe sprinkler
Active sprinkler sys
Magazine
Main Machinery Room
HALON, TAU, and
Main Machinery Room
HALON, TAU. and
3- 90-
3-Q
4- 30-
1-A
4- 30-
2-M
45-
1-Q
0-C
80- 6-Q
80- 4-A
30- 1-A
5- 30-
4-M
5- 405- 60-
0-E
0-E
6- 30-
1-A
6- 30-
2-E
Active sprinkler sys
:
NONE
NONE
NONE
:
:
:
:
:
AMMO
:
C02
C02
:
:
Flammable storeroom
C02 Flooding
Pump room
AFFF HR and C02
:
:
Storeroom
6-
Pump room
6-
Installed exhaust fan
Dry standpipe sprinkler
:
AMMO
6- 30-
3-A
80- 0-E
90- 0-A
Installed eductor
:
:
:
Hazardous materials
hosereel
Dry standpipe sprinkler
AFFF HR and C02 hosereel
:
C02
Flooding
Give the compartment number of the location of the emergency
Enter the compartment number in format
Example 5 60 0-E
NOTE: The spaces are important.
If the exact location is unknown give the closest location known.
The format must be accurate. For example "1-Q " vice "1-q"
:
:
.
4 30
2-M
The compartment submitted
is
4- 30-
2-M
37
hosereel
hosereel
Is
the nature of^the emergency
known
?
Y/N
y
What is the nature of the emergency or problem
Enter the appropriate number below
?
:
=
Fire
1
—
=
Flooding
Fumes
Injury to personnel
2
3
—
4
4
What type of medical emergency has occurred
Enter the appropriate number below
?
:
Head
Back
=
Injury
or neck Injury
External Bleeding
1
=
2
3
= 4
= 5
Broken Leg
= 6
Broken Arm
= 7
Severed Limb
= 8
Serious Burns
= 9
Inhalation of Fumes
= 10
Electrical Shock
= 11
Drowning
= 12
Unknown Illness
Internal Injury
8
Try
and keep the burned area as clean as
Have the Hospital corpman apply temporary dressings.
to limit contact
possible.
Use wet towels
in
the stretcher
if
needed.
Transport or escort patient to sickbay 2-6G-6-Q by the
closest safe route.
Use Ammo elevators if possible to move injured personnel.
Are there any more medical emergencies ? Y/N
n
Are there any more emergencies or
casualities ?
38
Y/N
APPENDIX B
'DEMONSTRATION OF HANDLING A FIRE
COMPARTMENT'
This
is
installed
fire in
damage
Emergency
compartment that has no
a Berthing
control equipment.
EMERGENCY
*
An
A BERTHING
a Demonstration Listing of the program
handling a
*
IN
*
*
Expert system to provide guidance on the operation of
damage
*
installed
*
Answer the given questions and make the appropriate
control equipment aboard the ship.
*
*
*
*
choices from the presented menus.
**************************************************************
Do you want
to have the ship's
compartments printed out
?
Y/N
Give the compartment number of the location of the emergency
Enter the compartment number in format
-_
Example 5 60 0-E NOTE: The spaces are important.
If the exact location is unknown give the closest location known.
The format must be accurate. For example "1-Q " vice "1-q"
:
;
.
3
30 2-L
The compartment submitted
Is
is
the nature of the emergency
3- 30-
known
2-L
?
Y/N
39
What
the nature of the emergency or problem ?
is
Enter the appropriate number below
=
Fire
1
=
=
Flooding
Fumes
:
2
3
=
Injury to personnel
4
1
The
3
-
following Berthing
Compartments should be
cleared
:
30 -2-L
Set the following
Fitting No.
Fitting No.
Fitting No.
boundaries to contain the hazard
WTH
WTH
WTH
Are you ready
2-38-1
located 2-37-1-Q
3-38-1
located 3-37-1-Q
3-38-2
located 3-30-4-L
to continue with the
program
?
:
Y/N
y
To
secure electrical power to
Secure power at panel
To
.No.
What
type of
fire is
pan 2-53-2
CONT
2-87-2
3
-
30-2-L
located in 2-40-0-L
compartment
secure ventilation to
Use controller No.
compartment
3
-
FR
30-2-L
2-80-4-Q
located in
FR
87
P
this ?
Enter the appropriate number below:
=
Class
A
(paper, wood, materials
Class
B
C
D
(hydrocarbon or flammable liquids)
Class
Class
Type
(electrical fire
(
Chemical
of fire
etc.)
=
)
fire
=
2
3
=
)
1
4
=
unknown
1
Is
the source of the
fire
known? Y/N
n
Is
the
compartment number
for the location of the
correct as originally reported ?
Y/N
y
40
emergency
53 P
Ensure
fire
boundaries are maintained.
Ensure that
firefighters are properly equiped.
No appropriate
Is
the
fire
out
installed systems, use nearest fire station.
?
Y/N
n
Continue to combat the
Is
the
fire
out ?
fire until it is
extinguished.
Y/N
y
Conduct the following
tests:
Test for explosive gases
.
Test for oxygen.
Test for carbon monoxide.
Test for carbon dioxide.
What
type of fumes are present in the space
?
Enter the appropriate number.
Compartment Tested, Adequate Oxygen,
=
and no fumes Detected
=
=
Explosive gases
Hydrogen
Sulfide
=
Benzine
Chlorine
1
2
3
4
=
Carbon Monoxide
Carbon Dioxide
Unknow^n Fumes
=
5
6
=
7
Put out the smoking lamp throughout the ship.
Set the reflcish watch in OBAs and overhaul the
Recommend use of portable pneumatic blowers
No installed exhaust ventilation systems.
fire.
to
remove explosive vapors.
Use a portable pneumatic blower or a safety checked Red Devil blower.
Is
the
fire
overhauled
?
Y/N
.41
fire
Conduct second
when the overhaul is completed.
Conduct the following tests:
Continue to overhaul the
.
test
Test for explosive gases
.
Test for oxygen.
Test for carbon monoxide.
Test for carbon dioxide.
What
type of fumes are present
in
the space ?
Enter the appropriate number.
Compartment Tested, Adequate Oxygen,
=
and no fumes Detected
=
Explosive gases
Hydrogen
=
Sulfide
=
=
Benzine
Chlorine
1
2
3
4
Carbon Monoxide
Carbon Dioxide
= 5
=6
Unknown Fumes
=
7
Compartment 3- 30- 2-L is safe to enter
No ventilation is needed except for Smoke removal
Does the compartment need to be desmoked ? Y/N
.
No
installed exhaust ventilation systems.
Use a portable pneumatic blower or a safety checked Red Devil blower.
3- 30- 2-L have a significant amount
Does Compartment
water, over two inches, that needs to be removed
.
n
Recommend
Use the
the use of
mops and
closest deck drains to
pails to clean up.
remove the water.
Are there any more emergencies or casualities
?
42
Y/N
of
'
APPENDIX C
'DEMONSTRATION OF A FIRE
The
IN
A MAIN MACHINERY ROOM'
Emergency handling
a complex fire casualty in a Main Machinery Room. A listing
of the available compartments was made. This demonstration
shows the interaction between the program and the user.
following
is
EMERGENCY
*
*
a listing of the program
An Expert system
damage
*
control equipment aboard the ship.
*
installed
*
Answer the given questions and make the appropriate
*
The
to have the ship's
compartments printed out
Y/N
NONE
NONE
NONE
Berthing Compartment
02- 50- 1-Q
Passageway
04- 40- 0-C
Control space
2-Q
4-Q
30- 2-Q
30- 1-Q
2- 302- 30-
2- 30-
6-L
Workcenter
Passageway
Workcenter
Workcenter
Head space
2- 30-
Admin
2- 30-
Passageway
2-
Repair Locker
2-
?
Installed systems
Use
01- 50- 3-L
2-
*
following compartments will work as input for the program.
Compt number
2-
*
*
choices from the presented menus.
Do you want
*
to provide guidance on the operation of
5-Q
3-Q
36- 2-Q
37- 1-Q
space
Passageway
:
:
:
NONE
NONE
Dry standpipe sprinkler
Hose Reel
C02
NONE
NONE
NONE
NONE
NONE
^3
2- 40-
1-Q
2-Q
Galley space
2- 40-
0-L
Galley space
NONE
NONE
NONE
2- 48-
Galley space
Dry standpipe sprinkler
2-60-
2-Q
1-Q
6-Q
3-Q
2-Q
1-Q
2- 60-
0-L
2- 40-
2- 50-
2- 602- 602- 60-
Admin
space
:
NONE
NONE
space
Admin
NONE
Passageway
NONE
Passageway
NONE
Galley spare
NONE
Head space
NONE
Admin space
NONE
Passageway
NONE
Head space
NONE
Berthing Compartment
NONE
Workcenter
Medical Spaces
:
:
2- 68-
2-L
2- 70-
1-Q
2- 76-
1_Q
3- 30-
3-L
3- 30-
2-L
3- 60-
7-L
3- 70-
4-L
Head space
Head space
3- 70-
2-L
Berthing Compartment
3- 73-
1-Q
Passageway
3- 80-
0-L
Berthing
3- 90-
3-E
3- 90-
3-Q
4- 30-
1-A
4- 30-
2-M
4- 804- 80-
1-Q
0-C
Cominuter space
Workcenter
Storeroom
AMMO Magazine
Passageway
4- 80-
6-Q
4- 80- 45- 30-
1-A
5- 30-
4-M
0-E
0-E
30- 1-A
5- 405- 60-
6-
6- 30-
2-E
6- 30- 3-
6- 80-
0-E
6- 90-
0-A
:
:
:
Installed exhaust fan
:
Installed exhaust fan
:
NONE
NONE
Compartment
NONE
:
:
:
Installed eductor
:
Installed exhaust fan
Dry standpipe sprinkler
:
Active sprinkler sys
NONE
NONE
NONE
Control space
Passageway
Storeroom
Installed exhaust fan
Storeroom
Dry standpipe sprinkler
Magazine
Active sprinkler sys
HALON. TAU. and C02 hosereel
Main Machinery Room
Main Machinery Room
HALON, TAU. and C02 hosereel
Flammable storeroom
C02 Flooding
Pump room
AFFF HR and C02 hosereel
Storeroom
Dry standpipe sprinkler
Pump room
AFFF HR and C02 hosereel
Hazardous materials
C02 Flooding
AMMO
:
:
:
:
:
:
Give the compartment number of the location of the emergency
Enter the compartment number in format
-_
Example 5 60 0-E
NOTE: The spaces are important.
If the exact location is unknown give the closest location known.
The format must be accurate. For example "1-Q " vice "1-q"
5 40 0-E
:
;
.
The compartment submitted
is
5- 40-
0-E
44
Is
the nature of the emergency
What
known
?
Y /N
the nature of the emergency or problem ?
is
Enter the appropriate number below
=
Fire
1
=
=
Flooding
Fumes
:
2
3
=
Injury to personnel
4
Set the following boundaries to contain the hazard
WTH
WTH
3-41-1
located 3-40-1-T
Fitting No.
3-59-2
located 3-58-2-Q
Fitting No.
WTS
3-59-1
located 3-58- 1-T
Fitting No.
WTH
WTH
2-41-1
located 2-40-1-Q
2-59-2
located 2-58-2-Q
Fitting No.
Fitting No.
Are you ready to continue with the program
Y/N
?
y
To
secure electrical power to
Secure power at panel No.
To
What
type of
CONT
5
-
40-0-E
located in 2-20-1-Q
compartment
secure ventilation to
Use controller No.
compartment
pan 2-23-1
5
2-59-2 located
FR
40-0-E
-
*2-40-0-L
in
FR
59
fire is this ?
Enter the appropriate number below:
Class
A
Class
B (hydrocarbon
Class
Class
Type
Is
C
D
of
(paper, wood, materials
(electrical fire
(
Chemical
fire
=
)
the source of the
fire
2
3
=
=
unknown
1
=
liquids)
)
fire
=
etc.)
flammable
or
4
known? Y/N
n
Flammable liquids in some piping systems.
Is the compartment number for the location
correct as originally reported ?
23
of the
Y/N
45
emergency
C
P
Ensure fire boundaries are maintained.
Ensure that firefighters are properly equiped.
Oil spray fires can get out of control quickly.
Secure fuel source and localize
fire
as soon as
possible without endangering personnel.
Secure the exhaust ventilation to the space.
The compartment has an installed exhaust system.
Controller number cont 2-54-1 located 2-40-0-L FR 54
To
S
operate the installed exhaust fan. open any closed
exhaust vent dampers and then activate the exhaust fan
at the given controller. In the event of a
,
secure
fire,
the fan at the given controller and then close the
exhaust vent dampers.
Are you ready to continue with the program
?
Y/N
y
The compartment contains
various firefighting systems.
Use the most appropriate system.
The compartment contains a Twin
Valve number cont 5-45-1 located
Valve number cont 4-53-2 located
Valve number cont 4-57-1 located
To
5-40-0-E
LL STBD
5-40-0-E
UL PORT
UL STBD
5-40-0-E
operate the Twin Agent Fire Extinguishing System
the given control valve
To
Agent Extinguishing System.
secure the
NAVSEA
TAFES
.
Tech Manual Chapter 9930, Firefighting-Ship.
?
Y/N
y
The compartment contains a AFFF sprinkler system.
Valve number val 4-42-2
located 4-40-0-C FR 42 P
Valve number val 2-54-2
located 2-40-0-L FR 54 P
To
open
system follow the procedures given
Are you ready to continue with the program
operate the
given
,
AFFF
sprinkler system, operate
fitting.
^
in
Are you ready to continue with the program
?
Y/N
y
The compartment contains a AFFF Hose Reel system.
To
operate the
AFFF
Hose Reel System
the given control valve
most cases a stream
In
,
open
.
of
foam should be
deflected from
a bulkhead to avoid agitation of burning liquids.
is
only effective
when
it
Foam
covers the top of the surface
of burning combustibles.
To
secure the Hose Reel follow the procedures given
NAVSEA
Are you ready to continue with the program
The compartment's
HALON
Actuator
Before operating the installed
?
Y/N
actuators are as follows
act# 4-40-2 located 4-40-0-C
act# 2-40-1 located 2-40-1-Q
Actuator
in
Tech Manual Chapter 9930, Firefighting-Ship.
HALON
FR
FR
:
40 P
40 P
system
.
all
supply
and exhaust vent dampers should be closed if possible,
and all fans serving the space secured. All personnel
should be out of the space or
in
the process of leaving
To activate the HALON system use the given
remote pneumatic actuators.
the space.
local or
Are you ready to continue with the program
?
Y/N
y
Activate
AFFF
Bilge sprinkler system.
The compartment contains a AFFF sprinkler system.
Valve number val 4-42-2
located 4-40-0-C FR 42 P
Valve number val 2-54-2
located 2-40-0-L FR 54 P
To
operate the
given
AFFF
sprinkler system, operate
fitting.
Are you ready to continue with the program
?
Y/N
y
Is
the
fire
out
?
Y/N
4f7
Conduct the following
tests:
Test for explosive gases
Test
for
.
oxygen.
Test for carbon monoxide.
Test for carbon dioxide.
What
type of fumes are present in the space ?
Enter the appropriate number.
Compartment
Tested, Adequate Oxygen,
=
= 1
= 2
and no fumes Detected
Explosive gases
Hydrogen
Sulfide
=
=
Benzine
Chlorine
Carbon Monoxide
Carbon Dioxide
Unknown Fumes
3
4
= 5
=6
= 7
Carbon Monoxide can be deadly. All personnel who
might be exposed in the course of finding and elimating
the source of the fumes should use breathing devices.
Set the reflash watch in OBAs and overhaul the fire.
The compartment has an installed exhaust system.
number cont 2-54-1 located 2-40-0-L FR 54
Controller
To
operate the installed exhaust fan, open any closed
exhaust vent dampers and then activate the exhaust fan
at the given controller. In the event of a
secure
fire,
the fan at the given controller and then close the
exhaust vent dampers.
Are you ready to continue with the program
?
y
Is
S
the
fire
overhauled ?
Y/N
^
Y/N
,
Conduct the following
tests:
Test for explosive gases
.
Test for oxygen.
Test for carbon monoxide.
Test for carbon dioxide.
What
type of fumes are present
in the
space
?
Enter the appropriate number.
Compartment Tested, Adequate Oxygen,
and no fumes Detected
Explosive gases
Hydrogen
Sulfide
=
= 1
=2
Benzine
=
3
Chlorine
=
4
Carbon Monoxide
Carbon Dioxide
Unknown Fumes
= 5
-6
^T
Compartment 5- 40- 0-E is safe to enter
No ventilation is needed except for Smoke removal
Does the compartment need to be desmoked ? Y/N
.
The compartment has an installed exhaust system.
Controller number cont 2-54-1 located 2-40-0-L FR 54 S
To
operate the installed exhaust fan, open any closed
exhaust vent dampers and then activate the exhaust fan
at the given controller. In the event of a
secure
fire,
the fan at the given controller and then close the
exhaust vent dampers.
Are you ready to continue with the program
?
y
^9
Y/N
,
The main circ pump can be used to dewater a Main Machinery space.
The compartment can be dewatered using the main drainage system.
Valve number OVBd 5-43-1 located 5-40-0-E FR 43 S
Valve number ActW 5-44-1 located 5-40-0-E FR 45 S
Valve number Suet 5-42-1 located 5-40-0-E FR 42 S
Valve number OVBd 5-54-2 located 5-40-0-E FR 54 P
Valve number ActW 5-55-4 located 5-40-0-E FR 55 P
Valve number Suet 5-58-2 located 5-40-0-E FR 58 P
To
and
To
(OVBD)
(ACTW),
operate the installed eductor system, open the
overboard valve
finally
first,
open the
then the activating water
bilge or
main drain (SUCT)
valve.
secure the eductor use the reverse order of lineup.
Are you ready
to continue with the
program
?
Y/N
?
Y/N
n
Answer yes when you
are ready to continue.
Are you ready to continue with the program
y
Are there any more emergencies or casualities
?
Y/N
n
Execution terminated.
25179 statements executed
in
0004.700 seconds cpu time.
ST
APPENDIX D
PROGRAM EMERGENCY
LISTING OF
program emergency(input, output);
TITLE
EMERGENCY
LCDR Bernard G
:
AUTHOR
*
Gogel
:
Date Written
21 Sept
:
86-16 Nov
85
J;
*
Version
System Used
^
I/O Sources
:
Description
.-::
.1-.
*
.-i:
.1: .1:
.-::
***
.1: .1:
Turbo Pascal on
:
*
•
One
:
/*
:
COMPAQ
Deskpro PC
Data input from disk files and user input
from the terminal Keyboard.
This program is an expert system to provide
m
guidance
the operation of mstalled damage
control systems aboard Naval ships.
* **
* *
* * * * * * * * * * * * ****** * * * * *
*** ** **
-t-
.*;!:
-i:
-i:
-i:
.-i".
--I:
-t- -i:
."I:
•*
^- •*
.1:
-i:
GLOBAL CONSTANTS
(*
*)
const
numdecks = 6
Number
(*
;
of decks on the ship *)
('' Number of leyels on the ship *)
= 4
numcompt = 100 (" Number of compartments on the ship *)
numfittings = 50 (* Number of fittings on the ship *)
(* Number of electrical panels *)
numelpanel = 28
numventcon = 30 (* Number of ventilation controllers *)
(^' Number of HALON svstems actuators on
numhalon = 4
numlevel
;
;
;
;
;
;
numcofld
ship*)
=
6
C02 flooding systems
(* Number of C02 hose reels on the ship *)
(* Number of AFFF sprinkler systems
controllers *)
(* Number of AFFF hose reels controls on the
Number
(*
;
of
controllers *)
numcohr = 7;
numafilsp = 4
numafnfhr
=
4
;
;
ship *)
(* Number of Twin Agent Units on the ship
(* Number of installed eductor system valves
18
13
(* Number of installed exhausr fans on the
ship *)
numactsp = 8
(* Number of active sprinkler systems on the
ship *)
numdysp = 12
(* Number of ar>' standpipe sprinklers on the
ship *)
sickbaydk = 2
(* Sickbay on the second deck *)
*)
(* Sickbay at frame 60
sickbayfr = 60
sickbay = '2-60-6-Q' (* compartment number *)
numtau = 8
numeduct =
numexhfn =
;
;
;
;
;
;
;
;
type
emertypes
filname
filvar
=
=
( fire,
=
flooding
string[16]
text
recordptr
usearray
fncarray
locarray
,
fumes, personinj
;
;
=
=
=
=
the
@compartmentrec
packea array
packed array
packed array
;
(.1..4J of char
(.1..13'^.)
(.1..21.)
;
of char
of char
51
;
;
)
;
compartmentrec = record
dklevel
_
integer
inteser
:
frame
:
compabmndk
;
:
'boolean;
:
usearray; (* location to centerline of ship
(* Port, Stbd, or Centerline *)
char
zone
integer (* zone for setting boundaries *)
panelcode
integer (_* code number for electric panel
ventcode
integer (' code number for ventilation controller *)
(* code number for pipme in the space *)
pipingcode
inte'ger
useco"cie
integer (•' code number for use or space *)
instalsvstems integer
'
linkit
recordptr
loctocl
shipside
:
:
;
:
;
'''")
:
;
:
;
:
;
:
;
:
;
•
:
end
{"
;
fittines
compartmentrec
=
record
zlDneloc
integer
:
(* zone where fitting is located *)
(* fitting number *)
{* location of fitting *)
;
fitting
fncarray
fitlocat
locarraV
(* fittings *)
:
;
:
end
*)
;
;
=
elecpanel
record
panlcode
integer
(* code for electrical panel
{* electrical panel number *
fncarrav
panlocat
locarrav'; {'- electrical panel location *
(* elecpanel ")
end
:
;
panelnum
:
;
:
;
= record
ventcontrl
vntcode
(* code for ventilation controller *)
inteeer
(* number of ventilation controller *)
fncarray
(* location of ventilation controller *)
contlocat locarray
'
(* ventcontrl *)
end
:
contnum
;
:
;
:
;
;
= record
dkorlev
integer
instlsvs
deck or level of compartment *)
frame of compartment *)
(* third part of compartment number *)
thirdpt
usearray
(" valve or svstem control number *)
valvenum
fncarray
(* location of controls *)
location
locarray
:
fr
integer
:
(*
;
(*
;
:
;
:
;
:
end
;
;
{* instlsys *)
upprcomp = array (.l..numlevel.) of compartmentrec
lowrcomp = arrav (.L.numdecks.) of compartmentrec
= arrav (.l..numfittings.) of fittings
panels = array"(.l..numelpanel.) of elecpanel
ventcntls = array (.L.numventcon.) of ventcontrl
halonsvs = array (.l..numhalon.) of instlsvs
co2flo6d = array (. l.-numcoHd.) of instlsvs
co2hoser = array M.-numcohr.) of instlsys
atlTsprk = arrav7.1..numatlTsp.) of instlsys
aflllisrl = arrav (.l..numaffl"hr.) of instlsvs
closures
;
;
:
;
;
;
;
;
;
;
tausvstm = arrav (.l..numtau.) of instlsvs
insteduc = array (.L.numeduct.) of instfsvs
exhstfans = arrav (.L.numexhfn.) ofinstFsvs
;
;
actsprsv
drysiand
=
array'(.l..numactsp.) of instlsys
array (.l..numdysp.) of instlsys
=
(*
:
uplev
Kvrdk
:
:
closure
panel
vent
halon
co2fld
co2hr
:
:
:
:
compartmentrec
upprcomp
lowrcomp
closures
panels
ventcntls
:
;
;
co2nodd
:
;
;
;
halonsvs
co2hoser
;
GLOBAL VARIABLES
var
compt
;
;
;
;
;
;
52
*)
1
aflTspr
afilhr
aflTsprk
:
tausys
eductor
:
:
actspr
:
^
*
J*
;
;
;
(* used to determine when the emergencv is over*)
{* Used to determine if comp above or below
emertvpes; (* used to determine the tvpe of hazard *)
nextrec,' tastrec, needrec
recordptr
C' Pointer Variables *)
:
boolean
boolean
;
:
haztype
newrecord,
.i!
char
:
ahmndeck
***
;
dr>'stand
:
answer
emerover
rj!
;
insteduc
exhstfans
actsprsy
;
dr\'sid
**
tausystm
:
exhian
'
;
.-afiThsrl;
mn
;
dk
*)
:
:
******
;!:
;
********************************************************
.i:
*\
*)
Procedure Continue
This procedure is used to provide a pause for the user to read the *)
information on the terminal screen Before displaying the next menu *)
*)
or informational listing. The user enter a "Y" to continue.
procedure continue
;
var
ans
char;
contprog boolean
:
:
begin
contprog
:
=
false
;
used to control loop
(*
*)
;
writeln;
repeat
writeln('Are vou ready to continue with the
readln{ans);
if (ans = T') or ( ans = 'y') then
contprog = true
program
?
Y/N
');
:
else
writelnC
Answer yes when you
are ready to continue.');
until contprog
(* continue *)
•.
end
;
*)
Procedure Printout
This procedure prints out information on the compartment pointed to bv *)
the passed parameter. This procedure is called bv procedure printcomp. '*)
* * * * :ir* * * * * ;',^,: * * * * * * * * * * * * * S * * * * * * * * * * * * * * * * :irii: liT* * * * * * * * :ir* * * * * * * :ir* * * * * * * * * * * * * \
procedure printout{ temprec
recordptr)
:
;
begin
if
temprec(a).compabmndk then
write(t)');
write( [email protected]
,
'-',
temprec®. frame:3^'- /,[email protected]:4,
/'
case [email protected] of
1
:
2
:
3
:
4
:
5
:
6
7
:
:
8
9
10
1
12
13
14
15
:
:
:
:
:
:
:
:
wnte(
writef
writeC
');
dmin space
Berthing Compartment
"
:
');
:
Passageway
wntef Head space
writef Workcenter
writef Main Machinery
Room
write(
write(
write(
Boiler
write
write
write
write
write
write
Cominutei^ space
Galley space
Room
Pump room
)
:
Emergency Generator
')
;
:
')
:
;
;
:
:
')
;
')
Storeroom
j
Flammable storeroom
Fuel tank
Water tank
');
;
:
:
:
:
');
:
')
;
')
;
53
;
16
17
18
19
20
21
22
23
end
:
write(
Void
:
wnte<
Access Trunk
Control space
write
uTite
write
write
wTite
:
:
:
:
:
:
')
Room
Fan
;
;
)
:
Repair Locker
•
')
:
Hazardous materials
Magazine
A VI
j;
:
MO
write( Medical Spaces
(* case ")
:
')
:
:
:
');
');
case temprec(a;,.instalsvstems of
writelnf NONE");
:
1
:
2
:
3
:
4
:
5
6
7
:
:
writeln('
writeln('
writeln('
writeln('
Installed eductor');
Installed exhaust fan ');
Active sprinkler svs')'
Dr\- standpipe sprinkler
writelnC
writelnC
writeln
C02 Flooding
C02 Hose Reel
'
:
');
')]
HALON
);
');
Twin Aeent Unit ');
writelnC AFFF S'prinkler '};
10 writelnC AFFF hose Reel );
writelnC HALON^TAU, and C02 hosereel
11
12 writelnC AFFF
and C02 hosereel ');
end ; (* case *)
{' printout *)
end
8
9
:
writelnf'
:
:
:
');
Hk
:
;
r
>
*********.***
rj: :|:
*************************************************** *
*)
Procedure (printcomp) Print Compartments
This procedure prints out a listing of all tne ship's compartments *)
that are in the data base. The procedure calls procedure printout *)
* to print information on a given compartment.
*)
* * * * * * * ^^^* * * * * * * * * * * * * * * * * * * * *****************%
****
* * * * .* .* * * * * * * * * * .* * .*
:!>?:
!i:^!
procedure printcomp
;
var
i
:
integer
;
begin
writeln;
writeln('
writeln;
for i =
:
Compt number
I
to
Use
Installed systems');
numlevel do
begin
nextrec := uplev(.i.).linkit
while nextrec < > nil do
begin
;
printout( nextrec);
nextrec = nextrec
end (* while *)
:
.linkit
;
.linkit
;
;
end
(* for *)
;
writeln;
for i =
1
:
to
numdecks do
begin
nextrec := lwrdk(. i.). linkit
while nextrec < > nil do
begin
;
printout(nextrec);
nextrec = nextrec
end (* while *)
:
;
end
writeln
end
;
(*
(* for *)
;
;
procedure printcomp
*)
54
\
r
*
* * * * * * ******** * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
>fr
'*
*)
Procedure Insertrec
This procedure is called bv procedure loadfiles to insert a record *)
* in an array of linked list oT records.
*)
'*
This procedure contains procedure midinsert to insert a record in *)
'*
*)
the middle of the linked ust of records.
.* .* .* * * * * * * ****.****** * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
*****************\
'*
*
!!;
updw
procedure insertrec(
(**
char; dk,
:
fr
integer
:
)
;
**)
Procedure Midinsert
procedure midinsert
;
var
recinsert
:
boolean
;
used to determine
(*
if
was
the record
inserted *)
begin
nextrec:= [email protected]
if
;
nextrec = nil then
begin
[email protected] := newrecord
lastrec
;
;
(-If*)
end
else
= newrecord
:
(* outer else *)
begin
recinsert
=
:
false
while (nextrec <
begin
if
;
>
nil)
and (not
nextrec@. frame >
=
do
recinsert)
fr
then
begin
newrecord (^. linkit := lastrec
lastrec(^.linkit := newrecord;
recinsert
end
=
:
.linkit
true;
(* If*)
else
begin
= nextrec
nextrec := nextrec®. linkit
lastrec
if
:
;
;
end; (* else *)
(nextrec = nil) and (not recinsert
)
then
besin
las"!rec@. linkit := newrecord
recmsert = true
:
end
;
end ;(* if*)
end; (* while *)
end;
(* outer else *)
(* midinsert *)
(* Start
begin
if
;
;
updw =
of insertrec
*)
then
'T'
begin
if uplev(.dk.). linkit
=
nil
uplev(. dk.). linkit :=
then
newrecord
else
begin
lastrec := uplev(.dk.). linkit
if
lastrec@. frame
begin
>
fr
;
then
newTecord®. linkit := lastrec;
uplev(.dk.)Jinkit := newrecord;
nextrec
= lastrec
= newrecord
:
lastrec
:
;
end (*if*)
else
midinsert
end
•
;
(* else *)
end; (*ift ^)
55
;
;
if
iipdw =-'F' then
oegin
if
=
lwrdk(.dk.).lmkit
nil then
:= newrecord
lwrak(.ak.).linkit
else
begin
lastrec:= lwrdk(.dk.Uinkit
if lastrec@. frame > fr then
;
begin
newrecord®. linkit := lastrec;
hvrdk(.dk.)Trinkit := newrecord
nexirec
end
:
=
lastrec :=
(* if*)
lastrec
;
;
newrecord
;
else
midinsert
end
end
;
;
(* else *)
end; (* iff" *)
(* procedure insertrec *)
•
'******* * * * * * * * * * ******************************************************** \
*)
Procedure Loadfiles
I*
*
*)
This procedure reads in the coded information on all the ship's
^* compartments from a disk file into a linked Ust of records. There
*)
is one record per compartment on the ship. Loadfiles calls procedure *)
I*
")
[* Insertrec to insert the records in the proper position in an array
* of linked list of records.
*)
:
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ** * * * * * * * * * * * * * * * ** * * * * * *\
procedure loadfiles
;
var
(* used as an index *)
gdk, gfr. gzone, gpanc. gvenc.
(* used to read in data from file *)
spipnsc, ucode. eetint integer
abmnSk, side, discard char
(" used to read in data from file *)
(* used to read in data from file *)
usearray
rloc
i
.
:
;
:
:
infile
;
;
:
filvar f
begin
for
i
:
=
1
(* Initialize pointers to Nil *)
to numlevel do
begin
with uplev(.i.) do
begin
linkit
:
=
nil;
dklevel =
end (* with *)
:
i
;
;
end
for
i
:
=
;
(* lor
to numdecks
-)
do
1
begin
with lwrdk{.i.) do
begin
linkit
:
=
dklevel
end
end
;
(*
(* for *)
assien{infile,
;
:
nil;
=
i
;
with *)
(* Prepare for input *)
'compdata.txt ')
;
reset(infile);
(*
Read
in
information from
while not eof (infile) do
begin
uith compt do
begin
new(newrecord);
read(infile,
abmndk);
56
file
*)
•
readln(
infile,
gdk, gfr, discard, rloc, discard, side,
,gzone, gpanc, gvenc, gpipngc, ucode, getint
[email protected] := gdk;
newrecord:^. frame := gfr;
ne\vrecord:^.loctocl
:
=
)
;
rloc;
newrecord:^.shipside := side;
newrecord'^.zone := gzone
newrecord;a$.panelcode := epanc
ne\[email protected] := gvenc
newrecord'ci/.pipingcode := gpipngc
newrecord a5,.usecode := ucdue
nevvrecord;a).instalsvslems := getint
if abnmdk =
'F' then
newrecord;^. compabmndk := false;
if abnmdk =
i
then
newrecord
.compabmndk = true
newrecord;^. linkit := nil
;
;
;
;
;
;
:
;
:
insertrec{
end
('"''
;
with
aomndk, gdk,
gfr);
")
{' while *)
end
close (infile )
;
;
end
;
loadfiles *)
(*
****** * * * * * * * * * * * ****** * * * * * * * * * * * * * * * * * * \
")
Procedure Loaddata
This procedure reads in the data concerning the ship's installed *)
'*
damage control systems from a disk file and ""stores the information *)
'*
*)
in an arrav of records for each svstem.
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *************** \
procedure loaddata
'
.1:
****
.-;;
1. 1-
:!:
**********
>
•!:
********
.-fc
!(-.
;
var
i
integer
:
discard
infile
:
char
filvar
:
;
(*
;
(* used as an index *)
used to read in and discard seperators
*)
;
(* Prepare for input *)
assign( infile, 'electpan.txt');
begin
reset(infile);
i
:=
1
;
{*
(* initialize to
while not eof
beein
Vith
(infile)
panel(.i.)
Read
1
in data
from
file
*)
")
do
do
beein
l-eadln( infile, panlcode, discard, discard,
discard, panlocat);
i
end'
:=
i
+
panelnum, discard,
•
1
end; (* with *)
(* while *)
do se( infile);
(*
Prepare for Input
*)
assien( infile, 'ventcont.txt');
reset(infile);
i
:=
1
;
(*
(* initialize to
Read
1
in data
from
file
*)
*)
while not eof (infile) do
begin
with vent(.i.) do
begin
readln( infile, vntcode, discard, discard,
discard, discard, contlocat);
i
end;
:=
i
+
1
end; (* with *)
(* while *)
close(infile);
57
contnum, discard,
Prepare for Input
(*
*)
assi2n( infile, 'zonciose.txt');
reseT(inrile);
i
:=
1
;
(*
{* initialize to
Read
1
in data
while not eof (infile) do
begin
with closure(.i.) do
besin
>eadln( infile, zoneloc,
:=
i
end;
(*
1
+
from
file
*)
*)
fitting, fitlocat
);
1
")
with
(* while *)
close(infile);
end:
(* Prepare for Input *)
assien( infile, 'actspk.txt');
reseT( infile);
i
:=
1
;
(*
(* initialize to
while not eof
begin
(infile)
Read
1
in data
from
file
*)
*)
do
\vith actspr(.i.) do
begin
dkorlev,
"'readln( infile,
fr,
discard, thirdpt. discard,
valvenum, discard, discard, location);
i
end:
:=
i
4-
•
1
end; (* with ")
(* while *)
close( infile);
(* Prepare for Input *)
assien( infile, 'affFhr.txt');
rese1[( infile);
i
:=
1
;
(*
(* initialize to
while not eof
begin
(infile)
Read
1
in data
from
file *)
*)
do
with a{lThr(.i.) do
begin
readln( infile, dkorlev,
fr,
discard, thirdpt, discard,
valvenum, discard, discard, location);
i
end:
:=
i
+
1
end; (* with *)
(* while *)
close(infile);
(*
Prepare for Input
*)
assien( infile, 'afiTspk.txt');
reset( infile);
i
:=
1
;
(*
(* initialize to
while not eof
begin
(infile)
Read
1
in data
from
file
*)
*)
do
with afTrspr(.i.) do
begin
readln( infile, dkorlev,
i
end*
:
=
i
+
fr,
discard, thirdpt, discard,
valvenum, discard, discard, location);
•
1
end; (* with *)
(* while *)
close( infile);
(*
Prepare for Input
*)
assign( infile, 'co2flod.txt');
reset( infile);
i
:=
1
;
(*
(* initialize to
Read
1
in data
from
*)
while not eof (infile) do
58
file *)
•
begin
with co2fld(.i.) do
begin
readln(inrile, dkorlev,
:=
1
end:
i
+
fr,
discard, thirdpt, discard,
valvenum, discard, discard, location);
1
end; (* with *)
(* while *)
close(infile);
Prepare for Input
(*
*)
assi2n( infile, 'co2hrn.txt');
reset(infile);
i
:=
1
;
(*
(* initialize to
Read
in
data from
file
*)
")
I
while not eof (infile) do
begin
with co2hr(.i.) do
begin
dkorlev,
'l:eadln( infile,
fr,
discard, thirdpt, discard,
valvenum, discard, discard, location);
:=
i
end:
i
4-
•
1
end; (* with *)
(* while *)
close(infile);
[.PA}
Prepare for Input *)
(*
assien( infile, 'dr>'std.txt');
reset{infile);
i
:=
1
;
(*
{* initialize to
while not eof
begin
Read
1
in
data from
file
*)
*)
do
(infile)
with dr>'std(.i.) do
begin
readln(infile, dkorlev,
i
end:
:=
i
+
fr,
discard, thirdpt, discard,
valvenum, discard, discard, location);
•
I
end; (* with *)
(* while *)
close( infile);
Prepare for Input *)
(*
assien( infile, 'exhfan.txt');
rese'!( infile);
i
:=
1
;
(*
(* initialize to
Read
1
in data
from
file
*)
*)
while not eof (infile) do
begin
with exhfan(.i.) do
begin
readln(infile, dkorlev,
i
:
=
i
+
fr,
discard, thirdpt, discard,
valvenum, discard, discard, location);
•
1
end; (* with *)
end: (* while *)
close( infile);
(* Prepare for
Input
*)
assisnC infile, 'halonnl.txt');
reseT( infile);
i
:=
1
;
(*
(* initialize to
Read
I
in data
from
file
*)
*)
while not eof (infile) do
begin
with halon(.i.) do
begin
readln(infile, dkorlev,
fr,
discard, thirdpt, discard,
valvenum, discard, discard, location);
59
:=
i
+
i
•
1
end; (* with *)
end: (* while *)
close(infile);
(* Prepare for Input *)
assien( infile, 'ineduct.txt');
reset(infile);
i:=
1
(*
(* initialize to
;
Read
1
in data
from
file
*)
*)
while not eof (infile) do
begin
with eductor(.i.) do
beein
"readln(infile, dkorlev,
discard, thirdpt. discard,
fr,
valvenum, discard, discard, location);
:=
i
end:
+
i
1
end;' (* with *)
*)
(* while
while*)
close(infile);
(*
Prepare for Input *)
assien( infile, 'tafesfil.txt');
reset( infile);
i
:=
1
(*
{* initialize to
;
Read
1
in data
from
file
*)
*)
while not eof (infile) do
begin
with tausvs(.i.) do
besin
^
""readln( infile,
'
dkorlev,
fr,
discard, thirdpt, discard,
valvenum, discard, discard, location);
1
end:
:=
+
i
1
end; (* with *)
(* while *)
close( infile);
(* loaddata *)
end;
* ************ * * * * ************ * * * * * * * * * * * * * * * * * * * * * * * *1=*)
*
•')
Procedure getcompnum
* This procedure requests and reads in the compartment number of the
space where the emereencv has occurred. The record of the subniitted *]
* compartment is found' and pointed to bv the pointer variable needrec.*)
* * ^,f^ * * * * ***** * * * * * * * * * * *i!: ******* \
***
*** *******
****5*********
procedure getcompnum( var needrec recordptr );
****«
*
.-;:
,-::
.-;:
:!:
**
.-f
.-!:
*****
.-!:
.!:
1
:;f^;
::: ;.: :.: =:<
r-.:
.•::
.-;:
:
var
getchl, getch2, getch3
(*
rdklevel,
rdframe
cfound
:
:
readloc
:
begin
cfound
:
integer
;
boolean
;
usearray
;
=
char
used to read in reported deck level *)
(* used to read in Trame number *)
(* used to determine if comp found *)
(* used to read in use of comp *)
:
;
false;
repeat;
writeln:
\\Titeln{'
Give the compartment number of the location of the emergency
compartment number in format
-_
);
5 61) 0-E
NOTE: The spaces are important. ');
writelnf' Enter the
writeln(' Example
.');
'
:
;
writeln(Tf the exact location is unknown give the closest location kno^^Tl.');
writeln(' The format must be accurate. For example "l-Q " vice "l-q" .');
readln( getchl, getch2, rdframe, getch3, readloc)
;
writeln;
if
getchl
oeein
=
'0'
then
libmndeck = true
:
;
60
case getch2 of
r
:
'2'
:
'3'
:
'4'
:
'5'
:
'6'
:
'7'
:
'8'
:
'9'
:
rdklevel:=
rdklevel =
rdklevel :=
rdklevel =
rdklevel =
rdklevel =
rdklevel =
rdklevel :=
rdklevel =
(" case *)
:
:
:
:
:
:
1
2
3
4
5
6
7
8
9
;
end
end (-if-)
;
else
begin
"abmndeck =
false
:
case eetchl of
rdklevel
'2'
rdklevel
'3'
rdklevel
'4'
rdklevel
T
:
->
:
:
:
'5'
:
'6'
:
'7'
:
'8'
:
'9'
:
end
end;
if
;
{"'
;
= 1
=
= 3
= 4
= 5
= 6
= 7
= 8
= 9;
rdklevel
rdklevel
rdklevel
rdklevel
rdklevel
(* case *)
,
else *)
abmndeck then
writeln(The compartment number submitted
is
0', rdklevel,'-',
i
rdframe, '-',readloc)
else
writeln('The compartment number submitted
rdframe, '- ',readloc);
if
is
',
rdklevel,'-',
abmndeck then
begin
nextrec := uplev{. rdklevel. ).linkit
while (nextrec < > nil ) and (not cfound ) do
begin
if( nextrec(^. frame = rdframe) and (nextrec(g.loctocl
begin
needrec = nextrec
;
=
readloc) then
:
cfound = true
end (-if*)
;
:
;
else
nextrec := nextrec®. linkit
;
(* while *)
end
if not cfound then
•
writelnC
Compartment number
is
not in Ship^s data
file.
Check
',
'compartment number.');
end
(*if*)
else
begin
nextrec := lwrdk(. rdklevel. ).linkit
while (nextrec < > nil ) and (not cfound ) do
begin
if ( nextrec(^. frame = rdframe) and (nextrec(^.loctocl
begin
needrec = nextrec
;
:
cfound = true
end (*if*)
:
=
readloc) then
;
;
else
begin
nextrec := nextrec(^.linkit
end;
(* while *)
end
if not cfound then
writelnC Compartment number is not in Ship°s data
;
•
61
file.
Check
',
'compartment number.');
end; (* else *)
until cfourrd
;
end
[*
/''•
*
'*
;
(* procedure
getcompnum
*)
*)
Procedure (unkwnature) Unknown Nature
This procedure is called when the nature of the emergency is not '"}
known The procedure provides guidance to the usef on the methods *)
*)
that can be used to determine the'nature of the emergencv.
.
procedure unkwnature(needrec
:
recordptr)
;
besin
writeln('Send investigators to the area to investigate. ')
if needrec@,.usecode~"= 21 then
writeln( Hazardous materials in space. Possible source of
;
fire',
or fumes.');
if
if
[email protected] =
13 then
writelnr Flammable Storeroom. High Fire Danger.
');
(needrec,'a);.pipinecode > 5) and ([email protected]
writelnl^Possibfe toxic gases from plumbmg system. ');
<
7)
then
writelnC This procedure will be developed futherln the future.');
writeln;
(* procedure
unkwnature *)
* * * * * * * * * * * * * * * * * * * * * * * * * ******** * * * * * * * * * * * * * * * * * * ******************** *\
'*
*)
Procedure (natknown) Nature Known
'*
This procedure is called when the nature of the emergencv is known. *)
The procedure calls perinjurv in the event of an injury' to 'personnel *)
and calls procedures boimda'ries, idensource, elimhazard, recover, in *)
*)
the event of fire, flooding, or fumes
end;
:
.
*)
This procedure contains procedures fumetest, safeprec. perinjurv',
*)
boundaries, idensource^ svsguide. elimhazard, recover, and ten '
*)
[* similiar Get Svstem inforrnation Procedures.
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *********************.**%
[*
'*
*:
>
.-;!
procedure natknown{needrec
:
recordptr)
;
var
hazcode
integer
hazsource integer
:
(*
;
:
used to identify the type of hazard
*)
;
* * * * * * * * * * * * * * * * * * ******************************************************* \
*)
Procedure Fume Test ( fumetest)
This procedure provides guidance on the proper tests to conduct after *)
-J
_ i-_/' a
•;
aiscoverea in a compartment.
comparimeni. *)
Are is extinguished or when
^nen lurries
lumes are discovered
'*
")
*)
Fumetest is called bv procedures
Dcedures idensource and recover.
.*
* * * * « * * * * * * .* * * * * * *
* * * * * * * * * * * * * * « * * * * * * * * * * * * * * * * * * * ****** * * * *********>
*
m
1.
:'.:
;
;
'
•
.-SH;
procedure fumetest( needrec: recordptr
•
haztvpe
var fumtvpe
:
:
emertypes;
integer
);
var
fumefnd
:
begin
fumefnd
if
:
haztvpe
begin
boolean
(*
;
used to determine
nature of fumes found *)
= false;
= fire then
writelnC Conduct the following
writeln;
writelnf'
writelnf'
writeln('
writeln('
writ elm
end; ("
if
if
Test
Test
Test
Test
tests:
for explosive gases
for oxvgen.
j;
for carbon monoxide.');
for carbon dioxide.');
haztype
.');
'
fire
*)
62
'
);
if
= fumes
haztvpe
begin
then
writelnC Conduct the following
tests:
'
);
writeln;
wTiteln(' Test for explosive gases .');
writeln(' Test for oxvgen.
);
writeln(' Test for carbon monoxide.');
writelnC Test for carbon dioxide.');
if [email protected] = 10 then
writeln^ Test for hydrogen sulfide. ');
if ([email protected] '< 9) and (needrec .usecode
writelnClest for chlorine ');
if needrec@. usecode = 21 then
writelnC Test for all hazrdous gases. ');
end; (* if haztype fumes *)
'
repeat
writelnC What tvpe of fumes are present in the space
writelnC Enter the appropriate number. ');
>
5)
then
? ');
writeln;
writelnC Compartment Tested, Adequate Oxygen,
=
writelnC and no fumes Detected
);
writelm' Explosive gases
writelm' Hvdrogen Sulfide
writelm' Be'nzine
writelm' Chlorine
I i;
= 5');
writelm' Carbon Monoxide
= 6');
writelm' Carbon Dioxide
');
'
•
= 7);
Unknown Fumes
writeln('
writeln;
readln(fumtvpe);
if
(fumtype
'>
writelnC
7
)
or (fumtvpe <
) then
a valid mput, please tr>' again.
Need
')
else
fumefnd = true
:
end
:
.1:
.-i!
until fumefnd
{* fumetest *)
;
;
;
.i:
* t. *
••!:
.1: .i: .i:
*
-i:
******
:!;
*******
.1;
*****
.-!-,
*
."i: .-i; .-fc
.1;
.-i:
****
.!;
.-ft
|:*******\
* * * **.•!:* * * * * * * * * * ******
****
*)
Procedure (safeprec) Safety Precautions
* This procedure provides safety precautions to the user for the type *)
* of hazard and it s source that'are passed to the procedure.
*)
"*)
* Safeprec is called bv procedures iaensource and elimhazard.
* * * * * .+ * * * * * * * * * * * * :iJS: * * * * * * * * * * * * * * * .* * * * * * * * * * * * * * * * * * * * * * * * * **********(
.;:
.-f
procedure safeprec( haztype
:
emertypes; hazsource
:
integer
);
begin
writeln;
if
haztype
begin
=
fire
then
case hazsource of
*}
(* Class
1
begin
writelnC Ensure fire boundaries are maintained.');
writeln(' Ensure that firefighters are properly equiped.');
end; (* 1 *)
A
:
2
:
(* Class B *)
writeln Ensure fire boundaries are maintained.');
writeln Ensure that firefighters are properly equiped.');
writeln Oil sprav fires can get out of control quickly.');
writeln Secure fiiel source and localize fire as soon as );
writeln possible without endangering personnel.');
end; (* 2 *)
begin
begin
.
(* Class C *)
writelnC Erasure electrical power is secured.');
writelm' Ensure fire boundaries are maintained.');
writeln(' Ensure that firefighters are properly equiped.');
63
end; (* 3 *)
4
begin
:
(* Class
writeln
writeln
writeln
writeln
writeln
writeln
writeln
writeln
writeln
D
*
Ensure fire boundaries are maintained.');
Ensure that firefighters are properlv equiped to
')•
handle all types oT fires. It is extreriielv inportantj;
to determine the nature and localize the chemical);
involved. Some materials react violently with water.');
Some metal fires are extremelv difiicult to extinguish.');
Metals such as magnesium, sodium, titanium.zinc, ');
zirconium, and potassium are class "D combustibles.');
Refer to NAVSEA Tech Manual Chapter 9930 .);
writeln,
FIREFIGHTING-SHIP for further information. ');
end; (* 4 *)
end (* case *)
end; {* ifhaztype fire
"
;
*)
ifhaztvpe = flooding then
beein
1;ase hazsource of
1,2,3
:
writeln( 'Ensure electrical
4
:
power
to the space
is
secured.');
begin
's^TitelnCPut out the smoking lamp throughout the ship.');
writeln( 'Ensure electrical power to the space is secured.');
writeln( 'Secure the source of fuel as soon as possible.')'
writeln('Use non-sparkmg tools when working on the fuel svstem.');
end;
end; (* case ")
end; (* ifhaztype flooding
if
haztvpe
begin
*)
= fumes then
case hazsource of
1
writeln('Put out the smoking
:
2
:
end
:
Sulfide
is
highly toxic. All personnel who');
begin
end
:
Hvdroeen
might be exposed in th"e course of finding and elimatim
the" source of the fumes should use breatmng devices.' j
;
writeln(
writeln(
writeln(
4
ship.');
begin
writelnf
writeln(
writeln(
3
lamp throughout the
Benzine can be harmlul to people. All personnel who');
might be exposed in the course of findma and elimating');
the source of the fumes should use breatTiing devices.' J;
;
begin
can be deadly. All personnel who');
writelm' might be exposed in the course of finding and ehmating');
writeln(' the source of the fumes should use breathing devices.' J;
writeln(' Chlorine gas
end
begin
writeln(
writeln(
writeln(
end
6
:
Carbon Monoxide can be deadly. All personnel who');
might be exposed in the course of finding and elimatinj
the source of the fumes should use breatning devices.' ]
');
;
begin
writeln(' Carbon Dioxide in large doses is toxic. All personnel who');
writeln(' might be exposed in the course of finding and elimating');
writeln{' the source of the fumes should use breatning devices.' J;
end
end;
end;
end
(
* if
;
(* case *)
haztype fumes
)
(* safeprec *)
64
******************************** ***************************:k**** ****** **)
*)
Procedure ( perinjurv ) Personnel Iniurv
"
*)
[* This procedure deterrnihes the
the nature of the personnel injury' and
f
'
'
*
*
calls the
first
aid
-
•
-
appropriate
procedure
dui
to provide
guidance
for emergence
lency
^
^
-^
<=---,
^
^
and1 casualty transportation
precautions
*
*
*
******
.::
* * * * * f. * *
procedure perinjury(needrec
:
.-;:
***
recordptr
.
*)
*)
* * ***** * * * * * * * * ****** ^/* * * * * * * * * * * * * * * N
»5:
);
var
anschar
char
:
;
ans,
tranprec
integer
:
medemcpt
:
(*
;
boolean
;
code for transportation precautions *)
{* used to determine when medical emer over
*)
VARIOUS IXJURrPROCEDURES
•=
* Procedures headinj. spinalinj, extbleed, intbleed, brokearm,brokeleg, *)
* severlimb. burns, inhalefumes, electshock, drowning, and unknownill
*)
* are used to provide guidance
emergencv first aid'to the emergency *)
* response team.
*)
"of these procedures will be called by
procedure
"
* periniurv in the event of a personnel iniurv.
*)
One
m
procedure headinj{var tranprec: integer)
begin
tranprec
end
{"
;
:
=
2
;
•
headinj *)
:
procedure spinalinj(var tranprec: integer
begin
tranprec
end
;
:
=
2
);
•
(" spinalinj *)
procedure extbleed( var tranprec :integer
begin
tranprec
end
;
:
=
5
;
{* extbleed *)
procedure intbleed{var tranprec
begin
tranprec :=
end
;
1
:
= 4
:
(* brokeleg *)
begin
tranprec
;
integer);
;
procedure brokearm(var tranprec
end
);
(* intbleed *)
begin
tranprec
;
integer
:
;
procedure brokeleg(var tranprec
end
);
(*
:
=
4
:
integer
;
brokearm
*)
procedure severlimb(var tranprec: integer
begin
tranprec
5
(* severlimb
:
end
=
;
);
);
;
*)
65
procedure bums( var tranprec :integer
);
begin
writeln{' Try to limit contact and keep the burned area as clean as');
writelnf' possible. Have the Hospital corpman apply temporar>' dressings.');
writelnC use wet towels in the stretcher if needed. ');
tranprec
end
:
burns
("•'•
;
=
1
;
*)
procedure inhalefumes(var tranprec
begin
tranprec
end
:
=
3
integer
:
);
;
inhalefumes *)
{'''
;
procedure electshock( var tranprec linteger
begin
tranprec = 3
end {" electshock
:
);
;
*)
;
procedure drowning(var tranprec
:
integer
);
begin
writelnf' If the victum is unconsious and not breathing have personnel');
writeln(' on the scence beein mouth-to-mouth breathing immediatelv.');
writeln(' Call sickbav andTiave them deliver oxvgen to The victum. ');
writeln(' If there is ho heartbeat
give externaFcardiac massage.');
tranprec
end
=
,
3
;
drowning
(*
;
:
*)
procedure unknownill(var tranprec
begin
tranprec
end
:
=
1
;
unknownill
{*
;
:
integer);
*)
*)
Procedure Transport Precautions (tranport)
This procedure provides guidance for the safe handling of injured *)
*)
personnel that are to be transported.
*
*** .* **.*
**************** ************************* .*
[*
/*
,*
.-t .-S^
.1!
-i:
-i: .1:
procedure tranport( tranprec
-i:
:
integer)
;
begin
writeln;
case tranprec of
1
:
2
:
writeln;
begin
Immobilize the patient in the stokes stretcher.');
writelnC Be careful not to jar or shake the patient. ');
end;
writeln('
3
:
4
writelnC Maintain
CPR
during transport
if
required
.');
begin
:
writelnC ^^'^he patient is to be transported on a stretcher, ');
UTiteln(' ensure that the temporary cast is properly supported.');
end;
5
:
end
end
;
WTitelnC Maintain pressure on the
(* case *)
;
(* tranport *)
66
wound
during transportation.');
\
****************************** * * * * * * * * * * * * * * * ************************ * *
*
*)
Procedure Best Route
* This procedure provides the best route to transport injured
*)
* personnel to sickbav. This procedure could be developed futher.
*)
**
rjT*
* * * * * ****** * * * ** * * * * *
* * * * * * * * * * * * * * * * * * * * K- * * * * * * * * * * * ** * * * * * * * * * \
**
.-i:
procedure bestroute(needrec :recordptr
);
begin
writeln(' Transport or escort patient to sickbay ', sickbav,' by the ');
writeln(' closest safe route. ');
if ([email protected] = 22) and (needrec;a).dklevel
sickbaydk) then
writelnT' Use
elevators if possible to move injured personnel.');
<>
Ammo
(needrec^. frame < sickbavfr) and (needrec(a/.shipside = S ) then
writelrif Cross over to the port passageway on the messdecks.');
(* procedure bestroute *)
if
end
;
(**
Start of
main procedure personnel
injury
**)
begin
medemcpt :=
false
;
repeat
writeln(
writeln(
writeln;
writeln
writeln
writeln
writeln
writeln
writeln
writeln
WTiteln
writeln
writeln
writeln
writeln
What
tvpe of medical emergency has occurred
Enter the appropriate numBer below ');
?')
:
Head
Injury
Back or neck Injury
External Bleeding
Internal Injur>'
Broken Leg
Broken Arm
'
Severed Limb
Serious Burns
Inhalation of Fumes
Electrical
Shock
Drowning
Unknown
=='i>
3 ');
= 4 ');
= 5 ];
= 6
= 7
=
=
^l):
10
11
=
Illness
12
');
writeln;
readln(ans)
;
case ans of
1
headinj(tranprec)
2
spinalini(tranprec)
3
extbleeditranprec)
intbleed(tranprec)
4
5
brokelee(tranprec)
6
brokearm{tranprec)
7
severlimb(tranprec)
8
burns(tranprec)
9
inhalefumes(tranprec)
electshock(tranprec)
10
:
;
:
;
:
;
:
;
:
;
:
;
:
;
:
;
:
:
11
:
;
;
drowning(tranprec)
•
unknownill(tranprec)
12
end; (* case *)
:
;
tranport(tranprec)
bestroute(needrec)
writelnC Are there any more medical emergencies
readln(anschar);
if (anschar = "iN') or (anschar = 'n') then
;
;
medemcpt =
medemcpt
:
until
end
;
(*
true
;
;
procedure personnel injury
*)
67
?
Y/N
');
;
n
******:(; *****************•!!********** * * * * * * * ****** * * * * * * * * * * * * ****** * * * * * * *
*
*
*
This procedure provides
*
*
personnel. The procedure contains procedure berthcomp to determine
berthing compartn^^^
"^W
Procedure Boundaries
-
*)
flooding, or fume boundaries to contain *)
the hazard to one zone or area of the ship.
[p. The procedure also lists *)
* the berthing compartments in the area of
*)
I the ship to be cleared of
fire,
if *)
_
procedure boundaries(needrec
:
recordptr
;
haztype
:
emertypes)
;
var
(*
i,
tempi. temp2 integer
bertnarea Doolean
:
:
(**
;
;
used as a counter *)
(* used to manipulate integer data *)
('^ set if berthing comp is in the zone *)
**)
Procedure Berthcomp
procedure berthcomp( tempi :integer
begin
while nextrec < >
begin
if
;
var bertharea :boolean
do
nil
= 2 ) then
begin
If not bertharea then
writelnC The following Berthing Compartments should be cleared
writeln([email protected], - ,nextrec@. frame,' - ',
([email protected] = tempi) and ([email protected]
nextrec^Oi-loctocr);
bertharea = true
nextrec := nextrec®. linkit
:
end
(••
;
if*)
else
nextrec := [email protected];
end (* while *)
(* berthcomp *)
;
end
;
(* start of boundaries *)
begin
bertharea := false
tempi := [email protected]
if not [email protected]. then
begin
"nextrec := lwrdk([email protected].)-linkit
berthcomp(templ, bertharea)
if needrecx^.dklevel < numdecks then
begin
temp2 := [email protected] + 1
nextrec := lwrdk{.temp2.).linkit
tempi := [email protected] -I- 10
bertncomp(templ, oertharea)
•
;
;
;
;
;
;
;
end
if
;
(* if*)
[email protected] > 1 then
begin
temp2 := [email protected] - I
nextrec := lwrdk(.temp2.).linkit
tempi := [email protected] - iO
bertncomp(temp I, bertharea)
;
;
;
;
end: {* if*)
end
);
(* if
not above main deck *)
else
begin
nextrec := uplev([email protected].).linkit
berthcomp( tempi, bertharea)
if needrect^.dkfevel < numlevel then
begin
temp2 := [email protected] + i
nextrec := uplev(.temp2.).linkit
;
;
;
68
;
:');
tempi := [email protected] - 10
bertncomp(templ,^ertharea)
end (* if*)
;
;
;
if
[email protected] > 1 then
begin
temp2 := [email protected] - 1
nextrec := uplev(.temp2.).linkit
tempi := [email protected] + 10
bertncomp(templ, Dertharea)
;
;
;
;
end; (* if*)
end;
{* else
above main deck
*)
writeln;
writeln('Set the following boundaries to contain the hazard
writeln;
to numfittings do
for i =
:');
:
begin
"with closure(.i.)
do
begin
Ifzoneloc = needrec@. zone then
writeln( 'Fitting No. '.fitting,' located
end
(* with *)
'.fitlocat
)
;
;
end; (* for *)
continue;
haztype < > fumes then
begin
Tor i =
to numelpanel do
begin
with panel(.i.) do
if
:
begm
ifpanlcode
begin
= [email protected] then
writeln;
writeln('To secure electrical power to compartment ',
[email protected],' -',needrec@. frame, -,[email protected]
writeln{ Secure power at panel No. ',panelnum,' located in ',
panlocat
)
);
;
end;(*if*)
end
end;
end; (*
(* with *)
(* for *)
if^=)
haztvpe <
begin
if
for
i
:
;
=
>
flooding then
to
numventcon do
begin
with vent(.i.) do
begin
ifvntcode = [email protected] then
begin
wTiteln;
writeln('To secure ventilation to cornpartment ',
[email protected],' -',needrec@. frame, '-',[email protected]
writeln('Use controller No. ',contnum,' located in ',
contlocat )
;
end;(*if*)
end
;
(*
with
*)
end: {* for ^)
end; (=^11*)
end
;
(*
procedure boundaries
*)
69
);
'
* t- * *******
^f!
*****+.*******!!!**-!:******* * * ********************************* * * * N
'*
*)
Procedure (idensource) Identifv Source
'*
This procedure provides guidance on methods to determine the source *)
* of the identified hazard.
*)
* * * * ************ * * * * ******** * * * * * * * * * * * * * * * * * * * * *********************** * *
'
procedure idensource(needrec: recordptr ;haztype:emertvpes
var hazsource" :integer
var
ans
valentry
char
boolean
:
;
:
begin
valentrv
write In;"
;
)'
:
=
false
if haztype =
fire
used to determine
(*
;
if
a valid entr>'
was made
*)
;
then
beein
"repeat
writeln('What tvpe of fire is this ? ');
writeln( Enter the appropriate number below:
');
writein:
= 1 ')
writeln( 'Class
(paper, wood, materials etc.)
writelm 'Class B (nvdrocarbon or flammable liquids) = 2
= 3 ');
writelnf 'Class C (electrical fire )
= 4 ');
writelnf 'Class
( Chemical fire )
=
writeln(' Type of fire unknown
);
writeinreadln( hazsource)*
if (hazsource > 4) or (hazsource <
) then
writelnC Invalid input, please tr^' again. ')
A
');
D
else
valentrv
if
hazsource
begin
=
=
true
:
-
;
then
writeln('Send out investigators to determine type of
valentrv = false
end (* if*)
:
fire.');
;
:
until valentrv-
;
Is the source of the fire known?
readln(ans);
if (ans =
a') or (ans = 'n') then
writelnC
Y/N
'
);
begin
case hazsource of
begin
1
:
[email protected] = 1 then
writelnrAdmin space, probable paper fire. ');
if ([email protected] < 10) and ([email protected] >
writelnfPotential of a class B fire );
if
if
needrec'^.usecode = 3 then
writelnC Berthing compartment.',
Possible bedding fire. Hazardous fumes possible.
'
end; (*
2
:
1
([email protected] < 13) and
(needfec(^.pipinecode >
writeln(
if
Flammable liqiiids
needrec®.usecode =
13
7) then
in piping. ')
4
:
;
writelnC
begin
;
then
writelnC Flammable storeroom
end
:
');
*)
begin
if
3
4) then
');
(* 2 *)
Check
electrical
equipment
in the space.');
[email protected] = 21 then
writelnCContact '[email protected],' -'.needrec®. frame,
-', needreCv^.loctocT,
custodian for detail
if
'
'
70
',
'inventon' of materials.
end
;
');
(* 4 *)
end; (* case hazsource
*)
end; (* if ans =
"'")
N
end;(*
if
haztype
begin
=
if
*)
fire
flooding then
repeat
What is flooding the space ? ');
writelnC Enter the appropriate number.
writeln('
writeln;
writeln('
Saltwater
Fresh water
writeln(' Chilled water
\vriteln('
writelnf'
writeln('
writeln:
Fuel
oil
Unknown
');
= 1 )•
= 2 );
= 3 j;
= 4');
= 0');
'
readln{hazsource)*
if
(hazsource > 4} or (hazsource <
) then
writelnC Invalid input, please tr>- again.
else
valentrv
if
hazsource
begin
=
=
true
:
')
;
then
writeln('Send out investigators to determine type of,
'
valentrv'
:
=
false
flooding.');
;
end;(*if-'0
until valentry
;
Is the source of the flooding
readln(ans);
if (ans = 'N') or (ans = 'n') then
writelnC
known? Y/N
');
begin
(hazsource = I ) and ([email protected] = 3) then
writelnC Check firemain in space ')
if ([email protected] > 3) and ( not [email protected]
then
writelnC Check for a leak in the hull or any nearby',
if
'
end
;
floodable voids.
');
end;.(*if*)
(* flooding *)
haztvpe = fumes then
begin
if
fumetest(needrec, fumes, hazsource);
safeprec( fumes, hazsource);
writeln;
if
(hazsource = 2) and ([email protected] = 6) then
writelnC Possible break in plumbing vent. ')
;
repeat
wTitelnC Have additional fumes been discovered
readln(ansl;
y') or (ans = 'y') then
if (ans =
begin
Tumetest(needrec, personinj, hazsource);
safeprec( fumes, hazsource);
end;
until (ans = 'N') or (ans = 'n')
?
Y/N');
end; (* fumes *)
writelnC
writeln('
^^
^^^ compartment number for the location of the emergency');
correct as originally reported ? Y/N );
readln(ans);
if (ans = "N') or (ans
'
=
end
;
(*
then
'n')
getcompnum(needrec)
procedure idensource
;
"'•)
71
)
' .);
* * * * * * ***,(:**** * * * * * * * * * * * ********** * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * \
**
Procedure (sysguide) System Guidance
*)
* This procednre provides guidance on the proper operation of the
*)
* installed damage control system that is inputed by the parameter
*)
* svstmnum
*)
* * >:;************** * * ******** * ****************************************** \
procedure sysguide(systmnum
:
integer)
;
begin
writeln;
case
1
:
systmnum of
begm
To operate
the installed eductor system, open the (OVBD)');
first, then the activating water (ACTW). j;
writeln(' and finallv open the bilge or main drain (SUCT) valve, j;
writelnC To secure' the eductor use the reverse order of lineup.');
end; (* 1 *)
\vriteln('
\vriteln{'
overboard valve
beein
writelni
writelni
writelni
writelni
writelni
end; (- 1
3
:
'
'
'
'
'
To
operate the installed exhaust fan, open anv closed ');
exhaust vent dampers and then activate the exhaust fan
at the given controller. In the event of a fire, secure');
the fan at the aiven controller and then close the ');
exhaust vent dampers. ');
,');
begin
writeln(' To operate the active sprinkler system, open the ');
');
writelni' given control valve
writelnC To secure the sprinker close the control valve or use
.
the
end;
{*
GOV.
');
3 *)
beein
writeln(
writelm
writeln(
{* 4
To
use the drv standpipe connect a firehose to the ');
^iven fitting. For plain saltwater use a fire station.');
For AFFFlise a portable FP-180 proportioner.');
.
end;
5
:
be sin
writelnC Before operating the installed C02 flooding svstem,',
first ensure Ihat');
writelnC all personnel are out of the compartment to be flooded.,');
writelnC All supply and exhaust ventilation should be secured. ');
writelm' All opening to the compartment should be closed. ');
writelnC ^° operate the C02 flooding system, pull the given control'
writelnj' handle firmly enough to break the seals on the C02 cylinders
end; (- 5*)
'
begin
writeln( Before operating the installed C02 hose reel system. ');
writeln pull the given control handle or lever firmlv enough to ');
writeln break the seals on the C02 cylinders. Use the horn in a);
writeln sweeping motion directing the C02 at the base of the fire.');
writelni Use the oail on the horn to control the flow of C02. '};
writelni For futher information look at
tech manual',
Chapter 9930 Firefighting -Ship .');
end; (* 6 *)
NAVSEA
'
7
:
begin
writelni'
writeln('
writelni'
writelni'
writelni'
writeln('
writelni'
HALON
system all supply);
Before operating the installed
and exhaust vent dampers should be closed if possible, );
and all fans serving the space secured. All personnel ');
should be out of the space or in the process of leaving );
svstem use the given');
the space. To activate the
local or remote pneumatic actuators. 'Breathing apparatus );
should be used bv personnel entering a space flooded ',
HALON
'with
HALON.');
72
,
end; (*
8
7
*)
begin
:
writelnf' To operate the Twin Agent Fire Extinguishing Svstem
');
wnteln(' remove the safety clip and pull the give nitrogen 'cylinder )
writeln(' valve lever. This 'activates both the AFFF ana PKP systems');
writeim' through an interlock valve. Once activated, either age'nt);
writeln(' discharge may be shut ofTat any time by opening or closmg'
writeln(' the pistol grip shut ofT nozzles. ");
writeln(' To secure the TAFES system follow the procedures given in ')
writelnC NAVSEA Tech Manual Chapter 9930, Firefighting-'Ship. ');
end; (" 8 *)
,
9
begin
:
To operate the AFFF sprinkler system, operate ');
writelm' given fittings. Ensure that the Fog Foam station is ');
writelnC manned by personnel who will keep the tank filled.');
end; (* 9 *)
writeln('
10
begin
:
writelnC To operate the AFFF Hose Reel System open');
writelnC ^^^ given control valve 'V,
writelnC To secure the Hose Reel follow the procedures given in ');
writelnC NAVSEA Tech Manual Chapter 9930, Firefighting-Ship.
end; (* 10 "'')
(* case *)
,
.
end
;
');
writeln;
end
continue;
(* sysguide *)
;
The following ten procedures are called by, procedures elirnhazard and *)
recover to obtain information on the identiTication number and location *)
* of the controls that operate the applicable installed damage control
*)
* systems and equipment. These procedures call procedure sysguide.
*)
I*
/*
procedure geteduct{needrec
:
recordptr)
;
var
i
:
integer
(*
;
used as an index
*)
begin
writelnC The compartment can be dewatered using the main drainage system.');
for
i
:
=
1
to
numeduct do
begin
with eductor(.i.) do
begin
if ([email protected] = dkorlev ) and (needrec@. frame =
(needfec^.loctocl = thirdpt) then
writelnC Varve number ',valvenum,' located '.location);
end: (* with ^)
end;(*
for
*)
sysguide(l)
end; (* geteduct *)
;
/*******.-K.H**)|i*******************************\
procedure getexhaust(needrec
:
recordptr)
;
var
i
:
integer
;
(*
used as an index
*)
begin
writelnC The compartment has an installed exhaust system.');
for
i
:
=
1
to
numexhfn do
begin
with exhfan(.i.) do
begin
73
fr)
and
([email protected] = dkorlev ) and (needrec@. frame = fr) and
([email protected] = thirdpt) then
wrilelnr Controller number ',valvenum,' located '.location);
end: (* with *)
if
end
;
(*
for
syseuide(2)
C
"
end;
*)
;
getexhaust *)
procedure getactspr{needrec
:
recordptr)
;
var
i
integer
:
(*
;
used as an index
*)
begin
writelnC The compartment contains an active sprinkler system.');
for
i
=
:
I
to
numactsp do
begin
"with actspr(.i.) do
begin
if ([email protected]
=
dkorlev
)
and (needrec@. frame =
= thirdpt) then
Valve number ',valvenum,' located
fr)
and
(needrec'a),.loctocl
writeln(^'
'.location);
end; (* with -)
end :(* for *)
svs2uide(3)
end; "(•'"getactspr *)
**** **** ***
* * * * * * * * ******** * * * * * * * * * N
procedure getspspr{needrec: recordptr)
/
:(:
.1: .1:
:i:
.-!-.
;
var
i
integer
:
(*
;
used as an index
*)
begin
writelnC The compartment contains a dry standpipe sprinkler system.');
for
i
:
=
1
to
numdysp do
begin
with dr\'std(.i.) do
begin
if (needrec fa). dklevel
=
dkorlev
)
and (needrec@. frame =
fr)
and
fr)
and
(needrec;a;.loctocl = thirdpt) then
writelnC VaPv-e number '.valvenum,' located '.location);
end; (* with ^)
end
;
(*
for
svs2uide(4)
end;
*)
;
get stand pipe sprinkler
'
C'
*)
* * * * * * ****** * * * * * * * * * * * * * * ****************
procedure getco2nd(needrec recordptr)
/
:
;
var
i
integer
:
(*
;
used as an index
*)
begin
writelnC The compartment contains a
for
i
:
=
1
to
C02
flooding system.');
numcofld do
begin
with co2fld(.i.) do
begin
if (needrec@. dklevel
= dkorlev ) and (needrec@. frame =
(neearec(g.loctocl = thirdpt) then
writelnC Valve number '.valvenum,' located '.location);
end: (* with *)
end
;
(*
sysguide(5)
end;
(*
for
*)
;
getco2nd
*)
/*******************************************
74
;
procedure getco2hr(needrec
recordptr)
:
;
var
i
integer
:
(*
;
used as an index
*)
begin
wTiteinC The compartment contains a
for
i
:
=
1
to
C02 Hose
Reel system.');
numcohr do
begin
with co2hr(.i.) do
begin
if ([email protected]
=
dkorlev
)
and (needrec@. frame =
= thirdpt) then
Vafve number ',valvenum,' located
fr)
and
fr)
and
fr)
and
(needrec;a;.loctocl
writeln(^'
end; (* with
end;(*
for
'location);
••)
*)
sys2Uide(6)end;
/
**
.-;:
getco2hr *)
f-
* * M: * * * *
.i! :l!
:!:
******
.-I:
* * * * * * * * * * * * * ^. * * * * * * * * * \
procedure getanrsp(needrec
:
recordptr)
;
var
i
integer
:
(*
;
used as an index
*)
begin
writelnC The compartment contains a
for
i
:
=
1
to
AFFF
sprinkler system.');
numaflTsp do
begin
with afTTspr(.i.) do
begin
= dkorlev ) and (needrec@. frame =
([email protected] = thirdpt) then
writeln(^' VaK'e number '.valvenum,' located ', location);
end; (* with -)
if {needrec;a),.dklevel
end
(*
;
for
sysguideC9}
end;
/
*)
;
(''''"getanisp *)
****
-i!
.-i;
.t.
.-it
.1!
*
.-i: .-!;
.i: -i:
* * * * * * * * * * * * * * * * * * * * * * .* * * * .* * \
procedure gethalon(needrec
:
recordptr)
;
var
i
:
integer
(*
;
used as an index
begin
writelnC The compartment°s
for
i
:
=
1
to
*)
HALON
actuators are as follows
:');
numnalon do
begin
with halon(.i.) do
begin
if {[email protected] = dkorlev ) and (needrec@. frame
([email protected] = thirdpt) then
writelnf Actuator ',valvenum,' located '.location);
end; (* with *)
end
(*
;
for
*)
sysguide(71
if
[email protected] = 6 then
begin
wntelnC Activate
AFFF
Bilge sprinkler system.
getafiTsp( needrec);
end;
end;
(*
gethalon *)
/:;:*** * * * * *
:!;*** * ********** ****************
procedure gettafes(needrec: recordptr)
.-I;
.-(;
:i!
;
var
i
:
integer
;
(*
used as an index
*)
75
'\
');
=
begin
writelnC The compartment contains a Twin Agent Extinguishing System.');
for
i
:
=
to
1
numtau do
begin
do
with tausvs(.i.)
'
begin
if ([email protected]
= dkorlev ) and (needrec@. frame =
= thirdpt) then
Varve number '.valvenum,' located '.location);
fr)
and
fr)
and
(needfec;a);.loctocl
wriieln(^'
end- (" with
end
(*
;
svssuide(8)
'
end;
/
•")
^'•)
for
:
gettafes *)
f"
*********
.i;
ff
* * * * * * * * * * * * * * * * * * * * * * * * ******** \
procedure getanThr(needrec
:
recordptr)
;
var
i
:
integer
used as an index
(*
;
*)
begin
writelnC The compartment contains a AFFF Hose Reel system.');
for i = 1 to numafiThr do
begin
with aff[hr(.i.) do
begin
if ([email protected] = dkorlev ) and (needrec@Trame =
(needf^ec cD.loctocl = thirdpt) then
writelnC VaTv-e number ',valvenum,' located 'location);
end:(* with ^)
:
end
(*
;
*)
for
svseuide(lO)
end; ' C' getaHThr *)
;
* * * * * * * * * * * * * * * *****************************************************
*
*)
Procedure (elimhazard) Eliminate Hazard
* This procedure provides guidance on methods to eliminate the
*)
* identified hazard and the use of applicable installed damage
*)
* control equipment.
*)
* This procedure calls procedure safeprec and one of the ten
*)
*
*)
procedures as appropriate.
*^*
****** * * * * * ************* ***** * * ***** \
* * * * * * * * * * * f. * * * * * * * * * * * * .•ir*H!: *
GET
SYSTEM
.-ifil:
procedure elimliazard(needrec
:
recordptr; haztype
:
emertvpes;
hazsource
var
ans
:
char
systmnum
:
begin
if
haztype
begin
;
(*
integer
=
fire
;
:'
integer
used to read in answers from user *)
(* used to identify installed systems
);
*)
of procedure elimhazd *)
(*
start
10)
and ([email protected] >
then
sareprec{fire, hazsource);
if
([email protected]
<^
5)
begin
writelnC Secure the exhaust ventilation to the space.
getexhaust( needrec);
if
then
');
([email protected] < 3) and (hazsource < 3) then
begin
writelnCNo appropriate installed systems, use nearest',
'
if
hazsource
=
2
fire station.')
then
76
";
begin
Use portable FP-180 Foam Proportioner or use
writelnC portable PKP extinguishers.');
end;
writeln('
');
end;
if
hazsource = 3 then
begin
if ([email protected] < 5) or (([email protected] >
and ([email protected] <> 11)) then
writeln('No appropriate installed svstems, use nearest',
portable
C02
extinguishers.')
end;
if
([email protected] < 5) and (hazsource = 4) then
writelnf'No appropriate installed systems, use nearest'.
appropriate portable equipment.');
'
case [email protected] stems of
3
:
if
hazsource <
3
then
getactspr(needrec);
4
:
if
hazsource <
3
then
getspspr(needrec);
5
6
:
getco2fld(needrec);
:
begin
if
hazsource
=
then
1
writeln('Use
fire
station to
combat
'
if
hazsource
begin
=
"A"
class
possible
station or Portable
'extineuishers to');
fire
combat
PKP
7
:
',
class *B" fire if possible.');
= 4 then
writeln('Use C02 if appropriate to ',
'extinguish the class "D"
eetco2hr(needrec);
end; (* 6^=)
if
fire',
.');
2 then
writeln('Use
uTitelnC
end;
if
hazsource
begin
writelnC Use the
HALON
system
if
the
fire.');
fire is out',
of control or great');
writelnC hazards to personnel are involved in',
'
'
tr>'ing to
combat the
fire
.');
gethalpn(needrec);
8
:
if
hazsource < > 3 then
begin
if hazsource = 4 then
writelnC Use
r
/
TAPES
if
J
to extinguish class
appropriate.');
"D"
;
gettafes(needrec);
end; {^ 8 *)
9
:
if
hazsource <
3
then
getafiTsp( needrec);
10
:
if
hazsource <
3
then
getafnfhr( needrec);
11
:
begin
writelnCThe compartment contains various
',
'firefighting systems.');
77
fire',
7)
writelnC Use the most appropriate system.');
ifhazsource = 4 then
writelnC ^'se TAPES to extinguish class "D"
'
ifhazsource < >
3
if
fire',
appropriate.');
then
gettafes(needrec);
ifhazsource <
begin
3
then
2etafiTsp(needrec};
eetafiThrfneedrec);
encT;
(•Mf*)
gethalon(needrec);
encH (Ml ^)
12
:
begin
= 4 then
writelnC Use AFFF to extinguish class "D"
ifhazsource
fire',
'if appropriate.');
getarnhr(needrec);
ifhazsource < > 2 then
eetco2hr(needrec)
;
end;(n2^'-)
end;
end
if
(* case instalsystem
^
(* if fire *)
;
of*)
haztype = flooding then
begin
safeprec( flooding
hazsource);
case hazsource of
1
begin (" saltwater *)
ir{needrec;a)..pipingcode = 1) or (needrec:a).pipingcode = 3) then
writeln( if the source of flooding is the firemain,');
writelnC isolate the section of fir'emain.');
end; (* saltwater *)
,
:
2
:
begin {* freshwater *)
""
= 3) then
if (needrecfa).pipinecode
lecoae = 2)
Z) or (needrec(a^.pipinecode
(needrec(a!.pipinecc
writefnl If the source of flooding is the Iresn wate
/ater ');
writeln(' piping isolate the section of piping.');
end; (* freshwater )
'
'
3
:
begin (* chilled water *)
ir(needrec'ai.pinin2code = 4) or ([email protected] = 12) then
writetn( If the source of flooding is chilled water /,
isolate the section oTchilled water piping.');
end; (* chilled water *)
'
4
:
begin (* fuel oil *)
ir([email protected] > 7) and ([email protected] < 13) then
writem( If tne source of flooding is the fuel svstem,',
isolate the section of fuel piping.')";
'
end; (* fuel oil *)
end; (* case hazsource of*)
if
<>
1) or {[email protected] stems
or (needrec:fl),.instalsy stems
11)
or ([email protected]
12) then
([email protected]
<>
<>
10)
<>
begin
writelnCNo appropriate installed dewatering systems, use portable');
writeln('dewatering equipment.' );
ifhazsource = 4 tnen
writelnC Do not use a P-250 pump to pump oil or fuel.');
end
else
begin
case [email protected] of
1
geteduct(needrec);
geteduct(needrec);
8
:
:
78
10
:
geteductfneedrec);
geteductfneedrecj;
11
:
begin
9
:
writeln(The compartment contains various ',
aewatering systems.');
writelnC ^'se the most appropriate system.');
geteduct(needrec);
writelnC The mam circulation pump for the main',
condenser can be used to ');
writeln('dewater the bilges of a Main Machinery Room.');
'
end;
12
(* II
-')
eeteduct(needrec);
case instalsystem of *)
:
p
end;
end; {* else installed systems *)
end
if
;
(* flooding *)
haztvpe = fumes then
begm
case hazsource of
begin (* Explosive gases
1
*)
ir([email protected] =
begin
8) or
([email protected] = 12) then
writelnC ^ possible source of the fumes is the fuel piping.');
writelnC Isolate all fuel and fuel tank vent lines.');
end:
writelnC L'se a pneumatic blower to remove explosive gases.');
end; (* explosive gases *)
begin {* Hydrogen Sulfide
if
*)
{nee'drec.:a;.pipingcode
=
5) or
{[email protected]
=
6)
then
begin
writelnC Close all COV for all soil lines and plumbing');
writelnC vents leading to the space.');
end;
end;
(*
Hydrogen
Sulfide *)
begin (* Benzine *)
ir([email protected]
= 2) or {[email protected]
or (needrec(a>.instalsvstems = II) then
eetexhaust(needrec);
end;
4
:
p'
Benzine
=
12)
=
12)
^')
begin (* Chlorine *)
if ([email protected] = 2) or ([email protected]
or ([email protected] = II) then
eetexhaust( needrec);
end;
Chlorine *)
P
5
:
(*
begin
Carbon monoxide
*)
ir([email protected] > 3) and ( not [email protected] ) then
writeln( Check for nearby open or damaged voids.');
if (needrec(a),.instals\'stems = 2} or (needrec^.instalsystems = 12)
or ([email protected] = 11) then
eetexhaust(needrec);
end;
6
:
p'
Carbon Monoxide
begin (* Carbon Dioxide *)
ir([email protected] = 2) or ([email protected]
or ([email protected] = 11) then
eetexhaust(needrec);
end; p' Carbon Dioxide *)
end: {* case hazsource of*)
end
end:
(*
("^ if fumes
elimhazard *)
;
*)
*)
79
=
12)
*********************************************************************
*
*)
Procedure Recover
* This procedure provides guidance on the proper methods to recover
*)
* from the identified emergencv. It provides recommended tests to
*)
* conduct to determine if the compartment is safe to enter without
*j
* breathing devices. The procedure contains procedures ventilate and ^)
* dewater to provide the control numbers and locations of appropriate "')
* ventilation and dewatering systems.
')
**
.-;-.
*
.1;
.-:-.
.-:-.
**
.-:-.
***
.-::
**
.-:-.
**
•::
* * * --S-- * S; * * * * * * * * * * * * * * * * * * * * .* * * * * * *
procedure recover(needrec
recordptr
:
haztype
;
.1;
****************
emertypes);
:
var
ans
:
char
fumetvpe
hazdelim
/
:
:
(*
;
integer
boolean
;
;
used to read in answers from the user *)
(* used to determine the type of fumes ^')
(* used to determine if hazard eliminated *)
***************************«********************\
procedure ventilate(needrec
recordptr; fumetyp
:
:
integer);
begin
writeln;
if
fumetvp =
writelnC
if
then
1
Recommend
use of portable pneumatic blowers to remove
explosive vapors.'):
{[email protected]
begin
writeln('
writeln('
end
<>
and ([email protected] <
2)
5
)
',
then
No
installed exhaust ventilation systems.');
a portable pneumatic blower 'or a safety
'Red Devil blower.');
Use
checked
',
(* if *)
else
getexhaust(needrec);
writeln;
end; {* ventilate *)
/
* * * * * .* * * * .* ******** * * * * * * * .* * * * * \
procedure dewater(needrec
recordptr
:
);
begin
writeln;
if
[email protected] = 6 then
writeln('The main circ pump can be used
to dewater a Main ',
'Machinery' space.');
if ([email protected] = 1) or ([email protected] > 7) then
geteduct(needrec)
else
begin
No installed dewatering equipment in the space.'):
writelnC ^'se portable equipment utilizing the nearest overboard',
writeln('
'
discharge');
writelnC ^^^ ^^ eductor if tne water contains fuel or debris.');
writeln(' An electrical submersible pump can be used if the water');
writelnC is fairly clear of oil and deoris. A P-250 pump can be');
writelnC used if adequate ventilation to remove exhaust fumes is',
'
available.'
);
end (* else *)
(* dewater *)
;
end
;
(* start
begin
if haztype
begin
=
fire
hazdelim =
:
of procedure recover
then
false
repeat
writeln:
writelnC
Is
the
fire
out
?
Y/N'
);
writeln;
80
*)
i
readln(ans}:
if(ans= 'N') or ( ans = 'n') then
writeln( Continue to combat the
fire until it is
extinguished.')
else
begin
nazdelim
= true
fumetest( needrec,
if
:
fumetvpe =
fire,
fiimetvpe);
then
begin
writelnC
'-
;
Compartment
',[email protected].'-',[email protected],
neearec(a;.loctocl.' is safe to enter .');
writelnC Set the reflash watch and overhaul the
writeln;
',
fire.');
end
else
begin
safeprec(fumes, fumetvpe);
writeln('Set the refiasH watch in OBAs
ventilate( needrec
fumetvpe);
*)
end;);* else
writelnC Is the fire overhauled ? Y/N ');
writeln;
<>
and overhaul the
fire.');
,
readln(ans)
if (ans = 'N ) or ( ans = 'n') then
begin
writelnC Continue to overhaul the fire Conduct second ');
writelnC test when the overhaul is completed.')
end;
fumetest( needrec, fire, fumetype);
if fumetvpe =
then
begin
writelnC Compartment '[email protected],'-',needrec@. frame,
'- '.
[email protected],' is safe to enter .');
writelnC ^'^ ventilation is needed except for Smoke removal'};
writelnC Does the compartment need to be desmoked ? Y/N j;
;
.
writeln;
•
readln{ans)
x) or ( ans = 'v') then
if (ans =
ventilate( needrec
fumetype);
,
writeln;
end
else
begin
safeprec( fumes, fumetype);
ventilate( needrec, fumetvpe);
-=)
end; (* else < >
<>
([email protected]
1) and ([email protected] < 9)
then begin
writeln( 'Does Compartment '^needrec@ .dklevel,'-'.needrec@ .frame,
'- ',
[email protected]. have a significant amount or);
writelnC water, over two inches, that needs to be removed );
if
.
writeln;
readln(ans)
if (ans = 'N ) or ( ans = 'n') then
begin
writelnC Recommend the use of mops and pails to clean up.');
writeln(' Use the closest deck drains to remove the water.')
;
end
else
end
dewater( needrec)"
if then begin *)
(*
else
dewater( needrec);
end: (* else fire out *)
until
hazdelim
end; (* haztype
ifhaztype
=
;
=
fire *)
flooding then
begm
81
dewater{needrec)
:
writeln( Ensure all electrical equipment and wiring is checked out');
writeln{' before restoring electrical power to the compartment. ');
end; (* haztype = flooding *)
if
= fumes
haztvpe
begin
then
Check compartment to ensure fumes are cleared from space.');
fumetest(needrec. fumes, fumetvpe);
if fumetvpe =
then
begin
writeInC Compartment '[email protected]/-'.needrec@. frame,
'[email protected]^ is safe to enter .');
writelnC No ventilation is needed ');
"writelnC
,
.
writeln;
end
else
begin
safeprec( fumes, fumetvpe);
ventilate(needrec, fumetvpe);
end; (* else
end
<>()*)
haztvpe = flooding
procedure 'recover *)
end;
(*'
;
(*
*)
(**** Start of main procedure natknown ****)
begin
writeln(' What is the nature of the emereencv or problem ?
')
writeln(' Enter the appropriate number Below
writeln;
= 1 ')
writelni'
Fire
writeln('
Flooding
)
= 3 'J
writeln('
Fumes
= 4 ')
writeln('
Injur\' to personnel
writeln'
:
=2
;
;
;
readln(hazcode)
;
case hazcode of
1
:
2
3
:
:
4
end
if
:
;
haztvpe
haztvpe
haztvpe
haztvpe
:
:
:
= fire
= flooding
= fumes
= persomnj
;
;
;
:
;
{" case *)
haztvpe = personinj then
periniur\"(needrec)
else
begin
Doundaries(needrec .haztvpe)
idensource(needrec. haztvpe. hazsource);
elimhazard(needrec, haztype, hazsource);
recover(needrec. haztype");
;
end
end
;
(*
;
(* else *)
procedure natknown
*)
82
;
'
);
V
.
{***** Start of Main Program *****)
begin
writelnr*************************** ***********************************'
EMERGENCY
'*
writeln
An
writelnf'*
*');
Expert svstem to provide guidance on the operation of
*');
*');
writelm'* installed dariiage control equipment aboard the ship.
writelnf'* Answer the given questions and make the appropriate
);
*');
writelnC* choices from the presented menus.
*
"
*****
******** *****************
* * * * * * * * * * * % * * * * * * -* * * * *
wri t e n * * * * *
^'
(
1
""''
-i;
'
writeln;
emerover =
false
:
loadfiles
loaddata
writelnC
;
;
•
Do you want
have the ship°s compartments printed out
to
writeln;
readln( answer);
if
=
(answer = y') or (answer
printcomp
'y')
then
;
repeat
(* Until all
;
getcompnum(needrec)
emergencies have been handled
*)
;
writeln;
writeln('Is the nature of the emergency known
writeln;
readln( answer);
if (answer = "N") or (answer = 'n') then
begin
linkwnature(needrec)
natknown(needrec);
?
Y/N
');
;
end
else
natknown(needrec)
;
writeln;
writeln('Are there any
more emergencies
writeln;
readln( answer);
if
(answer =
emerover
until
end.
:
a") or (answer
true
=
emerover
("*
=
'n')
then
;
;
Program Emergency
**)
83
or casualities
?
Y/N'
);
?
Y/N
');
-
\
OF REFERENCES
LIST
1.
Naval Sea Svstems_Command Report S9086-Cn-STM-20, Naval Ship's Technical
Manual, Chdpier 079, Volume 2, Damage Control - Practical Damage Control,
December
2.
Bissel.
Naval
1979.
Oertel. E. J.,
A. M.
Institute Press, 1976.
,
and Livingston, D.
J.,
Shipboard Damage Control,
3.
Haves-Roth, F., Waterman, D. A., and Lenat, D.
Addison-Wesley Publishing Company Inc., 1983.
4.
Naval Sea Systems
5.
Weingart, Stephen G., Development of a Shipboard Damage Control Fire Team
Leader Intelligent Computer Aided Instructional Tutoring Svstem, Master's Thesis,
Naval Postgraduate School, Monterey, California, June 19'86.
6.
Rowe, N. C, Introduction
7.
KofTman, Elliot B., Problem Solving And Structured Programming
Addison-Wesley Publishing Company Inc., April 1982.
B.,
Building Expert Systems,
Command Report 0901-LP-930-0003, Naval Ships Technical
Manual, Chapter 9930, Firejlghting - Ship, December 1985.
8.
Borland International,
9.
Jov
E.
M., Graham,
to Artificial Intelligence
TURBO PASCAL,
S.
BERKELEY PASCAL
L.,
Halev, C.
User's
B.,
Manual,
Through Prolog, Prentice-Hall,
in
Pascal,
Version 3.0 Reference Manual, 1985.
McKusick, M.
Version
3.0,
K.,
and
University
Kessler, P. B.,
of California,
Berkeley, July 1985.
10.
MacLennan, Bruce J. Principles of Programming Languages: Design, Evaluation,
and Implementation, Holt, Rineharl, ana^Winston, 1983.
84
BIBLIOGRAPHY
Command Report 9086-SX-STM-020, Naval Ship's Technical
Manual, Chapter 550, Industrial Gases Generating, Handling, and Stowage, September
Naval Sea Systems
Naval Sea Systems_ Command Report S9086-WK-STM-000, Naval Ship's Technical
Manual, Chapter 670, Stowage, Handling, and Disposal of Hazardous General Use
Consumables, February 1976.
85
INITIAL DISTRIBUTION LIST
No. Copies
1.
Defense Technical Information Center
2
Cameron
Station
Alexandria, Virginia 22304-6145
2.
3.
Librarv. Code 0142
Naval Tostgraduate School
Monterey, California 93943-5002
2
Department Chairman. Code 52
Department of Computer Science
Naval Postgraduate School
Monterey, California 93943-5000
1
4.
Computer Technolosv Programs, Code 37
Naval Postgraduate "School
Monterey, California 93943-5000
5.
Associate Professor N.C.
1
Rowe
1
Code 52Rp
Department of Computer Science
Naval Postgraduate School
Monterey, California 93943-5000
6.
Gordon H. Bradley
Code 52Bz
Department of Computer Science
Professor
1
Naval Postgraduate School
Monterey, California 93943-5000
7.
Commanding
Officer
1
Naval Research Laboratory
Washington, DC 20375
7.
Commanding
Officer
1
Naval Damage Control Training Center
Philadelphia,^A 19112
8.
LCDR Bernard G. Gogel
Rural Route 3, Box 197
Huntingburg, Indiana 47542
2
86
1
7
8Q8
?L
2
DUDLEY KHOX LIBE AE.y
DTAVAL postgraduate; school
MOBTTEBEY, CALIFORNIA 93943-6003
/
Thesis
G5285
c.l
Gogel
An expert system to
provide guidance on the
operation of installed
damage control systems
aboard Naval ships in
emergency situations.