AfcAOWtf?- - apps.dtic.mil · Computer Aided Requirements Analysis (CARA). URL/URA presently...

58
o. o Ccpy NO'— ESD-TR-75-360 / _c;_iL— c y s - MTR-3095 USER REQUIREMENTS LANGUAGE AND ANALYZER (URL/URA) AN INSTALLATION GUIDE JANUARY 1976 Prepared for DEPUTY FOR COMMAND AND MANAGEMENT SYSTEMS ELECTRONIC SYSTEMS DIVISION AIR FORCE SYSTEMS COMMAND UNITED STATES AIR FORCE Hanscom Air Force Base, Bedford, Massachusetts Approved for public release, distribution unlimited. Project No. 572H Prepared by THE MITRE CORPORATION Bedford, Massachusetts Contract No. F19628-75-C-0001 AfcAOWtf?-

Transcript of AfcAOWtf?- - apps.dtic.mil · Computer Aided Requirements Analysis (CARA). URL/URA presently...

o. o

Ccpy NO'— ESD-TR-75-360

/ _c;_iL—cys- MTR-3095

USER REQUIREMENTS LANGUAGE AND ANALYZER (URL/URA) AN INSTALLATION GUIDE

JANUARY 1976

Prepared for

DEPUTY FOR COMMAND AND MANAGEMENT SYSTEMS ELECTRONIC SYSTEMS DIVISION AIR FORCE SYSTEMS COMMAND

UNITED STATES AIR FORCE Hanscom Air Force Base, Bedford, Massachusetts

Approved for public release, distribution unlimited.

Project No. 572H Prepared by

THE MITRE CORPORATION Bedford, Massachusetts

Contract No. F19628-75-C-0001

AfcAOWtf?-

When U.S. Government drawings, specifications,

or other data are used for any purpose other

than a definitely related government procurement

operation, the government thereby incurs no

responsibility nor any obligation whatsoever; and

the fact that the government may have formu-

lated, furnished, or in any way supplied the said

drawings, specifications, or other data is not to be

regarded by implication or otherwise, as in any

manner licensing the holder or any other person

or corporation, or conveying any rights or per-

mission to manufacture, use, or sell any patented

invention that may in any way be related thereto.

Do not return this copy. Retain or destroy.

REVIEW AND APPROVAL

This technical report has been reviewed and is approved for publication '

HENRY J. ETDEN, MAJ, USAF Program Manager

iLLUAa* MICHAEL S.'FREEMAN, CAPT,

TUAHLOJ*— USAF

Project Engineer

FOR THE COMMANDER

•^^^^u^y^i^fiyi^u FRANK J. iptffA, COL, USAF Directory ISTAO Deputy for Command and Management Systems

UNCLASSIFIED SECURITY CLASSIFICATION OF THIS PAGE f»7ien Data 1 Entered)

REPORT DOCUMENTATION PAGE READ INSTRUCTIONS BEFORE COMPLETING FORM

1. REPORT NUMBER

ESD-TR-75-360

2. GOVT ACCESSION NO. 3. RECIPIENT'S CATALOG NUMBER

«. TITLE (and Subtitle)

USER REQUIREMENTS LANGUAGE AND ANALYZER (URL/URA)- AN INSTALLATION GUIDE

5. TYPE OF REPORT & PERIOD COVERED

6. PERFORMING ORG. REPORT NUMBER

MTR-3095 7. AUTHOR(s)

L. C. Cheng

8. CONTRACT OR GRANT NUMBERS

F19628-75-C-0001

9. PERFORMING ORGANIZATION NAME AND ADDRESS

The MITRE Corporation Box 208 Bedford, MA 01730

10. PROGRAM ELEMENT. PROJECT, TASK AREA « WORK UNIT NUMBERS

Project No. 572H It. CONTROLLING OFFICE NAME AND ADDRESS

Deputy for Command and Management Systems Electronic Systems Division, AFSC Hanscom Air Force Basef Bedford. MA 01731

12. REPORT DATE

JANUARY 1976 13. NUMBER OF PAGES

56 14. MONITORING AGENCY NAME 4 ADDRESSfl/ different from Controlling Olfice) 15. SECURITY CLASS, (of this report)

UNCLASSIFIED IS*. DECLASSIFI CATION/DOWN GRADING

SCHEDULE

16. DISTRIBUTION ST ATEMEN T (of this Report)

Approved for public release; distribution unlimited.

J '7. DISTRIBUTION STATEMENT (of the abstract entered In Block 20, It different from Report)

18. SUPPLEMENTARY NOTES

19. KEY WORDS (Continue on reverse aide It necessary and Identity by block number)

CARA PROJECT COMPUTER AIDED REQUIREMENTS ANALYSIS SPECIFICATION LANGUAGE

20. ABSTRACT (Continue on reverse side If necessary and Identity by block number)

This document contains instructions for installing URL/URA (User Requirements Language/User Requirements Analyzer) on the IBM 370/158 operating under OS/MVT and Time Sharing Option (TSO). Guidelines are also given for installation in other environments. This document is written for systems personnel who will

OD 1 JANM73 1473 EDITION OF 1 NOV 65 IS OBSOLETE UNCLASSIFIED SECURITY CLASSIFICATION OF THIS PAGE (When Data Entered)

UNCLASSIFIED SECURITY CL ASSIFICATION OF THIS PAGE("H?i»n Data Entered)

be responsible for the installation and they are therefore presumed to be familiar with the terminology used.

UNCLASSIFIED SECURITY CLASSIFICATION OF THIS PAGECWhen Data Entered)

ACKNOWLEDGMENT

This report has been prepared by The MITRE Corporation under Project 572H. The contract is sponsored by the Electronic Systems Division, Air Force Systems Command, Hanscom Air Force Base, Massachusetts.

TABLE OF CONTENTS

LIST OF ILLUSTRATIONS

SECTION I A BRIEF SYSTEMS OVERVIEW

Page

5

SECTION II

SECTION III

SECTION IV

SECTION V

SECTION VI

URA COMMANDS AND CORRESPONDING PROGRAMS BLOCK DATA LIBRARIES TOP-LEVEL OPERATING ENVIRONMENT AUXILIARY URA DATA SETS SYSTEM SUPPORT DATA SETS

DISTRIBUTION TAPES

INSTALLATION FROM LOAD MODULES

COPY DATA SETS FROM TAPE MODIFY TSO COMMAND PROCEDURES SET DEFAULT PARAMETERS INITIALIZE A DATA BASE TO START IT THE SYSTEM

LOADING FROM OBJECT MODULES

COPY DATA SETS FROM TAPE MODIFY TSO COMMAND PROCEDURES INSTALLATION-DEPENDENT CODE RE-LINK-EDIT

SOURCE MODULES

FORTRAN CONVENTIONS TO MAKE CHANGES TO URA COMMAND MODULES TO MAKE CHANGES TO THE LIBRARIES TO INSTALL URA ON ANOTHER MACHINE

STORAGE REQUIREMENTS

MAIN STORAGE SECONDARY STORAGE OTHER

7 8 9 9

10 10

14

17

17 17 17 17 18

22

22 22 22 23

24

24 27 27 29

30

30 30 31

TABLE OF CONTENTS (Concluded)

Page

APPENDIX I LISTINGS OF DBRAND.ASM AND LIBMTS.FORT 35

APPENDIX II LISTING OF TIMER SUBROUTINES 47

APPENDIX III DATA SET CHARACTERISTICS AND STORAGE REQUIREMENTS 53

REFERENCES 57

LIST OF ILLUSTRATIONS

Table Number

Page

Figure Number

1 URA Command Modules 11

2 Listing of CLI.CLIST 12

3 Initialization of a URA Data Base 19

4 CLIST's for Initialization of Data Base 20

5 Listing of FORTIHC.CLIST 28

6 Portion of PSLBLK 32

7 To Execute IP Under Batch Environment 33

I Data Sets on Object Distribution Tape 15

II Data Sets for Source Distribution 25

SECTION I

A BRIEF SYSTEMS OVERVIEW

This document contains installation and startup instructions for the system User Requirements Language and User Requirements Analyzer (URL/URA). URL/URA is an interactive computer system acquired by Air Force ESD/MCI from the University of Michigan under the task of Computer Aided Requirements Analysis (CARA).

URL/URA presently operates on the IBM 370/158 under the OS/MVT/TSO environment, and has been shown to be operable under both MVT and VS. The source code is written mainly in FORTRAN, compilable under either the G or the H compiler. A small number of routines, however, are written in Assembler (F or G).

Distribution of this system in object deck form consists of over sixty data sets, and in source form about another sixty data sets. Because of the complexity of the interrelationships among these modules, it is felt that an exposition of the overall view ot the system organization is in order before detailed installation instruc- tions are given. A brief description of the system organization will therefore be given in this section. It is intended as background information to improve understanding of the installation procedure but by no means meant to supplant any system documentation of URL/ URA.

As is indicated by the name, URL/URA consists of two main parts, namely, the language and the analyzer. URL is a language for formally stating user requirements. A target system can be described by state- ments of the URL language which can be read and constructed into a data base via a set of interactive commands. This data base can in turn be checked, analyzed and summarized by another set of commands. The analyzer (URA) is the set of modules or computer programs that make up these commands. Hence, installing the URL/URA system is in reality installing the URA programs as well as supportive software to facilitate their execution.

URA COMMANDS AND CORRESPONDING PROGRAMS

Listed below are the names of all the program modules that make up the URA commands and the specific commands to which they correspond.

Program Module URA Command

CM CM (CONSISTS-MATRIX) CNC CNC (CONSISTS-COMPARISON)

Program Module URA Command

CONT CT DBS DCOM DEL DICT DP DPSL El FPS FREQ IDX KPER KPRT NGA NGP NLA NLP PAV PCOM PIC PRIO RCOM REN STR SUM SYNU XREF

CONT (CONTENTS) CT (CHANGE-TYPE) DBS (DATA-BASE-STATISTICS) DCOM (DELETE-COMMENT-ENTRY) DEL (DELETE) DICT (DICTIONARY) DP (DATA-PROCESS) DPSL (DELETE-PSL) El (ENTITY-IDENTIFIER) FPS (FORMATTED-PROBLEM-STATEMENT) FREQ (FREQUENCY) INDEX option in PIC, STR & FPS KWIC (KWIC-INDEX)

NG (NAME-GEN)

NL (NAME-LIST)

PAV (PRINT-ATTRIBUTE-VALUES) PCOM (PUNCH-COMMENT-ENTRY) PIC (PICTURE) PRIO (PROCESS-INPUT-OUTPUT) RCOM (REPLACE-COMMENT-ENTRY) REN (RENAME) STR (STRUCTURE) SUM (SUMMARY) IP (INPUT-PSL) cross reference option for IP

These programs are all written in FORTRAN. They are, however, not complete by themselves. They are supplemented by two other types of data sets - block data and service routine libraries.

BLOCK DATA

There are altogether four block data programs, namely,

PSL PSLBLK LIBBLK

and DBBLK.

These are all FORTRAN routines containing data statements which give initial values to variables in COMMON blocks. Not all four of

the block data programs are required by the URA command program modules listed above. SYNU and DPSL require PSL and PSLBLK. All the others require LIBBLK and DBBLK.

LIBRARIES

Libraries contain common subroutines used by more than one command program; they also contain service subroutines that are used over and over again. These libraries are compiled separately and link-edited together with the compiled program modules to form complete load modules.

There are three levels of libraries in support of the URA soft- ware:

1. SLIB - routines that are either operating system or machine dependent. These are mainly written in assembly language.

