co^

.^^^

Z m.

\

<0 NBS TECHNICAL NOTE 1123

^^fAU Of

U.S. DEPARTMENT OF COMMERCE/ National Bureau of Standards

A Computer Data Base System

for Indexing Research Papers
NATIONAL BUREAU OF STANDARDS

The National Bureau of Standards' was established by an act ot Congress on March 3, 1901. The Bureau's overall goal is to strengthen and advance the Nation's science and technology

and facilitate their effective application for public benefit. To this end, the Bureau conducts

research and provides: (1) a basis for the Nation's physical measurement system, (2) scientific and technological services for industry and government, (3) a technical basis for equity in trade, and (4) technical services to promote public safety. The Bureau's technical work is per- formed by the National Measurement Laboratory, the National Engineering Laboratory, and

the Institute for Computer Sciences and Technology.

THE NATIONAL MEASUREMENT LABORATORY provides the national system of

physical and chemical and materials measurement; coordinates the system with measurement

systems of other nations and furnishes essential services leading to accurate and uniform

physical and chemical measurement throughout the Nation's scientific community, industry,

and commerce; conducts materials research leading to improved methods of measurement,

standards, and data on the properties of materials needed by industry, commerce, educational

institutions, and Government; provides advisory and research services to other Government

agencies; develops, produces, and distributes Standard Reference Materials; and provides

calibration services. The Laboratory consists of the following centers:

Absolute Physical Quantities- — Radiation Research — Thermodynamics and

Molecular Science — Analytical Chemistry — Materials Science. THE NATIONAL ENGINEERING LABORATORY provides technology and technical ser- vices to the public and private sectors to address national needs and to solve national problems; conducts research in engineering and applied science in support of these efforts; builds and maintains competence in the necessary disciplines required to carry out this research and technical service; develops engineering data and measurement capabilities;

provides engineering measurement traceability services; develops test methods and proposes

engineering standards and code changes; develops and proposes new engineering practices;

and develops and improves mechanisms to transfer results of its research to the ultimate user. The Laboratory consists of the following centers:

Applied Mathematics — Electronics and Electrical Engineering' — Mechanical

Engineering and Process Technology- — Building Technology — Fire Research —

Consumer Product Technology — Field Methods.

THE INSTITUTE FOR COMPUTER SCIENCES AND TECHNOLOGY conducts

research and provides scientific and technical services to aid Federal agencies in the selection, acquisition, application, and use of computer technology to improve effectiveness and

economy in Government operations in accordance with Public Law 89-306 (40 U.S.C. 759), relevant Executive Orders, and other directives; carries out this mission by managing the Federal Information Processing Standards Program, developing Federal ADP standards

guidelines, and managing Federal participation in ADP voluntary standardization activities; provides scientific and technological advisory services and assistance to Federal agencies; and

provides the technical foundation for computer-related policies of the Federal Government.

The Institute consists of the following centers:

Programming Science and Technology — Computer Systems Engineering.

'Headquarters and Laboratories at Gaithersburg, MD. unless otherwise noted; mailing address Washington, DC 20234. ^Some divisions within the center are located at Boulder, CO 80303.
A Computer Data Base System

for Indexing Research Papers

JIATIOMAJL BinUCAU or STANbASUB

UBKABT

OCT 1 1980

not cu' CifL.

Ciuoo

Lawrence J. Kaetzel

Robert A. Glass

George R. Smith

Center for Building Technology

National Engineering Laboratory

National Bureau of Standards

Washington, D.C. 20234

^^^^^ °" eo^

^^fAU OV

-k

U.S. DEPARTMENT OF COMMERCE, Philip M. Klutznick, Secretary

Luther H. Hodges, Jr., Deputy Secretary

Jordan J. Baruch, Assistant Secretary for Productivity, Technology and Innovation

NATIONAL BUREAU OF STANDARDS, Ernest Ambler, Director

Issued October 1980
National Bureau of Standards Technical Note 1123

Nat. Bur. Stand. (U.S.). Tech. Note 1123, 90 pages (Oct. 1980) CODEN: NBTNAE

U.S. GOVERNMENT PRINTING OFFICE

WASHINGTON: 1980

For sale by the Superintendent of Documents, U.S. Government Printing Office, Washington, D.C. 20402

Price $4.25

(Add 25 percent for other than U.S. mailing)
A COMPUTER DATA BASE SYSTEM FOR INDEXING RESEARCH PAPERS

Lawrence J, Kaetzel

Robert A, Glass

George R. Smith

ABSTRACT

The Kaetzel-Glass-Smith data base system allows the indexing and retrieval

of scientific research papers through the use of a minicomputer system

in an interactive mode. Criteria are entered through the user's remote

terminal which produces subsets of the data base in a report format as well as statistical summaries of data base elements.

Key words: Computer indexing; data base; information retrieval;

interactive processing.

Ill
ACKNOWLEDGMENTS

The authors wish to thank the Occupational Safety and Health Administration for their support of this work. The KGS data base was developed

in conjunction with OSHA's Office of Standards Development in order to

be able to quickly retrieve references relevant to the development of a new standard on safety and hazard markings.

The authors also thank Mrs. Sharon Farinholt and Ms. Ulesia Gray for

their efforts in the preparation of this manuscript and Dr. Fred Stahl,

Mr. Frank Lerchen, and Mr. Dave Wise for their thoughtful suggestions.

iv
TABLE OF CONTENTS

Page

ABSTRACT iii

ACKNOWLEDGMENTS iv

1 • Introduction 1 2. Computer System Environment 1

2.1 Hardware 1

2.2 Software 2 2.3 Data Base Storage 2 2.4 Data Base Sorting 2

3. Modes of Operation 3

3.1 Data Base Supervisor Program (PDBSUP) 3

3.2 EDIT Mode (PDBED) 3

3.2.1 SEARCH Mode (PDBED) 3

3.2.2 UPDATE Mode (PDBED) 3

3.2.3 APPEND Mode (PDBED) 4

3.2.4 DELETE Mode (PDBED) 4

3.2.5 RETURN Mode (PDBED) 4

3.3 KEY WORD Mode (PDBKEY) 4

3.4 SELECT DB Mode (PSDSUP) 5 3.5 ONE KEY Mode (PDBQK) 5

3.6 RETRIEVE Mode (KGSEX) 5

4. Operating Procedures 6

4.1 Perkln-Elmer Computer System Slgnon Procedure 6

4.1.1 Operator Prompting 6

4.2 Sorting 7 4.3 Activating the KGS Data Base 7 4.4 Data Base Supervisor Program 7 4.5 EDIT Mode 7

4.5.1 APPEND Sub-mode 8

4.5.2 DELETE Sub-mode 8

4.5.3 UPDATE Sub-mode 8

4.5.4 SEARCH Sub-mode 8

4.5.5 RETURN Sub-mode 9

4.6 SELECT DB Mode 9

4.7 KEY WORD Mode 9

4.8 ONE KEY Mode 9
TABLE OF CONTENTS (Continued)

Page

4.9 RETRIEVE Mode , 4.10 STOP Mode ^ , 4.11 SIGNOFF Procedure ,

5. Implementation Considerations ,

5 .

1

Minimum Hardware Resources

5.2 Software Installation <

6. Conclusions

LIST OF TABLES

TABLE" 1. KGS PROGRAM FUNCTIONS

TABLE 2. PERKIN-ELMER REMOTE TERMINAL COMMUNICATIONS PROTOCOL .. TABLE 3. SUMMARY OF SIGNON PROCEDURES FOR THE KGS DATA BASE

SYSTEM

TABLE 4. AVAILABLE KGS DATA RUN MODES

TABLE 5. KGS ALLOWABLE COMMAND ABBREVIATIONS

9

10

10

10

10

11

11

12

12

13

13

14

LIST OF FIGURES

FIGURE 1.

FIGURE 2.

FIGURE 3.

FIGURE 4.

APPENDIX A.

APPENDIX B.

APPENDIX C.

APPENDIX D.

APPENDIX E.

APPENDIX F.

CBT PERKIN-ELMER COMPUTER SYSTEM CONFIGURATION

KGS DATA BASE RECORD FORMAT , SAMPLE KGS RETRIEVAL

KGS PROGRAM MODULES ,

LIST OF APPENDIX

KGS SAMPLE SEARCH STRATEGY , EXAMPLE OF A TYPICAL KEY WORD LISTING IN THE

KGS SYSTEM , PERKIN-ELMER OPERATING AND REFERENCE MANUALS

KGS APPLICATIONS PROGRAM LISTING , KGS EXTERNAL SUBROUTINES

ERROR DIAGNOSTICS ,

15

16

17

18

A-1

B-1

C-1

D-1

E-1

F-1

VI
1

.

INTRODUCTION

A set of computer programs written in the FORTRAN V Level I programming

language has been developed which allows the indexing, classifying,

retrieval, and editing of citations of research papers through the use

of a computer terminal in a research laboratory or office. Complete

listings of the application programs may be found in Appendix D.

The system is designed to help user's of medium and small computer

systems organize, edit, file, and retrieve copies of research papers.

A major advantage of implementing a system for personal copies of

research papers, is that it allows the user to consider the references

to form a research data base, and allows the user to search through

them using new search strategies.

The current version of this data base system does not provide publication abstract capabilities. Enhancements to the system are planned

during fiscal year 1981 and provisions for abstracting will be included.

This report describes the overall systems, its operation, and the

computer program. It allows a user with some familiarity with computers

to use or duplicate this system. The software system described enables

the user to access the entire data base or subsets of the data base.

A Perkin-Elmer Model 7/32 minicomputer was used in the development and

implementation of the system along with its associated peripherals and

software routines. Other minicomputer systems can be used to implement

the data base system, although minor adjustments in the programs may be

necessary.

2. COMPUTER SYSTEM ENVIRONMENT

2.1 Hardware

The memory capacity of the Perkin-Elmer computer used is one-half million

bytes. Processing is performed using thirty-two bit word formats.

The computer system hosts a variety of peripheral devices to include

rotating magnetic disk, magnetic tape, cassetter recorders, electrostatic

printer/plotter and a medium speed line printer (see Fig. 1).

Telecommunications access methods are achieved in one of three ways:

1) commercial telephone network; 2) dedicated short-haul modems; and

3) dedicated cable where short distances (less than four-hundred and

fifty feet) are involved.

Reference of computer manufacturer does not constitute an endorsement

by NBS.
An asynchronous communications adapter is installed in the computer

system and provides a universal hardware communications interface.

The ASCII* character data format is used in the transmission of data

between the computer system and its remote devices.

2.2 Software

The software operating system installed in the computer is the "PerkinElmer 0S/32MT" operating system. The system permits multi-user access

to the computer's hardware and software resources. Priorities are assigned to a computer program during the development process, and determines the execution of the program with regard to peripheral and central

processor availability.

The data base management software system is entitled the "Kaetzel, Glass,

Smith Data Base" (KGS). Software sub-systems used with the KGS data

base system are: Perkin-Elmer Multi-Terminal Manager (MTM) and the

Perkin-Elmer FORTRAN V Level I compiler. The function served by MTM is

to provide a remote software link between the user's terminal and the

production and development facilities of the computer system.

2.3 Data Base Storage

Data elements (fields) of every KGS related-publication are stored in

the data base in a prescribed format. Each publication represents one data base record, (see Fig. 2), Decisions relating to the representation of data within an element are the responsibility of the user. For

example, a recommended format for the author name element could be; last

name-comma-space-first initial-space-middle initial. The importance of

using a consistent format is reflected in the retrieval of information

when the "field" search criteria is employed.

Information retrieval is available in two formats (see Fig. 3).

Optionally, the operator may have the information displayed on the CRT

terminal or direct to a line printer device in the computer facility.

Criteria used in selecting data base subsets are key word, author's

name, and publication title. In addition, provisions are made to allow

the entire data base to be displayed. Other features found in the

retrieve mode are field versus character string search, and the union

versus the intersection of a selected group of key words.

2.4 Data Base Sorting

The sequential ordering of the KGS data base is performed through the

Perkin-Elmer Data System's "Sort-Merge" Software Program. The operator

activates the sort program prior to entering the KGS data base system.

Features of the sort routine include ascending or descending sequencing

and sorting capability up to seven levels. Command files have been

* American Standard Code for Information Interchange.

2
prepared for the operator, which sort in ascending sequence by author

and file code. By using this procedure, the entire data base is sorted

and remains in that sequence until the next sort is performed.

3. MODES OF OPERATION

3.1 Data Base Supervisor Program (PDBSUP)

The function served by the data base supervisor program is to allow the

operator to select from several data bases and to select the desired mode

of operation. Refer to Figure 4 for software configuration. Program

Modules are stored on disk and are loaded into memory only, when it is

called by the operator (see Table 1). Upon completion of a run mode,

control is returned to the supervisor program which idles waiting for

another operator command. Error conditions which may occur during the

execution of a run mode are reported on the operator's terminal,

resulting in control returning to the supervisor program.

3.2 EDIT Mode (PDBED)

The user may edit the KGS data base by typing the command "EDIT".

Execution of the EDIT mode begins by requesting one of the five EDIT

sub-modes: 1) Search; 2) Update; 3) Append; 4) Delete; and 5) Return.

All editing is performed by referencing the data base record number.

Records are numbered from one to the number of the last record in the

file. There is no maximum number of records except that which is

dictated by disk storage capacity. Each data base record consists of

fifteen lines (elements). Maximum line (element) sizes are preassigned

for each record and are shown in Figure 2.

3.2.1 SEARCH Mode (PDBED)

During the process of editing the KGS data base, an identifier (record

number) is used for accessing record information. The SEARCH mode is

available to assist the operator in locating the desired record number.

The program asks for the author's last name which is used in matching

against each data base record. When a match is detected, the record

number, author's name and publication title are displayed. An option

to continue searching or terminate the search is available.

3.2.2 UPDATE Mode (PDBED)

The UPDATE mode is used to modify an element or elements in a data base

record which is already in the data base. The program first asks for

the record number, then displays the fifteen lines of text which are currently stored in the record. In addition to the text, the line or element number is affixed at the beginning of the line. These numbers,

from one to fifteen are then used to identify the element (see Fig. 2).

By typing the line number, the program displays the current contents and

asks for the updated information. The new text which has been entered is
then used to replace the old text. "Replace" is by line only, no character string capability is available. The program then asks for

the next line number to be updated. When updating is completed, the

operator types an asterisk, at which time the entire record is displayed and the user is given the option to save the updated record

by typing "Y" or "N", A "Y" response will cause the information to

be saved. An "N" response will cause the previously recorded text to

be retained. The program then asks for the next record to be updated.

When update is completed, the operator types an asterisk and another

edit operation is requested.

3.2.3 APPEND Mode (PDBED)

The APPEND mode is used to splice new records into the data base. In

the APPEND mode, each element is requested by first displaying the element name and then a prompt to indicate that input is necessary. The

operator enters the appropriate information for the entire record. The

information is then displayed and the option to save or discard the

information is given. A "YES" response will result in the record being

stored on disk. A "NO" response will result in the request for the next

record. By typing an asterisk, the APPEND mode is terminated and another

mode is requested.

3.2.4 DELETE Mode (PDBED)

The nature of data base manipulation dictates that a method be provided

for deleting unwanted records from the data base. The DELETE mode provides the operator with this capability. This process is achieved by

marking the elements in the specified record with the characters "DELE".

This suppresses the record for all future data base manipulation.

3.2.5 RETURN Mode (PDBED)

By typing "RETURN", the control of the system is returned to the data

base supervisor program (PDBSUP).

3.3 KEY WORD Mode (PDBKEY)

The KEY WORD mode is designed to search each data base record and produce

a sorted summary report of key words recorded in the key word fields.

This program is activated in the run mode by typing the word "KEYS". An

option is also provided which allows output to be displayed on the user

CRT or on a hard copy device.

The report is generated in an alpha-numeric sorted order. In addition to

the list of key words, the number of occurrences is indicated. A summary

A special character displayed by the computer to indicate that an operator command is expected.
is also presented which indicates the number of records in the data base,

the number of "deleted" records, and the number of different key words.

3.4 SELECT DB Mode (PDBSUP)

The purpose of the SELECT DB mode is to allow the user to transfer control

to another data base without terminating the KGS data base software package. This is useful if the user wishes to maintain publications on two or more areas of research. By typing "SELECT DB" the command "ENTER DATA

BASE NAME" will be displayed. The data base name entered is subsequently

used to activate the appropriate retrieval mode for data base manipulation.

The valid data names are maintained in the supervisor program and are modified by deleting or inserting as needs arise.

3.5 ONE KEY Mode (PDBQK)

The purpose of the ONE KEY mode is to assist the data base operator in

querying the data base for specific publication topics (key words). By

typing a key word value when requested, the program searches the data

base and displays those records (if any) which contained that key word.

This is useful if a "snapshot" of the data base is desired, without

displaying each data base record.

3.6 RETRIEVE Mode (KGSEX)

Information retrieval and display of the KGS data base is accomplished

using the RETRIEVE mode. Various search criteria such as key word or author name may be entered and subsets of the data base extracted. Also

included is the option for a field or character search of a data base

record. A field search attempts to match the characters entered by the

operator with the characters contained in the data base element. A

string search will search the entire element for a match of the characters

entered by the operator with any contiguous character match contained

in the data base record element. The maximum number of characters in a string search is one hundred. In the case where the key word search

option is used, each of the six key word fields plus the title field

will be employed in searching. Optional printer hardcopy output is

available. An option for the "UNION" or the "INTERSECTION" where more

than one key word is also provided. In the UNION ('OR') condition,

records must have all key words (maximum six) in either the title or key

word field. In the INTERSECTION ('AND') condition a match on any of the

entered key words will result in the record being retrieved.

When a string search criteria is employed the operator may enter the root

of a key word which allow records to be retrieved having that root plus

variations. For example:

Entering the characters "COL" might result in records having key words

such as:
color

colour

colors

colours

4. OPERATING PROCEDURES

Each user is assigned a password, after the KGS system has been put into

operation (as it has in the CBT Computer Center).

In order to activate and operate the KGS system, the user must have a terminal which is set in the proper telecommunications mode to allow

capability with Perkin-Elmer 7/32 Computer System (or any host computer).

For the CBT user, switches must be adjusted to reflect the conditions

shown in Table 2.

4. 1 Perkin-Elmer Computer System Signon Procedure

As discussed in Section 2.2, Computer Software, remote access to the

Perkin-Elmer Computer System is provided through a Multi-Terminal

Manager (MTM) subsystem. Two conditions must be met before a user may

access the computer and activate the KGS data base. The first is that

the MTM system must be active. A user may determine this by turning on

the terminal, dialing the computer (if necessary), and depressing the

"RETURN" key. If an asterisk is displayed by the computer, the computer

system is available and the command to "SIGNON" may be entered. If no response is received, first ensure that all terminal telecommunication

settings are correct (see Table 2). If so, contact the computer facility

as to system availability. The second requirement of the operator is

that the account number and password for the KGS data base be known.

With these two conditions met, the operator may access the computer by

typing the following command:

