program documentation for june1966the ibm 7090/94 sdi program will be made available on request to...

448
NASA CR-62021 PROGRAM DOCUMENTATION FOR A SELECTIVE DISSEMINATION SYSTEM FOR NASA SCIENTIFIC AND TECHNICAL INFORMATION JUNE1966 Distribution of this report is provided in the interest of information exchange. Responsibility for the contents resides in the author and organization that prepared it. Prepared under Contract NASw-695 by International Business Machines Corp., Yorktown Heights, New York for the National Aeronautics and Space Administration j..°.- J /" 1 https://ntrs.nasa.gov/search.jsp?R=19670001913 2020-02-24T13:14:11+00:00Z

Upload: others

Post on 16-Feb-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

NASA CR-62021

PROGRAM DOCUMENTATION FOR

A SELECTIVE DISSEMINATION SYSTEM FOR

NASA SCIENTIFIC AND TECHNICAL INFORMATION

JUNE1966

Distribution of this report is provided in the interest of

information exchange. Responsibility for the contents

resides in the author and organization that prepared it.

Prepared under Contract NASw-695 by International

Business Machines Corp., Yorktown Heights, New York

for the National Aeronautics and Space Administration

j..°.-

J/"

1

https://ntrs.nasa.gov/search.jsp?R=19670001913 2020-02-24T13:14:11+00:00Z

Page 2: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

APSTRACT

Record formats, operating instructions, and flow charts are presented for

a selective dissemination of information (SDI) program requiring an IBM

7090/94 computer with 32K storage, two IBM 7607 data channels, and at

least eight IBM 729 tape drives. Three component programs are documented:

(1) vocabulary control (VOCON), which updates the dictionary and user

interest profiles and edits document indexes and user profiles against the

dictionary; (2) profile matching (MATCH), which compares document indexes

with user profiles and generates announcements when match criteria are met;

and (3) user response posting (POST). The programs run under modified

versions of the Fortran II Monitor System and in general are written in FAP.

Development of the SDI program and its test operations are described in

NASA CR-62020 and NASA TM X-57001.

6 ,2 /

For sale by the Clearinghouse for Federal Scientific and Technical Information

Springfield, Virginia 22151 - Price $3.75

Page 3: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

/

NASA PRE FAC E

Distribution of selected information to specific individuals is becoming

of increasing importance as scientific and engineering staffs grow in number

and as the volume of the literature makes it increasingly difficult and time

consuming to keep abreast of current advances. In 1963, NASA contracted

with the International Business Machines Corporation Advanced Systems

Development Division for the design, programming, and test operation of a

large scale developmental selective dissemination of information (SDI) system.

This contractual program terminated in December 1964. The program phases

undertaken during this period were preliminary operations in a continuing NASA

developmental SDI effort.

This report presents record formats, operating instructions, and flow

charts for the particular SDI system operated for NASA during the contractual

development of the program. As documented in this report, the operation

requires an IBM 7090 or 7094 computer with 32K core storage, two 7607 data

channels, and eight IBM 729 tape units. The programs run under modified

versions of the Fortran H Monitor System and in general are written in FAP.

An associated report, NASA CR-62020, Implementation, Test and

Evaluation of a Selective Dissemination of Information System for NASA Scientific

and Technical Information, issued June 1966, gives details of the program

operation up to December 1964. It describes the preparation of user interest

profiles, and illustrates the abstract cards and response cards received by

system participants. It also includes statistics on system performance, and

presents the results of a questionnaire concerning user opinions and comments.

These reports should be read in conjunction with a NASA report, NASA

TM-X-57001, NASA Selective Dissemination of Information Program (IBM 7090/94

System), issued June 1966. The latter presents operating experience with the

program after completion of the preliminary phases and transfer of the program to

operation by the NASA Scientific and Technical Information Facility. It also

describes program modification and discusses the availability of the 7090/94 com-

puter program.

Operation of the particular SDI program described in these three reports

was discontinued by NASA in February 1966. Its termination was the result of

continuing evaluation and evolution in all areas of the NASA SDI program. Th9

7090/94 program was replaced by an IBM 1410 system. Th9 change recogldzed

continuing advances in dissemination techniques and computer technology. A

bibliographic search program written for an IBM 1410 with 40K memory and

process overlap and priority features was modified for SDI operations and was

Page 4: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

demonstrated to work effectively. An IBM Systems/360 Model 40 computer

scheduled for installation by the NASA Scientific and Technical Information

Facility during the summer of 1966 will include emulator hardware for 1410

operation during transition of SDI operations to the new computer system.

In addition to conversion of computer operations to a different computer,

the form of a_,mouncement was changed early in 1966. Users of the NASA SDI

service now receive a computer-printed listing of citations rather than the

abstract cards. The current NASA SDI program thus differs substantially fromthat described in this report and in NASA TM-X-57001 and NASA CR-62020.

These reports are published as a record of a unique SDI system and a stage

in the development of selective dissemination of information systems.

The IBM 7090/94 SDI program will be made available on request to

organizations interested in studying this SDI system. The source program,

documentation, and associated off-line IBM 1401 and 1410 programs described

in report NASA TM-X-57001 can be supplied by special arrangement with NASA.

Program maintenance would be the responsibility of the organization receiving

it and no guarantee concerning its operation can be made.

Further information concerning the NASA SDI programs may be obtainedfrom:

Scientific and Technical Information Division

Code USD

National Aeronautics and Space Administration

Washington, D.C. 20546

iv

Page 5: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

NASA CR-62021

PROGRAM DOCUMENTATION FOR

A SELECTIVE DISSEMINATION SYSTEM FOR

NASA SCIENTIFIC AND TECHNICAL INFORMATION

JUNE 1966

: 9,

Distribution of this report is provided in the interest of

information exchange. Responsibility for the contents

resides in the author and organization that prepared it.

N67 11242(ACCESSION NUMEIE }

GPO PRICE $ } ,.AG ,

CFSTI PRICE(S) $ _ "(.As^ :R oRT.=-o_o NUMs=.,

Hard copy (HC)

Microfiche (iF)_ _,,.L_ _''

ff 653 July 85

Prepared under Contract NASw-695 by International

Business Machines Corp., Yorktown Heights, New York

for the National Aeronautics and Space Administration

Page 6: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

APSTRACT

Record formats, operating instructions, and flow charts are presented for

a selective dissemination of information (SDI) program requiring an IBM

7090/94 computer with 32K storage, two IBM 7607 data channels, and at

least eight IBM 729 tape drives. Three component programs are documented:

(1) vocabulary control (VOCON), which updates the dictionary and user

interest profiles and edits document indexes and user profiles against the

dictionary; (2) profile matching (MATCH), which compares document indexes

with user profiles and generates announcements when match criteria are met;

and (3) user response posting (POST). The programs run under modified

versions of the Fortran I I Monitor System and in general are written in FAP.

Development of the SDI program and its test operations are described inNASA CR-62020 and NASA TM X-57001.

For sale by the Clearinghouse for Federal Scientific and Technical Information

Springfield, Virginia 22151 - Price $3.75

Page 7: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

NASA PREFACE

Distribution of selected information to specific individuals is becoming

of increasing importance as scientific and engineering staffs grow in number

and as the volume of the literature makes it increasingly difficult and time

consuming to keep abreast of current advances. In 1963, NASA contracted

with the International Business Machines Corporation Advanced Systems

Development Division for the design, programming, and test operation of a

large scale developmental selective dissemination of information (SDI) system.

This contractual program terminated in December 1964. The program phases

undertaken during this period were preliminary operations in a continuing NASA

developmental SDI effort.

This report presents record formats, operating instructions, and flow

charts for the particular SDI system operated for NASA during the contractual

development of the program. As documented in this report, the operation

requires an IBM 7090 or 7094 computer with 32K core storage, two 7607 data

channels, and eight IBM 729 tape units. The programs run under modified

versions of the Fortran H Monitor System and in general are written in FAP.

An associated report, NASA CR-62020, Implementation, Test and

Evaluation of a Selective Dissemination of Information System for NASA Scientific

and Technical Information, issued June 1966, gives details of the program

operation up to December 1964. It describes the preparation of user interest

profiles, and illustrates the abstract cards and response cards received by

system participants. It also includes statistics on system performance, and

presents the results of a questionnaire concerning user opinions and comments.

These reports should be read in conjunction with a NASA report, NASA

TM-X-57001, NASA Selective Dissemination of Information Program (IBM 7090/94

System), issued June 1966. The latter presents operating experience with the

program after completion of the preliminary phases and transfer of the program to

operation by the NASA Scientific and Technical Information Facility. It also

describes program modification and discusses the availability of the 7090/94 com-

puter program.

Operation of the particular SDI program described in these three reports

was discontinued by NASA in February 1966. Its termination was the result of

continutng evaluation and evolution in all areas of the NASA SDI program. Th_

7090/93 program was replaced by an IBM 1410 system. Th9 change recognized

continuing advances in dissemination techniques and computer technology. A

bibliographic search program written for an IBM 1410 with 40K m_mory and

process overlap and priority features was modified for. SDI operations and was

iii

Page 8: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

demonstrated to work effectively. An IBM Systems/360 Model 40 computer

scheduled for installation by the NASA Scientific and Technical Information

Facility during the summer of 1966 will include emulator htrdware for 1410

operation during transition of SDI operations to the new computer system.

In addition to conversion of computer operations to a different computer,

the form of announcement was changed early in 1966. Users of the NASA SDI

service now receive a computer-printed listing of citations rather than the

abstract cards. The current NASA SDI program thus differs substantially from

that described in this report and in NASA TM-X-57001 and NASA CR-62020.

These reports are published as a record of a unique SDI system and a stage

in the development of selective dissemination of information systems.

The IBM 7090/94 SDI program will be made available on request to

organizations interested in studying this SDI system. The source program,

documentation, and associated off-line IBM 1401 and 1410 programs described

in report NASA TM-X-57001 can be supplied by special arrangement with NASA.

Program maintenance would be the responsibility of the organization receiving

it and no guarantee concerning its operation can be made.

Further information concerning the NASA SDI programs may be obtained

from:

Scientific and Technical Information Division

Code USD

National Aeronautics and Space Administration

Washington, D.C. 20546

iv

Page 9: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

NASA-SDI SYSTEM

CONTENTS:

A. SYSTEM DESCRIPTION, NASA-SDI

B. SDI VOCABULARY CONTROL PROGRAM

C. SDI MATCH PROGRAM

D. SDI POST CARD-TO-TAPE PREPROCESSOR PROGRAM

E. SDI POST PROGRAM

This volume is solely devoted to the documentation of the programsfor the NASA-SDI System.

V

Page 10: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

A. SYSTEM DESCRIPTION, NASA-SDI

SDI - the Selective Dissemlnationof Information - implements the philosophy thatthe supplying of relevant information to persons desiring it, from the bulk of in-

formation available, can be accomplished effectively and economically bymachine.

SDI may be said to be the reverse of a conventional library operation. A librarystores documents and waits for users to come in the door. An SDI system stores

representations of users' interests, and, as documents come in the door, the systemdisseminates to users notices of documents that appear relevant to their interests.

An SDI user is represented in the system by a profile i.e., a llst of descriptorsthat delineates his fields of interest. Information, the content of a document, is

similarly represented. Periodically, the system edits user profile changes, new

user profiles, and incoming document profiles against a vocabulary control guide,to insure that all profiles utilize the same descriptors to identify the same things.Then, the system compares these profiles with each other, selecting the documents

apparently relevant to the stated interests of each user. For any comparison,matches on given numbers of descriptors determine relevancy. Notices of thedocuments are then sent to users. A notice consists of the document abstract anddescriptors printed on a 3 x 5 card and of a Port-A-PunchC!_ card with which

copies of the document may be ordered and actual degree of relevance indicated.

Two major computer pr_,_rams comprise the SD! system designed for the Nationa!

Aeronautics and Space Administration, called NASA-SDI. These two programsare: the Vocabulary Control Program (VOCON), and the Profile Matching Pro-

gram (MATCH). VOCON updates or originates the vocabulary control guide,

updates or originates the user profiles, and edits document and user profilesagainst the vocabulary control guide. MATCH compares document and userprofiles, generating document notices when the designated match criteria are met.

In sections B and C following, VOCON and MATCH are presented from a pro-

gramming and operating standpoint, including detailed record formats and programflow charts. They are shown schematically in Figures 1 and 2. For a condensed

description of what is accomplished by VOCON and MATCH in terms of the SDI

System phase, refer to Volume I of this report, Section B (NASA-CR-62020).

A third major computer program (POST), and its preprocessor (NPOST), are also

presented in sections D and E following. They are shown schematically in Figure

3. POST is the SDI Posting Program. It maintains the historical notlce-responsefile, recording or posting user responses to the notices in the file and preparing

second notices to accompany documents requested by users. The purpose of thehistorical notlce-response file is the accumulation of statistical information about

system performance and the handling of document requests. NPOST loads on tape

the user responses (returned notices) and POST control cards, checks the responsesfor validity, and limits the number of responses sent to POST at any one time.

Page 11: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

POSTandNPOSTarenot completely integrated into the NASA-SDI System.NPOSI" will load NASA-SDI responses on tape, and POST will post them to thehistorical notice-response file. But, the second notices prepared by POST would

require further processing to add NASA addresses to them. Similarly, the noticesgenerated by MATCH that form the skeleton of the historical notice-response filerequire a change in format before POST can use them. To circumvent the first

discrepency, the NASA-SDI System utilizes second notices prepared ahead in

quantity with the document number and date omitted. This information is addedlater when a specific document has been requested. To eliminate the secondcliscrepency, IBM has supplied to NASA a 1401 program that changes the formatof the MATCH notices for POST.

To summarize: Three programs are submitted to NASA and presented here as parts

of an SDI System. Two of these, VOCON and MATCH, form the necessary partsof the NASA-SDI System. They were prepared by IBM to meet the speEflc needsof NASA. The third program, POST, was developed in another context. It is a

useful adjunct to the NASA-SDI System, but, as submitted, is not integratedcompletely into the system.

Page 12: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

;i.w u=_z

0_I - 5"-t'-I _ _._-

E

7o

_,z g ";z

_o_ _ _ _o_"_>_ ,,_ZO ,._>_

_z0

"3 u

_o

_? 0

i l..... _olo_'_ _--" "__ _1 ° _

o o:0 _-o_,_

_ _ 1___2.._1

8

_

0 ]

Sz 8 _7__o_ _/"_>_ _W

8

Page 13: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

E2

___=_" _c L,.,I

J

z_o _

E0 2

T

I,

T

to

4i

IIZg

_I

u

:r

I_._._

__ ..2" d

Page 14: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

w

E

TiF-;

5

Page 15: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

S. SDI VOCABULARY CONTROL PROGRAM

1. Program Summary

1.1 Description

The SDI Vocabulary Control Program (VOCON), for the IBM 7090/94

Data Processing System, maintains the vocabulary control guide and

prepares and edits user and document profiles for matching. The program

runs under a modified version of the FORTRAN II Monitor System on a

standard IBM 7090 or 7094 computer with 32k core storage and two 7607

data channels with eight 729 tape units (in addition to FORTRAN units).

VOCON is written in FAP and utilizes the FORTRAN input/output

package, lOP. It consists of a primary program and several subroutines.

The overall purpose of VOCON, in terms of the SDI system, is to insure

that the user and document profiles utilize the same descriptors to identify

the same things, so that system accuracy and effectiveness are improved.

In other words, descriptors to be used in matching are either accepted or

rejected, depending upon whether or not they appear in the vocabulary;

but, the vocabulary itself is also accessible to change, as fields of

interest appear, expand and contract. Specifically, VOCON updates

or originates the vocabulary control guide, updates or originates the user

profiles and edits document and user profiles against the vocabulary

control guide.

Profile descriptors entering VOCON consist of single words or phrases;

user descriptors may also be modified by 'must' or 'not' (for more infor-

mation on user descriptors, see MATCH). All descriptors in the vocabu-

lary control guide are single words, condensed or coded into single-

machine-word values, and the guide is maintained in coded-descriptor

order; the English descriptor is also associated with the code. The guide

contains primary descriptors that are admissable words (unmodified),

secondary descriptors that are synonyms equated to primary descriptors,

and trouble terms that are inadmissable words, such as "system" The

vocabulary may be changed at any time via word input. The document

and user profiles prepared for matching contain only coded descriptors.

Optionally, the user profiles may also be maintained in a historical for-

mat that includes the English descriptors. The input user profiles enter on

cards; the input document profiles are provided on tape via other NASA

operations. Phrases input in document profiles are divided into their

component words so that the final document profiles are lists of coded

single words. These document words also build the vocabulary; any new

terms occurring in the documents are automatically added to the vocabu-

lary. Phrases input in the user profiles are maintained as are 'must' and

'not' modifiers, and the component words of phrases are also added to

the user profile as single words. User words are not automatically added

to the vocabulary.

6

Page 16: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

The processing accomplished by VOCON is divided into nine phases,under the direction of the primary program, MAIN. One or more

phases may be dropped from a given execution, depending upon the inputto the execution. The purposes of the phases are:

I. Read and process all control cards. Form IO tape usage table.

Any error here will cause an error exit with appropriatecomment.

2. Read all new input, coding descriptors and forming records

on tape A for sorting: vocabulary changes, document pro-files, user profile changes, new user profiles. Controlling

subroutines GDNRY, GTDOC, GTUSE, CODER.

3. Sort tape A on coded value of descriptors, maintaining

profile number (zero if vocabulary change), and item serialnumber. That is, form an inverted file from tape A. Con-

trol ling subroutine SORT.

4. Pass tape A against the vocabulary, simultaneously updating

the vocabulary and writing out accepted items, document

descriptor items onto tape B and user descriptor items ontotape C. Any vocabulary EQUATE changes will generatemodifications for user profiles on tape C. Controllingsubroutine UPDATE.

5. Sort tape B on profile number and item serial number.

Controlling subroutine SORT.

6. Sort tape C on profile number and item serial number.Controlling subroutine SORT.

7. Create the document profile tape for matching. Controllingsubroutine '__"__ruIO,

8. Update the user profiles and form the user profile tape for

matching. Controlling subroutine UPDUS.

9. Summarize program activity, then exit.

The control cards examined in phase 1introduce all tape unit assignments

and tape number assignments where required, as well as variable program

parameters. The presence or absence of control cards and parameters

governs the course of the program with respect to creation or updatingof various files, etc., or restart. The variable program parameters are:

1. DATE

2. NPHASE

3. MINU

4. MIND

1.2 Input

1.

2.

Date of computer run

Starting phase for recovery run

Minimum percentage value of accepted

descriptors for retention of user profile

Minimum percentage value of accepted

descriptors for retention of document profile.

Vocabulary control guide

Document profiles

Page 17: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

3. Codeduserprofiles4. Historicaluserprofiles(optional)5. Controlcards,vocabularychanges,newuserprofiles,userprofile

changes,userreportrequests(optionalwith Item4).

1.3 Operating Instructions

The SDI VOCON program is a standard FMS system job with a special

system tape. The card deck for the system input tape includes in thisorder: ** job, *lD, * lOP, * XEQ, source decks if any, binary decks

if any, * DATA, control cards, vocabulary changes if any, new user

profiles if any, user profile changes if any, EOF. The following in-structions and comments apply to the three types of runs, initial, update,

and restart. Online messages trace the execution and provide operatorinstructions.

A. Initial Run

Run to create the vocabulary and/or user profile tape(s)and/or

document profile tape.

1. At the start of the job the following tapes should be mounted

on the drives specified in control card 6:

a. System input tape

b. IP document tape (if any)c. OP vocabulary taped. OP historical profile tape (if any)

e. OP user profile tape, reel 1 (if any)

f. System output tapeg. For any logical tape number found on card 6,

mount a scratch tape on the appropriate drive

if none of the tapes mentioned above (a to f)is mounted on it.

. At the end of phase 4 the OP vocabulary tape will be rewoundand unloaded. A message will be printed to mount the second

reel of the OP user profile tape or a pool tape if no secondreel. The computer will halt until this tape is mounted and

START is pressed.

. At the beginning of phase 7, a message will be printed to mountthe IP user profile tape and the first reel of the IP historical

user profile tape if these tapes are needed for this run. However,the computer will not stop for this mounting operation.

4. During phase 8, a message to mount the second reel of the IP

historical user profile tape will be printed if necessary.

5. During any phase of the program a message to mount a newsystem output tape will be printed if necessary.

B. Update Run

Run to update the vocabulary tape and/or to create or update the

Page 18: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

i

3

.Z

J

"PROGRAM