2. DBLIB - data base routines. These are routines that make up the data base management section of the software. Most of the routines are written in FORTRAN. The random access I/O routines, how- ever are written in Assembler. Some routines in DBLIB reference routines in SLIB.

3. FLIB - These are general utility FORTRAN subroutines used throughout the analyzer. Examples are report routines and matrix-handling routines. Since these routines are written in FORTRAN, they should be independent of the machine or operating system environment, except for the variations of the FORTRAN language as implemented in the different machines. The routines in FLIB reference routines in DBLIB and SLIB.

TOP-LEVEL OPERATING ENVIRONMENT

So far we have identified the program modules which compose the analyzer commands and their supportive software. The question remains: how are these commands initiated? This is achieved by a top-level command language handler which reads in parameters from users, accepts URA commands and initiates the correct program module(s) to handle each specific command. This top-level command language handler con- sists of two parts - CLI, the main portion, and CLIEX, which contains most of the code likely to be changed.

The entire systems overview is summarized in Figure 1.

This particular version of URA being distributed operates under the IBM 370 Time Sharing Option (TSO). The mechanism whereby the program modules are activated is TSO command procedures. First, CLI is initiated via a command procedure CLI.CLIST. CLI accepts URA commands and their respective parameters, constructs another command procedure GO.CLIST which is executed via a statement in CLI.CLIST (see listing of CLI.CLIST in Figure 2). CLI.CLIST is automatically reactivated by the last statement in GO.CLIST, and another URA command can be accepted by CLI. This mode of operation is very dependent on some subtle characteristics of TSO command procedures. Its pitfalls and alternatives will be addressed later.

AUXILIARY URA DATA SETS

Besides the URA command software discussed above, there is another category of data sets which is required before the URA system can operate. Examples of these data sets are data base tables required for the initialization of the data base and system default parameters which can be changed at each installation.

Listed below are the names of such data sets and their functions.

• PSADDL.DATA - data base description. Required for the initialization of a data base.

• SECRET.DATA - system default parameters. Can be changed at each installation.

• HELPSHRT.DATA - text for the HELP command (short version).

• HELPLONG.DATA - text for the HELP command (long version).

• PSAERROR.DATA - text for URA error message.

• DDLA - data base description analysis program. It generates database tables from database description. These tables are required for database initialization.

• DBIN - database initialization program.

SYSTEM SUPPORT DATA SETS

Some data sets are not part of URA itself but are included in the distribution to facilitate the installation of the URA system. One example is the INCL program which expands the Macro-like calls in the

10

P3 PQ H PQ M hJ M -i PQ

P £

\ '

0) •H

CO

1

X l-l w hJ M u l-J

CJ C ct)

H Pn p ** _ O BE CO

P 6" O CJ U U Q CO >< co Q

/ k

PQ PQ M

3 PQ PQ Q

a)

bo •H Pn

u (0 hJ 4-1 PQ cfl

hJ •J X) CO CO cu PL|

o o l-l PQ

11

o o CO

o p s Pn ^ fc 1^ < r~~ •H H iH

K « 00 *

sg iH

C> c N^ c fn pi PH ^-V

££ Pi Pi Pi VC <C ^v 35 35 S , •-I pa

£« co w co co ei pq p3 J> /»"N *-\ ^-\ CO * ^N • CO

i—i i—i **s m ~ m •H PQ - O > • o o O < <; < -^

o o 2 H H H - O v-' P Pn f*H M < < < < h Pd c LO <N CO P P P H m H X i-H rH £3 • • • <J ^~\ —i H ^