SIGNON ID,14,PDB (where ID equals a 1-8 character name for user identification purposes)

An acceptance of the "SIGNON" command will be acknowledged by the computer

responding with an asterisk.

4.1.1 Operator Prompting

Operator interaction with the computer system may be described as having

three levels. Each level of interaction is signified by the computer

displaying a special character (prompt) in the left-most portion of the

terminal display line. The presence of a prompt character notifies the

operator that the system is available to accept operator commands. An

asterisk (*) prompt represents the first or highest level and is the only

level at which programs may be loaded. Additionally, other MTM commands

may be entered. These include, "Display Time," (D T), "Display Users"

(D U), "Cancel" (CA), etc. Refer to the Perkin-Elmer Multi-Terminal

User's Manual for complete list of commands and their usage. The second

6
level, identified by a hyphen (-), acknowledges that a user task is

loaded (such as the KGS data base). The third and final prompt is the

greater than (>) sign. This is displayed when a program parameter is

needed; such as the case when KGS data base is requesting a run mode.

Depending on the system usage, situations will arise where a delay in

the computer responding with a prompt will vary. Several factors determine the degree of delay in this response. These include the number of

active terminal users, the run priority of the assigned tasks, and the

amount of memory and disk resources being used. Normal response expected

with the KGS system and five to six -other programs running simultaneously

is in the order of 1-5 seconds. This does not account for data base

search time which may require longer periods of time due to data base

size and the amount of information being retrieved.

4.2 Sorting

Sorting the KGS data base is performed by typing the following command:

KGSSORT

This will result in the sequencing of the data base in ascending order by

author and file code within author.

4.3 Activating the KGS Data Base

Activating the data base system is accomplished via single command. The

program loading and device assignments are performed using the PerkinElmer Command Substitution System (CSS) command file. For a detailed

description of the CSS system refer to the Perkin-Elmer "OS/32MT Operator's Reference Manual."

The command to activate the data base is: PDB

This results in the program being loaded, and a message displayed

requesting the operator to enter the desired satellite data base. Selection of the desired data base satellite results in a request that the

operator enter the desired run mode.

4.4 Data Base Supervisor Program

When the data base system is activated, a message is displayed on the

user terminal requesting the data base name. At this time, the operator

should type "KGS". By doing so, the proper data base is assigned, and

data record retrieval and manipulation may be performed in the proper

format.

4.5 EDIT Mode

The user can edit the KGS data base by typing "EDIT". Then the program

asks for one of 5 different run modes (see Table 4).
All of the editing is done through record numbers. The records in the

data base are numbered from 1 to the total number of records in the

file. Each record contains 15 lines. The SEARCH mode is useful in

finding a record number, if the record number is not known (see Section

4.5.4).

4.5.1 APPEND Sub-Mode

The APPEND mode is used to add new records to the data base. If you

type APPEND, the program asks for each of the 15 lines that constitutes

a record. The user merely enters the appropriate text in the proper

field, as requested by the KGS Editor. When the user is finished typing

the 15 lines, the text is displayed on the screen. If the user wishes

to save this record, he or she types "YES" to the question "SAVE OK?".

If no, type "NO" (typing "NO" results in the just entered text being discarded). Then the program asks for the first line of the next record.

If no more records are to be added, the user types an "*".

4.5.2 DELETE Sub-Mode

The DELETE mode is used to delete a record from the data base. The

program asks for the record number of the record to delete. It then

displays the author and title of that record and asks "DELETE OK?". The user types "YES" or "NO". The program then asks for the number of the

next record to delete. When through deleting, enter an "*".

4.5.3 UPDATE Sub-Mode

The UPDATE mode is used to change a record already in the data base. The

program asks for the record number of the record to be updated. The program then displays the 15 lines of text for that record. The lines are

numbered.

The user types a line number to be changed and the program shows the

current contents of that line and asks for the next line. The next line

of text that the user types in replaces the old line. The program then

asks for the next line to change. When finished changing lines of that

record, type an "*".

The new record is displayed on the screen and the program asks "SAVE OK?".

The user types "YES" or "NO". The program than asks for the next record

to update. When finished updating, the user types an "*".

4.5.4 SEARCH Sub-Mode

The SEARCH mode is used to locate a record in the data base. The program

asks for an author's name and searches the data base record author field

for that author, employing a string search strategy. When a match is

found, the record number of that record is displayed along with the

author and title. The operator is then asked if the search process should
continue for that author. Type "NO" to end the search mode, and "YES" to

find more records containing that author.

4.5.5 RETURN Mode

After entering an "*" to end an active edit mode, the user is asked for a new run mode. When finished editing, type "RETURN". The "RETURN" mode

returns the user to the main supervisor program.

4.6 SELECT DB Mode

By typing "SELECT DB", the user may change data bases and then go into

any of the modes of operation available in the KGS system.

4.7 KEY WORD Mode

By typing "KEY", the user may have an alphabetical list and number of

occurrences of all key words in his data base (see Appendix B). An

option for hardcopy or terminal display is provided.

4.8 ONE KEY Mode

By typing "ONE KEY", the user can query the system as to the existence

of any number of references containing that key word, without actually

retrieving the references.

4.9 RETRIEVE Mode

By typing the word "RETRIEVE," the KGS extract overlay module is activated.

This program allows the user to select subsets of the data base by typing

one of the following sequence of commands:

OPTIONAL PRINTER OUTPUT? (Yes or No)

(Answer Yes or No)

A "YES" response will cause the retrieved records to be directed to the

line printer. A "NO" response will cause the retrieved records to be

displayed at the user's terminal.

Field or String Search

Enter "FIELD" or "STRING"

Author or Key Word

If "AUTHOR" is typed, the user should respond with one of the following

formats. Last name. First Initial, Middle Initial (for field search) or

"ALL" (for entire data base) or

Last name only (for string search)
If "KEY WORD" is typed, the user will be asked to enter the extract

condition for more than one key word.

Key Word Union ("OR" condition) or Intersection? ("AND" condition)

Enter "UNION" or "INTERSECTION"

Continue ?

Respond with "YES" for additional searches or "NO" for return to KGS

data base main program segment.

4.10 STOP Mode

When finished operating the KGS data base system type: "STOP". The

system will respond with the words "END OF TASK 0."

4.11 "SIGNOFF" Procedure

Upon completion of KGS data base operations, the operator should sign

off the computer system. This is accomplished by entering the command:

SIGNOFF

The computer acknowledges the command "SIGNOFF" by printing the total

elapsed time that the user was on-line. To start the system over see Section 4.1.

5. IMPLEMENTATION CONSIDERATIONS

Considerations relating to implementation of the KGS data base software

system are described in the following sections. Restrictions relating

to computer system hardware and software availability will vary among

different computing systems. Such factors as memory size and disk storage are critical and require careful 'consideration before implementation

takes place. In situations involving Perkin-Elmer 32 bit computers, the

implementation process involves little or no software modifications and

less emphasis placed on memory requirements.

5.1 Minimum Hardware Resources

The amount of memory required to operate the KGS data base is twentythree thousand bytes. This takes into consideration the program overlay

techniques used in the program design and development process. Memory

requirements may increase by three to four times if no program segmentation (overlay) is employed. Disk storage capacity necessary to operate

the KGS system is determined by the number of records in the data base.

The calculation necessary to determine this is 372 times the maximum

number of records to be stored in the data base.

10
5.2 Software Installation

Applications programs for the KGS data base will most likely require

minor modifications where a computer system other than an Perkin-Elmer

32 bit machine is employed. Changes may be necessary to substitute

external or library subroutines. A list of these subroutines unique to

the Perkin-Elmer computer is provided in Appendix E.

6. CONCLUSIONS

A description of an information retrieval system has been provided which

can greatly enhance the development of research projects by allowing the

researcher to interrogate computer-stored data bases.

The KGS system enhances the retrieval process by reducing the time

spent by the researcher in identifying physical storage locations

(file drawer, etc.) of research papers through the file code. A major

advantage of implementing a system for personal copies of research

papers is that it allows the user to consider all copies of research

papers in the researcher's possession as forming a research data base.

The user is assisted in searching through the reference articles using

new search strategies. In this way, a given collection of papers can

be used with greater efficiency to help support a variety of different

research projects dealing with similar topics.

Implementation of the KGS data base system is within the realm of most

minicomputer systems available today. In addition, the state of the

art in microcomputers demonstrates their applicability where sufficient

disk and memory capacity can be obtained.

11
Table 1. KGS Program Functions

MODULE NAME PROGRAM FUNCTION

PDBSUP Main program segment for data base selection

and overlay caling.

PDBED

PDBQK

Provide insert, delete and update capability

Provides quick data base search existence of

key word.

PDBKEY Summarizes key word distribution across entire

data base.

KGSEX Retrieves and displays data base subsets based

on selection criteria.

Table 2. Perkin-Elmer Remote Terminal Communications Protocol

Baud Rate 110, 300, 1200, 2400, 9600 characters per second

Parity Even

Number Stop

Bits 1

Duplex Full

Character

Code Format ASCII

Communications

Interface EIA RS-232

Number

data bits 7

SETTING

12
Table 3. Summary of SIGNON Procedures for the KGS

Data Base System

1. Set switches (see Table 2)

2. Type "SIGNON ID,14,PDB"

3. When an asterisk appears type "PDB"

4. Select appropriate satellite data base

5. Select desired run mode.

Table 4. Available KGS Data Base Run Modes

MODE

EDIT

RETRIEVE

SELECT DB

KEYS

ONE KEY

STOP

SUB-MODE

APPEND

DELETE

UPDATE

SEARCH

RETURN

13
Table 5. KGS Allowable Command Abbreviations*

COMMAND

ABBREVIATION

OF COMMAND

EDIT EDIT

APPEND

DELETE

UPDATE

SEARCH

RETURN

APP

DE

UPD

SEA

RET

RETRIEVE

SELECT DB

KEYS

ONE KEY

STOP

AUTHOR

UNION

INTERSECTION

FIELD

STRING

RETR

SELE

KEYS

ONE

STOP

AUTH

UNI

INT

FIEL

STRI

NOTE: The user may elect to type the "complete command'

or the abbreviation as desired.

14
wua

•HcOU

1-1 0) 4JaeouueWIc

•H

0) H

pau

)-l 3

00

•H

15
Figure 2. KGS Data Base Record Format

Author 1 (32 characters)

Author 2 (32 characters)

Author 3 (32 characters)

Publication Date (12 characters)

Publication Title (100 characters)

Publication Name (32 characters)

Reference (20 characters)

Key Word 1 (16 characters)

Key Word 2 (16 characters)

Key Word 3 (16 characters)

Key Word 4 (16 characters)

Key Word 5 (16 characters)

Key Word 6 (16 characters)

Discipline (16 characters)

16
Figure 3. Sample KGS Retrieval

KGS PUBLICATIONS DATABASE

RECORD EXTRACT MODE 8/ 5/80 18:3S:20

OPTIONAL PRINTER OUTPUT? (YES OR NO)

NO

ENTER EXTRACT CRITERIA (AUTHOR OR KEY UORD)

KEY UORD

ENTER KEY UORD/S

MAX 6 - 1 PER LINE - UP TO 16 CHAR EACH - "CR" TO STOP

HUE

KEY UORD/S SELECTED UERE: HUE

AUTHOR:

AUTHOR (2):

AUTHOR (3):

FILE CODE:

PUBLICATION DATE: TITLE:

PUBLICATION NAME:

- - KEY UORDS - -

AKITA. M. RECORD NO. GRAHAM. C. H. HSIA, Y. 0232

0464

MAINTAINING AN ABSOLUTE HUE IN PRESENCE OF DIFFERENT

BACKGROUND COLORS

VISION RES. REFERENCE: 4,539-556

COLOR PERCEPTION COLOR CONTRAST ABSOLUTE HUE

BACKGROUND COLOR LUMINANCE RATIO BEZOLD-BRUCKE

14

AUTHOR:

AUTHOR (2):

AUTH0R(3):

FILE CODE:

PUBLICATION DATE: TITLE:

BEARE, A. C.

0266

0063

COLOR-NAME AS A FUNCTION OF DAVE-LENGTH

RECORD NO. 38

PUBLICATION NAME:

- - KEY UORDS - - AMER. J. PSYCH.

COLOR/NAME (S)

REFERENCE: 76.248-256

COLOR PERCEPTION UNIQUE HUE(S)

AUTHOR:

AUTHOR (2):

AUTHOR (3):

FILE CODE:

PUBLICATION DATE: TITLE:

PUBLICATION NAME:

- - KEY UORDS - -

BCYNTON. R. M. GORDON, J. RECORD NO. 78

9048

0165

BEZOLD-BRUCKE HUE SHIFT MEASURED BY COLOR-NAMING TEC

HNIQUE

J. OPTICAL SOC. AMER. REFERENCE: 55,1.78-86

BEZOLD-BRUCKE HUE SHIFT COLOR NAMING

UNIQUE HUES

AUTHOR

:

AUTHOR (2):

AUTHOR (3):

FILE CODE:

PUBLICATION DATE: TITLE:

PUBLICATION NAME:

- - KEY UORDS - -

BURNHAM, R, U. RECORD NO. 104

EVANS, R. M. NEUHALL, S. M. 0008

0157

PREDICTION OF COLOR APPEARANCE UITH DIFFERENT ADAPTA

TiON ILLUMINATIONS

J. OPTICAL SOC. AMER. REFERENCE: 47,1,35-42

HUE SHIFTi:S) CHROM ADAPTATION COLOR APPEARANCE

COLOR PERCEPTION

17
t5

SUPERVISOR

PROGRAM (PDBSUP)

P3

u; e ^ c

u: 0-

O c

f- c

s:u

a.

O < z 2 u a: U to r>

tH

0.

-* .\ =-1 -/ < bJ O J rJ W