£ [ & [ 3DC_HEMT

S_ PUT

"PHA5 E.,5

•-rA pE c

I N PuT"

TAPE (3

"POC u_H __Jr"

I_ PuLl"

TAPE A

OLD

DIC_OF ALL.

[H p'jT _A'r'AN_- v,/

i _)EELS) DICT'o

5E_2 /AL

_)uI> LISE_

P_.o F I _E5

(¢,E_ L J-,_

DOo-_L _ E WT

pP_c_FIL.E cJ

_o¢_M_dT" NEuJN _._TOg.y

f,_o nkF_.5

flgM

f_CflL_

(]_ ,7-5"

7

C_AN_E_ ALL t_Pu7

b A"FA

I _J PuT

_ _s'ro_lc AL.

PIPOF IL.. 65

©LI) kt6E_PI£ o¢'t Lf_- S

g'r_MD_D FM5 ]-APE OF i=_INTED CU.T_L[T

ODD TAPF__..5--)(:'I.-IA_NEL. F_ EVEN 'T"APES--)I_NAM/VELA IF FO _'_TleJ:{_ L_le_L 5"

"_'_LOA_b _DD,TIo_JAL -FI_PIE5 AS (_E'ElttlR, E._3

Figure 4. VOCON Tape Usage Scheme

Page 19: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

user profile tape and/or to create the document profile

tape. The only differences from an initial run are:

1. Instead of reel 1 of the OP user profile tape, a pool

tape should be mounted on the specified drive.

2. A message will be printed during phase 3 to mountthe IP vocabulary tape on its appropriate drive.

. At the end of phase 4, both the IP and the OP

vocabulary tape will be rewound and unloaded. Amessage will be printed to mount the two reels of

the OP user profile tape. If there ore not two reels

of OP user profiles the message will indicate that apool tape is to be mounted.

Restart Run

If either an initial run or an update run is terminated before com-

pletion of phase 9, the following procedures should be observed:

1. Save all online messages.

2. Remove all tapes noting their respective drives.

o If the last phase printed online is either phase 1 or

phase 2, the job must be rerun from the beginning. A

job will be terminated in either of these phases withan online message if a control-card error or a redundant

tape exists.

In the first case, the input deck setup should be checked and the

missing card inserted or on erroneous card corrected as the errorwarrants, and the job should then be rerun. In the second case, if

the input tape is redundant, a new input tape will have to begenerated and the job rerun. If tape A (the tape being written in

phase 2) is redundant, a new pool tape should be substituted for thattape, all tapes should be remounted on their respective drives, and

the job rerun with the original input tape.

4. If the last phase printed online is phase 3 or beyond:

a. The IP document profile tape need not be mounted

but a pool tape must be mounted in its place.

b. Vocabulary and/or user cards should be removed fromthe input deck setup_ thus_ the last two cards in the

deck setup will be control card 8 and the EOF card.It is very important that card 8 contain the additionalpunches described if there originally was any document

and/or user input or vocabulary EQUATE changes.Also, the phase number on card 8 will be the last

10

Page 20: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

phasenumberappearingin theonlinemessages.Thesechanges,therefore,necessitate the use of a

new input tape when restarting any lob beyondphase 2.

C. If the job was terminated because an incorrect tapewas mounted, a message will be printed indicating

this situation. The correct tape should be substituted

for this tape and all tapes should then be remountedon their respective drives and the job restarted.

d° If the job was terminated because of a redundant tape

during any of the sorting phases (phase 3, phase S andphase 6), a new pool tape should be substituted for

that tape, oil tapes should be remounted on their

respective drives and the job restarted using the newinput tape.

° In phases 4, 7 and 8 where a restart job needs a new input

tape and also requires the tape generated on the FMS systeminput tape unit, change control card 6 in cols. 37-38 to

the logical tape number for a drive not being used, mount

the generated tape on this drive and mount the new inputtape on the FMS system input tape unit.

1.4 Output

1. Vocabulary control guide, updated

2. Coded document profiles

3. Coded user profiles, updated

4. Historical user profiles, updated (optional)

. Printout of vocabulary acceptances and rejections, user anddocument profile acceptances and rejections, user reports(optional with Item 4).

2. Record Formats

2. I Input

1. Vocabulary Control Gulde

The vocabulary control guide consists of 101 files. File 1 is alabel. Files 2-101 are vocabulary records sorted on coded

descriptor value.

a. File 1

11

Page 21: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

Record12

labelof 12words(72characters)catalogof entries:100consecutivepairsofcomputerwordscorrespondingto theupperandlowerlimitsof acorrespondingdatafile. Thefirstentryin this catalog will always be a wordof all zeros. For files having no entries, both

limits will be computer words of all sevens.

100 computer words each of which contains thenumber of logical records in the corresponding

file.

b. Files 2, 3, 4, ..., 101

Each of these files contains approximately 1/100th of the

entire vocabulary. Each physical record is 450 words longconsisting of 15 descriptor records each 30 words in length.

Each descriptor record has the following format:

Word

12

3

4

5

67-26

27-30

coded descri ptorcoded descriptor. If word 1 - word 2, this is

a primary descriptor. If word 2 is zero, thisisa trouble term. Word 1 may never equal

zero.

date of first appearance in any document pro-file or zero.

date of first appearance in any user profile or

zero.number of documents having this descriptor orzero.

number of users having this descriptor or zero.

alphanumeric descriptor, not over 120characters or blanks.not used. All zeros.

2. Document Profiles

This file is provided via other NASA operations, from which itsformat can be obtained. It is sorted on document number.

3. Coded User Profiles

The coded user profile tape consists of three files. Files 1 and 3are labels. File 2 is sorted on user number and coded descriptor.

a. File 1 One record

b.

Char.

1-6566

67-72

File 2

tape identification

tape number (1, 2, ...)date tape was created

One record per user 4--5000 words

12

Page 22: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

Word1-24252627

28-3031

user header, card image

date of entry to systemdate of last change to recordBit

1-12 number of single-word coded

descriptors in sorted order, N13-24 number of added on latest run,M,

not sorted

25-36 number of deleted single-word

descriptors, I.

not used

reserved to indicate presence of 'not'

descriptors

Following are M + N words of single-word coded descriptors:

C.

Bit

S-2

3-32

33-35

Octal O, 'may' descriptor

Octal 1, 'must' descriptorOctal 2, 'must' author

Octal 3, 'must' contract number

Octal 4, 'not' subject fieldOctal 5, 'not' authorOctal 6, 'not' contract number

Octal 7, 'not' descriptor

These " " 'rn_rry bits contain the coaea...... value of thedescriptor word or phrase.For s|ngle-word descriptors, an octal 0 indicates

deleted word, 1 that descriptor is used only as a

single word, 2 that descriptor is used only in aphrase, 3 that descriptor is used both as a single

word and in a phrase, 4 that descriptor is aspecial descriptor.

The remainder of the record consists of the coded values of the

phrase descriptors and pointers to corresponding word locationsin the single-word area. A given phrase would consist of one

word of code, followed by as many words as are needed to con-

tain the pointers, three to a word.

File 3

Word1

2-14

One record

Number of next user tape (0 if zero is last oronly tape, otherwise 1, 2, ..)Not used

4. Historical User Profiles (Optional)

The historical user profiles consist of three files. Files 1 and 3 are

13

Page 23: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

5(a).

labels. File 2 is sorted on user number.

a. File I One record

Char.

1-65 Tape identification66 Tape number (1, 2.... )

67-72 Data tape was created

b. File 2 One

Record Format:

Word

1-2425

26

Following

Word

12

34

5 thru

N-3

c. File 3

Word

1

2-14

record per userS 1000 words

User header, card image

Date of entry to systemDate of deletion from system (zero if active)

is one logical record per descriptor in this format:

Coded value of descriptorDate descriptor was added to profile

Date of deletion of descriptor (zero if active)Length of this logical record, N

BCD descriptor, as many words as needed

One record

Number of next historical profiles tape (zero

if last or only tape; otherwise 2, 3.... )Not used

Control Cards

Card 1Cols. 1-6

Card 2Cols. 1-72

Card 3Cols. 1-72

Label of input vocabulary. Slashes in 1-6if no such input tape

Label of output vocabulary control guide(used only if no input vocabulary file.)

Label of output coded user profiles

Card 4

Cols. 1-72

Card 5Cols. 1-72

Card 6

Label of input coded user profiles. Slashesin 1-6 if no such input tape.

Label of input and output historical user profiles.Card 5 is blank if no historical profiles.

Input tape unit assignment. First four tapes onone channel, next four on second channel.

14

Page 24: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

S(b).

A blank or zero assignment is not permitted.

Cols. 1-2 Input document profiles and input coded userprofiles, reel 1

7-8 Output document profiles13-14 Output vocabulary and output coded user

profiles, reel 219-20 Input historical user profiles

25-26 Output historical user profiles

31-32 Input vocabulary and output coded user profiles,reel1

37-38 System input tape43-44 Input coded user profiles, reel 2

49-50 System output tapeCard 7 Tape numbers for which mounting will be re-

quested on llne. A blank indicates that no tape

exists for this file. Tapes not mentioned aremounted at start of run.

Cols. 8-12 Input vocabulary14-18 Input coded user profiles, reel 1

20-24 Input coded user profiles, reel 226-30 Input historical user profiles, reel 1

32-36 Input historical user profiles, reel 238-42 Output coded user profiles, reel 1

44-48 Output coded user profiles, reel 2

Card 8 Program parametersCols. 1-6 Date; numeric month, day, year

17-18 Phase number at which restart is to begin

22-24 Minimum percentage value of accepted

descriptors for retention of user profile28-30 Minimum percentage value of accepted

descriptors for retention of document profi!e

If job is restarted, add to card 8 the following:

Col. 14 1 if document profile input, blank if none

16 1 if coded user profile input or vocabularyEQUATE changes, blank if neither

Following the eight control cards are cards for vocabulary and user

changes.

Following those, if any, is one of two cards:

Cols. 1-6 NODOCT if there is no input document profile tape.1-7 DOCTAP1 if there is an input document profile tape.

DOCTAP2 if there are two input document profile

tapes.Vocabulary ChangesCard 1Cols. 1-4 DICT

15

Page 25: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

Descriptors may be added to or deleted from the vocabulary,

classified as trouble terms, or equated as synonyms. Thetrouble terms and equate changes will also add descriptors to

the vocabulary if the descriptors involved are not already there.

a.

bo

Add Changes

Card 1

Cols. 1-60 Alphameric descriptor71 A

72 Blank if no second card, C if secondcard fol lows

Card 2

Cols. 1-60 Alphameric descriptor continued71 A

72 Blank

Delete Changes

Same as add changes, except D in col. 71.

Trouble Term Change

Same as add changes, except * in col. 71.

Equate Change (will cause updating of user profiles)

Card 1 SecondaryCols. 1-60 Alphameric descriptor, secondary

71 E

72 Blank if no second card, C if secondcard fol lows

Card 2 SecondaryCols. 1-60 Alphamerlc descriptor, secondary

continued71 E

72 Blank

Card 3 PrimaryCols. 1-60 Alphameric descriptor, primary

71 T

72 Blank if no second card, C if secondcard fol lows

Card 4 PrimaryCols. 1-60 Alphameric descriptor, primary,

continued71 T

72 Blank

Last CardCols. 1-6 ENDICT

5(c). New user profiles and user profile changes.

16

Page 26: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

Card 1Cols. 1-4 USER

a. New Users - Header

Card 1Cols. 1- 6

8, 1012-30

36 -3844 -48

5253

7071

72

Card 2Cols. 1- 6

7-6670-71

72

Profile number

User's initials

User's surname

Location

Employee number (optional)

Corporate security clearance

Federal security clearanceUH

Blank if one header card, otherwise C

Same as first card

Address for outside mailing (left adjusted)Same as first card

Blank

b. New Users - Descriptors

Card I

Cols. 1-60 Alphameric descriptor61-66 Profile number

70 Descriptor usage code71 Blank

72 C if second card follows, blank if nosecond card

Card 2

Cols. 1-60 Alphameric descriptor, continued61-66 Profile number

70 Descriptor usage code71 Blank

72 Blank

Where descriptor usage code is:

M 'must' ordi nary descriptorN 'not' ordinary descriptorC 'must' contract- number

D 'not' contract numberP _must' author

Q 'not' author

S 'not' subject field

c. Add Changes - HeaderSame as new users

d. Add Changes - Descriptors

Same as new users, except A in col. 71.

e. Delete Changes - Descriptors

Same as new users, except D in col. 71.

17

Page 27: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

f.

g •

Delete entire user profileCols. 1-60 Blank

61-66 Profile number

67-70 Blank71 D

72 U

Last CardCols. 1-6 ENDUSR

If historical user profiles are kept, user reports may be calledfor between the USER and ENDUSR cards.

User ReportsCols. 1- 6

8-13

71

72

Lower profile limit of report, profilenumber

Upper profile limit of report, profile

number, or blank if only one profile(col. 1-6) to be reported

R

1if only active descriptors are to be

reported

2 if all descriptors are to be reported

2.2 Output

1. Vocabulary control guide, updated - same format as input.

2. Coded document profiles - same format as coded user profiles.

3. Coded user profiles, updated - same format as input.

4. Historical user profiles, updated (optional) - same format as

input.

5. Operational comments - see example following programlisting.

18

Page 28: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

MAIN PROGRAM

This program is divided into nine phases. In phase 1, all control cards are read and proc-essed. In phase 2, user cards are processed by GTUSE, vocabulary cards by GDNRY I and

the document tape by GTDOC. The output tape resulting from this phase is called tape A.During phase 3, tape A is sorted on the coded value of the descriptors. Phase 4 uses the

UPDATE subroutlne to create or update the vocabulary tape while at the same time formingdocument tape (tape B) and/or a user tape (tape C). Phase 5 sorts the document tape

according to profile and serial number, and phase 6 sorts the user tape according to profileand serial number. During phase 7, a document profile tape is created. During phase 8,

a user profile tape is created or updated, and alsoan historical user profile tape may becreated or updated. Phase 9 summarizes program activity, then exits. The subroutine ofthe program follow, in alphabetical order.

19

Page 29: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

PHASE :L

pEA-_ A__

LL q.o_'ne.oL.

CAt_5

$

p_ASE

MAIN 1/2

Block Diagram

I GTLt =. E ,

PEOCES_

k

PHAS_ 2

I G-:z:,_E:'Y •

I

PI4_sE

C_te'_ "T'(I_IpE A

VAL_E; C_IP"

J,

4,L_P:b_ T E

u I_/_A T_ "_"H _'

C

oq-u_H E__T

NO b cr...T

C,(::,,,..rr_c L.

C-P,_-D

20

Page 30: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

?_ A 5E 5

MAIN

Block

2/z

Diagram

:50 _T

Pla f_SF. G

_¢:_T -I'1%O E

?_As_ 7

I P ;>_-_

ItPE + _oRMI'l>oC. Pte_e_.lLE5[ i

EDFr _s_- I

eJt i.. L NIExT

LP_K

21

Page 31: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

MAIN 1/7

22

Page 32: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

23

Page 33: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

MAIN 3/7

•To /v'o

24

Page 34: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

MAIN 4/7

25

Page 35: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,
Page 36: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

MAIN 617

OWE /

o_ /I

FoE

u _5

UNLe Ai)i c_b

CtS _ ,_

M o LLN'r"

z) MF Sc_^(

27

Page 37: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

MA IN

I'_'_-;,J ,""J6 oFI_A C+__.

_'/ l_++_+++"'--+-+I

A _'--

IP-Asm 9

1L,JNK.

7/7

28

Page 38: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

Subroutine BCDBN

This subroutine converts a BCD integer into a binary number.

29

Page 39: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

$BCDBN 1/1

_-#'F_y ._

P_cK uP

NgX'r H/_O,R D" _C HAR4C'/"£_

C_/AmA# 7"EKJ$

RuL_PLY

"/"_i$ sap_

30

Page 40: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

Subroutine CODER

The calling sequence of CODER isTSX $CODER,4

TSX TYPE,0

TSX BUFIN, 0

TSX BUFOUT, 0TSX K,0

where

TYPE

BUFIN

BUFOUT

K

indicates source of input

0 vocabulary change1 document descriptor

3 new user descriptor4 user change descriptor.

is location of start of input buffer.

is location of start of output buffer. BUFIN and BUFOUT arrays are inforward, FAP order.

is the number of sort items placed in BUFOUT by CODER. If the inputdescriptor consists of n alphameric words, then K = n if n = 1, orK =n+ 1 if n71.

CODER expects 72 characters per input card image, the alphameric cols. 1-60. Profile

header cards are not input to CODER. Each descriptor input to CODER will generate Kitems of the format:

4

5-L

Word1

23

coded value of input descriptoralphameric profile number (zero if TYPE : 0)miscel laneous:

Bit

S-23-5

6-1112-13

14-15

1617

18-35

contains L,alphameric

zerosame as TYPE

same as col. 71 of input card

0 do not add to vocabulary

1 add to vocabulary0 do not add to profile if code not on vocabulary

1 add code to profile3 add code to profile descriptor list

reserved for use by subroutine UPDATEdetermined by the subroutine that calls CODER.

1 if code for word within phrase0 if single word descriptor or coded phrasezero.

length of item in computer words.

version of the coded input.

31

Page 41: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

If K_>I, the second and following output items are four ( L = 4 ) words in length and havenoalphameric version. The first item contains thealphameric version and is 14 or 24 words

in length( L=14or 24). If a descrlptor is illegal, i.e., contains an illegal character,then K --1, word .1 of the item is all zero, and word 3 is set:

B_t12-14 zero

18-35 777_7)8

32

Page 42: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

5k_,, ALL

tNIDE_

_.CG.tS T¢ I_

_.-¢_ coL.

2/

"_:_T"--- o

_E.T Col. "11

o_ l_puT

_0

I _-e'r _ sToP.II

/

I::_:_-r,d 0

[_ ,,,,t,,, ,II

/ '' " A:ooZ" /

<_ir_" I:"i IL£-r

o uTp_- tI"E__" Le_¢-tk To

14.

I

ITI_ li_ LE _ /

I1 _" "_'09'7" l

I

/ '_ _'_ _1

,/_,

"Decllzm __l-r-

o'_ " t*,'C_O_ '°

__ 7

col_,,. _o) J

= o

33

Page 43: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

col. qtj-/

"cc_e" = _ I "_T_" d=O"Co"D_" --_'1 "XT£A" =J/=O 1

/

_..T"v,-_,/_."=k o

l

4D

r

r

I | I'_ID I _, _l_lrp__ I_"r_l

tNp_-r _o_

AL_k_w_me__,c I,,,°o,,,F

_ I

34

Page 44: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

6 ck, L+,c-re_

cL_t;cP+,iPTo£

x.l_t= C_A&Z

_&4-:u.

[ $'ToQ_ Tke_

"] _oo.',o,, 64'

[ ou_Pt£-r "Prcm

T_-r "Tke_

£e C,,_s-r-

35

Page 45: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

@ Table of Transfers Dependent on Current Character in Accumulator (AC)

If character is: Go to If character is:

SAME00 001 1

02 203 3

04 405 5

06 607 7

10 811 912

13 =14 -

151617

2021 A22 B

23 C24 D

25 E26 F

27 G30 H

31 I32

33

34 )35

3637

GOOFII

CHAR

GOOF

SAME

GOOF

CHARGOOF

40 -41 J

42 K43 L44 M

45 N46 O

47 P5O Q51 R

5253 $

54 *5556

5760 Blank

61 /62 S63 T

64 U

65 V66 W67 X

70 Y71 Z

727374 i

75

7677

Go to

CHARSAM E

GOOFII

NEW

GOOF

NEWl!

SAME

GOOFNEW

GOOF

Go to "SAME" if legitimate character of a word.

Go to "GOOF" if character is illegal.Go to "CHAR" if character is to be ignored.

Go to "NEW" if character is a word separator.

36

Page 46: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

(t,_l,= A,>I>c._-__ f

K--I j

_0

I l_,_II l'l- l

[ _ol_l Col_k'13

I_r_ 04- _sllI co,el _elios

/

I "_"," coded

VlaLU_"

L"co_e"_

.J ++_-

04 o_t"rPurr _+c*_/ _,.o _'e,*.,4l __.L'.J

! _'rat_m I_ES_.|T

v*,lu¢ ,,.t Tl,e

37

Page 47: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

®klil

I

I

J L'WI! N_.

_I_

I" _" /I vii • lit IT D.I

. li_n " ,..,<t_r,.l I

38

Page 48: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

L

_'Co_E_

S¢'r IM_lc..A'ro£C I

To l_ _U. J(o_es To Tkel"PR0'_It_ AN1& "TO J

"_ c"r'9N_ I

I

"To _1;> Co'OE 'b

"PkIL6,5 c TO

+I "Pk_.Ase w oi_,DI_(,, _,t," A,,,D _e'r

1"A_FuI"_ 0

o,J."r_'r l Tg

®

39

Page 49: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

_&@@ lkl_lDG IEs $

40

Page 50: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

Subroutine DCIT

DCIT readsthe sorted binary tape B containing the document descriptors.from subroutine PDTB. The read instructions are set up in its first entry.EOF, the tape is rewound.

It is entered

Upon reading

41

Page 51: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

$DCIT 1 / 1

42

Page 52: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

Subroutine ERITE

When an illegal card (user or vocabulary) is encountered, one of two subroutines (UBAD

or DBAD) will TSX $ERITE, 4 to write the illegal card and the appropriate error message.The first time either SUBAD or $DBAD is entered, it will set up the output instructions in

ERITE to write on the system output tape that has been specified in the tape assignment

control card. Each time $UBAD or$DBAD is about to go toERITE it will set up the RCH

instruction inERITE to write the illegal card or error message desired. AfterERITE has

written the BCD output record, it will return to SUBAD or $DBAD, whichever it came from,

which in turn will go back to the subroutine processing user or vocabulary cards.

tf an EOT is reached, an EOF will be written and the tape will be unloaded. The fol-

lowing message will be printed on line:

END OF TAPE WRITING cn. MOUNT NEW TAPE-PRESS START.

( c -- channel, n = logical tape number )

43

Page 53: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

SER ITE 1 / 1

MQ-- .......

r.;

__,'-_ ....._0

II

1

44

Page 54: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

Subroutine GDNR¥

GDNR¥ processes all vocabulary input cards until a card with ENDICT in cols. 1-6 is

encountered. Each card is picked up with aTSXSRDIN, 4. RDIN isasubroutlne thatreads one card from the input tape into area DCARD-DCARD+I 1 .

Vocabulary input may be in one-card or two-card groups. If one card, col. 72 will beblank; if two, col. 72 of card 1 will contain a C and col. 72 of card 2 will be blank.

The legal cards with their punches in col. 71 are: add(A), delete (D), equate (E), andtrouble term(*). If col. 71 does not contain any of the above, the entire card with an

accompanying error message is written on the system output tape by subroutine DBAD. Thecard following a card with a C in col. 72 must match in col. 71, and in addition be blank

in col. 72. Any irregularity will causea rejection of the first card.

If GDNR¥ encounters an E-card, it must find a card with a T in col. 71 immediately

afterit. This contains the primary descriptor to which the phrase on the E-card will beequated. Any violation will cause rejection of the E-card or the E- and T-cards,depending upon the error.

Whenever a valid card group is read in, it will be sent to $CODER.

45

Page 55: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

C.

$GDNR Y

Block Diagram

)

46

Page 56: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

$GDNR Y I/3

47

Page 57: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

$GDNR y 2/3

48

Page 58: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

$GDNR Y 3/3

49

Page 59: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

Subroutine GECOD

Whenever a user, vocabulary, or document descriptor is to be sent to $CODER, a TSX

$GECOD, 41sexecuted. The calling sequence contains the location of the descriptorand the type. GECOD picks these up, sets them in the calling sequence $CODER expects,

and then goes to $CODER.

5O

Page 60: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

_G_coI3

1rut _1_

. !_

.... _" i_e_C.L _p'TO IL

_X:COD 1/l

51

Page 61: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

Subroutine GTDOC

This subroutine reads the input document tape, and extracts the header and descriptors for

each document. The header and all descriptors are written on tapeA. Tape A also con-

tains all vocabulary and user descriptors.

For each document, the following is done: The header is picked up and written on tape A.

The next field (title field) is sent to$CODER. Five fields are skipped. The next field

(personal author) is processed. Two more fields are skipped. Then the two remaining

fields (contract number and descriptor fields) are processed. The last three fields handled

by GTDOC may have more than one descriptor; each Js separated by a word mark. Any

field may be completely empty, in which case the field will contain one dollar sign. The

dollar sign is the field separator.

The document field called NOC may contain a price for the document, also indicated by

adollarslgn, that is not a field separator. To avoid this false field separator, GTDOC

utilizes the fields it wants from the beginning of the Ioglcal record, then skips the NOC

field by counting backwards from the end of the logical record.

When EOF is encountered in reading the document tape, it is rewound.

52

Page 62: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

53

SGTDOC

Block Diagram

?I__ 1

17o ._co_. !I

,, l_

Page 63: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

It _TDCb_

5_T" _Pi/ O Fo_--FARE A _ ]>

0 _-t_QAJ ME L

\'^'V

pull- eOLS,

k_,o e_L. ÷PLcr e.oLs. S'-_

I IN-r'o 9-_O

"T'V@_:

Pw-r e_oL. 7

I INTOeeL. £

I SKIP (ZOL-. g I

N U..M _E #_ I

PuT _OL_, q-,3|/

,N'r_2.-_, /

54

©e0_s.H - ) 8

s_cc_w1-y

IP_o- eeL. I_1

Pu.T" eo L_.

_o -.Zl /N'I"O

II- 10.,

_LI_,TE CT

_'T" eeL<..3_--3_

!

Ik-

x'_ip coL. _1,,P_T ei_kS.

1 27-37 /_-o

&

p_-oo_.3g.43I'"_° _'-__ I

I

,Iv

$GTDOC 1/4

Page 64: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

put eoLs. 1

¢_-- $1 Jql_ , .

_EA

S_ IF> "To

SGTDOC 2/4

HI) DrF y

A'Db £ ES$ "ro_

Is_r ,u //'''-'_ _/

PuT P_ t_l

r_oL, "/a FO_

e 0 _dTflQ U A'FI t3 kJ

L_

Page 65: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

PUt A_ 'A _

led CTI._L., 10.

_b

f_lTl_l_ I_ _- To

ICoL, 7 -_-_-

£oL. 9o _e_e

(.o_'r'p. p, c.T.

N U.H i_. _. R 5

_o_'T A

$GTDOC 3/4

PuT _>L/%Mk. ,_ld J

2.. J_0L. "_o FOR

Vo c_,S _, _. aRy

'T-[ E_l 5 ,c"t _EJ.-]>

5E,_b CA_

.JlHAC_ E (S_ "7"0

COD_£ - 5TA _

|Na_:_- cARl>

56

Page 66: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

NO

li'o

-,<"_ e _ --r#.lc

_OZ), ¢'Y \iAboipC_+s -to \

\,..+/ Ipi.,'-r<_ ,,,, ,_o,..Iv I+=l i<,.es+ /

$GTDOC 4/4

R_co_

57

Page 67: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

Subroutine GTUSE

GTUSE processes all user input cards until a card with ENDUSR in cols. 1-6 is encountered.Each card is picked up with a TSX SRDIN, 4. Subroutine RDIN reads one card from the

input tape into area DCARD-DCARD+11. The user number(cols. 61-66) is sent to sub-

routine RBLNK where all blanks are turned to zeros. This eliminates keypunching usernumbers with leading zeros. Next, col. 71 is checked to see what kind of user card is

being processed. The legal punches in col. 71 are "blank" (new user add), A /old user

add), D (delete), R (report), or H (header). If the card does not contain any of the above,

the entire card, with an accompanying error message, is written on the system output tapeby subroutine UBADasan illegal card. The next card is then read.

Delete cards may be of two types. One type deletes a user descriptor and the second de-letes an entire user profile. The latter is denoted bya U punched in col. 72. With theexception of report cards, user _nput may be in one-card or two-card groups. If one card,col. 72 will be blank. If two cards, col. 72 of card 1 will contain a C and col. 72 of

card 2 will be blank. Any other punch is illegal. In two-card groups, col. 71 of bothcards must agree.

All add and delete cards are sent to $CODER and then written on tape A, using subroutines

GECOD, MOVE, and WTAPA. Tape A contains vocabulary and document input, in add-ifion to user input. Report type cards and header cards are not sent to $CODER, 10utarewritten directly on tape A by SWTAPA.

Header cards are given a serialization number of 000000)8 to place them before any descrip-tors for that user. Delete profile and report cards are given very high numbers to placethem after all add and delete descriptor cards. Their serial numbers are 777774)8 and

777776)8, respectively. The serial numbers for adds and deletes are assigned by $CODER,and will always be between 000001)8 and 777773)8.

58

Page 68: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

}2_

_CODEK

59

$GTUSE

Block Diagram

Page 69: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

+ e

$GTUSE 1/5

uuE6-Au.

6O

Page 70: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

$GTUSE 2/5

OL9 ,)$E_ AbD

L_ _)_ _'_,/

I

I

I

t

61

Page 71: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

$GTUSE 3/5

UU6_U

,

I,_'nnn4_, \

T-

$

I

62

Page 72: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

V

p_

I

[ _,_ff_ ,_ _ov_

I•1_ _'__gI_o _o_

I _._-r

We_

L_ -tin,+., _,"

SGTUSE 415

63

Page 73: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

_As) _IL

I_''_"_'-_1

-.<,7--- 7_E g'T /

IoO

I_._._ ___J e-_ _ '= c'T"

$GTUSE 5/5

!

64

Page 74: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

Subroutine MOUNT- BNBCD

This subroutine prints messages on the online printer when a tape has to be mounted. If the

tape has a serial number, this will be given in the message; if not, the message will ask

that a pool tape be mounted. This subroutine has within it a routine to convert an unsignedbinary integer to a BCD integer with leading blanks.

65

Page 75: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

SMOUNT 1/I

SBNBCD l II

<_ *_''J _'_/_\ i_-_ "_,_,_,-_1

_ , _ . J° G

Page 76: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

Subroutine MOVE

MOVE is entered after everyTSX $CODER, 4. It picks up the logical records put out by

$CODER (as few as one, as many as eight) and places them in BLOCK, preparing them tobe written on tapeA. After each logical record is moved into the BLOCK area, a checkis made to see whether or not six logical records are in BLOCK. If so, MOVE will TSX

SWTAPA, 4towrite out these six. When it returns it will process the remaining records

produced by $CODER.

The first word of every main phrase from $CODER will be masked to contain a "1" in bit17. All subphrases will be masked so their first words will contaln a "0" in this same

position.

Special attention is given to vocabulary equate cards. If an E-card has come from $CODER,the coded value of its accompanying T-card will be placed in word 24 of the logical recordcontaining the E-card main phrase.

67

Page 77: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

_?/.o

=0 /

$MOVE _/_

68

Page 78: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

Subroutine PDTB

PDTB builds the binary document profile tape. The input tape is sorted tape B. The first

descriptor for each document is its header. Following are its descriptors. Each descriptoris checked to see if it should be added to the document profile. When all of one docu-

ment's descriptors have been processed, the percentage that have been accepted is com-

pared against the control card parameter MIND. If the percent accepted is greater thanor equal to MIND, the document is added to the binary tape_ otherwise, it is rejected.

The acceptance or rejection of every descriptor and document is noted on the system

output tape.

69

Page 79: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

Ow_ s oP._E_

$PDTB

Block Diagram

KEEP COUloT OF

7O

Page 80: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

INITIIkI-I __C -'---

off A_D "/"F__'_

¢._' L LS ".E-C..'_O

r----

I I_ _ _ p

i,Io I

I _ :be 17- JI" YO_

.....C_ P,N6_ E,E't"MA,NFo_H_r oF IPH,_as_

I

I

$PDTB 1/4

71

Page 81: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

$PDTB Z/4

1_2...

_ W R O_UL7-

_X .k ]A CC E tOT F"_

72

Page 82: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

_p,c_

6£ 7-

@

SPDTB

HA _N

J/- G_--r-

k,/£ rr'E

314

OR A _o

•T O

73

Page 83: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

_ 3_ tVS E ..

Ll _0_7" ON,:

_" _,_oA,_ _ .1- )

_" _10 .

Ip_-r ,_ _" a,,/!

,-,--oM _E'_ EN T"

H

$PDTB 4/4

_a.ULTf - k)Oi_._ I

pu.T" A (o _M 1

put A S ,M

E_JT3 33 -.93",

peEF IV.

,b

0_ co_ _)

VAL_ _" "r"o

STOCAr=_

Page 84: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

Subroutine PSORT

PSORT checks coded profiles (document or user) submitted to it to ascertain that the single-word llst is sorted and that phrase pointers are set accordingly. If not, PSORT sorts andsets them.

75

Page 85: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

£ J.P._j C Tt' ,_

z'+mo ,,.., 4_jJ5_'t, L_l -

NO

£.,+v.,p.--o3

'F.s

re,,,.+,_ "P_,'eI

I m,,,.,+l+ ,,,,.,o+_, J