O EH (Z P!OHO O

O Q Z K • —' pH /—> XI « " g £ o pa H ^

---KKHOIU W < O W P, CM g O

* ,*-s • i-H i-H *-^ i-H i-H H

^ o o o C C & * o c c PQ fn «C _3 l-J U < c o c >-/ tn fU co pM pM ti H n vo ^^ ^P DBS W/-\< w « ro «SJ v^ CHOW O H H •~N ^N •—1 •—1 £-i O H H N

hlnH t-4 « H H t

fefuC -3 ^ s~* * * CO

OEOOCOOHCO u A A

W -< -* fc4 co o o 3

N-^ c i-H •-< /-^ •< CO CO CO CO • PT w

/-NKHHHHOO^: § hJ o o • •< O o PQ /—\ •^ • c c z «hfc * * *&--•» OtflU c PQ h h n

•J M —I C P H •-< «N CO < < < <<<;<:<<<<hj • J H N <«

P E E PQ pa Q a pppppppppa pa

M £ fc PM Z • AM HI O •> •> PQ

PQ »H ^ > fn 1—1 r-i i—li—<•—1i—li—(i—li-Hi—li-H hJ • *H t-H P Q C O ^, v-*- o c oooooococ < CO c o - «C O O ± pi ft, PL, ft. £ c c oooooocco u <r c o

fe p* pL,fL,pL,pHpL,pL,ffc,CL|fu • sr px. Pn H t300\ u o vC c HnmioMoo, ON CO c O CTi CO >—' r-1 i—i Cd c 1—1 HHHHHI-IFHNH <- en H H H Z H H Crf pi H H HHHHHHHHH sr H H H hJ pq fi, fn Pu U* LUPHIXJPHPHPIHCHLMLU c •- fe pt. CJ Qv-'ww < v^ N-^ N^> \_^ \»X \_/ \^S S^ >«• *S-/ V^ CO •v^ s-s w •

Oh h t> pa P"H PH ^hhlnhhUhh E-i ^ M M C Pn •• P

U a CJUCJCJUUUUU H u w w pi Pi o o ococcoooo hJ W uuu CO M

O W U H OS Pi 2 H

H H 3

3 < gg§^ p z •

PL, fL) fi_ < •< < CJ fe U- ft, w w o o o o o o c oooooocom o o o o c cr

M H N n< LO o r~- cocr>Oi-ir^mvfinin VC r^ CO CTi C f—t

l-J o o o o o o o OOi—f •—1 •—* i—1 •—1 i-H i—1 iH ^-i i-H 1-4 C^J CJ u o o o c o o o oooooocoo c c coo C

o o o c o o o oooooocoo c o o o o o

CO 1—1

—I <->

o en

+J w

c\j

g en

Pi

12

FORTRAN source code (see Section V). Others will not be enumerated here but will be discussed as they are introduced.

13

SECTION II

DISTRIBUTION TAPES

Data sets on the URA distribution tape are all IEHMOVE unloaded data sets, i.e., they are all copied from disk storage to tape by the IBM utility program IEHMOVE. Standard labels are used and recording done at 1600 b.p.i. Record format is fixed blocked, record length is 80 and block size is 800 characters.

Contents of the tape not only include the various types of data sets described in the previous section, i.e. the data sets that make up URA proper, but also a group of miscellaneous data sets which are used to help install the URA system. These data sets will no longer be required as soon as the system is in operation.

Naming conventions used are standard IBM 370 TSO conventions. The qualifier .FORT denotes FORTRAN source data sets (e.g. CLI.FORT, CT.FORT), .ASM denotes assembler source code, .OBJ denotes object modules, .LOAD denotes load modules, .CLIST denotes TSO command pro- cedures and .DATA denotes 80 character card images. All data set names on the tape are prefixed by a TSO account number which should be changed to what is appropriate at each installation.

The URA tape consists of object and load modules. For facilities with IBM 360 or 370 computers operating under OS/MVT or VS, the URA software should be installed from load modules. For versions of these operating systems with SVC's or access methods not compatible with those of OS/MVT, installation should be done using object modules after rewriting the random access routines in the URA software. The instructions given in this document are intended for the TSO environ- ment. For installations which do not operate under TSO, appropriate modifications should be made to the instructions.

The following Table is a listing of the data sets on the tape in the order they reside on the tape.

For the benefit of those who require access to the source, code, a URA source tape is also available. The contents of the tape will be listed in Section V. An attempt will also be made in Section V to highlight certain considerations in installing the system from source code. However, no detailed instructions are given» for it is felt that the installation procedure is too complex and environment-dependent to implement without adequate system documenta- tion or assistance both from people familiar with the systems aspects of URA, and people familiar with the system environment of the pro- posed installation.

14

Table I

Data Sets on Object Distribution Tape

Data Set Number Data Set Name

1 TS0448.CALLIB.L0AD 2 TS0448.PSADDL.DATA 3 TS0448•SECRET.DATA 4 TS0448.HELPSHRT.DATA 5 TS0448.HELPLONG.DATA 6 TS0448.PSAERROR.DATA 7 TS0448.URA.CLIST 8 TS0448.CLI.CLIST 9 TS0448.DDLA.CLIST

10 TS0448.DBIN.CLIST 11 TS0448.PSAL1NK.CLIST 12 TS0448.PSALINK1.CLIST 13 TS0448.NCLI.CLIST 14 TS0448.LIBMTS.FORT 15 TS0448.DBRAND.ASM 16 TS0448.DBLIB.LOAD 17 TS0448.FLIB.L0AD 18 TS0448.SLIB.LOAD 19 TS0448.CLI.OBJ 20 TS0448.CLIEX.OBJ 21 TS0448.CM.OBJ 22 TS0448.CNC.OBJ 23 TS0448.CT.OBJ 24 TS0448.CONT.OBJ 25 TS0448.DBS.OBJ 26 TS0448.DCOM.OBJ 27 TS0448.DEL.0BJ 28 TS0448.DICT.OBJ 29 TS0448.DP.OBJ 30 TS0448.DPSL.OBJ 31 TS0448.EI.OBJ 32 TS0448.FPS.OBJ 33 TS0448.FREQ.OBJ 34 TS0448.IDX.OBJ 35 TS0448.KPER.OBJ 36 TS0448.KPRT.OBJ 37 TS0448.NGA.0BJ 38 TS0448.NGP.OBJ 39 TS0448.NLA.OBJ 40 TS0448.NLP.0BJ

15

Table I

Data Sets on Object Distribution Tape (Concluded)

Data Set Number Data Set Name

41 TS0448.PAV.OBJ 42 TS0448.PCOM.OBJ 43 TS0448.PIC.OBJ 44 TS0448.PRIO.OBJ 45 TS0448.RCOM.OBJ 46 TS0448.REN.0BJ 47 TS0448.SUM.OBJ 48 TS0448.SYNU.OBJ 49 TS0448.XREF.OBJ 50 TS0448.DBIN.OBJ 51 TS0448.DDLA.OBJ 52 TS0448.PSL.OBJ 53 TS0448.PSLBLK.OBJ 54 TS0448.LIBBLK.OBJ 55 TS0448.DBBLK.OBJ 56 TS0448.EXA.DATA 57 TS0448.EXB.DATA

16

SECTION III

INSTALLATION FROM LOAD MODULES

All the load modules are grouped in one partitioned data set called TS0448.CALLIB.LOAD.

COPY DATA SETS FROM TAPE

All the following data sets should be copied from the object tape to disk (or other direct access storage) with the IBM 370 utility program IEHMOVE. The data sets should be renamed replacing the account number by the TSO account number at your installation.

Data Set Number on Object Tape Data Set Name

1 TS0448.CALLIB.LOAD 2 TS0448.PSADDL.DATA 3 TS0448.SECRET.DATA 4 TS0448.HELPSHRT.DATA 5 TS0448.HELPLONG.DATA 6 TS0448.PSAERROR.DATA 7 TS0448.URA.CLIST 8 TS0448.CLI.CLIST 9 TS0448.DDLA.CLIST

10 TS0448.DBIN.CLIST 56 TS0448.EXA.DATA 57 TS0448.EXB.DATA

MODIFY TSO COMMAND PROCEDURES

Inspect all the .CLIST data sets, changing all occurrences of TS0448 to the new account number as well as checking to make sure each command procedure will work at your installation.

SET DEFAULT PARAMETERS

SECRET.DATA contains default parameters which can be changed for your particular installation. Again, all occurrences of TS0448 should be changed to your own account number.

INITIALIZE A DATA BASE

A data base is created or initialized in two steps. First of all, a data base description PSADDL.DATA is analyzed by a program

17

DDLA and transformed into a data base table PSADBTAB.UNFORM. The data base table Is then formatted by a program DBIN to form a data base which can be interfaced with the rest of the system. (See Figure 3.) Both of these programs are included in load module form in CALLIB.LOAD.

The TSO commands to achieve the above are contained in two command procedures — DDLA.CLIST and DBIN.CLIST. These should be executed by the following commands.

EXEC DDLA 'PSADDL.DATA PSADBTAB.UNFORM' EXEC DBIN 'PSADB.DATABSE PSADBTAB.UNFORM'

A listing of the two CLIST's can be found in Figure 4.

The first line of the data base description contains the number of pages allowable for the data base to be initialized (1 page is equivalent to 4K bytes). By varying this number, the size of the data base can be controlled. The number of pages in the version of PSADDL.DATA being distributed is 50. However, if this number is changed, the space allocated for the data base in DBIN.CLIST should also be changed accordingly.

Instead of using PSADDL.DATA, one can write one's own data base description. The data base structure is documented In detail in "The Structure and Contents of a PSA Data Base"(l) and "A Data Base Management System for PSA Based on DBTG 71"(2).

TO START UP THE SYSTEM

For system startup, first enter TSO command:

EXEC URA

This generates all temporary data sets required for execution of URA commands. Then enter:

EXEC CLI

which is a restart procedure that brings the execution into URA command mode - that is, URA commands can be entered. If at any time an error occurs such that execution is taken out of this mode back into TSO command mode, CLI.CLIST can be executed again by:

EXEC CLI

to restart the URA system.

18

data base description analysis program

data base initializa- tion program

PSLDDL.DATA

I

PSADB.DATABASE

or

any database name

data base description

PSADBTAB.UNFORM data base tables

data base usable by URA

Figure 3. Initialization of a URA Data Base

19

o PH

g v-' c z; M CO SJ

>~N

c ^-s <U c- ^o Ul 00 CT. <fl —< O PQ ^ -3- u •*_• « c ^i •u 3 u (0 PQ o

PJ Q

/^"s *"N ^^\ PQ <+H .—I c 1—1 o o .—< c /^N

c •« c c c S c fe ^H o CO f—1 CC M •H c ^^ o CT 4J

K <•> PJ t m 03 c u ^-^ N

fl e < ^ ^~- w •H f—< CO PH »-H —1 tj ^1 c >— 00 o c < 5 o PH e c PH PH N: J2 •• Pu p., CO 4J r^ M PJ ^—\ r^. v£ ^~\ ^-N -H

o •—s 00 ^ < c o S • « C 1 ̂ ^ • 3 *-** l-J o H

P- E^ PJ H M M

* • Z m • n N A • W C ^N VH 1—1 •J M E- ^—* i—1 ^-i H ^ »: V^N O c a s •~\ E- PQ a o C P5 P- • P- a o

PH <<3 < O <4H

•"N C a PH ^-s oo pq Q < c /—s C Q 03 * PH ^ <-B -:; G ^3 c p- ^c Pi >£ Q pj'-'Oc a) N_^ ^ ^^ *•_• N-X CO >£ N—/ -J o x-^ ro v-* <^> O < HJ PQ » H O < < < < « o H p <: <H3 Q • G H

S£ a o O > Prf H

Q PQ M E s EQ PJ

H V-/ PQ K «jj -•^ M I-H

CO M

OS » ^s /^ >~s s-*> g W /•^\ HJ /—\ A * ^-N M G -H ^ C d PH -H •—1 •—4 ^H *gj .-1 i—i 3 jfi ^H CL, tM -H HJ ° d P /-s O •< PH o O o C &i U w O S o O O W

H C O o O c s c O a o o H O O Q CM PH O O-l « P-, h PH t- PH H PH • p^ PH PQ O PH PH O VO • C • Q m m vC r~- i « /•% CO CO ^ in P pq ro PQ ^—N O C CO H ^r

c o o c w Q o c -J ]—1 o Q O n o C H -tf PH (J H H H H *+s p:. u: H <J- ^^ H PH w H v-3 « PoJ^ 0) Q PH Ex PH PH g c c PH o Pi Pn CQ P4 PH o Q ^ C W M Q v^ ^^ ^^ ^^ E H a N—' CO H ^^ O hJ w H PJ ^HMiJ 3

M PH PH PH E- < *~s fe H H M M PH < '—' PH PH H M 00 CM PH < 5 H » < fc CN PH H • PH •H

H u U U CO u u H U CO CJ U U P4 00 O W c o c W P; W Pi c -1 W m CO u w o pq pi O O (J W

o w pi s

•4 a H 3 M

to >-

9 3 ^ pi | §

PH <

KH M

CO >> d^g

u PH PH < < < PH < PH CO u fc fe CL, P- CO < < O PH

<OOOOCOOOCOOCO>-i ijHNnsfinvosoo^CHNnc QOOOCC'OPOO<-t>-i^H-H< QOOOOCTOOOC-OOOOPJ OCOOCOOOOOOOOK

ZOOOOOCCOCJM M-HcMc*i«3-mvor^oocr>G CQOOOOOOOOO< QOOOOOOOOOU oooooooooS

20

As explained in Section I, the ability to enter another URA command as soon as the previous one has finished execution depends on recursive executions of the two command procedures CLI.CLIST and GO.CLIST. However, each such recursive initiation of a CLIST from another CLIST uses up a certain amount of core storage. If enough URA commands have been executed without interruption, one could run out of core. In this case, the URA system can also be restarted just by executing CLI.CLIST again.

The newly installed URA system can be tested with the two examples included (EXA.DATA and EXB.DATA). These contain URL statements which can be entered into the data base.

21

SECTION IV

LOADING FROM OBJECT MODULES

If the URA system is being installed on the IBM 370 or a com- parable machine but the operating system is not altogether compatible with OS/MVT, the procedures outlined in this section should be followed,

COPY DATA SETS FROM TAPE

All data sets except CALLIB.LOAD should be copied from the oblect tape to disk with the IBM 370 utility program IEHMOVE. The data sets should be renamed replacing the account number by the TSO account number at your installation.

MODIFY TSO COMMAND PROCEDURES

Inspect all the .CLIST data sets, changing all occurrences of TS0448 to the new account number as well as checking to make sure each CLIST will work at your installation.

INSTALLATION-DEPENDENT CODE

The code that most likely needs to be changed or rewritten is the code that is special to each installation. The installation dependent code in URA resides within two source libraries DBRAND.ASM and LIBMTs.FORT.

The routines in DBRAND.ASM, viz:

RANDCL RANDOP RANDOW RANDRD RANDRW RANDWT

are random access routines. A listing of their contents can be found in Appendix I. If not compatible with the operating system at your particular institution, they should be rewritten. Each routine should then be compiled and link-edited into a separate load module which should replace the routine of the same name in the library DBLIB.LOAD.

22

The source library LIBMTS.FORT has the following members, listings of which can also be found in Appendix I:

CLOSEDB CPUSEC GETDAT GETERR GETTIM

No change is required for CLOSEDB and GETERR. The other routines all make use of Assembly subroutines which obtain the date, time of day and CPU time. These subroutines are called INTIME, JTIME, DATE and CLOCK. A listing of their source code and an explanation of their usage can be found in Appendix II. The source code should be scanned to see if they are compatible with your operating system. If so, no change is required. Otherwise, the code should be modified so that it will execute correctly in your facility. Or, there may be similar timing routines in your installation which will serve the purpose. In that case, the FORTRAN instructions in CPUSEC, GETDAT and GETTIM which call these timing routines should be changed. In either case, the three routines, CPUSEC, GETDAT and GETTIM have to be recompiled and a load module for each including new versions of the timing subroutines. Each of these load modules CPUSEC, GETDAT and GETTIM should replace members of the same name in the load library SLIB.LOAD.

RE-LINK-EDIT

Since any of the changes outlined above involves a change in the libraries DBLIB or SLIB, the URA command handler and command program modules have to be re-link-edited to include the new versions of the library modules (refer to Figure 1).

The command handler CLI.OBJ should be link-edited using the command procedure NCLI.CLIST, SYNU.OBJ and DPSL.OBJ should be link- edited using PSALINK1.CLIST and all other URA command program modules such as CT.OBJ, CM.OBJ and XREF.OBJ with PSALINK.CLIST. Each of the resulting load modules will automatically replace members of the same name in CLLIB.LOAD. The two programs required in the initialization of a data base (DBIN.OBJ and DDLA.OBJ) should also be link-edited in a similar way with PSALINK.CLIST.

At this point, the procedures set forth in the previous section under paragraphs Set Default Parameters, Initialize a Data Base and To Startup the System should be followed to complete the installation.

23

SECTION V

SOURCE MODULES

For the benefit of those who would like to make changes to the URL/URA system, or those who would like to install it on a machine other than the IBM 360/370 series, the URA system is distributed in source form as well. Table II contains a list of the data sets on the source distribution tape. A "C" denotes those data sets which are of interest only to those making changes to an already installed URA system operating under TSO on the IBM 360/370.

Uote that if the system were to be installed on a machine whose tape recording format is not compatible with that of the IBM 360/370 on which the distribution tape is made, the source code will have to be distributed via card decks or whatever other means which makes the transfer possible. As has already been mentioned, installation of this system on another machine without adequate systems documentation or the help of those familiar with the system is really not advisable. Besides, no detailed instructions can be given here without knowing the environment under which the system will operate. However, an attempt will be made in this section to point out the peculiarities that have to be taken into account and to outline the steps that should be taken. Making changes to the source code on the same machine (IBM 360/370) is much simpler and the procedure will also be outlined.

Most of the source code is written in FORTRAN, the rest in 370 Assembly Language.

FORTRAN CONVENTIONS

An unusual convention similar to a macro call is used in the FORTRAN source code. The rationale behind this is that there are many common sections of code which are used throughout the URA programs. This common code consists mainly of FORTRAN COMMON blocks which define variables shared among subroutines, and FORTRAN DATA statements which set the values of these variables. Furthermore, these variables often represent parameters such as the size of the svmbol table, number of lines in a page etc., which users of URA may wish to change from time to time. These common blocks of code are therefore not included in the FORTRAN source, but their required presence is indicated by the name of the block. For example, if

*CALL,RECTAB

appears in between two FORTRAN statements, a common block called RECTAB should be inserted in its place. All the common blocks of code to be

24

Table II

Data Sets for Source Distribution

Data Set Number Data Set Name

1 TS0448.PSADDL.DATA 2 TS0448.SECRET.DATA 3 TS0448.HELPSHRT.DATA 4 TS0448.HELPLONG.DATA 5 TS0448.PSAERROR.DATA 6 TS0448.DDLA.DATA 7 TS0448.DBIN.DATA 8 TS0448.INCL.DATA 9 TS0448.DBCOM.DATA

10 TS0448.PSACOM.DATA 11 TS0448.EXA.DATA 12 TS0448.EXB.DATA 13 TS0448.SLIB.ASM 14 TS0448.DBASM.ASM 15 TS0448.DBRAND.ASM 16 TS0448.LIBMTS.FORT 17 TS0448.DBUSER.DATA 18 TS0448.DBLOW.DATA 19 TS0448.DBTAB.DATA 20 TS0448.FLIB.DATA 21 • TS0448.PSL.DATA 22 TS0448.PSLBLK.DATA 23 TS0448.DBBLK.DATA 24 TS0448.LIBBLK.DATA 25 TS0448.CLI.DATA 26 TS0448.CLIEX.DATA 27 TS0448.CM.DATA 28 TS0448.CNC.DATA 29 TS0448.CONT.DATA 30 TS0448.CT.DATA 31 TS0448.DBS.DATA 32 TS0448.DCOM.DATA 33 TS0448.DEL.DATA 34 TS0448.DICT.DATA 35 TS0448.DP.DATA

25

Table II

Data Sets for Source Distribution (Concluded)

Data Set Number Data Set Name

36 TS0448.DPSL.DATA 37 TS0448.EI.DATA 38 TS0448.FPS.DATA 39 TS0448.FREQ.DATA 40 TS0448.IDX.DATA 41 TS0448.KPER.DATA 42 TS0448.KPRT.DATA 43 TS0448.NGA.DATA 44 TS0448.NGP.DATA 45 TS0448.NLA.DATA 46 TS0448.NLP.DATA 47 TS0448.PAV.DATA 48 TS0448.PCOM.DATA 49 TS0448.PIC.DATA 50 TS0448.PRI0.DATA 51 TS0448.RCOM.DATA 52 TS0448.REN.DATA 53 TS0448.STR.DATA 54 TS0448.SUM.DATA 55 TS0448.SYNU.DATA 56 TS0448.XREF.DATA 57 TS0448.PSACOM.DATABASE C 58 TS0448.FORTIHC.CLIST C 59 TS0448.LIBBLK.OBJ C 60 TS0448.DBBLK.0BJ C 61 TS0448.PSLBLK.0BJ C 62 TS0448.PSL.0BJ C 63 TS0448.DBLIB.LOAD C 64 TS0448.FLIB.LOAD C 65 TS0448.SLIB.LOAD C

26

thus inserted (a total of about 2000 lines) are organized into a data set named PSACOM.DATA. If any of these blocks were to be changed, the modification needs to take place only once in PSACOM.DATA, instead of at all occurrences of the common block throughout the code which may be quite tedious. Another advantage is that the stored source code is shorter in length. This may be important since storage requirements for URA are not trivial, as will be made evident in the next section. These advantages are achieved at the sacrifice of processing time, of course.

A FORTRAN program is written to insert the blocks from PSACOM.DATA into the source code by replacing each *CALL statement with the correct block. This program is called INCL and its source is contained in INCL.DATA. It also exists in executable load module form as a member of CALLIB.LOAD. The way the INCL program works is that it makes use of the URA data base handling capability. PSACOM.DATA has to be built into a URA data base. INCL will read in the data base as input and expand the *CALL statements into their respective COMMON blocks. A version of this data base built from PSACOM.DATA is included in this distribu- tion of the source code for the purposes of those who already have a URA. system working but wish to make modifications to the system. This will save them the trouble of having to generate the data base them- selves (for instructions on building a data base please refer to Section IV). This is true provided that no change is made to the COMMON blocks in PSACOM.DATA. As can be expected, to install URA on another machine is much more complicated. We will go into that further in a subsequent paragraph.

TO MAKE CHANGES TO URA COMMAND MODULES

If some version of URA has already been installed from load or object modules, and changes are to be made in URA command program modules, the procedure is not too complicated. First, make the change to the source of the command module, say SUM.DATA. Then include the common blocks (or expand the *CALL statements) and compile the expanded FORTRAN code by executing FORTIHC.CLIST (see Figure 5).

TO MAKE CHANGES TO THE LIBRARIES

To make a change to the libraries is slightly more involved. The source for SLIB is in SLIB.DATA, that for FLIB in FLIB.DATA. However, there are several source libraries which make up DBLIB. They are:

DBLOW.DATA DBASM.ASM DBTAB.DATA DBRAND.ASM DBUSER.DATA LIBMTS.FORT

27

o c C c o Ll- •^ — CC v^ C

^N cr It zc - h- tj * LU u. C LL CO s —I LU < rH CO C CC C X < C ^> X H tx c o. «r 1*. c < cr c •H 2^

• h *~s s s s LL » C ^H c X 2 r"^ c in to <~ r-1 c iH CM CM —

< cr c cr S-' N_'

co c. LL C LU C C a LL 23 LL CJ o S

• ir. 77 r>» < TH * CC cr • cr D. <w LU _;*• I'- K H c: co LU cj a- LL co LL X CJ Q: c % cr. ^-N x to^ < — co i-H c <r l-H -Z D. C t- c c 1- *~s - c *-* cc to CO - c z~ < H- ,-N c -^s -^ j_ o - *-* s-^ LL • c a: —1 LL. CM CC QC • *"N CM

CC LTl CC • c CJ IA I- c c • c - h- o cr J* • LL. 2 o *-\ |"J • LL. LU C ^N 23 #"»

H J* LU • — f- 1- CO • •r-*cwi- *~^ u. cr *~ a. ^ LL v_^ >- LU CL < «-* C> >- ^^ 1- x^> CO < y HO x H 1- CO S 2- 2 i^ < CO \~ ~~. f-i • 1- 2 *~\ U13<H 3 A— X < LU eC <J < %rj c C CO ~ «C * hCCC e — rr X t- v^ c ^ z c CO c c ^ ^—' v-^ s-* to —1 o CO c: — cCT '^ < —! LU — CO >- U. eC <<<<>- • LL >- c CO < C CC — CO >- 00 fA v-> CCCCMtt^ CO ot >-TUJC w >- CO v_^ O < — o </") cc I— <-»<-> cc to

- h- l- c #^N ^~N *-v •"N **~. -J»- ^ *-N *^N X C LU *"* ZZ. CM' — S»-N

1-2 u. HHHHH JLL r-t l~ »- Z • -!=: — »- JZh to — s/-* o C cr C O < s o 2 2 — • LU — _i r: ^ — 2 — CC CM CM cr cr o c o CJ CM o — — _J LU C tO CO CO 2 —I — _l Q. c C u. LL li- U- LL. • c LL CC CC CO y >->- > CO cc o c c ro Ln cc t~~ CC cc o CC a. CL >-< <-» CO CO CO —1 >- c

. UJ c c cr o es c o -3- C cr to to to T" C ^^ ^-** v-/ • CO CO o 2 m c I-I-h t-t- J- CC H >- >- v-^ t^ LJ LJ UJ H -^ >- X < CCLLU.U.LL a. o c; LL tO CO LU G —1 —I —I to LU CO mm 2E ^^ s-^ N_^ %-• v^ V-' *^ to ^ s-^ ^^ v^ _J 1- UJ — >- —I •— H 1— — — LL — < s^ LL LL LL CO — — cc IH LL. - LL LL LL. U- h- - LL. LL c CJ CJ O CJ CJ O O MOOOC U. CJ UJUJCCCCCC-JUJUJlllUJCUJllJCCC C —I LU LU LU

• C2UJ-J _J _l _J _1 _J —1 LU s: UJ LU _l LU _J CO —1 —1 —J —1 LU LU :r c CO CC — cc —i—I_J_j_j_i<cr — CC CC _i e; — >- _1 _J _J < CC cc "• zz ^CLHLL<<<<<<CJLLHLLU-<U-LL.tO<<<CJU.lL.»-lU —- c o in o c c o c o coo in o o o c o c c c in c o c in c WHHNK> J'inCN CO o c O rH CSI M~l ^t in (CSC3e0ClOrl t-H CM 1— o c o o c cr c c O C »H r-l iH I-l rH fH iH 1-4 iH iH t-l iH CM CM CM CM - c o c o cr cr cr cr O O C C C c C cr c C C O O o C C O c

o coo o o c o O c o COO c c c C C C O O O c C O

H C/3

u 58 H

I o

cf •H W GO

u-l

fe

LU CC

28

If a change is made to an Assembly Language library, one only needs to reassemble it after the change. If the change is made to a FORTRAN library, one needs to expand the *CALL statements using INCL before recompiling it. After the reassembly or recompilation, one has a library in the form of a large object deck with each CSECT or subroutine stacked one after the other. This is still not in usable form. Another support program called LKIN, the source of which is in LKIN.FORT, was written to split up the object module by sub- routines. A load module form of LKIN also exists as a member in CALLIB.LOAD. After executing LKIN, the new object library produced should be link-edited into its load module library.

TO INSTALL URA ON ANOTHER MACHINE

*CALL's in the problem arise because the source FORTRAN code has to be expanded and yet to achieve this with the INCL program requires that part of the URA system, viz. the data base package, be operational. This is sort of a "bootstrapping" procedure. There are two alterna- tives. One is to write one's own program to expand the *CALL state- ments. However, considering the fact that PSACOM.DATA consists of over a hundred COMMON blocks amounting to about 2000 records, and the frequency of occurrence of the *CALL statements, this will be no easy matter. The other alternative is to bootstrap the system by first making the data base package operational. This can be done by expand- ing the FORTRAN code which makes up DBLIB either manually or by developing your own program to do it. Fortunately, only a small portion of PSACOM.DATA is required in the expansion of the data base libraries, and they have been extracted into a data set DBCOM.DATA. Once DBLIB is operational, INCL and DBIN can be used (their source code has to be expanded manually, too) to build PSACOM.DATA into a data base PSACOM.DATABASE and expand the source code for the rest of the system. After that, the system can be compiled, and transformed into executable (load) modules. Needless to say, none of the TSO capabilities, such as CLIST's, apply. The top level initiation of the URA command by means of TSO command procedures will no longer function in a non-TSO environment. (Refer to Top Level Operating Environment in Section I, and To Startup the System in Section III.) Another method of management will have to be worked out. Since the CLI module writes out the appropriate TSO command procedure for the URA command entered, the code in CLI will have to be modified to achieve a change in the top-level management.

29

SECTION VI

STORAGE REQUIREMENTS

MAIN STORAGE

This particular version of URL/URA presently operates within a 256K partition under TSO. Actually, most of the URA commands will operate within 128K, except IP and DPSL, the two commands that deal with entering and deleting information in the data base. The module that handles the IP command is called SYNU (see Section I).

The maximum number of pages (AK bytes) of the data base that can be brought into core at any time has been cut down to 4K so that SYNU can fit into a 256K partition. In building large data bases, this maximum number of pages in core can be made larger if a larger partition is available, or, if the IP command can be made to run under a batch environment with more core available. This will greatly enhance the execution speed and can be achieved by changing variable MPICOR in PSLBLK to the desired number of pages (not to exceed 30 pages) and the dimension of PAGE to a value equal to the product of MPICOR and 1024. (See Figure 6). Figure 7 contains an example of how IP can be run as a batch job on the IBM 370/158.

The operating environment to which all the above comments pertain is the OS/MVT operating environment. For operations under VS or other systems with virtual memory the partition size will no longer become a problem.

SECONDARY STORAGE

IBM 3330 disk storage is used at the installation where the distribution tapes were made. Track length is 13030 bytes. The whole URL/URA system including source, load and some object modules requires over 2000 tracks to store. Just that part of it that is required for the everyday execution of URA (only load modules, auxiliary data sets, CLISTs etc.) requires about 800 tracks. As one can see these numbers are not trivial and may incur considerable day to day operation cost.

Appendix III contains more details on the size of each data set.

30

OTHER

The number of files allocated by URA to service some commands may be as high as 14. Provision therefore must be made in the number of dynamic allocation of files in the TSO logon procedure.

31

02i*on 02500 02510 02520 02530 02540 02550 02560 02570 02580 02590 02600 02610 02620 02630 02640 02650 02660 02670 02 68 0 02690 02700 02710 02720 02730 02740 02750 02760 02770 02780 02790 02800 02810 02820 02830 02840 02850 02860 02870 028S0 02890 02900 02910 02920 02 93 0 02940 02950 END 0

C crus CMTS CUTS C C

COMMON/P>LENS /RDBLEN, IDBLEN,SnRLEN,ODBLEN,MDBLEN, ft PHILEN,PRHLEN

INTEGER RDBLEN,IDBLEN,SDBLEN,ODBLEN,MDBLEN, a PHILF.N,PRHLEN

COnMON/PAGINF/NPAGES,PAGStZ,FILE,CURPNO,f1PICOR,NPICOR,NCUR, ft PHICUR,PREF(32)

INTEGER NPAGES,PAGSIZ,FILE,CURPNO,f4PICOR,NPICOR,NCUR, a PHICUR,PREF

COMfION/PAGE /PAGE (3072) INTEGER PAGE ^^m

COMMON/DBSl.'S /OPENSU, LEVEL INTEGER LEVEL LOGICAL OPENS!/

COMMON/RANDCM/CHRRP^CHRV/P^RMOn/JMOP^LEN INTEGER CURRP,CURWP,RMOD,WMOD INTEGER*2 BLEU

C CITS CUTS CMTS C

*EOR F DATA

OATA NCI//4/

DATA RDBLEN/6/ DATA IDBLEN/5/ DATA SDBLEN/7/ DATA ODBLEN/2/ DATA MDBLEN/2/ DATA PHILEN/2/ DATA PRHLEN/1/

DATA NPAGES/2/ DATA PAGSIZ/1024/

DATA OPENSU/.FALSE./ DATA LEVEL/0/

DATA RMOD/0/ DATA WMOD/Z00020000/ DATA BLEN/4096/

END

Figure 6. Portion of PSLBLK

32

//IP#NORAD JOB (572G, ft REGION=256K //JOBLIB DD DSN=TS0449 //IP EXEC PGM=SYNU //FT15F001 DD D$N=TS0448 ft DCB=(RECFM= //FTllFOOl DD SYSOUT=A //FT10FOO1 DD SYSOUT=A //DB0002 DD DSM=TS0307.P ft DCB=CRECFM= //FT03F001 DD DSN=TS0443 // DCB=(RECFM= //FT06F001 DD SYSOUT=A //FT13F001 DD DSN=TS0443 It DCB=(RECFM= //FT14F001 DD DSN=TS0448. It DCB=(RECFM= //FTOlFOOl DD DSN=TS0448 II DCB=(RECFM= //FTO5FO01 DD DSN=TS0307 //FT08F001 DD DSN=TS0448 II DCB=(RECFM= //FT09F001 DD DSN=TS0448 If DCB=<RECFM= ft

D72,DESK,10),»CHENG L•tCLASS=D,TIME=20,

.CALLIB.LOAD,DISP=SHR

.PSAERROR.DATA,DISP=OLD, FB,LRECL=80,BLKSIZE=800)