{- ec

b SO

i-i

u o o O > O ft.

u. // u:

O

X ^k

U

H

H < U o -1 t

18
APPENDIX A: KGS SAMPLE SEARCH STRATEGY

PDB

CBT PUBLICATIONS DATA BASE (REV 82.00-12/14/79)

ENTER THE DATA BASE NAME YOU DESIRE

- - FAA - - REHAB - - KGS - - AUTH740 - -

- - AUTH741 - - AUTH742 - - AUTH743 - - AUTH744 - - KGS

ENTER DESIRED RUN MODE FOR

KGS DATA BASE

- - EDIT - - RETRIEVE - - KEYS - - STOP - - SELECT DB - - ONE KEY - - ROSTER

RETRIEVE

A-1
KGS PUBLICATIONS DATfiBASE

RECORD EXTRACT MODE 8/ 8/80 10:39:47

OPTIONAL PRINTER OUTPUT? (^-ES OR NO)

NO

ENTER EXTRACT CRITERIA (AUTHOR OR KEY UORD)

KEY UORD

ENTER KEY UORD/S

MAX 6 - 1 PER LINE - UP TO 16 CHAR EACH - "CR" TO STOP

RETINA

ANIMAL RESEARCH

ENTER "UNION" (OR) OR "INTERSECTION" (AND) FOR SEARCH TYPE

INTERSECTION

KEY UORD/S SELECTED UERE: RETINA ANIMAL RESEARCH

SEARCH CRITERIA USED: INT

AUTHOR:

AUTHOR (2):

AUTH0R(3):

FILE CODE:

PUBLICATION DATE:

TITLE:

PUBLICATION NAME:

- - KEY UORDS - -

BARLOIJ, H. B. LEVICK, IJ. R. RECORD NO. 32

0197

1976

THRESHOLD SETTING BY THE SURROUND OF CAT RETINAL CAN

GLION CELLS

J. PHYSIOL. REFERENCE: 259,737-757

THRESHOLD PHYSIOLOGY RETINA

GANGLION CELL ANIMAL RESEARCH

AUTHOR:

AUTH0R(2)

AUTH0R(3) : FILE CODE:

PUBLICATION DATE:

TITLE:

PUBLICATION NAME:

- - KEY UORDS - -

DEMONASTERIO, F, M. RECORD NO. 179

GOURAS, P. TCLHURST, D. J. 0217

1975

CONCEALED COLOUR OPPONENCY IN GANGLION CELLS OF THE

RHESUS MONKEY RETINA

J. PHYSIOL. REFERENCE: 251,217-229

COLOR-OPPONENT RETINA RETINA CELLS

ANIi-'AL RESEARCH GANGLIA

END OF FIELD SEARCH ON

KEYUORDS:

RETINA ANIMAL RESEARCH

2 RECORDS UERE EXTRACTED

CONTINUE?

NO

A-2
CBT PUBLICATIONS DATA BASE (REV 02.08-12/14/79)

ENTER DESIRED RUN MODE FOR,

K G S DATA BASE

- - EDIT - - RETRIEVE - - KEYS - - STOP - - SELECT DB - - ONE KEY - - ROSTER

STOP

* * * END OF PROCESSING * * *

STOP

KGS -END OF TASK CODE= CPUTIME=1 :49. 539/3. 169

SIGNOFF

ELAPSED TIME=2:36:34 CPUTIME=18:58. 121/5:06.934

TIME OFF=08/08/80 10:52:00

A-3
^i
APPENDIX B: SAMPLE KEY WORD LISTING

PDB

CBT PUBLICATIONS DATA BASE (REV 02.00-12/14/79)

ENTER THE DATA BASE NAME YOU DESIRE

- - FAA - - REHAB - - KGS - - AUTH740 - -

- - AUTH741 - - AUTH742 - - AUTH743 - - AUTH744 - - KGS

ENTER DESIRED RUN MODE FOR

KGS DATA BASE

- - EDIT - - RETRIEVE - - KEYS - - STOP - - SELECT DB - - ONE KEY - - ROSTER - KEYS

BEGIN KEYUORD SORT

OPTIONAL PRINTER OUTPUT? (YES OR NO)

NO

B-1
KGS PUBLICATIONS DATft BASE

KEY UORD OCCURRENCES

2-CGLOR THRES

3-PIG COLOR VIS

ABSOLUTE HUE

ACHROMATIC

ACHROMATIC CHAN

ACHROMATIC COLOR

ADAP

ADAPTATION 10

AFFECT RESPONSE

AGE

ANIMAL BEHAVIOR

ANIMAL RESEARCH

APERIOD PATTERN

APP BRIGHTNESS

APPAR BRIGHTNESS

APPAR CONTRAST

APPARENT CONTR

ASYNCHRON FLASH

AVERAGE LUMINANC

BACKGROUND COLOR

BACKWARD MASKING

BAR UIDTH

BEZOLD-BRUCKE

BIBLIOGRAPHY

BINOCULAR VISION

BLACK BAR

BLOCHS LAU

BLUR

BORDER

BRIGHT CONSTANCY

BRIGHT ENHANCE

BRIGHT GRADIENTS

BRIGHT PERCEP

BRIGHT REVERSAL

BRIGHTNESS 13

BRIGHTNESS CONTR

BRIGHTNESS MATCH

CALIBRA-^ION

CATHODE-RAY TUBE

CHLOROLPBE

CHROM ADAPTATION

CHROM INDUCTION

CHROM ROD ACT

CHROM-CONTR SENS

CHROMATIC

IRD LIST 8/ 4/80

KEY IJORD

:^TIC ADAPT

CCURRENCES

CHROMf 3

CHROMATIC BORDER 2

CHROMATIC CHAN 1 CHROMATIC RESP. 1 CHROMATIC THRES. 1 CHROMATIC ITY 2

CLOR PERCEPTION 1 CLOR RENDITION 1 COHERENCE 1 COL MEASUREMENT 1 COLOR 2

COLOR APPEAR. 1 COLOR APPEARANCE 6

COLOR ATTRIBUTE 1 COLOR BLIHCNESS 3

COLOR CODING 9

COLOR CONRAST 1 COLOR CONSTANCY 2

COLOR CONTRAST 10

COLOR DEFECT 1 COLOR DEFECTS 1 COLOR DEFICIENCY 2

COLOR DIFFERENCE 2

COLOR DISCR 1 COLOR DISCRIM 3

COLOR DISCRIM. I COLOR DISCRIMINA 1 COLOR INDUCTION 1 COLOR MATCHING 2

COLOR MEMORY 1 COLOR NAMING 2

COLOR PERCEP. 1 COLOR PERCEPTION 17

COLOR RENDERING 1 COLOR RENDITION 1 COLOR RESPONSE 1

COLOR SHIFTS 1 COLOR SPEC 1 COLOR SYSTEM(S) 1 COLOR VIS 1 COLOR VISION 16

COLOR(S) 2

COLOR--OPPONENT 3

COLOR/NAME (S) 1 COLORED SIG LIGH 1

B-2
KGS PUBLICATIONS DATA BASE KEY UORD LIST 8/ 4/80

KEY UORD OCCURRENCES KEY UORD OCCURRENCES

COLORED SIGNAL L 1 DISCOMFORT GLARE

COLORIMETRIC COM 1 DISPLACEMENT

COLOR IMETRY 1 DISPLAY DENSITY 2

COMPARATOR 2 DISPLAYS

COMPREHENSIBILIT 1 DISTINCTNESS 3

COMPREHENSION 1 DUPLICITY THEORY

CONCEN RECEP FLD 1 EBBINGHAUS

CONE VISION 1 EDGE 2

CONE-TO-ROD RATI 1 EDGE DETECT hfOVE

CONES 1 EDGE GRADIENT 2

CONSPICUITY 2 EDGE(S)

CONSTANCY 1 EDIGE DETECTOR

C0NSTRA3T 1 EEG

CONSUMER PRODUCT 2 EFFICIENCY

CONTOUR 1 ELECTR POTENTIAL

CONTOURS 1 ELECTRICA

CONTR DETECTION 1 ELECTRO-OPTIC 2

CONTR REDUCTION 1 ELECTRONICS

CONTR SENSITIVIT 1 EMERGENCY

CONTR THRESHOLD 2 EMERGENCY LGHTG

CONTRAST 24 ENV. DESIGN

CONTRAST CONTOUR 1 ENVIR DESIGN

CONTRAST HUES 1 ENVIRONMENTAL DE

CONTRAST SENS I 5 EQU INNERVATION

CONTRAST SENS IT 3 EQU SPHERE ILLUM

CONTRAST SENS IT. 2 EQUIPMENT

CONTRAST THRESHO 1 ERGONOMICS 2

CRAIK-CORNSUEET 1 ERYTHROLABE

CRITERIA 1 ESI

CROSS-MODALITIES 1 ESI METER

CULTURAL DIFF 1 ETHNIC DIFF

CULTURAL DIFF. 1 ETHNIC DIFF.

CULTURAL FACTORS 2 EVALUATION

DARK ADAPT 1 EVOKED POTENTIAL 3

DARK ADAPT. 1 EVOKED RESPONSES

DARK ADAPTAION 1 EXIT(S)

DARK ADAPTATION 12 EYE 3

DEMOGRAPHIC 1 EYE EXAM.

DESIGN 3 EYE EXAMINATION

DETECTION 5 EYE MOVEMENT(S)

DETECTION THRES 1 EYE MOVEMENTS 2

DETERMINISTIC 1 FATIGUE 3

DEUTERANOPIA 1 FIELD TASK SIM.

D I CHROMATS 1 FIELD(S)

DIFF SENSITIVITY 1 FIG ORIENTATION

B-3
KGS PUBLICATIONS DATA BASE KEY UORD LIST 8/ 4/^0

KEY UORD OCCURRENCES

FILTER(S) 2

FLASHING LIGHT 2

FLICKER 5

FLICKER FUSION 2

FLUORESCENT 1 FLUORESCET COLOR 1 FORh(S) 1 FOURIER ANALYSIS 2

FOVEA 3

FOVEAL DIF THRES 1 FOVEAL PERCEPT 1 FOVEAL SENS IT 1 FOVEAL THRES 1 FOVEAL VISION 1 GANGLIA 2

GANGLION CELL 1 GANZFELD 1 GAP-DET THRES 1

GESTALT 1 GLARE 1 GOLDEN SECTION 2

GRADIENT 1 GRATING 1 GRATING(S) 4

GRATINGS 5

GRATINS 1 GREED MECHANISMS 1 GREEN LIGHT 2

HALLUCINATION(S) 1 HERINGS LAU 1 HETEROCHRO PHOTO 1 HETEROCHROM BR I 1 HID LAMP(S) 1 HIGHINTEN DIS 1 HRR PLATES 1 HUE 4

HUE ESTIMATION 1 HUE SHIFT 2

HUE SHIFT(S) 4

HUE(S) 1 HUMAN FACTORS 3

HUMAN PERFORM 1 IDENTIFICATION 1 ILL LEVEL(S) 1 ILLUM ENGINEER 1

KEY UORD OCCURRENCES

ILLUM LEVEL

ILLUM. LEVEL

ILLUM. LEVEL(S)

ILLUMINANT

ILLUMINATION

ILLUSIONS

ILLUSTRATIONS

IMAGE

IMAGE INTENS.

IMAGE QUALITY

IMAGE(S>

INCREMENT THRES

INCREMENT THRESH

INDUCED COLOR

INFORMATION CHAN

INFORMATION LGCA

INSTRU LIGHTING

INSTRUMENT DESIG

INSTRUMENT PANEL

INSTRUMENTATION

INTERFER FILTER

INTEROCULAR TRAN

LATENCY

LATERAL INHIBIT

LEGIBILITY

LIGGHT FLASH

LIGHT

LIGHT CONTROL

LIGHT DISTRIBUT

LIGHT FILTERS

LIGHT FLASH

LIGHT FLASH(ES)

LIGHT FLASHES

LIGHT QUALITY

LIGHT SIGNAL

LIGHT SOURCECS)

LIGHT SOURCES

LIGHT SOURCES (S)

LIGHTING

LIGHTNESS

LIMULUS

LIQUID CRYSTALS

LITERATURE SEAR

LITERATURE SEARC

LIVABILITY

2

13

3

12

1

1

1

B-4
KGS PUBLICPTIONS DATA BASE KEY UORD LIST 8/ A/80

KEY UORD OCCURRENCES KEY UORD OCCURRENCES

LOGICAL TREES ] MULTIDIMENSIONAL 1 LOU-PASS FILTER 1 MUNSELL 3

LUM. EFFICIENCY 1 NEAR VISION 1 LUM. THr^ESHOLD(S I NIGHT VISION 3

LUMIN EFF FUNC 1 NOISE 1 LUMIN SUMMATION 1 NON-UNIFORM ILLU 1 LUMINANCE Ii OPPOriENT COLOR 2

LUMINANCE ADDIT 1 OPPONENT COLORS 2

LUMINANCE GRAD 1 GPPOHENT PRCfCESS 1 LUMINANCE LEVEL 1 OPT ILLUM LEVEL 1 LUMINANCE LEVELS 1 OPT. ILLUM. LEVE 1 LUMINANCE LIMIT ] OPTIC FILTER(S) 2

LUMINANCE RATIO 35 OPTICAL FILTER 1 LUMINANCE SENS I ] OPTICAL ILLUSION 1 LUMINANCE THRES 1 ORIENTATION 2

LUMINANCE THRESH 1I PAGE SIZE 1 LUMINANCE (S) I PAINT(S) 2

LUMINOSITY FUNC I PANEL DESIGN 2

LUMINOUS EFF I PERCEIVED BRIGHT 1 MACH BAND Z5 PERCEP DISTORT 1 MACH BAND(S) I PERCEP ORIENTATI 1 MACH BANDS I PERCEPTAL DIST 1 MANUAL I PERCEPTION 2

MASKING 2I PERIPHERAL VIS 1 MAXUELLIAN VIEU ][ PERIPHERAL VISIO 3

MDS 1I PHOTGBIOLOGY 2

MEASUREMENT ^1 PHOTOMETRY 1 MEMORY COLOR i PHOTORECEPTOR (S) 1 MEMORY COLOR (S) [ PHYSIOLOGICAL 1 MESOPIC 2I PHYSIOLOGICAL RE 1 METHODLOGY I PHYSIOLOGY 11 METHODOLOGY S5 PICTOGRAPHIC SYM 1 METHODS I POUER SUPPLIES 1 MIN DISTINCT BOR I PRE-ADAPT 1 MODEL I PRE-P.DAPTATION 5

MODULATION SENS! I PRE-3TIMULATI0N 1

MODULATION TRANS '.I PRINT 1 MONOCHROMATOR I PROB-SUMM MODEL 1 MONOCULAR ADAP I PRODUCT SAFETY 2

MOODCS) I PRODUCT TESTING 2

MOOD-TONES I PSYCHOPHYSICAL 1 MOTION I PSYCHOPHYSICS 3

MOTOR PERF. I PSYCHOPHYSIOLOGI 1 MUELLER-LYER I PURITY 1 MULTIDIM SCALING 1 QUALITY CONTROL 1

B-5
KGS PUBLICATIONS DATA BASE

KEY LJORD OCCURRENCES

KEY UORD LIST

KEY UORD

3/ 4/88

OCCURRENCES

QUANTITATIVE 2

QUAT MEASURE 1 RATIO SCALING 2

REACTION TIME 3

READABILITY

READING

RECEPTIVE FIELD

RECOGNITION 3

RECTANGLE(S) 2

RED

RED ADAPTATION

RED LIGHT 10

RED MECHANISMS

RED/GREEN

REDUNDANT CODING

REFLEC MEASURE

REFLECTANCE 2

REFLECTOMETER

REFLUX TECHNIQUE

RESEARCH METHODS

RESOLUTION

RETINA 4

RETINA CELLS 2

RETINAL BLUR

RETINAL IMAGE

RETINAL IMAGE(S)

RHODOSPIN

ROD VISION 3

RODS

SACCADIC EYE MOV

SAFETY 2

SAFETY COLOR (S) 1 SATURATION 8

SCALING 3

SCOTOPIC 3

SECTOR DISC 2

SEMANTIC DIFFERE

SENS DEPRIVATION

SENTENCES

SHAPE CODING

SHARPENING

SHUI lb.R(S) 2

SIGN DESIGN 2

SIGN(S) 3

SIGNAL DETECTION 1

SIGNAL LIGHT

SIGNAL LIGHT(S)

SIGNAL RECOGN

SIGNALCS)

SIMU CONTRAST

SIMUL COLOR CONT

SIMUL COLOR mJC

SIMUL COMPARISON

SIIUJL CONSTRAST

SIMULTANEOUS COL

SINE UAVE GRAT

SINE-UAVE GRAD

SINE-UAS/E GRAT

SINE-UAVE GRATIN

SINE-UAVE TARGET

SINUSOIDAL MOVE

SIZE

SNELLEN

SODIUM LIGHTING

SPATIAL EFFECT

SPATIAL FREQ

SPATIO-TEMP INTE

SPATIO-TEMPORAL

SPEC ENER CALIBR

SPEC ENER DISTR

SPECTRAL ENERGY

SPECTRAL SENS I SPECTRAL SENS IT

SQUARE-UAVE GRAT

STABILIZED IMAGE

STABILIZED VIS

STAIRCASE METHOD

STILES

STIMU DURATION

STIMUL DURATION

STIMULUS DUR.

STOCHASTIC

SUBJECTIVE COLOR

SUBJECTIVE EXPER

SUCCESS COL MATC

SUCCESS COMPAR

SUNSCREEN

SUPRATHRESHOLD

SYMBOL

SYMBOL (S)

B-6
KGS PUBLICATIONS DATA BASE KEY UORD LIST 8/ 4/88

KEY UORD

SYMBOLS

TABLES

TASK COMPLEXITY

TEMP FREQUENCY

TEMPORAL INTERG

TERMINOLOGY

THERMAL COMFORT

THRES CONTRAST

THRES. CONTRAST

THRESHOLD

THRESHOLD SENS I THRESHOLD (S)

THRRESHOLD

TRAFFIC SAFETY

TRAFFIC SAFTETY

TRAFFIC SIGN

TRAFFIC SIGN(S)

TRICHROMATIC

TUNGSTEN LIGHT

UNDERLJATER

UNIQUE BLUE

UNIQUE GREEN

UNIQUE HUE

UNIQUE HUE(S)

UNIQUE HUES

UNIQUE RED

UNIQUE YELLOU

VALUE

VARIABILITY

VECTOR-MAG MODEL

VEILING LUMIN

VEP

VIEWING DISTANCE

VIS ACUITY

VIS DIFFICULTY

VIS INSPECTION

VIS PERCEPTION

VIS PERFORMANCE

VIS RECEPT CELL

VIS RESOLUTION

VIS RESPONSE SYS

OCCURRENCES KEY UORD OCCURRENCES

16

VIS SEARCH PERF

VIS SENSITIVITY

VIS SIGNALLING

VIS TASK EVAL

VIS THRESHOLD

VIS THRESHOLDS

VIS. PERF.

VIS. SEARCH PERF

VIS. TASK EVAL.

VIS. THRESHOLD 2

VISIBILITY 12

VISIBILITY METER 4

VISION 2

VISUAL ACUITY 7

VISUAL CELLS

VISUAL COMFORT

VISUAL CRITERIA

VISUAL DESIGN

VISUAL DISPLAY

VISUAL DISPLAY(S

VISUAL ILLUSIONS

VISUAL INFORMATI

VISUAL PERCEPT

VISUAL PERF.

VISUAL PERFORM

VISUAL PERFORMAN

VISUAL PIGMENTS

VISUAL RECEPTOR

VISUAL RESPONSE

VISUAL SEARCH PE

VISUAL TASK

VISUAL THRESHOLD

VON KRIES

UAVEFORM(S)

UEBERS LAU

UNITE LIGHT

UHITE LIHT

UINDQUS

URITING

X-CHROM LENS 2

XENON FLASHTUBE 1

B-7
KGS PUBLICATIONS DATA BASE KEY UORD LIST 8/ 4/88

END OF KEY UORDS

647 RECORDS READ

3 HAD BEEN DELETED

532 KEY UORDS

958 OCCURRENCES

END OF KEYUORD SORT

CBT PUBLICATIONS DATA BASE (REV 02.00-12/14/79)

ENTER DESIRED RUN MODE FOR

KGS DATA BASE

I - - EDIT - - RETRIEVE - - KEYS - - STOP - - SELECT DB - - ONE KEY - - ROSTER

STOP

* * * END OF PROCESSING * * *

STOP

KGS -END OF TASK CODE = CPUT I ME =2: 18.508/3.936

SIGNOFF

ELAPSED TIME=l:03:32 CPUTIME=5: 24. 990/7. 802

TIME OFF =08/04/80 15:09:50

B-8
APPENDIX C: PERKIN-ELMER OPERATING AND REFERENCE MANUALS
I
MANUAL

OS/32 MT Operator's Reference Manual

MTM Terminal User's Reference Manual

Sort Merge Program Reference Manual

FORTRAN V Level 1 Reference Manual

FORTRAN V Level 1 User's Guide

FORTRAN V 32-Bit Run Time Library

Introduction

Language Extensions

Real Time Extension

Technical Descripton

REFERENCE NUMBER

29-574

B29-591

B29-489R01

29-360R03

29-361R03

29-495

29-497

29-499

29-500

C-1

APPENDIX D: KGS APPLICATIONS PROGRAM LISTING

PAGE 1 08/04/80

C PROGRAM PDBSUP.FTN

C CBT PUBLICATIONS DATA BASE OVERLAY mDULE

C SUPUERVISOR. DESIGNED TO CALL SUBROUTINES

C FROM DISK FOR THE PURPOSE OF PROCESSING

C QUERIES FROM A USER COMMAND DEVICE

C WRITTEN BY LARRY KAET2EL - CBT - 03/02/79

C >>>>>>>>> LOGICAL UNIT ASSIGNMENTS <<<<<«<«

C LU 6 = COMMAND I/O DEVICE

C LU 7 = OPTIONAL PRINT OUTPUT FILE

C LU 3 = DATA BASE FILE

C LU 4 = OVERLAY MODULE

C MODIFIED 03/24/79 - 07:57

C MODIFIED 08/10/79 - 18:13

C MODIFIED 10/29/79 - 08:39

C MODIFIED 10/30/79 - 08:28

C MODIFIED 01/16/80 - 11:16

C MODIFIED 06/03/80 - 09:30

IMPLICIT INTEGER>x2 (J-L)

INTEGER IDATE(3).DBN(4),IM0DE(5),BYTEKBYTE2.KEY(:4)

INTEGER AUTDIV(5)

DATA AUTDIV/'740 ','741 ','742 ','743 ','744 '/

ISUH=0

BYTE2=BYTE2

DBN(1)-'CAL:'

CALL DATE (I DATE)

30 URITE(b,1000,ERR=30)

IF (ISUH.NE.0) GO TO 70

55 URITEce, 1001,ERR=55)

60 READi:6, 1013,ERR=S00) (DBN( I) , 1=2,4)

IF (DBN(2).EQ.'REHA') GO TO 70

IF (DBN(2).EQ.'KGS ') GO TO 70

IF (DBN(2) .EQ.'AUTH') GO TO 79

IF (DBN(2) .EQ.'FAA ') GO TO 70

URITE(&, 1003.ERR=S00)

GO TO 60

70 ISUH=1

IF (DBN(2) .EO.'REHA') URITE(6, 1004,ERR=800)

IF (DBN(2) .EQ.'KGS ') lJRITEi;6, 1005,ERR=S00)

IF (DBN(2).EQ.'FAA ') URITE (6, 1014,ERR=800)

DO 65 1=1,5

IF (DBN(3).EQ.AUTDIV(I)) GO TO 67

65 CONTINUE

GO TO 68

67 IF (DBN(2) .EQ.'AUTH') UR I TEC 6. 1006, ERR -800)

68 URITE(£.1037,ERR=S00)

90 READ(6, 1002,ERR=800) IMODE

IF (IMODE(l).EQ.'SELE') GO TO 55

IFdMODEd) .EQ. 'ONE ')G0 TO 350

IF (IMODE(l) .EQ.'RETR' .AND.DBN(2) .EQ.'REHA')

- GO TO 500

IF (IMODE(l) .EQ.'RETR'. AND. ?BN(2). EQ.'KGS ') - GO TO 530

