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
Download | |
Open PDF In Browser | View PDF |
PROCEEDINGS OF THE MEETING OF THE EASTERN REGION OF THE 1620 USERS GROUP The Carillon Hotel Miami. Florida May 9. 10. 11. 1965 • • TABLE OF CONTENTS 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· ..• • TABLE OF CONTENTS, contd. 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 (Advanced) •••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••• 108 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 3-Dimensional COGO, J. W. Madden (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 • • TABLE OF CONTENTS, eontd. 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 ( 1/2 hr. Adv. ) 5:30 p.m. & CIVIL ENGINEERIUG PGH TEAM T. J. Scott, Chairman (2) STRUCTURAL Paper "Gimmik-free Adjustment of Survey Traverse" R. L. Kenngott (20-30 min. Inter.) Paper "3-Dimensional COGO" J. H. Madden (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 (Adv.) ,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. (Adv. - Inter.) :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 (Adv. ) 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. ANSWER TO SOUND OFF Carillon Room viii c Im,ts. M , 1_ it timnddrsszrtt 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 address of the first program is specified at load time 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 which had been previously run. 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. "LOAD DATAII PROGRAM The "Load Data" program is loaded into core, followed by the data and source programs. The ADD tables must be in core. During loading, 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. "LOAD PHOGRAM" PROGRAM This program is used to load onto the disk those programs-which are to be executed. ATter loading, the program types the message PROGRM4 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 . into core, together with its subprograms m,1d subroutines. After loading, 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 to be read into core between each loading tor a fresh start. "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 a branch to 59000 occurs. After loading the program, it reads through 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 Load Data 1. Load add tables if core has been cleared to zero. 2. Load "Load Data" Program. 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. Load Programs 1. Clear core with a 310000300002 command. 2. Load add tables. 3. Store this clear core on the disk with the "Lo~d (j on Disk" routine • .4. Load ttLoad Programs" routine. 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. Load "Compile" Program. 1. Load add tables if core has been cleared to zero. 2_ Load Execution "Execu~;lontt routine. 7 Dump Disk -..,.....- 1. Load "Dump Disk" routine. 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 advanced progr~mmers. 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 FLAD FXAD 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: Hon.q,ld C. head 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 radio receiver, gives a noise In th~ au~itlp ranceo 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 (IE) added to NCO. 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 Add all ACOE to NCO. o (Material and Operating Supplies/Turnover Rate) times carrying cost, added to NCO. 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 and add to NCO. 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 BROAD APPLICATION 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 1622 CARD READ PUNCH 1620 FEATURES AUTO DIVIDE ADDITIONAL INSTRUCTIONS READ PUNCH ADAPTER INDIRECT ADDRESSING 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 Outlays which chronologically follow FlowhacksintheCash Flow,. FLOWBACKS (FB) Differential receipt of cash because of implement.iI19proie,ct (8) instead of project (A). 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; (B) instead ,of proie;ct (A). RECYCLE DEPRECIATION A double depreciation method used ,by some finns Jnthe"re,ntal business. 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 system by loading another program not handled under the system. 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 in running the system, the system sense switch options, loading 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 correct answers derived. 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 following legend: Reprinted from Electronics, November 2, 1964; copyright 1964 McGraw-Hill, Inc. 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, Headera, etc. 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, or transient analyses and obtain more information in a few minutes 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, Headers, etc. Requirement Mad O. . ion AUTOMATIC MASK 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. Emitter Mask 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 answers. 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 BorrAD 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 Type of loading used 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) MADE BY . DATE _ _ __ CHECKED BY DATE _ _ __ BACK CHECKED DATE _ _ __ SQUAD NO. 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 LOADING 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 BOTAD 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 HS2Q-63T or military loading. whichever is erea1er • .. 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 ASi UTc'} 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 Nationa1 Aeronautics and Space Administration 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 at our Cleveland headquarters. 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 are loaded. by the card reader wi 11 cause. loading in the working cyl inders; 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 which Wald had put forward. 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 derive more information from the x and y observations even 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 Nallur Prasad 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 Input Load 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 "*Yea.ured betweeD OVDC aad -6VDC P1gure 2 - Three iD'DU' IWJD/BOB 219 Unitl KC .... sec .... sec .... "ec .... Iec volt. volt .. load unite .... sec .... sec .... sec ..... ec volte volta volt. fleec fl·ec load unit. 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 0-413 is used to increase the loading capabilities can drive up to ZS NAND/NOR inputs. ot the NAND/NOR Wlita. 0-413 ELECTRICAL SPECIFICATIONS Input: Frequency True Level False Level Input Load Min. Max. 0 0 -6.0 Z5.0 -0.5 -IZ.0 I Units KC volts volts load units Output: Drive Capability DC Levels Rise and Fall time load units 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 about a 7 kcps rate. 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±' PPAD 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 ---------------..--_.. _------ PPAD 523 C 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 PPAD 523 c 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 ' · , , ~ ___ .,_•. ______ " " . _ . _ ~ . __ ~ . _ . ~ _ __ ., •••. ----- --~.~-- .. --- "-" ..-.--.. --~,---.- .. ~~. WAD 523 c .<~ 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 . .., = _. PPAD 523 c 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 . PPAD 523 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- PPAD 523 c 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 255 3055 1 101 • r. f\!OTHI R ERROP X F(X) . 7.8539816(-01 ().C00.00~CE-9q 6. o 5783QQE-nl 1.72"3253E-02 6.7384233F-n1 4.3164~76E-02 156 256 356 PPAD523 d Rev. 2/65 ;Rev. 4765 5.6869125E-O~ 5.2729599E-C~ 6.1269942[-02 6.8024589E-02 456 556 4.q748714E-~1 ·6.38412~5E-02 4.7""61872F-Ol 4.9813959F.-02 4.6657470E-01 2.6712890E-02 756 856 956 1056 1156 1256 1356 1456 1556 1656 1756 1856 1956 2056 2156 2256 2356 2456 2556 2656 2756 2856 2956 3056 4~6373290E-01-5.2156232E-03 4.6893333E-01-4.6118163E-02 4.B2463B3~-01-9.613378~E-02 :;.0510184F:-~1-1.t;4504f18E-('Jl 5~3810003E-Ol-2.17S7276E-Cl 5.8326687f-01-2.7421677f-01 6.42Qn585F-Ol-?.9535508E-Ol 7.1958391F-01-2.n Q 8770oE-01 7.51C4642E-Cl 1.1281171E-O] 6.7258438[-01 3.293435 Q E-Ol ~.0616860.F-Cl 3.8915125E-01 ~.55:8613E-Ol 1.7185877E-Ol 5.1747657r-Ol 3.1632622E-01 4.907167?r:-Cl 2.4094434E-01 4.7J51797F-01 1.537o2~RE-Ol 4.64~126rE~01 5.772A242E-~2 4.6441587F-~1-4.6950622F-02 4.7'90q8CE-~1-1.6nR5775r-O] 4.QS0915AE-nl-Z.83Q4344[-rl 5 •• 3597~4[-~1-4.13nl]08F-01 5.47~384Rr-nl-5.36664q7E-Cl . 5. 9 <) C7 I... 7 r. t -I') (-~"\ 656~ 1 - 6 • 2 42 166 5 E - (') 1 10 3:0 .8 AN~ A.NOTHfR ONE X F(X) 0.~0°~~0rF-99 3.nnr0n~0F+02 ~.0n~nan0E-qq 1.n0n~nnrr+c~ 117 113 10 40 10. THIS ~AKES 3 IN A ROW X F ( X) C.U~0~00CE-9q 1.0nnonn~E+OO 1.9866932E-O~ Q.8006657E-Ol 9.2106099E-Ol 8.2533561E-Ol 6.9670671E-Ol 5.4030230E-Ol 3.6235775E-Ol 1.6996714F-Ol 3.8941834E-01 ~.6~64247F-Ol 7.1735609E-nl 8.4147C98E-Ol 9.3203Qr8E- n l 9.8544973[-01 ~.q957360E-OI-2.9199520E-02 9.7384763E-bl-2.27202C9E-Ol 9.0929742E-nl-4.1614683E-Ol 8.nS49640E- n l-S.8850111E-Ol 6.7546318E-~1-7.3739371E-Ol 5.15S0137E-01-8.5688875f-Ol 3.3498815E-Cl-9.4222234E-Ol ~.4112nOlE-al-q.899924qE-Ol -~.e3;4140E-C2-~.9829477E-Ol -2.55S4110E-~1-q.6679819E-Ol -4.4252r44E-01-8.9675841E-Ol -6.1:8~789E-Ol-7.9.096771E-Ol -7.56C0249E-OI-6.5364362E-Ol 122 222 322 422 522 622 722 822 ·922 1022 1122 1222 1322 -', 1422 {;/ 1522 ,1622 1722 1822 1922 2022 2.1?2 f .' ~ , PPAD 523 c Rev. 2/65 Rev. 4/65 o 2222 2322 2422 25'22 2622 2722 2822 20.22 3022 -8.71~7577=-01-4.9026082E-Cl -0.~16n2n7E-Ol-3.0733287F-Ol -9.9369100E-Ol-l.1215252E-Ol -0.0616460E-O] P,.7498980E-02 -9.5892427F.-01 2.8366218E-Cl -8.8345465E-01 4.6851667E-01 -~.7276448E-Ol 6.3469287f-O] -~.?126663F-nl 7.7556SA7~-O] -4.646r.217F-01 8.8551951~-n] 11 -1 7. r r.> 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 PPAD 523 c 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 !~ PPAD 523 c Rev. 2/65 Rev. 4/65 o *:J:JOB *:J:DUP *DELETDFIPS END OF JOB **JOB **SPS *ASSEMBLE RELOCATABLE *STORE RELOADABLE *NAME OFIPS END OF ASSEMBLY. 08460 CORE POSITIONS REQUIRED PLUS RELOCATION INCREMENT 00784 STATEMENTS PROCESSED OK LOADED DFIPS 0171 105200T129999900000* :f;:j:FORX MAIN T4000" 04~60 LOADED DFIPS T8060 ~8458 LOADED 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 PPAD 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 PPAD 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"-' WAD:' 523~ C Rev-. 2/flj Rev.· 4165, EXTRA - LABEL UP H:ERE C) j I I· _~~~r-~---:--- ~....i ! ---_,...---- _. -r· -299.5 . aDO. 0 x DRAWING NO~ 3 254 ..... or lOC.S PPAD .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 Madison, 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, c) sponsoring an advertised institute for outsiders, frequently with fees charged 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. Adjournriienf1s"I1"fiite le"fo""nave 5 assistants and 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 not have to worry about ~derstaidf.ng··the"tlieory but can instead concentrate 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:25 Questions and Answers 8:25 Questions and Answers 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 4:30 Adjourn 4:30 Adjourn 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 non-salary expenditures for administration, admission, registrar, faculty, 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 P. C. INCR., ADM. ~ 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 ~ ADM I NI STRAT ION 62000.00 77629.40 ADMISSION 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 ADM.SAL.GR.ALLOW • . 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 Miami-Dade Junior College 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 a business and scientific option two-year occupational program. Administrative 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. Miami-Dade Junior College's test scoring system had been designed t.O 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 MIAMI-DADE JUNIOR COLL.EGE 11.380 N.W. 27th AVENUE • MIAMI, FLORIDA 33161 • PHONE 688-3541 ORGANJZATIONAL CHART PRESIDENT SYSTEMS 8& PROCEDURES ADVISORY COMMITTEE . ----- INSTRUCTION PRODUCTION STAFF OPERATORS & KEY PUNCH PERSONNEL COMPUTER CENTER COMPLEX ****************** INSTRUCTION RESEARCH HUMANITIES NATURAL SCI ENCE SOCIAL 'SCI ENCE TECHNICAL BUSINESS SPECIAL PROJECTS COMMUNITY SERVICES TESTING ADMINISTRATIVE 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. An additional advantage of the system is accuracy. Once correctly typed, 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 with the student's grade. 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. INSTRUCTOR HEADER CARD MONTH MIAMI-DADE JUNIOR COLLEGE 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 STUDENT ANSWER CARD (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::> SruDENT ANSWER CARD 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 PUNCH ANSWERS 26 -50 1 1 1 t 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ill 1 1 1 MIAMI-DADE JUNIOR COLLEGE 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:::> PUt~CH ANSWERS 1-25 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, ataDdard.deviatiOD, total uu.ber of queatioaa aDd t~at8·graded. Distribution baa both frequency aDd 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 from the 1311 disk drives or by reloading from cards 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 MIAMf-DADE JUNIOR COLLEGE 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 MIAMI-DADE JUNIOR COLLEGE 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 PDF Version : 1.3 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 Metadata 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 : 320EXIF Metadata provided by EXIF.tools