SADB.DATABASE,DISP=OLD, F,8LKSIZE=4096) ,PSADBTAB.UNFORM,DISP=OLD, VBS,BLKSIZE=800)

,PSAFPAR.UNFORM,DISP=OLD, VBS,BLKSIZE=800) COMMENTS.DATA,DISP=OLD, FB,LRECL=80,BLKSIZE=800) .RTA.UNFORM,DISP=OLD, VBS,BLKSIZE=POO) ,NORADl.DATA,DISP=OLD ,PSA8.TEMPfDISP=0LD, FB,LRECL=40,BLKSIZE=400) ,PSA9.UNFORM»DISP=OLDt

VBS,BLKSIZE=800>

Figure 7. To Execute IP Under Batch Environment

33

APPENDIX I

LISTINGS OF DBRAND.ASM AND LIBMTS.FORT

35

list 'ts0i*09.1lbmts.fort(c1osdl>)' •TS0U09.LIBMTS.FORT(CLOSDB)'

00010 SUBROUTINE CLOSDB 00020 C LAST CHANGE - 71*0329 - AL HERSHEY 00030 C 000U0 C SUBROUTINE TO CLOSE DATA BASE AND 00 ANY OTHER STUFF 00050 C 11610 COMMON/PARIN/READSW,PUNSW,OUTSW,NAM(8),STA,DBNBUF,ABRTSW 11620 INTEGER NAM,DBNBUF 11630 LOGICAL READSW, PUNSW,OllTSW,STA, ABRTSW 1161*0 C 11650 C FOR GIVING PARAMETERS TO ROUTINES WHICH COULD REAO 11660 C 11670 C READSU - WHETHER TO READ NAMES FROM LIOE 11680 C PUHSW - WHETHER TO PUNCH OUTPUT ON FOR FUTURE REFERENCE 11690 C OUTSW - WHETHER TO PRODUCE REPORT TYPE OUTPUT 11700 C NAM - PLACE TO STORE NAME, AND NAME IF GIVEN 11710 C STA - WHETHER STAND ALONEC.TRUE.) OR WITH CLK.FALSE.) 11720 C DBNBUF - NUMBER TO USE FOR MRUF WHEN OPENNING D.B. 11730 C ABRTSW - WHETHER OR NOT TO STOP DEAD IN PASS TWO 1171*0 C 11*1*20 COIU1ON/ni)F8n/BUF80(20) 11*1*30 INTEGER BUF80 11*1*1*0 C 11*1*50 C 30 CHARACTER BUFFER FOR GENERAL PURPOSES 11*1*60 C 061*8 0 COMMOI!/SETS/ALLNAM(2),RELA(2),RELR(2),RELC(2),ALINE(2), 061*00 r, SYNFOR(2),AI.PHA(2),BYVAI.(2) 06500 INTEGER ALLNAM, RELA, RELB,RELC, ALI HE, 06510 & SYNFOR, ALPHA, T.YVAL CG520 C 06530 C CHARACTER FORM OF SET NAMES 0651*0 C INITIALIZED BY BL^CK DATA 06550 C 061*00 COMMON/BLANKS/°.I.AN»C( 30) 061*10 INTEGER BLANK 061*20 C 061*30 C CONTAINS CLANKS FOR VARIOUS PURPOSES 061*1*0 C INITIALIZED BY BLOCK DATA "61*5 0 r 00100 INTEGER I ERR, *'UM, ARRAYC 6) , I 00110 C 00120 CALL SMOVE(BIIF.'!0,1,BLANK,1,SO) 00130 CALL CARD(ALLNAM,!'rM,IF.RR) 0011*0 CALL DBST(63,ARRAY, IERR) 00150 CALL ITOC(OBNBIIF,rciiFR0,l,ii) 00160 CALL ITOC(NUM,".UF30,5,6) 00170 DO 10 1-1, I* 00180 10 CALL ITOC(ARRAY(l),BNFRO,1*5+0,5) 00100 CALL ITOC(ARRAY(5),t'.UFRO,31,7) 00200 CALL ITOC(ARRAY(r,),°.UFSO,3n,5) 00210 C CALL PUTSTA('SELV:TPSASTAT(I.AST+1) ' ,1*2, BI'FRi) 00220 CALL CL1S( 'I, ARRAY, I ERR) 00230 RETURN 0021*0 END READY

36

list *tsOU09.1Ibmts.fort(cpusec)' •TS0l»09.LIBMTS.FORT(CPUSEC)'

00250 SUBROUTINE CPUSEC(S) 00260 C 00270 C IF S = 0 , INITIALIZE 00280 C 00290 C OTHERWISE, SET S EQUAL TO THE NUMBER OF CPU MILLISECONDS 00300 C USED SINCE LAST CALL TO CPUSEC WITH S = 0 00310 C 00320 INTEGER S,K,I 00330 C 003U0 C VALUE RETURNED... 00350 C 00360 C S — ELAPSED CPU SECONDS SINCE INITIALIZATION 00370 C 00380 IF(5)20,10,20 00300 10 CALL IHTIME(O) 00400 RETURN 001*10 C 001*20 20 l=JTIf1E(S,K) 001*25 S = S * 26.01*166 /10O0. 001*30 RETURN 001*1*0 END READY

37

list 'ts0i*09.1 ibmts.fortCGetdatr 'TS0l»09.LIBMTS.FORT(GETDAT)'

001*50 • SUBROUTINE GETDAT(MDY) 001*60 C LAST CHANGE - 7U0320 - AL HERSHEY 0OU7O C 001*80 C RETURN DATE IN CHARACTERS OOU90 C 005 00 INTEGER MDY(l) 00505 DATA BLANKS/' '/ 00510 C 00520 C MDY -> 12 CHARACTER DATE (MMM DD, 11YY IN nTS) 00530 C 0051*0 C 00550 CALL DATE(MDY) 00555 MDY(3)=BLANKS 00560 RETURN 00570 END 1EADY

38

list 'ts 'TSnU09

00010 00020 00030 ooouo 00050 00060 00070 00080 00090 00100 00110 00120 00130 OOlltO 00150 001G0 00170 00180 C 00110 C 00200 C

00220 C 0023U C 002U0 C 00250 C 00200 C 00270 C 00280 C 00290 C 00300 C 00310 C 00320 C 00330 C 0031)0 C 10350 C 00300 C 00370 C 00380 00310 101)00 1101)10 001)20 001)30 C nouuo c 00U50 Ofilifin 1"l>7l) 111)30 001)10 C 10500 D1510 00521 00530 0051)0 00550 00500 C 00570 005GO C 00 59 0 00010 01010 11020 00030 oor,i)D c 00050 r>nr,r,0 10070 r.oooo 00090 00701) 00710 r 00720 11730 00 71)0 10750 READY