D-1
PAGE 2 08/04/80

IF (IM0DE(l).Ea.'RETR'.ANI).'D8N(2).EQ.'AUTH'^

- GO TO 560

IF (IM0DE(1).EQ.'RETR'.AND,DBN(2) .ECI.'FPA ') - GO TO 590

IF (IMODE(l).EQ. 'EDIT'. AND. DBN(2).EQ.'fiUTH') GO TO 620

IF (IMODECD.EQ.' KEYS') GO TO 650

IF (IMODEn).EQ.'STOP') GO TO 700

IF (IMODE(l).EQ.'EDIT') GO TO 600

IF (IMODECD.EQ.'ROST') GO TO 675

CALL ILBYTE(BYTE1,IMODE,0)

IF (BYTE 1 .EQ. Y'0000002A' )G0 TO 400

URITE(6.1012,ERR=300)

GO TO 90

C >>»»> ONE KEY <<«<«

350 URITE(6,351,ERR = 800)

351 FORMATC'OUHICH KEY UORD?')

READ(6,360)KEY

360 F0RMAT(4A4)

GO TO 411

400 DO 405 I = 1,4

IMODE(I) = ISHFT(IM0DE(I),8)

CALL ILBYTE(BYTE2,IM0DE(I + 1),0)

CALL ISBYTE(:BYTE2, IM0DE(I),3)

405 CONTINUE

DO 410 I = 1,4

410 KEY(I) = IMODE(I)

411 CALL 0PENU(4,'CAL:PDBQK.0VY ' ,0,0,0, ISTAT)

IF (ISTAT.NE.0) GO TO 810

CALL IFETCHCPDBQK ',4,4, ISTAT)

IF (ISTAT.NE.0) GO TO 820

CALL CLOSE (4, ISTAT)

CALL PDBQK(KEY,DBN)

GO TO 30

C >>>>>» REHAB RETRIEVE MODE <<<<<<<

500 CALL 0PENLJ(4,'CAL:REHAEX.0VY ' ,0,0,0, ISTAT)

IF (ISTAT.NE.0) GO TO 810

CALL IFETCHCREHAEX ',4,4, ISTAT)

IF (ISTAT.NE.0) GO TO 820

CALL CLOSE (4, ISTAT)

CALL REHAEX

GO TO 30

C >>>>>>>>>> KGS RETRIEVE MODE <<««<<«

530 CALL 0PENIJ(4,'CAL:KGSEX.0VY ' ,0,0,0, ISTAT)

IF (ISTAT.NE.0) GO TO 810

CALL IFETCHCKGSEX ',4,4, ISTAT)

IF (ISTAT.NE.0) GO TO 820

CALL CLOSE (4, ISTAT)

CALL KGSEX

GO TO 30

C >>>>>>>>>> AUTHOR RETRIEVE MODE <<<<«<<<<

560 CALL 0PENU(4, 'CAL:AUTHEX.OVY ' ,0,0,0, ISTAT)

IF (ISTAT.NE.0) GO TO 810

D-2
PAGE 3 08/04/80

CALL IFETCHCAUTHEX ',4,4, ISTAT)

IF (ISTAT.NE.Q) GO TO 820

CALL AUTHEX

GO TO 30

C >>»>» FAA RETRIEVE MODE <«««<

590 CALL 0PENU(4, 'CALiFAAEX.OVY ' ,0,0.0, ISTAT)

IF (ISTAT.NE.0) GO TO 810

CALL IFETCHCFAAEX ',4,4, ISTAT)

IF (ISTAT.NE.0) GO TO 820

CALL CLOSE (4, ISTAT)

CALL FAAEX

GO TO 30

C >>>>>>>>>> EDIT MODE <<<<<<<<«

600 CALL 0PENU(4,'CAL:PDBED.OVY ' ,0,0,0, ISTAT)

IF (ISTAT.NE.0) GO TO 810

CALL IFETCHCPDBED ',4,4. ISTAT)

IF (ISTAT.NE.0) GO TO 820

CALL CLOSE (4. ISTAT)

CALL PDBED(DBN)

CALL CLOSE (3. ISTAT)

GO TO 36

C >>>>>>>>>> EDIT AUTHOR MODE <<<<<<«<<

620 CALL 0PENU(4.'CAL:PDBED2.0VY ' .0.0,0. ISTAT)

IF (ISTAT.NE.0) GO TO 810

CALL IFETCH('PDBED2 ',4.4. ISTAT)

IF (ISTAT.NE.0) GO TO 320

CALL CLOSE (4. ISTAT)

CALL PDBED2(DBN)

CALL CLOSE (3. ISTAT)

GO TO 30

C >>>>>>> KEYS MODE <<<<«<

650 CALL 0PENU(4,'CAL:PDBKEY.0VY ' ,0.0.0. ISTAT)

IF (ISTAT.NE.0) GO TO 810

CALL IFETCHCPDBKEY '.4.4, ISTAT)

IF (ISTAT.NE.0) GO TO 820

CALL CLOSE (4, ISTAT)

CALL PDEKEY(DBN)

CALL CLOSE (3. ISTAT)

GO TO 30

C >>>>>>>> ROSTER MODE <<<<<<«

675 CALL 0PENU(4. 'CAL:PDBROS.OVY ' ,0.0.0, ISTAT)

IF (ISTAT.NE.0) GO TO 810

CALL IFETCHCPDBROS ',4,4. ISTAT)

IF ( ISTAT. NE.0) GO TO 820

CALL CLOSE (4, ISTAT)

CALL PDBROS(DBN)

CALL CLOSE (3, ISTAT)

GO TO 30

C >>>>>>>>>> STOP PROCESSING <<<«<<<«

700 UR I TE ( S . 1 008 , ERR =600

)

STOP

C >>>>>>>>>> ERROR REPORTING <<<<<<<<<<

D-3
PftGE 4 08/04/80

NAME.. RE-ENTER')

MODE FOR', IX,

800 URITECG, 1009,ERR=80n

801 STOP • C >>>>>»>» OVERLAY OPEN ERROR <«<«««

810 URITE(6,1010,ERR=800) IMODEC 1) , ISTAT

GO TO 30

C >>>>>>>>>> OVERLAY FETCH ERROR <<«<<««

820 URITEi:6,1011,ERR=800) IMODE( 1) , ISTAT

CALL CLOSE 1:4, ISTAT)

GO TO 30

1000 F0RMAT(//1X,'CBT PUBLICATIONS DATA BASE <REV 02. 90- 12/] 4/79) ')

1001 FORMAT(/10X, 'ENTER THE DATA BASE NftrE YOU', IX, - 'DESIRE'/5X,'- - FAA - - REHftB - - KGS - - AUTH748 - -'/IX,

- '- - AUTH741 - - AUTH742 - - AUTH743 - - AUTH744 - -')

1002 F0RMAT(5A4)

1003 F0RMAT(/1X,' ILLEGAL DATA BASE

1004 F0RMAT(/1X, 'ENTER DESIRED RUN

- 'REHAB DATA BASE'/IX)

1005 F0RMAT(/1X, 'ENTER DESIRED RUN MODt FOR'/IX,

-'KGS DATA BASE'/IX)

1006 F0RMAT(/1X, 'ENTER DESIRED RUN MODE FOR'/IX,

- 'CBT AUTHOR DATA BASE'/IX)

1007 FORMATCIX, '- - EDIT - - RETRIEVE ~ - KEYS',

- IX,'- - STOP - - SELECT DB - - ONE KEY - - ROSTER - -')

1038 FORMATCIX,'* * >K END OF PROCESSING »< >K *'

1009 FORMAT( IX, 'TERMINAL ERROR OCCURED')

1010 FORMATCIX, 'ERROR OPENING OVERLAY FOR',

- IX, 'MODE ',A4, ' STATUS=',I3)

1011 FORMATCIX, 'ERROR FETCHING OVERLAY FOR',

- IX, 'MODE ',A4, ' STATUS=',I3)

1012 F0RMAT(/1X,' ILLEGAL RUN MODE. . .RE-ENTER'

1013 F0RMAT(3A4)

1014 F0RMAT(/1X, 'ENTER DESIRED RUN MODt FOR'/IX,

- 'FAA DATA BASE'/IX)

END

EXT FUNC

INT4 VAR

VAR

VAR

VAR

VAR

VAR

VAR

VAR

.U

I DATE

DBN

I MODE

BYTEl

BYTE2

KEY

AUTDI

ISIJH DATE

30

1000

@H

70

55

1001

60

1013

INT4

INT4

INT4

INT4

INT4

INT4

INT4

EXT FUNC

LABEL

LABEL

EXT FUNC

LABEL

LABEL

LABEL

LABEL

LABEL

D-4
PAGE 5 08/04/80

800 LABEL I INT4 VAR

1003 LABEL

1004 LABEL

1005 LABEL

1014 LABEL

65 LABEL

67 LABEL

68 LABEL

1006 LABEL

1007 LABEL

90 LABEL

1002 LABEL

350 LABEL

500 LABEL

530 LABEL

560 LABEL

590 LABEL

620 LABEL

650 LABEL

700 LABEL

600 LABEL

675 LABEL

ILBYTE EXT FUNC

400 LABEL

1012 LABEL

351 LABEL

360 LABEL

411 LABEL

405 LABEL

ISHFT EXT FUNC

ISBYTE EXT FUNC

410 LABEL

OPENU EXT FUNC I STAT INT4 VAR

810 LABEL

IFETCH EXT FUNC

820 LABEL

CLOSE EXT FUNC

PDBQK EXT FUNC

REHAEX EXT FUNC

KGSEX EXT FUNC

AUTHEX EXT FUNC

FAPEX EXT FUNC

PDEED EXT FUNC

PDGED2 EXT FUNC

PDBKEY EXT FUNC

PDBROS EXT FUNC

1008 LABEL

.S EXT FUNC

1009 LABEL

801 LABEL

D-5
PAGE 6 88/^4/36

1818 LABEL

1811 LABEL

.V EXT FUNC

8 ERRORS: FORTRAN V LEVEL 1 R84-88

D-6
PAGE 1 08/04/80

SBATCH

SUBROUTINE PDBQK(KEY,DBNAME)

C URITTEN BY GEORGE SMITH - CBT

C THIS SUBROUTINE SEARCHES A PUBLICATIONS DATABASE

C FOR A PARTICULAR KEY UORD. EACH RECORD IS CHECKED

C FOR HAVING THE KEY UORD. THIS SUBROUTINE MAY BE INVOKED

C FROM '^PDBSUP" BY TYPING 'ONE KEY', OR BY TYPING AN

C ASTERISK IN COLUMN 1 IMMEDIATELY FOLLOWED BY THE KEY

C UORD. THE NUMBER OF RECORDS HAVING THIS KEY UORD

C IS OUTPUT TO THE TERMINAL.

C

C MODIFIED 10/29/79 - 08:58

C MODIFIED 10/30/79 - 08:24

INTEGER KEY(4) ,RECPTR. ISTAT, IPBLK(5) , I, J, INDEXl . INDEXZ

INTEGER RECS, RECORD (93), BYTE l.KBNAMEC 4), ORGST (253,.1NSTC25)

RECPTR = -1

RECS = CALL 0PENU(3,DBNAME, 0,0.0. ISTAT)

IF( ISTAT .NE. 0)GO TO 508

DO 50 1=1.25

ORGST(I)='

INST(I)='

50 CONTINUE

100 RECPTR = RECPTR + 1 CALL SYS 10 (IPBLK.Y'4D', 3, RECORD. 372, RECPTR)

IFdPBLKCl) .NE. Y'4D030000')GO TO 400

J = 62

150 J = J + 4

IF (J .EQ. 90) GO TO 300

DO 200 INDEXl = 1,4

INDEX2 = INDEXl + J - 1 IF ( RECORD (INDEX2) .NE. KEY( INDEXl )) GO TO 150

200 CONTINUE

250 RECS=RECS+1

GO TO 100

C *** SEARCH TITLE FOR KEY UORD ***

300 11=28

DO 320 1=1,25

ORGST(I)=RECORD(II)

11=11+1

320 CONTINUE

DO 350 1=1,4

INST(n=KEY(D

350 CONTINUE

CALL STSRCH(ORGST, INST, ISTAT)

IF (ISTAT. EQ.l) GO TO 250

GO TO 100

400 CALL ILBYTE(BYTE1,IPBLK(1),2)

IF (BYTE 1 .NE. Y' 00000088' ) GO TO 450

405 URITE(6,410,ERR = 405)RECS, (KEY( I) , I = 1.4)

410 FORMAT('0',I4,' RECORD/S HAVE THE KEYWORD ' , IH' ,4A4. 1H'/4X

- 'IN EITHER THE KEY UORD OR TITLE FIELD')

D-7
PAGE 2 08/04/80

GO TO 600

450 URITE(6,460,ERR = 450) IPBLK (1)

460 FORMAT('0ERROR IN READING DPTfl FILE

GO TO 600

500 LJRITE(6,5t0,ERR = 500HSTflT

510 FORMPTC'SERROR IN OPENING DATA FILE

600 CALL CLOSERS, ISTAT)

RETURN

END

PDBQK FUNC/SUB

.Q EXT F-UNC .P EXT FUNC

KEY FORM PAR

DBNfiME; FORM PAR

RECPTR' INT4 VAR

ISTPT INT4 VAR

IPBLK IhT4 VAR

I INT4 VAR

J INT4 VAR

INDEXl INT4 VAR

INDEX2 INT4 VAR

RECS INT4 VAR

RECORD INT4 VAR

BYTEl INT4 VAR

ORGST INT4 VAR

INST INT4 VAR

OPENU EXT FUNC

500 LABEL

50 LABEL

100 LABEL

SYS 10 EXT FUNC

400 LABEL

150 LABEL

300 LABEL

200 LABEL

250 LABEL

II INT4 VAR

320 LABEL

350 LABEL

STSRCH EXT FUNC

ILBYTE EXT FUNC

450 LABEL

405 LABEL

410 LABEL

@H EXT FUNC

600 LABEL

460 LABEL

510 LABEL

CLOSE EXT FUNC

- ',Z8)

- ',13)

ERRORS: FORTRAN V LEVEL 1 R04-00

D-8
PAGE 1 08/04/80

SUBROUTINE STSRCHCORGST, INST, ISTflT)

C PROGRAM DESIGNED TO SEARCH AN ASCII

C FIELD AGAINST AN INPUT FIELD TO

C DETERMINE A MATCH CONDITION.

C URITTEN BY L. KAETZEL - CBT - 02/23/79

C >>>>>» ARGUMENT DEFINITIONS «<<<<<«

C ORGST = GRGINAL STRING MPlX 100 CHARACTERS

C INST = INPUT STRING MAX 100 CHARACTERS

C STAT = DISPOSITION OF PROCESSING

C 0=NO MATCH

C 1 =MATCH

C -2=N0N ASCII CHARACTERS IN STRING

INTEGER 0RGST(25), INST(25)

INTEGER OSTOR, ISTOR, GSCT,TCCT.BLNK

C >>>>>>> FIND NO. OF CHAR FOR SEARCH <<<««

NCHAR=-1

ITMP='llll'

DO 30 1=1,25

DO 20 J=l,4

ISC0N=32-(8>KJ)

ICHAR=ISHFT( INSTC I) ,-ISCON)

ISTOR='

CALL ISBYTEi:iCHAR,ISTOR,0)

IF dSTOR.EQ.' '.AND.ITMP.EQ.' ') - GO TO 40

NCHAR=NCHAR+1

ITMP=ISTOR

20 CONTINUE

30 CONTINUE

C >>>>>>> VALIDATE ASCII STRINGS <<<<<<<

40 ICOUNT=0

NDIF=(NCHfiR/4)+l

DO 100 1=1,25

DO 50 J=l,4

ISC0N=32-(8*J)

ICHAR=ISHFT(ORGST( I) ,-ISCON)

ISTOR='

CALL ISBYTE(ICHAR.ISTOR,0)

IF (ISTOR.LT.Y*20202020' .OR.

- ISTOR.GT.Y' 5^202020') GO TO 600

ICHPlR=ISHFT( INST( I) ,-ISCON)

ISTOR='

CALL IGBYTECICHAR, ISTOR,0)

IF (ISTOR.LT.Y'20202020'.OR.

- ISTOR.GT.Y'5A202020') GO TO 600

IC0UNT=IC0UNT+1

IF (ICOUNT.EQ.NCHfiR) GO TO 150

50 CONTINUE

100 CONTINUE

C >>>>>>> MASK IT <<<<<<<

150 0SCT=1

ISCT=1

D-9
PAGE 2 08/04^0

TCCT=1

11 = 1

1 = 1 ISTIiP = 'ftflAfl' 200 ISC0N=32-(8>Kl)

IOCHAR= ISHFKORGSTCOSCT) ,- ISCON)

IOSTOR='

CALL ISBYTE(IOCHAR,IOSTOR,0)

IF dOSTOR.EQ.' '.AND.ISTMP.EQ.' ') GO TO 275

ISTMP=IOSTOR

ISC0N=32-(8>t<in

I ICHAR = ISHFT<: INSTC ISCT) ,-ISCON)

IISTOR='

CALL ISBYTE<:iICHAR.IISTOR,0)

IF (lOSTOR.NE.IISTOR) GO TO 300

C >>>>>>> CHARACTER MATCH <<<<<<< TCCT=TCCT+1

IF (TCCT.GT.NCHAR) GO TO 500

11=11+1

215 1=1+1

IF (II.LE.4.AND.I.LE.4) GO TO 200

IF (II.LE.4) GO TO 250

II = 1 ISCT=ISCT+1

IF (ISCT.LE.25) GO TO 250

ISTAT=1

RETURN

250 IF (I.LE.4) GO TO 200

1 = 1 0SCT=0SCT+1

IF (0SCT.LE.25) GO TO 200

275 ISTAT=0

CHARACTER NO-MATCH <<<««

RETURN

c >>>>>>> CI 300 ISCT=1

11 = 1 TCCT=1

GO TO 215

500 ISTAT=1

RETURN

603 ISTAT=-2

RETURN

END

STARCH FUNC/SUB

.Q EXT FUNC

.P EXT FUNC

ORGST FORM PAR

INST FORM PAR

ISTAT FORM FAR

OSTOR INT4 VAR

I3T0R INT4 VAR

OSCT INT4 VAR

D-10
PAGE 3 88/04.^0

TCCT

BLNK

NCHAR

ITMP

30

I20

JISCON

ICHAR

ISHFT

ISBYTE

40

ICOUNT

NDIF

100

50

600

150

ISCT

IIISTMP

200

lOCHAR

lOSTOR

275

1 1 CHAR

1 1 STOP

300

500

215

250

INT4 VflR INT4 VftR INT4 VAR

INT4 VAR

LABEL

INT4 VAR

LABEL

INT4 VAR

INT4 VAR

INT4 VAR

EXT FUNC

EXT FUNC

LABEL

INT4 VAR

INT4 VAR

LABEL

LABEL

LABEL

LABEL

INT4 VAR

INT4 VAR