I.+.,,,,,,:,,.,,.,++qIm.m.+[,,,,, t, "+_I1_*-¢+_.e.+,4 I,VI_+''"t" _"r+" +",JI_'r +,+ r,4,.. I I

I

""

m,,

@76

Page 86: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

@_.o_.iLe.speNo,_r _Oi_l I_ _arr

_$

P

_*G. v N o'r'"

_e-r I; t+, e[_t,_, I ,+

0,_ "F'_.,.P-,le I o

/ :_ P._,Po_e_ /

o+ +'_.o¢01+ '

"._." (oc_,1 +',)

J_+..._0_,_,,-,,e,.."I"o I

I _'_'_'t" m'/ It.. ?o,,..,-r*.._.,s I

-Im

_P

Page 87: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

Subroutine RDIN

This subroutine, used by MAINand GTUSE, reads the system input tape. On any redun-

dancy, an attempt is made to read the record ten times. If the redundant condition per-sists for a control card, a message indicating the redundancy is printed and a core dump is

taken. RDIN also checks for EOF and prints a message if the condition exists and dumps

core.

78

Page 88: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

$RDIN 1/l

79

Page 89: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

Subroutine READA

This subroutine reads a physical record consisting of six logical records from tape A (sortedinput tape). Ona redundancy condition, an attempt is made to read a record ten timesbefore a message is given indicating the redundancy and a dump of core is taken. The

routine allows tape A to have two reels.

8O

Page 90: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

SREADA 1/1

B1

Page 91: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

Subroutine REDT

This subroutine reads the old vocabulary. It has two entry points, REDT1 to read thefirst file and REDT2to read the other one hundred files. A redundancy condition on the

first file causes an attempt to be made to read the file ten times. If this fa_ls, a message

is printed and a dump taken. A redundant condition on any other file causes the tape tobe reread ten times if necessary. If this fails, the tape is backspaced over twoE©F's,

spaced forward again, and another attempt is made to read. If the redundancy still exists

a message is given and a dump taken.

82

Page 92: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

SREDT 1/Z

eET L_p

T'O£_6E:

5T FILE

_<ET"

83

Page 93: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

$REDT 2/?.

_-/ IP_,__-_I I_ __...,_IYE_ _ l

"_ I_cT" /

E'rD _£' 2_,£o

_EA_

$4

Page 94: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

Subroutine SORT

General Spec ifications

The SORT subroutine is a generalized internal sort and tape merge program that sorts

fixed-length blocked or unblocked binary records. The SORT routine is entered inPhases 3, 5, and 6 of the program. In Phase 3, it sorts user and document profiles and

vocabulary changes into coded descriptor order. In Phases 5 and 6, it sorts edited

document profiles and edited user profiles, respectively, into profile and serial numberorder.

The sort key must be located at the beginning of each logical record and must be a multi-

ple of six bits in length. Input and output files may each use one alternate unit. All

input tapes must havea BCDtrailer label. For multi-reel files, each tape must end withan end-of-file anda 120-character 1EOR record. The last reel, or the single reel of aone-reel file should have an end-of-file anda 120-character 1EOTrecord. For the

merge pass, the package requires four intermediate tapes, two on channel A and two on

channel B, the blocking of these tapes may be different from the initial or final blocking.

The SORT package consists of three major subroutines, EDIT, SORT, and WRITE. Itrequires the FORTRAN II Input/Output package lOP for its I/O functions, and the sub-

routine DMP for catastrophic errors. The SORT package must be assembled by the user,who provides variables in cards 60-400 as required (see listing). It uses approximately

1200)10 locations plus BSSareas, the size of which depends on the physical size of therecords to be sorted° Aii core not needed by the object program sn'oul'a' be al'locarea' ' to

SORT for internal sorting° The calling sequence to SORT is TSX SORT,4wlthareturnof 1,4.

Subroutine EDIT

This subroutine has two entries, EDITA and EDIT, which are the first and second execut-

able instructions. EDITA is the entry for the first call, to accomplish any initializationnecessary in view of the fact that the sort may be restarted due to tape error. The routine

places in the AC decrement (bits 0-18) the number of words in the record to be sorted,and in the MO address (19-36) the number of characters in the sort key. It then returns

to 1,4. EDIT is the normal entry. The calling sequence is TSX EDIT,4, end-of-filereturn, normal return.

Each time it is called, the subroutine will store a record starting at 1,2. It reads as much

or as little data from the mediary tape as it needs to. The record placed at 1,2 is

arranged with the sort key at the beginning, since the sort program will sort on only one

field. Conversions to modify the natural sequence or complementing of fields to achievea descending sort may be done prior to storing the record at 1,2. If there is no more data,return is to 1,4. The normal return is to 2,4. The subroutine also handles any errorsencountered as described below.

85

Page 95: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

Subroutine SORT

A replacement chain sort is used for the internal (strlng-forming) phase of the sort program.The chain is formed as follows: With each record of data is associated one word of control

information. The decrement of this word contains the location of the next smaller record

currently in core. The address portion contains the location of the next greater record

(actually the two's complement of the address of the word preceding the first one of the

record in question). The decrement of the control word of the smallest record in core

(the beginning of the chain) contains zero, as does the address of the control word of the

largest record (the end of the chain). Thus_ given the location of the starting record of

the chain, one can reference each record in the desired logical sequence, and the data is

effectively sorted. Note that the physical arrangement of the data in memory is irrelevantto the structure of the chain. Note also that the insertion of a new record into the chain

requires the creation of a control word for the new record and the modification of the

control words of the two records which will immediately precede and follow it in the chain.

No physical movement or shifting of the data is necessary.

The sort program starts by storing records sequentially in memory, preceding each one by

its control word. Each record received from EDIT is immediately put in the chain by the

subroutine INSERT. Since some pre-sequenclng is expected to exist in the data, the

INSERT subroutine starts by comparing the new record with the one most recently inserted.

Depending on the result of this comparison, the subroutine searches the chain in either the

forward (increasing) or backward (decreasing) direction until the proper place for the new

record is found. In the case of equal records, the order of input is preserved. The new

record is then inserted in the chain, as described above. A record is kept of the location

of the starting member of the chain, and updated when necessary.

If all the input has been read in before available core space is filled, the replacement

phase and tape merge, described below, are skipped, and the routine goes directly intothe WRITE subroutine. Otherwise, replacement and tape merge are necessary.

The replacement phase of the internal sort is started when there is room for only one more

.record in memory. Starting with the first merge tape and the first record in the chain, the

procedure is as follows:

(1) Write the first record in the chain on the merge tape;

(2) Read a new (replacement) record into the one vacant

space _n core;

(3) Insert the new record in the chain (if it is greater than

or equal to the previously written record, it will be in

the same string. If less, it will be in the next string);

(4) Remove the previously written record from the chain,

vacating its space;

(5) Repeat from step (1), writing out the follower in the

chain of the previously written record°

86

Page 96: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

This procedure continues until either the end of the input is reached or the last member ofthe chain has been written out. In the latter case, the chain is now composed of those re-

placement records which were less than the record just written when they were read in

(otherwise, they would have been written out in that string and themselves replaced). Anend-of-file is written after the completed string, and a new string is started on the next

merge tape, again beginning with the first member of the chain. When there is no moreinput, the data is written as above without being replaced. The current string is finished

and, unless the input end-of-file had coincided with the start of a new string, one finalstring is written.

Thus, throughout most of the internal sort phase, the operations of reading, writing and

sorting are overlapped and all take place in the same storage area. The lengths of thestrings produced depend on the pre-sequencing of the input. In the worst case (perfect

inverse order) the strings contain as many records as can be held in memory at one time°

In any other case, the strings will be considerably longer.

The technique used is that of a simple balanced merge. The final pass, in which some

number of strings _ the merge order (one string to a tape) are merged into one outputstring, gives the sorted data directly to the WRITE subroutine.

Subroutine WRITE

This subroutine has one entry, WRITE, which is the first executable instruction. Eachtime it is called, it finds one sorted record of data starting at 1,2, in ascending logical

order. The routine may re-convert or complement the sort key, as necessary, and then

will write the appropriate record(s) r_f _h_ oJtp'J_ r°p^rt on _L^ _ys,_rn _ output tape. vvnenall data has been processed, the sort program must make one last entry to WRITE with a

word of all one's, 777777777777)8, at 1,2.

The FORTRAN II Input/Output Package (lOP) is called into core by using the * lOP cardin the deck setup. The program uses lOP to take care of much of its input/output functions.

Error Messages

The sort program keeps two checks on its processing. First, the records input are counted,

and this number compared with the number processed by each merge pass and the numbereventually output. This is a check for records lost or duplicated due to program or tape

error. The program also checks that records written out, either on merge tapes or givento WRITE are, in fact, in the proper sequence. Violations of the sort order could be due

to program error or undetected tape error.

87

Page 97: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

UNEXPECTEDEOFON MEDIARYTAPE_TheEDITsubroutinetooktheEOFreturnthefirst timeit wasentered.beennodataat all oninputtapeornonevalid.

Theremayhave

ERRORREADINGMERGETAPEXXThismessageiswrittenafteranerrorreturnfroma BBREADofa merge(scratch)tape° Ifit isnot thelastpassof thesortandit is thefirsttimethishasoccurred,theprogramprintson-line:ERRORREADINGTAPEXX. MOUNTNEWTAPEANDPRESSSTARTTOCONTINUEJOB. Theprogramthenstopsat HPR0. Theoperatorsaretochangetapesandlet theprogramproceed,inwhichcaseit prints"RESTARTINGSORT"off-llne andre-trysthesortfromthebeglnning.If, however,thisre-occursoroccursthefirst timeduringthe last pass, the program will follow the first message with "END PROCESSING"and will transfer $DMP.

UNEXPECTED EOF ON MERGE TAPE XX.END PROCESSING.

This unlikely message indicates that the sort program's count of the number of strings on

the merge tape was incorrect. This could be due to program error, machine error or tapeerror. The program transfers to $DMP.

PH.X RECORD COUNTS DISAGREE. / END PROCESSING.PH.X DATA OUT OF SORT. /END PROCESSING.

Phase 1 (PH.X) is the internal sort and string-forming section (the first pass over the data);Phase 2 is the tape merge. Phase 3 is the final merge pass and writing of the report itself.

The errors are most likely due to tape failure, although they could be caused by impropertampering with data and storage by the EDIT and WRITE subroutines. The program trans-fers to $DMP.

Sort Tape Formats

Tape A - All Input Data

Tape A is sorted only on word 1, that is, according to the coded value of the descriptor.Hence all header records will appear before descriptor records on the sorted Tape A.

Descriptor Records:Word

1

2

3

4-23

Coded value of descriptorSame as the third word put out by CODER.

(Bits $1-17 have type, col. 71 of input card, etc.Bits 18-35 have serial number.)

Zero if dictionary change, otherwise the document

or user profile number.

Twenty word alphanumeric descriptor. (If thisdescriptor is a subphrase, these twenty words willbe either blanks or zeros depending on the output

from CODER.)

88

Page 98: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

24

25-27

Header Records:Word

1

23

4-27

Coded value if this is a dictionary secondarydescriptor, otherwise blanks or zeros.All blanks or zeros.

All zeros

Same as for a descriptor recordDocument or user profile number

Twenty-four word heading.

Tapes B and C

Tape B has document records and Tape C has user records. Both documents and users have

the same basic format. Tapes B and C are sorted on profile number and serial number.

Hence all descriptors having the same profile number will be together preceded by theheader for that profile.

Descriptor Records:Word

1

2

3

4-23

24-27

Header Records:Word

1-23

4-27

Document or user profile numberHas the same content as word 3 of the CODER

output but with the two halves of the word

interchanged: bits $1-17, serial number, bits

18-35, various bits indicating type, col. 71, etc.Coded value of descriptor

Twenty-word alphanumeric descriptor (or allblanks if a subphrase.)All blanks.

Same as descriptor recordsA l! zeros

Twenty-four word heading.

89

Page 99: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

@ J

I IH_.TI_:O i

il.,f,^_ z_ II_'S_A,,I

9O

Page 100: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

A.I.I._S'f• .P ;,f

J,

g,EA'I_ ,If

¢ouel'r_

O_

Dr_

IS'I'I_IAG&

¢_,,IN t L.. I

t6 _.A E'NT'I[Ir_IIltAm_.,EMrA$_m£

ZI'A_ P

' t

6,#,_IrRIL/_

F__I_T l_l[_iII

II_IP_M'"l"Al_ql[ I

91

Page 101: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

g£G f*/?

_p J_

A¢._l

I-

1_ ,,

-_T P_ 3

P

eA /

I im¢_,

'2 'o_Nr OF_,o_EAP

_#.OAD I_ /M#_IN . /

81 o's I

92

Page 102: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

._o AT"

!

!

FO/._.OW f _ I!

93

Page 103: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

TAgGX

Fo_'r o_"

P

_ d

94

Page 104: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

Rii_z)_ p J

/o,,,, _._ \

FooN_ OF II_A o_ IIw¢'_'r*_' I

N(

NC

_ _..i_ I

J

95

Page 105: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

I_INI " 1'11

ALO

, n ,.,..,_/L,.[rA_ J

SA _'¢rJc J

Q _1 MCD _

I.,'_'r_,,'e .v",,,_,d;_j

I_,)j J

_a

®rI

)

P'_ i--_.:-,G_ -

96

Page 106: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

97

Page 107: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

1.4,.,.1J

N=X

Page 108: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,
Page 109: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

®

@

,)l

',. IN D_._, I

, _.rr_SJ

6

100

Page 110: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

b

/rkll_

®

101

Page 111: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

I+-

I02

®

Page 112: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

t_4_ _-r I,JEvJ

103

Page 113: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

Subroutines UBAD and DBAD

UBAD is entered when an illegal user card is found; DBAD is entered when an illegalvocabulary card is found. Whichever subroutine of these two is entered first will initialize

all output instructions in $ERITE.

Every TSX to UBAD or DBAD contains a number in its decrement that determines the errormessage to be written. This number will be placed in index register one. The RCH

instruction effective address of the RCH will point to the I/0 command that will writethe error message desired.

104

Page 114: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

_o

SDBAD

$UBAD

ill

Ill

105

Page 115: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

Subroutine UPDATE

Subroutine UPDATE is entered in phase 4. The purpose of UPDATE is to create or update

the vocabulary tape while at the same time forming document and/or user profile tapes.This is accomplished by processing information from tape A (input sorted according to

coded values).

The operation of the subroutine UPDATE can be discussed for two types of cases: (1) thereis no old vocabulary so a new vocabulary is being created from document profile descrip-tors three words or less in length, or (2) there is an old vocabulary which has to be updated.

Case 1

A calculation of the number of logical records per file is made and blank space is providedfor the first file of the new dictionary. Then a record is read from tape A using the sub-

routine READA.

If the descriptor is illegal it is rejected with an appropriate message on the BCD outputtape. All messages on the BCD tape are handled by the subroutine WROUT. For valid

descriptors, the type of descriptor is determined and the descriptor is processed accordingly.

The possible types of descriptors are as follows:

1. Headers for either documents or users

2. Dictionary changes

a. Addb. Delete

c. Equate

i. Primary (T in column 71 of input card)ii. Secondary (E in column 71 of input card)

d. Trouble term

3. Document add descriptors

4. User descriptors

a. Addb. Delete

For either document or user headers the record is sent to the routine MVAD which arranges

the record in the format necessary for tapes B and C. Then the record is written out on the

appropriate tape (six logical records per block).

For a vocabulary add card, a check is made to see if the descriptor has been added by aprevious card. If not, the count of dictionary adds is increased by one, the descriptor isset up in the new dictionary by the subroutine FORM and a BCD message indicating the

addition is made on the output tape. The vocabulary tape has a blocking factor of 15, andwhen the output buffer is full the tape is written by the subroutine WDICT.

106

Page 116: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

If the descriptor is already on the vocabulary, a check is made on the first word of the 20-

worcl alphabetic to see if it is blank, tf blank, the alphabetic from the present descriptor

is moved into the vocabulary record anda message is printed indicating this; if the alpha-

betic is not blank, a check is made to determine that the first words of the two alphabetic

descriptors match. If they match, a message is printed saying that the descriptor is already

on the vocabulary; otherwise a message is printed saying that the coded values are equal

but the alphabetics differ. In both cases the descriptor is not added to the vocabulary.

Vocabulary delete records, while valid in an update run, are not allowed in a run to

create the vocabulary. A message to this effect is put out on the BCDtape.

For vocabulary equate cards, processing varies depending on whether the descriptor is a

primary or a secondary descriptor. If a primary descriptor does not match a descriptor

previously added to the vocabulary, the descriptor is set up on the new vocabulary and

the count of vocabulary adds is increased by one. Amessage indicating this action is

printed. If there isa match, the descriptor already on the vocabulary is checked to see

if it isa base descriptor, and if it is not, a message indicating this is printed. Fora

secondary descriptor, a check is also made to see if it is already on the vocabulary. If

not, the count of vocabulary is increased, a message indicating an addition to the vocab-

ulary is printed and the record is set up on the new vocabulary tape. The second word of

the vocabulary record in this case will contain the primary coded value associated with

this descriptor and the count of equate cards will be increased by one. If there isa match

on the vocabulary, the count of equates will be increased and the primary coded value

associated with the descriptor will be moved into the second word of the vocabulary record.

A message will be printed indicating that this word has been changed.

User profiles must be corrected to reflect the synonym relationship established by vocab-

ulary equate changes, hence each such change creates a dummy update for user profiles.

Thus user profile tapes must be mounted whenever vocabulary equate changes are to be

processed. No more than N/2 equate changes should be processed during a single computer

run, where N - core storage required by subroutine UPDATE, COMMON storage excluded.

For a trouble term, a check is made to see if the descriptor has already been put on the

vocabulary. If not, the count of vocabulary adds is increased, the record is set up on the

vocabulary with the second word of the record set equal to zero, and a message indicating

the addition of a trouble term is printed. If there isa match, the second word of the

vocabulary record is set equal to zero and a message indicating that the descriptor was

changed to a trouble term is printed.

For document cards, a check is made to see if the descriptor is on the vocabulary. If not,

the descriptor is checked to see if it should be added. If it is not to be added, the

descriptor, after being rearranged, is written out on the document tape by the subroutine

WDOCT, which uses a blocking factor of six. If the descriptor is to be added to the

vocabulary, the count of document adds is increased, a message indicating an addition

was made to the vocabulary is printed and the record is set up in the vocabulary. A bit

is set in the document record indicating that the descriptor is on the vocabulary, the

record is rearranged and is written on the document tape. If the descriptor is already on

the vocabulary, the dictionary record is updated and the bit is set in the document record

indicating it is on the vocabulary. Then, as in the previous instance, the document re-

cord is rearranged and written out onto the document tape.

There are two kinds of user descriptors - user adds and user deletes. A user add is handled

107

Page 117: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

in the same way as a document descriptor except the record is put out onto the user tape bythe subroutine WUSE and there is a count for new user additions and a count for additions

to old user profiles. User deletes are checked to see if there is a match on the vocabulary.

If not, the record is rearranged and written out on the USER tape. If there is a match, the

number of users having this descriptor is decreased on the vocabulary record and the recordthen is handled the same as is a document descriptor having a match on the vocabulary.

Whenever a coded descriptor is to be added to a profile (document or user), the original

code is replaced by word 2 of the corresponding vocabulary record. Thus terms previously

designated as synonyms or trouble terms are corrected for profile entry (or rejection).

While the descriptor from tape A is processed, an account is kept of the number of descrip-

tors put on the vocabulary so that each file will have approximately 1/100th of the totalnumber of descriptors. Also, a catalog is made of the minimum and maximum coded valuesfor each file. In the situation where 100 files have not been written and tape A is finished,

the remalnlng files will each contain 450 words of zeros and have maximum and minimumvalues consisting of computer words of octal sevens. When all descriptors have been

processed the vocabulary tape is rewound and the first file record contains the tape label.The second record contains the catalog of minimum and maximum entries and the third

record has a table of entries containing the number of logical records per file. This file

is written by the subroutine WDLBL. Also, if there is anything in the buffers for the docu-ment and user tapes, these tapes are written. Finally, a summary of all the changes made

to the vocabulary is written on the system output tape.

Case 2

In a run to update the vocabulary, all descriptor records have to be matched against theold vocabulary. Until a match is found, the records read from the old vocabulary by thesubroutine REDT are written out onto the new vocabulary. The size of each file in the

new vocabulary will depend, of course, on both the number of descriptors on tape A and

the number of descriptors on the old vocabulary. Also, the maximum and minimum codedvalues are again provided for each file on the new vocabulary.

In general, for an updating run, the types of descriptors are processed in the same way asin a run to create the vocabulary, except that dictionary delete descriptors are allowed.

The descriptor is checked for a match on the old vocabulary or for a match with a descriptor

just added to the vocabulary. If there is no match, a message indicating that the descrip-tor is not on the vocabulary is printed. If there is a match, the count of vocabulary deletesis increased, the record is deleted from the vocabulary and a message is printed saying the

descriptor has been deleted.

If all processing of tape A is done but there still remain records on the old vocabulary,these records will be written from the old vocabulary onto the new vocabulary. On theother hand, if the old vocabulary is finished before tape A, the remaining descriptors will

be processed from tape A as described in Case 1. In either situation, final processing ofthe new vocabulary tape and the document and user tapes is accomplished in the samemanner as in Case 1.

108

Page 118: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

$UPDATE I/2

Block Diagram

Ipi¢ D_<,.

/V ov £ o_.D

I_ T To

lye w _oc7-"

109

Page 119: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

$UPDATE 2/Z

Block Diagram

yy_ J

I _ _ _,*_ _,_ Y

|C_AN6 _

e_ eA,v _P

Tt_PE_

1

11o

Page 120: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

$UPDATE l/Z5

fUPD_TE

<EFJTP_y )

I IM ITI ALl _.-JE

A_EA5 flHm

• _._ ITC HE 5

/,,_,_-,. A_ _Mr_E_ o,_

_ 7E5

i._. OF" /

t

COHPr.4"rE : "/'_)'I-AL

NO. OF LOGICAL,

#CCOe]_$ I_ oLJ_b,c-r. 4- I'4O, _F

i A_rr'loN£

IeOMP_TE: 1Q.uloT = AVG. NO. I

el =. L061 ('i_ L I

I_ECole_S PEI_ I

F'ILE I

l_l.ACE: NO.Or

LOGI£AL I_ 6do £b(_

PE_ FIL_ I_1

_.ATA L O (_

\' / \au,F_ / \ / ,.to

111

Page 121: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

$UPDATE 2/25

M v A.ID

ORDZ : O HOVE K_r._TYP£ fo uSE_ TAP£

NO

Y_5

R EATE

IqO

112

Page 122: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

$ UPDATE

Ho v'c Recof. _

ITo DOC u/_IEMT

L-r_._

oL_ tJ-r'E_ FoTAPE AfSu rw _l_

dOLl _JTEIP.. Fo_|•_O_-LiLpIEI_T I

_P_ 6urr_ I

3/25

113

Page 123: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

_ET PIINJ H L_/_

CcbE _N

C'A TA L_L"<. IF

MECESSA£Y

©

No

L (::,G.

$UPDATE 4/Z5

114

Page 124: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

( DUmP

$UPDATE 5125

©

©

115

Page 125: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

116

Page 126: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

?/Z5

NO

117

Page 127: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

SUPDATE 8/Z5

118

Page 128: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

$UPDA TE 9/25

?

119

Page 129: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

$UPDATE 10/25

Z

_¢lm.mteL _'kc/

HES'SA _g -:DE Sc_, PTc_

iP_.- Tv_,c oFpFs_c,e_o_[ l_l HE_>Ad>E

V_LUE" C'F

_N t4_s_A_E

F'o_ S_Eco_'b /

M,_"$¢ ,_GE' |

\ F,_T- /

120

Page 130: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

$UPDA TE 11/25

121

Page 131: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

$UPDATE

s_-r uPIHE_AGE--ICO]_£ _ EC_uA L

Je>L_TALPHA5I :D_F_

D rc_. Wo_J_ I

JN P4E'._AG_" I

PLIT-r'l.ii_ -r',,¢O I

C_DCD VALUC_ I

oF= THE. I_,CT. j

W o#-D n,,¢ H C S-_

_1 -..- -

\FIRST /

I:ooI_JOI_D -to I

I t_E'__ A_E" M_A /J/ _.

\ _ w _o_" /

\N_T 2/

g_ A_ - ISc.R,_PTC_ I"T' AZ:)'I)EZ:) Tol

_c'r, oM aRY J

12/Z5

122

l

Page 132: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

$UPDATE 13/25

123

Page 133: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

SUPDATE 14125

i24

Page 134: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

$UPDATE 15/25

_o

A DD5

L_ _Eec:_ D

I

T.

1

_&_- _

ID, CT IC) t) i_Y

_-_T \ I_-_ wo_- I J_T u P 1

_4E_A_E-- I

] 25

Page 135: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

SUPDATE 16/Z5

126

Page 136: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

$UPDATE 17/25

127

Page 137: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

$UPDATE 18/Z5

I(CEL=O

TA PE

128

Page 138: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

$UPDATE 19/25

Page 139: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

C_,_-i _w__ L_ _"

_Es

_1,'I L_,,T lI _'_'_'° _',_ f /

130

Page 140: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

$UPDATE 21/25

131

Page 141: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

_0

r

_I _ _"

_ ._

E x,s'r tl #0

132

(_ _,_ )

i_N_ _ _0_,_$ I

Page 142: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

_PF_'H

l_eT eo_e_ ]

V/qLct E F'EolL_I

NE_ 2_fCT" /

$._T'o RE

C..c_DED VALUE

t_J MA)_

I DATE OF /TH,5 NuN

_ET

I

NO. OF Io e e-u. _ e. E::,_C£S I

Desc_p___ I

SUPDATE Z31Z5

133

Page 143: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

_ET -'t-vpE-

Do C ELH _klT"

AI>Zp

_A , _

PuT" TYP_

INTO

_E'F WeEb

CO L_N'r" oF

TVf_E

_T--_pE $UPDATE 24/25

.IG,_T "I"ypE - J PuT "TYPE

--i,_/T_ _ _ _sE_ i,NT'e

VA L.U_'S /

$&_T WO_D

cOu_T oF

TVPE

PuT Wo _j" j

cou._'l" /N

Ft_S_&E

_E'T"CO_TFoe TM _"

NEC__3_A_Y

_L_N_S

134

Page 144: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

$UPDATE ZS/Z5

OLD

Page 145: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

Subroutine UPDUS

The building and updating of the two user tapes (coded and historical) is done in thissubroutine.

There are five sections within UPDUS that read or write all binary tapes. All areinitialized upon their first entry and take appropriate action when encounteringredundancy, EOF or EOT. These sections are:

READCUSRID

UHIDWRUID

WRHID

Read sorted tape CRead old user tape

Read old historical profiles tape

Write new user tapeWrite new historical profiles tape.

The FORTRAN II I/0 Package is used whenever it is desired to write on the system outputtape. This is accomplished with a TSX (TAPE), 4 and two calling sequence words.

First in UPDUS, all counters are set to zero. Flags are then set to show whether or not

there is an IP user tape, IP historical profile tape and whether or not on an initial run ahistorical profile tape is to be generated.

If there is an IP user tape, its identification record is checked against the IP user control

card. If there is nota match, a message will be printed on line anda dump will be taken.The same is done if there is an IP historical profiles tape.

The new identification records, with the date of the run, are written on the new user tape(and historical tape, if there is one).

The two types of runs, build and update, will be discussed separately.

Build. All input for building user tapes comes from tape C. The firstdescriptor for any user must be a header. If there is no header, the

user will not be processed and a message will be written on the systemoutput tape. Each add descriptor is checked to see if it should be

added to the user profile. When all the adds have been processed,the percent that have been accepted will be compared to the requiredpercentage (MINU) specified on one of the control cards. If the

accept percentage is greater than or equal to MINU, the user profile

will be written on the binary tape. If not, it will be rejected. Ifthe profile has been accepted, it will be written on the historicalprofile tape if that tape is specified. Descriptor delete cards willnot be processed on a build computer run.

Update. On an update run there are two, or possibly three, inputtapes. The two required are tape C and the IP user tape. If this run

is with historical profiles there will also be an IP historical profile tape.

136

Page 146: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

Users on the old tape(s) that do not appear on tape C are simply copied onto the new binary

tape(s). When a user on the old tape also appears on tape C, the descriptors on tape Cwill be added to or deleted from the old user record. The appearance of a header card foran existing user will be interpreted as a new header and will be substituted for the original

header. No comparison is made withMINU when updating an old user profile, buta newuser, introduced in an update run, will be handled as in a build run.

Any changes to user profiles necessitated by vocabulary equate changes (establishing

synonyms) were transmitted earlier by subroutine UPDATE in a dummy user profile(profile #1). These are gathered and stored in the area of core previously used by sub-

routine UPDATE. Each profile written onto the new user tape is compared with the newlycreated synonym relationships and is modified as required.

137

Page 147: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

_ IN_O_t,z'_'¢l), J

4"o_ _e_. _

tdOJ.

/

_ k,,k'r ¢ N2,_

'_ _.e _,_e_

138

Page 148: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

NO

I"0 _sTOQ._cA_. "_._IL_S.

I

$UPDUS Z/Z

Block Diagram

139

Page 149: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

SUpOUS _/_

St"l

140

Page 150: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

SUPDUS 2/28

Page 151: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

_UPDUS3/28

142

Page 152: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

I>E L e"I_-

_y o_

_ -/

_" _,_.-I

"D_"IE IP 14,_i'Y

'G,_,/

\_-_,o,."I

SUPDUS

v

4/'28

143

Page 153: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

HEAbE_.

om TAp_= C_

_I_APtf-

E A_e_

_Z4

¢_.,S

• :_,_

C144

$UPDUS 5/28

Page 154: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

145

$UPDUS6/28

,_s_,,__._ I \_'_'i_ /

1 I

o_ _o _ 3 _ _

Page 155: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

$UPDUS 7/28

®

Page 156: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

\

$UPDUS 8/28

_ _,_,

1:5.,oo.,_._/L'_s_. j

I

147

Page 157: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

$UPDUS9/_

Page 158: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

SUPDUS 10/28

_o

_£MO,ml; CoVeD

V_L_ Ireo _

Lrc_'_u 6, o_L.'f

L_,_-,o,,/

I

149

Page 159: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

150

$UPDUS 11/28

Page 160: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

$uPDUS 12/28

Page 161: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

®

$UPDUS 13/25

152

Page 162: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

0

Y

_'i-o_,E iT- I

$UPDUS 14/28

153

Page 163: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

$UPDUS 15/28

?

_0

154

Page 164: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

$UPDUS 16/28

©

155

Page 165: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

$UPDUS 17/28

'9

I

rto _'/O

C O _ _,"__. _' _:_,

\___._,__/\_', _ e.. /

156

Page 166: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

SUPDUS18/28

J6F'TL_ __(.,'tnD_

. l%TOt.ff \

x_ z/0 /

\-- _--- _ --/\_. _'I _ /

\_,_. /

157

Page 167: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

I

$UPDUS 19/28

'T

L _ _ &'__'_

I

_.:o_

_ . ._1,,f / "

,3_ej

L

_1

158

Page 168: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

$UPDUS20/28

It

co,"_,eo'_ c-

J

L(

159

Page 169: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

SUPDUS21/28

I

l

160

t

1

IY

Page 170: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

$UPDUS 22/28

V

SeT rL_ O_

IF,1

Page 171: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

$UPDUS 23/28

162

Page 172: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

SUPDUS24/28

i

\_.._._ - i._._ l.l _._'l _ tl c i_'- /

\¢_ _i._. /

?o t.)u¢liT

7

k_.'l-,_.PE -,_..o_

i

163

Page 173: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

V

8

$UPDUS 25/28

164

Page 174: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

"T= C l_ ¢,-V,,

\ "tLP,_e .. '/

,1,,-,,-_>IzoS,,le')

\I_o$_ o_ /

SUPDUS 26/28

( -

iJo

165

Page 175: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

$UPDUS 27//28

_ ETLX !-I,3 3

',1et,

1---_,roll i: 'Tile" I

LCe" "cl_,o-£J

166

Page 176: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

$UPDUS28/28

_ "_.. o "rL_wml;,l _ '_ _,_ _1 i_1_ 'l

'_,

"1"o ILBMe_J{ \ _ "EG_Tlil) _.oM" 1_

I "Tml_,e_, c... I

yes

167

Page 177: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

Subroutine WDLBL

This subroutine writes the first file of the new vocabulary. The first record contains thetape label. If there isa redundancy, an attempt is made to write the record ten times.

If unsuccessful, a message indicating the redundancy condition is printed and tape is

spaced forward. The second record, which contains the catalog of minimum and maximum

entries, and the third record, which contains a table of the number of logical records perfile, are written next. If there isa redundancy, an attempt is made to write the records

ten times. If the redundancy persists, some blank tape is written, and an attempt is made

to write the two records again. If the redundancy still exists, one more try is madewriting blank tape and writing the records. If there is still a redundancy, the records are

written on the system output tape with twelve octal numbers for each computer word.

168

Page 178: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

$WDLBL 1/1

169

Page 179: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

Subroutine WDICT

This subroutine writes the new vocabulary descriptor records, which are blocked fifteen

logical records per physical record. The procedures fora redundancy condition and anend-of-tape condition are the same as those used in WDOCT° A count of the number of

records in the last file of the new vocabulary is kept for use by the subroutine UPDATE.

170

Page 180: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

_cT"

CW]ITRYTEIkl

I'_uF'FE_ _N I

NE_£Ss AR, Y IL

I .... - _ .,- ICtlAklMEI_/ "f'lH E "_YE5 .[

wo_r I I

WR_'E /

\LO_,,c AL/

#VO

ST_ _ E

2EI_OE ._ IrlI{_U FF£ £

[altEA

(_o u-MT oF0 I 0 F B E _ '

_JeITT_ _i

$WDICT I II

171

Page 181: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

Subroutine WDOC

WD©C writes the binary document profiles tape. It is entered from subroutine PDTB. If

a redundancy occurs while writing, ten attempts will be made, after which blank tape willbe written. Ten more attempts will be made.

Subroutine DEOF

DEOF writes five EOF's on the binary document profiles tape. It then rewinds and unloads

the tape.

172

Page 182: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

$WDOC 1/1

SDE OF

W Doe_.

,R\ [sc _" rio

-%.

1/1

\ T£_/ To) / \ _ljl_11"_ /V3_' IT'E I_"r'tLI._?, .

_;_EoF

_O_s-o F- /_IL_ 0,,I/

u_l- _ _-r /

A_b /

V173

Page 183: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

Subroutine WDOCT

This subroutine writes the coded document tape, which is blocked six logical records per

physical record. Fora redundant record, an attempt to write is made ten times. If theredundancy persists, blank tape is written and another attempt to write is made. This

process can occur 24times. If, finally, there is still a redundancy, a message is printedand a dump of core is taken. A message and a dump also will be given for an EOT.

174

Page 184: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

$WDOCT 1/1

;_ W']::)OCT

_. og

AI_y

__HAkINEL 1

Foe TI4L,_ TAI'E II

!

\Lo_ ,_AL/

I_LLFF IE _

iA_._A

175

Page 185: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

Subroutine WROUT

All messages written on the system output tape in PDTB are handled by this subroutine. The

output instructions are initialized the first time through. The exception is the RCH instruc-tion, which must be set up before each TSX to WROUT.

176

Page 186: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

$WROUT l/l

177

Page 187: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

Subroutine WTAPA

Whenever six logical records from $CODER have been stored _n an area called BLOCK

(6 x 27 = 162 words), WTAPA is entered to write these six on tape A as one physical record.

Upon first entry, all output instructions are set up. After the first entry, WTAPA onlywrites the 162-word binary record. Ifonetape is filled, an EOFwill be written, followedbya20-word BCD control record for the SORT subroutine, and anotherEOF. The tape willbe rewound, and the second tape A will immediately be put into use.

After every write, blanks will be stored in every word in the BLOCK area, with the

exception of the first three locations of each logical record (BLOCK, BLOCK + 1,BLOCK + 2, BLOCK + 27, BLOCK + 28, etc.); they will be filled with zeroes.

178

Page 188: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

SWTAPA I/I

\ov_ I

-ili

It-eL o_ ]

I

179

Page 189: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

Subroutine WUSE

This subroutine writes the user tape, which is blocked six logical records per physical

record. All processing in this routine is identical to that in the WDOCT subroutine.

180

Page 190: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

$wusE 1/1

181

Page 191: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

C° SDI MATCH PROGRAM

1. Program Summary

1.1 Description

The SDI Profile Matching Program (MATCH) for the iBM 7090/94 DataProcessing System matches coded document profiles against coded user

profiles, generating notices when match criteria are met. The programruns under the FORTRAN II Monitor System on a standard IBM 7090 or

7094 computer with 32k core storage and two 7607 data channels with

three to five 729 tape units (in addition to FORTRAN units). MATCHconsists of a primary program written in FORTRAN and of several sub-routines, written in FAP.

In SDI-5, profile descriptor matching is a function of matching single-word descriptors, matching or partially matching phrase descriptors, and,

in user profiles, 'must' and 'not' modifiers. Specifically, the MATCHprogram generates a notice of a document for a user when at least one ofthe following matching criteria is met:

1. A minimum percentage of matching 'may' (unmodified)

slngle-word descriptors.

2. One matching 'must' descriptor.

3. One matching or partially matching phrase descriptor: two

words of a two-word phrase, three of three, three of four,

three of five, four of six and five of seven.

But, in any of the above cases, if one matching 'not' descriptor, phraseor slngle-word is also found, no notice is generated; the 'not' phrase

descriptor is subject to the conditions in Item 3 and the 'not' slngle-worddescriptor isequlvalentbutopposlte toa 'must'. Also, in each executionof MATCH, a small percentage of notices may be generated at random to

give the user an idea of what he may be missing due to a faulty profile.

The primary MATCH program contains the basic logic of the SDI profilematching phase. It reads and acts on the control card of the program

parameters, orders profile input activity, determines whether or not anotice is to be sent and generates notices as required. When the primaryprogram reaches statement 200, the FORTRAN monitor is no longer

available; it has been replaced by user profiles in the array USER. This

is done to allow as large a buffer as possible for user profiles. The sizeof array USER is determined by subroutine ERASE, which must be

"called" at the end, physically, of the main program.

The important primary program variables that enter the program via control

182

Page 192: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

cardare:

1. NTAPD2. NTAPU3. NTAPU2

4. NOTIC

5. NOTIC2

6. DATE7. MIN

FORTRANlogicaltapeunit, documentinput

FORTRAN logical tape unit, user input reel 1

FORTRAN logical tape unit, user input reel 2,if any

FORTRAN logical tape unit, notice outputreel1

FORTRAN logical tape unit, notice outputreel 2, if any

Date of computer run (optional)

Minimum match percentage required to generatea notice on the basis of 'may' words

8. NRAND Maximum allowable number of random notices

per user.

Other important primary program variables are:

1. NOTES

2. NOTESR

3. KXTRA

4. KEYGO

5. KORE

Total number of notices written

Number of random notices written

1 if normal run, 2 if restart run

Degree of match

<0 match on 'not' term (no notice generated)=0 no match at all (no notice generated)

0<KEYGO< 100 percentage match on 'may'ferms / J-,.. _conulrlonal notice generation)=100 match on single word user 'must' (KEYGO

then reset to 300 and a notice generated)100<KEYGO<300 match on user phrase

(notice is generated)

Length of array USER.

The subroutines used, in order of their logical occurrence within the

primary program, are:

1. ERASE

2. DATA

3. MATCH

Calculates the size of array USER and storesthe calculated value in cell KORE

Initializes the reading of document and userprofiles from tape

Compares the terms of a given pair of user

and document profiles in order to determine

the number of words found in both profilesi.e., the number of words that match. It

returns a four-part answer:

183

Page 193: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

.

,

6.

7.

PHRASE

RA N DM

WRITE

NEXT

MATCHS

MATCHP

N

KEYGO

Number of matching words used

as single words

Number of matching words used

in phrases

Number of matching words used

both in phrases and as single words

->0 if match on a 'must' word

<0 if match on a 'not' word

Attempts to match user phrases with document

terms. With a non-zero input argument, it

scans for 'not' phrases only. It can reset

KEYGO if a 'must' or 'may' phrase matches

(100<'KEYGO4300) or if a 'not' phrase

matches (KEYGO_0).

Generates random numbers to determine if a

random notice is produced at any given tlme.No user will receive more random notices

than specified by the main program parameter

NRAND, nor will he receive as random

notices any he would (or would not) otherwise

have received on the basis of his profile.

Produces a notice upon command of the

primary program.

Secures a document-user pair of profiles for

matching. It automatically controls all

profile input after its initialization by sub-routine DATA.

1.2 Input

1. Coded document profiles

2. Coded user profiles

3. Control card of program parameters.

1.3 Operating Instructions

The SDI MATCH program is a standard FMS job. The card deck for the

system input tape includes in this order: ** job, * ID, *XEQ, source

decks if any, binary decks if any, * DATA, control card, EOF. Tape

units are assigned via the control card, one or two for user profiles, one

or two for notices, and one for document profiles. All tapes must be

mounted at the beginning of the job, and switching is then accomplished

without operator intervention. A2 is expected as system input. EOJ

occurs when matching is concluded or when an EOR is sensed on the

184

Page 194: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

second reel of notice output. Exit is via the standard FMS routines,

which are provided for this purpose as part of the MATCH I/Osubroutines.

The MATCH program may be restarted at any point after profile matching

has begun. To do so, obtain the profile numbers of the pair of profiles

being matched (console display or memory dump), or of the last noticegenerated (last record on notice tape). Punch these numbers into the

control card (see format), and begin the run again. The presence of thenumbers will cause MATCH to scan to this pair on the user and document

tapes, and then to resume matching at the next following pair.

1.4 Output

1. Document Notices

2. Record Formats

2.1 Input

I . Control CardCols. 4- 5

9-1014-15

19-20

24-25

30-3539 -40

44-45

50-55

60-65

FORTRAN logical unit - document inputFORTRAN logical unit- user input, reel 1

FORTRAN logical unit - user input, reel 2, if any

FORTRAN logical unit - notice output, reel 1FORTRAN logical unit- notice output, reel 2,

if anyDate of computer run

Minimum match percentage required on 'may'noticesMaximum allowable number of random notices

per userUser profile number if recovery run, otherwiseblank

Document profile number if recovery run,otherwise blank.

For document and user profile formats, see the description of theVOCON program.

2.2 Output

. Document Notices, unsorted, card-image records, 14 words per

logical and physical record.

Col. 2 First user initial

3 Document type4 Second user initial

5 Notice type

Blank -- mayM = must

185

Page 195: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

CoJs. 6-15

16-2123-32

33-3840-50

77-80

P :_ phrase9 random

User surname

User profile number

First ten characters of user address

Document numberNext eleven characters of user address

Next four characters of user address

186

Page 196: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

"°vO_ a: : E4_ O 0 _l

P-. ,:d M': 3 ,. -' +°o_ ,_._ . ,, ,_ ..

!! ,i

11

II

II

II

<_ m

0 I

L

i:

L

_ _ _ I oooo_

_ _ _ ooooo

_ _ _ ooooo

__eo_o_o:,o_o_

!.... t......_ _ __ooo,,ooo

_ _ _o_ oo_ooo.

.__:o_o_o:o_o_o.... _o o oSoo

__g_o_o_ o_o_

---Zlooo

• . %,i_ofiomo

o+o

o

_o_o

,o_,o

,o+o

omo

,omo

,o-,

o_o

....!!

o_o o o o

o_o=o o o

.o_o_o o o

,ooolo o o

om o o o

• • • • • * " • " • • " " | | _ | • | | i i I

olo--o o-_ o--o 1--o 'J, olo/. 1i-_ o' o-o .-_\o--.o !_ _; ._/.c t

t+-.-O/OlO-O1_o o--_o7,o/ 7/ylo o

1_0-.'°=0.'.I -_ t -° _'-Y]:'_"\r o_o ,o,,, r_1-o x o _ _o

l_o-_.-o_ o- ",

++1oiH/K/, / ,l aq Io\ ++"*"°I°I"-7 Y'-T 4"-°_°--°I'_P.. I Io o ,,l o.._ ,, o + _-jCo_o_:_ I--+ II o--o ,_olll.+ _".,I_o I_o ._I

_t-_ o o.-_ o--_P,._...b _ E _!/.,ll. oI_ -

i • + • . . + I • "+I- • " • • * " •

;o':o''_;oI ,+,oF_,l'__,'o',,,+o.o.o o,o _8_+ ....

,o o+o_o_o_oooi omo].p, i .-_lo_ ,Io-o o|o-o o ii""l _

_ol+,_ o_o o i omo o _ _,o_,_ o o o o o o _ _

o,n,++olo_ao+ o_o_o 0"_ I e-"'_

,o.,io__-o_oo_-_o_o_ I._- ._,o-, o o o o o o _ _

oN, omo o o_o o_o"-_ _

i

o_ o o o lo o o_ __o _,, 4 o I o u o _1 o i o uo u e'_ _

i --

.... _o_o_,, _ ro

..... o olo:o O_.o _ .oi

........ Io o o_',,--_ _ _

.... o olo o oj_--_ _-'-_ _

,oa, o olo ooloo o _ _ It--,,......... o.-....+, " - I I II I II II 11 I a I

Pe

,...;

ol

187

Page 197: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

K_'OT_O

I_"_,_-_°_-'_-II°_;P,_T_:_ Ll ',_'+' "°" I_

r

[_ _l ll_ _l O_ I]_] _ -

---IB_

_l s_*t_J G

p

IFJCTI_._.-= I

e+ "t-,_._ 'k....

\ _-_.,_ . /

18B

Page 198: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

_ J

189

Page 199: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

_ ik__i _',I_'__ _i ¥ _ "_-

Page 200: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

191

Page 201: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

192

Page 202: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

_ ?_.#,s¢ '_ .__/_t_-¢k_> _

_sG2. kAsANy " No'r""Pk _._,-s= ,_-- -

"rmc_,.?_,O

NO ycJ;

#4._0

T

f°LU =0 <

140

)U

_r

it" I_

173

Page 203: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

/+NOUCk

40

' "/cs

I _S¢ G'S Lt£'T

LV__-X.U,+cI

_tc£

_'f _s_W : 1

(_o-F L(A÷

KeYGdl= w_Y(.l_+_oo

_oT

_,_# = - K_'_I_

194

Page 204: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

L_°

r _¢ _¢ R.A_ !_

i

yJJ

"_ ,-to IS"I

/'...

['r_,s _t s¢ R.

1gETa _ TO

_cc_'_o _, _-o

195

Page 205: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

II_C C _ i_P,IAL _,1"1 L,I

('t:,_,_+',,e.o,,,"r,+-+t_,_

o'_ "boc u_ e,..,xs

TO

-'_'R. o _. IP_f_,,rrv_

o_ "T k_'_" _:o_.e Il,+c _v'r, + ,,+ , ,u I

"_ I: TU, I_.,N TO

"P=,i;&.l _

+_P.._ I-" _++ moT++,.+ I

-_;.,.-_.,_---,_-_--q

/ _ ,'rs i

_lZEuu _NI:> 1"I"

_.<'u,_o_x'r,_ _ J

__._. _-'_ '( -r k

t_,_,,-, _'oy

"_F..T _I, li_N 1"0

[-,.,+¢+;:r-_EO+';-"

+:+-:+.°o_'_o I _\

\ _oN vr _,l, /

196

Page 206: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

_,- _;._ _o._,",_

•,/1_s

_f_ '_ _P6._ _r_.

197

Page 207: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

?

P-..__.'T _.l P.. e,,I

P

+,_ i, i,. c ++,,,,.p t e..+"r,o ,,+o+ _+ "-,++ "'+'+:"".'_

_p

_+_'x'_i41m "To "T_¢

:- .+t _.tl+lp're i

198

Page 208: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

199

Page 209: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

o_ _se_- /v_-I.,_e s /

1,40

bI I _to_'r TP, Pil

_,°._ --_,-,-_-]"P_A _ _'_,TI

"g_oce- s _

_ P_T

COP.. _Np_T" I

"TP,pc -£)_,Jc I

IS_ _t _tT I¢o _1_ III_ II_14b I

E,_,I_ -t-o_ I

200

Page 210: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

201

Page 211: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

G ENER.AL "I..(_?A(.K.AGE

C.CI_AN_C_ TP.^p- :NpUIT_

i

Co $,_'WQ_N'IDS I

_N_ wmAbl_.. I

c6aNNel T'_apf .........

Re'TU_e,N TO

PO.-_T _,T UJ_C6

_ fW'_N_mS l

o,, tke/

04- _¢c=,_.D..< |

1

_ TAQe"

T_Oe-. ..j'/

l Yes

IN '_"_'I_L..I_.._...

t=o_. _,,., t> _JT

t TC_p_

I

202

Page 212: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

D, SDI POST CARD-TO-TAPE PREPROCESSOR PROGRAM

1. Program Summary

1.1 Description

The SDI Post Card-to-Tape Preprocessor Program (NPOST), for the IBM1401 Data Processing System, loads on tape user responses to SDI notices

and POST program control cards so that the responses may be recorded inthe h_storlcal notice response file by POST. The program requires a 1402

card read-punch, 1403 printer, two 729 or 7330 tape drives, and, opti-onally, a 1407 inquiry station; also, 8k core storage, a print line of 132

characters, high-low-equal compare and, optionally, sense switches.NPOST is written in 1401 Autocoder II.

As NPOST loads responses, it checks for validity, counts and analyzesthem. It corrects responses where necessary and possible or rejects

uncorrectable responses and separates those responses with a comments

punch for manual handling. NPOST accepts as many as 6666 responses(the number POST can sort internally). After the last response is proc-essed, NPOST prints the analysis and prepares a backup tape and a

response listing.

Since a starting place should be supplied to POST for economical opera-tion, NPOST provides the option either of having the program look for

the Five lowest document numbers and having the operator choose one ofthese as the starting place via the inquiry station, or of entering a start-

ing place on a card among the responses.

1.2 Input

1. Card Read Feed: User response cards and POST control cards.

2. Card Punch Feed: Blank cards.

1.3 Operating Instructions

1. Ready the 1401 system: output tapes on units 2 and 3, printer

with wide paper, card reader with condensed program deck

followed by control and response cards, card punch with blankcards, check stop switch off, sense switch A on, sense switch

F on if inquiry station option used.

2. Load program cards.

3. EOJ will be indicated on printer.

4. If sense switch F is on, additional instructions are printed at theinquiry station.

203

Page 213: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

1.4 Output

1. Tape Unit 2: User responses and POST control cards.

2. Tape Unit 3: Duplicate of tape 2.

3. Printer: Analysis and listing of tape 2.

4. Stacker NR: Accepted responses with comments punches.

5. Stacker 1: Accepted responses.

6. Stacker 8/2: Rejected responses with uncorrectable errors.

7. Stacker NP: Blank cards (fed for timing).

8. Card Read Feed: Responses in excess of 6666.

2. Record Formats

2.1

As user responses (Item 7) are returned to the SDI System, each day'saccumulation is headed with a date card (Item 6) containing the date of

receipt. About four boxes of such date-and-response-card sets are the

maximum input to NPOST, headed by POST control cards (Items 1-5).The order of the cards is the order of the following llst. For more infor-

mation on the purposes of the POST control cards, see the description ofthe POST program.

Supply Items I-5 as necessary. Only Item 1 is mandatory.

1. Second Notice Date (1 or more, 10 max.)Cols. 1 C

41-44 Date, numeric month and day

. User Closeout (15 max.), optional.Cols. 16-22 User number

71 7

, Report Limits (10 max.), optionalCols. 1- 6 Lower limit document number

7-12 Upper limit document number71 9

. POST Starting Place, optionalCols. 33-38 Document number

71 8

° Document Supply Cancellation (10 max.), optionalCols. I- 6 Lower limit document number

7-12 Upper limit document number71 8

Supply sets of Items 6 and 7 as explained above.

2O4

Page 214: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

,

.

Response Receipt DateCols. 1 * (asterisk)

41-44 Date, numeric month and day

1st and 2nd Responses (mixed)Cols. 16-22 User number

33-38 Document number

39 2 if second response

71,73,75 Response code: +, -, 0, 2 are valid

responses, 3 or T in 75 signlfiesa comment

Other information punched in the response card is not

utilized by NPOST or POST.

2.2 Output

° Tape Unit 2: Card image of control card and response cardinput, suitable for BCD input to IBM 7090/,94 Data Processing

System, 84 characters or 14 words per physical and logicalrecord, one file. Exceptions: column 1of Items land6isblank.

2. Printer: Analysis and listing.

3. Stacker 8/2: Sets of rejected responses, each set precededby a duplicate receipt date card. The date card is punched

whether or not any responses of that set are rejected.

The formats of outputs not listed above are either identical to inputs

or are self-explanatory.

205

Page 215: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

Lv

Eel"2O6

Page 216: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

# ,

207

Page 217: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

E_ P:

TdPl _ _N_

I- I 5u_44 _ |

J

TAPE 0_ /

No_ F_*,.,,vr_-i)

L

1AT Eo3 _ord rctP_3 R_-_a,',qb

Ig /,,vD_',,,rrfl.J o,¢r/.l_ lfl,_ _.

208

Page 218: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

E. SDI POST PROGRAM

1. Program Summary

1.1 Description

The SDI Post Program (POST), for the IBM 7090/94 Data Processing

System maintains the historical notice-response file. The program runsunder the FORTRAN I! Monitor System on a standard IBM 7090 or 7094

computer with 32k core storage and two 7607 data channels with eight

729 tape units (in addition to FORTRAN units). POST is written in FAP.

The historical notice-response file is produced by executions of POST andby the SDI MATCH program. It is maintained in document order. Within

a document, notices are ordered by first response, second response and

man number. Following the last notice of a given first-response codewithin a given document is a tally record showing the number of responseswith that code, or in other words, the number of notices of the document

preceding the tally record. The last tally record for a given document

also includes the classification of the document, the current supply ofcopies and the total notices issued for the document.

functions of POST in maintaining the historical notice-response fileThe

are:

1.

2.

.

4.

Merging notices into the file.

Recording or posting user responses to the notices in the file

and preparing second notices to accompany documentsrequested by users.

Modifying the file in the cases of users leaving the systemand cancellations of document supplies.

Printing out portions of the historical file as requested.

The notices to be merged into the historical file are corrected recordsremoved previously because of errors and additions of new material. The

responses to be posted to the notices were loaded on tape by NPOSTalong with POST control cards. In phase 1, POST sorts the responses on

document number and saves control information in appropriate tables.

Responses for documents below the starting document number (starting-place control card), are dropped to be posted in a later run as are

responses for documents not yet added to the historical file. POST thencopies the historical file to the starting point, merging notice records os

necessary. If any documents passes are within a report-limlt range(report-limits control cards), they are written out on the report tape. In

phase 2, response posting accompanies the copying and merging of thehistorical file and alternate notices. All records foraglvendocument-

historical notices, notices and responses - are loaded simultaneously in

209

Page 219: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

core. If thedocumentiswithina cancellation-llmitrange(document-supply-cancellatloncontrolcards),thesupplyof copiesissetto zero.Thenresponsesandreceiptdatesareposted(response-recelpt-datecontrolcards/.Foreverycopyordera datedsecondnoticeispreparedif a copyisavailable(second-notice-datecontrolcards/;if not,a memoispre-pared.Whenall responsesfor thatdocumentareposted,theprogrammarkscloseoutswhichareoutstandingnotices for users who have left the

system (user-closeout control cards_. Then, it sorts the notices, wrltesout the document if it is within a report-llmits range and writes it out.

As each document is processed, statistics are updated to summarize theactivity in this run. The final statistics are then written out _na state-ment at the end of the run.

The tape unit assignments for POST files are set by EQU statements at thebeginning of the POST program. They are:

I. N

2. J

3. M

4. I

5. T

6. H

7. G

8. F

9. W

Input historical file, channel A, unit 5.

Alternate notice file, channel A, unit 6.

Response file, channel B, unit 5.

Output historical file, channel B, unit 6.

Report file, channel A, unit 8.

Punch files - second notices, memos, exceptions -channel A, unit 7.

Intermediate memo file, channel A, unit 4;

copied to Item 6 at EOJ.

Intermediate exception file, channel B, unit 1;copied to Item 6 at EOJ.

Statement, channel A, unit 3; the system outputtape.

Other important POST program variables include:

1. CHANS The number of channels used, currently 2.

2. SIZE Maximum number of notices per document,

currently 1000.

3. REC Maximum number of logical records per physical

record (blocking) of the historical notice-responsefile, as output. This variable depends on thesetting of sense switch 2 (see Section 1.3).

4. MAX MAX = 14" (REC + I).

5. MAXO MAXO = 14, (REC).

6. NRS Maximum number of responses per execution,currently 6666. The value of (3" NRS) cannot

exceed the value of (20, SIZE). POST performs

an internal sort on the responses; 6666 is the

210

Page 220: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

.

.

.

CSlZE

RSIZE

SSIZE

maximum number that can be sorted.

Maximum number of closeouts per execution,currently 15.

Maximum number of report intervals perexecution, currently 10.

Maximum number of supply cancellatlon inter-

vals per execution, currently 10.

10.

11.

RQSIZE

LPATCH

Number of second notices to receive the same

date, currently 250. RQSIZE _sa reflection of

the number of copies that the SDI clerks canmail in one day.

The address of the first unused location in the

area PATCH. Because POST uses all space

above itself for data, an area called PATCH

is reserved for changes. LPATCH must beup-dated as the program is patched.

1.2 Input

1. Historical notice-response file.

2. Alternate notice file (for merging).

3. Responses and control cards (from NPOST).

1.3 Operating Instructions

The SDI POST program isa standard FMS job. The card deck for thesystem includes in this order: ** job, * ID, * XEQ, source decks if any,

binary decks if any, EOF. A2 is expected as system input_ A3assystem

output; POST requires the I/O table from VOCON.

Sense switch settings are:

1. SS2 ON if historical notlce-response file is to bewritten unblocked.

SS5 ON if alternate notice file is present.

SS1 Set ON when last reel of historical file is

mounted_ on throughout run if only one reel.

SS3 Set ON when last reel of alternate notice file

is mounted; on throughout run if only one reel_

OFF if no alternate file.

.

3.

4.

Program stops are:

1. (3363) 8 If EOR historical file input, mount next reel

and press START. +

If EOF, set on SS1 and press START.

211

Page 221: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

.

.

4.

(3372) 8

(3530) 8

(2631) 8

If EaR alternate notice file, mount next

reel and press START.If EOF, set on SS3 and press START.

EaT on output historical notices; mountnext reel and press START.

EOJ. POST destroys any part of the monitorabove itself, and thus cannot exit throughthe monitor.

1.4 Output

1. Historical notice-response file (updated)

2. Second notices

3. Memos

4. Exceptions

5. Document reports

6. Statement.

2. Record Formats

2.1 Inpu_._._t

1. Historical Notice-Response File

Starred fields are added to the records by the POST program. The

file is sorted on document number, first response, second responseand man number. It may be blocked or unblocked; see variableREC.

la. Notice Records

Char.

24

6-1516-21

33-3637 -4041-44

45 -4855-60

7172

758O

First user initial

Second user initialUser surname

User profile number* Date of first notice

*First response receipt date*Date of second notice

* Second response receipt dateDocument number

*Response code of first response*Response code of second response

*Digit 3 if comments punchNotice type

Blank = mayM = must

P = phrase9 = random

212

Page 222: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

Theallowableresponsecodesin ascending sort order are:

+

027

Blank

Of interest, copy requestedOf interest, copy not requested

Of interest, have seen beforeOf no interest

User closed out without response

No response

lb. Tal ly Records

POST expects a final tally record for each document from the MATCH

program; if one is not provided, the document is assumed unclassified

and the copy supply unlimited. POST creates_ntermediate tallyrecords containing the fields identified by +.

Char .

1

+50-53

+55-6064-65

74-77

Classification

Blank = unclassified+ -- classified

* Number of notices with given first-response codeDocument number

Copy supplyTotal number of notices for the document.

2. Alternate Notice File

The format of this file is the same as that of Item 1, unblocked.

. Responses and Control Cards

The formats of these cards are listed in the discussion of NPOST,

the program that loads them on tape.

2.2 Output

1. Historical Notice-Response File (updated)

The format of this file is the same as that of Item 1, input.

. Second Notices

The format of this file is the same as the format of the second

response, listed in the discussion of NPOST, with the exceptionthat the response field has not yet been punched by the user.

, Memos

The format of this file is the same as the format of the second

response, listed in the discussion of NPOST, with the exception

of the response field and the second-response identification code.

4o Exceptions

This file includes all valid responses that do not fall within the

document range processed by a given execution and any notices

213

Page 223: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

o

o

rejected as being out of document order. These records

have the formats of their respective files, Items 2 and 1,input.

Document Reports

The format of this file is the same as Item 1, input, unblocked.

Statement

214

Page 224: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

NOTE 1

The POST program was developed in another context.

It is a useful adjunct to the NASA-SDI system, but assubmitted, is not integrated completely into the system.

215

Page 225: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

Y

216

Page 226: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

217

Page 227: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

©

218

Page 228: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

219

Page 229: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

A. SYSTEM DESCRIPTION, NASA-SDI

SDI - the Selective Dissemlnationof Information - implements the philosophy that

the supplying of relevant information to persons desiring it, from the bulk of in-

formation available, can be accomplished effectively and economically bymachine.

SDI may be said to be the reverse of a conventional library operation. A library

stores documents and waits for users to come in the door. An SDI system stores

representations of users' interests, and, as documents come in the door, the system

disseminates to users notices of documents that appear relevant to their interests.

An SDI user is represented in the system by a profile i.e., a list of descriptors

that delineates his fields of interest. Information, the content of a document, is

similarly represented. Periodically, the system edits user profile changes, new

user profiles, and incoming document profiles against a vocabulary control guide,

to insure that all profiles utilize the same descriptors to identify the same things.

Then, the system compares these profiles with each other, selecting the documents

apparently relevant to the stated interests of each user. For any comparison,

matches on given numbers of descriptors determine relevancy. Notices of thedocuments are then sent to users. A notice consists of the document abstract and

descriptors printed on a 3 x 5 card and of a Port-A-Punch @ card with which

copies of the document may be ordered and actual degree of relevance indicated.

Two major computer programs comprise the SDI system designed for the National

Aeronautics and Space Administration, called NASA-SDI. These two programs

are: the Vocabulary Control Program (VOCON), and the Profile Matching Pro-/n -i-/-, i_ _ 1-, f-_

gram _MA_.H). v'O_..vN updates or originates the vocabulary .... i,.on,,,,, guide,

updates or originates the user profiles, and edits document and user profiles

against the vocabulary control guide. MATCH compares document and user

profiles, generating document notices when the designated match criteria are met.

In sections B and C following, VOCON and MATCH are presented from a pro-

gramming and operating standpoint, including detailed record formats and program

flow charts. They are shown schematically in Figures 1 and 2. For a condensed

description of what is accomplished by VOCON and MATCH in terms of the SDISystem phase, refer to Volume I of this report, Section B (NASA-CR-62020) •

A third major computer program (POST), and its preprocessor (NPOST), are also

presented in sections D and E following. They are shown schematically in Figure

3. POST is the SDI Posting Program. It maintains the historical notice-response

file, recording or pasting user responses to the notices in the file and preparing

second notices to accompany documents requested by users. The purpose of the

historical notice-response file is the accumulation of statistical information about

system performance and the handling of document requests. NPOST loads on tape

the user responses (returned notices) and POST control cards, checks the responses

for validity, and limits the number of responses sent to POST at any one time.

Page 230: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

POSTandNPOSTarenotcompletelyintegratedinto theNASA-SDISystem.NPOSTwill loadNASA=SDIresponseson tape, andPOSTwill postthemto thehistoricalnotice-responsefile. But, thesecondnoticespreparedby POSTwouldrequirefurtherprocessingto addNASAaddressesto them. Similarly, thenoticesgeneratedbyMATCHthat formtheskeletonof thehistoricalnotice-responsefilerequirea changein formatbeforePOSTcanusethem. Tocircumventthefirstdlscrepency,theNASA-SDISystemutilizes second notices prepared ahead in

quantity with the document number and date omitted. This information is added

later when a specific document has been requested. To eliminate the second

discrepency, IBM has supplied to NASA a 1401 program that changes the formatof the MATCH notices for POST.

To summarize: Three programs are submitted to NASA and presented here as parts

of an SDI System. Two of these, VOCON and MATCH, form the necessary parts

of the NASA-SDI System. They were prepared by IBM to meet the specific needs

of NASA. The third program, POST, was developed in another context. It is a

useful adjunct to the NASA-SDI System, but, as submitted, is not integrated

completely into the system.

/

Page 231: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

8

6

c Zo o_u

E

o x_tu

,<_--U

_ L

.; z8_-o_

U u

oo_

E

>.

o

o_ _

mzo

Gz8

EU u

,,_ > uJ

8

_zO

3u

_9

8z8

E

8

o_ oo .o c

• __o_ o2 _ ",r.

E _

_b

o_o u o _ o -

u.q o_ 2 .-,:

.lo

o

Page 232: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

EB

(:

z_o=

E

OE

4

IE

4

"- P_n o'E _ O0 0 _ 0 _ 0

_3-_ ....

4m

I

i

!

Ii

g8

• 0

I V :-_

f

I2g

c u- o

' _

4

_;! _

/ /

Page 233: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

_o_ _o_ _o_

cO _c-_.ua

_I

o .

-- i .u

c o

c u.- ._

_e I_ _ i_ I

0_ .....

__

- .____ .: _

_Z_,_ "6

_i _'-

._ _ o.___gr-

T

°" il

I __J k__

_0

o

-I _'_

Page 234: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

S. SDI VOCABULARY CONTROL PROGRAM

1. Program Summary

1.1 Description

The SDI Vocabulary Control Program (VOCON), for the IBM 7090/94

Data Processing System, maintains the vocabulary control guide and

prepares and edits user and document profiles for matching. The program

runs under a modified version of the FORTRAN II Monitor System on a

standard IBM 7090 or 7094 computer with 32k core storage and two 7607

data channels with eight 729 tape units (in addition to FORTRAN units).

VOCON is written in FAP and utilizes the FORTRAN input/output

package, lOP. It consists of a primary program and several subroutines.

The overall purpose of VOCON, in terms of the SDI system, is to insure

that the user and document profiles utilize the same descriptors to identify

the same things, so that system accuracy and effectiveness are improved.

In other words, descriptors to be used in matching are either accepted or

rejected, depending upon whether or not they appear in the vocabulary;

but, the vocabulary itself is also accessible to change, as fields of

interest appear, expand and contract. Specifically, VOCON updates

or originates the vocabulary control guide, updates or originates the user

profiles and edits document and user profiles against the vocabulary

control guide.

Profile descriptors entering VOCON consist of single words or phrases;

user descriptors may also be modified by 'must' or 'not' (for more infor-

mation -" ip .^_ _A^'rr, ,_vn user descr tors, _.......... j All J .... : ......... the• vocaou-U_'_,I I_IUI _, Irl

lary control guide are single words, condensed or coded into singfe-

machlne-word values, and the guide ismaintained in coded-descrlptor

order; the Englishdescriptorisalso associated with the code. The guide

contains primary descriptorsthatare admlssable words (unmodified),

secondary descriptorsthat are synonyms equated to primary descriptors,

and trouble terms that are inadmissable words, such as "system" The

vocabulary may be changed at any time via word input. The document

and user profilesprepared for matching contain only coded descriptors.

Optionally, the user profilesmay also be maintained in a historicalfor-

mat that includes the English descriptors• The input user profiles enter on

cards; the input document profiles are provided on tape via other NASA

operations. Phrases input in document profiles are divided into their

component words so that the final document profiles are lists of coded

single words. These document words also build the vocabulary; any newterms occurring in the documents are automatically added to the vocabu-

lary. Phrases input in the user profiles are maintained as are 'must' and

'not' modifiers, and the component words of phrases are also added to

the user profile as single words. User words are not automatically added

to the vocabulary.

6

Page 235: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

TheprocessingaccomplishedbyVOCON isdividedintoninephases,underthedirectionof theprimaryprogram,MAIN. Oneor morephasesmaybedroppedfroma givenexecution,dependinguponthe inputto theexecution. Thepurposesof thephasesare:

1. Readandprocessall controlcards. FormIO tapeusagetable.Anyerrorherewill causeanerrorexit with appropriatecomment.

2. Readall newinput, codingdescriptorsandformingrecordson tapeA for sorting: vocabulary changes, document pro-

files, user profile changes, new user profiles. Controlling

subroutines GDNRY, GTDOC, GTUSE, CODER.

3. Sort tape A on coded value of descriptors, maintaining

profile number (zero if vocabulary change), and item serial

number. That is, form an inverted file from tape A. Con-trol ling subroutine SORT.

4. Pass tape A against the vocabulary, simultaneously updating

the vocabulary and writing out accepted items, document

descriptor items onto tape B and user descriptor items onto

tape C. Any vocabulary EQUATE changes will generate

modifications for user profiles on tape C. Controllingsubroutine UPDATE.

5. Sort tape B on profile number and item serial number.Control ling subroutine SORT.

6. Sort tape C on profile number and item serial number.

Control llng subroutine SORT.

7. Create the document profile tape for matching. Controllingsubroutine PDTB.

8. Update the user profiles and form the user profile tape for

matching. Controlling subroutine UPDUS.

9. Summarize program activity, then exit.

The control cards examined in phase 1 introduce all tape unit assignments

and tape number assignments where required, as well as variable program

parameters. The presence or absence of control cards and parameters

governs the course of the program with respect to creation or updatingof various files, etc., or restart. The variable program parameters are:

I. DATE

2. NPHASE

3. MINU

4. MIND

1.2 Input

Date of computer run

Starting phase for recovery run

Minimum percentage value of accepted

descriptors for retention of user profile

Minimum percentage value of accepted

descriptors for retention of document profile.

1. Vocabulary control guide

2, Document profiles

7

L

Page 236: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

3. Coded user profiles

4. Historical user profiles (optional)

5. Control cards, vocabulary changes, new user profiles, user profile

changes, user report requests (optional with Item 4).

1.3 Operating Instructions

The SDI VOCON program is a standard FMS system job with a special

system tape. The card deck for the system input tape includes in this

order: ** job, *ID, * lOP, * XEQ, source decks if any, binary decks

if any, * DATA, control cards, vocabulary changes if any, new user

profiles if any, user profile changes if any, EOF. The following in-

structions and comments apply to the three types of runs, initial, update,

and restart. Online messages trace the execution and provide operatorinstructions.

A. Initial Run

Run to create the vocabulary and/or user profile tape(s) and/ordocument profile tape.

1. At the start of the job the following tapes should be mounted

on the drives specified in control card 6:

a. System input tape

b. IP document tape (if any)

c. OP vocabulary tape

d. OP historical profile tape (if any)

e. OP user profile tape, reel 1 (if any)

f. System output tape

g. For any logical tape number found on card 6,

mount a scratch tape on the appropriate drive

if none of the tapes mentioned above (a to f)is mounted on it.

. At the end of phase 4 the OP vocabulary tape will be rewound

and unloaded. A message will be printed to mount the second

reel of the OP user profile tape or a pool tape if no second

reel. The computer will halt until this tape is mounted andSTART is pressed.

. At the beginning of phase 7, a message will be printed to mount

the IP user profile tape and the first reel of the IP historical

user profile tape if these tapes are needed for this run. However,

the computer will not stop for this mounting operation.

4. During phase 8, a message to mount the second reel of the IP

historical user profile tape will be printed if necessary.

5. During any phase of the program a message to mount a new

system output tape will be printed if necessary.

B. Update Run

Run to update the vocabulary tape and/or to create or update the

Page 237: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

TAPE5

1

3

.z

,S

Ulu _T E"

i

PHASE5

I 5_ i (,:,TAPE

IN Pb_'r

I'NP_-r

TAPF- A

5oRq-- _COPo_S OLDDcCT

OF ALL-

IW P'_T 3_A'FA N_J(__.z #EELS) D ir_l"o

Oo_JTROL cA_s IK/VE P_TE_

N_J us_P-.I,Je,_, TAP£ A

C_AN_S1

ALL l_)PuT

D AT-A

I 7 i_#e

DuI> u_SE.P--.

P_.o FI _-E5

NEu5

£_or_Lr_

Ng_/

S_-P_ I rqL U- S E/_

Ikl PL_T

_L]Z)

P_)OFIL-ES

PeOFILES

_'rF_D_R_D FM5 "['APEOF P_INTED du-TeJ, T

ODD TAPE5 --) QPlA_NEL F3 EVEN "FAPES--)(2HA_JWELA IF FoErP_J Lc,$_e.AL5"

15 O_ _MArJNEL A, OTHEeWISE tQ.E" I-IAVE THE _EVE_5_

Figure 4. VOCON Tape Usage Scheme

9

Page 238: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

user profile tape and/or to create the document profile

tape. The only differences from an initial run are:

1. Instead of reel 1 of the OP user profile tape, a pool

tape should be mounted on the specified drive.

2. A message will be printed during phase 3 to mount

the IP vocabulary tape on its appropriate drive.

. At the end of phase 4, both the I P and the OP

vocabulary tape will be rewound and unloaded. A

message will be printed to mount the two reels of

the OP user profile tape. If there are not two reels

of OP user profiles the message will indicate that apool tape is to be mounted.

Restart Run

If either an initial run or an update run is terminated before com-

pletion of phase 9, the following procedures should be observed:

1. Save all online messages.

2. Remove all tapes noting their respective drives.

° If the last phase printed online is either phase 1 or

phase 2, the job must be rerun from the beginning. A

job will be terminated in either of these phases with

an online message if a control-card error or a redundant

tape exists.

In the first case, the input deck setup should be checked and themissing card inserted or an erroneo,-s ,',_rd ..... .s_ _-. _,.,,,ec,eu as ihe error

warrants, and the job should then be rerun. In the second case, if

the input tape is redundant, a new input tape will have to be

generated and the job rerun. If tape A (the tape being written in

phase 2) is redundant, a new pool tape should be substituted for that

tape, all tapes should be remounted on their respective drives, and

the job rerun with the original input tape.

4. If the last phase printed online is phase 3 or beyond:

a. The IP document profile tape need not be mounted

but a pool tape must be mounted in its place.

b. Vocabulary and/or user cards should be removed from

the input deck setup; thus, the last two cards in the

deck setup will be control card 8 and the EOF card.

It is very important that card 8 contain the additional

punches described if there originally was any document

and/or user input or vocabulary EQUATE changes.

Also, the phase number on card 8 will be the last

10

,'_P /_.e") /

Page 239: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

phase number appearing in the online messages.

These changes, therefore, necessitate the use of a

new input tape when restarting any job beyond

phase 2.

C° If the job was terminated because an incorrect tape

was mounted, a message will be printed indicating

this situation. The correct tape should be substituted

for this tape and all tapes should then be remounted

on their respective drives and the job restarted.

d° If the job was terminated because of a redundant tape

during any of the sorting phases (phase 3, phase 5 and

phase 6), a new pool tape should be substituted for

that tape, all tapes should be remounted on their

respective drives and the job restarted using the newinput tape.

. In phases 4, 7 and 8 where a restart job needs a new input

tape and also requires the tape generated on the FMS systeminput tape unit, change control card 6 in cols. 37-38 to

the logical tape number for a drive not being used, mount

the generated tape on this drive and mount the new input

tape on the FMS system input tape unit.

1.4 Output

1. Vocabulary control guide, updated

2. Coded document profiles

3. Coded user profiles, updated

4. Historical user profiles, updated (optional)

° Printout of vocabulary acceptances and rejections, user and

document profile acceptances and rejections, user reports

(optional with Item 4).

2. Record Formats

2.1 Input

1. Vocabulary Control Guide

The vocabulary control guide consists of 101 files. File 1 is a

label. Files 2-101 are vocabulary records sorted on coded

descriptor value.

a. File 1

11

Page 240: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

b,

Record

1

2

label of 12 words (72 characters)

catalog of entries: 100 consecutive pairs of

computer words corresponding to the upper andlower limits of a corresponding data file. The

first entry in this catalog will always be a word

of all zeros. For files having no entries, both

limits will be computer words of all sevens.

100 computer words each of which contains the

number of logical records in the correspondingfile.

Files 2, 3, 4, .... 101

Each of these files contains approximately 1/100th of the

entire vocabulary. Each physical record is 450 words long

consisting of 15 descriptor records each 30 words in length.

Each descriptor record has the following format:

Word

1

2

3

4

5

6

7-26

27-30

coded descriptor

coded descriptor. If word 1 = word 2, this is

a primary descriptor. If word 2 is zero, this

is a trouble term. Word 1 may never equal

zero.

date of first appearance in any document pro-file or zero.

date of first appearance in any user profile orzero.

number of documents having this descriptor or

zero.

number of users having this descriptor or zero.

alphanumeric descriptor, not over 120characters or blanks.

not used. All zeros.

2. Document Profi (es

This file is provided via other NASA operations, from which itsformat can be obtained. It is sorted on document number.

3. Coded User Profiles

The coded user profile tape consists of three files. Files 1 and 3

are labels. File 2 is sorted on user number and coded descriptor.

a. File 1 One record

b.

Char.

1-65

66

67-72

File 2

tape identification

tape number (1, 2.... )

date tape was created

One record per user _-5000 words

12

Page 241: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

Word1=24252627

28-3031

user header, card imagedate of entry to systemdate of last change to recordBit

1=12 number of single-word codeddescriptors in sorted order, N

13-24 number of added on latest run,M,not sorted

25-36 number of deleted single-worddescriptors, L

not usedreserved to indicate presence of 'not'descriptors

Following are M + N words of slngle-word coded descriptors:

BitS=2

3-32

33-35

Octal 0, 'may' descriptorOctal 1, 'must' descriptorOctal 2, 'must' authorOctal 3, 'must' contract numberOctal 4, 'not' subject fieldOctal 5, 'not' authorOctal 6, 'not' contract numberOctal 7, 'not' descriptor

These thirty bits contain the coded value of thedescriptor word or phrase.For single-word descriptors, an octal 0 indicatesdeleted word, 1 that descriptor is used only as asingle word, 2 that descriptor is used only in aphrase, 3 that descriptor is used both as a singleword and in a phrase, 4 that descriptor is aspecial descriptor.

C.

The remainder of the record consists of the coded values of the

phrase descriptors and pointers to corresponding word locationsin the slngle=word area. A given phrase would consist of oneword of code, followed by as many words as are needed to con-tain the pointers, three to a word.

File 3

Word1

2=14

One record

Number of next user tape (0 if zero is last oronly tape, otherwise 1, 2,..)Not used

4. Historical User Profiles (Optional)

The historical user profiles consist of three files. Files 1 and 3 are

13 _,I°- _ "_o_ /

Page 242: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

5(a).

labels. File 2 is sorted on user number.

a. File 1 One record

Char.1-6566

67-72

Tape identificationTape number (1, 2, ...)Data tape was created

b.

Co

File 2 One record per user_ 1000 words

Record Format:

Word1-242526

Following

Word1234

5 thruN-3

File 3

Word1

2-14

User header, card imageDate of entry to systemDate of deletion from system (zero if active)

is one logical record per descriptor in this format:

Coded value of descriptorDate descriptor was added to profileDate of deletion of descriptor (zero if active)Length of this logical record, N

BCD descriptor, as many words as needed

One record

Number of next historical profiles tape (zeroif last or only tape; otherwise 2, 3, ...)Not used

Cantro! Cards

Card 1Cols. 1-6

Card 2Cols. 1-72

Card 3Cols. 1-72

Label of input vocabulary. Slashes in 1-6if no such input tape

Label of output vocabulary control guide(used only if no input vocabulary file.)

Label of output coded user profiles

Card 4Cols. 1-72 Label of input coded user profiles.

in 1-6 if no such input tape.

Slashes

Card 5Cols. 1-72

Card 6

Label of input and output historical user profiles.Card 5 is blank if no historical profiles.

Input tape unit assignment. First four tapes onone channel, next four on second channel.

14

Page 243: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

SCb).

Cols. 1-2A blank or zero assignment is not permitted.

Input document profiles and input coded user

profiles, reel 1

7-8 Output document profiles

13-14 Output vocabulary and output coded user

profiles, reel 2

19-20 Input historical user profiles

25-26 Output historical user profiles

31-32 Input vocabulary and output coded user profiles,reel1

37-38 System input tape

43-44 Input coded user profiles, reel 2

49-50 System output tape

Card 7 Tape numbers for which mounting will be re-

quested on llne. A blank indicates that no tape

exists for this file. Tapes not mentioned aremounted at start of run.

Cols. 8-12 Input vocabulary

14-18 Input coded user profiles, reel 1

20-24 Input coded user profiles, reel 2

26-30 Input historical user profiles, reel 1

32-36 Input historical user profiles, reel 2

38-42 Output coded user profiles, reel 1

44-48 Output coded user profiles, reel 2

Card 8 Program parameters

Cols. 1-6 Date; numeric month, day, year

17-18 Phase number at which restart is to begin

22-24 Minimum percentage value of accepted

descriptors for retention of user profile

28-30 Minimum percentage value of accepted

descriptors for retention of document profile

If job is restarted, add to card 8 the following:

Col. 14 1 if document profile input, blank if none

16 1 if coded user profile input or vocabularyEQUATE changes, blank if neither

Following the eight control cards are cards for vocabulary and user

changes.

Following those, if any, is one of two cards:

Cols. 1-6 NODOCT if there is no input document profile tape.

1-7 DOCTAP1 if there is an input document profile tape.

DOCTAP2 if there are two input document profile

tapes.Vocabulary ChangesCard 1

Cols. 1-4 DICT C'_,,__ _._ I

15

Page 244: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

Descriptorsmaybeaddedto or deletedfromthevocabulary,classified as trouble terms, or equated as synonyms. The

trouble terms and equate changes will also add descriptors to

the vocabulary if the descriptors involved are not already there.

a. Add Changes

Card 1

Cols. 1-60 Alphameric descriptor71 A

72 Blank if no second card, C if secondcard fol lows

b.

C.

do

Card 2

Cols. 1-60

71

72

Delete Changes

Alphameric descriptor continuedA

Blank

Same as add changes, except D in col. 71.

Trouble Term Change

Same as add changes, except * in col. 71.

Equate Change (will cause updating of user profiles)

Card 1 Secondary

Cols. 1-60 Alphameric descriptor, secondary71 E

72 Blank if no second card, C if secondcard fol lows

Card 2 Secondary

Cols. 1-60 Alphameric descriptor, secondarycontinued

71 E

72 Blank

Card 3 Primary

Cols. 1-60 Alphameric descriptor, primary71 T

72 Blank if no second card, C if secondcard fol lows

Card 4 Primary

Cols. 1-60 Alphamerlc descriptor, primary,continued

71 T

72 Blank

Last Card

Cols. 1-6 ENDICT

5(c). New user profiles and user profile changes.

16

Page 245: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

Card 1

Cols. 1-4 USER

New Users - Header

Card 1

Cols. 1- 6

8,1012-30

36 -38

44 -48

52

53

70

71

72

Card 2

Cols. 1- 6

7-66

70-71

72

Profile number

User's initials

User's surname

Location

Employee number (optional)

Corporate security clearance

Federal security clearanceU

H

Blank if one header card, otherwise C

Same as first card

Address for outside mailing (left adjusted)Same as first card

Blank

b. New Users - Descriptors

Card 1

Cols. 1-60

61-66

70

71

72

Card 2

Cols. 1-60

61-66

7O

71

72

Alphameric descriptorProfile number

Descriptor usage codeBlank

C if second card follows, blank if nosecond card

A Iphameric descriptor, continuedProfile number

Descriptor usage codeBlank

Blank

Where descriptor usage code is:M

N

C

D

P

Q

S

'must' ordinary descriptor'not' ordinary descriptor'must' contract- number

'not' contract number'must' author

'not' author

'not' subject field

c. Add Changes - HeaderSame as new users

d. Add Changes - Descriptors

Same as new users, except A in col. 71.

e. DeJete Changes - Descriptors

Same as new users, except D in col. 71.

17

Page 246: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

f° Delete entire user profileCols. 1-60 Blank

61-66 Profl le number

67-70 Blank

71 D

72 U

Last Card

Cols. 1-6 ENDUSR

If historical user profiles are kept, user reports may be cal ledfor between the USER and ENDUSR cards•

g° User ReportsCols. 1- 6

8-13

71

72

Lower profile limit of report, profilenumber

Upper profile limit of report, profile

number, or blank if only one profile

(col. 1-6) to be reported

R

l if only active descriptors are to be

reported

2 if all descriptors are to be reported

2.2 Output

1. Vocabulary control guide, updated - same format as input.

2. Coded document profiles - same format as coded user profiles.

3. Coded user profiles, updated - same format as input.

• _.4_,^ ,-..-- I)4. Historical u_r profiles, u_,.... d..... kOl.,,tuHa - same format as

input.

5. Operational comments - see example following program

listing.

18

Page 247: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

MAIN PROGRAM

This program is divided into nine phases. In phase 1, all control cards are read and proc-

essed. In phase 2, user cards are processed by GTUSE, vocabulary cards by GDNRY, and

the document tape by GTDOC. The output tape resulting from this phase is called tape A.

During phase 3, tape A is sorted on the coded value of the descriptors. Phase 4 uses the

UPDATE subroutine to create or update the vocabulary tape while at the same time forming

document tape (tape B) and/or a user tape (tape C). Phase 5 sorts the document tape

according to profile and serial number, and phase 6 sorts the user tape according to profile

and serial number. During phase 7, a document profile tape is created. During phase 8,

a user profile tape is created or updated, and also an historical user profile tape may be

created or updated. Phase 9 summarizes program activity, then exits. The subroutine of

the program follow, in alphabetical order.

_',4 _'- 6_, o_ /

19

L

Page 248: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

PHASE £

P_oc_ES_ALL ConTrOL

CA_3)5

IN_ICA'TEPl-I A 5 _

MAIN l Iz

Block Diagram

I GTUSE_

£OCES_

b

PHASE 2

I-P_GP.._E _.s

1

I

_oP..'r "T'I_PE A

VAL ci.E CD_

LLP_TE_-_E AT_ o_u PDAT_ ";'HE

C

_ ocu.H -c_T""T_PE

I

N o _(:_._T

C.xz,_YTI_CL

.J

_- ;_o _ /

2O

Page 249: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

MAIN 2/2

50 _T

¢PHRS_ _,

J,?_as_ 7

IT DOe-.

c. 9_'ILE5¢

I"AP_ _- F-o_M

_ASE cl

C_L.L N£xT

Block Diagram

_,d _'- _..-_o_ /

21

Page 250: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

IS ALL-L_IT{ _E5

W\ ,_, ____/

M ov'F. OLD .1_tcli

TAPE LABEL

T_ _A_PZ /N

IVO

_o

\ ,_R.z>,,,J..___/

\coN'r'L_C./

%

c._c--rOHR,J,_EL 1A_ UNi_- FOaJ

LO_cAL. _5" AN_

_us_ou_'j,jE jI

,/I_DIC_T,,V_ _ E_:_ _ /

I'_°°_ "'""/ \_°_"-_<>'/

I_ET S_ rrc.H _

IN _ _C.q'/'/N'G _\

MAIN _/7

221I

Page 251: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,
Page 252: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

MAIN 3/7

24L

Page 253: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

MAIN 4/7

)CT

25

Page 254: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

MAIN 517

' 0 ]P',¢oc E s.,{,,<.,.,,_,.,_'_°j=,_ o_-

_,<s_D I

\_,_ /

",/ I"'t_ _'_ -_'_:l. V_'5 $

\_xuLo,_D I t #'i_ l

\ b_c_ / v

Page 255: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

MAIN 617

',/ Ot..bu _ILO _I]_

Fo_ 2 OLD

I_ o u. M-r

Nou_T T_E

\,

\o_l::, -i F_ _o_

,, (_)I_'°_-" "_^_ Il_ "°'"_ _IIo_2,,,._',_:,o:_ I

Page 256: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

MAIN 7/7

, I'

LtN_

C__.,_- _'.._ o.-_ /

28

Page 257: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

Subroutine BCDBN

This subroutine converts a BCD integer into a binary number.

29

Page 258: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

$BCDBN 1/I

_E/JTf. y _

PICK oP

N_XT HI_,_4

C HA_4c'rE_

Co N VE'_ ;r_'D

I _ _R_ _

__ J. No , _

_uL/'_PLy

_,,"/ Tc,J

30

Page 259: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

Subr0utlne CODER

The cal

where

llng sequence of CODER is

TSX $CODER,4

TSX TYPE, 0

TSX BUFI N, 0

TSX BUFOUT, O

TSX K,O

TYPE

BUFIN

BUFOUT

K

indicates source of input

0 vocabulary change

1 document descriptor

3 new user descriptor

4 user change descriptor.

is location of start of input buffer.

is location of start of output buffer. BUFIN and BUFOUT arrays are inforward, FAP order.

is the number of sort items placed in BUFOUT by CODER. If the input

descriptor consists of n alphameric words, then K = n if n = 1, orK=n+ 1 if n71.

CODER expects 72 characters per input card image, the alphameric cols. 1-60. Profile

header cards are not input to CODER. Each descriptor input to CODER will generate Kitems of the format:

4

5-L

Word

1

2

3

coded value of input descriptor

alphameric profile number (zero if TYPE = O)miscellaneous:

Bit

S-2

3-5

6-11

12-13

zero

same as TYPE

same as col. 71 of input card

0 do not add to vocabulary

1 add to vocabulary

14-15 0 do not add to profile if code not on vocabulary

1 add code to profile

3 add code to profile descriptor list

16 reserved for use by subroutine UPDATE

17 determined by the subroutine that calls CODER.

1 if code for word within phrase

0 if single word descriptor or coded phrase18-35 zero.

contains L, length of item in computer words.

alphameric version of the coded input.

31

Page 260: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

If K>I, the secondandfollowingoutputitemsarefour( L = 4 ) wordsin lengthandhavenoalphamericversion. Thefirst itemcontainsthealphamericversionandis 14or24wordsin length( L=14 or 24). If a descriptoris illegal, i.e., containsan illegal character,then K = 1, word1 of the itemis all zero, andword3 isset:

Bit12-!4 zero18-35 77777)8

32

Page 261: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

_ e.. ALL

INDG_

Q..C¢,,.t_'r e..P.,_

_-_'T" CO L+

mf

_o

_-T Cal. ql

CI_IZ'D

c-_ "_-O,0 3 j'

T_._-r,_ 0

_E'T ('_'-I E. <T I

L.E _,,,I_Tk TO

,2.¢

7

G.-e'r _xcl.s,_--"l_o,_ (c_lcol_

_ C00E'IZ.

|_k_ _;q'r _..= 0

| ,,., "/VDoZ"

_ E'"I- I_ i L_-r

_-"L¢_(,."r6 To

14.

_, " tKoO9"

I

'= 0

_/_

33

Page 262: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

" CO ,,

"Cc_E" -- fl

I

_ o'_ -_ _o

V

Imp_-r. u.+,o¢, t:>

,N Pu_T Tet._

A

l +-<','o++-,_"P_C-,h+LI_ _ m_oCQ_ t_

m+_l" ll-l +`

J

!+:+-r I

34

Page 263: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

kc'Te&_

ii

o?

:I_5Tu= 0

35

Page 264: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

@ Table of Transfers Dependent on Current Character in Accumulator (AC)

If character is: Go to If character is:

SAME00 001 102 203 304 405 5O6 607 710 811 91213 =141516172021 A22 B23 C24 D25 E26 F27 G3O H31 I323334 )353637

GOOFII

CHARGOOF

SAME

GOOFCHARGOOF

40 -41 J42 K43 L44 M45 N46 O47 P5O Q51 R5253 $54 _,55565760 Blank61 /62 S63 T64 U65 V66 W67 X70 Y71 Z727374 i757677

Go to

C HARSAME

GOOFII

NEWGOOF

NEWI,

SAME

GOOFNEWGOOF

Go to "SAME" if legitimate character of a word.Go to "GOOF" if character is illegal.Go to "CHAR" if character is to be ignored.Go to "NEW" if character is a word separator.

26

Page 265: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

$ _ O'D F_..'T2. "_ h

_ _¢"r" "'VJ_" -"

,,.,++,',,b¢l_ o'("Alph_ ,,.,+,_e._'."

voo_1)s +oI>_'_

g o1_,,. "l'ke

"Excl_+.,Oc o_ "

_r_ 04- l_tt

i

_-_ "D, s'r* _c'r" It.ol_.l>_. L_ "l"k*S

_r_- coJ e,:l"TO 2_0

E'xc_u_ ,o

#, ,',J'_ Se"_l"

K=I

@.° "'_/'__m+_

co ,,,,e,",'_ ,l+.,:t,l.m++-++.,.I- _+l_

+[_-_-,+-+',+x._;>,_"I

J = +,_4,oe zq,),.m 4 "_-,-_ m,_.t) |

,.t o,+t"r+ut-r+Tom[

O+ o+_re_l+. V't+.ml 1I('T',.IPC, (-oie *'II+ /

G+'r o P-..e _._s_.|'r

_klue o-_ TLe

d c $c&_F1"o

i¢++,_+.++,+___

37

Page 266: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

®

, I

!i16

b1

i_l,, To - i I

I ='rt_, I

Ylll "V." -- i

I MO

lid

_ '4.."= I

I''''_-'_ _ _'-1! I''_'<-I'_°ltl /'1-,"_- ll_._l II-I_'/

_f _ o_ /

38

Page 267: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

I se_ I_lc_rroP._ I

I

"To _'D Co'DE'l;a I

"PklZ._ ¢ TO I7JZv._d_ _I_

I_,-T '-_'_,_ I

I_k_Z_,s_ _o1_.1_ I •

"_K m -"I r

I__'rQ1,11" ITg

Page 268: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

SET

i0 _J _" _u_, o_ _l

/ _LJ_s

,)

o _ "l'_,,_

r

I

"-r_,, s o,_-r pu-r I

's'ro_._" "_'O _.',

_'_('_i_, col.'_, ( !

"t_IDI'= A_D_÷t I

,_ _,I1 I

t_c>

l_ ,_,_ _ II_,, _-c_ "toI

I

'lee _,

4O

Page 269: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

Subroutine DCIT

DCIT reads the sorted binary tape B containing the document descriptors.from subroutine PDTB. The read instructions are set up in its first entry.

EOF, the tape is rewound.

It is entered

Upon reading

41

Page 270: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

$DCIT 1/I

42

Page 271: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

Subroutine ERITE

When an illegal card (user or vocabulary) is encountered, one of two subroutines (UBAD

or DBAD) will TSX $ERITE, 4 to write the illegal card and the appropriate error message.

The first time either $UBAD or $DBAD is entered, it will set up the output instructions in

ERITE to write on the system output tape that has been specified in the tape assignment

control card. Each time $UBAD or $DBAD is about to go toERITE it will set up the RCH

instruction inERITE to write the illegal card or error message desired. AfterERITE has

written the BCD output record, it will return to $UBAD or $DBAD, whichever it came from,

which in turn will go back to the subroutine processing user or vocabulary cards.

If: an EOT is reached, an EOF will be written and the tape will be unloaded. The fol-

lowing message will be printed on llne:

END OF TAPE WRITING cn. MOUNT NEW TAPE-PRESS START.

( c = channel, n = logical tape number)

43

Page 272: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

SEMITE 1/1

I

'I

1t

]L

44

Page 273: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

Subroutine GDNRY

GDNRY processes all vocabulary input cards until a card with ENDICT in cols. 1-6 isencountered. Each card is picked up with a TSX $RDIN, 4. RDIN is a subroutine that

reads one card from the input tape into area DCARD-DCARD+I 1.

Vocabulary input may be in one-card or two-card groups. If one card, col. 72 will beblank; if two, col. 72 of card 1 will contain a C and col. 72 of card 2 will be blank.

The legal cards with their punches in col. 71 are: add (A), delete (D), equate (E), and

trouble term (*). If col. 71 does not contain any of the above, the entire card with an

accompanying error message is written on the system output tape by subroutine DBAD. The

card following a card with a C in col. 72 must match in col. 71, and in addition be blank

in col. 72. Any irregularity will causea rejection of the first card.

If GDNRY encounters an E-card, it must find a card with a T in col. 71 immediately

after it. This contains the primary descriptor to which the phrase on the E-card will be

equated. Any violation will cause rejection of the E-card or the E- and T-cards,

depending upon the error.

Whenever a valid card group is read in, it will be sent to $CODER.

45

Page 274: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

$GDNR Y

(_ EQ OAT_"

EA_I"

Block Diagram

)

CArDTO

_CoDE<

Htg

46

Page 275: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

$GDNR Y I/3

_.z _/

47

Page 276: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

D CA_b

T_O0= 0

$GDNR Y 2/3

& ¢-...'b J

_._ 0.2./

48

Page 277: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

SGDNR Y 3/3

49

Page 278: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

Subroutine GECOD

Whenever a user, vocabulary, or document descriptor is to be sent to $CODER, a TSX$GECOD, 4 is executed. The calling sequence contains the location of the descriptorand the type. GECOD picks these up, sets them in the calling sequence $CODER expects,and then goes to $CODER.

C-4¢_- 6._o _ /

5O

Page 279: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

_E¢oD

P

Page 280: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

Subroutine GTDOC

This subroutine reads the input document tape, and extracts the header and descriptors for

each document. The header and all descriptors are written on tape A. Tape A also con-

tains all vocabulary and user descriptors.

For each document, the following is done: The header is picked up and written on tape A.

The next field (title field) is sent to $CODER. Five fields are skipped. The next field

(personal author) is processed. Two more fields are skipped. Then the two remaining

fields (contract number and descriptor fields) are processed. The last three fields handled

by GTDOC may have more than one descriptor_ each is separated by a word mark. Any

field may be completely empty, in which case the field will contain one dollar sign. The

dollar sign is the Field separator.

The document field called NOC may contain a price for the document, also indicated by

a dollar sign, that is not a field separator. To avoid this False field separator, GTDOC

utilizes the fields it wants from the beginning of the logical record, then skips the NOCfield by counting backwards from the end of the logical record.

When EOF is encountered in reading the document tape, it is rewound.

52

Page 281: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

I_.EAI/"

/

__ Y,. I "T

,7_co r....e_...S_

_E.Lb

i

iVk o (. E:_S

£f::_'?O 4.. o_L 2.F...Arv.._ I _AG_]o _.cot>eK

i

1I_r_(._ _S ?_KSo_ 1

l<:e_J_ t _>P. Z I

cm,t_ ,n_A(_E or- I

11 or_ 2 ca_O /

!

J

53

$GTDOC

Block Diagram

?I_ _ 1IVOC_t_OLAity _E I_/_._

I

@

_"-,_- _.2,_7/

Page 282: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

5_'r _ P

_T/o Fo_TAPE A_])

\ ee_,_D I. / \

I

.._K e P C.OL.

L

P_.-r" e.OLS, ]

iPu.r COLS. S'-_

l tM'r'o 9-_0

¢

I "rVO_P_T e_OL, "7

I INTOcoL. i

NT_ 2.-(o I

54

©c0L-s. _4- I_:

P_ e.o_, 19

i Puz" P-_ L._.

_O -.z_ /_l'_

II- t._

IPL_T"COL&. ;B-,-_

PET e_ L .2 _'1

Pu.T ei_ LS.

-_7- 37 /,,/To

&

#EPOeT D_r_ I_" e_. _-,/3 I

I

into I_l-I, 1_ II

Pccr _L_, 4_

al

_;__{p coLS

(_3-"II

SGTDOC 1/4

_9 _:-_ o "_/

Page 283: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

$GTDOC Z14_

/--

Page 284: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

$GTDoc 3/4

t

NO

56

!

Page 285: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

_T _oH_L_G

ST0 CE T/4C

ig,bDdpC_ 1"-o \

\,_/ IPcr'e ,_, eo_./v Ira ,¢,e_-r- /

$GTDOC 4/4

V65IMAG.E(' _D "ro /

_J

44

1_1_ #P TOH F_f_ 72)_

57

Page 286: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

Subroutine GTUSE

GTUSE processes all user input cards until a card with ENDUSR in cols. 1-6 is encountered.

Each card is picked up with a TSX SRDIN, 4. Subroutine RDIN reads one card from the

input tape into area DCARD-DCARD+11 . The user number (cols. 61-66) is sent to sub-

routine RBLNK where all blanks are turned to zeros. This eliminates keypunching user

numbers with leading zeros. Next, col. 71 is checked to see what kind of user card is

being processed. The legal punches in col. 71 are "blank" (new user add), A (old user

add), D (delete), R (report), or H (header). If the card does not contain any of the above,

the entire card, with an accompanying error message, is written on the system output tape

by subroutine UBAD as an illegal card. The next card is then read.

Delete cards may be of two types. One type deletes a user descriptor and tk_e second de-

letes an entire user profile. The latter is denoted by a U punched in col. 72. With the

exception of report cards, user input may be in one-card or two-card groups. If one card,col. 72 will be blank. If two cards, col. 72 of card 1 will contalnaC and col. 72 of

card 2will be blank. Any other punch is illegal. Intwo-card groups, col. 71 of both

cards must agree.

All add and delete cards are sent to $CODER and then written on tape A, using subroutines

GECOD, MOVE, and WTAPA. Tape A contains vocabulary and document input, in add-

ition to user input. Report type cards and header cards are not sent to $CODER, but are

written directly on tape A by $WTAPA.

Header cards are given a serialization number of 000000)8 to place them before any descrip-

tors for that user. Delete profile and report cards are given very high numbers to place

them after all add and delete descriptor cards. Their serial numbers are 777774)8 and

777776)8, respectively. The serial numbers for adds and deletes are assigned by $CODER,

and will always be between 000001)8 and 777773)8.

58

Page 287: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

_u_ _

s E I_.5

_LETE

TO

ND

59

$GTUSE

Block Diagram

Page 288: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

f

--%(" --"_ I

®

$GTUSE 1/5

to_ 7k

J Y_'_ -]__)

_.._/60

Page 289: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

I

7;

$GTUSE Z/5

\uu£& I_,h

j F_sT

po

eR_

\

?I

,,._-_ _ cB ___l_

61

Page 290: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

"16

i_ _\-_,-_,_ ./

-_ W-/

.._ _0 ,4," $

6

$GTUSE 315

!

%O%A%

A

9

?

tto'_D

%_Aov _

62

Page 291: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

Q._o _._

V

CO_ _,-V% _v%1"1_,6 t,=_ o_. I

N_

_b

_OJE

LA._'T /

&6C0__¢ o_>{R),

SGTUSE 4/5

63

Page 292: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

*_t_-_ // _ /

$GTUSE 515

II

_ IoO

wL_,c em /_,_,_- /

,lI1_Fo£vv_ #kTlO ,-'1

64

Page 293: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

Subroutine MOUNT- BNBCD

This subroutine prints messages on the online printer when a tape has to be mounted. If thetape hasa serial number, this will be given in the message; if not, the messagewill askthat a pool tape be mounted. This subroutine has within it a routine to convert an unsignedbinary integer to a BCD integer with leading blanks.

65

Page 294: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

@

$MOUNT 1/1

$BNBCD 1/1

Page 295: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

Subroutine MOVE

MOVE is entered after every TSX $CODER, 4. It pick's up the logical records put out by

$CODER (as few as one, as many as eight) and places them in BLOCK, preparing them to

be written on tape A. After each logical record is moved into the BLOCK area, a check

is made to see whether or not six logical records are in BLOCK. If so, MOVE will TSX

$WTAPA, 4 to write out these six. When it returns it will process the remaining records

produced by $CODER.

The first word of every main phrase from $CODER will be masked to contain a "1" in bit

17. All subphrases will be masked so their first words will contain a "0 '° in this same

position.

Special attention is given to vocabulary equate cards. If an E-card has come from $CODER,

the coded value of its accompanying T-card will be placed in word 24 of the logical record

containing the E-card main phrase.

67

Page 296: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

$MOVE 1/1

?_,o

68

Page 297: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

Subroutine PDTB

PDTB builds the binary document profile tape. The input tape is sorted tape B. The first

descriptor for each document is its header. Following are its descriptors. Each descriptoris checked to see if it should be added to the document profile. When all of one docu-

ment's descriptors have been processed, the percentage that have been accepted is com-

pared against the control card parameter MIND. If the percent accepted is greater than

or equal to MIND, the document is added to the binary tape_ otherwise, it is rejected.

The acceptance or rejection of every descriptor and document is noted on the system

output tape.

69

Page 298: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

$PDTB

Block Diagram

Ot,a s o_,'IE'b

A_a _5

Ar.t._?'l"{)R _._4_C.l

K_EP COt)lOT OF

F_.c.ce_'r ACcECTS"D.

No

Page 299: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

$PDTB 1/4

_--_-?_ i

71

Page 300: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

I _w o_'r"

.ACC_TF"_ J

_7) Y_ /7"5

IM_E NE_)T_r6]

Page 301: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

p_,e A.s_S -I-o I

wo_' k', _uG _fEA[

P_C_. J,

A

$PDTB

HA i_/

.I/

Su _ PHRAS,

,b

Su_ Pt_B _5_

IkJ8 i'r'E ,,

_'_ _/,_ _._ /

3/4

"FO

73

Page 302: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

i

$PDTB 4/4

Ht4ULTI - kJo _j> 1

purr A _ ,_J

BIT_ 33 -__.

Pelf _

(_xeL _. s r0,'#

,r53

_vaL_" 1-o l

Page 303: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

Subroutine PSORT

PSORT checks coded profiles (document or user) submitted to it to ascertain that the single-

word list is sorted and that phrase pointers are set accordingly. If not, PSORT sorts and

sets them.

_.,_a'_ _/_ oc_ )

75

Page 304: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

ENT_V_:¢-r L_ _AI

"P'_,r¢p,t_¢'r'¢ ¢._

CT'Jz&,Ic _ocA_,,,_=; J'P--'_ D C "1"C. ')

NO

I,_O

L. _ t,'t- J

MI.._

I

klO

l

76 _ _._ _ /

Page 305: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

@

lid

_,,_; I¢

:_"r" _,'_ c.k_,_.o 't- Pmo¢,l,.

"-v.."(o+-.+_s'+)

t,A_

•...._Iejr ';,+m_l¢ m**J.l

I Ae,.m ,co_, _'_. I

i + 'r'_1,e-,x

A,

+P_ _ #*,+.s_._..

_¢_

_,_.oG_:_ _ "To

'+'+<.,o l:_'r ¢'t:> "

_P

77

Page 306: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

Subroutine RDI N

This subroutine, used by MAIN and GTUSE, reads the system input tape. On any redun-

dancy, an attempt is made to read the record ten times. If the redundant condition per-

sists for a control card, a message indicating the redundancy is printed and a core dump is

taken. RDIN also checks for EOF and prints a message if the condition exists and dumpscore °

78

Page 307: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

$RDIN t/1

(0

79

Page 308: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

Subroutine READA

This subroutine reads a physical record consisting of six logical records from tape A (sorted

input tape). On a redundancy condition, an attempt is made to read a record ten times

before a message is given indicating the redundancy and a dump of core is taken. Theroutine allows tape A to have two reels.

8O

Page 309: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

$READA l/l

81

Page 310: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

Subroutine REDT

This subroutine reads the old vocabulary. It has two entry points, REDT1 to read the

first file and REDT2 to read the other one hundred files. A redundancy condition on the

first file causes an attempt to be made to read the file ten times. If this fails, a message

is printed and a dump taken. A redundant condition on any other file causes the tape to

be reread ten times if necessary. If this fails, the tape is backspaced over two EOF's,

spaced forward again, and another attempt is made to read. If the redundancy still exists

a message is given and a dump taken.

82

Page 311: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

$REDT 1/Z

¢fj_ E'T" _tP

q'"o _ _6E

-_'T" F II..E

5E'I-

dE'LL _O >

,1/

5_"r 5-, °

IcH4 _ _ EL.IA_= u_,rJT_ j.._ "E4PE _i_

AL_EW i _c # _3

JP_T i_oc. o F

l Pws1P-_c'T,,e/J_

,,#_-ru ,_ # \

VES_

_E-r-

d_E'I/- _0\ \'_-_'_ /

83

Page 312: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

$REDT ZlZ

Eo_'r" _y

DuHP >

/ _v_. I _',.r'.o \

IDle'r" /

h'o_,

I_'E',,_,

84

Page 313: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

Subroutine SORT

General Specifications

The SORT subroutine is a generalized internal sort and tape merge program that sorts

flxed-length blocked or unblocked binary records. The SORT routine is entered in

Phases 3, 5, and 6 of the program. In Phase 3, it sorts user and document profiles and

vocabulary changes into coded descriptor order. In Phases 5 and 6, it sorts edited

document profiles and edited user profiles, respectively, into profile and serial numberorder.

The sort key must be located at the beginning of each logical record and must be a multi-

ple of six bits in length. Input and output files may each use one alternate unit. All

input tapes must have a BCD trailer label. For multl-reel files, each tape must end wHh

an end=of-file and a 120-character 1EOR record. The last reel, or the single reel of aone-reel file should have an end-of=file and a 120-character 1EOT record. For the

merge pass, the package requires four intermediate tapes, two on channel A and two on

channel B, the blocking of these tapes may be different from the initial or final blocking.

The SORT package consists of three major subroutines, EDIT, SORT_ and WRITE. It

requires the FORTRAN II Input/Output package lOP for its I/O functions, and the sub-

routine DMP for catastrophic errors. The SORT package must be assembled by the user,

who provides variables in cards 60-400 as required (see listing). It uses approximately

1200)10 locations plus BSS areas, the size of which depends on the physical size of the

records to be sorted° All core not needed by the object program should be allocated to

SORT for internal sorting° The calling sequence to SORT is TSX SORT, 4 with a return

of 1,4.

Subroutine EDIT

This subroutine has two entries, EDITA and EDIT, which are the first and second execut-

able instructions. EDITA is the entry for the first call, to accomplish any initialization

necessary in view of the fact that the sort may be restarted due to tape error. The routine

places in the AC decrement (bits 0-18) the number of words in the record to be sorted,and in the MO address (19-36) the number of characters in the sort key. It then returns

to 1,4. EDIT is the normal entry. The calling sequence isTSX EDIT,4, end-of-file

return, normal return.

Each time it is called, the subroutine will store a record starting at 1,2. It reads as much

or as I_ttle data from the mediary tape as _t needs to. The record placed at 1,2 is

arranged with the sort key at the beginning, since the sort program will sort on only one

field. Conversions to modify the natural sequence or complementing of fields to achieve

a descending sort may be done prior to storing the record at 1,2. If there is no more data,

return is to 1,4. The normal return is to 2,4. The subroutine also handles any errorsencountered as described below.

85

Page 314: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

Subroutine SORT

A replacement chain sort is used for the internal (string-forming) phase of the sort program.The chain is formed as follows: With each record of data is associated one word of control

information. The decrement of this word contains the location of the next smaller record

currently in core. The address portion contains the location of the next greater record

(actually the two's complement of the address of the word preceding the first one of the

record in question). The decrement of the control word of the smalles_ record in core

(the beginning of the chain) contains zero, as does the address of the control word of the

largest record (the end of the chain). Thus, given the location of the starting record of

the chain, one can reference each record in the desired logical sequence, and the data is

effectively sorted. Note that the physical arrangement of the data in memory is irrelevantto the structure of the chain. Note also that the insertion of a new record into the chain

requires the creation of a control word for the new record and the modification of the

control words of the two records which will immediately precede and follow it in the chain.

No physical movement or shifting of the data is necessary.

The sort program starts by storing records sequentially in memory, preceding each one by

its control word. Each record received from EDIT is immediately put in the chain by the

subroutine INSERT. Since some pre-sequencing is expected to exist in the data, the

INSERT subroutine starts by comparing the new record with the one most recently inserted.

Depending on the result of this comparison, the subroutine searches the chain in either theforward (increasing) or backward (decreasing) direction until the proper place for the new

record is found. In the case of equal records, the order of input is preserved. The new

record is then inserted in the chain, as described above. A record is kept of the location

of the starting member of the chain, and updated when necessary.

If all the input has been read in before available core space is filled, the replacement

phase and tape merge, described below, are skipped, and the routine goes directly intothe WRITE subroutine. Otherwise, replacement and tape merge are necessary.

The replacement phase of the internal sort is started when there is room for only one more

record in memory. Starting with the first merge tape and the first record in the chain, the

procedure is as follows:

(1) Write the first record in the chain on the merge tape;

(2) Read a new (replacement) record into the one vacant

space in core;(3) Insert the new record in the chain (if it is greater than

or equal to the previously written record, it will be inthe same string. If less, it will be in the next string);

(4) Remove the previously written record from the chain,

vacating its space;(5) Repeat from step (1), writing out the follower in the

chain of the previously written record°

86 12 o zi

Page 315: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

This procedure continues until either the end of the input is reached or the last member of

the chain has been written out° In the latter case, the chain is now composed of those re-

placement records which were less than the record just written when they were read in

(otherwise, they would have been written out in that string and themselves replaced). An

end-of-file is written after the completed string, and a new string is started on the next

merge tape, again beginning with the first member of the chain. When there is no more

input, the data is written as above without being replaced. The current string is finished

and, unless the input end-of-file had coincided with the start of a new string, one final

string is written.

Thus, throughout most of the internal sort phase, the operations of reading, writing and

sorting are overlapped and all take place in the same storage area. The lengths of the

strings produced depend on the pre-sequencing of the input. In the worst case (perfect

inverse order) the strings contain as many records as can be held in memory at one time°

In any other case, the strings will be considerably longer.

The technique used is that of a simple balanced merge. The final pass, in which some

number of strings __ the merge order (one string to a tape) are merged into one output

string, gives the sorted data directly to the WRITE subroutine.

Subroutine WRITE

This subroutine has one entry, WRITE, which is the first executable instruction. Each

time it is called, it finds one sorted record of data starting at 1,2, in ascending logical

order. The routine may re-convert or complement the sort key, as necessary, and then

will write the appropriate record(s) of the output report on the system's output tape. When

all data has been processed, the sort program must make one last entry to WRITE with a

word of all one's, 777777777777) 8 , at 1,2.

The FORTRAN II Input/Output Package (lOP) is called into core by using the * lOP card

in the deck setup. The program uses lOP to take care of much of its input/output functions.

Error Messages

The sort program keeps two checks on its processing. First, the records input are counted,

and this number compared with the number processed by each merge pass and the number

eventually output. This is a check for records lost or duplicated due to program or tape

error. The program also checks that records written out, either on merge tapes or given

to WRITE are, in fact, in the proper sequence. Violations of the sort order could be due

to program error or undetected tape error.

87

Page 316: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

UNEXPECTED EOF ON MEDIARY TAPE°

The EDIT subroutine took the EOF return the first time it was entered.

been no data at all on input tape or none valid.There may have

ERROR READING MERGE TAPE XX

This message is written after an error return from a BBREAD of a merge (scratch) tapeo If

it is not the last pass of the sort and it is the first time this has occurred, the programprints on-line: ERROR READING TAPE XX. MOUNT NEW TAPE AND PRESS START TO

CONTINUE JOB. The program then stops at HPR 0. The operators are to change tapes

and let the program proceed, in which case it prints "RESTARTING SORT" off-line and

re-trys the sort from the beginning. If, however, this re-occurs or occurs the first time

during the last pass, the program will follow the first message with "END PROCESSING"and will transfer $DMP.

UNEXPECTED EOF ON MERGE TAPE XX.

END PROCESSING.

This unlikely message indicates that the sort program's count of the number of strings on

the merge tape was incorrect. This could be due to program error, machine error or tapeerror. The program transfers to $DMP.

PH.X RECORD COUNTS DISAGREE. /END PROCESSING.

PH.X DATA OUT OF SORT. /END PROCESSING.

Phase 1 (PH.X) is the internal sort and string-forming section (th'e first pass over the data);

Phase 2 is the tape merge. Phase 3 is the final merge pass and writing of the report itself.

The errors are most likely due to tape failure, although they could be caused by improper

tampering with data and storage by the EDIT and WRITE subroutines. The program trans-fers to $DMP.

Sort Tape Formats

Tape A - All Input Data

Tape A is sorted only on word 1, that is, according to the coded value of the descriptor.

Hence all header records will appear before descriptor records on the sorted Tape A.

Descriptor Records:Word

1

2

3

4-23

Coded value of descriptor

Same as the third word put out by CODER.

(Bits $1-17 have type, col. 71 of input card, etc.Bits 18-35 have serial number.)

Zero if dictionary change, otherwise the document

or user profile number.

Twenty word alphanumeric descriptor. (If this

descriptor is a subphrase, these twenty words willbe either blanks or zeros depending on the output

from CODER.)

888. 2 /

Page 317: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

24

25-27

Header Records:

Word

1

2

3

4-27

Coded value if this is a dictionary secondary

descriptor, otherwise blanks or zeros.All blanks or zeros.

AII zeros

Same as for a descriptor record

Document or user profile number

Twenty-four word heading.

Tapes B and C

Tape B has document records and Tape C has user records. Both documents and users have

the same basic format. Tapes B and C are sorted on profile number and serial number.

Hence all descriptors having the same profile number will be together preceded by the

header for that profile.

Descrlptor Records:Word

1

2

3

4-23

24-27

Header Records:

Word

1-2

3

4-27

Document or user profile numberHas the same content as word 3 of the CODER

output but with the two halves of the word

interchanged: bits $1-17, serial number, bits

18-35, various bits indicating type, col. 71, etc.

Codecl value of descriptor

Twenty-word alphanumeric descriptor (or all

blanks if a subphrase.)All blanks.

Same as descriptor recordsAll zeros

Twenty-four word heading.

89

Page 318: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

@

-_o_.-T

I'.T,^: zl 1I_'_ _^'"1

9O

Page 319: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

RII_O 'N

L,'

o/f

Dts/

_.,TA_TI

• q

zIr_GI;

t

_a_u_r e.RS

FIIII_T /_IEI_,GII

I_,/pu'r "l'ak_ I

.,_- #..?_,.._/

91

Page 320: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

P

ii

0_-__ f.2 o_/

Page 321: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

/,I,' _ Ic', _-_;_. |

F_o_ _

C)g _E Pl_CgggO_

Foi._OW • &

I°'c" /

_/..?_ /

93

Page 322: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

_.,...,,.v," JF,,:)_,'¢"t o_

P

I_..(m+.l,4.r,,l,,,p_Mill.*+um_+.+t OP

,,..I

So,,.T PQ._- _"

E IvP_ t_ _',F.stt,

I

L I

J

94

Page 323: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

REC,o4 p J

IEN gN'f l

IJN_" OF

¢.,.oA OIL

&i_"T_

No

@

N

I

J

95

Page 324: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,
Page 325: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

TA/_

L_

97

Page 326: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,
Page 327: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

I0

Page 328: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

®

6

100

Page 329: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

_e.o,_ T7'o._ i z.

"R_TA &T"

lOl

I

Page 330: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

102

Q-,,F°- #-z c_z,"

I"

Page 331: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

103

Page 332: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

Subroutines UBAD and DBAD

UBAD is entered when an illegal user card is found; DBAD is entered when an illegal

vocabulary card is found. Whichever subroutine of these two is entered first will initialize

all output instructions in $ERITE.

Every TSX to UBAD or DBAD contains a number in its decrement that determines the errormessage to be written. This number will be placed in index register one. The RCH

instruction effective address of the RCH will point to the I/O command that will write

the error message desired.

_-,_- _.._6J._ /

Page 333: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

_'__l,f F" _

$_-:z-t F... //

t fie. rT £" !

_._TE IEA_E_ I

105

0 _S'T_'TI_

w'TSy

N

)_tt_e ,_e_dg I

I_:"'-°_'_ i

SDBAD

$UBAD

Page 334: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

Subroutine UPDATE

Subroutine UPDATE is entered in phase 4. The purpose of UPDATE is to create or update

the vocabulary tape while at the same Hme forming document and/or user profile tapes.

This is accomplished by processing information from tape A (input sorted according tocoded values).

The operation of the subroutine UPDATE can be discussed for two types of cases: (1) there

is no old vocabulary so a new vocabulary is being created from document profile descrip-

tors three words or less in length, or (2) there is an old vocabulary which has to be updated.

Case 1

A calculation of the number of logical records per file is made and blank space is provided

for the first file of the new dictionary. Then a record is read from tape A using the sub-routine READA.

If the descriptor is illegal it is rejected with an appropriate message on the BCD output

tape. All messages on the BCD tape are handled by the subroutine WROUT. For valid

descriptors, the type of descriptor is determined and the descriptor is processed accordingly.

The possible types of descriptors are as follows:

1. Headers for either documents or users

2. Dictionary changes

a. Add

b. Delete

c. Equate

i. Primary (T in column 71 of input card)

ii. Secondary (E in column 71 of input card)

d. Trouble term

3. Document add descriptors

4. User descriptors

a. Add

b. Delete

For either document or user headers the record is sent to the routine MVAD which arranges

the record in the format necessary for tapes B and C. Then the record is written out on the

appropriate tape (six logical records per block).

For a vocabulary add card, a check is made to see if the descriptor has been added by a

previous card. If not, the count of dictionary adds is increased by one, the descriptor is

set up in the new dictionary by the subroutine FORM and a BCD message indicating the

addition is made on the output tape. The vocabulary tape has a blocking factor of 15, and

when the output buffer is full the tape is written by the subroutine WDICT.

Page 335: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

If thedescriptorisalreadyon thevocabulary,a checkis madeon thefirst wordof the20-wordalphabeticto seeif it isblank. If blank, thealphabeticfromthepresentdescriptoris movedinto thevocabularyrecordandamessageisprintedindicatingthis_ if thealpha-betic is notblank,a checkismadeto determinethat thefirstwordsof thetwoalphabeticdescriptorsmatch. If theymatch,a messageisprintedsayingthatthedescriptoris alreadyon thevocabulary_otherwisea messageisprintedsaying that the coded values are equal

but the alphabetics differ. In both cases the descriptor is not added to the vocabulary.

Vocabulary delete records, while valid in an update run, are not allowed in a run to

create the vocabulary. A message to this effect is put out on the BCD tape.

For vocabulary equate cards, processing varies depending on whether the descriptor is a

primary or a secondary descriptor. If a primary descriptor does not match a descriptor

previously added to the vocabulary, the descriptor is set up on the new vocabulary andthe count of vocabulary adds is increased by one. A message indicating this action is

printed. If there is a match, the descriptor already on the vocabulary is checked to see

if it is a base descriptor, and if it is not, a message indicating this is printed. For a

secondary descriptor, a check is also made to see if it is already on the vocabulary. If

not, the count of vocabulary is increased, a message indicating an addition to the vocab-

ulary is printed and the record is set up on the new vocabulary tape. The second word of

the vocabulary record in this case will contain the primary coded value associated with

this descriptor and the count of equate cards will be increased by one. If there isa match

on the vocabulary, the count of equates will be increased and the primary coded value

associated with the descriptor will be moved into the second word of the vocabulary record.

A message will be printed indicating that this word has been changed.

User profiles must be corrected to reflect the synonym relationship established by vocab-

ulary equate changes, hence each such change creates a dummy update for user profiles.

Thus user profile tapes must be mounted whenever vocabulary equate changes are to be

processed. No more than N/2 equate changes should be processed during a single computer

run, where N -- core storage required by subroutine UPDATE, COMMON storage excluded.

For a trouble term, a check is made to see if the descriptor has already been put on the

vocabulary. If not, the count of vocabulary adds is increased, the record is set up on the

vocabulary with the second word of the record set equal to zero, and a message indicating

the addition of a trouble term is printed. If there is a match, the second word of the

vocabulary record is set equal to zero and a message indicating that the descriptor was

changed to a trouble term is printed.

For document cards, a check is made to see if the descriptor is on the vocabulary. If not,

the descriptor is checked to see if it should be added. If it is not to be added, the

descriptor, after being rearranged, is written out on the document tape by the subroutine

WDOCT, which uses a blocking factor of six. If the descriptor is to be added to the

vocabulary, the count of document adds is increased, a message indicating an addition

was made to the vocabulary is printed and the record is set up in the vocabulary. A bit

is set in the document record indicating that the descriptor is on the vocabulary, the

record is rearranged and is written on the document tape. If the descriptor is already on

the vocabulary, the dictionary record is updated and the bit is set in the document record

indicating it is on the vocabulary. Then, as in the previous instance, the document re-

cord is rearranged and written out onto the document tape.

There are two kinds of user descriptors - user adds and user deletes. A user add is handled

107

Page 336: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

in the same way as a document descriptor except the record is put out onto the user tape bythe subroutine WUSE and there is a count for new user additions and a count for additions

to old user profiles. User deletes are checked to see if there is a match on the vocabulary.

If not, the record is rearranged and written out on the USER tape. If there is a match, the

number of users having this descriptor is decreased on the vocabulary record and the record

then is handled the same as is a document descriptor having a match on the vocabulary.

Whenever a coded descriptor is to be added to a profile (document or user}, the original

code is replaced by word 2 of the corresponding vocabulary record. Thus terms previously

designated as synonyms or trouble terms are corrected for profile entry (or rejection).

While the descriptor from tape A is processed, an account is kept of the number of descrip-

tors put on the vocabulary so that each file will have approximately 1/100th of the total

number of descriptors. Also, a catalog is made of the minimum and maximum coded values

for each file. In the situation where 100 files have not been written and tape Aisfinlshed,the remaining files will each contain 450 words of zeros and have maximum and minimum

values consisting of computer words of octal sevens. When all descriptors have been

processed the vocabulary tape is rewound and the first file record contains the tape label.The second record contains the catalog of minimum and maximum entries and the third

record has a table of entries containing the number of logical records per file. This file

is written by the subroutine WDLBL. Also, if there is anything in the buffers for the docu-

ment and user tapes, these tapes are written. Finally, a summary of all the changes madeto the vocabulary is written on the system output tape.

Case 2

In a run to update the vocabulary, all descriptor records have to be matched against the

old vocabulary. Until a match is found, the records read from the old vocabulary by the

subroutine REDT are written out onto the new vocabulary. The size of each file in the

new vocabulary will depend, of course, on both the number of descriptors on tape A and

the number of descriptors on the old vocabulary. Also, the maximum and minimum coded

values are again provided for each file on the new vocabulary.

In general, for an updating run, the types of descriptors are processed in the same way as

in a run to create the vocabulary, except that dictionary delete descriptors are allowed.

The descriptor is checked for a match on the old vocabulary or for a match with a descriptorjust added to the vocabulary. If there is no match, a message indicating that the descrip-

tor is not on the vocabulary is printed. If there is a match, the count of vocabulary deletes

is increased, the record is deleted from the vocabulary and a message is printed saying thedescriptor has been deleted.

If all processing of tape A is done but there still remain records on the old vocabulary,

these records will be written from the old vocabulary onto the new vocabulary. On the

other hand, if the old vocabulary is finished before tape A, the remaining descriptors will

be processed from tape A as described in Case 1. In either situation, final processing of

the new vocabulary tape and the document and user tapes is accomplished in the samemanner as in Case 1.

108

Page 337: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

$UPDATE 1/2

Block Diagram

I,+Iov_'" o+-I _ IC-/" TO

109

Page 338: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

$UPDATE 2/,Z

Block Diagram

v-_ PE

._______-,_"

A L_ 4,._

_'NAN6 _F.S

O_ £ Fo,e ,'-_

110

Page 339: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

$UPDATE I/Z5

111

Page 340: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

$UPDATE Z/Z5

v_uuE = 0

2

\

_CV

YES

\NO

EATE I_

'5

No

Cu_K_

L.E

765

MvA_

WO_D2- : O E _ MOVE K_6O£1)

TYPF-, fo uS_ TAPE

IADZ> I To

I COLINTF.-._ FO_

EFAP_ A_5u.FFE_,

AD_ i To j

Cou N'r£e FO,_I

! _ s__ ,( TAPE I

_1_ I t,lC. OF Fit-[_)_--_-- I \Uc$1_k -rAPE //

USER _u

"r--

112

_._'-/;wz)

Page 341: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

$UPDATE 3/25

Hove _E(_O ¢._1)

ITo _'ocuH_T ll mAPE I_ADZ) 3_ -I-O [

I_ot_ _rE _ Fo_.-rA FE A

¢A_D _ "To [

I

NO

"rAPE /

eO U_l'r_P =0/

I13

Page 342: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

$UPDATE 4/2.5

114

Page 343: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

$UPDATE 5/25

TRAI 0

I

©

115

Page 344: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

$UPDATE 6/25

116 _ _. __ _a/

Page 345: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

$UPDATE 7/25

lqO

NO

A/O

117

Page 346: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

s___T.VP________Pu-F TYPE oFb_c_PTOE I_

A_E D TO

PICT, o_ R_y

P L4T_ CODED

VAJ_UL_ O F

l_ M £SSA&E"

PUT" l_I_ _ IN'o

6LA_S F0_ , I

___ R°_ I

F_R_ /.

LI_E I

Ex( _,,'rFo,(.\ IF_oH _PE' A

/ _'_ _/ IA_(_

?

$UPDATE 9/25

_-{/N EX'r" Z /

LINES /

119 _------_-_'7°"_/

Page 347: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

SUPDATE 8/25

._A v E=_ o

I

118

A'_ '1,. "ToCo _"_ _"

Page 348: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

$UPDATE 10/25

120

?tel. -rk_/

e.¢_ ImlP /

ls_T .0 ]I__ - II:P_Sc_P'To_ I

Pu-r Cob_"0

V QLu _" oF

N I_I_S_;AGEI

_"_""_ &^"_I

eo_,_ ,,0 T_.FI

\ ,_,_-//

Page 349: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

$UPDATE If/Z5

M- _._Z O_ /

Page 350: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

122

Page 351: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

123

##0_ /

Page 352: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

$UPDATE 14/25

i 24

Page 353: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

$UPDATE 15/25

COUNT _F

D IfT-_O_Jf%_,I

] ADD5

c_P _?eec_,_D

_ /_c 1"

_E-F W _ RLD2..

i

A_D_ b ,'r_oDJcT-iOrj_ B.Y

_] t,; _l,_J _e'_ DfCT _I I4E-_s_E-

|_.14-_% e4 6 &- D "t'o

Page 354: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

$UPDATE 16/25

126

Page 355: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

$UPDATE 17/25

/V"O

127

Page 356: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

$UPDATE 18/25

CEL=O

C,W_-W x W__ /

128

Page 357: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

$UPDATE 19/25

129

Page 358: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

I

ii

I

I

I

I

I

I

I

,, ,,_" _,ll 1 [_- _,_ot.,_1

o_._ o_1 -I -_''_'__ I -

STOR.E _T _

P,.Er..og._

140

_ssc_QX_e- _ No

¢_T Co3)_1D

iou,'Tpuv'T_,._ _o_>

,_ I-_,_ |I "_¢'r,o _ |• E:_nr_-V /

..,.e

] II_1 U,)Oll¢> ;L

130

I,-_ :,. k_,_,_.,l

Page 359: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

$UPDATE Zl/Z5

131

-T"

_,,_f'_Wx _/

\

II

III

Page 360: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

gAgEQ

g_s

e.'l"

$t4eg'_N 2,

132 I

fL

\_ >_-__)

1

uo_1_. ott _c_ I

"_,'"r, _ic.o¢,o J

_'_'o 1. "toga.r,..r,-c¢. o_

Page 361: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

$UPDATE 23/25

'133

Page 362: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

$UPDATE Z4125

>I PuT -tyPe

_NT-oPIE55A_

(_£r W"oRJ_

C-OLd,4-F oF

TYPE

J,,-r-

6_I" TYPE--

PR _M F_R_/

134

Page 363: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

$UPDATE 25/25

FILb _, o

-FleA5 = ±

/

Page 364: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

Subroutine UPDUS

The building and updating of the two user tapes (coded and historical) is dane in this

subroutine.

There are five sections within UPDUS that read or write all binary tapes. All are

initialized upon their first entry and take appropriate action when encountering

redundancy, EOF or EOT. These sections are:

READC

USRID

UHID

WRUID

WRHID

Read sorted tape C

Read old user tape

Read old historical profiles tape

Write new user tape

Write new historical profiles tape.

The FORTRAN II I/O Package is used whenever it is desired to write on the system output

tape. This is accomplished with a TSX (TAPE), 4 and two calling sequence words.

First in UPDUS, all counters are set to zero. Flags are then set to show whether or not

there is an IP user tape, IP historical profile tape and whether or not on an initial run a

historical profile tape is to be generated.

If there is an IP user tape, its identification record is checked against the IP user control

card. If there is not a match, a message will be printed on line and a dump will be taken.

The same is done if there is an IP historical profiles tape.

The new identification records, with the date of the run, are written on the new user tape

(and historical tape, if there is one).

The two types of runs, build and update, will be discussed separately.

Build. All input for building user tapes comes from tape C. The first

descriptor for any user must be a header. If there is no header, the

user will not be processed and a message will be written on the system

output tape. Each add descriptor is checked to see if it should be

added to the user profile. When all the adds have been processed,

the percent that have been accepted will be compared to the required

percentage (MINU) specified on one of the control cards. If the

accept percentage is greater than or equal to MI NU, the user profile

will be written on the binary tape. If not, it will be rejected. If

the profile has been accepted, it will be written on the historical

profile tape if that tape is specified. Descriptor delete cards will

not be processed on a build computer run.

Update. On an update run there are two, or possibly three, input

tapes. The two required are tape C and the IP user tape. If this run

is with historical profiles there will also be an IP historical profile tape.

136

Page 365: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

Users on the old tape(s) that do not appear on tape C are simply copied onto the new binary

tape(s). When a user on the old tape also appears on tape C, the descriptors on tape C

will be added to or deleted from the old user record. The appearance of a header card for

an existing user will be interpreted as a new header and will be substituted for the original

header. No comparison is made with MINU when updating an old user profile, but a new

user, introduced in an update run, will be handled as in a build run.

Any changes to user profiles necessitated by vocabulary equate changes (establishing

synonyms) were transmitted earlier by subroutine UPDATE in a dummy user profile(profile #1). These are gathered and stored in the area of core previously used by sub-

routine UPDATE. Each profile written onto the new user tape is compared with the newly

created synonym relationships and is modified as required.

137

Page 366: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

_-_'-,'-_,,:_, o_l

_,.__,,_._.,,-,.rI_ _0_'¢_), ]

" o_c _;_- _r¢_ -_

-l_zO

_,_.,._y t_._.,l_ I

\,,

Page 367: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

NO

YZ=S

$UPDUS Z/Z

Block Diagram

t%Om vt.t.-r6P_. _ _e_E'r_

139

Page 368: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

$UPDUS 1/28

I Z_i-c_ Ot)'1"

r..EI...LS

,Jii_b AS I'LA(_

-I(_s

_o_-,,,,._ !_,',_,"o_ ',

?° I

@

....... il

Ii

140

Page 369: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

SUPaUS 2/2B

D

I

Page 370: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

$UPDUS 3/28

Page 371: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

$UPDUS 4/28

_'T=0

S"i C:'P.._' DeL_--'-I-E

I 9..P.c..o£'b

\oe_-"re'b I

"ST \

143

Page 372: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

_D

-_Z4

Or _ N_tO_

SUPDUS 5/'28

I

_ v _

Page 373: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

[ r_e_.,cx /

/_T_v_ _ . I _oP.._ Ifo_ LLS_ _ I r

i

L';,,,,o ?

1 "..-'o_/(_

D_J'-_ ' lrr ° R ]

$UPDUS 6/28

i ,

I_ "_ _._,c_ _-[I_-_, "_o'_. /

\_-_-, i*r_-/

\_B_ /\_s'r /

-to

p I.o f .. _"_

_----.-_-g.,2 _,,.2.I

145

Page 374: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

t

$UPDUS 7/28

?_t o_

k_t)

[ o%t-_ vALO£ I

0_: tu5

©"Pi C._,, uP

le.^c_ s,JB o

Page 375: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

0Nk_ _)-2(D

$UPDUS 8/28

U P_k'J _-_ DAT _

_ _,_,

_..

_,_._ _ _ _, •_.

_;_ _ _c"c_I

147

Page 376: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

SUPDUS9/28

148

Page 377: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

$UPDUS 10/28 IJ

v_L_ _eo_ t

!

c_-/_.._ o_z /

149

Page 378: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

]5_ oe.g

'X¢..e.oW, /\ _*,t. /

150

$UPDUS 11/28

Page 379: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

\re __c. !

/ _ \ m_nr-,ot"/

V

151

$UPDUS 12/28

i,}(_

.... .v_,.._o ITE51 FOIL

\ / L_'_'_E'-,_

\%ssr -/

V

3\-oo_-c-

Page 380: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

°,

"r'__ _ __2

_ _-_ _'_ /_'_ _ I

_'t_._ l _

J Ib_ OvO

$UPDUS 13/25

o_IL_/

i

152 v

Page 381: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

P._, )0

0

$UPDUS 14/28

0

Y P_

Se'T

e._r_tsT_ e.4"to :1.

153

AV 'oP 7

_o_a" /

A_ _l_J

I

_-_x_ -i,_7

Page 382: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,
Page 383: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

SUPDUS 16/28

©

155

Page 384: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

$UPDUS 17/28

_. l'T I-l"

IV

L_ _G_

_-C.L_o_'_

4L_ 3_'!

r1,-a _I0

C O _"_ _"_ _, _ _

t

156

Page 385: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

$UPDUS 18/28

j G _--_-c_ k_ C.'_

f_,ot!

\_ _ E i\_<,e. /

157

Page 386: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

$UPDUS19/28

• F'_l _ ,

.... i,,,

Sk

i

158

Page 387: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

$UPDUS 20/28

fI

_ _ __ t--<_I

V

_o__o _._ $ T"

1 _,

9 _,?.. _S "-

i

J

_ _._ O_L/

159

Page 388: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

$UPDUS 21/28

160

Page 389: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

SUPDUS22/28

Page 390: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

$UPDUS

_6"T _6 P6"1

.r V

J

J,.

......... _ I_,_'-*_ "tl_t>_ It , J

23/28

162

Page 391: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

T$UPDUS 24/28

i

©

?

I

1

t

_jl _- _ _ o._ I

163

Page 392: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

?Eo_O0_O/

r

$UPDUS

?I Se. r

[

25/28

164

Page 393: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

165

ti

Page 394: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

SUPDUS 27//28 _'*

TND... -rl,_, $ _ o-_w_>

',1 el.

]

_- ¢._ _ _. /

Page 395: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

SUPDUS 28/28

/ !

(e,.t.,_ L.,,f _" I

I i

k,lo

N_

eel.ROe iPoMl_,_ll,

"EQ_I_'TIrD "TO 'b

_" EI_N_ ¢ol) Ir

_ES -. - _'LL.t'r,_q_L."Ee, k'_'G"

EQ_k'X'E Fie, ore" I

C¢.LL -I"o '_ I" Ii

1

"CEil, f_ Co_E

yE

167

Page 396: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

Subroutine WDLBL

This subroutine writes the first file of the new vocabulary. The first record contains the

tape label. If there is a redundancy, an attempt is made to write the record ten times.

If unsuccessful, a message indicating the redundancy condition is printed and tape is

spaced forward. The second record, which contains the catalog of minimum and maximum

entries, and the third record, which contains a table of the number of logical records per

file, are written next. If there is a redundancy, an attempt is made to write the records

ten times. If the redundancy persists, some blank tape is written, and an attempt is made

to write the two records again. If the redundancy still exists, one more try is made

writing blank tape and writing the records. If there is still a redundancy, the records are

written on the system output tape with twelve octal numbers for each computer word.

168

Page 397: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

$WDLBL 1/1

169

Page 398: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

Subroutine WDICT

This subroutine writes the new vocabulary descriptor records, which are blocked fifteenlogical records per physical record. The procedures for a redundancy condition and anend-of-tape condition are the same as those used in WDOCT. A count of the number ofrecords in the last file of the new vocabulary is kept for use by the subroutine UPDATE.

170

Page 399: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

LO61CAL

$WDICT 1/1

oF

171

,G

Page 400: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

Subroutine WDOC

WDOC writes the binary document profiles tape. It is entered from subroutine PDTB. Ifa redundancy occurs while writing, ten attempts will be made, after which blank tape willbe written. Ten more attempts will be made.

Subroutine DEOF

DE©F writes five EOF's on the binary document profiles tape. It then rewinds and unloadsthe tape.

172

Page 401: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

$WDOC I/I

$DEOF I/I

-_\ _.T_,_ I

_E "-r" A'b_le E-.%5oF

'IE-5

_T_EOF

1

\ _" rJt)s- o g- /

\o_._-,_-r- /\ -r_,_ /

J,

1

173

Page 402: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

Subroutine WDOCT

This subroutine writes the coded document tape, which is blocked six logical records per

physical record. For a redundant record, an attempt to write is made ten times. If the

redundancy persists, blank tape is written and another attempt to write is made. This

process can occur 24 times. If, finally, there is still a redundancy, a message is printed

and a dump of core is taken. A message and a dump also will be given for an EOT.

174

Page 403: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

SWDOCT 1/1

175

Page 404: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

Subroutine WROUT

All messages written on the system output tape in PDTB are handled by this subroutine. The

output instructions are initialized the first time through. The exception is the RCH instruc-

tion, which must be set up before each TSX to WROUT.

176

Page 405: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

_'_ I_ "_ _/_ I

NO _ I

, J,5-r_r ADbef ss

RCHx.

?

$WROUT

t

1/1

177

Page 406: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

Subroutine WTAPA

Whenever six logical records from $CODER have been stored in an area called BLOCK

(6 x 27 = 162 words), WTAPA is entered to write these six on tape A as one physical record.

Upon first entry, all output instructions are set up. After the first entry, WTAPA onlywrites the 162-word binary record. If one tape is filled, an EOF will be written, followed

by a 20-word BCD control record for the SORT subroutine, and another EOF. The tape will

be rewound, and the second tape A will immediately be put into use.

After every write, blanks will be stored in every word in the BLOCK area, with the

exception of the first three locations of each logical record (BLOCK, BLOCK + 1,

BLOCK + 2, BLOCK + 27, BLOCK + 28, etc.); they will be filled with zeroes.

178

Page 407: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

$WTAPA I/I

I

b_c,

1 .

C'_._- _ o..2/

179

Page 408: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

Subroutine WUSE

This subroutine writes the user tape, which is blocked six logical records per physicalrecord. All processing in this routine is identical to that in the WDOCT subroutine.

180

Page 409: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

$WUSE 1/1

181

Page 410: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

C. SDI MATCH PROGRAM

1. Program Summary

1.1 Description

The SDI Profile Matching Program (MATCH) For the IBM 7090/94 Data

Processing System matches coded document profiles against coded user

profiles, generating notices when match criteria are met. The program

runs under the FORTRAN II Monitor System on a standard IBM 7090 or

7094 computer with 32k core storage and two 7607 data channels with

three to five 729 tape units (in addition to FORTRAN units). MATCH

consists of a primary program written in FORTRAN and of several sub-

routines, written in FAP.

In SDI-5, profile descriptor matching is a function of matching single-

word descriptors, matching or partially matching phrase descriptors, and,

in user profiles, 'must' and 'not' modifiers. Specifically, the MATCH

program generates a notice of a document for a user when at least one of

the following matching criteria is met:

1. A minimum percentage of matching 'may' (unmodified)

single-word descriptors.

2. One matching 'must' descriptor.

3. One matching or partially matching phrase descriptor: two

words of a two-word phrase, three of three, three of four,

three of five, four of six and five of seven.

But, in any of the above cases, if one matching 'not' descriptor, phrase

or single-word is also found, no notice is generated; the 'not' phrase

descriptor is subject to the conditions in Item 3 and the 'not' single-word

descriptor is equivalent but opposite to a 'must'. Also, in each execution

of MATCH, a small percentage of notices may be generated at random to

give the user an idea of what he may be missing due to a faulty profile.

The primary MATCH program contains the basic logic of the SDI profile

matching phase. It reads and acts on the controi card of the program

parameters, orders profile input activity, determines whether or not a

notice is to be sent and generates notices as required. When the primary

program reaches statement 200, the FORTRAN monitor is no longer

available; it has been replaced by user profiles in the array USER. This

is done to allow as large a buffer as possible for user profiles. The size

of array USER is determined by subroutine ERASE, which must be

"called" at the end, physically, of the main program.

The important primary program variables that enter the program vla control

182

Page 411: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

cardare:

1. NTAPD

2. NTAPU

3. NTAPU2

4. NOTIC

5. NOTIC2

6. DATE

7. MIN

FORTRANlogicaltapeunit, documentinput

FORTRANlogical tapeunit, userinputreel 1

FORTRANlogical tapeunit, userinputreel 2,if any

FORTRANlogical tapeunit, noticeoutputreel1

FORTRANlogicaltapeunit, notice output

reel 2, if any

Date of computer run (optional)

Minimum match percentage required to generate

a notice on the basis of 'may' words

8. NRAND Maximum allowable number of random notices

per user.

Other important primary program variables are:

1. NOTES

2. NOTESR

3. KXTRA

4. KEYGO

5. KORE

Total number of notices written

Number of random notices written

1 if normal run, 2 if restart run

Degree of matchz_0 match on 'not' term (no notice generated)

=0 no match at all (no notice generated)

0<KEYGO<100 percentage match on 'may'

terms (conditional notice generation)

=100 match on single word user 'must' (KEYGOthen reset to 300 and a notice generated)

100<KEYGO<300 match on user phrase

(notice is generated)

Length of array USER.

The subroutines used, in order of their logical occurrence within the

primary program, are:

1. ERASE Calculates the size of array USER and storesthe calculated value in cell KORE

2. DATA Initializes the reading of document and user

profiles from tape

3. MATCH Compares the terms of a given pair of user

and document profiles in order to determinethe number of words found in both profiles

i.e., the number of words that match. It

returns a four-part answer:

183

Page 412: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

.

.

.

PHRASE

RAN DM

WRITE

7. NEXT

MATCHS

MATCHP

N

KEYGO

Number of matching words used

as single words

Number of matching words used

in phrases

Number of matching words used

both in phrases and as single words

_0 if match on a 'must' word

<0 if match on a 'not' word

Attempts to match user phrases with document

terms. With a non-zero input argument, it

scans for 'not' phrases only. It can reset

KEYGO if a 'must' or 'may' phrase matches

(100<KEYGO4300) or if a 'not' phrase

matches (KEYGO<0).

Generates random numbers to determine if a

random notice is produced at any given time.No user will receive more random notices

than specified by the main program parameter

NRAND, nor will he receive as random

notices any he would (or would not) otherwise

have received on the basis of his profile.

Produces a notice upon command of the

primary program.

Secures a document-user pair of profiles for

matching. It automatically controls all

profile input after its initialization by sub-routine DATA.

1.2 Input

1. Coded document profiles

2. Coded user profiles

3. Control card of program parameters.

1.3 Operating Instructions

The SDI MATCH program is a standard FMS job. The card deck for the

system input tape includes in this order: ** job, * I D, *XEQ, source

decks if any, binary decks if any, * DATA, control card, EOF. Tape

units are assigned via the control card, one or two for user profiles, one

or two for notices, and one for document profiles. All tapes must be

mounted at the beginning of the job, and switching is then accomplished

without operator intervention. A2 is expected as system input. EOJ

occurs when matching is concluded or when an EOR is sensed on the

184 _ _/,,_., _'.2_ /

Page 413: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

second reel of notice output. Exit is via the standard FMS routines,

which are provided for this purpose as part of the MATCH I/Osubroutines.

The MATCH program may be restarted at any point after profile matching

has begun. To do so, obtain the profile numbers of the pair of profiles

being matched (console display or memory dump), or of the last notice

generated (last record on notice tape). Punch these numbers into the

control card (see format), and begin the run again. The presence of the

numbers will cause MATCH to scan to this pair on the user and document

tapes, and then to resume matching at the next following pair.

1.4 Output

1. Document Notices

2. Record Formats

2. I Input

. Control Card

Cols. 4- 5

9-10

14-15

19-20

24-25

30-35

39-40

44-45

50-55

60-65

FORTRAN logical unit - document input

FORTRAN logical unit - user input, reel 1

FORTRAN logical unit- user input, reel 2, if any

FORTRAN logical unit - notice output, reel 1

FORTRAN logical unit- notice output, reel 2,

if any

Date of computer run

Minimum match percentage required on 'may'noti ces

Maximum allowable number of random notices

per user

User profile number if recovery run, otherwiseblank

Document profile number if recovery run,otherwise blank.

For document and user profile formats, see the description of the

VOCON program.

2.2 Output

. Document Notices, unsorted, card-lmage records, 14 words per

logical and physical record.

Col. 2 First user initial

3 Document type4 Second user initial

5 Notice type

Blank = mayM = must

d,E- j

185

Page 414: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

CoJs. 6-15

16-21

23-32

33-38

40-50

77-80

P -- phrase9 -- random

User surname

User profile numberFirst ten characters of user address

Document number

Next eleven characters of user address

Next four characters of user address

186

Page 415: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

mo._.

.._ _

187"

Page 416: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

nxI_Tc_

_,,., r..I ,_ co ,,.,T_olI

K_OT= 0 --_

Jc,x v_A = _Z,

l'_aTp_r "T'_,pF- II J.Re,._,,,,'D

\

co _ ht eP.a'l-

C • _ M _.vv TO

/_ ._ I e,JG,

_Um_ AN'b

E _'£-r-

Icx.'rp..A .= I

\_ /

_ / c_lc_*,-r _ \

\ _,o,,_,,/ /

\ "_-_."/

_?___ ._ _ /

188

Page 417: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

189

Page 418: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,
Page 419: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

"_ _ 4- t 1',.a

_ _ I_.XC _, a

P_.o_e_ 5 LL_'r F,_ ,I.

IN _i.S t, {L

//,// '_.e.-T_ A. _ _"o

_. _ t_o _,_./_m.

c_,_-_o _.,f ||

"_ o £. _i ¢_ e.,N'_" |

191

Page 420: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

|1_ C.'R._ee,,_, N "t--

r

-i"o "l '_

F

I,+,-+-le_,e_._s

_ oE,I>,,,,;"

N,_,I

I,,IO

•v I _I_'-pe_l__,_¢,

--. -- IOO

192

Page 421: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

-LtA =0

N,G

193

Page 422: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

_o_' _-_,s/_

@r "/_s

_0j C_,.T

I

L_; LL_Jri

_0

eJ (_oo-p LI_+

I

_oT

_'_ = I_E'_-,_

194

Page 423: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

RI_N'OI44 _.

LS°F

"p.m_,".r¢>O

y_s

P,CC_fV_._,_ :w'x'oQ.. -0

PA _,i_ 1>'P..o#,-P-/_fw'_. _T6,

195

___S_,z, _.-, /

L

Page 424: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

I

_+r._o N'_ _ --_] IPJ D_cIP.e+_e_'_ I

/'t:,l',','+,,c_o,,,_>_.Qi..!

_EAv iN I

_P_cv.AGE '+£.'2

c{5_D+- "Doe..

+-_E -_ Lt9.. _J To

,_'P|ACG. co_te_-rS 1

_,.(-_ +,^-,.-_._.e I"-1 1o++T_+ ++ ,,,J /

ll_q I,-"_ u+P_P_0_-r iN r-

A i'__',I.14.1T(6,,-.<)I

xJ_P-reE E_F'.s -_ON O _Tp _T I

+P.ELuI N_ _'X"

1 _,,'r's I

e_J_C,M _.-r'e.,d..\

AC ,_ _6_

_p.l:: T Ul I1_.,N -to

_EGI_

" EE_.T.T"

_-,_K,¥-+;-E+i_G-i o,.,J o+"t-p_"r

I_QU+,Nt) _1"

j//_C+ cT miR"M \

" _-rR.ol -f\

196

Page 425: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

"¢EC. __ 1o_ - "r_._,NS¢© &

, \_ _

_ L,_-_- ,__

Y_s

_ _,'o_ _'0.o

/o¢ "x _ s-.rc_,"_

I

t _"_'_ °;" _1_1

t$ TkC. _;t;}P_...I

(s'ro_.. ,T ,,_ /

I cdl c_lleJ "Ko_,"_

_o Co_G

197

\

Page 426: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

I_ o .,r. i c..41

To l'slXl,,,,,,..s ""_oe..-l_,_

I sCw _p r__

J c _ r,_ _X I_,,+.,.I"ID..<

J_"'_ cl,,+..+l

I_,.T -7I F-,_r...,.,|I_.`-_ "_'_ II "++ '-°'""_-J

#-

_p

++°:I _.._-'_(_ "TO -T_

198

Page 427: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

+i

+' f'4 E,RT"_'¢X,.TU,SE'I_.I

P.E'CoQ.J_ LEM4_q'_

NEW"C_P..CK_T" I

"DOe. P+_C,_,¢>')

I

NEu+J ++_C., II.._I_I'T _ I

_A_/i iTS Lcm_r_.L_ m°

_N'O lt,,,li,,,i)liirllil I

'_OK., _¢oQ..b AT l

I,,lO

"&k-I'u_l,,, _ 1

JIi

/_i,=lt.#i,,:,,l.4 _'rs IL c _.,r.,vi.. ) i

No

_t'&,,_+ll X*,,,.l,+)

\,0,+.+-,t,., /

2.e._yc l¢ To_ II=,e.,-_- "l>,>.-,

I,,.,f,+,+';"-r_p_'

@_.z _ /

Page 428: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

ki0

r

P,._TI,I I_ I,.I

C-- Iz _m P,.m4_

_iNO

<_u,--rc.k TO

_KZ..o _'t_ k#56£

y_s

I _ PUtT

I

1-t-oP.. ,-p.xT" I

<'",,.sp +.c , & ,+_+_,I

--.-. !

Is.+,'ae" _p'J.T Ic'0r_l_ moS /_mb)

_,,m61+.. -P-o_ I

200

Page 429: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

•-r_ f

lN"I)LCA'roi_,_ |}

I|. L ocA "T',o,,.I

z:(_"PAcK-A_-_"I

TR, Ap - ZNI'U,'T') '

C..e,_t,.l'N_A N I_S

_-O IP--Ne ,_.-r"

Us_ _A,,_ARDII-rAPE ERe,o£. L..,17_oceJ j_ r"_'R_ TO (N{ll_oile/

CA_Cu|A-r_

_ECo _

REi:_ N_ A,,.W_,(

c_ _f, le:r_. M

C-o_ _ p,NI)s

>Z

J"r_e_ = z:z\" (A N<'¢I '_ LAST

IN p_.T 1_"C o £ ¢>

_,_" ';¢TTI_6 iTS

T6 "To 0

I P..¢co_.'_ (_,..}

I,,_p-r Tw4p_: ]

] 1¢¢-_ o ¢Zl},: _L • u ,e-,f-e..re,

____--_-_/.2_/

201

Page 430: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

...------..--E_

J

Co _tXN'¢:_ Ic6_,_NelT_Ap

Z e'T_A P.,N TO

FO.-_T A'r VJ_tc6

co u_rc p_ _k<k'

o¢ _eco_.pS I

r-_._4, _-o

IN I"11-1 I_L t_._P--__

I O,,._ AITe&NAT_&

t T_p_

I

202

Page 431: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

D. SDI POST CARD-TO-TAPE PREPROCESSOR PROGRAM

1. Program Summary

1.1 Description

The SDI Post Card-to-Tape Preprocessor Program (NPOST), for the IBM

1401 Data Processing System, loads on tape user responses to SDI notices

and POST program control cards so that the responses may be recorded in

the historical notice response file by POST. The program requires a 1402

card read-punch, 1403 printer, two 729 or 7330 tape drives, and, opti-

onally, a 1407 inquiry station; also, 8k core storage, a print line of 132

characters, high-tow-equal compare and, optionally, sense switches.

NPOST is written in 1401 Autocoder II.

As NPOST loads responses, it checks for validity, counts and analyzes

them. It corrects responses where necessary and possible or rejects

uncorrectable responses and separates those responses with a comments

punch for manual handling. NPOST accepts as many as 6666 responses

(the number POST can sort internally). After the last response is proe-

essed, NPOST prints the analysis and preparesa backup tape andaresponse listing.

Since a starting place should be supplied to POST for economical opera-

tion, NPOST provides the option either of having the program look for

the five lowest document numbers and having the operator choose one of

these as the starting place via the inquiry station, or of entering a start-

ing place on a card among the responses.

1.2 Input

1. Card Read Feed: User response cards and POST control cards.

2. Card Punch Feed: Blank cards.

1.3 Operating Instructions

1. Ready the 1401 system: output tapes on units 2 and 3, printer

with wide paper, card reader with condensed program deck

followed by control and response cards, card punch with blank

cards, check stop switch off, sense switch A on, sense switch

F on if inquiry station option used.

2. Load program cards.

3. EOJ will be indicated on printer.

4. If sense switch F is on, additional instructions are printed at theinquiry station.

2O3

Page 432: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

1.4 Outpu__.__t

1.

2.

3.

4.

5.

6.

7.

8.

Tape Unit 2: User responses and POST control cards.

Tape Unit 3: Duplicate of tape 2.

Printer: Analysis and listing of tape 2.

Stacker NR: Accepted responses with comments punches.

Stacker 1: Accepted responses.

Stacker 8/2: Rejected responses with uncorrectable errors.

Stacker NP: Blank cards (fed for timing).

Card Read Feed: Responses in excess of 6666.

2. Record Formats

2.1 Input

As user responses (Item 7) are returned to the SDI System, each day's

accumulation is headed with a date card (Item 6) containing the date of

receipt. About four boxes of such date-and-response-card sets are the

maximum input to NPOST, headed by POST control cards (Items 1-5).The order of the cards is the order of the following list. For more infor-

mation on the purposes of the POST control cards, see the description of

the POST program.

Supply Items 1-5 as necessary. Only Item 1 is mandatory.

1. Second Notice Date (1 or more, 10 max.)

Cols. 1 C

41-44 Date, numeric month and day

. User Closeout (15 max.), optional.Cols. 16-22 User number

71 7

. Report Limits (10 max.), optionalCols. 1- 6 Lower limit document number

7-12 Upper limit document number71 9

. POST Starting Place, optionalCols. 33-38 Document number

71 8

. Document Supply Cancellation (10 max.), optionalCols. 1- 6 Lower limit document number

7-12 Upper limit document number71 8

Supply sets of Items 6 and 7 as explained above.

o /

2O4

Page 433: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

.

o

Response Receipt Date

Cols. 1 * (asterisk)

41-44 Date, numeric month and day

1st and 2nd Responses (mixed)Cols. 16-22 User number

33-38 Document number

39 2 if second response

71,73,75 Response code: +, -, 0, 2 are valid

responses, 3 or T in 75 signifiesa comment

Other information punched in the response card is not

utilized by NPOST or POST.

2.2 Output

. Tape Unit 2: Card image of control card and response card

input, suitable for BCD input to IBM 7090/'94 Data Processing

System, 84 characters or 14 words per physical and logical

record, one file. Exceptions: column 1 of Items 1 and 6 isblank.

2. Printer: Analysis and listing.

. Stacker 8/2: Sets of rejected responses, each set preceded

by a duplicate receipt date card. The date card is punched

whether or not any responses of that set are rejected.

The formats of outputs not listed above are either identical to inputs

or are self-explanatory.

205

Page 434: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

.YE_

CA4,'r_c£I

_,,_ !

I

"<Z.."

206

L

v

Page 435: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

207

Page 436: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

E6

_JY_E Eof o,v"

R_wb

r7"ttPE ,,7 / s

No,,_ FR'/,_z2r-_)

_NZ) uP_ZoAZ_ A_ ?H'E Ewb

208

Page 437: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

E. SDI POST PROGRAM

1. Program Summary

1.1 Description

The SDI Post Program (POST), for the IBM 7090/'94 Data Processing

System maintains the historical notice-response file. The program runs

under the FORTRAN I! Monitor System on a standard IBM 7090 or 7094

computer with 32k core storage and two 7607 data channels with eight

729 tape units (in addition to FORTRAN units). POST is written in FAP.

The historical notice-response file is produced by executions of POST and

by the SDI MATCH program. It is maintained in document order. Within

a document, notices are ordered by first response, second response and

man number. Following the last notice of a given first-response code

within a given document is a tally record showing the number of responses

with that code, or in other words, the number of notices of the document

preceding the tally record. The last tally record for a given documentalso includes the classification of the document, the current supply of

copies and the total notices issued for the document.

The functions of POST in maintaining the historical notice=response file

are:

1.

2.

.

.

Merging notices into the file.

Recording or posting user responses to the notices in the file

and preparing second notices to accompany documents

requested by users.

Modifying the file in the cases of users leaving the system

and cancellations of document supplies.

Printing out portions of the historical file as requested.

The notices to be merged into the historical file are corrected records

removed previously because of errors and additions of new material. The

responses to be posted to the notices were loaded on tape by NPOST

along with POST control cards. In phase 1, POST sorts the responses ondocument number and saves control information in appropriate tables.

Responses for documents below the starting document number (starting-

place control card), are dropped to be posted in a later run as are

responses for documents not yet added to the historical file. POST then

copies the historical file to the starting point, merging notice records as

necessary. If any documents passes are within a report-llmit range

(report-llmlts control cards), they are written out on the report tape. In

phase 2, response posting accompanies the copying and merging of thehistorical file and alternate notices. All records for a given document -

historical notices, notices and responses - are loaded simultaneously in

209

Page 438: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

core. If the document is wlthina cancellatlon-limit range (document-

supply-cancellation control cards), the supply of copies is set to zero.

Then responses and receipt dates are posted (response-recelpt-date control

cards). For every copy order a dated second notice is prepared if a copy

is available (second-notice-date control cards); if not, a memo is pre-pared. When all responses for that document are posted, the program

marks closeouts which are outstanding notices for users who have left the

system (user-closeout control cards). Then, it sorts the notices, writes

out the document if it is within a report-limits range and writes it out.

As each document is processed, statistics are updated to summarize the

activity in this run. The final statistics are then written out ina state-ment at the end of the run.

The tape unit assignments for POST files are set by EQU statements at the

beginning of the POST program. They are:

1. N

2. J

3. M

4. I

5. T

6. H

7. G

8. F

9. W

Input historical file, channel A, unit 5.

Alternate notice file, channel A, unit 6.

Response file, channel B, unit 5.

Output historical file, channel B, unit 6.

Report file, channel A, unit 8.

Punch files - second notices, memos, exceptions -channel A, unit 7.

Intermediate memo file, channel A, unit 4;

copied to Item 6 at EOJ.

Intermediate exception file, channel B, unit 1;

copied to Item 6 at EOJ.

Statement, channel A, unit 3; the system output

tape.

Other important POST program variables include:

1. CHANS The number of channels used, currently 2.

2. SIZE Maximum number of notices per document,

currently 1000.

REC Maximum number of logical records per physical

record (blocking) of the historical notice-response

file, as output. This variable depends on the

setting of sense switch 2 (see Section 1.3).

MAX MAX = 14" (REC + 1).

MAXO MAXO = 14 * (REC).

NRS Maximum number of responses per execution,

currently 6666. The value of (3 * NRS) cannot

exceed the value of (20, SIZE). POST performs

an internal sort on the responses; 6666 is the

.

.

5.

6.

210

l

Page 439: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

7. CSIZE

8. RSIZE

9. SSIZE

10. RQSIZE

11. LPATCH

maximum number that can be sorted.

Maximum number of closeouts per execution,currently 15.

Maximum number of report intervals per

execution, currently 10.

Maximum number of supply cancel lation inter-

vals per execution, currently 10.

Number of second notices to receive the same

date, currently 250. RQSIZE isa reflection of

the number of copies that the SDI clerks can

mall in one day.

The address of the first unused location in the

area PATCH. Because POST uses all space

above itself for data, an area called PATCH

is reserved for changes. LPATCH must be up-

dated as the program is patched.

1.2 Input

1. Historical notice-response file.

2. Alternate notice file (for merging).

3. Responses and control cards (from NPOST).

1.3 Operating Instructions

The SDI POST program isa standard FMS job. The card deck for the

system includes in this order: ** job, * I D, * XEQ, source decks if any,

binary decks if any, EOF. A2 is expected as system input; A3assystem

output; POST requires the I/O table from VOCON.

Sense switch settings are:

1. SS2 ON if historical notice-response file is to bewritten unblocked.

2. SS5 ON if alternate notice file is present.

3. SS1 Set ON when last reel of historical file is

mounted; on throughout run if only one reel.

4. SS3 Set ON when last reel of alternate notice file

is mounted; on throughout run if only one reel;OFF if no alternate file.

Program stops are:

1. (3363)8 If EOR historical file input, mount next reeland press START.

If EOF, set on SS1 and press START.

211

Page 440: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

.

.

4.

(3372) 8

(3530) 8

(2631) 8

If EOR alternate notice file, mount next

reel and press START.

If EOF, set on SS3 and press START.

EOT on output historical notices; mount

next reel and press START.

EOJ. POST destroys any part of the monitor

above itself, and thus cannot exit throughthe monitor.

1.4 Outpu_______t

1. Historical notice-response file (updated)

2. Second notices

3. Memos

4. Exceptions

5. Document reports

6. Statement.

2. Record Formats

2.1 Input

. Historical Notice-Response File

Starred fields are added to the records by the POST program. The

file is sorted on document number, first response, second response

and man number. Itmay be blocked or unblocked; see variableREC.

la. Notice Records

Char.

2

4

6-15

16-21

33-36

37-40

41-44

45 -48

55-60

71

72

75

8O

First user initial

Second user initial

User surname

User profile number* Date of first notice

*First response receipt date*Date of second notice

*Second response receipt dateDocument number

*Response code of first response

*Response code of second response*Digit 3 if comments punch

Notice type

Blank = mayM = must

P = phrase9 = random

212

Page 441: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

Theallowableresponsecodesin ascendingsortorderare:+

02

7

Blank

Of interest, copy requested

Of interest, copy not requested

Of interest, have seen beforeOf no interest

User closed out without responseNo response

lb. Tally Records

POST expects a final tally record for each document from the MATCH

program; if one is not provided, the document is assumed unclassified

and the copy supply unlimited. POST creates intermediate tally

records containing the fields identified by +.

Char.

1

+50-53

+55-60

64-65

74-77

Classification

Blank = unclassified

+ = classified

* Number of notices with given flrst-response codeDocument number

Copy supply

Total number of notices for the document.

2. Alternate Notice File

The format of this file is the same as that of Item 1, unblocked.

. Responses and Control Cards

The formats of these cards are listed in the discussion of NP©ST,

the program that loads them on tape.

2.2 Output

I ,":,,_,v,.... :_I,_._Notice-Response File ' ....• _upaarea)

The format of this file is the same as that of Item 1, input.

2. Second Notices

The format of this file is the same as the format of the second

response, listed in the discussion of NPOST, with the exception

that the response field has not yet been punched by the user.

3. Memos

The format of this file is the same as the format of the second

response, listed in the discussion of NPOST, with the exception

of the response field and the second-response identification code.

, Exceptions

This file includes all valid responses that do not fall within the

document range processed by a given execution and any notices

213 _,f___z" _ O_ ./

Page 442: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

,

o

rejected as being out of document order. These records

have the formats of their respective files, Items 2 and 1,

input.

Document Reports

The format of this file is the same as Item 1, input, unblocked.

Statement

214

Page 443: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

NOTE I

The POST program was developed in another context.It is a useful adjunct to the NASA-SDI system, but assubmitted, is not integrated completely into the system.

215

Page 444: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

I

216_-_._ o..__/

Page 445: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

d I _<'i'<

\_-- _1

_CuH_'P_--it_,:_- i-----_t "'=_ I

Y

217

Page 446: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

218

_,_ _ /

Page 447: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

NASA-SDI SYSTEM

CONTENTS:

A. SYSTEM DESCRIPTION, NASA-SDI

B. SDI VOCABULARY CONTROL PROGRAM

C. SDI MATCH PROGRAM

D. SDI POST CARD-TO-TAPE PREPROCESSOR PROGRAM

E. SDI POST PROGRAM

This volume is solely devoted to the documentation of the programsfor the NASA-SDI System.

"v"

Page 448: PROGRAM DOCUMENTATION FOR JUNE1966The IBM 7090/94 SDI program will be made available on request to organizations interested in studying this SDI system. The source program, documentation,

u P._,_'_ /_ /

,/VF)_ r-_ r-Z. )

219

_ .......... " " " mr'l'Imm I r" • , ,