01)09.11 l>nts. fort (r.eterr)' .LIBMTS.FORT(GETERR)*

SUBROUTI NE GETERRl ERRNUI1, ERRLEN, ERRCH) LAST CHANGE MTS VERSION - 71)0322 - AL HERSHEY

GET CHAR FORK OF ERROR FROM ERROR FILE

I NTEGER ERRNUM, ERRLEN, ERRCIK 1)

ERRMUM -> ERROR NUMBER ERRLEN <- LENGTH OF ERROR COMMENT RETURNED ERRCH <- CHARACTER FOR OF ERROR RETURNED

COMMON/LIO/I.IOA,LIOB,LIOC,LIOP,LIOE,LIOF,LIOG,LIOH, h I.IOI,LIOJ,LIOK, LIOL,LIOM, LION,LIOO,LIOP,LIO0,LIOR, h LIOS,LIOT,LIOU,I.IOV,LIOW

INTEGER LIOA,L10B,LIOC,LIOD,LIOE,LIOF,LIOG,LIOH, r. LIOI,LIOJ,LIOK, LIOL.LIOM, LION,I.Ino,Linp,Lino.,LIOR, .') LIOS,LIOT, LI 011,1.10V, LI OU

00210 C

PSA LOGICAL 10 till ITS

LIOA - SYNTAX ERRORS FOR UPDATE LIOB - PARSE TABLES FOR UPDATE (OUTPUT OF PREPROCESSOR) LIOC - DATA BASE LIOD - DATA BASE TABLES LIOE - INPUT OF NAMES FOR SOME OUTPUTS LIOF - PS1. INPUT TO UPDATE LIOG - OUTPUT OF REPORT SYSTEM LIOH - FORMATTED LIST PUNCH OUTPUT LIOI - NAMES TO RE SORTED FOR XREF LIOJ - SYMBOL TABLE DUMP FOR XREF LIOK - COMMAND LANGUAGE INPUT LIOL - SYSTEM ERRORS LIOM - COMMAND CORRECT I OP LION - COMMAND LANGUAGE ECHO LIOO - COMMENTS TO USER FOR DELETE RENAME ETC. LIOP - INPUT/OUTPUT OF STUFF FOR NAME USAGE INDEX LIOO - INPUT/OUTPUT OF COMMON AREAS FOR PARAMETERS LI OR - INPUT FOR CHANGE-TYPE COMMAND LI OS - INPUT/OUTPUT FOR NAME GEN NAMES LIOT - FILE FOR SAVE COMMAND LI Oil - PUNCH FILE FOR PROCIO COMMAND LIOV - INPUT FILE FOR PLONG LIOM - PUNCH FILE FOR INDEX