INT4 VAR

LABEiINT4 VAR

INT4 VAR

LABEL

INT4 VAR

INT4 VAR

LABEL

LABEL

LABEL

LABEL

ERRORS: FORTRAN V LEVEL 1 R04-00

D-11
PAGE 1 08/04/80

SUBROUTINE PDBKEY(DBNRME)

C MODIFIED 84/13/79 - 08:0S

C MODIFIED 10/29/79 - 13:51

C MODIFIED 10/30/79 - 08:29

I NTEGER>t<4 TEMP ( 4. 6 ) , KEY (4. 700) , CHECK, ISTPT, DBNAME (4)

$, TOTAL. IPBLK1(5),REC0RD(93), I,J,T, IDATE(3),J2

INTEGER>t<4 PRFILE(4)

INTEGER>K2 ANSUER.TOSORT,SUftP,END,COUNT(700)

INTEGER>K2 PAGES, BEG IN, LOOPCT, OFFSET, RECS, OCCURS

INTEGER>K2 DELETD

EQUIVALENCE (TEMPCl, 1) ,REC0RD(66)

RECS = DELETD = OCCURS = TOTAL = PRFILE(l) = 'PR2:'

PRFILEC2) =

' PRFILE(3) =

' PRFILE(4) =

' 19 LJRITE(b,20,ERR = 19)

20 FORMAT('0BEGIN KEYUORD SORT')

CALL CLOSECS, ISTAT)

CALL 0PENLJ(3,DBNAME, 0,0,0. ISTAT)

IPC ISTAT .EQ. 0)GO TO 30

24 LJRITE(S,25,ERR = 24) ISTAT

25 FORMhTCOERROR IN OPENING DATABASE FILE ' $ 13)

GO TO S40

30 LJRITEC6. 1001,ERR=300)

ILU=a

34 READCS, 1002,ERR=800) lOPT

IF (ICPT.EQ.'YES ') ILU=7

IF (lOPT.EQ.'NO ') ILU=b

IF (ILU.NE.0) GO TO 39

URITECe, 1003, ERR =800)

GO TO 34

38 IF (ILU.EQ.6) GO TO 50

CALL CL0SE':7, ISTAT)

CALL OPENLJC7,PRFILE,7,0.0, ISTAT)

IPC ISTAT .EQ. 0)GO TO 50

44 1JRITE(6,45,ERR = 44) ISTAT

45 FORMhTCQERROR IN OPENING PRINT FILE')

GO TO 640

50 CALL SVSI0(IPBLK1,Y' 48', 3, RECORD, 372,0)

IFCIPBLKKl) .NE. Y' 43030090' ) GO TO 65

RECS = RECS + 1 DO 55 I = 1,5

IFCRECORDd) .NE. 'DELE')GO TO 100

55 CONTINUE

DELETD = DELETD + 1 GO TO 50

65 CALL ILEYTECCHECK, IPBLK1(1).2)

D-12
PAGE 2 08/04/80

IFCCHECK .EQ. Y'88')G0 TO 158

70 URITE(6,72,ERR = 70)IPBLK1(1)

72 FORIiATk'0', 'ERROR: IPBLK(l) = '.Z8)

GO TO 640

100 DO 150 J = 1,6

DO 120 I = 1,4

IF(TEIiP(I,J) .NE. ' ')G0 TO 125

120 CONTINUE

GO TO 150

125 IFCTOTAL .EQ. 0)GO TO 132

DO 130 T = 1, TOTAL

DO 127 I = 1,4

IF(TEMP(I,J) .NE. KEY(I,T))GO TO 130

127 CONTINUE

COUNT (T) = CO'JNT(T) + 1 OCCURS = OCCURS + 1 GO TO 150

130 CONTINUE

132 TOTAL = TOTAL + 1 IF (TOTAL .EQ. 701) GO TO 550

COUNT (TOTAL) = 1 OCCURS = OCCURS + 1 DO 135 I = 1,4

KEY (I, TOTAD = TEMP C I.J)

135 CONTINUE

150 CONTINUE

GO TO 53

158 TOSORT = TOTAL

160 TOSORT = TOSORT - 1 IF (TOSORT .EQ. 0)GO TO 230

SUAP = 'N' DO 180 J = 1, TOSORT

DO 170 I = 1,4

IF(KEY(I,J) .GT. KEY(I,J + 1))G0 TO 172

IF(KEY(I,J) ,LT. KEY(I,J + 1))G0 TO 180

170 CONTINUE

GO TO 180

172 DO 175 I = 1,4

TEMPd, 1) = KEY(I,J)

KEY(I,J) = KEY(I,J + 1)

KEY(I,J + 1) = TEMPd, 1)

175 CONTINUE

SUAP = 'Y' TEMPd, 1) = COUNT(J)

COUNT(J) = COUNT (J + 1)

COUNT(J + 1) = TEMPd, 1) 180 CONTINUE

IF(SUAP .EQ. 'Y')GO TO 160

280 BEGIN = -45

PAGES = TOTAL / 90

CALL DATEdDATE)

400 PAGES = PAGES - 1

D-13
PAGE 3 08/04/^8

403 LJRITE(ILU,407,ERR = 483)DBNAME(2) ,BBNAME(3), IDflTH(2)

$ ,IDATE(3),IDATE(1)

407 F0RMAT('r,5X,2A4,2X, 'PUBLICATIONS DATA BASE' ,5X. 'KEY UORD LIST',

$ 5X,I2,'/'-I2,'/',I2)

403 URITE(ILU,409,ERR = 408)

409 FORMAT('0',5X, 'KEY UORD' , 7X, 'OCCURRENCES' , ISX, 'KEY UORD',

$ 7X. 'OCCURRENCES')

40S00 URITE(ILU,40901,ERR = 40900)

40901 FORMATC ',5X,

' ,?X,' ',13X,' ',

S 7X.' ') IF (PAGES .EQ, -DGO TO 500

LOOPCT = ICRT=0

BEGIN = BEGIN + 45

410 LOOPCT = LOOPCT + 1 ICRT-ICRT+1

BEGIN = BEGIN + 1 END = BEGIN + 45

429 URITE(ILU,430,ERR = 429) (KEY( I,BEGIN) . I = 1 ,4) ,CCUNT(BEGIN)

$ (KEY(I,END),I = 1,4),C0UNT(END)

430 F0RriAT(5X,4A4,2X, I3,23X,4A4,2X, 13)

IF (ILU.EQ.7) GO TO 450

IF (LOOPCT. EQ. 45) GO TO 400

IF (ICRT.LT. 18) GO TO 410

REfiD(6,1000) IDUM

ICRT=0

GO TO 410

450 IF (LOOPCT. EQ. 45) GO TO 400

GO TO 410

500 BEGIN = BEGIN + 45

LOOPCT = OFFSET = (TOTAL - TOTAL / 90 * 98) / 2

IF (TOTAL / 2 >K 2 .NE. TOTAL) OFFSET = OFFSET + 1 505 BEGIN = BEGIN + 1 LOOPCT = LOOPCT + 1 IF(LOOPCT .GE. OFFSET)GO TO 550

END = BEGIN + OFFSET

509 URITE(ILU.430,ERR = 509) (KEY( I,BEGIN) . I = 1.4) ,COUNT(BEGIN)

$ (KEY(I,END), I = 1-4),C0UNT(END)

GO TO 505

550 IF (TOTAL / 2 >k 2 .NE. TOTAL) GO TO 570

IF(OFFSET .EQ. 0)GO TO 600

END = BEGIN + OFFSET

559 LJRITE(ILU.430,ERR = 559) (KEY( I ,BEGIN) , I = 1,4) , COUNT(BEGIN) , $ (KEY(I,END),I = 1,4),C0UNT(END)

GO TO 660

570 URITE(ILU,430,ERR = 570) (KEY( I ,BEGIN) , I = 1 ,4) ,COUNT(BEGIN)

600 'JRITE(ILU.407.ERP = 600)DBNAME(2) ,DBNA^E(3) . IDATE(2)

$ ,IDATE(3),IDATE(1)

610 IJRITE(ILU,615,ERR = 610)RECS,DELETD. TOTAL, OCCURS

615 FORMAT('0'/'0'.'END OF KEY IJORDS'/

$ '0', 14,' RECORDS READ'/

D-14
PAGE 4 08/04^0

$ '0',I4,' HAD BEEN DELETED'/

$ '0', 14,' KEY UORDS'/

$ '0', 14,' OCCURRENCES')

620 URITE(6-630.ERR = 620)

630 FORMATC'OEND OF KEYUORD SORT')

640 CALL CL0SE(3,ISTAT)

CALL CL0SE(7,ISTAT)

RETURN

650 URITE(ILU,651.ERR = 650)

651 FORMAT('0','MORE THAN 700 KEYS'

$ /' ONLY FIRST 700 PROCESSED')

TOTAL = TOTAL - 1 GO TO 158

C >»>>>> TERMINAL ERROR <«««<«

800 URITECb, 1004)

STOP

1060 FGRMAT(Al)

1001 FORMATC IX, 'OPTIONAL PRINTER OUTPUT? (YES OR NO)')

1002 FORMAT CA4)

1003 FORMATC IX, 'RESPONSE NOT "YES" OR "NO '. .RE-ENTER')

1004 FORMATC IX, 'TERMINAL ERROR OCCURED')

END

PDBKEY FUHC/SUB

.Q EXT FUNC

,P EXT FL'NC dbnhme form par

TEMP INT4 VAR

KEY INT4 VAR

CHECK INT4 VAR

I STAT INT4 VAR

TOTAL INT4 VAR

IPELK] INT4 VAR

RECORI) INT4 VAR

I INT4 VAR

J INT4 VAR

T INT4 VAR

IDATE INT4 VAR

J2 INT4 VAR

PRFILE INT4 VAR

ANSMER INT2 VAR

TOSORT INT2 VAR

SUAP INT2 VAR

END INT2 VAR

COUNT INT2 VAR

PAGES INT2 VAR

BEGIN INT2 VAR

LOOPCT INT2 VAR

OFFSET INT2 VAR

RECS INT2 VAR

OCCURS INT2 VAR

DELETD INT2 VAR

19 LABEL

D-15
PAGE 5 08/04/80

20 LABEL

QH EXT FUNG

CLOSE EXT FUNG

OPENU EXT FUNG

30 LABEL

24 LABEL

25 LABEL

640 LABEL

1081 LABEL

809 LABEL

ILU INT4 VAR

34 LABEL

1092 LABEL

lOPT INT4 VAR

33 LABEL

1003 LABEL

50 LABEL

44 LABEL

45 LABEL

SYS 10 EXT FUNG

65 LABEL

55 LABEL

100 LABEL

ILBYTE EXT FUNG

158 LABEL

70 LABEL

72 LABEL

150 LABEL

120 LABEL

125 LABEL

132 LABEL

130 LABEL

127 LABEL

650 LABEL

135 LABEL

160 LABEL

280 LABEL

180 LABEL

170 LABEL

172 LABEL

175 LABEL

DATE EXT FUNG

400 LABEL

403 LABEL

407 LABEL

403 LftSEL

409 LABEL

49S00 LABEL

40301 LABEL

500 LABEL I CRT INT4 VAR

410 LABEL

D-16
429 LABEL

430 LABEL

450 LABEL

1000 LABEL

IDUM INT4 VAR

505 LABEL

550 LABEL

509 LABEL

570 LABEL

600 LABEL

559 LPBEU

€10 LABEL

615 LABEL

620 LABEL

€30 LABEL

651 LABEL

1004 LABEL

.S EXT FUNC

PAGE 6 09/04/S0

ERRORS: FORTRAN V LEVEL 1 R04-00

D-17
PAGE 1 08/04/^0

SBATCH

SUBROUTINE PDBED(DBNAME)

C MODIFIED BY L. KfiETZEL 09/1^/79

C MODIFIED 10/29/79 - 09:39

C MODIFIED 10/31/79 - 06:51

INTEGER MAX,MIN,RECPTR,REC0RD(93),MPBLKH5),PTRADJ

INTEGER*2 DBCODE- ANSIlER.L Ui£

INTEGER MODE, DBNftrfE(4), CHECK. START,END, DIGITS, 12, ISTAT

INTEGER TEMP, TEMP2 (40), STOP, ASTR IX, BEG IN. END, BLANKS

ASTRIX = '* BLANKS = ' CALL CL0SE(3,ISTAT)

DECODE = 1 IF(DBNAME(2) .EQ. 'REHA' )DeCODE = 2

CALL OPENU(3,DBNAME,7,0,0. ISTAT)

IFdSTAT .NE. 0)GO TO SO

GO TO 100

80 URITE(6,81.ERR = 30) I STAT

81 FORMATS ' ERROR IN OPENING FILE ',13)

GO TO 900

50 IJRITE(6,51,ERR = 30)

51 FORMATCO', 'BEGIN UPDATING OF DATABASE')

100 URITECG, 110. ERR = 100)

110 FORMATC ENTER RUN MODE'/

$ 'APPEND - DELETE - UPDATE - SEARCH - RETURN')

READ(6,120)M0DE

120 F0RMAT(A4)

IFCMODE .EQ. 'APPE')GO TO 200

IFCMODE .EQ. 'DELE')GO TO 300

IF (MODE .EQ. 'UPDA')GO TO 30601

IF(MODE ,EQ. 'SEAR')GO TO 500

IF (MODE .EQ. 'RET'J')GO TO 900

129 URITE(6,130,ERR = 129)

130 FORMATC ILLEGAL RUN iiODE')

GO TO 100

C

C APPEND MODE

C

C FIND END OF FILE

C

200 MAX = 1S3S4

MIN = 205 RECPTR = (MAX + MIN) / 2

READ(3.210,END = 220, REC = RECPTR)TEMP

219 F0RMAT(A4)

RECPTR = RECPTR + 1 READ(3,210,END = 230. REC = RECPTR)TEMP

MIN = RECPTR

IF(RECPTR .GT. 16300)GO TO 290

GO TO 265

220 IF(RECPTR .EQ. 0)GO TO 230

MAX = RECPTR

D-18

i
PAGE 2 08/04/80

GO TO 205

C

C READ IN DATA

C

C DBCODE ONE IS KGS AND AUTHOR DATABASE

C DBCODE TUO IS REHAB DATABASE

C

C (PROGRAM DEFAULTS TO DBCODE ONE)

C

230 DO 2301 I - 1,93

2301 RECORD (I) = BLANKS

IFCDBCQDE .EQ. 1) GO TO 231

IF(DBCODE .EG. 2)G0 TO 23410

231 URITE(6,232,ERR =231)

232 FORMATS ' ENTER 3 AUTHORS, ONE TO A '

,

$ 'LINE'/' OR AN "*" TO EXIT')

READ":6,234)(REC0RD(n,I = 1,8)

234 F0RliAT(SA4)

IFCRECORDd) .EQ. ASTRIX)G0 TO 100

READ(6,234)(REC0RD(I),I = 9,16)

IF (RECORD (9) .NE. ASTRIX)GO TO 23401

RECORD (9) = BLANKS

GO TO 249

23431 READ(6,234)(REC0RD(I),I = 17,24)

IF(RECGRD(17) .NE. ASTRIX)GO TO 235

RECORD (17) = BLANKS

GO TO 249

23410 URITE(6, 23415, ERR = 23410)

23415 FORMATC ENTER NAME OF AUTHOR'/

$ ' OR AN ">«" TO EXIT')

READ(6,234)(REC0RD(I),I = 1.8)

IF(RECORD(n .EQ. ASTRIX)GO TO 100

23418 URITE(6,23420,ERR = 23418)

23420 FORMATC ENTER LIBRARY LOCATION')

READ(6,234)(REC0RD(I),I = 9,16)

IF(REC0RD(9) .NE. ASTRIX)GO TO 23423

RECORD (9) = BLANKS

GO TO 249

23423 URITE(6,23425,ERR = 23423)

23425 F0RMAT(27H ENTER AUTHOR'S AFFILIATION)

READ(6,234)(REC0RD(I),I = 17,24)

IF (RECORD (17) .NE. I^1STRIX)G0 TO 235

RECORD (17) = BLPiNKS

GO TO 249

235 URITE(6,236,ERR = 235)

236 FORMATC ENTER PUBLICATION DATE')

READ(6,234)(REC0RD(I),I = 25,27)

IF(REC0RD(25) .NE. ASTRIX)GO TO 239

RECORD (25) = BLANKS

GO TO 249

239 URITE(6,240,ERR = 239)

240 FORMATC ENTER TUO LINES OF THE TITLE')

D-19
PAGE 3 08/04/80

READi:6,241)(TEMP2(I),I = 1.20)

IF(TEriP2(l) .EQ. ftSTRIX)GO TO 249

READ(6.241) CTEMP2(n, I = 21,40)

STOP = TEMP2(21)

IFCTEMP2(21) .EQ. ASTRIX)TEMP2(21) = BLANKS

241 FORnAT(20P4)

2410 CfiLL CRfiM(TEMP2)

DO 2411 I = 1,25

2411 RECORD (I + 27) = TEMP2(I)

IFCSTOP .EQ. PSTRIX)GO TO 249

242 LJRITE(6,243,ERR = 242)

243 FORmTC ENTER PUBLICATION NAME')

READC6,234)(REC0RD(I), I =53,S0)

IF(RECnRDC53) .NE. ASTRIX)GO TO 244

RECORD (53) = BLANKS

GO TO 249

244 URITE(S,245,ERR = 244)

245 FORMATC ENTER VOLUME, NUMBER, PAGES, ETC.')

READ(6,234) (RECORD(I), I = 61,65)

IF(REC0RD(61) .NE. ASTRIX)GO TO 24504

REC0RD(61) = BLANKS

GO TO 249

C >>>>>>>>>> ENTER DATA FOR AUTHOR DATA BASE <«<<<««

24504 IF (DBNAMEC2) .NE.'AUTH') GO TO 246

IJRITE(6,24500)

BEGIN=bS

END=69

READ(6,234) (RECORDC I) , I=BEG IN,END)

URITE(6,24501)

BEGIN=EEGIN+4

END=END+4

READC6,234) (RECORD ( I) , I=BEGIN, END)

URITE(G. 24502)

EEGIN=EEGIH+4

END=END+4

READ(6,234) (RECORD( I ) , I=BEGIN.END)

DO 24503 1=78,93

RECORD(I)='

24503 CONTINUE

GO TO 250

24500 FORMATdX, 'ENTER PUBLISHER LOCATION')

24501 FORMATk IX, 'ENTER PUBLISHERS NAME')

24502 FORMATdX, 'ENTER DIVISION/GROUP')

246 URITE(6,247,ERR = 246)

247 FORMATC ENTER 6 KEY UORDS, ONE TO A LINE')

DO 248 BEGIN = 66,89,4

END = BEGIN + 3

READ(6,234) (RECORD(I), I = BEGIN, END)

IF(RECORD(BEGIN) .NE. ASTRIX)GO TO 248

RECGRD(BEGIN) = BLANKS

GO TO 249

243 CONTINUE

D-20

«
PAGE 4 08/04/^0

