# 1620_Users_Group_Eastern_Region_196505 1620 Users Group Eastern Region 196505

### 1620_Users_Group_Eastern_Region_196505 1620_Users_Group_Eastern_Region_196505

User Manual: 1620_Users_Group_Eastern_Region_196505

Open the PDF directly: View PDF .
Page Count: 320

PROCEEDINGS OF THE MEETING
OF THE EASTERN REGION OF THE
1620 USERS GROUP

The Carillon Hotel

Miami. Florida
May 9. 10. 11. 1965

•

•
PAPERS TO BE PRESENTED AT
1620 USERS GROUP MEETING
MIAMI - CAI~ILLON HOTEL
MAY 9, 10, 11. 1965

o

Session A-I

Unattended Operations of the 1620, C. S. Schrodel
(Sun Oil Company, U. G. Code 1298) (Intermediate) ••••••••••••••••••••••••••••• l
Time Sharing on the 1620, E. W. Channen
(University of Windsor, U. G. Code 7042) Simulation of Program
Interrupt for Time Sharing Under Monitor I (Intermediate) •••••••••••••••••••• lO
The Compleat FOHTRAl{, J. A. Haag
(Purdue University) Description and Discussion of a New 1620
Textbook on FORTRM~ II (General Interest) •••••••••••••••••••••••••••••••••••• ll
_

Undefined Variable Detector for FORTRAN II, T. J. Scott
(Sun Oil Company, U. G. Code 1298) A Debugging Aid to Locate
Undefined Variables at Object Time in a FORTHAN II, V. 2 Program
(All FORTRAN users) •••••••••••••••••••••••••••••••••••••••••••••••••••••••••• 19
Music Programs as an Aid to Debugging, P. J. Jutsum

(University of the West Indies) (General Interest) ••••••••••••••••••••••••••• 22
Session B-1
Financial Evaluation by Discounted Cash Flow, Leslie Parker
(IBM - Poughkeepsie) 20K 1620· Financial Analysis Program
(Intermediate) ••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••• 26
CD 4 - PDQ, G. Lilly
(Jones and Laughlin Steel Corp.) An Extended Disk Version of
PDQ FORTRAN (Intermediate, Systems Programmers) •••••••••••••••••••••••••••••• 38

uw -

M 1620 WISAL, C. Mackenna
(Uni v. of Wis consin - l-1ilwaukee) A Simple Instructional Programming
Language for Accounting (Intermediate) ••••••••••••••••••••••••••••••••••••••• 42

1620 Support for a Document Writing System, C. M. Thatcher
(Pratt Institute) A 1620 Program Insert Control Symbols Into the Input
for an 870 Document Writing System (Elementary - Intermediate) ••••••••••••••• 54
Session C - 1
Use of 1620 Model I for Simplification of Boolean Algebra Expressions,
C. Plesums
(Union College, U. G. Code 1302) A Discussion of a Program for Boolean
Simplification with Emphasis on Programming "Tricks" Used
(Intermediate - assumes knowledge of M. L•• SPS) ••••••••••••••••••••••••••••• 62

~

C·
..•

•

c

Plot a Block Diagram, Mrs. S. Young
(U. S. Dept. of Health, Education & Welfare, U. G. Code 1118)
Program to Use CalComp Plotter to Prepare Block Diagrams for
SPS Source Programs (General Interest) ••••••••••••••••••••••••••••••••••••••• 65
Assembling SPS 1 Programs with Monitor 1, T. I. Markland
(IBM - Poughkeepsie) (Intermediate) •••••••••••••••••••••••••••••••••••••••••• 77
PROGRAM TEAM SESSIONS
1620 Back Panel Wiring Program, Peter Dunham
( Raytheon) •••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••• *
1620 Electronic Circuit Analysis Package, Herbert Wall
(IBM) •••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••• 86
Computer Aided Design of Integrated Circuits, A. Spitalny
(Norden) ••••••••••••••••••••••••••.••••••••••••••••••••••••••••••••••••••••••• 87
D. C. Automatic Electric Network Analysis, H. Pachon
(Automatic Electric Labs, Inc., U. G. Code 3182) A Program to
Perform Automatic D. C. Analyses of Electronic Circuits
Traverse Adjustment by Weighted Least Squares, R. L. Kenngott
(Chas. H. Sells, Inc., U. G. Code 1377) Employs the Full Theoretical
Rigor of Least-squares in Traverse Adjustment Without Artifice or
Approximation (Intermediate) •••••••••••••••••••••••••••••••••••••••••••••••• 120
(Electronic Data Processing, Inc.) A 3-Dimensional Set of COGO
Routines for Use in Highway and Bridge Design (Intermediate) •••••••••••••••• 123
Design of Single, Double, Triple Cell Box Culverts, Leno Morris
(New York Sta~e Dept. of Public Works) •••••••••••••••••••••••••• ~ ••••••••••• l33
Hore-Less, CPM & PERT System for Disk and Printer, A. D. Johnson
(NASA, U. G. Code 3306) (Intermediate) •••••••••••••••••••••••••••••••••••••• l47
Session A - 2
Fitting Straight Lines to X-Y Data When Both Variables are
Subject to Error, F. K. Durkam
(u. S. Atomic Energy Commission) Three Methods (Scarborough, Wald,
Bartlett) for Estimating Functional Relations of Two Variable Data
are Compared With the More Commonly Used Regression Relationships Fitted
With the Least Squares Criterion •••••••••••••••••••••••••••••••••••••••••••• l54

C

"i
I'

Use of Orthogonal Polynomials for Curve Fitting, S. S. Kuo
(Univ. of New Hampshire, U. G. Code 1198) The Application of
Orthogonal Polynomials is Extended for Fitting a Set of Unequally
Spaced Data Points (General Interest) ••••••••••••••••••••••••••••••••••••••• l64
ii

•

•

Curve Fitting by Finite Sums of Exponentials, R. Meshelof
(State University of Nev York. U. G. Code 1283) (Advanced) •••••••••••••••••• 175
Session B-2
TYGO - Load and Go SPS for Paper Tape, R. C. Head Be P. J. Jutsum
(University of the West Indies) ••••••••••••••••••••••••••••••••••••••••••••• 187
SPAS - Load and Go SPS for 4o-6oK Card System. G. G. Billin
(Clarkson College) (Advanced - Intermediate) •••••••••••••••••••••••••••••••• 188
Session C - 2, SessionC - 3
Understanding FORTRAN II (Workshop) I L. Hoffman
(Princeton University-Guggenheim Labs) A Presentation of FN II
Subprograms Written in SPS Will be Made With an Bxtensive
Coverage of the Internal Communication of fll II for the 1620 •••••••••••••••• 196
Session A - 3
Non-Linear Estimation "by !,·10dified Gauss-Newton 1·1ethod t Jerry Kemp
(U. S. Naval Ammunition Depot, U. G. Code 3073) Program Uses
Gauss-Newton Hethod for the Fitting of Non-Linear Regression
Functions by Least Squares •••••••••••••••••••••••••••••••••••••••••••••••••• 197
The Autolog-Digiklok System, E. F. Staiano. D. E. Atkins
(Bucknell University) A Digital Clock for the 1620 and Software
Modifications to Monitor I to Incorporate the Clock in an Automatic
Logging System (Intermediate) ••••••••••••••••••••••••••••••••••••••••••••••• 213
Disk Version of FORTRM~ II Incremental Plotter Subroutine
(Plotter Users), P. Larrea
(Princeton-Pennsylvania Accelerator, U. G. Code 1177) A General
FORTRAN II Subroutine for a Complete Drawing With Only One Subroutine
and a Minimum Number of Statements (Intermediate) ••••••••••••••••••••••••••• 235
Session 13 - 3
Planning and Running a Short Term Workshop on Computer Orientation
and Programming. Mrs. Joyce Fodor
(University of Wisconsin, U. G. Code 3155) (General Interest particularly those responsible for education and training programs) ••••••••• 256
A Ten-Year Budget Projection for Educational Institutions, J. A. Ferling
(Claremont Men's College, U. G. Code 5033) The Use of the 1620 in
Planning for Educational Institutions (Elementary) •••••••••••••••••••••••••• 263
Junior College Instructional Testing Program, D. G. Owen
(Miami-Dade Junior College) Description of Test Scoring System
Used at Miami-Dade Junior College (General Interest; Educators) ••••••••••••• 268
*Not available at time of publication.
iii

c

PROGRAI'4
1620 USERS GROUP MEETING

CARILLON HOTEL
Miami Beach, Florida
May 9, 10, 11. 1965

SUNDAY - MAY 9
6:00 p.m. -

8:00 p.m.

8:00 p.m. - 10:00 p.m.

REGISTRATION
SOUND-OFF SESSION
Chairman:

Dr. James R. Oliver

SHOW

11:30 p.m.

Medallion Room

Cafe Le Can Can
HONDAY - HAY 10

7:30 a.m. -

8:30 a.m.

REGISTRATION

Burgundy Foyer

8:00 a.m. -

9:00 a.m.

NEW USERS BREAKFAST

Sugar tn Spice Room

OPENING SESSION

Carillon Hoom

y:oo a.m. - 12 Noon

Chairman: Dr. Oliver
(1) Official opening and welcome
by President J. R. Oliver
(2) Users Group announce'ments
(3) IBI'-1 announcements

o

10:00 a.m.

COFFEE BREAK

Upper Lobby

10:30 a.m.

"1130 Computer"
D. N. Leeson

Carillon Room

12:00 noon - 1:15 p.m.

LUNCHEON
Speaker: Mr. Rudolf Heyer
"Education and the 1620"

Burgundy Room

SESSION A-I

Carillon Room

1:30 p.m. -

2:00 p.m. Paper

"Unattended Operations of 1620"
c. s. Schrodel

2:00 p.m. -

2:20 p.m. Paper

"Time Sharing on 1620"
E. W. Channen
(Inter.)

2 : 20 p.m. -

m Paper
2 •"50 P ••

lIlIT
"The Compleat FORTR ~
ff
J. A. Haag
(General Interest)

2:50 p.m. -

3:10 p.m. Paper

"Undefined Varia.ble Detector
for FORTRAN II"
T. J. Scott
(General Interest)

3:10 p.m. ""

3:30 p.m. Paper

"Husic Programs as an Aid to Debugging"
P. J.Jutsum
(General Interest)

SESSION B-1

2:20 p.m. Paper

"Financial Evaluation by Discounted
Cash Flow"
Leslie Parker
(Inter.)

2 :20 p.m. -

2 :·50 p.m. Paper

"cD4-PDQ (Disk PDQ)"
G. Lilly
(Inter., Systems Programmers)

2:50 p.m. -

3:10 p.m. Paper

"1620 Support for a Document Writing System"
C. 1>1. Thatcher
(Inter. )

3:10 p.m. -

3:30 p.m. Paper

"UW-N 1620 WISAL" (new language)
C. MacKenna
(Inter.)

2:00 p.m. Paper

"Use of 1620 t..fod I for Simplification
of Boolean Algebra Expressions"
C. Plesums

2:00 p.m. -

2:30 p.m. Paper

"Plot a (SPS) Block Diagram"
Mrs. S. Young
(General Interest)

2:45 p.m. -

3:15 p.m. Paper

"Assembling SPS I Programs with
r·ioni tor I"
T. I. Harkland
(Inter. )

3:30 p.m. -

4:00 p.m.

TE~1

4:00 p.m. -

~

·

·

'

"

~

'

"

"

Empire Hoom

1:30 p.m. -

PROGRM4

_ _ • _ _ _ •_ _ _ _ _ r ••

Dominion Room

1:30 p.m. -

SESSION C - 1

~

• _ _ _ ._. _ _ _

~

------_._---------_.__..

~

-----

COFFEE BREAK

Upper Lobby

(1) ELECTRONICS PGM TEAM

Empire Room

MEETINGS:

5:30 p.m.

A. Spi t alny. Chai man
v

c

en

--

Hr.

h st.

o

4:00 p.m. -

rtrtM

tt tznnz

Paper

"1620 Back Panel Wiring Program"
Peter Dunham

Paper

"1620 Electronic Circuit
Analysis P,ackage"
Herbert Wall

Paper

"Computer Aided Design of Integrated
Circuits"
A. Gpi t ulny

Paper

"D. C. Automatic Electric Network
Analysis"
H. Pachon

5:30 p.m.

& CIVIL ENGINEERIUG
PGH TEAM
T. J. Scott, Chairman

(2) STRUCTURAL

Paper

Survey Traverse"
R. L. Kenngott
(20-30 min. Inter.)

Paper

"3-Dimensional COGO"
(4') min.)

Paper

"Design of Single. Double, Triple
Cell Box Culverts"
Len 0 Horri s
(30 min.)

Dominion Room

4:00 p.m. -

5:30 p.m.

( 3) PROCESS & C']ElvlICAL EHGINEERING
PGH TEAM
C. S. Schrodel, Chairman

Sales Board Room

4:00 p.m. -

5:30 p.m.

(4) OPERATIons RESEARCH PGHTEAH
J. R. Oliver, Chairman

Carillon Room

Paper

"ePN & PERT System for Disk and

Printer"
A. D. Johnson·
(20 min. Inter.)

5:30 p.m. -

o

~~:30

p.m.

COCKTAIL HOUR

Sun Terrace

(Compliments of The ,Carillon Hotel)

6:30 p.m.

LUAU

Sun Terrace
vi

9:30 p.m.

EXECUTIVE COUNCIL f.fEETING

9:30 p.m.

RECENT FIil-1S of, IUTEREST to
1620 Users

Dr. Oliver's Suite
No. 1604
Empire Room

lUESDAY - HAY 11
SESSION A - 2

9:00 a.m. -

9:15 a.m. Paper

"Fitting Straight Lines to
x-y Data ~len Both Variables
are Subject to Error"
~. K. ,Durkam

9:15 a.m. -

9:30 a.m. Paper

"Use of Orthogonal Polynomials
for Curve Fitting"
S. S. Kuo
(Inter. )

9:30 a.m. - 10:00 a.m. Paper

"Curve Fitting by Finite Gums of
Exponentials"
R. Meshelof

,SESSION B-2
9:00 a.m. -

9:30 a.m. Paper

Carillon Room

Dominion Room

"TYGO - Load & Go- BPS
for Pape.r Tape"
R. C. Read & P. J. Jutsum

9:30 a.m. - lO:OQa.m. Paper. "SPAS - Load & Go SPS
for 4o-6oK Card System"
G. G. Bi11in.

:SESSIOH C - 2
9:00 a.m. - 10:00 a.m.

10:00 a.m. - 10:30 a.m.

WORKSHOP:
"Understanding FORTRAN II"
(FORTRAN II sub-programs
written in SPS)
L. Hoffman
COF'}i'EE BREAK

Upper Lobby

SESSION A- 3

Carillon Room

10:30 a.m.' - 11:00 a.m. Paper "Fitting of Non Linear Regression
FunctiQns by Least .Squares"

h~h~

(Inter.)

/
/

Empire Room

J

vii

C

Dominion Room

SESSION B-3

10:30 a.m. - 10:50 a.m.
Paper

10:50 a.m. - 11:20 a.m.
Paper

EDUCATION TEAM

SESSIO~1

"Planning & Running Short Term
Workshop on Comp. Orient. & Prog."
Mrs. Joyce Fodor
(General Interest)
"A Ten Year Budget Projection for

Educational Institutions"
J. A. Ferling
(Elem.)
SESSION C - 3

10:30 a.m. - 12:00 noon

WORKSHOP

CO:~TINUATI

Empire Room

au

L. Hoffman

SESSIOH A - 3

11:00 a.m. - 11:30 a.m.
Paper

11:30 a.m. - 12:00 noon
Paper

"Autolog Digiklok Nod for
1620 t10ni tor I System"
E. F. Staiano. D. E. Atkins
(Inter.)
"Disk Version of FORTRAN II
Incremental Plotter Subroutine"
P. Larrea
(Plotter 'i.lsers)

SESSION
11:20 a.m. - 11:50 a.m.
Paper
12:00 noon - 1:15 p.m.

o

Carillon Room

il -

3

Dominion

Hearn

"Test Scoring System"
D. G. Owen
LUNCHEON

Burgundy Room

1:30 p.m. -

3:00 p.m.

"1-1. P. L. "
Cari lIen Room
(!4ultipurpose Programming Language)
D. N. Leeson

3:00 p.m. -

3:30 p.m.

COFFEE

Upper Lobby

3:30 p.m. -

5:00 p.m.

Carillon Room

viii

c

Im,ts.

M

, 1_

it

SUN OIL QOMPANY
RESEARCH AND EN GINElmING
ENGINEERING DIVISION

UNATTENDED OPERATION OF THE 1620 COMPUTER
by

C. S. Schrodel

'For presentation at

th~

Eastern Region, l620 Users Group Meeting

May 10, 1965'

o

Miami, Florida

1

UNATTENDED OPERi:TION' OF THE 1620 COMPUTER
------'----- --- ---- --------

SUMMARY
.

The unattended operation system was designed to allow running of an
operc~,tor and without the
limitation of the card read and punch hoppers. Tf,(;) syst.em can execute
and compile Fortr2.Tl II-Version 2 programs, using .t.he 1311 Disk Drive as
the input~output device for data and programs. Se[iarDte programs used by
the system are:

IBH 162:)' for long periods without need of an

1.

A program to load the data and source decks onto the

disk.

2.

A program to load the object programs.

3.

A rrogram to control compilation.

4.

A program to control execution.

5.

A pro:y,ram to dump the output from the disk.

6.

Nodified cOTilpiler and subroutLles.

Present reciuircments for use of the system are a 69J core, a 1311
Disk Drive, SJUI'ce pro~~ rruns in Fortran II, and prograrn~-'"~ihich 'do no t use
cOl'e location5 S~2.9~.2 to 59,999.
~"'~;;"w'-"""-';:~.7":'"'.

USE OF THE SYSTEH
T118 normal use of the system is to load the data and pI',Jt~;rams onto
the diEk dU"Y':in:·~ the late oiter-noon, allow unattended op8rDtion during the
n:: :;ht, a.10 dump the output from the disk trie following morning. In order
to properly load the disk, it is necessary to know the following aoout
thp -jist: layo11 t.:

1.

The data and source decl-cs ;reloaded tl:0 sectors par

card from tne sector speci.:.'J.ed upwi::,rd. The sector
CJdciress is specified ;It load time and must be gre['ter
than 600 and also ar' ~VGn number.
2.

The objectpr·)grams are loaded three cylinders per
program from the sector specified upward. 'fhe sector
and must be a multiple of 200.

3.

The program output followed by the symbol tables of the
compiled programs are written two sectors per record
(card) starting Cl.t 00000.

2

.

(

,
"

4.

The compiler (passes I, II and intermediate output) uses
sectors 18800 to 19999.

5.

Compiled object decks are written on the disk one sector
per card starting at 18799 downward.

Sectors should be specified for the input and programs so that the
work 'can be fit on the disk in sectors 0 to 18199, and so that generated
output will not overlap data not yet used. Efficient usage is to load
first the programs ~th the highest ratio of input to output. The
starting address of the programs should be 18800 minus 600 times the
number of programa. Data followed by source decks are loaded below the
object programs. Oper~ting in this manner, it is possible to have the
output overlap data already used, have the s,ymbol tables overlap the source.
decks, and finally have the compiled object decks overlap the programs
Each data set and source program must be preceded by a oard with a
record mark in column one. If it is desired that the same program be
reloaded for the next data set, any digit should be placed in column two
of the record mark card. For example, if the same program is. to be
used for three data sets, then the first two data sets must be preceded
with cards having a record mark in column one and a digit in colwnn two.
A card with a double record mark is placed after the last source deck
as an indication to stop. It· should be obvious that data and object
programs must be loaded in the same order and that compilations are last.
The system cannot be used to compile and execute directly.

The "Load Data" program is loaded into core, followed by the data
the program types the message DATA START and reads from the typewriter
the sector address at which the data is to begin. This location is
recorded on the disk in· sector 00598. The data is then read in and
written on the disk, two sectors per card, starting at the specified
location.
This program is used to load onto the disk those programs-which are
START and reads from the typewriter the sector address from which the
programs are to be stored. 'This location is recorded in sector 00599,
and the program stops. The first program to be executed is then loaded
a branch to 59000 causes the program to be wr1ttenont,0 disk at the proper
location. The second program is then loaded into core, &ld the process
repeated.

o

To prevent the possibility o£ check stops due to undefined variables,
it 1s convenient to have the core cleared· to flagged zeros. However l i t
is necessary that the "LQa4 Program" routine in the S9 J OOO's not be
cleared. The proposed Ileana ot doing thi. ia to clear the core to

3

·.•.

-.~-.------

-

--.----

...-..•.. •..-.-- .....

•
flagged zeros, restore the add tables, and record this "clear core" in
sectors 0 to 00590 before the initial load. This. II clear core" is then

"EXECUTION" PROGRAM
This· routine is essentially a monitor and controls the execution of
the object programs. The program is loaded into core when the unattended
operati.on is to be initiated and resides in 59000 to 59900. This routine
operates in conjunction with a modified subroutine deck to perform the
following functions:
1. Load object programs from disk into core.

2.

Read through data cards until a record mark card is
found, indicating a new data set.

3. Read or write a record on disk whenever a card would
have been read or written by an unmodified subroutines
set.

4.

Terminate execution and go to the next job whenever an
error F7 occurs, or 25 errors other than F7 and F8, or
a record mark card is read for a data card.

5. Type

OLAP and stop if an input record is to be read from

a sector lower than the current output sector.

6.

Write a record between jobs to control the dumping of the
output.

This routine reads a program into core locations 0 to 58999 whenever
the input records until it finds a record mark card. If the record mark
card does not contain a digit in column two, it increments the program
counters by 600 so that the next program will be read into core on the
next branch to 59000. The counters are not incremented when column two
contains a digit. The routine then types START and executes a 4900409.

"COMPILE" PROGRAM
This routine works in conjunction with a modified compiler to allow
compilation without use of the card reader .or punch. Compiler, source
statements, intermediate output, symbol table, and object decks are all .
read from or written on the disk. This program is loaded on the disk by
the "Load Programs" routine following the last program to be executed.
After termination of the executions, this program is read into core and
takes control. The routine requires about 2000 core posit.ions. FW1ctions
of this routine are as follows:

1.

Read in Pass I or Pass II at the appropriate time.

2.

Read or write source statements, ·intermediate output or
object deckus1ng disk instead ,pi cards. Intermediate'
output starts at sector 19171 for each job.

'\

c

\

4

II
I

3. Write symbol tables statements on the disk rather than

c

the typewriter.

4. Type OLAP and stop if source statements are to be
read from a higher sector than object deck is to be
written.

5.

Write a control record for use of "Dump Disk" routine
between symbol tables and object decks.

6.

Between jobs, read through source statements until a
record mark card is found. Stop if it is a double record
mark.

ItDUIJIP DISK" PROGRAM

This routine is used to dump the results of the unattended operation
from disk onto cards. One alphameric card is punched for each two
sectors starting at sector 0 and continuing through the number of sectors
written for output and symbol tables. The program then punches out all
Gompiled object decks one card per sector, strrting at 18799 and
continuing down through the number of records written for object decks.
The program stops after pUllching the output of each job to allow
separation of cards. Depressing start causes a continuati.on to the next
Job. After plllching the last record written, the program types the
message 'END.
HODIFIED COMPILER

,Changes were made to both passes of the Fortran II-Version 2 compiler.
The changes are oS follows:
1.

Every card read or written has been converted to a branch
into the IICompile" program for the reading or writing of
disks.

2.

All halts have been removed. Those which had been terminal
now generate a branch to the next job.

3.

The header card appears only in front of the symbol tables.

4. The use of sense s\Ii tches is eliminated.

Symbol tables
and traces are standardw Customary batch compiling is
eliminated. Source listings are not avai12ble. Subrout.ines
are no t punched.

5.

o

PAUSE, STOP, and END statements generate a 275900059899
instruction instead of a 48. This is to prevent undesired
halt.s during unattended operation. If desired, a halt
and branch back can be placed at 59000 for attended
op'eration.

MODIFIED SUBROUTINES
I

A modified subroutine deck is used for unattended operation. The
subroutines branch into the "Execution" program for input and output

5

---~

~--~-

-~-

..

-.~-.~~~-

..__.... __ ...

.. --

_---_._ .._-------_._-_.... _.....•.•••.._--.-.----

and the listing of the error message other than F8. Error F8 messages
have been modified so that they appear only on the typewriter.

c.

S. Schrodel

C:
6

APPENDIX:

-

OPERATING TECHNIQUE FOR UNATTmDED OPERATION

1.

2.

3.

Type sector address at which data is to start; must
be greater than 00600 and must be an even address.

4.

Stack data followed by source programs, and read
into core.

5.

Each data set and source program must be preceded
by a oard with an 028 punch in column one. This
card must have a punch in column two if the same
program is to be reloaded fOF the next data set.
The last card must have an 028 in both columns one
and two.

1.

Clear core with a 310000300002 command.

2.

3. Store this clear core on the disk with the

"Lo~d (j

on Disk" routine •

.4.

5.

Type sector address at which programs are to begin.
Must be a multiple of 200. Normally, 18200-600 times
the number of programs to be executed.

6. Load 1st program to be executed and branch to 59000.
The Version 2 unattended subroutines must be included.

7. Clear core with the tlRead '0 from Disk" routine.
8. Repeat 6 and 7 for each program.
9.

1.

2_

Execution

"Execu~;lontt

routine.

7

Dump Disk

-..,.....-

1.

2.

Remove cards from punch hopper.

3.

Press START.

4.

R~peat

2 and 3 until END is typed.

In case processing was interrupted because of error, proceed as
follows:
1.

Read 18000 into 36825-36829 and 00000 into 37657-37661.

2.

Execute

3.

Branch to 59824 after the last symbol table has been
punched to punch object decks.

steps.l~3

above.

When dumping the disk using this latter procedure, the operator
must use the typewriter sheet to know what output is being punched.
One job is punched each time the start button is pressed. Do not
count compilations which are Pass I only.
If the contents of 36825~36829 and 37657-37661 are recorded after
execution, the normal dump procedure can occur anytime simply by
restoring the recorded values.
Set-Up Example
i

Five programs are to be executed and three programs compiled.
second program is to be run four times.

The

Program 1 has 1000 cards input and 1500 output,
Program 2 has 50 cards input and 250 output for each data set .•
Program 3 has 100 cards input and 500 output.
Program 4 has 10 cards input and 100 output.
Program
To~a1

5 has

10 cards input and 150 output.

output = 3250 cards.

Total input = 1320 cards.
Load programs in orcier of increasing ratio of output to input
(Lowest output/input first). Output of the last can safely overlap
input of the next to last. (provided last output is greater tqan next
to last input) •
. Data -Start • 2(,3250-13l0) .. 3880
Program Start = 18200-5(600) = 15200

8

Data should be stacked as follows:
Record mark card followed by Program 1 input.
Record mark card with a digit in column two followed by
first data set of Program 2.
Record mark card with a digit in column two
second data set of Program 2.

follo~ed

by

Record mark card with a digit in colunm two followed by
third data set of Program 2.
Record mark card followed 'by fourth data set of Program 2.
Record ma.rk card followed by Program 3 input.
Record mark card followed by Program

4 input.

Record mark card followed by Progrrm

5 input.

Record mark card followed by first source program•.
Record mark card followed by second source program.
Record mark card followed by third source program.
Double record mark card to stop.
Note that compilations

~re

last.

9

(a)

Title and Author:

Time Sharing on the 1620
by
Eric W. Channen,
Department of Chemistry,
University of Windsor.

(b)

Company and Users Code:
University of Windsor, User No. 7042.

(c)

lime Required for Presentation:

Cd)

Spt:!cial Equipment Required:

(e)

'I\;;chnical Level of Presentation:

Mt:::dium

(f)

Audience for whom it is intended:

Computer Center Staff

20 minutes

Any 1620 using Monitor I

ABSTRACT

(g)

The Monitor I system has been adapted to permit routine
compucation to proceed automatically between jobs, thus utilizing
idle computer time.

The routine or lengthy computation can be

interrupted at any time, by the use of a console switch, to allow
a short job to be run, and will automatically be resumed when the
interrupting job is complete.

The effect is accomplished by stor-

ing the contents of memory on disc, together with a restart address.
The system should be particularly valuable at installations where
routine data processing tends to conflict with an oJ:>t:!u-sho(:
operation.

10

ij"'j'j

0"

COMPREHENSIVE FORTRAN PROGRAMMING-A NEW TEXT"qOOK

c

James N. Ha.ag
Purdue university
Indi a n8polis, Ind.
1620 Users Group Miami MeetlnE, May 9-11, 1965
I. Introduction
II. Historical Background
III. Computer Technology Curriculum
IV. Compiler Langu'~3ge Programming (FORTRAN)
V. Design Criteria For The Textbook
*.1\ B STRA CT ~~

o

This talk will de81 with the arrangement, contents, and
underlying philosophy of a new book on computer programming
in the FORTR.4.N language. The pert 1nent port ion of the preface from the book is given below:
.
"This textbook is intended as an introduction to computer progrs.mming for those intereRted in one of the so-c911ed BEST-SAM
a.re(as: Business, Eng ineerinp: , Science, Technology, Soci[11 science,
llgriculture, 8na M,lexed, fe'~rful expect~3ne ies in tIle hope th~'lt 8nother
book may join tue long-lifetime rRnks of these two bo~ks. One
should note th~t in history or in economics, ~ lonp lifetime ~~y
:TIe\in 2"H~-4 yenrs, wflile in our cisci'Jline, f:': lonp- lifetime m')y
me'] n 0 nly 2 ~H:-2 y e<' r s .
I wish to tell you of t:l6 rise of'lnot.r!er textbook on T.;'10R'rR f , N
prosr.~3mlling ~iS of July 1, 1965.
'gesed on this t'llk, you Sh01J10
be :Jble to 'Jredic't v!hen it will f~lll, e t:lreefQld:
~O~"'R,'\~ ,:,!lth ~O~~:'~~ for tl-J.e 1620, "t:;'Io~rrr:::!\N TT.-T)
for tne 1620, :;lnd "t:;'IOR~Ri~N IV for the 7Q9J/7094.
f

)

II •

}-IIS~o.RTCX\L

Bi\ CKGROTT'~1)

In 1962, PU.rdlJe University dectded to t..'~ke 'Jction bnsed on 'l
Feder'1l re'Jort which st1ted th"t the t~en current 1,1:)0, JOO jobs
relnted directly toEDP would eX~'lnd expone~ti""11\T until 3,C:;I)Q,CY1,)
jobs would be .'iV:-311eble in 1978. 'Oy wPy of b'3ckp"rollnd, T mip'~1t
s t::3te th.'l t rno st of you, when ~ ct ine- in t :le C ,-' t el70rv ~I.,h i ch we c ':111
"progrnmmer", ,:::tre of n speci')l breed c'llled HK5: :}rop.-r'lmmers, w1-:ere
'-IKE is ,gn acronym for Ifh~.rd knocks of eXijerience".
qKE proprr'mmers
are widelv accepted ~:lS 1-:leing quine t<'lented tOlnd crlpr~l;le. On the
other h.'Jnd, the system which gives rise to T{KS 'JrC)P-r'l1nmers is one
8f the lowest ef~~>iciency systems knov.rn to r.1'lnki.no. Ver:rs of tr"ininez, oc(':)sion~Jl1.y wi.th r,'lndom dis'lstrous occurences to m"n 'lnd/or
ffi1C:line, el~?pse ~)efore an HKE 0roFr r' mmer 'Jrises from the to'TIb,
truly c lad in t>le stl i_ni ng grJrment S of hi r ref ined Rki l'_s . "'h'lnk
he'lvens th':~t our medic'll doctors ;~re not forced, by def·1 ult, to
obt~in their tr~ininE in 0n ana1agous m1nner!
purd ue hr3 s nlrefJdy deve10:Jed, thnnks to men such :1S Sam Ijonte
3nd S3ul Rosen, three degrees in ComDuter ScieQces, o. Computer
Sci en c e SO? t ion for. 3. B. S. in. l~a them.':l tic s, a .1\IT • S. inC; om n 1.. 1 t e r Sci en c esC'
nd J. Ph.D. in Gomr)uter Sciences.
However, gr'ldu'1tes of these
./

12

f
~

,
•

I

1
•

rt rizriW

c

progrRms are destined to be systems analysts, tea.chers, a.nd resenrchers, not programmers. rr.'he1r progr rl mm1ng is of a secondnry
nature in their ca.reers. As a. result, Purdue decided in 1962 to
immedi3tely set up a 2-year non-college credit curriculum in
com?uter Technology to efficiently train students in either a
commerci,'3l or a scientific progr~.mm1ng option. Three Model I
1620 computer centers with disks, card in9ut/output, and the full
ga.mut of unit record equipment were lnstF.llled 8t Purdue's re@:ion~l
cnmpuses at Indi8napolis, Hammond, and Ft. Wayne, Indiana. I at
Indin.n3polis, Johl'l Man.i9!.~s c?:.~. ._J1~~lP:~ond, nnd la.ter, Maurice H~lsey
at Ft. \~layne, tind''''a.b6~ut }O industriAl representatives ~nd faculty
were given the responsibility of'developing the two options' course
sequence and content in the 2-yeBr curriculum in Computer Technolo~y.
In t~1e 1962-63 a.ca.demic year, 100 persons holding down 40-hourper-week positions started the initinl curriculum ~s p~rt-time students.
The classes were all held in the evenings. In the 1963-64 academic
year, the revised curriculum W3S opened to full-time daytime students as well as being continued in the evenings for gnoth~r 100
part-time students. As of now, over 300 students have started the
2-yenr program. On the support of all concerned p13rties, in M~y,
1965, Purdue converted the entire Computer Tecl1nolop:y progr')m into
a fulJ . . . . ~,q.!l.E?.g .~ ..._qredit curriculum a.nd t:,1US our first grp.du~tes t~is
June will receive an Associ~te Degree in Computer ~echnology. Also,
in M~Y, 1965, Purdue opened up a Junior and a Senior year in Technology to round out the educRtion of those Associate Degree holders
who desired to tr:1ke a B.S. in Technology. Current stBtistics indi-'
cate that of e~ch 100 students who begin this progr9m, about 50 will
receive the AS20ciDte Degree. It is too soon to B!1y how m')ny of these
will go on for t~e ~.S. It is interesting to note t~8t of the entering
students in Computer Technolo~y, over 15% alre1dy h1ve a B.S. degree.
III.

COMPUTER TECHNOLOGY mERRICULUM

The commercial and scientific options of the Associate DeFree
in Computer Technology e9.ch consist of 20 one-semester courses, averaging sligntly/over 3 credit-hours per course. ~~e objectives of this
curriculum and of these courses are listed in Aooendix A. ~he cur~i­
cuiam mtUteHf 1iber~~.1 use of the course contents ;ndsequences developed by other universities and the progr~mmer t~qining proFr~ms of
a. number of comouter mnnufBcturers and commercial and scientific
installations. The course names convey the course contents.
The co~mon technical core of courses for both options is this
7-course sequence of titles: Unit Record DRta Processing, Compiler
L8ne-'u~ge Progr 1l mrhing (FORTRAN), Ma.chine Lf1ngu':l~e Progr~mming, Assembly Lnngur)ge Progrnmming, Utility Progr.'3ms, Systems Annlysis, and
Computer Project. Of the. 13 remaining courses, these 5 a.re common
to both opt ions: English Composition, Tec(lnical Report 'I',"1ri ting,
Econom ics, Algebra, 8.nd Sta.t ist ics. rrhe rema.ining 8 courses are
different for" the two options. The commercial option includes two
semesters of accounting, computer mRth, d~ta processing applic~tions,
COBOL proe-ramming, industr1al organ1za.tion, and two electives. The'
scientific option includes two semesters ot ca.lculus, two semesters
ot physics, two semesters of numerical ana.lysis, and two electives.
rr:~e IJ.~~_,Eequi£!~<~.~"!.~~q;9.}cs a.nd mater1~lB tor the 13 computeroriented courses in these rwo options are listed in Appen9~_x .S.• This
book list changes every tour montha, that 1s, three tImes 8 year.
4

o

-

l3

The reason for the frequent changes is straightforw~rd: better
textbooks are newly published or are brought to our a.ttention. You
will recognize among these a.uthors ma.ny familinr names: ; McCracken,
Leeson, Germain, and Dodes.
IV.

COMPILER LANGUAGE PROGRAMMING (FORTRAN)

Textbook selection is always a dif~lcult procedure. You know
from your own experience tha·t no perfect textbook on any subject
exists. One must a.lways compromise. En.ch aut~or, including myself,
ha.s either a conscious or an unconscious "Drum to be'3t", or a.t leAst
this is what the oS'ycholog1sts c18im. Our most difficult textbook
selection at Purdue w~s for the course in FORTR~N, Compiler Lgngu1ge
Progr1mming.· 'VIe have used six different texts and hr.:lve found them
guilty of one or both of these major faults as far as teaching beginninfl progr8mmers: the "dot-d ot-dot" a,ppro,') ch a.nd the ttfr8 ctured
i'lickers" a.pproach. I might a.dd thAt I do not feel th~.t these two
appr09ches are necessa.rily fa.ults when instructing intermedi'lte or
The "OQt-. keey)s chanptnp: its acronvm
from NPL to MPLto N(PPL to PL/! and 1.,.,rho kno\,rs T.vh~3.t else.
I he,~rd
a bomplete~y unconfirmed rumor that two more acronyms, or ~0re
correctly, n:)mea; are circul~3tinB in priv~lte convers1tions:"'T'tA"'SON H
:J nd "9 - EDGE" •

18

i,,'1

r tmr • • •_

Hr

rt_ rzrrt

SUN OIL COMPANY
RESEARCH AND ENGINEERING
ENGINEERING DIVISION

UNDEFINED VARIABLE DETECTOR
by

Thomas J. Scott

For presentation at the Spring, 1965 1620 Users Group Meeting
May 9 - 11

Miami, Florida

1°
19

UNDEFINED VARIABLE DETECTOR

INTRODUCTION
The Undefined Variable Detector program (UVD) is written in S.P.S.-II
to be an aid in debugging other
Version II.

~rograms

that are written in Fortran 11-

Basically, the UUVDtt checks to see that the arithmetic

subroutines and the output portion of the I/O subroutines of the Fortran
II-Version II package do not get an opportunity to manipulate improperly
defined fields.

A total of nineteen of these subroutines are altered by

the "UVD", in order that this field definition check may be made in every
case where control is passed to a subroutine that might, in normal
operation, encounter an undefined variable.

A list of these altered

subroutines may be fQund on page 2.
The "UVD" is loaded begind the Fortran II-Version II program at object
time, and in no way affects the results normally obtained from the program.
GENERAL DISCUSSION
Undefined variables do not always indicate their presence in the
same manner.

The most obvious rlleans of detection is the sudden and

shocking appearance of the check-stop light on the console.

The displaying

of the contents of IR-2 will indicate the return address from the
subroutine package, but this does not alvJay-s define the portion of the
program in which the undefined variable was encountered.

Dependine upon

the length of the field transferred, the program may have been terminated
abruptly, or it may have solved several problems before feeling the
effect of the undefined variable.

The latter case may create a tedious

searching problem for the programmer.
The most potentially dangerous situation, however, is the one in
which the undefined variable remains undetected.

20

The "UVDII will identify an undefined variable the instant it is
encountered, and will type a lnessage indicating its symbol table location.
the prograruner may then define the variable via the typewriter, and return
control to the "UVD."

The program requires 1200 core positions.

It utilizes the indirect

addressing feature. '. It. may be re-assembled at any location in CQl'e
I

simply by changing the "define origin" card at the very beginning of the
source deck.
TIMING
Swnple runs have indicated an increase of approximately 50% in
run time.

This is based on a Mod-I, without the floating point hardware

feature.
SUBROUTINES ALTERED BY THE UVD
Subroutine
Abbreviation

Core
Location

TOFAC

01314
02466
01506
03038
01538
03082
016)2
03254
01676
02372
01562
03470
01762
02372
02372
04586
03996
05938
03574

FLSUB
FXSUB

FLMUL
FIMUL

FLDVD
FIDVD

RFLSUB
RFISUB

FLRDVD
FXRDVD

RSUFL
RSNFI
FLElP

FXEXP

r/o

FIXI

21

c~

Music Programs as an Aid to Debugging

Title:
Aut~.ors

:

Ronald C. Read and Peter J. Jutsum

Direct enquirip.s to:

Computing Centre
Mathematics Department
University 0f t~H:: ,Vest indies
K0na,

~ing8ton

~,

J~~aicao

The problem of dp.bu?;[';lng a ni:.~v" pr0gram C8.n at times be very
tedious and frustrating, and any aid to the operator to 8nable hi~
to r'ollow what is going on in tbe computer when he is trying to
find ~ fault j.n a program must be of some value.
The constructlcn
of the 1620 enables tr,e state of certain of the rei~iste:rs to be
exa~lined wi t:r the qjc of the indicator lit£hts, but these are of very
Ii t';'J18 value except in the static C8.se with t he machine halted.
Tr.is halt can he rna.de manually, but frerluently in tr:e course of
debug~ing it is a check stop, and either way, the addresses of the
~alt does not always leRd very raDidly to the cause of the fault.
It iE the pur90se of this paper to suggest that trle rgg..i.§:.j;tgnS from
thp core stora~p of the computer, which can ARsily be made audible,
cB.n'·"'h~"'·avaluable tool to aid the programmer in th e debuggi ng stage.
A sm~ll rarlio
cql~ipment, a.nd if

set is ~ll thRt is needed in the way of extra
tris is nl8.ced on top of the Machi YlP. immediately
ahov-e the program switches, and tuned away fr0m a broadcast
transmission but as close to the clock frequency ~i8 nossible, this
is sufficient to hear all th~t is ne~ded. (The clock frequency of
the Tilodel i is 1 .Mc/s). 1'he clock pulse is ftloduld.ted by the
ari thrleticaI'anG:"Ofl1er operations and tLis, when der.1odulatcd by tr'e
The sounds picked up by this m~thod vary cr;n3ic1erA.bl~,r accordinf\
to the nature of the operation that is going on at the time, and it
requires a certain amount of practice to reco~nise thp sounds and
interpret them in a useful way. To Gain a little experience, it is
quite a good idea to "listen" to some programs with which one is
fA.miliar.
However some of the noises are very characteristic, particularly
fairly tight loaDs, and if these occur in the program, either
intentionally or because of some faul t of pro.;ra:':min,J', they are very
easily reco;Q"nisc:i. The dismal sound of cleari n~ me':lory is one of
t~0se th~t cRnnot be missed!

o
22
£:

II'"

Consider as an example a table look-up section of a program
that is fairly common, such 8S:T~lJl

LOOK

C
BE

AM
CM

BNE

*+18, START
, SYMBOL

OUT
LO OK +n ,10,10
LOOK+6,END
LOOK

960
160
560
560
200
et cetera.

This has an execution time for the cycle, assuming that the entries
in the table are all of ten digits and positive, of 2,440 microseconds,
and this means that a note of frequency 1,000,000/2,440 c.p.s. will
be generated. (The timings are for the Modell) i.e. about 410 c.p.s.
or about G above middle C.
Less pure notes, or perhaps they should be c~lled noises, come
from loops whose execution times are not constant. Jor example, in
the loop above, if the stored entries in the table are not all of the
same length, and not all positive, the instruction LOOK will not lave
A. constant execution time, but it will vary between 960 anrt 280
microseconds. The noise of this loop will have fundamental frequency
cO'11ponents between 410 ann 570 c.p.s., but also many harmonics, Rnd
the result is not at all musical.
(Demonstration on tane recorder of thesp two sounds)
Parts of a progr3.m that are r~peti ti. ve in tl'is sort of way can
usually be fairly eR.Gily recognised, and even if no more is done than
to listen to the nE::W program on first running it, this can save a
consjrterable amount of searchi~g if an exasperating check stop is
encountered. At the very least it can save the ti1H}1.nvolved in
running a trace routine from the very beginning of the program when
in fact the fault does not occur until a good deal later.

a

The!3-~_!j~. w,d~l.QOnS.,:t.r._a.t,iIJ,n is of
program tha.t has several different
table searro~)er Dart of ttu:~mselves, and this
is by no !l)ep-ns always the case. It is certainly tru8 that not much c~vn
be glea.ned from' the sound of ather parts of the or0~:ram since the
capaci ty of the ear to sort out very irrcP'ular SQUiJr1.c is very limi ted,
but the listening technique is not defeated in these cases. lt is
recom~pnded practice to introduce a number of unnecessary halts into
a program, subsequently to he replaced by NOr instructions or to be left
out al tor~ether un recompiling, and these s~rve to enH.ble the operator
to isolate the section in which a fault occurs. It is sugge8ted that
tnstead of the hal t, the inserted instructions A.re HrNIs to a subroutine
that generates a characteristic note, and that tLef,e are later replaced
by NOPs. Vlhtle the BTM instructions remain however, the fact that the
program has got to certain points without mishap can be clearly
recognised by listening to it. The duration of tt~ inserted notes can
be varied, and they serve a triple purpose. They furnish audible
progress reports, they slow down the program to a speed that enables
the operator to keep track and they can be made of sufficient duration
in crucial cases to enable the program to be halted at a desired point.
A hasic subroutine (usin~ indirect addressing) of only 43 digits
follows. If indirect addressing is not available a slightly •••••••
24

- - - - -_ _ _ _ _ _ _ _ .l

longer subroutine is needed
SING

TR
8M
BNE

SING-l,SING-l,611
*+9,4,710
SING

c

BB
and the linkage to be introduced into the program in place of the
trFtdttional halt

BTM

SING,xxxxx

where xxxxx is an address somewhere in the aritbmeticA.l tables.
If
the Q operand is 400, this will produce the hiehest possible note of
a fairly short duration. IJower addresses will produce progressively
lower notes of progressively lon~er duration. If an operator wishing
to try this would be offended by notes that are not in harmonic
relation to one another, I will gladly supply a list of suitable Q
operands together with their musical equivalents.
The next recording is of a program that is searching for closed
circuits in an arbitrary network. In th~ first part of the recording
there is no modification made, and you can hear thR.t it would be very
difficult to sort out the various operations th)"t are going on. In
the later part of the recording, we have the same program, Dut it has
had some musical "telltales" introduced into it, and knowing the points
in the program vibpre these have been introduced, ann the :pitch that
corresponds with each mark, one can follow the progress of the program.
Nhen that recordin~ comes to an end., it is because of a check stop
(deliberately fixed), ana it is possible tn tell if we listen
attentively to the sounds, t:hat it occurs after the first tncidence of
Low D. This enables us to isolate the fault immediately.
(Demonstr~tion

as described above)

On~ can go further in this, and by writing a slightly longer
subroutine in place of SING, it would be easy to arrange that the note
played at a point in the program depended on the state of a switch
which is bein? set. ~'or instance, it sometimes occurs that a program
fault is caused by the removal or setting of a flag or record mark
wtlich is not intended by the programr~er, and on those occasions where
this doesn't happen until the program has run for some time, chasing
the bug can be very tedious. It would be an idea to put in an audible
warning of this, long enough to wake up the operator.

There is one rather risky aspect of this technique. In time, the
fascination of the noises made by a proeram becomes too great, and the
intervening calculations wane in their importance. The result could
well be
(Demonstration o.! a short .excerpt from "The :B'ligh t of the Bumble
Bee" by N.Rimsky-Korsakov.)

"c'

\~.,'

25

'

.

O

./1·i

FINANCIAL EVALUATION PROGRAM

Leslie Parker
Manufacturing Engineering
Poughkeepsie, New York

o
26

Management decision making should be an enlightened process. Lack of
time and useable information, however, often conspire against it. The decision
maker may be forced to rely more heavily on his own judgment than he would
like.
One factor which should enter into every business decision is the financial
justification for the change. The Financial Evaluation Program can provide this
information. Too often the process of financial evaluation involves:
Gathering cost data by someone technically aware of the situation.
Explanation of this data to someone with a financial background
(with a resultant loss due to differences in semantics, purposes,
and backgrounds).
Lengthy financial analysis, often by non-standard, manual
methods, and with a poor to cursory understanding of the
problem.
Explanation of the results of the evaluation to the decision
maker, through the eyes of the person doing the calculations
(again with losses due to differences in semantics, purposes,
and backgrounds).
.
Decision made on lost prem ises, and an incomplete understanding of the meaning and methods of the financial
manipulations.
The shear length of time required for the analysis often prohibits its use,
and in those instances where the time is available, the evaluation suffers in
the translation from analyst to evaluator to decision maker.
This program by comparison is a standard tool which the analyst uses to
abstract and compress financial data. The evaluation is SWiftly performed, and
placed in a form familiar and understandable to the decision maker.
Following are some of the reasons for having economic evaluation:
1)

SUSTAIN AND INCREASE PROFITS OF FIRM

2)

PERMIT UNIFORM JUSTIFICATION OF ALL PROJECTS

3)

ENCOURAGE CONSIDERATION OF ALTERNATIVES

4)

REDUCE BIAS OR IRRATIONAL APPROACHES

5)

CURTAIL FALSE STARTS

6)

PERMIT PERIODIC FINANCIAL AUDITS

7)

ENABLE MANAGEMENT TO MORE EQUITABLY EVALUATE
ALTERNA TlVES

8)

PROVIDE MEASUREMENT OF UNCERTAINTY

27

The following list details some of the s!,ecific attributes of the Financial
Evaluation Program.

0

1)

FLEXIBLE

2)

PRACTICAL

3)

CONSISTENT

4)

COMPLETE TREATMENT OF COSTS

5)

COMPUTERIZED

6)

DISCOUNTS MONEY

7)

RECYCLES DEPRECIATION

8)

RECOGNIZES CASH VS. ACCOUNTING COST

The Discounted Cash Flow technique is illustrated in Figure #1. First a Net
Cash Outlay is calculated for each alternative method of implementing the project,
for each year of the financial life (NCO-A and NCO-B). From these values for
each year, a net cash difference is calculated (CASH FLOW). OL stands for outlay,
analogous to Investment (I NV) and FB stands for flowback, analogous to savings
(SAV). The INV or SAY column is an adjusted Cash Flow, in which the deferred
investment (OL which chronologically follows FB) have been removed through a
Cost of Capital adjustment. From the INV or SAY column, the compound interest
rate is calculated which would have to be acquired to realize equivalent return
from a bank, by depositing the investments. This interest rate is the Rate of
Savings for the evaluation. Finally each entry in the I NV or SA V column is discounted to the present date using Rate of Savings as the compound interest rate.

DISCOUNTED CASH FLOW TECHNIQUE
Year

NCO - A

NCO - 8

1964
1965
1966
1967
1968
1969

5,000
10,000
5,000
10,000
5,000
20,000

10,000
5,000
12,000
5,000
10,000
10,000

CASH FLOW

OL
F8
OL
F8
OL
F8

5,000
5,000
7,000
5,000
5,000
10,000

INV OR SAV

DISCOUNTED

INV 5,000
0
INV 1,650
SAV
327
0
SAV 10,000

5,000
0
1,355
243
0
6,111

VALUE

Rete of Savings
is !0.4 0/0

Cost of Capital is 7.0 0/0

28

The following outl ine describes the Program Method, in a brood form.

COST COMPARISON
To compare two methods of accomplishing the same project,
assume both methods will derive the same income but incur
different costs; therefore, compare the costs involved.
INPUT PREPARATION
Analyst Iists projected
project life.

c~ts

for each method in each year of

INPUT CATEGORIES
Complete check Iist of expense categories is provided.
NET CASH OUTLAY
Program ca Icu lates Net Cash Outlay for each method, in each
year of Financial Impact Life by calculating c~ts
depreciation, and tax credits. (See EXPENSE TREATMENT.)
DIFFERENTIAL CASH FLOW
The difference between the two Net Cash Outlays is found for
each year of the Financial Impact Life and printed in the Cash
Flow column of the output.
DEFERRED INVESTMENT
All deferred investments are reconciled and a new Cash Flow
is generated (INV or SA V column).
RATE OF SAVINGS
Compound interest formula is evaluated to find RATE OF
SAVINGS interest rate which would have to be appl ied INV
in order to realize equivalent savings.
PRESENT VALUE
The present value of each entry in the INV or SAV column
is calculated using the RATE OF SAVINGS.

()
29

-"~-------~

"""--"---"-""""""-

-"

"--~--""""""~-~---~----

EXPENSE TREATMENT
CURRENT INVESTMENT (CI) (Year End Value of Asset)
o
Increases in (CI) are added to Net Cash Outlay (NCO) in that year.
o
Decrease in (CI) yie Ids an Income Tax credit, subtracted from NCO in
that year.
o
Carrying cost calculated on Inventory and added to NCO.
FIXED INVESTMENT (FI)
o
Each (F I) is added to NCO in year it occurs.
o
Each (FI) except land, is depreciated over appropriate tax life, and
recycled, if necessary. Income Tax credits are calculated on this
depreciation for each year; these are subtracted from NCO.
o
Incentive tax credits are calculated for each (FI) except land, and
subtracted from NCO in the year of purchase.
INVESTMENT EXPENSE (IE)
o
(IE) in monyears are converted to dollars and benefit rate appl ied.
o
o
In non-recycle problem, Income Tax credits are calculated and subtracted
from NCO.
o
In recycle problem, expenses are depreciated over tax Iife of product,
Income Tax credits calculated and subtracted from NCO in
appropriate years.
ANNUAL CASH OPERATING EXPENSE (ACOE)
o
Convert all manyears to dollars plus benefit rate.
o
o
(Material and Operating Supplies/Turnover Rate) times carrying cost,
o
In non-recycle problem, Income Tax credits are calculated and subtracted
from NCO.
o
In recycle problem, expenses are depreciated over tax Iife of product,
Income Tax credits ca Iculated and subtracted from NCO in appropriate
years.
ANNUAL EXPENSES OR GAIN SUBJECT TO TAX
o
DORA - Calculate Income Tax credit and subtract from NCO.
o
SAS
- Calculate Income Tax credit and subtract from NCO.
o
Compare SOFA to WOFA:
If SOFA is greater than WOFA, calculate capital gain tax on difference

If WOFA is greater than SOFA, calculate Income Tax credit on .
difference and subtract from NCO.

o

o
o
o

Subtract SOFA from NCO.
Subtract INCOME from NCO.
Income Tax is calculated on INCOME and added to NCO.

30

(

The figure on the following page shows an input sheet. One of these
is completed for each year of the pro ject Iife. The input form comprises a Iist of
cost categories, bringing to the attention of the analyst the information pertinent
to the evaluation. A carbon copy of this sheet is used directly by keypunching
for preparing the card input to the program.
A facsimi Ie listing of the information carried on control cards is shown
below. This includes the standard manpower, tax and turnover rates.

COMPANY CONFIDENTIAL
FIXED INVESTMENT CONSTANTS BY ASSET TYPE
BLD

LI
TAX LIFE
TAX CREDIT

25.00 35.00
7.00

7.00

TE

TL

PEA

NPE

7.00 20.00 20.00

6.50

9.25 13.00 18.00

2.25

4.67

4.67

7.00

0.00

7.00

7.00

SE
7.00

GI

OTH

7.00

DOLLAR RATES PER MAN YEAR
DESIGN

DE-BUG

DIRECT

I NO IR~CT.

IND-TECH

MAINT

2665

1757

3150

2746

1575

3780

MISCELLANEOUS CONSTANTS
INVENTORY TURNOVER RATE

A

2.00 B

1.00

INVENTORY CARRYING COST RATE 1.7 PERCENT
EMPLOYEE BENEFITS RATE 2 PERCENT
PRODUCT LIFE FOR RECYCLING

2.00 YEARS

FEDERAL TAX RATE 50.0 PERCENT
STATE TAX RATE 5.0 PERCENT
CAPITAL GAIN TAX RATE 25.0 PERCENT
COST OF CAPITAL 1.5 PERCENT

31

lI'~,

\'-.;/'

IBM

(ORIGINAL)

ECONOMIC EVALUATION

PROJECT NO.

YEAR

DATE

ECONOMIC tlf'"E

DESCRIPTION

LLLJ-Ll_l
COST COMPARISON

RECYCLE

COST REDUCTION

OR

D

D

NOD

YESD

r---r---------------,T--------,r-----------------PREPAID
INSURANCE

INVENTORIES

CURRENT INVESTMENT

PREPAID
RENTAL

OTHER

---------+---------t------- - -------------- r---LAND
IMPROVEMENT'S

.LAND

TEST
EQUIPMENT

BUILDINGS

II--------+~----------------

---------- -- --- ----- -------------

FIXED INVESTMENT

P:g0'I~~~Ir5'+'
A

ACCESSORIES

--- - - -

---

NON PRODUCTION
EQUIPMENT

----------------

--------

INVESTMENT EXPENSE

P

DESIGN
(MAN YRS)

--- ---- ------

SPECIAL
EQUIPMENT

GENERAL
INSTALLATIONS

-

-

--

OTHER

-----------------------,I---------f-----------

DEBUGGING
(MAN YRS'

PROTOTYPE

PRODUCTION
EQUIPMENT

--- ------ ------1----------

o
R

TOOLING

-- - -1 ---- ---

TRAINING

REMOVAL
REARRANGEMENT
&: INSTALLATION

OTHER

- - - - - 1 1 - - - - - - - - - - - ------ ---

----1"
I

I-----------------H-------I:----I--------------- f------------l -------+--------1-----------1--

R

DIRECT LABOR
(MAN YRS)

E

INDIRECT LABOR
(MAN YRS'

--------r-----: ____ --f--------- -

--

E

ANNUAL CASH

T

OPERATING EXPENSE

NI~~~NS~~~~RT

-,--------

S

N

INDIRECT TECH-

RENTAL
EQUIPMENT

FLOOR
SPACE

OPERATING
SUPPLIES

---T----

------~---- - - - - - - 1'---+--------+-_..L

REBUILD/OR
OVERHAUL

REWORK

VENDOR
SUBCONTRACT

EXPENSE
TOOLS

----+-----------i--

-

LEASES

I
-- -- - - ------+---------+-1

TAXES

UTILITIES

WRITE OFF
OF FIXED
ASSETS

DEPRECIATION
ON RETAINED
ASSETS

SPOILAGE
AND SCRAP

INVENTORIES

PREPAID
INSURANCE

PREPAID
RENTAL

---------

-

------

---

OTHER

----- ------ - - - - - - - - + - - - - - - - - - .

I------------------tt-------------- ------

CURRENT INVESTMENT

MATERIALS

--------

-------------- ----

ANNUAL EXPENSE OR
GAIN SUBJECT TO TAX

MAINTENANCE
(MAN YRS)

- -

SALE OF
FIXED ASSETS

INCOME

--------------- j -

OTHER

-----

---- -----

1---------------#---------+-------------- ------ ---- ------- -------LAND

LAND
IMPROVEMENTS

BUILDINGS

PRODUCTION
EQUIPMENT

TEST
EQUIPMENT

11------------+------------ r--.---------

FIXED INVESTMENT
B

- - - - - - - - - - - - r - - - - - - - - - ------------

PE'6°J:~~~~OTN
ACCESSORIES

--+----

NON PRODUCTION
EQUIPMENT

SPECIAL
EQUIPMENT

INDIRECT LABOR
(MAN YRS)

INDIRECT TECHNICAL SUPPORT
(MAN VRS)

o
R

INVESTMENT EXPENSE
T

P

:

:

R

DIRECT LABOR
(MAN YRS)

o
p

1

o
S

~

ANNUAL
E

C~SH

OPERATING EXPENSE

RENTAL
EQUJPM_ENT

,

;
FLOOR
SPACE

I
REWORK

11------------------------

MAINTENANCE
!MANYRS'

MATERIALS

OPERATI NG
SUPPLIES

:
I

REBUILD/OR
OVERHAUL

VENDOR
SUBCONTRACT

EXPE_NSj-TOOLS

----+--------+------

II-----------+-----------r-----------+---------+---------f---------~

ANNUAL EXPENSE OR
GAIN SUBJECT TO TAX

LEASES

TAXES

UTILITIES

OTHER

WRITE OFF
OF FIXED
ASSETS

DEPRECIATION
ON RETAINED
ASSETS

SPOILAGE
AND SCRAP

SALE OF
FIXED ASSETS

32

INCOME

The fd lowing facsimi Ie output contains:
1)
2)
3)
4)
5)

Pro ject designation
Cost summations for each alternative
Differential Cash Flow; INV or SAV, and DISCOUNTED VALUE
Calculated RATE OF SAVINGS, and
PAYBACK period

SAMPLE PROBLEM

FINANCIAL IMPACT LIFE 8 YEARS

PROJECT NO 0000373-03

DATE 112763

RECYCLED COST REDUCTION

ALTERNATE A

ALTERNATE

(3

a

0

XED I NVE STt-1ENT

18000

36675

INVESTMENT EXPENSE

1114

2880

99739

40412

118853

79967

INV OR SAY

DISCOUNTED VALUE
8169

CURRENT INVESTMENT
f

J

OPERATING £XPCNSE
TOIAl PROJECT COST
YEAR

CASH FLOW

1964

OL

11092

INV

11092

1965

FB

5680

SAY

5680

1966

FB

5333

SAY

4400

1758

1967

OL

91.7

0

0

1968

FB

7142

SAY

7142

1548

1969

FB

5281

SAY

5281

8L~3

1970

FB

9771

SAY

7975

937

1971

OL

1823

0

0

TOTAL

FB

19345

SAY

j

19386

RATE OF SAVING IS 35.8 PERCENT AT A COST OF CAPITAL OF 1.5 PERCENT
PAYBACK IS 4.1 YEARS

33

3081

Many advantages accrue from the use of the program; some are listed below:

c

EXPED ITES APPROPRIATION REQUESTS
PROVIDES RAPID RESULTS
COMPARES VARYING INPUT VALUES (Variable Planning)
COMPARES VARIOUS ECONOMIC LIVES
COMPARES VARIOUS CONTROL DATA RATES
INPUT FORM PROVIDES COMPREHENSIVE CHECK LIST
REDUCES USER TRAINING
ACCURATE COMPUTATIONS
CONS ISTENT TREATMENT
ANNUAL IDENTIFICATION OF COSTS
HELPS AVOID SURPRISES
INCREASES ECONOMIC AWARENESS IN USER
STRENGTHENS USER1S FINANCIAL ARM
SEPARATES COSTS (Relevant - Irrelevant)
SPOTLIGHTS IMPENDING FINANCIAL TROUBLE

0,
34

As with every technique there are some cautions which must be observed,
in order to obtain valuable output. These are listed below:

c

APPLICATION
EMPHASIS
I LLUSORY SECURITY
I NTERPRETA TlON OF RESULTS
NECESSITATES GOOD JUDGMENT
The program requires the following computer configuration:
1620 CPU/20 K MEMORY
1620 FEATURES
AUTO DIVIDE
The prime financial objective of business is to increase wealth. This requires
effort in two directions; first, the minimization of cost; and secondly, the maximization of profit. This program is primarily a cost minimization model, using a
detailed listing of the project associated costs, however, it may also be used to
evaluate profits by entering project incomes as lumped yearly sums.
Using the newest financial evaluation techn,iques, and data processing
capabi lities, this program gives better answers to old questions. It is not meant
to make management decisions, which must include many factors not considered
by the program, i. e. technical feasibility, certainty of estimated input data,
concurrent project experience and displacement. It does provide the engineer
or analyst with a strong tool for evaluating the economics of projects under·
consideration, and thus proves a valuable adjunct to the studies of technical
feasibi Iity.

APPENDIX I
The following figure illustrates recycle depreciation, which the program can use.
This method of depreciation is used by some firms in the rental business. It serves to
defer tax credits into the future so they will parallel the income from the product.

c
35

o

o
1

2

3

4

Investment Tax Life
Depreciation for $100 Investment 40.00 30.00 20.00 10.00 Recycle Depreciation for$40 over 6 Years

11.43

9.52

7.62

5.72

3.81

1. 90

8.57

7. 14

5.71

4.29

2.86

1. 43

5.72

4.76

3.81

2.86

1. 90

0.95

2.86

2.38

1. 91

1. 43

0.95

0.47

Line 5

19.05

14.29

9.53

4.76

1. 90

0.47

Line 6

YEAR

Recycle Depreciaticn
for $30 over 6 Years Recycle Depreciation for$20 over 6 Years
.... ..

--

w

0'\

5

6

7

8

9

Line 1
Line 2
Line 3
Line 4

~ ~.--, .....

Recycle Depreciation
for $10 over 6 Years ......- --_ Total Recycled Depreciation Values NOTE: 11.43 18.09 20.48 The$100 investment was first depreciated over a four-year tax life of the
investment (Line 1); then each yearly amount from Line 1 was depreciated
over a six-year tax life of the product (Lines 2 through 5). These values
were accumulated in Line 6, which represents the total yearly recycle
depreciation values.

Recycle Depreciation {Dollars}

GLOSSARY

CASH FLOW
A chronology of the yearly totaIOutlays,.andFlowbcicks,'.or
Investments and Savings of cash.
:CONVENTJONAL CASH FLOW
Cash Flow with De,fe'fred Investments're,con,cHe,d..
COST COMPARISON
Evaluation method in which .both projects"areunderte,ntafive
,cons ide rat ion.
COST OF CAPITAL
The inte rest rate at which the ,company can obtaJn:the ,use> of
capital.
COST REDUCTION
Evaluation method in which the base project (A) Js .pre,sently
, in use.
D.EFERRED INVESTMENT
Flow,.
FLOWBACKS (FB)
Differential receipt of cash because of implement.iI19proie,ct
FULL DISCOUNTED CASH FLOW
Present values of all CashFlowlnvestments . .and£a,v.;ings (Cash
Flow discounted to present date at Rate of S.aving~J.
INVESTMENT (INV)
Cash Flow Outlays with Deferred Investments ,re c,onc He,d.. ,
NON-RECYCLE DEPRECIATION
Conventional,single depreciation,t.e,., ,sum of t;beyaQr~-s~:;
digits, stra ight line ,or doublestrciight line ,dec\:i;ri'ing"balance.,
OUTLAY (OL)
Differential payment ,of cash he cause of i"1pl,emen,fiQ9 ,p.fp.iect;
RECYCLE DEPRECIATION
A double depreciation method used ,by some finns Jnthe"re,ntal

SA YIN GS (SAY)
Cash Flow Flowbacks wHh Deferred,investmentsre,'conclled.

37
....

-.--~---~----

... - ... --------

----~

ttrz

C4D
An Operating System Built Around PDQ
by
J. Grant*, G. F. Lilly**, F. H. Maskie11***, M. L. McAteer****

ABSTRACT

C4D is a PDQ operating system for the IBM 1620. It
provides for batch processing a mixed group of compilation and
execution runs. It .permits storage of programs and data on one
or more 1311 disk drives. Segmentation of programs is possible
under C4D. A superior set of diagnostics has been included as
part of the system.

* Junior Research Mathematician, Jones & Laughlin Steel Corpora.tio~l
** Resea.rch Supervisor, Jones & Laughlin Steel Corporation
*** Computer Supervisor, Pennsylvania Transrormer Division or the
McGraw Edison Company
**** Research Physicist, Jones & Laughlin Steel Corporation

38

THE C4D OPERATING SYSTEM

C4D is an operating system built around an extended
version of PDQ FORTRAN.l It is written for the IBM 1620 with a
1311 disk file, indirect addressing, and the special instructi.ons
TNS, TNF, and MF. C4D will also utilize a second disk drive and
the 1443 printer if these are available. It is self adapting for
any core size~
C4D consists of the following programs:
1.
2.

3.

4.

5.
6.

The
The
The
The
The
The

statement scan routine
diagnostic routine
compiler routine
class A subroutines
relocatable subroutines
executive routine~

The statement scan routine rea.ds each source program
statement, removes the blanks, determines the type of statement
a.nd stores this information on the disk for later use by the
diagnostic and compiler routines. After it has read the en~ire
source program it calls the diagnos tic routine from the dis,k.
The diagnostic routine is a modified version of the 40K
FORTRAN II Di.agnostician. 2 The modifications accommodate the
differences in language between FORTRAN II and PDQ FORTRAN, permit
the use of the 40K Diagnostician on a 20K machine, and incorporate
the Diagnostician as a routine wit'hin C4D. If the diagnostic
routine finds errors it punches or prints error messages, lists
the entire source program on the 1443 if available and calls the
executive routine from disk. If no errors are found in the program
the diagnostic routine calls the compiler.
The compiler routine is a modified version of the original
C2 processor for PDQ.2 Error messages have been eliminated as these
are now handled by the diagnostician. ACCEPT and IF(SENSE SWITCH)
statements have been eliminated as they have no place in an operating system designed for open shop programming and closed shop
operation. The ability to. segment programs has been added to avoid
core size limitation on program length. More symbols are permitted
since the compiler routine occupies less core storage. The length
of integer variables is now ten digits. This allows integer arith~
metic in the c'omparison of alphameric fields. Finally no object
decks are produced, since C4D obj ec tprograms are stored temporc{ri ly
or permanently on the disk.
The class A subroutines are little changed from '~heir .
PDQ ancestors. They do detect undefined symbols at run time and,
in this event, return control to the executive routine. The relocatable subroutines have real or integer values according to
their initial letters. They include all the original PDQ

39

Ie)

relocatables, an absolute value routine for integers, a random
number generator, and the MOVE routi ne 3 for disk seek, read, and
write operations. The LOG subroutine is now called ALOG since it
is a real function.
The executive routine determines the nature of each job
from a control card. It then loads the appropriate system routine
or object program from disk. It acts as librarian for programs on
disk, it loads and relocates the relocatable subroutines, it
controls dumps to disk or printer, and it prints headings and
dates for each job. Finally it permits automatic exit from the
Speed comparisons with other systems will only be possible
after extended experience with C4D and will vary for different jobs
and for different machine configurations. Unlike the IBM MONITOR
sys tem, C~D ha~ ___ ~()_"_"2~~~~_~?:g1]"r9~._"§"~~"~~~~L~~.!l.E~_§.g~. __p'~ograms and does
not permi t separate compi la tion of subprograms wi th lo-c"al- variab Ie
names and statement numbers. These limitations, however, must be
balanced by important advantages for the instal1a,t:LQJJ which runs
mainly FORTRAN programs. The system uses only 4% of the disk and
the rest of the disk may be divided into program storage and working
data storage, to suit the needs of each particular installation.
The use of a second disk drive is readily enabled at system load
time. In a two drive system, one drive contains only working data
storage, and the other only systems and users programs. Other
advantages of C4D are the efficiency of core utilization and the
speed of disk operations for program segmentation and for data
storage.
When C4D is submitted to the Users Group Library, the
documentation will consist of three manuals for three distinct
groups of readers. The Users Manual defines C4D as a programming
language for users with a basic knowledge of' FORTRAN. It describes
those control cards of interest to the user and lists all error
messages. The Operators Manual describes the control cards needed
the system, and interrupting the system for dumps. The S¥§J;em~
Manual is written for systems programmers who wish to correct,
e)c-t-e-nu,--or generally modify C4D itself, or who are just curious
about how someone else constructs a system.

o
40

REFERENCES
1.

F. H:.' Maskiell, "PDQ, FORTRAN", U. G. Library Program
1620-02.0.031.

2.

J. Sriediker, C. T. Snyder, Jr., J. W. Burgeson, "FORTRAN II
DIAGNOSTICIAN", U. G.Library Program 1620-01.6.019.

3.

Ma:ryLynnMcAteer , "MOVE", 1620 Users Group Newsletter, Volume
2, ,No.5, p. 4, October 1964.

ACKNOWLEDGMENTS
The authors gratefully acknowledge the contributions of
many friends and colleagues.
John Burgeson of IBM whose FORTRAN II DIAGNOSTICIAN provided the original basis for the C4D diagnostic routine. Lawrence
POwell of Pennsylvania Transformer for the dump .... to-disk routine.
G~brge Moesta of Jones & Laughlin Steel Corporation for his printerdump routine. James Taylor of Data Corporation for a faster routine
for' the compiler symbol table scan. Dick Pratt of Data Corporation
f6r his preliminary version of 1443 AFIT SPS which was used exclusively in assembling the system. Manfred Fleiss of Jones &
La,ughlin and Joseph Smi th of the RAND Corporation for contributions
to 'the sample procedures. John Holmes of Cooper-Bessemer, stewart
Lee and James Field of the University of Toronto, and Donald Jardine
of-d.uPont of Canada, for their suggestions built into the original
PDQ. Ja:ck 0 'Keefe of American Bridge for the REREAD feature.

"f

41

WISCONSIN ACCOUNTING LANGUAGE
Mr. Craig MacKenna .
Computing Center
University of Wisconsin-Milwaukee

C"\
,)

(SLIDE)

Language.
COBOL.

WISAL, W-I-S-A-L, stands for Wisconsin's Accounting

WISAL is a key-word compiler, similar in this respect to

The source language involved is similar to current account-

ing language.
WISAL is natively a 1400 series system, the language having
been devised and the first processor written at the University of
Wisconsin Commerce Data Processing Center, by Mr. Richard W. McCoy
and associates, for an IBM 1410.

Potentialities are also inherent

in the WISAL language for its use as an applications system--usefu1
to business and industry as a system permitting their accountants
to handle every day accounting transactions by computer with an
absolute minimum of programming or computer familiarity.

Emphasis

in this talk, however, is on use of WISAL as an educational accounting system.
WISAL was first used at the University of Wisconsin
ductory accounting courses in spring of 1963.

in

intro-

The University of

Wisconsin-Milwaukee (hereafter referred to as UWM, while Madison
as UW) first used WISAL in the fall of 1964.

The fall 1964 pro-

ject at UWM involved approximately 200 elementar.y accounting students.

The fall 1964 project at UW involved about 300 e1ementar.y

accounting students.

(SLIDE)

B.y fall of 1965, the UW Commerce

o
42

Data Processing Center

~ntends

to publish a book, dealing with

the use of' WISAL as an educational accounting system.

It will

deal mainly with the use of' WISAL on the IBM 1410, but acknowledgement will be made of the fact that there is a 1620 WISAL.
Since the book should deal only with source language considerations, it should be completely compatible with 1620 WISAL.

Avai1-

able f'rom UWM will be a supplement to the book discussing things
about 1620 WISAL which are different from 1410.
As

tem.

p'reviously mentioned, WISAL is natively a 1400 series sys-

Its very purpose and form of output are indicative of 1400

series inf'luence; however, a joint University of Wisconsin-Madison
and University of Wisconsin-Milwaukee venture into producing general 1620 WISAL compilers has been undertaken in the knowledge
that many schools who will be interested in using WISAL as an edu..

cational accounting system have a 1620 at their disposal.

This

talk deals with UWM WISAL-D, a disk-oriented version of WISAL.
We hope to have a non-disk version ready by fall of 1965. Naturally, the specif'ics will change in the non-disk version, but
the source language should certainly remain the same.

Either of

these two versions will work on a basic 20-K machine; that is, no
automatic floating point or other special features.

The version

with which we are specifically concerned today, that is the D
version, the 1311 version, should work on either a Model I or
Model II, under Monitor I or Monitor II; it can use a printer;
it does not use index registers, but on a Model II they will be

43

. _ - - - - - - - _ . _ - - - - .....

__ ._. __....._ . _ - - - - - -

~

, nTI:

o

! it

turned off.

We hope to have the 1311 version in the library by

July of this year; the non-disk version in the library by September.

1620 source listings will be available from UWM, the li-

brary, and I believe I have some with me.

Also there will be

source decks and object decks for the processor and one problem.
There will be a programmed solution for that one problem, the
only one which has been written to date--The Wholesale Paper Company.
In a sense WISAL is a rigged system.

Any problem to be run

under it by students has to be completely worked out in advance;
that is, it has to be handled by normal accounting means and the

This must be done because in WISAL

there is the capability to produce for the accounting instructor
at a later date a log of the errors made by his students running
under the WISAL system.

This error log is stored on disk in a

permanently assigned area to be dumped by a separate program
called WISLOG at such time as the instructor should desire a
block of results or at such time that the permanently assigned
area is filled.

The instructor can do with these error lists as

he sees fit; he can give them to his students as an aid in debugging or correcting their

programs~

or he can withhold them from

the students and possibly use them as an aid in grading the student in his project.
Once the accounting problem has been worked out and coded in

SPS in a format acceptable to the WISAL processor, it can be stored

44

on disk under Monitor like any other program or data block.

At

execution time lfISAL can call any of several problems; that is,
1620 WISAL-D has multiple problem capabilities.

It can handle up

to four disk-stored problems under it at any given time.
:for the' WISAL systems is

c

Input

cards; output can be either card or

vi~

printer under the control of a control record.
(SLIDE)

This is a :full VlISAL output.

logically into :five parts.
o:f the source program.

It can be divided

Here, the :first part, is a print-out

(SLIDE)

This particular output is a sim-

ulation of that produced by a 1620 having a 1443 printer attached
and printer output speci:fied.

With a card system, this phase of

output is eliminated; there being no purpose in just duplicating
t"he source program.

However, even under a card system, this pha,se

of output is represented by a punch-out of a copy of any card containing a source language error, followed by a diagnostic error
message.

(SLIDE)

This second phase of output is a print-out o:f

the reference section, as it is called.

To each of the source

language routines as written out above is attached a label.

The

student then sets up these labels in an array; the first field of
the first line of this section being the label of that routine
~

which the student wants to have handle transaction one.

The sec-

ond field on the first line is the label of that routine which the
student wants to have handle transaction two, and so on through
the complete set of transactions involved in the problem.

Again,

the outputting of this section is eliminated under a card output

Q
45

$=i t t ' im rl irtHts system, but is still represented by diagnostic messages and punchout of cards having errors--such errors having to do with the application of source language to particular transactions--a routine inappropriate to the transaction. (SLIDE) ledger. This third phase of the output is that of a general This is output underelther the card or printer system, that is, after the source program has been run in and executed. (SLIDE) Directly following this is the fourth phase, the accounts receivable trial balance. The fifth phase of output is, below here, an income statement: the figures here b.eing derived from the particular accounts in the preceding phase. (SLIDE) The format of output in all phases and the assignment of particular amounts so as to derive this income statement and the following balance sheet is done completely under system control. (SLIDE) The sixth section is the balance sheet for this theoretical company and month--a page of assets and a page of liabilities. All the editing and formatting being done by the program in this printer version. (SLIDE) Most of the editing is still being done by the computer in the card version; however, with the card version, for this neat appearing type of output, the print-up should be subject to a 407 board split, the split being quite simple to set up. lJ:he last little line of the output --"BINGO"-- simply means that the student has "balanced the bOOkS". You will notice that this comprises quite a few pages of output. On a card system a program having no source language errors 46 =====iJiAAAiMUu;a: ,."'" will punch about 275 cards, of which about forty will be blank. The criteria on cutting off the 275 card output is made variable. (SLIDE) language. C Now let us turn to the specific form of the source As mentioned before, this source language is similar to that used in current accounting practice. Here is one typical WISAL instruction, or typical WISAL sentence as it has come to be called: "DEBIT ACCOUNT 1111 BY AMT 1." This is the most basic one can get in a WISAL instruction" and no other instruction is really much more complex. All WISAL sentences start with a verb" DEBIT or CREDIT; an object, such as 1111 here--i.e. an account number, the account numbers being in the booklet which each student would have; and third" the AMT. The idea of using AMT 1 and ANT 2, etc. (they go up to AMT 9 in the 1620 WISAL system) to represent fixed fields in each transaction produced certain difficulties in the running of student programs. It had to be explained, either through the write-up or through individual questioning and answers" what each AMT represented in each transaction. tain rules were set up for "amountingfl". Thus" cer- If a transaction for the month involved a cash amount, it was referred to as AMT 1; and if it involved a discount, it was referred to as AMT 2. (SLIDE) An alternate coding to solve some of this difficulty is now seen here: "DEBIT ACCOUNT 2113 BY CASHAMT" (CASHAMT referring to the amount of the cash payment or disbursement which is involved in the transaction). The three nmemonic AMT codings which have been developed are this CASHAMT, DISCAMT, the amount of a discount, 47 - - _•• _ . _ - - -...... _-.... ~---.- .... -.~.-----.---- .... -~ ...- ..... -.~- o and VOUCAMT, the amount of a voucher. If there are ever amounts which cannot be classified strictly as cash, voucher, or discount involved in the transaction, you have to go back to the numeric system. (SLIDE) This slide illustrates two flexibilities of the WISAL language. First of all, as in this line, you have the ca- pability of saying CREDIT (CUST), that is, credit the account of a particular customer. The particular customer's account number, if any, involved in each transaction is stored with the transaction under the WISAL system, and thus the processor compiles instructions to pull this address, or account number, out of the transaction and then operate upon that. is the main illustration: The rest of the sentence (AMT 1 + AMT 2). This routine handles transactions involving a discount where it is desired to credit by the sum of the two amounts. this all in one instruction. Thus, we have the facility to do (SLIDE) Plus and minusing of amounts can also be done in words, as you see here: PLUS DISCAMT." "DEBIT 1311 BY CASHAMT One could also have the word MINUS as an al terna- tive to the minus sign. (SLIDE) A further illustration of amount flexibility: 4111 BY AMI' OF THE CASH PA'DIENT MINUS AM'!' 2." "CREDIT Here the idea of key-words comes into specific focus, aside from comments which could be to the front or to the rear of the sentence; that is, the idea of the key-words within the actual sentence. The key-words here are CREDIT, the four numerics in a row, 4111, and the key- o words in the latter half, the amount portion: the word AMr, the 48 ..-m" .... word CASH, (the words OF and PAYMENT being nonsignificant) and the word AMT 2~ One thing not permitted is 2 AMT; that becomes a bit sticky. You will notice here, and it has been brought to me as a criticism of this type of coding, that one variable or quantity is represented by a spread-out, noncontiguous group of symbols--AMT OF THE CASH PAYMENT, AMT and CASH going together to refer to one quantity. The criticism is that no other language does this, and that in an educational system you are trying to illustrate other languages. I think this type of coding is a nice feature, and if you agree with this criticism, there are always the CASHAMT and DISCAMT codings, which are handled the same way but which can be placed contiguously. (SLIDE) This is the present extent of the WISAL language. Here is a general chart of the key structure of the WISAL sentence. .1 There is the verb DEBIT or CREDIT, the object, four numer- ics representing a general account or the word (CUST) representing a particular customer account varying from transaction to transaction, and the various codings for amount--plus or minus AMT I through AMT 9, CASHAMT, DISCAMT, and VOUCAMT, or AMT •• CASH, AMT •• DISC, and AMT •• VOUC. Possible future expansions include amortization subroutines, multiplication, literals--any features which could be of use in advanced accounting. But presently, since it1s being used in an elementary accounting course, this 1sa11 that is needed. 49 -- --- ....... -.-------.. -.----~------.------------------~-.- o () This then is one WISAL sentence. put together to ~orm A group of these may be a routine or subroutine. columns 8 through 11 which comprise a label. The key here is In processing, any card which does not have a label is assumed to be part of the previous routine: automatic continuation cards, so to speak, if you are thinking of FORTRAN. Or if it has the same label as the card or cards immediately preceding, it goes t1i th the same routine. Only a different set of characters in columns 8 through 11 than those on the previous card having characters in columns 8 through 11 constitute a new routine. The routine may thus be as long as desired. (SLIDE) The first part of the card, columns 1-6, is a page- and sequence number. These page and line number aid the computing installation and the stUdent in correcting the program and prove invaluable in a project involving two to three hundred stUdents. Column 7 has traditionally been treated as comments indicator: if there is anything in that column, the card will be treated as a comment. This procedure has been expanded by several features which attempt to give the student a grasp of a flow of control through his program. If this was a WISAL coding form, you would see above the label columns, the words "if TRAN TYPE", and to the right of that, above the instructions, the word "THEN". (SLIDE) At the start of the student program, as you see here, there is a line with the word "START" in columns 7 through 11 and words "READ TRANSACTION" through the instruction section, followed by a card 50 "END {the lette-r E being in column 7) GO TO STATEMENT-PREPARATION". This gives the student sense of control: after all transactions have be:en processed, go to statement-preparation, go to prepa:ring the output. (SLIDE) are two more lines. Then, at the end of the source program, there The first has the word "ERROR" starting in coltunn 7; if error, then go to "CODE-NaT-FOUND", which is simply a diagnostic if you haven't matched the label appearing in the reference section w'ith one in the source program. After that, the line "GO TO START", implying a loop and a flotV' of control through the program. (SLIDE) The concept that the student can vlork under is that execution starts at the top card--read a transaction. If all transactions have been processed, go to statement-preparation; if riot, run through a sequence of "if tran type this then do that" --if tran type A5 do this, if tran type B7 do this, "if error go to code-not-found", and "go to start". This gives the student a concept of basic programming not otherwise found in a WISAL system vrithout these features. However, since there is something in col- umn 7 of each of these cards, they are actually treated as conunents and are only used to give the stud.ent a sense of function greater than he would otherwise have. The output can be produced upon having read the last card, the TrI'LE card. This card gives the student's name, section, name of instructor, and whatever else the student wishes to have punched thereon. Actually, execution is done as the reference cards are read in. Then, based on the number of source language errors and (} 51 o reference section errors that were made by the student, a decision is made as to whether to punch out the rest of these cards. If a source program is particularly bad, there is no reason to continue on and punch out the full output. But, if the number of errors is less than that specified by the instructor, the computer continues to punch or print the full output. (SLIDE) I have mentioned the possibility of instructor pre- coding transactions. This is done by control records. trol records are in this slide. The con- There is a control record *PRINTER specifying that there is an on-line printer. A *PRECODE record' sets the beginning total debits and total (!redits of any general ledger account or receivab1e suoledger account to two specified values as to the right. To go with this is a *PRECODED record specifying that you are precoding particular transactions, as here you are precodinG transactionG 1, 7, 18, 22, 87, 88, 101, 102, and 124. The number of transactions in the Hholesale Paper Company program is 125. There is also one other control record, a *CRITERIA card, the four fields to the right representing the number of source language errorr:; and reference section errors, of bad inclusion and omission, to be judged as the cut-off point for a full output. (SLIDE) a shot of the There:is one more slide vlhich vTe have here. aforemE~ntioned This is error-log dump vrhich the instructor can receive and do with as he pleases. You will notice in this error-log a copy of the title card, the number of the four types o o of errors, and the magnitudes of the errors in total debits and total credits for each account which was different from that in the precoded problem. 1620-WISAL-D processor. This then is' the WIsAL language and the Thank you very much. c 53 p. W· ~ o 1620 SUPPORT FOR A DOCUMENT WRITING SYSTEM* C. M. Thatcher Pratt Institute, Brooklyn, N. Y. ABSTRACT A primary use of the IBM Document Writing System is to prepare individually typed form letters from punched card input" Special characters are used to initiate tabulation, carriage return, shift to upper or lower case, etc. The insertion of these characters into the punched input for the letter itself is not difficult, but the punching of name-and-address cards requires concentration. A 1620 program which circumvents this problem is now in use. In addition to inserting all necessary control characters, the program expands a substantial number of abbreviations. As a consequence, name-andaddress cards can be key-punched fasterthan the full name and address can be typed by hand, and c;an be used for both inside address and envelope address if desired. The paper briefly describes the 870 System and its plugboard wiring for this application indicates particular control symbols found to be most suitable, and cons iders the role of the 1620 in some detail. I * * * * * * Paper presented before the 1620 Users Group Meeting in Miami Florida, May 10, 1965. o 54 I - ------ •• --~'.j''''''_--i_--_t '''~roiiijj''.1_ _fiiJ"""'-"''Miii''-'·'~iiiiiI''·-_1iiI1iiiiiI1_'jFS_1:_-'--~----'--"'"'''~''''-~~~~-- ---, I 11:1 ',I The IBM 870 Document Writing System is essentially a data converter. The fully complemented system provides 18 different input-output combinations such as paper tape input to punch card output punch card input to typewriter output, etc. The latter combination is particularly useful when a number of form letters must be individually typed: Punching the letter into a deck of cards makes it possible to produce as many copies as may be desired by the punch-card-to-typewriter combination--quickly, accurately, and with only intermittent operator attention. o I Control over such typewriter functions as tabulation, carriage return, and case shift is exercised through control panel wiring. Each of the 12 special characters available via key punching (see Appendix 1) produces a pulse at a particular pOint on the control panel when it appears as an input character. This pulse may be routed by wiring to any desired typewriter control function or typewriter special character key, to obtain almost any desired output format. For example the control panel might be wired to make the -typewriter carriage return whenever an nat" sign is encountered on an input card, while an equals sign might be used to cause the first letter of the following word to be capitalized. The need for an equals sign in the output document creates a problem in the latter event, but the typewriter keyboard and control symbols in use at Pratt Institute provide for a full range of output special characters, including the record mark. I A brief consideration of pertinent keyboard and control symbols should be of some interest and will be helpful when the part played by the 1620 is discussed in due course. First, note that the left and right parentheses appear twice in the keyboard listing in Appendix 2. This duplication led to the decision to use the leftparenthesis to shift the typewriter to upper case and the right parenthesis to return it to lower case . Thus punching ill, for example, yields a question mark on the output document. Significantly, left and right parentheses can be typed by punching ill and ill, respectively, making output parentheses fully available despite their input use as control symbols. Similarly, the equals, at, and record mark signs can be typed by punching .i±l, U, and.el, respectively. The corresponding input characters are thereby made available for control use, and the "at" sign is used for typewriter carriage return. The equals sign is used to shift the typewriter to upper case for the next input character only. This is a matter of convenience only it being simpler to punch =A than (A) for the same result. The input record mark is used for various purposes which will be explained later. I 55 c • o The next step was to take advantage of four two-position latches on the 870 control panel. Depending on latch position a given input character can be used to produce either of two different results. Latch position can also be controlled by punched special characters and the left and right parentheses were selected for this purpose. This gives these symbols a dual function but the two consequences are not incompatible. I I I Through the use of latch wiring a punched i:l causes typewriter tabulation (whereas - alone causes - to be typed); 1=. halts the operation pending operator intervention; and J.L ejects the card being read. A summary of the function of all special characters appears in Appendix 3. Note the use of the slash by itself for a second convenience function namely a s pace followed by upper case for the next input character only. I II II I A sample output letter is presented in Appendix 4 and the corresponding input card listing in Appendix 5. It can be seen that the special control symbols do not appear so frequently as to require extreme concentration during punching. Furthermore it is possible to have a model copy of the letter typed at the same time that the input punch-card deck is being prepared. Any punching errors thus become immediately obvious and can be corrected on the spot. I I The preparation of punch cards bearing name and address and a personalized salutation is something else again as can be seen from the examples in Appendices 6 and 7. With control symbols appearing so frequently errorfree punching is difficult even with intense concentration thereby making the punching of name-and-address cards a slow process. It was therefore decided to investigate the possibility of writing a 1620 program to take over the burden of inserting pertinent control symbols into symbol-free input cards. Initially, the program was intended to I 1. I ( 1) Replace any input double b13nk (used to signal the end of a typewritten line) with an "at" sign to return the typewriter carriage; and (2) Insert an equals sign before any alphabetic character at the beginning of a line and replace any blank preceding an alphabetic character with a slash thereby effecting capitalization. I Although these steps would greatly facilitate the punching of a source deck" it quickly became apparent that an even more extensive-use of the 1620 would be extremely advantageous. The program as originallyenvisioned was therefore successively expanded until it now provides for the following in addition to the two basic purposes cited above: II I ( 3) An M IF, S,D, P or R in column 1 followed by a blank in column 2 is automatically converted to Mr. Mrs., Miss, Dr. Prof., or Rev., respectively by the 1620. I I o I (4) lIand Mrs." can be inserted after any of the foregoing titles if desired, using program switch control.: 56 ( 5) Source cards are punched with last name first thereby facilitating proper alphabetic sorting and filing. The 1620 program reverses the order to obtain the desired output form. I. (6) The 1620 generates a personalized salutation from the input last name and specified title and adds this to the output object deck. Thus it need not be punched into the source card. 1 ( 7) A period is automatically inserted after any alphabetic character standing alone on the source card. ( 8) A zero I, 2, etc. following the input name automatically generates Sr. 1 Jr. 1 II 1 111, etc. I following the las t name with proper punctuation. 1 1 (9) Cardinal numbers appearing as street names are converted to ordinal form; i.e. 18 Street becomes 18th Street. 1 ( 10) The comma separating city and state is inserted automatically. Zone numbers included on the source card are inserted ahead of the comma. ( 11) Input cards in any Single deck can contain up to 100 different two-character abbreviations which are expanded by the 1620 program. For example, ST can become STREET PT can become PRATT INSTITUTE BKS can become BROOKLYN 5, NEW YORK, etc. The fact that the program permits changing the list of recognizable abbreviations is Significant since the most advantageous list may differ from letter to letter. Note that the particular abbreviations selected should not be letter combinations which might have to be used directly as such. 1 1 1 ( 12) Under program switch control, a common first line and/or common salutation can be inserted if desired. Thus DIRECTOR OF GUIDANCE need only be punched once if a number of letters are to go to guidance directors at several different high schools. ( 13) One or more record marks are inserted into the output cards to permit the same cards to be used for typing inside address and salutation, for addressing envelopes or for typing a proof list of names and addresses without operator intervention. I These features of the 1620 converter program greatly Simplify the task of punching input name-and-address data, as can readily be seen from the sample input presented in Appendix 8. As a matter of fact any reasonably competent key-punch operator can now punch the input card considerably faster than a good typist can type the full name and address by hand. 1 The use of the object deck produced by the 1620 program should be fairly obvious: The body of the letter is punched up separately and is 57 .... - . _ - _...-_ .. __ .. - --~- -... ---~--- .. c *0 o headed by a card bearing the date and accompanying punctuation and control symbols only. The name-address-salutation cards prepared by the 1620 are then inserted behind the date -line card, and the complete letter deck is ready to be run. ,;Preparing one or two duplicate' copies of the main letter deck makes it possible to change the name-address-salutation cards in one deck while the 870 is typing from another / with minimum los s of time. On~ final feature of the entire program should be of interest. Since it was anticipated that letter writing would often be supervised by secretaries having no experience in plugboard wiring, it became desirable to use the same wiring for any of the three output uses envisioned--letter writing, envelope addressing / or name-and-address listing. This has been accomplished through the use of a Single header card, into which a single code letter is punched to denote the operation desired. Punching a P / for example / immediately ejects the punched header card and turns on the keyboard / card punch and typewriter for succeeding cards. Thus the machine is automatically set for punching a new letter deck/ with a model letter being typed at the same time. Punching aT/ . on the other hand / turns on the card reader and the typewriter for succeeding cards / yielding typewriter output from punch card input. I Punching an S or a ~ also yields typewritten output from punch card input / but the former brings the operation to a halt when an input record mark is encountered while the latter ejects a card upon a record mark input. Study of the sample input card in Appendix 7 will show that the S punch accordingly stops the program after each name and address is typed, to. permit changing envelopes ~n an addreSSing operation. The:f: punch yields a proof list of names and addresses without pause / as can also be seen from the sample input card. In summary the 1620 converter program has made it feasible to use punch cards for typing inside addresses and salutations addreSSing envelopes/and listing names and addresses. Without the program / the necessary key punching' would be almost prohibitively painstaking and slow; with it / input punch cards can be prepared faster than the same information can be typed by hand. I I It is likely that not very many Users will have an opportunity to put the program described herein to direct use . If the foregoing description encourages others to envision new uses for the 1620, however--uses not directly related to calculation--it has served its purpose. o 58 _ .. - -,.-..... ...-.. ~ -~ .•..--.... _._. I o APPENDIX 1. '. Special chq.racters available via key pl.lnching :' = * / ,+. - ( ) @$ :f:

Typewriter key combinations (in addition to us ualu.pper and lower case
. ,alphabetic characters) :

2 •.

.

,. . #.

.1 '.2

3•

11

3

4

¢
?
567

( ). =
8

9'0

+

?

@" =t:

* /

%
$( ) Special character functions and type-outs: Punched Character Typewriter Res20nse Punched Character ( Upper Cas·e = 1 or (1) Type ) Lower Case =2 or (2) Type # (- ) Tabulate =3 or (3) Type @ Return Carriage =4 or (4) Type =5 or (5) Type ¢ =6 or (6) Type =7 or (7) Type ? =8 or (8) Type ,=9 or (9) Type ( =0 or (0) Type , . . =p or(P) Capital Letter P / Space and Capitalize (= Halt (/ Eject card in process + (Variable) ".:.', .' Ie (@ Type / = - I ) Type @ + Type + Type =+ or (+) Type = Type -----~~ It , Type 59 --- Typewriter Res20nse . C C"'· "I 4• Sample output letter (salutation name to be typed manually) : Dear Mr. Thank you for your letter of May 5. Coincidentally I wrote you on the same date and you presumably already have my views on the matter. I Sincerely yours I Otto McCanick Director OM:ibm 5. Corresponding punch card input (double line at right indicates continuation on same card to fill all 80 columns) : =D2:AR/r\:'IR. (= =3@@(-T)I-LU,TK YOU FOR YOUR UTTER OF/f'1AY 5. /COIN-©CIDENTALLY,/ I ~.-:ItOTE yeU ON THE VIEI"JS ON THE MAT TER.@@(--S)INCEREL bS.l\hE DATE AND YOU@PRESUMABLY AlliEADY HAVE IvIY Y YOlmS,@@£@( --0) TTO/rrC=CANICK@( --D) lRECTOR@§(Or.13) IBM( = o 60 _====a.x:ae:mai,,,i# RPM (Q ;a.lh,,,,.. '-.a *.W44;4 6. Sample output name-and-address, including personal salutation: Mr. and Mrs. John J. Jones 113 E. 45th Street Bronx 18 New York I Jr. I Dear Mr. and Mrs. Jones: 7• Corresponding punch card input: ~=MR. AND/MRS ./JOHN/J ./JONES, /JR .@113/E. 45TH/STREET@=BRONX 1 8 J jNE\ll/yORK@@+=DEA ) )+R/MR. AND/MRS./JONES(3/ 8. Corresponding punch card input to 1620 converter program: M JONES JOHN J 1 113 E 45 ST BX18 c 61 Use ot the IBM Model I for the OF BOOLEAN ALGEBRA EXPRESSIONS ~~LIFICATION Charles A. Plesums ABSTRACT This program is an extension of the method developed by Quine and continued by Hoobert Huhta for the reduction to the simplest second order equivalent of a Boolean Algebra function of the SUMof-products form. In order to carry out the repeated comparisons involved in the process with maximum efficiency, the table-lookup hardware (addition hardware) of the 1620 Model I is used. As a result, a literal ouput can be obtained approximately ten times as fast as by previous 1620 computer methods. This paper is concerned with a summar,y of both the definition of the problem and method of solution as evolved from the Quine method by Hoobert Huhta. and some of the unusual programming techniques used to implement the method. A complete description of the method and techniques can be obtained from the program of a similar name soon to be submitted for distribution by the User's Group. o In the logical design of digital circuits, as used in computers, control s.ystems. and simulation. Boolean Algebra functions are derived from truth tables by means of the simple basic theorem. This form of the expression is usually not optimum for implementation; in other words. a simpler Boolean function can usually be found which performs the same job and is economically cheaper to construct. In 1952 Quine developed a method of simplification that was quite simple and toutine; so simple that it is quite error prone. Basi callZ, it involves the repeated application of the Boolean Identity, AZ+ AZ=A. where A is any Boolean expression. In the interest of conciseness, a review or the Quine method is omitted; such a description is readily available in maqy texts, such as Phister. LOGICAL DESIGN OF DIGITAL COMPUTERS, Wiley, 1958, p. 68. It is not uncommon to represent Boolean minterms in a binary format. In the interest of ca"lserving memory space in the decimally oriented 1620, this binary i8 converted to octal. In the octal fonnat, the condition of three variables can be represented in a single memory location, and the identity ot each of the bariables is maintained. However, in the binar,y or octal form a missing variable is not distinguishable. The Huhta method, therefore, generates a second number, called the set identification number, which represents, in octal form, the eliminated variables. Therefore, a single term in the Huhta process is represented by two octal numbers; the set identification number stating which variables are missing, and the term representing which variables are present in the true (uncomplemented) form. Subsequent comparisons in the Quine process need only take place 62 ·~.\ , C , among those terms that have the same variables. In the Huhta method comparison is executed an~ within a set of terms with the same set identification number. In the use of the Quine method, the same term often evolves from entirely different combination of terms. In the Huhta method the' duplicated terms are eliminated from processing 'by the following procedure. In the comparison process the octal. weight ot the eliminated variable is obtained. It this is great'er than the value ot the set identification number (SIN) ot the terms that were being compared, the process continues like Quine. It the weight of the eliminated variables is less than the SIN, the simplitied term will be one of a duplicated pair, and is not carried to the next level ot simplificatinn. In the comparison process, we s~ the terms combine i t they ditfer in the state of only one variable; in other words if they differ in one binary place. To discover this condition, we must perform a digit-bydigit table look-up. From this look-up, three conditions can evolve: 1) the digits are the same, so the variables are the same, and the lookup may proceed. 2) the octal digits differ in more than one binary place, and therefore the terms are not combinable. J) the digits differ in only on binary place, and the table must yield the octal weight of the place that differs. Note that the terms are cominable only if condition three exists in one and only one octal digit, and condition 2 never exists. To pertorm this table look-up, the addition tables are replaced wi th a combinability table and the terms are added. Condition 1) produces a zero as a result ot the "addition," condition 2) produces a record mark, and J) produces the weight of the different variable. The "sum" is scanned for record marks or more than one digit, which indicate non-combinabill ty • The table look-up and scan, including the modification of the table area, is executed in 7 to 11 instructions, depending on the data. Another major programming procedure is the use of the process that has come to be known as the shift. There are several tables at numbers of which o~ one element is dealt with at a time, and atter it is used, it is never referred to in that array again. Rather than deal with the relatively major programming effort ot address arithmetic and instruction modification, as well as counters to indicate the extent ot the ~, only the first element of the array is dealt with. Atter finishing with the element, a Transmit Record is executed which removes the first element 8llci·:;shifts all the following elements one element closer to the beginning of the array. In addition, the presence of the record mark at the end of the array and repeated in each unused element by the proce •• is used as an indicator of the end of the array so that no count must be maintained of the number of elements present. The present form at the program requires a minimum 1620 model I with card I/O, and can handle problems of 15 variables, 150 minterms, 650 or 800 intermediate terms, and redundant lIinteras,. It produces a literal output and a punched output for use by subsequent programs which have not yet been developed in SPS. The write-up of the program soon to be distributed by the User's Group contains about twenty pages describing the Huhta Method in detail; those interested should obtain a copy. 63 ---~ .~-~~---~- .~~-~~-~~~.~.~---~-~ -~-.~~~~-~~-~-.~--- ! c o Further development 1n the area of programming Boolean Algebra can follow two paths ••• There is a need for a program to select the essential terms and non-essential prime implicants to complete the solution, and a whole new area of research would be the development of a method of simplification to other criterion, such as the cheapest combination of pre-packaged circuits; the fewest number of interconnections, or some other criterion. I I I o I 64 I .1 ·1 ! I I'" ]. o AN APPLICATION -, PLOT A BLOCK DIAGRAM • ", ,~.1 .- .~. ':.;. by 1/ Theod.ore M. Hartz and Susannah H. Young . . . ~ ~. -1/ 1 ,~~ers of the Data Processing and Mathematics Section, ;Rad:lation, Surveillance Center, Division of Radi61pgtcal' "Health, B,ureau of State Services, Public Health Service, Department of Health, Education & We1fare~ Rockville, ~;ry1and. 'Presented at the Eastern Region 1620 'Us·ers Group Meeting May 9-11, 1965, Miami Beach, Florida 65 '~'" C '/ INTRODUCTION The function of a block diagram, as the term is used here, is threefold: (1) To provide the programmer with a means of visualizing, during the developmental stages of programming, the sequence in which logical and arithmetic operations should occur and the relationship of one portion ofa program to another; (2) To become a programmer's tool, serving as his guide and check-off sheet; and finally (3) To go into the volume marked "DOCUMENTATION" and thereto serve as the record used for future modifications and/or reference. The block diagram used in stages (1) and (2) can be rough or smooth, and it can have one or one hundred revisions squeezed in or added on while the program is being developed, written and debugged. But for stage (3), a fine, smooth, complete, and up-to-date block diagram must be produced at documentation time; and this is always a tedious job for the pr,ogrammer. The program here. presented is an outgrowth of stage (3) requirements because the redrafting of detailed block diagrams for an SPS program of over 4,000 instructions had been a,most time-consuming chore for the impa,tient programmers After this job had been completed, thoughts turned to the possibility of having the plotter assist with such labors in the future. 0 A short program was written to illustrate the various geometric figures proposed, showing assorted sizes and proportions along with suggested layouts for printing instructions. Execution on the plotter was a great success; and, after selecting the sizes and scales to be used, work on this program began. Before proceeding further to describe this program, it would be well to divert for a minute to explain that the geometric figures selected are those in use in our office, and for the purposes stated. They are described in a "Reference Manual" which was distributed in May, 1963, to personnel in the Data Processing and Computations Section of the Division of Radiological Health. Three geometric figures are used here and they are: (1) Rectangle - to represent operation, (2) Diamond - to represent decision, and (3) Circle - to carry label and to represent branch. 66 ----"-~-""--"-"--~"'-~"" - _ . , . .... _ - - - - --"',"--,,-~'-, --- o A description of each of these four parts now follows: PART I - - ANALYZER: (A) Initializes plotter, (sets up scales and moves pen to start), sets up margins, and draws horizontal line to mark the top of a page. a (B) Initializes library (OPCODE) and corresponding table of geometric figures required (ROUTIN). (C) Clears out input area, inputs card in alphameric format and sets up OPCODE fie ld. (D) Searches through library for required OPCODE and branches to the appropriate ROUTIN or to ERROR o (E) Tests for amount of writing space still available on plotter paper and goes to new line or new page if required. When it is determined by the analyzer that a new line or new page is needed, this routine will cause the plotter to: (1) Draw a 0.8" diameter circle to show a branch from the mainline program, (2) Write inside the circle the word "NEXT LINE" or "NEXT PAGE" as the case may be, and (3) Initialize at either the new line values or at the new ~ values. In the latter case, a horizontal line is drawn to mark the start of a fresh page. PART II -- LOCATER After the opcode has selected the proper geometric figure and after the plotter has drawn that figure, the locater is called on to find the operands required. If the locater finds the items required, it will cause the plotter to draw them; otherwise, there will be a branch to ERROR. PART III - .. ERROR This routine outputs error messages on the typewriter, if the other routines have indicated there was an error. o 68 PLANNING AND PREPARATIONS Each of these geometric figures was laid out to scale. Provision was made in the internal layout for sufficient printing to accommodate, in its entirety, each instruction being plotted. Space was also provided for a label, if present, in an appended label circle. Arrows needed to link the figures and to show directions of flow were laid out to scale. Subroutines were written to draw each one of them using the CalComp Plotter. Subroutines were also written which would locate: (1) P operand of up to 6 characters, (2) P operand of up to 10 characters, (3) Q operand of up to 10 characters, and (4) Flag operand. Margins and layouts were established, and it was decided to use an 8 1/2" x 11" paper format (as plotter paper is 11+" wide) with 1 1/2" side margins. A subroutine was written to compute line and page consumption, and to draw a horizontal line every 8 1/2" to show where to cut the paper roll into separate sheets. The last preliminary task was to list all the opcodes which an SPS program could contain and alongside each opcode to write an English-language translation of an instruction using that opcodeo These English-language translations contain the key prepositions which differentiate the various operand functions and which, therefore, sort the opcodes into natural groups. This is shown in the following examples which concern flag operations. The first inclination in grouping opcodes would be that SF, MF, and CF would probably be handled as one natural group, but now consider their English-language translations and the key prepositions contained in each. CF INPUT MF INPUT, B means Move Flag :::::l1l:I:: from B ::::I:' to INPUT SF INPUT means Clear Flag at INPUT means Set Flag at INPUT The odd one here is MF as it uses 2 prepositions and has 2 operands, while CF and SF each use one operand and use the same preposition. These natural groups of opcodes were further regrouped into a larger category by geometric figures required: Operation, Branch with Decision, Special, and Branch without Decision. A program outline developed naturally and wa. in four principal parts, as follows: Part I -- Analyzer; Part II -- Locater; Part III -- Error; Part IV -- Plotter. 67 o PART IV PLOTTER PLOTTER is the last major portion of this program and consists of seven separate parts. It is in this portion where the figures are plotted and the instructions are written. A. Branch Branch functions were the first to be defined and plotted. These were done by first grouping together similar kinds of branch opcodes after the pattern of their English-language translation. From this grouping came two subdivisionst Branch-without-a-decision, and Branch-with-a-decision 1. Branch-Without-a-Decision To represent this kind of instruction in a block diagram required only a circle, (the convention used by this office for "Branch"); and this full circle, (0.8" diameter), had already been laid out and plotted above as part of the ANALYZER. No connection to the next instruction was needed for these opcodes, (such as BB), so the only task remaining was to insert the instruction in the circle. In all but two cases, this meant to write only the opcode. In these last two cases, (B and B7), the P operand is important, while the OPCODE, Branch, can be . implied by the circle. Therefore, a 6-space area was provided across the horizontal diameter of the circle in which to write a P operand. No connection to the next instruction was need~d in this case either. For all these opcodes, the plotter was moved in the pen-up pOSition to the starting point of the next figure. 2. Branch-With-a-Decision This is the second branch subdivision and includes four opcodes for branch depending-on-conditions-in-the-Q-operand, plus the 26 opcodes in the BRanch-an-INDicator list. By converting an instruction using one of these opcodes into an English-language equivalent, their block diagram format was developed naturally, thus: Opcode P operand Q BE ALPHA B.Q]! means BRANCH, if Equal/Zero Indicator is ON, to ALPHA BNF ALPHA ~ means BRANCH, if NO Flag in BETA, to ALPHA o 69 operand It became evident from these translations that all factors involving the decision were self-contained in an OPCODE which has no more than four characters, yet can have a meaning as involved as "Branch if Sense Switch 1 is NOT on." On the proposed block diagram, all these factors would be represented by a diamond (decision) and a circle (branch) with arrows as needed and a part-circle for the label, if present. A diamond was laid out with dimensions of 7 x 10 units which would reduce to plotter scale 0.7" x 1.0", very close to template size and proportions. To provide for the possible presence of a 6-digit label, a second circle (a part ... circle with an 0.8" diameter) was laid out to attach to the diamond. The branch circle had already been laid out and plotted above as part of the ANALYZER. Arrows were needed to link the geometric figures and to show the direction of flow, and these were laid out to have an overall length of 0.3". The smallest print size available in the annotation routine (at the vertical angle) was used throughout the entire program. The last task remaining .was to plot (to write in) the instruction, but because these instructions differ in format, their layouts in this block diagram had to differ in the same way. The 26 BRanch-on-INDicator opcodes were very direct and were no problem to layout. Across the inside length of the diamond, a 4-space area was provided in which to write a 4-character (maximum) OPCODE. And similarly, across the horizontal diameter of the circle, a 6-space area was provided in which to write a maximum 6-character P operand. The four BRanch-on~ instructions were written out on 2 horizontal lines inside the diamond with the opcode and the word "IN" on the first line, and the Q operand on the second line -- the whole being read as "Branch NO Flag in Q" and, then, the entire P operand was written across the horizontal diameter of the circle, showing the Where of the Branch. B. Operation Operation functions were the next group to be defined and plotted. Grouping similar kinds of opcodes together had provided the groups of naturally similar branch instructions. The same system was continued for operation functions, and provided, not two, but eleven naturally-similar groups. Further study of these operation groups showed that they would all utilize the same operation box, and the same appended label-circle, and the same connecting arrow; but that they would differ in the English-language translation of the instruction. It was possible, therefore,to have one connnon routine for all these opcodes up to the annotation of the instructions, at which point each of these groups would be handled according to its own unique requirements. These eleven operation groups are: 70 W' • • • - C! Subroutine Name if of Opcodes List of Opcodes FQTP 9 TF, TFM, TR, TD, TDM, TNF, LD, LDM, MF ADCOM 4 A, AM, CM, C SUBTR 2 S, SM MULDIV 4 M, MM, D, DM STRIP 1 TNS READ 8 RN, RNTY, RNPT, RNCD, RA, RATY, RAPT, RACD WRITE 12 WN, WNTY WNPT, WNCD, DN, DNTY, DNPT, DNCD, WA, WATY, WAPI', WACD SUPER 16 SK, RDGN, WDGN, CDGN, RTGN, WTGN, CTGN, RDN, WDN, CDN, RTN, WTN, eTN, SEEK, GET, PUT FIAG 2 SF, CF CALL 1 CALL DRAW 1 DRAW The operation box was laid out with dimensions of 8 x 11 which would reduce to plotter scale 0.8 x 1.1 inch, very similar to template size and proportions. The length was sufficient to accommodate lO-characters of writing, and the width sufficient for five lines of writing. To provide for the possible presence of a 6-digit label, a third circle (a part-circle with an 0.8" diameter) was laid out to attach to the operations box at its upper left corner. The instruction's were laid out as follows: Line 1. 2. 3. FQTP 4. 5. ADCOM 1. 2. 3. 4. 5. o 71 FROM OPCODE Q operand TO P operand Flag operand OPCODE Q operand TO P operand Flag operand Line 1. 20 3 SUBTR 0 4. 5. 1. 2. 3. MULDIV 4. 5. STRIP 1. 2. 3. 4. 5. 1. 20 3. READ 4. 5. 1. 2. 3. WRITE OPGODE Q operand FROM P operand Flag operand (-~' '--J' OPCODE P operand BY Q operand Flag operand OPCODE FROM P operand TO Q operand Flag operand OPCODE P operand INTO Flag operand OPCODE Poperand FROM 4. SUPER 5. Flag operand 1. 2. 3 .• OPCODE P operand PER 4. FlAG 50 Flag operand 10 2. 3. OPCODE P operand AT 4. CALL 5. Flag operand 1. 2. 3. OPCODE P operand 4. Q operand or Blanks w/MES3 5. DRAW 1. 2. OPCODE 3. 4. Fourth operand 50 72 ._-- ---'"-----~-~------------------'" ---------------------------'"---------~--------- ( o C. Branch and Transmit (BRANT) Another opcode represented by this same operation box and label circle is the one for BT and BTM -- here called BRANT. Because of its threefold function, it follows a unique format and has to be so treated. This unique instruction format is due to a two-way flow between the operation box and the branch circle, and this is shown by the use to !HQ arrows, (one down and the other up) 0 The layout of the instruction further conveys the threefold meaning of it -- as follows: The Branch circle contains the P operand to which the program branches and from which it later returns. The OPCODE is on line (1) of the operation box and the Q operand, the address of the data transmitted to P-l, is on line (2). Flag operands if present are on line (5), while line (3) and (4) remain blank •. D. Miscellaneous (MISe) Another operation function which is somewhat similar to the previous eleven is MISC. This routine concerns the control operations which often appear 1.n profusion in a program but which one may wish to omit from a block diagramo Except for "K", these opcodes have a complete meaning in themselves -- are self-contained, and require no operands. To accomodate this kind of opcode, a switch setting is provided here, and this routine will then perform the following: Search for a label and, if one is present, draw it with its label circle, proceeding right along to draw the operation box and then the opcode. Then the opcode is tested and if it is "K", a further search is made for operands and those present will be drawn, along with an arrow to the next instruction. In case the OPCODE is .!!.Q.t "K", an arrow is drawn to the next instruction. If, however, the first search finds that this instruction does NOT have a label, the program then branches to find how SSI is set. If SSI is ON, the program returns to draw the operation box, the opcode and the arrow, as usual; but. if SSI is OFF (and there was NO label) this causes the entire instruction to be omitted and the program returns to START and the next instructiono E. Plot A separate treatment for the CalComp macro-instruct'ion PLOT was required because of the 2 sets of coordinates and their variations in length. To accommodate the different lengths of the sets of coordinates, two sizes of operation boxes were laid out, (0.80" x 1.10" and 0.80" x 2.20"), and made available to acconnnodate these instructions. This routine decides which size to use after: (1) searching out the first pair of coordinates and counting their combined number of digits, (2) searching out the second pair of o 73 coordinates and counting their combined number of digits, and (3) eQmparing eahch total to 110. If both aredlo Aorllebssl' thels~ll blox is used, ot erwise, t h e arge one is use. . a e circ e 1.S a so provided, if needed, and the instruction is written out in the ·operation box in this format: Line (1) OPCODE Line (2) Coordinates (1) and (2) Line (3) TO Line (4) Coordinates (3) and (4) CI~ ,,;,1 FROM Line (5) Fo Declarative Operations (DE CLOP) The last group to be described is a 2l-item list of declaratives: DS, DSS, DAS, DC, DSC, DVLC, DAC, DSAC, DSA, DSB, DNB, DDA, DGM, DTN, DTA, DCN, DCA, DPTN, DPTA, and DDW. These are not apart of a block diagram, but still one may not wish to omit them entirely. To accommodate this kind of situation, a switch setting is provided here, and this routine will perform as follows: If SS2 is ON, the program will punch a card for each item in this list. But if SS2 is OFF, the program will omit the declarative completely and return to START and the next instruction. G. Special In this last group, the opcodes DEND and DORG were considered as a special class. The program will perform as follows: DORG Ignore this opcodeand proceed to the next instruction. DEND Call EXIT, thus bringing an end to the plotting. 74 c o CONCLUSION Machine requirements for this program are: 1620 with 40K memory, Monitor System (one disk drive), card reader/ punch, CALCOMP on-line plotter, and MF-TNF-TNS-automatic divide. The program here presented is operational and has already proved to be extremely valuable. One of its hidden assets is its flexibility. Changes can be very easily introduced, and several have already been discussed. These include such additions as: (1) A fourth geometric figure to contain comments and remarks, (2) A page numbering feature, and (3) Other alterations as may be required to meet a userls individual requirements. A representative assortment of SPS Source-Program instructions together with their block diagram format, as produced by this program, is attached (see Appendix A) to illustrate typical plotter outpu~. o 75 _ _ _ _ _ _.._,,_. ____ .._. _ _ _ 1 <,-.---- ._---------- l066STlRT 1070 108b 1090 1100 1 11 OA TE ~ M -r4 "0 C :. TR TNPUT1-j ,f'LANK-J 1 FM AT £ S T 1" 1 8 ~ ROuT r N TFM ATEST+l1 ,OPCOD£ I ! • 711 ' ~ACDINPUTI SF INPUTltZl- s r e i NPuTl i 26 ~ ()('COOF. 't A. ~ TR FROM . BLANI<.-l TFM FROM . ROUTIN :rf~H FROM SF AT . INPUTl +2 . OPCOOE TO :rO :TO . INPUTI-I . RTEST+tB 71 t . "RTEST+ t t , ·1I ~ BE 1120 1130 --- . 1140 ---------.- l150 1160 - --------- _- -- ----1170 .. POUTIN , ATFST+]1 ,END . e~.___ fRROR 1 , AM ATe-ST+ll ,8 A", ATFST+IR,5 81 ft.T(s ( .. _- ,6 , ,6 , ,, ,'. ,711, , , ;1 -.. -._-- T'--'-' .- .-.-- I. tl p RM .S . £NO ~:ro ~:rO . RTEST+t 1 . RTEST+ t t .- S AM ,s :ro . RTEST+1S 71 1 I Q V .. '.~ c , -.. .,. o i I t I ASSEMBLING SPS I WITH MONITOR I T. I. Markland IBM Systems ~nufacturing Division Poughkeepsie, New York o 77 ---,._-----,_._----_._,_.---, ...... _-,_ ..,--_..... -. __ .......... ,.. .............. ............,,. The floating point formats of SPSI and SPS II or SPS 11-0 (Mon itor I) pose the greatest problem to program conversion because of the ir incompatibility. SPS I uses Excess 50 floating point notation while SPS 11-0 does not. The most significant difference between the two systems of notation is that SPS I uses on Iy one fie Id wh i Ie SPS 11-0 uses sepa rate fields for the mantissa and the characteristic. Conversion from SPS I to SPS 11-0 requires changing the format of each number defined in the program, and every reference to these numbers; e.g., each Transmit Field instruction, used to transmit a floating point number~ must be changed to a TFLS instruction. This problem becomes troublesome if the program involved is one of a set of programs and the output from one is the input to anothe ri i. e., the AUTOSPOT System. Because the operation codes for both floating point formats are the same, it is .not possible to write a separate set of subroutines for SPS II-D without modifying both the system op-code table and every floating point op-code in the source deck. The IBM 1620 Monitor I System Reference ~nual (Form C26-5739-3) explains a method of adding user-written subroutines to the N\onitor System. The application of this method to the conversion of the standard subroutine . set will be the main topic of this paper. Since the SPS I subroutines did not have the advantage of variable length mantissa, only the fixed length subroutine set in SPS II needed modification. Although the fixed length subroutine set is much simpler than the variable length set, the task of thoroughly reviewing and understanding these subroutines is not particularly pleasant. Besides, most programmers do not care how the floating arctangent subroutine works as long as it works. One of the requirements of placing a user-written subroutine on the file is a knowledge of the PICK. subroutine. The PICK subroutine is used by every other subroutine, with the exception of fixed point divide, to set up the addresses and data for the subroutine. The PICK routine can be modified without much involvement in the logic of the other subrout,ines. Only slight modifications are necessary in'the other subroutines.to make them compatible with the new PICK subroutine. Knowledge of the rules and methods of re location for subroutines is also important. First of all, each subroutine is a relocatable program. Regardless of the main program location in storage, PICK and the other subroutines will follow. Therefore, certain addresSes and data'areas used in the subroutines will be located in a differefJt area depending on the last location used by the main program. Also, each reference to these areas must address the correct location; hence, many instructions in the subroutines must be corrected during the loading of the subroutine. Furthermore, the arithmetic and functional subroutines use areas that are defined in PICK. Th'is requires that the arithmetic and functional subroutines be modified for the ir own location in core storqge and the location of the PICK subroutine. 78 , o One area which requires consideration is PCK. This is defined in the PICK subroutine at the actual address 02365. This area is used for communication between the main-line program dnd all of the subroutines. The address of the entry point to PICK is always located atPCK. The addresses of the entry points to the other subroutines are located in five-digit fields below PCK and all of these addresses are loaded into this area when the subroutines are loaded into core storage. Addresses above PCK are used by PICK and the other subroutines to communicate between themse Ives and the main line program. A review of the method of communication shows that: The first instruction of the linkage is TFM PCK + 10, * + 19. This instruction transmits the address of the high order digit of the address of A operand to the common communication area. The second instruction is B7 -(PCK - 5*X),. This instruction causes the computer to execute the first instruction at the entry point to the called subroutine (FA, FS, etc.). The branch is indirect to the common communication area which was set to ~ the proper address when the subroutine was loaded. X represents the number of the entry point in the subroutine entry point list, each entry point having itsown address area. After the branch, a OSA is effectively assembled with the addresses 'of the two ope rands. The subroutine now executes a TFM to set up a return to itse If and branches to PICK. PICK then executes a TR, with an indirect Q address of PCK + 10. to bring the address of the operands to the common area; adds 11 to the address at PCK + 10 to find the ma in I ine return address; places the B operand in an area referred to as BETA; and, returns to the arithmetic or functional subroutine. The subroutine calculates the result, places it in an area labeled ALPHA, and returns control to PICK. Finally PICK handles all the error codes and arithmetic indicators, places ALPHA in the A operand in the main program,andbranches bock to the main program to complete the cycle. This is the general logic but some subroutines do not take the complete advantage of all the functions of PICK. Since PICK uses the PCK addresses to obtain the operands, sends the operands to the appropriate subroutine, and returns the result to the main program, it may be possible to modify PICK, to convert a floating point number which is in the Excess 50 notation, to SPSII-D notation and then reconvert the results before returning them to the main program. And if this can be done without changing the results of assembling an SPS 11-0 program, it may be possible to assemble source decks for either SPS system. o One sl ight problem which may necessitate changes to the SPS I source deck is created by the ma in progra~ using address modification. Chang ing the addresses of the operands in the linkage, or branching around Iinkage wi 1\ cause problems. SPS. land SPS 11-0 assemble linkages of different lengths and with the addresses of the operands indifferent locations. A short review of all references to addresses near a macro instruction should solve this problem. 79 ,. _____ .. '.. __ .~_~~ ...... _., ___ ~ _ _ _ • ______ ,_ _ _ _ _ _ _ _ ~ _ _ _ _ _ ~ __ ."._"'~'."'~""' __ '''N~'''._'''_"'N •. '_'_'~_'.''''""-_- _ _ _ _ ~_~ __ ~'' •• _ ... ,__ ....... ". _ _ -.......-..J_._ .. __ .. "-.•.. ~,,.~ ... ,.""'.. ____ ,...... ,,~ .• _..... __ ,.,.. ~.,_ ... _._ -........,,-........-.~-...-..,.............-.~.-...,.~... ~..•'~_._.N'•••• Some of the problems encountere·d during the modification of the SPS 11-0 subroutine set 01 were: a)' SP~ I subroutines place a product or quotient at location 99 rather than in the A operand area. b) The arithmeHc subroutines set up the A operand and expect to find them i.n the SPS 11-0 format (this could require 'another SPS I to SPS 11-0 conversion routine in each of the arithmetic subroutines). c) Some of the subroutines operate on the operands directly (rather than on ALPHA and BETA) by indirectly addressing to those addresses in the common PCK area. d) 'An SPS..fI-O generated result may not be'converted correctly back to SPS I du~ to overflow or underflow • e) SPS·I and SPS 11-0 error recognition techniques are different. f) Certain constants and data areas are defined in PICK and referenced in the other subroutines. g) The SPS 11-0 floating shift operations do not address low order digits of floating point fie·ld. A suggested solution for each of the above problems will follow as the logic behind the general technique of conversion is reviewed. The following steps will E:'Xplai'n the operation of PICK and how the conversion is accomplished in the PICK subroutine: 1• Re se t e rro r. dig i t 00401 • 2. fV..o~e 3. CaJc.ulate main line return address. 4. Calculate addresses of mantissa and characteristics of both operands. 5. Reset a switch used to determine the floating poi~t format when converting back (CBSW). 6. Pro,ceed to the SPS 11-0 set-up routine if either an FSLS or FSRS operation has beencaHed for ,or the floating point operand is in SPS 11-0 format. If nqne of these conditions exist, continue totheSPS I to SPS 11-0 conversion routine. 6ddresses of operands from main program to PCK area. NOTE A switch must be set in the FSLS and FSRS subroutines for . this test because of problem (g) above.' The switch may be se~ upon entering either routine and reSet' upon returning from PICK. The format check is made by 'subtracting one from the address of the B operand and check ingfor a flag . on that digit. The following steps follow the 'logic of the SPS I. to SPS II-D conversion. 80 - ... ---- ..- .. --..-.... - .. ---.. --.---------~-- C} 7. Set CBSW and reset multiply-divide switch (MDSW). NOTE The MDSW is set in either the FM or FD subroutines. switch takes care of problem (a). This 8. Move B operand to BETA-2. 9. Check for digit at BETA-9. If no digit is present, place 0000000099 in BETA and proceed to step (11 ). 10. Conve rt BETA to SPS II format by subtract ing 50 from BETA-10 and moving the result to BETA. 11 • Skip ALPHA set-up if not arithmetic subroutine. NOTE This test is accompl ished by check ing for the presence of a flag in the PCK common a rea. The flag is always placed by each subroutine and then is removed by each non-arithmetic routine. This satisfies the requirement of problem (b) . 12. Convert ALPHA to SPS lias per steps (9) and (10). 13. Return to correct subroutine. NOTE If the format was SPS II-D, PICK places the B operand in BETA and checks for an arithmetic subroutine. IF FA, FS, FM, or FD has been called, ALPHA also will be converted. It will be assumed at this point that the functional or arithmetic subroutine has been executed, the result of the operation has been placed in ALPHA, and control has been transferred back to PICK. Any modifications required in the arithmetic and functional subroutines will be covered later. The remaining steps complete the explanation of the PICK subroutine. 14. Set error digit at location 00401 if required. 15. Return ALPHA to A operand and return to ma in program if CBSW is reset. NOTE If CBSW is set, the original operands were in SPS I format. I o 16. Proceed to step (19) if there is a digit in the high order position of the ALPHA mantissa. 17. Set ALPHA to a \I zeros and proceed to step (22) if the error digit at location 00401 is not a record mark {overflow or underflow}. 81 18. Set ALPHA TO 5000000000 and proceed to step (22) if the error digit is a record mark. 19. Add 50 to the characteristic of ALPHA. 20. Place all zeros or all nines in ALPHA if the result of the add is either negative or overflows (problem d above). NOTE Ifan underfloworoverflow occurs as a result of the operation or the conversion, an error routine places the zeros or nines in ALPHA, types out the main line return address and the addresses of the operands, and halts (problem e)i depress.ing START will cause. PLCK to continue as if the error had not occurred. 21. Wove ALPHA to ALPHA-1 0 (return to SPS I format). 22. Set HP and EZ indicators by adding zero to the result. 23. Place the result in either the A operand or location 99 depending on the MDSW. 24. Return to main program. This completes the part of the procedure which is handled by the PICK subroutine. The remainder of this paper treats the conversion of the other subroutines. The first step is to visually scan the Iistings of each subroutine to find all references to PCK:+ 15, PCK + 20, PCK + 25, and PCK +30. These are the addresses ()f the characteristic and mantissa addresses for the A and B operands. Since these operands may be in SPS I format, they should not be worked on directly. However, the numbers in the PICK subroutine already have been converted and pl,aced in the correct format in ALPHA and BETA. The slJbroutines may work on ALPHA and BETA directly by changing PCK PCK PCK PCK + + + + 15 20 25 30 indirect .toALPHA direct; indirect to BETA direct; indirect to ALPHA - 2 direct; and, indirect to BETA - 2 direct. NOTE These changes are not required in FSLS, FSRS, TFLS, and BTFS because they are not included in the SPS I subroutine set. The last problem (f) is caused by ce rta in data aredS be ing defined in PICK and ref~ren~ed in. the other subroutines (ALPHA, BETA, etc.). First, it is necessary to determine which areas are referenced in the ()ther subroutines. One method of doing this is to assemble a II of the subroutines with the exception of PICK and Iist all errors indicating undefined symbols. The following labels are those requiring definition: 82 Ci 0 1 ALPHA AZERO BETA CZERO FAC FLONE LCNl LCN2 LCN3 LCN5 LOGE MDSW* NOSDIG ONEZ OVFL PCK SAVE SFTS* SIGN STORE UNFL ZRES The I'Aonitor' System symbol table provides an easy way of allowing symbols defined in one program to be used in another program. Symbols may be defined in this table by using the SPSLlB portion of Monitor; however, it is necessary to determine the relocation address of each symbol. To do this, it is necessary to assemble PICK (re locatable) and note the addresses of each symbol Iisted above. The control cards required to define the System Symbol Table are as follows: IfJOB5 I I XEQ SPSLlB * DEFINE SYSTEM SYMBOL TABLE ALPHA AZERO -00066 -01134 etc. *ENDLIB If II The symbol in each detail symbol card starts in column 6 while the address starts in column 16. Addresses which are to be relocatable should be preceded by a minus (-) sign. NOSDIG and PCK are 'the only addresses which are not relocated. Only half of the problem has been solved; it is necessary to identify for the subroutine supervisor program, which loads all our subroutines, those addresses which should be relocated according to the actual location of the subroutine being loaded, and those to be relocated according to the actual location of PICK. This is accompl ished by defining a "pseudo constant (DC statement)" in the source deck. An explanation of the use of the pseudo constant is given in the Monitor Manual under the heading "Operands that are a Function of Pick and/or Mantissa Length." The only "modifiers" which are required are 0 and 5, since the fixed length subroutines are not affected by mantissa length. A check of each subroutine, after all other changes have been made, wi II indicate what must be done to the pseudo constants to make the subroutines function correctly. o NOTE PCK is not re located and does not depend on the location of PICK. *These we re defined spec ificall y for the modified subroutine set. 83 The other changes required in the arithmetic and functional subroutines include: 1. 2. 3. Changing all direct returns to the main program (branches to PCK indirect), to branches to the second portion of PICK. + 10 NOTE This should not be done for the FSLS, FSRS, TFLS, and BTFS subroutines. Set switch in functional subroutines and TFLS and BTFS to stop ALPHA set-up (this may be done by clearing the flag which is always set on the highest order digit of the address of the return to the functional subroutine (PCK + 1). The last change requires setting and resetting a switch in the two-shift subroutines (FSRS and FSLS). This switch (SFTS) also used to inhibit ALPHA set-up is to be set immediately upon entry to the subroutine and reset immediate Iy upon returning from PICK. Before loading any of the subroutines onto the file it is first necessary to delete them in their existing form. This is done with the following control cards: II JOB 5 II DUP 5 * DELET 0100 IIII The numerical portion of the *DELET card is the DIM Entry Number of the PICK subroutine for subroutine set 01. The DIM Entry Number for the proper subroutine is entered in columns 13-16. The DIM Entry Numbers for each subroutine in set 01 are: PICK FA and FS FM FD FSQR FSIN and FCOS FATN FEX and FEXT FLOG and FLN FSRS FSLS . TFLS BTFS 0100 0102 0104 0105 0106 0107 0109 0110 0112 0114 0115 0116 0117 84 U T ' tztM"'i::;:r'=mwpwrrelS!!!!'WIFWPII",, srI! t _ ..m._'r_ == rrih • NOTE The double subroutines are really one subroutine with two entry points. Since the fixed point divide routine simply uses the automatic divide instruction in this subroutine set, and there are no refe rences to the PICK subroutine, it is not necessary to change this routine at all. The last thing to be done is assemble each subroutine and store it permanently on the file. The SPS control cards required to do this are: * ASSEMBLE RELOCATABLE * SYSTEM SYMBOL TABLE * L1BR * 10 NUMBER 0100 * STORE RELOAOABLE The *SYSTEM SYMBOL TABLE card$hould not be used when assembl ing
PICK because it will produce double definition errors. The number on the 10
NUMBER card is the DIM Entry Number for the subroutine being assembled ..
The appendix to this paper contains listings and other information which
may be useful when converting the users subroutine set.

o
85

fl

•.

o

Electronics
A McGraw·HiII Publication
330 West 42nd Street. New York. N.Y. 10036
Telephone: [212] 971·2645

Lewis H. Young. Editor

June 28, 1965

Dear Mrs. Hall:

Mr. Love of IBM has written us requesting per.mission
for you to reprint "Using a Computer for Circuit Analysis"
by Herbert Wall from the November 2, 1964 issue of Electronics.
You have our permission provided the reprint carries the

LHY:kf
cc: David J. Love

Mrs. Carol A. Hall
USL Computing Center
University of Southwestern Louisiana
Lafayette, Louisiana

o

86

"'1

"
C
!I.

"

o

f' PW

c

COMPUTER AIDED DESIGN OF INTEGRATED CIRCUITS
by:
Arnold Spitalny
for presentation at
1620 Users Group Meeting
in
Miami Beach, Florida, May 10, 1965
'The Norden Division of United Aircraft Corporation has
had an active and extensive design automation progra~ for the past
2 1/2 years. We are trying to apply the same thought and effort to
development of man-machine systems for performing our engineering
work more efficiently that we normally apply to development of radars,
display systems, navigation systems, and other complex electronic
equipment. Emphasis throughout our program has been placed on development of user-oriented systems in which computer assistance is
made conveniently available to engineers in the context of their own
problems. These users do not have to become programmers to learn
and UBe the systems we develop.
Since most of our business is in development of electronic
equipment, a large part of our design automation effort has been
directed toward improved methods for synthesis, analysis, layout, and
packaging of electronic circuits. Our early start, rapid pro~ress,
and demonstrated capability attracted outside recognition and support
in two important areas.

r'

In April 1963, Norden and IBM agreed to combine our separate
circuit analys~s program development efforts and work together on a
comprehensive user-oriented circuit analysis program system. This
joint effort resulted in development of the ECAP system which was presented by Mr. Wall. The Norden version is called NORNAP (Norden Network Analysis Program). It includes many features added by Norden
after IBM stopped further joint development to prepare ECAP for general
release.
Development of an electronic design that performs the proper
functions is only one step in the series of activities required for
design and production of integrated circuits.
Once a satisfactory electronic design is achieved, the next
problem is design of the d1ffusion and interconnection patterns required to fabricate this circuit within a single silicon chip. This
can be a tedious and frustrating job, which increases exponentially
in difficulty as we increase the number of components in each circuit.
The designer must determine size and shape of all elements, allow for
moats and clearance tolerances, arrange the elements into a minimum
area rectangle of satisfactory form factor, locate terminals, and route

87

c

all interconnections without meta1izatlon crossover.
This layout design task is much more difficult than design of a conventional printed circuit board. Errors are not likely
to be discovered until after the first devices are made and are rarel~/
possible to correct without repe:ating the whole manufacturing cycle.
The repeated cycle of design, manufacture, test, and modification can
be broken by providing a computer-aided design system that helps the
device designer to obtain better designs faster, automaticall:y checks
the designs for conformance with all proces,s tolerances and design
rules, automatically generates a complete set of mask designs corresponding to the checked and approved layout design, and predicts
functional performance of the circuit before it is built.
Norden 1s now developing such a man-machine system under
Air Force sponsorship with the assistance of the United Aircraft
Research Laboratories. The program is under the direction of Captain
H.D. Colwick and Mr. M. Bialer of the Electronics Branch, Manufacturing
Technology Dlvision,Air Force Materials Laboratory, Wright Patterson
Air Force Base, Ohio.
This system for rapid design of microcircuits is supplemented
by the series of Norden-IBM computer programs for analysis of electronic
circuits.
These two developments reduce the time required for initial
design and manufacture of new microcircuits to less than that needed
for conventional circuitry.
Since the basic circuit analysis methods are fairly well
known and were discussed b~ Mr. Wall we will devote most of our time
to the newer material on design of circuit layout and interconnection
patterns.

Design Cycle Outline and Circuit Analysis
Figure 1 indicates some of the major steps involved in
conventional design and development of integral circuits. The full
sequence from concept to delivery includes preliminary design, circuit synthesis, circuit analysis, mask layout, mask artwork and cutting, and the many steps of fabrication and test. All the steps
shown in ovals were originally performed manually.
Some of the problem areas of the conventional approach
are indicated by the feedback loops in Figure 2. The first is to
design a circuit that performs the desired function and has parameter
values suitable for inclusion within an integral circuit. The conventional experimental breadboard approach requires uses of conventional
components and pieces from other integral circuits. Distributed effects
and leakage paths within the chip must be estimated and simulated,
and other distributed effects caused by the experimental setup must

o
88

~
I

o

o
TlSt Data

Requirement
Wafers,Dopanta,
Art.ark

Mal'ers

I .. ,

.. ,

FABRICATION

a
TEST

CX>

\.0

Topological
Ru/ . . .

COOROINATOGRAPH

KEY

o

Human oct,on,
Monitoring,
Control

D

Specialized
E quipm.n'

• Loroe/y implicit,
uncod if/ed, 'ncomp/e,e

o

Compu'er
Program

Figure 1.

Conventional Design and Development ot
Integral Circuits

I

Delivered

Circuit

be minimized. Experimental modification of parameters is often much
more difficult than in conventional circuits, due to the limited range
of integrated circu1t elements available for experimental hookup.
This problem is greatly eased by using computer analyses
~
of prospective circuit designs and mod1fications to supplement the
experimental work. A very simple user-oriented language is used to
describe circuits to the computer, which can then perform dc, ac,
than could be learned 1n weeks of laboratory tests.
Figure 2 shows a simple equivalent circuit and the corresponding input data that describe tne circuit to the computer. Each
branch is described by a single IBM card containing branch number,
nodes connected to, and values of all circuit parameters. The computer
uses these data to set up and solve the matrix formulation of the
circuit nodal equations.
Once the circuit is defined to the computer, many analysis
routines are available to assist the engineer in analysis and optimization of his circuit. The command instructions for directing the
computer to use some of these routines are indicated in Figure 3.
We will now look at the output that results from one of
these instructions.
Figure 4 is a photograph of a computer printout. At the
top are all the node voltages of the circuit, which are the same
as would be measured on a circuit breadboard. Next, we have the
sensitivity of every node voltage to variations in every circuit
parameter. This information, obtained in less than one second on
the IBM '7094 computer or one minute on the 1620 computer, provides
more insight into the effect of component variabtion and tolerances
than could be obtained in weeks of experimentation. A very simple
circuit has been used for this illustration. We routinely handle
circuits of up to 20 nodes and 50 branches on the 1620 or 50 nodes
and 100 branches on the 7094.
Figure 5 shows how new microcircuits are designed with the
system now under development at Norden. The steps shown in hexagons
represent computer operations. Functional performance of prospective
circuits is determined by computer analysis and optimized before layout begins. Circuit layout is actually performed by automatic computer programs, subject to manual review and modification, and results
in automatic preparation ot a set of mask artwork.
This system is planned tor eventual on-line operation with
graphical display and manipulation of circuit layout patterns on a
CRT display with a light pen. The present prototype version uses a
Calcomp plotter on the 1620 tor graphical display and an Orthomat
Drafting Machine for automatic preparation of mask artwork. Graphical
design manipulations are performed on a 7094 computer in Hartford and

o
90

o

<:)

DCNODE

\D

J-I

T1

Figure 2.

:11!'
.~~.. '·f~.
ml
'.
~ (1,( ,

til'... (2,31':\:

R = 2000.(.10)

~

R ~ 5 E + 06

~ ..

f< = 27.

(3,4)

R

1.(,01),

,

E

~ =~(4,O)~

R·' 1000.(.10)

N ~ (3,0)';

R ~ 100001.10)

N - (1,3)

R

R

.: 3

G

E

= 30.

,

I

=

=

-.01 E - 06

-.6

39E3:.10)
036·l0361

Input Data Preparation

,0367)

I
l

Z!

Q

Z
III

:I

Figure 3.

Control Instructions
<]2

o

o

0
NO. BRANCHES =
NO. NODES = 4

7

NOMINAL ~ODE TO DATUM VOLTAGES
2.999E+01
2.062E+01
5.493E-00

4.764E-00

SENSITIVITIES
PERCENT CHANGE IN NODE VOLTAGES FOR A ONE PERCENT CHANGE IN PARAMETERS
R 1
1.770E-04

-1.683E-04

-1.747E-04

-1.961E-04

4.690E-07

-4.530E-01

-2.385E-03

-2.677E-03

1.172E-0~

3.493E-00

-5.962E-00

-6.693E-00

3.623E-06

1.050E-02

2.809E-03

-2.313E-02

1.342E-04

3.891E-01

1.040E-01

1.431E-01

1.192E-04

-3.564E-01

6.993E-01

7.850E-01

1.572E-04
3
1.171E-03

4.076E-01

-7.997E-01

-8.978E-01

-3.491E-00

5.958E-00

6.689E-00

9.999E-01

9.509E-01

9.868E-01

1.107E-00

1.690E-05

4.900E-02

1.310E-02

-1.079E-01

2.502E-09

-7.456E-06

1.272E-05

1.428E-05

R 2
\..0

w

R 3
R 4
R 5
R 6
R 7
4,

G
E 1
E 4
3

Figure 4.

Computer Printout

Test Data

Wafers, Dopants,

Requirement

AUTOMATIC
CUTTING

Maat.rs

FABRICATION I

J - - - - - l.......1

a

Delivered
Circuit

TEST

PLOTTER
OR
DISPLAY

\.0
~

•

Topalooicai

rules built into prooram

KEY

o

Human Action,

Manitorino,

D

Specialized
Equipment

o

Computer
Prooram

Control

Figure 5.

o

Computer-Aided Design and Development'
of Integral Circuits.

(~
~ )

_"7":1'JJ!!!!!' "P''''Y'n_

•• _

_

cards are transceived 70 miles over the phone lines to Norwalk for
Calcomp plotting on the 1620 computer.
Circuit Layout Design
Figure 6 is the schematic of a two-stage differential
amplifier designed with the prototype computer-aided design system.
We will assume that circuit analysis and functional optimization
have been completed.
The. schematic assigns an initial location for all elements
relative to one another, as well as parameter values and interconnections. This information is put into the computer along with the
following circuit fabrication requirements:
a) fabrication method
b) sheet resistivity of resistors
c) transistor types

o

Based on these inputs and a set of design rules developed
at Norden, the computer calculates the length and width of each
resiator and the area of each capacitor. It also selects from a
library of standard shaped transistors the dimensions of the transistor
and diode types selected by the designer to meet the electrical requirements of the circuit.
The computer is now ready to plot an initial detailed layout
as shown in Figure 7.
This figure and the following figures are photographs of
actual computer plotted outputs at various stages in the design process.
This initial layout, Figure 7, is the starting point for
a series of man-machine interactions to evolve the final design. The
designer looks at this picture and decides to rearrange things a little.
He may sa~y, "Let r s rotate this transistor and move it up here, bring
the other one as close as possible below it, put R10 on top to join
it with Rl5, move R2 up and put R12 alongside it, do the same to the
other side to maintain symmetry, and take a look at what that gives
us. II (Figure 8)
These instructions are coded in a simple user-oriented
language, punched on cards, and fed to the computer.
The complete vocabulary of 23 command instructions provides a capability for assigning any desired orientation to any
circuit element and locating it in any desired position relative to
the other elements. Provisions are included for routing interconnections, bending and joining resistors, shaping capacitors, adding
and deleting moats, and performing other routine design functions.

95

B+

RI5
5K

R3
5K

R6
2.7K

R4

750

R9

R5
1.7K

250

B-

Figure 6.

Two-stage Differential Amplifier
96

..... _ - _.................

_

..•......

_

....•.

o

o
100

E

80

El

15

60

'to
E

20

[Qj

o

o

o

20

Figure 7.

"S jQ]

YO

Initial Layout

97

o

I.

G]--- ---------

.100

E

@

80

f6][Q1

AtO

fO]

015

110 ~[Q] It [lJ I~ 01 I

0

110 @bfDJ II [0] Iffi 01 I

z
Z

110 Will II [0] lijill

I [0] IriJ 01

Rlll

I

0

I

E

.E

.20

o

o

20

YO

o
Figure 8.

First Modification
98

o

Figure 9 and 10 show successive layout improvements illustrating
some of these capabilities.
A translator program interprets the instructions and calls
in manipulative programs to change the layout in accordance with the
deisgner's instructions and the appropriate programmed or recorded
rules and tolerances. In the on-line system, the design modificat1.on
language will be converted from cards to light pen and pushbutton
operations.
Each succeeding transformation is graphicall~ displayed
by the computer to aid the designer in planning his next design step.
The process of looking at a trial layout and instructing the computer
to make changes is repeated until a satisfactory layout is achieved
(Figure 10). On the circuit layout is accepted, the designer directs the computer to design diffusion masks from the final composite
two-dimensional design. The computer then punches control instructions
on paper tape to make each mask on an accurate, high resolution drafting
machine. Figures 11, 12, 13, 14 are photographs of computer-plotted
mask designs for the differential amplifier.
Interconnection Routing
Routing of interconnection metalization is an important
consideration in planning location of diffused elements and is a
difficult job for large circuits, even after a favorable layout is
obtained. It is even more difficult to take a circuit diffusion
pattern designed for one application and reconnect it to form a
completely different circuit.
Figure 15 is a computer-designed interconnection pattern
for an error amplifier. More than 50 different circuits have been
designed with this same diffusion pattern b~ rearranging the interconnections.
A maze-solving computer program is used to route interconnections, automatically avoiding all contacts of other nodes and
all previously routed interconnections. The resulting pattern can
vary, depending on the routing sequence. When a connection is completely blocked b~ previously routed connections, the computer automatically changes the sequence and tries again. The pattern shown
here was successfully routed on the third automatically sequenced
trial.
Computer System Design
Every effort is being made to modu1arize the computer system
design so that changes in integrated circuit technology and conversion
to an on-line system will result in min~um additional programming
effort.
As the technology of integrated circuit design changes, new
programs can be appended to the system and present programs modified

o
99

o

J.:

[;1

[;1
20

Figure 9.

YO

Final Arrangement
100

o

o
60

D

I~ ~ I
I [gJ1~ I

'+0

t-J

~

20

D~I~

I [gJ 1([gJ I
II[@J~ I
DO

~~D

"~II~ ~;]

o

Figure 10.

Final Detailed Layout - 2-Stage
Differential Amplifier

o

D
D

D
D

D
D
~

D
D

D
D

D

D

D
D

I-

o

o

1.0

C\J

Figure 11.

102

q

o

o

DD
D

u

0

n

0

D
D D
o

'0

D

D
QI

CD

o

103

Q

o

Q

o
104

--,

,
e·,·
,I

0

0

0

0

0
0

0
0
0

0

0
0

0
0

~

Ul

~

0

.p

0

()

~

.p

0

0

0

0

0

0

~

0
0

~

.

D

0
0
0

.:::t
r-i

-

0
0

0

CJ

CJ

0

0

0

.

.

0

0

.

0

.

CI
CD

o

.
CI
01

105

Q)

H

::s

bO
oM
Il:t

0
0

0
0

.

•

o

•

I

If!]

o

~

10 01

I-!JI

1c=::=J1

.

Lf\
rl
(1)

H .

::s

b.O
...;
~

0

•

'---

~.

I:

III

I

o=J

I

I

-

j] ITt 0

[!= C'JI~DI

[9
~

I---

~

o
106

o

without the expense of disturbing the logic of the operating system
or user program links not requiring modification. Conversion to an
on-line graphic system will be realized by simply expanding the processor function of I/O control.
All programs are written in FORTRAN to the maximum extent
feasible in order to make this system machine-independent. It will
be able to run on any computer system that has the necessary capacity,
graphical display terminals, and basic software. Changes in computer
technology can thus be readily accommodated, as well as changes in
integrated circuit technology.
status and Significance
The prototype computer-aided design system is now in final
development and initial experimental use. The design rules programmed
into this system have been thoroughly tested by manual application on
all integrated circuits designed by Norden in 1964. Manual operations
are gradually being replaced by computer operations as the programs
become available. Design layout time for a complex circuit has already
be~n reduced from several weeks to a few days.
With the planned on-line
computer-aided system, it will be reduced to hours or minutes. We believe that this system and especially the on-line version to follow it
represent a significant breakthrough in the design bottleneck.
Since this system is being developed under Air Force funding,
it is not considered proprietary to Norden. Computer programs and
instructions will be made available to the industry by the Air Force
when system development is completed. If you want additional information, or are interested in the possibility of using this system
in your own facility, you should contact our Air Force Project officer;
Mr. Max Bialer
Electronics Branch
Manufacturing Technology Division
Air Force Materials Laboratory
Wright Patterson Air Force Base, Ohio

o
107

.

..

------~ ---~

-.. ..

.." .... -.."-......---'""'-.........

"~

,-~,,,

''''

................

,."~'"'.~-

........-

.~-~---~----

c

o

D. C. AENEAS
(:Q.IRECT £URRENT AtITOMATIC ELECTRIC !lli.T~JORK ANALYSIS SYSTEM)

by
Hebert.o Pachon
Mathema.tical Analysis Sectior,
Research Laboratory
Automatic Electric LaboI'atories, Inc"
Northlake, Illinois

Presented at the
"1620 Users G,::,oup Meeting"
in Miami Beach on
May 10, 1965.

o

108

'

.. -----'-'-----'--------"- "-----:--~-,."."

.."...-------......................--~-~.--.-.....".....-....................-."".. .. ,................
"

D. C. AENEAS
Introduction
This is a linear graph theory application paper describing in
general terms a computer program developed for use on the IBM 1620
Ds.ta Processing System, and capable of performing automatic D. c.
analysis of electronic circuits.
The program carries the name of D. C. AENEAS which stands for
~irect £urrent ~utomatic !lectric ![twork ~nalysis ~stem, and it
incorporates the following features:
la

It reads and decodes the geometrical (topological)
configuration, the component characteristics, and the
component values of a D. C. network from easily coded
statements punched on tabulating cards.

lb

It generates the network equations and solves for nominal
branch currents, nominal node voltages, and nominal
power dissipations.

lc

It computes branch currents sensitivity factors, and
node voltages sensitivity factors.

Id

It computes node voltage standard deviations.

Ie

It computes minimum and maximum worst case analysis for
branch currents and node voltages.

If

It allows the user to modify the values of one or two
components in the network in order to generate tables
of branch currents or node voltages as functions of the
components being modified. These changes can be effected
without a complete recalculation of the problem from
at.art to fi-nish.
Features Ib - 1f are optional, and under user's control.

use this ~rograrn, the engineer draws an equivalent circuit
representing the circuit he wishes to analyze. He then numbers the
nodes and the elements of the circuit, and at the same time he
assigns arbitrary current and voltage references to the circuit
elements
A special input language, whose statements are in oneto-one correspondence with the circuit diagram so far developed, is
then used to describe to the program'the topological configuration, the
component characteristics, and the component values of the circuit.
The engineer also uses this input language in order to specify what
i,e to be calculated and what is to be punched as output.
To

0

log

C

o

All the information describing the network is punched on tabulating
cards, and these cards are used as an input to the D. c. AE~-AS program.
The program will go through all the calculations necessary, such as
generating the circuit equations and solving these equations, and will
prepare a report on punched cards. This report consists of a duplication
of the input cards followed by all numerical answers requested by the
engineer. These cards must be listed in order to obtain understandable
The program can operate on networks containing linear resistors,
constant voltage generators, constant current sources, and linearly
dependent current sources* only. Therefore, when the network for analysis
contains active devices (such as transistors, diodes and vacuum tubes)
equivalent circuits must be obtained befor,e the engineer can make use of
the D. C. AENEAS program. Fortunately, adequate equivalent circuits
exist for these types of devices; hence, most electronic networks can be
analyzed, D. C. wise, by means of this program.
2•

Sub er ograms

D. C. AENEAS consists of six programs which operate upon a co~~on
area within the computer memory called the Network Memory ~Uip, and which
are capable of performing features la - If mentioned under section I.
These programs are as follows:

2a

Input Program
All the necessary information pertaining to the network
under ,a.nalysi.2: is supplied by the user to the D.C. AENEAS
pr.ogrnm by ~eans of statements comprised in what is called
the ~r~~t language. These statements are punched on
tabulating cards which are read and decoded by the input
program
In the process of decoding, the input program
a.lso fills in the Network l1emorI ¥..ap and checks for
possible coding errors.
0

2b

Topological Program
The topological program makes use of part of the informatio:1
cont~.ined in the Network Memory Map; more exactly, it makes
use of the information describing the connectivity (topology)
of the network in order to generate a network tree, a network
co-tree and finally a network circuit matrix. The pr~gram

0*

B,y linearly dependent current source we mean a current source
whose value depends on the value of the current through one
resistor in the circuit; the dependence is ,linear.
110

also checks for errors and gives the user the option to
type the di.ffe:r:'ent connectivity matrices associated with thie
tree and co·-tree, as well as the final circuit matrix
0

2c

c

Cal:.cul"ator ProgJ.'8.m
The circuit matrix, together with the network component
values contained in the Network Memory Map, are used by
the calculator pt'ogram ..!!!. order .:tQ. generate the loop ~·g;\!atiQl1E
for the network, and thereafter 1.Q. so~ for all the r~etwot:k
nominal constraints requested by the usero

2d

Se.!!,sttivit,y:

ProJr:ra~

The s€:0.sitivity progI'am computes the partial derivatives of
a.11 ucknown variables (bt'anch currents and node voltages)
with respect to all of the network parameters~ and stores
information for further use in connection with the calculation
of worst cases or standard deviations.

The program computes partial derivatives by means of closed
fOl:'mulas)l a method which seems to be faster than the cal=
culation by approximation method
0

2e

Co~on~rogram

progt'am is basi,cally a duplicate of the calcalator
program; that Ls, its main function is to set-up loop
equations and solve for branch currents or node volta.geso
However ~ this program contains two subroutines that corr.·espond
to the processing of the worst case and modify control
The

COl!L'!!cn

st,f.lt.ement S

0

U~ink

the signe of partial derivatives obtained by the
sep..~itiv:tty program, the worst cas~ subroutine rea.:rranges
the values of the parameters wi.thin the Network Me!nory
tfl....a.p B:r:.id b:ra,nchei; to the generation and solution of equations
subrout:i,'t~e to determine the toleretlce extremes ,;)f br:anch
currents. and/or node voltageso
Using the data corresponding to the modify control statement,
the ~ subroutine modifies the value, or the values of
the corresponding parameters, md branches to the generation
and solution of equations subroutine to evaluate branch
currents or node voltages.
2£

~q~rd

Deviations Progra1l1

Using the values of the partial derivatives, the standard
III

c

o

devia'tio'n program computes the standard deviations 10£
all unknown node voltages.

.

Gener'at Connnents
The first' three programsmention~d in ~ection 2 accomplish the
true electrical analysis of the circuit problem.
The input langua.ge developed to communicate with the progr .am is
oriented towards the electrical engineer 9 s use and requires only a few
minutes to learn. Additional statements may be added to form an i,nput
language useful, not only toD. C. analysis pI"ograms, but to A. Co
analysis and transient analysis programs as well.
The method of obtaining the circuit matrix was obtained from the
work done by Professoxs M. B. Reed and S. Seshu (1), but we extended
their work in the generation of the loop system of equations when current
dependent sources are present.
The simulation of the electrical network by means of the equivalent
circuit on the digital computer is a very important achievement (2)
because, if such a simulation i3 possible, a great saving is effected
in cost and time when certain solutions to vast problems are desired.
In addition, such simulation transforms the digital computer (IBM 1620
in this case) into a large analog computer having great f1exibili.ty
and high degree of accuracy.
The last three programs mentioned in section 2 give the engineer
a way to predic.t pC :3sible troubles due to changes in the components
within the network under analysis. When properly u~ed, these programs
can also lead the engineer to the most reliable selection of network
l

component toleranceso

The closed fcrmul,as developed for the evaluation of partial
derivatives seem to be s, considerable improvement over existing approximation methods. We have made no attempt to determine exactly how
good our method is~ but we have estimated that it will improve the
speed of calculation by abo'lt a factor of 8.
Finally, we would like to point out that since the program is a
rather complicated combication of matrix operations, the use of the
PUC-R2 co:npiler (3) was extremely helpful and time-saving in obtaini.ng
the final symbolic language ;30urce deck for the program.

o
112

,

""0

Example

The attached example, found in the SPARe (4) repprt-illustrates
the use of the language developed for communication with the D. C.
AENEAS program,_ and it also demonstrates part oftnecalculations
that th~ program can perform.

~.Jij 4/~1/6r

{e~rt~hon

c'
113
- - - _...---_..__

._....-

.-'--- .._.-._.

__ . _ - - - - - -

. _. . . . . . .

-

........

o

PAGE 6
SP~~~.J?L"E
--_._--

F~C=e '-IN!!

I
•

"/~$T C05~ secTb/ll8~AK. SLOPE' I I I I I, ~ I I I CROSS .secTION I Note that cross-slopes are always specified starting with the side closest to NC. Also, the sign convention for these slopes is as follows: up and away from NC is positive. If no horizontal curve exists then set the PC and the PT at opposite ends of the PGL. Set NC as some point on either side of PGL, not on it, remembering that cross slopes are specified starting closest to Ne. Set Rl = O. Set R2 equal to the distance from first crossslope break to PGL. Set R3 equal to the distance from first crossslope break to last cross-slope break. Note that Rl S R2 ~ R3. SPT must be greater than SPC. DE F!VERT I CA L/CURVE NPVI SPVI EPVI VCURL Gl G2 NPVI SPVI EPVI VCURL Gl G2 ELEVATIONS Point number of point of vertical intersection (PVI) o.f vertical curve Station of PVI Elevation of PVI Vertical curve length Grade from PVC to PVI in ft per f~ Grade from PVI to PVT in ft per ft ~_ _- _ ~Ta.Tlo"" &PV'I e.PV'I e I..EVJ\T/ON 1,...... . . - - - - - - - VCUR.L - - - - - - - -.... ~I If there is no vertical curve, set the PVI as some point on the PGL having station SPVI and elevation EPVI. Set VCURL = 0.0. Set Gl = G2. Note that when this is done, an error message will be typed out but answers will be correct. The error message indicates only that VCURL = 0.0. 128 C ''''r''··'··'' 19" tlIm',' ,. '. 'f H H±t#tdw"' l,d'±"tIt,!tHt, ** ri*ij"j',wrIt'WH,W:Of 't'lif'Pte¥='tLtttltt !! II *t' 'r') t 'I' trttrit,ttr'±tirtb'ttt;(' ,'" :('''''Hi''i*'W\'·~"jt'lr¥i:''!i{,,·'f uY;jIh)WWHHwN'Wlffi,fiijM:"',NMj'·,"","?M.-;Z""""!!'1! 'Y'.- •• _ PLUG DECK o Elevafions DE F/SUPERE LEVATION NBTl SBTl NETl SETl Sl S2 S3 S4 SEl SE2 SE3 SE4 NBT2 SBT2 NET2 SFl SF2 SF3 SF4 NBTI SBTI NETI SETI Sl,S2,S3, S4 SEl,SE2,SE3,SE4 Point number at Station at NBTl Point number at Station at NETl Cross slopes at NC. Cross slopes at NBT2 SBT2 NET2 SET2 SFl, SF2,SF3,SF4 Point number at start of second transition Station of NBT2. Point number at end of second transition Station of NET2. Cross slopes at SET2, starting with side closest to Ne. start of first transition end of first transition SBT1, starting with side closest to SETl, starting with side closest to Ne. Cross NETt S£rL '-A..J£3T1. 5S7't ..J ~ I ... s~-~ I SBT~ I ,- 58 , :~ I~I I I I I 10 I 1../ C .......~---- I I I ~, I I 1.~_$1iiiiZ-!:':-:...;:4::;..-_-

+$'::!.---1~I~1 AT SET2 I I I I I~ the cross section is constant, then set points for beginning and end of transition apart from each other and set SEI = SFI = Sl, SE2 = SF2 = S2, etc. o =&*# !I' Ii If there is a two-phase transition into superelevation, use 81, .•• ,S4 as starting slopes, SEl, .•. ,SE4 as slopes between transitions, and SFl, ••• ,Sf4 as slopes of full superelevation. Set NETl = NBT2 and SETl = SBT2. 129$"

.

PLUG DECK

iN

POINT/ELEV
N

e.LeIl4T10tJS

Number of point for which elevation is·desired
Output:

KTH/P'r'/ELEV
K
I

J

,E tEVA'TI ON

S TA'T ION

N

I

J

t:'t..eVATIO!l/S

Numbe'r of intervals between Iahcl J
Initial point for which ·elevation is desired
Final point for which elev·ati'bn is desired

This command divides the line between
gives elevations at each point.
Output:

DISTl
I

DIST2
STA(I)

..

99

·J··

I

and J intok parts and

ELE~ (I)

.
"

STA(J)

ELEV(J)

OFFS.ET (I)

·

•··
OFFSET(cr)

Where DISTI is the distance between any two consecutive points and
DIST2 is the total distance f·rom I to J.
Note that the coordinates of' intermediate points are heither stored
nor printed. If point number 99 is defined before erite:ti~g the
routine, it will be destroyed by the routine.
STA

STA/OFFSET/ELEV
STA
OFF

OFF

,eLEVATIOAl5

STATION OF DESIRED POINT
OFFSET OF DESIRED POINT FR()M PGt

OUTPUT:
99

STA

ELEV

OFFSET

RESTORE/BASIC

This command initiates loading of a small deck of carcis which enable
one to use' the commands of Cogo Ba:s'ic again after using the elevations
routine. This should follow the last computation command used after
calling Elevations.
After this. command is issue'cl,. any of the plug decks' may be called.

130

C

he·!I"

'dINWWti"jj"IN' ,'tw.tWij'·rPtt!ft',I¥'e*I!g*tH'MI!"

..

I

PLUG

o

-

DECK
LOCATE

LOCATE/SAMEAZ

N

J

D

I

K A

From J locate N at a distance D along an Azimuth the same as
the Azimuth from I to K adjusted by an angle A.
+A is clockwise
Output:
Coord. of N.

D

/

J
1

LOCATE/DISTANCE

J

N

I

K

LOCATE

A

From J locate N along an Azimuth A at a distance equal to the
distance from I to K.
Output:
emm. of N.

yK
I

D=D(rl<)

J

.N

CARD DUMP
DUMP/ON/CARDS

I

J

Dump onto cards in format suitable for input, the point number
and coordinates of each non-cleared point starting with point
I and going up to point J
Output: STORE command for each point punched on cards

o
131

TWELvE DIGIT .COGO
In order to answer the desire of some of our clients for
more accuracy in geometry problems, we have written a program which is similar in input and output to Cogo, but which
carries 12 digits instead of 8, as Cogo does.
The commands available in

Twelve~Digit

Cogo are:

INTERSECTIONS
PLUG
STORE
PAUSE
LOCATE/AZIMUTH
INVERSE/AZIMUTH
LOCATE/SAMEAZ
LOCATE/DISTANCE
ARC/LINE/AZIMUTH
ARC/LINE/POINTS
ARC/ARC/INTERSECT
POINTS/INTERSECT
AZ/INTERSECT

YES
YES

YES
YES
YES
YES
YES
YES
NO
NO
NO
NO
NO
YES
YES
YES
YES
YES
YES
YES

NO

YES

YES

YES
YES
YES

YES
YES
YES
YES
YES
YES
YES

YES
YES

REDEFINE

DUMP/ON/CARDS
*DIVIDE/LlNE
GIRDER/LENGTHS
CLEAR
CALL
COUNT
ALIGNMENT

ALIGNMENT
PLUG

YES

YES
YES

*This command differs from the Divide/Line in Cogo in that it
references no stored curVe, and gives ho stationing or offsets.

The commands are written exactly as they would be for Cogo.
Note, however, that there are only two plug deCKS, with more
commands per plug deck, thus requiring fewer 'Q·a.J.l statements.
By means of the Dump/on/Cards- -command, the coordina te table
can be output in a fOrm acceptable to either regular or 12-digit
COgo. This allows for the use of elevations, part of regular
Cogo,with points established by 12-Digit Cago.

o
132

'=n

7

:

a$.!T' . • o I . . . *" :••_ t trt _ . NEW YORK STATE . DEPARTMENT OF PUBLIC WORKS . \ HAROLD M. GOTTHEIM ASSOCIATE CIVIL ENGR. (ELEC.) BUREAU OF ELECTRONIC DATA PROCESSING 1220 WASHINGTON AVENUE ALBANY, NEW YORK 12226 Single Box Culvert GL 7·2458 Program Number 28]0 General Given the clear span, clear height, height of fill, the thickness of the walls and slabs and the type of live loading, the program outputs the maximum moments and maximum required areas of steel at all the critical points on the culvert together with the distance from the point of zero moment to the outside face of the wall for the top and bottom slab. The location of the live load for each maximum condition, namely the distance from the centerline of the wall to the first wheel load, is also outputted together with miscellaneous information such as the required perimeter of steel in the top and bottom slab, the maximum soil pressure and the volume of concrete per foot of box. (~" is added to the top of the bottom slab) The program does a unit moment distribution by placing a fixed end moment of 1 kip-ft. on the end of one member and distributing the moments. This is done for each of the eight member ends that can receive a fixed end moment. The 64 answers are saved for later use. The impact coefficient, wheel loads and fixed end moments are found. The maximum soil pressure is computed by PiA ± MC/I. A two.f~ot s~rcharge of soil is ad~edAfor all cases conta1nl.ng 11 ve load. for ~""4~ {tJ)'i/ri If the fill is greater than 8' and is also greater than the span, the live load is not considered. In all other cases, the live load is considered and is applied for the six cases as shown in the following diagram. The wheel load is distributed over a.distance of 1 3/4 times the fill longitudinally. When the fill is less than 2', the wheel load is distributed 6" :' (this is used to simplify computations) longitudinally. All wheel loads are distributed 5' laterally. Impact 0---------1' o l' 1"-----2' 2' ()1"-----2'11" J' 11 _ _ _ _ _ 1.3 1.2 1.1 1.0 133 ..:.,.:..::.:....:.:.;.-=...:.:...-:..:...,., ..:.-."~." •• ,,.•.•••~.... ·.... _ _ ~ •.• _ _ _ _.__ .•M.~. c x (1) :::: E :::: E X (1) = 0, then 0.1 span, 0.2 span, 0.3 span, 0.4 span, 0.5 span 14.0' for HS20-63T loading 4.0' for military loading 200. ' for the case of no live load Now that all fixed end moments are knoNn, the corner moments are found by using the unit distribution, the unbalanced shear is corrected, reactions are found and shear is checked. If shear exceeds the allowable, the slab is incremented until the shear is below the allowable. The slab moments and wall moments are computed for each tenth point and the largest positive and negative moments are saved. This is done for every live load case (if applicable) and the case of no live load and for each load type. Cover = 2" except for bottom of top slab which is Bars of Itt diameter are assumed, therefor; l~fI d for design = thickness _2" for bottom of top slab and top of bottom slab. d for design = t:[lickness -2~" for all other reinforcement. The moments labelled corner are the computed moments at the intersections of the wall and the slab centerlines. This corner moment is called M in the following paragraphs. CRRM1, CRRM4, CRRM3, CRRM7 are moments which are found by using the following formula: (diagram on next page). Moment = M - e'*SHEAR The steel ·for these points is designed for combined bending and axial stress using the following formula: = Moment {from above) +e>:~Thrus~ fsjd ---- Thrust fs o II! 1'34 I' o WIIIi'iE-----tt~ 5" ~ a r e' • M = Computed corner moments e = Distanoe from the point of applioations of the thrust to the centerline of the tensile steel be1ng des1gned e' = 1/3 the thickness of the adjo1n1ng member • l • ~ t TOP1P, BOT1P, WAL1P, WAL1N are moments computed at the oenterl1ne of the member, (diagram on next page) • The steel for these po1nts 1s des1gned for comb1ned bend1ng and ax1al stress us1ng the follow1ng formula: ~ As = Computed moment (TOP1P,BOTlp,etc)+e*Thrust - Thrust fsjd fs -- ! t J , t I 0' 135 o I 1 • ~ ~ .'[ .1 tl The culverts are designed in accordance with the procedures outlined in the A.A.S.H.O. Standard Specificat10ns for H1ghway Br1dges, E1ghthEdlt1on, 1961 and mod~ried by the Standard Pract1ces for Des1gn, Detail1ng and Notes, State of New York, Department of Public Works, Dl~ision of Construction, Bridge Subd1vision. A FORTRAN listing of the program is attached to define eng1neer1ng formulae, parameters, methods and Seqtience of Operations. 136 fl.1 .1 ~ 0 ~ Description of Typical Design Output o Items F3, Fe, J, K, R, ERTH, etc. are constants of the program. They are always the same unless the designer chooses to have them changed. They can be changed for any special run or runs by contacting the Bureau of Electronic Data Processing or your EDP liason man. The line starting with span, height, etc. are values the designer furnished for this program. The values labelled allowable moments in concrete are the allowable moments at that section without exceeding the allowable concrete compressive stress. (for a balanced beam) The moments and areas of steel are shown as an outline of the box. That is, the lines drawn on the typical output sheet (next page) can be assumed to represent the box itself. Values on the right half are moments and their mirror image on the left half gives the corresponding areas of steel at those points. The controlling moments are printed out along with the value of X(l) and the type of loading that cAused that maximum moment. NOLL means no live load MIL. means military loading HS20 means HS20 loading The required walls is addition and soil next line gives manimum soil pressure; volume and perimeters of steel for bond. The weight of the included in the maximum soil pressure. A 1/2" to top of bottom slab is also figured in the volume pressure. Point of zero moment and maximum shear are shown last and are self-explanatory. o 137 INPUT IDENrrIF'ICATION o Constant Card (Last card in object deck) Symbol F'S FC CJ CK CR EHTH CONC UTOP Field Allowable tension steel stress - P.S.I. Allowable stress in concrete - P.S.I. xxxxx.xx xxxx..xx xx.xxx xx.xxx xxx.x xxx.xx xxx. xx xxx.x F'PR xxx.x xx.x SAM x.x SAlVl1 x.x ALANE x.x BOTAD x.x V Explanation j k R or K Weight of Earth - #/ft) Weight of Concrete - D/ft) Allowable bond stress in top bars - P.S.I. Allowable vertical shear - P.S.I. Equivalent Fluid Earth Pressure #/ft) That part of wt. of walls to be used in design (0.0 minimum and 1.0 maximum) That part of side load to be used to reduce positive moment in slabs (0.0 minimum and 1.0 maximum) Number of lanes, (Either 1.0 or 2.0) 2.0 if lanes are to overlap transversely. The number of inches by which the bottom slab exceeds the top slab. I Program Card . SPAN HT ~tLL TIPE WALL xxxxx .. xx Clear span - ft. Clear height - ft. Top slab thickness - inches Height of fill - ft. Type of loading Wall thickness - inches xxxx.xx xx.xxx xx.xxx xxx.x xxx.xx Card No.1, 2, 3, 4, 5 etc. are similar One. program card for each design. o . 138 m*_ rnritint rt5*ttr#ttiZrir o Double Box Culvert Program Number 28)1 General Given the clear span, clear height, the thickness of slabs and walls, the type of loading and the height of fill, the program outputs the maximum moments and maximum required areas of steel at all the critical points on the culvert together with the distance from the point of zero moment to the center of the wall for the top and bottom slab. The location of the live load for each maximum condition, namely the distance from the centerline of the wall to the first wheel load, is also outputted together with miscellaneous information such as the required perimeter of steel in the top and bottom slab, the maximum soil pressure and the volume of concrete per foot of box. Typical Design Output o 139 The program does a unit a 1 kip-ft. fixed end moment that can receive a fixed end distribution for each case. future use. moment distribution by placing on each of the 14 member-ends moment, and doing a moment The answers are stored for The fixed end moments due to dead load, and side load are computed and saved. (A 2 ft. live load surcharge is added to the fill for the conditions which include live load). The fixed end moments due to ,shrinkage, temperature fall and temperature rise are computed and saved~ (These can be made zero by changing the value of the shrinkage coefficient to zero on the constant card. The corner moments caused by temperature change, shrinkage and side load are computed and saved. The live load impact coefficient is is, gr~ater than 8' and also greater than spans, the live load is not considered. the live load is applied as shown in the found. If the fill the sum of the two In all other cases, diagram below. PCl) ......-------X(1)--p-(-~)---~ ){(a)--~... P(l1 ¥(I) -~r--- A 140 o o For HS20-63T loading A = 14', P(l) and P(2) = 3200 x (Impact coeff.), P(3) = 800 (Impact coeff.). For Military loading A (Impact coeff.), P(3) = O. = 4', P(l) and P(2) = 3200 x X(l) = 0, then 0.1 span, 0.2 span •••••••••••• l.O span. The last condition is always X(l) = 200 for the case of no live load. The wheel load is distributed over a distance of 1 3/4 time the fill longitu~inally. When the fill is less than 2', the wheel load is distributed 6" longitudinally. (This is done for ease of computations). All wheel loads are distributed 5' laterally. By use of the unit distribution, the balanced corner moments for the combined effect of live and dead load are computed for each case of live load. Shear is checked in both top and bottom slabs and the thicknesses of the slabs are incremented as needed to satisfy shear. If either top or bottom slab is incremented, the program returns to the beginning and starts over with the corrected slab thicknesses. If shear does not exceed the allowable stress, the program continues. The program now computes the moment at each 1/10 point to find the critical points. As the program goes through each loading condition, the biggest positive or negative moment is saved (whichever is applicable). The effects of temperature, shrinkage and side load are now added if they increase the moments at the sections we are interested in. The moments labelled corner are the computed moments a~ the intersections of the wall and the slab centerlines. This corner moment is called M in the following paragraphs. CRRMl, CRRM2, CRRM3, CRRM4, CRRM7, CRRMS are moments which are found by using the following formula: (diagram on next page) Moment = M - e'*SHEAR The steel for these points is designed for combined bending and axial stress using the following formula: As = Moment (from above)+e*Thrust - Thrust fsjd fs o 141 o Thrvst ....----,t~$"'" a r
e'

M = Comp.uted corner moment.B
e = Di·stanoe from the point of appll~a>tlonsof ,t'he
thrust to the c,enterl1ne of the tens11e,stEiel
being des1gned
e' = 1/.3 the th1ckness of the adj·o1nlngmember

'TOP'l'iP. BOT1P, WALtP, WAL1N are m,otDent.s, co,mp.~\~,Q"
,\oe·nter!L1Ge of the member ~ (.d.iagraInon,nextpag·e·):

~at;, the

Tbe steel t.or these po1,nts 1sd.s:~snedto;1!~mi.l)1n~·
'.l),endlllg and ax1al stres~ uS'ing thetoll.owlllgfor1il!l;~a:
As = Computed

motnent

(TOP'1P,B'OT,!'P,etcl-f.!!~,'fhrust

','

t sjd '. "

", ' , " < " " .

- Thrust

ts

o

o

Impact
0---------1'
l' 1"-----2'
2' 1------2'11"

3'

(1------

Cover

= 21-

1.3
1.2
1.1
1.0

exoept tor bottom ot top slab whioh 1s

d tor des1gn

=

lift.

th1ckness - (cover +1)

The culverts are des1gned 1n accordance w1th the
procedures out11ned 1n the A.A.S.B.O. Standard Speo1t1oat1ons
tor H1ghway Br1dges. E1ghth Ed1t1on, 1961 and mod1t1ed by
the Standard Praot1ces tor Des1gn, Detai11ng and Notes,
State ot New York, Department ot Public Works. Divis10n ot
Construct1on. Br1dge Subd1vision.
A FORTRAN l1st1ng ot ~he program 1s attaohed to detine
engineer1ng formulae, parameters. met~od8 and Sequenoe ot
Opera~~oDs.
143

INPUT IDENTIFICATION
Constant Card No.1
Symbol

FS
CR
UBOT"
UTOP
SAM
FPR
V

AN
CJ
ANCOF
ALANE

Field
xxxxx.x
xxxx.
xxx.x
xxx.x
xxx.x
xxx.x
xxx.x
xxx.x
.xxx
x.x
x.x

Explanation
Allowable steel stress - p.s.i.
R or K
Allowable bond stress in bottom bars - p.s.i.
Allowable bond stress in top bars - p.s.i.
That part 0 f wt. 'of walls to be used .in
design (0.0 minimum to 1.0 maximum)
Equivalent fluid earth pressure - p.s.i.
Allowable vertical shear - p.s.i.
n
j

1.0 if using (n-l), 2.0 if using (2n-l)
Number of lanes that can overlap
transversely (1.0 or 2.0)

Constant Card No. 2
F'SC
FC
ERTH
SHCOF

xxxxx.x
xxxx .•
xxx.x
xxx.x
xxx.x

xxx.x

TFALL
TRISE
ASCOF

xxx.x
xxx.x
.xxx
x.x

SAMI

x.x

CONC

OK

Allowable stress, compr. steel
p.s.i.
Allowable stress in concrete - p.s.i.
Weight of earth - U/ft. J
Weight of concrete - #/ft. 3
Shrinkage coefficient for concrete
In./In. x lOb
The number of inches by which the
bottom slab exceeds the top slab
Temperature fall - OF
Temperature rise - OF
k

That part of positive slab steel which
is carried over center support and is
to be used as compressive steel.
(0.0 minimum to 1.0 maximum).
That part of side load to be used to
reduce positive moment in slab.
(minimum is 0., maximum is 1.)

Program Card #1

OSPAN
TIPE
OTI
CEWAL
vJ,ALL
OHT

OFILL

xxxxx.x
. xxx x •
xxx,. x
xxx.x
xxx.x

xxx.x
xxx.x

Clear span in feet
Top slab thickness in inches
Center wall thickness in inches
Outside wall thickness in inches
Clear Height in feet
Height of fill in feet

o
144

N.Y.S.D.P.W.

EDOS/6S)

. DATE _ _ __

CHECKED BY

DATE _ _ __

BACK CHECKED

DATE _ _ __

JOB NO. _ _ _ _ _ _ _ __

DESIGN OF DOUBLE
CONCRETE BOX CULVERT
INPUT FORM

2831.02

SHEET

CALCULATION FOR _ _ _ _ _ _ _ __

SWITCH SElTINGS: PARITY & 1/0 - STOP._ ••• _ •• OVERFLOW

a

PROGRAM. ••••••••••• 1. 2. 3 & 4 - OFF

CONSTANT CARD NO. 1- NEXT TO LAST CARD IN OBJECT DECK - DO NOT PUNCH

7/8

FS

CR

12113

P. 5.1.

I

P.S.L

UBOT

17118

UTOP

22/23

SAM

27128

I

P.S.I.' O. to 1..

- 32133

FPR

V

I

P.C.F.

37138

I

P.S.1.

AN

Es/Ec

CONSTANT CARD NO.2- LAST CARD IN OBJECT DECK - DO NOT PUNCH

1

7/8

FSC
P.S.I.

Fe
P.S.I.

12/13

17118

ERTH
P.C.F.

I

22123

CONC
P.C.F.

27/28

SHCOF

1

32133

BOTA 0
1 INCHES

I

37138

T FALL
D F

OF.....______

FS

All. stress-tension steel

FSC

All. stress-compr. steel

eR

RorK

UBOT

Allowable bond stress in bottom bars

UTOP

Allowable bond stress in top bars

SAM

% of wt. of walls used in desi.,

FPR

Equiv. fluid earth pressure

V

Allowable shear

AN

n (ES/EC)

CJ

T RISE
D F

ANCOF
ALANE

f-I

1. if using n-1, 2 if using 2n-1
2. if lanes overlap transversely,
otherwise 1.

~

V1

7 8

1 OSPAN

32 33

o FILL

TIPE

CLEAR
SPAN

TYPE
OF

FT

...

TOP

CENTER

ClEAR

HT

37

HEIGHT
OF

Allowable stress in concrete

ERTH
CONC

Wt. of earth
Wt. of concrete

SHCOF

Concrete shrinkage

coeff. * 10

6

(usua1ty O.-or 200.)

FILL
FT

FT.

FC

SAM1

% of side load to be used to reduce
positive moment in slab

The number of inches by which the

TFALL

Temperature Fall

bottom slab t exceeds the top slab t

FILL

••
Tl
_

. ,:'" _.....u...

.~

...i,:

k

ASCOF

% of positive steel carried over
center support.

OSPAN

....~ . . .~."!'.-~-. ~.-,-.-.-.-.-.-.-~..1

",

~

,.

01) . . .

SPAN

1 I~:

= skew span for

=

~

()D to 2()D skew•

right angle span for 2()D and

over.

~:.

Q'

.

Temperature Rise

CK

EARTH SURFACE

,......
:.__"'<"'~'
.• :,;,. '.; .... ,.,v,' . ,:-' .~.. ~ " " D' '.,
';' •
'"
•
• "
• • • 11".' . . . . _
• " • •. , '. ~.

.;..'

TRISE

0t1'6~'
I
,.' .. '.' ..... ,.
••

~~

••. ' . c'-' ......... ..; •.

.'#

~:
~:;"
~',~. :.tI .... ·, ... ~ ...... '!';

WALL

• TIPE= 1.
TIPE=2.

HS20-63T

.. Minimum dimension desiled.

""""-~"--'-'(jE§lr;''J

9F,

DdqslE BoX'cULvERT ,',

"-'"-~<-"<.. '

-

'<7','~''''"''''~-"''-~-"~~"- , '~"""-------,
;.C:~'!-<.

-::t;

I

. i

ciJN§fANfs
._"

-.~ ,~-::~""",:

-20Gotho

.";- "'''}-~'~''{;~

lZtJ.O

litHl.9

i600dilG

,s

iao.o

300.0

'197 .• 8

.0

lSlhb

.

~'-

."

,

•. _

i.g
~.-_.~

"' . . .

.o,:,.~:~_.::;.

i.o

1,0

.~}i

.0

.0

.dJ

.875

io~o

90.0

38~b

d

i~

,I'

---"-

'l1'lt"Ul

.. iJSpAN
~ '2

- Ott!
1 i\

U

"

Otl - , - -tEHAl-

HAlt

~

1~':

'i , ,

1','

I, i

- t I-PE

II

o

GFltt"
3"";i'j

r.u

X(I)=
7'\.)r-.L

-2.04

1.42

-.96

- - ------

17.1
\..,"\1\,',,,-

R;),'Ii I

J.Io.~rL

,0

X(I)=

i2.2

~!"""'_!""t..,_k

___

I U

r

L

-28.~1

-'-23.51

ASN2

CRRi'i4

-.~~

-":::0" 10

f-'

~

/\\L'I~-

0\

ASP2

ASN3
.. 0

,,'1-,,"

.. vu

:::r--

lOz:.z:

1\\10/

i··!AlIN '

\'JAllP
.vv
L'. "

-L~.VJ

A~Nzt:

\;,KKT'l;)

--l. .09

~27.94

;«(1)=

MAX. SOIL PRESS.=
u

r::l-T'--I'KU1"!-~Li"T

1: h

AS ""3

ASiUTc'}

I uri.

~

U

.---z: C "u

". en

I •

18.0

XCI)=

2.4
I 1.1'"

t,KKI',1

36.48

-27.01

T'1~l"":l;lui-l

rL{~"lTlL:-l~

3.7 11\!.

12. 2 FT.

.1..l.

17.1
--.--.---

CUKI\lCK

-29.71

11"J.

Ol\'

.. L J .

I,A;'.

:t51 io-_L

CENTER \·iALL

SHeAR

4.3 IN.

67.6

LeI

-,f.Z

Ii·;.

"

blhb~SI(J:J~

Tl=

--nu

OUT ER \,;ALL

6.3 FT.

FT.

XCI)=

7.2'C.Y.

VOL,

CENT EK \·JA LL

3.9 FT.

TOP SLAb

17.1

A,Sr~5

OUT ER v;A L L

'-ocr~U13

7.3

;"':-'~~':"""f...i

l:,r\."n~----'---\;,-u",,~T'\

33.16

-46.20

Xtl~~

-. _ _ ~!.....

r

T2=

18.0

FIlL=

3.0

,-~a

MORE/LESS - CPM AND PERT FOR DISK AND PRINTER
Authors:

Melvin DeSpain and Alan D. Johnson

Plum Brook Station
Sandusky, Ohio
Introduction
l
2
PERT and CPM , perhaps because of their origins and their first appl ications,
have generally been thought of as being limited to large, high-speed, computers;
although programs for smaller machines with lower through-put speeds have been
written. Core size 1 imitations have generally made these sma1l machine programs
less efficient than could be desired from the standpoints of the number of jobs
that can be handled for a given project and the number of data input and output
passes that must be made. The addition of random access disk files and the
medium-speed on-l ine printer now allow the formulation of better programs for
CPM and PERT, Throughout the following, PERT and CPM are used synonymously.
The two techniques, although similar in many ways, are not exactly the same.
The really basic differences are two in number; the first being that CPM provides as its major output the scheduled completion date for the project,
determined from the job input data, whereas PERT, with a fixed and arbitrarily
assigned project completion date, reports how far the project is ahead or behind
this date. The second major difference, now fast disappearing as various versions
of, PERT are formu1ated, reports the status of the nodes of the arrow diagram,
whereas CPM reports upon the individua1 jobs and activities. This type of report
is also available under many PERT systems and, in fact, in our organization is
the one finding greater use. Since the first steps of both phases of PERT and
CPM are essentially the same, with the differences occurring in the output
format, they are treated synonymously.
The work described in this paper was done to provide CPM capability for NASA
Plum Brook Station, using the 1620 system. The requirement here is to follow
sma11 to medium size construction and research equipment installation projects.
The very large projects are programmed for the high-speed computer installation
The programs for this system have been written for the 1620 Hod. I with a 20K
core, a 1622 card-read punch, a 1311 disk file, and a 1443 printer. The Monitor
system is used, as well as the special features (indirect addressing, TNS, TNF,
etc.).
Note 1.
Note 2.

o

!roject !va)uation and J!eview .!echnique
~ri t i ca I fath ~ethod

147

C-'\"
I

,

.~

System Requirements
In order' to develop a useful system:~a review of the existing 1620, programs
was made. The.i r d i ff i cu 1 ties: and 1 i mi tati ons were. exami nE!!l in the 1 ,j ght of
the requi remen,tsg i yen be low. The first gene ra 1 requ i rement was' that any
system developed must place the least strain possible upon the eng,ine.ering
manager. This, in turn',means that minimum limitations must, be. placed upon'
the preparation of the origina.l arrow diagram.
It also requires that the
preparation of input material must be easy and straight-forward. Another
prime requirement is that the output shall be both current and easily
understood.
It has been adequately demonstrated by people working in the
field of PERT and CPM that failure to meet the above requitements reduces
the work performed to a mere exercise.

Other ·requir.ements perhaps pecul iar to our ope,n shop opera.t·ion are that the
program systems shall re.quire" only a minimum understanding of console· procedures,.
This involves ma.king the system as nearly self-protecting and fail-safe as~
possible within the other re.strictions imposed. Al so, because of the 'o,pen
shop ope rat i on, th rough- put become s i mpo rtant since it may' be eng i ne'e ring
personnel standing by during the running of the system rather th~n cJerica1.
!n addition, there are the obvious machine costs to be c,onsidered.
Lastly, the requirement for system flexibil ity was imposed. This meant the
abil ity to p,roduce either PE.RT or CP'M outputs, the abil ity to handle input
durations either in working days or actual caJendar dates, and' a wideselection of output formats as may be requi red by the.,job: being. run.
System Organization
Us.i ng the Dis k Ut i 1 i ty P rog ram of Mon i tor, the va r i ous· prog.rams tha:t . . make up

the system can be stored with program, names 1 isted in the Equiva.lence table.
Since therea.re a large number of programs involved, the u.se of this more-orless permanent storage may be 1 imited" and, for that reason, a. system of
negative DIM numbers cover:ng the program storage in the disk wor,king cylinders
was d·eveloped. The presence oJ a special 10.ader in core as the obje:ct programs
otherwise, normal -"'OLOAD action of the Monitor Disk U-ti~ ity Prog,ram takes
place.
Once the programs have been lo:aded on the dis k,a starting. p.rog ram' is run. that
builds a table of available progTams by executing a searchof'the:Equivalence
table and the special neg.ative DIM tables.
If a·· given pro.g,ram is: found in both
pJ aces" acho! ce as to wh i ch one to use i s alI owed. Th i's featu re allows

148

o

modified versions of ,a permanently loaded program to be used, which is
espec i all y vaJua.b le dur.i ng .prog ram deve 1opment phases. I n add i t i on to the
construction of the program table, subprograms and er.ror messages are placed
for easy availabil.ity and the company organization name entered. This
program exits to a record analyzer (RCANYL) routine that is the tie between
the va r i ous pr:og.r.ams of the system..
When a particular job is finished, a cleanup program is called to core to
clear the program prerequIsite table and prepare for the next job. If the
last job has been finished, this program will destroy any reference to the
programs in working storage and exit to Monitor I Supervisor.
System Programs
As mentioned above, the system concept has been used for this work. This
means that the pr.ogr.ams are called as required, by the use of a supervisor'
type routine. Each program when called checks a table to see whether the
required prerequisite program(s) have been run. Listed below, under the
assigned Eq.uLv.alence name, ar'e each of the programs developed thus far:
PHASEA - This program stores the project name and reads in the
job cards. In the process, it looks for blank fields, checks for
more than one start or finish event, and looks for arrow diagram
loops. To make use of the fol'lowing program, the input deck is
sorted so that all jobs having a common origin (I) are read in, one
after the other.
~n order to provide a semblance of order (not
required), they may be sub-ordered by the J number. With the input
cards so ordered and under switch option, a table of addresses is
bui It on the disk for use of follow-on programs. A J node frequency
table is also built and stored. The raw data from the job cards is
stored with one job per disk sector.
ORDRIJ - This is the key to rapid execution of the two programs
following. Assuming properly assembled data from PHASEA, a table
of job addresses in order of calculation for a single data pass is
built and stored on the disk. Under switch option, an ordered Jist
of jobs may be outputted on the printer and an ordered deck outputted
from the card punch. Use is made of the J node frequency table in
preparing the.ordered table,

149

o

,PHASEB'" Using the general methods developed by Sauer in his MISS-LESS
prog'ralll,a table of! values is built in core and upon completion i~
placed on the disk. This program, under option, uses the tabledevel':'
oped under :():RGR!,J, maki ng only one pass through the. data. ,W'j'thOut
this option, as many passes are made as ar'e req'uired to corrtpletethe
eva 1uati:dn ,as is don'e in the'Ml SS- LESS program.
It can be sH6wn fo'r
the worst case that, without otClering, the number o~passes thro:ug/1
the data is equal totlierl1tiJmberbf jobs plus one. Ora:erin9,thery,
becomes more important the larger the job to Be done and the more
random is the node number assignment.

(,f---""
I'

,

'--~I

PHASEC - Similar to PHASEB above, except that the J values are
calculated and stored each t6 a data sector. Agairi, th~ optioh to use
the tabl e deve loped by ORDR! J is aVa i 1ab 1e wi th the same time say i ngs.
In this case, the table of ordered addresses is run froM re'r to front.
CPCALC - Bringing in the! table produced under PHASEB jnd taking ~~ch
job in turn, this program calculatss earl iest and latest start, e~rliest
and latest finish, total float and free float and, in addition, marks
each job data sector as to whether the job is critical (total float
equal to zero) or hot.
CRTPAT - Up to th is po i nt, the ca 1cu 1ated da ta is not sign} t'icant ly .
different from that availabJe upon the completioh of AISS~LESS~tHai is,
i nd i v i dua 1 jobs have been ma rked a's' to whether they fall on some~ t r it! cal
p,ath. This program searches out the critical path or paths and builds
and stores address strings for each. As in option when ~ultiple paths
are di scove red, the du rat i on of tne second c r i tical eve'ht cah b~ reduced-by one unit and the program call made ,to' PHASES. Through the mult,ipJe,
pas ses, a sing 1e c r i t i ca 1 path cah be deve loped. The jobs wlth chang'ed~
durations are marked for future o~tp~t uses.
BI LDAY - Thi sis the fi rst of the dati ng programs. This o'ne bui lds a
ten year calendar, complete with holidays, on disk storage. Two ver~io~s
of this program have been developed. The first is self-2ohtained, in _
that the starting date and holidays are part of the source progra'm:, The'
second versi on, wi th' a call to th'e ca rd reade r for data, wi 11 bl. '; Jd' any
ten year ca lenda r with on I y the holidays requested' th1rough ca rd input.
A un i que Iio 1 i day occ:u rr i ng On ly once' can be entere-d if des ired.
BILDAT - Th is prog ram bu i 1ds a tab'l e of wbrki ng days i ncore', .start i 1,19
with the project starting date. Work week length' can be selecte:d and
the inclusion of holidays irithe work week,if desired, is provided for.
A- four digit date representation is used. This program can also provide
a six digit representation. A table of wbrking days for each month is
al so bu i It.

o

LSTEVN - This, the first of three output programs, will, under two
options, either list all jobs, making note of those that are critical,
or list only the critical jobs. Output, of course, is on the printer.
LSTPAT - Two output formats are provided by this program. One gives
a parallel presentation of the jobs that make up each critical path.
The second 1 ists the critical jobs with their data for each critical
path. Date or day presentation may be specified.
SEEPAT - This program represents the first attempt to visualize a
critical path on a real time basis. In addition to plotting the path
itself, the non-critical jobs leading to the successful attainment
of any event are also shown. The first ha1f of the printer sheet is
given over to the display of the critical path, with the abscissa
being a uniform time scale in working days. The second half of the
sheet I ists the data for those critical and non-critical events
referenced on the diagram above. There is little question that this
program will see many revisions resulting from feedback from the
field.
Tentative Specifications
The
the
The
for

input data card format is the same as that for MISS-LESS, except that
allowable job name cannot exceed twenty-six (26) alphameric characters.
only card output so far (ORDR!J) is the same as for data input except
a sequence number appearing in columns 76 through 80.

Nodes may be numbered I through 3000, inclusive, and may be in any order
relative to their appearance on the arrow diagram. The total number of
jobs, then, is one less, or 2999.
Job durations are loaded to four digits and, for use with the dating programs, must be in days. Projects are thereby 1imited to slightly over
27 years, if dating is not used. With dating, the table in core covers
1499 working days or approximately 4 to 6 years, depending upon the
I ength of the work week.
Honey is limited to five digits for each job and little use is made of this
data at the present time; however, some future programs now being planned
will make more extensive use of this data.

151

o

Status

C\
'h,

A11 the programs, spec if i ca 11 y ment i one;d in th is. paper have been wr i tten and
debugged, with the except.ion of SEEPAT which is seeing much' minor modification
to impr'ove u.ponthe output format. As· of the present writing, several sets
of input cards· have been· used, but the' largest project has involved little
over 200. Jobs.
In addition, the input data was cle.an. The"idlot 11 tests
are just starti.ng. Since' the system' is to be used on an' open shop:, bas:is by
non-computer-trained personnel, it must be assumecr that every poscsfbte t:hing
that can be done wrong will be done ~rong. The method of approach is for
experienced people to try all of the. mistakes they can th'ink of, mod'ifying
the. pro.gram so as to be fa'i l-safe for each mi stake. Next, the system. is,
released to the fie,ld, with untrained people doing the work. Expe,rie.nced
pe rsonne 1 wi 11 be ava i 1ab 1e to' mon i tor the operat i on and make not.e of any
othe r. p rog ram def i c i enc i es. Plans a re be i ng made to re 1ease the:, system to
a few interested users. so that the programs can be developed to be fully
operational at the earliest possible d.ate.
It is intended that the system
will be tendered to the Users Group Library if there is sufficient interest.

_

"

Futu re Pl ans
The system described provides for a total of 25 programs, leaving~: considerable,·
room for expansion. A number of programs suggest themselves in the area of'
r . . . _. . _ .
I
.
•

_ ,

v!sual

•

•

OUl:PUL

A

• I

_

_

_

MnOl:ner area

OT

Inl:eres(.

I

_

_

_ _.

•

IS JOD progress Inpuc \per cenl:

completion) to handle the si.tuation of very long jobs on the' critical path.
By far the most interesting is the problem of cost· versus t,ime., espec.ially
when dealing with construction p'rojects. The question to be answered in
thTs case is:. Where can I most effectjvely spend some extra:~ dolla:rs to
shorten the over-all project leng.th7 The limit of 30.0.0 event,s is strictly
one of core size and it is quite feasible to mod'ify the prog.ram fo.'r larger
projects.
It is also possible that certain of the outputs that. go to the
printer could be modified for the card punch~ making listing on a.407 or
other similar equipment possible. Naturally, it is not the intent'ion of the
authors to address themselves to the problems involving other machine configura~
ti ons.
Conclusion
By now, it is quite obvious that' this paper' is by nature a progress repor,t'
and that it is unl i ke 1y that th is system of prog rams wi 11 ever be fu 1 j.y comp 1ete
since new ideas, techn i ques, and requ i rements constantJ y appear. Work thus far
has, however, demonstrated that the addition of disk storage, and 1 ine printer
as' peripheral equipment to the 1620.. CPU makes possibl'e, and practical, CPM
and PERT programs for projects of medium: s i,ze.
I t has al so' been shown that
the estab~ishment of arr order for calculation very significantly reduces the
time necessa~ry for job time ca 1culat.ions.

o

c'

:MINUTES OF

~

CHENICAL ENGINEERING

Miami, Florida

l1ay

~

MEETING

10, 1965

The Chemical Engineering Team met with the following in
a.ttendance:

A. H. Best
H.
Gelsi
J. L. Jones
T.
Korelitz
B.
NacHullin
C. s. Schrodel
J. E. "Wages

There were no papers to be pres€nted, and so the meeting centered
about a group discussion of ap!)lications and problems • Topics of
interest were process design, process control, eqcipment design,
and optimization. The discussion of process control centered about
the need of an adequate process model and the difficulties of
obtaining such a model.
Respectfully submitted,

C. S. Schrodel,
CSS:bah

o

153

Chair~

c

o

FITTING STRAIGHT LINES TO X-Y DATA WHEN
BOTH VARIABLES ARE SUBJECT TO ERROR
L. D. Y. Onq and F. K. Durkan
Health arid Safety Laboratory
U. S. Atomic Energy Commission
New York, New York
Application of the least squares criterion for fitting
a straight line to X-Y data is common knowledge and one of
the most extensively-used statistical techniques.
However,
many analysts fail to fully appreciate the importance of an
assumption stipulated by the method - that the independent
variable, x, be either controlled or free from error.
It appears, surprisingly, that few analysts are familiar
with possible alternate methods that might be applied to cases
where both x and the dependent variable, y, are subject to
error.
This discussion attempts to acquaint the audience with
this little-known and controversial area of statistics. We
shall first discuss the general statistical problem and then
consider in detail three methods of solution that are available.
In considering the relation between two physical quantities,
it is usual to think of one variable as being the causal
variable and to describe it as the independent variable, the
other variable being dependent on it.
In the statistical
sense, there is no implication that the independent variable
is causal.
The values of the independent variable may have
been fixed or selected in any manner.
They need not be
randomly distributed. When sampling is random with respect
to both variables, either variable may be regarded as
independent for prediction purposes.
This leads us to distinguish between the linear regression
relation and the linear functional relation.
The regression
relation expresses the "expected" value of the dependent
variable in terms of the "observed" value of the independent
variable.
The functional relation describes the "expected"
value of the dependent variable in terms of the "expected··
value of the independent variable.
The essential distinction
between the two lines then, is that the regression line refers
to "observed·' values of the independent variable, the
functional line to "true" values.

o

154

The functional relation is required for the statement of
laws in the empirical sciences which would hold if no errors
existed. The functional relationship and the regression line
are the same if, and only if, the independent variable is not
in error. For example, the hypothesis of the existence o'f
density is that M = pV where p is the density and M and V
represent mass and volume respectively. By the functional
relationship we are solving for p. By the regression
relation we are predicting "true" masses from "observed"
volumes. This is possible since it is known that the mean of
the "true" masses is linearly related to the "observed"
volumes and the slope of this line is the regression
coefficient of mass on volume. Hence the regression relation
continues to have a meaning if both the variables are in
error: it describes the relationship between the mean value
of one variable and the other variable, and is thus a legitimate
technique to use in the problem of prediction. Using the
functional relation for purposes of prediction when both
variables are subject to error results in predicted values
that are biased.

c';
~~~

Thus, not only do linear functional relations differ
from regression relations in general, but they also have
different applications. A theory may specify some relation
among the "underlying" or "expected" values of certain
variables. The functional relation would be of interest then,
to determine whether the data support the specified f'orm of
relationship, as well as to estimate the parameters of the
relationship or to check the correspondence of given parametric values with the observations.
The regression relations are based on the variation in
both the "true" values and the random errors to which the
observations are subject, while the functional relation is
based on the variation in the "true values" alone. The
functional relation is, therefore, relevant only to a study
of how the "true" values of both variables are affected by
some extraneous variable or variables, i.e., the relationship
shows what elements of the system are invariant under changes
in conditions. For example, in calibration experiments we
are concerned with the "underlying" or linear functional
relation existing between the results given by two instruments,

155

o

o

persisting through changes in conditions and regardless of the
random errors to which the results may be subject.
Generally,
it is required that one instrument be capable of replacing
the other under a wide range of conditions. Clearly, the
greater the range of changes in conditions of the variables
to be measured, the less the relative contribution of
experimental error to the total variation of results, and
the more closely the two regression equations (x on y, and y
on x) will approach the functional relation.
When the independent variable is free of error, or
"controlled" by experimental technique the variable may be
dealt with as though it were errorless, since its
"observed" and "expected" values coincide.
For this case
then, the regression relation is the same as the functional
relation, and both may be estimated by the method of least
squares. However, when the independent variable is subject
to error or "uncontrolled", the coefficient of the regression
line obtained by least squares is useless for examining the
correspondence of data with a theoretical relationship
since its value is affected by the magnitude of the error
in the independent variable.
Thus its slope will, on the
average, be smaller than the true slope.
Consequently, if both variables are subject to errors,
the problem of finding the best values of the empirical
constants is more complicated. A common feature of most
solutions proposed is the requirement that certain Ita priori"
assumptions (independent of the observations) regarding the
standard deviations of the errors in X and in Y or at least,
the ratio of the two error variances, be known.
It is the
investigation of three possible techniques for determining the
functional relation when none of these three quantities are
known accurately, that occupies the latter part of this talk.
Scarborough, Wald, and Bartlett, all propose a solution
to the common case where the observations have equal weight,
i.e., where both variables are subject to uncorrelated errors
of the same order of magnitude.
Historically, the two regression lines (x on y and y on
x) obtained by least squares have been termed the elementary
regression lines.
These are taken by most investigators as

o

156

fixing limits between which the best line required must lie.
It is often maintained, further, that the best line is such
that the mean-square deviation of the observations, taken
perpendicularly to the line, is least.
This line, which
passes through the point o·f intersection of and lies in the
acute angle between the elementary regressions is variously
called the orthogonal regression line or the mutual
regression line.
Such a line is constructed by what we term
the "Scarborough method" because of his excellent presentation
of the method originated by Adcock, Pearson, and others.

C

The "Scarborough method" (1958) considers the line which
best fits the observed points as that which minimizes the sum
of the squares of the perpendicular distances from the points
to the line.
The derivation of the method is as follows:
of any straight line may be written in the form
ax + by + 1 = 0 .

The equation

(1 )

This symmetrical form being used because both x and yare
assumed equally subject to error.
The sum of the squares of
the perpendicular distances from the points (Xl' Yl), (x2' Y2)'
etc. to the line is therefore

F

(a,b) = d 2 =

-

1

a2 + b2

L(aXl + bYl + 1)2 + ( ax2 + bY2 + 1)2

(2)

and since this is to be a minimum, its partial derivatives with
respect to a and b must each be zero.
Taking the partial derivative of Equation (2) with respect
to a, multiplying by a, then taking the partial derivative of
Equation (2) with respect to b, multiplying by b, adding the
results and simplifying, yields

(3 )

o

* ...

But since
to

of
oa

o

=

a

~

=

and QE

ab

x + b

o

for a minimum, Equation (3) reduces

Y+ n

~

= 0

or

a ~x)

Cn~) +

+ b

1 = 0,

which shows that Equation (1) is satisfied by the values

x

= ~X) =

x, y

= ~-Y) = Y

In other words, the best representative line always passes
through the centroid of the given points.
The slope of the
line is given by (- ~) where

b

= _

(Lx) (a) + n
~y

~nd

a is found by substituting this value of b in the
following equation and solving:
a (a 2 - b2)~xy + (a 2 - b2)~y - 2ab ~x - a 2b (~x2 - Ly2) - bn = 0
The intercept of the line is given by (- ~).
The following objections have been raised against the
"Scarborough method":
first, there is no justification for
minimizing the sum of the squares of the perpendicular
deviations, and not the deviations in some other direction;
and second, a more serious objection, the straight line
obtained by this method is not invariant under change in the
units of either variable.

o
158

;;;;

tllll

The ether metheds fer determining the functional relatien
between twe variables, described by Wald (1940) and Bartl;ett
(1949), respectively, use greupings of the va.riable,s.
Tne
basis .of beth metheds is that, if the values can be separ~~ed
inte a.. few large dist'inct greups, the means .of the, var iables
within each greup will be little affected by randomvaJ:'iati.on,
and the differences am.ong the greup means will be due te
systematic variatien.
Reughly speaking, the method leads t.o
c.onsistent estimates if a gap in tl),e distributien. pattern .of
values .of .one .of the variables is sufficiently distinct in the
neighberheed .of the greup limits that a greuping bas~d, en
.observed values is equivalent te a greuping based en true
values.
Clearly, under these cenditi.ons, the differences
between greups may therefere be attributed to seme ex,trane·.ous
variates.
Wald's werk invelved the methed .of averages which assumes
that the best representative line is that fer which the
algebraic sum .of the residuals in each greup is zere and
censequently, the algebraic sum .of all the residuals will be'
zere.
It turns .out that when x and y ebservatiens have
weights in censtant ratie, the method .of averages is: unbiased,
and its statistical efficiency cempares well with the ~ethod
of least. squares, at a censiderable saving in laber.
Wa1d
accerding
and takes
greups as
estimated

divides the data inte tw.o greups .of equal siz.e
to the magnitude .of value,s .of .one .of the· var'ia'bles,
the line jeining the peints .of means of the tw.o
an estimate .of the functienal relatien.
Thus the
slepe (b) and intercept (a) are given by:

and

a=Y-bX

Bartlett's methedimpreves en Wald in most instances by
inc.orperating:a suggestien made by Nair and Shrivastava an,d
alse Nair and Benerjee (1942), viz. ,the use .of a slight,ly
m.odified methed which they called the "methed .of group
averages" te give mere efficient results than the'methed .of
averages.
The method .of greup averages assumes the best
representative line is that for which the algebraic sum of
the residuals in each extreme greup will be zero but the
algebraic sum .of all residuals will net be zere.
Fer fitting a

159

illlitfflt.·.'. •··_~"""'_IIIIII-.rIMtrt_Illllllllli

I

o

__

#tm
..
·· ..itt.t...._ _ _ _ _
'

_=__r_'.:I::I:II-.....____t _ _
t

=IiIIII'IIlIlllli"t'.'
t.·'IIIIIIIUn'IIiIUS.lt•t •_

IIIIII."nlilll"."'IIIIi·iilllil=IIII-IIiIIIM'PIliiOO_HY'IIiIYIIiIilIIIIin_lJlyrillll
__mlllllilwurrlll'IIIiIIEF'lIlIIIimPJI_lI'tliJili"".S'·MWiIIIII·
• 911111JE.'
.
___
'1' ','"

IF

li

w

straight line, Nair and Shrivastava, found that by plotting
the points of mean values of x and y for the first one-third
and the last one-third of the whole set of observations,
arranged in order of magnitude of x, and by joining these
mean points we get a better estimate of the straight line
than any other two group means.
By model sampling, Nair and Banerjee, collected evidence
that the method of group averages gives better estimates of
a and b for the line y = a + bx, than the method of averages
However, they used the two
extreme groups for both the location and slope of the
functional line.
Bartlett suggested using as one point the
mean coordinates of the observations, X and Y, just as in
the least-squares method for the location of the fitted
straight line and to use the two extreme groups to calculate
the slope.
Thus the slope (b) and the intercept (a) are
given by

and

a=Y-bX

Generally speaking, the subdivision of data into two
groups (Wald) or three groups (Bartlett) should be decided
on the basis of which system will result in less bias for your
particular set of observations.
Our Fortran Program is available upon request for
computation of the slope of a straight line by the methods
of Scarborough, Wald, and Bartlett. As numerical examples,
we have estimated the functional relation for two cases by
the three methods.
The methods are applied first to a
special case where the least-squares method is appropriate.
This numerical example is the same one that Bartlett used to
show the accuracy of his method.
The attached computer print-out sheet shows the resultant
equations for the straight lines computed and gives the
confidence intervals of the computed slopes, where appropriate.
The 95 per cent confidence interval for slope b of the least

o
160

'squares• line is given by the formula:

where

For the "Scarborough method", the slopes of the two
elementary regression lines limit the location of the true
line. The slope of the line for the first case i.e. where
the least squares is appropriate calculated by the
"Scarborough method" is identical to that calculated by the
least squares method because there are no deviations in the
x variable of the test case. The smaller the x deviations
relative to the y deviations, the nearer the line calculated
by the "Scarborough method" to the elementary regression
line of y on x, and in the converse case, the nearer the
calculated line will be to the elementary regression line of
x on y.
Wald's confidence interval method of assessing the
accuracy of the slope of his line is solving the following
formula for t3:
2

=

This

relat.i~n

t ~2, n-2 [S 2 _ 2PS
+ ~2s 2]
N-2
Y
xy
x

does not hold for a small number of observations.

Bartlett adapted Waldls confidence interval method to
assess the accuracy of the slope of his line which results
in an equation of the basic form:

to which a modification is made to handle a small number of
observations.
To sunnnarize: when presented with asc'atter of x - y
observations, the oft~n ignored least squares' specific

161

C"

'I

assumption that the independent variable, x, be either controlled
or free from error - limits the applicability of the inferences
drawn to predicting values of y for changing values of x.
The three methods described in this paper enable us to
though both are masked by errors and the error variances of
both x and y variables and the ratio of these error variances
are all "unknowns".
These three methods enable us to find
a consistent estimate of the slope of the functional line
when the errors in x and yare random variables subject to
the following conditions: zero correlations with the true
values of x and Yi and the error in both observed variables
are mutually uncorrelated.
Thus the primary purpose of this paper has been to place
emphasis on the ideas and assumptions involved in estimating
a functional relationship; the aim being to promote understanding of
the available solutions to fitting a straight line to x and
y data when both variables are subject to error.

o
162

CASE-

:r

X

y

15.87
1.00
17.78
2.00
19.52
3.g0
21.35
4. 0
·23.13
5.00
24.77
6.00
LEAST SQUARES ELEMENTARY REGRESSION Y ON X
Y • . 14.165 + (
1.782) X
THE 95 PCT. 'CONFIDENCE INTERVAL FOR THE SLOPE:
1.782 +/- ( .049)
LINE CALCULATED BY SCARBOROUGH METHOD
Y • 14.163 + (
1.782) X

LEAST SQUARES ELEMENTARY REGRESSION X·ON Y
Y •
-1.943 + t
• 560) X
'THE 95 PCT. CONFIDENCE INTERVAL FOR THE SLOPE:
.560 +/- ( .015)

......

LINE CALCULATED BY WALD METHOD
Y = 14.150 + (
1.786) X
THE 95 PCT. CONFJOENCE - INTERVAL FOR THE SLOPE:
1.812 +/- ( .091)

~

LINE CALCULATED BY BARTLETT METHOD
1.781) X
Y • 14.168 + (
1.778 +/- ( .074)
THE 95 PCT. CONFIDENCE INTERVAL FOR THE SLOPE

()

~~

~-c

)

'tiN

USE OF ORTHOGONAL POLYNOMIALS FOR CURVE FITTING
By S. S. Kuo
Professor of Applied Mathematics and
Director of Computation Center
University of New Hampshire
INTRODUCTION
In a recent bookl, the author has described a method for fitting
orthogonal polynomials to a set of equally spaced data points.
shown that the problems of ill-conditioning are eliminated.

It was

111-

conditioning is usually associated with normal-equation approach when
the degree of polynomials to be fitted is large.
The purpose of the present paper is twofold.

In the first place,

we shall show how the application of orthogonal polynomials can be
extended to a set of unequally spaced data points.

In this paper the

orthogonal polynomials are represented by Chebyshev series.

We shall

then describe the flowchart and a tested FORTRAN program together with
detailed illustrative examples.

The sample input and output are

included.
NORMAL-EQUATION PROCEDURE
The principle of least square can be applied to the problem to fit
a given number of data by a polynomial in the form

(1)
Basically a minimum value of S is required where
n '
S = i~l(Yi - yi )2
and n is the total number of given data.

o

By setting the following m+l

first derivatives to zero:

as
as
aka = 0" aK
. 1 =0,

... ,

as _

a~- 0

164

(2)

11

we obtain a set of m+l simultaneous linear equations, or normal
equations:

(3)
where
n

LX.

Lx.2

l

l

LX.2 Lx.3
l

"

L..X.
l

l

m+ I "L..X. m+2
l

rko
kl

[k ] =
Lkm

r:

Yi
xiYi

(B J =
L

m

xi Yi

_ .. -4

The values of ko through k can then be obtained by solving Eq. (3).
m
Unfortunately, this normal equation approach fails where Eq. (3) is
ill-conditioned, often so when m is a large number.

':,"''
C
/

165

~----.'.---""-'---""---'-~~~

USE OF ORTHOGONAL POLYNOMIALS
To overcome the difficulty of ill-conditioning mentioned above, a
method designed for digital computers using orthogonal polynomials will
be discussed.
Essentially, this method 2,3fits the given data in the form:

(4)
Pm(x) is a polynomial of degree m having the following property:
n

E Pk(x.)Pn(x.)

i=l

l

Xv

l

=0

for k ~

Q,

(5)

The following recurrence relation is also useful:

(6)
where
So

=0

Sk

=

Ak i ~ 1 [pk (xi)] 2
Ak_l

i~l [pk-l (x)] 2

i21Xi [Pk(X i )]

2

i~l [Pk(x i )J2
and Ak are completely open to choice; thus no relationships exist
between them.

We chose Ak

= 2. If Po(x) = 0.5 is specified, all
= 0, 1, ..• , m.

Pk(x) are completely defined for k

We now apply the least-square principle so that the expression

o
166

$. ·.4, 4 4"QA, #. M A ,4IU_ 1M #M%\1%¥¥4,;8a 9, &qjfMWl#ii¥ "(,iWUMSfiiMI!i/fifMi ,# ,Ii 1lAJ,,;a;u,",;;;;;=.,====""'. . is minimized. The resulting system of m+1 simultaneous equations can be written in the following matrix form: rEP o 02(x.1 ) 0 r EYiP O(Xi)l Co o 0 Cl EYiP 1 (xi) = o o EP 2(x.) m 1 l Cm EY. P (x.) 1 m 1 '- (8) n where E implies 1= .E . l Obviously there is no need to solve the simultaneous equations and c. J (j = = 0, 1, ... , m)(9) therefore, the problem of ill-conditioning is avoided. CHEBYSHEV EXPANSION Chebyshev polynomials of degree n in x are defined by Tn (x) = cos(n cos -1 x) The first five Chebyshev polynomials are as follows: To(x) = 1 Tl (x) = x T2(x) = 2x2_1 T 3(x) = 4x 3_3x T4(X) = 8x 4-8x 2+1 Other Chebyshev polynomials can be readily obtained by using the 167 (10) ttt_.rft±ttrtrit eN • tttsrtt following recurrence relation: (11) It is possible to represent a given function F(x) by the following summation of Chebyshev series: Clenshaw4 has shown that (13) where b o and b 2 are obtained by using the following relations: bm+2 =0 bm+l =0 and (14) (j = m, m-l, ... , 0) REPRESENTATION OF P. (x) BY CHEBYSHEV EXPANSION J Equation (12) can now be used to represent the coefficients P.(x), J (j = 0, 1, ... , m) in Eq. (4), or, PJ.(x) = ~o(j) + Pl(j)T1(x) + P2(j)T 2 (X) + ... + P~jl)T. lex) + T.(x) J- JJ (15) where the coefficient of T.(x) term is arbitrarily set to one for the J sake of normalization of P.(x), and the superscript in parenthesis J o denotes the degree of the polynomial to which the coefficient belongs. Substituting Eq. (15) in Eq. (6), we have the following useful relations: P ~k+ 1) J = p ~k) J -1 + p ~k) _ J -1 168 215,_ rK+1 j(k) p _ SkPJ~k-l) (16) _ ....... _------_..-_._._--_..__ ...-.--•.. --.-.--------~~ Finally the polynomials Y.(x) can be represented in the form of J Eq. ( 12), or, Comparing the coefficients of T.(x) in the following equation: J (18) we have A. (k) = A. (k-1) J +, CkP . (k) J (19) J where C is expressed in Eq. (9). k It should be mentioned that when Eq. (9) is used in a straightforward manner, 4n storage locations are needed to store the following four items, each of n locations: 1. data x. 2. data y. 3. Pk(x i ) 4. Pk+1 (x i ) l l (1 = 1,2, •.. , n) The representation of P.(x) by Chebyshev expansion can generally J save a substantial storage location in a digital computer. CHANGE OF INTERVALS In our discussion above, we have tactily assumed that the Xi values (i = 1, 2, ••• , n) all lie in the interval (-1, 1). Inpractlce, data are not necessarily so given, and a ,simple transformation will be needed. 169 c C·. ~': ,/ If x denotes the data given in the interval (a,b), and x denotes the corresponding data in the interval (-1, 1), we have x 2x - (a + b) = ----.::.----=b - a (20) A more involved task is transform all results from the interval (-1, 1) back to (a,b). This task requires a change of an entire function (21) In the first phase, the right hand side of Eq. (21) can be transformed to its power series equivalence without changing the interval: m+l = j~lDjX y j (22) by using Eq. (11), the coefficients Pk(j) in the identity (23) are found from the following equation: p (j) = 2p k k-l (j -1) _ P (j -2 ) (24) k and the coefficient for each xk term is formed by successively adding In other words, the coefficients D. can be J evaluated as the double sum: (25) In the second and final phase, the power series expression in Eq. (25) is transformed back to the original given interval (a,b). o This phase can be readily performed by setting X-ll X"= - a 170 where 11 a+b = -2- b-a and 0=2 In other words, the double swns in the following expressi.on must be calculated: (26) The coefficients thus obtained are the final polynomial coefficients for the power series in the interval (a,b). "BEST" FIT CRITERION The polynomial of so called ,best fit may be determined by an examination of the quantity In general, the then decreases. ~-value ~ = S/(n-j) when each degree, j, is being tried. will increase first(as j-value increases) and It is proposed that the program accommodates the ~-value to increase and then decrease only once. ~-value will cause the program to stop. A second increase of FLOWCHART AND FORrRAN PROGRAM 'J1he procedure presented in the previous sections is well suitable to electronic computation. A flowchart is shown in Fig. 1. The nwnbers shown in brakets are the corresponding statement numbers for a tested FORTRAN program which is listed in Fig. 2. The input variables for the FORTRAN program are defined as follows: IP = Degree of the polynomial Y desired. If no particular degree is desired and a beWt fit is required, IP = 99. = Number of original data points. X(I) = Value of the' original data x .• l "1(1)= Value of the original data Y.• l JJ = Program stopper, when 171 J J., 2. c .. rt1t o EXAMPLE It is required to fit a two-term (IP = 1) polynomial to the following four data points: x 0 y 123 7 12 11 16 In the same run, it is also required to fit a polynomial six-degree to the following 20 data points: x 1 3 4 5 6 7 8 9 10 11 11.5 12 y 2 7 8 10 11 11 10 9 8 3 3 14 13.5 6 15 16 16.5 -4 3 20 -4 14 17.5 0 18 20 3 6 Applying the FORTRAN program to this specific example, the data would be read in the format as shown in Fig. 3. The output for the Chebyshev program gives the coeffcients A. for J the polynomial Y in terms of the power series: Ym = j~lAjxj In addition, the given points farthest above and farthest below the least squares curve are also printed out. They are listed in Fig. 4. BIBLIOGRAPHY 0" 1. Kuo, S. S., NUMERICAL METHODS AND COMPUTERS, Addison-Wesley Publishing Co., Reading, Massachusetts, 1965. Chapter 11. 2. Lanczos, C., APPLIED ANALYSIS, Prentice-Hall Co., Englewood Cliff, New Jersey. 3. Clenshaw, C. W., "Curve Fitting With a Digital Computer," British Journal of Computer, January, 1960, pp. 170-173. 4. Clenshaw, C. W., "A Note on the Summation of Chebyshev Series," fvIathematical Tables and Computations, Vol. 9, 1955, p. 118. ,I, 172 I READ IN: STARr II (1) «2) 3) (4) _ ..... [59 0-50 8J INDEX TO COMPUIE EXTREME DATA, OR Nar, OR STOP(OPrIONAL) DEGREE DESIRED (OR 99 WILL STOP AUTOMATICALLY) NUMBER OF DATA POINTS (M) DA~A POINTS (Xi' Y ) i = I, m i l50 8-509) [¥TI~IZ~ ~:r~: :~u~rillisJ f509-510J I GO TO INTERVAL .. R E A D' I (-1, 1) y COMPUTE COEFFICIENrS P ( i) FOR [5 26 -51 0] j INTERMEDIATE POLYNOMIALS G o f522-524]l T N E W D A T A ~- o ON E X T [5 2 4] I I P.(x) 'l QU~ITIES ~~ I N C USING Pj(i) COMPUTE VARIOUS w USE THESE QUANTITIES TO COMPUTE COEFFICIENTS A.J (i) OF FINAL' CHEBYSHEV POLYNOMIAL ," , 0 ----------~~+----~--~-------------- COMPUTE EXTREME DATA POINTS IF 'AS~"I [524-539J ~ D TEST FOR: (1) BEST FIT (2) DEGREE DESIRED REACHED (3) DEGREE EXCEEDING NUMBER OF DATA POINTS E G R E E , [551-599] [599-5 83J GO FROM CHEBYSHEV TO POWER SERIESl I GO BACK TO ORIGINAL INTERVAL I ~. £ . -_ _ _ _..-.[_58_3_-5...,..5-4]1Iooof n l. PUNCH COEFFICIENTS OFi~O S(i)x FLOWCHARr FOR LEAST SQUARES CURVE FI'ITING USING ORTHOGONAL POLYNOMIALS + CHEBYSHEV SERIES (Program Statement in Brackets) 173 o. ,', • eM tt ",m '.1 t !liZ!::!' t t.''',. 'msm· ... "$""W

THE POINTS FARTHEST ABOVE ANO FARTHEST
BELOW THE LEAST SQUARES CURVE ARE
OEGREE
1

- _____

__________ e~..LOW ___ _

A~Q~r;:

(0.10000001E+Ol. O.12000000E+02)(

POLYNOMIAL COEFFICIENTS - DEGREE

1

A(

0)

•

O.20000000E+Ol. O.11000000E+02)

O.76000010E+Ol
.2!:i99999ae:+_Q. _

o

__ ~( JJ •

THE POINTS FARTHEST ABOVE AND FARTHEST
BELOW THE LEAST SQUARES CURVE ARE
DEGREE

1_

_BELOW _______________ _

ABOVE

1
2
3

(

4

(

!5
6

(

0.20000000E+02)(
O.20000000E+02)(
0.20000000E+02)(
O.20000000E+02)(
~ ._l_~qQO_C?O~t;±_(,--?_~q .. 2000 QPOO~+92)_(
0.15000000E+02. O.20000000E+02)(

0.15000000E+02.
O.15000000E+02.
0.15000000E+02.
0.15000000E+02.

POLYNOMIAL COEFFICIENTS - DEGREE

6

A(

0)

A(

1)

AJ

~)

A(
A(
A(
A(

3)
4)
5)
6)

=

0.16000000E+02.-0.40000000E+Ol)
O.16000000E+02.-0.40000000E+Ol)
O.16000000E+02.-0.40000000E+Ol)
O.16000000E+02.-0.40000000E+Ol)
o _~_1600()OQ_9~±_Q~_ ,_~O .40QOQQO_O...EtQJ1.
O.16000000E+02.-0.40000000E+Ol)

O.~_4671e20E+01.

= -O.73307400E+Ol

_ ~ ___ O_.._4a~_~61~.O~:t_QJ_____.._.________________ ._
•
a

=
=

-0.10214046E+Ol
O.97473200E-Ol
-O.43494959E-02
O.73559146E-04

---------------------- -------------- ----

174

----------------

Curve Fitting by Finite Sum of Exponentials
Richard Mishelof
Supervisor, Bio-Computing Section
Computing Center
State University of New York - Downstate Medical Center
Brooklyn, New York
Computer Appl ications Inc.
Introduction
Data wh ich usuall y arises from tracer experiments, stress fatigue in metal s,
diffusion of gases, etc. and which is more often then not unequally spaced in time
(time considered the independent variable), is approximated by a function of the form:

N

=L

1'.
~

e-

t
C( "

f"'\

+ Loo

(1)

')'::.1

We will restrict our analysis for ~~ positive, real and that all the o(s are well
separatedj Ci's are real and Coo'is considered to be zero.

The order N, the number of

exponential components, in the summation, is usually dictated by the mathematical, model.
If no information is available on what the mathematical model shoul d be, then the model can be

(7)

evolved from the data.

This is the usual procedure in compartmental analysis.

Our approach is to get initial values for Ofs by a semi-graphical procedure known as
,lIpeel ing-off ll • These initial values are our starting point for an iterative scheme which we
hope will refine our in itial values.
Discussion of Methods (Fitting Techniques)
I.

Algebraic Method:
Prony's method can be applied.

(1,2)
The values of 2N+l points which are evenly

spaced in time t are input to a set of simultaneous I inear equations of rank N+l

175

wh ich yiel ds the Coo and the N+ 1 coefficients to a polynomial of order N. The .roots

o

of polynomial are e<~ which are used as input to develop a further set of simultaneous
linear equations which yield the Ci values.
It has been the authors· experience that the answers one gets are erroneous (Jim being
very mild to say the least>. The values for O{~ have been negative and complex. One
may interpolate to get evenly-spaced data, but the results are not worth the effort put
into it. This method is not recommended.
II.

Derivative Peel-Off Procedure

(2)
Th is method is described by Perl.

In essence it is very similar to the method I use,

and may be better for some app I ications to get the in itial starting po ints for iterative
procedure. We consider Coo=o; this can be done by having a previous knowledge of
Coo and subtracting it from g(tj) j= 1, •.. , M p :oints.
-~i

t

A portion of our curve can be represented by

(2)

if we take the derivative, we have

(3)

q 1 (t) = C1. e
•
- 0(1. t
-q 1 (t)= C1 0(1. e

•
(3)
We can then determine the slope q 1 (t) vs q l(t) which is calculated numerically under
the t considered. This gives us a value for ~1 and the ordinate - intercept gives C1. 0(1thus Ci.. We then subtract qj,. from q foral! tj j=l, •••• , M and repeat the procedure.
This procedure will give good estimates for Ci,

0(

i

i=!, •• , N, if our data warrants a .

derivative approximation calculation.
III.

The Author's Approach
A.

"Peeling-off" type of procedure (semi-graphical)
1.

Redefin iUonof prohl em:
We are given points t l ' tz., ••••• ,t ' not necessarily evenly spaced with
m
corre?ponding q(tD = q 1

,

q 2.

, • • • •

,qm·

We wish to approximate our data to a finite sum of exponentials. Our approach
is as follows:

176

2.

The natural Jog of the data points qi is taken and the result is pJaced into
~

an array di., Thus,

:,

I

~

di = In (qi)

i=l, ... ,M

(4)

3. We start with the Mlhvalue of rli and work backwards and approximate a
least square straight Ilne '

j=M, M-l, ..... ,l (5)

y= atj +b
~

where a and b are the sol utions to the set of normal ized equations.

-. .,

M-K

a..

-d..

L

-.,. .~

M-\<

+

.,j

J:::K,

)'-L,
J:$$\ ~ -= eli... L I .,- . ''''J (6) j -.:: V,, ~.~ M-K l)... '~.,- Y.. , t, ~J~ L , J ': '~, + I '-7..... J:..' ~ ..l : 1<', ~ M- (K + K I - i 'J' which means we are working on the k.l. to k interval of points of the M points of our set of observations. We take the measure of our error to be expressed in the form: I E. -::. I 'I - \. I I, \ ' - at ... I j (7) which is a pseudo-least square residual. It should be noted that there are many other error criteria which we could try to minimize for example: \ L \"'\ I E = -" - I f \ )'2. d'~ I.. '( - d J J'::\(, J (8) which had a tendency to produce a Jacobian of our iteration procedure which , was of the order of 10-4 and hence a nearly ill-.conditioned system of equations. c 177 . ------------------------------_.---- (9) see reference Worsley for a comprehensive discussion of equation (9) as well as a polynomial approximation to the data. 4. This marching backward procedure terminates when we have: (1) and error, as measured ~y equation (7), greater thana certain maximum error that we arbitrarily chose, in our case, .05; (2) run out of data points. It should be noted that this arbitrary maximum allowable error is a function of M and dj j=l, ••• , M and the trueo(~\Ci values. 5. We next form a new set of data dj j=l, ••• , M wh ich is (10) and our in itial e.t.imates for Ci c<. i are 0: i=-a (11) Ci=e b increment i+ 1-~ i 6. The above procedure is run continuously until we: (1) run out of data pointsj (2) have gotten the number of exponentials we expect: N B. We now go into our iteration procedure with our initial guesses c(~ )Ci and will treat all the data po ints. In the prev ious section we treated data po ints where we had a "sl owex (minimum 0( of unknown set of O/'s). As stated above we II chose our error E to be of the form M o E.. L 1 tf r-~ . ·.ti.LL. c.. e.-a(: I 0l l::, t· J - l2. ~i J J=I we '!N ish to minimize E (\I\\O<\.)··\~N) C"C"lo"C,,·) 178 'bj tj)=E (12) The critical po int p = (~') DC. '&. \"" ) ... N ) c.,\ c: 1. ' • ,CoN) where the maximum or min imum of E I ies is either in the boundary of D( 0( " C) or on the boundary, where (1.3) Appeal ing to the calculus} S)we know that the 2 N partial derivative of E with respect to ~ ~ and Ci 'dE ~o(, i=I, ... ,N will give the local critical point if equated to zero. - = 21. :: .. '" --)£ -d4Xt\ ~oil. (14) or the 2N system of simultaneous non-I inear algebraic equations. = LM 0= BR. tj ?E -::: -...... o( C' .t. J =l q.$$ ;
..

.

-«.l.tJ

e

t-I

LL
l='

I"

~

-o(,'\.j

e

',1

- 0CJ ..\

M

o=

(15)

B~ = ~ ~ ~ =[I
""""

(.3 1 6)

There are several Iteration techniques for solvmg a system as the above.

We

chose the Newton-Rapshon technique. Our experience with convergence patterns for
various sets of data showed the iniUal estimates need not be close to the solution for convergence. The continuity of the solution vector, implicit in the Newton-Rapshon method,
is a criterion for convergence. For instance, jf the first two or three data points do not
show sufficient drop, we found it impossible to make the iteration converge until the data
point which did not drop enough was deleted.
Conclusion
The algebraic method for finding the solution to equation (1) gives errl..\.ti~ results,
the. polynomial approxirriation for the set data points does not give a satisfactory result.

179

'MU','-_t"WWlRMW8111'PM'P'!!!I!,,!

,"'uw't'lIlIlrl

*

rtrir,.r#

• =or

Graphical. techniques as described above give fairly good initial estimates and an im- .
provement by a pseudo-least square procedure has proven successful in most cases
tried by the authors.
The data shoul d be extended out in time such that each c<~ is represented by the
orig inal curve or extrapolated curves. CI.;. that are· very close together may be lumped
together and still give a satisfactory error.
Gardner(7)has investigated the numerical inversion of the Laplace transform, which
appears to be a method for finding the true number of exponentials. This method has proven
relatively successful with evenly-spaced generated data.

There are a number of problems

to be overcome with experimental data.
The methods described in this paper wi( I not solve all problems. Some other approaches
might prove more successful. These other sol utions can be found in the references given if
only to look-up their references (indirect addressing).
We have had a certain amount of success with our problem and approaches and hope that
follow up work in fiel d will do much to jmprove what may be termed by some as an art:
svl't'\

The art of knowing how to approximate your data to finite~ of exponentials.

o
180

REFERENCES'

1.

Hildebrand, Introduction toNu~eric~1 Analysis, McGraw-Hili, page .378-.382.

2.

Perl, International.Jc;>urnal of Applied Radiation and Isobipes, 1960, Vol. 8
pages 211-222 .

.3.

Traub, Iterative Methods for the Solution of Equations, Prentice-Hall, pages 248-

257.
4.

B. Worsley andL. LQX, Selectionof NumerIcal Techniques for Analyzing Experimental Data of the Decay Type with Special Reference to the Use of Tracers in
Biological Systems, Biochimicaet Brophys ica Acta, Vol·. 59 I No. I, pages 1-24.

5.

Buck, Advanced Calculus, McGraw-Hili pages 285-298 .

6.

Wolfe, The Secant Method for Simultaneous Non-Linear Equations, Comm. ACM Vol.2,
pages 12-13.
.

7•

Gardner etal, Method for Analys is of Mul ticomponent Exponential Decay Curves, Journal
Chemistry and Physics Vol. 31, No.4, page 978.

181

APPENDIX

o

DERIVATION OF NORMALIZED EQUATION FOR ERROR
We chose our error E as defined by equation (7)

(I)

taking the partial derivative of E with respectto a and b, and equating to zero we get
M-K

-

")

2. (
'
,o."r..j

~ -.-'.

J:.- ~~c
J
I

",,0

1.\4·. = 0

I

u -- C J ) \. J
.

• (2)

-

dE.
~b

if we carry through with the summation, we get the normal ized form of equation (6)

(.3)

+
Newton-Rapshon Iteration Procedure and Appl ication to our System of Equations
We are given a system of equations

f i (Xi;

,Xf , ••.. , x*n) = 0

i=l,~

.. ,n

(I)

where ~ •• • X*n is the solution to our system.
We let

o

x~

,x ~

I ••••••• I

x~ be the initial estimate for our solution, such that

182

x~ = x,!)

+ fl

xI

=X ~

+6

xl..

X~

•

(2)

+ ~ xn

c)

X*n = xn

We approximate the system by a Taylor expansion and we get

o=f'1 (x*

Jo • • • • •

,x*n) = fl1 (x , x , ••• , xn)

~
+~

d~1.
J 1'. \ (t,X) + terms ( l> X) P
dO

0

""I '''1,··,

o=fn (x* , •••••• , x*n) = fn(x ,x , ••• ,x n)

~

+ L--.l :&~~X0
d ~~
\ ~ +. terms (

f

l. '; I

We assume that all (Ll X)p

-to

0

/)

)t'\~l·

..

~X)p

')(  ~
~ c$$. ~ c·~ ) -;'cX~ :; ri.2,. j - .....,.. ..... '"" ...:. ~. ( 11) (12) o If we borrow Kronecker's delta, then we can generalize the above results. 184 \. (13) ., ~ I -:: j o (14) .1. \ K": 1..,1.\ •• '\ N Once again appeal ing to Kronecker delta we general ize (15) and M \ :,,' e-~.£. ~j e~ ~ t J' / ~j L.---J (16) Our Jacobian Matrix is partitioned into four parts :?.J~ b.R,. " -----------·---t (;orQo;I( [-:rl = -- ~6~ ~c.1<. i (17) ! I B~ .... ''J C.. u~ .. - --..... "';; 0{ ~ O<~ I )~~ 'dC", C" 185 0 'H,!I::_ t _ _ t- tr PROGRAM OUTLINE o A program for the method discussed in this paper was written in 'FORTRAN II-D. There was no attempt to econom i ze in core space I or in execution time. There are several variables that could be made equivalent (i.e: EXPO'N I ALPHA)I (CO'EFF I C) )1 and a DO' loop which coul dbe incorporated into a following set of DO' loops. The program uses three subprograms one SUBR,e)UTINE and two FUNCTIO'N programs. SUBR,0UTINE SgNYA (N I AI BI X, DET) Is a program for solv ing a system of s imul taneous I inear equation AX=B by pivotal condensation method. The technique is described by Faddeeva l Computational Methods in Linear Algebra l a Dover publication, and was applied to a system of ill-conditioned simultaneous linear equation in Wilkinson, Roundi.ng Errors in Algebraic Processes l Prentice-Hall l page 118-120 1 with a high degree of accuracy. The program is designed to solve a system of 20 x 20 1 but can be expanded or shortened by chang ing the proper arrays in the 01 MENS 10' N statements. The terms are: N is the rank of the coefficient matrix A, A is the coefficient matrix i B constant vector l X solution vector I DET is the determinant of matrix A. FUNCTI,0N DEL TA (~I J) Is the K:Jr;ecker delta (see paper) FUNCT10'N SlJM~X U\JEXP, TAU, C, ALPHA) Is a program to evaluate the SL;m of exponentials ti )' -~.-c Ll Ge.l. where NEXP is \.= \ the number or exponential components. TAU is dummy variabl e l C I ALP HA are respective coefficient and exponential mul tipl ieI'. It shaul d be noted that: e- 19 = 5.60279 64375 x 10-9 and is considered to be zero l if expanded accuracy is needed then the value 19 should be enlarged. This test prevents exponential underflow • ~ . 10 I~ • The entire system of programs was deSigned to handle a maximum of 5 exponential components, but this restriction can be altered by expanding the proper arrays of all the system programs. 186 . t if'. trtt tr C\', rt **nrtr I - TYGO - A load-and-go version of S.P.S. R.O. Read and p.J. Jutsum " Programmers who use S.P.S. a lot on a papertape machine, must frequently get impatient at the amount of time that is consumed in punching and handling tape, using the standard two-pass processor, before a program can be compiled. TYGO (TYPE-and-GO symbolic programming system) has been devised for the benefit of these programmers. It enables an S.P.S. program to be typed in at the console and assembled directly in storage without the punching and handling of any tape being necessary apart from the loading of the processor tape. However input of the source statements can be from tape if desired t and an object tape can be produced (under operator control) at any time after compiling, - before and/or after running or debugging the program. Thus in some ways TYGO is to S.P.S. as GOTRAN is to FORTRAN; but ,whereas GOTRAN is a fairly restricted subset of ~OHTRAN, TYGO is effectively as powerful as S.P.S., except for some restriction on the possible length of the program, since the processor occupies about 9000 locations at the top of storage durine compilation. The only other significant restriction in TYGO is that multiplication is not admissible in address arithmetic. All the standard B.P.S. subroutines can be called, and also the floating part in:put/output subroutines (Users Group Library No. 1.6.023). Since in the source program symbols may be used before they are defined, a more complicated symbol table is needed than in regular S.P.S. Undefined symbols are stored together with the addresses at which the equivalent (when it becomes known) is to be put. During compilation a listing of the p~ogram can be produced, in which undefined operands are left blank; a listing of the symbol table can be produced when compilation is finished. The symbol table grows downwards from the beginning of the processor (location 11000 or thereabouts). Impending overlap with the program is signalled, and a new pseudoinstruction DEL enables unwanted portions of the symbol table to be removed to make room for more program. After compilation the processor area can be used for subroutines and/or data areas. Pro~rams of up to about 8000 locations will compile easily and comril~tion is faster than with the usual S.P.S. processor (SP-008) • TYGO is written for the basic 20K tape 1620 with no special features. o 187 c EI' SPAS G.G. Billin ~ SPAS is a modification of 1620/1710 SPS1 designed for LOAD-and-GO operation. It is best used for debugging programs or running programs that will not be used frequently. Because of its usage, several additions and deletions have been made to the basic SPS language. Some features of SPAS are: * No cards except source statements are punched. This means a large savings in cards while the program is being debugged. -:: The object program is ready to be run at the end of PASS II with no intermed ia te load inR" of an 0 bj ect deck. {~- The processor may be made one pass by tu rning on a sense switch. The information on each card is stored in upper memory during PASS I and is recalled as needed during PASS IT. Thus, no time is lost while the reader reads a card, and the cards are only read once. * The processing time, exclusive of the has been reduced. on~ pass feature, The machine requirements for SPAS are indirect addressing and a 40K or 60K card 1620 system. Of these requirements, only the indirect addressing feature may be mOdified. SPAS was written because of time and card limitations at the computer center where the author worked. It was decided first of all to eliminate all punched card output; next, the speed of the processor was increased, new operations were added, and other miscellaneous modifications were made. Since the author used a card 1620 rather than a 1710 and hecause macro-instructions were seldom used, the following mnemonic operation codes were deleted from the list of 1620/1710 operations: All macro-instructions: FA FS F~f FD DIV FSQR FCOS FSIN FATN FEXT FEX FLOG FLN FSRS FSLS TFLS BTF'S All 1710 control operations: SL1~ SA SLCB 0 SAO SA CO SLTC MK SAOS SLAD UMK SLTA SLME 1 1620/1710 SPS, version 2, modification 15. 188 BO BOLD SLAR 1M_ t, All paper tape operations: R}'TPT WNPT DNPT RAPT WAPT () In addition, the followingSPS instructions were modified: DNB lengths may be.greaterthan 50 to a maximum of 1000. TRA assembles the instrbction: 49 02468 00000 .where 02468 is the address of the PASS II read . instruction. T'CD loads the following record into10ca tion 00000: NOP ,B 00000 00012 xxxxx 41 00000 00000 49 xxxxx where xxxxx is the address specified by the TCD instruction. Next, control is transferred to 10ca 1 ion 00000. SE1'D halts the processor. When START is pushed, pro- cessing continues. The following operations were added: BRC BNRC BWC BNWC BEC BNEC BOC BNOC Branch Branch Branch Branch Branch Branch, Branch Branch if Read Check (06) Read Check if Wri te Check (07) No Write Check if Check in MBR-E (16) No Check in MBR-E if Check in MBR.;O (17) No Check in MBI<-O No The following operations generate no output in the object program. MESS Return carriage and type message starting in column MESI Same as MESS except on PASS I only. Same as MESS except on PASS II only. Type message starting in column 16 (no carriage return) • Same a.s TYPE eX'cept on PASS I only. Same as TYPE except on PASS II only. Perform carriage control (34 00000 OOlOX) operation with digit in column 16 replacing X instruction. Simulates LOAD during PASS I only. Simulates LOAD during PASS II only. 16. MES2 TYPE TYPI TYP2 IOf LODl LOD2 189 c c These instructions were designed to be used as follows: MESS, MESl, MES2, TYPE, TYPl, TYP2 - To type headings at the beginning of each pass, to type special messaRes to the operator, or to provide an indication of how far a program has progressed. SE"D - To stop so that switches may be changed. LODl, LOD2 - To allow loading of changes to"the processor, the program being assembled, or to transfer control directly to the program. An example of the use of the new instructions is as follows: SOURCE PROGRAM MES2SPAS MES2DATED TYP2 3/ rryp2l8 TYP2/65 MES2TURN SWITCH I ON SEND FOl~ LISTING, PLEASE During PASS II the typewriter will type: SPAS DATED 3/18/65 TURN SWITCH 1 ON FOR LISTING, PLEASE and the computer will stop. will continue processing. When START is pushed, the computer MODIFICATIONS TO THE SPS PN.OCESSOR The following modifications have been made to the SPS processor to make it compatible to one pass and LOAD-and-GO operation: ~ The initial address of the address counter is set at 20000 rather than at 00402. This was done on the assumption that the first module of storage would be used for the processor and symbol table. To change this address, make the first card of the source program a DONG card. Be sure not to accidently DORG over the processor. SPAS does not check for this--it is the responsibility of the programmer. All references to page and line number of statements have been eliminated from the processor. o When listing a source program on the typewriter during PASS II, the usual format included a carriage return ~nd a tab between the source statement line and the assembled instruction. With SPAS this carriage return is not performed unless the source statement goes past column 56 on the card. This may be changed 190 back to the original way by putting a 0 (zero) at location 1787. To restore the feature later, put a 1 (one) at the same location. A subroutine to count the number of carriage returns and to skip 5 lines at the top and bottom of each page has been included. The proper initial setting of the typewriter carriage should leave a margin of 6 lines at the top of the page. lih e n ass em h lin gin 0 n e pa s s, the a p p ro x i rna ten u mbe r 0 f sonrce statements possible is about 800, assuming that locations 40000 to 59999 are used for storing records. If one pass mode and typewriter input ha¥e been selected, th ere wi 11 be no punched ou tput during PASS I. For two pass mode, the punched output will be the same as· for SPS with the exception of the deletion of page and line numbers as noted a hove. The actual running of a program in SPAS is approximate-ly the same as for SPS. One exception is the use of switch 3. If it is on, one pass mode has been selected. If it is off, processing is two pass. After this interrogation at the beginning of PASS I, the setting of the switch is disregarded. The only difference is one additional error--number 15. This error message is typed out like any other one to indicate that the records put in upper memory have overflowed the area assigned to them. No more processing can be done after this message has been typed--the only thing to do is to retu rn to PASS I (by pushing START) or to change the size of the area where records are stored. In p/\SS II sevet'al changes have been made. Switch 3 is not interrogated any more--all output is automatically put in memory. If one pass mode has been selected the only action nee e s sa ry is to Pll S h START. Another modification can be found at the end of PASS II. A listing of the symbol table can be made as usual if switch 4 is on, however, if switch 3 is on afte~ the halt after the symbol table listing, control will go to location 00000 where the record: H B xxxxx 00000 00012 was placed at the end of PASS II. fied by the DEND. 48 00000 00000 49 xxxxx 00000 xxxxx is the address speci- DESCRIPTION OF SPAS PI~OCESSOR SPAS is a modification of the SPS processor, therefore many of the changes are designed to cover up old instructions; these changes will not be discussed. The new features of the SPAS processor can be broken up into the following separate routines: initialization for PASS I, one pass storage of re191 (1r~ ~,~' • cords, return carriage subroutine, numerical blanks routine, high and low positions used,· output routine, special operations routine, and the end of PASS II routine·. Initialization for PASS I The first instruct ion executed res'ets the carriage return subroutine for the correct margin for the newpage. Next switch 3 is checked. If it is an, one pass operalion has been selected and the following record is put at 02468 in place of 02468 31 00796 59999 . 02480· 12 02479 00005 These two instructions will, cause the records stored in upper memory during PASS I to be transmitted into the input area during PASS II. If switch 3 is off,operations will be two pass and the original instruction to read a card and a NOP are put at n24R8 and 02480 • .:~ This address '59999 can be changed by the user if desired-it is usually as shown. One Pass Storage of Records After the symbol table ha~ been cleared at the beginning of PASS I, the first· statement is r·ead from the card reader or the typewriter depending on the setting of switch 1 and is saved in the INI~T2 area. Next, control returns to the original SPS program and the op code, label, constant and symbol lengths are checked to see that they are ok. When the SPS processor is done, control passes back to SPAS at location 02116. If two pass mode has been selected, switch 1 is interrogated and if it is off the caved source statement is' punChed. Next, control goes to the read instruction. If one pass mode has been selected the card is scanned for the third comma in it or a record mark. The comma would indicate the end of information used by the processor--all after it is comment. An exception is a DAC or DSA statement which is not scanned for commas since any number of commas may may be present. Return Carriage Subroutine A return carriagesu broutine ,ReTYPE, has been included so that long listings on the 1620 typewriter can be done conveniently. gntry to the subroutine is by branching and transmitting the return address to the address of the subroutine minus one. In this way entry can be done with a BTM or by a TFM and branch if the return carriage occu~s while the processor is already in a subroutine. Numerical Blanks Routine SPS assembles numeric blanks by punching them alphamerically on a card. Since no cards are punched in SPAS, this function is simulated by transmitting numeric blanks one by one to the address given or assigned by the processor minus the number of blanks defined, up to the specified address. The routine to do this starts at location 06736. The length of the output (at location 00704) is subtracted from the address assigned (at location 01122). Then blanks are transmi tted until the assigned address is reached. High and Low Positions Used Before each' object instruction or constant is stored in memory, a routine ~hecks to see if its lowest and highest locations used are the lowest and highest used so far. As the object program is stored, the routine keeps track of these addresses and at the end of PASS II they are typed out. This is to let the programmer know how long his program is and to inform him whether he has gone below 20000 or into some other area. Output Routine The output routine works almost the same as the SPS loader, except that it uses indirect addressing to save space. It is located at location 06018 (PCHCRD). First the digit that will over with a record mark is saved. Then the record is transmitted after finding out where in the INPUT2 area it starts, and the saved digit is replaced. Special Operations The special operations routine replaces the macro-instructions routines. The processing for special operations starts at location 09672. Each operation in SPS or SPAS is referred to by an eleven digit field of which 8 digits represent the alphanumeric coding of the mnemonic operation, 2 digits represent the op code or indicator, and the last digit represents the type. Special operations are type -7. The digit preceding the type di,gi t defines the particular procedure while the second digit represents whether it occurs during PASS I or PASS II in the case of singular operations. The identifying digits are as follows: 193 o 1 MESS 3 4 MESl,MES2 TYPE TYPl, TYP2 LODl, LOD2 5 IOI 2 When a special operation is found, control goes to 09672. There the type is determined and control passes to the proper routine by means of a table look up using a DSA. A MESS operation causes the carriage to return and the operation: WATY INPUT+20 to be executed. In a like manner, MESl or MES2 first checks to see if it is the proper pass and then either executes the MESS routine or bypasses it. A similar procedure is followed for the TYPx routines except that the carriage return is not done. LODl and LOD2 cause a simulated load during the corresponding pass and when KM is encountered, the digit at INPUT+20 (the units digit of the alphameric code) is transmitted to the Q11 position of a control instruction which is then performed. If the digit transmitted is other than a 1, 2, or 8, some combination of the functions will be performed. End of PASS II Routine At the end of PASS II, control is transferred to location 12060. There, the lowest and highest addresses used are transmitted to an available area (INPUT2), a record mark is put after them, and they are written out. Next, the record that originally went on the last card of the SPS loader is transmitted to location 00000. Control then passes to the SPS routines that write: End of PASS II and the symbol table is listed if switch 4 is on. At the end of this the computer HALTS. When START is pushed, control passes to either the start of PASS I or to location 00u00 depending on the setting of switch 3. As mentioned earlier, SPAS uses indirect addressing and does not include macro-operations. Both of these problems may be gotten around, the first by reprogramming, the second by a special technique. To reprogram SPAS for a machine not equipped with indirect addressing, it would be necessary to change several instructions in SPAS. SPS uses no indirect addressing. To make matters easier space has been provided between locations 05440 and060l6 for any additional instructions. By changing SPAS for a nonindirect addressing machine, approximately 500 locations would be used. Of cours~ new operations could be processed by routines in this area-. To use macro-instructions with SPAS the best thing to do would be to assemble them at some high address or in the space 194 used by the SPAS symbol table. Then to enter a macro-instruction it would be necessary to simulate the instructions generated by the SPS processor when macros are used with it. (e'; This is at most a sketchy report on SPAS. The program is to be submitted to the Users' Group in the near future so that it will be easily available. For the moment, copies of the decks and documentation are available ona trial basis to groups who are willing to report to the author on the effectiveness of the program. The author's address is: Mr. Geoffrey G. Hillin Computer Center Clarkson College Potsdam, New York 13676 • I • ~ • 195 ABSTRACT FOR FN II WORKSHOP Understanding Fortran II (SPS Subroutines called from Fortran II) by L. Hoffman Guggenheim Laboratories Princeton University To increase the unfullness of Fortran II for large, long problems, one must realize which aspects of FN II take the most time and storage. A few examples are iterative procedures, subscripting, and special output formats. Often, iterative procedures are done as subprograms, such as solution of differential equations. These subprograms can be written in SPS to give an object subprogram which will usually occupy one-half of the equivalent FN II subprogram and usually will take about one-half the execution time of the FN II version. In order to present the technique of SPS subprograms, the standard linkage generated by FN II is described and a variation of the linkage for many arguments is presented. A description of FN II non-relocatable subroutines is given. A sample SPS printer-plot subprogram is given as an example of linkage, communication, and relocatability of an SPS written subroutine. 196 o c -_:. :NON-LINEAR ESTlMATION BY MODIFIED GAUSS-NEWTON M]JffiOD BY JERRY KEMP RALPH CHIFMAN CHARLES BRYANT Presented to the I1M 1620 USERS Group at Miami Beach, Florida. on May 11, 1965 o 197 o TABLE OF CONTENTS I. INTRODUCTION II. MATHEMATICAL DISCUSSION A. Discussion of Linear Estimation 1. 2. III. Simple Multiple B. Discussion of Non-linear Estimation C. Non-Linear Iteration Technique D. Sample Problem & Solution E. Other Examples COMPtrrER PROGRAM AND OPERATOR INSTRUCTIONS A. General B. Program Limitations C. Source Statement Changes 1. 2. 3. 4. D. Dimension State~ent Read Statement Procedure 1 Procedure 2 Ihput Data Preparation E. Computer Operator Instruction F. Example Problem rY. REFERENCES 198 o 'f" " CI APPENDIX PART A B C D o General Flow Diagram Fortran Source statements Partial Printout Complete Printout 199 th tirttt • )f r j NON-LINEAR ESTTh1ATION BY MODIFIED GAUSS-NEWTON METHOD I. INTRODUCTION This paper presents the modified Gauss-Newton method for the fitting of non-linear regression functions by least squares as described by Hartley (1). In Section II, a mathematical discussionis presented and in Section III the computer work is described. Frequently, experimenters are faced with determining a functional relation betw'een a response (dependent variable) and a nwnber of inputs (independent variables) with the help of empirical data. Usually the mathematical form is assumed to be known and the coefficients of the inputs (unknown parameters) must be estimated. II. MATHEMATICAL DISCUSSION Before discussing non-linear regression, it is appropriate to make a few' comments on linear regression. A. Linear Regression If the parameters in the mathematical model are linearly related, the least squares estimates are obtained by direct solution of simultaneous equations. 1. Simple Linear Regression An example is as follows: (1 ) Yi = a + bXi + ei Where Yf is the measured response to a measured input, Xi a and b are parameters to be estimated ei is the error or lack of fit i is the observation number !east squares estim~tes are defined such that }:ei2 is a minimum. Frem here on, let Q = 1:ei • To find the least squares estimates, set ~ = 0 and ~ .lb = 0 This ~ds the following equations which are solved • simultaneously for a and b. 200 aa •• 7. _ OJ m r - ttt&trttn ztz (2 ) Na + b EXi = LYi a +.,b»~i2 = LxtYi L:xt . Where N is the number of observations and (Note linearity in a and b). I to N. 2. r 's are summations fran Multiple Linear Regression An example is as follows Yi = a + bXi + cXi 2 + ei Where a, b, and c are parameters to be estimated While this model is non-linear in Xi, it is still linear in the parameters (a, b, and c). Setting Q _ 0 ~ Q __ 0 and a Q = 0, ~a - , ab ' lJ c a yields the following set of simultaneous equations Which are linear in a, b, and c. (4 ) B. When the parameters are not linearly related, we are faced with non-linear estimation for which we have no direct solution. Hartley's article uses the following model as an example. . RX (5) Y = f (x; L, B, K) = L + Be Yi Where Yi observation =L + B exp (~) + ei is the measured response to the input (Xi) for the i th L, B, and K are parameters to be estimated and e i is tne error or lack of fit for the i th observation To illustrate the difficulty with this fUnction, set ~~ = 0 and examine this result (6) o Where y is the observed value, f is the function, and fl is the ~f t)L 201 Substitute L + B' exp (KXf) for f,and 1 for fl in (7) 21::[Yi (L + Bexp (Kxi) )] [ (6). This yields -1 ] = 0 which may be rewritten as NL - B r exp (Kxi ) = 0 In ) exp (Kxi), K is "locked"inside of the summation and even the usual tectniques for solution of simultaneous non-linear equations are not applicable. Since no direct solution is possible, we are forced to revert to the approximation process which is described next. c. Non-Linear Iteration Technique This non-linear estimation technique uses the Ne~on-Raphson method (Reference 2, Page 463) for defining a correction to apply to the parameter estimates from the previous iteration. The Newton-Raphson Method use a Taylor Series approximation. Values for these corrections are solved for in the Gaus& ·~~wton equations. Hartley's modification guarantees that once the iterations begin to converge the process will not diverge at a later time. For the process to converge, starting values for the parameters must be "clo!.e If to the "true" values due to the Taylor Series approximation. D. sample Problem and Solution 1. The Problem FrOOl the data presented in the followin~ table determine least squares estimates of L, B, and K in equation (5). OBSERVATION NtMBER 1 2 3 4 5 ,6 x ~ -5 -3 -1 1 127 151 379 421 460 426 3 5 Trial values La = 580 Bo = -180 Ko = -.160 202 o o 2. The Solution Values of corrections (Dl, :02, D3) to these trial values are obtained by solution of the following simultaneous equations. (8) L(fl f 2 )0 + D3 Dl I:(fl)~ + D2 ~ I:(flf2)0 + ~ L(f2)~ Dl L(flf 3 )0 + D2 I:(flf 3 )0 = 1': (y-f)o (fl)o + D3 r(f2 f 3)0 = L(y-f)o (f2 )0 L (f2 f 3)0 where + D3 r(f3)~ fl = af aL = 1 f2 = of =eK:x. f3 = .2..!.. = L(y-f)o (f3)0 c3B = Bxe Kx oK y-f = observed y minus predicted y ( )0 refers to evaluation using L B = Bo and K = La = Ko L- Summation over all observations Solve for v (min) in the following equation (parabolic fit) (9) v (min) = 1/2 + 1/4 ( Q(O) - Q (1» where Q = L (y_f)2 / (Q (1) - 2Q (1/2) + Q (0) ) = [ei 2 Q (0) = Q with L = 10, B = Bo and K = Ko Q (1/2) = Q with L = La + 1/2 Dl Q (1) = Q with o B = Bo + 1/2 D2 K = Ko + 1/2 D3 L = La + Dl B = Bo + D2 K = Ko + D3 Then the inital values for the next iteration are 203 (10) LJ. =Lo + VDl B:t = Bo + vD2 0 Kl = Ko + vD3 If the process is converging, the value of Q using LJ. ~ and KJ, will be less than the value of Q using La, Bo, and Ko. If not~ try v = 1/2 v(m1n.) If the process still diverges, try new trial values of L,- B, and K. If the process converges, the iterations are continued until is less than s orne small arbitrary value ( € ) l1Q (11) Where D. Q = ..;;.IQk~~-oiQ.k~+~l_ _ (k denotes the iteration number) Qk+l e If is too small, then Dl D2 and D3 approach zero wbich might cause divergence due to computer accnracy. The computer print-out of the solution is shown in Parts C and D of the Appendix. In this solution, € was set at .0001. The standard error (stder) equals the square root of Q/(M-N). The computer details are presented in the next section. E. other Examples The following two equations are examples of our work with this technique. Interior Ballistics (LeDuc equation) v . where = au(w+c)d b+u v = Muzzle velocity u = barrel length w = propellant charge weight and a, b, c, and d are unknown parameters to be estimated Solid State Burning Rate Equation 'Where u = pll (a +b u = burning P = Pressure In p) c+d In P rat e n, a, b, c, and d are chemical and physical parameters to be estimated. c 204 \j \1 •• III. 0 ',  itt *a ,dee. ) n" th" .. fill' no DEFINTIION OF COMPUTER PROGRAM AND OPERATIONAL INSTRUCTIONS A. General I) This is a one-pass program, written in PDQ Fortran with fixed format subroutines. The program was compiled on an IBM 1620 (20K) computer with automatic divide. The input is on cards and the output is on the typewriter. The general flow diagram, Fortran source statements, and sample printout are contained in the Appendix. B. Program Limita.tions 1. The general form of the dimension statement is as follows: Dimension A(N+2),(N+l)),PD(N),C(N),D(N),CNST(N),Q(5),Y(M),Tl(M),---TK(M) Tne only limitation to this dimension statement is given by the equat'lon N2 -f- 7N+ K(M-t-l) < 473 where N • number of parameters M • number of observations K = number of independent variables and N( M C. Source Statement Changes: Once the problem is defined; make the following changes to the source statements when necessary: 1. Dimension .tatement: The dimension statement must be ~hanged to reflect (N) the number of parameters (M) the number o! observations and (K) the number of independent variables 88 dictated by the problem at hand. 2. Read statement: The changes made for reading the dependent and. independent variables is 8 function of the number of independent variables. These changes should be made 80 that Y(M) is the dependent variable and Tl{M)---Tk(M) are 18beled a8 the independent variables. For example: Read S, TI{I), ------, TI(I), Y(l) 3. Procedure 1: The changes made here are used in solving for Q and the partial deri'Y8tives in procedure 2. The last statement in procedure 1 should be DIn' • Y(K) -U, where U is equal to Y(I) calculated. Make the changes so the munber ot arithmetic operations are at a minimwn. h. Procedure 2: This procedure evaluates the partial derivatiwe, PD(l) through m(N) where R is the number of parameters. D. Input Data Preparation o 1. Punch source statement changes 2. Punch data as follows: a. Header Card (punched in Floating Point) 205 Identification Number of observations Number of parameters € (small arbitrary value) which determines termination of iteration b. 1 ... 10 11 ... 20 21:-30 Observations (punched with decimal) Card 1 - M (where M is the nwnber of observations)' punch the independent and dependent variables in colwnns 1-10, 11-'20, 21-)), etc., depending on the number of independent variables. Make sure the dependent variables is punched so that it will be labeled as Y(I), and the, independent variables are labeled as n(I), TK(I), etc. The order is defined in the Read statement. 3. Parameters The parameters (starting values) are punched once per card. THey can be in F format, Col. 1-10, with decimal, or in E format (~ .xxxxxxxXE:xx) in cols. 1-14. E. Computer Operator Instruction 1. Insert new source statements in program. 2. Compile program using PDQ Fortran Processor. 3. To execute object program: a• Clea r ma chine b. Load program and PDQ Fortran Fixed format sub'rdutines c. When computer types Load data d. Set Switch 1 f.or printout desired 1 off .to print Q for each iteration 1 on to get full printout f. When computer comes to manual light., pusb start key if error check is desired, otherwise you're finished. 206 o tt o F• Example Problem aU - PD(l) - 1 aCl au ac2 au aC 3 :z PD(2) - e C)T PD(3) :. C2TeC3T 1 dependent and 1 independent variable DIMElf3ION STATEMENT: DIMENSION A(5,4), PO(3), C(3}, D(3), CNST(3), Q(5), Y(6), T(6} READ STATEMENT: Read 5, T(I), Y(I) * PROCEDURE 1: Xl-C( 3) T(K) X2-EXP(Xl) X3-C(1)+C{2)* X2 U m X3 PROCEDURE 2: PD(l) - 1. PD(2) - X2 PD(3) - C(2)*T(K)* X2 o 207 en -- ---------_._-_._._-_......._._.. _--_._-----_. J:I.l. REFERENCES o. trTechnometrics", Vol 3 No.2, page 2 69, May 1961 1. Hartley, H. 2'., Scarborough, J. B. ''Numerical Mathematical Analysis", 3rd Ed., The Johns Hopkins Press, Baltimore, Md., 1955 208 o Cr£NLRAL TLOW DIAG-RAM APPENDIX - PART A 1 CH~NGE CARDS 5 Ne.~ SOURCE DECK 7 COMPILE . PRQc;RAM IN P])Q NEW OBJECT ])ECK o 209 9 oeJIC,. l)t C l( SU8ROUTINe' ( 'FllCE.D FORMAT) ~EAO!,~ CAR.D, 0 £'lVATION. AND OruGIN"", ETIMAT~" 11 10 CALCULATE M !. Y.;. 1 M J 1. t.I .21 .,"" LMW:: i 12 CALCULATE Q ... MN(O} , '«"E~E LMN ~""e NO. ~----~ of EVALUATE PAR1'"IAL 13 CALCULATE. CAANG&S(j).z,~: ., .. TOPR1VIOU IiSTIMATE YES 1B PRINT 210 ITERATIONS) • . tt... t sttthtthtttr rtitt±ri ris&t titzttrrirl . c 20 PR,'NT 22 CALCULATE QlMH ex.) 23 CALCULATE QLMNa) 24 NOTE: Q(O),Q(t),Q(l) should be subscripted as in boxes 12, 22 and 23. CALCULA1'E "-=)i ... ~ ~Q~)- Q(1)V(Q(1)-2(Q(~" Q(o)~ v~, :..,: 1,1114 PRINT o CALCUL"TIf qLMN(O) USING- CAt ... ",fih ...-'U1"""AT£S 1." AS ...'" 211 , _ _,___,_ _ _ _ _ _ _.____"__ '_"' _ _- • _____.__,.... ".......__.."." •.. ""',,'"'''' .,",.,.~.. ,.~.""".~~,=~.=~,=."".' __ "".',~"~,."".',.,"c==c~_"'.,.' ., ~,.~;~...::,;'"": .... ~....:-'.~' '~.~" ~ ...:.:.:--:::....:.-..-:-..-" .. , 27 PRINT '30 PRINT 31 STOP 32 PRINT CALCULATE AND PRJNT '"~ ( , .1 I STOP 212 _a"',",-_~""'" .. _ ...... ~---- .... - _. ~ - -. " o BUCKNELL UNIVERSITY LEWISBURG, PENNSYLVANIA Freas -Rooke Computing Center THE AUTOLOG-DIGIKLOK SYSTEM by Edward F. Staiallo Director, Freas-Rooke Computing Center Daniel E. Atkins Senior Assistant May 1. 1965 o 213 C) o ABSTRAC.T An online digital clock,althoughavailable for most large ,computers, has not been readily available for the IBM 1620. It is the belief of the author s that a 1620 with extended memory and disk storage is lar ge enough to justify the development and use of an onli:n"e digital clock in an automatic logging and program timing s'Ystem.· This paper describes the AUTOLOGDIGIKLOK System currently in use at the Freas-Rooke Computing Center, Bucknell University. The paper is presented in two parts. The first deals with the design and construction of the digital clock, the hardware of the system; while the second describes the program modification to Monitor I, the software of the system. Part one reviews the possibilities considered by FRCC to obtain a digital clock and the device eventually built at Bucknell. The two majqr components of the clock, the timing section and the gating-interface section are described at the block diagram level, together with a cursory description of their construe tion. Part two of the paper describes the software modifications and additions to the Monitor I system. The main software modification incorporates the clock into a system which generates a complete chronological record of computer use. The revised software as well as the actual operating systems are treated in detail. The possibilities for using the AUTOLQG software without an online clock are discussed. 214 c o I. INTRODUCTION A digital clock is a device that counts time in the form of trlumerical digits rather than as positions of hands on a dial. When the se d~gits are represented electronically, the clock can be connected to an ele4tronic digital computer as an online real time input device. A reading of the actual time may then be obtained by the programmer by instructing the,machine to interrogate the I/O channel to which the clock is connected. Th~s data may then be used to accomplish such tasks as automatic logging of jops run on I the computer, generation of random numbers, computing the elapsed time for program se grnents or entire programs, etc. This paper is concerned with the development of a digital Glock and the associated software for an IBM 1620 computer. The body of the paper is divided into two sections. The first section is primarily concerned with the design and construction of the digital clock. It begins with a survey of commercially available clocks and continues with a block diagram description of the design of a working device. The discussion centers around the logic design of the timing circuits and the gating interface neces sary for connection to the 1620 computer. The second section of the paper describes the Autolog software developed for use with the digital clock. The software is discussed from the standpoint of the user and as a program modification to the Monittor I System. No attempt has been made to discus s secondary program additions such as a random number generator subroutine although they are available. These are standard SPS subroutines written for addition to the Fortran II-D library. Since many users will not have a digital clock available for use with the Autolog program a section has been included that discussed the use of the Autolog Program without a digital clock. A short discussion of compatability with FORGO-D is included for those persons using the FORGO-D Monitor System. o 215 II. THE DIGITAL CLOCK Introduction The hardware portion of the Autolog-Digiklok System is an online digital clock. This device, nicknamed the. Digiklok, will maintain real tim'e, and upon instruction from the IBM 1620 will transfer a clock reading through the 1620 110 channel to core memory. This section briefly describes action taken by the Freas-Rooke Computing Center (FRCC) in obtaining a clock and the general ope ration of the Digiklok which was eventually designed and built at Bucknell University. Obtaining the Clock Several options for obtaining a digital clock were considered. IBM was first contacted and responded with an estimated cost of 15, 000 for a complete custom built unit. A formal logic design was then prepared at the FRCC and submitted to several companies with requests for quotations on a complete unit, logic hardware neces sary for construction of the clock at Bucknell, or some combination of these two options. The responses to these reque sts are presented in Table 1. Although formal quotations were requested only for a s·olid state device, the possibility of constructing the clock with electro-mechanical switches was considered. It was decided, however, that the noise and maintenance demands of the electro-nlechanical system coupled with the small price difference between switches and 100 Kcps solid- state logic justified the construction of a completely solid- state device. For the purposes of logging and program timing, a resolution of O. I second and the averag~ accuracy of the power line frequency were cons idered sufficient, and thus the AC line was selected as a time base. After considering the possibilities outlined in Table 1, the EECo, QSeries modules were selected with the idea of completing detailed de sign and construction of the clock at Bucknell. The Q - Series hardware consists of a universal circuit card (Figure I) and three different welded, encapsuled digital modules (Figures 2, 3,4) which may be soldered to cards to implement standard digital circuits such as gates, squaring amplifiers, multivibrators, etc. 216 o o o COMPANY ITEMS INCLUDED IN QUOTATIONS IBM Complete Unit Tech Serv, Inc. Logic cards, card files, 1 spare each type card. Without power supply. Engineered Electronics, Co. (EECO) 5 options for the necessary logic and card file s. Without spare s. With power supply. I$$
....,

-J

PRICE

ESTIMATED
TOTAL COST
$15,000 COMMENTS$1700.00

$2, 200 Not NOR/NAND Logic 4 card file s required T-Series CT-Series G-Series$2991.70
$2534.55$1817.75

$3200$2750
$2050 100 kc logic Fully cons tructed cards Q-Series Clamped Q-Serie s Unclamped$1363.30
$1295.10$1600
$1400 100 kc or 25 kc cards built from sub modules$2720.00

$3700 Estimated cost for constructing gating at Bucknell:$1000.

NAVCOR

No definite price offered.

C. E. Snow

No definite price offered.

PARA BAM

Constructed basic clock
without interface, gating, or
parity.

TABLE 1 - Results of Requests for Quotations

",':;"

•

o

!:-.,

rl b
i i,¥.

,M

14

"..

pc
•••••• ,

.

,....
,,....
..

2,18

........ 4 ................. '

-'-.'

'" t

fHbirlMrti'it&

rtttrthtt

3-input N AND,;N-OR
Q-41.1.
Pin
1
Z
3
4
5
6
7
8
9

I Q-414
I

*

I

I
I
I
I
I
I
I

f'=' ,

-.
llIIIUTS

[0

R2

..
3

10

5

t

6
7
8

9

-------------------------_ .... --GENERAL

0-411 and 0-414 are three input NAND INOR circuits~ based on resistor-transistor logic. 0-411 and 0-414 are identical circuits except 0-411 has a clamped
output to provide uniform output voltage "levels and 0-414 doe. not. There i. a
direct input provided in each unit for additional circuit ver.atiUty. The.e unit.
function as NAND or as NOR logic according to the alligned IOlic level voltale.:

=OV

For NAND:

"1" (true)

NAND output =

"0" (false)= -6V
ABC = A + ~ +-e

For NOR:

"1" (true) -6V
"0" (false)= OV

NOR output c

A + B + C a'A'!e"

'ELECTRICAL SPECIFICATIONS (NAND LOGIC)
Input:
Frequency
Rise Time
Fall Time
True Level
False Level
Output:
Rise Time
Fall Time
True Level
False Level

Min.

0
0-411
0-414
0-411
0-414

0
-6.0

Z5.0
Z.O
Z.O
5.0
--l0.0
-0.5
-lZ.O
1.0
Z.O
Z.O
5.0

0-411
0-414*
0-411
Q-414*
Q-411
Q-414

Z.O
3.5
4.0
3.0
0.1
1.3

ma
rna
ma

-0.5
-6.5

-IZ.O

P1gure 2 - Three iD'DU' IWJD/BOB

219

Unitl
KC
.... sec
.... sec
.... "ec
.... Iec
volt.
volt ..
.... sec
.... sec
.... sec
..... ec
volte
volta
volt.
fleec
fl·ec

10.0
0
-6.0
-6.0

True Level Delay
False Level Delay
Drive Capability
Power Requirement.,:
-lZV. :1:5"
+lZV. :1:5'"
(0-411 only)
-6V. :1:5"

0

Max.

t

"00"[

·.~.-"-.--- .......... ----~- - •...• -~'" .• ~"- .•. ~ ........" .".-.,~ •.• -. ,.. -

--,~ - -,..=--"-,~~;.,~.~,,:,,,"..:.....:...::.::..::...~:::....:..::.",.:.; ..: ..--:-; .• ~'':-

J.\d:ul ti Circu.i t

Q-4aa

..•.

~

I

100KO

-111

-~
I

-tN

1

PULse GAT[
lOGIC INPUT· II J-"""'".-......"""f'v--'

3
4
5
6
7
8

. r--

NAND ..
INPUT. ~

t. -~"\.!.,r---J

10
11

C2

lZ
BIAS

GNO

-------------------------------GENERAL

0-422 is a multi-purpose digital circuit used to produce flip-flops, one shot••
multivibrator, squaring circuits, pulse amplifiers, etc.
0-422 has a clamped output to provide uniform output voltage levels. When inputs to 0-422 come from ~nclamped circuits, care must be taken that the amplitude' of the pulse gate pulse does not exceed the false level of the pulse gate
logic input. For example, with a DC logic input of -8V, the pulse input must
not exceed 8 volts i,n amplitude.
ELECTRICAL SPECIFICATIONS· (NAND LOOIC)
Input:

Min.

Frequency:
NAND
Puis e Gate Logic
Pulse Gate Pulse
Rise Time:
NAND
Pulse Gate Pulse
F,all Time:
NAND
True Level
. NAND
Pulse Gate Logic
False Level:

o
o

o

NAND
Puis e Gate Logic
Amplitude, Pulse Gate Pulse
(Positive -going)
En~ble Time, Pulse Gate
Disable Time, Pulse Gate

Max.
100.0
50.0
100. a

Units
KC
KC
KC

0.5
0.5

JA.sec
JA.sec

1. 0

Il s ec

o

o

- O. 5
-0. 5

volta
volts

-6.0
-6.0

-12.0
-12.0

volts
volt.

5.5

12.0

volt.

0.5
0.5

4.0
4.0

".ec
"sec

Figure 3 .. Multlo1rou1t
,continued
221)

o

o

PO""9V"er Dri v-er
Q-413

--- - ---- ------ --- -.--- ---- --- -GENERAL
can drive up to ZS NAND/NOR inputs.

ot the NAND/NOR Wlita. 0-413

ELECTRICAL SPECIFICATIONS
Input:
Frequency
True Level
False Level

Min.

Max.

0
0
-6.0

Z5.0
-0.5
-IZ.0
I

Units
KC
volts
volts

Output:
Drive Capability
DC Levels
Rise and Fall time

Z5.0
e s sentiall y equal to input DC levels
essentially equal to input rise and fall
time

Power Requirements:

15.0

Figure 4 - Power Driver

o
221

ma

The major disadva.ntage of 'the .Q - Series is that it requires more
soldering, but it offers the advantages of design flexibility and low cost.

o

General Specifications
The general specifications of the Digiklok are as follows:
1.

The Digiklok shall keep real time to a digital reading accuracy
of o. 1+0.05 seconds and shall be capable of reading out tenths of
seconds (0-9), seconds (0-59) minutes (0-59), hours (0-23), and
day of the year (0 -365/ 6).

2.

The Digiklok shall be compatible with and shall communicate with
the 1620 through the 1622 Paper Tape Reader channels with minimum alterations to the 1620 system.

3.

The Digiklok shall not require high speed logic due to the fact that
it is based on a 60 cps time standard and that it will be read at

4.

The Digiklok shall offer a BCD display.

General Description

~

Illustrated in

~Diagram,

DKL-01

The general design and operation of the Digiklok is now explained with
reference to the FRCC Digiklok Block Diagram, DWG. No. DKL-OI. First
consideration will be given to the operation of the time counter s and second
to the reading of the clock by the 1620. The logic flow for the counting circuits is indicated by the heavy lines, and that for the reading control and
special functions by the lighter lines.
Time~.
Beginning with the functional block labeled 60 CPS LINE
in the lower right side of DKL-OI, pote that it serves as the time base for
the clock and that it drives the input of a Schmitt trigger which shapes the
sinusoidal AC into a square wave of the same frequency. Although the frequency of the line will vary, it will be nearly constant when averaged over a
day.

Binary Coded Decimals (BCD).
The ten digit time number is counted
and represented in the clock as a binary coded decimal in which each decimal
nurnber (0-9) is represented by its equivalent binary number as shown.

222

o

0-·

o

~

~----~-----4~--------~-------'----------~~----~-----------'----~~----~

I

I

L sc ~ sc ~ sc
-r,.D~
--r;ot. --r:;:OI
tf
t'"
'J
INO

t+

INO

• t ••

tt,t
BCO

BCD

O-q

0-2,
H2

seD

i>CD

O·q

C~

02

01

t

t

t

~r-

BCD

O-q

0-5

HI

M2

4~

MS

~WEQ

~ ~AILU~E ~

5UPPJ.Y

~"'SEQ

INO

aCD

0-'3

twill

~3

04r-

QeC

rl

O-q

...,..

82

S'

MS

M$S£:CO~D \~) COU~"E~ \O-5q.~) COUM'T~~ ()C:' 'Ill t till!lt = = tT)PUL.&~TO = 5EOUENCE CONTO()..~ 7 <1ENERAI():; - 1 == IN 0- VI5UAL INDICATOR ..--,./ BCD - BINARY CODE.D OCCIMAL COUNTER M 5 - MANU"l ~ET INPUT +•• ~ / .~ t\.~t( SVlIC Cl1STft aRQD ~'T~ IN Ul,I\IOQV II. IlAUTO) -t::J- 5\'-'UU.-mq---'" ::;:;:Q ~ (00 t-- cp:) UNE __ ' __ -S~"'A\)£ "'9l~\CM, NOf-N~-~I.'~, ~n~~~OM, ---:1; ~~ ~\~It 'L ;o;...:.=-~---------. ~DIA quoot FREAS-ROOKE COMPUTING CENTER BUCKNELL UNIVERSITY l::: ~ "- J.....--_ _ _ ~-T_ ~14NA1.. &TTIN~ SCHMtTT CONTQOLt4- ~ It BM •,~~o ~ W I~ +~. CWTC.M CAfIt - <0 :5. fY5 .- ~(NEQA"'OR n.. I(MANU"':-) ~ ~AMP~E.. =~T· ~ c\RC.urr~(~)- TC~-~ tAND'~TE'5) O-q MS TO NS \NPUT,$

\ \ 1'Q~~

sc

~~~•. .,L~.....

,tt t

BCD
4t-

r.i

't,

MS

(C-sct)

3YNC

~c ~ SAMPLE CIRCUIT

INO

e,cD

INt)

DC
POW£R

'NO

O-q

M\NUT£ (M) CQU""TEQ

COUN'TEQ

(O-'2:~)

t

ftf'

1 t 111 J

,t

M~

HOUQ (H)

~O-~CO'5~))

VJ

BCD

4'

us

tttt

,;r-

C1ENEQA1r~

-l~.,

t t t

t, ,t t

, 1.' ,
~r-

•

,

BIT

sc .-L' ~ --.L. se

T.~-r-;-n

\NO

INO

1

1

sc _1- sc
TW, --r:;toAl
t t tt

IHO

IND

MS
M5
MS
DAY (D) COUN,ER
[\)
[\)

_1- sc ~ sc
--r:;Ht --=r;.,
tt 1 1

INO

O-~ 04-r--

1

CHECK

INPUT -OU"n'UT

~IQN
(I/O)

tE ~ ~

~ ~ +~.I

~. -5.0
-

OIC1lkLOK BLOCK O\A'-RAM
,
DESifiNER: DE. ~KINS 1 WAV 4--,- ....
rQCC
AV·

A

....&&.&

-....·L'

..

DlCL-oa

Decimal
number

BCD
equivalent

0
1
2
3
4
5
6
7

0000
0001
0010
0011
0100
0101
0110
0111
1000
1001

;r-''\
~y

8

9
Table 2.

Decimal to BCD Conversion

Each bit of the BCD is represented by the affirmative (1) output of a
bistable multivibrator, commonly called a flip-flop. The group of flipflops necessary to form one decimal number compose a BCD counter; a
count of the maximum decimal number 9 require s four flip-flops. In the
Digiklok, however, some counter maximums are less than 9, for example,
the ten seconds counter counts to a maximum of 5 and the ten hours counter
to a maximum of 2. These BCD counters therefore require only three and
two flip-flops, re spectively. In this report, unles s otherwise defined, the
term counter will refer to a BCD counter consisting of two, three, or four
flip -flops.
Counters. With these terms in mind, continue following the counting
logic on DKL-OI. When the clock is operating in the normal automatic mode,
the 60 pulse per second (pps) output of the Schmitt trigger drives through the
Manual Setting Control into the input of the first counter (So) which divides
the frequency of the signal by 6, i. e. the output triggers in the next counter
if and only if So has counted 6 input pulse s repre senting 60/6 or O. 1 seconds.
On the 6th pulse, So resets to zero and begins recounting.
The output of counter So drives the input of the tenth of second counter
(SI) which immediately upon reaching a count of 10, resets to zero and triggers a count in the 82 counter. Likewise when the S2 counter reaches 9+1,
it resets and triggers a count in the ten second counter which counts to 5
before resetting and triggering the one minute counter (MI) on the 5th pulse.
The S counters thus effectively divide the 60 pps time base into sixth, tenth,
unit and ten seconds.
Sim.ilarly the minute (M) counters count and register the output of the
S counters, reset to zero after reaching a decimal count of M2=5 and M=9,

( Jl""\
224

!II

and transfer a count to the hour (H) counters. These counters reset to zero
on the 24th pulse and transfer a count to the day (D) counter s which total a
maximum of 365 or 366 in a leap year.
Reading and Data Transfer. For the time to be read by the 1620, the
outputs of the BCD counter s must be gated into the computer input section.
Data is read from the clock through the paper tape reader channels and thus
the Digiklok operation must simulate that of the paper tape reader. Data
transfer is by serial digits, parallel bits and is accomplished as now described.
Beginning at the large functional block labeled IBM 1620 INPUT OUTPUT SECTION, note the line from it to the Scan Control. When the 1620 is
instructed to read the Digiklok and no transition is occurring as signaled by
the connection from the So counter to Scan Control, the Scan Control will be
enabled by a level change. It in turn will enable the Sequence Generator
which will produce a serie s of 11 transfer (T) pulse s on 11 different line s,
each connected to one of the Sample Circuits (SC) shown at the top of DKL-Ol.
The input to the SC function blocks consist of the transfer lines and
the outputs of one BCD counter through a lamp indicator and appropriate
driving circuits. When the T level is present on the input to a particular SC,
the output of its counter is transferred to the data line s (parallel 'line s at top
of drawing), through the Check Bit Generator, and into the 1620 Data Input
Register. The Check Bit Generator maintains odd parity which is used for
error detection, i. e., it produce s an extra bit on line 5 if the sum of the" 1"
bits on line 1 to 4 is an even number (O=odd).
The output of the BCD counter selected by the Sequence Generator is
now in the 1620 Data Input Register but the data is not transferred into core
memory until a sync pulse is generated by the Digiklok Sync Pulse Generator
and detected by the 1620. As indicated on the Block Diagram, the Sync
Generator is driven by the Sequence Generator. The sync pulse, however,
lags the T pulse time enough to insure that the inputs to the 1620 are stable
before being read. Upon detecting the sync pulse, the 1620 transfer s the
data to core memory within 20usec and is ready to read data from the next
SC enabled by the Sequence Generator.
Each time the 1620 is instructed to read the Digiklok, this reading
sequence will be initiated at the D3 counter and continue serially through the
End of Line signal (ElL). When the 1620 senses the ElL bit on line 8, it
will negate the "1" signal to the Scan Control, the Sequence Generator will
be inhibited, and data transfer will stop. The computer will proceed to
execute the next programmed instruction.

o

Other Function Blocks.
The Signal Simulator above the IBM function
block must supply S levels to various inputs of the paper tape channels to

225

· simulate control signals not used in the operation of the clock.
are IBM nomenclature and are defined as follows:

=

+S

=

-S

'itS" levels

-0.6v to -0. Iv
-12.48v to -6.87v

The power supply provides the proper levels and necessary current
for the operation of the logic modUles from a 115 VAC line. The Digiklok
includes a relay to detect power failures which turns an lndicator on, and
negate s the +5 Reader Ready level from the Signal Simulator.. The -S on
this line will cause the computer to pause and indicate "Reader No Feed"
on the console light display if the clock IS addressed before being reset.
The Reader Ready line is set to +S when the clock is manually set to the
correct time.

Cot1structio~

Detailed designs were prepared during the summer 6f 1904 and construction began in September, 1964. The clock was essentially completed
in February, 1965, and since then has been in continuous operation at the
FRCe with no major failures or design errors detetted.
The total cost for the project is summarized in Table

a.

ITEM
.. )

,

EECO Q-Series Logic including hardware to
construct 6 spare eards
Other hardware including that necessary for
-llVDC and -6VDC Supply

$202.3d -l2VDC Power Supply and Spare$'

60. d()

Cabinet

$29. (J7 Postage f l't. 06 Telephone Expenses$~

Labor

$: .. 1.Q,Q..~,.~.Q' TOTAL TABLE 2 - Slimmary of Expenses, Project Digiklok 226 c). 62$2·j81.66

III.

THE AUTOLOG SOFTWARE

Introduction

In this section of the paper the Autolog System is described first from
a users standpoint, secondly as a program modification to the Monitor I
System, and lastly as a system for use with or without a digital clock. Program listings and the as sociated flow charts are included in the appendice s.
The step by step procedure for adding the Autolog Program to the Monitor I
System can be found in Appendix B.
Before commencing with a discus sion .of the details of the Autolog
System it might be appropriate to describe the entire system in general
terms.
The Autolog System is used to generate a chronological table of jobs
run under the Monitor I System. Each time a job is run a log record is
entered into a log table area that has been re served on the Monitor I disk
pack. As presently operating, the table can handle as many as 400 entries
before it must be dumped. The information in the table can be retrieved in
either of two ways. The normal mode of retrieval is to run an edit and
punch program that edits each log table entry, punches the edited entry on
a card, and reinitialize s the table so that it is ready to receive up to 400
new entries. An SPS listing of this edit and punch program is included as
Appendix C. The second mode of retrieval is one that is not normally used,
but rather is available so as to protect programs stored on disk by insuring
that only 400 entries are made in the table. This routine is part of the
Autolog program and with a minimum of operator attention will automatically
dump the table to cards and initialize the table for 400 new entries. The
system is designed in such a way as to prohibit running of a program if the
log table is full.

o
227

An example of the output from the edit and punch routine is shown in
Figure 5. The output from the edit and punch routine can now be used for
any type of analysis desired. Figure 6 shows the output from one analysis
program. This particular program condenses the output into a daily listing'
for each month.

Code No.

Machine Date

11176315
11177211
21109391
11177211
11177211
11111211
11177211
11171103
11111103
11177311
11174316
21109391
21109391
11177311
11176315
11112308
11174316
11177211
11171311
11117211
11177211
11107393
11101393
21109391
11177211
21176719
11177211
21109391
11177211
11174316
11176344
11107393
11177211
12177001
13117002
21109391
'21109391
1117,7311
11176344
11111211
1117'6313
1311-7002

1620A
1620A
1620A
1620A
1620A
1620A
1620A
1620A
1620A
1620A
1620A
1620A
1620A
1620A
1620A
1620A
1620A
1620A
1620A
1620A
1620A
1620A
1620A
1620A
1620A
1620A
1620A
1620A
1620A
1620A
1620A
1620A
1620A
1620A
1620A
1620A
1620A
1620A
1620A
1620A
1620A
1620A

03
03
03
03
03
03
03
03
03
03
03
03
03
03
03
03
03
03
03
03
03
03
03
03
03
03
03
03
03
03
03
03
03
03
03
03
03
03
03
03
03
03

31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
311

31
31
31
31

Time On

65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65

1350
1423
1425
1426
1427
1430
1431
1432
1434
1436
1437
1449
1451
1500
1501
1507
1513
1517
1519
1525
1528
1530
1533
1536
1537
1539
1540
1542
1543
1548
1552
1555
1558
1601
1605
1606
1609
1611
1616
1620
1630
1641

279
245
406
573
552
430
412
393
100
392
069
348
485
098
027
079
407
107
564
331
218
522
260
218
449
180
228
246
422
029
206
284
556
303
450
281
516
110
064
238
491
576

Time Off

1423
1425
1426
1427
1430
1431
1432
1433
1436
1436
1449·
1457
1459
1500
1506
1513
1516
1518
1525
1521
1530
1533
1535
1531
1539
1539
1542
1543
1546
1552
1555
1558
1559
1605
1606
1609
1610
1612
1619
1622
1635
1642

130
265
469
409
330
266
249
588
282
558
238
381
584
510
564
287
288
292
324
173
412
094
160
345
034
565
140
311
066
094
111
251
431
286
021
410
5·84
046
447
312
119
591

Net Time

00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00

32
02
01
00
02
00
00
01
02
00
12
08
02
00
05
06
02
01
05
01
02
02
01
01
01
00
01
01
02
04
02
02
00
03
00
03
01
00
03
02
04
01

451
020
063
436
378
436
437
195
182
166
169
033
099
412
537
208
481
185
360
442
134
172
500
067
185
385
512
065
244
065
565
513
475
583
111
129
068
536
383
014
228
015

Programmer

CONNER, T
DEFEO,BRENT
MORGAN
JANT
DEFEO,BRENT
HAUN
ZIMMERMAN
STOLL DAVID R.
STOLL DAVID R.
FRANTZ t L. I •
UHLER, ANDREW S
MORGAN
MORGAN
PRIESTER,PL
PANCZYSZYN,FRANK
RODNEY,P.F.
UHLER, ANDREW S
JANT
1FRANTZ t L. I •
WARNER
DEFEO,BRENT
DEFEO,BRENT
DEFEO.BRENT
MORGAN
JANT
WEBER G. L.
GELLER
MORGAN
CANTONI.JIM
UHLER, ANDREW S
STIDFOLE,R
DEFEO,BRENT
WARNER
GATSKI,R.L.
FRANTZ, L. I •
MORGAN
MORGAN
BERRIERJV 3-31-65
SMITH, DAVID F.
CANTONI,JIM
JOHN COX
FRANTZ, L. I •
(~~
~,~~.
.

Figure 5

. 228

t.

C

I'

we

I

AUTOLOG DAILY TIME REPORT
03 MONTH 1965

DAY
1
2
3
4
5
6
7
8

9
10
11
12
13
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
TOTAL

NO OF '
ENTRI'ES
110
28
105
107
64
38
45
105
142
142
206
227
152
198
68
24
216
166
120
127
233
204
151
204
149
65
27
124
122
95
3,764

FIGURE 6

o

229

TOTAL TIME
HRS MIN SEC

10

58
26
24
58
50
52
59
37
58
38
6
43
30

45
0
27
38
22
51
17
49
59
58
25
27
22
24
18
32
58
55
21
16
25
31
44
34
5
37
57
21
48
58

301

55

16

9

9

11
7
5
3
1

16
20
21
57
25
46

3

6
12
20
,16
17
4

12
12
6
12
14
7

11
16
9

11
13
12
6
1

8
9

37

7
37
42
30
59
56
39
41
37

Autolog from a Users Standpoint
~..../

In writing the Autolog modifications for the Monitor I System an effort
was made to minimize the changes in the 'op~rating proeedure of the Monitor
I System. It was assumed that fewer operating errors would result if the
deviation from normal Monitor operation was small. The ,only changetnade
in the operating procedure was one that will help avoid tonfusion when uSing_,
the multi-processing feature of Monitor. This change is not critical to the
operation of the Autolog and could be easily deleted from the System.
To affect the use of the Autolog the user must simply fill in certain
columns of the Monitor Job Card with the proper information.. The twenty ...
eight columns of the JOB card normally used for comments, have been taken

*'

,:f JOB

lll7700lE. F.STAIAN'O ..... TEST
Eight
Twenty Digit
Digit
Programmers
Nume ric Name Field
Job
Code

COLUMN:
31

40

60

SAMPLE JOB CARD
over by the Autolog routine. These twenty eight columns, are divided into
two fields. (See sample JOB card). The first of these fietds t which must
contain only numeric information, is eight digits long. These eight digits are
stored as part of the log record and can be used for charge ~ades, job elas sification, student numbers, etc. The second field, which is twenty digits long,
long, can contain either alphabetic or numeric information; although the first
character in the field must be alphabetic. This field should contain the programmer I s name plus any auxiliary information the prograMther wishe s to
record.
.

c

l+m;;711'::U''PF''W''lp,::rww,Wti.ffel,np,z.

*._x.

*.

at

[)

II

[

1" .

tile

Both of the two fields mentioned above must be filled in properly. If
either of these two fields is improperly coded or left blank the job is not
processed, the operator is informed of the error and the supervisor goes
into a JOB card search. The above information is all that is required for
the Autolog when used iIi. conjunction with the digital clock.
The change made in the operating procedure of the Monitor I System
is designed to solve the pr oblem of relating which answer s belong to which
program. Anyone who has used the multi-processing feature of the Monitor
System has probably experienced the above program-answer puzzle.
This problem is easily solved by punching a header card and a trailer
card for each program. As soon as the Monitor type s the JOB card, the
information that was punched in the programmer's name field is punched on
a card. After the job has been completed and before the END OF JOB me ssage is typed, two more cards are punched behind the output from the job.
The first of these two cards will cause a page skip when the cards are listed
on the IBM 407. The second card is a blank that makes it unnecessary to
use the non-process run out button to get all of the output from a program.
The above modification has greatly simplified the problem of multiprocessing with Monitor. The operator does not have to remove each job
as it is completed and is thus free to prepare jobs for stacking and to watch
for check stops caused by undefined variables in Fortran II programs.
Since the programmer's name appearing on the job card is typed by the
monitor system, the problem of associating error listings with the appropriate program is non-existant.

Incorporation of the Autolog Program into the Monitor I System
The Autolog Program is made up of three principal parts. The first
part of the program is executed through a set of interrupt instructions
placed in the JOB CARD PROCESSOR routine in the Monitor I Program. The
second part of the system is the log table dump routine which is automatically
called into action when the job table is full. The third part of the program is
executed through a set of interrupt instructions placed in the END OF JOB
PROCESSOR routine in the Monitor I program.

o

The entire Autolog program requires 32 sectors of storage on the
disk. Flow chart #1 in Appendix A shows the various sections of the Autolog
program and their locations in disk storage. The second block in the flow
chart indicates the location of the sector that contains the disk control field
for the current log table entry and the automatic table dump routine are
common program segments, i. e., they are in core with the JOB PROCESSOR
patch and the END OF JOB PROCESSOR patch.

231

The process of automatic logging is perhaps best explained by following through the processing of a Monitor Job.
As soon as a JOB card is sensed by the Monitor Control Record
Analyzer routine control is passed to the JOB CARD PROCESSOR routine
in Monitor. This routine analyzes the information contained on the JOB
CARD and types this information with the aid of the TYPE A MONITOR
CONTROL CARD routine. After the JOB card has been typed and before
control is transferred from the JOB CARD PROCESSOR routine a set of
patch instructions, inserted in tht's routine, reads in the Autolog program
from disk storage and branche s to the beginning of the program. This section of the Autolog routine fir st checks the appropriate Autolog fields read
from the JOB card and then depen,~iing upon the validity of these fields either
continues the logging operation or informs the operator of the presence of
an error in the field or fields. Should either or both of the fields be improperly coded the Autolog routine sends the Monitor into a JOB card search.
The program containing the improper card is not processed.
Assuming that the JOB card is properly filled out, the Autolog next
decides whether or not the previous job processed ended through the END
OF 'JOB routine. This checking feature was necessary to account for the
cases when Monitor is destroyed in core and a cold start is required. Each
time a program ends in this diba'str.QuS fashion an identifying record is
placed in the table.
Using the information punched on the JOB card in columns 33 thru 60,
the Autolog program reads the digital clock and stores on disk a JOB begun
entry. This entry is made in the sector specified by the current log table
entry disk control field. Upon completion of this task the Autolog executes
the replaced Monitor instructions and transfers control back to the JOB
PROCESSOR routine in Monitor.
No further interrupts are encountered until the job has been completed and Monitor branches to the END OF JOB PROCESSOR. At this
point the second interrupt occurs and the second section of the Autolog program is read into core. After checking several indicators, the log record
that was started back in the JOB PROCESSOR routine is read back into core.
At this point the clock is interrogated again and the reading is placed in the
log record which is in turn written back into the log,. table. . The current log
table entry disk control field sector address is then incremented by one and
tested for size. If the table is full, control is transferred to the table dump
routine. If the table is not full the replaced Monitor instructions are executed
and control is returned to Monitor.
The automatic table dump routine does not edit the log table entries
as they are punched on cards. This routine dumps the table 'exactly as it is
stored on the disk. A separate program must be used to edit this output.

232

C

Mdt

c:
----.....--,

%NT616Itu_r

ENr6~

7711

7"011 "'4; UN
A',eo~1J ,AI

r"l

F;""'IN

~IF'

~OC

EAlr~Y'

Fo~

TN'S .roB

EJ(I't:.vrL

R"~ACIP

"',,"',rD 1ft

rAJ.,r~UC1IDiJ

Figure 7

o

233

rAI~".

._" .r1

m?

Should the above job have ended abnormally, the log reto:td would
have been co:mpleted by the JOB PROCESSOR interru.pt plrogr.am.
For further details of the Autolog program the reader is referred to
Appendix A which contains flow charts and BPS listings of theprograrn.

Special Features of the Autolog System
Operation without the digital clock.
The Autolog Program can b'e used
without a digital clock in either of two ways. The first way requires that the
three Read Numeric Paper Tape instructions, used for reading the clock, be
changed to Read Numeric Typewriter. This would require the operator to
enter the time from the typewriter at the beginning and end of each job. This
has the obvious disadvantage of slowing down the processing of programs
while it has the advantage of forcing each user to log on and off the machine;,
A second way to utilize the Autolog Program without a digital clock is
to NOP the Read Numeric Paper Tape instructions and log only the programmer's name and the job code. This would provide a record of who used
the machine and for what job but would not give any information concerning the
amount of time used. This change would not increase the time necessary for
logging and in addition would not require any operator intervention.
\

Compatability.
The Autolog Program. is compatible with FORGO-D.
Certain features of FORGO-D are undesirable for automatic logging, however,
and a further modification has been made to Monitor and FORGO which elirninates these disadvantages. These changes put FORGO on the same level as
Fortran II, SPS II and the DUP routines. The double comment card has been
eliminated in favor of a :f: f FORG control card. This card can be processed
by existing Monitor Subroutines and results in a far simpler modification than
FORGO-D. All halts have been removed from FORGO to allow for multiprocessing without operator intervention. This modification fbI' FORGO can
be used with or without the Autolog program.

234

me

.tt

rirt'trtrrn±'

523 c

Rev. 2/65
Rev. 4/65

o
FORTRAN II INCR.EMEN'.ML PLO'l'l'ER SUBROUTINE
(DFIPS)

Pablo Larrea

Princeton-Pennsylvania Accelerator
Princeton University, Princeton, New Jersey

July 6, 1964

AEC Contract No. AT(30-1 )-21 37

o
235

---------------..--_..

_------

Rev. 2/65
Rev. 4/65
FORTRAN II INCREMENTAL PLOTTER SUBROUTINE

(DFIPS)
Introduction
DFIPS

is a general purpose routine for use in FORTRAN II pro-

grams for an IBM 1620 disk system with a Calcomp 565 Plotter.

Its main

function is to provide with a single routine and as few FORTRAN statements as possible a complete drawing.
Functions of Subroutine
The DFIPS subroutine will accept one pair of arrays at a time
several of which can be included in one drawing.

The first set of arrays--

for a drawing will have scaling performed on it, or it will give the
scaling information; also the axes will be labelled as well as the drawing title will be drawn. Other sets of arrays will be superimposed on
the same axes allowing 1/2" over the edges.
Subroutine Calls
There are 3 general types of calls to DFIPS, each of them accomplishes a specific task.

The first type starts a new drawing with,

its labeling and scaling and draws the first points or curve.

The

second type superimposes on the axes drawn by the first call additignal
points or curves.

The third type is for any additional labeling

beyond what is normally obtained by call type 1.

nece~sary

Calls type 1 and 3

have at several places optional arguments which should be included only
if they are necessary, since not all arguments have to be present at all
times.
General Call (Type 1)
CALL DFIPS (X,Y,N j M,SX,XMIN,DELTX,YMIN,DELTY,Rl,R2,R3)-is the
general call which starts a new drawing.

The first two-arguments are

the names of floating point FORTRAN arrays.

The successive

el~ments

of

which contain the abscissas and ordinates respectively of the data points

( '\\,.1
,

236

"!!II,.,n,,!:'! t ,..,:E""'?,.1 I

s ..

St7

$PPAD 523 c Rev. 2/65 Rev. 4/65 The third argument (N) is a FORTRAN integ~r or integer to be plotted. variable which specifies the number of points to be plotted. The fourth argument (M) is a FORTRAN integer or integer variable whose 2 low order digits take the following meaning: low order digit (units) if -1 draw line connecting points without drawing markers at the points o draw line connecting points and also mark the points 1 only draw marks without connecting the points If the units position had an 0 orl then the tens position will be interrogated to determine which marker is to be used for the point according to the following: o= dot I = octagon 2 = plus sign 3 = triangle 4 = upside down triangle 5 = square 6 = diamond 7 = asterisk 8 = four pointed star 9 = star The high order digit ( thousands position) will take a meaning if the line is to be drawn (low order digit 0 or -1) and it will be.: if 1 draw dashed lines connecting thepointsj if any other number draw full line. Examples If M = 30 the points will have triangles around them and be o connected by a solid line. 237 PPAD 523 c Rev. 2/65 Rev. 4/65 If M = -lOOl~ the points will be connected by a dashed line and no marker drawn. If M = 1001- the points will be marked by a dot and no line will connect them. (NOTE: When a number is made negative the - sign goes with the low order digit.) The next argument (SX) refers to the length of the X axis in inches. The Y axis is always fixed at 9 inches; and the X axis at whatever length is indicated by this argument which must be in floating point form ahd cannot exceed 99. inches. If it is not an integer number. of inches its value will be chopped to integer. If it is desired to pre-select the scale, the next 4 arguments are entered; otherwise they are not included. The first of them (XMIN) represents the lowest value that will be printed on the X axis; the next is (DELTX) the number of units per inch along the X axis; the others are Y axis equivalents of them. 200. (NOTE: If XMIN is some odd number such as 5121.3562 and DELTX The values on the scale will represent 5121.3, 5321.3, etc., so care must be taken in selecting values of XMIN and YMIN, and not just the lowest values in the arrays.) The last 3 sets of arguments (Rl, R2 and R3) provide the drawing title, X axis and Y axis labels respectively. Each of them can haVe from 1 to 11 arguments. They constitute essentially what would be found normally after a PRINT statement; that is a reference to a: 'FORMAT statement number followed by a' list of elements (if necessa.ry) each of which is separated by a connna.. In order to iden- tify the FORMAT statement number it must be preceeded by a$ (dollar sign);
so the indicator character ($) can be thought of as representing an imaginary WRrTE ON PLOTTER type statement. 238 rr: tr tt _ r • zmr PPAD 523 Rev. 2/65 Rev. 4/65 There are some important restrictions imposed by the compiler on this part a) Maximum length of 80 characters of output. b) FORMAT statement must have preceeded in the program its use. c) No DO loops implied or otherwise allowed; but if (A(I), 1=1,5) is desired it can be written as A(l), A(2), A(3), A(4), A(5) without any problem. d) No carriage returns(/) can be given in the FORMAT statement; but the slash can be valid in a Hollerith string. Note also that as written the program can handle only up to 11 arguments (a FORMAT statement number and 10 items on the list). On writing a line all leading and trailing blanks are eliminated for speed. TYPE 2 CALL CALL DFIPS (X, Y, N, M) This call is used when it is desired to fit other sets of data points in the same drawing. No scaling will be performed for these; they will ohly be fit on the same set of axes . . A general call must have preceded this statement. If a point falls more than 1/2 inch outside of the limits of the drawing, a card will be punched containing the identification for the point, its coordinates and the message "out of range". In this call the X and Y have the same meaning as on the previous case; the N will contain the number of points; and M has the same meaning as before. TYPE 3.CALL CALL DFIPS (X, Y, N, HI) o This call is used when it is desired to add another line of writing at a specific point. It must be preceded by a general call. 239 'ftr C I "~. I PPAD 523 c Rev. 2/65 Rev. 4/65 The. X and Yare floating point representation of the location where this title is to appear. o If they are not given the data will be written where the pen is (at the end of a line to identify it). This line of data will normally be written in letters .18 inch high (size 3 since all sizes are multiples of .06) and oriented parallel to the X axis. N if present can modify both of these. The element Its value will indicate size number (if 1 letters will be .06 inches high, if 5 then .3 inches etc.), and its sign orientation; positive parallel to Y axis. Note: = parallel to X axis, negative = Only the last digit of size number will be used so maximum size possible is .54 inches. being the data to be written. The last set of arguments For an explanation see Rl, R2 and R3 ex- planation in the general call. RESULTS The results will be a drawing which will have the axes drawn with tick marks of .1 inches in length every inch in each of the axes. At each tick mark will be the value on the scale at that point. If the values are between 1.0000 and 999.9999 no factoring will be performed on them; but otherwise they will have a multiplication factor ~ssociated with them. The numbers will consist of up to 4 decimal places with the trailing zeroes deleted for speed and neatness. These numbers indicating scale will be .06 inches in height and .04 inches in width with .02 inch separation between numbers. The units per inch used on the scale will be an integer or an integer times an appropriate power of ten (only 1, 2,4,5, & 8 are used, example .02 unitS/inch or 5000 units/inch) such that all the points in the first, array are included in the drawing or as given by XMIN, DELTX, YMIN, DELTY. In the scaling process both for the X and Y axes their respective maximum and minimum values are obtained. Because only 4 places are output after the decimal point on the scales, the points should differ by at least 1 in their fourth most significant place. (Example: if X max = .00324658 X min should be ~ .00324558 so that the scales show correct values.) The labels for the axes are with letters .18 inches high .12 inches wide with a space .06 inches wide 240 o 523 c Rev. 2/65 Rev. 4/65 PPAD o between letters. axes. They start .6 inches away from the intersection of the The drawing title will be below the X axis label in letters .24 inches high .16 inches wide and .08 inches apart. These dimensions are important to know the number of characters that fit in a particular size axis (always I" allowance should be made in case scaling is performed so the scaling factor has space to go). ERROR MESSAGES Non Fatal: If a point falls outside the normal drawing area (allowing 1/2 inch overlap) a card will.bepunched containing all information on the point Fatal: These are typed as ERROR DFIPS I meaning I =0 scaling is to be performed on a type 1 call and number of points on array (N) is less than 2 I = 1 scaling is to be performed on a type 1 call and on one of the axes its maximum and minimum values are equal I =2 line to be drawn with zero points on it I 3 wrong number of parameters in a call I 4 on call type 1 the length specified for X axis is > 99 inch~s or < 1. inch On all of these w.ill halt and if start is pressed progr~ it will return to main program. I=5 on call type 3 the size of character to be drawn has been specified as O. title or b) Options available: a) Pressing start will neglect the Press insert, type 42 R-S will draw it size 3 with orientation parallel to X axis. o 241 !'PAD 523 c Rev. 4/65 Rev. 2/65 c GENfRAL PLOT PROGRAM ( C DIMENSION XCIOO),Y(lOC),TITLE(lOt.XL(lO).VLIIOt FOR~AT tE14.7.rI4.7,Il,Il.IS, . 1 0 FOR rv1 A T (1 O~.4 ) 11 FORMAT C4f.14.7) i f\'=~ 2 REAn 9,Xp.YP.ICALL.JOP,~ ICALL=JCALL+l GO TO (3,4.5,6,7),rCALL 9 3 ~\ ( N+ 1 ) =XP YCN+] )=YP N=N+l GO TO 2 4 READ 11,SX READ 10,TITLE.XL,YL IF (lOP) 41.42,41 41 READ 11,XMI~tDELTX,YMIN.DELTV CALL DFIPS(XtY,N,~,SX.XMIN,DELTX,Y~IN,DF.LTY,SlO,TITLE(l).TITLE(2), ITITLE(3),TrTLE(4),TITLE(5),TJTLEC6),TITLF(7).TITLE(8),TITLE(9), 2TITL[(ln),$10.XL(I).XL(2),XL(3),XL(4"XL(5),XL'6).XL(7).XLCS),
: XL ( q ) ,X L ( 10 ) ,$10, YL ( 1 ) ,YL ( 2 ) , YL ( 3 ) , YL ( 4) • YL ( 5 ) ,y L ( 6 ) • YL ( 1 ) , YL ( 8 ) 4.YLCQ) ,YL( 10» GO TO 1 42 CALL DFIPS(X,V,N,M,SX, 510,TJTLE(1),TITLE(2), :TTTLr(3),TITLE(4),TITLE(5',TITLEC6).TITLEC7),TtTLE(8).TITL(C9), 2TiTLECIO),$10.XL(1),XL(2).XL(3),XL(4).XL(S"XL(6),XL(1),XL(8).
3X L ( 9 ) ,XL ( 1 a) ,$1 (,), YL ( 1 ) ,YL ( 2 ) ,y L ( 3) • YL (4) • YL ( 5 , ,y L ( 6 ) ,YL ( 1 ) ,YL ( 8 ) 4,YLCQ) ,YL( 1"» GO TO 1 5 CALL DFIPS(X,V,N.M) (,0 TO ! RFAO 10.XL IF (YaP) 61,62,61 61 PEAD 11.XP,YP CALL DFIPS(XP,Vp,M,s]n,XL(1),XL(2).XL(3).XL(4).XLCS),XlC6).XL(1), 1XLCS) ,XLCQ) .XL( 11"» 6 GO TO 1 62 C~LL DFIPS( M,$10,XLCl),XL(2),XL(3),XLC4),XLCS).XLC6),XLC1),
lXL(8) ,Xl(9) .Xl(lO»

GO TO 1

... CALL EXIT
END
0.ncnn0~0E-q~

r.anr~0nnE-99

2.0nC0nnn~-n~

1.9866Q32E-Ol

4.o0ronOOE-n~

3.8941834E-Ol

6.nnoonn~E-~1

5.6464247F-Ol

q.C~00n00E~01

7.17356nQE-Ol

1.r.nnn~C0E+00 8.4141n98E-Cl
1.2C00000E+C n Q.32039nSE-Ol
1.4nronOOF+O~ 9.8544Q73f-Ol
1.6noconnE+no 9.99S7360E-Ol

111
211
311

411
511
611

111
811

91r"

1.8~00000E+on

9.13~4763E-Cl

10lY

2.0nOO~COE+CO

9.092Q742E-Ol
8.084Q64"E-Ol

1 111

2.4~~n0n~F+n" 6.7546~lAF-Ol

]311
1411

2.2000nnrF+~~
2.6~n~nnnE+~n

~.1550137F-Ol

2.n00~n~0F+OO
3.~~.orO~E+n~·

3.34Q8815F-Ol
1.41120nlE-Ol

1211
1511
1611

,""i"'jIl",n!!!IN"

7

r

t t r

"yt

trS'

#.t

1'"

ttnr:t

_

h

t

'

•

Ii

Rev. 2/65
Rev. 4/65

o

3.2~~n~~r~+0n~5.837414nE-02

1 711

3.4('~0~~~~+r~-2.55~4110E-~1

1B1 1

+ r. 0 - 4. ,42 C; 2044 E- () 1

1011

3.u0~~r~~E+0~-6.1185789E-Ol

4.,2,:; C~'~' ~ r. f. + t: n - 8. 71 ') 7 5 77 r - 01

20'11
2111
2211

4.4~l0~0~E+~n-Q.516~2n7E-01

2311

4.6:"~0~~nF+~~-q.q~691rrE-rl

2411
2511
2611
2711
2A11
?Q11
3011

3•

f... (),

C} r~ ,

:" E

4.~O'00nO~+0~-7.568024QE-Ol

4. 8 ,~ r f'. (': ~ f'\ ~ + n r" -

q • q

6 1646" F. -

~

1

~.~n~~~nnF+0~-q.5892427~-Ol
5.2n0~~nnF+n~-~.834~46~E-Ol

5.4nrn~~n~+~n-7.727644RF-Ol

,.., • 6 f"\

(" ~

r ') 1'\ F + f' n - () • : 1 ? 6 6 6 "'J, r. - (') 1

~.R0~~~nnF+~n-4.64An2'7f-01

10-1001
7. ("
nr~

,\ '!.II NC

NO. 1

X
F(

n • '" \ r, ('If"

x,
0 Q

1. r) n("1 0 I" (" f + () 0

112

2.r0nn~n0r-01

Q.80nA6~7E-nl

212

4.C0r100rF-01
6.n n oo n onF-Ol

o.21r60qQf-~1

9.~0n0~nnF-1"1

6.q67n671F-01

I.6~00000F+~n-2.91qQ52nF-n2

312
412
512
612
712
812
Q12

1.8000~OOF+~n-?2720?~nE-Ol

1012

J

0. (' E -

8.25~3561F-Ol

1.C0°8nOnF+~~

5.4a3n23r~-rl

1.2nn0nrn~+n0

3.62'577~f-Ol

1.4100~on~+n~

1.6906714[-0]

2.0"~0~0rr+nn-4.1614~83E-Ol

1 11?

2.20r~~~0F+0n-5.RA5C]11F-Ol

1212

~.4~0~rnnF+r~-7.~7~Q~71F-n1

1312

i.6n(onOnr+0n-8.~6PAR75E-Ol

]412
1512
1612
171?

2.n~n0nn~r+0n-G.42~2?'4[-Ol
3.rnnn~n0~+~~-q.890c24oF-nl

3.2Jl"nnn~~+0n-9.q82~477F-~1
~ I. {) n

n !" F + 0 ~ -

• 6 (? 7 ,., R 1 ~ F - (" I

IP.12

3.600~~n!"r+0n-8.~675A41~-~1

lqI2

3.er~n~O~F+on-7.Q~?6771E-n1

201?

4.nO~0nn~f+~~-6.53A4362f-nl

2112
2212
2312
2412
2512
2612
2712

3• 4

~

4 .... ~ (" ~ n n "F + ~ ~ - 4 • q n 2 6 ') ~ 2 E-

n1

4.40~nnOOr+nn~'.073~287E-Ol
4.600n~n"'F+~n-l.121~252E-nl

4.8 n (Cl"nCF+nn A.74Q8geoF-r2
5.nn0~1"~~F+l'\r

4.68~1667F.-Ol

5.4~~nnonF~"~

&.346Q2A7F-Ol
7.7556587E-rl
8.8551951E-Cl

5.6f'\rnnnnf+"~
5.8~~n0nrF+0n

~ 0
!

2.B3~6218F-(')1

~.2n~~nO~f+~~

2R];?

2CJ12
301?
20 lOOr)
30

-1

C0S1NE
n.~LrOOO~F-9Q

o.o~nO~~CE-~~

~ • t" ('\ ~", !"H' ~ ~ - ~'. "

1 • 72 n ~ 2 ~~ F- " 2

4.~~rrrnnF-~~

4.~164~76F-n2

6.D~~I"H~~r,=-~1.

6.126C)t)42F.-~2

A.~~~"non~-n~-'6.0n?4~R~E-~Z
1.~~~~~~~F+~~ 6.38412~5E-nz

116
216

316
41 (:
516

616

~-'>

}' c

\. .

?,

_

'",",=.-~-~.-~"

'

,

'

i

t

'

·

,

,

~

___ .,_•. ______

"

"

.

_

.

_

~

.

__

~

.

_

.

~

_

__ ., •••.

-----

--~.~--

.. ---

"-"

..-.--..

--~,---.-

..

~~.

.<~

Rev. 2/65
Rev • 4/65

'"
.

-....

'.

1.2 (')oonOCE +00· 4.C)81395C)E-02
1 •.4 0. (' () " () () f + " (') 2.6712890E-02

716
816 1'\
916 V

i~6bnOOOOF+OO-5.2156232E-03
1~~0ncnnCF+0n-4.6118163E-02

1016

2.(')')OonOOF+00-9. 6133 782E-02
2.2nnn n nnF+OO-l.545041AF-01

1116
1216
1316
1416
1516
1616
1716
1816
1916

?4~~~~nOF+OO-2.1757?76F-nl

2 ~6lj C('I (' () (' F + n '" -

2 • 7 4 2 1 6 7 7 F- () 1

2.e~0n~n~F+~n-2.9535.5q8f-Ol

3 .• 0" 0 0" n" F + (" 0 - 2 • n 9 A7 711 Q E- 01
3,.,2 JO()" nr.r- +00 1.12Rl171E-C)1.
3.4': (. Cr':') n ~ + ':" ~ 3.?q~4'5C;>f-nl
3.600rrOCF+('r,. 3.A915125F-Ol
3.9C0nnr.f"r+00 3.71g5877E-Ol
4 • ~ 0 C(I (' (') r c + 01'1 3.16'32622E-Ol
4 ..... r.()Cn()()F+~" 2. 40ql.. 434f-O 1
4. 4tl")f""~~F+0n 1.537C")238F.-0.1
4.6f'\r:'0.~r,rE+"() 5.77?8242F-()2
4.80(Or00.F+00-4.6950622f-02

2016

2116
2216
2316
2416
2516
2616
2716
2816
2916
3016

5.0~t0"n"~+~n-l.6aA5775r-Ol

5.2rn00nOF+0f"-2.83Q4344f-Ol
5.400000rF+00.-4.1301108F-Ol
5.6~Oar.00~+~~-5.36564q7r-r.l

5.800n00nf+00-6.2423665E-Ol
20

91

10

1

?2619715F-C3 1.C)392431F-02
...,

30<)9

i •

NO

DRA'hTNG

X

F(X)
0.br.tH")~('H~E-C")'"

7.8519816E-rq
6.'J528399E-Ol
6.2384?33E-01
5.686 0 125f-'''1
5.?72Q5C)QE-O]
4.C)74R714F-rll
9.32()3<)08E'-~1 4.7761872F.-Ol
~ • 0 5 4 I .. Q 7 ~ E- 0 1 4.6657470E-Ol
9'.995736 r. [' - '.'1 4.6373290E-01
O.7384763F-01 4.6893333E-OJ
9.0929742 F-O 1 4.8246883E-01
.8·.G84Q64(,F-C 1 5.0510184E-Ol
6. 7'5463 1 8 F- 0 1 5.3810003F.-01
5, .:,1 ,55013 7E -01 5.8;26687E-Ol
~.:.34.Q8e 1 C;E-O 1 6.4290585F-01
i •. 4 1,12 " OlE - f1 I 7.1958391E-01
-5.8374140r::-~~ 7.5704642F-Ol
-2. 555411 CE-:~l 6.7258438E..!01
-4.,4252n44F-OJ 6.0616860F.:-01
-6.l1C~7A(')E-nl 5.55:28613E-01
-7.5680249E-Ol 5.1747657f-01
-8.7'57577F-Ol '4.9Q71672E-01
1.9866932E-'11
'3.8 l)4 18'34 F- 0.1
5. (,46424 7F-01
7.173560<1F-Ol
8 • [.147" 9 RF -" 1.

-9.~16()207F-Ol

! . ~ ,;
.... i

i "

4.73~1797E-Ol

- 9.'j 36~ 1 0 C'F. -n 1 4.64C)1260E'-Ol
- c .n.) 16 '.6 r. F - (''1 4.6441587E-Ol
- 9.~'i,8 C") 242 7F -" 1 4.719Qo.AOE'-Ol

-8,.8, 3/.,5465F-O 1 4.880 0 1 C;8F-C''l
-7.7276448F-f'1 'S.13C;97n4E-Ol
-6.'126663F.-Ol :.499~848E-Ol

f'

~. .17"

~,. <'~'"~'244

'.

1?4
224
324
424
524
624
724
824
924
1024
1124
1224
1324
1424
1524
1624
'1724
1824
1924
2024
2124
2224
2324
2424
2524
2624
2724
28·24'
2924

Cj
Ij
~I

Jil'WIM!

'",,'g" "Mr:

o

h . ..,

=

_.

Rev. 2/65
Rev. 4/65
3024

-4. 6,,60217E-(') 1 5.99(')7470E"-01
10

31

7.2458
:;r·~

AW I N(, NO.

2

X

Fex)
". n\J('f')"('H'''[-()O 1. ~()("00'H"F+00
1.q86no32F"-~1 R.'3425R45F.-Ol
'?.RC,4:;'R14F-01 7.1c)7?C;~5F-(,1l
:,.6464247F-01 6. 3912367 E' -(')1
7.1731)6 n oE-01 5.822 0 n45E-r:l
d • It 1 4 7 n q BF- 0 1 5.4~()4415F-Ol
Q.3203 Q(,)BF-()1 5.] 7587RClE-()1
0.r544q7~r-0]

5.n36642~r-rn

o.oc)57J60E-01
9.7384763F-01
C).('Ic2Q742F-nl
8.(,,849640F-Ol
f..,.754631AE-Ol
~ • 1 5 :J" 1 3 7 ~ - (" 1
:' • ?4 C') 8 R 1 c:; E- (" 1

5 • 0 n 1 (). 6 6 2 F. - C1
:,.(,)662'.. 72E-01
:·.237')787E-01
5.5294552[-01
5.Q6Q4990f-01

123
223
323
423
523
623
723
823
923
1023
1123
1223
1323
1423
1523
1623
1 723
1823
1923
2023
2123
2223
2323
2423
2523
2623
2123
2823
2923
3023

6.5(H~4766F-Ol

7.4Q()7C34E-Ol
8.76332(12E-01
-5.8J74140E-r,2 Q.!.48454()f-Ol
- 2 • 5 5 ~-4 1 ] r E- f) 1 7.q64Ar.')~4E-01
-4.4252044F-"1 6.C)32310 Q F.-01
-6.1~8578Qf-01 6.204n217E-Ol
-7.r;68(l24qF-OJ :,.6921C\98F-Ol
- 8 •./ 1 57577 F - 01 5.34'30913E-Ol
-q.5l60207::-,"1 5.1239955E-Ol
-9.036910nF-'jl 5.0158224f-01
-9.Q6:6460E-Ol. 5.0096~69E-01
-9.5A Q2427F.-"'1 5.1048427E'-Ol
-8.834546C;F-r.'1 5.3093026[-01
-7.7?76448F-nl 5.64r.907r;F-01
-6.3126663F-Ol 6.130205AE-01
-4.646C'217F-("!1 6.8.?77Q30F-Ol
1.4112n01E-~1

20
1.nOC00nnE-QQ
1.C)866932E-01
3 • 8 f) 4 1 8 3 4 E- C1
? • 64642 4 7 E- 0 '.
7.I73560QE-C!.
8 • 4 1 4 7 0 9 8 F- r:': '.
9. 32()3Q(18~-O'.
q.8r;44t:)7~F-'n_

q •

9 ,) 5 1 '3 6 () F - C' 1

9.138476~F-a1

9.("IQ2lJ742E-0.1
8.r.84Q64nF~n1

f->.
t

1

•

1

':.
~

I

•

:'1·

.
I

1

,

:1

~:I'

I ~',I

'I

7546'~18E-01

:>.1550137F-n1
3.3498815F.-nl
OI.4112('1!'11r-r.l
5.8374140F-Q2
-2.5354110E-Ol
- t ... l. 2 5 2 (' 44 E- a 1
-6.] 1857eQ=-'~1
.., .568024 0 E-'11

-

-d.71~7517F-"'1
-9.5160207E-~1

8.8622692F-01
7.616()186E-Ol
6.7007113E-Ol
6.0287978E-01
5.54111'36E-01
5.1916675E'-01
4.9120183E-01
4.8416481E'-Ol
4.8151646E-Ol
4.8141'+82E-Ol
5.0268120E-C1
5.284A253E-Ol
5.66714J6E"-01
6.2031671E-Ol
6.9396081E-01
1.940 o q75E-01
8.4574Q30E-Ol
7.3191039E-Ol
6.4823C)S5E-Ol
5.86Q418.1E-Ol
5.4273(')f'7E-t)1
5.12()4923E-Ol
4.t)257526F-Ol

91.0
125
225
325

245

425
525
625
125
825
()25
1025
1125
1225
1325
1425
1525
1625
117.5
1825
1925
2025
2125
2225
2325

c .

Rev. 2/65
Rev. 4/65
-9.~369100E-01

-9.9616460E-Ol
-9.5892427E-01
- 8 • 8 31., 5 4 6 5 E- 0 1.
-7.7276448[-01
-6.3126663E-Ol
-~.6460217E-Ol

4.8289947E-Ol
4.8234229E-Ol
4.9086502E-Ol
5. 0 9 06 48 0 E- 0 1
5.3825210E-Ol
5.8062345E-Ol
6.3955906E-Ol

2425

2n
iU
2725
2825
2925
3025
20
20

71
1

,.nnn,rnOF+02 2.6179Q38E-03
~.0002n62F+02 2.3645834E-03
3.00C5997F+02 2.2572434E-03
3.0C09586E+02 2.296074~E-03
3.0011682E+O~ 2.52182n3E-03
3.nOI1756E+n~ 3.0679880E-03
3.0009624E+O~ 4.3922117E-03
3.0n05303F+0: 9.1486751E-03

188
288
,388
488
588
688
788
888
988
1088
1188
1288
1388
1488
1588
1688
1788
1888
1988
2088
2188
2288
2388
2488
2588
2688
2788
2888
2988
3088

2.9998958F+~2-5.29402~4E-02
2.9~qn897E+02-6.8819154E-O~

2. Q 981646E+02-1.866Q3AIE-03
2.0Q72n58F+02-2.R6~6181f-C3

2.9963547E+n2-2.4354C03E-03
?.9958443E+n2-2.2720aOlE-03
2.9Q60571E+O?-2.2174240E-03
2.Q976051F+n2-2.4247Q55E-03
3.0011939E+n2-2.5267930E-03
3.0041350E+02-2.3157491E-03
3.0056135E+02-2.2489761E-03
3.005Q938E+02-2.3354468E-03
3.cn55572F.+02-2.634054CF.-03
1.r0450q4F.+~?,-'.331425;E-03

3.00S0n14E+n?-5.1306444E-03
3.0011509E+O~-1.381256AE-02
2.~q9062aF+02

1.7697768E-02

2.o'6849rF+n~

~.5523~31F-03

3.4788n35E-03
2.Q926783E+02 2.7039513E-03
2.q~12456E+02 2.3705185E-03
2.0~08575F.+02 2.2619715E-03
2.99~6521E+02

11

320

-7.2587

DRAWING NO.

::3

X

F (X)

.2'5

EXTRA 'LABEL UP HERE
8.5
1.

.01

-.06
31

2

31

-3

Irs TIGHT IN HERE
6.6
3.0C(:t(,OOOE+02
,. (H''''2 n62F'+O ~
,? • n() 05 q 9 7 E+ 0 ~

1•
r.oCf')t')orH'E-99

6.6662084E-04
1.3330668E-03
3.0C09586E+()~ 1.9993611£-03
3.0011682E+0"'! 2.66562A6E-03
~.0011756F.+')2 3.3320276E-03
1.nu0C)624E+02 "3.9987172E-03
3.0('()5~03F'+02

4.66S841"F'-O~

2.n990~58F+(\2

;.333518SE-03

1,;;82-,

2

38

246

489
599
689
789
889
989

I.~

41

~

I,

r

1-

Rev. 2/65
Rev. 4/65

losq

o

1189

128q
1389
1489
1589
16SQ

178q
1899

lQ8°
20P-(')
218 0
22A9
238CJ
2489
2589
268 Q

278q
2889
2989
3089
4()

o

155
255
355
455
555
655
755
855
(')55
10t;5
1155
1255
1355
1455
1555
1655
1755
1855
lQ55
2055
2155
2255
2355
2455
255';
2655
2755
2855
2 A ','I I ~,~ G

~10.

14-

X

F

(X)
:.rn000nOF-~q

~.~000~~nF-9q

1.QJ66932F-Ol

1.72n3253E-~2

3.8041834F-~1

4.~164576F-C?

5.646~247E-Cl
7.173560 0 [-01

6.126~q42F-C2
0.80.2458 0 [-02

9.4147rQA~-~'

~.?R41?5~F-n?

0.~2°J0r8E-nl

4.nR130~oE-02

0.r?44Q7~r-nl

?671~p0nF-~2

126
226
326
426
526
626
726
826
926
1()26
1126
1226
1326
1426
1526
1626
1726
1826
1926
2026
2126
2226
2326
2426
2526
2626
2726
2826
2926
3026

Q.Q95736 n E-01-S.2156212F-01
q.738476?F-01-4.61]816?E-~2

(:> •

rt 9 2 q 7 4 ? I=" -

0

1 - r. • 6 1 ~ 3 7 P 2 E- C 2

8.re40640F-01-1.5450408E-Cl
6.7546318F-Ol-2.1757276E-Ol
~.1?~n137[-Ol-2.7421677E-01
~.34~8815E-01-2.953550RE-Ol
:.4112COIF-01-2.09P77Q Q E-81

-5.837414CE-02 1.128117]F-01
-2.5j54110F.-01 ~.29~4"0E-01
-4.42~2044E-01

~.89151?5E-Ol

-6.1]8578°F-01 3.7]85B77E-Ol
-7.5t8n24n~-nl :.1632622E-O]
-8.fl~7577F-~1 2.40Q4434E-01
-9.J16C207E-Cl 1.5379238E- n l
-0.9J691r.nF-01 S.7728242E-02
_o.9616460F-01-4.69~0622E-02

-9.S8~2427E-nl-l.608577SE-Ol

-8.8345465E-01-2.8394344E-Ol
-7.7276448E-Ol-4.13r:l]nSE-Ol
-0.?126663E-Ol-5.36664Q7E-Ol
-4.6460217E-01-6.2423665E-Ol
20
'.00~nrOOF+r0

·}.8 n r6657E-01
~.2106090E-nl

8.2~3~561E-bl

6.9670671F-C'
~.403n230E-01

o

3.b235775E-Ol
1.6996714E-O~

-2.919952()E-'12
-~.2~20289F-nl

61

8.86226Q2E-Ol
7.6160786E-Ol
6.7007113E-01
6.0287978E-01
5.5411136[-01
5.1976675E-01
4.9720183E-01
4.8476487E-Ol
4.8157646E-Ol
4.8741482E-01

-4.16]4683F-rl 5.026~720E-Ol
-5.B850111E-Cl 5.2848253E-Ol
-7.17,0371:-01 5.6671416E-Ol
-q.5688875E-~1 6.2037671E-Ol
-~.4222234f-n1 6.9396087E-Ol

249

135
235
335
435
535
635
735
835
q35
1035
1135
1235
1335
1435
1535

Rev. 2/65
Rev. 4/65
-0.8C09240~-~1

1635

~.q409Q75E-Ol

Q;

8 :. q t. 7 7 E - () ~ r~., . .. 7 '+ q 3 () F. - C 1
-S.667 0 81 0 E-01 7.'19103QE-01
-8. o 675841E-Ol 6.4823QA5E-Ol
-7.9J96771E-Ol 5.8694181E-01
-6~53G~362E-Ol 5.42730n7E-Ol
-4.9n26r82E-Cl ~.1204q23E-Ol
-3.0~33287E-0.1 4.9257526F-Ol
-1.'21~252E-al 4.828Q047F-Ol
a.~498980E-02 4.8234220E-01
2.8J66218[-01 4.9086502E-C1
4.6851667F-01 5.0906480E-01
6.34(9287F-nl 5.3825210E-01
7.7556587E-~1 5.8062345E-01
- '-) • q

8.8~51Q51E-Ol

1935
2035
2135
2235
2335
2435
2535
2635
2735
2835

2935
3035

6.3q550~6E-nl

20

80

1.CC:CCCGOE+Or 1.00('0",)00E+OO
9.8006657F-01 8.3425845(-01
~.2105C99E-01 7.1972565E-Ol

133
233
333

~.?533561E-~1

6.~91?367r-Ol

433

b.q67n571F-~1

5.822°~45E-Ol

5.lt(3n23~~-~ll

5.4301..41~t-~1

~.62~577~F-~~

5.17~A78qE-Ol

533
633
733
833

1.AQ06714r-0~

1 q () ') 2 r :~ -

5.0~6542?E-Cl

';. 0 '" 1 ~ 6 (, 2 ~ -

,.. 1

033

-2.272020qE-r~

5.J662472[-01

-4.161468?~-'1

~.237~287E-Ol

1033
1133
1233
1333
1433
1533
1633
1733
1833
1933

- 2•

~)

~ ~

-S.8~50111r-~1

5.5204552E-Cl
-7.3739371E-n1 5.Q6P.4QQOE-01
-8.568J875[-01 6.5~84766E-Ol
-9.4222234f-~1 7.4907034E-Ol
-~.899924qf-01

8.76'32~2E-01

-~.Q82~477F-01

G.448454°E-Ol
7.9646 0 34(-01
6.93?3]nqF-Ol
6.2040212E-Ol
5.692159AE-Ol
5.3430913E-Ol
?1239955E-Ol
5.0158224E-Ol
5.0096069E-01
5.1048427E-Ol
5.30Q,026E-Ol
5.6409075E-01

-9.667981QE-~1

-8.G675841F-01
-7. 0 096771[-01
-6.5364362E-~1

-4.0026082E-01
-3.0733287E-01
-~.1215252E-Cl
d.74~898CE-0.2

2.8366218E-81
4.6851667E-01
6.3469287r-C1
7.75~6587E-01

6.13~20~8E-nl

8.8551951E-~1

6.8277Q30E-01

'

2033
213'3

2233
2333
2433
2533
2633
2733
2833
2C)33
303'3
20
40

50
00

RESULTS
DRA\A.IIf ,G

DRA'tJING
DRA\v I NG
f)q ,1\ "'\' I NG
DR"".'; I NG
DR!!.''': I "JG

2 LINE
2 LINE
2 LINE
2 LINE
2 LINE
2 LINE

2 POINT
2 POINT
2 POINT
2 POINT
3 POINT
3 P'OI NT

1 X= 0.OOOCOOOE-9 0
2 X= 1.9866932E-Ol
16 X. 1.4112001E-Ol'
17 Xa-5.8374140E-02
1 Xa·O.Oo~~onOE-9q
17 X=-5.8374140E-O?

y=
y=

1.ooonOonE+OO OUT OF

RANO

8.3425845E-Ol OUT OF RAN

y= 8.7633202E-Ol
y= 9.4484549E-01
y.= 8 ., e6 2 2 692 r - 01
y= 8.4574930E-Ol

OUT
OUT
OUT
OUT

OF RANGE
OF RANGE
OF RANGE
OF RANGE

'

I

\1

il

\,1:

2'0

!~

523 c

Rev. 2/65
Rev. 4/65

o

*:J:JOB
*:J:DUP
*DELETDFIPS
END OF JOB
**JOB
**SPS
*ASSEMBLE RELOCATABLE
*NAME OFIPS
END OF ASSEMBLY.
08460 CORE POSITIONS REQUIRED PLUS RELOCATION INCREMENT
00784 STATEMENTS PROCESSED

0171 105200T129999900000*

:f;:j:FORX

ERROR DFIPS 5
42R'S

o

ERROR OF IPS
ERROR DFIPS
ERROR DF IPS
ERROR DFIPS
ERROR DFIPS
END OF JOB

0
2

4
4

1
251

523 c

Rev. 2/65
Rev. 4/65

/

I
~•

-i

\

I

\

'~

/

I

,

-JC ~
~

~

\

l'
\

j

~

-)c

f

-lc

\

\.
it

•

I

/

f

I~

f

~

I

I

\

*

f

\

~

/

\

/

.

-)c

r--"'.

.X
LL :I

-----.----,----.--.. -_ . - r--' -.

-c-'--'--'r-

.-+----_r__-

c.e

1.0

3.0

><

DRAW I NC; NO ~

1

1
252

't.0

5.0

6.0

C-,
7.0

n
<1J

•

•

523

C

Rev. 2/65
Rev. 4/65

0'
O&l

•

I

¥

--I

,'-

II

ctJ!
r~

;r

.c

-J

I
j
0

'D

-1I

I
I

i

I

I

i

(y
l!')

~

i

I

!

N
Ifj

.-------.
....-4

1,
I

I

Ii

0
~

X

i

1'0
.T"

'--'
~

I

~

I
!

I

X

H fo

..

~

~

it

\

A

-.......J

0

:r-

-~---r---

;j-

-1.2

-.8

-.'t

.'t

0.0

-- ----- --- r
.1

1. Z

><

DRAWING

NO~

2

253'
i..

V;U

¥

Fa,

\.,II.,t"-'

Rev-. 2/flj
Rev.· 4165,

EXTRA - LABEL UP H:ERE

C)

j
I

I·

_~~~r-~---:---

~....i
!

---_,...----

_. -r· -299.5 .

x

DRAWING

NO~

3

254

.....

or
lOC.S

.T

523 C

Rev. 2/65
Rev. 4/65

.:'~

0
u
C"t

.......:

~

.-

.

('I

...

'

•
~

I

.~

CI)

:

o-w-----_-----r------,...-----.- ... --

- l -_ _ _ _

.'t

0.0

x
DRAW I NG

NO,~

y.

255

••

o

""!
Mrs. Joyce Fodor
Engineering Camp Lab
University of Wisconsin

o
Planning and Running a Short-Term Workshop
on Computer Orientation and Program.ming

Many groups find themselves wishing to conduct Short-Term Computer Institutes
or Workshops of from 2 to 5 days, to satisfy the needs of a variety of different audiences. Typical situations are:
a) a College or University Computing Center running a special program for
interested faculty,
b) an industrial program running an in-house training program for engineers
and/or management,
for attendance.
Based on the experience gained from several such undert~ings, this paper will
discuss the problems of determining the goal to be aimed at, the depth of penetration that can be reasonably achieved in a given number of days, how to plan
the daily schedule, a typical graded set of problems, staffing considerations,
and above all the importance of hands -on experience by the participants.
There are many questions to consider before planning a workshop. First one
must consider what group the workshop is to be aimed at, and therefore wnat-goals
should be reached. If the group is composed of prospective programmers the
institute should provide a start at programming competence~ 'SuperVIsory personnel, on the other hand, though they may not become active programm:ers,
need to achieve a sufficient knowledge of FORTRAN to understand a complex
program written by a programmer, and also need to acquire an understanding
of situations where computers can be profitably used. Management people need
to know how and for what computers can be used in general comjl"any"·operations.
The program should also be aimed at either scientific or business oriented people.
The previous knowledge of the participants is an important consideration. If the
group has little or no background (no actual programming experience) they will
need a complete presentation of FORTRAN. If, however, they have written a
few programs they need only a review of the language. Size is also an important
consideration and is dependent upon the facilities available. With a 1620 Model
I
..... ..
and a 1620 Model IT with 1 diskdrive, a 407, and ~~.~el.1?unchea we have found ~§.
",.
is the maximum size that can be handled •. The 1J<}!tl~~c:k is usually the keypunChes.C
,-,--~~-..,.~

o

;.

~'~~

The duration of the workshop is of course a balance of many factors! the
amount of time the facilities and the instructional staff are available, the time
the participants can afford to spend, the time needed to achieve the competence
level established as the goal ,for the attending group_

256

Ii

f'i

For the purpose of this paper a specific group, size, duration, and situation
will be assumed. Comments will be made where appropriate indicating how the
planning discussed here should be modified if certain other factors existed. It
will be assumed here that the group for which this workshop will be run consists
of supervis?ry personnel with,ascienti~~c or~ngineering background. They are
mainly from"ouiC'o'ftown, and~ ha:;; ;;;Y' iit1i~p~evlous lmowiedgeofFORTRAN.
The facilities can be made available, and the group can make themselves available
for three days.
Now that the group has been selected, the content of the workshop will need
to be developed. Since the group knows little or no FORTRAN they will need to
have lectures on the following topics:
,___.. _ "_ _
, _ _. _ ._ _

~_~-rt'~""":'~""""'"'~--"

1. Introduction, general concepts, intelligence of a computer, flow chart

formulation of a problem,
2. Vocabulary of FORTRAN (excluding FORMAT and SUBROUTINE)
3. Examples of simple programs written in FORTRAN,
4. FORMAT,
5. Subroutines and Monitor operation.
Some lectures should also be devoted to theory. Since iteration underlies
almost every useful computer application, a formal presentation of iterative
techniques has been found very valuable. Its application in selected areas of
mathematics and engineering would follow and should be connected to one or
more problems. For the supervisory personnel a talk about some of the wider
areas of applications and the future of computers is very desirable.
The most valuable contribution of a workshop of this type is the experience
the participants get as they actua1lywrite and run their own programs. A group
such as this can be expected to finish probably three problems during the three
day period. The problems should be chosen so that the first is very simple and
can be successfully run die fir'at afternoon. Our experience has shown that this
gives the participants a needed push onward. The next problems should be carefully selected so they increase in difficulty with no large jumps. One of the most
common mistakes in planning an operation of this type is to 'make these problems
too complex. The first problem in fact should be of such extreme simplicity,
that there is no question, what should be done, only how to say it to the computer.
A set of problems suitable for this workshop i8 shown at the end. Each has
several parts, with optional parts starred, to allow the partiCipants to progress
at individual speeds.

257

o

Developing the schedul~ is the next step to be taken ..... The first items to flll
in are standard and include lunch at 12 each day and regular coffee breaks.
Since this group is from out of town there should be a social hou~,__~!1!tdlnner,
early in the session. This helps the group know each other and produces a
closer knit group. If the participants were local and knew each other, at least
a little, this social hour and dinner could well be later in the session so they
have more knowledge and background and the guest speaker can pitch his remarks at a somewhat higher level.
Monday morning opens with registration, followed by an official welcome
to get things started. The rest of the morning should be devoted to the first
three topics in FORTRAN. This is in preparation for getting their first
problem running the first afternoon. Due to the use of FORGO (a FORTRAN
allowing free format and having very powerful diagnostic comments both at
compile time and run time) the lecture' on FORMAT can be postponed until
a later day. The participants have enough to assimilate
in the first day
so if FORGO cannot be used it would be best to give the participants some
standard FORMAT statements to use so the discussion of FORMAT can still
be postponed. The schedule is shown allowing 11/2 hours for the introduction
and vocabulary of FORTRAN before the break and about the same amount of
time for examples and answering any questions.
The first afternoon the partiCipants will need a demonstration of the use of
the keypunches,lIslerand computers. If the facUitleSfendlllemselves to
open-shop operation, there is much advantage to letting the participants do
their own card handling and button pushing (under careful supervision) for
at least the first problem, so that they get a clear picture ofal! the steps
involved in the process. We prefer to maintain open-shop operation throughout the workshop, but some installations like to substitute in-out service later
on. Careful attention to procedural details during this demonstration can
anticipate and eliminate many questions that might arise when they start
using the facilities.
The remainder of the af~~~gon is devoted to their solution of problem 1.
2:.3 lecturers constantly available for questions and assistance."T1ie powerful diagnostics that FORGO supplies at run time as' well as compile time allows
the participants to find many of their own errors. If it is not possible to use
FORGO the number of lab assistants should be doubled. The time allowed for
the completion of problems should also be increased.
AdV'~;g,p."';t.d.1eJribution "()f texts and notes to all registered participants is very
desirable. It allows the participants to do some advance preparation, and makes
clear the level of background and experience expected.

One thing we have learned from previous workshops is that it is important
to keep the m~~m.!tics level from b~coming too high so the participants do
on FORTRAN. In a recent workshop we tried a problem in Differential Equations
and found some of the participants were more confused by the mathematics than
the programming.

o

The workshop that has been planned in this paper has been aimed at a particular
group. If the workshop were being planned fo~ business oriented personnel, an
alternate list of possible problems is shown at the end. The topics of the theory
leotures would also of course be ohanged. Since business oriented personnel
are not as accustomed to analytical thinking as engineers, the problems should
progress at a slower pace. SiID:u1a~ion of a traffic problem is a very good topic
for a guest speaker and demon8t~ati~~N"on··tlie""'iii.chIne-·'6ut a'''Irttle deep for programming.

260

t

WW'~'

/""

if the workshop is planned as an in-house training program it is many times
desirable to use only part of each day as the lecture" or workshop session as
more time' is available between sessions for additional thinking and study.

-

'~,

"'""_/'

Actually I have said nothing about running the workshop. If it is carefully
planned the workshop will run itself.

,

•

261

o

c

SCHEDULE
l~

MONDAY Mornin«

FORTRAN Workshop

'IDESDAY Morning

WEDNESDAY Morning

8:00 Registration

8:00 Discussion of Problem

8:00 Discussion ot Problem 2

8:30 WelcCDe

8:4S

8: 45 Further FORTRAN: F01f1AT

8:45

10:lS
10:3,
12:00

FORTRAN

10:10

Break

Break

10:30 Iterative Techniques
11:30 Problem 2 Presentation

FORTRAN

Lunch

12:00

lunch

Value of Documentation

9:30 Workshop Problem J
11 :00 Fllrther FORTRAN: SUBROUTINES
12:00

lunch
--Guest Speaker--

N

m

N

MONDAY Afternoon

!OEDAY Afternoon

1 :30 Demonstration of use
ot the facilities

1 :30 Workshop Problem 2

2:00 Workshop Problem 1

4:00 Problem 3 Presentation

MONDAY Evening

TUESDAY Evening (optional)

6:00 Social Hour

7:00

7:00 Workshop finish Problem
2 or start Problem 3

Dinner
--Ques t

Speaker--

MOTE: Coftee served during workshop ses sions

WEDNESDAY Afternoon
1 :4, Workshop Problem 4
a preceding problem
modified to use subroutines
3:1$Discussion of Problem 3 3:4S Summar.r ¢ Recapitulation 4:1S Presentation of certificates A TEN YEAR BUDGET PROJECTION ( A Role for the Computer in Long-Range Planning for Educational Institutions) o John A. Ferling Preface Since its founding in 1947, Claremont Men's College, an independent four-year liberal arts college, has prepared several long-range plans for its future. These plans, as well as recent applications for grants to the Ford Foundation, have included ten-year budget projections. The computations necessary for the budget projections were carried out on a desk calculator. The author of this paper has prepared a program for the IBM 1620 which carries out these computations in minutes rather than days. This program has enabled the college to study the budgetary effects of changes in items ranging from the expected inflation to percentage of tuition incomes for scholarships. With the help of the computer Claremont Men's College has explored the feasibility of several plans. Special consideration was given to the question of optimal size. The program discussed in this paper has been written for a specific college and hence changes will be necessary before it can be used by another institution. S. Tickton1 has discussed projections of this kind in great detail without using computers. ~chine Requirements The program is written in UTa Fortran for 8 20K 1620 and uses card input and typewriter output. Special features are not required. Information Required and Discussion of Program ( The information to be supplied by the administration includes: A. Per year for the next ten years 1. 2. 3. 4. 5. 6. 7. B. 9. 10. 11. 12. 13. o Number of students Tuition charge Allocations for scholarships as percentage of tuition income Student-Faculty ratio Percentage increase in administrative salaries Percentage increase in average faculty salary Total percentage increase in development office salaries Total percentage increase plant maintenance salaries Total percentage incre8se in business office and stUdent welfare expenditures Total percentage increase in library expenditures Expected inflation Expected gifts to college Rate of return on endowment 1 Sidney G. Tickton, Long-Range Planning: ! ~ StUdY, pp.13B-16l, in Financing Higher Education 1960-70, McGraw Hill, New York, 1959 263 B. For first or present year o Salary total and non-salary total for 14. 15. 16. 17. 18. 19. 20. Administration Admission Registrar Instructional (excl. faculty salaries) Dean of Students Deve lopment Plant Maintenance and 21. 22. 23. 24. 25. 26. 27. 28. Average Faculty Salary Physical Education non-salaries Miscellaneous Certain Fringe Benefits (called "Insurance Fudge" in program) Library (Total) Business Office (Total) Student Welfare (Total) Initial Endowment In addition to this information, estimates of the marginal cost per additional student for certain salary and non-salary expenditures are needed. These estimates are denoted by was (weight on growth salary) and WGNS (weight on growth non-salary), respectively, and are expressed in percent. The weight on growth for salary items in the sample projection given below is 50 percent. The salary total for the admissions office for 8 student body of 1000 is$30,000.00, i.e.,$30.00 per student. The addition of 50 students for the second year would then increase the salary totll by$750.00 (50% of 50 times
$30.00). However, this amount is not allocated to the admissions office since one would not employ a fraction of an admissions officer. These$750.00
are allocated to a fund called "General Administrative Growth Allowance". The
salary total of the admissions office is only increased by the percentage
increase in administrative salaries which is assumed to be 5% in this projection. This yields the $31,500.00 entry for the second year. Several other salary items (Registrar, Instr. Non-Fac., Stud. Dean) are treated in the same fashion. The resulting amount in "General Administrative Growth Allowance" is also increased by 5 percent (percentage increase in administrative salaries) and is equal to$4,077.22 in the second year. The item
"Administration Salaries" (president and assistlnts) is assumed not to be
effected by a larger student body, whereas "Administration Non-Salaries"
is. The weight on growth, WGNS, for several non-salary items in this sample
is 75 percent. M8ny of these are also subject to the I-percent inflation

264

o

o

increase. MOst of these computations are carried out by means of a "Procedure" containing a multiplier which makes it possible to increase, decrease
or remove the effect of the growth factors and inflation to suit the assumptions of the planner. A study of the source program, which will be supplied
by the author upon request, will indicate which changes effect the individual
entries.
Auxiliary enterprises such 8S dining hall, dormitories, and bookstore
are assumed to be essentially self-balancing items. A more intensive use
of existing classroom facilities will make the addition of extra buildings
not absolutely necessary. However, since it is relatively easy to find 8
donor for a building which would be named after him, it is expected that a
classroom building will eventually be added.
The program computes per year for the next ten (or nine in certain cases)
years the following:
Tuition income, scholarship allocations and number of faculty; salary and
dean of students, development and plant maintenance; expenditures for physical
equcation, business office, library, student welfare, fringe benefits and
miscellaneous; gifts to ·current operations used to balance the budget and
endowment at end of year.
Since the output is under control of 8 sense switch, the effects of
various changes in input data can be studied without having to wait for a
complete typeout. A complete output is given below. The data used are
fictitious.

o
264-A

I'

IIII

o

TEN-YEAR BUDGET PROJECTION FOR A COLLEGE
INPUT AND OUTPUT
(INPUT DATA ARE UNDERLINED AND APPEAR AGAIN I N OUTPUT)
(FICTITIOUS DATA)

0
WGS

WGNS

S0.00

NO. OF STUDENTS
1000.
1150'.
TUITION
~!

1050.
J]~5J-!

1075.
____
-~0

1100.
r2"~..!

1125.
1'-25'0:

1_~

tl.Z5.t
TUITION INCOME
1500000.
1983750.
P.C.FOR SCHSH.

~

1600.
1.1&

lm:

1~JL.

1627500.
2012500.

1720000.
2130000.

1815000.
2160000.

1912500.
2250000.

1}HI
.

14.00

14.00
1.7.00

18.00
....

J5.00

--

}H
J.~

227850.00
332062.50

240800.00
362100.00

272250.00
388800.00

296437.50
416250.00

12.20
12.90

12.40
.13.50

li:~1

1~
J3.5

86.06
89.14

86.69
88.88

87.30
88.88

89.28
92.59

SCHOLARSH~

195000.00
317400.00
STUD.-FAC. RATIO
12.00
12.90
NO. OF FACUL TY
83.33
89.. 14
~

16.50

~

lZH.:

SALAR I ES
5.0~

4.0@

,5.00

,~

t~1

4.00

6«;100.00
80734.58

68355.00
84771 .31

71772.75
89009.87

74643.66
93460.36

31500.00
39065.12

33075.00
41018.37

34728.75
43069.29

36117.90
45222.75

1Z0~0.00

17850.00
22136.90

18742.50
23243.74

19679.62
24405.93

20466.81
25626.22

2S2~~.0~

26460.00
32814.70

27783.00
34455.43

29172.15
36178.20

30339.03
37987 . 11

22179.15
27505.74

23288.10
28881 .03

24452.51
30325.08

25430.61
31841.34

~

62000.00
77629.40
30000.00
37562. 61
REGISTRAR

212 5.48
INSTR. NON-FAC.
31552.59
STUD. DEAN
Z!lZ3·S~
2 447. 3

o

75.00

265

5':00

. O0
14585.84
P.C. INCR.,DEV.

4077 . 22
15169.27

6421 .63
21236.98

8990.28
22298.83

11 687 · 37
29267.22

'"~~
4~

.20·11

~!"'~.,-

.tII

t.I

~

822i~·00

98682.00
123558.44

103616.10
128500.77

108796.90
133640.80

114236. 74
140322.84

dI

5.00

6.00

lLl

4~~H

5._

,~,.~.,,-

67310.O0
88245.36

74714.1O
92657.62

77702.66
97290.50

80810.77
102155.03

DEVELOPMENT

11 B8 .20
p • C. I NCR. P•M•
4.
PLANT MAINftRANCE
m3.20
00
P• C. INCR. FA C•
. O0

-~

t.-H
4.~

£B

'$-:01 ~ Z·II ,.~ HI ~:II 1155S!'~~ 2 .1 FACULTY-TOTAL 1041 666. 1533707. 13375.00 18064.4O 14311.25 18967.62 15313.03 19916.OO 16384.94 21110.96 1151127. 1610392. 1240693. 1686011 . 1336852. 1770311. 1462941 . 1954719. L...3J L..St 1::;1 J. , 10100.00 10710.07 L.3i .I..:n 10231 .30 10817 . 17 10364.30 10979.42 10499.04 11144.11 11526.62 13165.68 11895.40 13795.99 12275.98 14002.93 12668.73 14745.96 2247.69 2567.30 2319.60 2690.21 2393 .81 2730.57 2470.40 2875.46 48331 • 13 55203.74 49877.43 57846.62 51473.19 58714.32 53120.01 61829.85 324~.00 384 .42 3400.35 3883.87 3509.14 4069.81 3621 .41 4130.86 3737.27 4350.06 31123.00 36881 .71 32613.01 37250.52 33656.42 39033.89 34733.21 39619.40 35844.46 41721.70 iHH:" 43554.23 46185.04 44120.43 46646.89 44693.99 47346.60 45275.'2 48056.79 FACULTY-AVERAGE P.c. INFLATION --aJJ. 1 .00 ADMINISTRATION ]~!~~.~~ 10 04.03 ADMISSION lJ ilm~. ~~ 13035.33 REGISTRAR 21 4S·00 2541 .89 INSTR. NON-FAC. ~6~~31~' 54 57.17 STUD. DEAN P.E. MISC. 7.00 0 NON-SALARIES WI LH • C'I 266 W'j' 0 1 PLANT MAINTENANCE 49500.00 52489.96 49995.00 53014.86 50644.93 53545.01 51383.31 54348.18 51978.26 55163.48 44~n'·"" .34 43430.00 46053.31 43994.59 46513.84 44566.51 47211.55 45145.88 47919.72 17739.75 19230.52 18896.48 19518.98 18748.28 28637.26 4.08 £JI 4.20 £11 ~:il 56243.28 70424.41 58605.41 73241 .39 61242.65 76171.04 65175.05 81608.35 67912.40 84872.69 70968.46 88267.59 HI l.:.!fJ 7·SI 7. ~:II ~II 92020.00 129062.79 ENDOWMENT 98461.40 138097.18 185353.69 147763.98 112728.44 158107.45 ~ HI tIl 900010.01 9i'S"·00 ~IIIII:SS DEVELOPMENT INSURANCE FUDGE 16666.66 17385.24 18906.41 19095.47 P.C.INCR.B.O.-ST.WELF • . 00 4.00 gJ £]I BUS. OFFICE 54080.00 67263.05 STUDENT WELFARE 62668.32 77944.94 P.C. INCR.,LIBRARY ~t'R':~S ~!nf:" rlI LIBRARY 86000.00 120619.43 RA TE OF RETURN 5.00 GIFTS .rr. t" INIT~41IRR'IIT .. 150 ""."" til HI aISSI:U UIIIIS:g 800.8.0. ENDOW. INC. 465279. 4225"8. 733184. 6684"'. GIFTS TO CUR. OPe 694"8.26 98787.3' 187481.'4 154332.71 ENDOWMENT AT END OF YEAR 9689884. 883'591. 15226289. 13913691. o ·;tt4A#l .. :.\ .. 1$.

589494.
798814.

579489.
868395.

634333.
942824.

95862.79
158381.32

953'2.19
211415.2'

13'697.38
315817.1'

"594121 •
165679'8.

11598719 •
17956493.

12668.22.
19441476.

-

-

267

%.4. ;;:;;:,WWIi ,,$i,••iihiifi\N.......@ _ 0 . . • %$1_

4.Ph

4A#.AJA#MmU.ii1i_\t¥MNf&\;,~IU;;iMU;;&aCU

;;;AAtiUm:=L2li2&

llllZL

()

lit

JUNIOR COLLEGE INSTRUCTIONAL TESTING PROGRAM

o

:0

Prepared by the Computer Center Staff
With computers installed or on order for the vast majority of colleges
and universities, educators must decide on the us.... of this power,ful
instructional and administrative.aid. The cost of a computer installation
represents a large item in the institution's budget,and in moat junior
colleges sufficient funds are not available for two computer installations;
one for administrative work, and one to support the instructional _program.
By developing a computer concept of providing a computer center with
the responsibility of processing administrative work and scheduling classes
for instruction, a more extensive and modern computer can be made ·available.
The Miami-Dade Junior 'CoIregena's aevelopea this centralized computer concept
and the results have been most encouraging.
As is indicated on the organizational chart, all instruction in the center
is the responsibility of the coordinator of computer science, which includes
service is the responsibility of the manager of data processing. Some
seventy-four administrative programs provide a wide variety of services for
the college, and one that has made the greatest impact on the faculty as a
whole has been the program of .test writing and test scoring.
The responsibility for workin; withthevar:Lous departments within the
college is assigned to the systems analyst. He works withtheper,sonnel
within the departments to establish procedures that may be handled in the
computer center. After the precise input and output have been determined,
flollwfCharts are developed and the writing of the programs is assigned to the
programmers.
Miami-Dade Junior College began test scoring on the IBM 1620 in the
Winter Term of 1962. Professor Joseph Duerstock under.to,ok a rewriting of
the program to overcome several operational diffic.ultiesand bas developed
five versions of the test scoring program now in use. Our college enrolled
over 13,000 students this past fall,and over 40,000 tests were scored and
analyzed using our system.
An automated test scoring system provides a partial solution to the
ever-increasing demand on instructional staff by transferring test scoring
and test analysis to machines.
The application of modern computer systems to test scoring provides a
rapid method of grading large numbers of tests while accumulating statistical
data that heretofore could only be gathered through tedious error-prone
manual calculations. Not only will computers provide this information as
part of the normal processing, but mathematical formulas which were infrequently used because of their complexity nowprov.ide valuable data for use
in the analysis of tests. Thus, it is possible to reduce the work load of
the faculty and, at the same time, produce data that can be used to improve
the tests.
accollDllodate true-false or multiple choice answer tests. The main restriction
in the construction ofehe"tes't' is that,there~vcan-.,be-,.only one correct answer
to each test question. Thus, most objective test questions can be readily
adapted to the system while those with more than one answer can be rewritten.

268

1M iI#I Ii .'. $$(JtM«C:UX:$$ 14 . . . .

\ (

,¢E.

*" Pi

#

AM

.us::;:. Ii =::':::W".=_=IMI£..."

n'l

11.380 N.W. 27th AVENUE

•

MIAMI, FLORIDA 33161

•

PHONE 688-3541

ORGANJZATIONAL CHART
PRESIDENT

SYSTEMS 8& PROCEDURES

.

-----

INSTRUCTION

PRODUCTION STAFF
OPERATORS & KEY PUNCH
PERSONNEL

COMPUTER CENTER COMPLEX
******************

INSTRUCTION

RESEARCH

HUMANITIES
NATURAL SCI ENCE
SOCIAL 'SCI ENCE
TECHNICAL
SPECIAL PROJECTS
COMMUNITY SERVICES
TESTING

STUDENT PERSONNEL
GUIDANCE
TESTING'
REGIST RATION
SPECIAL ·PROJECTS

A DMINISTRATIVE SERVICE·
REGISTRATION<
FINANCE
_
.CAMPUS SERVICES
PLANNING
PAYROLL & PERSONNEL
INVENTORY
ALUMNI
MAINTENANCE

()

269
TAK:DS

Jul, 1. 1964

!It:

~=,.'=

c:;

:;;''!It

$n """m. * "me"$

nrr,

sTEm

tl

r. . .

(See sample test question formats.)
Equipment requirements necessary to implement this test scoring system
are as follows:
1. IBM 1620 Computer Complex
2. IBM 407 Accounting Machine or IBM 1443 Printer
3. IBM 519 Document Originating Machine
4. IBM 026 Card Punch'
5 • IBM 082 Sorter
Because of the different machine capacities and features of the
1620 complex, several versions of the test scoring system were developed.
The test scoring system is comprised of two totally independent, wholly
compatible, units which are called (1) the test writing p:rogramand ...-C2-) ....the
test scoring prQgram.
. ", .
The former'programwas designed to use the data processing equipment to
relieve th"e~"''fyping work 'of the secretary. The benefits of this procedure
became evident during the ever-occurring semester-end rush to prepare the
final examinations prior to the deadline of the duplicating department.
Once the questions to be used were dete~ined, the entire job of machine
proceSSing and preparation of the mats for duplicating was completed easily
within thirty minutes. This processing often included tests that contained
several hundred questions--a difficult task for any secretary or secretary
pool to perform on short notice.
the test questions are duplicated with no typing errors and the computer plans
all spacing to insure that no question would be split across pages. The
computer also causes every sheet to be identified by a heading and a page
number.
The test questions are converted into the proper card format for
processing, using an 026 card punch. This file is then reprocessed on the
IBM 1620 computer to create a master proceSSing file that contains all
questions, each one of which has a unique question number. The instructor
selects the desired questions by number and records this information on a
sheet of paper. The operator enters the numbers into the computer, and the
computer compares each card to find the corresponding questions. The data
from the processing file is transferred in slightly altered form with all
of the identification deleted to another card. These output cards are
consecutively numbered to facilitate sorting in the event the cards get out
of order.
ThefinaJ,"~,~~P.!§. ,~h~, ~J;_~.~~.~er.c:)f the test from the output cards to
some form for duplicating. The IBM 407 accounting machine or the IBM 1443
printer is used to produce the final printed test on continuous form offset
duplicating mats. Ditto mats may also be used if fewer copies are desired.
If necessary the regular 8ingle form mimeograph masters may be used in the
same manner as they are used on a typewriter. The ribbon must be removed
from the machine.
'lBE TEST SCORIRG PROGlWI

0 ,: ,'
I,

This portion of the system provides the method through which the tests
are graded and the analysis generated. Since one of the priJaary reasons for
the use of cmaputers for scoring is speed, considerable progr8llllling effort
was devoted to reducing the processing time per test: card. The following

270

scoring speeds were obtained using version five of the test scoring system,
·with an IBM 1443 printer for direct output.
1 card test
50 questions
236 students per minute
2 card test
100 questions
128 students per minute
3 card test
150 questions
88 students per minute
4 card test
200 questions
62 students per minute
5 card test
250 questions
54 students per minute
Perhaps the most interesting thing that this chart shows is the
relationship between the maximum speed of the computer inpu..t(250 cards
per minute) and the output (240 lines per minute) to the number of cards
per student • It can be seen that the process is outputboun.~ for one card
test and in2ut bound for all ot~~'!d£~e,Jes. Therefore'~' additional improvement
in processing-speedWou1cr~require faster input/output devices rather than
improved programming.
(
The most C!,!,~J~~,!p~rt of the test scoring program is the marking :.of
cards by students; however, experience has shown that the students readily
adapt the required techniques when properly instructed.
Though the principle of the mark sense card is the same as that of the
well-known 8% by 11 inch scoring sheet', there are two significant differences:
1. A student cannot mark two responses to the same question without
discovery. This is handled by either of two methods, depending
upon the equipment available for use:
a. If a fully equipped 519 document originating machine is
used, only one of the marks is accepted for scoring and
the second causes the punching of a digit in card
column 9 of the answer card. This digit is later used
by the computer to generate an error message as·sociated
b. 'If the 519 does not have this feature, both marks will
be punched into the card. Double punching may form an
invalid character which will cause the computer to
stop during the processing of that card. Thoughthis
process will catch the error, it also causes~he
computer to become inoperable to the extent that the
program must be reloaded and processing restarted from
the beginning. This is the most convincing reason for
using the full capacity 519.
2. The cards must be carefully handled so that they are not bent or
frayed.when processed.

MARK SENSE PUNCHING
Mark sense punching, though not a new innovation, provides a highly
accurate method of recording and scoring student answers and, at the same
time, provides two records of the student t S respons·e--theorlgina1 pencil
mark and the punched hole generated from that mark. .Thissystem insures
that no student can change an answer (the mark) on the card and confront
the instructor with an error in his score because the computer failed to
function properly. The hole cannot be changed by·the student.
The reliability of mark sense punching is excellent if the £acuIty and
students are properly introduced.to the correct manner of:marking the cards.
Mark sensing is being used successfully in colleges., hlghschoo1s, junior
high schools, and even in the lower grades. FavQrab1e results can be achieved

tf~
~.

271

rlttsrth

o

by insuring that:
1. Only special Electrographic pencils are used to mark the mark sense
positions.
2. All marks are dark and completely filled, but do not extend beyond,
the position outline.
J. Ink is used to write any other information on the card that is
required.
4. Only one response is marked for anyone question.

MONTH

z

0

i=

c
:;
w

I:

••c
w

•
I:
;)

COMPUTER CENTER
COMPUTER TEST SCORING SYSTEM

·0
0

• 7 • • 1011 1213141511

DAY

YEAR

cO::>cO::>cO::>cO::>

cO::>cO

0::> cO

cO::>

cO::> cO::> cO:'"

c l::>cl::>cl:::>cl:::>

cl::>cl

l:::>cl

cl:::>

cl ::>cl ::>cl::>

c2::>c2::>c2::>c2::>

c2

2:::>c2

c2::>

c2:::>c2::>c2::>

c3::>c3::>c3:::>c3::>

c3

3::>c3

c3:::>

c3::>c3::>

c4::>c4::>c4::>c4::>

c4::>

c4

c4::>

c4::>c4::>

cS::>cS::>cS::>c5::>

cS::>

cS

cS::>

cS::>cS:::>

c6::>c6::>c6::>c6::>

c6::>

c6

6::>c6::>

c6::>c6::>

c 7::>c 7::>c 7::>c 7::>

c7::>

c7

7:::>c7::>

c7::>c7::>

c8::> c 8::>c 8::>c 8::>

c8::>

c8

8::>c8::>

c8::>c8::>

c:9::>c9::>c9::>c9::>

c9::>

c9

9::>c9::>

c9::>c9::>

~a~~~~~».~~~~~.~

•• ~~~DM • • ~~ • • ~uaM •• ~ •• ~Hn~=~M~nn •

The Jnstructor fills in one of these cards for each class tested. The
sequence number, date, and the total number of questions are recorded by the
instructor in the appropriate mark sense positions. The total number of
questions is the total of those questions to be scored, not the numerical
value of the highest question number. It -is used to check that the marks on
the key card(s) punch properly. For example: If a thirty question test were
given and it was desired to delete question number ten, the instructor would
s~ply not give number. ten an answer on the key card and then enter the number
twenty-nine on the instructor header card for the total number of questions.
This feature does not insure that the proper responses have been marked. but
rather that there is a mark for each question to be scored. Having to reprocess
• test because the instructor failed to use the Electrographic pencil properly
is prevented by this checking procedure. The use of the instructor header card
is not mandatory. but if used. total number of questions must be entered in
first instructor header card following the key card(s).

o
272

(Front Side)
USING SPECIAL. PENCIL, MARK
APPROPRIATE BUBBLES TO INDICATE
w ; STUDENT NO. USE ONE COLUMN
00:: FOR EACH DIGIT OF THE NUMBER.

~ ~ cO::>cO::>cO::>cO='cO::>cO:::>cO::>

::>1
(J::>

5 5 5 5 5 5 5 S ~. 555:5::555555555

SEQUENCE
NUMBER

cO::>cO::>cO::>cO::>
3 3 3 3 3 3 3 3 3 ~ 3 3. 3, 3 J 3 3 3 3 3 3 3 3 3 3

~ Z C l::>c l::>c l::>c 1='cl::>c l::>c 1::>

2222222222222222222222222

1 1 1 t 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ill 1 1 1

The student enters his last name, first name, middle initial, student
number, ana sequence number on the appropriate lines preferably using a pen •.
.. The special pencil could be used if the student is careful not to allow:a stray
mark to cross into the area of mark sense positions where the student n~e~
. is recorded.
Using the special pencil, the student then marks his student. numb.er and
class sequence number into the designated area making one mark in eachof·the
appropriate vertical positions. All zeros, including leading ones, must be
entered. The program checks each position of the student number for a mark and,
if any of the seven positions are blank, an invalid student number is generated
and the processing of the card is terminated. Consequently, th~ student will
have miss ing answer cards if the tes t uses more than one answer card,. ·Thi.s
proc'edure is necessary to prevent the accumulation of an incorrectt,ot$J - ~~or~ if two consecutive students completely omit their student numbers. . , . , 273 .... o f\) -J' ~ n n n n n U U U U U 4-4-=-M=U~ST-B-E-M-AR-K-E-D-tl'~\itilfij rtt1o.::3 ::r .... 11 Ib..o < O'rt"tS .... rt rt c: tD CD tD 11::3 ::r tD OllbUl ortOl f1)l-tIrtnrt c:::rrt nl1CDrtl1 ()QtD .... O Q - .... c: ::r 0 11 a n n CD ::s .... Ibrt ....·rtCD ::sSbtxJ .... O rtC: ()Q .... '< t1 0. Ib .... Ib .... tD ::s rt a::s~ fJ):So. o tD Ib 0. ~. rt X t1 rt ::3 en Sb 1-tI~~c:::r 0 Sba .... Ol rtC:rt n ol ::s tD rt CD tD .... OQI-tI::r ::stDOl .... n C:tD tD rt ....·lblb .... nrt rt::3 tD::r Sb CD tD "' 0'" fI) tD tD Sb 11 ~ '< 10 20 30 40 50 10 20 30 40 50 ~ 3. 10 20 30 40 50 ~ 4. 10 20 30 40 50 ~ 5. 10 20 30 40 50 6. 10 20 30 40 50 a 10 20 30 40 50 ~ 3~ 8. 10 20 30 40 50 ~ 10 20 30 40 50 ~ I~ 10 20 30 40 50 ~ 10 20 30 40 50, ~ 12. 10 20 30 40 50 o 10 20 30 40 50 ~ 14. 10 20 30 40 50 ~ 15. ,0 20 30 40 50 m 16. 10 20 30 40 50 ~ 10 20 30 40 50 ~ 18. 10 20 30 40 50 Z 19. 10 20 30 40 50 J 10 20 30 40 50 ~ 21. 10 20 30 40 50 ~ 10 20 30 40 50 ~ 23. 10 20 30 40 50 ~ 24. 10 20 30 40 50 ~ l~..'10 20 30 4-0 50 r so. I. 26. 2. 27. 28. 29. f'1 ~ 30. 31. 7. 33. 34. 9. 35. 36. II. :0 37. 13. 38. 39. 40. 41. 17. 42. 43. 44. 20. 4S. 46. 22. 47. 48. 49. AD- GPI DADE 10 20 30 40 sO ,0 20 30 40 50 ,0 20 30 40 50 10 20 30 ,40 50 10 20 30 40 50 10 20 30 40 50 ,0 20 30 40 50 10 20 30 40 50 10 20 30 40 50 '0 20 30 40 50 10 20 30 40 50 10 20 30 40 50 10 0 30 40 sO 2 10 20 30 40 50 10 20 30 40' 50 10 20 30 40 50 10 20 30 40 sO 10 20 30 40 sO 10 20 30 40 sO 10 20 30 40 50 10 20 30 40 50 10 20 30 40 50 10 20 30 40 sO 10 20 30 40 sO 10 20 30 40 COUNTY P'UBLIC SCHOOLS o r;; t< § ~~ tD t:=' < tD en ~§ tzJ enz .... t-3 0. ~~ Cil ~ :;itI § Iii ~ I ICEY CARD (Front Side) A...... E, ITUDE .. T .. UIIIER A.. D SEOUE .. CE NU .. I'" ARE TO I I WRITTE .. I .. INK IN THE OUIINATEO .,ACES ON THE ANSWEII CARD . ... THE INDIVIDUAL', STUOE .. T NUMIEII .. UST BIt MAIIKED I.. THE IIESPECTIVE IUIILE POIITION' UIING THE SPECIAL IIARKI ... PENCIL. INSUIIE THAT ONE AND ONLY ONE IUIILE IN EACH VEIITICAL 1I0W "MAIIKEO. IN PAIITICULAIt, IUIILES AT THE ZEIIO POSITIO .. MUST IE MAIIKEO- NOT LUT ILA ••• 2. I NSTRUCTOR HEADER CARD A. . . AIIK THE SEOUE .. CE NUIIIIEII AND DATE ON THE CAIID. I. ANY .. U.. IER 0' SEOUENCES .. AY IE SCOIIED USING THE SAME KEY CARDISI. C. IIIAIIK, IN THE APPROPRIATE PLACE, THE TOTAL NUMBER OF QUESTIONS WHICH ARE TO IE SCORED. c5:::>c5:::>c5:::>c5:::> !: c. FRO~T5 a~ •••• a~M~.~~.~~~w ••• 91anl213I4~161'718"202In2S~"MIAMI-DADE c:::::::> R-I/4W JUNIOR COLLEGE ts 5 555 555 555 5 5 555 5 5 5 5 5 5" 5 THE SIDE WHICH CONTAINS THE .. AlliE 0 .. THE CARD. THE CAllOS ARE PIIOPULY 'TACUD I .. THE CORNU CUT II TO THE UPPER U;'n ~~ :O~~O..~:: I o~!.:it"_EA ~~~: 01' THE CARD. THE CARDS MUST BE IN THE ~~~::RN~~S~ill 1111111111111111111111111 • 113" 5$ 1 S
THE DUIRED CORRECTlO .. 'ORMULA

RIGHT-WRONG

2222222222222~222222222Z2
PUIfCH AHSWE~-fleIl2W

c2:::>c2:::>c2:::>c2:::>

~""SEU::I~~:! !::R~:::::~~:~~ ~~~TO~~CIT~IOON.. I!~~:~~~·OT TO IE
OF TEST CARDS ________ THE

c::::::::>

cl:::>cl:::>cl:::>cl:::>

'COUD .. U'TIlLEFTILAN.,
~~LII:::. CA.DI MUST HAVE
ARRANGEMENT

RIGHT ONLY

3333333333333333333333333

::

4.

c::::::::>

c 0:::> c 0:::> cO:::> cO:::>

D.

0 .. THE CARD.

444.4"4~4444.4444444444444

NUMBER

c3:::>c3:::>c3:::>c3:::>
c4:::>c4:::>c4:::>c4:::>

3· A• KIIIEAYRKC:H~DCORRl:CT A .. SWEIIS

FORMULA

SEQUENCE

c6:::>c6:::>c6:::>c6:::>

,

4 4. 4 4 4 4 4 4 4 4 4 4 4 4 4 4 44 4 4 4
C 7:::> C 7:::> C 7:::> C 7;:J

2 2 : 3 2 3:.1 1 2; :: ;; 3 3 3 3 3 3 3 j 3 3 3 3 3
c8:::>c8:::>c8:::>c8:::>
2 2 2 2 2 2 2 2 2:' 2 2 2 2 2 1 2 2 2 2 2 2 2 2
c9:::>c9:::>c9:::>c9:::>
11 1 j 1 11: 1 1 11 1 1 1 1 1 1 1 1 1 1 1 1 1

CUD AHUD 0' EACH CLASS.
STUDEnT A ..Iwn CUD 'OLLOW' ... THE APPIIOPRIATE CLASS HEADER
CUD.

CO".UTEtt CENTER
COMPUTER TEST SCORING SYSTEM
D~Ba~aa.~~D~zS~ ••• ~ua~e.~ ••• ~RUM •• U••• ~UDM •• W•• ~nnnua~ n~~.

The!!!8tru~!.~r marks the desired correction formula .2!! ...~h~.key card by
filling in the appropriate mark sense position. If no foumula i8 marked, the
computer a88\DOeS "right only." If the instructor wi8he8 to U8e one of the
remaining formulas, all of the key cards should be marked as the computer
processes thi8 mark only from the fir8t key card entered for the test group.
All figures are calculated to give the benefit of the doubt to the 8tudent,
that ia, percentage8 are half-adju8ted upward; or, when a correction formula
i8 used, the fractional portion of the subtrahend. u.ed to correct for gue8aing
are dropped.

OUTPUT LISTING
Page one of the output listing showa ODe line of print for each student.
The student number, number right, number wrcmg, and the number of queations
with no answer are listed. The last column listed is the percentage and ia
calculated by dividing the number right by the total number of questiona. If
a correction formula is used, the percentage column is changed to reflect the
adjuated score. Statistics are based on the number right if no correction
formula i8 specified, or the adju8ted number right when a correction fo~la
ia uaed.
ERROR STA'rEMEBTS
ER 4

Student ia mi•• ing ODe or more answer cards. All 8tatistics for
the student are ignored and no grade is aasigaed.
ER 3 - The student has marked more than one answer on one or more

G
275

111 WI

questions. The instructor should examine the student's card
to try to determine if the double marks were intentional or
a legit~ate mistake.
ER 2 - The student has two or more answer cards with the same test
section number. ER 4 will normally be listed along with this
error.
Student Number Invalid - This statement appears with an asterisk to
the left of the student number if the student fails to fill
in one or more of the student number mark sense columns. The
computer will automatically substitute a zero for any digit
missing from the student number.
Student Number XXXXXXX has improperly marked test section number on
answer card - The student number of the person who made the error is
inserted in the X'd space by the program. It is possible for
the statement to be blank or to appear with a partially filled
number if the student number is also improperly marked. The
card is not scored.
The item analysis provides a tabulation for the responses to each item
of the· test. An asterisk marks the correct response and is determined by
the answers provided by the key card(s). The mean, median, standard
deviation, sum, and sum of the squares, as well as the number of test questions
and teats graded, are given at the bottom of the last item analysis sheet.
Individual scores which were deleted because of errors are not included in
the statistical analysiS.
The last column (R) is a point biserial correlation between the respon.e
to .ach item and the score·made on the test. It is not the purpose of this
paper to debate the significance of R for various testing situations; however,
a number of interesting properties of R are immediately evident.
If a significantly high value of R is found for an item, it follows that
the studenta who anawered the item correctly had the better scores on the test.
However. this is no assurance that the question measured that which was intended.
A zero value from one of the following conditions:
1. All students anawered the item correctly.
2. All students missed the i,tem completely.
3. The correlation was equal to zero or so near zero
that the only significant digit. were values less
than three decimal places.
The distribution is presented in two forma. A numerical listing ia liven
showing the frequency for each score. omitting all scores with a zero frequency
value. The last column contains the cumulative frequency for the convenience
of thoae who assign grades based upon class standing.
A histogram i8 generated to provide a graphic illuatration of the
diatribution. The horizontal axis represents the score aDd the vertical
axis the number of atudents. The computer adjusts the scale of either
axea in the event that more than SO questiona are used, or in the event
there are more than SO people that score a particular grade. Thua the
hiatOlr. . , like the other portions of the output, alwaya fit a an 8% z 11
inch p&le.
AVAILABLE TEST SCORDG PROGIAII VlUlmfS

o

Vera ion I

- For 40X . .chine. Bas it. . analyaia, _an, median,

276

I"~

Version II

-

Version III

-

Version IV

-

Version V

-

cumulative (equal to or greater than) frequency
distribution by score and a biserial coefficient of
correl~tion is calculated for each ite. of the
analysis. Program can be reinitialized by recalling
following the grading of each test group.
Similar to Version I except a histogram plot is
generated for visually representing tbe di,stribution.
Part of the program is overlaid automatically fran
disk or manually from cards. The program is ~n two
parts--scoring and analysis.
For 60K machine without disk drive. Similar to
Version II except total program is contained in core,.
For 20K machine with disk drive. Program is limited
to three cards (150 questions) and scoring speed is
somewhat reduced for tests that h$vemorethan one card. Program is overlaid from disk to produce the same analysis as Version II. For use with the 1443 printer to permit direct printing of output, and the '1311 disk drives to permit automatic overlay of the analysis routi,ne and reinitialization. In other respects, the system i. ~imilar to Version II. DETAILED MACHINE FEATURES REQUIRED FOR TEST SCORING PROGRAM 1620 Central Processing Unit with following special features: 1. Automatic divide 2. Transmit numeric fill (TNF) 3. Transmit numeric strip (TNS) 4. Indirect addressing 5. Move flag (MF) 1622 Card Read-Punch (either Model 1 or Model 2) 519 Document Originating Machine with: 1. Mark sensing -- 27 positions 2. Double punch-blank column detection device 3. The following features provide additional checking capabilities and ease of operation. Xbey are strongly recommended, but are not absolutely required. If onl, one of the twoc,an be secure4, the selectors are preferable:. a. Four selectors -- allow the panel to be wired to eliminate the possibility of punching a double-maJ;'ked response. b. Punch emitter -- provides ease in operating the machine and in wiring the control panel for the punching of the mark sense cards. 1443 Printer or 407 Accounting Machine -- If the accounting ,machine 'is used, only an 80-80 list board with a carriage skip to ,channel 1 from column 80 first read is needed. '026 Card Punch --'No special features required. 082 Sorter -- No special features requi~ed. 277 o ACCEPTABLE TEST QUESTION FORMS 1. Multiple Choice: How many characters comprise the alphabet. 1. 9 2. - 3. 4. 5. 2. 3. 10 26 39 47 True-False Florida is known as the Sunshine State. - 1. True 2. False Multiple-Multiple Choice Testing procedures should include A. Test writing B. Grading C. Evaluating D. Giving A Grades to all students 1. A and D 2. B, C, and D 3. B only 4. A, B, and C 5. All of the above TEST WRITING PROGRAM STEPS o This is a detailed description of the steps used in the test writing system, starting with the questions already written. 1. Each test question is transcribed to IBM cards uSing the following card format. 1-10 blank in all cards Format for question cards: 11-80 contain the question. If it is necessary to have two or more lines for the question, the succeeding lines also start in column 11. Format for response cards: 16-17 contain the response number and a period. 20-80 contain the response. Additional lines for responses start in column 20. An 11 (-) punch is placed in column 11 of the card that contains the correct answer. This mark is later printed on the instructor's copy of the test and greatly facilitates the marking of the key card. Of course, the mark does not appear on the student's copy. The punching of the cards can be done either by a card punch machine or by a Friden flexowriter which produces a paper tape that can later be converted into card form. 2. A card that contains an 11 punch in column 7 is placed between each test question to signal to the computer the end of that question group. 3. The cards from step 2 are then processed by the computer using option zero (0) of the test writing program. This process creates a new file of cards and, in addition to copying columns 11-80 of the input carda, 278 ._ . . . . . . . . . ,. . . . . . , . . , . n • ••. , .. , . . . ' _ •.. _ . _ •. _ _ _ ••.. _ _ _ " ••••.••. -. _ _ _ _ _ •• __ •.• -- ---.,) 4. consecutively numbers the cards of each test question while punching a unique number for each question. During this same processing, a two digit code is punched into all cards. which is used to identify the subject of the test questions. The end of the question card (11 punch in 7) is deleted at this time and the identification punch is transferred to column 1 of the last card of each questi,on group. The output from step 3 forms the master processing file and is now used to do the actual test prepatation. A listing of this output, is prepared showing both the unique number for each question and the subject code. The question and subject code for each desired question is recorded by the instructor and turned oVer to the machine operator. After loading the program, and selecting the correct program option (3), the operator merely enters the desired question numbers into the computer by the typewriter and the computer then produces the selected questions sequentially numbered and in a form which can be listed easily on the IBM 1443 printer or IBM 407 accounting machine. The test questions can be selected in different sequences in order to produce multiple forms of the same test if the classes are large enough to require this method of control. THE TEST WRITING PROGRAM PROVIDES THE FOLLOWING OPTIONS OPTION 0 (Zero) -- Construction of the Original File This option converts the cards from the format as outlined in part 1 of the preceding section into the form for use in processing step 3. OPTION 1 -- Update the File Produced by Option 0 Questions may be deleted or added to the processing file. Any questions to be added must be in the same card format as the processing file. OPTION 2 -- Convert File to Paper Tape Option 2 allows the processing file to be punched on paper tape to provide a duplicate record of the test question file as a protection against loss or destruction. OPTION 3 -- Test Writing Program The computer selects from the processing file those questions that the operator enters from the typewriter. This is the option that prepares the test for use in the classroom. OPTION 4 -- Goof Switch Console switch 4 is used to allow the operator to correct any erroneous information entered into the computer program through the typewriter. TEST WRITING PROGRAM -- CARD FORMAT OF PROCESSING DECK 1-3 4-5 6-7 8 9 Question number Subject code Sequence number within question Department code This digit identifies all cards that belong to one part of the questiDn. All cards that comprise the question contain a zero. Those belonging to response ,I contain a 1 punch, etc. 11-80 Contain an exact duplication of the input cards for Option O. o 279 o MDJCTD 3/27/64 DAPI0IJAD MIAMI-DADE JUNIOR COLLEGE COMPUTER LABORATORY TECHNICAL DIVISION PAGE 1-1. WHICH OF THE FOLLOWING IS NOT A FUNCTION OF TOP MANAGEMENT IN A DATA PROCESSING UNDERTAKING. 1. APPROVAL 2. DIRECTION 3. CO-ORDINATION 4. OPERATION 2-1. THE DATA PROCESSING MANAGER OF A LARGE EDP INSTALLATION WOULD MOST LIKELY HAVE AS A JOB TITLE 1. TAB SUPERVISOR 2. TAB OPERATOR 3. CO-ORDINATOR 4. TAPE JOCKEY 3-1. ANALYSIS OF SYSTEMS, PROGRAMMING, LIAISON, PROCEDURES AND DOCUMENTATION, AND CONVERSION REPRESENT 1. PLANNING AND DEVELOPMENT FUNCTIONS 2. OPERATIONAL FUNCTIONS ANY COMMENT CAN BE ENTERED AFTER A GIVEN QUESTION THRU THE TYPEWRITER 4-1. WHICH OF THE FOLLOWING GROUPS SHOULD RECEIVE NO TRAINING OR INDOCTRINATION PRIOR TO THE INSTALLATION OF AN EDP SYSTEM. 1. MANAGEMENT 2. PROGRAMMERS AND SYSTEMS ANALYSTS 3. OTHER EMPLOYEES 4. NONE OF THE ABOVE 5-1~ THE COMPANY INSTALLING AN EDP SYSTEM WOULD PROBABLY NOT KEEP 1. A GENERAL PRE-INSTALLATION SCHEDULE 2. AN APPLICATIONS DEVELOPMENT SCHEDULE 3. A COMPUTER MANUFACTURING PROGRESS SCHEDULE 4. A PROGRAM DEVELOPMENT SCHEDULE 6-1. AN ASPECT OF PREPARATION FOR AN EDP SYSTEM WHICH IS MOST FREQUENTLY OR EASILY SLIGHTED IS 1. PROGRAMMING 2. CONVERSION 3. TESTING 4. DOCUMENTATION 7-1. THE PUNCHED CARD METHOD OF ACCOUNTING WAS DEVELOPED ABOUT o 1. 2. 3. 4. 1886 1765 1916 1936 280 1 - ~--.--- WHi CH OF THE F0 LLOW I NGIS NOT A FUNC T ION 0 F TOP MAN AGE MEN TIN A DAO·.T ~. " PROCESSING UNDERTAKING. 1. APPROVAL 2. DIRECTION 3. CO-ORDINATION 4. OPERATION TH.E DATA PROCESSING MANAGER OF A LARGE EDP INSTALLATION WOULD MOST LIKELY HAVE AS A JOB TITLE 1. TAB SUP ER VI S OR 2. TAB OPERATOR - i 3. CO-OR 01 NATOR 4. TAPE JOCKEY ANALYSIS OF SYSTEMS, PROGRAMMING, LIAISON, PROC~DURE5 AND DO~UMENTATION, AND CONVERSION REPRESENT 1. PLANNING AND DEVELOPMENT FUNCTIONS 2. OPERATIONAL FUNCTIONS WHICH OF THE FOLLOWING GROUPS SHOULD RECEIVE NO TRAINING OR INDOCTRINATION PRIOR TO THE INSTALLATION OF AN fOP SYSTEM. 1. MANAGEMENT 2. PROGRAMMERS AND SYSTEMS ANALYSTS 3. OTHER EMPLOYEES 4. NONE OF THE ABOVE THE COMPANY INSTALLING AN EDP SYSTEM WOULD PROBABLY NOT KEEP 1. A GENERAL PRE-INSTALLATION SCHEDULE 2. AN APPLICATIONS DEVELOPMENT SCHEDULE 3. A COMPUTER MANUFACTURING PROGRESS SCHEDULE 4. A PROGRAM DEVELOPMENT SCHEDULE AN ASPECT OF PREPARATION FOR AN EDP SYSTEM WHICH IS OR EASILY SLIGHTED IS 1. PROGRAMMI NG 2. CONVERSION 3. TESTING 4. DOCUMENTATION ~OST FREQUENTLY THE PUNCHED CARD METHOD OF ACCOUNTING WAS DEVELOPED ABOUT 1. 2. 3. 4. 1886 1765 1916 1936 THE FIRST PUNCHED CARD APPLICATION WAS 1. PAYROLL 2. STATISTICS 3. INVENTORY 4. A0 DR ESSING o 281 -------,--------------_. ~~-~--~--~-~---"-------.,.---- - - - - - - - - - , - - ,~-------- o 0019901XO WHICH OF THE FOLLOWING IS NOT A FUNCTION OF TOP MANAGEMENT IN A DATA 0019902XO PROCESSING UNDERTAKING. 0019903Xl 1. APPROVAL 0019904X2 2. DIRECTION 0019905X3 3. CO-ORDINATION -019906X4 4. OPERATION 0029901XO THE DATA PROCESSING MANAGER OF A LARGE EDP INSTALLATION WOULD MOST 0029902XO LIKELY HAVE AS A JOB TITLE 0029903Xl 1. TAB SUPERVISOR 0029904X2 2. TAB OPERATOR 0029905X3 3. CO-ORDINATOR -029906X4 4. TAPE JOCKEY 0039901XO ANALYSIS OF SYSTEMS, PROGRAMMING, LIAISON, PROCEDURES AND 0039902XO DOCUMENTATION, AND CONVERSION REPRESENT 0039903Xl 1. PLANNING AND DEVELOPMENT FUNCTIONS -039904X2 2. OPERATIONAL FUNCTIONS 0049901XO WHICH OF THE FOLLOWING GROUPS SHOULD RECEIVE NO TRAINING OR INDOC0049902XO TRINATION PRIOR TO THE INSTALLATION OF AN EDP SYSTEM. 0049903Xl 1. MANAGEMENT 0049904X2 2. PROGRAMMERS AND SYSTEMS ANALYSTS 0049905X3 3. OTHER EMPLOYEES -049906X4 4. NONE OF THE ABOVE 0059901XO THE COMPANY INSTALLING AN EDP SYSTEM WOULD PROBABLY NOT KEEP 0059902Xl 1. A GENERAL PRE-INSTALLATION SCHEDULE 0059903X2 2. AN APPLICATIONS DEVELOPMENT SCHEDULE 0059904X3 3. A COMPUTER MANUFACTURING PROGRESS SCHEDULE -059905X4 4. A PROGRAM DEVELOPMENT SCHEDULE 0069901XO AN ASPECT OF PREPARATION FOR AN EDP SYSTEM WHICH IS MOST FREQUENTLY 0069902XO OR EASILY SLIGHTED IS 0069903Xl 1. PROGRAMMING 0069904X2 2. CONVERSION 0069905X3 3. TES TI NG -069906X4 4. DOCUMENTATION 0079901XO THE PUNCHED CARD METHOD OF ACCOUNTING WAS DEVELOPED ABOUT 0079902Xl 1. 1886 0079903X2 2. 1765 0079904X3 3. 1916 -079905X4 4. 1936 0089901XO THE FIRST PUNCHED CARD APPLICATION WAS 0089902Xl 1. PAYROLL 0089903X2 2. STATISTICS 0089904X3 3. INVENTORY 0089905X4 4. ADDRESSING 282 &ihWA I 1,1 -- -------- - - - - ------------------Ii --'--------- -:--:---------::-:-::--:-:-:-:::---::::---:-:::-=--~~=-~=:---:-~:-=------------ DATE 04/16/64 SEQ 4172 ~"~-'-.--.---~""-'''''~ ---_ ... _--.._- .-~ ...... MIAMI-DADE JUNIOR COLLEGE COMPUTER LABORATORY --,'-- ,.--_. STUDENT '-'--------------N UM BER NUMBER NUMBER NO RIGHT WRONG ANS STUDENT NAME ~---------------- 0298325 0760714 1019448 1605231 ------_.- . 1647911 1800106 ----,,--- --"------"---- 2 3438362417329 2618043 2695433 2721826 3242714 3296833 3646443 3711731 3715941 3726436 3728531 4105026 4184543 4573521 4756026 ------------------ ._.--5002821 ---- -- - - - - -.... --.-~ .. - - - _ ----------- 216~121 ----.~ 2730223 2763631 2783706 3051010 3053426 3278106 3407846 3578216 3604023 3TI1711 3791611 43~O211 4383133 4834426 4856606 5103131 ...-.. --- -~- .--- - -~- ._- - . -.--."---~---.--.-. 48 56 49 67 61 34 23 36 58 48 32 43 21 44 0 19 3 4 0 1 0 1 2 1 0 0 52 25 48 29 39 65 77 63 40 51 68 53 79 56 71 28 46 34 57 44 54 37 40 67 52 62 42 55 45 62 60 31 1 2 4 1 1 1 1 0 2 46 34 57 44 54 37 40 67 53 51 58 33 58 37 43 15 58 65 43 50 55 37 45 59 53 44 75 61 45 73 64 71 53 10 45 48 40 66 42 60 56 22 40 35 55 46 44 54 55 37 45 56 23 33 55 26 35 26 42 .. 0047206 0288421 0602041 1024806 1416711 15 3l~4.l___________________ '_ 1760831 1822026 2104443 --- -_.---_ .. __ ..._.. --- PERCENT 52 25 48 29 39 65 77 , 63 40 51 68 53 79 56 29 4 0 2 1 2 1 0 3 1 3 2 0 2 4 1 9 .0 4 2 0 2 0 0 1 1 3 5 1 -. -- Q 71 53 51 58 33 58 37 43 15 58 65 43 50 55 37 ..5 59 53 44 75 67 45 13 64 11 53 10 C-, 283 ------.---.--.~------~-.--- .. -... ~- ..--- -.---.-.. -.. ---.----..-.--.--........_-_ . _ - - _ . _ - - - - - - - - - - 1 -_. . . . . _-.- .. __._---_.. _.. DATE 04/16/64 SEQ 4177 - .... _.. --- ~------ _----_._ .... __.-_._. - _ . _ - . _ - - - - - - - - - - - - - - - - - - - - - - MIAMI-DADE JUNIOR COLLEGE COMPUTER LABORATORY - .. -~.--.~---~---.-~--~~-~~~~~~~~~ STUDENT -. -NUt~fB 'fR --.. -.. ---sf'UD'E~it NUMBER NUMBER 4 *0042407 S tTfoENT NUMB ER I NVAL I D 4 *0042407 STUDENT NUMBER INVALID ER ER ---·--·---··---·~IT~·----------·--·-- 0265938 0719341 1021817 1112831 4"'1142226' 1210041 4 -"'~' 1 62 53 68 01 69 28 3 69 65 35 0 65 37_-_._ .._.----.:-==--_----=:..=--_--=-::.--_------1 45 18 37 .... - - . - - - - - - .... -.--_....... 55 45 0 55 68 32 0 68 47 52 1 47 000 0 ·----5·4.. · 45 1 54 .._ .... _....._.______. ___ ._.~_~ _______..!~__. 0 _._64~_ _ _ _ _ . . _-- ------.--.----- '-"~' 37 47 31 ~.- -,_._, 51"34935' 0 0 ----~~--3~8~~~0~~~6~2~~~~~~ 62 53 -... -.-.-.- . -........ . ---..- - - - - 68 3708436 .. - ._.-', -3·S991·3i-·_· . ·.. · · ER 2 0 0 60 39 1 60 - - - - _ .. _.... _._----::--._----=------,--------,--------1 3'365 i16"-- .------ . 0 0 43 2 55 29-··----·---7-- -.. --··...,6,..-,;19...----------1 66 32 2 66 . - .. ·. ·----.. . .·. ---'-·-..·-..···-·-·0-···--..· . "'-0-- . 0 0 3328636 4037106 -- .. -,,_.,. -4267931 4429911 4538431 5054811 0 0 55 .. 09 . 2748816- ER PER- 71 29 0 71 ....--..... --- -----------r-6P""""S----...3>7",4-----.1..----r6S---------..,....j "0-If.lJ 833"1+- . ··- -. ER NO NA ME-------. --'-lfI GHT ---W"R-O'-N'-G-'"-A--N-S--C-E-N-T-------t -.. 5156246 -~--~~-~--~--------t __II . -.. ------~--------.--------------- . .-.-. - - . .- .-'-"" . -".-. . . ... _.-. . _-_._---_. __ . _-_._--------------------------1 ,..-. -.. -- . . --. --.. ---------.. --.--.-.. - - - . - - - - - - - - - - - - - - - - - - - - - - 1 1 -_._---_._ _----._------_ _ . _ - - - - - - - - - - -....... ... -.. -.. ----- ....._. . . -.- . -----.. ....... ----.---~- .. ------.- -------------4 _---------_._-_._- -..-- ...--- -.----...-. ....-- .-.-.-.. ----...--.-.--------..--- - - - - - - - - - - - - - - - - - - 1 1 --------_ --_._ .... __ ..... ... -.....,----_._---_._-------------------------- _._---------._-_._._.- .. -----_. _._--_...._. -"'_." ...... _.----_ ....... -_. _ .... _----------------------. _._._---_.... _._._ .. _ ... _...... _---------------. __._-_ _._ -_._------------------------------------.... - .. ....- o .. .. ' .... - " ... " .._.... -"- . .- _._...._-_._-_ .. _---- .. ... ._- -' .. - _ .. -... _..-.- -_ .... -----_.... . "". -_ ._ ... __ ...... '--''''''-'' __....... _ " - " - - - ... _._-----_ _ .. .... " .. - .... _.. -._ ......... _.......... -........ -_._----- _---_....._--------- _---_ _.• _---------------------- --_._._._--- .. ---_._.__ ._.- 284 - - .. _.... _-_ __ .•. ... - ..----.-.- ...... ~----.- . ".. ~ .....-............................... ~----.-- ................ - . . . - . . - _ . _ •.• __ .•••• _ _ • _ _ _ .••• ,-'0--'--,•.. __ ",,,~ _ _ .. c., .,.~_. __ -,~ -._" .~---.----.--------- II :,'l il ---_. -._- I ~ ... ;~·I:A'"lH6AO~;~!.'dtm·IOR,·\ COl LEG E • 4tlXX ;. tOMPUl'E.R ... L'8dRATO~Y J~.Q~~!~eo_.~.~,~QUENC ES. DATE 04/16/64 N/A ITEM _. __ 4 1 6 1. 2. 3. 4. 5. 6. 1. ._---,-------------8. 9. 10. 11. 9 1 5 0 5 3 3 1 2 3 123 474* 542 458* 342 332 993* 191 338* 92 140 57 31 655 117 .508* 184 114 692* 359 549* 212 102 152 286 44 940 1049* 29 68 13 418* 205 225 641* 292 249 814* 16 305 56 130 281 26 28 1 30 140 27 86 40 10 68 212 55 861* 130 64 lQ3 222 93 411 21 810* 3 5 13. 2 1 14. 15. 1 16. 10 ____ 1 7 •__~ __._. , ___1_. 18. 2 ________ .__ .~~'l~ ______.____.__2..___ .... _.... __. ~9.~_* 20. 3 120 ~~-~---r2. -.-~.- ..""....~~~.. -.~ - .. 22. 23. 24. 25. 26. 21. 28. .. 14~ ~ ~3!t* 565 5 --.---~ 29~ 66 3 3~ -.---.----. 1Q 6 79 2!! 311 88 8 10 91 ------~. 90 30. 5 _ ___ 3 1 •___ ._ ..... _. .___..ll 89Z* 32. 3 211 33. 181 4 34. 3 291* 91 22 _~_. ____ . ___.~ 5_~_._. ___ . 36. 2 210 8 1030* _'-- __..__ __"-_c ~J~ ' __ ._-_ __ ._---_. 38. 380 180 39. 29 334 -------._--_.-'---40. 15 115 41. 23 92 10 42. 136 11 583 ------_._.... 43. .. _----------_.-.- _- - , , - - _ . 44. 12 22 118 45. 115 46. 26 445· 41. 11 261 ---- . 48. 1 191 1 18 .. _. __ 4 ~~ . _ -.-------50. 6 413 ... ~ .... ---.~- --' - ... I , I I .-_._. , __ _._- 174 91 520* ~a 341 316 ~SO* 60 411 ~5 ~~ 42 161 570* 314 27 32 251 11 181 305 91 18 134 43 289 14 51 98 567 961. 29 155 40 269 91 51 1102* 57 153 316 452* 391 1043* 101 41 343 394 101 690* 51 22 154 ",('" 4- '" 451 217 132 322 162 841* 25 10 . 21 48 1141* 21 1010* 73 885* ' 113 20 18 17 88 lZ 315* 113* 98 120 51 lOt.. 697* 10Bl* 1023* 24S 39 698* 611 21 598* 26 254* 160 116* 30 640 342 148 644. 380 137 547. 43 683· 5 R U , 14 0.155 0.209 0.j30 235 O. 30 466* 0.245 0.346 10 34 0.410 1103* 0.218 28 0.159 34. 0.341 26 0.316 1129* 0.331 210 0.255 '0.219 83 84 0.260 238 0.216 465 0.266 13 0.311 13 0.314 217 0.315 'lg~ Q.Z22 85 0.135 1Q2 0.282 0.154 262 1133* 0.22~ 13 0.250 O.22!t 33 42 0.162 83 0.198 51 0.229 0.339 11 208 0.233 0.290 12 0.333 311 92 0.241 182 0.403 78 0.424 49 0.011 86 0.421 578 0.051 100 0.269 345* 0.330 340* 0.349 492* 0.379 0.105 21 363 0.221 163 0.221 4' 81;, 9 O~318 315 81 0.203 0.315 0 .. I I I I I , 285 . ';;r. . ~~--~~--~-----~ . .. -~--- --~-----~--~--- . '----.. '·'-D-ATE'-;;;:O:-;-It--./-.:-l-=-6-.1-=-64~------=M~IA-=-M;-:-cI=----::D=-:A~D::-::E~J~U=-:-:N:-=I-=O=-R-C=-O=-:L:--:L--:E=-::G::-::E:----------- COMBINED SEQUENCES 41XX 4:) .,-- ITEM _._-_ ..... COMPUTER LABORATORY 2'--. _ - -N/A - - - - - - - -1- - - - - - - 3 4 - - - - -5- - - -R 51. 2 51 41 1202* '63 1 0.188 52. 2 82 1094* 13 41 68 0.355 53. 4 776 135 253* 104 94 0.239 54. 10 258 401* 235 61 395 0.245 55. 4 68 119 162 765* 188 0.406 56. 2 100 79 209 184* 192 0.317 57. 2 229 136 117 196 686* 0.413 58. 3 354 10 88 109 742* 0.410 59. 11 176 338* 632 147 62 0.132 60. 8 202 276 166 663* 51 0.304 61. 7 395 133 709* 21 101 0.293 62. 4 61 56 548 585* 112 0.017 63. 5 234 171 737* 112 101 0.376 64. 1 409 250 61 628* 11 0.238 65. 7 864* 237 143 108 7 0.401 66. 1 11 35 1074*41 198 0.281 67. 3 154 97 75 924* 113 0.319 68. 5 182 913* 176 88 2 0.267 69. 8 156* 158 206 92 146 0.196 10. 6 252 103 14 218* 113 0.071 71. 5 429 455* 113 24 340 0.329 ------72. 1 89 118 953* 160 45 0.363 13. 4 29 150 844* 256 83 0.426 14. 4 141 173 29 10 1009* 0.259 75. 11 319* 114 311 551 60 0.352 --------------------------------------------------76. 7 194 1001* 15 25 124 0.369 17 • 30 504* 260 75 91 400 0 • 11 7 78. 11 200 702* 179 228 46 0.166 79. 11 588* 94 268 135 270 0.373 80. 5 14 556* 108 136 541 0.321 81. 21 187 832* 118 169 39 0.221 82. 5 347* 58 463 311 116 0.250 83. 5 66 1090* 45 81 19 0.264 84. 3 438 128 643* 134 20 0.266 85. 13 881* 35 323 ,58 56 0.353 86. 4 163 663 144 215 171* 0.018 81. 12 426* 393 233 295 1 0.232 88. 405 251* 143 184 211 166 0.309 89. 24 591* 432 28 251 40 0.301 90. 15 111 368 366 392* 54 0.166 91. 29 63 395 699* 158 22 0.339 92. -----··11--------111--· 770* 110 310 54 0.275 93. 10 51 17 203 1034* 51 0.184 -. cj4.-~---- 41 --------·918*--· 63 9465 185 0.290 95. 128 27 159 998* 37 11 0.304 96. 34 491* 121 305 180 223 0.198 97. 5 294* 250 186 299 332 0.261 98. 4 179 163 865* 102 53 0.214 o . ib~: -.- ! ---~-~-j----.---=-2-~-0---I-~;c...;;~0--~-*----1...;:..~-:-----2-~-~-*--~-:-~-~-~-- ------ ---- MEAN50.982 MEDIAN51 NUMBER OF QUESTIONS = 100 '.. STANDARD DEVIATION12.544 NUMBER OF TESTS GRADED = 1366 SUM 69642 SUM OF SQUARES 3765338 ---------------------------------286 :;i UitiDPIi II.@ 44'" QJi . ii¥ht:;:m ,Iii fA, .DkMU .k P$

n

4M . P?44AlJi dist Ut_=!M£MS:,su _ _a

DATE 04/16/64

COMBINED SEQUENCES 41XX

COMPUTER
LABORATORY
... .
.. ......
....
~

-

DISTRIBUTION
SCORE

FREQ

CUM FR:EQ

84.
82.
81.
80.

1
!
3

79.

3
3

78.

7

77.
76.

7
9
9
12

75.
74.

.. , _J~.~ _...

,.

72.
71.
70.

5
8
11
14
..._... _.' . 1.7.
24
31
40
49 ,
61
86

17

_lP3

18

121

69.

19

_140..

68.
61.
66.
65.
64.

17
19
19

63 •

17

62.

33

._ .......... - .. -.-.---..

-.-~.---~-------~.---

- - - - .. _.__._--------._...... _ - - - -

SCORE

FREQ

CUM FREQ

34.

.. ·· . 18

126lt·· ..·

1280
1301

33.

16

157
116
195

21
12
12
9

28

?23

1325
1334

14

237

28.

9

134~

60.
59.
58.
51.

28

56.

.

27.
5
26.
2
25.
6
24.
3
23.
"'2'2 ." ................._......, 2... .

? ~ .~_ . . .

281

.. _~ 0L .....

3~

336

35

371
406

2~

4~O

40
41
46
40
35

470
- .. -

511

-'--""-.-- ,-_ ..---

557
597
632

51.

53

685

50.
49.
48.
47.
46.
45.
44.
43.
_. - ------ 42.
41.
40.
39.
38.
37.

40

725

35.

.........__

32.
31.
30.
29.

. (?_t!. _ ......................~J__ ._ . _.

55.
54.
53.
52.

_-_

I~ ........

_J_~

10

36.

....

·····4 . .....- -'.'.."'""4"--'"

.8 5 •

1313

1348

1350
1356

1:3'"59
1361
1362
.... - .....

21.
1
20.i

1364

19.
17.

1365
1366

1
1

1363

_}7 ................. I~?__

~

..• _,

-.

48
810
29
~~9
44
883
33
916
32
948
49 ---.- .. 997 "--'''-- ..
__._-----_.
38
1035
32
10~7
34
1101
39
1140
24
1164
26
1t9Q_
27
1217
29
1246
---~-".---

._------

-

- -.- . .-.----.- -----C~
287

---

--,,---.~.-~.-----"-""-----'------~-"~~~--

---

..-.---.- ..------- .. - .. -

... - - - - - ....

.. ---~..-

- - - - ...

- - _.. -

.

o

99- 100
97- 98
95- 96
93- 94
91- 92
89- . 9'0 .....

F

R
E
Q
U

_____.__ . . __.. __ . .f.
N
.J~

Y

8785838179-

88
86
84
82
80

'71~'

78

75737169676563615957-

76
74
72
70
68
66
64
62
60
58
56
54

.5~-

5351494745-

52
50
48
46

_.43- __ 4!t_
41-

J93735333129=272523211917'15131197-

'S:"

3-

-0---

.-------_.- -_
..

DATE 04/16/64
COMBINED SEQU~NCES 41XX
COMPUTER LABORATORY

1-

42
40
38
36
34
32
30--28
26
24
22
20
18
16
14
12
10
8
6
4
2

.'--

"'-'

-- ...

-.-- ... -.

--

"---'---'''--''''-'--'-''-

•.

.....

...... _.

- .. -

---"'-'

--

_.. -

.•..

_

...

..

-._--

-..-- •..... '-'- ...
.,

__ _---..

_-_._------------

--"-- ----_.._..-... --.-.--------~

*
**
**
***

*
****'-'--'" .- .-.-.-..-.------.----..- - -----I
. . ._-***** *"*
*******
..-.. ----....
-.-.-.--..-.- . . -----. .-----.- - - - - - - - - - - - - - - - - - 1
* *******
******* . ---.---..- - - - - - - - - - - - - - - - - t
.._***-*******-----.
*********
.........................
*********
********* *
********* *
.. --- ..-.. -...- -.. - . - - - - - - - - - - - - - - - - - - 1
***********
***********
...
. -.. ._._ . -.-. -.- . . . . _... -_. .__.-. . _.._-_._.__..... _-------1
* -.***********
* ************
.. . -~-~~~~~~*~.~~** - - - . - - - - - - . - - - - - - - - - - - - - - - 1
**************
.-.-.-.---.--.-.--.----.--..
--..- -*
- -.... - -_._-_._------------,--11
**************
************** *
..---.. .----..-...**************
".....__ . _----_..._---_ . . __ ._------------_._--------11
*
************** *
..**************
"-.- .... ---- ---'-' _. _-.---_.. _..._. __
*.._ - - - - - - - - - - - - - - - - - - - - 1
************** * *
__ _._._----....
************** *** ._-------_. __
**************** ***
********************
. :ii********-*·***-*-:--,-*~*-,..*-.,.*....,*-*,.--------------..
**********************
_._------_._---------------_._-------11
**********************
**********************
-- _ . _ - - - - - - - - - - - - - .
***********************
************************
'*'* **'* *~*'*.*~*~*'*~** *-*"*.** -*'*'**~ --- .-.._' .--..~--.----- .
************************
**************************
************************** __._--_._._-_. __._------...
**************************
***************************
******'****-**-***'*********-*--*-*-*-*-*--------------****************************** *- - - - - - - - - . _ - ***********************************
-

'

-

.

.-.--.- ..-.

.-.

"'--'

-...

---_._---_.

.-

.....-.-.. - ..

.

----..

---_.

_.--"

.._. . . . -. . . .

_._-_ . .

-"- ....

-'

-------

...

1 ------._----_.- ..
_._---_._. __. _ - - - 000001111122222333334444455555666667777788888999990
o2 ~~ 8q? 4680 2 4~{L9 ?~.~!!.O 2!+6 El.Q_f_~l?"8 9_? ~Q 8 0 2.46 89 24680 24680 _.___~_ _..
-..

SCORE

288

-. - --._._----- _.'

.

- ._._---_..

_--

..

()

SUGGESTIONS FOR SPeAKERS

o

1.

BE WELL PREPARED - Your entire paper should h~ve been completed
well in advance of the meeting. This will allow sufficient time
for having the manuscript completely typed to be turned in to the
Program Qlairman at the meeting. In addition, all supporting materials such as slides mld transparencies should be prepared
and checked before your presentation. Examples, if used, should
be chosen to best illustrate the points which you wish to make.

2.

BE AS CONCISE AS POSSIBLE - Your purpose in presenting the talk
is to convey information to your listeners. Anything extra is
probably unnecessary. Your criterion should be"'h~ther or not
the added material will cOlltribute to this transfer of infonnation.
In particular, long stories involving personal experiences and
long jokes should be kept for bull sessions.

3. SPEAK CLEARLY AND DISTINCTLY - In order to be understood, you must
be heard! To be heard, you must face the audience and speak
directly to them. Good eye contact is necessary. Your presentation
should be at a rate slow enough to be clearly understood, and
with sufficient volume to be heard throughout the room. If a
microphone is available, use it and speak directly into the mike.
Try to keep the distance between you and the ~ike constrult.
Varying this distance will cause a variation in the volume as heard
by the listener.
4. USE THE BLACKBOARV AS LITTLE AS POSSIBLE - The blackboard is
generally unsatisfactory for conveying information to the listener.
If the blackboard is used at all, several pitfalls should be
avoided. The speaker should take care not to talk while facing
the blackboard. He should also take care to ,Source Exif Data: File Type                       : PDF
File Type Extension             : pdf
MIME Type                       : application/pdf
Linearized                      : No
XMP Toolkit                     : Adobe XMP Core 4.2.1-c043 52.372728, 2009/01/18-15:56:37
Create Date                     : 2014:03:09 11:06:46-08:00
Modify Date                     : 2014:03:09 12:03:19-08:00
Producer                        : Adobe Acrobat 9.55 Paper Capture Plug-in
Format                          : application/pdf
Document ID                     : uuid:4f86fb25-8ae6-d348-8579-eaf75d2ed92b
Instance ID                     : uuid:5413367e-9348-ec40-a50a-ea1544cccfe6
Page Layout                     : SinglePage
Page Mode                       : UseNone
Page Count                      : 320