INTEGER*? I.EN2 INTEGER LNUM,ATI/:V INTEGER BUF(2fl) INTEGER I.EN

CALL SIIOVE(ERRC!l,l,7!IPSA0nn: ,1,7) LF.N - 3 IF(ERRNUM .I.T. lOfl) I.EN - 2 IF(ERRNUM .LT. 10) LEN - 1 CALL ITOC(ERRNUM,ERRCH,7-LEM,LEN) LNUM - ERRNUM • l^m CALL READ(BIIF,LFN2,ATI,L''UM,LIOA) LEN = LEN2

DO 10 1=1,ERRNUM READ(LIOA,29) ">UF

10 CONTINUE 20 FORMATC20AI))

REWIND LIOA

DO 311 1=1,71 LEN = 00 - I .1 = ISCOMP(RUF,LnN,l!l ,1,1) IFC .1 .ME. D GOTO i|0

30 CONTINUE LEN = 1

1)0 CALL 5MOVE(ERRCII,3,::UF,l,LEN) ERRLEN = LEN + 7 RETURN END

39

SUBROUTINE GETTIM(HHMMSS) C C RETURN TIME IN CHARACTERS C

INTEGER HHMMSS(l) C C HHMMSS — 8 CHARACTER TIME (HH:MM:SS ) C C

CALL CLOCK(HHMMSS) RETURN END

40

1 1st 'tsOiiQO.flrand.asnCrandcl )' 'TSOunn.nnRAnn.Ar.fKRArmcL)'

OOOIO TITLE 'RAfinCL(FDESO) RANDOM CLOSE 00020 RAfJDCL CSECT 00030 USING *,12 00040 STM 14,12,12(13) 00050 LR 12,15 OOOGO LA 15,CLSA 00070 ST 15,,°,(,13) 00030 ST 13, It (,15) 00000 LR 13,15 nmoo * nnno i. 2,o(,i) 2=nrn A^m 00120 L 2,f)(,2) 00130 * no 14 0 CLOSE ('(?.)) 00150 * 00160 o n 17 n o o 1S 0 onion 00200 00210 * 00220 CLSA 00230 RE ANY

SR 15,15 L 13,4(,13) LM 0,12,20(13) L I'M 2 (,13) R,R 14

OS 1HA Erin

41

list ' tsOUOO.dhrand.asnd-nndop)' *TS0l»09.DCRAHD.ASM(RANDOP)'

OPEN A RANDOM FILE FOR UPDATE1 00010 TITLE 'RANDOP(LIONUM,FnESfi) 0 00020 RANDOP CSECT 00030 USING • ,12 0001*0 STtl 14,12,12(13) 00050 LR 12,15 00060 LA 15,0PSA 00070 ST 15,S(,13) 00080 ST 13,l*(,15) 00090 LR 13,15 00100 * 00110 L:I 2,3,0(1) 00120 L 2,0(,2) 00130 cvn 2,opoun 0011*0 :ivc nPPACK,=X'UO21202O2O2O' 00150 El) 0PPACK,npnUR+5 00 16 0 rive OPr)[)NAf',E+2(<*),OPPACK+2 00170 LA ii,opnco noiRO us inn IHADCR,n no loo l',VC ncnnnnAi^npnrniAi'E 00200 OPEN (OPDCB,(UPDAT)) 00210 LA 1,0 PI) CD 00220 ST 1,0(,3) RETIIRI! FDES 00230 5R 15,15 0O2U0 L 13,M,13) 00250 L:I 0,12,20(13) 00260 L 1!',!2(,13) 00270 IJR lit 00280 * 00200 OPDIIR t)S n 00300 OPSA t)S l :;,'•. 00310 DPPACK ns cir. 00320 npnnriAc IE DO CLOTRO'i'-f)1

00330 OPOCB Den niiFi.'n»i,r:snp.r!anA,'iACn,F= 00 3'tO i:ECFM»F 00 35 0 LTORfi 00360 oenn nsono»PA,i"Evntif)A 00370 END "^EAIY

nco Anr>p,Er.s

(Rlc,','ir),npTcn»p,nLKr,iZE-itf.or,, x

42

list ' tsOfcOn.dl>ran'l.asm( randoci)' 'TSOUnO.nRRAIjn.ASM(RAtjnon)'

RANDOM FILE FOR CREATE' onnin TITLE •RANnon(Lioriun,FnESO) OPEH A 00020 RAcnoq CSECT 00030 US 1 fin • ,12 0001*0 STI1 lit,12,12(13) 00050 I.R 12,15 00OG0 LA 15,OnsA 00070 ST 15,3(,13) (•0030 ST 13,'((,15) 00090 LR 13,15 0010 0 * 00110 L'l 2,3,0(1) 0012 0 L 2,0(,2) 0 0130 CVD 2,ipnun 0011*0 . SVC OpPACK,-X' •'102120202020' 00150 ED OpPACK,onnilB+5 00100 liVC ori|)riHA.'in*2( 'i), oopACK+2 00170 LA i^npncn no lf?o us i tin i\\^Dcn,h 0010 0 f.VC !)cnnni:A!i,oonnfiA::E 0 0 2 0 0 OPEN (npnen, OUTPUT)) "0210 LA 1,'inncn 00220 ST i,o(,:.) RETUP.I' cnt-sn = n '10230 Sit 15,15 '1021(0 L 13,M,13) 00250 L;I 0,12,20(13) 002G0 L 1^,12(,13) 0 0 2 7 0 :;•; 1U 00230 * 00200 onjnjp, r»s n 00 30 0 op's A l)S . 13 A 00310 no, PACK !)S CLi i-03 2 0 lonnnA: 'E !)C CLT 'I'B-l'lO "' 00330 nnocn nor. RL!'r>!ZE*U0',r,/r!l'P!!O«l/r:frip.f!"P! "031,0 * ;',ACRF=(:'L),;ECF:-=F CO350 LTORH C0 3f 0 non 0 03 70 EIll) nEADY

APHRESS

:.*r"F = ("L),RFCFM=p

43

list * tsf)Um.rH)rnnri.asn(ranrir<D * •TS(lU00.r>BRANO.ASM(rcANnRr>) •

oooio TITLE 'RArmRrKFnEsr^pAnENO^nFFER) RANDOM REAP- 00020 RANDRIl CSECT 00030 US IMG *,12 00040 STI1 14,12,12(13) 00 05 0 LR 12,15 00060 LA 15,RPSA 00070 ST 15,S(,13) 00030 GT 13,4(,15) OOOOO LR 13,15 00100 * onno u\ 2,u,o(i) '10120 L 2,0(,2) 2=r,CR APOR D0130 I. 1,0(,3) 001UO BCTR 1,0 CHANGE PAREHO TO ".EL BLOCK MD 0015!) 5T 1,!IPBLKN0 OOIRO * LA 3,r,np,LKno+i 00170 * 00130 READ R[)nECP.,'M , ( 2),( 4),'r ', '">, Rm LKNO+1 00100 CHECK RPPECB 00200 * 00210 r,:x 15,15 00220 I. 13,4(,13) 1)0230 LI! 0,12,20(13) 00240 I. 14,12(,13) 00250 BR in nn2Ro * rn;>70 RPSA DS IRA 00 2P0 RDBLKNO Or, F oo20 0 Enn 1EAPY

44

list ' tsO'iOO.Hhrnnci.asn( raneirw)' •TSnUOg.DBRANO.ASfURANnm/)'

00010 TITLE 'RANnRW(FDESG,PAGENO,BUFFER) RANDOM WRITE" 00020 RANORW CSECT 00030 USING *,12 OOOUO STM 14,12,12(13) 00050 LR 12,15 00060 LA 15,RWSA 00070 GT 15,S(,13) 00080 r>T 13,U(,15) 00090 LR 13,15 00100 * oono LM 2,4,0(1) 00120 L 2,0(,2) 2=DCB ADOR 00130 L 1,0(,3) 0011*0 BCTR 1,0 CHANGE PAG 00150 ST i#;n/BLKNn 001R0 LA 3,RWKLKMO*l 00170 * 00 ISO WRITE RWf>ECJ,n| ,(2),(U), 'S' 00190 CHECK RWOECB 00200 * 00210 SR 15,15 P0220 L 13,it(,13) 00230 L! i 0,12,20(13) C02U0 L 1U,12(,15) 00250 n R ll» C02G0 * 002 70 r<; JSA [)S ISA 00230 i)i JBLKNO I>S F 00290 END ".EA^Y

TO REL RLOCK NO

,0,(3)

45

list 'ts0409.dbrand.asm(randwt)' •TS Ok 09.DB RAND.ASM(RANDWT)*

-FER) RANDOM WRITE' oooio TITLE ,RAMDWT(FDESR/PAOENO/ 00 02 0 RANDUT CSECT 00030 USING *,12 00040 STM 1U,12,12(13) 00050 LR 12,15 000R0 LA 15/,'TSA 00070 ST i5,s(,i3) 00030 ST 13,^(,15) 00090 LR 13,15 00100 * 00110 L"! 2,^,0(1) 0012 0 L 2,0(,2) 2»r»CB ADDR 00130 * 001U0 WRITE WTD F.CB, SF, ( 2) ,(10,'S' 0015 0 CHECK l.'TDECB 00 ISO * 0017 0 SR 15,15 noiro L 13,U(,13) 0 019 0 Li! 0,12,20(13) 00200 L 1U,12(,13) 00 21''. !)!! V, 00220 * ri;2 30 WTSA nr. 00 2 M El in READY

46

APPENDIX II

LISTING OF TIMER SUBROUTINES

47

#**###

o 3

• Z >- Ui* 'Ml, H#

i- >-<•>-•

. c.