IF(DBCODE .EQ. 2)G0 TO 249

24880 URITECS, 24801, ERR = 24800)

24301 FORIiATC ENTER DISCIPLINE')

REfiD(6,234)(REC0RD(I),I = 90,93)

IF (RECORD (90) .NE. ASTRIX)GO TO 249

RECORD(90) = ' 249 CALL DISPLY(RECORD,DBCODE)

250 URITE(6,251,ERR = 250)

251 FGRMATC SAVE OK?')

READ(6,260)ANSLJER

260 F0RMAT(A4)

IF(ANSUER .EQ. 'YES ')G0 TO 2700

IF(ANSUER ,EQ. 'NO ')G0 TO 230

261 URITE(6.262,ERR = 261)

262 FORMAT^' ANSWER "YES" OR "NO"')

GO TO 250

C

C SAVE APPENDED RECORD

C

2708 CALL SYSI0(IPBLK1,Y'28'.3.REC0RD,372,8)

IFdPBLKKl) .NE. Y' 28830030' ) GO TO 278

GO TO 238

278 URITE(t",272,ERR = 270)IPBLK1(1)

272 FORMATCO',' ERROR IN URITING RECORD'/

$ ' IPBLK(l) = ',Z8)

GO TO 160

298 URITE(6..292,ERR = 298)

292 FCRMAT('0','TOO MANY RECORDS ON FILE')

GO TO 108

C

C DELETE AND UPDATE MODES

C

380 URITE(6,305,ERR = 300)

305 FORMATC ENTER NUMBER OF THE RECORD TO'

$ ,' DELETE'/' OR AN "*" TO EXIT')

GO TO 307

30601 URITE(6,386,ERR = 38681)

306 FORMATC ENTER NUMBER OF RECORD TO UPDATE'/

$ ' OR AN "*" TO EXIT')

C

C READ NUMBER IN ALPHANUMERIC FORMAT

C OF RECORD TO DELETE OR UPDATE AND

C CONVERT NUMBER TO INTEGER

C

307 READ(6,308)DIGITS

308 FORMAT (ft4)

IF(DIGITS .EQ. ASTRIX)GO TO 100

RECPTR = DO 31b I = 1,4

12 = I - 1 CALL ILBYTE(CHECK, DIGITS, 12)

IF (CHECK .EQ. Y' 00888828' XGO TO 310

D-21
PAGE 5 08/04/80

IFCCHECK .LT. Y'00000030' .OR.

$ CHECK .GT. Y' 00000039') GO TO 315

RECPTR = RECPTR >k 10 + (CHECK - 48)

310 CONTINUE

GO TO 320

315 URITE(6,31?,ERR = 315)

31? FORMAT('0','THAT IS NOT AN ASTERISK'/

$ 22H AND IT'S NOT A NUMBER)

IF(MODE .EQ. 'UPDA')GO TO 50601

GO TO 300

C

C READ RECORD TO DELETE OR UPDATE

C

320 PTRADJ = RECPTR - 1 CALL SYS IOC IPBLK 1 , Y' 4C' , 3, RECORD, 372, PTRADJ)

IFCIPBLKICI) .NE. Y'4C030000' )G0 TO 360

DO 321 I = 1,93

IFCRECORDd) .NE. 'DELE')GO TO 323

321 CONTINUE

322 URITE(6,3220,ERR = 322) RECPTR

3220 FORMATCeRECORD NUMBER ',14/

$ ' HAS ALREADY BEEN DELETED')

IF (MODE .EQ. 'DELE') GO TO 300

GO TO 30601

323 URITE(6,325,ERR = 323) RECPTR, (RECORD ( I) ,

$ = 1,8)

325 FORMATC RECORD NUMBER ',14/

$ ' AUTHOR: ',QA4)

326 URITE(6,327,ERR = 326) (RECORDC I) , I = 28,52)

327 FORMATC TITLE: ',12A4/' ',13A4)

IF (MODE .EQ. 'UPDA')GO TO 390

328 URITE(6,329.ERR = 328)

329 FORMATC DELETE OK?')

READ(6.330)AMSUER

330 F0RMAT(A4)

IF(ANSUER .EQ. 'NO ')G0 TO 300

IFCANSUER .EG. 'YES ')G0 TO 340

332 URITE(6,333,ERR = 332)

333 FORMATC ANSLJER "YES" OR "NO"')

GO TO 328

C

C DELETE RECORD

C

340 DO 345 I = 1,93

345 RECORD (I) = 'DELE'

CALL SYS 10 ( IPBLK 1 . Y' 2C' , 3, RECORD, 372, PTRADJ)

IF( IPBLK 1(1) .NE. Y'2C0300t30')GO TO 370

349 URITE(6,350,ERR = 349)

350 FORMATC RECORD DELETED')

GO TO 300

360 CALL ILBYTE(CHECK.IPBLK1(1),2)

IFCCHECK .EQ. Y'88')G0 TO 365

D-22
PAGE 6 08/04/80

GO TO 370

365 LJRITE(6,36?,ERR = 365)RECPTR

367 FORMATC RECORD NUMBER ',14,' IS PAST THE END OF THE FILE')

IF (MODE .EG. 'UPDA')GO TO 30601

GO TO 300

370 URITE(6,373,ERR = 370) IPBLKl C 1)

373 FORMATC ERROR'/' IPBLK(l) = ',Z8)

GO TO 100

C

C DISPLAY RECORD TO UPDATE

C

390 CALL DISPLYCRECORD, DECODE)

C

C GET NUMBER OF LINE TO UPDATE

C

440 LJRITE(6,445,ERR = 440)

445 FORMATC ENTER LINE NUMBER TO UPDATE'/

$ ' OR AN "*' TO EXIT')

READ(6,450)DIGITS

450 F0RMAT(A2)

IF(DIGITS .EG. '*')G0 TO 490

LINE = DO 455 I = 1,2

12 = I - 1 CALL ILBYTECCHECK, DIGITS. 12)

IF (CHECK .EG. Y' 00000020' ) GO TO 455

IF(CHECK .GT. Y'00000039' .OR.

$ CHECK .LT. Y' 00000030') GO TO 456

LINE = LINE * 10 + CHECK - 48

455 CONTINUE

GO TO 461

456 URITE(6,317,ERR = 456)

GO TO 440

C

C GET NEU LINE

C

461 IF(LINE .LT. 1 .OR. LINE .GT. 15)G0 TO 495

IF(LINE .EG. 15 .AND. DBCODE .EG. 2)G0 TO 495

GO TO (4610.4610,4610.4611.4612,4971.4613,4614,4615,4615,4615,

$ 4615, 4615, 4615, 4616), LINE

4610 START = (LINE - 1) * 8 + 1 END = START + 7

GO TO 470

4611 START =25

END = 27

GO TO 470

4612 URITE(6, 46120, ERR = 4612)LINE, (RECORD( I) , I = 23,52)

46120 FGRMAT('0','LINE ',12,' UAS:'/' ',13A4/' ' 12A4/

$ ' ENTER 2 LINES OF THE NEU TITLE')

READ(6,46121)(TEMP2(I),I = 1,20)

46121 FORMAT(20A4)

READ(6,46121)(TEMP2(I),I = 21,40)

D-23
PAGE 7 08/04/80

CALL CRftM(TEriP2)

DO 46123 I = 1,25

RECORD (I + 27) = TEMP2(n

46123 CONTINUE

GO TO 440

4613 START = 53

END = 60

GO TO 470

4614 START = 61

END = 65

GO TO 470

4615 START = 4 * LINE + 30

END = START + 3

GO TO 470

4616 START = 90

END = 93

470 LJRITE(6,475,ERR = 470)L INE. (RECORDC I) , I = START, END)

475 FORMATr0','LINE ',12,' UAS:'/* ',8A4/' ENTER NEU LINE')

READC6,430)(RECORD(n, I = START,END)

480 F0RMAT(2eA4)

GO TO 440

C

C DISPLAY UPDATED RECORD

C

490 CALL DISPLY(RECORD,DBCCDE)

491 IJRITE(6,251,ERR = 491)

READ(6,492)ANSUER

492 F0RriAT(A4)

IFCANSLJER .EQ. 'YES ')G0 TO 493

IFCANSL'ER .EQ. 'NO ' ) GO TO 30601

43201 URITE(6,2b2,ERR = 262)

GO TO 431

C

C SA^/E UPDATED RECORD

C

493 CALL SYSI0(IPBLK1,Y'2C', 3, RECORD, 372, PTRADJ)

IFdPBLKKl) .NE. Y' 2C030090' )G0 TO 370

GO TO 30601

495 1JRITE(6,497,ERR = 495)

497 FORMATS THAT IS NOT A VALID LINE NUMBER')

GO TO 440

4971 IJRITEC6> 4972, ERR = 4971)

4972 FORMATT YOU CAN ONLY EDIT LINE 6'

$ /' AFTER YOU HAVE EDITED LINE 5')

GO TO 440

500 CALL S£r.RCH

GO TO 100

900 CALL CL0SE(3, ISTAT)

RETURN

END

PDBED FUNC/SUB

.Q EXT FUNC

D-24
PAGE 8 08/04/80

.p EXT FUNC

DBNAME FORM PAR

mx INT4 VAR

MIN INT4 VAR

RECPTR INT4 VAR

RECORD INT4 VAR I INT4 VAR

IPBLKl INT4 VAR

PTRADJ INT4 VAR

DBCODE INT2 VAR

AHSLJER INT2 VAR

LINE INT2 VAR

MODE INT4 VAR

CHECK INT4 VAR

START INT4 VAR

END INT4 VAR

DIGITS INT4 VAR

12 INT4 VAR I STAT INT4 VAR

TEMP INT4 VAR

TEMP2 INT4 VAR

STOP INT4 VAR

ftSTRIX INT4 VAR

BEGIN INT4 VAR

BLhNKS INT4 VAR

CLOSE EXT FUNC

OPENU EXT FUNC

80 LABEL

100 LABEL

81 LABEL

@H EXT FUNC

900 LABEL

50 LABEL

51 LABEL

110 LABEL

120 LABEL

200 LABEL

309 LABEL

30b01 LABEL

500 LABEL

129 LABEL

130 LABEL

205 LABEL

210 LABEL

220 LABEL

230 LABEL

290 LABEL

2301 LABEL

231 LABEL

23410 LABEL

232 LABEL

234 LABEL

D-25
PAGE 9 03/04/^0

23401 LABEL

249 LABEL

235 LABEL

23415 LABEL

23418 LABEL

23420 LABEL

23423 LABEL

23425 LABEL

236 LABEL

239 LABEL

240 LABEL

241 LABEL

2410 LABEL

CRAM EXT FUNC

2411 LABEL

24Z LABEL

243 LABEL

244 LABEL

245 LABEL

24504 LABEL

24b LABEL

24500 LABEL

24501 LABEL

24502 LABEL

24503 LABEL

250 LABEL

247 LABEL

248 LABEL

24S00 LABEL

24801 LABEL

DISPLY EXT FUNC

251 LABEL

260 LABEL

2700 LABEL

261 LABEL

262 LABEL

SYS 10 EXT FUNC

270 LABEL

272 LABEL

292 LABEL

305 LABEL

307 LABEL

306 LABEL

303 LABEL

310 LABEL

ILBYTE EXT FUNC

315 LABEL

320 LABEL

317 LABEL

360 LABEL

321 LABEL

323 LABEL

D-26 I
PfiGE 10 08/04/80

322 LABEL

3220 LABEL

325 LABEL

326 LABEL

327 LABEL

390 LABEL

328 LABEL

329 LABEL

330 LABEL

340 LABEL

332 LABEL

333 LABEL

345 LABEL

370 LABEL

343 LABEL

350 LABEL

365 LABEL

367 LABEL

373 LABEL

440 LABEL

445 LABEL

450 LABEL

490 LABEL

455 LABEL

456 LABEL

461 LABEL

495 LABEL

4618 LABEL

4611 LABEL

4612 LABEL

4971 LABEL

4613 LABEL

4614 LABEL

4615 LABEL

4616 LABEL

470 LABEL

46^.20 LABEL

46121 LABEL

46123 LABEL

475 LABEL

480 LABEL

491 LABEL

492 LABEL

493 LABEL

49201 LABEL

497 LABEL

4972 LABEL

SEARCH EXt FUNC

ERRORS: FORTRAN V LEVEL 1 R04-00

D-27
PAGE 1 08/04/^0

SUBROUTINE CRftM(RECORD)

THIS SUBROUTINE

BLANKS INTO ONE

COMPRESSES

BLANK

CONSECUTIVE

100

110

120

300

400

CRAM

.Q

.P RECORD

TPGINT

LPOINT

CHAR

100

300

400

ILBYTE

110

ISBYTE

120

INTEGER TPO INT, LPOINT, CHAR, RECORD (40)

TPOINT = -1

LPOINT = -1

LPOINT = LPOINT + 1 IFCLPOINT .EQ. 160)GO TO 308

TPOINT = TPOINT + 1 IFCTPOINT .EG. 100)GO TO 400

CALL ILBYTE (CHAR, RECORD, LPOINT)

CALL ISBYTE (CHAR, RECORD, TPOINT)

IF(CHAR .EQ. Y'0O000020')GO TO 120

GO TO 100

LPOINT = LPOINT + l IF(LPOIMT .EQ. 160)00 TO 300

CALL ILBYTE (CHAR, RECORD, LPOINT)

IF(CHAR .EQ. Y'00000020')GO TO 120

IF(TPOiNT .EQ. ieS)GO TO 110

TPOINT = TPOINT + 1 IF(TPGINT .EQ. 100)GO TO ^00

GO TO 110

TPOINT = TPOINT + 1 IF (TPOINT .EQ. 100) GO TO 400

CALL ISBYTE(Y'0020', RECORD, TPOINT)

GO TO 300

RETURN

END

FUNC/3UB

EXT FUNC

EXT FUNC

FORM PAR

INT4 VAR

INT4 VAR

INT4 VAR

LABEL

LABEL

LABEL

EXT FUNC

LABEL

EXT FUNC

LABEL

ERRORS: FORTRAN V LEVEL 1 R04-00

D-28
PAGE 1 08/04/80

SUBROUTINE SEARCH

C

C THIS SUBROUTINE SEARCHES FOR THE (FIRST)

C AUTHOR'S NAME OF EACH RECORD FOR A MATCH

C UITH AN AUTHOR'S NAME ENTERED BY THE USER.

C

C THE SUBROUTINE IS USEFUL IN FINDING THE

C RECORD NUMBER OF A RECORD

C

INTEGER AUTH0R(8),RECPTR,IPBLK 1(1), RECORD (93), I. CHECK

INTEGER PTRADJ

INTEGER>K2 ANSUER

100 URITE(6, 110, ERR = 100)

110 FORMAT(20H ENTER AUTHOR'S NAME)

READ(6, i20)AUTHOR

120 F0RMAT(8A4)

PTRADJ = -1

125 PTRADJ = PTRADJ + 1 CALL SYS 10 ( IPBLK 1 , Y' 4C' , 3. RECORD, 372, PTRADJ)

IFdPBLKKl) .NE. Y'4C030000' )G0 TO 160

DO 130 I = 1,8

IFcRECORDd) .NE. AUTHORCI))GO TO 125

130 CONTINUE

RECPTR = PTRADJ + 1 133 URITE(6,135,ERR = 133#RECPTR, (RECORD( I) , I = 1,8)

135 FORMATC RECORD NUMBER ',14/' AUTHOR: ',8A4)

136 URITE(6,138,ERR = 136) (RECORD( I) , I = 28,52)

138 FORMATC TITLE: ' , 12A4/' ',13A4)

139 URITE(6, 140,ERR = 139)

140 FORMATC '0',' SHALL I SEARCH FOR MORE UNDER THIS AUTHOR?':)

READ (6, 145) ANSUER

145 F0RMAT(A4)

IF (ANSUER .EQ. 'YES ')G0 TO 125

IF (ANSUER .EQ. 'NO ') RETURN

149 URITE(6,150,ERR = 149)

150 FORMATC ANSUER "YES" OR "NO"')

GO TO 139

160 CALL ILBYTE(CHECK,IPBLK1(1),2)

IF(CHECK .EQ. Y'88')G0 TO 170

GO TO 180

170 URITE(6,171,ERR = 170)

171 FORMATC 0',' END OF SEARCH')

RETURN

180 URITE(6,181,ERR = 180) IPBLK 1 ( 1)

181 FORMATC ERROR'/' IPBLK(l) = ',Z8)

RETURN

END

SEARCH FUNC/SUB

.Q EXT FUNC

.P EXT FUNC

AUTHOR INT4 VAR

RECPTR INT4 VAR

D-29
PPGE 2 03/04/80

IPBLKl INT4 VfiR

RECORD INT4 VAR

I INT4 VAR

CHECK INT4 VAR

PTRPDJ INT4 VAR

AN3LJER INT2 VAR

103 LABEL

110 LABEL

@H EXT FUNC

120 LABEL

125 LABEL

SYS 10 EXT FUNC

160 LABEL

130 LABEL

133 LABEL

135 LABEL

136 LABEL

133 LABEL

139 LABEL

140 LABEL

145 LABEL

149 LABEL

150 LABEL

ILBYTE EXT FUNC

170 LABEL

180 LABEL

171 LABEL

181 LABEL

ERRORS: FORTRAN V LEVEL 1 R04-00

D-30
PAGE 1 08/04/80

c

C TH

SUBROUTINE DISPLYCRECORD^DBCODE)

IS SUBROUTINE DISPLAYS A RECORD IN C A 14 LINE FORMAT FOR VIEWING FROM A

C TERMINAL

L INTEGER RECORD (93)

INTEGER>K2 DBCODE

, 100 URITE(6.110,ERR = 100) (RECORD( I) ,

I

= 1,24)

110 FORMATCO'/' 1 '.8A4/' 2 '.8A4/' 3 ',8A4)

120 URITE(6,130,ERR = 120) (RECORDC I ) ,

I

= 25,52)

130 FORMATC 4 ',3A4/' 5 ',13A4/' 6 ',12A4)

140 LJRITE(S,150,ERR = 140) (RECORDC I) , I = 53,65)

150 FORMATC 7 ',8A4/' 8 ',5h4)

160 LJRITE(6,170,ERR = 160) (RECORDC I) , I = 66,89)

170 FORMATC 9 ',4A4/' 10 ',4A4/' 11

' $ ' 13 ',4A4/' 14 '.4A4)

IF(DBCODE .EQ. 2)G0 TO 900

,4A4/' 12 ',4A4/

130 URITE(6,190,ERR = 180) (RECORD( I ) ,

I

= 90,93)

190 FORMATC 15 ',4A4)

900 RETURN

END

DISPLY FUNC/SUB

.Q EXT FUNC

.P EXT FUNC

RECORD FORM PAR

DBCGDE FORM PAR

100 LABEL

110 LABEL

@H EXT FUNC

I INT4 VAR

120 LABEL

130 LABEL

140 LABEL

150 LABEL

160 LABEL

170 LABEL

900 LABEL

130 LABEL

193 LABEL

ERRORS: FORTRAN V LEVEL 1 R04-00

D-31
PftGE I

SBATCH

SUBROUTINE KGSEX

C DESIGNED TO READ fi CBT PUBLICATIONS DATABASE

C AND EXTRACT RECORDS BASED ON PARAMETERS INPUT

C FROM USER COMMAND DEVICE INPUTS MAY BE AUTHOR.

C OR 1 TO 6 KEYUORDS, SEARCH IS BY FIELD OR STRING

C THIS PROGRAM IS OVERLAYED FROM PDBSUP

C URITTEN BY LARRY KAETZEL - CBT - 82/21/79

C >>>>>>>>>> LOGICAL UNIT ASSIGNMENTS <<<<<<<<<<

C LU6 = COMMAND I/O DEVICE

C LU3 = DATABASE FILE

C LU? = OPTIONAL PRINT FILE

C MODIFIED 06/29/80 - 14:29

C MODIFIED 06/30/80 - 12:51

C MODIFIED 07/01/80 - 08:50

C MODIFIED 07/10/88 - 16:56

C MODIFIED 07/31/80 - 15:00

C MODIFIED 08/01/80 - 10:26

C

C >>>>>>>>>> RECORD FORMAT <<<<<<«<<

C AUTHOR 1 - 32 CHAR - POSITION 1-8

C AUTHOR 2-32 CHAR - POSITION 9-16

C AUTHOR 3-32 CHhR - POSITION 17-24

C PUBL DATE - 12 CHAR - POSITION 25-27

C TITLE - 100 CHAR - POSITION 28-52

C PUBL NAME - 32 CHAR - POSITION 53-60

C REFEREMCE - 20 CHP.R - POSITION 61-65

C KEY LJDRD 1-16 CHAR - POSITION 66-69

C KEY UOaD 2-16 CHAR - POSITION 70-73

C KEY UORD 3-16 CHAR - POSITION 74-77

C KEY U0'?D 4-16 CHAR - POSITION 78-31

C KEY LJORD 5-16 CHAR - POSITION 82-85

C KEY LJORD 6-16 CHAR - POSITION 86-39

C DISCIPLINE - 16 CHAR - POSITION 90-93

C >>>>>>>>>>>>>>>>>>>>>>>>>>>>>»>>>>>>»

C

INTEGER IPBLK(5),REC0RDC93), INAUTHCS), INKEY(6,4),

- IDATE(3), ITIME(3),DBNAME(4),IKMAP(6),

- SKEY(25),0RGST(25)

INTEGER:+:2 JLU, INDEX2

DATA DE-NAME/' CAL:KGS

IPAGE=0

CALL DATE (I DATE)

CALL TIME(ITIME)

CALL 0PENL)(3,DBHAME, 0,0-0, I STAT)

IF (ISTAT.NE.0) GO TO 3010

C >>>>>>> GET INPUT CRITERIA <<<<<<<

103 LJRITE(6,9000,ERR=Sb00) IDATEi:2) , IDATE(3) , IDATEC 1)

- ITIME

URITE(6,9001,ERR=P000)

120 READ i:6.;:i002. ERR =3000) IPRT

IF ( IPRT. EQ. 'YES ') GO TO 148

»l

D-32

I
PAGE

IF (IPRT.EQ.'NO ') GO TO 200

URITE(6-9005,ERR=S000)

GO TO 120

140 CONTINUE

160 CALL 0PENU(7,'PR2: ' ,4,0.0, ISTAT)

IF (ISTAT.NE.0) GO TO 8005

200 DO 205 1=1,8

INAUTHCn='

205 CONTINUE

DO 215 1=1,6

DO 210 J=l,4

INKEY(I,J)='

210 CONTINUE

215 CONTINUE

DO 212 1=1,25

ORGST(I)='

212 CONTINUE

URITE(6,9007,ERR=S000)

220 READ(:6.9002,ERR=8000) IPAR

IF dPAR.EQ.'AUTH') GO TO 230

IF (IPAR. EG. 'KEY ') GO TO 250

URITE(6.9005,ERR=8000)

GO TO 200

C xoKxokXox* GET KEYUORD PARAMETERS >mok»«x**

250 LJRITE(6,9010,ERR=8030)

ISTYP='UNI ' DO 260 1=1,6

READ(6.9011,ERR=SO00) ( INKEYC I, J)

,

J=l ,4)

IF ( INKEYC I, 1) .EQ.Y'20202020') GO TO 265

260 CONTINUE

265 IF (INKEY(2,1).EQ.Y'20202020') GO TO 300

URITE(b,9035,ERR=8000)

270 READ(6,9036,ERR=8000) ISTYP

IF ( ISTYP. EQ. 'UNI '. OR. ISTYP .EQ. ' INT ') GO TO 300

URITE(6,9005,ERR=8000)

GO TO 270

C >»otc>K*>K>x>t< GET AUTHOR- PARAMETERS >K»«x>K>k>k>K 280 LJRITE(6,9008,ERR=8000)

READ(6.9009.ERR=8000) INAUTH

URITE(6,9031,ERR=8004)

285 READ(6,9002,ERR=8004) ISRC

IF (ISRC. EQ.'STRI'. OR. ISRC. EQ.'FIEL') GO TO 300

I.JRITE(6,9032,ERR=S004)

GO TO 285

C >>>>>>> START DATABASE SEARCH <<<<

300 IREC=0

IEXT=0

ICRT=1

IF (IFRT.EQ.'YES ') ILU=7

IF (IPRT.EQ.'NO ') ILU=6

313 IPAGE=IPAGE+1

IF (ILU.EQ.7) UR!TE(ILU,9028,ERR=8004) IDATE(2) , IDATE(3) , IDATE( 1)

D-33
PAGE

LJRITE(ILU,9029,ERR=8B04)

IF (INPibTHCn.NE.' , ')

URITE(ILU,9022,ERR=S004) INPlUTH, IPPlGE IF (INKEYCl, 1) .NE.' ') - URITECILU,9023,ERR=8004) (INKEYC 1, Jl ) , Jl=l,4)

- CINKEY(2,J2),J2--1,4), ( INKEY^Z, J3) . J3 = l,4) , IPAGE

IF (INKEYCl, n .NE.' ') - URITE(ILU-9024,ERR=8004) (INKEY(4, J4) , J4=l,4)

- CINKEY(5,J5)>J5 = 1,4), ( INKEYCS, J6) , J6 = l,4)

IF (INKEY(2, 1) .NE.Y'20202020') URITE ( ILU.9037) ISTYP

URITE(ILU-9029,ERR=8004)

IRNUM=0

340 CALL SYSIOC IPBLK,Y'4D', 3. RECORD, 372. IREC)

IF CIPBLKCl) .NE.Y'4D030000') GO TO 500

IREC=IREC+1

IOR=IREC

IF (RECORDCn .EQ.'DELE' . AND .REC0RD(25) .EQ.'DELE')

- GO TO 340

IF (INAUTHCn .EQ.'PILL ') GO TO 370

IF (IN.qUTH(l) .EQ.' ') GO TO 400

C >>>>>» fiUTHGR SEPRCH <<<«<<

IF dSRC.EQ.'FIEL') GO TO 350

DO 342 1=1,8

ORGSTCn=RECORD(I)

342 CONTINUE

CALL STSRCHCORGST, INAUTH, ISTAT)

IF (ISTAT.ED. 1) GO TO 370

IF CISTAT.EQ.-2) SO TO 520

11=9

DO 344 1=1,8

ORGSTCI)=RECORD(in

11=11+1

344 CONTINUE

CALL STSRCHCORGST, INAUTH, ISTAT)

IF (ISTAT. EQ. 1) GO TO 370

IF (ISTAT.EQ.-2) GO TO 520

11 = 17

DO 346 1=1,8

ORGST(I)=RECORD(in

11=11+1

346 CONTINUE

CALL STSRCHCORGST. INAUTH, ISTAT)

IF (ISiHT.EQ. 1) GO TO 370

IF (ISTAT.EQ.-2) GO TO 520

GO TO 340

350 DO 360 1=1,8

IF (INAUTH(I) .NE.RECORDCD) GO TO 340

360 CONTINUE

C >>>>>>> CRITERIA FOUND - IJRITE IT OUT <<««<

370 LJRITE(ILU,9014,ERR=8004) (RECORDC I) , I = 1.8) . lOR

URITE(ILU.S015,ERR=S304) (RECORDC I), 1=9,16)

URITE(ILU,9016,ERR=8004) CRECORDCI), 1=17,24)

D-34

I
PAGE

UR ITE C ILU, 9030, ERR=8004) (RECORD (K 1 ) , K 1 =90, 93)

URITECILU,9017,ERR=S004) (RECORD(I), 1=25.27)

LJRITE(ILU,9018,ERR=8004) (RECORD(I), 1=28,40)

URITECILU. 90181, ERR=S004) (RECORD(I), 1=41,52)

LJRITE(ILU,9019,ERR=3004) (RECORD(I), 1=53,60),

- CREC0RD(II),JI=bl,b5)

LJRITECILLl,9320,ERR=8004) CRECORDCKl ) ,K1 =66,69)

,

- CRECGRD(K2),K2=?0,73), (RECORD i;K3) , K3=74, 77)

URITECILU,9021,ERR=8004) (RECORD (K4) , K4=78,31)

,

- (REC0RD(K5),K5=S2,85), (RECGRD(K6) ,K6=S6,89)

LJRITE(ILU,9029,ERR=S004)

IF (ILU.EQ.7) GO TO 372

ICRT=ICRT+1

IF (ICRT.LT.3) GO TO 372

REflD(6,9034,ERR=S004) IIDUn

ICRT=1

372 IEXT=IEXT+1

IRNUM=IRNUM+1

IF (IRNUM.GT.3) GO TO 310

GO TO 340

C >>>>>>> KEY UORD SEARCH «<«<<

400 DO 405 1=1,6

IKMPlP(I)=0

405 CONTINUE

DO 410 1=1,25

ORGST( I) =Y' 20202020'

SKEY( I) =Y' 20202020'

410 CONTINUE

420 IKEY=1

430 DO 435 1=1,4

SKEY(I)=INKEY(IKEY, I)

435 CONTINUE

IKST=6b

IKSP=69

438 J=l

DO 440 I=IKST, IKSP

ORGST(J)=RECORD(I)

J=J+1

440 CONTINUE

CALL STSRCH(ORGST,SKEY, ISTPT)

IF (ISTfiT.EQ.l) IKmP(IKEY)=l

445 IKST=I'r<ST+4

ik:sp=iksp+4

if (record(ikst) .eo.y' 20202020') go to 450

if (iksp.gt.89) go to 450

GO TO 438

453 IKEY=IKEY+1

IF (IKEY.GT.6) GO TO 462

IF (INKEYdKEY, n .EQ.Y' 20202020') GO TO 462

GO TO 430

C ;+c>tcr4c>K*>i<>K SETUP KEYUORD TITLE SEARCH ******

462 J J =23

D-35
PAGE

DO 463 KK=1,25

SKEV(KK)='

ORGST(KK)=RECORD(JJ)

JJ=JJ+1

463 CONTINUE

J = l 465 DO 470 1=1,4

IF (J.GT.6) GO TO 480

IF (INKEYCJ, n.EQ.Y'20202020'.AND.ISTYP.EQ.'UNI ')

GO TO 475

IF (INKEY(J,1).EQ.Y'20202020'.AND.ISTYP.EQ.'INT ') - GO TO 480

SKEY(n=INKEY(J,n'

470 CONTINUE

CfiLL STSRCH(ORGST,SKEY, ISTPiT) IF (ISTAT.EQ. LAND. ISTYP.EQ. 'INT ') IKMAP(J)=1

IF (ISTAT.EQ. l.AHD.ISTYP.EQ.'UNI ') GO TO 370

IF (ISTAT.EQ.-2) GO TO 520

J=J+1

GO TO 465

C >K>K5K>KX«x* CHECK HIT- "OR" CONDITION *******

475 DO 478 1=1,6

IF (IKMf-iPCn.EO.l) GO TO 370

473 CONTINUE

GO TO 340

C >k**>K*>i;>fc CHECK HIT - "AND" CONDITION *******

480 IKCNT=0

IHIT=0

DO 495 1=1,6

IF (INKEYk I, D.NE.Y' 20202023') IKCNT=:KCNT+1

495 CONTINUE

IF CIKCNT.EQ.0) GO TO 340

DO 498 1=1,6

IF (IKf-WPCI) .NE.0) IHIT=IHIT+1

498 CONTINUE

IF (IHIT.EQ. IKCNT) GO TO 370

GO TO 340

500 IF (IPBLKCl) .NE.Y'4DO33SS0') GO TO 8015

JLU = 5

50000 JLU = JLU + 1 IF(JLU .EQ. 8)G0 TO 50008

IFCISRC .EQ. 'STRDGO TO 50001

GO TO 56302

50^301 UR I TEC JLU. 90261, ERR = 8050)

90261 FORmTrSEMD OF STRING SEARCH ON')

GO TO 50P03

50002 IJR I TEC JLU, 30262, ERR = 8060)

90262 FORMATC'OEHD OF FIELD SEARCH ON')

50C03 IFCIPAR .EQ. 'hUTH')GO TO 50304

GO TO 53005

50004 URITECJLU, 93263. ERR = 3030) INAUTH

90263 FCRmTC AUTHOR ',3A4)

D-36
PAGE

$

$

59005

c 98264

< 58007

98265

50008

505

510

520

C

600

610

C

C

8000

C8804

S005

C

8010

C

8015

C

9300

9301

9002

9803

9004

9095

9007

9038

9009

9010

9011

9012

GO TO 50007

URITECJLU, 90264, ERR = 3000) ( ( INKEY( I, INDEX2)

.INDEX2 = 1,4), I = 1,6)

FORMATC ' KEYUORDS : ' /4X, 4Pl4, 3X, 4A4, 3X, 4Pl4/

4X, 4A4, 3X, 4Pl4, 3X, 4A4)

URITECJLU. 90265, ERR = 50307) lEXT

FORMAT ('0', 14, ' RECORDS LJERE EXTRACTED')

IFCIPRT .EQ. 'YES ')G0 TO 50000

IEXT=0

LJR ITE (6, 9025, ERR=S000)

READ(6,9002,ERR=S600) lOPT

IF CIOPT.EQ.'YES ') GO TO 230

IF (lOPT.EQ.'NO ') GO TO bC0

LJRITE(b,9005,ERR=S000)

GO TO 510

LJR ITE (6,9033, ERR =--8004)

GO TO 505 >>>>>>> TERniNATE PROCESS <<<<<<< CONTINUE

CALL CLOSE (7, ISTAT)

CALL CLOSE (3, ISTAT)

RETURN

>>>>>>> error reporting <<<<<<<

>>>>>>> comhand device error <<<<<<< URITE(b,9003,ERR=bl0)

GO TO 610 >>>>>>> PRINT FILE ERROR <«<<<<

ISTAT=-2

ISTAT

ERROR

ISTAT

OPEN/FORMAT <<«<<<

READ ERROR <<<<<<<

IREC, IPBLK(l)

URITE(6,9004,ERR=8000)

GO TO 610 >>>>>>> DATABASE FILE

LJRITEC6,9012,ERR=8000)

GO TO 610 >>>>>>> DATABASE FILE

LJRITECb,9013,ERR=3000)

GO TO 610

>>>>>» I/O FORMATTING <<<<<<< FORMATCIHI/IX, 'KGS PUBLICATIONS DATABASE' /IX,

- 'RECORD EXTRACT MODE ' ,5X, 12, '/' , 12, '/' , 12, - 3X, 12,' :', 12,' :', I2/1X)

FORMATC IX, 'OPTIONAL PRINTER OUTPUT? (YES OR NO)')

F0RMAT(A4)

FORMAT( IX, 'COMMAND DEVICE ERROR')

FORMAT( IX, 'ERROR ON PRINT FILE STATUS=',I3)

FORMAT ( IX, ' ILLEGAL COMMAND. . .RE-ENTER'

)

FORMATt IX, 'ENTER EXTRACT CRITERIA (AUTHOR OR KEY UORD)')

FORMATC IX, 'ENTER AUTHOR NAME (LAST, FI MI)')

FORMAT I 3 A4)

FORMATCbX, 'ENTER KEY LJORD/S'/IX,

- 'MAX 5 - 1 PER LINE - UP TO 16 CHAR EACH - FORMAT (4A4)

FORMAT (IX, 'DATABASE FILE ERROR STATUS=',I3)

'CR" TO STOP'/)

D-37
PAGE

9013 FORMflT(lX,'DflTABfiSE READ ERROR AT REC ',I4,2X,

- 'STATUS=',Z8)

9014 FORMATC IX. 'AUTHOR: ' .Z A,

- 10X. 'RECORD NO. ',14)

9015 F0RMAT(1X-'AUTH0R(2): ',SA4)

9016 FORMATCX, 'AUTH0R(3) : ',8A4)

9017 FORMATCIX. 'PUBLICATION DATE: '.3A4)

901S FCRmTClX, 'TITLE: '.13A4)

901S1 F0RMAT(22X. 12A4)

9619 FORMATC IX. 'PUBLICATION NAME: '.8A4,2X,

- 'REFERENCE: '.5A4)

9020 FORMAT'; IX.'- - KEY UORDS - - ',3(4A4.4X))

9021 FORMAT ( 20X3 (4A4.4X))

9022 FORMATC IX, 'AUTHOR EXTRACTED UAS: ', IX. - SA4, IX. 'PAGE '. 14)

9023 FORMATMX.'KEY UCPD/S SELECTED UERE: '. - 3C4A4.2X).5X. 'PAGE '.14)

9024 FORMAT (28X. 3 i;4A4.2X))

9025 FGRMATU'IX. 'CONTINUE?')

9028 FORMATC1H1/20X. 'K GS PUBLICATION S'. IX,

-'DATABASE RETRIEVA L' ,8X. 12. '/' , 12, '/'

9023 FORMATUX, ' '.IX. _' ',1X. -' ') ^ 9030 FORMATCIX.'FILE CODE: '.4A4)

9031 FORMAT (IX- 'ENTER TYPE OF SEARCH. .FIELD' , IX.

- 'OR STRING')

9032 FORMAT C IX. ' ILLEGAL SEARCH TYPE. .RE-ENTER'

9033 FORMATCIX,' ILLEGAL CHARACTERS IN STRING SEARCH')

9034 FCRMAT(Al)

9035 FORMATi IX- 'ENTER "UNION" (OR) OR "INTERSECTION" (AND)',

- IX. 'FOR SEARCH TYPE')

9036 F0RMAT(H3)

9037 FORMATCIX. 'SEARCH CRITERIA USED: '

- A4)

END

KGSEX FUNC/SUB

.Q EXT FUNC

.P EXT FUNC

IPBLK INT4 VAR

RECORD INT4 VAR

INAUTH INT4 VAR

IMKEY INT4 VAR

I DATE INT4 VAR

I TIME INT4 VAR

DBN-^'^ME INT4 VAR

IKMhP INT4 VAR

SKEY INT4 VhR

ORGST INT4 VAR