„: - O UJ (.a # < 3? t-. ? # . M U. ^- # • -^ -. ^ # I O *-< # • r. m «c #

'S*J LI

v •-< y •-. r;* x

r- i»

C r\l

l/l U< •r i/-

^i »- m 1/1 •-< T £ i/^

I, tf 1>

? I •"• U

•- u,l U y V »-

-j n|^ x

< V > E|Tf V

»-i I- -J ' ui I- O' i/>

X • >|"li

< -i * T or

*: v o o o c

UJ UJ

* nr

i UJ U"i

< a

: H » i- ~

i C •"• I— (J h- * v ii ii » ~ * a.

* — * ? Ullil » *-* v \:

Z \d# » — t- .-< •—• t ii -rf ijj — — ? •>

C* * T >. O »-« r: ir» J * M (M ~l — - , L> * K <-< *• •- w » .

# 2 * iT _J -J. •^ IN, !# •-• # H«ID:

i* VI # > L" < ft # !Y Z d* >- ~ > _i # z </i u u o: •- y: V*# Ui 3 O C Qi l/l _J

> n in •— ~ . i- *T »- v-:^ IJ.

rn 7 n -i LO, •« 'L + -i u

r •It r ~> UJ IN X V K •< n O1^- — «..' t- — -^ T h* z o ? *^' •

.*l! n l/l — «H M ~3 i V c *- '^»!« J m ^ r jj -j h- I .If <s\ _J 7i.« -ICC ,- VI it 3T i c> c i i> «* •

•1 • t- K* IN 'J^ f*Y fO rr, «• «-4 <r,i^f> W> t- c <r ! —

•TC U ol »-< -r 1- *- 1- o '< h- t- < nc >\T > o

_J. V" ' 1 _l _l _J n _i (/) w -J v> IAI _J T. er

C IT T fM /* C j .-« — • ^- •- i

. ft ^ UN ft • |» ' If J J »t N

^ -i t- • H l/l^ |

• K o: > t J f- Li (/) _J I

. -I c

> O 'A

•M fo -t in * f^ cc O C — c\| r"i ^* if\ 'O f- ^o •-« fN ro •* m • <# ^ «#• <# •• <# *

IM or C C O

c o c c

-* o o c n<cc c c o o o c c o c c c c

> o c ) o c > o c

o o «. < c - o c < c c < o o <

U. O

-to o

OO-tlA o o o o o o o o c o o o o o o e o o o o

C O)

o o

UJUfOl' CCirinca,

ffi UO N <ttD

o o o o o o o c o o o c o o o o c o O CO o o o

*t u o o CO < c o o c o o o u c o o C * •* P« o m «n «-«i C C » <D (M h- m ir» IT* tr f ^

—' IM fN f\i ri f\t o o o o o c o c o o o c

i r> co o c

• o o

tn in

eg <0

o c o c o o o o

o c u. •-* O *NJ ~ cc < 4- <-• e < UJ c *0 m -4- o o o o o o o o o o o o

' J o o o o o o o

O U- UJ U. U.

or IN r- f> a o

4- -t •*• o o o o o o o o c o o.o

< o u c -* o C CO c o> o

u u inuiLI

o u c «« >« < « ^* •«* m m un m ir o o o o o o < o o o o o o < o o o o C O ( O o c o o o <

o o -o o o o o o

•-« mo r- < ^H «v m o < dO < co O i HOiAtfil

o o c _ o o o o o o o o

§8

48

X UJ ^ h- _l ! (—1 * s i_i < 1- Z •> Ti

£ o O •* <: V \A 3 >u 'ij or; u t~ i/1 U h- 'sD O *+ ii-i ID !U z c _J 7 X 2" (^ wl •-or! U 3 •-• •— c O.!

t- O • — I— h- ^ i? C c/l ij>!

Z U O: LU o • < ;» 'iJ^Ui a -»»-«; ¥ J^l HI c _> ar o o. c M H u. _J' 3 <• ;p O "I f) U Z" -I U; o *-< -1 U K

i—i :J 5 *— < '- U- ./) »-H X > en z,i- ^ _J _l K ~z _j nrr t— »—• </) Z •* < «J u h- t- f. > 1- -J t5 •— l- <J -J •_" y v — < 2 ;? -Y' «r ;•

IU t- h- 3 »— *-* D *~'V£

X t p-

> Mi Q. (T Z > > ^ rf t- •iJ T T n <• ." Z •— O wl * •-• O K r •~* a in t-'i-j C h- O f> T (_? t ) V C/i V

— r , X

•J * — *! I- K '- fT ^ » t : pr T O U t*% fi —- ry «— •—

IT f*- •- (- * r j y ,f 7? IT- C .-< •• —

(-> i/> if, i*, t- fv;

•* u

- - - - - 4 «N A * - U II. M

ar of I- u * or. ir^r > u w J < w x ti i*' w c ji^ J JT n

O O </> 1/1 t/l •* 2 Oi o c. ^ .u

h' "I

L)

< HI O

st ^ -o N -T o> c »- I"J ft * ir> -o ^ c-

ns i^» «/> i— c w. «NJ < !T -»

O^ C •-» rj ,vi ^ ^ r- r- r- r- r^

c o IJJ -r CO CO '0 < C C C' c c c o: c o c Cl c CO o

u D o <f «*• INJI co tr o u <0 <0 «*l W if o

c o o c c o 1- o k> o{ o o o t-> U.1 1^ f»1 o OONC'IClflvO -) (<i irt m m u. NN^'tOm cc cr co -i O f- CD O CC O 00 O O ft t-4 IA m •* <- ^ <-< iri ^- tr

CM •* *0 < LU (M J OJ < Ul C o r- r- r* r- t^ CO to CO 03 CO Q* O o o o o o o c o o o o -I coo o o o o o o o o

ceo o o o c o o c o c c o o o o c o o o o

co u O — CO o c o o c a

IUOU.UJC oi 1. u. c o I

i CO en eg r* O O I e>> ir> o c c o I •JClUCN't

• o* o* o*- < < < i o c o o o o I o c o o o o I c c c o o o > o c o c c o

CO o c «t < < co CO o c o o o c o o o c o o o c o o

49

ooccccocco

Q. 3. o

O of 2 0.

— o cr 7i UJ (/) •3 ll

<i i/> to t- * wo ss UJ a I— Q -> U Z ~ < < m <

I 1/1 r o z >— u X

II to Q r - 1 J r

V I X < O ll l*~T

Hi X —I c

J i/> lU 1 CV

IL '11 T

. r T J o »-«

— ^ t- i/i * IJJ o Uj* u .

_*>.»- r Oil'' •

\CC Z X

-j y -J < < a

a. _

^ Of

O C O C O

I L-J Uj|

• I- t-l u -

> fl. I- »- »- «T ?* L. UJ '1. ifl ^ t5 O <-t

• C u-

V I-I u r1

_l 7 LL <

K # » # u

c\, r^ ~r <n

2

C G

U t. •r 3

3 Z O ui V X * 3 D O

< cO

* * # « * *

_J •• u c

<i — K > J <i

<1 — > en v» •*> <i (V w * u*

c *«j ,*n in a i*»

*M

* Z 0£ -*.»- rr- _i _l _ll to i/> < »v» T 3

0'3 •ioO

CitO

C ".J •*-:i-

c r' — * * r> C -* <r ii ^ a a.i v < T Z o a 3 3l H < y . -a*- a. -5 — —| T » * rj cNi4

— . 1 o CKM1 ni *f !;•*-«• •, » * C *- t- f-t — <_) y »- M «-' j- < <* * ;E or! » a a. .* -4- 4 cc

c 3 < < <:c

• O 3 *• _J •— —* —rt

O

T -J> «/"> Q. o O O' O t- »- 2 > > >• ">

it- j ^•jT7i;i

J.

m UJ UI u.

O ^ l^ u o o o o o c o o o c o o o c o o coco

U C Q O UJ O OsQ cm cc 0* o ••

c o -* -o -o oo o c o o o o o c o o c o c- c o o o o O CO o o o

CO (S c c n c C ru o

en rvj c C — c O rsj c c o •" o- o o a a- -J- c c oo in ip in

u o ^ *-* rg (N

O C o o c o o c o o o c

C C OJ < o .1 -J • . • * J o c o c c o c c o c o o o c c

o r^ N f- c c c c c c c c c c c c < «S1 *» -/J -t \f\ in tl> c c c c C) o u o

* <\J < D C

c c o o c o o o o o

o o * o c c < O m <M CM rsj ClMLuOO

UUJN0UJ ^

o o © o c c o o o o o c o © o o o e o o o © o ©

<NI C o c o c

CO|

3 •* •- Ui O 3 v <* a u a. i-

H < Z 3 a. 3 o

c Z vi to o o 3 o a

o a t- IU y. l-t y < OP u a <* < Z -c a 3 <

^3 f- CO 0- J" *» 4- •*

22 u

<M C c U C Q

o o O UJ O Ui N U. CO CO « f^ IT Ift o. O

o •* CD U lf\ IT IA tf%

§§ O O o o

gg o o o o

o

50

;UJ ii c »- >:( 0 >• - < <£ m < v c 1 < I

: > o • QC OC ' 3 U-

•— CO LU •-< < oc CD u_ -t UJ x J> t- 1 CC < — C "w

o c 7 t-<

Z1 I

ft- t

3 -< T i/l I K-

•xi Z 2 *M

t- h- 3 ^ O Lu Of * X 3 r> u co « < co »-« Lu r X h- 1-

# * * * # •— eg m -*• u"\ m IA i/\ in in

• o> o o c ^ .N -M > o o c c

< cC m u Q. a

O O JC z1 a.

_i < < OC o o

o •-< Ok

co x

of u.

CO »-H

UJ f ' of a:

rn •* J*> c o c c o c

o r- co t> > o o a o o CM (M ,-M, oj N c o c o o

i n 3 i •-t to e

ul C2:

3 t- o rC ^ UJ >- C co < QC CP r 3

X on Q CO

< UJ

a: t

a- »- < <r tu C

• O O of li M Y

• > or < : N H D u1

c u_ >-

:x >ifl? - « ; •• n u' ui H ij. : U* JT > *- :* II

>'o- < —

i r*- e; c> c •-< » m. m in >o -o

<- c t\,

1 co|CO •

•• ml m

» w j •—• < n i/i C r-j j •— +

C tj .- *- n r\i a

iii ui — — 4

< M — ~ O 11— *> cj —< ro

.a c «i •» u. »-

t-H CO co < 2 *- O O o a:

QC ? cr • 3 T _i !-• _; .

Lu CO CT 3

(MClvt^OMSO-O'-Nfl

O O Q O UJ U O Q

o-o ^ 4 » CO U Ul UI O r- r- f- h- ^ co © o o o o o c o o o o o o o o o o o O 0;0 O O O

•j- ir> •& r- too* r^ r*- r** r- r* r^

oo co c IM C rg c c

c* c o o c o

88 8

IM ^ j rj M

_ ^-M to ^ m n- ffi n* i- <r cr

C ONO

<OCDH

o ^ m a

4 ^) < o OK o o o o o o o o o o o o o o o o o o o

r\j rg CD G 3~ c x r- c o •M -sj c c c c o o c c

CO o CD O

C C C c < (M

-o r*- co t> c —* tr m cc cc > o-

<ro -o -* 4- f^ CD DTIN AJ M C ^ -H

O C C C C O O COO

ffl-f M < UJ IMfOO <*!•-« ^4 O O U O O UO

l>-J J o o <A < UJ (Nj <\j co <t < •< CD tO CO o o o o © o o o o o e o §00000

o o 00 o

f\J t\J CO <G <C

m* m\ O -« O u oi o-o o •- O CM O O O O fsj.M m.rsj CM CM Q'CNJ K;CO O • ^ |P4 -t -t •#

UJ -»• 00 < UJ IM CD U.O UU D OOOOOO o 0 e 0 0 o o o o c o o o 0,0 coo

J^ 43 P» CO O O CM rs( CM CM O O

•C •-> K- C

C > ( • » < I Oj i/> 1

o cc o or > > < x > *-

O < «* C *M 4 en u- o 4 ^- ^iO ©!.-• o ulO mo •- OlC C •-< <M O «M'«n N O (Nl <M U. .-* CO CM CM O «• •* 4 Q

•0 l) O •* CD Q O Hi UJ IU UJ OOOOOO O OO OOO OOOOOO OOOOOO

f*"l t LA -O CM CMIrM CM CM .MifM CM O OlC O

CSC — i/l UJ CM 3 > — 2- T. O MO 4 T U ^<

jt * LL O

VH CO < Oj; ^ ^ •Z 3 CO U, u O •-• -J •• * o n U_ d. rj CM _i _j

Q a. NCI.I>ZH

ccct <uo J

rgn^-irioh-onoc«-*fMcn ~0>C>0>OC>OvOKOCCO

C co CM < <j UJ o u <t m u c Oi<* "*-o c o o o u o o OOO O r-t o ONMNNU. tv r- < UJ «n 4> 4 «#•'-* HTJIL o* o <# co uio o CL LL U. LL. O O O O O O M — OOOOOO OOOOOO OOOOOO

r- co <M CM

o o

o o CC CO < <

o o

O o CM IM| on LU

o o o o g§

51

-n m n i N N N < , o o c d <

<f - < •- c c :

I • + •Z 2. Z y IJ o o 5 5 2£k

C rJi

2 «M 3- > > 3 •D O =3 X II

i •- N)«l «t IA « I

(DUi

(M O C o c e c o <

r- a LU o N i •© o -a o o « — ptf ~. c c « o o o c o « O O C C O < o as < (M M Ul i- ^ O U O O

0» (E C O rg I UJlUIL OOt O'O C O O ( L»U U •* 4- •

< u u < o .-< •* c o <_> o o

.-* c -. r- — pa IN 11- rg o -O * m o m INJ ry IN U. O- U_ o o l>

fMOUNCO u MJM H IM IM f\J .-« •-! <-H •— <—

o'o o o o o o o o o o o o 5 o o

o o

Ol ri-S«-BS

o o O UJ OD (T

o o o o o o

u UJ N U.

o o o o o e,

52

APPENDIX III

DATA SET CHARACTERISTICS AND STORAGE REQUIREMENTS

This Appendix lists the URL/URA data sets with their respective file organization and record formats (in OS/TSO notation), logical and physical record length (in bytes) and track requirements as they were when copied from disk to the distribution tape. These data set attri- butes may be required for installations which do not handle IBM standards labelled tapes.

For object distribution:

DATA SET NAME

TS0448.CALLIB.LOAD TS0448.PSADDL.DATA TS0448.SECRET.DATA T S 04 4 8.HELP SHRT.DATA TS0448.HELPLONG.DATA TS0448.PSAERROR.DATA TS0448.URA.CLIST TS0448.CLI.CLIST TS0448.DDLA.CLIST TS0448.DBIN.CLIST TS0448.PSALINK.CLIST TS0448.PSALINK1.CLIST TS0448.NCLI.CLIST TS0448.LIBMTS.FORT TS0448.DBRAND.ASM TS0448.DBLIB.LOAD TS0448.FLIB.LOAD TS0448.SLIB.LOAD TS0448.CLI.OBJ TS0448.CLIEX.OBJ TS0448.CM.OBJ TS0448.CNC.OBJ TS0448.CT.OBJ TS0448.CONT.OBJ TS0448.DBS.OBJ TS0448.DCOM.OBJ TS0448.DEL.OBJ TS0448.DICT.OBJ TS0448.DP.OBJ TS0448.DPSL.OBJ TS0448.EI.OBJ

DATA SET RECORD RECORD BLOCK NO. OF ORGANIZATION FORMAT LENGTH SIZE TRACKS (2314)

PO PS PS PS PS PA PS PS PS PS PS PS PS PO PO PO PO PO PS PS PS PS PS PS PS PS PS PS PS PS PS

u 1024 759 FB 80 8000 1 FB 80 8000 2 FB 80 8000 3 FB 80 8000 11 FB 80 800 3 FB 80 80 2 F 80 80 1

VB 255 1680 1 VB 255 1680 1 VB 255 1680 1 VB 255 1680 1 VB 255 1680 1 FB 80 6400 2 FB 80 6400 2 U 13030 21 U 80 13030 32 u 1024 5

FBS 80 400 19 FBS 80 400 6 FBS 80 400 2 FBS 80 400 2 FBS 80 400 2 FBS 80 400 2 FBS 80 400 2 FBS 80 400 2 FBS 80 400 2 FBS 80 400 2 FBS 80 400 4 FB 80 400 12

FBS 80 400 2

53

DATA SET NAME

DATA SET RECORD RECORD BLOCK NO. OF ORGANIZATION FORMAT LENGTH SIZE TRACKS

TS0448. TS0448. TS0448. TS0448. TS0448. TS0448. TS0448. TS0448. TS0448. TS0448. TS0448. TS0448. TS0448. TS0448. TS0448. TS0448. TS0448. TS0448. TS0448. TS0448. TS0448. TS0448. TS0448. TS0448. TS0448. TS0448.

FPS.OBJ FREQ.OBJ IDX.OBJ KPER.OBJ KPRT.OBJ NGA.OBJ NGP.OBJ NLA.OBJ NLP.OBJ PAU.OBJ PCOM.OBJ PIC.OBJ PRIO.OBJ RCOM.OBJ REN.OBJ SUM.OBJ SYNU.OBJ XREF.OBJ DBIN.OBJ DDLA.OBJ PSL.OBJ PSLBLK.OBJ LIBBLK.OBJ DBBLK.OBJ EXA.DATA EXB.DATA

PS PS PS PS PS PS PS PS PS PS PS PS PS PS PS PS PS PS PS PS PS PS PS PS PS PS

FBS 80 400 16 FBS 80 400 1 FBS 80 400 1 FBS 80 400 1 FBS 80 400 1 FB 80 400 4 FB 80 400 1 FB 80 400 1 FB 80 400 1 FB 80 400 1

FBS 80 400 2 FBS 80 400 9 FB 80 400 3 FB 80 400 2 FB 80 400 2

FBS 80 400 1 FB 80 400 16 FB 80 400 1

FBS 80 400 1 FBS 80 400 4 FB 80 400 9 FB 80 400 1 FB 80 400 1 FB 80 400 1 FB 80 800 1 FB 80 800 1

For source distribution:

DATA SET NAME

DATA SET RECORD RECORD BLOCK NO. OF ORGANIZATION FORMAT LENGTH SIZE TRACKS

TS0448. TS0448. TS0448. TS0448. TS0448. TS0448. TS0448. TS0448. TS0448. TS0448.

PSADDL.DATA SECRET.DATA HELPSHRT.DATA HELPLONG.DATA PSAERROR.DATA DDLA.DATA DBIN.DATA INCL.DATA DBCOM.DATA PSACOM.DATA

PS PS PS PS PS PS PS PS PS PS

FB 80 8000 1 FB 80 8000 2 FB 80 8000 3 FB 80 8000 11 FB 80 800 3 FB 80 8000 6 FB 80 8000 1 FB 80 8000 2 FB 80 8000 1 FB 80 8000 19

54

DATA SET NAME

TS0448 TS0448 TS0448 TS0448 TS0448 TS0448 TS0448 TS0448 TS0448 TS0448 TS0448 TS0448 TS0448 TS0448 TS0448 TS0448 TS0448 TS0448 TS0448 TS0448 TS0448 TS0448 TS0448 TS0448 TS0448 TS0448 TS0448 TS0448 TS0448 TS0448 TS0448 TS0448 TS0448 TS0448 TS0448 TS0448 TS0448 TS0448 TS0448 TS0448 TS0448 TS0448 TS0448 TS0448

•EXA.DATA •EXB.DATA .SLIB.ASM .DBASM.ASM .DBRAND.ASM .LIBMTS.FORT .DBUSER.DATA .DBLOW.DATA .DBTAB.DATA .FLIB.DATA .PSL.DATA .PSLBLK.DATA .DBBLK.DATA .LIBBLK.DATA .CLI.DATA .CLIEX.DATA .CM.DATA .CNC.DATA .CONT.DATA .CT.DATA .DBS.DATA .DCOM.DATA .DEC.DATA .DICT.DATA .DP.DATA .DPSL.DATA .El.DATA .FPS.DATA .FREQ.DATA .IDX.DATA •KPER.DATA .KPRT.DATA .NGA.DATA .NGP.DATA .NLA.DATA .NLP.DATA .PAV.DATA .PCOM.DATA .PIC.DATA .PRIO.DATA .RCOM.DATA .REN.DATA .STR.DATA .SUM.DATA

DATA SET RECORD RECORD BLOCK NO. OF ORGANIZATION FORMAT LENGTH SIZE TRACKS

PS PS PO PO PO PO PS PS PS PS PS PS PS PS PS PS PS PS PS PS PS PS PS PS PS PS PS PS PS PS PS PS PS PS PS PS PS PS PS PS PS PS PS PS

FB 80 800 1 FB 80 800 1 FB 80 6400 4 FB 80 6400 1 FB 80 6400 2 FB 80 6400 2 FB 80 8000 41 FB 80 8000 15 FB 80 8000 4 FB 80 8000 34 FB 80 8000 20 FB 80 8000 3 FB 80 8000 1 FB 80 8000 2 FB 80 8000 42 FB 80 8000 13 FB 80 8000 4 FB 80 8000 4 FB 80 8000 2 FB 80 8000 2 FB 80 8000 2 FB 80 8000 1 FB 80 8000 2 FB 80 8000 2 FB 80 8000 8 FB 80 8000 30 FB 80 8000 4 FB 80 8000 21 FB 80 8000 1 FB 80 8000 1 FB 80 8000 1 FB 80 8000 1 FB 80 8000 6 FB 80 8000 1 FB 80 8000 1 FB 80 8000 1 FB 80 8000 1 FB 80 8000 2 FB 80 8000 15 FB 80 8000 3 FB 80 8000 3 FB 80 8000 1 FB 80 8000 3 FB 80 8000 1

55

DATA SET NAME

DATA SET RECORD RECORD BLOCK NO. OF ORGANIZATION FORMAT LENGTH SIZE TRACKS

TS0AA8.SYNU.DATA PS TS0448.XREF.DATA PS TS0448.PSACOM.DATABASE PS TS0448.FORTIHC.CLIST PS TS0448.LIBBLK.OBJ PS TS0448.DBBLK.OBJ PS TS0448.PSLBLK.OBJ PS TS0448.PSL.OBJ PS TS0448.DBLIB.LOAD PO TS0448.PUB.LOAD PO TS0448.SUB.LOAD PO

FB 80 8000 34 FB 80 8000 1 F 4096 17

VB 255 1680 1 FB 80 400 1 FB 80 400 1 FB 80 400 1 FB 80 400 9 U 13030 21 U 80 13030 32 u 1024 5

56

REFERENCES

1. Ernest Allen Hershey III and Michel J. Bastarache, "The Structure and Contents of a PSA Data Base," ISDOS Working Paper No. 87, University of Michigan, November 1974.

2. Ernest A. Hershey III, "A Data Base Management System for PSA Based on DBTG 71," ISDOS Working Paper No. 88, University of Michigan, September 1973.

3. Ernest Allen Hershey III, Daniel Teichroew, Douglas L. R. Berg, Edward Winters, Michel J. Bastarache, R. L. Davies, and Claudia R. Stallings, "User Requirements Language Reference Manual," ISDOS Research Project, University of Michigan, July 1974.

4. Douglas L. R. Berg, Ernest A. Hershey III, and Michel J. Bastarache, "Problem Statement Analyzer Command Descriptions," ISDOS Working Paper No. 91, University of Michigan, April 1974.

57