JLU INT2 VAR

INDEX2 INT2 VAR

I PAGE INT4 VAR

DATE EXT FUNC

12)

D-38
PAGE

TIME

OPENU I STAT

8810

100

9000

8000

@H

9001

120

9002

IPRT

148

288

9005

160

8005

285 I215

210 J

212

9907

228 I PAR

280

258

9010

IS7YP

250

9011

265

380

9035

270

9036

9008

9009

9031

8004

285

ISRC

9032

IREC I EXT

ICRT

lUJ

310

9028

9029

9022

EXT FUNC

EXT FUNC

INT4 VAR

LABEL

LABEL

LABEL

LABEL

EXT FUNC

LABEL

LABEL

LABEL

INT4 VAR

LABEL

LABEL

LABEL

LABEL

LABEL

LABEL

INT4 VAR

LABEL

LABEL

INT4 VAR

LABEL

LABEL

LABEL

INT4 VAR

LABEL

LABEL

LABEL

INT4 VAR

LABEL

LABEL

LABEL

LABEL

LABEL

LABEL

LABEL

LABEL

LABEL

LABEL

LABEL

LABEL

INT4 VAR

LABEL

INT4 VAR

INT4 VAR

INT4 VAR

INT4 VAR

LABEL

LABEL

LABEL

LABEL

D-39
PAGE

9023 LABEL

Jl INT4 VfiR

J2 INT4 VAR

J3 INT4 VAR

9024 LABEL

J4 INT4 VAR

J5 INT4 VAR

J6 INT4 VAR

9037 LABEL

IRMUM INT4 VAR

340 LABEL

SYS 10 EXT FUNC

503 LABEL I OR INT4 VAR

370 LABEL

400 LABEL

350 LABEL

342 LABEL

STSRCH EXT FUNC

520 LABEL

II INT4 VAR

344 LABEL

346 LABEL

360 LABEL

9014 LABEL

9015 LABEL

9016 LABEL

9030 LABEL

Kl INT4 VAR

9017 LABEL

9013 LABEL

90181 LABEL

9019 LABEL

9020 LABEL

K2 INT4 VAR

K3 INT4 VAR

9021 LABEL

K4 INT4 VAR

K5 INT4 VAR

K6 INT4 VAR

372 LABEL

9034 LABEL

IIIUM INT4 VAR

403 LABEL

410 LABEL

420 LABEL I KEY TNT4 VAR

430 LABEL

435 LABEL

IKST INT4 VAR

IKSP IHT4 VAR

438 LABEL

D-40
PAGE 10

440 LABEL

445 LABEL

450 LABEL

462 LABEL

JJ INT4 VAR

463 LABEL

KK INT4 VAR

465 LABEL

470 LABEL

480 LABEL

475 LABEL

478 LABEL

IKCNT INT4 VAR

IHIT INT4 VAR

495 LABEL

498 LABEL

8015 LABEL

50000 LABEL

50368 LABEL

50001 LABEL

50002 LABEL

90261 LABEL

50003 LABEL

90262 LABEL

50004 LABEL

50005 LABEL

90263 LABEL

50007 LABEL

90264 LABEL

90265 LABEL

505 LABEL

9025 LABEL

510 LABEL

lOPT INT4 VAR

600 LABEL

9033 LABEL

610 LABEL

CLOSE EXT FUNC

9003 LABEL

9004 LABEL

9012 LABEL

9013 LABEL

ERRORS: FORTRAN V LEVEL 1 R04-00

D-41
PAGE

SUBROUTINE STSRCHCORGST, INST, ISTflT)

C FROGRPiM DESIGNED TO SEARCH AN ASCII

C FIELD AGAINST AN INPUT FIELD TO

C DETERMINE A MATCH CONDITION.

C URITTEN BY L. KAETZEL - CBT - 02/23/79

C >>>>>>> ARGUMENT DEFINITIONS <<<<«<«

C ORGST = ORGINAL STRING MAX 100 CHARACTERS

C INST = INPUT STRING MAX 100 CHARACTERS

C STAT = DISPOSITION OF PROCESSING , C 0=NO MATCH

C 1 =MATCH

C -2=N0N ASCII CHARACTERS IN STRING

INTEGER 0RGST(25), IN3T(25)

INTEGER OSTOR, ISTCR,OSCT,TCCT,BLNK

C >>>>>>> FIND NO. OF CHAR FOR SEARCH <<<<<«

NCHAR=-1

ITMP = 'llir

DO 30 1=1.25

DO 20 J=l,4

ISC0N=32-(8>«J)

ICHAR=ISHFT( INSTC I )

, -ISCON)

ISTOR='

CALL ISBYTECICHAR. ISTOR,0)

IF dSTOR.EQ.' ' .AND. ITMP.EQ.' ') - GO TO 40

NCHAR=NCHftR+l

ITMP=ISTOR

20 CONTINUE

30 CONTINUE

C >>>>>>> VALIDATE ASCII STRINGS <<<<<<<

40 ICOUNT=0

NDIF=(NCHAR/4)+l

DO 100 1=1,25

DO 50 J=1.4

ISC0N=32-(8>KJ)

ICHAR-I£HFT(0RGST(I),-ISC0N)

IST0R='

CALL ISBYTECICHAR, ISTOR.0)

IF (ISTOR.LT.Y'25202020'.OR.

- ISTOR.GT.Y'5A202e20') GO TO 609

ICHAR=ISHFT( INSTC I) , -ISCON)

ISTOR='

CALL ISBYTEdCHAP. ISTOR,0)

IF dSTCR.LT.Y' 25202020'. OR.

- ISTOR.GT.Y'5A202^^2Q') GO TO 600

IC0UNT=IC0UNT+1

IF (ICOUNT.EQ.NCHAR) GO TO 150

MASK IT <<<<<<<

50 CONTINUE

100 CONTINUE

C >>>>>>>

150 0SCT=1

ISCT=1

D-42
PAGE

TCCT=1

11 = 1

1 = 1 ISTMP='qAAA'

290 ISC0N=32-(8*n

IOCHAR=ISHFT(ORGST(OSCT),-ISCON)

IOSTOR='

CALL ISBYTE(IOCHAR,IOSTOR,0)

ISC0N=32-(8>xII)

IF dOSTOR.EQ.' '.AND.ISirF.EQ.'

ISTMP=IOSTOR

I ICHftR=ISHFT( INST( ISCT) ,-ISCON)

IISTOR='

CALL ISBYTEdlCHAR.IISTOR.O)

IF (lOSTOR.NE.IISTOR) GO TO 389

C >>>>>>> CHARACTER MATCH <<<<<<< TCCT=TCCT+1

IF (TCCT.GT.NCHAR) GO TO 500

11=11+1

215 1 = 1 + 1 IF (II.LE.4.AND.I.LE.4) GO TO 200

IF (II.LE.4) GO TO 250

11 = 1 ISCT=ISCT+1

IF (ISCT.LE.25) GO TO 250

ISTfiT=l

RETURN

250 IF (I.LE.4) GO TO- 200

1 = 1 0SCT=0SCT+1

IF (OSCT. LE. 25) GO TO 200

275 ISTAT=0

RETURN

C »»»> CHARACTER NO-MATCH <«««

300 ISCT=1

11 = 1 TCCT=1

GO TO 215

509 ISTAT=1

RETURN

600 ISTAT=-2

. RETURN

\ END

STSRCH FUNC/SUB

.Q EXT FUNC

.P EXT FUNC

ORGST FORM PAR

INST FORM PAR

ISTAT FORM PAR

OSTOR INT4 VAR

1 ISTOR INT4 VAR

OSCT INT4 VAR

') GO TO 275

D-43
PAGE

TCCT

BLMK

NCHAR

ITMP

33

I20

JISCON

ICHfiR

ISHFT

ISBYTE

48

I COUNT

NDIF

100

50

600

159

ISCT

IIISTMP

200

lOCHAR

lOSTOR

275

IICHAR

IISTOR

300

500

215

250

INT4 VPIR INT4 VAR

INT4 VAR

INT4 VAR

LABEL

INT4 VAR

LABEL

INT4 VAR

INT4 VAR

INT4 VAR

EXT FUNC

EXT FUNC

LABEL

INT4 VAR

INT4 VAR

LABEL

LABEL

LABEL

LABEL

INT4 VAR

INT4 VAR

INT4 VAR

LABEL

INT4 VAR

INT4 VAR

LABEL

INT4 VAR

INT4 VAR

LABEL

LABEL

LABEL

LABEL

ERRORS: FORTRAN V LEVEL 1 R04-00

D-44
APPENDIX E: KGS EXTERNAL SUBROUTINES

Subroutine

SYS 10

CFILW

DFILW

OPENW

CLOSE

IFETCH

DATE

TIME

ISHFT

ILBYTE

ISBYTE

Function

Performs Input /output

Create mass storage files

Deletes mass storage files

Opens mass storage files or devices

Closes mass storage files or devices

Gets program overlay from disk

Gets system date

Gets system time

Shifts memory location left or right a specified number of bits

Loads a specified byte

Stores a specified byte

E-1
I
APPENDIX F: KGS ERROR DIAGNOSTICS

Data Base File Error, Status=YYYY

Error Opening Overlay For Mode XXXX, Status=YYYY

Error Fetching Overlay For Mode XXXX, Status=YYYY

Where XXXX= KGS run mode

YYYY= Return status from program library subroutine

Status Value Meaning

1 Illegal function, illegal file type

2 LU error, illegal logical unit

3 Volume error, no such volume

4 Name error, no such file name

5 Size error, no room on disk

6 Protect error, mismatch on protect keys

7 Privilege error

8 Buffer error, no room for file control block

9 Assignment error, logical unit already assigned

11 File descriptor syntax error

112-225 File input or output error

F-1
FEDERAL INFORMATION PROCESSING STANDARD SOFTWARE SUMMARY

01. Summary date

Yr. Mo. Day 111 2 6

04. Software date

Yr. V oMo. 1 Day Iill2l6

02. Summary prepared by (Name and Phone) Lavrence Kaetzel 921-3229

05. Software title

KGS Data Base System

06. Short title KGS

03. Summary action New Replacement Deletior B D D

Previous Internal Software ID

07. internal Software ID EHB . 08. Software type

Automated Data Q System

|X] Computer Program

I I Subroutine/Module

09. Processing mode

pC] Interactive Q Batch

r~] Combination

10. General

Application area

Specific Computer Systems Q Support/Utility

I I Scientific/Engineering O Bibliograp>hic/Textual

Management/

Business

Process Control Other Scientific lab or office

11. Submitting organization and address .National Bureau of Standards

National Engineering Laboratory

Center for Building Technology

Bldg. 226, Room B 266

WashiTigtoTi., T).r.. PnP3li

12. Technical contact(s) and phone

Lavrence Kaetzel

Robert Glass

13. Narrative The KGS data base system allows the indexing and retrieval of scientific

papers through the use of a minicomputer system in an interactive mode.

Criteria are entered through the user's terminal which produces subsets

of the data base in a report format as well as statistical summaries of

data base elements.

14. Keywords

data base, information retrieval, interactive processing

15. Computer manufr and model Perkin-Elmer 7/32

16. Computer operating system 0S32MTi+.317. Programing language(s) FORTRAN

18. Number of source program state- ments 1,359

19. Computer memory requirements

2,375 thousand b^'tes

20. Tape drives 21. Disk/Drum units

z

22. Terminals

-20-

23. Other operational requirements

24. Software availability

Available Limited

I 25. Documentation availability

I In-house only i Available Inadequate D D

In-house only D

26. FOR SUBMITTING ORGANIZATION USE

185-101 Standard Form 185

1974 July

U.S. Dept. of Commerce—NBS,

(FIPS. Pub. 30)
S-114A (REV. 2-8C)

U.S. DEPT. OF COMM. 4 BIBLIOGRAPHIC DATA

SHEET (See instructions)

1. PUBLICATION OR

REPORT NO. NBS TN 1123

2. Performing Organ. Report No 3. Publication Date October 1980

TITLE AND SUBTITLE

A Computer Data Base System for Indexing Research Papers

I. AUTHOR(S) Lawrence J. Kaetzel, Robert A. Glass and George R. Smith

PERFORMING ORGANIZATION (If joint or other than NBS. see instructions)

NATIONAL BUREAU OF STANDARDS

DEPARTMENT OF COMMERCE

WASHINGTON, D.C. 20234

7. Contract/Grant No.

8. Type of Report & Period Covered Final

9. SPONSORING ORGANIZATION NAME AND COMPLETE ADDRESS (Street. City. State. ZIP)

Same as above.

10. SUPPLEMENTARY NOTES

I ^1 Document describes a computer program; SF-185, FlPS Software Summary, is attached.

LI. ABSTRACT (A 200'word or less (actual summory of most significant information. If document includes a significant

bibliography or literature survey, mention it here) The KGS data base system allows the indexing and retrieval of scientific

research papers through the use of a minicomputer system in an interactive

mode. Criteria are entered through the user's computer terminal which produces

subsets of the data base in a report format as well as statistical summaries

of data base elements.

112. KEY WORDS (Six to twelve entries; alphabetical order; capitalize only proper names; and separate key words by semicolons)

Data base; Information retrieval; interactive processing.

13. AVAILABILITY

[^ Unlimited

I I For Official Distribution. Do Not Release to NTIS p^ Order From'^uperintendent of Documents, U.S. Government Printing Office, Washington, D.C.

20402.

Order From National Technical Information Service (NTIS), Springfield, VA. 22161

14. NO. OF

PRINTED PAGES

90

15. Price

$4.25

A U. S. GOVERNMENT PRINTING OFFICE : 1980 311-046/254 USCOMM-DC 6043-P80

NBS TECHNICAL PUBLICATIONS

PERIODICALS

JOURNAL OF RESEARCH—The Journal of Research of the National Bureau of Standards reports NBS research and develop- ment in those disciplines of the physical and engineering sciences in which the Bureau is active. These include physics, chemistry,

engineering, mathematics, and computer sciences. Papers cover a broad range of subjects, with major emphasis on measurement

methodology and the basic technology underlying standardization. Also included from time to time are survey articles on topics

closely related to the Bureau's technical and scientific programs. As a special service to subscribers each issue contains complete

citations to all recent Bureau publications in both NBS and non- NBS media. Issued six times a year. Annual subscription: domestic

$13; foreign $16.25. Single copy, %} domestic; $3.75 foreign. NOTE; The Journal was formerly published in two sections: Section A "Physics and Chemistry" and Section B "Mathematical

Sciences." DIMENSIONS/NBS—This monthly magazine is published to in- form scientists, engineers, business and industry leaders, teachers, students, and consumers of the latest advances in science and

technology, with primary emphasis on work at NBS. The magazine

highlights and reviews such issues as energy research, fire protection, building technology, metric conversion, pollution abatement,

health and safety, and consumer product performance. In addition, it reports the results of Bureau programs in measurement

standards and techniques, properties of matter and materials, engineering standards and services, instrumentation, and

automatic data processing. Annual subscription; domestic $11; foreign $13.75. NONPERIODICALS

Monographs—Major contributions to the technical literature on

various subjects related to the Bureau's scientific and technical activities. Handbooks—Recommended codes of engineering and industrial practice (including safety codes) developed in cooperation with in- terested industries, professional organizations, and regulatory

bodies. Special Publications—Include proceedings of conferences sponsored by NBS, NBS annual reports, and iather special publications

appropriate to this grouping such as wall charts, pocket cards, and

bibliographies.

Applied Mathematics Series—Mathematical tables, manuals, and

studies of special interest to physicists, engineers, chemists,

biologists, mathematicians, computer programmers, and others engaged in scientific and technical work.

National Standard Reference Data Series—Provides quantitative data on the physical and chemical properties of materials, compiled from the world's literature and critically evaluated. Developed under a worldwide program coordinated by NBS under

the authority of the National Standard Data Act (Public Law

90-396).

NOTE: The principal publication outlet for the foregoing data is the Journal of Physical and Chemical Reference Data (JPCRD)

published quarterly for NBS by the American Chemical Society

(ACS) and the American Institute of Physics (AIP). Subscriptions,

reprints, and supplements available from ACS, 1 155 Sixteenth St., NW, Washington, DC 20056.

Building Science Series—Disseminates technical information developed at the Bureau on building materials, components,

systems, and whole structures. The series presents research results,

test methods, and performance criteria related to the structural and

environmental functions and the durability and safely characteristics of building elements and systems.

Technical Notes—Studies or reports which are complete in themselves but restrictive in their treatment of a subject. Analogous to monographs but not so comprehensive in scope or definitive in treatment of the subject area. Often serve as a vehicle for final reports of work performed at NBS under the sponsorship of other government agencies.

Voluntary Product Standards—Developed under procedures

published by the Department of Commerce in Part 10, Title 15, of

the Code of Federal Regulations. The standards establish nationally recognized requirements for products, and provide all concerned interests with a basis for common understanding of the

characteristics of the products. NBS administers this program as a supplement to the activities of the private sector standardizing

organizations. Consumer Information Series—Practical information, based on NBS research and experience, covering areas of interest to the con- sumer. Easily understandable language and illustrations provide

useful background knowledge for shopping in today's technological marketplace. Order the above NBS publications from: Superintendent of Documents, Government Printing Office, Washington, DC 20402. Order the following NBS publications—FIPS and NBSIR's—from

the National Technical Information Services, Springfield, VA 22161

.

Federal Information Processing Standards Publications (FIPS

PUB)—Publications in this series collectively constitute the Federal Information Processing Standards Register. The Register

serves as the official source of information in the Federal Govern- ment regarding standards issued by NBS pursuant to the Federal Property and Administrative Services Act of 1949 as amended.

Public Law 89-306 (79 Stat. 1127), and as implemented by Executive Order 11717(38 FR 12315, dated May 11, 1973) and Part 6 of Title 15 CFR (Code of Federal Regulations).

NBS Interagency Reports (NBSIR)—A special series of interim or

final reports on work performed by NBS for outside sponsors

(both government and non-government). In general, initial dis- tribution is handled by the sponsor: public distribution is by the National Technical Information Services, Springfield, VA 22161,

in paper copy or microfiche form.

BIBLIOGRAPHIC SUBSCRIPTION SERVICES

The following current-awareness and literature-survey bibliographies are issued periodically by the Bureau:

Cryogenic Data Center Current Awareness Service. A literature sur- vey issued biweekly. Annual subscription; domestic $35; foreign

$45. Liquefied Natural Gas. A literature survey issued quarterly. Annual

subscription; $30.

Superconducting Devices and Materials. A literature survey issued quarterly. Annual subscription: $45. Please send subscription or- ders and remittances for the preceding bibliographic services to the National Bureau of Standards, Cryogenic Data Center (736) Boulder, CO 80303.
U.S. DEPARTMENT OF COMMERCE

IMational Bureau of Standards

Washington, DC 20234

OFFICIAL BUSINESS

Penalty for Private Use, $300

POSTAGE AND FEES PAID

U.S. DEPARTMENT OF COMMERCE COM-21 5

SPECIAL FOURTH-CLASS RATE

BOOK

1298

M