.I 1 .T Preliminary Report-International Algebraic Language .B CACM December, 1958 .A Perlis, A. J. Samelson,K. .N CA581203 JB March 22, 1978 8:28 PM .X 100 5 1 123 5 1 164 5 1 1 5 1 1 5 1 1 5 1 205 5 1 210 5 1 214 5 1 1982 5 1 398 5 1 642 5 1 669 5 1 1 6 1 1 6 1 1 6 1 1 6 1 1 6 1 1 6 1 1 6 1 1 6 1 1 6 1 1 6 1 165 6 1 196 6 1 196 6 1 1273 6 1 1883 6 1 324 6 1 43 6 1 53 6 1 91 6 1 410 6 1 3184 6 1 .I 2 .T Extraction of Roots by Repeated Subtractions for Digital Computers .B CACM December, 1958 .A Sugai, I. .N CA581202 JB March 22, 1978 8:29 PM .X 2 5 2 2 5 2 2 5 2 .I 3 .T Techniques Department on Matrix Program Schemes .B CACM December, 1958 .A Friedman, M. D. .N CA581201 JB March 22, 1978 8:30 PM .X 3 5 3 3 5 3 3 5 3 .I 4 .T Glossary of Computer Engineering and Programming Terminology .B CACM November, 1958 .N CA581103 JB March 22, 1978 8:32 PM .X 4 5 4 4 5 4 4 5 4 .I 5 .T Two Square-Root Approximations .B CACM November, 1958 .A Wadey, W. G. .N CA581102 JB March 22, 1978 8:33 PM .X 5 5 5 5 5 5 5 5 5 .I 6 .T The Use of Computers in Inspection Procedures .B CACM November, 1958 .A Muller, M. E. .N CA581101 JB March 22, 1978 8:33 PM .X 6 5 6 6 5 6 6 5 6 477 5 6 6 6 6 .I 7 .T Glossary of Computer Engineering and Programming Terminology .B CACM October, 1958 .N CA581003 JB March 22, 1978 8:35 PM .X 7 5 7 7 5 7 7 5 7 .I 8 .T On The Equivalence and Transformation of Program Schemes .B CACM October, 1958 .A Friedman, M. D. .N CA581002 JB March 22, 1978 8:36 PM .X 8 5 8 8 5 8 8 5 8 .I 9 .T Proposal for an UNCOL .B CACM October, 1958 .A Conway, M. E. .N CA581001 JB March 22, 1978 8:37 PM .X 9 5 9 9 5 9 9 5 9 .I 10 .T Glossary of Computer Engineering and Programming Terminology .B CACM September, 1958 .N CA580903 JB March 22, 1978 8:39 PM .X 10 5 10 10 5 10 10 5 10 .I 11 .T The Problem of Programming Communication with Changing Machines A Proposed Solution-Part 2 .B CACM September, 1958 .A Strong, J. Wegstein, J. Tritter, A. Olsztyn, J. Mock, O. Steel, T. .N CA580902 JB March 22, 1978 8:41 PM .X 1781 5 11 1988 5 11 11 5 11 11 5 11 11 5 11 123 6 11 196 6 11 919 6 11 990 6 11 1007 6 11 1046 6 11 1131 6 11 1139 6 11 1140 6 11 1149 6 11 1198 6 11 1215 6 11 1223 6 11 1265 6 11 1303 6 11 1323 6 11 1358 6 11 1366 6 11 1421 6 11 1460 6 11 1462 6 11 1463 6 11 1467 6 11 1468 6 11 1477 6 11 1491 6 11 1496 6 11 1496 6 11 1531 6 11 1535 6 11 1565 6 11 1601 6 11 1602 6 11 1613 6 11 1614 6 11 1626 6 11 1641 6 11 1787 6 11 1788 6 11 205 6 11 224 6 11 249 6 11 288 6 11 316 6 11 381 6 11 381 6 11 398 6 11 11 6 11 11 6 11 14 6 11 404 6 11 410 6 11 463 6 11 464 6 11 483 6 11 3184 6 11 3188 6 11 584 6 11 600 6 11 680 6 11 691 6 11 763 6 11 799 6 11 .I 12 .T Error Estimation in Runge-Kutta Procedures .B CACM September, 1958 .A Call, D. H. Reeves, R. F. .N CA580901 JB March 22, 1978 8:56 PM .X 12 5 12 12 5 12 12 5 12 .I 13 .T Glossary of Computer Engineering and Programming Terminology .B CACM August, 1958 .N CA580805 JB March 22, 1978 8:57 PM .X 13 5 13 13 5 13 13 5 13 .I 14 .T The Problem of Programming Communication with Changing Machines A Proposed Solution (Part 1) .B CACM August, 1958 .A Strong, J. Wegstein, J. Tritter, A. Olsztyn, J. Mock, O. Steel, T. .N CA580804 JB March 22, 1978 9:02 PM .X 1159 5 14 1988 5 14 381 5 14 14 5 14 14 5 14 14 5 14 1496 6 14 381 6 14 11 6 14 14 6 14 14 6 14 14 6 14 .I 15 .T Recursive Curve Fitting Technique .B CACM August, 1958 .A Giblin, J. .N CA580803 JB March 22, 1978 9:02 PM .X 15 5 15 15 5 15 15 5 15 75 5 15 15 6 15 94 6 15 .I 16 .T Secant Modification of Newton's Method .B CACM August, 1958 .A Jeeves, T. A. .N CA580802 JB March 22, 1978 9:03 PM .X 16 5 16 16 5 16 16 5 16 39 5 16 16 6 16 .I 17 .T On Programming of Arithmetic Operations .B CACM August, 1958 .A Ershov, A. P. .N CA580801 JB March 22, 1978 9:04 PM .X 1134 5 17 17 5 17 17 5 17 17 5 17 83 5 17 17 6 17 17 6 17 77 6 17 408 6 17 .I 18 .T Simple Automatic Coding Systems .B CACM July, 1958 .A Adams, E. S. Schlesinger, S. I. .N CA580701 JB March 22, 1978 9:06 PM .X 18 5 18 18 5 18 18 5 18 .I 19 .T Glossary of Computer Engineering and Programming Terminology .B CACM June, 1958 .N CA580603 JB March 22, 1978 9:07 PM .X 19 5 19 19 5 19 19 5 19 .I 20 .T Accelerating Convergence of Iterative Processes .W A technique is discussed which, when applied to an iterative procedure for the solution of an equation, accelerates the rate of convergence if the iteration converges and induces convergence if the iteration diverges. An illustrative example is given. .B CACM June, 1958 .A Wegstein, J. H. .N CA580602 JB March 22, 1978 9:09 PM .X 20 5 20 20 5 20 20 5 20 .I 21 .T Algebraic Formulation of Flow Diagrams .B CACM June, 1958 .A Voorhees, E. A. .N CA580601 JB March 22, 1978 9:10 PM .X 21 5 21 21 5 21 21 5 21 679 5 21 21 6 21 407 6 21 3184 6 21 .I 22 .T Unusual Applications Department--Automatic Implementation of Computer Logic .B CACM May, 1958 .A Morris, E. F. Wohr, T. E. .N CA580506 JB March 22, 1978 9:11 PM .X 22 5 22 22 5 22 22 5 22 .I 23 .T Binary and Truth-Function Operations on a Decimal Computer with an Extract Command .B CACM May, 1958 .A Kautz, W. H. .N CA580505 JB March 22, 1978 9:12 PM .X 23 5 23 23 5 23 23 5 23 .I 24 .T An Improved Decimal Redundancy Check .B CACM May, 1958 .A Sisson, R. L. .N CA580504 JB March 22, 1978 9:13 PM .X 24 5 24 24 5 24 24 5 24 .I 25 .T General Purpose Programming Systems .B CACM May, 1958 .A Holt, A. W. .N CA580503 JB March 22, 1978 9:14 PM .X 25 5 25 25 5 25 25 5 25 .I 26 .T A Subroutine Method for Calculating Logarithms .B CACM May, 1958 .A Bemer, R. W. .N CA580502 JB March 22, 1978 9:16 PM .X 26 5 26 26 5 26 26 5 26 848 5 26 26 6 26 35 6 26 .I 27 .T Note On Empirical Bounds For Generating Bessel Functions .B CACM May, 1958 .A Randels, J. B. Reeves, R. F. .N CA580501 JB March 22, 1978 9:17 PM .X 27 5 27 27 5 27 27 5 27 .I 28 .T Request for Methods or Programs .B CACM April, 1958 .A Corley, H. P. T. .N CA580402 JB March 22, 1978 9:18 PM .X 28 5 28 28 5 28 28 5 28 .I 29 .T Need for an Algorithm .B CACM April, 1958 .A Selden, W. .N CA580401 JB March 22, 1978 9:19 PM .X 29 5 29 29 5 29 29 5 29 .I 30 .T Algorithm for Analyzing Logical Statements to Produce a Truth Function Table .B CACM March, 1958 .A Wolpe, H. .N CA580302 JB March 22, 1978 9:20 PM .X 30 5 30 30 5 30 30 5 30 .I 31 .T IBM 704 Code-Nundrums .B CACM March, 1958 .A Grumette, M. .N CA580301 JB March 22, 1978 9:21 PM .X 31 5 31 31 5 31 31 5 31 .I 32 .T Variable-Width Tables with Binary-Search Facility .B CACM February, 1958 .A Halpern, M. .N CA580201 JB March 22, 1978 9:22 PM .X 32 5 32 32 5 32 32 5 32 .I 33 .T A Programmed Binary Counter For The IBM Type 650 Calculator .B CACM January, 1958 .A Kenny, B. C. Hunter, J. A. .N CA580103 JB March 22, 1978 9:25 PM .X 33 5 33 33 5 33 33 5 33 .I 34 .T Tables for Automatic Computation .B CACM January, 1958 .A Wilf, H. S. .N CA580102 JB March 22, 1978 9:26 PM .X 34 5 34 34 5 34 34 5 34 .I 35 .T A Machine Method for Square-Root Computation .B CACM January, 1958 .A Bemer, R. W. .N CA580101 JB March 22, 1978 9:27 PM .X 35 5 35 35 5 35 35 5 35 848 5 35 26 6 35 35 6 35 .I 36 .T A Queue Network Simulator for the IBM 650 and Burroughs 220 .B CACM December, 1959 .A Conway, R. W. Johnson, B. M. Maxwell, W. L. .N CA591206 JB March 22, 1978 3:35 PM .X 36 5 36 36 5 36 36 5 36 .I 37 .T Impact of Computer Developments .B CACM December, 1959 .A Humphrey, S. M. .N CA591205 JB March 22, 1978 3:36 PM .X 37 5 37 37 5 37 37 5 37 .I 38 .T A Proposed Interpretation in ALGOL .B CACM December, 1959 .A Irons, E. T. Acton, F. S. .N CA591204 JB March 22, 1978 3:37 PM .X 38 5 38 38 5 38 38 5 38 .I 39 .T The Secant Method for Simultaneous Nonlinear Equations .W A procedure for the simultaneous solution of a system of not-necessarily-linear equations, a generalization of the secant method for a single function of one variable, is given. .B CACM December, 1959 .A Wolfe, P. .N CA591203 JB March 22, 1978 3:39 PM .X 39 4 39 16 5 39 39 5 39 39 5 39 39 5 39 .I 40 .T Fingers or Fists? (The Choice of Decimal or Binary Representation) .W The binary number system offers many advantages over a decimal representation for a high-performance, general-purpose computer. The greater simplicity of a binary arithmetic unit and the greater compactness of binary numbers both contribute directly to arithmetic speed. Less obvious and perhaps more important is the way binary addressing and instruction formats can increase the overall performance. Binary addresses are also essential to certain powerful operations which are not practical with decimal instruction formats. On the other hand, decimal numbers are essential for communicating between man and the computer. In applications requiring the processing of a large volume of inherently decimal input and output data, the time for decimal-binary conversion needed by a purely binary computer may be significant. A slower decimal adder may take less time than a fast binary adder doing an addition and two conversions. A careful review of the significance of decimal and binary addressing and both binary and decimal data arithmetic, supplemented by efficient conversion instructions. .B CACM December, 1959 .A Buchholz, W. .N CA591202 JB March 22, 1978 3:47 PM .X 40 5 40 40 5 40 40 5 40 .I 41 .T Some Notes on Computer Research in Eastern Europe .B CACM December, 1959 .A Nadler, M. .N CA591201 JB March 22, 1978 3:48 PM .X 41 4 41 41 5 41 41 5 41 41 5 41 67 5 41 .I 42 .T A New Method of Computation of Square Roots Without Using Division .B CACM November, 1959 .A Sarafyan, D. .N CA591106 JB March 22, 1978 3:50 PM .X 42 5 42 42 5 42 42 5 42 .I 43 .T A Technique for Handling Macro Instructions .B CACM November, 1959 .A Greenwald, I. D. .N CA591105 JB March 22, 1978 3:51 PM .X 205 5 43 43 5 43 43 5 43 43 5 43 1 6 43 43 6 43 .I 44 .T RUNCIBLE-Algebraic Translation on a Limited Computer .B CACM November, 1959 .A Knuth, D. E. .N CA591104 JB March 22, 1978 3:52 PM .X 1134 4 44 1141 4 44 364 4 44 405 4 44 438 4 44 561 4 44 44 4 44 222 5 44 364 5 44 44 5 44 44 5 44 44 5 44 77 5 44 100 6 44 224 6 44 44 6 44 44 6 44 77 6 44 82 6 44 98 6 44 .I 45 .T Flow Outlining-A Substitute for Flow Charting .B CACM November, 1959 .A Gant, W. T. .N CA591103 JB March 22, 1978 3:53 PM .X 45 5 45 45 5 45 45 5 45 728 5 45 920 6 45 45 6 45 .I 46 .T Multiprogramming STRETCH: Feasibility Considerations .W The tendency towards increased parallelism in computers is noted. Exploitation of this parallelism presents a number of new problems in machine design and in programming systems. Minimum requirements for successful concurrent execution of several independent problem programs are discussed. These requirements are met in the STRETCH system by a carefully balanced combination of built-in and programmed logic. Techniques are described which place the burden of the programmed logic on system programs (supervisory program and compiler) rather than on problem programs. .B CACM November, 1959 .A Codd, E. F. Lowry, E. S. McDonough, E. Scalzi, C. A. .N CA591102 JB March 22, 1978 3:57 PM .X 168 5 46 491 5 46 46 5 46 46 5 46 46 5 46 168 6 46 185 6 46 196 6 46 46 6 46 46 6 46 .I 47 .T Russian Visit to U.S. Computers .B CACM November, 1959 .A Zaitzeff, E. M. Astrahan, M. M. .N CA591101 JB March 22, 1978 3:59 PM .X 47 5 47 47 5 47 47 5 47 .I 48 .T Shift-Register Code for Indexing Applications .W In this communication the use of a shift-register code with n = 10 is described for calling 64 wireless telemetering stations in a fixed cyclical order. A high degree of redundancy is used, permitting a single-error correcting code ("minimum-distance-three" code) with 64 10-bit code words to be employed as the station identification code. Embedding this in the shift-register code with period 1023 permits the code to be employed without punctuation, each of the telemetering station receivers simply putting received ones and zeros into a shift register. Each time the given code combination arises identifying the particular station (barring for tuitous error combinations of very low probability) it has been called. The communication describes the properties and application of the code in some detail and the finding of the particular example to be employed on URAL, the Soviet-built drum computer donated to the Indian Statistical Institute by the United Nations Technical Aid Administration (UNTAA). .B CACM October, 1959 .A Nadler, M. Sengupta, A. .N CA591011 JB March 22, 1978 4:07 PM .X 48 5 48 48 5 48 48 5 48 .I 49 .T Scientific and Business Applications (Oracle Curve Plotter) .B CACM October, 1959 .A Fike, C. T. .N CA591010 JB March 22, 1978 4:08 PM .X 49 5 49 49 5 49 49 5 49 .I 50 .T Statistical Programs for the IBM 650-Part II .B CACM October, 1959 .A Hamblen, J. W. .N CA591009 JB March 22, 1978 4:09 PM .X 50 5 50 50 5 50 50 5 50 .I 51 .T On the Construction of Micro-Flowcharts .B CACM October, 1959 .A Gorn, S. Ingerman, P. Z. Crozier, J. B. .N CA591008 JB March 22, 1978 4:10 PM .X 249 5 51 51 5 51 51 5 51 51 5 51 196 6 51 303 6 51 51 6 51 .I 52 .T An Efficient Method for Generating Uniformly Distributed Points on the Surface on an n-Dimensional Sphere (Corrigendum) .B CACM October, 1959 .A Cook, J. M. .N CA591007 JB March 22, 1978 4:12 PM .X 52 5 52 52 5 52 52 5 52 .I 53 .T Recommendations of the SHARE ALGOL Committee .B CACM October, 1959 .N CA591006 JB March 22, 1978 4:13 PM .X 214 5 53 53 5 53 53 5 53 53 5 53 1 6 53 53 6 53 91 6 53 .I 54 .T SALE, a Simple Algebraic Language for Engineers .B CACM October, 1959 .A Brittenham, W. R. Clark, K. Kuss, G. Thompson, H. Smith, A. O. .N CA591005 JB March 22, 1978 4:14 PM .X 405 4 54 54 4 54 54 5 54 54 5 54 54 5 54 93 5 54 .I 55 .T An Algebraic Translator .B CACM October, 1959 .A Kaner, H. .N CA591004 JB March 22, 1978 4:15 PM .X 405 5 55 55 5 55 55 5 55 55 5 55 224 6 55 55 6 55 77 6 55 93 6 55 .I 56 .T Proposed Standard Flow Chart Symbols .B CACM October, 1959 .N CA591003 JB March 22, 1978 4:16 PM .X 56 5 56 56 5 56 56 5 56 .I 57 .T J.E.I.D.A. and Its Computer Center .B CACM October, 1959 .N CA591002 JB March 22, 1978 4:17 PM .X 57 5 57 57 5 57 57 5 57 .I 58 .T LEM-1, Small Size General Purpose Digital Computer Using Magnetic (Ferrite) Elements .W The paper examines some of the questions of development and construction of a general purpose digital computer using contactless magnetic (ferrite) and capacitive "DEZU" (long duration capacitive memory) elements, developed at the Laboratory of Electrical Modeling VINITYI AN SSSR, under the supervision of Professor L.I. Gutenmacher. .B CACM October, 1959 .A Machmudov, U. A. .N CA591001 JB March 22, 1978 4:21 PM .X 215 5 58 58 5 58 58 5 58 58 5 58 58 6 58 .I 59 .T Survey of Progress and Trend of Development and Use of Automatic Data Processing in Business and Management control Systems of the Federal Government, as of December 1957-III .B CACM September, 1959 .N CA590910 JB March 22, 1978 4:41 PM .X 59 5 59 59 5 59 59 5 59 .I 60 .T The Alpha Vector Transformation of a System of Linear Constraints .B CACM September, 1959 .A Wersan, S. J. .N CA590909 JB March 22, 1978 4:42 PM .X 60 5 60 60 5 60 60 5 60 .I 61 .T IBM 709 Tape Matrix Compiler .B CACM September, 1959 .A Hornick, S. D. .N CA590908JB March 22, 1978 4:43 PM .X 61 5 61 61 5 61 61 5 61 .I 62 .T Multi-Dimensional Least-Squares Polynomial Curve Fitting .B CACM September, 1959 .A Lesh, F. H. .N CA590907 JB March 22, 1978 4:44 PM .X 62 5 62 62 5 62 62 5 62 .I 63 .T Octal Diagrams of Binary Conception and Their Applicability to Computer Design Logic .W This paper dates back the genesis of binary conception circa 5000 years ago, and octal diagrams about 4800 years ago, as derived by the Chinese ancients. It analyzes the applicability of binary trinities of the octal diagrams to modern electronic-digital-computer design logic. .B CACM September, 1959 .A Li, S. T. .N CA590906 JB March 22, 1978 4:47 PM .X 63 5 63 63 5 63 63 5 63 .I 64 .T Remarks on ALGOL and Symbol Manipulation .B CACM September, 1959 .A Green, J. .N CA590905 JB March 22, 1978 4:47 PM .X 206 5 64 207 5 64 64 5 64 64 5 64 64 5 64 64 6 64 64 6 64 .I 65 .T ALGOL Sub-Committee Report - Extensions .B CACM September, 1959 .A Dijkstra, E. W. Heise, W. Perlis, J. A. Samelson, K. .N CA590904 JB March 22, 1978 4:49 PM .X 65 5 65 65 5 65 65 5 65 .I 66 .T A Proposal for a Generalized Card Code for 256 Characters .B CACM September, 1959 .A Bemer, R. W. .N CA590903 JB March 22, 1978 4:50 PM .X 66 5 66 66 5 66 66 5 66 .I 67 .T Central-European Computers .B CACM September, 1959 .A Blachman, N. M. .N CA590902 JB March 22, 1978 4:52 PM .X 67 4 67 41 5 67 67 5 67 67 5 67 67 5 67 79 5 67 67 6 67 .I 68 .T The Role of the University in Computers, Data Processing and Related Fields .W A study was made of university programs in the United States in the fields of computers, data processing, operations research, and other closely related fields. University policies, organization, administration, faculties, students, researches, curricula, equipment, and financing were investigated. An integrated university program is recommended reflecting the conviction that many present activities related to computers will develop into disciplines and as such are the legitimate province of the university scholar. Details on a recommended Graduate School of "Computer Sciences" are given. .B CACM September, 1959 .A Fein, L. .N CA590901 JB March 22, 1978 6:05 PM .X 1205 5 68 68 5 68 68 5 68 68 5 68 1100 6 68 1104 6 68 1107 6 68 68 6 68 .I 69 .T Statistical Programs for the IBM 650-Part I .W A collection is given of brief descriptions of statistical programs now in use in university computing centers which have IBM 650's. .B CACM August, 1959 .A Hamblen, J. W. .N CA590804 JB March 22, 1978 6:07 PM .X 69 5 69 69 5 69 69 5 69 .I 70 .T Construction of a Set of Test Matrices .W This paper develops the equations and properties of a set of test matrices which are useful in the determination of the accuracy of routines for finding the inverse, determinant and/or eigenvalues of a matrix. .B CACM August, 1959 .A Aegerter, M. J. .N CA590803 JB March 22, 1978 6:09 PM .X 70 5 70 70 5 70 70 5 70 .I 71 .T Proposal for a Feasible Programming System .W This paper proposes designing a programming facility (itself involving a digital computer and a program) which will assist the preparation of large-scale real-time programs. This facility is to be capable of preparing programs for any of a variety of machines having characteristics similar to those of the facility's computer. One of the basic assumptions is that there will be enough random-access storage available to avoid the necessity for segmenting a constructed program in any fashion other than a trivial one. While this assumption is somewhat unrealistic, it is intended to provide an opportunity to concentrate on the other aspects of program construction. The programming system should stress the discovery in source program statements of as many errors as possible, before attempting to construct an object program. Among the computer characteristics which are advocated are a program interrupt scheme, a large set of characters, and indirect addressing. .B CACM August, 1959 .A Bagley, P. R. .N CA590802 JB March 22, 1978 6:16 PM .X 71 5 71 71 5 71 71 5 71 .I 72 .T An Educational Program in Computing .B CACM August, 1959 .A Hollingsworth, J. .N CA590801 JB March 22, 1978 6:18 PM .X 72 5 72 72 5 72 72 5 72 .I 73 .T A Real Time Data Assimilator .B CACM July, 1959 .A Gschwind, H. W. .N CA590705 JB March 22, 1978 6:19 PM .X 73 5 73 73 5 73 73 5 73 .I 74 .T A High-Speed Sorting Procedure .B CACM July, 1959 .A Shell, D. L. .N CA590704 JB March 22, 1978 6:20 PM .X 1919 5 74 74 5 74 74 5 74 74 5 74 852 5 74 864 5 74 865 5 74 864 6 74 1175 6 74 232 6 74 232 6 74 308 6 74 309 6 74 309 6 74 74 6 74 74 6 74 74 6 74 74 6 74 3187 6 74 .I 75 .T Parameter Estimation for Simple Nonlinear Models .B CACM July, 1959 .A Chow, W. M. .N CA590703 JB March 22, 1978 6:22 PM .X 75 4 75 75 4 75 15 5 75 75 5 75 75 5 75 75 5 75 94 5 75 .I 76 .T Binary Conversion, With Fixed Decimal Precision, Of a Decimal Fraction .B CACM July, 1959 .A Taranto, D. .N CA590702 JB March 22, 1978 6:23 PM .X 76 5 76 76 5 76 76 5 76 .I 77 .T On GAT and the Construction of Translators .B CACM July, 1959 .A Arden, B. Graham, R. .N CA590701 JB March 22, 1978 6:24 PM .X 1134 5 77 1141 5 77 364 5 77 405 5 77 438 5 77 44 5 77 77 5 77 77 5 77 77 5 77 561 5 77 100 6 77 224 6 77 224 6 77 224 6 77 224 6 77 249 6 77 303 6 77 393 6 77 17 6 77 44 6 77 55 6 77 77 6 77 77 6 77 77 6 77 77 6 77 77 6 77 77 6 77 77 6 77 93 6 77 98 6 77 408 6 77 .I 78 .T Remarks on the Practical Solution of Characteristic Value Problems .W This paper is concerned with the practical solution of characteristic value problem for an ordinary differential equation. It is at once apparent that sequential computers, be they digital or analog, solve initial value problems, rather than boundary value problems, and some mathematical process must be found to compensate for the machine's inadequacy. (Compensating for machine imperfection is, of course, the normal activity of the numerical analyst.) A number of other papers have applied particular devices to particular problems. The purpose of this note is to establish a mathematical framework or model for these practical procedures and thus assist in the use and extension of the ideas in other particular problems. .B CACM June, 1959 .A Wouk, A. .N CA590606 JB March 22, 1978 6:30 PM .X 78 5 78 78 5 78 78 5 78 .I 79 .T Programming for a Machine With an Extended Address Calculational Mechanism .B CACM June, 1959 .A Schecher, H. .N CA590605 JB March 22, 1978 6:31 PM .X 67 5 79 79 5 79 79 5 79 79 5 79 79 6 79 .I 80 .T A Technique for Computing Critical Rotational Speeds of Flexible Shafts on an Automatic Computer .B CACM June, 1959 .A Schwartz, B. L. .N CA590604 JB March 22, 1978 6:35 PM .X 80 5 80 80 5 80 80 5 80 .I 81 .T NORC High-Speed Printer .B CACM June, 1959 .A Gleissner, G. H. .N CA590603 JB March 22, 1978 6:36 PM .X 81 5 81 81 5 81 81 5 81 .I 82 .T Handling Identifiers as Internal Symbols in Language Processors .W Substitution of computer-oriented symbols for programmer-oriented symbols in language processors is examined and a feasible method for doing so is presented. .B CACM June, 1959 .A Williams, F. A. .N CA590602 JB March 22, 1978 6:38 PM .X 222 5 82 82 5 82 82 5 82 82 5 82 799 5 82 945 6 82 399 6 82 44 6 82 82 6 82 82 6 82 404 6 82 .I 83 .T A Visit to Computation Centers in the Soviet Union .B CACM June, 1959 .A Carr III, J. W. .N CA590601 JB March 22, 1978 6:39 PM .X 1134 4 83 83 4 83 1349 5 83 17 5 83 83 5 83 83 5 83 83 5 83 236 6 83 323 6 83 83 6 83 415 6 83 .I 84 .T Survey of Progress and Trend of Development and Use of Automatic Data Processing in Business and Management Control Systems of the Federal Government, as of December 1957-II (Part 2 see CA590406) .B CACM May, 1959 .N CA590502 JB March 22, 1978 6:42 PM .X 84 5 84 84 5 84 84 5 84 .I 85 .T Error Analysis in Floating Point Arithmetic .B CACM May, 1959 .A Carr III, J. W. .N CA590501 JB March 22, 1978 6:43 PM .X 1148 5 85 85 5 85 85 5 85 85 5 85 85 6 85 .I 86 .T Survey of Progress and Trend of Development and Use of Automatic Data Processing in Business and Management Control Systems of the Federal Government, as of December 1957 .B CACM April, 1959 .A Controller General of the United States to the Congress of the United States .N CA590406 JB March 22, 1978 6:48 PM .X 86 5 86 86 5 86 86 5 86 .I 87 .T A Note on a Method for Generating Points Uniformly on N-Dimensional Spheres .B CACM April, 1959 .A Muller, M. E. .N CA590405 JB March 22, 1978 7:04 PM .X 2333 4 87 87 4 87 2333 5 87 87 5 87 87 5 87 87 5 87 88 5 87 1793 6 87 87 6 87 88 6 87 .I 88 .T An Efficient Method for Generating Uniformly Distributed Points on the Surface of an n-Dimensional Sphere .B CACM April, 1959 .A Hicks, J. S. Wheeling, R. F. .N CA590404 JB March 22, 1978 7:10 PM .X 2333 5 88 87 5 88 88 5 88 88 5 88 88 5 88 1793 6 88 87 6 88 88 6 88 88 6 88 .I 89 .T A Routine to Find the Solution of Simultaneous Linear Equations with Polynomial Coefficients .B CACM April, 1959 .A Larson, E. H. Marshall, D. P. .N CA590403 JB March 22, 1978 7:12 PM .X 89 5 89 89 5 89 89 5 89 .I 90 .T Binary Arithmetic for Discretely Variable Word Length in a Serial Computer .B CACM April, 1959 .A Ercoli, P. Vacca, R. .N CA590402 JB March 22, 1978 7:13 PM .X 107 5 90 90 5 90 90 5 90 90 5 90 90 6 90 .I 91 .T A Mathematical Procedure for Machine Division .B CACM April, 1959 .A Gilman, R. E. .N CA590401 JB March 22, 1978 7:14 PM .X 214 5 91 1593 5 91 91 5 91 91 5 91 91 5 91 1 6 91 1292 6 91 53 6 91 91 6 91 91 6 91 .I 92 .T A Checklist of Intelligence for Programming Systems .W A remarkable variation exists in the degree of sophistication of various programming systems. A particular manifestation is the jungle of assorted devices for reproducing limited human decision procedures. An attempt is made here to begin a systematic classification of the various devices for educating the computer to take over the decision-making functions of one or many human operators, both those that have been demonstrated feasible to date and those that are highly desirable for the future. .B CACM March, 1959 .A Bemer, R. W. .N CA590304 JB March 22, 1978 8:01 PM .X 92 5 92 92 5 92 92 5 92 .I 93 .T From Formulas to Computer Oriented Language .W A technique is shown for enabling a computer to translate simple algebraic formulas into a three address computer code. .B CACM March, 1959 .A Wegstein, J. H. .N CA590303 JB March 22, 1978 8:03 PM .X 405 5 93 54 5 93 93 5 93 93 5 93 93 5 93 224 6 93 55 6 93 77 6 93 93 6 93 93 6 93 .I 94 .T An Iterative Method for Fitting the Logistic Curve .W An iterative method is given for finding a logistic curve of best least squares fit to a set of two-dimensional points. .B CACM March, 1959 .A Howell, J.R. .N CA590302 JB March 22, 1978 8:04 PM .X 75 5 94 94 5 94 94 5 94 94 5 94 15 6 94 94 6 94 .I 95 .T Elimination of Special Functions from Differential Equations .W A set of ordinary differential equations which contains mathematical functions requiring the use of subroutines for numerical solution by electronic computer, tabular data for numerical solution by hand calculation or function generators when analog methods are applied can sometimes be expanded to an equivalent set of equations which do not contain the functions. This is practical if these functions satisfy sufficiently simple differential equations. Thus among those functions which can be eliminated by this procedure are the trigonometric, inverse trigonometric, exponential, and many other transcendental functions. .B CACM March, 1959 .A Powers, J. E. .N CA590301 JB March 22, 1978 8:08 PM .X 95 5 95 95 5 95 95 5 95 .I 96 .T On Computing Radiation Integrals .W The relative merit and cost of four ways of evaluating typical radiation integrals containing spherical Bessel functions are investigated. These methods are desk machine evaluation of a finite series, integration of the appropriate differential equation by a Reeves Electronic Analog Computer and by a Litton 40 IBM 704 computer. Results are generally applicable to equations separated from a Helmholtz or wave equation. .B CACM February, 1959 .A Hansen, R. C. Bailin, L. L. Rutishauser, R. W. .N CA590205 JB March 22, 1978 8:16 PM .X 96 5 96 96 5 96 96 5 96 .I 97 .T Signal Corps Research and Development on Automatic Programming of Digital Computers .B CACM February, 1959 .A Luebbert, Capt. W. F. Collom Jr., Capt. P. W. .N CA590204 JB March 22, 1978 8:19 PM .X 97 5 97 97 5 97 97 5 97 .I 98 .T The Arithmetic Translator-Compiler of the IBM FORTRAN Automatic Coding System .B CACM February, 1959 .A Sheridan, P. B. .N CA590203 JB March 22, 1978 8:21 PM .X 224 5 98 364 5 98 98 5 98 98 5 98 98 5 98 100 6 98 224 6 98 44 6 98 77 6 98 98 6 98 98 6 98 .I 99 .T Possible Modifications to the International Algebraic Language .B CACM February, 1959 .A Green, J. .N CA590202 JB March 22, 1978 8:22 PM .X 99 5 99 99 5 99 99 5 99 .I 100 .T Recursive Subscripting Compilers and List-Types Memories .B CACM February, 1959 .A Carr III, J. W. .N CA590201 JB March 22, 1978 8:23 PM .X 205 4 100 210 4 100 214 4 100 1982 4 100 398 4 100 642 4 100 669 4 100 100 4 100 123 4 100 164 4 100 100 5 100 100 5 100 100 5 100 1 5 100 364 5 100 100 6 100 224 6 100 44 6 100 77 6 100 98 6 100 .I 101 .T Nuclear Reactor Codes .B CACM January, 1959 .A Nather, V. Sangren, W. .N CA590101 JB March 22, 1978 8:24 PM .X 101 5 101 101 5 101 101 5 101 .I 102 .T A Comparison of 650 Programming Methods .B CACM December, 1960 .A Curtz, T. B. Riordan, J. F. Spohn,M. .N CA601214 JB March 20, 1978 6:18 PM .X 102 5 102 102 5 102 102 5 102 .I 103 .T COPE (Console Operator Proficiency Examination)* .W Each year electronic computers become more sophisticated, and the programs they must process become more complex. Because of this,dependence of those in computing on the skill and experience of operators is increasing. At the same time, selection and training of qualified operators grows more difficult. To meet the need for a quick, accurate, uniform operator test and training aid, the authors have developed COPE (Console Operator Proficiency Examination), outlined below. While this examination is programmed specifically for the IBM 705 Model II with two Tape Record Coordinators, similar programs could be developed for other computers. .B CACM December, 1960 .A Farbman, D. Ketover, R. .N CA601213 JB March 20, 1978 6:23 PM .X 103 5 103 103 5 103 103 5 103 .I 104 .T Digital Simulation of Discrete Flow Systems* .W The discrete flow systems discussed are characterized by the movement of randomly arriving items along interacting channels. Programing a digital computer to simulate such systems utilizes some techniques not common in other approaches to physical problems. The principal portion of the paper is a discussion of two simulation studies that illustrate some of the programming problems involved. One is of an extensive package-handling plant, with the objective being optimization of parameters such as storage capacities and processing rates. In the other, air traffic flow and control procedures are simulated to compare the effects of alternative control decisions. .B CACM December, 1960 .A Moore, C. J. Lewis, T. S. .N CA601212 JB March 20, 1978 6:27 PM .X 104 5 104 104 5 104 104 5 104 .I 105 .T Two Methods for Word Inversion on the IBM 709 .B CACM December, 1960 .A Price, R. A. Jardins, P. D. .N CA601211 JB March 20, 1978 6:28 PM .X 105 5 105 105 5 105 105 5 105 .I 106 .T A Method for Overlapping and Erasure of Lists .W An important property of the Newell-Shaw-Simon scheme for computer storage of lists is that data having multiple occurrences need not be stored at more than one place in the computer. That is, lists may be "overlapped." Unfortunately, overlapping poses a problem for subsequent erasure. Given a list that is no longer needed, it is desired to erase just those parts that do not overlap other lists. In LISP, McCarthy employs an elegant but inefficient solution to the problem. The present paper describes a general method which enables efficient erasure. The method employs interspersed reference counts to describe the extent of the overlapping. .B CACM December, 1960 .A Collins, G. E. .N CA601210 JB March 20, 1978 6:33 PM .X 1024 4 106 1051 4 106 1102 4 106 1132 4 106 1390 4 106 1486 4 106 1549 4 106 1706 4 106 1826 4 106 1878 4 106 378 4 106 2060 4 106 2155 4 106 2168 4 106 2719 4 106 2723 4 106 2838 4 106 2842 4 106 2855 4 106 2879 4 106 3077 4 106 3080 4 106 3106 4 106 627 4 106 106 4 106 106 5 106 106 5 106 106 5 106 1050 5 106 210 5 106 1393 5 106 1549 5 106 2023 5 106 3112 5 106 627 5 106 849 6 106 106 6 106 106 6 106 106 6 106 106 6 106 106 6 106 106 6 106 196 6 106 1051 6 106 1380 6 106 209 6 106 1826 6 106 210 6 106 210 6 106 1878 6 106 296 6 106 1972 6 106 367 6 106 2438 6 106 2723 6 106 2736 6 106 2833 6 106 2838 6 106 406 6 106 627 6 106 627 6 106 731 6 106 731 6 106 731 6 106 753 6 106 .I 107 .T Multiple Precision Arithmetic .B CACM December, 1960 .A Pope, D. A. Stein, M. L. .N CA601209 JB March 20, 1978 6:34 PM .X 107 4 107 107 5 107 107 5 107 107 5 107 1026 5 107 1258 5 107 1292 5 107 1497 5 107 90 5 107 107 6 107 107 6 107 107 6 107 107 6 107 1026 6 107 1026 6 107 1026 6 107 1292 6 107 1593 6 107 .I 108 .T Programmed Error Correction in Project Mercury .B CACM December, 1960 .A Dimsdale, B. Weinberg, G. M. .N CA601208 JB March 20, 1978 6:35 PM .X 108 5 108 108 5 108 108 5 108 361 5 108 108 6 108 .I 109 .T A Note on Approximating e^x .B CACM December, 1960 .A Lubkin, S. .N CA601207 JB March 20, 1978 6:37 PM .X 109 5 109 109 5 109 109 5 109 .I 110 .T Fibonaccian Searching .B CACM December, 1960 .A Ferguson, D. E. .N CA601206 JB March 20, 1978 6:38 PM .X 110 5 110 110 5 110 110 5 110 .I 111 .T On Programming the Numerical Solution of Polynomial Equations .W Numerical techniques are presented for computing the roots of polynomial equations. By applying the recommended scaling and inversion rules, the basic Bairstow and Newton-Raphson iterative techniques can be applied with great reliability. Both a high degree of accuracy and rapid convergence are realized. Numerical examples are shown to illustrate the pitfalls and to show how these are circumvented by application of the recommended procedures. .B CACM December, 1960 .A Ellenberger, K. W. .N CA601205 JB March 20, 1978 6:41 PM .X 111 5 111 111 5 111 111 5 111 .I 112 .T Numerical Solution of the Polynomial Equation (Algorithm 30) .B CACM December, 1960 .A Ellenberger, K. W. .N CA601204 JB March 20, 1978 6:44 PM .X 112 5 112 112 5 112 112 5 112 .I 113 .T Survey of Coded Character Representation .B CACM December, 1960 .A Bemer, R. W. .N CA601203 JB March 20, 1978 6:44 PM .X 113 5 113 113 5 113 113 5 113 .I 114 .T Survey of Punched Card Codes .B CACM December, 1960 .A Smith, H. J. Williams, F. A. .N CA601202 JB March 20, 1978 6:45 PM .X 114 5 114 114 5 114 114 5 114 .I 115 .T Optimizers: Their Structure .B CACM December, 1960 .A Wheeling, R. F. .N CA601201 JB March 20, 1978 6:46 PM .X 115 5 115 115 5 115 115 5 115 .I 116 .T The Sumador Chino .W On a recent motor trip through Mexico, the writer came across on adding device which was referred to as a sumador chino (Chinese adder). A survey of the more available literature on the history of mathematics and on instruments of calculation has uncovered no reference to such a device. The purpose of this communication is to enlist the help of other members in bringing to light whatever may be known concerning the evolution and present status of the sumador chino. .B CACM November, 1960 .A Rogers, J. L. .N CA601119 JB March 20, 1978 6:50 PM .X 116 5 116 116 5 116 116 5 116 .I 117 .T An Estimation of the Relative Efficiency of Two Internal Sorting Methods .B CACM November, 1960 .A Nagler, H. .N CA601118 JB March 20, 1978 6:51 PM .X 117 5 117 117 5 117 117 5 117 .I 118 .T Character Scanning on the IBM 7070 .B CACM November, 1960 .A Speckhard, A. E. .N CA601117 JB March 20, 1978 6:52 PM .X 118 5 118 118 5 118 118 5 118 .I 119 .T Note on Eigenvalue Computation .B CACM November, 1960 .A Andrus, J. F. .N CA601116 JB March 20, 1978 6:53 PM .X 119 5 119 119 5 119 119 5 119 .I 120 .T A Simple Technique for Coding Differential Equations .B CACM November, 1960 .A Sefton, P. Vaillancourt, R. .N CA601115 JB March 20, 1978 6:57 PM .X 120 4 120 120 5 120 120 5 120 120 5 120 175 5 120 .I 121 .T Over-all Computation Control and Labelling .B CACM November, 1960 .A Holt, A. .N CA601114 JB March 20, 1978 6:58 PM .X 121 4 121 121 5 121 121 5 121 121 5 121 221 5 121 .I 122 .T Least Squares Fitting of a Great Circle Through Points on a Sphere .B CACM November,1960 .A DeWitte, L. .N CA601113 JB March 20, 1978 6:59 PM .X 122 5 122 122 5 122 122 5 122 297 5 122 122 6 122 .I 123 .T Compilation for Two Computers with NELIAC .W NELIAC, a compiler based on ALGOL, was developed at the U.S. Navy Electronics Laboratory, San Diego,California, as a"boot-strap" compiler for the Remington Rand Univac COUNTESS computer. This compiler was used to generate a version of itself which, running as a COUNTESS program, generated machine code for the Control Data Corporation CDC-1604. All three versions of NELIAC accepted essentially identical input language. .B CACM November, 1960 .A Masterson Jr., K. S. .N CA601112 JB March 20, 1978 7:03 PM .X 205 4 123 210 4 123 214 4 123 249 4 123 254 4 123 272 4 123 1102 4 123 1109 4 123 1140 4 123 1188 4 123 1306 4 123 1464 4 123 1491 4 123 1767 4 123 1781 4 123 1787 4 123 1949 4 123 1982 4 123 321 4 123 398 4 123 2059 4 123 2126 4 123 435 4 123 437 4 123 463 4 123 483 4 123 491 4 123 2732 4 123 560 4 123 583 4 123 3073 4 123 627 4 123 631 4 123 632 4 123 637 4 123 642 4 123 642 4 123 644 4 123 653 4 123 669 4 123 680 4 123 761 4 123 762 4 123 763 4 123 100 4 123 123 4 123 123 4 123 123 4 123 140 4 123 164 4 123 919 4 123 989 4 123 123 5 123 123 5 123 123 5 123 165 5 123 196 5 123 1 5 123 1781 5 123 637 5 123 123 6 123 123 6 123 165 6 123 196 6 123 919 6 123 990 6 123 1007 6 123 1046 6 123 1131 6 123 1139 6 123 1140 6 123 1149 6 123 1198 6 123 1215 6 123 1223 6 123 1265 6 123 1303 6 123 1323 6 123 1358 6 123 1366 6 123 1421 6 123 1460 6 123 1462 6 123 1463 6 123 1467 6 123 1468 6 123 1477 6 123 1491 6 123 1496 6 123 1531 6 123 1535 6 123 1565 6 123 1601 6 123 1602 6 123 1613 6 123 1614 6 123 1626 6 123 1641 6 123 1787 6 123 1788 6 123 205 6 123 224 6 123 249 6 123 288 6 123 316 6 123 381 6 123 398 6 123 11 6 123 404 6 123 410 6 123 463 6 123 464 6 123 483 6 123 3184 6 123 3188 6 123 584 6 123 600 6 123 680 6 123 691 6 123 763 6 123 799 6 123 .I 124 .T An Algorithm for the Assignment Problem .W The assignment problem is formulated and briefly discussed. An efficient algorithm for its solution is presented in ALGOL code. An empirical relation between solution time and the size of the problem is given, based on extensive experiments carried out on a digital computer. .B CACM November, 1960 .A Silver, R. .N CA601111 JB March 20, 1978 7:05 PM .X 124 5 124 124 5 124 124 5 124 2133 5 124 2134 5 124 124 6 124 124 6 124 2134 6 124 .I 125 .T Polynomial Transformer (Algorithm 29) .B CACM November, 1960 .A Mackinney, J. G. .N CA601110 JB March 20, 1978 7:06 PM .X 125 5 125 125 5 125 125 5 125 1816 5 125 125 6 125 .I 126 .T Least Squares Fit By Orthogonal polynomials (Algorithm 28) .B CACM November, 1960 .A Mackinney, J. G. .N CA601109 JB March 20, 1978 7:08 PM .X 126 5 126 126 5 126 126 5 126 .I 127 .T ASSIGNMENT (Algorithm 27) .B CACM November, 1960 .A Silver, R. .N CA601108 JB March 20, 1978 7:09 PM .X 127 5 127 127 5 127 127 5 127 .I 128 .T ROOTFINDER III (Algorithm 26) .B CACM November, 1960 .A Herroit, J. G. .N CA601107 JB March 20, 1978 7:57 PM .X 128 5 128 128 5 128 128 5 128 .I 129 .T ROOTFINDER II (Algorithm 15) .B CACM November, 1960 .A Forsythe, G. E. Herriot, J. G. .N CA601106 JB March 20, 1978 7:59 PM .X 129 5 129 129 5 129 129 5 129 .I 130 .T Real Zeros of an Arbitrary Function (Algorithm 25) .B CACM November, 1960 .A Leavenworth, B. .N CA601105 JB March 20, 1978 8:00 PM .X 130 5 130 130 5 130 130 5 130 .I 131 .T Solution of Tri-Diagonal Linear Equations (Algorithm 24) .B CACM November, 1960 .A Leavenworth, B. .N CA601104 JB March 20, 1978 8:01 PM .X 131 5 131 131 5 131 131 5 131 .I 132 .T Math Sort (Algorithm 23) .B CACM November, 1960 .A Feurzeig, W. .N CA601103 JB March 20, 1978 8:03 PM .X 132 5 132 132 5 132 132 5 132 .I 133 .T Riccati-Bessel Functions of First And Second Kind (Algorithm 22) .B CACM November, 1960 .A Oser, H. .N CA601102 JB March 20, 1978 8:04 PM .X 133 5 133 133 5 133 133 5 133 .I 134 .T Bessel Function for a Set of Integer Orders(Algorithm 21) .B CACM November, 1960 .A Borsch-Supan, W. .N CA601101 JB March 20, 1978 8:05 PM .X 134 5 134 134 5 134 134 5 134 1909 5 134 134 6 134 1023 6 134 1284 6 134 1316 6 134 .I 135 .T Digital Computers in Universities-IV .B CACM October, 1960 .A Reeves, R. F. .N CA601013 JB March 20, 1978 8:07 PM .X 135 5 135 135 5 135 135 5 135 .I 136 .T A Note on the Calculation of Interest .B CACM October, 1960 .A Ingerman, P. Z. .N CA601012 JB March 20, 1978 8:09 PM .X 136 5 136 136 5 136 136 5 136 .I 137 .T Evaluating Numbers Expressed as Strings of English Words .B CACM October, 1960 .A Swift, C. J. .N CA601011 JB March 20, 1978 8:11 PM .X 137 5 137 137 5 137 137 5 137 .I 138 .T Some Thoughts on Reconciling Various Character Set Proposals (Corrigenda) .B CACM October, 1960 .A Voorhees, E. A. .N CA601010 JB March 20, 1978 8:13 PM .X 138 5 138 138 5 138 138 5 138 .I 139 .T Binomial Coefficients (Algorithm 19) .B CACM October, 1960 .A Kenyon, R. R. .N CA601009 JB March 20, 1978 8:14 PM .X 139 5 139 139 5 139 139 5 139 .I 140 .T Crout with Pivoting (Algorithm 16) .B CACM October, 1960 .A Forsythe, G. E. .N CA601008 JB March 20, 1978 8:15 PM .X 249 4 140 254 4 140 272 4 140 1102 4 140 1109 4 140 1140 4 140 1188 4 140 1306 4 140 1319 4 140 1464 4 140 1491 4 140 1767 4 140 1781 4 140 1787 4 140 1949 4 140 321 4 140 2059 4 140 2126 4 140 435 4 140 437 4 140 454 4 140 463 4 140 483 4 140 491 4 140 2732 4 140 560 4 140 583 4 140 3073 4 140 627 4 140 631 4 140 632 4 140 642 4 140 644 4 140 653 4 140 680 4 140 761 4 140 762 4 140 763 4 140 123 4 140 140 4 140 140 4 140 919 4 140 989 4 140 140 5 140 140 5 140 140 5 140 152 5 140 196 5 140 .I 141 .T Some Thoughts on Parallel Processing .B CACM October, 1960 .A Yarbrough, L. D. .N CA601007 JB March 20, 1978 8:16 PM .X 141 5 141 141 5 141 141 5 141 .I 142 .T Comments on a Technique for Counting Ones .B CACM October, 1960 .A Sherman, P. M. .N CA601006 JB March 20, 1978 8:18 PM .X 2952 4 142 2952 4 142 2952 4 142 142 4 142 142 4 142 142 4 142 142 5 142 142 5 142 142 5 142 162 5 142 163 5 142 192 5 142 362 5 142 2952 5 142 142 6 142 142 6 142 162 6 142 163 6 142 192 6 142 2185 6 142 2727 6 142 .I 143 .T A List of Computer Systems Programs for the IBM 650, DATATRON 205, and UNIVAC SS-80 .B CACM October, 1960 .A Romberg, A. .N CA601005 JB March 20, 1978 8:21 PM .X 143 5 143 143 5 143 143 5 143 .I 144 .T Do It by the Numbers-Digital Shorthand .W Present communications systems transmit single characters in groups of coded pulses between simple terminal equipments. Since English words form only a sparse set of all possible alphabetic combinations, present methods are inefficient when computer systems are substituted for these terminals. Using numeric representations of entire words or common phrases (rather than character-by-character representations) requires approximately one-third of present transmission time. This saving is reflected in overall costs. Other benefits accrue in code and language translation schemes. Provision is made for transmission of purely numeric and/or binary streams, and for single character-transmission of non-dictionary words such as the names of people or places. .B CACM October, 1960 .A Bemer, R. W. .N CA601004 JB March 20, 1978 8:27 PM .X 144 5 144 144 5 144 144 5 144 .I 145 .T Automatic Graders for Programming Classes .B CACM October, 1960 .A Hollingsworth, J. .N CA601003 JB March 20, 1978 8:28 PM .X 145 5 145 145 5 145 145 5 145 1270 5 145 1902 5 145 145 6 145 145 6 145 1270 6 145 3184 6 145 .I 146 .T The Use of Computers in Engineering Classroom Instruction .W On April 29-30, the Computer Committee of the College of Engineering, University of Michigan, which acts as a steering committee for The Ford Foundation Project on the Use of Computers in Engineering Education, held a special conference to discuss certain timely topics pertinent to the Ford Project. This report contains a condensed transcription of the key ideas offered by the conference attendees on selected topics. .B CACM October, 1960 .A Katz, D. L. .N CA601002 JB March 20, 1978 8:37 PM .X 146 5 146 146 5 146 146 5 146 .I 147 .T Report on a Conference of University Computing Center Directors .B CACM October, 1960 .N CA601001 JB March 20, 1978 8:38 PM .X 147 5 147 147 5 147 147 5 147 .I 148 .T Digital Computers in Universities-III .B CACM September, 1960 .A Reeves, R. F. .N CA600909 JB March 20, 1978 8:41 PM .X 148 5 148 148 5 148 148 5 148 .I 149 .T A Decision Rule for Improved Efficiency in Solving Linear Programming Problems with the Simplex Algorithm .B CACM September, 1960 .A Dickson, J. C. Frederick, F. P. .N CA600908 JB March 20, 1978 8:43 PM .X 149 5 149 149 5 149 149 5 149 .I 150 .T Rational Interpolation by Continued Fractions (Algorithm 18) .B CACM September, 1960 .A Floyd, R. W. .N CA600907 JB March 20, 1978 8:44 PM .X 150 5 150 150 5 150 150 5 150 .I 151 .T TRDIAG (Algorithm 17) .B CACM September, 1960 .A Sprague III, C. D. .N CA600906 JB March 20, 1978 8:45 PM .X 151 5 151 151 5 151 151 5 151 .I 152 .T CROUT With Pivoting (Algorithm 16) .B CACM September, 1960 .A Forsythe, G. E. .N CA600905 JB March 20, 1978 8:47 PM .X 140 5 152 152 5 152 152 5 152 152 5 152 1319 5 152 454 5 152 152 6 152 152 6 152 152 6 152 196 6 152 1128 6 152 586 6 152 .I 153 .T Comments from a FORTRAN User .B CACM September, 1960 .A Blatt, J. M. .N CA600904 JB March 20, 1978 8:48 PM .X 153 5 153 153 5 153 153 5 153 754 5 153 153 6 153 .I 154 .T Rapidly Convergent Expressions for Evaluating e^x .B CACM September, 1960 .A Berin, A. .N CA600903 JB March 20, 1978 8:49 PM .X 154 5 154 154 5 154 154 5 154 .I 155 .T Trie Memory .B CACM September, 1960 .A Fredkin, E. .N CA600902 JB March 20, 1978 8:50 PM .X 155 5 155 155 5 155 155 5 155 944 5 155 2846 5 155 849 5 155 155 6 155 155 6 155 155 6 155 615 6 155 .I 156 .T An Introductory Problem in Symbol Manipulation for the Student .B CACM September, 1960 .A Rosin, R. F. .N CA600901 JB March 20, 1978 8:51 PM .X 156 5 156 156 5 156 156 5 156 .I 157 .T Digital Computers in Universities -II .B CACM August, 1960 .A Reeves, R. F. .N CA600809 JB March 20, 1978 8:54 PM .X 157 5 157 157 5 157 157 5 157 .I 158 .T ROOTFINDER II (Algorithm 15) .B CACM August, 1960 .A Thacher Jr., H. C. .N CA600808 JB March 20, 1978 8:55 PM .X 158 5 158 158 5 158 158 5 158 .I 159 .T ROOTFINDER (Algorithm 2) .B CACM August, 1960 .A Thacher Jr., H. C. .N CA600807 JB March 20, 1978 8:56 PM .X 159 5 159 159 5 159 159 5 159 .I 160 .T ROOTFINDER II (Algorithm 15) .B CACM August, 1960 .A Thacher Jr., H. C. .N CA600806 JB March 20, 1978 8:57 PM .X 160 5 160 160 5 160 160 5 160 .I 161 .T Abbreviating Words Systematically (Corrigendum) .B CACM August, 1960 .A Barrett, J. A. Grems, M. .N CA600805 JB March 20, 1978 8:58 PM .X 161 5 161 161 5 161 161 5 161 .I 162 .T A Variant Technique for Counting Ones .B CACM August, 1960 .A Frieden, H. .N CA600804 JB March 20, 1978 9:00 PM .X 142 5 162 162 5 162 162 5 162 162 5 162 2952 5 162 142 6 162 162 6 162 162 6 162 163 6 162 163 6 162 192 6 162 192 6 162 2185 6 162 2727 6 162 .I 163 .T Counting Ones on the IBM 7090 .B CACM August, 1960 .A Kutler, S. S. .N CA600803 JB March 20, 1978 9:01 PM .X 142 5 163 163 5 163 163 5 163 163 5 163 2952 5 163 142 6 163 162 6 163 162 6 163 163 6 163 163 6 163 192 6 163 192 6 163 2185 6 163 2727 6 163 .I 164 .T A Short Study of Notation Efficiency .B CACM August, 1960 .A Smith Jr., H. J. .N CA600802 JB March 20, 1978 9:02 PM .X 205 4 164 210 4 164 214 4 164 1982 4 164 398 4 164 642 4 164 669 4 164 100 4 164 123 4 164 164 4 164 164 5 164 164 5 164 164 5 164 1 5 164 .I 165 .T NELIAC-A Dialect of ALGOL .B CACM August, 1960 .A Huskey, H. D. Halstead, M. H. .N CA600801 JB March 20, 1978 9:03 PM .X 123 5 165 165 5 165 165 5 165 165 5 165 637 5 165 1 6 165 123 6 165 165 6 165 165 6 165 196 6 165 .I 166 .T Programming Compatibility in a Family of Closely Related Digital Computers .B CACM July, 1960 .A Luebbert, W. F. .N CA600707 JB March 20, 1978 9:14 PM .X 166 5 166 166 5 166 166 5 166 .I 167 .T Combining ALGOL Statement Analysis with Validity Checking .B CACM July, 1960 .A McIsaac, P. .N CA600706 JB March 20, 1978 9:15 PM .X 167 5 167 167 5 167 167 5 167 .I 168 .T Multiprogram Scheduling Parts 3 and 4 Scheduling Algorithm and External Constraints .B CACM July, 1960 .A Codd, E. F. .N CA600705 JB March 20, 1978 9:16 PM .X 491 4 168 168 4 168 168 5 168 168 5 168 168 5 168 1713 5 168 1901 5 168 491 5 168 46 5 168 168 6 168 168 6 168 168 6 168 185 6 168 185 6 168 185 6 168 196 6 168 1751 6 168 1754 6 168 46 6 168 .I 169 .T The Multilingual Terminology Project .B CACM July, 1960 .A Holmstrom, J. E. .N CA600704 JB March 20, 1978 9:17 PM .X 169 5 169 169 5 169 169 5 169 .I 170 .T Some Thoughts on Reconciling Various Character Set Proposals .B CACM July, 1960 .A Voorhees, E. A. .N CA600703 JB March 20, 1978 9:18 PM .X 170 5 170 170 5 170 170 5 170 .I 171 .T Digital Computers in Universities (Part I) .B CACM July, 1960 .A Reeves, R. F. .N CA600702 JB March 20, 1978 9:20 PM .X 171 5 171 171 5 171 171 5 171 .I 172 .T Complex Exponential Integral (Algorithm 13) .B CACM July, 1960 .A Beam, A. .N CA600701 JB March 20, 1978 9:21 PM .X 172 5 172 172 5 172 172 5 172 .I 173 .T ATLAS a new concept in large computer design .B CACM June, 1960 .N CA600617 JB March 20, 1978 9:22 PM .X 173 5 173 173 5 173 173 5 173 .I 174 .T Interval Estimation of the Time in One State to Total Time Ratio in a DoubleExponential Process .B CACM June, 1960 .A Neal, W. R. .N CA600616 JB March 20, 1978 9:24 PM .X 174 5 174 174 5 174 174 5 174 .I 175 .T The Solution of Simultaneous Ordinary Differential Equations Using a General Purpose Digital Computer .B CACM June, 1960 .A Anderson, W. H. .N CA600615 JB March 20, 1978 9:25 PM .X 120 5 175 175 5 175 175 5 175 175 5 175 175 6 175 .I 176 .T Symbol Manipulation by Threaded Lists (Corrigendum) .B CACM June, 1960 .A Perlis, A. J. Thornton, C. .N CA600614 JB March 20, 1978 9:26 PM .X 176 5 176 176 5 176 176 5 176 .I 177 .T Solution of Polynomial Equation by Bairstow Hitchcock Method, A. A. Grau Communications ACM, February, 1960 (Algorithm) .B CACM June, 1960 .A Thacher Jr., H. C. .N CA600613 JB March 20, 1978 9:31 PM .X 177 5 177 177 5 177 177 5 177 .I 178 .T ROOTFINDER (Algorithm) .B CACM June, 1960 .A Thacher Jr., H. C. .N CA600612 JB March 20, 1978 9:32 PM .X 178 5 178 178 5 178 178 5 178 1667 5 178 178 6 178 1242 6 178 327 6 178 .I 179 .T Evaluation of the Legendre Polynomial Pn(X) by Recursion (Algorithm) .B CACM June, 1960 .A Galler, G. M. .N CA600611 JB March 20, 1978 9:35 PM .X 179 5 179 179 5 179 179 5 179 .I 180 .T Evaluation of the Laguerre Polynomial Ln(X) by Recursion (Algorithm) .B CACM June, 1960 .A Galler, G. M. .N CA600610 JB March 20, 1978 9:36 PM .X 180 5 180 180 5 180 180 5 180 .I 181 .T Evaluation of the Hermite Polynomial Hn(X) by Recursion (Algorithm) .B CACM June, 1960 .A Galler, G. M. .N CA600609 JB March 20, 1978 9:37 PM .X 181 5 181 181 5 181 181 5 181 .I 182 .T Evaluation of the Chebyshev Polynomial Tn(X) by Recursion (Algorithm) .B CACM June, 1960 .A Galler, G. M. .N CA600608 JB March 20, 1978 9:38 PM .X 182 5 182 182 5 182 182 5 182 .I 183 .T Conversion Between Floating Point Representations .B CACM June, 1960 .A Perry, C. .N CA600607 JB March 20, 1978 9:40 PM .X 183 5 183 183 5 183 183 5 183 .I 184 .T A Short Method for Measuring Error in a Least-Squares Power Series .B CACM June, 1960 .A Robinson, S. M. Struble, G. W. .N CA600606 JB March 20, 1978 9:41 PM .X 184 5 184 184 5 184 184 5 184 .I 185 .T Multiprogram Scheduling Parts 1 and 2. Introduction and Theory* .W In order to exploit fully a fast computer which possesses simultaneous processing abilities, it should to a large extent schedule its own workload. The scheduling routine must be capable of extremely rapid execution if it is not to prove self-defeating. The construction of a schedule entails determining which programs are to be run concurrently and which sequentially with respect to each other. A concise scheduling algorithm is described which tends to minimize the time for executing the entire pending workload (or any subset of it), subject to external constraints such as precedence, urgency, etc. The algorithm is applicable to a wide class of machines. .B CACM June, 1960 .A Codd, E. F. .N CA600605 JB March 20, 1978 9:46 PM .X 185 5 185 185 5 185 185 5 185 1713 5 185 1901 5 185 491 5 185 168 6 185 168 6 185 168 6 185 185 6 185 185 6 185 185 6 185 196 6 185 1751 6 185 1754 6 185 46 6 185 .I 186 .T An Algorithm Defining ALGOL Assignment Statements (Addendum) .B CACM June, 1960 .A Floyd, R. W. .N CA600604 JB March 20, 1978 9:47 PM .X 186 5 186 186 5 186 186 5 186 .I 187 .T Compiling Connectives .B CACM June, 1960 .A Swift, C. J. .N CA600603 JB March 20, 1978 9:54 PM .X 187 5 187 187 5 187 187 5 187 .I 188 .T The Department of Computer Mathematics at Moscow State University .B CACM June, 1960 .A Berezin, I. S. .N CA600602 JB March 20, 1978 9:56 PM .X 188 5 188 188 5 188 188 5 188 .I 189 .T The Future of Automatic Digital Computers .B CACM June, 1960 .A Booth, A. D. .N CA600601 JB March 20, 1978 9:57PM .X 189 5 189 189 5 189 189 5 189 .I 190 .T Bendix G-20 System .B CACM May, 1960 .N CA600507 JB March 22, 1978 1:28 PM .X 190 5 190 190 5 190 190 5 190 .I 191 .T Abbreviating Words Systematically .B CACM May, 1960 .A Barrett, J. A. Grems, M. .N CA600506 JB March 22, 1978 1:29 PM .X 191 5 191 191 5 191 191 5 191 .I 192 .T A Technique for Counting Ones in a Binary Computer .B CACM May, 1960 .A Wegner, P. .N CA600505 JB March 22, 1978 1:30 PM .X 142 5 192 192 5 192 192 5 192 192 5 192 2952 5 192 142 6 192 162 6 192 162 6 192 163 6 192 163 6 192 192 6 192 192 6 192 2185 6 192 2727 6 192 .I 193 .T A Start at Automatic Storage Assignment .B CACM May, 1960 .A Patrick, R. L. .N CA600504 JB March 22, 1978 1:31 PM .X 193 5 193 193 5 193 193 5 193 .I 194 .T Divisionless Computation of Square Roots Through Continued Squaring .B CACM May, 1960 .A Sarafyan, D. .N CA600503 JB March 22, 1978 1:32 PM .X 194 5 194 194 5 194 194 5 194 .I 195 .T What is a Code? .B CACM May, 1960 .A Patterson, G. W. .N CA600502 JB March 22, 1978 1:33 PM .X 195 5 195 195 5 195 195 5 195 .I 196 .T Report on the Algorithmic Language ALGOL 60 .A Naur, P. Backus, J. .B CACM May, 1960 .N CA600501 JB March 22, 1978 1:34 PM .X 123 5 196 140 5 196 196 5 196 196 5 196 196 5 196 919 5 196 989 5 196 1102 5 196 1109 5 196 1140 5 196 1188 5 196 1306 5 196 249 5 196 254 5 196 272 5 196 1464 5 196 1491 5 196 1767 5 196 1781 5 196 1787 5 196 1949 5 196 321 5 196 2059 5 196 2126 5 196 2732 5 196 435 5 196 437 5 196 463 5 196 483 5 196 491 5 196 560 5 196 583 5 196 3073 5 196 627 5 196 631 5 196 632 5 196 642 5 196 644 5 196 653 5 196 680 5 196 761 5 196 762 5 196 763 5 196 1 6 196 1 6 196 823 6 196 106 6 196 123 6 196 152 6 196 165 6 196 168 6 196 185 6 196 196 6 196 196 6 196 196 6 196 196 6 196 196 6 196 196 6 196 196 6 196 196 6 196 196 6 196 196 6 196 196 6 196 196 6 196 196 6 196 196 6 196 196 6 196 196 6 196 196 6 196 196 6 196 196 6 196 196 6 196 196 6 196 196 6 196 196 6 196 196 6 196 196 6 196 196 6 196 196 6 196 196 6 196 196 6 196 196 6 196 196 6 196 196 6 196 196 6 196 196 6 196 196 6 196 196 6 196 196 6 196 196 6 196 196 6 196 196 6 196 919 6 196 946 6 196 947 6 196 990 6 196 1007 6 196 1046 6 196 1131 6 196 1139 6 196 1140 6 196 1140 6 196 1141 6 196 1149 6 196 1198 6 196 1215 6 196 1215 6 196 1223 6 196 1265 6 196 1303 6 196 1303 6 196 1323 6 196 1358 6 196 1366 6 196 1421 6 196 1460 6 196 1462 6 196 1463 6 196 1467 6 196 1467 6 196 1468 6 196 1468 6 196 1477 6 196 1491 6 196 1491 6 196 1496 6 196 1496 6 196 1496 6 196 1531 6 196 1535 6 196 1565 6 196 1601 6 196 1602 6 196 1613 6 196 1614 6 196 1614 6 196 1626 6 196 1641 6 196 1693 6 196 1781 6 196 1787 6 196 1788 6 196 205 6 196 206 6 196 207 6 196 209 6 196 210 6 196 210 6 196 1834 6 196 224 6 196 224 6 196 224 6 196 249 6 196 249 6 196 271 6 196 288 6 196 288 6 196 303 6 196 316 6 196 321 6 196 381 6 196 387 6 196 398 6 196 11 6 196 46 6 196 51 6 196 2732 6 196 400 6 196 401 6 196 402 6 196 404 6 196 404 6 196 404 6 196 404 6 196 404 6 196 404 6 196 404 6 196 406 6 196 410 6 196 412 6 196 463 6 196 463 6 196 464 6 196 483 6 196 483 6 196 483 6 196 3184 6 196 3184 6 196 3184 6 196 3184 6 196 3184 6 196 3188 6 196 584 6 196 600 6 196 615 6 196 631 6 196 642 6 196 680 6 196 691 6 196 729 6 196 763 6 196 763 6 196 799 6 196 799 6 196 799 6 196 .I 197 .T An Imaginary Number System .B CACM April, 1960 .A Knuth, D. E. .N CA600414 JB March 22, 1978 1:35 PM .X 197 5 197 197 5 197 197 5 197 .I 198 .T A High-Speed Multiplication Process for Digital Computers .B CACM April, 1960 .A Gurzi, F. .N CA600413 JB March 22, 1978 1:36 PM .X 198 5 198 198 5 198 198 5 198 .I 199 .T Euclidian Algorithm (Algorithm 7) .B CACM April, 1960 .A Claussen, R. .N CA600412 JB March 22, 1978 1:37 PM .X 199 5 199 199 5 199 199 5 199 .I 200 .T Bessel Function I, Asymptotic Expansion (Algorithm 6) .B CACM April, 1960 .A Clarke, D. S. .N CA600411 JB March 22, 1978 1:39 PM .X 200 5 200 200 5 200 200 5 200 .I 201 .T Bessel Funtion I, Series Expansion (Algorithm 5) .B CACM April, 1960 .A Clarke, D. S. .N CA600410 JB March 22, 1978 1:40 PM .X 201 5 201 201 5 201 201 5 201 .I 202 .T A Control System For Logical Block Diagnosis With Data Loading .W This paper describes a section of an integrated diagnostic monitor system which facilitates the checking of sections of instructions or subroutines anywhere in the object program. A new method of specifying all diagnostic operations in a format similar to a computer program makes the system convenient to use and relatively simple to understand. The paper also describes a number of other novel diagnostic features which can be included in the system. .B CACM April, 1960 .A Senko, M. E. .N CA600409 JB March 22, 1978 1:45 PM .X 931 5 202 202 5 202 202 5 202 202 5 202 202 6 202 396 6 202 634 6 202 .I 203 .T Decoding Combinations of the First n Integers Taken k at a Time .B CACM April, 1960 .A Brown, R. M. .N CA600408 JB March 22, 1978 1:46 PM .X 203 5 203 203 5 203 203 5 203 2690 5 203 203 6 203 579 6 203 .I 204 .T Proving Theorems by Pattern Recognition I .B CACM April, 1960 .A Wang, H. .N CA600407 JB March 22, 1978 1:47 PM .X 204 4 204 204 5 204 204 5 204 204 5 204 3194 5 204 .I 205 .T Macro Instruction Extensions of Compiler Languages .W Macroinstruction compilers constructed from a small set of functions can be made extremely powerful. In particular, conditional assembly, nested definitions, and parenthetical notation serve to make a compiler capable of accepting very general extensions to its ground language. .B CACM April, 1960 .A McIlroy, M. D. .N CA600406 JB March 22, 1978 1:49 PM .X 205 4 205 205 4 205 210 4 205 214 4 205 1982 4 205 398 4 205 642 4 205 669 4 205 100 4 205 123 4 205 164 4 205 1 5 205 205 5 205 205 5 205 205 5 205 1358 5 205 1565 5 205 1781 5 205 1788 5 205 43 5 205 123 6 205 196 6 205 919 6 205 990 6 205 1006 6 205 1007 6 205 1007 6 205 1046 6 205 1131 6 205 1139 6 205 1140 6 205 1149 6 205 1162 6 205 1198 6 205 1215 6 205 1223 6 205 1265 6 205 1303 6 205 1323 6 205 1358 6 205 1358 6 205 1366 6 205 1421 6 205 1455 6 205 1460 6 205 1460 6 205 1462 6 205 1463 6 205 1467 6 205 1468 6 205 1477 6 205 1491 6 205 1496 6 205 1531 6 205 1535 6 205 1565 6 205 1601 6 205 1602 6 205 1613 6 205 1614 6 205 1626 6 205 1641 6 205 1787 6 205 1788 6 205 205 6 205 205 6 205 205 6 205 205 6 205 224 6 205 249 6 205 288 6 205 316 6 205 381 6 205 398 6 205 11 6 205 404 6 205 410 6 205 463 6 205 464 6 205 483 6 205 3184 6 205 3184 6 205 3188 6 205 3189 6 205 584 6 205 600 6 205 680 6 205 691 6 205 729 6 205 763 6 205 799 6 205 799 6 205 .I 206 .T Symbol Manipulation in XTRAN .B CACM April, 1960 .A Green, J. .N CA600405 JB March 22, 1978 1:50 PM .X 206 4 206 207 4 206 206 5 206 206 5 206 206 5 206 64 5 206 644 5 206 196 6 206 206 6 206 207 6 206 .I 207 .T Syntactic and Semantic Augments to ALGOL .B CACM April, 1960 .A Smith, J. W. .N CA600404 JB March 22, 1978 1:54 PM .X 206 4 207 207 4 207 207 5 207 207 5 207 207 5 207 64 5 207 644 5 207 196 6 207 206 6 207 207 6 207 .I 208 .T An Introduction to Information Processing Language V .B CACM April, 1960 .A Newell, A. Tonge, F. M. .N CA600403 JB March 22, 1978 1:55 PM .X 208 5 208 208 5 208 208 5 208 378 5 208 208 6 208 209 6 208 210 6 208 .I 209 .T Symbol Manipulation by Threaded Lists .B CACM April, 1960 .A Perlis, A. J. Thornton, C. .N CA600402 JB March 22, 1978 1:56 PM .X 1050 5 209 1102 5 209 209 5 209 209 5 209 209 5 209 378 5 209 3008 5 209 731 5 209 798 5 209 849 6 209 106 6 209 196 6 209 208 6 209 209 6 209 209 6 209 209 6 209 209 6 209 209 6 209 209 6 209 210 6 209 210 6 209 367 6 209 406 6 209 483 6 209 627 6 209 627 6 209 .I 210 .T Recursive Functions of Symbolic Expressions and Their Computation by Machine, Part I .B CACM April, 1960 .A McCarthy, J. .N CA600401 JB March 22, 1978 1:57 PM .X 205 4 210 210 4 210 214 4 210 1982 4 210 398 4 210 642 4 210 669 4 210 100 4 210 123 4 210 164 4 210 106 5 210 1 5 210 1024 5 210 1051 5 210 1102 5 210 1132 5 210 210 5 210 210 5 210 210 5 210 1390 5 210 1486 5 210 1549 5 210 1706 5 210 1826 5 210 1878 5 210 378 5 210 2060 5 210 2155 5 210 2168 5 210 2719 5 210 2723 5 210 2838 5 210 2842 5 210 2855 5 210 2879 5 210 3077 5 210 3080 5 210 3106 5 210 627 5 210 106 6 210 106 6 210 196 6 210 196 6 210 1051 6 210 1180 6 210 1303 6 210 1380 6 210 1389 6 210 1421 6 210 1469 6 210 1477 6 210 1491 6 210 1549 6 210 1549 6 210 1549 6 210 1626 6 210 1626 6 210 1626 6 210 1749 6 210 208 6 210 209 6 210 209 6 210 1826 6 210 1826 6 210 1826 6 210 210 6 210 210 6 210 210 6 210 210 6 210 210 6 210 210 6 210 210 6 210 210 6 210 210 6 210 210 6 210 210 6 210 210 6 210 210 6 210 210 6 210 210 6 210 210 6 210 210 6 210 210 6 210 210 6 210 210 6 210 210 6 210 210 6 210 210 6 210 210 6 210 210 6 210 1834 6 210 1869 6 210 1878 6 210 1972 6 210 1972 6 210 378 6 210 378 6 210 2046 6 210 2060 6 210 2060 6 210 2060 6 210 2110 6 210 2148 6 210 2151 6 210 2167 6 210 2192 6 210 2210 6 210 2457 6 210 2513 6 210 2645 6 210 2651 6 210 2657 6 210 2665 6 210 2723 6 210 2766 6 210 2766 6 210 2833 6 210 2850 6 210 2855 6 210 2954 6 210 2998 6 210 2998 6 210 406 6 210 406 6 210 406 6 210 483 6 210 3184 6 210 3184 6 210 627 6 210 627 6 210 731 6 210 731 6 210 731 6 210 731 6 210 731 6 210 731 6 210 753 6 210 793 6 210 794 6 210 .I 211 .T Share Standard Flow Chart Symbols .B CACM March, 1960 .A Grems, M. .N CA600307 JB March 22, 1978 1:58 PM .X 211 5 211 211 5 211 211 5 211 .I 212 .T Bisection Routine (Algorithm 4) .B CACM March, 1960 .A Gorn,S. .N CA600306 JB March 22, 1978 1:59 PM .X 212 5 212 212 5 212 212 5 212 .I 213 .T Numerical Inversion of Laplace Transforms .B CACM March, 1960 .A Schmittroth, L. A. .N CA600305 JB March 22, 1978 2:00 PM .X 213 5 213 213 5 213 213 5 213 .I 214 .T An Algorithm Defining ALGOL Assignment Statements .B CACM March, 1960 .A Floyd, R. W. .N CA600304 JB March 22, 1978 2:01 PM .X 205 4 214 210 4 214 214 4 214 214 4 214 214 4 214 1593 4 214 1982 4 214 398 4 214 642 4 214 669 4 214 100 4 214 123 4 214 164 4 214 1 5 214 214 5 214 214 5 214 214 5 214 53 5 214 91 5 214 .I 215 .T The Execute Operations-A Fourth Mode of Instruction Sequencing .B CACM March, 1960 .A Brooks, F. P. .N CA600303 JB March 22, 1978 2:02 PM .X 215 4 215 215 5 215 215 5 215 215 5 215 58 5 215 .I 216 .T A Note on the Use of the Abacus in Number Conversion .B CACM March, 1960 .A Kanner, H. .N CA600302 JB March 22, 1978 2:03 PM .X 216 5 216 216 5 216 216 5 216 .I 217 .T Soviet Computer Technology-1959 .B CACM March, 1960 .N CA600301 JB March 22, 1978 2:04 PM .X 217 5 217 217 5 217 217 5 217 323 5 217 689 5 217 217 6 217 217 6 217 323 6 217 3197 6 217 .I 218 .T Computer Preparation of a Poetry Concordance .B CACM February, 1960 .A Painter, J. A. .N CA600214 JB March 22, 1978 2:05 PM .X 218 5 218 218 5 218 218 5 218 .I 219 .T Marriage-with Problems .B CACM February, 1960 .A Shuchter, J. P. .N CA600213 JB March 22, 1978 2:06 PM .X 219 5 219 219 5 219 219 5 219 .I 220 .T A New Method of Computation of Square Roots Without Using Division .B CACM February, 1960 .A Traub, J. F. .N CA600212 JB March 22, 1978 2:08 PM .X 220 5 220 220 5 220 220 5 220 .I 221 .T The Basic Side of Tape Labeling .B CACM February, 1960 .A Logan, W. A. .N CA600211 JB March 22, 1978 2:09 PM .X 121 5 221 221 5 221 221 5 221 221 5 221 221 6 221 .I 222 .T Coding Isomorphisms .W The coding of external symbols into symbols internal to a compute can sometimes be carried out in such a way that relevant informational properties are preserved, but in a form much more easily dealt with. A case in point is presented. .B CACM February, 1960 .A Lynch, W. C. .N CA600210 JB March 22, 1978 2:12 PM .X 222 4 222 222 4 222 364 4 222 799 4 222 222 5 222 222 5 222 222 5 222 44 5 222 82 5 222 .I 223 .T Selfcipher: Programming .B CACM February, 1960 .A Pelta, H. N. .N CA600209 JB March 22, 1978 2:13 PM .X 223 5 223 223 5 223 223 5 223 .I 224 .T Sequential Formula Translation .W The syntax of an algorithmic language such as ALGOL is conveniently described as a sequence of states indicated by an element called cellar. Transitions are controlled by admissible state-symbol pairs which may be represented by a transition matrix. This description of syntax furnishes at the same time an extremely simple rule for translating into machine programs statements in the algorithmic language. Sequential treatment, however, is not feasible in the case of certain optimizing processes such as recursive address calculation. .B CACM February, 1960 .A Samelson, K. Bauer, F. L. .N CA600208 JB March 22, 1978 2:17 PM .X 224 4 224 364 4 224 1139 5 224 1141 5 224 1215 5 224 1223 5 224 224 5 224 224 5 224 224 5 224 267 5 224 1647 5 224 1781 5 224 1787 5 224 1792 5 224 364 5 224 405 5 224 438 5 224 98 5 224 763 5 224 100 6 224 123 6 224 196 6 224 196 6 224 196 6 224 919 6 224 990 6 224 1007 6 224 1025 6 224 1046 6 224 1131 6 224 1139 6 224 1140 6 224 1141 6 224 1149 6 224 1179 6 224 1198 6 224 1215 6 224 1215 6 224 1223 6 224 1265 6 224 1303 6 224 1323 6 224 1358 6 224 1366 6 224 1421 6 224 1460 6 224 1462 6 224 1463 6 224 1467 6 224 1468 6 224 1477 6 224 1491 6 224 1491 6 224 1496 6 224 1496 6 224 1531 6 224 1535 6 224 1565 6 224 1601 6 224 1602 6 224 1605 6 224 1613 6 224 1614 6 224 1626 6 224 1641 6 224 1781 6 224 1787 6 224 1788 6 224 205 6 224 224 6 224 224 6 224 224 6 224 224 6 224 224 6 224 224 6 224 224 6 224 224 6 224 224 6 224 224 6 224 224 6 224 224 6 224 224 6 224 249 6 224 249 6 224 288 6 224 303 6 224 316 6 224 381 6 224 398 6 224 399 6 224 11 6 224 44 6 224 55 6 224 77 6 224 77 6 224 77 6 224 77 6 224 93 6 224 98 6 224 404 6 224 404 6 224 404 6 224 405 6 224 410 6 224 412 6 224 438 6 224 463 6 224 464 6 224 464 6 224 483 6 224 3184 6 224 3188 6 224 584 6 224 600 6 224 631 6 224 631 6 224 680 6 224 691 6 224 763 6 224 763 6 224 763 6 224 799 6 224 799 6 224 .I 225 .T A Techniquefor Handling Macro Instructions (Corrigendum) .B CACM February, 1960 .A Greenwald, I. D. .N CA600207 JB March 22, 1978 2:18 PM .X 225 5 225 225 5 225 225 5 225 .I 226 .T Solution of Polynomial Equation by Bairstow-Hitchcock Method (Algorithm 3) .B CACM February, 1960 .A Grau, A. A. .N CA600206 JB March 22, 1978 2:20 PM .X 226 5 226 226 5 226 226 5 226 .I 227 .T ROOTFINDER (Algorithm 2) .B CACM February, 1960 .A Wegstein, J. .N CA600205 JB March 22, 1978 2:20 PM .X 227 5 227 227 5 227 227 5 227 .I 228 .T QUADI (Algorithm 1) .B CACM February, 1960 .A Herbold, R. J. .N CA600204 JB March 22, 1978 2:21 PM .X 228 5 228 228 5 228 228 5 228 .I 229 .T A Terminology Proposal .B CACM February, 1960 .A Gruenberger, F. .N CA600203 JB March 22, 1978 2:24 PM .X 229 5 229 229 5 229 229 5 229 .I 230 .T A Proposal for Character Code Compatibility .B CACM February, 1960 .A Bemer, R. W. .N CA600202 JB March 22, 1978 2:25 PM .X 230 5 230 230 5 230 230 5 230 333 5 230 230 6 230 .I 231 .T A Proposal for a Set of Publication Standards for Use by the ACM .B CACM February, 1960 .A Kent, E. R. .N CA600201 JB March 22, 1978 2:26 PM .X 231 5 231 231 5 231 231 5 231 .I 232 .T A High-Speed Sorting Procedure .B CACM January, 1960 .A Frank, R. M. Lazarus, R. B. .N CA600104 JB March 22, 1978 2:27 PM .X 232 5 232 232 5 232 232 5 232 852 5 232 864 5 232 232 6 232 232 6 232 309 6 232 74 6 232 74 6 232 .I 233 .T Abstracts-Additional Nuclear Reactor Codes .B CACM January, 1960 .A Nather, V. Sangren, W. .N CA600103 JB March 22, 1978 2:29 PM .X 233 5 233 233 5 233 233 5 233 .I 234 .T A SAP-Like Assembly Program for the IBM 650 .B CACM January, 1960 .A Speckhard, A. E. .N CA600102JB March 22, 1978 2:30 PM .X 234 5 234 234 5 234 234 5 234 .I 235 .T Two Think Pieces .B CACM January, 1960 .A Bagley, P. R. .N CA600101 JB March 22, 1978 2:30 PM .X 235 5 235 235 5 235 235 5 235 .I 236 .T Soviet Cybernetics and Computer .W This article records observations on Soviet research and technology in cybernetics and computer science, made by the author during a visit to the Soviet Union as a delegate to the IFAC Congress on Automatic Control held in Moscow in the summer of 1960. .B CACM December, 1961 .A Feigenbaum, E. A. .N CA611214 JB March 15, 1978 10:06 PM .X 1349 5 236 236 5 236 236 5 236 236 5 236 236 6 236 323 6 236 83 6 236 415 6 236 .I 237 .T Computer Production of Peek-A-Boo Sheets .B CACM December, 1961 .A Robbins, D. .N CA611213 JB March 15, 1978 10:07 PM .X 237 5 237 237 5 237 237 5 237 .I 238 .T Simulation and Analysis of Biochemical Systems .B CACM December, 1961 .A Garfinkel, D. Rutledge, J. D. Higgins, J. J. .N CA611212 JB March 15, 1978 10:09 PM .X 238 4 238 238 4 238 633 4 238 643 4 238 238 5 238 238 5 238 238 5 238 633 5 238 643 5 238 238 6 238 238 6 238 633 6 238 643 6 238 .I 239 .T Inefficiency of the Use of Boolean Functions for Information Retrieval Systems .B CACM December, 1961 .A Verhoeff, J. Goffman, W. Belzer, J. .N CA611211 JB March 15, 1978 10:10 PM .X 239 5 239 239 5 239 239 5 239 .I 240 .T Processing Magnetic Tape Files with Variable Blocks .B CACM December, 1961 .A Graham, J. W. Sprott, D. A. .N CA611210 JB March 15, 1978 10:11 PM .X 240 5 240 240 5 240 240 5 240 .I 241 .T Machine Calculation of Moments of a Probability Distribution .W A method is presented for the calculation on a machine of the moments of a probability distribution, necessitating little more than n additions and n references to memory for each moment, instead of the minimum of n multiplication, 2n additions, and 2n references to memory required by the most straightforward method (where n is the number of entries in the probability distribution). The method is directly applicable when a tabulated distribution exists, as when it has been computed by repeated convolution; but in this case it conserves both time and accuracy. .B CACM December, 1961 .A Lechner, J. A. .N CA611209 JB March 15, 1978 10:15 PM .X 241 5 241 241 5 241 241 5 241 .I 242 .T Notes on Geometric Weighted Check Digit Verification .W This note describes a method for utilizing geometric weight modulus 11 checking digits on a computer which does not have either multiplication or division. In addition some attempt has been made to show some limitations of this system. .B CACM December, 1961 .A Wilson, J. G. .N CA611208 JB March 15, 1978 10:17 PM .X 242 5 242 242 5 242 242 5 242 .I 243 .T N-Dimensional Codes for Detecting and Correcting Multiple Errors .W The paper introduces a new family of codes for detecting and correcting multiple errors in a binary-coded message. The message itself is arranged (conceptually) into a multidimensional rectangular array. The processes of encoding and error detection are based upon parity evaluations along prescribed dimensions of the array. Effectiveness of the codes is increased by introducing a "system check bit", which is essentially a parity check on the other parity bits. Only three-dimensional codes are discussed in this paper with parity evaluations along the horizontal, the vertical, and one main diagonal. However, the family of codes is not restricted to three dimensions, as evidenced by the discussion by Minnick and Ashenhurst on a similar multidimensional single-bit selection plan used for another purpose [6]. A four-dimensional code, correcting three and detecting four errors, has been developed; the extension to higher-dimensional codes with greater correction power is straightforward. .B CACM December, 1961 .A Rubinoff, M. .N CA611207 JB March 15, 1978 10:23 PM .X 243 5 243 243 5 243 243 5 243 .I 244 .T Incomplete Elliptic Integrals (Algorithm 73) .B CACM December, 1961 .A Kriebel, D. C. .N CA611206 JB March 15, 1978 10:24 PM .X 244 5 244 244 5 244 244 5 244 .I 245 .T A Set of Associate Legendre Polynomials of the Second Kind (Algorithm 62) .B CACM December, 1961 .A Herndon, J. R. .N CA611205 JB March 15, 1978 10:25 PM .X 1222 5 245 245 5 245 245 5 245 245 5 245 1130 6 245 245 6 245 310 6 245 .I 246 .T Least-Squares Fit by Orthogonal Polynomials (Algorithm 28) .B CACM December, 1961 .A MacMillan, D. B. .N CA611204 JB March 15, 1978 10:27 PM .X 246 5 246 246 5 246 246 5 246 .I 247 .T Incomplete Elliptic Integrals (Algorithm 73) .B CACM December, 1961 .A Jefferson, D. K. .N CA611203 JB March 15, 1978 10:27 PM .X 247 5 247 247 5 247 247 5 247 .I 248 .T What is Proprietary In Mathematical Programming?-Impressions of a Panel Discussion .W A panel discussion on "What is Proprietary in Mathematical Programming?" was sponsored by the Special Interest Committee on Mathematical Programming of the ACM during a Hall of Discussion/on September 7th at the 16th National ACM meeting in Los Angeles. This note consists solely of the impressions garnered by the moderator of the panel and does not necessarily represent the position of any of the panelists or other participants in the discussion. .B CACM December, 1961 .A Smith, L. W. .N CA611202 JB March 15, 1978 10:31 PM .X 248 5 248 248 5 248 248 5 248 .I 249 .T Specification Languages for Mechanical Languages and Their Processors*-A Baker's Dozen .B CACM December, 1961 .A Gorn, S. .N CA611201 JB March 15, 1978 10:32 PM .X 249 4 249 249 4 249 249 4 249 254 4 249 272 4 249 1102 4 249 1109 4 249 1140 4 249 1188 4 249 1306 4 249 1464 4 249 1491 4 249 1767 4 249 1781 4 249 1787 4 249 1949 4 249 321 4 249 2059 4 249 2126 4 249 435 4 249 437 4 249 438 4 249 463 4 249 483 4 249 491 4 249 2732 4 249 560 4 249 583 4 249 3073 4 249 3185 4 249 627 4 249 631 4 249 632 4 249 642 4 249 644 4 249 653 4 249 680 4 249 761 4 249 762 4 249 763 4 249 123 4 249 140 4 249 919 4 249 989 4 249 196 5 249 249 5 249 249 5 249 249 5 249 1425 5 249 1781 5 249 303 5 249 438 5 249 51 5 249 762 5 249 123 6 249 196 6 249 196 6 249 919 6 249 990 6 249 1007 6 249 1046 6 249 1131 6 249 1139 6 249 1140 6 249 1149 6 249 1198 6 249 1215 6 249 1223 6 249 1265 6 249 1303 6 249 1323 6 249 1358 6 249 1366 6 249 1421 6 249 1460 6 249 1462 6 249 1463 6 249 1467 6 249 1468 6 249 1477 6 249 1491 6 249 1496 6 249 1531 6 249 1535 6 249 1565 6 249 1601 6 249 1602 6 249 1613 6 249 1614 6 249 1626 6 249 1641 6 249 1787 6 249 1788 6 249 205 6 249 224 6 249 224 6 249 249 6 249 249 6 249 249 6 249 249 6 249 288 6 249 303 6 249 316 6 249 381 6 249 398 6 249 11 6 249 77 6 249 404 6 249 410 6 249 463 6 249 464 6 249 483 6 249 483 6 249 3184 6 249 3188 6 249 584 6 249 600 6 249 680 6 249 691 6 249 763 6 249 799 6 249 .I 250 .T An Engineering Application of Logic-Structure Tables .B CACM November, 1961 .A Nickerson, R. C. .N CA611118 JB March 15, 1978 10:34 PM .X 250 4 250 1237 4 250 1237 5 250 250 5 250 250 5 250 250 5 250 320 5 250 2220 5 250 753 5 250 1172 6 250 1237 6 250 1327 6 250 1354 6 250 1489 6 250 1548 6 250 250 6 250 250 6 250 250 6 250 320 6 250 753 6 250 .I 251 .T Ballistic Cam Design .W This paper presents a digital computer program for the rapid calculation of manufacturing data essential to the design of preproduction cams which are utilized in ballistic computers of tank fire control systems. The cam profile generated introduces the superelevation angle required by tank main armament for a particular type ammunition. .B CACM November, 1961 .A Archambault, M. .N CA611117 JB March 15, 1978 10:37 PM .X 251 5 251 251 5 251 251 5 251 .I 252 .T Programming a Duplex Computer System .W This paper describes a method of duplex-computer programming that has been used with two computers in a military defense system. The method combines special programs with a basic data processing program package. The duplex operation gives the system greater reliability. After achieving the required level of integration, both computers do similar processing on the same inputs and continually cross-check the intermediate and final results. .B CACM November, 1961 .A Dow, J. .N CA611116 JB March 15, 1978 10:40 PM .X 252 5 252 252 5 252 252 5 252 .I 253 .T On a Program for Ray-Chaudhuri's Algorithm for a Minimum Cover of an Abstract Complex .B CACM November, 1961 .A Foata, D. C. .N CA611115 JB March 15, 1978 10:41 PM .X 253 5 253 253 5 253 253 5 253 .I 254 .T SMALGOL-61 .W Prior to and during the 1961 Western Joint Computer Conference, several people in the Joint Users Groups had expressed interest in defining a "smalgol" language. This is to be an ALGOL language for use with compilers on relatively small size computers. A preliminary report resulted. At the ACM National Conference four months later, after considering several counter proposals, a final version was agreed upon by a subcommittee. The recommendations of the Subcommittee for a standard subset of ALGOL 60 for use on small computers is presented here. .B CACM November, 1961 .A Bachelork, G. A. Dempster, J. R. H. Knuth, D. E. Speroni, J. .N CA611114 JB March 15, 1978 10:44 PM .X 249 4 254 254 4 254 254 4 254 254 4 254 272 4 254 1102 4 254 1109 4 254 1140 4 254 1188 4 254 1234 4 254 1306 4 254 1464 4 254 1491 4 254 1767 4 254 1781 4 254 1787 4 254 1949 4 254 321 4 254 2059 4 254 2126 4 254 435 4 254 437 4 254 463 4 254 483 4 254 491 4 254 2732 4 254 560 4 254 583 4 254 3073 4 254 627 4 254 631 4 254 632 4 254 642 4 254 644 4 254 653 4 254 680 4 254 761 4 254 762 4 254 763 4 254 123 4 254 140 4 254 919 4 254 989 4 254 196 5 254 254 5 254 254 5 254 254 5 254 321 5 254 387 5 254 794 5 254 254 6 254 .I 255 .T Augmentation (Algorithm 68) .B CACM November, 1961 .A Breed, L. M. .N CA611113 JB March 15, 1978 10:45 PM .X 255 5 255 255 5 255 255 5 255 .I 256 .T A Set of Test Matrices (Algorithm 52) .B CACM November, 1961 .A Dubay, G. H. .N CA611112 JB March 15, 1978 10:46 PM .X 256 5 256 256 5 256 256 5 256 .I 257 .T Invert (Algorithm 42) .B CACM November, 1961 .A Knapp, A. W. Shaman, P. .N CA611111 JB March 15, 1978 10:47 PM .X 257 5 257 257 5 257 257 5 257 .I 258 .T Composition Generator (Algorithm 72) .B CACM November, 1961 .A Hellerman, O. Ogden, S. .N CA611110 JB March 15, 1978 10:48 PM .X 258 5 258 258 5 258 258 5 258 .I 259 .T Permutation (Algorithm 71) .B CACM November, 1961 .A Coveyou, R. R. Sullivan, J. G. .N CA611109 JB March 15, 1978 10:52 PM .X 259 5 259 259 5 259 259 5 259 .I 260 .T Interpolation By Aitken (Algorithm 70) .B CACM November, 1961 .A Mifsud, C. J. .N CA611108 JB March 15, 1978 10:53 PM .X 260 5 260 260 5 260 260 5 260 .I 261 .T Tape Splitting .B CACM November, 1961 .A Moore, D. P. .N CA611107 JB March 15, 1978 10:54 PM .X 261 5 261 261 5 261 261 5 261 .I 262 .T MAP .B CACM November, 1961 .A Moore, C. L. Ruwe, M. L. .N CA611106 JB March 15, 1978 10:54 PM .X 262 5 262 262 5 262 262 5 262 .I 263 .T Library Loading with Alternate Routine Selection .B CACM November, 1961 .A Moore, D. P. .N CA611105 JB March 15, 1978 10:55 PM .X 263 5 263 263 5 263 263 5 263 .I 264 .T A Generalized Polyphase Merge Algorithm .B CACM November, 1961 .A Reynolds, S. W. .N CA611104 JB March 15, 1978 10:56 PM .X 264 5 264 264 5 264 264 5 264 479 5 264 264 6 264 299 6 264 .I 265 .T Low Level Language Subroutines for Use Within Fortran .W This paper describes some subroutines, coded in symbolic languages and for use within Fortran coded programs, to deal with "special arithmetic" (e.g. multi-precision arithmetic), symbol manipulation, bit manipulation and expanded character set input-output, and visual display. .B CACM November, 1961 .A Barnett, M. P. .N CA611103 JB March 15, 1978 10:59 PM .X 265 5 265 265 5 265 265 5 265 464 5 265 720 5 265 265 6 265 265 6 265 404 6 265 464 6 265 474 6 265 .I 266 .T Fitting Spheres by the Method of Least Squares .B CACM November, 1961 .A Robinson, S. M. .N CA611102 JB March 15, 1978 11:00 PM .X 266 5 266 266 5 266 266 5 266 .I 267 .T Some Proposals for Improving the Efficiency of ALGOL 60 .B CACM November, 1961 .A Wilkes, M. V. .N CA611101 JB March 15,1978 11:01 PM .X 267 4 267 1139 4 267 1141 4 267 1215 4 267 1223 4 267 1647 4 267 1781 4 267 1787 4 267 1792 4 267 364 4 267 405 4 267 438 4 267 763 4 267 1323 5 267 224 5 267 267 5 267 267 5 267 267 5 267 267 6 267 3184 6 267 799 6 267 .I 268 .T Stochastic Evaluation of a Static Storage Allocation .B CACM October, 1961 .A Cohen, L. J. .N CA611013 JB March 16, 1978 12:48 PM .X 268 5 268 268 5 268 268 5 268 .I 269 .T Core Allocation Based on Probability .B CACM October, 1961 .A Riskin, B. N. .N CA611012 JB March 16, 1978 12:49 PM .X 269 5 269 269 5 269 269 5 269 .I 270 .T Techniques for Storage Allocation Algorithms .B CACM October, 1961 .A Kelley Jr., J. E. .N CA611011 JB March 16, 1978 12:50 PM .X 270 5 270 270 5 270 270 5 270 678 5 270 270 6 270 .I 271 .T A Semi-Automatic Storage Allocation System at Loading Time .B CACM October, 1961 .A Heising, W. P. Larner, R. A. .N CA611010 JB March 16, 1978 12:51 PM .X 972 5 271 271 5 271 271 5 271 271 5 271 1774 5 271 560 5 271 800 6 271 196 6 271 1173 6 271 271 6 271 271 6 271 271 6 271 273 6 271 276 6 271 .I 272 .T A Storage Allocation Scheme for ALGOL 60 .W A storage allocation scheme for a machine with a 2048 instruction core store and a magnetic drum is described. The use of the drum for storing program blocks and/or data must be directed by the programmer through auxiliary information in the ALGOL program. The administrative routines controlling the storage at run time are described in full. A detailed example is given. .B CACM October, 1961 .A Jensen, J. Mondrup, P. Naur, P. .N CA611009 JB March 16, 1978 12:54 PM .X 249 4 272 254 4 272 272 4 272 1102 4 272 1109 4 272 1140 4 272 1188 4 272 1306 4 272 1464 4 272 1491 4 272 1767 4 272 1781 4 272 1787 4 272 1949 4 272 321 4 272 2059 4 272 2126 4 272 435 4 272 437 4 272 463 4 272 483 4 272 491 4 272 2732 4 272 560 4 272 583 4 272 3073 4 272 627 4 272 631 4 272 632 4 272 642 4 272 644 4 272 653 4 272 680 4 272 761 4 272 762 4 272 763 4 272 123 4 272 140 4 272 919 4 272 989 4 272 196 5 272 272 5 272 272 5 272 272 5 272 .I 273 .T Experience in Automatic Storage Allocation .B CACM October, 1961 .A Collins Jr., G. O. .N CA611008 JB March 16, 1978 12:55 PM .X 972 5 273 273 5 273 273 5 273 273 5 273 2911 5 273 1879 6 273 271 6 273 273 6 273 273 6 273 276 6 273 2435 6 273 2498 6 273 2734 6 273 2773 6 273 2983 6 273 .I 274 .T Dynamic Storage Allocation in the Atlas Computer, Including an Automatic Use of a Backing Store .B CACM October, 1961 .A Fotheringham, J. .N CA611007 JB March 16, 1978 12:57 PM .X 274 5 274 274 5 274 274 5 274 1754 5 274 2358 5 274 488 5 274 1746 6 274 1751 6 274 1753 6 274 274 6 274 274 6 274 274 6 274 376 6 274 .I 275 .T Dynamic Storage Allocation for an Information Retrieval System .B CACM October, 1961 .A Sams, B. H. .N CA611006 JB March 16, 1978 12:58 PM .X 275 5 275 275 5 275 275 5 275 .I 276 .T Program Organization and Record Keeping for Dynamic Storage Allocation .W The material presented in this paper is part of the design plan of the core allocation portion of the ASCII-MATIC Programming System. Project ASCII-MATIC is concerned with the application of computer techniques to the activities of certain headquarters military intelligence operations of the U.S. Army. .B CACM October, 1961 .A Holt, A. W. .N CA611005 JB March 16, 1978 1:02 PM .X 972 5 276 276 5 276 276 5 276 276 5 276 1471 5 276 800 6 276 271 6 276 273 6 276 276 6 276 276 6 276 .I 277 .T Problems of Storage Allocation in a Multiprocessor Multiprogrammed System .B CACM October, 1961 .A Maher, R. J. .N CA611004 JB March 16, 1978 1:12 PM .X 277 5 277 277 5 277 277 5 277 .I 278 .T A General Formulation of storage Allocation .W Formalization of a general computer storage allocation process is attempted. With a given computer M is associated a fictitious computer M' essentially identical to M except in respect to possession of unbounded primary storage. Mappings of the total storage set (internal and external) of M into the direct address set of M' are introduced. A program sequence P for M' is termed M-admissible (relative to a specific execution time period) if there is a mapping underwhich P and its effective data referents are all located in the direct address set of M. Storage allocation is considered as a process of establishing for an arbitrary M' program a sequence of mappings, a decoupling of the program into M-admissible subprograms and a linking set of interludes. An existence proof in terms of a completely interpretive M program as indicated. Some special cases are discussed. Various restrictions on generality of M' programs are considered under which more practical realization of allocation processes becomes tractable. .B CACM October, 1961 .A Roberts Jr., A. E. .N CA611003 JB March 16, 1978 1:22 PM .X 278 5 278 278 5 278 278 5 278 .I 279 .T The Case for Dynamic storage Allocation .B CACM October, 1961 .A Sams, B. H. .N CA611002 JB March 16, 1978 1:23 PM .X 279 5 279 279 5 279 279 5 279 657 5 279 279 6 279 409 6 279 .I 280 .T A Preplanned Approach to a Storage Allocating Compiler .B CACM October, 1961 .A O'Neil, R. W. .N CA611001 JB March 16, 1978 1:24 PM .X 280 5 280 280 5 280 280 5 280 .I 281 .T Putting a Hex on e^x .W Recent notes on approximate natural antilogy have not considered indirect formulations for describing e^x. In this note we produce a particular family of very fast, high precision and eminently practical exponential evaluation formulas derived from one such formulation. .B CACM October, 1961 .A Feurzeig, W. .N CA610913 JB March 16, 1978 1:27 PM .X 281 5 281 281 5 281 281 5 281 .I 282 .T Optimum Tape-Writing Procedures .W Consider a magnetic tape system with a read check after writing. Where an error occurs in writing a record, a programmed error routine may either bypass some or all of the area on tape or try to rewrite the record on the same area. This paper evaluates these two procedures on the basis of expected loss of computer time and develops a decision rule for selecting the optimum procedure. The rule depends critically on the number of times the tape being written will be used in the future. In the case where the optimum procedure is to bypass an area, a second decision-the size of the area to be bypassed-is necessary. A formula is developed to determine the optimum area to be bypassed for each procedure. .B CACM September, 1961 .A Hutchinson, K. .N CA610912 JB March 16, 1978 1:32 PM .X 282 5 282 282 5 282 282 5 282 .I 283 .T Inversion of a Complex Matrix .B CACM September, 1961 .A Tornheim, L. .N CA610911 JB March 16, 1978 1:44 PM .X 283 5 283 283 5 283 283 5 283 .I 284 .T Manipulation of Algebraic Expressions .W An algorithm for algebraically manipulating expressions of the form SUM{CiPi, i=1,...,n}; has been developed in conjunction with the development of programs for systems analysis problems. This algorithm enablesus to derive over-all system transfer functions from algebraically described block diagrams of any linear continuous multi-loop feedback system. The machine representation of the derived expression, is, by virtue of the algorithm, in a form which simplifies the task of compiling. The algorithm was developed for a particular purpose in connection with system analysis studies. However, its application as a mathematical device extends far beyond the confines of the original problem. .B CACM September, 1961 .A Rom, A. R. M. .N CA610910 JB March 16, 1978 9:36 PM .X 964 5 284 1396 5 284 284 5 284 284 5 284 284 5 284 964 6 284 1028 6 284 1029 6 284 1083 6 284 1132 6 284 1214 6 284 1278 6 284 1334 6 284 1365 6 284 1386 6 284 1387 6 284 1388 6 284 1392 6 284 1393 6 284 1394 6 284 1395 6 284 1396 6 284 1397 6 284 1496 6 284 284 6 284 284 6 284 407 6 284 3199 6 284 3200 6 284 3201 6 284 3202 6 284 3203 6 284 3204 6 284 561 6 284 561 6 284 730 6 284 759 6 284 .I 285 .T Solution of Tridiagonal Matrices .B CACM September, 1961 .A Wenrick, R. C. Houghton, A. V. .N CA610909 JB March 16, 1978 9:39 PM .X 285 5 285 285 5 285 285 5 285 .I 286 .T An Iterative Method for Inversion of Power Series .B CACM September, 1961 .A Bramhall, J. N. .N CA610908 JB March 16, 1978 9:41 PM .X 286 5 286 286 5 286 286 5 286 .I 287 .T The Generalized Important Event Technique .B CACM September, 1961 .A Shapiro, N. Vreenegoor, H. .N CA610907 JB March 16, 1978 9:42 PM .X 287 5 287 287 5 287 287 5 287 .I 288 .T A Syntactical Chart of ALGOL 60 .B CACM September, 1961 .A Taylor, W. Turner, L. Waychoff, R. .N CA610906JB March 16, 1978 9:43 PM .X 989 5 288 288 5 288 288 5 288 288 5 288 1781 5 288 729 5 288 123 6 288 196 6 288 196 6 288 919 6 288 990 6 288 1007 6 288 1046 6 288 1131 6 288 1139 6 288 1140 6 288 1149 6 288 1198 6 288 1215 6 288 1223 6 288 1265 6 288 1303 6 288 1323 6 288 1358 6 288 1366 6 288 1421 6 288 1460 6 288 1462 6 288 1463 6 288 1467 6 288 1468 6 288 1477 6 288 1491 6 288 1496 6 288 1531 6 288 1535 6 288 1565 6 288 1601 6 288 1602 6 288 1613 6 288 1614 6 288 1626 6 288 1641 6 288 1787 6 288 1788 6 288 205 6 288 224 6 288 249 6 288 288 6 288 288 6 288 288 6 288 316 6 288 381 6 288 398 6 288 11 6 288 404 6 288 410 6 288 463 6 288 464 6 288 483 6 288 3184 6 288 3184 6 288 3188 6 288 584 6 288 600 6 288 616 6 288 680 6 288 691 6 288 763 6 288 799 6 288 .I 289 .T Critical Path Scheduling (Algorithm 40) .B CACM September, 1961 .A Alexander, N. P. .N CA610905 JB March 16, 1978 9:44 PM .X 289 5 289 289 5 289 289 5 289 .I 290 .T Chain Tracing (Algorithm 69) .B CACM September, 1961 .A Mayoh, B. H. .N CA610904 JB March 16, 1978 9:45 PM .X 290 5 290 290 5 290 290 5 290 .I 291 .T Use of MOBOL in PreparingRetrieval Programs .B CACM September, 1961 .A Hoffman, J. Opler, A. .N CA610903 JB March 16, 1978 9:50 PM .X 291 5 291 291 5 291 291 5 291 .I 292 .T An Information Retrieval Language for Legal Studies .B CACM September, 1961 .A Kehl, W. B. Horty, J. F. Bacon, C. R. T. Mitchell, D. S. .N CA610902 JB March 16, 1978 9:51 PM .X 292 5 292 292 5 292 292 5 292 .I 293 .T The Applied Mathematics Laboratory of the David W. Taylor Model Basin .B CACM September, 1961 .A Richstone, M. .N CA610901 JB March 16, 1978 10:01 PM .X 293 5 293 293 5 293 293 5 293 .I 294 .T An Imaginary Number System .B CACM August, 1961 .A Knuth, D. .N CA610810 JB March 16, 1978 10:02 PM .X 294 5 294 294 5 294 294 5 294 .I 295 .T Rational Approximations for the Error Function and for Similar Functions .B CACM August, 1961 .A Clendenin, W. W. .N CA610809 JB March 16, 1978 10:03 PM .X 295 5 295 295 5 295 295 5 295 .I 296 .T A Note on Multiple Precision Arithmetic .B CACM August, 1961 .A Cox, A. G. Luther, H. A. .N CA610808 JB March 16, 1978 10:04 PM .X 1393 5 296 296 5 296 296 5 296 296 5 296 106 6 296 296 6 296 731 6 296 .I 297 .T A Note on Fitting Great Circles by Least Squares .B CACM August, 1961 .A Marcus, C. F. .N CA610807 JB March 16, 1978 10:05 PM .X 297 4 297 122 5 297 297 5 297 297 5 297 297 5 297 .I 298 .T A 48-Bit Pseudo-Random Number Generator .W A new 48-bit pseudo-random number generator, suitable for several computers, was tested statistically for randomness to determine its adequacy for use in Monte Carlo programs. Frequency tests, distributions of certain low-order moments, runs up and down, and runs above and below the mean were applied to one-half million generated numbers lying within the interval (0,1) and to three sets of integers obtained from specified bits within the generated numbers. These tests substantiated the randomness of all numbers except for the set of integers coming from the least significant bits. .B CACM August, 1961 .A Kuehn, H. G. .N CA610806 JB March 16, 1978 10:09 PM .X 298 5 298 298 5 298 298 5 298 .I 299 .T A Generalized Polyphase Merge Algorithm .B CACM August, 1961 .A Reynolds, S. W. .N CA610805 JB March 16, 1978 10:10 PM .X 299 5 299 299 5 299 299 5 299 2146 5 299 479 5 299 862 5 299 863 5 299 861 6 299 862 6 299 863 6 299 264 6 299 299 6 299 299 6 299 299 6 299 299 6 299 479 6 299 .I 300 .T COBOL: A Sample Problem .W A simplified Merchandise Control problem has been chosen for presenting COBOL to users and potential users of computing systems. A mythical department store, "E. Language Bros., Inc.", is programming in the COBOL language one of the many runs on its computer. .B CACM August, 1961 .A Mackinson, T. N. .N CA610804 JB March 16, 1978 10:12 PM .X 300 5 300 300 5 300 300 5 300 638 5 300 300 6 300 .I 301 .T A Set of Test Matrices (Algorithm 52) .B CACM August, 1961 .A Gilbert, H. E. .N CA610803 JB March 16, 1978 10:13 PM .X 301 5 301 301 5 301 301 5 301 .I 302 .T Augmentation (Algorithm 68) .B CACM August, 1961 .A Rice, H. G. .N CA610802 JB March 16, 1978 10:14 PM .X 302 5 302 302 5 302 302 5 302 .I 303 .T Some Basic Terminology Connected With Mechanical Languages and Their Processors .W The suggestions in this paper are part of the terminology used in work for the University of Pennsylvania's Office of computer Research and Education. The work is jointly supported by the National Science Foundation and the Air Force Office of Scientific Research. .B CACM August, 1961 .A Gorn, S. .N CA610801 JB March 16, 1978 10:16 PM .X 249 5 303 303 5 303 303 5 303 303 5 303 438 5 303 3185 5 303 196 6 303 224 6 303 249 6 303 303 6 303 303 6 303 303 6 303 51 6 303 77 6 303 438 6 303 .I 304 .T Nth Roots of a Complex Number (Algorithm 53) .B CACM July, 1961 .A Nestor Jr., C. W. .N CA610713 JB March 16, 1978 10:17 PM .X 304 5 304 304 5 304 304 5 304 .I 305 .T CRAM (Algorithm 67) .B CACM July, 1961 .A Caffrey, J. .N CA610712 JB March 16, 1978 10:18 PM .X 305 5 305 305 5 305 305 5 305 .I 306 .T INVRS (Algorithm 66) .B CACM July, 1961 .A Caffery, J. .N CA610711 JB March 16, 1978 10:19 PM .X 306 5 306 306 5 306 306 5 306 .I 307 .T FIND (Algorithm 65) .B CACM July, 1961 .A Hoare, C. A. R. .N CA610710 JB March 16, 1978 10:20 PM .X 307 5 307 307 5 307 307 5 307 2227 5 307 2783 5 307 3054 5 307 1175 6 307 1834 6 307 1880 6 307 1919 6 307 1969 6 307 1980 6 307 1997 6 307 307 6 307 307 6 307 307 6 307 308 6 307 309 6 307 309 6 307 2017 6 307 2679 6 307 776 6 307 .I 308 .T QUICKSORT (Algorithm 64) .B CACM July, 1961 .A Hoare, C. A. R. .N CA610709 JB March 16, 1978 10:21 PM .X 1175 5 308 1919 5 308 1969 5 308 1997 5 308 308 5 308 308 5 308 308 5 308 2191 5 308 2388 5 308 2679 5 308 3054 5 308 3121 5 308 864 6 308 864 6 308 970 6 308 1175 6 308 1175 6 308 1175 6 308 1175 6 308 1190 6 308 1228 6 308 1312 6 308 1880 6 308 1919 6 308 1969 6 308 1969 6 308 1969 6 308 1980 6 308 1997 6 308 1997 6 308 307 6 308 308 6 308 308 6 308 308 6 308 308 6 308 308 6 308 308 6 308 308 6 308 308 6 308 308 6 308 309 6 308 309 6 308 309 6 308 309 6 308 309 6 308 2017 6 308 2042 6 308 2456 6 308 2679 6 308 2709 6 308 74 6 308 3187 6 308 3187 6 308 507 6 308 716 6 308 776 6 308 783 6 308 .I 309 .T PARTITION (Algorithm 63) .B CACM July, 1961 .A Hoare, C. A. R. .N CA610708 JB March 16, 1978 10:22 PM .X 1919 5 309 309 5 309 309 5 309 309 5 309 2191 5 309 2388 5 309 2783 5 309 2784 5 309 3054 5 309 3121 5 309 864 5 309 864 6 309 1175 6 309 1175 6 309 1312 6 309 1729 6 309 232 6 309 1880 6 309 1919 6 309 1969 6 309 1980 6 309 1997 6 309 307 6 309 307 6 309 308 6 309 308 6 309 308 6 309 308 6 309 308 6 309 309 6 309 309 6 309 309 6 309 309 6 309 309 6 309 309 6 309 309 6 309 309 6 309 2017 6 309 2456 6 309 2679 6 309 2709 6 309 74 6 309 74 6 309 2783 6 309 3187 6 309 776 6 309 .I 310 .T A Set of Associate Legendre Polynomials of the Second Kind (Algorithm 62) .B CACM July, 1961 .A Herndon, J. R. .N CA610707 JB March 16, 1978 10:23 PM .X 1222 5 310 310 5 310 310 5 310 310 5 310 1130 6 310 245 6 310 310 6 310 .I 311 .T Procedures for Range Arithmetic (Algorithm 61) .B CACM July, 1961 .A Gibb, A. .N CA610706 JB March 16, 1978 10:25 PM .X 1524 5 311 1931 5 311 311 5 311 311 5 311 311 5 311 2214 5 311 2544 5 311 879 6 311 1177 6 311 1197 6 311 1524 6 311 311 6 311 311 6 311 311 6 311 311 6 311 2214 6 311 .I 312 .T A Further Note on Approximating e^x .B CACM July, 1961 .A Olivier, D. .N CA610705 JB March 16, 1978 10:26 PM .X 312 5 312 312 5 312 312 5 312 .I 313 .T An Iterative Method for Inversion of Power Series .B CACM July, 1961 .A Bramhall, J. N. .N CA610704 JB March 16, 1978 10:26 PM .X 313 5 313 313 5 313 313 5 313 .I 314 .T A Divisionless Method of Integer Conversion .B CACM July, 1961 .A Clarkson, W. K. Prince, B. M. .N CA610703 JB March 16, 1978 10:27 PM .X 314 5 314 314 5 314 314 5 314 .I 315 .T Solution of Tridiagonal Matrices .B CACM July, 1961 .A Wenrick, R. C. .N CA610702 JB March 16, 1978 10:28 PM .X 315 5 315 315 5 315 315 5 315 .I 316 .T An Algorithm for Equivalence Declarations .B CACM July, 1961 .A Arden, B. W. Galler, A. Graham, R. M. .N CA610701 JB March 16, 1978 10:29 PM .X 1072 5 316 1781 5 316 316 5 316 316 5 316 316 5 316 123 6 316 196 6 316 919 6 316 990 6 316 1007 6 316 1046 6 316 1131 6 316 1139 6 316 1140 6 316 1149 6 316 1198 6 316 1215 6 316 1223 6 316 1265 6 316 1303 6 316 1323 6 316 1358 6 316 1366 6 316 1421 6 316 1460 6 316 1462 6 316 1463 6 316 1467 6 316 1468 6 316 1477 6 316 1491 6 316 1496 6 316 1531 6 316 1535 6 316 1565 6 316 1601 6 316 1602 6 316 1613 6 316 1614 6 316 1626 6 316 1641 6 316 1787 6 316 1788 6 316 205 6 316 224 6 316 249 6 316 288 6 316 316 6 316 316 6 316 381 6 316 398 6 316 11 6 316 404 6 316 410 6 316 463 6 316 464 6 316 483 6 316 3184 6 316 3188 6 316 584 6 316 600 6 316 680 6 316 691 6 316 763 6 316 799 6 316 .I 317 .T On The Approximation of Curves by Line Segments Using Dynamic Programming .B CACM June, 1961 .A Bellman, R. .N CA610608 JB March 16, 1978 10:31 PM .X 317 5 317 317 5 317 317 5 317 497 5 317 867 5 317 317 6 317 317 6 317 497 6 317 .I 318 .T Combat Vehicle Firing Stability (Active Suspension) .B CACM June, 1961 .A Fischer, C. M. .N CA610607 JB March 16, 1978 10:32 PM .X 318 5 318 318 5 318 318 5 318 .I 319 .T On a Class of Iteration Formulas and Some Historical Notes .W The class of iteration formulas obtainable by rational approximations of "Euler's formula" is derived with the corresponding error estimates. Some historical notes on iterative procedures are followed by a derivation of Euler's formula with the associated error estimate in a new notation which simplifies the error estimate and suggests generalizations. The final section considers the Pade approximants to the "Euler polynomial" and shows how a number of known formulas may be derived from this unified approach. There is a short discussion of the "best" formula. .B CACM June, 1961 .A Traub, J. F. .N CA610606 JB March 16, 1978 10:36 PM .X 319 4 319 319 5 319 319 5 319 319 5 319 380 5 319 .I 320 .T Logic-Structure Tables .W Logic tables are an excellent way of developing and expressing the logic required in procedures, operations, systems and circuits. A set of rules for writing and using logic tables is explained by means of some simple examples. Then the logic structure of a vending machine is given in which two logic tables are used. Logic tables are two-dimensional in nature, enabling us to fully express and consider both the sequential and parallel aspects of logic. They can be compiled directly into a computer program and so eliminate the need for flow charting and hand coding. .B CACM June, 1961 .A Cantrell, H. N. King, J. King, F. E. H. .N CA610605 JB March 16, 1978 10:40 PM .X 1237 5 320 250 5 320 320 5 320 320 5 320 320 5 320 250 6 320 320 6 320 320 6 320 753 6 320 .I 321 .T ALGOL 60 Confidential .W The ALGOL 60 Report,* when first encountered, seems to describe a very complex language which will be difficult to learn. The "metalinguistic formulae" admirably serve the purpose of precisely specifying a language, but they are certainly not very readable for a beginner. However, experience has shown that once the report is explained it is in fact easy to learn ALGOL and to write algorithms in it. The language is so general and powerful it can handle an enormous class of problems. It is not hard to learn those parts of ALGOL present in other compiler languages: how to write assignment and go to and for statements, etc. Indeed, a lot of the unnecessary restrictions imposed by other compiling languages have finally been lifted. But ALGOL also allows many unobvious things to be written, as we will see later, and herein lies a problem: ALGOL seems to have become too general. So many restrictions have been lifted that a lot of technical details crop up which are hard to learn and to use correctly. In this paper some of the more obscure features of the language are considered and their usefulness is discussed. Remarks are based on the authors' interpretations of the ALGOL 60 Report. .B CACM June, 1961 .A Knuth, D. E. Merner, J. N. .N CA610604 JB March 16, 1978 10:48 PM .X 249 4 321 254 4 321 272 4 321 1102 4 321 1109 4 321 1140 4 321 1188 4 321 1234 4 321 1234 4 321 1306 4 321 1464 4 321 1491 4 321 1767 4 321 1781 4 321 1787 4 321 1949 4 321 321 4 321 321 4 321 321 4 321 321 4 321 2059 4 321 2126 4 321 435 4 321 437 4 321 463 4 321 483 4 321 491 4 321 2732 4 321 560 4 321 583 4 321 3073 4 321 627 4 321 631 4 321 632 4 321 642 4 321 644 4 321 653 4 321 680 4 321 761 4 321 762 4 321 763 4 321 123 4 321 140 4 321 919 4 321 989 4 321 196 5 321 1234 5 321 254 5 321 321 5 321 321 5 321 321 5 321 400 5 321 401 5 321 402 5 321 196 6 321 944 6 321 321 6 321 321 6 321 385 6 321 387 6 321 400 6 321 402 6 321 404 6 321 3184 6 321 729 6 321 .I 322 .T Operational Compatibility of Systems-CONVENTIONS .W The General Standards Committee of the SHARE organization has devoted considerable effort to the problem of operating a computer efficiently in view of the growing number of programming systems available. Each of these programming systems has been coded to utilize a fixed set of hardware components without recognizing the fact that others may be occupying a storage medium required by the first. These incompatibilities are currently resolved by manually setting up the computer for each system as required. The following set of conventions is being considered to minimize computer set-up time. They are of sufficiently broad interest that we feel other computer users should be aware of them. -George F. Ryckman, Chairman .B CACM June, 1961 .A Bright, H. S. .N CA610603 JB March 16, 1978 10:55 PM .X 322 5 322 322 5 322 322 5 322 .I 323 .T The State of Digital Computer Technology in Europe .B CACM June, 1961 .A Blachman, N. M. .N CA610602 JB March 16, 1978 10:56 PM .X 323 4 323 689 4 323 1349 5 323 217 5 323 323 5 323 323 5 323 323 5 323 689 5 323 217 6 323 236 6 323 323 6 323 323 6 323 83 6 323 415 6 323 3197 6 323 .I 324 .T Romberg Integration (Algorithm 60) .B CACM June, 1961 .A Bauer, F. L. .N CA610601 JB March 16, 1978 10:57 PM .X 1352 5 324 1982 5 324 324 5 324 324 5 324 324 5 324 2040 5 324 1 6 324 834 6 324 872 6 324 1040 6 324 1092 6 324 1241 6 324 1241 6 324 1273 6 324 1273 6 324 1273 6 324 1352 6 324 1356 6 324 1883 6 324 324 6 324 324 6 324 324 6 324 429 6 324 570 6 324 621 6 324 621 6 324 786 6 324 .I 325 .T Numerical Solution of the Polynomial Equation (Algorithm 30) .B CACM May, 1961 .A Alexander, W. J. .N CA610509 JB March 16, 1978 10:58 PM .X 325 5 325 325 5 325 325 5 325 .I 326 .T MATHSORT (Algorithm 23) .B CACM May, 1961 .A Ranshaw, R. W. .N CA610508 JB March 16, 1978 10:59 PM .X 326 5 326 326 5 326 326 5 326 .I 327 .T Zeros of a Real Polynomial by Resultant Procedure (Algorithm 59) .B CACM May, 1961 .A Bareiss, E. H. Fisherkeller, M. A. .N CA610507 JB March 16, 1978 11:01 PM .X 1667 5 327 327 5 327 327 5 327 327 5 327 178 6 327 1242 6 327 327 6 327 .I 328 .T Matrix Inversion (ALgorithm 58) .B CACM May, 1961 .A Cohen, D. .N CA610506 JB March 16, 1978 11:03 PM .X 328 5 328 328 5 328 328 5 328 .I 329 .T Automatic Abstracting and Indexing Survey and Recommendations .W In preparation for the widespread use of automatic scanners which will read documents and transmit their contents to other machines for analysis, this report presents a new concept in automatic analysis: the relative-frequency approach to measuring the significance of words, word groups, and sentences. The relative-frequency approach is discussed in detail, as is its application to problems of automatic indexing and automatic abstracting. Included in the report is a summary of automatic analysis studies published as of the date of writing. Conclusions are that point toward more sophisticated mathematical and linguistic techniques for the solution of problems of automatic analysis. .B CACM May, 1961 .A Edmundson, H. P. Wyllys, R. E. .N CA610505 JB March 16, 1978 11:08 PM .X 1087 5 329 329 5 329 329 5 329 329 5 329 634 5 329 329 6 329 329 6 329 .I 330 .T A Method for Evaluating the Area of the Normal Function .B CACM May, 1961 .A Baker, F. B. .N CA610504 JB March 16, 1978 11:09 PM .X 330 5 330 330 5 330 330 5 330 .I 331 .T Successive Approximations and Computer Storage Problems in Ordinary Differential Equations .B CACM May, 1961 .A Bellman, R. .N CA610503 JB March 16, 1978 11:10 PM .X 331 5 331 331 5 331 331 5 331 .I 332 .T An Indirect Chaining Method for Addressing on Secondary Keys .W Methods for entering random access files on the basis of one key are briefly surveyed. The widely used chaining method, based on a pseudo-random key transformation, is reviewed in more detail. An efficient generalization of the chaining method which permits recovery on additional keys is then presented. .B CACM May, 1961 .A Johnson, L. R. .N CA610502 JB March 16, 1978 11:13 PM .X 911 5 332 1271 5 332 1785 5 332 332 5 332 332 5 332 332 5 332 2543 5 332 2552 5 332 911 6 332 911 6 332 1785 6 332 1785 6 332 1786 6 332 1973 6 332 332 6 332 332 6 332 332 6 332 332 6 332 332 6 332 2107 6 332 2109 6 332 2203 6 332 492 6 332 492 6 332 .I 333 .T Design of an Improved* Transmission/Data Processing Code .B CACM May, 1961 .A Bemer, R. W. Smith Jr., H. J. Williams Jr., F. A. .N CA610501 JB March 16, 1978 11:14 PM .X 333 4 333 230 5 333 333 5 333 333 5 333 333 5 333 .I 334 .T Division and Square Root in the Quater-Imaginary Number System .B CACM April, 1961 .A Nadler, M. .N CA610334 JB March 16, 1978 11:16 PM .X 334 5 334 334 5 334 334 5 334 .I 335 .T Some Numerical Experiments Using Newton's Method for Nonlinear Parabolic and EllipticBoundary-Value Problems .W Using a generalization of Newton's method, a nonlinear parabolic equation of the form U(t)-U(xx)=g(U) and a nonlinear elliptic equation U(xx)+U(yy)=exp(U) are solved numerically Comparison of these results with results obtained using the Picard iteration procedure show that in many cases the quisi linearization method offers substantial advantages in both time and accuracy. .B CACM April, 1961 .A Bellman, R. Juncosa, M. L. Kalaba, R. .N CA610433 JB March 16, 1978 11:20 PM .X 335 5 335 335 5 335 335 5 335 .I 336 .T A Practical Technique for the Determination of the Optimum Relaxation Factor of the Successive Over-Relaxation Method .B CACM April, 1961 .A Kulsrud, H. E. .N CA610432 JB March 16, 1978 11:27 PM .X 336 5 336 336 5 336 336 5 336 .I 337 .T Further Survey of Punched Card Codes .B CACM April, 1961 .A Ross, H. M. .N CA610431 JB March 16, 1978 11:34 PM .X 337 5 337 337 5 337 337 5 337 .I 338 .T GROUT II (Algorithm 43) .B CACM April, 1961 .A Thacher Jr., H.C. .N CA610430 JB March 16, 1978 11:35 PM .X 338 5 338 338 5 338 338 5 338 .I 339 .T Real Exponential Integral (Algorithm 20) .B CACM April, 1961 .A Alexander, W. J. Thacher Jr., H. C. .N CA610429 JB March 16, 1978 11:36 PM .X 339 5 339 339 5 339 339 5 339 .I 340 .T Legendre Polynomial (Algorithm 13) .B CACM April, 1961 .A Herndon, J. .N CA610428 JB March 16, 1978 11:37 PM .X 1611 5 340 340 5 340 340 5 340 340 5 340 1295 6 340 340 6 340 .I 341 .T Chebyschev Polynomial (Algorithm 10) .B CACM April, 1961 .A Herndon, J. .N CA610427 JB March 16, 1978 11:38 PM .X 341 5 341 341 5 341 341 5 341 .I 342 .T Solution of Polynomial Equation by Barstow-Hitchcock (Algorithm 3) .B CACM April, 1961 .A Herndon, J. .N CA610426 JB March 16, 1978 11:39 PM .X 342 5 342 342 5 342 342 5 342 .I 343 .T On Frequently Occurring Errors in ALGOL 60 Programs (Algorithm 25) .B CACM April, 1961 .A Herndon, J. .N CA610425 JB March 16, 1978 11:40 PM .X 343 5 343 343 5 343 343 5 343 .I 344 .T Ber or Bei Function (Algorithm 57) .B CACM April, 1961 .A Herndon, J. R. .N CA610424 JB March 16, 1978 11:42 PM .X 344 5 344 344 5 344 344 5 344 .I 345 .T Complete Elliptic Integral of the Second Kind (Algorithm 56) .B CACM April, 1961 .A Herndon, J. R. .N CA610423 JB March 16, 197811:43 PM .X 345 5 345 345 5 345 345 5 345 .I 346 .T Complete Elliptic Integral of the First Kind (Algorithm 55) .B CACM April, 1961 .A Herndon, J. R. .N CA610422 JB March 16, 1978 11:44 PM .X 346 5 346 346 5 346 346 5 346 .I 347 .T Gamma Function for Range 1 to 2 (Algorithm 54) .B CACM April, 1961 .A Herndon, J. R. .N CA610421 JB March 16, 1978 11:45 PM .X 347 5 347 347 5 347 347 5 347 .I 348 .T Nth Roots of a Complex Number (Algorithm 53) .B CACM April, 1961 .A Herndon, J. R. .N CA610420 JB March 16, 1978 11:47 PM .X 348 5 348 348 5 348 348 5 348 .I 349 .T A Set of Test Matrices .B CACM April, 1961 .A Herndon, J. R. .N CA610419 JB March 16, 1978 11:47 PM .X 349 5 349 349 5 349 349 5 349 .I 350 .T Adjust Inverse of a Matrix When an Element is Perturbed (Algorithm 51) .B CACM April, 1961 .A Herndon, J. R. .N CA610418 JB March 16, 1978 11:49 PM .X 350 5 350 350 5 350 350 5 350 .I 351 .T Inverse of a Finite Segment of the Hilbert Matrix (Algorithm 50) .B CACM April, 1961 .A Herndon, J. R. .N CA610417 JB March 16, 1978 11:50 PM .X 351 5 351 351 5 351 351 5 351 .I 352 .T Spherical Neumant Function (Algorithm 49) .B CACM April, 1961 .A Herndon, J. R. .N CA610416 JB March 16, 1978 11:51 PM .X 352 5 352 352 5 352 352 5 352 .I 353 .T Logarithm of A Complex Number (Algorithm 48) .B CACM April, 1961 .A Herndon, J. R. .N CA610415 JB March 16, 1978 11:53 PM .X 353 5 353 353 5 353 353 5 353 .I 354 .T Associated Legendre Functions of the First Kind for Real or Imaginary Arguments (Algorithm 47) .B CACM April, 1961 .A Herndon, J. R. .N CA610414 JB March 16, 1978 11:57 PM .X 354 5 354 354 5 354 354 5 354 .I 355 .T Exponential of a Complex Number (Algorithm 46) .B CACM April, 1961 .A Herndon, J. R. .N CA610413 JB March 16, 1978 11:59 PM .X 355 5 355 355 5 355 355 5 355 .I 356 .T INTEREST (Algorithm 45) .B CACM April, 1961 .A Ingerman, P. Z. .N CA610412 JB March 17, 1978 12:00 AM .X 356 5 356 356 5 356 356 5 356 .I 357 .T Bessel Functions Computed Recursively (Algorithm 44) .B CACM April, 1961 .A Wojcicki, M. E. .N CA610411 JB March 17, 1978 12:01 AM .X 357 5 357 357 5 357 357 5 357 .I 358 .T Crout with Pivoting II (Algorithm 43) .B CACM April, 1961 .A Thacher Jr., H. C. .N CA610410 JB March 17, 1978 12:02 AM .X 358 5 358 358 5 358 358 5 358 .I 359 .T INVERT (Algorithm 42) .B CACM April, 1961 .A Wood, T. C. .N CA610409 JB March 17, 1978 12:03 AM .X 359 5 359 359 5 359 359 5 359 .I 360 .T Evaluation of Determinant (Algorithm 41) .B CACM April, 1961 .A Solomon, J. G. .N CA610408 JB March 17, 1978 12:04 AM .X 1946 5 360 360 5 360 360 5 360 360 5 360 878 6 360 902 6 360 1093 6 360 1177 6 360 1387 6 360 1393 6 360 360 6 360 731 6 360 .I 361 .T Programmed Error Correction on a Decimal Computer .B CACM April, 1961 .A Weinberg, G. M. .N CA610407 JB March 17, 1978 12:05 AM .X 361 4 361 108 5 361 361 5 361 361 5 361 361 5 361 .I 362 .T Table Look-At Techniques .B CACM April, 1961 .A Sherman, P. M. .N CA610406 JB March 17, 1978 12:08 AM .X 362 4 362 2952 4 362 142 5 362 362 5 362 362 5 362 362 5 362 .I 363 .T On Approximating Transcendental Numbers by Continued Fractions .B CACM April, 1961 .A Karst, E. .N CA610405 JB March 17, 1978 12:09 AM .X 363 5 363 363 5 363 363 5 363 .I 364 .T On the Compilation of Subscripted Variables .B CACM April, 1961 .A Nather, R. E. .N CA610404 JB March 17, 1978 12:10 AM .X 222 4 364 224 4 364 267 4 364 1134 4 364 1139 4 364 1141 4 364 1141 4 364 1215 4 364 1223 4 364 1647 4 364 1781 4 364 1787 4 364 1792 4 364 364 4 364 364 4 364 364 4 364 364 4 364 364 4 364 405 4 364 405 4 364 438 4 364 438 4 364 561 4 364 44 4 364 763 4 364 100 5 364 224 5 364 364 5 364 364 5 364 364 5 364 44 5 364 77 5 364 98 5 364 .I 365 .T Bessel Functions of Integral Order and Complex Argument .B CACM April, 1961 .A Gray, M. C. .N CA610403 JB March 17, 1978 12:13 AM .X 365 5 365 365 5 365 365 5 365 .I 366 .T Eigenvalues of a Symmetric 3 x 3 Matrix .B CACM April, 1961 .A Smith, O. K. .N CA610402 JB March 17, 1978 12:14 AM .X 366 5 366 366 5 366 366 5 366 .I 367 .T Topological Ordering of a List of Randomly-Numbered Elements of a Network .W A network of directed line segments free of circular elements is assumed. The lines are identified by their terminal nodes and the nodes are assumed to be numbered by a non-topological system. Given a list of these lines in numeric order, a simple technique can be used to create at high speed a list in topological order. .B CACM April, 1961 .A Lasser, D. J. .N CA610401 JB March 17, 1978 12:17 AM .X 1050 5 367 1226 5 367 367 5 367 367 5 367 367 5 367 441 5 367 758 5 367 849 6 367 106 6 367 209 6 367 367 6 367 367 6 367 367 6 367 367 6 367 441 6 367 627 6 367 .I 368 .T Real Zeros of an Arbitrary Function (Algorithm 25) .B CACM March, 1961 .A Collinge, R. M. .N CA610314 JB March 17, 1978 12:31 AM .X 368 5 368 368 5 368 368 5 368 .I 369 .T Crout with Pivoting (Algorithm 16) .B CACM March, 1961 .A Thacher Jr., H. C. .N CA610313 JB March 17, 1978 12:32 AM .X 369 5 369 369 5 369 369 5 369 .I 370 .T Bisection Routine (Algorithm 4) .B CACM March, 1961 .A Rader, P. J. .N CA610312 JB March 17, 1978 12:33 AM .X 370 5 370 370 5 370 370 5 370 .I 371 .T Remarks on Algorithms 2 and 3, Algorithm 15 and Algorithms 25 and 26 .B CACM March, 1961 .A Wilkinson, J. H. .N CA610311 JB March 17, 1978 12:35 AM .X 371 5 371 371 5 371 371 5 371 .I 372 .T Critical Path Scheduling (Algorithm 40) .B CACM March, 1961 .A Leavenworth, B. .N CA610310 JB March 17, 1978 12:36 AM .X 372 5 372 372 5 372 372 5 372 .I 373 .T Correlation Coefficients with Matrix Multiplication (Algorithm 39) .B CACM March, 1961 .A Sassouni, P. .N CA610309 JB March 17, 1978 12:37 AM .X 373 5 373 373 5 373 373 5 373 .I 374 .T Telescope2 (Algorithm 38) .B CACM March, 1961 .A Brons, K. A. .N CA610308 JB March 17, 1978 12:38 AM .X 374 5 374 374 5 374 374 5 374 .I 375 .T Telescope1 (Algorithm 37) .B CACM March, 1961 .A Brons, K. A. .N CA610307 JB March 17, 1978 12:39 AM .X 375 5 375 375 5 375 375 5 375 .I 376 .T Tchebycheff (Algorithm 36) .B CACM March, 1961 .A Gianni, A. J. .N CA610306 JB March 17, 1978 12:40 AM .X 1754 5 376 376 5 376 376 5 376 376 5 376 274 6 376 376 6 376 .I 377 .T SIEVE (Algorithm 35) .B CACM March, 1961 .A Wood, T. C. .N CA610305 JB March 17, 1978 12:41 AM .X 1841 5 377 377 5 377 377 5 377 377 5 377 2120 5 377 1537 6 377 1539 6 377 1539 6 377 1841 6 377 377 6 377 377 6 377 .I 378 .T A Generalized Technique for Symbol Manipulation and Numerical Calculation .B CACM March, 1961 .A Ross, D. T. .N CA610304 JB March 17, 1978 12:42 AM .X 1024 4 378 1050 4 378 1051 4 378 1102 4 378 1102 4 378 1132 4 378 1390 4 378 1486 4 378 1549 4 378 1706 4 378 1826 4 378 1878 4 378 378 4 378 378 4 378 378 4 378 2060 4 378 2155 4 378 2168 4 378 2719 4 378 2723 4 378 2838 4 378 2842 4 378 2855 4 378 2879 4 378 3008 4 378 3077 4 378 3080 4 378 3106 4 378 627 4 378 731 4 378 798 4 378 106 4 378 1051 5 378 208 5 378 209 5 378 210 5 378 1552 5 378 1665 5 378 1860 5 378 378 5 378 378 5 378 378 5 378 2155 5 378 1184 6 378 1366 6 378 1389 6 378 1389 6 378 1421 6 378 1421 6 378 1496 6 378 1626 6 378 1641 6 378 1781 6 378 1785 6 378 1786 6 378 210 6 378 210 6 378 378 6 378 378 6 378 378 6 378 378 6 378 378 6 378 2046 6 378 2060 6 378 406 6 378 3184 6 378 631 6 378 731 6 378 793 6 378 794 6 378 799 6 378 .I 379 .T Bitwise Operations .B CACM March, 1961 .A Strachey, C. .N CA610303 JB March 17, 1978 12:42 AM .X 379 5 379 379 5 379 379 5 379 .I 380 .T Comparison of Iterative Methods for the Calculation of nth Roots .W Three iterative methods for calculation of nth roots (including one proposed by the author) are compared in two ways: (1) Theoretical convergence estimates are given. (2) A new macrocompiler which estimates machine running time is used to compare the running time of the three methods for a variety of input data. .B CACM March, 1961 .A Traub, J. F. .N CA610302 JB March 17, 1978 12:45 AM .X 319 5 380 380 5 380 380 5 380 380 5 380 380 6 380 .I 381 .T An Alternate Form of the "UNCOL Diagram" .B CACM March, 1961 .A Bratman, H. .N CA610301 JB March 17, 1978 12:46 AM .X 1159 4 381 1988 4 381 381 4 381 1781 5 381 1988 5 381 381 5 381 381 5 381 381 5 381 14 5 381 123 6 381 196 6 381 919 6 381 990 6 381 1007 6 381 1046 6 381 1131 6 381 1139 6 381 1140 6 381 1149 6 381 1198 6 381 1215 6 381 1223 6 381 1265 6 381 1303 6 381 1323 6 381 1358 6 381 1366 6 381 1421 6 381 1460 6 381 1462 6 381 1463 6 381 1467 6 381 1468 6 381 1477 6 381 1491 6 381 1496 6 381 1496 6 381 1531 6 381 1535 6 381 1565 6 381 1601 6 381 1602 6 381 1613 6 381 1614 6 381 1626 6 381 1641 6 381 1787 6 381 1788 6 381 205 6 381 224 6 381 249 6 381 288 6 381 316 6 381 381 6 381 381 6 381 398 6 381 11 6 381 11 6 381 14 6 381 404 6 381 410 6 381 463 6 381 464 6 381 483 6 381 3184 6 381 3188 6 381 584 6 381 600 6 381 680 6 381 691 6 381 763 6 381 799 6 381 .I 382 .T Statistical Programs at the University of North Carolina .B CACM February, 1961 .A Bush, N. .N CA610216 JB March 17, 1978 12:48 AM .X 382 5 382 382 5 382 382 5 382 .I 383 .T On Finding Minimum Routes in a Network With Turn Penalties .B CACM February, 1961 .A Caldwell, T. .N CA610215 JB March 17, 1978 12:49 AM .X 383 5 383 383 5 383 383 5 383 .I 384 .T Gamma Function (Algorithm 34) .B CACM February, 1961 .A Lipp, M. F. .N CA610214 JB March 17, 1978 12:49 AM .X 384 5 384 384 5 384 384 5 384 .I 385 .T FACTORIAL (Algorithm 33) .B CACM February, 1961 .A Lipp, M. F. .N CA610213 JB March 17, 1978 12:50 AM .X 1234 5 385 385 5 385 385 5 385 385 5 385 944 6 385 321 6 385 385 6 385 400 6 385 402 6 385 404 6 385 3184 6 385 729 6 385 .I 386 .T MULTINT (Algorithm 32) .B CACM February, 1961 .A Freeman Jr., R. D. .N CA610212 JB March 17, 1978 12:52 AM .X 1146 5 386 386 5 386 386 5 386 386 5 386 386 6 386 .I 387 .T Gamma Function (Algorithm 31) .B CACM February, 1961 .A Collinge,R. M. .N CA610211 JB March 17, 1978 12:53 AM .X 254 5 387 387 5 387 387 5 387 387 5 387 196 6 387 321 6 387 387 6 387 .I 388 .T Solution of Polynomial Equations by Bairstow Hitchcock Method (Algorithm 3) .B CACM February, 1961 .A Vandergraft, J. S. .N CA610210 JB March 17, 1978 12:54 AM .X 388 5 388 388 5 388 388 5 388 .I 389 .T Real Exponential Integral (Algorithm 20) .B CACM February, 1961 .A Peavy, S. .N CA610209 JB March 17, 1978 12:55 AM .X 389 5 389 389 5 389 389 5 389 .I 390 .T Complex Exponential Integral (Algorithm 13) .B CACM February, 1961 .A Rader, P. J. Thacher Jr., H. C. .N CA610208 JB March 17, 1978 12:56 AM .X 390 5 390 390 5 390 390 5 390 .I 391 .T The BKS System for the Philco-2000 .B CACM February, 1961 .A Smith, R. B. .N CA610207 JB March 17, 1978 12:57 AM .X 391 5 391 391 5 391 391 5 391 .I 392 .T Comment on A Paper on Parallel Processing .B CACM February, 1961 .A Nekora, M. R. .N CA610206 JB March 17, 1978 12:58 AM .X 392 5 392 392 5 392 392 5 392 .I 393 .T Two Subroutines for Symbol Manipulation with an Algebraic Compiler .B CACM February, 1961 .A Carr III, J. W. Hanson, J. W. .N CA610205 JB March 17, 1978 12:59 AM .X 393 5 393 393 5 393 393 5 393 561 5 393 393 6 393 77 6 393 .I 394 .T Multiple Programming Data Processing .B CACM February, 1961 .A Ryle, B. L. .N CA610204 JB March 17, 1978 1:00 AM .X 394 5 394 394 5 394 394 5 394 .I 395 .T Multiple-Precision Division .B CACM February, 1961 .A Rabinowitz, P. .N CA610202 JB March 17, 1978 1:01 AM .X 395 5 395 395 5 395 395 5 395 .I 396 .T Automation of Program Debugging .W Automatic Debugging can substantially reduce lead-time between the coding and the effective use of a complex program. It also enforces analysis of debugging criteria, resulting in verifiably accurate programs. The programmer specifies the program to be debugged, memory areas, set of input data, maximum repetition of loops, and checkpoint information for each set of data. The executive debugging program the runs the program to be debugged, performing checking functions and creating a trace record of its own later analysis and location of errors. Applications are quite flexible, and the system can be used alone or in conjunction with other debugging techniques. .B CACM July, 1961 .A Jacoby, K. Layton, H. .N CA610714 ES March 17, 1982 10:10 AM .X 931 5 396 396 5 396 396 5 396 396 5 396 202 6 396 396 6 396 634 6 396 .I 397 .T A Card Format for Reference Files in Information Processing .W This paper proposes a card format suitable for a variety of reference files in information processing. An 80-column IBM card is divided into two fields-reference material field (columns 1-67) and identification field (columns 68-80). The format for the reference material is flexible, while the format for the identification is rigid. The reference material includes basically an index, title, source, class, summary and cross reference for each entry. The identification includes basically codes for a matrix of descriptors, an entry number, and the kind, major interest, and source of the reference. The identification also provides a choice to identify material for personal as well as general files. Since this card format is sufficient to identify the material normally associated with reference files for books, articles, programming terms, hardware terms, equipment, machine systems, abbreviations, etc., it is suitable as a standard for card reference files in information processing. .B CACM February, 1961 .A Grems, M. .N CA610201 JB March 17, 1978 1:08 AM .X 929 5 397 397 5 397 397 5 397 397 5 397 397 6 397 .I 398 .T The SLANG System .B CACM January, 1961 .A Sibley, R. A. .N CA610116 JB March 17, 1978 1:10 AM .X 205 4 398 210 4 398 214 4 398 1982 4 398 398 4 398 642 4 398 669 4 398 100 4 398 123 4 398 164 4 398 1 5 398 1781 5 398 398 5 398 398 5 398 398 5 398 123 6 398 196 6 398 919 6 398 990 6 398 1007 6 398 1046 6 398 1131 6 398 1139 6 398 1140 6 398 1149 6 398 1198 6 398 1215 6 398 1223 6 398 1265 6 398 1303 6 398 1323 6 398 1358 6 398 1366 6 398 1421 6 398 1460 6 398 1462 6 398 1463 6 398 1467 6 398 1468 6 398 1477 6 398 1491 6 398 1496 6 398 1531 6 398 1535 6 398 1565 6 398 1601 6 398 1602 6 398 1613 6 398 1614 6 398 1626 6 398 1641 6 398 1787 6 398 1788 6 398 205 6 398 224 6 398 249 6 398 288 6 398 316 6 398 381 6 398 398 6 398 11 6 398 404 6 398 410 6 398 463 6 398 464 6 398 483 6 398 3184 6 398 3188 6 398 584 6 398 600 6 398 680 6 398 691 6 398 763 6 398 799 6 398 .I 399 .T Compiling Techniques for Boolean Expressions and Conditional Statements in ALGOL 60 .B CACM January, 1961 .A Huskey, H. D. Wattenburg, W. H. .N CA610115 JB March 17, 1978 1:12 AM .X 1139 5 399 1947 5 399 399 5 399 399 5 399 399 5 399 556 5 399 799 5 399 945 6 399 1134 6 399 1223 6 399 1248 6 399 224 6 399 399 6 399 399 6 399 399 6 399 399 6 399 82 6 399 404 6 399 404 6 399 438 6 399 464 6 399 631 6 399 .I 400 .T Comments on the Implementation of Recursive Procedures and Blocks in ALGOL 60 .B CACM January, 1961 .A Irons, E. T. Feurzeig, W. .N CA610114 JB March 17, 1978 1:13 AM .X 1234 5 400 321 5 400 400 5 400 400 5 400 400 5 400 196 6 400 944 6 400 321 6 400 385 6 400 400 6 400 400 6 400 401 6 400 402 6 400 402 6 400 404 6 400 3184 6 400 729 6 400 .I 401 .T Allocation of Storage for Arrays in ALGOL 60 .B CACM January, 1961 .A Sattley, K. .N CA610113 JB March 17, 1978 1:14 AM .X 321 5 401 401 5 401 401 5 401 401 5 401 196 6 401 400 6 401 401 6 401 402 6 401 .I 402 .T Dynamic Declarations .B CACM January, 1961 .A Ingerman, P. Z. .N CA610112 JB March 17, 1978 1:14 AM .X 1234 5 402 321 5 402 402 5 402 402 5 402 402 5 402 196 6 402 944 6 402 321 6 402 385 6 402 400 6 402 400 6 402 401 6 402 402 6 402 402 6 402 404 6 402 3184 6 402 729 6 402 .I 403 .T Thunks -- A Way of Compiling Procedure Statements with Some Comments on Procedure Declarations .B CACM January, 1961 .A Ingerman, P. Z. .N CA610111 JB March 17, 1978 1:16 AM .X 403 5 403 403 5 403 403 5 403 .I 404 .T A Syntax Directed Compiler for ALGOL 60 .B CACM January, 1961 .A Irons, E. T. .N CA610110 JB March 17, 1978 1:16 AM .X 945 5 404 1046 5 404 1105 5 404 1139 5 404 1140 5 404 1234 5 404 1263 5 404 1265 5 404 1496 5 404 1781 5 404 1824 5 404 2126 5 404 2546 5 404 404 5 404 404 5 404 404 5 404 464 5 404 584 5 404 631 5 404 653 5 404 680 5 404 763 5 404 795 5 404 799 5 404 823 6 404 123 6 404 196 6 404 196 6 404 196 6 404 196 6 404 196 6 404 196 6 404 196 6 404 919 6 404 931 6 404 944 6 404 945 6 404 989 6 404 990 6 404 1007 6 404 1046 6 404 1131 6 404 1137 6 404 1139 6 404 1140 6 404 1141 6 404 1149 6 404 1198 6 404 1215 6 404 1223 6 404 1265 6 404 1303 6 404 1323 6 404 1358 6 404 1358 6 404 1366 6 404 1421 6 404 1460 6 404 1462 6 404 1463 6 404 1467 6 404 1468 6 404 1477 6 404 1477 6 404 1491 6 404 1491 6 404 1496 6 404 1531 6 404 1535 6 404 1565 6 404 1601 6 404 1602 6 404 1613 6 404 1614 6 404 1614 6 404 1614 6 404 1626 6 404 1641 6 404 1693 6 404 1781 6 404 1787 6 404 1788 6 404 205 6 404 224 6 404 224 6 404 224 6 404 249 6 404 265 6 404 288 6 404 316 6 404 321 6 404 381 6 404 385 6 404 398 6 404 399 6 404 399 6 404 11 6 404 2126 6 404 82 6 404 400 6 404 402 6 404 404 6 404 404 6 404 404 6 404 404 6 404 404 6 404 404 6 404 404 6 404 404 6 404 404 6 404 404 6 404 404 6 404 404 6 404 404 6 404 404 6 404 404 6 404 404 6 404 404 6 404 404 6 404 404 6 404 404 6 404 404 6 404 410 6 404 412 6 404 438 6 404 463 6 404 464 6 404 464 6 404 464 6 404 483 6 404 3184 6 404 3184 6 404 3184 6 404 3184 6 404 3184 6 404 3188 6 404 584 6 404 600 6 404 631 6 404 631 6 404 631 6 404 635 6 404 680 6 404 691 6 404 729 6 404 763 6 404 799 6 404 .I 405 .T An Algorithm for Coding Efficient Arithmetic Operations .W Most existing formula translation schemes yield inefficient coding. A method is described which reduces the number of store and fetch operations, evaluates constant subexpressions during compilation, and recognizes many equivalent subexpressions. .B CACM January, 1961 .A Floyd, R. W. .N CA610109 JB March 17, 1978 1:19 AM .X 267 4 405 1134 4 405 1139 4 405 1141 4 405 1141 4 405 1215 4 405 1223 4 405 1647 4 405 1781 4 405 1787 4 405 1792 4 405 364 4 405 364 4 405 405 4 405 405 4 405 405 4 405 405 4 405 438 4 405 438 4 405 561 4 405 44 4 405 54 4 405 763 4 405 1223 5 405 224 5 405 1388 5 405 405 5 405 405 5 405 405 5 405 436 5 405 55 5 405 77 5 405 93 5 405 224 6 405 405 6 405 405 6 405 405 6 405 731 6 405 .I 406 .T The Use of Threaded Lists in Constructing a Combined ALGOL and Machine-Like Assembly Processor .B CACM January, 1961 .A Evans Jr., A. Perlis, A. J. Van Zoeren, H. .N CA610108 JB March 17, 1978 1:20 AM .X 1051 5 406 1102 5 406 1549 5 406 406 5 406 406 5 406 406 5 406 106 6 406 196 6 406 1051 6 406 209 6 406 210 6 406 210 6 406 210 6 406 378 6 406 406 6 406 406 6 406 406 6 406 483 6 406 627 6 406 731 6 406 731 6 406 753 6 406 793 6 406 794 6 406 .I 407 .T MADCAP: A Scientific Compiler for a Displayed Formula Textbook Language .B CACM January, 1961 .A Wells, M. B. .N CA610107 JB March 17, 1978 1:21 AM .X 1083 5 407 1396 5 407 407 5 407 407 5 407 407 5 407 679 5 407 964 6 407 1028 6 407 1029 6 407 1083 6 407 1132 6 407 1214 6 407 1278 6 407 1334 6 407 1365 6 407 1386 6 407 1387 6 407 1388 6 407 1392 6 407 1393 6 407 1394 6 407 1395 6 407 1396 6 407 1397 6 407 1496 6 407 284 6 407 21 6 407 407 6 407 407 6 407 407 6 407 3184 6 407 3192 6 407 3193 6 407 3199 6 407 3200 6 407 3201 6 407 3202 6 407 3203 6 407 3204 6 407 561 6 407 730 6 407 730 6 407 .I 408 .T The Internal Organization of the MAD Translator .B CACM January, 1961 .A Arden, B. W. Galler, B. A. Graham, R. M. .N CA610106 JB March 17, 1978 1:22 AM .X 1134 5 408 1179 5 408 1861 5 408 408 5 408 408 5 408 408 5 408 830 6 408 1614 6 408 1781 6 408 17 6 408 77 6 408 408 6 408 408 6 408 408 6 408 .I 409 .T CL-1, An Environment for a Compiler .W A flexible, large-scale programming system to facilitate the solution of information processing problems and to provide intercommunication between programs and/or programmers has been developed and realized on the IBM 709/7090 computer. The system is based on a master file concept and has provisions for accepting, storing, and retrieving both descriptions and instances of large and complex data sets, as well as algorithms defined on these data sets. Both data and algorithms may be expressed in a family of command and descriptive languages. The concept of distinct data descriptions and the content and use of such descriptions are discussed in some detail. .B CACM January, 1961 .A Cheatham Jr., T. E. Collins Jr., G. O. Leonard, G. F. .N CA610105 JB March 17, 1978 1:26 AM .X 409 5 409 409 5 409 409 5 409 657 5 409 279 6 409 409 6 409 .I 410 .T The CLIP Translator .B CACM January, 1961 .A Englund, D. Clark, E. .N CA610104 JB March 17, 1978 1:27 AM .X 1781 5 410 410 5 410 410 5 410 410 5 410 669 5 410 1 6 410 123 6 410 196 6 410 919 6 410 990 6 410 1007 6 410 1046 6 410 1131 6 410 1139 6 410 1140 6 410 1149 6 410 1198 6 410 1215 6 410 1223 6 410 1265 6 410 1303 6 410 1323 6 410 1358 6 410 1366 6 410 1421 6 410 1460 6 410 1462 6 410 1463 6 410 1467 6 410 1468 6 410 1477 6 410 1491 6 410 1496 6 410 1531 6 410 1535 6 410 1565 6 410 1601 6 410 1602 6 410 1613 6 410 1614 6 410 1626 6 410 1641 6 410 1787 6 410 1788 6 410 205 6 410 224 6 410 249 6 410 288 6 410 316 6 410 381 6 410 398 6 410 11 6 410 404 6 410 410 6 410 410 6 410 463 6 410 464 6 410 483 6 410 3184 6 410 3184 6 410 3188 6 410 584 6 410 600 6 410 680 6 410 691 6 410 763 6 410 799 6 410 .I 411 .T Use of Magnetic Tape for Data Storage in the ORACLE-ALGOL Translator .B CACM January, 1961 .A Bottenbruch, H. .N CA610103 JB March 17, 1978 1:28 AM .X 411 5 411 411 5 411 411 5 411 .I 412 .T Recursive Processes and ALGOL Translation .B CACM January, 1961 .A Gray, A. A. .N CA610102 JB March 17, 1978 1:29 AM .X 412 5 412 412 5 412 412 5 412 763 5 412 196 6 412 224 6 412 404 6 412 412 6 412 631 6 412 .I 413 .T A Basic Compiler for Arithmetic Expressions .B CACM January, 1961 .A Huskey, H. D. Wattenburg, W. H. .N CA610101 JB March 17, 1978 1:30 AM .X 413 5 413 413 5 413 413 5 413 .I 414 .T IBM 1440 Data Processing System Features Five New Units .W The IBM 1440 data processing system, announced recently by the International Business Machines Corporation, not only features the 1311 disk storage drive with interchangeable disk packs but four other newly developed units. .B CACM December, 1961 .A Wheeling, R. .N CA621225 JB March 17,1978 4:30 PM .X 414 5 414 414 5 414 414 5 414 .I 415 .T The Use of Digital Computers in Western Germany .B CACM December, 1962 .A Schuff, H. K. .N CA621224 JB March 17, 1978 4:32 PM .X 1349 5 415 415 5 415 415 5 415 415 5 415 236 6 415 323 6 415 83 6 415 415 6 415 .I 416 .T Multiple Shooting Method for Two-Point Boundary Value Problems .B CACM December, 1962 .A Morrison, D. D. Riley, J. D. Zancanaro, J. F. .N CA621223 JB March 17, 1978 4:33 PM .X 1049 5 416 416 5 416 416 5 416 416 5 416 416 6 416 .I 417 .T Legal Implications of Computer Use .W This paper points out a variety of ways computer systems used in business and industry can be involved in legal entanglements and suggests that computer specialists have a responsibility to call for assistance in forestalling or minimizing those entanglements during the planning stage. Techniques are suggested for making legal clearance effective with the least burden on the new technology and for achieving a favorable legal climate for it generally. Computer specialists also are alerted to potential opportunities to interpret to lawyers the technical aspects of computer systems involved in legal situations. .B CACM December, 1962 .A Freed, R. N. .N CA621222 JB March 17, 1978 4:37 PM .X 417 5 417 417 5 417 417 5 417 .I 418 .T RANDOM (Algorithm 133) .B CACM December, 1962 .A Behrenz, P. G. .N CA621221 JB March 17, 1978 4:38 PM .X 418 5 418 418 5 418 418 5 418 .I 419 .T Magic Square (Algorithm 118) .B CACM December, 1962 .A Thacher Jr., H. C. .N CA621220 JB March 17, 1978 4:52 PM .X 419 5 419 419 5 419 419 5 419 .I 420 .T PERM (Algorithm 115) .B CACM December, 1962 .A Phillips, E. S. .N CA621219 JB March 17, 1978 4:53 PM .X 420 5 420 420 5 420 420 5 420 .I 421 .T Position of Point Relative to Polygon (Algorithm 112) .B CACM December, 1962 .A Hacker, R. .N CA621218 JB March 17, 1978 4:54 PM .X 1804 5 421 2987 5 421 421 5 421 421 5 421 421 5 421 1326 6 421 1630 6 421 2125 6 421 2547 6 421 2633 6 421 421 6 421 421 6 421 524 6 421 524 6 421 .I 422 .T COMBINATION (Algorithm 94) .B CACM December, 1962 .A Grench, R. E. .N CA621217 JB March 17, 1978 4:56 PM .X 422 5 422 422 5 422 422 5 422 .I 423 .T Matrix Inversion (Algorithm 58) .B CACM December, 1962 .A Behrenz, P. G. .N CA621216 JB March 17, 1978 4:57 PM .X 423 5 423 423 5 423 423 5 423 .I 424 .T Gamma Function (Algorithm 31) .B CACM December, 1962 .A Behrenz, P. G. .N CA621215 JB March 17, 1978 4:58 PM .X 424 5 424 424 5 424 424 5 424 .I 425 .T Complete Elliptic Integral (Algorithm 149) .B CACM December, 1962 .A Merner, J. N. .N CA621214 JB March 17,1978 4:59 PM .X 425 5 425 425 5 425 425 5 425 .I 426 .T Term of Magic Square (Algorithm 148) .B CACM December, 1962 .A Collison, D. M. .N CA621213 JB March 17, 1978 5:00 PM .X 426 5 426 426 5 426 426 5 426 .I 427 .T PSIF (Algorithm 147) .B CACM December, 1962 .A Amit, D. .N CA621212 JB March 17, 1978 5:03 PM .X 427 5 427 427 5 427 427 5 427 .I 428 .T Multiple Integration (Algorithm 146) .B CACM December, 1962 .A McKeeman, W. M. .N CA621211 JB March 17, 1978 5:04 PM .X 428 5 428 428 5 428 428 5 428 .I 429 .T Adaptive Nimerical Integration by Simpson's Rule (Algorithm 145) .B CACM December, 1962 .A McKeeman, W. M. .N CA621210 JB March 17, 1978 5:06 PM .X 1352 5 429 2048 5 429 2074 5 429 2093 5 429 2550 5 429 429 5 429 429 5 429 429 5 429 834 6 429 834 6 429 834 6 429 834 6 429 872 6 429 872 6 429 872 6 429 1040 6 429 1092 6 429 1092 6 429 1241 6 429 1273 6 429 1298 6 429 1573 6 429 1573 6 429 324 6 429 2074 6 429 429 6 429 429 6 429 429 6 429 429 6 429 429 6 429 570 6 429 621 6 429 786 6 429 786 6 429 786 6 429 .I 430 .T TREESORT2 (Algorithm 144) .B CACM December, 1962 .A Kaupe Jr.,A. F. .N CA621209 JB March 17, 1978 5:07 PM .X 430 5 430 430 5 430 430 5 430 .I 431 .T TREESORT1 (Algorithm 143) .B CACM December, 1962 .A Kaupe Jr., A. F. .N CA621208 JB March 17, 1978 5:08 PM .X 431 5 431 431 5 431 431 5 431 .I 432 .T Triangular Regression (Algorithm 142) .B CACM December, 1962 .A Hafley, W. L. Lewis, J. S. .N CA621207 JB March 17,1978 5:09 PM .X 432 5 432 432 5 432 432 5 432 .I 433 .T Fixed-World-Length Arrays in Variable-Word-Length Computers .B CACM December, 1962 .A Sonquist, J. A. .N CA621206 JB March 17, 1978 5:10 PM .X 433 5 433 433 5 433 433 5 433 .I 434 .T Character Manipulation in 1620 Fortran II .B CACM December, 1962 .A Poore Jr., J. H. .N CA621205 JB March 17, 1978 5:11 PM .X 434 5 434 434 5 434 434 5 434 .I 435 .T A Decision Matrix as the Basis for a Simple Data Input Routine .W Currently a great deal of time and effort is being spent on the development of bigger and better compiler languages, multiprogram executive systems, etc. Since the implementation of of new methods and procedures is not instantaneous, but rather occurs by an evolutionary process, we should be concerned also with the problem of maintaining, improving and incorporating new ideas into existing systems. It is with this somewhat neglected area that the author is interested. A method employing a decision matrix is presented for the handling of a standard systems programming problem,that of providing a data input routine. .B CACM December, 1962 .A Vasilakos, G. J. .N CA621204 JB March 17, 1978 5:15 PM .X 249 4 435 254 4 435 272 4 435 1102 4 435 1109 4 435 1140 4 435 1188 4 435 1306 4 435 1464 4 435 1491 4 435 1767 4 435 1781 4 435 1787 4 435 1949 4 435 321 4 435 2059 4 435 2126 4 435 435 4 435 435 4 435 437 4 435 463 4 435 483 4 435 491 4 435 2732 4 435 560 4 435 583 4 435 3073 4 435 627 4 435 631 4 435 632 4 435 642 4 435 644 4 435 653 4 435 680 4 435 761 4 435 762 4 435 763 4 435 849 4 435 123 4 435 140 4 435 919 4 435 989 4 435 196 5 435 1053 5 435 435 5 435 435 5 435 435 5 435 615 5 435 435 6 435 474 6 435 718 6 435 720 6 435 .I 436 .T Evaluation of Polynomials by Computer .B CACM December, 1962 .A Knuth, D. E. .N CA621203 JB March 17, 1978 5:16 PM .X 1223 4 436 1388 4 436 436 4 436 1620 5 436 405 5 436 436 5 436 436 5 436 436 5 436 819 5 436 819 6 436 436 6 436 436 6 436 .I 437 .T Compiling Matrix Operations .B CACM December, 1962 .A Galler, B. A. Perlis, A. J. .N CA621202 JB March 17, 1978 5:17 PM .X 249 4 437 254 4 437 272 4 437 1102 4 437 1109 4 437 1140 4 437 1188 4 437 1306 4 437 1464 4 437 1491 4 437 1767 4 437 1781 4 437 1787 4 437 1949 4 437 321 4 437 2059 4 437 2126 4 437 435 4 437 437 4 437 463 4 437 483 4 437 491 4 437 2732 4 437 560 4 437 583 4 437 3073 4 437 627 4 437 631 4 437 632 4 437 642 4 437 644 4 437 653 4 437 680 4 437 761 4 437 762 4 437 763 4 437 123 4 437 140 4 437 919 4 437 989 4 437 196 5 437 1614 5 437 2253 5 437 2557 5 437 437 5 437 437 5 437 437 5 437 2081 6 437 437 6 437 437 6 437 437 6 437 3184 6 437 .I 438 .T Mechanical Pragmatics: A Time-Motion Study of a Miniature Mechanical Linguistic System .B CACM December, 1962 .A Gorn, S. .N CA621201 JB March 17, 1978 5:19 PM .X 249 4 438 267 4 438 1134 4 438 1139 4 438 1141 4 438 1141 4 438 1215 4 438 1223 4 438 1425 4 438 1647 4 438 1781 4 438 1781 4 438 1787 4 438 1792 4 438 364 4 438 364 4 438 405 4 438 405 4 438 438 4 438 438 4 438 438 4 438 438 4 438 561 4 438 44 4 438 3185 4 438 762 4 438 763 4 438 1139 5 438 224 5 438 249 5 438 303 5 438 438 5 438 438 5 438 438 5 438 77 5 438 3185 5 438 224 6 438 303 6 438 399 6 438 404 6 438 438 6 438 438 6 438 464 6 438 631 6 438 .I 439 .T On-Line Digital Computer for Measurement of a Neurological Control System .B CACM November, 1962 .A Stark, L. Payne, R. Okabe, Y. .N CA621122 JB March 17, 1978 5:20 PM .X 439 5 439 439 5 439 439 5 439 .I 440 .T Record Linkage .W Special difficulties are encountered in devising reliable systems for searching and updating any large files of documents that must be identified primarily on the basis of names and other personal particulars. The underlying problem is that of making nearly maximum use of items of identifying information that are individually unreliable but that may collectively be of considerable discriminating power. Rules that can be applied generally to name retrieval systems have been developed in a methodological study of the linkage of vital and health records into family groupings for demographic research purposes. These rules are described, and the ways in which information utilization for matching may be optimized are discussed. .B CACM November, 1962 .A Newcombe, H. B. Kennedy, J. M. .N CA621121 JB March 17, 1978 5:51 PM .X 1112 4 440 1592 4 440 2111 4 440 2339 4 440 440 4 440 2339 5 440 440 5 440 440 5 440 440 5 440 619 5 440 1112 6 440 1592 6 440 440 6 440 619 6 440 .I 441 .T Topological Sorting of Large Networks .W Topological Sorting is a procedure required for many problems involving analysis of networks. An example of one such problem is PERT. The present paper presents a very general method for obtaining topological order. It permits treatment of larger networks than can be handled on present procedures and achieves this with greater efficiency. Although the procedure can be adapted to any machine, it is discussed in terms of the 7090. A PERT network of 30,000 activities can be ordered in less than one hour of machine time. The method was developed as a byproduct of procedures needed by Westinghouse, Baltimore. It has not been programmed and at present there are no plans to implement it. In regard to the techniques described, Westinghouse's present and anticipated needs are completely served by the Lockheed program, which is in current use. .B CACM November, 1962 .A Kahn, A. B. .N CA621120 JB March 17, 1978 5:58 PM .X 1050 4 441 1226 4 441 441 4 441 758 4 441 1723 5 441 367 5 441 441 5 441 441 5 441 441 5 441 758 5 441 367 6 441 441 6 441 441 6 441 .I 442 .T Crout with Equilibration and Iteration (Algorithm 135) .B CACM November, 1962 .A McKeeman, W. M. .N CA621119 JB March 17, 1978 5:59 PM .X 442 5 442 442 5 442 442 5 442 .I 443 .T Complex Number to a Real Power (Algorithm 106) .B CACM December, 1962 .A Erwin Jr.,G. W. .N CA621118 JB March 17, 1978 6:01 PM .X 443 5 443 443 5 443 443 5 443 .I 444 .T Evaluation of Jacobi Symbol (Algorithm 99) .B CACM November, 1962 .A May, R. W. .N CA621117 JB March 17, 1978 6:02 PM .X 444 5 444 444 5 444 444 5 444 .I 445 .T COMBINATION (Algorithm 94) .B CACM November, 1962 .A May, R. W. .N CA621116 JB March 17, 1978 6:03 PM .X 445 5 445 445 5 445 445 5 445 .I 446 .T Simpson's Integration (Algorithm 84) .B CACM November, 1962 .A Behrenz, P. G. .N CA621115 JB March 17, 1978 6:04 PM .X 446 5 446 446 5 446 446 5 446 .I 447 .T Certification of the Calculation of Easter .B CACM November, 1962 .A Williams, M. R. .N CA621114 JB March 17, 1978 6:05 PM .X 447 5 447 447 5 447 447 5 447 .I 448 .T Path Matrix (Algorithm 141) .B CACM November, 1962 .A Ingerman, P. Z. .N CA621113 JB March 17, 1978 6:06 PM .X 448 5 448 448 5 448 448 5 448 .I 449 .T Matrix Inversion(Algorithm 140) .B CACM November, 1962 .A Ingerman, P. Z. .N CA621112 JB March 17, 1978 6:12 PM .X 449 5 449 449 5 449 449 5 449 .I 450 .T Solution of the Diophantine Equation (Algorithm 139) .B CACM November, 1962 .A Peck, J. E. L. .N CA621111 JB March 17, 1978 6:13 PM .X 2031 5 450 450 5 450 450 5 450 450 5 450 1022 6 450 450 6 450 .I 451 .T Nesting of for Statement II (Algorithm 138) .B CACM November, 1962 .A Dahm, D. M. Wells, M. .N CA621110 JB March 17, 1978 6:14 PM .X 451 5 451 451 5 451 451 5 451 .I 452 .T Nesting of for Statement I (Algorithm 137) .B CACM November, 1962 .A Dahm, D. M. Wells, M. .N CA621109 JB March 17, 1978 6:15 PM .X 452 5 452 452 5 452 452 5 452 .I 453 .T Enlargement of a Group (Algorithm 136) .B CACM November, 1962 .A Wells, M. .N CA621108 JB March 17, 1978 6:17 PM .X 453 5 453 453 5 453 453 5 453 .I 454 .T Crout with Equilibration and Iteration (Algorithm 135) .B CACM November, 1962 .A McKeeman, W. M. .N CA621107 JB March 17, 1978 6:51 PM .X 1319 4 454 454 4 454 454 4 454 140 4 454 152 5 454 1177 5 454 454 5 454 454 5 454 454 5 454 586 5 454 806 5 454 932 6 454 454 6 454 454 6 454 .I 455 .T Exponentiation of Series (Algorithm 134) .B CACM November, 1962 .A Fettis, H. E. .N CA621106 JB March 17, 1978 6:52 PM .X 455 5 455 455 5 455 455 5 455 .I 456 .T RANDOM (Algorithm 133) .B CACM November, 1962 .A Behrenz, P. G. .N CA621105 JB March 17, 1978 6:53 PM .X 1190 5 456 456 5 456 456 5 456 456 5 456 456 6 456 .I 457 .T Quantum Mechanical Integrals Over all Slater-Type Integrals .B CACM November, 1962 .A Browne, J. C. .N CA621104 JB March 17, 1978 6:54 PM .X 457 5 457 457 5 457 457 5 457 .I 458 .T Coefficient Determination (Algorithm 131) .B CACM November, 1962 .A Smith, V. H. Allen, M. L. .N CA621103 JB March 17, 1978 6:56 PM .X 458 5 458 458 5 458 458 5 458 .I 459 .T PERMUTE (Algorithm 130) .B CACM November, 1962 .A Eaves, Lt. B. C. .N CA621102 JB March 17, 1978 6:57 PM .X 459 5 459 459 5 459 459 5 459 .I 460 .T MINIFUN (Algorithm 129) .B CACM November, 1962 .A Whitley, V. W. .N CA621101 JB March 17, 1978 6:58 PM .X 460 5 460 460 5 460 460 5 460 .I 461 .T Coding of Medical Case History Data for Computer Analysis .B CACM October, 1962 .A Lipkin, M. Woodbury, M. A. .N CA621019 JB March 17, 1978 6:59 PM .X 461 5 461 461 5 461 461 5 461 .I 462 .T Computer Pattern Recognition Techniques: Electrocardiographic Diagnosis .W The use of programmed digital computers as general pattern classification and recognition devices is one phase of the current lively interest in artificial intelligence. It is important to choose a class of signals which is, at present, undergoing a good deal of visual inspection by trained people for the purpose of pattern recognition. In this way comparisons between machine and human performance may be obtained. A practical result also serves as additional motivation. Clinical electrocardiograms make up such a class of signals. The approach to the problem presented here centers upon the use of multiple adaptive matched filters that classify normalized signals. The present report fives some of the background for the application of this method. .B CACM October, 1962 .A Stark,L. Okajima, M. Whipple, G. H. .N CA621018 JB March 17, 1978 7:04 PM .X 1325 5 462 462 5 462 462 5 462 462 5 462 462 6 462 .I 463 .T On Ambiguity in Phrase Structure Languages .B CACM October, 1962 .A Floyd, R. W. .N CA621017 JB March 17, 1978 7:05 PM .X 249 4 463 254 4 463 272 4 463 1102 4 463 1109 4 463 1140 4 463 1188 4 463 1306 4 463 1464 4 463 1491 4 463 1767 4 463 1781 4 463 1787 4 463 1949 4 463 321 4 463 2059 4 463 2126 4 463 435 4 463 437 4 463 463 4 463 483 4 463 491 4 463 2732 4 463 560 4 463 583 4 463 3073 4 463 627 4 463 631 4 463 632 4 463 642 4 463 644 4 463 653 4 463 680 4 463 761 4 463 762 4 463 763 4 463 123 4 463 140 4 463 919 4 463 989 4 463 196 5 463 1306 5 463 1781 5 463 463 5 463 463 5 463 463 5 463 123 6 463 196 6 463 196 6 463 919 6 463 990 6 463 1007 6 463 1046 6 463 1131 6 463 1139 6 463 1140 6 463 1149 6 463 1198 6 463 1215 6 463 1223 6 463 1265 6 463 1303 6 463 1323 6 463 1358 6 463 1366 6 463 1421 6 463 1460 6 463 1462 6 463 1463 6 463 1467 6 463 1468 6 463 1477 6 463 1491 6 463 1496 6 463 1531 6 463 1535 6 463 1565 6 463 1601 6 463 1602 6 463 1613 6 463 1614 6 463 1626 6 463 1641 6 463 1787 6 463 1788 6 463 205 6 463 224 6 463 249 6 463 288 6 463 316 6 463 381 6 463 398 6 463 11 6 463 404 6 463 410 6 463 463 6 463 463 6 463 464 6 463 483 6 463 3184 6 463 3188 6 463 584 6 463 600 6 463 680 6 463 691 6 463 763 6 463 799 6 463 .I 464 .T Syntactic Analysis by Digital Computer .W This paper provides an account of the Shadow language that is used to describe syntax and of a corresponding subroutine that enables a computer to perform syntactic analysis. The input to this subroutine consists of a string to be analyzed and a description of the syntax that is to be used. The syntax is expressed in the Shadow language. The output consists of a trace table that expresses the results of the syntactic analysis in a tabular form. Several versions of the subroutine and some associated programs have been in use now for over three years. The present account of the language and the subroutine contains a summary of material that has been described previously in unpublished reports and also some additional discussion of the work in relation to the more general questions of problem-oriented languages and string transformations. .B CACM October, 1962 .A Barnett, M. P. Futrelle, R. P. .N CA621016 JB March 17, 1978 7:11 PM .X 1046 4 464 1105 4 464 1139 4 464 1140 4 464 1234 4 464 1263 4 464 1265 4 464 1496 4 464 1781 4 464 1824 4 464 2126 4 464 2546 4 464 464 4 464 464 4 464 584 4 464 631 4 464 653 4 464 680 4 464 720 4 464 763 4 464 795 4 464 799 4 464 945 4 464 1062 5 464 1121 5 464 1139 5 464 1265 5 464 265 5 464 1781 5 464 404 5 464 464 5 464 464 5 464 464 5 464 720 5 464 759 5 464 123 6 464 196 6 464 919 6 464 990 6 464 1007 6 464 1046 6 464 1131 6 464 1139 6 464 1140 6 464 1149 6 464 1198 6 464 1215 6 464 1223 6 464 1265 6 464 1303 6 464 1323 6 464 1358 6 464 1366 6 464 1421 6 464 1460 6 464 1462 6 464 1463 6 464 1467 6 464 1468 6 464 1477 6 464 1491 6 464 1496 6 464 1531 6 464 1535 6 464 1565 6 464 1601 6 464 1602 6 464 1613 6 464 1614 6 464 1626 6 464 1641 6 464 1787 6 464 1788 6 464 205 6 464 224 6 464 224 6 464 249 6 464 265 6 464 288 6 464 316 6 464 381 6 464 398 6 464 399 6 464 11 6 464 404 6 464 404 6 464 404 6 464 410 6 464 438 6 464 463 6 464 464 6 464 464 6 464 464 6 464 464 6 464 464 6 464 464 6 464 464 6 464 474 6 464 483 6 464 3184 6 464 3184 6 464 3188 6 464 584 6 464 600 6 464 631 6 464 631 6 464 635 6 464 680 6 464 691 6 464 759 6 464 763 6 464 794 6 464 799 6 464 .I 465 .T PERM (Algorithm 115) .B CACM October, 1962 .A Schrack, G. F. .N CA621015 JB March 17, 1978 7:12 PM .X 465 5 465 465 5 465 465 5 465 .I 466 .T General Order Arithmetic (Algorithm 93) .B CACM October, 1962 .A George, R. .N CA621014 JB March 17, 1978 7:13 PM .X 466 5 466 466 5 466 466 5 466 .I 467 .T Permutation Generator (Algorithm 87) .B CACM October, 1962 .A Schrack, G. F. Shimrat, M. .N CA621013 JB March 17, 1978 7:14 PM .X 467 5 467 467 5 467 467 5 467 .I 468 .T Incomplete Elliptic Integrals (Algorithm 73) .B CACM October, 1962 .A Jefferson, D. K. .N CA621012 JB March 17, 1978 7:14 PM .X 468 5 468 468 5 468 468 5 468 .I 469 .T Critical Path Scheduling (Algorithm 40) .B CACM October, 1962 .A Hellberg, L. .N CA621011 JB March 17, 1978 7:15 PM .X 469 5 469 469 5 469 469 5 469 .I 470 .T Summation of Fourier Series (Algorithm 128) .B CACM October, 1962 .A Wells, M. .N CA621010 JB March 17, 1978 7:16 PM .X 470 5 470 470 5 470 470 5 470 .I 471 .T ORTHO (Algorithm 127) .B CACM October, 1962 .A Walsh, P. J. .N CA621009 JB March 17, 1978 7:17 PM .X 471 5 471 471 5 471 471 5 471 .I 472 .T Gauss' Method (Algorithm 126) .B CACM October, 1962 .A Counts, J. W. .N CA621008 JB March 17, 1978 7:18 PM .X 2075 5 472 472 5 472 472 5 472 472 5 472 472 6 472 .I 473 .T WEIGHTCOEFF (Algorithm 125) .B CACM October, 1962 .A Rutishauser, H. .N CA621007 JB March 17, 1978 7:19 PM .X 473 5 473 473 5 473 473 5 473 .I 474 .T Input Data Organization in Fortran .B CACM October, 1962 .A Yarbrough, L.D. .N CA621006 JB March 17, 1978 7:20 PM .X 1053 5 474 474 5 474 474 5 474 474 5 474 720 5 474 265 6 474 435 6 474 464 6 474 474 6 474 474 6 474 718 6 474 720 6 474 .I 475 .T A Test Matrix for Inversion Procedures .B CACM October, 1962 .A Pei, M. L. .N CA621005 JB March 17, 1978 7:21 PM .X 1963 5 475 475 5 475 475 5 475 475 5 475 909 6 475 475 6 475 750 6 475 .I 476 .T Further Remarks on Sampling a Tape File-II .B CACM October, 1962 .A Nadler, M. .N CA621004 JB March 17, 1978 7:22 PM .X 476 5 476 476 5 476 476 5 476 .I 477 .T Further Remarks on Sampling a Tape File-I .B CACM October, 1962 .A Muller, M. E. .N CA621003 JB March 17, 1978 7:23 PM .X 477 4 477 6 5 477 477 5 477 477 5 477 477 5 477 .I 478 .T Implementing a Stack .B CACM October, 1962 .A Baecker, H.D. .N CA621002 JB March 17, 1978 7:25 PM .X 478 5 478 478 5 478 478 5 478 .I 479 .T A Dispersion Pass Algorithm for the Polyphase Merge .W This paper presents a new manner of dispersing strings for a Polyphase merge. If the number of strings dispersed is between two levels acceptable by Polyphase merge, a more economical technique of reaching the next level for Polyphase merge is shown and proved. .B CACM October, 1962 .A Mendoza, A. G. .N CA621001 JB March 17, 1978 7:27 PM .X 2146 4 479 479 4 479 479 4 479 862 4 479 863 4 479 264 5 479 299 5 479 479 5 479 479 5 479 479 5 479 860 5 479 862 5 479 861 6 479 299 6 479 479 6 479 479 6 479 .I 480 .T Quick Calculation of Jacobian Elliptic Functions (Corrigendum) .B CACM September, 1962 .A Salzer, H. E. .N CA620912 JB March 17, 1978 7:28 PM .X 480 5 480 480 5 480 480 5 480 .I 481 .T A One-Day Look At Computing .B CACM September, 1962 .A Armerding, G. W. Gruenberger, F. J. Marks, S. L. Parkin, T. R. .N CA620911 JB March 17, 1978 7:30 PM .X 481 5 481 481 5 481 481 5 481 .I 482 .T TALL-A List Processor for the Philco 200 Computer .B CACM September, 1962 .A Feldman, J. .N CA620910 JB March 17, 1978 7:31 PM .X 482 5 482 482 5 482 482 5 482 .I 483 .T On the Nonexistence of a Phrase Structure Grammar for ALGOL 60 .W ALGOL 60 is defined partly by formal mechanisms of phrase structure grammar, partly by informally stated restrictions. It is shown that no formal mechanisms of the type used are sufficient to define ALGOL 60. .B CACM September, 1962 .A Floyd, R. W. .N CA620909 JB March 17, 1978 7:33 PM .X 249 4 483 254 4 483 272 4 483 1102 4 483 1109 4 483 1140 4 483 1188 4 483 1306 4 483 1464 4 483 1491 4 483 1767 4 483 1781 4 483 1787 4 483 1949 4 483 321 4 483 2059 4 483 2126 4 483 435 4 483 437 4 483 463 4 483 483 4 483 491 4 483 2732 4 483 560 4 483 583 4 483 3073 4 483 627 4 483 631 4 483 632 4 483 642 4 483 644 4 483 653 4 483 680 4 483 761 4 483 762 4 483 763 4 483 123 4 483 140 4 483 919 4 483 989 4 483 196 5 483 949 5 483 1102 5 483 1142 5 483 1781 5 483 1945 5 483 483 5 483 483 5 483 483 5 483 762 5 483 823 6 483 123 6 483 196 6 483 196 6 483 196 6 483 914 6 483 915 6 483 917 6 483 919 6 483 984 6 483 989 6 483 990 6 483 990 6 483 1007 6 483 1012 6 483 1046 6 483 1084 6 483 1098 6 483 1122 6 483 1131 6 483 1138 6 483 1139 6 483 1139 6 483 1140 6 483 1141 6 483 1149 6 483 1198 6 483 1200 6 483 1215 6 483 1223 6 483 1223 6 483 1265 6 483 1265 6 483 1303 6 483 1323 6 483 1336 6 483 1358 6 483 1366 6 483 1396 6 483 1421 6 483 1455 6 483 1460 6 483 1462 6 483 1463 6 483 1467 6 483 1468 6 483 1477 6 483 1477 6 483 1487 6 483 1491 6 483 1491 6 483 1496 6 483 1496 6 483 1531 6 483 1535 6 483 1565 6 483 1601 6 483 1602 6 483 1613 6 483 1614 6 483 1626 6 483 1641 6 483 1787 6 483 1788 6 483 205 6 483 209 6 483 210 6 483 224 6 483 249 6 483 249 6 483 288 6 483 316 6 483 381 6 483 398 6 483 11 6 483 404 6 483 406 6 483 410 6 483 463 6 483 464 6 483 483 6 483 483 6 483 483 6 483 483 6 483 483 6 483 483 6 483 3184 6 483 3184 6 483 3188 6 483 584 6 483 584 6 483 584 6 483 600 6 483 669 6 483 680 6 483 680 6 483 691 6 483 763 6 483 763 6 483 799 6 483 .I 484 .T Hankel Function (Algorithm 124) .B CACM September, 1962 .A Schaefer, L. J. .N CA620908 JB March 17, 1978 7:34 PM .X 484 5 484 484 5 484 484 5 484 .I 485 .T Real Error Function, ERF(x) (Algorithm 123) .B CACM September, 1962 .A Crawford, M. Techo, R. .N CA620907 JB March 17, 1978 7:35 PM .X 1157 5 485 485 5 485 485 5 485 485 5 485 836 6 485 1081 6 485 485 6 485 714 6 485 .I 486 .T Tridiagonal Matrix (Algorithm 122) .B CACM September, 1962 .A Dietzel, G. F. .N CA620906 JB March 17, 1978 7:36 PM .X 486 5 486 486 5 486 486 5 486 .I 487 .T NORMDEV (Algorithm 121) .B CACM September, 1962 .A Shafer,D. .N CA620905 JB March 17, 1978 7:38 PM .X 487 5 487 487 5 487 487 5 487 .I 488 .T A Heuristic for Page Turning In a Multiprogrammed Computer .B CACM September, 1962 .A Weil, J. W. .N CA620904 JB March 17, 1978 7:40 PM .X 1754 4 488 2358 4 488 488 4 488 274 5 488 488 5 488 488 5 488 488 5 488 .I 489 .T Current Status of IPL-V for the Philco 2000 Computer (June 1962) .B CACM September, 1962 .A Shaffer, S. S. .N CA620903 JB March 17, 1978 7:41 PM .X 489 5 489 489 5 489 489 5 489 .I 490 .T Programmed Methods for Printer Graphical Output .B CACM September, 1962 .A Garfinkel, D. .N CA620902 JB March 17, 1978 8:56 PM .X 490 5 490 490 5 490 490 5 490 .I 491 .T Use of Multiprogramming in the Design of a Low Cost Digital Computer .B CACM September, 1962 .A Penny, J. P. Pearcey, T. .N CA620901 JB March 17, 1978 8:57 PM .X 249 4 491 254 4 491 272 4 491 1102 4 491 1109 4 491 1140 4 491 1188 4 491 1306 4 491 1464 4 491 1491 4 491 1713 4 491 1713 4 491 1767 4 491 1781 4 491 1787 4 491 1901 4 491 1901 4 491 1949 4 491 321 4 491 2059 4 491 2126 4 491 435 4 491 437 4 491 463 4 491 483 4 491 491 4 491 491 4 491 491 4 491 491 4 491 2732 4 491 560 4 491 583 4 491 3073 4 491 627 4 491 631 4 491 632 4 491 642 4 491 644 4 491 653 4 491 680 4 491 761 4 491 762 4 491 763 4 491 123 4 491 140 4 491 168 4 491 919 4 491 989 4 491 168 5 491 185 5 491 196 5 491 491 5 491 491 5 491 491 5 491 46 5 491 3193 5 491 796 5 491 491 6 491 491 6 491 .I 492 .T Analysis of a File Addressing Method .W This paper presents a new file addressing method based on the calculation of an address from the identification of a record. For large recirculating type files, it seems to be more advantageous than customary ones. The probability distribution of the displacement of records from their calculated address, which is one less than the number of probes required to address a record, is computed on the basis of a Markov chain model. For the reader not interested in the mathematics, the introduction and the summary should be sufficient. .B CACM August, 1962 .A Schay Jr., G. Spruth, W. G. .N CA620836 JB March 17, 1978 9:02 PM .X 911 5 492 1785 5 492 2203 5 492 2860 5 492 492 5 492 492 5 492 492 5 492 911 6 492 911 6 492 1328 6 492 1785 6 492 1786 6 492 332 6 492 332 6 492 2107 6 492 2109 6 492 2203 6 492 492 6 492 492 6 492 492 6 492 492 6 492 .I 493 .T The Property Classification Method of File Design and Processing .B CACM August, 1962 .A McGee, W. C. .N CA620835 JB March 17, 1978 9:03 PM .X 1135 4 493 1136 4 493 493 4 493 2710 4 493 2765 4 493 2888 4 493 2906 4 493 729 4 493 1136 5 493 493 5 493 493 5 493 493 5 493 616 5 493 493 6 493 616 6 493 657 6 493 .I 494 .T A Finite Sequentially Compact Process for the Adjoints of Matrices Over Arbitrary Integral Domains .B CACM August, 1962 .A Luther, H. A. Guseman Jr., L. F. .N CA620834 JB March 17, 1978 9:04 PM .X 494 5 494 494 5 494 494 5 494 .I 495 .T A Procedure for Inverting Large Symmetric Matrices .W In the least squares method for simultaneous adjustment of several parameters, the coefficients of the normal equations are the elements of a symmetric positive-definite matrix. In order to solve the normal equations and evaluate the precision measures of the resulting parameters, inversion of this matrix of coefficients is required. Many available procedures for matrix inversion do not take advantage of the symmetry. Thus, when programmed for a high-speed computer, all n^2 elements must be stored and manipulated, whereas only (n + 1)/2 of them are independent. In order to allow a computer of given memory capacity to handle a larger matrix, the following procedure for inverting a symmetric matrix has been devised. .B CACM August, 1962 .A Busing, W. R. Levy, H. S. .N CA620833 JB March 17, 1978 9:09 PM .X 495 5 495 495 5 495 495 5 495 .I 496 .T A Set of Matrices for Testing Computer Programs .B CACM August, 1962 .A Brenner, J. L. .N CA620832 JB March 17, 1978 9:10 PM .X 1047 5 496 496 5 496 496 5 496 496 5 496 496 6 496 .I 497 .T Further Remarks on Line Segment Curve-Fitting Using Dynamic Programming .W In a recent paper, Bellman showed how dynamic programming could be used to determine the solution to a problem previously considered by Stone. The problem comprises the determination, given N, of the N points of subdivision of a given interval (a,B) and the corresponding line segments, that give the best least squares fit to a function g(x) in the interval. Bellman confined himself primarily to the analytical derivation, suggesting briefly, however, how the solution of the equation derived for each particular point of subdivision u(i) could be reduced to a discrete search. In this paper, the computational procedure is considered more fully, and the similarities to some of Stone's equations are indicated. It is further shown that an equation for u(i) involving no minimization may be found. In addition, it is shown how Bellman's method may be applied to the curve-fitting problem when the additional constraints are added that the ends of the line segments must be on the curve. .B CACM August, 1962 .A Gluss, B. .N CA620831 JB March 17, 1978 9:19 PM .X 497 4 497 867 4 497 317 5 497 497 5 497 497 5 497 497 5 497 867 5 497 317 6 497 497 6 497 .I 498 .T Magic Square (Algorithm 117 & 118) .B CACM August, 1962 .A Collison, D. M. .N CA620830 JB March 17, 1978 9:20 PM .X 498 5 498 498 5 498 498 5 498 .I 499 .T Permutation Generator (Algorithm 87) .B CACM August, 1962 .A Collison, D. M. .N CA620829 JB March 17, 1978 9:22 PM .X 499 5 499 499 5 499 499 5 499 .I 500 .T PERMUTE (Algorithm 86) .B CACM August, 1962 .A Collison, D. M. .N CA620828 JB March 17, 1978 9:23 PM .X 500 5 500 500 5 500 500 5 500 .I 501 .T JACOBI (Algorithm 85) .B CACM August, 1962 .A Hillmore, J. S. .N CA620827 JB March 17, 1978 9:24 PM .X 2349 5 501 501 5 501 501 5 501 501 5 501 1648 6 501 1716 6 501 1794 6 501 1894 6 501 2043 6 501 501 6 501 613 6 501 774 6 501 .I 502 .T Simpson's Integration (Algorithm 84) .B CACM August, 1962 .A George, R. .N CA620826 JB March 17, 1978 9:25 PM .X 502 5 502 502 5 502 502 5 502 .I 503 .T Rational Roots of Polynomials with Integer Coefficients (Algorithm 78) .B CACM August, 1962 .A Collison, D. M. .N CA620825 JB March 17, 1978 9:27 PM .X 503 5 503 503 5 503 503 5 503 .I 504 .T FACTORS (Algorithm 75) .B CACM August, 1962 .A Hillmore, J. S. .N CA620824 JB March 17, 1978 9:28 PM .X 504 5 504 504 5 504 504 5 504 .I 505 .T Composition Generator (Algorithm 72) .B CACM August, 1962 .A Collison, D. M. .N CA620823 JB March 17, 1978 9:29 PM .X 505 5 505 505 5 505 505 5 505 .I 506 .T PERMUTATION (Algorithm 71) .B CACM August, 1962 .A Hillmore, J. S. .N CA620822 JB March 17, 1978 9:30 PM .X 506 5 506 506 5 506 506 5 506 .I 507 .T Partition, Quicksort, Find (Algorithm 63, 64, 65) .B CACM August, 1962 .A Hillmore, J. S. .N CA620821 JB March 17, 1978 9:32 PM .X 2679 5 507 507 5 507 507 5 507 507 5 507 970 6 507 1175 6 507 1190 6 507 1228 6 507 1969 6 507 1997 6 507 308 6 507 2042 6 507 3187 6 507 507 6 507 716 6 507 783 6 507 .I 508 .T Matrix Inversion (Algorithm 58) .B CACM August, 1962 .A George, R. .N CA620820 JB March 17, 1978 9:32 PM .X 508 5 508 508 5 508 508 5 508 .I 509 .T Matrix Inversion (Algorithm 58) .B CACM August, 1962 .A Struble, G. .N CA620819 JB March 17, 1978 9:33 PM .X 509 5 509 509 5 509 509 5 509 .I 510 .T Ber or Bei Function (Algorithm 57) .B CACM August, 1962 .A Thacher Jr., H. C. .N CA620818 JB March 17, 1978 9:34 PM .X 510 5 510 510 5 510 510 5 510 .I 511 .T A Set of Test Matrices (Algorithm 52) .B CACM August, 1962 .A Hillmore, J. S. .N CA620817 JB March 17, 1978 9:35 PM .X 1707 5 511 511 5 511 511 5 511 511 5 511 1047 6 511 511 6 511 .I 512 .T Telescope 1 (Algorithm 37) .B CACM August, 1962 .A Thacher Jr., H. C. .N CA620816 JB March 17, 1978 9:36 PM .X 512 5 512 512 5 512 512 5 512 .I 513 .T SIEVE (Algorithm 35) .B CACM August, 1962 .A Hillmore, J. S. .N CA620815 JB March 17, 1978 9:37 PM .X 513 5 513 513 5 513 513 5 513 .I 514 .T Binomial Coefficients (Algorithm 19) .B CACM August, 1962 .A George, R. .N CA620814 JB March 17, 1978 9:40 PM .X 514 5 514 514 5 514 514 5 514 .I 515 .T Rational Interpolation by Continued Fractions (Algorithm 18) .B CACM August, 1962 .A Thacher Jr., H. C. .N CA620813 JB March 17, 1978 9:41 PM .X 515 5 515 515 5 515 515 5 515 .I 516 .T Matrix Inversion II (Algorithm 120) .B CACM August, 1962 .A George, R. .N CA620812 JB March 17, 1978 9:42 PM .X 516 5 516 516 5 516 516 5 516 .I 517 .T Evaluation of Pert Network (Algorithm 119) .B CACM August, 1962 .A Eisenman, B. Shapiro, M. .N CA620811 JB March 17, 1978 9:44 PM .X 517 5 517 517 5 517 517 5 517 .I 518 .T Magic Square (Odd Order) (Algorithm 118) .B CACM August, 1962 .A Collison, D. M. .N CA620810 JB March 17, 1978 9:45 PM .X 2082 5 518 518 5 518 518 5 518 518 5 518 1491 6 518 518 6 518 .I 519 .T Magic Square (Even Order) (Algorithm 117) .B CACM August, 1962 .A Collison, D. M. .N CA620809 JB March 17, 1978 9:46 PM .X 519 5 519 519 5 519 519 5 519 .I 520 .T Complex Division (Algorithm 116) .B CACM August, 1962 .A Smith, R. L. .N CA620808 JB March 17, 1978 9:47 PM .X 520 5 520 520 5 520 520 5 520 .I 521 .T PERM (Algorithm 115) .B CACM August, 1962 .A Trotter, H. F. .N CA620807 JB March 17, 1978 9:57 PM .X 2044 5 521 2189 5 521 2417 5 521 2505 5 521 2874 5 521 2908 5 521 521 5 521 521 5 521 521 5 521 996 6 521 1558 6 521 1594 6 521 1682 6 521 2087 6 521 2189 6 521 2227 6 521 2230 6 521 2292 6 521 2317 6 521 2505 6 521 2683 6 521 2871 6 521 2884 6 521 3191 6 521 521 6 521 521 6 521 521 6 521 521 6 521 521 6 521 521 6 521 .I 522 .T Generation of Partitions with Constraints (Algorithm 114) .B CACM August, 1962 .A Stockmal, F. .N CA620806 JB March 17, 1978 7:28 PM .X 522 5 522 522 5 522 522 5 522 .I 523 .T TREESORT (Algorithm 113) .B CACM August, 1962 .A Floyd,R. W. .N CA620805 JB March 17, 1978 7:29 PM .X 523 5 523 523 5 523 523 5 523 .I 524 .T Position of Point Relative to Polygon (Algorithm 112) .B CACM August, 1962 .A Shimrat, M. .N CA620804 JB March 17, 1978 7:30 PM .X 1804 5 524 2987 5 524 524 5 524 524 5 524 524 5 524 1326 6 524 1630 6 524 2125 6 524 2547 6 524 2633 6 524 421 6 524 421 6 524 524 6 524 524 6 524 .I 525 .T A Computer Technique for Handling Analysis of Variance .B CACM August, 1962 .A Howell, J. R. .N CA620803 JB March 17, 1978 7:32 PM .X 525 5 525 525 5 525 525 5 525 .I 526 .T Character Manipulation in Fortran .B CACM August, 1962 .A Pyle, I. C. .N CA620802 JB March 17, 1978 7:33 PM .X 526 5 526 526 5 526 526 5 526 .I 527 .T The Description List of Concepts .W A concept is defined as a class of objects whose members can be distinguished by processing its properties. Property is defined to mean a partition of the set of all objects into disjoint classes. The formal definition of a concept is recursive in nature. A concept is described by a list structure. A one-to-one correspondence is established between the recursive definition of a concept and its description list structure. Like the definition, the description list structure of a concept is also built up from elementary list structures by a recursive process. The list structures obtained this way are compared with the description list structure discussed by the author in a previous publication. .B CACM August, 1962 .A Banerji, R. B. .N CA620801 JB March 17, 1978 7:39 PM .X 527 5 527 527 5 527 527 5 527 .I 528 .T FORTRAN for Business Data Processing .B CACM July, 1962 .A Robbins, D. K. .N CA620733 JB March 17, 1978 7:41 PM .X 1330 5 528 528 5 528 528 5 528 528 5 528 528 6 528 728 6 528 .I 529 .T Regression and Coded Patterns in Data Editing .B CACM July, 1962 .A Robison, D. E. Aroian, L. A. .N CA620732 JB March 17, 1978 7:42 PM .X 529 5 529 529 5 529 529 5 529 .I 530 .T A Computer Method for Radiation Treatment Planning .B CACM July, 1962 .A Siler, W. Laughlin, J. S. .N CA620731 JB March 17, 1978 7:43 PM .X 530 5 530 530 5 530 530 5 530 .I 531 .T Person-Matching by Electronic Methods .W Record linkage in the updating of files is accomplished in many establishments through the use of a preassigned number, such as payroll number, customer number, or social security number. In vital and health records, however, a unique number is generally not preassigned to an individual for purposes of reporting services received to the health department. In order to determine whether different physician reports refer to the same individual, name and other identification must be compared. This is a laborious operation which is subject to various errors because of name misspellings, changes of name upon marriage, and other problems. We are interested in the maintenance of a psychiatric case register in Maryland, where many of the reports from over a hundred psychiatric agencies refer to the same patient. These records must be linked in order to provide unduplicated counts of individuals under care and longitudinal records of psychiatric history. An earlier paper [1] describes our general procedures for register maintenance by use of a digital computer (Honeywell 800). Here we present in more detail our initial procedures for the person-matching process in order to elicit comments and suggestions from persons who have had experience in matching. .B CACM July, 1962 .A Phillips Jr., W. Bahn, A. K. Miyasaki, M. .N CA620730 JB March 17, 1978 7:51 PM .X 531 5 531 531 5 531 531 5 531 .I 532 .T On the Computation of Rational Approximations to Continuous Functions .B CACM July, 1962 .A Fraser, W. HArt, J. F. .N CA620729 JB March 17, 1978 7:52 PM .X 951 5 532 1015 5 532 1346 5 532 1440 5 532 1645 5 532 532 5 532 532 5 532 532 5 532 951 6 532 962 6 532 532 6 532 532 6 532 532 6 532 532 6 532 532 6 532 .I 533 .T Digital Synthesis of Correlated Stationary Noise .W In this note we propose a method of generating stationary noise with a prescribed auto-covariance function by digital methods. The need for such a technique often arises in testing the performance of data processing and engineering systems, where inputs corrupted with correlated noise (of a known form) are required. The technique is quite simple and produces strict-sense stationary noise which agrees approximately with R(t), the prescribed auto-covariance function (acf), over an interval [-T(0), T(0)]. The method consists of approximating the spectral density by a periodic process with spectral lines, and then synthesizing the periodic noise with random phases and appropriate amplitudes. In order to simplify discussion of the statistical properties of the noise generated, the technique is first presented in terms of exact harmonic analysis. In practice, discrete harmonic analysis as presented in the third section is used. .B CACM July, 1962 .A Peabody, P. R. Adorno, D. S. .N CA620728 JB March 17, 1978 7:59 PM .X 533 5 533 533 5 533 533 5 533 .I 534 .T Quick Calculation of Jacobian Elliptic Functions .B CACM July, 1962 .A Salzer, H. E. .N CA620727 JB March 17, 1978 8:01 PM .X 534 5 534 534 5 534 534 5 534 .I 535 .T Triangular Walk Pattern for the Down-hill Method of Solving a Transcendental Equation .B CACM July, 1962 .A Onoe, M. .N CA620726 JB March 17, 1978 8:02 PM .X 1806 5 535 535 5 535 535 5 535 535 5 535 535 6 535 .I 536 .T Nonlinear Regression and the Solution of Simultaneous Equations .W If one has a set of observables (Z1,...,Zm) which are bound in a relation with certain parameters (A1,...,An) by an equation S(Z1,...;A1,...)=0, one frequently has the problem of determining a set of values of the Ai which minimizes the sum of squares of differences between observed and calculated values of a distinguished observable, say Zm. If the solution of the above equation for Zm, Zm=N(Z1,...;A1,...) gives rise to a function N which is nonlinear in the Ai, then one may rely on a version of Gaussian regression [1,2] for an iteration scheme that converges to a minimizing set of values. It is shown here that this same minimization technique may be used for the solution of simultaneous (not necessarily linear) equations. .B CACM July, 1962 .A Baer, R. M. .N CA620725 JB March 17, 1978 8:09 PM .X 536 5 536 536 5 536 536 5 536 .I 537 .T A Machine Program for Theorem-Proving .W The program of a proof procedure is discussed in connection with trial runs and possible improvements. .B CACM July, 1962 .A Davis, M. Logemann, G. Loveland, D. .N CA620724 JB March 17, 1978 8:11 PM .X 537 5 537 537 5 537 537 5 537 .I 538 .T Quantum Mechanical Integrals of Slater-Type Orbitals (Algorithm 110) .B CACM July, 1962 .A Kruglyak, Y. A. Whitman, D. R. .N CA620723 JB March 17, 1978 8:13 PM .X 538 5 538 538 5 538 538 5 538 .I 539 .T Definite Exponential Integrals B (Algorithm 109) .B CACM July, 1962 .A Kruglyak, Y. A. Whitman, D. R. .N CA620722 JB March 17, 1978 8:15 PM .X 539 5 539 539 5 539 539 5 539 .I 540 .T Definite Exponential Integrals A (Algorithm 108) .B CACM July, 1962 .A Kruglyak, Y. A. Whitman, D. R. .N CA620721 JB March 17, 1978 8:16 PM .X 540 5 540 540 5 540 540 5 540 .I 541 .T Simpson's Integration (Algorithm 84) .B CACM July, 1962 .A Relph, A. P. .N CA620720 JB March 17, 1978 8:17 PM .X 541 5 541 541 5 541 541 5 541 .I 542 .T FACTORS (Algorithm 75) .B CACM July, 1962 .A Relph, A. P. .N CA620719 JB March 17, 1978 8:18 PM .X 542 5 542 542 5 542 542 5 542 .I 543 .T Interpolation by Aitken (Algorithm 70) .B CACM July, 1962 .A Relph, A. P. .N CA620718 JB March 17, 1978 8:19 PM .X 543 5 543 543 5 543 543 5 543 .I 544 .T Ber or Bei Function (Algorithm 57) .B CACM July, 1962 .A Relph, A. P. .N CA620717 JB March 17, 1978 8:21 PM .X 544 5 544 544 5 544 544 5 544 .I 545 .T Adjust Inverse of a Matrix when an Element is Perturbed (Algorithm 51) .B CACM July, 1962 .A George, R. .N CA620716 JB March 17, 1978 8:22 PM .X 545 5 545 545 5 545 545 5 545 .I 546 .T Logarithm of a Complex Number (Algorithm 48) .B CACM July, 1962 .A Johnson, M. L. Sangren, W. .N CA620715 JB March 17, 1978 8:23 PM .X 546 5 546 546 5 546 546 5 546 .I 547 .T Gamma Function (Algorithm 34) .B CACM July, 1962 .A Johnson, M. L. Sangren, W. .N CA620714 JB March 17, 1978 8:25 PM .X 547 5 547 547 5 547 547 5 547 .I 548 .T Molecular-Orbital Calculation of Molecular Interactions .B CACM July, 1962 .A Kruglyak, Y. A. Whitman, D. R. .N CA620713 JB March 17, 1978 8:26 PM .X 548 5 548 548 5 548 548 5 548 .I 549 .T Quantum Mechanical Integrals of Slater-Type Orbitals .B CACM July, 1962 .A Kruglyak, Y. A. Whitman, D. R. .N CA620712 JB March 17, 1978 8:27 PM .X 549 5 549 549 5 549 549 5 549 .I 550 .T Definite Exponential Integrals B (Algorithm 109) .B CACM July, 1962 .A Kruglyak, Y. A. Whitman, D. R. .N CA620711 JB March 17, 1978 8:30 PM .X 550 5 550 550 5 550 550 5 550 .I 551 .T Definite Exponential Integrals A (Algorithm 108) .B CACM July, 1962 .A Kruglyak, Y. A. Whitman, D. R. .N CA620710 JB March 17, 1978 8:31 PM .X 551 5 551 551 5 551 551 5 551 .I 552 .T Gauss's Method (Algorithm 107) .B CACM July, 1962 .A Counts, J. W. .N CA620709 JB March 17, 1978 8:33 PM .X 552 5 552 552 5 552 552 5 552 .I 553 .T Complex Number to a Real Power (Algorithm 106) .B CACM July, 1962 .A Johnson, M. L. Sangren, W. .N CA620708 JB March 17, 1978 8:34 PM .X 553 5 553 553 5 553 553 5 553 .I 554 .T Newton Maehly, (Algorithm 105) .B CACM July, 1962 .A Bauer, F. L. Stoer, J. .N CA620707 JB March 17, 1978 8:44 PM .X 554 5 554 554 5 554 554 5 554 .I 555 .T Reduction to Jacobi (Algorithm 104) .B CACM July, 1962 .A Rutishausr, H. .N CA620706 JB March 17, 1978 8:45 PM .X 555 5 555 555 5 555 555 5 555 .I 556 .T On Translation of Boolean Expressions .B CACM July, 1972 .A Bottenbirruch, H. H Grau, A. A. .N CA620705 JB March 17, 1978 8:52 PM .X 1139 4 556 1947 4 556 556 4 556 799 4 556 399 5 556 556 5 556 556 5 556 556 5 556 .I 557 .T Simulation of Computer Timing Device .B CACM July, 1962 .N CA620704 JB March 17, 1978 8:57 PM .X 1380 4 557 1552 4 557 1693 4 557 1781 4 557 1854 4 557 1860 4 557 2060 4 557 557 4 557 1421 5 557 557 5 557 557 5 557 557 5 557 3184 5 557 1198 6 557 1749 6 557 557 6 557 .I 558 .T A Modified Inversion Procedure for Product Form of the Inverse Linear Programming Codes .W This paper describes a new algorithm for the selection of the pivot row in matrix inversion when using the product form of the inverse. This algorithm has been developed for linear programming codes; however, it would be valuable for the inversion of any non-dense matrix. The procedures described in this paper have been thoroughly tested and have been in operation on the Esso Research and Engineering IBM 7090 computer for nine months. Substantial computer cost savings have been realized because of this procedure. .B CACM July,1962 .A Larsen, L. J. .N CA620703 JB March 17, 1978 9:07 PM .X 558 5 558 558 5 558 558 5 558 .I 559 .T Solution of Eigenvalue Problems With Approximately Known Eigenvectors .B CACM July, 1962 .A Appel, K. .N CA620702 JB March 17, 1978 9:10 PM .X 559 5 559 559 5 559 559 5 559 .I 560 .T Communication Between Independently Translated Blocks .B CACM July, 1962 .A Wegner, P. .N CA620701 JB March 17, 1978 9:11 PM .X 249 4 560 254 4 560 272 4 560 1102 4 560 1109 4 560 1140 4 560 1188 4 560 1306 4 560 1464 4 560 1491 4 560 1767 4 560 1774 4 560 1781 4 560 1787 4 560 1949 4 560 321 4 560 2059 4 560 2126 4 560 435 4 560 437 4 560 463 4 560 483 4 560 491 4 560 2732 4 560 560 4 560 560 4 560 583 4 560 3073 4 560 627 4 560 631 4 560 632 4 560 642 4 560 644 4 560 653 4 560 680 4 560 761 4 560 762 4 560 763 4 560 123 4 560 140 4 560 919 4 560 972 4 560 989 4 560 196 5 560 271 5 560 560 5 560 560 5 560 560 5 560 .I 561 .T Analytic Differentiation By Computer .B CACM June, 1962 .A Hanson, J. W. Caviness, J. S. Joseph, C. .N CA620624 JB March 17, 1978 9:12 PM .X 1134 4 561 1141 4 561 364 4 561 405 4 561 438 4 561 561 4 561 561 4 561 44 4 561 964 5 561 1028 5 561 1216 5 561 1396 5 561 1392 5 561 393 5 561 77 5 561 561 5 561 561 5 561 561 5 561 964 6 561 1028 6 561 1028 6 561 1029 6 561 1029 6 561 1029 6 561 1083 6 561 1132 6 561 1214 6 561 1278 6 561 1334 6 561 1365 6 561 1386 6 561 1387 6 561 1388 6 561 1392 6 561 1393 6 561 1394 6 561 1395 6 561 1396 6 561 1397 6 561 1496 6 561 284 6 561 284 6 561 407 6 561 3199 6 561 3200 6 561 3201 6 561 3202 6 561 3203 6 561 3204 6 561 561 6 561 561 6 561 561 6 561 561 6 561 561 6 561 730 6 561 759 6 561 .I 562 .T AVINT (Algorithm 77) .B CACM June, 1962 .A Whittier, V. E. .N CA620623 JB March 17, 1978 9:14 PM .X 562 5 562 562 5 562 562 5 562 .I 563 .T Sorting Procedures (Algorithm 76) .B CACM June, 1962 .A Randell, B. .N CA620622 JB March 17, 1978 9:15 PM .X 563 5 563 563 5 563 563 5 563 .I 564 .T CRAM (Algorithm 67) .B CACM June, 1962 .A Relph, A. P. .N CA620621 JB March 17, 1978 9:17 PM .X 564 5 564 564 5 564 564 5 564 .I 565 .T INVRS (Algorithm 66) .B CACM June, 1962 .A Caffrey, J. .N CA620620 JB March 17, 1978 9:18 PM .X 565 5 565 565 5 565 565 5 565 .I 566 .T Matrix Inversion (Algorithm 58) .B CACM June, 1962 .A Conger, R. A. .N CA620619 JB March 17, 1978 9:19 PM .X 566 5 566 566 5 566 566 5 566 .I 567 .T Logarithm of a Complex Number (Algorithm 48) .B CACM June, 1962 .A Relph, A. P. .N CA620618 JB March 17, 1978 9:20 PM .X 567 5 567 567 5 567 567 5 567 .I 568 .T Exponential of a Complex Number (Algorithm 46) .B CACM June, 1962 .A Relph, A. P. .N CA620617 JB March 17, 1978 9:21 PM .X 568 5 568 568 5 568 568 5 568 .I 569 .T Binomial Coefficients (Algorithm 19) .B CACM June, 1962 .A Steck, B. .N CA620616 JB March 17, 1978 9:22 PM .X 569 5 569 569 5 569 569 5 569 .I 570 .T Simpson's Rule Integrator (Algorithm 103) .B CACM June, 1962 .A Kuncir, G. F. .N CA620615 JB March 17, 1978 9:24 PM .X 1352 5 570 570 5 570 570 5 570 570 5 570 834 6 570 872 6 570 1040 6 570 1092 6 570 1241 6 570 1273 6 570 324 6 570 429 6 570 570 6 570 621 6 570 786 6 570 .I 571 .T Permutation in Lexicographical Order (Algorithm 102) .B CACM June, 1962 .A Schrack, G. F. Shimrat, M. .N CA620614 JB March 17, 1978 9:25 PM .X 571 5 571 571 5 571 571 5 571 .I 572 .T Add Item to Chain-Linked List (Algorithm 100) .B CACM June, 1962 .A Kiviat, P. J. .N CA620612 JB March 17, 1978 9:26 PM .X 572 5 572 572 5 572 572 5 572 .I 573 .T Remove Item From Chain-Linked List (Algorithm 101) .B CACM June, 1962 .A Kiviat, P. J. .N CA620613 JB March 17, 1978 9:27 PM .X 573 5 573 573 5 573 573 5 573 .I 574 .T Evaluation of Jacobi Symbol (Algorithm 99) .B CACM June, 1962 .A Garland, S. J. Knapp, A. W. .N CA620611 JB March 17, 1978 9:28 PM .X 574 5 574 574 5 574 574 5 574 .I 575 .T Evaluation of Definite Complex Line Integrals (Algorithm 98) .B CACM June, 1962 .A Pfaltz, J. L. .N CA620610 JB March 17, 1978 9:29 PM .X 575 5 575 575 5 575 575 5 575 .I 576 .T Shortest Path (Algorithm 97) .B CACM June, 1962 .A Floyd, R. W. .N CA620609 JB March 17, 1978 9:30 PM .X 1846 5 576 2630 5 576 2650 5 576 576 5 576 576 5 576 576 5 576 830 6 576 1380 6 576 1424 6 576 1484 6 576 1572 6 576 2111 6 576 576 6 576 576 6 576 576 6 576 680 6 576 .I 577 .T ANCESTOR (Algorithm 96) .B CACM June, 1962 .A Floyd, R. W. .N CA620608 JB March 17, 19789:31 PM .X 1836 5 577 577 5 577 577 5 577 577 5 577 1191 6 577 1477 6 577 1491 6 577 1781 6 577 577 6 577 .I 578 .T Generation of Partitions in Part-Count Form (Algorithm 95) .B CACM June, 1962 .A Stockmal, F. .N CA620607 JB March 17, 1978 9:32 PM .X 578 5 578 578 5 578 578 5 578 .I 579 .T COMBINATION (Algorithm 94) .B CACM June, 1962 .A Kurtzberg, J. .N CA620606 JB March 17, 1978 9:33 PM .X 2690 5 579 2853 5 579 579 5 579 579 5 579 579 5 579 3115 5 579 907 6 579 203 6 579 2045 6 579 2417 6 579 2466 6 579 2690 6 579 2884 6 579 579 6 579 579 6 579 579 6 579 785 6 579 .I 580 .T General Order Arithmetic (Algorithm 93) .B CACM June, 1962 .A Perstein, M. H. .N CA620605 JB March 17, 1978 9:34 PM .X 580 5 580 580 5 580 580 5 580 .I 581 .T A Note on Sampling a Tape-File .B CACM June, 1962 .A Jones, T. G. .N CA620604 JB March 17, 1978 9:35 PM .X 581 5 581 581 5 581 581 5 581 .I 582 .T One Lost Bit .B CACM June, 1962 .A Oster, C. A. .N CA620603 JB March 17, 1978 9:36 PM .X 582 5 582 582 5 582 582 5 582 .I 583 .T A Redundancy Check for ALGOL Programs .B CACM June, 1962 .A Thacher Jr., H. C. .N CA620602 JB March 17, 1978 9:37 PM .X 249 4 583 254 4 583 272 4 583 1102 4 583 1109 4 583 1140 4 583 1188 4 583 1306 4 583 1464 4 583 1491 4 583 1767 4 583 1781 4 583 1787 4 583 1949 4 583 321 4 583 2059 4 583 2126 4 583 435 4 583 437 4 583 463 4 583 483 4 583 491 4 583 2732 4 583 560 4 583 583 4 583 3073 4 583 627 4 583 631 4 583 632 4 583 642 4 583 644 4 583 653 4 583 680 4 583 761 4 583 762 4 583 763 4 583 123 4 583 140 4 583 919 4 583 989 4 583 196 5 583 583 5 583 583 5 583 583 5 583 .I 584 .T Report on the Algorithmic Language FORTRAN II .B CACM June, 1962 .A Rabinowitz, I. N. .N CA620601 JB March 17, 1978 9:38 PM .X 1046 4 584 1105 4 584 1139 4 584 1140 4 584 1234 4 584 1263 4 584 1265 4 584 1496 4 584 1781 4 584 1824 4 584 2126 4 584 2546 4 584 464 4 584 584 4 584 631 4 584 653 4 584 680 4 584 763 4 584 795 4 584 799 4 584 945 4 584 949 5 584 1781 5 584 1945 5 584 404 5 584 584 5 584 584 5 584 584 5 584 823 6 584 123 6 584 196 6 584 914 6 584 915 6 584 917 6 584 919 6 584 984 6 584 989 6 584 990 6 584 990 6 584 1007 6 584 1012 6 584 1046 6 584 1084 6 584 1098 6 584 1122 6 584 1131 6 584 1138 6 584 1139 6 584 1139 6 584 1140 6 584 1141 6 584 1149 6 584 1198 6 584 1200 6 584 1215 6 584 1223 6 584 1223 6 584 1265 6 584 1265 6 584 1303 6 584 1323 6 584 1336 6 584 1358 6 584 1366 6 584 1396 6 584 1421 6 584 1455 6 584 1460 6 584 1462 6 584 1463 6 584 1467 6 584 1468 6 584 1477 6 584 1477 6 584 1487 6 584 1491 6 584 1491 6 584 1496 6 584 1496 6 584 1531 6 584 1535 6 584 1565 6 584 1601 6 584 1602 6 584 1613 6 584 1614 6 584 1626 6 584 1641 6 584 1787 6 584 1788 6 584 205 6 584 224 6 584 249 6 584 288 6 584 316 6 584 381 6 584 398 6 584 11 6 584 404 6 584 410 6 584 463 6 584 464 6 584 483 6 584 483 6 584 483 6 584 3184 6 584 3184 6 584 3188 6 584 584 6 584 584 6 584 584 6 584 600 6 584 669 6 584 680 6 584 680 6 584 691 6 584 763 6 584 763 6 584 799 6 584 .I 585 .T Initial Experience With an Operating Multiprogramming System .W The Lewis Research Center has been using various forms and degrees of program simultaneity in the operation of its modified Sperry-Rand Univac Scientific Model 1103 computer during the last five years. This simultaneity has evolved from an initial achievement of self-searching input and output to the automatic time sharing of independently coded problems. Several important machine and program system modifications were necessary to accomplish this evolution. Several additional modifications, although not required, were added to facilitate ease of coding and operation. All modifications had to proceed at a relatively temperate pace to insure that the basic data-reduction work load of the computing center was completed on schedule. Some educationally valuable mistakes were made, and their suggested cures often pointed the way to useful future improvements or emphasized some of the basic principles of a multiprogramming system. The material that follows is a description of the evolution of the programming and hardware system which has developed into the present multiprogramming system at Lewis research Center. .B CACM May, 1962 .A Landis, N. Manos, A. Turner, L. R. .N CA620520 JB March 17, 1978 9:45 PM .X 585 5 585 585 5 585 585 5 585 .I 586 .T Simultaneous System of Equations and Matrix Inversion Routine (Algorithm 92) .B CACM May, 1962 .A Roek, D. J. .N CA620519 JB March 20, 1978 1:31 PM .X 454 5 586 586 5 586 586 5 586 586 5 586 152 6 586 586 6 586 .I 587 .T Romberg Integration (Algorithm 60) .B CACM May, 1962 .A Buchner, K. H. .N CA620518 JB March 20, 1978 1:33 PM .X 1040 5 587 587 5 587 587 5 587 587 5 587 885 6 587 587 6 587 621 6 587 .I 588 .T Chebyshev Curve-Fit (Algorithm 91) .B CACM May, 1962 .A Newhouse, A. .N CA620517 JB March 20, 1978 1:34 PM .X 588 5 588 588 5 588 588 5 588 .I 589 .T Evaluation of the Fresnel Cosine Integral (Algorithm 90) .B CACM May, 1962 .A Cundiff, J. L. .N CA620516 JB March 20, 1978 1:35 PM .X 589 5 589 589 5 589 589 5 589 .I 590 .T Evaluation of the Fresnel Sine Integral (Algorithm 89) .B CACM May, 1962 .A Cundiff, J. L. .N CA620515 JB March 20, 1978 1:36 PM .X 590 5 590 590 5 590 590 5 590 .I 591 .T Evaluation of Asymptotic Expression for the Fresnel Sine and Cosine Integrals (Algorithm 88) .B CACM May, 1962 .A Cundiff, J. L. .N CA620514 JB March 20, 1978 1:37 PM .X 591 5 591 591 5 591 591 5 591 .I 592 .T COBOL Batching Problems .B CACM May, 1962 .A Mullen, J. W. .N CA620513 JB March 20, 1978 1:38 PM .X 592 5 592 592 5 592 592 5 592 .I 593 .T An Introduction to a Machine-Independent Data Division .B CACM May, 1962 .A Mullin, J. P. .N CA620512 JB March 20, 1978 1:39 PM .X 593 5 593 593 5 593 593 5 593 .I 594 .T An Advanced Input-Output System for a COBOL Compiler .B CACM May, 1962 .A Bouman, C. A. .N CA620511 JB March 20, 1978 1:40 PM .X 594 5 594 594 5 594 594 5 594 .I 595 .T Guides to Teaching COBOL .W The teaching of COBOL can be divided into three main subject areas. They are the syntax of COBOL, the use of such syntax in solving any given problem, and programming concepts. It is generally accepted that some knowledge of the hardware and computer logic must be possessed by the programmer. The teaching problem arises in determining how thoroughly a student must know the hardware and logic for that computer for which he will write COBOL programs. Unfortunately, historical data concerning students' programming proficiency is almost non-existent and, at best, difficult to measure. How then might we approach solving this problem? .B CACM May, 1962 .A Greene, I. .N CA620510 JB March 20, 1978 1:44 PM .X 595 5 595 595 5 595 595 5 595 .I 596 .T Floating-Point Arithmetic in COBOL .W In this paper the basic operations of floating-point arithmetic are examined and COBOL procedures for carrying these out are given, along with specification of working storage. The paper concludes with an example in which these procedures are used. .B CACM May, 1962 .A Kesner, O. .N CA620509 JB March 20, 1978 1:46 PM .X 596 5 596 596 5 596 596 5 596 .I 597 .T Modular Data Processing Systems Written in COBOL .B CACM May, 1962 .A Emery, J. C. .N CA620508 JB March 20, 1978 1:47 PM .X 597 5 597 597 5 597 597 5 597 .I 598 .T The COBOL Librarian - A Key to Object Program Efficiency .W Many answers to the question "How may a COBOL Compiler be forced into the generation of an efficient object program?" The purpose of this article is to present one possible answer: the creation and full utilization of a well-constructed COBOL Library. .B CACM May, 1962 .A Hicks, W. .N CA620507 JB March 20, 1978 1:50 PM .X 598 5 598 598 5 598 598 5 598 .I 599 .T A Report Writer For COBOL .B CACM May, 1962 .A Donally, W. L. .N CA620506 JB March 20, 1978 1:51 PM .X 599 5 599 599 5 599 599 5 599 .I 600 .T Syntactical Charts of COBOL 61 .B CACM May, 1962 .A Berman, R. Sharp, J. Sturges, L. .N CA620505 JB March 20, 1978 1:52 PM .X 1781 5 600 600 5 600 600 5 600 600 5 600 123 6 600 196 6 600 919 6 600 990 6 600 1007 6 600 1046 6 600 1131 6 600 1139 6 600 1140 6 600 1149 6 600 1198 6 600 1215 6 600 1223 6 600 1265 6 600 1303 6 600 1323 6 600 1358 6 600 1366 6 600 1421 6 600 1460 6 600 1462 6 600 1463 6 600 1467 6 600 1468 6 600 1477 6 600 1491 6 600 1496 6 600 1531 6 600 1535 6 600 1565 6 600 1601 6 600 1602 6 600 1613 6 600 1614 6 600 1626 6 600 1641 6 600 1787 6 600 1788 6 600 205 6 600 224 6 600 249 6 600 288 6 600 316 6 600 381 6 600 398 6 600 11 6 600 404 6 600 410 6 600 463 6 600 464 6 600 483 6 600 3184 6 600 3188 6 600 584 6 600 600 6 600 680 6 600 691 6 600 763 6 600 799 6 600 .I 601 .T Interim Report on Bureau of Ships COBOL Evaluation Program .B CACM May, 1962 .A Siegel, M. Smith, A. E. .N CA620504 JB March 20, 1978 1:53 PM .X 601 5 601 601 5 601 601 5 601 .I 602 .T COBOL and Compatibility .B CACM May, 1962 .A Lippitt, A. .N CA620503 JB March 20, 1978 1:54 PM .X 602 5 602 602 5 602 602 5 602 .I 603 .T Basic Elements of COBOL 61 .B CACM May, 1962 .A Sammet, J. E. .N CA620502 JB March 20, 1978 1:54 PM .X 1084 5 603 603 5 603 603 5 603 603 5 603 868 6 603 603 6 603 644 6 603 669 6 603 791 6 603 797 6 603 .I 604 .T Why COBOL? .B CACM May, 1962 .A Cunningham, J. F. .N CA620501 JB March 20, 1978 1:55 PM .X 604 5 604 604 5 604 604 5 604 .I 605 .T Computer Simulation Of City Traffic .W In simulating traffic flow on city streets, the National Bureau of Standards has used data processing techniques to tabulate and make motion pictures of vehicle movements in the model. Each vehicle is assigned a digital identification giving points of entry and exit, type of vehicle, desired speed, and actual speed, in proportions simulating field data. Changes in the model can be made to observe their consequences and to determine the ability of a real street to carry loads expected in the future. .B CACM April, 1962 .N CA620412 JB March 20, 1978 2:00 PM .X 605 5 605 605 5 605 605 5 605 .I 606 .T A Method for Eliminating Ambiguity Due to Signal Coincidence in Digital Design .B CACM April, 1962 .A Kaiser, C. J. .N CA620411 JB March 20, 1978 2:16 PM .X 606 5 606 606 5 606 606 5 606 .I 607 .T The Calculation of Easter... .B CACM April, 1962 .A Knuth, D. .N CA620410 JB March 20, 1978 2:17 PM .X 607 5 607 607 5 607 607 5 607 .I 608 .T Permutation (Algorithm 71) .B CACM April, 1962 .A Peck, J. E. L. Schrack, G. F. .N CA620409 JB March 20, 1978 2:18 PM .X 608 5 608 608 5 608 608 5 608 .I 609 .T Permutation (Algorithm 71) .B CACM April, 1962 .A Brown, P. J. .N CA620408 JB March 20, 1978 2:19 PM .X 609 5 609 609 5 609 609 5 609 .I 610 .T SIEVE (Algorithm 35) .B CACM April, 1962 .A Brown, P. J. .N CA620407 JB March 20, 1978 2:20 PM .X 610 5 610 610 5 610 610 5 610 .I 611 .T Permutation Generator (Algorithm 87) .B CACM April, 1962 .A Howell, J. R. .N CA620406 JB March 20, 1978 2:20 PM .X 611 5 611 611 5 611 611 5 611 .I 612 .T Permute (Algorithm 86) .B CACM April, 1962 .A Peck, J. E. L. Schrack, G. F. .N CA620405 JB March 20, 1978 2:21 PM .X 3188 5 612 612 5 612 612 5 612 612 5 612 1594 6 612 612 6 612 .I 613 .T JACOBI (Algorithm 85) .B CACM April, 1962 .A Evans, T. G. .N CA620404 JB March 20, 1978 2:22 PM .X 2349 5 613 613 5 613 613 5 613 613 5 613 1648 6 613 1716 6 613 1794 6 613 1894 6 613 2043 6 613 501 6 613 613 6 613 774 6 613 .I 614 .T Simpson's Integration (Algorithm 84) .B CACM April, 1962 .A Hennion, P. E. .N CA620403 JB March 20, 1978 2:25 PM .X 614 5 614 614 5 614 614 5 614 .I 615 .T Addressing Multidimensional Arrays .W A useful method of representing a function of n variables is to consider the function to assume its values at selected points in n-dimensional space. Although this picture is of value to the analyst, the elements of an n-dimensional array must exist in conventional storage as a linear array or vector. The means of performing the transformation of a set of indices locating on array element in n-space to the location (address) of the element in its storage vector is the subject of this paper. It is noted that the index address transformation is computationally identical to the conversion of a number from a fixed to a mixed radix number system. Several ways of implementing the transformation are described. .B CACM April, 1962 .A Hellerman, H. .N CA620402 JB March 20, 1978 2:29 PM .X 435 5 615 615 5 615 615 5 615 615 5 615 849 5 615 155 6 615 196 6 615 615 6 615 615 6 615 .I 616 .T An Information Algebra - Phase I Report-Language Structure Group of the CODASYL Development Committee .W This report represents the results of the first phase of the work of the Language Structure Group. The goal of this work is to arrive at a proper structure for a machine-independent problem-defining language, at the systems level of data processing. The report is based, for the most part, on a mathematical model called "An Information Algebra" developed primarily by R. Bosak. It is hoped that this report will be read (a) with avid interest by programming language designers and implementors, and all those interested in developing a theoretical approach to data processing; (b) with interest and understanding by professional programmers and systems analysts; and (c) with appreciation by the businessman-analyst-manager. The authors have not attempted an exhaustive discourse in this report. Rather, they have tried to present a philosophy to the professional people who are vitally concerned with providing a working language for the systems analyst's use. They trust that the ideas in this report will stimulate others to think along similar lines. Questions and comments will be welcomed, and can be addressed to any of the members of the Language Structure Group: Robert Bosak, System Development Corporation; Richard F. Clippinger, Honeywell EDP Division; Carey Dobbs, Remington Rand Univac Division; Roy Goldfinger (Chairman), IBM Corporation; Renee B. Jasper, Navy Management Office; William Keating, National Cash Register; George Kendrick, General Electric Company; Jean E. Sammet, IBM Corporation. .B CACM April, 1962 .N CA620401 JB March 20, 1978 2:40 PM .X 1135 5 616 1136 5 616 2710 5 616 2765 5 616 2888 5 616 2906 5 616 493 5 616 616 5 616 616 5 616 616 5 616 729 5 616 1515 6 616 288 6 616 1936 6 616 1976 6 616 2046 6 616 2046 6 616 2046 6 616 2451 6 616 2452 6 616 2715 6 616 493 6 616 616 6 616 616 6 616 616 6 616 616 6 616 616 6 616 616 6 616 616 6 616 616 6 616 657 6 616 .I 617 .T POSEIDON .W Any computer that forms part of a control system-whether completely automatic or partly human-must work at the same speed as the control system. It must perform its calculations or data processing fast enough for the results to be available at the required instants in the action of the control system. This known as working in "real time." .B CACM March, 1962 .A Wheeling, R. F. .N CA620315 JB March 20, 1978 2:51 PM .X 617 5 617 617 5 617 617 5 617 .I 618 .T Computers- The Key to Total Systems Control: An Industrial Viewpoint .W Man-Man-machine processes are characterized in five main types, and the markets for each type are shown for 1950 and 1960 and estimated for 1970. .B CACM March, 1962 .A Carlson, W. M. .N CA620314 JB March 20, 1978 2:53 PM .X 618 5 618 618 5 618 618 5 618 .I 619 .T Retrieval of Misspelled Names in an Airlines Passenger Record System .W This paper discusses the limited problem of recognition and retrieval of a given misspelled name from among a roster of several hundred names, such as the reservation inventory for a given flight of a large jet airliner. A program has been developed and operated on the Telefile (a stored-program core and drum memory solid-state computer) which will retrieve passengers' records successfully, despite significant misspellings either at original entry time or at retrieval time. The procedure involves an automatic scoring technique which matches the names in a condensed form. Only those few names most closely resembling the requested name, with their phone numbers annexed, are presented for the agents final manual selecton. The program has successfully isolated and retrieved names which were subjected to a number of unusual (as well as usual) misspellings. .B CACM March, 1962 .A Davidson, L. .N CA620313 JB March 20, 1978 2:59 PM .X 1112 5 619 1592 5 619 2111 5 619 2339 5 619 440 5 619 619 5 619 619 5 619 619 5 619 830 6 619 982 6 619 1112 6 619 1112 6 619 1112 6 619 1592 6 619 1592 6 619 440 6 619 619 6 619 619 6 619 619 6 619 619 6 619 619 6 619 .I 620 .T RATFACT (Algorithm 78) .B CACM March, 1962 .A Halstead, M. H. .N CA620312 JB March 20, 1978 3:00 PM .X 620 5 620 620 5 620 620 5 620 .I 621 .T Romberg Integration (Algorithm 60) .B CACM March, 1962 .A Thacher Jr., H. C. .N CA620311 JB March 20, 1978 3:01 PM .X 1040 5 621 1352 5 621 2040 5 621 621 5 621 621 5 621 621 5 621 834 6 621 872 6 621 885 6 621 1040 6 621 1092 6 621 1241 6 621 1241 6 621 1273 6 621 1273 6 621 1352 6 621 1356 6 621 324 6 621 324 6 621 429 6 621 570 6 621 587 6 621 621 6 621 621 6 621 621 6 621 786 6 621 .I 622 .T Optimal Classification of Objects (Algorithm 83) .B CACM March, 1962 .A Mayoh, B. H. .N CA620310 JB March 20, 1978 3:02 PM .X 622 5 622 622 5 622 622 5 622 .I 623 .T Economising a Sequence 2 (Algorithm 82) .B CACM March, 1962 .A Mayoh, B. H. .N CA620309 JB March 20, 1978 3:03 PM .X 623 5 623 623 5 623 623 5 623 .I 624 .T Economising a Sequence 1 (Algorithm 81) .B CACM March, 1962 .A Mayoh, B. H. .N CA620308 JB March 20, 1978 3:04 PM .X 624 5 624 624 5 624 624 5 624 .I 625 .T Reciprocal Gamma Function of Real Argument (Algorithm 80) .B CACM March, 1962 .A Holsten, W. .N CA620307 JB March 20, 1978 3:05 PM .X 625 5 625 625 5 625 625 5 625 .I 626 .T A Method of Representation, Storage and Retrieval of 13 Random Codes in a 4-Digit Number or 16 Random Codes in a 5-Digit Number .B CACM March, 1962 .A Foster, M. B. .N CA620306 JB March 20, 1978 3:07 PM .X 626 5 626 626 5 626 626 5 626 .I 627 .T Knotted List Structures .B CACM March, 1962 .A Weizenbaum, J. .N CA620305 JB March 20, 1978 3:07 PM .X 249 4 627 254 4 627 272 4 627 1024 4 627 1050 4 627 1051 4 627 1102 4 627 1102 4 627 1109 4 627 1132 4 627 1140 4 627 1188 4 627 1306 4 627 1390 4 627 1393 4 627 1464 4 627 1486 4 627 1491 4 627 1549 4 627 1549 4 627 1706 4 627 1767 4 627 1781 4 627 1787 4 627 1826 4 627 1878 4 627 1949 4 627 321 4 627 378 4 627 2023 4 627 2059 4 627 2060 4 627 2126 4 627 2155 4 627 2168 4 627 435 4 627 437 4 627 463 4 627 483 4 627 491 4 627 2719 4 627 2723 4 627 2732 4 627 2838 4 627 2842 4 627 2855 4 627 2879 4 627 560 4 627 583 4 627 3073 4 627 3077 4 627 3080 4 627 3106 4 627 3112 4 627 627 4 627 627 4 627 627 4 627 631 4 627 632 4 627 642 4 627 644 4 627 653 4 627 680 4 627 761 4 627 762 4 627 763 4 627 106 4 627 123 4 627 140 4 627 919 4 627 989 4 627 106 5 627 196 5 627 1050 5 627 210 5 627 1549 5 627 2723 5 627 2882 5 627 627 5 627 627 5 627 627 5 627 731 5 627 793 5 627 849 6 627 106 6 627 106 6 627 1051 6 627 1549 6 627 1749 6 627 209 6 627 209 6 627 1826 6 627 210 6 627 210 6 627 367 6 627 2198 6 627 2452 6 627 2651 6 627 406 6 627 627 6 627 627 6 627 627 6 627 627 6 627 627 6 627 627 6 627 731 6 627 731 6 627 753 6 627 .I 628 .T On a Floating-Point Number Representation For Use with Algorithmic Languages .B CACM March, 1962 .A Grau, A. A. .N CA620304 JB March 20, 1978 3:09 PM .X 628 5 628 628 5 628 628 5 628 .I 629 .T On a Wired-In Binary-to-Decimal Conversion Scheme .B CACM March, 1962 .A Lynch, W. C. .N CA620303 JB March 20, 1978 3:10 PM .X 629 5 629 629 5 629 629 5 629 .I 630 .T An Evaluation of Autocode Readability .W Of the many requirements of an autocode, the pair of requirements "easy to read" and "easy to write" are not often compatible. This paper argues that readability can be added automatically in the translation process so that the programmer can enjoy the utmost economy of expression, while for management a full and valid COBOL version is printed to give all the advantages of readability and compatibility. .B CACM March, 1962 .A Ellis, P. V. .N CA620302 JB March 20, 1978 3:15 PM .X 630 5 630 630 5 630 630 5 630 .I 631 .T Automatic-Programming-Language Translation Through Syntactical Analysis* .B CACM March, 1962 .A Ledley, R.S. Wilson, J. B. .N CA620301 JB March 20, 1978 3:17 PM .X 249 4 631 254 4 631 272 4 631 1046 4 631 1102 4 631 1105 4 631 1109 4 631 1139 4 631 1140 4 631 1140 4 631 1188 4 631 1234 4 631 1263 4 631 1265 4 631 1306 4 631 1464 4 631 1491 4 631 1496 4 631 1767 4 631 1781 4 631 1781 4 631 1787 4 631 1824 4 631 1949 4 631 321 4 631 2059 4 631 2126 4 631 2126 4 631 2546 4 631 435 4 631 437 4 631 463 4 631 464 4 631 483 4 631 491 4 631 2732 4 631 560 4 631 583 4 631 584 4 631 3073 4 631 627 4 631 631 4 631 631 4 631 632 4 631 642 4 631 644 4 631 653 4 631 653 4 631 680 4 631 680 4 631 761 4 631 762 4 631 763 4 631 763 4 631 795 4 631 799 4 631 123 4 631 140 4 631 919 4 631 945 4 631 989 4 631 196 5 631 1139 5 631 1265 5 631 1665 5 631 404 5 631 631 5 631 631 5 631 631 5 631 763 5 631 196 6 631 1781 6 631 224 6 631 224 6 631 378 6 631 399 6 631 404 6 631 404 6 631 404 6 631 412 6 631 438 6 631 464 6 631 464 6 631 3184 6 631 631 6 631 631 6 631 631 6 631 631 6 631 635 6 631 799 6 631 .I 632 .T Vectorcardiographic Diagnosis With The Aid of ALGOL .B CACM February, 1962 .A Forsythe, G. E. Von Der Groeben, J. Toole, J. G. .N CA620211 JB March 20, 1978 3:41 PM .X 249 4 632 254 4 632 272 4 632 1102 4 632 1109 4 632 1140 4 632 1188 4 632 1306 4 632 1464 4 632 1491 4 632 1767 4 632 1781 4 632 1787 4 632 1949 4 632 321 4 632 2059 4 632 2126 4 632 435 4 632 437 4 632 463 4 632 483 4 632 491 4 632 2732 4 632 560 4 632 583 4 632 3073 4 632 627 4 632 631 4 632 632 4 632 642 4 632 644 4 632 653 4 632 680 4 632 761 4 632 762 4 632 763 4 632 123 4 632 140 4 632 919 4 632 989 4 632 196 5 632 632 5 632 632 5 632 632 5 632 .I 633 .T Simulation and Analysis of Biochemical Systems (III. Analysis and Pattern Recognition) .B CACM February, 1962 .A Garfinkel, D. Polk, W. Higgins, J. J. Ochser, R. T. .N CA620210 JB March 20, 1978 3:43 PM .X 238 4 633 633 4 633 633 4 633 643 4 633 238 5 633 633 5 633 633 5 633 633 5 633 643 5 633 238 6 633 633 6 633 633 6 633 643 6 633 .I 634 .T Manipulation of Trees in Information Retrieval* .B CACM February, 1962 .A Salton, G. .N CA620209 JB March 20, 1978 3:44 PM .X 1087 4 634 634 4 634 931 5 634 1324 5 634 329 5 634 634 5 634 634 5 634 634 5 634 202 6 634 396 6 634 634 6 634 634 6 634 652 6 634 653 6 634 .I 635 .T A Note on Multiplying Boolean Matrices .B CACM February, 1962 .A Baker, J. J. .N CA620208 JB March 20, 1978 3:45 PM .X 1151 5 635 1265 5 635 2769 5 635 635 5 635 635 5 635 635 5 635 404 6 635 464 6 635 3184 6 635 631 6 635 635 6 635 635 6 635 635 6 635 .I 636 .T Tape Splitting in an Iterative Program .B CACM February, 1962 .A Weisert, C. .N CA620207 JB March 20, 1978 3:46 PM .X 1117 5 636 636 5 636 636 5 636 636 5 636 861 6 636 862 6 636 636 6 636 .I 637 .T A NELIAC-Generated 7090-1401 Compiler .W NELIAC systems for several different machines have been generated using the original NELIAC system developed at the Naval Electronics Laboratory, San Diego, in 1958. A basic "bootstrap" process was used to generate all but the first, i.e. the systems were described in the NELIAC language and generated by an existing NELIAC compiler. This experience has shown there is no inherent difficulty in "building compilers with compilers"; indeed, it pointed out many advantages in using a POL for constructing programming systems. This report presents the results of a project completed in May, 1961 in which the NELIAC system was used to generate a compiler for the IBM 1401. The 1401 compiler, which runs on the 7090 and produces 1401 programs, was described in the NELIAC language and generated with 7090 NELIAC system. The reduction in programming time and the improvement in documentation of the system were very significant. .B CACM February, 1962 .A Watt, J. B. Wattenburg, W. H. .N CA620206 JB March 20, 1978 3:52 PM .X 1781 4 637 637 4 637 637 4 637 123 4 637 123 5 637 165 5 637 637 5 637 637 5 637 637 5 637 .I 638 .T SURGE: A Recoding of the COBOL Merchandise Control Algorithm .B CACM February, 1962 .A Longo, L. F. .N CA620205 JB March 20, 1978 3:53 PM .X 638 4 638 300 5 638 638 5 638 638 5 638 638 5 638 .I 639 .T Difference Expression Coefficients (Algorithm 79) .B CACM February, 1962 .A Giammo, T. P. .N CA620204 JB March 20, 1978 3:54 PM .X 639 5 639 639 5 639 639 5 639 .I 640 .T Rational Roots of Polynomials with Integer Coefficients (Algorithm 78) .B CACM February, 1962 .A Perry, C. .N CA620203 JB March 20, 1978 3:55 PM .X 640 5 640 640 5 640 640 5 640 .I 641 .T Interpolation, Differentiation, and Integration (Algorithm 77) .B CACM February, 1962 .A Hennion, P. E. .N CA620202 JB March 20, 1978 3:56 PM .X 641 5 641 641 5 641 641 5 641 .I 642 .T An Introduction to ALGOL .B CACM February, 1962 .A Schwarz, H. R. .N CA620201 JB March 20, 1978 3:57 PM .X 205 4 642 210 4 642 214 4 642 249 4 642 254 4 642 272 4 642 1102 4 642 1109 4 642 1140 4 642 1188 4 642 1306 4 642 1464 4 642 1491 4 642 1767 4 642 1781 4 642 1787 4 642 1949 4 642 1982 4 642 321 4 642 398 4 642 2059 4 642 2126 4 642 435 4 642 437 4 642 463 4 642 483 4 642 491 4 642 2732 4 642 560 4 642 583 4 642 3073 4 642 627 4 642 631 4 642 632 4 642 642 4 642 642 4 642 644 4 642 653 4 642 669 4 642 680 4 642 761 4 642 762 4 642 763 4 642 100 4 642 123 4 642 123 4 642 140 4 642 164 4 642 919 4 642 989 4 642 196 5 642 1 5 642 1173 5 642 1188 5 642 642 5 642 642 5 642 642 5 642 196 6 642 642 6 642 642 6 642 .I 643 .T Simulation and Analysis of Biochemcial Systems (II. Solution of Differential Equations) .B CACM January, 1962 .A Larson, R. Sellers, P. Meyer, R. .N CA620116 JB March 20, 1978 3:58 PM .X 238 4 643 633 4 643 643 4 643 643 4 643 238 5 643 633 5 643 643 5 643 643 5 643 643 5 643 238 6 643 633 6 643 643 6 643 643 6 643 .I 644 .T A String Language for Symbol Manipulation Based on ALGOL 60 .W An artificial computer programming language is proposed for describing the manipulation of strings of characters and symbols. The concept of strings, introduced in the ALGOL 60 report, is extended by adding: (1) the declaration of strings, substrings, and string arrays with explicit lengths; (2) the ability to concatenate and shift strings; and (3) the ranking of symbols for comparing stings in Boolean relations. A primer or informal description of the language is followed by examples, a description of experiments with the language on an IBM 704 computer, and a formal description which, taken with the ALGOL 60 Report, defines the proposed string language. .B CACM January, 1962 .A Wegstein, J. H. Youden, W. W. .N CA620115 JB March 20, 1978 4:02 PM .X 249 4 644 254 4 644 272 4 644 1102 4 644 1109 4 644 1140 4 644 1188 4 644 1306 4 644 1464 4 644 1491 4 644 1767 4 644 1781 4 644 1787 4 644 1949 4 644 321 4 644 2059 4 644 2126 4 644 435 4 644 437 4 644 463 4 644 483 4 644 491 4 644 2732 4 644 560 4 644 583 4 644 3073 4 644 627 4 644 631 4 644 632 4 644 642 4 644 644 4 644 644 4 644 644 4 644 653 4 644 680 4 644 761 4 644 762 4 644 763 4 644 123 4 644 140 4 644 919 4 644 989 4 644 196 5 644 1084 5 644 206 5 644 207 5 644 644 5 644 644 5 644 644 5 644 868 6 644 603 6 644 644 6 644 669 6 644 791 6 644 797 6 644 .I 645 .T INVRS (Algorithm 66) .B CACM January, 1962 .A Randell, B. Broyden, C. G. .N CA620114 JB March 20, 1978 4:04 PM .X 645 5 645 645 5 645 645 5 645 .I 646 .T Inverse of a Finite Segment of the Hilbert Matrix (Algorithm 50) .B CACM January, 1962 .A Randell, B. .N CA620113 JB March 20, 1978 4:31 PM .X 646 5 646 646 5 646 646 5 646 .I 647 .T Numerical Solution of the Polynomial Equation (Algorithm 30) .B CACM January, 1962 .A Cohen, K. J. .N CA620112 JB March 20, 1978 4:32 PM .X 647 5 647 647 5 647 647 5 647 .I 648 .T Sorting Procedures (Algorithm 76) .B CACM January, 1962 .A Flores, I. .N CA620111 JB March 20, 1978 4:33 PM .X 648 5 648 648 5 648 648 5 648 .I 649 .T FACTORS (Algorithm 75) .B CACM January, 1962 .A Peck, J. E. L. .N CA620110 JB March 20, 1978 4:34 PM .X 649 5 649 649 5 649 649 5 649 .I 650 .T Curve Fitting with Constraints (Algorithm 74) .B CACM January, 1962 .A Peck, J. E. L. .N CA620109 JB March 20, 1978 4:35 PM .X 650 5 650 650 5 650 650 5 650 .I 651 .T A Survey of Languages and Systems for Information Retrieval .B CACM January, 1962 .A Grems, M. .N CA620108 JB March 20, 1978 4:36 PM .X 651 5 651 651 5 651 651 5 651 .I 652 .T Use of Semantic Structure in Information Systems .B CACM January, 1962 .A Sable, J. D. .N CA620107 JB March 20, 1978 4:37 PM .X 1324 5 652 652 5 652 652 5 652 652 5 652 634 6 652 652 6 652 653 6 652 .I 653 .T Translation of Retrieval Requests Couched in a "Semiformal" English-Like Language* .B CACM January, 1962 .A Cheatham Jr., T. E. Warshall, S. .N CA620106 JB March 20, 1978 4:39 PM .X 249 4 653 254 4 653 272 4 653 1046 4 653 1102 4 653 1105 4 653 1109 4 653 1139 4 653 1140 4 653 1140 4 653 1188 4 653 1234 4 653 1263 4 653 1265 4 653 1306 4 653 1464 4 653 1491 4 653 1496 4 653 1767 4 653 1781 4 653 1781 4 653 1787 4 653 1824 4 653 1949 4 653 321 4 653 2059 4 653 2126 4 653 2126 4 653 2546 4 653 435 4 653 437 4 653 463 4 653 464 4 653 483 4 653 491 4 653 2732 4 653 560 4 653 583 4 653 584 4 653 3073 4 653 627 4 653 631 4 653 631 4 653 632 4 653 642 4 653 644 4 653 653 4 653 653 4 653 680 4 653 680 4 653 761 4 653 762 4 653 763 4 653 763 4 653 795 4 653 799 4 653 123 4 653 140 4 653 919 4 653 945 4 653 989 4 653 196 5 653 1324 5 653 404 5 653 653 5 653 653 5 653 653 5 653 892 5 653 634 6 653 652 6 653 653 6 653 653 6 653 656 6 653 .I 654 .T Language Problems Posed by Heavily Structured Data .B CACM January, 1962 .A Barnes, R. F. .N CA620105 JB March 20, 1978 4:40 PM .X 654 5 654 654 5 654 654 5 654 .I 655 .T COMIT as an IR Language .W Many of the features that make COMIT a good all around symbol manipulation language also render it well suited to various types of information retrieval programs. Presented here is a general discussion of this unique and different programming language and an examination of some of its applications. .B CACM January, 1962 .A Yngve, V. H. .N CA620104 JB March 20, 1978 4:46 PM .X 1145 5 655 655 5 655 655 5 655 655 5 655 655 6 655 .I 656 .T An Information System With The Ability To Extract Intelligence From Data .B CACM January, 1962 .A Wang, T. L. .N CA620103 JB March 20, 1978 4:47 PM .X 1309 5 656 656 5 656 656 5 656 656 5 656 892 5 656 653 6 656 656 6 656 656 6 656 .I 657 .T Information Structures for Processing and Retrieving .B CACM January, 1962 .A Colilla, R. A. Sams, B. H. .N CA620102 JB March 20, 1978 4:48 PM .X 657 4 657 657 4 657 1136 5 657 279 5 657 409 5 657 657 5 657 657 5 657 657 5 657 493 6 657 616 6 657 657 6 657 .I 658 .T Discussion-The Pros and Cons of a Special IR Language .B CACM January, 1962 .A Sammet, J. E. Ohlman, H. Bohnest, H. G. .N CA620101 JB March 20, 1978 4:50 PM .X 658 5 658 658 5 658 658 5 658 .I 659 .T Reversion of Series (Algorithm 193) .B CACM December, 1963 .A Thacher Jr., H. C. .N CA631215 JB March 23, 1978 8:08 PM .X 1121 4 659 659 4 659 964 4 659 659 5 659 659 5 659 659 5 659 759 5 659 .I 660 .T More Test Matrices for Determinants and Inverses (Pracnique) .B CACM December, 1963 .A Englar, T. S. .N CA631214 JB March 13, 1978 2:46 PM .X 660 5 660 660 5 660 660 5 660 .I 661 .T Indexing and the Lambda-Notation .W Some methods of indexing sequentially stored elements of sparse multi-dimensional arrays are described in the scheme A notation. .B CACM December, 1963 .A Barnett, M. P. .N CA631213 JB March 13, 1978 2:51 PM .X 661 5 661 661 5 661 661 5 661 .I 662 .T Shuttle Sort (Algorithm 175) .B CACM December, 1963 .A Juelich, O. C. .N CA631212 JB March 13, 1978 2:52 PM .X 662 5 662 662 5 662 662 5 662 .I 663 .T Determinant (Algorithm 159) .B CACM December, 1963 .A Lapidus, A. .N CA631211 JB March 13, 1978 2:53 PM .X 663 5 663 663 5 663 663 5 663 .I 664 .T Assignment (Algorithm 27) .B CACM December, 1963 .A Witty, R. D. .N CA631210 JB March 13, 1978 2:54 PM .X 664 5 664 664 5 664 664 5 664 .I 665 .T Gauss-Seidel (Algorithm 220) .B CACM December, 1963 .A Shantz, P. W. .N CA631209 JB March 13, 1978 2:55 PM .X 665 5 665 665 5 665 665 5 665 .I 666 .T Topological Ordering for Pert Networks (Algorithm 219) .B CACM December, 1963 .A Kase, R. H. .N CA631208 JB March 13, 1978 2:56 PM .X 1916 5 666 666 5 666 666 5 666 666 5 666 1533 6 666 666 6 666 .I 667 .T Kutta Merson (Algorithm 218) .B CACM December, 1963 .A Lukehart, P. M. .N CA631207 JB March 13, 1978 2:57 PM .X 667 5 667 667 5 667 667 5 667 .I 668 .T Minimum Excess Cost Curve (Algorithm 217) .B CACM December, 1963 .A Briggs, W. A. .N CA631206 JB March 13, 1978 2:58 PM .X 668 5 668 668 5 668 668 5 668 .I 669 .T A Specification of JOVIAL .B CACM December, 1963 .A Shaw, C. J. .N CA631205 JB March 13, 1978 2:59 PM .X 205 4 669 210 4 669 214 4 669 1086 4 669 1132 4 669 1234 4 669 1263 4 669 1265 4 669 1270 4 669 1323 4 669 1358 4 669 1379 4 669 1380 4 669 1453 4 669 1464 4 669 1484 4 669 1491 4 669 1498 4 669 1613 4 669 1614 4 669 1781 4 669 1781 4 669 1825 4 669 1860 4 669 1982 4 669 398 4 669 2083 4 669 2178 4 669 2179 4 669 2252 4 669 2325 4 669 2341 4 669 2546 4 669 2645 4 669 2652 4 669 2684 4 669 2842 4 669 2929 4 669 2934 4 669 3069 4 669 642 4 669 669 4 669 669 4 669 669 4 669 679 4 669 691 4 669 761 4 669 100 4 669 123 4 669 164 4 669 949 4 669 989 4 669 1 5 669 1084 5 669 1379 5 669 1625 5 669 1945 5 669 410 5 669 3184 5 669 669 5 669 669 5 669 669 5 669 823 6 669 868 6 669 914 6 669 915 6 669 917 6 669 984 6 669 989 6 669 990 6 669 1012 6 669 1084 6 669 1098 6 669 1122 6 669 1138 6 669 1139 6 669 1141 6 669 1200 6 669 1223 6 669 1248 6 669 1263 6 669 1265 6 669 1336 6 669 1396 6 669 1455 6 669 1477 6 669 1477 6 669 1487 6 669 1491 6 669 1496 6 669 483 6 669 3184 6 669 584 6 669 603 6 669 644 6 669 669 6 669 669 6 669 669 6 669 669 6 669 680 6 669 761 6 669 763 6 669 791 6 669 797 6 669 .I 670 .T Some Legal Implications of the Use of Computers in the Banking Business .W The introduction of computers in to the banking business has a wide variety of legal implications that merit careful attention at this very early stage. The industry is highly regulated by government and, hence, is subject to many statutes and regulations. It also is affected by important common law rules established by courts. The legal ramifications involve not only the mechanization itself, but also the very significant, economically attractive phenomenon of off premises processing. It is essential to identify and provide for many legal aspects right now, before systems and practices crystallize, in order to avoid the later impact of unanticipated physical complications and expense. The legal aspects of computerization in the banking business are especially diverse. In some states, there might be the basic question whether banks are authorized by law to invest in the new facilities, either directly or through cooperatives. More challenging are questions relating to off-premises processors, particularly with respect to the obligation not to disclose information concerning a bank's customers, the adequacy of fidelity bond coverage, the extent of liability for improper refusal to pay a check, and susceptibility to regulation by government agencies. Also pertinent is the propriety of data processing by banks for nonbank entities and particularly of the rendering of that service without charge for bank depositors. .B CACM December, 1963 .A Freed, R. N. .N CA631204 JB March 13, 1978 3:09 PM .X 670 5 670 670 5 670 670 5 670 .I 671 .T TELEFILE-A Case Study of an On-Line Savings Bank Application .W The development of an on-line computer system for a savings bank institution is traced from the early conceptual needs of the bank to the consummation of design by The Teleregister Corporation. Both bank and equipment criteria are specified which led to the development of the Telefile System of The Teleregister Corporation. Operation of the on-line and off-line programs are described and statistics are cited for reliability and performance of the system. Benefits to the bank are discussed from the banker's point of view; an indication of future trends in the on-line savings bank field is also discussed. .B CACM December, 1963 .A Sanders, M. .N CA631203 JB March 13, 1978 3:13 PM .X 671 5 671 671 5 671 671 5 671 .I 672 .T Recent Developments Affecting ADP in Tax Administration .B CACM December, 1963 .A Leibowitz, G. J. .N CA631202 JB March 13, 1978 3:14 PM .X 672 5 672 672 5 672 672 5 672 .I 673 .T Account Classification at Automating Banks .B CACM December, 1963 .A Eckert, J. B. .N CA631201 JB March 13, 1978 3:15 PM .X 673 5 673 673 5 673 673 5 673 .I 674 .T Application of IBM 1620 EDP Methods to the Calculation of the Formation Constants of Complex Irons .B CACM November, 1963 .A Andrews, A. C. Hassler, J. DeCou, F. .N CA631118 JB March 13, 1978 3:18 PM .X 674 5 674 674 5 674 674 5 674 .I 675 .T Coding Clinical Laboratory Data For Automatic Storage and Retrieval .W A series of clinical laboratory codes have been developed to accept and store urin analysis, blood chemistry, and hematology test results for automatic data processing. The codes, although constructed as part of a computerized hospital simulation, have been able to handle the results of every laboratory test that they have encountered. The unique feature of these codes is that they can accept conventionally recorded qualitative as well as quantitative test results. Consequently, clinical test results need not be arbitrarily stratified, standardized, or altered in any way to be coded. This paper describes how the codes were developed and presents a listing of the urin analysis codes. Five criteria used in developing the codes are outlined and the problem of multiple-synonymous terminology is discussed. A solution to the problem is described. Flexible, computer-produced, composite laboratory reports are also discussed, along with reproduction of such a report. The paper concludes that even though many problems remain unsolved, the next ten years could witness the emergence of a practical automated information system in the laboratory. .B CACM November, 1963 .A Gross, L. D. .N CA631117 JB March 13, 1978 3:26 PM .X 675 5 675 675 5 675 675 5 675 .I 676 .T On the Computation of a Certain Type of IncompleteBeta Functions .B CACM November, 1963 .A Tang, I. C. .N CA631116 JB March 13, 1978 3:27 PM .X 676 5 676 676 5 676 676 5 676 .I 677 .T Length of Strings for a Merge Sort .W Detailed statistics are given on the length of maximal sorted strings which result form the first (internal sort) phase of a merge sort onto tapes. It is shown that the strings produced by an alternating method (i.e. one which produces ascending and descending strings alternately) tend to be only three-fourths as long as those in a method which produces only ascending strings, contrary to statements which have appeared previously in the literature. A slight modification of the read-backward polyphase merge algorithm is therefore suggested. .B CACM November, 1963 .A Knuth, D. E. .N CA631115 JB March 13, 1978 3:31 PM .X 1117 4 677 2017 4 677 2146 4 677 677 4 677 860 4 677 1638 5 677 2176 5 677 2272 5 677 677 5 677 677 5 677 677 5 677 861 5 677 1638 6 677 677 6 677 677 6 677 677 6 677 .I 678 .T Optimizing Bit-time Computer Simulation .W A major component of a bit-time computer simulation program is the Boolean compiler. The compiler accepts the Boolean functions representing the simulated computer's digital circuits, and generates corresponding sets of machine instructions which are subsequently executed on the "host" computer. Techniques are discussed for increasing the sophistication of the Boolean compiler so as to optimize bit-time computer simulation. The techniques are applicable to any general-purpose computer. .B CACM November, 1963 .A Katz,J. H. .N CA631114 JB March 13, 1978 3:34 PM .X 678 4 678 1030 5 678 270 5 678 1886 5 678 1939 5 678 678 5 678 678 5 678 678 5 678 1030 6 678 678 6 678 678 6 678 678 6 678 .I 679 .T Recent Improvements in MADCAP .W MADCAP is a programming language admitting subscripts, superscripts and certain forms of displayed formulas. The basic implementation of this language was described in a previous paper [MADCAP: A scientific compiler for a displayed formula textbook language, Comm. ACM 4 (Jan. 61), 31-36]. This paper discusses recent improvements in the language in three areas: complex display, logical control, and subprogramming. In the area of complex display, the most prominent improvements are a notation for integration and for the binomial coefficients. In the area of logical control the chief new feature is a notation for variably nested looping. The discussion of subprogramming is focused on MADCAP's notation for and use of "procedures." .B CACM November, 1963 .A Wells, M. B. .N CA631113 JB March 13, 1978 3:39 PM .X 1083 4 679 1086 4 679 1132 4 679 1234 4 679 1263 4 679 1265 4 679 1270 4 679 1323 4 679 1358 4 679 1379 4 679 1380 4 679 1396 4 679 1453 4 679 1464 4 679 1484 4 679 1491 4 679 1498 4 679 1613 4 679 1614 4 679 1781 4 679 1825 4 679 1860 4 679 2083 4 679 2178 4 679 2179 4 679 2252 4 679 2325 4 679 2341 4 679 2546 4 679 2645 4 679 2652 4 679 2684 4 679 2842 4 679 2929 4 679 2934 4 679 3069 4 679 669 4 679 679 4 679 679 4 679 679 4 679 691 4 679 761 4 679 949 4 679 989 4 679 407 5 679 21 5 679 3184 5 679 679 5 679 679 5 679 679 5 679 .I 680 .T An Error-Correcting Parse Algorithm .B CACM November, 1963 .A Irons, E. T. .N CA631112 JB March 13, 1978 3:40 PM .X 249 4 680 254 4 680 272 4 680 1046 4 680 1102 4 680 1105 4 680 1109 4 680 1139 4 680 1140 4 680 1140 4 680 1188 4 680 1234 4 680 1263 4 680 1265 4 680 1306 4 680 1464 4 680 1491 4 680 1496 4 680 1767 4 680 1781 4 680 1781 4 680 1787 4 680 1824 4 680 1949 4 680 321 4 680 2059 4 680 2126 4 680 2126 4 680 2546 4 680 435 4 680 437 4 680 463 4 680 464 4 680 483 4 680 491 4 680 2732 4 680 560 4 680 583 4 680 584 4 680 3073 4 680 627 4 680 631 4 680 631 4 680 632 4 680 642 4 680 644 4 680 653 4 680 653 4 680 680 4 680 680 4 680 761 4 680 762 4 680 763 4 680 763 4 680 795 4 680 799 4 680 123 4 680 140 4 680 919 4 680 945 4 680 989 4 680 196 5 680 1225 5 680 1350 5 680 1646 5 680 1781 5 680 1945 5 680 2650 5 680 2698 5 680 2708 5 680 404 5 680 3093 5 680 680 5 680 680 5 680 680 5 680 823 6 680 830 6 680 830 6 680 123 6 680 196 6 680 914 6 680 915 6 680 917 6 680 919 6 680 984 6 680 987 6 680 989 6 680 990 6 680 990 6 680 1007 6 680 1012 6 680 1012 6 680 1012 6 680 1046 6 680 1072 6 680 1084 6 680 1098 6 680 1122 6 680 1131 6 680 1138 6 680 1139 6 680 1139 6 680 1140 6 680 1141 6 680 1149 6 680 1179 6 680 1198 6 680 1200 6 680 1215 6 680 1223 6 680 1223 6 680 1225 6 680 1265 6 680 1265 6 680 1265 6 680 1303 6 680 1323 6 680 1336 6 680 1358 6 680 1366 6 680 1396 6 680 1399 6 680 1421 6 680 1455 6 680 1460 6 680 1462 6 680 1463 6 680 1467 6 680 1468 6 680 1477 6 680 1477 6 680 1477 6 680 1477 6 680 1487 6 680 1491 6 680 1491 6 680 1491 6 680 1491 6 680 1491 6 680 1496 6 680 1496 6 680 1531 6 680 1535 6 680 1565 6 680 1601 6 680 1602 6 680 1613 6 680 1614 6 680 1626 6 680 1641 6 680 1647 6 680 1781 6 680 1787 6 680 1787 6 680 1788 6 680 205 6 680 224 6 680 249 6 680 288 6 680 316 6 680 381 6 680 398 6 680 2110 6 680 2111 6 680 2111 6 680 11 6 680 2179 6 680 2534 6 680 2556 6 680 2556 6 680 2708 6 680 404 6 680 410 6 680 463 6 680 464 6 680 483 6 680 483 6 680 3184 6 680 3188 6 680 576 6 680 584 6 680 584 6 680 600 6 680 669 6 680 680 6 680 680 6 680 680 6 680 680 6 680 680 6 680 680 6 680 680 6 680 680 6 680 680 6 680 691 6 680 763 6 680 763 6 680 799 6 680 799 6 680 .I 681 .T Flexible Abbreviation of Words in a Computer Language .B CACM November, 1963 .A Lomis, R. G. Rubin, J. .N CA631111 JB March 13, 1978 3:42 PM .X 681 5 681 681 5 681 681 5 681 .I 682 .T Recursive programming in FORTRAN II .B CACM November, 1963 .A Ayers, J. A. .N CA631110 JB March 13, 1978 3:43 PM .X 682 5 682 682 5 682 682 5 682 .I 683 .T A Serial Technique to Determine Minimum Paths .B CACM November, 1963 .A Weimer, D. L. .N CA631109 JB March 13, 1978 3:44 PM .X 683 5 683 683 5 683 683 5 683 .I 684 .T Interpolation, Differentiation, and Integration (Algorithm 77) .B CACM November, 1963 .A Hennion, P. E. .N CA631108 JB March 13, 1978 3:45 PM .X 684 5 684 684 5 684 684 5 684 .I 685 .T Euler Summation (Algorithm 8) .B CACM November, 1963 .A Thacher Jr., H. C. .N CA631108 JB March 13, 1978 3:46 PM .X 685 5 685 685 5 685 685 5 685 .I 686 .T Smooth (Algorithm 216) .B CACM November, 1963 .A George, R. .N CA631106 JB March 13, 1978 3:47 PM .X 686 5 686 686 5 686 686 5 686 .I 687 .T Shanks (Algorithm 215) .B CACM November, 1963 .A Thacher Jr., H. C. .N CA631105 JB March 13, 1978 3:48 PM .X 687 5 687 687 5 687 687 5 687 .I 688 .T q-Bessel Functions In(t)(Algorithm 214) .B CACM November, 1963 .A Simoes Pereira, J. M. S. .N CA631104 JB March 13, 1978 3:49 PM .X 688 5 688 688 5 688 688 5 688 .I 689 .T Report of a Visit to Discuss Common Programming Languages in Czechoslovakia and Poland, 1963 .B CACM November, 1963 .A Gosden, J. A. Merner, J. N. Gay, R. E. Jones, J. L. Christopher, J. S. .N CA631103 JB March 13, 1978 3:51 PM .X 1349 4 689 323 4 689 689 4 689 689 4 689 689 4 689 217 5 689 323 5 689 3197 5 689 689 5 689 689 5 689 689 5 689 .I 690 .T USA Participation in an International Standard glossary on Information Processing .B CACM November, 1963 .A Traub, J. F. .N CA631102 JB March 13, 1978 3:52 PM .X 690 4 690 690 4 690 690 4 690 929 5 690 3195 5 690 690 5 690 690 5 690 690 5 690 890 5 690 .I 691 .T A Description of the APT Language .W The APT (Automatically Programmed Tools) language for numerical control programming is described using the metalinguistic notation introduced in the ALGOL 60 report. Examples of APT usage are included. Presented also are an historical summary of the development of APT and a statement concerning its present status. .B CACM November, 1963 .A Brown, S. A. Drayton, C. E. Mittman, B. .N CA631101 JB March 13, 1978 3:59 PM .X 1086 4 691 1132 4 691 1234 4 691 1263 4 691 1265 4 691 1270 4 691 1323 4 691 1358 4 691 1379 4 691 1380 4 691 1453 4 691 1464 4 691 1484 4 691 1491 4 691 1498 4 691 1613 4 691 1614 4 691 1781 4 691 1825 4 691 1860 4 691 1945 4 691 2083 4 691 2126 4 691 2178 4 691 2179 4 691 2252 4 691 2325 4 691 2341 4 691 2546 4 691 2645 4 691 2652 4 691 2684 4 691 2842 4 691 2929 4 691 2934 4 691 3069 4 691 669 4 691 679 4 691 691 4 691 691 4 691 761 4 691 949 4 691 989 4 691 1781 5 691 3184 5 691 691 5 691 691 5 691 691 5 691 823 5 691 123 6 691 196 6 691 919 6 691 990 6 691 1007 6 691 1046 6 691 1131 6 691 1139 6 691 1140 6 691 1149 6 691 1198 6 691 1215 6 691 1223 6 691 1265 6 691 1303 6 691 1323 6 691 1358 6 691 1366 6 691 1421 6 691 1460 6 691 1462 6 691 1463 6 691 1467 6 691 1468 6 691 1477 6 691 1491 6 691 1496 6 691 1531 6 691 1535 6 691 1565 6 691 1601 6 691 1602 6 691 1613 6 691 1614 6 691 1626 6 691 1641 6 691 1787 6 691 1788 6 691 205 6 691 224 6 691 249 6 691 288 6 691 316 6 691 381 6 691 398 6 691 11 6 691 404 6 691 410 6 691 463 6 691 464 6 691 483 6 691 3184 6 691 3188 6 691 584 6 691 600 6 691 680 6 691 691 6 691 763 6 691 799 6 691 .I 692 .T On the Inverse of a Test Matrix .B CACM October, 1963 .A Stockmal, F. J. .N CA631033 JB March 27, 1978 9:00 PM .X 692 5 692 692 5 692 692 5 692 .I 693 .T An Extension of Fibonaccian Search To Several Variables .W A technique which uses Fibonaccian search concepts has been developed to solve optimization problems involving unimodal functions of several variables. The technique has not been proven to be optimal in the sense that the one-dimensional Fibonaccian search is. However, it is valuable for certain kinds of calculations. .B CACM October, 1963 .A Krolak, P. Cooper, L. .N CA631032 JB March 13, 1978 4:19 PM .X 693 5 693 693 5 693 693 5 693 .I 694 .T A Comparison of Disks and Tapes .W The principal characteristics of current magnetic disks and tape units are summarized and compared. Some of the characteristics of disk files are illustrated in a sorting example and compared to a tapesort. The conclusion is presented that disk files are competitive to tapes in some important applications. .B CACM October, 1963 .A Hess, H. .N CA631031 JB March 13, 1978 4:21 PM .X 694 5 694 694 5 694 694 5 694 .I 695 .T Use of the Disk File on Stretch .W The paper begins by briefly describing the Stretch (IBM 7030) computer with special emphasis given to the organization and operation of its input-output equipment. Physical characteristics of the two-disk system (4,194,304 72-bit words, 8 usec-per-word transmission rate, etc.) are noted. Timing limitations due to arm motion and disk rotation are discussed. Applications of disk usage are discussed separately for problem programs and for systems programs such as compilers and the supervisory program. Approximately 260,000 words of disk storage are reserved for the storage of systems programs and the subroutine library. Problem programs, however, are not currently filed on the disk. Certain programming techniques are discussed for transmitting words between disk and core storage with minimum delaying and interruption of the arithmetic unit. Dumps on disk are considered for both recovery from computer malfunction and for mathematical or physical developments during the calculation. Some comments are made regarding the reliability, economics, utility and weaknesses or limitations of the disk system. Several possible future applications are noted which appear to have disk connotations. .B CACM October, 1963 .A Carlson, B. G. Voorhes, E. A. .N CA631030 JB March 13, 1978 4:28 PM .X 695 5 695 695 5 695 695 5 695 .I 696 .T An Automatic Data Acquisition and Inquiry System Using Disk Files .W Lockheed Missiles and Space Company has installed a large-scale Automatic Data Acquisition (ADA) system which ties together the Company's manufacturing facilities located in Van Nuys and Sunnyvale, California. The system includes over 200 remote Input Stations which collect and transmit Company operating data to a central Data Processing Center. Two RCA 301 EDP Systems are used to record and control the flow of data transmitted to the Data Processing Center. A large capacity RCA 366 Data Disc File is used to store information required to provide up-to-date information in response to inquiries received from remotely located Inquiry Stations. In addition to storage of data on the disk files, the system automatically records all incoming and outgoing data on magnetic tape to be used as input to the Company's conventional off-line business data processing applications. .B CACM October, 1963 .A Edwards, J. D. .N CA631029 JB March 13, 1978 4:34 PM .X 696 5 696 696 5 696 696 5 696 .I 697 .T A Numerical Method for the Determination of Moving Field Isodose Curves for Treatment Planning in Radiotherapy .B CACM October, 1963 .A Dalrymple, G. V. Perez-Tamayo, R. .N CA631028 JB March 13, 1978 5:19 PM .X 697 5 697 697 5 697 697 5 697 .I 698 .T DATA-DIAL: Two-Way Communication with Computers From Ordinary dial Telephones .W An operating system is described which allows users to call up a remotely located computer from ordinary dial telephones. No special hardware or connections are required at the users' telephones. Input to the computer is through the telephone dial;output from the computer is in spoken form. Results of a test with telephones in the Boston area are reported. .B CACM October, 1963 .A Marill, T. Edwards, D. Feurzeig, W. .N CA631027 JB March 13, 1978 5:23 PM .X 1181 5 698 698 5 698 698 5 698 698 5 698 698 6 698 .I 699 .T A Contour-Map Program for X-Ray Crystallography .W A FORTRAN program is described for use with the IBM 7090 system and an X, Y-plotter to produce a contour map. A matrix of points evenly spaced in each dimension is contoured. Scale factors along the axes may be different and the axes need not be perpendicular. .B CACM October, 1963 .A Dayhoff, M. O. .N CA631026 JB March 13, 1978 5:26 PM .X 2633 5 699 699 5 699 699 5 699 699 5 699 699 6 699 .I 700 .T Hermite Interpolation (Algorithm 210) .B CACM October, 1963 .A Dwyer, T. A. .N CA631025 JB March 13, 1978 5:27 PM .X 700 5 700 700 5 700 700 5 700 .I 701 .T Shuttle Sort (Algorithm 175) .B CACM October, 1963 .A Schubert, G. R. .N CA631024 JB March 13, 1978 5:29 PM .X 701 5 701 701 5 701 701 5 701 .I 702 .T Assign (Algorithm 173) .B CACM October, 1963 .A Filsak, Z. Vrchovecka, L. .N CA631023 JB March 13, 1978 5:31 PM .X 702 5 702 702 5 702 702 5 702 .I 703 .T Assign (Algorithm 173) .B CACM October, 1963 .A Scowen, R. S. .N CA631022 JB March 13, 1978 5:32 PM .X 703 5 703 703 5 703 703 5 703 .I 704 .T Combinatorial of M Things Taken One At A Time Two At A Time, Up To N At A Time (Algorithm 161) .B CACM October, 1963 .A Collins, D. H. .N CA631021 JB March 13, 1978 5:34 PM .X 704 5 704 704 5 704 704 5 704 .I 705 .T Combinatorial Of M Things Taken N At A Time (Algorithm 160) .B CACM October, 1963 .A Blakely, R. E. .N CA631020 JB March 13, 1978 5:36 PM .X 705 5 705 705 5 705 705 5 705 .I 706 .T Fourier Series Approximation (Algorithm 157) .B CACM October, 1963 .A Schubert, G. R. .N CA631019 JB March 13, 1978 5:37 PM .X 706 5 706 706 5 706 706 5 706 .I 707 .T Erf(x) (Algorithm 123) .B CACM October, 1963 .A Ibbetson, D. .N CA631018 JB March 13, 1978 5:40 PM .X 1583 5 707 707 5 707 707 5 707 707 5 707 831 6 707 967 6 707 1126 6 707 707 6 707 .I 708 .T Evaluation of the Fresnel Integrals (Algorithm 88, 89, 90) .B CACM October, 1963 .A Gray, M. D. .N CA631017JB March 13, 1978 5:45 PM .X 708 5 708 708 5 708 708 5 708 .I 709 .T Assignment (Algorithm 27) .B CACM October, 1963 .A Newhouse, A. .N CA631016 JB March 13, 1978 5:46 PM .X 709 5 709 709 5 709 709 5 709 .I 710 .T Fresnel Integrals (Algorithm 213) .B CACM October, 1963 .A Gray, M. D. .N CA631015 JB March 13, 1978 5:47 PM .X 710 5 710 710 5 710 710 5 710 .I 711 .T Frequency Distribution (Algorithm 212) .B CACM October, 1963 .A Gray, M. D. .N CA631014 JB March 13, 1978 5:50 PM .X 711 5 711 711 5 711 711 5 711 .I 712 .T Hermite Interpolation (Algorithm 211) .B CACM October, 1963 .A Schubert, G. R. .N CA631013 JB March 13, 1978 5:51 PM .X 712 5 712 712 5 712 712 5 712 .I 713 .T Lagrangian Interpolation (Algorithm 210) .B CACM October, 1963 .A Schubert, G. R. .N CA631012 JB March 13, 1978 5:52 PM .X 713 5 713 713 5 713 713 5 713 .I 714 .T Gauss (Algorithm 209) .B CACM October, 1963 .A Ibbetson, D. .N CA631011 JB March 13, 1978 5:52 PM .X 1157 5 714 1779 5 714 1920 5 714 1944 5 714 1987 5 714 2548 5 714 714 5 714 714 5 714 714 5 714 836 6 714 1081 6 714 1561 6 714 1581 6 714 1778 6 714 1779 6 714 1779 6 714 1944 6 714 485 6 714 714 6 714 714 6 714 714 6 714 714 6 714 714 6 714 714 6 714 .I 715 .T Discrete Convolution (Algorithm 208) .B CACM October, 1963 .A Foreman Jr., W. T. .N CA631010 JB March 13, 1978 5:53 PM .X 715 5 715 715 5 715 715 5 715 .I 716 .T Stringsort (Algorithm 207) .B CACM October, 1963 .A Boothroyd, J. .N CA631009 JB March 13,1978 5:54 PM .X 2679 5 716 716 5 716 716 5 716 716 5 716 970 6 716 1175 6 716 1190 6 716 1228 6 716 1969 6 716 1997 6 716 308 6 716 2042 6 716 3187 6 716 507 6 716 716 6 716 783 6 716 .I 717 .T Partitioning Algorithms for Finite Sets .W The partitions of a set with n elements are represented by certain n-tuples of positive integers. Algorithm are described which generate without repetitions the n-tuples corresponding to: (1) all partitions of the given set, (2) all partitions of the given set into m or fewer sets (1 <= m <= n), and (3) all partitions of the given set into exactly m sets (1 <= m <= n). .B CACM October, 1963 .A Hutchinson, G. .N CA631008 JB March 13, 1978 5:57 PM .X 717 5 717 717 5 717 717 5 717 .I 718 .T An Experiment in Automatic Verification of Programs .W How effective is a compiler at replacing explicit verification, and what is the cost of this technique? .B CACM October, 1963 .A Weinberg, G. M. Gressett, G. L. .N CA631007 JB March 13, 1978 5:59 PM .X 1053 5 718 718 5 718 718 5 718 718 5 718 435 6 718 474 6 718 718 6 718 720 6 718 .I 719 .T Variable Width Stacks .W Character addressable, variable field computers permit ready establishment and manipulation of variable width stacks. Single machine commands may push variable field items down into such stacks or pop them up. The availability of a variety of field delimiters allows the machine to push down or pop up more than one variable width item with one command. Since these stacking operations can be made the basis of compiler decoding algorithms the proper use of machines of this class for compilation has advantages over machines with fixed-length words. .B CACM October, 1963 .A Rotenberg, N. Opler, A. .N CA631006 JB March 13, 1978 6:25 PM .X 719 5 719 719 5 719 719 5 719 .I 720 .T Format-Free Input in FORTRAN .B CACM October, 1963 .A Bailey, M. J. Barnett, M. P. Futrelle, R. P. .N CA631005 JB March 13, 1978 6:26 PM .X 1053 4 720 1062 4 720 1121 4 720 1139 4 720 1265 4 720 1781 4 720 464 4 720 720 4 720 720 4 720 720 4 720 759 4 720 1053 5 720 265 5 720 464 5 720 474 5 720 720 5 720 720 5 720 720 5 720 435 6 720 474 6 720 718 6 720 720 6 720 .I 721 .T Report on Proposed American Standard Flowchart Symbols for Information Processing .W This paper presents the essential contents of the Proposed American Standard Flowchart Symbols for Information Processing. This is the first proposed standard prepared by Subcommittee X3.6 on Problem Description and Analysis of the American Standards Association (ASA). .B CACM October, 1963 .A Rossheim, R. J. .N CA631004 JB March 13, 1978 6:33 PM .X 2961 5 721 721 5 721 721 5 721 721 5 721 721 6 721 .I 722 .T ALCOR Group Representation of ALGOL Symbols .B CACM October, 1963 .N CA631003 JB March 13, 1978 6:36 PM .X 722 5 722 722 5 722 722 5 722 .I 723 .T ECMA Subset of ALGOL 60 .B CACM October, 1963 .N CA631002 JB March 13, 1978 6:38 PM .X 723 5 723 723 5 723 723 5 723 .I 724 .T A Profile of the Programmer .W Synopsis: 549 members of the ACM participated in a study concerned primarily with the attitudes of programmers toward their careers and jobs. A very high percentage of programmers have apparently entered their careers by accident; it has proven a happy choice for most and they expect to remain in the field during the next five years. Their principal job satisfactions relate to the nature of their work, and mostfind their jobs offer high level of professional interest and good working conditions. Salary and advancement prospects, however,are not as satisfactory. More than half report a positive attitude toward programmers and programming on the part of their organizations. Turnover among themselves is attributed primarily to poor management-salary is seen as the principal motivating factor in turnover among other programmers. Nature of the work offered and salary are principal determinants in accepting a new job. Programmers are less mobile than expected. Programmers tend to see their colleagues in a favorable light, on the whole. Personalities seem to vary with function, systems programmers differing from applications programmers. Four principal problems for programming in the immediate future are listed by participants: languages, personnel, various specific applications and techniques, and building programming as a profession. .B CACM October, 1963 .N CA631001 JB March 13, 1978 6:48 PM .X 724 5 724 724 5 724 724 5 724 .I 725 .T Group Participation Computer Demonstration .B CACM October, 1963 .A McCormick, E. M. .N CA630933 JB March 13, 1978 6:50 PM .X 725 5 725 725 5 725 725 5 725 .I 726 .T A General Program for the Analysis of Square and Rectangular Lattice Designs .W This paper describes a general-purpose program that will handle those incomplete block designs known as square and rectangular lattices. Flow diagrams are given so that the method of calculation may be programmed for any digital computer. .B CACM September, 1963 .A Smillie, K. W. .N CA630932 JB March 13, 1978 6:53 PM .X 726 5 726 726 5 726 726 5 726 .I 727 .T On the Approximate Solution of Delta(u)=F(u) .W Three-dimensional Dirichlet problems for Delta(u)=F(u), Fu >= 0, are treated numerically by an exceptionally fast, exceptionally accurate numerical method. Programming details, numerous examples and mathematical theory are supplied.Extension of the method in a natural way to n-dimensional problems is indicated by means of a 4-dimensional example. .B CACM September, 1963 .A Greenspan, D. Yohe, M. .N CA630931 JB March 13, 1978 6:57 PM .X 727 5 727 727 5 727 727 5 727 .I 728 .T Computer-Drawn Flowcharts* .W To meet the need for improved documentation of written computer programs, a simple system for effective communication is presented, which has shown great promise. The programmer describes his program in a simple format, and the computer prepares flow charts and other cross-referenced listings from this input. The description can be kept up-to-date easily, and the final output clearly explains the original program. The system has also proved to be a valuable debugging and coding aid. .B CACM September, 1963 .A Knuth, D. E. .N CA630930 JB March 13, 1978 7:01 PM .X 728 4 728 728 4 728 920 5 728 1330 5 728 1348 5 728 2315 5 728 45 5 728 728 5 728 728 5 728 728 5 728 1348 6 728 1834 6 728 1987 6 728 528 6 728 728 6 728 728 6 728 728 6 728 .I 729 .T A Generalization of ALGOL .B CACM September, 1963 .A Wirth, N. .N CA630929 JB March 13, 1978 7:02 PM .X 1135 4 729 1136 4 729 1781 4 729 493 4 729 2710 4 729 2765 4 729 2888 4 729 2906 4 729 729 4 729 729 4 729 989 4 729 1037 5 729 1234 5 729 1358 5 729 288 5 729 1491 5 729 616 5 729 729 5 729 729 5 729 729 5 729 196 6 729 944 6 729 1140 6 729 1303 6 729 1460 6 729 205 6 729 321 6 729 385 6 729 400 6 729 402 6 729 404 6 729 3184 6 729 3184 6 729 3184 6 729 729 6 729 729 6 729 729 6 729 729 6 729 799 6 729 .I 730 .T MIRFAG: A Compiler Based on Standard Mathematical Notation And Plain English .W A pilot version of the compiler MIRFAG, now in operation, is described. The chief features of the system, which is intended for the solution of scientific problems, are the presentation of mathematical formulas entirely in standard textbook notation. The use of plain English for organizational instructions, automatic error diagnosis indicating the actual location of the error in the uncompiled program, and an attempt to minimize that fragmentation of the original problem statement which is a normal feature of programming systems. .B CACM September, 1963 .A Gawlik, H. J. .N CA630928 JB March 13, 1978 7:06 PM .X 1083 5 730 1396 5 730 730 5 730 730 5 730 730 5 730 964 6 730 1028 6 730 1029 6 730 1083 6 730 1132 6 730 1214 6 730 1278 6 730 1334 6 730 1365 6 730 1386 6 730 1387 6 730 1388 6 730 1392 6 730 1393 6 730 1394 6 730 1395 6 730 1396 6 730 1397 6 730 1496 6 730 284 6 730 407 6 730 407 6 730 3192 6 730 3193 6 730 3199 6 730 3200 6 730 3201 6 730 3202 6 730 3203 6 730 3204 6 730 561 6 730 730 6 730 730 6 730 .I 731 .T Symmetric List Processor .W A list processing system in which each list cell contains both a forward and a backward link as well as a datum is described. This system is intended for imbeding in higher level languages capable of calling functions and subroutines coded in machine language. The presentation is in the form of FORTRAN programs depending on only a limited set of FORTRAN programs depending on only a limited set of "primitive" machine language subroutines which are also defined. Finally, a set of field, particularly character, manipulation primitives are given to round out the system. .B CACM September, 1963 .A Weizenbaum, J. .N CA630927 JB March 13, 1978 7:10 PM .X 1050 4 731 1050 4 731 1102 4 731 1549 4 731 378 4 731 2723 4 731 2882 4 731 3008 4 731 731 4 731 731 4 731 793 4 731 798 4 731 1024 5 731 1051 5 731 1098 5 731 1214 5 731 209 5 731 1380 5 731 1388 5 731 1393 5 731 1485 5 731 1487 5 731 1549 5 731 1570 5 731 1878 5 731 1946 5 731 1957 5 731 2168 5 731 2723 5 731 2857 5 731 3112 5 731 627 5 731 731 5 731 731 5 731 731 5 731 878 6 731 106 6 731 106 6 731 106 6 731 902 6 731 1051 6 731 1093 6 731 1098 6 731 1132 6 731 1177 6 731 1380 6 731 1387 6 731 1389 6 731 1393 6 731 1393 6 731 1421 6 731 1549 6 731 1626 6 731 1749 6 731 1826 6 731 1826 6 731 1826 6 731 210 6 731 210 6 731 210 6 731 210 6 731 210 6 731 210 6 731 1860 6 731 1878 6 731 296 6 731 1972 6 731 360 6 731 378 6 731 2438 6 731 2651 6 731 2723 6 731 2736 6 731 2833 6 731 2838 6 731 405 6 731 406 6 731 406 6 731 3184 6 731 627 6 731 627 6 731 731 6 731 731 6 731 731 6 731 731 6 731 731 6 731 731 6 731 731 6 731 731 6 731 731 6 731 731 6 731 731 6 731 731 6 731 731 6 731 731 6 731 731 6 731 731 6 731 731 6 731 731 6 731 753 6 731 793 6 731 794 6 731 799 6 731 .I 732 .T Monte Carlo Inverse (Algorithm 166) .B CACM September, 1963 .A Rodman,R. D. .N CA630926 JB March 13, 1978 7:11 PM .X 732 5 732 732 5 732 732 5 732 .I 733 .T Newton Interpolation with Forward Divided Differences (Algorithm 169) .B CACM September, 1963 .A Thacher Jr., H. C. .N CA630925 JB March 13, 1978 7:13 PM .X 733 5 733 733 5 733 733 5 733 .I 734 .T Newton Interpolation with Backward Divided Differences (Algorithm 168) .B CACM September, 1963 .A Thacher Jr., H. C. .N CA630924 JB March 13, 1978 7:15 PM .X 734 5 734 734 5 734 734 5 734 .I 735 .T Calculation of Confluent Divided Differences (Algorithm 167) .B CACM September, 1963 .A Thacher Jr., H. C. .N CA630923 JB March 13, 1978 7:17 PM .X 735 5 735 735 5 735 735 5 735 .I 736 .T Modified Hankel Functions (Algorithm 163) .B CACM September, 1963 .A Thacher Jr.,H. C. .N CA630922 JB March 13, 1978 7:18 PM .X 736 5 736 736 5 736 736 5 736 .I 737 .T Exponentiation of Series (Algorithm 158) .B CACM September, 1963 .A Lawrence, J. D. .N CA630921 JB March 13, 1978 7:19 PM .X 737 5 737 737 5 737 737 5 737 .I 738 .T Fourier Series Approximation (Algorithm 157) .B CACM September, 1963 .A George, R. .N CA630920 JB March 13, 1978 7:20 PM .X 738 5 738 738 5 738 738 5 738 .I 739 .T MINIFUN (Algorithm 129) .B CACM September, 1963 .A Wasscher, E. J. .N CA630919 JB March 13, 1978 7:22 PM .X 739 5 739 739 5 739 739 5 739 .I 740 .T INTEREST (Algorithm 45) .B CACM September, 1963 .A Wright, C. B. .N CA630918 JB March 13, 1978 7:23 PM .X 740 5 740 740 5 740 740 5 740 .I 741 .T Evaluation of Determinant (Algorithm 41) .B CACM September, 1963 .A Freed, B. H. .N CA630917 JB March 13, 1978 7:24 PM .X 741 5 741 741 5 741 741 5 741 .I 742 .T Evaluation of Determinant (Algorithm 41) .B CACM September, 1963 .A Freed, B. H. .N CA630916 JB March 13, 1978 7:25 PM .X 742 5 742 742 5 742 742 5 742 .I 743 .T ARCCOSIN (Algorithm 206) .B CACM September, 1963 .A Konda, M. .N CA630915 JB March 13, 1978 7:26 PM .X 743 5 743 743 5 743 743 5 743 .I 744 .T ATIVE (Algorithm 205) .B CACM September, 1963 .A Haubrich, J. G. A. .N CA630914 JB March 13, 1978 7:28 PM .X 744 5 744 744 5 744 744 5 744 .I 745 .T STEEP2 (Algorithm 204) .B CACM September, 1963 .A Wasscher, E. J. .N CA630913 JB March 13, 1978 7:29 PM .X 745 5 745 745 5 745 745 5 745 .I 746 .T STEEP1 (Algorithm 203) .B CACM September, 1963 .A Wasscher, E. J. .N CA630912 JB March 13, 1978 7:30 PM .X 746 5 746 746 5 746 746 5 746 .I 747 .T Generation of Permutations in Lexicographical Order (Algorithm 202) .B CACM September, 1963 .A Shen, M. K. .N CA630911 JB March 13, 1978 7:31 PM .X 2443 5 747 747 5 747 747 5 747 747 5 747 747 6 747 .I 748 .T A Semi-Iterative Process for Evaluating Arctangents .B CACM September, 1963 .A Chu, W. H. Saathoff, D. R. .N CA630910 JB March 13, 1978 7:33 PM .X 748 5 748 748 5 748 748 5 748 .I 749 .T Note onStochastic Matrices .B CACM September, 1963 .A Dumey, A. I. .N CA630909 JB March 13, 1978 7:35 PM .X 749 5 749 749 5 749 749 5 749 .I 750 .T PEI Matrix Eigenvectors .B CACM September, 1963 .A Newbery, A. C. R. .N CA630908 JB March 13, 1978 7:36 PM .X 1963 5 750 750 5 750 750 5 750 750 5 750 909 6 750 475 6 750 750 6 750 .I 751 .T A Note on a Set of Test Matrices for Inversion .B CACM September, 1963 .A Rodman, R. D. .N CA630907 JB March 13, 1978 7:38 PM .X 751 5 751 751 5 751 751 5 751 .I 752 .T Closing Out a Print Tape .B CACM September, 1963 .A Moore, D. P. .N CA630906 JB March 13, 1978 7:39 PM .X 752 5 752 752 5 752 752 5 752 .I 753 .T A Procedure for Converting Logic Table Conditions into an Efficient Sequence of Test Instructions .B CACM September, 1963 .A Egler, J. F. .N CA630905 JB March 13, 1978 7:40 PM .X 1237 4 753 2220 4 753 753 4 753 1237 5 753 250 5 753 1549 5 753 1564 5 753 2453 5 753 753 5 753 753 5 753 753 5 753 106 6 753 1051 6 753 1172 6 753 1354 6 753 210 6 753 250 6 753 320 6 753 2053 6 753 2220 6 753 406 6 753 627 6 753 731 6 753 753 6 753 753 6 753 753 6 753 753 6 753 .I 754 .T Ye Indiscreet Monitor .B CACM September, 1963 .A Blatt, J. M. .N CA630904 JB March 13, 1978 7:41 PM .X 754 4 754 153 5 754 754 5 754 754 5 754 754 5 754 .I 755 .T An Exponential Method of Numerical Integration of Ordinary Differential Equations .W A formula for numerical integration is prepared, which involves an exponential term. This formula is compared to two standard integration methods, and it is shown that for a large class of differential equations, the exponential formula has superior stability properties for large step sizes. Thus this formula may be used with a large step size to decrease the total computing time for a solution significantly, particularly in those engineering problems where high accuracy is not needed. .B CACM August, 1963 .A Pope, D. A. .N CA630843 JB March 13, 1978 7:52 PM .X 2567 5 755 755 5 755 755 5 755 755 5 755 2268 6 755 755 6 755 .I 756 .T A Computer Program for Editing the News .B CACM August, 1963 .A Danielson, W. A. Briggs, B. .N CA630842 JB March 13, 1978 7:53 PM .X 756 5 756 756 5 756 756 5 756 .I 757 .T Simulation of a Traffic Network .B CACM August, 1963 .A Katz, J. H. .N CA630841 JB March 13, 1978 7:55 PM .X 1890 5 757 757 5 757 757 5 757 757 5 757 757 6 757 .I 758 .T Skeletal Structure of PERT and CPA Computer Programs .W An introduction to the inner mechanics of PERT and CPA computer programs is provided. The major components of these programs as well as their purposes and interrelationships are outlined. .B CACM August, 1963 .A Kahn, A. B. .N CA630840 JB March 13, 1978 7:58 PM .X 1050 4 758 1226 4 758 1723 4 758 441 4 758 758 4 758 758 4 758 367 5 758 441 5 758 758 5 758 758 5 758 758 5 758 .I 759 .T Continued Operation Notation for Symbol Manipulation and Array Processing .W A brief account is given of a notational device that is very useful in the formal representation of syntaxes, string relationships and string transformation procedures and also of computing procedures that deal with arrays of functions of many variables. The device consists of the use of certain "continued operation" or "collective" symbols that are analogous to the summation symbol (Sigma) and continued multiplication symbol (Pi) of conventional mathematics. .B CACM August, 1963 .A Barnett, M. P. .N CA630839 JB March 13, 1978 8:02 PM .X 1062 4 759 1121 4 759 1139 4 759 1265 4 759 1781 4 759 720 4 759 759 4 759 964 5 759 1121 5 759 464 5 759 659 5 759 759 5 759 759 5 759 759 5 759 284 6 759 464 6 759 561 6 759 759 6 759 759 6 759 759 6 759 .I 760 .T Dialects of FORTRAN .B CACM August, 1963 .A Pyle, I. C. .N CA630838 JB March 13, 1978 8:03 PM .X 760 5 760 760 5 760 760 5 760 .I 761 .T A Note on the Dangling Else in ALGOL 60 .W Some revisions of ALGOL 60 are proposed, which not only eliminate certain ambiguous statements but also add some convenience to the language. A discussion of the background of the problem and a sketch of a proof that the ambiguities have been removed is included. .B CACM August, 1963 .A Kaupe Jr., A. F. .N CA630837 JB March 13, 1978 8:06 PM .X 249 4 761 254 4 761 272 4 761 1086 4 761 1102 4 761 1109 4 761 1132 4 761 1140 4 761 1188 4 761 1234 4 761 1263 4 761 1265 4 761 1270 4 761 1306 4 761 1323 4 761 1358 4 761 1379 4 761 1380 4 761 1453 4 761 1464 4 761 1464 4 761 1484 4 761 1491 4 761 1491 4 761 1498 4 761 1613 4 761 1614 4 761 1767 4 761 1781 4 761 1781 4 761 1787 4 761 1825 4 761 1860 4 761 1949 4 761 321 4 761 2059 4 761 2083 4 761 2126 4 761 2178 4 761 2179 4 761 2252 4 761 2325 4 761 2341 4 761 2546 4 761 435 4 761 437 4 761 463 4 761 483 4 761 491 4 761 2645 4 761 2652 4 761 2684 4 761 2732 4 761 2842 4 761 2929 4 761 2934 4 761 560 4 761 583 4 761 3069 4 761 3073 4 761 627 4 761 631 4 761 632 4 761 642 4 761 644 4 761 653 4 761 669 4 761 679 4 761 680 4 761 691 4 761 761 4 761 761 4 761 761 4 761 762 4 761 763 4 761 123 4 761 140 4 761 919 4 761 949 4 761 989 4 761 989 4 761 196 5 761 947 5 761 1379 5 761 3184 5 761 761 5 761 761 5 761 761 5 761 1263 6 761 1477 6 761 3184 6 761 669 6 761 761 6 761 .I 762 .T Some Remarks on the Syntax of Symbolic Programming Languages .B CACM August, 1963 .A DiForino, A. C. .N CA630836 JB March 13, 1978 8:07 PM .X 249 4 762 254 4 762 272 4 762 1102 4 762 1102 4 762 1109 4 762 1140 4 762 1142 4 762 1188 4 762 1306 4 762 1425 4 762 1464 4 762 1491 4 762 1767 4 762 1781 4 762 1781 4 762 1781 4 762 1787 4 762 1945 4 762 1949 4 762 321 4 762 2059 4 762 2126 4 762 435 4 762 437 4 762 438 4 762 463 4 762 483 4 762 491 4 762 2732 4 762 560 4 762 583 4 762 3073 4 762 627 4 762 631 4 762 632 4 762 642 4 762 644 4 762 653 4 762 680 4 762 761 4 762 762 4 762 762 4 762 762 4 762 763 4 762 123 4 762 140 4 762 919 4 762 949 4 762 989 4 762 196 5 762 249 5 762 483 5 762 762 5 762 762 5 762 762 5 762 .I 763 .T A Syntax Controlled Generator of Formal Language Processors .B CACM August, 1963 .A Eickel, J. Bauer, F. L. Paul, M. Samelson, K. .N CA630835 JB March 13, 1978 8:08 PM .X 249 4 763 254 4 763 267 4 763 272 4 763 1046 4 763 1102 4 763 1105 4 763 1109 4 763 1139 4 763 1139 4 763 1139 4 763 1140 4 763 1140 4 763 1141 4 763 1188 4 763 1215 4 763 1223 4 763 1234 4 763 1263 4 763 1265 4 763 1265 4 763 1306 4 763 1464 4 763 1491 4 763 1496 4 763 1647 4 763 1665 4 763 1767 4 763 1781 4 763 1781 4 763 1781 4 763 1787 4 763 1787 4 763 1792 4 763 1824 4 763 1949 4 763 321 4 763 364 4 763 2059 4 763 2126 4 763 2126 4 763 405 4 763 2546 4 763 435 4 763 437 4 763 438 4 763 463 4 763 464 4 763 483 4 763 491 4 763 2732 4 763 560 4 763 583 4 763 584 4 763 3073 4 763 627 4 763 631 4 763 631 4 763 632 4 763 642 4 763 644 4 763 653 4 763 653 4 763 680 4 763 680 4 763 761 4 763 762 4 763 763 4 763 763 4 763 763 4 763 763 4 763 763 4 763 795 4 763 799 4 763 123 4 763 140 4 763 919 4 763 945 4 763 989 4 763 196 5 763 1215 5 763 224 5 763 1781 5 763 1787 5 763 1945 5 763 2603 5 763 404 5 763 412 5 763 631 5 763 763 5 763 763 5 763 763 5 763 823 6 763 123 6 763 196 6 763 196 6 763 914 6 763 915 6 763 917 6 763 919 6 763 984 6 763 989 6 763 990 6 763 990 6 763 1007 6 763 1012 6 763 1025 6 763 1046 6 763 1084 6 763 1098 6 763 1122 6 763 1131 6 763 1138 6 763 1139 6 763 1139 6 763 1140 6 763 1141 6 763 1141 6 763 1149 6 763 1198 6 763 1200 6 763 1215 6 763 1215 6 763 1223 6 763 1223 6 763 1265 6 763 1265 6 763 1303 6 763 1323 6 763 1336 6 763 1358 6 763 1366 6 763 1396 6 763 1421 6 763 1455 6 763 1460 6 763 1462 6 763 1463 6 763 1467 6 763 1468 6 763 1477 6 763 1477 6 763 1487 6 763 1491 6 763 1491 6 763 1491 6 763 1491 6 763 1496 6 763 1496 6 763 1496 6 763 1531 6 763 1535 6 763 1565 6 763 1601 6 763 1602 6 763 1613 6 763 1614 6 763 1626 6 763 1641 6 763 1781 6 763 1787 6 763 1788 6 763 205 6 763 224 6 763 224 6 763 224 6 763 249 6 763 288 6 763 316 6 763 381 6 763 398 6 763 11 6 763 404 6 763 410 6 763 463 6 763 464 6 763 483 6 763 483 6 763 3184 6 763 3188 6 763 584 6 763 584 6 763 600 6 763 669 6 763 680 6 763 680 6 763 691 6 763 763 6 763 763 6 763 763 6 763 763 6 763 763 6 763 799 6 763 799 6 763 .I 764 .T Reduction of a Matrix Containing Polynomial Elements (Algorithm 170) .B CACM August, 1963 .A Hennion, P. E. .N CA630834 JB March 13, 1978 8:09 PM .X 764 5 764 764 5 764 764 5 764 .I 765 .T Orthogonal Polynomial Least Squares Surface Fit (Algorithm 164) .B CACM August, 1963 .A Bitterli, C. V. .N CA630833 JB March 13, 1978 8:10 PM .X 765 5 765 765 5 765 765 5 765 .I 766 .T XY-move Plotting (Algorithm 162) .B CACM August, 1963 .A Fletcher, W. E. .N CA630832 JB March 13, 1978 8:12 PM .X 766 5 766 766 5 766 766 5 766 .I 767 .T Certification of Algorithm 161 Combinatorial of M Things Taken One at a Time, Two at a Time, Up to N at a Time [M. L. Wolfson and H. V. Wright, Comm. ACM, Apr. 1963] .B CACM August, 1963 .A Thoro, D. .N CA630831 JB March 13, 1978 8:13 PM .X 767 5 767 767 5 767 767 5 767 .I 768 .T Certification of Algorithm 160 Combinatorial of M Things Taken N at a Time [M. L. Wolfson and H. V. Wright, Comm. ACM, Apr. 1963] .B CACM August, 1963 .A Thoro, D. .N CA630830 JB March 13, 1978 8:14 PM .X 768 5 768 768 5 768 768 5 768 .I 769 .T Algebra of Sets (Algorithm 156) .B CACM August, 1963 .A Bosworth, K. M. .N CA630829 JB March 13, 1978 8:15 PM .X 769 5 769 769 5 769 769 5 769 .I 770 .T Combination in Any Order (Algorithm 155) .B CACM August, 1963 .A Bosworth, K. M. .N CA630828 JB March 13, 1978 8:17 PM .X 770 5 770 770 5 770 770 5 770 .I 771 .T Combination in Lexicographical Order (Algorithm 154) .B CACM August, 1963 .A Bosworth, K. M. .N CA630827 JB March 13, 1978 8:18 PM .X 771 5 771 771 5 771 771 5 771 .I 772 .T GOMORY (Algorithm 153) .B CACM August, 1963 .A Lefkowitz, B. D'Esopo, D. A. .N CA630826 JB March 13, 1978 8:19 PM .X 772 5 772 772 5 772 772 5 772 .I 773 .T Matrix Inversion (Algorithm 140) .B CACM August, 1963 .A George, R. .N CA630825 JB March 13, 1978 8:20 PM .X 2061 5 773 773 5 773 773 5 773 773 5 773 1140 6 773 1141 6 773 1477 6 773 1491 6 773 1825 6 773 773 6 773 .I 774 .T Jacobi (Algorithm 85) .B CACM August, 1963 .A Naur, P. .N CA630824 JB March 13, 1978 8:21 PM .X 2349 5 774 774 5 774 774 5 774 774 5 774 1648 6 774 1716 6 774 1794 6 774 1894 6 774 2043 6 774 501 6 774 613 6 774 774 6 774 .I 775 .T Interpolation, Differentiation, and Integration (Algorithm 77) .B CACM August, 1963 .A Hennion, P. E. .N CA630823 JB March 13, 1978 8:22 PM .X 775 5 775 775 5 775 775 5 775 .I 776 .T Partition, Quicksort, and Find (Algorithm 62, 64, & 65) .B CACM August, 1963 .A Randell, B. Russell, L. J. .N CA630822 JB March 13, 1978 8:23 PM .X 3054 5 776 776 5 776 776 5 776 776 5 776 1175 6 776 1880 6 776 1919 6 776 1969 6 776 1980 6 776 1997 6 776 307 6 776 308 6 776 309 6 776 2017 6 776 2679 6 776 776 6 776 .I 777 .T A Set of Test Matrices (Algorithm 52) .B CACM August, 1963 .A Naur, P. .N CA630821 JB March 13, 1978 8:24 PM .X 777 5 777 777 5 777 777 5 777 .I 778 .T Associated Legendre Functions of the First Kind for Real or Imaginary Arguments (Algorithm 47) .B CACM August, 1963 .A George, R. .N CA630820 JB March 13, 1978 8:26 PM .X 1818 5 778 778 5 778 778 5 778 778 5 778 778 6 778 .I 779 .T CROUT II (Algorithm 43) .B CACM August, 1963 .A Domingo, C. Rodriguez-Gil, F. .N CA630819 JB March 13, 1978 8:27 PM .X 779 5 779 779 5 779 779 5 779 .I 780 .T Algorithm 42 INVERT, Alg.107 Gauss's Method, Alg.120 Inversion II, and gjr .B CACM August, 1963 .A Naur, P. .N CA630818 JB March 13, 1978 8:29 PM .X 780 5 780 780 5 780 780 5 780 .I 781 .T Telescope 2 (Algorithm 38) .B CACM August, 1963 .A Bridges, J. F. .N CA630817 JB March 13, 1978 8:30 PM .X 781 5 781 781 5 781 781 5 781 .I 782 .T Telescope 1 (Algorithm 37) .B CACM August, 1963 .A Bridges, J. F. .N CA630816 JB March 13, 1978 8:31 PM .X 782 5 782 782 5 782 782 5 782 .I 783 .T Shellsort (Algorithm 201) .B CACM August, 1963 .A Boothroyd, J. .N CA630815 JB March 13, 1978 8:32 PM .X 2679 5 783 783 5 783 783 5 783 783 5 783 970 6 783 1175 6 783 1190 6 783 1228 6 783 1969 6 783 1997 6 783 308 6 783 2042 6 783 3187 6 783 507 6 783 716 6 783 783 6 783 .I 784 .T Normal Random (Algorithm 200) .B CACM August, 1963 .A George, R. .N CA630814 JB March 13, 1978 8:33 PM .X 784 5 784 784 5 784 784 5 784 .I 785 .T Conversions Between Calendar Date And Julian day Number (Algorithm 199) .B CACM August, 1963 .A Tantzen, R. G. .N CA630813 JB March 13, 1978 8:34 PM .X 2269 5 785 3115 5 785 785 5 785 785 5 785 785 5 785 907 6 785 2045 6 785 2417 6 785 2466 6 785 2884 6 785 579 6 785 785 6 785 785 6 785 .I 786 .T Adaptive Integration and Multiple Integration (Algorithm 198) .B CACM August, 1963 .A McKeeman, W. M. .N CA630812 JB March 13, 1978 8:35 PM .X 1352 5 786 2048 5 786 2074 5 786 786 5 786 786 5 786 786 5 786 834 6 786 834 6 786 834 6 786 872 6 786 872 6 786 1040 6 786 1092 6 786 1241 6 786 1273 6 786 324 6 786 429 6 786 429 6 786 429 6 786 570 6 786 621 6 786 786 6 786 786 6 786 786 6 786 .I 787 .T Matrix Division (Algorithm 197) .B CACM August, 1963 .A Wells, M. .N CA630811 JB March 13, 1978 8:37 PM .X 787 5 787 787 5 787 787 5 787 .I 788 .T Muller's Method for Finding Roots of an Arbitrary Function (Algorithm 196) .B CACM August, 1963 .A Roman, R. D. .N CA630810 JB March 13, 1978 8:38 PM .X 788 5 788 788 5 788 788 5 788 .I 789 .T Bandsolve (Algorithm 195) .B CACM August, 1963 .A Thurnau, D. H. .N CA630809 JB March 13, 1978 8:39 PM .X 789 5 789 789 5 789 789 5 789 .I 790 .T Zersol (Algorithm 194) .B CACM August, 1963 .A Domingo, C. .N CA630808 JB March 13, 1978 8:40 PM .X 790 5 790 790 5 790 790 5 790 .I 791 .T Character Manipulation in 7090 Fortran .B CACM August, 1963 .A Smith, D. D. .N CA630807 JB March 13, 1978 8:41 PM .X 1084 5 791 791 5 791 791 5 791 791 5 791 868 6 791 603 6 791 644 6 791 669 6 791 791 6 791 797 6 791 .I 792 .T Multiple-Precision Binary-To-Decimal Integer Conversion Using Only Addition And Subtraction .B CACM August, 1963 .A Keyes, D. F. Moore, D. P. .N CA630806 JB March 13, 1978 8:42 PM .X 792 5 792 792 5 792 792 5 792 .I 793 .T Mapped List Structures .B CACM August, 1963 .A Baecker, H. D. .N CA630805 JB March 13, 1978 8:43 PM .X 1050 4 793 1549 4 793 2723 4 793 2882 4 793 731 4 793 793 4 793 1051 5 793 627 5 793 793 5 793 793 5 793 793 5 793 210 6 793 378 6 793 406 6 793 731 6 793 793 6 793 794 6 793 .I 794 .T A List-Type Storage Technique for Alphameric Information .W A method which is economic in terms of space and time is proposed for the storage and manipulation of character strings of arbitrary length in a fixed word-length computer. The method is illustrated in an application to Algol-type identifiers in an Algol-like block structure. .B CACM August, 1963 .A Bowlden, H. J. .N CA630804 JB March 13, 1978 8:45 PM .X 794 4 794 1051 5 794 1062 5 794 254 5 794 794 5 794 794 5 794 794 5 794 210 6 794 378 6 794 406 6 794 464 6 794 731 6 794 793 6 794 794 6 794 794 6 794 .I 795 .T Debugging Systems at the Source Language Level .B CACM August, 1963 .A Ferguson, H. E. Berner, E. .N CA630803 JB March 13, 1978 8:46 PM .X 1046 4 795 1105 4 795 1139 4 795 1140 4 795 1234 4 795 1263 4 795 1265 4 795 1496 4 795 1781 4 795 1824 4 795 2126 4 795 2546 4 795 464 4 795 2616 4 795 584 4 795 631 4 795 653 4 795 680 4 795 763 4 795 795 4 795 795 4 795 799 4 795 945 4 795 931 5 795 404 5 795 795 5 795 795 5 795 795 5 795 .I 796 .T SABRAG, A Time-Sharing Low-Cost Computer .W The serial SABRAC computer designed and built in the Scientific Department of the Israel defense Ministry has a 5000-location magnetic drum, main store. To avoid a need to resort to optimum programming techniques and to increase its overall efficiency the computer has also been given a 224-word ferrite core store from which the program is obeyed. Transfers between the core and drum stores and to and from the twin paper-tape input and output channels are all available autonomously (concurrently, time-shared). Multiplication and division orders are also autonomous, so that the machine may be executing up to three orders simultaneously. All functions naturally are interlocked. A number of other advanced orders and facilities are also incorporated.In particular, an "Execute" order permits a temporary jump for up to four orders and a second modifier register permits double modification in general and relative addressing of subroutines in particular. Thus the overall effective speed of the machine is muchhigher than its basic specification would lead one to expect and its design indicates one way in which the concepts of time sharing may be incorporated in "low-cost" computers. .B CACM August, 1963 .A Lehman, M. Netter, Z. Eshed, R. .N CA630802 JB March 13, 1978 8:54 PM .X 3193 4 796 796 4 796 491 5 796 796 5 796 796 5 796 796 5 796 .I 797 .T American Standard Code for Information Interchange .B CACM August, 1963 .N CA630801 JB March 13, 1978 8:55 PM .X 1084 5 797 797 5 797 797 5 797 797 5 797 868 6 797 603 6 797 644 6 797 669 6 797 791 6 797 797 6 797 .I 798 .T A Catalogue Entry Retrieval System .A Scheff, B. H. .B CACM July, 1963 .N CA630726 JB March 14, 1978 8:08 AM .X 1050 4 798 1102 4 798 378 4 798 3008 4 798 731 4 798 798 4 798 209 5 798 798 5 798 798 5 798 798 5 798 .I 799 .T Design of a Separable Transition-Diagram Compiler* .W A COBOL compiler design is presented which is compact enough to permit rapid, one-pass compilation of a large subset of COBOL on a moderately large computer. Versions of the same compiler for smaller machines require only two working tapes plus a compiler tape. The methods given are largely applicable to the construction of ALGOL compilers. .B CACM July, 1963 .A Conway, M. E. .N CA630725 JB March 14, 1978 8:11 AM .X 222 4 799 1046 4 799 1105 4 799 1139 4 799 1139 4 799 1140 4 799 1234 4 799 1263 4 799 1265 4 799 1496 4 799 1781 4 799 1824 4 799 1947 4 799 2126 4 799 2546 4 799 464 4 799 556 4 799 584 4 799 631 4 799 653 4 799 680 4 799 763 4 799 795 4 799 799 4 799 799 4 799 799 4 799 799 4 799 945 4 799 945 5 799 1323 5 799 1358 5 799 1380 5 799 1665 5 799 1781 5 799 1787 5 799 1989 5 799 399 5 799 2112 5 799 2534 5 799 2541 5 799 2698 5 799 2733 5 799 2820 5 799 404 5 799 82 5 799 3073 5 799 3155 5 799 799 5 799 799 5 799 799 5 799 830 6 799 123 6 799 196 6 799 196 6 799 196 6 799 919 6 799 990 6 799 1007 6 799 1046 6 799 1131 6 799 1139 6 799 1140 6 799 1141 6 799 1149 6 799 1198 6 799 1215 6 799 1215 6 799 1223 6 799 1265 6 799 1303 6 799 1323 6 799 1358 6 799 1366 6 799 1421 6 799 1421 6 799 1460 6 799 1460 6 799 1462 6 799 1463 6 799 1467 6 799 1468 6 799 1477 6 799 1477 6 799 1491 6 799 1491 6 799 1491 6 799 1496 6 799 1496 6 799 1531 6 799 1535 6 799 1565 6 799 1601 6 799 1602 6 799 1613 6 799 1614 6 799 1626 6 799 1641 6 799 1781 6 799 1781 6 799 1781 6 799 1781 6 799 1787 6 799 1787 6 799 1788 6 799 205 6 799 205 6 799 224 6 799 224 6 799 249 6 799 267 6 799 288 6 799 1959 6 799 1973 6 799 316 6 799 378 6 799 381 6 799 398 6 799 2110 6 799 2110 6 799 2111 6 799 11 6 799 2179 6 799 2182 6 799 2204 6 799 2247 6 799 2423 6 799 2534 6 799 2556 6 799 2732 6 799 2786 6 799 404 6 799 410 6 799 463 6 799 464 6 799 483 6 799 3073 6 799 3184 6 799 3184 6 799 3184 6 799 3184 6 799 3186 6 799 3188 6 799 584 6 799 600 6 799 631 6 799 680 6 799 680 6 799 691 6 799 729 6 799 731 6 799 763 6 799 763 6 799 799 6 799 799 6 799 799 6 799 799 6 799 799 6 799 799 6 799 799 6 799 799 6 799 799 6 799 799 6 799 799 6 799 799 6 799 799 6 799 799 6 799 799 6 799 .I 800 .T The Linking Segment Subprogram Language and Linking Loader .B CACM July, 1963 .A McCarthy, J. Corbato, F. J. Daggett, M. M. .N CA630724 JB March 14, 1978 8:13 AM .X 1471 5 800 1774 5 800 800 5 800 800 5 800 800 5 800 800 6 800 800 6 800 1173 6 800 271 6 800 276 6 800 .I 801 .T Least Squares Solution with Constraints (Algorithm 177) .B CACM July, 1963 .A Synge, M. J. .N CA630723 JB March 14, 1978 8:14 AM .X 801 5 801 801 5 801 801 5 801 .I 802 .T SYMINV2 (Algorithm 150) .B CACM July, 1963 .A Rutishauser, H. .N CA630722JB March 14, 1978 8:15 AM .X 802 5 802 802 5 802 802 5 802 .I 803 .T Syminv2 (Algorithm 150) .B CACM July, 1963 .A Evans Jr., A. .N CA630721 JB March 14, 1978 8:16 AM .X 803 5 803 803 5 803 803 5 803 .I 804 .T Exponentiation of Series (Algorithms 134) .B CACM July, 1963 .A Thacher Jr., H. C. .N CA630720 JB March 14, 1978 8:19 AM .X 804 5 804 804 5 804 804 5 804 .I 805 .T Newton Maehly (Algorithm 105) .B CACM July, 1963 .A Kondo, J. .N CA630719 JB March 14, 1978 8:20 AM .X 805 5 805 805 5 805 805 5 805 .I 806 .T Remark on Certification of Matrix Inversion Procedures .B CACM July, 1963 .A Moler, C. .N CA630718 JB March 14, 1978 8:21 AM .X 1177 4 806 806 4 806 806 4 806 932 5 806 454 5 806 806 5 806 806 5 806 806 5 806 .I 807 .T Reversion of Series (Algorithm 193) .B CACM July, 1963 .A Fettis, H. E. .N CA630717 JB March 14, 1978 8:22 AM .X 807 5 807 807 5 807 807 5 807 .I 808 .T Confluent Hypergeometric (Algorithm 192) .B CACM July, 1963 .A Relph, A. P. .N CA630716 JB March 14, 1978 8:29 AM .X 808 5 808 808 5 808 808 5 808 .I 809 .T Hypergeometric (Algorithm 191) .B CACM July, 1963 .A Relph, A. P. .N CA630715 JB March 14, 1978 8:30 AM .X 809 5 809 809 5 809 809 5 809 .I 810 .T Complex Power (Algorithm 190) .B CACM July, 1963 .A Relph, A. P. .N CA630714 JB March 14, 1978 8:32 AM .X 810 5 810 810 5 810 810 5 810 .I 811 .T Smoothing 2 (Algorithm 189) .B CACM July, 1963 .A Rodriguez Gil, F. .N CA630713 JB March 14, 1978 8:33 AM .X 811 5 811 811 5 811 811 5 811 .I 812 .T Smoothing 1 (Algorithm 188) .B CACM July, 1963 .A Rodriguez-Gil, F. .N CA630712 JB March 14, 1978 8:34 AM .X 812 5 812 812 5 812 812 5 812 .I 813 .T Differences and Derivatives (Algorithm 187) .B CACM July, 1963 .A Vande Riet, R. P. .N CA630711 JB March 14, 1978 8:35 AM .X 813 5 813 813 5 813 813 5 813 .I 814 .T Complex Arithmetic (Algorithm 186) .B CACM July, 1963 .A Vande Riet, R. P. .N CA630710 JB March 14, 1978 8:36 AM .X 814 5 814 814 5 814 814 5 814 .I 815 .T Normal Probability for Curve Fitting (Algorithm 185) .B CACM July, 1963 .A Colker, A. .N CA630709 JB March 14, 1978 8:38 AM .X 815 5 815 815 5 815 815 5 815 .I 816 .T Erlang Probability for Curve Fitting (Algorithm 184) .B CACM July, 1963 .A Colker, A. .N CA630708 JB March 14, 1978 8:39 AM .X 816 5 816 816 5 816 816 5 816 .I 817 .T Nexcom (Algorithm 152) .B CACM July, 1963 .A Hopley, J. .N CA630707 JB March 14, 1978 8:40 AM .X 817 5 817 817 5 817 817 5 817 .I 818 .T Realizing Boolean Connectives on The IBM 1620 .B CACM July, 1963 .A Hellerman, H. Senzig, D. N. .N CA630706 JB March 14, 1978 8:44 AM .X 818 5 818 818 5 818 818 5 818 .I 819 .T Polynomial Evaluation Revised .B CACM July, 1963 .A Eisman, S. H. .N CA630705 JB March 14, 1978 8:46 AM .X 1620 4 819 819 4 819 1620 5 819 436 5 819 819 5 819 819 5 819 819 5 819 819 6 819 436 6 819 .I 820 .T Checking for Loops in Networks .B CACM July, 1963 .A Gordon, R. M. .N CA630704 JB March 14, 1978 8:47 AM .X 820 5 820 820 5 820 820 5 820 .I 821 .T Further Remarks on Sampling a Tape File-III .B CACM July, 1963 .A Juelich, O. C. .N CA630703 JB March 14, 1978 8:48 AM .X 821 5 821 821 5 821 821 5 821 .I 822 .T Real-Time Programming Specifications .W Problems in the implementation of large real-time applications are treated, and suggested guidelines for both program and file specifications are developed. The problems delineated also occur in systems programming. .B CACM July, 1963 .A Head, R. V. .N CA630702 JB March 14, 1978 8:50 AM .X 822 5 822 822 5 822 822 5 822 .I 823 .T A Syntactic Description of BC NELLIAC .B CACM July, 1963 .A Huskey, H. D. Love, R. Wirth, N. .N CA630701 JB March 14, 1978 8:51 AM .X 1945 5 823 2126 5 823 691 5 823 823 5 823 823 5 823 823 5 823 823 6 823 823 6 823 823 6 823 196 6 823 914 6 823 915 6 823 917 6 823 984 6 823 989 6 823 990 6 823 1012 6 823 1084 6 823 1098 6 823 1122 6 823 1138 6 823 1139 6 823 1141 6 823 1200 6 823 1223 6 823 1265 6 823 1336 6 823 1396 6 823 1455 6 823 1477 6 823 1487 6 823 1491 6 823 1496 6 823 1614 6 823 1693 6 823 404 6 823 483 6 823 3184 6 823 584 6 823 669 6 823 680 6 823 763 6 823 .I 824 .T DESCRIPTRAN-Automated Descriptive Geometry* .W Descriptive geometry consists of procedures originally designed to solve 3-space geometry problems by graphical constructions and measurement instead of by computation. However, in addition to this it unifies and simplifies the approach to many such problems. When one can call subroutines that compute new coordinates that correspond to those obtainable from the graphical constructions, there is the three-way advantage of the approach of descriptive geometry, the accuracy of computation and the speed of the digital computer. DESCRIPTRAN makes it possible to program many problems in 3-space with a few statements; it consists of 15 subroutines analogous to the procedures of descriptive geometry. .B CACM June, 1963 .A Kliphardt, R. A. .N CA630625 JB March 14, 1978 9:56 AM .X 824 5 824 824 5 824 824 5 824 .I 825 .T PIP: A Photo-Interpretive Program for the Analysis of Spark-Chamber Data* .W An operating computer program that processes photographically recorded data is described. The input to the program consists of spark-chamber photographs on which tracks of high-energy particles are recorded. The program automatically scans, measures and performs the preliminary interpretation of these photographs. In continuous operation a processing rate of 5,000 photographic frames per hour is achieved. .B CACM June, 1963 .A Rudloe, H. Deutsch, M. Marill, T. .N CA630624 JB March 14, 1978 9:59 AM .X 825 5 825 825 5 825 825 5 825 .I 826 .T Remarks on Fortran Subroutines for Time Series Analysis .B CACM June, 1963 .A Bennett, C. M. .N CA630623 JB March 14, 1978 10:00 AM .X 1118 4 826 826 4 826 948 4 826 942 5 826 1118 5 826 826 5 826 826 5 826 826 5 826 826 6 826 942 6 826 .I 827 .T Disk File Sorting .W Sorting techniques using an IBM 1401 with a random access storage device are evaluated. .B CACM June, 1963 .A Schick, T. .N CA630622 JB March 14, 1978 10:02 AM .X 827 5 827 827 5 827 827 5 827 .I 828 .T Incompressible flow Network Calculations .W A general method for the calculation of flows and pressures in fluid flow networks is presented. The method is applicable to computer use. .B CACM June, 1963 .A Cantrell, H. N. .N CA630621 JB March 14, 1978 10:03 AM .X 828 5 828 828 5 828 828 5 828 .I 829 .T The External Language KLIPA For the URAL-2 Digital computer .B CACM June, 1963 .A Greniewski, M, Turski, W. .N CA630620 JB March 14, 1978 10:04 AM .X 2905 5 829 829 5 829 829 5 829 829 5 829 829 6 829 .I 830 .T CORC-The Cornell Computing Language .B CACM June, 1963 .A Conway, R. W. Maxwell, W. L. .N CA630619 JB March 14, 1978 10:06 AM .X 1179 5 830 1288 5 830 1544 5 830 1646 5 830 2111 5 830 2534 5 830 2556 5 830 2650 5 830 830 5 830 830 5 830 830 5 830 830 6 830 830 6 830 830 6 830 830 6 830 830 6 830 830 6 830 830 6 830 830 6 830 987 6 830 1072 6 830 1112 6 830 1179 6 830 1592 6 830 1647 6 830 1787 6 830 1935 6 830 1936 6 830 1959 6 830 1973 6 830 2111 6 830 2111 6 830 2111 6 830 2182 6 830 408 6 830 576 6 830 619 6 830 680 6 830 680 6 830 799 6 830 .I 831 .T Real Error Function, ERF (Algorithm 123) .B CACM June, 1963 .A Thacher Jr., H. C. .N CA630618 JB March 14, 1978 10:07 AM .X 1583 5 831 831 5 831 831 5 831 831 5 831 831 6 831 967 6 831 1126 6 831 707 6 831 .I 832 .T Curve Fitting with Constraints (Algorithm 74) .B CACM June, 1963 .A Isoda, K. .N CA630617 JB March 14, 1978 10:08 AM .X 832 5 832 832 5 832 832 5 832 .I 833 .T Reduction of a Symmetric Bandmatrix to Triple Diagonal Form .B CACM June, 1963 .A Schwartz, H. R. .N CA630616JB March 14, 1978 10:09 AM .X 833 5 833 833 5 833 833 5 833 .I 834 .T Nonrecursive Adaptive Integration (Algorithm 182) .B CACM June, 1963 .A McKeeman, W. M. Tesler, L. .N CA630615 JB March 14, 1978 10:10 AM .X 1352 5 834 2048 5 834 2074 5 834 2093 5 834 834 5 834 834 5 834 834 5 834 834 6 834 834 6 834 834 6 834 834 6 834 872 6 834 872 6 834 872 6 834 1040 6 834 1092 6 834 1092 6 834 1241 6 834 1273 6 834 1298 6 834 1573 6 834 324 6 834 429 6 834 429 6 834 429 6 834 429 6 834 570 6 834 621 6 834 786 6 834 786 6 834 786 6 834 .I 835 .T Complementary Error Function-Large X (Algorithm 181) .B CACM June, 1963 .A Thacher Jr., H. C. .N CA630614 JB March 14, 1978 10:12 AM .X 835 5 835 835 5 835 835 5 835 .I 836 .T Error Function-Large X (Algorithm 180) .B CACM June, 1963 .A Thacher Jr., H. C. .N CA630613 JB March 14, 1978 10:13 AM .X 1157 5 836 836 5 836 836 5 836 836 5 836 836 6 836 1081 6 836 485 6 836 714 6 836 .I 837 .T Incomplete Beta Ratio (Algorithm 179) .B CACM June, 1963 .A Ludwig, O. G. .N CA630612 JB March 14, 1978 10:15 AM .X 837 5 837 837 5 837 837 5 837 .I 838 .T Direct Search (Algorithm 178) .B CACM June, 1963 .A Kaupe Jr., A. F. .N CA630611 JB March 14, 1978 10:16 AM .X 838 5 838 838 5 838 838 5 838 .I 839 .T Least Squares Solution with Constraints (Algorithm 177) .B CACM June, 1963 .A Synge, M. J. .N CA630610 JB March 14, 1978 10:17 AM .X 839 5 839 839 5 839 839 5 839 .I 840 .T Least Squares Surface Fit (Algorithm 176) .B CACM June, 1963 .A Arthurs, T. D. .N CA630609 JB March 14, 1978 10:18 AM .X 840 5 840 840 5 840 840 5 840 .I 841 .T Shuttle Sort (Algorithm 175) .B CACM June, 1963 .A Shaw, C. J. Trimble, T. N. .N CA630608 JB March 14, 1978 10:20 AM .X 841 5 841 841 5 841 841 5 841 .I 842 .T A Posteriori Bounds on a Zero of a Polynomial (Algorithm 174) .B CACM June, 1963 .A Gibb, A. .N CA630607 JB March 14, 1978 10:21 AM .X 842 5 842 842 5 842 842 5 842 .I 843 .T Assign (Algorithm 173) .B CACM June, 1963 .A Hajek, O. .N CA630606 JB March 14, 1978 10:22 AM .X 843 5 843 843 5 843 843 5 843 .I 844 .T 1410 Fortran Edit Feature .B CACM June, 1963 .A Fedako,J. E. .N CA630605 JB March 14, 1978 10:23 AM .X 844 5 844 844 5 844 844 5 844 .I 845 .T Another Test Matrix for Determinants and Inverses .B CACM June, 1963 .A Caffrey, J. .N CA630604 JB March 14, 1978 10:24 AM .X 845 5 845 845 5 845 845 5 845 .I 846 .T Self-Inverse Conversion Table .B CACM June, 1963 .A Sanborn, T. G. .N CA630603 JB March 14, 1978 10:25 AM .X 846 5 846 846 5 846 846 5 846 .I 847 .T A Penny-Matching Program .W The logic of a penny-matching program written for the CSX-1 is described. .B CACM June, 1963 .A Wall, E. Brown, R. M. .N CA630602 JB March 14, 1978 10:27 AM .X 847 5 847 847 5 847 847 5 847 .I 848 .T A Note on Range Transformations for Square Root and Logarithm .W There was the germ of an idea in two previous papers [1,2] which no one seems to have picked up in almost five years. For certain functions it seems desirable to transform the argument to a short range symmetric about 10.1 will give examples of this usage for the square root and logarithm function for both binary and decimal machines. .B CACM June, 1963 .A Bemer, R. W. .N CA630601 JB March 14, 1978 10:41 AM .X 848 4 848 848 4 848 26 5 848 35 5 848 848 5 848 848 5 848 848 5 848 .I 849 .T Use of Tree Structures for Processing Files .W In data processing problems, files are frequently used which must both be searched and altered. Binary search techniques are efficient for searching large files, but the associated file organization is not readily adapted to the file alterations. Conversely, a chained file allocation permits efficient alteration but cannot be searched efficiently. A file organized into a tree-like structure is discussed, and it is shown that such a file may both be searched and altered with times proportional to slog(s)N, where N is the number of file items and s is a parameter of the tree. It is also shown that optimizing the value of s leads to a search time which is only 25 per cent slower than the binary search. The tree organization employs two data chains and may be considered to be a compromise between the organizations for the binary search and the chained file. The relation of the tree organization to multidimensional indexing and to the trie structure is also discussed. .B CACM May, 1963 .A Sussenguth Jr., E. H. .N CA630518 JB March 14, 1978 10:49 AM .X 435 4 849 2846 4 849 849 4 849 849 4 849 944 4 849 155 5 849 1050 5 849 1935 5 849 1936 5 849 2017 5 849 2032 5 849 2257 5 849 2360 5 849 2451 5 849 2452 5 849 615 5 849 849 5 849 849 5 849 849 5 849 849 6 849 849 6 849 849 6 849 849 6 849 849 6 849 849 6 849 849 6 849 849 6 849 849 6 849 850 6 849 851 6 849 852 6 849 853 6 849 854 6 849 855 6 849 856 6 849 857 6 849 858 6 849 859 6 849 860 6 849 861 6 849 862 6 849 863 6 849 864 6 849 865 6 849 866 6 849 106 6 849 944 6 849 1115 6 849 1785 6 849 209 6 849 1831 6 849 1831 6 849 1935 6 849 1936 6 849 1936 6 849 1936 6 849 1936 6 849 1976 6 849 367 6 849 2198 6 849 2360 6 849 627 6 849 .I 850 .T Conversion, Reconversion and Comparison Techniques In Variable-Length Sorting .W The logic is described for converting highly variable input records into a format that can be easily and efficiently processed by a sorting program. The internal record formats are discussed in relation to (1) their conversion from input formats, (2) their reconversion to output formats, and (3) comparison techniques between internal formats. .B CACM May, 1963 .A Waks, D. J. .N CA630517 JB March 14, 1978 10:52 AM .X 2017 5 850 850 5 850 850 5 850 850 5 850 849 6 850 850 6 850 851 6 850 852 6 850 853 6 850 854 6 850 855 6 850 856 6 850 857 6 850 858 6 850 859 6 850 860 6 850 861 6 850 862 6 850 863 6 850 864 6 850 865 6 850 866 6 850 .I 851 .T Design and Characteristics of a Variable-Length Record Sort Using New Fixed-Length Record Sorting Techniques .W This paper describes the application of several new techniques for sorting fixed-length records to the problems of variable-length record sorting. The techniques have been implemented on a Sylvania 9400 computer system with 32,000 fixed-length words of memory. Specifically, the techniques sequence variable-length records of unrestricted size, produce long initial strings of data, merge strings of data at the power of T-1, where T is the number of work tapes in a system, and do not restrict the volume of input data. .B CACM May,1963 .A Goetz, M. A. .N CA630516 JB March 14, 1978 10:57 AM .X 2017 4 851 2017 4 851 851 4 851 851 4 851 2017 5 851 851 5 851 851 5 851 851 5 851 858 5 851 865 5 851 849 6 851 850 6 851 851 6 851 852 6 851 853 6 851 854 6 851 855 6 851 856 6 851 857 6 851 858 6 851 859 6 851 860 6 851 861 6 851 862 6 851 863 6 851 864 6 851 865 6 851 866 6 851 .I 852 .T A Method of Comparing the Time Requirements of Sorting Methods .B CACM May, 1963 .A Hall, M. H. .N CA630515 JB March 14, 1978 10:58 AM .X 1919 4 852 852 4 852 852 4 852 864 4 852 864 4 852 865 4 852 232 5 852 2017 5 852 74 5 852 852 5 852 852 5 852 852 5 852 849 6 852 850 6 852 851 6 852 852 6 852 853 6 852 854 6 852 855 6 852 856 6 852 857 6 852 858 6 852 859 6 852 860 6 852 861 6 852 862 6 852 863 6 852 864 6 852 865 6 852 866 6 852 .I 853 .T The COBOL Sort Verb .B CACM May, 1963 .A Paterson, J. B. .N CA630514 JB March 14, 1978 10:59 AM .X 2017 5 853 853 5 853 853 5 853 853 5 853 849 6 853 850 6 853 851 6 853 852 6 853 853 6 853 854 6 853 855 6 853 856 6 853 857 6 853 858 6 853 859 6 853 860 6 853 861 6 853 862 6 853 863 6 853 864 6 853 865 6 853 866 6 853 .I 854 .T Some Characteristics of Sorting in Computing Systems Using Random Access Storage Devices .W The substantial differences in characteristics of random access storage and tape devices dictate that concepts and objectives of computer program design be considered from the viewpoint of the external file medium used. This is particularly true in the case of sorting. In a tape-oriented system, the major sorting problem is that of minimizing merge time despite the limited orders of merge possible. In contrast, sorting in a random access-oriented system encourages the selection of the optimum order of merge from many possible orders. The latter problem is discussed in this paper, along with criteria developed for determining the optimum order of merge according to the various properties of random access storage devices. Attention is also given to the problem of key sorting versus record sorting and the possibly serious disadvantage of key sorting on a random access system. .B CACM May, 1963 .A Hubbard, G. U. .N CA630513 JB March 14, 1978 11:05 AM .X 1956 5 854 2017 5 854 854 5 854 854 5 854 854 5 854 849 6 854 850 6 854 851 6 854 852 6 854 853 6 854 854 6 854 854 6 854 855 6 854 856 6 854 857 6 854 858 6 854 859 6 854 860 6 854 861 6 854 862 6 854 863 6 854 864 6 854 865 6 854 866 6 854 .I 855 .T Organization and Structure of Dataon Disk File Memory Systems for Efficient Sorting and Other Data Processing Programs .W An approach to the organization and structure of data on Bryant Disc File Memory Systems for sorting and performing other data processing functions is presented. The following areas are covered: characteristics of Bryant Disc File Systems on the Bendix G-20 and RCA 301; two proposed "chaining" structures for data; and functions of a Disk File Executive Routine. The concepts for sorting and performing file maintenance processing using the proposed structure and executive routine are discussed. Additionally, it is shown that sorting can be accomplished without the use of disk storage work areas. .B CACM May, 1963 .A Goetz, M. A. .N CA630512 JB March 14, 1978 11:10 AM .X 2017 5 855 855 5 855 855 5 855 855 5 855 849 6 855 850 6 855 851 6 855 852 6 855 853 6 855 854 6 855 855 6 855 856 6 855 857 6 855 858 6 855 859 6 855 860 6 855 861 6 855 862 6 855 863 6 855 864 6 855 865 6 855 866 6 855 .I 856 .T Sorting with Large Volume, Random Access, Drum Storage .W An approach to sorting records is described using random access drum memory. The Sort program described is designed to be a generalized, self-generating sort, applicable to a variety of record statements. This description is divided into three parts. The first part presents the operating environment; the second defines the general solution; the third part describes the internal sort-merge technique. .B CACM May, 1963 .A Falkin, J. Savastano Jr., S. .N CA630511 JB March 14, 1978 11:14 AM .X 2017 5 856 856 5 856 856 5 856 856 5 856 849 6 856 850 6 856 851 6 856 852 6 856 853 6 856 854 6 856 855 6 856 856 6 856 857 6 856 858 6 856 859 6 856 860 6 856 861 6 856 862 6 856 863 6 856 864 6 856 865 6 856 866 6 856 .I 857 .T Sorting Nonredundant Files-Techniques Used in the FACT Compiler .W Some typical file structures, including some called "non-redundant," are examined,and the methods used in FACT to sort such files are discussed. .B CACM May, 1963 .A Glore, J. B. .N CA630510 JB March 14, 1978 11:16 AM .X 2017 5 857 857 5 857 857 5 857 857 5 857 849 6 857 850 6 857 851 6 857 852 6 857 853 6 857 854 6 857 855 6 857 856 6 857 857 6 857 858 6 857 859 6 857 860 6 857 861 6 857 862 6 857 863 6 857 864 6 857 865 6 857 866 6 857 .I 858 .T A Tape File Merge Pattern Generator .W A routine is presented which specifies the sequence of merge cycles to effect the merging of sorted tape files. The routine is designed to minimize elapsed computer time by varying the power of the merge cycles, so as to use all the available tape drives, with its characteristic of assigning one drive to a single-reel file and two drives to each multiple-reel file. .B CACM May, 1963 .A Cooke, W. S. .N CA630509 JB March 14, 1978 11:21 AM .X 2017 5 858 851 5 858 858 5 858 858 5 858 858 5 858 849 6 858 850 6 858 851 6 858 852 6 858 853 6 858 854 6 858 855 6 858 856 6 858 857 6 858 858 6 858 858 6 858 859 6 858 860 6 858 861 6 858 862 6 858 863 6 858 864 6 858 865 6 858 865 6 858 866 6 858 .I 859 .T Computer Planned Collates .B CACM May, 1963 .A French, N.C. .N CA630508 JB March 14, 1978 11:22 AM .X 2017 5 859 859 5 859 859 5 859 859 5 859 849 6 859 850 6 859 851 6 859 852 6 859 853 6 859 854 6 859 855 6 859 856 6 859 857 6 859 858 6 859 859 6 859 860 6 859 861 6 859 862 6 859 863 6 859 864 6 859 865 6 859 866 6 859 .I 860 .T A Comparison Between the Polyphase and Oscillating Sort Techniques .W A comparison between the Oscillating and Polyphase Sort techniques is developed for computer systems having from four to ten tape drives. The basis for the comparison is the total reading and writing required for various number of input strings and tape drives for the two techniques. .B CACM May, 1963 .A Goetz, M. A. Toth, G. S. .N CA630507 JB March 14, 1978 11:25 AM .X 1117 4 860 2017 4 860 2146 4 860 677 4 860 860 4 860 860 4 860 862 4 860 2017 5 860 479 5 860 860 5 860 860 5 860 860 5 860 861 5 860 849 6 860 850 6 860 851 6 860 852 6 860 853 6 860 854 6 860 855 6 860 856 6 860 857 6 860 858 6 860 859 6 860 860 6 860 861 6 860 862 6 860 863 6 860 864 6 860 865 6 860 866 6 860 .I 861 .T Read-Backward Polyphase Sorting .W Read-backward Polyphase sorting provides more efficient use of the tapes available to a sort than most other sorting techniques. Backward Polyphase produces a continuous merging process from n-1 tapes where n is the total number of tapes being used in the sorting process. Any of the available presorting techniques may be used in conjunction with the Polyphase merge sort provided that the presort has the capability of producing both ascending and descending strings and distributing the strings on the various tapes as required by the Polyphase Merge. .B CACM May, 1963 .A Gilstad, R. L. .N CA630506 JB March 14, 1978 11:28 AM .X 1117 4 861 2017 4 861 2146 4 861 861 4 861 1117 5 861 2017 5 861 2146 5 861 677 5 861 860 5 861 862 5 861 861 5 861 861 5 861 861 5 861 849 6 861 850 6 861 851 6 861 852 6 861 853 6 861 854 6 861 855 6 861 856 6 861 857 6 861 858 6 861 859 6 861 860 6 861 861 6 861 861 6 861 861 6 861 861 6 861 861 6 861 862 6 861 862 6 861 862 6 861 863 6 861 863 6 861 864 6 861 865 6 861 866 6 861 299 6 861 479 6 861 636 6 861 .I 862 .T String Distribution for the Polyphase Sort .B CACM May, 1963 .A Malcolm Jr., W. D. .N CA630505 JB March 14, 1978 11:29 AM .X 2146 4 862 479 4 862 860 4 862 862 4 862 862 4 862 863 4 862 1117 5 862 299 5 862 2017 5 862 2146 5 862 479 5 862 862 5 862 862 5 862 862 5 862 861 5 862 849 6 862 850 6 862 851 6 862 852 6 862 853 6 862 854 6 862 855 6 862 856 6 862 857 6 862 858 6 862 859 6 862 860 6 862 861 6 862 861 6 862 861 6 862 862 6 862 862 6 862 862 6 862 862 6 862 863 6 862 863 6 862 864 6 862 865 6 862 866 6 862 299 6 862 636 6 862 .I 863 .T Multiphase Sorting .B CACM May, 1963 .A Manker, H. H. .N CA630504 JB March 14, 1978 11:30 AM .X 2146 4 863 479 4 863 862 4 863 863 4 863 299 5 863 2017 5 863 2146 5 863 863 5 863 863 5 863 863 5 863 849 6 863 850 6 863 851 6 863 852 6 863 853 6 863 854 6 863 855 6 863 856 6 863 857 6 863 858 6 863 859 6 863 860 6 863 861 6 863 861 6 863 862 6 863 862 6 863 863 6 863 863 6 863 864 6 863 865 6 863 866 6 863 299 6 863 .I 864 .T An Empirical Study of Minimal Storage Sorting .B CACM May, 1963 .A Hibbard, T. N. .N CA630503 JB March 14, 1978 11:31 AM .X 1919 4 864 1919 4 864 2191 4 864 2388 4 864 2783 4 864 2784 4 864 3054 4 864 3121 4 864 852 4 864 852 4 864 864 4 864 864 4 864 864 4 864 865 4 864 1175 5 864 232 5 864 1919 5 864 309 5 864 2017 5 864 2041 5 864 2216 5 864 74 5 864 864 5 864 864 5 864 864 5 864 849 6 864 850 6 864 851 6 864 852 6 864 853 6 864 854 6 864 855 6 864 856 6 864 857 6 864 858 6 864 859 6 864 860 6 864 861 6 864 862 6 864 863 6 864 864 6 864 864 6 864 864 6 864 864 6 864 864 6 864 865 6 864 866 6 864 1175 6 864 1919 6 864 1969 6 864 1997 6 864 308 6 864 308 6 864 309 6 864 74 6 864 3187 6 864 .I 865 .T Internal and Tape Sorting Using the Replacement-Selection Technique .W A general technique for sequencing unsorted records is presented. The technique is shown to be applicable for the first stage of a generalized sort program (the formation of initial strings) as well as for sorting records within a memory storage (an internal sort). It is shown that given N records in memory storage, records are sequenced using 1+log2 N tests per record, that initial string lengths will average 2N for random input records, and that reading, writing and processing can be accomplished simultaneously if the computer permits such overlap. .B CACM May, 1963 .A Goetz, M. A. .N CA630502 JB March 14, 1978 11:36 AM .X 1919 4 865 852 4 865 864 4 865 865 4 865 2017 5 865 74 5 865 851 5 865 865 5 865 865 5 865 865 5 865 849 6 865 850 6 865 851 6 865 852 6 865 853 6 865 854 6 865 855 6 865 856 6 865 857 6 865 858 6 865 858 6 865 859 6 865 860 6 865 861 6 865 862 6 865 863 6 865 864 6 865 865 6 865 865 6 865 866 6 865 .I 866 .T Sorting on Computers .B CACM May, 1963 .A Gotlieb, C. C. .N CA630501 JB March 14, 1978 11:37 AM .X 2017 5 866 866 5 866 866 5 866 866 5 866 849 6 866 850 6 866 851 6 866 852 6 866 853 6 866 854 6 866 855 6 866 856 6 866 857 6 866 858 6 866 859 6 866 860 6 866 861 6 866 862 6 866 863 6 866 864 6 866 865 6 866 866 6 866 .I 867 .T Least Squares Fitting of Planes to Surfaces Using Dynamic Programming .W Dynamic programming has recently been used by Stone, by Bellman and by Gluss to determine the closet fit of broken line segments to a curve in an interval under the constraint that the number of segments is fixed. In the present paper successive models are developed to extend the method to the fitting of broken plane segments to surfaces z=g(x,y) defined over certain types of subareas of the (x,y)-space. The first model considers a rectangular area, with the constraint that the plane segments are defined over a grid in the (x,y)-space. It is then shown how this model may be incorporated into an algorithm that provides successive approximations to optimal fits for any type of closed area. Finally, applications are briefly described. .B CACM April, 1963 .A Gluss, B. .N CA630424 JB March 14, 1978 11:43 AM .X 497 4 867 867 4 867 867 4 867 317 5 867 497 5 867 867 5 867 867 5 867 867 5 867 .I 868 .T A Suggested Method of Making Fuller Use of Strings in ALGOL 60 .B CACM April, 1963 .A Shoffner, M. G. Brown, P. J. .N CA630423 JB March 14, 1978 11:45 AM .X 1084 5 868 868 5 868 868 5 868 868 5 868 868 6 868 603 6 868 644 6 868 669 6 868 791 6 868 797 6 868 .I 869 .T Term of Magic Square (Algorithm 148) .B CACM April, 1963 .A Thoro, D. .N CA630422 JB March 14, 1978 11:46 AM .X 869 5 869 869 5 869 869 5 869 .I 870 .T Term of Magic Square (Algorithm 148) .B CACM April, 1963 .A Barnecut, J. N. R. .N CA630421 JB March 14, 1978 11:47 AM .X 870 5 870 870 5 870 870 5 870 .I 871 .T PSIF (Algorithm 147) .B CACM April, 1963 .A Thacher Jr., H. C. .N CA630420 JB March 14, 1978 11:48 AM .X 1800 5 871 871 5 871 871 5 871 871 5 871 871 6 871 .I 872 .T Adaptive Numerical Integration by Simpson's Rule (Algorithm 145) .B CACM April, 1963 .A McKeeman, W. M. .N CA630419 JB March 14, 1978 11:49 AM .X 1352 5 872 2074 5 872 2093 5 872 872 5 872 872 5 872 872 5 872 834 6 872 834 6 872 834 6 872 872 6 872 872 6 872 872 6 872 1040 6 872 1092 6 872 1092 6 872 1241 6 872 1273 6 872 1298 6 872 1573 6 872 324 6 872 429 6 872 429 6 872 429 6 872 570 6 872 621 6 872 786 6 872 786 6 872 .I 873 .T Random (Algorithm 133) .B CACM April, 1963 .A Poore Jr., J. H. .N CA630418 JB March 14, 1978 11:50 AM .X 873 5 873 873 5 873 873 5 873 .I 874 .T Chebyshev Curvefit (Algorithm 91) .B CACM April, 1963 .A Hale, R. P. .N CA630417 JB March 14, 1978 11:56 AM .X 874 5 874 874 5 874 874 5 874 .I 875 .T Incomplete Elliptic Integrals (Algorithm 73) .B CACM April, 1963 .A van De Riet, R. P. .N CA630416 JB March 14, 1978 12:06 PM .X 875 5 875 875 5 875 875 5 875 .I 876 .T Complete Elliptic Integral (Algorithm 149) .B CACM April, 1963 .A Thacher, H. C. .N CA630415 JB March 14, 1978 12:14 PM .X 876 5 876 876 5 876 876 5 876 .I 877 .T Complete Elliptic Integral of the First Kind (Algorithm 55) .B CACM April, 1963 .A Thacher Jr., H. C. .N CA630414 JB March 14, 1978 12:15 PM .X 877 5 877 877 5 877 877 5 877 .I 878 .T Reduction of a Matrix Containing Polynomial Elements (Algorithm 170) .B CACM April, 1963 .A Hennion, P. E. .N CA630413 JB March 14, 1978 12:17 PM .X 1946 5 878 878 5 878 878 5 878 878 5 878 878 6 878 902 6 878 1093 6 878 1177 6 878 1387 6 878 1393 6 878 360 6 878 731 6 878 .I 879 .T Newton Interpolation with Forward Divided Differences (Algorithm 169) .B CACM April, 1963 .A Kahan, W. Farkas, I. .N CA630412 JB March 14, 1978 12:18 PM .X 1524 5 879 879 5 879 879 5 879 879 5 879 879 6 879 1197 6 879 311 6 879 .I 880 .T Newton Interpolation with Backward Divided Differences .B CACM April, 1963 .A Kahan, W. Farkas, I. .N CA630411 JB March 14, 1978 12:20 PM .X 880 5 880 880 5 880 880 5 880 .I 881 .T Calculation of Confluent Divided Differences (Algorithm 167) .B CACM April, 1963 .A Kahan, W. Farkas, I. .N CA630410 JB March 14, 1978 12:21 PM .X 881 5 881 881 5 881 881 5 881 .I 882 .T Monte Carlo (Algorithm 166) .B CACM April, 1963 .A Rodman, R. D. .N CA630409 JB March 14, 1978 12:22 PM .X 882 5 882 882 5 882 882 5 882 .I 883 .T Complete Elliptic Integrals (Algorithm 165) .B CACM April, 1963 .A Thacher Jr., H. C. .N CA630408 JB March 14, 1978 12:23 PM .X 883 5 883 883 5 883 883 5 883 .I 884 .T Orthogonal Polynomial Least Squares Surface Fit (Algorithm 164) .B CACM April, 1963 .A Clark, R. E. Kubik, R. N. Phillips, L. P. .N CA630407 JB March 14, 1978 12:25 PM .X 884 5 884 884 5 884 884 5 884 .I 885 .T Modified Hankel Function (Algorithm 163) .B CACM April, 1963 .A Fettis, H. E. .N CA630406 JB March 14, 1978 12:26 PM .X 1040 5 885 885 5 885 885 5 885 885 5 885 885 6 885 587 6 885 621 6 885 .I 886 .T XY-move Plotting (Algorithm 162) .B CACM April, 1963 .A Stockton, F. G. .N CA630405 JB March 14, 1978 12:27 PM .X 886 5 886 886 5 886 886 5 886 .I 887 .T Combinatorial of M Things Taken One at a Time, Two at a Time, Up to N at a Time (Algorithm 161) .B CACM April, 1963 .A Wright, H. V. Wolfson, M. L. .N CA630404 JB March 14, 1978 12:28 PM .X 887 5 887 887 5 887 887 5 887 .I 888 .T Algorithm 160 Combinatorial of M Things Taken N at A Time .B CACM April, 1963 .A Wolfson, M. L. Wright, H. V. .N CA630403 JB March 14, 1978 12:29 PM .X 2590 5 888 888 5 888 888 5 888 888 5 888 888 6 888 .I 889 .T Official Actions and Responses to ALGOL As a Programming Language .B CACM April, 1963 .N CA630402 JB March 14, 1978 12:30 PM .X 889 5 889 889 5 889 889 5 889 .I 890 .T Selected Definitions .W A selection of the definitions prepared by the ACM Standards Committee's Subcommittee on Programming Terminology is presented for review by the ACM membership. .B CACM April, 1963 .A Fritz, W. B. .N CA630401 JB March 14, 1978 12:32 PM .X 690 5 890 890 5 890 890 5 890 890 5 890 890 6 890 929 6 890 3195 6 890 .I 891 .T Everyman's Information Retrieval System .W The information retrieval problem whose solution is presented here was posed by a technical library with limited bubget and personnel. The solution, however, is quite general and is applicable to many different types of retrieval problems. Further,the method of solution makes it possible for many groups who have previously dismissed an information retrieval program as expensive and difficult (from a programming stand-point) to reconsider their position, for the present solution makes it possible to install an information retrieval program in less than three months, and with relatively little equipment. .B CACM March, 1963 .A Whitley, V. W. .N CA630329 JB March 14, 1978 12:37 PM .X 891 5 891 891 5 891 891 5 891 .I 892 .T RECOL-A Retrieval Command Language .W An interrogation scheme is described for the retrieval and manipulation of data file records. The language of the interrogation scheme allows for selecting file records with the are of logical condition statements, defining record classes, associating file records, editing printed output, and summarizing the results of the above operations. Some examples of a typical file application and the more significant features of a particular machine implementation are given. .B CACM March, 1963 .A Climenson, W. D. .N CA630328 JB March 14, 1978 12:42 PM .X 1309 4 892 1324 4 892 892 4 892 892 4 892 653 5 892 656 5 892 892 5 892 892 5 892 892 5 892 .I 893 .T Significance Arithmetic on a Digital Computer .W The 7090 at NYU has been modified to include a "Significance Mode" of operation which is intended to facilitate the identification of significant bits in the results of floating-point arithmetic operations. The manner in which floating-point arithmetic is handled in this mode is discussed. Several numerical experiments using this mode are described and comparisons are made with the ordinary "normalized mode." Examples include power series evaluation, linear equations solution, determinant evaluation and matrix inversion. .B CACM March, 1963 .A Goldstein, M. .N CA630327 JB March 14, 1978 12:47 PM .X 3131 5 893 893 5 893 893 5 893 893 5 893 893 6 893 1148 6 893 .I 894 .T An Iterative Factorization Technique for Polynomials .W An iterative technique is displayed whereby factors of arbitrary degree can be found for polynomials in one variable. Convergence is shown to occur always if a certain Jacobian does not vanish and if the initial approximation to a factor is near enough to an actual factor. The process is simply programmed, and preliminary results indicate it to be well adapted to use with digital computers. For factors of degree two, the technique is similar to that of Bairstow, the present method being somewhat simpler. .B CACM March, 1963 .A Luther, H. A. .N CA630326 JB March 14, 1978 12:51 PM .X 1111 5 894 894 5 894 894 5 894 894 5 894 894 6 894 .I 895 .T A Computational Extension of the Variate Difference Method .W Presented here is a computational extension of the variate difference method as developed by G. Tintner [1]. .B CACM March, 1963 .A Scheinok, P. A. .N CA630325 JB March 14, 1978 12:57 PM .X 895 5 895 895 5 895 895 5 895 .I 896 .T Characteristic Values and Vectors of Defective Matrices .B CACM March, 1963 .A Thompson, G. T. .N CA630324 JB March 14, 1978 12:58 PM .X 896 5 896 896 5 896 896 5 896 .I 897 .T Note on the Proof of the Non-existence of a Phrase Structure Grammar for ALGOL 60 .B CACM March, 1963 .A Brown, P. J. .N CA630323 JB March 14, 1978 1:00 PM .X 897 5 897 897 5 897 897 5 897 .I 898 .T Random (Algorithm 133) .B CACM March, 1963 .A Laughlin, D. L. .N CA630322 JB March 14, 1978 1:01 PM .X 898 5 898 898 5 898 898 5 898 .I 899 .T Magic Square (Algorithm 117 & 118) .B CACM March, 1963 .A Bosworth, K. M. .N CA630321 JB March 14, 1978 1:02 PM .X 899 5 899 899 5 899 899 5 899 .I 900 .T Ancestor (Algorithm 79) .B CACM March, 1963 .A Thacher Jr., H. C. .N CA630320 JB March 14, 1978 1:23 PM .X 900 5 900 900 5 900 900 5 900 .I 901 .T Difference Expression Coefficients (Algorithm 79) .B CACM March, 1963 .A Clark, E. S. .N CA630319 JB March 14, 1978 1:24 PM .X 901 5 901 901 5 901 901 5 901 .I 902 .T Determinant (Algorithm 159) .B CACM March, 1963 .A Digby, D. W. .N CA630318 JB March 14, 1978 1:28 PM .X 902 5 902 902 5 902 902 5 902 1946 5 902 878 6 902 902 6 902 1093 6 902 1177 6 902 1387 6 902 1393 6 902 360 6 902 731 6 902 .I 903 .T Exponentiation of Series (Algorithm 134 ) .B CACM March, 1963 .A Fettis, H. E. .N CA630317 JB March 14, 1978 1:29 PM .X 903 5 903 903 5 903 903 5 903 .I 904 .T Fourier Series Approximation (Algorithm 157) .B CACM March, 1963 .A Mifsud, C. J. .N CA630316 JB March 14, 1978 1:31 PM .X 904 5 904 904 5 904 904 5 904 .I 905 .T Algebra of Sets (Algorithm 156) .B CACM March, 1963 .A Mifsud, C. J. .N CA630315 JB March 14, 1978 1:32 PM .X 905 5 905 905 5 905 905 5 905 .I 906 .T Combination in any Order (Algorithm 155) .B CACM March, 1963 .A Mifsud, C. J. .N CA630314 JB March 14, 1978 1:33 PM .X 906 5 906 906 5 906 906 5 906 .I 907 .T Combination in Lexicographical Order (Algorithm 154) .B CACM March, 1963 .A Mifsud, C. J. .N CA630313 JB March 14, 1978 1:34 PM .X 907 5 907 907 5 907 907 5 907 3115 5 907 907 6 907 2045 6 907 2417 6 907 2466 6 907 2884 6 907 579 6 907 785 6 907 .I 908 .T Test Matrix for Inversion .B CACM March, 1963 .A LaSor, W. S. .N CA630312a JB March 14, 1978 1:38 PM .X 908 5 908 908 5 908 908 5 908 .I 909 .T Arithmetizing Declarations (Corrigendum) .B CACM March, 1963 .A Conway, M. E. Speroni, J. .N CA630312b JB March 14, 1978 1:40 PM .X 909 5 909 909 5 909 909 5 909 1963 5 909 909 6 909 475 6 909 750 6 909 .I 910 .T Selective Instruction Trap for the 7090 .B CACM March, 1963 .A Mayer, R. J. .N CA630311 JB March 14, 1978 1:41 PM .X 910 5 910 910 5 910 910 5 910 .I 911 .T A Variant Method of File Searching .B CACM March, 1963 .A McIlroy, M. D. .N CA630310 JB March 14, 1978 1:42 PM .X 1271 4 911 1785 4 911 1785 4 911 2203 4 911 2543 4 911 2552 4 911 2860 4 911 911 4 911 911 4 911 911 5 911 911 5 911 911 5 911 1785 5 911 332 5 911 2203 5 911 2552 5 911 492 5 911 911 6 911 911 6 911 911 6 911 1785 6 911 1785 6 911 1786 6 911 332 6 911 332 6 911 2107 6 911 2109 6 911 2203 6 911 492 6 911 492 6 911 .I 912 .T Addressing an Array Yi in k-Dimensions by Fortran for Analysis of Variance .B CACM March, 1963 .A Garber, M. J. .N CA630309 JB March 14, 1978 1:44 PM .X 912 5 912 912 5 912 912 5 912 1014 5 912 912 6 912 .I 913 .T Neliac .B CACM March, 1963 .A Halstead, M. H. .N CA630308 JB March 14, 1978 1:45 PM .X 913 5 913 913 5 913 913 5 913 .I 914 .T Jovial and Its Documentation .B CACM March, 1963 .A Shaw, C. J. .N CA630307 JB March 14, 1978 1:46 PM .X 914 5 914 914 5 914 914 5 914 1945 5 914 823 6 914 914 6 914 915 6 914 917 6 914 984 6 914 989 6 914 990 6 914 1012 6 914 1084 6 914 1098 6 914 1122 6 914 1138 6 914 1139 6 914 1141 6 914 1200 6 914 1223 6 914 1265 6 914 1336 6 914 1396 6 914 1455 6 914 1477 6 914 1487 6 914 1491 6 914 1496 6 914 483 6 914 584 6 914 669 6 914 680 6 914 763 6 914 .I 915 .T Documentation of IPL-V .B CACM March, 1963 .A Newell, A. .N CA630306 JB March 14, 1978 1:46 PM .X 915 5 915 915 5 915 915 5 915 1945 5 915 823 6 915 914 6 915 915 6 915 917 6 915 984 6 915 989 6 915 990 6 915 1012 6 915 1084 6 915 1098 6 915 1122 6 915 1138 6 915 1139 6 915 1141 6 915 1200 6 915 1223 6 915 1265 6 915 1336 6 915 1396 6 915 1455 6 915 1477 6 915 1487 6 915 1491 6 915 1496 6 915 483 6 915 584 6 915 669 6 915 680 6 915 763 6 915 .I 916 .T FORTRAN .B CACM March, 1963 .A Heising, W. P. .N CA630305 JB March 14, 1978 1:47 PM .X 916 5 916 916 5 916 916 5 916 .I 917 .T COMIT .B CACM March, 1963 .A Yngve, V. H. .N CA630304 JB March 14, 1978 1:48 PM .X 917 5 917 917 5 917 917 5 917 1068 5 917 1945 5 917 823 6 917 914 6 917 915 6 917 917 6 917 917 6 917 984 6 917 989 6 917 990 6 917 1012 6 917 1084 6 917 1098 6 917 1122 6 917 1138 6 917 1139 6 917 1141 6 917 1200 6 917 1223 6 917 1265 6 917 1336 6 917 1396 6 917 1455 6 917 1477 6 917 1487 6 917 1491 6 917 1496 6 917 483 6 917 584 6 917 669 6 917 680 6 917 763 6 917 .I 918 .T COBOL .B CACM March, 1963 .A Cunningham, J. F. .N CA630303 JB March 27, 1978 9:22 PM .X 918 5 918 918 5 918 918 5 918 .I 919 .T Documentation Problems: ALGOL 60 .B CACM March, 1963 .A Naur, P. .N CA630302 JB March 14, 1978 1:50 PM .X 249 4 919 254 4 919 272 4 919 1102 4 919 1109 4 919 1140 4 919 1188 4 919 1306 4 919 1464 4 919 1491 4 919 1767 4 919 1781 4 919 1787 4 919 1949 4 919 321 4 919 2059 4 919 2126 4 919 435 4 919 437 4 919 463 4 919 483 4 919 491 4 919 2732 4 919 560 4 919 583 4 919 3073 4 919 627 4 919 631 4 919 632 4 919 642 4 919 644 4 919 653 4 919 680 4 919 761 4 919 762 4 919 763 4 919 123 4 919 140 4 919 919 4 919 989 4 919 196 5 919 919 5 919 919 5 919 919 5 919 1781 5 919 123 6 919 196 6 919 919 6 919 990 6 919 1007 6 919 1046 6 919 1131 6 919 1139 6 919 1140 6 919 1149 6 919 1198 6 919 1215 6 919 1223 6 919 1265 6 919 1303 6 919 1323 6 919 1358 6 919 1366 6 919 1421 6 919 1460 6 919 1462 6 919 1463 6 919 1467 6 919 1468 6 919 1477 6 919 1491 6 919 1496 6 919 1531 6 919 1535 6 919 1565 6 919 1601 6 919 1602 6 919 1613 6 919 1614 6 919 1626 6 919 1641 6 919 1787 6 919 1788 6 919 205 6 919 224 6 919 249 6 919 288 6 919 316 6 919 381 6 919 398 6 919 11 6 919 404 6 919 410 6 919 463 6 919 464 6 919 483 6 919 3184 6 919 3188 6 919 584 6 919 600 6 919 680 6 919 691 6 919 763 6 919 799 6 919 .I 920 .T Toward Better Documentation of Programming Languages .B CACM March, 1963 .A Yngve, V. H. Sammet, J. E. .N CA630301 JB March 14, 1978 1:51 PM .X 920 5 920 920 5 920 920 5 920 728 5 920 920 6 920 45 6 920 .I 921 .T Incomplete Elliptic Integrals (Algorithm 73) .B CACM February, 1963 .A Meyer, N. A. .N CA630212 JB March 14, 1978 2:03 PM .X 921 5 921 921 5 921 921 5 921 .I 922 .T Multint (Algorithm 32) .B CACM February, 1963 .A Thacher Jr., H. C. .N CA630211JB March 14, 1978 2:10 PM .X 922 5 922 922 5 922 922 5 922 .I 923 .T Gomory (Algorithm 153) .B CACM February, 1963 .A Bauer, F. L. .N CA630210 JB March 14, 1978 2:12 PM .X 923 5 923 923 5 923 923 5 923 .I 924 .T Nexcom (Algorithm 152) .B CACM February, 1963 .A Hopley, J. .N CA630209 JB March 14, 1978 2:12 PM .X 924 5 924 924 5 924 924 5 924 .I 925 .T Location of a Vector in a Lexicographically Ordered ListAlgorithm 151) .B CACM February, 1963 .A Walter, H. F. .N CA630208 JB March 14, 1978 2:17 PM .X 925 5 925 925 5 925 925 5 925 .I 926 .T Syminv2 (Algorithm 150) .B CACM February, 1963 .A Rutishauser, H. .N CA630207 JB March 14, 1978 2:18 PM .X 926 5 926 926 5 926 926 5 926 .I 927 .T Linear Programming Applied to Ultraviolet Absorption Spectroscopy .B CACM February, 1963 .A White, W. C. Shapiro, B. Pratt, A. W. .N CA630206 JB March 14, 1978 2:19 PM .X 927 5 927 927 5 927 927 5 927 .I 928 .T Character Manipulation in FORTRAN .B CACM February, 1963 .A Lewis, T. S. .N CA630205 JB March 14, 1978 2:20 PM .X 928 5 928 928 5 928 928 5 928 .I 929 .T Glossary Construction .B CACM February, 1963 .A Grems, M. .N CA630204 JB March 14, 1978 2:21 PM .X 929 4 929 929 5 929 929 5 929 929 5 929 397 5 929 690 5 929 890 6 929 929 6 929 3195 6 929 .I 930 .T Decimal-to-Binary Conversion of Short Fields .B CACM February, 1963 .A Yarbrough, L. D. .N CA630203 JB March 14, 1978 2:22 PM .X 930 5 930 930 5 930 930 5 930 .I 931 .T Systematic Mistake Analysis of Digital Computer Programs .B CACM February, 1963 .A Miller, J. C. Maloney, C. J. .N CA630202 JB March 14, 1978 2:23 PM .X 1324 4 931 931 4 931 931 4 931 931 4 931 931 5 931 931 5 931 931 5 931 202 5 931 396 5 931 2616 5 931 634 5 931 795 5 931 931 6 931 931 6 931 1548 6 931 1684 6 931 2517 6 931 404 6 931 .I 932 .T Matrix Inversion by Gauss-Jordan Inversion II (Algorithm 120) .B CACM January, 1963 .A Naur, P. .N CA630116 JB March 14, 1978 2:27 PM .X 932 5 932 932 5 932 932 5 932 806 5 932 932 6 932 454 6 932 .I 933 .T Magic Squares (Algorithm 117 & 118) .B CACM January, 1963 .A Naur, P. .N CA630115 JB March 14, 1978 2:31 PM .X 933 5 933 933 5 933 933 5 933 .I 934 .T Gauss's Method (Algorithm 107) .B CACM January, 1963 .A Naur, P. .N CA630114 JB March 14, 1978 2:32 PM .X 934 5 934 934 5 934 934 5 934 .I 935 .T Calculating Primes by Means of GPS (Algorithm) .B CACM January, 1963 .A Naur, P. .N CA630113 JB March 14, 1978 2:33 PM .X 935 5 935 935 5 935 935 5 935 .I 936 .T A Set of Test Matrices (Algorithm 52) .B CACM January, 1963 .A Naur, P. .N CA630112 JB March 14, 1978 2:35 PM .X 936 5 936 936 5 936 936 5 936 .I 937 .T Inverse of a Finite Segment of the Hilbert Matrix (Algorithm 50) .B CACM January, 1963 .A Naur, P. .N CA630111 JB March 14, 1978 2:36 PM .X 937 5 937 937 5 937 937 5 937 .I 938 .T Invert (Algorithm 42) .B CACM January, 1963 .A Naur, P. .N CA630110 JB March 14,1978 2:36 PM .X 938 5 938 938 5 938 938 5 938 .I 939 .T Gamma Function (Algorithm 31) .B CACM January, 1963 .A Behrenz, P. G. .N CA630109 JB March 14, 1978 2:37 PM .X 939 5 939 939 5 939 939 5 939 .I 940 .T Generating Discrete Random Variables in a Computer .W This note is concerned with details of how to instruct a computer to choose one from many things with assigned probabilities. The method uses a uniform variable to direct the computer to a memory location; if this is done by a sequence of appropriately chosen conditional probabilities, efficient use of memory space and quite fast programs will result. .B CACM January, 1963 .A Marsaglia, G. .N CA630108 JB March 14, 1978 2:40 PM .X 940 5 940 940 5 940 940 5 940 1073 5 940 1153 5 940 940 6 940 940 6 940 1153 6 940 .I 941 .T A Recursive Program for the General n-Dimensional Integral .W A general program is outlined for n-dimensional integration with variable limits. The program is of a recursive nature and uses Simpson's rule combined with repeated bisection to attain the required accuracy. It was developed in the Ferranti Mercury Autocode Scheme. .B CACM January, 1963 .A Cadwell, J. H. .N CA630107 JB March 14, 1978 2:43 PM .X 941 5 941 941 5 941 941 5 941 .I 942 .T FORTRAN Subroutines for Time Series Analysis .W The authors have recently been concerned in a time-series study that constituted a fairly typical piece of applied statistical research, involving extensive computations on a moderately large quantity of data. Wehave found that the many different numerical processes that were required could be built up almost completely from a small number of basic operations, and a set of FORTRAN subroutines has been written to perform these. The main purpose of this note is to describe these subroutines, but since the question of general statistical programs is topical [1], we include some general remarks. .B CACM January, 1963 .A Healy, M. J. R. Bogert, B. P. .N CA630106 JB March 14, 1978 2:55 PM .X 942 5 942 942 5 942 942 5 942 948 5 942 1118 5 942 826 5 942 826 6 942 942 6 942 942 6 942 942 6 942 .I 943 .T Terms Frequently Combined in Problem Description .B CACM January, 1963 .A Grems, M. .N CA630105 JB March 14, 1978 2:56 PM .X 943 5 943 943 5 943 943 5 943 .I 944 .T Storage and Search Properties of a Tree-Organized Memory System .W A memory with list properties [1] may be used to construct numeric, alphabetic or alphanumeric trees. Such trees have information storage and retrieval properties applicable to problems involving large quantities of data or to problems where the quantity, word length and distribution of stored information is not known a priori, or changes rapidly during the processing. The purpose of this paper is to examine the storage and search properties of a tree-organized storage system assuming that a memory possessing certain list properties is available. Of prime interest is the application where a symbol table, dictionary or similar file is to be stored and searched. .B CACM January, 1963 .A Scidmore, A. K. Weinberg, B. L. .N CA630104 JB March 14, 1978 3:02 PM .X 2846 4 944 849 4 944 944 4 944 155 5 944 944 5 944 944 5 944 944 5 944 1234 5 944 2451 5 944 849 6 944 944 6 944 944 6 944 1935 6 944 1936 6 944 321 6 944 385 6 944 400 6 944 402 6 944 404 6 944 3184 6 944 729 6 944 .I 945 .T Arithmetizing Declarations: An Application to COBOL .B CACM January, 1963 .A Conway, M. E. Speroni, J. .N CA630103 JB March 14, 1978 3:03 PM .X 1046 4 945 1105 4 945 1139 4 945 1140 4 945 1234 4 945 1263 4 945 1265 4 945 1496 4 945 1781 4 945 1824 4 945 2126 4 945 2546 4 945 464 4 945 584 4 945 631 4 945 653 4 945 680 4 945 763 4 945 795 4 945 799 4 945 945 4 945 945 5 945 945 5 945 945 5 945 404 5 945 799 5 945 945 6 945 399 6 945 82 6 945 404 6 945 .I 946 .T Suggestions on ALGOL 60 (ROME) Issues - A Report by the American Standards Association Subcommittee X3.4.2 .B CACM January, 1963 .A Utman, R. E. .N CA630102 JB March 14, 1978 3:05 PM .X 946 5 946 946 5 946 946 5 946 1949 5 946 196 6 946 946 6 946 .I 947 .T Supplement to the ALGOL 60 Report .B CACM January, 1963 .A Woodger, M. .N CA630101 JB March 14, 1978 3:05 PM .X 947 5 947 947 5 947 947 5 947 761 5 947 196 6 947 947 6 947 3184 6 947 .I 948 .T Note on the Use of Procedures .B CACM December, 1964 .A Healy, M. J. R. .N CA641223 JB March 9, 1978 2:32 PM .X 1118 4 948 826 4 948 948 4 948 942 5 948 948 5 948 948 5 948 948 5 948 .I 949 .T Integer and Signed Constants in ALGOL .W A few remarks are given on the relations between syntax and semantics in the programming languages. The aim is to point out that, if it is true that the grammar of a context-free language should be conceived not only as a strings-generating device but also as a method for expressing a meaning, then the grammar of ALGOL is open to some criticism. .B CACM December, 1964 .A Petrone, L. Vandoni, C. E. .N CA641222 JB March 9, 1978 2:35 PM .X 1086 4 949 1102 4 949 1132 4 949 1142 4 949 1234 4 949 1263 4 949 1265 4 949 1270 4 949 1323 4 949 1358 4 949 1379 4 949 1380 4 949 1453 4 949 1464 4 949 1484 4 949 1491 4 949 1498 4 949 1613 4 949 1614 4 949 1781 4 949 1781 4 949 1781 4 949 1825 4 949 1860 4 949 1945 4 949 1945 4 949 2083 4 949 2178 4 949 2179 4 949 2252 4 949 2325 4 949 2341 4 949 2546 4 949 2645 4 949 2652 4 949 2684 4 949 2842 4 949 2929 4 949 2934 4 949 3069 4 949 669 4 949 679 4 949 691 4 949 761 4 949 762 4 949 949 4 949 949 4 949 949 4 949 989 4 949 949 5 949 949 5 949 949 5 949 483 5 949 584 5 949 3184 5 949 .I 950 .T Parallel Methods for Integrating Ordinary Differential Equations .W This paper is dedicated to the proposition that, in order to take full advantage for real-time computations of highly parallel computers as can be expected to be available in the near future, much of numerical analysis will have to be recast in a more "parallel" form. By this is meant that serial algorithms ought to be replaced by algorithm which consist of several subtasks which can be computed without knowledge of the results of the other subtasks. As an example, a method is proposed for "parallelizing" the numerical integration of an ordinary differential equation, which process, by all standard methods, is entirely serial. .B CACM December, 1964 .A Nievergelt, J. .N CA641221 JB March 9, 1978 3:09 PM .X 950 5 950 950 5 950 950 5 950 .I 951 .T Rational Chebyshev Approximations to the Bessel Function Integrals Kis(x) .W The second Remes algorithm is used to approximate the integrals Kis by rational functions. The related coefficients for the approximations of Ki1, Ki2, Ki3 are given for different precisions. .B CACM December, 1964 .A Gargantini, I. Pomentale, T. .N CA641220 JB March 9, 1978 3:12 PM .X 1015 4 951 1346 4 951 1440 4 951 1645 4 951 951 4 951 951 5 951 951 5 951 951 5 951 1346 5 951 532 5 951 951 6 951 532 6 951 .I 952 .T Another use of FORTRAN II Chaining .B CACM December, 1964 .A Drath, D. G. .N CA641219 JB March 9, 1978 3:13 PM .X 952 5 952 952 5 952 952 5 952 .I 953 .T Scanning Text with a 1401 .B CACM December, 1964 .A Baker, J. J. .N CA641218 JB March 9, 1978 3:13 PM .X 953 5 953 953 5 953 953 5 953 2870 5 953 953 6 953 2377 6 953 2632 6 953 .I 954 .T A Note on the Calculation of Probabilities in an F-Distribution .B CACM December, 1964 .A Smillie, K. W. Anstey, T. H. .N CA641217 JB March 9, 1978 3:14 PM .X 954 5 954 954 5 954 954 5 954 .I 955 .T A Class of Matrices to Test Inversion Procedures .B CACM December, 1964 .A Cline, R. E. .N CA641216 JB March 9, 1978 3:16 PM .X 955 5 955 955 5 955 955 5 955 .I 956 .T A Family of Test Matrices .B CACM December, 1964 .A Newbery, A. C. R. .N CA641215 JB March 9, 1978 3:17 PM .X 956 5 956 956 5 956 956 5 956 .I 957 .T Method for Partial Rewriting of Magnetic Tape .B CACM December, 1964 .A Miller, J. A. .N CA641214 JB March 9, 1978 3:18 PM .X 957 5 957 957 5 957 957 5 957 .I 958 .T A Case of too Much Precision .B CACM December, 1964 .A Synge, M. J. .N CA641213 JB March 9, 1978 3:23 PM .X 958 5 958 958 5 958 958 5 958 .I 959 .T Mark Sense and Port-A-Punch Programming Inputs .B CACM December, 1964 .A Lubbert, W. F. .N CA641212 JB March 9, 1978 3:24 PM .X 959 5 959 959 5 959 959 5 959 .I 960 .T Curve Fitting with Format Fortran .B CACM December, 1964 .A Garber, M. J. .N CA641211 JB March 9, 1978 3:25 PM .X 960 5 960 960 5 960 960 5 960 .I 961 .T Limited Bit Manipulation Using FORTRAN II .W Techniques are developed for manipulating bits using only FORTRAN II. These techniques allow individual bits to be tested, certain fields to be shifted, and numbers coded in BCD to be converted to Binary. .B CACM December, 1964 .A Oster, C. A. .N CA641210 JB March 9, 1978 3:27 PM .X 961 5 961 961 5 961 961 5 961 .I 962 .T Double-Precision Squares Root for The CDC-3600 .W In January of 1960, the late Hans J. Maehly completed a summary of approximations to the elementary functions for the CDC-1604 computer. The approximations and techniques suggested by Maehly are equally applicable to the second large computer in the CDC line, the 3600. Unlike the 1604, however, the 3600 has built-in double-precision floating-point arithmetic. The present work, largely inspired by the successes of Maehly and his associates, concerns the extension of one of Maehly's ideas to a double-precision subroutine for the 3600. .B CACM December, 1964 .A Cody, W. J. .N CA641209 JB March 9, 1978 3:31 PM .X 962 5 962 962 5 962 962 5 962 1440 5 962 1932 5 962 2159 5 962 962 6 962 962 6 962 962 6 962 1566 6 962 1932 6 962 532 6 962 .I 963 .T Relative Effects of Central Processor and Input-Output Speeds Upon Throughput on the Large Computer .W Presented in this paper is a technique for determining the relative effects of the internal speed of the computer and the speed of the input-output units upon the overall speed of the system. Equations are derived which permit the determination of these effects from hardware usage measurements. .B CACM December, 1964 .A White, P. .N CA641208 JB March 9, 1978 3:34 PM .X 963 5 963 963 5 963 963 5 963 1653 5 963 963 6 963 1069 6 963 1417 6 963 .I 964 .T Mechanization of Tedious Algebra-the e Coefficients of Theoretical Chemistry .W A table of formulas for certain integrals involving Legendre functions has been constructed mechanically by a program which performed algebraic operations. The formulas are all rational algebraic expressions in a single variable and were constructed by a recurrence procedure. They are of interest in molecular quantum chemistry. Trivial coding techniques were used to write the relevant programs in FORTRAN. The results were photo composed on a Photon S-560 system, that was controlled by tapes which were punched directly from the computer output, so avoiding manual keyboarding, transcription errors and keyboarded correction. .B CACM December, 1964 .A Wactlar, H. D. Barnett, M. P. .N CA641207 JB March 9, 1978 3:38 PM .X 1028 4 964 1121 4 964 1216 4 964 1392 4 964 1396 4 964 1396 4 964 659 4 964 964 4 964 964 4 964 964 4 964 964 5 964 964 5 964 964 5 964 1334 5 964 1396 5 964 284 5 964 1444 5 964 561 5 964 759 5 964 964 6 964 964 6 964 964 6 964 1028 6 964 1029 6 964 1083 6 964 1132 6 964 1214 6 964 1278 6 964 1334 6 964 1365 6 964 1386 6 964 1387 6 964 1388 6 964 1392 6 964 1393 6 964 1394 6 964 1395 6 964 1396 6 964 1397 6 964 1496 6 964 284 6 964 407 6 964 3199 6 964 3200 6 964 3201 6 964 3202 6 964 3203 6 964 3204 6 964 561 6 964 730 6 964 .I 965 .T Greatest Common Divisor (Algorithm 237 [A1]) .B CACM December, 1964 .A Bray, T. A. .N CA641206 JB March 9, 1978 3:40 PM .X 965 5 965 965 5 965 965 5 965 .I 966 .T Evaluation of Determinant (Algorithm 224 [F3]) .B CACM December, 1964 .A Hasselblad, V. Rulifson, J. .N CA641205 JB March 9, 1978 3:41 PM .X 966 5 966 966 5 966 966 5 966 .I 967 .T Complementary Error Function (Algorithm 181 [S15]) .B CACM December, 1964 .A Clausen, I. Hansson,L. .N CA641204 JB March 9, 1978 3:42 PM .X 967 5 967 967 5 967 967 5 967 1583 5 967 831 6 967 967 6 967 1126 6 967 707 6 967 .I 968 .T Radical-Inverse Quasi-Random Point Sequence (Algorithm 247 [G5]) .B CACM December, 1964 .A Halton, J. H. Smith, G. B. .N CA641203 JB March 9, 19783:43 PM .X 968 5 968 968 5 968 968 5 968 .I 969 .T Graycode (Algorithm 246 [Z]) .B CACM December, 1964 .A Boothroyd, J. .N CA641202 JB March 9, 1978 3:44 PM .X 969 5 969 969 5 969 969 5 969 2834 5 969 969 6 969 2045 6 969 2417 6 969 2466 6 969 .I 970 .T Treesort 3 (Algorithm [M1]) .B CACM December, 1964 .A Floyd, R. W. .N CA641201 JB March 9, 1978 3:45 PM .X 970 5 970 970 5 970 970 5 970 2042 5 970 2222 5 970 2356 5 970 2679 5 970 2844 5 970 2972 5 970 970 6 970 970 6 970 970 6 970 970 6 970 970 6 970 970 6 970 1059 6 970 1175 6 970 1190 6 970 1228 6 970 1228 6 970 1491 6 970 1800 6 970 1818 6 970 1834 6 970 1969 6 970 1997 6 970 308 6 970 2042 6 970 2042 6 970 2204 6 970 2227 6 970 2597 6 970 2732 6 970 2738 6 970 2742 6 970 2767 6 970 3187 6 970 507 6 970 716 6 970 783 6 970 .I 971 .T Time Sharing in a Traffic Control Program .W The Toronto traffic signal control system consists of a variety of logically distinct computer programs, all competing for machine time. To satisfy these demands, a time-sharing program has been written whose purpose is to execute, in the order of a predefined priority, the various subprograms within the real-time system. In this paper the more interesting aspects of the time-sharing program are outlined. .B CACM November, 1964 .A Green, L. E. S. .N CA641112 JB March 9, 1978 3:49 PM .X 971 5 971 971 5 971 971 5 971 .I 972 .T An Executive System Implemented as a Finite-State Automaton .W The 473L command and control system used by the Air Force permits many operators to access large data files through the use of a computer. The man-machine interface is satisfied by several communication consoles from which operators may enter queries and view replies. A data link permits remote stations to send messages, status reports and inventories directly to the computer. The information received over the on-line data link is used to update the data files which are stored on disk. The 473L programming system is divided into an Executive Control Program and five components with different processing priorities. These priorities permit the system to be most sensitive to the console inputs and permit the operators at all the consoles to time share the central processor. The Executive Control Program provides for the orderly transitions of control among the programming system components. The major emphasis of the paper is on the technique of using the definition of a finite-state automaton for organizing the Executive Control Program. .B CACM November, 1964 .A Heistand, R. E. .N CA641111 JB March 9, 1978 3:56 PM .X 1471 4 972 1774 4 972 2911 4 972 560 4 972 972 4 972 972 4 972 972 4 972 972 5 972 972 5 972 972 5 972 271 5 972 273 5 972 276 5 972 .I 973 .T Estimation of Heart Parameters Using Skin Potential Measurements .W A fundamental problem of vector cardiography is the estimation of the state of the heart on the basis of skin potential measurements. A mathematical model relating ventricular dipoles to surface potentials is sketched. Then it is shown that the inverse problem-that of determining electrical heart parameters on the basis of skin potential measurements-may be viewed as a nonlinear multipoint boundary value problem. A feasible solution, employing quasilinearization and high-speed digital computers, is given. .B CACM November, 1964 .A Bellman, R. Collier, C. Kagiwada, H. Kalaba, R. Selvester, R. .N CA641110 JB March 9, 1978 4:00 PM .X 973 5 973 973 5 973 973 5 973 1278 5 973 973 6 973 1028 6 973 1029 6 973 .I 974 .T A Technique for Reading Gapless Tapes Makes Electrocardiograph Analysis Feasible on the IBM 7090 .W To study arrhythmias and higher frequency components of the electrocardiogram, long series of patient heart cycles must be examined before valid comparison of different heart beats can be made. A technique is presented for the automatic analysis of long series heart cycles via a digital computer. .B CACM November, 1964 .A Maher, A. S. .N CA641109 JB March 9, 1978 4:03 PM .X 974 5 974 974 5 974 974 5 974 .I 975 .T The New Program of Work for the International Standard Vocabulary in Computers and Information Processing .B CACM November, 1964 .A Traub, J. F. .N CA641108 JB March 9, 1978 4:05 PM .X 975 5 975 975 5 975 975 5 975 1251 5 975 975 6 975 .I 976 .T Fresnel Integrals (Algorithm 213 [S20]) .B CACM November, 1964 .A Gray, M. .N CA641107 JB March 9, 1978 4:06 PM .X 976 5 976 976 5 976 976 5 976 .I 977 .T Conversions Between Calendar Date and Julian Day Number (Algorithm 199 [Z]) .B CACM November, 1964 .A Oppenheim, D. K. .N CA641106 JB March 9, 1978 4:08 PM .X 977 5 977 977 5 977 977 5 977 .I 978 .T Fresnel Integrals (Algorithm 244 [S20]) .B CACM November, 1964 .A Lotsch, H. .N CA641105 JB March 9,1978 4:09 PM .X 978 5 978 978 5 978 978 5 978 .I 979 .T Logarithm of a Complex Number (Algorithm 243 [B3]) .B CACM November, 1964 .A Collens, D. S. .N CA641104 JB March 9, 1978 4:10 PM .X 979 5 979 979 5 979 979 5 979 .I 980 .T Multiple-Precision Arithmetic and the Exact Calculation of the 3-j, 6-j and 9-j Symbols .W Described in this paper is a system of general-purpose multiple-precision fixed-point routines and their use in subroutines which calculate exactly the quantum-mechanical 3-j, 6-j and 9-j symbols of large arguments. .B CACM November, 1964 .A Maer, R. M. Redlich, M. G. .N CA641103 JB March 9, 1978 4:13 PM .X 980 5 980 980 5 980 980 5 980 .I 981 .T Rounding Problems in Commercial Data Processing .W A common requirement in commercial data processing is that the sum of a set of numbers, rounded in a generally understood manner, be equal to the sum of the numbers rounded individually. Four rounding procedures are described to accomplish this. The particular procedure that is appropriate depends upon whether the numbers being accumulated can vary in sign, whether their sum can vary in sign, and whether the last number being summed can be recognized as such prior to its rounding. .B CACM November, 1964 .A Kelley, T. B. .N CA641102 JB March 9, 1978 4:25 PM .X 981 5 981 981 5 981 981 5 981 .I 982 .T An Inductive Approach to Language Translation .W The possibility of natural language translation by means of fixed operations on example translations is considered. The conception of sentence translation which motivates the work is informally presented, and the measurement of physical similarity in pairs of strings is discussed, a notion which plays a central role in the proposed type of translator. Experimental evidence is presented in support of the premise upon which this conception is based. .B CACM November, 1964 .A Faulk, R. D. .N CA641101 JB March 9, 1978 4:28 PM .X 982 5 982 982 5 982 982 5 982 1592 5 982 982 6 982 1112 6 982 619 6 982 .I 983 .T Take-up reels for One-Inch Perforated Tape for Information Interchange (Proposed American Standard) .B CACM October, 1964 .N CA641019 JB March 9, 1978 4:30 PM .X 983 5 983 983 5 983 983 5 983 .I 984 .T Report on Input-Output Procedures for ALGOL 60 (IFIP) .B CACM October, 1964 .N CA641018 JB March 9, 1978 4:32 PM .X 984 5 984 984 5 984 984 5 984 1705 5 984 1945 5 984 2034 5 984 823 6 984 914 6 984 915 6 984 917 6 984 984 6 984 984 6 984 984 6 984 986 6 984 989 6 984 990 6 984 1012 6 984 1020 6 984 1084 6 984 1098 6 984 1122 6 984 1138 6 984 1139 6 984 1141 6 984 1200 6 984 1223 6 984 1231 6 984 1265 6 984 1321 6 984 1336 6 984 1396 6 984 1455 6 984 1477 6 984 1487 6 984 1491 6 984 1496 6 984 1565 6 984 1852 6 984 1926 6 984 1947 6 984 483 6 984 584 6 984 669 6 984 680 6 984 763 6 984 .I 985 .T Report on SUBSET ALGOL 60 (IFIP) .B CACM October, 1964 .N CA641017 JB March 9, 1978 4:33 PM .X 985 5 985 985 5 985 985 5 985 .I 986 .T Proposed Amendment to Proposed American Standard on Specification for General-Purpose Paper Cards for Information Processing .B CACM October, 1964 .N CA641016 JB March 9, 1978 4:35 PM .X 986 5 986 986 5 986 986 5 986 1705 5 986 984 6 986 986 6 986 1020 6 986 1321 6 986 .I 987 .T FORTRAN vs. Basic FORTRAN (A Programming Language for Information Processing on Automatic Data Processing Systems) .B CACM October, 1964 .N CA641015 JB March 9, 1978 4:36 PM .X 987 5 987 987 5 987 987 5 987 1613 5 987 1646 5 987 1900 5 987 1955 5 987 2025 5 987 2154 5 987 2365 5 987 2506 5 987 3060 5 987 830 6 987 987 6 987 987 6 987 987 6 987 987 6 987 987 6 987 987 6 987 987 6 987 987 6 987 987 6 987 988 6 987 988 6 987 1072 6 987 1086 6 987 1134 6 987 1179 6 987 1453 6 987 1647 6 987 1754 6 987 1900 6 987 1900 6 987 1924 6 987 2154 6 987 2362 6 987 3184 6 987 680 6 987 .I 988 .T History and Summary of FORTRAN Standardization Development for the ASA .B CACM October, 1964 .A Heising, W. P. .N CA641014 JB March 9, 1978 4:37 PM .X 988 5 988 988 5 988 988 5 988 1845 5 988 1900 5 988 2083 5 988 2154 5 988 2270 5 988 2693 5 988 987 6 988 987 6 988 988 6 988 988 6 988 988 6 988 988 6 988 988 6 988 988 6 988 1900 6 988 2270 6 988 2696 6 988 3184 6 988 .I 989 .T A Method of Syntax Specification .B CACM October, 1964 .A Iverson, K. E. .N CA641013 JB March 9, 1978 4:39 PM .X 249 4 989 254 4 989 272 4 989 1086 4 989 1102 4 989 1109 4 989 1132 4 989 1140 4 989 1188 4 989 1234 4 989 1263 4 989 1265 4 989 1270 4 989 1306 4 989 1323 4 989 1358 4 989 1379 4 989 1380 4 989 1453 4 989 1464 4 989 1464 4 989 1484 4 989 1491 4 989 1491 4 989 1498 4 989 1613 4 989 1614 4 989 1767 4 989 1781 4 989 1781 4 989 1781 4 989 1787 4 989 1825 4 989 1860 4 989 1949 4 989 321 4 989 2059 4 989 2083 4 989 2126 4 989 2178 4 989 2179 4 989 2252 4 989 2325 4 989 2341 4 989 2546 4 989 435 4 989 437 4 989 463 4 989 483 4 989 491 4 989 2645 4 989 2652 4 989 2684 4 989 2732 4 989 2842 4 989 2929 4 989 2934 4 989 560 4 989 583 4 989 3069 4 989 3073 4 989 627 4 989 631 4 989 632 4 989 642 4 989 644 4 989 653 4 989 669 4 989 679 4 989 680 4 989 691 4 989 729 4 989 761 4 989 761 4 989 762 4 989 763 4 989 123 4 989 140 4 989 919 4 989 949 4 989 989 4 989 989 4 989 989 4 989 196 5 989 989 5 989 989 5 989 989 5 989 1263 5 989 288 5 989 1453 5 989 1945 5 989 3184 5 989 823 6 989 914 6 989 915 6 989 917 6 989 984 6 989 989 6 989 989 6 989 989 6 989 990 6 989 1012 6 989 1084 6 989 1098 6 989 1122 6 989 1138 6 989 1139 6 989 1141 6 989 1200 6 989 1223 6 989 1265 6 989 1336 6 989 1396 6 989 1455 6 989 1477 6 989 1487 6 989 1491 6 989 1496 6 989 404 6 989 483 6 989 3184 6 989 3184 6 989 584 6 989 669 6 989 680 6 989 763 6 989 .I 990 .T Constraint-Type Statements in Programming Languages .W A proposal is made for including in a programming language statements which imply relations between variables but which are not explicit assignment statements. The compiler sets up a Newtonian iteration making use for the purpose of a routine for formal differentiation. .B CACM October, 1964 .A Wilkes, M. V. .N CA641012 JB March 9, 1978 4:42 PM .X 990 5 990 990 5 990 990 5 990 1781 5 990 1945 5 990 2341 5 990 823 6 990 123 6 990 196 6 990 914 6 990 915 6 990 917 6 990 919 6 990 984 6 990 989 6 990 990 6 990 990 6 990 990 6 990 1007 6 990 1012 6 990 1046 6 990 1084 6 990 1098 6 990 1122 6 990 1131 6 990 1138 6 990 1139 6 990 1139 6 990 1140 6 990 1141 6 990 1149 6 990 1198 6 990 1200 6 990 1215 6 990 1223 6 990 1223 6 990 1265 6 990 1265 6 990 1303 6 990 1323 6 990 1336 6 990 1358 6 990 1366 6 990 1396 6 990 1421 6 990 1455 6 990 1460 6 990 1462 6 990 1463 6 990 1467 6 990 1468 6 990 1468 6 990 1466 6 990 1477 6 990 1477 6 990 1487 6 990 1491 6 990 1491 6 990 1496 6 990 1496 6 990 1531 6 990 1535 6 990 1565 6 990 1601 6 990 1602 6 990 1613 6 990 1614 6 990 1626 6 990 1641 6 990 1787 6 990 1788 6 990 205 6 990 224 6 990 249 6 990 288 6 990 316 6 990 381 6 990 398 6 990 11 6 990 404 6 990 410 6 990 463 6 990 464 6 990 483 6 990 483 6 990 3184 6 990 3184 6 990 3188 6 990 584 6 990 584 6 990 600 6 990 669 6 990 680 6 990 680 6 990 691 6 990 763 6 990 763 6 990 799 6 990 .I 991 .T Gamma Function with Controller Accuracy (Algorithm 225 [S14]) .B CACM October, 1964 .A Bray, T. A. .N CA641011 JB March 9, 1978 4:44 PM .X 991 5 991 991 5 991 991 5 991 .I 992 .T Gamma Function (Algorithm 221 [S14]) .B CACM October, 1964 .A McCombs, V. K. .N CA641010 JB March 9, 1978 4:45 PM .X 992 5 992 992 5 992 992 5 992 .I 993 .T Kutta Merson (Algorithm 218 [D2]) .B CACM October, 1964 .A Priebe, K. B. .N CA641009 JB March 9, 1978 4:46 PM .X 993 5 993 993 5 993 993 5 993 .I 994 .T Stringsort (Algorithm 207 [M1]) .B CACM October, 1964 .A Blair, C. R. .N CA641008 JB March 9, 1978 4:47 PM .X 994 5 994 994 5 994 994 5 994 .I 995 .T Steep1 (Algorithm 203 [E4]) .B CACM October, 1964 .A Wallack, P. .N CA641007 JB March 9, 1978 4:48 PM .X 995 5 995 995 5 995 995 5 995 .I 996 .T Permutations of a Set with Repetitions (Algorithm 242 [G6]) .B CACM October, 1964 .A Sag, T. W. .N CA641006 JB March 9, 1978 4:49 PM .X 996 5 996 996 5 996 996 5 996 2044 5 996 996 6 996 1558 6 996 2230 6 996 521 6 996 .I 997 .T Patent Protection of Computer Programs .B CACM October, 1964 .A Jacobs, M. C. .N CA641005 JB March 9, 1978 4:50 PM .X 997 5 997 997 5 997 997 5 997 1711 5 997 997 6 997 1001 6 997 .I 998 .T Computer Programs are Patentable .B CACM October, 1964 .A Hamlin, K. B. .N CA641004 JB March 9, 1978 4:53 PM .X 998 5 998 998 5 998 998 5 998 .I 999 .T Joint Inventorship of Computers .B CACM October, 1964 .A Hauptman, G. A. .N CA641003 JB March 9, 19784:54 PM .X 999 5 999 999 5 999 999 5 999 .I 1000 .T Computer Patent Disclosures .B CACM October, 1964 .A Kates, J. P. .N CA641002 JB March 9, 1978 4:55 PM .X 1000 5 1000 1000 5 1000 1000 5 1000 .I 1001 .T Copyright Aspects of Computer Usage .W This paper is concerned with the question of what constitutes infringement of a copyright on a book or other nondramatic literary work when the work is fed into a computer and is indexed, analyzed, partially reprinted, or otherwise utilized by the computer to produce eye-readable output. The question of copyrightability of programs and infringement of copyrights on programs is also discussed. The paper is directed primarily to a discussion of the present law. Some aspects of the proposed new copyright law are also included. General recommendations are made with respect to the proposed revision of the copyright law. .B CACM October, 1964 .A Lawlor, R. C. .N CA641001 JB March 9, 1978 4:59 PM .X 1001 5 1001 1001 5 1001 1001 5 1001 1711 5 1001 997 6 1001 1001 6 1001 .I 1002 .T A Rapid Method for Digital Filtering .W Since much of the computer time spent in time-series analysis is used for multiplications, a minimum multiplication method was devised for digital filtering, with the expectation that it would be useful in the on line, real-time analysis of biological data. The filters are constructed from a succession of readily analyzable components in a manner that facilitates cascading. The repertoire of frequency response curves includes relatively good low-pass and band-pass designs. Programs are available for implementing both the synthesis of these filters, and their application on computers whose assemblers allow the definition of recursive macros. .B CACM September, 1964 .A Whittlesey, J. R. B. .N CA640909 JB March 9, 1978 5:03 PM .X 1002 5 1002 1002 5 1002 1002 5 1002 .I 1003 .T A Computer Analysis Method For Thermal Diffusion in Biochemical Systems .W In the thermal detection of rapid biochemical reactions it is necessary to correct the temperature data for transient heat conduction losses in a cylindrical calorimeter. To handle the complexities arising from varying thermal-relaxation times of concentric insulating layers, a computer program was developed which gives the temperature distribution of the system as a function of radius and time. This distribution is corrected at each step by a subroutine which calculates the instantaneous chemical state of there action, as well as the heat produced by this reaction. The program is based on a direct statement of Fourier's law of heat conduction and the chemical rate equation to provide a "bookkeeping law" to follow the reactants and the flow of heat packets, in such a way that the computer continually stores the heat distribution. A computer analysis method is here regarded as one in which the physical laws of a process are used explicitly in the program. Usually this results in by passing much of the mathematical procedures conventionally used. The program was tested against some known exact solutions of the heat equation and gave identical results, and compared well with experimental data of a known biochemical reaction. The construction of computer programs based on the direct statement of the physical laws is a principle of general applicability which has been applied to several other physical phenomena. .B CACM September, 1964 .A Davids, N. Berger, R. L. .N CA640908 JB March 9, 1978 5:13 PM .X 1003 5 1003 1003 5 1003 1003 5 1003 .I 1004 .T Arctangent (Algorithm [B1]) .B CACM September, 1964 .A Mills, K. W. .N CA640907 JB March 9, 1978 6:08 PM .X 1004 5 1004 1004 5 1004 1004 5 1004 .I 1005 .T Coordinates on an Ellipsoid (Algorithm 240 [Z]) .B CACM September, 1964 .A Dorrer, E. .N CA640906 JB March 9, 1978 6:09 PM .X 1005 5 1005 1005 5 1005 1005 5 1005 .I 1006 .T A Storage Allocation and Reference Structure .W A method is proposed and discussed which allows a subscripted-variable capability (in the FORTRAN sense) to be added to AUTOCODER-Type assembly systems. .B CACM September, 1964 .A Fitzwater, D. R. .N CA640905 JB March 9, 1978 6:11 PM .X 1006 5 1006 1006 5 1006 1006 5 1006 1788 5 1006 1006 6 1006 1007 6 1006 205 6 1006 3189 6 1006 .I 1007 .T Extension of Existing Compilers By Sophisticated Use of Macros .W A description is presented of an application in which macros and string concatenation were employed to add a new facility to BELFAP. .B CACM September, 1964 .A Benett, R. K. Neumann, H. D. .N CA640904 JB March 9, 1978 6:13 PM .X 1007 5 1007 1007 5 1007 1007 5 1007 1781 5 1007 1788 5 1007 123 6 1007 196 6 1007 919 6 1007 990 6 1007 1006 6 1007 1007 6 1007 1007 6 1007 1046 6 1007 1131 6 1007 1139 6 1007 1140 6 1007 1149 6 1007 1198 6 1007 1215 6 1007 1223 6 1007 1265 6 1007 1303 6 1007 1323 6 1007 1358 6 1007 1366 6 1007 1421 6 1007 1460 6 1007 1462 6 1007 1463 6 1007 1467 6 1007 1468 6 1007 1477 6 1007 1491 6 1007 1496 6 1007 1531 6 1007 1535 6 1007 1565 6 1007 1601 6 1007 1602 6 1007 1613 6 1007 1614 6 1007 1626 6 1007 1641 6 1007 1787 6 1007 1788 6 1007 205 6 1007 205 6 1007 224 6 1007 249 6 1007 288 6 1007 316 6 1007 381 6 1007 398 6 1007 11 6 1007 404 6 1007 410 6 1007 463 6 1007 464 6 1007 483 6 1007 3184 6 1007 3188 6 1007 3189 6 1007 584 6 1007 600 6 1007 680 6 1007 691 6 1007 763 6 1007 799 6 1007 .I 1008 .T Scheduling Meetings with a Computer .W Computer scheduling of papers as it was developed for the 1960 meeting of the Federation of American Societies for Experimental Biology (FASEB) is described. The FASEB meeting is the largest scientific meeting held in the United States each year. The technique developed for FASEB can be applied to schedule any meeting with parallel sessions. .B CACM September, 1964 .A Schultz, C. K. Brooks, A. Schwartz, P. .N CA640903 JB March 9, 1978 6:16 PM .X 1008 5 1008 1008 5 1008 1008 5 1008 2052 5 1008 1008 6 1008 1013 6 1008 1504 6 1008 1540 6 1008 .I 1009 .T Solution of Combinatorial Problems Using Generating Functions on a Variable-Field Computer .W The utility of generating functions in solving combinatorial problems is discussed. Particular implementation results are presented and evaluated. .B CACM September, 1964 .A Weinberg, G. M. .N CA640902 JB March 9, 1978 6:17 PM .X 1009 5 1009 1009 5 1009 1009 5 1009 .I 1010 .T A Multiuser Computation Facility for Education and Research .W Present-day computing facilities are limited in their value for scientific research by inability to interact strongly with users. The full power of a research computing instrument should be available at many terminals that give each user the ability to generate, correct and operate any procedure he wishes, either simple or complex. Implementation is described for a small-scale multiuser computer system that permits several users to work independently with the machine, and to obtain satisfactory response using typewriter communication. .B CACM September, 1964 .A Dennis, J. B. .N CA640901 JB March 9, 1978 6:22 PM .X 1010 5 1010 1010 5 1010 1010 5 1010 .I 1011 .T Logarithm of a Complex Number (Algorithm 48 [B3]) .B CACM August, 1964 .A Collens, D. S. .N CA640819 JB March 23, 1978 7:54 PM .X 1011 5 1011 1011 5 1011 1011 5 1011 .I 1012 .T Formal Parsing Systems .W Automatic syntactic analysis has recently become important for both natural language data processing and syntax-directed compilers. A formal parsing system G = (V,u,T,R) consists of two finite disjoint vocabularies, V and T, a many-many map, u, from V onto T, and a recursive set R of strings in T called syntactic sentence classes. Every program for automatic syntactic analysis determines a formal parsing system. A directed production analyzer (I,T,X,p) is a nondeterministic pushdown-store machine with internal vocabulary I, input vocabulary T, and all productions of p in the form: (Z,a) -> aY1 ... Ym where Z, Yi are elements of the set I and a is an element of the set T. Every context-free language can be analyzed by a directed production analyzer. The Kuno-Oettinger multiple-path syntactic analyzer for English is a concrete example of a directed production analyzer and of a working parsing algorithm. The connection between structures assigned by the analyzer and those of a conventional phrase structure grammar is examined in this paper. .B CACM August, 1964 .A Greibach, S. A. .N CA640818 JB March 9, 1978 6:30 PM .X 1012 5 1012 1012 5 1012 1012 5 1012 1225 5 1012 1350 5 1012 1945 5 1012 823 6 1012 914 6 1012 915 6 1012 917 6 1012 984 6 1012 989 6 1012 990 6 1012 1012 6 1012 1012 6 1012 1012 6 1012 1084 6 1012 1098 6 1012 1122 6 1012 1138 6 1012 1139 6 1012 1141 6 1012 1200 6 1012 1223 6 1012 1225 6 1012 1265 6 1012 1265 6 1012 1336 6 1012 1396 6 1012 1399 6 1012 1455 6 1012 1477 6 1012 1487 6 1012 1491 6 1012 1496 6 1012 483 6 1012 584 6 1012 669 6 1012 680 6 1012 680 6 1012 680 6 1012 763 6 1012 .I 1013 .T Final Examination Scheduling .W A method for scheduling final examinations to yield a minimal number of student conflicts is described. The "minimization" is achieved by repetitively evaluating a nonlinear set of equations. Imbeded in the process is a random or Monte Carlo selection of assignments. As in such heuristic techniques, the solution may not be optimum and many solutions may be found which yield locally minimal results. Computer programs are described and empirical results given. .B CACM August, 1964 .A Broder, S. .N CA640817 JB March 9, 1978 6:33 PM .X 1013 5 1013 1013 5 1013 1013 5 1013 1609 5 1013 2052 5 1013 1008 6 1013 1013 6 1013 1013 6 1013 1504 6 1013 1540 6 1013 .I 1014 .T Machine Controls for Analysis of Variance .W A major problem in using the analysis of variance, as the number of factors increases, is the exponential rise in the number of interactions. Even though the experimenter may not be interested in these interactions it is impossible to ignore them in most experimental designs because of the problem of getting error terms. It is natural therefore to look to the computer to handle the bulk of work involved in computing the interactions. A program device to get the computer to do this is described. .B CACM August, 1964 .A Weldon, R. J. .N CA640816 JB March 9, 1978 6:37 PM .X 1014 4 1014 912 5 1014 1014 5 1014 1014 5 1014 1014 5 1014 .I 1015 .T Near-Minimax Polynomial Approximations and Partitioning of Intervals .W A method of near-minimax polynomial approximation is described. As a by-product, this method provides a formula for an estimate of the maximum error associated with a given degree of approximation. Using this formula, a partitioning algorithm is obtained for dividing a basic interval into subintervals for which approximations of equal degree give equal maximum error. .B CACM August, 1964 .A Fraser, W. Hart, J. F. .N CA640815 JB March 9, 1978 6:41 PM .X 1015 4 1015 1346 4 1015 1440 4 1015 1645 4 1015 951 4 1015 1015 5 1015 1015 5 1015 1015 5 1015 532 5 1015 .I 1016 .T Interchangcable Perforated Tape Variable Block Formats for Positioning and Straight Cut (RS-273) and Contouring and Contouring/Positioning (RS-274) Numerically Controlled Machine Tools (Proposed American Standards) .B CACM August, 1964 .N CA640814 JB March 9, 1978 6:43 PM .X 1016 5 1016 1016 5 1016 1016 5 1016 .I 1017 .T Comments on Bit-Sequencing of the ASCII in Serial-by-Bit Data Transmission .B CACM August, 1964 .A Bemer, R. W. Booth, J. .N CA640813 JB March 9, 1978 6:45 PM .X 1017 5 1017 1017 5 1017 1017 5 1017 .I 1018 .T Gauss (Algorithm 209 [S15]) .B CACM August, 1964 .A Pike, M. C. .N CA640812 JB March 9, 1978 6:54 PM .X 1018 5 1018 1018 5 1018 1018 5 1018 .I 1019 .T XY move Plotting (Algorithm 162 [J6]) .B CACM August, 1964 .A Cavin, D. K. .N CA640811 JB March 9, 1978 6:55 PM .X 1019 5 1019 1019 5 1019 1019 5 1019 .I 1020 .T Free Field Read (Algorithm 239 [I5]) .B CACM August, 1964 .A McKeeman, W. M. .N CA640810 JB March 9, 1978 6:56 PM .X 1020 5 1020 1020 5 1020 1020 5 1020 1705 5 1020 984 6 1020 986 6 1020 1020 6 1020 1321 6 1020 .I 1021 .T Conjugate Gradient Method (Algorithm 238 [F4]) .B CACM August, 1964 .A Reeves, C. M. .N CA640809 JB March 9, 1978 6:59 PM .X 1021 5 1021 1021 5 1021 1021 5 1021 .I 1022 .T Greatest Common Divisor (Algorithm 237 [A1]) .B CACM August, 1964 .A Peck, J. E. L. .N CA640808 JB March 9, 1978 7:17 PM .X 1022 5 1022 1022 5 1022 1022 5 1022 2031 5 1022 1022 6 1022 450 6 1022 .I 1023 .T Bessel Functions of the First Kind (Algorithm 236 [S17]) .B CACM August, 1964 .A Gautschi, W. .N CA640807 JB March 9, 1978 7:19 PM .X 1023 4 1023 1222 4 1023 1023 5 1023 1023 5 1023 1023 5 1023 1130 5 1023 1909 5 1023 2119 5 1023 134 6 1023 1023 6 1023 1023 6 1023 1284 6 1023 1316 6 1023 2129 6 1023 .I 1024 .T A Note on the Formation of Free List .B CACM August, 1964 .A Waite, W. M. .N CA640806 JB March 9, 1978 7:20 PM .X 1024 4 1024 1024 4 1024 1051 4 1024 1051 4 1024 1098 4 1024 1102 4 1024 1132 4 1024 1214 4 1024 1380 4 1024 1388 4 1024 1390 4 1024 1393 4 1024 1485 4 1024 1486 4 1024 1487 4 1024 1549 4 1024 1549 4 1024 1570 4 1024 1706 4 1024 1826 4 1024 1878 4 1024 1878 4 1024 1946 4 1024 1957 4 1024 378 4 1024 2060 4 1024 2155 4 1024 2168 4 1024 2168 4 1024 2719 4 1024 2723 4 1024 2723 4 1024 2838 4 1024 2842 4 1024 2855 4 1024 2857 4 1024 2879 4 1024 3077 4 1024 3080 4 1024 3106 4 1024 3112 4 1024 627 4 1024 106 4 1024 1024 5 1024 1024 5 1024 1024 5 1024 210 5 1024 731 5 1024 .I 1025 .T A Method of Syntax-Checking ALGOL 60 .W A syntax checker was designed based on the syntax of ALGOL as described in the ALGOL 60 Report [Communications of the ACM, May, 1960]. Since the definition of the elements of the language is recursive it seemed most desirable to design the syntax checker as a set of mutually recursive processors tied together by subroutines which perform certain bookkeeping functions. Because of the recursive nature of the language and of the syntax checker the problem of recovery after an error required much attention. A method was devised which permits most programs to be checked completely despite errors. .B CACM August, 1964 .A Lietzke, M. P. .N CA640805 JB March 9, 1978 7:24 PM .X 1025 5 1025 1025 5 1025 1025 5 1025 1215 5 1025 1682 5 1025 1025 6 1025 1025 6 1025 1785 6 1025 224 6 1025 763 6 1025 .I 1026 .T Divide-and-Correct Methods for Multiple Precision Division .W A division problem is defined and notation to relate it to the problem of multiple precision operation in a digital computer is introduced. A basic divide-and-correct method for multiple precision division is formulated and its known properties briefly reviewed. Of particular interest is the fact that the method produces at each step a set of precisely three estimates for the desired result, one of which is exact. .B CACM August, 1964 .A Stein, M. L. .N CA640804 JB March 9, 1978 7:27 PM .X 1026 4 1026 1258 4 1026 1292 4 1026 1497 4 1026 107 5 1026 1026 5 1026 1026 5 1026 1026 5 1026 1258 5 1026 1292 5 1026 1497 5 1026 1975 5 1026 2605 5 1026 107 6 1026 107 6 1026 107 6 1026 1026 6 1026 1026 6 1026 1026 6 1026 1026 6 1026 1026 6 1026 1292 6 1026 1292 6 1026 1497 6 1026 1593 6 1026 2286 6 1026 .I 1027 .T An Alternate Checksum Method .B CACM August, 1964 .A Newhall, N. S. .N CA640803 JB March 9, 1978 7:28 PM .X 1027 5 1027 1027 5 1027 1027 5 1027 .I 1028 .T Investigation of a New Analytical Method for Numerical Derivative Evaluation .W A recently proposed analytical approach to numerical derivative evaluation is discussed. The technique is shown to be both accurate and easy to apply, though certain indicated modifications are required. Its use should greatly facilitate the writing and debugging of programs requiring derivatives of highly complex functions. .B CACM August, 1964 .A Wilkins, R. D. .N CA640802 JB March 9, 1978 7:31 PM .X 1028 4 1028 1028 4 1028 1216 4 1028 1216 4 1028 1278 4 1028 1347 4 1028 1392 4 1028 1396 4 1028 1396 4 1028 1536 4 1028 964 4 1028 1028 5 1028 1028 5 1028 1028 5 1028 1029 5 1028 1216 5 1028 1278 5 1028 1347 5 1028 1396 5 1028 561 5 1028 964 6 1028 973 6 1028 1028 6 1028 1028 6 1028 1028 6 1028 1028 6 1028 1029 6 1028 1029 6 1028 1029 6 1028 1029 6 1028 1083 6 1028 1132 6 1028 1214 6 1028 1278 6 1028 1278 6 1028 1334 6 1028 1365 6 1028 1386 6 1028 1387 6 1028 1388 6 1028 1392 6 1028 1393 6 1028 1394 6 1028 1395 6 1028 1396 6 1028 1397 6 1028 1496 6 1028 284 6 1028 407 6 1028 3199 6 1028 3200 6 1028 3201 6 1028 3202 6 1028 3203 6 1028 3204 6 1028 561 6 1028 561 6 1028 730 6 1028 .I 1029 .T A Simple Automatic Derivative Evaluation Program .W A procedure for automatic evaluation of total/partial derivatives of arbitrary algebraic functions is presented. The technique permits computation of numerical values of derivatives without developing analytical expressions for the derivatives. The key to the method is the decomposition of the given function, by introduction of intermediate variables, into a series of elementary functional steps. A library of elementary function subroutines is provided for the automatic evaluation and differentiation of these new variables. The final step in this process produces the desired function's derivative. The main feature of this approach is its simplicity. It can be used as a quick-reaction tool where the derivation of analytical derivatives is laborious and also as a debugging tool for programs which contain derivatives. .B CACM August, 1964 .A Wengert, R. E. .N CA640801 JB March 9, 1978 7:38 PM .X 1028 5 1029 1029 5 1029 1029 5 1029 1029 5 1029 1216 5 1029 1278 5 1029 1347 5 1029 1396 5 1029 1536 5 1029 964 6 1029 973 6 1029 1028 6 1029 1028 6 1029 1028 6 1029 1028 6 1029 1029 6 1029 1029 6 1029 1029 6 1029 1029 6 1029 1029 6 1029 1029 6 1029 1083 6 1029 1132 6 1029 1214 6 1029 1278 6 1029 1278 6 1029 1334 6 1029 1365 6 1029 1386 6 1029 1387 6 1029 1388 6 1029 1392 6 1029 1393 6 1029 1394 6 1029 1395 6 1029 1396 6 1029 1397 6 1029 1496 6 1029 284 6 1029 407 6 1029 3199 6 1029 3200 6 1029 3201 6 1029 3202 6 1029 3203 6 1029 3204 6 1029 561 6 1029 561 6 1029 561 6 1029 730 6 1029 .I 1030 .T Techniques for the Simulation of Computer Logic .W The simulation of a digital computer is an integral part of most computer design automation systems. The evaluation of the Boolean functions which characterize the computer being simulated constitutes one major portion of a simulation system. Four general procedural classes for evaluating these functions are defined. Toward greatly increased efficiency of a simulation system, methods are presented for simultaneously evaluating many functions for one set of values of the variables,and for evaluating simultaneously one function for many sets of values for the variables. .B CACM July, 1964 .A Breuer,M. A. .N CA640717 JB March 9, 1978 7:42 PM .X 1030 4 1030 1886 4 1030 1939 4 1030 1030 5 1030 1030 5 1030 1030 5 1030 1261 5 1030 1939 5 1030 678 5 1030 1030 6 1030 1030 6 1030 678 6 1030 .I 1031 .T A Note on Starting the Newton-Raphson Method .W Determination of a suitable initial estimate for a root of an equation f(x) = 0 by means of computing the roots of a sequence of related equations is described. .B CACM July, 1964 .A Beyer, W. A. .N CA640716 JB March 9, 1978 7:44 PM .X 1031 5 1031 1031 5 1031 1031 5 1031 .I 1032 .T Theoretical Considerations in Information Retrieval Systems .W Information storage and retrieval systems are composed of three major components: (a) identification of information and tagging it for effective retrieval, (b) searching strategy, how to enter the file to circumvent the scanning of nonrelevant material, and (c) file organization to make access to information efficient. For identification of information the paper suggests that a metalanguage (recently discussed in a paper by Goffman, Verhoeff and Belzer) associated with an object language be used. For searching strategy, a linear model for an evaluation function of relevancy is developed which rewards the system for retrieving relevant documents and not retrieving the nonrelevant, and penalizes the system for the escaped relevant documents and false drops. The inadequacies of a linear model are indicated. Two approaches to file organization are discussed. One is self-organization of the file based on its history and past performance, and the second is a self-generating subset of the file with a high probability of being relevant. .B CACM July, 1964 .A Belzer, J. Goffman, W. .N CA640715 JB March 9, 1978 7:55 PM .X 1032 5 1032 1032 5 1032 1032 5 1032 .I 1033 .T Experimental Personalized Array Translator System .W A system designed for intimate man-machine interaction in a general-purpose problem-solving environment is experimentally operational. The system utilizers an array-oriented symbolic source language containing powerful statement types. These include numeric, Boolean, relational and selection operators on operands which can be entire arrays. The system also permits simple specification of test and argument arrays in single statements. The completely symbolic operating system includes display and entry of program and data. Sequence control is aided by an interrupt switch which allows the user to interact with the program during execution. In addition to normal stored program sequencing, the system provides trace options and the ability to enter any statement for immediate execution. Present implementation of the system is with an interpretive translator on an IBM 1620 computer. .B CACM July, 1964 .A Hellerman, H. .N CA640714 JB March 9, 1978 8:02 PM .X 1033 5 1033 1033 5 1033 1033 5 1033 .I 1034 .T Autosate .W An automated data system analysis technique is described. The technique is designed to alleviate some of the principal problems that beset current analysis-large data workloads, long span of time between project inception and system operational date, the lack of explicit directions for conducting data system analysis and using the results, and the lack of a technique to control data system changes throughout its lifetime. The analysis is geared to determining workload, relationships and storage characteristics of documents in the information network automatically. .B CACM July, 1964 .A Gatto, O. T. .N CA640713 JB March 9, 19788:07 PM .X 1034 5 1034 1034 5 1034 1034 5 1034 .I 1035 .T Characteristics of the FORTRAN CEP Language .W The FORTRAN CEP languages differs from FORTRAN II mainly because: (1) it extends the variety of the modes for real quantities; (2) it allows suitable mixtures, in an input/output list or in an expression, of quantities that occur under different modes; (3) it makes it possible to address a greater number of input/output equipment; and (4) it removes the restrictions on the complexity of the list of quantities to be transmitted between the magnetic core memory and the drum or the magnetic tape units. .B CACM July, 1964 .A Mancino. O. G. .N CA640712 JB March 9, 1978 8:11 PM .X 1035 5 1035 1035 5 1035 1035 5 1035 1305 5 1035 1035 6 1035 .I 1036 .T Remark on Further Generalization of ALGOL .B CACM July, 1963 .A Garwick, J. V. .N CA640710 JB March 9, 1978 8:12 PM .X 1036 5 1036 1036 5 1036 1036 5 1036 .I 1037 .T Reduction of a Matrix Containing Polynomial Elements (Algorithm 170 [F3]) .B CACM July, 1964 .A Priebe, K. B. .N CA640710 JB March 9, 1978 8:13 PM .X 1037 4 1037 1234 4 1037 1358 4 1037 1491 4 1037 1037 5 1037 1037 5 1037 1037 5 1037 729 5 1037 .I 1038 .T Crout with Equilibration and Iteration (Algorithm 135 [F4]) .B CACM July, 1964 .A McKeeman, W. M. .N CA640709 JB March 9, 1978 8:15 PM .X 1038 5 1038 1038 5 1038 1038 5 1038 .I 1039 .T Summation of Fourier Series (Algorithm 128 [C6]) .B CACM July, 1964 .A Thacher Jr., H. C. .N CA640708 JB March 9, 1978 8:16 PM .X 1039 5 1039 1039 5 1039 1039 5 1039 .I 1040 .T Romberg Integration(Algorithm 60 [D1]) .B CACM July, 1964 .A Thacher Jr., H. C. .N CA640707 JB March 9, 1978 8:17 PM .X 1040 4 1040 1040 4 1040 1040 4 1040 1352 4 1040 2040 4 1040 1040 5 1040 1040 5 1040 1040 5 1040 1352 5 1040 2415 5 1040 587 5 1040 621 5 1040 885 5 1040 834 6 1040 872 6 1040 1040 6 1040 1040 6 1040 1092 6 1040 1241 6 1040 1273 6 1040 1982 6 1040 324 6 1040 2074 6 1040 429 6 1040 570 6 1040 621 6 1040 786 6 1040 .I 1041 .T Random Permutation (Algorithm 235 [G6]) .B CACM July, 1964 .A Durstenfeld, R. .N CA640706 JB March 9, 1978 8:18 PM .X 1041 5 1041 1041 5 1041 1041 5 1041 .I 1042 .T Poisson-Charlier Polynomials (Algorithm 234 [S23]) .B CACM July, 1964 .A Simoes Pereira, J. M. S. .N CA640705 JB March 9, 1978 8:19 PM .X 1042 5 1042 1042 5 1042 1042 5 1042 .I 1043 .T Talk-A High-Level Source Language Debugging Technique With Real-Time Data Extraction .W TALK, meaning Take A Look, is a debugging technique which aids substantially in debugging complex real-time programming systems by interrupting the users program at desired points to extract previously specified data. The extracted data is later edited, listing the associated data with its high-level source language identification. .B CACM July, 1964 .A verSteeg, R. L. .N CA640704 JB March 9, 1978 8:24 PM .X 1043 5 1043 1043 5 1043 1043 5 1043 .I 1044 .T An Automatic Loader for Subroutine Nests .W A method for automatic loading of library subroutines, which can be adapted to operate in conjunction with any conventional two-pass assembler is described. The method is specifically designed to cope with a nested library structure. .B CACM July, 1964 .A Kanner, H. .N CA640703 JB March 9, 1978 8:27 PM .X 1044 5 1044 1044 5 1044 1044 5 1044 1332 5 1044 1044 6 1044 .I 1045 .T Programming Analysis of Variance by Sequences of Operators and Isomorphic Mappings .W A special operator calculus developed by Hartley in 1956 together with a new mapping scheme has been found to be efficient in programming analysis of variance for multifactor experiments. The operator calculus and the mapping scheme are described in detail. .B CACM July, 1964 .A Peng, K. C. .N CA640702 JB March 9, 1978 8:30 PM .X 1045 5 1045 1045 5 1045 1045 5 1045 1404 5 1045 1045 6 1045 .I 1046 .T A Compiler-Building System Developed by Brooker and Morris .W In a number of articles published during the past two years, R. A. Brooker and D. Morris (joined by J.S. Rohl in their most recent paper have presented a very interesting programming system that they have developed for the Ferranti Atlas computer. The present paper describes some of the major features of their system. it expands on some points that the original authors cover briefly, and treats only very lightly some topics to which they devote considerable space. The purpose of this paper is purely expository. Except in some very small details, and in some comments, it does not intentionally depart from or add to the material published in the listed references. .B CACM July, 1964 .A Rosen, S. .N CA640701 JB March 9, 1978 8:47 PM .X 1046 4 1046 1105 4 1046 1139 4 1046 1140 4 1046 1234 4 1046 1263 4 1046 1265 4 1046 1496 4 1046 1781 4 1046 1824 4 1046 2126 4 1046 2546 4 1046 464 4 1046 584 4 1046 631 4 1046 653 4 1046 680 4 1046 763 4 1046 795 4 1046 799 4 1046 945 4 1046 1046 5 1046 1046 5 1046 1046 5 1046 1781 5 1046 404 5 1046 123 6 1046 196 6 1046 919 6 1046 990 6 1046 1007 6 1046 1046 6 1046 1131 6 1046 1139 6 1046 1140 6 1046 1149 6 1046 1198 6 1046 1215 6 1046 1223 6 1046 1265 6 1046 1303 6 1046 1323 6 1046 1358 6 1046 1366 6 1046 1421 6 1046 1460 6 1046 1462 6 1046 1463 6 1046 1467 6 1046 1468 6 1046 1477 6 1046 1491 6 1046 1496 6 1046 1531 6 1046 1535 6 1046 1565 6 1046 1601 6 1046 1602 6 1046 1613 6 1046 1614 6 1046 1626 6 1046 1641 6 1046 1787 6 1046 1788 6 1046 205 6 1046 224 6 1046 249 6 1046 288 6 1046 316 6 1046 381 6 1046 398 6 1046 11 6 1046 404 6 1046 410 6 1046 463 6 1046 464 6 1046 483 6 1046 3184 6 1046 3188 6 1046 584 6 1046 600 6 1046 680 6 1046 691 6 1046 763 6 1046 799 6 1046 .I 1047 .T Generation of Test Matrices by Similarity Transformations .W A method for obtaining test matrices with a prescribed distribution of characteristic roots is given. The process consists of using particularly simple similarity transformations to generate full matrices from canonical forms. The matrices generated also have known characteristic vectors, inverses and determinants. .B CACM June, 1964 .A Ortega, J. M. .N CA640620 JB March 9, 1978 8:50 PM .X 1047 4 1047 1047 5 1047 1047 5 1047 1047 5 1047 1707 5 1047 496 5 1047 1047 6 1047 511 6 1047 .I 1048 .T Approximate Solution of Axially Symmetric Problems .W A variety of physical problems in such diverse fields as electrostatic field theory, heat and ideal fluid flow, and stress concentration theory reduce, under the assumption of axial symmetry, to the study of an elliptic partial differential equation. Dirichlet-type problems associated with this equation are studied on regions whose boundaries include a nondegenerate portion of the x-axis and exceedingly accurate numerical methods are given for approximating solutions. .B CACM June, 1964 .A Greenspan, D. .N CA640619 JB March 9, 1978 8:55 PM .X 1048 5 1048 1048 5 1048 1048 5 1048 .I 1049 .T Numerical Solution of Nonlinear Two-Point Boundary Problems by Finite Difference Methods .W Solution of nonlinear two-point boundary-value problems is often an extremely difficult task. Quite apart from questions of reality and uniqueness, there is no established numerical technique for this problem. At present, shooting techniques are the easiest method of attacking these problems. When these fail, the more difficult method of finite differences can often be used to obtain a solution. This paper gives examples and discusses the finite difference method for non-linear two-point boundary-value problems. .B CACM June, 1964 .A Holt, J. F. .N CA640618 JB March 9, 1978 9:07 PM .X 1049 4 1049 1049 5 1049 1049 5 1049 1049 5 1049 416 5 1049 .I 1050 .T A Parts Breakdown Technique Using List Structures .W List structured parts breakdown is proposed and discussed. Implementation facts are presented on operating program using these techniques. .B CACM June, 1964 .A Brian, W. J. .N CA640617 JB March 9, 1978 9:09 PM .X 1050 4 1050 1050 4 1050 1050 4 1050 1050 4 1050 1050 4 1050 1102 4 1050 1226 4 1050 1393 4 1050 1549 4 1050 1549 4 1050 1935 4 1050 1936 4 1050 378 4 1050 2017 4 1050 2023 4 1050 2032 4 1050 2257 4 1050 2360 4 1050 2451 4 1050 2452 4 1050 441 4 1050 2723 4 1050 2882 4 1050 3008 4 1050 3112 4 1050 627 4 1050 731 4 1050 731 4 1050 758 4 1050 793 4 1050 798 4 1050 106 5 1050 1050 5 1050 1050 5 1050 1050 5 1050 209 5 1050 367 5 1050 627 5 1050 849 5 1050 .I 1051 .T Multiword List Items .W The list concept as originally proposed by Newell, Simon and Shaw specified single computer words as elements of a list. This report describes the use of two or more consecutive words as one element. Such use results in a considerable saving in both the space required to hold a given amount of data, and in the execution time required to perform a given process on the data. Following a brief description of standard list structures with single-word items, the multiword items are introduced. Then variable-length items are described, along with the corresponding space-utilization problems. Finally, several examples are given to illustrate the use of multiword lists. This paper attempts to draw together various recent papers which have applied some of these concepts in different ways, and indicate how they relate to the more general problems. .B CACM June, 1964 .A Comfort, W. T. .N CA640616 JB March 9, 1978 9:15 PM .X 1024 4 1051 1024 4 1051 1051 4 1051 1051 4 1051 1051 4 1051 1051 4 1051 1051 4 1051 1051 4 1051 1062 4 1051 1098 4 1051 1102 4 1051 1102 4 1051 1132 4 1051 1214 4 1051 1380 4 1051 1388 4 1051 1390 4 1051 1393 4 1051 1485 4 1051 1486 4 1051 1487 4 1051 1549 4 1051 1549 4 1051 1549 4 1051 1552 4 1051 1570 4 1051 1665 4 1051 1706 4 1051 1826 4 1051 1860 4 1051 1878 4 1051 1878 4 1051 1946 4 1051 1957 4 1051 378 4 1051 2060 4 1051 2155 4 1051 2155 4 1051 2168 4 1051 2168 4 1051 2719 4 1051 2723 4 1051 2723 4 1051 2838 4 1051 2842 4 1051 2855 4 1051 2857 4 1051 2879 4 1051 3077 4 1051 3080 4 1051 3106 4 1051 3112 4 1051 627 4 1051 106 4 1051 1051 5 1051 1051 5 1051 1051 5 1051 1211 5 1051 210 5 1051 1549 5 1051 1906 5 1051 378 5 1051 2902 5 1051 406 5 1051 731 5 1051 793 5 1051 794 5 1051 106 6 1051 1051 6 1051 1051 6 1051 1051 6 1051 1051 6 1051 1062 6 1051 1062 6 1051 1184 6 1051 1211 6 1051 1552 6 1051 210 6 1051 1879 6 1051 2435 6 1051 2596 6 1051 2734 6 1051 2747 6 1051 2768 6 1051 406 6 1051 627 6 1051 731 6 1051 753 6 1051 .I 1052 .T Reducing Truncation Errors by Programming .W In accumulating a sum such as in a numerical integration with a large number of intervals, the sum itself becomes much larger than the individual addends. This may produce a less accurate sum as the number of intervals is increased. Separate variables can be established as accumulators to hold partial sums within various distinct intervals. Thus, the extensive successive truncations are eliminated. .B CACM June, 1964 .A Wolfe, J. M. .N CA640615 JB March 9, 1978 9:22 PM .X 1052 5 1052 1052 5 1052 1052 5 1052 1328 5 1052 1333 5 1052 2144 5 1052 1052 6 1052 1052 6 1052 1052 6 1052 .I 1053 .T Design and Implementation of a General-Purpose Input Routine .W A general-purpose input routine is discussed and advocated for FORTRAN. The philosophy of such programs is examined and exemplified. .B CACM June, 1964 .A Hassitt, A. .N CA640614 JB March 9, 1978 9:27 PM .X 1053 4 1053 1053 4 1053 1053 4 1053 1053 4 1053 720 4 1053 1053 5 1053 1053 5 1053 1053 5 1053 1649 5 1053 435 5 1053 474 5 1053 718 5 1053 720 5 1053 1053 6 1053 .I 1054 .T Gauss-Seidel (Algorithm 220 ) .B CACM June, 1964 .A Batson, A. P. .N CA640613 JB March 9, 1978 9:28 PM .X 1054 5 1054 1054 5 1054 1054 5 1054 .I 1055 .T q-Bessel Functions In(t) (Algorithm 214) .B CACM June,1964 .A Simoes Pereira, J. M. S. .N CA640612 JB March 9, 1978 9:29 PM .X 1055 5 1055 1055 5 1055 1055 5 1055 .I 1056 .T Shellsort (Algorithm 201) .B CACM June, 1964 .A Batty, M. A. .N CA640611 JB March 9, 1978 9:30 PM .X 1056 5 1056 1056 5 1056 1056 5 1056 .I 1057 .T Critical Path Scheduling (Algorithm 40) .B CACM June, 1964 .A Hoffman, I. A. .N CA640610 JB March 9, 1978 9:32 PM .X 1057 5 1057 1057 5 1057 1057 5 1057 .I 1058 .T Simpson's Rule for Multiple Integration (Algorithm 233) .B CACM June, 1964 .A Olynyk, F. .N CA640609 JB March 9, 1978 9:33 PM .X 1058 5 1058 1058 5 1058 1058 5 1058 .I 1059 .T Heapsort (Algorithm 232) .B CACM June, 1964 .A Williams, J. W. J. .N CA640608 JB March 9, 1978 9:34 PM .X 1059 5 1059 1059 5 1059 1059 5 1059 2757 5 1059 2844 5 1059 970 6 1059 1059 6 1059 1059 6 1059 2630 6 1059 2742 6 1059 2767 6 1059 .I 1060 .T Matrix Inversion (Algorithm 231) .B CACM June, 1964 .A Boothroyd, J. .N CA640607 JB March 9, 1978 9:35 PM .X 1060 5 1060 1060 5 1060 1060 5 1060 .I 1061 .T Matrix Permutation (Algorithm 230) .B CACM June, 1964 .A Boothroyd, J. .N CA640606 JB March 9, 1978 9:36 PM .X 1061 5 1061 1061 5 1061 1061 5 1061 .I 1062 .T Symbol Manipulation in FORTRAN-SASP I Subroutines .W A set of subroutines for use in FORTRAN are described whose purpose is to synthesize output strings from (i) input strings which have been analyzed by the SHADOW general syntactic analysis subroutine reported earlier, and/or (ii) packed BCD strings formed in any way. Function-type subroutines are included for intermediate manipulations, which are performed on the strings which are stored in an abbreviated internal representation. The automatic way in which an internal representation for each newly created substring is stored sequentially in a block of common storage, and the manner in which a storage block is dynamically allocated for that purpose, are discussed. .B CACM June, 1964 .A Bailey, M. J. Barnett, M. P. Burleson, P. B. .N CA640605 JB March 9, 1978 9:43 PM .X 1051 4 1062 1062 4 1062 1062 4 1062 1121 4 1062 1139 4 1062 1265 4 1062 1781 4 1062 720 4 1062 759 4 1062 1062 5 1062 1062 5 1062 1062 5 1062 1211 5 1062 2902 5 1062 464 5 1062 794 5 1062 1051 6 1062 1051 6 1062 1062 6 1062 1062 6 1062 1184 6 1062 1211 6 1062 1552 6 1062 1879 6 1062 2435 6 1062 2596 6 1062 2734 6 1062 2747 6 1062 2768 6 1062 .I 1063 .T One-Inch Perforated Paper Tape for Information Interchange (Proposed American Standard) .B CACM June, 1964 .N CA640604 JB March 9, 1978 9:44 PM .X 1063 5 1063 1063 5 1063 1063 5 1063 .I 1064 .T Perforated Tape Code for Information Interchange (Proposed American Standard) .B CACM June, 1964 .N CA640603 JB March 9, 1978 9:46 PM .X 1064 5 1064 1064 5 1064 1064 5 1064 .I 1065 .T Bit Sequencing of the American Standard Code for Information Interchange (ASCII) in Serial-by-Bit Data Transmission (Proposed American Standard) .B CACM June, 1964 .N CA640602 JB March 9, 1978 9:47 PM .X 1065 5 1065 1065 5 1065 1065 5 1065 .I 1066 .T Growing Applications of Linear Programming .W Use of linear programming models has grown so extensively in recent years that the whole concept for organizing a computer code has undergone a radical change. It no longer is adequate merely to reduce a mathematical algorithm (i.e. the simplex method) to a computer code. An advanced code must cope with such a variety of situations that the respective computer subprograms must be organized into an integrated system. Emphasis in this paper is devoted to the underlying principles upon which future linear programming systems must be based. These viewpoints are influenced by the new demands that applications within the petroleum industry are placing on such systems. Some of the components of such a system are: translation of problem statement in terms of basic data to linear programming matrix coefficients, data transmission for direct computer entry, data file at the computer center, data processing and editing prior to solving the simplex algorithm, an efficient and reliable code for solving the above-mentioned algorithm, and flexible means for summarizing the results. .B CACM June, 1964 .A Aronofsky, J. S. .N CA640601 JB March 9, 1978 9:55 PM .X 1066 5 1066 1066 5 1066 1066 5 1066 .I 1067 .T Picture Generation With a Standard Line Printer .W A method is described for producing gray-toned pictures on a line printer by utilizing the different degrees of blackness of standard print characters. Gray scales with 17, 32 and 64 levels have been devised. Scanned images of blood cells are used to display the technique. .B CACM May, 1964 .A Perry, B. Mendelsohn, M. L. .N CA640522 JB March 9, 1978 11:31 PM .X 1067 5 1067 1067 5 1067 1067 5 1067 .I 1068 .T A FORTRAN II Load-Time-Saver .B CACM May, 1964 .A Ackermann, A. F. .N CA640521 JB March 9, 1978 11:33 PM .X 1068 4 1068 1945 4 1068 917 5 1068 1068 5 1068 1068 5 1068 1068 5 1068 .I 1069 .T A Method for Comparing the Internal Operating Speeds of Computers .B CACM May, 1964 .A Raichelson, E. Collins, G. .N CA640520 JB March 9, 1978 11:35 PM .X 1069 5 1069 1069 5 1069 1069 5 1069 1653 5 1069 2989 5 1069 963 6 1069 1069 6 1069 1069 6 1069 1417 6 1069 2138 6 1069 .I 1070 .T Expand, A System for Input Card Replication .B CACM May, 1964 .A Warrington, J. A. Norris, J. H. .N CA640519 JB March 9,1978 11:37 PM .X 1070 5 1070 1070 5 1070 1070 5 1070 .I 1071 .T Computer-Usage Accounting for Generalized Time-Sharing Systems .W The current development of general time-sharing systems requires a revision of accounting procedures for computer usage. Since time-sharing system users operate concurrently, it is necessary to be more precise as to the amount of computer time and storage space that a user actually utilizes. The various cost factors which should be considered for computer usage accounting in generalized time-sharing systems are discussed. .B CACM May, 1964 .A Rosenberg, A. M. .N CA640518 JB March 9, 1978 11:40 PM .X 1071 4 1071 1071 5 1071 1071 5 1071 1071 5 1071 3196 5 1071 .I 1072 .T An Improved Equivalence Algorithm .W An algorithm for assigning storage on the basis of EQUIVALENCE, DIMENSION and COMMON declarations is presented. The algorithm is based on a tree structure, and has reduced computation time by 40 percent over a previously published algorithm by identifying all equivalence classes with one scan of the EQUIVALENCE declarations. The method is applicable in any problem in which it is necessary to identify equivalence classes, given the element pairs defining the equivalence relation. .B CACM May, 1964 .A Galler, B. A. Fisher, M. J. .N CA640517 JB March 9, 1978 11:48 PM .X 1072 4 1072 1781 4 1072 1072 5 1072 1072 5 1072 1072 5 1072 1646 5 1072 316 5 1072 830 6 1072 987 6 1072 1072 6 1072 1179 6 1072 1647 6 1072 680 6 1072 .I 1073 .T A Fast Procedure for Generating Exponential Random Variables .W A very fast method for generating exponential random variables in a digital computer is outlined. .B CACM May, 1964 .A MacLaren, M. D. Marsaglia, G. Bray, T. A. .N CA640516 JB March 9, 1978 11:50 PM .X 1073 4 1073 1073 4 1073 1153 4 1073 2137 4 1073 2276 4 1073 940 5 1073 1073 5 1073 1073 5 1073 1073 5 1073 1153 5 1073 2276 5 1073 1073 6 1073 1153 6 1073 .I 1074 .T Shanks (Algorithm 215) .B CACM May, 1964 .A Schumaker, L. .N CA640515 JB March 9, 1978 11:51 PM .X 1074 5 1074 1074 5 1074 1074 5 1074 .I 1075 .T Shuttlesort (Algorithm 175) .B CACM May, 1964 .A Juelich, O. C. .N CA640514 JB March 9, 1978 11:52 PM .X 1075 5 1075 1075 5 1075 1075 5 1075 .I 1076 .T Multiple Integration (Algorithm 146) .B CACM May, 1964 .A Wirth, N. .N CA640513 JB March 9, 1978 11:53 PM .X 1076 5 1076 1076 5 1076 1076 5 1076 .I 1077 .T Chebyshev Curve Fit (Algorithm 91) .B CACM May, 1964 .A Naur, P. .N CA640512 JB March 9, 1978 11:53 PM .X 1077 5 1077 1077 5 1077 1077 5 1077 .I 1078 .T Elementary Functions by Continued Fractions (Algorithm 229) .B CACM May, 1964 .A Morelock, J. C. .N CA640511 JB March 9, 1978 11:55 PM .X 1078 5 1078 1078 5 1078 1078 5 1078 .I 1079 .T Q-Bessel Functions (Algorithm 228) .B CACM May, 1964 .A Simoes Pereira, J. M. S. .N CA640510 JB March 9, 1978 11:56 PM .X 1079 5 1079 1079 5 1079 1079 5 1079 .I 1080 .T Chebyshev Polynomial Coefficients (Algorithm 227) .B CACM May, 1964 .A Cyvin, S. J. .N CA640509 JB March 9, 1978 11:57 PM .X 1080 5 1080 1080 5 1080 1080 5 1080 .I 1081 .T Normal Distribution Function (Algorithm 226) .B CACM May, 1964 .A Cyvin, S. J. .N CA640508 JB March 9, 1978 11:58 PM .X 1081 5 1081 1081 5 1081 1081 5 1081 1157 5 1081 836 6 1081 1081 6 1081 485 6 1081 714 6 1081 .I 1082 .T Gamma Function with Controlled Accuracy (Algorithm 225) .B CACM May, 1964 .A Cyvin, S. J. Cyvin, B. N. .N CA640507 JB March 9, 1978 11:59 PM .X 1082 5 1082 1082 5 1082 1082 5 1082 .I 1083 .T An Experiment in a User-Oriented Computer System .W A version of a software-hardware system for the purpose of facilitating the programming and analysis of well-formulated problems is described. A modified Flexowriter is used to generate computer-acceptable input when equations or computable requests are typed in much the same manner as they would appear in conventional mathematical texts. The typing and language rules are quite flexible and unrestrictive. While the compiler part is efficient, the system as a whole has much broader aspects as a tool for the study of problem solving and self-teaching systems. .B CACM May, 1964 .A Klerer, M. May, J. .N CA640506 JB March 10, 1978 12:03 AM .X 1083 4 1083 1083 4 1083 1083 4 1083 1083 4 1083 1396 4 1083 1396 4 1083 679 4 1083 1083 5 1083 1083 5 1083 1083 5 1083 1396 5 1083 1624 5 1083 407 5 1083 3192 5 1083 3193 5 1083 730 5 1083 964 6 1083 1028 6 1083 1029 6 1083 1083 6 1083 1083 6 1083 1132 6 1083 1214 6 1083 1278 6 1083 1334 6 1083 1365 6 1083 1386 6 1083 1387 6 1083 1388 6 1083 1392 6 1083 1393 6 1083 1394 6 1083 1395 6 1083 1396 6 1083 1397 6 1083 1496 6 1083 284 6 1083 407 6 1083 3199 6 1083 3200 6 1083 3201 6 1083 3202 6 1083 3203 6 1083 3204 6 1083 561 6 1083 730 6 1083 .I 1084 .T On Declaring Arbitrarily Coded Alphabets .W The inability of existing programming languages to handle character strings from more than one or two alphabets is mentioned and a scheme for declaring additional alphabets is proposed. The scheme provides for: many-to-one encodings, right or left justification, collating sequences different from numeric sequence, variations in character size (number of bits.) from alphabet to alphabet, and arbitrary source-language character representation. .B CACM May, 1964 .A Shaw, C. J. .N CA640505 JB March 10,1978 12:13 AM .X 1084 4 1084 1084 4 1084 1084 4 1084 1084 4 1084 1084 4 1084 1084 4 1084 1379 4 1084 1625 4 1084 1945 4 1084 1084 5 1084 1084 5 1084 1084 5 1084 1945 5 1084 603 5 1084 644 5 1084 669 5 1084 791 5 1084 797 5 1084 868 5 1084 823 6 1084 914 6 1084 915 6 1084 917 6 1084 984 6 1084 989 6 1084 990 6 1084 1012 6 1084 1084 6 1084 1098 6 1084 1122 6 1084 1138 6 1084 1139 6 1084 1141 6 1084 1200 6 1084 1223 6 1084 1265 6 1084 1336 6 1084 1396 6 1084 1455 6 1084 1477 6 1084 1487 6 1084 1491 6 1084 1496 6 1084 483 6 1084 584 6 1084 669 6 1084 680 6 1084 763 6 1084 .I 1085 .T Specification for General-Purpose Paper Cards for Information Processing (Proposed American Standard) .B CACM May, 1964 .N CA640504 JB March 10, 1978 12:14 AM .X 1085 5 1085 1085 5 1085 1085 5 1085 .I 1086 .T A Proposal for Input-Output Conventions in ALGOL 60-A Report of the Subcommittee on ALGOL of the ACM Programming Language Committee .B CACM May, 1964 .N CA640501 JB March 10, 1978 12:18 AM .X 1086 4 1086 1086 4 1086 1132 4 1086 1234 4 1086 1263 4 1086 1265 4 1086 1270 4 1086 1323 4 1086 1358 4 1086 1379 4 1086 1380 4 1086 1453 4 1086 1464 4 1086 1484 4 1086 1491 4 1086 1496 4 1086 1498 4 1086 1613 4 1086 1614 4 1086 1781 4 1086 1825 4 1086 1860 4 1086 2083 4 1086 2178 4 1086 2179 4 1086 2252 4 1086 2325 4 1086 2341 4 1086 2546 4 1086 2645 4 1086 2652 4 1086 2684 4 1086 2842 4 1086 2929 4 1086 2934 4 1086 3069 4 1086 669 4 1086 679 4 1086 691 4 1086 761 4 1086 949 4 1086 989 4 1086 1086 5 1086 1086 5 1086 1086 5 1086 1137 5 1086 1613 5 1086 3184 5 1086 987 6 1086 1086 6 1086 1134 6 1086 1453 6 1086 3184 6 1086 .I 1087 .T Problems in Automatic Abstracting .W A variety of problems concerning the design and operation of an automatic abstracting system are discussed. The purpose is to a general view of several major problem areas. No attempt is made to discuss details or to indicate preferences among alternative solutions. .B CACM April, 1964 .A Edmundson, H. P. .N CA640422 JB March 10, 1978 12:21 AM .X 1087 4 1087 634 4 1087 1087 5 1087 1087 5 1087 1087 5 1087 329 5 1087 .I 1088 .T Menu Planning by Computer .W A computer code has been developed which plans menus by finding minimum cost combinations of menu items such that the daily dietary, gastronomic and production requirements can be satisfied for a sequence of days. A fast, special integer programming algorithm is described which approximates the theoretical solution to the problem. If necessary, any menu can be changed on-line and then post-optimized. Up to 30 percent saving on food cost is possible. A FORTRAN program for the IBM 1410 is available on request. A considerable amount of data processing must precede the implementation of the system. .B CACM April, 1964 .A Balistfy, J. L. .N CA640421 JB March 10, 1978 12:26 AM .X 1088 5 1088 1088 5 1088 1088 5 1088 1658 5 1088 1088 6 1088 .I 1089 .T Designing a Computer Center .B CACM April, 1964 .A Denison, A. Popov, G. .N CA640420 JB March 10, 1978 12:29 AM .X 1089 5 1089 1089 5 1089 1089 5 1089 .I 1090 .T Incomplete Beta Function Ratios (Algorithm 222) .B CACM April, 1964 .A Gautschi, W. .N CA640418 JB March 10, 1978 12:32 AM .X 1090 5 1090 1090 5 1090 1090 5 1090 .I 1091 .T Hypergeometric and Confluent Hypergeometric (Algorithm 191 & 192) .B CACM April, 1964 .A Thacher Jr., H. C. .N CA640417 JB March 10, 1978 12:33 AM .X 1091 5 1091 1091 5 1091 1091 5 1091 .I 1092 .T Nonrecursive Adaptive Integration (Algorithm 182) .B CACM April, 1964 .A Butler, H. S. .N CA640416 JB March 10, 1978 12:34 AM .X 1092 5 1092 1092 5 1092 1092 5 1092 1352 5 1092 2093 5 1092 834 6 1092 834 6 1092 872 6 1092 872 6 1092 1040 6 1092 1092 6 1092 1092 6 1092 1241 6 1092 1273 6 1092 1298 6 1092 1573 6 1092 324 6 1092 429 6 1092 429 6 1092 570 6 1092 621 6 1092 786 6 1092 .I 1093 .T Evaluation of Determinant (Algorithm 224) .B CACM April, 1964 .A Rotenberg, L. J. .N CA640415 JB March 10, 1978 1:12 AM .X 1093 5 1093 1093 5 1093 1093 5 1093 1946 5 1093 878 6 1093 902 6 1093 1093 6 1093 1177 6 1093 1387 6 1093 1393 6 1093 360 6 1093 731 6 1093 .I 1094 .T Prime Twins (Algorithm 223) .B CACM April, 1964 .A Shimrat, M. .N CA640414 JB March 10, 1978 1:13 AM .X 1094 5 1094 1094 5 1094 1094 5 1094 .I 1095 .T Decimal Tables of Binary Coded Tables .B CACM April, 1964 .A Griebrok, M. .N CA640413 JB March 10, 1978 1:14 AM .X 1095 5 1095 1095 5 1095 1095 5 1095 .I 1096 .T On Avoiding Matrix Reversals Between 7090 FORTRAN II and 7090 FORTRAN IV .B CACM April, 1964 .A Stevens, D. Benson, B. .N CA640412 JB March 10, 1978 1:28 AM .X 1096 5 1096 1096 5 1096 1096 5 1096 .I 1097 .T An Algorithm for Converting Integers from Base A to Base B .W A little known, simple algorithm for integer conversion between number systems is presented and proved. .B CACM April, 1964 .A Gladwin, H. T. .N CA640411 JB March 10, 1978 1:30 AM .X 1097 5 1097 1097 5 1097 1097 5 1097 .I 1098 .T A Comparison of List-Processing Computer Languages (Including a Detailed Comparison of COMIT, IPL-V, LISP 1.5, and SLIP) .W A detailed comparison is presented of COMIT, IPL-V, LISP 1.5 and SLIP - four well-known computer programming languages which, among them, exhibit all the principal characteristics of existing list-processing languages. Important common features of list-processing languages are reviewed: forms of data structures which are manipulated, necessity for dynamic allocation of storage, use of pushdown stores, and use of recursive operations. Principal differences between the four languages under consideration are detailed: representations of data, both by the programmer and within the machine; methods for storage allocation; programming formalisms and special processes available, including arithmetic facilities; and usability in terms of availability, documentation, learning aids and debugging facilities. A rough comparison shows that all the languages discussed have approximately the same speed. Finally, the authors give some heuristics to aid in the selection of one of these languages for use in particular problem applications, concluding that no one of the languages considered is distinctly superior in all possible list-processing applications. .B CACM April, 1964 .A Bobrow, D. G. Raphael, B. .N CA640410 JB March 10, 1978 1:37 AM .X 1024 4 1098 1051 4 1098 1098 4 1098 1214 4 1098 1380 4 1098 1388 4 1098 1393 4 1098 1485 4 1098 1487 4 1098 1549 4 1098 1570 4 1098 1878 4 1098 1946 4 1098 1957 4 1098 2168 4 1098 2723 4 1098 2857 4 1098 3112 4 1098 1098 5 1098 1098 5 1098 1098 5 1098 1570 5 1098 1945 5 1098 2314 5 1098 731 5 1098 823 6 1098 914 6 1098 915 6 1098 917 6 1098 984 6 1098 989 6 1098 990 6 1098 1012 6 1098 1084 6 1098 1098 6 1098 1098 6 1098 1098 6 1098 1122 6 1098 1138 6 1098 1139 6 1098 1141 6 1098 1200 6 1098 1223 6 1098 1265 6 1098 1336 6 1098 1396 6 1098 1455 6 1098 1477 6 1098 1487 6 1098 1491 6 1098 1496 6 1098 1626 6 1098 2082 6 1098 2148 6 1098 483 6 1098 584 6 1098 669 6 1098 680 6 1098 731 6 1098 763 6 1098 .I 1099 .T Professional Computer Work for the Blind .W Developments in computer technology have opened new professional opportunities for the intelligent blind. Since there are few if any occupations in which the blind can participate without serious disadvantage, the opportunities offered them to gain entrance into various occupations through computer use including that of programmer, is important for future rehabilitation planning. Also of immediate interest is the fact that the blind may be especially suited for programming work. Because of intense training in and constant experience with locating objects in the unseen environment and also because of superbly trained memory, the blind brings to the work of programming skills which the sighted has had little need to acquire. These qualifications should result in fewer debugging problems and make the blind a valuable addition to any systems group. Before the blind could become a serious professional, a number of aids and techniques had to be developed that can mediate between machines and programmer. This paper describes the techniques and aids which were designed by the staff of the Medical Computing Center of the University of Cincinnati College of Medicine. .B CACM April, 1964 .A Sterling, T. D. Lichstein, M. Scarpino, F. Stuebing, D. .N CA640409 JB March 10, 1978 1:46 AM .X 1099 5 1099 1099 5 1099 1099 5 1099 1264 5 1099 1740 5 1099 1099 6 1099 1099 6 1099 .I 1100 .T Status of Computer Sciences Curricula in Colleges and Universities .B CACM April, 1964 .A Atchison, W. F. Hamblen, J. W. .N CA640408 JB March 10, 1978 1:47 AM .X 1100 5 1100 1100 5 1100 1100 5 1100 1107 5 1100 1205 5 1100 1100 6 1100 1100 6 1100 1104 6 1100 1107 6 1100 68 6 1100 .I 1101 .T The Place of Logical Design and Switching Theory In The Computer Curriculum .B CACM April, 1964 .A Muller, D. E. .N CA640407 JB March 10, 1978 1:49 AM .X 1101 5 1101 1101 5 1101 1101 5 1101 .I 1102 .T Mechanical Languages: A Course Specification .B CACM April, 1964 .A Gorn, S. .N CA640406 JB March 10, 1978 1:49 AM .X 249 4 1102 254 4 1102 272 4 1102 1024 4 1102 1050 4 1102 1051 4 1102 1051 4 1102 1102 4 1102 1102 4 1102 1102 4 1102 1102 4 1102 1102 4 1102 1109 4 1102 1132 4 1102 1140 4 1102 1142 4 1102 1188 4 1102 1306 4 1102 1390 4 1102 1464 4 1102 1486 4 1102 1491 4 1102 1549 4 1102 1549 4 1102 1706 4 1102 1767 4 1102 1781 4 1102 1781 4 1102 1787 4 1102 1826 4 1102 1878 4 1102 1945 4 1102 1949 4 1102 321 4 1102 378 4 1102 378 4 1102 2059 4 1102 2060 4 1102 2126 4 1102 2155 4 1102 2168 4 1102 435 4 1102 437 4 1102 463 4 1102 483 4 1102 491 4 1102 2719 4 1102 2723 4 1102 2732 4 1102 2838 4 1102 2842 4 1102 2855 4 1102 2879 4 1102 560 4 1102 583 4 1102 3008 4 1102 3073 4 1102 3077 4 1102 3080 4 1102 3106 4 1102 627 4 1102 627 4 1102 631 4 1102 632 4 1102 642 4 1102 644 4 1102 653 4 1102 680 4 1102 731 4 1102 761 4 1102 762 4 1102 762 4 1102 763 4 1102 798 4 1102 106 4 1102 123 4 1102 140 4 1102 919 4 1102 949 4 1102 989 4 1102 196 5 1102 1102 5 1102 1102 5 1102 1102 5 1102 209 5 1102 210 5 1102 406 5 1102 483 5 1102 .I 1103 .T Logic for the Computer Sciences .B CACM April, 1964 .A Korfhage, R. R. .N CA640405 JB March 10, 1978 1:50 AM .X 1103 5 1103 1103 5 1103 1103 5 1103 .I 1104 .T An Undergraduate Curriculum in Numerical Analysis .B CACM April, 1964 .A Forsythe, G. E. .N CA640404 JB March 10, 1978 1:51 AM .X 1104 5 1104 1104 5 1104 1104 5 1104 1205 5 1104 1100 6 1104 1104 6 1104 1107 6 1104 68 6 1104 .I 1105 .T On Introducing Digital Computing .B CACM April, 1964 .A Arden, B. W. .N CA640403 JB March 10, 1978 1:53 AM .X 1046 4 1105 1105 4 1105 1139 4 1105 1140 4 1105 1234 4 1105 1263 4 1105 1265 4 1105 1496 4 1105 1781 4 1105 1824 4 1105 2126 4 1105 2546 4 1105 464 4 1105 584 4 1105 631 4 1105 653 4 1105 680 4 1105 763 4 1105 795 4 1105 799 4 1105 945 4 1105 1105 5 1105 1105 5 1105 1105 5 1105 404 5 1105 .I 1106 .T Programming of Digital Computers .B CACM April, 1964 .A Perlis, A. J. .N CA640402 JB March 10, 1978 1:54 AM .X 1106 5 1106 1106 5 1106 1106 5 1106 .I 1107 .T Computers and Education .B CACM April, 1964 .A Keenan, T. A. .N CA640401 JB March 10, 1978 1:54 AM .X 1107 4 1107 1205 4 1107 1100 5 1107 1107 5 1107 1107 5 1107 1107 5 1107 1205 5 1107 1100 6 1107 1104 6 1107 1107 6 1107 68 6 1107 .I 1108 .T Digital Data Processor for Tracking the Partially Illuminated Moon* .W A study of lunar tracking techniques and fabrication of a breadboard to assess the feasibility of the best technique selected was conducted to define a tracking system for observation of the sight line to the center of a partially illuminated moon. The data processing portion of the system is presented in detail and then described in general are the operation of the tracker head assembly for data readout, the operation of the entire system and the effect data processing considerations have on the design of the tracker system. The system basically consists of an optical sensor, digital computer and tracker drive mechanism. The three system units, connected in cascade, comprise the control loop. For this application, an optical telescope with a radial mechanical scanning mechanism was used that read out lunar sight line measurement information. This information is sequentially read into a special purpose digital computer that extracts the measurements and computes the error signals that drive the tracker to the appropriate attitude. .B CACM March, 1964 .A Wilcox, H. J. .N CA640324 JB March 10, 1978 2:02 AM .X 1108 5 1108 1108 5 1108 1108 5 1108 .I 1109 .T Conversion of a Power to a Series of Chebyshev Polynomials* .W Even slowly convergent power series can be rearranged as series in Chebyshev polynomials if appropriate sequence transformations are used in evaluating the coefficients. The method is illustrated by computing the coefficients for the expansion of the logarithm and dilogarithm. .B CACM March, 1964 .A Thacher Jr., H. C. .N CA640323 JB March 10, 1978 2:05 AM .X 249 4 1109 254 4 1109 272 4 1109 1102 4 1109 1109 4 1109 1140 4 1109 1188 4 1109 1306 4 1109 1464 4 1109 1491 4 1109 1767 4 1109 1781 4 1109 1787 4 1109 1949 4 1109 321 4 1109 2059 4 1109 2126 4 1109 435 4 1109 437 4 1109 463 4 1109 483 4 1109 491 4 1109 2732 4 1109 560 4 1109 583 4 1109 3073 4 1109 627 4 1109 631 4 1109 632 4 1109 642 4 1109 644 4 1109 653 4 1109 680 4 1109 761 4 1109 762 4 1109 763 4 1109 123 4 1109 140 4 1109 919 4 1109 989 4 1109 196 5 1109 1109 5 1109 1109 5 1109 1109 5 1109 .I 1110 .T A Fourier Series Method for the Numerical Solution of a Class of Parabolic Partial Differential Equations* .W A Fourier series method is described which, when applied to a certain class of parabolic partial differential equations, reduces the problem to a system of ordinary differential equations. An application is given for which the method shows a considerable advantage over conventional finite difference methods. .B CACM March, 1964 .A Forrington, C. V. D. .N CA640322 JB March 10, 1978 2:08 AM .X 1110 5 1110 1110 5 1110 1110 5 1110 .I 1111 .T A Class of Iterative Techniques For the Factorization of Polynomials* .W A method of iteration is developed in terms of a function of somewhat arbitrary character. Sufficient conditions are given for convergence of the process, yielding factors of arbitrary degree for polynomials in one variable. Both Lin's method and Newton's method occur as special cases. .B CACM March, 1964 .A Luther, H. A. .N CA640321 JB March 10, 1978 2:10 AM .X 1111 4 1111 1111 5 1111 1111 5 1111 1111 5 1111 894 5 1111 .I 1112 .T A Technique for Computer Detection and Correction of Spelling Errors* .W The method described assumes that a word which cannot be found in a dictionary has at most one error, which might be a wrong, missing or extra letter or a single transposition. The unidentified input word is compared to the dictionary again, testing each time to see if the words match-assuming one of these errors occurred. During a test run on garbled text, correct identifications were made for over 95 percent of these error types. .B CACM March, 1964 .A Damerau, F. J. .N CA640320 JB March 10, 1978 2:21 AM .X 1112 4 1112 1592 4 1112 2111 4 1112 2339 4 1112 440 4 1112 1112 5 1112 1112 5 1112 1112 5 1112 1592 5 1112 2111 5 1112 2339 5 1112 619 5 1112 830 6 1112 982 6 1112 1112 6 1112 1112 6 1112 1112 6 1112 1592 6 1112 1592 6 1112 440 6 1112 619 6 1112 619 6 1112 619 6 1112 .I 1113 .T Computer-Made Perspective Movies as a Scientific and Communication Tool* .W It is easy to program the basic transformation required for a perspective drawing. This fact plus the advent of high speed microfilm printers such as the General Dynamics Electronics S-C 4020 makes possible perspective movies as the direct output from a computer. The programming of such a movie is briefly described for studying the angular motions of a satellite containing an attitude control system. In the movie, a domino-shaped box represents the satellite and a sphere with circles of latitude and longitude represents the earth. The cost was approximately three to eight minutes of IBM 7090 time per one minute of movie. .B CACM March, 1964 .A Zajac, E. E. .N CA640319 JB March 10, 1978 2:26 AM .X 1113 5 1113 1113 5 1113 1113 5 1113 .I 1114 .T Generating a Canonical Prefix Encoding* .W Computer programs for generating a minimum-redundancy exhaustive prefix encoding are described. One program generates a Huffman frequency tree, another determines the structure functions of an encoding, and a third program assigns codes. .B CACM March, 1964 .A Schwartz, E. S. Kallick, B. .N CA640318 JB March 10, 1978 2:28 AM .X 1114 5 1114 1114 5 1114 1114 5 1114 2346 5 1114 2459 5 1114 1114 6 1114 1114 6 1114 .I 1115 .T Randomized Binary Searching With Tree Structure .W A more efficient method of using tree structures is proposed, which utilizers both plus and minus branches in the search path. Very significant gains result when the search key includes alphabetic characters. .B CACM March, 1964 .A Clampett Jr., H. A. .N CA640317 JB March 10, 1978 2:30 AM .X 1115 5 1115 1115 5 1115 1115 5 1115 1935 5 1115 849 6 1115 1115 6 1115 .I 1116 .T Tests on a Computer Method for Constructing School Timetables* .W A previously proposed computer method for constructing timetables, based on an iteration involving Boolean matrices, is described. In limited tests the method has successfully produced timetables on every trial. References are given which relate the timetable problem to theorems on matrices of zeros and ones, and to theorems on bipartite graphs. Some problems of applying the method to constructing timetables in real situations are noted. .B CACM March, 1964 .A Csima, J. Gotlieb, C. C. .N CA640316 JB March 10, 1978 2:34 AM .X 1116 5 1116 1116 5 1116 1116 5 1116 1367 5 1116 2772 5 1116 2787 5 1116 1116 6 1116 1116 6 1116 1116 6 1116 1429 6 1116 1429 6 1116 .I 1117 .T Polyphase Sorting With Overlapped Rewind* .W A variation of the polyphase merge technique of sorting is described which permits one tape at a time to be rewound while the merge is continued on the remaining tapes. The result is the overlapping of a major portion of the rewind time. The technique should be considered whenever a sort is written to operate on five or more tapes that cannot be read backwards. The savings of the overlap method appear to increase as the number of available tapes is increased. .B CACM March, 1964 .A McAlester, R. L. .N CA640315 JB March 10, 1978 2:38 AM .X 1117 4 1117 1117 4 1117 1117 4 1117 2017 4 1117 2017 4 1117 2146 4 1117 2146 4 1117 677 4 1117 860 4 1117 861 4 1117 1117 5 1117 1117 5 1117 1117 5 1117 636 5 1117 862 5 1117 861 5 1117 .I 1118 .T FORTRAN Subroutines for Time Series Data Reduction* .B CACM March, 1964 .A MacGowan, R. A. .N CA640314 JB March 10, 1978 2:39 AM .X 1118 4 1118 1118 4 1118 826 4 1118 948 4 1118 942 5 1118 1118 5 1118 1118 5 1118 1118 5 1118 826 5 1118 .I 1119 .T An Open Letter to X3.4.3 (FORTRAN Standards -- American Association) .B CACM March, 1964 .N CA640313 JB March 10, 1978 2:40 AM .X 1119 5 1119 1119 5 1119 1119 5 1119 .I 1120 .T "ALCOR Group Representations of ALGOL Symbols," Comm. ACM 6 (1963), 597-599. (Corrigenda) .B CACM March, 1964 .N CA640312 JB March 10, 1978 2:42 AM .X 1120 5 1120 1120 5 1120 1120 5 1120 .I 1121 .T Comments on "A Continued Operation Notation"* .W This note is intended to clarify and correct several points in a recent paper describing some notations for symbol manipulation by M.P. Barnett [Comm. ACM 6(August, 1963)]. .B CACM March, 1964 .A Barnett, M. P. Gerard, J. M. Sambles, A. W. .N CA640310 JB March 10, 1978 2:45 AM .X 1062 4 1121 1121 4 1121 1121 4 1121 1139 4 1121 1265 4 1121 1781 4 1121 659 4 1121 720 4 1121 759 4 1121 964 4 1121 1121 5 1121 1121 5 1121 1121 5 1121 464 5 1121 759 5 1121 .I 1122 .T A Note on Some Compiling Algorithms .W Two compiling generators for arithmetic expressions are discussed: one presently in use in an experimental compiler, and an improvement suggested by K. Speierman of Burroughs. .B CACM March, 1964 .A Anderson, J. P. .N CA640309 JB March 10, 1978 3:33 AM .X 1122 5 1122 1122 5 1122 1122 5 1122 1551 5 1122 1945 5 1122 823 6 1122 914 6 1122 915 6 1122 917 6 1122 984 6 1122 989 6 1122 990 6 1122 1012 6 1122 1084 6 1122 1098 6 1122 1122 6 1122 1122 6 1122 1138 6 1122 1139 6 1122 1141 6 1122 1200 6 1122 1223 6 1122 1265 6 1122 1336 6 1122 1396 6 1122 1455 6 1122 1477 6 1122 1487 6 1122 1491 6 1122 1496 6 1122 483 6 1122 584 6 1122 669 6 1122 680 6 1122 763 6 1122 .I 1123 .T Gauss (Algorithm 209) .B CACM March, 1964 .A Gladfelter, G. W. .N CA640308 JB March 10, 1978 3:34 AM .X 1123 5 1123 1123 5 1123 1123 5 1123 .I 1124 .T Matrix Division (Algorithm 197) .B CACM March, 1964 .A Wells, M. .N CA640307 JB March 10, 1978 3:35 AM .X 1124 5 1124 1124 5 1124 1124 5 1124 .I 1125 .T Syminv2 (Algorithm 150) .B CACM March, 1964 .A Naur, P. .N CA640306 JB March 10, 1978 3:36 AM .X 1125 5 1125 1125 5 1125 1125 5 1125 .I 1126 .T ERF (Algorithm 123) .B CACM March, 1964 .A Barton, S. P. Wagner, J. F. .N CA640305 JB March 10, 1978 3:37 AM .X 1126 5 1126 1126 5 1126 1126 5 1126 1583 5 1126 831 6 1126 967 6 1126 1126 6 1126 707 6 1126 .I 1127 .T Tridiagonal Matrix (Algorithm 122) .B CACM March, 1964 .A Naur, P. .N CA640304 JB March 10, 1978 3:39 AM .X 1127 5 1127 1127 5 1127 1127 5 1127 .I 1128 .T Evaluation of Determinant (Algorithm 41) .B CACM March, 1964 .A Rotenberg, L. J. .N CA640303 JB March 10, 1978 3:40 AM .X 1128 5 1128 1128 5 1128 1128 5 1128 1319 5 1128 152 6 1128 1128 6 1128 .I 1129 .T Incomplete Beta Function Ratios (Algorithm 222) .B CACM March, 1964 .A Gautschi, W. .N CA640302 JB March 10, 1978 3:41 AM .X 1129 5 1129 1129 5 1129 1129 5 1129 .I 1130 .T Gamma Function (Althm 221) .B CACM March, 1964 .A Gautschi, W. .N CA640301 JB March 10, 1978 3:42 AM .X 1023 5 1130 1130 5 1130 1130 5 1130 1130 5 1130 1222 5 1130 1130 6 1130 1130 6 1130 245 6 1130 310 6 1130 .I 1131 .T On Context and Ambiguity in Parsing* .B CACM February, 1964 .A Ross, D. T. .N CA640212 JB March 10, 1978 3:43 AM .X 1131 5 1131 1131 5 1131 1131 5 1131 1781 5 1131 123 6 1131 196 6 1131 919 6 1131 990 6 1131 1007 6 1131 1046 6 1131 1131 6 1131 1139 6 1131 1140 6 1131 1149 6 1131 1198 6 1131 1215 6 1131 1223 6 1131 1265 6 1131 1303 6 1131 1323 6 1131 1358 6 1131 1366 6 1131 1421 6 1131 1460 6 1131 1462 6 1131 1463 6 1131 1467 6 1131 1468 6 1131 1477 6 1131 1491 6 1131 1496 6 1131 1531 6 1131 1535 6 1131 1565 6 1131 1601 6 1131 1602 6 1131 1613 6 1131 1614 6 1131 1626 6 1131 1641 6 1131 1787 6 1131 1788 6 1131 205 6 1131 224 6 1131 249 6 1131 288 6 1131 316 6 1131 381 6 1131 398 6 1131 11 6 1131 404 6 1131 410 6 1131 463 6 1131 464 6 1131 483 6 1131 3184 6 1131 3188 6 1131 584 6 1131 600 6 1131 680 6 1131 691 6 1131 763 6 1131 799 6 1131 .I 1132 .T An Extension to ALGOL for Manipulating Formulae* .B CACM February, 1964 .A Perlis, A. J. Iturriaga, R. .N CA640211 JB March 10, 1978 3:45 AM .X 1024 4 1132 1051 4 1132 1086 4 1132 1102 4 1132 1132 4 1132 1132 4 1132 1234 4 1132 1263 4 1132 1265 4 1132 1270 4 1132 1323 4 1132 1358 4 1132 1379 4 1132 1380 4 1132 1390 4 1132 1453 4 1132 1464 4 1132 1484 4 1132 1486 4 1132 1491 4 1132 1498 4 1132 1549 4 1132 1613 4 1132 1614 4 1132 1706 4 1132 1781 4 1132 1825 4 1132 1826 4 1132 1860 4 1132 1878 4 1132 378 4 1132 2060 4 1132 2083 4 1132 2155 4 1132 2168 4 1132 2178 4 1132 2179 4 1132 2252 4 1132 2325 4 1132 2341 4 1132 2546 4 1132 2645 4 1132 2652 4 1132 2684 4 1132 2719 4 1132 2723 4 1132 2838 4 1132 2842 4 1132 2842 4 1132 2855 4 1132 2879 4 1132 2929 4 1132 2934 4 1132 3069 4 1132 3077 4 1132 3080 4 1132 3106 4 1132 627 4 1132 669 4 1132 679 4 1132 691 4 1132 761 4 1132 106 4 1132 949 4 1132 989 4 1132 1132 5 1132 1132 5 1132 1132 5 1132 1214 5 1132 210 5 1132 1396 5 1132 3184 5 1132 964 6 1132 1028 6 1132 1029 6 1132 1083 6 1132 1132 6 1132 1132 6 1132 1214 6 1132 1278 6 1132 1334 6 1132 1365 6 1132 1386 6 1132 1387 6 1132 1388 6 1132 1392 6 1132 1393 6 1132 1394 6 1132 1395 6 1132 1396 6 1132 1397 6 1132 1496 6 1132 284 6 1132 407 6 1132 3199 6 1132 3200 6 1132 3201 6 1132 3202 6 1132 3203 6 1132 3204 6 1132 561 6 1132 730 6 1132 731 6 1132 .I 1133 .T A Programming Package for Some General Modes of Arithmetic* .B CACM February, 1964 .A Brooker, R. A. .N CA640210 JB March 10, 1978 3:46 AM .X 1133 5 1133 1133 5 1133 1133 5 1133 .I 1134 .T Some Effects of the 6600 Computer on Language Structures* .W The problem of compiling efficient 6600 codes prompted the development of an intermediate language reflecting the structure of the machine, that is more easily manipulated in improving object program efficiency. The subject of this paper is the intermediate language and methods of manipulating it. Compilations of a series of arithmetic statements are discussed. It is assumed that all functions and exponentials have been removed from these statements, and replaced by simple variables. For purposes of simplicity the treatment of subscripts is ignored. A simplified 6600 structure is presented to illustrate the compiling method. Several assumptions are made for purposes of simplification, although there are cases in which the assumptions are violated in the actual machine. .B CACM February, 1964 .A Allard, R. W. Wolf, K. A. Zemlin, R. A. .N CA640209 JB March 10, 1978 3:54 AM .X 1134 4 1134 1134 4 1134 1134 4 1134 1141 4 1134 1179 4 1134 1861 4 1134 364 4 1134 405 4 1134 438 4 1134 561 4 1134 44 4 1134 83 4 1134 1134 5 1134 1134 5 1134 1134 5 1134 1613 5 1134 1947 5 1134 408 5 1134 17 5 1134 77 5 1134 987 6 1134 1086 6 1134 1134 6 1134 1134 6 1134 1223 6 1134 1248 6 1134 1453 6 1134 399 6 1134 3184 6 1134 .I 1135 .T A General Business-Oriented Language Based on Decision Expressions* .W The structure of a digital compute programming language which covers a wide class of business and file processing applications is presented. Such a structure, based on identifying and incorporating into a compiler the aspects common to all processes of such class, permits writing extremely compact programs, even for comparatively complex applications, in terms of tables of control expressions which express only information characteristic of the particular application. Furthermore,local changes of a process (e.g. changes affecting only one of the output files involved) can be effected by local modifications in the program (e.g. modification of only one entry of the tables). This structure also allows for inexpensive preparation of loading-speed compilers which translate the source programs into efficient machine codes. The approach adopted here departs from conventional mechanical language design philosophies. It stresses the structural analysis of the class of processes to be represented in the languages, as opposed to emphasizing formal (i.e., contents-independent) syntactical definitions. It relies exclusively on nonprocedural representation of process as sets (tables) of relations between data and results (there are no control statements such as GO TO, etc.), instead of using procedure descriptions (which are one-to-one translations of flowcharts). Here an invariant pattern of procedure is identified as characteristic of the class of all batch file processes. This new philosophy has the potential to overcome well-known deficiencies of other business-oriented languages and fully meets the requirements set by CODASYL for such languages, including machine-independence. .B CACM February, 1964 .A Lombardi, L. A. .N CA640208 JB March 10, 1978 4:08 AM .X 1135 4 1135 1136 4 1135 493 4 1135 2710 4 1135 2765 4 1135 2888 4 1135 2906 4 1135 729 4 1135 1135 5 1135 1135 5 1135 1135 5 1135 1959 5 1135 616 5 1135 1135 6 1135 .I 1136 .T Beginnings of a Theory of Information Handling* .B CACM February, 1964 .A Steel Jr., T. B. .N CA640207 JB March 10, 1978 4:10 AM .X 1135 4 1136 1136 4 1136 1136 4 1136 1136 4 1136 493 4 1136 2710 4 1136 2765 4 1136 2888 4 1136 2906 4 1136 729 4 1136 1136 5 1136 1136 5 1136 1136 5 1136 493 5 1136 616 5 1136 657 5 1136 .I 1137 .T A Format Language* .B CACM February, 1964 .A Perlis, A. J. .N CA640206 JB March 10, 1978 4:15 AM .X 1086 5 1137 1137 5 1137 1137 5 1137 1137 5 1137 1496 5 1137 1137 6 1137 1137 6 1137 1141 6 1137 404 6 1137 3184 6 1137 .I 1138 .T Formalism in Programming Languages* .B CACM February, 1964 .A Iverson, K. E. .N CA640205 JB March 10, 1978 4:24 AM .X 1138 5 1138 1138 5 1138 1138 5 1138 1945 5 1138 823 6 1138 914 6 1138 915 6 1138 917 6 1138 984 6 1138 989 6 1138 990 6 1138 1012 6 1138 1084 6 1138 1098 6 1138 1122 6 1138 1138 6 1138 1139 6 1138 1141 6 1138 1200 6 1138 1223 6 1138 1265 6 1138 1336 6 1138 1396 6 1138 1455 6 1138 1477 6 1138 1487 6 1138 1491 6 1138 1496 6 1138 483 6 1138 584 6 1138 669 6 1138 680 6 1138 763 6 1138 .I 1139 .T FORTRAN IV as a Syntax Language* .B CACM February, 1964 .A Leavenworth, B. M. .N CA640204 JB March 10, 1978 4:53 AM .X 267 4 1139 1046 4 1139 1062 4 1139 1105 4 1139 1121 4 1139 1139 4 1139 1139 4 1139 1139 4 1139 1139 4 1139 1139 4 1139 1139 4 1139 1140 4 1139 1141 4 1139 1215 4 1139 1223 4 1139 1234 4 1139 1263 4 1139 1265 4 1139 1265 4 1139 1265 4 1139 1496 4 1139 1647 4 1139 1665 4 1139 1781 4 1139 1781 4 1139 1781 4 1139 1787 4 1139 1792 4 1139 1824 4 1139 1947 4 1139 364 4 1139 2126 4 1139 405 4 1139 2546 4 1139 438 4 1139 464 4 1139 556 4 1139 584 4 1139 3185 4 1139 631 4 1139 653 4 1139 680 4 1139 720 4 1139 759 4 1139 763 4 1139 763 4 1139 763 4 1139 795 4 1139 799 4 1139 799 4 1139 945 4 1139 1139 5 1139 1139 5 1139 1139 5 1139 224 5 1139 1612 5 1139 1781 5 1139 1945 5 1139 399 5 1139 404 5 1139 438 5 1139 464 5 1139 631 5 1139 823 6 1139 123 6 1139 196 6 1139 914 6 1139 915 6 1139 917 6 1139 919 6 1139 984 6 1139 989 6 1139 990 6 1139 990 6 1139 1007 6 1139 1012 6 1139 1046 6 1139 1084 6 1139 1098 6 1139 1122 6 1139 1131 6 1139 1138 6 1139 1139 6 1139 1139 6 1139 1139 6 1139 1140 6 1139 1141 6 1139 1149 6 1139 1198 6 1139 1200 6 1139 1215 6 1139 1223 6 1139 1223 6 1139 1265 6 1139 1265 6 1139 1303 6 1139 1323 6 1139 1336 6 1139 1358 6 1139 1366 6 1139 1396 6 1139 1421 6 1139 1455 6 1139 1460 6 1139 1462 6 1139 1463 6 1139 1467 6 1139 1468 6 1139 1477 6 1139 1477 6 1139 1487 6 1139 1491 6 1139 1491 6 1139 1496 6 1139 1496 6 1139 1531 6 1139 1535 6 1139 1565 6 1139 1601 6 1139 1602 6 1139 1613 6 1139 1614 6 1139 1626 6 1139 1641 6 1139 1787 6 1139 1788 6 1139 205 6 1139 224 6 1139 249 6 1139 288 6 1139 316 6 1139 381 6 1139 398 6 1139 11 6 1139 404 6 1139 410 6 1139 463 6 1139 464 6 1139 483 6 1139 483 6 1139 3184 6 1139 3188 6 1139 584 6 1139 584 6 1139 600 6 1139 669 6 1139 680 6 1139 680 6 1139 691 6 1139 763 6 1139 763 6 1139 799 6 1139 .I 1140 .T "Structural Connections" in Formal Language* .B CACM February, 1964 .A Irons, E. T. .N CA640203 JB March 10, 1978 4:55 AM .X 249 4 1140 254 4 1140 272 4 1140 1046 4 1140 1102 4 1140 1105 4 1140 1109 4 1140 1139 4 1140 1140 4 1140 1140 4 1140 1188 4 1140 1234 4 1140 1263 4 1140 1265 4 1140 1306 4 1140 1464 4 1140 1491 4 1140 1496 4 1140 1767 4 1140 1781 4 1140 1781 4 1140 1787 4 1140 1824 4 1140 1949 4 1140 321 4 1140 2059 4 1140 2126 4 1140 2126 4 1140 2546 4 1140 435 4 1140 437 4 1140 463 4 1140 464 4 1140 483 4 1140 491 4 1140 2732 4 1140 560 4 1140 583 4 1140 584 4 1140 3073 4 1140 627 4 1140 631 4 1140 631 4 1140 632 4 1140 642 4 1140 644 4 1140 653 4 1140 653 4 1140 680 4 1140 680 4 1140 761 4 1140 762 4 1140 763 4 1140 763 4 1140 795 4 1140 799 4 1140 123 4 1140 140 4 1140 919 4 1140 945 4 1140 989 4 1140 196 5 1140 1140 5 1140 1140 5 1140 1140 5 1140 1491 5 1140 1781 5 1140 2061 5 1140 404 5 1140 123 6 1140 196 6 1140 196 6 1140 919 6 1140 990 6 1140 1007 6 1140 1046 6 1140 1131 6 1140 1139 6 1140 1140 6 1140 1140 6 1140 1140 6 1140 1141 6 1140 1149 6 1140 1198 6 1140 1215 6 1140 1223 6 1140 1265 6 1140 1303 6 1140 1303 6 1140 1323 6 1140 1358 6 1140 1366 6 1140 1421 6 1140 1460 6 1140 1462 6 1140 1463 6 1140 1467 6 1140 1468 6 1140 1477 6 1140 1477 6 1140 1491 6 1140 1491 6 1140 1496 6 1140 1531 6 1140 1535 6 1140 1565 6 1140 1601 6 1140 1602 6 1140 1613 6 1140 1614 6 1140 1626 6 1140 1641 6 1140 1787 6 1140 1788 6 1140 205 6 1140 1825 6 1140 224 6 1140 249 6 1140 288 6 1140 316 6 1140 381 6 1140 398 6 1140 11 6 1140 404 6 1140 410 6 1140 463 6 1140 464 6 1140 483 6 1140 3184 6 1140 3184 6 1140 3188 6 1140 584 6 1140 600 6 1140 680 6 1140 691 6 1140 729 6 1140 763 6 1140 773 6 1140 799 6 1140 .I 1141 .T Bounded Context Syntactic Analysis .B CACM February, 1964 .A Floyd, R. W. .N CA640202 JB March 10, 1978 4:56 AM .X 267 4 1141 1134 4 1141 1139 4 1141 1141 4 1141 1141 4 1141 1215 4 1141 1223 4 1141 1647 4 1141 1781 4 1141 1787 4 1141 1792 4 1141 364 4 1141 364 4 1141 405 4 1141 405 4 1141 438 4 1141 438 4 1141 561 4 1141 44 4 1141 763 4 1141 1141 5 1141 1141 5 1141 1141 5 1141 224 5 1141 1496 5 1141 1683 5 1141 1768 5 1141 1787 5 1141 1945 5 1141 2061 5 1141 77 5 1141 823 6 1141 196 6 1141 914 6 1141 915 6 1141 917 6 1141 984 6 1141 989 6 1141 990 6 1141 1012 6 1141 1084 6 1141 1098 6 1141 1122 6 1141 1137 6 1141 1138 6 1141 1139 6 1141 1140 6 1141 1141 6 1141 1141 6 1141 1141 6 1141 1141 6 1141 1141 6 1141 1141 6 1141 1200 6 1141 1215 6 1141 1223 6 1141 1265 6 1141 1265 6 1141 1336 6 1141 1396 6 1141 1455 6 1141 1477 6 1141 1477 6 1141 1487 6 1141 1491 6 1141 1491 6 1141 1491 6 1141 1491 6 1141 1496 6 1141 1496 6 1141 1781 6 1141 1781 6 1141 1825 6 1141 224 6 1141 404 6 1141 483 6 1141 584 6 1141 669 6 1141 680 6 1141 763 6 1141 763 6 1141 773 6 1141 799 6 1141 .I 1142 .T An Extension of ALGOL-Like Languages .B CACM February, 1964 .A Rose, G. F. .N CA640201 JB March 10, 1978 4:57 AM .X 1102 4 1142 1142 4 1142 1781 4 1142 1945 4 1142 762 4 1142 949 4 1142 1142 5 1142 1142 5 1142 1142 5 1142 483 5 1142 .I 1143 .T Analysis of Decay-Type Data* .W A comparative study has been made of a variety of numerical techniques for fitting experimental data of the decay type by forms involving the sums of exponentials. Statistical errors of the fitted parameters are also calculated. These methods have been applied to artificially-generated sets of data as well as to the results of experiments with radioactive tracers on both human and animal subjects. Results show that the values of the fitted parameters are very sensitive to variations in the fitting procedure. Therefore great care very sensitive to variations in the fitting procedure. Therefore great care must be exercised in identifying such values with physical constants. Although the values of functions derived from these fitted parameters which can definitely be associated with physical entities are generally more stable under variations in the fitting techniques, error bounds can be so large that no great confidence can be placed even in them. It would therefore appear best to select a uniform technique both for running the experiments and for analyzing the data, and then to consider as significant only relative results between one subject and the next. .B CACM January, 1964 .A Worsley, B. H. .N CA640112 JB March 10, 1978 5:11 AM .X 1143 5 1143 1143 5 1143 1143 5 1143 .I 1144 .T Digital Computer Determination of Alpha Source Activity .W A technique is described for determining the activity and homogeneity of an alpha source. It is believed that the technique, using a digital computer, has many uses and applications in the field of nuclear physics. The technique involves computer manipulation of the digital image of the nuclear source. Experimental details are given. .B CACM January, 1964 .A Robbins, D. Taylor, W. E. .N CA640111 JB March 10, 1978 5:14 AM .X 1144 5 1144 1144 5 1144 1144 5 1144 .I 1145 .T GIT-A Heuristic Program for Testing Pairs of Directed Line Graphs for Isomorphism* .W Given a pair of directed line graphs, the problem of ascertaining whether or not they are isomorphic is one for which no efficient algorithmic solution is known. Since a straightforward enumerative algorithm might require 40 years of running time on a very high speed computer in order to compare two 15-node graphs, a more sophisticated approach seems called for. The situation is similar to that prevailing in areas such as game-playing and theorem-proving, where practical algorithms are unknown (for the interesting cases), but where various practical though only partially successful techniques are available. Git-Graph Isomorphism Tester-incorporates a variety of processes that attempt to narrow down the search for an isomorphism, or to demonstrate that none exists. No one scheme is relied upon exclusively for a solution, and the program is designed to avoid excessive computation along fruitless lines. GIT has been written in the COMIT language and successfully tested on the IBM 7090. .B CACM January, 1964 .A Unger, S. H. .N CA640110 JB March 10, 1978 5:24 AM .X 1145 4 1145 1145 5 1145 1145 5 1145 1145 5 1145 1504 5 1145 3040 5 1145 655 5 1145 1145 6 1145 1145 6 1145 .I 1146 .T An Efficient Composite Formula for Multidimensional Quadrature .W A (2s+1)-point second-degree quadrature formula for integration over an s-dimensional hyper-rectangle is presented. All but one of the points lie on the surface with weights of opposite sign attached to points on opposite faces. When a large volume is subdivided into congruent rectangular subdivisions, only one point is required in each interior subdivision to achieve second-degree accuracy. .B CACM January, 1964 .A Thacher Jr., H. C. .N CA640109 JB March 10, 1978 5:28 AM .X 1146 4 1146 1146 5 1146 1146 5 1146 1146 5 1146 386 5 1146 .I 1147 .T On the Numerical Solution of Boundary Value Problems for Linear Ordinary Differential Equations* .W A numerical method is presented for the solution of boundary value problems involving linear ordinary differential equations. The method described is noniterative and makes use of any one-step numerical integration scheme to reduce the problem from one of boundary values to one of initial values. Comments are made concerning some numerical results of applying the method to a specific problem. In addition an extension of the algorithm described to more general problems is discussed. .B CACM January, 1964 .A Day, J. T. Collins II, G. W. .N CA640108 JB March 10, 1978 5:32 AM .X 1147 5 1147 1147 5 1147 1147 5 1147 1274 5 1147 1147 6 1147 .I 1148 .T An Example in "Significant-Digit" Arithmetic* .W Different methods of handling the summing process for the geometric series are shown to give results indicating widely differing significances when carried out in a machine incorporating "significant-digit" arithmetic. .B CACM January, 1964 .A Miller, R. H. .N CA640107 JB March 10, 1978 5:34 AM .X 1148 4 1148 1148 5 1148 1148 5 1148 1148 5 1148 85 5 1148 3131 5 1148 893 6 1148 1148 6 1148 .I 1149 .T GARGOYLE , A Language for Compiler Writing* .B CACM January, 1964 .A Garwick, J. V. .N CA640106 JB March 10, 1978 5:35 AM .X 1149 5 1149 1149 5 1149 1149 5 1149 1781 5 1149 123 6 1149 196 6 1149 919 6 1149 990 6 1149 1007 6 1149 1046 6 1149 1131 6 1149 1139 6 1149 1140 6 1149 1149 6 1149 1198 6 1149 1215 6 1149 1223 6 1149 1265 6 1149 1303 6 1149 1323 6 1149 1358 6 1149 1366 6 1149 1421 6 1149 1460 6 1149 1462 6 1149 1463 6 1149 1467 6 1149 1468 6 1149 1477 6 1149 1491 6 1149 1496 6 1149 1531 6 1149 1535 6 1149 1565 6 1149 1601 6 1149 1602 6 1149 1613 6 1149 1614 6 1149 1626 6 1149 1641 6 1149 1787 6 1149 1788 6 1149 205 6 1149 224 6 1149 249 6 1149 288 6 1149 316 6 1149 381 6 1149 398 6 1149 11 6 1149 404 6 1149 410 6 1149 463 6 1149 464 6 1149 483 6 1149 3184 6 1149 3188 6 1149 584 6 1149 600 6 1149 680 6 1149 691 6 1149 763 6 1149 799 6 1149 .I 1150 .T A Fortran Post-Mortem Procedure .B CACM January, 1964 .A Kahan, W. Leppik, J. J. .N CA640104 JB March 10, 1978 5:37 AM .X 1150 5 1150 1150 5 1150 1150 5 1150 .I 1151 .T A Note on Multiplying Boolean Matrices II .B CACM January, 1964 .A Comstock, D. R. .N CA640103 JB March 10, 1978 5:38 AM .X 1151 4 1151 1265 4 1151 2769 4 1151 1151 5 1151 1151 5 1151 1151 5 1151 635 5 1151 .I 1152 .T Floating-Point Arithmetic with 84-Bit Numbers .W A classic and straightforward technique is presented which is not limited to the size or type of number representation used or multiple precision arithmetic. .B CACM January, 1964 .A Gregory, R. T. Raney, J. L. .N CA640102 JB March 10, 1978 5:41 AM .X 1152 5 1152 1152 5 1152 1152 5 1152 1294 5 1152 1152 6 1152 .I 1153 .T A Fast Procedure for Generating Normal Random Variables* .W A technique for generating normally distributed random numbers is described. It is faster than those currently in general use and is readily applicable to both binary and decimal computers. .B CACM January, 1964 .A Marsaglia, G. MacLaren, M. D. Bray, T. A. .N CA640101 JB March 10, 1978 5:43 AM .X 1073 4 1153 1153 4 1153 940 5 1153 1073 5 1153 1153 5 1153 1153 5 1153 1153 5 1153 2137 5 1153 2276 5 1153 940 6 1153 1073 6 1153 1153 6 1153 1153 6 1153 1153 6 1153 .I 1154 .T Multi-Tape and Infinite-State Automata -- A Survey .W A survey of machines which are more powerful than finite automata and less powerful than general Turing machines is presented. It is felt that the machines in this category are as closely related to digital computers as either the finite automata or the unrestricted Turing machines. Intermediate machines can be created by adjoining on infinite-state memory to a finite-state machine and then performing any or all of the following: (1) restrict the manner in which the unbounded portion of the memory can be accessed, (2) bound the number of steps allowed for a computation by some increasing recursive function of the length of the input, (3) restrict the total amount of memory available in the same manner. Examples from all three classes and their properties are discussed. .B CACM December, 1965 .A Fischer, P. C. .N CA651215 JB March 6, 1978 3:24 PM .X 1154 5 1154 1154 5 1154 1154 5 1154 .I 1155 .T Experiments with a Deductive Question-Answering Program .W As an investigation in artificial intelligence, computer experiments on deductive question-answering were run with a LISP program called DEDUCOM, an acronym for DEDUctive COMmunicator. When given 68 facts, DEDUCOM answered 10 questions answerable from the facts. A fact tells DEDUCOM either some specific information or a method of answering a general kind of question. Some conclusions drawn in the article are: (1) DEDUCOM can answer a wide variety of questions. (2) A human can increase the deductive power of DEDUCOM by telling it more facts. (3) DEDUCOM can write very simple programs (it is hoped that this ability is the forerunner of an ability to self-program, which is a way to learn). (4)DEDUCOM's search procedure at present has two bad defects: some questions answerable from the given facts cannot be answered and some other answerable questions can be answered only if the relevant facts are given in the "right" order. (6) At present, DEDUCOM's method of making logical deductions in predicate calculus has two bad defects: some facts have to be changed to logically equivalent ones before being given to DEDUCOM, and some redundant facts have to be given to DEDUCOM. .B CACM December, 1965 .A Slagle, J. R. .N CA651214 JB March 6, 1978 3:34 PM .X 1155 4 1155 1456 4 1155 1468 4 1155 1515 4 1155 1699 4 1155 1856 4 1155 2127 4 1155 1155 5 1155 1155 5 1155 1155 5 1155 1324 5 1155 1515 5 1155 2096 5 1155 2127 5 1155 2210 5 1155 1155 6 1155 1155 6 1155 1155 6 1155 1155 6 1155 1324 6 1155 1324 6 1155 1487 6 1155 1527 6 1155 1781 6 1155 1856 6 1155 .I 1156 .T Hankel Function (Algorithm 124 [S17]) .B CACM December, 1965 .A Reilly, G. A. .N CA651213 JB March 6, 1978 3:35 PM .X 1156 5 1156 1156 5 1156 1156 5 1156 .I 1157 .T Procedure for the Normal Distribution Functions (Algorithm 272 [S15]) .B CACM December, 1965 .A MacLaren, M. D. .N CA651212 JB March 6, 1978 3:37 PM .X 1157 4 1157 1157 4 1157 1157 4 1157 1157 4 1157 1779 4 1157 1920 4 1157 1944 4 1157 1987 4 1157 2548 4 1157 1081 5 1157 1157 5 1157 1157 5 1157 1157 5 1157 485 5 1157 714 5 1157 836 5 1157 .I 1158 .T Program Structures for Parallel Processing .W Constructs for organizing and explicating parallel program segments are discussed as extensions to ALGOL 60. The constructs serve as meta-commands and are motivated by equipment having multiprocessing capability. .B CACM December, 1965 .A Anderson, J. P. .N CA651211 JB March 6, 1978 3:39 PM .X 1158 4 1158 1158 5 1158 1158 5 1158 1158 5 1158 1262 5 1158 .I 1159 .T Machine Independence: Its Technology and Economics .W A survey is offered of techniques for transferring programs, and especially compilers, from one computer to another. Of the methods examined, the "bootstrap" technique is singled out for detailed discussion, with emphasis on its economics. The considerations that determine the applicability of bootstrapping in any specific case are discussed, and an attempt is made to assign appropriate qualitative weights to them. Finally, reasons are given for believing that the machine-independence problem is being substantially diminished by current trends in computer design, and that it is this process of convergence in hardware design rather than any foreseeable software developments that will lead to its satisfactory resolution. .B CACM December, 1965 .A Halpern, M. I. .N CA651210 JB March 6, 1978 3:44 PM .X 1159 4 1159 1988 4 1159 381 4 1159 1159 5 1159 1159 5 1159 1159 5 1159 14 5 1159 .I 1160 .T CAT: A 7090-3600 Computer-Aided Translation .W A semi-automatic translation system has been implemented which converts 7090 FAP language programs into 3600 assembly language. The input to the system is a FAP program deck which has been specially prepared for translation by the user. The output consists of the translated COMPASS language program together with a comprehensive diagnostic listing which the user must analyze in order to verify any questionable areas of the translation. The translation processor consists of three distinct phases: an assembly of the FAP program, a comprehensive analysis of the assembled code with particular regard to the actions of instructions upon other instructions and upon data, and finally the output pass which generates the COMPASS program in the form of macro instructions. .B CACM December, 1965 .A Wilson, D. M. Moss, D. J. .N CA651209 JB March 6, 1978 3:50 PM .X 1160 4 1160 2034 4 1160 1160 5 1160 1160 5 1160 1160 5 1160 1231 5 1160 .I 1161 .T 1401 Compatibility Feature on the IBM System/360 Model 30 .W The "second generation" of stored-program computers, of which IBM 1400 series was a part, brought EDP into the mass market for the first time on a large scale. As this era unfolded, rapid changes in technology led to rapid obsolescence of data processing equipment. Program written for a particular system required tedious conversion as incompatible new machines came into use. The IBM System/360 has been designed with the conversion problem specifically in mind. One of the conversion aids available on the Model 30 is the 1401 compatibility feature. This feature, in conjunction with other aids, permits a smooth and inexpensive transition to optimum use of the new system. .B CACM December, 1965 .A McCormack, M. A. Schansman, T. T. Womack, K. K. .N CA651208 JB March 6, 1978 3:55 PM .X 1161 5 1161 1161 5 1161 1161 5 1161 .I 1162 .T An Assembly Language for Reprogramming .W Complete reprogramming of compiler language programs is seldom necessary. It is assembly language programs which present the greatest difficulty. Assembly languages generally provide a one-for-one translation from a symbolic to a numeric version of a program, that is, from assembly language to machine language. The meta-language presented here can be used to specify the mapping of any language which conforms to a canonical list form into an arbitrary stream of bits. This bit stream may be treated as a machine language program, a character stream, or whatever else the user might desire. Thus, this meta-language can be used to map from one assembly language into another or from the assembly language for one machine into the machine language of another. .B CACM December, 1965 .A Graham, M. L. Ingerman, P. Z. .N CA651207 JB March 6, 1978 4:01 PM .X 1162 5 1162 1162 5 1162 1162 5 1162 1565 5 1162 1162 6 1162 1358 6 1162 1455 6 1162 205 6 1162 .I 1163 .T Philco/IBM Translation at Problem-Oriented, Symbolic and Binary Levels .W A translation system has been developed to eliminate most of the effort formerly required to reprogram Philco 2000 series codes for IBM 7094 operation. Experience with this system is limited but highly successful encouraging application of the techniques to other source and object languages. .B CACM December, 1965 .A Olsen, T. M. .N CA651206 JB March 6, 1978 4:05 PM .X 1163 5 1163 1163 5 1163 1163 5 1163 .I 1164 .T Emulation of Large Systems .W The conversion problem and a new technique called emulation are discussed. The technique of emulation is developed and includes sections on both the Central Processing Unit (CPU) and the Input/Output unit (I/O). This general treatment is followed by three sections that describe in greater detail the implementation of compatibility features using the emulation techniques for the IBM 7074, 7080 and 7090 systems on IBM System/360. .B CACM December, 1965 .A Tucker, S. G. .N CA651205 JB March 6, 1978 4:09 PM .X 1164 5 1164 1164 5 1164 1164 5 1164 .I 1165 .T The Spectra 70/45 Emulator for the RCA 301 .W The RCA 301 Emulator System is supplied with the Spectra 70/45 as a reprogramming aid. It allows an RCA 301 object program to be run on the Spectra 70/45 without necessitating changes in the RCA 301 object code. Execution rates are considerably better than traditional simulation. The Emulator provides an increase in throughput capacity for the 301 user on the Spectra 70/45. The Emulator makes use of both hardware micro-program routines and software routines to accomplish its function. .B CACM December, 1965 .A Benjamin, R. I. .N CA651204 JB March 6, 1978 4:15 PM .X 1165 5 1165 1165 5 1165 1165 5 1165 .I 1166 .T A Use of Macros in Translation of Symbolic Assembly Language of One Computer to Another .W A set of macro-operations has been prepared to assist in translating IBM 7090 symbolic assembly language programs to IBM 7040 machine language programs. This set, inserted at the beginning of the 7090 symbolic deck, treats incompatible instruction mnemonics as macro-instructions to produce equivalent 7040 instruction sets. Incompatible instructions are categorized into basic operational classes which can be expressed by a single basic skeleton. Several levels of macro calls are required to supply arguments to the basic skeleton for each particular instruction. Modification at execution time of the address or tag of an incompatible instruction requires incorporation of an address-tag equivalent. I/O is handled by generating calls to I/O simulation subroutines. .B CACM December, 1965 .A Dellert Jr., G. T. .N CA651203 JB March 6, 1978 4:20 PM .X 1166 5 1166 1166 5 1166 1166 5 1166 .I 1167 .T On the Translation of Machine Language Programs .W Automatic translation of machine language programs is becoming a highly desirable goal with the advent of new large-scale computers. The pitfalls that make it difficult to achieve completely automatic translations are analyzed, and it is shown that these are primarily of a semantic nature. A semi-automatic procedure for resolving semantic problems is suggested. .B CACM December, 1965 .A Gaines, R. S. .N CA651202 JB March 6, 1978 4:23 PM .X 1167 5 1167 1167 5 1167 1167 5 1167 .I 1168 .T Across Machine Lines in COBOL .W The production of a large, file-maintenance-and-retrieval program system written in COBOL is described. The COBOL language was used specifically to enable the system to operate on three IBM computers. .B CACM December, 1965 .A Fredericks, D. S. Warburtin, C. R. .N CA651201 JB March 6, 1978 4:26 PM .X 1168 5 1168 1168 5 1168 1168 5 1168 .I 1169 .T An Algorithm for Minimizing Backboard Wiring Functions .W A partially exhaustive algorithm is presented for solving the following problem arising from automatic layout of a computer. Given an ordered set E1, E2,..., EN of N computer components, for each permutation of the elements E1, E2.., EN, there is attached a value of an integer function F. The algorithm finds a local minimum of F by evaluating the set {Delta F} of the increments corresponding to a certain set of exchanges of two elements.Then the exchange corresponding to the least negative increment of {Delta F} is performed. The process is iterated and stopped when the set of the increments is a positive or empty set, which, it is proved, corresponds to a minimum. The procedure is similar to the Downhill Method for finding the minimum of a real function F(P), and can be applied to other placement problems. Experimental results are presented with backboards formed by many elements and different initial placements. .B CACM November, 1965 .A Pomentale, T. .N CA651112 JB March 6, 1978 4:35 PM .X 1169 5 1169 1169 5 1169 1169 5 1169 .I 1170 .T Analyzing English Syntax with a Pattern-Learning Parser .W A dependency analysis system based on pattern recognition and learning logic was developed to infer word classes and rules of syntactic combination from experience with text which had been analyzed. The characteristics used to form word classes are the depth in the dependency tree of each word, the direction of its governor and the same features for each of its immediate neighbors. Syntactic rules of combination show the relation of a word to its governor in the depth pattern of the sentence. The system was tested on 400 elementary basic English sentences including 300 used earlier by Knowlton in a different learning parser of all 400 sentences. After experience with 300 sentences it was able to generalize with 77 percent accuracy to the next 100. In accumulative learning trials after the first 200 sentences it averaged a probability of .9 for accurately parsing each new sentence it encountered. It was concluded that the system is adequate for learning to parse the bulk of basic English but that further development is required before conclusions about its application to ordinary English can be stored. The system is operational and available on the ARPA/SDC time-shared computing system. .B CACM November, 1965 .A McConlogue, K. Simmons, R. F. .N CA651111 JB March 6, 1978 4:45 PM .X 1170 5 1170 1170 5 1170 1170 5 1170 .I 1171 .T A Comparison of the Primal-Simplex and Primal-Dual Algorithms for Linear Programming .W A statistical comparison of the primal-dual and the more commonly used primal-simplex algorithm for solving linear programming problems has been made under the assumption of starting with a full artificial basis. Under these conditions the primal-dual method shows a statistically significant superiority on randomly generated problems. It has also been found, via a regression analysis, that the relevant parameters in determining the difference in the number of iterations between the algorithms is not only the number of constraints and the number of variables but also the ratio of the latter to the former. .B CACM November, 1965 .A Mueller, R. K. Cooper, L. .N CA651110 JB March 6, 1978 4:50 PM .X 1171 5 1171 1171 5 1171 1171 5 1171 .I 1172 .T Conversion of Limited-Entry Decision Tables to Computer Programs .W Decision tables are useful for describing a set of complex decision rules based on given sets of conditions. Algorithms that can efficiently convert the tables into computer programs will extend the usefulness of decision tables to computer users. Two such algorithms, based on work done by M. S. Montalbano, are described and extended here to handle dashes and ELSE-decision rules. The first algorithm minimizes the computer storage space required for the resultant program, the second minimizes computer running time. During the conversion process, both pinpoint any contradictions or redundancies among the rules in a table. .B CACM November, 1965 .A Pollack, S. L. .N CA651109 JB March 6, 1978 4:56 PM .X 1172 5 1172 1172 5 1172 1172 5 1172 1354 5 1172 2053 5 1172 2220 5 1172 2273 5 1172 2453 5 1172 2598 5 1172 2726 5 1172 2856 5 1172 1172 6 1172 1172 6 1172 1172 6 1172 1172 6 1172 1172 6 1172 1172 6 1172 1172 6 1172 1172 6 1172 1237 6 1172 1237 6 1172 1237 6 1172 1237 6 1172 1327 6 1172 1327 6 1172 1327 6 1172 1327 6 1172 1327 6 1172 1327 6 1172 1354 6 1172 1354 6 1172 1354 6 1172 1354 6 1172 1354 6 1172 1354 6 1172 1488 6 1172 1489 6 1172 1489 6 1172 1548 6 1172 1548 6 1172 1548 6 1172 1684 6 1172 250 6 1172 2053 6 1172 2053 6 1172 2053 6 1172 2220 6 1172 2220 6 1172 2220 6 1172 2220 6 1172 2220 6 1172 2221 6 1172 2263 6 1172 2263 6 1172 2453 6 1172 2453 6 1172 2598 6 1172 2691 6 1172 753 6 1172 .I 1173 .T The Performance of a System for Automatic Segmentation of Programs Within an ALGOL Compiler (GIER ALGOL) .W The GIER ALGOL compiler makes use of an automatic system for handling the transfers of program segments from the drum store to the core store at program execution time. The logic of this system is described. The performance of the system is discussed, primarily on the basis of execution times related to two specific programs. This discussion concludes with an assessment of the potential gains of various ways of improving the system. .B CACM November, 1965 .A Naur, P. .N CA651108 JB March 6, 1978 5:00 PM .X 1173 4 1173 1188 4 1173 1173 5 1173 1173 5 1173 1173 5 1173 1774 5 1173 2343 5 1173 642 5 1173 800 6 1173 1173 6 1173 1173 6 1173 1774 6 1173 1845 6 1173 271 6 1173 .I 1174 .T Inverse Permutation (Algorithm 250 [G6]) .B CACM November, 1965 .A Medlock, C. W. .N CA651107 JB March 6, 1978 5:01 PM .X 1174 5 1174 1174 5 1174 1174 5 1174 .I 1175 .T Quickersort (Algorithm 271 [M1]) .B CACM November, 1965 .A Scowen, R. S. .N CA651106 JB March 6, 1978 5:02 PM .X 1175 4 1175 1175 4 1175 1919 4 1175 1919 4 1175 1969 4 1175 1997 4 1175 2017 4 1175 2041 4 1175 2191 4 1175 2216 4 1175 2388 4 1175 2679 4 1175 3054 4 1175 3121 4 1175 1175 5 1175 1175 5 1175 1175 5 1175 1919 5 1175 1969 5 1175 308 5 1175 2118 5 1175 2348 5 1175 2679 5 1175 3054 5 1175 864 5 1175 864 6 1175 970 6 1175 1175 6 1175 1175 6 1175 1175 6 1175 1175 6 1175 1175 6 1175 1175 6 1175 1190 6 1175 1228 6 1175 1880 6 1175 1919 6 1175 1969 6 1175 1969 6 1175 1980 6 1175 1997 6 1175 1997 6 1175 307 6 1175 308 6 1175 308 6 1175 308 6 1175 308 6 1175 309 6 1175 309 6 1175 2017 6 1175 2042 6 1175 2679 6 1175 74 6 1175 3187 6 1175 3187 6 1175 507 6 1175 716 6 1175 776 6 1175 783 6 1175 .I 1176 .T Finding Eigenvectors by Gaussian Elimination (Algorithm 270 [F2]) .B CACM November, 1965 .A Newhouse, A. .N CA651105 JB March 6, 1978 5:03 PM .X 1176 5 1176 1176 5 1176 1176 5 1176 .I 1177 .T Determinant Evaluation (Algorithm 269 [F3]) .B CACM November, 1965 .A Pfann, J. .N CA651104 JB March 6, 1978 5:05 PM .X 1177 4 1177 806 4 1177 1177 5 1177 1177 5 1177 1177 5 1177 1931 5 1177 1946 5 1177 454 5 1177 878 6 1177 902 6 1177 1093 6 1177 1177 6 1177 1177 6 1177 1387 6 1177 1393 6 1177 311 6 1177 360 6 1177 731 6 1177 .I 1178 .T ALGOL 60 Reference Language Editor (Algorithm 268 [R2]) .B CACM November, 1965 .A McKeeman, W. M. .N CA651103 JB March 6, 1978 5:06 PM .X 1178 5 1178 1178 5 1178 1178 5 1178 .I 1179 .T PUFFT-The Purdue University Fast FORTRAN Translator .W A core resident, compile-and-go system designed for the IBM 7090/7094 computer is described. In little more than half of the 32k word core memory PUFFT provides a monitor for job sequencing, a translator for the full FORTRAN IV language, the FORTRAN subroutine library, an input--output system for use at compile time and at execute time, and a rather elaborate diagnostic message writing routine. Batches of small- and medium-sized FORTRAN IV source language programs are processed at very high speeds. Language compatibility has been maintained so that programs may be debugged in the PUFFT system and then recompiled and run in the IBJOB-IBFTC system supplied by the manufacturer. .B CACM November, 1965 .A Rosen, S. Spurgeon, A. Donnelly, J. K. .N CA651102 JB March 6, 1978 6:17 PM .X 1134 4 1179 1179 4 1179 1179 4 1179 1288 4 1179 1544 4 1179 1646 4 1179 1861 4 1179 2111 4 1179 2534 4 1179 2556 4 1179 2650 4 1179 1179 5 1179 1179 5 1179 1179 5 1179 1646 5 1179 1647 5 1179 408 5 1179 830 5 1179 830 6 1179 987 6 1179 1072 6 1179 1179 6 1179 1179 6 1179 1647 6 1179 224 6 1179 680 6 1179 .I 1180 .T AXLE: An Axiomatic Language for String Transformations .W AXLE is a language designed for data manipulation. Data arranged in a linear form in a workspace is transformed according to a table of axioms, called imperatives. A transformation consists of a matching procedure, which decides where an imperative is applicable, and a replacement procedure that modifies that part of the workspace. Imperatives are applied in accordance with definitions of symbolic terms, presented systematically in an assertion table. The process of definition includes the special case of recursive assertions. Several complete programs of imperatives are given to show a few applications of the language. .B CACM November, 1965 .A Cohen, I. Wegstein, J. H. .N CA651101 JB March 6, 1978 6:22 PM .X 1180 5 1180 1180 5 1180 1180 5 1180 1395 5 1180 1706 5 1180 1180 6 1180 1180 6 1180 1395 6 1180 210 6 1180 .I 1181 .T A Simple Data Transmission System Using the Office Telephone .W A method has evolved for transmitting data of a type originating in many laboratory situation direct to a central computer. The method requires almost no specialized equipment and uses any ordinary telephone on a "callup" basis. Present applications include cardiac-output calculations, radio-activity tracer studies and neurophysiology time-sequence studies of nerve impulses. .B CACM October, 1965 .A Neilsen, I. R. .N CA651014 JB March 6, 1978 6:25 PM .X 1181 4 1181 1181 5 1181 1181 5 1181 1181 5 1181 698 5 1181 .I 1182 .T Contextual Correlates of Synonymy .W Experimental corroboration was obtained for the hypothesis that the proportion of words common to the contexts of word A and to the contexts of word B is a function of the degree to which A and B are similar in meaning. The shapes of the functions, however, indicate that similarity of context is reliable as criterion only for detecting pairs of words that are very similar in meaning. .B CACM October, 1965 .A Rubenstein, H. Goodenough, J. B. .N CA651013 JB March 6, 1978 6:29 PM .X 1182 5 1182 1182 5 1182 1182 5 1182 .I 1183 .T A Note on the Use of a Digital Computer for Doing Tedious Algebra and Programming .W A special purpose compiler was written with FORTRAN II language and made possible the writing of very long programs by the computer. The procedure is based on a straight-forward use of FORMAT statements for generating machine-written programs. .B CACM October, 1965 .A Veronis, G. .N CA651012 JB March 6, 1978 6:31 PM .X 1183 5 1183 1183 5 1183 1183 5 1183 .I 1184 .T A Fast Storage Allocator .W A fast storage bookkeeping method is described which is particularly appropriate for list-structure operations and other situations involving many sizes of blocks that are fixed in size and location. This scheme, used in the LLLLLL or L6 (Bell Telephone Laboratories Low-Level List Language), makes available blocks of computer registers in several different sizes: the smaller blocks are obtained by successively splitting larger ones in half, and the larger blocks are reconstituted if and when their parts are simultaneously free. .B CACM October, 1965 .A Knowlton, K.C. .N CA651011 JB March 6, 1978 6:35 PM .X 1184 5 1184 1184 5 1184 1184 5 1184 1389 5 1184 1552 5 1184 2162 5 1184 2435 5 1184 2596 5 1184 2768 5 1184 2845 5 1184 2902 5 1184 2955 5 1184 1051 6 1184 1062 6 1184 1184 6 1184 1184 6 1184 1184 6 1184 1184 6 1184 1184 6 1184 1184 6 1184 1184 6 1184 1184 6 1184 1184 6 1184 1211 6 1184 1389 6 1184 1421 6 1184 1552 6 1184 1879 6 1184 1879 6 1184 378 6 1184 2435 6 1184 2435 6 1184 2435 6 1184 2435 6 1184 2435 6 1184 2596 6 1184 2596 6 1184 2598 6 1184 2734 6 1184 2736 6 1184 2747 6 1184 2747 6 1184 2747 6 1184 2768 6 1184 2768 6 1184 2773 6 1184 .I 1185 .T A program to Solve the Pentomino Problem by the Recursive Use of Macros .W A coding technique is described in which certain macro-instructions are given lists as arguments and are thereby used recursively. The discussion covers primarily an example in which the technique is used to solve the pentomino problem-the problem of fitting 12 pentominos without overlapping into a plane area formed of 60 elemental squares. .B CACM October, 1965 .A Fletcher, J. G. .N CA651010 JB March 6, 1978 6:37 PM .X 1185 5 1185 1185 5 1185 1185 5 1185 1531 5 1185 2707 5 1185 2753 5 1185 1185 6 1185 1185 6 1185 1185 6 1185 1455 6 1185 .I 1186 .T Recursive Solution of a Class Of Combinatorial Problems: An Example .W Combinatorial problems requiring the selection of n elements from a set of m elements may be solved by a recursion process analogous to that for computing binomial coefficients. Several specific problems are analyzed, the general technique is exposed, and an ALGOL program is developed for one of the problems. .B CACM October, 1965 .A Lynch,W. C. .N CA651009 JB March 6, 1978 6:40 PM .X 1186 5 1186 1186 5 1186 1186 5 1186 .I 1187 .T Note on an ASCII-Octal Code Table (Standards) .B CACM October, 1965 .A Crosby, W. S. .N CA651008 JB March 6, 1978 6:42 PM .X 1187 5 1187 1187 5 1187 1187 5 1187 .I 1188 .T An ALGOL-like Computer Design Language .W The idea of constructing a computer design language by making use of an ALGOL-like programming language is presented. A computer designer can benefit from using a design language at a higher level just as a computer user can benefit from a higher level programming language. The purposes and requirements of the design language are enumerated. To achieve most of the purposes a translator is required to translate a design of computer logic into a set of Boolean equations. The design language is presented in terms of vocabulary, statements, sequences and microprogram. Included are examples of identifiers, expressions with both unary and binary operators, declaration statements, transfer statements, terminal statements, exchange statements, if statements, do statements, go to statements, several sequences and a microprogram. .B CACM October, 1965 .A Chu, Y. .N CA651007 JB March 6, 1978 6:48 PM .X 249 4 1188 254 4 1188 272 4 1188 1102 4 1188 1109 4 1188 1140 4 1188 1173 4 1188 1188 4 1188 1188 4 1188 1306 4 1188 1464 4 1188 1491 4 1188 1767 4 1188 1781 4 1188 1787 4 1188 1949 4 1188 321 4 1188 2059 4 1188 2126 4 1188 435 4 1188 437 4 1188 463 4 1188 483 4 1188 491 4 1188 2732 4 1188 560 4 1188 583 4 1188 3073 4 1188 627 4 1188 631 4 1188 632 4 1188 642 4 1188 644 4 1188 653 4 1188 680 4 1188 761 4 1188 762 4 1188 763 4 1188 123 4 1188 140 4 1188 919 4 1188 989 4 1188 196 5 1188 1188 5 1188 1188 5 1188 1188 5 1188 642 5 1188 .I 1189 .T Random Normal Deviate (Algorithm 267 [G5]) .B CACM October, 1965 .A Pike, M. C. .N CA651006 JB March 6, 1978 6:49 PM .X 1189 5 1189 1189 5 1189 1189 5 1189 1716 5 1189 1189 6 1189 .I 1190 .T Pseudo-Random Numbers (Algorithm 266 [G5]) .B CACM October, 1965 .A Pike, M. C. Hill, I. D. .N CA651005 JB March 6, 1978 6:51 PM .X 1190 4 1190 1190 5 1190 1190 5 1190 1190 5 1190 1663 5 1190 2195 5 1190 2679 5 1190 456 5 1190 970 6 1190 1175 6 1190 1190 6 1190 1190 6 1190 1190 6 1190 1228 6 1190 1648 6 1190 1969 6 1190 1997 6 1190 308 6 1190 2042 6 1190 3187 6 1190 507 6 1190 716 6 1190 783 6 1190 .I 1191 .T Find Precedence Functions (Algorithm 265 [L2]) .B CACM October, 1965 .A Wirth, N. .N CA651004 JB March 6, 1978 6:52 PM .X 1191 5 1191 1191 5 1191 1191 5 1191 1836 5 1191 2340 5 1191 1191 6 1191 1191 6 1191 1477 6 1191 1491 6 1191 1491 6 1191 1683 6 1191 1781 6 1191 1836 6 1191 577 6 1191 .I 1192 .T Interpolation in a Table (Algorithm 264 [E1]) .B CACM October, 1965 .A Stafford, J. .N CA651003 JB March 6, 1978 6:52 PM .X 1192 5 1192 1192 5 1192 1192 5 1192 .I 1193 .T Gomory 1 (Algorithm 263 [H]) .B CACM October, 1965 .A Langmaack, H. .N CA651002 JB March 6, 1978 6:54 PM .X 1193 5 1193 1193 5 1193 1193 5 1193 .I 1194 .T Establishment of the ACM Repository and Principles of the IR System Applied to its Operation .W The history of the establishment of the ACM Repository at the Moore School, University of Pennsylvania, is reviewed briefly. Two principles are presented as paramount in the provision of information services: (1) easy accessibility to the information files by users unfamiliar with file organization, and (2) value of service exceeding user costs. These principles serve as guides in mechanizing the ACM Repository. The main features of the information system are direct user access via on-line teletypewriter console, direct user access to all details of the system organization, unrestricted and expandable search vocabulary, user access through many facets of document indexing, and stochastic search through linked index terms and other file relationships. The first contribution to the ACM Repository consisted of 315 documents, relating primarily to early research on compilers. These documents have been cataloged and indexed and the catalog is scheduled to appear in Computing Reviews. The indexing system is described in detail. The Main Catalog is used to describe the documents, and inverted lists are provided by the Repository system for retrieval by concept coordination. .B CACM October, 1965 .A Rubinoff, M. White Jr., J. F. .N CA651001 JB March 6, 1978 7:03 PM .X 1194 5 1194 1194 5 1194 1194 5 1194 1681 5 1194 1699 5 1194 1194 6 1194 1194 6 1194 1324 6 1194 1681 6 1194 .I 1195 .T UPLIFTS-University of Pittsburgh Linear File Tandem System .W A series of computer programs has been developed and is now operational for processing the National Aeronautics and Space Administration linear file system on an IBM 1401-7090 combined data processing system. The program are note-worthy in that they create fixed length logical records and fixed length blocks from variable length source data, and format the output for optimization of processing on the IBM 7090 system. The programs are completely self-checking and test for both validity and accuracy of the input materials as provided by the National Aeronautics and Space Administration. .B CACM September, 1965 .A Canter, J. D. Donaghey, C. E. .N CA650911 JB March 6, 1978 7:10 PM .X 1195 5 1195 1195 5 1195 1195 5 1195 .I 1196 .T Applications of Differential Equations in General Problem Solving .W A large class of problems leading to digital computer processing can be formulated in terms of the numerical solution of systems of ordinary differential equations. Powerful methods are in existence for the solution of such systems. A good general purpose routine for the solution of such systems furnishes a powerful tool for processing many problems. This is true from the point of view of ease of programming, ease of debugging, and minimization of computer time. A number of examples are discussed in detail. .B CACM September, 1965 .A Klopfenstein, R. W. .N CA650910 JB March 6, 1978 7:16 PM .X 1196 5 1196 1196 5 1196 1196 5 1196 .I 1197 .T Finding Zeros of a Polynomial by the Q-D Algorithm .W A method which finds simultaneously all the zeros of a polynomial, developed by H. Rutishauser, has been tested on a number of polynomials with real coefficients. This slowly converging method (the Quotient-Difference (Q-D) algorithm) provides starting values for a Newton or a Bairstow algorithm for more rapid convergence. Necessary and sufficient conditions for the existence of the Q-D scheme are not completely known; however, failure may occur when zeros have equal, or nearly equal magnitudes. Success was achieved, in most of the cases tried, with the failures usually traceable to the equal magnitude difficulty. In some cases, computer roundoff may result in errors which spoil the scheme. Even if the Q-D algorithm does not give all the zeros, it will usually find a majority of them. .B CACM September, 1965 .A Henrich, P. Watkins, B. O. .N CA650908 JB March 6, 1978 7:21 PM .X 1197 5 1197 1197 5 1197 1197 5 1197 1524 5 1197 879 6 1197 1197 6 1197 311 6 1197 .I 1198 .T Solution of a Problem in Concurrent Programming Control .W A number of mainly independent sequential-cyclic processes with restricted means of communication with each other can be made in such a way that at any moment one and only one of them is engaged in the "critical section" of its cycle. .B CACM September, 1965 .A Dijkstra, E. W. .N CA650908 JB March 6, 1978 7:24 PM .X 1198 5 1198 1198 5 1198 1198 5 1198 1781 5 1198 2150 5 1198 2228 5 1198 2256 5 1198 2317 5 1198 2342 5 1198 2376 5 1198 2618 5 1198 3184 5 1198 123 6 1198 196 6 1198 919 6 1198 990 6 1198 1007 6 1198 1046 6 1198 1131 6 1198 1139 6 1198 1140 6 1198 1149 6 1198 1198 6 1198 1198 6 1198 1198 6 1198 1198 6 1198 1198 6 1198 1198 6 1198 1198 6 1198 1198 6 1198 1198 6 1198 1215 6 1198 1223 6 1198 1265 6 1198 1303 6 1198 1323 6 1198 1338 6 1198 1338 6 1198 1338 6 1198 1338 6 1198 1338 6 1198 1358 6 1198 1366 6 1198 1421 6 1198 1460 6 1198 1462 6 1198 1463 6 1198 1467 6 1198 1468 6 1198 1477 6 1198 1491 6 1198 1496 6 1198 1531 6 1198 1535 6 1198 1565 6 1198 1572 6 1198 1601 6 1198 1602 6 1198 1613 6 1198 1614 6 1198 1626 6 1198 1641 6 1198 1693 6 1198 1749 6 1198 1749 6 1198 1749 6 1198 1749 6 1198 1749 6 1198 1749 6 1198 1753 6 1198 1781 6 1198 1787 6 1198 1788 6 1198 205 6 1198 224 6 1198 249 6 1198 1877 6 1198 288 6 1198 1960 6 1198 316 6 1198 381 6 1198 398 6 1198 11 6 1198 2126 6 1198 2148 6 1198 2256 6 1198 404 6 1198 410 6 1198 463 6 1198 464 6 1198 483 6 1198 3184 6 1198 3188 6 1198 557 6 1198 584 6 1198 600 6 1198 680 6 1198 691 6 1198 763 6 1198 799 6 1198 .I 1199 .T A Computer Center Simulation Project .W Today's computation centers are based on rapidly changing technologies of hardware and software systems. It is difficult, therefore, to base decisions on experience; in most instances, the benefits of comparable experience for a given problem situation are not available. In this paper, a mathematical model of the Lockheed Central Computer Center is formulated that describes the operation of a computation center in terms of information nets, decision processes, and control functions. Experiments performed with this model, the results of the experiments, and the application of the results are discussed. .B CACM September, 1965 .A Hutchinson, G. K. .N CA650907JB March 6, 1978 7:29 PM .X 1199 5 1199 1199 5 1199 1199 5 1199 .I 1200 .T On Reversible Subroutines and Computers that Run Backwards .W A computer design is describe which permits subroutines to be executed backward as well as forward, either with their instructions unchanged or replaced with conjugate instructions. It is shown that using this concept a number of new subroutine types can be developed with rather unusual properties. Since these properties are analogous to certain matrix operations, a parallel nomenclature is suggested for their classification. .B CACM September, 1965 .A Reily, E. D. Federighi, F. D. .N CA650906 JB March 6, 19787:33 PM .X 1200 5 1200 1200 5 1200 1200 5 1200 1945 5 1200 823 6 1200 914 6 1200 915 6 1200 917 6 1200 984 6 1200 989 6 1200 990 6 1200 1012 6 1200 1084 6 1200 1098 6 1200 1122 6 1200 1138 6 1200 1139 6 1200 1141 6 1200 1200 6 1200 1223 6 1200 1265 6 1200 1336 6 1200 1396 6 1200 1455 6 1200 1477 6 1200 1487 6 1200 1491 6 1200 1496 6 1200 483 6 1200 584 6 1200 669 6 1200 680 6 1200 763 6 1200 .I 1201 .T Generation of Permutations in Lexico-Graphical Order (Algorithm 202 [G6]) .B CACM September, 1965 .A Elliott, R. W. .N CA650905 JB March 6, 1978 7:35 PM .X 1201 5 1201 1201 5 1201 1201 5 1201 .I 1202 .T Normal Random (Algorithm 200 [G5]) .B CACM September, 1965 .A Pike, M. C. .N CA650904 JB March 6, 1978 7:36 PM .X 1202 5 1202 1202 5 1202 1202 5 1202 .I 1203 .T Normdey (Algorithm 121 [G5]) .B CACM September, 1965 .A Pike, M. C. .N CA650903 JB March 6, 19787:37 PM .X 1203 5 1203 1203 5 1203 1203 5 1203 .I 1204 .T Character Structure and Character Parity Sense for Serial-by-Bit Data Communication in the American Standard Code for Information Interchange (Proposed American Standard) .B CACM September, 1965 .N CA650902 JB March 6, 1978 7:41 PM .X 1204 5 1204 1204 5 1204 1204 5 1204 .I 1205 .T An Undergraduate Program in Computer Science-Preliminary Recommendations .B CACM September, 1965 .A A Report from the ACM Curriculum Committee on Computer Science .N CA650901 JB March 6, 1978 7:43 PM .X 1107 4 1205 1205 4 1205 1205 4 1205 1205 4 1205 1205 4 1205 1100 5 1205 1104 5 1205 1107 5 1205 1205 5 1205 1205 5 1205 1205 5 1205 1413 5 1205 1654 5 1205 1771 5 1205 2478 5 1205 68 5 1205 1205 6 1205 1205 6 1205 1205 6 1205 1205 6 1205 1270 6 1205 1654 6 1205 1771 6 1205 2329 6 1205 .I 1206 .T The Self-Judgment Method of Curve Fitting .W A computer-oriented method for processing and communicating numerical data is described. The Instrument Reliability Factors (IRF), which exactly define the limits of reliability of each measured item of information, are used to compute the Maximum Permitted Error (MPE) associated with each values of each ordinate. The Self-Judgment Principle (SJP) is used to discard wrong information and to compute mean values of the parameters and their MPE's in terms of the IRF. Data compatibility tests with any number of different equations can be made quickly. Otherwise intractable problems are easily solved, and the design of many experiments is greatly simplified. The computational and mathematical techniques used to reduce bias in the SJP are discussed. Inadequacies in the statistical and graphical methods of curve fitting are noted. .B CACM August, 1965 .A DeMaine, P. A. D. .N CA650818 JB March 6, 1978 7:50 PM .X 1206 5 1206 1206 5 1206 1206 5 1206 .I 1207 .T Remarks on Simulation of Boolean Functions .B CACM August, 1965 .A Dodd, G. G. .N CA650817 JB March 6, 1978 7:52 PM .X 1207 4 1207 1208 4 1207 3053 4 1207 1207 5 1207 1207 5 1207 1207 5 1207 1329 5 1207 .I 1208 .T Simulation of Computer Logic by Fortran Arithmetic .B CACM August, 1965 .A Weingarten, F. W. .N CA650816 JB March 6, 1978 7:53 PM .X 1207 4 1208 1208 4 1208 3053 4 1208 1208 5 1208 1208 5 1208 1208 5 1208 1329 5 1208 1409 5 1208 1208 6 1208 .I 1209 .T Negative and Zero Subscripts in Fortran II Programming for the IBM 1620 .B CACM August, 1965 .A Garber, M. S. .N CA650815 JB March 6, 1978 7:56 PM .X 1209 5 1209 1209 5 1209 1209 5 1209 .I 1210 .T File-Handling Within FORTRAN .W This note describes some FORTRAN subroutines to facilitate handling of tape files. They allow symbolic naming of information files, without violating the casual scientific programmer's idea of simplicity. Some comments on two years use of these subroutines are given. .B CACM August, 1965 .A Harrison, M. C. .N CA650814 JB March 6, 1978 7:59 PM .X 1210 5 1210 1210 5 1210 1210 5 1210 .I 1211 .T A Note on Storage of Strings .W A method for storing strings is described which uses blocks of indefinite size, and is therefore completely dynamic. Its relation to similar schemes is discussed. .B CACM August, 1965 .A Berztiss, A. T. .N CA650813 JB March 6, 1978 8:02 PM .X 1211 4 1211 1211 4 1211 1549 4 1211 1906 4 1211 2902 4 1211 2902 4 1211 1051 5 1211 1062 5 1211 1211 5 1211 1211 5 1211 1211 5 1211 2902 5 1211 1051 6 1211 1062 6 1211 1184 6 1211 1211 6 1211 1552 6 1211 1879 6 1211 2435 6 1211 2596 6 1211 2734 6 1211 2747 6 1211 2768 6 1211 .I 1212 .T Non-linear Extrapolation and Two-Point Boundary Value Problems .W It is suggested that the convergence properties of the usual Picard successive approximation scheme may be improved through use of non-linrar extrapolation techniques. A numerical example is provided. .B CACM August, 1965 .A Bellman, R. Kagiada, H. Kalba, R. .N CA650812 JB March 6, 1978 8:05 PM .X 1212 5 1212 1212 5 1212 1212 5 1212 .I 1213 .T Dynamic Format Specifications .W The use and implementation of two new FORTRAN format conversions are discussed. These format types give the FORTRAN programmer control of input/output specifications at execution time. .B CACM August, 1965 .A Ranelletti, J. E. .N CA650811 JB March 6, 1978 8:07 PM .X 1213 5 1213 1213 5 1213 1213 5 1213 .I 1214 .T Some Experiments in Algebraic Manipulation by Computer .W A set of subroutines to allow algebraic manipulations on the IBM 7094 computer has been written a List Processor, SLIP. A series of four problems of increasing difficulty were solved using these routines. .B CACM August, 1965 .A Lapidus, A. Goldstein, M. .N CA650810 JB March 6, 1978 8:10 PM .X 1024 4 1214 1051 4 1214 1098 4 1214 1214 4 1214 1214 4 1214 1380 4 1214 1388 4 1214 1393 4 1214 1396 4 1214 1485 4 1214 1487 4 1214 1549 4 1214 1570 4 1214 1878 4 1214 1946 4 1214 1957 4 1214 2168 4 1214 2723 4 1214 2857 4 1214 3112 4 1214 1132 5 1214 1214 5 1214 1214 5 1214 1214 5 1214 1396 5 1214 731 5 1214 964 6 1214 1028 6 1214 1029 6 1214 1083 6 1214 1132 6 1214 1214 6 1214 1278 6 1214 1334 6 1214 1365 6 1214 1386 6 1214 1387 6 1214 1388 6 1214 1392 6 1214 1393 6 1214 1394 6 1214 1395 6 1214 1396 6 1214 1397 6 1214 1496 6 1214 284 6 1214 407 6 1214 3199 6 1214 3200 6 1214 3201 6 1214 3202 6 1214 3203 6 1214 3204 6 1214 561 6 1214 730 6 1214 .I 1215 .T Some Techniques Used in the ALCOR ILLINOIS 7090 .W An ALGOL compiler has been written by the ALCOR group for the IBM 7090. Some little known but significant techniques in compiler writing, together with organizational details of this compiler, are described. Timing estimates and an indication of compiler requirements are also given. .B CACM August, 1965 .A Gries, D. Paul, M. Wiehle, H. R. .N CA650809 JB March 6, 1978 8:13 PM .X 267 4 1215 1139 4 1215 1141 4 1215 1215 4 1215 1215 4 1215 1215 4 1215 1223 4 1215 1647 4 1215 1682 4 1215 1781 4 1215 1781 4 1215 1787 4 1215 1787 4 1215 1792 4 1215 1945 4 1215 364 4 1215 405 4 1215 438 4 1215 2603 4 1215 763 4 1215 1025 5 1215 1215 5 1215 1215 5 1215 1215 5 1215 224 5 1215 1498 5 1215 1781 5 1215 1787 5 1215 763 5 1215 123 6 1215 196 6 1215 196 6 1215 919 6 1215 990 6 1215 1007 6 1215 1046 6 1215 1131 6 1215 1139 6 1215 1140 6 1215 1141 6 1215 1149 6 1215 1198 6 1215 1215 6 1215 1215 6 1215 1215 6 1215 1223 6 1215 1265 6 1215 1303 6 1215 1323 6 1215 1358 6 1215 1366 6 1215 1421 6 1215 1460 6 1215 1462 6 1215 1463 6 1215 1467 6 1215 1468 6 1215 1477 6 1215 1491 6 1215 1491 6 1215 1496 6 1215 1496 6 1215 1531 6 1215 1535 6 1215 1565 6 1215 1601 6 1215 1602 6 1215 1613 6 1215 1614 6 1215 1626 6 1215 1641 6 1215 1781 6 1215 1787 6 1215 1788 6 1215 205 6 1215 224 6 1215 224 6 1215 249 6 1215 288 6 1215 316 6 1215 381 6 1215 398 6 1215 11 6 1215 404 6 1215 410 6 1215 463 6 1215 464 6 1215 483 6 1215 3184 6 1215 3184 6 1215 3188 6 1215 584 6 1215 600 6 1215 680 6 1215 691 6 1215 763 6 1215 763 6 1215 799 6 1215 799 6 1215 .I 1216 .T Symbolic Derivatives Without List Processing, Subroutines, or Recursion .W A routine has been developed which computes and prints out the symbolic derivative of an absolutely continuous elementary function of one or several variables. No use is made of list-processing languages. The chain rule is applied and the result is edited to produce results as elegant and efficient as those obtained by hand computation. A subset may be imbeded in a formula translator to introduce a differentiation operator into an "algebraic" programming language. .B CACM August, 1965 .A Smith, P. J. .N CA650808 JB March 6, 1978 8:18 PM .X 1028 4 1216 1028 4 1216 1216 4 1216 1216 4 1216 1216 4 1216 1278 4 1216 1278 4 1216 1347 4 1216 1347 4 1216 1392 4 1216 1396 4 1216 1396 4 1216 1396 4 1216 1536 4 1216 964 4 1216 1028 5 1216 1029 5 1216 1216 5 1216 1216 5 1216 1216 5 1216 561 5 1216 .I 1217 .T Map of Partitions into Integers (Algorithm 264 [A1]) .B CACM August, 1965 .A McKay, J. K. S. .N CA650807 JB March 6, 1978 8:19 PM .X 1217 5 1217 1217 5 1217 1217 5 1217 .I 1218 .T Partition Generator (Algorithm 263 [A1]) .B CACM August, 1965 .A McKay, J. K. S. .N CA650806 JB March 6, 1978 8:20 PM .X 1218 5 1218 1218 5 1218 1218 5 1218 2103 5 1218 1218 6 1218 .I 1219 .T Number of Restricted Partitions of N (Algorithm 262 [A1]) .B CACM August, 1965 .A McKay,J. K. S. .N CA650805 JB March 6, 1978 8:26 PM .X 1219 5 1219 1219 5 1219 1219 5 1219 2104 5 1219 2489 5 1219 1219 6 1219 1219 6 1219 2104 6 1219 .I 1220 .T 9-J Symbols (Algorithm 261 [Z]) .B CACM August, 1965 .A Gunn, J. H. .N CA650804 JB March 6, 1978 8:27 PM .X 1220 5 1220 1220 5 1220 1220 5 1220 .I 1221 .T 6-J Symbols (Algorithm 260 [Z]) .B CACM August, 1965 .A Gunn, J. H. .N CA650803 JB March 6, 1978 8:28 PM .X 1221 5 1221 1221 5 1221 1221 5 1221 .I 1222 .T Legendre Functions for Arguments Larger Than One (Algorithm 259 [S16]) .B CACM August, 1965 .A Gautschi, W. .N CA650802 JB March 6, 1978 8:30 PM .X 1023 4 1222 1222 4 1222 1222 4 1222 1222 4 1222 1130 5 1222 1222 5 1222 1222 5 1222 1222 5 1222 245 5 1222 310 5 1222 .I 1223 .T High Speed Compilation of Efficient Object Code .W A three-pass compiler with the following properties is briefly described: The last two passes scan an intermediate language produced by the preceding pass in essentially the reverse of the order in which it was generated, so that the first pass is the only one which hasto read the bulky problem-oriented input. The double scan, one in either direction, performed by the first two passes, allows the compiler to remove locally constant expressions and recursively calculable expressions from loops and to do the important part of common subexpression recognition. Optimization such as the effective use of index registers, although as important, is not discussed since the object code which would be most efficient is highly machine dependent. The discussion is in terms of a FORTRAN-like language, although the technique is applicable to most algebraic languages. .B CACM August, 1965 .A Gear, C. W. .N CA650801 JB March 6, 1978 8:45 PM .X 267 4 1223 1139 4 1223 1141 4 1223 1215 4 1223 1223 4 1223 1223 4 1223 1388 4 1223 1647 4 1223 1781 4 1223 1787 4 1223 1792 4 1223 364 4 1223 405 4 1223 436 4 1223 438 4 1223 763 4 1223 1223 5 1223 1223 5 1223 1223 5 1223 224 5 1223 1781 5 1223 1807 5 1223 1945 5 1223 1947 5 1223 405 5 1223 823 6 1223 123 6 1223 196 6 1223 914 6 1223 915 6 1223 917 6 1223 919 6 1223 984 6 1223 989 6 1223 990 6 1223 990 6 1223 1007 6 1223 1012 6 1223 1046 6 1223 1084 6 1223 1098 6 1223 1122 6 1223 1131 6 1223 1134 6 1223 1138 6 1223 1139 6 1223 1139 6 1223 1140 6 1223 1141 6 1223 1149 6 1223 1198 6 1223 1200 6 1223 1215 6 1223 1223 6 1223 1223 6 1223 1223 6 1223 1223 6 1223 1248 6 1223 1248 6 1223 1265 6 1223 1265 6 1223 1303 6 1223 1323 6 1223 1336 6 1223 1358 6 1223 1366 6 1223 1396 6 1223 1421 6 1223 1455 6 1223 1460 6 1223 1462 6 1223 1463 6 1223 1467 6 1223 1468 6 1223 1477 6 1223 1477 6 1223 1487 6 1223 1491 6 1223 1491 6 1223 1496 6 1223 1496 6 1223 1531 6 1223 1535 6 1223 1551 6 1223 1565 6 1223 1601 6 1223 1602 6 1223 1613 6 1223 1614 6 1223 1626 6 1223 1641 6 1223 1787 6 1223 1788 6 1223 205 6 1223 224 6 1223 249 6 1223 288 6 1223 1947 6 1223 316 6 1223 381 6 1223 398 6 1223 399 6 1223 11 6 1223 404 6 1223 410 6 1223 463 6 1223 464 6 1223 483 6 1223 483 6 1223 3184 6 1223 3188 6 1223 584 6 1223 584 6 1223 600 6 1223 669 6 1223 680 6 1223 680 6 1223 691 6 1223 763 6 1223 763 6 1223 799 6 1223 .I 1224 .T Determining a Computing Center Environment .W An investigation is described in which several generally unavailable parameters descriptive of a computing center environment are obtained. The actual data collection and reduction is described, and the results of one month of this collection are tabulated and summarized. .B CACM July, 1965 .A Rosin, R. F. .N CA650711 JB March 6, 1978 8:48 PM .X 1224 5 1224 1224 5 1224 1224 5 1224 1533 5 1224 1604 5 1224 1224 6 1224 1224 6 1224 1410 6 1224 1604 6 1224 .I 1225 .T The Predictive Analyzer and a Path Elimination Technique .W Some of the characteristic features of a predictive analyzer, a system of syntactic analysis now operational at Harvard on and IBM 7094, are delineated. The advantages and disadvantages of the system are discussed in comparison to those of an immediate constituent analyzer, developed at the RAND Corporation with Robinson's English grammar. In addition, a new technique is described for repetitive path elimination for a predictive analyzer, which can now claim efficiency both in processing time and core storage requirement. .B CACM July, 1965 .A Kuno, S. .N CA650710 JB March 6, 1978 8:52 PM .X 1225 4 1225 1225 4 1225 1350 4 1225 1350 4 1225 1646 4 1225 1781 4 1225 1945 4 1225 1945 4 1225 2650 4 1225 2698 4 1225 2708 4 1225 3093 4 1225 1012 5 1225 1225 5 1225 1225 5 1225 1225 5 1225 1350 5 1225 1659 5 1225 1856 5 1225 2050 5 1225 680 5 1225 1012 6 1225 1225 6 1225 1225 6 1225 1225 6 1225 1225 6 1225 1265 6 1225 1265 6 1225 1324 6 1225 1350 6 1225 1399 6 1225 1553 6 1225 1671 6 1225 1697 6 1225 680 6 1225 .I 1226 .T The Organization of Structured Files .W A data file is an integral part of a data processing system. In many systems, the selection of an organization for the data within the file can be critical to the system's operating efficiency. This paper provides the systems designer with an information source which describes ten techniques that may be employed for organizing structured data. The characteristics of the organizations described are application independent, thus providing the designer with a reference which allows him to limit the number of file organizations he must consider for his system. .B CACM July, 1965 .A Dzubak, B. J. Warburton, C. R. .N CA650709 JB March 6, 1978 8:57 PM .X 1050 4 1226 1226 4 1226 441 4 1226 758 4 1226 1226 5 1226 1226 5 1226 1226 5 1226 367 5 1226 .I 1227 .T Transport (Algorithm 258 [H]) .B CACM July, 1965 .A Bayer, G. .N CA650708 JB March 6, 1978 8:58 PM .X 1227 5 1227 1227 5 1227 1227 5 1227 .I 1228 .T Treesort 3 (Algorithm 245 [M1]) .B CACM July, 1965 .A Abrams, P. S. .N CA650707 JB March 6, 1978 8:59 PM .X 1228 5 1228 1228 5 1228 1228 5 1228 2042 5 1228 2679 5 1228 970 6 1228 970 6 1228 1175 6 1228 1190 6 1228 1228 6 1228 1228 6 1228 1969 6 1228 1997 6 1228 308 6 1228 2042 6 1228 3187 6 1228 507 6 1228 716 6 1228 783 6 1228 .I 1229 .T Random Permutation (Algorithm 235 [G6]) .B CACM July, 1965 .A Pike, M. C. .N CA650706 JB March 6, 1978 9:00 PM .X 1229 5 1229 1229 5 1229 1229 5 1229 .I 1230 .T Method for Hyphenating at the End of a Printed Line .W A description of a method of hyphenation is presented as a result of application of several general rules. The character sets considered by the routine and the method are briefly outlined. .B CACM July, 1965 .A Rich, R. P. Stone, A. G. .N CA650705 JB March 6, 1978 9:03 PM .X 1230 5 1230 1230 5 1230 1230 5 1230 .I 1231 .T Peephole Optimization .W Redundant instructions may be discarded during the final stage of compilation by using a simple optimizing technique called peephole optimization. The method is described and examplesare given. .B CACM July, 1965 .A McKeeman, W. M. .N CA650704 JB March 6, 1978 9:05 PM .X 1160 5 1231 1231 5 1231 1231 5 1231 1231 5 1231 2034 5 1231 984 6 1231 1231 6 1231 1231 6 1231 1565 6 1231 1852 6 1231 1926 6 1231 1947 6 1231 .I 1232 .T Representation of the Standard ECMA 7-Bit Code in Punched Cards (ECMA Standard) .B CACM July, 1965 .N CA650703 JB March 6, 1978 9:06 PM .X 1232 5 1232 1232 5 1232 1232 5 1232 .I 1233 .T Conventions for the Use of Symbols in the Preparation of Flowcharts for Information Processing Systems (A Standard Working Paper) .W This paper is intended as an outline of the various conventions which are being considered for the use of flowcharts for information processing systems. The conventions are applied to the use of the symbols appearing in the proposed American Standard Flowchart Symbols and not with the symbols per se. .B CACM July, 1965 .N CA650702 JB March 6, 1978 9:10 PM .X 1233 5 1233 1233 5 1233 1233 5 1233 .I 1234 .T The Structure of Yet Another ALGOL Compiler .W A high-speed "top down" method of syntax analysis which completely eliminates "back-up" of the source string has been implemented in a convenient macro-language. A technique of simulation at compile time of the use of a conventional run-time stack enables the generation of code for expressions which minimizes stores, fetches and stack-pointer motion at run time, while properly trating recursion and side effects of procedures. Block structure and recursion are handled without need for interpretive methods at run times. The "context problem" in the transmission to recursive procedures of parameters "called by name" is solved in a manner which permits the handling of the common cases of simple expressions and array identifiers with particular efficiency. .B CACM July, 1965 .A Kanner, H. Kosinski, P. Robinson, C. L. .N CA650701 JB March 6, 1978 9:29 PM .X 254 4 1234 1037 4 1234 1046 4 1234 1086 4 1234 1105 4 1234 1132 4 1234 1139 4 1234 1140 4 1234 1234 4 1234 1234 4 1234 1234 4 1234 1234 4 1234 1234 4 1234 1234 4 1234 1234 4 1234 1234 4 1234 1263 4 1234 1263 4 1234 1265 4 1234 1265 4 1234 1270 4 1234 1323 4 1234 1358 4 1234 1358 4 1234 1379 4 1234 1380 4 1234 1453 4 1234 1464 4 1234 1484 4 1234 1491 4 1234 1491 4 1234 1496 4 1234 1498 4 1234 1613 4 1234 1614 4 1234 1781 4 1234 1781 4 1234 1824 4 1234 1825 4 1234 1860 4 1234 321 4 1234 321 4 1234 2083 4 1234 2126 4 1234 2178 4 1234 2179 4 1234 2252 4 1234 2325 4 1234 2341 4 1234 2451 4 1234 2546 4 1234 2546 4 1234 464 4 1234 2645 4 1234 2652 4 1234 2684 4 1234 2842 4 1234 2929 4 1234 2934 4 1234 584 4 1234 3069 4 1234 631 4 1234 653 4 1234 669 4 1234 679 4 1234 680 4 1234 691 4 1234 761 4 1234 763 4 1234 795 4 1234 799 4 1234 945 4 1234 949 4 1234 989 4 1234 944 5 1234 1234 5 1234 1234 5 1234 1234 5 1234 321 5 1234 385 5 1234 400 5 1234 402 5 1234 404 5 1234 3184 5 1234 729 5 1234 .I 1235 .T A Stochastic Approach to the Grammatical Coding of English .W A computer program is described which will assign each word in an English text to its form class or part of speech. The program operates at relatively high speed in only a limited storage space. About half of the word-events in a corpus are identified through the use of a small dictionary of function words and frequently occurring lexical words. Some suffix tests and logical-decision rules are employed to code additional words. Finally, the remaining words are assigned to one class or another on the basis of the most probable form classes to occur within the already identified contexts. The conditional probabilities used as a basis for this coding were empirically derived from a separate hand-coded corpus.On preliminary trials, the accuracy of the coder was 91% to 93%, with obvious ways of improving the algorithm being suggested by an analysis of the results. .B CACM June, 1965 .A Stolz, W. S. Tannenbaum, H. Carstensen, F. V. .N CA650620 JB March 6, 1978 9:35 PM .X 1235 5 1235 1235 5 1235 1235 5 1235 .I 1236 .T The SMART Automatic Document Retrieval System-An Illustration .W A fully automatic document retrieval system operating on the IBM 7094 is described. The system is characterized by the fact that several hundred different methods are available to analyze documents and search requests. This feature is used in the retrieval process by leaving the exact sequence of operations initially unspecified, and adapting the search strategy to the needs of individual users. The system is used not only to simulate an actual operating environment, but also to test the effectiveness of the various available processing methods. Results obtained so far seem to indicate that some combination of analysis procedures can in general be relied upon to retrieve the wanted information. A typical search request is used as an example in the present report to illustrate systems operations and evaluation procedures. .B CACM June, 1965 .A Salton, G. Lesk, M. E. .N CA650619 JB March 6, 1978 9:41 PM .X 1236 5 1236 1236 5 1236 1236 5 1236 1457 5 1236 1236 6 1236 .I 1237 .T Conversion of Decision Tables To Computer Programs .W Several translation procedures for the conversion of decision tables to programs are presented and then evaluated in terms of storage requirements, execution time and compile time. The procedures are valuable as hand-coding guides or as algorithms for a compiler. Both limited-entry and extended-entry tables are analyzed. In addition to table analysis, the nature of table-oriented programming languages and features is discussed. It is presumed that the reader is familiar with the nature of decision tables and conventional definitions. .B CACM June,1965 .A Press, L. I. .N CA650618 JB March 6, 1978 9:45 PM .X 250 4 1237 1237 4 1237 1237 4 1237 1237 4 1237 1549 4 1237 1564 4 1237 2220 4 1237 2453 4 1237 753 4 1237 1237 5 1237 1237 5 1237 1237 5 1237 1354 5 1237 250 5 1237 1488 5 1237 1994 5 1237 320 5 1237 2053 5 1237 2220 5 1237 2273 5 1237 753 5 1237 1172 6 1237 1172 6 1237 1172 6 1237 1172 6 1237 1237 6 1237 1237 6 1237 1237 6 1237 1237 6 1237 1237 6 1237 1237 6 1237 1327 6 1237 1327 6 1237 1327 6 1237 1327 6 1237 1327 6 1237 1354 6 1237 1354 6 1237 1354 6 1237 1489 6 1237 1548 6 1237 1684 6 1237 250 6 1237 2053 6 1237 2220 6 1237 .I 1238 .T A Technique for Integrated Reports from a Multi-run System .W The requirements of a requisition accounting system for the San Francisco Overseas Supply Agency (OSA) included exception reporting to OSA itself. The simultaneous satisfaction of the reporting requirement and the accounting requirements posed definite problems in system design, particularly the handling of the reporting function. A practical and satisfactory solution was developed by expanding the basic system with two tailored service runs for report production. These two runs permitted a final system that was easier to debug, easy to maintain, efficient in production and responsive to the changing requirements of OSA. .B CACM June, 1965 .A Budea, N. Kamena, J. G. Kamena, R. M. .N CA650617 JB March 6, 1978 9:49 PM .X 1238 5 1238 1238 5 1238 1238 5 1238 .I 1239 .T Graycode (Algorithm 246 [Z]) .B CACM June, 1965 .A Allen, W. D. .N CA650616 JB March 6, 1978 9:50 PM .X 1239 5 1239 1239 5 1239 1239 5 1239 .I 1240 .T Transport (Algorithm 258 [H]) .B CACM June, 1965 .A Bayer, G. .N CA650615 JB March 6, 1978 9:51 PM .X 1240 5 1240 1240 5 1240 1240 5 1240 .I 1241 .T Havie Integrator (Algorithm 257 [D1]) .B CACM June, 1965 .A Kubik, R. N. .N CA650614 JB March 6, 1978 10:09 PM .X 1241 5 1241 1241 5 1241 1241 5 1241 1352 5 1241 1356 5 1241 1883 5 1241 2040 5 1241 834 6 1241 872 6 1241 1040 6 1241 1092 6 1241 1241 6 1241 1241 6 1241 1241 6 1241 1241 6 1241 1273 6 1241 1273 6 1241 1352 6 1241 1356 6 1241 324 6 1241 324 6 1241 429 6 1241 570 6 1241 621 6 1241 621 6 1241 786 6 1241 .I 1242 .T Modified Graeffe Method (Algorithm 256 [C2]) .B CACM June, 1965 .A Grau, A. A. .N CA650613 JB March 6, 1978 10:10 PM .X 1242 5 1242 1242 5 1242 1242 5 1242 1667 5 1242 178 6 1242 1242 6 1242 327 6 1242 .I 1243 .T Testing the Understanding of the Difference Between Call by Name and Call by Value in ALGOL 60 .B CACM June, 1965 .A Weil, R. L. .N CA650612 JB March 6, 1978 10:11 PM .X 1243 5 1243 1243 5 1243 1243 5 1243 .I 1244 .T Bit Manipulation in Fortran Language .B CACM June, 1965 .A Tobey, G. D. .N CA650611 JB March 6, 1978 10:12 PM .X 1244 5 1244 1244 5 1244 1244 5 1244 .I 1245 .T A Fortran n-Ary Counter .B CACM June, 1965 .A Kent, W. .N CA650610 JB March 6, 1978 10:13 PM .X 1245 5 1245 1245 5 1245 1245 5 1245 .I 1246 .T Deeply Nested Iterations .B CACM June, 1965 .A Korphage, R. R. .N CA650609 JB March 6, 1978 10:15 PM .X 1246 5 1246 1246 5 1246 1246 5 1246 .I 1247 .T An Operating Environment for Dynamic-Recursive Computer Programming Systems .W Presented in this paper is a brief nontechnical introduction to OEDIPUS, a computer programming system which can serve as an operating environment for dynamic and/or recursive programs and programming systems. The available services include dynamic allocation of storage for contiguous blocks of arbitrary size, input and output for a hierarchy of data types, a public pushdown list for automatic recursive programming, a rudimentary compiler for subroutine communication and bookkeeping, and debugging aids. .B CACM June, 1965 .A Brown, W. S. .N CA650608 JB March 6, 1978 10:18 PM .X 1247 4 1247 1945 4 1247 1247 5 1247 1247 5 1247 1247 5 1247 1336 5 1247 1397 5 1247 2704 5 1247 1247 6 1247 1247 6 1247 1552 6 1247 1749 6 1247 2356 6 1247 2379 6 1247 2673 6 1247 .I 1248 .T On the Automatic Simplification of Computer Programs .W Presented in this paper is the problem of writing a program which would examine any other program and perform such simplifications on it as can be detected from the argument-program's form alone, without having any knowledge of what it is supposed to do. .B CACM June, 1965 .A Nievergelt, J. .N CA650607 JB March 6, 1978 10:24 PM .X 1248 5 1248 1248 5 1248 1248 5 1248 1625 5 1248 1807 5 1248 1947 5 1248 1134 6 1248 1223 6 1248 1223 6 1248 1248 6 1248 1248 6 1248 1248 6 1248 1551 6 1248 1947 6 1248 399 6 1248 669 6 1248 .I 1249 .T Recorded Magnetic Tape for Information Interchange (200 CPI, NRZI) (On the Revised Proposed American Standard) .B CACM June, 1965 .N CA650606 JB March 6, 1978 10:26 PM .X 1249 5 1249 1249 5 1249 1249 5 1249 .I 1250 .T Graphic Symbols for Problem Definition and Analysis-A Standards Working Paper .B CACM June, 1965 .N CA650605 JB March 7, 1978 12:35 PM .X 1250 5 1250 1250 5 1250 1250 5 1250 .I 1251 .T American Standard and IFIP/ICC Vocabularies compared .W The "Proposed American Standard Vocabulary of Information Processing" and the "IFIP/ICC Vocabulary of Terms Used in Information Processing" are analyzed and compared. .B CACM June, 1965 .A Traub, J. F. .N CA650604 JB March 7, 1978 12:38 PM .X 1251 4 1251 975 5 1251 1251 5 1251 1251 5 1251 1251 5 1251 .I 1252 .T Symbolic Notations for Statistical Tables and an Approach Towards Automatic System Design .W The preparation of statistical tables is an important function of the data processing systems of some organizations, and a symbolic notation for the description of tables has been shown to be a useful aid to documentation. Such a notation also provides the first step towards making automatic a tedious and time-consuming part of system design and programming in many computer applications. One notation is described and suggestions are made for the implementation of the larger goal. .B CACM June, 1965 .A Smith, B. W. .N CA650603 JB March 7, 1978 12:41 PM .X 1252 5 1252 1252 5 1252 1252 5 1252 .I 1253 .T QUIKSCRIPT-A SIMSCRIPT- Like Language for the G-20 .W QUIKSCRIPT is a simulation language based on SIMSCRIPT and programmed entirely in an algebraic language, 20-GATE. The QUIKSCRIPT language, its internal implementation, and major differences between QUIKSCRIPT and SIMSCRIPT are presented. This paper is not a programming guide to the language, but rather an attempt to present its flavor. A brief description of SIMSCRIPT is included, as is a sufficient description of 20-GATE to render this material understandable to the reader familiar with algebraic languages. .B CACM June, 1965 .A Tonge, F. M. Keller, P. Newell, A. .N CA650602 JB March 7, 1978 12:45 PM .X 1253 5 1253 1253 5 1253 1253 5 1253 .I 1254 .T The Iteration Element .W A recent addition to the MAD language has made the iteration structure of the MAD THROUGH statement (corresponding to the ALGOL for statement and the FORTRAN DO statement) available within expressions. .B CACM June, 1965 .A Galler, B. A. Fischer, M. J. .N CA650601 JB March 7, 1978 12:49 PM .X 1254 5 1254 1254 5 1254 1254 5 1254 .I 1255 .T A Method of Data List Processing With Application to EEG Analysis .W A set of subroutines is discussed, which is designed to aid in the programming of computations on indexed lists of numbers using machine language or a symbolic assembly system. The most commonly performed list operations are outlined, and logically arranged into five groups. As an example, the computation of power spectral density from the autocovariance function is discussed for a class of EEG signals. .B CACM May, 1965 .A Philpott, C. M. Lago, G. V. .N CA650516 JB March 7, 1978 12:52 PM .X 1255 5 1255 1255 5 1255 1255 5 1255 .I 1256 .T Dynamic Variable Formatting .B CACM May, 1965 .A King, D. R. .N CA650515 JB March 7, 1978 12:53 PM .X 1256 5 1256 1256 5 1256 1256 5 1256 .I 1257 .T DEBUG-An Extension to Current On-Line Debugging Techniques .W A method of on-linr assembly-language debugging which greatly simplifies several of the bookkeeping tasks characteristically associated with that process has been developed and implemented in a program for the UNIVAC M-460 computer at Air Force Cambridge Research Laboratories. With this program, an online user may insert or delete (in symbolic assembly language) any number of lines at any point of his previously assembled program in core, with the remainder of the program being relocated appropriately. .B CACM May, 1965 .A Evans, T. G. Darley, D. L. .N CA650514 JB March 7, 1978 12:58 PM .X 1257 5 1257 1257 5 1257 1257 5 1257 1738 5 1257 1257 6 1257 .I 1258 .T An Extended Arithmetic Package .W In many fields, for example algebraic number theory, arithmetic must be carried out to a degree of precision which exceeds the normal hardware capacity of most machines. In such cases, an extended arithmetic package provides a comprehensive and easy-to-use way of performing such arithmetic. Such a package was coded for the IBM 7090. In discussing the general problems associated with the design of an extended arithmetic package, specific reference is made to this program. .B CACM May, 1965 .A Blum, B. I. .N CA650513 JB March 7, 1978 1:01 PM .X 1026 4 1258 1258 4 1258 1258 4 1258 1292 4 1258 1292 4 1258 1497 4 1258 1497 4 1258 1975 4 1258 2605 4 1258 107 5 1258 1026 5 1258 1258 5 1258 1258 5 1258 1258 5 1258 .I 1259 .T Applications of Binary Numbers In Computer Routines .W A binary number can be thought of as an alternate form of expression for either a set of letters or a decimal number. There are then three equivalent expressions, easily translatable to one another, each having different characteristics. Four examples are given in which the form of an expression is changed to an equivalent expression to save space or gain power. .B CACM May, 1965 .A Weldon, R. J. Baker, R. L. .N CA650512 JB March 7, 1978 1:05 PM .X 1259 5 1259 1259 5 1259 1259 5 1259 .I 1260 .T Least-Squares Analysis of Resonance Spectra on Small Computers .W The problem of analyzing data from a Mossbauer effect experiment is discussed. By using the cut step procedure for convergence and by imposing physical constraints on the functional form of the calculation it is possible to make the analysis on a small computer. The analysis has been carried out on an IBM 1410 computer with a 40,000 BCD core memory. .B CACM May, 1965 .A Marshall, S. W. Nelson, J. A. Wilenzick, R. M. .N CA650511 JB March 7, 1978 1:10 PM .X 1260 5 1260 1260 5 1260 1260 5 1260 .I 1261 .T Modeling and Simulation of Digital Networks .W The simulation of digital networks on a digital computer provides the engineer with an effective means of analyzing time-quantized logical behavior. The digital network is modeled as a set of time-dependent or time-independent Boolean transformations; each transformation describing the input-output relationship of a model element comprising the network mode. The simplicity of utilizing the FORTRAN IV Programming System as a digital Network Simulator is discussed an illustrated. This simplicity is derived from a common modeling technique applicable to combinational and sequential digital networks and a systematic programming approach. .B CACM May, 1965 .A Larsen, R. P. Mano, M. M. .N CA650510 JB March 7, 1978 1:15 PM .X 1261 4 1261 1939 4 1261 1030 5 1261 1261 5 1261 1261 5 1261 1261 5 1261 .I 1262 .T Procedure-Oriented Language Statements to Facilitate Parallel Processing .W Two statements are suggested which allow a programmer writing in a procedure-oriented language to indicate sections of program which are to be executed in parallel. The statements are DO TOGETHER and HOLD. These serve partly as brackets in establishing a range of parallel operation and partly to define each parallel path within this range. DO TOGETHERs may be nested. The statements should be particularly effective for use with computing devices capable of attaining some degree of compute-compute overlap. .B CACM May, 1965 .A Opler, A. .N CA650509 JB March 7, 1978 2:17 PM .X 1158 5 1262 1262 5 1262 1262 5 1262 1262 5 1262 1262 6 1262 .I 1263 .T Metalanguage and Syntax Specification .W Two metalanguages are described, one sufficient for the table specification of the ALGOL syntax, the other with additional metaoperators adequate and used for the formal table description of Basic FORTRAN. .B CACM May, 1965 .A Burkhardt, W. H. .N CA650508 JB March 7, 1978 2:19 PM .X 1046 4 1263 1086 4 1263 1105 4 1263 1132 4 1263 1139 4 1263 1140 4 1263 1234 4 1263 1234 4 1263 1263 4 1263 1263 4 1263 1263 4 1263 1265 4 1263 1265 4 1263 1270 4 1263 1323 4 1263 1358 4 1263 1379 4 1263 1380 4 1263 1453 4 1263 1453 4 1263 1464 4 1263 1484 4 1263 1491 4 1263 1496 4 1263 1498 4 1263 1613 4 1263 1614 4 1263 1781 4 1263 1781 4 1263 1824 4 1263 1825 4 1263 1860 4 1263 1945 4 1263 2083 4 1263 2126 4 1263 2178 4 1263 2179 4 1263 2252 4 1263 2325 4 1263 2341 4 1263 2546 4 1263 2546 4 1263 464 4 1263 2645 4 1263 2652 4 1263 2684 4 1263 2842 4 1263 2929 4 1263 2934 4 1263 584 4 1263 3069 4 1263 631 4 1263 653 4 1263 669 4 1263 679 4 1263 680 4 1263 691 4 1263 761 4 1263 763 4 1263 795 4 1263 799 4 1263 945 4 1263 949 4 1263 989 4 1263 989 5 1263 1263 5 1263 1263 5 1263 1263 5 1263 1379 5 1263 404 5 1263 3184 5 1263 1263 6 1263 1477 6 1263 3184 6 1263 669 6 1263 761 6 1263 .I 1264 .T BLNSYS-A 1401 Operating System with Braille Capabilities .W BLNSYS is an operating system designed for a 4K 1401 with common optional features and two attached tape drives. Printed output of this system or of executing programs may be in either English or braille. Even though this system was written for a small machine with minimal peripheral equipment, jobs may be batched, so that card handling and lost processing time is at a minimum. This system will perform any or all of the following users specified functions: assemble SPS source decks, post list, produce condensed or uncondensed object decks, execute user's program, list card input to a program, list punched output, provide a storage dump, execute a program submitted for execution as an uncondensed object deck under debugging trace control, card-to-braille conversion, brailled listings of 7040 IBSYS batch output, and update or duplicate the system tape itself. Input-ouput subroutines are also included in the system. .B CACM May, 1965 .A Landwehr, J. B. McLaughlin, C. Mueller, H. Lichstein, M. Pollack, S. V. .N CA650507 JB March 7, 1978 2:30 PM .X 1264 4 1264 1740 4 1264 1099 5 1264 1264 5 1264 1264 5 1264 1264 5 1264 .I 1265 .T On the Relative Efficiencies of Context-Free Grammar Recognizers .W A number of diverse recognition procedures that have been proposed for parsing sentences with respect to a context-free grammar are described in this paper by means of a common device. Each procedure is defined by giving an algorithm for obtaining a nondeterministic Turing Machine recognizer that is equivalent to a given context-free grammar. The formalization of the Turing Machine has been chosen to make possible particularly simple description of the parsing procedures considered. An attempt has been made to compare recognition efficiencies for the procedures defined. For a few simple grammars and sentences a formal comparison has been made. Empirical comparison of the recognition of more realistic programming languages such as LISP and ALGOL has been made by means of a program which simulates the Turing Machine on the Univac M-460 computer. Several algorithms for producing grammars equivalent to a given context-free grammar have been considered, and the increase in recognition efficiency they afford has been empirically investigated. .B CACM May, 1965 .A Griffiths, T. V. Petrick, S. R. .N CA650506 JB March 7, 1978 2:38 PM .X 1046 4 1265 1062 4 1265 1086 4 1265 1105 4 1265 1121 4 1265 1132 4 1265 1139 4 1265 1139 4 1265 1139 4 1265 1140 4 1265 1151 4 1265 1234 4 1265 1234 4 1265 1263 4 1265 1263 4 1265 1265 4 1265 1265 4 1265 1265 4 1265 1265 4 1265 1265 4 1265 1270 4 1265 1323 4 1265 1358 4 1265 1379 4 1265 1380 4 1265 1453 4 1265 1464 4 1265 1484 4 1265 1491 4 1265 1496 4 1265 1498 4 1265 1613 4 1265 1614 4 1265 1665 4 1265 1781 4 1265 1781 4 1265 1781 4 1265 1824 4 1265 1825 4 1265 1860 4 1265 2083 4 1265 2126 4 1265 2178 4 1265 2179 4 1265 2252 4 1265 2325 4 1265 2341 4 1265 2546 4 1265 2546 4 1265 464 4 1265 2645 4 1265 2652 4 1265 2684 4 1265 2769 4 1265 2842 4 1265 2929 4 1265 2934 4 1265 584 4 1265 3069 4 1265 631 4 1265 653 4 1265 669 4 1265 679 4 1265 680 4 1265 691 4 1265 720 4 1265 759 4 1265 761 4 1265 763 4 1265 763 4 1265 795 4 1265 799 4 1265 945 4 1265 949 4 1265 989 4 1265 1265 5 1265 1265 5 1265 1265 5 1265 1350 5 1265 1399 5 1265 1659 5 1265 1768 5 1265 1781 5 1265 1945 5 1265 2110 5 1265 404 5 1265 464 5 1265 3094 5 1265 3184 5 1265 631 5 1265 635 5 1265 823 6 1265 123 6 1265 196 6 1265 914 6 1265 915 6 1265 917 6 1265 919 6 1265 984 6 1265 989 6 1265 990 6 1265 990 6 1265 1007 6 1265 1012 6 1265 1012 6 1265 1046 6 1265 1084 6 1265 1098 6 1265 1122 6 1265 1131 6 1265 1138 6 1265 1139 6 1265 1139 6 1265 1140 6 1265 1141 6 1265 1141 6 1265 1149 6 1265 1198 6 1265 1200 6 1265 1215 6 1265 1223 6 1265 1223 6 1265 1225 6 1265 1225 6 1265 1265 6 1265 1265 6 1265 1265 6 1265 1265 6 1265 1265 6 1265 1265 6 1265 1265 6 1265 1265 6 1265 1303 6 1265 1323 6 1265 1336 6 1265 1350 6 1265 1358 6 1265 1366 6 1265 1396 6 1265 1399 6 1265 1421 6 1265 1455 6 1265 1460 6 1265 1462 6 1265 1463 6 1265 1467 6 1265 1468 6 1265 1477 6 1265 1477 6 1265 1487 6 1265 1491 6 1265 1491 6 1265 1496 6 1265 1496 6 1265 1531 6 1265 1535 6 1265 1565 6 1265 1601 6 1265 1602 6 1265 1613 6 1265 1614 6 1265 1626 6 1265 1641 6 1265 1671 6 1265 1697 6 1265 1781 6 1265 1781 6 1265 1787 6 1265 1788 6 1265 205 6 1265 224 6 1265 249 6 1265 288 6 1265 316 6 1265 381 6 1265 398 6 1265 11 6 1265 2179 6 1265 2645 6 1265 404 6 1265 410 6 1265 463 6 1265 464 6 1265 483 6 1265 483 6 1265 3184 6 1265 3188 6 1265 584 6 1265 584 6 1265 600 6 1265 669 6 1265 680 6 1265 680 6 1265 680 6 1265 691 6 1265 763 6 1265 763 6 1265 799 6 1265 .I 1266 .T Considerations Relating to Purpose of FORTRAN Standardization (Appendixes to ASA FORTRAN Standard) .B CACM May, 1965 .N CA650505 JB March 7, 1978 2:40 PM .X 1266 5 1266 1266 5 1266 1266 5 1266 .I 1267 .T Performance of Systems Used for Data Transmission Transfer Rate of Information Bits -An ASA Tutorial Standard .W Information thruput as a characteristic of systems performance is discussed. This discussion includes the pertinent aspects of information transfer, of determination of transfer rate of information bits (TRIB), of residual errors, and of standard measurement conditions. The paper also presents an orderly arrangement of characteristics and parameters that affect information thruput, and some examples on procedures for determining a thruput rate in terms of TRIB. It concludes that a performance characteristic involving information rate can best be expressed as the TRIB in conjunction with the Residual Error Rate. .B CACM May, 1965 .N CA650504 JB March 7, 1978 3:10 PM .X 1267 5 1267 1267 5 1267 1267 5 1267 .I 1268 .T Logarithm of a Complex Number (Algorithm 243 [B3]) .B CACM May, 1965 .A Boothroyd, J. .N CA650502 JB March 7, 1978 3:11 PM .X 1268 5 1268 1268 5 1268 1268 5 1268 1858 5 1268 1268 6 1268 1857 6 1268 .I 1269 .T Computation of Fourier Coefficients (Algorithm [C6]) .B CACM May, 1965 .A Teijelo, L. .N CA650502 JB March 7, 1978 3:12 PM .X 1269 5 1269 1269 5 1269 1269 5 1269 .I 1270 .T On ALGOL Education: Automatic Grading Programs .W Two ALGOL grader programs are presented for the computer evaluation of student ALGOL programs. One is for a beginner's program; it furnishes random data and checks answers. The other provides a searching test of the reliability and efficiency of an integration procedure. There is a statement of the essential properties of a computer system, in order that grader programs can be effectively used. .B CACM May, 1965 .A Forsythe, G. E. Wirth, N. .N CA650501 JB March 7, 1978 3:16 PM .X 1086 4 1270 1132 4 1270 1234 4 1270 1263 4 1270 1265 4 1270 1270 4 1270 1270 4 1270 1323 4 1270 1358 4 1270 1379 4 1270 1380 4 1270 1453 4 1270 1464 4 1270 1484 4 1270 1491 4 1270 1498 4 1270 1613 4 1270 1614 4 1270 1781 4 1270 1825 4 1270 1860 4 1270 1902 4 1270 2083 4 1270 2178 4 1270 2179 4 1270 2252 4 1270 2325 4 1270 2341 4 1270 2546 4 1270 2645 4 1270 2652 4 1270 2684 4 1270 2842 4 1270 2929 4 1270 2934 4 1270 3069 4 1270 669 4 1270 679 4 1270 691 4 1270 761 4 1270 949 4 1270 989 4 1270 145 5 1270 1270 5 1270 1270 5 1270 1270 5 1270 1413 5 1270 1902 5 1270 3184 5 1270 145 6 1270 1205 6 1270 1270 6 1270 1270 6 1270 .I 1271 .T Secondary Key Retrieval Using an IBM 7090-1301 System .W The secondary key retrieval method involves the preparation of secondary storage lists from primary data records. Search requests are satisfied by logical operations on appropriate lists, producing a complete set of addresses of primary records relevant to the request. Experimental results are presented and a comparative analysis is given. .B CACM April, 1965 .A Davis, D. R. Lin, A. D. .N CA650420 JB March 7, 1978 3:18 PM .X 1271 4 1271 1785 4 1271 2543 4 1271 2552 4 1271 911 4 1271 1271 5 1271 1271 5 1271 1271 5 1271 1976 5 1271 332 5 1271 1271 6 1271 .I 1272 .T Expanding the Editing Function In Language Data Processing .W In automatic abstracting, citation indexing, mechanical translation and other such procedures, editing is required whenever the automatic method leaves something to be desired. This paper discusses the economy of editing as a function of the amount of condensation of text in language processing operations, and then contends that editing can be regarded as an opportunity rather than as an unwelcome necessity. "Heavy editing," which goes beyond mere correction and improvement of computer output, is exemplified by the use of a concordance in preparing a survey article or lecture. Other opportunities for heavy editing are described, chief among them being interpretation and expansion of computer output in such processes as factor analysis. Applications are described, such processes as factor analysis. Applications are described, such as the quick, unbiased evaluation of a large volume of incoming mail or telegrams, yielding summary reports not possible for either humans or computers to produce alone. .B CACM April, 1965 .A Doule, L. B. .N CA650419 JB March 7, 1978 3:26 PM .X 1272 5 1272 1272 5 1272 1272 5 1272 .I 1273 .T Remark on Romberg Quadrature .W A modified form of Romberg quadrature is described, which is less sensitive to the accumulation of rounding errors than the customary one. .B CACM April, 1965 .A Krasun, A. M. Prager, W. .N CA650418 JB March 7, 1978 3:27 PM .X 1273 5 1273 1273 5 1273 1273 5 1273 1352 5 1273 1982 5 1273 2040 5 1273 1 6 1273 834 6 1273 872 6 1273 1040 6 1273 1092 6 1273 1241 6 1273 1241 6 1273 1273 6 1273 1273 6 1273 1273 6 1273 1352 6 1273 1356 6 1273 1883 6 1273 324 6 1273 324 6 1273 324 6 1273 429 6 1273 570 6 1273 621 6 1273 621 6 1273 786 6 1273 .I 1274 .T On the Numerical Solution of an N-Point Boundary Value Problem for Linear Ordinary Differential Equations .W A method for the numerical solution of then-point boundary value problem for homogeneous linear ordinary differential equations is developed. The method requires two Runge-Kutta integrations over the interval under consideration and the solution of a linear system of equations with n-1 unknowns. .B CACM April, 1965 .A Day, J. T. .N CA650417 JB March 7, 1978 3:30 PM .X 1274 4 1274 1147 5 1274 1274 5 1274 1274 5 1274 1274 5 1274 .I 1275 .T Code Structures for Protection and Manipulation of Variable Length Items (Corrigendum) .B CACM April, 1965 .A Ramamoorthy, C. V. .N CA650416 JB March 7, 1978 3:31 PM .X 1275 5 1275 1275 5 1275 1275 5 1275 .I 1276 .T Still Another Use for FORTRAN II Chaining .B CACM April, 1965 .N CA650415 JB March 7, 1978 3:32 PM .X 1276 5 1276 1276 5 1276 1276 5 1276 .I 1277 .T The Use of Cobol Subroutines in Fortran Main Programs .B CACM April, 1965 .A Tajiri, K. .N CA650414 JB March 7, 1978 3:34 PM .X 1277 5 1277 1277 5 1277 1277 5 1277 .I 1278 .T Wengert's Numerical Method for Partial Derivatives, Orbit Determination and Quasilinearization .W In a recent article in the Communications of the ACM, R. Wengert suggested a technique for machine evaluation of the partial derivatives of a function given in analytical form. In solving non-linear boundary-value problems using quasilinearization many partial derivatives must be formed analytically and then evaluated numerically. Wengert's method appears very attractive from the programming viewpoint equations which might not otherwise be undertaken. .B CACM April, 1965 .A Bellman, R. E. Kagiwada, H. Kalaba, R. E. .N CA650413 JB March 7, 1978 3:39 PM .X 1028 4 1278 1216 4 1278 1216 4 1278 1278 4 1278 1278 4 1278 1278 4 1278 1347 4 1278 1347 4 1278 1396 4 1278 1396 4 1278 1536 4 1278 973 5 1278 1028 5 1278 1029 5 1278 1278 5 1278 1278 5 1278 1278 5 1278 1347 5 1278 1396 5 1278 964 6 1278 1028 6 1278 1028 6 1278 1029 6 1278 1029 6 1278 1083 6 1278 1132 6 1278 1214 6 1278 1278 6 1278 1278 6 1278 1334 6 1278 1365 6 1278 1386 6 1278 1387 6 1278 1388 6 1278 1392 6 1278 1393 6 1278 1394 6 1278 1395 6 1278 1396 6 1278 1397 6 1278 1496 6 1278 284 6 1278 407 6 1278 3199 6 1278 3200 6 1278 3201 6 1278 3202 6 1278 3203 6 1278 3204 6 1278 561 6 1278 730 6 1278 .I 1279 .T Use of a Conditional Base Number System for Encoding Sequences of Correlated Characters .W A procedure is described for the relatively efficient encoding of sequences of characters which have predecessor-successor selection rules. The procedure is shown to assign a unique integer to each sequence and to generate a reasonably compact set of values. .B CACM April, 1965 .A Brown, R. M. .N CA650412 JB March 7, 1978 3:42 PM .X 1279 5 1279 1279 5 1279 1279 5 1279 .I 1280 .T Numerical Integration of a Differential-Difference Equation with a Decreasing Time-Lag .W Systems in which variable time-lags are present are of common occurrence in biology. Variable flow rates are a common cause of these variable lags. At present no extensive body of knowledge exists concerning the effects which these variable lags can cause. Shown here is a method of reducing some differential-difference equations to ordinary differential equations which can then be studied numerically with ease. Subsequent study will deal with situations in which multiple-lags and lags dependent on the solution itself are present. .B CACM April, 1965 .A Bellman, R. E. Buell, J. D. Kalaba, R. E. .N CA650411 JB March 7, 1978 3:46 PM .X 1280 5 1280 1280 5 1280 1280 5 1280 1364 5 1280 1280 6 1280 .I 1281 .T Data Input by Question and Answer .W A data input scheme for a time-sharing computer is described in this paper. Instead of using format statements to determine the input, the computer asks the user for the required values one at a time. The computer converses with the user during the input process, checks for errors, provides standard data, and allows editing of values input. .B CACM April, 1965 .A Pyle, I. C. .N CA650410 JB March 7, 1978 3:48 PM .X 1281 5 1281 1281 5 1281 1281 5 1281 .I 1282 .T The Use of FORTRAN in Subroutines with COBOL Main Programs .W By using the proper COBOL coding techniques and accounting for differences in storage allocation and library routines between the two languages, it is possible to write FORTRAN IV subroutines that may be called from COBOL main programs. Such a technique enables the programmer to take advantage of the most useful properties of each language while minimizing their respective disadvantages. .B CACM April, 1965 .A Shavell, Z. A. .N CA650409 JB March 7, 1978 3:52 PM .X 1282 5 1282 1282 5 1282 1282 5 1282 .I 1283 .T Matrix Inversion (Algorithm 231 [F1]) .B CACM April, 1965 .A Ferring, M. .N CA650408 JB March 7, 1978 3:53 PM .X 1283 5 1283 1283 5 1283 1283 5 1283 .I 1284 .T Bessel Function for a Set of Integer Orders .B CACM April,1965 .A Stafford, J. .N CA650407 JB March 7, 1978 3:54 PM .X 1284 5 1284 1284 5 1284 1284 5 1284 1909 5 1284 134 6 1284 1023 6 1284 1284 6 1284 1316 6 1284 .I 1285 .T Eigenvalues and Eigenvectors of a Real Symmetric Matrix by the QR Method (Algorithm 254 [F2]) .B CACM April, 1965 .A Businger, P. A. .N CA650406 JB March 7, 1978 3:55 PM .X 1285 5 1285 1285 5 1285 1285 5 1285 .I 1286 .T Eigenvalues of a Real Symmetric Matrix by the QR Method (Algorithm 253 [F2]) .B CACM April, 1965 .A Businger, P. A. .N CA650405 JB March 7, 1978 3:56 PM .X 1286 5 1286 1286 5 1286 1286 5 1286 .I 1287 .T Vector Coupling or Clebsch-Gordan Coefficients (Algorithm 252 [Z]) .B CACM April, 1965 .A Gunn, J. H. .N CA650404 JB March 7, 1978 3:58 PM .X 1287 5 1287 1287 5 1287 1287 5 1287 .I 1288 .T CLP-The Cornell List Processor .W Presented in this paper are the highlights of CLP, a teaching language which has been employed at Cornell University and was constructed to serve as a means of introducing simulation and other list-processing concepts. The various advantages of CLP are discussed and examples are given. .B CACM April, 1965 .A Conway, R. W. Delfausse, J. J. Maxwell, W. L. Walker, W. E. .N CA650403 JB March 7, 1978 4:02 PM .X 1179 4 1288 1288 4 1288 1544 4 1288 1646 4 1288 2111 4 1288 2534 4 1288 2556 4 1288 2650 4 1288 1288 5 1288 1288 5 1288 1288 5 1288 830 5 1288 .I 1289 .T Proposed Revised American Standard Code for Information Interchange .B CACM April, 1965 .N CA650402 JB March 7, 1978 4:03 PM .X 1289 5 1289 1289 5 1289 1289 5 1289 .I 1290 .T Transparent-Mode Control Procedures for Data Communication, Using the American Standard Code for Information Interchange -A Tutorial .W This paper gives the considerations of Task Group X3.3.4 in the area of transparent-mode data communication control philosophy. The appearance of this paper was forecast (underthe name of "second-level control") in the earlier tutorial paper, "Control Procedures for Data Communications," Task Group document X3.3.4.44, dated May 1964. The present paper elaborates upon solutions to the problems of transparency to the basic ASCII communication control characters as outlined in the previous paper mentioned above. Moreover, it goes on to cover the additional control problems of handling material such as off line encrypted data or non-ASCII codes by means of systems providing complete character transparency. It does not cover concepts of transparency in which the normal character structure or modulation rate of a system may be abandoned. In conjunction with the earlier tutorial paper, this paper is expected to lead to a proposal for stand ardizationof data communication control procedures using the American Stand ard Code for Information Interchange. .B CACM April, 1965 .N CA650401 JB March 7, 1978 4:10 PM .X 1290 5 1290 1290 5 1290 1290 5 1290 .I 1291 .T Tabular Input of Data .B CACM March, 1965 .A George, R. .N CA650316 JB March 7, 1978 4:11 PM .X 1291 5 1291 1291 5 1291 1291 5 1291 .I 1292 .T On a Divide-and-Correct Method For Variable Precision Division .W Described in this paper is a divide-and-correct method for variable precision division in digital computers. Unlike the earlier methods of Stein and Pope, the present method uses a suitably rounded form of the normalized divisor for getting an estimate of the quotient characters. This results in a correction of at most plus or minus one to the estimate, to obtain the exact quotient character. It is believed that this method will be widely applicable for division operations in variable word-length character-oriented machines. .B CACM March, 1965 .A Krishnamurthy, E. V. .N CA650315JB March 7, 1978 4:16 PM .X 1026 4 1292 1258 4 1292 1258 4 1292 1292 4 1292 1292 4 1292 1497 4 1292 1497 4 1292 1975 4 1292 2605 4 1292 107 5 1292 1026 5 1292 1292 5 1292 1292 5 1292 1292 5 1292 1497 5 1292 1593 5 1292 1975 5 1292 107 6 1292 1026 6 1292 1026 6 1292 1292 6 1292 1292 6 1292 1292 6 1292 1497 6 1292 1593 6 1292 91 6 1292 .I 1293 .T Method is Randomness .W Certain nonrandom properties of a commonly used random number generator are described and analyzed. .B CACM March, 1965 .A Greenberger, M. .N CA650314 JB March 7, 1978 4:18 PM .X 1293 5 1293 1293 5 1293 1293 5 1293 1674 5 1293 1691 5 1293 1293 6 1293 1293 6 1293 1420 6 1293 1631 6 1293 .I 1294 .T Note on Triple-Precision Floating-Point Arithmetic with 132-Bit Numbers .W In a recent paper, Gregory and Raney described a technique for double-precision floating-point arithmetic. A similar technique can be developed for triple-precision floating-point arithmetic and it is the purpose of this note to describe this technique. Only the multiplication and the division algorithms are described, since the addition-subtraction algorithm can be obtained by a trivial modification of the algorithm in Gregory's and Raney's paper. .B CACM March, 1965 .A Ikebe, Y. .N CA650313 JB March 7, 1978 5:54 PM .X 1294 4 1294 1152 5 1294 1294 5 1294 1294 5 1294 1294 5 1294 .I 1295 .T PERT Time Calculations Without Topological Ordering .W A simplified technique is presented for PERT Time calculations without topological ordering. Each event is assigned a unique memory location. An activity is represented by a link. A link is defined as a memory location containing the address of another memory location. The time information for an activity is carried with its link. For a typical net, the majority of activities can be described by one 36-bit cell each. The remainder use two 36-bit cells each. The links are unidirectional; forward during the T(E) calculation (expected completion time for an activity);backward during the T(L) calculation (time latest allowable for completion of an activity). The calculations progress through the net topologically even though the net is not represented topologically in core. .B CACM March, 1965 .A Lass, S. E. .N CA650312 JB March 7, 1978 6:00 PM .X 1295 5 1295 1295 5 1295 1295 5 1295 1611 5 1295 1295 6 1295 340 6 1295 .I 1296 .T Ative (Algorithm 205 [E4]) .B CACM March, 1965 .A Wasscher, E. J. .N CA650311 JB March 7, 1978 6:01 PM .X 1296 5 1296 1296 5 1296 1296 5 1296 .I 1297 .T Steep1 (Algorithm 203 [E4]) .B CACM March, 1965 .A Varah, J. M. .N CA650310 JB March 7, 1978 6:02 PM .X 1297 5 1297 1297 5 1297 1297 5 1297 .I 1298 .T Adaptive Numerical Integration by Simpson's Rule (Algorithm 145 [D1]) .B CACM March, 1965 .A Pike, M. C. .N CA650309 JB March 7, 1978 6:03 PM .X 1298 5 1298 1298 5 1298 1298 5 1298 2093 5 1298 834 6 1298 872 6 1298 1092 6 1298 1298 6 1298 1573 6 1298 429 6 1298 .I 1299 .T Solutions of the Diophantine Equation (Algorithm 139 [A1]) .B CACM March, 1965 .A Bowlden, H. J. .N CA650308 JB March 7, 1978 6:04 PM .X 1299 5 1299 1299 5 1299 1299 5 1299 .I 1300 .T Function Minimization (Algorithm 251[E4]) .B CACM March, 1965 .A Wells, M. .N CA650307 JB March 7, 1978 6:05 PM .X 1300 5 1300 1300 5 1300 1300 5 1300 .I 1301 .T On ALGOL I/O Conventions .B CACM March, 1965 .A Zaremba, W. A. .N CA650306 JB March 7, 1978 6:06 PM .X 1301 5 1301 1301 5 1301 1301 5 1301 .I 1302 .T Parallel Signaling Speeds for Data Transmission (Proposed American Stand ard) .B CACM March, 1965 .N CA650305 JB March 7, 1978 6:08 PM .X 1302 5 1302 1302 5 1302 1302 5 1302 .I 1303 .T A Correspondence Between ALGOL 60 and Church's Lambda-Notation: Part II* .B CACM March, 1965 .A Landin, P. J. .N CA650304 JB March 7, 1978 6:09 PM .X 1303 5 1303 1303 5 1303 1303 5 1303 1469 5 1303 1486 5 1303 1491 5 1303 1781 5 1303 2178 5 1303 2326 5 1303 2470 5 1303 2684 5 1303 3044 5 1303 123 6 1303 196 6 1303 196 6 1303 919 6 1303 990 6 1303 1007 6 1303 1046 6 1303 1131 6 1303 1139 6 1303 1140 6 1303 1140 6 1303 1149 6 1303 1198 6 1303 1215 6 1303 1223 6 1303 1265 6 1303 1303 6 1303 1303 6 1303 1303 6 1303 1303 6 1303 1303 6 1303 1303 6 1303 1303 6 1303 1303 6 1303 1303 6 1303 1323 6 1303 1323 6 1303 1323 6 1303 1323 6 1303 1358 6 1303 1366 6 1303 1421 6 1303 1460 6 1303 1462 6 1303 1463 6 1303 1467 6 1303 1468 6 1303 1469 6 1303 1477 6 1303 1491 6 1303 1496 6 1303 1531 6 1303 1535 6 1303 1565 6 1303 1601 6 1303 1602 6 1303 1613 6 1303 1614 6 1303 1626 6 1303 1641 6 1303 1787 6 1303 1788 6 1303 205 6 1303 210 6 1303 1834 6 1303 1834 6 1303 224 6 1303 249 6 1303 288 6 1303 316 6 1303 381 6 1303 398 6 1303 2059 6 1303 11 6 1303 2127 6 1303 2192 6 1303 2264 6 1303 404 6 1303 410 6 1303 463 6 1303 464 6 1303 483 6 1303 3184 6 1303 3184 6 1303 3184 6 1303 3184 6 1303 3186 6 1303 3188 6 1303 584 6 1303 600 6 1303 680 6 1303 691 6 1303 729 6 1303 763 6 1303 799 6 1303 .I 1304 .T A Rapid Turnaround Multi-Programming System .W In this paper, basic features, system characteristics and the control algorithm for a multi-programming system with rapid turnaround time are described. .B CACM March, 1965 .A Irons, E. T. .N CA650303 JB March 7, 1978 6:19 PM .X 1304 5 1304 1304 5 1304 1304 5 1304 1550 5 1304 1304 6 1304 1472 6 1304 .I 1305 .T The Internal Structure of the FORTRAN CEP Translator .W The FORTRAN CEP translator converts a source program written in the FORTRAN CEP language into an object program written in the language of the CEP computer. In this paper, after an outline of the CEP computer, the internal structure of the translator is described. Emphasis is on the compilation of expressions, of input/output lists, and of subscripted variables. .B CACM March, 1965 .A Mancino, O. G. Cecchi, M. M. .N CA650302 JB March 7, 1978 6:23 PM .X 1305 4 1305 1035 5 1305 1305 5 1305 1305 5 1305 1305 5 1305 .I 1306 .T A Class of Unambiguous Computer Languages .W Discussed in this paper is the concept of a fully nested computer language which may be one means of designing computer languages which would be completely free of ambiguities. Several suggestions are also given here for the redefinition of ALGOL as a fully nested language. .B CACM March, 1965 .A Johnston, J. B. .N CA650301 JB March 7, 1978 6:26 PM .X 249 4 1306 254 4 1306 272 4 1306 1102 4 1306 1109 4 1306 1140 4 1306 1188 4 1306 1306 4 1306 1306 4 1306 1464 4 1306 1491 4 1306 1767 4 1306 1781 4 1306 1781 4 1306 1787 4 1306 1949 4 1306 321 4 1306 2059 4 1306 2126 4 1306 435 4 1306 437 4 1306 463 4 1306 483 4 1306 491 4 1306 2732 4 1306 560 4 1306 583 4 1306 3073 4 1306 627 4 1306 631 4 1306 632 4 1306 642 4 1306 644 4 1306 653 4 1306 680 4 1306 761 4 1306 762 4 1306 763 4 1306 123 4 1306 140 4 1306 919 4 1306 989 4 1306 196 5 1306 1306 5 1306 1306 5 1306 1306 5 1306 463 5 1306 .I 1307 .T A Lightpen-Controlled Program For On-Line Data Analysis .W This paper describes a technique designed to ease the use of a data processing system by a person, in particular, a scientist, who is intimately and primarily concerned with interpreting the significance of data handled by the system. Since such a person is often unable to spend the time necessary to master a programming language, it is essential that he be aided in composing commands to the computer. In the system described, the user is not required to learn or remember the vocabulary of the language because the vocabulary is displayed before him on"menus" by means of a computer-drive scope. He selects the various vocabulary elements required by pointing with the light pen. By use of a small unordered set of rewriting rules applied as a result of light pen selections, the user generates only syntactically correct commands to the system. He does not have to learn or remember the grammar. The program restricts the user severely in the particular language he can use, but the method for communicating with the program makes these restrictions seem quite natural and unconstraining. The program has been used successfully for over ten months. .B CACM February, 1965 .A Goodenough, J. B. .N CA650217 JB March 7, 1978 10:40 PM .X 1307 5 1307 1307 5 1307 1307 5 1307 1978 5 1307 1307 6 1307 1589 6 1307 1813 6 1307 .I 1308 .T A Mathematical Model for Mechanical part Description .W The flexibility of a mathematical model takes advantage of the common information requirements of computer-aided engineering drawing, numerical control tape generation, and physical characteristic computation. By judicious control of man-machine communication requirements, improved results over conventional engineering design processes are possible. An English-like input language, tailored for use by draftsmen and designers, will describe the part and specify the output desired. One approach to the mathematical model consists of a group of surface-defining quadric equations, which are created by a system of modular subprogram. Other subprograms will convert the mathematical model into instructions for driving automatic drafting machines and numerical controlled machine tools. Physical part characteristics, such as center of gravity, can be computed by subprograms and used in dynamic analysis work. The proposed overall system is presented and experiments and demonstrations are discussed. .B CACM February, 1965 .A Luh, J. Y. S. Krolak, R. J. .N CA650216 JB March 7, 1978 10:46 PM .X 1308 5 1308 1308 5 1308 1308 5 1308 .I 1309 .T A Computer User-Oriented System .W A computer language system has been developed which makes possible fast preparation of management reports, regardless of computational complexity or format variety. Costs are sufficiently low so that individually tailored reports can be prepared for every manager. The system requires initial preparation of large data banks containing data in elementary form. Use of two special languages, EXTRACT and MATRAN, permits selective extraction of any data subset, efficient processing through any computational sequence, and flexible presentation of results in either tabular or graphical form. Matrix algebra is used as a fundamental vehicle for accomplishing both manipulation and computation. .B CACM February, 1965 .A Montillon, G. D. .N CA650215 JB March 7, 1978 10:51 PM .X 1309 4 1309 892 4 1309 1309 5 1309 1309 5 1309 1309 5 1309 656 5 1309 .I 1310 .T A Rapid Braille Transliteration Technique for Certain IBM Machines .B CACM February, 1965 .A Weiler, W. J. Klema, V. C. .N CA650214 JB March 7, 1978 10:55 PM .X 1310 5 1310 1310 5 1310 1310 5 1310 .I 1311 .T Efficient Autocorrelation .B CACM February, 1965 .A Schmid, L. P. .N CA650213 JB March 7, 1978 10:56 PM .X 1311 5 1311 1311 5 1311 1311 5 1311 .I 1312 .T Recursion and Iteration .B CACM February, 1965 .A Rice, H. G. .N CA650212 JB March 7, 1978 10:57 PM .X 1312 5 1312 1312 5 1312 1312 5 1312 3121 5 1312 1312 6 1312 308 6 1312 309 6 1312 2456 6 1312 2709 6 1312 .I 1313 .T Construction of Nonlinear Programming Test Problems .B CACM February, 1965 .A Rosen, J. B. Suzuki, S. .N CA650211 JB March 7, 1978 10:58 PM .X 1313 5 1313 1313 5 1313 1313 5 1313 3099 5 1313 3138 5 1313 1313 6 1313 1313 6 1313 2031 6 1313 .I 1314 .T The Organization of Symbol Tables .W An efficient symbol table organization is an important feature in the design of any compiler. During the construction of the Virginia ALGOL 60 compiler for the Burroughs B205, the primary consideration in the symbol table design was that the recognition of identifiers and reserved words should be as rapid as possible. The general features of the technique are described. .B CACM February, 1965 .A Batson, A. .N CA650210 JB March 7, 1978 11:01 PM .X 1314 5 1314 1314 5 1314 1314 5 1314 2033 5 1314 1314 6 1314 1785 6 1314 1786 6 1314 .I 1315 .T Automation of the Radioisotope Accountability System .W The Radioisotope Service of the Veterans Administration Hospital, Omaha, Nebraska, used a manual system of radioisotope accountability for three years. The procedure which was satisfactory but time-consuming was converted from manual to a fully automated computer system in January, 1963. The program for purchased radioisotopes is written in FORMAT FORTRAN for the IBM 1620 Computer. A second program for maintaining accountability for reactor-created radioisotopes is written in the FORCOM programming language. A minimum amount of bookkeeping is required by the reactor operating staff. The United States Atomic Energy Commission regulations specify that records be kept. This system provides detailed records for each container of radioactive material purchased and/or created in the Triga reactor indicating the amounts received, used, and/or transferred to the health physicist for disposal. Consolidated records contain total amounts received, used, and/or disposed of for any specified period of time. Purchased radioisotopes are reported in millicuries; reactor-created radioisotopes in microcuries. .B CACM February, 1965 .A Lahners, E. L. .N CA650209 JB March 7, 1978 11:10 PM .X 1315 5 1315 1315 5 1315 1315 5 1315 .I 1316 .T Bessel Functions of the First Kind (Algorithm 236 [S17]) .B CACM February, 1965 .A Gautschi, W. .N CA650208 JB March 7,1978 11:11 PM .X 1316 5 1316 1316 5 1316 1316 5 1316 1909 5 1316 134 6 1316 1023 6 1316 1284 6 1316 1316 6 1316 .I 1317 .T Poisson-Charlier Polynomials (Algorithm 234 [S23]) .B CACM February, 1965 .A Samet, P.A. .N CA650207 JB March 7, 1978 11:12 PM .X 1317 5 1317 1317 5 1317 1317 5 1317 .I 1318 .T Arccossin (Algorithm 206 [B1]) .B CACM February, 1965 .A Bowlden, H. J. .N CA650206 JB March 7, 1978 11:14 PM .X 1318 5 1318 1318 5 1318 1318 5 1318 .I 1319 .T Crout with Equilibration and Iteration (Algorithm 135 [F4]) .B CACM February, 1965 .A Meissner, L. P. .N CA650205 JB March 7, 1978 11:15 PM .X 1319 4 1319 1319 4 1319 454 4 1319 140 4 1319 152 5 1319 1128 5 1319 1319 5 1319 1319 5 1319 1319 5 1319 .I 1320 .T Inverse Permutation (Algorithm 250 [G6]) .B CACM February, 1965 .A Boonstra, B. H. .N CA650204 JB March 7, 1978 11:16 PM .X 1320 5 1320 1320 5 1320 1320 5 1320 .I 1321 .T Outreal N (Algorithm [I5]) .B CACM February, 1965 .A Wirth, N. E. .N CA650203 JB March 7, 1978 11:17 PM .X 1321 5 1321 1321 5 1321 1321 5 1321 1705 5 1321 984 6 1321 986 6 1321 1020 6 1321 1321 6 1321 .I 1322 .T Netflow (Algorithm 248 [H]) .B CACM February, 1965 .A Briggs, W. A. .N CA650202 JB March 7, 1978 11:18 PM .X 1322 5 1322 1322 5 1322 1322 5 1322 1690 5 1322 1322 6 1322 .I 1323 .T A Correspondence Between ALGOL 60 and Church's Lambda-Notation: Part I* .W This paper describes how some of the semantics of ALGOL 60 can be formalized by establishing a correspondence between expressions of ALGOL 60 and expressions in a modified form of Church's L-notation. First a model for computer languages and compute behavior is described, based on the notions of functional application and functional abstraction, but also having analogues for imperative language features. Then this model is used as an "abstract object language" into which ALGOL 60 is mapped. Many of ALGOL 60's features emerge as particular arrangements of a small number of structural rules, suggesting new classifications and generalizations. The correspondence is first described informally, mainly by illustrations. The second part of the paper gives a formal description, i.e. an "abstract compiler" into the "abstract objct language." This is itself presented in a "purely functional" notation, that is one using only application and abstraction. .B CACM February, 1965 .A Landin, P. J. .N CA650201 JB March 7, 1978 11:26 PM .X 1086 4 1323 1132 4 1323 1234 4 1323 1263 4 1323 1265 4 1323 1270 4 1323 1323 4 1323 1323 4 1323 1323 4 1323 1358 4 1323 1358 4 1323 1379 4 1323 1380 4 1323 1380 4 1323 1453 4 1323 1464 4 1323 1484 4 1323 1491 4 1323 1498 4 1323 1613 4 1323 1614 4 1323 1665 4 1323 1781 4 1323 1781 4 1323 1787 4 1323 1825 4 1323 1860 4 1323 1989 4 1323 2083 4 1323 2112 4 1323 2178 4 1323 2179 4 1323 2252 4 1323 2325 4 1323 2341 4 1323 2534 4 1323 2541 4 1323 2546 4 1323 2645 4 1323 2652 4 1323 2684 4 1323 2698 4 1323 2733 4 1323 2820 4 1323 2842 4 1323 2929 4 1323 2934 4 1323 3069 4 1323 3073 4 1323 3155 4 1323 669 4 1323 679 4 1323 691 4 1323 761 4 1323 949 4 1323 989 4 1323 1323 5 1323 1323 5 1323 1323 5 1323 267 5 1323 1781 5 1323 2178 5 1323 2326 5 1323 2684 5 1323 3184 5 1323 799 5 1323 123 6 1323 196 6 1323 919 6 1323 990 6 1323 1007 6 1323 1046 6 1323 1131 6 1323 1139 6 1323 1140 6 1323 1149 6 1323 1198 6 1323 1215 6 1323 1223 6 1323 1265 6 1323 1303 6 1323 1303 6 1323 1303 6 1323 1303 6 1323 1323 6 1323 1323 6 1323 1323 6 1323 1323 6 1323 1358 6 1323 1366 6 1323 1421 6 1323 1460 6 1323 1462 6 1323 1463 6 1323 1467 6 1323 1468 6 1323 1477 6 1323 1491 6 1323 1496 6 1323 1531 6 1323 1535 6 1323 1565 6 1323 1601 6 1323 1602 6 1323 1613 6 1323 1614 6 1323 1626 6 1323 1641 6 1323 1787 6 1323 1788 6 1323 205 6 1323 1834 6 1323 224 6 1323 249 6 1323 288 6 1323 316 6 1323 381 6 1323 398 6 1323 2059 6 1323 11 6 1323 2127 6 1323 2192 6 1323 404 6 1323 410 6 1323 463 6 1323 464 6 1323 483 6 1323 3184 6 1323 3184 6 1323 3184 6 1323 3186 6 1323 3188 6 1323 584 6 1323 600 6 1323 680 6 1323 691 6 1323 763 6 1323 799 6 1323 .I 1324 .T Answering English questions by Computer: A Survey .W Fifteen experimental English language question-answering systems which are programmed and operating are described and reviewed. The systems range from a conversation machine to programs which make sentences about pictures and systems which translate from English into logical calculi. Systems are classified as list-structured data-based, graphic data-based, text-based and inferential. Principles and methods of operations are detailed and discussed. It is concluded that the data-base question-answer has passed from initial research into the early developmental phase. The most difficult and important research questions for the advancement of general-purpose language processors are seen to be concerned with measuring, dealing with ambiguities, translating into formal languages and searching large tree structures. .B CACM January, 1965 .A Simmons, R. F. .N CA650113 JB March 8, 1978 2:21 PM .X 1324 4 1324 1324 4 1324 1324 4 1324 892 4 1324 931 4 1324 1155 5 1324 1324 5 1324 1324 5 1324 1324 5 1324 1456 5 1324 1468 5 1324 1515 5 1324 1699 5 1324 1856 5 1324 2127 5 1324 634 5 1324 652 5 1324 653 5 1324 1155 6 1324 1155 6 1324 1194 6 1324 1225 6 1324 1324 6 1324 1324 6 1324 1324 6 1324 1324 6 1324 1324 6 1324 1324 6 1324 1324 6 1324 1487 6 1324 1527 6 1324 1553 6 1324 1681 6 1324 1781 6 1324 1856 6 1324 .I 1325 .T Remote, On-Line, Real-time Computer Diagnosis of the Clinical Electrocardiogram .W Presented in this paper is a brief report on the hardware, software, system configuration and function of a system for the remote, online, real-time digital computer diagnosis of clinical electrocardiograms. It seems likely that efforts of this sort will lead to a satisfactory solution to the problem of the automatic diagnosis of electrocardiograms. Current attempts by the authors to extend the diagnostic capabilities of the present system are particularly concerned with increasing the fidelity of the adaptive matched filters, the development of three dimensional pattern analysis, the analysis of parallel electrocardiographer-computer diagnostic interaction, and a study of the possibility of introducing major, tree-like branching decisions early in the diagnostic process. .B CACM January, 1965 .A Whipple, G. H. Dickson, J. F. Horibe, H. Stark, L. .N CA650112 JB March 8, 1978 2:27 PM .X 1325 4 1325 1325 5 1325 1325 5 1325 1325 5 1325 462 5 1325 .I 1326 .T Boundary Networks .W A feasible computer procedure is described for determining the total or partial inclusion of arbitrarily given points and lines with respect to a set of general polygonal domains which partition a plane bounded region. A scheme for the computer representation of the boundaries of the domains and an algorithm, based on this scheme, for evaluating the inclusion relations are specified in detail. The method employs several levels of selection criteria for the purpose of reducing the number of accesses to auxiliary storage devices and the amount of boundary data for which processing is required. .B CACM January, 1965 .A Loomis, R. G. .N CA650111 JB March 8, 1978 2:31 PM .X 1326 5 1326 1326 5 1326 1326 5 1326 1630 5 1326 2547 5 1326 2987 5 1326 3165 5 1326 1326 6 1326 1326 6 1326 1326 6 1326 1326 6 1326 1630 6 1326 1925 6 1326 2125 6 1326 2547 6 1326 2633 6 1326 2987 6 1326 421 6 1326 524 6 1326 .I 1327 .T Use of Decision Tables in Computer Programming .W A decision table is a tabular form for displaying decision logic. Decision tables have many inherent advantages. The technique to be illustrated puts these advantages to use in that it enables one to program directly from a decision table. The technique is based on the creation of a binary image of a limited entry decision table in computer memory. A binary image of a given set of input conditions can also be created. This data image is used to scan the decision table image to arrive at the proper course of action. There are several advantages gained from the programming point view: (1) amount of computer memory used is drastically reduced, (2) programming is simplified, and (3) documentation is brief and clear. .B CACM January, 1965 .A Kirk, H. W. .N CA650110 JB March 8, 1978 2:36 PM .X 1327 5 1327 1327 5 1327 1327 5 1327 1354 5 1327 1488 5 1327 2053 5 1327 2220 5 1327 2273 5 1327 2726 5 1327 2856 5 1327 1172 6 1327 1172 6 1327 1172 6 1327 1172 6 1327 1172 6 1327 1172 6 1327 1237 6 1327 1237 6 1327 1237 6 1327 1237 6 1327 1237 6 1327 1327 6 1327 1327 6 1327 1327 6 1327 1327 6 1327 1327 6 1327 1327 6 1327 1327 6 1327 1354 6 1327 1354 6 1327 1354 6 1327 1354 6 1327 1354 6 1327 1488 6 1327 1489 6 1327 1489 6 1327 1548 6 1327 1548 6 1327 1684 6 1327 250 6 1327 2053 6 1327 2053 6 1327 2220 6 1327 2220 6 1327 2220 6 1327 2221 6 1327 2263 6 1327 2453 6 1327 2598 6 1327 .I 1328 .T Further Remarks on Reducing Truncation Errors .B CACM January, 1965 .A Kahan, W. .N CA650109 JB March 8, 1978 2:37 PM .X 1328 4 1328 1333 4 1328 2144 4 1328 1052 5 1328 1328 5 1328 1328 5 1328 1328 5 1328 2282 5 1328 2860 5 1328 3083 5 1328 1328 6 1328 1328 6 1328 1328 6 1328 1973 6 1328 2049 6 1328 2107 6 1328 2203 6 1328 2543 6 1328 2552 6 1328 492 6 1328 .I 1329 .T Simulation of Boolean Functions in a Decimal computer .B CACM January, 1965 .A Mano, M. M. .N CA650108 JB March 8, 1978 2:38 PM .X 1207 5 1329 1208 5 1329 1329 5 1329 1329 5 1329 1329 5 1329 3053 5 1329 1329 6 1329 1329 6 1329 1329 6 1329 1785 6 1329 1973 6 1329 1992 6 1329 2107 6 1329 2109 6 1329 2412 6 1329 2543 6 1329 2673 6 1329 2707 6 1329 2770 6 1329 .I 1330 .T Automated Plotting Flow-Charts on a Small Computer .B CACM January, 1965 .A Anderson, H. E. .N CA650107 JB March 8, 1978 2:39 PM .X 1330 4 1330 1330 4 1330 1348 4 1330 2315 4 1330 1330 5 1330 1330 5 1330 1330 5 1330 528 5 1330 728 5 1330 .I 1331 .T Code Structures for Protection and Manipulation of Variable-Length Items .W When items are made up of a variable number of characters, each containing the same number of bits, certain control information (partition symbols) is inserted to mark their separations. Since errors in identification of these control characters can lead to serious trouble, methods of protecting these symbols are indicated. A 6-bit code assignment of alphanumeric characters for fixed word-length computers is given and its suitability for error detection and variable-length item manipulation is shown. Also indicated is its flexibility during certain arithmetic operations. .B CACM January, 1965 .A Ramamoorthy, C. V. .N CA650106 JB March 8, 1978 2:48 PM .X 1331 5 1331 1331 5 1331 1331 5 1331 .I 1332 .T Subroutine Assembly .W A description is given of an assembly system, which requires only one pass and does not maintain a table of information about the subroutine library. .B CACM January, 1965 .A Samet, P. A. .N CA650105 JB March 8, 1978 2:51 PM .X 1332 4 1332 1044 5 1332 1332 5 1332 1332 5 1332 1332 5 1332 .I 1333 .T Reducing Truncation Errors Using Cascading Accumulators .W When accumulating a large number of quantities as in numerical integration, the sum itself may become much larger than the individual addends. This results in truncation error. Much of this error can be eliminated using cascading accumulators as noted in a recent article by Wolfe. A simpler and slightly more flexible algorithm is presented which deals also with the case of negative addends. .B CACM January, 1965 .A Ross, D. R. .N CA650104 JB March 8, 1978 2:54 PM .X 1328 4 1333 1333 4 1333 2144 4 1333 1052 5 1333 1333 5 1333 1333 5 1333 1333 5 1333 .I 1334 .T Mechanization of Tedious Algebra: The Newcomb Operators of Planetary Theory .W A computer program has been written to generate tables of formulas for the Newcomb operators of planetary theory. The Newcomb operators are expressed as polynomials in two variables, one of which stands for a simple differential operator, and the other for an arbitrary integer. The polynomials are generated by a recurrence scheme. The program is coded in FORTRAN, using simple array manipulation techniques to perform the algebraic operations. Formulas for over 100 Newcomb operators have been produced by the program and typeset photographically on an S-560 Photon system. .B CACM January, 1965 .A Gerard, J. M. Izsak, I. G. Barnett, M. P. .N CA650103 JB March 8, 1978 2:59 PM .X 1334 4 1334 1396 4 1334 1444 4 1334 964 5 1334 1334 5 1334 1334 5 1334 1334 5 1334 1396 5 1334 964 6 1334 1028 6 1334 1029 6 1334 1083 6 1334 1132 6 1334 1214 6 1334 1278 6 1334 1334 6 1334 1365 6 1334 1386 6 1334 1387 6 1334 1388 6 1334 1392 6 1334 1393 6 1334 1394 6 1334 1395 6 1334 1396 6 1334 1397 6 1334 1496 6 1334 284 6 1334 407 6 1334 3199 6 1334 3200 6 1334 3201 6 1334 3202 6 1334 3203 6 1334 3204 6 1334 561 6 1334 730 6 1334 .I 1335 .T Character Set for Optical Character Recognition (Proposed American Stand ard) .B CACM January, 1965 .N CA650102 JB March 8, 1978 3:00 PM .X 1335 5 1335 1335 5 1335 1335 5 1335 .I 1336 .T NPL: Highlights of A New Programming Language .B CACM January, 1965 .A Radin, G. Rogoway, H. P. .N CA650101 JB March 8, 1978 3:01 PM .X 1247 5 1336 1336 5 1336 1336 5 1336 1336 5 1336 1945 5 1336 823 6 1336 914 6 1336 915 6 1336 917 6 1336 984 6 1336 989 6 1336 990 6 1336 1012 6 1336 1084 6 1336 1098 6 1336 1122 6 1336 1138 6 1336 1139 6 1336 1141 6 1336 1200 6 1336 1223 6 1336 1265 6 1336 1336 6 1336 1336 6 1336 1396 6 1336 1455 6 1336 1477 6 1336 1487 6 1336 1491 6 1336 1496 6 1336 483 6 1336 584 6 1336 669 6 1336 680 6 1336 763 6 1336 .I 1337 .T EULER: A Generalization of ALGOL, and its Formal Definition .B CACM December, 1966 .A Wirth, N. Weber, H. .N CA661212 JB March 30, 1978 9:11 AM .X 1337 5 1337 1337 5 1337 1337 5 1337 2423 5 1337 1337 6 1337 2015 6 1337 .I 1338 .T Additional Comments on a Problem in Concurrent Progamming Control .B CACM December, 1966 .A Knuth, D. E. .N CA661211 JB March 30, 1978 9:12 AM .X 1338 5 1338 1338 5 1338 1338 5 1338 2150 5 1338 2228 5 1338 2256 5 1338 2342 5 1338 2618 5 1338 1198 6 1338 1198 6 1338 1198 6 1338 1198 6 1338 1198 6 1338 1338 6 1338 1338 6 1338 1338 6 1338 1338 6 1338 1338 6 1338 1749 6 1338 1749 6 1338 1749 6 1338 1877 6 1338 2256 6 1338 .I 1339 .T A Contribution to the Development of ALGOL .B CACM December, 1966 .A Wirth, N. Hoare, C. A. R. .N CA661210 JB March 30, 1978 9:13 AM .X 1339 5 1339 1339 5 1339 1339 5 1339 .I 1340 .T Multiplexing of Slow Peripherals .W The philosophy of a monitor which allows slow output devices to be multiplexed is presented. .B CACM December, 1966 .A Abraham, C. Lance, G. N. Pearcey, T. .N CA661209 JB March 2, 1978 2:25 PM .X 1340 5 1340 1340 5 1340 1340 5 1340 .I 1341 .T Levels of Computer Systems .W In building current computer systems, we tend to break them down into "levels" of control, command and communication; in using the system, we break our problems down correspondingly. The continued use of such a structure raises questions about its effects on the usefulness of future systems, particularly with regard to such trends as time sharing, parallel programming, and, eventually, systems which learn. In this essay some of these questions are posed, and the general attitude we must take in pursuing the problem further is discussed. .B CACM December, 1966 .A Bryant, P. .N CA661208 JB March 2, 1978 2:29 PM .X 1341 5 1341 1341 5 1341 1341 5 1341 .I 1342 .T Transportation Problem (Algorithms 293 [H]) .B CACM December, 1966 .A Bayer, G. .N CA661207a JB March 2, 1978 2:30 PM .X 1342 5 1342 1342 5 1342 1342 5 1342 .I 1343 .T Havie Integrator (Algorithm 257 [D1]) .B CACM December, 1966 .A Farkas, I. .N CA661207b JB March 23, 1978 4:16 PM .X 1343 5 1343 1343 5 1343 1343 5 1343 .I 1344 .T Statistical Computations Based Upon Algebraically Specified Models .W Based upon a machine-readable statistical model and related symbolic specifications, an efficient method of performing calculations for statistical models of a balanced complete nature is presented. Fixes, mixed, and random analysis of variance models are considered. A procedure for obtaining variance components and calculated F statistics for the model terms is included. .B CACM December, 1966 .A Schlater, J. E. Hemerle, W. J. .N CA661206 JB March 2, 1978 2:33 PM .X 1344 5 1344 1344 5 1344 1344 5 1344 .I 1345 .T Tensor Calculations on the Computer .W A FORMAC program has been written which is capable of calculating various quantities of interest in tensor calculus. Using this code, Christoffel symbols have been calculated for 12 basic orthogonal coordinate systems. .B CACM December, 1966 .A Waltons, J. J. .N CA661205 JB March 2, 1978 2:35 PM .X 1345 5 1345 1345 5 1345 1345 5 1345 1543 5 1345 1664 5 1345 1345 6 1345 1345 6 1345 1543 6 1345 1616 6 1345 1616 6 1345 .I 1346 .T On the Application of the Process of Equalization of Maxima to Obtain Rational Approximation to Certain Modified Bessel Functions .W The second Remes algorithm as originally established for polynomials, may converge or not when the approximating functions are rational. However, the few results known in this domain show how efficient the algorithm can be to obtain approximations with a small error, much more than in the polynomial case, in which the best approximation can be very nearly approached directly by a series development. The aim of this paper is to investigate the limitations of the applicability of certain extensions of the algorithm to the case where the approximations are rational as well as to present some numerical results. .B CACM December, 1966 .A Gargantini, L. .N CA661204 JB March 2, 1978 2:39 PM .X 1015 4 1346 1346 4 1346 1346 4 1346 1440 4 1346 1645 4 1346 951 4 1346 951 5 1346 1346 5 1346 1346 5 1346 1346 5 1346 532 5 1346 .I 1347 .T General Time-Varying Systems Error Sensitivities Program .W The evaluation, by the propagation of variance technique, of the sensitivity of time-varying systems to initial condition and parameter errors, involves the determination of several system-dependent partial derivative matrices. This requirement has led to separate programs for each system under investigation. A new program, through utilization of the Wengert differentiation technique, automatically determines the required matrices from specific system equations supplied in subroutine form at execution time, eliminating the need for individualized programs, and presaging the further development of extremely general computer programs. .B CACM December, 1966 .A Wilkins, R. D. .N CA661203 JB March 2, 1978 2:44 PM .X 1028 4 1347 1216 4 1347 1216 4 1347 1278 4 1347 1278 4 1347 1347 4 1347 1347 4 1347 1347 4 1347 1396 4 1347 1396 4 1347 1396 4 1347 1536 4 1347 1028 5 1347 1029 5 1347 1278 5 1347 1347 5 1347 1347 5 1347 1347 5 1347 .I 1348 .T FLOWTRACE, A Computer Program for Flowcharting Programs .W The FLOWTRACE system produces flowcharts of programs written in "almost any" programming language. One most describe the syntax of the control statements in his language; for this purpose a metalanguage is available. The resultant object deck is used to flowchart any programs in the language described. Several examples of FAP and SNOBOL flowcharts are given. However, it is not necessary to confine one's scope to existing languages. One may define his own language in any "well-structured" manner. This feature is particularly useful when it is desirable to chart only comments within a program. Such an approach permits the documentation of descriptive remarks and avoids the inclusion of coding details. .B CACM December, 1966 .A Sherman, P. M. .N CA661202 JB March 2, 1978 2:49 PM .X 1330 4 1348 1348 4 1348 2315 4 1348 1348 5 1348 1348 5 1348 1348 5 1348 2315 5 1348 728 5 1348 1348 6 1348 1834 6 1348 1987 6 1348 728 6 1348 .I 1349 .T Computing Capabilities at Western European Universities .W This report on the author's trip to universities in Western Europe in the summer of 1966 gives brief descriptions of computing activities at each institution visited. Present equipment capabilities vary from moderate to large scale; however, many institutions plan to acquire complex time-shared systems in the near future. In the author's opinion, the state of the art lags behind that on this continent. This lag is attributed to four principal factors: (a) the handicapping organization of academic procedures; (b) the university-government financial relationship; (c) the subordinated organization of the computing facility; (d) the paucity of professional interchange of knowledge. The effects of these constraints are explicated. .B CACM December, 1966 .A Finerman, A. .N CA661201 JB March 2, 1978 2:55 PM .X 1349 4 1349 1349 4 1349 1349 4 1349 1349 4 1349 689 4 1349 1349 5 1349 1349 5 1349 1349 5 1349 236 5 1349 1862 5 1349 323 5 1349 415 5 1349 83 5 1349 1349 6 1349 .I 1350 .T The Augmented Predictive Analyzer for Context-Free Languages-Its Relative Efficiency .W It has been proven by Greibach that for a given context-free grammar G, a standard-form grammar Gs can be constructed, which generates the same languages as is generated by G and whose rules are all of the form Z --> cY(1) ... Y(m), (m >= O) where Z and Y(i) are intermediate symbols and c a terminal symbol. Since the predictive analyzer at Harvard uses a standard-form grammar, it can accept the language of any context-free Grammar G, given an equivalent standard-form grammar Gs. The structural descriptions SD(Gs,X) assigned to a given sentence X by the predictive analyzer, however, are usually different from the structural descriptions SD(G,X) assigned to the same sentence by the original context-free grammar G from which Gs is derived. In Section 1, an algorithm, originally due to Abbott is described standard-form grammar each of whose rules is in standard form, supplemented by additional information describing its derivation from the original context-free grammar. A technique for performing the SD(Gs,X) to SD(G,X) transformation effectively is also described. In section 2, the augmented predictive analyzer as a parsing algorithm for arbitrary context-free languages is compared with two other parsing algorithms: a selective top-to-bottom algorithm similar to Irons' "error correcting parse algorithm" and an immediate constituent analyzer which is an extension of Sakai-Cocke's algorithm for normal grammars. The comparison is based upon several criteria of efficiency, covering core-storage requirements, complexities of the programs and processing time. .B CACM November, 1966 .A Kuno,S. .N CA661108 JB March 2, 1978 3:11 PM .X 1225 4 1350 1225 4 1350 1350 4 1350 1350 4 1350 1350 4 1350 1350 4 1350 1350 4 1350 1399 4 1350 1646 4 1350 1659 4 1350 1659 4 1350 1768 4 1350 1781 4 1350 1781 4 1350 1856 4 1350 1945 4 1350 1945 4 1350 1945 4 1350 2050 4 1350 2110 4 1350 2650 4 1350 2698 4 1350 2708 4 1350 3093 4 1350 3094 4 1350 1012 5 1350 1225 5 1350 1265 5 1350 1350 5 1350 1350 5 1350 1350 5 1350 1399 5 1350 1659 5 1350 680 5 1350 1225 6 1350 1265 6 1350 1350 6 1350 1671 6 1350 1697 6 1350 .I 1351 .T Automatic Error Bounds on Real Zeros of Rational Functions .W A procedure for implementing an interval arithmetic version of the Newton-Raphson method is proposed. The procedure require only a starting interval over which the zeros of a given rational function are to be located. The method automatically provides bounds for roundoff error. .B CACM November, 1966 .A Dargel, R. H. Loscalzo, F. R. Witt, T. H. .N CA661107 JB March 2, 1978 3:31 PM .X 1351 5 1351 1351 5 1351 1351 5 1351 .I 1352 .T Automatic Integration of a Function with a Parameter .W Two efficient methods for automatic numerical integration are Romberg integration and adaptive Simpson integration. For integrands of the form f(x)g(x,a) where a is a parameter, it is shown that Romberg's method is more efficient. A FORTRAN program shows how to achieve this greater efficiency. .B CACM November, 1966 .A Rabinowitz, P. .N CA661106 JB March 2, 1978 3:35 PM .X 1040 4 1352 1352 4 1352 1352 4 1352 1352 4 1352 1352 4 1352 1352 4 1352 1352 4 1352 1352 4 1352 1352 4 1352 1352 4 1352 1352 4 1352 1352 4 1352 1356 4 1352 1883 4 1352 1982 4 1352 1982 4 1352 2040 4 1352 2040 4 1352 2040 4 1352 2040 4 1352 2048 4 1352 2048 4 1352 2048 4 1352 2074 4 1352 2074 4 1352 2074 4 1352 2074 4 1352 2093 4 1352 2093 4 1352 2093 4 1352 2093 4 1352 2415 4 1352 2550 4 1352 1040 5 1352 1092 5 1352 1241 5 1352 1273 5 1352 1352 5 1352 1352 5 1352 1352 5 1352 324 5 1352 2040 5 1352 429 5 1352 570 5 1352 621 5 1352 786 5 1352 834 5 1352 872 5 1352 1241 6 1352 1273 6 1352 1352 6 1352 1356 6 1352 324 6 1352 621 6 1352 .I 1353 .T Techniques for Automatic Tolerance Control in Linear Programming .W In this technical note, the numerical steps for the simplex method of linear programming are reviewed and the tolerances needed in the numerical procedure are defined. Objective criteria are given for accomplishing the numerical steps of the method and the calculation of necessary tolerances. .B CACM November, 1966 .A Clasen, R. J. .N CA661105 JB March 2, 1978 3:37 PM .X 1353 5 1353 1353 5 1353 1353 5 1353 2589 5 1353 1353 6 1353 .I 1354 .T Conversion of Decision Tables to Computer Programs by Rule Mark Techniques .W The rule mask technique is one method of converting limited entry decision tables to computer programs. Recent discussion suggest that in many circumstances it is to be preferred to the technique of constructing networks or trees. A drawback of the technique as hitherto presented is its liability to produce object programs of longer run time than necessary. In this paper a modification of the technique is discussed which takes into account both rule frequencies and the relative times for evaluating conditions. This can materially improve object program run time. .B CACM November, 1966 .A King, P. J. H. .N CA661104 JB March 2, 1978 3:41 PM .X 1354 4 1354 1354 4 1354 1354 4 1354 1488 4 1354 1488 4 1354 1994 4 1354 2053 4 1354 2053 4 1354 2053 4 1354 2220 4 1354 2220 4 1354 2220 4 1354 2273 4 1354 2273 4 1354 2273 4 1354 2453 4 1354 2598 4 1354 2726 4 1354 2726 4 1354 2856 4 1354 2856 4 1354 1172 5 1354 1237 5 1354 1327 5 1354 1354 5 1354 1354 5 1354 1354 5 1354 1684 5 1354 2053 5 1354 2220 5 1354 2273 5 1354 2453 5 1354 2726 5 1354 2856 5 1354 3113 5 1354 1172 6 1354 1172 6 1354 1172 6 1354 1172 6 1354 1172 6 1354 1172 6 1354 1237 6 1354 1237 6 1354 1237 6 1354 1327 6 1354 1327 6 1354 1327 6 1354 1327 6 1354 1327 6 1354 1354 6 1354 1354 6 1354 1354 6 1354 1354 6 1354 1354 6 1354 1354 6 1354 1354 6 1354 1354 6 1354 1488 6 1354 1489 6 1354 1489 6 1354 1548 6 1354 1548 6 1354 1564 6 1354 1684 6 1354 250 6 1354 2053 6 1354 2053 6 1354 2053 6 1354 2220 6 1354 2220 6 1354 2220 6 1354 2220 6 1354 2221 6 1354 2263 6 1354 2263 6 1354 2453 6 1354 2598 6 1354 2598 6 1354 2691 6 1354 2856 6 1354 753 6 1354 .I 1355 .T Regular Coulomb Wave Functions (Algorithm 292 ) .B CACM November, 1966 .A Gautschi, W. .N CA661103a JB March 2, 1978 3:43 PM .X 1355 4 1355 2619 4 1355 1355 5 1355 1355 5 1355 1355 5 1355 1419 5 1355 .I 1356 .T Havie Integrator (Algorithm 257 [D1]) .B CACM November, 1966 .A Hillstrom, K. .N CA661103b JB March 23, 1978 4:19 PM .X 1352 4 1356 1356 4 1356 1883 4 1356 2040 4 1356 1241 5 1356 1356 5 1356 1356 5 1356 1356 5 1356 2040 5 1356 1241 6 1356 1273 6 1356 1352 6 1356 1356 6 1356 324 6 1356 621 6 1356 .I 1357 .T Examination Scheduling (Algorithm 286 [H]) .B CACM November, 1966 .A Williams, R. .N CA661103c JB March 23, 1978 4:20 PM .X 1357 5 1357 1357 5 1357 1357 5 1357 .I 1358 .T Syntax Macros and Extended Translation .W A translation approach is described which allows one to extended the syntax and semantics of a given high-level base language by the use of a new formalism called a syntax-macro. Syntax-macros define string transformations based on syntactic elements of the base language. Two types of macros are discussed, and examples are given of their use. The conditional generation of macros based on options and alternatives recognized by the scan are also described. .B CACM November, 1966 .A Leavenworth, B. M. .N CA661102 JB March 2, 1978 3:46 PM .X 1037 4 1358 1086 4 1358 1132 4 1358 1234 4 1358 1234 4 1358 1263 4 1358 1265 4 1358 1270 4 1358 1323 4 1358 1323 4 1358 1358 4 1358 1358 4 1358 1358 4 1358 1358 4 1358 1358 4 1358 1379 4 1358 1380 4 1358 1380 4 1358 1453 4 1358 1464 4 1358 1484 4 1358 1491 4 1358 1491 4 1358 1498 4 1358 1565 4 1358 1613 4 1358 1614 4 1358 1665 4 1358 1781 4 1358 1781 4 1358 1781 4 1358 1781 4 1358 1787 4 1358 1788 4 1358 1825 4 1358 1860 4 1358 1989 4 1358 2083 4 1358 2112 4 1358 2178 4 1358 2179 4 1358 2252 4 1358 2325 4 1358 2341 4 1358 2534 4 1358 2541 4 1358 2546 4 1358 2645 4 1358 2652 4 1358 2684 4 1358 2698 4 1358 2733 4 1358 2820 4 1358 2842 4 1358 2929 4 1358 2934 4 1358 3069 4 1358 3073 4 1358 3155 4 1358 669 4 1358 679 4 1358 691 4 1358 761 4 1358 949 4 1358 989 4 1358 205 5 1358 1358 5 1358 1358 5 1358 1358 5 1358 1460 5 1358 1541 5 1358 1565 5 1358 1781 5 1358 1824 5 1358 2252 5 1358 3184 5 1358 729 5 1358 799 5 1358 123 6 1358 196 6 1358 919 6 1358 990 6 1358 1007 6 1358 1046 6 1358 1131 6 1358 1139 6 1358 1140 6 1358 1149 6 1358 1162 6 1358 1198 6 1358 1215 6 1358 1223 6 1358 1265 6 1358 1303 6 1358 1323 6 1358 1358 6 1358 1358 6 1358 1358 6 1358 1358 6 1358 1358 6 1358 1366 6 1358 1380 6 1358 1421 6 1358 1455 6 1358 1460 6 1358 1462 6 1358 1463 6 1358 1467 6 1358 1468 6 1358 1477 6 1358 1491 6 1358 1496 6 1358 1496 6 1358 1531 6 1358 1535 6 1358 1565 6 1358 1601 6 1358 1602 6 1358 1613 6 1358 1614 6 1358 1614 6 1358 1626 6 1358 1641 6 1358 1781 6 1358 1787 6 1358 1788 6 1358 205 6 1358 205 6 1358 224 6 1358 249 6 1358 288 6 1358 316 6 1358 381 6 1358 398 6 1358 11 6 1358 2155 6 1358 404 6 1358 404 6 1358 410 6 1358 463 6 1358 464 6 1358 483 6 1358 3184 6 1358 3184 6 1358 3188 6 1358 584 6 1358 600 6 1358 680 6 1358 691 6 1358 763 6 1358 799 6 1358 .I 1359 .T Data Filtering Applied to Information Storage and Retrieval Applications .W Manipulation of data strings is the most complex processing function in information storage and retrieval applications. Data string manipulation is discussed within the context of an interpretive processing environment controlled by the use of procedural directives. The sequence of procedural directives is derived from a job assumed to be expressed in a user-oriented source language. Each data string with the structured data environment (data bank) is explicitly or implicitly related to a format declaration residing in a format library. The processing mechanics associated with data string manipulation is developed in accordance with a generalized data filtering concept. This results in the implementation of a two-part data filter module that satisfies internal processing functions by filtering data strings through format declarations associated with its input and output ports. .B CACM November, 1966 .A Larsen, R. P. .N CA661101 JB March 2, 1978 3:52 PM .X 1359 5 1359 1359 5 1359 1359 5 1359 .I 1360 .T Description of Systems Used for Data Transmission* (An ASA Tutorial) .B CACM October, 1966 .N CA661007 JB March 2, 1978 3:54 PM .X 1360 5 1360 1360 5 1360 1360 5 1360 .I 1361 .T Rectangular Holes in Twelve-Row Punched Cards* (Proposed American Standard) .B CACM October, 1966 .N CA661006 JB March 2, 1978 3:55 PM .X 1361 5 1361 1361 5 1361 1361 5 1361 .I 1362 .T Code Extension in ASCII* (An ASA Tutorial) .W The American Standard Code for Information Interchange (ASCII) contains a number of control characters associated with the principle of code extension, that is, with the representation of information which cannot be directly represented by means of the characters in the Code. The manner of use of these characters has not previously been completely described. This paper presents a set of mutually consistent philosophies regarding code extension applications, and suggests a corollary set of doctrines for the application of the code extension characters. Distinctions are drawn between code extension and such other concepts as "graphic substitution" or "syntactic representation" which are often used to meet similar requirements. Also covered are certain topics which are not truly concerned with code extension but which are often linked with it in discussion on code applications. The material in this paper is equally applicable in principle to the (proposed) ISO international 7-bit code for information interchange. .B CACM October, 1966 .N CA661005 JB March 2, 1978 4:02 PM .X 1362 5 1362 1362 5 1362 1362 5 1362 .I 1363 .T A General Method of Systematic Interval Computation for Numerical Integration of Initial Value Problems .W A procedure is given for continuously computing and monitoring the step size to be used by a self-starting, p-th order numerical integration method to solve an initial value problem. The procedure uses an estimate of the truncation error to calculate the step size. .B CACM October, 1966 .A Martin, W. C. Paulson, K. C. Sashkin, L. .N CA661004 JB March 2, 1978 4:05 PM .X 1363 5 1363 1363 5 1363 1363 5 1363 .I 1364 .T Mathematical Experimentation in Time-Lag Modulation .W Equations of the form du/dt = g(u(t),u(h(t))) arise in a number of scientific contexts. The authors point out some interesting properties of the solution u'(t) = -u(t-1-k*sin(wt))+sin(at). These properties were obtained by means of numerical solution. .B CACM October, 1966 .A Bellman, R. Buell, J. Kalaba, R. .N CA661003 JB March 2, 1978 4:08 PM .X 1364 4 1364 1280 5 1364 1364 5 1364 1364 5 1364 1364 5 1364 .I 1365 .T Eliminating Monotonous Mathematics with FORMAC .W The FORMAC (FORmula MAnipulation Compiler) programming system provides a powerful tool for performing mathematical analysis. It is an extension of FORTRAN IV which permits the use of the computer to perform the tedious algebraic computations that arise in many different fields. Among the areas in which it has been successfully used are: differentiation of complicated expressions, expansion of truncated power series, solution of simultaneous equations with literal coefficients, nonlinear maximum likelihood estimation, tensor analysis, and generation of the coefficients of equations in Keplerian motion. These types of analysis-which arose in the solution of specific practical problems in physics, engineering, astronomy, statistics and astronautics-are discussed in the paper. In addition to its usage for specific problem solutions, FORMAC can also be used to automate the analysis phase in certain production programming. Several such applications are presented. .B CACM October, 1966 .A Tobey, R. G. .N CA661002 JB March 2, 1978 4:14 PM .X 1396 5 1365 1365 5 1365 1365 5 1365 1365 5 1365 2229 5 1365 964 6 1365 1028 6 1365 1029 6 1365 1083 6 1365 1132 6 1365 1214 6 1365 1278 6 1365 1334 6 1365 1365 6 1365 1365 6 1365 1386 6 1365 1387 6 1365 1388 6 1365 1392 6 1365 1393 6 1365 1394 6 1365 1395 6 1365 1396 6 1365 1397 6 1365 1496 6 1365 284 6 1365 407 6 1365 3199 6 1365 3200 6 1365 3201 6 1365 3202 6 1365 3203 6 1365 3204 6 1365 561 6 1365 730 6 1365 .I 1366 .T Computer Simulation-Discussion of the Technique and Comparison of Languages .W The purpose of this paper is to present a comparison of some computer simulation languages and of some of the involved in comparing software packages for digital computers are discussed in Part I. The issue is obvious: users of digital computers must choose from available languages or write their own. Substantial costs can occur, particularly in training, implementation and computer time if an inappropriate language is chosen.More and more computer simulation languages are being developed: comparisons and evaluations of existing languages are useful for designers and implementers as well as users. The second part is devoted to computer simulation and simulation languages. The computational characteristics of simulation are discussed with special attention being paid to a distinction between continuous and discrete change models. Part III presents a detailed comparison of six simulation languages and packages: SIMSCRIPT, CLP, CSL, GASP, CPSS and SOL. The characteristics of each are summarized in a series of tables. The implications of this analysis for designers of languages, for users, and for implementers are developed. The conclusion of the paper is that the packages now available for computer simulation offer features which none of the more general-purpose packages do and that analysis of strengths and weaknesses of each suggests ways in which both current and future simulation languages and packages can be improved. .B CACM October, 1966 .A Teichroew, D. Lubin, J. F. .N CA661001 JB March 2, 1978 4:23 PM .X 1366 5 1366 1366 5 1366 1366 5 1366 1503 5 1366 1781 5 1366 1860 5 1366 2091 5 1366 123 6 1366 196 6 1366 919 6 1366 990 6 1366 1007 6 1366 1046 6 1366 1131 6 1366 1139 6 1366 1140 6 1366 1149 6 1366 1198 6 1366 1215 6 1366 1223 6 1366 1265 6 1366 1303 6 1366 1323 6 1366 1358 6 1366 1366 6 1366 1366 6 1366 1366 6 1366 1366 6 1366 1389 6 1366 1421 6 1366 1421 6 1366 1460 6 1366 1462 6 1366 1463 6 1366 1467 6 1366 1468 6 1366 1477 6 1366 1477 6 1366 1491 6 1366 1491 6 1366 1496 6 1366 1496 6 1366 1531 6 1366 1535 6 1366 1565 6 1366 1601 6 1366 1602 6 1366 1613 6 1366 1614 6 1366 1626 6 1366 1626 6 1366 1641 6 1366 1641 6 1366 1785 6 1366 1786 6 1366 1787 6 1366 1788 6 1366 205 6 1366 224 6 1366 249 6 1366 288 6 1366 316 6 1366 378 6 1366 381 6 1366 398 6 1366 11 6 1366 404 6 1366 410 6 1366 463 6 1366 464 6 1366 483 6 1366 3184 6 1366 3184 6 1366 3188 6 1366 584 6 1366 600 6 1366 680 6 1366 691 6 1366 763 6 1366 799 6 1366 .I 1367 .T Character Structure and Character Parity Sense for Parallel-by-Bit Data Communication in ASCII* (Proposed American Standard) .B CACM September, 1966 .N CA660912 JB March 2, 1978 4:26 PM .X 1367 4 1367 2772 4 1367 2787 4 1367 1116 5 1367 1367 5 1367 1367 5 1367 1367 5 1367 .I 1368 .T Systematic Generation of Hamiltonian Circuits .W For a combinatorial matrix which may specify both directed and nondirected arcs, the paper describes a computer program which generates systematically and exhaustively all the Hamiltonian circuits. Specific application is made to the "traveling salesman" problem. .B CACM September, 1966 .A Roberts, S. M. .N CA660911 JB March 2, 1978 4:30 PM .X 1368 5 1368 1368 5 1368 1368 5 1368 .I 1369 .T Half Rotations in N-Dimensional Euclidean Space .W An iterative procedure is described for determining half rotations in n-dimensional Euclidean space. The method is a variant of the cyclic Jacobi procedure and utilizers elementary plane rotations to obtain the half rotation matrix. Numerical examples are given. .B CACM September, 1966 .A McCamon, R. B. .N CA660910 JB March 2, 1978 4:32 PM .X 1369 5 1369 1369 5 1369 1369 5 1369 1961 5 1369 1369 6 1369 1504 6 1369 1847 6 1369 .I 1370 .T Linear Equations, Exact Solutions (Algorithm 290 [F4]) .B CACM September, 1966 .A Boothroyd, J. .N CA660909a JB March 2, 1978 4:33 PM .X 1370 5 1370 1370 5 1370 1370 5 1370 1813 5 1370 1370 6 1370 .I 1371 .T Logarithm of Gamma Function (Algorithm 291 [S14]) .B CACM September, 1966 .A Pike, M. C. Hill, I. D. .N CA660909bJB March 23, 1978 4:24 PM .X 1371 5 1371 1371 5 1371 1371 5 1371 .I 1372 .T Direct Search (Algorithm 178 [E4]) .B CACM September, 1966 .A Bell, M. Pike, M. C. .N CA660909c JB March 23, 1978 4:25 PM .X 1372 5 1372 1372 5 1372 1372 5 1372 2190 5 1372 1372 6 1372 1849 6 1372 .I 1373 .T Gamma Function; Gamma Function for Range 1 to 2; Reciprocal Gamma Function to Real Argument; Gamma Function; Logarithm of Gamma Function (Algorithms 34[S14]; 54[S14]; 80[S14]; 221[S14]; 291[S14]) .B CACM September, 1966 .A Pike, M. C. Hill, I. D. .N CA660909d JB March 23, 1978 4:28 PM .X 1373 5 1373 1373 5 1373 1373 5 1373 .I 1374 .T Evaluation of Determinant; Determinant Evaluation (Algorithms 41[F3]; 269[F3]) .B CACM September, 1966 .A Bergson, A. .N CA660909e JB March 23, 1978 4:29 PM .X 1374 5 1374 1374 5 1374 1374 5 1374 .I 1375 .T Function Minimization (Algorithm 251 [E4]) .B CACM September, 1966 .A Fletcher, R. .N CA660909f JB March 23, 1978 4:31 PM .X 1375 5 1375 1375 5 1375 1375 5 1375 .I 1376 .T Modified Graeffee Method (Algorithm 256 [C2]) .B CACM September, 1966 .A Stern, G. .N CA660909g JB March 23, 1978 4:32 PM .X 1376 5 1376 1376 5 1376 1376 5 1376 .I 1377 .T Pseudo-Random Numbers (Algorithm 266 [G5]) .B CACM September, 1966 .A Hansson, L. .N CA660909h JB March 23, 1978 6:45 PM .X 1377 5 1377 1377 5 1377 1377 5 1377 .I 1378 .T Pseudo-Random Numbers (Algorithm 266 [G5]) .B CACM September, 1966 .A Hill, I. D. Pike, M. C. .N CA660909i JB March 23, 1978 6:46 PM .X 1378 5 1378 1378 5 1378 1378 5 1378 .I 1379 .T A Final Solution to the Dangling Else of ALGOL 60 and Related Languages .W The dangling else problem consists of a class of potential ambiguities in ALGOL-like conditional statements whose basic form is "if B1 then if B2 then S1 else S2" where B1 and B2 are Boolean expressions and S1 and S2 are basic statements. The difficulty lies in whether to attach the else to the first if or to the second one. Existing solutions to the problem are either ambiguous or unnecessarily restrictive. Let Sand S1 be statements. We define S to be closed if "S else S1" is not a statement, and to be open if "S else S1" is a statement. Thus an unconditional statement is a closed statement. Open and closed conditional statements are defined by syntax equations in such a way as to preserve openness and closure. In each case, an else must always be preceded by a closed statement. It is shown that the syntax equations are unambiguous, and that may change in the statement types required within the syntax equations would lead to either ambiguity or unnecessary restriction. .B CACM September, 1966 .A Abrahams, P. W. .N CA660908 JB March 2, 1978 6:18 PM .X 1084 4 1379 1086 4 1379 1132 4 1379 1234 4 1379 1263 4 1379 1265 4 1379 1270 4 1379 1323 4 1379 1358 4 1379 1379 4 1379 1379 4 1379 1379 4 1379 1379 4 1379 1379 4 1379 1380 4 1379 1453 4 1379 1464 4 1379 1484 4 1379 1491 4 1379 1498 4 1379 1613 4 1379 1614 4 1379 1625 4 1379 1693 4 1379 1781 4 1379 1781 4 1379 1825 4 1379 1836 4 1379 1860 4 1379 1945 4 1379 1945 4 1379 2015 4 1379 2060 4 1379 2061 4 1379 2083 4 1379 2091 4 1379 2178 4 1379 2179 4 1379 2179 4 1379 2252 4 1379 2325 4 1379 2341 4 1379 2546 4 1379 2546 4 1379 2645 4 1379 2652 4 1379 2684 4 1379 2698 4 1379 2708 4 1379 2842 4 1379 2929 4 1379 2934 4 1379 3045 4 1379 3069 4 1379 669 4 1379 679 4 1379 691 4 1379 761 4 1379 949 4 1379 989 4 1379 1263 5 1379 1379 5 1379 1379 5 1379 1379 5 1379 1477 5 1379 2167 5 1379 2956 5 1379 3184 5 1379 669 5 1379 761 5 1379 1379 6 1379 1379 6 1379 1392 6 1379 1393 6 1379 2169 6 1379 2651 6 1379 .I 1380 .T SIMULA-an ALGOL-Based Simulation Language .W This paper is an introduction to SIMULA, a programming language designed to provide a systems analyst with unified concepts which facilitate the concise description of discrete event systems. A system description also serves as a source language simulation program. SIMULA is an extension of ALGOL 60 in which the most important new concepts is that of quasi-parallel processing. .B CACM September, 1966 .A Dahl, O. J. Nygaard, K. .N CA660907 JB March 2, 1978 6:21 PM .X 1024 4 1380 1051 4 1380 1086 4 1380 1098 4 1380 1132 4 1380 1214 4 1380 1234 4 1380 1263 4 1380 1265 4 1380 1270 4 1380 1323 4 1380 1323 4 1380 1358 4 1380 1358 4 1380 1379 4 1380 1380 4 1380 1380 4 1380 1380 4 1380 1380 4 1380 1388 4 1380 1393 4 1380 1453 4 1380 1464 4 1380 1484 4 1380 1485 4 1380 1487 4 1380 1491 4 1380 1498 4 1380 1549 4 1380 1552 4 1380 1570 4 1380 1613 4 1380 1614 4 1380 1665 4 1380 1693 4 1380 1781 4 1380 1781 4 1380 1781 4 1380 1787 4 1380 1825 4 1380 1854 4 1380 1860 4 1380 1860 4 1380 1878 4 1380 1946 4 1380 1957 4 1380 1989 4 1380 2060 4 1380 2083 4 1380 2112 4 1380 2168 4 1380 2178 4 1380 2179 4 1380 2252 4 1380 2325 4 1380 2341 4 1380 2534 4 1380 2541 4 1380 2546 4 1380 2645 4 1380 2652 4 1380 2684 4 1380 2698 4 1380 2723 4 1380 2733 4 1380 2820 4 1380 2842 4 1380 2857 4 1380 2929 4 1380 2934 4 1380 557 4 1380 3069 4 1380 3073 4 1380 3112 4 1380 3155 4 1380 669 4 1380 679 4 1380 691 4 1380 761 4 1380 949 4 1380 989 4 1380 1380 5 1380 1380 5 1380 1380 5 1380 1421 5 1380 1541 5 1380 1846 5 1380 2060 5 1380 2218 5 1380 3112 5 1380 3184 5 1380 731 5 1380 799 5 1380 106 6 1380 1358 6 1380 1380 6 1380 1380 6 1380 1380 6 1380 1380 6 1380 1380 6 1380 1421 6 1380 1424 6 1380 1469 6 1380 1477 6 1380 1484 6 1380 1491 6 1380 1572 6 1380 1572 6 1380 1728 6 1380 1751 6 1380 1752 6 1380 1810 6 1380 1826 6 1380 210 6 1380 1869 6 1380 1879 6 1380 1972 6 1380 2095 6 1380 2110 6 1380 2438 6 1380 2723 6 1380 2736 6 1380 2833 6 1380 2838 6 1380 576 6 1380 731 6 1380 .I 1381 .T Impact of Computers on the Undergraduate Mathematics Curriculum .W The use of computers to permit the widespread application of mathematical ideas requiring computation in science and technology is extremely significant for the understanding of our current society. Student interest in this development is intense and if properly utilized should yield a much better understanding of mathematical concepts as well as the ideas of programming and logical structure which have been introduced into many fields by the use of computers. The present paper suggests that that portion of the undergraduate mathematical curriculum which is preparation for the use of mathematics by persons who are not professional mathematicians be modified to include the extensions and clarifications which are possible because of computers. An early introduction to programming is desirable to permit a continuing use of automatic computation to illustrate and clarify mathematical concepts. Following the calculus equation stage an intensive introduction to numerical analysis should be added to the current curriculum. In addition to providing competence in the mostly used computing techniques, it would permit a more sophisticated utilization of the advanced mathematical ideas associated with complex variables and transform theories. .B CACM September, 1966 .A Murray, F. J. .N CA660905 JB March 2, 1978 6:31 PM .X 1381 5 1381 1381 5 1381 1381 5 1381 .I 1382 .T Desired Computer Impact on Undergraduate Mathematics .W Three matters relating to the theme of the Symposium are discussed here. The author examines some projections concerning the supply and demand for mathematicians in the United States through the mid-1970s, comments briefly on some of the factors which may influence the professional activities of applied mathematicians over the next several years, and discusses in broad terms how this information may relate to the undergraduate training of mathematicians. .B CACM September, 1966 .A Macon, N. .N CA660904 JB March 2, 1978 6:35 PM .X 1382 5 1382 1382 5 1382 1382 5 1382 .I 1383 .T Implications of the Digital Computer for Education In the Mathematical Sciences .W The digital computer has profoundly altered the definition of what is interesting in mathematics. The importance of applied logic in human affairs is changed by the existence of the "logical engine." The result is that one should no longer think in terms of a single discipline of mathematics but in terms of a complex of mathematical sciences. .B CACM September, 1966 .A Givens, W. .N CA660903 JB March 2, 1978 6:39 PM .X 1383 5 1383 1383 5 1383 1383 5 1383 2665 5 1383 1383 6 1383 1549 6 1383 .I 1384 .T Mathematics for Undergraduate Computer Scientists .W The mathematical requirements for an undergraduate program in Computer Science are a subject of debate. The Association for Computing Machinery's Curriculum Committee, however, believes that these requirements are essentially the same as the mathematical content of physical sciences undergraduate programs. The Committee believes that these requirements should assure the student of a broad mathematical background and should enable him to take a wide variety of courses in other scientific disciplines. The Committee's concern is to develop a solid scientific approach to Computer Science. .B CACM September,1966 .A Atchison, W. F. .N CA660902 JB March 2, 1978 6:46 PM .X 1384 5 1384 1384 5 1384 1384 5 1384 .I 1385 .T Computer Technology in Communist China, 1956-1965 .W Based on information from translations of Communist Chinese news items and periodical literature for the 1965 period, computer technology in China is reviewed under the following headings: (1) initial planning, organization and educational aspects of computer technology and automation; (2) machine development progress: two major specific machines in 1958-59, with Soviet aid; a vacuum in 1960-64 due to the withdrawal of Soviet aid; then presumably all-Chinese-made machines from 1965 to the present; (3) computer applications; (4) the trend of automation: control of production processes rather than data processing; and (5) the "Yun Ch'ou Hsueh" (Science of Operation and Programming) campaign of 1958-60, during which an attempt was made to bring concepts such as linear programming to ordinary Chinese workers and peasants. Communist China is adjudged to have a marginal computer capability, with most of its machines probably being of a binary nature; however, a turning point may have been reached in mid-1965. .B CACM September, 1966 .A Audette, D. G. .N CA660901 JB March 2, 1978 6:59 PM .X 1385 5 1385 1385 5 1385 1385 5 1385 .I 1386 .T Symbolic Factoring of Polynomials in Several Variables .W An algorithm for finding the symbolic factors of a multi-variate polynomial with integer coefficients is presented. The algorithm is an extension of a technique used by Kronecker in a proof that the prime factoring of any polynomial may be found in a finite number of steps. The algorithm consists of factoring single-variable instances of the given polynomial by Kronecker's method and introducing the remaining variables by interpolation. Techniques for implementing the algorithm and several examples are discussed. The algorithm promises sufficient power to be used efficiently in an online system for symbolic mathematics. .B CACM August, 1966 .A Jordan, D. E. Kain, R. Y. Clapp, L. C. .N CA660812 JB March 2, 1978 7:06 PM .X 1396 5 1386 1386 5 1386 1386 5 1386 1386 5 1386 964 6 1386 1028 6 1386 1029 6 1386 1083 6 1386 1132 6 1386 1214 6 1386 1278 6 1386 1334 6 1386 1365 6 1386 1386 6 1386 1387 6 1386 1388 6 1386 1392 6 1386 1393 6 1386 1394 6 1386 1395 6 1386 1396 6 1386 1397 6 1386 1496 6 1386 284 6 1386 407 6 1386 3199 6 1386 3200 6 1386 3201 6 1386 3202 6 1386 3203 6 1386 3204 6 1386 561 6 1386 730 6 1386 .I 1387 .T Solution of Systems of Polynomial Equations By Elimination .W The elimination procedure as described by Williams has been coded in LISP and FORMAC and used in solving systems of polynomial equations. It is found that the method is very effective in the case of small systems, where it yields all solutions without the need for initial estimates. The method, by itself, appears in appropriate, however, in the solution of large systems of equation due to the explosive growth in the intermediate equations and the hazards which arise when the coefficients are truncated. A comparison is made with difficulties found in other problems in non-numerical mathematics such as symbolic integration and simplification. .B CACM August, 1966 .A Moses, J. .N CA660811 JB March 2, 1978 7:11 PM .X 1396 5 1387 1387 5 1387 1387 5 1387 1387 5 1387 1946 5 1387 878 6 1387 902 6 1387 964 6 1387 1028 6 1387 1029 6 1387 1083 6 1387 1093 6 1387 1132 6 1387 1177 6 1387 1214 6 1387 1278 6 1387 1334 6 1387 1365 6 1387 1386 6 1387 1387 6 1387 1387 6 1387 1388 6 1387 1392 6 1387 1393 6 1387 1393 6 1387 1394 6 1387 1395 6 1387 1396 6 1387 1397 6 1387 1496 6 1387 284 6 1387 360 6 1387 407 6 1387 3199 6 1387 3200 6 1387 3201 6 1387 3202 6 1387 3203 6 1387 3204 6 1387 561 6 1387 730 6 1387 731 6 1387 .I 1388 .T AUTOMAST: Automatic Mathematical Analysis and Symbolic Translation .W A procedure for numerically solving systems of ordinary differential equation is shown to also generate symbolic solutions. The procedure is based on a finite Taylor series expansion that includes an estimate of the error in the final result. A computer program is described that reads in a system of such equations and then generates the expansions for all of the dependent variables. The expansions are determined symbolically, hence any non-numeric parameters in the original equations are carried automatically into the final expansions. Thus the exact influence of any parameters on the problem solution can be easily displayed. .B CACM August, 1966 .A Ball, W. E. Berns, R. I. .N CA660810 JB March 2, 1978 7:16 PM .X 1024 4 1388 1051 4 1388 1098 4 1388 1214 4 1388 1223 4 1388 1380 4 1388 1388 4 1388 1388 4 1388 1393 4 1388 1485 4 1388 1487 4 1388 1549 4 1388 1570 4 1388 1878 4 1388 1946 4 1388 1957 4 1388 2168 4 1388 436 4 1388 2723 4 1388 2857 4 1388 3112 4 1388 1388 5 1388 1388 5 1388 1388 5 1388 1396 5 1388 405 5 1388 731 5 1388 964 6 1388 1028 6 1388 1029 6 1388 1083 6 1388 1132 6 1388 1214 6 1388 1278 6 1388 1334 6 1388 1365 6 1388 1386 6 1388 1387 6 1388 1388 6 1388 1392 6 1388 1393 6 1388 1394 6 1388 1395 6 1388 1396 6 1388 1397 6 1388 1496 6 1388 284 6 1388 407 6 1388 3199 6 1388 3200 6 1388 3201 6 1388 3202 6 1388 3203 6 1388 3204 6 1388 561 6 1388 730 6 1388 .I 1389 .T A Programmer's Description of L^6 .W Bell Telephone Laboratories' Low-Linked List Language L^6 (pronounced "L-six") is a new programming language for list structure manipulations. It contains many of the facilities which underlie such list processors as IPL, LISP, COMIT ad SNOBOL, but permits the user to get much closer to machine code in order to write faster-running programs, to use storage more efficiently and to build a wider variety of linked data structures. .B CACM August, 1966 .A Knowlton, K. C. .N CA660809 JB March 2, 1978 7:20 PM .X 1389 4 1389 1552 4 1389 2162 4 1389 2435 4 1389 2596 4 1389 2768 4 1389 2845 4 1389 2902 4 1389 2955 4 1389 1184 5 1389 1389 5 1389 1389 5 1389 1389 5 1389 1860 5 1389 1957 5 1389 2155 5 1389 2162 5 1389 1184 6 1389 1366 6 1389 1389 6 1389 1389 6 1389 1389 6 1389 1389 6 1389 1421 6 1389 1496 6 1389 1626 6 1389 1641 6 1389 1785 6 1389 1786 6 1389 210 6 1389 1860 6 1389 378 6 1389 378 6 1389 2046 6 1389 2060 6 1389 3184 6 1389 731 6 1389 .I 1390 .T CONVERT .W A programming language is described which is applicable to problems conveniently described by transformation rules. By this is meant that patterns may be prescribed, each being associated with a skeleton, so that a series of such pairs may be searched until a pattern is found which matches an expression to be transformed. The conditions for a match are governed by a code which also allows subexpressions to be identified and eventually substituted into the corresponding skeleton. The primitive patterns and primitive skeletons are described, as well as the principle which allow their elaboration in to more complicated patterns and skeletons. The advantages of the language are that it allows one to apply transformation rules to lists and arrays as easily as strings, that both patterns and skeletons may be defined recursively, and that as a consequence programs may be stated quite concisely. .B CACM August, 1966 .A Guzman, A. McIntosh, H. V. .N CA660808 JB March 2, 1978 7:32 PM .X 1024 4 1390 1051 4 1390 1102 4 1390 1132 4 1390 1390 4 1390 1486 4 1390 1549 4 1390 1706 4 1390 1826 4 1390 1878 4 1390 378 4 1390 2060 4 1390 2155 4 1390 2168 4 1390 2719 4 1390 2723 4 1390 2838 4 1390 2842 4 1390 2855 4 1390 2879 4 1390 3077 4 1390 3080 4 1390 3106 4 1390 627 4 1390 106 4 1390 210 5 1390 1390 5 1390 1390 5 1390 1390 5 1390 .I 1391 .T Computer Experiments in Finite Algebra .W A medium-scale programming system is written in MAD and FAP on the IBM 7094 to manipulate some of the objects of modern algebra: finite groups, maps and sets of maps, subsets and sets of subsets, constant integers and truth-values. Designed to operate in a time-sharing environment, the system can serve as a teacher's aid to the undergraduate student of modern algebra, as well as for the working scientist or engineer wishing to familiarize himself with the subset. .B CACM August, 1966 .A Maurer, W. D. .N CA660807 JB March 2, 1978 7:36 PM .X 1391 5 1391 1391 5 1391 1391 5 1391 1948 5 1391 1391 6 1391 1559 6 1391 .I 1392 .T Experience with FORMAC Algorithm Design .W Various facets of the design and implementation of mathematical expression manipulation algorithms are discussed. Concrete examples are provided by the FORMAC EXPAND and differentiation algorithms, a basic FORMAC utility routine, and an experiment in the extraction of the skeletal structure of an expression. One recurrent theme is the need to avoid excessive intermediate expression swell in order to minimize core storage requirements. Although many details from the FORMAC implementation are presented, an attempt is made to stress principles and ideas of general relevance in the design of algorithms for manipulating mathematical expressions. .B CACM August, 1966 .A Tobey, R. G. .N CA660806 JB March 2, 1978 7:43 PM .X 1028 4 1392 1216 4 1392 1392 4 1392 1396 4 1392 964 4 1392 1396 5 1392 1392 5 1392 1392 5 1392 1392 5 1392 2167 5 1392 561 5 1392 964 6 1392 1028 6 1392 1029 6 1392 1083 6 1392 1132 6 1392 1214 6 1392 1278 6 1392 1334 6 1392 1365 6 1392 1379 6 1392 1386 6 1392 1387 6 1392 1388 6 1392 1392 6 1392 1392 6 1392 1393 6 1392 1393 6 1392 1394 6 1392 1395 6 1392 1396 6 1392 1397 6 1392 1496 6 1392 284 6 1392 2169 6 1392 407 6 1392 3199 6 1392 3200 6 1392 3201 6 1392 3202 6 1392 3203 6 1392 3204 6 1392 561 6 1392 730 6 1392 .I 1393 .T PM, A System for Polynomial Manipulation .W PM is an IBM 7094 program system for formal manipulation of polynomials in any number of variables, with integral coefficients unrestricted in size. Some of the formal operations which can be performed by the system are sums, differences, products, quotients, derivatives, substitutions and greater common divisors. PM is based on the REFCO III list processing system, which is described and compared with the LISP and SLIP systems. The PM subroutines for arithmetic of large integers are described as constituting an independently useful subsystem. PM is compared with the ALPAK system in several respects, including the choice of canonical forms for polynomials. A new algorithm for polynomial greatest common divisor calculation is mentioned, and exaples are included to illustrate its superiority. .B CACM August, 1966 .A Collins, G. E. .N CA660805 JB March 2, 1978 7:51 PM .X 1024 4 1393 1050 4 1393 1051 4 1393 1098 4 1393 1214 4 1393 1380 4 1393 1388 4 1393 1393 4 1393 1393 4 1393 1393 4 1393 1485 4 1393 1487 4 1393 1549 4 1393 1549 4 1393 1570 4 1393 1878 4 1393 1946 4 1393 1957 4 1393 2023 4 1393 2168 4 1393 2723 4 1393 2857 4 1393 3112 4 1393 3112 4 1393 627 4 1393 106 5 1393 1393 5 1393 1393 5 1393 1393 5 1393 1396 5 1393 296 5 1393 1946 5 1393 2167 5 1393 2857 5 1393 731 5 1393 878 6 1393 902 6 1393 964 6 1393 1028 6 1393 1029 6 1393 1083 6 1393 1093 6 1393 1132 6 1393 1177 6 1393 1214 6 1393 1278 6 1393 1334 6 1393 1365 6 1393 1379 6 1393 1386 6 1393 1387 6 1393 1387 6 1393 1388 6 1393 1392 6 1393 1392 6 1393 1393 6 1393 1393 6 1393 1393 6 1393 1393 6 1393 1394 6 1393 1395 6 1393 1396 6 1393 1397 6 1393 1496 6 1393 284 6 1393 360 6 1393 2169 6 1393 407 6 1393 3199 6 1393 3200 6 1393 3201 6 1393 3202 6 1393 3203 6 1393 3204 6 1393 561 6 1393 730 6 1393 731 6 1393 731 6 1393 .I 1394 .T Computation of Algebraic Properties of Elementary Particle Reactions Using a Digital Computer .W A large number of calculations in high-energy elementary particle physics involve the manipulation of complicated algebraic expressions containing both tensor and noncommutative matrix quantities. Many of these calculations take several months to complete, although the operations involved follow straightforward rules. In this paper a program is described, which has been developed in LISP for solving such problems. The manner in which these problems are encountered is outlined, and their representation in the computer discussed. At present, about six months of human work takes less than fifteen minutes on an IBM 7090. Limitations of the present system and future plans are also outlined. .B CACM August, 1966 .A Hearn, A. C. .N CA660804 JB March 2, 1978 7:58 PM .X 1396 5 1394 1394 5 1394 1394 5 1394 1394 5 1394 964 6 1394 1028 6 1394 1029 6 1394 1083 6 1394 1132 6 1394 1214 6 1394 1278 6 1394 1334 6 1394 1365 6 1394 1386 6 1394 1387 6 1394 1388 6 1394 1392 6 1394 1393 6 1394 1394 6 1394 1395 6 1394 1396 6 1394 1397 6 1394 1496 6 1394 284 6 1394 407 6 1394 3199 6 1394 3200 6 1394 3201 6 1394 3202 6 1394 3203 6 1394 3204 6 1394 561 6 1394 730 6 1394 .I 1395 .T On the Implementation of AMBIT, A Language for Symbol Manipulation .W A brief description is given of the implementation technique for the replacement rule of the AMBIT programming language. The algorithm for the "AMBIT scan" and an example of its application are given. The algorithm is applicable to other members of the family of string transformation languages of which AMBIT is a member, and it provides a rationale for the design of the AMBIT language. .B CACM August, 1966 .A Christensen, C. .N CA660803 JB March 2, 1978 8:02 PM .X 1396 4 1395 1395 4 1395 1395 4 1395 1706 4 1395 1180 5 1395 1396 5 1395 1395 5 1395 1395 5 1395 1395 5 1395 1395 5 1395 964 6 1395 1028 6 1395 1029 6 1395 1083 6 1395 1132 6 1395 1180 6 1395 1214 6 1395 1278 6 1395 1334 6 1395 1365 6 1395 1386 6 1395 1387 6 1395 1388 6 1395 1392 6 1395 1393 6 1395 1394 6 1395 1395 6 1395 1395 6 1395 1396 6 1395 1397 6 1395 1496 6 1395 284 6 1395 407 6 1395 3199 6 1395 3200 6 1395 3201 6 1395 3202 6 1395 3203 6 1395 3204 6 1395 561 6 1395 730 6 1395 .I 1396 .T Survey of Formula Manipulation .W The field of formula manipulation is surveyed, with particular attention to the specific capabilities of differentiation, integration and the supporting capabilities of simplification, displays and input/output editing, and precision arithmetic. General systems-both batch and online-are described. Finally, some programs to solve specific applications are discussed. .B CACM August, 1966 .A Sammet, J. E. .N CA660802 JB March 2, 1978 8:07 PM .X 1028 4 1396 1028 4 1396 1083 4 1396 1083 4 1396 1214 4 1396 1216 4 1396 1216 4 1396 1216 4 1396 1278 4 1396 1278 4 1396 1334 4 1396 1347 4 1396 1347 4 1396 1347 4 1396 1392 4 1396 1396 4 1396 1396 4 1396 1396 4 1396 1396 4 1396 1396 4 1396 1396 4 1396 1396 4 1396 1396 4 1396 1396 4 1396 1396 4 1396 1396 4 1396 1396 4 1396 1396 4 1396 1396 4 1396 1396 4 1396 1396 4 1396 1396 4 1396 1396 4 1396 1396 4 1396 1396 4 1396 1396 4 1396 1396 4 1396 1396 4 1396 1396 4 1396 1396 4 1396 1396 4 1396 1396 4 1396 1396 4 1396 1396 4 1396 1395 4 1396 1444 4 1396 1536 4 1396 1624 4 1396 1767 4 1396 1781 4 1396 1787 4 1396 1860 4 1396 1945 4 1396 1945 4 1396 1946 4 1396 1946 4 1396 1988 4 1396 2167 4 1396 2167 4 1396 2229 4 1396 2252 4 1396 2857 4 1396 679 4 1396 964 4 1396 964 4 1396 964 5 1396 1028 5 1396 1029 5 1396 1083 5 1396 1132 5 1396 1214 5 1396 1278 5 1396 1334 5 1396 1388 5 1396 1393 5 1396 1396 5 1396 1396 5 1396 1396 5 1396 1396 5 1396 1392 5 1396 1395 5 1396 1397 5 1396 1365 5 1396 284 5 1396 1386 5 1396 1387 5 1396 1394 5 1396 1496 5 1396 1945 5 1396 407 5 1396 561 5 1396 3199 5 1396 3200 5 1396 3201 5 1396 3202 5 1396 3203 5 1396 3204 5 1396 730 5 1396 823 6 1396 914 6 1396 915 6 1396 917 6 1396 964 6 1396 984 6 1396 989 6 1396 990 6 1396 1012 6 1396 1028 6 1396 1029 6 1396 1083 6 1396 1084 6 1396 1098 6 1396 1122 6 1396 1132 6 1396 1138 6 1396 1139 6 1396 1141 6 1396 1200 6 1396 1214 6 1396 1223 6 1396 1265 6 1396 1278 6 1396 1334 6 1396 1336 6 1396 1365 6 1396 1386 6 1396 1387 6 1396 1388 6 1396 1392 6 1396 1393 6 1396 1394 6 1396 1395 6 1396 1396 6 1396 1396 6 1396 1397 6 1396 1455 6 1396 1477 6 1396 1487 6 1396 1491 6 1396 1496 6 1396 1496 6 1396 284 6 1396 407 6 1396 483 6 1396 3199 6 1396 3200 6 1396 3201 6 1396 3202 6 1396 3203 6 1396 3204 6 1396 561 6 1396 584 6 1396 669 6 1396 680 6 1396 730 6 1396 763 6 1396 .I 1397 .T Proceedings of the ACM Symposium on Symbolic and Algebraic Manipulation .W The ACM Symposium on Symbolic and Algebraic Manipulation brought together over four hundred people interested in programming languages designed for manipulation of algebraic formulas and symbol strings, in their applications, and in algorithms for their implementation. Twenty-eight papers were presented, followed by a lively panel discussion of future directions. Evening meetings were arranged for several interest groups. The conference was sponsored by the ACM Special Interest Committee on Symbolic and Algebraic Manipulation. The program committee consisted of Chairman Jean E. Sammet, Paul Abrahams, Thomas E. Cheatham, Max Goldstein, and Douglas Mcllroy. Conference arrangements were made by Lewis C. Clapp, Daniel Bobrow and James H. Griesmer.-Robert W. Floyd, Editor .B CACM August, 1966 .N CA660801 JB March 2, 1978 8:17 PM .X 1397 4 1397 2704 4 1397 1247 5 1397 1396 5 1397 1397 5 1397 1397 5 1397 1397 5 1397 964 6 1397 1028 6 1397 1029 6 1397 1083 6 1397 1132 6 1397 1214 6 1397 1278 6 1397 1334 6 1397 1365 6 1397 1386 6 1397 1387 6 1397 1388 6 1397 1392 6 1397 1393 6 1397 1394 6 1397 1395 6 1397 1396 6 1397 1397 6 1397 1496 6 1397 284 6 1397 407 6 1397 3199 6 1397 3200 6 1397 3201 6 1397 3202 6 1397 3203 6 1397 3204 6 1397 561 6 1397 730 6 1397 .I 1398 .T Robot Data Screening: A Solution to Multivariate Type Problems in the Biological and Social Sciences .W A new approach is outlined toward the solution of the type of multivariate problem that is found usually in the biological and social sciences as well as in medicine. This approach uses a "logical" rather than a "statistical" criterion by which variables are grouped into a deterministic model. Algorithm are developed by which some variables are kept on for further analysis while others are eliminated. Criteria for the acceptance of a variable as well as the termination of the searching process are derived from information theory. .B CACM July, 1966 .A Sterling, T. Gleser, M. Haberman, S. Pollack, S. .N CA660714JB March 2, 1978 8:26 PM .X 1398 5 1398 1398 5 1398 1398 5 1398 .I 1399 .T On Top-to-Bottom Recognition and Left Recursion .W A procedure is given for obtaining structural descriptions in a context-free grammar by performing the recognition according to a strongly equivalent, left-recursion-freegrammar. The effect of allowing null strings in the rewriting rules is discussed. .B CACM July, 1966 .A Kurki-Suonio, R. .N CA660713 JB March 2, 1978 8:29 PM .X 1350 4 1399 1399 4 1399 1659 4 1399 1768 4 1399 1781 4 1399 1945 4 1399 2110 4 1399 3094 4 1399 1265 5 1399 1350 5 1399 1399 5 1399 1399 5 1399 1399 5 1399 1012 6 1399 1225 6 1399 1265 6 1399 1399 6 1399 680 6 1399 .I 1400 .T Free-Text Inputs to Utility Routines .W Through the use of some rather simple techniques, it is frequently possible to produce a program which will accept free-text inputs. The techniques are discussed and related to a general tape manipulation routine. .B CACM July, 1966 .A Blum, R. I. .N CA660712 JB March 2, 1978 8:32 PM .X 1400 4 1400 1553 4 1400 1945 4 1400 2127 4 1400 2396 4 1400 2730 4 1400 1400 5 1400 1400 5 1400 1400 5 1400 1487 5 1400 .I 1401 .T Quasilinearization and the Calculation of Eigenvalues .W Several eigenvalue problems for systems of ordinary differential equations are considered. They are resolved computationally using the quasilinerization technique, a quadratically convergent successive approximation scheme related to the Newton-Raphson-Kantorovich method. .B CACM July, 1966 .A Bellman, R., Kagiwada, H. Kalaba, R. .N CA660711 JB March 2, 1978 8:40 PM .X 1401 5 1401 1401 5 1401 1401 5 1401 1766 5 1401 1401 6 1401 .I 1402 .T Partial Step Integration .W A partial step integration equation is derived for use with the Adams or Adams-Bashforth method of integration of differential equations. This method of obtaining functional values at points intermediate to the integration points yields accuracy comparable to the integration and does not require storing of additional information as in interpolation methods. .B CACM July, 1966 .A Glauz, R. D. .N CA660710 JB March 2, 1978 9:08 PM .X 1402 5 1402 1402 5 1402 1402 5 1402 .I 1403 .T A Method for Finding the m Smallest Values of a Monotonic Function Defined on Ordered Sets of Positive Integers .W The minimum value of a monotonic increasing function defined on a partially ordered set S is assumed on the set of minimal points of S. This observation is used to devise an efficient method for finding the m smallest functional values of monotonic functions defined on ordered pairs of positive integers. The method is easily extended to include monotonic functions defined on ordered n-tuples. Included is a FORTRAN program which was written to implement the procedure for a certain important case. .B CACM July, 1966 .A Sigillito, V. G. .N CA660709 JB March 2, 1978 9:13 PM .X 1403 5 1403 1403 5 1403 1403 5 1403 .I 1404 .T Computational Aspects of Multiple Covariance Analysis on a Multifactor Structure .W The computational procedure for the analysis of multiple covariance in statistics is discussed with reference to the analysis of variance. A special operator calculus developed by Hartly for programming analysis of variance for multifactor experiments is extended to cover the analysis of covariance. This extension is accomplished by utilizing the connection between the analysis of covariance and the analysis of variance and by introducing a new operator. The results are illustrated by a numerical example for analysis of covariance, in which the basic computations are shown to be carried out by an analysis-of-variance program. .B CACM July, 1966 .A Peng, K. C. .N CA660708 JB March 2, 1978 9:18 PM .X 1404 4 1404 1045 5 1404 1404 5 1404 1404 5 1404 1404 5 1404 .I 1405 .T Matrix Triangulation with Integer Arithmetic (Algorithm 287 [F1]) .B CACM July, 1966 .A Blankinship, W. A. .N CA660707a JB March 2, 1978 9:20 PM .X 1405 5 1405 1405 5 1405 1405 5 1405 .I 1406 .T Solution of simultaneous Linear Diophantine Equations (Algorithm 288 [F4]) .B CACM July, 1966 .A Blankinship, W. A. .N CA660707b JB March 23, 1978 7:06 PM .X 1406 5 1406 1406 5 1406 1406 5 1406 .I 1407 .T Confidence Interval for a Ratio (Algorithm 289 [G1]) .B CACM July, 1966 .A Hill, I. D. Pike, M. C. .N CA660707c JB March 23, 1978 7:07 PM .X 1407 5 1407 1407 5 1407 1407 5 1407 .I 1408 .T The Eschenbach Drum Scheme .W The prime function of a drum, operating in real time, is to perform accesses quickly. The usual means for increasing this capacity is to incorporate engineering or hardware improvements. In this paper the problem is attacked not by changing the drum, but rather by modifying the manner in which it operates. At the outset, a drum is given a functional definition. Then a simple design scheme (Eschenbach) is introduced which enormously increases the rate of accessing for drums so defined. This is shown to enable a system to perform a job by employing fewer or less expensive drums. It is suggested that although the design scheme has a specific use, the method underlying it has more general applicability. The question of the efficacy of the drum scheme is then raised. To deal with this, a standard of efficiency is developed in light of realistic real-time circumstances. The drum scheme is then modelled in a manner which permits it to be analyzed as a problem in queueing theory. Thus one is enabled to ascertain whether the drum scheme is efficient enough for its application. Again, whereas the analysis of the drum scheme has a specific use, the methods underlying it have more general applicability. .B CACM July, 1966 .A Weingarten, A. .N CA660706 JB March 2, 1978 9:29 PM .X 1408 5 1408 1408 5 1408 1408 5 1408 2319 5 1408 1408 6 1408 1719 6 1408 1749 6 1408 1751 6 1408 2016 6 1408 2017 6 1408 2080 6 1408 2188 6 1408 2203 6 1408 2204 6 1408 .I 1409 .T NEBULA: A Digital Computer Using a 20 Mc Glass Delay Line Memory .W Oregon State University has designed and constructed a medium-speed serial digital computer using glass delay lines circulating at 22 Mc as memory. The design objectives as originally conceived in a special seminar were: (1) to be a research project in computer design; (2) to be usable as an educational machine;and (3) to have easily modifiable hardware for basic research in computer systems design. An unusual arrangement of information within the 22 Mc memory allows a simple interface with the 340 Kc arithmetic unit, which results in an effective zero latency time and provides possibilities for an associative memory. The arithmetic unit has a command structure similar to large parallel machines, and uses flip-flop arithmetic and control registers throughout. All hardware development has been aimed toward the concept of easy modification, elaborate console controls for effective man-machine interaction and low cost. .B CACM July, 1966 .A Boles, J. A. Rux, P. T. Weingarten Jr., F. W. .N CA660705 JB March 2, 1978 9:35 PM .X 1409 4 1409 1208 5 1409 1409 5 1409 1409 5 1409 1409 5 1409 .I 1410 .T Interarrival Statistics for Time Sharing Systems .W The optimization of time-shared system performance requires the description of the stochastic processes governing the user inputs and the program activity. This paper provides a statistical description of the user input process in the SDC-ARPA general-purpose Time-Sharing System (TSS). The input process is assumed to be stationary, and to be defined by the interarrival time distribution. The data obtained appear to justify satisfactorily the common assumption that the interarrival times are serially independent. The data do not appear to justify, except as a very rough approximation, the usual assumption off an exponential distribution for interarrival time. A much more satisfactory approximation to the data can be obtained with a biphase or triphase hyperexponential distribution. .B CACM July, 1966 .A Coffman, E. G. Wood, R. C. .N CA660704 JB March 2, 1978 9:45 PM .X 1410 5 1410 1410 5 1410 1410 5 1410 1604 5 1410 1951 5 1410 2373 5 1410 1224 6 1410 1410 6 1410 1410 6 1410 1410 6 1410 1604 6 1410 1751 6 1410 1810 6 1410 1951 6 1410 2374 6 1410 .I 1411 .T Comparison of Several Algorithms for Computation of Means, Standard Deviations and Correlation Coefficients .W Several algorithms for computation of basic statistics are compared by their performance on systematically generated test data. The statistics calculated were the mean, standard deviation and correlation coefficient. For each statistic, the algorithm included the usual computing formulas, correction due to an accumulated error term, and a recursive computation of the current value of the statistic. The usual computing formulas were also evaluated in double precision. Large errors were noted for some calculation using the usual computing formulas. The most reliable technique was correction of the initial estimate by use of an accumulated error term. To eliminate the need for making two passes on the data, it was suggested that the initial estimate of the mean be obtained from a subset of the data. .B CACM July, 1966 .A Neely, P. M. .N CA660703 JB March 6, 1978 2:54 PM .X 1411 5 1411 1411 5 1411 1411 5 1411 1619 5 1411 3166 5 1411 1411 6 1411 1411 6 1411 2731 6 1411 2799 6 1411 3159 6 1411 3167 6 1411 .I 1412 .T The Banking Information System Concept .W Most large commercial banks have progressed to the point where their major accounting applications have been automated and more sophisticated usage of data processing equipment is being sought. This, coupled with the availability of equipment well suited to real-time, direct access processing,has led to development within some banks of the central file of data base approach toward a banking information system. The banking information system now serves the two-fold purpose of providing real-time responses to inquires about individual account stasus and providing more complex combinations of information for management use. Both kinds of processing draw upon a common store of data contained in the direct access central file. This data base includes indexes which facilitate cross referencing of account information so that all relationships between bank and customer may be discerned. In introducing the banking information system concept, a gradual approach to account cross-referencing and file conversion is most prudent. Generally, this system must interface with other computer applications already existing within the bank. .B CACM July, 1966 .A Head, R. V. .N CA660702 JB March 2, 1978 9:53 PM .X 1412 5 1412 1412 5 1412 1412 5 1412 .I 1413 .T A Vision of Technology and Education .W Educational technology is currently quite fashionable. Here, as in many other branches or aspects of technology, changes possible in the next generation or two are now known as ideas, discoveries or inventions. The unknown is whether the potential will become the actual and, if so, on what time scale. This ignorance stems largely from ignorance about the social response to potential technological change. The object of this paper is to present a vision of potential educational technology and to raise questions about the modes of social response and adaptation likely to be evoked by such a vision. .B CACM July, 1966 .A Oettinger, A. G. .N CA660701 JB March 3, 1978 8:38 AM .X 1413 4 1413 1413 4 1413 1654 4 1413 1771 4 1413 1902 4 1413 2478 4 1413 1205 5 1413 1270 5 1413 1413 5 1413 1413 5 1413 1413 5 1413 .I 1414 .T Twelve-Row Punched-Card Code for Information Interchange* (Proposed American Standard) .B CACM June, 1966 .N CA660607 JB March 3, 1978 8:39 AM .X 1414 5 1414 1414 5 1414 1414 5 1414 .I 1415 .T Automatic Derivation of Microsentences .W The decomposition of long complex English sentences into shorter kernel-like constituent sentences (microsentences)has often been suggested as an avenue toward conducting automatic retrieval of natural language messages. To explore the prospects of such a step, the authors attempted in 1963 to prepare a general program for deriving microsentences from longer sentences that had been syntactically analyzed by the Harvard Multipath Analysis Program. The basic idea was to extract the subject, verb and object (if any) of each clause and to reassemble these materials into a grammatical microsentence. A program is described in this paper, which was designed to operate on the tree structure output of the analyzer, and the microsentences that were produced are exhibited. The authors conclude that while microsentences of the quality achieved do not open up immediate prospects for improving the performance of automatic message retrieval systems, they may have practical value in man-machine systems using human monitors to select the preferred syntactic interpretation of a sentence. .B CACM June, 1966 .A Carmody, B. T Jones Jr., P. E. .N CA660606 JB March 3, 1978 8:47 AM .X 1415 5 1415 1415 5 1415 1415 5 1415 .I 1416 .T A Fortran Technique for Simplifying Input to Report Generators .W Typical report generators allow the production of standard forms when tabulating a magnetic tape file; the extraction of nonstandard sets of information, with suitable annotation, involves troublesome forms design. A method of information extraction involving the calculation of suitable FORTRAN FORMAT statements, which combats this problem, is described. .B CACM June, 1966 .A Cleary, J. G. .N CA660605 JB March 3, 1978 8:53 AM .X 1416 5 1416 1416 5 1416 1416 5 1416 .I 1417 .T Economies of Scale and the IBM System/360 .W Cost functions among five System/360 models are analyzed through examinations of instruction times, program kernels and a "typical" instruction mix. Comparisons are made between the data developed here and Grosch's Law which seems to be applicable to much of the data. Sizable economies of scale are unquestionably present in computing equipment. .B CACM June, 1966 .A Solomon Jr., M. B. .N CA660604 JB March 3, 1978 8:57 AM .X 1417 5 1417 1417 5 1417 1417 5 1417 1653 5 1417 2387 5 1417 2852 5 1417 963 6 1417 1069 6 1417 1417 6 1417 1417 6 1417 1417 6 1417 1771 6 1417 2345 6 1417 2387 6 1417 2479 6 1417 3190 6 1417 .I 1418 .T Examination Scheduling (Algorithm 286 [ZH]) .B CACM June, 1966 .A Peck, J. E. L. Williams, M. R. .N CA660603a JB March 3, 1978 8:58 AM .X 1418 5 1418 1418 5 1418 1418 5 1418 2350 5 1418 2354 5 1418 2355 5 1418 1418 6 1418 1418 6 1418 1418 6 1418 1521 6 1418 1521 6 1418 1597 6 1418 1597 6 1418 1679 6 1418 1883 6 1418 2040 6 1418 2350 6 1418 2350 6 1418 2354 6 1418 2354 6 1418 2355 6 1418 2355 6 1418 .I 1419 .T Chebyshev Quadrature (Algorithm 279 [D1]) .B CACM June, 1966 .A Hopgood, F. R. A. Litherland, C. .N CA660603b JB March 23, 1978 7:09 PM .X 1355 5 1419 1419 5 1419 1419 5 1419 1419 5 1419 2619 5 1419 1419 6 1419 1419 6 1419 1429 6 1419 .I 1420 .T A New Uniform Pseudorandom Number Generator .W A new multiplicative congruential pseudorandom number generator is discussed, in which the modulus is the largest prime within accumulator capacity and the multiplier is a primitive root of that prime. This generator passes the usual statistical tests and in addition the least significant bits appear to be as random as the most significant bits-a property which generators having modulus 2^k do not possess. .B CACM June, 1966 .A Hutchinson, D. W. .N CA660602 JB March 3, 1978 9:01 AM .X 1420 5 1420 1420 5 1420 1420 5 1420 1691 5 1420 1293 6 1420 1420 6 1420 1631 6 1420 .I 1421 .T A Contribution to the Development of ALGOL .W A programming language similar in many respects to ALGOL 60, but incorporating a large number of improvements based on six years experience with that language, is described in detail. Part I consists of an introduction to the new language and a summary of the changes made to ALGOL 60, together with a discussion of the motives behind there visions. Part II is a rigorous definition of the proposed language. Part III describes a set of proposed standard procedures to be used with the language, including facilities for input/output. .B CACM June, 1966 .A Wirth, N. Hoare, C. A. R. .N CA660601 JB March 3, 1978 9:07 AM .X 1380 5 1421 1421 5 1421 1421 5 1421 1421 5 1421 1552 5 1421 1693 5 1421 1781 5 1421 1854 5 1421 1860 5 1421 2060 5 1421 557 5 1421 123 6 1421 196 6 1421 919 6 1421 990 6 1421 1007 6 1421 1046 6 1421 1131 6 1421 1139 6 1421 1140 6 1421 1149 6 1421 1184 6 1421 1198 6 1421 1215 6 1421 1223 6 1421 1265 6 1421 1303 6 1421 1323 6 1421 1358 6 1421 1366 6 1421 1366 6 1421 1380 6 1421 1389 6 1421 1421 6 1421 1421 6 1421 1421 6 1421 1421 6 1421 1421 6 1421 1421 6 1421 1421 6 1421 1421 6 1421 1460 6 1421 1462 6 1421 1463 6 1421 1467 6 1421 1468 6 1421 1469 6 1421 1471 6 1421 1477 6 1421 1477 6 1421 1477 6 1421 1491 6 1421 1491 6 1421 1491 6 1421 1496 6 1421 1496 6 1421 1531 6 1421 1535 6 1421 1565 6 1421 1601 6 1421 1602 6 1421 1613 6 1421 1614 6 1421 1614 6 1421 1626 6 1421 1626 6 1421 1641 6 1421 1641 6 1421 1748 6 1421 1749 6 1421 1785 6 1421 1786 6 1421 1787 6 1421 1788 6 1421 205 6 1421 210 6 1421 224 6 1421 249 6 1421 1869 6 1421 288 6 1421 316 6 1421 378 6 1421 378 6 1421 381 6 1421 398 6 1421 2110 6 1421 11 6 1421 404 6 1421 410 6 1421 463 6 1421 464 6 1421 483 6 1421 3184 6 1421 3184 6 1421 3184 6 1421 3188 6 1421 584 6 1421 600 6 1421 680 6 1421 691 6 1421 731 6 1421 763 6 1421 799 6 1421 799 6 1421 .I 1422 .T Eleven-Sixteenths Inch Perforated Paper Tape (Proposed American Standard) .B CACM May, 1966 .N CA660515 JB March 3, 1978 9:09 AM .X 1422 5 1422 1422 5 1422 1422 5 1422 .I 1423 .T A Simple Algorithm for Computing the Generalized Inverse of a Matrix .W The generalized inverse of a matrix is important in analysis because it provides an extension of the concept of an inverse which applies to all matrices. It also has many applications in numerical analysis, but it is not widely used because the existing algorithms are fairly complicated and require considerable storage space. A simple extension has been found to the conventional orthogonalization method for inverting non-singular matrices, which gives the generalized inverse with little extra effort and with no additional storage requirements. The algorithm gives the generalized inverse for any m by n matrix A, including the special case when m+n and A is non-singular and the case when m>n and rank(A) = n. In the first case the algorithm gives the ordinary inverse of A. In the second case the algorithm yields the ordinary least squares transformation matrix INV(A'A)A' and has the advantage of avoiding the loss of significance which results in forming the product A'A explicitly. .B CACM May, 1966 .A Rust, R. Burrus, W. R. Schneeberger, C. .N CA660514 JB March 3, 1978 9:22 AM .X 1423 5 1423 1423 5 1423 1423 5 1423 .I 1424 .T Automatic Analysis of Electronic Digital Circuits Using List Processing .W A mapping from black diagrams of digital circuits to list structures is described, together with a list processing program written for the Control Data 3600 which uses this mapping to automatically carry out circuit analysis. .B CACM May, 1966 .A Shalla, L. .N CA660513 JB March 3, 1978 9:24 AM .X 1424 5 1424 1424 5 1424 1424 5 1424 1846 5 1424 1380 6 1424 1424 6 1424 1484 6 1424 1572 6 1424 576 6 1424 .I 1425 .T Flow Diagrams, Turing Machines And Languages With Only Two Formation Rules .W In the first part of the paper, flow diagrams are introduced to represent inter al. mappings of a set into itself. Although not every diagram is decomposable into a finite number of given base diagrams, this becomes true at a semantical level due to a suitable extension of the given set and of the basic mappings defined in it. Two normalization methods of flow diagrams are given. The first has three base diagrams; the second, only two. In the second part of the paper, the second method is applied to the theory of Turing machines. With every Turing machine provided with a two-way half-tape, there is associated a similar machine, doing essentially the same job, but working on a tape obtained from the first one by interspersing alternate blank squares. The new machine belongs to the family, elsewhere introduced, generated by composition and iteration from the two machines L and R. That family is a proper subfamily of the whole family of Turing machines. .B CACM May, 1966 .A Bohm, C. Jacopini, G. .N CA660512 JB March 3, 1978 9:35 AM .X 1425 4 1425 1781 4 1425 438 4 1425 762 4 1425 249 5 1425 1425 5 1425 1425 5 1425 1425 5 1425 2709 5 1425 2802 5 1425 3004 5 1425 1425 6 1425 1425 6 1425 1425 6 1425 2138 6 1425 2204 6 1425 2247 6 1425 2356 6 1425 2456 6 1425 2456 6 1425 2477 6 1425 3186 6 1425 .I 1426 .T A Simulation of Hospital Admission Policy .W A study is described which simulates different admission policies of a large specialized hospital. The objective is to determine better policies for stabilization of admission and census rates while maintaining a reasonably full hospital. There types of policies were examined: admission based on percentages of discharge rates, discharge rates plus or minus a constant, and fixed authorizations independent of discharge rates. The last type policy produced more stable simulated results, and when put into practice, improvements were realized. .B CACM May, 1966 .A Smith, W. G. Solomon Jr., M. B. .N CA660511 JB March 3, 1978 9:42 AM .X 1426 5 1426 1426 5 1426 1426 5 1426 .I 1427 .T Simulation of Radioisotope Scans by Computer .W In radioisotope scanning, a field which is assuming increasing importance in medical diagnosis, the scan is a two-dimensional pattern made up of dots. Areas of increased source activity are represented on the scan by areas of increased dot density. To study the output of scanners with various characteristics, a program which simulates radioisotope scans has been written for a PDP-1 computer with auxiliary disk storage and cathode ray tube display. Past and present research using the output of the simulator has shown the flexibility of the system to be important. The structure of this program can be useful in the simulation of the output of any quantum-limited system. .B CACM May, 1966 .A Pizer, S. M. .N CA660510 JB March 3, 1978 9:47 AM .X 1427 5 1427 1427 5 1427 1427 5 1427 .I 1428 .T SHOCK III, A Computer System As an Aid in the Management of Critically III Patients .W SHOCK III, an online digital computer system to assist the physician, nurse and paramedical personnel in monitoring and reporting on critically ill patients, is described. .B CACM May, 1966 .A Rockwell Jr., M. A. Shubin, H. Weil, M. H. Meagher, P. F. .N CA660509 JB March 3, 1978 9:49 AM .X 1428 5 1428 1428 5 1428 1428 5 1428 .I 1429 .T Matrix Reduction Using the Hungarian Method For The Generation of School Timetables .W The application of Kuhn's Hungarian Method to the problem of matrix reduction as needed in Gotlieb's method for timetable generation is described. The method is suited to both hand and computer calculation. Devices to improve the efficiency of the basic algorithm are discussed. .B CACM May, 1966 .A Lions, J. .N CA660508 JB March 3, 1978 9:52 AM .X 1429 5 1429 1429 5 1429 1429 5 1429 2619 5 1429 2772 5 1429 2787 5 1429 1116 6 1429 1116 6 1429 1419 6 1429 1429 6 1429 1429 6 1429 1429 6 1429 .I 1430 .T Multiple Precision Floating-Point Conversion from Decimal-to-Binary and Vice Versa .W Decimal-to-binary and binary-to-decimal floating-point conversion is often performed by using a table of the powers 10^i, (ia positive integer) for converting from base 10 to base 2, and by using a table of the coefficient of a polynomial approximation of 10^x, (0<=x<1) for converting from base 2 to base 10. These tables occupy a large storage region in the case of a nonsingle precision conversion. This paper shows that a single small table suffices for a floating-point conversion from decimal to binary, and vice versa, in any useful precision. .B CACM May, 1966 .A Mancino, O. G. .N CA660507 JB March 3, 1978 9:56 AM .X 1430 5 1430 1430 5 1430 1430 5 1430 .I 1431 .T On a Storage Mapping Function For Data Structures .W Some basic facts about certain data structures are reviewed and an efficient algorithm is presented for constructing a storage mapping function for a structure from the structure's definition. .B CACM May, 1966 .A Deuel, P. .N CA660506 JB March 3, 1978 9:58 AM .X 1431 5 1431 1431 5 1431 1431 5 1431 .I 1432 .T Incorporation of Nonstandard Input/Output Devices into FORTRAN Systems .W A FORTRAN system may readily be modified to handle input/output with nonstandard media on the same basis on which it handles the standard media. This is done by providing a character-handling subroutine suited to the nonstandard medium and arranged to be called by an otherwise unused output statement type or unit number. This method was used to control output of alphanumeric information on a digital graph plotter. .B CACM May, 1966 .A Cohn, C. E. .N CA660505 JB March 3, 1978 10:01 AM .X 1432 5 1432 1432 5 1432 1432 5 1432 .I 1433 .T A Note on Linear Programming Algorithm Design: A Combinatorial Problem .W As linear programming models grow bigger and bigger in size, much actual data that must be memorized is often put on magnetic tape or disk, and consequently there is an improportionality fast rise in the consumption of computer time.To cut down this expense, an ever increasing effort is made to design more efficient algorithms. This paper is meant to support the effort. It is attempted to find some characteristics of the way a pivot column is found. The number of repetitions of a certain transfer of data from tape to core memory is considered. After some simplification, the problem is restated in a general way. The generating function of the probability distribution and the moment generating function of the number of repetitions is found. Asymptotic formulas are given for the moments using a result from a paper of S. Narumi [1]. The results may be applied to write very efficient routines that search for an extreme value in a table. Formulas provide a means of calculating the computer timings in this case. .B CACM May, 1966 .A Roes, P. B. M. .N CA660504 JB March 3, 1978 10:10 AM .X 1433 5 1433 1433 5 1433 1433 5 1433 .I 1434 .T A Monte Carlo Algorithm for Assigning Students to Classes .W A technique of random choice is illustrated by application to the problem of assigning students to a fixed schedule of courses. Using the technique it is possible to reduce or eliminate difficulties that result when a popular section is filled and closed before all students requesting and requiring it have been scheduled. The effectiveness of automatic scheduling is retained without loss of the students privilege of picking favorite instructors. .B CACM May, 1966 .A Macon, N. Walker, E. E. .N CA660503 JB March 3, 1978 10:14 AM .X 1434 5 1434 1434 5 1434 1434 5 1434 1540 5 1434 2209 5 1434 1434 6 1434 1434 6 1434 1540 6 1434 .I 1435 .T Design of Computer Simulation Experiments for Industrial Systems .W The aim of this paper is to provide background information on the existing literature on experimental design techniques which may be applicable to the design of computer simulation experiments for industrial systems. Although major emphasis is placed on analysis of variance techniques, three other techniques of data analysis are considered-multiple ranking procedures, sequential sampling and spectral analysis. The paper treats four specific experimental design problems and several techniques for solving them. The four experimental design problems are: (1) the problem of stochastic convergence, (2) the problem of factor selection, (3) the problem of motive and (4) the many response problem. .B CACM May, 1966 .A Burdick, D. S. Naylor, T. H. .N CA660502 JB March 3, 1978 10:20 AM .X 1435 5 1435 1435 5 1435 1435 5 1435 1517 5 1435 1435 6 1435 .I 1436 .T Interchange of Two Blocks of Data (Algorithm 284 [K2]) .B CACM May, 1966 .A Fletcher, W. .N CA660501a JB March 3, 1978 10:21 AM .X 1436 5 1436 1436 5 1436 1436 5 1436 .I 1437 .T The Mutual Primal-Dual Method (Algorithm 285 [H]) .B CACM May, 1966 .A Aird, T. J. .N CA660501b JB March 23, 1978 7:12 PM .X 1437 5 1437 1437 5 1437 1437 5 1437 .I 1438 .T A Method for Locating Zeros of Complex Functions .W A method for computing the index, or winding number, is developed and applied to the problem of finding zeros of functions from the plane into the plane. .B CACM April, 1966 .A Cain Jr., G. L. .N CA660411 JB March 3, 1978 10:23 AM .X 1438 5 1438 1438 5 1438 1438 5 1438 .I 1439 .T Mechanization of the Curve Fitting Process: DATAN .W A process for fitting a curve to approximate data and the problem it creates for the engineer-programmer is defined. An approach has also been defined and a system has been written for the SRU 1107 to mechanize a major portion of this process. The techniques developed to accomplish the mechanization are largely empirical, and are dependent for their information only on the actual data points. .B CACM April, 1966 .A Simonsen, R. H. Anketell, D. L. .N CA660410 JB March 3, 1978 10:26 AM .X 1439 5 1439 1439 5 1439 1439 5 1439 .I 1440 .T Starting Approximations for Square Root Calculation on IBM System/360 .W Several starting approximations for square root calculation by Newton's method are presented in a form to facilitate their use in IBM System/360 square root routines. These approximations include several for the range [1/16, 1], which is the interval of primary interest on IBM System/360. .B CACM April, 1966 .A Fike, C. T. .N CA660409 JB March 3, 1978 10:32 AM .X 1015 4 1440 1346 4 1440 1440 4 1440 1440 4 1440 1645 4 1440 1932 4 1440 2159 4 1440 951 4 1440 962 5 1440 1440 5 1440 1440 5 1440 1440 5 1440 1566 5 1440 532 5 1440 1440 6 1440 .I 1441 .T Methods of Numerical Integration Applied to a System Having Trivial Function Evaluations .W A study has been made to determine which methods of numerical integration require the least computation time for a given amount of truncation error when applied to a particular system of ordinary differential equations where function evaluations are relatively trivial. Recent methods due to Butcher and Gear are compared with classic Runge-Kutta, Kutta-Nystrom and Adams methods. Some of the newer one-step methods due to Butcher are found to be slightly superior, but no one method is found to have any great advantage over the others in the application to this particular problem. .B CACM April, 1966 .A Waters, J. .N CA660408 JB March 3, 1978 10:37 AM .X 1441 5 1441 1441 5 1441 1441 5 1441 .I 1442 .T Recorded Magnetic Tape For Information Interchange (800 CPI, NRZI)* (Proposed American Standard) .B CACM April, 1966 .N CA660407 JB March 3, 1978 10:39 AM .X 1442 5 1442 1442 5 1442 1442 5 1442 .I 1443 .T A Method for Finding the Least Squares Estimate of the Intersection Point of Two Helices in Space .W When the helical trajectories of two charged particles moving away from a common point in a magnetic field are reconstructed from measurements on the tracks, the reconstructed tracks are perturbed by measurement and other errors and do not, in general, intersect. A method is given for adjusting the reconstructed tracks in a least squares manner so that they do intersect. .B CACM April, 1966 .A Royston, R. J. Gregory, J. .N CA660406 JB March 3, 1978 10:42 AM .X 1443 5 1443 1443 5 1443 1443 5 1443 .I 1444 .T An Algorithm for Generating Projective Reduction Formulas for Matrix Elements of Many-Electron Wavefunctions .W An ALGOL procedure is given for automatically generating formulas for matrix elements arising in the variational solution of the Schrodinger equation for many-electron systems. .B CACM April, 1966 .A Reeves, C. M. .N CA660405 JB March 3, 1978 10:44 AM .X 1334 4 1444 1396 4 1444 1444 4 1444 964 5 1444 1444 5 1444 1444 5 1444 1444 5 1444 .I 1445 .T Use of the Computer to Teach Introductory Statistics .W It has always been obvious that the aid to calculation offered by the computer forces a change in the curricula of mathematics, statistics, physics, engineering and other courses. Not so obvious are the many pedagogic aids the computer can offer in teaching the subject matter. The possibilities of giving the student a better technical as well as conceptual understanding of statistics were explored for a number of years at the College of Medicine of the University of Cincinnati and are reported here. .B CACM April, 1966 .A Sterling, T. D. Pollack, S. V. .N CA660404 JB March 3, 1978 10:48 AM .X 1445 5 1445 1445 5 1445 1445 5 1445 .I 1446 .T Chebyshev Quadrature (Algorithm 279 [D1]) .B CACM April, 1966 .A Hopgood, F. R. A. Litherland, C. .N CA660403a JB March 3, 1978 10:50 AM .X 1446 5 1446 1446 5 1446 1446 5 1446 .I 1447 .T Abscissas and Weights for Gregory Quadrature [D1]) .B CACM April, 1966 .A Welsch, J. H. .N CA660403b JB March 23, 1978 7:16 PM .X 1447 5 1447 1447 5 1447 1447 5 1447 .I 1448 .T Abscissas and Weights for Romberg Quadrature (Algorithm 281 [D1]) .B CACM April, 1966 .A Welsch, J. H. .N CA660403c JB March 23, 1978 7:17 PM .X 1448 5 1448 1448 5 1448 1448 5 1448 .I 1449 .T Derivatives (Algorithm 282 [S22]) .B CACM April, 1966 .A Gautschi, W. .N CA660403d JB March 23, 1978 7:18 PM .X 1449 5 1449 1449 5 1449 1449 5 1449 2129 5 1449 1449 6 1449 .I 1450 .T Simultaneous Displacement of Polynomial Roots if Real and Simple (Algorithm 283 [C2]) .B CACM April, 1966 .A Kerner, I. O. .N CA660403e JB March 23, 1978 7:19 PM .X 1450 5 1450 1450 5 1450 1450 5 1450 .I 1451 .T Runge-Kutta Integration (Algorithm 9 [D2]) .B CACM April, 1966 .A Thacher Jr., H. C. .N CA660403f JB March 23, 1978 7:21 PM .X 1451 5 1451 1451 5 1451 1451 5 1451 .I 1452 .T Kutta-Merson (Algorithm 218 [D2] .B CACM April, 1966 .A Bayer, G. .N CA660403g JB March 30, 1978 9:31 AM .X 1452 5 1452 1452 5 1452 1452 5 1452 1633 5 1452 1452 6 1452 .I 1453 .T A Nonrecursive Method of Syntax Specification .W The use of the Kleene regular expression notation for describing algebraic language syntax, in particular of ALGOL, is described in this paper. A FORTRAN II computer program for carrying out the elimination algorithm of Gorn,similar to Gaussian elimination for linear systems of algebraic equations, is described. This was applied to numerous smaller languages, including some sublanguage of ALGOL. A hand calculation result of the application of the algorithm to all of ALGOL is given, thus expressing the Revised ALGOL 1960 syntax in completely nonrecursive terms, as far as its context-free portion is concerned. This description in many ways is far more intuitively understood than the previous recursive description, it is suggested. The paper also includes results of the machine program, which does not include a simplification algorithm. .B CACM April, 1966 .A Carr III, J. W. Weiland, J. .N CA660402 JB March 3, 1978 11:02 AM .X 1086 4 1453 1132 4 1453 1234 4 1453 1263 4 1453 1263 4 1453 1265 4 1453 1270 4 1453 1323 4 1453 1358 4 1453 1379 4 1453 1380 4 1453 1453 4 1453 1453 4 1453 1464 4 1453 1484 4 1453 1491 4 1453 1498 4 1453 1613 4 1453 1614 4 1453 1781 4 1453 1825 4 1453 1860 4 1453 1945 4 1453 2083 4 1453 2178 4 1453 2179 4 1453 2252 4 1453 2325 4 1453 2341 4 1453 2546 4 1453 2645 4 1453 2652 4 1453 2684 4 1453 2842 4 1453 2929 4 1453 2934 4 1453 3069 4 1453 669 4 1453 679 4 1453 691 4 1453 761 4 1453 949 4 1453 989 4 1453 989 5 1453 1453 5 1453 1453 5 1453 1453 5 1453 1613 5 1453 3184 5 1453 987 6 1453 1086 6 1453 1134 6 1453 1453 6 1453 3184 6 1453 .I 1454 .T A Simple User-Oriented Compiler Source Language for Programming Automatic Test Equipment .W For the nonprogrammer, difficulty in using a language increases rapidly with the number of nonproblem-oriented conventions. A simple language, even if inelegant, which considers the user's background as part of the problem may be more effective than a source language containing subtle and more powerful capabilities. The language described in this paper is used to write computer programs which test electronic equipment. Because this testing process contains few complex ideas, there is little need for the elegance and redundancy of a highly syntax-oriented language. A simple and direct language will suffice for the problem. The eventual users of this language are military depot personnel who cannot he expected to have computer programming skill or significant programming training. For this nonprogramming-oriented user, it was essential to create a language using familiar engineering statements; programming-oriented conventions would have unnecessarily complicated his task. .B CACM April, 1966 .A Scheff, B. H. .N CA660401 JB March 3, 1978 11:09 AM .X 1454 5 1454 1454 5 1454 1454 5 1454 .I 1455 .T TRAC, A Procedure-Describing Language for the Reactive Typewriter .W A description of the TRAC (Text Reckoning And Compiling) language and processing algorithm is given. The TRAC language was developed as the basis of a software package for the reactive typewriter. In the TRAC language, one can write procedures for accepting, naming and storing any character string from the typewriter; for modifying any string in any way; for treating any string at any time as an executable procedure, or as a name, or as text; and for printing out any string. The TRAC language is based upon an extension and generalization to character strings of the programming concept of the "macro." Through the ability of TRAC to accept and store definitions of procedures, the capabilities of the language can be indefinitely extended, and can deal with character strings, integers and Boolean vector variables. .B CACM March, 1966 .A Mooers, C. N. .N CA660317 JB March 3, 1978 11:18 AM .X 1455 5 1455 1455 5 1455 1455 5 1455 1530 5 1455 1531 5 1455 1565 5 1455 1703 5 1455 1945 5 1455 2036 5 1455 823 6 1455 914 6 1455 915 6 1455 917 6 1455 984 6 1455 989 6 1455 990 6 1455 1012 6 1455 1084 6 1455 1098 6 1455 1122 6 1455 1138 6 1455 1139 6 1455 1141 6 1455 1162 6 1455 1185 6 1455 1200 6 1455 1223 6 1455 1265 6 1455 1336 6 1455 1358 6 1455 1396 6 1455 1455 6 1455 1455 6 1455 1455 6 1455 1455 6 1455 1455 6 1455 1455 6 1455 1477 6 1455 1487 6 1455 1491 6 1455 1496 6 1455 1565 6 1455 205 6 1455 483 6 1455 584 6 1455 669 6 1455 680 6 1455 763 6 1455 .I 1456 .T Storage and Retrieval of Aspects of Meaning in Directed Graph Structures .W An experimental system that uses LISP to make a conceptual dictionary is described. The dictionary associates with each English word the syntactic information, definitional material, and references to the contexts in which it has been used to define other words. Such relations as class inclusion, possession, and active or passive actions are used as definitional material. The resulting structure serves as a powerful vehicle for research on the logic of question answering. Examples of methods of inputting information and answering simple English questions are given. An important conclusion is that, although LISP and other list processing languages are ideally suited for producing complex associative structures, they are inadequate vehicles for language processing on any large scale-at east until they can use auxiliary memory as a continuous extension of core memory. .B CACM March, 1966 .A Simmons, R. F. .N CA660316 JB March 3, 1978 11:25 AM .X 1155 4 1456 1456 4 1456 1468 4 1456 1515 4 1456 1699 4 1456 1856 4 1456 2127 4 1456 1324 5 1456 1456 5 1456 1456 5 1456 1456 5 1456 .I 1457 .T Data Manipulation and Programming Problems in Automatic Information Retrieval .W Automatic information retrieval programs require the manipulation of a variety of different data structures, including linear text, sparse matrices, and tree or list structures. The main data manipulations to be performed in automatic information systems are first briefly reviewed. A variety of data representations which have been used to describe structured information are then examined, and the characteristics of various processing languages are outlined in the light of the procedures requiring implementation. Advantages of these programming languages for the retrieval application are examined, and suggestions are made for the design of programming facilities to aid in information retrieval. .B CACM March, 1966 .A Salton, G. .N CA660315 JB March 3, 1978 11:35 AM .X 1457 4 1457 1236 5 1457 1457 5 1457 1457 5 1457 1457 5 1457 .I 1458 .T Online Programming .W When the transition has been made from off line to online programming, there are a number of changes in the working conditions noted. These changes in the environment make necessary corresponding changes in the processes related to producing and checking out programs. In the main, it it not the programming language itself which must be changed to provide a facility for the online user; it is the system surrounding the programming language. In this paper the online environment and its effect on programming are discussed. .B CACM March, 1966 .A Schwartz, J. I. .N CA660314 JB March 3, 197811:44 AM .X 1458 4 1458 1523 4 1458 1603 4 1458 1698 4 1458 1747 4 1458 1748 4 1458 1854 4 1458 1877 4 1458 1960 4 1458 2377 4 1458 2378 4 1458 2497 4 1458 2558 4 1458 2625 4 1458 2632 4 1458 2840 4 1458 2941 4 1458 3105 4 1458 3144 4 1458 1458 5 1458 1458 5 1458 1458 5 1458 1471 5 1458 .I 1459 .T Requirements for Real-Time Languages .W Real-time languages have different requirements from other programming languages because of the special nature of their applications, the environment in which their object programs are executed and the environment in which they may be compiled. It may not be the language extensions that ultimately advance developments in the field. Progress may be made by attacking the special compiling and executing system problems that must be solved. .B CACM March, 1966 .A Opler, A. .N CA660313 JB March 3, 1978 11:48 AM .X 1459 5 1459 1459 5 1459 1459 5 1459 .I 1460 .T Evolution of the Meta-Assembly Program .W A generalized assembler called a "meta-assembler" is described. The meta-assembler is defined and factors which contributed to its evolution are presented. How a meta-assembler is made to function as an assembly program is described. Finally, the implication of meta-assemblers on compiler design is discussed. .B CACM March, 1966 .A Ferguson, D. E. .N CA660312 JB March 3, 1978 11:56 AM .X 1358 5 1460 1460 5 1460 1460 5 1460 1460 5 1460 1781 5 1460 123 6 1460 196 6 1460 919 6 1460 990 6 1460 1007 6 1460 1046 6 1460 1131 6 1460 1139 6 1460 1140 6 1460 1149 6 1460 1198 6 1460 1215 6 1460 1223 6 1460 1265 6 1460 1303 6 1460 1323 6 1460 1358 6 1460 1366 6 1460 1421 6 1460 1460 6 1460 1460 6 1460 1462 6 1460 1463 6 1460 1467 6 1460 1468 6 1460 1477 6 1460 1491 6 1460 1496 6 1460 1531 6 1460 1535 6 1460 1565 6 1460 1601 6 1460 1602 6 1460 1613 6 1460 1614 6 1460 1626 6 1460 1641 6 1460 1787 6 1460 1788 6 1460 205 6 1460 205 6 1460 224 6 1460 249 6 1460 288 6 1460 316 6 1460 381 6 1460 398 6 1460 11 6 1460 404 6 1460 410 6 1460 463 6 1460 464 6 1460 483 6 1460 3184 6 1460 3184 6 1460 3188 6 1460 584 6 1460 600 6 1460 680 6 1460 691 6 1460 729 6 1460 763 6 1460 799 6 1460 799 6 1460 .I 1461 .T Discussion Summary on Operating Systems .B CACM March, 1966 .N CA660311 JB March 3, 1978 1:26 PM .X 1461 5 1461 1461 5 1461 1461 5 1461 .I 1462 .T Multilevel Operating Systems .W The Basic software for all newer computers is built on the well-established need for standard operating systems. This implies that all applications-no matter how large, complex or time consuming-must operate under (or, more precisely, on top of) the standard system. Large applications require supervisory monitors which handle problems similar to those of the operating systems, but at a different level. Sometimes, still a third or even a fourth such level is required or desirable. This leads naturally to the concept of multilevel systems-similar vertically, but different horizontally. Proper division of responsibility between levels leads to greater efficiency and less logical complexity, while actually enhancing capability. .B CACM March, 1966 .A Orchard-Hays, W. .N CA660310 JB March 3, 1978 1:31 PM .X 1462 5 1462 1462 5 1462 1462 5 1462 1781 5 1462 123 6 1462 196 6 1462 919 6 1462 990 6 1462 1007 6 1462 1046 6 1462 1131 6 1462 1139 6 1462 1140 6 1462 1149 6 1462 1198 6 1462 1215 6 1462 1223 6 1462 1265 6 1462 1303 6 1462 1323 6 1462 1358 6 1462 1366 6 1462 1421 6 1462 1460 6 1462 1462 6 1462 1463 6 1462 1467 6 1462 1468 6 1462 1477 6 1462 1491 6 1462 1496 6 1462 1531 6 1462 1535 6 1462 1565 6 1462 1601 6 1462 1602 6 1462 1613 6 1462 1614 6 1462 1626 6 1462 1641 6 1462 1787 6 1462 1788 6 1462 205 6 1462 224 6 1462 249 6 1462 288 6 1462 316 6 1462 381 6 1462 398 6 1462 11 6 1462 404 6 1462 410 6 1462 463 6 1462 464 6 1462 483 6 1462 3184 6 1462 3188 6 1462 584 6 1462 600 6 1462 680 6 1462 691 6 1462 763 6 1462 799 6 1462 .I 1463 .T More on Extensible Machines .W One of the most salient characteristics of extensible machines (EM) is the facility for providing system control over program-to-program and program-to-data linkage (e.g., address connection). It is the intent of this paper to expand and clarify the remarks concerning program-to-program and program-to-data linkage that were embodied in the authors' previous paper on the EM concepts, and to, finally, trace the employment of linkage mechanisms through various levels of programming languages. .B CACM March, 1966 .A Leonard, G. F. Goodroe, J. R. .N CA660309 JB March 3, 1978 1:34 PM .X 1463 5 1463 1463 5 1463 1463 5 1463 1781 5 1463 123 6 1463 196 6 1463 919 6 1463 990 6 1463 1007 6 1463 1046 6 1463 1131 6 1463 1139 6 1463 1140 6 1463 1149 6 1463 1198 6 1463 1215 6 1463 1223 6 1463 1265 6 1463 1303 6 1463 1323 6 1463 1358 6 1463 1366 6 1463 1421 6 1463 1460 6 1463 1462 6 1463 1463 6 1463 1467 6 1463 1468 6 1463 1477 6 1463 1491 6 1463 1496 6 1463 1531 6 1463 1535 6 1463 1565 6 1463 1601 6 1463 1602 6 1463 1613 6 1463 1614 6 1463 1626 6 1463 1641 6 1463 1787 6 1463 1788 6 1463 205 6 1463 224 6 1463 249 6 1463 288 6 1463 316 6 1463 381 6 1463 398 6 1463 11 6 1463 404 6 1463 410 6 1463 463 6 1463 464 6 1463 483 6 1463 3184 6 1463 3188 6 1463 584 6 1463 600 6 1463 680 6 1463 691 6 1463 763 6 1463 799 6 1463 .I 1464 .T An ALGOL Compiler: Construction and Use in Relation to an Elaborate Operating System .W An ALGOL translator has been prepared and integrated into the IBSYS Operating System. Assembly and "go" features of IBSYS permit immediate execution with optional listings, decks and debugging information. Using the chain feature of IBSYS, links written in MAP or FORTRAN as well as ALGOL may be called by the ALGOL main program. In addition, procedures coded in MAP may be included in any ALGOL program. Although assembly plus loading time exceeds compilation time, the total time is satisfactory and the user gets ease and facility which are fully compensating. .B CACM March, 1966 .A Boussard, J. C. .N CA660308 JB March 3, 1978 1:41 PM .X 249 4 1464 254 4 1464 272 4 1464 1086 4 1464 1102 4 1464 1109 4 1464 1132 4 1464 1140 4 1464 1188 4 1464 1234 4 1464 1263 4 1464 1265 4 1464 1270 4 1464 1306 4 1464 1323 4 1464 1358 4 1464 1379 4 1464 1380 4 1464 1453 4 1464 1464 4 1464 1464 4 1464 1484 4 1464 1491 4 1464 1491 4 1464 1498 4 1464 1613 4 1464 1614 4 1464 1767 4 1464 1781 4 1464 1781 4 1464 1787 4 1464 1825 4 1464 1860 4 1464 1949 4 1464 321 4 1464 2059 4 1464 2083 4 1464 2126 4 1464 2178 4 1464 2179 4 1464 2252 4 1464 2325 4 1464 2341 4 1464 2546 4 1464 435 4 1464 437 4 1464 463 4 1464 483 4 1464 491 4 1464 2645 4 1464 2652 4 1464 2684 4 1464 2732 4 1464 2842 4 1464 2929 4 1464 2934 4 1464 560 4 1464 583 4 1464 3069 4 1464 3073 4 1464 627 4 1464 631 4 1464 632 4 1464 642 4 1464 644 4 1464 653 4 1464 669 4 1464 679 4 1464 680 4 1464 691 4 1464 761 4 1464 761 4 1464 762 4 1464 763 4 1464 123 4 1464 140 4 1464 919 4 1464 949 4 1464 989 4 1464 989 4 1464 196 5 1464 1464 5 1464 1464 5 1464 1464 5 1464 3184 5 1464 .I 1465 .T Program Translation Viewed as a General Data Processing Problem .W Efficiency dictates that the overall effectiveness of a compiler be increased by all means available. For a compiler to have a substantial useful life it needs a clear logical structure, reliability and sound data processing techniques. A compiler must be based on fixed conventions to preserve efficiency and reliability; empty options and default conventions violate this dictum. Use of structure to associate various parts of a program and economy of features promote clarity and reliability. .B CACM March, 1966 .A Naur, P. .N CA660307 JB March 3, 1978 1:45 PM .X 1465 5 1465 1465 5 1465 1465 5 1465 .I 1466 .T Discussion Summary on Graphical Languages .B CACM March, 1966 .N CA660306 JB March 3, 1978 1:46 PM .X 1466 5 1466 1466 5 1466 1466 5 1466 2341 5 1466 990 6 1466 1468 6 1466 1466 6 1466 3184 6 1466 .I 1467 .T A Graphical ServiceSystem With Variable Syntax .W Man-machine interaction in many fields of endeavor should be greatly facilitated in the near future through the use of interactive graphical languages. To provide a variety of display scope communication procedures, a Graphic Service system which functions as a generalized graphical language translator, is being developed to aid the definition as well as the use of new graphical languages. .B CACM March, 1966 .A Roberts, L. G. .N CA660305 JB March 3, 1978 1:49 PM .X 1467 5 1467 1467 5 1467 1467 5 1467 1767 5 1467 1781 5 1467 123 6 1467 196 6 1467 196 6 1467 919 6 1467 990 6 1467 1007 6 1467 1046 6 1467 1131 6 1467 1139 6 1467 1140 6 1467 1149 6 1467 1198 6 1467 1215 6 1467 1223 6 1467 1265 6 1467 1303 6 1467 1323 6 1467 1358 6 1467 1366 6 1467 1421 6 1467 1460 6 1467 1462 6 1467 1463 6 1467 1467 6 1467 1467 6 1467 1468 6 1467 1468 6 1467 1477 6 1467 1491 6 1467 1496 6 1467 1496 6 1467 1531 6 1467 1535 6 1467 1565 6 1467 1601 6 1467 1602 6 1467 1613 6 1467 1614 6 1467 1626 6 1467 1641 6 1467 1787 6 1467 1788 6 1467 205 6 1467 224 6 1467 249 6 1467 288 6 1467 316 6 1467 381 6 1467 398 6 1467 11 6 1467 404 6 1467 410 6 1467 463 6 1467 464 6 1467 483 6 1467 3184 6 1467 3188 6 1467 584 6 1467 600 6 1467 680 6 1467 691 6 1467 763 6 1467 799 6 1467 .I 1468 .T Syntax-Directed Interpretation of Classes of Pictures .W A descriptive scheme for classes of pictures based on labeling techniques using parallel processing algorithms was proposed by the author some years ago. Since then much work has been done in applying this to bubble chamber pictures. The parallel processing simulator, originally written for an IBM 7094 system, has now been rewritten for a CDC 3600 system. This paper descriptive models by considering their specific application to bubble chamber pictures. How the description generated in this phase can be embedded in a larger "conversation" program is explained by means of a certain specific example that has been worked out. A partial generative grammar for "handwritten" English letters is given, as are also a few computer-generated outputs using this grammar and the parallel processing simulator mentioned earlier. .B CACM March, 1966 .A Narasimhan, R. .N CA660304 JB March 3, 1978 1:56 PM .X 1155 4 1468 1456 4 1468 1468 4 1468 1515 4 1468 1699 4 1468 1856 4 1468 2127 4 1468 1324 5 1468 1468 5 1468 1468 5 1468 1468 5 1468 1767 5 1468 1781 5 1468 2341 5 1468 123 6 1468 196 6 1468 196 6 1468 919 6 1468 990 6 1468 990 6 1468 1007 6 1468 1046 6 1468 1131 6 1468 1139 6 1468 1140 6 1468 1149 6 1468 1198 6 1468 1215 6 1468 1223 6 1468 1265 6 1468 1303 6 1468 1323 6 1468 1358 6 1468 1366 6 1468 1421 6 1468 1460 6 1468 1462 6 1468 1463 6 1468 1467 6 1468 1467 6 1468 1468 6 1468 1468 6 1468 1468 6 1468 1466 6 1468 1477 6 1468 1491 6 1468 1496 6 1468 1496 6 1468 1531 6 1468 1535 6 1468 1565 6 1468 1601 6 1468 1602 6 1468 1613 6 1468 1614 6 1468 1626 6 1468 1641 6 1468 1787 6 1468 1788 6 1468 205 6 1468 224 6 1468 249 6 1468 288 6 1468 316 6 1468 381 6 1468 398 6 1468 11 6 1468 404 6 1468 410 6 1468 463 6 1468 464 6 1468 483 6 1468 3184 6 1468 3184 6 1468 3188 6 1468 584 6 1468 600 6 1468 680 6 1468 691 6 1468 763 6 1468 799 6 1468 .I 1469 .T The Next 700 Programming Languages .W A family of unimplemented computing languages is described that is intended to span differences of application area by a unified framework. This framework dictates the rules about the uses of user-coined names, and the conventions about characterizing functional relationships. Within this framework the design of a specific language splits into two independent parts. One is the choice of written appearances of programs (or more generally, their physical representation). The other is the choice of the abstract entities (such as numbers, character-strings, lists of them, functional relations among them) that can be referred to in the language. The system is biased towards "expressions" rather than "statements." It includes a nonprocedural(purely functional) subsystem that aims to expand the class of users' needs that can be met by a single print-instruction, without sacrificing the important properties that make conventional right-hand-side expressions easy to construct and understand. .B CACM March, 1966 .A Landin, P. J. .N CA660303 JB March 3, 1978 2:05 PM .X 1469 4 1469 1486 4 1469 1491 4 1469 1781 4 1469 2178 4 1469 2326 4 1469 2470 4 1469 2684 4 1469 3044 4 1469 1303 5 1469 1469 5 1469 1469 5 1469 1469 5 1469 2060 5 1469 2294 5 1469 2470 5 1469 3124 5 1469 1303 6 1469 1380 6 1469 1421 6 1469 1469 6 1469 1469 6 1469 1469 6 1469 1469 6 1469 1477 6 1469 1491 6 1469 210 6 1469 1834 6 1469 1869 6 1469 2060 6 1469 2110 6 1469 2264 6 1469 .I 1470 .T The Structure of Programming Languages .W The following are identified as major components of every programming language: (1) the elementary program statement, (2) mechanisms for linking elementary statements together, (3) the means by which a program can obtain data inputs. Several alternative forms of each of these components are described, compared and evaluated. Many examples, frequently from list processing languages, illustrate the forms described. Elementary program statements usually take the form of commands, requirements, or implicit specifications. A command is an imperative statement that commands the action to be taken. A requirement describes the effect to be achieved without saying anything about the actions to be taken. An implicit specification is similar to a requirement, but the programmer must understand what actions will be taken to achieve the desired effect. Subroutines may be entered explicitly, by execute call, or by function composition. Explicitly called subroutines generally require special linkage conventions. An execute subroutine call is syntactically indistinguishable from a basic instruction of the programming language. Function composition is a convenient alternative to the explicit call. The three principal ways of getting inputs for routines are (1) by referring to the data itself, (2) by referring to the data by a "name", and (3) by referring to it implicitly by means of variables or functions. Names are useful entry points into permanent data structures, but can be error-causing distractions in other contexts. The author discusses advantages, disadvantages, and factors influencing the choice of a form of component for a language. He concludes by suggesting the evolution of programming languages toward one which will permit all the most convenient ways of structuring programs, organizing systems, and referencing data. .B CACM March, 1966 .A Raphael, B. .N CA660302 JB March 3, 1978 2:20 PM .X 1470 5 1470 1470 5 1470 1470 5 1470 .I 1471 .T Programming Semantics for Multiprogrammed computations .W The semantics are defined for a number of meta-instructions which perform operation essential to the writing of programs in multiprogrammed computer systems. These meta-instructions relate to parallel processing, protection of separate computations, program debugging, and the sharing among users of memory segments and other computing objects, the names of which are hierarchically structured. The language sophistication contemplated is midway between an assembly language and an advanced algebraic language. .B CACM March, 1966 .A Dennis,J. B. VanHorn, E. C. .N CA660301 JB March 3, 1978 2:25 PM .X 1471 4 1471 1471 4 1471 1774 4 1471 972 4 1471 276 5 1471 1458 5 1471 1471 5 1471 1471 5 1471 1471 5 1471 1523 5 1471 1603 5 1471 1698 5 1471 1747 5 1471 1748 5 1471 1854 5 1471 1877 5 1471 1960 5 1471 2377 5 1471 2378 5 1471 2497 5 1471 2558 5 1471 2625 5 1471 2632 5 1471 2840 5 1471 2941 5 1471 3105 5 1471 3144 5 1471 800 5 1471 1421 6 1471 1471 6 1471 1471 6 1471 1471 6 1471 1471 6 1471 1471 6 1471 1471 6 1471 1471 6 1471 1471 6 1471 1471 6 1471 1471 6 1471 1471 6 1471 1471 6 1471 1471 6 1471 1471 6 1471 1471 6 1471 1471 6 1471 1471 6 1471 1471 6 1471 1471 6 1471 1746 6 1471 1746 6 1471 1748 6 1471 1749 6 1471 1749 6 1471 1749 6 1471 1749 6 1471 1749 6 1471 1753 6 1471 1854 6 1471 2060 6 1471 2080 6 1471 2080 6 1471 2182 6 1471 2298 6 1471 2356 6 1471 2358 6 1471 2358 6 1471 2436 6 1471 2438 6 1471 2491 6 1471 2558 6 1471 2597 6 1471 2624 6 1471 2625 6 1471 2625 6 1471 2626 6 1471 2629 6 1471 2632 6 1471 2632 6 1471 2651 6 1471 2868 6 1471 2939 6 1471 3068 6 1471 .I 1472 .T Description of a High Capacity, Fast Turnaround University Computing Center .W The operating system for the UNIVAC 1107 at Case Institute is reviewed. The system is of interest because of the low turnaround times achieved, the high throughput achieved and the lack of an operating staff. Turnaround times below 5 minutes and job volume above 75,000 per quarter year one reported. .B CACM February, 1966 .A Lynch, W.C. .N CA660212 JB March 3, 1978 2:28 PM .X 1472 5 1472 1472 5 1472 1472 5 1472 1550 5 1472 1304 6 1472 1472 6 1472 .I 1473 .T The Stability of the Fourth Order Runge-Kutta Method for the Solution of Systems of Differential Equations .W The problem of the region of stability of the fourth order-Runge-Kutta method for the solution of systems of differential equations is studied. This region can be characterized by means of linear transformation but can not be given in a closed form. In the paper, this region is determined by the electronic digital computer Z22. .B CACM February, 1966 .A Karim, A. I. A. .N CA660211 JB March 3, 1978 2:31 PM .X 1473 5 1473 1473 5 1473 1473 5 1473 .I 1474 .T Tests of Probabilistic Models for Propagation of Roundoff Errors .W In any prolonged computation it is generally assumed that the accumulated effect of roundoff errors is in some sense statistical. The purpose of this paper is to give precise descriptions of certain probabilistic models for roundoff error, and then to describe a series of experiments for testing the validity of these models. It is concluded that the models are in general very good. Discrepancies are both rare and mild. The test techniques can also be used to experiment with various types of special arithmetic. .B CACM February, 1966 .A Hull, T. E. Swenson, J. R. .N CA660210 JB March 3, 1978 2:37 PM .X 1474 5 1474 1474 5 1474 1474 5 1474 2525 5 1474 1474 6 1474 .I 1475 .T Dribble Posting a Master File .W Many business applications employ sequential magnetic tape rather than random-access storage techniques to process a very small number of transactions against a voluminous master file. In such situations, it may prove economical to avoid creating a new master file during each updating run by producing instead a dribble ledger containing only those master file accounts which have experienced activity. .B CACM February, 1966 .A Head, R. V. .N CA660209 JB March 3, 1978 2:41 PM .X 1475 5 1475 1475 5 1475 1475 5 1475 .I 1476 .T Control Procedures for Data Communication-An ASA Progress Report .W Sectional Committee X.3 of the American Standards Association, has charged one of its task groups, X3.3.4, with the responsibility to "Define and specify functional control requirements and characteristics governing the operation of digital data generating and receiving systems interconnected by communication system." This effort is primarily directed toward systems employing the American Standard Code for Information Interchange (ASCII). This paper represents a progress report on the work of this group toward a proposal for national and international standardization in the field of control procedures. It describes both the old and new work of the task group. The new work is presented in detail, while the work that has been presented in earlier papers ["Control Procedures for Data Communication," Task Group document X3.3.4/44, May 1964: "Transparent-Mode Control Procedures for Data Communication," Task Group document X3.3.4/58, December, 1964: Comm. ACM 8 (Apr. 1965), 203-206; "Control Procedures for Data Communications," Task Group document X3.3.4/60, March, 1965] is retained here in summary form. Many of the concepts and principles described herein have been submitted to the International Organization for Standardization via earlier papers and are now embodied in working papers of that organization. .B CACM February, 1966 .N CA660208JB March 3, 1978 3:04 PM .X 1476 5 1476 1476 5 1476 1476 5 1476 .I 1477 .T EULER: A Generalization of ALGOL, and its Formal Definition: Part II* .B CACM February, 1966 .A Wirth, N. Weber, H. .N CA660207 JB March 3, 1978 3:10 PM .X 1379 5 1477 1477 5 1477 1477 5 1477 1477 5 1477 1693 5 1477 1781 5 1477 1836 5 1477 1945 5 1477 2015 5 1477 2060 5 1477 2061 5 1477 2091 5 1477 2179 5 1477 2546 5 1477 2698 5 1477 2708 5 1477 3045 5 1477 823 6 1477 123 6 1477 196 6 1477 914 6 1477 915 6 1477 917 6 1477 919 6 1477 984 6 1477 989 6 1477 990 6 1477 990 6 1477 1007 6 1477 1012 6 1477 1046 6 1477 1084 6 1477 1098 6 1477 1122 6 1477 1131 6 1477 1138 6 1477 1139 6 1477 1139 6 1477 1140 6 1477 1140 6 1477 1141 6 1477 1141 6 1477 1149 6 1477 1191 6 1477 1198 6 1477 1200 6 1477 1215 6 1477 1223 6 1477 1223 6 1477 1263 6 1477 1265 6 1477 1265 6 1477 1303 6 1477 1323 6 1477 1336 6 1477 1358 6 1477 1366 6 1477 1366 6 1477 1380 6 1477 1396 6 1477 1421 6 1477 1421 6 1477 1421 6 1477 1455 6 1477 1460 6 1477 1462 6 1477 1463 6 1477 1467 6 1477 1468 6 1477 1469 6 1477 1477 6 1477 1477 6 1477 1477 6 1477 1477 6 1477 1477 6 1477 1477 6 1477 1477 6 1477 1477 6 1477 1477 6 1477 1477 6 1477 1477 6 1477 1477 6 1477 1477 6 1477 1477 6 1477 1487 6 1477 1491 6 1477 1491 6 1477 1491 6 1477 1491 6 1477 1491 6 1477 1491 6 1477 1491 6 1477 1491 6 1477 1491 6 1477 1491 6 1477 1491 6 1477 1491 6 1477 1496 6 1477 1496 6 1477 1531 6 1477 1535 6 1477 1565 6 1477 1601 6 1477 1602 6 1477 1613 6 1477 1614 6 1477 1614 6 1477 1626 6 1477 1641 6 1477 1781 6 1477 1781 6 1477 1781 6 1477 1787 6 1477 1787 6 1477 1788 6 1477 205 6 1477 1825 6 1477 1825 6 1477 210 6 1477 224 6 1477 249 6 1477 1869 6 1477 288 6 1477 316 6 1477 381 6 1477 398 6 1477 2015 6 1477 2110 6 1477 2110 6 1477 2110 6 1477 2111 6 1477 11 6 1477 2126 6 1477 2534 6 1477 2534 6 1477 2556 6 1477 2556 6 1477 404 6 1477 404 6 1477 410 6 1477 463 6 1477 464 6 1477 483 6 1477 483 6 1477 3184 6 1477 3184 6 1477 3184 6 1477 3184 6 1477 3188 6 1477 577 6 1477 584 6 1477 584 6 1477 600 6 1477 669 6 1477 669 6 1477 680 6 1477 680 6 1477 680 6 1477 680 6 1477 691 6 1477 761 6 1477 763 6 1477 763 6 1477 773 6 1477 799 6 1477 799 6 1477 .I 1478 .T Exponential Curve Fit (Algorithm 275 [E2]) .B CACM February, 1966 .A Deily, G. R. .N CA660206a JB March 3, 1978 3:11 PM .X 1478 5 1478 1478 5 1478 1478 5 1478 2694 5 1478 1478 6 1478 .I 1479 .T Constrained Exponential Curve Fit (Algorithm 276 [E2]) .B CACM February, 1966 .A Deily, G. R. .N CA660206b JB March 23, 1978 7:27 PM .X 1479 5 1479 1479 5 1479 1479 5 1479 .I 1480 .T Computation of Chebyshev Series Coefficients (Algorithm 277[C6]) .B CACM February, 1966 .A Smith, L. B. .N CA660206c JB March 23, 1978 7:28 PM .X 1480 5 1480 1480 5 1480 1480 5 1480 1639 5 1480 1480 6 1480 .I 1481 .T Graph Plotter (Algorithm 278 [J6]) .B CACM February, 1966 .A Lloyd, P. .N CA660206d JB March 23, 1978 7:30 PM .X 1481 5 1481 1481 5 1481 1481 5 1481 .I 1482 .T BUGSYS: A Programming System for Picture Processing-Not for Debugging .W BUGSYS is a picture processing and measuring system that depends upon a pictorial input to the computer's memory. BUGSYS can be used for many types of applications. In particular, the authors have used the system for the analysis of linear graphs. The main concept of the system is the use of a collection of programmable pointers, which are visualized as a family of "bugs." .B CACM February, 1966 .A Ledley, R. S. Jacobsen, J. Belson, M. .N CA660205 JB March 3, 1978 3:16 PM .X 1482 5 1482 1482 5 1482 1482 5 1482 .I 1483 .T A Comparison of the FORTRAN Language Implementation for Several Computers .W A feature-by-feature comparison is made of five different implementations of FORTRAN IV representing three different manufacturers. A table is constructed showing, where possible, the use of each feature in each implementation. Only those items which are different from, or have been added to FORTRAN II are shown. .B CACM February, 1966 .A Wright, D. L. .N CA660204 JB March 3, 1978 3:19 PM .X 1483 5 1483 1483 5 1483 1483 5 1483 .I 1484 .T A Language for Describing the Functions of Synchronous Systems* .W Before the design of a system is started, the exact function desired of it should be specified. It is suggested that a computer-oriented language be used for this purpose. The inadequacies of the standard programming languages for the description of systems are discussed, and a dialect of ALGOL which is suitable for describing synchronous systems is introduced. These descriptions can be used for simulation and automatic design of the system described, in addition to communicating system specifications. .B CACM February, 1966 .A Parnas, D. L. .N CA660203 JB March 3, 1978 3:23 PM .X 1086 4 1484 1132 4 1484 1234 4 1484 1263 4 1484 1265 4 1484 1270 4 1484 1323 4 1484 1358 4 1484 1379 4 1484 1380 4 1484 1453 4 1484 1464 4 1484 1484 4 1484 1491 4 1484 1498 4 1484 1613 4 1484 1614 4 1484 1781 4 1484 1825 4 1484 1860 4 1484 2083 4 1484 2178 4 1484 2179 4 1484 2252 4 1484 2325 4 1484 2341 4 1484 2546 4 1484 2645 4 1484 2652 4 1484 2684 4 1484 2842 4 1484 2929 4 1484 2934 4 1484 3069 4 1484 669 4 1484 679 4 1484 691 4 1484 761 4 1484 949 4 1484 989 4 1484 1484 5 1484 1484 5 1484 1484 5 1484 1846 5 1484 3184 5 1484 1380 6 1484 1424 6 1484 1484 6 1484 1572 6 1484 576 6 1484 .I 1485 .T The Structure of Programming Languages .W In this paper the major components of every programming language are identified as: (1) the elementary program statement, (2) mechanisms for linking elementary statements together, (3) the means by which a program can obtain data inputs. Several alternative forms of each of these components are also described, compared and evaluated. Many examples, frequently from list processing languages, illustrate the forms described. The advantages, disadvantages and factors influencing the choice of a form of component for a language are discussed, and the paper concludes with the suggestion that programming languages evolve toward one which will permit all the most convenient ways of structuring programs, organizing systems and referencing data. .B CACM February, 1966 .A Raphael, B. .N CA660202 JB March 3, 1978 3:46 PM .X 1024 4 1485 1051 4 1485 1098 4 1485 1214 4 1485 1380 4 1485 1388 4 1485 1393 4 1485 1485 4 1485 1487 4 1485 1549 4 1485 1570 4 1485 1878 4 1485 1946 4 1485 1957 4 1485 2168 4 1485 2723 4 1485 2857 4 1485 3112 4 1485 1485 5 1485 1485 5 1485 1485 5 1485 731 5 1485 .I 1486 .T A Reprogramming Machine .W In this paper a description is given of a model programming system which is directed by a programming language and has a library for storing the user's items. Rules are given for transforming programs written in the language and for rearranging the items in the library so that they share their common parts. Some speculations are made about how the mechanical detection of common parts or patterns of library items could help a user to solve his problems, and about the relationships between the behavior of the reprogramming machine and human intelligent behavior. .B CACM February, 1966 .A Burge, W. H. .N CA660201 JB March 3, 1978 3:50 PM .X 1024 4 1486 1051 4 1486 1102 4 1486 1132 4 1486 1390 4 1486 1469 4 1486 1486 4 1486 1486 4 1486 1491 4 1486 1549 4 1486 1706 4 1486 1781 4 1486 1826 4 1486 1878 4 1486 378 4 1486 2060 4 1486 2155 4 1486 2168 4 1486 2178 4 1486 2326 4 1486 2470 4 1486 2684 4 1486 2719 4 1486 2723 4 1486 2838 4 1486 2842 4 1486 2855 4 1486 2879 4 1486 3044 4 1486 3077 4 1486 3080 4 1486 3106 4 1486 627 4 1486 106 4 1486 1303 5 1486 210 5 1486 1486 5 1486 1486 5 1486 1486 5 1486 .I 1487 .T ELIZA-A Computer Program For the Study ofNatural Language Communication Between Man And Machine .W ELIZA is a program operating within the MAC time-sharing system at MIT which makes certain kinds of natural language conversation between man and computer possible. Input sentences are analyzed on the basis of decomposition rules which are triggered by key words appearing in the input text. Responses are generated by reassembly rules associated with selected decomposition rules. the fundamental technical problems with which ELIZA is concerned are: (1)the identification of key words, (2) the discovery of minimal context, (3) the choice of appropriate transformations, (4) generation of responses in the absence of key words, and (5) the provision of an editing capability for ELIZA "scripts". A discussion of some psychological issues relevant to the ELIZA approach as well as of future developments concludes the paper. .B CACM January, 1966 .A Weizenbaum, J. .N CA660108 JB March 3, 1978 4:00 PM .X 1024 4 1487 1051 4 1487 1098 4 1487 1214 4 1487 1380 4 1487 1388 4 1487 1393 4 1487 1485 4 1487 1487 4 1487 1549 4 1487 1570 4 1487 1878 4 1487 1946 4 1487 1957 4 1487 2168 4 1487 2723 4 1487 2857 4 1487 3112 4 1487 1400 5 1487 1487 5 1487 1487 5 1487 1487 5 1487 1553 5 1487 1945 5 1487 2127 5 1487 2396 5 1487 2730 5 1487 731 5 1487 823 6 1487 914 6 1487 915 6 1487 917 6 1487 984 6 1487 989 6 1487 990 6 1487 1012 6 1487 1084 6 1487 1098 6 1487 1122 6 1487 1138 6 1487 1139 6 1487 1141 6 1487 1155 6 1487 1200 6 1487 1223 6 1487 1265 6 1487 1324 6 1487 1336 6 1487 1396 6 1487 1455 6 1487 1477 6 1487 1487 6 1487 1487 6 1487 1487 6 1487 1487 6 1487 1487 6 1487 1487 6 1487 1491 6 1487 1496 6 1487 1527 6 1487 1781 6 1487 1856 6 1487 1856 6 1487 2092 6 1487 2127 6 1487 483 6 1487 584 6 1487 669 6 1487 680 6 1487 763 6 1487 .I 1488 .T Programming Decision Tables in FORTRAN, COBOL or ALGOL .W A simple broad-based approach for programming decision tables in FORTRAN or COBOL is developed and presented. With inputs in standard form, as defined in the paper, the programming of any decision table can be done with one or two FORTRAN statements, or with two COBOL statements, if the COMPUTE verb is available in the COBOL processor. It is shown that the method is applicable even when there are more than two mutually exclusive states of one, two or more table conditions. It is further shown that multi-state conditions in decision tables can often simplify the programming. The method outlined has the further advantage that all possible combinations of conditions are considered. It is shown that the suggested procedure is easily implemented in ALGOL. .B CACM January, 1966 .A Veinott, C. G. .N CA660107 JB March 3, 1978 4:08 PM .X 1354 4 1488 1354 4 1488 1488 4 1488 1488 4 1488 1994 4 1488 2053 4 1488 2053 4 1488 2220 4 1488 2220 4 1488 2273 4 1488 2273 4 1488 2726 4 1488 2856 4 1488 1237 5 1488 1327 5 1488 1488 5 1488 1488 5 1488 1488 5 1488 1548 5 1488 2726 5 1488 1172 6 1488 1327 6 1488 1354 6 1488 1488 6 1488 1488 6 1488 1489 6 1488 1489 6 1488 1548 6 1488 2220 6 1488 2221 6 1488 2263 6 1488 .I 1489 .T Data, Documentation and Decision Tables .W In business data processing systems, it is necessary to be able to define and document data, files, programs and decision rules in a way that adequately represents both (1) their changing information content, and (2) their continuous interaction. Tabular description makes this possible, being notably objective, through and economical in cost and time when systems must be analyzed and programs prepared or modified. To show how quickly tabular techniques make an unfamiliar system manageable, a detailed example and a self-test are provided. .B CACM January, 1966 .A Fisher, D. L. .N CA660106 JB March 3, 1978 4:13 PM .X 1489 5 1489 1489 5 1489 1489 5 1489 1548 5 1489 2220 5 1489 2726 5 1489 1172 6 1489 1172 6 1489 1237 6 1489 1327 6 1489 1327 6 1489 1354 6 1489 1354 6 1489 1488 6 1489 1488 6 1489 1489 6 1489 1489 6 1489 1489 6 1489 1548 6 1489 1548 6 1489 250 6 1489 2220 6 1489 2221 6 1489 2263 6 1489 .I 1490 .T One Inch Perforated Paper Tape for Information Interchange (Proposed American Standard) .B CACM January, 1966 .N CA660105 JB March 3, 1978 4:14 PM .X 1490 5 1490 1490 5 1490 1490 5 1490 .I 1491 .T EULER: A Generalization ALGOL, and its Formal Definition: Part I* .W A method for defining programming languages is developed which introduces a rigorous relationship between structure and meaning. The structure of a language is defined by a phrase structure syntax, the meaning in terms of the effects which the execution of a sequence of interpretation rules exerts upon a fixed set of variables, called the Environment. There exists a one-to-one correspondence between syntactic rules and interpretation rules is determined by the sequence of corresponding syntactic reductions which constitute a parse. The individual interpretation rules are explained in terms of an elementary an d obvious algorithmic notation. A constructive method for evaluating a text is provided, and for certain decidable classes of languages their unambiguity is proved. As an example, a generalization of ALGOL is described in full detail to demonstrate that concepts like block-structure, procedures, parameters, etc. can be defined adequately and precisely by this method. .B CACM January, 1966 .A Wirth, N. Weber, H. .N CA660104 JB March 3, 1978 4:22 PM .X 249 4 1491 254 4 1491 272 4 1491 1037 4 1491 1086 4 1491 1102 4 1491 1109 4 1491 1132 4 1491 1140 4 1491 1188 4 1491 1234 4 1491 1234 4 1491 1263 4 1491 1265 4 1491 1270 4 1491 1306 4 1491 1323 4 1491 1358 4 1491 1358 4 1491 1379 4 1491 1380 4 1491 1453 4 1491 1464 4 1491 1464 4 1491 1469 4 1491 1484 4 1491 1486 4 1491 1491 4 1491 1491 4 1491 1491 4 1491 1491 4 1491 1491 4 1491 1498 4 1491 1613 4 1491 1614 4 1491 1767 4 1491 1781 4 1491 1781 4 1491 1781 4 1491 1781 4 1491 1787 4 1491 1825 4 1491 1860 4 1491 1949 4 1491 321 4 1491 2059 4 1491 2061 4 1491 2083 4 1491 2126 4 1491 2178 4 1491 2178 4 1491 2179 4 1491 2252 4 1491 2325 4 1491 2326 4 1491 2341 4 1491 2470 4 1491 2546 4 1491 435 4 1491 437 4 1491 463 4 1491 483 4 1491 491 4 1491 2645 4 1491 2652 4 1491 2684 4 1491 2684 4 1491 2732 4 1491 2842 4 1491 2929 4 1491 2934 4 1491 560 4 1491 583 4 1491 3044 4 1491 3069 4 1491 3073 4 1491 627 4 1491 631 4 1491 632 4 1491 642 4 1491 644 4 1491 653 4 1491 669 4 1491 679 4 1491 680 4 1491 691 4 1491 761 4 1491 761 4 1491 762 4 1491 763 4 1491 123 4 1491 140 4 1491 919 4 1491 949 4 1491 989 4 1491 989 4 1491 196 5 1491 1140 5 1491 1303 5 1491 1491 5 1491 1491 5 1491 1491 5 1491 1542 5 1491 1683 5 1491 1693 5 1491 1781 5 1491 1787 5 1491 1836 5 1491 1945 5 1491 2060 5 1491 2061 5 1491 2082 5 1491 2091 5 1491 2152 5 1491 2179 5 1491 2340 5 1491 2356 5 1491 2546 5 1491 2603 5 1491 2698 5 1491 2708 5 1491 2824 5 1491 2982 5 1491 2986 5 1491 3045 5 1491 3093 5 1491 3184 5 1491 729 5 1491 823 6 1491 123 6 1491 196 6 1491 196 6 1491 914 6 1491 915 6 1491 917 6 1491 919 6 1491 970 6 1491 984 6 1491 989 6 1491 990 6 1491 990 6 1491 1007 6 1491 1012 6 1491 1046 6 1491 1084 6 1491 1098 6 1491 1122 6 1491 1131 6 1491 1138 6 1491 1139 6 1491 1139 6 1491 1140 6 1491 1140 6 1491 1141 6 1491 1141 6 1491 1141 6 1491 1141 6 1491 1149 6 1491 1191 6 1491 1191 6 1491 1198 6 1491 1200 6 1491 1215 6 1491 1215 6 1491 1223 6 1491 1223 6 1491 1265 6 1491 1265 6 1491 1303 6 1491 1323 6 1491 1336 6 1491 1358 6 1491 1366 6 1491 1366 6 1491 1380 6 1491 1396 6 1491 1421 6 1491 1421 6 1491 1421 6 1491 1455 6 1491 1460 6 1491 1462 6 1491 1463 6 1491 1467 6 1491 1468 6 1491 1469 6 1491 1477 6 1491 1477 6 1491 1477 6 1491 1477 6 1491 1477 6 1491 1477 6 1491 1477 6 1491 1477 6 1491 1477 6 1491 1477 6 1491 1477 6 1491 1477 6 1491 1487 6 1491 1491 6 1491 1491 6 1491 1491 6 1491 1491 6 1491 1491 6 1491 1491 6 1491 1491 6 1491 1491 6 1491 1491 6 1491 1491 6 1491 1491 6 1491 1491 6 1491 1491 6 1491 1491 6 1491 1491 6 1491 1491 6 1491 1491 6 1491 1491 6 1491 1491 6 1491 1491 6 1491 1491 6 1491 1491 6 1491 1491 6 1491 1491 6 1491 1496 6 1491 1496 6 1491 1496 6 1491 1531 6 1491 1535 6 1491 1565 6 1491 1601 6 1491 1602 6 1491 1613 6 1491 1614 6 1491 1614 6 1491 1626 6 1491 1641 6 1491 1683 6 1491 1683 6 1491 1683 6 1491 1767 6 1491 1781 6 1491 1781 6 1491 1781 6 1491 1787 6 1491 1787 6 1491 1788 6 1491 205 6 1491 1825 6 1491 1825 6 1491 210 6 1491 1836 6 1491 1836 6 1491 1836 6 1491 224 6 1491 224 6 1491 249 6 1491 1869 6 1491 288 6 1491 316 6 1491 381 6 1491 398 6 1491 2015 6 1491 2110 6 1491 2110 6 1491 2110 6 1491 2111 6 1491 11 6 1491 2126 6 1491 2179 6 1491 2179 6 1491 2227 6 1491 2340 6 1491 2340 6 1491 2340 6 1491 2534 6 1491 2534 6 1491 2556 6 1491 2556 6 1491 2708 6 1491 404 6 1491 404 6 1491 410 6 1491 463 6 1491 464 6 1491 483 6 1491 483 6 1491 3184 6 1491 3184 6 1491 3184 6 1491 3188 6 1491 3198 6 1491 518 6 1491 577 6 1491 584 6 1491 584 6 1491 600 6 1491 669 6 1491 680 6 1491 680 6 1491 680 6 1491 680 6 1491 680 6 1491 691 6 1491 763 6 1491 763 6 1491 763 6 1491 763 6 1491 773 6 1491 799 6 1491 799 6 1491 799 6 1491 .I 1492 .T Serrev (Algorithm 273 [C1]) .B CACM January, 1966 .A Thacher Jr., H. C. .N CA660103a JB March 3, 1978 4:23 PM .X 1492 5 1492 1492 5 1492 1492 5 1492 .I 1493 .T Generation of Hilbert Derived Test Matrix (Algorithm 274 [F1]) .B CACM January, 1966 .A Boothroyd, J. .N CA660103b JB March 23, 1978 7:32 PM .X 1493 5 1493 1493 5 1493 1493 5 1493 .I 1494 .T Complete Elliptic Integral of the Second Kind (Algorithm 56 [S21]) .B CACM January, 1966 .A Larssen, G. M. .N CA660103c JB March 23, 1978 7:33 PM .X 1494 4 1494 1494 5 1494 1494 5 1494 1494 5 1494 1495 5 1494 1494 6 1494 .I 1495 .T Solution of Transcendental Equations by Series Reversion .W An algorithm is developed for expressing the solution Y, of the equation F(Y) = G(X) as a power series in (X - X0) when f and g are given as power series,and the root Y0, is known at Y=X0. The algorithm is illustrated for the equation Y^Y = X, i.e., (1+y)*ln(1+y) = ln(1+x). .B CACM January, 1966 .A Thacher Jr., H. C. .N CA660102 JB March 3, 1978 4:27 PM .X 1495 4 1495 1494 5 1495 1495 5 1495 1495 5 1495 1495 5 1495 1495 6 1495 .I 1496 .T A Formal Semantics for Computer Languages and its Application In a Compiler-Compiler .W A semantic meta-language has been developed for representing the meanings of statements in a large class of computer languages. This meta-language has been the basis for construction of an efficient, functioning compiler-compiler. An informal discussion of the meta-language based on the example of a complete translator for a small language is presented. .B CACM January, 1966 .A Feldman, J. A. .N CA660101 JB March 3, 1978 4:31 PM .X 1046 4 1496 1086 4 1496 1105 4 1496 1139 4 1496 1140 4 1496 1234 4 1496 1263 4 1496 1265 4 1496 1496 4 1496 1496 4 1496 1496 4 1496 1683 4 1496 1768 4 1496 1781 4 1496 1787 4 1496 1824 4 1496 1945 4 1496 2061 4 1496 2126 4 1496 2546 4 1496 464 4 1496 584 4 1496 631 4 1496 653 4 1496 680 4 1496 763 4 1496 795 4 1496 799 4 1496 945 4 1496 1137 5 1496 1141 5 1496 1396 5 1496 1496 5 1496 1496 5 1496 1496 5 1496 1767 5 1496 1781 5 1496 1787 5 1496 1860 5 1496 1945 5 1496 1988 5 1496 2252 5 1496 404 5 1496 823 6 1496 123 6 1496 196 6 1496 196 6 1496 196 6 1496 914 6 1496 915 6 1496 917 6 1496 919 6 1496 964 6 1496 984 6 1496 989 6 1496 990 6 1496 990 6 1496 1007 6 1496 1012 6 1496 1028 6 1496 1029 6 1496 1046 6 1496 1083 6 1496 1084 6 1496 1098 6 1496 1122 6 1496 1131 6 1496 1132 6 1496 1138 6 1496 1139 6 1496 1139 6 1496 1140 6 1496 1141 6 1496 1141 6 1496 1149 6 1496 1198 6 1496 1200 6 1496 1214 6 1496 1215 6 1496 1215 6 1496 1223 6 1496 1223 6 1496 1265 6 1496 1265 6 1496 1278 6 1496 1303 6 1496 1323 6 1496 1334 6 1496 1336 6 1496 1358 6 1496 1358 6 1496 1365 6 1496 1366 6 1496 1366 6 1496 1386 6 1496 1387 6 1496 1388 6 1496 1389 6 1496 1392 6 1496 1393 6 1496 1394 6 1496 1395 6 1496 1396 6 1496 1396 6 1496 1397 6 1496 1421 6 1496 1421 6 1496 1455 6 1496 1460 6 1496 1462 6 1496 1463 6 1496 1467 6 1496 1467 6 1496 1468 6 1496 1468 6 1496 1477 6 1496 1477 6 1496 1487 6 1496 1491 6 1496 1491 6 1496 1491 6 1496 1496 6 1496 1496 6 1496 1496 6 1496 1496 6 1496 1496 6 1496 1496 6 1496 1496 6 1496 1496 6 1496 1531 6 1496 1535 6 1496 1565 6 1496 1601 6 1496 1602 6 1496 1613 6 1496 1614 6 1496 1626 6 1496 1626 6 1496 1641 6 1496 1641 6 1496 1781 6 1496 1785 6 1496 1786 6 1496 1787 6 1496 1788 6 1496 205 6 1496 224 6 1496 224 6 1496 249 6 1496 284 6 1496 288 6 1496 316 6 1496 378 6 1496 381 6 1496 381 6 1496 398 6 1496 11 6 1496 11 6 1496 14 6 1496 2155 6 1496 404 6 1496 407 6 1496 410 6 1496 463 6 1496 464 6 1496 483 6 1496 483 6 1496 3184 6 1496 3184 6 1496 3184 6 1496 3188 6 1496 3199 6 1496 3200 6 1496 3201 6 1496 3202 6 1496 3203 6 1496 3204 6 1496 561 6 1496 584 6 1496 584 6 1496 600 6 1496 669 6 1496 680 6 1496 680 6 1496 691 6 1496 730 6 1496 763 6 1496 763 6 1496 763 6 1496 799 6 1496 799 6 1496 .I 1497 .T On the Normalization Requirement of Divisor in Divide- and- Correct Methods .W This paper presents an analysis on the normalization requirement of the divisor in a divide-and-correct method. This analysis is made subject to the condition that not more than one correction is required to obtain the true quotient character, from the trial estimate got from the division of a two-precision segment of every partial remainder by a suitably rounded single-precision divisor. (This segmented division is denoted here as a (2, 1) precision basic division.) It is found that the normalization requirement could be narrowed down to a smaller range of divisors, provided the magnitude of the character next to the leading character of the divisor is known. If, however, the normalization is to be eliminated one has to choose proper higher precision segments of operands for the basic division. Also considered is the possibility of eliminating the normalization by an increase on the number of corrections on the quotient estimate got from a (2, 1) precision basic division. It is shown that such a scheme is economical only for small radices. .B CACM December, 1967 .A Krishnamurthy, E. V. Nandi, S. K. .N CA671210 JB February 26, 1978 2:15 PM .X 1026 4 1497 1258 4 1497 1258 4 1497 1292 4 1497 1292 4 1497 1497 4 1497 1497 4 1497 1497 4 1497 1497 4 1497 1593 4 1497 1975 4 1497 1975 4 1497 2605 4 1497 107 5 1497 1026 5 1497 1292 5 1497 1497 5 1497 1497 5 1497 1497 5 1497 1593 5 1497 1975 5 1497 1026 6 1497 1292 6 1497 1497 6 1497 .I 1498 .T The ALCOR Illinois 7090/7094 Post Mortem Dump .W A dump technique for programs written in ALGOL 60 is described. This technique provides an intelligible analysis of an unsuccessful computation process in terms of the original source program. .B CACM December, 1967 .A Bayer, R. Gries, D. Paul, M. Wiehle, H. R. .N CA671209 JB February 26, 1978 2:18 PM .X 1086 4 1498 1132 4 1498 1234 4 1498 1263 4 1498 1265 4 1498 1270 4 1498 1323 4 1498 1358 4 1498 1379 4 1498 1380 4 1498 1453 4 1498 1464 4 1498 1484 4 1498 1491 4 1498 1498 4 1498 1498 4 1498 1613 4 1498 1614 4 1498 1781 4 1498 1781 4 1498 1787 4 1498 1825 4 1498 1860 4 1498 2083 4 1498 2178 4 1498 2179 4 1498 2252 4 1498 2325 4 1498 2341 4 1498 2546 4 1498 2645 4 1498 2652 4 1498 2684 4 1498 2842 4 1498 2929 4 1498 2934 4 1498 3069 4 1498 669 4 1498 679 4 1498 691 4 1498 761 4 1498 949 4 1498 989 4 1498 1215 5 1498 1498 5 1498 1498 5 1498 1498 5 1498 3184 5 1498 .I 1499 .T Chebyschev Curve-Fit (revised) (Algorithm 318 [E2]) .B CACM December, 1967 .A Boothroyd, J. .N CA671208a JB February 26, 1978 2:20 PM .X 1499 5 1499 1499 5 1499 1499 5 1499 .I 1500 .T Chebyschev Curve-Fit (Algorithm 91 [E2]) .B CACM December, 1967 .A Boothroyd, J. .N CA671208b JB March 23, 1978 2:11 PM .X 1500 5 1500 1500 5 1500 1500 5 1500 .I 1501 .T Eigenvectors of a 2n x 2n Matrix .W It has been known that the eigenvalues of a certain 2n x 2n matrix can be obtained by use of two smaller matrices of order n which can be easily constructed. An algorithm is given to obtain the eigenvectors of the 2n x 2n matrix by use of the eigenvectors of the smaller matrices. .B CACM December, 1967 .A Charmonman, S. .N CA671207 JB February 26, 1978 2:22 PM .X 1501 5 1501 1501 5 1501 1501 5 1501 .I 1502 .T An Online Editor .W An online, interactive system for test editing is described in detail, with remarks on the theoretical and experimental justification for its form. Emphasis throughout the system is on providing maximum convenience and power for the user. Notable features are its ability to handle any piece of text, the content-searching facility, and the character-by-character editing operations. The editor can be programmed to a limited extent. .B CACM December, 1967 .A Deutsch, L. P. Lampson, B. W. .N CA671206 JB February 26, 1978 2:25 PM .X 1502 5 1502 1502 5 1502 1502 5 1502 2299 5 1502 2501 5 1502 2629 5 1502 2915 5 1502 3114 5 1502 1502 6 1502 1502 6 1502 1502 6 1502 1502 6 1502 1502 6 1502 1641 6 1502 1751 6 1502 1900 6 1502 2380 6 1502 2499 6 1502 2745 6 1502 .I 1503 .T A SIMSCRIPT-FORTRAN Case Study .W Two programs for a vehicle dispatching model, one written in 7040 SIMSCRIPT and the other in 7040 FORTRAN IV are compared. The comparison is made in terms of basic program design decisions, storage requirements, computer time used, and the ease of making changes. In the SIMSCRIPT program, the primary design considerations center around the choice of model variables, model changing events, and model testing. In the FORTRAN program, basic design problems relate to the representation of the passage of time, the allocation of storage, and the organization of input data. The comparison of these differently designed programs shows that the SIMSCRIPT program uses more computer storage and more computer time, but requires fewer program changes to introduce model revisions. .B CACM December, 1967 .A Weinert, A. E. .N CA671205 JB February 26, 1978 2:30 PM .X 1503 4 1503 1781 4 1503 1860 4 1503 2091 4 1503 1366 5 1503 1503 5 1503 1503 5 1503 1503 5 1503 .I 1504 .T Algorithms for Finding a Fundamental Set of Cycles for an Undirected Linear Graph .W Given the adjacency matrix of the graph, the algorithm presented in this paper finds a spanning tree and then constructs the set of fundamental cycles. Our algorithm is slower than an algorithm presented by Welch by a ratio of N/3 (N is the number of nodes) but requires less storage. For graphs with a large number of nodes and edges, when storage is limited our algorithm is superior to Welch's; however, when the graphs are small, or machine storage is very large, Welch's algorithm is superior. Timing estimates and storage requirements for both methods are presented. .B CACM December, 1967 .A Gotlieb, C. C. Corneil, D. G. .N CA671204 JB February 26, 19782:35 PM .X 1504 4 1504 3040 4 1504 1145 5 1504 1504 5 1504 1504 5 1504 1504 5 1504 1847 5 1504 1961 5 1504 2052 5 1504 1008 6 1504 1013 6 1504 1369 6 1504 1504 6 1504 1504 6 1504 1504 6 1504 1540 6 1504 1847 6 1504 .I 1505 .T A System Organization for Resource Allocation .W This paper introduces a system for resource management using the concepts of "process," facility," and "event." Except for the processor no attempt has been made to give serious suggestions for the policy to be followed for resource allocation. However, a basic framework is provided in which a system analyst can express solutions to resource management problems. The paper is divided into a tutorial presentation, a description of the system primitives, and a small collection of examples of the use of the primitives. .B CACM December, 1967 .A Dahm, D. M. Gerbstadt, F. H. Pacelli, M. M. .N CA671203 JB February 26, 1978 2:40 PM .X 1505 5 1505 1505 5 1505 1505 5 1505 .I 1506 .T The LACONIQ Monitor: Time Sharing for Online Dialogues .W The LACONIQ (Laboratory Computer Online Inquiry) Monitor was developed primarily to support non-numerical applications such as retrieval from very large files by means of a "dialogue" between a system user and a retrieval application. The monitor was designed so that it could work with a small computer (an IBM System 360/30). Therefore techniques for resource allocation were important. For this reason the use of core storage, computational facilities, and input-output were all scheduled. An unusual feature of the system is that it is event-driven rather than clock-driven. The program segments called into execution by the remote CRT consoles are invariably run to completion rather than "rolled-out" to be brought back at a later time. .B CACM December, 1967 .A Drew, D. L. .N CA671202 JB February 26, 1978 2:45 PM .X 1506 5 1506 1506 5 1506 1506 5 1506 .I 1507 .T A Multiprogramming Environment for Online Data Acquis ition and Analysis .W An experimental system for acquis ition and analysis of large bodies of data derived from scientific experiments is described. Its architecture and implementation is largely based on certain objectives and characteristics of a general data analysis scheme. Early applications have been oriented towards the investigation of data obtained in biological research. Some of the problems encountered by the chosen approach are discussed. .B CACM December, 1967 .A Lockemann, P. C. Knutsen, W. D. .N CA671201 JB February 26, 1978 2:48 PM .X 1507 5 1507 1507 5 1507 1507 5 1507 1712 5 1507 1507 6 1507 .I 1508 .T Magnetic Tape Labels for Information Interchange (Proposed USA Standard) .B CACM November, 1967 .N CA671109 JB February 26, 1978 2:49 PM .X 1508 5 1508 1508 5 1508 1508 5 1508 .I 1509 .T Recorded Magnetic Tape for Information Interchange (200 CPI, NRZI) (Proposed USA Standard) .B CACM November, 1967 .N CA671108 JB February 26, 1978 2:52 PM .X 1509 5 1509 1509 5 1509 1509 5 1509 .I 1510 .T Finding a Solution of N Functional Equations in N Unknown (Algorithm 314 [C5]) .B CACM November, 1967 .A Dulley, D.B. Pitteway, L. V. .N CA671107a JB February 26, 1978 2:54 PM .X 1510 5 1510 1510 5 1510 1510 5 1510 .I 1511 .T The Damped Taylor's Series Method for Minimizing a Sum of Squares and for Solving Systems of Nonlinear Equations .B CACM November, 1967 .A Spath, H. .N CA671107b JB March 23, 1978 2:17 PM .X 1511 5 1511 1511 5 1511 1511 5 1511 1820 5 1511 1511 6 1511 .I 1512 .T Solution of Simultaneous Non-Linear Equations (Algorithm 316[C5]) .B CACM November, 1967 .A Brown, K. M. .N CA671107c JB March 23, 1978 2:19 PM .X 1512 5 1512 1512 5 1512 1512 5 1512 .I 1513 .T PERMUTATION (Algorithm 317 [G6]) .B CACM November, 1967 .A Robinson, C. L. .N CA671107d JB March 23, 1978 2:21 PM .X 1513 5 1513 1513 5 1513 1513 5 1513 .I 1514 .T On the Expected Gain From Adjust ing Matched Term Retrieval Systems .W A file adjustment procedure based on maximizing the Bayes expected gain proposed for matched term retrieval systems. The expected gain and its probability distribution are derived as a function of: (1) the prior proportion of omitted terms, and (2) the coefficient of separation between two distributions corresponding to values of an adjustment statistic. An example evaluates the gain parameters for a typical information retrieval system. .B CACM November, 1967 .A Shumway, R. H. .N CA671106 JB February 26, 1978 2:59 PM .X 1514 5 1514 1514 5 1514 1514 5 1514 .I 1515 .T A Computer System for Inference Execution and Data Retrieval .W This paper presents a RAND project concerned with the use of computers as assistants in the logical analysis of large collections of factual data. A system called Relational Data File was developed for this purpose. The Relational Data File is briefly detailed and problems arising from its implementation are discussed. .B CACM November, 1967 .A Levien, R. E. .N CA671105 JB February 26, 1978 3:02 PM .X 1155 4 1515 1456 4 1515 1468 4 1515 1515 4 1515 1515 4 1515 1699 4 1515 1856 4 1515 2096 4 1515 2127 4 1515 2127 4 1515 2210 4 1515 1155 5 1515 1324 5 1515 1515 5 1515 1515 5 1515 1515 5 1515 2046 5 1515 2710 5 1515 1515 6 1515 1515 6 1515 2046 6 1515 2715 6 1515 616 6 1515 .I 1516 .T Automatic Data Compression .W The "information explosion" noted in recent years makes it essential that storage requirements for all information be kept to a minimum. A fully automatic and rapid three-part compressor which can be used with "any" body of information to greatly reduce slow external storage requirements and to increase the rate of information transmission through a computer is described in this paper. The system will also automatically decode the compressed information on an item-by-item basis when it is required. The three component compressors, which can be used separately to accomplish their specific tasks, are discussed: NUPAK for the automatic compression of numerical data, ANPAK for the automatic compression of "any" information, and IOPAK for further compression of information to be stored on tape or cards. .B CACM November, 1967 .A Marron, B. A. DeMaine, P. A. D. .N CA671104 JB February 26, 1978 3:08 PM .X 1516 5 1516 1516 5 1516 1516 5 1516 .I 1517 .T Methods for Analyzing Data from Computer Simulation Experiments .W This paper addresses itself to the problem of analyzing data generated by computer simulations of economic systems. We first turn to a hypothetical firm, whose operation is represented by single-channel, multistation queueing model. The firm seeks to maximize total expected profit for the coming period by selecting one of five operating plans, where each plan incorporates a certain marketing strategy, an allocation of productive inputs, and a total cost. The results of the simulated activity under each plan are subjected to an F-test, two multiple comparison methods, and a multiple ranking method. We illustrate, compare, and evaluate these techniques. The paper adopts the position that the particular technique of analysis (possibly not any one of the above) chosen by the experimenter should be an expression of his experimental objective: The F-test tests the homogeneity of the plans; multiple comparison methods quantify their differences; and multiple ranking methods directly identify the one best plan or best plans. .B CACM November, 1967 .A Naylor, T. H. Wertz, K. Wonnacott, T. H. .N CA671103 JB February 26, 1978 3:15 PM .X 1517 4 1517 1435 5 1517 1517 5 1517 1517 5 1517 1517 5 1517 .I 1518 .T An Experimental Model of System/360 .W The problem of predicting the performance of modern computer systems is formidable. One general technique which can ease this problem is macroscopic simulation. This paper reports on the applicability of that technique to System/360. The paper describes an experimental model of System/360-its hardware, software, and its environment. The measures of system performance produced by the model consist of statistics relating to turnaround time, throughput, hardware utilization, software utilization, and queueing processes. The model is mechanized in SIMSCRIPT and consists of some 1750 statements. An auxiliary programs, the Job Generator, creates automatically the properties of System/360 jobs that get simulated. .B CACM November, 1967 .A Katz, J. H. .N CA671102 JB February 26,1978 3:20 PM .X 1518 5 1518 1518 5 1518 1518 5 1518 1805 5 1518 1912 5 1518 1518 6 1518 1518 6 1518 1572 6 1518 1748 6 1518 .I 1519 .T GEORGE 3-A General Purpose Time Sharing and Operating System .W An Operating System is described which will run on a wide variety of configurations of the I.C.T. 1900, and can handle a large number of online console users while at the same time running several off line (background) jobs. The system is not oriented towards either mode and can be either a batch processing system (such as the ATLAS Supervisor, IBSYS, or GECOS), or a multiaccess system (resembling, to the user, CTSS or MULTICS), or both simultaneously, depending on the installation, which can adjust the Schedulers. Both online users and off line jobs use a common Command Language. The system includes a Multilevel device-independent File Store. .B CACM November, 1967 .A Oestreicher, M. D. Bailey, M. J. Strauss, J. I. .N CA671101 JB February 27, 1978 1:47 PM .X 1519 5 1519 1519 5 1519 1519 5 1519 .I 1520 .T Absolute Value and Square Root of a Complex Number (Algorithm 312 [A2]) .B CACM October, 1967 .A Friedland, P. .N CA671012a JB February 27, 1978 1:49 PM .X 1520 5 1520 1520 5 1520 1520 5 1520 .I 1521 .T Multi-Dimensional Partition Generator (Algorithm 313 [A1]) .B CACM October, 1967 .A Bratley, P. McKay, J. K. S. .N CA671012b JB March 23, 1978 2:26 PM .X 1521 5 1521 1521 5 1521 1521 5 1521 2354 5 1521 2355 5 1521 1418 6 1521 1418 6 1521 1521 6 1521 1521 6 1521 1597 6 1521 1597 6 1521 1679 6 1521 1883 6 1521 2040 6 1521 2350 6 1521 2350 6 1521 2354 6 1521 2355 6 1521 .I 1522 .T Chebyschev Quadrature (Algorithm 279 [D1]) .B CACM October, 1967 .A Hillstrom, K. .N CA671012c JB March 23, 1978 2:31 PM .X 1522 5 1522 1522 5 1522 1522 5 1522 .I 1523 .T SHARER, a Time Sharing System for the CDC 6600 .W A time sharing system embedded within the standard batch processing system for the CDC 6600 is described. The system is general purpose and file-based, providing facilities for file input, manipulation, editing, compilation, and conversational execution. It uses a simple scheme for system extension for a machine with only one relocation and memory bound register. No attempt was made to use reentrant code, or to simulate segmentation or paging. Implementation time was approximately six man-years, with the majority of the code being written in FORTRAN. .B CACM October, 1967 .A Harrison, M. C. Schwartz, J. T. .N CA671011 JB February 27, 1978 1:53 PM .X 1458 4 1523 1523 4 1523 1603 4 1523 1698 4 1523 1747 4 1523 1748 4 1523 1854 4 1523 1877 4 1523 1960 4 1523 2377 4 1523 2378 4 1523 2497 4 1523 2558 4 1523 2625 4 1523 2632 4 1523 2840 4 1523 2941 4 1523 3105 4 1523 3144 4 1523 1471 5 1523 1523 5 1523 1523 5 1523 1523 5 1523 1657 5 1523 2080 5 1523 2357 5 1523 2536 5 1523 1523 6 1523 1523 6 1523 1523 6 1523 1523 6 1523 1829 6 1523 2035 6 1523 .I 1524 .T A Stopping Criterion for Polynomial Root Finding .W When searching for the root of a polynomial, it is generally difficult to know just when to accept a number as an adequate approximation to the root. In this paper an algorithm is presented which allows one to terminate the iteration process on the basis of calculated bounds for the roundoff error which occurs in evaluating the polynomial. This stopping criterion has been tested on numerous examples and has been found to serve as a satisfactory means for accepting a complex number as a zero of a real polynomial. .B CACM October, 1967 .A Adams, D. A. .N CA671009 JB February 27, 1978 1:56 PM .X 1524 4 1524 1524 4 1524 1524 4 1524 1931 4 1524 2214 4 1524 2544 4 1524 1197 5 1524 1524 5 1524 1524 5 1524 1524 5 1524 311 5 1524 2544 5 1524 879 5 1524 1524 6 1524 311 6 1524 2214 6 1524 .I 1525 .T On Computing The Fast Fourier Transform .W Cooley and Tukey have proposed a fast algorithm for computing complex Fourier transform and have shown major time savings in using it to compute large transforms on a digital computer. With n a power of two, computing time for this algorithm is proportional to n log2 n, a major improvement over other methods with computing time proportional to n^2. In this paper, the fast Fourier transform algorithm is briefly reviewed and fast difference equation methods for accurately computing the needed trigonometric function values are given. The problem of computing a large Fourier transform on a system with virtual memory is considered, and a solution is proposed. This method has been used to compute complex Fourier transforms of size n = 2^16 on a computer with 2^15 words of core storage; this exceeds by a factor of eight the maximum radix two transform size with fixed allocation of this amount of core storage. The method has also been used to compute large mixed radix transforms. A scaling plan for computing the fast Fourier transform with fixed-point arithmetic is also given. .B CACM October, 1967 .A Singleton, R. C. .N CA671008 JB February 27, 1978 2:03 PM .X 1525 5 1525 1525 5 1525 1525 5 1525 1668 5 1525 1669 5 1525 1679 5 1525 1728 5 1525 2859 5 1525 1525 6 1525 1525 6 1525 1525 6 1525 1525 6 1525 1525 6 1525 1647 6 1525 1669 6 1525 1676 6 1525 1785 6 1525 .I 1526 .T Multiprogramming under a Page on Demand Strategy .W A model of multiprogramming for a particular computer system using a page on demand strategy is developed. Analysis of this model is used to predict performance (measured by the average usage of the CPU) when user programs are typical of those arising from an interactive time sharing environment. The effect of several hardware modifications is also analyzed. A parameter, readily calculated from the hardware characteristics and the program statistics, is proposed for gauging the effect of multiprogramming. .B CACM October, 1967 .A Smith, J. L. .N CA671007 JB February 27, 1978 2:07 PM .X 1526 5 1526 1526 5 1526 1526 5 1526 1892 5 1526 2068 5 1526 2741 5 1526 1526 6 1526 1526 6 1526 1526 6 1526 1572 6 1526 1728 6 1526 1749 6 1526 1751 6 1526 1752 6 1526 2454 6 1526 .I 1527 .T A Grammar Base Question Answering Procedure .W The subject of this paper is a procedure for the automatic retrieval of certain segments of stored information, either explicitly or implicitly represented, through questions posed in natural language sentences. This procedure makes use of a sentence recognition device for the class of grammars which will correctly decide between the grammatical and ungrammatical sentences of a natural language. It is possible to make use of a recognition device of this sort for the following reason: Much data is fully expressible as a set of sentences in a natural language, a set which can be exhaustively and exclusively generated by a grammar. Based upon the rules of this grammar, a sentence recognizer will evaluate sentences, questions in the normal situation. Since the recognition function succeeds just in case the posed question is drawn from the set of sentences expressing the data, or, more correctly, is grammatical in terms of the grammar for this set of sentences, sentence recognition itself is a procedure for retrieving information. When the recognition function succeeds, its value represents the requested information. .B CACM October, 1967 .A Rosenbaum, P. .N CA671006 JB February 27, 1978 2:14 PM .X 1527 5 1527 1527 5 1527 1527 5 1527 2092 5 1527 2127 5 1527 1155 6 1527 1324 6 1527 1487 6 1527 1527 6 1527 1527 6 1527 1781 6 1527 1856 6 1527 .I 1528 .T Three Fonts of Computer Drawn Letters .W Detailed descriptions are given for three fonts of letters. Letter shapes are entirely described by numbers. The basic vectors are in a general form so the fonts may be easily drawn on a variety of computers and cathode-ray tubes. The fonts include both upper and lower case Roman letters, mathematical signs, and upper and lower case Greek letters. Design of the fonts is described. However, the principal contribution of this paper concerns the fonts themselves. .B CACM October, 1967 .A Mathews, M. V. Lochbaum, C. Moss, J. A. .N CA671005 JB February 27, 1978 2:24 PM .X 1528 5 1528 1528 5 1528 1528 5 1528 1697 5 1528 1528 6 1528 .I 1529 .T Decomposition Programming An Analysis of Matrix Substructure .W A petroleum blending problem was analyzed in order to compare the primal and primal-dual decomposition algorithms. In the course of the analysis, a substructure was discovered which has relevance to the relative performance of the two algorithms and to their absolute performance as compared with a standard primal-Simplex solution without decomposition. .B CACM October, 1967 .A Bell, E. J. .N CA671004 JB February 27, 1978 2:33 PM .X 1529 5 1529 1529 5 1529 1529 5 1529 .I 1530 .T The ML/I Macro Processor .W A general purpose macro processor called ML/I is described. ML/I has been implemented on the PDP-7 and I.C.T. Atlas 2 computers and is intended as a tool to allow users to extend any existing programming language by incorporating new statements and other syntactic forms of their own choosing and in their own notation. This allows a complete user-oriented language to be built up with relative ease. .B CACM October, 1967 .A Brown, P. J. .N CA671003 JB February 27, 1978 2:38 PM .X 1530 4 1530 1530 4 1530 1531 4 1530 1565 4 1530 1703 4 1530 1781 4 1530 1852 4 1530 1945 4 1530 2034 4 1530 2036 4 1530 1455 5 1530 1530 5 1530 1530 5 1530 1530 5 1530 1565 5 1530 .I 1531 .T The Remaining Trouble Spots in ALGOL 60 .W This paper lists the ambiguities remaining in the language ALGOL 60, which have been noticed since the publication of the Revised ALGOL 60 Report in 1963. .B CACM October, 1967 .A Knuth, D. E. .N CA671002 JB February 27, 1978 2:40 PM .X 1530 4 1531 1531 4 1531 1531 4 1531 1565 4 1531 1703 4 1531 1945 4 1531 2036 4 1531 2707 4 1531 2753 4 1531 1185 5 1531 1455 5 1531 1531 5 1531 1531 5 1531 1531 5 1531 1781 5 1531 123 6 1531 196 6 1531 919 6 1531 990 6 1531 1007 6 1531 1046 6 1531 1131 6 1531 1139 6 1531 1140 6 1531 1149 6 1531 1198 6 1531 1215 6 1531 1223 6 1531 1265 6 1531 1303 6 1531 1323 6 1531 1358 6 1531 1366 6 1531 1421 6 1531 1460 6 1531 1462 6 1531 1463 6 1531 1467 6 1531 1468 6 1531 1477 6 1531 1491 6 1531 1496 6 1531 1531 6 1531 1535 6 1531 1565 6 1531 1601 6 1531 1602 6 1531 1613 6 1531 1614 6 1531 1626 6 1531 1641 6 1531 1787 6 1531 1788 6 1531 205 6 1531 224 6 1531 249 6 1531 288 6 1531 316 6 1531 381 6 1531 398 6 1531 11 6 1531 404 6 1531 410 6 1531 463 6 1531 464 6 1531 483 6 1531 3184 6 1531 3188 6 1531 584 6 1531 600 6 1531 680 6 1531 691 6 1531 763 6 1531 799 6 1531 .I 1532 .T The Hardware-Software Complementarity .B CACM October, 1967 .A Oettinger, A. G. .N CA671001 JB February 27, 1978 2:42 PM .X 1532 5 1532 1532 5 1532 1532 5 1532 .I 1533 .T A Marovian Model of the University of Michigan Executive System .W A mathematical model of a computer's executive system is postulated and its parameters estimated with the aid of extensive data on the system's operation. Although simplifying assumptions are made, the results predicted by the model agree reasonable well with actual results. The model is used to study the effects of changes in the executive system and in one of its compilers. Further applications of the model are discussed. .B CACM September, 1967 .A Foley, J. D. .N CA670911 JB February 27, 1978 2:50 PM .X 1533 4 1533 1533 4 1533 1604 4 1533 1951 4 1533 2667 4 1533 2668 4 1533 1224 5 1533 1533 5 1533 1533 5 1533 1533 5 1533 1604 5 1533 1916 5 1533 1533 6 1533 666 6 1533 .I 1534 .T DAD, The C.S.I.R.O. Operating System .W The design and implementation of the C.S.I.R.O. operating system, DAD, is described in detail. This system is designed for the Control Data 3600 using a large drum backing store and is intended to allow the integration of a remote console (display) subsystem into a conventional job stack environment. The use of the drums, the buffering of input and output on slow peripherals, and the execution of normal job stack work are described. The display subsystem is described only as it integrates into the rest of the system. The techniques found useful in the development of DAD are given, and an assessment is made of the validity of various design decisions. Performance figures based on several months of operation are tabulated. .B CACM September, 1967 .A Austin, B. J. Holden, T. S. Hudson, R. H. .N CA670910 JB February 27, 1978 2:58 PM .X 1534 5 1534 1534 5 1534 1534 5 1534 .I 1535 .T A Comment on Index Register Allocation .W A technique is presented to reduce the enumeration required by a known procedure for optimal index register allocation in straight-line programs. This technique is based on the construction of a link diagram, which shows at any step the future occurrences of indexes which must be loaded into index registers. This diagram determines in advance the required register configuration at certain steps of the program, so that the program is subdivided into separate portions to which the allocation procedure may be applied independently. .B CACM September, 1967 .A Luccio, F. .N CA670909 JB February 27, 1978 3:06 PM .X 1535 5 1535 1535 5 1535 1535 5 1535 1781 5 1535 2579 5 1535 123 6 1535 196 6 1535 919 6 1535 990 6 1535 1007 6 1535 1046 6 1535 1131 6 1535 1139 6 1535 1140 6 1535 1149 6 1535 1198 6 1535 1215 6 1535 1223 6 1535 1265 6 1535 1303 6 1535 1323 6 1535 1358 6 1535 1366 6 1535 1421 6 1535 1460 6 1535 1462 6 1535 1463 6 1535 1467 6 1535 1468 6 1535 1477 6 1535 1491 6 1535 1496 6 1535 1531 6 1535 1535 6 1535 1535 6 1535 1565 6 1535 1601 6 1535 1602 6 1535 1613 6 1535 1614 6 1535 1626 6 1535 1641 6 1535 1787 6 1535 1788 6 1535 1807 6 1535 205 6 1535 224 6 1535 249 6 1535 288 6 1535 1947 6 1535 316 6 1535 381 6 1535 398 6 1535 11 6 1535 404 6 1535 410 6 1535 463 6 1535 464 6 1535 483 6 1535 3184 6 1535 3188 6 1535 584 6 1535 600 6 1535 680 6 1535 691 6 1535 763 6 1535 799 6 1535 .I 1536 .T Dynamic Computation of Derivatives .W It is shown how Wengert's procedure for computation of derivatives can be implemented conveniently by use of compiler-generated complex addition, subtraction, and linkage to complex arithmetic subroutines. Evaluation of a function and derivative proceed in parallel, as in Wengert's procedure, but with the "imaginary" parts of variables declared complex bearing the values of the derivatives of the real parts. This technique provides a simple way to compute the derivatives of a function, without the need for deriving and programming the evaluation of explicit formulas for the derivatives. .B CACM September, 1967 .A Lesk, A. M. .N CA670908 JB February 27, 1978 3:11 PM .X 1028 4 1536 1216 4 1536 1278 4 1536 1347 4 1536 1396 4 1536 1536 4 1536 1029 5 1536 1536 5 1536 1536 5 1536 1536 5 1536 .I 1537 .T Prime Number Generator 1 (Algorithm 310 [A1]) .B CACM September, 1967 .A Chartres, B. A. .N CA670907a JB February 27, 1978 3:12 PM .X 1537 5 1537 1537 5 1537 1537 5 1537 2120 5 1537 2927 5 1537 1537 6 1537 1537 6 1537 1539 6 1537 1539 6 1537 1538 6 1537 1840 6 1537 1841 6 1537 377 6 1537 .I 1538 .T Prime Number Generator 2 (Algorithm 311 [A1]) .B CACM September, 1967 .A Chartres, B. A. .N CA670907b JB March 23, 1978 2:34 PM .X 1538 5 1538 1538 5 1538 1538 5 1538 2927 5 1538 1537 6 1538 1539 6 1538 1538 6 1538 1840 6 1538 1841 6 1538 .I 1539 .T Prime Number Generator 1; Prime Number Generator 2 (Algorithm 35[A1]; Algorithm 310[A1]; Algorithm 311[A1]) .B CACM September, 1967 .A Chartres, B. A. .N CA670907c JB March 23, 1978 2:37 PM .X 1539 5 1539 1539 5 1539 1539 5 1539 1841 5 1539 1967 5 1539 2120 5 1539 2927 5 1539 1537 6 1539 1537 6 1539 1539 6 1539 1539 6 1539 1539 6 1539 1539 6 1539 1538 6 1539 1840 6 1539 1841 6 1539 1841 6 1539 377 6 1539 377 6 1539 2120 6 1539 .I 1540 .T An Algorithm for Class Scheduling With Section Preference .W An algorithm for assignment of students to classes in a fixed time schedule that allows students to give a preference for sections within courses is given. If consistent with the objective of balanced sections, these preferences will be honored. The algorithm is more stochastic than Monte Carlo in nature. Results are given that compare it to a nonpreference assignment algorithm. .B CACM September, 1967 .A Busam, V. A. .N CA670906 JB February 27, 1978 3:15 PM .X 1540 4 1540 2209 4 1540 1434 5 1540 1540 5 1540 1540 5 1540 1540 5 1540 2052 5 1540 2209 5 1540 1008 6 1540 1013 6 1540 1434 6 1540 1504 6 1540 1540 6 1540 1540 6 1540 .I 1541 .T A Language for Modeling and Simulating Dynamic Systems .W The general objective of this language is to facilitate both the modeling and experimental aspects of simulation studies. The ability to represent systems containing highly interactive processes is an essential feature. The nature of the language, and the role of the process concept, is presented by means of an extended example. .B CACM September, 1967 .A Parente, R. J. Krasnow, H. S. .N CA670905 JB February 27, 1978 3:18 PM .X 1541 4 1541 1541 4 1541 1565 4 1541 1781 4 1541 1824 4 1541 1846 4 1541 2060 4 1541 2218 4 1541 2252 4 1541 3112 4 1541 1358 5 1541 1380 5 1541 1541 5 1541 1541 5 1541 1541 5 1541 .I 1542 .T A Microprogrammed Implementation of EULER on IBM System/360 Model 30 .W An experimental processing system for the algorithmic language EULER has been implemented in microprogramming on an IBM System/360 Model 30 using a second Read-Only Storage unit. The system consists of a microprogrammed compiler and a microprogrammed String Language Interpreter, and of an I/O control program written in 360 machine language. The system is described and results are given in terms of microprogram and main storage space required and compiler and interpreter performance obtained. The role of microprogramming is stressed, which opens a new dimension in the processing of interpretive code. The structure and content of a higher level language can be matched by an appropriate interpretive language which can be executed efficiently by microprograms on existing computer hardware. .B CACM September, 1967 .A Weber, H. .N CA670904 JB February 27, 1978 3:44 PM .X 1542 4 1542 1542 4 1542 1683 4 1542 1693 4 1542 1781 4 1542 1787 4 1542 1836 4 1542 1945 4 1542 2060 4 1542 2061 4 1542 2082 4 1542 2091 4 1542 2152 4 1542 2179 4 1542 2340 4 1542 2356 4 1542 2546 4 1542 2603 4 1542 2698 4 1542 2708 4 1542 2824 4 1542 2982 4 1542 2986 4 1542 3045 4 1542 3093 4 1542 1491 5 1542 1542 5 1542 1542 5 1542 1542 5 1542 2202 5 1542 2527 5 1542 3198 5 1542 1542 6 1542 1542 6 1542 .I 1543 .T Computer Formulation of the Equations of Motion Using Tensor Notation .W A means is described for extending the area of application of digital computers beyond the numerical data processing stage and reducing the need for human participation in the formulation of certain types of computer problems. By the use of tensor calculus and a computer language designed to facilitate symbolic mathematical computation, a method has been devised whereby a digital computer can be used to do non-numeric work, that is, symbolic algebraic manipulation and differentiation. To illustrate the techniques involved, a digital computer has been used to derive the equations of motion of a point mass in a general orthogonal curvilinear coordinate system. Since this operation involves a formulation in terms of first- and second-order differential coefficients, it provides a good demonstration of a computer's capability to do non-numeric work and to assist in the formulation process which normally precedes the numerical data processing stage. Moreover, this particular problem serves to illustrate the advantages of the mathematical techniques employed. With the program prepared for this purpose the computer will derive the equations of motion in any coordinate system requested by the user. Results are presented for the following coordinate systems: cylindrical polar, spherical polar, and prolate spheroidal. .B CACM September, 1967 .A Howard, J. C. .N CA670903 JB February 27, 1978 3:58 PM .X 1543 4 1543 1543 4 1543 1664 4 1543 1664 4 1543 1345 5 1543 1543 5 1543 1543 5 1543 1543 5 1543 1616 5 1543 1664 5 1543 1345 6 1543 1543 6 1543 1616 6 1543 .I 1544 .T Tele-CUPL: A Telephone Time Sharing System .W A general purpose, remote access, computing system is described, that employs twelve-key keyboard telephones as terminals. Audio output is provided directly to the telephone terminals, but the system will normally be used in conjunction with remotely located high speed printing devices. The system is a compatible extension of an existing batch processing system. A significant element of the system is a scheme for transmitting alphanumeric information by single strokes on a numeric keyboard. The programmed scanner uses context to eliminate the ambiguity in transmission. .B CACM September, 1967 .A Conway, R. W. Morgan, H. L. .N CA670902 JB February 27, 1978 4:04 PM .X 1179 4 1544 1288 4 1544 1544 4 1544 1646 4 1544 2111 4 1544 2534 4 1544 2556 4 1544 2650 4 1544 1544 5 1544 1544 5 1544 1544 5 1544 2054 5 1544 830 5 1544 1544 6 1544 .I 1545 .T Legal Safeguards to Insure Privacy in a Computer Society .B CACM September,1967 .A Westin, A. F. .N CA670901 JB February 27, 1978 4:06 PM .X 1545 5 1545 1545 5 1545 1545 5 1545 .I 1546 .T Toward Standards for Handwritten Zero and Oh .B CACM August, 1967 .A Bemer, R. W. .N CA670809 JB February 27, 1978 4:08 PM .X 1546 5 1546 1546 5 1546 1546 5 1546 .I 1547 .T Gamma Function with Arbitrary Precision (Algorithm 309 [S14]) .B CACM August, 1967 .A Filho, A. M.S. Schwachheim, G. .N CA670808 JB February 27, 1978 4:10 PM .X 1547 5 1547 1547 5 1547 1547 5 1547 2224 5 1547 1547 6 1547 .I 1548 .T Parsing of Decision Tables .W Reduction in the size of decision tables can be accomplished by several techniques. The techniques considered in this paper are on the parsing of decision tables with regard to horizontal and vertical data structures, job identity, hardware and job priorities, and context relationships. Such parsing rests upon some conventions for the linkage of decision tables. .B CACM August, 1967 .A Chapin, N. .N CA670807 JB February 27, 1978 4:14 PM .X 1548 4 1548 1548 4 1548 2220 4 1548 2726 4 1548 2726 4 1548 1488 5 1548 1489 5 1548 1548 5 1548 1548 5 1548 1548 5 1548 2220 5 1548 2492 5 1548 2518 5 1548 2598 5 1548 2616 5 1548 2726 5 1548 931 6 1548 1172 6 1548 1172 6 1548 1172 6 1548 1237 6 1548 1327 6 1548 1327 6 1548 1354 6 1548 1354 6 1548 1488 6 1548 1489 6 1548 1489 6 1548 1548 6 1548 1548 6 1548 1548 6 1548 1548 6 1548 1548 6 1548 1548 6 1548 1684 6 1548 1684 6 1548 250 6 1548 2220 6 1548 2220 6 1548 2221 6 1548 2263 6 1548 2263 6 1548 2453 6 1548 2517 6 1548 2691 6 1548 .I 1549 .T An Efficient Machine-Independent Procedure for Garbage Collection in Various List Structures .W A method for returning registers to the free list is an essential part of any list processing system. In this paper, past solutions of the recovery problem are reviewed and compared. A new algorithm is presented which offers significant advantages of speed and storage utilization. The routine for implementing this algorithm can be written in the list language with which it is to be used, thus insuring a degree of machine independence. Finally, the application of the algorithm to a number of different list structures appearing in the literature is indicated. .B CACM August, 1967 .A Schorr, H. Waite, W. M. .N CA670806 JB February 27, 1978 4:28 PM .X 1024 4 1549 1024 4 1549 1050 4 1549 1050 4 1549 1051 4 1549 1051 4 1549 1051 4 1549 1098 4 1549 1102 4 1549 1102 4 1549 1132 4 1549 1211 4 1549 1214 4 1549 1237 4 1549 1380 4 1549 1388 4 1549 1390 4 1549 1393 4 1549 1393 4 1549 1485 4 1549 1486 4 1549 1487 4 1549 1549 4 1549 1549 4 1549 1549 4 1549 1549 4 1549 1549 4 1549 1549 4 1549 1549 4 1549 1564 4 1549 1570 4 1549 1706 4 1549 1826 4 1549 1878 4 1549 1878 4 1549 1906 4 1549 1946 4 1549 1957 4 1549 378 4 1549 2023 4 1549 2060 4 1549 2155 4 1549 2168 4 1549 2168 4 1549 2453 4 1549 2719 4 1549 2723 4 1549 2723 4 1549 2723 4 1549 2838 4 1549 2842 4 1549 2855 4 1549 2857 4 1549 2879 4 1549 2882 4 1549 2902 4 1549 3077 4 1549 3080 4 1549 3106 4 1549 3112 4 1549 3112 4 1549 627 4 1549 627 4 1549 731 4 1549 793 4 1549 106 4 1549 106 5 1549 1051 5 1549 210 5 1549 1549 5 1549 1549 5 1549 1549 5 1549 1869 5 1549 2513 5 1549 2665 5 1549 2723 5 1549 2855 5 1549 406 5 1549 3106 5 1549 627 5 1549 731 5 1549 753 5 1549 1383 6 1549 1549 6 1549 1549 6 1549 1549 6 1549 1549 6 1549 1549 6 1549 1549 6 1549 1570 6 1549 1749 6 1549 1826 6 1549 1826 6 1549 210 6 1549 210 6 1549 210 6 1549 1972 6 1549 1972 6 1549 1972 6 1549 2513 6 1549 2651 6 1549 2665 6 1549 2766 6 1549 2766 6 1549 2833 6 1549 2855 6 1549 2954 6 1549 2998 6 1549 2998 6 1549 627 6 1549 731 6 1549 .I 1550 .T A Comparison of Batch Processing and Instant Turnaround .W A study of the programming efforts of students in an introductory programming course is presented and the effects of having instant turnaround (a few minutes) as opposed to conventional batch processing with turnaround times of a few hours are examined. Among the items compared are the number of computer runs per trip to the computation center, program preparation time, keypunching time, debugging time, number of runs, and elapsed time from the first run to the last run on each problem. Even though the results are influenced by the fact that "bonus points" were given for completion of a programming problem in less than a specified number of runs, there is evidence to support "Instant" over "Batch". .B CACM August, 1967 .A Smith, L. B. .N CA670805 JB February 27, 1978 4:32 PM .X 1550 4 1550 1550 4 1550 1304 5 1550 1472 5 1550 1550 5 1550 1550 5 1550 1550 5 1550 1908 5 1550 1550 6 1550 1605 6 1550 .I 1551 .T On Compiling Algorithms for Arithmetic Expressions .W This paper deals with algorithms concerning arithmetic expressions used in a FORTRAN IV compiler for a HITAC-5020 computer having n accumulators. The algorithms generate an object code which minimizes the frequency of storing and recovering the partial results of the arithmetic expressions in cases where there are several accumulators. .B CACM August, 1967 .A Nakata, I. .N CA670804 JB February 27, 1978 4:35 PM .X 1551 4 1551 1945 4 1551 1122 5 1551 1551 5 1551 1551 5 1551 1551 5 1551 1807 5 1551 1934 5 1551 2175 5 1551 1223 6 1551 1248 6 1551 1551 6 1551 1551 6 1551 1551 6 1551 1613 6 1551 1886 6 1551 1947 6 1551 .I 1552 .T The AED Free Storage Package .W The most fundamental underlying problem in sophisticated software systems involving elaborate, changing data structure is dynamic storage allocation for flexible problem modeling. The Free Storage Package of the AED-1 Compiler Systems allows blocks of available storage to be obtained and returned for reuse. The total available space is partitioned into a hierarchy of free storage zones, each of which has its own characteristics. Blocks may be of any size, and special provisions allow efficient handling of selected sizes, control of shattering and garbage collection, and sharing of physical space between zones. The routines of the package perform high level functions automatically, but also allow access and control of fine internal details as well. .B CACM August, 1967 .A Ross, D. T. .N CA670803 JB February 27, 1978 4:40 PM .X 1051 4 1552 1380 4 1552 1389 4 1552 1552 4 1552 1552 4 1552 1552 4 1552 1665 4 1552 1693 4 1552 1781 4 1552 1854 4 1552 1860 4 1552 1860 4 1552 2060 4 1552 2155 4 1552 2162 4 1552 2435 4 1552 2596 4 1552 2768 4 1552 2845 4 1552 2902 4 1552 2955 4 1552 557 4 1552 1184 5 1552 1421 5 1552 1552 5 1552 1552 5 1552 1552 5 1552 378 5 1552 2704 5 1552 2902 5 1552 1051 6 1552 1062 6 1552 1184 6 1552 1211 6 1552 1247 6 1552 1552 6 1552 1552 6 1552 1749 6 1552 1879 6 1552 2356 6 1552 2379 6 1552 2435 6 1552 2596 6 1552 2673 6 1552 2734 6 1552 2747 6 1552 2768 6 1552 .I 1553 .T Contextual Understanding by Computers .W A further development of a computer program (ELIZA) capable of conversing in natural language is discussed. The importance of context to both human and machine understanding is stressed. It is argued that the adequacy of the level of understanding achieved in a particular conversation depends on the purpose of that conversation, and that absolute understanding on the part of either humans or machines is impossible. .B CACM August, 1967 .A Weizenbaum, J. .N CA670802 JB February 27, 19784:44 PM .X 1400 4 1553 1553 4 1553 1945 4 1553 2127 4 1553 2396 4 1553 2730 4 1553 1487 5 1553 1553 5 1553 1553 5 1553 1553 5 1553 1856 5 1553 1225 6 1553 1324 6 1553 1553 6 1553 .I 1554 .T A Computer Technique for Displaying n-Dimensional Hyperobjects .W A digital computer and automatic plotter have been used to generate three-dimensional stereoscopic movies of the three-dimensional parallel and perspective projections of four-dimensional hyperobjects rotating in four-dimensional space. The observed projections and their motions were a direct extension of three-dimensional experience, but no profound "feeling" or insight into the fourth spatial dimension was obtained. The technique can be generalized to n-dimensions and applied to any n-dimensional hyperobject or hypersurface. .B CACM August, 1967 .A Noll, A. M. .N CA670801 JB February 27, 1978 4:48 PM .X 1554 5 1554 1554 5 1554 1554 5 1554 2211 5 1554 1554 6 1554 1741 6 1554 .I 1555 .T Symmetric Polynomials (Algorithm 305 [C1]) .B CACM July, 1967 .A Bratley, P. McKay, J. K. S. .N CA670711a JB February 28, 1978 8:26 AM .X 1555 5 1555 1555 5 1555 1555 5 1555 .I 1556 .T Permutations with Repetitions (Algorithm 306 [G6]) .B CACM July, 1967 .A Bratley, P. .N CA670711b JB March 23, 1978 3:14 PM .X 1556 5 1556 1556 5 1556 1556 5 1556 .I 1557 .T Symmetric Group Characters (Algorithm 307 [A1]) .B CACM July, 1967 .A McKay, J. K. S. .N CA670711c JB March 23, 1978 3:15 PM .X 1557 5 1557 1557 5 1557 1557 5 1557 .I 1558 .T Generation of Permutations in Pseudo-Lexicographic Order (Algorithm [G6]) .B CACM July, 1967 .A Ord-Smith, R. J. .N CA670711d JB March 23, 1978 3:16 PM .X 1558 5 1558 1558 5 1558 1558 5 1558 2044 5 1558 996 6 1558 1558 6 1558 2230 6 1558 521 6 1558 .I 1559 .T Permutation Generator; Permutation in Lexicographical Order; Permute; Generation of Permutations in Lexicographical Order (Algorithm 87[G6]; Algorithm 102[G6]; Algorithm 130[G6]; Algorithm 202[G6]) .B CACM July, 1967 .A Ord-Smith, R. J. .N CA670711e JB March 23, 1978 3:19 PM .X 1559 5 1559 1559 5 1559 1559 5 1559 1567 5 1559 1948 5 1559 1391 6 1559 1559 6 1559 1559 6 1559 .I 1560 .T Transport; Transportation Problem (Algorithm 258[H]; Algorithm 293[H]) .B CACM July, 1967 .A Sims, L. S. .N CA670711f JB March 23, 1978 3:20 PM .X 1560 5 1560 1560 5 1560 1560 5 1560 .I 1561 .T The Mutual Primal-Dual Method (Algorithm 285 [H]) .B CACM July, 1967 .A Spath, H. .N CA670711g JB March 23, 1978 3:21 PM .X 1561 5 1561 1561 5 1561 1561 5 1561 1987 5 1561 1561 6 1561 1581 6 1561 1779 6 1561 1944 6 1561 714 6 1561 .I 1562 .T Airy Function (Algorithm 301 [S20]) .B CACM July, 1967 .A Pitteway, M. L. V. .N CA670711h JB March 23, 1978 3:22 PM .X 1562 5 1562 1562 5 1562 1562 5 1562 .I 1563 .T A Method for Finding Hamilton Paths and Knight's Tours .W The use of Warnsdorff's rule for finding a knight's tour is generalized and applied to the problem of finding a Hamilton path in a graph. A graph-theoretic justification for the method is given. .B CACM July, 1967 .A Pohl, I. .N CA670710 JB February 28, 1978 8:28 AM .X 1563 5 1563 1563 5 1563 1563 5 1563 .I 1564 .T Description of Basic Algorithm in DETAB/65 Preprocessor .W The basic algorithm for the conversion of decision tables into COBOL code is contained in the generator portion of the DETAB/65 preprocessor. The generator analyzes a decision table and produces simple COBOL conditional statements. Core storage is saved by using queueing techniques and extensive indexing and also by outputting the code as it is generated, a line at a time. The only optimization attempted is the elimination of obviously unnecessary tests on certain conditions in the decision table. Since the preprocessor and this language associated with it were developed for COBOL users, the preprocessor was written in a modular form in required COBOL-61. .B CACM July, 1967 .A Callahan, M. D. Chapman, A. E. .N CA670709 JB February 28, 1978 8:33 AM .X 1237 4 1564 1549 4 1564 1564 4 1564 2453 4 1564 1564 5 1564 1564 5 1564 1564 5 1564 1684 5 1564 753 5 1564 1354 6 1564 1564 6 1564 .I 1565 .T A Language-Independent Macro Processor .W A macro processor is described which can be used with almost any source language. It provides all features normally associated with a macro facility, plus the ability to make arbitrary transformations of the argument strings. The program is used at the Basser Computing Department, University of Sydney, Sydney, Australia, to process text for eight different compilers. .B CACM July, 1967 .A Waite, W. M. .N CA670708 JB February 28, 1978 8:35 AM .X 1358 4 1565 1530 4 1565 1531 4 1565 1541 4 1565 1565 4 1565 1565 4 1565 1565 4 1565 1565 4 1565 1703 4 1565 1781 4 1565 1781 4 1565 1788 4 1565 1824 4 1565 1945 4 1565 2036 4 1565 2252 4 1565 1162 5 1565 205 5 1565 1358 5 1565 1455 5 1565 1530 5 1565 1565 5 1565 1565 5 1565 1565 5 1565 1781 5 1565 1852 5 1565 2034 5 1565 123 6 1565 196 6 1565 919 6 1565 984 6 1565 990 6 1565 1007 6 1565 1046 6 1565 1131 6 1565 1139 6 1565 1140 6 1565 1149 6 1565 1198 6 1565 1215 6 1565 1223 6 1565 1231 6 1565 1265 6 1565 1303 6 1565 1323 6 1565 1358 6 1565 1366 6 1565 1421 6 1565 1455 6 1565 1460 6 1565 1462 6 1565 1463 6 1565 1467 6 1565 1468 6 1565 1477 6 1565 1491 6 1565 1496 6 1565 1531 6 1565 1535 6 1565 1565 6 1565 1565 6 1565 1565 6 1565 1565 6 1565 1601 6 1565 1602 6 1565 1613 6 1565 1614 6 1565 1626 6 1565 1641 6 1565 1787 6 1565 1788 6 1565 205 6 1565 224 6 1565 1852 6 1565 249 6 1565 288 6 1565 1926 6 1565 1947 6 1565 316 6 1565 381 6 1565 398 6 1565 11 6 1565 404 6 1565 410 6 1565 463 6 1565 464 6 1565 483 6 1565 3184 6 1565 3188 6 1565 584 6 1565 600 6 1565 680 6 1565 691 6 1565 763 6 1565 799 6 1565 .I 1566 .T Optimal Starting Values for Newton-Raphson Calculation of SQRT(x) .W The problem of obtaining starting values for the Newton-Raphson calculation of SQRT(x) on a digital computer is considered. It is shown that the conventionally used best uniform approximations to SQRT(x) do not provide optimal starting values. The problem of obtaining optimal starting values. The problem of obtaining optimal starting values is stated, and several basic results are proved. A table of optimal polynomial starting values is given. .B CACM July, 1967 .A Moursund, D. G. .N CA670707 JB February 28, 1978 8:53 AM .X 1566 4 1566 1440 5 1566 1566 5 1566 1566 5 1566 1566 5 1566 1932 5 1566 2094 5 1566 962 6 1566 1566 6 1566 1566 6 1566 .I 1567 .T On the Representation of Symmetric Polynomials .W Relations are given between certain symmetric polynomials in the light of the theory of the symmetric group. Such an approach unifies earlier work and lends insight to previously published work by Aaron Booker. A generalization of Graeffe's root-squaring technique for the determination of the roots of a polynomial is suggested. .B CACM July, 1967 .A McKay, J. K. S. .N CA670706 JB February 28, 1978 8:56 AM .X 1567 4 1567 1948 4 1567 1559 5 1567 1567 5 1567 1567 5 1567 1567 5 1567 .I 1568 .T Plotting a Function of Three Independent Variables .W A method is developed for constructing an approximate plot of a function of three independent variables. The plot is similar to a conventional contour map except that there are three scales to represent the independent variables. Scale values of the three independent variables are added vectorially, and the value of the function is then read from the values associated with nearby contours. .B CACM July,1967 .A Stineman, R. W. .N CA670705 JB February 28, 1978 8:59 AM .X 1568 5 1568 1568 5 1568 1568 5 1568 .I 1569 .T Implementing Phrase-Structure Productions in PL/I .W A method is described for implementing the productions of a context-free phrase structure grammar in a PL/I procedure whose structure and statements parallel the structure and notation of the grammar. .B CACM July, 1967 .A Irwin, L. .N CA670704 JB February 28, 1978 9:01 AM .X 1569 5 1569 1569 5 1569 1569 5 1569 .I 1570 .T String Processing Techniques .W The internal organization of string processing systems is discussed. Six techniques for data structures are presented and evaluated on the basis of: (1) creation of strings; (2) examination of strings; and (3) alteration of strings. Speed of operation, storage requirements, effect on paging, and programmer convenience are also considered. One of the techniques, single-word linked blocks, is used in an example demonstrating an implementation of a SNOBOL string processing language on an IBM System/360. .B CACM July, 1967 .A Madnick, S. E. .N CA670703 JB February 28, 1978 9:04 AM .X 1024 4 1570 1051 4 1570 1098 4 1570 1214 4 1570 1380 4 1570 1388 4 1570 1393 4 1570 1485 4 1570 1487 4 1570 1549 4 1570 1570 4 1570 1570 4 1570 1878 4 1570 1945 4 1570 1946 4 1570 1957 4 1570 2168 4 1570 2314 4 1570 2723 4 1570 2857 4 1570 3112 4 1570 1098 5 1570 1570 5 1570 1570 5 1570 1570 5 1570 1869 5 1570 731 5 1570 1549 6 1570 1570 6 1570 .I 1571 .T A User-Oriented Time-Shared Online System .W An existing system and planned additions within the Data Processing Laboratory of the Brain Research Institute at UCLA is described. The system represents an attempt to provide research workers of the Institute with the ability to interact directly with a highly sophisticated digital computing complex in the most direct and simple fashion possible. It is anticipated that, with the accumulation of experience using the present system, significant advances will be possible in the system design through determination of interface parameters between the biological scientist and the digital computer. .B CACM July, 1967 .A Betyar, L. .N CA670702 JB February 28, 1978 9:08 AM .X 1571 5 1571 1571 5 1571 1571 5 1571 .I 1572 .T The Simulation of Time sharing Systems .W The development of new large scale time-sharing systems has raised a number of problems for computation center management. Not only is it necessary to develop an appropriate hardware configuration for these systems, but appropriate software adjustments must be made. Unfortunately, these systems often do not respond to changes in the manner that intuition would suggest, and there are few guides to assist in the analysis of performance characteristics. The development of a comprehensive simulation model to assist in the investigation of these questions is described in this paper. The resulting model has a general purpose design and can be used to study a variety of time-sharing systems. It can also be used to assist in the design and development of new time-sharing algorithms or techniques. For the sake of efficiency and greater applicability, the model was implemented in a limited FORTRAN subset that is compatible with most FORTRAN IV compilers. The use of the simulation is demonstrated by a study of the IBM 360/67 time-sharing system. .B CACM July, 1967 .A Nielsen, N. R. .N CA670701 JB February 28, 1978 9:15 AM .X 1572 5 1572 1572 5 1572 1572 5 1572 1805 5 1572 1846 5 1572 1892 5 1572 2188 5 1572 2218 5 1572 2317 5 1572 1198 6 1572 1380 6 1572 1380 6 1572 1424 6 1572 1484 6 1572 1518 6 1572 1526 6 1572 1572 6 1572 1572 6 1572 1572 6 1572 1572 6 1572 1572 6 1572 1572 6 1572 1693 6 1572 1728 6 1572 1728 6 1572 1748 6 1572 1749 6 1572 1751 6 1572 1751 6 1572 1753 6 1572 1752 6 1572 1752 6 1572 1781 6 1572 1810 6 1572 1879 6 1572 2095 6 1572 2126 6 1572 2148 6 1572 576 6 1572 .I 1573 .T An Adaptive Quadrature Procedure with Random Panel Sizes (Algorithm [D1]) .B CACM June, 1967 .A Gallaher, L. J. .N CA670607a JB February 28, 1978 9:17 AM .X 1573 5 1573 1573 5 1573 1573 5 1573 2093 5 1573 2550 5 1573 834 6 1573 872 6 1573 1092 6 1573 1298 6 1573 1573 6 1573 1573 6 1573 2074 6 1573 429 6 1573 429 6 1573 .I 1574 .T Normal Curve Integral (Algorithm 304 [S15]) .B CACM June, 1967 .A Hill, I. D. Joyce, S. A. .N CA670607b JB March 23, 1978 3:27 PM .X 1574 5 1574 1574 5 1574 1574 5 1574 .I 1575 .T Incomplete Beta Ratio (Algorithm 179 [S14]) .B CACM June, 1967 .A Pike, M. C. Hill, I. D. .N CA670607c JB March 23, 1978 3:29 PM .X 1575 5 1575 1575 5 1575 1575 5 1575 .I 1576 .T Eigenvalues of a Real Symmetric Matrix by the QR Method (Algorithm 253 [F2]) .B CACM June, 1967 .A Welsch, J. H. .N CA670607d JB March 23, 1978 3:30 PM .X 1576 5 1576 1576 5 1576 1576 5 1576 .I 1577 .T Eigenvalues and Eigenvectors of a Real Symmetric Matrix by the QR Method (Algorithm 254 [F2]) .B CACM June, 1967 .A Welsch, J. H. .N CA670607e JB March 23, 1978 3:31 PM .X 1577 5 1577 1577 5 1577 1577 5 1577 .I 1578 .T Generalized Least Squares Fit By Orthogonal Polynomials (Algorithm 296 [E2]) .B CACM June, 1967 .A Makinson, G. J. .N CA670607f JB March 23, 1978 3:33 PM .X 1578 5 1578 1578 5 1578 1578 5 1578 .I 1579 .T Real Error Function, ERF(x) (Algorithm 123 [S15]) .B CACM June, 1967 .A Hill, I. D. Joyce, S. A. .N CA670607g JB March 23, 1978 3:34 PM .X 1579 5 1579 1579 5 1579 1579 5 1579 .I 1580 .T Error Function-Large X (Algorithm 180 [S15]) .B CACM June, 1967 .A Hill, I. D. Joyce, S. A. .N CA670607h JB March 23, 1978 3:35 PM .X 1580 5 1580 1580 5 1580 1580 5 1580 2334 5 1580 1580 6 1580 .I 1581 .T Complementary Error Function-Large X (Algorithm 181 [S15]) .B CACM June, 1967 .A Hill, I. D. Joyce, S. A. .N CA670607i JB March 23, 1978 3:37 PM .X 1581 5 1581 1581 5 1581 1581 5 1581 1987 5 1581 2427 5 1581 1561 6 1581 1581 6 1581 1581 6 1581 1636 6 1581 1779 6 1581 1944 6 1581 714 6 1581 .I 1582 .T GAUSS (Algorithm 209 [S15]) .B CACM June, 1967 .A Hill, I. D. Joyce, S. A. .N CA670607j JB March 23, 1978 3:38 PM .X 1582 5 1582 1582 5 1582 1582 5 1582 .I 1583 .T Normal Distribution Function (Algorithm 226 [S15]) .B CACM June, 1967 .A Hill, I. D. Joyce, S. A. .N CA670607k JB March 23, 1978 3:39 PM .X 1583 4 1583 1583 4 1583 1583 4 1583 1583 4 1583 967 5 1583 1126 5 1583 1583 5 1583 1583 5 1583 1583 5 1583 707 5 1583 831 5 1583 .I 1584 .T Procedure for the Normal Distribution Functions (Algorithm 272 [S15]) .B CACM June, 1967 .A Hill, I. D. Joyce, S. A. .N CA670607l JB March 23, 1978 3:40 PM .X 1584 5 1584 1584 5 1584 1584 5 1584 .I 1585 .T Normal Curve Integral (Algorithm 304 [S15]) .B CACM June, 1967 .A Hill, I. D. Joyce, S. A. .N CA670607m JB March 23, 1978 3:41 PM .X 1585 5 1585 1585 5 1585 1585 5 1585 1714 5 1585 1585 6 1585 .I 1586 .T A Generalized Bairstow Algorithm .W The Bairstow algorithm is generalized to the case of a polynomial which is itself a linear combination of polynomials satisfying a three-term recursion. Convergence properties of the method are derived. .B CACM June, 1967 .A Golub, G. H. Robertson, T. N. .N CA670606 JB February 28, 1978 9:21 AM .X 1586 5 1586 1586 5 1586 1586 5 1586 .I 1587 .T Storage Allocation in a Certain Iterative Process .W A method of core storage allocation in a certain iterative process is described and estimates of the machine time required are given. The method is applicable to iterative processes in which input data items once chosen are never again needed. In this method the input data is continuously relocated and the space made available apportioned to the output tables when an overflow occurs. Some important special cases are considered in which considerable simplification occurs. .B CACM June, 1967 .A Abramowich, J. .N CA670605 JB February 28, 1978 9:25 AM .X 1587 5 1587 1587 5 1587 1587 5 1587 .I 1588 .T PL/I List Processing .W The concepts of list processing have been introduced into the PL/I language. With these new facilities, it is possible to write PL/I procedures that operate on simple and complex data list organizations. Most list-processing languages have suffered from their inability to deal directly with complex data structures and/or from their inability to perform the complete range of programming language operations upon the data list structures. These two problems have been eliminated in the list-processing facilities of PL/I. The basic concepts of list processing and the philosophy of the PL/I language extensions are discussed. In addition, several detailed list-processing examples are provided. .B CACM June, 1967 .A Lawson Jr., H. W. .N CA670604 JB February 28, 1978 9:30 AM .X 1588 5 1588 1588 5 1588 1588 5 1588 .I 1589 .T DIALOG: A Conversational Programming System with a Graphical Orientation .W DIALOG is an algebraic language for online use with a graphical input-output console device. It is a computational aid for the casual user, which provides basic facilities for graphical and numeric input and display, online and off line program preparation and storage, and hard copy presentation of results. Use of the system requires a minimum of experience or instruction, since the growth of an overlaying system control language has been prevented, and there are no processor-oriented statements, like variable type or dimension declarations. Moreover, in the online situation the processor interacts with the graphical keyboard on a character-by-character basis so as to restrict the programmer's choice of input symbols to those which are syntactically correct. DIALOG has been in daily operation at the IIT Research Institute since February, 1966. .B CACM June, 1967 .A Cameron, S. H. Ewing, D. Liveright, M. .N CA670603 JB February 28, 1978 9:36 AM .X 1589 5 1589 1589 5 1589 1589 5 1589 1978 5 1589 1307 6 1589 1589 6 1589 1813 6 1589 .I 1590 .T Pitch Period Determination of Speech Sounds .W A computer procedure which determines pitch periods by the recognition of the peak structure of the speech waveform is described. Speech sounds were sampled by a microphone and an analog-to-digital converter attached to an interconnected IBM 7090-PDP-1 system. These utterances were recorded at the normal noise level of the computer room but were not band-compressed or phase-distorted in any manner. A sequence of operations defined on the speech wave selects a list of points along the waveform as candidates for pitch markers. These markers are validated by an error detection and correction procedure.About 95 percent of the pitch periods were recognized correctly within 1 to 2 times real-time on the IBM 7090. .B CACM June,1967 .A Reddy, D. R. .N CA670602 JB February 28, 1978 9:42 AM .X 1590 5 1590 1590 5 1590 1590 5 1590 .I 1591 .T A Model for a Multifunctional Teaching System .W A teaching system model that was incorporated into an operating system of a large computer is described. The model transferred control to the operating system to execute functions other than teaching, and then recovered control in order to resume teaching. The teaching system (ABAC-II) was written to run under the operating system (IBSYS) for the IBM 7044 Graphic System. Because the teaching system automatically terminated and rescheduled itself, a student studying a course presented at a cathode-ray display terminal could switch readily between student mode and programmer mode. During the latter, the full resources of the operating system (language processors, compilers, library and user's programs) were at his disposal. He could for example, write, assemble, debug, and execute at the terminal a program written in any language processed by the operating system. A course could therefore include text material interleaved with programming problems which the student could solve without leaving the terminal. Exercises in simulation and gaming could also be provided. The implications of a teaching system with this degree of flexibility for industrial and executive training as well as academic education are discussed. In addition, the advantages of this type of system for computer programming and operation are also considered. .B CACM June, 1967 .A Engvold, K. J. Hughes, J. L. .N CA670601 JB February 28, 1978 10:24 AM .X 1591 5 1591 1591 5 1591 1591 5 1591 1680 5 1591 1591 6 1591 .I 1592 .T String Similarity and Misspellings .W The problem of programming a computer to determine whether or not a string of characters is a misspelling of a given word was considered. A numberof algorithms were evaluated-some proposed by other writers, some by the author. These techniques were tested on a collection of misspellings made by students at various grade levels. While many of the methods were clearly unsatisfactory, some gave as few as 2.1 percent incorrect determinations. .B CACM June, 1967 .A Alberga, C. N. .N CA670510 JB February 28, 1978 10:28 AM .X 1112 4 1592 1592 4 1592 1592 4 1592 1592 4 1592 2111 4 1592 2111 4 1592 2339 4 1592 2339 4 1592 440 4 1592 982 5 1592 1112 5 1592 1592 5 1592 1592 5 1592 1592 5 1592 2111 5 1592 2339 5 1592 619 5 1592 830 6 1592 1112 6 1592 1112 6 1592 1592 6 1592 1592 6 1592 440 6 1592 619 6 1592 619 6 1592 .I 1593 .T A Simple Technique for Digital Division .W A simple and economical method for digital division is described. The method is suitable for divisors whose leading character is either radix less one or is unity with the next character equal to zero; also the method is direct and needs only half the number of arithmetic operations needed by a variant of the Harvard iterative method, described by Gilman, which is suitable for similar divisors. .B CACM June, 1967 .A Nandi, S. K. Krishnamurthy, E. V. .N CA670509 JB February 28, 1978 10:30 AM .X 214 4 1593 1497 4 1593 1593 4 1593 1593 4 1593 1975 4 1593 1292 5 1593 1497 5 1593 1593 5 1593 1593 5 1593 1593 5 1593 91 5 1593 107 6 1593 1026 6 1593 1292 6 1593 1593 6 1593 .I 1594 .T An Algorithm for Generating Permutations .W An algorithm is described which under repeated application generates all permutations of K elements. Only the previously generated permutation, the constant K, and a temporary index are needed. Starting with a particular ordering of K elements (abcd), repeated application of the algorithm will generate K-1 additional permutations by K-1 successive rotations. From the initial circular ordering of K objects, another circular ordering can be obtained by rotating the K-1 lowest elements. For each new K-1 circular ordering, another K-2 can be obtained by rotating the K-2 lowest elements. By continuing in this manner, applications of the algorithm will generate all (K-1)! circular orderings, or since each circular ordering yields K permutations the algorithm generates all K! permutations. .B CACM May, 1967 .A Langdon Jr., G. G. .N CA670508 JB February 28, 197810:35 AM .X 1594 5 1594 1594 5 1594 1594 5 1594 2087 5 1594 2189 5 1594 3188 5 1594 1594 6 1594 1594 6 1594 1594 6 1594 2087 6 1594 3191 6 1594 521 6 1594 612 6 1594 .I 1595 .T On the Computer Enumeration of Finite Topologies .W The problem of enumerating the number of topologies which can be formed from a finite point set is considered both theoretically and computationally. Certain fundamental results are established, leading to an algorithm for enumerating finite topologies, and computed results are given for n <= 7. An interesting side result of the computational work was the unearthing of a theoretical error which had been induced into the literature; the use of the computer in combinatorics represents, chronologically, an early application, and this side result underscores its continuing usefulness in this area. .B CACM May, 1967 .A Evans, J. W. Harary, F. Lynn, M. S. .N CA670507 JB February 28, 1978 10:37 AM .X 1595 5 1595 1595 5 1595 1595 5 1595 .I 1596 .T Airy Function (Algorithm 301 [S20]) .B CACM May, 1967 .A Bond, G. Pitteway, M. L. V. .N CA670506a JB February 28, 1978 10:38 AM .X 1596 5 1596 1596 5 1596 1596 5 1596 .I 1597 .T Transpose Vector Stored Array (Algorithm 302 [K2]) .B CACM May, 1967 .A Boothroyd, J. .N CA670506b JB March 23, 1978 4:00 PM .X 1597 5 1597 1597 5 1597 1597 5 1597 2354 5 1597 2355 5 1597 1418 6 1597 1418 6 1597 1521 6 1597 1521 6 1597 1597 6 1597 1597 6 1597 1679 6 1597 1883 6 1597 2040 6 1597 2350 6 1597 2350 6 1597 2354 6 1597 2355 6 1597 .I 1598 .T Least Squares Fit By Orthogonal Polynomials (Algorithm 28 [E2]) .B CACM May, 1967 .A Makinson, G. J. .N CA670506c JB March 23, 1978 4:02 PM .X 1598 5 1598 1598 5 1598 1598 5 1598 .I 1599 .T Numerical Solution of the Polynomial Equation (Algorithm 300 [C2]) .B CACM May, 1967 .A Kohfeld, J. J. .N CA670506d JB March 23, 1978 4:03 PM .X 1599 5 1599 1599 5 1599 1599 5 1599 .I 1600 .T Chebyshev Quadrature (Algorithm 279 [D1]) .B CACM May, 1967 .A Hillstrom, K. .N CA670506e JB March 23, 1978 4:04 PM .X 1600 5 1600 1600 5 1600 1600 5 1600 2057 5 1600 2058 5 1600 2392 5 1600 2416 5 1600 1600 6 1600 1600 6 1600 1600 6 1600 1600 6 1600 1894 6 1600 2055 6 1600 2055 6 1600 2058 6 1600 .I 1601 .T Parallel Numerical Methods for the Solution of Equations .W Classical iterative procedures for the numerical solution of equations provide at each stage a single new approximation to the root in question. A technique is given for the development of numerical procedures which provide, at each stage, several approximations to a solution of an equation. The s8everal approximations obtained in any iteration are computationally independent, making the methods of interest in a parallel processing environment. Convergence is insured by extracting the "best information" at each iteration. Several families of numerical procedures which use the technique of the procedures in a parallel processing environment are developed and measurements of these statistics are reported. These measurements are interpreted in a parallel processing environment. In such an environment the procedures obtained are superior to standard algorithms. .B CACM May, 1967 .A Shedler, G. S. .N CA670505 JB February 28, 1978 10:44 AM .X 1601 5 1601 1601 5 1601 1601 5 1601 1781 5 1601 123 6 1601 196 6 1601 919 6 1601 990 6 1601 1007 6 1601 1046 6 1601 1131 6 1601 1139 6 1601 1140 6 1601 1149 6 1601 1198 6 1601 1215 6 1601 1223 6 1601 1265 6 1601 1303 6 1601 1323 6 1601 1358 6 1601 1366 6 1601 1421 6 1601 1460 6 1601 1462 6 1601 1463 6 1601 1467 6 1601 1468 6 1601 1477 6 1601 1491 6 1601 1496 6 1601 1531 6 1601 1535 6 1601 1565 6 1601 1601 6 1601 1602 6 1601 1613 6 1601 1614 6 1601 1626 6 1601 1641 6 1601 1787 6 1601 1788 6 1601 205 6 1601 224 6 1601 249 6 1601 288 6 1601 316 6 1601 381 6 1601 398 6 1601 11 6 1601 404 6 1601 410 6 1601 463 6 1601 464 6 1601 483 6 1601 3184 6 1601 3188 6 1601 584 6 1601 600 6 1601 680 6 1601 691 6 1601 763 6 1601 799 6 1601 .I 1602 .T POSE: A Language for Posing Problems to a Computer .W A language, POSE, is described which is a drastic departure from the FORTRAN/ALGOL type, though it does utilize FORTRAN formula and logic representations (and actually contains FORTRAN VI as a subset). With the new language, the user need only describe his problem in "equation-like" form. The method of solution is automatically provided in conjunction with the translation from equation form to computer instruction. In this way the POSE language user can solve difficult computational problems (like the solution of differential equation) without requiring a knowledge of numerical methods or the intricacies of computer subroutine logic. Essentially all clerical operations now required for FORTRAN programming have been automated so that the POSE programmer need not be concerned with these details. .B CACM May, 1967 .A Schlesinger, S. Sashkin, L. .N CA670504 JB February 28, 1978 10:53 AM .X 1602 5 1602 1602 5 1602 1602 5 1602 1781 5 1602 123 6 1602 196 6 1602 919 6 1602 990 6 1602 1007 6 1602 1046 6 1602 1131 6 1602 1139 6 1602 1140 6 1602 1149 6 1602 1198 6 1602 1215 6 1602 1223 6 1602 1265 6 1602 1303 6 1602 1323 6 1602 1358 6 1602 1366 6 1602 1421 6 1602 1460 6 1602 1462 6 1602 1463 6 1602 1467 6 1602 1468 6 1602 1477 6 1602 1491 6 1602 1496 6 1602 1531 6 1602 1535 6 1602 1565 6 1602 1601 6 1602 1602 6 1602 1613 6 1602 1614 6 1602 1626 6 1602 1641 6 1602 1787 6 1602 1788 6 1602 205 6 1602 224 6 1602 249 6 1602 288 6 1602 316 6 1602 381 6 1602 398 6 1602 11 6 1602 404 6 1602 410 6 1602 463 6 1602 464 6 1602 483 6 1602 3184 6 1602 3188 6 1602 584 6 1602 600 6 1602 680 6 1602 691 6 1602 763 6 1602 799 6 1602 .I 1603 .T A Multiprogramming Monitor for Small Machines .W INT, a combination hardware/software monitor designed to control a wide variety of real-time input/output devices, is described. The simple hardware additions provide a uniform device to machine interface for such elements as keyboards graphic input devices, and interval timers. The software relieves the user program from the details of input/output timing, buffering, and task scheduling and provides parallel processing capability. User programs communicate with the monitor through a small set of meta-instruction which consists mostly of machine-language subroutine calls. .B CACM May, 1967 .A Hornbuckle, G. D. .N CA670503 JB February 28, 1978 10:57 AM .X 1458 4 1603 1523 4 1603 1603 4 1603 1698 4 1603 1747 4 1603 1748 4 1603 1854 4 1603 1877 4 1603 1960 4 1603 2377 4 1603 2378 4 1603 2497 4 1603 2558 4 1603 2625 4 1603 2632 4 1603 2840 4 1603 2941 4 1603 3105 4 1603 3144 4 1603 1471 5 1603 1603 5 1603 1603 5 1603 1603 5 1603 .I 1604 .T Further Analysis of a Computing Center Environment .W Empirical distributions of program lengths, execution times, processing times, and loading times of over 10,000 jobs serviced in a university computing center environment are presented. The data are subdivided according to certain characteristics of users and jobs to obtain selected empirical conditional distributions of those time properties as well as statistical measures of other interesting properties. The results are interpreted in terms of the properties of the system studied. .B CACM May, 1967 .A Walter, E. S. Wallace, V. L. .N CA670502 JB February 28, 1978 11:02 AM .X 1533 4 1604 1604 4 1604 1604 4 1604 1951 4 1604 2373 4 1604 1224 5 1604 1410 5 1604 1533 5 1604 1604 5 1604 1604 5 1604 1604 5 1604 1951 5 1604 2667 5 1604 2668 5 1604 1224 6 1604 1410 6 1604 1604 6 1604 1604 6 1604 1604 6 1604 1604 6 1604 1728 6 1604 1728 6 1604 1761 6 1604 1827 6 1604 1827 6 1604 2677 6 1604 .I 1605 .T An Experimental Comparison of Time Sharing and Batch Processing .W The effectiveness for program development of the MIT Compatible Time-Sharing System (CTSS) was compared with that of the IBM IBSYS batch-processing system by means of a statistically designed experiment. An identical set of four programming problems was assigned to each of a group of four programming subjects. Influences external to the systems, such as the sequence of problem solution, and programmer and problem characteristics, were specified as design factors in the experiment. Data was obtained for six variables (e.g., programmer time, computer time, elapsed time, etc.) which were considered to be definitive of "system effectiveness," and analysis of variance techniques were employed to estimate system differences in these variables after differences due to the design factors had been eliminated. Statistical analysis of the experimental results provided strong evidence of important system differences, as well as a critique of the experimental design itself with implications for further experimentation. .B CACM May, 1967 .A Schatzoff, M. Tsao, R. Wiig, R. .N CA670501 JB February 28, 1978 11:09 AM .X 1605 5 1605 1605 5 1605 1605 5 1605 1792 5 1605 1908 5 1605 1550 6 1605 1605 6 1605 1605 6 1605 224 6 1605 .I 1606 .T Chi-Squared Integral (Algorithm 299 [S15]) .B CACM April, 1967 .A Hill, I. D. Pike, M. C. .N CA670408a JB February 28, 1978 11:10 AM .X 1606 5 1606 1606 5 1606 1606 5 1606 2467 5 1606 2793 5 1606 1606 6 1606 1606 6 1606 .I 1607 .T Coulomb Wave Functions (Algorithm 300 [S22]) .B CACM April, 1967 .A Gunn, J. H. .N CA670408b JB March 23, 1978 4:06 PM .X 1607 5 1607 1607 5 1607 1607 5 1607 .I 1608 .T Numerical Integration of Function That Has a Pole .W It is common to need to integrate numerically functions that diverge somewhere outside the range of integration. Even if the divergence occurs quite far away, integration formulas like Simpson's, that depend on fitting a polynomial, usually will be inaccurate: near a pole they will be very bad. A method is described that gives formulas that will integrate functions of this kind accurately if the orders and positions of the poles are known. Explicit formulas are given that are easy to use on an automatic computer. It is shown that they can be used for some other singularities as well as poles. If the integral converges, integration can be carried to the singularity. The accuracy of the integration with a pole of second order is discussed, and, as an example, the new formula is compared with Simpson's. The new formulas are useful even far from the pole, while near the pole their advantage is overwhelming. .B CACM April, 1967 .A Eisner, E. .N CA670407 JB February 28, 1978 11:20 AM .X 1608 5 1608 1608 5 1608 1608 5 1608 .I 1609 .T Scheduling University Course Examinations by Computer .W A new approach to the problem of scheduling course examinations is presented. In principle, an examination schedule which requires a minimum number of examination periods and satisfies the constraint that no student be required to take two examinations simultaneously can be found in two steps. First, course which may have their examinations scheduled at the same period are grouped together in all possible ways. Then a minimum number of these groups, such that each course is included at least once, are selected. By removing multiple occurrences of courses and then scheduling each group at a different period a minimal schedule can be obtained. Known algorithms for carrying out these procedures are prohibitively expensive. Approximations to the ideal procedure outlined above are given which yield nonminimal but feasible schedules with a very small expenditure of time. Results of experiments using these techniques are given. These are encouraging and indicate that further experimentation would be worthwhile. .B CACM April, 1967 .A Hall Jr., A. D. Acton, F. S. .N CA670406 JB February 28, 1978 11:22 AM .X 1609 4 1609 2052 4 1609 1013 5 1609 1609 5 1609 1609 5 1609 1609 5 1609 .I 1610 .T A Method for the Solution of Transportation Problems with Tall Matrices .W A method is presented for the solution of the transportation problem having a cost matrix with few columns. The computer implementation of this method shows it to be very fast and efficient. Application are indicted for the personnel classification problem as well as the classical transportation problem. An example is worked out in detail. .B CACM April, 1967 .A Dwyer, P. S. Galler, B. A. .N CA670405 JB February 28, 1978 11:25 AM .X 1610 5 1610 1610 5 1610 1610 5 1610 .I 1611 .T Scheduling Project Networks .W Some of the basic concepts and terminology of project networking are developed. The Critical Path Algorithm incorporated in the C-E-I-R proprietary scheduling system RAMPS (Resource Allocation and Multi-Project Scheduling) is described. The error detection and network analysis features of the algorithm are also described. .B CACM April, 1967 .A Klein, M. M. .N CA670404 JB February 28, 1978 11:31 AM .X 1611 4 1611 1611 4 1611 1295 5 1611 1611 5 1611 1611 5 1611 1611 5 1611 340 5 1611 .I 1612 .T Top-to-bottom Parsing Rehabilitated? .W This note is concerned with the efficiency of the Top-to-Bottom parsing algorithm as used in connection with programming language grammars. It is shown, for instance, that retracing of unprofitable paths can often be eliminated by a suitable rearrangement of the productions defining the grammar. The essential weakness of the method is in dealing with complicated syntactic structures which are in practice only sparsely occupied, e.g., arithmetic expressions. .B CACM April, 1967 .A Brooker, R. A. .N CA670403 JB February 28, 1978 11:32 AM .X 1612 4 1612 1781 4 1612 1945 4 1612 1139 5 1612 1612 5 1612 1612 5 1612 1612 5 1612 .I 1613 .T One-Pass Compilation of Arithmetic Expressions for a Parallel Processor .W Under the assumption that a processor may have a multiplicity of arithmetic units, a compiler for such a processor should produce object code to take advantage of possible parallelism of operation. Most of the presently known compilation techniques are inadequate for such a processor because they produce expression structures that must be evaluated serially. A technique is presented here for compiling arithmetic expressions into structures that can be evaluated with a high degree of parallelism. The algorithm is a variant of the so-called "top-down" analysis technique, and requires only one pass of the input text. .B CACM April, 1967 .A Stone, H. S. .N CA670402 JB February 28, 1978 11:36 AM .X 1086 4 1613 1132 4 1613 1234 4 1613 1263 4 1613 1265 4 1613 1270 4 1613 1323 4 1613 1358 4 1613 1379 4 1613 1380 4 1613 1453 4 1613 1464 4 1613 1484 4 1613 1491 4 1613 1498 4 1613 1613 4 1613 1613 4 1613 1613 4 1613 1613 4 1613 1613 4 1613 1614 4 1613 1646 4 1613 1781 4 1613 1825 4 1613 1860 4 1613 1900 4 1613 1947 4 1613 1955 4 1613 2025 4 1613 2083 4 1613 2154 4 1613 2178 4 1613 2179 4 1613 2252 4 1613 2325 4 1613 2341 4 1613 2365 4 1613 2506 4 1613 2546 4 1613 2645 4 1613 2652 4 1613 2684 4 1613 2842 4 1613 2929 4 1613 2934 4 1613 3060 4 1613 3069 4 1613 669 4 1613 679 4 1613 691 4 1613 761 4 1613 949 4 1613 989 4 1613 987 5 1613 1086 5 1613 1134 5 1613 1453 5 1613 1613 5 1613 1613 5 1613 1613 5 1613 1781 5 1613 2175 5 1613 3184 5 1613 123 6 1613 196 6 1613 919 6 1613 990 6 1613 1007 6 1613 1046 6 1613 1131 6 1613 1139 6 1613 1140 6 1613 1149 6 1613 1198 6 1613 1215 6 1613 1223 6 1613 1265 6 1613 1303 6 1613 1323 6 1613 1358 6 1613 1366 6 1613 1421 6 1613 1460 6 1613 1462 6 1613 1463 6 1613 1467 6 1613 1468 6 1613 1477 6 1613 1491 6 1613 1496 6 1613 1531 6 1613 1535 6 1613 1551 6 1613 1565 6 1613 1601 6 1613 1602 6 1613 1613 6 1613 1613 6 1613 1614 6 1613 1626 6 1613 1641 6 1613 1787 6 1613 1788 6 1613 205 6 1613 224 6 1613 249 6 1613 1886 6 1613 288 6 1613 316 6 1613 381 6 1613 398 6 1613 11 6 1613 404 6 1613 410 6 1613 463 6 1613 464 6 1613 483 6 1613 3184 6 1613 3188 6 1613 584 6 1613 600 6 1613 680 6 1613 691 6 1613 763 6 1613 799 6 1613 .I 1614 .T A Proposal for Definitions in ALGOL .W An extension to ALGOL is proposed for adding new data types and operators to the language. Definitions may occur in any block heading and terminate with the block. They are an integral part of the program and are not fixed in the language. Even the behavior of existing operators may be redefined. The processing of text containing defined contexts features a "replacement rule" that eliminates unnecessary iterations and temporary storage. Examples of definition sets are given for real and complex matrices, complex numbers, file processing, and list manipulation. .B CACM April, 1967 .A Galler, B. A. Perlis, A. J. .N CA670401 JB February 28, 1978 11:43 AM .X 1086 4 1614 1132 4 1614 1234 4 1614 1263 4 1614 1265 4 1614 1270 4 1614 1323 4 1614 1358 4 1614 1379 4 1614 1380 4 1614 1453 4 1614 1464 4 1614 1484 4 1614 1491 4 1614 1498 4 1614 1613 4 1614 1614 4 1614 1614 4 1614 1781 4 1614 1825 4 1614 1860 4 1614 2083 4 1614 2178 4 1614 2179 4 1614 2252 4 1614 2253 4 1614 2325 4 1614 2341 4 1614 2546 4 1614 2557 4 1614 2645 4 1614 2652 4 1614 2684 4 1614 2842 4 1614 2929 4 1614 2934 4 1614 3069 4 1614 669 4 1614 679 4 1614 691 4 1614 761 4 1614 949 4 1614 989 4 1614 1614 5 1614 1614 5 1614 1614 5 1614 1693 5 1614 1781 5 1614 1824 5 1614 1861 5 1614 2126 5 1614 437 5 1614 3184 5 1614 823 6 1614 123 6 1614 196 6 1614 196 6 1614 919 6 1614 990 6 1614 1007 6 1614 1046 6 1614 1131 6 1614 1139 6 1614 1140 6 1614 1149 6 1614 1198 6 1614 1215 6 1614 1223 6 1614 1265 6 1614 1303 6 1614 1323 6 1614 1358 6 1614 1358 6 1614 1366 6 1614 1421 6 1614 1421 6 1614 1460 6 1614 1462 6 1614 1463 6 1614 1467 6 1614 1468 6 1614 1477 6 1614 1477 6 1614 1491 6 1614 1491 6 1614 1496 6 1614 1531 6 1614 1535 6 1614 1565 6 1614 1601 6 1614 1602 6 1614 1613 6 1614 1614 6 1614 1614 6 1614 1614 6 1614 1614 6 1614 1614 6 1614 1626 6 1614 1641 6 1614 1693 6 1614 1781 6 1614 1781 6 1614 1787 6 1614 1788 6 1614 205 6 1614 224 6 1614 249 6 1614 288 6 1614 316 6 1614 381 6 1614 398 6 1614 11 6 1614 404 6 1614 404 6 1614 404 6 1614 408 6 1614 410 6 1614 463 6 1614 464 6 1614 483 6 1614 3184 6 1614 3188 6 1614 584 6 1614 600 6 1614 680 6 1614 691 6 1614 763 6 1614 799 6 1614 .I 1615 .T An Algorithm for Generating Root Locus Diagrams .W A technique for using a digital computer to draw both ordinary and time-lag root locus diagrams is described. Ordinary diagrams are drawn much faster and more accurately than ever before. Time-lag diagrams, which had been impossible to obtain, are drawn with the same speed and accuracy as ordinary diagrams. .B CACM March, 1967 .A Krall, A. M. Fornaro, R. .N CA670313 JB February 28, 1978 12:57 PM .X 1615 5 1615 1615 5 1615 1615 5 1615 .I 1616 .T Tensor Calculations on Computer: Appendix .W In the main text of the paper [Comm. ACM 9, 12 (Dec. 196), 864], a FORMAC program was discussed which is capable of calculating various quantities of interest in tensor calculus. This Appendix is intended as an example of the program output. Chrisoffel symbols calculated for 12 basic orthogonal coordinate systems are listed. .B CACM March, 1967 .A Walton, J. J. .N CA670312 JB February 28, 1978 12:58 PM .X 1543 5 1616 1616 5 1616 1616 5 1616 1616 5 1616 1664 5 1616 1345 6 1616 1345 6 1616 1543 6 1616 1616 6 1616 1616 6 1616 .I 1617 .T Eigenvalues and Eigenvectors of the Symmetric System (Algorithm 297 [F2]) .B CACM March, 1967 .A Boothroyd, J. .N CA670311a JB February 28, 1978 12:59 PM .X 1617 5 1617 1617 5 1617 1617 5 1617 .I 1618 .T Determination of the Square-Root of a Positive Definite Matrix (Algorithm 298 [F1]) .B CACM March, 1967 .A Spath, H. .N CA670311b JB March 23, 1978 4:09 PM .X 1618 5 1618 1618 5 1618 1618 5 1618 .I 1619 .T Error-Free Methods for Statistical Computations .W Neely has discussed computational error generated by some algorithms used to compute various statistics. In the present paper methods are described which are error-free, simple in concept, and usually less costly in machine time than those mentioned by Neely. .B CACM March, 1967 .A Rodden, B. E. .N CA670310 JB February 28, 1978 1:02 PM .X 1619 4 1619 3166 4 1619 1411 5 1619 1619 5 1619 1619 5 1619 1619 5 1619 .I 1620 .T Methods of Evaluating Polynomial Approximations in Function Evaluation Routines .W The method of nested multiplication is commonly used in function evaluation routines to evaluate approximation polynomials. New polynomial evaluation methods have been developed in recent years which require fewer multiplications than nested multiplication and may therefore be preferable for use in function evaluation routines. Although some of these methods do not appear to be practically useful because of rounding-error difficulties, several methods of evaluating low-degree polynomials have been found to be satisfactory. Three such methods are described and illustrated. .B CACM March, 1967 .A File, C. T. .N CA670309 JB February 28, 1978 1:08 PM .X 1620 4 1620 1620 4 1620 819 4 1620 1620 5 1620 1620 5 1620 1620 5 1620 436 5 1620 819 5 1620 .I 1621 .T Computer Typesetting of ALGOL .W An application of computer-aided typesetting is introduced. A working method is described for publishing ALGOL by computerized translation from Hardware into Reference representation, computerized planning of typographical lay-out and computerized control of a typesetting machine. The point is made that experts in science, technology, and programming are guaranteed a correct ALGOL documentation without spending valuable time and power on typographic considerations and proofreading. .B CACM March, 1967 .A Sydow, L. V. .N CA670308 JB February 28, 1978 1:12 PMB .X 1621 5 1621 1621 5 1621 1621 5 1621 .I 1622 .T An Efficient Procedure for the Generation of Closed Subsets .W An efficient algorithm is described for generating subsets of a set S which satisfy constraints of the form: "If s(i) is a member of the subset, then s(j) must also be a member of the subset." The algorithm has been programmed in the WISP language and successfully run on the IBM 7094 in connection with a routine to detect feedback in multidimensional iterative networks. .B CACM March, 1967 .A Waite, W. M. .N CA670307 JB February 28, 1978 1:18 PM .X 1622 5 1622 1622 5 1622 1622 5 1622 .I 1623 .T An Application of FORMAC .W A nonlinear circuit analysis problem is stated and the way in which it was solved using FORMAC is indicated. The solution of the problem using FORMAC was notable since several other methods that were tried failed. The problem is straightforward (although untenable by hand) but nevertheless involved an elaborate use of the FORMAC language. The program was fairly large and utilized practically every command. In particular, it made extensive use of the PART command. Several tricks were necessary in order to circumvent some of the shortcomings of the FORMAC system. This paper is more concerned with the use of programming techniques in FORMAC than with the actual engineering problem, although readers may be interested in the problem because it is stated in a general (mathematical) sense and could be of interest in areas other than circuit analysis. .B CACM March, 1967 .A Neidleman, L. D. .N CA670306 JB February 28, 1978 1:27 PM .X 1623 5 1623 1623 5 1623 1623 5 1623 .I 1624 .T Automatic Dimensioning .W Examples of algorithm that will accomplish automatic storage reservation without the need for explicit array declarations are described. .B CACM March, 1967 .A Klerer, M. May, J. .N CA670305 JB February 28, 1978 1:28 PM .X 1396 4 1624 1624 4 1624 1083 5 1624 1624 5 1624 1624 5 1624 1624 5 1624 .I 1625 .T On the Automatic Simplification of Source-Language Programs .W Methods of simplification that can be applied automatically to programs written in an ALGOL-like language are discussed. The simplifications are based on the form of the program and the knowledge obtained by a processor, without any understanding of what the program is supposed to do. These methods have been implemented in a processor called SURE that accepts a program written in JOVIAL and outputs an equivalent JOVIAL program that may be shorter and may be executed faster than the original. SURE is described, some of the problems encountered in automatic improvement at the source-language level are discussed, and further types of automatic program improvement are suggested. .B CACM March, 1967 .A Clark, E. R. .N CA670304 JB February 28, 1978 1:33 PM .X 1084 4 1625 1379 4 1625 1625 4 1625 1625 4 1625 1807 4 1625 1945 4 1625 1947 4 1625 1248 5 1625 1625 5 1625 1625 5 1625 1625 5 1625 669 5 1625 .I 1626 .T Structure of a LISP System Using Two-Level Storage .W In an ideal list-processing system there would be enough core memory to contain all the data and programs. Described in this paper are a number of techniques that have been used to build a LISP system utilizing a drum for its principal storage medium, with a surprisingly low time penalty for use of this slow storage device. The techniques include careful segmentation of system programs, allocation of virtual memory to allow address arithmetic for type determination, and a special algorithm for building reasonably linearized lists. A scheme for binding variables is described which is good in this environment and allows for complete compatibility between compiled and interpreted programs with no special declarations. .B CACM March, 1967 .A Bobrow, D. G. Murphy, D. L. .N CA670303 JB February 28, 1978 1:39 PM .X 1626 4 1626 1708 4 1626 1781 4 1626 1860 4 1626 2299 4 1626 1626 5 1626 1626 5 1626 1626 5 1626 1641 5 1626 1708 5 1626 1781 5 1626 1826 5 1626 1860 5 1626 2156 5 1626 2168 5 1626 2249 5 1626 2314 5 1626 2719 5 1626 2736 5 1626 2833 5 1626 123 6 1626 196 6 1626 919 6 1626 990 6 1626 1007 6 1626 1046 6 1626 1098 6 1626 1131 6 1626 1139 6 1626 1140 6 1626 1149 6 1626 1198 6 1626 1215 6 1626 1223 6 1626 1265 6 1626 1303 6 1626 1323 6 1626 1358 6 1626 1366 6 1626 1366 6 1626 1389 6 1626 1421 6 1626 1421 6 1626 1460 6 1626 1462 6 1626 1463 6 1626 1467 6 1626 1468 6 1626 1477 6 1626 1491 6 1626 1496 6 1626 1496 6 1626 1531 6 1626 1535 6 1626 1565 6 1626 1601 6 1626 1602 6 1626 1613 6 1626 1614 6 1626 1626 6 1626 1626 6 1626 1626 6 1626 1626 6 1626 1626 6 1626 1626 6 1626 1626 6 1626 1626 6 1626 1626 6 1626 1626 6 1626 1626 6 1626 1641 6 1626 1641 6 1626 1641 6 1626 1708 6 1626 1785 6 1626 1786 6 1626 1787 6 1626 1788 6 1626 205 6 1626 1826 6 1626 1826 6 1626 1826 6 1626 1826 6 1626 210 6 1626 210 6 1626 210 6 1626 224 6 1626 1853 6 1626 1853 6 1626 249 6 1626 1878 6 1626 288 6 1626 1972 6 1626 1972 6 1626 316 6 1626 378 6 1626 381 6 1626 398 6 1626 2082 6 1626 11 6 1626 2148 6 1626 2151 6 1626 2167 6 1626 2210 6 1626 2645 6 1626 2657 6 1626 2736 6 1626 404 6 1626 410 6 1626 463 6 1626 464 6 1626 483 6 1626 3184 6 1626 3184 6 1626 3188 6 1626 584 6 1626 600 6 1626 680 6 1626 691 6 1626 731 6 1626 763 6 1626 799 6 1626 .I 1627 .T Application of Level Changing to a Multilevel Storage Organization .W A technique for organizing the devices of a computer storage system is described. This technique, called the multilevel store, provides a means for economically satisfying the requirements for very large storage capacities of certain data management and information retrieval systems. The concept of level changing is introduced and its application to the multilevel store is discussed. A possible means for physically organizing the information for efficient use of the multilevel store is presented. .B CACM March, 1967 .A Morenoff, E. McLean, J. B. .N CA670302 JB February 28, 1978 1:43 PM .X 1627 5 1627 1627 5 1627 1627 5 1627 .I 1628 .T The Emergence of a Profession .W Computer programming deals with an enormous variety of activities and is carried on by people with a great variety of backgrounds. It seems clear that part but not all of this activity is evolving toward a distinct professional field, but that the scope of this emerging profession, and some of its economic, social, and educational characteristics are as yet by no means well defined. In this paper, these issues are examined and some opinions about them are expressed. .B CACM March, 1967 .A Orden, A. .N CA670301 JB February 28, 1978 1:47 PM .X 1628 5 1628 1628 5 1628 1628 5 1628 1770 5 1628 1628 6 1628 .I 1629 .T Stat-Pack: A Biostatistical Programming Package .W A package of FORTRAN statistical programs for use on almost any small to medium size (40k characters or 8k words) for which a FORTRAN II compiler exists is described and its availability is announced. The major design criteria of ease of use, ease of modification, flexibility of input and detail of output are described. .B CACM February, 1967 .A Shannon, S. Henschke, C. .N CA670213 JB February 28,1978 1:57 PM .X 1629 5 1629 1629 5 1629 1629 5 1629 .I 1630 .T Computer Representation of Planar Regions by Their Skeletons .W Any region can be regarded as a union of maximal neighborhoods of its points, and can be specified by the centers and radii of these neighborhoods; this set is a sort of"skeleton" of the region. The storage required to represent a region in this way is comparable to that required when it is represented by encoding its boundary. Moreover, the skeleton representation seems to have advantages when it is necessary to determine repeatedly whether points are inside or outside the region, or to perform set-theoretic operations on regions. .B CACM February, 1967 .A Pfaltz, J. L. Rosenfeld, A. .N CA670212 JB February 28, 1978 2:07 PM .X 1630 4 1630 2547 4 1630 2987 4 1630 3165 4 1630 1326 5 1630 1630 5 1630 1630 5 1630 1630 5 1630 2987 5 1630 1326 6 1630 1630 6 1630 2125 6 1630 2547 6 1630 2633 6 1630 421 6 1630 524 6 1630 .I 1631 .T Testing a Random Number Generator .W The first 1,000,000 numbers produced by the random number generator used in the General Purpose Systems Simulator (GPSS) were subjected to statistical tests. The tests are described and the results of the tests are presented. These particular tests indicate that the numbers are satisfactory. It is recommended that suitable tests be applied to all random numbers used in computer simulations. .B CACM February, 1967 .A Gorenstein, S. .N CA670211 JB February 28, 1978 2:10 PM .X 1631 5 1631 1631 5 1631 1631 5 1631 1691 5 1631 1293 6 1631 1420 6 1631 1631 6 1631 .I 1632 .T Programming the Tabular Method of Analysis of Variance for Factorial Experiments .W The ease of programming the tabular method of analysis of variance for complete factorial experiments in a FORTRAN language is demonstrated. In this method, the total sum of squares is partitioned into orthogonal single degree of freedom sums of squares; main effect and interaction sums of squares are then obtained by appropriate pooling of the single degree of freedom sums of squares. Program segments to accomplish the procedure are presented. Modifications to handle hierarchical designs and replicated experiments are mentioned. A FORTRAN II program for an IBM 7094 is described briefly. .B CACM February, 1967 .A Carmer, S. G. .N CA670210 JB February 28, 1978 2:33 PM .X 1632 5 1632 1632 5 1632 1632 5 1632 .I 1633 .T A Modified Newton Method for Polynomials .W A modified Newton method for polynomials is discussed. It is assumed one has approximations for all the roots of the polynomial. Three variations are described. If the roots are simple, it is shown that under appropriate conditions, two of the variations are cubically convergent. .B CACM February, 1967 .A Ehrlich, L. W. .N CA670209 JB February 28, 1978 2:33 PM .X 1633 4 1633 1452 5 1633 1633 5 1633 1633 5 1633 1633 5 1633 .I 1634 .T 27 bits Are Not Enough for 8-digit Accuracy .W From the inequality 10^8 < 2^27, we are likely to conclude that we can represent 8-digit decimal floating-point numbers accurately by 27-bit floating-point numbers. However, we need 28 significant bits to represent some 8-digit numbers accurately. In general, we can show that if 10^p < 2^q-1, then q significant bits are always enough for p-digit decimal accuracy. Finally, we can define a compact 27-bit floating-point representation that will give 28 significant bits, for numbers of practical importance. .B CACM February, 1967 .A Goldberg, I. B. .N CA670208 JB February 28, 1978 2:38 PM .X 1634 5 1634 1634 5 1634 1634 5 1634 1783 5 1634 1843 5 1634 1634 6 1634 1634 6 1634 1783 6 1634 .I 1635 .T Parameters for Pseudo Runge-Kutta Methods .W The object of this note is to present a choice of the free parameters in the third- and fourth-order pseudo Runge-Kutta methods involving two points. This choice of parameters causes a bound on the principal part of the truncation error term to be near the minimum for the fourth-order method and at the minimum for the third-order method. .B CACM February, 1967 .A Byrne, G. D. .N CA670207 JB February 28, 1978 3:20 PM .X 1635 5 1635 1635 5 1635 1635 5 1635 .I 1636 .T Invariant Imbeding and the Numerical Integration of Boundary-Value Problems for Unstable Linear Systems of Ordinary Differential Equations .W In such diverse areas as radiative transfer in planetary atmospheres and optimal guidance and control, two-point boundary-value problems for unstable systems arise, greatly complicating the numerical solution. An invariant imbeding technique is presented which is useful in overcoming these frequently encountered instabilities, and the results of some numerical experiments are given. .B CACM February, 1967 .A Belman, R. E. Kagiwada, H. H. Kalaba, R. E. .N CA670206 JB February 28, 1978 3:28 PM .X 1636 5 1636 1636 5 1636 1636 5 1636 2427 5 1636 1581 6 1636 1636 6 1636 .I 1637 .T Problems in the Statistical Analysis of Simulation Experiments: The Comparison of Means and the Length of Sample Records .W Research is continued into statistical analysis of simulation experiments containing autocorrelated time series. It is shown how to estimate the lengths of sample records needed to use certain large sample results in measuring stability. Analogies between autocorrelated data and independent observations are described. A way to test the difference of the mean of two experiments is suggested. It is shown how the variance of the sample mean relates to the spectrum of the generating process, and estimation of the quantities of interest is described. The results expand the possibilities of statistical spectral analysis as applied to simulation experiments. .B CACM February, 1967 .A Fishman, G. S. .N CA670205 JB February 28, 1978 3:34 PM .X 1637 5 1637 1637 5 1637 1637 5 1637 .I 1638 .T Sorting by Replacement Selecting .W In sorting by replacement selecting, the expected length of a sequence beginning with the i-th element (i>1) is proved to be 2F, in accordance with a conjecture of E. H. Friend, where F is the number of memory cells used. The expected length of the j-th sequence is determined to be F times a j-th degree polynomial in e, such that the value of this polynomial approaches 2 as j approaches infinity. Recursive formulas are obtained for both the mean and the standard deviation of the length of the j-th sequence. The mathematical proofs of these results are based upon the assumption that n, the number of items to be sorted, is infinite, but it is shown that the error due to the finiteness of n approaches zero rapidly as n increases. .B CACM February, 1967 .A Gasner, B. J. .N CA670204 JB February 28, 1978 3:56 PM .X 1638 4 1638 2176 4 1638 2272 4 1638 1638 5 1638 1638 5 1638 1638 5 1638 1867 5 1638 2272 5 1638 677 5 1638 1638 6 1638 1638 6 1638 677 6 1638 .I 1639 .T Exponential Curve Fit (Algorithm 295 [E2]) .B CACM February, 1967 .A Spath, H. .N CA670203a JB February 28, 1978 3:57 PM .X 1639 4 1639 1480 5 1639 1639 5 1639 1639 5 1639 1639 5 1639 2101 5 1639 2102 5 1639 1639 6 1639 1639 6 1639 .I 1640 .T Generalized Least Squared Fit By Orthogonal Polynomials (Algorithm 296 [E2]) .B CACM February, 1967 .A Makinson, G. J. .N CA670203b JB March 23, 1978 4:13 PM .X 1640 5 1640 1640 5 1640 1640 5 1640 .I 1641 .T A Use of Fast and Slow Memories in List-Processing Languages .W A scheme is described which permitting a substantial increase in memory space utilized to store list-structured data. It consists in reducing to one level a nonhomogeneous store composed of fast (core) and slow (disk or drum) memories. The space available in slow memory is divided into pages each containing a given number of machine words. The reduction to a one-level memory is performed by a program which leaves the most often called pages in the fast memory. When a new page from slow store is requested, the page in core having the longest period of inactivity is transferred back to the slow store. The complete scheme has been implemented in connection with a LISP embedding into ALGOL, using an IBM 7044 with 32k of core memory and disks. Gains in memory space were about 100-fold. As often happens in programming applications the price of the additional space is computer time. Although the disks have an access time 10^4 times slower than core, tests indicate that the actual slow down varied from 3 to 10, depending on the number of pages available in the fast store. .B CACM February, 1967 .A Cohen, J. .N CA670202 JB February 28, 1978 4:06 PM .X 1626 5 1641 1641 5 1641 1641 5 1641 1641 5 1641 1708 5 1641 1781 5 1641 1860 5 1641 2299 5 1641 123 6 1641 196 6 1641 919 6 1641 990 6 1641 1007 6 1641 1046 6 1641 1131 6 1641 1139 6 1641 1140 6 1641 1149 6 1641 1198 6 1641 1215 6 1641 1223 6 1641 1265 6 1641 1303 6 1641 1323 6 1641 1358 6 1641 1366 6 1641 1366 6 1641 1389 6 1641 1421 6 1641 1421 6 1641 1460 6 1641 1462 6 1641 1463 6 1641 1467 6 1641 1468 6 1641 1477 6 1641 1491 6 1641 1496 6 1641 1496 6 1641 1502 6 1641 1531 6 1641 1535 6 1641 1565 6 1641 1601 6 1641 1602 6 1641 1613 6 1641 1614 6 1641 1626 6 1641 1626 6 1641 1626 6 1641 1641 6 1641 1641 6 1641 1641 6 1641 1641 6 1641 1641 6 1641 1785 6 1641 1786 6 1641 1787 6 1641 1788 6 1641 205 6 1641 224 6 1641 249 6 1641 288 6 1641 316 6 1641 378 6 1641 381 6 1641 398 6 1641 11 6 1641 404 6 1641 410 6 1641 463 6 1641 464 6 1641 483 6 1641 3184 6 1641 3184 6 1641 3188 6 1641 584 6 1641 600 6 1641 680 6 1641 691 6 1641 763 6 1641 799 6 1641 .I 1642 .T Time Sharing on a Computer with a Small Memory .W Techniques to make time sharing attractive on a computer with a small central memory are presented. "Small" is taken to mean that only one user program plus a monitor will fit into the memory at any time. The techniques depend on having two levels of secondary storage: level 1, several times larger than the main memory and quite fast; and level 2, many times larger and slower than level 1. .B CACM February, 1967 .A Fisher, R. O. Shepard, C. D. .N CA670201 JB February 28, 1978 4:10 PM .X 1642 5 1642 1642 5 1642 1642 5 1642 .I 1643 .T An Improvement to Iterative Methods of Polynomial Factorization .W Methods of polynomial factorization which find the zeros one at a time require the division of the polynomial by the accepted factor. It is shown how the accuracy of this division may be increased by dividing in order of both ascending and descending powers of the variable and choosing a crossover point which minimizes a very simply calculated error criterion. .B CACM January, 1967 .A Bingham, J. A. C. .N CA670112 JB February 28, 1978 4:20 PM .X 1643 5 1643 1643 5 1643 1643 5 1643 .I 1644 .T On the Computation of Least Squares Polynomials .W Rounding error accumulated during digital computation of a least squares polynomial makes the computed polynomial only an approximation to the true least square polynomial. A simple method for adjust ing the constant term of the computed polynomial to get a better approximation to the true least squares polynomial is described. .B CACM January, 1967 .A Goldberg, M. .N CA670111 JB February 28, 1978 4:24 PM .X 1644 5 1644 1644 5 1644 1644 5 1644 .I 1645 .T A Note on Computing Approximations to the Exponential Function .W Two methods are discussed which result in near minimax rational approximations to the exponential function and at the same time retain the desirable property that the approximation for negative values of the argument is the reciprocal of the approximation for corresponding positive values. These methods lead to approximations which are much superior to the commonly used convergents of the Gaussian continued fraction for the exponential. Coefficients and errors are given for the intervals [-.5*ln 2, .5*ln 2] and [-ln 2, ln 2]. .B CACM January, 1967 .A Cody, W. J. Ralston, A. .N CA670110JB February 28, 1978 4:25 PM .X 1015 4 1645 1346 4 1645 1440 4 1645 1645 4 1645 951 4 1645 1645 5 1645 1645 5 1645 1645 5 1645 532 5 1645 .I 1646 .T DITRAN-A Compiler Emphasizing Diagnostics .W DITRAN (Diagnostic FORTRAN) is an implementation of ASA Basic FORTRAN with rather extensive error checking capabilities both at compilation time and during execution of a program. The need for improved diagnostic capabilities and some objectives to be met by any compiler are discussed. Attention is given to the design and implementation of DITRAN and the particular techniques employed to provide the diagnostic features. The handling of error messages by a general macro approach is described. Special features which provide teaching aids for use by instructors are noted. .B CACM January, 1967 .A Moulton, P. G. Muller, M. E. .N CA670109 JB February 28, 1978 4:30 PM .X 1179 4 1646 1225 4 1646 1288 4 1646 1350 4 1646 1544 4 1646 1613 4 1646 1646 4 1646 1646 4 1646 1646 4 1646 1646 4 1646 1646 4 1646 1646 4 1646 1647 4 1646 1728 4 1646 1781 4 1646 1900 4 1646 1945 4 1646 1955 4 1646 2025 4 1646 2111 4 1646 2154 4 1646 2365 4 1646 2506 4 1646 2534 4 1646 2556 4 1646 2650 4 1646 2650 4 1646 2698 4 1646 2708 4 1646 3060 4 1646 3093 4 1646 987 5 1646 1072 5 1646 1179 5 1646 1646 5 1646 1646 5 1646 1646 5 1646 1647 5 1646 2887 5 1646 680 5 1646 830 5 1646 1646 6 1646 2111 6 1646 .I 1647 .T WATFOR-The University of Waterloo FORTRAN IV Compiler .W WATFOR is an in-core, load-and-go compiler which has been implemented within the IBM 7040/44 operating system. FORTRAN IV was selected as the source language in order to achieve maximum language compatibility with other available compiling systems, in particular the IBM 7040/44 FORTRAN IV system. The principal advantage of the WATFOR compiler is that it translates FORTRAN IV programs at speeds of up to 100 statements per second. Since the compiler resides core there is virtually no system overhead, and hence large batches of "student" programs may be processed very efficiently. The compiler also provides extensive error diagnostics, during both the compilation and the execution phases of a program run. This feature makes the system attractive to both learners and learned users alike. .B CACM January, 1967 .A Shantz, P. W. German, R. A. Mitchell, J. G. .N CA670108 JB February 28, 1978 4:36 PM .X 267 4 1647 1139 4 1647 1141 4 1647 1215 4 1647 1223 4 1647 1646 4 1647 1647 4 1647 1647 4 1647 1781 4 1647 1787 4 1647 1792 4 1647 364 4 1647 405 4 1647 438 4 1647 763 4 1647 1179 5 1647 224 5 1647 1646 5 1647 1647 5 1647 1647 5 1647 1647 5 1647 1728 5 1647 830 6 1647 987 6 1647 1072 6 1647 1179 6 1647 1525 6 1647 1647 6 1647 1647 6 1647 1785 6 1647 680 6 1647 .I 1648 .T Uniform Random (Algorithm 294 [G5]) .B CACM January, 1967 .A Strome, W. M. .N CA670107 JB February 28, 1978 4:37 PM .X 1648 5 1648 1648 5 1648 1648 5 1648 1663 5 1648 2349 5 1648 1190 6 1648 1648 6 1648 1648 6 1648 1716 6 1648 1794 6 1648 1894 6 1648 2043 6 1648 501 6 1648 613 6 1648 774 6 1648 .I 1649 .T Data Directed Input-Output in FORTRAN .W A statement which is similar to the NAMELIST statement of FORTRAN IV has been incorporated in the FORTRAN 63 compiler. The FORTRAN 63 implementation allows a greater flexibility and simplicity than the FORTRAN IV feature. The Hollerith names, the location, the mode and the dimensions of a variable can be discovered by means of standard FORTRAN statements. Methods of using this information are illustrated in relation to general purpose data directed input and output routines; some other uses such as matrix manipulation are discussed. .B CACM January, 1967 .A Hassitt, A. .N CA670106 JB February 28, 1978 4:41 PM .X 1649 4 1649 1053 5 1649 1649 5 1649 1649 5 1649 1649 5 1649 .I 1650 .T A Unifying Computational Method for the Analysis of Complete Factorial Experiments .W A computational method which may be used for the calculation of sums of squares in the analysis of variance of complete factorial experiments and in the computation of main effect or interaction means is described. The method is elucidated as unifying since one method can be used for a variety of purposes each previously requiring different methods. The programming advantages of such a method are obvious. The following variants are discussed: (1) the standard analysis of variance; (2) analyses omitting certain levels of one or more factors; (3) separate analyses for some levels of a factor or for combinations of levels of more than one factor. These are performed simultaneously; (4) the calculation of main effect or interaction means. The mean expects the data in standard order and it leaves the data in that order so that many analyses of the same data can be performed without rearrangement. The total sum of squares, excluding a replication sum of squares, is partitioned into all polynomial partitions and their interactions each with one degree of freedom. This is so even if factors have unequally spaced factor levels. .B CACM January, 1967 .A Cooper, B. E. .N CA670105 JB February 28, 1978 4:49 PM .X 1650 5 1650 1650 5 1650 1650 5 1650 .I 1651 .T An Interpretive Input Routine for Linear Programming .W In this descriptive article an input code is presented which greatly simplifies data input to any linear programming solution routine, for subsequent use either as a pedagogical device or for solving rather small LP problems. This latter (limited) use derives not at all from inherent limitations in the code itself, but from an efficiency evaluation: large LP problems would doubtless benefit from an input system more suited for bulk data handling than the input code described. From a user's standpoint, input appears almost exactly as a textbook presentation of the LP problem (limited only by a keypunch's inability to write subscripts, etc.). The input interpreter scans column wise, thus no fixed format data preparation is required. The user may also, under very general requirements only, liberally use editorial comments throughout the input deck as an aid in identification, e.g., of row constraints. The article includes examples of input, output from a solution routine presently in use, and a skeleton flowchart of the input interpreter. .B CACM January, 1967 .A Aigner, D. J. .N CA670104 JB March 1, 1978 8:58 AM .X 1651 5 1651 1651 5 1651 1651 5 1651 .I 1652 .T A Code for Non-numeric Information Processing Applications in Online Systems .W A code has been specifically designed to simplify the internal information processing operations within an online computer system with respect to non-numeric applications, and to maximize the transfer rate of the information channel linking the system and the system user. The code has direct application to problems in area such as information retrieval, document classification, computer-aided teaching and text editing. This code, called IPC (Information Processing Code), is an 8-bit code set constructed so that 7, 6, 5 and 4-bit subsets can be easily derived from the basic set. The code set is organized so that simple binary operations can distinguish between the numeric alphabetic, special symbol and control character codes. The number of usable characters within the basic set size may be expanded either by use of escape codes included in the set, or by suitable interpretation of otherwise unassigned codes on the basis of the requirements of local environments. .B CACM January, 1967 .A Morenoff, E. McLean, J. B. .N CA670103 JB March 1, 1978 9:05 AM .X 1652 5 1652 1652 5 1652 1652 5 1652 .I 1653 .T System Performance Evaluation: Survey and Appraisal .W The state of the art of system performance evaluation is reviewed and evaluation goals and problems are examined. Throughput, turnaround, and availability are defined as fundamental measures of performance; overhead and CPU speed are placed in perspective. The appropriateness of instruction mixes, kernels, simulators, and other tools is discussed, as well as pitfalls which may be encountered when using them. Analysis, simulation, and synthesis are presented as three levels of approach to evaluation, requiring successively greater amounts of information. The central role of measurement in performance evaluation and in the development of evaluation methods is explored. .B CACM January, 1967 .A Calingaert, P. .N CA670102 JB March 1, 1978 9:10 AM .X 1653 4 1653 1653 4 1653 1653 4 1653 2387 4 1653 2852 4 1653 2989 4 1653 963 5 1653 1069 5 1653 1417 5 1653 1653 5 1653 1653 5 1653 1653 5 1653 2151 5 1653 2318 5 1653 1653 6 1653 1653 6 1653 1747 6 1653 1860 6 1653 .I 1654 .T A University's Educational Program in Computer Science .W After a review of the power of contemporary computers, computer science is defined in several ways. The objectives of computer science education are stated, and it is asserted that in a North American university these will be achieved only through a computer science department. The program at Stanford University is reviewed as an example. The appendices include syllabic of Ph.D. qualifying examinations for Stanford's Computer Science Department. .B CACM January, 1967 .A Forsythe, G. E. .N CA670101 JB March 1, 1978 9:13 AM .X 1413 4 1654 1654 4 1654 1771 4 1654 2478 4 1654 1205 5 1654 1654 5 1654 1654 5 1654 1654 5 1654 1720 5 1654 1771 5 1654 1205 6 1654 1654 6 1654 1654 6 1654 1771 6 1654 .I 1655 .T Code Extension Procedures for Information Interchange* (Proposed USA Standard) .B CACM December, 1968 .K standard code, code, information interchange, characters, shift out, shift in, escape, data link escape, control functions, standard procedures, code extension, code table, bit pattern .C 1.0 2.0 2.43 3.20 3.24 3.50 3.51 3.52 3.53 3.54 3.55 3.56 3.57 3.70 3.71 3.72 3.73, 3.74, 3.75, 3.80, 3.81, 3.82, 3.83, 5.0, 5.1, 6.2, 6.21, 6.22 .N CA681211 JB February 21, 1978 12:16 PM .X 1655 5 1655 1655 5 1655 1655 5 1655 .I 1656 .T Procedures for the Standardization Process* (Proposed USA Standard) .B CACM December, 1968 .K standardization, procedures, criteria .C 2.3 4.2 .N CA681210 JB February 21, 1978 12:21 PM .X 1656 5 1656 1656 5 1656 1656 5 1656 .I 1657 .T Implementation of the SHARER2 Time-Sharing System .W A simple mechanism is described for the execution of part of a program with its own memory protection. This allows such a program to act as a suboperating system. An improved version of the SHARER time-sharing system using this feature is described. .B CACM December, 1968 .A Harrison, M. C. .K operating system, memory protection, time-sharing, multiprogramming, monitor, submonitor, suboperating system .C 4.32 4.31 4.32 .N CA681209 JB February 21, 1978 1:27 PM .X 1657 4 1657 2080 4 1657 2357 4 1657 2536 4 1657 1523 5 1657 1657 5 1657 1657 5 1657 1657 5 1657 .I 1658 .T Analysis of Algorithms for the Zero-One Programming Problem .W This paper is concerned with a review and examination of several existing algorithms for the zero-one programming problem. Computational experience is summarized. The machine time and storage requirements of several of the algorithms are compared over several test problems of small and intermediate size. Computer experiments still provide little hope of solving problems with over 100 variables with a reasonable amount of machine time. .B CACM December, 1968 .A Gue, R. L. Liggett, J. C. Cain, K. C. .K operations research, optimization theory, integer programming, zero-one variables, algorithms .C 5.39 5.41 .N CA681208 JB February 21, 1978 1:31 PM .X 1658 4 1658 1088 5 1658 1658 5 1658 1658 5 1658 1658 5 1658 2226 5 1658 1658 6 1658 1666 6 1658 .I 1659 .T Computational Linguistics in a Ph.D. Computer Science Program .W This report contains recommendations for a course curriculum on computational linguistics in a Ph.D. computer science program. A classification of the subject areas contained in computational linguistics is presented, and ten courses in these areas are described. A basic bibliography in computational linguistics is appended. .B CACM December, 1968 .A Kuno, S. Oettinger, A. G. .K computational linguistics, mathematical linguistics, language and computer, language data processing, computational linguistics course curriculum, computational linguistics graduate program, computational linguistics bibliography, computer science curriculum .C 1.52 3.42 3.43 .N CA681207 JB February 21, 1978 1:37 PM .X 1350 4 1659 1350 4 1659 1399 4 1659 1659 4 1659 1659 4 1659 1659 4 1659 1659 4 1659 1659 4 1659 1768 4 1659 1781 4 1659 1856 4 1659 1945 4 1659 2050 4 1659 2110 4 1659 3094 4 1659 1225 5 1659 1265 5 1659 1350 5 1659 1659 5 1659 1659 5 1659 1659 5 1659 1671 5 1659 1697 5 1659 1927 5 1659 3003 5 1659 1659 6 1659 1659 6 1659 1678 6 1659 1771 6 1659 1927 6 1659 1945 6 1659 2097 6 1659 2147 6 1659 2163 6 1659 2187 6 1659 2329 6 1659 2345 6 1659 2367 6 1659 2407 6 1659 2478 6 1659 2479 6 1659 2480 6 1659 2538 6 1659 .I 1660 .T Index By Subject To algorithms, 1960-1968 .B CACM December, 1968 .N CA681206 JB February 21, 1978 1:39 PM .X 1660 5 1660 1660 5 1660 1660 5 1660 .I 1661 .T Multint (Algorithm 32 [D1]) .B CACM December, 1968 .A Kolbig, K. S. .K numerical integration, multidimensional integration, Gaussian integration .C 5.16 .N CA681205 JB February 21, 1978 1:41 PM .X 1661 5 1661 1661 5 1661 1661 5 1661 .I 1662 .T Eigenvalues and Eigenvectors of a Real General Matrix [F2]) .B CACM December, 1968 .A Grad, J. Brebner, M. A. .K eigenvalues, eigenvectors, latent roots, latent vectors, Householder's method, QR algorithm, inverse iteration .C 5.14 .N CA681204 JB February 21, 1978 1:42 PM .X 1662 5 1662 1662 5 1662 1662 5 1662 1968 5 1662 2099 5 1662 2335 5 1662 1662 6 1662 1662 6 1662 1662 6 1662 1707 6 1662 2099 6 1662 .I 1663 .T Generator of Random Numbers Satisfying the Poisson distribution [G5]) .B CACM December, 1968 .A Snow, R. H. .K Poisson distribution, random number generator, Monte Carlo .C 5.12 5.5 .N CA681203 JB February 21, 1978 1:45 PM .X 1663 4 1663 1663 4 1663 2195 4 1663 2349 4 1663 2679 4 1663 1190 5 1663 1648 5 1663 1663 5 1663 1663 5 1663 1663 5 1663 2123 5 1663 1663 6 1663 .I 1664 .T An Algorithm for Deriving the Equations of Mathematical Physics by Symbolic Manipulation .W A method is described whereby a digital computer can be used to derive the equations of mathematical physics in any curvilinear coordinate system requested by the user. The effectiveness of the technique is demonstrated by using it to derive the Navier-Stokes equations of fluid motion and the continuity equation. To derive these equations by this method, the user need know only the coordinate transformation equations relating the curvilinear coordinates of interest to an orthogonal Cartesian triad. When this program is used and the coordinate transformation equations are supplied as input, the computer will derive the Navier-Stokes equations and the continuity equation. The equations obtained will be relative to the curvilinear coordinate system specified by the transformation equations used as input. In this paper the emphasis is on theoretical considerations and methodology rather than on programming details. Results are presented for cylindrical polar and spherical polar coordinate systems. .B CACM December, 1968 .A Howard, J. C. Tashjian, H. .K FORMAC, Navier-Strokes equations, continuity equation, tensor, tensor equation, curvilinear coordinate systems, FORTRAN, symbolic manipulation .C 3.21 3.25 3.29 4.12 4.29 .N CA681202 JB February 21, 1978 2:02 PM .X 1543 4 1664 1543 4 1664 1664 4 1664 1664 4 1664 1664 4 1664 1345 5 1664 1543 5 1664 1616 5 1664 1664 5 1664 1664 5 1664 1664 5 1664 .I 1665 .T Automatic Generation of Efficient Lexical Processors Using Finite State Techniques .W The practical application of the theory of finite-state automata to automatically generate lexical processors is dealt with in this tutorial article by the use of the AED RWORD system, developed at M.I.T. as part of the AED-1 system. This system accepts as input description of the multicharacter items or of words allowable in a language given in terms of a subset of regular expressions. The output of the system is a lexical processor which reads a string of characters and combines them into the items as defined by the regular expressions. Each output item is identified by a code number together with a pointer to a block of storage containing the characters and character count in the item. The processors produced by the system are based on finite-state machines. Each state of a "machine" corresponds to a unique condition in the lexical processing of a character string. At each state a character is read, and the machine changes to a new state. At each transition appropriate actions are taken based on the particular character read. The system has been in operation since 1966, and processors generated have compared favorably in speed to carefully hand-coded programs to accomplish the same task. Lexical processors for AED-O and MAD are among the many which have been produced. The techniques employed are independent of the nature of the items being evaluated. If the word "events" is substituted for character string, these processors may be described as generalized decision-making mechanisms based upon an ordered sequence of events. This allows the system to be used in a range of applications outside the area of lexical processing. However convenient these advantages may be, speed is the most important consideration. In designing a system for automatic generation of a lexical processor, the goal was a processor which completely eliminated backup or rereading, which was nearly as fast as hand-coded processors, which would analyze the language and detect errors, and which would be convenient and easy to use. .B CACM December, 1968 .A Johnson, W. L. Porter, J. H. Ackley, S. I. Ross, D. T. .K character string, compiler, finite-state automata, finite-state machine, lexical processor, nondeterministic machine, parsing, plex structure, regular expressions,sequential machine, syntactic analysis .C 3.63 3.75 4.12 5.22 5.24 5.31 .N CA681201 JB February 21, 1978 2:19 PM .X 1051 4 1665 1139 4 1665 1265 4 1665 1323 4 1665 1358 4 1665 1380 4 1665 1552 4 1665 1665 4 1665 1665 4 1665 1665 4 1665 1665 4 1665 1768 4 1665 1781 4 1665 1787 4 1665 1787 4 1665 1824 4 1665 1825 4 1665 1836 4 1665 1860 4 1665 1861 4 1665 1989 4 1665 2015 4 1665 2110 4 1665 2112 4 1665 2127 4 1665 2155 4 1665 2187 4 1665 2317 4 1665 2534 4 1665 2541 4 1665 2545 4 1665 2698 4 1665 2698 4 1665 2733 4 1665 2733 4 1665 2820 4 1665 3073 4 1665 3155 4 1665 763 4 1665 1665 5 1665 1665 5 1665 1665 5 1665 1781 5 1665 378 5 1665 2746 5 1665 631 5 1665 799 5 1665 1665 6 1665 1739 6 1665 2139 6 1665 2545 6 1665 2786 6 1665 .I 1666 .T Solution of Linear Programs in 0-1 Variables by Implicit Enumeration (Algorithm 341 [H]) .B CACM November, 1968 .A Byrne, J. L. Proll, L. G. .K linear programming, zero-one variables, partial enumeration .C 5.41 .N CA681113 JB February 21, 1978 2:21 PM .X 1666 5 1666 1666 5 1666 1666 5 1666 2226 5 1666 1658 6 1666 1666 6 1666 .I 1667 .T Roots of Polynomials by a Root-Squaring and Resultant Routine (Algorithm 340 [C2]) .B CACM November, 1968 .A Noltemeier, A. .K root finders, roots of polynomial equations, polynomial zeros, root-squaring operations, Graeffe method, resultant procedure, subresultant procedure, testing of roots, acceptance criteria .C 5.15 .N CA681112 JB February 21, 1978 2:24 PM .X 1667 4 1667 1667 4 1667 1667 4 1667 178 5 1667 1242 5 1667 1667 5 1667 1667 5 1667 1667 5 1667 327 5 1667 .I 1668 .T An Algol Procedure for the Fast Fourier Transform with Arbitrary Factors (Algorithm 339 [C6]) .B CACM November, 1968 .A Singleton, R. C. .K fast Fourier transform, multivariate Fourier transform, Fourier series, harmonic analysis, spectral analysis, orthogonal polynomials, orthogonal transformation, virtual core memory, permutation .C 3.15 3.83 5.12 5.14 .N CA681111 JB February 21, 1978 2:26 PM .X 1668 4 1668 1668 4 1668 1669 4 1668 1679 4 1668 1728 4 1668 2859 4 1668 1525 5 1668 1668 5 1668 1668 5 1668 1668 5 1668 1669 5 1668 .I 1669 .T Algol Procedures for the Fast Fourier Transform (Algorithm 338 [C6]) .B CACM November, 1968 .A Singleton, R. C. .K fast Fourier transform, complex Fourier transform, multivariate Fourier transform, Fourier series, harmonic analysis, spectral analysis, orthogonal polynomials, orthogonal transformation, virtual core memory, permutation .C 3.15 3.83 5.12 5.14 .N CA681110 JB February 21, 1978 2:29 PM .X 1668 4 1669 1669 4 1669 1679 4 1669 1728 4 1669 2859 4 1669 1525 5 1669 1668 5 1669 1669 5 1669 1669 5 1669 1669 5 1669 1525 6 1669 1669 6 1669 .I 1670 .T Correspondences of 8-Bit and Hollerith Codes for Computer Environments (A USASI Tutorial Standard) .B CACM November, 1968 .K USA standard, card code, punched card, punched card code, hole-patterns, hole-patterns assignment, punched card systems .C 1.1 1.4 2.0 2.12 2.43 2.44 3.10 3.20 3.30 3.31 3.42 3.50 3.56 3.70 3.72 3.73 3.74, 3.80, 3.81, 4.0, 4.1, 4.2, 4.20, 4.40, 5.0 .N CA681109 JB February 21, 1978 2:33 PM .X 1670 5 1670 1670 5 1670 1670 5 1670 .I 1671 .T A Phonological Rule Tester .W The design and implementation of a system to alleviate the problem of rule evaluation for the linguist in the area of phonology are presented. It permits the user to define, on-line, sets of rules statable within the framework presented in The Sound Patterns of English by Chomsky and Halle, 1968, to define phonemes as bundles of specified distinctive features, to define data as strings of phonemes with associated grammatical structure, to test the effect of applying rules to the data, and to store both the definitions and results. The rule application facility described in detail was implemented by translating linguistic rules to rules in FLIP, a format-directed list processor embedded in LISP. This made the system construction easy while providing sophisticated capabilities for the linguist. The system is written in BBN LISP on the Scientific Data System 940 computer and is designed to be used on-line in interactive fashion, with control returned to the user after each command is executed. .B CACM November, 1968 .A Borrow, D. G. Fraser, J. B. .K phonology, rule tester, linguistics, transformational grammar, LISP, format-directed list processing, on-line systems .C 3.42 4.13 4.22 .N CA681108 JB February 21, 1978 2:41 PM .X 1659 5 1671 1671 5 1671 1671 5 1671 1671 5 1671 1225 6 1671 1265 6 1671 1350 6 1671 1671 6 1671 1697 6 1671 .I 1672 .T Practical Error Coefficients in the Integration of Periodic Analytic Functions by the Trapezoidal Rule .W Theoretical and practical values of error coefficients useful in bounding the error in integrating periodic analytic functions with the trapezoidal rule are tabulated for various ranges of the parameters. .B CACM November, 1968 .A Rabinowitz, P. .K theoretical error coefficients, practical error coefficients, numerical integration, periodic analytic functions, trapezoidal rule, roundoff error, truncation error, integration algorithm .C 5.11 5.16 .N CA681107 JB February 21, 1978 2:45 PM .X 1672 4 1672 1672 5 1672 1672 5 1672 1672 5 1672 1784 5 1672 .I 1673 .T Approximate Solution of Initial Boundary Wave Equation Problems by Boundary-Value Techniques .W A new boundary-value technique is proposed for the treatment of initial-boundary-value problems for linear and mildly nonlinear wave equations. Several illustrative examples are offered to demonstrate the ease with which the method can be applied. .B CACM November, 1968 .A Greenspan, D. .K initial-boundary-value problem, wave equation, boundary-value technique .C 5.15 5.17 .N CA681106 JB February 21, 1978 2:48 PM .X 1673 5 1673 1673 5 1673 1673 5 1673 .I 1674 .T One-Line Random Number Generators and Their Use in Combinations .W Some one-line random number generators, i.e. generators requiring a single FORTRAN instruction are discussed, and some short FORTRAN programs which mix several such generators are described. The aim is to provide methods for incorporating random number generators directly in FORTRAN programs, by means of a few in-line instructions. The advantages are speed (avoiding linkage to and from a subroutine), convenience, and versatility. Anyone wishing to experiment with generators, either using congruential generators by themselves or mixing several generators to provide a composite with potentially better statistical properties than the library generators currently available, may wish to consider some of the simple FORTRAN program discussed here. .B CACM November, 1968 .A Marsaglia, G. Bray, T. A. .K random number generation, Monte Carlo, simulation .C 5.5 .N CA681105 JB February 21, 1978 2:54 PM .X 1674 4 1674 1691 4 1674 1293 5 1674 1674 5 1674 1674 5 1674 1674 5 1674 1794 5 1674 1870 5 1674 2122 5 1674 1674 6 1674 1674 6 1674 1674 6 1674 1691 6 1674 .I 1675 .T A Note on a Relevance Estimate and Its Improvement .W In this paper the effect of iterating the improvement procedure is examined. It is shown that applications of the improvement factor beyond the first time are ineffectual, and that the factor is but a scale factor. .B CACM November, 1968 .A Korfhage, R. R. .K information retrieval, relevance, indexing, classification .C 3.70 3.71 3.74 .N CA681104 JB February 21, 1978 2:57 PM .X 1675 5 1675 1675 5 1675 1675 5 1675 .I 1676 .T The LRLTRAN Compiler .W Extensive software problems confront an organization which possesses a number of different computers and which frequently acquires new ones. To maintain cohesion, a system must be developed, written in a high level language, which minimizes machine dependencies and isolates those which are necessary. A language and a compiler for the language are discussed here. The language, called LRLTRAN, is a heavily augmented FORTRAN. The tree-pass compiler makes use internally of a postfix Polish notation (pass I to pass II) and a tree representation referred to as a "composite blocking table" (pass I to pass III). Machine-independent optimization occurs in pass II and DO-loop and machine-dependent optimization in pass III. .B CACM November, 1968 .A Mendicino, S. F. Martin, J. T. Ranelletti, J. E. Zwakenberg, R. G. .K compiler, compiler-compiler, machine independence, scatter storage technique, Polish processor, common subsegments, tree representation, optimization .C 4.12 4.20 .N CA681103 JB February 21, 1978 3:03 PM .X 1676 4 1676 1682 4 1676 1728 4 1676 1860 4 1676 1973 4 1676 2018 4 1676 2032 4 1676 2033 4 1676 2107 4 1676 2109 4 1676 2203 4 1676 2251 4 1676 2359 4 1676 2524 4 1676 2543 4 1676 2552 4 1676 2559 4 1676 2991 4 1676 3053 4 1676 1676 5 1676 1676 5 1676 1676 5 1676 1785 5 1676 2859 5 1676 1525 6 1676 1676 6 1676 .I 1677 .T Storage Organization in Programming Systems .W The system of program and data representation that has been in use on the Rice University computer for five years is described. Each logical entity in storage occupies a block of consecutive memory locations. Each block is labeled by a codeword and may contain a program, a data vector, or codewords which in turn label blocks to form arrays. This storage arrangement is discussed with its realized advantages or programming systems: simplicity of programmed addressing, flexibility of data structures, efficiency of memory utilization, variability of system composition during execution, means of linkage between programs and from programs to data, and basis for storage protection. The application of labeled blocks may be extended to areas of time-sharing and multimedia storage control. On the basis of experience at rice, some ideas on such extensions are presented. .B CACM November, 1968 .A Jodeit, J. G. .K storage allocation, storage organization, storage control, codewords, data representation, program representation, data structures, storage protection, addressing mechanisms, paging, segmentation, file handling .C 4.30 4.40 6.20 .N CA681102 JB February 21, 1978 3:11 PM .X 1677 5 1677 1677 5 1677 1677 5 1677 2064 5 1677 1677 6 1677 .I 1678 .T Automata, Formal Languages, Abstract Switching, and Computability in a Ph.D. Computer Science Program .W A number of courses are listed in the area describe as automata, formal languages, abstract switching, and computability, that might be available to a Ph.D. student in computer science. A brief catalog description of each course is applied and the role of each of the courses in the graduate program is discussed. .B CACM November, 1968 .A McNaughton, R. .K Ph.D. computer-science curriculum, Ph.D. computer science program, automata, formal languages, switching theory, theory of computability .C 1.5 5.2 6.1 .N CA681101 JB February 21, 1978 3:16 PM .X 1678 5 1678 1678 5 1678 1678 5 1678 3003 5 1678 1659 6 1678 1678 6 1678 1927 6 1678 1945 6 1678 2097 6 1678 2147 6 1678 2163 6 1678 2187 6 1678 2329 6 1678 2345 6 1678 2367 6 1678 2407 6 1678 2478 6 1678 2479 6 1678 2480 6 1678 2538 6 1678 .I 1679 .T A Fast Fourier Transform Algorithm for Real-Valued Series .W A new procedure is presented for calculating the complex, discrete Fourier transform of real-valued time series. This procedure is described for an example where the number of points in the series is an integral power of two. This algorithm preserves the order and symmetry of the Cooley-Turkey fast Fourier transform algorithm while effecting the two-to-one reduction in computation and storage which can be achieved when the series is real. Also discussed are hardware and software implementations of the algorithm which perform only (N/4) log2 (N/2) complex multiply and add operations, and which require only N real storage locations in analyzing each N-point record. .B CACM October, 1968 .A Bergland, G. D. .K fast Fourier transform, time series analysis, digital filtering, spectral analysis, real-time spectrum analyzers, Fourier analysis, discrete Fourier transform, digital spectrum analysis, Fourier analysis algorithm, Fourier synthesis algorithm .C 3.80 3.81 4.9 5.49 6.22 .N CA681008 JB February 21, 1978 3:23 PM .X 1668 4 1679 1669 4 1679 1679 4 1679 1728 4 1679 2859 4 1679 1525 5 1679 1679 5 1679 1679 5 1679 1679 5 1679 2354 5 1679 1418 6 1679 1521 6 1679 1597 6 1679 1679 6 1679 2350 6 1679 2355 6 1679 .I 1680 .T A General-Purpose Display Processing and Tutorial System .W ADEPT (A display-Expedited Processing and Tutorial) system is described. This system was designed to improve man-computer communications by employing a display unit to interleave tutoring with other computer operations such as simulation, programming, and information retrieval. It is written in FORTRAN IV (G) for the IBM System/360, Model 40, and the IBM 2250 display Unit under Operating System/360. Adept is a cataloged program that controls the standard operating system by terminating and rescheduling itself automatically, relinquishing computer resources allocated to it, and surrendering control to the operating system to perform other jobs. It expands the power and flexibility of computer-assisted instruction by making immediately available to students, teachers, and other users, the full resources (system-cataloged programs) of the operating system. Language processors and compilers, simulation models, mathematical solution techniques, stored data, and all other library and user programs can be incorporated into instructional material without reprogramming. Illustrations of the various applications are presented and their implications are discussed. .B CACM October, 1968 .A Engvold, K. J. Hughes, J. L. .K computer-assisted instruction, tutorial systems, programming, simulation, modeling, information retrieval operating systems, graphics, displays, man-machine interface, on-line computing, graphic programming .C 1.5 3.3 3.5 3.8 4.0 4.3 .N CA681007 JB February 21, 1978 3:36 PM .X 1680 4 1680 1591 5 1680 1680 5 1680 1680 5 1680 1680 5 1680 .I 1681 .T Easy English,a Language for Information Retrieval Through a Remote Typewriter Console .W Easy English is a natural command language designed to simplify communication between man and machine through remote typewriter console. It has been developed for retrieval of documents from a computerized data base, the Moore School Information Systems Laboratory files. Requests are formulated in a standardized syntactical form (examples of which are presented), and this form is then transformed into an equivalent query expressed in the retrieval system's original Symbolic Command Language, which is briefly described. Operation of easy English is detailed by illustration of the transformations performed upon a sample request up to the point at which the request string is sent to the system. A macro flowchart of Easy English is included, and an Appendix provides the printout of a retrieval demonstration. .B CACM October, 1968 .A Rubinoff, M. Bergman, S. Cautin, H. Rapp, F. .K natural language communication, on-line searching, remote console communication, information retrieval, man-machine communication, remote terminal communication, translator, document retrieval, conversational mode, information retrieval language, symbolic command language .C 3.74 3.81 4.19 .N CA681006 JB February 21, 1978 3:59 PM .X 1681 4 1681 1699 4 1681 1194 5 1681 1681 5 1681 1681 5 1681 1681 5 1681 1699 5 1681 1194 6 1681 1324 6 1681 1681 6 1681 .I 1682 .T The Implementation of a BASIC System in a Multiprogramming Environment .W The implementation of a remote terminal BASIC system within the context of an existing multiprogramming computer system, the Burroughs B5500, is described. This implementation combines a unique mixture of machine language and interpretive techniques with an incremental compiler. .B CACM October, 1968 .A Braden, H. V. Wulf, W. A. .K multiprogramming, incremental compilation, compilers, interpreters .C 4.1 4.12 4.2 4.22 4.3 4.32 .N CA681005 JB February 21, 1978 4:04 PM .X 1215 4 1682 1676 4 1682 1682 4 1682 1682 4 1682 1728 4 1682 1860 4 1682 1973 4 1682 2018 4 1682 2032 4 1682 2033 4 1682 2107 4 1682 2109 4 1682 2203 4 1682 2251 4 1682 2359 4 1682 2524 4 1682 2543 4 1682 2552 4 1682 2559 4 1682 2991 4 1682 3053 4 1682 1025 5 1682 1682 5 1682 1682 5 1682 1682 5 1682 1785 5 1682 2874 5 1682 1682 6 1682 2227 6 1682 2317 6 1682 2683 6 1682 2871 6 1682 521 6 1682 .I 1683 .T Boolean matrix Methods for the Detection of Simple Precedence Grammars .W A mechanical procedure is derived for determining whether a given context-free phrase structure grammar is a simple precedence grammar. This procedure consists of elementary operations on suitably defined Boolean matrices. Application of the procedure to operator grammars is also given. .B CACM October, 1968 .A Martin, D. F. .K syntax analysis, precedence analysis, simple precedence grammar, simple precedence language, operator grammar, operator precedence, compilers, bounded-context syntactic analysis, Boolean matrices, relations .C 4.12 5.23 .N CA681004 JB February 21, 1978 4:09 PM .X 1496 4 1683 1542 4 1683 1683 4 1683 1683 4 1683 1693 4 1683 1768 4 1683 1781 4 1683 1787 4 1683 1787 4 1683 1836 4 1683 1945 4 1683 1945 4 1683 2060 4 1683 2061 4 1683 2061 4 1683 2082 4 1683 2091 4 1683 2152 4 1683 2179 4 1683 2340 4 1683 2356 4 1683 2546 4 1683 2603 4 1683 2698 4 1683 2708 4 1683 2824 4 1683 2982 4 1683 2986 4 1683 3045 4 1683 3093 4 1683 1141 5 1683 1491 5 1683 1683 5 1683 1683 5 1683 1683 5 1683 2221 5 1683 2340 5 1683 2824 5 1683 2986 5 1683 1191 6 1683 1491 6 1683 1491 6 1683 1491 6 1683 1683 6 1683 1683 6 1683 1683 6 1683 1683 6 1683 1836 6 1683 1836 6 1683 2053 6 1683 2179 6 1683 2340 6 1683 2340 6 1683 .I 1684 .T Ambiguity in Limited Entry Decision Tables .W The use of decision tables as a tool in systems analysis and for program specification is now becoming accepted. Rules on redundancy, contradiction, and completeness for limited entry tables were published in 1963. These are usually used for checking, preceded if necessary by a conversion from extended to limited entry form. Processors which automatically translate tables to more conventional program usually base their diagnostic facilities on these rules. In this paper it is suggested that these rules are unsatisfactory and that the important aspect of checking is to eliminate ambiguity from tables. Ambiguity is defined and discussed, and a procedure for producing checked-out decision tables is proposed. The theoretical basis of the algorithm used is established. The importance of well-designed diagnostic facilities in decision table processors is emphasized. .B CACM October, 1968 .A King, P. J. H. .K decision tables, DETAB-65, systems analysis .C 3.50 4.19 4.49 .N CA681003 JB February 21, 1978 4:17 PM .X 1684 4 1684 1684 4 1684 2053 4 1684 2220 4 1684 2273 4 1684 2453 4 1684 2726 4 1684 2856 4 1684 3113 4 1684 1354 5 1684 1564 5 1684 1684 5 1684 1684 5 1684 1684 5 1684 2053 5 1684 2517 5 1684 2518 5 1684 2616 5 1684 3034 5 1684 931 6 1684 1172 6 1684 1237 6 1684 1327 6 1684 1354 6 1684 1548 6 1684 1548 6 1684 1684 6 1684 1684 6 1684 1684 6 1684 1684 6 1684 1684 6 1684 2053 6 1684 2053 6 1684 2221 6 1684 2517 6 1684 2517 6 1684 .I 1685 .T GAN, a System for Generating and Analyzing Activity Networks .W GAN, a system for generating activity networks, is designed to save time in the preparation of activity networks and to deal conveniently with network programs. A defining description of a programming language designed for generating activity network from a set of standard networks is presented. Also, a general idea of a language for performing calculations on activity networks (scheduling activity networks) is given. .B CACM October, 1968 .A Schurmann, A. .K activity network, management project, standard network, network generator, network assembler, activity network analysis, network calculation, network program .C 3.50 3.53 4.11 4.12 4.29 .N CA681002 JB February 21, 1978 4:22 PM .X 1685 4 1685 1685 5 1685 1685 5 1685 1685 5 1685 3059 5 1685 .I 1686 .T Computer Synthesis of Holograms for 3-D Display .W Optical and digital holography are reviewed. The mathematical model and computational techniques of the authors' digital holographic process are discussed, and applications of computer holography are suggested. Computer holograms have been made of three-dimensional objects which give faithful reconstructions, even in white light. A new approach based on point apertures for the image is discussed. Photographs of the images reconstructed from digital holograms are presented. .B CACM October, 1968 .A Lesem, L. B. Hirsch, P. M. .K holography, optics, Fourier transforms, computer applications, display device, photography, physics, mathematics, image processing .C 3.17 3.19 5.19 .N CA681001 JB February 21, 1978 4:27 PM .X 1686 5 1686 1686 5 1686 1686 5 1686 2004 5 1686 1686 6 1686 1915 6 1686 .I 1687 .T Netflow (Algorithm 248 [H]) .B CACM September, 1968 .A Bray, T. A. Witzgall, C. .K capacitated network, linear programming, minimum-cost flow, network flow, out-of-kilter .C 5.32 5.41 .N CA680914 JB February 21, 1978 4:29 PM .X 1687 5 1687 1687 5 1687 1687 5 1687 .I 1688 .T Netflow (Algorithm 248 [H]) .B CACM September, 1968 .A Henderson, J. H. .K capacitated network, linear programming, minimum-cost flow, network flow, out-of-kilter .C 5.32 5.41 .N CA680913 JB February 21, 19784:31 PM .X 1688 5 1688 1688 5 1688 1688 5 1688 .I 1689 .T Calculation of a Polynomial and its Derivative Values by Horner Scheme (Algorithm 337 [C1]) .B CACM September, 1968 .A Pankiewicz, W. .K function evaluation, polynomial evaluation, Algol procedure, Horner's scheme .C 5.12 4.22 .N CA680912 JB February 21, 1978 4:33 PM .X 1689 5 1689 1689 5 1689 1689 5 1689 .I 1690 .T Netflow (Algorithm 336 [H]) .B CACM September, 1968 .A Bray, T. A. Witzgall, C. .K capacitated network, linear programming, minimum-cost flow, network flow, out-of-kilter .C 5.32 5.41 .N CA680911 JB February 21, 1978 4:35 PM .X 1690 4 1690 1322 5 1690 1690 5 1690 1690 5 1690 1690 5 1690 .I 1691 .T A Comparison of the Correlational Behavior of Random Number Generators for the IBM 360 .W Hutchinson states that the "new" (prime modulo) multiplicative congruential pseudorandom generator, attributed to D. H. Lehmer, has passed the usual statistical tests for random number generators. It is here empirically shown that generators of this type can produce sequences whose autocorrelation functions up to lag 50 exhibit evidence of nonrandomness for many multiplicative constants. An alternative generator proposed by Tausworthe, which uses irreducible polynomials over the field of characteristic two, is shown to be free from this defect. The applicability of these two generators to the IBM 360 is then discussed. Since computer word size can affect a generator's statistical behavior the older mixed and simple congruential generators, although extensively tested on computers having 36 or more bits per word, may not be optimum generators for the IBM 360. .B CACM September, 1968 .A Whittlesey, J. R. .K random numbers, pseudorandom number generators, autocorrelation function, serial correlation, digital shift-register generators, linear recurrence modulo two, irreducible polynomials, primitive trinomials modulo two, congruential generators, prime numbers, statistical tests for randomness, IBM 360, 32-bit versus 36-bit word size .C 5.5 .N CA680910 JB February 21, 1978 4:44 PM .X 1674 4 1691 1691 4 1691 1691 4 1691 1691 4 1691 1293 5 1691 1420 5 1691 1631 5 1691 1691 5 1691 1691 5 1691 1691 5 1691 2115 5 1691 2122 5 1691 1674 6 1691 1691 6 1691 1691 6 1691 1930 6 1691 .I 1692 .T Numerical Solution of a Thin Plate Heat Transfer Problem .W The numerical solution of a system of linear equations resulting from a discrete approximation to a thin plate heat transfer problem is considered. The slow convergence of point iterative methods is analyzed and shown to be caused by one of the boundary conditions. The difficulty may be removed by a standard line iterative technique. .B CACM September, 1968 .A Stewart III, G.W. Lick, D. W. .K heat transfer problem, Poisson equation, boundary value problem, thin domain, successive overrelaxation (SOR), block SOR .C 3.20 5.17 .N CA680909 JB February 21, 1978 4:48 PM .X 1692 5 1692 1692 5 1692 1692 5 1692 .I 1693 .T GPL, a Truly General Purpose Language .W A truly general purpose programming language, GPL, is described which contains facilities for constructing (within the language) new data types as well as facilities for operations performed upon them. The basic language is minimal in the sense that no basic element can be derived from the others with high efficiency in the object programs. Constructs like the ALGOL 60 for-statements,and if-statements are not basic; they are special types of procedures. New "symbols" (underlined words in ALGOL 60) are implicitly defined by usage in other declarations. As part words are definable, packed words are handled as easily as full words. "Address" variables (pointers) are included in full generality. .B CACM September, 1968 .A Garwick, J. V. .K programming language, general purpose, self-extending, macro, ALGOL .C 4.20 .N CA680908 JB February 22, 1978 8:40 AM .X 1379 4 1693 1380 4 1693 1542 4 1693 1552 4 1693 1683 4 1693 1693 4 1693 1693 4 1693 1693 4 1693 1693 4 1693 1781 4 1693 1781 4 1693 1781 4 1693 1781 4 1693 1787 4 1693 1824 4 1693 1836 4 1693 1836 4 1693 1854 4 1693 1860 4 1693 1861 4 1693 1945 4 1693 1945 4 1693 2015 4 1693 2060 4 1693 2060 4 1693 2060 4 1693 2061 4 1693 2061 4 1693 2082 4 1693 2091 4 1693 2091 4 1693 2126 4 1693 2152 4 1693 2179 4 1693 2179 4 1693 2340 4 1693 2356 4 1693 2546 4 1693 2546 4 1693 2603 4 1693 2698 4 1693 2698 4 1693 2708 4 1693 2708 4 1693 2824 4 1693 2982 4 1693 2986 4 1693 557 4 1693 3045 4 1693 3045 4 1693 3093 4 1693 1421 5 1693 1477 5 1693 1491 5 1693 1614 5 1693 1693 5 1693 1693 5 1693 1693 5 1693 2126 5 1693 2317 5 1693 823 6 1693 196 6 1693 1198 6 1693 1572 6 1693 1614 6 1693 1693 6 1693 1693 6 1693 1749 6 1693 1753 6 1693 1781 6 1693 2126 6 1693 2148 6 1693 404 6 1693 .I 1694 .T An Algorithm for the Probability of the Union of a Large Number of Events .W An algorithm is presented which efficiently evaluates the probability for the union of n independent and not mutually exclusive events. The problem is that of evaluating the sums of the products of all possible combinations of n variables in minimum time and storage space. .B CACM September, 1968 .A Miller, G. D. .K algorithm, probability, optimum, storage vs. time compromise, set union, mutually exclusive events .C 5.12 5.5 5.6 .N CA680907 JB February 22, 1978 8:45 AM .X 1694 5 1694 1694 5 1694 1694 5 1694 .I 1695 .T PLEXUS-An On-Line System for Modeling Neural Networks .W A description is presented of PLEXUS, a system which enables a user to construct and specify a neural network, to analyze the output data produced by the network, and to store and retrieve networks and data from a library. The system, operated entirely from a digital display unit, interacts directly with the user and permits easy and rapid transitions between the various phases of the modeling process. PLEXUS is designed to complement neurophysiological research so that the systematic development of neural models can be coordinated with experimental work. PLEXUS networks are built up from components representing individual neurons, external stimuli, and interconnecting fibers, each component being of a relatively detailed nature. Provision is also made for the use of experimental data as input to a network. Convenient means for specification and modification of a network and extensive error-checking capabilities are provided. Data resulting from the simulation of a network may be analyzed by a variety of techniques ranging from examinations of the gross characteristics of the data to the determination of detailed statistical properties. .B CACM September, 1968 .A Dill, J. C. Randall, D. L. Richer, I. .K biological modeling, data analysis, discrete system simulation, library systems, modeling, network simulation, neural networks, neurophysiological models, on-line simulation, simulation .C 3.12 3.19 3.29 3.65 .N CA680906 JB February 22, 1978 8:56 AM .X 1695 5 1695 1695 5 1695 1695 5 1695 .I 1696 .T An Algorithm for Identifying the Ergodic Subchains and Transient States of a Stochastic Matrix .W An algorithm for identifying the ergodic subchains and transient states of a stochastic matrix is presented. Applications in Markov renewal programming and in the construction of variable length codes are reviewed, and an updating procedure for dealing with certain sequences of stochastic matrices is discussed. Computation times are investigated experimentally and compared with those of another recently propose method. .B CACM September, 1968 .A Fox, B. L. Landi, D. M. .K stochastic matrix, ergodic, chain identification .C 5.39 5.5 .N CA680905 JB February 22, 1978 9:04 AM .X 1696 5 1696 1696 5 1696 1696 5 1696 .I 1697 .T Graphical Input/Output of Nonstandard Characters .W A system developed at Harvard for graphically inputting and outputting nonstandard characters on a computer is printed. In principle, the system can deal with any orthography, although at present it is limited to 4000 Chinese characters and some mathematical symbols. New characters can be added to the repertoire of the system by graphical input on a display scope. Text inputting is accomplished via a display scope or a Rand Tablet. The organization and operation of the current system are described, and a discussion of the relative merits of such a system is given. Illustrations of the computer input and output of Chinese characters are included. .B CACM September, 1968 .A Hayashl, H. Duncan, S. Kuno, S. .K Chinese characters, input/output, orthography, Rand Tablet, PDP-1, automatic typesetting, man-machine communication, computer graphics, graphical input, on-line editing .C 3.40 4.41 .N CA680904 JB February 22, 1978 9:13 AM .X 1697 4 1697 1528 5 1697 1659 5 1697 1697 5 1697 1697 5 1697 1697 5 1697 1225 6 1697 1265 6 1697 1350 6 1697 1671 6 1697 1697 6 1697 .I 1698 .T A Statistical Model for Console Behavior in Multiuser Computers .W The ability of a computer system to communicate with the outside world efficiently is as important as its ability to perform computations efficiently. It is quite difficult to characterize a particular user, but rather easy to characterize the entire user community. Based on the properties of this community we have postulated a hypothetical "virtual console." No claim is made that a virtual console behaves like any actual console, but the entire collection of virtual consoles models the collection of actual consoles. Using the model we answer questions like: How many processes are suspended waiting for console input? What is the maximum rate at which a process can execute? What bounds can be set on overall buffer requirements? Answers to these and similar questions are needed in certain aspects of operating system design. .B CACM September, 1968 .A Denning, P. J. .K statistical models for input-output, operating system design, input-output design .C 4.30 4.41 5.5 .N CA680903 JB February 22, 1978 9:21 AM .X 1458 4 1698 1523 4 1698 1603 4 1698 1698 4 1698 1747 4 1698 1748 4 1698 1854 4 1698 1877 4 1698 1960 4 1698 2377 4 1698 2378 4 1698 2497 4 1698 2558 4 1698 2625 4 1698 2632 4 1698 2840 4 1698 2941 4 1698 3105 4 1698 3144 4 1698 1471 5 1698 1698 5 1698 1698 5 1698 1698 5 1698 .I 1699 .T Experimental Evaluation of Information Retrieval Through a Teletypewriter .W Experiments designed to evaluate the capabilities of mechanized information retrieval systems, with emphasis on interactive (man-machine) language and on some of the mechanical and psychological limitations in their design, were conducted at the Moore School information Systems Laboratory. The basic assumption of the research is that an information retrieval system that provides for man-machine dialogue at a remote inquiry terminal should provide a searcher with many of the tools which would be available to him were he actually performing his search at a library or repository of documents. Factors involved in evaluation of such a system include ease of use, learning time, and effectiveness of actual retrieval. Three experiments and the conclusions resulting from them are detailed. .B CACM September, 1968 .A Rubinoff, M. Bergman, S. Franks, W. Rubinoff, E.R. .K information retrieval testing, information system evaluation, experimental document retrieval, document retrieval, document perusal, man-machine communication, remote console communication, teletypewriter communication, remote terminal communication, retrieval command language, symbolic command language, interactive systems, user learning factors, on-line searching .C 3.72 3.74 3.79 3.81 .N CA680902 JB February 22, 1978 9:30 AM .X 1155 4 1699 1456 4 1699 1468 4 1699 1515 4 1699 1681 4 1699 1699 4 1699 1699 4 1699 1699 4 1699 1856 4 1699 2127 4 1699 1194 5 1699 1324 5 1699 1681 5 1699 1699 5 1699 1699 5 1699 1699 5 1699 .I 1700 .T PEEKABIT, Computer Offspring of Punched Card PEEKABOO, for Natural Language Searching .W The "peekaboo" idea from punched card information retrieval methods has been mated with the idea of superimposed punching to produce a programming technique which cuts computer run time in half on a test search of 33,000 subject index entries. A search program using the device has been operational since late 1963. As an item is entered in the store, an 18-byte mask is created from the item's meaningful words using the inclusive OR operation. If, at search time, the logical product (using the AND operation) of this mask and a similarly constructed question mask is not equal to the question mask, then one or more question words are not present in the store item. An equality is in conclusive; the words of the store item must be unpacked and compared with question words. The present store is made up of over 600,000 subject index entries estimated to average 60 characters each. Longer texts, such as abstracts, could be handled by multiple masks. .B CACM September,1968 .A Hutton, F. C. .K peekaboo, superimposed coding, natural language searching text searching, information compaction, computer search technique .C 3.74 .N CA680901 JB February 22, 1978 9:38 AM .X 1700 5 1700 1700 5 1700 1700 5 1700 .I 1701 .T Synchronous Signaling Rates for Data Transmission* (Proposed USA STandard) .B CACM August, 1968 .N CA680813 JB February 22, 1978 9:41 AM .X 1701 5 1701 1701 5 1701 1701 5 1701 .I 1702 .T Commentary on Mr. Mooers' Paper .B CACM August, 1968 .A Steel Jr., T. B. .N CA680812 JB February 22, 1978 9:42 AM .X 1702 5 1702 1702 5 1702 1702 5 1702 .I 1703 .T Accommodating Standards and Identification of Programming Languages .W The user public wants standardization and reliable identification of programming languages and related services. One way of achieving these goals illustrated by the methods adopted for TRAC T-64 interactive language, and its related family of languages. Oppressive rigidity usually associated with standardization is avoided by a new accommodation technique accessible to the user to allow local variations with the language. Explicit standardization of the language is undertaken at the organizational source of the language. Use of the organizational trademark (TRAC) on the published standards, and services relying upon them, provides a reliable public identification. These methods can be usefully applied to other programming languages and computer services. .B CACM August, 1968 .A Mooers, C. N. .K standardization, programming languages, TRAC T-64 language, tranemark, public identification of programming languages, standards which accommodate .C 2.12 4.2 2.9 .N CA680811 JB February 22, 1978 9:50 AM .X 1530 4 1703 1531 4 1703 1565 4 1703 1703 4 1703 1945 4 1703 2036 4 1703 1455 5 1703 1703 5 1703 1703 5 1703 1703 5 1703 .I 1704 .T Minimum Excess Cost Curve (ALgorithm 217 [H]) .B CACM August, 1968 .A Muth, J. F. .K critical path scheduling, PERT, cost/time tradeoffs, network flows .C 3.59 5.41 .N CA680810 JB February 22, 1978 9:52 AM .X 1704 5 1704 1704 5 1704 1704 5 1704 .I 1705 .T A Set of Basic Input-Output Procedures (Algorithm 335 [15]) .W By means of the primitives in symbol, outsymbol and length, as requested by this journal's Algorithms Policy [Comm. ACM 10 (Nov. 67), 729] a basic set of input-output procedures is defined aiming at quality and flexibility. Outreal, for instance, is written as a derived procedure; it outputs using the fixed point or the floating point representation, and rounds properly. Variants can easily be written because of the explicit call of the procedures decompose integer and decompose real. The highly recommended practice of echoing input is made easy with one subset of derived procedures (ioi, ior, iob, ioa). The documentation of output in the form of equivalent ALGOL statements is also provided when use is made of the subset oti, otr, otb, ota. The Berkeley style of providing information on the form of output using prior calls of procedures such as real format is defined. A use of the parameter outchannel to provide information for simultaneous output to several channels is suggested. Interrelationship between the declared procedures is furnished in tabular form. .B CACM August, 1968 .A De Vogelaere, R. .K input output, transput, input output procedures, input echo, quality output, decompose integer, decompose real, style, Berkeley style, procedures relationship, output documentation, equivalent ALGOL statements, ALGOL, ALGOL 60, integer format, real format,out integer, read real, input output Boolean, input output array, fixed point representation, floating point representation, output channel interpretation .C 4.0 4.41 .N CA680809 JB February 22, 1978 10:32 AM .X 1705 4 1705 1705 4 1705 1705 4 1705 1705 4 1705 1945 4 1705 2034 4 1705 984 5 1705 986 5 1705 1020 5 1705 1321 5 1705 1705 5 1705 1705 5 1705 1705 5 1705 .I 1706 .T CHAMP-Character Manipulation Procedures .W A new programming language facility for symbol manipulation is described. String procedures may be declared and called in a standard ALGOL context. ALGOL procedures can in turn be called by string procedures so that numeric and symbolic processes may conveniently be programmed together. Concatenation and a variant of SNOBOL's pattern matching make up a set of primitive commands. These are assembled together into conditional expressions which are to be used to provide alternative computational patterns. Arrays of strings are processed using quantifiers. The class of things which may be assigned to an identifier can be restricted by a procedure expressed in the notation. The language facilities have been implemented in the ALGOL compiler for the Burroughs B5500. .B CACM August, 1968 .A Storm, E. F. .K symbol manipulation, string handling, character manipulation, conditional expressions, procedures, structure matching, recursive programming, quantifiers .C 4.22 4.13 .N CA680808 JB February 22, 1978 10:39 AM .X 1024 4 1706 1051 4 1706 1102 4 1706 1132 4 1706 1390 4 1706 1395 4 1706 1486 4 1706 1549 4 1706 1706 4 1706 1706 4 1706 1826 4 1706 1878 4 1706 378 4 1706 2060 4 1706 2155 4 1706 2168 4 1706 2719 4 1706 2723 4 1706 2838 4 1706 2842 4 1706 2855 4 1706 2879 4 1706 3077 4 1706 3080 4 1706 3106 4 1706 627 4 1706 106 4 1706 1180 5 1706 210 5 1706 1706 5 1706 1706 5 1706 1706 5 1706 .I 1707 .T Generation of Positive Test Matrices with Known Positive Spectra .W Sufficient conditions are given for a real matrix to be similar to a positive matrix. This result is used to construct a similarity transformation which, when applied to a particular upper triangular matrix, yields a positive matrix with a preassigned positive spectrum. .B CACM August, 1968 .A Hall, C. A. Porsching, T. A. .K test matrices, positive matrices, similarity transformation, positive eigenvalues .C 5.1 5.14 .N CA680807 JB February 22, 1978 10:42 AM .X 1707 4 1707 1707 4 1707 1047 5 1707 1707 5 1707 1707 5 1707 1707 5 1707 1876 5 1707 2099 5 1707 511 5 1707 1662 6 1707 1707 6 1707 1707 6 1707 .I 1708 .T A Note on the Efficiency of a LISP Computation in a Paged Machine .W The problem of the use of two levels of storage for programs is explored in the context of a LISP system which uses core memory as a buffer for a large virtual memory stored on a drum. Details of timing are given for one particular problem. .B CACM August, 1968 .A Borrow, D. G. Murphy, D. L. .K storage management, list processor implementation, LISP, paging, secondary storage utilization, efficiency of paged computation .C 3.7 4.1 4.2 .N CA680806 JB February 22, 1978 10:45 AM .X 1626 4 1708 1708 4 1708 1708 4 1708 1781 4 1708 1781 4 1708 1826 4 1708 1860 4 1708 1860 4 1708 2156 4 1708 2168 4 1708 2249 4 1708 2299 4 1708 2314 4 1708 2719 4 1708 2736 4 1708 2833 4 1708 1626 5 1708 1641 5 1708 1708 5 1708 1708 5 1708 1708 5 1708 2249 5 1708 1626 6 1708 1708 6 1708 1853 6 1708 .I 1709 .T A Modification of Efroymson's Technique for Stepwise Regression Analysis .W The computational technique conventionally used for stepwise multiple linear regression requires the storage of an n X n matrix of data. When the number of variables, n, is large, this requirement taxes the storage capacity of presently used machinery. The near symmetry of the matrices involved permits a modification requiring only half the storage and computations of the conventional algorithm and this additional storage allows the analysis of problems containing more variables. Alternatively, it permits the analysis of problems containing the same number of variables but with all computations performed in double precision. .B CACM August, 1968 .A Breaux, H. J. .K multiple linear regression, statistical recurrence formulas, correlation, linear statistical models, statistical computer programs, curve fitting .C 4.0 4.40 5.0 5.5 5.10 5.13 .N CA680805 JB February 22, 1978 10:52 AM .X 1709 5 1709 1709 5 1709 1709 5 1709 .I 1710 .T ASP-A Ring Implemented Associative Structure Package .W ASP is a general purpose Associative Data Structure Package in which an arbitrary number of data items and an arbitrary number of the relationships between these data items may be represented. A special picture language is described which has proved very useful for drawing ASP structures on paper. ASP structures are built and manipulated by means of a series of macro calls, which are outlined in the Appendix. Emphasis is on the philosophy of the system rather than a particular implementation, though sufficient information is included to enable the reader to produce his own implementation of ASP. .B CACM August, 1968 .A Lang, C. A. Gray, J. C. .K associative, data structure, ring structure lists, list structure, set languages, modeling, graphics .C 4.20 4.22 .N CA680804 JB February 22, 1978 11:02 AM .X 1710 5 1710 1710 5 1710 1710 5 1710 1853 5 1710 2003 5 1710 1710 6 1710 1710 6 1710 1767 6 1710 2105 6 1710 .I 1711 .T When Your Computer Needs a Lawyer .W Possible liability for negligence, for other torts (such as slander of credit) and for liability under theories of express or implied warranty (guarantees) are discussed, and legal complications are explained, so that users, operators, owners, and leasors of computers may be alerted to potential legal problems. Focus is also on trouble spots in contracting for data processing services, in automating record keeping operations, in deciding whether or not to automate certain operations, and in complying with statutes and regulation relating to record keeping. Information is given on patents, copyrights and trade secret protection for programs, and the problem of using copyrighted material in information storage and retrieval systems, including the pending copyright and patent revision bills. .B CACM August, 1968 .A Banzhaf III, J. F. .K law, legal, lawyer, liability, torts, negligence, contracts, warrantees, guarantees, accounting, regulations, simulation, income tax, copyrights, patents, trade secrets, standard of care, slander of credit, crime, criminals, record keeping records, evidence, copying .C 1.3 2.11 2.12 2.2 3.33 .N CA680803 JB February 22, 1978 11:12 AM .X 1711 4 1711 1711 4 1711 997 5 1711 1001 5 1711 1711 5 1711 1711 5 1711 1711 5 1711 .I 1712 .T Recovery of Disk Contents After System Failure .W A method is discussed by which, after a system malfunction, the contents of disk files can be restored to their status at the time of the failure. .B CACM August, 1968 .A Lockemann, P. C. Knutsen, W. D. .K data acquisitition, disk file organization, error recovery, file organization .C 3.73 .N CA680802 JB February 22, 1978 11:14 AM .X 1712 4 1712 1507 5 1712 1712 5 1712 1712 5 1712 1712 5 1712 3164 5 1712 1712 6 1712 .I 1713 .T On Overcoming High-Priority Paralysis in Multiprogramming Systems: A Case His tory .W High-priority paralysis is the degradation that can occur in multiprogramming systems when scheduling is based primarily on preassigned priorities. It can be alleviated by modifying the scheduling algorithm to maximize the number of programs active at one time. The case his tory given in this paper indicates two general methods by which simultaneity can be increased. Possible refinements in the scheduling algorithm for future improvements are considered briefly. .B CACM August, 1968 .A Stevens, D. F. .K multiprogram scheduling, dynamic priority assignment scheduling .C 4.30 4.32 4.39 .N CA680801 JB February 22, 1978 11:19 AM .X 1713 4 1713 1713 4 1713 1901 4 1713 1901 4 1713 491 4 1713 491 4 1713 168 5 1713 185 5 1713 1713 5 1713 1713 5 1713 1713 5 1713 3072 5 1713 1713 6 1713 2219 6 1713 2245 6 1713 2375 6 1713 .I 1714 .T Procedure for the Normal Distribution (Algorithm 272 [S15]) .B CACM July, 1968 .A MacLaren, M. D. .K normal distribution function, error function, normal function, normal curve integral .C 5.5 5.12 .N CA680715 JB February 22, 1978 11:21 AM .X 1714 4 1714 1585 5 1714 1714 5 1714 1714 5 1714 1714 5 1714 .I 1715 .T Direct Search (Algorithm 178 [E4]) .B CACM July, 1968 .A De Vogelaere, R. .K function minimization, search, direct search .C 5.19 .N CA680714 JB February 22, 1978 11:24 AM .X 1715 5 1715 1715 5 1715 1715 5 1715 1815 5 1715 1715 6 1715 .I 1716 .T Normal Random Deviates (Algorithm 334 [G5]) .B CACM July, 1968 .A Bell, J. R. .K normal deviates, normal distribution, random number, random number generator, simulation, probability distribution, frequency distribution, random .C 5.5 5.13 .N CA680713 JB February 22, 1978 11:26 AM .X 1716 4 1716 1189 5 1716 1716 5 1716 1716 5 1716 1716 5 1716 2349 5 1716 2565 5 1716 1648 6 1716 1716 6 1716 1716 6 1716 1794 6 1716 1894 6 1716 2043 6 1716 2276 6 1716 501 6 1716 613 6 1716 774 6 1716 .I 1717 .T Generating Prime Implicants Via Ternary Encoding and Decimal Arithmetic .W Decimal arithmetic, ternary encoding of cubes, and topological considerations are used in an algorithm to obtain the extremals and prime implicants of Boolean functions. The algorithm, which has been programmed in the FORTRAN language, generally requires less memory than other minimization procedures, and treats DON'T CARE terms in an efficient manner. .B CACM July, 1968 .A Dietmeyer, D. L. Duley, J. R. .K prime implicants, extremal, switching function, minimization, cubical complexes, ternary encoding .C 3.24 6.1 .N CA680712 JB February 22, 1978 11:30 AM .X 1717 5 1717 1717 5 1717 1717 5 1717 .I 1718 .T "Logical" Arithmetic on Computers with Two's Complement Binary Arithmetic .W Algorithms are presented for multiplication and division of unsigned integer operands in which the digits normally reserved for signs participate as significant arithmetic digits with positive weight. .B CACM July, 1968 .A Ehrman, J. R. .K binary arithmetic, unsigned operand arithmetic, maximum significance arithmetic, full-precision arithmetic .C 3.15 5.11 .N CA680711 JB February 22, 1978 11:34 AM .X 1718 5 1718 1718 5 1718 1718 5 1718 1965 5 1718 2200 5 1718 1718 6 1718 1718 6 1718 .I 1719 .T A Methodology for Calculating and Optimizing Real-Time System Performance .W The continually increasing size, complexity, number of types, and cost of data processing systems are causing serious re-examination within government and industry of the criteria for and methods of calculating and optimizing data processing system cost and performance. Real-time data processing systems as typified by the automated airline reservation system are discussed in this paper. Criteria for evaluating performance are described; a methodology for calculating and optimizing is outlined; and the method is illustrated by carrying out a portion of the performance calculation and the optimization of a drum-oriented message switching system. .B CACM July, 1968 .A Stimler, S. Brons, K. A. .K real-time system analysis, real-time system design, real-time system performance criteria, real-time system cost performance ratio .C 3.27 3.80 3.81 3.89 6.9 .N CA680710 JB February 22, 1978 11:40 AM .X 1719 5 1719 1719 5 1719 1719 5 1719 2319 5 1719 1408 6 1719 1719 6 1719 1749 6 1719 1751 6 1719 2016 6 1719 2017 6 1719 2080 6 1719 2188 6 1719 2203 6 1719 2204 6 1719 .I 1720 .T Master's Level Computer Science Curricula .W The results of a survey of the course work done by master's degree candidates at 25 US universities are presented, and some general comments concerning the emphasis of these programs are given. .B CACM July, 1968 .A Elliott, R. W. .K surveys, education, computer science curricula .C 1.52 .N CA680709 JB February 22, 1978 11:44 AM .X 1720 4 1720 1720 4 1720 1771 4 1720 1927 4 1720 2147 4 1720 2163 4 1720 2345 4 1720 2478 4 1720 2594 4 1720 2852 4 1720 2899 4 1720 3130 4 1720 1654 5 1720 1720 5 1720 1720 5 1720 1720 5 1720 1771 5 1720 2163 5 1720 1720 6 1720 1771 6 1720 1927 6 1720 2181 6 1720 .I 1721 .T Determination of the Intersection Points of Two Plane Curves by Means of Differential Equations .W A new method is proposed to calculate the intersection points of two plane curves. The theory of singular points off a system of two differential equations is used in developing the method. The intersection point to be determined is identified with such a singular point and appropriate modifications are applied to the system to ensure that the singular point be stable, i.e. all integrals which start in the neighborhood of the singular point will always approach this point if the integral parameter tends to infinity. In addition a method is described for systematically searching for all intersection points in a prescribed rectangular area. .B CACM July, 1968 .A Kuiken, H. K. .K plane curves, intersection points, intersections plane curves, integration, differential equations, matrix iteration, singular points, nonlinear differential equations, eigenvalues, complex roots, roots, stationary points, Runge Kutta, stable singularity, unstable singularity .C 2.0 3.10 3.20 3.50 5.10 .N CA680708 JB February 22, 1978 11:51 AM .X 1721 5 1721 1721 5 1721 1721 5 1721 .I 1722 .T Methods of Convergence Improvement for Some Improper Integrals .W In the numerical integration of an improper integral of the first kind, it is customary to truncate the integral when the change yielded by the last iteration is less than some predetermined constant. The efficiency of such integration schemes can often be improved by use of recent advances in the theory of nonlinear transformations; however, for several important integrals, e.g. integrals whose integrands are rational polynomials, these transformations fail to yield much improvement. In this paper, several methods of convergence improvement are developed which greatly improve convergence of some improper integrals, including the integrals of rational polynomials. .B CACM July, 1968 .A McWilliams, G. V. Thompson, R. W. .K approximation, nonlinear, improper integral, convergence improvement, numerical integration, rational polynomials, truncation .C 3.15 5.13 5.16 5.19 .N CA680707 JB February 22, 1978 11:58 AM .X 1722 5 1722 1722 5 1722 1722 5 1722 .I 1723 .T Computer Construction of Project Networks .W Project networks are used in PERT and CPM. An algorithm is given for constructing project networks directly from the project precedence relations. The algorithm creates "dummy" activities and topologically orders the arcs and nodes. The number of nodes created is minimal for the given precedence relations. It has been experimentally programmed in FORTRAN II for the IBM 7094. .B CACM July, 1968 .A Fisher, A. C. Liebman, J. S. Nemhauser, G. L. .K project networks, PERT, CPM, topological ordering, network construction by computer .C 5.32 .N CA680706 JB February 22, 1978 12:07 PM .X 1723 4 1723 758 4 1723 1723 5 1723 1723 5 1723 1723 5 1723 2515 5 1723 441 5 1723 1723 6 1723 .I 1724 .T A Generalized Partial Pass Block Sort .W The design of a partial pass block sort with arbitrary range of key and number of work files is described. The design is a generalization of the Partial Pass Column Sort by Ashenhurst and the Amphisbaenic Sort by Nagler. The power of the sort is tabulated for various sizes of input file and number of work files. consideration is given to the problem of combining a block sort with internal sorts, and to the best use of direct access storage devices. .B CACM July, 1968 .A Bayes, A. .K block sort, partial pass sort, direct access devices, column sort, chaining, reverse chaining, sort, amphisbaenic .C 5.31 .N CA680705 JB February 22, 1978 12:12 PM .X 1724 5 1724 1724 5 1724 1724 5 1724 .I 1725 .T A Simple Proof of Lewin's Ordered-Retrieval Theorem for Associative Memories .W An efficient method of ordered retrieval of binary words from an associative memory, as described by Lewin, is based on the use of special readout circuits which indicate the digit values present in the individual digit columns of the memory. Thus the circuits indicate whether the individual digit columns contain digits of both values, or of only one value, or contain no digits at all (i.e. that the memory is empty). The use of these circuits, which in this paper are termed column value indicators, reduces considerably the number of memory accesses necessary to retrieve in order a number of distinct words from the memory. Lewin proves that, for the readout by the described method of m distinct binary words, 2m - 1 memory accesses are necessary. (Thus he proves that the number of necessary memory accesses of his method, unlike those of other methods, is independent of the word length.) In this paper a very simple proof of this theorem derived from some elementary aspects of the structure of sets of binary numbers is presented. .B CACM July, 1968 .A Wolinsky, A. .K associative memories, content-addressed memories, ordered lists, ordered information retrieval, ordered retrieval theorem, column digit values, digit value variety, column sensing arrangement, digit value readout, digit variety readout, memory access, memory access frequency, ordered retrieval efficiency, access frequency proof, retrieval theorem proof .C 3.74 3.79 5.29 5.31 6.31 6.36 .N CA680704 JB February 22, 1978 12:24 PM .X 1725 5 1725 1725 5 1725 1725 5 1725 .I 1726 .T Preliminary Investigation of Techniques for Automated Reading of Unformatted Text .W Methods for converting unstructured printed material into computer code are experimentally investigated. An operator-controlled mode, depending on human demarcation of the various regions of the page for guiding the scanner, is implemented by means of a joystick and a CRT display. This mode, for which some performance figures are obtained, is thought to be suitable for processing very complicated material, such as technical journals. For simpler material, for instance the "claims" sections of patents, and in applications where the utmost accuracy is not necessary, an unsupervised mode is advocated. Here, the textual portions of the page are located during a rapid prescan by a rudimentary form of frequency analysis. These areas are then rescanned at a higher resolution suitable for character recognition. Error rates of the order of 0.1 percent are obtained in a simple problem involving photographs of telephone company meter boards. Other matters related to the design of a general purpose page reader, such as the segmentation of printed text, the possibility of time-sharing the scanner, interactive man-machine operation, and the facsimile reproduction of illustrations, are discussed. .B CACM July, 1968 .A Nagy, G. .K pattern recognition, character recognition, text reading, information retrieval, unformatted text operator-controlled reader, online reader, text-image discrimination, reading machine .C 3.63 3.79 3.89 6.29 6.35 .N CA680703 JB February 22, 1978 2:52 PM .X 1726 5 1726 1726 5 1726 1726 5 1726 2370 5 1726 1726 6 1726 .I 1727 .T One Way of Estimating Frequencies of Jumps in a Program .W For the segmentation of a program it is useful to have a reasonable estimation of the values of S(ij), where S(ij) is the mean value of the number of jumps from the i-th instruction on to the j-th instruction in the run time. In the cases where the S(ij) are estimated directly, the structure of the whole program must be generally taken into account; therefore it is very difficult for the programmer and/or the translator to obtain a good estimation of the S(ij). It is easier to estimate not S(ij) but the quantities P(ij)=S(ij)*C(i)/SUM[S(ij), j=1,N], where C(i) is an arbitrary positive constant for each i. Although the P(ij) are, for each i, proportional to S(ij), the estimation of P(ij) is easier, because we must estimate only the "probabilities" of events where instruction i is executed after instruction I(i). This estimation can often be done without considering the structure of the whole program. In the first part of the paper, using the theory of the Markov chains, an algorithm for the computation of the S(ij) from the P(ij) is found, and some ways of obtaining estimates of the P(ij) are given. In the second part a variant of this algorithm is derived, avoiding the necessity of computation involving large matrices. .B CACM July, 1968 .A Kral, J. .K object program reduction, supervisor calls decreasing, jump frequencies estimation, control transfers estimation, optimal program segmentation, Markov chain program correspondence, program graph, one-entry subgraph, locally estimated jump frequencies, supervisor overhead decreasing, program segmentation algorithm, jump frequencies, program segmentation problem .C 4.11 4.19 4.39 4.49 .N CA680702 JB February 22, 1978 3:05 PM .X 1727 5 1727 1727 5 1727 1727 5 1727 .I 1728 .T Further Experimental Data on the Behavior of Programs in a Paging Environment .W Results are summarized from an empirical study directed at the measurement of program operating behavior in those multiprogramming systems in which programs are organized into fixed length pages. The data collected from the interpretive execution of a number of paged programs are used to describe the frequency of page faults, i.e. the frequency of those instants at which an executing program requires a page of data or instructions not in main (core) memory. These data are used also for the evaluation of page replacement algorithms and for assessing the effects on performance of changes in the amount of storage allocated to executing programs. .B CACM JUly, 1968 .A Coffman, E. G. Varian, L. C. .K paging systems, paging, dynamic program behavior, program behavior, virtual memory systems, single-level storage, one-level storage, operating system simulation, operating systems, supervisor simulation, machine language program interpretation .C 4.13 4.32 4.39 4.9 .N CA680701 JB February 22, 1978 3:13 PM .X 1646 4 1728 1668 4 1728 1669 4 1728 1676 4 1728 1679 4 1728 1682 4 1728 1728 4 1728 1728 4 1728 1728 4 1728 1860 4 1728 1973 4 1728 2018 4 1728 2032 4 1728 2033 4 1728 2107 4 1728 2109 4 1728 2203 4 1728 2251 4 1728 2359 4 1728 2524 4 1728 2543 4 1728 2552 4 1728 2559 4 1728 2859 4 1728 2991 4 1728 3053 4 1728 1525 5 1728 1647 5 1728 1728 5 1728 1728 5 1728 1728 5 1728 1785 5 1728 1892 5 1728 1924 5 1728 2095 5 1728 2218 5 1728 2297 5 1728 2374 5 1728 2526 5 1728 2667 5 1728 2668 5 1728 2862 5 1728 2863 5 1728 1380 6 1728 1526 6 1728 1572 6 1728 1572 6 1728 1604 6 1728 1604 6 1728 1728 6 1728 1728 6 1728 1728 6 1728 1728 6 1728 1728 6 1728 1728 6 1728 1728 6 1728 1728 6 1728 1728 6 1728 1728 6 1728 1728 6 1728 1751 6 1728 1751 6 1728 1751 6 1728 1751 6 1728 1754 6 1728 1754 6 1728 1752 6 1728 1752 6 1728 1761 6 1728 1810 6 1728 1827 6 1728 1827 6 1728 1879 6 1728 1879 6 1728 1901 6 1728 1901 6 1728 2095 6 1728 2373 6 1728 2677 6 1728 2863 6 1728 .I 1729 .T Minit Algorithm for Linear Programming (Algorithm 333 [H]) .B CACM June, 1968 .A Salazar, R. C. Sen, S.K. .K linear programming, dual simplex method, primal problem, dual problem .C 5.41 .N CA680616 JB February 22, 19783:15 PM .X 1729 5 1729 1729 5 1729 1729 5 1729 2784 5 1729 1729 6 1729 309 6 1729 2783 6 1729 .I 1730 .T Jacobi Polynomials (Algorithm 332 [S22]) .B CACM June, 1968 .A Witte, B. F. W. .K Jacobi polynomials, orthogonal polynomials, three-term recurrences, special functions .C 5.12 .N CA680615 JB February 22, 1978 3:17 PM .X 1730 5 1730 1730 5 1730 1730 5 1730 .I 1731 .T Gaussian Quadrature Formulas (Algorithm 331 [D1]) .B CACM June, 1968 .A Gautschi, W. .K quadrature, Gaussian quadrature, numerical integration, weight function, orthogonal polynomials .C 5.16 .N CA680614 JB February 22, 1978 3:20 PM .X 1731 5 1731 1731 5 1731 1731 5 1731 .I 1732 .T Factorial Analysis of Variance (Algorithm 330 [G1]) .B CACM June, 1968 .A Oliver,I. .K factorial variance analysis, variance, statistical analysis .C 5.5 .N CA680613 JB February 22, 1978 3:21 PM .X 1732 5 1732 1732 5 1732 1732 5 1732 .I 1733 .T Distribution of Indistinguishable Objects into Distinguishable slots (Algorithm [G6]) .B CACM June, 1968 .A Fenichel, R. R. .K object distributions, combinations, distribution numbers .C 5.39 .N CA680612 JB February 22, 1978 3:58 PM .X 1733 5 1733 1733 5 1733 1733 5 1733 .I 1734 .T Chebyshev Solution to an Overdetermined Linear System (Algorithm 328 [F4]) .B CACM June, 1968 .A Bartels, R. H. Goulub, H. G. .K Chebyshev solutions, overdetermined linear systems, linear equations, exchange algorithm .C 5.13 5.14 5.41 .N CA680611 JB February 22, 1978 4:01 PM .X 1734 5 1734 1734 5 1734 1734 5 1734 2143 5 1734 1734 6 1734 .I 1735 .T A Futures Market in Computer time .W An auction method is described for allocating computer time that allows the price of computer time to fluctuate with the demand and the relative priority of users to be controlled so that more important projects get better access. This auction is free of the periodic fluctuation in computer use often associated with monthly time allocation schemes. .B CACM June, 1968 .A Sutherland, I. E. .K computer scheduling, auction, time allocation, operating efficiency .C 2.40 .N CA680610 JB February 22, 1978 4:04 PM .X 1735 5 1735 1735 5 1735 1735 5 1735 2020 5 1735 1735 6 1735 .I 1736 .T Heading Format for Data Transmission (A USAAI Tutorial -- Standards) .B CACM June, 1968 .K data transmission heading format, heading format, message format, data transmission, message headings .C 3.57 3.81 6.39 .N CA680609 JB February 22, 1978 4:07 PM .X 1736 5 1736 1736 5 1736 1736 5 1736 .I 1737 .T A Global Parser for Context-Free Phrase Structure Grammars .B CACM June, 1968 .A Unger, S. H. .N CA680608 JB February 22, 1978 4:08 PM .X 1737 5 1737 1737 5 1737 1737 5 1737 .I 1738 .T Writing an Outline Debugging Program for the Experienced User .W Presently available online debugging routines are often unsatisfactory for the experienced user because they require unnecessarily rigid and complicated typing formats, make it difficult for the user to correct typing errors, and consume excessive memory with intricate features. In a debugging program it is of prime importance that the program be simple, flexible, and highly efficient to use. Communication between the user and the debugging program can be improved by using certain techniques applicable to most online debugging programs. These techniques are presented and are illustrated by their use in OPAK (octal package), a debugging program coded for the PDP-5/8 and the SDS-930. The compromise between economy of utility program core storage and incorporation of elegant debugging features is discussed. .B CACM June, 1968 .A Brady, P. T. .K debugging, utility program, programming languages .C 4.42 .N CA680607 JB February 22, 1978 4:14 PM .X 1738 4 1738 1257 5 1738 1738 5 1738 1738 5 1738 1738 5 1738 .I 1739 .T Regular Expression Search Algorithm .W A method for locating specific character strings embedded in character text is described and an implementation of this method in the form of a compiler is discussed. The compiler accepts a regular expression as source language and produces an IBM 7094 program as object language. The object program then accepts the text to be searched as input and produces a signal every time an embedded string in the text matches the given regular expression. Examples, problems, and solution are also presented. .B CACM June, 1968 .A Thompson, K. .K search, match, regular expression .C 3.74 4.49 5.32 .N CA680606 JB February 22, 1978 4:18 PM .X 1739 5 1739 1739 5 1739 1739 5 1739 2545 5 1739 2746 5 1739 1665 6 1739 1739 6 1739 1739 6 1739 1781 6 1739 2139 6 1739 2341 6 1739 2545 6 1739 2786 6 1739 .I 1740 .T An Inexpensive Braille Terminal Device .W The active use of time-shared facilities for blind programmers requires a braille terminal system. Details are given for the construction of a brailler from a model 33 teletype by modifying the print head and increasing the resiliency of the platen. A description of the programming needed to drive the brailler is presented. .B CACM June, 1968 .A Anderson, G. B. Rogers, D. W. .K blind communication, blind programming aid, braille, braille computer communication, braille output, braille teletype, braille terminal, braille type head, embosser, tactile computer communication, tactile teletype, tactile terminal .C 4.41 6.35 .N CA680605 JB February 22, 1978 4:23 PM .X 1264 4 1740 1740 4 1740 1099 5 1740 1740 5 1740 1740 5 1740 1740 5 1740 2279 5 1740 1740 6 1740 .I 1741 .T BRAD: The Brookhaven Raster Display .W A multiconsole computer display system has been designed that provides very rich displays at low unit cost. Each BRAD (Brookhaven Raster Display) console can plot tens of thousands of points, or up to 4000 characters at 30 frames per second. After an initial display system investment of $50,000 each display, with teletype, costs less than $3,000. The technique employed is that of programmatically generating a binary image of the desired display in a computer. The image is written on a rotating drum memory. Independent read heads continuously display the picture, which is generated by swept horizontal lines. A standard TV monitor serves as the display device. The technique has two drawbacks. A computer must compute any image to be displayed. Also, the "pointing" interaction is more difficult. This is because the pointing function gives only the coordinates of the point on the screen. The inverse of the map generation process is required to calculate the coordinates of the point on the screen. The inverse of the map generation process is required to calculate the coordinates at the selected point in the input space. .B CACM June, 1968 .A Ophir, D. Rankowitz, S. Shepherd, B. J. Spinrad, R. J. .K computer display, computer graphics, computer raster display, TV display console, digital TV display, swept raster computer display, swept raster TV computer display, TV graphics terminal, multiconsole computer graphics, inexpensive graphic terminal .C 2.0 4.49 6.35 .N CA680604 JB February 22, 1978 4:35 PM .X 1741 5 1741 1741 5 1741 1741 5 1741 1891 5 1741 2211 5 1741 2421 5 1741 2674 5 1741 2687 5 1741 1554 6 1741 1741 6 1741 1741 6 1741 1741 6 1741 1741 6 1741 1741 6 1741 1915 6 1741 2004 6 1741 2004 6 1741 2211 6 1741 2421 6 1741 2687 6 1741 .I 1742 .T On the Design of Display Processors .W The flexibility and power needed in the data channel for a computer display are considered. To work efficiently, such a channel must have a sufficient number of instructions that it is best understood as a small processor rather than a powerful channel. As it was found that successive improvements to the display processor design lie on a circular path, by making improvements one can return to the original simple design plus one new general purpose computer for each trip around. The degree of physical separation between display and parent computer is a key factor in display processor design. .B CACM June, 1968 .A Myer, T. H. .K display processor design, display system, computer graphics, graphic terminal, displays, graphics, display generator, display channel, display programming, graphical interaction, remote displays .C 2.44 6.22 6.29 6.35 .N CA680603 JB February 22, 1978 4:41 PM .X 1742 5 1742 1742 5 1742 1742 5 1742 .I 1743 .T Reliable Full-Duplex file Transmission over Half-Duplex Telephone Lines .W A field-proven scheme for achieving reliable duplex transmission over a half-duplex communication line is presented, and to demonstrate the difficulty of the problem, another similar scheme, which is only slightly unreliable, is also presented. A flowchart for the reliable scheme and some interesting examples are given. .B CACM June, 1968 .A Lynch, W. C. .K telephone communication, half duplex, transmission, error correction, full duplex, telephone errors .C 3.81 4.41 6.35 .N CA680602 JB February 22, 1978 4:45 PM .X 1743 5 1743 1743 5 1743 1743 5 1743 1907 5 1743 1743 6 1743 .I 1744 .T Stable Numerical Methods for Obtaining the Chebyshev Solution to an Overdetermined System of Equations .W An implementation of Stiefel's exchange algorithm for determining a Chebyshev solution to an overdetermined system of linear equations is presented, that uses Gaussian LU decomposition with row interchanges. The implementation is computationally more stable than those usually given in the literature. A generalization of Stiefel's algorithm is developed which permits the occasional exchange of two equations simultaneously. .B CACM June, 1968 .A Bartels, R. H. Golub, G. H. .K Chebyshev solutions, overdetermined linear systems, linear equations,exchange algorithm .C 5.13 5.14 5.41 .N CA680601 JB February 22, 1978 4:50 PM .X 1744 5 1744 1744 5 1744 1744 5 1744 1905 5 1744 1744 6 1744 .I 1745 .T A Position Paper on Computing and Communications .W The effective operation of free enterprise in creating the envisioned information service industry is dependent upon three accomplishments: (1) the restructuring of our information processing industry so that a clear division of costs is made among computing, communications, and the development of information services; (2) the wide use of multiaccess system concepts so that information services may share in the use of computer installations and so that the cost of their construction is reasonable; and (3) the development of public, message-switched communications services so that adequate provisions are made for information security. .B CACM May, 1968 .A Dennis, J. B. .K information networks, information systems, computing and free enterprise, computing economics, computer installation management, government regulation, communications services, distributed data base, program leasing .C 2.3 2.40 3.80 4.30 .N CA680511 JB February 23, 1978 8:49 AM .X 1745 5 1745 1745 5 1745 1745 5 1745 .I 1746 .T Protection in an Information Processing Utility .W One of the critical problems in the design of an information processing utility that permits flexible sharing of user information is privacy. One solution for this problem is discussed. .B CACM May, 1968 .A Graham, R.M. .K protection, privacy, information processing utility, time-sharing, multi-user, multiprogramming, multiprocessing, security, shared information, controlled access, reliable operation, segmentation .C 4.32 4.39 .N CA680510 JB February 23, 1978 8:52 AM .X 1746 5 1746 1746 5 1746 1746 5 1746 1753 5 1746 2358 5 1746 2377 5 1746 2372 5 1746 2626 5 1746 2840 5 1746 1471 6 1746 1471 6 1746 1746 6 1746 1746 6 1746 1746 6 1746 1746 6 1746 1746 6 1746 1746 6 1746 1749 6 1746 1751 6 1746 1753 6 1746 274 6 1746 2358 6 1746 2358 6 1746 2377 6 1746 2436 6 1746 2625 6 1746 2626 6 1746 2629 6 1746 2629 6 1746 .I 1747 .T Three Criteria for Designing Computing Systems to Facilitate Debugging .W The designer of a computing system should adopt explicit criteria for accepting or rejecting proposed system features. Three possible criteria of this kind are input recordability, input specifiability, and asynchronous reproducibility of output. These criteria imply that a user can, if he desires, either know or control all the influences affecting the content and extent of his computer's output. To define the scope of the criteria, the notion of an abstract machine of a programming language and the notion of a virtual computer are explained. Examples of applications of the criteria concern the reading of a time-of-day clock, the synchronization of parallel processes, protection in multiprogrammed systems, and the assignment of capability indexes. .B CACM May, 1968 .A Van Horn, E. C. .K computer design, computer design criteria, computer systems, computer systems design, input equipment, input equipment design, operating systems, operating systems design, multiprogramming, multiprogrammed systems, multiprogrammed system design, virtual computers, programming languages, programming language design, program semantics, programming language semantics, determinism, reproducibility, repeatability, deterministic computers, protection, memory protection, information security, information privacy, computing reliability, debugging, program debugging, program testing, parallel processing, parallel programming, multiprocessing .C 2.11 4.12 4.13 4.20 4.30 4.42 4.43 5.24 6.20 6.35 .N CA680509 JB February 23, 1978 9:06 AM .X 1458 4 1747 1523 4 1747 1603 4 1747 1698 4 1747 1747 4 1747 1748 4 1747 1854 4 1747 1877 4 1747 1960 4 1747 2377 4 1747 2378 4 1747 2497 4 1747 2558 4 1747 2625 4 1747 2632 4 1747 2840 4 1747 2941 4 1747 3105 4 1747 3144 4 1747 1471 5 1747 1747 5 1747 1747 5 1747 1747 5 1747 2151 5 1747 1653 6 1747 1747 6 1747 1860 6 1747 .I 1748 .T A Scheduling Philosophy for Multiprocessing Systems .W A collection of basic ideas is presented, which have been evolved by various workers over the past four years to provide a suitable framework for the design and analysis of multiprocessing systems. The notions of process and state vector are discussed, and the nature of basic operations on processes is considered. Some of the connections between processes and protection are analyzed. A very general approach to priority-oriented scheduling is described, and its relationship to conventional interrupt systems is explained. Some aspects of time-oriented scheduling are considered. The implementation of the scheduling mechanism is analyzed in detail and the feasibility of embodying it in hardware established. Finally, several methods for interlocking the execution of independent processes are presented and compared. .B CACM May, 1968 .A Lampson, B. W. .K time-sharing, multiprocessing, process, scheduling, interlocks, protection, priority, interrupt systems .C 4.31 4.32 6.21 .N CA680508 JB February 23, 1978 9:13 AM .X 1458 4 1748 1523 4 1748 1603 4 1748 1698 4 1748 1747 4 1748 1748 4 1748 1854 4 1748 1877 4 1748 1960 4 1748 2377 4 1748 2378 4 1748 2497 4 1748 2558 4 1748 2625 4 1748 2632 4 1748 2840 4 1748 2941 4 1748 3105 4 1748 3144 4 1748 1471 5 1748 1748 5 1748 1748 5 1748 1748 5 1748 1805 5 1748 1828 5 1748 1854 5 1748 2187 5 1748 1421 6 1748 1471 6 1748 1518 6 1748 1572 6 1748 1748 6 1748 1748 6 1748 1748 6 1748 1748 6 1748 1749 6 1748 1749 6 1748 1781 6 1748 .I 1749 .T The Structure of the "THE"-Multiprogramming System .W A multiprogramming system is described in which all activities are divided over a number of sequential processes. These sequential processes are placed at various hierarchical levels, in each of which one or more independent abstractions have been implemented. The hierarchical structure proved to be vital for the verification of the logical soundness of the design and the correctness of its implementation. .B CACM May, 1968 .A Dijkstra, E. W. .K operating system, multiprogramming system, system hierarchy, system structure, real-time debugging, program verification, synchronizing primitives, cooperating sequential processes, system levels, input-output buffering, multiprogramming, processor sharing, multiprocessing .C 4.30 4.32 .N CA680507 JB February 23, 1978 9:20 AM .X 1749 5 1749 1749 5 1749 1749 5 1749 1828 5 1749 1854 5 1749 1877 5 1749 1960 5 1749 2150 5 1749 2317 5 1749 2319 5 1749 2342 5 1749 2376 5 1749 2377 5 1749 2379 5 1749 2424 5 1749 2482 5 1749 2618 5 1749 2632 5 1749 2704 5 1749 2723 5 1749 2738 5 1749 2740 5 1749 2741 5 1749 2867 5 1749 3184 5 1749 1198 6 1749 1198 6 1749 1198 6 1749 1198 6 1749 1198 6 1749 1198 6 1749 1247 6 1749 1338 6 1749 1338 6 1749 1338 6 1749 1408 6 1749 1421 6 1749 1471 6 1749 1471 6 1749 1471 6 1749 1471 6 1749 1471 6 1749 1526 6 1749 1549 6 1749 1552 6 1749 1572 6 1749 1693 6 1749 1719 6 1749 1746 6 1749 1748 6 1749 1748 6 1749 1749 6 1749 1749 6 1749 1749 6 1749 1749 6 1749 1749 6 1749 1749 6 1749 1749 6 1749 1749 6 1749 1749 6 1749 1749 6 1749 1749 6 1749 1749 6 1749 1749 6 1749 1749 6 1749 1749 6 1749 1749 6 1749 1749 6 1749 1749 6 1749 1749 6 1749 1749 6 1749 1749 6 1749 1749 6 1749 1751 6 1749 1753 6 1749 1781 6 1749 1826 6 1749 210 6 1749 1854 6 1749 1877 6 1749 1877 6 1749 1877 6 1749 1960 6 1749 2016 6 1749 2017 6 1749 2080 6 1749 2080 6 1749 2080 6 1749 2080 6 1749 2126 6 1749 2148 6 1749 2188 6 1749 2203 6 1749 2204 6 1749 2228 6 1749 2228 6 1749 2247 6 1749 2247 6 1749 2256 6 1749 2356 6 1749 2356 6 1749 2358 6 1749 2379 6 1749 2379 6 1749 2454 6 1749 2651 6 1749 2673 6 1749 2777 6 1749 557 6 1749 627 6 1749 731 6 1749 .I 1750 .T Considerations in the Design of a Multiple Computer System with Extended Core Storage .W The use of large quantities of addressable (but not executable) fast random access memory to heighten the multiprogramming performance of a multicomputer system is discussed. The general design of the hardware arrangement and the software components and functions of such a system are based on a planned configuration of dual CDC 6600's that share one million words of extended core storage. In the generalization of such a design, special emphasis is placed on estimating expected gains when compared with the traditional configuration of separate and independent computers without extended core storage. An observation is made on the use of conventional, slower speed, random access storage devices in place of the faster memory. .B CACM May, 1968 .A Fuchel, K. Heller, S. .K multiple computer systems, extended core storage, multiprogrammed operating systems, multiprocessor operating systems, control data corporation 6600, operating system with ECS .C 4.30 4.32 .N CA680506 JB February 23, 1978 9:27 AM .X 1750 5 1750 1750 5 1750 1750 5 1750 2988 5 1750 1750 6 1750 .I 1751 .T The Working Set Model for Program Behavior .W Probably the most basic reason behind the absence of a general treatment of resource allocation in modern computer systems is an adequate model for program behavior. In this paper a new model, the "working set model," is developed. The working set of pages associated with a process, defined to be the collection of its most recently used pages, provides knowledge vital to the dynamic management of paged memories. "Process" and "working set" are shown to be manifestations of the same ongoing computational activity; then "processor demand" and "memory demand" are defined; and resource allocation is formulated as the problem of balancing demands against available equipment. .B CACM May, 1968 .A Denning, P. J. .K general operating system concepts, multiprocessing, multiprogramming, operating systems, program behavior, program models, resource allocation, scheduling, storage allocation .C 4.30 4.32 .N CA680505 JB February 23, 1978 9:33 AM .X 1751 4 1751 1892 4 1751 2128 4 1751 2218 4 1751 1751 5 1751 1751 5 1751 1751 5 1751 1752 5 1751 1892 5 1751 1901 5 1751 2085 5 1751 2095 5 1751 2218 5 1751 2277 5 1751 2319 5 1751 2329 5 1751 2358 5 1751 2373 5 1751 2380 5 1751 2434 5 1751 2499 5 1751 2501 5 1751 2582 5 1751 2669 5 1751 2828 5 1751 2863 5 1751 2881 5 1751 2928 5 1751 2996 5 1751 3006 5 1751 3067 5 1751 168 6 1751 185 6 1751 1380 6 1751 1408 6 1751 1410 6 1751 1502 6 1751 1526 6 1751 1572 6 1751 1572 6 1751 1719 6 1751 1728 6 1751 1728 6 1751 1728 6 1751 1728 6 1751 1746 6 1751 1749 6 1751 1751 6 1751 1751 6 1751 1751 6 1751 1751 6 1751 1751 6 1751 1751 6 1751 1751 6 1751 1751 6 1751 1751 6 1751 1751 6 1751 1751 6 1751 1751 6 1751 1751 6 1751 1751 6 1751 1751 6 1751 1751 6 1751 1751 6 1751 1751 6 1751 1751 6 1751 1751 6 1751 1751 6 1751 1751 6 1751 1751 6 1751 1753 6 1751 1754 6 1751 1754 6 1751 1754 6 1751 1752 6 1751 1752 6 1751 1810 6 1751 1810 6 1751 1879 6 1751 1879 6 1751 1884 6 1751 1884 6 1751 274 6 1751 1901 6 1751 1901 6 1751 1924 6 1751 1951 6 1751 2004 6 1751 2016 6 1751 2017 6 1751 2017 6 1751 2017 6 1751 2080 6 1751 2095 6 1751 2130 6 1751 2188 6 1751 2203 6 1751 2204 6 1751 2277 6 1751 2358 6 1751 2374 6 1751 2374 6 1751 2374 6 1751 2373 6 1751 2373 6 1751 2373 6 1751 2373 6 1751 2380 6 1751 2522 6 1751 2569 6 1751 2595 6 1751 2595 6 1751 2595 6 1751 2682 6 1751 2751 6 1751 2841 6 1751 2863 6 1751 2863 6 1751 2864 6 1751 3006 6 1751 .I 1752 .T Resource Management for a Medium Scale Time-Sharing Operating system .W Task scheduling and resource balancing for a medium size virtual memory paging machine are discussed in relation to a combined batch processing and time-sharing environment. A synopsis is given of the task scheduling and paging algorithms that were implemented, and the results of comparative simulation are given by tracing the development of the algorithms through six predecessor versions. Throughout the discussion particular emphasis is placed on balancing the system performance relative to the characteristics of all the system resources. Simulation results relative to alternate hardware characteristics and the effects of program mix and loading variations are also presented. .B CACM May, 1968 .A Oppenheimer, G. Weizer, N. .K time-sharing, operating systems, resource management, task scheduling, paging, system simulation, memory management, virtual memories .C 4.30 4.31 4.32 .N CA680504 JB February 23, 1978 9:39 AM .X 1751 5 1752 1752 5 1752 1752 5 1752 1752 5 1752 1892 5 1752 2128 5 1752 2218 5 1752 1380 6 1752 1526 6 1752 1572 6 1752 1572 6 1752 1728 6 1752 1728 6 1752 1751 6 1752 1751 6 1752 1752 6 1752 1752 6 1752 1752 6 1752 1752 6 1752 1810 6 1752 1879 6 1752 2095 6 1752 .I 1753 .T Virtual Memory, Processes, and Sharing in MULTICS .W Some basic concepts involved in the design of the MULTICS operating system are introduced. MULTICS concepts of processes, address space, and virtual memory are defined and the use of paging and segmentation is explained. The means by which users may share procedures and data is discussed and the mechanism by which symbolic references are dynamically transformed into virtual machine addresses is described in detail. .B CACM May, 1968 .A Daley, R. C. Dennis, J. B. .K virtual memory, information sharing, shared procedures, data sharing, dynamic linking, segmentation, paging, multiprogramming, storage management, storage hierarchies, file maintenance .C 3.73 4.32 .N CA680503 JB February 23, 1978 9:44 AM .X 1753 4 1753 2358 4 1753 2377 4 1753 2372 4 1753 2626 4 1753 2840 4 1753 1746 5 1753 1753 5 1753 1753 5 1753 1753 5 1753 2317 5 1753 2358 5 1753 2625 5 1753 1198 6 1753 1471 6 1753 1572 6 1753 1693 6 1753 1746 6 1753 1749 6 1753 1751 6 1753 1753 6 1753 1753 6 1753 1753 6 1753 1781 6 1753 274 6 1753 2126 6 1753 2148 6 1753 2358 6 1753 2438 6 1753 .I 1754 .T Dynamic Storage Allocation Systems .W In many recent computer system designs, hardware facilities have been provided for easing the problems of storage allocation. A method of characterizing dynamic storage allocation systems-according to the functional capabilities provided and the underlying techniques used-is presented. The basic purpose of the paper is to provide a useful perspective from which the utility of various hardware facilities may be assessed. A brief survey of storage allocation facilities in several representative computer systems is included as an appendix. .B CACM May, 1968 .A Randell, B. Kuehner, C. J. .K segmentation, paging, multiprogramming, storage allocation, storage management, virtual memories, storage fragmentation, storage hierarchies, addressing mechanisms .C 4.30 6.20 .N CA680502 JB February 23, 1978 9:49 AM .X 1754 4 1754 1754 4 1754 2358 4 1754 488 4 1754 274 5 1754 1754 5 1754 1754 5 1754 1754 5 1754 1879 5 1754 1884 5 1754 1901 5 1754 376 5 1754 2095 5 1754 2277 5 1754 2297 5 1754 2365 5 1754 168 6 1754 185 6 1754 987 6 1754 1728 6 1754 1728 6 1754 1751 6 1754 1751 6 1754 1751 6 1754 1754 6 1754 1754 6 1754 1754 6 1754 1754 6 1754 1754 6 1754 1754 6 1754 1754 6 1754 1879 6 1754 1924 6 1754 2362 6 1754 .I 1755 .T Proceedings of the ACM Symposium on Operating system Principles .B CACM May, 1968 .A ACM Special Interest Committee .N CA680501 JB February 23, 1978 9:56 AM .X 1755 5 1755 1755 5 1755 1755 5 1755 .I 1756 .T Hollerith Punched Card Code* (Proposed USA Standard) .B CACM April, 1968 .K USA Standard, card code, punched card, punched card code, hole-patterns, hole-patterns assignment, punched card systems .C 1.4 2.0 2.2 2.43 2.9 3.15 3.24 3.50 3.57 3.7 3.80 3.81 3.82 4.11 4.12 .N CA680414 JB February 23, 1978 10:14 AM .X 1756 5 1756 1756 5 1756 1756 5 1756 .I 1757 .T Data Code for Calendar Date for Machine-to-Machine Data Interchange* (Proposed USA Standard) .B CACM April, 1968 .K USA Standard, data code, calendar date, machine-to-machine data interchange, recording calendar date, data group identifier .C 2.0 2.11 2.19 2.3 2.40 2.43 2.49 3.50 3.52 3.53 3.55 3.56 3.59 3.70 3.71 3.73 3.74, 3.79, 3.81, 4.1, 4.9 .N CA680413 JB February 23, 1978 10:18 AM .X 1757 5 1757 1757 5 1757 1757 5 1757 .I 1758 .T Symmetric Polynomials, (Algorithm 305 [C1]) .B CACM April, 1968 .A McKay, S. .K symmetric polynomials, symmetric sum, unitary symmetric functions, Schur functions .C 5.39 .N CA680412 JB February 23, 1978 10:19 AM .X 1758 5 1758 1758 5 1758 1758 5 1758 .I 1759 .T Transportation Problem (Algorithm 293 [H]) .B CACM April, 1968 .A Bayer, G. .K transportation problem, linear programming .C 5.41 .N CA680411 JB February 23, 1978 10:20 AM .X 1759 5 1759 1759 5 1759 1759 5 1759 .I 1760 .T Normal Curve Integral (Algorithm 304 [S15]) .B CACM April, 1968 .A Bergson, A. .K normal curve integral, probability, special functions .C 5.5 5.12 .N CA680410 JB February 23, 1978 10:22 AM .X 1760 5 1760 1760 5 1760 1760 5 1760 1838 5 1760 1760 6 1760 .I 1761 .T Chi-Squared Integral (Algorithm 299 [S15]) .B CACM April, 1968 .A O'Brien, W. M. Wood, J. .K chi-squared integral, probability, special functions .C 5.5 5.12 .N CA680409 JB February 23, 1978 10:24 AM .X 1761 5 1761 1761 5 1761 1761 5 1761 2668 5 1761 1604 6 1761 1728 6 1761 1761 6 1761 1827 6 1761 2677 6 1761 .I 1762 .T Dilogarithm (Algorithm 327 [S22]) .B CACM April, 1968 .A Kolbig, K. S. .K dilogarithm function, special functions .C 5.12 .N CA680408 JB February 23, 1978 10:25 AM .X 1762 5 1762 1762 5 1762 1762 5 1762 .I 1763 .T Roots of Low-Order Polynomial Equations (Algorithm 326 [C2]) .B CACM April, 1968 .A Nonweiler, T. F. .K root finders, polynomial equation roots, quadratic equation roots, cubic equation roots, biquadratic equation roots, polynomial zeros .C 5.15 .N CA680407 JB February 23, 1978 10:27 AM .X 1763 5 1763 1763 5 1763 1763 5 1763 .I 1764 .T Panel Discussion on Computer Appreciation .W Session 19 of the ACM 20 th Anniversary Conference on August 31, 1967, was entitled Education, Design Experiments, and Computer Appreciation. Its second half consisted of a panel discussion on computer appreciation, organized and chaired by Elliot I. Organick. The four panelists were Charles H. Davidson, Bernard A. Galler, Richard, W. Hamming, and Alan J. Perlis. After making prepared statements, the panelists were joined in discussion by Andries van Dam and Arthur B.Kohn, who had presented papers in the first half. This is a transcript of the panel discussion, condensed by Dr. Organick and edited by him and the panelists. Some remarks referred to papers by van Dam and Kahn or to the discussion during the first half of the session. Pertinent papers are included in the references. .B CACM April, 1968 .A Organick, E. I. .K computer appreciation, students' liberal arts courses, survey courses, beginning programming, course content, computer courses dropout rates, college versus precollege, teaching and social responsibility .C 1.1 1.51 1.52 .N CA680406 JB February 23, 1978 10:34 AM .X 1764 5 1764 1764 5 1764 1764 5 1764 .I 1765 .T Expenditures, Sources of Funds, and Utilization of Digital Computers for Research and Instruction in Higher Education: 1964-65 with Projections for 1968-69 .W The Southern Regional Education Board published a complete report on a survey it conducted to determine the funding and characterize the utilization of computers used for research and instruction in institutions of higher education in the United States. The sampling survey is described and the estimates for this total population are presented. .B CACM April, 1968 .A Hamblen, J. W. .K computing centers, research, instruction, utilization, expenditures, support, sources of funds, higher education, post secondary education, colleges, universities .C 1.52 2.45 .N CA680405 JB February 23, 1978 11:07 AM .X 1765 5 1765 1765 5 1765 1765 5 1765 .I 1766 .T Quasilinearization and the Estimation of Differential Operators from Eigenvalues .W Given a linear ordinary differential operator containing several unknown constants and a number of its eigenvalues, the values of the unknown constants are estimated. A precise formulation is provided, and an effective numerical procedure for solution is indicated. The results of some computational experiments are given. .B CACM April, 1968 .A Bellman, R. E. Kagiwada, H. H. Kalaba, R. E. Vasudenvan, R. .K quasilinearization, eigenvalues, differential operators, nonlinear boundary-value problems, inverse problems,differential equations, system identification .C 3.15 3.17 5.17 .N CA680404 JB February 23, 1978 11:12 AM .X 1766 4 1766 1401 5 1766 1766 5 1766 1766 5 1766 1766 5 1766 .I 1767 .T A General Purpose Graphic Language .W Interactive use of computers with graphic terminals will permit many new problems to be solved using machines. In order to handle a variety of applications, it is expedient to develop a general purpose graphic language that is useful on a number of graphic devices. A system has been designed to produce such a language quickly and cheaply. A model graphic language which has been developed with the system is presented. .B CACM April, 1968 .A Kulsrud, H. E. .K graphic language, interactive, incremental compilation, language design, metacompiler, syntax specified language .C 4.12 4.22 .N CA680403 JB February 23, 1978 11:17 AM .X 249 4 1767 254 4 1767 272 4 1767 1102 4 1767 1109 4 1767 1140 4 1767 1188 4 1767 1306 4 1767 1396 4 1767 1464 4 1767 1491 4 1767 1767 4 1767 1767 4 1767 1767 4 1767 1767 4 1767 1781 4 1767 1781 4 1767 1781 4 1767 1781 4 1767 1787 4 1767 1787 4 1767 1860 4 1767 1945 4 1767 1949 4 1767 1988 4 1767 321 4 1767 2059 4 1767 2126 4 1767 2252 4 1767 2341 4 1767 435 4 1767 437 4 1767 463 4 1767 483 4 1767 491 4 1767 2732 4 1767 560 4 1767 583 4 1767 3073 4 1767 627 4 1767 631 4 1767 632 4 1767 642 4 1767 644 4 1767 653 4 1767 680 4 1767 761 4 1767 762 4 1767 763 4 1767 123 4 1767 140 4 1767 919 4 1767 989 4 1767 196 5 1767 1468 5 1767 1467 5 1767 1496 5 1767 1767 5 1767 1767 5 1767 1767 5 1767 2002 5 1767 2003 5 1767 2152 5 1767 1491 6 1767 1710 6 1767 1767 6 1767 1767 6 1767 1767 6 1767 1937 6 1767 2105 6 1767 .I 1768 .T A Global Parser for Context-Free Phrase Structure Grammars .W An algorithm for analyzing any context-free phrase structure grammar and for generating a program which can then parse any sentence in the language (or indicate that the given sentence is invalid) is described. The parser is of the "top-to-bottom" type and is recursive . A number of heuristic procedures whose purpose is to shorten the basic algorithm by quickly ascertaining that certain substrings of the input sentence cannot correspond to the target nonterminal symbols are included. Both the generating algorithm and the parser have been implemented in RCA SNOBOL and have been tested successfully on a number of artificial grammars and on a subset of ALGOL. A number of the routines for extracting data about a grammar, such as minimum lengths of N-derivable strings and possible prefixes, are given and may be of interest apart from their application in this particular context. .B CACM April, 1968 .A Unger, S. H. .K parser, syntax-directed compiler, context-free grammars, syntactic analysis, translators .C 3.42 4.12 5.24 .N CA680402 JB February 23, 1978 11:27 AM .X 1350 4 1768 1399 4 1768 1496 4 1768 1659 4 1768 1665 4 1768 1683 4 1768 1768 4 1768 1768 4 1768 1768 4 1768 1781 4 1768 1787 4 1768 1787 4 1768 1824 4 1768 1825 4 1768 1836 4 1768 1861 4 1768 1945 4 1768 1945 4 1768 2015 4 1768 2061 4 1768 2110 4 1768 2110 4 1768 2127 4 1768 2187 4 1768 2317 4 1768 2545 4 1768 2698 4 1768 2733 4 1768 3094 4 1768 1141 5 1768 1265 5 1768 1768 5 1768 1768 5 1768 1768 5 1768 1781 5 1768 .I 1769 .T The Expanding World of Computers .W The onward sweep of automatic processing of information is impeded by nine principal barriers: geography, cost, problem complexity, man-machine communication, inadequate sensors, lack of understanding, distance, time, and size. The main incentive for breaching these barriers is the universal need for processing information, ever more urgent as the greater part of human work activity changes from production to service. Computer developments in hardware, programming, time-sharing, education, data communication, and displays are judged by how effectively they remove these barriers, and their barrier-smashing potentialities indicate continued rapid expansion. Problem-oriented languages are particularly effective over the entire front. Online computers and time-sharing also rate high by this measure. Education and increased understanding are basic to all progress with the computer. This complex but powerful tool is the most important one available to governments and scientists to use in studying the problems being created by the population explosion, and in analyzing possible solutions. .B CACM April, 1968 .A Harder, E. L. .K barriers, philosophy, developments, computer-aided design, problem-oriented languages, data communication, education, computer science, forecast, survey, introduction .C 1.0 1.3 2.1 3.24 4.0 6.20 6.30 .N CA680401 JB February 23, 1978 11:36 AM .X 1769 5 1769 1769 5 1769 1769 5 1769 .I 1770 .T Rules of Ethics in Information Processing .W The background and motivation for the adoption by the ACM Council on November 11, 1966, of a set of Guidelines for Professional Conduct in Information Processing are described. A brief his tory is given of ethical codes in other professions. Some reasons for and against adoption of ethical rules are considered, and several sections of the ACM Guidelines are analyzed. The purpose is to inform about this important aspect of our profession, as well as to stimulate thought and interest. .B CACM March, 1968 .A Parker, D. B. .K ethics, professional conduct, code of ethics, ACM guidelines, professionalism, professional societies, unethical conduct .C 1.3 2.2 .N CA680302 JB February 23, 1978 11:41 AM .X 1770 4 1770 1628 5 1770 1770 5 1770 1770 5 1770 1770 5 1770 .I 1771 .T CURRICULUM 68 -- Recommendations for Academic Programs in Computer Science -- A Report of the ACM Curriculum Committee on Computer science .W This report contains recommendations on academic programs in computer science which were developed by the ACM Curriculum Committee on Computer Science. A classification of the subject areas contained in computer science is presented and twenty-two courses in these areas are described. Prerequisites, catalog descriptions, detailed outlines, and annotated bibliographies for these courses are included. Specific recommendations which have evolved from the Committee's 1965 Preliminary Recommendations are given for undergraduate programs. Graduate programs in computer science are discussed and some recommendations are presented for the development of master's degree programs. Ways of developing guidelines for doctoral programs are discussed, but no specific recommendations are made. The importance of service courses, minors, and continuing education in computer science is emphasized. Attention is given to the organization, staff requirements, computer resources, and other facilities needed to implement computer science educational programs. .B CACM March, 1968 .K computer science courses, computer science curriculum, computer science education, computer science academic programs, computer science graduate programs, computer science undergraduate programs, computer science course bibliographies .C 1.52 .N CA680301 JB February 23, 1978 11:52 AM .X 1413 4 1771 1654 4 1771 1720 4 1771 1771 4 1771 1771 4 1771 2478 4 1771 1205 5 1771 1654 5 1771 1720 5 1771 1771 5 1771 1771 5 1771 1771 5 1771 1927 5 1771 2147 5 1771 2163 5 1771 2345 5 1771 2478 5 1771 2594 5 1771 2852 5 1771 2899 5 1771 3130 5 1771 1205 6 1771 1417 6 1771 1654 6 1771 1659 6 1771 1720 6 1771 1771 6 1771 1771 6 1771 1771 6 1771 1771 6 1771 1771 6 1771 1771 6 1771 1771 6 1771 1771 6 1771 1771 6 1771 1771 6 1771 1927 6 1771 2155 6 1771 2181 6 1771 2181 6 1771 2204 6 1771 2329 6 1771 2345 6 1771 2387 6 1771 2479 6 1771 2538 6 1771 3003 6 1771 3186 6 1771 .I 1772 .T USASCSOCR Dual Case Keyboard Arrangement* (Proposed USA Standard) .B CACM February, 1968 .N CA680210 JB February 23, 1978 11:54 AM .X 1772 5 1772 1772 5 1772 1772 5 1772 .I 1773 .T General Purpose Alphanumeric Keyboard Arrangement for Information Interchange* (Proposed USA Standard) .B CACM February, 1968 .N CA680209 JB February 23, 1978 11:56 AM .X 1773 5 1773 1773 5 1773 1773 5 1773 .I 1774 .T Program Overlay Techniques .W The general features of program overlay systems are described. Three main types -- automatic, semiautomatic and nonautomatic -- are classified, and the programming techniques are explained as a function of machine hardware and other system features. The implementation of semiautomatic overlay facility in a multiprogrammed system on the CDC 6600 is described in detail, with special reference to real time applications. .B CACM February, 1968 .A Pankhurst, R. J. .K loaders, multiprogramming, overlay techniques, storage allocation and segmentation .C 4.39 .N CA680208 JB February 23, 1978 11:59 AM .X 1471 4 1774 1774 4 1774 1774 4 1774 1774 4 1774 2343 4 1774 560 4 1774 972 4 1774 1173 5 1774 271 5 1774 1774 5 1774 1774 5 1774 1774 5 1774 2343 5 1774 800 5 1774 1173 6 1774 1774 6 1774 1845 6 1774 .I 1775 .T Adjustment of the Inverse of a Symmetric Matrix when Two Symmetric Elements are Changed (Algorithm 325 [F1]) .B CACM February, 1968 .A Zielke, G. .K symmetric matrix, matrix inverse, matrix perturbation, matrix modification .C 5.14 .N CA680207 JB February 23, 1978 12:01 PM .X 1775 5 1775 1775 5 1775 1775 5 1775 .I 1776 .T Maxflow (Algorithm 324 [H]) .B CACM February, 1968 .A Bayer, G. .K network,liner programming, maximum flow .C 5.41 .N CA680206 JB February 23, 1978 12:02 PM .X 1776 5 1776 1776 5 1776 1776 5 1776 .I 1777 .T Generation of Permutations in Lexicographic Order (Algorithm 323 [G6]) .B CACM February, 1968 .A Ord-Smith, R. J. .K permutations, lexicographic order, lexicographic generation, permutation generation .C 5.39 .N CA680205 JB February 23, 1978 12:04 PM .X 1777 5 1777 1777 5 1777 1777 5 1777 1814 5 1777 1777 6 1777 .I 1778 .T F-Distribution (Algorithm 322 [S14]) .B CACM February, 1968 .A Dorrer, E. .K Fisher's F-distribution, Student's t-distribution .C 5.5 .N CA680204 JB February 23, 1978 12:06 PM .X 1778 5 1778 1778 5 1778 1778 5 1778 1920 5 1778 1778 6 1778 714 6 1778 .I 1779 .T t-Test Probabilities (Algorithm [S14]) .B CACM February, 1968 .A Morris, J. .K T-test, Student's t-statistic, distribution function .C 5.5 .N CA680203 JB February 23, 1978 1:33 PM .X 1157 4 1779 1779 4 1779 1920 4 1779 1944 4 1779 1987 4 1779 2548 4 1779 1779 5 1779 1779 5 1779 1779 5 1779 1944 5 1779 1987 5 1779 714 5 1779 1561 6 1779 1581 6 1779 1779 6 1779 1779 6 1779 1944 6 1779 714 6 1779 714 6 1779 .I 1780 .T Harmonic Analysis for Symmetrically Distributed Data (Algorithm 320 [C6]) .B CACM February, 1968 .A Hunter, D. B. .K harmonic analysis, cosine series, sine series, function approximation, curve fitting, trigonometric series .C 5.13 .N CA680202 JB February 23, 1978 1:34 PM .X 1780 5 1780 1780 5 1780 1780 5 1780 .I 1781 .T Translator Writing systems .W A critical review of recent efforts to automate the writing of translators of programming languages is presented. The formal study of syntax and its application to translator writing are discussed in Section II. Various approaches to automating the post syntactic (semantic) aspects of translator writing are discussed in Section III, and several related topics in Section IV. .B CACM February, 1968 .A Feldman, J. Gries, D. .K compiler, compiler-compiler, translator, translator writing systems, metacompiler, syntax, semantics, syntax-directed, meta-assembler, macroprocessor, parser, syntactic analysis, generator .C 4.1 4.10 4.12 4.22 5.23 .N CA680201 JB February 23, 1978 2:02 PM .X 249 4 1781 254 4 1781 267 4 1781 272 4 1781 1046 4 1781 1062 4 1781 1072 4 1781 1086 4 1781 1102 4 1781 1102 4 1781 1105 4 1781 1109 4 1781 1121 4 1781 1132 4 1781 1139 4 1781 1139 4 1781 1139 4 1781 1140 4 1781 1140 4 1781 1141 4 1781 1142 4 1781 1188 4 1781 1215 4 1781 1215 4 1781 1223 4 1781 1225 4 1781 1234 4 1781 1234 4 1781 1263 4 1781 1263 4 1781 1265 4 1781 1265 4 1781 1265 4 1781 1270 4 1781 1306 4 1781 1306 4 1781 1323 4 1781 1323 4 1781 1350 4 1781 1350 4 1781 1358 4 1781 1358 4 1781 1358 4 1781 1358 4 1781 1379 4 1781 1379 4 1781 1380 4 1781 1380 4 1781 1380 4 1781 1396 4 1781 1399 4 1781 1425 4 1781 1453 4 1781 1464 4 1781 1464 4 1781 1469 4 1781 1484 4 1781 1486 4 1781 1491 4 1781 1491 4 1781 1491 4 1781 1491 4 1781 1496 4 1781 1498 4 1781 1498 4 1781 1503 4 1781 1530 4 1781 1541 4 1781 1542 4 1781 1552 4 1781 1565 4 1781 1565 4 1781 1612 4 1781 1613 4 1781 1614 4 1781 1626 4 1781 1646 4 1781 1647 4 1781 1659 4 1781 1665 4 1781 1683 4 1781 1693 4 1781 1693 4 1781 1693 4 1781 1693 4 1781 1708 4 1781 1708 4 1781 1767 4 1781 1767 4 1781 1767 4 1781 1767 4 1781 1768 4 1781 1781 4 1781 1781 4 1781 1781 4 1781 1781 4 1781 1781 4 1781 1781 4 1781 1781 4 1781 1781 4 1781 1781 4 1781 1781 4 1781 1781 4 1781 1781 4 1781 1781 4 1781 1781 4 1781 1781 4 1781 1781 4 1781 1781 4 1781 1781 4 1781 1781 4 1781 1781 4 1781 1781 4 1781 1781 4 1781 1781 4 1781 1781 4 1781 1781 4 1781 1781 4 1781 1781 4 1781 1781 4 1781 1781 4 1781 1781 4 1781 1781 4 1781 1781 4 1781 1781 4 1781 1781 4 1781 1781 4 1781 1781 4 1781 1781 4 1781 1781 4 1781 1781 4 1781 1781 4 1781 1781 4 1781 1781 4 1781 1781 4 1781 1781 4 1781 1781 4 1781 1781 4 1781 1781 4 1781 1781 4 1781 1781 4 1781 1781 4 1781 1781 4 1781 1781 4 1781 1781 4 1781 1781 4 1781 1781 4 1781 1781 4 1781 1781 4 1781 1781 4 1781 1781 4 1781 1787 4 1781 1787 4 1781 1787 4 1781 1787 4 1781 1787 4 1781 1787 4 1781 1787 4 1781 1788 4 1781 1788 4 1781 1792 4 1781 1807 4 1781 1824 4 1781 1824 4 1781 1824 4 1781 1825 4 1781 1826 4 1781 1836 4 1781 1836 4 1781 1852 4 1781 1854 4 1781 1860 4 1781 1860 4 1781 1860 4 1781 1860 4 1781 1860 4 1781 1860 4 1781 1861 4 1781 1945 4 1781 1945 4 1781 1945 4 1781 1945 4 1781 1945 4 1781 1945 4 1781 1945 4 1781 1945 4 1781 1945 4 1781 1945 4 1781 1945 4 1781 1947 4 1781 1949 4 1781 1988 4 1781 1988 4 1781 1988 4 1781 1989 4 1781 321 4 1781 364 4 1781 2015 4 1781 2034 4 1781 2059 4 1781 2060 4 1781 2060 4 1781 2060 4 1781 2061 4 1781 2061 4 1781 2061 4 1781 2083 4 1781 2082 4 1781 2091 4 1781 2091 4 1781 2091 4 1781 2110 4 1781 2112 4 1781 2126 4 1781 2126 4 1781 2126 4 1781 2150 4 1781 2152 4 1781 2156 4 1781 2168 4 1781 2175 4 1781 2178 4 1781 2178 4 1781 2178 4 1781 2179 4 1781 2179 4 1781 2179 4 1781 2228 4 1781 2249 4 1781 2252 4 1781 2252 4 1781 2252 4 1781 2256 4 1781 2299 4 1781 2314 4 1781 2317 4 1781 2325 4 1781 2326 4 1781 2326 4 1781 2341 4 1781 2341 4 1781 2341 4 1781 2340 4 1781 2356 4 1781 2342 4 1781 2376 4 1781 2470 4 1781 2534 4 1781 2534 4 1781 405 4 1781 2541 4 1781 2546 4 1781 2546 4 1781 2546 4 1781 2546 4 1781 435 4 1781 437 4 1781 438 4 1781 438 4 1781 2579 4 1781 463 4 1781 464 4 1781 483 4 1781 491 4 1781 2603 4 1781 2603 4 1781 2618 4 1781 2645 4 1781 2650 4 1781 2652 4 1781 2684 4 1781 2684 4 1781 2684 4 1781 2698 4 1781 2698 4 1781 2698 4 1781 2698 4 1781 2708 4 1781 2708 4 1781 2708 4 1781 2708 4 1781 2719 4 1781 2732 4 1781 2733 4 1781 2736 4 1781 2820 4 1781 2824 4 1781 2833 4 1781 2842 4 1781 2929 4 1781 2934 4 1781 2982 4 1781 2986 4 1781 557 4 1781 560 4 1781 583 4 1781 584 4 1781 3044 4 1781 3045 4 1781 3045 4 1781 3069 4 1781 3073 4 1781 3073 4 1781 3093 4 1781 3093 4 1781 3094 4 1781 3155 4 1781 3184 4 1781 627 4 1781 631 4 1781 631 4 1781 632 4 1781 637 4 1781 642 4 1781 644 4 1781 653 4 1781 653 4 1781 669 4 1781 669 4 1781 679 4 1781 680 4 1781 680 4 1781 691 4 1781 720 4 1781 729 4 1781 759 4 1781 761 4 1781 761 4 1781 762 4 1781 762 4 1781 762 4 1781 763 4 1781 763 4 1781 763 4 1781 795 4 1781 799 4 1781 123 4 1781 140 4 1781 919 4 1781 945 4 1781 949 4 1781 949 4 1781 949 4 1781 989 4 1781 989 4 1781 989 4 1781 123 5 1781 196 5 1781 919 5 1781 990 5 1781 1007 5 1781 1046 5 1781 1131 5 1781 1139 5 1781 1140 5 1781 1149 5 1781 1198 5 1781 1215 5 1781 1223 5 1781 1265 5 1781 1303 5 1781 1323 5 1781 205 5 1781 1358 5 1781 224 5 1781 249 5 1781 1366 5 1781 288 5 1781 1421 5 1781 1460 5 1781 1462 5 1781 1463 5 1781 1468 5 1781 1467 5 1781 1477 5 1781 1491 5 1781 1496 5 1781 1531 5 1781 1535 5 1781 1565 5 1781 1601 5 1781 1602 5 1781 1613 5 1781 1614 5 1781 1626 5 1781 1641 5 1781 1665 5 1781 1768 5 1781 1781 5 1781 1781 5 1781 1781 5 1781 1787 5 1781 1788 5 1781 1824 5 1781 1825 5 1781 1836 5 1781 1861 5 1781 316 5 1781 381 5 1781 398 5 1781 2015 5 1781 2110 5 1781 2127 5 1781 2187 5 1781 2317 5 1781 2545 5 1781 2698 5 1781 2733 5 1781 404 5 1781 410 5 1781 463 5 1781 464 5 1781 483 5 1781 11 5 1781 584 5 1781 3184 5 1781 3188 5 1781 600 5 1781 680 5 1781 691 5 1781 763 5 1781 799 5 1781 196 6 1781 1141 6 1781 1141 6 1781 1155 6 1781 1191 6 1781 1198 6 1781 1215 6 1781 1265 6 1781 1265 6 1781 1324 6 1781 1358 6 1781 1477 6 1781 1477 6 1781 1477 6 1781 1487 6 1781 1491 6 1781 1491 6 1781 1491 6 1781 1496 6 1781 1527 6 1781 1572 6 1781 1614 6 1781 1614 6 1781 1693 6 1781 1739 6 1781 1748 6 1781 1749 6 1781 1753 6 1781 1781 6 1781 1781 6 1781 1781 6 1781 1781 6 1781 1781 6 1781 1781 6 1781 1781 6 1781 1781 6 1781 1781 6 1781 1781 6 1781 1781 6 1781 1781 6 1781 1781 6 1781 1781 6 1781 1781 6 1781 224 6 1781 1856 6 1781 378 6 1781 2110 6 1781 2126 6 1781 2148 6 1781 2179 6 1781 2341 6 1781 2423 6 1781 2556 6 1781 2786 6 1781 404 6 1781 408 6 1781 3184 6 1781 577 6 1781 631 6 1781 680 6 1781 763 6 1781 799 6 1781 799 6 1781 799 6 1781 799 6 1781 .I 1782 .T A Numerical Integration Formula Useful in Fourier Analysis .W A numerical integration formula is presented which uses unequal sampling intervals. The intervals are equally spaced on a log scale. Such a formulation is useful in Fourier analysis to improve accuracy and ease of usage. A complete set of formulas for numerical Fourier analysis is given. .B CACM January, 1968 .A Meisel, W. S. .K numerical integration, Fourier analysis, integration .C 5.16 .N CA680112 JB February 23, 1978 2:05 PM .X 1782 5 1782 1782 5 1782 1782 5 1782 .I 1783 .T In-and-Out Conversions .W Byan in-and-out conversion we mean that a floating-point number in one base is converted into a floating-point number in another base and then converted back to a floating-point number in the original base. For all combinations of rounding and truncation conversions the question is considered of how many significant digits are needed in the intermediate base to allow such in-and-out conversions to return the original number (when possible), or at least significant digit. .B CACM January, 1968 .A Matula, D. W. .K floating-point numbers, significance, base conversion, rounding, truncation .C 3.15 5.11 .N CA680111 JB February 23, 1978 2:14 PM .X 1783 4 1783 1843 4 1783 1634 5 1783 1783 5 1783 1783 5 1783 1783 5 1783 1843 5 1783 1634 6 1783 1783 6 1783 .I 1784 .T Practical Error Coefficients for Estimating Quadrature Errors for Analytic Functions .W All published error coefficients for estimating quadrature errors for analytic functions were computed on the assumption that the quadrature rule was exact for polynomials up to a given degree. Since these rules use rounded values for the abscissas and weights and since the true values of the integrals of some of the polynomials in question have an infinite binary expression, the quadrature rule is not exact. Hence these errors must be taken into consideration in computing practical error coefficients. .B CACM January, 1968 .A Rabinowitz, P. .K numerical integration, quadrature, truncation error, theoretical error coefficients, practical error coefficients, integration analytical functions, roundoff error .C 5.11 5.16 .N CA680110 JB February 23, 1978 2:22 PM .X 1672 5 1784 1784 5 1784 1784 5 1784 1784 5 1784 1784 6 1784 .I 1785 .T Scatter Storage Techniques .W Scatter storage techniques as a method for implementing the symbol tables of assemblers and compilers are reviewed and a number of ways of using them more effectively are presented. Many of the most useful variants of the techniques are documented. .B CACM January, 1968 .A Morris, R. .K scatter storage, hash addressing, searching, file searching, file addressing, storage layout .C 3.73 3.74 .N CA680109 JB February 23, 1978 2:26 PM .X 1271 4 1785 1785 4 1785 1785 4 1785 1785 4 1785 2203 4 1785 2203 4 1785 2543 4 1785 2552 4 1785 2552 4 1785 2860 4 1785 911 4 1785 911 4 1785 911 5 1785 1676 5 1785 1682 5 1785 1728 5 1785 1785 5 1785 1785 5 1785 1785 5 1785 1860 5 1785 1973 5 1785 332 5 1785 2018 5 1785 2032 5 1785 2033 5 1785 2107 5 1785 2109 5 1785 2203 5 1785 2251 5 1785 2359 5 1785 2524 5 1785 2543 5 1785 2552 5 1785 2559 5 1785 2991 5 1785 492 5 1785 3053 5 1785 849 6 1785 911 6 1785 911 6 1785 1025 6 1785 1314 6 1785 1329 6 1785 1366 6 1785 1389 6 1785 1421 6 1785 1496 6 1785 1525 6 1785 1626 6 1785 1641 6 1785 1647 6 1785 1785 6 1785 1785 6 1785 1785 6 1785 1785 6 1785 1785 6 1785 1785 6 1785 1785 6 1785 1785 6 1785 1785 6 1785 1785 6 1785 1785 6 1785 1785 6 1785 1785 6 1785 1785 6 1785 1785 6 1785 1785 6 1785 1785 6 1785 1785 6 1785 1785 6 1785 1786 6 1785 1786 6 1785 1786 6 1785 1786 6 1785 1786 6 1785 1786 6 1785 1786 6 1785 1786 6 1785 1786 6 1785 1973 6 1785 1973 6 1785 1973 6 1785 1973 6 1785 1992 6 1785 332 6 1785 332 6 1785 378 6 1785 2018 6 1785 2107 6 1785 2107 6 1785 2107 6 1785 2107 6 1785 2107 6 1785 2107 6 1785 2107 6 1785 2109 6 1785 2109 6 1785 2109 6 1785 2109 6 1785 2109 6 1785 2109 6 1785 2203 6 1785 2203 6 1785 2203 6 1785 2412 6 1785 2543 6 1785 2673 6 1785 2707 6 1785 2770 6 1785 492 6 1785 3184 6 1785 .I 1786 .T An Improved Hash Code for Scatter Storage .W Introduced is a hash coding method based on fixed-point division rather than multiplication or logical operations. This new method allows the hash table to have almost any length. Also a new method of handling collisions is discussed. Known as quadratic search, this method is faster than random search and free from the "clusters" that build up with a linear search. .B CACM January, 1968 .A Maurer, W. D. .K hash code, hash table, scatter storage, searching .C 3.74 4.11 4.12 4.9 .N CA680108 JB February 23, 1978 2:31 PM .X 1786 5 1786 1786 5 1786 1786 5 1786 1860 5 1786 1973 5 1786 1992 5 1786 2018 5 1786 2033 5 1786 2107 5 1786 2109 5 1786 2203 5 1786 2251 5 1786 2543 5 1786 2573 5 1786 2770 5 1786 911 6 1786 1314 6 1786 1366 6 1786 1389 6 1786 1421 6 1786 1496 6 1786 1626 6 1786 1641 6 1786 1785 6 1786 1785 6 1786 1785 6 1786 1785 6 1786 1785 6 1786 1785 6 1786 1785 6 1786 1785 6 1786 1785 6 1786 1786 6 1786 1786 6 1786 1786 6 1786 1786 6 1786 1786 6 1786 1786 6 1786 1786 6 1786 1786 6 1786 1786 6 1786 1786 6 1786 1786 6 1786 1786 6 1786 1869 6 1786 1973 6 1786 1973 6 1786 1973 6 1786 1992 6 1786 332 6 1786 378 6 1786 2018 6 1786 2018 6 1786 2018 6 1786 2107 6 1786 2107 6 1786 2107 6 1786 2107 6 1786 2107 6 1786 2107 6 1786 2109 6 1786 2109 6 1786 2109 6 1786 2109 6 1786 2109 6 1786 2109 6 1786 2673 6 1786 492 6 1786 3184 6 1786 .I 1787 .T Use of Transition Matrices in Compiling .W An algorithms is described which constructs from a suitable BNF grammar an efficient left-right recognizer for sentences of the corresponding language. The type of recognizer, used in a number of compilers, operates with a pushdown stack and with a transition matrix. Two examples illustrate how such recognizers may be used effectively for other purposes besides the usual syntax checking. .B CACM January, 1968 .A Gries, D. .K transition matrices, compilation, translation, grammar, context-free language, formal language, parsing .C 4.12 5.23 .N CA680107 JB February 23, 1978 2:35 PM .X 249 4 1787 254 4 1787 267 4 1787 272 4 1787 1102 4 1787 1109 4 1787 1139 4 1787 1140 4 1787 1141 4 1787 1188 4 1787 1215 4 1787 1215 4 1787 1223 4 1787 1306 4 1787 1323 4 1787 1358 4 1787 1380 4 1787 1396 4 1787 1464 4 1787 1491 4 1787 1496 4 1787 1498 4 1787 1542 4 1787 1647 4 1787 1665 4 1787 1665 4 1787 1683 4 1787 1683 4 1787 1693 4 1787 1767 4 1787 1767 4 1787 1768 4 1787 1768 4 1787 1781 4 1787 1781 4 1787 1781 4 1787 1781 4 1787 1781 4 1787 1781 4 1787 1781 4 1787 1787 4 1787 1787 4 1787 1787 4 1787 1787 4 1787 1787 4 1787 1787 4 1787 1787 4 1787 1787 4 1787 1787 4 1787 1792 4 1787 1824 4 1787 1825 4 1787 1836 4 1787 1836 4 1787 1860 4 1787 1861 4 1787 1945 4 1787 1945 4 1787 1945 4 1787 1945 4 1787 1949 4 1787 1988 4 1787 1989 4 1787 321 4 1787 364 4 1787 2015 4 1787 2059 4 1787 2060 4 1787 2061 4 1787 2061 4 1787 2082 4 1787 2091 4 1787 2110 4 1787 2112 4 1787 2126 4 1787 2127 4 1787 2152 4 1787 2179 4 1787 2187 4 1787 2252 4 1787 2317 4 1787 2340 4 1787 2356 4 1787 2534 4 1787 405 4 1787 2541 4 1787 2545 4 1787 2546 4 1787 435 4 1787 437 4 1787 438 4 1787 463 4 1787 483 4 1787 491 4 1787 2603 4 1787 2603 4 1787 2698 4 1787 2698 4 1787 2698 4 1787 2708 4 1787 2732 4 1787 2733 4 1787 2733 4 1787 2820 4 1787 2824 4 1787 2982 4 1787 2986 4 1787 560 4 1787 583 4 1787 3045 4 1787 3073 4 1787 3073 4 1787 3093 4 1787 3155 4 1787 627 4 1787 631 4 1787 632 4 1787 642 4 1787 644 4 1787 653 4 1787 680 4 1787 761 4 1787 762 4 1787 763 4 1787 763 4 1787 123 4 1787 140 4 1787 919 4 1787 989 4 1787 196 5 1787 1141 5 1787 1215 5 1787 224 5 1787 1491 5 1787 1496 5 1787 1781 5 1787 1787 5 1787 1787 5 1787 1787 5 1787 2534 5 1787 2708 5 1787 763 5 1787 799 5 1787 830 6 1787 123 6 1787 196 6 1787 919 6 1787 990 6 1787 1007 6 1787 1046 6 1787 1131 6 1787 1139 6 1787 1140 6 1787 1149 6 1787 1198 6 1787 1215 6 1787 1223 6 1787 1265 6 1787 1303 6 1787 1323 6 1787 1358 6 1787 1366 6 1787 1421 6 1787 1460 6 1787 1462 6 1787 1463 6 1787 1467 6 1787 1468 6 1787 1477 6 1787 1477 6 1787 1491 6 1787 1491 6 1787 1496 6 1787 1531 6 1787 1535 6 1787 1565 6 1787 1601 6 1787 1602 6 1787 1613 6 1787 1614 6 1787 1626 6 1787 1641 6 1787 1787 6 1787 1787 6 1787 1787 6 1787 1788 6 1787 205 6 1787 224 6 1787 249 6 1787 288 6 1787 1959 6 1787 1973 6 1787 316 6 1787 381 6 1787 398 6 1787 2111 6 1787 2111 6 1787 11 6 1787 2182 6 1787 2534 6 1787 2556 6 1787 404 6 1787 410 6 1787 463 6 1787 464 6 1787 483 6 1787 3184 6 1787 3188 6 1787 584 6 1787 600 6 1787 680 6 1787 680 6 1787 691 6 1787 763 6 1787 799 6 1787 799 6 1787 .I 1788 .T Toward a General Processor for Programming Languages .W Many efforts have been made to develop a better way of implementing a higher level programming language than by the construction of a whole new compiler, but so far none has proved generally satisfactory. In this paper, it is contended that a programming language is best described functionally as a body of macro instructions, and that the macro call constitutes a canonical form in terms of which a programming notation may be described. A supporting discussion of the logical and his torical role of the macro instruction is presented. Also discussed are the conflict between machine independence and object program efficiency, and the question of where the greatest difficulties lie in compiler construction. .B CACM January, 1968 .A Halpern, M. J. .K programming language translator, programming language processor, general translator, general processor, macro instruction processor; meta processor, meta language translator, meta language processor, compiler-compiler, writing system, translator writing system .C 4.10 4.11 4.12 4.20 .N CA680106 JB February 23, 1978 2:42 PM .X 1358 4 1788 1565 4 1788 1781 4 1788 1781 4 1788 1788 4 1788 1788 4 1788 1788 4 1788 1788 4 1788 1006 5 1788 1007 5 1788 205 5 1788 1781 5 1788 1788 5 1788 1788 5 1788 1788 5 1788 3189 5 1788 123 6 1788 196 6 1788 919 6 1788 990 6 1788 1007 6 1788 1046 6 1788 1131 6 1788 1139 6 1788 1140 6 1788 1149 6 1788 1198 6 1788 1215 6 1788 1223 6 1788 1265 6 1788 1303 6 1788 1323 6 1788 1358 6 1788 1366 6 1788 1421 6 1788 1460 6 1788 1462 6 1788 1463 6 1788 1467 6 1788 1468 6 1788 1477 6 1788 1491 6 1788 1496 6 1788 1531 6 1788 1535 6 1788 1565 6 1788 1601 6 1788 1602 6 1788 1613 6 1788 1614 6 1788 1626 6 1788 1641 6 1788 1787 6 1788 1788 6 1788 205 6 1788 224 6 1788 249 6 1788 288 6 1788 316 6 1788 381 6 1788 398 6 1788 11 6 1788 404 6 1788 410 6 1788 463 6 1788 464 6 1788 483 6 1788 3184 6 1788 3188 6 1788 584 6 1788 600 6 1788 680 6 1788 691 6 1788 763 6 1788 799 6 1788 .I 1789 .T Logarithm of Gamma Function (Algorithm 291 [S14]) .B CACM January, 1968 .A Hoare, M. R. .N CA680104 JB February 23, 1978 2:45 PM .X 1789 5 1789 1789 5 1789 1789 5 1789 .I 1790 .T Muller's Method for Finding roots of an Arbitrary Function (Algorithm 196 [C5]) .B CACM January, 1968 .A Whitley, V. W. .K equation roots, function zeros .C 5.15 .N CA680103 JB February 23, 1978 2:47 PM .X 1790 5 1790 1790 5 1790 1790 5 1790 .I 1791 .T Triangular Factors of Modified Matrices (Algorithm 319 [F1]) .B CACM January, 1968 .A Green, D. R. .K matrix decomposition, matrix factors, matrix modifier, matrix perturbation .C 5.14 .N CA680102 JB February 23, 1978 2:50 PM .X 1791 5 1791 1791 5 1791 1791 5 1791 .I 1792 .T Exploratory Experimental Studies Comparing Online and Off line Programming Performance .W Two exploratory experiments were conducted at System Development Corporation to compare debugging performance of programmers working under conditions of on-line and off line access to a computer. These are the first known studies that measure programmers' performance under controlled conditions for standard tasks. Statistically significant results of both experiments indicated faster debugging under online conditions, but perhaps the most important practical finding involves the striking individual differences in programmer performance. Methodological problems encountered in designing and conducting these experiments are described; limitations of the findings are pointed out; hypotheses are presented to account for results; and suggestions are made for further research. .B CACM January, 1968 .A Sackman, H. Erikson, W. J. Grant, E. E. .K online vs. off line performance, programmer/computer communication, programming experimental-empirical studies, programming cost effectiveness, programming performance, debugging effectiveness, time sharing vs. batch processing, factor analysis application, programmer trainee performance, basic programming knowledge test, experienced programmer study, analysis of variance, programmer individual differences .C 2.40 .N CA680101 JB February 23, 1978 2:58 PM .X 267 4 1792 1139 4 1792 1141 4 1792 1215 4 1792 1223 4 1792 1647 4 1792 1781 4 1792 1787 4 1792 1792 4 1792 1792 4 1792 1908 4 1792 364 4 1792 405 4 1792 438 4 1792 763 4 1792 224 5 1792 1605 5 1792 1792 5 1792 1792 5 1792 1792 5 1792 3091 5 1792 1792 6 1792 .I 1793 .T Presentation of Alphameric Characters for Information Processing* (Proposed American National Standard) .B CACM December, 1969 .K alphameric, handwritten input, encoding transcription, numerals, upper case, hand printed .C 2.43 4.41 .N CA691219 JB February 15, 1978 1:55 PM .X 1793 5 1793 1793 5 1793 1793 5 1793 2333 5 1793 1793 6 1793 87 6 1793 88 6 1793 .I 1794 .T A Fast Random Number Generator for IBM 360 .B CACM December, 1969 .A Seraphin, D. S. .K pseudorandom number, modulus, period, float, normalization, characteristic, chi-square test .C 4.49 5.19 5.5 .N CA691218 JB February 15, 1978 1:58 PM .X 1794 4 1794 1870 4 1794 2122 4 1794 1674 5 1794 1794 5 1794 1794 5 1794 1794 5 1794 2349 5 1794 1648 6 1794 1716 6 1794 1794 6 1794 1894 6 1794 2043 6 1794 501 6 1794 613 6 1794 774 6 1794 .I 1795 .T Optimal Code for Serial and Parallel Computation .B CACM December, 1969 .A Fateman, R. J. .K code optimization, sequencing of operations, detection of common subexpressions .C 4.12 .N CA691217 JB February 15, 1978 1:59 PM .X 1795 5 1795 1795 5 1795 1795 5 1795 .I 1796 .T Index by Subject to Algorithms, 1969 .B CACM December, 1969 .K This 1969 index is the first supplement to the Index by Subject to Algorithms, 1960 1968 (Comm. ACM 11, 12 (Dec. 1968), 827 830). .N CA691216 JB February 15, 1978 2:03 PM .X 1796 5 1796 1796 5 1796 1796 5 1796 .I 1797 .T Solution of Linear programs in 0-1 (Algorithm 341 [H]) .B CACM December, 1969 .A Proll, L. G. .K linear programming, zero-one variables, partial enumeration .C 5.41 .N CA691215 JB February 15, 1978 2:06 PM .X 1797 5 1797 1797 5 1797 1797 5 1797 .I 1798 .T Coulomb Wave Functions (Algorithm 300 [S22]) .B CACM December, 1969 .A Kolbig, K. S. .K Coulomb wave functions, wave functions, special functions, function evaluation .C 5.12 .N CA691214 JB February 15, 1978 2:08 PM .X 1798 5 1798 1798 5 1798 1798 5 1798 .I 1799 .T Elementary Functions by Continued Fractions (Algorithm 229 [B1]) .B CACM December, 1969 .A Bray, T. A. .K continued factions, Pade table .C 5.19 .N CA691213 JB February 15, 1978 2:09 PM .X 1799 5 1799 1799 5 1799 1799 5 1799 .I 1800 .T PSIF (Algorithm 147 [S14]) .B CACM December, 1969 .A Parsons, R. G. .K gamma function, logarithmic derivative, factorial function, psi function .C 5.12 .N CA691212 JB February 15, 1978 2:11 PM .X 1800 4 1800 1800 5 1800 1800 5 1800 1800 5 1800 2222 5 1800 871 5 1800 970 6 1800 1800 6 1800 1818 6 1800 1834 6 1800 2042 6 1800 .I 1801 .T Analysis of Variance for Balanced Experiments (Algorithm 367 [G2]) .B CACM December, 1969 .A Claringbold, P. J. .K analysis of variance, analysis of covariance, regression analysis, experimental design, balanced experiment, missing data, interblock estimate, intra block estimate .C 5.14 5.5 .N CA691211 JB February 15, 1978 2:14 PM .X 1801 4 1801 1801 5 1801 1801 5 1801 1801 5 1801 1802 5 1801 .I 1802 .T Regression Using Certain Direct Product Matrices (Algorithm 366 [G2]) .B CACM December, 1969 .A Claringbold, P. J. .K analysis of variance, analysis of covariance, regression analysis, experimental design, matrix direct product, protection operator, orthogonal matrix .C 5.14 5.5 .N CA691210 JB February 15, 1978 2:23 PM .X 1801 5 1802 1802 5 1802 1802 5 1802 1802 5 1802 1802 6 1802 .I 1803 .T Complex Root Finding (Algorithm 365 [C5]) .B CACM December, 1969 .A Bach, H. .K downhill method, complex relaxation method, complex iteration, complex equation, transcendental complex equation, algebraic complex equation .C 5.15 .N CA691209 JB February 15, 1978 2:25 PM .X 1803 4 1803 1806 5 1803 1803 5 1803 1803 5 1803 1803 5 1803 .I 1804 .T Coloring Polygonal Regions (Algorithm 364 [Z]) .B CACM December, 1969 .A Herriot, R. G. .K coloring polygonal regions, coloring planar surfaces, drawing pictures, shading enclosed regions .C 4.9 .N CA691208 JB February 15, 1978 2:27 PM .X 1804 4 1804 1804 4 1804 2987 4 1804 2987 4 1804 1804 5 1804 1804 5 1804 1804 5 1804 421 5 1804 524 5 1804 .I 1805 .T Productivity of Multiprogrammed Computers-Progress in Developing an Analytic Prediction Method .W Multiprogramming as it is discussed here is a mode of computer operation in which two or more programs are concurrently in processor memory and proceeding, each using the same central processor unit (CPU) and input-output (I/O) channels. These programs are actually proceeding intermittently and singly, according to eligibility (readiness to proceed) and priority. It is useful to be able to represent them as proceeding continuously and simultaneously, each at an effective rate, which may be a fraction of that which it would enjoy in the absence of the other programs. The effective progress rate of each program is sensitive to many detailed characteristics of itself and its co-residents and simulation has been the best available method of predicting it. This paper presents the results of progress in developing an alternative to simulation, a simulation-tested iterative computation of these rates under certain situations. The algorithm is sensitive to most of the factors that control the phenomenon, including nonquantitative or topological features of the programs' structures. .B CACM December, 1969 .A Lasser, D. J. .K productivity, prediction, multiprogramming, simulation, equipment evaluation, hardware, evaluation, monitor, operating system, system software, supervisors, performance, time sharing, time slicing .C 2.43 2.44 4.32 .N CA691207 JB February 15, 1978 2:47 PM .X 1805 4 1805 1805 4 1805 1805 4 1805 1828 4 1805 1846 4 1805 1854 4 1805 1892 4 1805 1912 4 1805 2187 4 1805 2188 4 1805 2218 4 1805 2317 4 1805 1518 5 1805 1572 5 1805 1748 5 1805 1805 5 1805 1805 5 1805 1805 5 1805 3070 5 1805 1805 6 1805 2454 6 1805 2741 6 1805 2988 6 1805 .I 1806 .T On the Downhill Method .W The downhill method is a numerical method for solving complex equations f(z) = 0 on which the only restriction is that the function w = f(z) must be analytical. An introduction to this method is given and a critical review of relating literature is presented. Although in theory the method always converges, it is shown that a fundamental dilemma exists which may cause a breakdown in practical applications. To avoid this difficulty and to improve the rate of convergence toward a root, some modifications of the original method are proposed and a program (FORTRAN) based on the modified method is given in Algorithm 365. Some numerical examples are included. .B CACM December, 1969 .A Bach, H. .K downhill method, complex relaxation method, complex iteration, complex equation, transcendental complex equation, algebraic complex equation .C 5.15 .N CA691206 JB February 15, 1978 2:54 PM .X 1806 4 1806 1806 5 1806 1806 5 1806 1806 5 1806 1803 5 1806 535 5 1806 1806 6 1806 .I 1807 .T Optimization of Expressions in Fortran .W A method of optimizing the computation of arithmetic and indexing expressions of a Fortran program is presented. The method is based on a linear analysis of the definition points of the variables and the branching and DO loop structure of the program. The objectives of the processing are (1) to eliminate redundant calculations when references are made to common subexpression values, (2) to remove invariant calculations from DO loops, (3) to efficiently compute subscripts containing DO iteration variables, and (4) to provide efficient index register usage. The method presented requires at least a three-pass compiler, the second of which is scanned backward. It has been used in the development of several FORTRAN compilers that have proved to produce excellent object code without significantly reducing the compilation speed. .B CACM December, 1969 .A Busam, V. A. England, D. E. .K FORTRAN, optimization, expressions, compilers, compilation, subscripts, register allocation, DO loops, common subexpressions, invariant calculations .C 4.12 .N CA691205 JB February 15, 1978 4:16 PM .X 1625 4 1807 1781 4 1807 1807 4 1807 1807 4 1807 1807 4 1807 1807 4 1807 1934 4 1807 1945 4 1807 1947 4 1807 1947 4 1807 2034 4 1807 2175 4 1807 2290 4 1807 2579 4 1807 2923 4 1807 2945 4 1807 1223 5 1807 1248 5 1807 1551 5 1807 1807 5 1807 1807 5 1807 1807 5 1807 1947 5 1807 2579 5 1807 2923 5 1807 1535 6 1807 1807 6 1807 1807 6 1807 1947 6 1807 1947 6 1807 .I 1808 .T Advanced Cryptographic Techniques for Computers .W Cryptographic techniques which can be used to maintain the confidentiality of information processed by computers are dealt with. Special emphasis is paid to the unique characteristics of computer files that make many cryptographic methods of little use. Relative security, costs, and preferred methods are included in this paper. .B CACM December, 1969 .A Van Tassel, D. .K cryptographic, cryptanalysis, ciphers secrecy systems, security systems, confidential information processing .C 1.3 2.12 2.19 3.73 3.81 4.41 .N CA691204 JB February 15, 1978 4:20 PM .X 1808 5 1808 1808 5 1808 1808 5 1808 .I 1809 .T Numerical Analysis in a Ph.D. Computer Science Program .W Numerical Analysis is the study of methods and procedures used to obtain "approximate solutions" to mathematical problems. Much of the emphasis is on scientific calculation. The difficulties of education in such a broad area center around the question of background and emphasis. The Numerical Analysis program in the Computer Science Department should emphasize an awareness of the problems of computer implementation and experimental procedures. Nevertheless, there is a need for a solid background in applied mathematics. .B CACM December, 1969 .A Parter, S. V. .K Ph.D. program, numerical analysis, course separation, education .C 1.52 .N CA691203 JB February 15, 1978 4:25 PM .X 1809 5 1809 1809 5 1809 1809 5 1809 .I 1810 .T Is Automatic "Folding" of Programs Efficient Enough To Displace Manual? .W The operation of "folding" a program into the available memory is discussed. Measurements by Brown et al. and by Nelson on an automatic folding mechanism of simple design, a demand paging unit built at the IBM Research Center by Belady, Nelson, O'Neil, and others, permitting its quality to be compared with that of manual folding, are discussed, and it is shown that given some care in use the unit performs satisfactorily under the conditions tested, even though it is operating across a memory-to-storage interface with a very large speed difference. The disadvantages of prefolding, which is required when the folding is manual, are examined, and a number of the important troubles which beset computing today are shown to arise from, or be aggravated by, this source. It is concluded that a folding mechanism will probably become a normal part of most computing systems. .B CACM December, 1969 .A Sayre, D. .K paging, automatic paging, demand paging, folding, automatic folding, storage hierarchies, memory hierarchies, replacement algorithms, performance, measurement .C 4.0 4.19 4.39 6.20 6.34 .N CA691202 JB February 15, 1978 4:33 PM .X 1810 5 1810 1810 5 1810 1810 5 1810 2218 5 1810 2373 5 1810 1380 6 1810 1410 6 1810 1572 6 1810 1728 6 1810 1751 6 1810 1751 6 1810 1752 6 1810 1810 6 1810 1810 6 1810 1879 6 1810 1951 6 1810 2095 6 1810 2374 6 1810 .I 1811 .T A Case Study in Programming for Parallel-Processors .W An affirmative partial answer is provided to the question of whether it is possible to program parallel-processor computing systems to efficiently decrease execution time for useful problems. Parallel-processor systems are multiprocessor systems in which several of the processors can simultaneously execute separate tasks of a single job, thus cooperating to decrease the solution time of a computational problem. The processors have independent instruction counters, meaning that each processor executes its own task program relatively independently of the other processors. Communication between cooperating processors is by means of data in storage shared by all processors. A program for the determination of the distribution of current in an electrical network was written for a parallel-processor computing system, and execution of this program was simulated. The data gathered from simulation runs demonstrate the efficient solution of this problem, typical of a large class of important problems. It is shown that, with proper programming, solution time when N processors are applied approaches 1/N times the solution time for a single processor, while improper programming can actually lead to an increase of solution time with the number of processors. Stability of the method of solution was also investigated. .B CACM December, 1969 .A Rosenfeld, J. L. .K parallel-processor, parallelism, parallel programming, multiprocessor, multiprogramming, tasking, storage interference, electrical network, simulation, relaxation, Jacobi, Gauss-Seidel, convergence .C 3.24 4.9 5.14 5.17 6.21 .N CA691201 JB February 15, 1978 4:45 PM .X 1811 5 1811 1811 5 1811 1811 5 1811 .I 1812 .T More on Fortran Random Number Generators .B CACM November, 1969 .A Grosenbaugh, L. R. .K random number generation, Monte Carlo, simulation .C 5.5 .N CA691118 JB February 15, 1978 11:57 AM .X 1812 5 1812 1812 5 1812 1812 5 1812 .I 1813 .T Generation of Permutations in Pseudo-Lexicographic Order (Algorithm 308 [G6]) .B CACM November, 1969 .A Ord-Smith, R. J. .K permutations, lexicographic order, lexicographic generation, permutation generation .C 5.39 .N CA691117 JB February 15, 1978 11:59 AM .X 1813 4 1813 1370 5 1813 1813 5 1813 1813 5 1813 1813 5 1813 1978 5 1813 1307 6 1813 1589 6 1813 1813 6 1813 .I 1814 .T Direct Search (Algorithm 178 [E4]) .B CACM November, 1969 .A Smith, L. B. .K function minimization, search, direct search .C 5.19 .N CA691117 JB February 15, 1978 12:00 PM .X 1814 4 1814 1777 5 1814 1814 5 1814 1814 5 1814 1814 5 1814 .I 1815 .T Direct Search (Algorithm 178 [E4]) .B CACM November, 1969 .A Tomlin, F. K. Smith, L. B. .K function minimization, search direct search .C 5.19 .N CA691115 JB February 15, 1978 12:02 PM .X 1815 4 1815 1715 5 1815 1815 5 1815 1815 5 1815 1815 5 1815 .I 1816 .T Generalized Least Squares Fit By Orthogonal Polynomials (Algorithm 296 [E2]) .B CACM November, 1969 .A Watson, W. T. .K least squares, curve fitting, orthogonal polynomials, three-term recurrence, polynomial regression, approximation, Forsythe's method .C 5.13 5.5 .N CA691114 JB February 15, 1978 12:06 PM .X 1816 4 1816 125 5 1816 1816 5 1816 1816 5 1816 1816 5 1816 .I 1817 .T Computation of Fourier Coefficients (Algorithm 255 [C6]) .B CACM November, 1969 .A Hall, G. Ray, V. A. .K numerical integration, Fourier coefficients, Filon's method .C 5.16 .N CA691113 JB February 15, 1978 12:08 PM .X 1817 5 1817 1817 5 1817 1817 5 1817 .I 1818 .T Associated Legendre Functions of the First Kind for Real or Imaginary Arguments (Algorithm 47 [S16]) .B CACM November, 1969 .A Cobb, S. M. .K Legendre function, associated Legendre function, real or imaginary arguments .C 5.12 .N CA691112 JB February 15, 1978 12:11 PM .X 1818 4 1818 1818 5 1818 1818 5 1818 1818 5 1818 2222 5 1818 778 5 1818 970 6 1818 1800 6 1818 1818 6 1818 1834 6 1818 2042 6 1818 .I 1819 .T Complex Error Function (Algorithm 363 [S15]) .B CACM November, 1969 .A Gautschi, W. .K error function for complex argument, Voigt function, Laplace continued fraction, Gauss-Hermite quadrature, recursive computation .C 5.12 .N CA691111 JB February 15, 1978 12:13 PM .X 1819 5 1819 1819 5 1819 1819 5 1819 .I 1820 .T Generation of Random Permutations (Algorithm 362 [G6]) .B CACM November, 1969 .A Robson, J. M. .K permutation, random permutation, transposition .C 5.5 .N CA691110 JB February 15, 1978 12:15 PM .X 1820 4 1820 1511 5 1820 1820 5 1820 1820 5 1820 1820 5 1820 .I 1821 .T Permanent Function of a Square Matrix I and II (Algorithm 361 [G6]) .B CACM November, 1969 .A Shriver, B. Eberlein, P. J. Dixon, R. D. .K matrix, permanent, determinant .C 5.30 .N CA691109 JB February 15, 197812:18 PM .X 1821 5 1821 1821 5 1821 1821 5 1821 .I 1822 .T Shortest-Path Forest with Topological Ordering (Algorithm [H]) .B CACM November, 1969 .A Dial, R. B. .K shortest path, tree, network, directed graph .C 5.32 5.42 .N CA691108 JB February 15, 1978 12:21 PM .X 1822 5 1822 1822 5 1822 1822 5 1822 .I 1823 .T Factorial Analysis of Variance (Algorithm [G1]) .B CACM November, 1969 .A Howell, J. R. .K factorial variance analysis, variance, statistical analysis .C 5.5 .N CA691107 JB February 15, 1978 12:22 PM .X 1823 5 1823 1823 5 1823 1823 5 1823 .I 1824 .T APAREL-A Parse-Request Language .W APAREL is described: this language is an extension to an algorithmic language (PL/I) that provides the pattern-matching capabilities normally found only in special purpose languages such as SNOBOL4 and TMG. This capability is provided through parse-requests stated in a BNF-like format. These parse-requests form their own programming language with special sequencing rules. Upon successfully completing a parse-request, an associated piece of PL/I code is executed. This code has available for use, as normal PL/I strings the various pieces (at all levels) of the parse. It also has available as normal PL/I variables, the information concerning which of the various alternatives were successful. Convenient facilities for multiple input-output streams, the initiation of sequences of parse-requests as a subroutine, and parse-time semantic checks are also included. APAREL has proven convenient in building a powerful SYNTAX and FUNCTION macro system, an algebraic language preprocessor debugging system, an on-line command parser, a translator for Dataless Programming, and as a general string manipulator. .B CACM November, 1969 .A Balzer, R. M. Farber, D. J. .K text processing, string processing, symbol manipulation, PL/I, BNF, syntax, parser, translator, pattern matching .C 4.12 4.13 4.20 4.22 4.29 .N CA691106 JB February 15, 1978 12:44 PM .X 1046 4 1824 1105 4 1824 1139 4 1824 1140 4 1824 1234 4 1824 1263 4 1824 1265 4 1824 1496 4 1824 1541 4 1824 1565 4 1824 1665 4 1824 1693 4 1824 1768 4 1824 1781 4 1824 1781 4 1824 1781 4 1824 1787 4 1824 1824 4 1824 1824 4 1824 1824 4 1824 1824 4 1824 1825 4 1824 1836 4 1824 1861 4 1824 1861 4 1824 2015 4 1824 2110 4 1824 2126 4 1824 2126 4 1824 2127 4 1824 2187 4 1824 2252 4 1824 2317 4 1824 2545 4 1824 2546 4 1824 464 4 1824 2698 4 1824 2733 4 1824 584 4 1824 631 4 1824 653 4 1824 680 4 1824 763 4 1824 795 4 1824 799 4 1824 945 4 1824 1358 5 1824 1614 5 1824 1781 5 1824 1824 5 1824 1824 5 1824 1824 5 1824 404 5 1824 .I 1825 .T A Practical Method for Constructing LR(k) Processors .W A practical method for constructing LR(k) processors is developed. These processors are capable of recognizing and parsing an input during a single no-backup scan in a number of steps equal to the length of the input plus the number of steps in its derivation. The technique presented here is based on the original method described by Knuth, but decreases both the effort required to construct the processor and the size of the processor produced. This procedure involves partitioning the given grammar into a number of smaller parts. If an LR(k) processor can be constructed for each part (using Knuth's algorithm) and if certain conditions relating these individual processors are satisfied, then an LR(k) processor for the entire grammar can be constructed for them. Using this procedure, an LR(1) parser for ALGOL has been obtained. .B CACM November, 1969 .A Korenjak, A. J. .K LR(k) grammar, syntactic analysis, parser, deterministic language, syntax-directed compiler, language processor, context-free language ALGOL .C 4.12 5.2 5.23 .N CA691105 JB February 15, 1978 12:52 PM .X 1086 4 1825 1132 4 1825 1234 4 1825 1263 4 1825 1265 4 1825 1270 4 1825 1323 4 1825 1358 4 1825 1379 4 1825 1380 4 1825 1453 4 1825 1464 4 1825 1484 4 1825 1491 4 1825 1498 4 1825 1613 4 1825 1614 4 1825 1665 4 1825 1768 4 1825 1781 4 1825 1787 4 1825 1824 4 1825 1825 4 1825 1825 4 1825 1836 4 1825 1860 4 1825 1861 4 1825 2015 4 1825 2083 4 1825 2110 4 1825 2127 4 1825 2178 4 1825 2179 4 1825 2187 4 1825 2252 4 1825 2317 4 1825 2325 4 1825 2341 4 1825 2545 4 1825 2546 4 1825 2645 4 1825 2652 4 1825 2684 4 1825 2698 4 1825 2733 4 1825 2842 4 1825 2929 4 1825 2934 4 1825 3069 4 1825 669 4 1825 679 4 1825 691 4 1825 761 4 1825 949 4 1825 989 4 1825 1781 5 1825 1825 5 1825 1825 5 1825 1825 5 1825 2061 5 1825 2179 5 1825 3184 5 1825 1140 6 1825 1141 6 1825 1477 6 1825 1477 6 1825 1491 6 1825 1491 6 1825 1825 6 1825 1825 6 1825 2015 6 1825 2110 6 1825 3184 6 1825 773 6 1825 .I 1826 .T A LISP Garbage-Collector for Virtual-Memory Computer Systems .W In this paper a garbage-collection algorithm for list-processing systems which operate within very large virtual memories is described. The object of the algorithm is more the compaction of active storage than the discovery of free storage. Because free storage is never really exhausted, the decision to garbage collect is not easily made; therefore, various criteria of this decision are discussed. .B CACM November, 1969 .A Fenichel, R. R. Yochelson, J. C. .K garbage-collector, virtual memory, list-processing, storage-allocation .C 4.19 4.49 .N CA691104 JB February 15, 1978 12:57 PM .X 1024 4 1826 1051 4 1826 1102 4 1826 1132 4 1826 1390 4 1826 1486 4 1826 1549 4 1826 1706 4 1826 1708 4 1826 1781 4 1826 1826 4 1826 1826 4 1826 1860 4 1826 1878 4 1826 378 4 1826 2060 4 1826 2155 4 1826 2156 4 1826 2168 4 1826 2168 4 1826 2249 4 1826 2314 4 1826 2719 4 1826 2719 4 1826 2723 4 1826 2736 4 1826 2833 4 1826 2838 4 1826 2842 4 1826 2855 4 1826 2879 4 1826 3077 4 1826 3080 4 1826 3106 4 1826 627 4 1826 106 4 1826 210 5 1826 1626 5 1826 1826 5 1826 1826 5 1826 1826 5 1826 1972 5 1826 2156 5 1826 2168 5 1826 2438 5 1826 2723 5 1826 2736 5 1826 2833 5 1826 2855 5 1826 3074 5 1826 3112 5 1826 106 6 1826 1380 6 1826 1549 6 1826 1549 6 1826 1626 6 1826 1626 6 1826 1626 6 1826 1626 6 1826 1749 6 1826 1826 6 1826 1826 6 1826 1826 6 1826 1826 6 1826 1826 6 1826 1826 6 1826 1826 6 1826 1826 6 1826 1826 6 1826 1826 6 1826 210 6 1826 210 6 1826 210 6 1826 1853 6 1826 1853 6 1826 1853 6 1826 1878 6 1826 1972 6 1826 1972 6 1826 1972 6 1826 1972 6 1826 1972 6 1826 2314 6 1826 2438 6 1826 2513 6 1826 2651 6 1826 2723 6 1826 2723 6 1826 2736 6 1826 2736 6 1826 2766 6 1826 2833 6 1826 2833 6 1826 2838 6 1826 2998 6 1826 627 6 1826 731 6 1826 731 6 1826 731 6 1826 .I 1827 .T Performance Monitoring in a Time-Sharing System .W A software measurement facility which is part of a general purpose time-sharing system is described. The Date Collection Facility (DCF) has been implemented in the Michigan Terminal System (MTS) for the System/360 model 67. It exists for the purpose of monitoring operating system and user program behavior and performance. The overall structure of MTS is outlined in order to explain the implementation of the DCF. Events in the system are identified and recorded from within the supervisor, and dumped to magnetic tape by an auxiliary program for off-line processing. Events in user programs which are unrelated to system actions are recorded with a supervisor call. The time of occurrence of each event is accurately recorded, and data items are further identified by job and type. The overhead associated with data collection and its interference with normal jobs is carefully analyzed, and both are shown to be minimal. Several examples are given of information obtained with the facility and of applications in which it has been useful. Some general guidelines are offered for the construction of future monitoring programs. .B CACM November, 1969 .A Pinkerton, T. B. .K performance monitoring, performance measurement, program behavior, performance data, multiprogramming performance, software measurement, time-sharing performance, system evaluation, software monitor, software instrumentation .C 4.31 4.32 4.39 4.42 4.43 .N CA691103 JB February 15, 1978 1:07 PM .X 1827 5 1827 1827 5 1827 1827 5 1827 2667 5 1827 2668 5 1827 1604 6 1827 1604 6 1827 1728 6 1827 1728 6 1827 1761 6 1827 1827 6 1827 1827 6 1827 2677 6 1827 .I 1828 .T Synchronization in a Parallel-Accessed Data Base .W The following problem is considered: Given a data base which can be manipulated simultaneously by more than one process, what are the rules for synchronization which will maximize the amount of parallel activity allowed. It is assumed that the data base can be represented as a graph. An example of such a data base is a hierarchy of directories for an on-line file system. Methods for synchronization of processes are examined; their validity is discussed and their performance compared. .B CACM November, 1969 .A Shoshani, A. Bernstein, A. J. .K parallel accessing, parallel search, file search, data base, synchronization, locking, deadlock .C 3.73 3.74 4.32 .N CA691102 JB February 15, 1978 1:13 PM .X 1805 4 1828 1828 4 1828 1828 4 1828 1854 4 1828 1854 4 1828 1877 4 1828 1960 4 1828 2150 4 1828 2187 4 1828 2317 4 1828 2319 4 1828 2377 4 1828 2342 4 1828 2376 4 1828 2379 4 1828 2424 4 1828 2482 4 1828 2618 4 1828 2632 4 1828 2704 4 1828 2723 4 1828 2738 4 1828 2740 4 1828 2741 4 1828 2867 4 1828 3184 4 1828 1748 5 1828 1749 5 1828 1828 5 1828 1828 5 1828 1828 5 1828 .I 1829 .T An Interactive Graphical Display Monitor in a Batch-Processing Environment with Remote Entry .W A graphic monitor program is described. It was developed at Carnegie-Mellon University for the CDC G21 computer, which is a general purpose, batch-processing system with remote entry. The existing G21 system and the graphics hardware are described. The graphic monitor is a resident auxiliary monitor which provides comprehensive managerial capability over the graphical system in response to commands from the human user. It also will respond to commands from a user program through a similar interface, where routine calls take the place of manual actions. Thus the human and program can interact on a symmetrical and equal basis through the medium of the graphic monitor. The choice made in designing the graphic monitor, given the constraints of the existing hardware and computer system, are discussed. The structure of the monitor program and the human and program interfaces are described. There is also a transient swapping version with a small resident part, and provision for swapped used submonitors. .B CACM November, 1969 .A Bond, A. H. Rightnour, J. .K graphic monitor, man/machine interaction, graphic interface, graphic in batch environment, design of graphical system .C 4.30 4.31 4.39 4.41 .N CA691101 JB February 15, 1978 1:22 PM .X 1829 5 1829 1829 5 1829 1829 5 1829 2357 5 1829 1523 6 1829 1829 6 1829 2035 6 1829 .I 1830 .T Retrieval Times for a Packed Direct Access Inverted File .B CACM October, 1969 .A Bayes, A. J. .K information retrieval, direct access memory, data base, inverted list .C 3.70 4.41 .N CA691016 JB February 15, 1978 1:27 PM .X 1830 5 1830 1830 5 1830 1830 5 1830 .I 1831 .T A Comment on Optimal Tree Structures .B CACM October, 1969 .A Stanfel, L. E. .K information retrieval, file searching, tree structures, double chaining .C 3.70 3.73 3.74 .N CA691015 JB February 15, 1978 1:31 PM .X 1831 5 1831 1831 5 1831 1831 5 1831 2257 5 1831 2360 5 1831 849 6 1831 849 6 1831 1831 6 1831 1831 6 1831 1936 6 1831 1936 6 1831 2360 6 1831 .I 1832 .T Minimax Logarithmic Error .B CACM October, 1969 .A Dunham, C. B. .K logarithmic error, transformed rational approximation, square root .C 5.10 .N CA691014 JB February 15, 1978 1:38 PM .X 1832 4 1832 1999 4 1832 2159 4 1832 1832 5 1832 1832 5 1832 1832 5 1832 1932 5 1832 .I 1833 .T An Ambiguity in the Description of ALGOL 60 .B CACM October, 1969 .A Herriot, J. G. .K Ising problem, zero-one sequences .C 5.39 .N CA691013 JB February 15, 1978 1:40 PM .X 1833 5 1833 1833 5 1833 1833 5 1833 2066 5 1833 1833 6 1833 1842 6 1833 .I 1834 .T An Axiomatic Basis for Computer Programming .W In this paper an attempt is made to explore the logical foundations of computer programming by use of techniques which were first applied in the study of geometry and have later been extended to other branches of mathematics. This involves the elucidation of sets of axioms and rules of inference which can be used in proofs of the properties of computer programs. Examples are given of such axioms and rules, and a formal proof of a simple theorem is displayed. Finally, it is argued that important advantages, both theoretical and practical, may follow from a pursuance of these topics. .B CACM October, 1969 .A Hoare, C. A. R. .K axiomatic method, theory of programming, proofs of programs, formal language definition, programming language design, machine-independent programming, program documentation .C 4.0 4.21 4.22 5.20 5.21 5.23 5.24 .N CA691012 JB February 15, 1978 1:48 PM .X 1834 5 1834 1834 5 1834 1834 5 1834 2021 5 1834 2222 5 1834 2227 5 1834 2315 5 1834 2326 5 1834 2470 5 1834 2732 5 1834 2865 5 1834 2896 5 1834 2943 5 1834 3014 5 1834 3068 5 1834 3077 5 1834 3143 5 1834 196 6 1834 970 6 1834 1303 6 1834 1303 6 1834 1323 6 1834 1348 6 1834 1469 6 1834 1800 6 1834 1818 6 1834 210 6 1834 1834 6 1834 1834 6 1834 1834 6 1834 1834 6 1834 1834 6 1834 1834 6 1834 1834 6 1834 1834 6 1834 1834 6 1834 1834 6 1834 1834 6 1834 1834 6 1834 1834 6 1834 1834 6 1834 1987 6 1834 307 6 1834 2042 6 1834 2060 6 1834 2192 6 1834 2227 6 1834 2264 6 1834 2457 6 1834 2597 6 1834 2723 6 1834 2732 6 1834 2869 6 1834 2981 6 1834 3186 6 1834 728 6 1834 .I 1835 .T The IITRAN Programming Language .W The IITRAN language, developed to be used by students, and its important important features are described. IITRAN is a procedure-oriented language with a one-level block structure and a variety of data types. Several novel and powerful features are included. A discussion of design principles to be followed in a student language is given. .B CACM October, 1969 .A Dewar, R. B. K. Hochsprung, R. R. .K languages programming languages, student programming systems, language design, high school programs, college courses .C 1.51 1.52 4.12 4.22 .N CA691011 JB February 15, 1978 1:54 PM .X 1835 5 1835 1835 5 1835 1835 5 1835 2971 5 1835 1835 6 1835 1974 6 1835 2534 6 1835 .I 1836 .T A New Method for Determining Linear Precedence Functions for Precedence Grammars .W The precedence relations of a precedence grammar can be precisely described by a two-dimensional precedence matrix. Often the information in the matrix can be represented more concisely by a pair of vectors, called linear precedence functions. A new algorithm is presented for obtaining the linear precedence functions when given the precedence matrix; this algorithm is shown to possess several computational advantages. .B CACM October, 1969 .A Bell, J. R. .K Boolean matrices, syntax, precedence grammar context-free parsing, transition matrix, precedence functions .C 4.12 .N CA691010 JB February 15, 1978 3:13 PM .X 1379 4 1836 1542 4 1836 1665 4 1836 1683 4 1836 1693 4 1836 1693 4 1836 1768 4 1836 1781 4 1836 1781 4 1836 1787 4 1836 1787 4 1836 1824 4 1836 1825 4 1836 1836 4 1836 1836 4 1836 1836 4 1836 1836 4 1836 1836 4 1836 1861 4 1836 1945 4 1836 1945 4 1836 2015 4 1836 2015 4 1836 2060 4 1836 2060 4 1836 2061 4 1836 2061 4 1836 2082 4 1836 2091 4 1836 2091 4 1836 2110 4 1836 2127 4 1836 2152 4 1836 2179 4 1836 2179 4 1836 2187 4 1836 2317 4 1836 2340 4 1836 2340 4 1836 2356 4 1836 2545 4 1836 2546 4 1836 2546 4 1836 2603 4 1836 2698 4 1836 2698 4 1836 2698 4 1836 2708 4 1836 2708 4 1836 2733 4 1836 2824 4 1836 2982 4 1836 2986 4 1836 3045 4 1836 3045 4 1836 3093 4 1836 1191 5 1836 1477 5 1836 1491 5 1836 1781 5 1836 1836 5 1836 1836 5 1836 1836 5 1836 2340 5 1836 2982 5 1836 2986 5 1836 577 5 1836 1191 6 1836 1491 6 1836 1491 6 1836 1491 6 1836 1683 6 1836 1683 6 1836 1836 6 1836 1836 6 1836 1836 6 1836 2179 6 1836 2340 6 1836 2340 6 1836 .I 1837 .T An Algol Convolution Procedure Based on the Fast Fourier Transform (Algorithm 345 [C6]) .B CACM October, 1969 .A Singleton, R. C. .K fast Fourier transform, complex Fourier transform, multivariate Fourier transform, Fourier series, harmonic analysis, spectral analysis, orthogonal polynomials, orthogonal transformation, convolution, auto covariance, autocorrelation, cross-correlation, digital filtering, permutation .C 3.15 3.83 5.12 5.14 .N CA691009 JB February 15, 1978 3:17 PM .X 1837 5 1837 1837 5 1837 1837 5 1837 .I 1838 .T Normal Curve Integral (Algorithm 304 [S15]) .B CACM October, 1969 .A Adams, A. G. .K normal curve integral, probability, special functions .C 5.5 5.12 .N CA691008 JB February 15, 1978 3:19 PM .X 1838 4 1838 1760 5 1838 1838 5 1838 1838 5 1838 1838 5 1838 .I 1839 .T Singular Value Decomposition of a Complex Matrix (Algorithm 358 [F1, 4,5]) .B CACM October, 1969 .A Businger, P. A. Goulub, G. H. .K singular values, matrix decomposition, least squares solution, pseudoinverse .C 5.14 .N CA691007 JB February 15, 1978 3:22 PM .X 1839 5 1839 1839 5 1839 1839 5 1839 .I 1840 .T An Efficient Prime Number Generator (Algorithm 357 [A1]) .B CACM October, 1969 .A Singleton, R. C. .K prime numbers, factoring, number theory .C 3.15 5.30 .N CA691006 JB February 15, 1978 3:23 PM .X 1840 5 1840 1840 5 1840 1840 5 1840 2927 5 1840 1537 6 1840 1539 6 1840 1538 6 1840 1840 6 1840 1841 6 1840 .I 1841 .T A Prime Number Generator Using The Treesort Principle (Algorithm 356 [A1]) .B CACM October, 1969 .A Singleton, R. C. .K prime numbers, number theory, sorting .C 3.15 5.30 5.31 .N CA691005 JB February 15, 1978 3:25 PM .X 1841 4 1841 1841 4 1841 1841 4 1841 1967 4 1841 2120 4 1841 2120 4 1841 2927 4 1841 2927 4 1841 1539 5 1841 1841 5 1841 1841 5 1841 1841 5 1841 1841 5 1841 377 5 1841 2927 5 1841 1537 6 1841 1539 6 1841 1539 6 1841 1538 6 1841 1840 6 1841 1841 6 1841 1841 6 1841 377 6 1841 .I 1842 .T An Algorithm for Generating Ising Configurations (Algorithm 355 [Z]) .B CACM October, 1969 .A Simoes, J. M. S. .K Ising problem, zero-one sequences .C 5.39 .N CA691004 JB February 15, 1978 3:27 PM .X 1842 5 1842 1842 5 1842 1842 5 1842 2066 5 1842 1833 6 1842 1842 6 1842 .I 1843 .T The Choice of Base .W A digital computer is considered, whose memory words are composed on N r-state devices plus two sign bits (two state devices). The choice of base B for the internal representation of floating-point numbers on such a computer is discussed. It is shown that in a certain sense B= r is best. .B CACM October, 1969 .A Brown, W. S. Richman, P. L. .K floating-point, accuracy, base choice, number representations .C 5.11 6.32 .N CA691003 JB February 15, 1978 3:33 PM .X 1783 4 1843 1843 4 1843 1843 4 1843 1634 5 1843 1783 5 1843 1843 5 1843 1843 5 1843 1843 5 1843 .I 1844 .T A Modular Computer Sharing System .W An alternative approach to the design and organization of a general purpose interactive multiterminal computing system is presented. The system organization described is a conceptually simple arrangement of a bank of interchangeable computers, each of which is a memory/processor pair, that are assigned to process terminal jobs as they arrive. One of the computers serves as the master or control computer and supervises the collection and distribution of messages from and to the remote terminals. In the simplest form there is a disk drive for each connected terminal. A crosspoint switching network allows any such disk drive to be connected to any computer. Thus, while each active terminal user "occupies" a dedicated disk drive, he may share the computer with many other terminal users in a simple manner. The ratio of users to computers is dependent on both the size and power of the machines used and the computation requirements of the particular mix of users. This system organization is inherently a simpler and therefore more reliable approach to time-sharing computers and has the potential of a highly available system at relatively low cost. Economic configurations are possible for a range of systems sizes that span at least one order of magnitude. Finally, problem programs developed by remote terminal users can be run on a dedicated batch system if compatible computers are used. .B CACM October, 1969 .A Baskin, H. B. Horowitz, E. B. Tennison, R. D. Rittenhouse, L. E. .K multiple terminal systems, terminal oriented systems, multiple processor systems, high availability, conversational systems, general purpose time-sharing systems, real-time response system, modular constructed systems, modular computer-sharing systems, graphics, file switch, intercomputer communications, control computer, problem computer, roll-in, roll-out .C 6.21 .N CA691002 JB February 15, 1978 3:52 PM .X 1844 5 1844 1844 5 1844 1844 5 1844 .I 1845 .T Loader Standardization for Overlay Programs .W The overlay capability is described for four of the third generation computer systems: CDC-6000, GE-635, IBM-360, and UNIVAC-1108. A critique of the first three systems is based on actual experience with a large overlaid trajectory simulation program; a short history and description of this program is presented. A standardization of minimum capabilities for loaders is recommended so that programs which must operate under more than one computer system may be easily converted and maintained. A proposal that overlay software incorporates a memory occupation specification concept instead of the conditional tree structure is delineated. This concept provides more efficient and cost-effective utilization of the memory as well as increased flexibility in program structure. .B CACM October, 1969 .A Lanzano, B. C. .K loader, overlay, partition, region, segmentation, linkage, linkage editor, standardization, memory utilization, memory occupation, tree structure, CDC-6000, GE-635, IBM-360, UNIVAC-1108 .C 4.10 4.12 4.19 4.40 .N CA691001 JB February 15, 1978 4:09 PM .X 1845 4 1845 1900 4 1845 2083 4 1845 2154 4 1845 2270 4 1845 2693 4 1845 988 5 1845 1845 5 1845 1845 5 1845 1845 5 1845 2343 5 1845 1173 6 1845 1774 6 1845 1845 6 1845 .I 1846 .T On Simulating Networks of Parallel Processes in Which Simultaneous Events May Occur .W Some of the problems of simulating discrete event systems, particularly computer systems, on a conventional digital computer are dealt with. The systems are assumed to be described as a network of interconnected sequential processes. Briefly reviewed are the common techniques used to handle such simulations when simultaneous events do not occur, can be ignored, or can be handled by simple priority rules. Following this, the problem of dealing with simultaneous events in separate processes is introduced. An abstraction of this problem is developed which admits solution for a majority of commonly encountered problems. The technique will either find a method of simulating the parallel events or report that none can be found. In some of the latter cases it is shown to be possible to find a solution by extending the information available to the solution technique, but in many cases the technique becomes computationally unfeasible when the additional information is provided. .B CACM September, 1969 .A Parnas, D. L. .K simulation, parallel processes, simultaneous events, picture processing, computer system simulation .C 3.19 3.24 4.24 5.9 6.9 .N CA690910 JB February 15, 1978 4:21 PM .X 1541 4 1846 1805 4 1846 1846 4 1846 1846 4 1846 1846 4 1846 1846 4 1846 1846 4 1846 1892 4 1846 2060 4 1846 2188 4 1846 2218 4 1846 2218 4 1846 2317 4 1846 2630 4 1846 2650 4 1846 3112 4 1846 1380 5 1846 1424 5 1846 1484 5 1846 1572 5 1846 1846 5 1846 1846 5 1846 1846 5 1846 576 5 1846 3064 5 1846 1846 6 1846 1939 6 1846 2742 6 1846 2767 6 1846 2936 6 1846 .I 1847 .T An Algorithm for Finding a Fundamental Set of Cycles of a Graph .W A fast method is presented for finding a fundamental set of cycles for an undirected finite graph. A spanning tree is grown and the vertices examined in turn, unexamined vertices being stored in a pushdown list to await examination. One stage in the process is to take the top element v of the pushdown list and examine it, i.e. inspect all those edges (v,z) of the graph for which z has not yet been examined. If z is already in the tree, a fundamental cycle is added; if not, the edge (v,z) is placed in the tree. There is exactly one such stage for each of the n vertices of the graph. For large n, the store required in creases as n^2 and the time as n^g where g depends on the type of graph involved. g is bounded below by 2 and above by 3, and it is shown that both bounds are attained. In terms of storage our algorithm is similar to that of Gotlieb and Corneil and superior to that of Welch; in terms of speed it is similar to that of Welch and superior to that of Gotlieb and Corneil. Testsshow our algorithm to be remarkably efficient (g=2) on random graphs. .B CACM September, 1969 .A Paton, K. .K fundamental cycle set, graph, algorithm, cycle, spanning tree .C 5.32 .N CA690909 JB February 15, 1978 4:29 PM .X 1847 4 1847 1961 4 1847 2052 4 1847 1504 5 1847 1847 5 1847 1847 5 1847 1847 5 1847 1961 5 1847 2177 5 1847 2763 5 1847 1369 6 1847 1504 6 1847 1847 6 1847 1847 6 1847 1847 6 1847 .I 1848 .T The Damped Taylor's Series Method for Minimizing a Sum of Squares and for Solving Systems of Nonlinear Equations (Algorithm 315 [E4, C5]) .B CACM September, 1969 .A Silverman, G. .K solution of equations, least squares approximation, Newton's method .C 5.13 5.14 5.15 .N CA690907 JB February 15, 1978 4:32 PM .X 1848 5 1848 1848 5 1848 1848 5 1848 .I 1849 .T Function Minimization (Algorithm 251 [E4]) .B CACM September, 1969 .A Hamilton, P. A. Boothroyd, J. .K function minimization .C 5.19 .N CA690906 JB February 15, 1978 4:38 PM .X 1849 5 1849 1849 5 1849 1849 5 1849 2190 5 1849 1372 6 1849 1849 6 1849 .I 1850 .T Generation of Permutations in Lexicographic Order (Algorithm 323 [G6]) .B CACM September, 1969 .A Leitch, I. M. .K permutations, direct lexicographic order, reverse lexicographic order, lexicographic generation .C 5.39 .N CA690905 JB February 15, 1978 4:48 PM .X 1850 5 1850 1850 5 1850 1850 5 1850 .I 1851 .T Generator of Spanning Trees (Algorithms 354 [H]) .B CACM September, 1969 .A McIlroy, M. D. .K spanning trees, trees, graphs .C 5.32 .N CA690904 JB February 15, 1978 4:50 PM .X 1851 5 1851 1851 5 1851 1851 5 1851 .I 1852 .T A Base for a Mobile Programming System .W An algorithm for a macro processor which has been used as the base of an implementation, by bootstrapping, of processors for programming languages is described. This algorithm can be easily implemented on contemporary computing machines. Experience with programming languages whose implementation is based on this algorithm indicates that such a language can be transferred to a new machine in less than one man-week without using the old machine. .B CACM September, 1969 .A Orgass, R. J. Waite, W. M. .K bootstrapping, macro processing, machine independence, programming languages, implementation techniques .C 4.12 4.22 .N CA690903 JB February 15, 1978 4:54 PM .X 1530 4 1852 1781 4 1852 1852 4 1852 2034 4 1852 1565 5 1852 1852 5 1852 1852 5 1852 1852 5 1852 2034 5 1852 984 6 1852 1231 6 1852 1565 6 1852 1852 6 1852 1926 6 1852 1947 6 1852 .I 1853 .T Compact List Representation: Definition, Garbage Collection, and System Implementation .W Compact lists are stored sequentially in memory, rather than chained with pointers. Since this is not always convenient, the Swym system permits a list to be chained, compact, or any combination of the two. A description is given of that list representation and the operators implemented (most are similar to those of LISP 1.5). The system garbage collector attempts to make all lists compact; it relocates and rearranges all of list storage using temporary storage. This unique list-compacting garbage collection algorithm is presented in detail. Several classes of the macros used to implement the system are described. Finally, consideration is given to those design factors essential to the success of a plex processing system implementation. .B CACM September, 1969 .A Hansen, W. J. .K data structure, data representation, list structure, list representation, list, compact list, garbage collection, relocation, storage reclamation, macro, primitive list operations, plex processing, plex, pointer, list processing system, LISP, free storage .C 3.49 4.20 4.22 4.49 4.9 .N CA690902 JB February 15, 1978 5:01 PM .X 1853 4 1853 2003 4 1853 1710 5 1853 1853 5 1853 1853 5 1853 1853 5 1853 1972 5 1853 2249 5 1853 2736 5 1853 3074 5 1853 1626 6 1853 1626 6 1853 1708 6 1853 1826 6 1853 1826 6 1853 1826 6 1853 1853 6 1853 1853 6 1853 1853 6 1853 1853 6 1853 1972 6 1853 1972 6 1853 2723 6 1853 .I 1854 .T On Multiprogramming, Machine Coding, and Computer Organization .W The author feels that the interrupt feature which is available in most modern computers is a potent source of programming pitfalls and errors, and that it therefore may heavily contribute to the unreliability of programs making use of it. A programming scheme is presented which avoids the concept of the interrupt and permits the specification of concurrent (or pseudoconcurrent) activities in a supposedly more perspicuous manner. It is intended to serve as a basis for the construction of operating systems, which are prime examples of programs with concurrent activities. The scheme includes a set of basic instructions for the generation, termination, and synchronization of parallel processes. A set of routines representing these instructions and thereby simulating a hypothetical machine organization has been implemented and test on the IBM System/360. Two programs using these instructions, written in PL360, are presented. .B CACM September, 1969 .A Wirth, N. .K multiprogramming, parallelism, interrupt, input-output, computer organization, file handling, PL360 .C 4.21 4.22 4.32 4.41 6.21 .N CA690901 JB February 15, 1978 5:14 PM .X 1380 4 1854 1458 4 1854 1523 4 1854 1552 4 1854 1603 4 1854 1693 4 1854 1698 4 1854 1747 4 1854 1748 4 1854 1781 4 1854 1805 4 1854 1828 4 1854 1828 4 1854 1854 4 1854 1854 4 1854 1854 4 1854 1854 4 1854 1860 4 1854 1877 4 1854 1877 4 1854 1960 4 1854 1960 4 1854 2060 4 1854 2150 4 1854 2187 4 1854 2317 4 1854 2319 4 1854 2377 4 1854 2377 4 1854 2378 4 1854 2342 4 1854 2376 4 1854 2379 4 1854 2424 4 1854 2482 4 1854 2497 4 1854 2558 4 1854 2618 4 1854 2625 4 1854 2632 4 1854 2632 4 1854 2704 4 1854 2723 4 1854 2738 4 1854 2740 4 1854 2741 4 1854 2840 4 1854 2867 4 1854 2941 4 1854 557 4 1854 3105 4 1854 3144 4 1854 3184 4 1854 1421 5 1854 1471 5 1854 1748 5 1854 1749 5 1854 1854 5 1854 1854 5 1854 1854 5 1854 1960 5 1854 1471 6 1854 1749 6 1854 1854 6 1854 .I 1855 .T A Program for the Syntactic Analysis of English Sentences .W A program is described which produces syntactic analyses of English sentences with respect to a transformational grammar. The main features of the analyzer are that it uses only a limited dictionary of English words and that it pursues all analysis paths simultaneously while processing the sentence from left to right. The form of representation used for the dictionary and the grammar is indicated and an outline account is given of the analysis procedure. Techniques for keeping the size of the analysis record within reasonable limits and for avoiding the need for dynamic application of certain transformational rules are described. A number of examples of output produced by the program are given. The output includes timing information. .B CACM August, 1969 .A Dewar, H. Bratley, P. .K syntactic analysis, language processing, language analysis, parsing, analysis procedure, recognition procedure, English sentences, linguistics, psycholinguistics, transformational grammar, limited dictionary, predictive analysis .C 3.42 3.36 .N CA690808 JB February 15, 1978 5:24 PM .X 1855 5 1855 1855 5 1855 1855 5 1855 .I 1856 .T The Teachable Language Comprehender: A Simulation Program and Theory of Language .W The Teachable Language Comprehender (TLC) is a program designed to be capable of being taught to "comprehend" English text. When text which the program has not seen before is input to it, it comprehends that text by correctly relating each (explicit or implicit) assertion of the new text to a large memory. This memory is a "semantic network" representing factual assertions about the world. The program also creates copies of the parts of its memory which have been found to relate to the new text, adapting and combining these copies to represent the meaning of the new text. By this means, the meaning of all text the program successfully comprehends is encoded into the same format as that of the memory. In this form it can be added into the memory. Both factual assertions for the memory and the capabilities for correctly relating text to the memory's prior content are to be taught to the program as they are needed. TLC presently contains a relatively small number of examples of such assertions and capabilities, but within the system, notations for expressing either of these are provided. Thus the program now corresponds to a general process for comprehending language, and it provides a methodology for adding the additional information this process requires to actually comprehend text of any particular kind. The memory structure and comprehension process of TLC allow new factual assertions and capabilities for relating text to such stored assertions to generalize automatically. That is, once such an assertion or capability is put into the system, it becomes available to help comprehend a great many other sentences in the future. Thus the addition of a single factual assertion or linguistic capability will often provide a large increment in TLC's effective knowledge of the world and in its overall ability to comprehend text. The program's strategy is presented as a general theory of language comprehension. .B CACM August,1969 .A Quillian, M. R. .K natural language processing, natural language comprehension, teachable computer program, psychological simulation, human memory simulation, computer linguistics, linguistic performance theory .C 3.36 3.42 3.62 3.65 3.74 .N CA690807 JB February 15, 1978 5:46 PM .X 1155 4 1856 1350 4 1856 1456 4 1856 1468 4 1856 1515 4 1856 1659 4 1856 1699 4 1856 1856 4 1856 1856 4 1856 1856 4 1856 2050 4 1856 2127 4 1856 1225 5 1856 1324 5 1856 1553 5 1856 1856 5 1856 1856 5 1856 1856 5 1856 2127 5 1856 2309 5 1856 2310 5 1856 2396 5 1856 1155 6 1856 1324 6 1856 1487 6 1856 1487 6 1856 1527 6 1856 1781 6 1856 1856 6 1856 1856 6 1856 1856 6 1856 1856 6 1856 2092 6 1856 2127 6 1856 2398 6 1856 .I 1857 .T Filon Quadrature (Algorithm [D1]) .B CACM August, 1969 .A Chase, S. M. Fosdick, L. D. .K quadrature, Filon quadrature, integration, Filon integration, Fourier coefficients, Fourier series .C 5.16 .N CA690806 JB February 15, 1978 5:52 PM .X 1857 4 1857 2393 4 1857 1858 5 1857 1857 5 1857 1857 5 1857 1857 5 1857 1268 6 1857 1857 6 1857 .I 1858 .T An Algorithm for Filon Quadrature .W An algorithm for Filon quadrature is described. Considerable attention has been devoted to an analysis of the round-off and truncation errors. The algorithm includes an automatic error control feature. .B CACM August, 1969 .A Chase, S. M. Fosdick, L. D. .K quadrature, Filon quadrature, integration, Filon integration, Fourier coefficients, Fourier series .C 5.16 .N CA690805 JB February 15, 1978 5:55 PM .X 1858 4 1858 1858 4 1858 1268 5 1858 1858 5 1858 1858 5 1858 1858 5 1858 1857 5 1858 2393 5 1858 1858 6 1858 1858 6 1858 2071 6 1858 .I 1859 .T Error Bounds for Periodic Quintic Splines .W Explicit error bounds for periodic quintic spline interpolation are developed. The first (third) derivative of the periodic spline is shown to be a sixth (fourth) order approximation at the mesh points to the first (third) derivative of the function being interpolated. .B CACM August, 1969 .A Hall, C. A. .K spline, interpolation, error bounds .C 5.1 5.13 .N CA690804 JB February 15, 1978 5:58 PM .X 1859 5 1859 1859 5 1859 1859 5 1859 .I 1860 .T An Algol-Based Associative Language .W A high level programming language for large, complex associative structures has been designed and implemented. The underlying data structure has been implemented using a hash-coding technique. The discussion includes a comparison with other work and examples of applications of the language. .B CACM August, 1969 .A Feldman, J. A. .K ALGOL, associative, programming language, data structure .C 4.22 .N CA690803 JB February 15, 1978 6:02 PM .X 1051 4 1860 1086 4 1860 1132 4 1860 1234 4 1860 1263 4 1860 1265 4 1860 1270 4 1860 1323 4 1860 1358 4 1860 1379 4 1860 1380 4 1860 1380 4 1860 1396 4 1860 1453 4 1860 1464 4 1860 1484 4 1860 1491 4 1860 1498 4 1860 1503 4 1860 1552 4 1860 1552 4 1860 1613 4 1860 1614 4 1860 1626 4 1860 1665 4 1860 1676 4 1860 1682 4 1860 1693 4 1860 1708 4 1860 1708 4 1860 1728 4 1860 1767 4 1860 1781 4 1860 1781 4 1860 1781 4 1860 1781 4 1860 1781 4 1860 1781 4 1860 1787 4 1860 1825 4 1860 1826 4 1860 1854 4 1860 1860 4 1860 1860 4 1860 1860 4 1860 1860 4 1860 1860 4 1860 1860 4 1860 1860 4 1860 1860 4 1860 1860 4 1860 1860 4 1860 1945 4 1860 1957 4 1860 1973 4 1860 1973 4 1860 1988 4 1860 1992 4 1860 2018 4 1860 2018 4 1860 2032 4 1860 2033 4 1860 2033 4 1860 2060 4 1860 2083 4 1860 2091 4 1860 2107 4 1860 2107 4 1860 2109 4 1860 2109 4 1860 2155 4 1860 2155 4 1860 2156 4 1860 2162 4 1860 2168 4 1860 2178 4 1860 2179 4 1860 2203 4 1860 2203 4 1860 2249 4 1860 2251 4 1860 2251 4 1860 2252 4 1860 2252 4 1860 2299 4 1860 2314 4 1860 2325 4 1860 2341 4 1860 2359 4 1860 2524 4 1860 2543 4 1860 2543 4 1860 2546 4 1860 2552 4 1860 2559 4 1860 2573 4 1860 2645 4 1860 2652 4 1860 2684 4 1860 2719 4 1860 2736 4 1860 2770 4 1860 2833 4 1860 2842 4 1860 2929 4 1860 2934 4 1860 2991 4 1860 557 4 1860 3053 4 1860 3069 4 1860 669 4 1860 679 4 1860 691 4 1860 761 4 1860 949 4 1860 989 4 1860 1389 5 1860 1366 5 1860 1421 5 1860 1496 5 1860 1626 5 1860 1641 5 1860 1785 5 1860 1786 5 1860 1860 5 1860 1860 5 1860 1860 5 1860 1957 5 1860 378 5 1860 2151 5 1860 3103 5 1860 3148 5 1860 3184 5 1860 1389 6 1860 1653 6 1860 1747 6 1860 1860 6 1860 1860 6 1860 1860 6 1860 1860 6 1860 2817 6 1860 2865 6 1860 2877 6 1860 2939 6 1860 3073 6 1860 731 6 1860 .I 1861 .T The MAD Definition Facility .W One of the first definition facilities for higher level languages is described. Users of the language can define new operators and/or data types into the MAD language, so that their use appears as if they were predefined. Information is given on how one writes definitions, as well as on much of the motivation behind the form in which definitions are written. Some conclusions are drawn about future definitional facilities. .B CACM August, 1969 .A Arden, B. W. Galler, B. A. Graham, R. M. .K MAD, definitions, operators, macros, higher level language .C 4.12 4.22 .N CA690802 JB February 15, 1978 6:07 PM .X 1134 4 1861 1179 4 1861 1665 4 1861 1693 4 1861 1768 4 1861 1781 4 1861 1787 4 1861 1824 4 1861 1824 4 1861 1825 4 1861 1836 4 1861 1861 4 1861 1861 4 1861 1861 4 1861 2015 4 1861 2110 4 1861 2126 4 1861 2127 4 1861 2187 4 1861 2317 4 1861 2545 4 1861 2698 4 1861 2733 4 1861 1614 5 1861 1781 5 1861 1861 5 1861 1861 5 1861 1861 5 1861 408 5 1861 .I 1862 .T Computing Capabilities at Argentine and Chilean Universities .W The author reports on a trip to universities in Argentina and Chile during November 1968, describing university conditions and computing activities. As elsewhere, these universities are experiencing student discontent with the status quo and the solutions they are attempting contrast: Argentina is excluding students from participating in university government; Chile is allowing such participation. University computing service and academic activities are limited. The number of computers is small and so is the capacity, none larger than an IBM 360/40; with some exception, computing science academic programs are rare. This situation is by no means attributable to those responsible for computing developments, who strive for excellence; rather the "system" is hard to over-come. Universities, especially those with strong European traditions, adapt slowly to new academic resources and disciplines; superimposed are the severe technological and economic constraints of the developing nation. Consequently, in the absence of conscious government emphasis on strengthening computing capabilities, future progress may be retarded. .B CACM August, 1969 .A Finerman, A. .K university education, computing science academic programs, university computing centers, surveys of computing centers, university computing capabilities, university-student relationship, Argentine universities, Chilean universities, South American universities, developing nations .C 1.52 2.0 2.45 .N CA690801 JB February 15, 1978 6:21 PM .X 1862 4 1862 1349 5 1862 1862 5 1862 1862 5 1862 1862 5 1862 .I 1863 .T Minit Algorithm for Linear Programming (Algorithm 333 [H]) .B CACM July, 1969 .A Messham, D. K. .K linear programming, dual simplex method, primal problem, dual problem .C 5.41 .N CA690717 JB February 15, 1978 6:23 PM .X 1863 5 1863 1863 5 1863 1863 5 1863 .I 1864 .T Generation of Hilbert Derived Test Matrix (Algorithm 274 [F1]) .B CACM July, 1969 .A Boothroyd, J. .K test matrix, Hilbert matrix .C 5.14 .N CA690716 JB February 15, 1978 6:25 PM .X 1864 5 1864 1864 5 1864 1864 5 1864 .I 1865 .T Algol 60 Reference Language Editor (Algorithm 268 [R2]) .B CACM July, 1969 .A Sauer, G. .K symbol manipulation .C 4.49 .N CA690715 JB February 15, 1978 6:26 PM .X 1865 5 1865 1865 5 1865 1865 5 1865 .I 1866 .T Characteristic Values and Associated Solutions of Mathieu's Differential Equation (Algorithm 352 [S22]) .B CACM July, 1969 .A Clemm, D. S. .K Mathieu's differential equation, Mathieu function, characteristic value, periodic solution, radial solution .C 5.12 .N CA690714 JB February 15, 1978 6:30 PM .X 1866 5 1866 1866 5 1866 1866 5 1866 .I 1867 .T On the Expected Lengths of Sequences Generated in Sorting by Replacement Selecting .W In the replacement-selecting technique of sorting, one is interested in the ratio L(j) of the expected length of the j-th sequence generated by the technique to the number of memory cells used. Using complex-variable theory, it is shown that L(j) -> 2 and that, asymptotically, the average interval between sign changes of L(j)-2 is 2.6662. .B CACM July, 1969 .A Hooker, W. W. .K replacement selecting, sorting, sequence lengths, asymptotic expected length, recursion relation, generating function, meromorphic function .C 3.74 5.31 .N CA690713 JB February 15, 1978 6:37 PM .X 1867 4 1867 2272 4 1867 1638 5 1867 1867 5 1867 1867 5 1867 1867 5 1867 .I 1868 .T On Obtaining Correct Input:A New Approach .W Most information put into machine readable form, whether from scientific or business origins, is still keypunched. This paper is addressed toward the difficulty of obtaining correctly keypunched and key verified data and an alternative method is suggested in which the computer itself is used to rule out the possibility of errors in input. This technique is explained and illustrated by reference to a working program which involves essentially two phases: in the first phase errors are detected by the machine, and subsequently, in the second phase, they are corrected by it. .B CACM July, 1969 .A Kennedy, M. .K correct data, correct input, data correction, keypunch, key verifier, verifier .C 2.40 2.42 2.43 3.10 3.20 3.50 4.41 .N CA690712 JB February 15, 1978 6:43 PM .X 1868 5 1868 1868 5 1868 1868 5 1868 .I 1869 .T Block Structures, Indirect Addressing, and Garbage Collection .W Programming languages have included explicit or implicit block structures to provide a naming convenience for the programmer. However, when indirect addressing is used, as in SNOBOL, naming constraints may be introduced. Two modifications to SNOBOL are described, resulting in two desirable consequences: (1) naming constraints disappear even when there is indirect addressing within function definitions; and (2) there is a significant saving in the number of calls to the garbage collector, because some garbage is collected, at little expense, each time a function returns to its calling program. These modifications have been implemented as an extension to a SNOBOL dialect. .B CACM July, 1969 .A Kain, R. Y. .K block structures, indirect addressing, garbage collection, local names, SNOBOL .C 4.22 .N CA690711 JB February 15, 1978 6:49 PM .X 1869 4 1869 1869 4 1869 2513 4 1869 2665 4 1869 2723 4 1869 2855 4 1869 3106 4 1869 1549 5 1869 1570 5 1869 1869 5 1869 1869 5 1869 1869 5 1869 2060 5 1869 2770 5 1869 1380 6 1869 1421 6 1869 1469 6 1869 1477 6 1869 1491 6 1869 1786 6 1869 210 6 1869 1869 6 1869 1869 6 1869 1973 6 1869 1992 6 1869 2018 6 1869 2109 6 1869 2110 6 1869 2673 6 1869 .I 1870 .T Some Techniques for Using Pseudorandom Numbers in Computer Simulation .W An algorithm is described by which uniform pseudorandom integers may be used to construct binary "numbers" in which the probability that each bit in the word is a 1-bit and can assume any desired parameter value. Techniques for making use of such "numbers" in simulation programming are described. .B CACM July, 1969 .A Donnelly, T. .K random numbers, simulation, Boolean algebra, bit manipulation .C 5.19 5.39 .N CA690710 JB February 17, 1978 8:54 AM .X 1794 4 1870 1870 4 1870 2122 4 1870 1674 5 1870 1870 5 1870 1870 5 1870 1870 5 1870 .I 1871 .T Automatic Contour Map .W Some methods for contour mapping by means of a digital plotter are discussed, and a new method is presented that is simple enough to be implemented by programs with a rather small number of instructions (about 120 FORTRAN IV instructions are required). Comparisons with some methods proposed by other authors are also performed, A FORTRAN IV program implementing the proposed method is available at the Istituto di Elettrotecnica ed Elettronica, Politencnico di Milano. .B CACM July, 1969 .A Cottafava, G. LeMoli, G. .K contour map, level lines, digital plotting, function scanning .C 3.10 3.13 3.14 3.16 3.20 3.24 .N CA690709 JB February 17, 1978 8:59 AM .X 1871 5 1871 1871 5 1871 1871 5 1871 3062 5 1871 1871 6 1871 1925 6 1871 .I 1872 .T Chebyshev Interpolation and Quadrature Formulas of Very High Degree (Errata) .B CACM July, 1969 .A Salzer, H. E. .N CA690708 JB February 17, 1978 9:01 AM .X 1872 5 1872 1872 5 1872 1872 5 1872 2394 5 1872 1872 6 1872 1903 6 1872 .I 1873 .T Accelerating LP Algorithms .W It is shown how a novel method for computing (related) inner products can accelerate the pricing phase of LP algorithms. Other LP applications are indicated. .B CACM July, 1969 .A Fox, B. L. .K linear programming, revised simplex method, multiple pricing, inner product .C 5.19 5.41 .N CA690707 JB February 17, 19789:08 AM .X 1873 5 1873 1873 5 1873 1873 5 1873 .I 1874 .T Generating Pseudorandom Numbers on a Two's Complement Machine such as the IBM 360 .W The familiar multiplicative congruential generator is examined in the context of the type of two's complement arithmetic used in the IBM 360 series. Different sequences of residues are considered and relationships established among them. It is shown that a sequence of positive and negative residues may be produced more simply and economically than with the conventional approach and yet have twice the period of the latter without loss of desirable statistical properties. Another easily generated sequence involving absolute values is also shown to have twice the period but with less attractive statistical properties. The statistical properties of these sequences are given and related to previously established criteria. .B CACM July, 1969 .A Hemmerle, W. J. .K random number, uniform distribution, pseudo-random number, random number generator, multiplicative congruential generator, power residue, two's complement arithmetic, IBM 360 arithmetic .C 3.15 5.5 6.32 .N CA690706 JB February 17, 1978 9:17 AM .X 1874 5 1874 1874 5 1874 1874 5 1874 .I 1875 .T Polynomial and Spline Approximation by Quadratic Programming .W The problem of approximation to a given function, or of fitting a given set of data, where the approximating function is required to have certain of its derivations of specified sign over the whole range of approximation, is studied. Two approaches are presented, in each of which quadratic programming is used to provide both the constraints on the derivatives and the selection of the function which yields the best fit. The first is a modified Bernstein polynomial scheme, and the second is a spline fit. .B CACM July, 1969 .A Amos, D. E. Slater, M. L. .K constant sign derivatives, Bernstein polynomials, linear concavity constraints, quadratic programming splines .C 5.13 5.41 .N CA690705 JB February 17, 1978 9:22 AM .X 1875 5 1875 1875 5 1875 1875 5 1875 .I 1876 .T Generation of Test Matrices Having Certain Sign Patterns and Prescribed Positive Spectra .W A class of orthogonal transformations is presented whose members transform a given positive diagonal matrix into a matrix having one of four special sign patterns. .B CACM July, 1969 .A Schneider, A. J. .K test matrices, positive matrices, sign patterns, orthogonal transformations, positive eigenvalues .C 5.1 5.14 .N CA690704 JB February 17, 1978 9:26 AM .X 1876 4 1876 2099 4 1876 1707 5 1876 1876 5 1876 1876 5 1876 1876 5 1876 .I 1877 .T Prevention of System Deadlocks .W A well-known problem in the design of operating systems is the selection of a resource allocation policy that will prevent deadlock. Deadlock is the situation in which resources have been allocated to various tasks in such a way that none of the tasks can continue. The various published solutions have been somewhat restrictive: either they do not handle the problem in sufficient generality or they suggest policies which will on occasion refuse a request which could have been safely granted. Algorithms are presented which examine a request in the light of the current allocation of resources and determine whether or not the granting of the request will introduce the possibility of a deadlock. Proofs given in the appendixes show that the conditions imposed by the algorithms are both necessary and sufficient to prevent deadlock. The algorithms have been successfully used in the THE system. .B CACM July, 1969 .A Habermann, A. N. .K multiprogramming, time-sharing, scheduling, resource allocation .C 3.72 4.32 6.20 .N CA690703 JB February 17, 1978 9:33 AM .X 1458 4 1877 1523 4 1877 1603 4 1877 1698 4 1877 1747 4 1877 1748 4 1877 1828 4 1877 1854 4 1877 1854 4 1877 1877 4 1877 1877 4 1877 1960 4 1877 1960 4 1877 2150 4 1877 2317 4 1877 2319 4 1877 2377 4 1877 2377 4 1877 2378 4 1877 2342 4 1877 2376 4 1877 2379 4 1877 2424 4 1877 2482 4 1877 2497 4 1877 2558 4 1877 2618 4 1877 2625 4 1877 2632 4 1877 2632 4 1877 2704 4 1877 2723 4 1877 2738 4 1877 2740 4 1877 2741 4 1877 2840 4 1877 2867 4 1877 2941 4 1877 3105 4 1877 3144 4 1877 3184 4 1877 1471 5 1877 1749 5 1877 1877 5 1877 1877 5 1877 1877 5 1877 2228 5 1877 2280 5 1877 2379 5 1877 2482 5 1877 2740 5 1877 2851 5 1877 2920 5 1877 1198 6 1877 1338 6 1877 1749 6 1877 1749 6 1877 1749 6 1877 1877 6 1877 1877 6 1877 1877 6 1877 1877 6 1877 1877 6 1877 1877 6 1877 1877 6 1877 2080 6 1877 2150 6 1877 2228 6 1877 2228 6 1877 2228 6 1877 .I 1878 .T Recovery of Reentrant List Structures in SLIP .W One consequence of the reference-count-based space-recovery system employed by SLIP is that reentrant list structures are not recovered even when explicitly erased. LISP-like garbage-collection schemes are free of this impediment. They however, depend on being able to find and mark nodes that are reachable from program variables. By tracing all descendants from program variables may then be identified and collected. The list-creating function LIST of SLIP may be amended to mark those lists for which the programmer wishes to assume responsibility. Given this modification, a LISP-like garbage collector that recovers abandoned reentrant list structures may then be appended to the SLIP system. .B CACM July, 1969 .A Weizenbaum, J. .K list processing, SLIP, garbage-collection .C 4.22 4.40 .N CA690702 JB February 17, 1978 9:39 AM .X 1024 4 1878 1024 4 1878 1051 4 1878 1051 4 1878 1098 4 1878 1102 4 1878 1132 4 1878 1214 4 1878 1380 4 1878 1388 4 1878 1390 4 1878 1393 4 1878 1485 4 1878 1486 4 1878 1487 4 1878 1549 4 1878 1549 4 1878 1570 4 1878 1706 4 1878 1826 4 1878 1878 4 1878 1878 4 1878 1946 4 1878 1957 4 1878 378 4 1878 2060 4 1878 2155 4 1878 2168 4 1878 2168 4 1878 2719 4 1878 2723 4 1878 2723 4 1878 2838 4 1878 2842 4 1878 2855 4 1878 2857 4 1878 2879 4 1878 3077 4 1878 3080 4 1878 3106 4 1878 3112 4 1878 627 4 1878 106 4 1878 210 5 1878 1878 5 1878 1878 5 1878 1878 5 1878 2023 5 1878 2168 5 1878 731 5 1878 106 6 1878 1626 6 1878 1826 6 1878 210 6 1878 1878 6 1878 1878 6 1878 731 6 1878 .I 1879 .T A Note on Storage Fragmentation and Program Segmentation .W The main purpose of this paper is the presentation of some of the results of a series of simulation experiments investigating the phenomenon of storage fragmentation. Two different types of storage fragmentation are distinguished: (1) external fragmentation, namely the loss in storage utilization caused by the inability to make use of all available storage after it has been fragmented into a large number of separate blocks; and (2) internal fragmentation, the loss of utilization caused by rounding up a request for storage, rather than allocating only the exact number of words required. The most striking result is the apparently general rule that rounding up requests for storage, to reduce the number of different sizes of blocks coexisting in storage, causes more loss of storage by increased internal fragmentation than is saved by decreased external fragmentation. Described also are a method of segment allocation and an accompanying technique for segment addressing which take advantage of the above result. Evidence is presented of possible advantages of the method over conventional paging techniques. .B CACM July, 1969 .A Randell, B. .K storage allocation, storage fragmentation, paging, segmentation, addressing .C 6.2 6.20 .N CA690701 JB February 17, 1978 9:46 AM .X 1879 4 1879 1884 4 1879 1901 4 1879 2095 4 1879 2277 4 1879 2297 4 1879 2365 4 1879 1754 5 1879 1879 5 1879 1879 5 1879 1879 5 1879 2095 5 1879 2218 5 1879 2498 5 1879 2596 5 1879 2734 5 1879 2902 5 1879 2911 5 1879 3000 5 1879 1051 6 1879 1062 6 1879 1184 6 1879 1184 6 1879 1211 6 1879 1380 6 1879 1552 6 1879 1572 6 1879 1728 6 1879 1728 6 1879 1751 6 1879 1751 6 1879 1754 6 1879 1752 6 1879 1810 6 1879 1879 6 1879 1879 6 1879 1879 6 1879 1879 6 1879 1879 6 1879 1879 6 1879 1879 6 1879 1879 6 1879 273 6 1879 2095 6 1879 2095 6 1879 2095 6 1879 2435 6 1879 2435 6 1879 2435 6 1879 2498 6 1879 2596 6 1879 2734 6 1879 2734 6 1879 2747 6 1879 2768 6 1879 2773 6 1879 2864 6 1879 2983 6 1879 .I 1880 .T Chebyshev Solution to an Overdetermined Linear System (Algorithm 328 [F4]) .B CACM June, 1969 .A Golub, G. H. .K Chebyshev solutions, over-determined linear systems, linear equations, exchange algorithm .C 5.13 5.14 5.41 .N CA690613 JB February 17, 1978 9:49 AM .X 1880 5 1880 1880 5 1880 1880 5 1880 3054 5 1880 1175 6 1880 1880 6 1880 1919 6 1880 1969 6 1880 1980 6 1880 1997 6 1880 307 6 1880 308 6 1880 309 6 1880 2017 6 1880 2679 6 1880 776 6 1880 .I 1881 .T Transpose Vector Stored Array (Algorithm 302 [K2]) .B CACM June, 1969 .A MacLeod, I. D. G. .K matrix transposition, array transposition, vector stored array .C 5.39 .N CA690612 JB February 17, 1978 9:51 AM .X 1881 5 1881 1881 5 1881 1881 5 1881 .I 1882 .T Determination of the Square Root of a Positive Definite Matrix (Algorithm 298 [F1]) .B CACM June, 1969 .A Duke, B. J. .K matrix, symmetric matrix, positive definite matrix, matrix square root .C 5.14 .N CA690611 JB February 17, 1978 9:53 AM .X 1882 5 1882 1882 5 1882 1882 5 1882 .I 1883 .T Modified Romberg Quadrature(Algorithm [D1]) .B CACM June, 1969 .A Fair weather, G. .K numerical integration, Romberg quadrature, trapezoid values, rectangle values, error bound .C 5.16 .N CA690610 JB February 17, 1978 9:55 AM .X 1352 4 1883 1356 4 1883 1883 4 1883 2040 4 1883 1241 5 1883 1883 5 1883 1883 5 1883 1883 5 1883 1982 5 1883 2355 5 1883 1 6 1883 1273 6 1883 1418 6 1883 1521 6 1883 1597 6 1883 1883 6 1883 1883 6 1883 324 6 1883 2040 6 1883 2350 6 1883 2354 6 1883 .I 1884 .T An Anomaly in Space-Time Characteristics of Certain Programs Running in a Paging Machine .W The running time of programs in a paging machine generally increases as the store in which programs are constrained to run decreases. Experiments, however, have revealed cases in which the reverse is true: a decrease in the size of the store is accompanied by a decrease in running time. An informal discussion of the anomalous behavior is given, and for the case of the FIFO replacement algorithm a formal treatment is presented. .B CACM June, 1969 .A Belady, L. A. Nelson, R. A. Shedler, G. S. .K paging machines, demand paging, replacement algorithm .C 4.30 .N CA690609 JB February 17, 1978 9:59 AM .X 1879 4 1884 1884 4 1884 1901 4 1884 2095 4 1884 2277 4 1884 2297 4 1884 2365 4 1884 1754 5 1884 1884 5 1884 1884 5 1884 1884 5 1884 2022 5 1884 2085 5 1884 3006 5 1884 1751 6 1884 1751 6 1884 1884 6 1884 1884 6 1884 1884 6 1884 2374 6 1884 2373 6 1884 2595 6 1884 .I 1885 .T A Computer System for Transformational Grammar .W A comprehensive system for transformational grammar has been designed and implemented on the IBM 360/67 computer. The system deals with the transformational model of syntax, along the lines of Chomsky's Aspects of the Theory of Syntax. The major innovations include a full,formal description of the syntax of a transformational grammar, a directed random phrase structure generator, a lexical insertion algorithm, an extended definition of analysis, and a simple problem-oriented programming language in which the algorithm for application of transformations can be expressed. In this paper we present the system as a whole, first discussing the general attitudes underlying the development of the system, then outlining the system and discussing its more important special features. References are given to papers which consider some particular aspect of the system in detail. .B CACM June, 1969 .A Friedman, J. .K transformational grammar, natural language syntax, language processing, language analysis, sentence generation, lexical insertion, computational linguistics, syntax .C 3.42 .N CA690608 JB February 17, 1978 10:36 AM .X 1885 4 1885 2795 4 1885 1885 5 1885 1885 5 1885 1885 5 1885 1928 5 1885 .I 1886 .T Generation of Optimal Code for Expressions via Factorization .W Given a set of expressions which are to be compiled, methods are presented for increasing the efficiency of the object code produced by first factoring the expressions, i.e. finding a set of subexpressions each of which occurs in two or more other expressions or subexpressions. Once all the factors have been ascertained, a sequencing procedure is applied which orders the factors and expressions such that all information is computed in the correct sequence and factors need be retained in memory a minimal amount of time. An assignment algorithm is then executed in order to minimize the total number of temporary storage cells required to hold the results of evaluating the factors. In order to make these techniques computationally feasible, heuristic procedures are applied, and hence global optimal results are not necessarily generated. The factorization algorithms are also applicable to the problem of factoring Boolean switching expressions and of factoring polynomials encountered in symbol manipulating systems. .B CACM June, 1969 .A Breuer, M. A. .K factorization algorithms, code optimization, sequencing of operations, detection of common subexpressions, factorization of Boolean expressions .C 4.12 6.1 .N CA690607JB February 17, 1978 10:57 AM .X 1030 4 1886 1886 4 1886 1939 4 1886 1886 5 1886 1886 5 1886 1886 5 1886 2175 5 1886 678 5 1886 1551 6 1886 1613 6 1886 1886 6 1886 .I 1887 .T A Recursive Relation for the Determinant of a Pentadiagonal Matrix .W A recursive relation, relating leading principal minors, is developed for the determinant of a pentadiagonal matrix. A numerical example is included to indicate its use in calculating eigenvalues. .B CACM June, 1969 .A Sweet, R. A. .K pentadiagonal matrix, quindiagonal matrix, quindiagonal matrix, band matrix, determinant, characteristic polynomial, eigenvalues .C 5.14 .N CA690606 JB February 17, 1978 11:00 AM .X 1887 5 1887 1887 5 1887 1887 5 1887 .I 1888 .T Spline Function Methods for Nonlinear Boundary-Value Problems .W The solution of the nonlinear differential equation Y"=F(x,Y,Y') with two-point boundary conditions is approximated by a quintic or cubic spline function y(x). The method is well suited to nonuniform mesh size and dynamic mesh size allocation. For uniform mesh size h, the error in the quintic spline y(x) is O(h^4), with typical error one-third that from Numerov's method. Requiring the differential equation to be satisfied at the mesh points results in a set of difference equations, which are block tridiagonal and so are easily solved by relaxation or other standard methods. .B CACM June, 1969 .A Blue, J. L. .K boundary value problems, differential equations, finite differences, functional approximation, iterative methods, nonlinear equations, spline functions .C 5.13 5.15 5.17 .N CA690605 JB February 17, 1978 11:07 AM .X 1888 5 1888 1888 5 1888 1888 5 1888 .I 1889 .T Introducing Computing to Smaller Colleges and Universities -- A Progress Report .W By technical means that are now routine, computer service for smaller colleges and universities can be provided by remote terminals of a central facility. Access, however, is not enough-effective organizational and educational methodology for introducing computing at such institutions must also be developed. The experience of two years with a statewide network involving-41 institutions is discussed. Lessons include the importance of a separate organization representing the small colleges, the necessity for on-campus training for the institutions, the need for some special programming and documentation to support such users,and the development of curriculum by evolutionary means. .B CACM June, 1969 .A Parker Jr., L. T. Gallie, T. M. Brooks Jr., F. P. Ferrel, J. K. .K regional network, introducing computing, under-graduate education, instructional usage, academic applications, curriculum development, orientation project, regional center, consortium, remote computing .C 1.50 1.52 1.59 2.49 .N CA690604 JB February 17, 1978 11:21 AM .X 1889 5 1889 1889 5 1889 1889 5 1889 .I 1890 .T Simulation of Traffic Flows in a Network .W A computer simulation program which deals with traffic flows in the network of a large area is described. Each road is segmented into blocks of several ten-meter lengths and is represented by a bidirectional list in computer memory. The movement of cars, i.e. the transfer of cars from one block to the next, is expressed by a proper formula. This formula is based on the supposition that the speed of cars in a block is determined only by the density of cars in the block, and this speed-versus-density curve is empirically given the numerical values. This simulation scheme has its excellent point in that it makes it possible to trace the dynamic behavior of traffic flows in a variety of situations, some examples of which are given for an actual area of the city of Kyoto, Japan. .B June, 1969 .A Sakai, T. Nagao, M. .K traffic simulation, traffic flow, traffic network traffic control, traffic density, intersection, signal setting, vehicle, road network, list structure, computer simulation .C 3.57 3.23 .N CA690603 JB February 17, 1978 1:26 PM .X 1890 4 1890 1890 5 1890 1890 5 1890 1890 5 1890 757 5 1890 .I 1891 .T Three-Dimensional Computer Display .W A stereographic display terminal has been produced using the raster display (BRAD) recently developed at Brookhaven. The system uses a rotating refresh memory to feed standard television monitors. To produce a stereographic display the computer calculates the projected video images of an object, viewed from two separate points. The resulting video maps are stored on separate refresh bands of the rotating memory. The two output signals are connected to separate color guns of a color television monitor, thus creating a superimposed image on the screen. Optical separation is achieved by viewing the image through color filters. The display is interactive and can be viewed by a large group of people at the same time. .B CACM June, 1969 .A Ophir, D. Shepherd, B. J. Spinrad, R. J. .K computer graphics, three-dimensional display, swept raster display, interactive stereographic terminal, video map, color separation .C 2.0 4.49 6.35 .N CA690602 JB February 17, 1978 1:34 PM .X 1891 4 1891 2211 4 1891 2421 4 1891 2674 4 1891 2687 4 1891 1741 5 1891 1891 5 1891 1891 5 1891 1891 5 1891 .I 1892 .T Degree of Multiprogramming in Page-on-Demand Systems .W A simple stochastic model is described which offers a base for understanding the relationship between the number of programs permitted to share memory (the degree of multiprogramming), drum traffic rates, and central processing unit utilization in page-on-demand, multiprogrammed, time-shared computer systems. The model preserves, as a key feature, the property of page-demand statistics which implies a "burst" of page demands at the beginning of any job or quantum execution. The model, a Markov chain, is analyzed numerically and the results are presented graphically for a wide range of key environment-descriptive parameters. Implications of the results to time-shared system design and programming are discussed, and a calculation of the optimal degree of multiprogramming for a wide range of parameters is presented graphically. .B CACM June, 1969 .A Wallace, V. L. Mason, D. L. .K page-on-demand, demand paging, time-sharing multiprogramming, Markovian computer models, scheduling strategies, operating systems, memory management .C 2.44 4.32 4.39 6.20 6.21 .N CA690601 JB February 17, 1978 1:43 PM .X 1751 4 1892 1805 4 1892 1846 4 1892 1892 4 1892 1892 4 1892 1892 4 1892 1892 4 1892 1892 4 1892 1901 4 1892 1924 4 1892 2068 4 1892 2085 4 1892 2095 4 1892 2095 4 1892 2128 4 1892 2188 4 1892 2218 4 1892 2218 4 1892 2218 4 1892 2218 4 1892 2277 4 1892 2297 4 1892 2317 4 1892 2319 4 1892 2329 4 1892 2358 4 1892 2373 4 1892 2374 4 1892 2380 4 1892 2434 4 1892 2499 4 1892 2501 4 1892 2526 4 1892 2582 4 1892 2667 4 1892 2668 4 1892 2669 4 1892 2741 4 1892 2828 4 1892 2862 4 1892 2863 4 1892 2863 4 1892 2881 4 1892 2928 4 1892 2996 4 1892 3006 4 1892 3067 4 1892 1526 5 1892 1572 5 1892 1728 5 1892 1751 5 1892 1752 5 1892 1892 5 1892 1892 5 1892 1892 5 1892 .I 1893 .T Roots of Polynomials by a Root-Squaring and Resultant routine (Algorithm 340 [C2]) .B CACM May, 1969 .A Noltemeier, A. .K root finders, roots of polynomial equations, polynomial zeros, root-squaring operations, Graeffe method, resultant procedure, subresultant procedure, testing of roots, acceptance criteria .C 5.15 .N CA690517 JB February 17, 1978 2:29 PM .X 1893 5 1893 1893 5 1893 1893 5 1893 .I 1894 .T Normal Random Deviates (Algorithm 334 [G5]) .B CACM May, 1969 .A Knop, R. .K normal deviates, normal distribution, random number, random number generator, simulation, probability distribution, frequency distribution, random .C 5.13 5.5 .N CA690516 JB February 17, 1978 2:31 PM .X 1894 5 1894 1894 5 1894 1894 5 1894 2057 5 1894 2349 5 1894 1600 6 1894 1648 6 1894 1716 6 1894 1794 6 1894 1894 6 1894 1894 6 1894 2043 6 1894 2055 6 1894 501 6 1894 613 6 1894 774 6 1894 .I 1895 .T Gaussian Quadrature Formulas (Algorithm 331 [D1]) .B CACM May, 1969 .A Hill, I. D. .K quadrature, Gaussian quadrature, numerical integration, weight function, orthogonal polynomials .C 5.16 .N CA690514 JB February 17, 1978 3:13 PM .X 1895 5 1895 1895 5 1895 1895 5 1895 .I 1896 .T Regular Coulomb Wave Functions (Algorithm 292 S22]) .B CACM May, 1969 .A Gautschi, W. .K Coulomb wave functions, wave functions, regular Coulomb wave functions .C 5.12 .N CA690513 JB February 17, 1978 3:15 PM .X 1896 5 1896 1896 5 1896 1896 5 1896 .I 1897 .T Coulomb Wave Functions (Algorithm 300 [S22]) .B CACM May, 1969 .A Kolbig, K. S. .K Coulomb wave functions, wave functions .C 5.12 .N CA690512 JB February 17, 1978 3:17 PM .X 1897 5 1897 1897 5 1897 1897 5 1897 .I 1898 .T Regular Coulomb Wave Functions (Algorithm 292 [S22]) .B CACM May, 1969 .A Kolbig, K. S. .K Coulomb wave functions, wave functions, regular Coulomb wave functions .C 5.12 .N CA690511 JB February 17, 1978 3:19 PM .X 1898 5 1898 1898 5 1898 1898 5 1898 .I 1899 .T Simplex Method Procedure Employing Lu Decomposition (Algorithm 350 [H]) .B CACM May, 1969 .A Bartels, R. H. Golub, G. H. .K simplex method, linear programming, LU decomposition, round-off errors, computational stability .C 5.41 .N CA690510 JB February 17, 1978 3:21 PM .X 1899 5 1899 1899 5 1899 1899 5 1899 .I 1900 .T Clarification of Fortran Standards-Initial Progress .W In 1966 after four years of effort, FORTRAN became the first programming language standardized in the United States. Since that initial achievement, study and application of the standard specifications have revealed the need for maintenance of the standards. As the result of work initiated in 1967, an initial set of clarifying interpretations has been prepared. The nature of the maintenance, corrections to the standard specifications, and completed interpretations are reported. .B CACM May, 1969 .K USA Standard, FORTRAN, Basic FORTRAN, programming language, standardization, language standard specification, language standard maintenance, language standard clarification, language standard interpretation, standardization committee .C 1.2 2.0 2.19 2.2 2.3 4.0 4.12 4.19 4.20 4.22 4.29 4.43 5.23 5.9 6.9 .N CA690509 JB February 17, 1978 3:26 PM .X 1613 4 1900 1646 4 1900 1845 4 1900 1900 4 1900 1900 4 1900 1955 4 1900 2025 4 1900 2083 4 1900 2154 4 1900 2154 4 1900 2270 4 1900 2365 4 1900 2506 4 1900 2693 4 1900 3060 4 1900 987 5 1900 988 5 1900 1900 5 1900 1900 5 1900 1900 5 1900 2154 5 1900 2915 5 1900 3060 5 1900 987 6 1900 987 6 1900 988 6 1900 1502 6 1900 1900 6 1900 1900 6 1900 1900 6 1900 2154 6 1900 .I 1901 .T Dynamic Space-Sharing in Computer Systems .W A formalization of relationships between space-shading program behavior, and processor efficiency in computer systems is presented. Concepts of value and cost of space allocation per task are defined and then value and cost are combined to develop a single parameter termed value per unit cost. The intent is to illustrate a possible analytic approach to the investigation of the problems of space-sharing and to demonstrate the method on sample problems. .B CACM May, 1969 .A Belady, L. A. Kuehner, C. J. .K space-sharing, storage allocation, memory allocation, storage management, memory management, program behavior, multiprogramming, computer system design, allocation strategies, replacement strategies, demand-paging, time-sharing .C 4.32 6.2 6.20 .N CA690508 JB February 17, 1978 3:31 PM .X 1713 4 1901 1713 4 1901 1879 4 1901 1884 4 1901 1892 4 1901 1901 4 1901 1901 4 1901 1901 4 1901 1901 4 1901 2085 4 1901 2095 4 1901 2095 4 1901 2218 4 1901 2277 4 1901 2277 4 1901 2297 4 1901 2319 4 1901 2329 4 1901 2358 4 1901 2365 4 1901 2373 4 1901 2380 4 1901 2434 4 1901 2499 4 1901 2501 4 1901 2582 4 1901 491 4 1901 491 4 1901 2669 4 1901 2828 4 1901 2863 4 1901 2881 4 1901 2928 4 1901 2996 4 1901 3006 4 1901 3067 4 1901 168 5 1901 185 5 1901 1751 5 1901 1754 5 1901 1901 5 1901 1901 5 1901 1901 5 1901 2374 5 1901 2481 5 1901 2669 5 1901 2863 5 1901 3016 5 1901 3052 5 1901 1728 6 1901 1728 6 1901 1751 6 1901 1751 6 1901 1901 6 1901 1901 6 1901 1901 6 1901 1901 6 1901 1901 6 1901 1901 6 1901 2017 6 1901 2358 6 1901 2373 6 1901 2741 6 1901 2863 6 1901 .I 1902 .T An Automatic Grading Scheme for Simple Programming Exercises .W A discussion is given of alterations that were made to a typical university operating system to record the results of programming exercises in three different languages, including assembly language. In this computer-controlled grading scheme provision is made for testing with programmer-supplied data and for final runs with system-supplied data. Exercises run under the scheme may be mixed with other programs, and no special recognition of exercises by the operators is necessary. .B CACM May, 1969 .A Hext, J. B. Winings, J. W. .K automatic grading program, programming exercises .C 1.5 2.43 4.39 .N CA690507 JB February 17, 1978 3:35 PM .X 1270 4 1902 1413 4 1902 1902 4 1902 1902 4 1902 145 5 1902 1270 5 1902 1902 5 1902 1902 5 1902 1902 5 1902 .I 1903 .T Chebyshev Interpolation and Quadrature Formulas of Very High Degree .B CACM May, 1969 .A Salzer, H. E. .K Chebyshev polynomials, Chebyshev interpolation, Chebyshev quadrature, Chebyshev points, Chebyshev zeros, interpolation, quadrature, definite integrals .C 5.13 5.16 .N CA690506 JB February 17, 1978 3:42 PM .X 1903 5 1903 1903 5 1903 1903 5 1903 2394 5 1903 1872 6 1903 1903 6 1903 .I 1904 .T Rough and Ready Error Estimates in Gaussian Integration of Analytic Functions .B CACM May, 1969 .A Rabinowitz, P. .K numerical integration, analytic functions, error estimates, Gaussian integration, tabulated error coefficients, computable error coefficients, Cauchy integral formula, Chebyshev polynomials .C 5.11 5.16 .N CA690505 JB February 17, 1978 3:44 PM .X 1904 5 1904 1904 5 1904 1904 5 1904 .I 1905 .T The Simplex Method of Linear Programming Using LU Decomposition .W Standard computer implementations of Dantzig's simplex method for linear programming are based upon forming the inverse of the basic matrix and updating the inverse after every step of the method. These implementations have bad round-off error properties. This paper gives the theoretical background for an implementation which is based upon the LU decomposition, computed with row interchanges, of the basic matrix. The implementation is slow, but has good round-off error behavior. The implementation appears as CACM Algorithm 350. .B CACM May, 1969 .A Bartels, R. H. Goulub, G. H. .K simplex method, linear programming, LU decomposition, round-off errors, computational stability .C 5.41 .N CA690504 JB February 17, 1978 3:49 PM .X 1905 4 1905 1744 5 1905 1905 5 1905 1905 5 1905 1905 5 1905 .I 1906 .T Automated Printed Circuit Routing with a Stepping Aperture .W A computer program for routing interconnections on a two-sided printed circuit board with a regular pattern of lines, pins (terminals), and vias (feed-through holes) is described. In this program, each interconnection is given a planned routing-typically, down from the upper pin, through a via, and horizontally to the lower pin. From the top, a virtual aperture (i.e. a long horizontal slit) is stepped down the board. The planned routing is the basis for rerouting interconnections within the aperture to resolve conflicts for lines and vias below the aperture and to maximize the effective line usage. If a conflict has not been resolved before the aperture arrives at the lower pin,interconnections are deleted to resolve the conflict. Extensions of this technique to the control of crosstalk between routed interconnections and to the problem of obtaining 100 percent interconnect are also discussed. .B CACM May, 1969 .A Lass, S.E. .K routing, printed circuit, interconnections, aperture, stepping aperture, computer program, circuit board, lines, vias, pins .C 3.24 6.30 .N CA690503 JB February 17, 1978 3:57 PM .X 1211 4 1906 1549 4 1906 1906 4 1906 2902 4 1906 1051 5 1906 1906 5 1906 1906 5 1906 1906 5 1906 .I 1907 .T A Note on Reliable Full-Duplex Transmission over Half-Duplex Links .W A simple procedure for achieving reliable full-duplex transmission over half-duplex links is proposed. The scheme is compared with another of the same type, which has recently been described in the literature. Finally, some comments are made on another group of related transmission procedures which have been shown to be unreliable under some circumstances. .B CACM May, 1969 .A Bartlett, K. A. Scantlebury, R. A. .K data transmission, error correction, full-duplex, half-duplex, transmission control, communications .C 3.81 .N CA690502 JB February 17, 1978 4:01 PM .X 1907 4 1907 1743 5 1907 1907 5 1907 1907 5 1907 1907 5 1907 .I 1908 .T Time-Sharing and Batch-Processing: An Experimental Comparison of Their Values in a Problem - Solving Situation .W An experimental comparison of problem-solving using time-sharing and batch-processing computer systems conducted at MIT is described in this paper. This study is the first known attempt to evaluate two such systems for what may well be the predominant user population within the next decade-the professionals who, as nonprogrammers, are using the computer as an aid in decision-making and problem-solving rather than as a programming end in itself. Statistically and logically significant results indicate equal cost for usage of the two computer systems; however, a much higher level of performance is attained by time-sharing users. There are indications that significantly lower costs would have resulted if the time-sharing users had stopped work when they reached a performance level equal to that of the batch users. The users' speed of problem-solving and their attitudes made time-sharing the more favorable system. .B CACM May, 1969 .A Gold, M. M. .K time-sharing vs batch-processing, user performance, man/machine communications, cost effectiveness, on-line vs off-line performance, decision-making performance, user/programmer behavior, programming experimental empirical studies, problem-solving, research in man/machine communications, man/machine symbiosis .C 2.11 2.40 3.36 3.51 3.80 .N CA690501 JB February 17, 1978 4:10 PM .X 1792 4 1908 1908 4 1908 1908 4 1908 1550 5 1908 1605 5 1908 1908 5 1908 1908 5 1908 1908 5 1908 2705 5 1908 2984 5 1908 1908 6 1908 1908 6 1908 3185 6 1908 .I 1909 .T Computation of Jn(x) by Numerical Integration .W It is shown to be practical to compute Jn(x) by numerical integration of its integral representation using the trapezoidal rule. The error in this approximation was studied empirically. .B CACM April, 1969 .A Stroud, A. H. Kohli, J. P. .K Bessel Function, numerical integration, trapezoidal rule .C 5.11 5.12 5.16 .N CA690408 JB February 17, 1978 4:13 PM .X 1909 4 1909 1909 4 1909 1909 4 1909 1909 4 1909 2119 4 1909 134 5 1909 1023 5 1909 1284 5 1909 1316 5 1909 1909 5 1909 1909 5 1909 1909 5 1909 .I 1910 .T An Algorithm for Solving a Special Class of Tridiagonal Systems of Linear Equations .W An algorithm is presented for solving a system of linear equation Bu=k where B is tridiagonal and of a special form. It is shown that this algorithm is almost twice as fast as the Gaussian elimination method usually suggested for solving such systems. In addition, explicit formulas for the inverse and determinant of the matrix B are given. .B CACM April, 1969 .A Rose, D. J. .K tridiagonal, Gaussian elimination, central difference .C 5.14 5.17 .N CA690407 JB February 17, 1978 4:18 PM .X 1910 5 1910 1910 5 1910 1910 5 1910 .I 1911 .T On Coordination Reduction and Sentence Analysis .W A class of coordination phenomena in natural languages is considered within the frame work of transformational theory. To account for these phenomena it is proposed that certain machinery be added to the syntactic component of a transformational grammar. This machinery includes certain rule schemata, the conditions under which they are to be applied, and conditions determining the sequence of subtrees on which they are to be performed. A solution to the syntactic analysis problem for this class of grammars is outlined. Precise specification of both the generative procedure of this paper and its inverse is given in the form of LISP function definitions. .B CACM April, 1969 .A Petrick, S. R. Postal, P. M. Rosenbaum, P. S. .K natural languages, generative grammar, transformational theory, syntax, coordination, sentence coordination, sentence coordination, coordination reduction, syntactic analysis, grammar testing program, rule testing .C 3.42 .N CA690406 JB February 17, 1978 4:25 PM .X 1911 5 1911 1911 5 1911 1911 5 1911 .I 1912 .T Simulation of Outpatient Appointment Systems .W An experimental computer program is described which simulates appointment systems employed by outpatient departments of hospitals. Both major kinds of appointment systems-individual and block-can be simulated. The purpose of the Simulator is to enable the user to evaluate the effectiveness of alternative appointment systems in a given clinical environment. .B CACM April, 1969 .A Katz, J. H. .K simulation, scheduling, appointment system, outpatient department, medicine, health, management science, operations research .C 3.34 3.59 .N CA690405 JB February 17, 1978 4:32 PM .X 1805 4 1912 1912 4 1912 1518 5 1912 1912 5 1912 1912 5 1912 1912 5 1912 .I 1913 .T Polygamma Functions with Arbitrary Precision (Algorithm 349 [S14]) .B CACM April, 1969 .A Schwachheim, G. .K polygamma function, psi function, digamma function, trigamma function, tetragamma function, pentagamma function, special functions .C 5.12 .N CA690404 JB February 17, 1978 4:36 PM .X 1913 5 1913 1913 5 1913 1913 5 1913 .I 1914 .T Matrix Scaling by Integer Programming (Algorithm 348 [F1]) .B CACM April, 1969 .A Klimpel, R. R. .K integer programming, linear algebra, mathematical programming, matrix condition, matrix scaling .C 5.14 5.41 .N CA690403 JB February 17, 1978 4:38 PM .X 1914 5 1914 1914 5 1914 1914 5 1914 .I 1915 .T An Algorithm for Hidden Line Elimination .W The algorithm presented causes the elimination of hidden lines in the representation of a perspective view of concave and convex plane-faced objects on the picture plane. All the edges of the objects are considered sequentially, and all planes which hide every point of an edge are found. The computing time increases roughly as the square of the number of edges. The algorithm takes advantage of a reduced number of concave points and automatically recognizes if only one object with no concave points is considered. In this last case, the result is obtained in a much simpler way. .B CACM April, 1969 .A Galimberti, R. Montanari, U. .K hidden line elimination, back line recognition, three-dimensional representation, plane-faced objects, perspective view, machine rendering of solids, automatic drawing, displaying techniques, computer graphics, man/machine interaction, man/machine communication, computer-aided design .C 4.40 4.41 4.49 .N CA690402 JB February 17, 1978 4:44 PM .X 1915 5 1915 1915 5 1915 1915 5 1915 2004 5 1915 2687 5 1915 2692 5 1915 1686 6 1915 1741 6 1915 1915 6 1915 1915 6 1915 1915 6 1915 2004 6 1915 .I 1916 .T Analysis of Boolean Program Models for Time-Shared, Paged Environments .W Directed graphs or their associated matrices are frequently used to represent the logical structure of sequences of computer instructions. Such techniques are used and, in addition, data references are represented in a nondirected model. The complete structural specification of a program is represented by a combined model. A transformation of the combined model yields a new model in which additional timing information is also contained. Analysis of these models prior to execution yields information valuable in determining segmentation of instructions and data for a time-shared environment, as well as for initial page loading; during execution, the analysis may be used for "look ahead" control of page turning. .B CACM April, 1969 .A Lowe, T. C. .K time-sharing, paging, segmentation, executive, compiler, monitor, program model .C 4.39 6.21 .N CA690401 JB February 17, 1978 4:50 PM .X 1916 4 1916 1916 4 1916 1533 5 1916 1916 5 1916 1916 5 1916 1916 5 1916 2130 5 1916 666 5 1916 1916 6 1916 .I 1917 .T An Algol Procedure for the Fast Fourier Transform with Arbitrary Factors (Algorithm 339 [C6]) .B CACM March, 1969 .A Singleton, R. C. .K fast Fourier transform, complex Fourier transform, multivariate Fourier transform, Fourier series, harmonic analysis, spectral analysis, orthogonal polynomials, orthogonal transformation, virtual core memory, permutation .C 3.15 3.83 5.12 5.14 .N CA690310 JB February 20, 1978 8:43 AM .X 1917 5 1917 1917 5 1917 1917 5 1917 .I 1918 .T Distribution of Indistinguishable Objects into Distinguishable Slots (Algorithm 329 [G6]) .B CACM March, 1969 .A Gray, M. .N CA690309 JB February 20, 1978 8:46 AM .X 1918 5 1918 1918 5 1918 1918 5 1918 .I 1919 .T An Efficient Algorithm for Sorting with Minimal Storage (Algorithm 347 [M1]) .B CACM March, 1969 .A Singleton, R. C. .K sorting, minimal storage sorting, digital computer sorting .C 5.31 .N CA690308 JB February 20, 1978 8:48 AM .X 1175 4 1919 1175 4 1919 1919 4 1919 1919 4 1919 1919 4 1919 1919 4 1919 1919 4 1919 1919 4 1919 1969 4 1919 1969 4 1919 1997 4 1919 2017 4 1919 2041 4 1919 2118 4 1919 2191 4 1919 2191 4 1919 2216 4 1919 2388 4 1919 2388 4 1919 2348 4 1919 2679 4 1919 2679 4 1919 2679 4 1919 2783 4 1919 2784 4 1919 3054 4 1919 3054 4 1919 3054 4 1919 3121 4 1919 3121 4 1919 852 4 1919 864 4 1919 864 4 1919 865 4 1919 1175 5 1919 1919 5 1919 1919 5 1919 1919 5 1919 308 5 1919 309 5 1919 2216 5 1919 74 5 1919 3054 5 1919 3187 5 1919 864 5 1919 864 6 1919 1175 6 1919 1880 6 1919 1919 6 1919 1919 6 1919 1969 6 1919 1969 6 1919 1980 6 1919 1997 6 1919 1997 6 1919 307 6 1919 308 6 1919 309 6 1919 2017 6 1919 2679 6 1919 776 6 1919 .I 1920 .T F-Test Probabilities (Algorithm 346 [S14]) .B CACM March, 1969 .A Morris, J. .K F-test, Snedecor F-statistic, Fisher Test, distribution function .C 5.5 .N CA690307 JB February 20, 1978 8:50 AM .X 1157 4 1920 1779 4 1920 1920 4 1920 1920 4 1920 1944 4 1920 1987 4 1920 2548 4 1920 1778 5 1920 1920 5 1920 1920 5 1920 1920 5 1920 714 5 1920 .I 1921 .T An Algol Convolution Procedure Based on the Fast Fourier Transform (Algorithm 345 [C6]) .B CACM March, 1969 .A Singleton, R. C. .K fast Fourier transform, complex Fourier transform, multivariate Fourier transform, Fourier series, harmonic analysis, spectral analysis, orthogonal polynomials, orthogonal transformation, convolution, auto covariance, autocorrelation, cross-correlation, digital filtering, permutation .C 3.5 3.83 5.12 5.14 .N CA690306 JB February 20, 1978 8:54 AM .X 1921 5 1921 1921 5 1921 1921 5 1921 .I 1922 .T Proposed USA Standard (Data Communication Control Procedures for the USA Standarad Code for Information Interchange) .B CACM March, 1969 .K data communication, data communication control procedures, data communication establishment/termination procedures, data communication message transfer procedures, data communication error control procedures, data communication polling/selection procedures, communication, communication control procedures, communication establishment/termination procedures, communication message transfer procedures, communication error control procedures, communication polling/selection procedures, link, link control procedures, link establishment/termination procedures, link message transfer procedures, link error control procedures, link polling/selection procedures, data link, data link control procedures, data link establishment/termination procedures, data link message transfer procedures, data link error control procedures, data link polling/selection procedures .C 3.81 4.49 6.39 .N CA690305 JB February 20, 1978 9:09 AM .X 1922 5 1922 1922 5 1922 1922 5 1922 .I 1923 .T Pseudofiles .W An approach to system interfaces for high level languages using basic input/output support facilities is described. It is shown that this technique can provide potentially inexpensive methods for programs to communicate with deeply embedded facilities such as command language processors. .B CACM March, 1969 .A Rosin, R. F. .K operating systems, interfaces input-output, high level languages, command language .C 4.22 4.30 4.31 4.41 .N CA690304 JB February 20, 1978 9:12 AM .X 1923 5 1923 1923 5 1923 1923 5 1923 .I 1924 .T Organizing Matrices and Matrix Operations for Paged Memory Systems .W Matrix representations and operations are examined for the purpose of minimizing the page faulting occurring in a paged memory system. It is shown that carefully designed matrix algorithms can lead to enormous savings in the number of page faults occurring when only a small part of the total matrix can be in main memory at one time. Examination of addition, multiplication, and inversion algorithms shows that a partitioned matrix representation (i.e. one submatrix or partition per page) in most cases induced fewer page faults than a row-by-row representation. The number of page-pulls required by these matrix manipulation algorithms is also studied as a function of the number of pages of main memory available to the algorithm. .B CACM March, 1969 .A McKellar, A. C. Coffman Jr., E. G. .K matrix algorithms, array processing, paging algorithms, paged memory systems, virtual memory systems, array storage allocation, storage allocation .C 4.12 4.39 5.14 .N CA690303 JB February 20, 1978 9:35 AM .X 1892 4 1924 1924 4 1924 2095 4 1924 2218 4 1924 2297 4 1924 2374 4 1924 2526 4 1924 2667 4 1924 2668 4 1924 2862 4 1924 2863 4 1924 1728 5 1924 1924 5 1924 1924 5 1924 1924 5 1924 2365 5 1924 2582 5 1924 3152 5 1924 987 6 1924 1751 6 1924 1754 6 1924 1924 6 1924 1924 6 1924 1924 6 1924 2017 6 1924 2130 6 1924 2362 6 1924 2365 6 1924 .I 1925 .T Concepts of Use in Contour Map Processing .W Generalized techniques whose use can simplify the solution of problems relating to contour maps. One of these techniques makes use of the topological properties of contour maps. The topology is represented by a graphical structure in which adjacent contour lines appear as connected nodes. Another generalized technique consists of utilizing geometrical properties to determine the characteristics of straight lines drawn on the contour map. Both of these techniques have been applied to the problem of locating the ground track of an aircraft from elevation readings obtained during a flight. .B CACM March, 1969 .A Morse, S. P. .K map, contour map, contour lines, topological properties, geometrical properties, graph of contour map, navigation .C 3.1 .N CA690302 JB February 20, 1978 9:41 AM .X 1925 5 1925 1925 5 1925 1925 5 1925 2287 5 1925 2547 5 1925 3062 5 1925 1326 6 1925 1871 6 1925 1925 6 1925 1925 6 1925 1925 6 1925 .I 1926 .T Description of FORMAT, a Text-Processing Program .W FORMAT is a production program which facilitates the editing and printing of "finished" documents directly on the printer of a relatively small (64k) computer system. It features good performance, totally free-form input, very flexible formatting capabilities including up to eight columns per page, automatic capitalization, aids for index construction, and a minimum of nontext items. It is written entirely in FORTRAN IV. .B CACM March, 1969 .A Berns, G. M. .K text processing, indexing, printing, documentation, text editing, formatting, frequency dictionary, right justification, vocabulary .C 3.74 3.75 3.9 .N CA690301 JB February 20, 1978 9:45 AM .X 1926 5 1926 1926 5 1926 1926 5 1926 2034 5 1926 984 6 1926 1231 6 1926 1565 6 1926 1852 6 1926 1926 6 1926 1947 6 1926 .I 1927 .T Information Science in a Ph.D. Computer Science Program .W This report contains recommendations on a sample course curriculum in the general area of information organization and information system design in a Ph.D. Computer Science Program. The subject area is first briefly described, followed by a listing of some desirable graduate-level courses. Suitable bibliographies are appended. .B CACM February, 1969 .A Salton, G. .K course curriculum, graduate courses, university courses,computer science curriculum, information science, information organization, information retrieval, data retrieval, language analysis, information processing .C 1.52 3.42 3.70 .N CA690211 JB February 20, 1978 9:50 AM .X 1720 4 1927 1927 4 1927 1927 4 1927 2147 4 1927 2163 4 1927 2345 4 1927 2478 4 1927 2594 4 1927 2852 4 1927 2899 4 1927 3003 4 1927 3130 4 1927 1659 5 1927 1771 5 1927 1927 5 1927 1927 5 1927 1927 5 1927 2163 5 1927 3003 5 1927 1659 6 1927 1678 6 1927 1720 6 1927 1771 6 1927 1927 6 1927 1927 6 1927 1945 6 1927 2097 6 1927 2147 6 1927 2163 6 1927 2181 6 1927 2187 6 1927 2329 6 1927 2345 6 1927 2367 6 1927 2407 6 1927 2478 6 1927 2479 6 1927 2480 6 1927 2538 6 1927 .I 1928 .T Exclusive Simulation of Activity in Digital Networks .W A technique for simulating the detailed logic networks of large and active digital systems is described. Essential objectives sought are improved ease and economy in model generation, economy in execution time and space, and a facility for handling simultaneous activities. The main results obtained are a clear and useful separation of structural and behavioral model description, a reduction of manual tasks in converting Boolean logic into a structural model, the elimination of manual processes in achieving exclusive simulation of activity, an event-scheduling technique which does not deteriorate in economy as the event queue grows in length, and a simulation procedure which deals effectively with any mixture of serial and simultaneous activities. The passage of time is simulated in a precise, quantitative fashion and systems to be simulated may be combinations of synchronous and asynchronous logic. Certain aspects of the techniques described may be used for the simulation of network structures other than digital networks. .B CACM February, 1969 .A Ulrich, E. G. .K simulation, logical simulation, digital simulation, large systems simulation, network structures, scheduling, queuing, simultaneous activities, parallel events .C 4.22 4.29 6.9 .N CA690210 JB February 20, 1978 9:58 AM .X 1885 5 1928 1928 5 1928 1928 5 1928 1928 5 1928 2795 5 1928 1928 6 1928 1928 6 1928 1989 6 1928 2274 6 1928 .I 1929 .T Images from Computers and Microfilm Plotters .W Digital computers are widely used for the processing of information and data of all kinds, including the pictorial information contained in photographs and other graphical representations. Efficient conversion facilities for putting graphical information into the computer and retrieving it in graphical form are therefore much needed. One of the most commonly employed devices for obtaining permanent graphical output from digital computers is the microfilm plotter. Regrettably, present models have no provision for producing images with a continuous gray scale or "half tones." In this note several programming techniques are described for obtaining half tone pictures from a microfilm plotter under the control of a digital computer. Illustrative examples of several methods are given. .B CACM February, 1969 .A Schroeder, M. R. .K computer images, half tone pictures, microfilm plotters; processing .C 3.10 3.15 3.24 4.49 .N CA690209 JB February 20, 1978 10:06 AM .X 1929 5 1929 1929 5 1929 1929 5 1929 2142 5 1929 1929 6 1929 2231 6 1929 .I 1930 .T Extremely Portable Random Number Generator .W Extremely portable subroutines are sometimes needed for which moderate quality and efficiency suffice. Typically, this occurs for library functions (like random number generation and in core sorting) which are not entirely universal or are not used in a standardized way. The literature on random number generators does not seem to contain an algorithm that meets requirements of this sort. An extremely portable 8-line FORTRAN program is provided which based on an important paper by Coveyou and MacPherson (1967).Using their methods, Fourier analysis is applied to the probability function for the consecutive n-tuples provided by our generator (with n less than or equal to 4). While the small modulus which must be used to maintain portability prevents the quality of the generator from being high, the generator compares well with the bounds established in the above mentioned paper. .B CACM February, 1969 .A Kruskal, J. B. .K random number generators, random numbers, random number analysis, random generators, linear sequential generators, random number program, pseudo random numbers .C 4.49 5.19 5.5 .N CA690208 JB February 20, 1978 10:43 AM .X 1930 5 1930 1930 5 1930 1930 5 1930 2115 5 1930 1691 6 1930 1930 6 1930 .I 1931 .T Interval Arithmetic Determinant Evaluation and Its Use in Testing for a Chebyshev System .W Two recent papers, one by Hansen and one by Hansen and R. R. Smith, have shown how Interval Arithmetic (I.A.) can be used effectively to bound errors in matrix computations. In the present paper a method proposed by Hasen and R. R. Smith is compared with straightforward use of I.A. in determinant evaluation. Computational results show the accuracy and running times that can be expected when using I.A. for determinant evaluation. An application using I.A. determinants in a program to test a set of functions to see if they form a Chebyshev system is then presented. .B CACM February, 1969 .A Smith, L. B. .K interval arithmetic, range arithmetic, error bounds, determinant evaluation, Chebyshev system, mathematical proof by computer .C 5.11 5.13 5.14 .N CA690207 JB February 20, 1978 10:49 AM .X 1524 4 1931 1931 4 1931 1931 4 1931 1946 4 1931 2214 4 1931 2544 4 1931 1177 5 1931 1931 5 1931 1931 5 1931 1931 5 1931 311 5 1931 .I 1932 .T The Logarithmic Error and Newton's Method for the Square Root .W The problem of obtaining optimal starting values for the calculation of the square root using Newton's method is considered. It has been pointed out elsewhere that if relative error is used as the measure of goodness of fit, optimal results are not obtained when the initial approximation is a best fit. It is shown here that if, instead, the so-called logarithmic error is used, then a best initial fit is optimal for both types of error. Moreover, use of the logarithmic error appears to simplify the problem of determining the optimal initial approximation. .B CACM February, 1969 .A King, R. F. Phillips, D. L. .K square root, Newton's method, relative error, logarithmic error, best fit, optimal approximation, maximal error, recurrence relation, integer root, error curve .C 5.12 5.13 .N CA690206 JB February 20, 1978 10:55 AM .X 1440 4 1932 1932 4 1932 1932 4 1932 2094 4 1932 2159 4 1932 962 5 1932 1566 5 1932 1832 5 1932 1932 5 1932 1932 5 1932 1932 5 1932 1999 5 1932 2159 5 1932 962 6 1932 1932 6 1932 1932 6 1932 1932 6 1932 .I 1933 .T Coding the Lehmer Pseudo-random Number Generator .W An algorithm and coding technique is presented for quick evaluation of the Lehmer pseudo-random number generator modulo 2**31 - 1, a prime Mersenne number with produces 2**31 - 2 numbers, on a p-bit (greater than 31) computer. The computation method is extendible to limited problems in modular arithmetic. Prime factorization for 2**61 - 2 and a primitive root for 2**61 - 1, the next largest prime Mersenne number, are given for possible construction of a pseudo-random number generator of increased cycle length. .B CACM February, 1969 .A Payne, W. H. Rabung, J. R. Bogyo, T. P. .K pseudo-random number, random number, modular arithmetic, uniform probability density, uniform frequency function, simulation, prime factorization, primitive roots .N CA690205 JB February 20, 1978 11:07 AM .X 1933 5 1933 1933 5 1933 1933 5 1933 .I 1934 .T On Arithmetic Expressions and Trees .W A description is given of how a tree representing the evaluation of an arithmetic expression can be drawn in such a way that the number of accumulators needed for the computation can be represented in a straightforward manner. This representation reduces the choice of the best order of computation to a specific problem under the theory of graphs. An algorithm to solve this problem is presented. .B CACM February, 1969 .A Redziejowski, R. R. .K arithmetic expression, compiler design, graph theory, programming, storage minimization, topological ordering,tree .C 4.12 5.32 .N CA690204 JB February 20, 1978 11:11 AM .X 1807 4 1934 1934 4 1934 2175 4 1934 1551 5 1934 1934 5 1934 1934 5 1934 1934 5 1934 .I 1935 .T Randomized Binary Search Technique .W A mathematical model is developed for the mean and variance of the number of trials to recover a given document in a randomly received list of files. The search method described is binary in nature and offers new potential for information retrieval systems. .B CACM February, 1969 .A Arora, S. R. Dent, W. T. .K binary pattern, file examination, graph theory, information retrieval, mathematical model, partitioning, probabilistic method, random sequencing, search techniques, tree structures .C 3.74 5.32 .N CA690203 JB February 20, 1978 11:15 AM .X 1050 4 1935 1935 4 1935 1935 4 1935 1936 4 1935 2017 4 1935 2032 4 1935 2257 4 1935 2360 4 1935 2451 4 1935 2452 4 1935 1115 5 1935 1935 5 1935 1935 5 1935 1935 5 1935 2451 5 1935 2556 5 1935 2978 5 1935 849 5 1935 830 6 1935 849 6 1935 944 6 1935 1935 6 1935 1935 6 1935 1935 6 1935 1936 6 1935 1936 6 1935 2111 6 1935 .I 1936 .T Variable Length Tree Structures Having Minimum Average Search Time .W Sussenguth suggests in a paper (1963) that a file should be organized as a doubly-chained tree structure if it is necessary both to search and to update frequently. Such a structure provides a compromise between the fast search/slow update characteristics of binary searching and the slow search/fast update characteristics of serial searching. His method, however, contains the limiting restriction that all terminal nodes lie on the same level of the tree. This paper considers the effect of relaxing this restriction. First, trees which have the property that a priori the filial set of each node is well defined are studied. It is proved that coding the nodes within each filial set with respect to the number of terminal nodes reachable from each is necessary and sufficient to guarantee minimum average search time. Then the more general case (that is, where the entire structure of the tree is changeable) is treated. A procedure is developed for constructing a tree with a minimum average search time. A simple closed expression for this minimum average search time is obtained as a function of the number of terminal nodes. The storage capacity required to implement the doubly-chained tree structure on a digital computer is also determined. Finally, the total cost of the structure, using Sussenguth's cost criterion, is computed. It is shown that significant improvements in both the average search time and the total cost can be obtained by relaxing Sussenguth's restriction that all terminal nodes lie on the same level of the tree. .B CACM February, 1969 .A Patt, Y. N. .K information retrieval, file searching, tree structures, double chaining .C 3.70 3.73 3.74 .N CA690202 JB February 20, 1978 11:25 AM .X 1050 4 1936 1935 4 1936 1936 4 1936 2017 4 1936 2032 4 1936 2257 4 1936 2360 4 1936 2451 4 1936 2452 4 1936 1936 5 1936 1936 5 1936 1936 5 1936 2257 5 1936 2360 5 1936 2451 5 1936 2452 5 1936 2556 5 1936 2765 5 1936 849 5 1936 830 6 1936 849 6 1936 849 6 1936 849 6 1936 849 6 1936 944 6 1936 1831 6 1936 1831 6 1936 1935 6 1936 1935 6 1936 1936 6 1936 1936 6 1936 1936 6 1936 1936 6 1936 1936 6 1936 1936 6 1936 1976 6 1936 1976 6 1936 2046 6 1936 2111 6 1936 2198 6 1936 2360 6 1936 2451 6 1936 2452 6 1936 616 6 1936 .I 1937 .T CODAS: A Data Display System .W CODAS, a Customer Oriented Data System, is a user-oriented data retrieval and display system. The command language of the system provides the user with an easy means for specifying data retrieval and display requests. Data is displayed as tables and graphs produced in a format ready for publication. In this paper the statements of the request language and the general system design are described. .B CACM February, 1969 .A Day, R. H. Mansfield, M. K. Ellis, M. E. .K data display, information retrieval, graphic display, command languages, report program generation, management data processing .C 3.50 3.51 3.59 3.70 3.75 3.79 4.20 4.29 .N CA690201 JB February 20, 1978 11:32 AM .X 1937 5 1937 1937 5 1937 1937 5 1937 2002 5 1937 1767 6 1937 1937 6 1937 .I 1938 .T Some Criteria for Time-Sharing System Performance .W Time-sharing systems, as defined in this article, are those multiaccess systems which permit a terminal user to utilize essentially the full resources of the system while sharing its time with other terminal users. It is each terminal user's ability to utilize the full resources of the system that makes quantitative evaluation of time-sharing systems particularly difficult. Six criteria are described which have been successfully used to perform first-level quantitative time-sharing system performance evaluation. .B CACM January, 1969 .A Stimler, S. .K time-sharing performance criteria, time-sharing system operation, time-sharing performance analysis .C 2.40 4.30 4.32 6.20 .N CA690111 JB February 20, 1978 11:37 AM .X 1938 5 1938 1938 5 1938 1938 5 1938 2219 5 1938 2344 5 1938 1938 6 1938 1938 6 1938 .I 1939 .T Directed Random Generation of Sentences .W The problem of producing sentences of a transformational grammar by using a random generator to create phrase structure trees for input to the lexical insertion and transformational phases is discussed. A purely random generator will produce base trees which will be blocked by the transformations, and which are frequently too long to be of practical interest. A solution is offered in the form of a computer program which allows the user to constrain and direct the generation by the simple but powerful device of restricted subtrees. The program is a directed random generator which accepts as input a subtree with restrictions and produces around it a tree which satisfies the restrictions and is ready for the next phase of the grammar. The underlying linguistic model is that at Noam Chomsky, as presented in Aspects of the Theory of Syntax. The program is written in FORTRAN IV for the IBM 360/67 and is part of a unified computer system for transformational grammar. It is currently being used with several partial grammars of English. .B CACM January, 1969 .A Friedman, J. .K transformational grammar, natural language syntax, language processing, sentence generation, computational linguistics, syntax .C 3.42 .N CA690110 JB February 20, 1978 11:44 AM .X 1030 4 1939 1261 4 1939 1886 4 1939 1939 4 1939 1939 4 1939 1030 5 1939 1939 5 1939 1939 5 1939 1939 5 1939 2767 5 1939 3064 5 1939 678 5 1939 1846 6 1939 1939 6 1939 1939 6 1939 2742 6 1939 2767 6 1939 2936 6 1939 .I 1940 .T Calculation of a Polynomial and its Derivative Values by Horner Scheme (Algorithm 337 [C1]) .B CACM January, 1969 .A Smith, O. K. .K function, evaluation, polynomial evaluation, ALGOL procedure, Horner's scheme .C 4.22 5.12 .N CA690109 JB February 20, 1978 11:46 AM .X 1940 5 1940 1940 5 1940 1940 5 1940 .I 1941 .T F-Distribution (Algorithm 322 [S14]) .B CACM January, 1969 .A Field, J. B. F. .K Fisher's F-distribution, Students's t-distribution .C 5.5 .N CA690108 JB February 20, 1978 11:48 AM .X 1941 5 1941 1941 5 1941 1941 5 1941 .I 1942 .T Finding a Solution of N Functional Equations in N Unknowns (Algorithm 314 [C5]) .B CACM January, 1969 .A Vandergraft, J. Mesztenyi, C. .K functional equations, interpolation, nonlinear equations, secant method .C 5.13 5.15 .N CA690107 JB February 20, 1978 11:50 AM .X 1942 5 1942 1942 5 1942 1942 5 1942 .I 1943 .T Complete Elliptic Integrals (Algorithm 165 [S21]) .B CACM January,1969 .A Farkas, I. .K special functions, complete elliptic integral of the first kind, complete elliptic integral of the second kind .C 5.12 .N CA690106 JB February 20, 1978 11:54 AM .X 1943 5 1943 1943 5 1943 1943 5 1943 .I 1944 .T Student's t-Distribution (Algorithm 344 [S14]) .B CACM January, 1969 .A Levine, D. A. .K Student's t-Distribution, t-test, small-sample statistics, distribution function .C 5.12 5.5 .N CA690105 JB February 20, 1978 11:56 AM .X 1157 4 1944 1779 4 1944 1920 4 1944 1944 4 1944 1944 4 1944 1987 4 1944 1987 4 1944 2548 4 1944 1779 5 1944 1944 5 1944 1944 5 1944 1944 5 1944 1987 5 1944 714 5 1944 1561 6 1944 1581 6 1944 1779 6 1944 1944 6 1944 714 6 1944 .I 1945 .T The Role of Programming in a Ph.D. Computer Science Program .W In this general paper the role of programming in advanced graduate training is discussed. Subject matter related to programming as well as programming per se is considered. The importance and application of formalism are considered and also the need for good empirical experimentation. A brief outline for a sequence of courses is included, and subject headings that have been obtained from an extensive bibliography are given. A bibliography of programming references is included. .B CACM January, 1969 .A Arden, B. W. .K graduate-level programming, graduate programs, course content, course sequence, graduate curriculum, programming research topics, programming bibliography .C 1.3 1.52 4.0 .N CA690104 JB February 20, 1978 12:00 PM .X 1068 4 1945 1084 4 1945 1102 4 1945 1142 4 1945 1215 4 1945 1225 4 1945 1225 4 1945 1247 4 1945 1263 4 1945 1350 4 1945 1350 4 1945 1350 4 1945 1379 4 1945 1379 4 1945 1396 4 1945 1396 4 1945 1399 4 1945 1400 4 1945 1453 4 1945 1496 4 1945 1530 4 1945 1531 4 1945 1542 4 1945 1551 4 1945 1553 4 1945 1565 4 1945 1570 4 1945 1612 4 1945 1625 4 1945 1646 4 1945 1659 4 1945 1683 4 1945 1683 4 1945 1693 4 1945 1693 4 1945 1703 4 1945 1705 4 1945 1767 4 1945 1768 4 1945 1768 4 1945 1781 4 1945 1781 4 1945 1781 4 1945 1781 4 1945 1781 4 1945 1781 4 1945 1781 4 1945 1781 4 1945 1781 4 1945 1781 4 1945 1781 4 1945 1787 4 1945 1787 4 1945 1787 4 1945 1787 4 1945 1807 4 1945 1836 4 1945 1836 4 1945 1860 4 1945 1945 4 1945 1945 4 1945 1945 4 1945 1945 4 1945 1945 4 1945 1945 4 1945 1945 4 1945 1945 4 1945 1945 4 1945 1945 4 1945 1945 4 1945 1945 4 1945 1945 4 1945 1945 4 1945 1945 4 1945 1945 4 1945 1945 4 1945 1945 4 1945 1945 4 1945 1945 4 1945 1945 4 1945 1945 4 1945 1945 4 1945 1945 4 1945 1945 4 1945 1945 4 1945 1945 4 1945 1945 4 1945 1945 4 1945 1947 4 1945 1988 4 1945 2015 4 1945 2034 4 1945 2036 4 1945 2060 4 1945 2060 4 1945 2061 4 1945 2061 4 1945 2061 4 1945 2082 4 1945 2091 4 1945 2091 4 1945 2110 4 1945 2126 4 1945 2127 4 1945 2152 4 1945 2179 4 1945 2179 4 1945 2252 4 1945 2314 4 1945 2341 4 1945 2340 4 1945 2356 4 1945 2396 4 1945 2546 4 1945 2546 4 1945 2603 4 1945 2603 4 1945 2650 4 1945 2698 4 1945 2698 4 1945 2698 4 1945 2708 4 1945 2708 4 1945 2708 4 1945 2730 4 1945 2824 4 1945 2982 4 1945 2986 4 1945 3045 4 1945 3045 4 1945 3093 4 1945 3093 4 1945 3094 4 1945 691 4 1945 762 4 1945 949 4 1945 949 4 1945 914 5 1945 915 5 1945 917 5 1945 984 5 1945 989 5 1945 990 5 1945 1012 5 1945 1084 5 1945 1098 5 1945 1122 5 1945 1138 5 1945 1139 5 1945 1141 5 1945 1200 5 1945 1223 5 1945 1265 5 1945 1336 5 1945 1396 5 1945 1455 5 1945 1477 5 1945 1487 5 1945 1491 5 1945 1496 5 1945 1945 5 1945 1945 5 1945 1945 5 1945 483 5 1945 584 5 1945 3003 5 1945 669 5 1945 680 5 1945 763 5 1945 823 5 1945 1659 6 1945 1678 6 1945 1927 6 1945 1945 6 1945 2097 6 1945 2147 6 1945 2163 6 1945 2187 6 1945 2329 6 1945 2345 6 1945 2367 6 1945 2407 6 1945 2478 6 1945 2479 6 1945 2480 6 1945 2538 6 1945 .I 1946 .T Computing Polynomial Resultants: Bezout's Determinant vs. Collins' Reduced P.R.S. Algorithm .W Algorithms for computing the resultant of two polynomials in several variables, a key repetitive step of computation in solving systems of polynomial equations by elimination, are studied. Determining the best algorithm for computer implementation depends upon the extent to which extraneous factors are introduced, the extent of propagation of errors caused by truncation of real coefficients, memory requirements, and computing speed. Preliminary considerations narrow the choice of the best algorithm to Bezout's determinant and Collins' reduced polynomial remainder sequence (p.r.s.) algorithm. Detailed tests performed on sample problems conclusively show that Bezout's determinant is superior in all respects except for univariate polynomials, in which case Collins' reduced p.r.s. algorithm is somewhat faster. In particular Bezout's determinant proves to be strikingly superior in numerical accuracy, displaying excellent stability with regard to round-off errors. Results of tests are reported in detail. .B CACM January, 1969 .A Ku, S. Y. Adler, R. J. .K resultant algorithm, g.c.d. algorithm, polynomial resultant, elimination, Bezout's determinant, Sylvester's determinant, reduced p.r.s. algorithm, Euclidean algorithm, multivariate polynomial equations .C 4.40 5.10 5.15 5.41 .N CA690103 JB February 20, 1978 12:10 PM .X 1024 4 1946 1051 4 1946 1098 4 1946 1214 4 1946 1380 4 1946 1388 4 1946 1393 4 1946 1396 4 1946 1396 4 1946 1485 4 1946 1487 4 1946 1549 4 1946 1570 4 1946 1878 4 1946 1931 4 1946 1946 4 1946 1946 4 1946 1946 4 1946 1946 4 1946 1946 4 1946 1946 4 1946 1946 4 1946 1946 4 1946 1957 4 1946 2167 4 1946 2168 4 1946 2723 4 1946 2857 4 1946 2857 4 1946 3112 4 1946 902 5 1946 1093 5 1946 1177 5 1946 1393 5 1946 1387 5 1946 1946 5 1946 1946 5 1946 1946 5 1946 360 5 1946 731 5 1946 878 5 1946 .I 1947 .T Object code Optimization .W Methods of analyzing the control flow and data flow of programs during compilation are applied to transforming the program to improve object time efficiency. Dominance relationships, indicating which statements are necessarily executed before others, are used to do global common expression elimination and loop identification. Implementation of these and other optimizations in OS/360 FORTRAN H are described. .B CACM January, 1969 .A Lowry, E. S. Medlock, C. W. .K compilers, data flow analysis, dominance, efficiency, FORTRAN, graph theory, loop structure, machine instructions, object code, optimization, redundancy elimination, register assignment, System/360 .C 4.12 5.24 5.32 .N CA690102 JB February 20, 1978 12:15 PM .X 1139 4 1947 1613 4 1947 1625 4 1947 1781 4 1947 1807 4 1947 1807 4 1947 1945 4 1947 1947 4 1947 1947 4 1947 1947 4 1947 1947 4 1947 556 4 1947 799 4 1947 1134 5 1947 1223 5 1947 1248 5 1947 1807 5 1947 1947 5 1947 1947 5 1947 1947 5 1947 399 5 1947 2034 5 1947 2290 5 1947 2579 5 1947 2923 5 1947 2945 5 1947 984 6 1947 1223 6 1947 1231 6 1947 1248 6 1947 1535 6 1947 1551 6 1947 1565 6 1947 1807 6 1947 1807 6 1947 1852 6 1947 1926 6 1947 1947 6 1947 1947 6 1947 1947 6 1947 1947 6 1947 1947 6 1947 1947 6 1947 2704 6 1947 2870 6 1947 .I 1948 .T Computers in Group Theory: a Survey .W Computers are being applied to an increasingly diverse range of problems in group theory. The most important areas of application at present are coset enumeration, subgroup lattices, automorphism groups of finite groups, character tables, and commutator calculus. Group theory programs range from simple combinatorial or numerical programs to large symbol manipulation systems. In this survey the more important algorithms in use are described and contrasted, and results which have been obtained using existing programs are indicated. An extensive bibliography is included. .B CACM January, 1969 .A Cannon, J. J. .K group theory, coset enumeration, subgroup lattices, automorphism groups, character tables, commutator calculus, topology, crystallography, permutation groups, Abelian groups, discrete mathematics, non-numerical programming, symbol manipulation, survey .C 1.3 3.15 5.39 .N CA690101 JB February 20, 1978 1:27 PM .X 1567 4 1948 1948 4 1948 1948 4 1948 1391 5 1948 1559 5 1948 1948 5 1948 1948 5 1948 1948 5 1948 .I 1949 .T Finiteness Assumptions and Intellectual Isolation of Computer Scientists .B CACM December, 1970 .A Wagner, R. A. .K Algol vs. Fortran, finiteness assumptions, intellectual isolation, integer variable range, memory finiteness, finite word size .C 2.2 4.22 5.23 .N CA701215 JB February 9, 1978 2:38 PM .X 249 4 1949 254 4 1949 272 4 1949 1102 4 1949 1109 4 1949 1140 4 1949 1188 4 1949 1306 4 1949 1464 4 1949 1491 4 1949 1767 4 1949 1781 4 1949 1787 4 1949 1949 4 1949 1949 4 1949 321 4 1949 2059 4 1949 2126 4 1949 435 4 1949 437 4 1949 463 4 1949 483 4 1949 491 4 1949 2732 4 1949 560 4 1949 583 4 1949 3073 4 1949 627 4 1949 631 4 1949 632 4 1949 642 4 1949 644 4 1949 653 4 1949 680 4 1949 761 4 1949 762 4 1949 763 4 1949 123 4 1949 140 4 1949 919 4 1949 989 4 1949 196 5 1949 946 5 1949 1949 5 1949 1949 5 1949 1949 5 1949 .I 1950 .T Efficient Handling of Binary Data .B CACM December, 1970 .A Raduchel, W. J. .K binary variables, dummy variables, bit strings, cross-tabulations .C 4.9 .N CA701214 JB February 9, 1978 2:40 PM .X 1950 5 1950 1950 5 1950 1950 5 1950 .I 1951 .T Estimates of Distributions of Random Variables for Certain Computer Communications Traffic Models .W A study of multiaccess computer communications has characterized the distributions underlying an elementary model of the user-computer interactive process. The model used is elementary in the sense that many of the random variables that generally are of interest in computer communications studies can be decomposed into the elements of this model. Data were examined from four operational multiaccess systems, and the model is shown to be robust; that is each of the variables of the model has the same distribution independent of which of the four systems is being examined. It is shown that the gamma distribution can be used to describe the discrete variables. Approximations to the gamma distribution by the exponential distribution are discussed for the systems studied. .B CACM December 1970 .A Fuchs, E. Jackson, P. E. .K computer communications, time-sharing, operating systems, optimization models .C 3.80 3.81 6.20 .N CA701212 JB February 9, 1978 2:46 PM .X 1533 4 1951 1604 4 1951 1951 4 1951 1951 4 1951 2373 4 1951 2667 4 1951 2668 4 1951 1410 5 1951 1604 5 1951 1951 5 1951 1951 5 1951 1951 5 1951 2373 5 1951 2894 5 1951 1410 6 1951 1751 6 1951 1810 6 1951 1951 6 1951 1951 6 1951 2016 6 1951 2374 6 1951 .I 1952 .T Index by Subject to Algorithms, 1970 .B CACM December, 1970 .N CA701211 JB February 9, 1978 2:50 PM .X 1952 5 1952 1952 5 1952 1952 5 1952 .I 1953 .T Exponential Integral Ei(x) (Algorithms 385 $S13)) .B CACM December, 1970 .A Redish, K. A. .K ANSI Fortran standard .C 4.0 4.22 .N CA701210 JB February 9, 1978 3:04 PM .X 1953 5 1953 1953 5 1953 1953 5 1953 .I 1954 .T Eigenvalues and Eigenvectors of a Real Symmetric Matrix (Algorithm 384 $F2)) .B CACM December, 1970 .A Stewart, G. W. .K real symmetric matrix, eigenvalues, eigenvectors, QR algorithm .C 5.14 .N CA701209 JB February 9, 1978 3:08 PM .X 1954 5 1954 1954 5 1954 1954 5 1954 .I 1955 .T Characteristic Values and Associated Solutions of Mathieu's Differential Equation (Algorithm 352 $S22)) .B CACM December, 1970 .A Sale, A. H. J. .K Mathieu's differential equation, Mathieu function, characteristic value, periodic solution, radial solution .C 5.12 .N CA701208 JB February 9, 19783:10 PM .X 1613 4 1955 1646 4 1955 1900 4 1955 1955 4 1955 2025 4 1955 2154 4 1955 2365 4 1955 2506 4 1955 3060 4 1955 987 5 1955 1955 5 1955 1955 5 1955 1955 5 1955 2653 5 1955 2654 5 1955 1955 6 1955 1955 6 1955 .I 1956 .T Optimum Merging from Mass Storage .W An algorithm is displayed which yields the merge orders such that the total read time, defined to be the sum of seek time plus data-transfer time, is minimized for a sort using mass storage. The analysis is parameterized in terms of the ratio of seek time to the time it takes to fill available core with records, and the file size in units of core lengths; and thus it can be applied to any conventional CPU/mass storage combination. An explicit formula for total read time is derived, in terms of the parameters, which correlates very well with the total read time calculated using the optimum merge orders yielded by the algorithm. The formula involves the roots of a simple transcendental equation. A short table of these roots is included. Numerical results are graphically displayed for a wide range of the parameters. It is found that the normalized read time for optimum merging on a given hardware configuration is proportional to the file length times the logarithm of the file length. .B CACM December, 1970 .A Black, N. A. .K sorting, merging, optimum merging, mass storage, sort timing, drum-merging, access time .C 3.37 4.49 5.31 .N CA701207 JB February 9, 1978 3:18 PM .X 1956 4 1956 2017 4 1956 1956 5 1956 1956 5 1956 1956 5 1956 854 5 1956 .I 1957 .T The List Set Generator: A Construct for Evaluating Set Expressions .W The list set generator is defined and algorithms for its use are given. The list set generator is a construct which may be added to a list processing system or any system that handles sets. It efficiently generates the set which results from any expression involving sets and set operators. The efficiency derives from evaluating the expression as a whole and in parallel, rather than evaluating subexpressions and then using those sets to arrive at the final result. .B CACM December, 1970 .A Shapiro, S. C. .K set manipulating, list processing, set generation, sets, lists, file processing .C 3.73 3.74 4.22 .N CA701206 JB February 9, 1978 3:23 PM .X 1024 4 1957 1051 4 1957 1098 4 1957 1214 4 1957 1380 4 1957 1388 4 1957 1393 4 1957 1485 4 1957 1487 4 1957 1549 4 1957 1570 4 1957 1860 4 1957 1878 4 1957 1946 4 1957 1957 4 1957 1957 4 1957 1957 4 1957 2155 4 1957 2151 4 1957 2162 4 1957 2168 4 1957 2723 4 1957 2857 4 1957 3103 4 1957 3112 4 1957 3148 4 1957 1389 5 1957 1860 5 1957 1957 5 1957 1957 5 1957 1957 5 1957 731 5 1957 .I 1958 .T Improving Round-off in Runge-Kutta Computations with Gill's Method .W A Runge-Kutta-Gill scheme in common use is based on an incomplete adaptation for floating point operations of Gill's method. An improved version reduces round-off error significantly. In this note the heart of the scheme is presented in Fortran language. It is then shown how an improved version of the method can be obtained with the addition of two Fortran statements. The two version is a significant improvement. A numerical example comparing the two is included. .B CACM December, 1970 .A Thompson, R. J. .K Runge-Kutta methods, ordinary differential equations, round-off error, error analysis .C 5.11 5.17 .N CA701205 JB February 9, 1978 3:40 PM .X 1958 5 1958 1958 5 1958 1958 5 1958 .I 1959 .T An Interrupt Based Organization for Management Information Systems .W A programming structure, language constructs, and a supervisory system organization are proposed for the design and coding of large shared data base systems. The bases for this organization are a generalized interrupt structure and the newly introduced concept of "file tagging," which is the process of associating program structures and interrupt generating conditions with items in the data base. An algorithm for resolving conflicts which arise in scheduling the interrupt processing routines is presented. DPL, a programming language and supervisory system in which these concepts are implemented, is used to illustrated the new organization which is proposed for management information systems. .B CACM December, 1970 .A Morgan, H. L. .K management information systems, integrated data processing, supervisors, interrupts monitoring systems, supervisory systems, interrupt scheduling, parallel processing .C 3.51 4.22 4.32 .N CA701204 JB February 9, 1978 3:46 PM .X 1959 4 1959 1135 5 1959 1959 5 1959 1959 5 1959 1959 5 1959 2182 5 1959 2534 5 1959 830 6 1959 1787 6 1959 1959 6 1959 1959 6 1959 1973 6 1959 2111 6 1959 2182 6 1959 799 6 1959 .I 1960 .T Process Management and Resource Sharing in the Multiaccess System ESOPE .W The main design principles of the multiaccess system ESOPE are described. Emphasis is placed on basic ideas underlying the design rather than on implementation details. The main features of the system include the ability given to any user to schedule his own parallel processes using system primitive operations, the file-memory relationship, and the allocation-scheduling policy, which dynamically takes into account recent information about user behavior. .B CACM December, 1970 .A Betourne, C. Boulenger, J. Ferrie, J. Kaiser, C. Krakowiak, S. Mossiere, J. .K time-sharing, multiprogramming, process scheduling, resource allocation .C 4.32 .N CA701203 JB February 9, 1978 4:02 PM .X 1458 4 1960 1523 4 1960 1603 4 1960 1698 4 1960 1747 4 1960 1748 4 1960 1828 4 1960 1854 4 1960 1854 4 1960 1877 4 1960 1877 4 1960 1960 4 1960 1960 4 1960 1960 4 1960 2150 4 1960 2317 4 1960 2319 4 1960 2377 4 1960 2377 4 1960 2378 4 1960 2342 4 1960 2376 4 1960 2379 4 1960 2424 4 1960 2482 4 1960 2497 4 1960 2558 4 1960 2618 4 1960 2625 4 1960 2632 4 1960 2632 4 1960 2704 4 1960 2723 4 1960 2738 4 1960 2740 4 1960 2741 4 1960 2840 4 1960 2867 4 1960 2941 4 1960 3105 4 1960 3144 4 1960 3184 4 1960 1471 5 1960 1749 5 1960 1854 5 1960 1960 5 1960 1960 5 1960 1960 5 1960 2376 5 1960 1198 6 1960 1749 6 1960 1960 6 1960 .I 1961 .T An Efficient Search Algorithm to Find the Elementary Circuits of a Graph .W A theoretically most efficient search algorithm is presented which uses an exhaustive search to find all of the elementary circuits of a graph. The algorithm can be easily modified to find all of the elementary circuits with a particular attribute such as length. A rigorous proof of the algorithm is given as well as an example of its application. Empirical bounds are presented relating the speed of the algorithm to the number of vertices and the number of arcs. The speed is also related to the number of circuits in the graph to give a relation between speed and complexity. Extensions to undirected and s-graphs are discussed. .B CACM December, 1970 .A Tiernan, J. C. .K algorithm, graph theory, circuit search algorithm, path search algorithm, searching .C 3.74 5.32 .N CA701202 JB February 9, 1978 4:12 PM .X 1847 4 1961 1961 4 1961 1961 4 1961 1961 4 1961 2052 4 1961 2177 4 1961 2763 4 1961 1369 5 1961 1504 5 1961 1847 5 1961 1961 5 1961 1961 5 1961 1961 5 1961 2430 5 1961 1961 6 1961 .I 1962 .T GROOVE-A Program to Compose, Store, and Edit Functions of Time .W A program which makes possible creating, storing, reproducing, and editing functions of time is described. The functions are typical of those generated by human beings. Multiple functions (up to 14) are produced for long periods of time (up to several hours) at sufficiently high sampling rates to describe fast human reactions (up to 200 samples per second). The functions can be used for a variety of purposes such as the control of machine tools or sound synthesizers or anything a person normally controls. The program operates on a small computer (DDP-224). Functions are stored on a disk file. Functions may be created by real-time human inputs to the computer which can interact with already stored functions and computed functions. Real-time feedback from the process being controlled is an important link in the system. The environment for effective man-machine interaction has been carefully nurtured. .B CACM December, 1970 .A Mathews, M. V. Moore, F. R. .K computer music, music, real-time control, digital control, time functions, interactive software, hybrid systems, conductor program .C 3.44 3.8 7.3 .N CA701201 JB February 9, 1978 4:19 PM .X 1962 5 1962 1962 5 1962 1962 5 1962 .I 1963 .T Condition Numbers of PEI Matrices .B CACM November, 1970 .A Rokne, J. .K matrices, condition numbers, Pei matrices, eigenvectors, eigenvalues .C 5.14 .N CA701116 JB February 9, 1978 4:21 PM .X 1963 4 1963 1963 4 1963 1963 4 1963 909 5 1963 1963 5 1963 1963 5 1963 1963 5 1963 475 5 1963 750 5 1963 .I 1964 .T Comment on the Working Set Model for Program Behavior .B CACM November, 1970 .A Bernstein, A. .K demand paging, working set, paging rate, multiprogramming .C 4.30 4.32 .N CA701115 JB February 9, 1978 4:23 PM .X 1964 5 1964 1964 5 1964 1964 5 1964 .I 1965 .T Correction to "Logical" Arithmetic on Computers with Two's Complement Binary Arithmetic .B CACM November, 1970 .A Ehrman, J. R. .K binary arithmetic, unsigned operand arithmetic, maximum significance arithmetic, full-precision arithmetic .C 3.15 5.11 .N CA701114 JB February 9, 1978 4:25 PM .X 1965 4 1965 2200 4 1965 1718 5 1965 1965 5 1965 1965 5 1965 1965 5 1965 .I 1966 .T A Generalized Method for Generating Argument/Function Values .B CACM November, 1970 .A Wilson, W. J. .K mapping function, decision hierarchy, table look-up .C 4.9 5.39 .N CA701113 JB February 9, 1978 4:26 PM .X 1966 5 1966 1966 5 1966 1966 5 1966 .I 1967 .T An Improved Algorithm to Produce Complex Primes (Algorithm 401 $A1)) .B CACM November, 1970 .A Bratley, P. .K number theory, prime numbers, complex numbers .C 5.39 .N CA701112 JB February 9, 1978 4:28 PM .X 1841 4 1967 1967 4 1967 1967 4 1967 2120 4 1967 2927 4 1967 1539 5 1967 1967 5 1967 1967 5 1967 1967 5 1967 2120 5 1967 .I 1968 .T Eigenvalues and Eigenvectors of a Real General Matrix (Algorithm 343 $F1)) .B CACM November, 1970 .A Knight, W. Mersereau, W. .K eigenvalues, eigenvectors, latent roots, Householder's method, QR algorithm, inverse iteration .C 5.14 .N CA701111 JB February 9, 1978 4:30 PM .X 1968 4 1968 1968 4 1968 2099 4 1968 2335 4 1968 1662 5 1968 1968 5 1968 1968 5 1968 1968 5 1968 2099 5 1968 .I 1969 .T Increasing the Efficiency of Quicksort (Algorithm 402 $M1)) .B CACM November, 1970 .A Van Emden, M. H. .K sorting, quicksort .C 5.31 3.73 5.6 4.49 .N CA701110 JB February 9, 1978 4:32 PM .X 1175 4 1969 1919 4 1969 1919 4 1969 1969 4 1969 1969 4 1969 1997 4 1969 2118 4 1969 2191 4 1969 2388 4 1969 2348 4 1969 2679 4 1969 2679 4 1969 3054 4 1969 3054 4 1969 3121 4 1969 1175 5 1969 1969 5 1969 1969 5 1969 1969 5 1969 1997 5 1969 308 5 1969 2216 5 1969 2679 5 1969 3054 5 1969 864 6 1969 970 6 1969 1175 6 1969 1175 6 1969 1190 6 1969 1228 6 1969 1880 6 1969 1919 6 1969 1919 6 1969 1969 6 1969 1969 6 1969 1969 6 1969 1969 6 1969 1980 6 1969 1997 6 1969 1997 6 1969 1997 6 1969 307 6 1969 308 6 1969 308 6 1969 308 6 1969 309 6 1969 2017 6 1969 2042 6 1969 2679 6 1969 3187 6 1969 507 6 1969 716 6 1969 776 6 1969 783 6 1969 .I 1970 .T Unrecorded Magnetic Tape for Information Interchange (9 Track-200 and 800 CPI, NRZI and 1600 CPI, PE)* (Proposed American National Standard) .B CACM November, 1970 .K input-output, magnetic tape, information interchange, measurement, instrumentation, phase encoded recording .C 2.49 6.35 .N CA701108 JB February 9, 1978 4:42 PM .X 1970 5 1970 1970 5 1970 1970 5 1970 .I 1971 .T Recorded Magnetic Tape for Information Interchange (1600 CPI, Phase Encoded)* (Proposed American National Standard) .B CACM November, 1970 .K input-output, magnetic tape, information interchange, measurement, instrumentation, phase encoded recording .C 2.49 6.35 .N CA701107 JB February 9, 1978 4:49 PM .X 1971 5 1971 1971 5 1971 1971 5 1971 .I 1972 .T A Nonrecursive List Compacting Algorithm .W A simple nonrecursive list structure compacting scheme or garbage collector suitable for both compact and LISP-like list structures is presented. The algorithm avoids the need for recursion by using the partial structure as it is built up to keep track of those lists that have been copied. .B CACM November, 1970 .A Cheney, C. J. .K list compacting, garbage collection, compact list, LISP .C 4.19 4.49 .N CA701106 JB February 9, 1978 4:54 PM .X 1972 4 1972 1972 4 1972 2156 4 1972 2168 4 1972 2249 4 1972 2438 4 1972 2723 4 1972 2736 4 1972 2736 4 1972 2833 4 1972 2855 4 1972 3074 4 1972 3074 4 1972 3112 4 1972 1826 5 1972 1853 5 1972 1972 5 1972 1972 5 1972 1972 5 1972 2156 5 1972 2361 5 1972 2513 5 1972 2736 5 1972 2855 5 1972 3074 5 1972 3106 5 1972 3112 5 1972 106 6 1972 1380 6 1972 1549 6 1972 1549 6 1972 1549 6 1972 1626 6 1972 1626 6 1972 1826 6 1972 1826 6 1972 1826 6 1972 1826 6 1972 1826 6 1972 210 6 1972 210 6 1972 1853 6 1972 1853 6 1972 1972 6 1972 1972 6 1972 1972 6 1972 1972 6 1972 1972 6 1972 1972 6 1972 1972 6 1972 1972 6 1972 2438 6 1972 2513 6 1972 2665 6 1972 2723 6 1972 2723 6 1972 2736 6 1972 2766 6 1972 2766 6 1972 2833 6 1972 2833 6 1972 2838 6 1972 2855 6 1972 2954 6 1972 2998 6 1972 2998 6 1972 731 6 1972 .I 1973 .T The Linear Quotient Hash Code .W A new method of hash coding is presented and is shown to possess desirable attributes. Specifically, the algorithm is simple, efficient, and exhaustive, while needing little time per probe and using few probes per lookup. Performance data and implementation hints are also given. .B CACM November, 1970 .A Bell, J. R. Kaman, C. H. .K hashing, hash code, scatter storage, calculated address, search, table, lookup, symbol table, keys .C 3.74 4.9 .N CA701105 JB February 10, 1978 8:33 AM .X 1676 4 1973 1682 4 1973 1728 4 1973 1860 4 1973 1860 4 1973 1973 4 1973 1973 4 1973 1973 4 1973 1973 4 1973 1992 4 1973 1992 4 1973 2018 4 1973 2018 4 1973 2018 4 1973 2032 4 1973 2033 4 1973 2033 4 1973 2107 4 1973 2107 4 1973 2109 4 1973 2109 4 1973 2138 4 1973 2203 4 1973 2203 4 1973 2203 4 1973 2203 4 1973 2251 4 1973 2251 4 1973 2251 4 1973 2251 4 1973 2359 4 1973 2524 4 1973 2530 4 1973 2537 4 1973 2543 4 1973 2543 4 1973 2543 4 1973 2543 4 1973 2552 4 1973 2559 4 1973 2559 4 1973 2573 4 1973 2573 4 1973 2770 4 1973 2770 4 1973 2974 4 1973 2991 4 1973 2991 4 1973 3053 4 1973 3053 4 1973 3053 4 1973 3083 4 1973 1785 5 1973 1786 5 1973 1973 5 1973 1973 5 1973 1973 5 1973 2107 5 1973 2109 5 1973 2251 5 1973 2534 5 1973 2543 5 1973 2559 5 1973 2770 5 1973 3053 5 1973 3083 5 1973 830 6 1973 1328 6 1973 1329 6 1973 1785 6 1973 1785 6 1973 1785 6 1973 1785 6 1973 1786 6 1973 1786 6 1973 1786 6 1973 1787 6 1973 1869 6 1973 1959 6 1973 1973 6 1973 1973 6 1973 1973 6 1973 1973 6 1973 1973 6 1973 1973 6 1973 1973 6 1973 1992 6 1973 1992 6 1973 332 6 1973 2018 6 1973 2018 6 1973 2107 6 1973 2107 6 1973 2107 6 1973 2107 6 1973 2107 6 1973 2109 6 1973 2109 6 1973 2109 6 1973 2109 6 1973 2111 6 1973 2182 6 1973 2412 6 1973 2543 6 1973 2543 6 1973 2552 6 1973 2673 6 1973 2673 6 1973 2707 6 1973 2770 6 1973 799 6 1973 .I 1974 .T NEATER2: A PL/I Source Statement Reformatter .W NEATER2 accepts a PL/I source program and operates on it to produce a reformatted version. When in the LOGICAL mode, NEATER2 indicates the logical structure of the source program in the indentation pattern of its output. Logic errors discovered through NEATER2 logical analysis are discovered much more economically than is possible through compilation and trial runs. A number of options are available to give the user full control over the output format and to maximize the utility of NEATER2 as an aid during the early stages of development of a PL/I source deck. One option, USAGE, causes NEATER2 to insert into each logical unit of coding a statement which will case the number of times each one is executed to be recorded during execution. This feature is expected to provide a major aid in optimization of PL/I programs. .B CACM November, 1970 .A Conrow, K. Smith, R. G. .K logical analysis of PL/I source, reformatting of PL/I source, documentation aid, execution time usage data .C 1.52 4.12 4.19 4.42 .N CA701104 JB February 10, 1978 8:40 AM .X 1974 5 1974 1974 5 1974 1974 5 1974 2971 5 1974 1835 6 1974 1974 6 1974 2534 6 1974 .I 1975 .T A Multiple-Precision Division Algorithm .W A generalized division algorithm for use with positive integral operands is presented. Depending upon the algebraic relationship of the first two ciphers of the divisor, one or at most two adjustments to the original divisor and dividend must be performed before the division operation can be initiated. The uniqueness of this method will cause each trial cipher in the quotient to be either equal to or one greater than its final replacement. .B CACM November, 1970 .A Mifsud, C. J. .K multiple-precision, division, adjustment, generalize .C 3.15 4.0 5.1 .N CA701103 JB February 10, 1978 8:45 AM .X 1258 4 1975 1292 4 1975 1497 4 1975 1497 4 1975 1593 4 1975 1975 4 1975 1975 4 1975 1975 4 1975 2605 4 1975 1026 5 1975 1292 5 1975 1497 5 1975 1975 5 1975 1975 5 1975 1975 5 1975 2432 5 1975 1975 6 1975 .I 1976 .T Multi-attribute Retrieval with Combined Indexes .W In this paper a file organization scheme designed to replace the use of the popular secondary index filing scheme (or inverted files on secondary key fields) is described. Through the use of redundancy and storing keys (or access numbers of the records) that satisfy different combinations of secondary index values in "buckets," it is possible to retrieve all keys satisfying any input query derived from a subset of fields by a single access to an index file, although each bucket may be used for many combinations of values and a combination of buckets may be required for a given query. The method which, in its degenerate case, becomes the conventional secondary index filing scheme works similarly but has the following advantages: (1) the elimination of multiple accesses in many cases; (2) the elimination of false drops; (3) the elimination of computer time to perform intersection of key sets each qualified for one secondary index field only; and (4) the avoidance of long strings of keys when an index field appearing in a query has very few possible values. Redundancy, in some cases, is the same as the secondary indexing method. In the general case, trade-off between the number of accesses for query and redundancy exists. .B CACM November, 1970 .A Lum, V. Y. .K file organization, secondary index files, inverted files, information retrieval, data management, access method, secondary keys, storage with buckets, rapid retrieval, balanced filing scheme, elimination of false drops, combining indexes, query, multi-attribute retrieval .C 3.73 3.74 3.79 .N CA701102 JB February 10, 1978 9:00 AM .X 1976 4 1976 1271 5 1976 1976 5 1976 1976 5 1976 1976 5 1976 2140 5 1976 2452 5 1976 2765 5 1976 2901 5 1976 3134 5 1976 849 6 1976 1936 6 1976 1936 6 1976 1976 6 1976 1976 6 1976 1976 6 1976 1976 6 1976 1976 6 1976 2046 6 1976 2046 6 1976 2160 6 1976 2198 6 1976 2451 6 1976 2452 6 1976 2524 6 1976 2715 6 1976 2990 6 1976 616 6 1976 .I 1977 .T An Interactive Display for Approximation by Linear Programming .W An interactive program with a graphical display has been developed for the approximation of data by means of a linear combination of functions (including splines) selected by the user. The coefficients of the approximation are determined by linear programming so as to minimize the error in either the L1 or L-infinity norm. Auxiliary conditions such as monotonicity or convexity of the approximation can also be imposed. This interactive system is described and several examples of its use are given. .B CACM November, 1970 .A LaFata, P. Rosen, J. B. .K approximation, data fitting, functional approximation, linear programming, interactive graphical display, spline functions .C 5.13 5.41 .N CA701101 JB February 10, 1978 9:06 AM .X 1977 5 1977 1977 5 1977 1977 5 1977 2604 5 1977 1977 6 1977 .I 1978 .T The Use of Interactive Graphics To Solve Numerical Problems .W With the advent of on-line (time-sharing) computer systems and graphic terminals, we have available a new dimension in numerical problem solving capabilities. Rather than simply use the new power to achieve fast turnaround, we can develop interactive routines which are easy to use and also take advantage of the insight and visual capabilities of the human problem solver. Several on-line systems for general purpose mathematical problem solving have already been implemented as well as some special purpose systems for solving problems in a particular area such as ordinary differential equations. The advantage of restricting the problem area is that the interface with a user can be greatly simplified. In this paper we discuss some of the advantages accrued by such systems and design considerations for interactive routines. Furthermore, an implementation of an on-line least squares data-fitting program, PEG, is presented with results obtained from empirical data. In conclusion, area for future work in this field are discussed. .B CACM October, 1970 .A Smith, L. B. .K interactive graphics, computer graphics, graphics, least squares, data-fitting, interactive computing, on-line mathematics .C 1.3 3.1 5.13 5.5 .N CA701012 JB February 10, 1978 9:14 AM .X 1978 4 1978 1978 4 1978 1978 4 1978 1307 5 1978 1589 5 1978 1813 5 1978 1978 5 1978 1978 5 1978 1978 5 1978 .I 1979 .T Numerical Inversion of Laplace Transforms (Algorithm 368 $D5)) .B CACM October, 1970 .A Stehfest, H. .K Laplace transform inversion, integral transformations, integral equations .C 5.15 5.18 .N CA701011 JB February 10, 1978 9:16 AM .X 1979 5 1979 1979 5 1979 1979 5 1979 .I 1980 .T An Efficient Algorithm for Sorting with Minimal Storage (Algorithm 347 $M1)) .B CACM October, 1970 .A Peto, R. .K sorting, ranking, minimal storage sorting, digital computer sorting .C 5.31 .N CA701010 JB February 10, 1978 9:19 AM .X 1980 5 1980 1980 5 1980 1980 5 1980 3054 5 1980 1175 6 1980 1880 6 1980 1919 6 1980 1969 6 1980 1980 6 1980 1997 6 1980 307 6 1980 308 6 1980 309 6 1980 2017 6 1980 2679 6 1980 776 6 1980 .I 1981 .T Normal Curve Integral (Algorithm 304 $S15)) .B CACM October, 1970 .A Holmgren, B. .K normal curve integral, probability, special functions .C 5.12 5.5 .N CA701009 JB February 10, 1978 9:20 AM .X 1981 5 1981 1981 5 1981 1981 5 1981 .I 1982 .T Modified Havie Integration (Algorithm 400 $D1)) .B CACM October, 1970 .A Wallick, G. C. .K numerical integration, Havie integration, Romberg quadrature, modified Romberg-quadrature, trapezoid values, rectangle values .C 5.16 .N CA701008 JB February 10, 1978 9:22 AM .X 205 4 1982 210 4 1982 214 4 1982 1352 4 1982 1352 4 1982 1982 4 1982 1982 4 1982 1982 4 1982 1982 4 1982 398 4 1982 2040 4 1982 2040 4 1982 2355 4 1982 642 4 1982 669 4 1982 100 4 1982 123 4 1982 164 4 1982 1 5 1982 1273 5 1982 1883 5 1982 1982 5 1982 1982 5 1982 1982 5 1982 324 5 1982 2415 5 1982 1040 6 1982 1982 6 1982 2074 6 1982 .I 1983 .T Spanning Tree $H) (Algorithm 399) .B CACM October, 1970 .A Seppanen, J. J. .K graph, tree, spanning tree .C 5.32 .N CA701007 JB February 10, 1978 9:24 AM .X 1983 5 1983 1983 5 1983 1983 5 1983 .I 1984 .T Tableless Date Conversion $Z) (Algorithm 398) .B CACM October, 1970 .A Stone, R. A. .K date, calendar .C 5.9 .N CA701006 JB February 10, 1978 9:25 AM .X 1984 5 1984 1984 5 1984 1984 5 1984 .I 1985 .T An Integer Programming Problem $H) (Algorithm 397) .B CACM October, 1970 .A Chang, S. K. Gill, A. .K integer programming, change making problem .C 5.41 .N CA701005 JB February 10, 1978 9:28 AM .X 1985 5 1985 1985 5 1985 1985 5 1985 .I 1986 .T Student's t-Quantiles $S14) (Algorithm 396) .B CACM October, 1970 .A Hill, G. W. .K Student's t-statistic, quantile, asymptotic approximation .C 5.12 5.5 .N CA701004 JB February 10, 1978 9:29 AM .X 1986 4 1986 2315 4 1986 1986 5 1986 1986 5 1986 1986 5 1986 1987 5 1986 .I 1987 .T Student's t-Distribution $S14) (Algorithm 395) .B CACM October, 1970 .A Hill, G. W. .K Student's t-statistic, distribution function, approximation, asymptotic expansion .C 5.12 5.5 .N CA701003 JB February 10, 1978 9:31 AM .X 1157 4 1987 1779 4 1987 1920 4 1987 1944 4 1987 1944 4 1987 1987 4 1987 1987 4 1987 1987 4 1987 1987 4 1987 1987 4 1987 2427 4 1987 2548 4 1987 1561 5 1987 1581 5 1987 1779 5 1987 1944 5 1987 1986 5 1987 1987 5 1987 1987 5 1987 1987 5 1987 2315 5 1987 714 5 1987 1348 6 1987 1834 6 1987 1987 6 1987 1987 6 1987 728 6 1987 .I 1988 .T A Formalism for Translator Interactions .W A formalism is presented for describing the actions of processors for programming languages-compilers, interpreters, assemblers-and their interactions in complex systems such as compiler-compilers or extendible languages. The formalism here might be used to define and answer such a question as "Can one do bootstrapping using a meta-compiler whose metaphase is interpretive?" In addition an algorithm is presented for deciding whether or not a given system can be produced from a given set of component processors. .B CACM October, 1970 .A Earley, J. .K translator, compiler, interpreter, bootstrapping, language processor, compiler-compiler .C 4.1 5.29 .N CA701002 JB February 10, 1978 9:36 AM .X 1159 4 1988 1396 4 1988 1767 4 1988 1781 4 1988 1781 4 1988 1781 4 1988 1787 4 1988 1860 4 1988 1945 4 1988 1988 4 1988 1988 4 1988 1988 4 1988 1988 4 1988 381 4 1988 2252 4 1988 1496 5 1988 1988 5 1988 1988 5 1988 1988 5 1988 381 5 1988 11 5 1988 14 5 1988 .I 1989 .T Transition Network Grammars for Natural Language Analysis .W The use of augmented transition network grammars for the analysis of natural language sentences is described. Structure-building actions associated with the arcs of the grammar network allow for the reordering, restructuring, and copying of constituents necessary to produce deep-structure representations of the type normally obtained from a transformational analysis, and conditions on the arcs allow for a powerful selectivity which can rule out meaningless analyses and take advantage of semantic information to guide the parsing. The advantage of this model for natural language analysis are discussed in detail and illustrated by examples. An implementation of an experimental parsing system for transition network grammars is briefly described. .B CACM October, 1970 .A Woods, W. A. .K computational linguistics, grammars, grammar models, linguistics, natural language analysis, parsing, semantic interpretation, transition network grammars, transformational grammars .C 3.42 4.12 .N CA701001 JB February 10, 1978 9:43 AM .X 1323 4 1989 1358 4 1989 1380 4 1989 1665 4 1989 1781 4 1989 1787 4 1989 1989 4 1989 1989 4 1989 2060 4 1989 2112 4 1989 2179 4 1989 2534 4 1989 2541 4 1989 2698 4 1989 2698 4 1989 2733 4 1989 2820 4 1989 2921 4 1989 3073 4 1989 3155 4 1989 3154 4 1989 1989 5 1989 1989 5 1989 1989 5 1989 2110 5 1989 2581 5 1989 2739 5 1989 2795 5 1989 2921 5 1989 3087 5 1989 799 5 1989 1928 6 1989 1989 6 1989 1989 6 1989 1989 6 1989 1989 6 1989 1989 6 1989 2046 6 1989 2110 6 1989 2274 6 1989 .I 1990 .T Numerical Constants (Algorithm) .B CACM September, 1970 .A Dunham, C. B. .K numerical algorithm, numerical constants .C 5.10 .N CA700915 JB February 10, 1978 9:48 AM .X 1990 5 1990 1990 5 1990 1990 5 1990 .I 1991 .T On the Number of Automorphisms of a Singly Generated Automaton .B CACM September, 1970 .A Bavel, Z. .K automata, finite automata, singly generated automata, automorphisms, generators, length of state, minimal-length generators, orbit .C 5.22 .N CA700914 JB February 10, 1978 9:54 AM .X 1991 5 1991 1991 5 1991 1991 5 1991 .I 1992 .T Comment on Bell's Quadratic Quotient Method for Hash Code Searching .B CACM September, 1970 .A Lamport, L. .K hashing, hash code, scatter storage, calculated address, clustering, search, symbol table, keys, table look-up .C 3.74 4.9 .N CA700913 JB February 10, 1978 9:56 AM .X 1860 4 1992 1973 4 1992 1973 4 1992 1992 4 1992 1992 4 1992 2018 4 1992 2033 4 1992 2107 4 1992 2109 4 1992 2138 4 1992 2203 4 1992 2203 4 1992 2251 4 1992 2251 4 1992 2530 4 1992 2537 4 1992 2543 4 1992 2543 4 1992 2559 4 1992 2573 4 1992 2573 4 1992 2770 4 1992 2991 4 1992 3053 4 1992 3083 4 1992 1786 5 1992 1992 5 1992 1992 5 1992 1992 5 1992 2107 5 1992 2770 5 1992 3053 5 1992 1329 6 1992 1785 6 1992 1786 6 1992 1869 6 1992 1973 6 1992 1973 6 1992 1992 6 1992 1992 6 1992 2018 6 1992 2107 6 1992 2109 6 1992 2109 6 1992 2412 6 1992 2543 6 1992 2673 6 1992 2673 6 1992 2707 6 1992 2770 6 1992 .I 1993 .T Regular Coulomb Wave Functions (Algorithm 292 $S22)) .B CACM September, 1970 .A Cody, W. J. Paciorek, K. A. .K Coulomb wave functions, wave functions, regular Coulomb wave functions .C 5.12 .N CA700912 JB February 10, 1978 10:03 AM .X 1993 5 1993 1993 5 1993 1993 5 1993 .I 1994 .T Decision Table Translation $H) (Algorithm 394) .B CACM September, 1970 .A Dial, R. B. .K Decision table, decision table translation .C 4.19 .N CA700911 JB February 10, 1978 10:05 AM .X 1354 4 1994 1488 4 1994 1994 4 1994 2053 4 1994 2220 4 1994 2273 4 1994 1237 5 1994 1994 5 1994 1994 5 1994 1994 5 1994 .I 1995 .T Special Series Summation with Arbitrary Precision $C6) (Algorithm 393) .B CACM September, 1970 .A Abdali, S. K. .K function evaluation, series summation, approximation .C 5.12 5.13 .N CA700910 JB February 10, 1978 10:06 AM .X 1995 5 1995 1995 5 1995 1995 5 1995 .I 1996 .T Systems of Hyperbolic PDE $D3) (Algorithm 392) .B CACM September, 1970 .A Smith, R. R. McCall, D. .K hyperbolic p.d.e., characteristic, extrapolation, second order p.d.e., quasilinear p. d. e. .C 5.17 .N CA700909 JB February 10, 1978 10:08 AM .X 1996 5 1996 1996 5 1996 1996 5 1996 .I 1997 .T Increasing the Efficiency of Quicksort .W A method is presented for the analysis of various generalizations of quicksort. The average asymptotic number of comparisons needed is shown to be an log^2(n). A formula is derived expressing a in terms of the probability distribution of the "bound" of a partition. This formula assumes a particularly simple form for a generalization already considered by Hoare, namely, choice of the bound as median of a random sample. The main contribution of this paper is another generalization of quicksort, which uses a bounding interval instead of a single element as bound. This generalization turns out to be easy to implement in a computer program. A numerical approximation shows that a = 1.140 for this version of quicksort compared with 1.386 for the original. This implies a decrease in number of comparisons of 18 percent; actual tests showed about 15 percent saving in computing time. .B CACM September, 1970 .A van Emden, M. H. .K sorting, quicksort, information content, entropy, distribution of median .C 3.73 4.49 5.31 5.6 .N CA700908 JB February 10, 1978 10:15 AM .X 1175 4 1997 1919 4 1997 1969 4 1997 1997 4 1997 1997 4 1997 2191 4 1997 2216 4 1997 2388 4 1997 2679 4 1997 2679 4 1997 3054 4 1997 3054 4 1997 3121 4 1997 1969 5 1997 1997 5 1997 1997 5 1997 1997 5 1997 308 5 1997 2216 5 1997 2679 5 1997 3054 5 1997 864 6 1997 970 6 1997 1175 6 1997 1175 6 1997 1190 6 1997 1228 6 1997 1880 6 1997 1919 6 1997 1919 6 1997 1969 6 1997 1969 6 1997 1969 6 1997 1980 6 1997 1997 6 1997 1997 6 1997 1997 6 1997 307 6 1997 308 6 1997 308 6 1997 309 6 1997 2017 6 1997 2042 6 1997 2679 6 1997 3187 6 1997 507 6 1997 716 6 1997 776 6 1997 783 6 1997 .I 1998 .T Complex Matrix Inversion Versus Real .W A comparison of complex matrix with real matrix inversion is made. It is shown that the complex inversion can be up to twice as fast as the real inversion. Further, the rounding error bound for complex inversion is about one-eighth that of real, for Gaussian elimination. Using extended inner product accumulation the bound is half of the real system. .B CACM September, 1970 .A Ehrlich, L. W. .K complex matrix inversion, matrix inversion, inversion, rounding errors, rounding error bound, error bounds, complex rounding error bounds .C 5.14 5.11 5.10 .N CA700907 JB February 10, 1978 10:19 AM .X 1998 5 1998 1998 5 1998 1998 5 1998 .I 1999 .T Optimal Starting Approximations for Generating Square Root for Slow or No Divide .W On machine with slow or no division, it is preferable to use an iterative scheme for the square root different from the classical Heron scheme. The problem of optimal initial approximants is considered, and some optimal polynomial initial approximations are tabulated. .B CACM September, 1970 .A Wilson, M. W. .K square root, Newton-Raphson iteration, optimal approximants .C 5.13 .N CA700906 JB February 10, 1978 1:33 PM .X 1832 4 1999 1999 4 1999 2159 4 1999 1932 5 1999 1999 5 1999 1999 5 1999 1999 5 1999 .I 2000 .T A Variation of the Goodman-Lance Method for the Solution of Two-Point Boundary Value Problems .W A recently published method for the interpolative solution of nonlinear equations is improved, and applied to give a significant variation of the Goodman-Lance method for the solution of two-point boundary value problems. The resulting method applies in particular to the numerical solution of optimal control problems in the Euler-Lagrange formulation. Quantitative estimates are presented which indicate that the variation is nearly twice as fast on some problems in the latter context. .B CACM September, 1970 .A Kimble, G. W. .K Goodman-Lance, boundary-value problems, Newton's method, nonlinear equations, optimal control, optimization, ordinary differential equations, secant method, interpolative solution, orthogonal matrices .C 3.21 5.15 5.17 .N CA700905 JB February 10, 1978 1:39 PM .X 2000 5 2000 2000 5 2000 2000 5 2000 .I 2001 .T Integrating Square Roots .W Differential equation of the (y')^2 = f(y) are difficult to integrate numerically because of the singularity at points where f(y) vanishes. A simple trick removes the singularity. .B CACM September, 1970 .A Moler, C. B. Solomon, L. P. .K quadrature, differential equations .C 5.16 5.17 .N CA700904 JB February 10, 1978 1:42 PM .X 2001 5 2001 2001 5 2001 2001 5 2001 .I 2002 .T AMESPLOT-A Higher Level Data Plotting Software System .W AMESPLOT is an extensible software system designed to make the display of data as simple, painless, and neat as possible. The system described is hardware-independent and has been implemented on a variety of installations, of different manufacturers, having diverse configurations. The elements common to all types of data plots are outlined and the way in which these elements may be combined into a system based on simple modules is demonstrated. These modules are specified independently and are independent of the axis systems or other attributes of the plot. This enables plots of any complexity to be constructed by adding or replacing modules. The basic syntax of AMESPLOT is outlined, and a brief description is given of its current utility software, consisting of "macros" to produce self-scaled plots, formal tablets of text-interspersed with subplots, map coastlines, and 3-D plots. The system was formulate d in a way such that the user could supply the minimum of information, and it should be fully integrable with user's program written in most conventional higher languages. The functions of positioning, locating, and scaling (in the layout of multiple subplots) of axes, labels, and all other elements of the plot are handled automatically by the software system unless the user specifies otherwise. The structuring of plots from multiple, independent, self-contained subplots is described. Transformation, projection, scaling, rotation, or shifting of entire plots or subplots by the action of one or more simple modules is possible. The user may interact freely with AMESPLOT at three levels, enabling him to construct his own data markers, alphabetic characters, and transformations, and to produce a variety of artistic and other effects. .B CACM September, 1970 .A Hirschsoln, I. .K computer graphics, data potting, data display syntax, hardware independent software, display device independent software, plot elements, self-scaled plots, user interaction, tablet organization, map display, projection .C 4.13 4.29 4.49 4.9 .N CA700903 JB February 10, 1978 2:08 PM .X 2003 4 2002 2002 4 2002 2002 4 2002 2152 4 2002 1767 5 2002 1937 5 2002 2002 5 2002 2002 5 2002 2002 5 2002 .I 2003 .T An Interactive Software System for Computers-Aided Design: An Application to Circuit Project .W The characteristics of an interactive software system, intended to constitute an interface between designer and computer during various steps of the design process, are presented. The main emphasis is given to the description of the features of the two high level user oriented languages, operating at different levels, on which the interaction is based. The first one is IMOL, an interactive monitor language, which is designed to perform the overall and control functions of the software system; its design criteria provide the user with commands which are both simple and efficient in order to perform all the functions needed in computer-aided circuit design. The second one is COIF, a circuit oriented graphic language, which is designed to describe, generate, and manipulate graphic problem specifications; it is an extension of Fortran with graphic-type variables, so that the designer who is familiar with Fortran need not learn a new language. The application to computer-aided circuit design is in particular examined; on the other hand, the adopted design criteria provide sufficient generality to extend the use of the two languages to different computer-assisted applications. .B CACM September, 1970 .A Bracchi, G. Somalvico, M. .K interaction, graphics, computer graphics, computer-aided design, circuit design, software system, software organization, language, monitor language, graphic language, extended Fortran .C 3.24 3.25 4.13 4.22 4.3 .N CA700902 JB February 10, 1978 2:20 PM .X 1853 4 2003 2003 4 2003 2003 4 2003 2003 4 2003 2002 4 2003 2152 4 2003 1710 5 2003 1767 5 2003 2003 5 2003 2003 5 2003 2003 5 2003 2105 5 2003 2230 5 2003 2003 6 2003 .I 2004 .T A Procedure for Generation of Three-dimensional Half-toned Computer Graphics Presentations .W A description is given of an algorithm for producing computer generated half-tone presentations of three-dimensional polygonal surface structures. This algorithm achieves a significant increase in speed of computation over the Warnock algorithm developed at the University of Utah and implemented also on the Coordinated Science Laboratory CDC 1604 computer system at the University of Illinois. The history leading to the algorithm development and then the algorithm itself are described. Results are presented and are compared with computer runs achieved by the Warnock approach. An extension of the procedure to variable position illumination sources is also given. .B CACM September, 1970 .A Bouknight, W. J. .K half-tone computer graphics, line-scan image processing, hidden surface, polygonal surface structure presentations .C 4.9 .N CA700901 JB February 10, 1978 2:27 PM .X 2004 4 2004 2004 4 2004 2687 4 2004 2692 4 2004 1686 5 2004 1915 5 2004 2004 5 2004 2004 5 2004 2004 5 2004 2674 5 2004 2687 5 2004 2828 5 2004 1741 6 2004 1741 6 2004 1751 6 2004 1915 6 2004 2004 6 2004 2004 6 2004 2004 6 2004 2421 6 2004 2687 6 2004 2751 6 2004 2841 6 2004 .I 2005 .T Proposed Revision of American National Standard X3.21-1967, "Rectangular Holes in Twelve-Row Punched Cards"* .B CACM August, 1970 .K tabulating-card, Hollerith card, keypunch, information processing .C 6.35 .N CA700816 JB February 10, 1978 2:48 PM .X 2005 5 2005 2005 5 2005 2005 5 2005 .I 2006 .T Proposed American National Standard .B CACM August, 1970 .A Kerpelman, C. .K State identifiers, State abbreviation, States of the United States, data elements, data codes, numeric codes, geopolitical subdivisions, geographic codes .C 3.35 3.57 .N CA700815 JB February 10, 1978 3:10 PM .X 2006 5 2006 2006 5 2006 2006 5 2006 .I 2007 .T Algorithms Policy/Revised August 1970 .B CACM August, 1970 .N CA700814 JB February 10, 1978 3:12 PM .X 2007 5 2007 2007 5 2007 2007 5 2007 .I 2008 .T Gaussian Quadrature Formulas (Algorithm 331 $D1)) .B CACM August, 1970 .A Wise Jr., W. R. .K quadrature, Gaussian quadrature, numerical integration, weight function, orthogonal polynomials, Newton's method, successive deflation .C 5.16 .N CA700813 JB February 10, 1978 3:15 PM .X 2008 5 2008 2008 5 2008 2008 5 2008 .I 2009 .T Simpson's Rule for Multiple Integration (Algorithm 233 $D1)) .B CACM August, 1970 .A Proll, L. G. .K numerical integration, multiple integration, Simpson's rule .C 5.16 .N CA700812 JB February 10, 1978 3:17 PM .X 2009 5 2009 2009 5 2009 2009 5 2009 .I 2010 .T Unitary Symmetric Polynomials $Z) (Algorithm 391) .B CACM August, 1970 .A McKay, J. .K symmetric polynomials, unitary symmetric polynomials .C 5.11 5.30 5.5 .N CA700811 JB February 10, 1978 3:19 PM .X 2010 5 2010 2010 5 2010 2010 5 2010 .I 2011 .T Sequency Ordered Walsh Functions $S22) (Algorithm 390) .B CACM August, 1970 .A Hubner, H. .K Walsh functions, sequency ordered Walsh functions .C 5.12 5.13 .N CA700810 JB February 10, 1978 3:20 PM .X 2011 4 2011 2011 5 2011 2011 5 2011 2011 5 2011 2012 5 2011 .I 2012 .T Binary Ordered Walsh Functions $S22) (Algorithm 389) .B CACM August, 1970 .A Hubner, H. .K Walsh functions, binary ordered Walsh functions .C 5.12 5.13 .N CA700809 JB February 10, 1978 3:22 PM .X 2012 4 2012 2011 5 2012 2012 5 2012 2012 5 2012 2012 5 2012 2013 5 2012 2012 6 2012 .I 2013 .T Rademacher Function $S22) (Algorithm 388) .B CACM August, 1970 .A Hubner, H. .K Rademacher function .C 5.12 5.13 .N CA700808 JB February 10, 1978 3:23 PM .X 2012 5 2013 2013 5 2013 2013 5 2013 2013 5 2013 2013 6 2013 .I 2014 .T Function Minimization and Linear Search $E4) (Algorithm 387) .B CACM August, 1970 .A Fielding, K. .K function minimization, relative minimum, quasi-Newton method .C 5.15 .N CA700807 JB February 10, 1978 3:30 PM .X 2014 5 2014 2014 5 2014 2014 5 2014 .I 2015 .T A Technique for Generating Almost Optimal Floyd-Evans Productions for Precedence Grammars .W A technique is developed for generating almost optimal Floyd-Evans productions given a precedence grammar. A graph formulation is used for the problem of merging productions. The productions generated correspond to the minimum cost inverse-arborescence of that graph. The validity of the technique is demonstrated for weak precedence grammars defined here, but the productions mechanically generated for any precedence grammar can often be modified in such a way that correct, almost optimal parsers are obtained. .B CACM August, 1970 .A Ichbiah, J. D. Morse, S. P. .K translator writing systems, syntactic analysis, Floyd-Evans productions, precedence grammars, translator optimization, merger algorithm, minimum cost inverse-arborescence, graph theory .C 4.12 5.23 5.32 .N CA700806 JB February 10, 19783:38 PM .X 1379 4 2015 1665 4 2015 1693 4 2015 1768 4 2015 1781 4 2015 1787 4 2015 1824 4 2015 1825 4 2015 1836 4 2015 1836 4 2015 1861 4 2015 1945 4 2015 2015 4 2015 2015 4 2015 2060 4 2015 2061 4 2015 2091 4 2015 2110 4 2015 2127 4 2015 2179 4 2015 2187 4 2015 2317 4 2015 2545 4 2015 2546 4 2015 2698 4 2015 2698 4 2015 2708 4 2015 2733 4 2015 3045 4 2015 1477 5 2015 1781 5 2015 2015 5 2015 2015 5 2015 2015 5 2015 2179 5 2015 2423 5 2015 1337 6 2015 1477 6 2015 1491 6 2015 1825 6 2015 2015 6 2015 2015 6 2015 2110 6 2015 3184 6 2015 .I 2016 .T The Instrumentation of Multics .W An array of measuring tools devised to aid in the implementation of a prototype computer utility is discussed. These tools include special hardware clocks and data channels, general purpose programmed probing and recording tools, and specialized measurement facilities. Some particular measurements of interest in a system which combines demand paging with multiprogramming are described in detail. Where appropriate, insight into effectiveness (or lack there of) of individual tools is provided. .B CACM August, 1970 .A Gintell, J. W. Saltzer, J. H. .K instrumentation, performance measurement, multiprogramming systems, measuring tools, system analysis, Multics, metering, event tracing, demand paging, script driven measurement .C 2.44 4.32 4.39 4.42 .N CA700805 JB February 10, 1978 3:43 PM .X 2016 5 2016 2016 5 2016 2016 5 2016 2193 5 2016 2319 5 2016 2894 5 2016 1408 6 2016 1719 6 2016 1749 6 2016 1751 6 2016 1951 6 2016 2016 6 2016 2016 6 2016 2016 6 2016 2017 6 2016 2080 6 2016 2188 6 2016 2203 6 2016 2204 6 2016 3186 6 2016 .I 2017 .T Sorting in a Paging Environment .W This sorting study was part of an extensive measurement project undertaken on the M44/44X, an experimental paging system which was conceived and implemented at IBM Research in order to explore the virtual machine concept. The study was concerned with the implementation of sorting procedures in the context of the dynamic paging environment characteristic of virtual memory machines. Descriptions of the experimental sort programs and analysis of the performance measurement results obtained for them are presented. The insight gained from the experimental effort is used to arrive at a set of broad guidelines for writing sort programs for a paging environment. .B CACM August, 1970 .A Brawn, B. S. Gustavson, G. Mankin, E. S. .K sorting, merging, virtual machines, paging systems, dynamic storage allocation, measurement of systems program behavior, performance evaluation, memory management .C 4.32 4.49 4.9 5.31 .N CA700804 JB February 10, 1978 3:51 PM .X 1050 4 2017 1117 4 2017 1117 4 2017 1175 4 2017 1919 4 2017 1935 4 2017 1936 4 2017 1956 4 2017 2017 4 2017 2017 4 2017 2017 4 2017 2017 4 2017 2017 4 2017 2017 4 2017 2017 4 2017 2017 4 2017 2017 4 2017 2017 4 2017 2017 4 2017 2017 4 2017 2017 4 2017 2017 4 2017 2017 4 2017 2017 4 2017 2017 4 2017 2017 4 2017 2032 4 2017 2041 4 2017 2146 4 2017 2146 4 2017 2146 4 2017 2216 4 2017 2257 4 2017 2360 4 2017 2451 4 2017 2452 4 2017 677 4 2017 851 4 2017 851 4 2017 860 4 2017 861 4 2017 2017 5 2017 2017 5 2017 2017 5 2017 2319 5 2017 2582 5 2017 2669 5 2017 3054 5 2017 849 5 2017 850 5 2017 851 5 2017 852 5 2017 853 5 2017 854 5 2017 855 5 2017 856 5 2017 858 5 2017 857 5 2017 859 5 2017 860 5 2017 862 5 2017 863 5 2017 864 5 2017 865 5 2017 861 5 2017 866 5 2017 1175 6 2017 1408 6 2017 1719 6 2017 1749 6 2017 1751 6 2017 1751 6 2017 1751 6 2017 1880 6 2017 1901 6 2017 1919 6 2017 1924 6 2017 1969 6 2017 1980 6 2017 1997 6 2017 307 6 2017 308 6 2017 309 6 2017 2016 6 2017 2017 6 2017 2017 6 2017 2017 6 2017 2017 6 2017 2080 6 2017 2130 6 2017 2188 6 2017 2203 6 2017 2204 6 2017 2358 6 2017 2679 6 2017 776 6 2017 .I 2018 .T Full Table Quadratic Searching for Scatter Storage .W The quadratic residue search method for hash tables avoids much of the clustering experienced with a linear search method. The simple quadratic search only accesses half the table. It has been shown that when the length of the table is a prime of the form 4n+3, where n is an integer, the whole table may be accessed by two quadratic searches plus a separate access for the original entry point. A search method is presented which is computationally simple, has all the advantages of the quadratic search, and yet accesses all the table in one sweep. .B CACM August, 1970 .A Day, A. C. .K quadratic residue, search method, hash tables, scatter storage, dictionary look-up, quadratic search, searching, hashing, hash code, clustering, collisions .C 3.7 3.73 3.74 .N CA700803 JB February 10, 1978 3:57 PM .X 1676 4 2018 1682 4 2018 1728 4 2018 1860 4 2018 1860 4 2018 1973 4 2018 1973 4 2018 1973 4 2018 1992 4 2018 2018 4 2018 2018 4 2018 2018 4 2018 2032 4 2018 2033 4 2018 2033 4 2018 2107 4 2018 2107 4 2018 2109 4 2018 2109 4 2018 2203 4 2018 2203 4 2018 2203 4 2018 2251 4 2018 2251 4 2018 2251 4 2018 2359 4 2018 2524 4 2018 2543 4 2018 2543 4 2018 2543 4 2018 2552 4 2018 2559 4 2018 2573 4 2018 2770 4 2018 2770 4 2018 2974 4 2018 2991 4 2018 3053 4 2018 3053 4 2018 1785 5 2018 1786 5 2018 2018 5 2018 2018 5 2018 2018 5 2018 2109 5 2018 2251 5 2018 2573 5 2018 2770 5 2018 1785 6 2018 1786 6 2018 1786 6 2018 1786 6 2018 1869 6 2018 1973 6 2018 1973 6 2018 1992 6 2018 2018 6 2018 2018 6 2018 2018 6 2018 2107 6 2018 2107 6 2018 2109 6 2018 2109 6 2018 2673 6 2018 .I 2019 .T Normalization Techniques for Hand printed Numerals .W Family of pattern standardization techniques based on geometrical projection is applied to a file of digitized hand printed numerals obtained from sales clerks. The principle involves transforming a quadrilateral specified in terms of the convex hull of each pattern into a square. The amount of overlap within each class of characters versus the amount between classes is used to evaluate the degree of normalization achieved with respect to other published methods including size and shear normalization through moments. .B CACM August, 1970 .A Nagy, G. Tuong, N. .K pattern recognition, character recognition, normalization, projective transformation, central projection, hand printed characters, handwriting, linear transformation, size normalization, mapping, pattern preprocessor .C 3.63 5.14 .N CA700802 JB February 10, 1978 4:03 PM .X 2019 5 2019 2019 5 2019 2019 5 2019 .I 2020 .T The Allocation of Computer Resources-Is Pricing the Answer? .W The widespread use of complex third generation computing systems has led to a much broader concern about the means by which the resources of these systems are allocated among the user community. One means that is suggested more and more frequently is a pricing procedure. In this paper the manner in which one would like to allocate computing resources is considered, and then the extent to which a pricing mechanism fits this mold is discussed. Inasmuch as pricing must serve as a rationing mechanism at times, consideration is given to the means by which prices can be adjusted flexibly in order to make a dynamic allocation of resources. Consideration is also given to the means by which users can be insulated from the harmful effects of frequent price fluctuations. Although the subject of pricing has been given a lot of attention recently, a number of misconceptions persist about its purpose and its operation. An attempt is made to clarify some of these misunderstandings and to highlight the advantages and disadvantages and to highlight the advantages and disadvantages of pricing. Two illustrative pricing systems are also discussed in order to demonstrate the applicability of pricing in quite different environments. .B CACM August, 1970 .A Nielsen, N. R. .K allocation mechanisms, charging, computer pricing, costing, flexible pricing, pricing, priority charges, resource allocation, user motivation .C 1.3 2.4 .N CA700801 JB February 10, 1978 4:13 PM .X 2020 4 2020 1735 5 2020 2020 5 2020 2020 5 2020 2020 5 2020 2479 5 2020 2020 6 2020 .I 2021 .T A Comment on Axiomatic Approaches to Programming .B CACM July, 1970 .A Hunt, B.R. .K axiomatic method, proofs of programs, homomorphic structure in programming .C 4.0 4.21 4.22 5.20 5.21 5.23 5.24 .N CA700716 JB February 10, 1978 4:15 PM .X 2021 4 2021 2222 4 2021 2227 4 2021 2315 4 2021 2326 4 2021 2470 4 2021 2732 4 2021 2865 4 2021 2896 4 2021 2943 4 2021 3014 4 2021 3068 4 2021 3077 4 2021 3143 4 2021 1834 5 2021 2021 5 2021 2021 5 2021 2021 5 2021 .I 2022 .T Note on an Anomaly in Paging .B CACM July, 1970 .A Pomeranz,J. E. .K paging machines, demand paging, replacement algorithm .C 4.30 .N CA700715 JB February 10, 1978 4:17 PM .X 2022 4 2022 2085 4 2022 3006 4 2022 1884 5 2022 2022 5 2022 2022 5 2022 2022 5 2022 .I 2023 .T A Note on Data Base Deadlocks .B CACM July, 1970 .A Baecker, H. D. .K data base, synchronization, locking, deadlock, reference count .C 3.73 .N CA700714 JB February 10, 1978 4:18 PM .X 1050 4 2023 1393 4 2023 1549 4 2023 2023 4 2023 2023 4 2023 2168 4 2023 3112 4 2023 627 4 2023 106 5 2023 1878 5 2023 2023 5 2023 2023 5 2023 2023 5 2023 .I 2024 .T Comments on a Paper by Lowe .B CACM July, 1970 .A Sattley, K. Millstein, R. .K automatic segmentation, program connectivity .C 5.24 5.32 .N CA700713 JB February 10, 1978 4:20 PM .X 2024 5 2024 2024 5 2024 2024 5 2024 .I 2025 .T Student's t-Distribution; Jacobi Polynomials; Modified Romberg Quadrature; Factorial Analysis of Variance; (Algorithms 332,344,351,359) .B CACM July, 1970 .A Sale, A. H. J. .K Fortran standards .C 4.0 4.22 .N CA700712 JB February 10, 1978 4:26 PM .X 1613 4 2025 1646 4 2025 1900 4 2025 1955 4 2025 2025 4 2025 2154 4 2025 2365 4 2025 2506 4 2025 3060 4 2025 987 5 2025 2025 5 2025 2025 5 2025 2025 5 2025 .I 2026 .T Exponential Integral (Algorithm 385 $S13)) .B CACM July, 1970 .A Ng, E. W. .N CA700711 JB February 10, 1978 4:27 PM .X 2026 5 2026 2026 5 2026 2026 5 2026 .I 2027 .T Ricatti-Bessel Functions of First and Second Kind (Algorithm 22 $S17)) .B CACM July, 1970 .A Bray, T. .K Ricatti-Bessel functions, Bessel functions of fractional order, spherical Bessel functions .C 5.12 .N CA700710 JB February 10, 1978 4:29 PM .X 2027 5 2027 2027 5 2027 2027 5 2027 .I 2028 .T Greatest Common Divisor of n Integers and Multipliers $A1) (Algorithm 386) .B CACM July, 1970 .A Bradley, G. H. .K greatest common divisor, Euclidean algorithm, number theory, diophantine equations .C 3.15 5.10 .N CA700709 JB February 10, 1978 4:31 PM .X 2028 4 2028 2521 4 2028 3099 4 2028 2028 5 2028 2028 5 2028 2028 5 2028 2031 5 2028 2521 5 2028 2028 6 2028 2031 6 2028 3135 6 2028 .I 2029 .T Exponential Integral $S13) (Algorithm 385) .B CACM July, 1970 .A Paciorek, K. A. .K exponential integral, special functions, rational Chebyshev approximation .C 5.12 .N CA700708 JB February 10, 1978 4:34 PM .X 2029 5 2029 2029 5 2029 2029 5 2029 .I 2030 .T Context-Sensitive Parsing .W This paper presents a canonical form for context-sensitive derivations and a parsing algorithm which finds each context-sensitive analysis once and only once. The amount of memory required by the algorithm is essentially no more than the required to store a single complete derivation. In addition, a modified version of the basic algorithm is presented which blocks infinite analyses for grammars which contain loops. The algorithm is also compared with several previous parsers for context-sensitive grammars and general rewriting systems, and the difference between the two types of analyses is discussed. The algorithm appears to be complementary to an algorithm by S. Kuno in several respects, including the space-time trade-off and the degree of context dependence involved. .B CACM July, 1970 .A Woods, W. A. .K context-sensitive grammars, context-sensitive parsing, formal grammars, formal language theory, parsing, parsing algorithms, recognition algorithms .C 3.42 5.22 5.23 .N CA700707 JB February 10, 1978 4:43 PM .X 2030 5 2030 2030 5 2030 2030 5 2030 .I 2031 .T Algorithm and Bound for the Greatest Common Divisor of n Integers .W A new version of the Euclidean algorithm for finding the greatest common divisor of n integers a(i) and multipliers x(i) such that gcd = x(1)a(1) + ... + x(n)a(n) is presented. The number of arithmetic operations and the number of storage locations are linear in n. A theorem of Lame that gives a bound for the number of iterations of the Euclidean algorithm for two integers is extended to the case of n integers. An algorithm to construct a minimal set of multipliers is presented. A Fortran program for the algorithm appears as Comm. ACM Algorithm 386. .B CACM July, 1970 .A Bradley, G. H. .K greatest common divisor, Euclidean algorithm, number theory, diophantine equations .C 3.15 5.10 .N CA700706 JB February 13, 1978 8:45 AM .X 2031 4 2031 2031 4 2031 1022 5 2031 2028 5 2031 2031 5 2031 2031 5 2031 2031 5 2031 2521 5 2031 450 5 2031 3099 5 2031 1313 6 2031 2028 6 2031 2031 6 2031 2031 6 2031 2031 6 2031 3135 6 2031 .I 2032 .T File Structures Using Hashing Functions .W A general method of file structuring is proposed which uses a hashing function to define tree structure. Two types of such trees are examined, and their relation to trees studied in the past is explained.Results for the probability distributions of path lengths are derived and illustrated. .B CACM July, 1970 .A Coffman Jr., E. G. Eve, J. .K Data structures, tree structures, file structures, scatter tables, hashing functions, information retrieval .C 3.70 3.74 .N CA700705 JB February 13, 1978 8:49 AM .X 1050 4 2032 1676 4 2032 1682 4 2032 1728 4 2032 1860 4 2032 1935 4 2032 1936 4 2032 1973 4 2032 2017 4 2032 2018 4 2032 2032 4 2032 2032 4 2032 2033 4 2032 2107 4 2032 2109 4 2032 2203 4 2032 2251 4 2032 2257 4 2032 2360 4 2032 2359 4 2032 2451 4 2032 2452 4 2032 2524 4 2032 2543 4 2032 2552 4 2032 2559 4 2032 2991 4 2032 3053 4 2032 1785 5 2032 2032 5 2032 2032 5 2032 2032 5 2032 849 5 2032 .I 2033 .T Space/Time Trade-offs in Hash Coding with Allowable Errors .W In this paper trade-offs among certain computational factors a given set of messages. Two new hash-coding methods are examined and compared with a particular conventional hash-coding method. The computational factors considered are the size of the hash area (space), the time required to identify a message as a nonmember of the given set (reject time), and an allowable error frequency. The new methods are intended to reduce the amount of space required to contain the hash-coded information from that associated with conventional methods. The reduction in space is accomplished by exploiting the possibility that a small fraction of errors of commission may be tolerable in some applications, in particular, applications in which a large amount of data is involved and a core resident hash area is consequently not feasible using conventional methods. In such applications, it is envisaged that overall performance could be improved by using a smaller core resident hash area in conjunction with the new methods and, when necessary, by using some secondary and perhaps time-consuming test to "catch" the small fraction of errors associated with new methods. An example is discussed which illustrates possible areas of application for the new methods. Analysis of the paradigm problem demonstrates that allowing a small number of test messages to be falsely identified as members of the given set will permit a much smaller hash area to be used without increasing reject time. .B CACM July, 1970 .A Bloom, B. H. .K hash coding, hash addressing, scatter storage, searching, storage layout, retrieval trade-offs, retrieval efficiency, storage efficiency .C 3.73 3.74 3.79 .N CA700704 JB February 13, 1978 9:18 AM .X 1676 4 2033 1682 4 2033 1728 4 2033 1860 4 2033 1860 4 2033 1973 4 2033 1973 4 2033 1992 4 2033 2018 4 2033 2018 4 2033 2032 4 2033 2033 4 2033 2033 4 2033 2033 4 2033 2107 4 2033 2107 4 2033 2109 4 2033 2109 4 2033 2203 4 2033 2203 4 2033 2251 4 2033 2251 4 2033 2359 4 2033 2524 4 2033 2543 4 2033 2543 4 2033 2552 4 2033 2559 4 2033 2573 4 2033 2770 4 2033 2991 4 2033 3053 4 2033 1314 5 2033 1785 5 2033 1786 5 2033 2033 5 2033 2033 5 2033 2033 5 2033 3001 5 2033 2033 6 2033 2139 6 2033 .I 2034 .T The Mobile Programming System: STAGE2 .W STAGE2 is the second level of a bootstrap sequence which is easily implemented on any computer. It is a flexible, provided by STAGE2 are summarized, and the implementation techniques which have made it possible to have STAGE2 running on a new machine with less than one man-week of effort are discussed. The approach has been successful on over 15 machines of widely varying characteristics. .B CACM July, 1970 .A Waite, W. M. .K bootstrapping, macro processing, machine independence, programming languages, implementation techniques .C 4.12 4.22 .N CA700703 JB February 13, 1978 9:24 AM .X 1160 4 2034 1530 4 2034 1705 4 2034 1781 4 2034 1807 4 2034 1852 4 2034 1945 4 2034 2034 4 2034 2034 4 2034 2034 4 2034 2034 4 2034 2034 4 2034 2034 4 2034 2290 4 2034 2579 4 2034 2923 4 2034 2945 4 2034 984 5 2034 1231 5 2034 1565 5 2034 1852 5 2034 1926 5 2034 1947 5 2034 2034 5 2034 2034 5 2034 2034 5 2034 .I 2035 .T Conversational Access to a 2048-Word Machine .W LAP6 is an on-line system running on a 2048-word LINC which provides full facilities for text editing, automatic filing and file maintenance, and program preparation and assembly. It focuses on the preparation and editing of continuously displayed 23,040-character text strings (manuscripts) which can be positioned anywhere by the user and edited by simply adding and deleting lines as though working directly on an elastic scroll. Other features are available through a uniform command set which itself can be augmented by the user. The machine, although small, aids program design by providing display scope and premarked randomly addressable LINC tapes as standard items, in an environment similar to that of a sophisticated terminal. The tapes are logically similar to a disk. Priority was given to the design of efficient tape algorithms to minimize the limitations of the small memory. Techniques developed for handling scroll editing, filing, and the layered system structure are outlined. LAP6 is used by about 2000 people in 11 countries. Its design was strongly influenced by performance criteria established in interviews held with LINC users themselves during the specification period. .B CACM July, 1970 .A Wilkes, M. A. .K conversational computer access, display editing, display oriented system, filing algorithms, LAP6, layering, LINC, man-machine communication, on-line editing, on-line efficiency, on-line environment, scroll editing, small machine system, tape filing, tape oriented system, text editing .C 3.73 4.10 4.11 4.19 4.22 4.30 4.40 4.41 .N CA700702 JB February 13, 1978 9:35 AM .X 2035 5 2035 2035 5 2035 2035 5 2035 2357 5 2035 1523 6 2035 1829 6 2035 2035 6 2035 .I 2036 .T An Interactive Command Generating Facility .W A facility to permit conversationally controlled tasks to be executed in a noninteractive environment is proposed. A means by which programs can generate interactive time-sharing commands and receive the corresponding output response is presented. The commands will be invoked as if they had been typed at a console keyboard. It is argued that this facility will help overcome some of the current limitations in man-computer communication. A set of functions to accomplish the above which could be embedded into any string processing language is suggested, and necessary information pertinent to implementation of the facility on existing time-sharing systems is given. .B CACM July, 1970 .A Grant, C. A. .K time-sharing, command languages, pseudo-teletype, interaction, conditional job control, operating systems .C 3.80 3.81 4.29 4.39 .N CA700701 JB February 13, 1978 9:43 AM .X 1530 4 2036 1531 4 2036 1565 4 2036 1703 4 2036 1945 4 2036 2036 4 2036 1455 5 2036 2036 5 2036 2036 5 2036 2036 5 2036 .I 2037 .T Permutations of a Set with Repetitions (Algorithm 383 $G6)) .B CACM June, 1970 .A Chase, P. J. .K permutations and combinations, permutations .C 5.39 .N CA700618 JB February 13, 1978 9:45 AM .X 2037 5 2037 2037 5 2037 2037 5 2037 .I 2038 .T Combinations of M Out of N Objects (Algorithm 382 $G6)) .B CACM June, 1970 .A Chase, P. J. .K permutations and combinations, permutations .C 5.39 .N CA700617 JB February 13, 1978 9:59 AM .X 2038 5 2038 2038 5 2038 2038 5 2038 .I 2039 .T Permanent Function of a Square Matrix I and II (Algorithm 361 $G6)) .B CACM June, 1970 .A Shriver, B. Eberlein, P. J. Dixon, R. D. .K matrix, permanent, determinant .C 5.30 .N CA700616 JB February 13, 1978 10:01 AM .X 2039 5 2039 2039 5 2039 2039 5 2039 .I 2040 .T Modified Romberg Quadrature (Algorithm 351 $D1)) .B CACM June, 1970 .A Wallick, G. C. .K numerical integration, Romberg quadrature, modified Romberg quadrature, trapezoid values, rectangle values .C 5.16 .N CA700615 JB February 13, 1978 10:27 AM .X 1040 4 2040 1352 4 2040 1352 4 2040 1352 4 2040 1352 4 2040 1356 4 2040 1883 4 2040 1982 4 2040 1982 4 2040 2040 4 2040 2040 4 2040 2040 4 2040 2040 4 2040 2040 4 2040 2040 4 2040 1241 5 2040 1273 5 2040 1352 5 2040 1356 5 2040 324 5 2040 2040 5 2040 2040 5 2040 2040 5 2040 2355 5 2040 621 5 2040 1418 6 2040 1521 6 2040 1597 6 2040 1883 6 2040 2040 6 2040 2350 6 2040 2354 6 2040 .I 2041 .T Shellsort (Algorithm 201 $M1)) .B CACM June, 1970 .A Chandler, J. P. Harrison, W. C. .K sorting, minimal storage sorting, digital computer sorting .C 5.31 .N CA700614 JB February 13, 1978 10:29 AM .X 1175 4 2041 1919 4 2041 2017 4 2041 2041 4 2041 2216 4 2041 2041 5 2041 2041 5 2041 2041 5 2041 864 5 2041 .I 2042 .T Treesort 3 (Algorithm 245 $M1)) .W The certification of an algorithm can take the form of a proof that the algorithm is correct. As an illustrative but practical example, Algorithm 245, TREESORT 3 for sorting an array, is proved correct. .B CACM June, 1970 .A London, R. L. .K proof of algorithms, debugging, certification, metatheory, sorting, in-place sorting .C 4.42 4.49 5.24 5.31 .N CA700613 JB February 13, 1978 10:32 AM .X 2042 4 2042 2042 4 2042 2222 4 2042 2356 4 2042 2679 4 2042 2679 4 2042 2844 4 2042 2972 4 2042 970 5 2042 1228 5 2042 2042 5 2042 2042 5 2042 2042 5 2042 2222 5 2042 2679 5 2042 970 6 2042 970 6 2042 1175 6 2042 1190 6 2042 1228 6 2042 1800 6 2042 1818 6 2042 1834 6 2042 1969 6 2042 1997 6 2042 308 6 2042 2042 6 2042 2042 6 2042 3187 6 2042 507 6 2042 716 6 2042 783 6 2042 .I 2043 .T Eigenvalues and Eigenvectors of a Real Symmetric Matrix $F2) (Algorithm 384) .B CACM June, 1970 .A Stewart, G. W. .K real symmetric matrix, eigenvalues, eigenvectors, QR algorithm .C 5.14 .N CA700612 JB February 13, 1978 10:34 AM .X 2043 5 2043 2043 5 2043 2043 5 2043 2349 5 2043 1648 6 2043 1716 6 2043 1794 6 2043 1894 6 2043 2043 6 2043 501 6 2043 613 6 2043 774 6 2043 .I 2044 .T Permutations of a Set with Repetitions (Algorithm 383 $G6)) .B CACM June, 1970 .A Chase, P. J. .K permutations and combinations, permutations .C 5.39 .N CA700611 JB February 13, 1978 10:36 AM .X 2044 4 2044 2044 4 2044 2044 4 2044 2044 4 2044 2189 4 2044 2417 4 2044 2505 4 2044 2874 4 2044 2908 4 2044 996 5 2044 1558 5 2044 2044 5 2044 2044 5 2044 2044 5 2044 2230 5 2044 521 5 2044 .I 2045 .T Combinations of M Out of N Objects (Algorithm 382 $G6)) .B CACM June, 1970 .A Chase, P. J. .K permutations and combinations, permutations .C 5.39 .N CA700610 JB February 13, 1978 10:38 AM .X 2045 5 2045 2045 5 2045 2045 5 2045 2466 5 2045 2834 5 2045 3115 5 2045 907 6 2045 969 6 2045 2045 6 2045 2045 6 2045 2045 6 2045 2417 6 2045 2417 6 2045 2466 6 2045 2466 6 2045 2884 6 2045 579 6 2045 785 6 2045 .I 2046 .T A Relational Model of Data for Large Shared Data Banks .W Future users of large data banks must be protected from having to know how the data is organized in the machine (the internal representation). A prompting service which supplies such information is not a satisfactory solution. Activities of users at terminals and most application programs should remain unaffected when the internal representation of data is changed and even when some aspects of the external representation are changed. Change in data representation will often be needed as a result of changes in query, update, and report traffic and natural growth in the types of stored information. Existing noninferential, formatted data systems provide users with tree-structured files or slightly more general network models of the data. In Section 1, inadequacies of these models are discussed. A model based on n-ary relations, a normal form for data base relations, and the concept of a universal form for data base relations, and the concept of a universal data sublanguage are introduced. In Section 2, certain operations on relations (other than logical inference) are discussed and applied to the problems of redundancy and consistency in the user's model. .B CACM June, 1970 .A Codd, E. F. .K data bank, data base, data structure, data organization, hierarchies of data, networks of data, relations, derivability, redundancy, consistency, composition, join, retrieval language, predicate calculus, security, data integrity .C 3.70 3.73 3.75 4.20 4.22 4.29 .N CA700609 JB February 13, 1978 10:57 AM .X 2046 4 2046 2710 4 2046 1515 5 2046 2046 5 2046 2046 5 2046 2046 5 2046 2155 5 2046 2406 5 2046 2710 5 2046 2715 5 2046 2716 5 2046 2717 5 2046 2718 5 2046 2765 5 2046 2817 5 2046 2888 5 2046 2901 5 2046 2957 5 2046 2959 5 2046 2965 5 2046 3087 5 2046 3154 5 2046 1389 6 2046 1515 6 2046 210 6 2046 1936 6 2046 1976 6 2046 1976 6 2046 1989 6 2046 378 6 2046 2046 6 2046 2046 6 2046 2046 6 2046 2046 6 2046 2046 6 2046 2046 6 2046 2046 6 2046 2046 6 2046 2046 6 2046 2046 6 2046 2046 6 2046 2046 6 2046 2046 6 2046 2046 6 2046 2046 6 2046 2046 6 2046 2060 6 2046 2110 6 2046 2406 6 2046 2451 6 2046 2451 6 2046 2452 6 2046 2715 6 2046 2715 6 2046 2715 6 2046 3133 6 2046 616 6 2046 616 6 2046 616 6 2046 .I 2047 .T Incorporating Origin Shifts into the QR Algorithm for Symmetric Tridiagonal Matrices .W The QR iteration for the eigenvalues of a symmetric tridiagonal matrix can be accelerated by incorporating a sequence of origin shifts. The origin shift may be either subtracted directly from the diagonal elements of the matrix or incorporated by means of an implicit algorithm. Both methods have drawbacks: the direct method can unnecessarily degrade small eigenvalues, while the implicit method can effectively loose the shift and thereby retard the convergence. This paper presents a new method which has neither drawback. .B CACM June, 1970 .A Stewart, G. W. .K eigenvalues, eigenvectors, QR method, origin shifts, symmetric tridiagonal matrix .C 5.14 .N CA700608 JB February 13, 1978 11:02 AM .X 2047 5 2047 2047 5 2047 2047 5 2047 .I 2048 .T Comparison of Several Adaptive Newton-Cotes Quadrature Routines in Evaluating Definite Integrals with Peaked Integrands .W This report compares the performance of five different adaptive quadrature schemes, based on Newton-Cotes (2N + 1) point rules (N = 1, 2, 3, 4, 5), in approximating the set of definite integrals INTEGRAL$1/(x^2 + p^2)) dx with relative accuracy e. .B CACM June, 1970 .A Hillstrom, K. E. .K adaptive Newton-Cotes quadrature, quadrature scheme comparison, definite integral evaluation, adaptive numerical in tegration, Newton-Cotes integration, peaked integrand integration, quadrature efficiently plot, New-Cotes rules applications, Newton-Cotes rules modifications .C 5.10 5.16 .N CA700607 JB February 13, 1978 11:08 AM .X 1352 4 2048 1352 4 2048 1352 4 2048 2048 4 2048 2048 4 2048 2048 4 2048 2074 4 2048 2074 4 2048 2074 4 2048 2093 4 2048 2093 4 2048 2550 4 2048 2048 5 2048 2048 5 2048 2048 5 2048 429 5 2048 786 5 2048 834 5 2048 .I 2049 .T Accurate Floating-Point Summation .W This paper describes an alternate method for summing a set of floating-point numbers. Comparison of the error bound for this method with that of the standard summation method shows that it is considerably less sensitive to propagation of round-off error. .B CACM June, 1970 .A Linz, P. .K summation, floating-point addition, round-off error, round-off propagation .C 5.11 .N CA700606 JB February 13, 1978 11:36 AM .X 2049 5 2049 2049 5 2049 2049 5 2049 2183 5 2049 2282 5 2049 1328 6 2049 2049 6 2049 2049 6 2049 .I 2050 .T Automatic Parsing for Content Analysis .W Although automatic syntactic and semantic analysis is not yet possible for all of an unrestricted natural language text, some applications, of which content analysis is one, do not have such a stringent coverage requirement. Preliminary studies show that the Harvard Syntactic Analyzer can produce correct and unambiguous identification of the subject and object of certain verbs for approximately half of the relevant occurrences. This provides a degree of coverage for content analysis variables which compares favorably to manual methods, in variables which compares favorably to manual methods, in which only a sample of the total available text is normally processed. .B CACM June, 1970 .A Damerau, F. J. .K Content analysis, parsing, syntactic analysis, natural language processing, information retrieval, language analysis, text processing .C 3.42 3.71 .N CA700605 JB February 13, 1978 11:43 AM .X 1350 4 2050 1659 4 2050 1856 4 2050 2050 4 2050 1225 5 2050 2050 5 2050 2050 5 2050 2050 5 2050 .I 2051 .T A PL/I Program to Assist the Comparative Linguist .W A practical PL/I program is described which can assist comparative linguists to determine the regular sound correspondences between genetically related languages. The investigator must arrange data for input by aligning pairs of suspected cognates. The program tabulates the correspondences, and uses list processing techniques to sort and count them. Each pair of words is then assigned a relative value that is a function of the total frequency in the data of each correspondence found in that pair of words. The output is a list of all correspondence types with their frequency of occurrence in the data, and a separate listing of each correspondence with all word-pairs showing that correspondence (unless their relative value is below an arbitrarily chosen cutoff point). The article explains the usefulness, as well as the limitations, of the programs, and illustrates its use with a small portion of hypothetical data. .B CACM June, 1970 .A Frantz, D. G. .K comparative linguistics, natural language processing, comparative method, historical linguistics, diachronic linguistics, genetic relationship, sound change, sound correspondence, regular correspondence, list processing .C 3.42 .N CA700604 JB February 13, 1978 11:51 AM .X 2051 5 2051 2051 5 2051 2051 5 2051 .I 2052 .T Scheduling to Reduce Conflict in Meetings .W Conflicts in scheduling can be treated as defining an undirected linear graph independently of the relation of the activities in conflict to additional constraints of time and space. Each connected component of such a graph, which can be found by an algorithm described by Gotlieb and Corneil, corresponds to a set of events that must be scheduled at different times. .B CACM June, 1970 .A Grimes, J. E. .K allocation, conflict matrix, connected component, scheduling, spanning tree, undirected linear graph .C 1.90 3.51 3.59 5.32 .N CA700603 JB February 13, 1978 11:55 AM .X 1609 4 2052 1847 4 2052 1961 4 2052 2052 4 2052 2052 4 2052 2052 4 2052 2052 4 2052 2209 4 2052 1008 5 2052 1013 5 2052 1504 5 2052 1540 5 2052 2052 5 2052 2052 5 2052 2052 5 2052 .I 2053 .T On the Conversion of Decision Tables to Computer Programs .W The use of execution time diagnostics in pinpointing ambiguities in decision tables is discussed. It is pointed out that any attempt at resolving ambiguities at compile time will, in general, be impossible. It is shown that, as a consequence, tree methods of converting decision tables to programs are inadequate in regard to ambiguity detection. Two algorithms for programming decision tables whose merits are simplicity of implementation and detection of ambiguities at execution time are presented. The first algorithm is for limited entry decision tables and clarifies the importance of proper coding of the information in the decision table. The second algorithm programs a mixed entry decision table directly without going through the intermediate step of conversion to a limited entry form, thereby resulting in storage economy. A comparison of the algorithms and others proposed in the literature is made. Some features of a decision table to Fortran IV translator for the IBM 7044 developed by the authors are given. .B CACM June, 1970 .A Muthukrishnan, C. R. Rajaraman, V. .K decision tables, diagnostic aids, system analysis, business applications .C 3.50 3.59 4.19 4.29 4.49 .N CA700602 JB February 13, 1978 12:03 PM .X 1354 4 2053 1354 4 2053 1354 4 2053 1488 4 2053 1488 4 2053 1684 4 2053 1994 4 2053 2053 4 2053 2053 4 2053 2053 4 2053 2053 4 2053 2053 4 2053 2220 4 2053 2220 4 2053 2220 4 2053 2220 4 2053 2273 4 2053 2273 4 2053 2273 4 2053 2273 4 2053 2453 4 2053 2453 4 2053 2517 4 2053 2518 4 2053 2598 4 2053 2616 4 2053 2726 4 2053 2726 4 2053 2726 4 2053 2856 4 2053 2856 4 2053 2856 4 2053 3034 4 2053 3113 4 2053 1172 5 2053 1237 5 2053 1327 5 2053 1354 5 2053 1684 5 2053 2053 5 2053 2053 5 2053 2053 5 2053 2221 5 2053 2273 5 2053 2453 5 2053 2517 5 2053 2856 5 2053 3034 5 2053 1172 6 2053 1172 6 2053 1172 6 2053 1237 6 2053 1327 6 2053 1327 6 2053 1354 6 2053 1354 6 2053 1354 6 2053 1684 6 2053 1684 6 2053 1683 6 2053 2053 6 2053 2053 6 2053 2053 6 2053 2053 6 2053 2053 6 2053 2053 6 2053 2220 6 2053 2220 6 2053 2220 6 2053 2221 6 2053 2453 6 2053 2517 6 2053 2598 6 2053 753 6 2053 .I 2054 .T On the Feasibility of Voice Input to an On-line Computer Processing System .W An on-line digital computer processing system is considered in which an ordinary telephone is the complete terminal device, input to the computer being provided as a sequence of spoken words, and output to the user being audio responses from the machine. The feasibility of implementing such a system with a FORTRAN-like algebraic compiler as the object processor is considered. Details of a specific word recognition program are given. This technique depends on three simplifying restrictions, namely, a "small" vocabulary set, "known" speakers, and a "moment of silence" between each input word. Experimental results are presented giving error rates for different experimental conditions as well as the machine resources required to accommodate several users at a time. The results show that at this time it is both economically and logically feasible to handle at least 40 users at a time with an IBM 360/65 computer. .B CACM June, 1970 .A Elder, H. A. .K speech recognition, word recognition, pattern-matching, pattern recognition, time-sharing, remote access, voice input, speech input, telephone input/output, acoustic signal, spoken-word input, talking to computers, man-machine interaction .C 3.63 3.81 4.32 4.41 6.35 .N CA700601 JB February 13, 1978 12:12 PM .X 2054 4 2054 1544 5 2054 2054 5 2054 2054 5 2054 2054 5 2054 .I 2055 .T Subroutine to Perform In-Situ Transposition of a Rectangular Matrix (Algorithm 380) .B CACM May, 1970 .A Lachenmaier, R. .K rectangular matrix, transpose .C 5.14 .N CA700511 JB February 13, 1978 1:14 PM .X 2055 5 2055 2055 5 2055 2055 5 2055 2057 5 2055 2392 5 2055 1600 6 2055 1600 6 2055 1894 6 2055 2055 6 2055 2055 6 2055 .I 2056 .T Gomory (Algorithm 263A $H)) .B CACM May, 1970 .A Proll, L. G. .K linear programming, integer variables, dual method .C 5.41 .N CA700510 JB February 13, 1978 1:17 PM .X 2056 5 2056 2056 5 2056 2056 5 2056 .I 2057 .T Random Vectors Uniform in Solid Angle (Algorithm 381 $G5)) .B CACM May, 1970 .A Knop, R. E. .K random number, random vector, random number generator, probability distribution, frequency distribution, simulation, Monte Carlo .C 5.5 .N CA700509 JB February 13, 1978 1:19 PM .X 2057 4 2057 2057 4 2057 2057 4 2057 2058 4 2057 2349 4 2057 2392 4 2057 2392 4 2057 2416 4 2057 1600 5 2057 1894 5 2057 2055 5 2057 2057 5 2057 2057 5 2057 2057 5 2057 .I 2058 .T In-Situ Transposition of a Rectangular Matrix (Algorithm 380 $F1)) .B CACM May, 1970 .A Laflin, S. Brebner, M. A. .K rectangular matrix, transpose .C 5.14 .N CA700508 JB February 13, 1978 1:21 PM .X 2057 4 2058 2058 4 2058 2392 4 2058 2416 4 2058 1600 5 2058 2058 5 2058 2058 5 2058 2058 5 2058 2416 5 2058 1600 6 2058 2058 6 2058 .I 2059 .T A Language for Treating Graphs .W A language for the representation of graph is described, and the formulation of graph operations such as node and/or link deletion or insertion, union, intersection, comparison, and traversal of graphs is given. Graphs are represented by linked lists. The language is syntactically defined as an extension to ALGOL 60, and it is translated into ALGOL by means of a syntax-driven compiler. Application areas for this language are operation research, network problems, control theory, traffic problems, etc. .B CACM May, 1970 .A Crespi-Reghizzi, S. Morpurgo, R. .K graphs, oriented, nonoriented, multiple, colored graph, language extended ALGOL, operator-precedence, syntax-driven compiler, operation research, network, traffic .C 3.2 3.5 4.2 5.3 .N CA700507 JB February 13, 1978 1:31 PM .X 249 4 2059 254 4 2059 272 4 2059 1102 4 2059 1109 4 2059 1140 4 2059 1188 4 2059 1306 4 2059 1464 4 2059 1491 4 2059 1767 4 2059 1781 4 2059 1787 4 2059 1949 4 2059 321 4 2059 2059 4 2059 2126 4 2059 435 4 2059 437 4 2059 463 4 2059 483 4 2059 491 4 2059 2732 4 2059 560 4 2059 583 4 2059 3073 4 2059 627 4 2059 631 4 2059 632 4 2059 642 4 2059 644 4 2059 653 4 2059 680 4 2059 761 4 2059 762 4 2059 763 4 2059 123 4 2059 140 4 2059 919 4 2059 989 4 2059 196 5 2059 2059 5 2059 2059 5 2059 2059 5 2059 2178 5 2059 1303 6 2059 1323 6 2059 2059 6 2059 2127 6 2059 3184 6 2059 .I 2060 .T GEDANKEN-A Simple Typeless Language Based on the Principle of Completeness and the Reference Concept .W GEDANKEN is an experimental programming language with the following characteristics. (1) Any value which is permitted in some context of the language is permissible in any other meaningful context. In particular, functions and labels are permissible results of functions and values of variables. (2) Assignment and indirect addressing are formalized by introducing values, called reference, which in turn possess other values. The assignment operation always affects the relation between some reference and its value, (3) All compound data structures are treated as functions. (4) Type declarations are not permitted. The functional approach to data structures and the use of references insure that any process which accepts some data structure will accept any logically equivalent structure, regardless of its internal representation. More generally, any data structure may be implicit; i.e. it may be specified by giving an arbitrary algorithm for computing or accessing its components. The existence of label variables permits the construction of coroutines, quasi-parallel processes, and other unorthodox control mechanisms. A variety of programming examples illustrates the generality of the language. Limitations and possible extensions are discussed briefly. .B CACM May, 1970 .A Reynolds, J. C. .K programming language, data structure, reference, assignment, coroutine, quasi-parallel process, typeless language, applicative language, lambda calculus, list processing, nondeterministic algorithm .C 4.20 4.22 5.23 5.24 .N CA700506 JB February 13, 1978 1:43 PM .X 1024 4 2060 1051 4 2060 1102 4 2060 1132 4 2060 1379 4 2060 1380 4 2060 1390 4 2060 1486 4 2060 1541 4 2060 1542 4 2060 1549 4 2060 1552 4 2060 1683 4 2060 1693 4 2060 1693 4 2060 1693 4 2060 1706 4 2060 1781 4 2060 1781 4 2060 1781 4 2060 1787 4 2060 1826 4 2060 1836 4 2060 1836 4 2060 1846 4 2060 1854 4 2060 1860 4 2060 1878 4 2060 1945 4 2060 1945 4 2060 1989 4 2060 378 4 2060 2015 4 2060 2060 4 2060 2060 4 2060 2060 4 2060 2060 4 2060 2060 4 2060 2060 4 2060 2060 4 2060 2060 4 2060 2061 4 2060 2061 4 2060 2082 4 2060 2091 4 2060 2091 4 2060 2155 4 2060 2152 4 2060 2168 4 2060 2179 4 2060 2179 4 2060 2179 4 2060 2218 4 2060 2294 4 2060 2340 4 2060 2356 4 2060 2470 4 2060 2546 4 2060 2546 4 2060 2603 4 2060 2698 4 2060 2698 4 2060 2698 4 2060 2708 4 2060 2708 4 2060 2719 4 2060 2723 4 2060 2770 4 2060 2824 4 2060 2838 4 2060 2842 4 2060 2855 4 2060 2879 4 2060 2921 4 2060 2982 4 2060 2986 4 2060 557 4 2060 3045 4 2060 3045 4 2060 3077 4 2060 3080 4 2060 3093 4 2060 3106 4 2060 3112 4 2060 3124 4 2060 3154 4 2060 627 4 2060 106 4 2060 210 5 2060 1380 5 2060 1421 5 2060 1469 5 2060 1477 5 2060 1491 5 2060 1869 5 2060 2060 5 2060 2060 5 2060 2060 5 2060 2110 5 2060 2155 5 2060 2294 5 2060 2558 5 2060 2842 5 2060 3077 5 2060 3150 5 2060 1389 6 2060 1469 6 2060 1471 6 2060 210 6 2060 210 6 2060 210 6 2060 1834 6 2060 378 6 2060 2046 6 2060 2060 6 2060 2060 6 2060 2060 6 2060 2060 6 2060 2060 6 2060 2060 6 2060 2148 6 2060 2192 6 2060 2457 6 2060 2704 6 2060 2842 6 2060 2939 6 2060 2940 6 2060 2941 6 2060 2943 6 2060 3073 6 2060 3148 6 2060 3184 6 2060 .I 2061 .T An Algorithm for the Construction Of Bounded-Context Parsers .W An algorithm is described which accepts an arbitrary context-free grammar and constructs a bounded-context parser for it whenever such a parser exists. In the first part of the paper the definition of a context-free grammar and the working of a bounded-context parser are recalled. The notion of reduction class for a context-free grammar is then introduced and its connection with the structure of a bounded-context parser is indicated. Next, pushdown automata which generate the different reduction classes of a context-free grammar are defined. Finally, the algorithm is described; it essentially carries out an exhaustive study of all possible runs of the pushdown automata generating the reduction classes. In the second part, the utility of the algorithm is discuss ed in the light of the experience gained from its use in compiler design. The algorithm is claimed to be particularly useful in the simultaneous design of a language and a compiler for it. .B CACM May, 1970 .A Loeckx, J. .K bounded-context parsing, bounded-context syntactic analysis, parser construction, syntactical analyzer construction, generators, compiler compilers, compiler writing systems, translator writing systems metacompilers, context-free grammars, formal languages, pushdown automata .C 4.12 5.22 5.23 .N CA700505 JB February 13, 1978 1:58 PM .X 1379 4 2061 1491 4 2061 1496 4 2061 1542 4 2061 1683 4 2061 1683 4 2061 1693 4 2061 1693 4 2061 1768 4 2061 1781 4 2061 1781 4 2061 1781 4 2061 1787 4 2061 1787 4 2061 1836 4 2061 1836 4 2061 1945 4 2061 1945 4 2061 1945 4 2061 2015 4 2061 2060 4 2061 2060 4 2061 2061 4 2061 2061 4 2061 2061 4 2061 2061 4 2061 2061 4 2061 2061 4 2061 2082 4 2061 2091 4 2061 2091 4 2061 2152 4 2061 2179 4 2061 2179 4 2061 2179 4 2061 2340 4 2061 2356 4 2061 2546 4 2061 2546 4 2061 2603 4 2061 2698 4 2061 2698 4 2061 2708 4 2061 2708 4 2061 2824 4 2061 2982 4 2061 2986 4 2061 3045 4 2061 3045 4 2061 3093 4 2061 1140 5 2061 1141 5 2061 1477 5 2061 1491 5 2061 1825 5 2061 2061 5 2061 2061 5 2061 2061 5 2061 773 5 2061 .I 2062 .T The Application of Sequential Sampling to Simulation: An Example Inventory Model .W Four different sequential sampling procedures are applied to the analysis of data generated by a computer simulation experiment with a multi-item inventory model. For each procedure the cost of computer time required to achieve given levels of statistical precision is calculated. Also the cost of computer time using comparable fixed sample size methods is calculated. The computer costs of fixed sample size procedures versus sequential sampling procedures are compared. .B CACM May, 1970 .A Sasser, W. E. Burdick, D. S. Graham, D. A. Naylor, T. H. .K simulation, inventory models, sequential sampling, models, experimental design .C 3.31 3.50 3.54 5.5 .N CA700504 JB February 13, 1978 2:11 PM .X 2062 5 2062 2062 5 2062 2062 5 2062 .I 2063 .T Translation Equations (Errata) .B CACM May, 1970 .A Vere, S. .N CA700503 JB February 13, 1978 2:12 PM .X 2063 5 2063 2063 5 2063 2063 5 2063 .I 2064 .T Operations on Generalized Arrays with the Genie Compiler .W Operations on vectors, matrices, and higher dimensional storage arrays are standard features of most compilers today. The elements of such structures are usually restricted to be scalars. For many sophisticated applications this restriction can impose cumbersome data representations. An efficient system has been devised and implemented which allows the elements of multidimensional arrays to themselves be multidimensional arrays. This system was developed from a storage structure in which the location, length, and content of each array is described by a codeword which can be interpreted by the system. Code words may describe arrays containing more codewords, thus providing all needed descriptive information for hyperstructures of any form. .B CACM May, 1970 .A Sitton, G. A. .K multidimensional arrays, matrix operations, storage control, subscripting, compilers .C 4.12 4.29 .N CA700502 JB February 13, 1978 2:18 PM .X 2064 4 2064 1677 5 2064 2064 5 2064 2064 5 2064 2064 5 2064 .I 2065 .T A Programming System for the On-line Analysis of Biomedical Images .W A preliminary description of the software for a computer-display system is given with special emphasis on the man-machine interaction. This system is intended for a wide variety of biomedical applications. As an example, the methods are applied to the karyotyping of chromosomes. The system is separated into four programming tasks: picture transformations, file maintenance, picture structuring, and display management. Picture structuring is considered as the vehicle for man-machine communication. A prototype data format for pictures, called a picture-form, is developed. Structure operators are defined which manipulate picture-forms to produce new pictures-forms. Many of the ideas are taken from the symbolic mathematical laboratory at MIT conceived by Marvin Minsky. .B CACM May, 1970 .A Hodes, L. .K image processing, biomedical image processing, on-line image processing, semiautomatic image processing, data structure, structure operators, picture processing, biomedical picture processing, on-line picture processing, semiautomatic picture processing, semiautomatic karyotyping, karyotyping, list processing picture processing .C 3.12 3.34 3.63 4.39 6.29 .N CA700501 JB February 13, 1978 2:27 PM .X 2065 5 2065 2065 5 2065 2065 5 2065 .I 2066 .T An Algol Construction for Procedures as Parameters of Procedures .B CACM April, 1970 .A Knight, K. R. .K Algol, procedures, parameters, side effects .C 4.22 .N CA700418 JB February 13, 1978 2:30 PM .X 2066 4 2066 2066 4 2066 1833 5 2066 1842 5 2066 2066 5 2066 2066 5 2066 2066 5 2066 .I 2067 .T Comment on Lawler's Multilevel Boolean Minimization .B CACM April, 1970 .A DeVries, R. C. .K multilevel logic design, generalized prime implicants, minimal forms, minimization, incompletely specified functions .C 6.1 .N CA700417 JB February 13, 1978 2:32 PM .X 2067 5 2067 2067 5 2067 2067 5 2067 .I 2068 .T Comment on Multiprogramming Under a Page on Demand Strategy .B CACM April, 1970 .A Smith, J. L. .K multiprogramming, paging, modeling .C 4.32 .N CA700416 JB February 13, 1978 2:34 PM .X 1892 4 2068 2068 4 2068 2741 4 2068 1526 5 2068 2068 5 2068 2068 5 2068 2068 5 2068 .I 2069 .T Comments on a Paper by Wallace and Mason .B CACM April, 1970 .A Heess Jr., W. F. .K page-on-demand, demand paging, time-sharing multiprogramming, Markovian computer models, scheduling strategies, operating systems, memory management .C 2.44 4.32 4.39 6.20 6.21 .N CA700415 JB February 13, 1978 2:36 PM .X 2069 5 2069 2069 5 2069 2069 5 2069 .I 2070 .T A Formal System for Information Retrieval from Files .B CACM April, 1970 .A Hsiao, D. Harary, F. .N CA700414 JB February 13, 1978 2:37 PM .X 2070 5 2070 2070 5 2070 2070 5 2070 .I 2071 .T Filon Quadrature (Algorithm 353 $D1)) .B CACM April, 1970 .A Fosdick, L. D. Einarsson, Bo .K quadrature, Filon quadrature, integration, Filon integration, Fourier coefficients, Fourier series .C 5.16 .N CA700413 JB February 13, 1978 2:40 PM .X 2071 5 2071 2071 5 2071 2071 5 2071 2393 5 2071 1858 6 2071 2071 6 2071 .I 2072 .T Modified Romberg Quadrature (Algorithm 351 $D1)) .B CACM April, 1970 .A Cook, N. D. .K numerical integration, Romberg quadrature, trapezoid values, rectangle values, error bound .C 5.16 .N CA700412 JB February 13, 1978 2:42 PM .X 2072 5 2072 2072 5 2072 2072 5 2072 .I 2073 .T Solution of Linear Programs in 0-1 Variables by Implicit Enumeration (Algorithm 341 $H)) .B CACM April, 1970 .A Guignard, M. M. .K linear programming, zero-one variables, partial enumeration .C 5.41 .N CA700411 JB February 13, 1978 2:43 PM .X 2073 5 2073 2073 5 2073 2073 5 2073 .I 2074 .T Sqank (Algorithm 379 $D1)) .B CACM April, 1970 .A Lyness, J. N. .K numerical integration, integration rule, adaptive integration, automatic integration, Simpson's rule, numerical quadrature, quadrature, quadrature rule, adaptive quadrature, automatic quadrature, round-off error control .C 5.16 .N CA700410 JB February 13, 1978 2:46 PM .X 1352 4 2074 1352 4 2074 1352 4 2074 1352 4 2074 2048 4 2074 2048 4 2074 2048 4 2074 2074 4 2074 2074 4 2074 2074 4 2074 2074 4 2074 2093 4 2074 2093 4 2074 2093 4 2074 2550 4 2074 2074 5 2074 2074 5 2074 2074 5 2074 2415 5 2074 2550 5 2074 429 5 2074 786 5 2074 834 5 2074 872 5 2074 1040 6 2074 1573 6 2074 1982 6 2074 2074 6 2074 2074 6 2074 429 6 2074 .I 2075 .T Discretized Newton-Like Method for Solving a System of Simultaneous Nonlinear Equations (Algorithm 378 $C5)) .B CACM April, 1970 .A Pankiewicz, W. .K Newton's method, nonlinear equations, interpolating polynomials .C 5.15 5.13 .N CA700409 JB February 13, 1978 2:48 PM .X 2075 4 2075 2075 5 2075 2075 5 2075 2075 5 2075 472 5 2075 3011 5 2075 2075 6 2075 2302 6 2075 2345 6 2075 2485 6 2075 .I 2076 .T Cubic Splines on Uniform Meshes .W A very simple procedure is presented for constructing cubic splines, periodic or nonperiodic, on uniform meshes. Arcs of two cubics suffice to construct a basis of cardinal splines. An algorithm is given which requires only minimal storage and computation and permits easy trade-off of one against the other. .B CACM April, 1970 .A Nilson, E. N. .K simple spline representation, cardinal splines, uniform mesh splines .C 5.13 .N CA700408 JB February 13, 1978 2:51 PM .X 2076 5 2076 2076 5 2076 2076 5 2076 .I 2077 .T The Cyclical Majority Problem .W The problem of the cyclical majority is presented and some new, simulated results for 3, 4, 5, ..., 40 issues ad 3, 5, 7, ..., 37 judges are reported. .B CACM April, 1970 .A Pomeranz, J. E. Weil Jr., R. L. .K Arrow's paradox, cyclical majority, simulation, voter's paradox, voting paradox .C 3.31 3.35 .N CA700407 JB February 13, 1978 2:58 PM .X 2077 5 2077 2077 5 2077 2077 5 2077 .I 2078 .T Representations for Space Planning .W Problems involving the arrangement of objects in two- or three-space where the objective function primarily consists of derivatives of the distance between objects or their arrangement are called space planning problems. The representational requirements for this problem area are defined and compared with current computer graphic languages. Four alternative data structures that allow automated space planning are described and compared. .B CACM April, 1970 .A Eastman, C. M. .K automated design, data structures, computer graphics, computer-aided design, engineering design, architectural design, robots .C 3.20 3.2 2, 3.26, 3.41, 3.63 .N CA700406 JB February 13, 1978 3:03 PM .X 2078 5 2078 2078 5 2078 2078 5 2078 2389 5 2078 2078 6 2078 .I 2079 .T On Multiprogramming, Machine Coding, and Computer Organization .B CACM April, 1970 .A Wirth, N. .N CA700405 JB February 13, 1978 3:05 PM .X 2079 5 2079 2079 5 2079 2079 5 2079 .I 2080 .T The Nucleus of a Multiprogramming System .W This paper describes the philosophy and structure of a multiprogramming system that can be extended with a hierarchy of operating systems to suit diverse requirements of program scheduling and resource allocation. The system nucleus simulates an environment in which program execution and input/output are handled uniformly as parallel, cooperating process es. A fundamental set of primitives allows the dynamic creation and control of a hierarchy of processes as well as the communication among them. .B CACM April, 1970 .A Hansen, P. B. .K multiprogramming, operating systems, parallel processes, process concept, process communication, message buffering, process hierarchy, process creation, process removal .C 4.30 4.31 4.32 4.41 .N CA700404 JB February 13, 1978 3:10 PM .X 1657 4 2080 2080 4 2080 2357 4 2080 2536 4 2080 1523 5 2080 2080 5 2080 2080 5 2080 2080 5 2080 2319 5 2080 2320 5 2080 2378 5 2080 2632 5 2080 2738 5 2080 2740 5 2080 2868 5 2080 3127 5 2080 1408 6 2080 1471 6 2080 1471 6 2080 1719 6 2080 1749 6 2080 1749 6 2080 1749 6 2080 1749 6 2080 1751 6 2080 1877 6 2080 2016 6 2080 2017 6 2080 2080 6 2080 2080 6 2080 2080 6 2080 2080 6 2080 2080 6 2080 2080 6 2080 2080 6 2080 2080 6 2080 2150 6 2080 2188 6 2080 2203 6 2080 2204 6 2080 2247 6 2080 2277 6 2080 2356 6 2080 2377 6 2080 2380 6 2080 2558 6 2080 2625 6 2080 2632 6 2080 2777 6 2080 .I 2081 .T Some Complete Calculi for Matrices .W A matrix calculus is introduced with the intention of developing data structures suitable for a high level algorithmic language for mathematical programming. The paper investigates how the special structure of matrices can be described and utilized for efficient computing by saving memory space and superfluous operations. Sequences of Matrices (and sequences of sequences of matrices) are considered, and matrix operators areext ended to sequence operators and cumulative operators. Algorithms are given which use symbol manipulation of matrix expressions so as to find the forms best suited for computation. These forms are called normal forms. Several completeness results are obtained in the sense that for each expression an equivalent expression in normal form can be found within a specified calculus. .B CACM April, 1970 .A Bayer, R. Witzgall, C. .K complete calculus, data structures, linear programming, matrix, matrix concatenation, matrix sequences, programming languages, sequence operations, symbol manipulation .C 4.12 4.22 5.14 5.41 .N CA700403 JB February 13, 1978 3:18 PM .X 2081 5 2081 2081 5 2081 2081 5 2081 2253 5 2081 2254 5 2081 2081 6 2081 2081 6 2081 437 6 2081 .I 2082 .T Syntax-Directed Documentation For PL 360 .W The language PL 360, together with its phrase structure grammar, is used as a concrete basis for illustrating an idea called syntax-directed documentation. This idea is (1) to use the phrase structure of a program to define the structure of a formal documentation for that program; (2) to use the syntactic types and identifiers in the resulting structure to trigger the automatic formation of questions to the programmer, whose answers will become part of that documentation; and (3) to provide automatic storage and retrieval facilities so that other programmers who want to understand or modify the program can access the resulting documentation, which is cross-indexed in various ways by syntactic types and objects. A small PL 360 program, already found in the literature, is worked out as an example. .B CACM April, 1970 .A Mills, H. D. .K documentation, syntax analysis, PL 360, enforced documentation, indexed documentation, automatic interrogation, phase structured grammar, syntax-directed documentation, syntax processing .C 3.59 3.79 4.19 4.43 .N CA700402 JB February 13, 1978 3:28 PM .X 1542 4 2082 1683 4 2082 1693 4 2082 1781 4 2082 1787 4 2082 1836 4 2082 1945 4 2082 2060 4 2082 2061 4 2082 2082 4 2082 2082 4 2082 2091 4 2082 2152 4 2082 2179 4 2082 2340 4 2082 2356 4 2082 2546 4 2082 2603 4 2082 2698 4 2082 2708 4 2082 2824 4 2082 2982 4 2082 2986 4 2082 3045 4 2082 3093 4 2082 1491 5 2082 2082 5 2082 2082 5 2082 2082 5 2082 2314 5 2082 518 5 2082 1098 6 2082 1626 6 2082 2082 6 2082 2148 6 2082 .I 2083 .T Creation and Control of Internal Data Bases Under a Fortran Programming Environment .W A method is described for the definition of a user's COMMON structure and the automatic generation of the necessary COMMON, DIMENSION, EQUIVALENCE, and type declarations for each of the user's routines. The definition for the COMMON is contained in an easy to modify form, thus allowing the control of general communications of data between routines. The described system has been implemented on the IBM 7094, CDC 6000 series, and the IBM 360. The method has proved to be invaluable for the definition and control of COMMON in many large-scale programs. .B CACM April, 1970 .A DeSalvio, A. J. Purdy, J. G. Rau, J. .K data base, Fortran, common, common equivalencing, subroutine communication, data communication .C 3.73 4.12 4.43 .N CA700401 JB February 13, 1978 3:34 PM .X 1086 4 2083 1132 4 2083 1234 4 2083 1263 4 2083 1265 4 2083 1270 4 2083 1323 4 2083 1358 4 2083 1379 4 2083 1380 4 2083 1453 4 2083 1464 4 2083 1484 4 2083 1491 4 2083 1498 4 2083 1613 4 2083 1614 4 2083 1781 4 2083 1825 4 2083 1845 4 2083 1860 4 2083 1900 4 2083 2083 4 2083 2083 4 2083 2154 4 2083 2178 4 2083 2179 4 2083 2252 4 2083 2270 4 2083 2325 4 2083 2341 4 2083 2546 4 2083 2645 4 2083 2652 4 2083 2684 4 2083 2693 4 2083 2842 4 2083 2929 4 2083 2934 4 2083 3069 4 2083 669 4 2083 679 4 2083 691 4 2083 761 4 2083 949 4 2083 989 4 2083 988 5 2083 2083 5 2083 2083 5 2083 2083 5 2083 3184 5 2083 .I 2084 .T A Note on the Complement of Inherently Ambiguous Context-Free Languages .B CACM March, 1970 .A Maurer, H. A. .K ambiguity, inherent ambiguity, complement, context-free language, Chomsky-language, phrase structure language, production system, type 2 language, bounded language .C 5.22 5.24 .N CA700314 JB February 13, 1978 3:37 PM .X 2084 5 2084 2084 5 2084 2084 5 2084 .I 2085 .T Comment on a Paging Anomaly .B CACM March, 1970 .A Dempster, J. R. H. .K paging machines, demand paging, replacement algorithm .C 4.30 .N CA700313 JB February 13, 1978 3:39 PM .X 1892 4 2085 1901 4 2085 2022 4 2085 2085 4 2085 2085 4 2085 2095 4 2085 2218 4 2085 2277 4 2085 2319 4 2085 2329 4 2085 2358 4 2085 2373 4 2085 2380 4 2085 2434 4 2085 2499 4 2085 2501 4 2085 2582 4 2085 2669 4 2085 2828 4 2085 2863 4 2085 2881 4 2085 2928 4 2085 2996 4 2085 3006 4 2085 3006 4 2085 3067 4 2085 1751 5 2085 1884 5 2085 2085 5 2085 2085 5 2085 2085 5 2085 .I 2086 .T Another Method of Converting from Hexadecimal to Decimal .B CACM March, 1970 .A Kailas, M. V. .K binary-decimal conversion, computer arithmetic categories .N CA700312 JB February 13, 1978 3:41 PM .X 2086 5 2086 2086 5 2086 2086 5 2086 .I 2087 .T A Number System for the Permutations .B CACM March, 1970 .A Pager, D. .K permutation, ordering, number, number system, p-number, combinatorial .C 4.49 5.39 .N CA700311 JB February 13, 1978 3:42 PM .X 2087 4 2087 2189 4 2087 3188 4 2087 1594 5 2087 2087 5 2087 2087 5 2087 2087 5 2087 2189 5 2087 1594 6 2087 2087 6 2087 3191 6 2087 521 6 2087 .I 2088 .T Netflow (ALgorithm 336 $H)) .B CACM March, 1970 .A Bray, T. A. Witzgall, C. .K capacitated network, linear programming, minimum-cost flow, network flow, out-of-kilter .C 5.32 5.41 .N CA700310 JB February 13, 1978 3:44 PM .X 2088 5 2088 2088 5 2088 2088 5 2088 .I 2089 .T Prime Number (Algorithm 310 $A1)) .B CACM March, 1970 .A Rapp, D. G. Scott, L. D. .K prime numbers, generator .C 5.0 .N CA700309 JB February 13, 1978 3:45 PM .X 2089 5 2089 2089 5 2089 2089 5 2089 .I 2090 .T Symbolic Expansion of Algebraic Expressions (Algorithm 377 $R2)) .B CACM March, 1970 .A Levine, M. J. .K algebra, symbolic algebra, symbolic multiplication, algebraic distribution, algebraic multiplication, distribution algorithm, multiplication algorithm, product algorithm, polynomial distribution, polynomial expansion .C 3.10 3.17 3.20 4.13 4.90 .N CA700308 JB February 13, 1978 3:49 PM .X 2090 5 2090 2090 5 2090 2090 5 2090 .I 2091 .T PDEL-A Language for Partial Differential Equations .W Conventional computer methods available to solve continuous system problems characterized by partial differential equations are very time-consuming and cumbersome. A convenient, easy to learn and to use, high level problem oriented language to solve and study partial differential equation problems has been designed; a practical translator for the language has also been designed, and a working version of it has been constructed for a significant portion of the language. This Partial Differential Equation Language, PDEL, is outlined, and the highlights of the translator are briefly summarized. .B CACM March, 1970 .A Cardenas, A. F. Karplus, W. J. .K problem oriented or digital simulation language, partial differential equations, translator, PL/1, preprocessor PL/1, finite difference algorithms .C 3.1 3.2 4.22 5.17 .N CA700307 JB February 13, 1978 4:18 PM .X 1379 4 2091 1503 4 2091 1542 4 2091 1683 4 2091 1693 4 2091 1693 4 2091 1781 4 2091 1781 4 2091 1781 4 2091 1787 4 2091 1836 4 2091 1836 4 2091 1860 4 2091 1945 4 2091 1945 4 2091 2015 4 2091 2060 4 2091 2060 4 2091 2061 4 2091 2061 4 2091 2082 4 2091 2091 4 2091 2091 4 2091 2091 4 2091 2152 4 2091 2179 4 2091 2179 4 2091 2340 4 2091 2356 4 2091 2546 4 2091 2546 4 2091 2603 4 2091 2698 4 2091 2698 4 2091 2708 4 2091 2708 4 2091 2824 4 2091 2982 4 2091 2986 4 2091 3045 4 2091 3045 4 2091 3093 4 2091 1366 5 2091 1477 5 2091 1491 5 2091 2091 5 2091 2091 5 2091 2091 5 2091 .I 2092 .T A Deductive Question-Answer for Natural Language Inference .W The question-answering aspects of the Protosynthex III pro totype language processing system are described and exemplified in detail. The system is written in LISP 1.5 and operates on the Q-32 time-sharing system. The system's data structures and their semantic organization, the deductive question-answering formalism of relational properties and complex-relation-forming operators, and the question-answering procedures which employ these features in their operation are all described and illustrated. Examples of the system's performance and of the limitations of its question-answering capability are presented and discussed. It is shown that the use of semantic information in deductive question answering greatly facilitates the process, and that a top-down procedure which works from question to answer enables effective use to be made of this information. It is concluded that the development of Protosynthex III into a practically useful system to work with large data bases is possible but will require changes in both the data structures and the algorithms used for question answering. .B CACM March, 1970 .A Schwarcz, R. M. Burger, J. F. Simmons, R. F. .K question answering, natural language, Protosynthex III, LISP, semantics, artificial intelligence, computational linguistics, language processing, fact retrieval .C 3.42 3.61 .N CA700306 JB February 13, 1978 4:30 PM .X 2092 4 2092 2127 4 2092 1527 5 2092 2092 5 2092 2092 5 2092 2092 5 2092 2396 5 2092 1487 6 2092 1856 6 2092 2092 6 2092 2127 6 2092 .I 2093 .T A Comparison of Error Improvement Estimates for Adaptive Trapezoid Integration .W Various simple choices of error improvement estimates for the trapezoid rule are studied to demonstrate a comparison procedure which is relatively independent of the profusion of adaptive search and stopping strategies. Comparisons are based on x^r, `; the inclusion of the noninteger powers makes this more realistic than the usual polynomial based comparison. Behavior near the singularity was found to be the dominant factor, and a new estimate, based on a constant curvature assumption and parametric differences, was considered slightly better than the other choices considered. .B CACM March, 1970 .A Schweikert, D. G. .K adaptive integration, error improvement estimate, trapezoid rule, nonpolynomial error criteria .C 5.16 .N CA700305 JB February 13, 1978 4:47 PM .X 1352 4 2093 1352 4 2093 1352 4 2093 1352 4 2093 2048 4 2093 2048 4 2093 2074 4 2093 2074 4 2093 2074 4 2093 2093 4 2093 2093 4 2093 2093 4 2093 2093 4 2093 2093 4 2093 2093 4 2093 2550 4 2093 2550 4 2093 1092 5 2093 1298 5 2093 1573 5 2093 2093 5 2093 2093 5 2093 2093 5 2093 429 5 2093 834 5 2093 872 5 2093 .I 2094 .T On an Algorithm for Nonlinear Minimax Approximation .W Certain nonlinear minimax approximation problems are characterize d by properties which permit the application of special algorithms, mainly based on the exchange algorithms of Remes (1934, 1935), for their solution. In this paper the application to problems of this type of a general nonlinear algorithm due to Osborne and Watson (1969) is considered. Examples are given to illustrate that this algorithm can give satisfactory results and, in particular, can successfully solve problems which lead to difficulties with the more conventional specialist method. .B CACM March, 1970 .A Watson, G. A. .K minimax approximation, nonlinear approximation, linear programming .C 5.13 5.41 .N CA700304 JB February 13, 1978 4:52 PM .X 1932 4 2094 2094 4 2094 1566 5 2094 2094 5 2094 2094 5 2094 2094 5 2094 2352 5 2094 2353 5 2094 2094 6 2094 2094 6 2094 .I 2095 .T Measurements of Segment Size .W Distributions of segment sizes measured under routine operating con ditions on a computer system which utilizes variable sized segments (the Burroughs B5500) are discussed. The most striking feature of the measurements is the large number of small segments-about 60 percent of the segments in use contain less than 40 words. Although the results are certainly not installation independent, and although they are particularly influenced by features of the B5500 ALGOL system, they should be relevant to the design of new computer systems, especially with respect to the organization of paging schemes. .B CACM March, 1970 .A Batson, A. Ju, S. Wood, D. C. .K storage allocation, segmentation, segment sizes, page sizes, paging, resource allocation, memory allocation, core utilization .C 4.32 6.2 6.34 6.9 .N CA700303 JB February 13, 1978 4:58 PM .X 1879 4 2095 1884 4 2095 1892 4 2095 1892 4 2095 1901 4 2095 1901 4 2095 1924 4 2095 2085 4 2095 2095 4 2095 2095 4 2095 2095 4 2095 2095 4 2095 2218 4 2095 2218 4 2095 2218 4 2095 2277 4 2095 2277 4 2095 2297 4 2095 2297 4 2095 2319 4 2095 2329 4 2095 2358 4 2095 2365 4 2095 2373 4 2095 2374 4 2095 2380 4 2095 2434 4 2095 2499 4 2095 2498 4 2095 2501 4 2095 2526 4 2095 2582 4 2095 2596 4 2095 2667 4 2095 2668 4 2095 2669 4 2095 2734 4 2095 2828 4 2095 2862 4 2095 2863 4 2095 2863 4 2095 2881 4 2095 2902 4 2095 2911 4 2095 2928 4 2095 2996 4 2095 3000 4 2095 3006 4 2095 3067 4 2095 1728 5 2095 1751 5 2095 1754 5 2095 1879 5 2095 2095 5 2095 2095 5 2095 2095 5 2095 2218 5 2095 2734 5 2095 3000 5 2095 1380 6 2095 1572 6 2095 1728 6 2095 1751 6 2095 1752 6 2095 1810 6 2095 1879 6 2095 1879 6 2095 1879 6 2095 2095 6 2095 2095 6 2095 2095 6 2095 2864 6 2095 .I 2096 .T Experiments with the M & N Tree-Searching Program .W The M & N procedure is an improvement to the mini-max backing-up procedure widely used in computer program for game-playing and other purposes. It is based on the principle that it is desirable to have many options when making decisions in the face of uncertainty. The mini-max procedure assigns to a MAX (MIN) node the value of the highest (lowest) valued successor to that node. The M & N procedure assigns to a MAX (MIN) node some function of the M (N) highest (lowest) valued successors. An M & N procedure was written in LISP to play the game of kalah, and it was demonstrated that the M & N procedure is significantly superior to the mini-max procedure. The statistical significance of important conclusions is given. Since information on statistical significance has often been lacking in papers on computer experiments in the artificial intelligence field, these experiments can perhaps serve as a model for future work. .B CACM March, 1970 .A Slagle, J. R. Dixon, J. K. .K artificial intelligence, heuristic program, tree searching, LISP, kalah, game playing, decision theory, mini-max backing-up procedure, backing-up procedures .C 3.60 3.64 3.66 .N CA700302 JB February 14, 1978 8:34 AM .X 1515 4 2096 2096 4 2096 2127 4 2096 2210 4 2096 1155 5 2096 2096 5 2096 2096 5 2096 2096 5 2096 2215 5 2096 2096 6 2096 .I 2097 .T A Program to Teach Programming .W The TEACH system was developed at MIT to ease the cost and improve the results of elementary instruction in programming. To the student, TEACH offers loosely guided experience with a conversational language which was designed with teaching in mind. Faculty involvement is minimal. A term of experience with TEACH is discussed. Pedagogically, the system appears to be successful; straightforward reimplementation will make it economically successful as well. Similar programs of profound tutorial skill will appear only as the results of extended research. The outlines of his research are beginning to become clear. .B CACM March, 1970 .A Fenichel, R. R. Weizenbaum, J. Yochelson, J. C. .K elementary programming, computer-assisted learning, UNCL, TEACH .C 1.52 .N CA700301 JB February 14, 1978 8:42 AM .X 2097 5 2097 2097 5 2097 2097 5 2097 2153 5 2097 3003 5 2097 1659 6 2097 1678 6 2097 1927 6 2097 1945 6 2097 2097 6 2097 2097 6 2097 2147 6 2097 2163 6 2097 2187 6 2097 2329 6 2097 2345 6 2097 2367 6 2097 2407 6 2097 2478 6 2097 2479 6 2097 2480 6 2097 2538 6 2097 .I 2098 .T t-Test Probabilities (Algorithm 321); Student's t-Distribution (Algorithm 344) .B CACM February, 1970 .A Hill, G. W. Loughhead, M. .K t-test, Student's t-statistic, distribution function, approximation .C 5.12 5.5 .N CA700217 JB February 14, 1978 8:45 AM .X 2098 5 2098 2098 5 2098 2098 5 2098 .I 2099 .T Eigenvalues and Eigen vectors of a Real General Matrix (Algorithm 343 $F)) .B CACM February, 1970 .A Knoble, H. D. .K norm, characteristic equation, degenerate eigen-system, diagonalizable matrix, defective matrix .C 5.14 .N CA700216 JB February 14, 1978 9:43 AM .X 1876 4 2099 1968 4 2099 2099 4 2099 2099 4 2099 2335 4 2099 1662 5 2099 1707 5 2099 1968 5 2099 2099 5 2099 2099 5 2099 2099 5 2099 1662 6 2099 2099 6 2099 .I 2100 .T Ortho (Algorithm 127 $F5)) .B CACM February, 1970 .A Barrodale, I. .K orthogonalization, approximation .C 5.13 5.17 5.5 .N CA700215 JB February 14, 1978 9:45 AM .X 2100 5 2100 2100 5 2100 2100 5 2100 .I 2101 .T Least Squares Fit By f(x) = Acos(Bx+C) (Algorithm 376 $E2)) .B CACM February, 1970 .A Spath, H. .K nonlinear least squares fit .C 5.15 .N CA700214 JB February 14, 1978 9:47 AM .X 2101 4 2101 2102 4 2101 1639 5 2101 2101 5 2101 2101 5 2101 2101 5 2101 .I 2102 .T Fitting Data To One Exponential (Algorithm 375 $E2)) .B CACM February, 1970 .A Spath, H. .K nonlinear least squares fit .C 5.15 .N CA700213 JB February 14, 1978 9:49 PM .X 2101 4 2102 2102 4 2102 1639 5 2102 2102 5 2102 2102 5 2102 2102 5 2102 .I 2103 .T Restricted Partition Generator (Algorithm 374 $A1)) .B CACM February, 1970 .A White, J. S. .K partitions, restricted partitions, sums of integers, restricted sums .C 5.39 .N CA700212 JB February 14, 1978 9:49 AM .X 2103 4 2103 1218 5 2103 2103 5 2103 2103 5 2103 2103 5 2103 .I 2104 .T Number of Doubly Restricted Partitions (Algorithm 373 $A1)) .B CACM February, 1970 .A White, J. S. .K partitions, restricted partitions, sums of integers, restricted sums .C 5.39 .N CA700211 JB February 14, 1978 9:52 AM .X 2104 4 2104 2489 4 2104 1219 5 2104 2104 5 2104 2104 5 2104 2104 5 2104 2489 5 2104 1219 6 2104 2104 6 2104 .I 2105 .T An Interactive Computer System Using Graphical Flowchart Input .W An interactive computer system operational on a graphical computer terminal is described. This system was designed to demonstrate a method of programming by computer interpretation of a flowchart. The user draws a description of a sampled-data system and specifies description is transmitted to a large scale computer. The design is simulated, and a graphic representation of the processed signal is returned to the scope. A successful design may require numerous modifications of the original design. A graphical interactive system provides an environment to perform this iterative process efficiently and effectively. .B CACM February, 1970 .A Robins, M. F. Beyer, J. D. .K simulation program, graphical input-output sampled data systems .C 3.20 3.24 .N CA700210 JB February 14, 1978 9:57 AM .X 2003 5 2105 2105 5 2105 2105 5 2105 2105 5 2105 1710 6 2105 1767 6 2105 2105 6 2105 .I 2106 .T Computer Education in a Graduate School of Management .W Several years of experience have led to the belief that the creative design and evaluation of management information systems requires a thorough understanding of the related computer technology. Concepts such as paging and priority interrupt systems can best be explained at the machine language level. Any machine used for exposition should fulfill several criteria. It should: (1) raise as few spurious issues as possible; (2) allow, without undue effort, the solution of interesting problems; (3) be capable of exposing all outstanding issues of significance, capable of exposing all outstanding issues of significance, within the chosen machine; (4) be seful for pursuing issues in great depth when appropriate; (5) not be committed to the equipment provided by any manufacturer; (6) be able to provide the student with diagnostic aids to a great depth; (7) allow the student ready access to the machine; (8) be capable of extension to expose new issues as they come along. We have constructed a simulated machine and its associated software which meets these criteria. This system, called the PRISM system, is documented by a primer and a reference manual. .B CACM February, 1970 .A Ness, D. N. Green, R. S. Martin, W. A. Moulton, G. A. .K education, simulation, machine language, management information systems, interpreters .C 1.52 3.51 4.13 4.21 .N CA700209 JB February 14, 1978 10:15 AM .X 2106 5 2106 2106 5 2106 2106 5 2106 .I 2107 .T The Quadratic Quotient Method: A Hash Code Eliminating Secondary Clustering .W Secondary clustering as a cause of hash code inefficiency is discussed, and a new hashing method based on its elimination is presented. Comparisons with previous methods are made both analytically and empirically. .B CACM February, 1970 .A Bell, J. R. .K hashing, hash code, scatter storage, calculated address, clustering, search, symbol table, collisions, keys, table look-up .C 3.74 4.9 .N CA700208 JB February 14, 1978 10:18 AM .X 1676 4 2107 1682 4 2107 1728 4 2107 1860 4 2107 1860 4 2107 1973 4 2107 1973 4 2107 1992 4 2107 2018 4 2107 2018 4 2107 2032 4 2107 2033 4 2107 2033 4 2107 2107 4 2107 2107 4 2107 2109 4 2107 2109 4 2107 2203 4 2107 2203 4 2107 2251 4 2107 2251 4 2107 2359 4 2107 2524 4 2107 2543 4 2107 2543 4 2107 2552 4 2107 2559 4 2107 2573 4 2107 2770 4 2107 2991 4 2107 3053 4 2107 1785 5 2107 1786 5 2107 1973 5 2107 1992 5 2107 2107 5 2107 2107 5 2107 2107 5 2107 2138 5 2107 2203 5 2107 2251 5 2107 2530 5 2107 2537 5 2107 2543 5 2107 2559 5 2107 2573 5 2107 2991 5 2107 3053 5 2107 3083 5 2107 911 6 2107 1328 6 2107 1329 6 2107 1785 6 2107 1785 6 2107 1785 6 2107 1785 6 2107 1785 6 2107 1785 6 2107 1785 6 2107 1786 6 2107 1786 6 2107 1786 6 2107 1786 6 2107 1786 6 2107 1786 6 2107 1973 6 2107 1973 6 2107 1973 6 2107 1973 6 2107 1973 6 2107 1992 6 2107 332 6 2107 2018 6 2107 2018 6 2107 2107 6 2107 2107 6 2107 2107 6 2107 2107 6 2107 2107 6 2107 2107 6 2107 2107 6 2107 2107 6 2107 2107 6 2107 2107 6 2107 2107 6 2107 2107 6 2107 2107 6 2107 2109 6 2107 2109 6 2107 2109 6 2107 2109 6 2107 2109 6 2107 2203 6 2107 2412 6 2107 2530 6 2107 2537 6 2107 2543 6 2107 2543 6 2107 2552 6 2107 2673 6 2107 2707 6 2107 2770 6 2107 492 6 2107 .I 2108 .T A Variation on Sorting by Address Calculation .W The principles of address calculation and merging are combined to yield an efficient sorting technique. Detailed flowcharts of the most important program steps are included. The characteristics of the proposed sort are discussed. .B CACM February, 1970 .A Jones, B. .K sorting, address calculation, merging, order, sequence creation .C 4.49 5.31 .N CA700207 JB February 14, 1978 10:24 AM .X 2108 5 2108 2108 5 2108 2108 5 2108 .I 2109 .T The Use of Quadratic Residue Research .W A quadratic residue search method has previously been suggested to avoid the clustering usually encountered when hash address collisions occur and linear search methods are used. The search size, because of the property of quadratic residues, is limited to one half of the storage table. It is shown that for some classes of prime numbers the complement of the set of quadratic residues can easily be determined and hence the entire table of size p, where p is that prime number, can be searched. .B CACM February, 1970 .A Radke, C. E. .K quadratic residue, search method, hash addressing, address clustering, scatter storage, file searching, file addressing, hash coding, quadratic search, random search, storage layout, searching .C 3.7 3.73 3.74 .N CA700206 JB February 14, 1978 10:30 AM .X 1676 4 2109 1682 4 2109 1728 4 2109 1860 4 2109 1860 4 2109 1973 4 2109 1973 4 2109 1992 4 2109 2018 4 2109 2018 4 2109 2032 4 2109 2033 4 2109 2033 4 2109 2107 4 2109 2107 4 2109 2109 4 2109 2109 4 2109 2203 4 2109 2203 4 2109 2251 4 2109 2251 4 2109 2359 4 2109 2524 4 2109 2543 4 2109 2543 4 2109 2552 4 2109 2559 4 2109 2573 4 2109 2770 4 2109 2991 4 2109 3053 4 2109 1785 5 2109 1786 5 2109 1973 5 2109 2018 5 2109 2109 5 2109 2109 5 2109 2109 5 2109 2203 5 2109 2251 5 2109 2543 5 2109 2770 5 2109 2974 5 2109 3053 5 2109 911 6 2109 1329 6 2109 1785 6 2109 1785 6 2109 1785 6 2109 1785 6 2109 1785 6 2109 1785 6 2109 1786 6 2109 1786 6 2109 1786 6 2109 1786 6 2109 1786 6 2109 1786 6 2109 1869 6 2109 1973 6 2109 1973 6 2109 1973 6 2109 1973 6 2109 1992 6 2109 1992 6 2109 332 6 2109 2018 6 2109 2018 6 2109 2107 6 2109 2107 6 2109 2107 6 2109 2107 6 2109 2107 6 2109 2109 6 2109 2109 6 2109 2109 6 2109 2109 6 2109 2109 6 2109 2109 6 2109 2109 6 2109 2109 6 2109 2251 6 2109 2412 6 2109 2543 6 2109 2673 6 2109 2673 6 2109 2707 6 2109 2770 6 2109 492 6 2109 .I 2110 .T An Efficient Context-free Parsing Algorithm .W A parsing algorithm which seems to be the most efficient general context-free algorithm known is described. It is similar to both Knuth's LR(k) algorithm and the familiar top-down algorithm. It has a time bound proportional to n^3 (where n is the length of the string being parsed) in general; it has a n^2 bound for unambiguous grammars; and it runs in linear time on a large class of grammars, which seems to include most practical context-free programming language grammars. In an empirical comparison it appears to be superior to the top-down and bottom-up algorithms studied by Griffiths and Petrick. .B CACM February, 1970 .A Earley, J. .K syntax analysis, parsing, context-free grammar, compilers, computational complexity .C 4.12 5.22 5.23 .N CA700205 JB February 14, 1978 10:35 AM .X 1350 4 2110 1399 4 2110 1659 4 2110 1665 4 2110 1768 4 2110 1768 4 2110 1781 4 2110 1787 4 2110 1824 4 2110 1825 4 2110 1836 4 2110 1861 4 2110 1945 4 2110 2015 4 2110 2110 4 2110 2110 4 2110 2127 4 2110 2187 4 2110 2317 4 2110 2545 4 2110 2698 4 2110 2733 4 2110 3094 4 2110 1265 5 2110 1781 5 2110 1989 5 2110 2060 5 2110 2110 5 2110 2110 5 2110 2110 5 2110 2179 5 2110 2698 5 2110 2921 5 2110 3154 5 2110 1380 6 2110 1421 6 2110 1469 6 2110 1477 6 2110 1477 6 2110 1477 6 2110 1491 6 2110 1491 6 2110 1491 6 2110 1781 6 2110 1825 6 2110 210 6 2110 1869 6 2110 1989 6 2110 2015 6 2110 2046 6 2110 2110 6 2110 2110 6 2110 2110 6 2110 2110 6 2110 2110 6 2110 2110 6 2110 2556 6 2110 3133 6 2110 3184 6 2110 680 6 2110 799 6 2110 799 6 2110 .I 2111 .T Spelling Correction in Systems Programs .W Several specialized techniques are shown for efficiently incorporating spelling correction algorithms in to compilers and operating systems. These include the use of syntax and semantics information, the organization of restricted keyword and symbol tables, and the consideration of a limited class of spelling errors. Sample 360 coding for performing spelling correction is presented. By using systems which perform spelling correction, the number of debugging runs per program has been decreased, saving both programmer and machine time. .B CACM February, 1970 .A Morgan, H. L. .K spelling correction, error correction, debugging, compilers, operating systems, diagnostics, error detection, misspelling, lexical analysis systems programming .C 4.42 4.12 3.0 3.79 .N CA700204 JB February 14, 1978 10:40 AM .X 1112 4 2111 1179 4 2111 1288 4 2111 1544 4 2111 1592 4 2111 1592 4 2111 1646 4 2111 2111 4 2111 2111 4 2111 2111 4 2111 2111 4 2111 2339 4 2111 2339 4 2111 2339 4 2111 2534 4 2111 2556 4 2111 440 4 2111 2650 4 2111 1112 5 2111 1592 5 2111 2111 5 2111 2111 5 2111 2111 5 2111 2534 5 2111 2556 5 2111 2650 5 2111 2708 5 2111 2887 5 2111 619 5 2111 830 5 2111 830 6 2111 830 6 2111 830 6 2111 1477 6 2111 1491 6 2111 1646 6 2111 1787 6 2111 1787 6 2111 1935 6 2111 1936 6 2111 1959 6 2111 1973 6 2111 2111 6 2111 2111 6 2111 2111 6 2111 2111 6 2111 2111 6 2111 2182 6 2111 2534 6 2111 2556 6 2111 576 6 2111 680 6 2111 680 6 2111 799 6 2111 .I 2112 .T Translation Equations .W Input limited transduction expressions, or translation equations, are used to describe the syntax and left-context sensitive semantics for context-free languages. A formal procedure is given for deriving from a set of translation equations the specifications for a pushdown translator. The translator consists of Mealy form finite-state automata interacting by means of a pushdown stack. Within the framework described string recognition and parsing may be treated as special cases of the translation problem. .B CACM February, 1970 .A Vere, S. .K automata, Turing machines, regular expression, transduction expression, context-free languages, translation, recognizers, parsing, meta-compilers, pushdown transducer, syntax directed compilers, finite state automata .C 4.10 4.12 4.20 5.22 .N CA700203 JB February 14, 1978 10:49 AM .X 1323 4 2112 1358 4 2112 1380 4 2112 1665 4 2112 1781 4 2112 1787 4 2112 1989 4 2112 2112 4 2112 2534 4 2112 2541 4 2112 2698 4 2112 2733 4 2112 2820 4 2112 3073 4 2112 3155 4 2112 2112 5 2112 2112 5 2112 2112 5 2112 799 5 2112 .I 2113 .T The Multistore Parser for Hierarchical Syntactic Structures .W A syntactic parser is described for hierarchical concatenation patterns that are presented to the analyzer in the form of linear strings. Particular emphasis is given to the system of "significant addresses" by means of which processing times for large-scale matching procedures can be substantially reduced. The description makes frequent use of examples taken from the fully operational implementation of the parser in an experimental English sentence analyzer. By structuring an area of the computer's central core storage in such a way that the individual locations of bytes and bits come to represent the data involved in the matching procedure, the shifting of information is reduced to a minimum, and the searching of lists is eliminated altogether. The matches are traced by means of binary masks and the state of single bits determines the operational flow of the procedure. The method could be implemented with any interpretive grammar, provided it can be expressed by the functional classification of the items composing the input hierarchical structures. .B CACM February, 1970 .A von Glasersfeld, E. .K parsing, syntactic analysis, natural-language analysis, linguistic data processing, computational linguistics, correlational grammar, structure recognition, pattern recognition, matching procedures, tree-structure interpretation, machine translation, automatic abstracting .C 3.42 3.49 3.63 3.70 3.71 .N CA700202 JB February 14, 1978 12:57 PM .X 2113 5 2113 2113 5 2113 2113 5 2113 .I 2114 .T A Formal System for Information Retrieval from Files .W A generalized file structure is provided by which the concepts of keyword, index, record, file, directory, file structure, directory decoding, and record retrieval are defined and from which some of the frequently used file structures such as inverted files, index-sequential files, and multilist files are derived. Two algorithms which retrieve records from the generalized file structure are presented. .B CACM February, 1970 .A Hsiao, D. .K attribute-value pair, index, keyword, record, record address, K-pointer, K-list, file, directory, generalized file structure, inverted file, index-sequential-file, multilist file, description, file search, directory search, serial processing of lists, prime keyword, parallel processing of lists .C 3.70 3.73 3.74 .N CA700201 JB February 14, 1978 1:04 PM .X 2114 5 2114 2114 5 2114 2114 5 2114 2160 5 2114 2688 5 2114 2114 6 2114 2114 6 2114 .I 2115 .T Fortran Tausworthe Pseudorandom Number Generator .B CACM January, 1970 .A Payne, W. H. .K random numbers, pseudorandom numbers, shift register sequences .C 5.5 .N CA700116 JB February 14, 1978 1:06 PM .X 2115 4 2115 2115 4 2115 2122 4 2115 1691 5 2115 1930 5 2115 2115 5 2115 2115 5 2115 2115 5 2115 .I 2116 .T Interchange Rolls of Perforated Tape for Information Interchange* (Proposed American National Standard) .B CACM January, 1970 .K interchange, rolls, perforated tape, tape, information interchange, directional markers, leaders, trailers, roll-up tape, 9-track paper tape, dimensions .C 3.70 6.33 6.34 6.35 6.36 .N CA700115 JB February 14, 1978 1:14 PM .X 2116 5 2116 2116 5 2116 2116 5 2116 .I 2117 .T Representation for Calen dar Date for Machine-to-Machine Data Interchange* (Proposed American National Standard) .B CACM January, 1970 .K calendar date, machine-to-machine interchange, month, year, day, representation coded .C 3.70 3.73 3.74 3.9 .N CA700114 JB February 14, 1978 1:42 PM .X 2117 5 2117 2117 5 2117 2117 5 2117 .I 2118 .T An Efficient Algorithm for Sorting with Minimal Storage (Algorithm 347 $M1)) .B CACM January, 1970 .A Griffin, R. Redish, K. A. .K sorting,minimal storage sorting, digital computer sorting .C 5.31 .N CA700113 JB February 14, 1978 1:43 PM .X 1919 4 2118 1969 4 2118 2118 4 2118 2348 4 2118 2679 4 2118 3054 4 2118 1175 5 2118 2118 5 2118 2118 5 2118 2118 5 2118 .I 2119 .T Derivatives (Algorithm 282 $S22)) .B CACM January, 1970 .A Gautschi, W. Klein, B. J. .K recursive computation, successive derivatives, error control .C 5.11 5.12 .N CA700112 JB February 14, 1978 1:45 PM .X 1909 4 2119 2119 4 2119 2119 4 2119 2149 4 2119 1023 5 2119 2119 5 2119 2119 5 2119 2119 5 2119 2129 5 2119 2404 5 2119 2119 6 2119 .I 2120 .T An Algorithm to Produce Complex Primes, Csieve (Algorithm 372 $A1)) .B CACM January, 1970 .A Dunham, K. B. .K primes, complex numbers .C 5.39 .N CA700111 JB February 14, 1978 1:47 PM .X 1841 4 2120 1841 4 2120 1967 4 2120 2120 4 2120 2120 4 2120 2120 4 2120 2927 4 2120 2927 4 2120 1537 5 2120 1539 5 2120 1967 5 2120 377 5 2120 2120 5 2120 2120 5 2120 2120 5 2120 1539 6 2120 2120 6 2120 .I 2121 .T Partitions in Natural Order (Algorithm 371 $A1)) .B CACM January, 1970 .A McKay, J. K. S. .K partitions,number theory .C 5.39 .N CA700110 JB February 14, 1978 1:48 PM .X 2121 5 2121 2121 5 2121 2121 5 2121 .I 2122 .T General Random Number Generator (Algorithm 370 $G5)) .B CACM January, 1970 .A Butler, E. L. .K random number generator, probability density function, transformation, cumulative density function .C 5.13 5.5 .N CA700109 JB February 14, 1978 1:50 PM .X 1794 4 2122 1870 4 2122 2115 4 2122 2122 4 2122 2122 4 2122 1674 5 2122 1691 5 2122 2122 5 2122 2122 5 2122 2122 5 2122 .I 2123 .T Generator of Random Numbers Satisfying the Poisson Distribution (Algorithm 369 $G5)) .B CACM January, 1970 .A Schaffer, H. E. .K Poisson distribution, random number generator .C 5.5 .N CA700108 JB February 14, 1978 1:53 PM .X 2123 4 2123 1663 5 2123 2123 5 2123 2123 5 2123 2123 5 2123 .I 2124 .T Numerical Inversion of Laplace Transforms (Algorithm 368 $D5)) .B CACM January, 1970 .A Stehfest, H. .K Laplace transform inversion, integral transformations, integral equations .C 5.15 5.18 .N CA700107 JB February 14, 1978 1:55 PM .X 2124 5 2124 2124 5 2124 2124 5 2124 2591 5 2124 2124 6 2124 .I 2125 .T A Note on Minimal Length Polygonal Approximation to a Digitized Contour .W A method for extracting a smooth polygonal contour from a digitized image is illustrated. The ordered sequence of contour points and the connection graph of the image are first obtained by a modified Ledley algorithm in one image scan. A minimal perimeter polygon subjected to specified constraints is then chosen as the approximating contour. The determination of the minimal polygon can be reduced to a nonlinear programming problem, solved by an algorithm which takes into account the weak bonds between variables. Some examples are presented, and the corresponding computing times are listed. .B CACM January, 1970 .A Montanari, U. .K digitized image, connection tree, minimal polygon, optimal approximation, nonlinear programming .C 3.63 5.13 5.17 .N CA700106 JB February 14, 1978 2:00 PM .X 2125 5 2125 2125 5 2125 2125 5 2125 2987 5 2125 1326 6 2125 1630 6 2125 2125 6 2125 2547 6 2125 2633 6 2125 421 6 2125 524 6 2125 .I 2126 .T Experience with an Extensible Language .W An operational extensible language system is described. The system and its base language are appraised with respect to efficiency, flexibility, and utility for different categories of users. .B CACM January, 1970 .A Irons, E. T. .K programming languages, extensible, compiler, bootstrapping, ambiguity .C 4.12 4.22 .N CA700105 JB February 14, 1978 2:02 PM .X 249 4 2126 254 4 2126 272 4 2126 1046 4 2126 1102 4 2126 1105 4 2126 1109 4 2126 1139 4 2126 1140 4 2126 1140 4 2126 1188 4 2126 1234 4 2126 1263 4 2126 1265 4 2126 1306 4 2126 1464 4 2126 1491 4 2126 1496 4 2126 1693 4 2126 1767 4 2126 1781 4 2126 1781 4 2126 1781 4 2126 1787 4 2126 1824 4 2126 1824 4 2126 1861 4 2126 1945 4 2126 1949 4 2126 321 4 2126 2059 4 2126 2126 4 2126 2126 4 2126 2126 4 2126 2126 4 2126 2126 4 2126 2317 4 2126 2546 4 2126 435 4 2126 437 4 2126 463 4 2126 464 4 2126 483 4 2126 491 4 2126 2732 4 2126 560 4 2126 583 4 2126 584 4 2126 3073 4 2126 627 4 2126 631 4 2126 631 4 2126 632 4 2126 642 4 2126 644 4 2126 653 4 2126 653 4 2126 680 4 2126 680 4 2126 691 4 2126 761 4 2126 762 4 2126 763 4 2126 763 4 2126 795 4 2126 799 4 2126 123 4 2126 140 4 2126 919 4 2126 945 4 2126 989 4 2126 196 5 2126 1614 5 2126 1693 5 2126 2126 5 2126 2126 5 2126 2126 5 2126 2317 5 2126 2546 5 2126 404 5 2126 823 5 2126 1198 6 2126 1477 6 2126 1491 6 2126 1572 6 2126 1693 6 2126 1749 6 2126 1753 6 2126 1781 6 2126 2126 6 2126 2126 6 2126 2148 6 2126 404 6 2126 3184 6 2126 .I 2127 .T Natural Language Question-Answering Systems: 1969 .W Recent experiments in programming natural language question-answering systems are reviewed to summarize the methods that have been developed for syntactic, semantic, and logical analysis of English strings. It is concluded that at least minimally effective techniques have been devised for answering questions from natural language subsets in small scale experimental systems and that a useful paradigm has evolved to guide research efforts in the field. Current approaches to semantic analysis and logical inference are seen to be effective beginnings but of questionable generality with respect either to subtle aspects of meaning or to applications over large subsets of English. Generalizing from current small-scale experiments to language-processing systems based on dictionaries with thousands of entries-with correspondingly large grammars and semantic systems-may entail a new order of complexity and require the invention and development of entirely different approaches to semantic analysis and questions answering. .B CACM January, 1970 .A Simmons, R. F. .K question-answering, natural language, artificial intelligence,language processing, fact retrieval, semantics .C 3.6 3.64 3.7 3.74 .N CA700104 JB February 14, 1978 2:10 PM .X 1155 4 2127 1400 4 2127 1456 4 2127 1468 4 2127 1515 4 2127 1515 4 2127 1553 4 2127 1665 4 2127 1699 4 2127 1768 4 2127 1787 4 2127 1824 4 2127 1825 4 2127 1836 4 2127 1856 4 2127 1861 4 2127 1945 4 2127 2015 4 2127 2096 4 2127 2092 4 2127 2110 4 2127 2127 4 2127 2127 4 2127 2127 4 2127 2127 4 2127 2127 4 2127 2127 4 2127 2187 4 2127 2210 4 2127 2309 4 2127 2310 4 2127 2317 4 2127 2396 4 2127 2396 4 2127 2545 4 2127 2698 4 2127 2730 4 2127 2733 4 2127 1155 5 2127 1324 5 2127 1487 5 2127 1527 5 2127 1781 5 2127 1856 5 2127 2127 5 2127 2127 5 2127 2127 5 2127 2178 5 2127 2396 5 2127 2561 5 2127 1303 6 2127 1323 6 2127 1487 6 2127 1856 6 2127 2059 6 2127 2092 6 2127 2127 6 2127 2127 6 2127 2127 6 2127 3184 6 2127 .I 2128 .T A Processor Allocation Method for Time-Sharing .W A scheduling algorithm is proposed which is intended to minimize changes of tasks on processors and thereby reduce over-head. The algorithm also has application to more general resource allocation problems. It is implemented by means of a method for efficiently handling dynamically changing segmented lists. .B CACM January, 1970 .A Mullery, A. P. Driscoll, G. C. .K time sharing, resource allocation, scheduling algorithms, monitors, dynamic allocation, processor allocation, multiprogramming, multiprocessing, time slicing, scheduling, conversational systems, interactive systems .C 3.80 4.30 4.31 4.32 6.33 .N CA700103 JB February 14, 1978 2:15 PM .X 1751 4 2128 1892 4 2128 2128 4 2128 2218 4 2128 1752 5 2128 2128 5 2128 2128 5 2128 2128 5 2128 .I 2129 .T Recursive Computation of Certain Derivatives-A Study of Error Propagation .W A brief study is made of the propagation of errors in linear first-order difference equations. The recursive computation of successive derivatives of (e^x)/x and (cos x)/x is considered as an illustration. .B CACM January, 1970 .A Gautschi, W. .K recursive computation, successive derivatives, error propagation .C 5.11 5.12 .N CA700102 JB February 14, 1978 2:18 PM .X 2129 4 2129 1449 5 2129 2119 5 2129 2129 5 2129 2129 5 2129 2129 5 2129 2149 5 2129 1023 6 2129 2129 6 2129 2129 6 2129 .I 2130 .T Automatic Segmentation of Cyclic Program Structures Based on Connectivity and Processor Timing .W Time-shared, multiprogrammed, and overlayed batch systems frequently require segmentation of computer programs into discrete portions. These program portions are transferred between executable and peripheral storage whenever necessary; segmentation of program s in a manner that reduces the frequency of such transfers is the subject of this paper. Segmentation techniques proposed by C. V. Ramamoorthy are subject to limitations that arise when the preferred segment size is not compatible with the physical restrictions imposed by the available computing equipment. A generalization of Ramamoorthy's suggestions is made in order to allow their application when circumstances are other than ideal. .B CACM January, 1970 .A Lowe, T. C. .K automatic segmentation, cyclic program structures, loops, paging, multiprogramming, loaders, assemblers, compilers, time-sharing, program connectivity .C 4.19 5.24 5.32 .N CA700101 JB February 14, 1978, 2:20 PM .X 2130 4 2130 1916 5 2130 2130 5 2130 2130 5 2130 2130 5 2130 2582 5 2130 1751 6 2130 1924 6 2130 2017 6 2130 2130 6 2130 .I 2131 .T Rapid Computation of Weights of Interpolatory Quadrature Rules [D1] (Algorithm 417) .B CACM December, 1971 .A Gustafson, S. .K divided differences .C 5.16 .N CA711212 JB February 2, 1978 9:33 AM .X 2131 4 2131 2132 4 2131 2131 5 2131 2131 5 2131 2131 5 2131 2135 5 2131 2131 6 2131 2132 6 2131 .I 2132 .T Rapid Computation of Coefficients of Interpolation Formulas [E1] (Algorithm 416) .B CACM December, 1971 .A Gustafson, S. .K divided differences, Newton's interpolation formula .C 5.13 .N CA711211 JB February 2, 1978 9:36 AM .X 2131 4 2132 2132 4 2132 2135 5 2132 2132 5 2132 2132 5 2132 2132 5 2132 2131 6 2132 2132 6 2132 .I 2133 .T Algorithm for the Assignment Problem (Rectangular Matrices) [H] (Algorithm 415) .B CACM December, 1971 .A Bourgeois, F. Lassalle, J. C. .K operations research, optimization theory, assignment problem, rectangular matrices .C 5.39 5.40 .N CA711210 JB February 2, 1978 9:38 AM .X 2133 4 2133 2133 4 2133 2134 4 2133 124 5 2133 2133 5 2133 2133 5 2133 2133 5 2133 2134 5 2133 .I 2134 .T An Extension of the Munkres Algorithm for the Assignment Problem to Rectangular Matrices .W The assignment problem, together with Munkres proposed algorithm for its solution in square matrices, is presented first. Then the authors develop an extension of this algorithm which permits a solution for rectangular matrices. Timing results obtained by using an adapted version of Silver's Algol procedure are discussed, and a relation between solution time and problem size is given. .B CACM December, 1971 .A Bourgeois, F. Lassalle, J. .K operations research, optimization theory, assignment problem, rectangular matrices, algorithm .C 5.39 5.40 .N CA711209 JB February 2, 1978 9:46 AM .X 2133 4 2134 2134 4 2134 124 5 2134 2133 5 2134 2134 5 2134 2134 5 2134 2134 5 2134 124 6 2134 2134 6 2134 .I 2135 .T Rapid Computation of General Interpolation Formulas and Mechanical Quadrature Rules .W Let f have n continuous on a closed interval [a,b] and let L be a linear functional. The attempt is made to approximate L (f) with L (Q) where Q is a polynomial, approximating f. Algorithms are developed for rapid computation of L (Q) for a wide class of selections of Q which includes the Lagrangian and Hermitian rules as special cases. .B CACM December, 1971 .A Gustafson, S. .K linear functionals, divided differences, Newton's interpolation formula .C 5.13 5.16 .N CA711208 JB February 2, 1978 9:49 AM .X 2135 4 2135 2135 4 2135 2131 5 2135 2135 5 2135 2135 5 2135 2135 5 2135 2132 5 2135 2135 6 2135 2135 6 2135 .I 2136 .T A Note on "A Modification of Nordsieck's Method Using an 'Off-Step' Point" .B CACM December, 1971 .A Blumberg, J. W. Foulk, C. R. .K ordinary differential equations, multi-step methods, predictor, corrector, round-off error, Nordsieck's method, Gragg-Stetter modification .C 5.11 5.16 5.17 .N CA711207 JB February 2, 1978 9:52 AM .X 2136 5 2136 2136 5 2136 2136 5 2136 .I 2137 .T New LISP Techniques for a Paging Environment .W The system described herein employs the block concept, and that of global and local variables, in addition to the methods applied in most LISP systems. Also, a new means of list representation is used: "local sequential" for lists created during compilation, and "block level sequential" for those created dynamically. A new garbage collection algorithm has been introduced to make lists as compact as possible; partial garbage collection is performed after each block exit instead of total garbage collection when storage is exhausted. The algorithm does not use the customary flagging procedure. This combination of features has eliminated the need for a free list, and effectively minimizes the number of pages used at any moment. .B CACM December, 1971 .A Rochfeld, A. .K LISP, list processing, paging, virtual memory, garbage collection, core fragmentation, compact list structures, block, segment .C 4.12 4.22 4.32 .N CA711206 JB February 2, 1978 10:01 AM .X 1073 4 2137 2137 4 2137 2276 4 2137 1153 5 2137 2137 5 2137 2137 5 2137 2137 5 2137 .I 2138 .T BLISS: A Language for Systems Programming .W A language, BLISS, is described. This language is designed so as to be especially suitable for use in writing production software systems for a specific machine (the PDP-10): compilers, operating systems, etc. Prime design goals of the design are the ability to produce highly efficient object code, to allow access to all relevant hardware features of the host machine, and to provide a rational means by which to cope with the evolutionary nature of systems programs. A major feature which contributes to the realization of these goals is a mechanism permitting the definition of the representation of all data structures in terms of the access algorithm for elements of the structure. .B CACM December, 1971 .A Wulf, W. A. Russell, D. B. .K programming languages, implementation language, systems programming, data structures .C 4.12 4.21 4.22 .N CA711205 JB February 2, 1978 10:09 AM .X 1973 4 2138 1992 4 2138 2138 4 2138 2203 4 2138 2251 4 2138 2530 4 2138 2537 4 2138 2543 4 2138 2559 4 2138 2573 4 2138 2991 4 2138 3053 4 2138 3083 4 2138 2107 5 2138 2138 5 2138 2138 5 2138 2138 5 2138 2411 5 2138 2709 5 2138 2889 5 2138 2937 5 2138 2989 5 2138 3005 5 2138 3025 5 2138 3101 5 2138 1069 6 2138 1425 6 2138 2138 6 2138 2138 6 2138 2138 6 2138 2138 6 2138 2138 6 2138 2138 6 2138 2138 6 2138 2138 6 2138 2193 6 2138 2204 6 2138 2326 6 2138 2388 6 2138 2438 6 2138 2456 6 2138 2455 6 2138 2477 6 2138 2989 6 2138 3185 6 2138 .I 2139 .T Implementation of the Substring Test by Hashing .W A technique is described for implementing the test which determines if one string is a substring of another. When there is low probability that the test will be satisfied, it is shown how the operation can be speeded up considerably if it is preceded by a test on appropriately chosen hash codes of the strings. .B CACM December, 1971 .A Harrison, M. C. .K substring, hashing, subset, signature, information compression, information retrieval, searching .C 3.74 5.30 5.6 .N CA711204 JB February 2, 1978 10:14 AM .X 2139 5 2139 2139 5 2139 2139 5 2139 2532 5 2139 2631 5 2139 2746 5 2139 3001 5 2139 1665 6 2139 1739 6 2139 2033 6 2139 2139 6 2139 2139 6 2139 2139 6 2139 2139 6 2139 2532 6 2139 2545 6 2139 2786 6 2139 .I 2140 .T Retrieval-Update Speed Tradeoffs Using Combined Indices .W In a paper in the November 1970 Communications of the ACM, V. Y. Lum introduced a technique of file indexing named combined indices. This technique permitted decreased retrieval time at the cost of increased storage space. This paper examines combined indices under conditions of file usage with different fractions of retrieval and update. Tradeoff curves are developed to show minimal cost of file usage by grouping various partially combined indices. .B CACM December, 1971 .A Mullin, J. K. .K file organization, combined index files, inverted files, information retrieval, query, multi-attribute retrieval, file update .C 3.73 3.74 3.79 .N CA711203 JB February 2, 1978 10:18 AM .X 2140 4 2140 2452 4 2140 2765 4 2140 2901 4 2140 3134 4 2140 1976 5 2140 2140 5 2140 2140 5 2140 2140 5 2140 .I 2141 .T Algorithmic Selection of the Best Method for Compressing Map Data Strings .W The best of a dozen different methods for compressing map data is illustrated. The choices are generated by encoding data strings-sequence of like codes-by three methods and in four directions. Relationships are developed between compression alternatives to avoid comparing all of them. The technique has been used to compress data from forest resource maps, but is widely applicable to map and photographic data reduction. .B CACM December, 1971 .A Amidon, E. L. Akin, G. S. .K data compression, map storage, information retrieval, input/output, run coding, data reduction .C 3.71 3.74 .N CA711202 JB February 2, 1978 10:23 AM .X 2141 5 2141 2141 5 2141 2141 5 2141 .I 2142 .T Reconstruction of Pictures from Their Projections .W There are situations in the natural sciences and medicine (e.g. in electron microscopy and X-ray photography) in which it is desirable to estimate the gray levels of a digital picture at the individual points from the sums of the gray levels along straight lines (projections) at a few angles. Usually, in such situations, the picture is far from determined and the problem is to find the "most representative" picture. Three algorithms are described (all using Monte Carlo methods) which were designed to solve this problem. The algorithms are applicable in a large and varied number of fields. The most important uses may be the reconstruction of possibly asymmetric particles from electron micrographs and three-dimensional X-ray analysis. .B CACM December, 1971 .A Gordon,R. Herman, G. T. .K approximation, biomedical image processing, efficient encoding, image processing, linear programming, mathematical programming, Monte Carlo techniques, optimization, picture compression, picture description, picture processing, stereology, X-ray analysis .C 3.12 3.13 3.15 3.17 3.63 5.41 5.6 .N CA711201 JB February 2, 1978 10:32 AM .X 2142 4 2142 2142 4 2142 2529 4 2142 1929 5 2142 2142 5 2142 2142 5 2142 2142 5 2142 2231 5 2142 .I 2143 .T Chebyshev Approximation of Continuous Functions by a Chebyshev System of Functions [E2] (Algorithm 414) .B CACM November, 1971 .A Bolub, G. H. Smith, L. B. .K approximation, Chebyshev approximation, Remex algorithm .C 5.13 .N CA711106 JB February 2, 1978 10:35 AM .X 2143 4 2143 1734 5 2143 2143 5 2143 2143 5 2143 2143 5 2143 .I 2144 .T On Accurate Floating-Point Summation .W The accumulation of floating-point sums is considered on a computer which performs t-digit base B floating-point addition with exponents in the range -m to M. An algorithm is given for accurately summing N t-digit floating-point numbers. Each of these N numbers is split into q parts, forming qN t-digit floating-point numbers. Each of these is then added to the appropriate one of n auxiliary t-digit accumulators. Finally, the accumulators are added together to yield the computed sum. In all, qN+n-1 t-digit floating-point additions are performed. Under usual conditions, the relative error in the computed sum is at most [(t+1)/v]B^(1-t) for some v. Further, with an additional q+n-1 t-digit additions, the computed sum can be corrected to full t-digit accuracy. For example, for the IBM/360 (B=16, t=14, M=63, m=64), typical values for q and n are q=2 and n=32. In this case, (*) becomes N <= 32,768, and we have [(t+1)/v]B^(1-t) = 4x16^-13. .B CACM November, 1971 .A Malcolm, M. A. .K floating-point summation, error analysis .C 5.11 5.19 .N CA711105 JB February 2, 1978 10:48 AM .X 1328 4 2144 1333 4 2144 2144 4 2144 1052 5 2144 2144 5 2144 2144 5 2144 2144 5 2144 .I 2145 .T Automation of Etching-Pattern Layout .W HELP (Heuristic Etching-Pattern Layout Program) is an application program developed to computerize the tedious and error-prone although vitally important wiring design of printed circuit boards. HELP helps automate a design stage one step closer to production than logical design. It can be used to design wiring patterns of two-layer circuit boards on which ICs in dual-in-line packages as well as discrete components such as transistors and resistors have been placed. HELP employs two methods of wiring. One is the heuristic method, which simulates human approaches to wiring design, and the other is the theoretically interesting but time-consuming method of maze-running, based on the Lee's algorithm. HELP performs more than 90 percent of required wiring by the heuristic path with respect to a performance function for each point-to-point, and point-to-line connection. It can bring the number of successful wiring connections very close to 100 percent. .B CACM November, 1971 .A Aramaki, I. Kawabata, T. Kazuhiko, A. .K heuristic etching-pattern layout, wiring design of printed circuit board, maze-running, Lee's algorithm .C 3.24 3.66 4.9 6.9 .N CA711104 JB February 2, 1978 10:58 AM .X 2145 5 2145 2145 5 2145 2145 5 2145 .I 2146 .T Optimizing the Polyphase Sort .W Various dispersion algorithms for the polyphase sorting procedure are examined.The optimum algorithm based on minimizing the total number of unit strings read is displayed. The logic of this algorithm is rather complicated; hence, several other new dispersion algorithms with more straightforward logic are presented. Of the simple dispersion algorithms discussed, the Horizontal is best. It does approximately one-fourth to one and one-half percent less reading and writing than most algorithms in use today. An additional two and one-fourth to three percent improvement can be achieved by utilizing the Modified Optimum Algorithm. This algorithm is relatively straightforward, but it requires a fairly close estimate of the total number of unit strings before the dispersion begins. .B CACM November, 1971 .A Shell, D. L. .K sorting, polyphase sorting, dispersion algorithms, optimum dispersion algorithm, repetition operator .C 5.31 .N CA711103 JB February 2, 1978 11:39 AM .X 1117 4 2146 1117 4 2146 2017 4 2146 2017 4 2146 2017 4 2146 2146 4 2146 2146 4 2146 2146 4 2146 2146 4 2146 479 4 2146 677 4 2146 860 4 2146 861 4 2146 862 4 2146 863 4 2146 299 5 2146 2146 5 2146 2146 5 2146 2146 5 2146 862 5 2146 863 5 2146 861 5 2146 .I 2147 .T Using Computers in Higher Education: Past Recommendations, Status, and Needs .W Data from a survey conducted with National Science foundation support, which was published in December 1970, is reviewed, and it is pointed out that, with regard to computers in higher education, national goals stated in the Rosser and Pierce Reports have not been attained. Quality was lacking in hardware or courses in nearly half of the associate and bachelor's degree programs in data processing, computer science, etc., offered in 1966-67. A plea is made for continuing studies on status and goals for computing in higher education, improvement of degree programs, and a national testing laboratory for educational technology. .B CACM November, 1971 .A Hamblen, J. W. .K higher education, computers, degree programs, national goals, testing laboratory, educational technology .C 1.50 1.52 1.53 2.45 3.51 .N CA711102 JB February 2, 1978 11:44 AM .X 1720 4 2147 1927 4 2147 2147 4 2147 2163 4 2147 2345 4 2147 2478 4 2147 2594 4 2147 2852 4 2147 2899 4 2147 3130 4 2147 1771 5 2147 2147 5 2147 2147 5 2147 2147 5 2147 3003 5 2147 1659 6 2147 1678 6 2147 1927 6 2147 1945 6 2147 2097 6 2147 2147 6 2147 2163 6 2147 2187 6 2147 2329 6 2147 2345 6 2147 2367 6 2147 2407 6 2147 2478 6 2147 2479 6 2147 2480 6 2147 2538 6 2147 .I 2148 .T The Composition of Semantics in Algol 68 .W The main features of Algol 68 are explained from a semantic point of view. It is shown how the language permits the composition of values and actions, i.e. ultimately programs, from a minimum set of primitives with a few fundamental recursive rules of composition. The associated syntax is briefly reviewed. An attempt has been made to obtain a structured and simple introduction to both Algol 68 and its orthogonal design. .B CACM November, 1971 .A Branquart, P. Lewi, J. Sintzoff, M. Wodon, P. L. .K programming primitives, programming languages, Algol, semantics, recursive composition, design of programming languages, data structures .C 1.3 4.2 4.22 5.23 5.24 .N CA711101 JB February 2, 1978 11:49 AM .X 2148 5 2148 2148 5 2148 2148 5 2148 2314 5 2148 2317 5 2148 2842 5 2148 1098 6 2148 1198 6 2148 1572 6 2148 1626 6 2148 1693 6 2148 1749 6 2148 1753 6 2148 1781 6 2148 210 6 2148 2060 6 2148 2082 6 2148 2126 6 2148 2148 6 2148 2148 6 2148 2148 6 2148 2192 6 2148 3184 6 2148 .I 2149 .T ENTCAF and ENTCRE: Evaluation of Normalized Taylor Coefficients of an Analytic Function [C5] (Algorithm 413) .B CACM October, 1971 .A Lyness, J. N. .K Taylor coefficients, Taylor series, Cauchy integral, numerical integration, numerical differentiation, interpolation, complex variable, complex arithmetic, fast Fourier transform .C 5.12 5.13 5.16 .N CA711007 JB February 2, 1978 11:53 AM .X 2119 4 2149 2149 4 2149 2129 5 2149 2149 5 2149 2149 5 2149 2149 5 2149 .I 2150 .T Concurrent Control with "Readers" and "Writers" .W The problem of the mutual exclusion of several independent processes from simultaneous access to a "critical section" is discussed for the case where there are two distinct classes of processes known as "readers" and "writers." The "readers" may share the section with each other, but the "writers" must have exclusive access. Two solutions are presented: one of the case where we wish minimum delay for the readers; the other for the case where we wish writing to take place as early as possible. .B CACM October, 1971 .A Courois, P. J. Heymans, F. Parnas, D. L. .K mutual exclusion, critical section, shared access to resources .C 4.30 4.32 .N CA711006 JB February 2, 1978 11:58 AM .X 1781 4 2150 1828 4 2150 1854 4 2150 1877 4 2150 1960 4 2150 2150 4 2150 2150 4 2150 2150 4 2150 2228 4 2150 2228 4 2150 2256 4 2150 2256 4 2150 2317 4 2150 2317 4 2150 2319 4 2150 2377 4 2150 2342 4 2150 2342 4 2150 2342 4 2150 2376 4 2150 2376 4 2150 2379 4 2150 2424 4 2150 2482 4 2150 2618 4 2150 2618 4 2150 2618 4 2150 2632 4 2150 2704 4 2150 2723 4 2150 2738 4 2150 2740 4 2150 2741 4 2150 2867 4 2150 3184 4 2150 3184 4 2150 1198 5 2150 1338 5 2150 1749 5 2150 2150 5 2150 2150 5 2150 2150 5 2150 2320 5 2150 2597 5 2150 2777 5 2150 2851 5 2150 2895 5 2150 2912 5 2150 2946 5 2150 3128 5 2150 1877 6 2150 2080 6 2150 2150 6 2150 2150 6 2150 2150 6 2150 2150 6 2150 2150 6 2150 2150 6 2150 2150 6 2150 2150 6 2150 2320 6 2150 2376 6 2150 2436 6 2150 2597 6 2150 2618 6 2150 2865 6 2150 2866 6 2150 2866 6 2150 2870 6 2150 2912 6 2150 3082 6 2150 .I 2151 .T User Program Measurement in a Time-Shared Environment .W A general discussion of the measurement of software systems is followed by a description of a hardware and software scheme for measuring user programs in a time-shared environment. The TX-2 computer at MIT Lincoln Laboratory was used for the implementation of such a system and the characteristics of this implementation are reported. A scenario showing the system in use is presented. Finally, it is shown how other time-sharing systems may provide similar measuring facilities. .B CACM October, 1971 .A Nemeth, A. G. Rovner, P. D. .K operating systems, multiprogramming systems, time-sharing systems, software measurement, user program measurement, measurement technology, TX-2 computer, virtual computers, performance improvement .C 4.30 4.32 4.42 4.43 .N CA711005 JB February 2, 1978 1:05 PM .X 1957 4 2151 2151 4 2151 2151 4 2151 2151 4 2151 2318 4 2151 3103 4 2151 3148 4 2151 1653 5 2151 1747 5 2151 1860 5 2151 2151 5 2151 2151 5 2151 2151 5 2151 2719 5 2151 2967 5 2151 1626 6 2151 210 6 2151 2151 6 2151 2151 6 2151 2167 6 2151 2210 6 2151 2645 6 2151 2657 6 2151 .I 2152 .T Display Procedures .W Although the use of structured display files is widespread in interactive computer graphics, these structures present a number of problems which tend to restrict their generality and usefulness. This paper discusses some of these problems, and suggests an alternative approach to display system design which avoids the use of structured display files. This technique employs display procedures to generate information for display. By including transformations within calls to these procedures it is possible both to simplify the specification of pictures and to speed up their generation. Display procedures permit picture elements to be defined conditionally and also facilitate the processing of inputs from pointing devices. The paper is illustrated by examples from aversion of the EULER language in which display procedures were implemented. .B CACM October, 1971 .A Newman, W. M. .K computer graphics, programming languages, display files .C 4.20 4.41 .N CA711004 JB February 2, 1978 1:11 PM .X 1542 4 2152 1683 4 2152 1693 4 2152 1781 4 2152 1787 4 2152 1836 4 2152 1945 4 2152 2003 4 2152 2002 4 2152 2060 4 2152 2061 4 2152 2082 4 2152 2091 4 2152 2152 4 2152 2152 4 2152 2179 4 2152 2340 4 2152 2356 4 2152 2546 4 2152 2603 4 2152 2698 4 2152 2708 4 2152 2824 4 2152 2982 4 2152 2986 4 2152 3045 4 2152 3093 4 2152 1491 5 2152 1767 5 2152 2152 5 2152 2152 5 2152 2152 5 2152 .I 2153 .T Experiments with an Automated Instructional System for Numerical Methods .W A computer system was developed at Purdue University to teach portions of an undergraduate course in numerical methods. Each instructional unit or lesson is divided into three modes of instruction which allow the student to press from a computer-controlled presentation to a student-controlled investigation. The system is designed as a classroom-independent course of study, and has been used for two semesters by students in lieu of conventional classroom instruction. Initial measures of effectiveness, student acceptance, and operational cost are the result of testing the system independent of instructor intervention. The system is operational on a CDC 6500 with teletype terminals. .B CACM October, 1971 .A Oldehoeft, A. E. Conte, S. D. .K computer-assisted instruction, numerical methods, CAI, instructional systems .C 1.52 3.62 5.10 .N CA711003 JB February 2, 1978 1:22 PM .X 2153 4 2153 3003 4 2153 2097 5 2153 2153 5 2153 2153 5 2153 2153 5 2153 .I 2154 .T Clarification of Fortran Standards-Second Report .W In 1966, after four years of effort, Fortran became the first programming language standardized in the United States. Since that initial achievement study and application of the standard specifications have revealed the need for maintenance of the standards. As the result of work initiated in 1967, an initial set of clarifying interpretations was prepared and this clarification was published in Communications of the ACM in May 1969. That work has continued and has resulted in the preparation of this second set of clarifying interpretations. The nature of the maintenance and the new set of corrections to and interpretations of the standard specifications are reported. .B CACM October, 1971 .A ANSI Subcommittee X3J3 .K American National Standard, Fortran, Basic Fortran, programming language, standardization, language standard specification, language standard maintenance, language standard clarification, language standard interpretation, standardization committee .C 1.2 2.0 2.19 2.2 2.3 4.0 4.12 4.19 4.20 4.22 4.29 4.43 5.23 5.9 6.9 .N CA711002 JB February 2, 1978 1:30 PM .X 1613 4 2154 1646 4 2154 1845 4 2154 1900 4 2154 1900 4 2154 1955 4 2154 2025 4 2154 2083 4 2154 2154 4 2154 2154 4 2154 2154 4 2154 2270 4 2154 2365 4 2154 2506 4 2154 2693 4 2154 2915 4 2154 3060 4 2154 3060 4 2154 987 5 2154 988 5 2154 1900 5 2154 2154 5 2154 2154 5 2154 2154 5 2154 3060 5 2154 987 6 2154 1900 6 2154 2154 6 2154 .I 2155 .T Toward an Understanding of Data Structures .W This paper presents a notation and formalism for describing the semantics of data structures. This is based on directed graphs with named edges and transformations on these graphs. In addition, an implementation facility is described which could be part of a programming language, which allows a programmer who has expressed the semantics of an algorithm in terms of the graphs to then specify the implementation of some of his data structures in order to gain efficiency. .B CACM October,1971 .A Earley, J. .K data structures, graph, implementation, semantic formalism, programming language .C 4.22 4.9 5.24 .N CA711001 JB February 2, 1978 1:35 PM .X 1024 4 2155 1051 4 2155 1051 4 2155 1102 4 2155 1132 4 2155 1390 4 2155 1486 4 2155 1549 4 2155 1552 4 2155 1665 4 2155 1706 4 2155 1826 4 2155 1860 4 2155 1860 4 2155 1878 4 2155 1957 4 2155 378 4 2155 2060 4 2155 2155 4 2155 2155 4 2155 2155 4 2155 2155 4 2155 2155 4 2155 2162 4 2155 2168 4 2155 2294 4 2155 2406 4 2155 2558 4 2155 2710 4 2155 2715 4 2155 2716 4 2155 2717 4 2155 2718 4 2155 2719 4 2155 2723 4 2155 2765 4 2155 2817 4 2155 2838 4 2155 2842 4 2155 2842 4 2155 2855 4 2155 2879 4 2155 2888 4 2155 2901 4 2155 2957 4 2155 2959 4 2155 2965 4 2155 3077 4 2155 3077 4 2155 3080 4 2155 3087 4 2155 3106 4 2155 3150 4 2155 3154 4 2155 627 4 2155 106 4 2155 210 5 2155 1389 5 2155 378 5 2155 2046 5 2155 2060 5 2155 2155 5 2155 2155 5 2155 2155 5 2155 2252 5 2155 2594 5 2155 1358 6 2155 1496 6 2155 1771 6 2155 2155 6 2155 2155 6 2155 2204 6 2155 3184 6 2155 3186 6 2155 .I 2156 .T Comment on Cheney's List-Compaction Algorithm .B CACM September, 1971 .A Fenichel, R. R. .K LISP, garbage collector, virtual memory, list processing, storage allocation .C 4.19 4.49 .N CA710908 JB February 2, 1978 1:36 PM .X 1708 4 2156 1781 4 2156 1826 4 2156 1860 4 2156 1972 4 2156 2156 4 2156 2156 4 2156 2156 4 2156 2168 4 2156 2168 4 2156 2249 4 2156 2314 4 2156 2361 4 2156 2438 4 2156 2513 4 2156 2719 4 2156 2723 4 2156 2736 4 2156 2736 4 2156 2736 4 2156 2833 4 2156 2833 4 2156 2855 4 2156 2855 4 2156 3074 4 2156 3074 4 2156 3106 4 2156 3112 4 2156 3112 4 2156 1626 5 2156 1826 5 2156 1972 5 2156 2156 5 2156 2156 5 2156 2156 5 2156 .I 2157 .T Average Binary Search Length for Dense Ordered Lists .B CACM September, 1971 .A Flores, I. Madpis, G. .K searching, binary searching, record retrieval .C 3.74 .N CA710907 JB February 2, 1978 1:42 PM .X 2157 5 2157 2157 5 2157 2157 5 2157 2293 5 2157 2157 6 2157 .I 2158 .T A Stopping Criterion for the Newton-Raphson Method in Implicit Multistep Integration Algorithms for Nonlinear Systems of Ordinary Differential Equations .B CACM September, 1971 .A Liniger, W. .K ordinary differential equations, linear multistep formulas, Newton-Raphson method, stopping criterion .C 5.11 5.15 5.17 .N CA710906 JB February 2, 1978 2:13 PM .X 2158 5 2158 2158 5 2158 2158 5 2158 .I 2159 .T A Note on Best One-Sided Approximations .B CACM September, 1971 .A Phillips, D. L. .K best approximation, one-sided approximation, logarithmic, error, relative error .C 5.11 5.13 .N CA710905 JB February 2, 1978 2:15 PM .X 1440 4 2159 1832 4 2159 1932 4 2159 1999 4 2159 2159 4 2159 2159 4 2159 962 5 2159 1932 5 2159 2159 5 2159 2159 5 2159 2159 5 2159 .I 2160 .T Canonical Structure in Attribute Based File Organization .W A new file structure for attribute based retrieval is proposed in this paper. It allows queries involving arbitrary Boolean functions of the attribute-value pairs to be processed without taking intersections of lists. The structure is highly dependent on the way in which the file is to be used and is uniquely determined by the specification of the allowed queries. Thus, for example, the structure for retrieval on the basis of ranges of values of a given attribute would be very different from one where only retrieval on the basis of a single value is permitted. The file organization being proposed is based on the atoms of a Boolean algebra generated by the queries. The desirable properties claimed for this structure are proved, and file maintenance questions are discussed. .B CACM September, 1971 .A Wong, E. Chiang, T. C. .K address calculation, atoms of Boolean algebra, attributes, Boolean functions, Boolean queries, file organization, information retrieval, inverted file, key words, multilist, queries, searches .C 3.70 3.73 3.74 .N CA710904 JB February 2, 1978 2:22 PM .X 2160 4 2160 2688 4 2160 2114 5 2160 2160 5 2160 2160 5 2160 2160 5 2160 3134 5 2160 1976 6 2160 2160 6 2160 2524 6 2160 2990 6 2160 .I 2161 .T An Algorithm for the Blocks and Cutnodes of a Graph (Corrigendum) .B CACM September, 1971 .A Paton, K. .N CA710903 JB February 2, 1978 2:24 PM .X 2161 5 2161 2161 5 2161 2161 5 2161 .I 2162 .T An Efficient Bit Table Technique for Dynamic Storage Allocation of 2^n-word Blocks .W An efficient bit table technique for dynamic storage allocation of 2^n-word blocks, which requires a minimized amount of memory for bookkeeping purposes, is described. The technique has been tested in an implementation of the list processing language L^6. A number of ideas incorporated in the processor are also described. .B CACM September, 1971 .A Isoda, S. Goto, E. .K bit table, dynamic storage allocation, buddy system, L^6, list processing, free storage .C 3.89 4.12 4.9 .N CA710902 JB February 2, 1978 2:33 PM .X 1389 4 2162 1552 4 2162 1860 4 2162 1957 4 2162 2155 4 2162 2162 4 2162 2162 4 2162 2435 4 2162 2596 4 2162 2768 4 2162 2845 4 2162 2902 4 2162 2955 4 2162 1184 5 2162 1389 5 2162 2162 5 2162 2162 5 2162 2162 5 2162 .I 2163 .T Education Related to the Use of Computers in Organizations .W The ACM Curriculum Committee on Computer Education for Management has been carrying out a study on "Curriculum Development in Management Information Systems Education in Colleges and Universities" under a grant from the National Science Foundation. This position paper provides a framework for the study. Preliminary conclusions are presented on the need for education in administrative information systems, and appropriate college curricula and courses are suggested. Also, the role of professional societies and organizations using computers is discussed, and the plans of the Committee are outlined. The initial approach of the Committee has been to describe the education necessary for the effective use of computers in organizations, to classify the positions for which education is required, and to survey educational programs now available. .B CACM September, 1971 .A Teichroew, D. .K education, information analysis, systems design, business data processing .C 1.52 3.51 .N CA710901 JB February 2, 1978 2:40 PM .X 1720 4 2163 1927 4 2163 2147 4 2163 2163 4 2163 2163 4 2163 2163 4 2163 2163 4 2163 2345 4 2163 2345 4 2163 2407 4 2163 2478 4 2163 2594 4 2163 2852 4 2163 2899 4 2163 3003 4 2163 3130 4 2163 1720 5 2163 1771 5 2163 1927 5 2163 2163 5 2163 2163 5 2163 2163 5 2163 2181 5 2163 2407 5 2163 3003 5 2163 1659 6 2163 1678 6 2163 1927 6 2163 1945 6 2163 2097 6 2163 2147 6 2163 2163 6 2163 2163 6 2163 2181 6 2163 2187 6 2163 2329 6 2163 2345 6 2163 2345 6 2163 2367 6 2163 2407 6 2163 2478 6 2163 2479 6 2163 2480 6 2163 2538 6 2163 .I 2164 .T Symbolic Integration: The Stormy Decade .W Three approaches to symbolic integration in the 1960's are described. The first, from artificial intelligence, led to Slagle's SAINT and to a large degree to Moses' SIN. The second, from algebraic manipulation, led to Manove's implementation and to Horowitz' and Tobey's reexamination of the Hermite algorithm for integrating rational functions. The third, from mathematics, led to Richardson's proof of the unsolvability of the problem for a class of functions and for Risch's decision procedure for the elementary functions.Generalizations of Risch's algorithm to a class of special functions and programs for solving differential equations and for finding the definite integral are also described. .B CACM August, 1971 .A Moses, J. .K integration, symbolic integration, definite integrals, rational functions .C 3.1 3.2 3.6 4.9 5.2 5.9 .N CA710808 JB February 2, 1978 2:48 PM .X 2164 4 2164 2170 4 2164 2323 4 2164 2719 4 2164 2167 5 2164 2164 5 2164 2164 5 2164 2164 5 2164 2323 5 2164 2164 6 2164 2167 6 2164 2170 6 2164 .I 2165 .T General Relativity and the Application of Algebraic Manipulative Systems .W The paper describes some applications of symbolic algebra systems to problems of general relativity including the derivation of the field equations, the Petrov classification of a metric, and the solution of the field equations in the presence of matter in a simple case. Attention is drawn to the strictly algebraic difficulties encountered in this work. .B CACM August, 1971 .A Barton, D. Fitch, J. P. .K symbolic mathematics,nonnumerical mathematics, general relativity, algebraic manipulation, equation manipulation .C 1.3 3.11 5.10 .N CA710807 JB February 2, 1978 2:53 PM .X 2165 5 2165 2165 5 2165 2165 5 2165 2170 5 2165 3071 5 2165 2165 6 2165 2165 6 2165 2167 6 2165 2166 6 2165 .I 2166 .T Automated Algebraic Manipulation in Celestial Mechanics .W In this paper we consider some of the applications of automated algebraic manipulation which have been made in celestial mechanics. Particular attention is paid to the use of Poisson series, and a typical problem in perturbation theory is described. The requirements of processors for use in celestial mechanics are considered and compared with those for general manipulation packages. Some future directions for research using these systems are briefly outlined. To illustrate the relative simplicity of the algorithm required in celestial mechanics, a typical integration problem is considered in an appendix. .B CACM August, 1971 .A Jefferys, W. H. .K series manipulation, automated algebra, celestial mechanics .C 5.10 5.13 5.17 .N CA710806 JB February 2, 1978 3:31 PM .X 2166 5 2166 2166 5 2166 2166 5 2166 2170 5 2166 2165 6 2166 2167 6 2166 2166 6 2166 .I 2167 .T Algebraic Simplification: A Guide for the Perplexed .W Algebraic simplification is examined first from the point of view of a user who needs to comprehend a large expression, and second from the point of view of a designer who wants to construct a useful and efficient system. First we describe various techniques akin to substitution. These techniques can be used to decrease thesize of an expression and make it more intelligible to a user. Then we delineate the spectrum of approaches to the design of automatic simplification capabilities in an algebraic manipulation system. Systems are divided into five types. Each type provides different facilities for the manipulation and simplification of expressions. Finally we discuss some of the theoretical results related to algebraic simplification. We describe several positive results about the existence of powerful simplification algorithms and the number-theoretic conjectures on which they rely. Results about the nonexistence of algorithms for certain classes of expressions are included. .B CACM August, 1971 .A Moses, J. .K algebraic manipulation, algebraic simplification, canonical simplification .C 3.1 3.2 3.6 4.9 5.2 5.9 .N CA710805 JB February 2, 1978 3:42 PM .X 1396 4 2167 1396 4 2167 1946 4 2167 2167 4 2167 2167 4 2167 2167 4 2167 2167 4 2167 2857 4 2167 2956 4 2167 1379 5 2167 1393 5 2167 1392 5 2167 2167 5 2167 2167 5 2167 2167 5 2167 2164 5 2167 2169 5 2167 2170 5 2167 2323 5 2167 2719 5 2167 1626 6 2167 210 6 2167 2151 6 2167 2164 6 2167 2165 6 2167 2167 6 2167 2167 6 2167 2167 6 2167 2167 6 2167 2166 6 2167 2170 6 2167 2210 6 2167 2645 6 2167 2657 6 2167 .I 2168 .T List Tracing in Systems Allowing Multiple Cell-Types .W List-processing systems have each allowed the use of only a single size and configuration of list cell. In this paper a system is described which allows the use of arbitrarily many different sizes and configurations of list cells, possibly not specified until run time. .B CACM August, 1971 .A Fenichel, R. R. .K list-processing, storage allocation, LISP, SLIP, based storage, pointers .C 4.49 .N CA710804 JB February 2, 1978 3:45 PM .X 1024 4 2168 1024 4 2168 1051 4 2168 1051 4 2168 1098 4 2168 1102 4 2168 1132 4 2168 1214 4 2168 1380 4 2168 1388 4 2168 1390 4 2168 1393 4 2168 1485 4 2168 1486 4 2168 1487 4 2168 1549 4 2168 1549 4 2168 1570 4 2168 1706 4 2168 1708 4 2168 1781 4 2168 1826 4 2168 1826 4 2168 1860 4 2168 1878 4 2168 1878 4 2168 1946 4 2168 1957 4 2168 1972 4 2168 378 4 2168 2023 4 2168 2060 4 2168 2155 4 2168 2156 4 2168 2156 4 2168 2168 4 2168 2168 4 2168 2168 4 2168 2168 4 2168 2168 4 2168 2249 4 2168 2314 4 2168 2438 4 2168 2719 4 2168 2719 4 2168 2723 4 2168 2723 4 2168 2723 4 2168 2736 4 2168 2736 4 2168 2833 4 2168 2833 4 2168 2838 4 2168 2842 4 2168 2855 4 2168 2855 4 2168 2857 4 2168 2879 4 2168 3074 4 2168 3077 4 2168 3080 4 2168 3106 4 2168 3112 4 2168 3112 4 2168 627 4 2168 106 4 2168 210 5 2168 1626 5 2168 1826 5 2168 1878 5 2168 2168 5 2168 2168 5 2168 2168 5 2168 731 5 2168 .I 2169 .T The Altran System for Rational Function Manipulation-A Survey .W Altran is a complete system for symbolic computation with rational functions in several variables with integer coefficients. It has been designed and implemented to handle large problems with ease and efficiency. Considerable effort has been spent to ensure a minimum amount of machine dependence in the implementation, thus permitting the system to be installed quickly and easily on a variety of computing machines. In this paper a brief description of the language, run time data structures, and implementation is given. .B CACM August, 1971 .A Hall Jr., A. D. .K symbolic algebra, rational function manipulation, polynomial manipulation, interpreters, translators .C 4.13 4.29 .N CA710803 JB February 2, 1978 4:17 PM .X 2167 5 2169 2169 5 2169 2169 5 2169 2169 5 2169 1379 6 2169 1392 6 2169 1393 6 2169 2169 6 2169 .I 2170 .T Applications of Symbol Manipulation in Theoretical Physics .W This paper surveys the applications of symbolic computation techniques to problems in theoretical physics. Particular emphasis is placed on applications in quantum electrodynamics where the most activity has occurred. .B CACM August, 1971 .A Hearn, A. C. .K symbol manipulation, algebraic simplification, computational physics, quantum electrodynamics .C 3.17 4.22 .N CA710802 JB February 2, 1978 4:21 PM .X 2164 4 2170 2170 4 2170 2170 4 2170 2170 4 2170 2323 4 2170 2719 4 2170 3071 4 2170 2167 5 2170 2165 5 2170 2166 5 2170 2170 5 2170 2170 5 2170 2170 5 2170 2323 5 2170 2164 6 2170 2167 6 2170 2170 6 2170 .I 2171 .T Solution of Simultaneous Nonlinear Equations .B CACM July, 1971 .A Raduchel, W. J. .K nonlinear equations .C 5.15 .N CA710711 JB February 2, 1978 4:31 PM .X 2171 5 2171 2171 5 2171 2171 5 2171 .I 2172 .T Graph Plotter [J6] (Algorithm 412) .B CACM July, 1971 .A Cermak, J. .K plot, graph, line printer plot .C 4.41 .N CA710710 JB February 2, 1978 4:32 PM .X 2172 5 2172 2172 5 2172 2172 5 2172 .I 2173 .T Three Procedures for the Stable Marriage Problem [H] (Algorithm 411) .B CACM July, 1971 .A McVitie, D. G. Wilson, L. B. .K assignment problems, assignment procedures, combinatorics, discrete mathematics, operations research, stable marriage problem, university entrance .C 5.30 .N CA710709 JB February 2, 1978 4:35 PM .X 2173 5 2173 2173 5 2173 2173 5 2173 2174 5 2173 2173 6 2173 .I 2174 .T The Stable Marriage Problem .W The original work of Gale and Shapley on an assignment method using the stable marriage criterion has been extended to find all the stable marriage assignments. The algorithm derived for finding all the stable marriage assignments is proved to satisfy all the conditions of the problem. Algorithm 411 applies to this paper. .B CACM July, 1971 .A McVitie, D. G. Wilson,L. B. .K assignment problems, assignment procedures, combinatorics, discrete mathematics, operational research, stable marriage problem, university entrance .C 5.30 .N CA710708 JB February 2, 1978 4:40 PM .X 2174 4 2174 2173 5 2174 2174 5 2174 2174 5 2174 2174 5 2174 .I 2175 .T Subexpression Ordering in the Execution of Arithmetic Expressions .W An arithmetic expression can often be broken down into its component subexpressions. Depending on the hardware environment in which the expression is to be executed, these subexpressions can be evaluated in serials, in parallel, or in a combination of these modes. This paper shows that expression execution time can be minimized only if consideration is given to the ordering of the subexpressions. In particular, subexpressions should be executed in order of decreasing memory and processor time requirements. This observation is valid for configurations ranging from a uniprocessor with an unbuffered main memory to multiprocessor with a "cache" buffer memory. If the number of subexpressions which can be executed in parallel exceeds the number of available processors, then execution of some of these subexpressions must be postponed. A procedure is given which combines this requirement with the earlier ordering considerations to provide an optimal execution sequence. .B CACM July, 1971 .A Ramamoorthy, C. V. Gonzalez, M. J. .K parallel processing, cache, arithmetic expressions, subexpression ordering, computational trees, compilers .C 4.12 4.32 .N CA710707 JB February 2, 1978 4:49 PM .X 1781 4 2175 1807 4 2175 1934 4 2175 2175 4 2175 2175 4 2175 2175 4 2175 1551 5 2175 1613 5 2175 1886 5 2175 2175 5 2175 2175 5 2175 2175 5 2175 2413 5 2175 2175 6 2175 .I 2176 .T Buffer Allocation in Merge-Sorting .W A fixed buffer allocation for merge-sorting is presented here which minimizes the number of input-output operations for a given order of merge. When sorting on movable arm disks, the number of seeks is equal to the number of input-output operations, and the seek time usually controls the sort time. First some standard terminology is introduced. Then the input buffer allocation method is described, followed by an analysis of the improvement to be expected over more conventional allocation. This analysis makes use of a particular distribution function. An analysis of a completely different distribution is given which yields similar results. This suggests that the results do not depend on a particular distribution function. An optimum output buffer size is also determined. It is concluded that this buffering allocation can significantly reduce the time of merge sorting on movable arm disks when the input data are not random, and that this output buffer allocation should be used whether the data is random or not. .B CACM July, 1971 .A Ferguson, D. E. .K file, item, string, merge sort, seek time, gamma distribution function .C 4.41 5.31 .N CA710706 JB February 3, 1978 8:41 AM .X 1638 4 2176 2176 4 2176 2272 4 2176 2176 5 2176 2176 5 2176 2176 5 2176 677 5 2176 .I 2177 .T An Algorithm for the Blocks and Cutnodes of a Graph .W An efficient method is presented for finding blocks and cutnodes of an arbitrary undirected graph. The graph may be represented either (i) as an ordered list of edges or (ii) as a packed adjacency matrix. If w denotes the word length of the machine employed, the storage (in machine words) required for a graph with n nodes and m edges increases essentially as 2(m+n) in case (i), or (n^2)/win case (ii). A spanning tree with labeled edges is grown, two edges finally bearing different labels if and only if they belong to different blocks. For both representations the time required to analyze a graph on n nodes increases as n^G where G depends on the type of graph, 1 <= G <= 2, and both bounds are attained. Values of G are derived for each of several suitable families of test graphs, generated by an extension of the web grammar approach. The algorithm is compared in detail with that proposed by Read for which 1 <= G <= 3. .B CACM July, 1971 .A Paton, K. .K algorithm, block, block-cutpoint-tree, cutnode, fundamental cycle set, graph, lobe, lobe decomposition graph, separable, spanning tree, web grammar .C 5.32 .N CA710705 JB February 3, 1978 8:58 AM .X 1961 4 2177 2177 4 2177 2763 4 2177 1847 5 2177 2177 5 2177 2177 5 2177 2177 5 2177 2490 5 2177 2177 6 2177 .I 2178 .T A Language Extension for Graph Processing and Its Formal Semantics .W A simple programming language "extension," Graspe, for processing directed graphs is defined. Graspe consists of a type of directed graph data structure and a set of primitive operations for manipulating these structures. Graspe may be most easily implemented by embedding it in a host language. Emphasis is placed both on Graspe itself and on its method of definition. Commonly, the definition of a language involves definition of the syntactic elements and explanation of the meaning to be assigned them (the semantics). The definition of Graspe here is solely in terms of its semantics; that is, the data structures and operations are defined precisely but without assignment of a particular syntactic representation. Only when the language is implemented is assignment of an explicit syntax necessary. An example of an implementation of Graspe embedded in Lisp is given as an illustration. The advantages and disadvantages of the definition of a language in terms of its semantics are discussed. .B CACM July, 1971 .A Pratt, T. W. Friedman, D. P. .K graph processing, programming language, formal semantics, directed graph, Lisp, network, data structure, flowchart, syntax, language definition .C 4.20 4.22 5.23 5.24 5.32 .N CA710704 JB February 3, 1978 9:24 AM .X 1086 4 2178 1132 4 2178 1234 4 2178 1263 4 2178 1265 4 2178 1270 4 2178 1323 4 2178 1358 4 2178 1379 4 2178 1380 4 2178 1453 4 2178 1464 4 2178 1469 4 2178 1484 4 2178 1486 4 2178 1491 4 2178 1491 4 2178 1498 4 2178 1613 4 2178 1614 4 2178 1781 4 2178 1781 4 2178 1781 4 2178 1825 4 2178 1860 4 2178 2083 4 2178 2178 4 2178 2178 4 2178 2178 4 2178 2178 4 2178 2178 4 2178 2179 4 2178 2252 4 2178 2325 4 2178 2326 4 2178 2326 4 2178 2341 4 2178 2396 4 2178 2470 4 2178 2546 4 2178 2561 4 2178 2645 4 2178 2652 4 2178 2684 4 2178 2684 4 2178 2684 4 2178 2842 4 2178 2929 4 2178 2934 4 2178 3044 4 2178 3069 4 2178 669 4 2178 679 4 2178 691 4 2178 761 4 2178 949 4 2178 989 4 2178 1303 5 2178 1323 5 2178 2059 5 2178 2127 5 2178 2178 5 2178 2178 5 2178 2178 5 2178 3184 5 2178 .I 2179 .T Simple LR(k) Grammars .W A class of context-free grammars, called the "Simple LR(k)" or SLR(k) grammars is defined. This class has been shown to include weak precedence and simple precedence grammars as proper subsets. How to construct parsers for the SLR(k) grammars is also shown. These parser-construction techniques are extendible to cover all of the LR(k) grammars of Knuth; they have been implemented and by direct comparison proved to be superior to precedence techniques, not only in the range of grammars covered, but also in the speed of parser construction and in the size and speed of the resulting parsers. .B CACM July, 1971 .A DeRemer, F. L. .K context-free grammar, LR(k) grammar, precedence grammar, syntactic analysis, parsing algorithm, parser, finite-state machine, deterministic pushdown automaton .C 4.12 5.22 5.23 .N CA710703 JB February 3, 1978 9:31 AM .X 1086 4 2179 1132 4 2179 1234 4 2179 1263 4 2179 1265 4 2179 1270 4 2179 1323 4 2179 1358 4 2179 1379 4 2179 1379 4 2179 1380 4 2179 1453 4 2179 1464 4 2179 1484 4 2179 1491 4 2179 1498 4 2179 1542 4 2179 1613 4 2179 1614 4 2179 1683 4 2179 1693 4 2179 1693 4 2179 1781 4 2179 1781 4 2179 1781 4 2179 1787 4 2179 1825 4 2179 1836 4 2179 1836 4 2179 1860 4 2179 1945 4 2179 1945 4 2179 1989 4 2179 2015 4 2179 2060 4 2179 2060 4 2179 2060 4 2179 2061 4 2179 2061 4 2179 2061 4 2179 2083 4 2179 2082 4 2179 2091 4 2179 2091 4 2179 2152 4 2179 2178 4 2179 2179 4 2179 2179 4 2179 2179 4 2179 2179 4 2179 2179 4 2179 2179 4 2179 2252 4 2179 2325 4 2179 2341 4 2179 2340 4 2179 2356 4 2179 2423 4 2179 2546 4 2179 2546 4 2179 2546 4 2179 2603 4 2179 2645 4 2179 2652 4 2179 2684 4 2179 2698 4 2179 2698 4 2179 2698 4 2179 2708 4 2179 2708 4 2179 2824 4 2179 2842 4 2179 2921 4 2179 2929 4 2179 2934 4 2179 2982 4 2179 2986 4 2179 3045 4 2179 3045 4 2179 3069 4 2179 3093 4 2179 3154 4 2179 669 4 2179 679 4 2179 691 4 2179 761 4 2179 949 4 2179 989 4 2179 1477 5 2179 1491 5 2179 1825 5 2179 2015 5 2179 2110 5 2179 2179 5 2179 2179 5 2179 2179 5 2179 2733 5 2179 2986 5 2179 3093 5 2179 3094 5 2179 3184 5 2179 1265 6 2179 1491 6 2179 1491 6 2179 1683 6 2179 1781 6 2179 1836 6 2179 2179 6 2179 2179 6 2179 2179 6 2179 2179 6 2179 2340 6 2179 2423 6 2179 2645 6 2179 2708 6 2179 2786 6 2179 680 6 2179 799 6 2179 .I 2180 .T A Programmer Training Project .W A project is described whose purpose is to train selected black residents of the Albany-Schenectady area in computer programming and arrange for jobs for them in the computer field. Both the organization and curriculum of the course are discussed. .B CACM July, 1971 .A Bernstein, A. J. .K programmer training, job opportunities, Fortran .C 1.59 .N CA710702 JB February 3, 1978 9:36 AM .X 2180 5 2180 2180 5 2180 2180 5 2180 .I 2181 .T The State of Computer Oriented Curricula in Business Schools 1970 .W The ACM Committee on Computer Education for Management, supported by a National Science Foundation Grant, is established to appraise the state of the art and to develop a series of recommendations for improving computer education for management. To provide the Committee with material for its study of curricular needs, five regional meetings in the United States were held in 1970, at each of which a broad cross section of invited academicians and practitioners considered the state of curricula in business schools. Three topics were covered: curricula for the general manager; computer-related material in required and functional courses; and curricula for students concentrating on computer-based information systems. An analysis of the minutes of the meetings revealed a common set of experiences which raised similar pedagogic and economic issues. This presentation gives a summary of the discussions; a condensation of the pedagogic and substantive concerns raised; and consideration of the resource allocation issues involved. Preliminary to the Committee's recommendations for improving computer education for management, this report has been prepared to provide the participants and the administrators of their institutions with background information for the ongoing task of course development. Chairman of the ten-man Committee is Daniel Teichroew (The University of Michigan). .B CACM July, 1971 .A McKenney, J. L. Tonge, F. M. .K university programs, management education, curriculum design, business administration curricula, graduate business school resource planning .C 1.52 3.5 .N CA710701 JB February 3, 1978 9:47 AM .X 2163 5 2181 2181 5 2181 2181 5 2181 2181 5 2181 2345 5 2181 2407 5 2181 1720 6 2181 1771 6 2181 1771 6 2181 1927 6 2181 2163 6 2181 2181 6 2181 2181 6 2181 2181 6 2181 2345 6 2181 .I 2182 .T Interrupt Driven Programming .B CACM July, 1971 .A Zelkowitz, M. .K interrupts, supervisors, monitors, debugging, parallel processing, associative memories, microprogramming .C 3.51 4.32 4.42 .N CA710608 JB February 3, 1978 9:49 AM .X 2182 4 2182 2534 4 2182 1959 5 2182 2182 5 2182 2182 5 2182 2182 5 2182 2497 5 2182 2534 5 2182 830 6 2182 1471 6 2182 1787 6 2182 1959 6 2182 1973 6 2182 2111 6 2182 2182 6 2182 2182 6 2182 799 6 2182 .I 2183 .T Binary Summation .B CACM July, 1971 .A Walker, R. J. .K summation, binary summation, floating-point addition, round-off errors .C 5.11 .N CA710607 JB February 3, 1978 9:50 AM .X 2183 4 2183 2282 4 2183 2049 5 2183 2183 5 2183 2183 5 2183 2183 5 2183 .I 2184 .T On the Meaning of Names in Programming Systems .W It is assumed that there is a similarity of function between the data names of a programming language and the file names of an operating system. The two functions are discussed in terms of the same basic concepts in order to identify the extent to which they overlap. It is suggested that there is some similarity between the idea of a file directory and a storable object of type context. Manipulations with contexts are then discussed at length. It is noted that there is a simple extension of Church's Lambda notation that deals nicely with these ideas of context manipulation. Whereas a function can be regarded as the abstraction based upon the first two terms of the expression Lambda(name list)(expression)(value list), it is found that a context can be viewed as an abstraction based upon the first two terms in the equivalent expression Mu(name list)(value list)(expression). .B CACM July, 1971 .A Fraser, A. G. .K file, operating system, programming language, functions, names, context, file directory, file dictionary, lambda calculus, theory of programming .C 3.73 4.22 4.39 5.23 5.24 .N CA710606 JB February 3, 1978 9:58 AM .X 2184 5 2184 2184 5 2184 2184 5 2184 .I 2185 .T A Note on Compiling Fixed Point Binary Multiplications .W An algorithm is developed for compiling, as a sequence of shifts, additions,and subtractions, many fixed point binary multiplications involving a constant. The most significant characteristics of the algorithm are the simplicity of the test which determines if the algorithm should be applied and the degree to which it "suggests" efficient object code. .B CACM June, 1971 .A Glaswin, H. T. .K compiling multiplications, fixed point arithmetic .C 4.12 .N CA710605 JB February 3, 1978 10:04 AM .X 2185 5 2185 2185 5 2185 2185 5 2185 2296 5 2185 2952 5 2185 142 6 2185 162 6 2185 163 6 2185 192 6 2185 2185 6 2185 2185 6 2185 2727 6 2185 .I 2186 .T Numerical Properties of the Ritz-Trefftz Algorithm for Optimal Control .W In this paper the Ritz-Trefftz algorithm is applied to the computer solution of the state regulator problem. The algorithm represents a modification of the Ritz direct method and is designed to improve the speed of solution and the storage requirements to the point where real-time implementation becomes feasible. The modification is shown to be more stable computationally than the traditional Ritz approach. The first concern of the paper is to describe the algorithm and establish its properties as a valid and useful numerical technique. In particular such useful properties as definiteness and reasonableness of condition are established for the method. The second part of the paper is devoted to a comparison of the new techniques with the standard procedure of numerically integrating a matrix Riccati equation to determine a feedback matrix. The new technique is shown to be significantly faster for comparable accuracy. .B CACM June, 1971 .A Bosarge Jr., W. E. Johnson, O. G. .K splines, regulator problem, control theory, numerical analysis .C 5.1 .N CA710604 JB February 3, 1978 10:12 AM .X 2186 5 2186 2186 5 2186 2186 5 2186 .I 2187 .T Computer Science: A Conceptual Framework for Curriculum Planning .W Two views of computer science are considered: a global view which attempts to capture broad characteristics of the field and its relationships to other fields, and a local view which focuses on the inner structure of the field. This structure is presented in terms of the kinds of knowledge, problems, and activities that exist within the discipline, as well as the relations between them. An approach to curriculum planning in computer science is presented which is guided by the structure of the field, by the fact that change is an important feature of the situation, and by the expectation that computer science will continue to increase its working contacts with other disciplines. .B CACM June, 1971 .A Amarel, S. .K computer science, curriculum planning, education .C 1.0 1.52 .N CA710603 JB February 3, 1978 10:17 AM .X 1665 4 2187 1768 4 2187 1787 4 2187 1805 4 2187 1824 4 2187 1825 4 2187 1828 4 2187 1836 4 2187 1854 4 2187 1861 4 2187 2015 4 2187 2110 4 2187 2127 4 2187 2187 4 2187 2187 4 2187 2317 4 2187 2545 4 2187 2698 4 2187 2733 4 2187 1748 5 2187 1781 5 2187 2187 5 2187 2187 5 2187 2187 5 2187 3003 5 2187 1659 6 2187 1678 6 2187 1927 6 2187 1945 6 2187 2097 6 2187 2147 6 2187 2163 6 2187 2187 6 2187 2329 6 2187 2345 6 2187 2367 6 2187 2407 6 2187 2478 6 2187 2479 6 2187 2480 6 2187 2538 6 2187 .I 2188 .T An Approach to the Optimum Design of Computer Graphics Systems .W Display system designers are faced with the difficult task of selecting major subsystems in an intelligent way. Each subsystem is chosen from large numbers of alternatives; the selection is based on considerations such as system response time, system cost, and the distribution of data storage and processing between the graphics processor and its supporting data processing system. The work reported here develops an objective, quantitative design procedure and helps give a better understanding of now to configure display systems. This is accomplished by means of a mathematical model of a computer driven graphics system. The parameters of the model are functions of the capabilities of the graphics hardware and of the computational requirements of the graphics application. The model can be analyzed using numerical queueing analysis or simulation to obtain an average response time prediction. By combining the model with an optimization, the best graphics system configuration, subject to a cost constraint, is found for several applications. The optimum configurations are in turn used to find general display system design guidelines. .B CACM June, 1971 .A Foley, J. D. .K design guidelines, graphic display systems, mathematical model, optimum system design, queueing model .C 3.8 6.22 6.35 .N CA710602 JB February 3, 1978 10:26 AM .X 1805 4 2188 1846 4 2188 1892 4 2188 2188 4 2188 2218 4 2188 2317 4 2188 1572 5 2188 2188 5 2188 2188 5 2188 2188 5 2188 2319 5 2188 1408 6 2188 1719 6 2188 1749 6 2188 1751 6 2188 2016 6 2188 2017 6 2188 2080 6 2188 2188 6 2188 2203 6 2188 2204 6 2188 .I 2189 .T Generation of Rosary Permutations Expressed in Hamiltonian Circuits .W Systematic generation of a specific class of permutations fundamental to scheduling problems is described. In a nonoriented complete graph with n vertices, Hamitonian circuits equivalent to .5(n - 1)! specific permutations of n elements, termed rosary permutations, can be defined. Each of them corresponds to two circular permutations which mirror-image each other, and is generated successively by a number system covering 3*4*...*(n-1) sets of edges. Every set of edges {E[k]}, 1 <= E[k] <= k, 3 <= k <= (n-1) is determined recursively by constructing a Hamiltonian circuit with k vertices from a Hamiltonian circuit with k-1 vertices, starting with the Hamiltonian circuit of 3 vertices. The basic operation consists of transposition of a pair of adjacent vertices where the position of the pair in the permutation is determined by {E[k]}. Two algorithms treating the same example for five vertices are presented. It is very easy to derive all possible n! permutations from the .5(n - 1 )! rosary permutations be cycling the permutations and by taking them in the reverse order-procedures which can be performed fairly efficiently by computer. .B CACM June, 1971 .A Harada, K. .K permutation, graph theory, scheduling, combinatorial algebra .C 5.32 5.39 .N CA710601 JB February 3, 1978 1:55 PM .X 2044 4 2189 2087 4 2189 2189 4 2189 2189 4 2189 2189 4 2189 2189 4 2189 2417 4 2189 2505 4 2189 2874 4 2189 2908 4 2189 3188 4 2189 1594 5 2189 2087 5 2189 2189 5 2189 2189 5 2189 2189 5 2189 2292 5 2189 2505 5 2189 521 5 2189 3191 5 2189 2189 6 2189 2189 6 2189 2292 6 2189 521 6 2189 .I 2190 .T Function Minimization .B CACM May, 1971 .A House, F. R. .N CA710510 JB February 3, 1978 1:57 PM .X 2190 4 2190 2190 4 2190 1372 5 2190 1849 5 2190 2190 5 2190 2190 5 2190 2190 5 2190 .I 2191 .T ALGORITHM 410 Partial Sorting [M1] .B CACM May, 1971 .A Chambers, J. M. .K sorting, partial sorting order statistics .C 5.11 5.13 .N CA710508 JB February 3, 1978 2:23 PM .X 1175 4 2191 1919 4 2191 1919 4 2191 1969 4 2191 1997 4 2191 2191 4 2191 2191 4 2191 2388 4 2191 2388 4 2191 2679 4 2191 2783 4 2191 2784 4 2191 3054 4 2191 3054 4 2191 3121 4 2191 3121 4 2191 864 4 2191 308 5 2191 309 5 2191 2191 5 2191 2191 5 2191 2191 5 2191 .I 2192 .T Another Recursion Induction Principle .W An inductive method for proving things about recursively defined functions is described. It is shown to be useful for proving partial functions equivalent and thus applicable in proofs about interpreters for programming languages. .B CACM May, 1971 .A Morris Jr., J. H. .K recursion, induction, correctness, proofs, compiler correctness .C 4.13 4.2 5.24 .N CA710507 JB February 3, 1978 2:27 PM .X 2192 5 2192 2192 5 2192 2192 5 2192 2326 5 2192 2457 5 2192 2842 5 2192 2903 5 2192 1303 6 2192 1323 6 2192 210 6 2192 1834 6 2192 2060 6 2192 2148 6 2192 2192 6 2192 2192 6 2192 2192 6 2192 2192 6 2192 2326 6 2192 3184 6 2192 3186 6 2192 .I 2193 .T On Implementation of Label Variables .W Variables of label mode are conventionally implemented with a technique which fails to trap certain programming errors. Fine-grained calendar clocks have recently become available; these allow implementation of label variables via a new technique which traps all programming errors of this variety. .B CACM May, 1971 .A Fenichel, R. R. .K labels, compiler, interpreter, go to, transfer .C 4.22 .N CA710506 JB February 3, 1978 2:31 PM .X 2193 4 2193 2193 4 2193 2319 4 2193 2326 4 2193 2477 4 2193 2541 4 2193 2594 4 2193 2894 4 2193 3004 4 2193 2016 5 2193 2193 5 2193 2193 5 2193 2193 5 2193 3101 5 2193 3186 5 2193 2138 6 2193 2193 6 2193 2438 6 2193 3185 6 2193 .I 2194 .T How To Keep the Addresses Short .W An algorithm is presented for minimizing the sum of the lengths of the blocks of coding produced by an assembler or compiler when (1) the length of each computer instruction is assumed to be either "long" or "short" ("long," if the memory location addressed is more than a predetermined distance from the current location; "short," otherwise), and (2) there are blocks of instructions whose beginnings (origins) are separated by prespecified amounts. For example, some computers permit either 8-bit addressing (interpreted relative to the location counter) or full 16-bit addressing of all of memory. When assembling or compiling two or more blocks of instructions which have many mutual references in such a computer, there is no simple iterative procedure for keeping as many of the addresses short as possible. This paper demonstrates that a wide class of problems of this type can be formulated as covering problems solvable by means of elementary arithmetic operations on the column vectors of a ternary matrix. .B CACM May, 1971 .A Richards, D. L. .K addressing, assembler, covering problem, integer programming, variable-length addressing .C 4.11 4.12 4.21 5.41 .N CA710505 JB February 3, 1978 2:40 PM .X 2194 5 2194 2194 5 2194 2194 5 2194 2858 5 2194 3110 5 2194 2194 6 2194 2194 6 2194 2629 6 2194 2858 6 2194 .I 2195 .T On the Optimal Detection of Curves in Noisy Pictures .W A technique for recognizing systems of lines is presented. In this technique the heuristic of the problem is not embedded in the recognition algorithm but is expressed in a figure of merit. A multistage decision process is then able to recognize in the input picture the optimal system of lines according to the given figure of merit. Due to the global approach, greater flexibility and adequacy in the particular problem is achieved. The relation between the structure of the figure of merit and the complexity of the optimization process is then discussed. The method described is suitable for parallel processing because the operations relative to each state can be computed in parallel, and the number of stages is equal to the length N of the curves (or to log2 N if the approximate method is used). .B CACM May, 1971 .A Montanari, U. .K picture processing, picture recognition, picture description, curve detection, line detection, edge detection,optimal detection, heuristic methods, global recognition, parallel processing, dynamic programming, interaction graph, secondary optimization problem .C 3.63 3.66 5.42 .N CA710504 JB February 3, 1978 2:49 PM .X 1663 4 2195 2195 4 2195 2679 4 2195 1190 5 2195 2195 5 2195 2195 5 2195 2195 5 2195 2883 5 2195 2195 6 2195 .I 2196 .T A Man-Machine Approach Toward Solving the Traveling Salesman Problem .W The traveling salesman problem belongs to an important class of scheduling and routing problems. It is also a subproblem in solving others, such as the warehouse distribution problem. It has been attacked by many mathematical methods with but meager success. Only for special forms of the problem or for problems with a moderate number of points can it be solved exactly, even if very large amounts of computer time are used. Heuristic procedures have been proposed and tested with only slightly better results. This paper describes a computer aided heuristic technique which uses only a modest amount of computer time in real-time to solve large (100-200) point problems. This technique takes advantage of both the computer's and the human's problem-solving abilities. The computer is not asked to solve the problem in a brute force way as in many of today's heuristics, but it is asked to organize the data for the human so that the human can solve the problem easily. The technique used in this paper seems to point to new directions in the field of man-machine interaction and in the field of artificial intelligence. .B CACM May, 1971 .A Krolak, P. Felts, W. Marble, G. .K heuristic procedures, computer-aided heuristic technique, man-machine interaction, artificial intelligence, assignment problem, mask of the assignment, rubber band tour generator, interaction process, traveling salesman problem .C 3.57 3.66 5.30 .N CA710503 JB February 3, 1978 3:00 PM .X 2196 5 2196 2196 5 2196 2196 5 2196 .I 2197 .T The Merit of Regional Computing Networks .W One of the suggested means for stimulating the spread of computing capabilities in institutions of higher learning is through the construction of regional computing networks. One such network has been constructed in the San Francisco Bay Area by Stanford University. This paper reports upon the lessons learned from the operation of the network over the past two years. A major impact of the network was not so much the computer power delivered to the schools as the awakening of computing awareness and the fostering of capability development at these schools. The expertise and assistance from the central facility as well as the sharing of ideas among the participants were other important benefits. Both the quality and variety of services provided by the central facility were found to play a key role in the effectiveness of the network. A regional network brings many benefits and should not be judged as a purveyor of raw computer power alone. .B CACM May, 1971 .A Nielsen, N. R. .K computer sharing, computer utility, cooperative networks, curriculum development, educational computing, network computing, regional computing networks, remote computing, shared computing .C 1.52 2.11 .N CA710502 JB February 3, 1978 3:17 PM .X 2197 5 2197 2197 5 2197 2197 5 2197 .I 2198 .T Introduction to "Feature Analysis of Generalized Data Base Management Systems" .W This paper is a separately published introduction to a main report which analyzes the features of generalized data base management systems. This introduction gives a review of the current state of the art in these systems and discusses the differences and similarities between capabilities found in host language systems and those found in self-contained systems. After some discussion of the problems of data independence and binding,the four user levels are identified and described. Technical problems facing future designers are described. The first of these is that of handling existing stored data and the next is that of providing more complex data structures than those already available in conventional programming languages. The problem of high level interrogation and update functions acting on network structures is mentioned, followed by a discussion of the problem of catering to a high volume of transactions initiated from terminals by parametric users-the lowest level of user. The use of Cobol as a basis for further development work is considered at some length with respect to data structures, host language capabilities, and self-contained capabilities. This section also assesses the effect of the Data Base Task Group proposals. The final section outlines the ten major topics in the main body of the full report. .B CACM May, 1971 .A Codasyl Systems Committee .K data base management systems, programming languages, data structures, storage structures, information retrieval, transaction processing .C 3.5 3.70 3.72 3.73 3.74 4.29 .N CA710501 JB February 3, 1978 3:18 PM .X 2198 5 2198 2198 5 2198 2198 5 2198 2452 5 2198 2882 5 2198 849 6 2198 1936 6 2198 1976 6 2198 2198 6 2198 2198 6 2198 2452 6 2198 627 6 2198 .I 2199 .T A Sparse Matrix Package (Part I) [F4] (Algorithm 408) .B CACM April, 1971 .A McNamee, J. M. .K matrix, sparse matrix, matrix manipulation .C 5.14 .N CA710406 JB February 3, 1978 3:20 PM .X 2199 5 2199 2199 5 2199 2199 5 2199 .I 2200 .T On Complement Division .W The division algorithm theorem is expressed in a form that permits it to serve as the basis for devising division operations that produce both quotient and remainder in complement form. Algorithms for division yielding complement results are derived for numbers represented in any base greater than one. Both radix and radix-less-one complementation schemes are considered. The binary form of the algorithms thus includes both two's and one's complement implementation. The problem of quotient overflow for complement results is dealt with as is that of selecting an appropriate form of the remainder condition for complement division. .B CACM April, 1971 .A Stein, M. L. Munro, W. D. .K division algorithm, complement arithmetic, complement division, one's complement arithmetic, two's complement arithmetic .C 3.15 4.0 4.9 5.11 6.32 .N CA710405 JB February 3, 1978 3:28 PM .X 1965 4 2200 2200 4 2200 1718 5 2200 2200 5 2200 2200 5 2200 2200 5 2200 .I 2201 .T Animator: An On-Line Two-dimensional Film Animation System .W Animator is a computer animation system which was designed to overcome some of the inherent disadvantages associated with conventional computer animation techniques.The DEC-338 serves as an input terminal for movie making, allowing the trial and error design of picture sequences in a conversational mode. During all stages on the system input elements (light pen, pushbuttons, and teletype) is maintained. At the user's request, this record is sent to the IBM 360/75 where the S-D 4020 instructions necessary to produce the same sequence of pictures can be generated. It is anticipated that one of the primary contributions of Animator will be the provision of a facility which will allow any professor to produce his own expository film strips. .B CACM April, 1971 .A Talbot, P. A. Carr III, J. W. Coulter Jr., R. R. Hwang, R. C. .K computer graphics, computer animation, on-line systems, two-dimensional languages, CRT, microfilm recorder .C 3.41 3.80 4.22 .N CA710404 JB February 3, 1978 3:37 PM .X 2201 5 2201 2201 5 2201 2201 5 2201 .I 2202 .T Dynamic Microprogramming: Processor Organization and Programming .W A dynamically microprogrammed processor is characterized by a small (4^k 64-bit word) read-write "micro" storage. The access time of this storage is similar to the cycle time of the machine (50-100 nsec). This microstorage is used to contain both data and subroutines. The (micro) instructions in such a processor differ from the conventional in that they perform only purely combinatorial operations; sequencing is under the control of the microinstruction. The presence of the read-write microstorage permits a more flexible assignment of resources than the read-only storage. In particular, the processor developed in this paper stresses the simultaneous operation (within the microinstruction) of the adder, shifter, masker, and testing facilities of the processor. A microassembly language is developed and the overhead involved in subroutine linkages is analyzed. The efficiency of a flexible software linkage scheme is examined as to its overhead for various subroutine characteristics. Finally, three examples of problem-oriented programming are considered and the resulting coding is compared against a System/360 assembly language version, with the technology normalized. .B CACM April, 1971 .A Tucker, A. B. Flynn, M. J. .K microprogramming,read-write microstorage, subroutine linkage, execution speed .C 6.2 .N CA710403 JB February 3, 1978 3:58 PM .X 2202 4 2202 2527 4 2202 1542 5 2202 2202 5 2202 2202 5 2202 2202 5 2202 .I 2203 .T Key-to-Address Transform Techniques: A Fundamental Performance Study on Large Existing Formatted Files .W The results of a study of eight different key-to-address transformation methods applied to a set of existing files are presented. As each method is applied to a particular file, load factor and bucket size are varied over a wide range. In addition, appropriate variables pertinent only to a specific method take on different values. The performance of each method is summarized in terms of the number of accesses required to get to a record and the number of overflow records created by a transformation. Peculiarities of each method are discussed. Practical guidelines obtained from the results are stated. Finally, a proposal for further quantitative fundamental study is outlined. .B CACM April, 1971 .A Lum, V. Y. Yuen, P. S. T. Dodd, M. .K hashing, hashing techniques, hashing methods, hash coding, keys, key transformation, key-to-address transformation, direct addressing, direct access method, randomizing, random access,file addressing, file organizations, file structures, scatter storage, search, collisions, clusters, information retrieval .C 3.7 3.72 3.73 3.74 3.79 4.9 .N CA710402 JB February 3, 1978 4:10 PM .X 1676 4 2203 1682 4 2203 1728 4 2203 1785 4 2203 1785 4 2203 1860 4 2203 1860 4 2203 1973 4 2203 1973 4 2203 1973 4 2203 1973 4 2203 1992 4 2203 1992 4 2203 2018 4 2203 2018 4 2203 2018 4 2203 2032 4 2203 2033 4 2203 2033 4 2203 2107 4 2203 2107 4 2203 2109 4 2203 2109 4 2203 2138 4 2203 2203 4 2203 2203 4 2203 2203 4 2203 2203 4 2203 2203 4 2203 2203 4 2203 2251 4 2203 2251 4 2203 2251 4 2203 2251 4 2203 2359 4 2203 2524 4 2203 2530 4 2203 2537 4 2203 2543 4 2203 2543 4 2203 2543 4 2203 2543 4 2203 2552 4 2203 2552 4 2203 2559 4 2203 2559 4 2203 2573 4 2203 2573 4 2203 2770 4 2203 2770 4 2203 2860 4 2203 2974 4 2203 2991 4 2203 2991 4 2203 3053 4 2203 3053 4 2203 3053 4 2203 3083 4 2203 911 4 2203 911 5 2203 1785 5 2203 1786 5 2203 2107 5 2203 2109 5 2203 2203 5 2203 2203 5 2203 2203 5 2203 2258 5 2203 2313 5 2203 2319 5 2203 2359 5 2203 2437 5 2203 2552 5 2203 2781 5 2203 2860 5 2203 2991 5 2203 492 5 2203 911 6 2203 1328 6 2203 1408 6 2203 1719 6 2203 1749 6 2203 1751 6 2203 1785 6 2203 1785 6 2203 1785 6 2203 332 6 2203 2016 6 2203 2017 6 2203 2080 6 2203 2107 6 2203 2188 6 2203 2203 6 2203 2203 6 2203 2203 6 2203 2203 6 2203 2203 6 2203 2203 6 2203 2203 6 2203 2203 6 2203 2203 6 2203 2204 6 2203 492 6 2203 .I 2204 .T Program Development by Stepwise Refinement .W The creative activity of programming-to be distinguished from coding-is usually taught by examples serving to exhibit certain techniques. It is here considered as a sequence of design decisions concerning the decomposition of tasks into subtasks and of data into data structures. The process of successive refinement of specifications is illustrated by a short but nontrivial example, from which a number of conclusions are drawn regarding the art and the instruction of programming. .B CACM April, 1971 .A Wirth, N. .K education in programming, programming techniques, stepwise program construction .C 1.50 4.0 .N CA710401 JB February 3, 1978 4:14 PM .X 2204 5 2204 2204 5 2204 2204 5 2204 2319 5 2204 2480 5 2204 2594 5 2204 2709 5 2204 2939 5 2204 2972 5 2204 3155 5 2204 970 6 2204 1408 6 2204 1425 6 2204 1719 6 2204 1749 6 2204 1751 6 2204 1771 6 2204 2016 6 2204 2017 6 2204 2080 6 2204 2138 6 2204 2155 6 2204 2188 6 2204 2203 6 2204 2204 6 2204 2204 6 2204 2204 6 2204 2204 6 2204 2204 6 2204 2204 6 2204 2204 6 2204 2247 6 2204 2247 6 2204 2456 6 2204 2477 6 2204 2558 6 2204 2597 6 2204 2732 6 2204 2738 6 2204 3073 6 2204 3186 6 2204 799 6 2204 .I 2205 .T DIFSUB for Solution of Ordinary Differential Equations [D2] (Algorithm 407) .B CACM March, 1971 .A Gear, C. W. .K differential equations, stiff differential equations .C 5.17 .N CA710307 JB February 3, 1978 4:16 PM .X 2205 4 2205 2474 4 2205 2205 5 2205 2205 5 2205 2205 5 2205 2207 5 2205 2474 5 2205 2205 6 2205 2207 6 2205 .I 2206 .T Exact Solution of Linear Equations Using Residue Arithmetic [F4] (Algorithm 406) .B CACM March, 1971 .A Howell, J. .K residue arithmetic, symmetric residue, modulus, mixed-radix representation, symmetric mixed-radix representation, mixed-radix conversion, prime number, linear equations, Gaussian elimination, matrix inversion, determinant, adjoint matrix, ill-condition .C 3.15 5.14 .N CA710306 JB February 3, 1978 4:23 PM .X 2206 5 2206 2206 5 2206 2206 5 2206 .I 2207 .T The Automatic Integration of Ordinary Differential Equations .W An integration technique for the automatic solution of an initial value problem for a set of ordinary differential equations is described. A criterion for the selection of the order of approximation is proposed. The objective of the criterion is to increase the step size so as to reduce solution time. An option permits the solution of "stiff" differential equations. A program embodying the techniques discussed appears in Algorithm 407. .B CACM March, 1971 .A Gear, C. W. .K differential equations, stiff equations, integration, step control, order control .C 5.17 .N CA710305 JB February 3, 1978 4:28 PM .X 2205 5 2207 2207 5 2207 2207 5 2207 2207 5 2207 2474 5 2207 2205 6 2207 2207 6 2207 2207 6 2207 .I 2208 .T Storage Utilization in a Memory Hierarchy When Storage Assignment Is Performed by a Hashing Algorithm .W The utilization of storage is studied in a two-level memory hierarchy. The first storage level, which is the fast store, is divided into a number of storage areas. When an entry is to be filed in the hierarchy, a hashing algorithm will attempt to place the entry into one of these areas. If this particular area is full, then the entry will be placed into the slower second-level store, even though other areas in the first-level store may have space available. Given the N entries have been filed in the entire hierarchy, an expression is derived for the expected number of entries filed in the first-level store.This expression gives a measure of how effectively the first-level store is being used. By means of examples, storage utilization is then studied as a function of the hashing algorithm, the number of storage areas into which the first-level store is divided and the total size of the first-level store. .B CACM March, 1971 .A Williams, J. G. .K hashing algorithms, memory allocation, memory hierarchy, memory utilization, storage allocation, storage hierarchy, storage utilization .C 3.74 4.3 .N CA710304 JB February 3, 1978 4:37 PM .X 2208 5 2208 2208 5 2208 2208 5 2208 .I 2209 .T A Scheduling Algorithm for a Computer Assisted Registration System .W This paper presents the scheduling algorithm used in the Computer Assisted Registration System at the University of Tennessee. Notation is defined and the logic of the algorithm necessary to implement educational policy is described. Results from the first term's implementation are presented. .B CACM March, 1971 .A Winters, W. K. .K computer assisted registration, scheduling algorithm, timetable .C 3.32 5.39 .N CA710303 JB February 3, 1978 4:40 PM .X 1540 4 2209 2052 4 2209 2209 4 2209 2209 4 2209 1434 5 2209 1540 5 2209 2209 5 2209 2209 5 2209 2209 5 2209 .I 2210 .T Toward Automatic Program Synthesis .W An elementary outline of the theorem-proving approach to automatic program synthesis is given, without dwelling on technical details. The method is illustrated by the automatic construction of both recursive and iterative programs operating on natural numbers,lists, and trees, In order to construct a program satisfying certain specifications a theorem induced by those specifications is proved, and the desired program is extracted from the proof. The same technique is applied to transform recursively defined functions into iterative programs, frequently with a major gain inefficiency. It is emphasized that in order to construct a program with loops or with recursion, the principle of mathematical induction must be applied. The relation between the version of the induction rule used and the form of the program constructed is explored in some detail. .B CACM March, 1971 .A Manna, Z. Waldinger, R. J. .K artificial intelligence, answer extraction, automatic program synthesis, mathematical induction principle, problem solving, theorem proving .C 3.64 5.23 5.24 .N CA710302 JB February 3, 1978 4:48 PM .X 1515 4 2210 2096 4 2210 2127 4 2210 2210 4 2210 1155 5 2210 2210 5 2210 2210 5 2210 2210 5 2210 2657 5 2210 2719 5 2210 1626 6 2210 210 6 2210 2151 6 2210 2167 6 2210 2210 6 2210 2210 6 2210 2645 6 2210 2657 6 2210 .I 2211 .T Scanned-Display Computer Graphics .W A television-like scanned-display system has been successfully implemented on a Honeywell DDP-224 computer installation. The scanned image is stored in the core memory of the computer, and software scan conversion is used to convert the rectangular coordinates of a point to the appropriate word and bit in an output display array in core storage. Results thus far indicate that flicker-free displays of large amounts of data are possible with reasonably fast graphical interaction. A scanned image of size 240 X 254 points is displayed at a 30 frame-per-second rate. .B CACM March, 1971 .A Noll, A. M. .K computer graphics, scanned-display, scan conversion, raster displays .C 4.41 6.35 .N CA710301 JB February 3, 1978 4:53 PM .X 1891 4 2211 2211 4 2211 2211 4 2211 2421 4 2211 2674 4 2211 2687 4 2211 1554 5 2211 1741 5 2211 2211 5 2211 2211 5 2211 2211 5 2211 2421 5 2211 1741 6 2211 2211 6 2211 .I 2212 .T F-DISTRIBUTION .B CACM February, 1971 .A Tolman, H. .K Fisher's F-distribution, Student's t-distribution .C 5.5 .N CA710209 JB February 8, 1978 8:35 AM .X 2212 5 2212 2212 5 2212 2212 5 2212 .I 2213 .T Roots of Matrix Pencils: The Generalized Eigenvalue Problem [F2] (Algorithm 405) .B CACM February, 1971 .A Dell, A. M. Weil, R. L. Thompson, G. L. .K eigenvalues, matrix roots, pencil roots .C 5.1 5.3 .N CA710208 JB February 8, 1978 8:37 AM .X 2213 5 2213 2213 5 2213 2213 5 2213 .I 2214 .T Complex Interval Arithmetic .W Complex interval arithmetic is defined using real interval arithmetic. Complex interval division is defined so as to assure smallest possible resulting intervals. .B CACM February, 1971 .A Rokne, J. Lancaster, P. .K real intervals, real interval arithmetic, complex intervals, complex interval arithmetic .C 5.11 .N CA710207 JB February 8, 1978 8:39 AM .X 1524 4 2214 1931 4 2214 2214 4 2214 2544 4 2214 311 5 2214 2214 5 2214 2214 5 2214 2214 5 2214 2544 5 2214 1524 6 2214 311 6 2214 2214 6 2214 .I 2215 .T Application of Game Tree Searching Techniques to Sequential Pattern Recognition .W A sequential pattern recognition (SPR) procedure does not test all the features of a pattern at once. Instead, it selects a feature to be tested. After receiving the result of that test, the procedure either classifies the unknown pattern or selects another feature to be tested, etc. Medical diagnosis is an example of SPR. In this paper the authors suggest that SPR be viewed as a one-person game played against nature (chance). Virtually all the powerful techniques developed for searching two-person, strictly competitive game trees can easily be incorporated either directly or by analogy into SPR procedures. In particular, one can incorporate the "mini average backing-up procedure" and the "gamma procedure," which are the analogues of the "minimax backing-up procedure" and the "alpha-beta procedure," respectively. Some computer simulated experiments in character recognition are presented. The results indicate that the approach is promising. .B CACM February, 1971 .A Slagle, J. R. Lee, R. C. T. .K sequential pattern recognition, game tree searching, game against nature, gamma procedure, mini average backing-up procedure, dynamic programming, branch-and-bound approach, optimal solution .C 3.60 3.63 5.42 .N CA710206 JB February 8, 1978 8:56 AM .X 2215 4 2215 2096 5 2215 2215 5 2215 2215 5 2215 2215 5 2215 3132 5 2215 2215 6 2215 .I 2216 .T On the Probability Distribution of the Values of Binary Trees .W An integral equation is derived for the generating function for binary tree values, the values reflecting sorting effort. The analysis does not assume uniformly distributed branching ratios, and therefore is applicable to a family of sorting algorithms discussed by Hoare, Singleton, and van Emden. The solution to the integral equation indicates that using more advanced algorithms in the family makes only minor reductions in the expected sorting effort, but substantially reduces the variance in sorting effort. Statistical tests of the values of several thousand trees containing up to 10,000 points have given first, second, and third moments of the value distribution function in satisfactory agreement with the moments computed from the generating function. The empirical tests, as well as the analytical results, are in agreement with previously published results for the first moment in the cases of uniform and nonuniform distribution of branching ratio, and for the second moment in the case of uniform distribution of branching ratio. .B CACM February, 1971 .A Hurwitz Jr., H. .K binary trees, sorting, statistical analysis .C 4.40 5.18 5.5 .N CA710205 JB February 8, 1978 9:09 AM .X 1175 4 2216 1919 4 2216 1997 4 2216 2017 4 2216 2041 4 2216 2216 4 2216 2216 4 2216 2216 4 2216 2216 4 2216 2679 4 2216 2679 4 2216 3054 4 2216 3054 4 2216 3054 4 2216 1919 5 2216 1969 5 2216 1997 5 2216 2216 5 2216 2216 5 2216 2216 5 2216 864 5 2216 .I 2217 .T Experiments in Automatic Learning for a Multipurpose Heuristic Program .W An automatic learning capability has been developed and implemented for use with the MULTIPLE (MULTIpurpose Program that LEarns) heuristic tree-searching program, which is presently being applied to resolution theorem-proving in predicate calculus. MULTIPLE's proving program (PP) uses two evaluation functions to guide its search for a proof of whether or not a particular goal is achievable. Thirteen general features of predicate calculus clauses were created for use in the automatic learning of better evaluation functions for PP. A multiple regression program was used to produce optimal coefficients for linear polynomial functions in terms of the features. Also, automatic data-handling routines were written for passing data between the learning program and the proving program, and for analyzing and summarizing results. Data was generally collected for learning (regression analysis) from the experience of PP. A number of experiments were performed to test the effectiveness and generality of the learning program. Results showed that the learning produced dramatic improvements in the solutions to problems which were in the same domain as those used for collection learning data. Learning was also shown to generalize successfully to domains other than those used for data collection. Another experiment demonstrated that the learning program could simultaneously improve performance on problems in a specific domain and on problems in a variety of domains. Some variations of the learning program were also tested. .B CACM February, 1971 .A Slagle, J. R. Farrell, C. D. .K learning, theorem-providing, heuristic, automatic learning, self-modifying,tree-searching, artificial intelligence, problem-solving, adaptive, LISP, multiple regression, resolution .C 3.62 3.64 .N CA710204 JB February 8, 1978 9:33 AM .X 2217 5 2217 2217 5 2217 2217 5 2217 .I 2218 .T An Analysis of Some Time-Sharing Techniques .W The effectiveness of certain time-sharing techniques such as program, relocation, disk rotational delay minimization, and swap volume minimization is investigated. Summary data is presented, and the findings are discussed. The vehicle for this investigation was a SIMULA based simulation model reflecting an early framework for a planned Burroughs B6500 time-sharing system. Inasmuch as the B6500 system is based upon the use of variable sized segments and a dynamic overlay procedure, data is also presented which provides some indication of the effectiveness of this type of organization in a time-sharing environment. The design characteristics and operational capabilities of the simulation model are also described. .B CACM February, 1971 .A Nielsen, N. R. .K B6500, bulk core usage, operating system model, relocation, rotational delay minimization, simulation, swap volume minimization, system simulation, time-sharing .C 3.9 4.32 .N CA710203 JB February 8, 1978 9:40 AM .X 1541 4 2218 1751 4 2218 1805 4 2218 1846 4 2218 1846 4 2218 1892 4 2218 1892 4 2218 1892 4 2218 1892 4 2218 1901 4 2218 1924 4 2218 2060 4 2218 2085 4 2218 2095 4 2218 2095 4 2218 2095 4 2218 2128 4 2218 2188 4 2218 2218 4 2218 2218 4 2218 2218 4 2218 2218 4 2218 2218 4 2218 2218 4 2218 2218 4 2218 2218 4 2218 2277 4 2218 2297 4 2218 2317 4 2218 2319 4 2218 2329 4 2218 2358 4 2218 2373 4 2218 2373 4 2218 2374 4 2218 2380 4 2218 2434 4 2218 2499 4 2218 2498 4 2218 2501 4 2218 2526 4 2218 2582 4 2218 2596 4 2218 2667 4 2218 2668 4 2218 2669 4 2218 2734 4 2218 2734 4 2218 2828 4 2218 2862 4 2218 2863 4 2218 2863 4 2218 2881 4 2218 2902 4 2218 2911 4 2218 2928 4 2218 2996 4 2218 3000 4 2218 3000 4 2218 3006 4 2218 3067 4 2218 3112 4 2218 1380 5 2218 1572 5 2218 1728 5 2218 1751 5 2218 1752 5 2218 1810 5 2218 1879 5 2218 2095 5 2218 2218 5 2218 2218 5 2218 2218 5 2218 2681 5 2218 2218 6 2218 .I 2219 .T A Policy-Driven Scheduler for a Time-Sharing System .W The service received by a process from a time-sharing operating system can be characterized by a resource count SUM{w[i]R[ij]} where R[ij] is the number of units of service received by process i from resource i and w[i] is the cost per unit of the service. Each class of users can be characterized by a policy function which specifies the amount of service a user who belongs to this class should receive as a function of time. Priority changes dynamically as a function of the difference between the service promised to the user by the policy function and the service he actually receives. A scheduling and swapping algorithm which keeps the resource count of each process above its policy function will provide the specified level of service. Overhead can be reduced by avoiding swaps of process which have received at least his level of service. The algorithm has been implemented in a general purpose operating system, and it has provided significantly better service to interactive and to batch jobs than the previous scheduler. .B CACM February, 1971 .A Bernstein, A. J. Sharp, J. C. .K scheduler, time-sharing, operating system, resource allocation and swapping .C 4.32 .N CA710202 JB February 8, 1978 9:54 AM .X 2219 4 2219 2344 4 2219 1938 5 2219 2219 5 2219 2219 5 2219 2219 5 2219 2950 5 2219 3072 5 2219 1713 6 2219 2219 6 2219 2219 6 2219 2245 6 2219 2375 6 2219 .I 2220 .T Conversion of Limited-Entry Decision Tables to Computer Programs-A Proposed Modification to Pollack's Algorithm .W Pollack has proposed an algorithm for converting decision tables into flowcharts which minimize subsequent execution time when compiled into a computer program. Two modifications of this algorithm are proposed. The first relies on Shannon's noiseless coding theorem and the communications concept of entropy but does not completely test the ELSE Rule. The second modification completely tests the ELSE Rule but results in more executions than the first modification. Both modifications result in modification guarantees a globally optimal solution. .B CACM February, 1971 .A Shwayder, K. .K coding, decision table, entropy, information theory, noiseless channel, sorting .C 3.50 5.31 .N CA710201 JB February 8, 1978 10:06 AM .X 1237 4 2220 1354 4 2220 1354 4 2220 1354 4 2220 1488 4 2220 1488 4 2220 1548 4 2220 1684 4 2220 1994 4 2220 2053 4 2220 2053 4 2220 2053 4 2220 2053 4 2220 2220 4 2220 2220 4 2220 2220 4 2220 2220 4 2220 2220 4 2220 2220 4 2220 2220 4 2220 2273 4 2220 2273 4 2220 2273 4 2220 2273 4 2220 2453 4 2220 2453 4 2220 2492 4 2220 2518 4 2220 2598 4 2220 2598 4 2220 2616 4 2220 2726 4 2220 2726 4 2220 2726 4 2220 2726 4 2220 2726 4 2220 2856 4 2220 2856 4 2220 2856 4 2220 3113 4 2220 753 4 2220 1172 5 2220 1237 5 2220 1327 5 2220 1354 5 2220 250 5 2220 1489 5 2220 1548 5 2220 2220 5 2220 2220 5 2220 2220 5 2220 2273 5 2220 2453 5 2220 2598 5 2220 2726 5 2220 2856 5 2220 1172 6 2220 1172 6 2220 1172 6 2220 1172 6 2220 1172 6 2220 1237 6 2220 1327 6 2220 1327 6 2220 1327 6 2220 1354 6 2220 1354 6 2220 1354 6 2220 1354 6 2220 1488 6 2220 1489 6 2220 1548 6 2220 1548 6 2220 2053 6 2220 2053 6 2220 2053 6 2220 2220 6 2220 2220 6 2220 2220 6 2220 2220 6 2220 2220 6 2220 2221 6 2220 2263 6 2220 2263 6 2220 2453 6 2220 2453 6 2220 2598 6 2220 2691 6 2220 753 6 2220 .I 2221 .T Comment on the Conversion of Decision Tables to Computer Programs .B CACM January, 1971 .A Pollack, S. L. .K decision tables, diagnostic aids, system analysis, business applications .C 3.50 3.59 4.19 4.29 4.49 .N CA710113 JB February 8, 1978 10:09 AM .X 2221 4 2221 2221 4 2221 2273 4 2221 2340 4 2221 2453 4 2221 2517 4 2221 2824 4 2221 2856 4 2221 2986 4 2221 3034 4 2221 1683 5 2221 2053 5 2221 2221 5 2221 2221 5 2221 2221 5 2221 2517 5 2221 2726 5 2221 1172 6 2221 1327 6 2221 1354 6 2221 1488 6 2221 1489 6 2221 1548 6 2221 1684 6 2221 2053 6 2221 2220 6 2221 2221 6 2221 2221 6 2221 2263 6 2221 .I 2222 .T Comment on London's Certification of Algorithm 245 .B CACM January, 1971 .A Redish, K. A. .K proof of algorithms, debugging, certification, metatheory, sorting, in-place sorting .C 4.42 4.49 5.24 5.31 .N CA710112 JB February 8, 1978 10:19 AM .X 2021 4 2222 2042 4 2222 2222 4 2222 2222 4 2222 2222 4 2222 2222 4 2222 2222 4 2222 2227 4 2222 2315 4 2222 2326 4 2222 2356 4 2222 2470 4 2222 2679 4 2222 2679 4 2222 2732 4 2222 2844 4 2222 2865 4 2222 2896 4 2222 2943 4 2222 2972 4 2222 3014 4 2222 3068 4 2222 3077 4 2222 3143 4 2222 970 5 2222 1800 5 2222 1818 5 2222 1834 5 2222 2042 5 2222 2222 5 2222 2222 5 2222 2222 5 2222 .I 2223 .T Minit Algorithm For Linear Programming (Algorithm 222 [H]) .B CACM January, 1971 .A Kolm, A. Dahlstrand, T. .K linear programming, dual simplex method, primal problem, dual problem .C 5.41 .N CA710111 JB February 8, 1978 10:22 AM .X 2223 5 2223 2223 5 2223 2223 5 2223 .I 2224 .T Complex Gamma Function [S14] (Algorithm 404) .B CACM January, 1971 .A Lucas Jr., C. W. Terrill, C. W. .K gamma function, poles of gamma function, Stirling's asymptotic series, recursion formula, reflection formula .C 5.12 .N CA710110 JB February 8, 1978 10:25 AM .X 2224 4 2224 1547 5 2224 2224 5 2224 2224 5 2224 2224 5 2224 .I 2225 .T Circular Integer Partitioning [A1] (Algorithm 403) .B CACM January, 1971 .A Coleman, M. W. Taylor, M. S. .K partitions, combinatorics, statistical design of experiments .C 5.39 5.5 .N CA710109 JB February 8, 1978 10:27 AM .X 2225 5 2225 2225 5 2225 2225 5 2225 .I 2226 .T Further Evidence for the Analysis of Algorithms for the Zero-One Programming Problem .W The purpose of this note is to report computational experience additional to that recently summarized by Gue et al, with two algorithms for the zero-one linear programming problem. An error in Gue's paper is corrected. The utility of one of the algorithms as a suboptimizer is indicated. .B CACM January, 1971 .A Proll, L. G. .K operations research, integer programming, zero-one variables, algorithms .C 5.39 5.41 .N CA710108 JB February 8, 1978 10:32 AM .X 2226 4 2226 2226 4 2226 1658 5 2226 1666 5 2226 2226 5 2226 2226 5 2226 2226 5 2226 .I 2227 .T Proof of a Program: FIND .W A proof is given of the correctness of the algorithm "Find." First, a informal description is given of the purpose of the program and the method used. A systematic technique is described for constructing the program proof during the process of coding it, in such a way as to prevent the intrusion of logical errors. The proof of termination is treated as a separate exercise. Finally, some conclusions relating to general programming methodology are drawn. .B CACM January, 1971 .A Hoare, C. A. R. .K proofs of programs, programming methodology, program documentation, program correctness, theory of programming .C 4.0 4.22 5.21 5.23 5.24 .N CA710107 JB February 8, 1978 10:40 AM .X 2021 4 2227 2222 4 2227 2227 4 2227 2227 4 2227 2315 4 2227 2326 4 2227 2470 4 2227 2732 4 2227 2783 4 2227 2865 4 2227 2896 4 2227 2943 4 2227 3014 4 2227 3054 4 2227 3068 4 2227 3077 4 2227 3143 4 2227 1834 5 2227 307 5 2227 2227 5 2227 2227 5 2227 2227 5 2227 2356 5 2227 2420 5 2227 2874 5 2227 3143 5 2227 970 6 2227 1491 6 2227 1682 6 2227 1834 6 2227 2227 6 2227 2227 6 2227 2227 6 2227 2227 6 2227 2317 6 2227 2683 6 2227 2871 6 2227 521 6 2227 .I 2228 .T Comments on Prevention of System Deadlocks .W Habermann's method of deadlock prevention is discussed, where deadlock is defined as a system state from which resource allocations to certain processes are not possible. It is shown that the scheduler may introduce "artificial" deadlocks which Habermann's method does not prevent. Permanent blocking is the situation where certain processes never receive their resource requests. It is shown that deadlock prevention does not necessarily eliminate permanent blocking. A method of preventing permanent blocking is given. .B CACM January, 1971 .A Holt, R. C. .K multiprogramming, time-sharing, scheduling, resource allocation, deadlock, lockout, deadly embrace, knotting .C 3.72 4.32 6.20 .N CA710106 JB February 8, 1978 10:45 AM .X 1781 4 2228 2150 4 2228 2150 4 2228 2228 4 2228 2228 4 2228 2228 4 2228 2256 4 2228 2256 4 2228 2280 4 2228 2317 4 2228 2342 4 2228 2342 4 2228 2376 4 2228 2379 4 2228 2482 4 2228 2618 4 2228 2618 4 2228 2740 4 2228 2851 4 2228 2920 4 2228 3184 4 2228 1198 5 2228 1338 5 2228 1877 5 2228 2228 5 2228 2228 5 2228 2228 5 2228 2280 5 2228 2379 5 2228 2482 5 2228 2500 5 2228 1749 6 2228 1749 6 2228 1877 6 2228 1877 6 2228 1877 6 2228 2228 6 2228 2228 6 2228 2228 6 2228 2228 6 2228 .I 2229 .T Construction of Rational and Negative Powers of a Formal Series .W Some methods are described for the generation of fractional and negative powers of any formal series, such as Poisson series or Chebyshev series. It is shown that, with the use of the three elementary operations of addition, subtraction, and multiplication, all rational (positive and negative) powers of a series can be constructed. There are basically two approaches: the binomial theorem and the iteration methods. Both methods are described here, and the relationship between them is pointed out. Some well-known classical formulas are obtained as particular cases, and it is shown how the convergence properties of these formulas can be improved with very little additional computations. Finally, at the end of the article, some numerical experiments are described with Chebyshev series and with Fourier series. .B CACM January, 1971 .A Brucke, R. A. .K series expansion, series inversion, root extraction, binomial theorem, Newton iterations, Chebyshev series, Poisson series, Fourier series .C 3.11 3.15 3.21 5.0 .N CA710105 JB February 8, 1978 10:57 AM .X 1396 4 2229 2229 4 2229 1365 5 2229 2229 5 2229 2229 5 2229 2229 5 2229 .I 2230 .T A Language for Treating Geometric Patterns in a Two-dimensional space .W In this paper CADEP, a problem-oriented language for positioning geometric patterns in a two-dimensional space, is presented. Although the language has been specifically designed for the automatic generation of integrated circuit masks, it turns out to be well suited also for such other placement problems as architecture design, urban planning, logical and block diagram representation. The design criteria, the structure, and the specific features of CADEP are illustrated. .B CACM January, 1971 .A Bracchi, G. Ferrari, D. .K graphic language, problem-oriented language, two-dimensional patterns, graphic display, Fortran extension, layout problems, integrated circuit, architecture design, urban planning .C 3.23 3.24 3.25 4.22 .N CA710104 JB February 8, 1978 11:17 AM .X 2230 4 2230 2003 5 2230 2044 5 2230 2230 5 2230 2230 5 2230 2230 5 2230 996 6 2230 1558 6 2230 2230 6 2230 521 6 2230 .I 2231 .T The Reconstruction of Binary Patterns from Their Projections .W Given the horizontal and vertical projections of a finite binary pattern f, can we construct the original pattern f? In this paper we give a characterization of patterns that are reconstructable from their projection. Three algorithms are developed to reconstruct both unambiguous and ambiguous patterns. It is shown that an unambiguous pattern can be perfectly reconstructed in time m X n and that a pattern similar to an ambiguous pattern can also be constructed in time m X n, where m, n are the dimensions of the pattern frame. .B CACM January, 1971 .A Chang, S. .K pattern reconstruction, image reconstruction, data compression, pattern recognition, integral geometry .C 3.63 5.30 .N CA710103 JB February 8, 1978 12:33 PM .X 2142 5 2231 2231 5 2231 2231 5 2231 2231 5 2231 2529 5 2231 1929 6 2231 2231 6 2231 2231 6 2231 .I 2232 .T Pattern Width at a Given Angle .W That the pattern feature "width as a function of angle" possesses several possible interpretations is demonstrated in this paper, which is a review of the width concept in pattern recognition and the geometrical concept itself. The object of the work is to clarify how the word description can be made precise so that computer algorithms for feature extraction may be obtained; the focus is on the theoretical subject matter. The results consist of a set-theoretic definition of width-at-angle, a theorem relating it to the pattern boundary radius vector, and descriptions of alternate widths. All widths are calculated for an illustrative example; graphical and tabular comparisons are given. Substantial variation in width-at-angle magnitude is found. The principal conclusion is that the set-theoretic width-at-angle is a useful pattern feature when it can be easily computed. Further investigation of the information contained in only part of a width function is recommended for cases where computation of width-at-angle is difficult. .B CACM January, 1971 .A Klinger, A. .K feature extraction, pattern recognition,figure properties, picture processing, integral geometry, width-at-angle, extent, integral projections, linear pattern measures, width functions .C 3.60 3.62 3.63 5.12 .N CA710102 JB February 8, 1978 12:49 PM .X 2232 5 2232 2232 5 2232 2232 5 2232 .I 2233 .T Signature Simulation and Certain Cryptographic Codes .W Three cyphers allegedly authored by Thomas Jefferson Beale in 1822 have been the subject of intensive study for over 100 years. Generations of cryptanalysts have expended untold man-years, thus far without success, attempting tode code them; vast armies of fortune hunters and treasure seekers have devoted Herculean labors to digging up the rolling hills of Virginia trying to locate the promised bonanza. The history of pertinent activities would fill volumes, yet serious students of cryptography have always had nagging doubts about the cyphers' authenticity. It has been alleged that the "known solution" to Cypher Number Two: 115, 73, 24, 818, 37, 52, 49,...("I have deposited in the County of Bedford about four miles from Buford's in an excavation or vault...") with the aid of an unsanitized version of the Declaration of Independence was merely a superb, imaginative, and grandiose hoax perpetrated ages ago for whatever reasons. Modern computer technology could obviously perform signature analyses the process of encoding itself so as to yield new clues and deeper insights into their construction. For the benefit of the uninitiated, the encoding method used in the second cypher employs a specified document whose words are simply numbered consecutively, and first letters of these words are sought out at random to match the letters of these words are sought out at random to match the letters of the clear text or message. The sequence of numbers corresponding to these matches is then written down as the final code. While primitive, the process has the advantage of relative security until the source document becomes known; at that moment the cypher can be decoded even by second graders. The work now completed with the help of our UNIVAC 1108 includes numerous analytical studies of the Beale cyphers and various types of simulations. For example, we have turned the entire process of simulated encoding by various schemes over to the machine and analyzed the signatures of these synthetic codes; we have also encoded various messages by hand, using different texts and a variety of methods to obtain their signatures. These simulations provide convincing evidence that the signatures are both process and data dependent; they indicate also very strongly that Mr. Beale's cyphers are for real and that it is merely a matter of time before someone finds the correct source document and locates the right vault in the common-wealth of Virginia. .B CACM January, 1971 .A Hammer, C. .K Thomas Jefferson Beale, codes, cryptanalysis, cyphers, decoding, Declaration of Independence, encoding, Magna Carta, pseudotext, signature, simulation .C 3.42 3.63 3.65 3.71 .N CA710101 JB February 8, 1978 1:15 PM .X 2233 5 2233 2233 5 2233 2233 5 2233 .I 2234 .T Roots of Matrix Pencils (Algorithm R405) .B CACM December, 1972 .A Heiberger, R. M. .K eigenvalues, matrix roots, pencil roots .C 5.1 5.3 .N CA721221 JB January 27, 1978 8:51 AM .X 2234 5 2234 2234 5 2234 2234 5 2234 .I 2235 .T Decision Table Translation (Algorithm R394) .B CACM December, 1972 .A Marshall, D. R. T. .K decision table, decision table translation .C 4.19 .N CA721220 JB January 27, 1978 8:53 AM .X 2235 5 2235 2235 5 2235 2235 5 2235 .I 2236 .T Remarks on Characteristic Values and Associated Solutions of Mathieus Differential Equation, Exponential Integral, and Systems of Hyperbolic P.D.E. (Algorithms R352, R385, R392) .B CACM December, 1972 .A Frisch, M. J. .K ANSI Fortran standard .C 4.0 4.22 .N CA721219 JB January 27, 1978 8:56 AM .X 2236 5 2236 2236 5 2236 2236 5 2236 .I 2237 .T BANDSOLVE (Algorithm R195) .B CACM December, 1972 .A Schuegraf, E. .N CA721218 DMM February 2, 1978 1:39 PM .X 2237 5 2237 2237 5 2237 2237 5 2237 .I 2238 .T Least Squares Surface Fit (Algorithm R176) .B CACM December, 1972 .A Schuegraf, E. .N CA721217 JB January 27, 1978 8:59 AM .X 2238 5 2238 2238 5 2238 2238 5 2238 .I 2239 .T Squank (Algorithm C379) .B CACM December, 1972 .A Hallet, P. Mund, E. .K numerical integration, integration rule, adaptive integration, automatic integration, Simpson's rule, numerical quadrature, quadrature rule, adaptive quadrature, automatic quadrature, round-off error control .C 5.16 .N CA721216 JB January 27, 1978 9:01 AM .X 2239 5 2239 2239 5 2239 2239 5 2239 .I 2240 .T Pseudo-Random Numbers [G5] (Algorithm C266) .B CACM December, 1972 .A Sullins, W. L. .K pseudo-random numbers, testing random number generators .C 5.5 .N CA721215 JB January 27, 1978 9:04 AM .X 2240 5 2240 2240 5 2240 2240 5 2240 .I 2241 .T Product Type Three-point Gauss-Legendre-Simpson's Integration [D1] (Algorithm A439) .B CACM December, 1972 .A Boland, W. R. .K numerical integration, product type quadrature, Gaussian quadrature, Simpson's rule .C 5.16 .N CA721214 JB January 27, 1978 9:06 AM .X 2241 5 2241 2241 5 2241 2241 5 2241 .I 2242 .T Product Type Two-Point Gauss-Legendre-Simpson's Integration [D1] (Algorithm A438) .B CACM December, 1972 .A Boland, W. R. .K numerical integration, product type quadrature, Gaussian quadrature, Simpson's rule .C 5.16 .N CA721213 JB January 27, 1978 9:08 AM .X 2242 5 2242 2242 5 2242 2242 5 2242 .I 2243 .T Product Type Simpson's Integration [D1] (Algorithm A437) .B CACM December, 1972 .A Boland, W. R. .K numerical integration, product type quadrature, Simpson's rule .C 5.16 .N CA721212 JB January 27, 1978 9:10 AM .X 2243 5 2243 2243 5 2243 2243 5 2243 .I 2244 .T Product Type Trapezoidal Integration (Algorithm A436) .B CACM December, 1972 .A Boland, W. R. .K numerical integration, product type quadrature, trapezoidal integration .C 5.16 .N CA721211 JB January 27, 1978 9:11 AM .X 2244 5 2244 2244 5 2244 2244 5 2244 .I 2245 .T Trace-Driven Modeling and Analysis of CPU Scheduling in Multiprogramming System .W Microscopic level job stream data obtained in a production environment by an event-driven software probe is used to drive a model of a multiprogramming computer system. The CPU scheduling algorithm of the model is systematically varied. This technique, called trace-driven modeling, provides an accurate replica of a production environment for the testing of variations in the system. At the same time alterations in scheduling methods can be easily carried out in a controlled way with cause and effects relationships being isolated. The scheduling methods tested included the best possible and worst possible methods, the traditional methods of multiprogramming theory, round-robin, first-come-first-served, etc., and dynamic predictors. The relative and absolute performances of these scheduling methods are given. It is concluded that a successful CPU scheduling method must be preemptive and must prevent a given job from holding the CPU for too long a period. .B CACM December, 1972 .A Sherman, S. Baskett III, F. Browne, J. C. .K scheduling, CPU scheduling,multiprogramming, performance measurement, trace driven models .C 4.10 4.20 4.31 4.32 .N CA721210 JB January 27, 1978 10:57 AM .X 2245 5 2245 2245 5 2245 2245 5 2245 2571 5 2245 3072 5 2245 3119 5 2245 1713 6 2245 2219 6 2245 2245 6 2245 2245 6 2245 2245 6 2245 2375 6 2245 2798 6 2245 2849 6 2245 2859 6 2245 .I 2246 .T Levels of Language for Portable Software .W An increasing amount of software is being implemented in a portable form. A popular way of accomplishing this is to encode the software in a specially designed machine-independent language and then to map this language, often using a macro processor, into the assembly language of each desired object machine. The design of the machine-independent language is the key factor in this operation. This paper discusses the relative merits of pitching this language at a high level or a low level, and presents some comparative results. .B CACM December, 1972 .A Brown, P. J. .K portable software, level of language, machine independent, macro processor, efficiency .C 4.12 4.21 4.22 .N CA721209 JB January 27, 1978 11:02 AM .X 2246 5 2246 2246 5 2246 2246 5 2246 .I 2247 .T On the Criteria To Be Used in Decomposing Systems into Modules .W This paper discusses modularization as a mechanism for improving the flexibility ad comprehensibility of a system while allowing the shortening of its development time. The effectiveness of a "modularization" is dependent upon the criteria used in dividing the system into modules. A system design problem is presented and both a conventional and unconventional decomposition are described. It is shown that the unconventional decompositions have distinct advantages for the goals outlined. The criteria used in arriving at the decompositions are discussed. The unconventional decomposition, if implemented with the conventional assumption that a module consists of one or more subroutines, will be less efficient in most cases. An alternative approach to implementation which does not have this effect is sketched. .B CACM December, 1972 .A Parnas, D. L. .K software, modules, modularity, software engineering, KWIC index, software design .C 4.0 .N CA721208 JB January 27, 1978 11:09 AM .X 2247 5 2247 2247 5 2247 2247 5 2247 2480 5 2247 2738 5 2247 2867 5 2247 3004 5 2247 3030 5 2247 3155 5 2247 1425 6 2247 1749 6 2247 1749 6 2247 2080 6 2247 2204 6 2247 2204 6 2247 2247 6 2247 2247 6 2247 2247 6 2247 2247 6 2247 2247 6 2247 2247 6 2247 2356 6 2247 2356 6 2247 2356 6 2247 2379 6 2247 2456 6 2247 2457 6 2247 2651 6 2247 2777 6 2247 2958 6 2247 2972 6 2247 3073 6 2247 3186 6 2247 799 6 2247 .I 2248 .T A New Method for the Solution of the Cauchy Problem for Parabolic Equations .W An integral equation representation is given for parabolic partial differential equations. When the equations are defined in unbounded domains, as in the initial value (Cauchy) problem, the solution of the integral equation by the method of successive approximation has inherent advantages over other methods. Error bounds for the methods are of order h^(3/2) and h^(7/2) (his the increment size) depending on the finite difference approximations involved. .B CACM December, 1972 .A Moore, J. Robinson, P. .K parabolic equations, the Cauchy problem, method of successive approximations .C 5.17 .N CA721207 JB January 27, 1978 11:13 AM .X 2248 5 2248 2248 5 2248 2248 5 2248 .I 2249 .T A Comparison of Multivariate Normal Generators .W Three methods for generating outcomes on multivariate normal random vectors with a specified variance-covariance matrix are presented. A comparison is made to determine which method requires the least computer execution time and memory space when utilizing the IBM 360/67. All methods use as a basis a standard Gaussian random number generator. Results of the comparison indicate that the method based on triangular factorization of the covariance matrix generally requires less memory space and computer time than the other two methods. .B CACM December, 1972 .A Barr, D. R. Sezak, N. L. .K random number generator, normal distribution, multivariate normal distribution, multivariate normal generator .C 3.65 5.5 .N CA721206 JB January 27, 1978 11:19 AM .X 1708 4 2249 1781 4 2249 1826 4 2249 1860 4 2249 1972 4 2249 2156 4 2249 2168 4 2249 2249 4 2249 2249 4 2249 2249 4 2249 2314 4 2249 2719 4 2249 2736 4 2249 2736 4 2249 2833 4 2249 3074 4 2249 1626 5 2249 1708 5 2249 1853 5 2249 2249 5 2249 2249 5 2249 2249 5 2249 .I 2250 .T Computer Methods for Sampling from the Exponential and Normal Distributions (Corrigendum) .B CACM December, 1972 .A Ahrens, J. H. Dieter, U. .N CA721205 JB January 27, 1978 11:20 AM .X 2250 5 2250 2250 5 2250 2250 5 2250 .I 2251 .T Weighted Increment Linear Search for Scatter Tables .W A new linear search for hash tables whose increment step is a function of the key being addressed is presented. Comparisons with known methods are given, in terms of efficiency and computation complexity. In particular, the new method applies to tables of size n = 2^r. It allows full table searching, and practically eliminates primary clustering at a very low cost. .B CACM December, 1972 .A Luccio, F. .K linear search, weighted increment search, scatter storage, hash table, key, hash address, clustering, search length .C 3.73 3.74 4.9 .N CA721204 JB January 27, 1978 11:25 AM .X 1676 4 2251 1682 4 2251 1728 4 2251 1860 4 2251 1860 4 2251 1973 4 2251 1973 4 2251 1973 4 2251 1973 4 2251 1992 4 2251 1992 4 2251 2018 4 2251 2018 4 2251 2018 4 2251 2032 4 2251 2033 4 2251 2033 4 2251 2107 4 2251 2107 4 2251 2109 4 2251 2109 4 2251 2138 4 2251 2203 4 2251 2203 4 2251 2203 4 2251 2203 4 2251 2251 4 2251 2251 4 2251 2251 4 2251 2251 4 2251 2251 4 2251 2251 4 2251 2359 4 2251 2524 4 2251 2530 4 2251 2534 4 2251 2537 4 2251 2543 4 2251 2543 4 2251 2543 4 2251 2543 4 2251 2543 4 2251 2552 4 2251 2559 4 2251 2559 4 2251 2559 4 2251 2573 4 2251 2573 4 2251 2573 4 2251 2770 4 2251 2770 4 2251 2770 4 2251 2770 4 2251 2974 4 2251 2991 4 2251 2991 4 2251 3053 4 2251 3053 4 2251 3053 4 2251 3053 4 2251 3083 4 2251 3083 4 2251 1785 5 2251 1786 5 2251 1973 5 2251 2018 5 2251 2107 5 2251 2109 5 2251 2251 5 2251 2251 5 2251 2251 5 2251 2974 5 2251 2109 6 2251 2251 6 2251 .I 2252 .T A Method for Incrementally Compiling Languages with Nested Statement Structure .W A method of incremental compilation is presented which applies especially to programming languages in which statements can be nested (such as Algol and PL/I). The method permits editing of the source language using a general purpose text editor, and incremental processing of changes without frequent recompilation of entire routines. The essential points of the method are: (1) the syntax of the language is restricted insof ar as which constructs may occur on lines; (2) an internal data structure (called the skeleton) is maintained to represent the statement structure; (3) the recompilation is partially batched in the sense that recompilation of modified lines does not occur until the last of a set of editing commands has been received; and (4) the parsing and compilation are factored into two parts, that done on individual lines and that done globally to handle the relationships between the lines. .B CACM December, 1972 .A Earley, J. Caizergues, P. .K incremental compiler, interactive programming language .C 4.12 4.22 .N CA721203 JB January 27, 1978 1:04 PM .X 1086 4 2252 1132 4 2252 1234 4 2252 1263 4 2252 1265 4 2252 1270 4 2252 1323 4 2252 1358 4 2252 1379 4 2252 1380 4 2252 1396 4 2252 1453 4 2252 1464 4 2252 1484 4 2252 1491 4 2252 1498 4 2252 1541 4 2252 1565 4 2252 1613 4 2252 1614 4 2252 1767 4 2252 1781 4 2252 1781 4 2252 1781 4 2252 1787 4 2252 1824 4 2252 1825 4 2252 1860 4 2252 1860 4 2252 1945 4 2252 1988 4 2252 2083 4 2252 2178 4 2252 2179 4 2252 2252 4 2252 2252 4 2252 2252 4 2252 2252 4 2252 2325 4 2252 2341 4 2252 2546 4 2252 2594 4 2252 2645 4 2252 2652 4 2252 2684 4 2252 2842 4 2252 2929 4 2252 2934 4 2252 3069 4 2252 669 4 2252 679 4 2252 691 4 2252 761 4 2252 949 4 2252 989 4 2252 1358 5 2252 1496 5 2252 2155 5 2252 2252 5 2252 2252 5 2252 2252 5 2252 3184 5 2252 .I 2253 .T Index Ranges for Matrix Calculi .W The paper describes a scheme for symbolic manipulation of index expressions which arise as a by-product of the symbolic manipulation of expressions in the matrix calculi described by the authors in a previous paper. This scheme attempts program optimization by transforming the original algorithm rather than the machine code. The goal is to automatically generate code for handling the tedious address calculations necessitated by complicated data structures. The paper is therefore preoccupied with "indexing by position." The relationship of "indexing by name" and "indexing by position" is discussed. .B CACM December, 1972 .A Bayer, R. Witzgall, C. .K address calculations, algorithm transformation, compilation, data structures, indexing by name, indexing by position, index domain, index map, index range, matrix expressions, normal form, programming languages, program optimization, range operations, symbolic manipulation, syntactic analysis, well-formed expressions .C 4.12 4.22 5.14 .N CA721202 JB January 27, 1978 1:12 PM .X 1614 4 2253 2253 4 2253 2253 4 2253 2254 4 2253 2557 4 2253 2081 5 2253 2253 5 2253 2253 5 2253 2253 5 2253 437 5 2253 .I 2254 .T Dynamic Partitioning for Array Languages .W The classical process of partitioning an array into subarrays is extended to a more useful array language operation. Various modes of partitioning are defined for different types of arrays, so that subarrays may vary over the original array in a nearly arbitrary manner. These definitions are motivated with several realistic examples to illustrate the value of partitioning for array languages. Of general interest is the data structure for partitioning. This consists of dynamic tree structures which are used to derive and maintain the array control information. These are described in sufficient detail to be of value in the design of other array languages. The description presented in this paper is implemented in a new array language, OL/2, currently under development at the University of Illinois. .B CACM December, 1972 .A Phillips, J. R. Adams, H. C. .K dynamic partitioning, array partitioning array language, data structure, tree structure, programming language design, array control blocks, partition control blocks .C 4.12 4.2 4.22 .N CA721201 JB January 27, 1978 1:20 PM .X 2253 4 2254 2254 4 2254 2081 5 2254 2254 5 2254 2254 5 2254 2254 5 2254 .I 2255 .T Comments on Moorer's Music and Computer Composition .B CACM November, 1972 .A Smoliar, S. W. .K artificial intelligence, heuristic programming, models of cognitive processes, computer music, computer composition, music theory .C 3.44 3.65 .N CA721114 JB January 27, 1978 1:22 PM .X 2255 5 2255 2255 5 2255 2255 5 2255 .I 2256 .T Further Comments on Dijkstra's Concurrent Programming Control Problem .B CACM November, 1972 .A Eisenberg, M. A. McGuire, M. R. .K critical section, concurrent programming control, multiprocessing .C 4.32 .N CA721113 JB January 27, 1978 1:24 PM .X 1781 4 2256 2150 4 2256 2150 4 2256 2228 4 2256 2228 4 2256 2256 4 2256 2256 4 2256 2317 4 2256 2342 4 2256 2342 4 2256 2376 4 2256 2618 4 2256 2618 4 2256 3184 4 2256 1198 5 2256 1338 5 2256 2256 5 2256 2256 5 2256 2256 5 2256 2618 5 2256 1198 6 2256 1338 6 2256 1749 6 2256 2256 6 2256 .I 2257 .T A Note on Optimal Doubly-Chained Trees .B CACM November, 1972 .A Kennedy, S. .K file searching, doubly-chained tree, binary search tree .C 3.73 3.74 5.32 5.6 .N CA721112 JB January 27, 1978 1:26 PM .X 1050 4 2257 1935 4 2257 1936 4 2257 2017 4 2257 2032 4 2257 2257 4 2257 2257 4 2257 2257 4 2257 2257 4 2257 2360 4 2257 2360 4 2257 2360 4 2257 2451 4 2257 2451 4 2257 2452 4 2257 2452 4 2257 2556 4 2257 2765 4 2257 1831 5 2257 1936 5 2257 2257 5 2257 2257 5 2257 2257 5 2257 2360 5 2257 849 5 2257 .I 2258 .T Additional Results on Key-to-Address Transform Techniques: A Fundamental Performance Study on Large Existing Formatted Files .B CACM November, 1972 .A Lum, V. Y. Yuen, P. S. T. .K hashing, hashing techniques, hashing methods, hash coding, keys, key transformation, key-to-address transformation, direct addressing, direct access method, randomizing, random access file organization, file search, scatter storage, information retrieval .C 3.7 3.72 3.73 3.74 3.79 4.9 .N CA721111 JB January 27, 1978 1:31 PM .X 2258 4 2258 2319 4 2258 2313 4 2258 2359 4 2258 2437 4 2258 2552 4 2258 2781 4 2258 2860 4 2258 2991 4 2258 2203 5 2258 2258 5 2258 2258 5 2258 2258 5 2258 .I 2259 .T Modified Incomplete Gamma Function [S14] (Algorithm A435) .B CACM November, 1972 .A Fullerton, W. .K modified incomplete Gamma function, incomplete Gamma function, chi-square distribution function, Poisson distribution function .C 5.13 .N CA721110 JB January 27, 1978 1:40 PM .X 2259 5 2259 2259 5 2259 2259 5 2259 .I 2260 .T Exact Probabilities for R x C Contingency Tables [G2] (Algorithm A434) .B CACM November, 1972 .A March, D. L. .K probability, contingency table, test of significance .C 3.5 5.5 .N CA721109 JB January 27, 1978 1:42 PM .X 2260 5 2260 2260 5 2260 2260 5 2260 .I 2261 .T An Approximate Method for Generating Symmetric Random Variables .W A method for generating values of continuous symmetric random variables that is relatively fast, requires essentially no computer memory, and is easy to use is developed. The method, which uses a uniform zero-one random number source, is based on the inverse function of the lambda distribution of Turkey. Since it approximates many of the continuous theoretical distributions and empirical distributions frequently used in simulations, the method should be useful to simulation practitioners. .B CACM November, 1972 .A Ramberg, J. S. Schmeiser, B. W. .K simulation, Monte Carlo, probability, statistics, approximations, random variables, random numbers, moments, distribution .C 5.5 8.1 .N CA721108 JB January 27, 1978 1:47 PM .X 2261 5 2261 2261 5 2261 2261 5 2261 2686 5 2261 2261 6 2261 .I 2262 .T Garbage Collection for Virtual Memory Computer Systems .W In list processing there is typically a growing demand for space during program execution. This paper examines the practical implications of this growth within a virtual memory computer system, proposes two new garbage collection techniques for virtual memory systems, and compares them with traditional methods by discussion and by simulation. .B CACM November, 1972 .A Baecker, H. D. .K garbage collection, virtual memory, list processing, paging, segmentation, page tables .C 4.32 .N CA721107 JB January 27, 1978 1:50 PM .X 2262 5 2262 2262 5 2262 2262 5 2262 .I 2263 .T The Conversion of Limited-Entry Decision Tables to Optimal and Near-Optimal Flowcharts: Two New Algorithms .W Two new algorithms for deriving optimal and near-optimal flowcharts from limited entry decision tables are presented. Both take into account rule frequencies and the time needed to test conditions. One of the algorithms, called the optimum-finding algorithm, leads to a flowchart which truly minimizes execution time for a decision table in which simple rules are already contracted to complex rules. The other one, called the optimum-approaching algorithm, requires many fewer calculations but does not necessarily produce the optimum flowchart. The algorithms are first derived for treating decision tables not containing an ELSE-rule, but the optimum-approaching algorithm is shown to be equally valid for tables including such a rule. Both algorithms are compared with existing ones and are applied to a somewhat large decision table derived from a real case. From this comparison two conclusions are drawn. (1) The optimum-approaching algorithm will usually lead to better results than comparable existing ones and will not require more, but usually less, computation time.(2) In general, the greater computation effort needed for applying the optimum-finding algorithm will not be justified by the small reduction in execution time obtained. .B CACM November, 1972 .A Verhelst, M. .K decision table, flowcharting, preprocessor, optimal programs, search .C 3.50 3.59 4.19 4.29 4.49 5.31 .N CA721106 JB January 27, 1978 2:10 PM .X 2263 5 2263 2263 5 2263 2263 5 2263 2598 5 2263 2691 5 2263 2726 5 2263 3113 5 2263 1172 6 2263 1172 6 2263 1327 6 2263 1354 6 2263 1354 6 2263 1488 6 2263 1489 6 2263 1548 6 2263 1548 6 2263 2220 6 2263 2220 6 2263 2221 6 2263 2263 6 2263 2263 6 2263 2263 6 2263 2263 6 2263 2453 6 2263 2598 6 2263 2691 6 2263 2691 6 2263 2856 6 2263 .I 2264 .T Derived Semantics for Some Programming Language Constructs .W The constructs of a simple programming language are introduced and described informally in terms of values and side-effects. A translator is defined which translates the language into flowcharts for a simple machine. The action of the machine in executing a flowchart is defined. A proof is constructed that the effect of translating and executing any program can be expressed solely in terms of the value and side-effect of the program. During the course of constructing the proof, formal definitions of the concepts of value and side-effect are derived in order to make the proof rigorous. Correctness of the implementation involves checking that the definitions derived in the step above are an acceptable formalization of the informal description given in the first step. .B CACM November, 1972 .A Henderson, P. .K lambda calculus, formal description, program correctness, programming languages, semantics .C 4.22 5.23 5.24 .N CA721105 JB January 27, 1978 2:19 PM .X 2264 5 2264 2264 5 2264 2264 5 2264 2470 5 2264 1303 6 2264 1469 6 2264 1834 6 2264 2264 6 2264 .I 2265 .T A Model for Type Checking .W Most current programming languages treat computation over different classes of objects (e.g. numbers, strings, labels and functions). For correct compilation and execution, the following question then arises: is a program properly constructed so that its operations and operands are compatible? The activity of answering this question is usually called type checking. This paper attempts to isolate the notion of type checking and presents a partial solution to the type checking problem based on the notions of abstraction and application of functions. In particular, a program is mapped into an expression within a decidable subset of the Lambda calculus, which characterizes the type relations within the program and eliminates all other information. The determination of the type-wise correctness or incorrectness of the program is resolved by reducing its corresponding Lambda calculus expression to one of two normal forms, the constant "correct" for a type-wise correct program or the constant "error". An application to type checking in Algol 60 is made, and the attendant problems faced for any notion of type checking are discussed. .B CACM November, 1972 .A Ledgard, H. F. .K type checking, types, Lambda calculus, models for programming languages, syntax, semantics, compiler writing, language implementation, formal definition .C 4.12 4.22 5.2 5.21 5.23 .N CA721104 JB January 27, 1978 2:30 PM .X 2265 5 2265 2265 5 2265 2265 5 2265 .I 2266 .T A Highly Parallel Algorithm for Approximating All Zeros of a Polynomial with Only Real Zeros .W An algorithm is described based on Newton's method which simultaneously approximates all zeros of a polynomial with only real zeros. The algorithm, which is conceptually suitable for parallel computation, determines its own starting values so that convergence to the zeros is guaranteed. Multiple zeros and their multiplicity are readily determined. At no point in the method is polynomial deflation used. .B CACM November, 1972 .A Patrick, M. L. .K parallel numerical algorithms, real polynomials, real zeros, Newton's method, starting values, guaranteed convergence .C 5.15 .N CA721103 JB January 27, 1978 2:35 PM .X 2266 5 2266 2266 5 2266 2266 5 2266 2660 5 2266 2266 6 2266 .I 2267 .T Algorithms To Reveal Properties of Floating-Point Arithmetic .W Two algorithms are presented in the form of Fortran subroutines. Each subroutine computes the radix and number of digits of the floating-point numbers and whether rounding or chopping is done by the machine on which it is run. The methods are shown to work on any "reasonable" floating-point computer. .B CACM November, 1972 .A Malcolm, M. A. .K floating-point arithmetic, high-level languages, philosophy of language design .C 4.9 5.19 .N CA721102 JB January 27, 1978 2:39 PM .X 2267 5 2267 2267 5 2267 2267 5 2267 2647 5 2267 2792 5 2267 2267 6 2267 2267 6 2267 2647 6 2267 .I 2268 .T A Comparative Study of Computer Programs for Integrating Differential Equations .W A study comparing the performance of several computer programs for integrating systems of ordinary differential equations is reported. The integration methods represented include multistep methods (predictor-correctors), single-step methods (Runge-Kutta) and extrapolation methods (both polynomial and rational). The testing procedure is described together with the evaluation criteria applied. A set of test problems on which the programs were tested is included in an appendix. For the particular problems and criteria used in the investigation it was found that a program based on rational extrapolation showed the best performance. .B CACM November, 1972 .A Fox, P. .K ordinary differential equations, integration, program comparison, certification, validation .C 5.10 5.17 .N CA721101 JB January 27, 1978 2:45 PM .X 2268 5 2268 2268 5 2268 2268 5 2268 2567 5 2268 2268 6 2268 755 6 2268 .I 2269 .T Tableless Date Conversion (Algorithm R398) .B CACM October, 1972 .A Robertson, J. D. .K date, calendar, Fortran statement function, arithmetic statement function .C 3.15 4.9 5.9 .N CA721009 JB January 27, 1978 2:47 PM .X 2269 4 2269 3115 4 2269 2269 5 2269 2269 5 2269 2269 5 2269 785 5 2269 .I 2270 .T Interpolation and Smooth Curve Fitting Based on Local Procedures [E2] (Algorithm A433) .B CACM October, 1972 .A Akima, H. .K interpolation, polynomial, slope of curve, smooth curve fitting .C 5.13 .N CA721008 JB January 27, 19782:49 PM .X 1845 4 2270 1900 4 2270 2083 4 2270 2154 4 2270 2270 4 2270 2693 4 2270 988 5 2270 2270 5 2270 2270 5 2270 2270 5 2270 2693 5 2270 2696 5 2270 988 6 2270 2270 6 2270 2270 6 2270 2696 6 2270 2693 6 2270 .I 2271 .T Aesthetics and the Human Factor in Programming (Corrigendum) .B CACM October, 1972 .A Ershov,A. P. .N CA721007 JB January 27, 1978 2:51 PM .X 2271 5 2271 2271 5 2271 2271 5 2271 .I 2272 .T Sorting by Natural Selection .W A family of sorting algorithms is proposed, the members of which make fuller use of the memory space and thus yield longer sorted strings. Extensive simulation results are presented, and various implications and further applications are discussed. .B CACM October, 1972 .A Frazer, W. D. Wong, C. K. .K algorithms, sorting by replacement selection, expected string length .C 5.31 .N CA721006 JB January 27, 1978 2:54 PM .X 1638 4 2272 1867 4 2272 2176 4 2272 2272 4 2272 2272 4 2272 1638 5 2272 2272 5 2272 2272 5 2272 2272 5 2272 677 5 2272 .I 2273 .T Conversion of Decision Tables By Rule Mask Method Without Rule Mask .W Two algorithms for generating computer programs from decision tables are described. The algorithms allow handling limited entry, extended entry, and mixed entry tables. The algorithms are based on the rule mask method but need not have the masks at execution time. They perform the logical operations immediately rather than at the end of the interpreting process. Execution time can be considerably reduced by instantly marking rules which are not applicable (Algorithms 1 and 2) or conditions which are already tested (Algorithm 2). The new algorithms combine to a certain degree the advantages of mask methods with those of tree methods. .B CACM October, 1972 .A Dathe, G. .K decision tables, rule mask, rule mask method, rule mask technique, program generator .C 3.50 4.12 4.19 4.29 .N CA721005 JB January 27, 1978 3:02 PM .X 1354 4 2273 1354 4 2273 1354 4 2273 1488 4 2273 1488 4 2273 1684 4 2273 1994 4 2273 2053 4 2273 2053 4 2273 2053 4 2273 2053 4 2273 2220 4 2273 2220 4 2273 2220 4 2273 2220 4 2273 2221 4 2273 2273 4 2273 2273 4 2273 2273 4 2273 2273 4 2273 2273 4 2273 2273 4 2273 2453 4 2273 2453 4 2273 2453 4 2273 2453 4 2273 2517 4 2273 2598 4 2273 2598 4 2273 2726 4 2273 2726 4 2273 2726 4 2273 2726 4 2273 2856 4 2273 2856 4 2273 2856 4 2273 2856 4 2273 2856 4 2273 3034 4 2273 3113 4 2273 1172 5 2273 1237 5 2273 1327 5 2273 1354 5 2273 2053 5 2273 2220 5 2273 2273 5 2273 2273 5 2273 2273 5 2273 .I 2274 .T Generating English Discourse from Semantic Networks .W A system is described for generating English sentences from a form of semantic nets in which the nodes are word-sense meanings and the paths are primarily deep case relations. The grammar used by the system is in the form of a network that imposes an ordering on a set of syntactic transformations that are expressed as LISP functions. The generation algorithm uses the information in the semantic network to select appropriate generation paths through the grammar. The system is designed for use as a computational tool that allows a linguist to develop and study methods for generating surface strings from an underlying semantic structure. Initial finding with regard to form determiners such as voice, form, tense, and mood, some rules for embedding sentences, and some attention to pronominal substitution are reported. The system is programmed in LISP 1.5 and is available from the authors. .B CACM October, 1972 .A Simmons, R. Slocum, J. .K semantic nets, grammars, deep case relations, semantic generation, discourse generation .C 3.42 3.65 .N CA721004 JB January 27, 1978 3:10 PM .X 2274 5 2274 2274 5 2274 2274 5 2274 2795 5 2274 1928 6 2274 1989 6 2274 2274 6 2274 .I 2275 .T Integral Equations of Immunology .W The inversion of a particular integral equation of the first (Fredholm) kind is the basic problem considered. The strategy which yielded success consisted of three essential points: (1) fit the known experimental data by a curve with properties which derive from properties of the (as yet unknown) function; (2) stabilize the computation for the unknown function by using singular value decomposition; (3) constrain the unknown function approximation (since it represents a probability distribution) to be nonnegative. A number of test cases are presented. One set of actual experimental data is analyzed with the procedures presented. .B CACM October, 1972 .A Hanson, R. J. .K integral equations of the first kind, nonnegative constraints, singular value analysis .C 3.10 5.14 5.18 5.41 .N CA721003 JB January 27, 1978 3:37 PM .X 2275 5 2275 2275 5 2275 2275 5 2275 .I 2276 .T Computer Methods for Sampling from the Exponential and Normal Distributions .W Various methods are known for transforming uniformly distributed random numbers into exponentially and normally distributed quantities. The most efficient ones are compared, in terms of memory requirements and speed, with some new algorithms. A number of procedures convert Taylor series expansions directly into sampling steps, an approach which may be used for sampling from any continuous distribution. For the exponential distribution a definite recommendation can be made, whereas in the case of the normal distribution there remains a choice between slower and shorter algorithms and faster but space consuming methods. .B CACM October, 1972 .A Ahrens, J. H. Dieter, U. .K random numbers, pseudorandom, normal distribution, exponential distribution, exponential distribution, simulation, numerical analysis .C 3.29 3.57 5.11 5.5 .N CA721002 JB January 27, 1978 3:55 PM .X 1073 4 2276 2137 4 2276 2276 4 2276 2276 4 2276 1073 5 2276 1153 5 2276 2276 5 2276 2276 5 2276 2276 5 2276 2565 5 2276 1716 6 2276 2276 6 2276 .I 2277 .T Demand Paging Through Utilization of Working Sets on the MANIAC II .W A hardware implementation on the Maniac II computer of the working set model for demand paging, as introduced by Denning, is discussed. Characteristics of the Maniac II are given, along with a description of the basic demand paging scheme and the associate memory which has been added to the Maniac II hardware. Finally, a description of the hardware design for implementation of the working set model is discussed and a specification of the actions taken under various conditions which may arise during the operation of the full working set model, demand paging system is given. .B CACM October, 1972 .A Morris, J. B. .K demand paging, dynamic storage allocation, Maniac II, memory allocation, one-level store, paging, paging associative memory, storage allocation, thrashing, virtual memory, working set model .C 4.30 6.21 .N CA721001 JB January 27, 1978 4:06 PM .X 1879 4 2277 1884 4 2277 1892 4 2277 1901 4 2277 1901 4 2277 2085 4 2277 2095 4 2277 2095 4 2277 2218 4 2277 2277 4 2277 2277 4 2277 2297 4 2277 2319 4 2277 2329 4 2277 2358 4 2277 2365 4 2277 2373 4 2277 2380 4 2277 2434 4 2277 2499 4 2277 2501 4 2277 2582 4 2277 2669 4 2277 2828 4 2277 2863 4 2277 2881 4 2277 2928 4 2277 2996 4 2277 3006 4 2277 3067 4 2277 1751 5 2277 1754 5 2277 2277 5 2277 2277 5 2277 2277 5 2277 2928 5 2277 3127 5 2277 1751 6 2277 2080 6 2277 2277 6 2277 2277 6 2277 2380 6 2277 2522 6 2277 2569 6 2277 .I 2278 .T On Foster's Information Storage and Retrieval Using AVL Trees .B CACM September, 1972 .A Tan, K. C. .K binary trees, search trees, information storage, information retrieval .C 3.70 3.73 3.74 .N CA720912 JB January 27, 1978 4:10 PM .X 2278 5 2278 2278 5 2278 2278 5 2278 2455 5 2278 2278 6 2278 2388 6 2278 .I 2279 .T A Controller for a Braille Terminal .B CACM September, 1972 .A Rubinstein, R. Feldman, J. .K blind programming aid, braille, braille character set, braille character translation, braille computer communication, braille computer terminal, braille terminal, tactile computer communication, tactile terminal .C 1.59 4.41 6.35 .N CA720911 JB January 27, 1978 4:14 PM .X 2279 4 2279 1740 5 2279 2279 5 2279 2279 5 2279 2279 5 2279 .I 2280 .T Comment on Deadlock Prevention Method .B CACM September, 1972 .A Parnas, D. L. Habermann, A. N. .K multiprogramming, time-sharing, scheduling, resource allocation, deadlock, interlock, lockout, deadly embrace, knotting .C 3.72 4.32 6.20 .N CA720910 JB January 27, 1978 4:16 PM .X 2228 4 2280 2280 4 2280 2280 4 2280 2379 4 2280 2379 4 2280 2482 4 2280 2482 4 2280 2500 4 2280 2740 4 2280 2851 4 2280 2920 4 2280 1877 5 2280 2228 5 2280 2280 5 2280 2280 5 2280 2280 5 2280 .I 2281 .T The Eigen problem of Block Tridiagonal Matrices .B CACM September, 1972 .A Khalil, H. M. .K linear algebra, eigenvalues and eigenvectors, partial differential equations .C 5.14 5.17 .N CA720909 JB January 27, 1978 4:18 PM .X 2281 5 2281 2281 5 2281 2281 5 2281 .I 2282 .T A Comparison of Floating Point Summation Methods .B CACM September, 1972 .A Gregory, J. .K summation, floating-point addition, truncation error, error propagation .C 5.11 .N CA720908 JB January 27, 1978 4:20 PM .X 2183 4 2282 2282 4 2282 2282 4 2282 2860 4 2282 3083 4 2282 1328 5 2282 2049 5 2282 2282 5 2282 2282 5 2282 2282 5 2282 .I 2283 .T Thinning Algorithms on Rectangular, Hexagonal, and Triangular Arrays .W In this report three thinning algorithms are developed: one each for use with rectangular, hexagonal, and triangular arrays. The approach to the development of each algorithm is the same. Pictorial results produced by each of the algorithms are presented and the relative performances of the algorithms are compared. It is found that the algorithm operating with the triangular array is the most sensitive to image irregularities and noise, yet it will yield a thinned image with an overall reduced number of points. It is concluded that the algorithm operating in conjunction with the hexagonal array has features which strike a balance between those of the other two arrays. .B CACM September, 1972 .A Deutsch, E. S. .K thinning algorithms, rectangular, hexagonal, triangular arrays, image processing, skeleton .C 3.64 .N CA720907 JB January 27, 1978 4:25 PM .X 2283 5 2283 2283 5 2283 2283 5 2283 .I 2284 .T Solution of the Matrix Equation AX+XB=C [F4] (Algorithm A432) .B CACM September, 1972 .A Bartels, R. H. Stewart, G. W. .K linear algebra, matrices, linear equations .C 5.14 .N CA720906 JB January 27, 1978 4:31 PM .X 2284 5 2284 2284 5 2284 2284 5 2284 .I 2285 .T Computer Routine for Quadratic and Linear Programming Problems [H] (Algorithm A431) .W A computer program based on Lemke's complementary pivot algorithm is presented. This can be used to solve linear and quadratic programming problems. The program has been extensively tested on a wide range of problems and the results have been extremely satisfactory. .B CACM September, 1972 .A Ravindran, A. .K linear program, quadratic program, complementary problem, Lemke's algorithm, simplex method .C 5.41 .N CA720905 JB January 27, 1978 4:34 PM .X 2285 5 2285 2285 5 2285 2285 5 2285 .I 2286 .T Automatic Error Analysis for Determining Precision .W The problem considered is that of evaluating a rational expression to within any desired tolerance on a computer which performs variable-precision floating-point arithmetic operations. An automatic error analysis technique is given for determining, directly from the results of a trial low-precision interval arithmetic calculation, just how much precision and data accuracy are required to achieve a desired final accuracy. The technique given generalize easily to the evaluation of many nonrational expressions. .B CACM September, 1972 .A Richman, P. L. .K error analysis, interval arithmetic, precision control .C 5.11 .N CA720904 JB January 27, 1978 4:39 PM .X 2286 5 2286 2286 5 2286 2286 5 2286 2555 5 2286 2605 5 2286 1026 6 2286 2286 6 2286 2286 6 2286 .I 2287 .T A New Approach to Automatic Scanning of Contour Maps .W The problem of automatic digitizing of contour maps is discussed. The structure of a general contour map is analyzed, and its topological properties are utilized in developing a new scanning algorithm. The problem of detection and recognition of contour lines is solved by a two color labeling method. It is shown that for maps containing normal contour lines only, it suffices to distinguish between so-called "even" and "odd" lines. The "tangency problem" involved in practical scanning is discussed, and a solution based on minimizing computer memory space and simplifying control program is suggested. .B CACM September, 1972 .A Mor, M. Lamdan, T. .K automatic scanning, contour maps, digitizing, contour lines, topology, detection and recognition .C 3.14 3.19 6.35 6.36 .N CA720903 JB January 27, 1978 4:46 PM .X 2287 4 2287 2547 4 2287 3062 4 2287 1925 5 2287 2287 5 2287 2287 5 2287 2287 5 2287 .I 2288 .T File Organization: The Consecutive Retrieval Property .W The consecutive retrieval property is an important relation between a query set and record set. Its existence enables the design of an information retrieval system with a minimal search time and no redundant storage. Some important theorems on the consecutive retrieval property are proved in this paper. Conditions under which the consecutive retrieval property exists and remain invariant have been established. An outline for designing an information retrieval system based on the consecutive retrieval property is also discussed. .B CACM September, 1972 .A Ghosh, S. P. .K file organization, consecutive storage, consecutive retrieval, information retrieval, record organization, query structure, record structure, storage on tapes, storage space, minimum access time .C 3.70 3.73 3.74 .N CA720902 JB January 27,1978 4:52 PM .X 2288 5 2288 2288 5 2288 2288 5 2288 2729 5 2288 2288 6 2288 2801 6 2288 .I 2289 .T Cellular Arrays for the Solution of Graph Problems .W A cellular array is a two-dimensional, checkerboard type interconnection of identical modules (or cells), where each cell contains a few bits of memory and a small amount of combinational logic, and communicates mainly with its immediate neighbors in the array. The chief computational advantage offered by cellular arrays is the improvement in speed achieved by virtue of the possibilities for parallel processing. In this paper it is shown that cellular arrays are inherently well suited for the solution of many graph problems. For example, the adjacency matrix of a graph is easily mapped onto an array; each matrix element is stored in one cell of the array, and typical row and column operations are readily implemented by simple cell logic. A major challenge in the effective use of cellular arrays for the solution of graph problems is the determination of algorithms that exploit the possibilities for parallelism, especially for problems whose solutions appear to be inherently serial. In particular, several parallelized algorithms are presented for the solution of certain spanning tree, distance, and path problems, with direct applications to wire routing, PERT chart analysis, and the analysis of many types of networks. These algorithms exhibit a computation time that in many cases grows at a rate not exceeding log2 n, where n is the number of nodes in the graph. Straightforward cellular implementations of the well-known serial algorithms for these problems require about n steps, and noncellular implementations require from n^2 to n^3 steps. .B CACM September, 1972 .A Levitt, K. N. Kautz, W. H. .K graph theory, cellular logic-in-memory arrays, parallel processing, special purpose computers, algorithms for distance and spanning tree problems .C 5.32 6.22 6.5 .N CA720901 JB January 30, 1978 9:16 AM .X 2289 5 2289 2289 5 2289 2289 5 2289 3075 5 2289 3156 5 2289 2289 6 2289 2289 6 2289 2557 6 2289 2664 6 2289 2714 6 2289 2973 6 2289 3075 6 2289 .I 2290 .T Immediate Predominators in a Directed Graph [H] (Algorithm A430) .B CACM August, 1972 .A Purdom Jr., P. W. Moore, E. F. .K predominator, immediate predominator, graph theory, directed graph, shortest path, articulation, connectivity, program optimization, optimizing compiler .C 4.12 5.32 .N CA720812 JB January 30, 1978 9:19 AM .X 1807 4 2290 2034 4 2290 2290 4 2290 2579 4 2290 2923 4 2290 2945 4 2290 1947 5 2290 2290 5 2290 2290 5 2290 2290 5 2290 .I 2291 .T Localization of the Roots of a Polynomial [C2] (Algorithm A429) .B CACM August, 1972 .A Squire, W. .K polynomials, roots of polynomials,theory of equations, Routh-Hurwitz criterion .C 5.15 .N CA720811 JB January 30, 1978 9:21 AM .X 2291 5 2291 2291 5 2291 2291 5 2291 .I 2292 .T A Note on the Generation of Rosary Permutations .B CACM August, 1972 .A Read, R. C. .K permutation, permutation generation .C 5.39 .N CA720810 JB January 30, 1978 9:24 AM .X 2292 4 2292 2505 4 2292 2189 5 2292 2292 5 2292 2292 5 2292 2292 5 2292 2505 5 2292 2189 6 2292 2292 6 2292 521 6 2292 .I 2293 .T Comment on Average Binary Search Length .B CACM August, 1972 .A Jones, P. R. .K searching, binary searching, record retrieval .C 3.74 .N CA720809 JB January 30, 1978 9:26 AM .X 2293 4 2293 2157 5 2293 2293 5 2293 2293 5 2293 2293 5 2293 .I 2294 .T A Bonus from van Wijngaarden's Device .B CACM August, 1972 .A Morris Jr., J. H. .K non-local transfers, procedure returns .C 4.12 4.13 4.22 .N CA720808 JB January 30, 1978 9:27 AM .X 2060 4 2294 2155 4 2294 2294 4 2294 2294 4 2294 2470 4 2294 2558 4 2294 2842 4 2294 3077 4 2294 3124 4 2294 3150 4 2294 1469 5 2294 2060 5 2294 2294 5 2294 2294 5 2294 2294 5 2294 .I 2295 .T Comment on the Composition of Semantics in Algol 68 .B CACM August, 1972 .A van der Poel, W. L. .K programming primitives, programming languages, Algol, semantics, recursive composition, design of programming languages, data structures .C 1.3 4.2 4.22 5.23 5.24 .N CA720807 JB January 30, 1978 9:29 AM .X 2295 5 2295 2295 5 2295 2295 5 2295 .I 2296 .T Compiling Fixed-Point Multiplications .B CACM August, 1972 .A Bernstein, H. J. .K compiling multiplications, fixed-point arithmetic .C 4.12 .N CA720806 JB January 30, 1978 9:42 AM .X 2296 4 2296 2952 4 2296 2185 5 2296 2296 5 2296 2296 5 2296 2296 5 2296 .I 2297 .T A Model of Memory Contention in a Paging Machine .W This paper is concerned with certain aspects of contention for main memory resources in a multiprogrammed computer system operating under demand paging. In the model presented, the number of page-frames of main memory allocated to a problem program varies in time. These changes in memory configuration are represented explicitly in the model, CPU requirements and page exception characteristics of program material being described statistically. Expressions for the distribution of the number of page-frames allocated to an executing program, the long run expected fraction of a program's execution time in a given number of page-frames, and the average execution interval of the multiprogrammed load are obtained. It is pointed out heuristically and demonstrated numerically that an increase is obtain able in the average execution interval of the multiprogrammed load over that resulting from equal fixed partitioning of main memory. .B CACM August, 1972 .A Oden, P. H. Shedler, G. S. .K paging machines, demand paging, operating systems studies, queuing analysis, memory contention, memory management .C 4.32 .N CA720805 JB January 30, 1978 9:50 AM .X 1879 4 2297 1884 4 2297 1892 4 2297 1901 4 2297 1924 4 2297 2095 4 2297 2095 4 2297 2218 4 2297 2277 4 2297 2297 4 2297 2297 4 2297 2365 4 2297 2374 4 2297 2526 4 2297 2667 4 2297 2668 4 2297 2862 4 2297 2863 4 2297 1728 5 2297 1754 5 2297 2297 5 2297 2297 5 2297 2297 5 2297 .I 2298 .T An Environment for Research in Microprogramming and Emulation .W The development of the research project in microprogramming and emulation at State University of New York at Buffalo consisted of three phases: the evaluation of various possible machines to support this research; the decision to purchase one such machine, which appears to be superior to the others considered; and the organization and definition of goals for each group in the project. Each of these phases is reported, with emphasis placed on the early results achieved in this research. .B CACM August, 1972 .A Rosin, R. F. Frieder, G. Eckhouse Jr., R. H. .K microprogramming, emulation, computer systems, language processors, input-output systems, nano-program, project management, hardware evaluation .C 4.1 4.2 4.3 6.2 .N CA720804 JB January 30, 1978 9:55 AM .X 2298 5 2298 2298 5 2298 2298 5 2298 3144 5 2298 1471 6 2298 2298 6 2298 2491 6 2298 2597 6 2298 2624 6 2298 2625 6 2298 2632 6 2298 .I 2299 .T An Extensible Editor for a Small Machine with Disk Storage .W A design philosophy for developing a sophisticated utility program is illustrated by the actual design and implementation of a text editor. A versatile data structure is employed so that only a small number of programmed subroutines are necessary for all types of data manipulation. Such a data structure is described, and its merits are illustrated by the ease with which powerful extensions can be implemented in terms of a few basic editing function. .B CACM August, 1972 .A Benjamin, A. J. .K command processing, context searching, executive program, garbage collection, interpreter, list processing, macro language, paging, parameter substitution, recursion, state table, storage allocation, string manipulation, text editing, virtual memory .C 3.73 3.74 3.75 4.13 4.22 4.43 4.49 .N CA720803 JB January 30, 1978 10:00 AM .X 1626 4 2299 1708 4 2299 1781 4 2299 1860 4 2299 2299 4 2299 2299 4 2299 2501 4 2299 2629 4 2299 2915 4 2299 3114 4 2299 1502 5 2299 1641 5 2299 2299 5 2299 2299 5 2299 2299 5 2299 .I 2300 .T Political Redistricting by Computer .W The problems of political redistricting are considered and a computer method for redistricting is presented. Criteria for acceptable redistricting are discussed, including population equality, compactness, contiguity, and preservation of natural and/or political boundaries. Only nonpartisan criteria are considered. Using 1970 Bureau of Census population data, specific results are given for the ten Congressional Districts in the state of Missouri and for the seven St. Louis County Council seats. Results from the use of the algorithm indicate the feasibility of political redistricting with the aid of a computer. .B CACM August, 1972 .A Helbig, R. E. Orr, P. K. Roediger, R. R. .K political redistricting, reapportionment, compactness, equal population, contiguity, transportation algorithm, legislative districts, population units .C 2.12 3.35 5.41 .N CA720802 JB January 30, 1978 10:14 AM .X 2300 5 2300 2300 5 2300 2300 5 2300 .I 2301 .T Generating Parsers for Affix Grammars .W Affix grammars are two-level grammars which are similar to van Wijngaarden's two-level grammars used in the definition of Algol 68. Affix grammars are shown by Koster to be equal in power to van Wijngaarden grammars. They are much more suited to parsing than are the latter, however. Koster, the inventor of affix based on recursive procedures. This paper presents a bottom-up scheme for parsing them, based on an extension of Floyd Production Language (FPL). Included is an algorithm, similar to that of DeRemer's, for converting a large class of affix grammars into FPL. The paper concludes by discussing briefly the applicabilities of the conversion algorithm and affix grammars in general, and some possible extensions to Koster's definition of affix grammars. .B CACM August, 1972 .A Crowe, D. .K algorithmic language processing,bottom-up parsing, Floyd Production Language, parsing, syntax directed compiling, translator writing systems, two-level grammars .C 3.42 4.12 4.13 4.20 5.23 .N CA720801 JB January 30, 1978 10:21 AM .X 2301 5 2301 2301 5 2301 2301 5 2301 2886 5 2301 2301 6 2301 .I 2302 .T Computers and Employment .W The relationship of computers and automation to employment is part of the more general relation of technological change to employment. The most obvious effect is that increase in productivity due to technology can eliminate jobs. Technology affects the individual worker, in the nature and amount of his work, and in his attitudes toward that work. Technological change affects the occupational structure of the entire labor force. Because of the central importance of these effects, the impact of technology has been the subject of extensive study by economists, sociologists, political scientists, and psychologists. Even within a single discipline, studies are often contradictory, and conclusions are colored by political overtones. We wish to delineate some of the issues, and present arguments given to support different viewpoints. .B CACM July, 1972 .A Borodin, A. Gotlieb, C. C. .K employment, unemployment, social implications, attitudes, skills, obsolescence, technology, unions, displacement .C 2.1 .N CA720726 JB January 30, 1978 10:30 AM .X 2302 5 2302 2302 5 2302 2302 5 2302 3011 5 2302 2075 6 2302 2302 6 2302 2345 6 2302 2485 6 2302 .I 2303 .T Archaeology of Computers - Reminiscences, 1945-1947 .W The period preceding the founding of ACM was dominated by the first large computer ENIAC. Its characteristics, described here, foreshadow later developments. .B CACM July, 1972 .A Alt, F. L. .K history of computers .C 1.2 .N CA720725 JB January 30, 1978 10:36 AM .X 2303 5 2303 2303 5 2303 2303 5 2303 .I 2304 .T A Western View of Computer History .W Many U.S. histories of the digital computer field have tended to be impersonal, with heavy emphasis on eastern universities and commercial developments. This article records the events of the early years in a personal way. The people, organizations, technologies, and computers of the 1945-55 period in the western part of the United Statesare described as they happened. .B CACM July, 1972 .A Sprague, R. E. .K history, computer history .C 1.2 6.0 .N CA720724 JB January 30, 1978 10:40 AM .X 2304 5 2304 2304 5 2304 2304 5 2304 .I 2305 .T The "Plankalkul" of Konrad Zuse: A Forerunner of Today's Programming Languages .W Plankalkul was an attempt by Korrad Zuse in the 1940's to devise a notational and conceptual system for writing what today is termed a program. Although this early approach to a programming language did not lead to practical use, the plan is described here because it contains features that are standard in today's programming languages. The investigation is of historical interest; also, it may provide insights that would lead to advancements in the state of the art. Using modern programming terminology, the Plankalkul is presented to the extent it has possible to reconstruct it from the published literature. .B CACM July, 1972 .A Bauer, F. L. Wossner, H. .K higher programming languages, programming, theory of programming, history of programming .C 1.2 4.22 5.29 .N CA720723 JB January 30, 1978 10:46 AM .X 2305 5 2305 2305 5 2305 2305 5 2305 .I 2306 .T Ancient Babylonian Algorithms .W The early origins of mathematics are discussed, emphasizing those aspects which seem to be of greatest interest from the standpoint of computer science. A number of old Babylonian tablets, many of which have never before been translated into English, are quoted. .B CACM July, 1972 .A Knuth, D. E. .K history of computation, Babylonian tablets, sexagesimal number system, sorting .C 1.2 .N CA720722 JB January 30, 1978 10:50 AM .X 2306 5 2306 2306 5 2306 2306 5 2306 .I 2307 .T Dynamic Document Processing .W The current role of computers in automatic document processing is briefly outlined, and some reasons are given why the early promise of library automation and of the mechanization of documentation processes has not been fulfilled. A new dynamic document environment is then outlined in which clustered files are searched and information is retrieved following an interactive user-controlled search process. Methods are described for an automatic query modification based on user needs, and for a continuous reorganization of the stored information as a function of earlier file processing and of normal collection growth. The proposed procedures provide powerful tools for information retrieval and for the control of dynamic library collections in which new items are continually added and old ones are retired. .B CACM July, 1972 .A Salton, G. .K automatic indexing, automatic search and retrieval, iterative searching, mechanized library processing, collection growth, collection retirement, feedback search .C 3.62 3.71 3.73 3.74 .N CA720721 JB January 30, 1978 10:59 AM .X 2307 5 2307 2307 5 2307 2307 5 2307 .I 2308 .T Computers and Urban Society .W This brief survey of the use of computers in urban society covers the broad range of activities found in any city. The future scope of applications is limited only by the imagination and inventiveness of future system designers, programmers, analysts, and decision makers. The computer can be, if properly used, with respect for human dignity and civil liberty, a significant factor in improving the efficiency of the urban process. It is expected that the benefits of such computer usage will outweigh the costs and that we may look forward to an expansion of such usage. .B CACM July, 1972 .A Sturman, G. M. .K urban systems, urban applications, data acquisition, data management, engineering analysis, information systems .C 3.23 3.39 3.53 3.72 3.82 3.89 .N CA720720 JB January 30, 1978 11:05 AM .X 2308 5 2308 2308 5 2308 2308 5 2308 .I 2309 .T Computers in the Instructional Process: Directions for Research and Development .W A survey is given of computer applications to the instructional process which suggests how the computer professional can contribute to effective educational systems. .B CACM July,1972 .A Zinn, K. L. .K education .C 1.5 3.32 .N CA720719 JB January 30, 1978 11:13 AM .X 2127 4 2309 2309 4 2309 2309 4 2309 2310 4 2309 2396 4 2309 1856 5 2309 2309 5 2309 2309 5 2309 2309 5 2309 2398 5 2309 .I 2310 .T Language Analysis in the Humanities .W The use of the computer in the language-oriented humanities for exhaustive listing of detail (as in indices and concordances) is widespread and accepted as desirable. The implications of the computer for a "science" of the humanities-a science entailing gathering data for the construction and testing of models-are neither widely recognized nor accepted. This paper argues that the computer's major role as to language analysis in the humanities will be the establishing of such a science.Thus, for those areas of the humanities for which rigor and precision are necessary (e.g. analyzing literature or teaching a student to write a composition) the computer can be a critically important facilitator. .B CACM July, 1972 .A Sedelow, S. Y. .K language analysis, humanities, science of the humanities, pattern recognition, pattern generation, interdisciplinary cooperation .C 1.3 2.19 3.42 3.43 .N CA720718 JB January 30, 1978 11:19 AM .X 2127 4 2310 2309 4 2310 2310 4 2310 2396 4 2310 1856 5 2310 2310 5 2310 2310 5 2310 2310 5 2310 .I 2311 .T A Generational Perspective of Information System Development .W System development is categorized from a generational point of view that parallels the commonly described computing system generations. For each generation, the scope of development projects and the technological world view of the system developer are examined. .B CACM July, 1972 .A Benjamin, R. I. .K computing milieu, management data processing, hardware systems, software systems, systems development process, functional systems, management systems .C 2.0 3.50 4.0 6.20 .N CA720717 JB January 30, 1978 11:22 AM .X 2311 5 2311 2311 5 2311 2311 5 2311 .I 2312 .T On the Present and Future of Scientific Computation .W A pessimistic forecast is given of what can be expected to happen in the application of computers to the physical sciences. .B CACM July, 1972 .A Rice, J. R. .K scientific computation .C 3.1 5.0 .N CA720716 JB January 30, 1978 11:24 AM .X 2312 5 2312 2312 5 2312 2312 5 2312 .I 2313 .T The Evolution of Storage Structures .W Data base management systems have grown rapidly in their power and complexity over the 15-year history of data processing on commercially available computers. The original concepts have split, and new terms have been adopted to name and refer to these concepts. The Data Structure Diagram graphic technique is used to illustrate the splitting of the concepts and the structural relations which exist between these concepts at each point in the evolution. .B CACM July, 1972 .A Bachman, C. W. .K block, cylinder, device, field, extent file, page, record, physical record, logical record, track, volume, entity, set, entity class, set class, data structure diagram, storage structure, physical storage structure, logical storage structure, storage allocation structure, Integrated Data Store, index sequential, hash, randomize, item .C 1.4 4.41 4.9 .N CA720715 JB January 30, 1978 1:16 PM .X 2258 4 2313 2319 4 2313 2313 4 2313 2359 4 2313 2437 4 2313 2552 4 2313 2781 4 2313 2860 4 2313 2991 4 2313 2203 5 2313 2313 5 2313 2313 5 2313 2313 5 2313 2425 5 2313 2313 6 2313 .I 2314 .T Requirements for Advanced Programming Systems for List Processing .W List processing systems should be designed to facilitate production of large programs to manipulate large complex symbolic data stores. This paper presents an overview of a number of system features which the author feels are important to improve the productivity of programmers working in such domains. A system view it taken, rather than focusing just on language features, since algorithms must be not only coded in a language form, but debugged, modified, made efficient, and run on data. Because of this general framework,the requirements specified are applicable to the design of advanced programming systems for a wide range of applications. Three aspects of programming systems are highlighted: good interactive facilities, programmable control structures, and sophisticated data communication mechanisms. Interactive features are described to facilitate program composition, entry, testing, debugging, editing, optimization, and packaging. Implementation of a generalized environment structure model specified would allow programming of various control regimes including multiprocesses, coroutines and backtracking. Alternative methods of procedure invocation required include invocation by pattern and by monitoring condition. The need for extended data forms, storage management, and extensibility are stressed, as is the duality of data retrieval and function evaluation. Syntax directed input and output of data would facilitate use of complex data stores. .B CACM July, 1972 .A Bobrow, D. G. .K list processing, programming languages, design of programming languages, interactive systems, control structures, data structures, programming primitives, semantics, advanced programming systems .C 1.3 4.2 4.22 4.3 4.32 5.23 5.24 .N CA720714 JB January 30, 1978 1:30 PM .X 1570 4 2314 1708 4 2314 1781 4 2314 1826 4 2314 1860 4 2314 1945 4 2314 2156 4 2314 2168 4 2314 2249 4 2314 2314 4 2314 2314 4 2314 2314 4 2314 2314 4 2314 2317 4 2314 2719 4 2314 2736 4 2314 2833 4 2314 2842 4 2314 1098 5 2314 1626 5 2314 2082 5 2314 2148 5 2314 2314 5 2314 2314 5 2314 2314 5 2314 2438 5 2314 1826 6 2314 2314 6 2314 .I 2315 .T The Production of Better Mathematical Software .W Some observations are made on steps to be taken toward the creation of better mathematical software. These steps suggest the need for a coordinated effort and the creation of a center to focus activities in this area. .B CACM July, 1972 .A Fosdick, L. D. .K mathematical software, programming .C 4.0 .N CA720713 JB January 30, 1978 1:32 PM .X 1330 4 2315 1348 4 2315 1986 4 2315 2021 4 2315 2222 4 2315 2227 4 2315 2315 4 2315 2315 4 2315 2315 4 2315 2315 4 2315 2326 4 2315 2470 4 2315 2732 4 2315 2865 4 2315 2896 4 2315 2943 4 2315 3014 4 2315 3068 4 2315 3077 4 2315 3143 4 2315 1348 5 2315 1834 5 2315 1987 5 2315 2315 5 2315 2315 5 2315 2315 5 2315 728 5 2315 .I 2316 .T Programming Languages: History and Future .W This paper discusses both the history and future of programming languages (= higher level languages). Some of the difficulties in writing such a history are indicated. A key part of the paper is a tree showing the chronological development of languages and their interrelationships. Reasons for the proliferation of languages are given. The major languages are listed with the reasons for their importance. A section on chronology indicates the happenings of the significant previous time periods and the major topics of 1972. Key concepts other than specific languages are discussed. .B CACM July, 1972 .A Sammet, J. E. .K programming languages, higher level languages, languages, history, future directions, language interrelationships, programming language tree, programming language history, programming language future .C 1.2 4.2 .N CA720712 JB January 30, 1978 1:38 PM .X 2316 5 2316 2316 5 2316 2316 5 2316 .I 2317 .T Programming Systems and Languages 1965-1975 .W In spite of impressive gains by PL/I, Fortran and Cobol remain the languages in which most of the world's production programs are written and will remain so into the foreseeable future. There is a great deal of theoretical interest in Algol 68 and in extensible languages, but so far at least they have had little practical impact. Problem-oriented languages may very well become the most important language development area in the next five to ten years. In the operating system area all major computer manufacturers set out to produce very ambitious multiprogramming systems, and they all ran into similar problems. A number of university projects,though not directly comparable to those of the manufacturers, have contributed greatly to a better understanding of operating system principles. Important trends include the increased interest in the development of system measurement and evaluation techniques,and increased use of microprogramming for some programming system functions. .B CACM July, 1972 .A Rosen, S. .K languages, operating systems, programming systems, multiprogramming, history .C 1.2 4.22 4.32 .N CA720711 JB January 30, 1978 1:47 PM .X 1665 4 2317 1768 4 2317 1781 4 2317 1787 4 2317 1805 4 2317 1824 4 2317 1825 4 2317 1828 4 2317 1836 4 2317 1846 4 2317 1854 4 2317 1861 4 2317 1877 4 2317 1892 4 2317 1960 4 2317 2015 4 2317 2110 4 2317 2126 4 2317 2127 4 2317 2150 4 2317 2150 4 2317 2187 4 2317 2188 4 2317 2218 4 2317 2228 4 2317 2256 4 2317 2314 4 2317 2317 4 2317 2317 4 2317 2317 4 2317 2317 4 2317 2317 4 2317 2317 4 2317 2317 4 2317 2317 4 2317 2319 4 2317 2358 4 2317 2377 4 2317 2342 4 2317 2342 4 2317 2376 4 2317 2376 4 2317 2379 4 2317 2424 4 2317 2482 4 2317 2545 4 2317 2546 4 2317 2618 4 2317 2618 4 2317 2625 4 2317 2632 4 2317 2698 4 2317 2704 4 2317 2723 4 2317 2733 4 2317 2738 4 2317 2740 4 2317 2741 4 2317 2842 4 2317 2867 4 2317 3184 4 2317 3184 4 2317 1198 5 2317 1572 5 2317 1693 5 2317 1749 5 2317 1753 5 2317 1781 5 2317 2126 5 2317 2148 5 2317 2317 5 2317 2317 5 2317 2317 5 2317 2874 5 2317 1682 6 2317 2227 6 2317 2317 6 2317 2683 6 2317 2871 6 2317 521 6 2317 .I 2318 .T The Role of Computer System Models in Performance Evaluation .W Models constitute a useful means of investigating computer system performance. This paper examines the interrelationships between models and other methods for evaluating the performance of computer systems and establishes circumstances under which the use of a model is appropriate. .B CACM July,1972 .A Kimbleton, S. R. .K modeling, evaluation, performance, analytic-models, simulation-models, system-models .C 2.43 2.44 6.2 8.3 .N CA720710 JB January 30, 1978 2:03 PM .X 2151 4 2318 2318 4 2318 1653 5 2318 2318 5 2318 2318 5 2318 2318 5 2318 .I 2319 .T Operating System Performance .W An overview of the current and future positions with respect to operating system performance is given. While a great deal of information and a large number of models for subsystems have been developed, gaps still exist in out knowledge. Because of the severe interactions between the various subsystems of an operating system, an overall model of the total system must be developed to be able to analyze and design the performance aspects of an operating system although such total system designs are exceptional today, it is projected that they will become increasingly more common and necessary in the near future. Such a design philosophy will clearly have a severe impact on the way we go about modularizing operating and computer systems. .B CACM July, 1972 .A Lynch, W. C. .K computer system, operating system, performance evaluation, performance measurement, measurement, techniques, modularity, layering, structured programming, paging, virtual memory, input/output, disk storage facility, drum storage facility, sector queueing .C 4.30 6.20 .N CA720709 JB January 30, 1978 2:33 PM .X 1828 4 2319 1854 4 2319 1877 4 2319 1892 4 2319 1901 4 2319 1960 4 2319 2085 4 2319 2095 4 2319 2150 4 2319 2193 4 2319 2218 4 2319 2258 4 2319 2277 4 2319 2317 4 2319 2319 4 2319 2319 4 2319 2319 4 2319 2319 4 2319 2319 4 2319 2319 4 2319 2319 4 2319 2319 4 2319 2319 4 2319 2319 4 2319 2313 4 2319 2329 4 2319 2358 4 2319 2377 4 2319 2378 4 2319 2373 4 2319 2359 4 2319 2342 4 2319 2376 4 2319 2379 4 2319 2380 4 2319 2320 4 2319 2424 4 2319 2434 4 2319 2437 4 2319 2482 4 2319 2499 4 2319 2480 4 2319 2501 4 2319 2552 4 2319 2582 4 2319 2582 4 2319 2594 4 2319 2618 4 2319 2632 4 2319 2632 4 2319 2669 4 2319 2669 4 2319 2704 4 2319 2709 4 2319 2723 4 2319 2738 4 2319 2738 4 2319 2740 4 2319 2740 4 2319 2741 4 2319 2781 4 2319 2828 4 2319 2860 4 2319 2863 4 2319 2867 4 2319 2868 4 2319 2881 4 2319 2894 4 2319 2928 4 2319 2939 4 2319 2972 4 2319 2991 4 2319 2996 4 2319 3006 4 2319 3054 4 2319 3067 4 2319 3127 4 2319 3155 4 2319 3184 4 2319 1408 5 2319 1719 5 2319 1749 5 2319 1751 5 2319 2016 5 2319 2017 5 2319 2080 5 2319 2188 5 2319 2203 5 2319 2204 5 2319 2319 5 2319 2319 5 2319 2319 5 2319 .I 2320 .T Structured Multiprogramming .W This paper presents a proposal for structured representation of multiprogramming in a high level language. The notation used explicitly associates a data structure shared by concurrent processes with operations defined on it. This clarifies the meaning of programs and permits a large class of time-dependent errors to be caught at compile time. A combination of critical regions and event variables enables the programmer to control scheduling of resources among competing processes to any degree desired. These concepts are sufficiently safe to use not only within operating systems but also within user programs. .B CACM July, 1972 .A Hansen, P. B. .K structured multiprogramming, programming languages, operating systems, concurrent processes, shared data, mutual exclusion, critical regions, process communication, synchronizing events. .C 4.2 4.3 .N CA720708 JB January 30, 1978 2:39 PM .X 2319 4 2320 2378 4 2320 2320 4 2320 2320 4 2320 2597 4 2320 2632 4 2320 2738 4 2320 2740 4 2320 2777 4 2320 2851 4 2320 2868 4 2320 2895 4 2320 2912 4 2320 2946 4 2320 3127 4 2320 3128 4 2320 2080 5 2320 2150 5 2320 2320 5 2320 2320 5 2320 2320 5 2320 2597 5 2320 2150 6 2320 2320 6 2320 .I 2321 .T On the Interface Between Computers and Data Communications Systems .W Future systems that combine computers, digital terminals, and communications equipment present design optimization problems that require reconsideration of the traditional functional responsibilities of the respective subsystems. Several "standard" interfaces, by means of which computers and digital terminals connect to the communications systems will be required. When specifying these interfaces, consideration must be given to problems of coordination, synchronization, error control, signaling, stream multiplexing, and switch control, in addition to minimizing the technological interdependence of specific subsystem designs. A focus on some of the problems is obtained in a discussion of a detailed specification for a particular computer-communications system interface. .B CACM July, 1972 .A Fraser, A. G. .K communications, standard interface communications protocol, virtual channel, multiplexed input/output, coordination of input/output .C 3.81 6.0 6.35 .N CA720707 JB January 30, 1978 2:46 PM .X 2321 5 2321 2321 5 2321 2321 5 2321 .I 2322 .T A View of computer Architecture .W An attempt is made to predict the developments of the next 25 years in the field of computer architecture. Standardized, inexpensive microcomputers on a single chip are predicted. These will be used extensively to provide logical functions for noncomputational devices and incidentally for the design of superscale computers. .B CACM July, 1972 .A Foster, C. C. .K computer architecture, projection, microcomputers, computer design, computer organization .C 1.2 2.1 6.0 6.2 .N CA720706 JB January 30, 1978 3:00 PM .X 2322 5 2322 2322 5 2322 2322 5 2322 .I 2323 .T Toward a General Theory of Special Functions .W A list of a number of natural developments for the field of algebraic manipulation is given. Then the prospects for a general theory of functions defined by ordinary differential equations are discussed. The claim is made that recent developments in mathematics indicate that it should be possible to algorithmically generate many properties of solutions to differential equations. Such a theory is preferable to a less general effort to make algebraic manipulation systems knowledgeable about the usual special functions (e.g. exponential, hypergeometric). .B CACM July, 1972 .A Moses, J. .K algebraic manipulation, special functions, algebraic simplification, symbolic integration, algebraic geometry, differential algebra .C 1.50 3.15 5.19 5.9 .N CA720705 JB January 30, 1978 3:07 PM .X 2164 4 2323 2170 4 2323 2323 4 2323 2323 4 2323 2323 4 2323 2719 4 2323 2167 5 2323 2164 5 2323 2170 5 2323 2323 5 2323 2323 5 2323 2323 5 2323 .I 2324 .T Management Science: A View from Nonlinear Programming .W A brief history of integer and continuous nonlinear programming is presented as well as the current obstacles to practical use of these mathematical programming techniques. It is forecast that the useful contributions to nonlinear programming actually made in the next few years are more likely to be consolidations than theoretical breakthroughs. These contributions are likely to be the documentation of standard test problems, construction of user oriented software, and comparisons of currently known algorithms to demonstrate which techniques are best for specific problems. .B CACM July, 1972 .A Shanno, D. F. Weil, R. L. .K integer programming, linear programming, mathematical programming, nonlinear programming, quadratic programming, management science, operations research, algorithms .C 5.41 8.3 .N CA720704 JB January 30, 1978 3:14 PM .X 2324 5 2324 2324 5 2324 2324 5 2324 .I 2325 .T Numerical Mathematics and Computer Science .W Numerical mathematics is viewed as the analysis of continuous algorithms. Four of the components of numerical mathematics are discussed. These are: foundations (finite precision number systems, computational complexity), synthesis and analysis of algorithms, analysis of error, programs and program libraries. .B CACM July, 1972 .A Traub, J. F. .K numerical mathematics, computer science, mathematics of computation, algorithms, continuous algorithms .C 1.3 5.0 5.1 5.25 .N CA720703 JB January 30, 1978 3:17 PM .X 1086 4 2325 1132 4 2325 1234 4 2325 1263 4 2325 1265 4 2325 1270 4 2325 1323 4 2325 1358 4 2325 1379 4 2325 1380 4 2325 1453 4 2325 1464 4 2325 1484 4 2325 1491 4 2325 1498 4 2325 1613 4 2325 1614 4 2325 1781 4 2325 1825 4 2325 1860 4 2325 2083 4 2325 2178 4 2325 2179 4 2325 2252 4 2325 2325 4 2325 2341 4 2325 2546 4 2325 2645 4 2325 2652 4 2325 2684 4 2325 2842 4 2325 2929 4 2325 2934 4 2325 3069 4 2325 669 4 2325 679 4 2325 691 4 2325 761 4 2325 949 4 2325 989 4 2325 2325 5 2325 2325 5 2325 2325 5 2325 3184 5 2325 .I 2326 .T Fix point Approach to the Theory of Computation .W Following the fix point theory of Scott, the semantics of computer programs are defined in terms of the least fix points of recursive programs. This allows not only the justification of all existing verification techniques, but also their extension to the handling, in a uniform manner of various properties of computer programs, including correctness, termination, and equivalence. .B CACM July, 1972 .A Manna, Z. Vuillemin, J. .K verification techniques, semantics of programming languages, least fix points, recursive programs, computational induction .C 5.23 5.24 .N CA720702 JB January 30, 1978 3:42 PM .X 1469 4 2326 1486 4 2326 1491 4 2326 1781 4 2326 1781 4 2326 2021 4 2326 2178 4 2326 2178 4 2326 2193 4 2326 2222 4 2326 2227 4 2326 2315 4 2326 2326 4 2326 2326 4 2326 2326 4 2326 2326 4 2326 2326 4 2326 2470 4 2326 2470 4 2326 2477 4 2326 2457 4 2326 2541 4 2326 2594 4 2326 2684 4 2326 2684 4 2326 2732 4 2326 2842 4 2326 2865 4 2326 2896 4 2326 2903 4 2326 2943 4 2326 3004 4 2326 3014 4 2326 3044 4 2326 3068 4 2326 3077 4 2326 3143 4 2326 1303 5 2326 1323 5 2326 1834 5 2326 2192 5 2326 2326 5 2326 2326 5 2326 2326 5 2326 2411 5 2326 2457 5 2326 3186 5 2326 2138 6 2326 2192 6 2326 2326 6 2326 2326 6 2326 .I 2327 .T Toward an Automata Theory of Brains .W A source of ideas for automata theory-the study of the brain-has been pushed aside in mathematical development of the theory. This paper suggests the ways in which automata theory might evolve over the next 25 years if it is to contribute to an understanding of how the brain processes information. .B CACM July, 1972 .A Arbib, M. A. .K automata theory, brain theory, network complexity, resolution of redundancy of potential command, frog visual system, reticular formation mode selection .C 3.36 3.65 5.22 .N CA720701 JB January 30, 1978 3:46 PM .X 2327 5 2327 2327 5 2327 2327 5 2327 .I 2328 .T Individualizing Instruction in a Generative CAI Tutor .B CACM June, 1972 .A Koffman, E. B. .K computer-assisted instruction, generative CAL, adaptive instruction .C 3.32 3.51 3.62 .N CA720617 JB January 30, 1978 3:47 PM .X 2328 5 2328 2328 5 2328 2328 5 2328 .I 2329 .T Computer Science-A Vicious Circle .B CACM June, 1972 .A Kandel, A. .K education, computer engineering, computer science curriculum, systems design .C 1.52 6.0 .N CA720616 JB January 30, 1978 3:49 PM .X 1892 4 2329 1901 4 2329 2085 4 2329 2095 4 2329 2218 4 2329 2277 4 2329 2319 4 2329 2329 4 2329 2358 4 2329 2373 4 2329 2380 4 2329 2434 4 2329 2499 4 2329 2501 4 2329 2582 4 2329 2669 4 2329 2828 4 2329 2863 4 2329 2881 4 2329 2928 4 2329 2996 4 2329 3006 4 2329 3067 4 2329 1751 5 2329 2329 5 2329 2329 5 2329 2329 5 2329 2478 5 2329 3003 5 2329 1205 6 2329 1659 6 2329 1678 6 2329 1771 6 2329 1927 6 2329 1945 6 2329 2097 6 2329 2147 6 2329 2163 6 2329 2187 6 2329 2329 6 2329 2329 6 2329 2345 6 2329 2367 6 2329 2407 6 2329 2478 6 2329 2479 6 2329 2480 6 2329 2538 6 2329 .I 2330 .T Calculation of Fourier Integrals (Algorithm R418) .B CACM June, 1972 .A Einarsson, B. .K quadrature, Filon quadrature, integration, Filon integration, Fourier coefficients, Fourier integrals, Fourier series, spline,spline approximation, spline quadrature, extrapolation, Richardson extrapolation .C 5.16 .N CA720615 JB January 30, 1978 3:53 PM .X 2330 5 2330 2330 5 2330 2330 5 2330 .I 2331 .T An Integer Programming Problem (Algorithm R397) .B CACM June, 1972 .A Johnson, S. C. Kernighan, B. W. .K integer programming, change-making problem .C 5.41 .N CA720614 JB January 30, 1978 3:55 PM .X 2331 5 2331 2331 5 2331 2331 5 2331 .I 2332 .T Special Series Summation with Arbitrary Precision (Algorithm R393) .B CACM June, 1972 .A Sale, A. H. J. .K function evaluation, series summation, approximation .C 5.12 5.13 .N CA720613 JB January 30, 1978 4:00 PM .X 2332 5 2332 2332 5 2332 2332 5 2332 .I 2333 .T Random Vectors Uniform is Solid Angle (Algorithm R381) .B CACM June, 1972 .A Schrack, G. F. .K random vector generator, points uniform on sphere, spherically symmetric probability distribution .C 5.5 .N CA720612 JB January 30, 1978 4:02 PM .X 2333 4 2333 2333 4 2333 2333 4 2333 87 4 2333 1793 5 2333 2333 5 2333 2333 5 2333 2333 5 2333 87 5 2333 88 5 2333 .I 2334 .T General Random Number Generator (Algorithm R370) .B CACM June, 1972 .A Proll, L. G. .K random number generator, probability density function, transformation, cumulative distribution function .C 5.13 5.5 .N CA720611 JB January 30, 1978 4:09 PM .X 2334 4 2334 1580 5 2334 2334 5 2334 2334 5 2334 2334 5 2334 .I 2335 .T Eigenvalues and Eigenvectors of a Real General matrix (Algorithm R343) .B CACM June, 1972 .A Niessner, H. .K eigenvalues, eigenvectors, QR-algorithm, nonsymmetric matrices, general matrices .C 5.14 .N CA720610 JB January 30, 1978 4:11 PM .X 1968 4 2335 2099 4 2335 2335 4 2335 1662 5 2335 2335 5 2335 2335 5 2335 2335 5 2335 .I 2336 .T Complex Error Function (Algorithm C363) .B CACM June, 1972 .A Kolbig, K. S. .K error function for complex argument, Voigt function, special functions, function evaluation .C 5.12 .N CA720609 JB January 30, 1978 4:12 PM .X 2336 5 2336 2336 5 2336 2336 5 2336 .I 2337 .T A Sorting Problem and Its Complexity .W A technique for proving min-max norms of sorting algorithms is given. One new algorithm for finding the minimum and maximum elements of a set with fewest comparisons is proved optimal with this technique. .B CACM June, 1972 .A Pohl, I. .K sorting, computational complexity, computational combinatorics .C 5.29 5.31 .N CA720608 JB January 30, 1978 4:15 PM .X 2337 5 2337 2337 5 2337 2337 5 2337 .I 2338 .T A Starting Method for Solving Nonlinear Volterra Integral Equations of the Second Kind .W A fourth-order starting method is given for Volterra integral equations of the second kind and numerical examples are presented. .B CACM June, 1972 .A Iguchi, K. .K algorithm, Volterra integral equations, starting method .C 5.18 .N CA720607 JB January 30, 1978 4:17 PM .X 2338 5 2338 2338 5 2338 2338 5 2338 .I 2339 .T Computer-Assigned Codes from Verbal Responses .W It is often desirable to convert verbal responses to multidigit codes. This conversion is generally accomplished by clerk-coders. A study was conducted to test the feasibility of translating verbal descriptions to numerical codes in a computer program. Primary emphasis was placed on computerized construction of a reference file of verbal descriptions for use by the program. The results of the study clearly show that such procedures are feasible. .B CACM June, 1972 .A O'Reagan, R. T. .K verbal responses, computer coding, reference list, historical response patterns, word strings, concept translation, word coding .C 3.30 3.42 3.63 3.66 3.71 3.74 3.75 5.6 .N CA720606 JB January 30, 1978 4:23 PM .X 1112 4 2339 1592 4 2339 1592 4 2339 2111 4 2339 2111 4 2339 2111 4 2339 2339 4 2339 2339 4 2339 2339 4 2339 2339 4 2339 440 4 2339 1112 5 2339 1592 5 2339 2339 5 2339 2339 5 2339 2339 5 2339 440 5 2339 619 5 2339 .I 2340 .T A Boolean Matrix Method for the Computation of Linear Precedence Functions .W A modified version of Bell's Boolean matrix method for the computation of linear precedence functions associated with a conflict-free matrix of precedence relations is given. This algorithm not only detects when the precedence functions do not exist, but also provides an indication of why they do not exist, so that corrective action can be taken if possible. Necessary and sufficient conditions for the existence of precedence functions are given. The use of Boolean matrices to prove the existence of precedence functions associated with classes of conflict-free grammars is illustrated through an example. .B CACM June, 1972 .A Martin, D. F. .K precedence grammars, context-free parsing .C 4.12 .N CA720605 JB January 30, 1978 4:28 PM .X 1542 4 2340 1683 4 2340 1693 4 2340 1781 4 2340 1787 4 2340 1836 4 2340 1836 4 2340 1945 4 2340 2060 4 2340 2061 4 2340 2082 4 2340 2091 4 2340 2152 4 2340 2179 4 2340 2221 4 2340 2340 4 2340 2340 4 2340 2340 4 2340 2340 4 2340 2356 4 2340 2546 4 2340 2603 4 2340 2698 4 2340 2708 4 2340 2824 4 2340 2824 4 2340 2982 4 2340 2982 4 2340 2986 4 2340 2986 4 2340 2986 4 2340 3045 4 2340 3093 4 2340 1191 5 2340 1491 5 2340 1683 5 2340 1836 5 2340 2340 5 2340 2340 5 2340 2340 5 2340 2824 5 2340 2982 5 2340 2986 5 2340 1491 6 2340 1491 6 2340 1491 6 2340 1683 6 2340 1683 6 2340 1836 6 2340 1836 6 2340 2179 6 2340 2340 6 2340 2340 6 2340 2340 6 2340 .I 2341 .T Blocks-A New Data type for SNOBOL4 .W A new data type, called a block, has been implemented for SNOBOL4. A block is a three-dimensional aggregate of characters in the form of a right parallelepiped, best thought of as a three-dimensional extension to a string. (The third dimension is used for overstriking.) Blocks may be printed, concatenated in any of three dimensions, and merged on the basis of program-defined connection points. Some blocks adapt in size and shape to their environment. Blocks and their operations are mainly used for composing printable output. A variety of graphical problems (including flowcharting, bargraphs, logic diagrams, mathematical-equation formation, and text justification and preparation) have been programmed on a printer in what appears to be an easy and natural way. In addition to these somewhat specialized applications, blocks appear to be a good general purpose device-independent output formation mechanism especially suitable for nonnumerical work. The concept of a block is largely language independent.That is, blocks require little in the way of specialized syntax and could readily be absorbed into the external structure of most programming languages. .B CACM June, 1972 .A Gimpel, J. F. .K character manipulation, output formatting, string processing, graphics, nonnumerical programming, SNOBOL4, data types, two-dimensional mathematics, test processing, flowcharting .C 4.22 4.41 .N CA720604 JB January 30, 1978 4:38 PM .X 1086 4 2341 1132 4 2341 1234 4 2341 1263 4 2341 1265 4 2341 1270 4 2341 1323 4 2341 1358 4 2341 1379 4 2341 1380 4 2341 1453 4 2341 1464 4 2341 1484 4 2341 1491 4 2341 1498 4 2341 1613 4 2341 1614 4 2341 1767 4 2341 1781 4 2341 1781 4 2341 1781 4 2341 1825 4 2341 1860 4 2341 1945 4 2341 2083 4 2341 2178 4 2341 2179 4 2341 2252 4 2341 2325 4 2341 2341 4 2341 2341 4 2341 2341 4 2341 2341 4 2341 2546 4 2341 2645 4 2341 2652 4 2341 2684 4 2341 2842 4 2341 2929 4 2341 2934 4 2341 3069 4 2341 669 4 2341 679 4 2341 691 4 2341 761 4 2341 949 4 2341 989 4 2341 990 5 2341 1466 5 2341 1468 5 2341 2341 5 2341 2341 5 2341 2341 5 2341 2545 5 2341 3184 5 2341 1739 6 2341 1781 6 2341 2341 6 2341 .I 2342 .T Interference Between Communicating Parallel Processes .W Various kinds of interference between communicating parallel processes have been examined by Dijkstra, Knuth, and others. Solutions have been given for the mutual exclusion problem and associated subproblems, in the form of parallel programs, and informal proofs of correctness have been given for these solutions. In this paper a system of parallel processes is regarded as a machine which proceeds from one state S (i.e. a collection of pertinent data values and process configurations) to a next state S' in accordance with a transition rule S --> S'. A set of such rules yields sequences of states, which dictate the system's behavior. The mutual exclusion problem and the associated subproblems are formulated as questions of inclusion between sets of states, or of the existence of certain sequences. A mechanical proof procedure is shown, which will either verify (prove the correctness of ) or discredit (prove the incorrectness of) an attempted solution, with respect to any of the interference properties. It is shown how to calculate transition rules from the "partial rules" by which the individual processes operate. The formation of partial rules and the calculation of transition rules are both applicable to hardware processes as well as to software processes, and symmetry between processes is not required. .B CACM June, 1972 .A Gilbert, P. Chandler, W. J. .K concurrent programming control, cooperating processes, formal programs, interference, mutual exclusion, operating systems, parallel processes .C 4.0 4.10 4.30 4.32 4.42 5.24 6.20 .N CA720603 JB January 31, 1978 8:44 AM .X 1781 4 2342 1828 4 2342 1854 4 2342 1877 4 2342 1960 4 2342 2150 4 2342 2150 4 2342 2150 4 2342 2228 4 2342 2228 4 2342 2256 4 2342 2256 4 2342 2317 4 2342 2317 4 2342 2319 4 2342 2377 4 2342 2342 4 2342 2342 4 2342 2342 4 2342 2376 4 2342 2376 4 2342 2379 4 2342 2424 4 2342 2482 4 2342 2618 4 2342 2618 4 2342 2618 4 2342 2632 4 2342 2704 4 2342 2723 4 2342 2738 4 2342 2740 4 2342 2741 4 2342 2867 4 2342 3184 4 2342 3184 4 2342 1198 5 2342 1338 5 2342 1749 5 2342 2342 5 2342 2342 5 2342 2342 5 2342 .I 2343 .T A Proposal To Establish a Pseudo Virtual Memory via Writable Overlays .W Many computer systems solve executable storage size problems for large programs by using overlays. However, it appears that no one overlay scheme contains a well-balanced combination of the most useful capabilities which are found in various existing techniques. A proposal is presented which utilizes several of the best capabilities from existing schemes and is complemented by several additional features, e.g. writable overlays. The writable overlay capability provides a virtual memory effect, although the programmer may still be required to design the overlay configuration. Since overlay structuring is a complex task, several tools (including a graphic display) are included in the proposal in order to aid the programmer in the design. The content of overlays is briefly discussed, and it is noted that many of the details of the final overlay configuration may be decided after the fact. .B CACM June, 1972 .A Spacek, T. R. .K overlay, overlay structure, segment, segmentation, folding, paging, linkage editor, collector, loader, virtual memory .C 4.10 4.12 4.39 4.49 .N CA720602 JB January 31, 1978 8:53 AM .X 1774 4 2343 2343 4 2343 2343 4 2343 2343 4 2343 1173 5 2343 1774 5 2343 1845 5 2343 2343 5 2343 2343 5 2343 2343 5 2343 .I 2344 .T On the Optimization of Performance of Time-Sharing Systems by Simulation .W A simulation model of a time-sharing system with a finite noncontiguous store and an infinite auxiliary store is used to study the variation of system parameters such as store size, number of jobs allowed to execute simultaneously, job-scheduling algorithm, etc. The effects of these variations on a measure of system performance is used to ascertain which of the parameters controllable by the job-scheduling algorithm, including the scheduling itself, require optimization, and which of the parameters not normally controllable by the scheduling algorithm have a marked effect on system performance. System performance is based upon the mean cost of delay to all jobs processed. It is shown that significant improvements in the measure of system performance can be obtained by using variable time-slice techniques and by selecting the optimum round-robin cycle time. It appears that these features would benefit from optimization whereas other parameters controllable by the scheduling algorithm affect system performance in a predictable manner and would not benefit from optimization. Features not normally under the control of the scheduling algorithm can also have a marked effect on the measure of performance; in particular, supervisor overheads, the size of the store, and the speed of the CPU. A comparison is made between the results of the simulation model and two analytical equations for quantum-oriented nonpreemptive time-sharing systems. The comparison is found to be very favorable. .B CACM June, 1972 .A Blatny, J. Clark, S. R. Rourke, T. A. .K time-sharing, simulation studies, optimization, measure of performance, scheduling algorithms .C 3.80 4.30 4.32 .N CA720601 JB January 31, 1978 9:19 AM .X 2219 4 2344 2344 4 2344 1938 5 2344 2344 5 2344 2344 5 2344 2344 5 2344 .I 2345 .T Curriculum Recommendations for Graduate Professional Programs in Information Systems .W The need for education related to information systems in organizations is discussed, and a curriculum is proposed for graduate professional programs in universities, at the Master's level. Material necessary for such programs is identified, and courses incorporating it are specified. Detailed course descriptions are presented, program organization discussed, and implementation questions considered. .B CACM May, 1972 .A Ashenhurst, R. L. .K education, management systems, systems analysis, management information systems, information systems development, information analysis, system design .C 1.52 3.51 .N CA720515 JB January 31, 1978 9:28 AM .X 1720 4 2345 1927 4 2345 2147 4 2345 2163 4 2345 2163 4 2345 2345 4 2345 2345 4 2345 2407 4 2345 2478 4 2345 2594 4 2345 2852 4 2345 2899 4 2345 3130 4 2345 1771 5 2345 2181 5 2345 2345 5 2345 2345 5 2345 2345 5 2345 2407 5 2345 2852 5 2345 3003 5 2345 3011 5 2345 3050 5 2345 1417 6 2345 1659 6 2345 1678 6 2345 1771 6 2345 1927 6 2345 1945 6 2345 2075 6 2345 2097 6 2345 2147 6 2345 2163 6 2345 2163 6 2345 2181 6 2345 2187 6 2345 2302 6 2345 2329 6 2345 2345 6 2345 2345 6 2345 2345 6 2345 2345 6 2345 2345 6 2345 2367 6 2345 2387 6 2345 2387 6 2345 2407 6 2345 2478 6 2345 2479 6 2345 2479 6 2345 2480 6 2345 2485 6 2345 2538 6 2345 .I 2346 .T Hu-Tucker Minimum Redundancy Alphabetic Coding Method [Z] (Algorithm A428) .B CACM May, 1972 .A Yohe, J. M. .K information theory, coding theory, Hu-Tucker method, minimum redundancy coding .C 5.6 .N CA720514 JB January 31, 1978 9:30 AM .X 2346 4 2346 2459 4 2346 1114 5 2346 2346 5 2346 2346 5 2346 2346 5 2346 .I 2347 .T Fourier Cosine Integral [D1] (Algorithm A427) .B CACM May, 1972 .A Linz, P. .K numerical integration, quadrature, adaptive quadrature, Filon quadrature, Fourier coefficients, Fourier integrals .C 5.16 .N CA720513 JB January 31, 1978 9:32 AM .X 2347 5 2347 2347 5 2347 2347 5 2347 .I 2348 .T Merge Sort Algorithm [M1] (Algorithm A426) .B CACM May, 1972 .A Bron, C. .K sort, merge .C 5.31 .N CA720512 JB January 31, 1978 9:33 AM .X 1919 4 2348 1969 4 2348 2118 4 2348 2348 4 2348 2679 4 2348 3054 4 2348 1175 5 2348 2348 5 2348 2348 5 2348 2348 5 2348 2563 5 2348 2348 6 2348 .I 2349 .T Generation of Random Correlated Normal Variables [G5] (Algorithm A425) .B CACM May, 1972 .A Hurst, R. L. Knop, R. E. .K random number, normal density, normal distribution, Gaussian density, Gaussian distribution, simulation, Monte Carlo .C 5.5 .N CA720511 JB January 31, 1978 9:35 AM .X 1663 4 2349 2057 4 2349 2349 4 2349 2349 4 2349 2349 4 2349 2349 4 2349 2349 4 2349 2349 4 2349 2349 4 2349 2349 4 2349 2565 4 2349 1648 5 2349 1716 5 2349 1794 5 2349 1894 5 2349 2043 5 2349 2349 5 2349 2349 5 2349 2349 5 2349 501 5 2349 613 5 2349 774 5 2349 .I 2350 .T Clenshaw-Curtis Quadrature [D1] (Algorithm A424) .B CACM May, 1972 .A Gentleman, W.M. .K quadrature, Chebyshev series, cosine transform, fast Fourier transform .C 5.1 .N CA720510 JB January 31, 1978 9:37 AM .X 2355 4 2350 2355 4 2350 2350 4 2350 2350 4 2350 2350 4 2350 2354 4 2350 2354 4 2350 2640 4 2350 1418 5 2350 2350 5 2350 2350 5 2350 2350 5 2350 2354 5 2350 2355 5 2350 1418 6 2350 1418 6 2350 1521 6 2350 1521 6 2350 1597 6 2350 1597 6 2350 1679 6 2350 1883 6 2350 2040 6 2350 2350 6 2350 2350 6 2350 2354 6 2350 2355 6 2350 .I 2351 .T The Optimality of Winograd's Formula .B CACM May, 1972 .A Harter, R. .K inner product, Winograd's formula .C 5.14 .N CA720509 JB January 31, 1978 9:38 AM .X 2351 5 2351 2351 5 2351 2351 5 2351 .I 2352 .T Minimax Nonlinear Approximation by Approximation on Subsets .B CACM May, 1972 .A Dunham, C. B. .K minimax approximation, nonlinear approximation, subset .C 5.13 .N CA720508 JB January 31, 1978 9:40 AM .X 2352 4 2352 2353 4 2352 2094 5 2352 2352 5 2352 2352 5 2352 2352 5 2352 .I 2353 .T Fast Finite-Difference Solution of Biharmonic Problems .W Setting the Reynolds number equal to zero, in a method for solving the Navier-Strokes equations numerically, results in a fast numerical method for biharmonic problems. The equation is treated as a system of two second order equations and a simple smoothing process is essential for convergence. An application is made to a crack-type problem. .B CACM May, 1972 .A Greenspan, D. Schultz, D. .K numerical analysis, partial differential equations, biharmonic equation, boundary value problem .C 5.17 .N CA720507 JB January 31, 1978 9:43 AM .X 2352 4 2353 2353 4 2353 2094 5 2353 2353 5 2353 2353 5 2353 2353 5 2353 .I 2354 .T Implementing Clenshaw-Curtis Quadrature, II Computing the Cosine Transformation .W In a companion paper to this, "I Methodology and Experiences," the automatic Clenshaw-Curtis quadrature scheme was described and how each quadrature formula used in the scheme requires a cosine transformation of the integrand values was shown. The high cost of these cosine transformations has been a serious drawback in using Clenshaw-Curtis quadrature. Two other problems related to the cosine transformation have also been trouble some. First, the conventional computation of the cosine transformation by recurrence relation is numerically unstable, particularly at the low frequencies which have the largest effect upon the integral. Second, in case the automatic scheme should require refinement of the sampling, storage is required to save the integrand values after the cosine transformation is computed. This second part of the paper shows how the cosine transformation can be computed by a modification of the fast Fourier transform and all three problems overcome. The modification is also applicable in other circumstances requiring cosine or sine transformations, such as polynomial interpolation through the Chebyshev points. .B CACM May, 1972 .A Gentleman, W. M. .K fast Fourier transformation, cosine transformation, Clenshaw-Curtis quadrature, Chebyshev series .C 5.13 5.14 5.16 .N CA720506 JB January 31, 1978 9:56 AM .X 2355 4 2354 2355 4 2354 2355 4 2354 2355 4 2354 2350 4 2354 2350 4 2354 2354 4 2354 2354 4 2354 2354 4 2354 2354 4 2354 2354 4 2354 2354 4 2354 2640 4 2354 1418 5 2354 1521 5 2354 1597 5 2354 1679 5 2354 2350 5 2354 2354 5 2354 2354 5 2354 2354 5 2354 2355 5 2354 1418 6 2354 1418 6 2354 1521 6 2354 1597 6 2354 1883 6 2354 2040 6 2354 2350 6 2354 2354 6 2354 2354 6 2354 2355 6 2354 .I 2355 .T Implementing Clenshaw-Curtis quadrature, I Methodology and Experience .W Clenshaw-Curtis quadrature is a particularly important automatic quadrature scheme for a variety of reasons, especially the high accuracy obtained from relatively few integrand values. However, it has received little use because it requires the computation of a cosine transformation and the arithmetic cost of this has been prohibitive. This paper is in two parts; a companion paper, "II Computing the Cosine Transformation," shows that this objection can be overcome by computing the cosine transformation by a modification of the fast Fourier transform algorithm. This first part discusses the strategy and various error estimates, and summarizes experience with a particular implementation of the scheme. .B CACM May, 1972 .A Gentleman, W. M. .K Clenshaw Curtis, numerical integration, automatic quadrature, error estimates, Chebyshev series .C 5.16 .N CA720505 JB January 31, 1978 10:05 AM .X 1982 4 2355 2355 4 2355 2355 4 2355 2355 4 2355 2355 4 2355 2355 4 2355 2355 4 2355 2355 4 2355 2350 4 2355 2350 4 2355 2354 4 2355 2354 4 2355 2354 4 2355 2354 4 2355 1418 5 2355 1521 5 2355 1597 5 2355 1883 5 2355 2040 5 2355 2350 5 2355 2354 5 2355 2355 5 2355 2355 5 2355 2355 5 2355 2640 5 2355 1418 6 2355 1418 6 2355 1521 6 2355 1597 6 2355 1679 6 2355 2350 6 2355 2354 6 2355 2355 6 2355 2355 6 2355 2355 6 2355 .I 2356 .T A Technique for Software Module Specification with Examples .W This paper presents an approach to writing specifications for parts of software systems. The main goal is to provide specifications sufficiently precise and complete that other pieces of software can be written to interact with the piece specified without additional information. The secondary goal is to include in the specification no more information than necessary to meet the first goal. The technique is illustrated by means of a variety of examples from a tutorial system. .B CACM May, 1972 .A Parnas, D. L. .K software, specification, modules, software engineering, software design .C 4.0 4.29 4.9 .N CA720504 JB January 31, 1978 10:47 AM .X 1542 4 2356 1683 4 2356 1693 4 2356 1781 4 2356 1787 4 2356 1836 4 2356 1945 4 2356 2042 4 2356 2060 4 2356 2061 4 2356 2082 4 2356 2091 4 2356 2152 4 2356 2179 4 2356 2222 4 2356 2340 4 2356 2356 4 2356 2356 4 2356 2356 4 2356 2420 4 2356 2546 4 2356 2603 4 2356 2679 4 2356 2698 4 2356 2708 4 2356 2824 4 2356 2844 4 2356 2874 4 2356 2972 4 2356 2982 4 2356 2986 4 2356 3045 4 2356 3093 4 2356 3143 4 2356 970 5 2356 1491 5 2356 2227 5 2356 2356 5 2356 2356 5 2356 2356 5 2356 2704 5 2356 2738 5 2356 2866 5 2356 2869 5 2356 2941 5 2356 2958 5 2356 3004 5 2356 3030 5 2356 1247 6 2356 1425 6 2356 1471 6 2356 1552 6 2356 1749 6 2356 1749 6 2356 2080 6 2356 2247 6 2356 2247 6 2356 2247 6 2356 2356 6 2356 2356 6 2356 2356 6 2356 2356 6 2356 2356 6 2356 2356 6 2356 2356 6 2356 2356 6 2356 2379 6 2356 2436 6 2356 2456 6 2356 2457 6 2356 2558 6 2356 2597 6 2356 2651 6 2356 2651 6 2356 2673 6 2356 2777 6 2356 2796 6 2356 2958 6 2356 2972 6 2356 3186 6 2356 .I 2357 .T MUX, a Simple Approach to On-Line Computing .W An on-line system operating as part of a normal batch system for the CDC 6600 computer is described. The system, which required one man-year for initial software implementation, although basically simple, provides the necessary elements to input and modify files, submit them for batch execution, and provide results at the user's terminal. A multiplexer designed and developed as part of the project cost one man-year for design and checkout, and $16,000 for parts and fabrication. All aspects of the system are described, including design criteria, implementation, cost, overhead, and user reactions. .B CACM May, 1972 .A Christman, R. D. .K time-sharing, remote computing, on-line access, on-line computing, remote file manager, real time, multiplexer, implementation effort, operating overhead, user reactions, remote terminals, operating system .C 3.79 3.89 4.39 4.41 .N CA720503 JB January 31, 1978 11:04 AM .X 1657 4 2357 2080 4 2357 2357 4 2357 2357 4 2357 2357 4 2357 2536 4 2357 1523 5 2357 1829 5 2357 2035 5 2357 2357 5 2357 2357 5 2357 2357 5 2357 .I 2358 .T The Multics Virtual Memory: Concepts and Design .W As experience with use of on-line operating systems has grown, the need to share information among system users has become increasingly apparent. Many contemporary systems permit some degree of sharing. Usually, sharing is accomplished by allowing several users to share data via input and output of information stored in files kept in secondary storage. Through the use of segmentation, however, Multics provides direct hardware addressing by user and system programs of all information, independent of its physical storage location. Information is stored in segments each of which is potentially sharable and carries its own independent attributes of size and access privilege. Here, the design and implementation considerations of segmentation and sharing in Multics are first discussed under the assumption that all information resides in large, segmented main memory. Since the size of main memory on contemporary systems is rather limited, it is then shown how the Multics software achieves the effect of a large segmented main memory through the use of the Honeywell 645 segmentation and paging hardware. .B CACM May, 1972 .A Bensoussan, A. Clingen, C. T. Daley, R. C. .K operating system, Multics, virtual memory, segmentation, information sharing, paging, memory management, memory hierarchy .C 4.30 4.31 4.32 .N CA720502 JB January 31, 1978 11:24 AM .X 1753 4 2358 1754 4 2358 1892 4 2358 1901 4 2358 2085 4 2358 2095 4 2358 2218 4 2358 2277 4 2358 2317 4 2358 2319 4 2358 2329 4 2358 2358 4 2358 2358 4 2358 2358 4 2358 2358 4 2358 2377 4 2358 2373 4 2358 2372 4 2358 2380 4 2358 2434 4 2358 2499 4 2358 2501 4 2358 2582 4 2358 488 4 2358 2625 4 2358 2626 4 2358 2669 4 2358 2828 4 2358 2840 4 2358 2863 4 2358 2881 4 2358 2928 4 2358 2996 4 2358 3006 4 2358 3067 4 2358 274 5 2358 1746 5 2358 1751 5 2358 1753 5 2358 2358 5 2358 2358 5 2358 2358 5 2358 2377 5 2358 2625 5 2358 2626 5 2358 2669 5 2358 1471 6 2358 1471 6 2358 1746 6 2358 1746 6 2358 1749 6 2358 1751 6 2358 1753 6 2358 1901 6 2358 2017 6 2358 2358 6 2358 2358 6 2358 2358 6 2358 2358 6 2358 2377 6 2358 2438 6 2358 2625 6 2358 2629 6 2358 .I 2359 .T An Improved Index Sequential Access Method Using Hashed Overflow .W The Index Sequential Access Method (ISAM) is one of the most important file management systems used with moveable head disk devices. This study investigates the use of an unconventional method of treating overflow records. The method is to use hashing techniques to allocate space for such records. If certain conditions are satisfied, this is superior to the conventional ISAM method of chaining the overflow records via linked list techniques. These conditions are: long overflow chains with significant overflow; lack of tight disk space constraints; record keys which are small compared to the total record size; and significant use of the file in the index as opposed to the sequential mode. Using hashed overflow, the time to locate a record is dependent not on the total volume of overflow records as in conventional ISAM, but on the percentage use of space dedicated to overflow records. .B CACM May, 1972 .A Mullin, J. K. .K ISAM, index sequential, hashing, scatter storage, disk, cylinder, overflow .C 3.72 3.73 3.74 .N CA720501 JB January 31, 1978 12:29 PM .X 1676 4 2359 1682 4 2359 1728 4 2359 1860 4 2359 1973 4 2359 2018 4 2359 2032 4 2359 2033 4 2359 2107 4 2359 2109 4 2359 2203 4 2359 2251 4 2359 2258 4 2359 2319 4 2359 2313 4 2359 2359 4 2359 2359 4 2359 2437 4 2359 2524 4 2359 2543 4 2359 2552 4 2359 2552 4 2359 2559 4 2359 2781 4 2359 2860 4 2359 2991 4 2359 2991 4 2359 3053 4 2359 1785 5 2359 2203 5 2359 2359 5 2359 2359 5 2359 2359 5 2359 .I 2360 .T A Comment on the Double-Chained Tree .B CACM April, 1972 .A Hu, T. C. .K file searching, double-chained tree, binary search tree .C 3.73 3.74 5.32 5.6 .N CA720413 JB January 31, 1978 12:31 PM .X 1050 4 2360 1935 4 2360 1936 4 2360 2017 4 2360 2032 4 2360 2257 4 2360 2257 4 2360 2257 4 2360 2360 4 2360 2360 4 2360 2360 4 2360 2451 4 2360 2451 4 2360 2452 4 2360 2452 4 2360 2556 4 2360 2765 4 2360 1831 5 2360 1936 5 2360 2257 5 2360 2360 5 2360 2360 5 2360 2360 5 2360 849 5 2360 849 6 2360 1831 6 2360 1936 6 2360 2360 6 2360 .I 2361 .T A Note on Cheney's Nonrecursive List-Compacting Algorithm .B CACM April, 1972 .A Walden, D. C. .K list compacting, garbage collection .C 4.19 4.49 .N CA720412 JB January 31, 1978 12:32 PM .X 2156 4 2361 2361 4 2361 2513 4 2361 2736 4 2361 2855 4 2361 3074 4 2361 3106 4 2361 3112 4 2361 1972 5 2361 2361 5 2361 2361 5 2361 2361 5 2361 .I 2362 .T Linear Equation Solver [F4] (Algorithm A423) .B CACM April, 1972 .A Moler, C. B. .K matrix algorithms, linear equations, Fortran, paged memory, virtual memory, array processing .C 4.22 4.32 5.14 .N CA720411 JB January 31, 1978 12:34 PM .X 2362 4 2362 3152 4 2362 2362 5 2362 2362 5 2362 2362 5 2362 2365 5 2362 987 6 2362 1754 6 2362 1924 6 2362 2362 6 2362 .I 2363 .T Minimal Spanning Tree [H] (Algorithm A422) .B CACM April, 1972 .A Whitney, V. K. M. .K spanning tree, minimal spanning tree, maximal spanning tree .C 5.32 .N CA720410 JB January 31, 1978 12:36 PM .X 2363 5 2363 2363 5 2363 2363 5 2363 2641 5 2363 2363 6 2363 .I 2364 .T Complex Gamma Function with Error Control [S14] (Algorithm A421) .B CACM April, 1972 .A Kuki, H. .K complex gamma function, gamma function, complex log gamma function, loggamma function, round-off error control, inherent error control, run-time error estimates, error estimates, special functions .C 4.9 5.11 5.12 .N CA720409 JB January 31, 1978 12:50 PM .X 2364 4 2364 2364 5 2364 2364 5 2364 2364 5 2364 2366 5 2364 2364 6 2364 .I 2365 .T Matrix Computations with Fortran and Paging .W The efficiency of conventional Fortran programs for matrix computations can often be improved by reversing the order of nested loops. Such modifications produce modest savings in many common situations and very significant savings for large problems run under an operating system which uses paging. .B CACM April, 1972 .A Moler, C. B. .K matrix algorithms, linear equations, Fortran, paged memory, virtual memory, array processing .C 4.22 4.32 5.14 .N CA720408 JB January 31, 1978 12:54 PM .X 1613 4 2365 1646 4 2365 1879 4 2365 1884 4 2365 1900 4 2365 1901 4 2365 1955 4 2365 2025 4 2365 2095 4 2365 2154 4 2365 2277 4 2365 2297 4 2365 2365 4 2365 2365 4 2365 2365 4 2365 2365 4 2365 2506 4 2365 2582 4 2365 3060 4 2365 3152 4 2365 987 5 2365 1754 5 2365 1924 5 2365 2362 5 2365 2365 5 2365 2365 5 2365 2365 5 2365 3152 5 2365 1924 6 2365 2365 6 2365 2365 6 2365 .I 2366 .T Complex Gamma Function with Error Control .W An algorithm to compute the gamma function and log gamma function of a complex variable is presented. The standard algorithm is modified in several respects to insure the continuity of the function value and to reduce accumulation of round-off errors. In addition to computation of function values, this algorithm includes an object-time estimation of round-off errors. Experimental data with regard to the effectiveness of this error control are presented. A Fortran program for the algorithm appears in the algorithms section of this issue. .B CACM April, 1972 .A Kuki, H. .K complex gamma function, gamma function, complex log gamma function, loggamma function, round-off error control, inherent error control, run-time error estimates, error estimates .C 5.11 5.12 .N CA720407 JB January 31, 1978 12:59 PM .X 2366 4 2366 2364 5 2366 2366 5 2366 2366 5 2366 2366 5 2366 2366 6 2366 .I 2367 .T Computers and Society: A Proposed Course for Computer Scientists .W The purpose of this paper is to describe a course concerned with both the effects of computers on society and the responsibilities of computer scientists to society. The impact of computers is divided into five components: political, economic, cultural, social, and moral; the main part of the paper defines each component and presents examples of the relevant issues. In the remaining portions the possible formats for such a course are discussed, a topic by topic outline is given, and a selected set of references is listed. It is hoped that the proposal will make it easier to initiate courses on this subject. .B CACM April, 1972 .A Horowitz, E. Morgan, H. L. Shaw, A. C. .K computers and society, social implications, course proposal .C 1.0 1.52 2.1 .N CA720406 JB January 31, 1978 1:06 PM .X 2367 5 2367 2367 5 2367 2367 5 2367 3003 5 2367 1659 6 2367 1678 6 2367 1927 6 2367 1945 6 2367 2097 6 2367 2147 6 2367 2163 6 2367 2187 6 2367 2329 6 2367 2345 6 2367 2367 6 2367 2407 6 2367 2478 6 2367 2479 6 2367 2480 6 2367 2538 6 2367 .I 2368 .T An Implemented Graph Algorithm for Winning Shannon Switching games .W In this tutorial paper a computer program which wins Shannon Switching Games is described. Since these games are played on graphs, the program is a good example of the implementation of graph algorithms. The two players in a Shannon Switching Game, CONNECT and CUT, have nonsimilar goals. Either CONNECT, CUT, or the player moving first is guaranteed the existence of a winning strategy. The simple strategy explained in this paper is valid in all three cases. In fact, the major routines never need to know whether the computer is CONNECT or CUT. .B CACM April, 1972 .A Chase, S. M. .K graph algorithms, graph processing, Shannon Switching Games, game playing, graph theory, positional games, demonstration programs, game theory, spinning trees .C 3.69 5.32 .N CA720405 JB January 31, 1978 1:34 PM .X 2368 5 2368 2368 5 2368 2368 5 2368 .I 2369 .T Hidden Lines Elimination for a Rotating Object .W A method is presented of determining which parts of three-dimensional objects are visible and which are invisible when the objects are rotated about some axis. This paper describes a polygon comparison scheme in which the relationships of two polygons can be classified into tree types, and also discusses how the relationship is changed for each pair of polygons under rotation about some axis. A rotation table is defined for each pair of polygons, which remains fixed as long as rotation is about one axis and provides a means of rapidly determining the visible and hidden line relationship between two polygons. Additional work must be done to extend this approach to simultaneous rotation about several axes. .B CACM April, 1972 .A Matsushita, Y. .K hidden line problem, display programming, computer graphics, displays, graphics, computer drawn picture .C 4.40 4.41 4.49 .N CA720404 JB January 31, 1978 1:40 PM .X 2369 5 2369 2369 5 2369 2369 5 2369 .I 2370 .T An Experimental Laboratory for Pattern Recognition and Signal Processing .W An interactive computer-controlled scanning and display system has been in operation at the IBM Thomas J. Watson Research Center for three years. The system includes two flying-spot scanners and a TV camera specially interfaced to a process control digital computer, dot-mode and vector displays, analog input and output facilities, and a variety of other experimental equipment. The system design and programming support are described and typical applications in scanner control, optical character recognition,and image processing are presented. .B CACM April, 1972 .A Herbst, N. M. Will, P. M. .K scanners, pseudorandom displays, interactive terminal, image processing, pattern recognition .C 4.41 6.35 .N CA720403 JB January 31, 1978 1:47 PM .X 2370 4 2370 1726 5 2370 2370 5 2370 2370 5 2370 2370 5 2370 .I 2371 .T A System for Interprocess Communication in a Resource Sharing Computer Network .W A system of communication between processes in a time-sharing system is described and the communication system is extended so that it may be used between processes distributed throughout a computer network. The hypothetical application of the system to an existing network is discussed. .B CACM April, 1972 .A Walden, D. C. .K interprocess communication, time-sharing, computer networks, resource sharing .C 3.81 4.39 4.82 4.9 .N CA720402 JB January 31, 1978 1:51 PM .X 2371 5 2371 2371 5 2371 2371 5 2371 2849 5 2371 2371 6 2371 .I 2372 .T On the Implementation of Security Measures in Information Systems .W The security of an information system may be represented by a model matrix whose elements are decision rules and whose row and column indices are users and data items respectively. A set of four functions is used to access this matrix at translation and execution time. Distinguishing between data dependent and data independent decision rules enables one to perform much of the checking of security only once at translation time rather than repeatedly at execution time. The model is used to explain security features of several existing systems, and serves as a framework for a proposal for general security system implementation within today's languages and operating systems. .B CACM April, 1972 .A Conway, R. W. Maxwell, W. L. Morgan, H. L. .K security, privacy, access control confidentiality, operating systems, access management, data banks, management information systems .C 3.50 3.73 4.12 4.22 4.39 .N CA720401 JB January 31, 1978 1:59 PM .X 1753 4 2372 2358 4 2372 2377 4 2372 2372 4 2372 2626 4 2372 2840 4 2372 1746 5 2372 2372 5 2372 2372 5 2372 2372 5 2372 .I 2373 .T Properties of the Working-Set Model .W A program's working set W(t,T) at time t is the set of distinct pages among the T most recently referenced pages. Relations between the average working-set size, the missing-page rate, and the interreference-interval distribution may be derived both from time-average definitions and from ensemble-average (statistical) definitions. An efficient algorithm for estimating these quantities is given. The relation to LRU (least recently used) paging is characterized. The independent-reference model, in which page references are statistically independent, is used to assess the effects to interpage dependencies on working-set size observations. Under general assumptions, working-set size is shown to be normally distributed. .B CACM March, 1972 .A Denning, P. J. Schwartz, S. C. .K working-set model, paging, paging algorithms, program behavior, program modeling .C 4.3 .N CA720308 JB January 31, 1978 2:07 PM .X 1604 4 2373 1892 4 2373 1901 4 2373 1951 4 2373 2085 4 2373 2095 4 2373 2218 4 2373 2218 4 2373 2277 4 2373 2319 4 2373 2329 4 2373 2358 4 2373 2373 4 2373 2373 4 2373 2373 4 2373 2373 4 2373 2373 4 2373 2380 4 2373 2434 4 2373 2499 4 2373 2450 4 2373 2501 4 2373 2582 4 2373 2669 4 2373 2828 4 2373 2863 4 2373 2881 4 2373 2894 4 2373 2928 4 2373 2996 4 2373 3006 4 2373 3006 4 2373 3067 4 2373 3067 4 2373 1410 5 2373 1751 5 2373 1810 5 2373 1951 5 2373 2373 5 2373 2373 5 2373 2373 5 2373 2374 5 2373 2380 5 2373 2450 5 2373 2595 5 2373 2996 5 2373 3006 5 2373 3067 5 2373 1728 6 2373 1751 6 2373 1751 6 2373 1751 6 2373 1751 6 2373 1884 6 2373 1901 6 2373 2374 6 2373 2374 6 2373 2374 6 2373 2373 6 2373 2373 6 2373 2373 6 2373 2373 6 2373 2373 6 2373 2373 6 2373 2373 6 2373 2595 6 2373 2595 6 2373 2595 6 2373 2682 6 2373 2863 6 2373 2864 6 2373 3006 6 2373 .I 2374 .T A Study of Storage Partitioning Using a Mathematical Model of Locality .W Both fixed and dynamic storage partitioning procedures are examined for use in multiprogramming systems. The storage requirement of programs is modeled as a stationary Gaussian process. Experiments justifying this model are described. By means of this model dynamic storage partitioning is shown to provide substantial increases in storage utilization and operating efficiency over fixed partitioning. .B CACM March, 1972 .A Coffman Jr., E. G. Ryan Jr., T. A. .K storage partitioning, memory management, dynamic storage allocation, space sharing, multiprogrammed storage, working-sets, program behavior models, mathematical modeling .C 4.32 4.39 .N CA720307 JB January 31, 1978 2:29 PM .X 1892 4 2374 1924 4 2374 2095 4 2374 2218 4 2374 2297 4 2374 2374 4 2374 2374 4 2374 2374 4 2374 2380 4 2374 2450 4 2374 2481 4 2374 2526 4 2374 2595 4 2374 2667 4 2374 2668 4 2374 2669 4 2374 2862 4 2374 2863 4 2374 2863 4 2374 2996 4 2374 3006 4 2374 3016 4 2374 3052 4 2374 3067 4 2374 1728 5 2374 1901 5 2374 2373 5 2374 2374 5 2374 2374 5 2374 2374 5 2374 2450 5 2374 3006 5 2374 3067 5 2374 1410 6 2374 1751 6 2374 1751 6 2374 1751 6 2374 1810 6 2374 1884 6 2374 1951 6 2374 2374 6 2374 2374 6 2374 2374 6 2374 2374 6 2374 2373 6 2374 2373 6 2374 2373 6 2374 2595 6 2374 2595 6 2374 2682 6 2374 2863 6 2374 2864 6 2374 3006 6 2374 .I 2375 .T A Comparative Analysis of Disk Scheduling Policies .W Five well-known scheduling policies for movable head disks are compared using the performance criteria of expected seek time (system oriented)and expected waiting time (individual I/O request oriented). Both analytical and simulation results are obtained. The variance of waiting time is introduced as another meaningful measure of performance, showing possible discrimination against individual requests. Then the choice of a utility function to measure total performance including system oriented and individual request oriented measures is described. Such a function allows one to differentiate among the scheduling policies over a wide range of input loading conditions. The selection and implementation of a maximum performance two-policy algorithm are discussed. .B CACM March, 1972 .A Teorey, T. J. Pinkerton, T. B. .K access time, analytical models, auxiliary storage, direct access storage, disk analysis, disk scheduling, performance criteria, peripheral memory devices, real-time systems, response time, rotational delay, scheduling policies, seek time, simulation, storage units, time-sharing systems, waiting time .C 3.72 4.32 6.34 .N CA720306JB January 31, 1978 2:38 PM .X 2375 5 2375 2375 5 2375 2375 5 2375 2628 5 2375 2891 5 2375 3072 5 2375 1713 6 2375 2219 6 2375 2245 6 2375 2375 6 2375 2375 6 2375 2375 6 2375 2496 6 2375 2628 6 2375 .I 2376 .T Synchronization of Communicating Processes .W Formalization of a well-defined synchronization mechanism can be used to prove that concurrently running processes of a system communicate correctly. This is demonstrated for a system consisting of many sending processes which deposit messages in a buffer and many receiving processes which remove messages from that buffer. The formal description of the synchronization mechanism makes it very easy to prove that the buffer will neither overflow nor underflow, that senders and receivers will never operate on the same message frame in the buffer nor will they run into a deadlock. .B CACM March, 1972 .A Habermann, A. N. .K parallel programming, multiprogramming, program correctness, process communication, process scheduling .C 4.30 4.32 4.39 4.9 .N CA720305 JB January 31, 1978 2:44 PM .X 1781 4 2376 1828 4 2376 1854 4 2376 1877 4 2376 1960 4 2376 2150 4 2376 2150 4 2376 2228 4 2376 2256 4 2376 2317 4 2376 2317 4 2376 2319 4 2376 2377 4 2376 2342 4 2376 2342 4 2376 2376 4 2376 2376 4 2376 2376 4 2376 2379 4 2376 2424 4 2376 2482 4 2376 2618 4 2376 2618 4 2376 2632 4 2376 2704 4 2376 2723 4 2376 2738 4 2376 2740 4 2376 2741 4 2376 2867 4 2376 3184 4 2376 3184 4 2376 1198 5 2376 1749 5 2376 1960 5 2376 2376 5 2376 2376 5 2376 2376 5 2376 2700 5 2376 3128 5 2376 2150 6 2376 2376 6 2376 2376 6 2376 2436 6 2376 2597 6 2376 2865 6 2376 2866 6 2376 2870 6 2376 2912 6 2376 3082 6 2376 .I 2377 .T A Hardware Architecture for Implementing Protection Rings .W Protection of computations and information is an important aspect of a computer utility. In a system which uses segmentation as a memory addressing scheme, protection can be achieved in part by associating concentric rings of decreasing access privilege with a computation. This paper describes hardware processor mechanisms for implementing these rings of protection. The mechanisms for implementing these rings of protection. The mechanisms allow cross-ring calls and subsequent returns to occur without trapping to the supervisor. Automatic hardware validation of references across ring boundaries is also performed. Thus, a call by a user procedure to a protected subsystem (including the supervisor) is identical to a call to a companion user procedure. The mechanisms of passing and referencing arguments are the same in both cases as well. .B CACM March, 1972 .A Schroeder, M. D. Saltzer, J. H. .K protection, protection rings, protection hardware, access control, hardware access control, computer utility, time-sharing, shared information, segmentation, virtual memory, Multics .C 4.32 6.21 .N CA720304 JB January 31, 1978 2:58 PM .X 1458 4 2377 1523 4 2377 1603 4 2377 1698 4 2377 1747 4 2377 1748 4 2377 1753 4 2377 1828 4 2377 1854 4 2377 1854 4 2377 1877 4 2377 1877 4 2377 1960 4 2377 1960 4 2377 2150 4 2377 2317 4 2377 2319 4 2377 2358 4 2377 2377 4 2377 2377 4 2377 2377 4 2377 2377 4 2377 2378 4 2377 2372 4 2377 2342 4 2377 2376 4 2377 2379 4 2377 2424 4 2377 2482 4 2377 2497 4 2377 2558 4 2377 2618 4 2377 2625 4 2377 2625 4 2377 2626 4 2377 2626 4 2377 2632 4 2377 2632 4 2377 2669 4 2377 2704 4 2377 2723 4 2377 2738 4 2377 2740 4 2377 2741 4 2377 2840 4 2377 2840 4 2377 2867 4 2377 2941 4 2377 3105 4 2377 3144 4 2377 3184 4 2377 1471 5 2377 1746 5 2377 1749 5 2377 2358 5 2377 2377 5 2377 2377 5 2377 2377 5 2377 2436 5 2377 2626 5 2377 2868 5 2377 2870 5 2377 953 6 2377 1746 6 2377 2080 6 2377 2358 6 2377 2377 6 2377 2377 6 2377 2377 6 2377 2377 6 2377 2380 6 2377 2558 6 2377 2625 6 2377 2625 6 2377 2629 6 2377 2632 6 2377 2632 6 2377 .I 2378 .T An Operating System Based on the Concept of a Supervisory Computer .W An operating system which is organized as a small supervisor and a set of independent processes are described. The supervisor handles I/O with external devices-the file and directory system-schedules active processes and manages memory, handle errors, and provides a small set of primitive functions which it will execute for a process. A process is able to specify a request for a complicated action on the part of the supervisor (usually a wait on the occurrence of a compound event in the system) by combining these primitives into a "supervisory computer program." The part of the supervisor which executes these programs may be viewed as a software implemented "supervisory computer." The paper develops these concepts in detail, outlines the remainder of the supervisor, and discusses some of the advantages of this approach. .B CACM March, 1972 .A Gaines, R. S. .K operating systems, supervisors, multiprogramming, time-sharing, cooperating processes .C 4.30 4.31 4.32 .N CA720303 JB January 31, 1978 3:08 PM .X 1458 4 2378 1523 4 2378 1603 4 2378 1698 4 2378 1747 4 2378 1748 4 2378 1854 4 2378 1877 4 2378 1960 4 2378 2319 4 2378 2377 4 2378 2378 4 2378 2378 4 2378 2320 4 2378 2497 4 2378 2558 4 2378 2625 4 2378 2632 4 2378 2632 4 2378 2738 4 2378 2740 4 2378 2840 4 2378 2868 4 2378 2941 4 2378 3105 4 2378 3127 4 2378 3144 4 2378 1471 5 2378 2080 5 2378 2378 5 2378 2378 5 2378 2378 5 2378 .I 2379 .T The Design of the Venus Operating System .W The Venus Operating System is an experimental multiprogramming system which supports five or six concurrent users on a small computer. The system was produced to test the effect of machine architecture on complexity of software. The system is defined by a combination of microprograms and software. The microprogram defines a machine with some unusual architectural feature; the software exploits these features to define the operating system as simply as possible. In this paper the development of the system is described, with particular emphasis on the principles which guided the design. .B CACM March, 1972 .A Liskov, B. H. .K operating systems, system design, levels of abstraction, machine architecture, microprogramming, segments, semaphores, multiprogramming, virtual machines, processes, process communication, virtual devices, data sharing, resource management, deadlock .C 4.30 4.32 4.41 6.21 .N CA720302 JB January 31, 1978 3:16 PM .X 1828 4 2379 1854 4 2379 1877 4 2379 1960 4 2379 2150 4 2379 2228 4 2379 2280 4 2379 2280 4 2379 2317 4 2379 2319 4 2379 2377 4 2379 2342 4 2379 2376 4 2379 2379 4 2379 2379 4 2379 2379 4 2379 2424 4 2379 2482 4 2379 2482 4 2379 2482 4 2379 2500 4 2379 2618 4 2379 2632 4 2379 2704 4 2379 2723 4 2379 2738 4 2379 2740 4 2379 2740 4 2379 2741 4 2379 2851 4 2379 2867 4 2379 2920 4 2379 3184 4 2379 1749 5 2379 1877 5 2379 2228 5 2379 2379 5 2379 2379 5 2379 2379 5 2379 2704 5 2379 2867 5 2379 1247 6 2379 1552 6 2379 1749 6 2379 1749 6 2379 2247 6 2379 2356 6 2379 2379 6 2379 2379 6 2379 2673 6 2379 .I 2380 .T TENEX, a Paged Time Sharing System for the PDP-10 .W TENEX is a new time sharing system implemented on DEC PDP-10 augmented by special paging hardware developed at BBN. This report specifies a set of goals which are important for any time sharing system. It describes how the TENEX design and implementation achieve these goals. These include specifications for a powerful multiprocess large memory virtual machine, intimate terminal interaction, comprehensive uniform file and I/O capabilities, and clean flexible system structure. Although the implementation described here required some compromise to achieve a system operational within six months of hardware checkout, TENEX has met its major goals and provided reliable service at several sites and through the ARPA network. .B CACM March, 1972 .A Bobrow, D. G. Burchfiel, J. D. Murphy, D. L. Tomlinson, R. S. Beranek, B. .K TENEX, paging, virtual machines, time sharing system, scheduling algorithm, process structure, PDP-10 .C 2.44 4.32 4.39 4.42 .N CA720301 JB January 31, 1978 3:37 PM .X 1892 4 2380 1901 4 2380 2085 4 2380 2095 4 2380 2218 4 2380 2277 4 2380 2319 4 2380 2329 4 2380 2358 4 2380 2373 4 2380 2374 4 2380 2380 4 2380 2380 4 2380 2434 4 2380 2499 4 2380 2450 4 2380 2501 4 2380 2582 4 2380 2595 4 2380 2669 4 2380 2828 4 2380 2863 4 2380 2881 4 2380 2928 4 2380 2996 4 2380 2996 4 2380 3006 4 2380 3006 4 2380 3067 4 2380 3067 4 2380 1751 5 2380 2373 5 2380 2380 5 2380 2380 5 2380 2380 5 2380 2629 5 2380 2868 5 2380 2928 5 2380 2951 5 2380 1502 6 2380 1751 6 2380 2080 6 2380 2277 6 2380 2377 6 2380 2380 6 2380 2380 6 2380 2380 6 2380 2380 6 2380 2522 6 2380 2558 6 2380 2569 6 2380 2625 6 2380 2632 6 2380 .I 2381 .T Average Binary Search Length for Dense Ordered Lists (Corrigendum) .B CACM February, 1972 .A Flores, I. Madpis, G. .N CA720210 JB January 31, 1978 3:40 PM .X 2381 5 2381 2381 5 2381 2381 5 2381 .I 2382 .T Reconstruction of Pictures from Their Projections (Corrigendum) .B CACM February, 1972 .A Gordon, R. Herman, G. T. .N CA720209 JB January 31, 1978 3:42 PM .X 2382 5 2382 2382 5 2382 2382 5 2382 .I 2383 .T Music and Computer Composition .W The problem discussed is that of simulating human composition of Western popular music by computer and some relevant theories of music and harmony are given. Problems with this kind of program and several schemes that are known not to work are discussed. Several previous computer compositions are discussed, including the ILLIAC Suite. A program to generate short melody fragments was written to simulate some of the aspects of human composition. Five samples of its output are presented and discussed. It was discovered that although the fragments show many of the characteristics of popular melodies, they have a strangely alien sound. It is theorized that this is because the relevant probabilities which would discriminate against unfamiliar sequences were not used. .B CACM February, 1972 .A Moorer, J. A. .K artificial intelligence, heuristic programming, models of cognitive processes, computer music, computer composition, music theory .C 3.44 3.65 .N CA720208 JB January 31, 1978 3:54 PM .X 2383 5 2383 2383 5 2383 2383 5 2383 .I 2384 .T Hidden-Line Plotting Program [J6] (Algorithm A420) .B CACM February, 1972 .A Williamson, H. .K hidden-line plot, surface plot .C 4.9 .N CA720207 JB January 31, 1978 4:12 PM .X 2384 5 2384 2384 5 2384 2384 5 2384 .I 2385 .T Zeros of a Complex Polynomial [C2] (Algorithm A419) .B CACM February, 1972 .A Jenkins, M. A. Traub, J. F. .K roots, roots of a polynomial, zeros of a polynomial .C 5.15 .N CA720206 JB January 31, 1978 4:14 PM .X 2385 5 2385 2385 5 2385 2385 5 2385 .I 2386 .T Dynamic Microprogramming: Processor Organization and Programming (Corrigendum) .B CACM February, 1972 .A Tucker, A. B. .N CA720205 JB January 31, 1978 4:21 PM .X 2386 5 2386 2386 5 2386 2386 5 2386 .I 2387 .T Maximum Computing Power and Cost Factors in the Centralization Problem .W A simple analysis of some computer-economic factors involved in comparing multimachine installations versus large single machine installations is given, and a mathematical model is derived to assist policy decisions. .B CACM February, 1972 .A Oldehoeft, A. E. Halstead, M. H. .K centralization, decentralization, economics of computers, computer management, economies of scale .C 2.41 .N CA720204 JB January 31, 1978 4:25 PM .X 1653 4 2387 2387 4 2387 2387 4 2387 2852 4 2387 1417 5 2387 2387 5 2387 2387 5 2387 2387 5 2387 2852 5 2387 3050 5 2387 3190 5 2387 1417 6 2387 1771 6 2387 2345 6 2387 2345 6 2387 2387 6 2387 2387 6 2387 2479 6 2387 .I 2388 .T Optimizing Binary Trees Grown With a Sorting Algorithm .W Items can be retrieved from binary trees grown with a form of the Algorithm Quicksort in an average time proportional to log n, where n is the number of items in the tree. The binary trees grown by this algorithm sometimes have some branches longer than others; therefore, it is possible to reduce the average retrieval time by restructuring the tree to make the branches as uniform in length as possible. An algorithm to do this is presented. The use of this algorithm is discussed, and it is compared with another which restructures the tree after each new item is added. .B CACM February, 1972 .A Martin, W. A. Ness, D. N. .K retrieving information from binary trees, global and local optimization, sorting, recursion .C 3.74 5.31 .N CA720203 JB January 31, 1978 4:30 PM .X 1175 4 2388 1919 4 2388 1919 4 2388 1969 4 2388 1997 4 2388 2191 4 2388 2191 4 2388 2388 4 2388 2388 4 2388 2679 4 2388 2783 4 2388 2784 4 2388 3054 4 2388 3054 4 2388 3121 4 2388 3121 4 2388 864 4 2388 308 5 2388 309 5 2388 2388 5 2388 2388 5 2388 2388 5 2388 2455 5 2388 2493 5 2388 2889 5 2388 2968 5 2388 2138 6 2388 2278 6 2388 2388 6 2388 2388 6 2388 2388 6 2388 2388 6 2388 2455 6 2388 2455 6 2388 .I 2389 .T Preliminary Report on a System for General Space Planning .W A computer language and a set of programs within that language are described which allow the formulating and solving of a class of space planning problems. The language is an extension of Algol and includes means to represent spaces and objects, to manipulate them, and to test the resulting arrangements according to a variety of constraints. The algorithms used to solve problems expressed in this language rely on heuristic programming. Both the language and the search algorithms are detailed. .B CACM February, 1972 .A Eastman, C. M. .K automated design, architecture, heuristic programs, space planning .C 3.20 3.40 3.64 3.66 .N CA720202 JB January 31, 1978 4:35 PM .X 2389 4 2389 2078 5 2389 2389 5 2389 2389 5 2389 2389 5 2389 .I 2390 .T A Proposal for a Computer-Based Interactive Scientific Community .W Because of the problems created by the explosion of papers in the mathematical sciences and the drawbacks that this places on research, it is suggested that a tree of all mathematical results and terminology be maintained in a multiterminal computer system. Users of the system can store in the computer an updated file of their current knowledge, and on selecting a paper to read, they can obtain from the computer the minimum subtree of theorems required to bring them from what they already know to the background knowledge which the paper assumes. Under certain conditions, means are also provided for the contribution of useful comments by the readers of a work and for interaction between commentators and with the author. This paper describes how the system can be organized and the role required of readers, writers, and commentators. .B CACM February, 1972 .A Pager, D. .K interactive system, organization of scientific community, readers, writers, commentators, computer utility, information retrieval, trees, data structures .C 1.0 1.1 1.59 2.10 3.15 3.32 3.50 3.51 3.70 3.71 3.74 3.9 .N CA720201 JB February 1, 1978 8:51 AM .X 2390 5 2390 2390 5 2390 2390 5 2390 2519 5 2390 2390 6 2390 .I 2391 .T Unitary Symmetric Polynomials [Z] (Algorithm R391) .B CACM January, 1972 .A Schrack, G. F. .K symmetric polynomials, elementary symmetric polynomials, unitary symmetric polynomials, polynomial synthesis, reverse Horner scheme, reverse synthetic division, binomial coefficients .C 5.11 5.30 5.5 .N CA720112 JB February 1, 1978 8:55 AM .X 2391 5 2391 2391 5 2391 2391 5 2391 .I 2392 .T In-Situ Transposition of a Rectangular Matrix [F1] (Algorithm C380) .B CACM January, 1972 .A Macleod, I. D. G. .K rectangular matrix, transpose .C 5.14 .N CA720111 JB February 1, 1978 8:57 AM .X 2057 4 2392 2057 4 2392 2058 4 2392 2392 4 2392 2392 4 2392 2416 4 2392 1600 5 2392 2055 5 2392 2392 5 2392 2392 5 2392 2392 5 2392 .I 2393 .T Calculation of Fourier Integrals [D1] (Algorithm A418) .B CACM January, 1972 .A Einarsson, B. .K quadrature, Filon quadrature, integration, Filon integration, Fourier coefficients, Fourier integrals, Fourier series, spline, spline approximation, spline quadrature, extrapolation, Richardson extrapolation .C 5.16 .N CA720110 JB February 1, 1978 9:00 AM .X 1857 4 2393 2393 4 2393 2393 4 2393 1858 5 2393 2071 5 2393 2393 5 2393 2393 5 2393 2393 5 2393 .I 2394 .T Ordering +-f(+-f(+-f(...+-f(x)..))) When f(x) Is Positive Monotonic .B CACM January, 1972 .A Salzer, H. E. .K ordering, storage, retrieval, positive functions, monotonic functions, increasing functions, decreasing function, binary system, Chebyshev zeros, square rots, continued fractions .C 5.40 .N CA720109 JB February 1, 1978 9:05 AM .X 2394 4 2394 2394 4 2394 1872 5 2394 1903 5 2394 2394 5 2394 2394 5 2394 2394 5 2394 2533 5 2394 2394 6 2394 .I 2395 .T Quadratic Programming for Nonlinear Regression .W A quadratic programming algorithm is described for use with the magnified diagonal method of nonlinear regression with linear constraints. The regression method is published in JACM, July 1970. .B CACM January, 1972 .A Shrager, R. I. .K nonlinear equations, nonlinear regression, nonlinear programming, quadratic programming, least squares, inequality, constraints, iteration .C 5.15 5.41 .N CA720108 JB February 1, 1978 9:09 AM .X 2395 5 2395 2395 5 2395 2395 5 2395 .I 2396 .T MUSE: A Model To Understand Simple English .W MUSE is a computer model for natural language processing, based on a semantic memory network like that of Quillian's TLC. MUSE, from a Model to Understand Simple English, processes English sentences of unrestricted content but somewhat restricted format. The model first applies syntactic analysis to eliminate some interpretations and then employs a simplified semantic intersection procedure to find a valid interpretation of the input. While the semantic processing is similar to TLC's, the syntactic component includes the early use of parse trees and special purpose rules. The "relational triple" notation used during interpretation of input is compatible with MUSE's memory structures, allowing direct verification of familiar concepts and the addition of new ones. MUSE also has a repertoire of actions, which range from editing and reporting the contents of its own memory to an indirect form of question answering. Examples are presented to demonstrate how the model interprets text, resolves ambiguities, adds information to memory, generalizes from examples and performs various actions. .B CACM January, 1972 .A McCalla, G. I. Sampson, J. R. .K natural language processing, semantic memory, text comprehension, question answering, artificial intelligence, human memory simulation .C 3.36 3.42 3.62 3.65 3.74 .N CA720107 JB February 1, 1978 9:20 AM .X 1400 4 2396 1553 4 2396 1945 4 2396 2127 4 2396 2127 4 2396 2178 4 2396 2309 4 2396 2310 4 2396 2396 4 2396 2396 4 2396 2396 4 2396 2396 4 2396 2561 4 2396 2730 4 2396 1487 5 2396 1856 5 2396 2092 5 2396 2127 5 2396 2396 5 2396 2396 5 2396 2396 5 2396 .I 2397 .T Optimizing the Polyphase Sort (Corrigendum) .B CACM January, 1972 .A Shell, D. L. .N CA720106 JB February 1, 1978 9:21 AM .X 2397 5 2397 2397 5 2397 2397 5 2397 .I 2398 .T Teacher/Student Authored CAI Using the NEWBASIC System .W The pedagogical advantages of a general purpose interactive system called NEWBASIC/CATALYST are discussed. NEWBASIC/CATALYSTincorporates an advanced implementation of BASIC, system-level interactive features, and a general capability for extension through user oriented function attachment, Application of this last feature to provide a flexible CAI scan capability is illustrated. An example of interaction at the system level shows how students can mix the advantages of independent or "solo" mode computing with those of guided or "dual" mode interaction. Preliminary experience with the system in an urban secondary school setting is discussed. .B CACM January, 1972 .A Dwyer, T. A. .K CAI, BASIC, CATALYST, NEWBASIC, education, computers in education, extended languages, interactive systems .C 1.50 1.51 3.32 4.22 .N CA720105 JB February 1, 1978 9:28 AM .X 2309 5 2398 2398 5 2398 2398 5 2398 2398 5 2398 1856 6 2398 2398 6 2398 .I 2399 .T A CRT Editing System .W A test-editing and manipulation program is described. The program operates from low-cost cathode-ray tube entry and display stations with keyboard and 13 function buttons. Applications, potential economy of operation, and some aspects of implementation are discussed. .B CACM January, 1972 .A Irons, E. T. Djorup, F. M. .K editing, text, cathode-ray tube entry display, time-sharing .C 3.7 4.3 .N CA720104 JB February 1, 1978 9:31 AM .X 2399 5 2399 2399 5 2399 2399 5 2399 .I 2400 .T Use of the Hough Transformation ToDetect Lines and Curves in Pictures .W Hough has proposed an interesting and computationally efficient procedure for detecting lines in pictures. This paper points out that the use of angle-radius rather than slope-intercept parameters simplifies the computation further. It also shows how the method can be used for more general curve fitting, and gives alternative interpretations that explain the source of its efficiency. .B CACM January, 1972 .A Duda, R. O. Hart, P. E. .K picture processing, pattern recognition, line detection, curve detection, colinear points, point-line transformation, Hough transformation .C 3.63 .N CA720103 JB February 1, 1978 9:36 AM .X 2400 5 2400 2400 5 2400 2400 5 2400 2788 5 2400 2910 5 2400 2400 6 2400 2400 6 2400 2788 6 2400 .I 2401 .T On Shrinking Binary Picture Patterns .W A parallel processing algorithm for shrinking binary patterns to obtain single isolated elements, one for each pattern, is presented. This procedure may be used for counting patterns on a matrix, and a hardware implementation of the algorithm using large scale integrated technology is envisioned. The principal features of this method are the very small window employed (two-by-two elements), the parallel nature of the process, and the possibility of shrinking any pattern, regardless of the complexity of its configuration. Problems regarding merging and disconnection of patterns during the process as well as the determination of the maximum number of steps necessary to obtain a single isolated element from a pattern, are reviewed and discussed. An analogy with a neural network description, in terms of McCulloch-Pitts "neurons" is presented. .B CACM January, 1972 .A Levialdi, S. .K counting binary patterns, shrinking, parallel processing, multiple connected pictures .C 3.63 .N CA720102 JB February 1, 1978 9:43 AM .X 2401 5 2401 2401 5 2401 2401 5 2401 .I 2402 .T Pictorial Pattern Recognition and the Phase Problem of X-ray Crystallography .W The availability of interactive, three-dimensional, computer graphics systems coupled to powerful digital computers encourages the development of algorithms adapted to this environment. Pictorial pattern recognition techniques make possible a number of approaches to X-ray structure determination based on molecular model building, i.e. the use of chemical information to frame "structural hypotheses" which can computationally be tested and refined by reference to the experimental data. Application of standard pattern recognition algorithms is hindered by the fact that the cross-correlation between a model and the correct structure cannot be computed because of a fundamental incompleteness in the measured data. However, it is possible to compute an upper bound to such a cross-correlation. A simple example demonstrates that this information can be the basis of a technique for structure determination that can make effective use of an interactive graphics system. Model building by cross-correlations has intrinsic advantages over usual crystallographic techniques based on the autocorrelation or Patterson function, especially for large structures. This is significant, for crystallography of biological macromolecules hasbeen and will continue to be a field of intense interest. .B CACM January, 1972 .A Lesk, A. M. .K pictorial pattern recognition, phase problem, X-ray crystallography, interactive graphics .C 3.13 3.17 3.63 .N CA720101 JB February 1, 1978 9:53 AM .X 2402 5 2402 2402 5 2402 2402 5 2402 .I 2403 .T Procedures for Natural Spline Interpolation [E1] (Algorithm A472) .B CACM December, 1973 .A Herriot, J. G. .K approximation, interpolation, spline, natural spline, spline approximation, cubic natural spline .C 5.13 .N CA731205 JB January 19, 1978 2:47 PM .X 2403 5 2403 2403 5 2403 2403 5 2403 .I 2404 .T Exponential Integrals [S13] (Algorithm A471) .B CACM December, 1973 .A Gautschi, W. .K exponential integral, recurrence relations, recursive computation, continued fractions .C 5.12 .N CA731204 JB January 19, 1978 2:48 PM .X 2404 4 2404 2119 5 2404 2404 5 2404 2404 5 2404 2404 5 2404 .I 2405 .T Linear Systems with Almost Tridiagonal Matrix [F4] (Algorithm A470) .B CACM December, 1973 .A Kubicek, M. .K system of linear equations, almost tridiagonal matrix, sparse matrix .C 5.14 .N CA731203 JB January 19, 1978 2:50 PM .X 2405 5 2405 2405 5 2405 2405 5 2405 .I 2406 .T A Data Definition and Mapping Language .W A data definition language i sa declarative computer language for specifying data structures. Most data definition languages concentrate on the declaration of logical data structures with little concern for how these structures are physically realized on a computer system. However, the need for data definition languages which describe both the logical and physical aspects of data is increasingly apparent. Such languages will be a key systems, as well as in advanced data management systems and distributed data bases. This paper reviews past work in the data definition language for describing both logical and physical aspects of data. Applications of these "generalized" data definition languages are also discussed. .B CACM December, 1973 .A Sibley, E. H. Taylor, R. W. .K data definition language, data and storage structure, data translation, data base management systems, file translation .C 3.51 3.70 3.73 4.29 4.82 .N CA731202 JB January 19, 1978 2:58 PM .X 2155 4 2406 2406 4 2406 2710 4 2406 2715 4 2406 2716 4 2406 2717 4 2406 2718 4 2406 2765 4 2406 2817 4 2406 2888 4 2406 2901 4 2406 2957 4 2406 2959 4 2406 2965 4 2406 3087 4 2406 3154 4 2406 2046 5 2406 2406 5 2406 2406 5 2406 2406 5 2406 2717 5 2406 2046 6 2406 2406 6 2406 .I 2407 .T Curriculum Recommendations for Undergraduate Programs in Information Systems .W The need for education related to information systems in organizations is discussed, and a curriculum is proposed for an undergraduate program. Material necessary for such programs is identified, and courses incorporating it are specified.Detailed course descriptions are presented. Program organization and a problems of implementation are discussed. .B CACM December, 1973 .A Couger, J. D. .K education, undergraduate curricula, management systems, information systems, information analysis, system design, systems analysis .C 1.52 3.51 .N CA731201 JB January 19, 1978 3:24 PM .X 2163 4 2407 2345 4 2407 2407 4 2407 2407 4 2407 2407 4 2407 2852 4 2407 3003 4 2407 3003 4 2407 3011 4 2407 3050 4 2407 2163 5 2407 2181 5 2407 2345 5 2407 2407 5 2407 2407 5 2407 2407 5 2407 3003 5 2407 1659 6 2407 1678 6 2407 1927 6 2407 1945 6 2407 2097 6 2407 2147 6 2407 2163 6 2407 2187 6 2407 2329 6 2407 2345 6 2407 2367 6 2407 2407 6 2407 2478 6 2407 2479 6 2407 2480 6 2407 2538 6 2407 .I 2408 .T Solving the Biharmonic Equation in a Square: A Direct Versus a Semidirect Method .W Two methods for solving the biharmonic equation are compared. One method is direct, using eigenvalue-eigenvector decomposition. The other method is iterative, solving a Poisson equation directly at each iteration. .B CACM November, 1973 .A Ehrlich, L. W. .K biharmonic, direct method, block iterative, eigenvector-eigenvalue decomposition .C 5.14 5.17 .N CA731118 JB January 19, 1978 3:28 PM .X 2408 5 2408 2408 5 2408 2408 5 2408 .I 2409 .T An Algorithm for the Approximate Solution of Wiener-Hopf Integral Equations .W An explicit approximate solution is given for an equation. Where it is assumed that the classical Wiener-Hopf technique may be applied. It is furthermore assumed that Fourier transforms are known explicitly. The approximate solution depends on two positive parameters. .B CACM November, 1973 .A Stenger, F. .K integral equations, Wiener-Hopf, convolution, approximate solution .C 5.18 .N CA731117 JB January 19, 1978 3:36 PM .X 2409 5 2409 2409 5 2409 2409 5 2409 .I 2410 .T A Recurrence Scheme for Converting from One Orthogonal Expansion into Another .W A generalization of a scheme of Hamming for converting a polynomial Pn(x) into a Chebyshev series is combined with a recurrence scheme of Clenshaw for summing any finite series whose terms satisfy a three-term recurrence formula. .B CACM November, 1973 .A Salzer, H. E. .K orthogonal expansions, series interconversion, recurrence schemes, Hamming recurrence, Clenshaw recurrence, three-term recurrence, five-term recurrence, Chebyshev series .C 5.12 .N CA731116 JB January 19, 1978 4:16 PM .X 2410 5 2410 2410 5 2410 2410 5 2410 .I 2411 .T Tree-Structured Programs .B CACM November, 1973 .A Wegner, E. .K control structures, flowcharts, goto statements, inductive assertion, least fix points, optimization in compilers, program documentation, program flow graphs, programming language design, proof of programs, semantics of programming languages, structured programming. .C 4.12 4.22 5.24 .N CA731115 JB January 19, 1978 4:19 PM .X 2411 4 2411 2411 4 2411 2457 4 2411 2709 4 2411 2889 4 2411 2937 4 2411 2989 4 2411 3005 4 2411 3025 4 2411 3101 4 2411 2138 5 2411 2326 5 2411 2411 5 2411 2411 5 2411 2411 5 2411 .I 2412 .T Comment on Brent's Scatter Storage Algorithm .B CACM November, 1973 .A Feldman, J. A. Low, J. R. .K Hashing, information storage and retrieval, scatter storage, searching, symbol table .C 3.7 3.73 3.74 4.1 4.9 .N CA731114 JB January 19, 1978 4:40 PM .X 2412 4 2412 3053 4 2412 3083 4 2412 2412 5 2412 2412 5 2412 2412 5 2412 2543 5 2412 3053 5 2412 1329 6 2412 1785 6 2412 1973 6 2412 1992 6 2412 2107 6 2412 2109 6 2412 2412 6 2412 2543 6 2412 2673 6 2412 2707 6 2412 2770 6 2412 .I 2413 .T A Note on Subexpression Ordering in the Execution of Arithmetic Expressions .W A counterexample to the supposed optimality of an algorithm for generating schedules for trees of tasks with unequal execution times is presented. A comparison with the "critical path" heuristic is discussed. .B CACM November, 1973 .A Denning, P. J. Graham, G. S. .K scheduling, tree scheduling, task scheduling, multiprocessor scheduling .C 4.32 8.3 8.1 .N CA731113 JB January 25, 1978 4:24 PM .X 2413 4 2413 2175 5 2413 2413 5 2413 2413 5 2413 2413 5 2413 .I 2414 .T Arithmetic Overa Finite Field [A1] (Algorithm A469) .B CACM November, 1973 .A Lam, C. McKay, J. .K algebra .C 5.19 .N CA731112 JB January 20, 1978 9:25 AM .X 2414 5 2414 2414 5 2414 2414 5 2414 .I 2415 .T Algorithm for Automatic Numerical Integration Over a Finite Interval [D1] (Algorithm A468) .B CACM November, 1973 .A Patterson, T. N. L. .K automatic integration, numerical integration, automatic quadrature, numerical quadrature .C 5.16 .N CA731111 JB January 20, 1978 9:51 AM .X 1352 4 2415 2415 4 2415 2415 4 2415 2415 4 2415 2550 4 2415 1040 5 2415 1982 5 2415 2074 5 2415 2415 5 2415 2415 5 2415 2415 5 2415 .I 2416 .T Matrix Transposition in Place [F1] (Algorithm A467) .B CACM November, 1973 .A Brenner, N. .K transposition, matrix operations, permutations, primitive roots, number theory .C 3.15 5.14 5.39 .N CA731110JB January 20, 1978 9:58 AM .X 2057 4 2416 2058 4 2416 2392 4 2416 2416 4 2416 2416 4 2416 1600 5 2416 2058 5 2416 2416 5 2416 2416 5 2416 2416 5 2416 .I 2417 .T Four Combinatorial Algorithms [G6] (Algorithm A466) .B CACM November, 1973 .A Ehrlich, G. .K permutations and combinations .C 5.39 .N CA731109 JB January 20, 1978 9:59 AM .X 2044 4 2417 2189 4 2417 2417 4 2417 2505 4 2417 2874 4 2417 2908 4 2417 2417 5 2417 2417 5 2417 2417 5 2417 2834 5 2417 2884 5 2417 521 5 2417 3115 5 2417 907 6 2417 969 6 2417 2045 6 2417 2045 6 2417 2417 6 2417 2417 6 2417 2417 6 2417 2466 6 2417 2466 6 2417 2884 6 2417 579 6 2417 785 6 2417 .I 2418 .T Student's t Frequency [S14] (Algorithm A465) .B CACM November, 1973 .A Hill, G. W. .K Student's t statistic, density function, series approximation .C 5.12 5.5 .N CA731108 JB January 20, 1978 10:01 AM .X 2418 5 2418 2418 5 2418 2418 5 2418 .I 2419 .T Eigenvalues of a Real, Symmetric, Tridiagonal Matrix [F2] (Algorithm A464) .B CACM November, 1973 .A Reinsch, C. H. .K eigenvalues, QR Algorithm .C 5.14 .N CA731107 JB January 20, 1978 10:03 AM .X 2419 5 2419 2419 5 2419 2419 5 2419 2825 5 2419 2419 6 2419 .I 2420 .T Experiments with an Automatic Theorem-Prover HavingPartial Ordering Inference Rules .W Automatic theorem-provers need to be made much more efficient. With this in mind, Slagle has shown how the axioms for partial ordering can be replaced by built-in inference rules when using a particular theorem-proving algorithm based upon hyper-resolution and paramodulation. The new rules embody the transitivity of partial orderings and the close relationship between predicates. A program has been developed using a modified version of these rules. This new theorem-prover has been found to be very powerful for solving problems involving partial orderings. This paper presents a detailed description of the program and a comprehensive account of the experiments that have been performed with it. .B CACM November, 1973 .A Slagle, J. R. Norton, L. M. .K theorem-proving, partial ordering, resolution, hyper-resolution, P1-resolution, paramodulation, inference rules, heuristics .C 3.64 3.66 .N CA731106 JB January 20, 1978 10:10 AM .X 2356 4 2420 2420 4 2420 2874 4 2420 3143 4 2420 2227 5 2420 2420 5 2420 2420 5 2420 2420 5 2420 .I 2421 .T A Scan Conversion Algorithm with Reduced Storage Requirements .W Most graphics systems using a raster scan output device (CRT or hardcopy) maintain a display file in the XY or random scan format. Scan converters, hardware or software, must be provided to translate the picture description from the XY format to the raster format. Published scan conversion algorithms which are fast will reserve a buffer area large enough to accommodate the entire screen. On the other hand, those which use a small buffer area are slow because they require multiple passes through the XY display file. The scan conversion algorithm described here uses a linked list data structure to process the lines of the drawing in strips corresponding to groups of scan lines. A relatively small primary memory buffer area is used to accumulate the binary image for a group of scan lines. When this portion of the drawing has been plotted, the buffer is reused for the next portion. Because of the list processing procedures used, only a single pass through the XY display file is required when generating the binary image and only a slight increase in execution time over the fully buffered core results. Results slow that storage requirements can be reduced by more than 80 percent while causing less than a 10 percent increase in execution time. .B CACM November, 1973 .A Jordan, B. W. Jr. Barrett, R. C. .K graphics, scan conversion, raster plotter, line drawing, discrete image, dot generation .C 4.41 6.35 8.2 .N CA731105 JB January 20, 1978 10:28 AM .X 1891 4 2421 2211 4 2421 2421 4 2421 2421 4 2421 2674 4 2421 2687 4 2421 1741 5 2421 2211 5 2421 2421 5 2421 2421 5 2421 2421 5 2421 2674 5 2421 1741 6 2421 2004 6 2421 2421 6 2421 2687 6 2421 .I 2422 .T Adaptive Correction of Program Statements (Corrigendum) .B CACM November, 1973 .A James, E. B. Partridge, D. P. .N CA731104 JB January 20, 1978 10:29 AM .X 2422 5 2422 2422 5 2422 2422 5 2422 .I 2423 .T A Parser-Generating System for Constructing Compressed Compilers .W This paper describes a parser-generating system (PGS) currently in use on the CDC-6500 computer at Purdue University. The PGS is a Fortran-coded compiler. In the input translation grammar, each BNF syntactic rule corresponds to a (possibly empty) "code generator" realizable as an assembly language, Fortran or Algol, subroutine that is called whenever that syntactic rule is applied in the parse of a program. Typical one-pass compilers constructed by the PGS translate source programs at speeds approaching 14,000 cards per minute. For an XPL compiler, the parser program and its tables currently occupy 288 words of 60-bit core memory of which 140 words are parsing table entries and 82 words are links to code generators. .B CACM November, 1973 .A Mickunas, M. D. Schneider, V. B. .K parser generators, translator writing systems, syntactic analysis, normal-form grammars, pushdown automata, translation grammars, translator optimization, compression algorithm .C 4.12 5.22 5.23 .N CA731103 JB January 20, 197810:41 AM .X 2179 4 2423 2423 4 2423 2423 4 2423 1337 5 2423 2015 5 2423 2423 5 2423 2423 5 2423 2423 5 2423 2733 5 2423 1781 6 2423 2179 6 2423 2423 6 2423 2786 6 2423 799 6 2423 .I 2424 .T Dynamic Verification of Operating System Decisions .W Dynamic verification of a decision implies that every time the decision is made there is a consistency check performed on the decision using independent hardware and software. The dynamic verification of operating system decisions is used on the PRIME system being designed and constructed at the University of California, Berkeley. PRIME is an experimental time-sharing which is to have the properties of continuous availability, data privacy, and cost effectiveness. The technique of dynamic verification allows the construction of an operating system which does not make certain decisions improperly even in the presence of a single hardware or software fault. Furthermore, multiple faults lead to unreliable operation only if the faults happen to reinforce each other. On PRIME, dynamic verification is used to ensure that one user's information cannot become available to another user gratuitously even in the presence of a single hardware or software fault.the amount of additional hardware and software required for dynamic verification can be modest. .B CACM November, 1973 .A Fabry, R. S. .K operating systems, data security, fault tolerance, software reliability, data privacy, program verification, modular computer systems .C 4.32 .N CA731102 JB January 20, 1978 10:56 AM .X 1828 4 2424 1854 4 2424 1877 4 2424 1960 4 2424 2150 4 2424 2317 4 2424 2319 4 2424 2377 4 2424 2342 4 2424 2376 4 2424 2379 4 2424 2424 4 2424 2482 4 2424 2618 4 2424 2632 4 2424 2704 4 2424 2723 4 2424 2738 4 2424 2740 4 2424 2741 4 2424 2867 4 2424 3184 4 2424 1749 5 2424 2424 5 2424 2424 5 2424 2424 5 2424 .I 2425 .T The Programmer as Navigator .B CACM November, 1973 .A Bachman, C. W. .N CA731101 JB January 20, 1978 10:59 AM .X 2425 4 2425 2313 5 2425 2425 5 2425 2425 5 2425 2425 5 2425 .I 2426 .T Algorithms SCALE1, SCALE2, and SCALE3 for Determination of Scales on Computer Generated Plots [J6] (Algorithm A463) .B CACM October, 1973 .A Lewart, C. R. .K plotting, scaling for plotting .C 4.41 .N CA731014 JB January 20, 1978 11:01 AM .X 2426 5 2426 2426 5 2426 2426 5 2426 .I 2427 .T Bivariate Normal Distribution [S15] (Algorithm A462) .B CACM October, 1973 .A Donnelly,T. G. .K bivariate, normal Gaussian, frequency distribution .C 5.5 .N CA731013 JB January 20, 1978 11:03 AM .X 1987 4 2427 2427 4 2427 2427 4 2427 1581 5 2427 1636 5 2427 2427 5 2427 2427 5 2427 2427 5 2427 .I 2428 .T Cubic Spline Solutions to a Class of Functional Differential Equations [D2] (Algorithm A461) .B CACM October, 1973 .A Burkowski, F. J. Hoskins, W. D. .K differential equation, spline approximation .C 5.17 .N CA731012 JB January 20, 1978 11:06 AM .X 2428 5 2428 2428 5 2428 2428 5 2428 .I 2429 .T Calculation of Optimum Parameters for Alternating Direction Implicit Procedures [D3] (Algorithm A460) .B CACM October, 1973 .A Saylor, P. E. Sebastian, J. D. .K elliptic difference equations, Peaceman-Rachford, Douglas-Rachford, W. B. Jordan, optimum parameters, alternating-direction-implicit, ADI .C 5.14 5.17 .N CA731011 JB January 20, 1978 11:09 AM .X 2429 5 2429 2429 5 2429 2429 5 2429 .I 2430 .T The Elementary Circuits of a Graph [H] (Algorithm A459) .B CACM October, 1973 .A Syslo,M. M. .K algorithm, graph theory, circuit search algorithm, path search algorithm, searching .C 3.74 4.22 5.32 .N CA731010 JB January 20, 1978 11:11 AM .X 2430 4 2430 1961 5 2430 2430 5 2430 2430 5 2430 2430 5 2430 .I 2431 .T Discrete Linear L1 Approximation by interval Linear Programming [E2] (Algorithm A458) .B CACM October, 1973 .A Robers, P. D. Robers, S. S. .K discrete approximation, L1 approximation .C 5.13 5.41 .N CA731009 JB January 20, 1978 11:13 AM .X 2431 5 2431 2431 5 2431 2431 5 2431 .I 2432 .T Addendum to a Multiple-Precision Division Algorithm .B CACM October, 1973 .A Mifsud, C. J. Bohlen, M. J. .K multiple-precision, division, overflow .C 3.15 4.0 5.1 .N CA731008 JB January 20, 1978 11:15 AM .X 2432 4 2432 1975 5 2432 2432 5 2432 2432 5 2432 2432 5 2432 .I 2433 .T Control Structures in Illiac IV Fortran .W As part of an effort to design and implement a Fortran compiler on the ILLIAC IV, an extended Fortran, called IVTRAN, has been developed. This language provides a means of expressing data and control structures suitable for exploiting ILLIAC IV parallelism. This paper reviews the hardware characteristics of the ILLIAC and singles out unconventional features which could be expected to influence language (and compiler) design. The implications of these features for data layout and algorithm structure are discussed, and the conclusion is drawn that data allocation rather than code structuring is the crucial ILLIAC optimization problem. A satisfactory method of data allocation is then presented. Language structures to utilize this storage method and express parallel algorithms are described. .B CACM October, 1973 .A Millstein, R. E. .K array processing, parallelism detection, explicit parallelism, array allocation, parallel control structures, ILLIAC IV Fortran .C 4.12 4.21 4.22 .N CA731007 JB January 20, 1978 11:30 AM .X 2433 5 2433 2433 5 2433 2433 5 2433 2785 5 2433 2433 6 2433 2685 6 2433 .I 2434 .T Using Page Residency To Select the Working Set Parameter .W Denning's method for selecting the working set parameter, which uses interreference intervals, is examined. Several omissions in his model are noted, and new assumptions are introduced to overcome these omissions. Using this modified model, Dening's results on page residency are rederived and reconsidered for selecting the working set parameter. .B CACM October, 1973 .A Prieve, B. G. .K working set model, paging, program behavior,program modeling .C 4.3 .N CA731006 JB January 20, 1978 11:34 AM .X 1892 4 2434 1901 4 2434 2085 4 2434 2095 4 2434 2218 4 2434 2277 4 2434 2319 4 2434 2329 4 2434 2358 4 2434 2373 4 2434 2380 4 2434 2434 4 2434 2499 4 2434 2501 4 2434 2582 4 2434 2669 4 2434 2828 4 2434 2863 4 2434 2881 4 2434 2928 4 2434 2996 4 2434 3006 4 2434 3067 4 2434 1751 5 2434 2434 5 2434 2434 5 2434 2434 5 2434 .I 2435 .T A Class of Dynamic Memory Allocation Algorithms .W Anew dynamic memory allocation algorithm, the Fibonacci system, is introduced. This algorithm is similar to, but seems to have certain advantages over, the "buddy" system. A generalization is mentioned which includes both of these systems as special cases. .B CACM October, 1973 .A Hirschberg, D. S. .K dynamic storage allocation, buddy system, simulation, Fibonacci, fragmentation .C 3.89 4.32 4.39 .N CA731005 JB January 20, 1978 11:38 AM .X 1389 4 2435 1552 4 2435 2162 4 2435 2435 4 2435 2596 4 2435 2768 4 2435 2845 4 2435 2902 4 2435 2955 4 2435 1184 5 2435 2435 5 2435 2435 5 2435 2435 5 2435 2596 5 2435 2747 5 2435 2768 5 2435 2845 5 2435 2902 5 2435 2911 5 2435 2955 5 2435 1051 6 2435 1062 6 2435 1184 6 2435 1184 6 2435 1184 6 2435 1184 6 2435 1184 6 2435 1211 6 2435 1552 6 2435 1879 6 2435 1879 6 2435 1879 6 2435 273 6 2435 2435 6 2435 2435 6 2435 2435 6 2435 2435 6 2435 2435 6 2435 2435 6 2435 2435 6 2435 2498 6 2435 2596 6 2435 2596 6 2435 2598 6 2435 2734 6 2435 2734 6 2435 2736 6 2435 2747 6 2435 2747 6 2435 2747 6 2435 2768 6 2435 2768 6 2435 2773 6 2435 2773 6 2435 2983 6 2435 .I 2436 .T A Note on the Confinement Problem .W This note explores the problem of confining a program during its execution so that it cannot transmit information to any other program except its caller. A set of examples attempts to stake out the boundaries of the problem. Necessary conditions for a solution are stated and informally justified. .B CACM October, 1973 .A Lampson, B. W. .K protection, confinement, proprietary program, privacy, security, leakage of data .C 2.11 4.30 .N CA731004 JB January 20, 1978 11:41 AM .X 2436 4 2436 2626 4 2436 2868 4 2436 2870 4 2436 2377 5 2436 2436 5 2436 2436 5 2436 2436 5 2436 2840 5 2436 2869 5 2436 3128 5 2436 3158 5 2436 1471 6 2436 1746 6 2436 2150 6 2436 2356 6 2436 2376 6 2436 2436 6 2436 2436 6 2436 2436 6 2436 2436 6 2436 2597 6 2436 2626 6 2436 2629 6 2436 2865 6 2436 2866 6 2436 2870 6 2436 2912 6 2436 3038 6 2436 3082 6 2436 3111 6 2436 .I 2437 .T General Performance Analysis of Key-to-Address Transformation Methods Using an Abstract File Concept .W This paper presents a new approach to the analysis of performance of the various key-to-address transformation methods. In this approach the keys in a file are assumed to have been selected from the key space according to a certain probabilistic selection algorithm. All files with the same number of keys selected from this key space will be suitably weighted in accordance with the algorithm, and the average performance of the transformation methods on these files will be used as the potential of these methods. Using this analysis, methods with the same overall performance can be classified and key distributions partial to certain transformations can be identified. All this can be done analytically. The approach is applied to a group of transformation methods using files whose keys are selected randomly. .B CACM October, 1973 .A Lum, V. Y. .K hashing, hashing techniques, hashing methods, hash coding, key transformation, key-to-address transformation, direct addressing, randomizing, random access, scatter storage, information retrieval, hashing analysis, randomization performance analysis .C 3.7 3.72 3.73 3.74 3.79 4.9 5.9 .N CA731003 JB January 20, 1978 11:51 AM .X 2258 4 2437 2319 4 2437 2313 4 2437 2359 4 2437 2437 4 2437 2552 4 2437 2781 4 2437 2860 4 2437 2991 4 2437 2203 5 2437 2437 5 2437 2437 5 2437 2437 5 2437 .I 2438 .T A Model and Stack Implementation of Multiple Environments .W Many control and access environment structures require that storage for a procedure activation exist at times when control is not nested within the procedure activated. This is straightforward to implement by dynamic storage allocation with linked blocks for each activation, but rather expensive in both time and space. This paper presents an implementation technique using a single stack to hold procedure activation storage which allows retention of that storage for durations not necessarily tied to control flow. The technique has the property that, in the simple case,it runs identically to the usual automatic stack allocation and deallocation procedure. Applications of this technique to multitasking, coroutines, backtracking, label-valued variables, and functional arguments are discussed. In the initial model, a single real processor is assumed, and the implementation assumes multiple-processes coordinate by passing control explicitly to one another. A multiprocessor implementation requires only a few changes to the basic technique, as described. .B CACM October, 1973 .A Bobrow, D. G. Wegbreit, B. .K control structures, environments, stack allocation, dendrarchy, retention, dynamic storage allocation, access environments, FUNARG problem, multitasking, coroutines, backtracking, label-valued variables, functional arguments, multiprocessor systems, extensible control structures .C 4.1 4.2 4.22 4.3 4.32 5.24 .N CA731002 JB January 23, 1978 8:27 AM .X 1972 4 2438 2156 4 2438 2168 4 2438 2438 4 2438 2438 4 2438 2723 4 2438 2736 4 2438 2833 4 2438 2855 4 2438 3074 4 2438 3112 4 2438 1826 5 2438 2314 5 2438 2438 5 2438 2438 5 2438 2438 5 2438 2625 5 2438 2922 5 2438 3081 5 2438 3101 5 2438 3112 5 2438 106 6 2438 1380 6 2438 1471 6 2438 1753 6 2438 1826 6 2438 1972 6 2438 2138 6 2438 2193 6 2438 2358 6 2438 2438 6 2438 2438 6 2438 2438 6 2438 2438 6 2438 2438 6 2438 2723 6 2438 2736 6 2438 2833 6 2438 2838 6 2438 3185 6 2438 731 6 2438 .I 2439 .T Multiple Terminals Under User Program Control in a Time-Sharing Environment .W User-written programs on the Dartmouth Time-Sharing system can communicate with many remote terminals simultaneously and can control the interactions between these terminals. Such programs can be written using standard input and output instructions in any language available on the system. This paper describes how this multiple-terminal facility was implemented without requiring any changes in the system executive or in any of the system's compilers or interpreters. .B CACM October, 1973 .A McGeachie, J. S. .K DTSS, multiple terminals, remote terminals, remote consoles, time-sharing, on-line interaction, on-line games .C 3.81 4.32 .N CA731001 JB January 23, 1978 8:33 AM .X 2439 5 2439 2439 5 2439 2439 5 2439 .I 2440 .T Localization of the Roots of a Polynomial (Algorithm R429) .B CACM September, 1973 .A Driessen, H. B. Hunt, E. W. LeM. .N CA730915 JB January 23, 1978 8:34 AM .X 2440 5 2440 2440 5 2440 2440 5 2440 .I 2441 .T Hidden-Line Plotting Program (Algorithm R420) .B CACM September, 1973 .A Williamson, H. .N CA730914 JB January 23, 1978 8:36 AM .X 2441 5 2441 2441 5 2441 2441 5 2441 .I 2442 .T A Sparse Matrix Package (Algorithm R408) .B CACM September, 1973 .A Lawrence, E. E. .N CA730913 JB January 23, 1978 8:37 AM .X 2442 5 2442 2442 5 2442 2442 5 2442 .I 2443 .T Generation of Permutations in Lexicographic Order (Algorithm R323) .B CACM September, 1973 .A Roy, M. K. .N CA730912 JB January 23, 1978 8:39 AM .X 2443 4 2443 2443 5 2443 2443 5 2443 2443 5 2443 747 5 2443 .I 2444 .T Finding All Cliques of an Undirected Graph (Algorithm A457) .B CACM September, 1973 .A Bron, C. Kerbosch, J. .K cliques, maximal complete subgraphs, clusters, backtracking algorithm, branch and bound technique, recursion .C 3.71 5.32 .N CA730911 JB January 23, 1978 8:44 AM .X 2444 5 2444 2444 5 2444 2444 5 2444 .I 2445 .T Routing Problem (Algorithm A456) .B CACM September, 1973 .A Fencl, Z. .K routing problem, shortest path, traveling salesman problem, Hamiltonian circuit .C 5.40 .N CA730910 JB January 23, 1978 8:47 AM .X 2445 5 2445 2445 5 2445 2445 5 2445 .I 2446 .T Analysis of Skew Representations of the Symmetric Group (Algorithm A455) .B CACM September, 1973 .A Hunter, D. B. Williams, J. M. .K symmetric group, skew representation, partition, Young diagram, lattice permutation, binary model, outer product .C 5.30 .N CA730909 JB January 23, 1978 8:49 AM .X 2446 5 2446 2446 5 2446 2446 5 2446 .I 2447 .T Sard Kernels for Certain Bivariate Cubatures .W An error analysis for some bivariate cubatures is given. The remainders are obtained by the use of Sard kernels. Numerical results and computer graphs are given for some of the kernel functions. .B CACM September, 1973 .A Barnhill, R. E. Pilcher, D. T. .K cubatures, Sard kernels, numerical integration, remainder formulas .C 5.13 5.16 .N CA730908 JB January 23, 1978 8:52 AM .X 2447 5 2447 2447 5 2447 2447 5 2447 .I 2448 .T Reversible Execution .B CACM September, 1973 .A Zelkowitz, M. V. .K debugging, PL/I, reversible execution, backtracking .C 4.22 4.42 .N CA730907 JB January 23, 1978 8:54 AM .X 2448 5 2448 2448 5 2448 2448 5 2448 .I 2449 .T A Simple Technique for Structured Variable Lookup .W A simple technique for the symbol-table lookup of structured variables based on simple automata theory is presented. The technique offers a deterministic solution to a problem which is currently handled in a nondeterministic manner in PL/I and COBOL compilers. .B CACM September, 1973 .A Gates, G. W. Poplawski, D. A. .K symbol table organization, PL/I and COBOL structured variables .C 4.12 .N CA730906 JB January 23, 1978 9:17 AM .X 2449 5 2449 2449 5 2449 2449 5 2449 2659 5 2449 2449 6 2449 .I 2450 .T Empirical Working Set Behavior .W The working set model for program behavior has been proposed in recent years as a basis for the design of scheduling and paging algorithms. Although the words "working set" are now commonly encountered in the literature dealing with resource allocation, there is a dearth of published data on program measurements, in the hope that workers in the field might find experimental evidence upon which to substantiate and base theoretical work. .B CACM September, 1973 .A Rodriguez-Rosell, J. .K virtual memory, paging, working set, software measurement, program behavior .C 4.3 .N CA730905 JB January 23, 1978 9:22 AM .X 2373 4 2450 2374 4 2450 2380 4 2450 2450 4 2450 2450 4 2450 2595 4 2450 2996 4 2450 3006 4 2450 3006 4 2450 3067 4 2450 3067 4 2450 2373 5 2450 2374 5 2450 2450 5 2450 2450 5 2450 2450 5 2450 .I 2451 .T Design of Tree Structures for Efficient Querying .W A standard information retrieval operation is to determine which records in a data collection satisfy a given query expressed in terms of data values. The process of locating the desired responses can be represented by a tree search model. This paper poses an optimization problem in the design of such trees to serve a well-specified application. The problem is academic in the sense that ordinarily the optimal tree cannot be implemented by means of practical techniques. On the other hand, it is potentially useful for the comparison it affords between observed performance and that of an intuitively attractive ideal search procedure. As a practical application of such a model this paper considers the design of a novel tree search scheme based on a bit vector representation of data and shows that essentially the same algorithm can be used to design either an ideal search tree or a bit-vector tree. An experimental study of a small formatted file illustrates the concepts. .B CACM September, 1973 .A Casey, R. G. .K tree file, information storage and retrieval, clustering, search, data structure, data management, query answering .C 3.62 3.74 .N CA730904 JB January 23, 1978 9:38 AM .X 1050 4 2451 1234 4 2451 1935 4 2451 1936 4 2451 2017 4 2451 2032 4 2451 2257 4 2451 2257 4 2451 2360 4 2451 2360 4 2451 2451 4 2451 2451 4 2451 2451 4 2451 2451 4 2451 2452 4 2451 2452 4 2451 2556 4 2451 2556 4 2451 2765 4 2451 2978 4 2451 944 5 2451 1935 5 2451 1936 5 2451 2451 5 2451 2451 5 2451 2451 5 2451 2765 5 2451 2965 5 2451 849 5 2451 1936 6 2451 1976 6 2451 2046 6 2451 2046 6 2451 2451 6 2451 2451 6 2451 2452 6 2451 616 6 2451 .I 2452 .T Evaluation and Selection of File Organization-A Model and System .W This work first discusses the factors that affect file (data base) organization performance, an elusive subject, and then presents a methodology, a model and a programmed system to estimate primarily total storage costs and average access time of several file organizations, given a specific data base, query characterization and device-related specifications. Based on these estimates, an appropriate file structure may be selected for the specific situation. The system is a convenient tool to study file structures and to facilitate as much as possible the process of data base structure design and evaluation. .B CACM September, 1973 .A Cardenas, A. F. .K file organization, file structures, file management, file organization performance, file organization model, file structure design, secondary index organization, simulation, data base, access time, storage requirement, data base analysis, data management .C 3.70 3.71 3.72 3.74 3.79 4.0 .N CA730903 JB January 23, 1978 9:46 AM .X 1050 4 2452 1935 4 2452 1936 4 2452 2017 4 2452 2032 4 2452 2140 4 2452 2257 4 2452 2257 4 2452 2360 4 2452 2360 4 2452 2451 4 2452 2451 4 2452 2452 4 2452 2452 4 2452 2452 4 2452 2452 4 2452 2556 4 2452 2765 4 2452 2765 4 2452 2882 4 2452 2901 4 2452 3134 4 2452 1936 5 2452 1976 5 2452 2198 5 2452 2452 5 2452 2452 5 2452 2452 5 2452 2765 5 2452 2882 5 2452 849 5 2452 1936 6 2452 1976 6 2452 2046 6 2452 2198 6 2452 2451 6 2452 2452 6 2452 2452 6 2452 616 6 2452 627 6 2452 .I 2453 .T Information Theory Applied to the Conversion of Decision Tables to Computer Programs .W Using ideas from information theory, this paper develops a heuristic algorithm that converts a limited entry decision table to a tree structured computer program with near minimum average processing time. The method is applicable to any limited entry decision table and does not require that actions have single rules or that the cost of testing conditions be equal. It is thus more general than the previously published heuristic algorithms. Compared to the optimal algorithm of Reinwald and Soland, this algorithm is easy to code and takes a much smaller translation time; it is thus felt that it is more useful in practice. The algorithm is well suited for manual conversion of decision tables to flowcharts. .B CACM September, 1973 .A Ganapathy, S. Rajaraman, V. .K decision tables, optimum computer programs, information measure .C 3.50 4.12 5.6 .N CA730902 JB January 23, 1978 10:01 AM .X 1237 4 2453 1354 4 2453 1549 4 2453 1564 4 2453 1684 4 2453 2053 4 2453 2053 4 2453 2220 4 2453 2220 4 2453 2221 4 2453 2273 4 2453 2273 4 2453 2273 4 2453 2273 4 2453 2453 4 2453 2453 4 2453 2453 4 2453 2453 4 2453 2453 4 2453 2517 4 2453 2598 4 2453 2598 4 2453 2726 4 2453 2726 4 2453 2726 4 2453 2856 4 2453 2856 4 2453 2856 4 2453 2856 4 2453 3034 4 2453 3113 4 2453 1172 5 2453 1354 5 2453 2053 5 2453 2220 5 2453 2453 5 2453 2453 5 2453 2453 5 2453 2598 5 2453 2856 5 2453 753 5 2453 1172 6 2453 1172 6 2453 1327 6 2453 1354 6 2453 1548 6 2453 2053 6 2453 2220 6 2453 2220 6 2453 2263 6 2453 2453 6 2453 2453 6 2453 2598 6 2453 2691 6 2453 .I 2454 .T Computational Algorithms for Closed Queueing Networks with Exponential Servers .W Methods are presented for computing the equilibrium distribution of customers in closed queueing networks with exponential servers. Expressions for various marginal distributions are also derived. The computational algorithms are based on two-dimensional iterative techniques which are highly efficient and quite simple to implement. Implementation considerations such as storage allocation strategies and order of evaluation are examined in some detail. .B CACM September, 1973 .A Buzen, J. P. .K queueing theory, queueing networks, equilibrium distributions, steady state distributions .C 5.12 5.5 8.1 8.3 .N CA730901 JB January 23, 1978 10:07 AM .X 2454 5 2454 2454 5 2454 2454 5 2454 2712 5 2454 2741 5 2454 3070 5 2454 1526 6 2454 1749 6 2454 1805 6 2454 2454 6 2454 2454 6 2454 2454 6 2454 2741 6 2454 2988 6 2454 .I 2455 .T A Generalization of AVL Trees .W A generalization of AVL trees is proposed in which imbalances up to (triangle shape) is a small integer. An experiment is performed to compare these trees with standard AVL trees and with balanced trees on the basis of mean retrieval time, of amount of restructuring expected, and on the worst case of retrieval time. It is shown that, by permitting imbalances of up to five units, the retrieval time is increased a small amount while the amount of restructuring required is decreased by a factor of ten. A few theoretical results are derived, including the correction of an earlier paper, and are duly compared with the experimental data. Reasonably good correspondence is found. .B CACM August, 1973 .A Foster, C. C. .K AVL trees, balanced trees, information storage and retrieval .C 3.7 3.72 4.49 5.31 .N CA730819 JB January 23, 1978 10:13 AM .X 2455 4 2455 2455 4 2455 2493 4 2455 2889 4 2455 2968 4 2455 2278 5 2455 2388 5 2455 2455 5 2455 2455 5 2455 2455 5 2455 2889 5 2455 2968 5 2455 3042 5 2455 2138 6 2455 2388 6 2455 2388 6 2455 2455 6 2455 2455 6 2455 2455 6 2455 2839 6 2455 2889 6 2455 2968 6 2455 .I 2456 .T On the Capabilities of While, Repeat, and Exit Statements .W A well-formed program is defined as a program in which loops and if statements are properly nested and can be entered only at their beginning. A corresponding definition is given for a well-formed flowchart. It is shown that a program is well formed if and only if it can be written with if, repeat, and multi-level exit statements for sequence control. It is also shown that if,while, and repeat statements with single-level exit do not suffice. It is also shown that any flowcharts can be converted to a well-formed flowchart by node splitting. Practical implications are discussed. .B CACM August, 1973 .A Peterson, W. W. Kasami, T. Tokura, N. .K well-formed program, while statement, repeat statement, exit statement, go to statement, flowchart, node splitting, software reliability .C 4.39 4.49 5.29 .N CA730818 JB January 23, 1978 10:20 AM .X 2456 5 2456 2456 5 2456 2456 5 2456 2709 5 2456 3004 5 2456 3121 5 2456 1312 6 2456 1425 6 2456 1425 6 2456 308 6 2456 309 6 2456 2138 6 2456 2204 6 2456 2247 6 2456 2356 6 2456 2456 6 2456 2456 6 2456 2456 6 2456 2477 6 2456 2709 6 2456 3186 6 2456 .I 2457 .T Inductive Methodsfor Proving Properties of Programs .W There are two main purposes in this paper: first, clarification and extension of known results about computation of recursive programs, with emphasis on the difference between the theoretical and practical approaches; second, presentation and examination of various known methods for proving properties of recursive programs. Discussed in detail are two powerful inductive methods computational induction and structural induction, including examples of their applications. .B CACM August, 1973 .A Manna, Z. Nes, S. Vuillemin, J. .K recursive programs, least fixed point, computational induction, structural induction .C 4.2 5.23 5.24 .N CA730817 JB January 23, 1978 10:24 AM .X 2326 4 2457 2411 4 2457 2457 4 2457 2457 4 2457 2842 4 2457 2903 4 2457 2192 5 2457 2326 5 2457 2457 5 2457 2457 5 2457 2457 5 2457 2981 5 2457 3030 5 2457 3077 5 2457 3104 5 2457 210 6 2457 1834 6 2457 2060 6 2457 2247 6 2457 2356 6 2457 2457 6 2457 2457 6 2457 2457 6 2457 2457 6 2457 2651 6 2457 2683 6 2457 2958 6 2457 2972 6 2457 .I 2458 .T Localization of the Roots of a Polynomial (Algorithm R429) .B CACM August, 1973 .A Williams, E. J. .N CA730816 JB January 23, 1978 10:26 AM .X 2458 5 2458 2458 5 2458 2458 5 2458 .I 2459 .T Hu-Tucker Minimum Redundancy Alphabetic Coding Method (Algorithm R428) .B CACM August, 1973 .A Byrne, J. G. .N CA730815 JB January 23, 1978 10:27 AM .X 2346 4 2459 2459 4 2459 1114 5 2459 2459 5 2459 2459 5 2459 2459 5 2459 .I 2460 .T Clenshaw-Curtis Quadrature (Algorithm R424) .B CACM August, 1973 .A Good, A. J. .N CA730814 JB January 23, 1978 10:29 AM .X 2460 5 2460 2460 5 2460 2460 5 2460 .I 2461 .T Graph Plotter (Algorithm R412) .B CACM August, 1973 .A Watkins, R. P. .N CA730813 JB January 23, 1978 10:30 AM .X 2461 5 2461 2461 5 2461 2461 5 2461 .I 2462 .T An Efficient Prime Number Generator (Algorithm R357) .B CACM August, 1973 .A DeMorgan, R. M. .N CA730812 JB January 23, 1978 10:31 AM .X 2462 5 2462 2462 5 2462 2462 5 2462 .I 2463 .T Complex Gamma Function (Algorithm R404,C404) .B CACM August, 1973 .A Andrejkova, G. Vinar, J. .N CA730811 JB January 23, 1978 10:33 AM .X 2463 5 2463 2463 5 2463 2463 5 2463 .I 2464 .T The Complex Method for Constrained Optimization [E4] (Algorithm A454) .B CACM August, 1973 .A Richardson, J. A. Kuester, J. L. .K optimization, constrained optimization, Box's algorithm .C 5.41 .N CA730810 JB January 23, 1978 10:34 AM .X 2464 5 2464 2464 5 2464 2464 5 2464 .I 2465 .T Gaussian Quadrature formulas for Bromwich's Integral [D1] (Algorithm A453) .B CACM August, 1973 .A Piessens, R. .K Gaussian quadrature, Bromwich's integral, complex integration, numerical inversion of the Laplace transform .C 5.16 5.13 .N CA730809 JB January 23, 1978 10:37 AM .X 2465 5 2465 2465 5 2465 2465 5 2465 .I 2466 .T Enumerating Combinations of m Out of n Objects [G6] (Algorithm A452) .B CACM August, 1973 .A Liu, C. N Tang, D. T. .K permutations, combination .C 5.30 .N CA730808 JB January 23, 1978 10:39 AM .X 2466 4 2466 2834 4 2466 3115 4 2466 2045 5 2466 2466 5 2466 2466 5 2466 2466 5 2466 2834 5 2466 3115 5 2466 907 6 2466 969 6 2466 2045 6 2466 2045 6 2466 2417 6 2466 2417 6 2466 2466 6 2466 2466 6 2466 2884 6 2466 579 6 2466 785 6 2466 .I 2467 .T Chi-Square quantiles [G1] (Algorithm A451) .B CACM August, 1973 .A Goldstein, R. B. .K Chi-square, asymptotic approximation, normal deviate, chi-square deviate, degrees of freedom .C 5.12 5.5 .N CA730807 JB January 23, 1978 10:41 AM .X 2467 4 2467 2793 4 2467 1606 5 2467 2467 5 2467 2467 5 2467 2467 5 2467 .I 2468 .T Rosenbrock Function Minimization [E4] (Algorithm A450) .B CACM August, 1973 .A Machura, M. Mulawa, A. .K function minimization, Rosenbrock's method .C 5.19 .N CA730806 JB January 23, 1978 10:43 AM .X 2468 5 2468 2468 5 2468 2468 5 2468 .I 2469 .T Petri Nets and Speed Independent design .W Petri nets are investigated as one method of modeling speed independent asynchronous circuits. A study of circuit realizations of Petri nets leads to a demonstration of their usefulness in modeling speed independent operation. This usefulness is emphasized by the design of a speed independent processor from modules developed in the investigation of Petri net implementation. .B CACM August, 1973 .A Misunas, D. .K speed independent asynchronous, Petri net .C 6.1 6.33 .N CA730805 JB January 23, 1978 10:46 AM .X 2469 5 2469 2469 5 2469 2469 5 2469 .I 2470 .T Fen-An Axiomatic Basis for Program Semantics .W A formal system is presented which abstracts the notions of data item, function, and relation. It is argued that the system is more suitable than set theory (or its derivatives) for the concise and accurate description of program semantics. It is shown how the system can be used to build composite data types out of simper ones with the operations of rowing, structuring, and uniting. It is also demonstrated that completely new primitive types can be introduced into languages through the mechanism of singleton data types. Both deterministic and nondeterministic functions are shown to be definable in the system. It is described how the local environment can be modeled as a data item and how imperative statements can be considered functions on the environment. The nature of recursive functions is briefly discussed, and a technique is presented by which they can be introduced into the system. The technique is contrasted with the use of the paradoxical combinator, Y. The questions of local and global environments and of various modes of function calling and parameter passing are touched upon. The theory is applied to the proof of several elementary theorems concerning the semantics of the assignment, conditional, and iterative statements. An appendix is included which presents in detail the formal system governing webs and fen, the abstractions used informally in the body of the paper. .B CACM August, 1973 .A MacLennan, B. J. .K semantics, formal systems, lambda-calculus, extensible languages, data types, modes, axioms, correctness, formal language definition, formal description, data structures, description languages, models of computation .C 4.22 5.21 5.24 5.26 .N CA730804 JB January 23, 1978 11:01 AM .X 1469 4 2470 1486 4 2470 1491 4 2470 1781 4 2470 2021 4 2470 2060 4 2470 2178 4 2470 2222 4 2470 2227 4 2470 2294 4 2470 2315 4 2470 2326 4 2470 2326 4 2470 2470 4 2470 2470 4 2470 2470 4 2470 2470 4 2470 2684 4 2470 2732 4 2470 2865 4 2470 2896 4 2470 2943 4 2470 3014 4 2470 3044 4 2470 3068 4 2470 3077 4 2470 3124 4 2470 3143 4 2470 1303 5 2470 1469 5 2470 1834 5 2470 2264 5 2470 2470 5 2470 2470 5 2470 2470 5 2470 .I 2471 .T A Learning Program Which Plays Partnership Dominoes .W A learning program has been written is BASIC to play four-player partnership dominoes. Because dominoes is a game of incomplete information, the program uses somewhat different principles of artificial intelligence from those used in programs for games of complete information, such as checkers, chess, and go. The program was constructed to use a "strategy signature table" which classifies board situations through the interactions of game parameters. Each entry in the table contains adaptively determined weights indicating the advi sability of various strategies. Once chosen, a strategy then employs probability analysis and linear polynomial evaluation to choose a move. Our program wins approximately two-thirds of its games in tournament situations, and has defeated championship players. .B CACM August, 1973 .A Smith, M. H. .K artificial intelligence, intelligence learning, heuristic procedures, heuristic programming, game playing, problem solving,dominoes, incomplete information, machine learning, signature table, learning programs, strategy learning .C 3.62 3.64 3.66 3.69 .N CA730803 JB January 23, 1978 11:09 AM .X 2471 5 2471 2471 5 2471 2471 5 2471 .I 2472 .T Minimal spanning Tree (Algorithm R422) .B CACM July,1973 .A Kernighan, B. W. .K spanning tree, minimal spanning tree, Prim algorithm .C 5.32 .N CA730714 JB January 23, 1978 11:12 AM .X 2472 5 2472 2472 5 2472 2472 5 2472 .I 2473 .T Hidden-Line Plotting Program (Algorithm R420) .B CACM July, 1973 .A Macleod, I. D. G. Collins, A. M. .K hidden-line plot, surface plot .C 4.9 .N CA730713 JB January 23, 1978 11:14 AM .X 2473 5 2473 2473 5 2473 2473 5 2473 .I 2474 .T DIFSUB for Solution of Ordinary Differential Equations (Algorithm C407) .B CACM July, 1973 .A Nikolai, P. J. .K differential equations, stiff differential equations, boundary value problems .C 5.17 .N CA730712 JB January 23, 1978 11:16 AM .X 2205 4 2474 2474 4 2474 2474 4 2474 2205 5 2474 2207 5 2474 2474 5 2474 2474 5 2474 2474 5 2474 .I 2475 .T Solution of Linear Programming Problems in 0-1 Variables [H1] (Algorithm A449) .B CACM July, 1973 .A Fiala, F. .K linear programming, zero-one variable .C 5.41 .N CA730711 JB January 23, 1978 11:19 AM .X 2475 5 2475 2475 5 2475 2475 5 2475 .I 2476 .T Equivalence Between AND/OR Graphs and Context-Free Grammars .B CACM July, 1973 .A Hall, P. A. V. .K artificial intelligence, AND/OR graphs, language theory, context-free grammars .C 3.60 3.64 5.23 .N CA730710 JB January 23, 1978 11:21 AM .X 2476 5 2476 2476 5 2476 2476 5 2476 .I 2477 .T Multiple Exits from a Loop Without the GOTO .B CACM July, 1973 .A Bochmann, G. V. .K control structures, goto free programming, multiple exits from loops, exit statement .C 4.20 4.22 .N CA730709 JB January 23, 1978 11:23 AM .X 2193 4 2477 2326 4 2477 2477 4 2477 2541 4 2477 2594 4 2477 3004 4 2477 2477 5 2477 2477 5 2477 2477 5 2477 2574 5 2477 2709 5 2477 3186 5 2477 1425 6 2477 2138 6 2477 2204 6 2477 2456 6 2477 2477 6 2477 2477 6 2477 .I 2478 .T Computer Science-Seminars for Undergraduates .B CACM July, 1973 .A Kandel, A. .K education, computer science, curriculum, imprecise synthesis, fuzzy educational structure .C 1.52 6.0 .N CA730708 JB January 23, 1978 11:24 AM .X 1413 4 2478 1654 4 2478 1720 4 2478 1771 4 2478 1927 4 2478 2147 4 2478 2163 4 2478 2345 4 2478 2478 4 2478 2478 4 2478 2478 4 2478 2594 4 2478 2852 4 2478 2899 4 2478 3003 4 2478 3130 4 2478 1205 5 2478 1771 5 2478 2329 5 2478 2478 5 2478 2478 5 2478 2478 5 2478 3003 5 2478 1659 6 2478 1678 6 2478 1927 6 2478 1945 6 2478 2097 6 2478 2147 6 2478 2163 6 2478 2187 6 2478 2329 6 2478 2345 6 2478 2367 6 2478 2407 6 2478 2478 6 2478 2479 6 2478 2480 6 2478 2538 6 2478 .I 2479 .T Curriculum Recommendations for Graduate Professional Programs in Information Systems: Recommended Addendum on Information Systems Administration .W An addendum to the Report of the ACM Curriculum Committee on Computer Education for Management is proposed. The proposed addendum is to include in the curriculum a course on Information Systems administration. It is important for two reasons: (1) the systems designer must understand the administrative framework in which he must operate to work effectively, and (2) an important objective of the curriculum recommendations is to prepare the future manager of the computer activity. It is felt that the importance of these two reasons justifies the addition of the recommended course. The course is outlined in the format of the original report. .B CACM July, 1973 .A McFarlan, F. W. Nolan, R. L. .K education, management information systems, information systems administration, information systems management, computer management .C 1.52 3.51 .N CA730707 JB January 23, 1978 12:30 PM .X 2479 4 2479 2020 5 2479 2479 5 2479 2479 5 2479 2479 5 2479 2852 5 2479 3003 5 2479 1417 6 2479 1659 6 2479 1678 6 2479 1771 6 2479 1927 6 2479 1945 6 2479 2097 6 2479 2147 6 2479 2163 6 2479 2187 6 2479 2329 6 2479 2345 6 2479 2345 6 2479 2367 6 2479 2387 6 2479 2407 6 2479 2478 6 2479 2479 6 2479 2479 6 2479 2480 6 2479 2538 6 2479 .I 2480 .T Teaching "About Programming" .W This paper presents the goals and organization of a course about programming designed to provide entering students in a graduate program with a cultural enrichment in their professional lives. The students are expected to have taken at least two programming courses prior to this one and, therefore, to be familiar with at least two programming languages, both as students and users. Teaching someone how to program is similar to teaching him to play a musical instrument: neither skill can be taught-they must be learned. However, the teacher still serves several vital purposes: to present a set of rules for producing well-formed utterances; to offer numerous demonstrations of his own skill; and to function as an involved critic. Finally, the teacher is the source of information about the process in which the student is involved. .B CACM July, 1973 .A Rosin, R. F. .K education, programming concepts, professionalism .C 1.52 2.2 4.22 .N CA730706 JB January 23, 1978 12:36 PM .X 2319 4 2480 2480 4 2480 2480 4 2480 2594 4 2480 2709 4 2480 2738 4 2480 2867 4 2480 2939 4 2480 2972 4 2480 3004 4 2480 3030 4 2480 3155 4 2480 3155 4 2480 2204 5 2480 2247 5 2480 2480 5 2480 2480 5 2480 2480 5 2480 3003 5 2480 1659 6 2480 1678 6 2480 1927 6 2480 1945 6 2480 2097 6 2480 2147 6 2480 2163 6 2480 2187 6 2480 2329 6 2480 2345 6 2480 2367 6 2480 2407 6 2480 2478 6 2480 2479 6 2480 2480 6 2480 2538 6 2480 .I 2481 .T The Distribution of a Program in Primary and Fast Buffer Storage .W A virtual memory computer system with a fast buffer (cache) memory between primary memory and the central processing unit is considered. The optimal distribution of a program between the buffer and primary memory is studied using the program's lifetime function. Expressions for the distribution of a program which maximizes the useful fraction of the cost-time integral of primary and fast buffer storage are obtained for swapping and nonswapping buffer management policies. .B CACM July 1973 .A Gelenbe, E. .K cache, virtual memory, lifetime function, cost-time integral, fast buffer .C 4.3 6.2 6.3 .N CA730705 JB January 23, 1978 12:41 PM .X 2374 4 2481 2481 4 2481 2669 4 2481 2863 4 2481 3016 4 2481 3052 4 2481 1901 5 2481 2481 5 2481 2481 5 2481 2481 5 2481 .I 2482 .T Mixed Solutions for the Deadlock Problem .W Mixtures of detection, avoidance, and prevention provide more effective and practical solutions to the deadlock problem than any one of these alone. The individual techniques can be tailored for subproblems of resource allocation and still operate together to prevent deadlocks. This paper presents a method, based on the concept of the hierarchical operating system, for constructing appropriate mixtures and suggests appropriate subsystems for the most frequently occurring resource allocation problems .B CACM July, 1973 .A Howard, J. H. Jr. .K deadlocks, resource allocation, operating systems, multiprogramming, hierarchical systems .C 4.30 4.32 .N CA730704 JB January 23, 1978 12:46 PM .X 1828 4 2482 1854 4 2482 1877 4 2482 1960 4 2482 2150 4 2482 2228 4 2482 2280 4 2482 2280 4 2482 2317 4 2482 2319 4 2482 2377 4 2482 2342 4 2482 2376 4 2482 2379 4 2482 2379 4 2482 2379 4 2482 2424 4 2482 2482 4 2482 2482 4 2482 2482 4 2482 2500 4 2482 2618 4 2482 2632 4 2482 2704 4 2482 2723 4 2482 2738 4 2482 2740 4 2482 2740 4 2482 2741 4 2482 2851 4 2482 2867 4 2482 2920 4 2482 3184 4 2482 1749 5 2482 1877 5 2482 2228 5 2482 2482 5 2482 2482 5 2482 2482 5 2482 .I 2483 .T COKO III: The Cooper-Koz Chess Program .W COKO III is a chess player written entirely in Fortran. On the IBM 360-65, COKO III plays a minimal chess game at the rate of .2 sec cpu time per move, with a level close to lower chess club play. A selective tree searching procedure controlled by tactical chess logistics allows a deployment of multiple minimal game calculations to achieve some optimal move selection. The tree searching algorithms are the heart of COKO's effectiveness, yet they are conceptually simple. In addition, an interesting phenomenon called a tree searching catastrophe has plagued COKO's entire development just as it troubles a human player. Standard exponential growth is curbed to a large extent by the definition and trimming of the Fischer set. A clear distinction between tree pruning and selective tree searching is also made. Representation of the chess environment is described along with a strategical preanalysis procedure that maps the Lasker regions. Specific chess algorithms are described which could be used as a command structure by anyone desiring to do some chess program experimentation. A comparison is made of some mysterious actions of human players and COKO III. .B CACM July, 1973 .A Kozdrowicki, E. W. Cooper, D. W. .K artificial intelligence, selective searching, tree searching, tree searching catastrophe, heuristic programming,chess algorithms, Lasker regions, Fischer set, minimal chess game, strategical, tactical, tactical control mode, game playing, alpha beta, machine learning, concept formation, command structure, minimax, computer chess tournament, auxiliary minimal game .C 3.60 3.66 3.74 4.22 .N CA730703 JB January 23, 1978 1:07 PM .X 2483 5 2483 2483 5 2483 2483 5 2483 .I 2484 .T A Note on Information Organization and Storage .W Since the logical structure of a data base can be represented by a tree or graph, it is quite natural for us to view the process of designing a data base as that of constructing a tree or a graph. A general method for constructing such a tree or a graph is provided. There are three important elements in this general construction method; namely, a set of binary relations, an algorithm for constructing subsets of a set, and an algorithm for selecting an element from the given set of objects. The use of different relations and algorithms results in different information structures, as list, tree, ring, etc. Thus the problem of information organization and storage is reduced to that of defining relations and formulating algorithms under a given set of constraints. The results presented may be valuable to designers as useful design concepts, and may serve as a basis for developing a formal theory on the subject. .B CACM July, 1973 .A Huang, J. C. .K data base, data-base management, information retrieval, information structure, file organization, storage allocation, tree, graph .C 3.70 3.73 3.74 5.32 .N CA730702 JB January 23, 1978 1:14 PM .X 2484 5 2484 2484 5 2484 2484 5 2484 .I 2485 .T Managing the Computer Resource: A Stage Hypothesis .W Based on the study of expenditures for data processing, a descriptive stage hypothesis is presented. It is suggested that the planning, organizing, and controlling activities associated with managing the computer resource will change in character over a period of time, and will evolve in patterns roughly correlated to four stages of the computer budget: Stage I (computer acquisition), Stage II (intense system development), Stage III (proliferation of controls), and Stage IV (user/service orientation). Each stage is described and related to individual tasks for managing the computer resource. .B CACM July, 1973 .A Nolan, R. L. .K computer management, computer budget, computer expenditures, stage hypothesis, planning, organizing, control, computer resource .C 2.41 2.43 3.50 .N CA730701 JB January 23,1978 1:23 PM .X 2485 5 2485 2485 5 2485 2485 5 2485 2977 5 2485 2985 5 2485 3011 5 2485 3035 5 2485 2075 6 2485 2302 6 2485 2345 6 2485 2485 6 2485 2485 6 2485 2485 6 2485 2485 6 2485 .I 2486 .T Computer Photocomposition of Technical Text .W In computer assisted typesetting by means of photocomposition, special problems arise in highly technical material such as mathematical formulas. New solutions to several of these problems have been devised in the information system of the American Institute of Physics. They include: the representation of special characters (foreign alphabets, mathematical symbols, etc.) not available on input keyboards or on the photocomposer; the generation of such symbols, e.g. by overprinting; the precise positioning of accent marks (floating diacritics); line breaks, i.e. words or formulas placed partly at the end of one line and partly at the beginning of the next; and certain aspects of error correction. .B CACM June, 1973 .A Alt, F. L. Yuni Kirk, J. .K photocomposition, typesetting, printing, graphics, text processing .C 3.79 3.82 .N CA730614 JB January 23, 1978 1:30 PM .X 2486 5 2486 2486 5 2486 2486 5 2486 .I 2487 .T Cubic Spline solutions to Fourth-order Boundary Value Problems .W The cubic spline approximation to the fourth-order differential equation y''''+p(x)y''+q(x)y'+r(x)y=t(x) is shown to reduce to the solution of a five-term recurrence relationship. For some special cases the approximation is shown to be simply related to a finite difference representation with a local truncation error of order (y/720)delta^8. .B CACM June, 1973 .A Hoskins, W. D. .K cubic spline, differential equations, boundary value problem .C 5.13 5.17 .N CA730613 JB January 23, 1978 1:44 PM .X 2487 5 2487 2487 5 2487 2487 5 2487 .I 2488 .T Least Squares Piecewise Cubic Curve Fitting .W The matrices involved in a linear least squares formulation are determined for the problem of fitting piecewise cubic functions, those possessing a continuous derivative, to arrays of planar data. .B CACM June, 1973 .A Ferguson, J. Staley, P. A. .K curve fitting, data reduction, function approximation, approximation splines .C 5.13 .N CA730612 JB January 23, 1978 1:47 PM .X 2488 5 2488 2488 5 2488 2488 5 2488 .I 2489 .T Number of Multiply-Restricted Partitions [A1] (Algorithm A448) .B CACM June, 1973 .A Beyer, T. Swinehart, D. F. .K partitions, enumeration, change making, energy-level degeneracies, molecular vibrational energy-levels .C 3.13 5.30 .N CA730611 JB January 23, 1978 1:49 PM .X 2104 4 2489 2489 4 2489 2489 4 2489 1219 5 2489 2104 5 2489 2489 5 2489 2489 5 2489 2489 5 2489 .I 2490 .T Efficient Algorithms for Graph Manipulation [H] (Algorithm A447) .W Efficient algorithms are presented for partitioning a graph into connected components, biconnected components and simple paths. The algorithm for partitioning of a graph into simple paths is iterative and each iteration produces a new path between two vertices already on paths. (The start vertex can be specified dynamically.) If V is the number of vertices and E is the number of edges, each algorithm requires time and space proportional to max (V,E) when executed on a random access computer. .B CACM June, 1973 .A Hopcroft, J. Tarjan, R. .K graphs,analysis of algorithms, graph manipulation .C 5.32 .N CA730610 JB January 23, 1978 1:55 PM .X 2490 4 2490 2177 5 2490 2490 5 2490 2490 5 2490 2490 5 2490 .I 2491 .T Threaded Code .W The concept of "threaded code" is presented as an alternative to machine language code. Hardware and software realizations of it are given. In software it is realized as interpretive code not needing an interpreter. Extensions and optimizations are mentioned. .B CACM June, 1973 .A Bell, J. R. .K interpreter, machine code, time tradeoff, space tradeoff, compiled code, subroutine calls, threaded code .C 4.12 4.13 6.33 .N CA730609 JB January 23, 1978 2:05 PM .X 2491 5 2491 2491 5 2491 2491 5 2491 2748 5 2491 3144 5 2491 1471 6 2491 2298 6 2491 2491 6 2491 2491 6 2491 2597 6 2491 2624 6 2491 2625 6 2491 2632 6 2491 .I 2492 .T The Development of Decision Tables via Parsing of Complex Decision Situations .W A new parsing technique is proposed which allows parsing based only on syntactical characteristics of the decision problem. It requires a description of the problem in decision grid chart format and allows the development of decision tables within defined limits by avoiding, or at least minimizing, repetition of conditions and actions in the resulting tables. .B CACM June, 1973 .A Strunz, H. .K decision tables, parsing, decision grid chart,problem analysis .C 4.0 4.1 4.2 .N CA730608 JB January 23, 1978 2:10 PM .X 2220 4 2492 2492 4 2492 2518 4 2492 2598 4 2492 2616 4 2492 2726 4 2492 1548 5 2492 2492 5 2492 2492 5 2492 2492 5 2492 .I 2493 .T Optimum Data Base Reorganization Points .W In certain data base organization schemes the cost per access may increase due to structural inefficiencies caused by updates. By reorganizing the data base the cost per access may be reduced. However, the high cost of a reorganization prohibits frequent reorganizations. This paper examines strategies for selecting the optimum reorganization points. .B CACM June, 1973 .A Shneiderman, B. .K data base, reorganization, files, information retrieval .C 3.73 .N CA730607 JB January 23, 1978 2:14 PM .X 2455 4 2493 2493 4 2493 2889 4 2493 2968 4 2493 2388 5 2493 2493 5 2493 2493 5 2493 2493 5 2493 2816 5 2493 3129 5 2493 2493 6 2493 2493 6 2493 2751 6 2493 2816 6 2493 2829 6 2493 .I 2494 .T A Computer Generated Aid for Cluster Analysis .W A computer generated graphic method, which can be used in conjunction with any hierarchical scheme of cluster analysis, is described and illustrated. The graphic principle used is the representation of the elements of a data matrix of similarities or dissimilarities by computer printed symbols (of character overstrikes) of various shades of darkness, where a dark symbol corresponds to a small dissimilarity. The plots, applied to a data matrix before clustering and to the rearranged matrix after clustering, show at a glance whether clustering brought forth any distinctive clusters. A well-known set of data consisting of the correlations of 24 psychological tests is used to illustrate the comparison of groupings by four methods of factor analysis and two methods of cluster analysis. .B CACM June, 1973 .A Ling, R. F. .K computer graphics, cluster analysis, numerical taxonomy, hierarchical clustering, factor analysis .C 3.10 3.30 3.36 4.49 .N CA730606 JB January 23, 1978 2:20 PM .X 2494 5 2494 2494 5 2494 2494 5 2494 .I 2495 .T Adapting Optimal Code Generation for Arithmetic Expressions to the Instruction Sets Available on Present-Day Computers .B CACM June, 1973 .A Stockhausen, P. F. .K arithmetic expressions, code generation, compilers, object-code optimization, register assignment, trees .C 4.12 5.24 5.32 .N CA730605 JB January 23, 1978 2:24 PM .X 2495 5 2495 2495 5 2495 2495 5 2495 .I 2496 .T On the Near-Optimality of the Shortest-Latency-Time-First Drum Scheduling Discipline .W For computer systems in which it is practical to determine the instantaneous drum position, a popular discipline for determining the sequence in which the records are to be accessed is the so-called shortest-latency-time-first, SLTF, discipline. When a collection of varying-length records is to be accessed from specified drum positions, it is known that the SLTF discipline does not necessarily minimize the drum latency time. However, we show that the total time to access the entire collection for any SLTF schedule is never as much as a drum revolution longer than a minimum latency schedule. .B CACM June, 1973 .A Stone, H. S. Fuller, S. H. .K drum scheduling, shortest-access-time-first, minimal latency scheduling, shortest-latency-time-first .C 4.31 4.41 6.35 .N CA730604 JB January 23, 1978 3:12 PM .X 2496 5 2496 2496 5 2496 2496 5 2496 2628 5 2496 3097 5 2496 2375 6 2496 2496 6 2496 2496 6 2496 .I 2497 .T Synchronizing Processors with Memory-Content-Generated Interrupts .W Implementations of the "Lock-Unlock" method of synchronizing processors in a multiprocessor system usually require uninterruptable, memory-pause type instructions. An interlock scheme called read-interlock, which does not require memory-pause instructions, has been developed for a dual DEC PDP-10 system with real-time requirements. The read-interlock method does require a special"read-interlock" instruction in the repertoire of the processors and a special "read-interlock" cycle in the repertoire of the memory modules. When a processor examines a "lock" (a memory location) with a read-interlock instruction, it will be interrupted if the lock was already set; examining a lock immediately sets it if it was not already set (this event sequence is a read-interlock cycle). Writing into a lock clears it. Having the processor interrupted upon encountering a set lock instead of branching is advantageous if the branch would have resulted in an effective interrupt. .B CACM June, 1973 .A Hill, J. C. .K interrupts,supervisors, monitors, debugging, parallel processing, associative memories, microprogramming .C 4.32 6.29 .N CA730603 JB January 23, 1978 3:29 PM .X 1458 4 2497 1523 4 2497 1603 4 2497 1698 4 2497 1747 4 2497 1748 4 2497 1854 4 2497 1877 4 2497 1960 4 2497 2377 4 2497 2378 4 2497 2497 4 2497 2497 4 2497 2534 4 2497 2558 4 2497 2625 4 2497 2632 4 2497 2840 4 2497 2941 4 2497 3105 4 2497 3144 4 2497 1471 5 2497 2182 5 2497 2497 5 2497 2497 5 2497 2497 5 2497 .I 2498 .T Minimizing Wasted Space in Partitioned Segmentation .W A paged virtual memory system using a finite number of page sizes is considered. Two algorithms for assigning pages to segments are discussed. Both of these algorithm are simple to implement. The problem of choosing the page sizes to minimize the expected value of total wasted space in internal fragmentation and in a page table, per segment, is then solved for a probability density function of segment size which may be expressed as a convex combination of Erlang densities. .B CACM June, 1973 .A Gelenbe, E. .K dynamic storage allocation, virtual memory, paging, multiple page sizes, fragmentation, segmentation .C 4.0 4.3 4.32 6.34 8.3 .N CA730602 JB January 23, 1978 3:38 PM .X 2095 4 2498 2218 4 2498 2498 4 2498 2596 4 2498 2734 4 2498 2902 4 2498 2911 4 2498 3000 4 2498 1879 5 2498 2498 5 2498 2498 5 2498 2498 5 2498 2911 5 2498 1879 6 2498 273 6 2498 2435 6 2498 2498 6 2498 2734 6 2498 2773 6 2498 2983 6 2498 .I 2499 .T Efficient Multiprogramming Resource Allocation and Accounting .W Although sometimes thought of as only a component of time-sharing operation, multiprogramming can involve broader questions of resource allocation, since fairness is not required to meet a response criterion. In a multiprogrammed system, it may serve maximal resource use to be unfair, for example by holding an input/output channel idle for a program while it completes a small amount of processor usage, enabling further use of the channel. Several applications of this principle are given, and it is suggested that a multiprogramming executive might dynamically adjust its allocation algorithms to gain efficiency. Allocation of resources is closely connected to accounting for those resources, raising the problems of repeatability, minimal uncharged overhead, and relative weighting of charges for dependent resources. Since weightings may depend on allocation algorithms, these are not arbitrary accounting parameters. Often the only repeatable accounting is one which omits an extensive overhead will be paid, and should multiprogramming prove efficient, overcharges will result. Multiprogramming turns on allocation of the memory resource essential to control of other resources. The general suggestions for allocation and accounting are applied to this question, and some details provided for the case of a monitor which controls a virtual-memory machine. .B CACM June, 1973 .A Hamlet, R. G. .K monitor, executive, multiprogramming, efficiency, resource allocation, resource accounting .C 4.32 .N CA730601 JB January 23, 1978 3:51 PM .X 1892 4 2499 1901 4 2499 2085 4 2499 2095 4 2499 2218 4 2499 2277 4 2499 2319 4 2499 2329 4 2499 2358 4 2499 2373 4 2499 2380 4 2499 2434 4 2499 2499 4 2499 2501 4 2499 2582 4 2499 2669 4 2499 2828 4 2499 2863 4 2499 2881 4 2499 2928 4 2499 2996 4 2499 3006 4 2499 3067 4 2499 1751 5 2499 2499 5 2499 2499 5 2499 2499 5 2499 3114 5 2499 1502 6 2499 2499 6 2499 2745 6 2499 .I 2500 .T A Practical Approach to Managing Resources and Avoiding Deadlocks .W Resource scheduling and allocation can be expensive with regard to time and space in multiprogramming or time-sharing environments involving large numbers of tasks and resources with conflicting requirements. Detection and/or prevention of deadlocks can require massive amounts of additional overhead if efficient usage of resources is to be maintained. A resource management program is described which uses linked lists along with other techniques to overcome a large portion of this overhead. The program, which is currently running as part of a large scale general purpose operating system, keeps resources relatively active but does not detect or prevent all deadlocks in its implemented state. Certain changes, which would permit more comprehensive levels of deadlock prevention/detection at additional cost, have not been incorporated in the running system due to the infrequency of deadlock situations. .B CACM May, 1973 .A Frailey, D. J. .K deadlock, resource allocation, scheduling, resource management, multiprogramming, time-sharing, multiprocessing, deadly embrace .C 4.30 4.32 .N CA730520 JB January 23, 1978 4:03 PM .X 2280 4 2500 2379 4 2500 2482 4 2500 2500 4 2500 2228 5 2500 2500 5 2500 2500 5 2500 2500 5 2500 .I 2501 .T WYLBUR: An Interactive Text Editing and Remote Job Entry System .W WYLBUR is a comprehensive system for manipulating all kinds of text, such as computer programs, letters, and manuscripts, using typewriter terminals connected to a computer. It has facilities for remote job entry and retrieval as well as facilities for text alignment and justification. A powerful method for addressing text by content is provided. This paper describes the external appearance of WYLBUR as well as its internal structure. A short description of the major features of ORVYL, a general purpose time-sharing system which operates in conjunction with WYLBUR, is also included. .B CACM May, 1973 .A Fajman, R. Borgelt, J. .K text editing, time-sharing, on-line text editing, interactive text editing, terminal, remote terminal, terminal system, interactive terminal, remote job entry, remote job retrieval, program preparation, document preparation, data entry, content addressing .C 3.70 3.79 4.10 4.19 4.41 4.43 4.49 .N CA730519 JB January 23, 1978 4:11 PM .X 1892 4 2501 1901 4 2501 2085 4 2501 2095 4 2501 2218 4 2501 2277 4 2501 2299 4 2501 2319 4 2501 2329 4 2501 2358 4 2501 2373 4 2501 2380 4 2501 2434 4 2501 2499 4 2501 2501 4 2501 2501 4 2501 2582 4 2501 2629 4 2501 2669 4 2501 2828 4 2501 2863 4 2501 2881 4 2501 2915 4 2501 2928 4 2501 2996 4 2501 3006 4 2501 3067 4 2501 3114 4 2501 1502 5 2501 1751 5 2501 2501 5 2501 2501 5 2501 2501 5 2501 2623 5 2501 2501 6 2501 2537 6 2501 .I 2502 .T A Comment on the Practical Aspects of Computer Science Education .B CACM May, 1973 .A Estell, R. G. .K education, computer engineering, computer sciences curriculum, systems design .C 1.52 6.0 .N CA730518 JB January 23, 1978 4:23 PM .X 2502 5 2502 2502 5 2502 2502 5 2502 .I 2503 .T Another Comment on Computer Music .B CACM May, 1973 .A Wexelblat, R. L. .N CA730517 JB January 23, 1978 4:25 PM .X 2503 5 2503 2503 5 2503 2503 5 2503 .I 2504 .T Concerning Music and Computer Composition in Computational Linguistics .B CACM May, 1973 .A McMorrow, C. H. .K artificial intelligence, heuristic programming, models of cognitive processes, computer music, computer composition,music theory .C 3.44 3.65 .N CA730516 JB January 23, 1978 4:27 PM .X 2504 5 2504 2504 5 2504 2504 5 2504 .I 2505 .T Reflection-Free Permutations, Rosary Permutations, and Adjacent Transposition Algorithms .B CACM May, 1973 .A Roy, M. K. .K permutation, permutation generation, scheduling, combinatorial analysis .C 5.39 .N CA730515 JB January 23, 1978 4:29 PM .X 2044 4 2505 2189 4 2505 2292 4 2505 2417 4 2505 2505 4 2505 2505 4 2505 2505 4 2505 2874 4 2505 2908 4 2505 2189 5 2505 2292 5 2505 2505 5 2505 2505 5 2505 2505 5 2505 2908 5 2505 521 5 2505 2505 6 2505 2884 6 2505 521 6 2505 .I 2506 .T A Sparse Matrix Package (Algorithm R408) .B CACM May, 1973 .A Sale, R. H. J. .K matrix, sparse matrix, matrix manipulation, Fortran standards .C 5.14 .N CA730514 JB January 23, 1978 4:30 PM .X 1613 4 2506 1646 4 2506 1900 4 2506 1955 4 2506 2025 4 2506 2154 4 2506 2365 4 2506 2506 4 2506 3060 4 2506 987 5 2506 2506 5 2506 2506 5 2506 2506 5 2506 .I 2507 .T Exact Solution of Linear Equations Using Residue Arithmetic (Algorithm R406) .B CACM May, 1973 .A Howell, J. .K residue arithmetic, symmetric residue, modulus, mixed-radix representation, symmetric mixed-radix representation, mixed radix conversion, prime number, linear equations, Gaussian elimination, matrix inversion, determinant, adjoint matrix, ill-condition .C 3.5 5.14 .N CA730513 JB January 23, 1978 4:34 PM .X 2507 5 2507 2507 5 2507 2507 5 2507 .I 2508 .T Increasing the Efficiency of Quicksort (Algorithm R402) .B CACM May, 1973 .A Wheeler, R. E. .K sorting, quicksort .C 3.73 4.49 5.31 5.6 .N CA730512 JB January 23, 1978 4:35 PM .X 2508 5 2508 2508 5 2508 2508 5 2508 .I 2509 .T Minit Algorithm for Linear Programming (Algorithm R333) .B CACM May, 1973 .A Obradovic, D. .N CA730511 JB January 23, 1978 4:37 PM .X 2509 5 2509 2509 5 2509 2509 5 2509 .I 2510 .T Minit Algorithm for Linear Programming (Algorithm R333) .B CACM May, 1973 .A Holmgren, B. Obradovic, D. Kolm, A. .N CA730510 JB January 23, 1978 4:38 PM .X 2510 5 2510 2510 5 2510 2510 5 2510 .I 2511 .T Maxflow (Algorithm R324) .B CACM May, 1973 .A Bayer, G. .N CA730509 JB January 23, 1978 4:39 PM .X 2511 5 2511 2511 5 2511 2511 5 2511 .I 2512 .T Coulomb Wave Functions (Algorithm R300) .B CACM May, 1973 .A Vos, H. .K Coulomb wave functions, wave functions, special functions, function evaluation .C 5.12 .N CA730508 JB January 23, 1978 4:41 PM .X 2512 5 2512 2512 5 2512 2512 5 2512 .I 2513 .T A Nonrecursive List Moving Algorithm .W An efficient, nonrecursive algorithm is given for moving any LISP-type list. In particular, the algorithm requires no storage other than the new nodes into which the list is to be moved, and no additional bits per node for marking; the algorithm runs in time proportional to the number of nodes in the list. The original list structure is destroyed as it is moved. .B CACM May, 1973 .A Reingold, E. M. .K list moving, list copying, list traversal, garbage collection LISP .C 4.19 4.49 .N CA730507 JB January 23, 1978 4:45 PM .X 1869 4 2513 2156 4 2513 2361 4 2513 2513 4 2513 2513 4 2513 2665 4 2513 2723 4 2513 2736 4 2513 2855 4 2513 2855 4 2513 3074 4 2513 3106 4 2513 3106 4 2513 3112 4 2513 1549 5 2513 1972 5 2513 2513 5 2513 2513 5 2513 2513 5 2513 2855 5 2513 1549 6 2513 1826 6 2513 210 6 2513 1972 6 2513 2513 6 2513 2766 6 2513 2833 6 2513 2998 6 2513 .I 2514 .T An Array Grammar Programming System .W A package of Fortran programs has been developed that permits a user to interactively design and test array grammars. The user can control the rule selection procedure in a derivation or parse, using weighted programming matrices; he also has a choice of instance selection schemes (raster,random, parallel). Examples are given involving array languages consisting of simple geometrical patterns, as well as a language of "neuron pictures." .B CACM May, 1973 .A Mercer, A. Rosenfeld, A. .K picture grammars, array grammars .C 3.63 5.23 8.2 .N CA730506 JB January 23, 1978 4:49 PM .X 2514 5 2514 2514 5 2514 2514 5 2514 .I 2515 .T Minimal Event-Node Network of Project Precedence Relations .W A procedure for constructing a minimal event-node network to represent a set of precedence relations without parallel activities is presented. A minimal event-node network is an event-node network in which both the number of nodes and the number of arcs are the minima to preserve the given precedence relations Counterexamples are given to show that the algorithm presented by A. C. Fisher, J. S. Liebman, and G. L. Nemhauser (1968) produces event-node networks which are not minimal. Since our procedure includes the set-covering problem, the time required may grow exponentially with the number of given activities. .B CACM May, 1973 .A Corneil, D. G. Gotlieb, C. C. Lee, Y. M. .K network, project, event-node network, activity-node network, minimal event-node network, dummy activity, project precedence relations .C 3.57 5.32 8.3 .N CA730505 JB January 24, 1978 8:42 AM .X 2515 4 2515 1723 5 2515 2515 5 2515 2515 5 2515 2515 5 2515 .I 2516 .T Hierarchical Storage in Information Retrieval .W A probabilistic analysis is employed to determine the effect of hierarchical storage organizations on information retrieval operations. The data storage hardware is assumed to consist on n-levels of linearly connected memory hardware with increasing data access times and increasing data storage capabilities. A system might, for example, consist of fast semiconductor memory, computer core memory, extended core storage, disk memory, and data cells. Equations are derived to predict the effect of such a system on data access times using sequential files, random access files, and structured files employing multiple-hierarchical linked lists. .B CACM May, 1973 .A Salasin, J. .K information retrieval, hierarchical storage .C 3.70 3.72 3.73 3.74 3.79 3.90 6.20 6.34 .N CA730504 JB January 24, 1978 8:48 AM .X 2516 5 2516 2516 5 2516 2516 5 2516 .I 2517 .T Some Comments on the Use of Ambiguous Decision Tables and Their Conversion to Computer Programs .W This paper comments upon recently published work on decision table translation using methods similar to the rule-mask technique. The applicability of these methods under various possible conventions on overall table meaning is discussed, and it is argued that there is a place both for the multi-rule and the single-rule (or action set) convention in decision tale usage. .B CACM May, 1973 .A King, P. J. H. Johnson, R. G. .K decision tables, systems analysis, programming .C 3.50 3.59 4.19 4.29 4.49 .N CA730503 JB January 24, 1978 8:56 AM .X 2053 4 2517 2221 4 2517 2273 4 2517 2453 4 2517 2517 4 2517 2517 4 2517 2517 4 2517 2518 4 2517 2616 4 2517 2726 4 2517 2856 4 2517 3034 4 2517 3034 4 2517 1684 5 2517 2053 5 2517 2221 5 2517 2517 5 2517 2517 5 2517 2517 5 2517 2616 5 2517 3034 5 2517 931 6 2517 1548 6 2517 1684 6 2517 1684 6 2517 2053 6 2517 2517 6 2517 2517 6 2517 .I 2518 .T Programming by Questionnaire: An Effective Way To Use Decision Tables .W Programming by questionnaire combines aspects of decision table programming and general purpose programming by using decision tables to construct an application program through the selection of certain source statements from a predefined file. It is proposed that programming by questionnairies a useful compromise between general and special purpose programming for a significant class of large scale problems. The elements of the approach are discussed an existing application is described. .B CACM May, 1973 .A Low, D. W. .K customizing, modeling, applications development, programmer productivity, simulator generation, automatic program generation, no reprogramming .C 4.20 4.22 4.29 .N CA730502 JB January 24, 1978 9:03 AM .X 2053 4 2518 2220 4 2518 2492 4 2518 2517 4 2518 2518 4 2518 2518 4 2518 2598 4 2518 2616 4 2518 2616 4 2518 2726 4 2518 3034 4 2518 1548 5 2518 1684 5 2518 2518 5 2518 2518 5 2518 2518 5 2518 .I 2519 .T On the Problem of Communicating Complex Information .W The nature of the difficulty involved in communicating mathematical results between scientists using a computer based information retrieval system is examined. The problem is analyzed in terms of psychological and information-processing processes, and what turns out to be a vicious circle of effects is described. These include ways of augmenting written natural language by various notational and linguistic devices, the exhibition of the structure inherent in the information we are communicating, and a sophisticated interactive system controlled by computer. .B CACM May, 1973 .A Pager, D. .K complex information, information, communication, mathematics, proof, interactive system, language .C 1.0 1.1 1.50 1.52 1.59 2.42 3.32 3.51 3.62 3.70 3.81 .N CA730501 JB January 24, 1978 9:25 AM .X 2519 4 2519 2390 5 2519 2519 5 2519 2519 5 2519 2519 5 2519 .I 2520 .T Greatest Common Divisor of n Integers and Multipliers (Algorithm C386) .B CACM April, 1973 .A Ragland, L. C. Good, D. I. .K proof of algorithms, greatest common divisor, Euclidean algorithm, inductive assertion method .C 3.15 4.42 5.10 5.24 .N CA730408 JB January 24, 1978 9:27 AM .X 2520 5 2520 2520 5 2520 2520 5 2520 .I 2521 .T Ten Subroutines for the Manipulation of Chebyshev Series [C1] (Algorithm A446) .B CACM April, 1973 .A Broucke, R. .K Chebyshev series, differentiation, integration, curve fitting,approximations, negative powers .C 5.12 5.13 5.16 .N CA730407 JB January 24, 1978 9:29 AM .X 2028 4 2521 2521 4 2521 2521 4 2521 2521 4 2521 3099 4 2521 2028 5 2521 2031 5 2521 2521 5 2521 2521 5 2521 2521 5 2521 2762 5 2521 3135 5 2521 2521 6 2521 .I 2522 .T The Design, Implementation, and Evaluation of a Working Set Dispatcher .W The behavior of a computer system is largely dependent upon the algorithms employed to allocate the system resources to the processes competing for them. Recent research in time-sharing paging systems has developed the working set model for program behavior, and are source allocation strategy based on this model has been proposed. Two implementations along these principles have been reported, but it seems that in neither case have further results been announced. This report discusses the design and implementation of a dispatcher based on the working set principle, presents data to permit analysis of its behavior, and indicates future directions of research on methods of controlling a computer system. .B CACM April, 1973 .A Rodriguez-Rosell, J. Dupuy J. P. .K working set, dispatcher, scheduler, time-sharing systems, resource allocation, software evaluation, operating systems, supervisory systems .C 4.31 4.32 .N CA730406 JB January 24, 1978 9:36 AM .X 2522 5 2522 2522 5 2522 2522 5 2522 2928 5 2522 1751 6 2522 2277 6 2522 2380 6 2522 2522 6 2522 2569 6 2522 .I 2523 .T A Region Coloring Technique for Scene Analysis .W A method of converting a picture into a "cartoon" or "map" whose regions correspond to differently textured regions is described. Texture edges in the picture are detected, and solid regions surrounded by these (usually broken) edges are "colored in" using a propagation process. The resulting map is cleaned by comparing the region colors with the textures of the corresponding regions in the picture, and also by merging some regions with others according to criteria based on topology and size. The method has been applied to the construction of cloud cover maps from cloud cover pictures obtained by satellites. .B CACM April, 1973 .A Strong III, J. P. Rosenfeld, A. .K picture processing, scene analysis, edge detection .C 3.63 8.2 .N CA730405 JB January 24, 1978 9:48 AM .X 2523 5 2523 2523 5 2523 2523 5 2523 2980 5 2523 2523 6 2523 .I 2524 .T Some Approaches to Best-Match File Searching .W The problem of searching the set of keys in a file to find a key which is closest to a given query key is discussed. After "closest," in terms of a metric on the the key space, is suitably defined, three file structures are presented together with their corresponding search algorithms, which are intended to reduce the number of comparisons required to achieve the desired result. These methods are derived using certain inequalities satisfied by metrics and by graph-theoretic concepts. Some empirical results are presented which compare the efficiency of the methods. .B CACM April, 1973 .A Burkhard, W. A. Keller, R. M. .K matching, file structuring, file searching, heuristics, best match .C 3.73 3.79 4.9 .N CA730404 JB January 24, 1978 9:54 AM .X 1676 4 2524 1682 4 2524 1728 4 2524 1860 4 2524 1973 4 2524 2018 4 2524 2032 4 2524 2033 4 2524 2107 4 2524 2109 4 2524 2203 4 2524 2251 4 2524 2359 4 2524 2524 4 2524 2543 4 2524 2552 4 2524 2559 4 2524 2991 4 2524 3053 4 2524 1785 5 2524 2524 5 2524 2524 5 2524 2524 5 2524 2575 5 2524 2966 5 2524 3134 5 2524 1976 6 2524 2160 6 2524 2524 6 2524 2524 6 2524 2524 6 2524 2990 6 2524 .I 2525 .T A Statistical Study of the Accuracy of Floating Point Number Systems .W This paper presents the statistical results of tests of the accuracy of certain arithmetic systems in evaluating sums, products and inner products, and analytic error estimates for some of the computations. The arithmetic systems studied are 6-digit hexadecimal and 22-digit binary floating point number representations combined with the usual chop and round modes of arithmetic with various numbers of guard digits, and with a modified round mode with guard digits. In a certain sense, arithmetic systems differing only in their use of binary or hexadecimal number representations are shown to be approximately statistically equivalent inaccuracy. Further, the usual round mode with guard digits is shown to be statistically superior in accuracy to the usual chop mode in all cases save one. The modified round mode is found to be superior to the chop mode in all cases. .B CACM April, 1973 .A Kuki, H. Cody, W. J. .K error analysis, floating point arithmetic, rounding, guard digits, number representation .C 5.11 5.5 6.32 .N CA730403 JB January 24, 1978 10:04 AM .X 2525 4 2525 1474 5 2525 2525 5 2525 2525 5 2525 2525 5 2525 .I 2526 .T Asymmetric Memory Hierarchies .W A study is presented of some of the system implications of memory hierarchies in which the backing or secondary store has a very small read time, relative of both the time required for writing and to the read time of conventional backing storage devices. Several analytic models are introduced, and it is shown that such hierarchies may operate in ways which differ from those of more conventional hierarchies. In particular, it is shown that it may not be necessary to multiprogram in such a situation. In the past, backing storage devices have been roughly symmetric with respect to their read and write times. This situation may not continue, as several devices are currently under development which may have a very small read-time/write-time ratio. This study places particular emphasis on one such system-the RCA read/write holographic optical memory. .B CACM April, 1973 .A Williams, J.G. .K asymmetric memory hierarchy, demand paging, holographic optical memory, memory device, memory hierarchy, paging, storage device, storage hierarchy, virtual memory .C 4.3 4.32 5.2 6.2 6.34 .N CA730402 JB January 24, 1978 10:15 AM .X 1892 4 2526 1924 4 2526 2095 4 2526 2218 4 2526 2297 4 2526 2374 4 2526 2526 4 2526 2667 4 2526 2668 4 2526 2862 4 2526 2863 4 2526 1728 5 2526 2526 5 2526 2526 5 2526 2526 5 2526 .I 2527 .T Implementation of High Level Language Machine .W Computing machines which directly execute the statements of a high level language have been proposed in the past. This report describes the actual implementation of such a machine: it is a computer whose "machine language" is APL. The machine is fully operational and correctly executes almost all of the APL operations on scalars, vectors, and arrays. The machine automatically allocates memory, executes statements, calls functions, converts numbers from one type to another, checks subscripts, and automatically detects many types of programmer errors. .B CACM April, 1973 .A Hassitt, A. Lageschulte, J. W. Lyon, L. E. .K computer architecture, high level language machine, emulators, microprogramming, interpreters, execution speed, APL .C 4.1 6.2 .N CA730401 JB January 24, 1978 10:21 AM .X 2202 4 2527 2527 4 2527 1542 5 2527 2527 5 2527 2527 5 2527 2527 5 2527 .I 2528 .T Binary Pattern Reconstruction from Projections [Z] (Algorithm R445) .B CACM March, 1973 .A Lau, J. .K pattern reconstruction, image reconstruction, data compression, picture processing .C 3.63 5.30 .N CA730311 JB January 24, 1978 10:22 AM .X 2528 5 2528 2528 5 2528 2528 5 2528 .I 2529 .T Binary Pattern Reconstruction from Projections [Z] (Algorithm A445) .B CACM March, 1973 .A Chang, S. .K pattern reconstruction, image reconstruction, data compression, picture processing .C 3.63 5.30 .N CA730310 JB January 24, 1978 10:25 AM .X 2142 4 2529 2529 4 2529 2231 5 2529 2529 5 2529 2529 5 2529 2529 5 2529 .I 2530 .T An Algorithm for Extracting Phrases in a Space-Optimal Fashion [Z] (Algorithm A444) .B CACM March, 1973 .A Wagner, R. A. .K information retrieval, coding, text compression .C 3.70 5.6 .N CA730309 JB January 24, 1978 10:26 AM .X 1973 4 2530 1992 4 2530 2138 4 2530 2203 4 2530 2251 4 2530 2530 4 2530 2530 4 2530 2537 4 2530 2543 4 2530 2559 4 2530 2573 4 2530 2623 4 2530 2819 4 2530 2991 4 2530 3053 4 2530 3083 4 2530 2107 5 2530 2530 5 2530 2530 5 2530 2530 5 2530 2537 5 2530 2107 6 2530 2530 6 2530 .I 2531 .T Graduate Education: The Ph.D. Glut .B CACM March, 1973 .A Payne, W. H. .K graduate education, Ph.D. production, accreditation .C 1.5 2.2 2.3 .N CA730308 JB January 24, 1978 10:28 AM .X 2531 5 2531 2531 5 2531 2531 5 2531 2662 5 2531 2531 6 2531 .I 2532 .T On Harrison's Substring Testing Technique .B CACM March, 1973 .A Bookstein, A. .K string, substring, hashing, information storage and retrieval .C 3.74 5.30 5.5 .N CA730307 JB January 24, 1978 10:30 AM .X 2532 4 2532 2631 4 2532 2746 4 2532 3001 4 2532 2139 5 2532 2532 5 2532 2532 5 2532 2532 5 2532 2631 5 2532 2139 6 2532 2532 6 2532 .I 2533 .T Gray Code and the +- Sign Sequence when +-f (+-f(+-f(...+-f(x)...))) Is Ordered .B CACM March, 1973 .A Salzer, H. E. .K Gray code, sign sequences, ordering, positive monotonic functions, binary system, Galois sum .C 5.10 .N CA730306 JB January 24, 1978 10:35 AM .X 2533 4 2533 2394 5 2533 2533 5 2533 2533 5 2533 2533 5 2533 .I 2534 .T Design and Implementation of a Diagnostic Compiler for PL/I .W PL/C is a compiler for a dialect for PL/I. The design objective was to provide a maximum degree of diagnostic assistance in a batch processing environment. For the most part this assistance is implicit and is provided automatically by the compiler. The most remarkable characteristic of PL/C is its perseverance-it completes translation of every program submitted and continues execution until a user-established error limit is reached. This requires that the compiler repair errors encountered during both translation and execution, and the design of PL/C is dominated by this consideration. PL/C also introduces several explicit user-controlled facilities for program testing. To accommodate these extensions to PL/I without abandoning compatibility with IBM compiler PL/C permits "pseudo comments"-constructions whose contents can optionally be considered either source test or comment. In spite of the diagnostic effort PL/C is a fast and efficient processor. It effectively demonstrates that compilers can provide better diagnostic assistance than is customarily offered, even when a sophisticated source language is employed, and that this assistance need not be prohibitively costly. .B CACM March, 1973 .A Conway, R. W. Wilcox, T. R. .K compilers, debugging, PL/I, programming languages .C 1.5 4.12 4.42 .N CA730305 JB January 24, 1978 10:45 AM .X 1179 4 2534 1288 4 2534 1323 4 2534 1358 4 2534 1380 4 2534 1544 4 2534 1646 4 2534 1665 4 2534 1781 4 2534 1781 4 2534 1787 4 2534 1989 4 2534 2111 4 2534 2112 4 2534 2182 4 2534 2251 4 2534 2497 4 2534 2534 4 2534 2534 4 2534 2534 4 2534 2534 4 2534 2534 4 2534 2534 4 2534 2534 4 2534 2541 4 2534 2543 4 2534 2556 4 2534 2556 4 2534 2559 4 2534 2650 4 2534 2650 4 2534 2698 4 2534 2708 4 2534 2708 4 2534 2733 4 2534 2770 4 2534 2820 4 2534 2887 4 2534 3053 4 2534 3073 4 2534 3083 4 2534 3155 4 2534 1787 5 2534 1959 5 2534 1973 5 2534 2111 5 2534 2182 5 2534 2534 5 2534 2534 5 2534 2534 5 2534 2708 5 2534 2820 5 2534 2971 5 2534 3045 5 2534 799 5 2534 830 5 2534 1477 6 2534 1477 6 2534 1491 6 2534 1491 6 2534 1787 6 2534 1835 6 2534 1974 6 2534 2111 6 2534 2534 6 2534 2534 6 2534 2534 6 2534 2534 6 2534 2556 6 2534 680 6 2534 799 6 2534 .I 2535 .T The Effects of Multiplexing on a Computer-Communications System .W A study is made of the way in which asynchronous time division multiplexing changes the stochastic nature of the arrival process from a user to the computer and, consequently, affects the performance of a time-shared computer-communications system. It is concluded that while, for certain values of system parameters, there is noticeable improvement in the performance of the computer (model), in the sense that time-shared scheduling delays are reduced, these improvements are offset by the transmission delays imposed by multiplexing so that there may be little or no change in the computer-communications system performance. Analytical and simulation results are based on the model of the computer-communications system being an M/D/1 queue (the multiplexor) in tandem with a single exponential server (the computer). Analytical results include a general description of the output process of an M/D/1 queue and the conditions under which this output process is approximately Poisson. .B CACM March, 1973 .A Pack, C. D. .K computer communications, time-sharing, multiplexing, scheduling algorithms, operating systems .C 3.80 3.81 6.20 .N CA730304 JB January 24, 1978 11:13 AM .X 2535 5 2535 2535 5 2535 2535 5 2535 .I 2536 .T Telecommunications Using a Front-End Minicomputer .W The use of a front-end minicomputer to provide varied remote terminal access to a large scale computer is considered. The problems of embedding telecommunications I/O within an operating system are discussed, and it is shown how the decentralization of intelligence acquired by front-end processing vastly simplifies the problem. A specific implementation is discussed with emphasis on the main processor-minicomputer link, the hardware-software implementation, the effect of the main processor operating system, and an assessment of the advantages over a hard wired line controller. .B CACM March, 1973 .A Feinroth, Y. Franceschini, E. Goldstein, M. .K telecommunications, minicomputer, front-end processor, remote job entry, remote terminals .C 3.81 4.32 4.41 .N CA730303 JB January 24, 1978 11:23 AM .X 1657 4 2536 2080 4 2536 2357 4 2536 2536 4 2536 1523 5 2536 2536 5 2536 2536 5 2536 2536 5 2536 2919 5 2536 2536 6 2536 2593 6 2536 2629 6 2536 .I 2537 .T Common Phrases and Minimum-Space Text Storage .W A method for saving storage space for text strings, such as compiler diagnostic messages, is described. The method relies on hand selection of a set of text strings which are common to one or more messages. These phrases are then stored only once. The storage technique gives rise to a mathematical optimization problem: determine how each message should use the available phrases to minimize its storage requirement. This problem is nontrivial when phrases which overlap exist. However, a dynamic programming algorithm is presented which solves the problem in time which grows linearly with the number of characters in the text. Algorithm 444 applies to this paper. .B CACM March, 1973 .A Wagner, R. A. .K diagnostic messages, error messages, common phrases, minimum space, text storage, optimization, dynamic programming .C 3.73 4.10 5.41 .N CA730302 JB January 24, 1978 1:12 PM .X 1973 4 2537 1992 4 2537 2138 4 2537 2203 4 2537 2251 4 2537 2530 4 2537 2537 4 2537 2537 4 2537 2543 4 2537 2559 4 2537 2573 4 2537 2991 4 2537 3053 4 2537 3083 4 2537 2107 5 2537 2530 5 2537 2537 5 2537 2537 5 2537 2537 5 2537 2623 5 2537 2819 5 2537 2107 6 2537 2501 6 2537 2537 6 2537 2537 6 2537 2537 6 2537 .I 2538 .T A Computer Science Course Program for Small Colleges .W The ACM Subcommittee on Small College Programs of the Committee on Curriculum in Computer Science (CCCS) was appointed in 1969 to consider the unique problems of small colleges and universities, and to make recommendations regarding computer science programs at such schools. This report, authorized by both the subcommittee and (CCCS), supplies a set of recommendations for courses and necessary resources. Implementation problems are discussed, specifically within the constraints of limited faculty and for the purposes of satisfying a wide variety of objectives. Detailed description of four courses are given; suggestions are made for more advanced work; and an extensive library list is included. .B CACM March, 1973 .A Austing, R. H. Engel, G. L. .K computer science education, course proposals, small colleges, programming course, social implications course, computer organization course, file organization course, bibliographies .C 1.52 .N CA730301 JB January 24, 1978 1:22 PM .X 2538 5 2538 2538 5 2538 2538 5 2538 2899 5 2538 3003 5 2538 1659 6 2538 1678 6 2538 1771 6 2538 1927 6 2538 1945 6 2538 2097 6 2538 2147 6 2538 2163 6 2538 2187 6 2538 2329 6 2538 2345 6 2538 2367 6 2538 2407 6 2538 2478 6 2538 2479 6 2538 2480 6 2538 2538 6 2538 2538 6 2538 .I 2539 .T Solution of the Transcendental Equation w*exp(w)=x [C5] (Algorithm A443) .B CACM February, 1973 .A Fritsch, F. N. Shafer, R. E. Crowley,W. P. .K transcendental function evaluation, solution of transcendental equation .C 5.12 5.15 .N CA730209 JB January 24, 1978 1:26 PM .X 2539 5 2539 2539 5 2539 2539 5 2539 .I 2540 .T Properties of the Working Set Model (Corrigendum) .B CACM February, 1973 .A Denning, P. J. Schwartz, S. C. .N CA730208 JB January 24, 1978 1:28 PM .X 2540 5 2540 2540 5 2540 2540 5 2540 .I 2541 .T An Overview of the ISPL Computer System Design .W This paper explores the advantages of the concurrent design of the language, operating system, and machine (via microcode) to create an interactive programming laboratory. It describes the synergistic effect that the freedom to move and alter features from one of these domains to another has had on the design of this system (which has not been implemented). This freedom simplified both incremental compilation and the system's addressing structure, and centralized the communication mechanisms enabling the construction of hierarchical subsystems. It also suggested an important new concept for operating systems: separation of the scheduling from the maintenance functions in resource allocation. This separation enables incorporation of new scheduling algorithms (decision of what to do) without endangering the system integration (correctly performing the scheduling decisions). .B CACM February, 1973 .A Balzer, R. M. .K concurrent design, operating-system, scheduling, interprogram communication, incremental compilation, virtual addressing, debugging, hierarchical subsystems .C 4.0 4.13 4.22 4.30 4.32 4.41 4.42 6.20 .N CA730207 JB January 24, 1978 1:59 PM .X 1323 4 2541 1358 4 2541 1380 4 2541 1665 4 2541 1781 4 2541 1787 4 2541 1989 4 2541 2112 4 2541 2193 4 2541 2326 4 2541 2477 4 2541 2534 4 2541 2541 4 2541 2541 4 2541 2594 4 2541 2698 4 2541 2733 4 2541 2820 4 2541 3004 4 2541 3073 4 2541 3155 4 2541 2541 5 2541 2541 5 2541 2541 5 2541 3186 5 2541 799 5 2541 .I 2542 .T A Software Design and Evaluation System .W A critical failure of current software system design and implementation methodology is that the performance of a proposed design is not evaluated before it is actually implemented. In this paper the reasons for this failure are explored, and a new methodology which overcomes many of the difficulties is proposed. A system which integrates performance evaluation with design and implementation is described. This system is based on a simple, high level language which is used to describe the evolving system at all stages of its development. The source language description is used as direct input to performance analysis and simulation routines. Using the performance information obtained from these routines as feedback, the problems which adversely affect performance are detected early enough so that they can be corrected without costly major reimplementation of the proposed system. .B CACM February, 1973 .A Graham, R. M. Clancy, G. J. Jr. DeVaney, D. B. .K operating system development, language processing software evaluation, compilers, system programming, supervisory systems, debugging, program maintenance, modeling, system integration, simulation .C 4.0 4.12 4.22 4.30 4.42 4.43 8.1 .N CA730206 JB January 24, 1978 2:07 PM .X 2542 5 2542 2542 5 2542 2542 5 2542 .I 2543 .T Reducing the Retrieval Time of Scatter Storage Techniques .W A new method for entering and retrieving information in a hash table is described. The method is intended to be efficient if most entries are looked up several times. The expected number of probes to look up an entry, predicted theoretically and verified by Monte Carlo experiments, is considerably less than for other comparable methods if the table is nearly full. An example of a possible Fortran implementation is given. .B CACM February, 1973 .A Brent, R. P. .K address calculation, content addressing, file searching, hash addressing, hash code, linear probing, linear quotient method, scatter storage, searching, symbol table .C 3.7 3.73 3.74 4.1 4.9 .N CA730205 JB January 24, 1978 2:12 PM .X 1271 4 2543 1676 4 2543 1682 4 2543 1728 4 2543 1785 4 2543 1860 4 2543 1860 4 2543 1973 4 2543 1973 4 2543 1973 4 2543 1973 4 2543 1992 4 2543 1992 4 2543 2018 4 2543 2018 4 2543 2018 4 2543 2032 4 2543 2033 4 2543 2033 4 2543 2107 4 2543 2107 4 2543 2109 4 2543 2109 4 2543 2138 4 2543 2203 4 2543 2203 4 2543 2203 4 2543 2203 4 2543 2251 4 2543 2251 4 2543 2251 4 2543 2251 4 2543 2251 4 2543 2359 4 2543 2524 4 2543 2530 4 2543 2534 4 2543 2537 4 2543 2543 4 2543 2543 4 2543 2543 4 2543 2543 4 2543 2543 4 2543 2543 4 2543 2552 4 2543 2552 4 2543 2559 4 2543 2559 4 2543 2559 4 2543 2573 4 2543 2573 4 2543 2770 4 2543 2770 4 2543 2770 4 2543 2974 4 2543 2991 4 2543 2991 4 2543 3053 4 2543 3053 4 2543 3053 4 2543 3053 4 2543 3083 4 2543 3083 4 2543 911 4 2543 1785 5 2543 1786 5 2543 1973 5 2543 332 5 2543 2107 5 2543 2109 5 2543 2412 5 2543 2543 5 2543 2543 5 2543 2543 5 2543 3053 5 2543 3083 5 2543 1328 6 2543 1329 6 2543 1785 6 2543 1973 6 2543 1973 6 2543 1992 6 2543 2107 6 2543 2107 6 2543 2109 6 2543 2412 6 2543 2543 6 2543 2543 6 2543 2543 6 2543 2552 6 2543 2673 6 2543 2707 6 2543 2770 6 2543 .I 2544 .T Automatic Error bounds for Simple Zeros of Analytic Functions .W The Cauchy-Ostrowski theorem on convergence of Newton iterates for an analytic function in one variable is extended to include computational errors using complex interval arithmetic. Several numerical examples are given for polynomials with real and complex roots and one example for the Bessel function of the first kind. .B CACM February, 1973 .A Rokne, J. .K real intervals, complex intervals, real interval arithmetic, complex interval arithmetic, Newton's method, Cauchy-Ostrowski theorem, zeros of polynomials, zeros of Bessel functions .C 5.11 5.12 5.15 .N CA730204 JB January 24, 1978 2:51 PM .X 1524 4 2544 1931 4 2544 2214 4 2544 2544 4 2544 2544 4 2544 2544 4 2544 1524 5 2544 311 5 2544 2214 5 2544 2544 5 2544 2544 5 2544 2544 5 2544 .I 2545 .T A Theory of Discrete Patterns and Their Implementation in SNOBOL4 .W The notion of a discrete pattern is formalized and certain properties deduced. A pattern is shown to be a generalization of a formal language. Algorithms for implementing the kinds of patterns in SNOBOL4 are given. The general approach is to create, in-so-far as possible, a bottom-up parse from a top-down specification. .B CACM February, 1973 .A Gimpel, J. F. .K patterns, SNOBOL4, pattern theory, parsing, pattern matching, string processing, pattern implementation .C 4.29 5.39 .N CA730203 JB January 24, 1978 3:13 PM .X 1665 4 2545 1768 4 2545 1787 4 2545 1824 4 2545 1825 4 2545 1836 4 2545 1861 4 2545 2015 4 2545 2110 4 2545 2127 4 2545 2187 4 2545 2317 4 2545 2545 4 2545 2545 4 2545 2545 4 2545 2698 4 2545 2733 4 2545 2746 4 2545 1739 5 2545 1781 5 2545 2341 5 2545 2545 5 2545 2545 5 2545 2545 5 2545 2746 5 2545 1665 6 2545 1739 6 2545 2139 6 2545 2545 6 2545 2786 6 2545 .I 2546 .T The Use of Grammatical Inference for Designing Programming Languages .W Both in designing a new programming language and in extending an existing language, the designer is faced with the problem of deriving a "natural" grammar for the language. We are proposing an interactive approach to the grammar design problem wherein the designer presents a sample of sentences and structures as input to a grammatical inference algorithm. The algorithm then constructs a grammar which is a reasonable generalization of the examples submitted by the designer. The implementation is presently restricted to a subclass of operator precedence grammars, but a second algorithm is outlined which applies to a larger class of context-free grammars. .B CACM February, 1973 .A Crespi-Reghizzi, S. Melkanoff, M. A. Lichten, L. .K grammar design, language definition, inference, identification in the limit, extensible languages .C 3.61 4.2 5.23 .N CA730202 JB January 24, 1978 3:20 PM .X 1046 4 2546 1086 4 2546 1105 4 2546 1132 4 2546 1139 4 2546 1140 4 2546 1234 4 2546 1234 4 2546 1263 4 2546 1263 4 2546 1265 4 2546 1265 4 2546 1270 4 2546 1323 4 2546 1358 4 2546 1379 4 2546 1379 4 2546 1380 4 2546 1453 4 2546 1464 4 2546 1484 4 2546 1491 4 2546 1496 4 2546 1498 4 2546 1542 4 2546 1613 4 2546 1614 4 2546 1683 4 2546 1693 4 2546 1693 4 2546 1781 4 2546 1781 4 2546 1781 4 2546 1781 4 2546 1787 4 2546 1824 4 2546 1825 4 2546 1836 4 2546 1836 4 2546 1860 4 2546 1945 4 2546 1945 4 2546 2015 4 2546 2060 4 2546 2060 4 2546 2061 4 2546 2061 4 2546 2083 4 2546 2082 4 2546 2091 4 2546 2091 4 2546 2126 4 2546 2152 4 2546 2178 4 2546 2179 4 2546 2179 4 2546 2179 4 2546 2252 4 2546 2317 4 2546 2325 4 2546 2341 4 2546 2340 4 2546 2356 4 2546 2546 4 2546 2546 4 2546 2546 4 2546 2546 4 2546 2546 4 2546 464 4 2546 2603 4 2546 2645 4 2546 2652 4 2546 2684 4 2546 2698 4 2546 2698 4 2546 2708 4 2546 2708 4 2546 2824 4 2546 2842 4 2546 2929 4 2546 2934 4 2546 2982 4 2546 2986 4 2546 584 4 2546 3045 4 2546 3045 4 2546 3069 4 2546 3093 4 2546 631 4 2546 653 4 2546 669 4 2546 679 4 2546 680 4 2546 691 4 2546 761 4 2546 763 4 2546 795 4 2546 799 4 2546 945 4 2546 949 4 2546 989 4 2546 1477 5 2546 1491 5 2546 2126 5 2546 2546 5 2546 2546 5 2546 2546 5 2546 404 5 2546 3184 5 2546 .I 2547 .T Representation of Contours ad Regions for Efficient Computer Search .W A novel computer-searchable representation for the three basic pictorial features, contour maps, region coverage, and line structures, is described. The representation, which has practical storage requirements, provides a rapid mean of searching large files for data associated with geometric position as well as with attribute value. An application of this representation to handling terrain information illustrates its utility. The algebraic properties of the data structure make it computationally easy to determine whether a point lies within a closed boundary; compute the area contained by a closed boundary; generate the closed boundary representing the union or intersection of two closed boundaries; and determine the neighboring boundaries to a point and the minimum distances between them and the point. .B CACM February, 1973 .A Merrill, R. D. .K contour map representation, region boundary representation, computer-search-able structure, graphic data retrieval, graphic language, two-dimensional patterns, computer graphics, graphic display .C 3.21 3.23 3.79 6.35 .N CA730201 JB January 24, 1978 3:30 PM .X 1630 4 2547 2287 4 2547 2547 4 2547 2547 4 2547 2987 4 2547 3062 4 2547 3165 4 2547 1326 5 2547 1925 5 2547 2547 5 2547 2547 5 2547 2547 5 2547 2987 5 2547 1326 6 2547 1630 6 2547 2125 6 2547 2547 6 2547 2633 6 2547 421 6 2547 524 6 2547 .I 2548 .T Normal Deviate [S14] (Algorithm A442) .B CACM January, 1973 .A Hill, G. W. Davis, A. W. .K normal distribution inverse, probit transform, Taylor series approximation .C 5.12 5.5 .N CA730113 JB January 24, 1978 3:39 PM .X 1157 4 2548 1779 4 2548 1920 4 2548 1944 4 2548 1987 4 2548 2548 4 2548 2548 5 2548 2548 5 2548 2548 5 2548 714 5 2548 .I 2549 .T Random Deviates from the Dipole Distribution [G5] (Algorithm A441) .B CACM January, 1973 .A Knop, R. E. .K random number, probability density, probability distribution, Dipole distribution, Cauchy distribution, simulation, Monte Carlo .C 3.17 5.5 .N CA730112 JB January 24, 1978 3:42 PM .X 2549 5 2549 2549 5 2549 2549 5 2549 .I 2550 .T A Multidimensional Monte Carlo Quadrature with Adaptive Stratified Sampling [D1] (Algorithm A440) .B CACM January, 1973 .A Gallaher, L. J. .K Monte Carloquadrature, stratified sampling, adaptive quadrature, sequential stratification .C 5.16 5.5 .N CA730111 JB January 24, 1978 3:44 PM .X 1352 4 2550 2048 4 2550 2074 4 2550 2093 4 2550 2093 4 2550 2415 4 2550 2550 4 2550 2550 4 2550 2550 4 2550 1573 5 2550 2074 5 2550 2550 5 2550 2550 5 2550 2550 5 2550 429 5 2550 .I 2551 .T Mutual Recursion in Algol 60 Using Restricted Compilers .B CACM January, 1973 .A Atkins,M. S. .K Algol 60, mutual recursion, compiler restrictions .C 4.12 4.22 .N CA730110 JB January 24, 1978 3:46 PM .X 2551 5 2551 2551 5 2551 2551 5 2551 2658 5 2551 2551 6 2551 .I 2552 .T A Note on When To Chain Overflow Items Within a Direct-Access Table .B CACM January, 1973 .A Bays, C. .K hash code, open hash, chaining, information retrieval, collision .C 3.7 4.9 .N CA730109 JB January 24, 1978 4:07 PM .X 1271 4 2552 1676 4 2552 1682 4 2552 1728 4 2552 1785 4 2552 1785 4 2552 1860 4 2552 1973 4 2552 2018 4 2552 2032 4 2552 2033 4 2552 2107 4 2552 2109 4 2552 2203 4 2552 2203 4 2552 2251 4 2552 2258 4 2552 2319 4 2552 2313 4 2552 2359 4 2552 2359 4 2552 2437 4 2552 2524 4 2552 2543 4 2552 2543 4 2552 2552 4 2552 2552 4 2552 2552 4 2552 2552 4 2552 2559 4 2552 2781 4 2552 2860 4 2552 2991 4 2552 2991 4 2552 3053 4 2552 911 4 2552 911 5 2552 1785 5 2552 332 5 2552 2203 5 2552 2552 5 2552 2552 5 2552 2552 5 2552 3083 5 2552 1328 6 2552 1973 6 2552 2107 6 2552 2543 6 2552 2552 6 2552 .I 2553 .T The Practical Aspect of Computer Science Education-Discussion .B CACM January, 1973 .A Blount, S. E. .K education, computer engineering, computer science curriculum, systems design .C 1.52 6.0 .N CA730108 JB January 24, 1978 4:09 PM .X 2553 5 2553 2553 5 2553 2553 5 2553 .I 2554 .T Reduction of a Band-Symmetric Generalized Eigenvalue Problem .W An algorithm is described for reducing the generalized eigenvalue problem Ax = lambda Bx to an ordinary problem, in case A and B are symmetric band matrices with B positive definite. If n is the order of the matrix and m the bandwidth, the matrices A and B are partitioned into m-by-m blocks; and the algorithm is described in terms of these blocks. The algorithm reduces the generalized problem to an ordinary eigenvalue problem for a symmetric band matrix C whose bandwidth is the same as A and B. The algorithm is similar to those of Rutishauser and Schwartz for the reduction of symmetric matrices to band form. The calculation C requires order mn^2 operation. The round-off error in the calculation of C is of the same order as the sum of the errors at each of the n/m steps of the algorithm, the latter errors being largely determined by the condition of B with respect to inversion. .B CACM January, 1973 .A Crawford, C. R. .K generalized eigenvalues, symmetric band matrices .C 5.14 .N CA730107 JB January 24, 1978 4:26 PM .X 2554 5 2554 2554 5 2554 2554 5 2554 .I 2555 .T Variable-Precision Exponentiation .W A previous paper presented an efficient algorithm, called the Recomputation Algorithm, for evaluating a rational expression to within any desired tolerance on a computer which performs variable-precision arithmetic operations. The Recomputation Algorithm can be applied to expressions involving any variable-precision operations having O(10^(-p) + SUM{|Ei|}) error bounds, where p denotes the operation's precision and Ei denotes the error in the operation's ith argument. This paper presents an efficient variable-precision exponential operation with an error bound of the above order. Other operations such as log, sin, and cos, which have simple series expansions, can be handled similarly. .B CACM January, 1973 .A Richman, P. L. .K variable-precision, exponential function, error analysis, interval arithmetic .C 5.11 .N CA730106 JB January 24, 1978 4:32 PM .X 2555 4 2555 2605 4 2555 2286 5 2555 2555 5 2555 2555 5 2555 2555 5 2555 .I 2556 .T Adaptive Correction of Program Statements .W A method of analyzing statements in a programming language which can tolerate a considerable inaccuracy in their specification is proposed. This method involves principles at present mainly confined to studies in the area of artificial intelligence such as feature extraction, approximate tree matching, and strategy improvement by feedback from the matching process. A pilot program incorporating the principles is described and preliminary operating results are presented. A final section surveys further principles which are currently being investigated. .B CACM January, 1973 .A James, E. B. Partridge, D. P. .K adaptive, linguistic pattern matching, automatic parsing, approximate match, compiler, program statement analysis, syntax analysis .C 3.62 3.63 3.65 .N CA730105 JB January 24, 1978 4:38 PM .X 1179 4 2556 1288 4 2556 1544 4 2556 1646 4 2556 2111 4 2556 2257 4 2556 2360 4 2556 2451 4 2556 2451 4 2556 2452 4 2556 2534 4 2556 2534 4 2556 2556 4 2556 2556 4 2556 2556 4 2556 2556 4 2556 2650 4 2556 2650 4 2556 2708 4 2556 2765 4 2556 2887 4 2556 2978 4 2556 1935 5 2556 1936 5 2556 2111 5 2556 2556 5 2556 2556 5 2556 2556 5 2556 2698 5 2556 2708 5 2556 830 5 2556 1477 6 2556 1477 6 2556 1491 6 2556 1491 6 2556 1781 6 2556 1787 6 2556 2110 6 2556 2111 6 2556 2534 6 2556 2556 6 2556 2556 6 2556 680 6 2556 680 6 2556 799 6 2556 .I 2557 .T On the Time Required for a Sequence of Matrix Products .W This paper discusses the multiplication of conformable sequences of row vectors, column vectors, and square matrices. The minimum time required to evaluate such products on ordinary serial computers as well as parallel computers is discussed. Algorithms are presented which properly parse such matrix sequences subject to the constraints of the machine organization. .B CACM January, 1973 .A Muraoka, Y. Kuck, D. J. .K matrix expressions, matrix multiplication, operation minimization, parallel machine, time minimization .C 4.22 5.14 .N CA730104 JB January 24, 1978 4:41 PM .X 1614 4 2557 2253 4 2557 2557 4 2557 2557 5 2557 2557 5 2557 2557 5 2557 437 5 2557 3075 5 2557 3085 5 2557 2289 6 2557 2557 6 2557 2557 6 2557 2664 6 2557 2714 6 2557 .I 2558 .T Protection in Programming Languages .W Linguistic mechanisms which can be used to protect one subprogram from another's malfunctioning are described. Function-producing functions and various type-tagging schemes are considered. An attempt is made to distinguish between access limitation and authentication. .B CACM January, 1973 .A Morris, J. H. Jr. .K protection, types, environments,trademarks, seals, access keys, access control authentication, secrecy .C 4.2 4.3 .N CA730103JB January 24, 1978 4:45 PM .X 1458 4 2558 1523 4 2558 1603 4 2558 1698 4 2558 1747 4 2558 1748 4 2558 1854 4 2558 1877 4 2558 1960 4 2558 2155 4 2558 2294 4 2558 2377 4 2558 2378 4 2558 2497 4 2558 2558 4 2558 2558 4 2558 2625 4 2558 2632 4 2558 2840 4 2558 2842 4 2558 2941 4 2558 3077 4 2558 3105 4 2558 3144 4 2558 3150 4 2558 1471 5 2558 2060 5 2558 2558 5 2558 2558 5 2558 2558 5 2558 2868 5 2558 2939 5 2558 2941 5 2558 1471 6 2558 2080 6 2558 2204 6 2558 2356 6 2558 2377 6 2558 2380 6 2558 2558 6 2558 2558 6 2558 2558 6 2558 2625 6 2558 2632 6 2558 2651 6 2558 .I 2559 .T The Reallocation of Hash-Coded Tables .W When the space allocation for a hash-coded table is altered, the table entries must be rescattered over the new space. A technique for accomplishing this rescattering is presented. The technique is independent of both the length of the table and the hashing function used, and can be utilized in conjunction with a linear reallocation of the table being rescattered. Moreover, it can be used to eliminate previously flagged deletions from any hash-coded table, or to change from one hashing method to another. The efficiency of the technique is discussed and theoretical statistics are given. .B CACM January, 1973 .A Bays, C. .K reallocation, dynamic storage, hash code, scatter storage, deletions .C 3.7 3.73 3.74 4.9 .N CA730102 JB January 24, 1978 4:50 PM .X 1676 4 2559 1682 4 2559 1728 4 2559 1860 4 2559 1973 4 2559 1973 4 2559 1992 4 2559 2018 4 2559 2032 4 2559 2033 4 2559 2107 4 2559 2109 4 2559 2138 4 2559 2203 4 2559 2203 4 2559 2251 4 2559 2251 4 2559 2251 4 2559 2359 4 2559 2524 4 2559 2530 4 2559 2534 4 2559 2537 4 2559 2543 4 2559 2543 4 2559 2543 4 2559 2552 4 2559 2559 4 2559 2559 4 2559 2559 4 2559 2573 4 2559 2770 4 2559 2991 4 2559 2991 4 2559 3053 4 2559 3053 4 2559 3053 4 2559 3083 4 2559 3083 4 2559 1785 5 2559 1973 5 2559 2107 5 2559 2559 5 2559 2559 5 2559 2559 5 2559 .I 2560 .T A Queuing Model of a Multiprogrammed Computer with a Two-Level Storage System .W The results are presented of an analysis of a probabilistic model of a multiprogrammed computer system with a two-level storage system in which there is sequential dependency of accesses between the devices. Expressions are obtained for the long-run probability that both the CPU and each of the storage devices are busy. Some numerical results are given which quantify the gains in CPU utilization obtainable by multiprogramming in the presence of this type of storage system. .B CACM January, 1973 .A Shedler, G. S. .K multiprogrammed computer system, storage system, hierarchical index sets .C 4.32 .N CA730101 JB January 24, 1978 4:55 PM .X 2560 5 2560 2560 5 2560 2560 5 2560 .I 2561 .T A Heuristic Approach to Inductive Inference in Fact Retrieval Systems .W Heuristic procedures are presented which have been developed to perform inferences by generalizing from available information. The procedures make use of a similarity structure which is imposed on the data base using nonnumerical clustering algorithms. They are implemented in a model fact retrieval system which uses a formal query language and a property-list data structure. A program of experiments is described wherein the procedures are used with test data bases which are altered by deleting part of the data and by purposely introducing false data. It is found that the system can infer the correct response under a variety of conditions involving incomplete and inconsistent data. .B CACM December, 1974 .A Skinner, C. W. .K inference, inductive inference, clustering, fact retrieval, heuristics .C 3.61 3.71 3.79 .N CA741213 JB January 13, 1978 3:40 PM .X 2178 4 2561 2396 4 2561 2561 4 2561 2127 5 2561 2561 5 2561 2561 5 2561 2561 5 2561 .I 2562 .T Routing Problem (Algorithm R456) .B CACM December, 1974 .A Tesch, G. .N CA741212 JB January 13, 1978 3:42 PM .X 2562 5 2562 2562 5 2562 2562 5 2562 .I 2563 .T Merge Sort Algorithm (R426) .B CACM December, 1974 .A Bron, C. .N CA741211 JB January 13, 1978 3:43 PM .X 2563 4 2563 2348 5 2563 2563 5 2563 2563 5 2563 2563 5 2563 .I 2564 .T Hidden-Line Plotting Program (Algorithm R420) .B CACM December, 1974 .A Ellis, T. M. R. .N CA741210 JB January 13, 1978 3:45 PM .X 2564 5 2564 2564 5 2564 2564 5 2564 .I 2565 .T A Gaussian Pseudo-Random Number Generator (Algorithm 488) .B CACM December, 1974 .A Brent, R. P. .K random numbers, pseudo-random numbers, Gaussian distribution, normal distribution .C 5.39 5.5 .N CA741209 JB January 13, 1978 3:57 PM .X 2349 4 2565 2565 4 2565 2565 4 2565 1716 5 2565 2276 5 2565 2565 5 2565 2565 5 2565 2565 5 2565 .I 2566 .T Exact Cumulative Distribution of the Kolmogorov-Smirnov Statistic for Small Samples (Algorithm A487) .B CACM December, 1974 .A Pomeranz, J. .K Kolmogorov-Smirnov test, K-S statistic, goodness-of-fit testing .C 8.1 5.5 .N CA741208 JB January 13, 1978 4:08 PM .X 2566 5 2566 2566 5 2566 2566 5 2566 .I 2567 .T An Exponential Method for the Solution of Systems of Ordinary Differential Equations .W An explicit, coupled, single-step method for the numerical solution of initial value problems for systems of ordinary differential equations is presented. The method was designed to be general purpose in nature but to be especially efficient when dealing with stiff systems of differential equations. It is, in general, second order except for the case of a linear system with constant coefficients and linear forcing terms; in that case, the method is third order. It has been implemented and put to routine usage in biological applications-where stiffness frequently appears-with favorable results. When compared to a standard fourth order Runge-Kutta implementation, computation time required by this method has ranged from comparable for certain nonstiff problems to better than two orders of magnitude faster for some highly stiff systems. .B CACM December, 1974 .A Chu, S. C. Berman, M. .K numerical solution, ordinary differential equations, initial value problems, stiff systems .C 5.17 .N CA741207 JB January 13, 1978 4:20 PM .X 2567 4 2567 2567 4 2567 2268 5 2567 2567 5 2567 2567 5 2567 2567 5 2567 755 5 2567 .I 2568 .T A Graph Formulation of a School Scheduling Algorithm .W The problem classically titled "The Examination Schedule Problem" takes various forms in the literature. Most of these formulations can be presented in the terminology of classical Network Theory. One such formulation is: Given a nondirected network, partition its nodes into a minimal number of subsets such that no two members of the same subset are connected by anarc. An obvious lower limit to this number is the size of the largest strongly connected subgraph. Kirchgassner proved that an upper limit is this size plus one. One logical extension of the previous work is the introduction of variable length examinations where W(I) is the number of periods for exam I. The object of this paper is to generalize the definition of largest strongly connected subgraph to include the weighting of nodes, to present an approximate algorithm which usually finds the largest strongly connected subgraph, and to discuss the application of this algorithm to the solution of school scheduling and exam scheduling problems. .B CACM December, 1974 .A Salazar, A. Oakford, R. V. .K scheduling, school scheduling, examination scheduling, nondirected network, graph, subgraph, strongly connected subgraph .C 3.51 3.52 .N CA741206 JB January 13, 1978 4:37 PM .X 2568 5 2568 2568 5 2568 2568 5 2568 .I 2569 .T Computer Generation of Gamma Random Variates with Non-integral Shape Parameters .W When the shape parameter, a, is integral, generating gamma random variables with a digital computer is straightforward. There is no simple method for generating gamma random variates with non-integral shape parameters. A common procedure is to approximately generate such random variables by use of the so-called probability switch method. Another procedure, which is exact, is due to Johnk. This paper presents a rejection method for exactly generating gamma random variables when a is greater than 1. The efficiency of the rejection method is shown to be better than the efficiency of Johnk's method. The paper concludes that when a is non-integral the following mix of procedures yields the best combination of accuracy and efficiency: (1) when a is less than 1, use Johnk's method; (2) when 1 is less than a and a is less than 5, use the rejection method; (3) when a is greater than 5, use the probability switch method. .B CACM December,1974 .A Wallace, N. D. .K simulation, gamma random variables, probability distribution, random numbers .C 5.5 8.1 .N CA741205 JB January 16, 1978 9:35 AM .X 2569 5 2569 2569 5 2569 2569 5 2569 2847 5 2569 2928 5 2569 3046 5 2569 3098 5 2569 3107 5 2569 1751 6 2569 2277 6 2569 2380 6 2569 2522 6 2569 2569 6 2569 2569 6 2569 2569 6 2569 2569 6 2569 2569 6 2569 2847 6 2569 2847 6 2569 3098 6 2569 .I 2570 .T A Comparison of List Schedules for Parallel Processing Systems .W The problem of scheduling two or more processors to minimize the execution time of a program which consists of a set of partially ordered tasks is studied. Cases where task execution times are deterministic and others in which execution times are random variables are analyzed. It is shown that different algorithms suggested in the literature vary significantly in execution time and that the B-schedule of Coffman and Graham is near-optimal. A dynamic programming solution for the case in which execution times are random variables is presented. .B CACM December, 1974 .A Adam, T. L. Chandy, K. M. Dickson, J. R. .K parallel processing, precedence graphs, scheduling, list scheduling, optimization, dynamic programming .C 4.3 4.32 4.34 4.35 5.3 5.32 5.4 5.42 8.1 .N CA741204 JB January 16, 1978 9:42 AM .X 2570 5 2570 2570 5 2570 2570 5 2570 .I 2571 .T An Analytic Model of the Hasp Execution Task Monitor .W The HASP Execution Task Monitor periodically rearranges the OS/360 dispatching chain to give tasks preemptive execution priority in inverse order to that of their cpu utilization history. The effect is to keep the I/O bound tasks active and to prevent cpu bound tasks from locking out other tasks. This paper develops a simple model of the Execution Task Monitor and employs it to study the effectiveness of the monitor in improving system performance. A modified strategy monitor control is investigated for the case of task execution in a memory hierarchy of varying speeds. .B CACM December, 1974 .A Strauss, J. C. .K Hasp, OS/360, dispatching, scheduling, modeling, performance evaluation .C 4.32 8.1 .N CA741203 JB January 16, 1978 9:51 AM .X 2571 4 2571 3072 4 2571 3119 4 2571 2245 5 2571 2571 5 2571 2571 5 2571 2571 5 2571 .I 2572 .T Arguments for a Moratorium on the Construction of a Community Information Utility .W In this article the author urges a prudent and decentralized approach to the question of the design and desirability of computerized community information utilities. Before accepting the inevitability and desirability of this or any technology, we should: (1) be sure of the feasibility (internally and externally) of what is proposed; (2) project and perhaps wait for changes in complementary techniques; (3) evaluate current and projected supplementary techniques; (4) establish the existence of demand for what is proposed; (5) take steps to involve a representative group of ultimate users in systems design, and (6) carefully think through possible side effects on man and his world view. Current proposals for community information utilities are examined in this framework, and the conclusion is drawn that society is not yet in a position to justify either the construction of an information utility in a prototype community or the acceptance of a policy in favor of its widespread implementation. .B CACM December, 1974 .A Press, L. I. .K community information utilities, social implications, public policy .C 2.1 2.3 .N CA741202 JB January 16, 1978 10:02 AM .X 2572 5 2572 2572 5 2572 2572 5 2572 3179 5 2572 2572 6 2572 2607 6 2572 3076 6 2572 .I 2573 .T Computer Programming as an Art .B CACM December, 1974 .A Knuth, D. E. .N CA741201 JB January 16, 1978 10:04 AM .X 1860 4 2573 1973 4 2573 1973 4 2573 1992 4 2573 1992 4 2573 2018 4 2573 2033 4 2573 2107 4 2573 2109 4 2573 2138 4 2573 2203 4 2573 2203 4 2573 2251 4 2573 2251 4 2573 2251 4 2573 2530 4 2573 2537 4 2573 2543 4 2573 2543 4 2573 2559 4 2573 2573 4 2573 2573 4 2573 2573 4 2573 2770 4 2573 2770 4 2573 2991 4 2573 3053 4 2573 3083 4 2573 1786 5 2573 2018 5 2573 2107 5 2573 2573 5 2573 2573 5 2573 2573 5 2573 .I 2574 .T Multiple Exists from a Loop Using Neither GO TO nor Labels .B CACM November, 1974 .A Evans, R. V. .K goto free programming, control structures, multiple exists from loops, exit statement .C 4.20 4.22 .N CA741110 JB January 16, 1978 10:07 AM .X 2574 4 2574 2709 4 2574 2477 5 2574 2574 5 2574 2574 5 2574 2574 5 2574 .I 2575 .T The Best-Match Problem in Document Retrieval .B CACM November, 1974 .A Van Rijsbergen, C. J. .K document retrieval, best match, clustering, file searching, matching, dissimilarity, hierarchy, classification .C 3.73 3.74 3.79 5.30 .N CA741109 JB January 16, 1978 10:09 AM .X 2575 4 2575 2966 4 2575 3134 4 2575 2524 5 2575 2575 5 2575 2575 5 2575 2575 5 2575 .I 2576 .T A Simple Technique for Representing Strings in Fortran IV .B CACM November, 1974 .A Hanson, D. R. .K string processing, Fortran IV, string representation,structured programming, data structures .C 3.70 4.0 4.19 4.9 .N CA741108 JB January 16, 1978 10:12 AM .X 2576 5 2576 2576 5 2576 2576 5 2576 .I 2577 .T An On-Site Data Management System Application in Field Archaeology .B CACM November, 1974 .A Brown, J. A. Werner, B. .K APL-PLUS, archaeology, Koster prehistoric site data management, retrieval systems .C 3.36 3.70 3.73 3.89 .N CA741107 JB January 16, 1978 10:15 AM .X 2577 5 2577 2577 5 2577 2577 5 2577 .I 2578 .T Self-stabilizing Systems in Spite of Distributed Control .B CACM November, 1974 .A Dijkstra, E. W. .K multiprocessing, networks, self-stabilization, synchronization, mutual exclusion, robustness, sharing, error recovery, distributed control, harmonious cooperation, self-repair .C 4.32 .N CA741106 JB January 16,1978 10:18 AM .X 2578 5 2578 2578 5 2578 2578 5 2578 .I 2579 .T Register Allocation Via Usage Counts .W This paper introduces the notion of usage counts, shows how usage counts can be developed by algorithms that eliminate redundant computations, and describes how usage counts can provide the basis for register allocation. The paper compares register allocation based on usage counts to other commonly used register allocation techniques, and presents evidence which shows that the usage count technique is significantly better than these other techniques. .B CACM November, 1974 .A Freiburghouse, R. A. .K optimization, redundant computations, common subexpressions, register allocation, compilers, programming languages, virtual memory, demand paging .C 4.12 4.2 4.39 .N CA741105 JB January 16, 1978 10:24 AM .X 1781 4 2579 1807 4 2579 2034 4 2579 2290 4 2579 2579 4 2579 2579 4 2579 2579 4 2579 2923 4 2579 2923 4 2579 2945 4 2579 1535 5 2579 1807 5 2579 1947 5 2579 2579 5 2579 2579 5 2579 2579 5 2579 .I 2580 .T A Method for Composing Simple Traditional Music by Computer .W A method is described for composing musical rounds by computer. This method uses some music theory plus additional heuristics. Fundamental to the method is a set of productions together with sets of applicability rules and weight rules which operate on the productions deciding when and to what extent they are available for use. Several rounds generated by the computer implementation of the method are presented. Generally, the resultant music sounds mediocre to the professional although usually pleasing to the layman. It appears that full-blown music theory is not needed for rounds--all the hardware required for structural levels is not necessary for these pieces. The author has tried to address both musicians and computer scientists. .B CACM November, 1974 .A Rader, G. M. .K artificial intelligence, heuristic programming, models of cognitive processes, computer music, computer composition, music theory, formal languages, probabilistic grammars .C 3.44 3.65 5.23 .N CA741104 JB January 16, 1978 10:35 AM .X 2580 5 2580 2580 5 2580 2580 5 2580 .I 2581 .T A Locally-Organized Parser for Spoken Input .W This paper describes LPARS, a locally-organized parsing system, designed for use in a continuous speech recognizer. LPARS processes a string of phonemes which contains ambiguity and error. The system is locally-organized in the sense that it builds local parse structures from reliable word candidates recognized anywhere in an input utterance. These local structures are used as "islands of reliability" to guide the search for more highly garbled words which might complete the utterance. .B CACM November, 1974 .A Miller, P. L. .K parsing, speech recognition, speech understanding, augmented transition network, local parsing .C 3.42 3.65 3.69 .N CA741103 JB January 16, 1978 10:41 AM .X 2581 4 2581 2739 4 2581 2795 4 2581 2921 4 2581 3087 4 2581 1989 5 2581 2581 5 2581 2581 5 2581 2581 5 2581 .I 2582 .T Improving Locality by Critical Working Sets .W A new approach to program locality improvement via restructuring is described. The method is particularly suited to those systems where primary memory is managed according to a working set strategy. It is based on the concept of critical working set, a working set which does not contain the next memory reference. The data the method operates upon are extracted from a trace of the program to be restructured. It is shown that, except in some special cases, the method is not optimum. However, the experimental results obtained by using the method to restructure an interactive text editor and the file system module of an operating system have shown its substantial superiority over the other methods proposed in the literature. .B CACM November, 1974 .A Ferrari, D. .K program restructuring, program segmentation, locality improvement, memory hierarchies, virtual memory, multiprogramming, restructuring techniques, static restructuring, dynamic restructuring, working set strategy, critical working set .C 4.32 4.39 4.43 4.49 4.9 .N CA741102 JB January 16, 1978 10:50 AM .X 1892 4 2582 1901 4 2582 2085 4 2582 2095 4 2582 2218 4 2582 2277 4 2582 2319 4 2582 2319 4 2582 2329 4 2582 2358 4 2582 2365 4 2582 2373 4 2582 2380 4 2582 2434 4 2582 2499 4 2582 2501 4 2582 2582 4 2582 2582 4 2582 2582 4 2582 2582 4 2582 2669 4 2582 2669 4 2582 2828 4 2582 2863 4 2582 2881 4 2582 2928 4 2582 2996 4 2582 3006 4 2582 3054 4 2582 3067 4 2582 3152 4 2582 1751 5 2582 1924 5 2582 2017 5 2582 2130 5 2582 2582 5 2582 2582 5 2582 2582 5 2582 .I 2583 .T Guidelines for Humanizing Computerized Information Systems: A Report from Stanley House .B CACM November, 1974 .A Sterling, T. D. .K humanization, social implication, management, information systems, regulations, social and behavioral sciences, philosophy .C 1.5 2 3.3 3.4 3.5 .N CA741101 JB January 16, 1978 10:53 AM .X 2583 5 2583 2583 5 2583 2583 5 2583 3142 5 2583 2583 6 2583 3076 6 2583 .I 2584 .T Enumerating Full-Time Programmers .W Data from the 1970 Census and the Department of Labor's Area Wage Surveys are used to derive estimates of the number of full-time programmers employed during the years 1969 through 1973. The 1973 figure of 180,000 is considerably less than suggested in earlier reports. It is recommended that educational administrators consider whether the many courses aimed at training programmers are justified on a vocational basis. .B CACM October, 1974 .A Gilchrist, B. Weber, R. E. .K programmer, employment, 1970 Census, Area Wage Survey .C 1.50 2.2 2.42 .N CA741014 JB January 16, 1978 11:00 AM .X 2584 5 2584 2584 5 2584 2584 5 2584 .I 2585 .T Efficient Implementation of a Variable Projection Algorithm for Nonlinear Least Squares Problems (Errata) .B CACM October 1974 .A Krogh, F. T. .N CA741013 JB January 16, 1978 11:02 AM .X 2585 5 2585 2585 5 2585 2585 5 2585 .I 2586 .T Adapting Optimal Code Generation for Arithmetic Expressions to the Instruction Sets Available on Present-Day Computers (Errata) .B CACM October, 1974 .A Stockhausen, P. F. .N CA741012 JB January 16, 1978 11:05 AM .X 2586 5 2586 2586 5 2586 2586 5 2586 .I 2587 .T On the Construction of a Representative Synthetic Workload (Errata) .B CACM October, 1974 .A Sreenivarsan, K. Kleinman, A. J. .N CA741011 JB January 16, 1978 11:07 AM .X 2587 4 2587 2588 4 2587 2587 5 2587 2587 5 2587 2587 5 2587 2612 5 2587 .I 2588 .T Rosenbrock Function Minimization (Algorithm R450) .B CACM October, 1974 .A Klemes, J. Klemsa, J. .N CA741010 JB January 16, 1978 11:09 AM .X 2587 4 2588 2588 4 2588 2588 5 2588 2588 5 2588 2588 5 2588 2612 5 2588 .I 2589 .T A Computer Routine for Quadratic and Linear Programming Problems (Algorithm R431) .B CACM October, 1974 .A Proll, L. G. .N CA741009 JB January 16, 1978 11:10 AM .X 2589 4 2589 1353 5 2589 2589 5 2589 2589 5 2589 2589 5 2589 .I 2590 .T Hypergeometric (Algorithm C191) .B CACM October, 1974 .A Kopelaar, H. .N CA741008 JB January 16, 1978 11:14 AM .X 2590 4 2590 2590 5 2590 2590 5 2590 2590 5 2590 888 5 2590 .I 2591 .T Numerical Inversion of Laplace Transform (Algorithm A486) .B CACM October, 1974 .A Veillon, F. .K Laplace transform inversion .C 5.16 .N CA741007 JB January 16, 1978 11:17 AM .X 2591 4 2591 2124 5 2591 2591 5 2591 2591 5 2591 2591 5 2591 .I 2592 .T On Generation of Test Problems for Linear Programming Codes .W Users of linear programming computer codes have realized the necessity of evaluating the capacity, effectiveness, and accuracy of the solutions provided by such codes. Large scale linear programming codes at most installations are assumed to be generating correct solutions without ever having been "bench-marked" by test problems with known solutions. The reason for this failure to adequately test the codes is that rarely are there large problems with known solutions readily available. This paper presents a theoretical justification and an illustrative implementation of a method for generating linear programming test problems with known solutions. The method permits the generation of test problems that are of arbitrary size and have a wide range of numerical characteristics. .B CACM October, 1974 .A Charnes, A. Raike, W. M. Stutz, J. D. Walters, A. S. .K linear programming, test problem generation, LP program evaluation, LP program validation .C 5.41 .N CA741006 JB January 16, 1978 12:28 PM .X 2592 5 2592 2592 5 2592 2592 5 2592 .I 2593 .T A Back-end Computer for Data Base Management .W It is proposed that the data base management function be placed on a dedicated back-end computer which accepts commands (in a relatively high level language such as the CODASYL Data Base Task Group, April 1971 Report) from a host computer, accesses the data base on secondary storage, and returns results. The advantages of such a configuration are discussed. An experimental implementation, called the experimental Data Management System, XDMS, is described and certain conclusions about the back-end approach are drawn from this implementation. .B CACM October, 1974 .A Canaday, R. H. Harrison, R. D. Ivie, E. L. Ryder, J. L. Wehr, L. A. .K data base management, information retrieval, computer configurations, computer networks, Data Base Task Group Language, data base protection, data base portability, back-end computer .C 3.79 4.22 4.33 4.35 .N CA741005 JB January 16,1978 12:35 PM .X 2593 5 2593 2593 5 2593 2593 5 2593 2919 5 2593 2536 6 2593 2593 6 2593 2629 6 2593 .I 2594 .T Structured Data Structures .W Programming systems which permit arbitrary linked list structures enable the user to create complicated structures without sufficient protection. Deletions can result in unreachable data elements, and there is no guarantee that additions will be performed properly. To remedy this situation, this paper proposes a gauge which provides for the creation of a restricted class of data structures but ensures the correctness of the program. This is accomplished by an explicit structure declaration facility, a restriction on the permissible operations, and execution-time checks. .B CACM October, 1974 .A Shneiderman, B. Scheuermann, P. .K structured programming, data structures, data base management system .C 3.50 3.51 3.72 3.73 3.79 4.20 4.22 .N CA741004 JB January 16, 1978 12:46 PM .X 1720 4 2594 1927 4 2594 2147 4 2594 2163 4 2594 2193 4 2594 2252 4 2594 2319 4 2594 2326 4 2594 2345 4 2594 2478 4 2594 2477 4 2594 2480 4 2594 2541 4 2594 2594 4 2594 2594 4 2594 2594 4 2594 2594 4 2594 2709 4 2594 2852 4 2594 2899 4 2594 2939 4 2594 2972 4 2594 3004 4 2594 3130 4 2594 3155 4 2594 1771 5 2594 2155 5 2594 2204 5 2594 2594 5 2594 2594 5 2594 2594 5 2594 2975 5 2594 3186 5 2594 2594 6 2594 .I 2595 .T A Note on the Calculation Working Set Size .W Finite-length reference string of arbitrary structure are considered, and an exact expression for average working set size in terms of "corrected" interreference interval statistics is derived. An example is discussed; upper and lower bounds are obtained; and the average working set size function is shown to be efficiently obtained for a set of page sizes, in a single pass of the reference string. This work follows the developments of a paper by Denning and Schwartz, who consider infinite-length reference strings which satisfy certain statistical properties and who derive an expression relating the asymptotic average working set size to the asymptotic missing page rate function under working set replacement. .B CACM October, 1974 .A Slutz, D. R. Traiger, I. L. .K working-set model, paging, program behavior .C 4.3 .N CA741003 JB January 16, 1978 12:56 PM .X 2374 4 2595 2380 4 2595 2450 4 2595 2595 4 2595 2996 4 2595 3006 4 2595 3067 4 2595 2373 5 2595 2595 5 2595 2595 5 2595 2595 5 2595 2996 5 2595 3006 5 2595 3067 5 2595 1751 6 2595 1751 6 2595 1751 6 2595 1884 6 2595 2374 6 2595 2374 6 2595 2373 6 2595 2373 6 2595 2373 6 2595 2595 6 2595 2595 6 2595 2595 6 2595 2682 6 2595 2863 6 2595 2864 6 2595 3006 6 2595 .I 2596 .T A Weighted Buddy Method for Dynamic Storage Allocation .W An extension of the buddy method, called the weighted buddy method, for dynamic storage allocation is presented. The weighted buddy method allows block sizes of 2^k and 3(2^k), whereas the original buddy method allowed only block sizes of 2^k. This extension is achieved at an additional cost of only two bits per block. Simulation results are presented which compare this method with the buddy method. These results indicate that for a uniform request distribution, the buddy system has less total memory fragmentation than the weighted buddy algorithm. However, the total fragmentation is smaller for the weighted buddy method when the requests are for exponentially distributed block sizes. .B CACM October, 1974 .A Shen, K. K. Peterson, J. L. .K weighted buddy algorithm, buddy systems, memory allocation, dynamic storage allocation .C 3.89 4.32 4.39 .N CA741002 JB January 16, 1978 1:07 PM .X 1389 4 2596 1552 4 2596 2095 4 2596 2162 4 2596 2218 4 2596 2435 4 2596 2498 4 2596 2596 4 2596 2596 4 2596 2596 4 2596 2734 4 2596 2747 4 2596 2768 4 2596 2768 4 2596 2845 4 2596 2845 4 2596 2902 4 2596 2902 4 2596 2902 4 2596 2911 4 2596 2911 4 2596 2955 4 2596 2955 4 2596 3000 4 2596 1184 5 2596 1879 5 2596 2435 5 2596 2596 5 2596 2596 5 2596 2596 5 2596 2902 5 2596 2955 5 2596 1051 6 2596 1062 6 2596 1184 6 2596 1184 6 2596 1211 6 2596 1552 6 2596 1879 6 2596 2435 6 2596 2435 6 2596 2596 6 2596 2596 6 2596 2734 6 2596 2747 6 2596 2747 6 2596 2768 6 2596 2773 6 2596 .I 2597 .T Monitors: An Operating System Structuring Concept .W This paper develops Brinch-Hansen's concept of a monitor as a method of structuring an operating system. It introduces a form of synchronization, describes a possible method of implementation in terms of semaphores and gives a suitable proof rule. Illustrative examples include a single resource scheduler, a bounded buffer, an alarm clock, a buffer pool, a disk head optimizer, and a version of the problem of readers and writers. .B CACM October, 1974 .A Hoare, C. A. R. .K monitors, operating systems, scheduling, mutual exclusion, synchronization, system implementation languages, structured multiprogramming .C 4.31 4.22 .N CA741001 JB January 16, 1978 1:23 PM .X 2320 4 2597 2597 4 2597 2597 4 2597 2777 4 2597 2851 4 2597 2895 4 2597 2912 4 2597 2946 4 2597 3128 4 2597 2150 5 2597 2320 5 2597 2597 5 2597 2597 5 2597 2597 5 2597 2865 5 2597 2866 5 2597 2898 5 2597 2972 5 2597 3043 5 2597 3128 5 2597 3144 5 2597 970 6 2597 1471 6 2597 1834 6 2597 2150 6 2597 2204 6 2597 2298 6 2597 2356 6 2597 2376 6 2597 2436 6 2597 2491 6 2597 2597 6 2597 2597 6 2597 2597 6 2597 2597 6 2597 2597 6 2597 2597 6 2597 2597 6 2597 2624 6 2597 2625 6 2597 2632 6 2597 2732 6 2597 2732 6 2597 2738 6 2597 2796 6 2597 2865 6 2597 2866 6 2597 2870 6 2597 2912 6 2597 2946 6 2597 3082 6 2597 .I 2598 .T Extending the Information Theory Approach to Converting Limited-Entry Decision Tables to Computer Programs .W This paper modifies an earlier algorithm for converting decision tables into flowcharts which minimize subsequent execution time when compiled into a computer program. The algorithms considered in this paper perform limited search and, accordingly, do not necessarily result in globally optimal solutions. However, the greater search effort needed to obtain a globally optimal solution for complex decision tables is usually not justified by sufficient savings in execution time. There is an analogy between the problem of converting decision tables into efficient flowcharts and the well-understood problem in information theory of noiseless coding. The results of the noiseless coding literature are used to explore the limitations of algorithms used to solve the decision table problem. The analogy between the two problems is also used to develop improvements to the information algorithm in extending the depth of search under certain conditions and in proposing additional conditions to be added to the decision table. Finally, the information algorithm is compared with an algorithm proposed in a recent paper by Verhelst. .B CACM September, 1974 .A Shwayder, K. .K coding, decision tables, flowcharting, information theory, noiseless channel, sorting .C 3.50 5.31 .N CA740910 JB January 17, 1978 8:40 AM .X 1354 4 2598 2053 4 2598 2220 4 2598 2220 4 2598 2273 4 2598 2273 4 2598 2453 4 2598 2453 4 2598 2492 4 2598 2518 4 2598 2598 4 2598 2598 4 2598 2598 4 2598 2598 4 2598 2598 4 2598 2598 4 2598 2616 4 2598 2691 4 2598 2726 4 2598 2726 4 2598 2726 4 2598 2726 4 2598 2856 4 2598 2856 4 2598 2856 4 2598 3113 4 2598 3113 4 2598 1172 5 2598 1548 5 2598 2220 5 2598 2263 5 2598 2453 5 2598 2598 5 2598 2598 5 2598 2598 5 2598 2691 5 2598 2845 5 2598 2856 5 2598 3113 5 2598 1172 6 2598 1184 6 2598 1327 6 2598 1354 6 2598 1354 6 2598 2053 6 2598 2220 6 2598 2263 6 2598 2435 6 2598 2453 6 2598 2598 6 2598 2598 6 2598 2598 6 2598 2691 6 2598 2736 6 2598 2747 6 2598 2768 6 2598 2856 6 2598 .I 2599 .T First Order Approximation to the Optimum Checkpoint Interval .B CACM September, 1974 .A Young, J. W. .K checkpoint, job failure, operations, programming checkpoint, random failure, operations, programming .C 2.43 4.0 .N CA740909 JB January 17, 1978 8:42 AM .X 2599 5 2599 2599 5 2599 2599 5 2599 3089 5 2599 2599 6 2599 .I 2600 .T Computation of g-Splines via a Factorization Method [E2] (Algorithm A485) .B CACM September, 1974 .A Eidson, H. D. Schumaker, L. L. .K approximation, spline approximation .C 5.13 .N CA740908 JB January 17, 1978 8:44 AM .X 2600 5 2600 2600 5 2600 2600 5 2600 .I 2601 .T Evaluation of the Modified Bessel Functions K0(Z) and K1(Z) for Complex Arguments [S17] (Algorithm A484) .B CACM September, 1974 .A Burrell, K. H. .K Bessel functions, Hankel functions, modified Bessel functions, Gauss-Hermite quadrature .C 5.12 .N CA740907 JB January 17, 1978 8:47 AM .X 2601 5 2601 2601 5 2601 2601 5 2601 .I 2602 .T Masked Three-Dimensional Plot Program with Rotations [J6] (Algorithm A483) .B CACM September, 1974 .A Watkins, S. L. .K plotting, three-dimensional plotting .C 4.41 .N CA740906 JB January 17, 1978 8:49 AM .X 2602 5 2602 2602 5 2602 2602 5 2602 .I 2603 .T The Equivalence of Reducing Transition Languages and Deterministic Languages .W The class of reducing transition languages introduced by Eickel, Paul, Bauer, and Samelson was shown by Morris to be a proper superclass of the simple precedence languages. In this paper this result is extended, showing that, in fact, the first class is equivalent to the class of deterministic context free languages. .B CACM September, 1974 .A Schkolnick, M. .K reducing transition languages, syntax controlled generators, deterministic context-free grammars .C 4.12 5.23 .N CA740905 JB January 17, 1978 8:52 AM .X 1215 4 2603 1542 4 2603 1683 4 2603 1693 4 2603 1781 4 2603 1781 4 2603 1787 4 2603 1787 4 2603 1836 4 2603 1945 4 2603 1945 4 2603 2060 4 2603 2061 4 2603 2082 4 2603 2091 4 2603 2152 4 2603 2179 4 2603 2340 4 2603 2356 4 2603 2546 4 2603 2603 4 2603 2603 4 2603 2698 4 2603 2708 4 2603 2824 4 2603 2982 4 2603 2986 4 2603 3045 4 2603 3093 4 2603 1491 5 2603 2603 5 2603 2603 5 2603 2603 5 2603 763 5 2603 .I 2604 .T An Interactive Graphic Display for Region Partitioning by Linear Programming .W Using linear programming, an interactive graphic display system has been implemented to solve the region design problem of partitioning a region into N nonoverlapping subregions in such a way that their areas are in specified proportions and that the total cost of servicing them is a minimum. In a conversational manner, a user can easily obtain different partitionings by specifying and modifying the boundary, the service centers' locations, the area proportions, and the cost functions. Examples are included. .B CACM September, 1974 .A Cheung, T. .K interactive graphic display, region partitioning, area specification, linear programming .C 5.41 8.2 8.3 .N CA740904 JB January 17, 1978 8:56 AM .X 2604 4 2604 1977 5 2604 2604 5 2604 2604 5 2604 2604 5 2604 .I 2605 .T A Precise Numerical Analysis Program .W A description is given of a program for computing the solution to a small number of standard numerical analysis problems to any specified accuracy, up to a limit of 2000 correct decimal places. Each computed number is bounded in an interval with a multiple precision midpoint. Arithmetic operations involving these numbers are executed according to interval arithmetic concepts, with non-significant digits automatically discarded. Details are supplied of problem specification and problem computation. .B CACM September, 1974 .A Aberth, O. .K interval arithmetic, multiple precision, list structure, error control .C 4.49 5.10 5.11 5.12 5.14 5.19 .N CA740903 JB January 17, 1978 9:01 AM .X 1258 4 2605 1292 4 2605 1497 4 2605 1975 4 2605 2555 4 2605 2605 4 2605 2605 4 2605 1026 5 2605 2286 5 2605 2605 5 2605 2605 5 2605 2605 5 2605 .I 2606 .T A New Integration Algorithm for Ordinary Differential Equations Based on Continued Fraction Approximations .W A new integration algorithm is found, and an implementation is compared with other programmed algorithms. The new algorithm is a step-by-step procedure for solving the initial value problem in ordinary differential equations. It is designed to approximate poles of small integer order in the solutions of the differential equations by continued fractions obtained by manipulating the sums of truncated Taylor series expansions. The new method is compared with Gragg-Bulirsh-Stoer, and the Taylor series method. The Taylor series method and the new method are shown to be superior in speed and accuracy, while the new method is shown to be most superior when the solution is required near a singularity. The new method can finally be seen to pass automatically through singularities where all the other methods which are discussed will have failed. .B CACM September, 1974 .A Willers, I. M. .K ordinary differential equations, initial value problem, integration, Taylor series, singularities, continued fractions, program comparison .C 5.17 .N CA740902 JB January 17, 1978 9:06 AM .X 2606 5 2606 2606 5 2606 2606 5 2606 .I 2607 .T A Problem-List of Issues Concerning Computers and Public Policy .B CACM September, 1974 .A ACM Committee .K economic and sociological effects, the public and computers .C 2.11 2.12 .N CA740901 JB January 17, 1978 9:08 AM .X 2607 5 2607 2607 5 2607 2607 5 2607 2756 5 2607 3076 5 2607 3179 5 2607 2572 6 2607 2607 6 2607 2607 6 2607 2607 6 2607 2840 6 2607 3076 6 2607 .I 2608 .T Recurrence Relations for the Fresnel Integral and Similar Integrals .B CACM August,1974 .A Acton, F. S. .K recurrence relations, Fresnel integral, exponential integral .C 5.12 .N CA740816 JB January 17, 1978 9:14 AM .X 2608 5 2608 2608 5 2608 2608 5 2608 .I 2609 .T Interpolation with Rounded Ramp Functions .W A new interpolation function is introduced. It has infinitely many continuous derivatives and is a composition of ramp functions with smoothed bends called Rounded Ramp Functions. How the interpolation function can be extended to more than one variable is shown. An efficient Fortran program is given by which the interpolation function can be obtained for a given point set. .B CACM August, 1974 .A Lagerlof, R. O. E. .K interpolation, approximation, smooth interpolation, multi variable interpolation, interpolation function, approximation function, spline-like function .C 5.13 .N CA740815 JB January 17, 1978 9:18 AM .X 2609 5 2609 2609 5 2609 2609 5 2609 .I 2610 .T Gauss Harmonic Interpolation Formulas .W Let R be an open, bounded, simply connected region in the (x,y)-plane and let (x*,y*) be a point in R. Assuming R is starlike with respect to (x*,y*), we discuss a method for computing Gauss harmonic interpolation formulas for R and the point (x*,y*). Such formulas approximate a harmonic function at (x*,y*) in terms of a linear combination of its values at certain selected points on the boundary of R. Such formulas are useful for approximating the solution of the Dirichlet problem for R. .B CACM August, 1974 .A Stroud, A. H. .K interpolation, quadrature, harmonic interpolation, harmonic quadrature, Dirichlet problem .C 5.13 5.16 5.17 .N CA740814 JB January 17, 1978 9:23 AM .X 2610 5 2610 2610 5 2610 2610 5 2610 .I 2611 .T The Complex Method for Constrained Optimization (Algorithm R454) .B CACM August, 1974 .A Shere, K. D. .N CA740813 JB January 17, 1978 9:28 AM .X 2611 5 2611 2611 5 2611 2611 5 2611 .I 2612 .T Rosenbrock Function Minimization (Algorithm R450) .B CACM August, 1974 .A Bultheel, A. .N CA740812 JB January 17, 1978 9:33 AM .X 2587 5 2612 2588 5 2612 2612 5 2612 2612 5 2612 2612 5 2612 2612 6 2612 2612 6 2612 .I 2613 .T Transitivity Sets [G7] (Algorithm A482) .B CACM August, 1974 .A McKay, J. Regener, E. .K transitivity, sets .C 5.39 .N CA740811 JB January 17, 1978 9:35 AM .X 2613 5 2613 2613 5 2613 2613 5 2613 .I 2614 .T Arrow to Precedence Network Transformation [H] (Algorithm A481) .B CACM August, 1974 .A Crandall, K. C. .K critical path, networks, precedence networks .C 3.23 5.40 .N CA740810 JB January 17, 1978 9:37 AM .X 2614 5 2614 2614 5 2614 2614 5 2614 .I 2615 .T Procedures for computing Smoothing and Interpolating Natural Splines [E1] (Algorithm A480) .B CACM August, 1974 .A Lyche, T. Schumaker, L. L. .K approximation, interpolation, spline, natural spline, spline smoothing .C 5.13 .N CA740809 JB January 17, 1978 9:40 AM .X 2615 5 2615 2615 5 2615 2615 5 2615 .I 2616 .T On the Conversion of Programs to Decision Tables: Method and Objectives .W The problems of converting programs to decision tables are investigated. Objectives of these conversions are mainly program debugging and optimization in practice. Extensions to the theory of computation and computability are suggested. .B CACM August, 1974 .A Cavouras, J. C. .K decision tables, program optimization, debugging, semantics, theory of programming, systems analysis .C 4.19 4.42 4.43 5.21 5.29 .N CA740808 JB January 17, 1978 9:43 AM .X 2053 4 2616 2220 4 2616 2492 4 2616 2517 4 2616 2518 4 2616 2518 4 2616 2598 4 2616 2616 4 2616 2616 4 2616 2616 4 2616 2616 4 2616 2726 4 2616 3034 4 2616 3034 4 2616 795 4 2616 931 5 2616 1548 5 2616 1684 5 2616 2517 5 2616 2616 5 2616 2616 5 2616 2616 5 2616 .I 2617 .T A Note on Subexpression Ordering in the Evaluation of Arithmetic Expressions .B CACM August, 1974 .A Denning, P. J. Graham, G. S. .N CA740807 JB January 17, 1978 9:44 AM .X 2617 5 2617 2617 5 2617 2617 5 2617 .I 2618 .T A New Solution of Dijkstra's Concurrent Programming Problem .W A simple solution to the mutual exclusion problem is presented which allows the system to continue to operate despite the failure of any individual component. .B CACM August, 1974 .A Lamport, L. .K critical section, concurrent programming, multiprocessing, semaphores .C 4.32 .N CA740806 JB January 17, 1978 9:48 AM .X 1781 4 2618 1828 4 2618 1854 4 2618 1877 4 2618 1960 4 2618 2150 4 2618 2150 4 2618 2150 4 2618 2228 4 2618 2228 4 2618 2256 4 2618 2256 4 2618 2317 4 2618 2317 4 2618 2319 4 2618 2377 4 2618 2342 4 2618 2342 4 2618 2342 4 2618 2376 4 2618 2376 4 2618 2379 4 2618 2424 4 2618 2482 4 2618 2618 4 2618 2618 4 2618 2618 4 2618 2618 4 2618 2632 4 2618 2704 4 2618 2723 4 2618 2738 4 2618 2740 4 2618 2741 4 2618 2867 4 2618 3184 4 2618 3184 4 2618 1198 5 2618 1338 5 2618 1749 5 2618 2256 5 2618 2618 5 2618 2618 5 2618 2618 5 2618 2895 5 2618 2150 6 2618 2618 6 2618 .I 2619 .T Graph Coloring Conditions for the Existence of Solutions to the Timetable Problem .W A necessary and sufficient condition is presented for the existence of a solution to the Gotlieb class-teacher timetable problem. Several relationships are established between the class-teacher timetable problem and graphs with preconditions. These preconditions place additional restrictions on the coloration of a graph. The preconditions correspond to the unavailability constraints and preassigned meetings in the class-teacher timetable problem. Using some recent results that convert graphs with preconditions to graphs without them, it is shown that the existence of a coloration of a graph is the required necessary and sufficient condition. .B CACM August, 1974 .A Neufeld, G. A. Tartar, J. .K graphs, coloration, preassignment, prevention of assignment, class-teacher timetables .C 3.9 5.30 5.32 5.59 .N CA740805 JB January 17, 1978 9:55 AM .X 1355 4 2619 2619 4 2619 2619 4 2619 2772 4 2619 2787 4 2619 1419 5 2619 1429 5 2619 2619 5 2619 2619 5 2619 2619 5 2619 .I 2620 .T Execution Time Requirements for Encipherment Programs .W Although encipherment has often been discussed as a means to protect computer data, its costs are not well established. Five experiments were conducted to measure the cpu time on a CDC 6400 required by additive ciphers programmed both in assembly language and in Fortran: a "null transformation" to measure the time to move data without encipherment; encipherment with one-word key; encipherment with a 125-word key; double key encipherment; and encipherment using a pseudo random key. The results were analyzed for consistency over 100 runs, and the effects of constant and intermittent errors were considered. Timing rates for assembly language encipherment ranged from 498,800 characters per second for a pseudo random key cipher to 2,092,000 characters per second for a constant one-word key cipher. The latter is almost equivalent to the rate required simply to move data without encipherment. Fortran tests required over four times as much cpu time. This paper introduces the idea on enciphering time coefficient the ratio of enciphering time to the time taken to fetch and store data without encipherment. .B CACM August, 1974 .A Friedman, T. D. offman, L. J. .K encipherment, ciphers, security, privacy transformations, protection, cryptography, cryptology .C 2.12 2.43 3.70 3.81 4.32 4.39 .N CA740804 JB January 17, 1978 10:05 AM .X 2620 5 2620 2620 5 2620 2620 5 2620 .I 2621 .T A High Security Log-in Procedure .W The protection of time sharing systems from unauthorized users is often achieved by the use of passwords. By using one-way ciphers to code the passwords, the risks involved with storing the passwords in the computer can be avoided. We discuss the selection of a suitable one-way cipher and suggest that for this purpose polynomials over a prime modulus are superior to one-way ciphers derived from Sannon codes. .B CACM August, 1974 .A Purdy, G. B. .K operating systems, time sharing systems, security, cryptography .C 4.35 .N CA740803 JB January 17, 1978 10:10 AM .X 2621 5 2621 2621 5 2621 2621 5 2621 .I 2622 .T A User Authentication Scheme Not Requiring Secrecy in the Computer .W In many computer operating systems a user authenticates himself by entering a secret password known solely to himself and the system. The system compares this password with one recorded in a Password Table which is available to only the authentication program. The integrity of the system depends on keeping the table secret. In this paper a password scheme is presented which does not require secrecy in the computer. All aspects of the system, including all relevant code and data bases, may be known by anyone attempting to intrude. The scheme is based on using a function H which the would-be intruder is unable to invert. This function is applied to the user's password and the result compared to a table entry, a match being interpreted as authentication of the user. The intruder may know all about H and have access to the table, but he can penetrate the system only if he can invert H to determine an input that produces a given output. This paper discusses issues surrounding selection of a suitable H. Two different plausible arguments are given that penetration would be exceedingly difficult, and it is then argued that more rigorous results are unlikely. Finally, some human engineering problems relating to the scheme are discussed. .B CACM August, 1974 .A Evans, A. Jr. Kantrowitz, W. Weiss, E. .K operating system security, security, authentication, passwords, one-way encryption, cryptology .C 4.39 5.39 .N CA740802 JB January 17, 1978 10:19 AM .X 2622 5 2622 2622 5 2622 2622 5 2622 .I 2623 .T A New Technique for Compression and Storage of Data .W The widespread tendency toward storage of large programs and blocks off text has produced a need for efficient methods of compressing and storing data. This paper describes techniques that can, in most cases, decrease storage size by a factor of from two to four. The techniques involve special handling of leading and trailing blanks, and the encoding of other symbols in groups of fixed size as unique fixed point numbers. The efficiency of the system is considered and pertinent statistics are given and compared with statistics for other information coding techniques. .B CACM August, 1974 .A Hahn, B. .K file maintenance, information retrieval, utility programs, text compression, coding techniques, data storage, data management .C 3.70 3.73 4.49 .N CA740801 JB January 17, 1978 10:25 AM .X 2530 4 2623 2623 4 2623 2623 4 2623 2819 4 2623 2501 5 2623 2537 5 2623 2623 5 2623 2623 5 2623 2623 5 2623 .I 2624 .T Formal Requirements for Virtualizable Third Generation Architectures .W Virtual machine systems have been implemented on a limited number of third generation computer systems, e.g. CP-67 on the IBM 360/67. From previous empirical studies, it is known that certain third generation computer systems, e.g. the DEC PDP-10, cannot support a virtual machine system. In this paper, model of a third-generation-like computer system is developed. Formal techniques are used to derive precise sufficient conditions to test whether such an architecture can support virtual machines. .B CACM July, 1974 .A Popek, G. J. Goldberg, R. P. .K operating system, third generation architecture, sensitive instruction, formal requirements, abstract model, proof, virtual machine, virtual memory, hypervisor, virtual machine monitor .C 4.32 4.35 5.21 5.22 .N CA740707 JB January 17, 1978 11:19 AM .X 2624 5 2624 2624 5 2624 2624 5 2624 3144 5 2624 1471 6 2624 2298 6 2624 2491 6 2624 2597 6 2624 2624 6 2624 2625 6 2624 2632 6 2624 .I 2625 .T Capability-Based Addressing .W Various addressing schemes making use of segment tables are examined. The inadequacies of these schemes when dealing with shared addresses are explained. These inadequacies are traced to the lack of an efficient absolute address for objects in these systems. The direct use of a capability as an address is shown to overcome these difficulties because it provides the needed absolute address. Implementation of capability-based addressing is discussed. It is predicted that the use of tags to identify capabilities will dominate. A hardware address translation scheme which never requires the modification of the representation of capabilities is suggested. The scheme uses a main memory hash table for obtaining a segment's location in main memory given its unique code. The hash table is avoided for recently accessed segments by means of a set of associative registers. A computer using capability-based addressing may be substantially superior to present systems on the basis of protection, simplicity of programming conventions, and efficient implementation. .B CACM July, 1974 .A Fabry, R. S. .K addressing, capabilities, addressing hardware, protection, protection hardware, shared addresses, information sharing, operating systems, computer utility, segmentation, tagged architecture .C 4.30 4.32 4.34 6.21 .N CA740706 JB January 17, 1978 12:39 PM .X 1458 4 2625 1523 4 2625 1603 4 2625 1698 4 2625 1747 4 2625 1748 4 2625 1854 4 2625 1877 4 2625 1960 4 2625 2317 4 2625 2358 4 2625 2377 4 2625 2377 4 2625 2378 4 2625 2497 4 2625 2558 4 2625 2625 4 2625 2625 4 2625 2625 4 2625 2625 4 2625 2626 4 2625 2632 4 2625 2669 4 2625 2840 4 2625 2922 4 2625 2941 4 2625 3081 4 2625 3101 4 2625 3105 4 2625 3112 4 2625 3144 4 2625 1471 5 2625 1753 5 2625 2358 5 2625 2438 5 2625 2625 5 2625 2625 5 2625 2625 5 2625 2626 5 2625 2868 5 2625 3105 5 2625 3144 5 2625 1471 6 2625 1471 6 2625 1746 6 2625 2080 6 2625 2298 6 2625 2358 6 2625 2377 6 2625 2377 6 2625 2380 6 2625 2491 6 2625 2558 6 2625 2597 6 2625 2624 6 2625 2625 6 2625 2625 6 2625 2625 6 2625 2625 6 2625 2629 6 2625 2632 6 2625 2632 6 2625 2632 6 2625 2868 6 2625 2939 6 2625 3068 6 2625 .I 2626 .T Protection and the Control of Information Sharing in Multics .W The design of mechanisms to control the sharing of information in the Multics system is described. Five design principles help provide insight into the tradeoffs among different possible designs. The key mechanisms described include access control lists, hierarchical control of access specifications, identification and authentication of users, and primary memory protection. The paper ends with a discussion of several known weaknesses in the current protection mechanism design. .B CACM July, 1974 .A Saltzer, J. H. .K Multics, protection, security, privacy, access control, authentication, computer utilities, time-sharing systems, proprietary programs, protected subsystems, virtual memory, descriptors .C 3.70 4.30 6.2 .N CA740705 JB January 17, 1978 12:49 PM .X 1753 4 2626 2358 4 2626 2377 4 2626 2377 4 2626 2372 4 2626 2436 4 2626 2625 4 2626 2626 4 2626 2626 4 2626 2626 4 2626 2626 4 2626 2626 4 2626 2669 4 2626 2786 4 2626 2840 4 2626 2840 4 2626 2868 4 2626 2868 4 2626 2870 4 2626 2919 4 2626 3017 4 2626 3105 4 2626 3110 4 2626 3144 4 2626 3174 4 2626 1746 5 2626 2358 5 2626 2377 5 2626 2625 5 2626 2626 5 2626 2626 5 2626 2626 5 2626 2629 5 2626 2840 5 2626 1471 6 2626 1746 6 2626 2436 6 2626 2626 6 2626 2629 6 2626 .I 2627 .T Scheduling Independent Tasks to Reduce Mean Finishing Time .W Sequencing to minimize mean finishing time (or mean time in system) is not only desirable to the user, but it also tends to minimize at each point in time the storage required to hold incomplete tasks. In this paper a deterministic model of independent tasks is introduced and new results are derived which extend and generalize the algorithms known for minimizing mean finishing time. In addition to presenting and analyzing new algorithms it is shown that the most general mean-finishing-time problem for independent tasks is polynomial complete, and hence unlikely to admit of a non-enumerative solution .B CACM July, 1974 .A Bruno, J. Coffman, E. G. Jr. Sethi, R. .K minimizing mean finishing time, minimizing mean flow time, sequencing algorithms, optimal scheduling algorithms, deterministic scheduling models .C 4.32 5.39 .N CA740704 JB January 17, 1978 12:56 PM .X 2627 5 2627 2627 5 2627 2627 5 2627 .I 2628 .T Minimal-Total-Processing Time Drum and Disk Scheduling Disciplines .W This article investigates the application of minimal-total-processing-time (MTPT) scheduling disciplines to rotating storage units when random arrival of requests is allowed. Fixed-head drum and moving-head drum and moving-head disk storage units are considered, and emphasis is placed on the relative merits of the MTPT scheduling discipline with respect to the shortest-latency-time-first (SLTF) scheduling discipline. The results of the simulation studies presented show that neither scheduling discipline is unconditionally superior to the other. For most fixed-head drum applications, the SLTF discipline is preferable to MTPT, but for intra-cylinder disk scheduling the MTPT discipline offers a distinct advantage over the SLTF discipline. The computational requirements of an algorithm that implements the MTPT scheduling discipline are shown to be comparable to SLTF algorithms. In both cases, the sorting procedure is the most time-consuming phase of the algorithm. .B CACM July, 1974 .A Fuller, S. H. .K drum scheduling, disk scheduling, shortest-latency-time-first (SLTF), minimal-total-processing-time (MTPT), rotating storage units .C 4.31 4.41 6.34 6.35 .N CA740703 JB January 17, 1978 1:07 PM .X 2628 4 2628 2628 4 2628 2891 4 2628 3072 4 2628 3097 4 2628 2375 5 2628 2496 5 2628 2628 5 2628 2628 5 2628 2628 5 2628 2891 5 2628 2375 6 2628 2628 6 2628 .I 2629 .T The UNIX Time-Sharing system .W UNIX is a general-purpose, multi-user, interactive operating system for the Digital Equipment Corporation PDP-11/40 and 11/45 computers. It offers a number of features seldom found even in larger operating systems, including: (1) a hierarchical file system incorporating demountable volumes; (2) compatible file, device, and inter-process I/O; (3) the ability to initiate asynchronous processes; (4) system command language selectable on a per-user basis; and (5) over 100 subsystems including a dozen languages.This paper discusses the nature and implementation of the file system and of the user command interface. .B CACM July, 1974 .A Ritchie, D. M. Thompson, K. .K time-sharing, operating system, file system, command language, PDP-11 .C 4.30 4.32 .N CA740702 JB January 17, 1978 1:40 PM .X 2299 4 2629 2501 4 2629 2629 4 2629 2629 4 2629 2868 4 2629 2915 4 2629 2928 4 2629 2951 4 2629 3114 4 2629 1502 5 2629 2380 5 2629 2626 5 2629 2629 5 2629 2629 5 2629 2629 5 2629 2786 5 2629 2840 5 2629 2919 5 2629 3017 5 2629 3110 5 2629 3174 5 2629 1471 6 2629 1746 6 2629 1746 6 2629 2194 6 2629 2358 6 2629 2377 6 2629 2436 6 2629 2536 6 2629 2593 6 2629 2625 6 2629 2626 6 2629 2629 6 2629 2629 6 2629 2629 6 2629 2629 6 2629 2629 6 2629 2629 6 2629 2629 6 2629 2858 6 2629 .I 2630 .T On Computing Sets of Shortest Paths in a Graph .W Two algorithms are presented that construct the k shortest paths between every pair of vertices in a directed graph. These algorithms generalize the Floyd algorithm and the Dantzig algorithm for finding the shortest path between every pair of vertices in a directed graph. .B CACM June, 1974 .A Minieka, E. .K graph, network, shortest path, algorithm .C 5.32 .N CA740616 JB January 17, 1978 1:55 PM .X 1846 4 2630 2630 4 2630 2650 4 2630 2630 5 2630 2630 5 2630 2630 5 2630 2757 5 2630 2933 5 2630 576 5 2630 1059 6 2630 2630 6 2630 2630 6 2630 2757 6 2630 .I 2631 .T An Information-Theoretic Approach to Text Searching in Direct Access Systems .W Using direct access computer files of bibliographic information, an attempt is made to overcome one of the problems often associated with information retrieval, namely, the maintenance and use of large dictionaries, the greater part of which is used only infrequently. A novel method is presented, which maps the hyperbolic frequency distribution. This is more suited to implementation on storage devices. This method treats text as a string of characters rather than words bounded by spaces, and chooses subsets of strings such that their frequencies of occurrence are more even than those of word types. The members of this subset are then used as index keys for retrieval. The rectangular distribution of key frequencies results in a much simplified file organization and promises considerable cost advantages. .B CACM June, 1974 .A Barton, I. J. Creasey, S. E. Lynch, M. F. Snell, M. J. .K text searching, information theory, file organization, direct access, information retrieval, character string, bit vector .C 3.42 3.70 3.73 3.74 5.6 .N CA740615 JB January 17, 1978 2:07 PM .X 2532 4 2631 2631 4 2631 2631 4 2631 2746 4 2631 3001 4 2631 2139 5 2631 2532 5 2631 2631 5 2631 2631 5 2631 2631 5 2631 .I 2632 .T HYDRA: The Kernel of a Multiprocessor Operating System .W This paper describes the design philosophy of HYDRA-the kernel of an operating system for C.mmp, the Carnegie-Mellon Multi-Mini-Processor. This philosophy is realized through the introduction of a generalized notion of "resource", both physical and virtual, called an "object". Mechanisms are presented for dealing with objects, including the creation of new types, specification of new operations applicable to a given type, sharing, and protection of any reference to a given object against improper application of any of the operations defined with respect to that type of object. The mechanisms provide a coherent basis for extension of the system in two directions: the introduction of new facilities, and the creation of highly secure systems. .B CACM June, 1974 .A Wulf, W. Cohen, E. Corwin, W. Jones, A. Levin, R. Pierson, C. Pollack, F. .K operating system, kernel, nucleus, protection, security .C 4.3 6.2 .N CA740614 JB January 17, 1978 2:40 PM .X 1458 4 2632 1523 4 2632 1603 4 2632 1698 4 2632 1747 4 2632 1748 4 2632 1828 4 2632 1854 4 2632 1854 4 2632 1877 4 2632 1877 4 2632 1960 4 2632 1960 4 2632 2150 4 2632 2317 4 2632 2319 4 2632 2319 4 2632 2377 4 2632 2377 4 2632 2378 4 2632 2378 4 2632 2342 4 2632 2376 4 2632 2379 4 2632 2320 4 2632 2424 4 2632 2482 4 2632 2497 4 2632 2558 4 2632 2618 4 2632 2625 4 2632 2632 4 2632 2632 4 2632 2632 4 2632 2704 4 2632 2723 4 2632 2738 4 2632 2738 4 2632 2740 4 2632 2740 4 2632 2741 4 2632 2840 4 2632 2867 4 2632 2868 4 2632 2941 4 2632 3105 4 2632 3127 4 2632 3144 4 2632 3184 4 2632 1471 5 2632 1749 5 2632 2080 5 2632 2632 5 2632 2632 5 2632 2632 5 2632 2868 5 2632 2870 5 2632 2876 5 2632 3105 5 2632 3144 5 2632 953 6 2632 1471 6 2632 1471 6 2632 2080 6 2632 2298 6 2632 2377 6 2632 2377 6 2632 2380 6 2632 2491 6 2632 2558 6 2632 2597 6 2632 2624 6 2632 2625 6 2632 2625 6 2632 2625 6 2632 2632 6 2632 2632 6 2632 2632 6 2632 2632 6 2632 2632 6 2632 2685 6 2632 2868 6 2632 2939 6 2632 3068 6 2632 .I 2633 .T Compact Representation of Contour Plots for Phone Line Transmission .W Methods for the compact representation of contour plots are described and tested. These are intended to reduce the cost of transmitting contour plots over phone lines. We feel some of these methods could be used to transmit contour plots over voice grade phone lines. .B CACM June, 1974 .A Adams, J. Gary, J. .K contour plotting, data transmission, remote terminal, data compaction .C 4.41 5.13 .N CA740613 JB January 17, 1978 2:48 PM .X 2633 4 2633 2633 5 2633 2633 5 2633 2633 5 2633 2987 5 2633 699 5 2633 1326 6 2633 1630 6 2633 2125 6 2633 2547 6 2633 2633 6 2633 421 6 2633 524 6 2633 .I 2634 .T An Evaluation of Statistical Software in the Social Sciences .W Several hundred college and university computer installations now offer various types of statistical packages for general use. Among those most widely available are OSIRIS, SPSS, BMD, DATA-TEXT, and TSAR. In order to provide users with a basis for selection and use, tests were made for each of these systems, and the results are summarized as to cost and performance. .B CACM June, 1974 .A Slysz, W. D. .K statistical computation, statistical software, descriptive statistics, bivariate tables, Pearson correlation, regression, factor analysis, one-way analysis of variance .C 1.3 3.30 4.19 4.22 4.49 5.5 .N CA740612 JB January 17, 1978 2:54 PM .X 2634 5 2634 2634 5 2634 2634 5 2634 .I 2635 .T Exact Probabilities for R X C Contingency Tables (Algorithm R434) .B CACM June, 1974 .A Boulton, D. M. .N CA740611 JB January 17, 1978 2:56 PM .X 2635 5 2635 2635 5 2635 2635 5 2635 .I 2636 .T Generation of Random Correlated Normal Variables (Algorithm R425) .B CACM June, 1974 .A Page, R. L. .N CA740610 JB January 17, 1978 2:57 PM .X 2636 5 2636 2636 5 2636 2636 5 2636 .I 2637 .T Hidden-Line Plotting Program (Algorithm R420) .B CACM June, 1974 .A Ellis, T. M. R. .N CA740609 JB January 17, 1978 2:59 PM .X 2637 5 2637 2637 5 2637 2637 5 2637 .I 2638 .T Hidden-Line Plotting Program (Algorithm R420) .B CACM June, 1974 .A Gaither, B. .N CA740608 JB January 17, 1978 3:00 PM .X 2638 5 2638 2638 5 2638 2638 5 2638 .I 2639 .T Calculation of Fourier Integrals (Algorithm R418) .B CACM June, 1974 .A Piessens, R. .N CA740607 JB January 17, 1978 3:01 PM .X 2639 5 2639 2639 5 2639 2639 5 2639 .I 2640 .T Modified Havie Integration (Algorithm R400) .B CACM June, 1974 .A Piessens, R. .N CA740606 JB January 17, 1978 3:04 PM .X 2350 4 2640 2354 4 2640 2640 4 2640 2355 5 2640 2640 5 2640 2640 5 2640 2640 5 2640 .I 2641 .T A Minimal Spanning Tree clustering Method [Z] (Algorithm A479) .B CACM June, 1974 .A Page, R. L. .K clustering, pattern recognition, feature selection, minimal spanning trees .C 3.63 5.39 5.5 .N CA740605 JB January 17, 1978 3:06 PM .X 2641 4 2641 2363 5 2641 2641 5 2641 2641 5 2641 2641 5 2641 .I 2642 .T Solution of an Overdetermined System of Equations in the L1 Norm [F4] (Algorithm A478) .B CACM June, 1974 .A Barrodale, I. Roberts, F. D. K. .K L1 approximation, L1 norm, overdetermined system of equations, linear programming, simplex method .C 5.13 5.41 .N CA740604 JB January 17, 1978 3:25 PM .X 2642 5 2642 2642 5 2642 2642 5 2642 2759 5 2642 2642 6 2642 .I 2643 .T The Minimization of Spatially-Multiplexed Character Sets .W The paper describes a technique for compacting character sets in a digital computer while retaining fast access to individual bits. It considers the problem of minimizing the storage needed to contain such tables. Reduction techniques are developed, and the problem is shown to reduce to a covering problem. .B CACM June, 1974 .A Gimpel, J. F. .K parsing, lexical analysis,scanning, string processing, spatial multiplexing .C 4.9 .N CA740603 JB January 17, 1978 3:31 PM .X 2643 5 2643 2643 5 2643 2643 5 2643 2706 5 2643 2643 6 2643 .I 2644 .T A Theorem-Proving Language for Experimentation .W Because of the large number of strategies and inference rules presently under consideration in automated theorem proving, there is a need for developing a language especially oriented toward automated theorem proving. This paper discusses some of the features and instructions of this language. The use of this language permits easy extension of automated theorem-proving programs to include new strategies and/or new inference rules. Such extend ability will permit general experimentation with the various alternative systems. .B CACM June, 1974 .A Henschen, L. Overbeek, R. Wos, L. .K theorem proving, resolution, factoring, paramodulation, programming languages .C 3.60 4.22 5.21 .N CA740602 JB January 17, 1978 3:37 PM .X 2644 5 2644 2644 5 2644 2644 5 2644 .I 2645 .T Two Languages for Estimating Program Efficiency .W Two languages enabling their users to estimate the efficiency of computer programs are presented. The program whose efficiency one wishes to estimate is written in the first language, a go-to-less programming language which includes most of the features of Algol 60. The second language consists of interactive commands enabling its users to provide additional information about the program written in the first language and to output results estimating its efficiency. Processors for the two languages are also described. The first processor is a syntax-directed translator which compiles a program into a symbolic formula representing the execution time for that program. The sound processor is a set of procedures for that program. The second processor is a set of procedures for algebraic manipulation which can be called by the user to operate on the formula produced by the first processor. Examples of the usage of the two languages are included. The limitations of the present system, its relation to Knuth's work on the analysis of algorithms, and some of the directions for further research are also discussed. .B CACM June, 1974 .A CCohen, J. Zuckerman, C. .K programming languages, syntax-directed translation, symbolic manipulation, program efficiency, analysis of algorithms .C 4.12 4.20 5.24 5.25 .N CA740601 JB January 17, 1978 3:48 PM .X 1086 4 2645 1132 4 2645 1234 4 2645 1263 4 2645 1265 4 2645 1270 4 2645 1323 4 2645 1358 4 2645 1379 4 2645 1380 4 2645 1453 4 2645 1464 4 2645 1484 4 2645 1491 4 2645 1498 4 2645 1613 4 2645 1614 4 2645 1781 4 2645 1825 4 2645 1860 4 2645 2083 4 2645 2178 4 2645 2179 4 2645 2252 4 2645 2325 4 2645 2341 4 2645 2546 4 2645 2645 4 2645 2652 4 2645 2684 4 2645 2842 4 2645 2929 4 2645 2934 4 2645 3069 4 2645 669 4 2645 679 4 2645 691 4 2645 761 4 2645 949 4 2645 989 4 2645 2645 5 2645 2645 5 2645 2645 5 2645 2719 5 2645 3094 5 2645 3184 5 2645 1265 6 2645 1626 6 2645 210 6 2645 2151 6 2645 2167 6 2645 2179 6 2645 2210 6 2645 2645 6 2645 2645 6 2645 2657 6 2645 .I 2646 .T A Model for Masking Rotational Latency by Dynamic Disk Allocation .W This paper presents the background and algorithms for masking the rotational latency of a disk or drum. It discusses the anticipatory input and output of blocks of data to buffer and primary memories for a mono-programmed computer system. A basic permutation algorithm and several variations are given. Because of the anticipatory nature of the I/O scheduling, these algorithms are restricted to classes of programs with predictable behavior. While the methods are not restricted to numerical computations, matrix and partial differential equation methods are typical examples of their use. It is shown that latency may be masked using a small amount of buffer memory. The methods discussed are independent of the overall size of the data base being considered. .B CACM May, 1974 .A Gold, D. E. Kuck, D. J. .K buffer memory, memory hierarchy, permutation algorithm, rotational latency, staging, storage allocation .C 4.41 6.20 .N CA740507 JB January 17, 1978 3:59 PM .X 2646 5 2646 2646 5 2646 2646 5 2646 .I 2647 .T More on Algorithms that Reveal Properties of Floating Point Arithmetic Units .B CACM May, 1974 .A Gentleman, W. M. Marovich, S. B. .K floating-point arithmetic, high-level languages, philosophy of language design .C 4.9 5.19 .N CA740506 JB January 17, 1978 4:04 PM .X 2647 4 2647 2792 4 2647 2267 5 2647 2647 5 2647 2647 5 2647 2647 5 2647 2792 5 2647 2267 6 2647 2647 6 2647 .I 2648 .T A Design for a Number Theory Package with an Optimized Trial Division routine .W A number theory package is described which uses doubly linked list structures for storing multiprecise integers. The package has been coded in IBM's Basic Assembly Language and makes heavy use of the macro language and conditional assembly. An optimally coded trial division routine is also described which can be used to determine the unique factorization of large integers. .B CACM May, 1974 .A Wunderlich, M. C. Selfridge, J. L. .K number theory package, trial division, multiprecise arithmetic, factorization, doubly linked lists, pseudoprime .C 3.15 .N CA740505 JB January 17, 1978 4:09 PM .X 2648 5 2648 2648 5 2648 2648 5 2648 .I 2649 .T On the Distributions of Significant Digits and Roundoff Errors .W Generalized logarithmic law is derived for the distribution of the first t significant digits of a random digital integer. This result is then used to determine the distribution of the roundoff errors in floating-point operations, which is a mixture of uniform and reciprocal distributions. .B CACM May, 1974 .A Tsao, N. .K significant digits, floating-point operations, roundoff errors, uniform distribution, reciprocal distribution, variance, mean valve .C 5.10 5.11 .N CA740504 JB January 17, 1978 4:12 PM .X 2649 5 2649 2649 5 2649 2649 5 2649 .I 2650 .T Order-n Correction for Regular Languages .W A method is presented for calculating a string B, belonging to a given regular language L, which is "nearest" (in number of edit operations) to a given input string a. B is viewed as a reasonable "correction" for the possibly erroneous string a, where a was originally intended to be a string of L. The calculation of B by the method presented requires time proportional to |a|, the number of characters in a. The method should find applications in information retrieval, artificial intelligence, and spelling correction systems. .B CACM May, 1974 .A Wagner, R. A. .K error correction, regular languages, regular events, finite state automata, compiler error recovery, spelling correction, string best match problem, correction, corrector, errors, nondeterministic finite-state automata .C 4.12 4.20 5.22 5.23 5.42 .N CA740503 JB January 17, 1978 4:26 PM .X 1179 4 2650 1225 4 2650 1288 4 2650 1350 4 2650 1544 4 2650 1646 4 2650 1646 4 2650 1781 4 2650 1846 4 2650 1945 4 2650 2111 4 2650 2534 4 2650 2534 4 2650 2556 4 2650 2556 4 2650 2630 4 2650 2650 4 2650 2650 4 2650 2650 4 2650 2650 4 2650 2698 4 2650 2708 4 2650 2708 4 2650 2887 4 2650 3093 4 2650 2111 5 2650 2650 5 2650 2650 5 2650 2650 5 2650 576 5 2650 680 5 2650 830 5 2650 .I 2651 .T The Treatment of Data Types in EL1 .W In constructing a general purpose programming language, a key issue is providing a sufficient set of data types and associated operations in a manner that permits both natural problem-oriented notation and efficient implementation. The EL1 language contains a number of features specifically designed to simultaneously satisfy both requirements. The resulting treatment of data types includes provision for programmer-defined data types data types and generic routines, programmer control over type conversion, and very flexible data type behavior, in a context that allows efficient compiled code and compact data representation. .B CACM May, 1974 .A Wegbreit, B. .K data types, modes, mode unions, type conversion, coercion, generic functions, extensible languages, data type definition, data description language, compilation .C 4.12 4.13 4.22 .N CA740502 JB January 17, 1978 4:32 PM .X 2651 5 2651 2651 5 2651 2651 5 2651 2723 5 2651 2941 5 2651 2956 5 2651 3030 5 2651 1379 6 2651 1471 6 2651 1549 6 2651 1749 6 2651 1826 6 2651 210 6 2651 2247 6 2651 2356 6 2651 2356 6 2651 2457 6 2651 2558 6 2651 2651 6 2651 2651 6 2651 2651 6 2651 2651 6 2651 2958 6 2651 2972 6 2651 627 6 2651 731 6 2651 .I 2652 .T Reduction of Compilation Costs Through Language Contraction .W Programming languages tailored to particular groups of users can often be constructed by removing unwanted features from a general purpose language. This paper describes the use of simulation techniques to predict the savings in compilation cost achievable by such an approach. The results suggest a function which describes the effect of changes in the power of a language on the compilation cost of an algorithm expressed in that language: when features not actually used by the algorithm are removed from the language, the cost of compiling the algorithm decreases moderately, but when features that are needed are removed, the compilation cost increases sharply. .B CACM May, 1974 .A Shaw, M. .K design of programming languages, language contraction, compiler design, compilation cost, Algol .C 4.12 4.20 .N CA740501 JB January 17, 1978 4:39 PM .X 1086 4 2652 1132 4 2652 1234 4 2652 1263 4 2652 1265 4 2652 1270 4 2652 1323 4 2652 1358 4 2652 1379 4 2652 1380 4 2652 1453 4 2652 1464 4 2652 1484 4 2652 1491 4 2652 1498 4 2652 1613 4 2652 1614 4 2652 1781 4 2652 1825 4 2652 1860 4 2652 2083 4 2652 2178 4 2652 2179 4 2652 2252 4 2652 2325 4 2652 2341 4 2652 2546 4 2652 2645 4 2652 2652 4 2652 2684 4 2652 2842 4 2652 2929 4 2652 2934 4 2652 3069 4 2652 669 4 2652 679 4 2652 691 4 2652 761 4 2652 949 4 2652 989 4 2652 2652 5 2652 2652 5 2652 2652 5 2652 3184 5 2652 .I 2653 .T Solution of the Transcendental Equation w*exp(x)=x (Algorithm R443) .B CACM April, 1974 .A Einarsson, B. .N CA740417 JB January 17, 1978 4:44 PM .X 2653 4 2653 2654 4 2653 1955 5 2653 2653 5 2653 2653 5 2653 2653 5 2653 .I 2654 .T Generator of Set-Partitions to Exactly R Subsets [G7] (Algorithm A477) .B CACM April, 1974 .A Ehrich, G. .K partitions, subset generation, permutations .C 5.39 .N CA740416 JB January 17, 1978 4:46 PM .X 2653 4 2654 2654 4 2654 1955 5 2654 2654 5 2654 2654 5 2654 2654 5 2654 .I 2655 .T Six Subprograms for Curve Fitting Using Splines Under Tension [E2] (Algorithm A476) .B CACM April, 1974 .A Cline, A. K. .K interpolation, splines, contouring, curve fitting .C 5.13 8.2 .N CA740415 JB January 17, 1978 4:48 PM .X 2655 4 2655 2655 5 2655 2655 5 2655 2655 5 2655 2656 5 2655 2655 6 2655 .I 2656 .T Scalar- and Planar- Valued Curve Fitting Using Splines Under Tension .W The spline under tension was introduced by Schweikert in an attempt to imitate cubic splines but avoid the spurious critical points they induce. The defining equations are presented here, together with an efficient method for determining the necessary parameters and computing the resultant spline. The standard scalar-valued curve fitting problem is discussed, as well as the fitting of open and closed curves in the plane. The use of these curves and the importance of the tension in the fitting of contour lines are mentioned as application. .B CACM April, 1974 .A Cline, A. K. .K interpolation, splines, contouring, curve fitting .C 5.13 8.2 .N CA740414 JB January 18, 1978 9:23 AM .X 2656 4 2656 2655 5 2656 2656 5 2656 2656 5 2656 2656 5 2656 2656 6 2656 .I 2657 .T An Improved Program-Synthesizing Algorithm and Its Correctness .W An improved program-synthesizing algorithm based on the algorithm proposed by Waldinger and Lee in 1969 is given. In the old algorithm, the program-synthesizing problem is translated into a theorem-proving problem, and a program is obtained by analyzing a proof. For the improved algorithm, the analysis is not necessary, and a program is obtained as soon as the proof is completed. This is achieved by using a modified variable tracing mechanism invented by Green in 1969. The correctness of the improved algorithm is also proved; i.e. the program thus obtained always satisfies the specification. .B CACM April, 1974 .A Lee, R. C. T. Chang, C. L. Waldinger, R. J. .K program-synthesizing algorithms, theorem proving, consequence finding, primitive resolutions .C 3.60 3.64 4.20 4.42 5.21 5.22 5.24 .N CA740413 JB January 18, 1978 9:32 AM .X 2657 4 2657 2719 4 2657 2210 5 2657 2657 5 2657 2657 5 2657 2657 5 2657 2719 5 2657 1626 6 2657 210 6 2657 2151 6 2657 2167 6 2657 2210 6 2657 2645 6 2657 2657 6 2657 .I 2658 .T An Alternative Approach to Mutual Recursion in Algol 60 Using Restricted Compilers .B CACM April, 1974 .A Balfour, A. .K Algol 60, mutual recursion, compiler restrictions .C 4.12 4.22 .N CA740412 JB February 1, 1978 10:32 AM .X 2658 4 2658 2551 5 2658 2658 5 2658 2658 5 2658 2658 5 2658 .I 2659 .T Some Remarks on Lookup of Structured Variables .B CACM April, 1974 .A Abrahams, P. W. .K PL/1, symbol table, structured variables, qualified references, compilers .C 4.12 4.22 .N CA740411 JB February 1, 1978 10:34 AM .X 2659 4 2659 2449 5 2659 2659 5 2659 2659 5 2659 2659 5 2659 .I 2660 .T Addendum to M. L. Patrick Paper .B CACM April, 1974 .A Simmons, G. C. .K parallelism, polynomial root finding, real zeros .C 5.15 .N CA740410 JB February 1, 1978 10:36 AM .X 2660 4 2660 2266 5 2660 2660 5 2660 2660 5 2660 2660 5 2660 .I 2661 .T Ideal Teaching Machines-A Solution to the Pedagogic Language Problem .B CACM April, 1974 .A Sterling, T. D. Pollack, S. V. .K education, programming languages, simulators .C 1.52 4.2 .N CA740409 JB February 1, 1978 10:38 AM .X 2661 5 2661 2661 5 2661 2661 5 2661 .I 2662 .T Graduate Education: The Ph.D. Glut: Response and Rebuttal .B CACM April, 1974 .A Freeman, P. Malcolm, M. A. Payne, W. H. .K graduate education, Ph.D. production, accreditation .C 1.5 2.2 2.3 .N CA740408 JB February 1, 1978 10:40 AM .X 2662 4 2662 2531 5 2662 2662 5 2662 2662 5 2662 2662 5 2662 .I 2663 .T A Study of Computer Use in a Graduate School of Business .B CACM April, 1974 .A Lucas, H. C. Jr. Montgomery, D. B. Larreche, J. C. .K education, management, business schools .C 1.50 1.52 .N CA740407 JB January 18, 1978 9:35 AM .X 2663 5 2663 2663 5 2663 2663 5 2663 .I 2664 .T Parallelism in Tape-Sorting .W Two methods for employing parallelism in tape-sorting are presented. Method A is the natural way to use parallelism. Method B is new. Both approximately achieve the goal of reducing the processing time by a divisor which is the number of processors. .B CACM April, 1974 .A Even, S. .K tape sorting, parallelism, external sorting, queues, stacks .C 5.31 6.22 .N CA740406 JB January 18, 1978 9:44 AM .X 2664 5 2664 2664 5 2664 2664 5 2664 2714 5 2664 3075 5 2664 2289 6 2664 2557 6 2664 2664 6 2664 2664 6 2664 2714 6 2664 .I 2665 .T Copying List Structures Using Bounded Workspace .W Two new algorithms are presented for list structure copying using bounded workspace. The first, of primarily theoretical interest, shows that without cell tag bits the task can be performed in time n^2. The second algorithm, assuming one tag bit in each cell, delivers attractive practical speed. Any noncyclic structure is copied in linear speed, while cyclic structures are copied in average time less than nlogn. No foreknowledge of cycle absence is necessary to achieve linear speed. A variation of the second algorithm solves an open problem concerning list structure marking. That result demonstrates that marking can be done in average time nlogn without the aid of supplemental tag bits or stacks. .B CACM April, 1974 .A Lindstrom, G. .K list processing, copying, marking, space complexity .C 4.34 5.25 .N CA740405 JB January 18, 1978 9:55 AM .X 1869 4 2665 2513 4 2665 2665 4 2665 2665 4 2665 2723 4 2665 2855 4 2665 3106 4 2665 1383 5 2665 1549 5 2665 2665 5 2665 2665 5 2665 2665 5 2665 2766 5 2665 2954 5 2665 3106 5 2665 1549 6 2665 210 6 2665 1972 6 2665 2665 6 2665 2665 6 2665 2665 6 2665 2766 6 2665 2766 6 2665 2855 6 2665 2954 6 2665 2998 6 2665 .I 2666 .T On Lions' Counter Example for Gotlieb's Method for the Construction of School Timetables .W The timetable problem is an essentially discrete problem. Although the discrete problem may have no feasible solution, there may exist a solution to the equivalent continuous problem. An example is given, for which the nondiscrete solution can be interpreted as a set of timetables, differing from week to week, which together satisfy the long-term requirements of the timetable problem. .B CACM April, 1974 .A Smith, G. Sefton, I. M. .K combinatorial, multi-index problem, necessary conditions, schedule, school timetable, timetable .C 3.51 5.39 .N CA740404 JB January 18, 1978 10:02 AM .X 2666 5 2666 2666 5 2666 2666 5 2666 .I 2667 .T Execution Characteristics of Programs in a Page-on-Demand System .W Data are presented which show the execution characteristics of two types of commonly used programs in a large-scale, time-shared computer system. A software monitoring facility built into the supervisor was used for data collection during normal system operation. These data were analyzed, and results of this analysis are presented for a Fortran compiler and an interactive line file editor. Probability distribution functions and other data are given for such things as CPU intervals, I/O intervals, and the number of such intervals during execution. Empirical distributions are compared with simple theoretical distributions (exponential, hyperexponential, and geometric). Other data show paging characteristics of tasks as a function of the number of pages those tasks have in core. .B CACM April, 1974 .A Boyse, J. W. .K program behavior, virtual memory, paging, demand paging, software monitor, program execution characteristics, compiler execution behavior, editor execution behavior .C 4.12 4.19 4.32 4.39 4.9 8.1 .N CA740403 JB January 18, 1978 10:12 AM .X 1533 4 2667 1892 4 2667 1924 4 2667 1951 4 2667 2095 4 2667 2218 4 2667 2297 4 2667 2374 4 2667 2526 4 2667 2667 4 2667 2667 4 2667 2667 4 2667 2668 4 2667 2668 4 2667 2668 4 2667 2862 4 2667 2863 4 2667 1604 5 2667 1728 5 2667 1827 5 2667 2667 5 2667 2667 5 2667 2667 5 2667 .I 2668 .T Computation of Page Fault Probability from Program Transition Diagram .W An algorithm is given for calculating page fault probability in a virtual memory system operating under demand paging with various memory sizes and replacement rules. A first order Markov model of program behavior is assumed, and a representation of the system based on memory states, control states, and memory substates is presented. The algorithm is general in the sense that the page fault probabilities can be calculated for nonpredictive replacement rules applied to any program represented by a one-step Markov chain. A detailed example is given to illustrate the algorithm for Random and Least Recently Used (LRU) replacement rules. .B CACM April, 1974 .A Franklin, M. A. Gupta, R. K. .K virtual memory, demand paging, replacement rule, program model, program behavior, Markov model, page fault, page fault probability .C 4.30 6.20 .N CA740402 JB January 18, 1978 10:31 AM .X 1533 4 2668 1892 4 2668 1924 4 2668 1951 4 2668 2095 4 2668 2218 4 2668 2297 4 2668 2374 4 2668 2526 4 2668 2667 4 2668 2667 4 2668 2667 4 2668 2668 4 2668 2668 4 2668 2668 4 2668 2668 4 2668 2668 4 2668 2862 4 2668 2863 4 2668 1604 5 2668 1728 5 2668 1761 5 2668 1827 5 2668 2668 5 2668 2668 5 2668 2668 5 2668 2677 5 2668 .I 2669 .T A Simple Linear Model of Demand Paging Performance .W Predicting the performance of a proposed automatically managed multilevel memory system requires a model of the patterns by which programs refer to the information stored in the memory. Some recent experimental measurements on the Multics virtual memory suggest that, for rough approximations, a remarkably simple program reference model will suffice. The simple model combines the effect of the information reference pattern with the effect of the automatic management algorithm to produce a single, composite statement: the mean number of memory references between paging exceptions increases linearly with the size of the paging memory. The resulting model is easy to manipulate, and is applicable to such diverse problems as choosing an optimum size for a paging memory, arranging for reproducible memory usage charges, and estimating the amount of core memory sharing. .B CACM April, 1974 .A Saltzer, J. H. .K paging, demand paging, memory models, program models, performance measurement, multilevel memory systems, virtual memory, associative memory, memory usage accounting, Multics .C 3.79 4.30 4.32 .N CA740401 JB January 18, 1978 10:41 AM .X 1892 4 2669 1901 4 2669 2085 4 2669 2095 4 2669 2218 4 2669 2277 4 2669 2319 4 2669 2319 4 2669 2329 4 2669 2358 4 2669 2377 4 2669 2373 4 2669 2374 4 2669 2380 4 2669 2434 4 2669 2499 4 2669 2481 4 2669 2501 4 2669 2582 4 2669 2582 4 2669 2625 4 2669 2626 4 2669 2669 4 2669 2669 4 2669 2669 4 2669 2669 4 2669 2828 4 2669 2863 4 2669 2863 4 2669 2881 4 2669 2928 4 2669 2996 4 2669 3006 4 2669 3016 4 2669 3052 4 2669 3054 4 2669 3067 4 2669 1751 5 2669 1901 5 2669 2017 5 2669 2358 5 2669 2669 5 2669 2669 5 2669 2669 5 2669 .I 2670 .T Efficient Implementation of a Variable Projection Algorithm for Nonlinear Least Squares Problems .W Nonlinear least squares frequently arise for which the variables to be solved for can be separated into a linear and a nonlinear part. A variable projection algorithm has been developed recently which is designed to take advantage of the structure of a problem whose variables separate in this way. This paper gives a slightly more efficient and slightly more general version of this algorithm than has appeared earlier. .B CACM March, 1974 .A Krogh, F. T. .K nonlinear least squares, parameter estimation, variable projection .C 5.14 5.15 .N CA740313 JB January 18, 1978 10:49 AM .X 2670 5 2670 2670 5 2670 2670 5 2670 .I 2671 .T A Note on a Combinatorial Problem of Burnett and Coffman .B CACM March, 1974 .A Stone, H. S. .K memories, interleaving, derangements, rencontres, combinatorial analysis .C 5.39 6.34 .N CA740312 JB January 18, 1978 10:54 AM .X 2671 5 2671 2671 5 2671 2671 5 2671 .I 2672 .T Emotional Content Considered Dangerous .B CACM March, 1974 .A Smoliar, S. W. .K artificial intelligence, heuristic programming, models of cognitive processes, computer music, computer composition, music theory .C 3.44 3.65 .N CA740311 JB January 18, 1978 10:56 AM .X 2672 5 2672 2672 5 2672 2672 5 2672 .I 2673 .T Quadratic Search for Hash Tables of Size p^n .B CACM March, 1974 .A Ackerman, A. F. .K hashing, quadratic search .C 4.10 .N CA740310 JB January 18, 1978 10:58 AM .X 2673 5 2673 2673 5 2673 2673 5 2673 2704 5 2673 2770 5 2673 3053 5 2673 1247 6 2673 1329 6 2673 1552 6 2673 1749 6 2673 1785 6 2673 1786 6 2673 1869 6 2673 1973 6 2673 1973 6 2673 1992 6 2673 1992 6 2673 2018 6 2673 2107 6 2673 2109 6 2673 2109 6 2673 2356 6 2673 2379 6 2673 2412 6 2673 2543 6 2673 2673 6 2673 2673 6 2673 2673 6 2673 2707 6 2673 2770 6 2673 .I 2674 .T Scan Conversion Algorithms for a Cell Organized Raster Display .W Raster scan computer graphics with "real time" character generators have previously been limited to alphanumeric characters. A display has been described which extends the capabilities of this organization to include general graphics. Two fundamentally different scan conversion algorithms which have been developed to support this display are presented. One is most suitable to non-interactive applications and the other to interactive applications. The algorithms were implemented in Fortran on the CDC 6400 computer. Results obtained from the implementations show that the noninteractive algorithms can significantly reduce display file storage requirements at little cost in execution time over that of a conventional raster display. The interactive algorithm can improve response time and reduce storage requirements. .B CACM March, 1974 .A Barrett, R. C. Fordan, B. W. Jr. .K graphics, scan conversion, raster display, line drawing, discrete image, dot generation, matrix displays .C 4.41 6.35 8.2 .N CA740309 JB January 18, 1978 11:08 AM .X 1891 4 2674 2211 4 2674 2421 4 2674 2674 4 2674 2674 4 2674 2674 4 2674 2674 4 2674 2687 4 2674 2687 4 2674 2828 4 2674 1741 5 2674 2004 5 2674 2421 5 2674 2674 5 2674 2674 5 2674 2674 5 2674 2687 5 2674 .I 2675 .T A Computer Routine for Quadratic and Linear Programming Problems (Algorithm R431) .B CACM March, 1974 .A Ravindran, A. .N CA740308 JB January 18, 1978 11:10 AM .X 2675 5 2675 2675 5 2675 2675 5 2675 .I 2676 .T Zeros of a Complex Polynomial (Algorithm R419) .B CACM March, 1973 .A Withers, D. H. .N CA740307 JB January 18, 1978 11:11 AM .X 2676 5 2676 2676 5 2676 2676 5 2676 .I 2677 .T Incomplete Beta Ratio (Algorithm R179) .B CACM March, 1974 .A Bosten, N. E. Battiste, E. L. .N CA740306 JB January 18, 1978 11:13 AM .X 2668 5 2677 2677 5 2677 2677 5 2677 2677 5 2677 1604 6 2677 1728 6 2677 1761 6 2677 1827 6 2677 2677 6 2677 .I 2678 .T Visible Surface Plotting Program [J6] (Algorithm A475) .B CACM March, 1974 .A Wright, T. .K hidden line problem, computer graphics, contour surface .C 3.65 4.41 8.2 .N CA740305 JB January 18, 1978 11:18 AM .X 2678 5 2678 2678 5 2678 2678 5 2678 .I 2679 .T Some Performance Tests of "quicksort" and Descendants .W Detailed performance evaluations are presented for six ACM algorithms: quicksort (No. 64), Shellsort (No. 201), stringsort (No. 207), "TREESORT3" (No. 245), quickersort (No. 271), and qsort (No. 402). Algorithms 271 and 402 are refinements of algorithm 64, and all three are discussed in some detail. The evidence given here demonstrates that qsort (No. 402) requires many more comparisons than its author claims. Of all these algorithms, quickersort requires the fewest comparisons to sort random arrays. .B CACM March, 1974 .A Loeser, R. .K sorting, in-place sorting, sorting efficiency, sorting performance tests, quicksort, quickersort, qsort, Shellsort, stringsort, TREESORT3,utility sort algorithm, general-purpose sort algorithm, sorting algorithm documentation .C 4.49 5.31 .N CA740304 JB January 18, 1978 11:26 AM .X 1175 4 2679 1663 4 2679 1919 4 2679 1919 4 2679 1919 4 2679 1969 4 2679 1969 4 2679 1997 4 2679 1997 4 2679 2042 4 2679 2042 4 2679 2118 4 2679 2191 4 2679 2195 4 2679 2216 4 2679 2216 4 2679 2222 4 2679 2222 4 2679 2356 4 2679 2388 4 2679 2348 4 2679 2679 4 2679 2679 4 2679 2679 4 2679 2679 4 2679 2679 4 2679 2679 4 2679 2679 4 2679 2679 4 2679 2679 4 2679 2679 4 2679 2679 4 2679 2679 4 2679 2844 4 2679 2972 4 2679 3054 4 2679 3054 4 2679 3054 4 2679 3054 4 2679 3121 4 2679 970 5 2679 1175 5 2679 1190 5 2679 1228 5 2679 1969 5 2679 1997 5 2679 308 5 2679 2042 5 2679 2679 5 2679 2679 5 2679 2679 5 2679 507 5 2679 3054 5 2679 3187 5 2679 716 5 2679 783 5 2679 1175 6 2679 1880 6 2679 1919 6 2679 1969 6 2679 1980 6 2679 1997 6 2679 307 6 2679 308 6 2679 309 6 2679 2017 6 2679 2679 6 2679 776 6 2679 .I 2680 .T Optimal Space Allocation on Disk Storage Devices .W When the amount of space required for file storage exceeds the amount which can be kept on-line, decisions must be made as to which files are to be permanently resident and which mountable. These decisions will affect the number of mount requests issued to the operators. This is often a bottleneck in a computing facility, and reducing the number of mounts thus decreases turnaround time. An optimization model for the assignment of files to disk packs, and packs to either resident or nonresident status is presented. Heuristics are suggested for those cases in which it is inefficient to compute the actual optimum. .B CACM March, 1974 .A Morgan, H. L. .K disk analysis, disk optimization, disk files,file systems, file scheduling, space allocation, memory hierarchy .C 3.72 3.73 4.39 .N CA740303 JB January 18, 1978 12:32 PM .X 2680 5 2680 2680 5 2680 2680 5 2680 .I 2681 .T Dynamic Memory Repacking .W A probabilistic model of a multiprogramming system is exercised in order to determine the conditions under which the dynamic repacking of main memory is beneficial. An expression is derived for the maximum interference that a repacking process may introduce before the original performance of the system is degraded. Alternative approaches to repacking are discussed, and the operating conditions that lead to improved system throughput through repacking are delineated. .B CACM March, 1974 .A Balkovich, E. Chiu, W. Presser, L. Wood, R. .K dynamic memory repacking, memory compaction,storage fragmentation, multiprogramming system model, probabilistic model, central processor productivity, resource utilization, system throughput .C 4.32 5.5 6.20 .N CA740302 JB January 18, 1978 12:37 PM .X 2681 4 2681 2218 5 2681 2681 5 2681 2681 5 2681 2681 5 2681 .I 2682 .T On the Construction of a Representative Synthetic Workload .W A general method of constructing a drive workload representative of a real workload is described. The real workload is characterized by its demands on the various system resources. These characteristics of the real workload are obtained from the system accounting data. The characteristics of the drive workload are determined by matching the joint probability density of the real workload with that of the drive workload. The drive workload is realized by using a synthetic program in which the characteristics can be varied by varying the appropriate parameters. Calibration experiments are conducted to determine expressions relating the synthetic program parameters with the workload characteristics. The general method is applied to the case of two variables, cpu seconds and number of I/O activities; and synthetic workload with 88 jobs is constructed to represent a month's workload consisting of about 6000 jobs. .B CACM March, 1974 .A Sreenivasan, K. Kleinman, A. J. .K benchmarks, calibration, drive workload, input to simulation, probability distribution, representative workload, synthetic workload, workload characteristics .C 5.5 5.9 8.1 .N CA740301 JB January 18, 1978 12:46 PM .X 2682 5 2682 2682 5 2682 2682 5 2682 3067 5 2682 1751 6 2682 2374 6 2682 2373 6 2682 2595 6 2682 2682 6 2682 2863 6 2682 2864 6 2682 3006 6 2682 .I 2683 .T The Synthesis of Loop Predicates .W Current methods for mechanical program verification require a complete predicate specification on each loop. Because this is tedious and error prone, producing a program with complete, correct predicates is reasonably difficult and would be facilitated by machine assistance. This paper discusses techniques for mechanically synthesizing loop predicates. Two classes of techniques are considered: (1) heuristic methods which derive loop predicates from boundary conditions and/or partially specified inductive assertions: (2) extraction methods which use input predicates and appropriate weak interpretations to obtain certain classes of loop predicates by an evaluation on the weak interpretation. .B CACM March, 1974 .A Wegbreit, B. .K program verification, loop predicates, inductive assertions, synthesis of loop predicates, weak interpretations, well-founded sets, property extraction, theorem proving .C 3.64 4.19 4.22 5.24 .N CA740206 JB January 18, 1978 12:55 PM .X 2683 5 2683 2683 5 2683 2683 5 2683 2874 5 2683 3104 5 2683 1682 6 2683 2227 6 2683 2317 6 2683 2457 6 2683 2683 6 2683 2683 6 2683 2871 6 2683 521 6 2683 .I 2684 .T Production Systems: or Can We Do Better than BNF? .W Since the development of BNF, the definition of the syntax of programming languages has been almost universally associated with context-free requirements. Yet numerous interesting and difficult issues in syntax stem from the context-sensitive requirements, notably the compatibility between the declaration of an identifier and its uses, the correspondence between actual and formal parameters, and issues arising from block structure. This paper explores the use of a formal notation called Production Systems in providing a readable and complete formal definition of syntax. As a practical illustration, a small but significant subset of PL/I is considered. A more detailed presentation, as well as the application to define abstract syntax and translations between languages, is given in a previous paper by the author. .B CACM February, 1974 .A Ledgard, H. F. .K syntax, translation, context-sensitive grammars, compilers, formal definition, PL/I standards .C 4.2 5.21 5.23 .N CA740205 JB January 18, 1978 1:07 PM .X 1086 4 2684 1132 4 2684 1234 4 2684 1263 4 2684 1265 4 2684 1270 4 2684 1323 4 2684 1358 4 2684 1379 4 2684 1380 4 2684 1453 4 2684 1464 4 2684 1469 4 2684 1484 4 2684 1486 4 2684 1491 4 2684 1491 4 2684 1498 4 2684 1613 4 2684 1614 4 2684 1781 4 2684 1781 4 2684 1781 4 2684 1825 4 2684 1860 4 2684 2083 4 2684 2178 4 2684 2178 4 2684 2178 4 2684 2179 4 2684 2252 4 2684 2325 4 2684 2326 4 2684 2326 4 2684 2341 4 2684 2470 4 2684 2546 4 2684 2645 4 2684 2652 4 2684 2684 4 2684 2684 4 2684 2684 4 2684 2842 4 2684 2929 4 2684 2934 4 2684 3044 4 2684 3069 4 2684 669 4 2684 679 4 2684 691 4 2684 761 4 2684 949 4 2684 989 4 2684 1303 5 2684 1323 5 2684 2684 5 2684 2684 5 2684 2684 5 2684 3184 5 2684 .I 2685 .T The Parallel Execution of DO Loops .W Methods are developed for the parallel execution of different iterations of a DO loop. Both asynchronous multiprocessor computers and array computers are considered. Practical application to the design of compilers for such computers is discussed. .B CACM February, 1974 .A Lamport, L. .K parallel computing, multiprocessor computers, array computers, vector computers, loops .C 4.12 5.24 .N CA740204 JB January 18, 1978 1:14 PM .X 2685 5 2685 2685 5 2685 2685 5 2685 2785 5 2685 2876 5 2685 2433 6 2685 2632 6 2685 2685 6 2685 2685 6 2685 .I 2686 .T An Approximate Method for Generating Asymmetric Random Variables .W Tukey's lambda distribution is generalized to provide an algorithm for generating values of unimodal asymmetric random variables. This algorithm has the same advantages as the symmetric random variable generator previously given by the authors, except that the addition of another parameter complicates the problem of finding the parameter values to fit a distribution. .B CACM February, 1974 .A Ramberg, J. S. Schmeiser,B. W. .K simulation, Monte Carlo, probability, statistics, approximations, random variables, random numbers, moments, distribution .C 5.5 8.1 .N CA740203 JB January 18, 1978 1:19 PM .X 2686 4 2686 2261 5 2686 2686 5 2686 2686 5 2686 2686 5 2686 .I 2687 .T A Cell Organized Raster Display for Line Drawings .W Raster scan computer graphics displays with "real time" character generators have previously been limited to alphanumeric characters. A display is described which extends the capabilities of this organization to include general graphics. The feasibility of such a display is shown by deriving the minimum number of patterns required in the read only memory of the character generator to synthesize an arbitrary line. The synthesis process does not compromise picture quality since the resulting dot patterns are identical with those of a conventional raster display. Furthermore, the time constraints of a raster display are shown to be satisfied for a typical design for very complex line drawings. .B CACM February, 1974 .A Jordan, B. W. Jr. Barrett, R. C. .K graphics, raster display, line drawing, discrete image, dot generation, matrix displays .C 4.41 6.35 8.2 .N CA740202 JB January 18, 1978 1:28 PM .X 1891 4 2687 2004 4 2687 2211 4 2687 2421 4 2687 2674 4 2687 2674 4 2687 2687 4 2687 2687 4 2687 2687 4 2687 2692 4 2687 2828 4 2687 1741 5 2687 1915 5 2687 2004 5 2687 2674 5 2687 2687 5 2687 2687 5 2687 2687 5 2687 1741 6 2687 2004 6 2687 2421 6 2687 2687 6 2687 .I 2688 .T Attribute Based File Organization in a Paged Memory Environment .W The high cost of page accessing implies a need for more careful data organization in a paged memory than is typical of most inverted file and similar approaches to multi-key retrieval. This article analyses that cost and proposes a method called multiple key hashing which attempts to minimize it. Since this approach is not always preferable to inversion, a combined method is described. The exact specifications of this combination for a file with given data and traffic characteristics is formulated as a mathematical program. The proposed heuristic solution to this program can often improve on a simple inversion technique by a factor of 2 or 3. .B CACM February,1974 .A Rothnie, J. B. Jr. Lozano, T. .K file organization, paging, retrieval algorithm, inverted file, multiple key hashing .C 3.70 3.73 3.74 3.79 .N CA740201 JB January 18, 1978 1:37 PM .X 2160 4 2688 2688 4 2688 2114 5 2688 2688 5 2688 2688 5 2688 2688 5 2688 2976 5 2688 2688 6 2688 2765 6 2688 2882 6 2688 .I 2689 .T A CRT Report Generating System .B CACM January, 1974 .A Lucas, H. C. Jr. .K report generation, automated systems design, data processing, management .C 3.50 4.12 4.22 .N CA740110 JB January 18, 1978 1:40 PM .X 2689 5 2689 2689 5 2689 2689 5 2689 .I 2690 .T A Numbering Systems for Combinations .B CACM January, 1974 .A Knott, G. D. .K combinatorics, coding system, storage mapping function .C 4.9 5.30 .N CA740109 JB January 18, 1978 1:42 PM .X 2690 4 2690 2690 4 2690 2853 4 2690 3115 4 2690 203 5 2690 2690 5 2690 2690 5 2690 2690 5 2690 2853 5 2690 579 5 2690 2690 6 2690 579 6 2690 .I 2691 .T Comments on the Algorithms of Verhelst for the Conversion of Limited-Entry Decision Tables to Flowcharts .B CACM January, 1974 .A King, P. J. H. Johnson, R. G. .K decision table, flowcharting, preprocessor, optimal programs, search .C 3.50 3.59 4.19 4.29 4.49 5.31 .N CA740108 JB January 18, 1978 1:45 PM .X 2598 4 2691 2691 4 2691 2726 4 2691 3113 4 2691 2263 5 2691 2598 5 2691 2691 5 2691 2691 5 2691 2691 5 2691 3113 5 2691 1172 6 2691 1354 6 2691 1548 6 2691 2220 6 2691 2263 6 2691 2263 6 2691 2453 6 2691 2598 6 2691 2691 6 2691 2691 6 2691 2856 6 2691 .I 2692 .T Reentrant Polygon Clipping .W A new family of clipping algorithms is described. These algorithms are able to clip polygons against irregular convex plane-faced volumes in three dimensions, removing the parts of the polygon which lie outside the volume. In two dimensions the algorithms permit clipping against irregular convex windows. Polygons to be clipped are represented as an ordered sequence of vertices without repetition of first and last, in marked contrast to representation as a collection of edges as was heretofore the common procedure. Output polygons have an identical format, with new vertices introduced in sequence to describe any newly-cut edge or edges. The algorithms easily handle the particularly difficult problem of detecting that a new vertex may be required at a corner of the clipping window. The algorithms described achieve considerable simplicity by clipping separately against each clipping plane or window boundary. Code capable of clipping the polygon against a single boundary is reentered to clip against subsequent boundaries. Each such reentrant stage of clipping need store only two vertex values and may begin its processing as soon as the first output vertex from the proceeding stage is ready. Because the same code is reentered for clipping against subsequent boundaries, clipping against very complex window shapes is practical. For perspective applications in three dimentions, a six-plane truncated pyramid is chosen as the clipping volume. The two additional planes parallel to the projection screen serve to limit the range of depth preserved through the projection. A perspective projection method which provides for arbitrary view angles and depth of field in spite of simple fixed clipping planes is described. This method is ideal for subsequent hidden-surface computations. .B CACM January, 1974 .A Sutherland, I. E. Hodgman, G. W. .K computer graphics, hidden-surface, clipping .C 5.31 6.32 6.35 .N CA740107 JB January 18, 1978 2:04 PM .X 2004 4 2692 2687 4 2692 2692 4 2692 1915 5 2692 2692 5 2692 2692 5 2692 2692 5 2692 .I 2693 .T Bivariate Interpolation and Smooth Surface Fitting Based on Local Procedures [E2] (Algorithm A474) .B CACM January, 1974 .A Akima, H. .K bivariate interpolation, interpolation, partial derivative, polynomial, smooth surface fitting .C 5.13 .N CA740106 JB January 18, 1978 2:07 PM .X 1845 4 2693 1900 4 2693 2083 4 2693 2154 4 2693 2270 4 2693 2693 4 2693 2693 4 2693 2693 4 2693 2696 4 2693 988 5 2693 2270 5 2693 2693 5 2693 2693 5 2693 2693 5 2693 2696 5 2693 2270 6 2693 2693 6 2693 .I 2694 .T Computation of Legendre Series Coefficients [C6] (Algorithm A473) .B CACM January, 1974 .A Piessens, R. .K Legendre series, Chebyshev series .C 5.13 .N CA740105 JB January 18, 1978 2:21 PM .X 2694 4 2694 1478 5 2694 2694 5 2694 2694 5 2694 2694 5 2694 .I 2695 .T Tridiagonalization by Permutations .W Tridiagonalizing a matrix by similarity transformations is an important computational tool in numerical linear algebra. Consider the class of sparse matrices which can be tridiagonalized using only row and corresponding column permutations. The advantages of using such a transformation include the absence of round-off errors and improved computation time when compared with standard transformations. A graph theoretic algorithm which examines an arbitrary n x n matrix and determines whether or not it can be permuted into tridiagonal form is given. The algorithm requires no arithmetic while the number of comparisons, the number of assignments, and the number of increments are linear in n. This compares very favorably with standard transformation methods. If the matrix is permutable into tridiagonal form, the algorithm gives the explicit tridiagonal form. Otherwise, early rejection will occur. .B CACM January, 1974 .A Gibbs, N. E. Poole, W. G. Jr. .K tridiagonal matrix, permutation, algorithm, eigenvalues, graph, bandwidth, sparse matrix .C 5.14 5.32 .N CA740104 JB January 18, 1978 2:31 PM .X 2695 5 2695 2695 5 2695 2695 5 2695 .I 2696 .T A Method of Bivariate Interpolation and Smooth Surface Fitting Based on Local Procedures .W A method is designed for interpolating values given at points of a rectangular grid in a plane by a smooth bivariate function z=z(x,Y). The interpolating function is a bicubic polynomial in each cell of the rectangular grid. Emphasis is an avoiding excessive undulation between given grid points. The proposed method is an extension of the method of univariate interpolation developed earlier by the author and is likewise based on local procedures. .B CACM January, 1974 .A Akima, H. .K bivariate interpolation, interpolation, partial derivative, polynomial, smooth surface fitting .C 5.13 .N CA740103 JB January 18, 1978 2:38 PM .X 2693 4 2696 2696 4 2696 2696 4 2696 2270 5 2696 2693 5 2696 2696 5 2696 2696 5 2696 2696 5 2696 988 6 2696 2270 6 2696 2696 6 2696 .I 2697 .T A Fast Method for Solving a Class of Tridiagonal Linear Systems .W The solution of linear systems having real, symmetric, diagonally dominant,tridiagonal coefficient matrices with constant diagonals is considered. It is proved that the diagonals of the LU decomposition converges when floating-point precision. It is also proved that the computed LU decomposition converges when floating-point arithmetic is used and that the limits of the LU diagonals using floating point are roughly within machine precision of the limits using real arithmetic. This fact is exploited to reduce the number of floating-point operations required to solve a linear system from 8n-7 to 5n+2k-3, where k is much less than n, the order of the matrix. If the elements of the subdiagonals and superdiagonals are 1, then only 4n+2k-3 operations are needed. The entire LU decomposition takes k words of storage, and considerable savings in array subscripting are achieved. Upper and lower bounds on k are obtained in terms of the ratio of the coefficient matrix diagonal constants and parameters of the floating-point number system. Various generalizations of these results are discussed. .B CACM January, 1974 .A Malcolm, M. A. Palmer, J. .K numerical linear algebra, linear systems, Toeplitz matrices, tridiagonal matrices .C 5 5.1 5.11 5.14 5.17 .N CA740102 JB January 18, 1978 2:50 PM .X 2697 5 2697 2697 5 2697 2697 5 2697 .I 2698 .T Syntax-Directed Least-Errors Analysis for Context-Free Languages: A Practical Approach .W A least-errors recognizer is developed informally using the well-known recognizer of Earley, along with elements of Bellman's dynamic programming. The analyzer takes a general class of context-free grammars as drivers, and any finite string as input. Recognition consists of a least-errors count for a corrected version of the input relative to the driver grammar. The algorithm design emphasizes practical aspects which help in programming it. .B CACM January, 1974 .A Lyon, G. .K arbitrary input strings, context-free grammars, parsing, dynamic programming, stored subanalyses, separability, state merging, least-errors correction .C 4.12 5.23 5.42 .N CA740101 JB January 18, 1978 2:57 PM .X 1225 4 2698 1323 4 2698 1350 4 2698 1358 4 2698 1379 4 2698 1380 4 2698 1542 4 2698 1646 4 2698 1665 4 2698 1665 4 2698 1683 4 2698 1693 4 2698 1693 4 2698 1768 4 2698 1781 4 2698 1781 4 2698 1781 4 2698 1781 4 2698 1787 4 2698 1787 4 2698 1787 4 2698 1824 4 2698 1825 4 2698 1836 4 2698 1836 4 2698 1836 4 2698 1861 4 2698 1945 4 2698 1945 4 2698 1945 4 2698 1989 4 2698 1989 4 2698 2015 4 2698 2015 4 2698 2060 4 2698 2060 4 2698 2060 4 2698 2061 4 2698 2061 4 2698 2082 4 2698 2091 4 2698 2091 4 2698 2110 4 2698 2112 4 2698 2127 4 2698 2152 4 2698 2179 4 2698 2179 4 2698 2179 4 2698 2187 4 2698 2317 4 2698 2340 4 2698 2356 4 2698 2534 4 2698 2541 4 2698 2545 4 2698 2546 4 2698 2546 4 2698 2603 4 2698 2650 4 2698 2698 4 2698 2698 4 2698 2698 4 2698 2698 4 2698 2698 4 2698 2698 4 2698 2698 4 2698 2708 4 2698 2708 4 2698 2708 4 2698 2708 4 2698 2733 4 2698 2733 4 2698 2820 4 2698 2824 4 2698 2921 4 2698 2982 4 2698 2986 4 2698 3045 4 2698 3045 4 2698 3073 4 2698 3093 4 2698 3093 4 2698 3155 4 2698 3154 4 2698 1477 5 2698 1491 5 2698 1781 5 2698 2110 5 2698 2556 5 2698 2698 5 2698 2698 5 2698 2698 5 2698 680 5 2698 799 5 2698 .I 2699 .T Automatic Data Structure Choice in a Language of Very High Level .W SETL is a set-theoretically oriented language of very high level whose repertoire of semantic objects includes finite sets, ordered n-tuples, and sets of ordered n-tuples usable as mappings. This paper describes the structure of an optimizer for this language. Among other methods of interest, the optimizer uses techniques which allow relations of inclusion and membership to be established, the domains and ranges of (tabulated) mappings to be estimated from above and below, and the single-valuedness of (tabulated) mappings to be proved. Once facts of this kind have been established, automatic choice of data structures becomes possible. The methods employed are based upon, and extend, known techniques of data flow analysis. .B CACM December, 1975 .A Schwartz, J. T. .K program optimization, automatic programming, high-level languages, set-theoretic languages, data structure choice .C 4.12 4.20 4.22 .N CA751208 JB January 5, 1978 3:53 PM .X 2699 5 2699 2699 5 2699 2699 5 2699 .I 2700 .T Reduction: A Method of Proving Properties of Parallel Programs .W When proving that a parallel program has a given property it is often convenient to assume that a statement is indivisible, i.e. that the statement cannot be interleaved with the rest of the program. Here sufficient conditions are obtained to show that the assumption that a statement is indivisible can be relaxed and still preserve properties such as halting. Thus correctness proofs of a parallel system can often be greatly simplified. .B CACM December, 1975 .A Lipton, R. J. .K deadlock free, reduction, interruptible, indivisible, parallel program, semaphore, verification method, process, computation sequence .C 4.32 4.35 5.24 .N CA751207 JB January 5, 1978 3:59 PM .X 2700 4 2700 3128 4 2700 2376 5 2700 2700 5 2700 2700 5 2700 2700 5 2700 .I 2701 .T A Fast and Usually Linear Algorithm for Global Flow Analysis (Abstract only--Complete paper JACM 23,1 January, 1976) .W A new algorithm for global flow analysis on reducible graphs is presented. The algorithm is shown to treat a very general class of function spaces. For a graph of e edges, the algorithm has a worst case time bound of O(e log e) function operations. It is also shown that in programming terms, the number of operations is proportional to e plus the number of exits from program loops. Consequently a restriction to one-entry one-exit control structures linearity. The algorithm can be extended to yet larger classes of function spaces and graphs by relaxing the time bound. Examples are given of code improvement problems which can be solved using the algorithm. .B CACM December, 1975 .A Graham, S. L. Wegman, M. .K global flow analysis, data flow, code optimization, common subexpression elimination, live-dead analysis, information propagation, flow graph, reducibility, go-to-less programming, depth-first search, path compression .C 4.12 5.24 5.25 5.32 .N CA751206 JB January 5, 1978 4:08 PM .X 2701 5 2701 2701 5 2701 2701 5 2701 .I 2702 .T On the Complexity of LR(k) Testing .W The problem of determining whether an arbitrary context-free grammar is a member of some easily parsed subclass of grammars such as the LR(k) grammars is considered. The time complexity of this problem is analyzed both when k is considered to be a fixed integer and when k is considered to be a parameter of the test. In the first case, it is shown that for every k there exists an O(n(k+2)) algorithm for testing the LR(k) property, where n is the size of the grammar in question. On the other hand, if both k and the subject grammar are problem parameters, then the complexity of the problem depends very strongly on the representation chosen for k. More specifically, it is shown that this problem is NP-complete when k is expressed in unary. When k is expressed in binary the problem is complete for nondeterministic exponential time. These results carry over to many other parameterized classes of grammars, such as the LL(k), strong LL(k), SLR(k), LC(k), and strong LC(k) grammars. .B CACM December, 1975 .A Hunt, H. B. III Szymanski, T. G. Ullman, J. D. .K computational complexity, context-free grammars, parsing, LR(k) grammars, NP-complete problems .C 4.12 5.23 5.25 .N CA751205 JB January 5, 1978 4:28 PM .X 2702 5 2702 2702 5 2702 2702 5 2702 .I 2703 .T The Intrinsically Exponential Complexity of the Circularity Problem for Attribute Grammars .W Attribute grammars are an extension of context-free grammars devised by Knuth as a mechanism for including the semantics of a context-free language with the syntax of the language. The circularity problem for a grammar is to determine whether the semantics for all possible sentences (programs) in fact will be well defined. It is proved that this problem is, in general, computationally intractable. Specifically, it is shown that any deterministic algorithm which solves the problem must for infinitely many cases use an exponential amount of time.An improved version of Knuth's circularity testing algorithm is also given, which actually solves the problem within exponential time. .B CACM December, 1975 .A Jazayeri, M. Ogden, W. F. Rounds, W. C. .K attribute grammars, circularity problem, context-free grammars, computational complexity, exponential time, semantics .C 4.12 5.25 .N CA751204 JB January 5, 1978 4:38 PM .X 2703 4 2703 2703 5 2703 2703 5 2703 2703 5 2703 2886 5 2703 .I 2704 .T Exception Handling: Issues and a Proposed Notation .W This paper defines exception conditions, discusses the requirements exception handling language features must satisfy, and proposes some new language features for dealing with exceptions in an orderly and reliable way. The proposed language features serve to highlight exception handling issues by showing how deficiencies in current approaches can be remedied. .B CACM December, 1975 .A Goodenough, J. B. .K multilevel exit, goto statement, error conditions, structured programming, ON conditions, programming languages .C 4.22 .N CA751203 JB January 5, 1978 4:47 PM .X 1397 4 2704 1828 4 2704 1854 4 2704 1877 4 2704 1960 4 2704 2150 4 2704 2317 4 2704 2319 4 2704 2377 4 2704 2342 4 2704 2376 4 2704 2379 4 2704 2424 4 2704 2482 4 2704 2618 4 2704 2632 4 2704 2704 4 2704 2704 4 2704 2704 4 2704 2704 4 2704 2704 4 2704 2704 4 2704 2723 4 2704 2738 4 2704 2738 4 2704 2740 4 2704 2741 4 2704 2770 4 2704 2866 4 2704 2867 4 2704 2867 4 2704 2869 4 2704 2902 4 2704 2941 4 2704 2958 4 2704 3004 4 2704 3030 4 2704 3053 4 2704 3184 4 2704 1247 5 2704 1552 5 2704 1749 5 2704 2356 5 2704 2379 5 2704 2673 5 2704 2704 5 2704 2704 5 2704 2704 5 2704 2945 5 2704 3150 5 2704 1947 6 2704 2060 6 2704 2704 6 2704 2704 6 2704 2842 6 2704 2870 6 2704 2939 6 2704 2940 6 2704 2941 6 2704 2943 6 2704 3073 6 2704 3148 6 2704 .I 2705 .T Programming Languages, Natural Languages, and Mathematics .W Some social aspects of programming are illuminated through analogies with similar aspects of mathematics and natural languages. The split between pure and applied mathematics is found similarly in programming. The development of natural languages toward flexion less, word-order based language types speaks for programming language design based on general, abstract constructs. By analogy with incidents of the history of artificial, auxiliary languages it is suggested that Fortran and Cobol will remain dominant for a long time to come. The most promising avenues for further work of wide influence are seen to be high quality program literature (i.e. programs) of general utility and studies of questions related to program style. .B CACM December, 1975 .A Naur, P. .K analogies related to social aspects,pure and applied mathematics, language quality, language development, artificial auxiliary languages, literature, style, descriptive and prescriptive attitudes .C 4.20 .N CA751202 JB January 6, 1978 8:30 AM .X 2705 4 2705 2705 4 2705 2984 4 2705 3101 4 2705 1908 5 2705 2705 5 2705 2705 5 2705 2705 5 2705 3185 5 2705 .I 2706 .T A Note on the Set Basis Problem Related to the Compaction of Character Sets .W This note discusses the reduction of the set basis problem to the clique cover problem. .B CACM November, 1975 .A Kou, L. T. Wong, C. K. .K compaction of character sets, set basis, set covering, computational complexity, polynomial completeness, clique cover .C 4.9 5.25 5.39 .N CA751106 JB January 6, 1978 8:55 AM .X 2706 4 2706 2643 5 2706 2706 5 2706 2706 5 2706 2706 5 2706 .I 2707 .T Backtrack Programming Techniques .W The purpose of this paper is twofold. First, a brief exposition of the general backtrack technique and its history is given. Second, it is shown how the use of macros can considerably shorten the computation time in many cases. In particular, this technique has allowed the solution of two previously open combinatorial problems, the computation of new terms in a well-known series, and the substantial reduction in computation time for the solution to another combinatorial problem. .B CACM November, 1975 .A Bitner, J. R. Reingold, E. M. .K backtrack, depth-first search, exhaustive search, macros, combinatorial computing, non-attacking queen's problem, difference-preserving codes, pentominoes, tiling problems, squaring the square .C 5.30 .N CA751105 JB January 6, 1978 9:03 AM .X 1531 4 2707 2707 4 2707 2753 4 2707 1185 5 2707 2707 5 2707 2707 5 2707 2707 5 2707 3053 5 2707 1329 6 2707 1785 6 2707 1973 6 2707 1992 6 2707 2107 6 2707 2109 6 2707 2412 6 2707 2543 6 2707 2673 6 2707 2707 6 2707 2770 6 2707 .I 2708 .T Practical Syntactic Error Recovery .W This paper describes a recovery scheme for syntax errors which provides automatically-generated high quality recovery with good diagnostic information at relatively low cost. Previous recovery techniques are summarized and empirical comparisons are made. Suggestions for further research on this topic conclude the paper. .B CACM November, 1975 .A Graham, S. L. Rhodes, S. P. .K syntax errors, error recovery, error correction, parsing, simple precedence, compilers, debugging .C 4.12 4.42 5.23 .N CA751104 JB January 6, 1978 9:42 AM .X 1225 4 2708 1350 4 2708 1379 4 2708 1542 4 2708 1646 4 2708 1683 4 2708 1693 4 2708 1693 4 2708 1781 4 2708 1781 4 2708 1781 4 2708 1781 4 2708 1787 4 2708 1836 4 2708 1836 4 2708 1945 4 2708 1945 4 2708 1945 4 2708 2015 4 2708 2060 4 2708 2060 4 2708 2061 4 2708 2061 4 2708 2082 4 2708 2091 4 2708 2091 4 2708 2152 4 2708 2179 4 2708 2179 4 2708 2340 4 2708 2356 4 2708 2534 4 2708 2534 4 2708 2546 4 2708 2546 4 2708 2556 4 2708 2603 4 2708 2650 4 2708 2650 4 2708 2698 4 2708 2698 4 2708 2698 4 2708 2698 4 2708 2708 4 2708 2708 4 2708 2708 4 2708 2708 4 2708 2708 4 2708 2708 4 2708 2708 4 2708 2820 4 2708 2824 4 2708 2887 4 2708 2971 4 2708 2982 4 2708 2986 4 2708 3045 4 2708 3045 4 2708 3045 4 2708 3093 4 2708 3093 4 2708 1477 5 2708 1491 5 2708 1787 5 2708 2111 5 2708 2534 5 2708 2556 5 2708 2708 5 2708 2708 5 2708 2708 5 2708 3093 5 2708 680 5 2708 1491 6 2708 2179 6 2708 2708 6 2708 680 6 2708 .I 2709 .T A Genealogy of Control Structures .W The issue of program control structures has had a history of heated controversy. To put this issue on a solid footing, this paper reviews numerous theoretical results on control structures and explores their practical implications. The classic result of Bohm and Jacopini on the theoretical completeness of if-then-else and while-do is discussed. Several recent ideas on control structures are then explored. These include a review of various other control structures, results on time/space limitations, and theorems relating the relative power of control structures under notions of equivalence. In conclusion, the impact of theoretical results on the practicing programmer and the importance of one-in, one-out control structures as operational abstractions are discussed. It is argued further that there is insufficient evidence to warrant more than if-then-else, while-do, and their variants. .B CACM November, 1975 .A Ledgard, H. F. Marcotty, M. .K structured programming, control structures, goto statements, language design, PASCAL .C 4.2 5.24 .N CA751103 JB January 6, 1978 9:53 AM .X 2319 4 2709 2411 4 2709 2480 4 2709 2574 4 2709 2594 4 2709 2709 4 2709 2709 4 2709 2709 4 2709 2709 4 2709 2709 4 2709 2802 4 2709 2889 4 2709 2937 4 2709 2939 4 2709 2972 4 2709 2989 4 2709 3004 4 2709 3004 4 2709 3005 4 2709 3025 4 2709 3101 4 2709 3121 4 2709 3155 4 2709 1425 5 2709 2138 5 2709 2204 5 2709 2456 5 2709 2477 5 2709 2709 5 2709 2709 5 2709 2709 5 2709 2821 5 2709 3121 5 2709 1312 6 2709 308 6 2709 309 6 2709 2456 6 2709 2709 6 2709 2709 6 2709 .I 2710 .T Specifying Queries as Relational Expressions: The SQUARE Data Sublanguage .W This paper presents a data sublanguage called SQUARE, intended for use in ad hoc, interactive problem solving by non-computer specialists. SQUARE is based on the relational model of data, and is shown to be relationally complete; however, it avoids the quantifiers and bound variables required by languages based on the relational calculus. Facilities for query, insertion, deletion, and update on tabular data bases are described. A syntax is given, and suggestions are made for alternative syntaxes, including a syntax based on English key words for users with limited mathematical background. .B CACM November, 1975 .A Boyce, R. F Chamberlin, D. D. King, W. F. III .K database, data sublanguages, relations, query languages, casual user, relational data model, tabular data, interactive problem solving, nonprocedural languages, relational completeness .C 3.50 3.70 4.20 .N CA751102 JB January 6, 1978 10:04 AM .X 1135 4 2710 1136 4 2710 2046 4 2710 2155 4 2710 2406 4 2710 493 4 2710 2710 4 2710 2710 4 2710 2710 4 2710 2710 4 2710 2715 4 2710 2716 4 2710 2716 4 2710 2717 4 2710 2718 4 2710 2765 4 2710 2765 4 2710 2817 4 2710 2888 4 2710 2888 4 2710 2901 4 2710 2901 4 2710 2906 4 2710 2957 4 2710 2959 4 2710 2965 4 2710 3087 4 2710 3154 4 2710 729 4 2710 1515 5 2710 2046 5 2710 2710 5 2710 2710 5 2710 2710 5 2710 2715 5 2710 616 5 2710 .I 2711 .T A Vector Space Model for Automatic Indexing .W In a document retrieval, or other pattern matching environment where stored entities (documents) are compared with each other or with incoming patterns (search requests), it appears that the best indexing (property) space is one where each entity lies as far away from the others as possible; in these circumstances the value of an indexing system may be expressible as a function of the density of the object space; in particular, retrieval performance may correlate inversely with space density. An approach based on space density computations is used to choose an optimum indexing vocabulary for a collection of documents. Typical evaluation results are shown, demonstrating the usefulness of the model. .B CACM November, 1975 .A Salton, G. Wong, A. Yang, C. S. .K automatic information retrieval, automatic indexing, content analysis, document space .C 3.71 3.73 3.74 3.75 .N CA751101 JB January 6, 1978 10:14 AM .X 2711 5 2711 2711 5 2711 2711 5 2711 .I 2712 .T Horner's Rule for the Evaluation of General Closed Queueing Networks .W The solution of separable closed queueing networks requires the evaluation of homogeneous multinomial expressions. The number of terms in those expressions grows combinatorially with the size of the network such that a direct summation may become impractical. An algorithm is given which does not show a combinatorial operation count. The algorithm is based on a generalization of Horner's rule for polynomials. It is also shown how mean queue size and throughput an be obtained at negligible extra cost once the normalization constant is evaluated. .B CACM October, 1975 .A Reiser, M. Kobayashi, H. .K Queueing networks, queueing theory Horner's rule, evaluation of multinomial sums, load-dependent service rate .C 5.12 5.5 8.1 8.3 .N CA751007 JB January 6, 1978 10:35 AM .X 2712 4 2712 2741 4 2712 3070 4 2712 2454 5 2712 2712 5 2712 2712 5 2712 2712 5 2712 .I 2713 .T Remark on Stably Updating Mean and Standard Deviation of Data (Corrigendum) .B CACM October, 1975 .A Cotton, I. .N CA751006 JB January 6, 1978 10:38 AM .X 2713 5 2713 2713 5 2713 2713 5 2713 .I 2714 .T Merging with Parallel Processors .W Consider two linearly ordered sets A, B, |A|=m, |B|=n, m<=n, and p, p<=m, parallel processors working synchronously. The paper presents an algorithm for merging A and B with the p parallel processors, which requires at most 2[log2 (2m+1)]+[3m/p] + [m/p][log2 (n/m)] steps. If n = (2^B)m (B an integer), the algorithm requires at most 2[log2 (m+1)] + [m/p](2+B) steps. In the case where m and n are of the same order of magnitude, i.e. n=km with k being a constant, the algorithm requires 2[log2 (m+1)] + [m/p](3+k) steps. These performances compare very favorably with the previous best parallel merging algorithm, Batcher's algorithm, which requires n/p + ((m+n)/2p)log2 m steps in the general case and km/p + ((k+1)/2)(m/p)log2 m in the special case where n=km. .B CACM October, 1975 .A Gavril, F. .K parallel processing, parallel merging, parallel binary insertion .C 5.31 .N CA751005 JB January 6, 1978 10:50 AM .X 2714 4 2714 3075 4 2714 2664 5 2714 2714 5 2714 2714 5 2714 2714 5 2714 3075 5 2714 2289 6 2714 2557 6 2714 2664 6 2714 2714 6 2714 .I 2715 .T Implementation of a Structured English Query Language .W The relational model of data, the XRM Relational Memory System, and the SEQUEL language have been covered in previous papers and are reviewed. SEQUEL is a relational data sublanguages intended for the ad hoc interactive problem solving by non-computer specialists. A version of SEQUEL that has been implemented in a prototype interpreter is described. The interpreter is designed to minimize the data accessing operations required to respond to an arbitrary query. The optimization algorithms designed for this purpose are described. .B CACM October, 1975 .A Astrahan, M. M. Chamberlin,D. D. .K relational model, query language, nonprocedural language, database, data structure, data organization .C 3.74 3.75 4.22 4.33 4.34 .N CA751004 JB January 6, 1978 11:02 AM .X 2155 4 2715 2406 4 2715 2710 4 2715 2715 4 2715 2716 4 2715 2717 4 2715 2718 4 2715 2765 4 2715 2817 4 2715 2888 4 2715 2901 4 2715 2957 4 2715 2959 4 2715 2965 4 2715 3087 4 2715 3154 4 2715 2046 5 2715 2710 5 2715 2715 5 2715 2715 5 2715 2715 5 2715 2716 5 2715 2901 5 2715 1515 6 2715 1976 6 2715 2046 6 2715 2046 6 2715 2046 6 2715 2715 6 2715 2715 6 2715 2715 6 2715 616 6 2715 .I 2716 .T Optimizing the Performance of a Relational Algebra Database Interface .W An approach for implementing a "smart" interface to support a relational view of data is proposed. The basic idea is to employ automatic programming techniques so that the interface analyzes and efficiently refines the high level query specification supplied by the user. A relational algebra interface, called SQUIRAL, which was designed using this approach, is described in detail. SQUIRAL seeks to minimize query response time and space utilization by: (1) performing global query optimization, (2) exploiting disjoint and pipelined concurrency, (3) coordinating sort orders in temporary relations, (4) employing directory analysis, and (5) maintaining locality in page references. Algorithms for implementing the operators of E. F. Codd's relational algebra are presented, and a methodology for composing them to optimize the performance of a particular user query is described. .B CACM October, 1975 .A Smith, J. M. Yen-Tang Chang, P. .K relational database, database optimization, inverted file, automatic programming, query language, data manipulation language, very high level language .C 3.70 4.13 4.33 .N CA751003 JB January 6, 1978 11:19 AM .X 2155 4 2716 2406 4 2716 2710 4 2716 2710 4 2716 2715 4 2716 2716 4 2716 2716 4 2716 2717 4 2716 2718 4 2716 2765 4 2716 2817 4 2716 2888 4 2716 2901 4 2716 2901 4 2716 2957 4 2716 2959 4 2716 2965 4 2716 3087 4 2716 3154 4 2716 2046 5 2716 2715 5 2716 2716 5 2716 2716 5 2716 2716 5 2716 .I 2717 .T CONVERT: A High Level Translation Definition Language for Data Conversion .W This paper describes a high level and nonprocedural translation definition language, CONVERT, which provides very powerful and highly flexible data restructuring capabilities. Its design is based on the simple underlying concept of a form which enables the users to visualize the translation processes, and thus makes data translation a much simpler task. "CONVERT" has been chosen for conveying the purpose of the language and should not be confused with any other language or program bearing the same name. .B CACM October, 1975 .A Shu, N. C. Housel, B. C. Lum, V. Y. .K data conversion, data restructuring, data translation, database reorganization, translation definition, utility program, programming languages, nonprocedural languages .C 3.50 3.75 4.29 4.4 4.9 .N CA751002 JB January 6, 1978 1:45 PM .X 2155 4 2717 2406 4 2717 2710 4 2717 2715 4 2717 2716 4 2717 2717 4 2717 2717 4 2717 2718 4 2717 2765 4 2717 2817 4 2717 2888 4 2717 2901 4 2717 2957 4 2717 2959 4 2717 2965 4 2717 3087 4 2717 3154 4 2717 2046 5 2717 2406 5 2717 2717 5 2717 2717 5 2717 2717 5 2717 .I 2718 .T A Preliminary System for the Design of DBTG Data Structures .W The functional approach to database design is introduced. In this approach the goal of design is to derive a data structure which is capable of supporting a set of anticipated queries rather than a structure which "models the business" in some other way. An operational computer program is described which utilizers the functional approach to design data structures conforming to the Data Base Task Group specifications. The automatic programming technology utilized by this program, although typically used to generate procedure, is here used to generate declaratives. .B CACM October, 1975 .A Gerritsen, R. .K network model of databases, Data Base Task Group, database design, data structure, automatic programming, translation, nonprocedural languages .C 3.5 3.64 3.7 4.2 5.23 .N CA751001 JB January 6, 1978 2:02 PM .X 2155 4 2718 2406 4 2718 2710 4 2718 2715 4 2718 2716 4 2718 2717 4 2718 2718 4 2718 2765 4 2718 2817 4 2718 2888 4 2718 2901 4 2718 2957 4 2718 2959 4 2718 2965 4 2718 3087 4 2718 3154 4 2718 2046 5 2718 2718 5 2718 2718 5 2718 2718 5 2718 3147 5 2718 2718 6 2718 .I 2719 .T Mechanical Program Analysis .W One means of analyzing program performance is by deriving closed-form expressions for their execution behavior. This paper discusses the mechanization of such analysis, and describes a system, Metric, which is able to analyze simple Lisp programs and produce, for example, closed-form expressions for their running time expressed in terms of size of input. This paper presents the reasons for mechanizing program analysis, describes the operation of Metric, explains its implementation, and discusses its limitations. .B CACM September, 1975 .A Wegbreit, B. .K analysis of programs, performance analysis, execution time, execution behavior, difference equations, generating functions, list processing, Lisp, algebraic manipulation, programming languages, analysis of algorithms .C 3.69 4.22 5.24 5.25 .N CA750905 JB January 6, 1978 2:11 PM .X 1024 4 2719 1051 4 2719 1102 4 2719 1132 4 2719 1390 4 2719 1486 4 2719 1549 4 2719 1706 4 2719 1708 4 2719 1781 4 2719 1826 4 2719 1826 4 2719 1860 4 2719 1878 4 2719 378 4 2719 2060 4 2719 2155 4 2719 2156 4 2719 2168 4 2719 2168 4 2719 2164 4 2719 2170 4 2719 2249 4 2719 2314 4 2719 2323 4 2719 2657 4 2719 2719 4 2719 2719 4 2719 2719 4 2719 2719 4 2719 2719 4 2719 2719 4 2719 2719 4 2719 2723 4 2719 2736 4 2719 2833 4 2719 2838 4 2719 2842 4 2719 2855 4 2719 2879 4 2719 2967 4 2719 3077 4 2719 3080 4 2719 3094 4 2719 3106 4 2719 627 4 2719 106 4 2719 210 5 2719 1626 5 2719 2151 5 2719 2167 5 2719 2210 5 2719 2645 5 2719 2657 5 2719 2719 5 2719 2719 5 2719 2719 5 2719 .I 2720 .T Optimal Balancing of I/O Requests to Disks .W Determining a policy for efficient allocation and utilization of a set of disk drives with differing operational characteristics is examined using analytical techniques. Using standard queueing theory, each disk drive is characterized by a queueing model with service time of a disk drive represented by the probability density function of the sum of two uniform distributions. Total response time of the set of disk models is then minimized under varying load conditions. The results indicate that faster devices should have higher utilization factors and that the number of different device types utilized tends to decrease with decreasing load. Specific examples using 2314 and 3330 combinations are examined. .B CACM September, 1975 .A Piepmeier, W. F. .K disk drive hierarchies, system evaluation, input/output, modeling, queueing theory, balancing, scheduling, device assignment .C 2.44 4.35 5.15 5.5 6.35 8.1 8.3 .N CA750904 JB January 6, 1978 2:42 PM .X 2720 5 2720 2720 5 2720 2720 5 2720 .I 2721 .T The Digital Simulation of River Plankton Population Dynamics .W This paper deals with the development of a mathematical model for and the digital simulation in Fortran IV of phytoplankton and zooplankton population densities in a river using previously developed rate expressions. In order to study the relationships between the ecological mechanisms involved, the simulation parameters were varied illustrating the response of the ecosystem to different conditions, including those corresponding to certain types of chemical and thermal pollution. As an investigation of the accuracy of the simulation methods, a simulation of the actual population dynamics of Asterionella in the Columbia River was made based on approximations of conditions in that river. Although not totally accurate, the simulation was found to predict the general annual pattern of plankton growth fairly well and, specifically, revealed the importance of the annual velocity cycle in determining such patterns. In addition, the study demonstrates the usefulness of digital simulations in the examinations of certain aquatic ecosystems, as well as in environmental planning involving such examinations. .B CACM September, 1975 .A Claudson, R. M. .K digital simulation, mathematical modeling, plankton population dynamics, phytoplankton, zooplankton, river ecosystems, ecological mechanisms, environmental simulation, modeling ecosystems, pollution, environmental impact, environmental planning .C 3.12 3.19 .N CA750903 JB January 6, 1978 2:55 PM .X 2721 5 2721 2721 5 2721 2721 5 2721 .I 2722 .T Multidimensional Binary Search Trees Used for Associative Searching .W This paper develops the multidimensional binary search tree (or k-d tree, where k is the dimensionality of the search space) as a data structure for storage of information to be retrieved by associative searches. The k-d tree is defined and examples are given. It is shown to be quite in its storage requirements. A significant advantage of this structure is that a single data structure can handle many types of queries very efficiently. Various utility algorithms are developed; their proven average running times in an n record file are: insertion, O (log n); deletion of the root, O (n^(k-1)/k); deletion of a random node, O (log n); and optimization (guarantees logarithmic performance of searches), O (n log n). Search algorithms are given for partial match queries with t keys specified [proven maximum running time of O (n^(k-t)/k)] and for nearest neighbor queries [empirically observed average running time of O (log n).] These performances far surpass the best currently known algorithms for these tasks. An algorithm is presented to handle any general intersection query. The main focus of this paper theoretical. It is felt, however, that k-d trees could be quite useful in many applications, and examples of potential uses are given. .B CACM September, 1975 .A Bently, J. L. .K associative retrieval, binary search trees, key, attribute, information retrieval system, nearest neighbor queries, partial match queries, intersection queries, binary tree insertion .C 3.63 3.70 3.74 4.49 .N CA750902 JB January 6, 1978 3:22 PM .X 2722 5 2722 2722 5 2722 2722 5 2722 .I 2723 .T Multiprocessing Compactifying Garbage Collection .W Algorithms for a multiprocessing compactifying garbage collector are presented and discussed. The simple case of two processors, one performing LISP-like list operations and the other performing garbage collection continuously, is thoroughly examined. The necessary capabilities of each processor are defined, as well as interprocessor communication and interlocks. Complete procedures for garbage collection and for standard list processing primitives are presented and thoroughly explained. Particular attention is given to the problems of marking and relocating list cells while another processor may be operating on them. The primary aim throughout is to allow the list processor to run unimpeded while the other processor reclaims list storage. The more complex cases involving several list processors and one or more garbage collection processors are also briefly discussed. .B CACM September, 1975 .A Steele, G. L. Jr. .K garbage collection, storage reclamation, reclaimer, storage allocation, multiprocessing, synchronization, semaphores, parallel processing, compactification, relocation, LISP, list processing, free storage, pointers, data structures, gc processor .C 4.19 4.32 4.40 4.49 4.9 .N CA750901 JB January 6, 1978 3:39 PM .X 1024 4 2723 1024 4 2723 1050 4 2723 1051 4 2723 1051 4 2723 1098 4 2723 1102 4 2723 1132 4 2723 1214 4 2723 1380 4 2723 1388 4 2723 1390 4 2723 1393 4 2723 1485 4 2723 1486 4 2723 1487 4 2723 1549 4 2723 1549 4 2723 1549 4 2723 1570 4 2723 1706 4 2723 1826 4 2723 1828 4 2723 1854 4 2723 1869 4 2723 1877 4 2723 1878 4 2723 1878 4 2723 1946 4 2723 1957 4 2723 1960 4 2723 1972 4 2723 378 4 2723 2060 4 2723 2150 4 2723 2155 4 2723 2156 4 2723 2168 4 2723 2168 4 2723 2168 4 2723 2317 4 2723 2319 4 2723 2377 4 2723 2342 4 2723 2376 4 2723 2379 4 2723 2424 4 2723 2438 4 2723 2482 4 2723 2513 4 2723 2618 4 2723 2632 4 2723 2665 4 2723 2704 4 2723 2719 4 2723 2723 4 2723 2723 4 2723 2723 4 2723 2723 4 2723 2723 4 2723 2723 4 2723 2723 4 2723 2736 4 2723 2738 4 2723 2740 4 2723 2741 4 2723 2833 4 2723 2838 4 2723 2842 4 2723 2855 4 2723 2855 4 2723 2855 4 2723 2857 4 2723 2867 4 2723 2879 4 2723 2882 4 2723 2941 4 2723 2956 4 2723 3030 4 2723 3074 4 2723 3077 4 2723 3080 4 2723 3106 4 2723 3106 4 2723 3112 4 2723 3112 4 2723 3184 4 2723 627 4 2723 731 4 2723 793 4 2723 106 4 2723 210 5 2723 1549 5 2723 1749 5 2723 1826 5 2723 2651 5 2723 2723 5 2723 2723 5 2723 2723 5 2723 2838 5 2723 2896 5 2723 3039 5 2723 3074 5 2723 3112 5 2723 627 5 2723 731 5 2723 106 6 2723 1380 6 2723 1826 6 2723 1826 6 2723 210 6 2723 1834 6 2723 1853 6 2723 1972 6 2723 1972 6 2723 2438 6 2723 2723 6 2723 2723 6 2723 2723 6 2723 2723 6 2723 2723 6 2723 2732 6 2723 2732 6 2723 2736 6 2723 2833 6 2723 2838 6 2723 2896 6 2723 731 6 2723 .I 2724 .T The Lemniscate Constants (Corrigendum) .B CACM August, 1975 .A Todd, J. .N CA750811 JB January 6, 1978 3:44 PM .X 2724 5 2724 2724 5 2724 2724 5 2724 .I 2725 .T A Comparison of Simulation Event List Algorithms (Corrigendum) .B CACM August, 1975 .A Vaucher, J. C. Duval, P. .N CA750810 JB January 6, 1978 3:43 PM .X 2725 5 2725 2725 5 2725 2725 5 2725 .I 2726 .T Combining Decision Rules in a Decision Table .W The techniques for minimizing logic circuits are applied to the simplification of decision tables by the combining of decision rules. This method is logically equivalent to the Quien-McCluskey method for finding prime implicants. If some of the decision rules implied in the ELSE Rule occur with low frequency, then the ELSE Rule can be used to further simplify the decision table. Several objectives merit consideration in optimizing a decision table:(1) reducing machine execution time; (2) reducing preprocessing time; (3) reducing required machine memory; (4) reducing the number of decision rules. (This often improves the clarity of the decision table to a human reader.) It will be shown that objectives (3) and (4) can be furthered with the above methods. Objective (1) is also attained if overspecified decision rules are not combined. Objective (2) must be compared against the potential benefits of objectives (1), (3), and (4) in deciding whether to use the above methods. .B CACM August, 1975 .A Shwayder, K. .K the Quine-McCluskey method, prime implicants, minimization, maximization, logic circuit, boolean method, coding, decision tables, flowcharting, sorting .C 3.5 3.74 4.12 5.31 5.6 .N CA750809 JB January 6, 1978 3:53 PM .X 1354 4 2726 1354 4 2726 1488 4 2726 1548 4 2726 1548 4 2726 1684 4 2726 2053 4 2726 2053 4 2726 2053 4 2726 2220 4 2726 2220 4 2726 2220 4 2726 2220 4 2726 2220 4 2726 2273 4 2726 2273 4 2726 2273 4 2726 2273 4 2726 2453 4 2726 2453 4 2726 2453 4 2726 2492 4 2726 2517 4 2726 2518 4 2726 2598 4 2726 2598 4 2726 2598 4 2726 2598 4 2726 2616 4 2726 2691 4 2726 2726 4 2726 2726 4 2726 2726 4 2726 2726 4 2726 2726 4 2726 2726 4 2726 2726 4 2726 2726 4 2726 2726 4 2726 2856 4 2726 2856 4 2726 2856 4 2726 2856 4 2726 3113 4 2726 3113 4 2726 1172 5 2726 1327 5 2726 1354 5 2726 1488 5 2726 1489 5 2726 1548 5 2726 2220 5 2726 2221 5 2726 2263 5 2726 2726 5 2726 2726 5 2726 2726 5 2726 .I 2727 .T Multiple Byte Processing with Full-Word Instructions .W A method is described which allows parallel processing of packed data items using only ordinary full-word computer instructions, even though the processing requires operations whose execution is contingent upon the value of a datum. It provides a useful technique for processing small data items such as alphanumeric characters. .B CACM August, 1975 .A Lamport, L. .K byte processing, character processing, packed data .C 4.9 .N CA750808 JB January 6, 1978 4:21 PM .X 2727 5 2727 2727 5 2727 2727 5 2727 2952 5 2727 142 6 2727 162 6 2727 163 6 2727 192 6 2727 2185 6 2727 2727 6 2727 .I 2728 .T Consecutive Storage of Relevant Records with Redundancy .W This paper studies the properties of a new class of file organizations (CRWR) where records relevant to every query are stored in consecutive storage locations but the organizations contain redundancy. Some theorems which provide tools for reducing redundancy in CRWR organizations have been also developed. Redundancies obtained by the application of these theorems are compared with that of query-inverted file organizations. Some CRWR organization with minimum redundancy have also been developed for queries which specify sets of keys. .B CACM August, 1975 .A Ghosh, S. P. .K consecutive, retrieval, storage, file, records, query, redundancy, key .C 3.70 3.73 3.74 .N CA750807 JB January 6, 1978 4:34 PM .X 2728 5 2728 2728 5 2728 2728 5 2728 .I 2729 .T Comments on a Paper by T. C. Chen and I. T. Ho .B CACM August, 1975 .A Smith, A. J. .K binary coded decimal digits, decimal data storage, data compression, Huffman codes, variable length codes .C 6.32 6.34 .N CA750806 JB January 6, 1978 4:37 PM .X 2729 4 2729 2729 4 2729 2288 5 2729 2729 5 2729 2729 5 2729 2729 5 2729 2801 5 2729 .I 2730 .T Interactive Consulting via Natural Language .W Interactive programming systems often contain help commands to give the programmer on-line instruction regarding the use of the various systems commands. It is argued that it would be relatively easy to make these help commands significantly more helpful by having them accept requests in natural language. As a demonstration, Weizenbaum's ELIZA program has been provided with a script that turns it into a natural language system consultant. .B CACM August, 1975 .A Sharo, S. C. Kwasny, S. C. .K interactive programming, time-sharing systems, natural language processing, computer assisted instruction .C 3.32 3.42 3.79 4.49 .N CA750805 DMM January 30, 1978 4:13 PM .X 1400 4 2730 1553 4 2730 1945 4 2730 2127 4 2730 2396 4 2730 2730 4 2730 1487 5 2730 2730 5 2730 2730 5 2730 2730 5 2730 .I 2731 .T Remark on Stably Updating Mean and Standard Deviation of Data .B CACM August, 1975 .A Cotton, I. W. .K mean, standard deviation .C 5.5 5.19 .N CA750804 JB January 6, 1978 4:40 PM .X 2731 4 2731 3159 4 2731 3166 4 2731 3167 4 2731 2731 5 2731 2731 5 2731 2731 5 2731 2799 5 2731 3159 5 2731 3166 5 2731 3167 5 2731 1411 6 2731 2731 6 2731 2731 6 2731 2731 6 2731 2799 6 2731 2799 6 2731 2799 6 2731 3159 6 2731 3167 6 2731 3166 6 2731 .I 2732 .T Guarded Commands, Nondeterminacy and Formal Derivation of Programs .W So-called "guarded commands" are introduced as a building block for alternative and repetitive constructs that allow nondeterministic program components for which at least the activity evoked, but possible even the final state, is not necessarily uniquely determined by the initial state. For the formal derivation of programs expressed in terms of these constructs, a calculus will be shown. .B CACM August, 1975 .A Dijkstra, E. W. .K programming languages, sequencing primitives, program semantics, programming language semantics, nondeterminacy, case-construction, repetition, termination, correctness proof, derivation of programs, programming methodology .C 4.20 4.22 .N CA750803 JB January 6, 1978 4:46 PM .X 249 4 2732 254 4 2732 272 4 2732 1102 4 2732 1109 4 2732 1140 4 2732 1188 4 2732 1306 4 2732 1464 4 2732 1491 4 2732 1767 4 2732 1781 4 2732 1787 4 2732 1949 4 2732 321 4 2732 2021 4 2732 2059 4 2732 2126 4 2732 2222 4 2732 2227 4 2732 2315 4 2732 2326 4 2732 2470 4 2732 435 4 2732 437 4 2732 463 4 2732 483 4 2732 491 4 2732 2732 4 2732 2732 4 2732 2865 4 2732 2896 4 2732 2943 4 2732 560 4 2732 583 4 2732 3014 4 2732 3068 4 2732 3073 4 2732 3077 4 2732 3143 4 2732 627 4 2732 631 4 2732 632 4 2732 642 4 2732 644 4 2732 653 4 2732 680 4 2732 761 4 2732 762 4 2732 763 4 2732 123 4 2732 140 4 2732 919 4 2732 989 4 2732 196 5 2732 1834 5 2732 2732 5 2732 2732 5 2732 2732 5 2732 2896 5 2732 2972 5 2732 3037 5 2732 3039 5 2732 3043 5 2732 3073 5 2732 196 6 2732 970 6 2732 1834 6 2732 2204 6 2732 2597 6 2732 2597 6 2732 2723 6 2732 2723 6 2732 2732 6 2732 2732 6 2732 2732 6 2732 2732 6 2732 2732 6 2732 2732 6 2732 2738 6 2732 2896 6 2732 2927 6 2732 799 6 2732 .I 2733 .T Deterministic Parsing of Ambiguous Grammars .W Methods of describing the syntax of programming languages in ways that are more flexible and natural than conventional BNF descriptions are considered. These methods involve the use of ambiguous context-free grammars together with rules to resolve syntactic ambiguities. It is shown how efficient LR and LL parsers can be constructed directly from certain classes of these specifications. .B CACM August, 1975 .A Aho, A. V. Johnson, S. C. Ullman, J. D. .K programming language specification, parser generation, translator writing systems, syntax analysis, LR parsing, LL parsing, ambiguous grammars .C 4.12 4.22 5.23 .N CA750802 JB January 9, 1978 9:28 AM .X 1323 4 2733 1358 4 2733 1380 4 2733 1665 4 2733 1665 4 2733 1768 4 2733 1781 4 2733 1787 4 2733 1787 4 2733 1824 4 2733 1825 4 2733 1836 4 2733 1861 4 2733 1989 4 2733 2015 4 2733 2110 4 2733 2112 4 2733 2127 4 2733 2187 4 2733 2317 4 2733 2534 4 2733 2541 4 2733 2545 4 2733 2698 4 2733 2698 4 2733 2733 4 2733 2733 4 2733 2733 4 2733 2733 4 2733 2733 4 2733 2746 4 2733 2820 4 2733 2986 4 2733 3073 4 2733 3093 4 2733 3094 4 2733 3155 4 2733 1781 5 2733 2179 5 2733 2423 5 2733 2733 5 2733 2733 5 2733 2733 5 2733 2786 5 2733 799 5 2733 .I 2734 .T On the External Storage Fragmentation Produced by First-Fit and Best-Fit Allocation Strategies .W Published comparisons of the external fragmentation produced by first-fit and best-fit memory allocation have not been consistent. Through simulation, a series of experiments were performed in order to obtain better data on the relative performance of first-fit and best-fit and a better understanding of the reasons underlying observed differences. The time-memory-product efficiencies of first-fit and best-fit were generally within 1 to 3 percent of each other. Except for small populations, the size of the request population had little effect on allocation efficiency. For exponential and hyperexponential distributions of requests, first-fit outperformed best-fit; but for normal and uniform distributions, and for exponential distributions distorted in various ways, best-fit outperformed first-fit. It is hypothesized that when first-fit outperforms best-fit, it does so because first-fit, by preferentially allocating toward one end of memory, encourages large blocks to grow at the other end. Sufficient contiguous space is thereby more likely to be available for relatively large requests. Results of simulation experiments supported this hypothesis and showed that the relative performance of first-fit and best-fit depends on the frequency of request. When the coefficient of variation of the request distribution is greater than or approximately equal to unity, first-fit outperformed best-fit. .B CACM August, 1975 .A Shore, J. E. .K storage fragmentation, dynamic memory allocation, first-fit, best-fit .C 3.73 4.32 4.35 .N CA750801 JB January 9, 1978 9:41 AM .X 2095 4 2734 2218 4 2734 2218 4 2734 2498 4 2734 2596 4 2734 2734 4 2734 2734 4 2734 2902 4 2734 2911 4 2734 3000 4 2734 3000 4 2734 1879 5 2734 2095 5 2734 2734 5 2734 2734 5 2734 2734 5 2734 2902 5 2734 2911 5 2734 2983 5 2734 1051 6 2734 1062 6 2734 1184 6 2734 1211 6 2734 1552 6 2734 1879 6 2734 1879 6 2734 273 6 2734 2435 6 2734 2435 6 2734 2498 6 2734 2596 6 2734 2734 6 2734 2734 6 2734 2734 6 2734 2747 6 2734 2768 6 2734 2773 6 2734 2983 6 2734 .I 2735 .T Discrimination in the Employment of Women in the Computer Industry .B CACM July, 1975 .A Weber, R. E. Gilchrist, B. .K discrimination against women, salaries, employment, programmers, systems analysis, keypunch operators, machine operators .C 2.40 2.41 2.42 .N CA750707 JB January 9, 1978 9:55 AM .X 2735 5 2735 2735 5 2735 2735 5 2735 2823 5 2735 2735 6 2735 .I 2736 .T A Note on Hash Linking .B CACM July, 1975 .A Bobrow, D. G. .K hash search, address space extension, implicit pointers, monitor conditions .C 3.7 3.73 4.1 .N CA750706 JB January 9, 1978 9:59 AM .X 1708 4 2736 1781 4 2736 1826 4 2736 1860 4 2736 1972 4 2736 1972 4 2736 2156 4 2736 2156 4 2736 2156 4 2736 2168 4 2736 2168 4 2736 2249 4 2736 2249 4 2736 2314 4 2736 2361 4 2736 2438 4 2736 2513 4 2736 2719 4 2736 2723 4 2736 2736 4 2736 2736 4 2736 2736 4 2736 2736 4 2736 2833 4 2736 2833 4 2736 2855 4 2736 2855 4 2736 3074 4 2736 3074 4 2736 3074 4 2736 3106 4 2736 3112 4 2736 3112 4 2736 1626 5 2736 1826 5 2736 1853 5 2736 1972 5 2736 2736 5 2736 2736 5 2736 2736 5 2736 2833 5 2736 2845 5 2736 3112 5 2736 106 6 2736 1184 6 2736 1380 6 2736 1626 6 2736 1826 6 2736 1826 6 2736 1972 6 2736 2435 6 2736 2438 6 2736 2598 6 2736 2723 6 2736 2736 6 2736 2736 6 2736 2736 6 2736 2747 6 2736 2768 6 2736 2833 6 2736 2838 6 2736 731 6 2736 .I 2737 .T Determining the Minimum-Area Encasing Rectangle for an Arbitrary Closed Curve .W This paper describes a method for finding the rectangle of minimum area in which a given arbitrary plane curve can be contained. The method is of interest in certain packing and optimum layout problems. It consists of first determining the minimal-perimeter convex polygon that encloses the given curve and then selecting the rectangle of minimum area capable of containing this polygon. Three theorems are introduced to show that one side of the minimum-area rectangle must be colinear with an edge of the enclosed polygon and that the minimum-area encasing rectangle for the convex polygon is also the minimum-area rectangle for the curve. .B CACM July, 1975 .A Freeman, H. Shapira, R. .K enclosed curve, optimum layout, optimum packing, minimum-area encasing rectangle .C 5.19 5.49 .N CA750705 JB January 9, 1978 10:08 AM .X 2737 5 2737 2737 5 2737 2737 5 2737 2997 5 2737 2737 6 2737 .I 2738 .T Use of the Concept of Transparency in the Design of Hierarchically Structured Systems .W This paper deals with the design of hierarchically structured programming systems. It develops a method for evaluating the cost of requiring programmers to work with an abstraction of a real machine. A number of examples from hardware and software are given as illustrations of the method. .B CACM July, 1975 .A Parnas, D. L. Siewiorek, D. P. .K hierarchical systems, bottom up design, levels of abstraction, synchronization primitives .C 4.20 4.30 6.1 6.20 .N CA750704 DMM January 31, 1978 3:46 PM .X 1828 4 2738 1854 4 2738 1877 4 2738 1960 4 2738 2150 4 2738 2317 4 2738 2319 4 2738 2319 4 2738 2377 4 2738 2378 4 2738 2342 4 2738 2376 4 2738 2379 4 2738 2320 4 2738 2424 4 2738 2482 4 2738 2480 4 2738 2618 4 2738 2632 4 2738 2632 4 2738 2704 4 2738 2704 4 2738 2723 4 2738 2738 4 2738 2738 4 2738 2738 4 2738 2738 4 2738 2738 4 2738 2740 4 2738 2740 4 2738 2741 4 2738 2866 4 2738 2867 4 2738 2867 4 2738 2868 4 2738 2869 4 2738 2941 4 2738 2958 4 2738 3004 4 2738 3004 4 2738 3030 4 2738 3030 4 2738 3127 4 2738 3155 4 2738 3184 4 2738 1749 5 2738 2080 5 2738 2247 5 2738 2356 5 2738 2738 5 2738 2738 5 2738 2738 5 2738 2777 5 2738 2972 5 2738 970 6 2738 2204 6 2738 2597 6 2738 2732 6 2738 2738 6 2738 .I 2739 .T The Restriction Language for Computer Grammars of Natural Language .W Over the past few years, a number of systems for the computer analysis of natural language sentences have been based on augmented context-free grammars: a context-free grammar which defines a set of parse trees for a sentence, plus a group of restrictions to which a tree must conform in order to be a valid sentence analysis. As the coverage of the grammar is increased, an efficient representation becomes essential for further development. This paper presents a programming language designed specifically for the compact and perspicuous statement of restrictions of a natural language grammar. It is based on ten years' experience parsing text sentences with the comprehensive English grammar of the N.Y.U. Linguistic String Project, and embodies in its syntax and routines the relations which were found to be useful and adequate for computerized natural language analysis. The language is used in the current implementation of the Linguistic String Parser. .B CACM July 1975 .A Sager, N. Grishman, R. .K natural language, parsing, grammar, programming languages .C 3.42 3.79 4.22 .N CA750703 JB January 9, 1978 10:17 AM .X 2581 4 2739 2739 4 2739 2795 4 2739 2921 4 2739 3087 4 2739 1989 5 2739 2739 5 2739 2739 5 2739 2739 5 2739 .I 2740 .T A Large Semaphore Based Operating System .W The paper describes the internal structure of a large operating system as a set of cooperating sequential processes. The processes synchronize by means of semaphores and extended semaphores (queue semaphores). The number of parallel processes is carefully justified, and the various semaphore constructions are explained. The system is proved to be free of "deadly embrace" (deadlock). The design principle is an alternative to Dijkstra's hierarchical structuring of operating systems. The project management and the performance are discussed, too. The operating system is the first large one using the RC 4000 multiprogramming system. .B CACM July, 1975 .A Lauesen, S. .K cooperating processes, operating system, semaphores, semaphore applications, queue semaphores, deadlock, deadly embrace, hierarchical structuring, multiprogramming, operating system structure, asynchronous structuring, buffering, parallel processes, synchronizing primitives, reentrant code, RC 4000, project management, time schedule, debugging, project planning, project scheduling, reliability, program proving, coroutines, correctness, program maintenance, software paging .C 4.30 4.31 4.32 4.42 4.43 5.24 .N CA750702 JB January 9, 1978 10:32 AM .X 1828 4 2740 1854 4 2740 1877 4 2740 1960 4 2740 2150 4 2740 2228 4 2740 2280 4 2740 2317 4 2740 2319 4 2740 2319 4 2740 2377 4 2740 2378 4 2740 2342 4 2740 2376 4 2740 2379 4 2740 2379 4 2740 2320 4 2740 2424 4 2740 2482 4 2740 2482 4 2740 2618 4 2740 2632 4 2740 2632 4 2740 2704 4 2740 2723 4 2740 2738 4 2740 2738 4 2740 2740 4 2740 2740 4 2740 2740 4 2740 2741 4 2740 2851 4 2740 2867 4 2740 2868 4 2740 2920 4 2740 3127 4 2740 3184 4 2740 1749 5 2740 1877 5 2740 2080 5 2740 2740 5 2740 2740 5 2740 2740 5 2740 .I 2741 .T Decomposability, Instabilities, and Saturation in Multiprogramming Systems .W A step-by-step approach to model the dynamic behavior and evaluate the performance of computing systems is proposed. It is based on a technique of variable aggregation and the concept of nearly decomposable system, both borrowed from Econometrics. This approach is taken in order to identify in multiprogramming paging systems (i) unstable regimes of operations and (ii) critical computing loads which bring the system into states of saturation. This analysis leads to a more complete definition of the circumstances in which "thrashing" can set in. .B CACM July, 1975 .A Courtois, P. J. .K multiprogramming, paging, performance evaluation, saturation, instabilities, thrashing, aggregation, system levels, hierarchy,networks of queues .C 4.31 4.32 8.1 8.2 .N CA750701 JB January 9, 1978 10:39 AM .X 1828 4 2741 1854 4 2741 1877 4 2741 1892 4 2741 1960 4 2741 2068 4 2741 2150 4 2741 2317 4 2741 2319 4 2741 2377 4 2741 2342 4 2741 2376 4 2741 2379 4 2741 2424 4 2741 2482 4 2741 2618 4 2741 2632 4 2741 2704 4 2741 2712 4 2741 2723 4 2741 2738 4 2741 2740 4 2741 2741 4 2741 2741 4 2741 2741 4 2741 2867 4 2741 3070 4 2741 3184 4 2741 1526 5 2741 1749 5 2741 2454 5 2741 2741 5 2741 2741 5 2741 2741 5 2741 3016 5 2741 3070 5 2741 3153 5 2741 1805 6 2741 1901 6 2741 2454 6 2741 2741 6 2741 2741 6 2741 2741 6 2741 2891 6 2741 2988 6 2741 .I 2742 .T Improved Event-Scanning Mechanisms for Discrete Event Simulation .W Simulation models of large, complex "real-world" applications have occasionally earned the reputation of eating up hours of computer time. This problem may be attributed in part to difficulties such as slow stochastic convergence. However, an additional problem lies in the fact that a significant amount of bookkeeping time is required to keep future events in their proper sequence. This paper presents a method for significantly reducing the time spent scanning future event lists in discrete event simulations. There models are presented, all of which improve in effectiveness as the events-list scan problem becomes more burdensome. .B CACM June, 1975 .A Wyman, F. P. .K discrete event simulation, simulation, event scanning mechanisms .C 4.34 5.5 8.1 .N CA750611 JB January 9, 1978 12:43 PM .X 2742 5 2742 2742 5 2742 2742 5 2742 2844 5 2742 2936 5 2742 3064 5 2742 970 6 2742 1059 6 2742 1846 6 2742 1939 6 2742 2742 6 2742 2742 6 2742 2742 6 2742 2767 6 2742 2767 6 2742 2767 6 2742 2936 6 2742 .I 2743 .T Sorting X + Y .B CACM June, 1975 .A Harper, L. H. Payne, T. H. Savage, J. E. Straus, E. .K merge sorting, computational complexity, data modeling, computing models, binary comparisons .C 5.25 5.31 .N CA750610 JB January 9, 1978 12:45 PM .X 2743 5 2743 2743 5 2743 2743 5 2743 .I 2744 .T Addition in an Arbitrary Base Without Radix Conversion .W This paper presents a generalization of an old programming technique; using it,one may add and subtract numbers represented in any radix, including a mixed radix, and stored one digit per byte in bytes of sufficient size. Radix conversion is unnecessary, no looping is required, and numbers may even be stored in a display (I/O) format. Applications to Cobol, MIX, and hexadecimal sums are discussed. .B CACM June, 1975 .A Soule, S. .K addition, subtraction, decimal arithmetic, arbitrary radix arithmetic, radix conversion, MIX arithmetic, Cobol display arithmetic, mixed radix arithmetic .C 4.49 4.9 5.9 .N CA750609 JB January 9, 1978 12:52 PM .X 2744 5 2744 2744 5 2744 2744 5 2744 .I 2745 .T A Linear Space Algorithm for Computing Maximal Common Subsequences .W The problem of finding a longest common subsequence of two strings has been solved in quadratic time and space. An algorithm is presented which will solve this problem in quadratic time and in linear space. .B CACM June, 1975 .A Hirschberg, D. S. .K subsequence, longest common subsequence, string correction, editing .C 3.63 3.73 3.79 4.22 5.25 .N CA750608 JB January 9, 1978 12:56 PM .X 2745 5 2745 2745 5 2745 2745 5 2745 2963 5 2745 3114 5 2745 1502 6 2745 2499 6 2745 2745 6 2745 2745 6 2745 .I 2746 .T Efficient String Matching: An Aid to Bibliographic Search .W This paper describes a simple, efficient algorithm to locate all occurrences of any of a finite number of keywords in a string of text. The algorithm consists of constructing a finite state pattern matching machine from the keywords and then using the pattern matching machine to process the text string in a single pass. Construction of the pattern matching machine takes time proportional to the sum of the lengths of the keywords. The number of state transitions made by the pattern matching machine in processing the text string is independent of the number of keywords. The algorithm has been used to improve the speed of a library bibliographic search program by a factor of 5 to 10. .B CACM June, 1975 .A Aho, A. V. Corasick, M. J. .K keywords and phrases, string pattern matching, bibliographic search, information retrieval, text-editing, finite state machines, computational complexity. .C 3.74 3.71 5.22 5.25 .N CA750607 JB January 9, 1978 1:03 PM .X 2532 4 2746 2545 4 2746 2631 4 2746 2733 4 2746 2746 4 2746 2746 4 2746 2746 4 2746 2746 4 2746 2746 4 2746 3001 4 2746 1665 5 2746 1739 5 2746 2139 5 2746 2545 5 2746 2746 5 2746 2746 5 2746 2746 5 2746 2786 5 2746 2916 5 2746 2746 6 2746 .I 2747 .T A Simplified Recombination Scheme for the Fibonacci Buddy System .W A simplified recombination scheme for the Fibonacci buddy system which requires neither tables nor repetitive calculations and uses only two additional bits per buffer is presented. .B CACM June, 1975 .A Cranston, B. Thomas, R. .K Fibonacci buddy system, dynamic storage allocation, buddy system .C 3.89 4.32 4.39 .N CA750606 JB January 9, 1978 1:07 PM .X 2596 4 2747 2747 4 2747 2768 4 2747 2845 4 2747 2902 4 2747 2911 4 2747 2955 4 2747 2435 5 2747 2747 5 2747 2747 5 2747 2747 5 2747 2773 5 2747 2845 5 2747 2902 5 2747 2955 5 2747 1051 6 2747 1062 6 2747 1184 6 2747 1184 6 2747 1184 6 2747 1211 6 2747 1552 6 2747 1879 6 2747 2435 6 2747 2435 6 2747 2435 6 2747 2596 6 2747 2596 6 2747 2598 6 2747 2734 6 2747 2736 6 2747 2747 6 2747 2747 6 2747 2747 6 2747 2747 6 2747 2768 6 2747 2768 6 2747 2773 6 2747 .I 2748 .T Indirect Threaded Code .W An efficient arrangement for interpretive code is described. It is related to Bell's notion of threaded code but requires less space and is more amenable to machine independent implementations. .B CACM June, 1975 .A Dewar, R. B. K. .K threaded code, SNOBOL4, interpretors, code generation .C 4.12 4.13 .N CA750605 JB January 9, 1978 1:11 PM .X 2748 4 2748 3144 4 2748 2491 5 2748 2748 5 2748 2748 5 2748 2748 5 2748 .I 2749 .T Significant Event Simulation .W This paper compares a new method of simulation organization, called the significant event method, with an old one, called the clock pulse method, using as examples two automobile traffic models. The significant event method is found to be more efficient than the clock pulse method at low levels of system interaction and less efficient at high levels. A simple mathematical model for the trade-off in the relative running time of the two methods is developed. The model aids in choosing between the two simulation methods for a particular experiment. It is concluded that the significant event method can be of value in the simulation of some systems when computational efficiency is of sufficient importance. .B CACM June, 1975 .A Babich, A. F. Grason, J. Parnas, D. L. .K simulation organization, event simulation, clock pulse simulation, significant event simulation. .C 8.1 .N CA750604 JB January 9, 1978 1:20 PM .X 2749 5 2749 2749 5 2749 2749 5 2749 .I 2750 .T A Cost Oriented Algorithm for Data Set Allocation in Storage Hierarchies .W Data set allocation in today's multilevel storage systems is usually based on qualitative, ad hoc decisions. While it would be desirable to obtain an optimal solution to this allocation problem, it is clear that the number of parameters involved makes it intractable to straight-forward solution. In such a situation, we must find a set of assumptions which simplify the problem greatly, but which still provide a basis for considering all significant cost elements. This paper presents such a first, quantitative allocation step. It considers many of the significant detailed costs of system utilization, data storage, data staging, and data migration. Although many avenues of further improvement are available, the present algorithm seems to be usefully accurate. As such, it can aid in quantifying the problems of data set allocation, storage system configuration, and new device designs. .B CACM June, 1975 .A Lum, V. Y. Senko, M. E Wang, C. P. Ling, H. .K data set allocation, hierarchical storage, storage system configuration, data staging, data migration, storage allocation analysis .C 3.5 3.9 6.2 .N CA750603 JB January 9, 1978 1:31 PM .X 2750 5 2750 2750 5 2750 2750 5 2750 .I 2751 .T Illumination for Computer Generated Pictures .W The quality of computer generated images of three-dimensional scenes depends on the shading technique used to paint the objects on the cathode-ray tube screen. The shading algorithm itself depends in part on the method for modeling the object, which also determines the hidden surface algorithm. The various methods of object modeling, shading, and hidden surface removal are thus strongly interconnected. Several shading techniques corresponding to different methods of object modeling and the related hidden surface algorithms are presented here. Human visual perception and the fundamental laws of optics are considered in the development of a shading rule that provides better quality and increased realism in generated images. .B CACM June, 1975 .A Phong, B. T. .K computer graphics, graphic display, hidden surface removal. .C 3.26 3.41 8.2 .N CA750602 JB January 9, 1978 1:46 PM .X 2751 5 2751 2751 5 2751 2751 5 2751 2816 5 2751 2827 5 2751 2828 5 2751 2913 5 2751 3047 5 2751 1751 6 2751 2004 6 2751 2493 6 2751 2751 6 2751 2751 6 2751 2751 6 2751 2751 6 2751 2751 6 2751 2771 6 2751 2829 6 2751 2829 6 2751 2841 6 2751 .I 2752 .T Generation of All the Cycles of a Graph from a Set of Basic Cycles [H] (Algorithm 492) .B CACM June 1975 .A Gibbs, N. E. .K basic cycle, cycle, graph .C 5.32 3.24 .N CA750601 JB January 9, 1978 1:55 PM .X 2752 5 2752 2752 5 2752 2752 5 2752 .I 2753 .T A Heuristic Problem Solving Design System for Equipment or Furniture Layouts .W The Designer Problem Solver (DPS) demonstrates that the computer can perform simple design tasks. In particular, it designs furniture and equipment layouts. This task was chosen because it is simple, well defined, and characteristic of many design tasks in architecture, engineering, urban planning, and natural resource management. These space planning tasks usually involve manipulating two-dimensional representations of objects to create feasible or optimal solutions for problems involving topological and metric spatial constraints. The paper describes extensive tests performed on the program. DPS is a heuristic problem solver with a planning phase prefixed to it. It uses the planning process to give it a sense of direction, diagnostic procedures to locate difficulties, and remedial actions to recover from difficulties. It uses a convex polygon representation to accurately describe the objects and the layout. This representation allows topological and metric constraints to be tested and the design to be easily updated. DPS has been applied to 50 problems. While it is slow and limited in scope, the ideas behind it are general. It demonstrates the need for selectivity in controlling search and the methods used to achieve it: task-specific information, planning, diagnostic procedures, remedial actions, and selective alternative generators. .B CACM May, 1975 .A Pfefferkorn, C. E. .K artificial intelligence, computer-aided design, design synthesis, diagnostic search, heuristics, planning, problem solving, representations, search strategies, space planning, spatial representations .C 3.20 3.25 3.64 3.66 .N CA750514 JB January 9, 1978 2:10 PM .X 1531 4 2753 2707 4 2753 2753 4 2753 1185 5 2753 2753 5 2753 2753 5 2753 2753 5 2753 .I 2754 .T A Syntactic Algorithm for Peak Detection in Waveforms with Applications to Cardiography .W Peaks in a digitized waveform are detected by an algorithm incorporating piecewise linear approximation and tabular parsing techniques. Several parameters serve to identify the waveform context enabling accurate measurement of peak amplitude, duration, and shape. The algorithm is of sufficient speed to allow on-line real-time processing. An example of its application is demonstrated on an electrocardiogram. .B CACM May, 1975 .A Horowitz, S. L. .K peak detection, digitized waveform, piecewise linear approximation, context-free grammar, bottom-up parsing, electrocardiogram. .C 3.12 3.24 3.34 3.63 4.19 5.13 5.23 .N CA750513 JB January 9, 1978 2:18 PM .X 2754 5 2754 2754 5 2754 2754 5 2754 .I 2755 .T The New Math of Computer Programming (Corrigendum) .B CACM May, 1975 .A Mills, H. D. .N CA750512 JB January 9, 1978 2:20 PM .X 2755 5 2755 2755 5 2755 2755 5 2755 .I 2756 .T A Problem-List of Public Policy Issues Concerning Computers and Health Care .B CACM May, 1975 .A Wasserman, A. I. .K economic and social implications, the public and computing, medicine and health care .C 2.11 2.12 3.34 .N CA750511 JB January 9, 1978 2:22 PM .X 2756 4 2756 3076 4 2756 3179 4 2756 2607 5 2756 2756 5 2756 2756 5 2756 2756 5 2756 .I 2757 .T More on kth Shortest Paths .B CACM May, 1975 .A Fox, B.L. .K networks, kth shortest paths .C 5.32 .N CA750510 JB January 9, 1978 2:24 PM .X 2757 4 2757 2757 4 2757 2844 4 2757 2933 4 2757 1059 5 2757 2630 5 2757 2757 5 2757 2757 5 2757 2757 5 2757 2933 5 2757 2630 6 2757 2757 6 2757 .I 2758 .T A Note on the LU Factorization of a Symmetric Matrix .B CACM May, 1975 .A Evans, D. J. Hatzopoulos, M. .K symmetric matrices, factorization, test matrices, matrix inversion, separable systems .C 5.14 .N CA750509 JB January 9, 1978 2:26 PM .X 2758 5 2758 2758 5 2758 2758 5 2758 .I 2759 .T Solution of an Overdetermined System of Equations in the L1 Norm (Algorithm R478) .B CACM May, 1975 .A Fritsch, F. N. Hindmarsh, A. C. .N CA750508 JB January 9, 1978 2:32 PM .X 2759 4 2759 2642 5 2759 2759 5 2759 2759 5 2759 2759 5 2759 .I 2760 .T Visible Surface Plotting Program (Algorithm R475) .B CACM May, 1975 .A Doran, C. J. .N CA750507 JB January 9, 1978 2 2:33 PM .X 2760 5 2760 2760 5 2760 2760 5 2760 .I 2761 .T Visible Surface Plotting Program (Algorithm R475) .B CACM May, 1975 .A Mashburn, R. G. .N CA750506 JB January 9, 1978 2:35 PM .X 2761 5 2761 2761 5 2761 2761 5 2761 .I 2762 .T Ten Subroutines for the Manipulation of Chebyshev Series (Algorithm R446, C446) .B CACM May, 1975 .A Piessens, R. Mertens, I. .N CA750505 JB January 9, 1978 2:37 PM .X 2762 4 2762 2521 5 2762 2762 5 2762 2762 5 2762 2762 5 2762 .I 2763 .T Basic Cycle Generation [H] (Algorithm 491) .B CACM May, 1975 .A Gibbs, N. E. .K Graph, basic cycles,fundamental cycle, spanning tree, vertex adjacency matrix .C 5.32 3.24 .N CA750504 JB January 9, 1978 2:39 PM .X 1961 4 2763 2177 4 2763 2763 4 2763 1847 5 2763 2763 5 2763 2763 5 2763 2763 5 2763 .I 2764 .T An Intelligent Analyzer and Understander of English .W The paper describes a working analysis and generation program for natural language, which handles paragraph length input. Its core is a system of preferential choice between deep semantic patterns, based on what we call "semantic density." The system is contrasted: (1) with syntax oriented linguistic approaches, and (2) with theorem proving approaches to the understanding problem. .B CACM May, 1975 .A Wilks, Y. .K artificial intelligence, computational linguistics, template, paraplate, stereotype, machine translation, understanding, natural language processing, semantic preference, semantic density .C 3.36 3.42 3.63 .N CA750503 JB January 9, 1978 3:00 PM .X 2764 5 2764 2764 5 2764 2764 5 2764 .I 2765 .T Analysis and performance of Inverted Data Base Structures .W The need to envision and architecture data base systems in a hierarchical level by level framework is stressed. The inverted data base (file) organization is then analyzed, considering implementation oriented aspects. The inverted directory is viewed realistically as another large data base which itself is subjected to inversion. Formulations are derived to estimate average access time (read only) and storage requirements, formalizing the interaction of data base content characteristics, logical complexity of queries, and machine timing and blocking specifications identified as having a first-order effect on performance. The formulations presented are necessary to be used in conjunction with any index selection criteria to determine the optimum set of index keys. .B CACM May, 1975 .A Cardenas, A. F. .K data base architecture, inverted file organization, data base performance and measurement, secondary index organization, information storage and retrieval, query answering .C 3.70 3.71 3.72 3.74 3.79 4.0 .N CA750502 JB January 9, 1978 3:15 PM .X 1135 4 2765 1136 4 2765 2140 4 2765 2155 4 2765 2257 4 2765 2360 4 2765 2406 4 2765 2451 4 2765 2452 4 2765 2452 4 2765 2556 4 2765 493 4 2765 2710 4 2765 2710 4 2765 2715 4 2765 2716 4 2765 2717 4 2765 2718 4 2765 2765 4 2765 2765 4 2765 2765 4 2765 2765 4 2765 2765 4 2765 2765 4 2765 2817 4 2765 2882 4 2765 2888 4 2765 2888 4 2765 2901 4 2765 2901 4 2765 2906 4 2765 2957 4 2765 2959 4 2765 2965 4 2765 2965 4 2765 3087 4 2765 3134 4 2765 3154 4 2765 729 4 2765 1936 5 2765 1976 5 2765 2046 5 2765 2451 5 2765 2452 5 2765 2765 5 2765 2765 5 2765 2765 5 2765 2976 5 2765 616 5 2765 2688 6 2765 2765 6 2765 2882 6 2765 .I 2766 .T Copying Cyclic List Structures in Linear Time Using Bounded Workspace .W A bounded workspace copying algorithm for arbitrary list structures is given. This algorithm operates in linear time and does not require tag bits. The best previous bounded workspace copying algorithms achieved n^2 time without tag bits and n log n time with one tag. The only restriction on the algorithm given here is that the copy must be placed into a contiguous section of memory. The method is applicable to fixed or variable size nodes. .B CACM May, 1975 .A Fisher, D. A. .K list processing, copying, linear time, space complexity .C 4.49 5.25 .N CA750501 JB January 9, 1978 3:22 PM .X 2766 4 2766 2954 4 2766 3106 4 2766 2665 5 2766 2766 5 2766 2766 5 2766 2766 5 2766 2855 5 2766 2954 5 2766 3106 5 2766 1549 6 2766 1549 6 2766 1826 6 2766 210 6 2766 210 6 2766 1972 6 2766 1972 6 2766 2513 6 2766 2665 6 2766 2665 6 2766 2766 6 2766 2766 6 2766 2766 6 2766 2833 6 2766 2855 6 2766 2954 6 2766 2998 6 2766 2998 6 2766 .I 2767 .T A Comparison of Simulation Event List Algorithms .W Four algorithms are considered which can be used to schedule events in a general purpose discrete simulation system. Two of the algorithms are new, one is based on an end-order tree structure for event notices, and another uses an indexed linear list. The algorithms are tested with a set of typical stochastic scheduling distributions especially chosen to show the advantages and limitations of the algorithms. The end-order tree algorithm is shown to be an advantageous, immediate replacement for the algorithm in use with current simulation languages. The most promising algorithm uses the indexed list concept. It will require an adaptive routine before it can be employed in general purpose simulators,but its performance is such that further study would be fruitful. .B CACM April, 1975 .A Vaucher, J. G. Duval, P. .K simulation, time flow mechanisms, event list algorithm, simulation, time flow mechanisms, event list algorithm, simulation executive, event scheduling routine, discrete system simulation, sorting .C 3.74 4.22 8.1 .N CA750410 JB January 9, 1978 3:43 PM .X 2767 4 2767 3064 4 2767 1939 5 2767 2767 5 2767 2767 5 2767 2767 5 2767 2844 5 2767 2936 5 2767 3051 5 2767 3064 5 2767 3109 5 2767 970 6 2767 1059 6 2767 1846 6 2767 1939 6 2767 2742 6 2767 2742 6 2767 2742 6 2767 2767 6 2767 2767 6 2767 2767 6 2767 2767 6 2767 2767 6 2767 2844 6 2767 2844 6 2767 2936 6 2767 .I 2768 .T An Algorithm for Locating Adjacent Storage Blocks in the Buddy System .W A simple scheme for the determination of the location of a block of storage relative to other blocks is described. This scheme is applicable to the buddy type storage allocation systems. .B CACM April, 1975 .A Hinds, J. A. .K dynamic storage allocation, buddy system, generalized Fibonacci sequences .C 3.89 4.32 4.39 .N CA750409 JB January 9, 1978 3:46 PM .X 1389 4 2768 1552 4 2768 2162 4 2768 2435 4 2768 2596 4 2768 2596 4 2768 2747 4 2768 2768 4 2768 2768 4 2768 2845 4 2768 2845 4 2768 2902 4 2768 2902 4 2768 2911 4 2768 2955 4 2768 2955 4 2768 1184 5 2768 2435 5 2768 2768 5 2768 2768 5 2768 2768 5 2768 2845 5 2768 2902 5 2768 1051 6 2768 1062 6 2768 1184 6 2768 1184 6 2768 1211 6 2768 1552 6 2768 1879 6 2768 2435 6 2768 2435 6 2768 2596 6 2768 2598 6 2768 2734 6 2768 2736 6 2768 2747 6 2768 2747 6 2768 2768 6 2768 2768 6 2768 .I 2769 .T A Modification of Warshall's Algorithm for the Transitive Closure of Binary Relations .W An algorithm is given for computing the transitive closure of a binary relation that is represented by a Boolean matrix. The algorithm is similar to Warshall's although it executes faster for sparse matrices on most computers, particularly in a paging environment. .B CACM April, 1975 .A Warren, H. S. Jr. .K Warshall's algorithm, transitive closure, reachability matrix, directed graph, digraph, Boolean matrix, binary relation .C 5.30 5.32 .N CA750408 JB January 9, 1978 3:49 PM .X 1151 4 2769 1265 4 2769 2769 4 2769 2769 5 2769 2769 5 2769 2769 5 2769 635 5 2769 .I 2770 .T The Quadratic Hash Method When the Table Size Is Not a Prime Number .W Previous work on quadratic hash methods is limited mainly to the case where the table size is a prime number. Here, certain results are derived for composite numbers. It is shown that all composite numbers containing at least the square of one of the component primes have full-period integer-coefficient quadratic hash functions. .B CACM April, 1975 .A Batagelj, V. .K quadratic search, hash code, scatter storage, table size .C 3.74 4.10 .N CA750407 JB January 9, 1978 3:54 PM .X 1860 4 2770 1973 4 2770 1973 4 2770 1992 4 2770 2018 4 2770 2018 4 2770 2033 4 2770 2060 4 2770 2107 4 2770 2109 4 2770 2203 4 2770 2203 4 2770 2251 4 2770 2251 4 2770 2251 4 2770 2251 4 2770 2534 4 2770 2543 4 2770 2543 4 2770 2543 4 2770 2559 4 2770 2573 4 2770 2573 4 2770 2704 4 2770 2770 4 2770 2770 4 2770 2770 4 2770 2770 4 2770 2770 4 2770 2770 4 2770 2770 4 2770 2974 4 2770 3053 4 2770 3053 4 2770 3053 4 2770 3053 4 2770 3083 4 2770 1786 5 2770 1869 5 2770 1973 5 2770 1992 5 2770 2018 5 2770 2109 5 2770 2673 5 2770 2770 5 2770 2770 5 2770 2770 5 2770 3053 5 2770 1329 6 2770 1785 6 2770 1973 6 2770 1992 6 2770 2107 6 2770 2109 6 2770 2412 6 2770 2543 6 2770 2673 6 2770 2707 6 2770 2770 6 2770 .I 2771 .T The Synthesis of Solids Bounded by Many Faces .W A technique is presented which allows a class of solid objects to be synthesized and stored using a computer. Synthesis begins with primitive solids like a cube, wedge, or cylinder. Any solid can be moved, scaled, or rotated. Solids may also be added together or subtracted. Two algorithms to perform addition are described. For practical designers, the technique has the advantage that operations are concise, readily composed, and are given in terms of easily imagined solids.Quite short sequences of operations suffice to build up complex solids bounded by many faces. .B CACM April, 1975 .A Braid, I. C. .K computational geometry, computer-aided design, graphics, machined components, polyhedra, shape synthesis, three-dimensional modeling .C 3.2 8.2 .N CA750406 JB January 9, 1978 3:59 PM .X 2771 5 2771 2771 5 2771 2771 5 2771 2827 5 2771 3116 5 2771 2751 6 2771 2771 6 2771 2771 6 2771 .I 2772 .T On Maintenance of the Opportunity List for Class-Teacher Timetable Problems .W One of the principal components of procedures for the solution of class-teacher timetable problems is that for maintenance of the opportunity list. Opportunity list maintenance methods are based on necessary conditions for the existence of a solution. A general framework for necessary conditions, together with four specific sets of necessary conditions, is given. .B CACM April, 1975 .A Smith, G. .K combinatorial, necessary conditions, opportunity list, schedule,school timetable, timetable .C 3.51 5.39 .N CA750405 JB January 9, 1978 4:03 PM .X 1367 4 2772 2619 4 2772 2772 4 2772 2772 4 2772 2787 4 2772 2787 4 2772 1116 5 2772 1429 5 2772 2772 5 2772 2772 5 2772 2772 5 2772 .I 2773 .T A Weighted Buddy Method for Dynamic Storage Allocation (Corrigendum) .B CACM April, 1975 .A Shen, K. K. Peterson, J. L. .N CA750404 JB January 9, 1978 4:06 PM .X 2773 4 2773 2845 4 2773 2902 4 2773 2955 4 2773 2747 5 2773 2773 5 2773 2773 5 2773 2773 5 2773 2911 5 2773 2955 5 2773 1184 6 2773 1879 6 2773 273 6 2773 2435 6 2773 2435 6 2773 2498 6 2773 2596 6 2773 2734 6 2773 2747 6 2773 2773 6 2773 2773 6 2773 2983 6 2773 .I 2774 .T Remark on Algorithm 475 .B CACM April, 1975 .A Frederick, L. W. .N CA750403 JB January 9, 1978 4:07 PM .X 2774 5 2774 2774 5 2774 2774 5 2774 .I 2775 .T The Dilogarithm Function of a Real Argument [S22] (Algorithm 490) .B CACM April, 1975 .A Ginsberg, E. S. Zaborowski, D. .K dilogarithm .C 5.12 .N CA750402 JB January 9, 1978 4:09 PM .X 2775 5 2775 2775 5 2775 2775 5 2775 .I 2776 .T Computer Networks in Higher Education: Socio-Economic-Political Factors .W This study presents the results of a nationwide survey of computer networks in higher education conducted during 1971-73. Five major and 18 minor networks were identified. The five major networks included: the ARPA Net, the California State College network, the University of Iowa/Iowa State University network, the Michigan Educational Research Information Triad, Inc., and the Triangle Universities Computation Center network in North Carolina. In-depth studies were conducted of the latter two nets. Based on the experiences of these operating networks, a number of factors are identified for consideration in developing networks. Finally, recommendations are advanced regarding the development of networks in higher education in the future. .B CACM April, 1975 .A Chambers, J. A. Poore, R. V. .K networks, higher education .C 1.3 2.45 .N CA750401 JB January 9, 1978 4:17 PM .X 2776 5 2776 2776 5 2776 2776 5 2776 .I 2777 .T On a Solution to the Cigarette Smoker's Problem (Without Conditional Statements) .W This report discusses a problem first introduced by Patil, who has claimed that the cigarette smoker's problem cannot be solved using the P and V operations introduced by Dijkstra unless conditional statements are used. An examination of Patil's proof shows that he has established this claim only under strong restrictions on the use of P and V. These restrictions eliminate programming techniques used by Dijkstra and others since the first introduction of the semaphore concept. This paper contains a solution to the problem. It also discusses the need for the generalized operators suggested by Patil. .B CACM March, 1975 .A Parnas, D. L. .K operating systems, co-operating processes,process synchronization primitives .C 4.3 .N CA750311 JB January 9, 1978 4:24 PM .X 2320 4 2777 2597 4 2777 2777 4 2777 2851 4 2777 2895 4 2777 2912 4 2777 2946 4 2777 3128 4 2777 2150 5 2777 2738 5 2777 2777 5 2777 2777 5 2777 2777 5 2777 1749 6 2777 2080 6 2777 2247 6 2777 2356 6 2777 2777 6 2777 .I 2778 .T Perturbations of Eigenvalues of Non-normal Matrices (Corrigendum) .B CACM March, 1975 .A Sluis, A. .N CA750310 JB January 9, 1978 4:26 PM .X 2778 5 2778 2778 5 2778 2778 5 2778 .I 2779 .T Discrete Least Squares Polynomial Fits .W The recurrence relation between orthogonal polynomials is widely used for discrete least squares data fitting. A variant of the classical algorithm which has better numerical properties is presented and the reason for its improved performance is explained. .B CACM March, 1975 .A Shampine, L. F. .K orthogonal polynomials, data fitting, least squares, recurrence relation between orthogonal polynomials, residual .C 5.11 5.13 .N CA750309 JB January 9, 1978 4:29 PM .X 2779 5 2779 2779 5 2779 2779 5 2779 .I 2780 .T On Computing Certain Elements of the Inverse of a Sparse Matrix .W A recursive algorithm for computing the inverse of a matrix from the LU factors based on relationships in Takahashi, et al., is examined. The formulas for the algorithm are given; the dependency relationships are derived; the computational costs are developed; and some general comments on application and stability are made. .B CACM March, 1975 .A Erisman, E. M. Tinney, W. F. .K sparse matrices, triangular factorization, elements of inverse, tridiagonal matrix, sensitivities .C 3.24 5.14 .N CA750308 JB January 9, 1978 4:34 PM .X 2780 5 2780 2780 5 2780 2780 5 2780 .I 2781 .T The Algorithm Sequential Access Method: An Alternative to Index Sequential .B CACM March, 1975 .A Whitt, J. D. Sullenberger, A. G. .K keys, direct access method, sequential access method, randomizing information retrieval .C 3.7 .N CA750307 JB January 9, 1978 4:37 PM .X 2258 4 2781 2319 4 2781 2313 4 2781 2359 4 2781 2437 4 2781 2552 4 2781 2781 4 2781 2860 4 2781 2991 4 2781 2203 5 2781 2781 5 2781 2781 5 2781 2781 5 2781 .I 2782 .T A Reply to Gentleman and Marovich .B CACM March, 1975 .A Karp, R. A. .K high-level languages, philosophy of language design .C 4.22 5.19 .N CA750306 JB January 9, 1978 4:38 PM .X 2782 5 2782 2782 5 2782 2782 5 2782 .I 2783 .T The Algorithm SELECT-for Finding the ith Smallest of n Elements [M1] (Algorithm 489) .B CACM March, 1975 .A Floyd, R. W. Rivest, R. L. .K selection, medians, quantiles .C 5.30 5.39 .N CA750305 JB January 9, 1978 4:43 PM .X 1919 4 2783 2191 4 2783 2227 4 2783 2388 4 2783 2783 4 2783 2783 4 2783 2784 4 2783 3054 4 2783 3054 4 2783 3121 4 2783 864 4 2783 307 5 2783 309 5 2783 2783 5 2783 2783 5 2783 2783 5 2783 2784 5 2783 1729 6 2783 309 6 2783 2783 6 2783 .I 2784 .T Expected Time Bounds for Selection .W A new selection algorithm is presented which is shown to be very efficient on the average, both theoretically and practically. The number of comparisons used to select the ith smallest of n numbers is n+min(i,n-i)+o(n). A lower bound within 9 percent of the above formula is also derived. .B CACM March, 1975 .A Floyd, R. W. Rivest, R. L. .K selection, computational complexity, medians, tournaments, quantiles .C 5.30 5.39 .N CA750304 JB January 9, 1978 4:52 PM .X 1919 4 2784 2191 4 2784 2388 4 2784 2783 4 2784 2784 4 2784 2784 4 2784 2784 4 2784 3054 4 2784 3121 4 2784 864 4 2784 1729 5 2784 309 5 2784 2783 5 2784 2784 5 2784 2784 5 2784 2784 5 2784 2837 5 2784 2784 6 2784 2842 6 2784 .I 2785 .T Glypnir-A Programming Language for Illiac IV .W GLYPNIR is one of the earliest existing languages designed for programming the Illiac IV computer. The syntax of the language is based on ALGOL 60, but has been extended to allow the programmer explicitly to specify the parallelism of his algorithm in terms of 64-word vectors. This paper describes the characteristics, goals and philosophy of the language, and discusses some of the problems associated with parallel computer architectures. .B CACM March, 1975 .A Lawrie, D. H. Layman, T. Baer, D. Randal, J. M. .K GLYPNIR, Illiac IV, Programming language, parallel computation, parallel architecture .C 4.2 4.21 4.22 .N CA750303JB January 9, 1978 4:57 PM .X 2785 4 2785 2785 4 2785 2876 4 2785 2433 5 2785 2685 5 2785 2785 5 2785 2785 5 2785 2785 5 2785 .I 2786 .T A System for Typesetting Mathematics .W This paper describes the design and implementation of a system for typesetting mathematics. The language has been designed to be easy to learn and to use by people (for example, secretaries and mathematical typists) who know neither mathematics nor typesetting. Experience indicates that the language can be learned in an hour or so, for it has few rules and fewer exceptions. For typical expressions, the size and font changes, positioning, line drawing, and the like necessary to print according to mathematical conventions are all done automatically. For example, the input sum from i=o to infinity x sub i=pi over 2 produces (formula). The syntax of the language is specified by a small context-free grammar; a compiler-compiler is used to make a compiler that translates this language into typesetting commands. Output maybe produced on either a phototypesetter or on a terminal with forward and reverse half-line motions. The system interfaces directly with text formatting programs, so mixtures of text and mathematics may be handled simply. This paper was typeset by the authors using the system described .B CACM March, 1975 .A Kernighan, B. W. Cherry, L. L. .K typesetting, photocomposition,compiler-compiler, graphics, printing, text processing. .C 4.12 4.22 8.2 .N CA750302 JB January 10, 1978 8:56 AM .X 2626 4 2786 2786 4 2786 2840 4 2786 2919 4 2786 3017 4 2786 3110 4 2786 3174 4 2786 2629 5 2786 2733 5 2786 2746 5 2786 2786 5 2786 2786 5 2786 2786 5 2786 1665 6 2786 1739 6 2786 1781 6 2786 2139 6 2786 2179 6 2786 2423 6 2786 2545 6 2786 2786 6 2786 2786 6 2786 799 6 2786 .I 2787 .T Matrix Reduction-An Efficient Method .W The paper describes an efficient method for reduction of the binary matrices which arise in some school time-tabling problems. It is a development of that described by John Lions. It has been generalized and adapted to fit into the complete timetabling process; to use a more compact data representation and more efficient processing techniques; to take fuller advantage of possible available previous knowledge about the matrix. And it is designed as a structured program, which can readily be coded by the reader in the high level or low level programming language of his choice. Practical tests of the method have shown it to be a good basis for a realistic timetabling algorithm. .B CACM March, 1975 .A Johnston, H. C. Hoare, C. A. R. .K binary matrices, matrix reduction, tight set, school timetable construction, structured programming .C 3.51 4.9 5.39 .N CA750301 JB January 10, 1978 9:03 AM .X 1367 4 2787 2619 4 2787 2772 4 2787 2772 4 2787 2787 4 2787 2787 4 2787 1116 5 2787 1429 5 2787 2787 5 2787 2787 5 2787 2787 5 2787 .I 2788 .T Finding Circles by an Array of Accumulators .B CACM February, 1975 .A Kimme, C. Balard, D. Sklansky, J. .K picture processing, pattern recognition, curve detection,line fitting .C 3.63 .N CA750211 JB January 10, 1978 9:15 AM .X 2788 4 2788 2910 4 2788 2400 5 2788 2788 5 2788 2788 5 2788 2788 5 2788 2910 5 2788 2400 6 2788 2788 6 2788 .I 2789 .T A Minimal Spanning Tree Clustering Method (Algorithm R479) .B CACM February, 1975 .A Magnuski, H. S. .N CA750210 JB January 12, 1978 2:52 PM .X 2789 5 2789 2789 5 2789 2789 5 2789 .I 2790 .T The Elementary Circuits of a Graph (Algorithm R459) .B CACM February, 1975 .A Syslo, M. M. .N CA750209 JB January 12, 1978 2:54 PM .X 2790 5 2790 2790 5 2790 2790 5 2790 .I 2791 .T Exact Probabilities for R x C Contingency Tables (Algorithm R434) .B CACM February, 1975 .A Hancock, T. W. .N CA750208 JB January 12, 1978 2:55 PM .X 2791 5 2791 2791 5 2791 2791 5 2791 .I 2792 .T Jacobi Polynomials (Algorithm R332) .B CACM February, 1975 .A Skovgaard, O. .N CA750207 JB January 10, 1978 9:32 AM .X 2647 4 2792 2792 4 2792 2792 4 2792 2267 5 2792 2647 5 2792 2792 5 2792 2792 5 2792 2792 5 2792 .I 2793 .T Chi-Square Quantiles (Algorithm C451) .B CACM February, 1975 .A Knight,W. .N CA750206 JB January 10, 1978 9:40 AM .X 2467 4 2793 2793 4 2793 1606 5 2793 2793 5 2793 2793 5 2793 2793 5 2793 .I 2794 .T State-Space, Problem-Reduction, and Theorem Proving-Some Relationships .W This paper suggests a bidirectional relationship between state-space and problem-reduction representations. It presents a formalism based on multiple-input and multiple-output operators which provides a basis for viewing the two types of representations in this manner. A representation of the language recognition problem which is based on the Cocke parsing algorithm is used as an illustration. A method for representing problems in first-order logic in such a way that the inference system employed by a resolution-based theorem prover determines whether the set of clauses is interpreted in the state-spacer mode or in the problem-reduction mode is presented. The analogous concepts in problem-reduction and theorem proving, and the terminology used to refer to them, are noted. The relationship between problem-reduction, input resolution, and linear resolution is discussed. .B CACM February, 1975 .A VanderBrug, G. J. Minker, J. .K artificial intelligence, state-space representation, problem-reduction representation, theorem proving, language recognition .C 3.64 .N CA750205 JB January 12, 1978 8:27 AM .X 2794 5 2794 2794 5 2794 2794 5 2794 .I 2795 .T Sentence Paraphrasing from a Conceptual Base .W A model of natural language based on an underlying language-free representation of meaning is described. A program based on this model is able to produce sentence paraphrases which demonstrate understanding with respect to a given context. This generator operates in conjunction with a natural language analyzer and a combined memory and inference model. In generating sentences from meaning structures, the program employs both the information retrieval and deduction capabilities of the memory model. The model encompasses several diverse classes of linguistic knowledge, which include: (1) executable tests of conceptual properties stored in discrimination nets; (2) information relating conceptual to syntactic roles, stored in a word-sense dictionary, and (3) surface grammatical knowledge, stored in a formal grammar. .B CACM February, 1975 .A Goldman, N. M. .K artificial intelligence, natural language processing, language generation, models of cognitive processes, semantic representation .C 3.42 3.60 3.65 .N CA750204 JB January 12, 1978 8:43 AM .X 1885 4 2795 2581 4 2795 2739 4 2795 2795 4 2795 2795 4 2795 2795 4 2795 2921 4 2795 3087 4 2795 1928 5 2795 1989 5 2795 2274 5 2795 2795 5 2795 2795 5 2795 2795 5 2795 .I 2796 .T Monitors: An Operating System Structuring Concept (Corrigendum) .B CACM February, 1975 .A Hoare, C. A. R. .N CA750203 JB January 12, 1978 8:45 AM .X 2796 5 2796 2796 5 2796 2796 5 2796 2866 5 2796 2356 6 2796 2597 6 2796 2796 6 2796 .I 2797 .T A First Order Approximation to the Optimal Checkpoint Interval (Corrigendum) .B CACM February, 1975 .A Young, J. W. .N CA750202 JB January 12, 1978 8:47 AM .X 2797 5 2797 2797 5 2797 2797 5 2797 .I 2798 .T Analysis of Interleaved Memory Systems Using Blockage Buffers .W A model of interleaved memory systems is presented, and the analysis of the model by Monte Carlo simulation is discussed. The simulations investigate the performance of various system structures, i.e. schemes for sending instruction and data requests to the memory system. Performance is measured by determining the distribution of the number of memory modules in operation during a memory cycle. An important observation from these investigations is that separately grouping instruction and data requests for memory can substantially increase the average number of memory modules in operation during a memory cycle. Results of the simulations and an analytical study are displayed for various system structures. .B CACM February, 1975 .A Burnett, G. J. Coffman, E. G. Jr. .K interleaved memory systems, modular memory systems, memory performance analysis, blockage buffer, conflict buffer, simulation, Monte Carolo simulation .C 5.5 6.34 .N CA750201 JB January 12,1978 8:54 AM .X 2798 5 2798 2798 5 2798 2798 5 2798 3119 5 2798 2245 6 2798 2798 6 2798 2849 6 2798 2859 6 2798 .I 2799 .T Stably Updating Mean and Standard Deviation of Data .W By considering the (sample) mean of a set of data as a fit to this data by a constant function, a computational method is given based on a matrix formulation and Givens transformations. The (sample) mean and standard deviation can be updated as data accumulates. The procedure is numerically stable and does not require storage of the data. Methods for dealing with weighted data and data removal are presented. When updating the mean and square of the standard deviation, the process requires no square roots. .B CACM January, 1975 .A Hanson, R. J. .K mean, standard deviation, least squares, Givens transformation, updating estimates, removing data .C 5.5 5.19 .N CA750112 JB January 12, 1978 9:05 AM .X 2731 5 2799 2799 5 2799 2799 5 2799 2799 5 2799 3159 5 2799 3166 5 2799 3167 5 2799 1411 6 2799 2731 6 2799 2731 6 2799 2731 6 2799 2799 6 2799 2799 6 2799 2799 6 2799 2799 6 2799 3159 6 2799 3167 6 2799 3166 6 2799 .I 2800 .T Connections Between Accuracy and Stability Properties of Linear Multistep Formulas .W This paper is concerned with stability and accuracy of families of linear k-step formulas depending on parameters, with particular emphasis on the numerical solution of stiff ordinary differential equations. An upper bound, p=k, is derived for the order of accuracy of A(inf)-stable formulas. Three criteria are given for A(0)-stability. It is shown that (1) for p=k, k arbitrary, A(inf)-stability implies certain necessary conditions for A(0)-stability and for strict stability (meaning that the extraneous roots of p(psi) satisfy |psi|<1); (2) for p=k=2,3,4,and 5, A(inf)-stability (for k=5 together with another constraint) implies strict stability; and (3) for certain one-parameter classes of formulas with p=k=3,4,and/or 5, A(inf)-stability implies A(0)-stability. .B CACM January, 1975 .A Liniger, W. .K stiff equations, parametrized linear multistep formulas, order of accuracy, A(0)-stability, A(inf)-stability, strict stability .C 5.17 .N CA750111 JB January 12, 1978 9:26 AM .X 2800 5 2800 2800 5 2800 2800 5 2800 .I 2801 .T Storage-Efficient Representation of Decimal Data .W Usually n decimal digits are represented by 4n bits in computers. Actually, two BCD digits can be compressed optimally and reversibly into 7 bits, and three digits into 10 bits, by a very simple algorithm based on the fixed-length combination of two variable field-length encodings. In over half of the cases the compressed code results from the conventional BCD code by simple removal of redundant 0 bits. A long decimal message can be subdivided into three-digit blocks, and separately compressed; the result differs from the asymptotic minimum length by only 0.34 percent. The hardware requirement is small, and the mappings can be done manually. .B CACM January, 1975 .A Chi Chen, T. Ho, I. T. .K binary-coded decimal digits, decimal data storage .C 6.32 6.34 .N CA750110 JB January 12, 1978 9:42 AM .X 2729 5 2801 2801 5 2801 2801 5 2801 2801 5 2801 2288 6 2801 2801 6 2801 .I 2802 .T The New Math of Computer Programming .W Structured programming has proved to be an important methodology for systematic program design and development. Structured programs are identified as compound function expressions in the algebra of functions. The algebraic properties of these function expressions permit the reformulation (expansion as well as reduction) of a nested subexpression independently of its environment, thus modeling what is known as stepwise program refinement as well as program execution. Finally, structured programming is characterized in terms of the selection and solution of certain elementary equations defined in the algebra of functions. These solutions can be given in general formulas, each involving a single parameter, which display the entire freedom available in creating correct structured programs. .B CACM January, 1975 .A Mills, H. D. .K structured programming, algebra of functions, stepwise refinement, program correctness .C 4.6 5.21 5.24 .N CA750109 JB January 12, 1978 9:50 AM .X 2709 4 2802 2802 4 2802 3004 4 2802 1425 5 2802 2802 5 2802 2802 5 2802 2802 5 2802 .I 2803 .T Pseudoinverses and Conjugate Gradients .W This paper is devoted to the study of connections between pseudoinverses of matrices and conjugate gradients and conjugate direction routines. .B CACM January, 1975 .A Hestenes, M. R. .K pseudoinverse, conjugate gradients, hermitian matrix, minimization .C 5.14 .N CA750108 JB January 12, 1978 10:08 AM .X 2803 5 2803 2803 5 2803 2803 5 2803 .I 2804 .T Elementary Divisors of Tensor Products .W The elementary divisors of a tensor product of linear transformations have been known for 40 years. This paper provides a short, easily accessible proof of these results, and points out an interesting combinatorial consequence of the proof. .B CACM January, 1975 .A Marcus, M. Robinson, H. .K elementary divisors, tensor products, linear transformations .C 5.14 .N CA750107 JB January 12, 1978 10:13 AM .X 2804 5 2804 2804 5 2804 2804 5 2804 .I 2805 .T Perturbations of Eigenvalues of Non-normal Matrices .W The problem considered is to give bounds for finite perturbations of simple and multiple eigenvalues of nonnormal matrices, where these bounds are in terms of the eigenvalues, the departure from normality, and the Frobenius norm of the perturbation matrix, but not in terms of the eigen system. The bounds which are derived are shown to be almost attainable for any set of matrices. .B CACM January, 1975 .A van der Sluis, A. .K perturbation of eigenvalues, non-normal matrices, departure from normality, Gershgorin circles .C 5.14 .N CA750106 JB January 12, 1978 10:31 AM .X 2805 5 2805 2805 5 2805 2805 5 2805 .I 2806 .T Two Hadamard Numbers for Matrices .W A discussion is given of two functions of the entries of a square matrix, both related to Hadamard's determinant theorem, which have some merits as alternatives to norm-bound "condition numbers." One (for linear systems) is known; the other (for eigen systems) seems to be new. .B CACM January, 1975 .A Birkhoff, G. .K matrices, eigenvalues, norms, condition numbers, error analysis, Gram-Schmidt orthogonalization .C 5.11 5.14 .N CA750105 JB January 12, 1978 10:37 AM .X 2806 5 2806 2806 5 2806 2806 5 2806 .I 2807 .T On the Stability of Gauss-Jordan Elimination with Pivoting .W The stability of the Gauss-Jordan algorithm with partial pivoting for the solution of general systems of linear equations is commonly regarded as suspect. It is shown that in many respects suspicions are unfounded, and in general the absolute error in the solution is strictly comparable with that corresponding to Gaussian elimination with partial pivoting plus back substitution. However, when A is ill conditioned, the residual corresponding to the Gauss-Jordan solution will often be much greater than that corresponding to the Gaussian elimination solution. .B CACM January, 1975 .A Peters, G. Wilkinson, J. H. .K Gauss-Jordan algorithm, Gaussian elimination, back-substitution, backward error analysis, bounds for error in solution, bound for residual .C 5.11 5.14 .N CA750104 JB January 12, 1978 10:44 AM .X 2807 5 2807 2807 5 2807 2807 5 2807 .I 2808 .T The Lemniscate Constants .W The lemniscate constants, and indeed some of the methods used for actually computing them, have played an enormous part in the development of mathematics. An account is given here of some of the methods used-most of the derivations can be made by elementary methods. This material can be used for teaching purposes, and there is much relevant and interesting historical material. The acceleration methods developed for the purpose of evaluating these constants are useful in other problems. .B CACM January, 1975 .A Todd, J. .K lemniscate, acceleration, elliptic functions, Euler transformation .C 1.2 5.0 .N CA750103 JB January 12, 1978 10:51 AM .X 2808 5 2808 2808 5 2808 2808 5 2808 .I 2809 .T Positivity and Norms .W Following some lines of joint work with A. S. Householder, the character and use of algebraic methods in the theory of norms is demonstrated. New results concerning norms with values in an Archimedian vector lattice (not necessarily being totally ordered) are given, in particular for the generalization of order unit norms, L-norms and M-norms. An example of application to operator norms is given concerning contraction properties of positive operators. .B CACM January, 1975 .A Bauer, F. L. .K matrices, norms, positivity, numerical range, positivity cones, vector lattice,absolute, monotonic .C 5.11 5.14 .N CA750102 JB January 12, 1978 10:56 AM .X 2809 5 2809 2809 5 2809 2809 5 2809 .I 2810 .T Professionalism in the Computing Field .W The term professional means different things to different people; nevertheless, there are certain general technical and social standards normally associated with a professional. Further, the term is more generally applied to the practitioner rather than to the researcher. But within the rather broad definition specified, the computing practitioner is, as yet, not regarded as a professional. Each of the four types of institutions-academic, industry, government, and the professional society- that educate, employ, regulate, and mold the practitioner contributes to the "nonprofessional" status of the computing practitioner. The roles of these institutions are examined, various shortcomings are noted, and recommended changes are suggested. In the last analysis, professional status is not bestowed; it is earned. However, universities and industry, specifically, can make certain improvements to help the computing practitioner achieve professional status. .B CACM January, 1975 .A Finerman, A. .K professional aspects, educational programs, industry attitudes, professional societies, licensing and certification .C 1.50 2.10 2.2 .N CA750101 JB January 12, 1978 11:05 AM .X 2810 5 2810 2810 5 2810 2810 5 2810 .I 2811 .T Structural Pattern Recognition Of Carotid Pulse Waves Using A General Waveform Parsing System .W A general waveform parsing system with application to structural pattern recognition of carotid pulse waves is described. The carotid arterial pulse wave is of medical importance because of variation in its structure induced by arterial aging and cardiovascular disease. The syntax-driven waveform analysis system has been applied with good results to these pulse waves to detect and measure structural variations. The waveform parsing system is modeled on a compiler-compiler system and allows the user to enter application specific information as data. It is thus general enough to be applicable to other waveforms. .B CACM December, 1976 .A Stockman, G. Kanal, L. Kyle, M. C. .K structural pattern recognition, parsing, waveform analysis, pulse waves .C 3.12 3.34 3.63 4.12 .N CA761204 JB January 3, 1978 1:43 PM .X 2811 5 2811 2811 5 2811 2811 5 2811 .I 2812 .T Computer-Aided Analysis and Design of Information Systems .W This paper describes the use of computer-aided analysis for the design and development of an integrated financial management system by the Navy Material Command Support Activity (NMCSA). Computer-aided analysis consists of a set of procedures and computer programs specifically designed to aid in the process of applications software design, computer selection and performance evaluation. There are four major components: Problem Statement Language, Problem Statement Analyzer, Generator of Alternative Designs, and Performance Evaluator. The statement of requirements was written in ADS (Accurately Defined Systems) and analyzed by a Problem Statement Analyzer for ADS. The ADS problem definition was supplemented with additional information in order to create a complete problem definition. The analyzed problem statement was translated to the form necessary for use by the SODA (Systems Optimization and Design Algorithm) program for the generation of alternative specifications of program modules and logical database structures. .B CACM December, 1976 .A Nunamaker, J. F. Jr. Konsynski, B. R. Jr. Ho, T. Singer, C. .K computer-aided analysis, information systems, logical system design, problem statement language, problem statement analyzer, physical system design, accurately defined systems, systems optimization and design algorithm .C 2.44 3.50 4.33 4.9 8.1 .N CA761203 JB January 3, 1978 2:31 PM .X 2812 5 2812 2812 5 2812 2812 5 2812 .I 2813 .T The Computer Science and Engineering Research Study (COSERS) .W The Computer Science and Engineering Research Study (COSERS) is briefly described. The motivation, organization, and schedule for this NSF supported study are given. For possible further reference, the subject area panel chairmen and the members of the Steering Committee are identified. .B CACM December, 1976 .A Arden, B. .K computer science research, computer engineering research, national research study .C 1.0 1.52 .N CA761202 JB January 3, 1978 2:35 PM .X 2813 5 2813 2813 5 2813 2813 5 2813 .I 2814 .T Roster of Programming Languages for 1974-75 .B CACM December, 1976 .A Sammet, J. E. .N CA761201 JB January 3, 1978 2:38 PM .X 2814 5 2814 2814 5 2814 2814 5 2814 .I 2815 .T High-Level Binding with Low-Level Linkers .W An easy to implement scheme is described by which a compiler can enforce agreement between complex data types in separately compiled modules. The scheme is designed to work with any existing link editor or linking loader, no matter how deficient. Obscure run-time errors caused by inconsistent usages are forestalled by static errors detected at linking time. .B CACM November, 1976 .A Hamlet, R. G. .K separate compilation, binding, linking, strong typing .C 4.10 4.22 .N CA761108 JB January 3, 1978 2:44 PM .X 2815 5 2815 2815 5 2815 2815 5 2815 .I 2816 .T Optimal Reorganization of Distributed Space Disk Files .W In most database organizations, the cost of accessing the database will increase due to structural changes caused by updates and insertions. By reorganizing the database,the access costs can be reduced. A basic problem is to establish the proper tradeoff between performance, storage costs, and reorganization costs. This paper considers the optimum points at which to reorganize a database. A disk file organization which allows for distributed free space is described. A cost function describing the excess costs due to physical disorganization is defined, and this function is minimized to obtain the optimum reorganization points. Numerical examples based on the characteristics of existing disk storage devices are given. .B CACM November, 1976 .A Maruyama, K. Smith, S. E. .K disk file, free space,retrieval, insertion, deterioration, reorganization .C 3.70 3.73 .N CA761107 JB January 3, 1978 2:59 PM .X 2816 4 2816 2816 4 2816 2816 4 2816 2828 4 2816 2827 4 2816 2913 4 2816 3047 4 2816 3047 4 2816 3129 4 2816 2493 5 2816 2751 5 2816 2816 5 2816 2816 5 2816 2816 5 2816 2829 5 2816 3129 5 2816 2493 6 2816 2816 6 2816 .I 2817 .T The Notions of Consistency and Predicate Locks in a Database System .W In database systems, users access shared data under the assumption that the data satisfies certain consistency constraints. This paper defines the concepts of transaction, consistency and schedule and shows that consistency requires that a transaction cannot request new locks after releasing a lock. Then it is argued that a transaction needs to lock a logical rather than a physical subset of the database. These subsets may be specified by predicates. An implementation of predicate locks which satisfies the consistency condition is suggested. .B CACM November, 1976 .A Eswarran, K.. Gray, J.. Lorie, R.. Traiger, I. L. .K consistency, lock, database, concurrency, transaction .C 4.32 4.33 .N CA761106 JB January 3, 1978 3:14 PM .X 2155 4 2817 2406 4 2817 2710 4 2817 2715 4 2817 2716 4 2817 2717 4 2817 2718 4 2817 2765 4 2817 2817 4 2817 2888 4 2817 2901 4 2817 2957 4 2817 2959 4 2817 2965 4 2817 3087 4 2817 3154 4 2817 2046 5 2817 2817 5 2817 2817 5 2817 2817 5 2817 3148 5 2817 1860 6 2817 2817 6 2817 2865 6 2817 2939 6 2817 3073 6 2817 .I 2818 .T Interference in Multiprocessor Computer Systems with Interleaved Memory (Corrigendum) .B CACM November, 1976 .A Baskett, F. Smith, A. J. .N CA761105 JB January 3, 1978 3:18 PM .X 2818 5 2818 2818 5 2818 2818 5 2818 .I 2819 .T Experiments in Text File Compression .W A system for the compression of data files, viewed as strings of characters, is presented. The method is general, and applies equally well to English, to PL/I, or to digital data. The system consists of an encoder, an analysis program, and a decoder. Two algorithms for encoding a string differ slightly from earlier proposals. The analysis program attempts to find an optimal set of codes for representing substrings of the file. Four new algorithms for this operation are described and compared. Various parameters in the algorithms are optimized to obtain a high degree of compression for sample texts. .B CACM November, 1976 .A Rubin, F. .K text compression, data file compaction, Huffman codes, N-gram encoding, comparison of algorithms .C 3.7 3.73 4.33 .N CA761104 JB January 3, 1978 3:26 PM .X 2530 4 2819 2623 4 2819 2819 4 2819 2537 5 2819 2819 5 2819 2819 5 2819 2819 5 2819 .I 2820 .T The Design and Implementation of a Table Driven, Interactive Diagnostic Programming System .W CAPS is a highly interactive diagnostic compiler/interpreter that allows beginning programmers to prepare, debug, and execute fairly simple programs at a graphics display terminal. Complete syntax checking and most semantic analysis is performed as the program is entered and as it is subsequently edited. Analysis is performed character by character. The most remarkable feature of CAPS is its ability to automatically diagnose errors both at compile time and at run time. Errors are not automatically corrected. Instead, CAPS interacts with the student to help him find the cause of his error. Most components of CAPS are table driven, both to reduce the space needed for implementation and to increase the flexibility of the multilingual system. Over 500 students have used CAPS to learn Fortran, PL/I, or Cobolin conjunction with a computer assisted course on introductory computer science. .B CACM November, 1976 .A Wilcox, T. R. Davis, A. M. Tindall, M. H. .K interactive programming, table driven compilers, error correction, interpreters, debugging, computer assisted instruction, computer science education .C 1.5 4.12 4.13 4.42 8.2 .N CA761103 JB January 3, 1978 3:37 PM .X 1323 4 2820 1358 4 2820 1380 4 2820 1665 4 2820 1781 4 2820 1787 4 2820 1989 4 2820 2112 4 2820 2534 4 2820 2541 4 2820 2698 4 2820 2708 4 2820 2733 4 2820 2820 4 2820 2820 4 2820 2971 4 2820 3045 4 2820 3073 4 2820 3155 4 2820 2534 5 2820 2820 5 2820 2820 5 2820 2820 5 2820 799 5 2820 .I 2821 .T Cobol Under Control .W A sample set of Cobol programming standards is offered. These standards constrain code to be developed in a "structured" form for both data and control structures. They do not require syntax beyond the existing Cobol language and in fact utilize a typical limited subset of the 1974 ANS Cobol standard. These standards have proved extremely valuable in practice and have reduced the cost and time to produce and maintain large software systems that have been deployed in live multiple customer environments. .B CACM November, 1976 .A Ledgard, H. F. Cave, W. C. .K Cobol, structured programming,software development, program standards .C 3.5 4.22 4.43 .N CA761102 JB January 3, 1978 3:43 PM .X 2821 4 2821 3121 4 2821 2709 5 2821 2821 5 2821 2821 5 2821 2821 5 2821 .I 2822 .T Homilies for Humble Standards .W Copyright 1976, Association for Computing Machinery, Inc. General permission to republish, but not for profit, all or part of this material is granted provided that ACM's copyright notice is given and that reference is made to the publication, to its data of issue, and to the fact that reprinting privileges were granted by permission of the Association for Computing Machinery. .B CACM November, 1976 .A Ross, D. T. .K standards, CASE Standards criteria for standards, standardization .C 1.3 2.1 2.3 .N CA761101 JB January 3, 1978 3:47 PM .X 2822 5 2822 2822 5 2822 2822 5 2822 .I 2823 .T The Status of Women and Minorities in Academic Computer Science .W The results of a survey concerning women and minority students and faculty in computer science during the years 1971 to 1975 are presented. Analysis of the data indicated that effective affirmative action programs for recruitment into graduate degree programs are needed to enlarge the number of women and minorities qualified for later employment in computer science. Also, possible discrimination in employment of women and minority graduate students was revealed. .B CACM October, 1976 .A Montanelli, R. G. Jr. Mamrak, S. A. .K discrimination against women, discrimination against minorities, graduate students, undergraduate students, academic employment, faculty, computer science degree programs, affirmative action, Title VII, Title IX .C 1.52 1.53 2.2 2.3 .N CA761008 JB January 3, 1978 4:10 PM .X 2823 4 2823 2735 5 2823 2823 5 2823 2823 5 2823 2823 5 2823 3022 5 2823 3123 5 2823 2823 6 2823 2823 6 2823 2861 6 2823 2962 6 2823 3022 6 2823 .I 2824 .T An Improvement to Martin's Algorithm for Computation of Linear Precedence Functions .B CACM October, 1976 .A Duong-Kien, C. Hoffmann, H. J. Muth, D. .K syntax analysis, precedence functions, Boolean matrices .C 4.12 .N CA761007 JB January 3, 1978 4:13 PM .X 1542 4 2824 1683 4 2824 1693 4 2824 1781 4 2824 1787 4 2824 1836 4 2824 1945 4 2824 2060 4 2824 2061 4 2824 2082 4 2824 2091 4 2824 2152 4 2824 2179 4 2824 2221 4 2824 2340 4 2824 2340 4 2824 2356 4 2824 2546 4 2824 2603 4 2824 2698 4 2824 2708 4 2824 2824 4 2824 2824 4 2824 2824 4 2824 2982 4 2824 2982 4 2824 2986 4 2824 2986 4 2824 2986 4 2824 3045 4 2824 3093 4 2824 1491 5 2824 1683 5 2824 2340 5 2824 2824 5 2824 2824 5 2824 2824 5 2824 .I 2825 .T The BMD and BMDP Series of Statistical Computer Programs .B CACM October, 1976 .A Frane, J. W. .K analysis of variance, cluster analysis, contingency tables, data analysis, discriminant analysis, factor analysis, graphics, outliers, regression, time series, transformations .C 1.3 3.3 4.0 5.5 .N CA761006 JB January 3, 1978 4:18 PM .X 2825 4 2825 2419 5 2825 2825 5 2825 2825 5 2825 2825 5 2825 .I 2826 .T Interactive Skeleton Techniques for Enhancing Motion Dynamics in Key Frame Animation .W A significant increase in the capability for controlling motion dynamics in key frame animation is achieved through skeleton control. This technique allows an animator to develop a complex motion sequence by animating a stick figure representation of an image. This control sequence is then used to drive an image sequence through the same movement. The simplicity of the stick figure image encourages a high level of interaction during the design stage. Its compatibility with the basic key frame animation technique permits skeleton control to be applied selectively to only those components of a composite image sequence that require enhancement. .B CACM October, 1976 .A Burtnyk, N. Wein, M. .K interactive graphics, computer generated animation, key frame animation, interactive skeleton control, stick figure animation .C 3.41 3.49 4.9 8.2 .N CA761005 JB January 3, 1978 4:24 PM .X 2826 5 2826 2826 5 2826 2826 5 2826 .I 2827 .T A Parametric Algorithm for Drawing Pictures of Solid Objects Composed of Quadric Surfaces .W An algorithm for drawing pictures of three-dimensional objects, with surfaces made up of patches of quadric surfaces, is described. The emphasis of this algorithm is on calculating the intersections of quadric surfaces. A parameterization scheme is used. Each quadric surface intersection curve (QSIC) is represented as a set of coefficients and parameter limits. Each value of the parameter represents at most two points, and these may easily be distinguished. This scheme can find the coordinates of points of even quartic (fourth-order) intersection curves, using equations of no more than second order. Methods of parameterization for each type of OSIC are discussed, as well as surface bounding and hidden surface removal. .B CACM October, 1976 .A Levin, J. .K computer graphics, hidden surface removal, quadric surface intersection curves .C 3.41 5.12 5.13 5.19 8.2 .N CA761004 JB January 3, 1978 4:32 PM .X 2816 4 2827 2828 4 2827 2827 4 2827 2827 4 2827 2913 4 2827 3047 4 2827 3116 4 2827 2751 5 2827 2771 5 2827 2827 5 2827 2827 5 2827 2827 5 2827 .I 2828 .T Hierarchical Geometric Models for Visible Surface Algorithms .W The geometric structure inherent in the definition of the shapes of three-dimensional objects and environments is used not just to define their relative motion and placement, but also to assist in solving many other problems of systems for producing pictures by computer. By using an extension of traditional structure information, or a geometric hierarchy, five significant improvements to current techniques are possible. First, the range of complexity of an environment is greatly increased while the visible complexity of any given scene is kept within a fixed upper limit. Second, a meaningful way is provided to vary the amount of detail presented in a scene. Third, "clipping" becomes a very fast logarithmic search for the resolvable parts of the environment within the field of view. Fourth, frame to frame coherence and clipping define a graphical "working set," or fraction of the total structure that should be present in primary store for immediate access by the visible surface algorithm. Finally, the geometric structure suggests a recursive descent, visible surface algorithm in which the computation time potentially grows linearly with the visible complexity of the scene. .B CACM October, 1976 .A Clark, J. H. .K visible surface algorithms, hidden surface algorithms, hierarchical data structures, geometric models .C 5.31 8.2 .N CA761003 JB January 3, 1978 4:42 PM .X 1892 4 2828 1901 4 2828 2085 4 2828 2095 4 2828 2218 4 2828 2277 4 2828 2319 4 2828 2329 4 2828 2358 4 2828 2373 4 2828 2380 4 2828 2434 4 2828 2499 4 2828 2501 4 2828 2582 4 2828 2669 4 2828 2674 4 2828 2687 4 2828 2816 4 2828 2828 4 2828 2828 4 2828 2828 4 2828 2828 4 2828 2827 4 2828 2863 4 2828 2881 4 2828 2913 4 2828 2928 4 2828 2996 4 2828 3006 4 2828 3047 4 2828 3067 4 2828 1751 5 2828 2004 5 2828 2751 5 2828 2828 5 2828 2828 5 2828 2828 5 2828 2841 5 2828 .I 2829 .T Texture and Reflection in Computer Generated Images .W In 1974 Catmull developed a new algorithm for rendering images of bivariate surface patches. This paper describes extensions of this algorithm in the areas of texture simulation and lighting models. The parameterization of a patch defines a coordinate system which is used as a key for mapping patterns onto the surface. The intensity of the pattern at each picture element is computed as a weighted average of regions of the pattern definition function. The shape and size of this weighting function are chosen using digital signal processing theory. The patch rendering algorithm allows accurate computation of the surface normal to the patch at each picture element, permitting the simulation of the mirror reflections. The amount of light coming from a given direction is modeled in a similar manner to the texture mapping and then added to the intensity obtained from the texture mapping. Several examples of images synthesized using these new techniques are included. .B CACM October, 1976 .A Blinn, J. F. Newell, M. E. .K computer graphics, graphic display, shading, hidden surface removal .C 3.41 5.12 5.15 8.2 .N CA761002 JB January 4, 1978 8:36 AM .X 2816 5 2829 2829 5 2829 2829 5 2829 2829 5 2829 3047 5 2829 2493 6 2829 2751 6 2829 2751 6 2829 2829 6 2829 2829 6 2829 .I 2830 .T A Practitioner's Guide to Addressing Algorithms (Corrigendum) .B CACM September, 1976 .A Severance, D. G. Duhne, R. A. .N CA760909 JB January 4, 1978 8:43 AM .X 2830 5 2830 2830 5 2830 2830 5 2830 .I 2831 .T Analysis of the PFF Replacement Algorithm via a Semi-Markov Model (Corrigendum) .B CACM September, 1976 .A Chu, W. W. Opderbeck, H. .N CA760908 DMM February 1, 1978 9:54 AM .X 2831 5 2831 2831 5 2831 2831 5 2831 .I 2832 .T Faster Retrieval from Context Trees (Corrigendum) .W Context trees provide a convenient way of storing data which is to be viewed as a hierarchy of contexts. This note presents an algorithm which improves on previous context tree retrieval algorithms. It is based on the observation that in typical uses context changes are infrequent relative to retrievals, so that data can be cached to speed up retrieval. A retrieval is started from the position of the previous retrieval and auxiliary structures are built up to make the search rapid. Algorithms for addition and deletion of data and for garbage collection are outlined. .B CACM September, 1976 .A Wegbreit, B. .K context trees, frame problem, variable bindings, data structures .C 3.69 3.74 4.10 .N CA760907 JB January 4, 1978 8:49 AM .X 2832 5 2832 2832 5 2832 2832 5 2832 .I 2833 .T An Efficient, Incremental, Automatic Garbage Collector .W This paper describes a new way of solving the storage reclamation problem for a system such as Lisp that allocates storage automatically from a heap, and does not require the programmer to give any indication that particular items are no longer useful or accessible. A reference count scheme for reclaiming non-self-referential structures, and a linearizing, compacting, copying scheme to reorganize all storage at the users discretion are proposed. The algorithms are designed to work well in systems which use multiple levels of storage, and large virtual address space. They depend on the fact that most cells are referenced exactly once, and that reference counts need only be accurate when storage is about to be reclaimed. A transaction file stores changes to reference counts, and a multiple reference table stores the count for items which are referenced more than once. .B CACM September, 1976 .A Deutsch, L. P. Bobrow, D. G. .K storage management, garbage collection, Lisp .C 4.19 .N CA760906 JB January 4, 1978 8:58 AM .X 1708 4 2833 1781 4 2833 1826 4 2833 1860 4 2833 1972 4 2833 2156 4 2833 2156 4 2833 2168 4 2833 2168 4 2833 2249 4 2833 2314 4 2833 2438 4 2833 2719 4 2833 2723 4 2833 2736 4 2833 2736 4 2833 2833 4 2833 2833 4 2833 2833 4 2833 2845 4 2833 2855 4 2833 3074 4 2833 3112 4 2833 3112 4 2833 1626 5 2833 1826 5 2833 2736 5 2833 2833 5 2833 2833 5 2833 2833 5 2833 2855 5 2833 2944 5 2833 3112 5 2833 106 6 2833 1380 6 2833 1549 6 2833 1826 6 2833 1826 6 2833 210 6 2833 1972 6 2833 1972 6 2833 2438 6 2833 2513 6 2833 2723 6 2833 2736 6 2833 2766 6 2833 2833 6 2833 2833 6 2833 2833 6 2833 2838 6 2833 2998 6 2833 2998 6 2833 731 6 2833 .I 2834 .T Efficient Generation of the Binary Reflected Gray Code and Its Applications .W Algorithms are presented to generate the n-bit binary reflected Gray code and codewords of fixed weight in that code. Both algorithms are efficient in that the time required to generate the next element from the current one is constant. Applications to the generation of the combinations of n things taken k at a time, the compositions of integers, and the permutations of a multiset are discussed. .B CACM September, 1976 .A Bitner, J. R. Ehrlich, G. Reingold, E. M. .K Gray code, combinations, subsets, compositions, combinatorial computing .C 5.39 .N CA760905 JB January 4, 1978 9:14 AM .X 2466 4 2834 2834 4 2834 2834 4 2834 2834 4 2834 2834 4 2834 2884 4 2834 3115 4 2834 3115 4 2834 3115 4 2834 969 5 2834 2045 5 2834 2417 5 2834 2466 5 2834 2834 5 2834 2834 5 2834 2834 5 2834 .I 2835 .T Recursion Analysis for Compiler Optimization .W A relatively simple method for the detection of recursive use of procedures is presented for use in compiler optimization. Implementation considerations are discussed, and a modification of the algorithm is given to further improve optimization. This analysis can also be used to determine what possible subset of values could be assumed by variables which can only take on a relatively small discrete set of values. The most common are parameters of variables assuming values of label, procedure, or Pascal's enumerated type. .B CACM September, 1976 .A Walter, K. G. .K recursion, compiler optimization .C 4.12 .N CA760904 JB January 4, 1978 9:36 AM .X 2835 5 2835 2835 5 2835 2835 5 2835 .I 2836 .T Weighted Derivation Trees .W The nodes of a weighted derivation tree are associated with weighting functions over the vocabulary of a context-free grammar. An algorithm is presented for constructing the optimal derivation tree having the same structure as a given weighted derivation tree. In addition, the correctness of the algorithm is established. The method may be applied to problems involving probabilistic parsing or combinatorial optimization. .B CACM September, 1976 .A Loui, M. C. .K derivation tree, parse tree, probabilistic grammar, structural ambiguity, combinatorial optimization .C 5.23 5.49 .N CA760903 JB January 4, 1978 9:41 AM .X 2836 5 2836 2836 5 2836 2836 5 2836 .I 2837 .T New Upper Bounds for Selection .W The worst-case minimum number of comparisons complexity Vi(n) of the i-th selection problem is considered. A new upper bound for Vi(n) improves the bound given by the standard Hadian-Sobel algorithm by a generalization of the Kirkpatrick-Hadian-Sobel algorithm, and extends Kirkpatrick's method to a much wider range of application. This generalization compares favorably with a recent algorithm by Hyafil. .B CACM September, 1976 .A Yap, C. K. .K selection problem, algorithms, comparison problems, concrete computational complexity, upper bounds, worst-case analysis .C 5.25 5.31 .N CA760902 JB January 4, 1978 9:48 AM .X 2837 4 2837 2837 4 2837 3150 4 2837 2784 5 2837 2837 5 2837 2837 5 2837 2837 5 2837 2842 5 2837 .I 2838 .T Analysis of an Algorithm for Real Time Garbage Collection .W A real time garbage collection system avoids suspending the operations of a list processor for the long times that garbage collection normally requires by performing garbage collection on a second processor in parallel with list processing operations, or on a single processor time-shared with them. Algorithms for recovering discarded list structures in this manner are presented and analyzed to determine sufficient conditions under which the list processor never needs to wait on the collector. These techniques are shown to require at most twice as much processing power as regular garbage collectors, if they are used efficiently. The average behavior of the program is shown to be very nearly equal to the worst-case performance, so that the sufficient conditions are also suitable for measuring the typical behavior of the algorithm. .B CACM September, 1976 .A Wadler, P. L. .K garbage collection, storage reclamation, list processing, Lisp, time-sharing, multiprocessing, parallel processing, real time, data structures, analysis of algorithms .C 3.69 3.89 4.19 4.29 4.32 4.34 4.9 5.25 .N CA760901 JB January 4, 1978 9:57 AM .X 1024 4 2838 1051 4 2838 1102 4 2838 1132 4 2838 1390 4 2838 1486 4 2838 1549 4 2838 1706 4 2838 1826 4 2838 1878 4 2838 378 4 2838 2060 4 2838 2155 4 2838 2168 4 2838 2719 4 2838 2723 4 2838 2838 4 2838 2838 4 2838 2842 4 2838 2855 4 2838 2879 4 2838 2896 4 2838 3039 4 2838 3074 4 2838 3077 4 2838 3080 4 2838 3106 4 2838 3112 4 2838 627 4 2838 106 4 2838 210 5 2838 2723 5 2838 2838 5 2838 2838 5 2838 2838 5 2838 3112 5 2838 106 6 2838 1380 6 2838 1826 6 2838 1972 6 2838 2438 6 2838 2723 6 2838 2736 6 2838 2833 6 2838 2838 6 2838 731 6 2838 .I 2839 .T An Insertion Technique for One-Sided Height-Balanced Trees .W A restriction on height-balanced binary trees is presented. It is seen that this restriction reduces the extra memory requirements by half (from two extra bits per node to one) and maintains fast search capabilities at a cost of increased time requirements for inserting new nodes. .B CACM August, 1976 .A Hirschberg, D. S. .K balanced, binary, search, trees .C 3.73 3.74 4.34 5.25 5.31 .N CA760805 JB January 4, 1978 10:04 AM .X 2839 4 2839 3042 4 2839 3096 4 2839 3163 4 2839 2839 5 2839 2839 5 2839 2839 5 2839 2889 5 2839 3009 5 2839 3042 5 2839 3065 5 2839 3096 5 2839 3163 5 2839 2455 6 2839 2839 6 2839 2839 6 2839 2839 6 2839 2839 6 2839 2839 6 2839 2889 6 2839 2889 6 2839 2889 6 2839 2968 6 2839 3009 6 2839 3009 6 2839 3065 6 2839 3096 6 2839 3096 6 2839 .I 2840 .T Protection in Operating Systems .W A model of protection mechanisms in computing systems is presented and its appropriateness is argued. The "safety" problem for protection systems under this model is to determine in a given situation whether a subject can acquire a particular right to an object. In restricted cases, it can be shown that this problem is decidable, i.e. there is an algorithm to determine whether a system in a particular configuration is safe. In general, and under surprisingly weak assumptions, it cannot be decided if a situation is safe. Various implications of this fact are discussed. .B CACM August, 1976 .A Harrison, M. A. Ruzzo, W. L. Ullman, J. D. .K protection, protection system, operating system, decidability, Turing machine .C 4.30 4.31 5.24 .N CA760804 JB January 4, 1978 10:12 AM .X 1458 4 2840 1523 4 2840 1603 4 2840 1698 4 2840 1747 4 2840 1748 4 2840 1753 4 2840 1854 4 2840 1877 4 2840 1960 4 2840 2358 4 2840 2377 4 2840 2377 4 2840 2378 4 2840 2372 4 2840 2497 4 2840 2558 4 2840 2625 4 2840 2626 4 2840 2626 4 2840 2632 4 2840 2786 4 2840 2840 4 2840 2840 4 2840 2840 4 2840 2840 4 2840 2840 4 2840 2869 4 2840 2919 4 2840 2941 4 2840 3017 4 2840 3105 4 2840 3110 4 2840 3128 4 2840 3144 4 2840 3158 4 2840 3174 4 2840 1471 5 2840 1746 5 2840 2436 5 2840 2626 5 2840 2629 5 2840 2840 5 2840 2840 5 2840 2840 5 2840 3076 5 2840 2607 6 2840 2840 6 2840 .I 2841 .T Designing Surfaces in 3-D .W An experimental system for computer-aided design of free-form surfaces in three dimensions is described. The surfaces are represented in the system as parametric basis splines. The principal features of the system are: (1) the surfaces are rendered as isoparametric line drawings on a head-mounted display, and they are designed with the aid of a three-dimensional "wand," which allows 3-D movements of the points controlling the shapes of the surfaces, (2) all of the interactions with the surfaces are in real-time, and (3) the mathematical formulations used assume no knowledge of them by the user of the system. Also examined are some of the features that should be part of a practical 3-D system for designing space-forms. .B CACM August, 1976 .A Clark, J. H. .K real-time graphics, computer-aided design, picture processing, B-splines, 3-D displays .C 3.80 6.22 8.2 .N CA760803 JB January 4, 1978 10:25 AM .X 2828 5 2841 2841 5 2841 2841 5 2841 2841 5 2841 1751 6 2841 2004 6 2841 2751 6 2841 2841 6 2841 .I 2842 .T The Denotational Semantics of Programming Languages .W This paper is a tutorial introduction to the theory of programming language semantics developed by D. Scott and C. Strachey. The application of the theory to formal language specification is demonstrated and other applications are surveyed. The first language considered, LOOP, is very elementary and its definition merely introduces the notation and methodology of the approach. Then the semantic concepts of environments, stores, and continuations are introduced to model classes of programming language features and the underlying mathematical theory of computation due to Scott is motivated and outlined. Finally, the paper presents a formal definition of the language GEDANKEN. .B CACM August, 1976 .A Tennent, R. D. .K semantics, programming language, applicative, imperative, environment, store, continuation, theory of computation, higher-order function, recursive definition, LOOP, GEDANKEN .C 4.22 5.24 .N CA760802 JB January 4, 1978 10:33 AM .X 1024 4 2842 1051 4 2842 1086 4 2842 1102 4 2842 1132 4 2842 1132 4 2842 1234 4 2842 1263 4 2842 1265 4 2842 1270 4 2842 1323 4 2842 1358 4 2842 1379 4 2842 1380 4 2842 1390 4 2842 1453 4 2842 1464 4 2842 1484 4 2842 1486 4 2842 1491 4 2842 1498 4 2842 1549 4 2842 1613 4 2842 1614 4 2842 1706 4 2842 1781 4 2842 1825 4 2842 1826 4 2842 1860 4 2842 1878 4 2842 378 4 2842 2060 4 2842 2083 4 2842 2155 4 2842 2155 4 2842 2168 4 2842 2178 4 2842 2179 4 2842 2252 4 2842 2294 4 2842 2314 4 2842 2317 4 2842 2325 4 2842 2326 4 2842 2341 4 2842 2457 4 2842 2546 4 2842 2558 4 2842 2645 4 2842 2652 4 2842 2684 4 2842 2719 4 2842 2723 4 2842 2838 4 2842 2842 4 2842 2842 4 2842 2842 4 2842 2842 4 2842 2842 4 2842 2855 4 2842 2879 4 2842 2903 4 2842 2929 4 2842 2934 4 2842 3069 4 2842 3077 4 2842 3077 4 2842 3080 4 2842 3106 4 2842 3150 4 2842 627 4 2842 669 4 2842 679 4 2842 691 4 2842 761 4 2842 106 4 2842 949 4 2842 989 4 2842 210 5 2842 2060 5 2842 2148 5 2842 2192 5 2842 2837 5 2842 2842 5 2842 2842 5 2842 2842 5 2842 3150 5 2842 3184 5 2842 2060 6 2842 2704 6 2842 2784 6 2842 2842 6 2842 2842 6 2842 2939 6 2842 2940 6 2842 2941 6 2842 2943 6 2842 3073 6 2842 3148 6 2842 .I 2843 .T Tools and Philosophy for Software Education .W This paper describes a set of tools and a philosophy for teaching software that have been found very useful in course at MIT over the past seven years. The tools include programs such as simulators, graders, compilers, and monitor. These allow the instructor to augment the basic concepts with relevant, exciting, and economical student project activities. .B CACM August, 1976 .A Donovan, J. J. .K software education, simulators, grading programs, student assignments .C 1.5 4.0 .N CA760801 JB January 4, 1978 10:39 AM .X 2843 5 2843 2843 5 2843 2843 5 2843 .I 2844 .T Heaps Applied to Event Driven Mechanisms .B CACM July, 1976 .A Gonnet, G. H. .K discrete event simulation, event-scanning mechanisms, priority queues, heaps .C 4.34 8.1 .N CA760709 JB January 4, 1978 11:05 AM .X 2042 4 2844 2222 4 2844 2356 4 2844 2679 4 2844 2757 4 2844 2844 4 2844 2844 4 2844 2844 4 2844 2844 4 2844 2936 4 2844 2936 4 2844 2972 4 2844 3051 4 2844 3064 4 2844 3064 4 2844 3109 4 2844 970 5 2844 1059 5 2844 2742 5 2844 2767 5 2844 2844 5 2844 2844 5 2844 2844 5 2844 3051 5 2844 3109 5 2844 2767 6 2844 2767 6 2844 2844 6 2844 2844 6 2844 .I 2845 .T A Buddy System Variation for Disk Storage Allocation .W A generalization of the buddy system for storage allocation is described. The set of permitted block sizes {SIZE(i)}, i=0,n, must satisfy the condition SIZE(i)=SIZE(i-1)+SIZE(i-k(i)) where k may be any meaningful integral-valued function. This makes it possible to force logical storage blocks to coincide with physical storage blocks, such as tracks and cylinders. .B CACM July, 1976 .A Burton, W. .K buddy system, dynamic storage allocation .C 3.89 4.32 4.39 .N CA760708 JB January 4, 1978 11:24 AM .X 1389 4 2845 1552 4 2845 2162 4 2845 2435 4 2845 2596 4 2845 2596 4 2845 2747 4 2845 2768 4 2845 2768 4 2845 2773 4 2845 2833 4 2845 2845 4 2845 2845 4 2845 2845 4 2845 2845 4 2845 2845 4 2845 2845 4 2845 2856 4 2845 2902 4 2845 2902 4 2845 2902 4 2845 2902 4 2845 2911 4 2845 2955 4 2845 2955 4 2845 2955 4 2845 3112 4 2845 3113 4 2845 1184 5 2845 2435 5 2845 2598 5 2845 2736 5 2845 2747 5 2845 2768 5 2845 2845 5 2845 2845 5 2845 2845 5 2845 .I 2846 .T Compressed Tries .W This paper presents a new data structure, called a compressed trie or C-trie, to be used in information retrieval systems. It has the same underlying m-ary tree structure as a trie, where m is a parameter of the trie, but whereas the fields of the nodes in a trie have to be large enough to hold a key or at least a pointer, the fields in a C-trie are only one bit long. In the analysis part of the paper it will be shown that for a collection of n keys the retrieval time, measured in terms of bit inspections of one key, is of the order logm(n) and the storage requirement of the order n*(m+log2 n) bits. This improvement in storage requirements and retrieval time is achieved at the cost of decreasing the flexibility of the structure, and therefore updating costs are increased. First the C-trie is analyzed as a data structure, and then several methods of its use for relatively static databases are discussed. .B CACM July, 1976 .A Maly, K. .K data structure, database, m-ary tree, trie, retrieval time, storage requirement, keys .C 3.70 3.74 3.75 .N CA760707 JB January 4, 1978 12:26 PM .X 2846 4 2846 849 4 2846 944 4 2846 155 5 2846 2846 5 2846 2846 5 2846 2846 5 2846 3041 5 2846 2846 6 2846 2905 6 2846 .I 2847 .T Sampling from the Gamma Distribution on a Computer .W This paper describes a method of generating gamma variates that appears to be less costly than Wallace's recently suggested method. For large shape parameter (a); the cost of computation is proportional to (a), whereas Wallace's method is proportional to (a). Experimentation by Robinson and Lewis indicates that for small (a) the method suggested here also dominates methods recently suggested by Dieter and Ahrens, albeit those methods dominate for large (a). The method suggested here uses the rejection technique. .B CACM July, 1976 .A Fishman, G. S. .K gamma variates, reflection method, sampling .C 5.5 8.1 8.3 .N CA760706 JB January 4, 1978 12:34 PM .X 2847 4 2847 2928 4 2847 3046 4 2847 3098 4 2847 3107 4 2847 2569 5 2847 2847 5 2847 2847 5 2847 2847 5 2847 3046 5 2847 3098 5 2847 2569 6 2847 2569 6 2847 2847 6 2847 2847 6 2847 3098 6 2847 .I 2848 .T Synthesis of Decision Rules .W Decision tables can be used as an effective tool during an interview to record the logic of processes to be automated. The result of such an interview is not a structure of complete decision tables but rather sets of decision rules. The purpose of this paper is to provide a procedure for synthesizing the decision rules and thus provide an aid in developing a structure of complete decision tables. .B CACM July, 1976 .A Cheng, C. Rabin, J. .K decision rules, decision tables, logical tables, logical design, system design, specification language .C 3.50 4.33 .N CA760705 JB January 4, 1978 12:39 PM .X 2848 5 2848 2848 5 2848 2848 5 2848 .I 2849 .T Ethernet: Distributed Packet Switching for Local Computer Networks .W Ethernet is a branching broadcast communication system for carrying digital data packets among locally distributed computing stations. The packet transport mechanism provided by Ethernet has been used to build systems which can be viewed as either local computer networks or loosely coupled multiprocessors. An Ethernet's shared communication facility, its Ether, is a passive broadcast medium with no central control. Coordination of access to the Ether for packet broadcasts is distributed among the contending transmitting stations using controlled statistical arbitration. Switching of packets to their destinations on the Ether is distributed among the receiving stations using packet address recognition. Design principles and implementation are described, based on experience with an operating Ethernet of 100 nodes along a kilometer of coaxial cable. A model for estimating performance under heavy loads and a packet protocol for error controlled communication are included for completeness. .B CACM July, 1976 .A Metcalfe, R. M. Boggs, D. R. .K computer networks, packet switching, multiprocessing, distributed control, distributed computing, broadcast communication, statistical arbitration .C 3.81 4.32 6.35 .N CA760704 JB January 4, 1978 12:49 PM .X 2849 4 2849 2371 5 2849 2849 5 2849 2849 5 2849 2849 5 2849 3032 5 2849 3119 5 2849 2245 6 2849 2798 6 2849 2849 6 2849 2849 6 2849 2859 6 2849 .I 2850 .T Symbolic Execution and Program Testing .W This paper describes the symbolic execution of programs. Instead of supplying the normal inputs to a program (e.g. numbers) one supplies symbols representing arbitrary values. The execution proceeds as in a normal execution except that values may be symbolic formulas over the input symbols. The difficult, yet interesting issues arise during the symbolic execution of conditional branch type statements. A particular system called EFFIGY which provides symbolic execution for program testing and debugging is also described. It interpretively executes programs written in a simple PL/I style programming language. It includes many standard debugging features, the ability to manage and to prove things about symbolic expressions, a simple program testing manager, and a program verifier. A brief discussion of the relationship between symbolic execution and program proving is also included. .B CACM July, 1976 .A King, J. C. .K symbolic execution, program testing, program debugging, program proving, program verification, symbolic interpretation .C 4.13 5.21 5.24 .N CA760703 JB January 4, 1978 12:59 PM .X 2850 5 2850 2850 5 2850 2850 5 2850 3080 5 2850 210 6 2850 2850 6 2850 .I 2851 .T Formal Verification of Parallel Programs .W Two formal models for parallel computation are presented: an abstract conceptual model and a parallel-program model. The former model does not distinguish between control and data states. The latter model includes the capability for the representation of an infinite set of control states by allowing there to be arbitrarily many instruction pointers (or processes) executing the program. An induction principle is presented which treats the control and data state sets on the same ground. Through the use of "place variables," it is observed that certain correctness conditions can be expressed without enumeration of the set of all possible control states. Examples are presented in which the induction principle is used to demonstrate proofs of mutual exclusion. It is shown that assertions-oriented proof methods are special cases of the induction principle. A special case of the assertions method, which is called parallel place assertions, is shown to be incomplete. A formalization of "deadlock" is then presented. The concept of a "norm" is introduced, which yields an extension, to the deadlock problem, of Floyd's technique for proving termination. Also discussed is an extension of the program model which allows each process to have its own local variables and permits shared global variables. Correctness of certain forms of implementation is also discussed. An Appendix is included which relates this work to previous work on the satisfiability of certain logical formulas. .B CACM July, 1976 .A Keller, R. M. .K parallel program, correctness, verification, assertions, deadlock, mutual exclusion, Petrinet .C 4.6 5.2 6.9 8.1 .N CA760702 JB January 4, 1978 1:20 PM .X 2228 4 2851 2280 4 2851 2379 4 2851 2320 4 2851 2482 4 2851 2597 4 2851 2740 4 2851 2777 4 2851 2851 4 2851 2851 4 2851 2895 4 2851 2912 4 2851 2920 4 2851 2946 4 2851 3128 4 2851 1877 5 2851 2150 5 2851 2851 5 2851 2851 5 2851 2851 5 2851 .I 2852 .T The Technology of Computer Center Management: A Proposed Course for Graduate Professional Programs in Computer Science or in Information Systems .W McFarlan and Nolan have made a strong case for adding a course on information systems administration to the 13 courses proposed by the ACM Curriculum Committee on Computer Education for Management for Graduate Professional Programs in Information Systems. This paper is a report on a course entitled, "The Technology of Computer Center Management," which has been offered at Purdue for the past four years. The course is suitable either for graduate professional programs in information systems or for graduate professional programs in computer science. .B CACM July, 1976 .A Conte, S. D. Halstead, M. H. .K education, information systems administration, computer center management, computer system performance .C 1.52 2.4 3.51 4.6 .N CA760701 JB January 4, 1978 1:31 PM .X 1653 4 2852 1720 4 2852 1927 4 2852 2147 4 2852 2163 4 2852 2345 4 2852 2387 4 2852 2407 4 2852 2478 4 2852 2594 4 2852 2852 4 2852 2852 4 2852 2852 4 2852 2852 4 2852 2852 4 2852 2899 4 2852 3003 4 2852 3003 4 2852 3011 4 2852 3050 4 2852 3050 4 2852 3130 4 2852 1417 5 2852 1771 5 2852 2345 5 2852 2387 5 2852 2479 5 2852 2852 5 2852 2852 5 2852 2852 5 2852 .I 2853 .T A Numbering System for Permutations of Combinations .B CACM June, 1976 .A Knott, G. D. .K combinatorics,coding systems, storage mapping functions .C 4.9 5.30 .N CA760609 JB January 4, 1978 1:33 PM .X 2690 4 2853 2853 4 2853 2853 4 2853 3115 4 2853 2690 5 2853 2853 5 2853 2853 5 2853 2853 5 2853 579 5 2853 .I 2854 .T Multiprocessing Compactifying Garbage Collection (Corrigendum) .B CACM June, 1976 .A Steele, G. L. Jr. .N CA760608 JB January 4, 1978 1:36 PM .X 2854 5 2854 2854 5 2854 2854 5 2854 .I 2855 .T An Efficient List-Moving Algorithm Using Constant Workspace .W An efficient algorithm is presented for moving arbitrary list structures, using no storage (apart from program variables) other than that required to hold the original list and the copy. The original list is destroyed as it is moved. No mark bits are necessary, but pointers to the copy must be distinguishable from pointers to the original. The algorithm is superior in execution speed to previous algorithms for the same problem. Some variations and extensions of the algorithm are discussed. .B CACM June, 1976 .A Clark, D. W. .K list moving, list copying, LISP, space complexity, constant workspace .C 4.34 4.49 5.25 .N CA760607 JB January 4, 1978 1:43 PM .X 1024 4 2855 1051 4 2855 1102 4 2855 1132 4 2855 1390 4 2855 1486 4 2855 1549 4 2855 1706 4 2855 1826 4 2855 1869 4 2855 1878 4 2855 1972 4 2855 378 4 2855 2060 4 2855 2155 4 2855 2156 4 2855 2156 4 2855 2168 4 2855 2168 4 2855 2361 4 2855 2438 4 2855 2513 4 2855 2513 4 2855 2665 4 2855 2719 4 2855 2723 4 2855 2723 4 2855 2723 4 2855 2736 4 2855 2736 4 2855 2833 4 2855 2838 4 2855 2842 4 2855 2855 4 2855 2855 4 2855 2855 4 2855 2855 4 2855 2855 4 2855 2855 4 2855 2855 4 2855 2855 4 2855 2879 4 2855 2944 4 2855 2944 4 2855 2954 4 2855 3074 4 2855 3074 4 2855 3077 4 2855 3080 4 2855 3106 4 2855 3106 4 2855 3106 4 2855 3106 4 2855 3106 4 2855 3112 4 2855 3112 4 2855 3112 4 2855 627 4 2855 106 4 2855 210 5 2855 1549 5 2855 1826 5 2855 1972 5 2855 2513 5 2855 2766 5 2855 2833 5 2855 2855 5 2855 2855 5 2855 2855 5 2855 2998 5 2855 3106 5 2855 1549 6 2855 210 6 2855 1972 6 2855 2665 6 2855 2766 6 2855 2855 6 2855 2954 6 2855 2998 6 2855 .I 2856 .T The Synthetic Approach to Decision Table Conversion .W Previous approaches to the problem of automatically converting decision tables to computer programs have been based on decomposition. At any stage, one condition is selected for testing, and two smaller problems (decision tables with one less condition) are created. An optimal program (with respect to average execution time or storage space, for example) is located only through implicit enumeration of all possible decision trees using a technique such as branch-and-bound. The new approach described in this paper uses dynamic programming to synthesize an optimal decision tree from which a program can be created. Using this approach, the efficiency of creating an optimal program is increased substantially, permitting generation of optimal programs for decision tables with as many as ten to twelve conditions. .B CACM June, 1976 .A Schumacher, H. Sevcik, K. C. .K decision tables, decision trees, dynamic programming, optimal programs .C 3.50 4.12 5.30 8.3 .N CA760606 JB January 4, 1978 1:50 PM .X 1354 4 2856 1354 4 2856 1488 4 2856 1684 4 2856 2053 4 2856 2053 4 2856 2053 4 2856 2220 4 2856 2220 4 2856 2220 4 2856 2221 4 2856 2273 4 2856 2273 4 2856 2273 4 2856 2273 4 2856 2273 4 2856 2453 4 2856 2453 4 2856 2453 4 2856 2453 4 2856 2517 4 2856 2598 4 2856 2598 4 2856 2598 4 2856 2726 4 2856 2726 4 2856 2726 4 2856 2726 4 2856 2845 4 2856 2856 4 2856 2856 4 2856 2856 4 2856 2856 4 2856 2856 4 2856 2856 4 2856 2856 4 2856 3034 4 2856 3113 4 2856 3113 4 2856 1172 5 2856 1327 5 2856 1354 5 2856 2053 5 2856 2220 5 2856 2453 5 2856 2598 5 2856 2856 5 2856 2856 5 2856 2856 5 2856 3033 5 2856 3113 5 2856 1354 6 2856 2263 6 2856 2598 6 2856 2691 6 2856 2856 6 2856 2856 6 2856 .I 2857 .T Referencing Lists by an Edge .W An edge reference into a list structure is a pair of pointers to adjacent nodes. Such a reference often requires little additional space, but its use can yield efficient algorithms. For instance, a circular link between the ends of a list is redundant if the list is always referenced by that edge, and list traversal is easier when that link is null. Edge references also allow threading of nonrecursive lists, can replace some header cells, and enhance the famous exclusive-or-trick to double-link lists .B CACM June, 1976 .A Wise, D. S. .K list processing, circular, doubly linked, overlapping sublist, header cell, pointer, cursor .C 3.73 4.10 4.22 .N CA760605 JB January 4, 1978 2:00 PM .X 1024 4 2857 1051 4 2857 1098 4 2857 1214 4 2857 1380 4 2857 1388 4 2857 1393 4 2857 1396 4 2857 1485 4 2857 1487 4 2857 1549 4 2857 1570 4 2857 1878 4 2857 1946 4 2857 1946 4 2857 1957 4 2857 2167 4 2857 2168 4 2857 2723 4 2857 2857 4 2857 2857 4 2857 3112 4 2857 1393 5 2857 2857 5 2857 2857 5 2857 2857 5 2857 731 5 2857 .I 2858 .T A Process for the Determination of Addresses in Variable Length Addressing .W An algorithm is presented for the assignment of instruction addresses and formats under the following conditions: (1) the length of the instruction varies as a function of the distance of the instruction from its target; (2) there exists an optimality criterion which implies some preferential choices subject to the addressing constraints. This may be, for example, achieving the smallest number of long instructions, in which case the total code length is minimized, or minimizing the assigned address of a specified point in the program. The algorithm is suitable for arbitrary program structure and a choice of optimization criteria. .B CACM June, 1976 .A Frieder, G. Saal, H. J. .K variable length addressing, assembler, paging .C 4.11 4.12 .N CA760604 JB January 4, 1978 2:09 PM .X 2858 4 2858 3110 4 2858 2194 5 2858 2858 5 2858 2858 5 2858 2858 5 2858 3110 5 2858 2194 6 2858 2629 6 2858 2858 6 2858 .I 2859 .T Interference in Multiprocessor Computer Systems with Interleaved Memory .W This paper analyzes the memory interference caused by several processors simultaneously using several memory modules. Exect results are computed for a simple model of such a system. The limiting value is derived for the relative degree of memory interference as the system size increases. The model of the limiting behavior of the system yields approximate results for the simple model and also suggests that the results are valid for a much larger class of models, including those more nearly like real systems that the simple model are tested against some measurements of program behavior and simulations of systems using memory references from real programs. The model results provide a good indication of the performance that should be expected from real system of this type. .B CACM June, 1976 .A Baskett, F. Smith, A. J. .K memory, memory interference, multiprocessing, interleaved memory, trace driven simulation .C 4.32 6.21 6.34 8.1 .N CA760603 JB January 4, 1978 2:19 PM .X 1668 4 2859 1669 4 2859 1679 4 2859 1728 4 2859 2859 4 2859 2859 4 2859 1525 5 2859 1676 5 2859 2859 5 2859 2859 5 2859 2859 5 2859 2918 5 2859 3119 5 2859 2245 6 2859 2798 6 2859 2849 6 2859 2859 6 2859 2859 6 2859 .I 2860 .T A Practitioner's Guide To Addressing Algorithms .W This paper consolidates a number of popular rules of thumb which have been suggested for the design of record addressing algorithms, and discusses the applicability of these rules to large commercial databases. Guidelines for selecting identifier transformations, overflow techniques, loading factors, bucket sizes, and loading order and considered. Particular attention is focused on the reasonableness of common heuristics for determining primary or secondary bucket sizes. A mathematical model which explicitly considers storage device characteristics and time/space cost tradeoffs is used to analyze the effect of design parameters on overall system costs. A specific design example is presented and solved. .B CACM June, 1976 .A Severance, D. Duhne, R. .K data management, file retrieval, searching, addressing techniques, hashing functions, synonym resolution, loading factor, bucket size, heuristic design, rules of thumb .C 3.50 3.72 3.74 4.33 4.34 4.41 8.1 .N CA760602 JB January 4, 1978 2:47 PM .X 1785 4 2860 2203 4 2860 2258 4 2860 2282 4 2860 2319 4 2860 2313 4 2860 2359 4 2860 2437 4 2860 2552 4 2860 2781 4 2860 2860 4 2860 2860 4 2860 2860 4 2860 2991 4 2860 3083 4 2860 911 4 2860 1328 5 2860 2203 5 2860 2860 5 2860 2860 5 2860 2860 5 2860 492 5 2860 .I 2861 .T Production and Employment of Ph.D.'s in Computer Science .B CACM June, 1976 .A Taulbee, O. E. Conte, S. D. .N CA760601 JB January 4, 1978 2:51 PM .X 2861 5 2861 2861 5 2861 2861 5 2861 2962 5 2861 3123 5 2861 3122 5 2861 2823 6 2861 2861 6 2861 2861 6 2861 2861 6 2861 2962 6 2861 2962 6 2861 3022 6 2861 .I 2862 .T Analysis of the PFF Replacement Algorithm via a Semi-Markov Model .W An analytical model is presented to estimate the performance of the Page Fault Frequency (PFF) replacement algorithm. In this model, program behavior is represented by the LRU stack distance model and the PFF replacement algorithm is represented by a semi-Markov model. Using these models, such parameters as the inter-page-fault interval distribution, the probability of the number of distinct pages being referenced during an inter-page-fault interval, etc. are able to be analytically determined. Using these models to evaluate these parameter values permits study of the performance of the replacement algorithm by simulating the page fault events rather than every page reference event. This significantly reduces the required computation time in estimating the performance of the PFF algorithm. .B CACM May, 1976 .A Chu, W. W. Opderbeck, H. .K PFF replacement algorithm, semi-Markov model, simulation of replacement algorithm .C 4.31 4.32 .N CA760509 JB January 4, 1978 2:59 PM .X 1892 4 2862 1924 4 2862 2095 4 2862 2218 4 2862 2297 4 2862 2374 4 2862 2526 4 2862 2667 4 2862 2668 4 2862 2862 4 2862 2863 4 2862 1728 5 2862 2862 5 2862 2862 5 2862 2862 5 2862 .I 2863 .T VMIN-An Optimal Variable-Space Page Replacement Algorithm .W A criterion for comparing variable space page replacement algorithms is presented. An optimum page replacement algorithm, called VMIN, is described and shown to be optimum with respect to this criterion. The results of simulating VMIN, Denning's working set, and the page partitioning replacement algorithms on five virtual memory programs are presented to demonstrate the improvement possible over the known realizable variable space algorithms. .B CACM May, 1976 .A Prieve, B. G. Fabry, R. S. .K demand paging, performance measurement, multilevel memory systems, virtual memory, working set, page replacement algorithms, optimal page replacement .C 4.30 4.32 .N CA760508 JB January 4, 1978 3:06 PM .X 1892 4 2863 1892 4 2863 1901 4 2863 1924 4 2863 2085 4 2863 2095 4 2863 2095 4 2863 2218 4 2863 2218 4 2863 2277 4 2863 2297 4 2863 2319 4 2863 2329 4 2863 2358 4 2863 2373 4 2863 2374 4 2863 2374 4 2863 2380 4 2863 2434 4 2863 2499 4 2863 2481 4 2863 2501 4 2863 2526 4 2863 2582 4 2863 2667 4 2863 2668 4 2863 2669 4 2863 2669 4 2863 2828 4 2863 2862 4 2863 2863 4 2863 2863 4 2863 2863 4 2863 2863 4 2863 2881 4 2863 2928 4 2863 2996 4 2863 3006 4 2863 3016 4 2863 3052 4 2863 3067 4 2863 3067 4 2863 1728 5 2863 1751 5 2863 1901 5 2863 2863 5 2863 2863 5 2863 2863 5 2863 2863 5 2863 3067 5 2863 1728 6 2863 1751 6 2863 1751 6 2863 1901 6 2863 2374 6 2863 2373 6 2863 2595 6 2863 2682 6 2863 2863 6 2863 2863 6 2863 2864 6 2863 3006 6 2863 .I 2864 .T Characteristics of Program Localities .W The term "locality" has been used to denote that subset of a program's segments which are referenced during a particular phase of its execution. A program's behavior can be characterized in terms of its residence in localities of various sizes and lifetimes, and the transitions between these localities. In this paper the concept of a locality is made more explicit through a formal definition of what constitutes a phase of localized reference behavior, and by a corresponding mechanism for the detection of localities in actual reference strings. This definition provides for the existence of a hierarchy of localities at any given time, and the reasonableness of the definition is supported by examples taken from actual programs. Empirical data from a sample of production Algol 60 programs is used to display distributions of locality sizes and lifetimes, and these results are discussed in terms of their implications for the modeling of program behavior and memory management in virtual memory systems. .B CACM May, 1976 .A Madison, A. W. Batson, A. P. .K program behavior, memory management, locality .C 4.22 4.35 4.6 4.9 6.21 .N CA760507 JB January 4, 1978 3:15 PM .X 2864 5 2864 2864 5 2864 2864 5 2864 3000 5 2864 3067 5 2864 1751 6 2864 1879 6 2864 2095 6 2864 2374 6 2864 2373 6 2864 2595 6 2864 2682 6 2864 2863 6 2864 2864 6 2864 2864 6 2864 3006 6 2864 .I 2865 .T Verifying Properties of Parallel Programs: An Axiomatic Approach .W An axiomatic method for proving a number of properties of parallel programs is presented. Hoare has given a set of axioms for partial correctness, but they are not strong enough in most cases. This paper defines a more powerful deductive system which is in some sense complete for partial correctness. A crucial axiom provides for the use of auxiliary variables, which are added to a parallel program as an aid to proving it correct. The information in a partial correctness proof can be used to prove such properties as mutual exclusion, freedom from deadlock, and program termination. Techniques for verifying these properties are presented and illustrated by application to the dining philosophers problem. .B CACM May, 1976 .A Owicki, S. Gries, D. .K structured multiprogramming correctness proofs, program verification, concurrent processes, synchronization, mutual exclusion, deadlock .C 4.32 4.35 5.21 5.24 .N CA760506 JB January 4, 1978 3:23 PM .X 2021 4 2865 2222 4 2865 2227 4 2865 2315 4 2865 2326 4 2865 2470 4 2865 2732 4 2865 2865 4 2865 2865 4 2865 2866 4 2865 2896 4 2865 2898 4 2865 2943 4 2865 2972 4 2865 3014 4 2865 3043 4 2865 3068 4 2865 3077 4 2865 3128 4 2865 3143 4 2865 3144 4 2865 1834 5 2865 2597 5 2865 2865 5 2865 2865 5 2865 2865 5 2865 3128 5 2865 3148 5 2865 1860 6 2865 2150 6 2865 2376 6 2865 2436 6 2865 2597 6 2865 2817 6 2865 2865 6 2865 2865 6 2865 2866 6 2865 2870 6 2865 2912 6 2865 2939 6 2865 3073 6 2865 3082 6 2865 .I 2866 .T Proving Monitors .W Interesting scheduling and sequential properties of monitors can be proved by using state variables which record the monitor's history and by defining extended proof rules for their wait and signal operations. These two techniques are defined, discussed, and applied to examples to prove properties such as freedom from indefinitely repeated overtaking or unnecessary waiting upper bounds on queue lengths, and historical behavior. .B CACM May, 1976 .A Howard, J.H. .K monitors, correctness, proof rules, historical variables, concurrency, scheduling, bounded buffer, semaphores, alarm clock, disk head .C 4.32 4.35 5.24 .N CA760505 JB January 4, 1978 3:28 PM .X 2704 4 2866 2738 4 2866 2865 4 2866 2866 4 2866 2866 4 2866 2866 4 2866 2869 4 2866 2898 4 2866 2941 4 2866 2958 4 2866 2972 4 2866 3004 4 2866 3030 4 2866 3043 4 2866 3128 4 2866 3144 4 2866 2356 5 2866 2597 5 2866 2796 5 2866 2866 5 2866 2866 5 2866 2866 5 2866 2938 5 2866 2946 5 2866 3128 5 2866 2150 6 2866 2150 6 2866 2376 6 2866 2436 6 2866 2597 6 2866 2865 6 2866 2866 6 2866 2866 6 2866 2866 6 2866 2870 6 2866 2912 6 2866 3082 6 2866 .I 2867 .T Modularization and Hierarchy in a Family of Operating Systems .W This paper describes the design philosophy used in the construction of a family of operating systems. It is shown that the concepts of module and level do not coincide in a hierarchy of functions. Family members can share much software as a result of the implementation of run-time modules at the lowest system level. .B CACM May, 1976 .A Habermann,A. N. Flon, L. Cooprider, L. .K incremental machine design, module, data type, address space, virtual memory .C 4.0 4.30 4.35 .N CA760504 JB January 4, 1978 3:33 PM .X 1828 4 2867 1854 4 2867 1877 4 2867 1960 4 2867 2150 4 2867 2317 4 2867 2319 4 2867 2377 4 2867 2342 4 2867 2376 4 2867 2379 4 2867 2424 4 2867 2482 4 2867 2480 4 2867 2618 4 2867 2632 4 2867 2704 4 2867 2704 4 2867 2723 4 2867 2738 4 2867 2738 4 2867 2740 4 2867 2741 4 2867 2867 4 2867 2867 4 2867 2867 4 2867 3004 4 2867 3030 4 2867 3155 4 2867 3184 4 2867 1749 5 2867 2247 5 2867 2379 5 2867 2867 5 2867 2867 5 2867 2867 5 2867 .I 2868 .T Reflections on an Operating System Design .W The main features of a general purpose multiaccess operating system developed for the CDC 6400 at Berkeley are presented, and its good and bad points are discussed as they appear in retrospect. Distinctive features of the design were the use of capabilities for protection, and the organization of the system into a sequence of layers, each building on the facilities provided by earlier ones and protecting itself from the malfunctions of later ones. There were serious problems in maintaining the protection between layers when levels were added to the memory hierarchy; these problems are discussed and a new solution is described. .B CACM May, 1976 .A Lampson, B. W. Sturgis, H. E. .K operating system, protection, capabilities, layering domains, memory hierarchy, faults .C 4.35 .N CA760503 JB January 4, 1978 3:57 PM .X 2319 4 2868 2378 4 2868 2320 4 2868 2436 4 2868 2626 4 2868 2626 4 2868 2629 4 2868 2632 4 2868 2738 4 2868 2740 4 2868 2868 4 2868 2868 4 2868 2868 4 2868 2868 4 2868 2868 4 2868 2868 4 2868 2870 4 2868 2870 4 2868 2876 4 2868 2928 4 2868 2939 4 2868 2941 4 2868 2951 4 2868 3105 4 2868 3105 4 2868 3127 4 2868 3144 4 2868 3144 4 2868 2080 5 2868 2377 5 2868 2380 5 2868 2558 5 2868 2625 5 2868 2632 5 2868 2868 5 2868 2868 5 2868 2868 5 2868 3105 5 2868 1471 6 2868 2625 6 2868 2632 6 2868 2868 6 2868 2939 6 2868 3068 6 2868 .I 2869 .T Security Kernel Validation in Practice .W A security kernel is a software and hardware mechanism that enforces access controls within a computer system. The correctness of a security kernel on a PDP-11/45 is being proved. This paper describes the technique used to carry out the first step of the proof: validating a formal specification of the program with respect to a axioms for a secure system. .B CACM May, 1976 .A Millen, J. K. .K validation, verification, correctness, security kernel, formal specification, protection .C 4.35 4.6 5.24 .N CA760502 JB January 4,1978 4:01 PM .X 2704 4 2869 2738 4 2869 2840 4 2869 2866 4 2869 2869 4 2869 2869 4 2869 2941 4 2869 2958 4 2869 3004 4 2869 3030 4 2869 3128 4 2869 3158 4 2869 2356 5 2869 2436 5 2869 2869 5 2869 2869 5 2869 2869 5 2869 3068 5 2869 1834 6 2869 2869 6 2869 .I 2870 .T A Lattice Model of Secure Information Flow .W This paper investigates mechanisms that guarantee secure information flow in a computer system. These mechanisms are examined within a mathematical framework suitable for formulating the requirements of secure information flow among security classes. The central component of the model is a lattice structure derived from the security classes and justified by the semantics of information flow. The lattice properties permit concise formulations of the security requirements of different existing systems and facilitate the construction of mechanisms that enforce security. The model provides a unifying view of all systems that restrict information flow, enables a classification of them according to security objectives, and suggests some new approaches. It also leads to the construction of automatic program certification mechanisms for verifying the secure flow of information through a program. .B CACM May, 1976 .A Denning, D. E. .K protection, security, information flow, security class, lattice, program certification .C 4.35 .N CA760501 JB January 4, 1978 4:10 PM .X 2436 4 2870 2626 4 2870 2868 4 2870 2868 4 2870 2870 4 2870 2870 4 2870 2870 4 2870 2876 4 2870 3105 4 2870 3144 4 2870 953 5 2870 2377 5 2870 2632 5 2870 2870 5 2870 2870 5 2870 2870 5 2870 2945 5 2870 3128 5 2870 1947 6 2870 2150 6 2870 2376 6 2870 2436 6 2870 2597 6 2870 2704 6 2870 2865 6 2870 2866 6 2870 2870 6 2870 2870 6 2870 2912 6 2870 3082 6 2870 .I 2871 .T Logical Analysis of Programs .W Most present systems for verification of computer programs are incomplete in that intermediate inductive assertions must be provided manually by the user, termination is not proven, and incorrect programs are not treated. As a unified solution to these problems, this paper suggests conducting a logical analysis of programs by using invariants which express what is actually occurring in the program. The first part of the paper is devoted to techniques for the automatic generation of invariants. The second part provides criteria for using the invariants to check simultaneously for correctness (including termination) or incorrectness. A third part examines the implications of the approach for the automatic diagnosis and correction of logical errors. .B CACM April, 1976 .A Katz, S. Manna, Z. .K logical analysis, invariants, program verification, correctness, incorrectness, termination, automatic debugging .C 3.66 4.42 5.24 .N CA760405 JB January 4, 1978 4:15 PM .X 2871 5 2871 2871 5 2871 2871 5 2871 2874 5 2871 1682 6 2871 2227 6 2871 2317 6 2871 2683 6 2871 2871 6 2871 521 6 2871 .I 2872 .T A Counterintuitive Example of Computer Paging (Corrigendum) .B CACM April, 1976 .A Fagin, R. .N CA760404 JB January 4, 1978 4:19 PM .X 2872 5 2872 2872 5 2872 2872 5 2872 .I 2873 .T LG: A Language for Analytic Geometry .W A conversational programming language for analytic geometry is described, together with some aspects of its implementation. The language allows the flexible definition of geometric objects and elements, computes their parameters, and displays the results. It also provides the capability of specifying a geometric figure via a collection of parameters and displaying various loci corresponding to these parameters. A third characteristic consists of the possibility of using this language to design other user oriented languages. LG has been specifically designed for use by nonprogrammers; it is easy to learn and very close to the natural language used in geometry. .B CACM April, 1976 .A Raymond, J. .K interactive programming, problem oriented languages, computer graphics, interpreters, analytic geometry .C 3.20 4.13 4.22 4.9 .N CA760403 JB January 4, 1978 4:26 PM .X 2873 5 2873 2873 5 2873 2873 5 2873 .I 2874 .T A Comparative Evaluation of Versions of BASIC .W From its inception, The BASIC language has grown in terms of its usage, scope of usage, and its features. This article compares ten of the current versions of BASIC with each other, with two earlier versions, and with the proposed standard for minimal BASIC. The comparison is arranged by the features of the versions and by computational comparison of computation and times and processing costs. .B CACM April, 1976 .A Lientz, B. P. .K BASIC, interpretive language summary .C 4.20 4.6 .N CA760402 JB January 4, 1978 4:34 PM .X 2044 4 2874 2189 4 2874 2356 4 2874 2417 4 2874 2420 4 2874 2505 4 2874 2874 4 2874 2874 4 2874 2874 4 2874 2874 4 2874 2874 4 2874 2874 4 2874 2908 4 2874 3104 4 2874 3143 4 2874 1682 5 2874 2227 5 2874 2317 5 2874 2683 5 2874 2871 5 2874 2874 5 2874 2874 5 2874 2874 5 2874 521 5 2874 .I 2875 .T Development of an International System for Legal Protection of Computer Programs .B CACM April, 1976 .A Smoot, O. R. .K copyright of software, patenting of software, legal protection of software .C 2.3 4.5 .N CA760401 JB January 4, 1978 4:42 PM .X 2875 5 2875 2875 5 2875 2875 5 2875 .I 2876 .T Intentional Resolution of Privacy Protection in Database Systems .W Traditionally, privacy protection in database systems is understood to be the control over what information a given user can get from a database. This paper is concerned with another, independent, dimension of privacy protection, the control over what a user is allowed to do with a piece of information supplied to him by the database. The ability to condition the supply of information on its intended use is called here "intentional resolution" of privacy protection. The practical importance of intentional resolution is demonstrated by several examples, and its realization is discussed. It is shown that intentional resolution can be achieved, but that it involves a radical change from the traditional approach to the process of user-database interaction. In particular, it appears to be necessary for the database to impose a certain amount of control over the internal behavior of users' programs which interact with it. A model for user-database interaction which admits such a control is developed. .B CACM March, 1976 .A Minsky, N. .K protection in database, protection in programming languages, privacy, security, intentional resolution of privacy, interaction with databases .C 3.50 3.70 4.20 4.30 .N CA760304 JB January 4, 1978 4:44 PM .X 2785 4 2876 2868 4 2876 2870 4 2876 2876 4 2876 2876 4 2876 3105 4 2876 3144 4 2876 2632 5 2876 2685 5 2876 2876 5 2876 2876 5 2876 2876 5 2876 .I 2877 .T A Program Data Flow Analysis Procedure .W The global data relationships in a program can be exposed and codified by the static analysis methods described in this paper. A procedure is given which determines all the definitions which can possibly "reach" each node of the control flow graph of the program and all the definitions that are "live" on each edge of the graph. The procedure uses an "interval" ordered edge listing data structure and handles reducible and irreducible graphs indistinguishably. .B CACM March, 1976 .A Allen, J. E. Cocke, J. .K program optimization, data flow analysis, flow graphs, algorithms, compilers .C 4.12 5.24 .N CA760303 JB January 5, 1978 8:33 AM .X 2877 5 2877 2877 5 2877 2877 5 2877 3103 5 2877 1860 6 2877 2877 6 2877 .I 2878 .T Joining Policies in a Multipriority Multiclass Batch Computer System .W Consider a multipriority batch computer system which users from several different classes may join, its toll, service, and waiting charges. Such a system is formulated here as a semi-Markov decision process, in which the aim of arriving users is to minimize their expected loss. The optimal joining policy is one of arriving users who may join the system at some of its queues is a control limit policy, with a single control number for any possible queue and the user's class; a newly arriving user will join a queue that is not filled up to the control number corresponding to this queue and the user's class. In this paper control numbers, as well as lower and upper bounds for the control numbers and the capacities of the system's queues, are derived. .B CACM March, 1976 .A Babad, J. M. Modiano, M. M. .K priority queues, semi-Markov process, price scheduling, operating system .C 4.39 8.3 .N CA760302 DMM January 9, 1978 2:14 PM .X 2878 5 2878 2878 5 2878 2878 5 2878 .I 2879 .T Computer Science as Empirical Inquiry: Symbols and Search .B CACM March, 1976 .A Newell, A. Simon, H. A. .K symbols, search, science, computer science, empirical, Turing, artificial intelligence, intelligence, list processing, cognition, heuristics, problem solving .C 1.0 2.1 3.3 3.6 5.7 .N CA760301 JB January 5, 1978 8:39 AM .X 1024 4 2879 1051 4 2879 1102 4 2879 1132 4 2879 1390 4 2879 1486 4 2879 1549 4 2879 1706 4 2879 1826 4 2879 1878 4 2879 378 4 2879 2060 4 2879 2155 4 2879 2168 4 2879 2719 4 2879 2723 4 2879 2838 4 2879 2842 4 2879 2855 4 2879 2879 4 2879 3077 4 2879 3080 4 2879 3106 4 2879 627 4 2879 106 4 2879 210 5 2879 2879 5 2879 2879 5 2879 2879 5 2879 .I 2880 .T A Fast Division Technique for Constant Divisors .W A fast algorithm for division by constant divisors is presented. The method has proved very useful implemented as microcode ona binary machine, and can be adapted directly into hardware. The mathematical foundations of the algorithm are presented as well as some performance measures. .B CACM February, 1976 .A Artzy, E. Hinds, J. A. Saal, H. J. .K constant divisors, division algorithms, bit addressable memory, microprogram .C 4.13 4.49 6.32 .N CA760207 JB January 5, 1978 8:48 AM .X 2880 5 2880 2880 5 2880 2880 5 2880 .I 2881 .T A Counterintuitive Example of Computer Paging .W A counterexample is exhibited to a natural conjecture concerning the optimal way to group records into pages in the independent reference model of computer paging (an organization is said to be optimal if the "least recently used" miss ratio is minimized). .B CACM February, 1976 .A Fagin, R. .K least recently used, most likely together, independent reference model, storage organization, record allocation .C 3.70 3.73 4.0 5.30 .N CA760206 JB January 5, 1978 8:53 AM .X 1892 4 2881 1901 4 2881 2085 4 2881 2095 4 2881 2218 4 2881 2277 4 2881 2319 4 2881 2329 4 2881 2358 4 2881 2373 4 2881 2380 4 2881 2434 4 2881 2499 4 2881 2501 4 2881 2582 4 2881 2669 4 2881 2828 4 2881 2863 4 2881 2881 4 2881 2928 4 2881 2996 4 2881 3006 4 2881 3067 4 2881 1751 5 2881 2881 5 2881 2881 5 2881 2881 5 2881 .I 2882 .T A Stochastic Evaluation Model for Database Organization in Data Retrieval Systems .W Experimental work in the valuation of large scale data retrieval systems has been scarce due to its difficulty and prohibitive cost. This paper discusses a simulation model of a data retrieval system which has the effect of significantly reducing the cost of experimentation and enabling research never attempted before. The model is designed to estimate the retrieval workload of alternative data retrieval systems. These data retrieval systems can be organized under several database organizations, including inverted list, threaded list, and cellular list organizations and hybrid combinations of these systems. Effectiveness of the methodology is demonstrated by using the model to study the effect of database organizations in data retrieval systems. In particular, the impact of query complexity is analyzed. .B CACM February, 1976 .A Siler, K. F. .K database architecture, database performance and evaluation, invented list, threaded list, cellular list, information retrieval, database organizations, query complexity, stochastic model, Monte Carlo simulation .C 3.70 3.71 3.72 3.73 3.74 3.79 .N CA760205 JB January 5, 1978 9:20 AM .X 1050 4 2882 1549 4 2882 2452 4 2882 2723 4 2882 2765 4 2882 2882 4 2882 2882 4 2882 2882 4 2882 731 4 2882 793 4 2882 2198 5 2882 2452 5 2882 2882 5 2882 2882 5 2882 2882 5 2882 2976 5 2882 627 5 2882 2688 6 2882 2765 6 2882 2882 6 2882 .I 2883 .T An Application of Heuristic Search Methods to Edge and Contour Detection .W This paper presents a method for detecting edges and contours in noisy pictures. The properties of an edge are embedded in a figure of merit and the edge detection problem becomes the problem of minimizing the given figure of merit. This problem can be represented as a shortest path problem on a graph and can be solved using well-known graph search algorithms. The relations between this representation of the minimization problem and a dynamic programming approach are discussed, showing that the graph search method can lead to substantial improvements in computing time. Moreover, if heuristic search methods are used, the computing time will depend on the amount of noise in the picture. Some experimental results are given; these show how various information about the shape of the contour of an object can be embedded in the figure of merit, thus allowing the extraction of contours from noisy picture and the separation of touching objects. .B CACM February, 1976 .A Martelli, A. .K picture processing, pattern recognition, edge detection, contour detection, contour following, optimization problems, dynamic programming, shortest path, heuristic search methods, problem solving methods .C 3.63 3.64 3.66 5.42 .N CA760204 JB January 5, 1978 9:30 AM .X 2883 4 2883 2195 5 2883 2883 5 2883 2883 5 2883 2883 5 2883 .I 2884 .T Permutation Enumeration: Four New Permutation Algorithms .W Classical permutation enumeration algorithms encounter special cases requiring additional computation every nth permutation when generating the n! permutations on n marks. Four new algorithms have the attribute that special cases occur every n(n-1)permutations. Two of the algorithms produce the next permutation with a single exchange of two marks. The other two algorithms infrequently exchange more than two marks, but the rules for generating the next permutation are very simple. Performance tests which have counted execution of assignment statements, comparisons, arithmetic operations, and subscripted array references have shown superiority of the new algorithms compared to Boothroyd's implementation of M. B. Well's algorithm and Ehrlich's implementation of the Johnson-Trotter algorithm. .B CACM February, 1976 .A Ives, F. M. .K permutations, loop-free algorithms .C 5.30 .N CA760203 JB January 5, 1978 9:33 AM .X 2834 4 2884 2884 4 2884 3115 4 2884 2417 5 2884 2884 5 2884 2884 5 2884 2884 5 2884 2908 5 2884 3115 5 2884 907 6 2884 2045 6 2884 2417 6 2884 2466 6 2884 2505 6 2884 2884 6 2884 2884 6 2884 521 6 2884 579 6 2884 785 6 2884 .I 2885 .T On Self-Organizing Sequential Search Heuristics .W This paper examines a class of heuristics for maintaining a sequential list in approximately optimal order with respect to the average time required to search for a specified element, assuming that each element is searched for with a fixed probability independent of previous searches performed. The "move to front" and "transposition" heuristics are shown to be optimal to within a constant factor, and the transposition rule is shown to be the more efficient of the two. Empirical evidence suggests that transposition is in fact optimal for any distribution of search probabilities. .B CACM February, 1976 .A Rivest, R. .K searching, self-organizing, list-processing, heuristics .C 3.74 5.25 .N CA760202 JB January 5, 1978 9:44 AM .X 2885 5 2885 2885 5 2885 2885 5 2885 3061 5 2885 2885 6 2885 .I 2886 .T Semantic Evaluation from Left to Right .W This paper describes attribute grammars and their use for the definition of programming languages and compilers; a formal definition of attribute grammars and a discussion of some of its important aspects are included. The paper concentrates on the evaluation of semantic attributes in a few passes from left to right over the derivation tree of a program. A condition for an attribute grammar is given which assures that the semantics of any program can be evaluated in a single pass over the derivation tree, and an algorithm is discussed which decides how many passes from left to right are in general necessary, given the attribute grammar. These notions are explained in terms of an example grammar which describes the scope rules of Algol 60. Practical questions, such as the relative efficiency of different evaluation schemes, and the ease of adapting the attribute grammar of a given programming language to the left-to-right evaluation scheme are discussed. .B CACM February, 1976 .A Bochmann, G. V. .K attribute grammars, semantics of programming languages, semantic attributes, left-to-right parsing, multipass compilers, semantic evaluation, semantic conditions .C 4.10 4.20 5.23 5.24 .N CA760201 JB January 5, 1978 9:54 AM .X 2886 4 2886 2301 5 2886 2703 5 2886 2886 5 2886 2886 5 2886 2886 5 2886 2886 6 2886 .I 2887 .T A Study of Errors, Error-Proneness, and Error Diagnosis in Cobol .W This paper provides data on Cobol error frequency for correction of errors in student-oriented compilers, improvement of teaching, and changes in programming language. Cobol was studied because of economic importance, widespread usage, possible error-including design, and lack of research. The types of errors were identified in a pilot study; then, using the 132 error types found, 1,777 errors were classified in 1,4000 runs of 73 Cobol students. Error density was high: 20 percent of the types contained 80 percent of the total frequency, which implies high potential effectiveness for software based correction of Cobol. Surprisingly, only four high-frequency errors were error-prone, which implies minimal error inducing design. 80 percent of Cobol misspellings were classifiable in the four error categories of previous researchers, which implies that Cobol misspellings are correctable by existent algorithms. Reserved word usage was not error-prone, which implies minimal interference with usage of reserved words. Over 80 percent of error diagnosis was found to be inaccurate. Such feedback is not optimal for users, particularly for the learning user of Cobol. .B CACM January, 1976 .A Litecky, C. R. Davis, G. B. .K errors in programming, error correction, Cobol, programming language errors, error analysis, diagnostics, error-proneness, error frequency, spelling errors, syntactic errors, learning of programming, teaching of programming .C 4.22 4.2 4.6 .N CA760106 JB January 5, 1978 10:06 AM .X 2534 4 2887 2556 4 2887 2650 4 2887 2708 4 2887 2887 4 2887 2887 4 2887 1646 5 2887 2111 5 2887 2887 5 2887 2887 5 2887 2887 5 2887 3145 5 2887 2887 6 2887 .I 2888 .T Information Reference Coding .W Items in business systems have to be identified by reference codes, which can later be used as data codes and file keys in an associated data processing system. In business systems associated with large collections of integrated files (database) it is vital to assign codes in a methodical way so as to control future extension and changes while maintaining correct program action. The principles of methodical coding are discussed, and the way in which logical connections between data items must be reflected in the reference code framework is shown through a set-theoretic information model. .B CACM January, 1976 .A Florentin, J. J. .K data, file, reference code, systems analysis, information modeling, database .C 3.50 .N CA760105 JB January 5, 1978 10:11 AM .X 1135 4 2888 1136 4 2888 2155 4 2888 2406 4 2888 493 4 2888 2710 4 2888 2710 4 2888 2715 4 2888 2716 4 2888 2717 4 2888 2718 4 2888 2765 4 2888 2765 4 2888 2817 4 2888 2888 4 2888 2888 4 2888 2901 4 2888 2906 4 2888 2957 4 2888 2959 4 2888 2965 4 2888 3087 4 2888 3154 4 2888 729 4 2888 2046 5 2888 2888 5 2888 2888 5 2888 2888 5 2888 616 5 2888 .I 2889 .T Performance of Height-Balanced Trees .W This paper presents the results of simulations that investigate the performance of height-balanced (HB[k]) trees. It is shown that the only statistic of HB[1] trees (AVL trees) that is a function of the size of the tree is the time to search for an item in the tree. For sufficiently large trees, the execution times of all procedures for maintaining HB[1] trees are independent of the size of the tree. In particular, an average of .465 restructures are required per insertion, with an average of 2.78 nodes revisited to restore the HB[1] property; an average of .214 restructures are required per deletion, with an average of 1.91 nodes revisited to restore the HB[1] property. Moreover,the execution times of procedures for maintaining HB[k] trees, for k>1, are also independent of the size of the tree except for the average number of nodes revisited on a delete operation in order to restore the HB[k] property on trace back. The cost of maintaining HB[k] trees drops sharply as the allowable imbalance (k) increases. Both analytical and experimental results that show the cost of maintaining HB[k] trees as a function of k are discussed. .B CACM January, 1976 .A Karlton, P. L. Fuller, S. H. Scroggs, R. E. Kaehler, E. B. .K HB[k] trees, balanced trees, AVL trees, information storage and retrieval, searching .C 3.7 3.72 3.74 4.49 5.39 .N CA760104 JB January 5, 1978 10:27 AM .X 2411 4 2889 2455 4 2889 2493 4 2889 2709 4 2889 2889 4 2889 2889 4 2889 2889 4 2889 2937 4 2889 2968 4 2889 2968 4 2889 2989 4 2889 3005 4 2889 3025 4 2889 3042 4 2889 3101 4 2889 2138 5 2889 2388 5 2889 2455 5 2889 2839 5 2889 2889 5 2889 2889 5 2889 2889 5 2889 3042 5 2889 3096 5 2889 3163 5 2889 2455 6 2889 2839 6 2889 2839 6 2889 2839 6 2889 2889 6 2889 2889 6 2889 2889 6 2889 2889 6 2889 2968 6 2889 3009 6 2889 3009 6 2889 3065 6 2889 3096 6 2889 .I 2890 .T On Quadratic Adaptive Routing Algorithms .W Two analytic models of a store-and-forward communications network are constructed, one to find the optimal message routing and the other to illustrate the equilibrium (stationary state) maintained by an adaptive routing algorithm. These models show that adaptive routing does not satisfy the necessary conditions for an optimal routing, Adaptive routing tends to overuse the direct path and underuse alternate routes because it does not consider the impact of its current routing decision on the future state of the network. The form of the optimality conditions suggests that a modification of the adaptive algorithm will result in optimality. The modification requires the substitution of a quadratic bias term instead of a linear one in the routing table maintained at each network node. Simulation results are presented which confirm the theoretical analysis for a simple network. .B CACM January, 1976 .A Agnew, C. E. .K routing algorithms, adaptive routing, quadratic routing, alternate routing, store-and-forward network, distributed network, computer network, message switching .C 3.81 8.0 8.1 8.3 .N CA760103 JB January 5, 1978 10:37 AM .X 2890 5 2890 2890 5 2890 2890 5 2890 .I 2891 .T An Anomaly in Disk Scheduling: A Comparison of FCFS and SSTF Seek Scheduling Using an Empirical Model for Disk Accesses .W A model for disk accesses based on published measurements is developed. The model is used to show that under highly probable conditions, FCFS seek scheduling is superior to SSTF scheduling in the sense of having a lower mean queue length. A simple example of an arrival sequence illustration this anomaly is presented. .B CACM January, 1976 .A Wilhelm, N. C. .K disks, disk scheduling, seek scheduling .C 3.72 4.35 4.41 4.6 6.35 .N CA760102 JB January 5, 1978 10:42 AM .X 2628 4 2891 2891 4 2891 2891 4 2891 3072 4 2891 2375 5 2891 2628 5 2891 2891 5 2891 2891 5 2891 2891 5 2891 3153 5 2891 2741 6 2891 2891 6 2891 .I 2892 .T A Study of Line Overhead in the Arpanet .W The form, extent, and effect of the communication line overhead in the ARPANET are considered. The source of this over head is separated into various levels of protocol hierarchy and the characteristics of each level are summarized. Then the line efficiency for various models of system use is studied. Some measurements of line efficiency for the ARPANET are presented and by extrapolation these measurements are used to anticipate overhead in a heavily loaded network. Similar results are derived for a recently proposed network protocol and compared with those for the current system. .B CACM January, 1976 .A Kleinrock, L. Naylor, W. E. Opderbeck, H. .K ARPANET, computer communication networks, interprocess communication, measurement, packet switching, performance evaluation and efficiency, resource sharing .C 3.81 4.39 4.6 4.9 .N CA760101 JB January 5, 1978 10:49 AM .X 2892 5 2892 2892 5 2892 2892 5 2892 .I 2893 .T Computers as an Innovation in American Local Governments .W Computers and electronic data processing are a major technological innovation in the operations of American local government. This paper establishes that there is substantial variation among the larger local governments in the rate at which they adopt computer technology, in the level of financial support they provide for EDP, and in the extensiveness and sophistication of their automated applications. The central question addressed is: What might explain the differences between governments in the extent to which they adopt and use computers? Hypotheses are tested for several streams of explanatory factors, using data from more than 500 city and county governments. The findings identify certain local government milieus which are particularly conducive to higher levels of computer innovation. Somewhat unexpected findings reveal the significant impact of the distribution of control over EDP decisions and the dominant political values within the government. Other important factors include the measured need for computer applications and the presence of external funding support for computing. Finally, the paper suggests a framework for identifying the key determinants of other technological innovations. .B CACM December, 1977 .A Danziger, J. N. Dutton, W. H. .K innovation, technological innovation, computer utilization, computer adoption, American local government, city government computers, county government computers. .C 2.0 2.45 2.49 2.9 .N CA771207 JB December 22, 1977 12:17 PM .X 2893 5 2893 2893 5 2893 2893 5 2893 .I 2894 .T A Methodology for Interactive Computer Service Measurement .W A measurement methodology applicable to in teractive computer service is described. Its primary purpose is to enable external, user-oriented assessment of computer performance, instead of the more frequently used in ternal system measurement techniques. The NBS Network Measurement System is employed as the external measurement tool. Example data have been collected and analyzed. A demonstration of the methodology, leading to a pragmatic figure-of-merit evaluation of results, is included. .B CACM December, 1977 .A Adrams, M. D. .K in teractive system, computer service, measurement, performance, external measurement, methodology, measurement model,network measurement system, measures, figure-of-merit. .C 2.4 4.6 6.2 .N CA771206 JB December 22, 1977 12:32 PM .X 2193 4 2894 2319 4 2894 2373 4 2894 2894 4 2894 2894 4 2894 1951 5 2894 2016 5 2894 2894 5 2894 2894 5 2894 2894 5 2894 .I 2895 .T A Language for Formal Problem Specification .W A language for specifying the in tended behavior of communicating parallel processes is described. The specifications are constrain ts on the order in which events of a computation can occur. The language is used to write specifications of the readers/writers problem and the writer priority of the second readers/writers problem. .B CACM December, 1977 .A Greif, I. .K formal specifications,program correctness, parallel processing, synchronization, readers/writers problem .C 4.22 4.32 5.24 .N CA771205 DMM December 22, 1977 12:44 PM .X 2320 4 2895 2597 4 2895 2777 4 2895 2851 4 2895 2895 4 2895 2895 4 2895 2912 4 2895 2946 4 2895 3128 4 2895 2150 5 2895 2618 5 2895 2895 5 2895 2895 5 2895 2895 5 2895 .I 2896 .T An Exercise in Proving Parallel Programs Correct .W A parallel program, Dijkstra's on-the-fly garbage collector, is proved correct using a proof method developed by Owicki. The fine degree of in terleaving in this program makes it especially difficult to understand, and complicates the proof greatly. Difficulties with proving such parallel programs correct are discussed. .B CACM December, 1977 .A Gries, D. .K garbage collection, multiprocessing, program correctness for multiprocessing tasks .C 4.32 4.34 4.35 4.39 5.24 .N CA771204 JB February 1, 1980 3:37 AM .X 2021 4 2896 2222 4 2896 2227 4 2896 2315 4 2896 2326 4 2896 2470 4 2896 2732 4 2896 2838 4 2896 2865 4 2896 2896 4 2896 2896 4 2896 2896 4 2896 2943 4 2896 2972 4 2896 3014 4 2896 3037 4 2896 3039 4 2896 3039 4 2896 3043 4 2896 3068 4 2896 3073 4 2896 3074 4 2896 3077 4 2896 3112 4 2896 3143 4 2896 1834 5 2896 2723 5 2896 2732 5 2896 2896 5 2896 2896 5 2896 2896 5 2896 3039 5 2896 2723 6 2896 2732 6 2896 2896 6 2896 .I 2897 .T A Case Study of a New Code Generation Technique for Compilers .W Recent developments in optimizing techniques have allowed a new design for compilers to emerge. Such a compiler translates the parsed source code into lower level code by a sequence of steps. Each step expands higher level statements into blocks of lower level code and then performs optimizations on the result. Each statement has only one possible expansion-the task of tailoring this code to take advantage of any special cases is done by the optimizations. This paper provides evidence that this strategy can indeed result in good object code. The traditionally difficult PL/I concatenate statement was investigated as a detailed example. A set of fairly simple optimizations was identified which allow the compiler to produce good code. More elaborate optimizations can further improve the object code. For most contexts of the concatenate statement, the code produced by a compiler using the expansion-optimization strategy described above compares favorably with the code produced by a conventional PL/I optimizing compiler. .B CACM December, 1977 .A Carter, J. L. .K compiler structure, optimizing compiler, code generation, PL/I compiler, concatenation, program optimization, optimization techniques, data flow analysis .C 4.12 4.13 4.22 .N CA771203 JB February 1, 1980 3:54 AM .X 2897 5 2897 2897 5 2897 2897 5 2897 .I 2898 .T A Conceptual Framework for a Nonprocedural Programming Language .W A sequential programming language forces the programmer to prescribe explicitly the order in which the operations in his program have to be executed, even if the order is not relevant to the solution of his problem. The requirement to indicate irrelevant sequencing can be removed if the language provides facilities for specifying a task in a nonprocedural manner. In general, a program specified in this way will allow concurrent evaluation. This paper describes a conceptual framework for a high level programming language providing both nonprocedural and sequential facilities. Within a program, nonprocedural and sequential program modules may be nested freely. .B CACM December, 1977 .A Kessels, J. L. W. .K parallel programming, descriptive programming, nonprocedural programming, definitional language, data flow programming, applicative programming .C 4.20 .N CA771202 JB February 1, 1980 4:05 AM .X 2865 4 2898 2866 4 2898 2898 4 2898 2898 4 2898 2972 4 2898 3043 4 2898 3128 4 2898 3144 4 2898 2597 5 2898 2898 5 2898 2898 5 2898 2898 5 2898 2946 5 2898 .I 2899 .T A Survey of Computer Science Offerings In Small Liberal Arts Colleges. .W Recent curricular development in computer science together with student in terest in pursuing topics in computer science beyond the usual programming courses have encouraged small liberal arts colleges to expand their offerings. This paper summarizes the results of a survey taken to determine the type of computer science programs being offered in these colleges. The results indicate that over half of these colleges either have no computer science program or offer only programming courses. .B CACM December, 1977 .A Lopez, A. A. Raymond, R. Tardiff, R. .K computer science, education, curricula, small colleges .C 1.5 .N CA771201 JB December 22, 1977 5:53 PM .X 1720 4 2899 1927 4 2899 2147 4 2899 2163 4 2899 2345 4 2899 2478 4 2899 2594 4 2899 2852 4 2899 2899 4 2899 2899 4 2899 3003 4 2899 3130 4 2899 1771 5 2899 2538 5 2899 2899 5 2899 2899 5 2899 2899 5 2899 .I 2900 .T Some Theorems to Aid in Solving the File Allocation Problem .W The file allocation problem-i.e. the problem of finding the optimal set of network sites at which to locate copies of a file-is known to be, in general, polynomial complete. Heuristics and other aids to finding optimal, or near-optimal, solutions are therefore much needed. In this paper we present three theorems which can be applied a priori to indicate that certain sites should (or should not) be included in an optimal allocation. .B CACM November, 1977 .A Grapa, E. Belford, G. G. .K File allocation, computer networks, distributed data management .C 4.33 .N CA771116 JB December 27, 1977 8:45 AM .X 2900 5 2900 2900 5 2900 2900 5 2900 .I 2901 .T An Encoding Method for Multifield Sorting and Indexing .W Sequences of character strings with an order relation imposed between sequences are considered. An encoding scheme is described which produces a single, order-preserving string from a sequence of strings. The original sequence can be recovered from the encoded string, and one sequence of strings precedes another if and only if the encoding of the first precedes the encoding of the second. The strings may be variable length, without a maximum length restriction, and no symbols need be reserved for control purposes. Hence any symbol may occur in any string. The scheme is useful for multifield sorting, multifield indexing, and other applications where ordering on more than one field is important. .B CACM November, 1977 .A Blasgen, M. W. Casey, R. G. Eswaran, K. P. .K Sorting multifield indexes, lexicographic order, searching, encoding .C 3.74 4.19 4.33 4.40 5.31 .N CA771115 JB December 27, 1977 5:55 AM .X 2140 4 2901 2155 4 2901 2406 4 2901 2452 4 2901 2710 4 2901 2710 4 2901 2715 4 2901 2716 4 2901 2716 4 2901 2717 4 2901 2718 4 2901 2765 4 2901 2765 4 2901 2817 4 2901 2888 4 2901 2901 4 2901 2901 4 2901 2901 4 2901 2957 4 2901 2959 4 2901 2965 4 2901 3087 4 2901 3134 4 2901 3154 4 2901 1976 5 2901 2046 5 2901 2715 5 2901 2901 5 2901 2901 5 2901 2901 5 2901 .I 2902 .T Dynamic Memory Allocation in Computer Simulation .W This paper investigates the performance of 35 dynamic memory allocation algorithms when used to service simulation programs as represented by 18 test cases. Algorithm performance was measured in terms of processing time, memory usage, and external memory fragmentation. Algorithms main taining separate free space lists for each size of memory block used tended to perform quite well compared with other algorithms. Simple algorithms operating on memory ordered lists (without any free list) performed surprisingly well. Algorithms employing power-of-two block sizes had favorable processing requirements but generally unfavorable memory usage. Algorithms employing LIFO, FIFO, or memory ordered free lists generally performed poorly compared with others. .B CACM November, 1977 .A Nielsen, N. R. .K algorithm performance,dynamic memory allocation, dynamic memory management, dynamic storage allocation, garbage collection, list processing, memory allocation, memory management, programming techniques, simulation, simulation memory management, simulation techniques, space allocation, storage allocation .C 3.74 4.49 5.25 8.1 .N CA771114 JB December 27, 1977 6:09 AM .X 1211 4 2902 1211 4 2902 1389 4 2902 1549 4 2902 1552 4 2902 1906 4 2902 2095 4 2902 2162 4 2902 2218 4 2902 2435 4 2902 2498 4 2902 2596 4 2902 2596 4 2902 2596 4 2902 2704 4 2902 2734 4 2902 2747 4 2902 2768 4 2902 2768 4 2902 2773 4 2902 2845 4 2902 2845 4 2902 2845 4 2902 2845 4 2902 2902 4 2902 2902 4 2902 2902 4 2902 2902 4 2902 2902 4 2902 2902 4 2902 2902 4 2902 2902 4 2902 2902 4 2902 2902 4 2902 2902 4 2902 2911 4 2902 2911 4 2902 2911 4 2902 2955 4 2902 2955 4 2902 2955 4 2902 2955 4 2902 2983 4 2902 3000 4 2902 1051 5 2902 1062 5 2902 1184 5 2902 1211 5 2902 1552 5 2902 1879 5 2902 2435 5 2902 2596 5 2902 2734 5 2902 2747 5 2902 2768 5 2902 2902 5 2902 2902 5 2902 2902 5 2902 .I 2903 .T Improving Programs by the Introduction of Recursion .W A new technique of program transformation, called "recursion in troduction," is described and applied to two algorithms which solve pattern matching problems. By using recursion in troduction, algorithms which manipulate a stack are first translated into recursive algorithms in which no stack operations occur. These algorithms are then subjected to a second transformation, a method of recursion elimination called "tabulation," to produce programs with a very efficient running time. In particular, it is shown how the fast linear pattern matching algorithm of Knuth, Morris, and Pratt can be derived in a few steps from a simple nonlinear stack algorithm. .B CACM November, 1977 .A Bird, R. S. .K program transformation, optimization of programs, recursion elimination, pattern matching algorithms, stacks, computational induction .C 4.0 4.2 5.20 5.24 5.25 .N CA771113 JB December 27, 1977 6:29 AM .X 2326 4 2903 2457 4 2903 2842 4 2903 2903 4 2903 2192 5 2903 2903 5 2903 2903 5 2903 2903 5 2903 .I 2904 .T An Algorithm for Reduction of Operator Strength .W A simple algorithm which uses an indexed temporary table to perform reduction of operator strength in strongly connected regions is presented. Several extensions, including linear function test replacement, are discussed. These algorithms should fit well into an integrated package of local optimization algorithms. .B CACM November, 1977 .A Cocke, J. .K compilers, optimization of compiled code, program analysis, operator strength reduction, test replacement, strongly connected region .C 4.12 5.24 5.32 .N CA771112 JB December 27, 1977 6:34 AM .X 2904 5 2904 2904 5 2904 2904 5 2904 .I 2905 .T Perfect Hashing Functions: A Single Probe Retrieving Method for Static Sets .W A refinement of hashing which allows retrieval of an item in a static table with a single probe is considered. Given a set I of identifiers, two methods are presented for building, in a mechanical way, perfect hashing functions, i.e. functions transforming the elements of I into unique addresses. The first method, the "quotient reduction" method, is shown to be complete in the sense that for every set I the smallest table in which the elements of I can be stored and from which they can be retrieved by using a perfect hashing function constructed by this method can be found. However, for nonuniformly distributed sets, this method can give rather sparse tables. The second method, the "remainder reduction" method, is not complete in the above sense, but it seems to give minimal (or almost minimal) tables for every kind of set. The two techniques are applicable directly to small sets. Some methods to extend these results to larger sets are also presented. A rough comparison with ordinary hashing is given which shows that this method can be used conveniently in several practical applications. .B CACM November, 1977 .A Sprugnoli, R. .K hashing, hashing methods, hash coding, direct addressing, identifier-to-address transformations, perfect hashing functions, perfect hash coding, reduction, scatter storage .C 3.7 3.74 4.34 .N CA771111 JB December 27, 1977 6:45 AM .X 2905 4 2905 2905 5 2905 2905 5 2905 2905 5 2905 3041 5 2905 3126 5 2905 3176 5 2905 829 5 2905 2846 6 2905 2905 6 2905 2905 6 2905 2905 6 2905 .I 2906 .T A Very High Level Programming Language for Data Processing Applications .W Application development today is too labor-in tensive. In recent years, very high-level languages have been increasingly explored as a solution to this problem. The Business Definition Language (BDL) is such a language, one aimed at business data processing problems. The concepts in BDL mimic those which have evolved through the years in businesses using manual methods. This results in three different sublanguages or components: one for defining the business forms, one for describing the business organization, and one for writing calculations. .B CACM November, 1977 .A Hammer, M. owe, W. G. Kruskal, V. J. Wladawsky, I. .K very high level language, nonprocedural language, data flow language, business application, business data processing, structured programming, modular programming, format specification, and design methodology .C 3.50 4.22 4.32 .N CA771110 JB December 27, 1977 7:06 AM .X 1135 4 2906 1136 4 2906 493 4 2906 2710 4 2906 2765 4 2906 2888 4 2906 2906 4 2906 729 4 2906 2906 5 2906 2906 5 2906 2906 5 2906 616 5 2906 .I 2907 .T The Optimal Approach to Recursive Programs .W The classical fixed poin t approach toward recursive programs suggests choosing the "least defined fixed poin t" as the most appropriate solution to a recursive program. A new approach is described which in troduction an " optimal fixed point," which, in contrast to the least defined fixed poin t, embodies the maximal amount of valuable information embedded in the program. The practical implications of this approach are discussed and techniques for proving properties of optimal fixed poin t are given. The presentation is informal, with emphasis on examples. .B CACM November, 1977 .A Manna, Z. Shamir, A. .K recursive programs, fixed poin ts, least fixedpoints, optimal fixed poin ts, proof techniques .C 5.24 .N CA771109 JB December 27, 1977 7:13 AM .X 2907 5 2907 2907 5 2907 2907 5 2907 .I 2908 .T A Note On Reflection-Free Permutation Enumeration .B CACM November, 1977 .A Roy, M. K. .K permutations, reflection-free generation .C 5.30 .N CA771108 JB December 27, 1977 7:17 AM .X 2044 4 2908 2189 4 2908 2417 4 2908 2505 4 2908 2874 4 2908 2908 4 2908 2908 4 2908 2908 4 2908 3115 4 2908 2505 5 2908 2884 5 2908 2908 5 2908 2908 5 2908 2908 5 2908 521 5 2908 .I 2909 .T What Can We Do about the Unnecessary Diversity of Notation for Syntactic Definitions? .B CACM November, 1977 .A Wirth, N. .K syntactic description language, extended BNF .C 4.20 .N CA771107 JB December 27, 1977 7:20 AM .X 2909 5 2909 2909 5 2909 2909 5 2909 .I 2910 .T Equivalence of Hough Curve Detection to Template Matching .B CACM November, 1977 .A Stockman, G. C. .K picture processing, pattern recognition, curve detection, Hough transformation, template matching .C 3.63 6.9 .N CA771106 JB December 27, 1977 7:23 AM .X 2788 4 2910 2910 4 2910 2910 4 2910 2400 5 2910 2788 5 2910 2910 5 2910 2910 5 2910 2910 5 2910 .I 2911 .T Anomalous Behavior of the Fifty-Percent Rule in Dynamic Memory Allocation .W This paper reports simulation data showing that, in dynamic memory allocation, the average free-to-allocated-block ratio can differ considerably and in both directions from the predictions of the 50 percent rule. A new derivation is given, and it is shown that previous derivations make an assumption that may be violated frequently. On the basis of the simulation data and the derivation, it is hypothesized that the anomalous behavior results from the combined effects of systematic placement and the statistics of the release process. Additional simulations support this hypothesis. Systematic placement, which refers to the natural convention of always allocating storage requests against the same end of the free block selected by the allocation strategy, tends to order blocks within contiguous groups according to their allocation time. The degree of anomalous behavior depends on the extent to which allocated blocks are released in the order of their allocation. For non-Markovian release processes, the extent of the correlation between allocation order and release order varies approximately inversely with the coefficient of variation of the memory residence time distribution. The simulations show that allocation efficiency depends strongly on the residence time distribution; efficiency decreases as the distribution's coefficient of variation increases. Some practical implications are briefly discussed. .B CACM November, 1977 .A Shore, J. E. .K dynamic memory allocation, storage fragmentation, fifty-percent rule, first-fit, simulation .C 3.73 4.32 4.34 4.35 .N CA771105 JB December 27, 1977 7:37 AM .X 2095 4 2911 2218 4 2911 2498 4 2911 2596 4 2911 2596 4 2911 2734 4 2911 2747 4 2911 2768 4 2911 2845 4 2911 2902 4 2911 2902 4 2911 2902 4 2911 2911 4 2911 2911 4 2911 2911 4 2911 2911 4 2911 2911 4 2911 2911 4 2911 2911 4 2911 2955 4 2911 2955 4 2911 2983 4 2911 3000 4 2911 972 4 2911 273 5 2911 1879 5 2911 2435 5 2911 2498 5 2911 2734 5 2911 2773 5 2911 2911 5 2911 2911 5 2911 2911 5 2911 2983 5 2911 .I 2912 .T Concurrent Reading and Writing .W The problem of sharing data among asynchronous process is considered. It is assumed that only one process at a time can modify the data, but concurrent reading and writing is permitted. Two general theorems are proved, and some algorithms are presented to illustrate their use. These include a solution to the general problem in which a read is repeated if it might have obtained an incorrect result, and two techniques for transmitting messages between processes. These solutions do not assume any synchronizing mechanism other than data which can be written by one process and read by other processes. .B CACM November, 1977 .A Lamport, L. .K asynchronous multiprocessing, multiprocess synchronization, readers/writers problem, shared data .C 4.32 5.24 .N CA771104 JB December 27, 1977 7:47 AM .X 2320 4 2912 2597 4 2912 2777 4 2912 2851 4 2912 2895 4 2912 2912 4 2912 2946 4 2912 3128 4 2912 2150 5 2912 2912 5 2912 2912 5 2912 2912 5 2912 3128 5 2912 2150 6 2912 2376 6 2912 2436 6 2912 2597 6 2912 2865 6 2912 2866 6 2912 2870 6 2912 2912 6 2912 3082 6 2912 .I 2913 .T The Aliasing Problem in Computer-Generated Shaded Images .W Certain defects, such as jagged edges and disappearing detail, have long been an annoyance in digitally generated shaded images. Although increasing the resolution or defocusing the display can attenuate them, an understanding of these defects leads to more effective methods. This paper explains the observed defects in terms of the aliasing phenomenon inherent in sampled signals and discusses prefiltering as a recognized cure. A method for evaluating filters is presented, the application of prefiltering to hidden-surface algorithms is discussed, and an implementation of a filtering tiler is shown accompanied by examples of its effectiveness. .B CACM November, 1977 .A Crow, F. C. .K aliasing, computer graphics, convolutional filtering, hidden-surface removal, sampling .C 8.2 .N CA771103 JB December 27, 1977 7:56 AM .X 2816 4 2913 2828 4 2913 2827 4 2913 2913 4 2913 3047 4 2913 2751 5 2913 2913 5 2913 2913 5 2913 2913 5 2913 .I 2914 .T Use of the LRU Stack Depth Distribution for Simulation of Paging Behavior .W Two families of probability distributions were needed for use by a virtual memory simulation model: headway between page fault distributions, and working set size distributions. All members of both families can be derived from the LRU stack depth distribution. Simple expressions for the computation of both kinds of distributions are given. Finally, examples are given of both families of distributions as computed from a published stack depth distribution. .B CACM November, 1977 .A Turner, R. Strecker, B. .K virtual memory, paging, LRU stack, working set, headway between page faults, computer system simulation .C 4.35 4.6 8.1 .N CA771102 JB December 27, 1977 8:04 AM .X 2914 5 2914 2914 5 2914 2914 5 2914 .I 2915 .T Considerations for Future Programming Language Standards Activities .W This paper reviews the current state of programming language standards activities with respect to the anomalies which exist between the various published and proposed standards for Fortran, Cobol, PL/I, and Basic. Proposals are made for the inclusion of formalisms within future standards and the extension of the standards to include additional items such as error conditions and documentation. .B CACM November, 1977 .A Lee, J. A. N. .K programming languages, standards, formalisms, formal descriptions, Fortran, Cobol, PL/I, Basic, Vienna Definition Language (VDL) .C 2.4 4.2 4.29 4.6 5.23 .N CA771101 JB December 27, 1977 8:10 AM .X 2154 4 2915 2299 4 2915 2501 4 2915 2629 4 2915 2915 4 2915 2915 4 2915 3060 4 2915 3114 4 2915 1502 5 2915 1900 5 2915 2915 5 2915 2915 5 2915 2915 5 2915 .I 2916 .T A Fast String Searching Algorithm .W An algorithm is presented that searches for the location, "i," of the first occurrence of a character string, "pat," in another string, "string." During the search operation, the characters of pat are matched starting with the last character of pat. The information gained by starting the match at the end of the pattern often allows the algorithm to proceed in large jumps through the text being searched. Thus the algorithm has the unusual property that, in most cases, not all of the first i characters of string are inspected. The number of characters actually inspected (on the average) decreases as a function of the length of pat. For a random English pattern of length 5, the algorithm will typically inspect i/4 characters of string before finding a match at i. Furthermore, the algorithm has been implemented so that (on the average) fewer than i+patlen machine instructions are executed. These conclusions are supported with empirical evidence and a theoretical analysis of the average behavior of the algorithm. The worst case behavior of the algorithm is linear in i+patlen, assuming the availability of array space for tables linear in patlen plus the size of the alphabet. .B CACM October, 1977 .A Boyer, R. S. .K bibliographic search, computational complexity, information retrieval, linear time bound, pattern matching, text editing .C 3.74 4.40 5.25 .N CA771010 JB December 27, 1977 9:43 AM .X 2916 4 2916 2746 5 2916 2916 5 2916 2916 5 2916 2916 5 2916 3162 5 2916 2916 6 2916 .I 2917 .T SITAR: An Interactive Text Processing System for Small Computers (Corrigendum) .B CACM October, 1977 .A Schneider, B. R. Jr. Watts, R. M. .N CA771009 JB December 28, 1977 5:58 AM .X 2917 5 2917 2917 5 2917 2917 5 2917 .I 2918 .T Multiprocessor Memory Organization and Memory Interference .W The structure of shared memory in a multiprocessor computer system is examined with particular attention to nonin terleaved memory. Alternative memory organizations are compared and it is shown that a home memory organization, in which each processor is associated with one or more memories in which its address space is concentrated, is quite effective in reducing memory in terference. Home memory organization is shown to be particularly suited to certain specialized computation problems as well as to possess advantages in terms of in terference and reliability for general purpose computation. Results for in terleaved memory are drawn from previous work and are used for comparison. Trace-driven simulations are used to verify the conclusions of the analysis. .B CACM October, 1977 .A Smith, A. J. .K memory in terference, interleaving, multiprocessing, trace-driven simulation, queueing theory, shared memory .C 4.30 4.32 6.34 .N CA771008 JB December 27, 1977 10:28 AM .X 2918 4 2918 3119 4 2918 2859 5 2918 2918 5 2918 2918 5 2918 2918 5 2918 .I 2919 .T The Programmer's Workbench-A Machine for Software Development .W On almost all software development projects the assumption is made that the program development function will be done on the same machine on which the eventual system will run. It is only when this production machine is unavailable or when its programming environment is totally inadequate that alternatives are considered. In this paper it is suggested that there are many other situations where it would be advantageous to separate the program development and main tenance function onto a specialized computer which is dedicated to that purpose. Such a computer is here called a Programmer's Workbench. The four basic sections of the paper in troduce the subject,outline the general concept, discuss areas where such an approach may prove beneficial, and describe an operational system utilizing this concept. .B CACM October, 1977 .A Ivie, E. L. .K computer configurations, computer networks, software development, software engineering, software main tenance, UNIX .C 3.2 3.5 3.7 3.8 4.0 .N CA771007 JB December 27, 1977 10:37 AM .X 2626 4 2919 2786 4 2919 2840 4 2919 2919 4 2919 2919 4 2919 2919 4 2919 3017 4 2919 3110 4 2919 3174 4 2919 2536 5 2919 2593 5 2919 2629 5 2919 2919 5 2919 2919 5 2919 2919 5 2919 .I 2920 .T Game Interpretation of the Deadlock Avoidance Problem .W The deadlock avoidance problem may be defined informally as the determination, from some a priori information about the processes, resources, operating system, etc., of the "safe situations" which may be realized without endangering the smooth running of the system. When each process specifies its future needs by a flowchart of need-defined steps, a global approach to the phenomenon and its in terpretation as a game between the operating system and the processes allows formalization of risk and safety concepts. The bipartite graph representation of this game may then be used to construct explicitly the set of safe states and to study their properties. .B CACM October, 1977 .A Devillers, R. .K operating system, multiprogramming, time-sharing, resource allocation, deadlock, in terlock, deadly embrace, deadlock avoidance, flowchart .C 4.30 4.32 .N CA771006 JB December 27, 1977 10:50 AM .X 2228 4 2920 2280 4 2920 2379 4 2920 2482 4 2920 2740 4 2920 2851 4 2920 2920 4 2920 1877 5 2920 2920 5 2920 2920 5 2920 2920 5 2920 .I 2921 .T Regular Right Part Grammars and Their Parsers .W This paper in troduces an alternative to context-free grammars called regular right part (RRP) grammars, which resemble PASCAL syntax diagrams. Formally, RRP grammars have production right parts, which are nondeterministic finite state machines (FSMs), and, as a special case, regular expressions, since these can be converted to FSMs. RRP grammars describe the syntax of programming languages more concisely and more understandably than is possible with CF grammars. Also in troduced is a class of parsers, RRP LR(m, k) parsers, which includes the CF LR(k) parsers and provides the same advantages. Informally, an RRP LR(m, k) parser can determine the right end of each handle by considering at most k symbols to the right of the handle and the left end, after the right end has been found, by considering at most m symbols to the left of the handle. A mechanism for determining the left end is required because there is no bound on the length of the handle. .B CACM October, 1977 .A LaLonde, W. R. .K finite state machines (automata), regular expressions, syntax diagrams,LR(k) grammars, parser construction, parsing, programming languages, language generation, formal definition, compilers, translators, scanners .C 4.2 5.21 5.23 .N CA771005 JB December 27, 1977 11:01 AM .X 1989 4 2921 2060 4 2921 2179 4 2921 2581 4 2921 2698 4 2921 2739 4 2921 2795 4 2921 2921 4 2921 2921 4 2921 3087 4 2921 3154 4 2921 1989 5 2921 2110 5 2921 2921 5 2921 2921 5 2921 2921 5 2921 .I 2922 .T Two-Level Control Structure for Nondeterministic Programming .W The basic ideas of nondeterministic programming are critically reconsidered to single out a proper attitude and programming style for language allowing direct control of nondeterministic features. The proposed attitude aims at retaining the purity of the nondeterministic formulation of search processes on one level (the attempt level), deferring the coordination of problem solving efforts to another (the choice level). The feasibility of recognizing these two levels is discussed, stressing that the structure to be managed at the choice level is a free of contexts. The leaves are computational environments, each holding an alternative under inspection, while the other nodes are associated with choice poin ts. According to the proposed programming style, a generative function is associated with each choice poin t, which expresses the desired choice strategy. The main advantage on this approach is the localization of the search strategies: Each nonterminal node of the tree keeps track of the state of the computation as it was when the choice poin t was last interrogated, holding at the same time the strategy to coordinate the available alternatives. Examples are given in term of ND-Lisp, an extension of Lisp designed and implemented according to these guidelines. .B CACM October, 1977 .A Montangero, C. Pacini, G. Turini, F. .K nondeterministic programming, artificial in telligence, control structures, backtracking, search strategy planning, context tree .C 3.64 4.22 .N CA771004 JB December 27, 1977 11:30 AM .X 2625 4 2922 2922 4 2922 3081 4 2922 3101 4 2922 3112 4 2922 2438 5 2922 2922 5 2922 2922 5 2922 2922 5 2922 .I 2923 .T High-Level Data Flow Analysis .W In contrast to the predominant use of low-level in termediate text, high-level data flow analysis deals with programs essentially at source level and exploits the control flow information implicit in the parse tree. The need for high-level flow analysis arises from several aspects of recent work on advanced methods of program certification and optimization. This paper proposes a simple general method of high-level data flow analysis that allows free use of escape and jump statements, avoids large graphs when compiling large programs, facilitates updating of data flow information to reflect program changes, and derives new global information helpful in solving many familiar global flow analysis problems. An illustrative application to live variable analysis is presented. Many of the graphs involved are constructed and analyzed before any programs are compiled, thus avoiding certain costs that low-level methods incur repeatedly at compile time. .B CACM October, 1977 .A Rosen, B. K. .K data flow analysis, high-level language, control flow graph, structured programming, escapes, exits, jumps, goto statements .C 5.24 4.12 4.22 .N CA771003 JB December 27, 1977 11:41 AM .X 1807 4 2923 2034 4 2923 2290 4 2923 2579 4 2923 2579 4 2923 2923 4 2923 2923 4 2923 2945 4 2923 1807 5 2923 1947 5 2923 2923 5 2923 2923 5 2923 2923 5 2923 .I 2924 .T An Interactive Computer Graphics Approach to Surface Representation .W An in teractive computer graphics method has been developed for the rapid generation of arbitrary shaped three-dimensional surfaces. The method is a synthesis of spline theory and algorithms, an in teractive means for man-machine communication, and software for static or dynamic graphics display. The basic technique employed is a modified lofting method on which sectional curves are represented by uniform B-splines and the surface is in terpolated between sections by Cardinal splines. Among the features of this method are algorithms which enable in teractive modification of the B-spline representation of the sectional curves. At all stages of the process, the spatial information is graphically displayed to the user. Complex surfaces can be created by the combination of a number of shapes that have been separately generated and automatically joined. The system has been successfully in terfaced to a variety of analytical routines for structural, medical and graphical applications. .B CACM October, 1977 .A Wu, Sheng-Chuan Abel, J. F. Greenberg, D. P. .K computer graphics, three-dimensional surface representation, splines, lofting,finite element input methods .C 3.20 3.23 3.34 8.1 8.2 .N CA771002 JB December 27, 1977 11:53 AM .X 2924 5 2924 2924 5 2924 2924 5 2924 .I 2925 .T Optimal Surface Reconstruction from Planar Contours .W In many scientific and technical endeavors, a three-dimensional solid must be reconstructed from serial sections, either to aid in the comprehension of the object's structure or to facilitate its automatic manipulation and analysis. This paper presents a general solution to the problem of constructing a surface over a set of cross-sectional contours. This surface, to be composed of triangular tiles, is constructed by separately determining an optimal surface between each pair of consecutive contours. Determining such a surface is reduced to the problem of finding certain minimum cost cycles in a directed toroidal graph. A new fast algorithm for finding such cycles is utilized. Also developed is a closed-form expression, in term of the number of contour poin ts, for an upper bound on the number of operations required to execute the algorithm. An illustrated example which involves the construction of a minimum area surface describing a human head is included. .B CACM October, 1977 .A Fuchs, H. Kedem,Z. M. Uselton, S. P. .K surface reconstruction, contour data, serial sections, three-dimensional computer graphics, minimum cost paths, continuous tone displays .C 5.25 5.32 8.2 .N CA771001 JB December 27, 1977 12:40 PM .X 2925 5 2925 2925 5 2925 2925 5 2925 .I 2926 .T Pagination of B*-Trees with Variable-Length Records .W A strategy is presented for pagination of B*-trees with variable-length records. If records of each length are uniformly distributed within the file, and if a wide distribution of record lengths exists within the file, then this strategy results in shallow trees with fast access times. The performance of this strategy in an application is presented, compared with that of another strategy, and analyzed. .B CACM September, 1977 .A McCreight, E. M. .K B-tree, index, database, tree storage structure, searching .C 3.73 4.33 4.34 .N CA770908 JB December 27, 1977 12:46 PM .X 2926 5 2926 2926 5 2926 2926 5 2926 .I 2927 .T Some New Upper Bounds on the Generation of Prime Numbers .W Given an integer N, what is the computational complexity of finding all the primes less than N? A modified sieve of Eratosthenes using doubly linked lists yields an algorithm of O(N) arithmetic complexity. This upper bound is shown to be equivalent to the theoretical lower bound for sieve methods without preprocessing. Use of preprocessing techniques involving space-time and additive-multiplicative tradeoffs reduces this upper bound to O(N/log logN) and the bit complexity to O(N logN log log logN). A storage requirement is described using O(N logN/log logN) bits as well. .B CACM September, 1977 .A Mairson, H. G. .K computational complexity, sieve, prime number generation, number theory, linked list, preprocessing, balancing .C 5.25 5.39 .N CA770907 JB December 27, 1977 12:55 PM .X 1841 4 2927 1841 4 2927 1967 4 2927 2120 4 2927 2120 4 2927 2927 4 2927 2927 4 2927 2927 4 2927 2927 4 2927 2927 4 2927 1537 5 2927 1538 5 2927 1539 5 2927 1841 5 2927 1840 5 2927 2927 5 2927 2927 5 2927 2927 5 2927 3037 5 2927 2732 6 2927 2927 6 2927 .I 2928 .T Hardware Estimation of a Process' Primary Memory Requirements .W A minor hardware extension to the Honeywell 6180 processor is demonstrated to allow the primary memory requirements of a process in Multics to be approximated. The additional hardware required for this estimate to be computed consists of a program accessible register containing the miss rate of the associative memory used for page table words. This primary memory requirement estimate was employed in an experimental version of Multics to control the level of multiprogramming in the system and to bill for memory usage. The resulting system's tuning parameters display configuration insensitivity, and it is conjectured that the system would also track shifts in the referencing characteristics of its workload and keep the system in tune. .B CACM September, 1977 .A Giffor, D. K. .K primary memory requirement, virtual memory, level of multiprogramming, associative memory, working set, resource allocation, LRU stack model, referencing characteristics .C 4.32 4.35 4.6 6.36 .N CA770906 JB December 27, 1977 1:05 PM .X 1892 4 2928 1901 4 2928 2085 4 2928 2095 4 2928 2218 4 2928 2277 4 2928 2319 4 2928 2329 4 2928 2358 4 2928 2373 4 2928 2380 4 2928 2434 4 2928 2499 4 2928 2501 4 2928 2582 4 2928 2629 4 2928 2669 4 2928 2828 4 2928 2847 4 2928 2863 4 2928 2868 4 2928 2881 4 2928 2928 4 2928 2928 4 2928 2928 4 2928 2928 4 2928 2928 4 2928 2951 4 2928 2996 4 2928 3006 4 2928 3046 4 2928 3067 4 2928 3098 4 2928 3107 4 2928 3127 4 2928 1751 5 2928 2277 5 2928 2380 5 2928 2522 5 2928 2569 5 2928 2928 5 2928 2928 5 2928 2928 5 2928 .I 2929 .T An Analysis of Inline Substitution for a Structured Programming Language .W An optimization technique known as inline substitution is analyzed. The optimization consists of replacing a procedure invocation by a modified copy of the procedure body. The general problem of using inline substitution to minimize execution time subject to size constrain ts is formulated, and an approximate algorithmic solution is proposed. The algorithm depends on run-time statistics about the program to be optimized. Preliminary results for the CLU structured programming language indicate that, in programs with a low degree of recursion, over 90 percent of all procedure calls can be eliminated, with little increase in the size of compiled code and a small savings in execution time. Other conclusions based on these results are also presented. .B CACM September, 1977 .A Scheifler, R. W. .K inline substitution, open coding, open compilation, program optimization, compilers, structured programming languages, run-time statistics .C 4.12 .N CA770905 JB December 27, 1977 1:23 PM .X 1086 4 2929 1132 4 2929 1234 4 2929 1263 4 2929 1265 4 2929 1270 4 2929 1323 4 2929 1358 4 2929 1379 4 2929 1380 4 2929 1453 4 2929 1464 4 2929 1484 4 2929 1491 4 2929 1498 4 2929 1613 4 2929 1614 4 2929 1781 4 2929 1825 4 2929 1860 4 2929 2083 4 2929 2178 4 2929 2179 4 2929 2252 4 2929 2325 4 2929 2341 4 2929 2546 4 2929 2645 4 2929 2652 4 2929 2684 4 2929 2842 4 2929 2929 4 2929 2934 4 2929 3069 4 2929 669 4 2929 679 4 2929 691 4 2929 761 4 2929 949 4 2929 989 4 2929 2929 5 2929 2929 5 2929 2929 5 2929 3184 5 2929 .I 2930 .T The GRE Advanced Test in Computer Science .W This report describes the Advanced Test in Computer Science which was recently in troduced in the Graduate Record Examination Program. The GRE program is described in general, and, the events leading to the establishment of the Advanced Computer Science Test are discussed. Content specifications and their rationale are given. A set of sample questions is included. .B CACM September, 1977 .A Austing, R. H. .K education, computer science, graduate school admissions, test development examinations .C 1.5 .N CA770903 JB December 27, 1977 1:32 PM .X 2930 5 2930 2930 5 2930 2930 5 2930 .I 2931 .T Logic and Programming Languages .W Logic has been long in terested in whether answers to certain questions are computable in principle, since the outcome puts bounds on the possibilities of formalization. More recently, precise comparisons in the efficiency of decision methods have become available through the developments in complexity theory. These, however, are applications to logic, and a big question is whether methods of logic have significance in the other direction for the more applied parts of computability theory. Programming languages offer an obvious opportunity as their syntactic formalization is well advanced; however, the semantical theory can hardly be said to be complete. Though we have many examples, we have still to give wide-ranging mathematical answers to these queries: What is a machine? What is a computable process? How (or how well) does a machine simulate a process? Programs naturally enter in giving descriptions of processes. The definition of the precise meaning of a program then requires us to explain what are the objects of computation (in a way, the statics of the problem) and how they are to be transformed (the dynamics). So far the theories of automata and of nets, though most in teresting for dynamics, have formalized only a portion of the field, and there has been perhaps too much concentration on the finite-state and algebraic aspects. It would seem that the understanding of higher-level program features involves us with infinite objects and forces us to pass through several levels of explanation to go from the conceptual ideas to the final simulation on a real machine. These levels can be made mathematically exact if we can find the right abstractions to represent the necessary structures. The experience of many independent workers with the method of data types as lattices (or partial orderings) under an information content ordering, and with their continuous mappings, has demonstrated the flexibility of this approach in providing definitions and proofs, which are clean and without undue dependence on implementations. Nevertheless much remains to be done in showing how abstract conceptualizations can (or cannot) be actualized before we can say we have a unified theory. .B CACM September, 1977 .A Scott, D. S. .K logic, programming languages, automata, denotational semantics, a-calculus models, computability, partial functions, approximation, function spaces .C 1.2 4.20 5.21 5.24 5.27 .N CA770902 JB December 28, 1977 6:49 AM .X 2931 5 2931 2931 5 2931 2931 5 2931 .I 2932 .T Complexity of Computations .W The framework for research in the theory of complexity of computations is described, emphasizing the in terrelation between seemingly diverse problems and methods. Illustrative examples of practical and theoretical significance are given. Directions for new research are discussed. .B CACM September, 1977 .A Rabin, M. O. .K complexity of computations, algebraic complexity, in tractable problems, probabilistic algorithms .C 5.25 .N CA770901 JB December 28, 1977 6:54 AM .X 2932 5 2932 2932 5 2932 2932 5 2932 .I 2933 .T Another Advantage of Keyword Notation for Parameter Communication with Subprograms .B CACM August, 1977 .A Francez, N. .K Keyword notation, positional notation, parameters, transmission, subprograms, readability, call by value, call by reference, call by name, compile-time errors .C 4.2 4.20 4.22 .N CA770810 JB December 28, 1977 6:57 AM .X 2757 4 2933 2933 4 2933 2933 4 2933 2630 5 2933 2757 5 2933 2933 5 2933 2933 5 2933 2933 5 2933 .I 2934 .T Comment on Computing the k Shortest Paths in a Graph .B CACM August, 1977 .A Lawler, E. L. .K graph, network, shortest path, algorithm, ranking .C 5.32 .N CA770809 JB December 28, 1977 7:00 AM .X 1086 4 2934 1132 4 2934 1234 4 2934 1263 4 2934 1265 4 2934 1270 4 2934 1323 4 2934 1358 4 2934 1379 4 2934 1380 4 2934 1453 4 2934 1464 4 2934 1484 4 2934 1491 4 2934 1498 4 2934 1613 4 2934 1614 4 2934 1781 4 2934 1825 4 2934 1860 4 2934 2083 4 2934 2178 4 2934 2179 4 2934 2252 4 2934 2325 4 2934 2341 4 2934 2546 4 2934 2645 4 2934 2652 4 2934 2684 4 2934 2842 4 2934 2929 4 2934 2934 4 2934 3069 4 2934 669 4 2934 679 4 2934 691 4 2934 761 4 2934 949 4 2934 989 4 2934 2934 5 2934 2934 5 2934 2934 5 2934 3184 5 2934 .I 2935 .T Production and Employment of Ph.D.'s in Computer Science-1976 (Corrigendum) .B CACM August, 1977 .A Taulbee, O. E. Conte, S. D. .N CA770808 JB December 28, 1977 7:04 AM .X 2935 5 2935 2935 5 2935 2935 5 2935 .I 2936 .T An Efficient Data Structure for the Simulation Event Set .W Recently algorithms have been presented for the realization of event scheduling routines suitable for general purpose discrete event simulation systems. Several exhibited a performance superior to that of commonly used simple linked list algorithms. In this paper a new event scheduling algorithm is presented which improves on two aspects of the best of the previously published algorithms. First, the new algorithm's performance is quite insensitive to skewed distributions, and second, its worst-case complexity is O( n), where n is the number of events in the set. Furthermore, tests conducted to estimate the average complexity showed it to be nearly independent of n. .B CACM August, 1977 .A Franta, W. R. Maly, K. .K simulation, time flow mechanisms, event scanning mechanisms, multilinked lists .C 3.34 4.22 5.5 8.1 .N CA770807 JB December 28, 1977 7:15 AM .X 2844 4 2936 2844 4 2936 2936 4 2936 2936 4 2936 3051 4 2936 3064 4 2936 3064 4 2936 3109 4 2936 2742 5 2936 2767 5 2936 2936 5 2936 2936 5 2936 2936 5 2936 3064 5 2936 1846 6 2936 1939 6 2936 2742 6 2936 2767 6 2936 2936 6 2936 .I 2937 .T An Experimental Evaluation of Data Type Conventions .W The language in which programs are written can have a substantial effect on the reliability of the resulting programs. This paper discusses an experiment that compares the programming reliability of subjects using a statically typed language and a "typeless" language. Analysis of the number of errors and the number of runs containing errors shows that, at least in one environment, the use of a statically typed language can increase programming reliability. Detailed analysis of the errors made by the subjects in programming solutions to reasonably small problems shows that the subjects had difficulty manipulating the representation of data. .B CACM August, 1977 .A Gannon, J. D. .K data types, experimentation, language design, redundancy, reliable software .C 4.22 .N CA770806JB December 28, 1977 7:32 AM .X 2411 4 2937 2709 4 2937 2889 4 2937 2937 4 2937 2989 4 2937 3005 4 2937 3025 4 2937 3101 4 2937 2138 5 2937 2937 5 2937 2937 5 2937 2937 5 2937 .I 2938 .T Toward a Discipline of Real-Time Programming .W Programming is divided into three major categories with increasing complexity of reasoning in program validation: sequential programming, multiprogramming, and real-time programming. By adhering to a strict programming discipline and by using a suitable high-level language molded after this discipline, the complexity of reasoning about concurrency and execution time constrain ts may be drastically reduced. This may be the only practical way to make real-time systems analytically verifiable and ultimately reliable. A possible discipline is outlined and expressed in terms of the language Modula. .B CACM August, 1977 .A Wirth, N. .K multiprogramming, real-time programming, process synchronization, processor sharing, program validation, Modula .C 3.80 4.22 .N CA770805 JB December 28, 19777:39 AM .X 2938 4 2938 2946 4 2938 3128 4 2938 2866 5 2938 2938 5 2938 2938 5 2938 2938 5 2938 .I 2939 .T Abstraction Mechanisms in CLU .W CLU is a new programming language designed to support the use of abstractions in program construction. Work in programming methodology has led to the realization that three kinds of abstractions-procedural, control, and especially data abstractions-are useful in the programming process. Of these, only the procedural abstraction is supported well by conventional languages, through the procedure or subroutine. CLU provides, in addition to procedures, novel linguistic mechanisms that support the use of data and control abstractions. This paper provides an in troduction to the abstraction mechanisms in CLU. By means of programming examples, the utility of the three kinds of abstractions in program construction is illustrated, and it is shown how CLU programs may be written to use and implement abstractions. The CLU library, which permits incremental program development with complete type checking performed at compile time, is also discussed. .B CACM August, 1977 .A Liskov, B. Snyder, A. Atkinson, R. Schaffert, C. .K programming languages, data types, data abstractions, control abstractions, programming methodology, separate compilation .C 4.0 4.12 4.20 4.22 .N CA770804 JB December 28, 1977 7:49 AM .X 2319 4 2939 2480 4 2939 2594 4 2939 2709 4 2939 2868 4 2939 2939 4 2939 2939 4 2939 2941 4 2939 2972 4 2939 3155 4 2939 2204 5 2939 2558 5 2939 2939 5 2939 2939 5 2939 2939 5 2939 3031 5 2939 3105 5 2939 3148 5 2939 3150 5 2939 1471 6 2939 1860 6 2939 2060 6 2939 2625 6 2939 2632 6 2939 2704 6 2939 2817 6 2939 2842 6 2939 2865 6 2939 2868 6 2939 2939 6 2939 2939 6 2939 2939 6 2939 2939 6 2939 2940 6 2939 2941 6 2939 2943 6 2939 2958 6 2939 3068 6 2939 3073 6 2939 3073 6 2939 3148 6 2939 .I 2940 .T Abstraction and Verification in Alphard: Defining and Specifying Iteration and Generators .W The Alphard "form" provides the programmer with a great deal of control over the implementation of abstract data types. In this paper the abstraction techniques are extended from simple data representation and function definition to the iteration statement, the most important poin t of interaction between data and the control structure of the language itself. A means of specializing Alphard's loops to operate on abstract entities without explicit dependence on the representation of those entities is in troduced. Specification and verification techniques that allow the properties of the generators for such iterations to be expressed in the form of proof rules are developed. Results are obtained that for common special cases of these loops are essentially identical to the corresponding constructs in other languages. A means of showing that a generator will terminate is also provided. .B CACM August, 1977 .A Shaw, M. Wulf, W. A. .K abstraction and representation, abstract data types, assertions, control specialization, correctness, generators,invariants, iteration statements, modular decomposition, program specifications, programming languages, programming methodology, proofs of correctness, types, verification .C 4.20 5.24 .N CA770803 JB December 28, 1977 7:59 AM .X 2940 5 2940 2940 5 2940 2940 5 2940 3150 5 2940 2060 6 2940 2704 6 2940 2842 6 2940 2939 6 2940 2940 6 2940 2941 6 2940 2943 6 2940 3073 6 2940 3148 6 2940 .I 2941 .T Early Experience with Mesa .W The experiences of Mesa's first users-primarily its implementers-are discussed, and some implications for Mesa and similar programming languages are suggested. The specific topics addressed are: module structure and its use in defining abstractions, data-structuring facilities in Mesa, an equivalence algorithm for types and type coercions, the benefits of the type system and why it is breached occasionally, and the difficulty of making the treatment of variant records safe. .B CACM August, 1977 .A Geschke, C. M. Morris, J. H. Jr. Satterthwaite, E. H. .K programming languages, types, modules, data structures, systems programming .C 4.22 .N CA770802 JB December 28, 1977 8:07 AM .X 1458 4 2941 1523 4 2941 1603 4 2941 1698 4 2941 1747 4 2941 1748 4 2941 1854 4 2941 1877 4 2941 1960 4 2941 2377 4 2941 2378 4 2941 2497 4 2941 2558 4 2941 2625 4 2941 2632 4 2941 2704 4 2941 2723 4 2941 2738 4 2941 2840 4 2941 2866 4 2941 2868 4 2941 2869 4 2941 2939 4 2941 2941 4 2941 2941 4 2941 2941 4 2941 2941 4 2941 2956 4 2941 2958 4 2941 3004 4 2941 3030 4 2941 3030 4 2941 3105 4 2941 3144 4 2941 1471 5 2941 2356 5 2941 2558 5 2941 2651 5 2941 2941 5 2941 2941 5 2941 2941 5 2941 3150 5 2941 2060 6 2941 2704 6 2941 2842 6 2941 2939 6 2941 2940 6 2941 2941 6 2941 2943 6 2941 3073 6 2941 3148 6 2941 .I 2942 .T An Algol-Based Implementation of SNOBOL 4 Patterns .B CACM July, 1977 .A Brownlee, J. N. .K patterns SNOBOL 4, pattern matching, string processing, pattern implementation, algorithms in Pascal .C 4.29 .N CA770710 JB December 28, 1977 8:15 AM .X 2942 5 2942 2942 5 2942 2942 5 2942 .I 2943 .T Lucid, a Nonprocedural Language with Iteration .W Lucid is a formal system in which programs can be written and proofs of programs carried out. The proofs are particularly easy to follow and straightforward to produce because the statements in a Lucid program are simply axioms from which the proof proceeds by (almost) conventional logical reasoning, with the help of a few axioms and rules of inference for the special Lucid functions. As a programming language, Lucid is unconventional because, among other things, the order of statements is irrelevant and assignment statements are equations. Nevertheless, Lucid programs need not look much different than iterative programs in a conventional structured programming language using assignment and conditional statements and loops. .B CACM July, 1977 .A Ashcrof, E. A. Wadge, W. W. .K program proving, formal systems, semantics, iteration, structured programming .C 5.21 5.24 .N CA770709 JB December 28, 1977 8:30 AM .X 2021 4 2943 2222 4 2943 2227 4 2943 2315 4 2943 2326 4 2943 2470 4 2943 2732 4 2943 2865 4 2943 2896 4 2943 2943 4 2943 3014 4 2943 3068 4 2943 3077 4 2943 3143 4 2943 1834 5 2943 2943 5 2943 2943 5 2943 2943 5 2943 3150 5 2943 2060 6 2943 2704 6 2943 2842 6 2943 2939 6 2943 2940 6 2943 2941 6 2943 2943 6 2943 3073 6 2943 3148 6 2943 .I 2944 .T Shifting Garbage Collection Overhead to Compile Time .W This paper discusses techniques which enable automatic storage reclamation overhead to be partially shifted to compile time. The paper assumes a transaction oriented collection scheme, as proposed by Deutsch and Bobrow, the necessary features of which are summarized. Implementing the described optimizations requires global flow analysis to be performed on the source program. It is shown that at compile time certain program actions that affect the reference counts of cells can be deduced. This information is used to find actions that cancel when the code is executed and those that can be grouped to achieve improved efficiency. .B CACM July, 1977 .A Barth, J. M. .K garbage collection, global flow analysis, list processing, optimization, reference counts, storage management .C 3.80 4.12 4.20 4.34 .N CA770708 JB December 28, 1977 8:38 AM .X 2855 4 2944 2855 4 2944 2944 4 2944 2944 4 2944 3106 4 2944 3112 4 2944 2833 5 2944 2944 5 2944 2944 5 2944 2944 5 2944 2998 5 2944 .I 2945 .T Certification of Programs for Secure Information Flow .W This paper presents a certification mechanism for verifying the secure flow of information through a program. Because it exploits the properties of a lattice structure among security classes, the procedure is sufficiently simple that it can easily be included in the analysis phase of most existing compilers. Appropriate semantics are presented and proved correct. An important application is the confinement problem: The mechanism can prove that a program cannot cause supposedly nonconfidential results to depend on confidential input data. .B CACM July, 1977 .A Denning, D. E. Denning, P. J. .K protection, security, information flow, program certification, lattice, confinement, security classes .C 4.3 4.35 5.24 .N CA770707 JB December 28, 1977 8:48 AM .X 1807 4 2945 2034 4 2945 2290 4 2945 2579 4 2945 2923 4 2945 2945 4 2945 2945 4 2945 2945 4 2945 3128 4 2945 3150 4 2945 1947 5 2945 2704 5 2945 2870 5 2945 2945 5 2945 2945 5 2945 2945 5 2945 .I 2946 .T An Alternative to Event Queues for Synchronization in Monitors .W In the monitor concept, as proposed by Brinch Hansen and Hoare, event are used for synchronization. This paper describes another synchronizing primitive which is nearly as expressive as the conditional wait, but can be implemented more efficiently. An implementation of this primitive in terms of P and V operations is given together with a correctness proof. Two examples are presented: the readers and writers problem and the problem of information streams sharing a finite buffer pool. .B CACM July, 1977 .A Kessels, J. L. W. .K monitor, operating system, mutual exclusion, synchronization, conditional critical region, structuring concept .C 4.31 .N CA770706 JB December 28, 1977 10:10 AM .X 2320 4 2946 2597 4 2946 2777 4 2946 2851 4 2946 2895 4 2946 2912 4 2946 2938 4 2946 2946 4 2946 2946 4 2946 3128 4 2946 3128 4 2946 2150 5 2946 2866 5 2946 2898 5 2946 2946 5 2946 2946 5 2946 2946 5 2946 2597 6 2946 2946 6 2946 .I 2947 .T SITAR: An Interactive Text Processing System for Small Computers .W SITAR, a low-cost in teractive text handling and text analysis system for nontechnical users, is in many ways comparable to in teractive bibliographical search and retrieval systems, but has several additional features. It is implemented on a PDP/11 time-sharing computer invoked by a CRT with microprogrammed editing functions. It uses a simple command language designating a function, a file, and a search template consisting of the textual string desired and strings delimiting the context in which the hit is to be delivered. Extensive experience with SITAR shows that the combined powers of simple commands, string orientation, circular file structure, a CRT with local memory, and conversational computing produce a system much more powerful than the sum of its parts. .B CACM July, 1977 .A Schneider, B. R. Jr. Watts, R. M. .K information retrieval, text editing, minicomputers, CRTs,time sharing, bibliographic search and retrieval, literary analysis, linguistic analysis, command languages .C 3.4 3.7 .N CA770705 JB December 28, 1977 10:20 AM .X 2947 5 2947 2947 5 2947 2947 5 2947 .I 2948 .T A Terminal-Oriented Communication System .W This paper describes a system for full-duplex communication between a time-shared computer and its terminals. The system consists of a communications computer directly connected to the time-shared system, a number of small remote computers to which the terminals are attached, and connecting medium speed telephone lines. It can service a large number of terminals of various types. The overall system design is presented along with the algorithms used to solve three specific problems: local echoing, error detection and correction on the telephone lines, and multiplexing of character output. .B CACM July, 1977 .A Heckel, P. G. Lampson, B. W. .K terminal system, error correction, multiplexing, local echoing, communication system, network .C 3.81 4.31 .N CA770704 JB December 28, 1977 11:49 AM .X 2948 5 2948 2948 5 2948 2948 5 2948 .I 2949 .T A Correctness Proof of a Topology Information Main tenance Protocol for a Distributed Computer Network .W In order for the nodes of a distributed computer network to communicate, each node must have information about the network's topology. Since nodes and links sometimes crash, a scheme is needed to update this information. One of the major constrain ts on such a topology information scheme is that it may not involve a central controller. The Topology Information Protocol that was implemented on the MERIT Computer Network is presented and explained; this protocol is quite general and could be implemented on any computer network. It is based on Baran's "Hot Potato Heuristic Routing Doctrine." A correctness proof of this Topology Information Protocol is also presented. .B CACM July, 1977 .A Tajibnapis, W. D. .K distributed computer network, correctness proofs, computer networks, distributed control, network topology, routing problem in networks, distributed operating system, store and forward packet switching, store and forward message switching, traffic control .C 3.81 4.32 .N CA770703 JB December 28, 1977 11:59 AM .X 2949 5 2949 2949 5 2949 2949 5 2949 .I 2950 .T A Unifying Approach to Scheduling .W This paper presents a scheme for classifying scheduling algorithms based on an abstract model of a scheduling system which formalizes the notion of priority. Various classes of scheduling algorithms are defined and related to existing algorithms. A criterion for the implementation efficiency of an algorithm is developed and results in the definition of time-invariant algorithms, which include most of the commonly implemented ones. For time-invariant algorithms, the dependence of processing rates on priorities is derived. The abstract model provides a framework for implementing flexible schedulers in real operating systems. The policy-driven scheduler of Bernstein and Sharp is discussed as an example of such an implementation .B CACM July, 1977 .A Ruschitzka, M. Fabry, R. S. .K scheduling algorithms, scheduling models, priority, operating systems,processor sharing, implementation efficiency .C 4.31 4.32 4.34 4.35 8.1 .N CA770702 JB December 28, 1977 12:32 PM .X 2950 4 2950 3072 4 2950 2219 5 2950 2950 5 2950 2950 5 2950 2950 5 2950 .I 2951 .T Dynamic Response Time Prediction for Computer Networks .W If the ultimate aim of a computing network is resource sharing, then the human component as well as the technical component of networking must be fully investigated to achieve this goal. This research is a first step toward assisting the user in participating in the vast store of resources available on a network. Analytical, simulation, and statistical performance evaluation tools are employed to investigate the feasibility of a dynamic response time monitor that is capable of providing comparative response time information for users wishing to process various computing applications at some network computing node. The research clearly reveals that sufficient system data are currently obtainable, at least for the five diverse ARPA network systems studied in detail, to describe and predict the response time for network time-sharing systems as it depends on some measure of system activity or load level. .B CACM July, 1977 .A Mamrak, S. A. .K response time monitor, computer networks, time-sharing systems, comparative response time, ARPA network, anlytic modeling, simulation, benchmark jobs, system measurement .C 4.6 6.20 8.1 .N CA770701 JB December 28, 1977 12:42 PM .X 2629 4 2951 2868 4 2951 2928 4 2951 2951 4 2951 2380 5 2951 2951 5 2951 2951 5 2951 2951 5 2951 .I 2952 .T Functions Realizable with Word-Parallel Logical and Two's-Complement Addition Instructions .B CACM June, 1977 .A Warren, H. S. Jr. .K Boolean functions, two's-complement, sign propagation .C 4.0 6.32 .N CA770611 JB December 28, 1977 12:45 PM .X 362 4 2952 2296 4 2952 2952 4 2952 2952 4 2952 2952 4 2952 2952 4 2952 2952 4 2952 2952 4 2952 142 4 2952 142 4 2952 142 4 2952 142 5 2952 162 5 2952 163 5 2952 192 5 2952 2185 5 2952 2727 5 2952 2952 5 2952 2952 5 2952 2952 5 2952 .I 2953 .T Notes on Recursion Elimination .W Various methods of recursion elimination are applied to the schematic recursive procedure: proc S(x); px then N(x); S(fx); S(gx); M(x) fi. Procedures with this general form arise in connection with tree traversal and sorting algorithms. Each method of recursion removal involves the use of one or more stacks, and the solutions are compared on the basis of their running time. .B CACM June, 1977 .A Bird, R. S. .K recursion elimination, optimization of programs, stacks, trees, sorting algorithms, computational induction .C 4.0 4.2 5.20 5.24 5.25 5.31 .N CA770610 JB December 28, 1977 12:50 PM .X 2953 5 2953 2953 5 2953 2953 5 2953 3020 5 2953 2953 6 2953 .I 2954 .T A Bounded Storage Algorithm for Copying Cyclic Structures .W A new algorithm is presented which copies cyclic list structures using bounded workspace and linear time. Unlike a previous similar algorithm, this one makes no assumptions about the storage allocation system in use and uses only operations likely to be available in a high-level language. The distinctive feature of this algorithm is a technique for traversing the structure twice, using the same spanning tree in each case, first from left to right and then from right to left. .B CACM June, 1977 .A Robson J. M. .K copying, shared subtrees, cyclic structures .C 4.49 5.25 .N CA770609 JB December 28, 1977 12:56 PM .X 2766 4 2954 2855 4 2954 2954 4 2954 2954 4 2954 3106 4 2954 3106 4 2954 2665 5 2954 2766 5 2954 2954 5 2954 2954 5 2954 2954 5 2954 3106 5 2954 1549 6 2954 210 6 2954 1972 6 2954 2665 6 2954 2766 6 2954 2855 6 2954 2954 6 2954 2998 6 2954 .I 2955 .T Buddy Systems .W Two algorithms are presented for implementing any of a class of buddy systems for dynamic storage allocation. Each buddy system corresponds to a set of recurrence relations which relate the block sizes provided to each other. Analyses of the in ternal fragmentation of the binary buddy system, the Fibonacci buddy system, and the weighted buddy system are given. Comparative simulation results are also presented for in ternal, external, and total fragmentation. .B CACM June, 1977 .A Peterson, J. L. Norman, T. A. .K dynamic storage allocation, buddy system, fragmentation, Fibonacci buddy system, weighted buddy system .C 3.89 4.32 4.39 .N CA770608 JB December 28, 1977 1:20 PM .X 1389 4 2955 1552 4 2955 2162 4 2955 2435 4 2955 2596 4 2955 2596 4 2955 2747 4 2955 2768 4 2955 2768 4 2955 2773 4 2955 2845 4 2955 2845 4 2955 2845 4 2955 2902 4 2955 2902 4 2955 2902 4 2955 2902 4 2955 2911 4 2955 2911 4 2955 2955 4 2955 2955 4 2955 2955 4 2955 2955 4 2955 2955 4 2955 1184 5 2955 2435 5 2955 2596 5 2955 2747 5 2955 2773 5 2955 2955 5 2955 2955 5 2955 2955 5 2955 .I 2956 .T Some Ideas on Data Types in High-Level Languages .W A number of issues are explored concerning the notion that a data type is a set of values together with a set of primitive operations on those values. Among these are the need for a notation for iterating over the elements of any finite set (instead of the more narrow for i:= 1 to n notation), the use of the domain of an array as a data type, the need for a simple notation for allowing types of parameters to be themselves parameters (but in a restrictive fashion), and resulting problems with conversion of values from one type to another. .B CACM June, 1977 .A Gries, D. Gehani, N. .K data types, generic procedures, programming languages .C 4.12 4.20 4.22 .N CA770607 JB December 28, 1977 1:27 PM .X 2167 4 2956 2723 4 2956 2941 4 2956 2956 4 2956 2956 4 2956 3030 4 2956 1379 5 2956 2651 5 2956 2956 5 2956 2956 5 2956 2956 5 2956 3049 5 2956 2956 6 2956 2958 6 2956 2957 6 2956 2960 6 2956 .I 2957 .T Database Abstractions: Aggregation .W Aggregation is in troduced as an abstraction which is important in conceptualizing the real world. Aggregation transforms a relationship between objects into a higher-level object. A new data type, called aggregation, is developed which, under certain criteria of "well-definedness," specifies aggregation abstractions. Relational databases defined as collections of aggregates are structured as a hierarchy on n-ary relations. To main tain well-definedness, update operations on such databases must preserve two invariants. Well-defined relations are distinct from relations in third normal form. It is shown that these notions are complementary and both are important in database design. A top-down methodology for database design is described which separates decisions concerning aggregate structure from decisions concerning key identification. It is suggested that aggregate types, and other types which support real-world abstractions without in troducing implementation detail, should be incorporated into programming languages. .B CACM June, 1977 .A Smith, J. M. Smith, D. C. P. .K data abstraction, relational database, data type, aggregation, database design, data structure, knowledge representation, data definition language .C 3.65 3.69 3.79 4.29 4.33 4.34 .N CA770606 JB December 29, 1977 12:33 AM .X 2155 4 2957 2406 4 2957 2710 4 2957 2715 4 2957 2716 4 2957 2717 4 2957 2718 4 2957 2765 4 2957 2817 4 2957 2888 4 2957 2901 4 2957 2957 4 2957 2959 4 2957 2965 4 2957 3087 4 2957 3154 4 2957 2046 5 2957 2957 5 2957 2957 5 2957 2957 5 2957 3049 5 2957 2956 6 2957 2958 6 2957 2957 6 2957 2960 6 2957 .I 2958 .T Abstract Data Types and the Development of Data Structures .W Abstract data types can play a significant role in the development of software that is reliable, efficient, and flexible. This paper presents and discusses the application of an algebraic technique for the specification of abstract data types. Among the examples presented is a top-down development of a symbol table for a block structured language; a discussion of the proof of its correctness is given. The paper also contains a brief discussion of the problems involved in constructing algebraic specifications that are both consistent and complete. .B CACM June, 1977 .A Guttag, J. .K abstract data type, correctness proof, data type, data structure, specification, software specification .C 4.34 5.24 .N CA770605 JB December 29, 1977 1:17 AM .X 2704 4 2958 2738 4 2958 2866 4 2958 2869 4 2958 2941 4 2958 2958 4 2958 3004 4 2958 3030 4 2958 2356 5 2958 2958 5 2958 2958 5 2958 2958 5 2958 3030 5 2958 3031 5 2958 3049 5 2958 2247 6 2958 2356 6 2958 2457 6 2958 2651 6 2958 2939 6 2958 2956 6 2958 2958 6 2958 2958 6 2958 2958 6 2958 2957 6 2958 2960 6 2958 2972 6 2958 .I 2959 .T The System for Business Automation (SBA): Programming Language .W The system for business automation (SBA) is a system within which application experts-nonprogrammers-can describe and execute their applications on a computer. The user of SBA views his application as manipulation of information in two-dimensional pictures of tables, business forms, and reports on a display terminal. He can gradually automate this application by giving "examples" to the system of how he manually manipulates the information. The Query-by-Example database language is a subset of the SBA programming language. .B CACM June, 1977 .A Zloof, M. M. de Jong, S. P. .K programming language, graphics, user in terface, data flow, forms flow, data abstraction, database, query, data processing, business system specification, application programming .C 3.73 3.74 4.22 4.33 4.34 .N CA770604 JB December 29, 1977 1:25 AM .X 2155 4 2959 2406 4 2959 2710 4 2959 2715 4 2959 2716 4 2959 2717 4 2959 2718 4 2959 2765 4 2959 2817 4 2959 2888 4 2959 2901 4 2959 2957 4 2959 2959 4 2959 2965 4 2959 3087 4 2959 3154 4 2959 2046 5 2959 2959 5 2959 2959 5 2959 2959 5 2959 .I 2960 .T Two Views of Data Abstraction .B CACM June, 1977 .A Ledgard, H. F. Taylor, R. W. .N CA770603 JB December 29, 1977 1:28 AM .X 2960 5 2960 2960 5 2960 2960 5 2960 3049 5 2960 2956 6 2960 2958 6 2960 2957 6 2960 2960 6 2960 .I 2961 .T Experimental Investigations of the Utility of Detailed Flowcharts in Programming .W This paper describes previous research on flowcharts and a series of controlled experiments to test the utility of detailed flowcharts as an aid to program composition, comprehension, debugging, and modification. No statistically significant difference between flowchart and nonflowchart groups has been shown, thereby calling into question the utility of detailed flowcharting. A program of further research is suggested. .B CACM June, 1977 .A Shneiderman, B. Mayer, R. McKay, D. Heller, P. .K flowcharts, program composition, program comprehension, debugging, modification, experimental testing, human factors .C 1.5 4.0 .N CA770602 JB December 29, 1977 1:33 AM .X 2961 4 2961 2961 5 2961 2961 5 2961 2961 5 2961 721 5 2961 .I 2962 .T Production and Employment of Ph.D.'s in Computer Science-1976 .W Statistics are presented on the production and employment of Ph.D.'s in computer science for the calendar year 1975-76. Data include profiles of graduate students and of faculty at 60 Ph.D.-producing departments as well as a breakdown of degrees granted by specialty areas. Significant trends are noted and comparisons with comparable data gathered for the 1974-75 calendar year are made. .B CACM June, 1977 .A Taulbee, O. E. Conte, S. D. .K computer science, production of Ph.D.'s, employment, students .C 1.3 1.52 1.53 1.59 .N CA770601 JB December 29, 1977 1:39 AM .X 2962 4 2962 3122 4 2962 3123 4 2962 2861 5 2962 2962 5 2962 2962 5 2962 2962 5 2962 3123 5 2962 3122 5 2962 2823 6 2962 2861 6 2962 2861 6 2962 2962 6 2962 2962 6 2962 3022 6 2962 .I 2963 .T A Fast Algorithm for Computing Longest Common Subsequences .W Previously published algorithms for finding the longest common subsequence of two sequences of length n have had a best-case running time of O(n^2). An algorithm for this problem is presented which has a running time of O((r + n)log n), where r is the total number of ordered pairs of positions at which the two sequences match. Thus in the worst case the algorithm has a running time of O(n^2 log n). However, for those applications where most positions of one sequence match relatively few positions in the other sequence, a running time of O(n log n) can be expected. .B CACM May, 1977 .A Hunt, J. W. Szymanski, T. G. .K Longest common subsequence, efficient algorithms .C 3.73 3.63 5.25 .N CA770509 JB December 29, 1977 1:46 AM .X 2963 4 2963 3114 4 2963 2745 5 2963 2963 5 2963 2963 5 2963 2963 5 2963 .I 2964 .T An Approach to Optimal Design of Storage Parameters in Databases .B CACM May, 1977 .A Milman, Y. .K database organization, storage parameter optimization, resident, overflow storage .C 3.73 3.74 .N CA770508 JB December 29, 1977 1:48 AM .X 2964 5 2964 2964 5 2964 2964 5 2964 .I 2965 .T An Optimal Evaluation of Boolean Expressions in an Online Query System .B CACM May, 1977 .A Hanani, M. Z. .K query, Boolean expression, information retrieval, file organization .C 3.5 3.70 3.74 .N CA770507 JB December 29, 1977 1:51 AM .X 2155 4 2965 2406 4 2965 2710 4 2965 2715 4 2965 2716 4 2965 2717 4 2965 2718 4 2965 2765 4 2965 2765 4 2965 2817 4 2965 2888 4 2965 2901 4 2965 2957 4 2965 2959 4 2965 2965 4 2965 2965 4 2965 3087 4 2965 3154 4 2965 2046 5 2965 2451 5 2965 2965 5 2965 2965 5 2965 2965 5 2965 3168 5 2965 3169 5 2965 2965 6 2965 2965 6 2965 3002 6 2965 .I 2966 .T The Choice of Reference Poin ts in Best-Match File Searching .W Improvements to the exhaustive search method of best-match file searching have previously been achieved by doing a preprocessing step involving the calculation of distances from a reference poin t. This paper discusses the proper choice of reference poin ts and extends the previous algorithm to use more than one reference poin t. It is shown that reference poin ts should be located outside of data clusters. The results of computer simulations are presented which show that large improvements can be achieved by the proper choice and location of multiple reference poin ts. .B CACM May, 1977 .A Shapiro, M. .K matching, file searching, best match, nearest-neighbor classification .C 3.73 3.74 .N CA770506 JB December 29, 1977 1:57 AM .X 2575 4 2966 2966 4 2966 3134 4 2966 2524 5 2966 2966 5 2966 2966 5 2966 2966 5 2966 .I 2967 .T A Comparison of Hardware and Software Associative Memories in the Context of Computer Graphics .W The Associative Processing of Line Drawings (APLD) System utilizes a hardware associative memory and creates, modifies, deletes, stores, and retrieves two-dimensional line drawings consisting of poin ts, lines, rectangles, and triangles. The APLD functions were duplicated on the TX-2 computer at M.I.T.'s Lincoln Laboratory under the LEAP Language and Data Structure, A comparison of the hardware approach with the software simulation illustrates the advantages of the hardware associative memory in three areas: (1) processing speed, (2) storage requirements, and (3) flexibility. The major problem areas of hardware associative memory technology, namely input/output and cost effectiveness, are also addressed. .B CACM May, 1977 .A Stillman, N. J. Berra, P. B. .K associative memory, associative processor, content-addressable memory, graphics, information retrieval, data structures, software evaluation, hardware evaluation, parallel processing, database management .C 3.71 3.72 3.73 3.74 4.34 4.6 6.22 8.2 .N CA770505 JB December 29, 1977 2:07 AM .X 2719 4 2967 2967 4 2967 2151 5 2967 2967 5 2967 2967 5 2967 2967 5 2967 .I 2968 .T A Comparison of Tree-Balancing Algorithms .W Several algorithms-height-balance (i.e. AVL and extensions), weight-balance (i.e. BB and WB), and total restructuring-for building balanced binary search trees are compared. The criteria for comparison encompass theoretical aspects (e.g. path lengths) and implementation independent and machine/algorithm-dependent measures (e.g. run time). A detailed analysis of code is also presented at a level believed to be language-and compiler-independent. The quality of the resulting trees and the overhead spent on building them are analyzed, and some guidelines are given for an efficient use of the methods. If insertion and subsequent queries are the only operations of in terest, then "pure" AVL trees present the overall best qualities. .B CACM May, 1977 .A Baer, J. L. Schwab, B. .K binary search trees, AVL trees, weight-balanced trees, path length, analysis of algorithms, information storage and retrieval .C 3.7 3.72 3.74 5.31 .N CA770504 JB December 29, 1977 2:16 AM .X 2455 4 2968 2493 4 2968 2889 4 2968 2889 4 2968 2968 4 2968 2968 4 2968 3042 4 2968 2388 5 2968 2455 5 2968 2968 5 2968 2968 5 2968 2968 5 2968 3042 5 2968 2455 6 2968 2839 6 2968 2889 6 2968 2968 6 2968 .I 2969 .T Optimal Program and Data Locations in Computer Networks .W An optimization procedure for the allocation of program and data files in a computer network is presented. This algorithm takes into account the dependencies between files and programs such as occur in real heterogeneous computer networks. Insights into whether or not to convert programs from one computer to another can also be gained from the model. A search procedure for the file location problem is described, along with an example and a possible application of the model. .B CACM May, 1977 .A Morgan, H. L. Levin, K. D. .K computer networks, databases, distributed databases, optimal file location .C 3.81 3.51 4.33 .N CA770503 JB December 29, 1977 2:22 AM .X 2969 5 2969 2969 5 2969 2969 5 2969 .I 2970 .T Achieving Specific Accuracy in Simulation Output Analysis .W This paper extends the use of the regenerative property of queueing systems in the analysis of simulation output. In particular, it describes a sequential estimation method which when used with the regenerative property allows results to be obtained with specified statistical accuracy. This method includes a test to check the normality assumption on which the sequential procedure relies. The paper illustrates the method using the empty and idle state as the regenerative state. A second example then describes how using the most frequently entered state as the regenerative state reduces the chance of making a costly error in a preliminary simulation run. The paper also described how a variance reduction method due to Page [9] can be used to obtain a specified accuracy with considerably fewer job completions than are required when no variance reduction technique is applied. .B CACM May, 1977 .A Fishman, G. S. .K confidence in terval, ratio estimator, regenerative property, sequential estimator, simulation, stopping rule, variance reduction .C 5.5 8.1 .N CA770502 JB December 29, 1977 2:43 AM .X 2970 5 2970 2970 5 2970 2970 5 2970 .I 2971 .T SP/k: A System for Teaching Computer Programming .W SP/k is a compatible subset of the PL/I language that has been designed for teaching programming. The features of the SP/k language were chosen to encourage structured problem solving by computers, to make the language easy to learn and use, to eliminate confusing and redundant constructs, and to make the language easy to compile. The resulting language is suitable for in troducing programming concepts used in various applications, including business data processing, scientific calculations and non-numeric computation. SP/k is actually a sequence of language subsets called SP/1, SP/2,...SP/8. Each subset in troduces new programming language constructs while retaining all the constructs of preceding subsets. Each subset is precisely defined and can be learned or implemented without the following subsets. .B CACM May, 1977 .A Holt, R. C. Wortman, D. B. Barnard, D. T. Cordy, J. R. .K programmer education, universities, community colleges, high schools, PL/I, SP/k, minicomputers, programming language design, teaching programming, in troductory computing .C 1.5 4.2 4.12 4.13 .N CA770501 JB December 29, 1977 4:40 AM .X 2708 4 2971 2820 4 2971 2971 4 2971 2971 4 2971 2971 4 2971 3045 4 2971 1835 5 2971 1974 5 2971 2534 5 2971 2971 5 2971 2971 5 2971 2971 5 2971 .I 2972 .T Proof Techniques for Hierarchically Structured Programs .W A method for describing and structuring programs that simplifies proofs of their correctness is presented. The method formally represents a program in terms of levels of abstraction, each level of which can be described by a self-contained nonprocedural specification. The proofs, like the programs, are structured by levels. Although only manual proofs are described in the paper, the method is also applicable to semi-automatic and automatic proofs. Preliminary results are encouraging, indicating that the method can be applied to large programs, such as operating systems. .B CACM April, 1977 .A Robinson, L. Levitt, K. N. .K hierarchical structure, program verification, structured programming, formal specification, abstraction, and programming methodology .C 4.0 4.29 4.9 5.24 .N CA770410 JB December 29, 1977 4:53 AM .X 2042 4 2972 2222 4 2972 2319 4 2972 2356 4 2972 2480 4 2972 2594 4 2972 2679 4 2972 2709 4 2972 2844 4 2972 2865 4 2972 2866 4 2972 2896 4 2972 2898 4 2972 2939 4 2972 2972 4 2972 2972 4 2972 2972 4 2972 2972 4 2972 2972 4 2972 3037 4 2972 3039 4 2972 3043 4 2972 3043 4 2972 3073 4 2972 3128 4 2972 3144 4 2972 3155 4 2972 970 5 2972 2204 5 2972 2597 5 2972 2732 5 2972 2738 5 2972 2972 5 2972 2972 5 2972 2972 5 2972 3030 5 2972 2247 6 2972 2356 6 2972 2457 6 2972 2651 6 2972 2958 6 2972 2972 6 2972 .I 2973 .T Sorting on a Mesh-Connected Parallel Computer .W Two algorithms are presented for sorting n^2 elements on an n X n mesh-connected processor array that require O(n) routing and comparison steps. The best previous algorithm takes time O(n log n). The algorithms of this paper are shown to be optimal in time within small constant factors. Extensions to higher-dimensional arrays are also given. .B CACM April, 1977 .A Thompson, C. D. Kung, H. T. .K parallel computer, parallel sorting, parallel merge, routing and comparison steps, perfect shuffle. processor in terconnection pattern .C 4.32 5.25 5.31 .N CA770409 JB December 29, 1977 4:58 AM .X 2973 5 2973 2973 5 2973 2973 5 2973 3156 5 2973 2289 6 2973 2973 6 2973 3075 6 2973 .I 2974 .T Comment on Weighted Increment Linear Search for Scatter Tables .B CACM April, 1977 .A Bandyopadhyay, S. K. .K hash address, primary clustering, index, sequence, complementary relation, search .C 3.73 3.74 4.9 4.11 4.12 .N CA770408 JB December 29, 1977 5:02 AM .X 1973 4 2974 2018 4 2974 2203 4 2974 2251 4 2974 2543 4 2974 2770 4 2974 2974 4 2974 2974 4 2974 3053 4 2974 2109 5 2974 2251 5 2974 2974 5 2974 2974 5 2974 2974 5 2974 .I 2975 .T Remark on Uniform Insertion in Structured Data Structures .B CACM April, 1977 .A Hollander, C.R. .K data structures, directed graphs, uniform insertion .C 4.34 .N CA770407 JB December 29, 1977 5:04 AM .X 2975 4 2975 2594 5 2975 2975 5 2975 2975 5 2975 2975 5 2975 .I 2976 .T Approximating Block Accesses in Database Organizations .B CACM April, 1977 .A Yao, S. B. .K database, inverted file organization, database performance and measurement, information retrieval, query answering .C 3.70 3.72 4.33 .N CA770406 JB December 29, 1977 5:06 AM .X 2976 4 2976 2976 4 2976 2976 4 2976 2688 5 2976 2765 5 2976 2882 5 2976 2976 5 2976 2976 5 2976 2976 5 2976 .I 2977 .T The Stage Hypothesis and the S-Curve: Some Contradictory Evidence .W This paper presents the results of a study testing the s-shaped budget curve of Nolan's stage model of computer development in an organization. Research on the data processing budgets of California counties fails to support the s-shaped curve or the use of budgets as a basis for a stage model. However, the results do not invalidate the concept of a stage model. The analysis suggests an alternative model of budget growth and a separation between models of budgeting growth and growth stages in the development of the computer resource. .B CACM April, 1977 .A Lucac, H. C. Jr. Sutton, J. A. .K budgets, stage theories, stage hypothesis .C 3.50 3.59 .N CA770405 JB December 29, 1977 5:12 AM .X 2977 4 2977 2985 4 2977 3011 4 2977 3035 4 2977 2485 5 2977 2977 5 2977 2977 5 2977 2977 5 2977 .I 2978 .T Analysis of Design Alternatives for Virtual Memory Indexes .W A class of index structures for use in a virtual memory environment is described. Design alternatives within this class of index structures are analyzed. These alternatives include a choice of search strategy, whether or not pages in the index are structured, and whether or not keys are compressed. The average cost of retrieving entries from these indexes is expressed as a wieghted sum of the cost of a basic key comparison and the cost of crossing a page boundary in the index structure. Formulas for the retrieval costs for possible combinations of design alternatives are given. These are used in numerical case studies which compare the retrieval costs of the alternatives. Qualitative comparisons of the main tenance costs (insertion, deletion, reorganization) of the design alternatives are also included. .B CACM April, 1977 .A Maruyama, K. Smith, S. E. .K index, index structure, pages, virtual memory, files, retrieval, main tenance, search strategy, key compression .C 3.50 3.51 3.02 3.73 3.74 .N CA770404 JB December 29, 1977 5:22 AM .X 2451 4 2978 2556 4 2978 2978 4 2978 1935 5 2978 2978 5 2978 2978 5 2978 2978 5 2978 3058 5 2978 3063 5 2978 2978 6 2978 2978 6 2978 .I 2979 .T Studies in Machine Cognition Using The Game of Poker .W A progress report is presented of on-going research efforts concerning human decision making under uncertainly and risk and human problem solving and learning processes on the one hand, and machine learning, large scale programming systems, and novel programming techniques on the other. There has also been in terest in how humans make deductive and inductive inferences and form and optimize heuristic rules, and how machines can reach similar results. Although the vehicle of these investigations has been the game of poker, a conceptual framework has been provided that should have a fairly wide range of applicability. The models of human judgment, choice, and decision making are incorporated in a large scale complex program. They represent both descriptive and normative theories of behavior. An in teractive game environment has been recently established which, besides its usefulness for experiments in game playing, enables humans to construct machine strategies "on-line" in a question answering, advice taking mode. .B CACM April, 1977 .A Findler, N. V. .K machine learning, game playing programs, decision making under uncertain ty and risk, automatic forming and optimizing of heuristic rules, automatic inductive and deductive inference making, models of game learning, poker, gambling and bluffing .C 3.36 3.62 3.61 3.64 3.65 3.66 .N CA770403 JB December 29, 1977 5:34 AM .X 2979 5 2979 2979 5 2979 2979 5 2979 .I 2980 .T The Editing of Picture Segmentations Using Local Analysis of Graphs .W A major problem in picture processing is the elimination of the large number of spurious regions that result from an initial segmentation by region growing techniques. Such regions have been eliminated either on the basis of semantic information or on the basis of size and contrast. A scheme is presented which performs eliminations on the basis of local properties of the region adjacency graph. The scheme is based on definitions of graph properties which are satisfied when a spurious region is present; then editing is equivalent to fast graph operations. A number of examples are shown. .B CACM April, 1977 .A Tanimoto, S. L. Pavlidis, T. .K picture processing, pattern recognition, segmentation, region editing .C 3.63 .N CA770402 JB December 29, 1977 6:22 AM .X 2980 4 2980 2523 5 2980 2980 5 2980 2980 5 2980 2980 5 2980 .I 2981 .T Subgoal Induction .W A proof method, subgoal induction, is presented as an alternative or supplement to the commonly used inductive assertion method. Its major virtue is that it can often be used to prove a loop's correctness directly from its input-output specification without the use of an invariant. The relation between subgoal induction and other commonly used induction rules is explored and, in particular, it is shown that subgoal induction can be viewed as a specialized form of computation induction. A set of sufficient conditions are presented which guarantee that an input-output specification is strong enough for the induction steps of a proof by subgoal induction to be valid. .B CACM April, 1977 .A Morris, J. H. Jr. Wegbreit, B. .K program verification, proving programs correct, induction rule, computation induction, inductive assertions, structural induction, proof rule, recursive programs, iterative programs .C 4.19 4.22 5.21 5.24 .N CA770401 JB December 29, 1977 6:31 AM .X 2981 4 2981 3030 4 2981 3077 4 2981 3104 4 2981 2457 5 2981 2981 5 2981 2981 5 2981 2981 5 2981 3014 5 2981 1834 6 2981 2981 6 2981 .I 2982 .T The Storage Requirement in Precedence Parsing .B CACM March, 1977 .A Bertsch, E. .K precedence parsing, storage requirement, value table .C 4.12 5.22 .N CA770310JB December 29, 1977 6:34 AM .X 1542 4 2982 1683 4 2982 1693 4 2982 1781 4 2982 1787 4 2982 1836 4 2982 1945 4 2982 2060 4 2982 2061 4 2982 2082 4 2982 2091 4 2982 2152 4 2982 2179 4 2982 2340 4 2982 2340 4 2982 2356 4 2982 2546 4 2982 2603 4 2982 2698 4 2982 2708 4 2982 2824 4 2982 2824 4 2982 2982 4 2982 2982 4 2982 2982 4 2982 2986 4 2982 2986 4 2982 2986 4 2982 3045 4 2982 3093 4 2982 1491 5 2982 1836 5 2982 2340 5 2982 2982 5 2982 2982 5 2982 2982 5 2982 .I 2983 .T A Comparison of Next-fit, First-fit, and Best-fit .B CACM March, 1977 .A Bays, C. .K memory allocation, first-fit, best-fit, next-fit .C 4.32 4.35 .N CA770309 JB December 29, 1977 6:36 AM .X 2902 4 2983 2911 4 2983 2983 4 2983 2734 5 2983 2911 5 2983 2983 5 2983 2983 5 2983 2983 5 2983 1879 6 2983 273 6 2983 2435 6 2983 2498 6 2983 2734 6 2983 2773 6 2983 2983 6 2983 .I 2984 .T Cost/Utilization: A Measure of System Performance .W A method is presented for evaluating computer system performance in terms of a cost/utilization factor and a measure of imbalance. These coefficients indicate the extent to which the total system cost is effectively utilized. The method includes a technique for the visual representation of system performance. .B CACM March, 1977 .A Borovits, I. Ein-Dor, P. .K computer system, performance evaluation, cost/utilization, system balance .C 2.44 .N CA770308 JB December 29, 1977 6:41 AM .X 2705 4 2984 2984 4 2984 1908 5 2984 2984 5 2984 2984 5 2984 2984 5 2984 .I 2985 .T Effects of Chargeout on User/Manager Attitudes .W The relationship of in ternal pricing systems for computer services (chargeout systems) and user management attitudes about their computer-based information systems is investigated. Evidence is provided that the relationship conforms to a general pattern that would be expected from the hypothesis of the four stages of EDP growth [15]. The results also indicate that the chargeout systems characteristic of advanced EDP stage environments are associated with relatively high levels of positive user attitudes and marked increases in EDP training for users. Both factors are important to the user/manager involvement necessary for effective control of computer-based systems. Development and main tenance of computer-based systems is asserted to be a category of organizational change. A "felt need" for the change on the part of the user/manager is prerequisite to any change taking place. The research methods of behavioral science are applied to investigate the user/manager environment and the effects of chargeout. .B CACM March, 1977 .A Nolan, R. L. .K computer management, computer budget, chargeout, stage hypothesis, control .C 2.41 2.43 3.50 .N CA770307 JB December 29, 1977 6:43 AM .X 2977 4 2985 2985 4 2985 3011 4 2985 3035 4 2985 2485 5 2985 2985 5 2985 2985 5 2985 2985 5 2985 .I 2986 .T Operations on Sparse Relations .W Various computations on relations, Boolean matrices, or directed graphs, such as the computation of precedence relations for a context-free grammar, can be done by a practical algorithm that is asymptotically faster than those in common use. For example, how to compute operator precedence or Wirth-Weber precedence relations in O(n^2) steps is shown, as well as how to compute linear precedence functions in O(n^2) steps is shown, as well as how to compute linear precedence functions in O(n) steps, where n is the size of a grammer. The heart of the algorithms is a general theorem giving sufficient conditions under which an expression whose operands are sparse relations and whose operators are composition, transitive closure, union, and inverse, can be computed efficiently. .B CACM March, 1977 .A Hunt, H. B. III Szymanski, T. G. Ullman, J. D. .K computational complexity, sparse relation, Boolean matrix, directed graph, Wirth-Weber precedence relation, linear precedence function, SLR grammar, T-canonical precedence relation .C 4.12 5.23 5.25 .N CA770306 JB December 29, 1977 8:05 AM .X 1542 4 2986 1683 4 2986 1693 4 2986 1781 4 2986 1787 4 2986 1836 4 2986 1945 4 2986 2060 4 2986 2061 4 2986 2082 4 2986 2091 4 2986 2152 4 2986 2179 4 2986 2221 4 2986 2340 4 2986 2340 4 2986 2340 4 2986 2356 4 2986 2546 4 2986 2603 4 2986 2698 4 2986 2708 4 2986 2733 4 2986 2824 4 2986 2824 4 2986 2824 4 2986 2982 4 2986 2982 4 2986 2982 4 2986 2986 4 2986 2986 4 2986 2986 4 2986 2986 4 2986 2986 4 2986 3045 4 2986 3093 4 2986 3093 4 2986 3094 4 2986 1491 5 2986 1683 5 2986 1836 5 2986 2179 5 2986 2340 5 2986 2986 5 2986 2986 5 2986 2986 5 2986 .I 2987 .T Representation of Many-Sided Polygons and Polygonal Lines for Rapid Processing .W A representation for polygons and polygonal lines is described which allows sets of consecutive sides to be collectively examined. The set of sides are arranged in a binary tree hierarchy by inclusion. A fast algorithm for testing the inclusion of a poin t in a many-sided polygon is given. The speed of the algorithm is discussed for both ideal and practical examples. It is shown that the poin ts of intersection of two polygonal lines can be located by what is essentially a binary tree search. The algorithm and a practical example are discussed. The representation overcomes many of the disadvantages associated with the various fixed-grid methods for representing curves and regions .B CACM March, 1977 .A Burton W. .K boundary line representation, cartography, computer graphics computer-searchable structures, contour representation, geographic information processing, graphic data retrieval, in tersection of curves, line-drawing processing, poin ts in polygons, regional boundary representation, spatial information .C 3.14 3.23 3.30 3.79 8.2 .N CA770305 JB December 30, 1977 12:44 AM .X 1630 4 2987 1804 4 2987 1804 4 2987 2547 4 2987 2987 4 2987 2987 4 2987 2987 4 2987 2987 4 2987 2987 4 2987 2987 4 2987 2987 4 2987 3165 4 2987 1326 5 2987 1630 5 2987 2125 5 2987 2547 5 2987 2633 5 2987 2987 5 2987 2987 5 2987 2987 5 2987 421 5 2987 524 5 2987 3165 5 2987 1326 6 2987 2987 6 2987 .I 2988 .T Memory Management and Response Time .W This paper presents a computationally tractable methodology for including accurately the effects of finite memory size and workload memory requirements in queueing network models of computer systems. Empirical analyses and analytic studies based on applying this methodology to an actual multiaccess in teractive system are reported. Relations between workload variables such as memory requirement distribution and job swap time, and performance measures such as response time and memory utilization are graphically displayed. A multiphase, analytically soluble model is proposed as being broadly applicable to the analysis of in teractive computer systems which use nonpaged memories. .B CACM March, 1977 .A Brown, R. M. Browne, J. C. Chandy, K. M. .K memory management, system performance, queueing network models, in teractive computer systems .C 4.32 .N CA770304 JB December 30, 1977 12:51 AM .X 2988 4 2988 1750 5 2988 2988 5 2988 2988 5 2988 2988 5 2988 3059 5 2988 3070 5 2988 1805 6 2988 2454 6 2988 2741 6 2988 2988 6 2988 2988 6 2988 .I 2989 .T Empirical Evaluation of Some Features of Instruction Set Processor Architectures .W This paper presents methods for empirical evaluation of features of Instruction Set Processors (ISPs). ISP features are evaluated in terms of the time used or saved by having or not having the feature. The methods are based on analysis of traces of program executions. The concept of a register life is in troduced, and used to answer questions like: How many registers are used simultaneously? How many would be sufficient all of the time? Most of the time? What would the overhead be if the number of registers were reduced? What are registers used for during their lives? The paper also discusses the problem of detecting desirable but non-existing instructions. Other problems are briefly discussed. Experimental results are presented, obtained by analyzing 41 programs running on the DEC system 10 ISP. .B CACM March, 1977 .A Lunde, A. .K computer architecture, program behavior, instruction sets, op code utilization, register structures, register utilization, simultaneous register lives, instruction tracing, execution time .C 6.20 6.21 6.33 .N CA770303 JB December 30, 1977 1:00 AM .X 1653 4 2989 2411 4 2989 2709 4 2989 2889 4 2989 2937 4 2989 2989 4 2989 2989 4 2989 3005 4 2989 3025 4 2989 3101 4 2989 1069 5 2989 2138 5 2989 2989 5 2989 2989 5 2989 2989 5 2989 3025 5 2989 2138 6 2989 2989 6 2989 .I 2990 .T Effective Information Retrieval Using Term Accuracy .W The performance of information retrieval systems can be evaluated in a number of different ways. Much of the published evaluation work is based on measuring the retrieval performance of an average user query. Unfortunately, formal proofs are difficult to construct for the average case. In the present study, retrieval evaluation is based on optimizing the performance of a specific user query. The concept of query term accuracy is in troduced as the probability of occurrence of a query term in the documents relevant to that query. By relating term accuracy to the frequency of occurrence of the term in the documents of a collection it is possible to give formal proofs of the effectiveness with respect to a given user query of a number of automatic indexing systems that have been used successfully in experimental situations. Among these are inverse document frequency weighting, thesaurus construction, and phrase generation. .B CACM March, 1977 .A Yu, C. T. Salton, G. .K information retrieval, automatic indexing, content analysis, term accuracy, frequency weighting, thesaurus and phrase transformations .C 3.71 3.72 3.75 .N CA770302 JB December 30, 1977 1:52 AM .X 2990 5 2990 2990 5 2990 2990 5 2990 3134 5 2990 1976 6 2990 2160 6 2990 2524 6 2990 2990 6 2990 .I 2991 .T Improving the Access Time for Random Access Files .W Clustering in the key set is decreased by smoothing the key-to-address transformation, and by adding shadow buckets to an open chaining file. The keys are pre-hashed before the address division, to remove the effect of sequential properties in the key set. Shadow buckets in the key search sequence reduce the effect of nonuniformity in file loading, and decrease the number of maximum probes needed to locate a record. The combined effects of these techniques lead to improved file performance for secondary storage devices, as shown by empirical studies. .B CACM March, 1977 .A Clapson, P. .K hashing, hashing techniques, hashing methods, hash coding, keys, key transformation, key-to-address transformation, direct addressing, direct access, direct access method, randomizing, random access, file addressing, file organizations, file structures, scatter storage, search method, collisions, synonyms, clustering, information retrieval, open addressing, open chaining, buckets, bucket size, shadow buckets, combinatorics .C 3.7 3.72 3.73 3.74 4.9 5.39 .N CA770301 JB December 30, 1977 2:00 AM .X 1676 4 2991 1682 4 2991 1728 4 2991 1860 4 2991 1973 4 2991 1973 4 2991 1992 4 2991 2018 4 2991 2032 4 2991 2033 4 2991 2107 4 2991 2109 4 2991 2138 4 2991 2203 4 2991 2203 4 2991 2251 4 2991 2251 4 2991 2258 4 2991 2319 4 2991 2313 4 2991 2359 4 2991 2359 4 2991 2437 4 2991 2524 4 2991 2530 4 2991 2537 4 2991 2543 4 2991 2543 4 2991 2552 4 2991 2552 4 2991 2559 4 2991 2559 4 2991 2573 4 2991 2781 4 2991 2860 4 2991 2991 4 2991 2991 4 2991 2991 4 2991 3053 4 2991 3053 4 2991 3083 4 2991 1785 5 2991 2107 5 2991 2203 5 2991 2991 5 2991 2991 5 2991 2991 5 2991 .I 2992 .T A Numbering System for Binary Trees .B CACM February, 1977 .A Knott, G. D. .K binary trees, permutations, binary search trees, ranking function .C 3.79 5.39 .N CA770209 JB December 30, 1977 2:04 AM .X 2992 5 2992 2992 5 2992 2992 5 2992 .I 2993 .T Occurrences of Cycling and Other Phenomena Arising in a Class of Linear Programming Models .W An investigation into the average queue size for a certain class of queues has resulted in the formulation of linear programming problems which are ill-conditioned in some cases. In attempting to solve these linear programming models, using IBM's MPS package, instances of cycling were encountered. Small perturbations in the input data resulted in problems which did not cycle. This fact, plus several other observed phenomena suggest that the primary reason that cycling is not known to occur more frequently is the round-off errors in the computations perturb the problem sufficiently to prevent cycling (or at least to prevent indefinite cycling). In one case maximizing and minimizing an objective function subject to the same constrain t set was attempted, but MPS solved only one of these while giving an indication of infeasibility for the other. .B CACM February, 1977 .A Kotiah, T. C. T. Steinberg, D. I. .K linear programming, cycling, queueing models .C 5.41 5.9 .N CA770208 JB December 30, 1977 2:11 AM .X 2993 5 2993 2993 5 2993 2993 5 2993 .I 2994 .T A Linear Algorithm for Incremental Digital Display of Circular Arcs .W Circular arcs can be drawn on an incremental display device such as a cathode ray tube, digital plotter, or matrix prin ter using only sign testing and elementary addition and subtraction. This paper describes methodology for producing dot or step patterns closet to the true circle. .B CACM February, 1977 .A Bresenham, J. .K graphics, circle drawing, step generation, dot generation, incremental digital plotting, raster display, integer arithmetic, circle algorithm .C 4.41 8.2 .N CA770207 JB December 30, 1977 2:16 AM .X 2994 5 2994 2994 5 2994 2994 5 2994 .I 2995 .T Decomposability, Instabilities, and Saturation in Multiprogramming Systems (Corrigendum) .B CACM February, 1977 .A Courtois, P. J. .N CA770205 JB December 30, 1977 2:20 AM .X 2995 5 2995 2995 5 2995 2995 5 2995 .I 2996 .T Transient-Free Working-Set Statistics .W Transient-free average working set size and transient-free missing-page rate for a finite sample of a reference string are defined. Use of these statistics is appropriate if the contents of the working set at the start of the recorded string are unknown. If a certain stationarity condition holds, these statistics provide unbiased estimates of expected working-set sizes, missing-page probabilities, and in terreference distance probabilities. Two other pairs of estimators are shown to be biased. Expressions for the transient-free statistics are obtained in terms of in terval statistics. Several methods of computation are discussed, the usefulness of each depending on length of the sample, number of distinct references, and the amount of main storage available to the computer performing the calculations. In particular, methods are described for handling long strings containing many distinct page names. .B CACM February, 1977 .A Easton, M. C. Bennett, B. T. .K working set, estimation program behavior .C 4.3 4.6 5.5 .N CA770204 JB December 30, 1977 2:40 AM .X 1892 4 2996 1901 4 2996 2085 4 2996 2095 4 2996 2218 4 2996 2277 4 2996 2319 4 2996 2329 4 2996 2358 4 2996 2373 4 2996 2374 4 2996 2380 4 2996 2380 4 2996 2434 4 2996 2499 4 2996 2450 4 2996 2501 4 2996 2582 4 2996 2595 4 2996 2669 4 2996 2828 4 2996 2863 4 2996 2881 4 2996 2928 4 2996 2996 4 2996 2996 4 2996 2996 4 2996 3006 4 2996 3006 4 2996 3006 4 2996 3067 4 2996 3067 4 2996 3067 4 2996 1751 5 2996 2373 5 2996 2595 5 2996 2996 5 2996 2996 5 2996 2996 5 2996 .I 2997 .T Convex Hulls of Finite Sets of Poin ts in Two and Three Dimensions .W The convex hulls of sets of n poin ts in two and three dimensions can be determined with O(n log n) operations. The presented algorithms use the "divide and conquer" technique and recursively apply a merge procedure for two nonin tersecting convex hulls. Since any convex hull algorithm requires at least O(n log n) operations, the time complexity of the proposed algorithms is optimal within a multiplicative constant. .B CACM February, 1977 .A Preparata, F. P. Hong, S. J. .K computational complexity, convex hull, optimal algorithms, planar set of poin ts, spatial set of poin ts .C 4.49 5.25 5.32 .N CA770203 JB December 30, 1977 2:47 AM .X 2997 4 2997 2737 5 2997 2997 5 2997 2997 5 2997 2997 5 2997 3151 5 2997 2997 6 2997 .I 2998 .T An Empirical Study of List Structure in Lisp .W Static measurements of the list structure of five large Lisp programs are reported and analyzed in this paper. These measurements reveal substantial regularity, or predictability, among poin ters to atoms and especially among poin ters to lists. Pointers to atoms are found to obey, roughly, Zipf's law, which governs word frequencies in natural languages; poin ters to lists usually poin t to a location physically nearby in memory. The use of such regularities in the space-efficient representation of list structure is discussed. Linearization of lists, whereby successive cdrs (or cars) are placed in consecutive memory locations whenever possible, greatly strengthens the observed regularity of list structure. It is shown that under some reasonable assumptions, the entropy or information content of a car-cdr pair in the programs measured is about 10 to 15 bits before linearization, and about 7 to 12 bits after. .B CACM February, 1977 .A Clark, D. W. Green, C. C. .K list structure measurement, Lisp, list structure regularity, poin ter compression, Zipf's law, list linearization, poin ter entropy .C 3.69 4.29 4.34 4.6 5.6 .N CA770202 JB December 30, 1977 2:55 AM .X 2855 5 2998 2944 5 2998 2998 5 2998 2998 5 2998 2998 5 2998 3106 5 2998 1549 6 2998 1549 6 2998 1826 6 2998 210 6 2998 210 6 2998 1972 6 2998 1972 6 2998 2513 6 2998 2665 6 2998 2766 6 2998 2766 6 2998 2833 6 2998 2833 6 2998 2855 6 2998 2954 6 2998 2998 6 2998 2998 6 2998 2998 6 2998 .I 2999 .T An Approach to Multidimensional Data Array Processing by Computer .W Some recent work on the development of general-purpose computer-based statistical and data processing capabilities for handling multidimensional arrays of data is presented. Attention is first given to some of the general problems of multidimensional table and array processing. This is followed by a summary of some recent developments in array processing capabilities at the World Bank, in particular, the system identified as WRAPS(World Bank Retrieval and Array Processing System). .B CACM February, 1977 .A Muller, M. E. .K array processing, table processing, statistical analysis, data retrieval, data processing, syntax for data structures, computing techniques, time series, cross tabulation .C 3.10 3.20 3.30 3.70 4.0 .N CA770201 JB December 30, 1977 3:12 AM .X 2999 5 2999 2999 5 2999 2999 5 2999 .I 3000 .T Segment Sizes and Lifetimes in Algol 60 Programs .W The characteristics of the virtual memory requirements of a sample of Algol 60 programs have been measured. Distributions are presented for thesizes of memory requests and for their holding times (lifetimes). The results are presented in terms of Johnston's contour model and a simple abstract machine. They provide new empirical evidence of certain aspects of the construction and behavior of real programs, and some of their implications for the design of virtual memory systems are presented and discussed. .B CACM January, 1977 .A Batson, A. P. Brundage, R. E. .K virtual memory, program behavior, segmentation, storage allocation, Algol 60, contour model .C 4.22 4.34 4.45 6.21 .N CA770105 JB January 3, 1978 12:05 AM .X 2095 4 3000 2218 4 3000 2218 4 3000 2498 4 3000 2596 4 3000 2734 4 3000 2734 4 3000 2902 4 3000 2911 4 3000 3000 4 3000 3000 4 3000 3000 4 3000 3067 4 3000 1879 5 3000 2095 5 3000 2864 5 3000 3000 5 3000 3000 5 3000 3000 5 3000 .I 3001 .T Detection of Combined Occurrences .W In this paper it is supposed that the variables X1,...,Xn each have finite range with the variable Xi taking on Pi possible values and that the values of the variables are changing with time. It is supposed further that it is desired to detect occurrences in which some subset of the variables achieve particular values. Finally, it is supposed that the problem involves the detection of a large number of combined occurrences for a large number of changes of values of variables. Two efficient solutions for this problem are described. Both methods have the unusual property of being faster for systems where the sum P1 + ... + Pn is larger. The first solution is error-free and suitable for most cases. The second solution is slightly more elegant and allows negation as well as conjunction, but is subject to the possibility of errors. An error analysis is given for the second method and an empirical study is reported. .B CACM January, 1977 .A Zobrist, A. L. Carlson, F. R. Jr. .K coding, hash coding, retrieval, secondary keys, pattern recognition, artificial in telligence, demons, n-tuples, sorting, chess .C 3.63 5.31 .N CA770104JB January 3, 1978 12:15 AM .X 2532 4 3001 2631 4 3001 2746 4 3001 3001 4 3001 3001 4 3001 2033 5 3001 2139 5 3001 3001 5 3001 3001 5 3001 3001 5 3001 .I 3002 .T A Record and File Partitioning Model .W One of the main objectives in the design of a file system is the reduction of storage and data transfer costs. This paper presents a model in which several requests access the file system, and each request requires information from one or more variable length data-items. The probabilities of access and the distribution of each data-item's length are assumed to be known, and to be mutually independent. The file system uses one or more storage devices, and each record may be partitioned into subrecords that are stored on different devices. One of the subrecords is designated as the primary record; when a request for a record is made, the primary record is first accessed, and other subrecords are accessed only if the pertinent information is not stored in the primary record. The model that is presented in this paper, both as a nonlinear programming model and a mixed integer programming model, is a very general one; several types of file systems may be derived from it by an appropriate selection of its parameters. This model has already been used in the optimization of library routines' storage at a large scale operating system. .B CACM January, 1977 .A Babad, J. M. .K file system, file design, file partitioning, record partitioning .C 3.73 .N CA770103 JB January 3, 1978 12:28 AM .X 3002 5 3002 3002 5 3002 3002 5 3002 3168 5 3002 2965 6 3002 3002 6 3002 .I 3003 .T A Survey of the Literature in Computer Science Education Since Curriculum '68 .W A bibliography of approximately two hundred references in computer science education appearing in the literature since the publication of "Curriculum '68" is presented. The bibliography itself is preceded by brief descriptive materials organizing the references into the categories of survey reports, activities of professional organizations, philosophy of programs, description of programs, description of courses and other materials. .B CACM January, 1977 .A Austing, R. H. Barnes, B. H. .K education, computer science, curricula .C 1.5 .N CA770102 JB January 3, 1978 12:34 AM .X 1927 4 3003 2153 4 3003 2163 4 3003 2407 4 3003 2407 4 3003 2478 4 3003 2852 4 3003 2852 4 3003 2899 4 3003 3003 4 3003 3003 4 3003 3003 4 3003 3003 4 3003 3003 4 3003 3003 4 3003 3003 4 3003 3003 4 3003 3003 4 3003 3003 4 3003 3003 4 3003 3003 4 3003 3003 4 3003 3003 4 3003 3003 4 3003 3003 4 3003 3011 4 3003 3050 4 3003 1659 5 3003 1678 5 3003 1927 5 3003 1945 5 3003 2097 5 3003 2147 5 3003 2163 5 3003 2187 5 3003 2329 5 3003 2345 5 3003 2367 5 3003 2407 5 3003 2478 5 3003 2479 5 3003 2480 5 3003 2538 5 3003 3003 5 3003 3003 5 3003 3003 5 3003 3130 5 3003 1771 6 3003 3003 6 3003 .I 3004 .T Structured Programming in Cobol: An Approach for Application Programmers .W Techniques for designing and writing Cobol programs are presented. Previous work in structured programming is drawn upon and adapted. The presentation is informal: the terminology is nonmathematical as far as possible, no theorems are proved, and examples are used frequently. Top-down program design is implemented through the use of structured flowcharts, disciplined specifications, and step by step verification. A well-formed Cobol program is defined. The proper use of the GO TO and other Cobol coding practices are discussed. .B CACM January, 1977 .A Van Gelder, A. .K structured programming, top-down, well-formed program, GO TO statement, repeat statement, flowchart, application programming, Cobol, software reliability, program verification .C 4.0 4.22 5.24 .N CA770101 JB January 3, 1978 12:44 AM .X 2193 4 3004 2326 4 3004 2477 4 3004 2480 4 3004 2541 4 3004 2594 4 3004 2704 4 3004 2709 4 3004 2709 4 3004 2738 4 3004 2738 4 3004 2802 4 3004 2866 4 3004 2867 4 3004 2869 4 3004 2941 4 3004 2958 4 3004 3004 4 3004 3004 4 3004 3004 4 3004 3004 4 3004 3004 4 3004 3030 4 3004 3030 4 3004 3121 4 3004 3155 4 3004 1425 5 3004 2247 5 3004 2356 5 3004 2456 5 3004 3004 5 3004 3004 5 3004 3004 5 3004 3186 5 3004 .I 3005 .T Implications of Structured Programming for Machine Architecture .W Based on an empirical study of more than 10,000 lines of program text written in a GOTO-less language, a machine architecture specifically designed for structured programs is proposed. Since assignment, CALL, RETURN, and IF statements together account for 93 percent of all executable statements, special care is given to ensure that these statements can be implemented efficiently. A highly compact instruction encoding scheme is presented, which can reduce program size by a factor of 3. Unlike a Huffman code, which utilizes variable length fields, this method uses only fixed length (1-byte) op code and address fields. The most frequent instructions consist of a single 1-byte field. As a consequence, instruction decoding time is minimized, and the machine is efficient with respect to both space and time. .B CACM March, 1978 .A Tanenbaum, A.S. .K machine architecture, computer architecture, computer organization, instruction set design, program characteristics .C 4.12 4.22 4.9 6.21 .N CA780308 JB March 28, 1978 12:55 PM .X 2411 4 3005 2709 4 3005 2889 4 3005 2937 4 3005 2989 4 3005 3005 4 3005 3025 4 3005 3101 4 3005 2138 5 3005 3005 5 3005 3005 5 3005 3005 5 3005 .I 3006 .T Anomalies with Variable Partition Paging Algorithms .W Five types of anomalous behavior which may occur in paged virtual memory operating systems a redefined. One type of anomaly, for example, concerns the fact that, with certain reference strings and paging algorithms, an increase in mean memory allocation may result in an increase in fault rate. Two paging algorithms, are examined in terms of their anomaly potential, and reference string examples of various anomalies are presented. Two paging algorithm properties, the inclusion property and the generalized inclusion property, are discussed and the anomaly implications of these properties presented. .B CACM March, 1978 .A Franklin, M.A. Graham, G.S. Gupta, R.K. .K anomaly, memory management, program behavior, stack algorithms, virtual memory, working set, page fault frequency, paging algorithms .C 4.32 4.35 4.6 8.1 .N CA780307 JB March 28,1978 1:01 PM .X 1892 4 3006 1901 4 3006 2022 4 3006 2085 4 3006 2085 4 3006 2095 4 3006 2218 4 3006 2277 4 3006 2319 4 3006 2329 4 3006 2358 4 3006 2373 4 3006 2373 4 3006 2374 4 3006 2380 4 3006 2380 4 3006 2434 4 3006 2499 4 3006 2450 4 3006 2450 4 3006 2501 4 3006 2582 4 3006 2595 4 3006 2669 4 3006 2828 4 3006 2863 4 3006 2881 4 3006 2928 4 3006 2996 4 3006 2996 4 3006 2996 4 3006 3006 4 3006 3006 4 3006 3006 4 3006 3006 4 3006 3006 4 3006 3067 4 3006 3067 4 3006 3067 4 3006 3067 4 3006 1751 5 3006 1884 5 3006 2373 5 3006 2374 5 3006 2595 5 3006 3006 5 3006 3006 5 3006 3006 5 3006 3067 5 3006 1751 6 3006 2374 6 3006 2373 6 3006 2595 6 3006 2682 6 3006 2863 6 3006 2864 6 3006 3006 6 3006 .I 3007 .T Complexity of Computations (Corrigendum) .B CACM March, 1978 .A Rabin, M.O. .N CA780306 JB March 28, 1978 1:02 PM .X 3007 5 3007 3007 5 3007 3007 5 3007 .I 3008 .T Preserving Average Proximity in Arrays .W Programmers and data structure designers are often forced to choose between alternative structures. In storing these structures, preserving logical adjacencies or "proximity" is usually an important consideration. The combinatorial problem of storing arrays as various kinds of list structures is examined. Embeddings of graphs are used to model the loss of proximity involved in such storage schemes, and an elementary proof that arrays cannot be stored as linear lists with bounded loss of proximity is presented. Average loss of proximity is then considered, and it is shown that arrays cannot be stored as linear lists with only bounded loss of average proximity, but can be so stored in binary trees. The former result implies, for instance, that row major order is an asymptotically optimal storage strategy for arrays. .B CACM March, 1978 .A DeMillo, R.A. Eisenstat, S.C. Lipton, R.J. .K arrays, graph embedding, linear lists, proximity, average proximity, trees .C 4.34 5.24 5.25 5.32 .N CA780305 JB March 28, 1978 1:07 PM .X 1050 4 3008 1102 4 3008 378 4 3008 3008 4 3008 731 4 3008 798 4 3008 209 5 3008 3008 5 3008 3008 5 3008 3008 5 3008 .I 3009 .T Insertions and Deletions In One-Sided Height-Balanced Trees .W Recently Hirschberg has established that insertions into one-sided height-balanced trees can be done in 0(log^2N) steps. It is proved here that deletions can also be performed in 0(log^2N) steps, which answers the open problem posed by Hirschberg. .B CACM March, 1978 .A Kosaraju, S.R. .K AVL trees, balanced trees, binary search, dynamic balancing .C 3.73 3.74 4.34 5.25 5.31 .N CA780304 JB March 28, 1978 1:12 PM .X 3009 4 3009 3042 4 3009 3065 4 3009 3096 4 3009 3163 4 3009 2839 5 3009 3009 5 3009 3009 5 3009 3009 5 3009 3096 5 3009 3163 5 3009 2839 6 3009 2839 6 3009 2889 6 3009 2889 6 3009 3009 6 3009 3009 6 3009 3065 6 3009 3096 6 3009 .I 3010 .T Value Orientation of Computer Science Students .W Technological and nontechnological value orientations are investigated with special attention to the complexity of value structures. Computer science students, who are closely associated with technology, contrast with social science students, who are often technologically aloof. This is confirmed by the value ratings of 313 students at the University of Minnesota in 1972. Computer science majors were found to have a more complex value structure than social science majors. .B CACM March, 1978 .A Anderson, R.E. .K values, attitudes, students, public, social effects .C 2.11 2.12 .N CA780303 JB March 28, 1978 1:21 PM .X 3010 5 3010 3010 5 3010 3010 5 3010 .I 3011 .T Management Utilization of Computers in American Local Governments .W Traditional concepts of management information systems (MIS) bear little relation to the information systems currently in use by top management in most US local governments. What exists is management-oriented computing, involving the use of relatively unsophisticated applications. Despite the unsophisticated nature of these systems, management use of computing is surprisingly common, but also varied in its extent among local governments. Management computing is most prevalent in those governments with professional management practices where top management is supportive of computing and tends to control computing decisions and where department users have less control over design and implementation activities. Finally, management computing clearly has impacts for top managers, mostly involving improvements in decision information. .B CACM March, 1978 .A Dutton, W.H. Kraemer, K.L. .K computer utilization, management information system, American local government, city government computers, county government computers, computer impacts, management computing .C 2.0 2.1 2.11 2.19 2.4 2.45 2.9 3.5 3.53 .N CA780302 JB March 28, 1978 1:46 PM .X 2407 4 3011 2852 4 3011 2977 4 3011 2985 4 3011 3003 4 3011 3011 4 3011 3011 4 3011 3011 4 3011 3011 4 3011 3035 4 3011 3050 4 3011 2075 5 3011 2302 5 3011 2345 5 3011 2485 5 3011 3011 5 3011 3011 5 3011 3011 5 3011 .I 3012 .T The Use of an Interactive Information Storage and Retrieval System in Medical Research .W This paper presents the results of a study of the use of an interactive computerized storage and retrieval system. A monitor built into the computer system provided usage data for the study. Additional data on user reactions were gathe red from a questionnaire. The results show the important role played by frequently chosen laboratory reference leaders in influencing the use of this system. The implications of the study for the design of similar systems are discussed. .B CACM March, 1978 .A Lucas, H.C.Jr. .K implementation, system use, information storage and retrieval system .C 2.10 3.50 3.72 .N CA780301 JB March 28, 1978 1:51 PM .X 3012 5 3012 3012 5 3012 3012 5 3012 .I 3013 .T Some New Methods of Detecting Step Edges in Digital Pictures .W This note describes two operators that respond to step edges, but not to ramps. The first is similar to the digital Laplacian, but uses the max, rather than the sum, of the x and y second differences. The second uses the difference between the mean and median gray levels in a neighborhood. The outputs obtained from these operators applied to a set of test pictures are compared with each other and with the standard digital Laplacian and gradient. A third operator, which uses the distance between the center and centroid of a neighborhood as an edge value, is also briefly considered; it turns out to be equivalent to one of the standard digital approximations to the gradient. .B CACM February,1978 .A Schachter, B.J. Rosenfeld, A. .K image processing, pattern recognition, edge detection .C 3.63 .N CA780210 JB March 28, 1978 1:56 PM .X 3013 5 3013 3013 5 3013 3013 5 3013 .I 3014 .T Is "Sometime" Sometimes Better than "Always"? (Intermittent Assertions in Proving Program Correctness) .W This paper explores a technique for proving the correctness and termination of programs simultaneously. This approach, the intermittent-assertion method, involves documenting the program with assertions that must be true at some time when control passes through the corresponding point, but that need not be true every time. The method, introduced by Burstall, promises to provide a valuable complement to the more conventional methods. The intermittent-assertion method is presented with a number of examples of correctness and termination proofs. Some of these proofs are markedly simpler than their conventional counterparts. On the other hand, it is shown that a proof of correctness or termination by any of the conventional techniques can be rephrased directly as a proof using intermittent assertions. Finally, it is shown how the intermittent-assertion method can be applied to prove the validity of program transformations and the correctness of continuously operating programs. .B CACM February, 1978 .A Manna, Z. Waldinger, R. .K intermittent assertions, correctness of programs, termination of programs, program verification, program transformation, continuously operating programs. .C 5.24 .N CA780209 JB March 28, 1978 2:04 PM .X 2021 4 3014 2222 4 3014 2227 4 3014 2315 4 3014 2326 4 3014 2470 4 3014 2732 4 3014 2865 4 3014 2896 4 3014 2943 4 3014 3014 4 3014 3014 4 3014 3068 4 3014 3077 4 3014 3143 4 3014 1834 5 3014 2981 5 3014 3014 5 3014 3014 5 3014 3014 5 3014 3157 5 3014 3014 6 3014 .I 3015 .T Relaxation Methods for Image Reconstruction .W The problem of recovering an image (a function of two variables) from experimentally available integrals of its grayness over thin strips is of great importance in a large number of scientific areas. An important version of the problem in medicine is that of obtaining the exact density distribution within the human body from X-ray projections.One approach that has been taken to solve this problem consists of translating the available information into a system of linear inequalities. The size and the sparsity of the resulting system (typically, 25,000 inequalities with fewer than 1 percent of the coefficients nonzero) makes methods using successive relaxations computationally attractive, as compared to other ways of solving systems of inequalities. In this paper, it is shown that, for a consistent system of linear inequalities, any sequence of relaxarion parameters lying strictly between 0 and 2 generates a sequence of vectors which converges to a solution. Under the same assumptions, for a system of linear equations, the relaxation method converges to the minimum norm solution. Previously proposed techniques are shown to be special cases of our procedure with different choices of relaxation parameters. The practical consequences for image reconstruction of the choice of the relaxation parameters are discussed. .B CACM February, 1978 .A Herman, G.T. Lent, A. Lutz, P.H. .K biomedical image processing, image reconstruction, X-ray tomography, mathematical programming, linear inequalities, relaxation techniques .C 3.12 3.17 3.34 3.63 5.14 5.18 5.41 .N CA780208 JB March 28, 1978 2:13 PM .X 3015 5 3015 3015 5 3015 3015 5 3015 .I 3016 .T A Comparison of Numerical Techniques in Markov Modeling .W This paper presents several numerical methods which may be used to obtain the stationary probability vectors of Markovian models. An example of a nearly decomposable system is considered, and the results obtained by the different methods examined. A post mortem reveals why standard techniques often fail to yield the correct results. Finally, a means of estimating the error inherent in the decomposition of certain models is presented. .B CACM February, 1978 .A Stewart, W.J. .K Markov models, numerical techniques, simultaneous iteration, near-decomposability .C 4.6 5.14 8.1 .N CA780207 JB March 28, 1978 3:43 PM .X 2374 4 3016 2481 4 3016 2669 4 3016 2863 4 3016 3016 4 3016 3016 4 3016 3052 4 3016 3070 4 3016 3153 4 3016 1901 5 3016 2741 5 3016 3016 5 3016 3016 5 3016 3016 5 3016 .I 3017 .T B-trees Re-examined .W The B-tree and its variants have, with increasing frequency, been proposed as a basic storage structure for multiuser database applications. Here, three potential problems which must be dealt with in such a structure that do not arise in more traditional static directory structures are indicated. One problem is a possible performance penalty. .B CACM February, 1978 .A Held, G. Stonebraker, M. .K B-tree, directory, static directory, dynamic directory, index sequential access method .C 3.70 3.73 3.74 4.33 4.34 .N CA780206 JB March 28, 1978 3:46 PM .X 2626 4 3017 2786 4 3017 2840 4 3017 2919 4 3017 3017 4 3017 3110 4 3017 3174 4 3017 2629 5 3017 3017 5 3017 3017 5 3017 3017 5 3017 .I 3018 .T Covering Edges by Cliques with Regard to Keyword Conflicts and Intersection Graphs .W Kellerman has presented a method for determining keyword conflicts and described a heuristic algorithm which solves a certain combinatorial optimization problem in connection with this method. This optimization problem is here shown to be equivalent to the problem of covering the edges of a graph by complete subgraphs with the objective of minimizing the number of complete subgraphs. A relationship between this edge-clique-cover problem and the graph coloring problem is established which allows algorithms for either one of these problems to be constructed from algorithm for the other. As consequences of this relationship, the keyword conflict problem and the edge-clique-cover problem are shown to be NP-complete, and if P=/NP then they do not admit polynomial-time approximation algorithms which always produce solutions within a factor less than 2 from the optimum. .B CACM February, 1978 .A Kou, L.T. Stockmeyer, L.J. Wong, C.K. Watson, T.J. .K keyword conflicts, intersection graphs, node clique cover, edge clique cover, computational complexity, NP-complete problems, polynomial-time heuristics .C 4.12 5.25 5.32 .N CA780205 JB March 28, 1978 4:18 PM .X 3018 5 3018 3018 5 3018 3018 5 3018 .I 3019 .T The GRE Advanced Test in Computer Science .B CACM February, 1978 .A Austing, R.H. .N CA780204 JB March 28, 1978 4:19 PM .X 3019 5 3019 3019 5 3019 3019 5 3019 .I 3020 .T Systematic Recursion Removal .W The recursion removal algorithm presented by Strong and Walker is amplified and applied to a relatively complex PL/I program. The aim is to demonstrate systematic recursion-removal techniques on something more complex than Knuth's "sturdy toddler" and to obtain measurements of the cost of procedure linkage in PL/I and the savings achievable via procedure integration in the presence of recursion. First, the paper describes the recursion-removal process and the example on which it will be illustrated. Recursion removal is then applied to the two major parts of this example and the final result of the process is displayed. Our performance comparison results are presented and our conclusions are briefly discussed. .B CACM February, 1978 .A Auslander, M.A. Strong, H.R. .K recursion removal, recursion elimination, optimization, procedure linkage, procedure integration .C 4.19 4.49 4.9 5.24 .N CA780203 JB March 28, 1978 4:26 PM .X 3020 4 3020 2953 5 3020 3020 5 3020 3020 5 3020 3020 5 3020 .I 3021 .T A Method for Obtaining Digital Signatures and Public-Key Cryptosystems .W An encryption method is presented with the novel property that publicly revealing an encryption key does not thereby reveal the corresponding decryption key. This has two important consequences: (1) Couriers or other secure means are not needed to transmit keys, since a message can be enciphered using an encryption key publicly revealed by the intended recipient. Only he can decipher the message, since only he knows the corresponding decryption key. (2) A message can be "signed" using a privately held decryption key. Anyone can verify this signature using the corresponding publicly revealed encryption key. Signatures cannot be forged, and a signer cannot later deny the validity of his signature. This has obvious applications in "electronic mail" and "electronic funds transfer" systems. A message is encrypted by representing it as a number M, raising M to a publicly specified power e, and then taking the remainder when the result is divided by the publicly specified product, n, of two large secret prime numbers p and q. Decryption is similar;only a different, secret, power d is used, where e * d = 1 (mod(p-1) * (q-1)). the security of the system rests in part on the difficulty of factoring the published divisor, n. .B CACM February, 1978 .A Rivest, R.L. Shamir, A. Adleman, L. .K digital signatures, public-key cryptosystems, privacy, authentication, security, factorization, prime number, electronic mail, message-passing, electronic funds transfer, cryptography. .C 2.12 3.15 3.50 3.81 5.25 .N CA780202 JB March 28, 1978 4:40 PM .X 3021 4 3021 3158 4 3021 3021 5 3021 3021 5 3021 3021 5 3021 3038 5 3021 3111 5 3021 3177 5 3021 3021 6 3021 3021 6 3021 3021 6 3021 .I 3022 .T Computer Science Faculties: The Current Status of Minorities and Women .W The results of a survey conducted in the fall of 1975 to determine the status of women and minority faculty members in academic computer science are presented. Faculty members were compared with respect to professional background, salaries, teaching load, publication records, and research grants. Analysis of the data indicated that the over-all verdict is one of general equality among women, minorities, and men. .B CACM February, 1978 .A Mamrak, S.A. Montanelli, R.G.Jr. .K discrimination against women, discrimination against minorities, faculty, computer science degree programs, affirmative action, teaching loads, salaries, publications .C 1.52 1.53 2.2 2.3 .N CA780201 JB March 28, 1978 5:11 PM .X 3022 4 3022 3123 4 3022 2823 5 3022 3022 5 3022 3022 5 3022 3022 5 3022 3123 5 3022 2823 6 3022 2861 6 3022 2962 6 3022 3022 6 3022 .I 3023 .T Architecture of the IBM System/370 .W This paper discusses the design considerations for the architectural extensions that distinguish System/370 from System/360. It comments on some experiences with the original objectives for System/360 and on the efforts to achieve them, and it describes the reasons and objectives for extending the architecture. It covers virtual storage, program control, data-manipulation instructions, timing facilities, multiprocessing, debugging and monitoring, error handling, and input/output operations. A final section tabulates some of the important parameters of the various IBM machines which implement the architecture. .B CACM January, 1978 .A Case, R.P. Padges, A. .K computer systems, architecture, instruction sets, virtual storage, error handling .C 6.0 6.21 .N CA780107 JB March 28, 1978 5:16 PM .X 3023 5 3023 3023 5 3023 3023 5 3023 .I 3024 .T The CRAY-1 Computer System .W This paper describes the CRAY-1, discusses the evolution of its architecture, and gives an account of some of the problems that were overcome during its manufacture. The CRAY-1 is the only computer to have been built to date that satisfies ERDA's Class VI requirement (a computer capable of processing from 20 to 60 million floating point operations per second) [1]. The CRAY-1's Fortran compiler (CFT) is designed to give the scientific user immediate access to the benefits of the CRAY-1's vector processing architecture. An optimizing compiler, CFT, "vectorizes" innermost DO loops. Compatible with the ANSI 1966 Fortran Standard and with many commonly supported Fortran extensions, CFT does not require any source program modifications or the use of additional nonstandard Fortran statements to achieve vectorization. Thus the user's investment of hundreds of man months of effort to develop Fortran programs for other contemporary computers is protected. .B CACM January, 1978 .A Russell, R.M. .K architecture, computer systems .C 1.2 6.2 6.3 .N CA780106 JB March 28, 1978 5:24 PM .X 3024 5 3024 3024 5 3024 3024 5 3024 .I 3025 .T The Evolution of the DEC system 10 .W The DEC system 10, also known as the PDP-10, evolved from the PDP-6 (circa 1963) over five generations of implementations to presently include systems covering a price range of five to one. The origin and evolution of the hardware, operating system, and languages are described in terms of technological change, user requirements, and user developments. The PDP-10's contributions to computing technology include: accelerating the transition from batch oriented to time sharing computing systems; transferring hardware technology within DEC (and elsewhere) to minicomputer design and manufacturing; supporting minicomputer hardware and software development; and serving as a model for single user and timeshared interactive minicomputer/microcomputer systems. .B CACM January, 1978 .A Bell, C.G. Kotok, A. Hastings, T.N. Hill, R. .K computer structures, architecture, operating system, timesharing .C 4.32 6.21 6.3 .N CA780105 JB March 28, 1978 5:31 PM .X 2411 4 3025 2709 4 3025 2889 4 3025 2937 4 3025 2989 4 3025 3005 4 3025 3025 4 3025 3025 4 3025 3101 4 3025 2138 5 3025 2989 5 3025 3025 5 3025 3025 5 3025 3025 5 3025 .I 3026 .T The Evolution of the Sperry Univac 1100 Series: A His tory, Analysis, and Projection .W The 1100 series systems are Sperry Univac's large-scale main frame computer systems. Beginning with the 1107 in 1962, the 1100 series has progressed through a succession of eight compatible computer models to the latest system, the 1100/80, introduced in 1977. The 1100 series hardware architecture is based on a 36-bit word, ones complement structure which obtains one operand from storage and one from a high-speed register, or two operands from high-speed registers. The 1100 Operating System is designed to support a symmetrical multiprocessor configuration simultaneously providing multiprogrammed batch, timesharing, and transaction environments. .B CACM January, 1978 .A Borgherson, B.R. Hanson, M.L. Hartley, P.A. .K 1100 computer series, computer architecture, multiprocessing languages, data management systems, end user facilities, executive control software .C 1.3 4.0 4.20 4.30 4.32 4.33 4.35 6.0 6.21 6.30 .N CA780104 JB March 28, 1978 5:38 PM .X 3026 5 3026 3026 5 3026 3026 5 3026 .I 3027 .T The Development of the MU5 Computer System .W Following a brief outline of the background of the MU5 project, the aims and ideas for MU5 are discussed. A description is then given of the instruction set, which includes a number of features conducive to the production of efficient compiled code from high-level language source programs. The design of the processor is then traced from the initial ideas for an associatively addressed "name store" to the final multistage pipeline structure involving a prediction mechanism for instruction prefetching and a function queue for array element accessing. An overall view of the complete MU5 complex is presented together with a brief indication of its performance. .B CACM January, 1978 .A Ibbett, R.N. Capon, P.C. .K architecture, naming, virtual storage, instruction set, descriptor, pipeline, instruction buffering, associative storage, function queue, computer complex .C 4.10 4.12 6.21 6.33 .N CA780103 JB March 28, 1978 5:44 PM .X 3027 4 3027 3027 5 3027 3027 5 3027 3027 5 3027 3028 5 3027 3027 6 3027 .I 3028 .T The Manchester Mark I and Atlas: A His torical Perspective .W In 30 years of computer design at Manchester University two systems stand out: the Mark I (developed over the period 1946-49) and the Atlas (1955-62). This paper places each computer in its his torical context and then describes the architecture and system software in present-day terminology. Several design concepts such as address-generation and store management have evolved in the progression from Mark I to Atlas. The wider impact of Manchester innovations in these and other areas is discussed, and the contemporary performance of the Mark I and Atlas is evaluated. .B CACM January, 1978 .A Lavington, S.H. .K architecture, index registers, paging, virtual storage, extra codes, compilers, operating systems, Ferranti, Manchester Mark I, Atlas, ICL .C 1.2 4.22 4.32 6.21 6.30 .N CA780102 JB March 28,1978 5:50 PM .X 3028 4 3028 3027 5 3028 3028 5 3028 3028 5 3028 3028 5 3028 3028 6 3028 .I 3029 .T Foreword to the Special Issue on Computer Architecture .B CACM January, 1978 .A Fuller,S.H. .N CA780101 JB March 28, 1978 5:52 PM .X 3029 5 3029 3029 5 3029 3029 5 3029 .I 3030 .T An Example of Hierarchical Design and Proof .W Hierarchical programming is being increasingly recognized as helpful in the construction of large programs. Users of hierarchical techniques claim or predict substantial increases in productivity and in the reliability of the programs produced. In this paper we describe a formal method for hierarchical program specification, implementation, and proof. We apply this method to a significant list processing problem and also discuss a number of extensions to current programming languages that ease hierarchical program design and proof. .B CACM December, 1978 .A Spitzen, J.M. Levitt, K.N. Robinson, L. .K Program verification, specification, data abstraction, software modules, hierarchical structures .C 4.0 4.6 5.21 5.24 .N CA781209 DH January 16, 19794:43 PM .X 2480 4 3030 2704 4 3030 2723 4 3030 2738 4 3030 2738 4 3030 2866 4 3030 2867 4 3030 2869 4 3030 2941 4 3030 2941 4 3030 2956 4 3030 2958 4 3030 2981 4 3030 3004 4 3030 3004 4 3030 3030 4 3030 3030 4 3030 3030 4 3030 3030 4 3030 3030 4 3030 3030 4 3030 3031 4 3030 3049 4 3030 3077 4 3030 3104 4 3030 3155 4 3030 2247 5 3030 2356 5 3030 2457 5 3030 2651 5 3030 2958 5 3030 2972 5 3030 3030 5 3030 3030 5 3030 3030 5 3030 .I 3031 .T Abstract Data Types and Software Validation .W A data abstraction can be naturally specified using algebraic axioms. The virtue of these axioms is that they permit a representation-independent formal specification of a data type. An example is given which shows how to employ algebraic axioms at successive levels of implementation. The major thrust of the paper is twofold. First, it is shown how the use of algebraic axiomatizations can simplify the process of proving the correctness of an implementation of an abstract data type. Second, semi-automatic tools are described which can be used both to automate such proofs of correctness and to derive an immediate implementation from the axioms. This implementation allows for limited testing of programs at design time, before a conventional implementation is accomplished. .B CACM December, 1978 .A Guttag, J.V. Horowitz, E. Musser, D.R. .K Abstract data type, correctness proof, data type, data structure, specification .C 4.34 5.24 .N CA781208 DH January 18, 1979 2:51 PM .X 3030 4 3031 3031 4 3031 3031 4 3031 3049 4 3031 3105 4 3031 3148 4 3031 3150 4 3031 2939 5 3031 2958 5 3031 3031 5 3031 3031 5 3031 3031 5 3031 .I 3032 .T Reverse Path Forwarding of Broadcast Packets .W A broadcast packet is for delivery to all nodes of a network. Algorithms for accomplishing this delivery through a store-and-forward packet switching computer network include (1) transmission of separately addressed packets. (2) multidestination addressing, (3) hot potato forwarding,(4) spanning tree forwarding, and (5) source based forwarding. To this list of algorithms we add (6) reverse path forwarding, a broadcast routing method which exploits routing procedures and data structures already available for packet switching. Reverse path forwarding is a practical algorithm for broadcast routing in store-and-forward packet switching computer networks. The algorithm is described as being practical because it is not optimal according to metrics developed for its analysis in this paper, and also because it can be implemented in existing networks with less complexity than that required for the known alternatives. .B CACM December, 1978 .A Dalal, Y.K. Metcalfe, R.M. .K Reverse path forwarding, broadcast packets, routing, computer networks, store-and-forward packet switching, broadcast protocols .C 3.81 4.32 5.32 .N CA781207 DH January 18, 1979 3:10 PM .X 3032 4 3032 3119 4 3032 2849 5 3032 3032 5 3032 3032 5 3032 3032 5 3032 .I 3033 .T Optimizing Decision Trees Through Heuristically Guided Search .W Optimal decision table conversion has been tackled in the literature using two approaches, dynamic programming and branch-and-bound. The former technique is quite effective, but its time and space requirements are independent of how "easy" the given table is. Furthermore, it cannot be used to produce good, quasi optimal solutions. The branch-and-bound technique uses a good heuristic to direct the search, but is cluttered up by an enormous search space, since the number of solutions increases with the number of test variables according to a double exponential. In this paper we suggest a heuristically guided top-down search algorithm which, like dynamic programming, recognizes identical subproblems but which can be used to find both optimal and quasi optimal solutions. The heuristic search method introduced in this paper combines the positive aspects of the above two techniques. Compressed tables with a large number of variables can be handled without deriving expanded tables first. .B CACM December, 1978 .A Martelli, A. Montanari, U. .K Decision table, optimal decision table conversion, decision tree, heuristic search, AND/OR graphs, dynamic programming, branch-and-bound .C 3.59 3.66 5.42 8.3 .N CA781206 DH January 18, 1979 3:56 PM .X 3033 4 3033 3113 4 3033 2856 5 3033 3033 5 3033 3033 5 3033 3033 5 3033 .I 3034 .T Detection of Logical Errors in Decision Table Programs .W In this paper an algorithm to detect logical errors in a limited-entry decision table and in loop-free programs with embedded decision tables is developed. All the conditions in the decision tables are assumed to be inequalities or equalities relating linear expressions. It is also assumed that actions in a decision table are linear in variables which occur in the condition stub of the decision table (or tables) to which control is transferred from the table. The algorithm is based on determining whether a set of linear inequalities has or does not have a solution. The algorithm described in the paper is implemented in Fortran IV. .B CACM December, 1978 .A Ibramsha, M. Rajaraman, V. .K Error diagnostics, decision tables .C 3.5 4.1 4.42 5.24 .N CA781205 DH January 18, 1979 4:06 PM .X 2053 4 3034 2221 4 3034 2273 4 3034 2453 4 3034 2517 4 3034 2517 4 3034 2518 4 3034 2616 4 3034 2616 4 3034 2856 4 3034 3034 4 3034 3034 4 3034 3034 4 3034 1684 5 3034 2053 5 3034 2517 5 3034 3034 5 3034 3034 5 3034 3034 5 3034 .I 3035 .T A Strategic Planning Methodology for the Computing Effort in Higher Education: An Empirical Evaluation .W The findings of a study designed to address the pressing problems associated with the strategic planning of the computing effort in higher education are presented here. A planning methodology was developed and tested through implementation at a university. Two years after the methodology was implemented, the effectiveness of the planning methodology was assessed in terms of the improvement of the delivery of computing services to the major institutional roles of instruction, research, and administration. Two control institutions were employed to contrast the improvements at the test institution. The results of the research indicate the planning methodology significantly enhanced the delivery of computing services. .B CACM December, 1978 .A Wetherbe, J.C. Dock, V.T. .K Computer management, computer budget, university computing, computer planning .C 2.41 3.51 .N CA781204 DH January 18, 1979 4:26 PM .X 2977 4 3035 2985 4 3035 3011 4 3035 3035 4 3035 2485 5 3035 3035 5 3035 3035 5 3035 3035 5 3035 .I 3036 .T The Selection of Optimal Tab Settings .W A new generation of computer terminals allows tab settings to be selected and set by the computer. This feature can be used to reduce the number of characters that are needed to represent a document for transmission and printing. In this note, an algorithm is given for selecting the optimal set of tab stops for minimizing the number of characters transmitted. An implementation of the algorithm has reduced the number of characters transmitted by from 7 to 30 percent, but requires a prepass through the document to compute a matrix used in determining the optimal set tab stops. The use of fixed tab stops, as a heuristic alternative, can achieve about 80 percent of optimal with no prepass. .B CACM December, 1978 .A Peterson, J.L. Bitner, J.R. Howard, J.H. .K Tabs, word processing, dynamic programming .C 3.9 4.4 .N CA781203 DH January 18, 1979 4:34 PM .X 3036 5 3036 3036 5 3036 3036 5 3036 .I 3037 .T A Linear Sieve Algorithm for Finding Prime Numbers .W A new algorithm is presented for finding all primes between 2 and n. The algorithm executes in time proportional to n (assuming that multiplication of integers not larger than n can be performed in unit time). The method has the same arithmetic complexity as the algorithm presented by Mairson [6]; however, our version is perhaps simpler and more elegant. It is also easily extended to find the prime factorization of all integers between 2 and n in time proportional to n. .B CACM December, 1978 .A Gries, D. Misra, J. .K Primes, algorithms, data structures .C 5.25 5.24 5.29 .N CA781202 DH January 22, 1979 11:12 AM .X 2896 4 3037 2972 4 3037 3037 4 3037 3037 4 3037 3039 4 3037 3043 4 3037 3073 4 3037 2732 5 3037 2927 5 3037 3037 5 3037 3037 5 3037 3037 5 3037 .I 3038 .T Using Encryption for Authentication in Large Networks of Computers .W Use of encryption to achieve authenticated communication in computer networks is discussed. Example protocols are presented for the establishment of authenticated connections, for the management of authenticated mail, and for signature verification and document integrity guarantee. Both conventional and public-key encryption algorithms are considered as the basis for protocols. .B CACM December, 1978 .A Needham, R.M. Schroeder, M.D. .K Encryption, security, authentication, networks, protocols, public-key cryptosystems, data encryption standard .C 3.81 4.31 4.35 .N CA781201 DH January 22, 1979 11:18 AM .X 3038 4 3038 3111 4 3038 3177 4 3038 3021 5 3038 3038 5 3038 3038 5 3038 3038 5 3038 3158 5 3038 2436 6 3038 3038 6 3038 3111 6 3038 .I 3039 .T On-the-Fly Garbage Collection: An Exercise in Cooperation .W As an example of cooperation between sequential processes with very little mutual interference despite frequent manipulations of a large shared data space, a technique is developed which allows nearly all of the activity needed for garbage detection and collection to be performed by an additional processor operating con-currently with the processor devoted to the computation proper. Exclusion and synchronization constraints have been kept as weak as could be achieved; the severe complexities engendered by doing so are illustrated. .B CACM November, 1978 .A Dijkstra, E.W. Lamport, L. Martin, A.J. Scholten, C.S. Steffens, E.F.M. .K Multiprocessing, fine-grained interleaving, cooperation between sequential processes with minimized mutual exclusion, program correctness for multiprogramming tasks, garbage collection .C 4.32 4.34 4.35 4.39 5.24 .N CA781112 DH January 22, 1979 3:24 PM .X 2838 4 3039 2896 4 3039 2896 4 3039 2972 4 3039 3037 4 3039 3039 4 3039 3039 4 3039 3039 4 3039 3043 4 3039 3073 4 3039 3074 4 3039 3112 4 3039 2723 5 3039 2732 5 3039 2896 5 3039 3039 5 3039 3039 5 3039 3039 5 3039 .I 3040 .T Synthesizing Constraint Expressions .W A constraint network representation is presented for a combinatorial search problem: finding values for a set of variables subject to a set of constraints. A theory of consistency levels in such networks is formulated, which is related to problems of backtrack tree search efficiency. An algorithm is developed that can achieve any level of consistency desired, in order to preprocess the problem for subsequent backtrack search, or to function as an alternative to backtrack search by explicitly determining all solutions. .B CACM November, 1978 .A Freuder, E.C. .K Backtrack, combinatorial algorithms, constraint networks, constraint satisfaction, graph coloring, network consistency, relaxation, scene labeling, search .C 3.63 3.64 5.25 5.30 5.32 .N CA781111 DH January 22, 1979 3:43 PM .X 1504 4 3040 3040 4 3040 1145 5 3040 3040 5 3040 3040 5 3040 3040 5 3040 .I 3041 .T Median Split Trees: A Fast Lookup Technique for Frequently Occuring Keys .W Split trees are a new technique for searching sets of keys with highly skewed frequency distributions. A split tree is a binary search tree each node of which contains two key values-a node value which is a maximally frequent key in that subtree, and a split value which partitions the remaining keys (with respect to their lexical ordering) between the left and right subtrees. A median split tree (MST) uses the lexical median of a node's descendents as its split value to force the search tree to be perfectly balanced, achieving both a space efficient representation of the tree and high search speed. Unlike frequency ordered binary search trees, the cost of a successful search of an MST is log n bounded and very stable around minimal values. Further, an MST can be built for a given key ordering and set of frequencies in time n log n, as opposed to n2 for an optimum binary search tree. A discussion of the application of MST's to dictionary lookup for English is presented, and the performance obtained is contrasted with that of other techniques. .B CACM November, 1978 .A Sheil, B.A. .K Tree search, dictionary lookup, binary search, heaps, balanced trees, Zipf's Law, information retrieval .C 3.74 5.25 5.39 .N CA781110 DH January 25, 1979 9:49 AM .X 3041 4 3041 3041 4 3041 3126 4 3041 3176 4 3041 2846 5 3041 2905 5 3041 3041 5 3041 3041 5 3041 3041 5 3041 .I 3042 .T Power Trees .W The new class of Pk trees is presented, where height balance is maintained for the nodes Iying on particular paths. The number of nodes of a Pk tree asymptotically grows as a power of the height, in the worst case. A procedure for node insertion is given, and the class of trees considered is restricted to IPk trees, which are buildable by such a procedure. The average behavior of such trees, studied by an extensive set of simulation runs, is close to that of AVL trees. In particular, the family of IPO trees whose main advantage is the reduced number of restructurings required after node insertion, is analyzed. .B CACM November, 1978 .A Luccio, F. Pagli, L. .K Binary search trees, Pk trees, IPk trees, search length, node insertion, subtree rotation .C 3.73 3.74 4.34 5.25 5.31 .N CA781109 DH January 25, 1979 4:29 PM .X 2839 4 3042 2889 4 3042 2968 4 3042 3009 4 3042 3042 4 3042 3042 4 3042 3042 4 3042 3042 4 3042 3065 4 3042 3096 4 3042 3096 4 3042 3163 4 3042 3163 4 3042 2455 5 3042 2839 5 3042 2889 5 3042 2968 5 3042 3042 5 3042 3042 5 3042 3042 5 3042 .I 3043 .T Distributed Processes: A Concurrent Programming Concept .W A language concept for concurrent processes without common variables is introduced. These processes communicate and synchronize by means of procedure calls and guarded regions. This concept is proposed for real-time applications controlled by microcomputer networks with distributed storage. The paper gives several examples of distributed processes and shows that they include procedures, coroutines, classes, monitors, processes, semaphores, buffers, path expressions, and input/output as special cases. .B CACM November, 1978 .A Hansen, P. .K Concurrent programming, distributed processes, microprocessor networks, nondeterminism, guarded regions, programming languages, process communication and scheduling, sorting arrays, coroutines, classes, monitors, processes, semaphores, buffers, path expressions, input/output .C 3.8 4.2 4.22 4.32 5.24 .N CA781108 DH January 26, 1979 10:40 AM .X 2865 4 3043 2866 4 3043 2896 4 3043 2898 4 3043 2972 4 3043 2972 4 3043 3037 4 3043 3039 4 3043 3043 4 3043 3043 4 3043 3073 4 3043 3128 4 3043 3144 4 3043 2597 5 3043 2732 5 3043 3043 5 3043 3043 5 3043 3043 5 3043 .I 3044 .T A Note on Conditional Expressions .W Evaluation of a conditional expression may succeed even when the "deciding predicate" diverges and the alternatives are records (or nodes) whose fields have different content. .B CACM November, 1978 .A Friedman, D.P. Wise, D.S. .K Parallel evaluation, suspending cons, Lisp, conditional forms, if-then-else, ambiguous function, infinite structures .C 4.2 4.13 4.32 5.24 .N CA781107 DH January 26, 1979 10:44 AM .X 1469 4 3044 1486 4 3044 1491 4 3044 1781 4 3044 2178 4 3044 2326 4 3044 2470 4 3044 2684 4 3044 3044 4 3044 1303 5 3044 3044 5 3044 3044 5 3044 3044 5 3044 .I 3045 .T A Simple Recovery-Only Procedure For SImple Precedence Parsers .W A simple method is described enabling simple precedence parsers to recover from syntax errors. No attempt to repair errors is made, yet parsing and most semantic processing can continue. The result is a good "first approximation" to syntax error handling with negligible increase in parsing time, space, and complexity of both the parser and its table generator. .B CACM November, 1978 .A Ripley, D.G. .K Syntax errors, error recovery, parsing, simple precedence, compilers, debugging .C 4.12 4.42 5.23 .N CA781106 DH January 26, 1979 10:52 AM .X 1379 4 3045 1542 4 3045 1683 4 3045 1693 4 3045 1693 4 3045 1781 4 3045 1781 4 3045 1787 4 3045 1836 4 3045 1836 4 3045 1945 4 3045 1945 4 3045 2015 4 3045 2060 4 3045 2060 4 3045 2061 4 3045 2061 4 3045 2082 4 3045 2091 4 3045 2091 4 3045 2152 4 3045 2179 4 3045 2179 4 3045 2340 4 3045 2356 4 3045 2546 4 3045 2546 4 3045 2603 4 3045 2698 4 3045 2698 4 3045 2708 4 3045 2708 4 3045 2708 4 3045 2820 4 3045 2824 4 3045 2971 4 3045 2982 4 3045 2986 4 3045 3045 4 3045 3045 4 3045 3045 4 3045 3093 4 3045 1477 5 3045 1491 5 3045 2534 5 3045 3045 5 3045 3045 5 3045 3045 5 3045 .I 3046 .T Computer Generation of Gamma Random Variables - II .W A rejection method is proposed for generating gamma variates with nonintegral shape parameter a, a > 1. This method is similar to other methods given by Fishman, Wallace, and Tadikamalla and is faster than these methods for a> 2. The core storage requirements and the programming effort for the proposed method are similar to those of Wallace's or Tadikamalla's methods. The computational times for the proposed method remain fairly constant for medium and large values of a and are superior to times obtained by Ahrens and Dieter's method for all values of a. The proposed method is simpler than Ahrens and Dieter's method. .B CACM November, 1978 .A Tadikamalla, P.R. .K Gamma variables, rejection method, computer methods .C 5.5 8.1 .N CA781105 DH January 26, 1979 11:02 AM .X 2847 4 3046 2928 4 3046 3046 4 3046 3046 4 3046 3046 4 3046 3098 4 3046 3098 4 3046 3107 4 3046 2569 5 3046 2847 5 3046 3046 5 3046 3046 5 3046 3046 5 3046 3098 5 3046 .I 3047 .T Using Synthetic Images to Register Real Images with Surface Models .W A number of image analysis tasks can benefit from registration of the image with a model of the surface being imaged. Automatic navigation using visible light or radar images requires exact alignment of such images with digital terrain models. In addition, automatic classification of terrain, using satellite imagery, requires such alignment to deal correctly with the effects of varying sun angle and surface slope. Even inspection techniques for certain industrial parts may be improved by this means. We achieve the required alignment by matching the real image with a synthetic image obtained from a surface model and known positions of the light sources. The synthetic image intensity is calculated using the reflectance map, a convenient way of describing surface reflection as a function of surface gradient. We illustrate the technique using LANDSAT images and digital terrain models. .B CACM November, 1978 .A Horn, B.K.P. Bachman, B.L. .K Image registration, synthetic images, surface models, automatic hill shading, digital terrain models, image transformation, image matching, shaded images .C 3.63 3.11 3.14 8.2 3.83 .N CA781104 DH January 26, 1979 11:16 AM .X 2816 4 3047 2816 4 3047 2828 4 3047 2827 4 3047 2913 4 3047 3047 4 3047 3047 4 3047 2751 5 3047 2829 5 3047 3047 5 3047 3047 5 3047 3047 5 3047 .I 3048 .T Performance Evaluation of Highly Concurrent Computers by Deterministic Simulation .W Simulation is presented as a practical technique for performance evaluation of alternative configurations of highly concurrent computers. A technique is described for constructing a detailed deterministic simulation model of a system. In the model a control stream replaces the instruction and data streams of the real system. Simulation of the system model yields the timing and resource usage statistics needed for performance evaluation, without the necessity of emulating the system. As a case study, the implementation of a simulator of a model of the CPU-memory subsystem of the IBM 360/91 is described. The results of evaluating some alternative system designs are discussed. The experiments reveal that, for the case study, the major bottlenecks in the system are the memory unit and the fixed point unit. Further, it appears that many of the sophisticated pipelining and buffering technique simplemented in the architecture of the IBM 360/91 are of little value when high-speed (cache) memory is used, as in the IBM 360/195. .B CACM November, 1978 .A Kumar, B. Davidson, E.S. .K Performance evaluation, deterministic simulation, control stream, concurrent computers .C 6.20 8.1 .N CA781103 DH January 26, 1979 11:26 AM .X 3048 5 3048 3048 5 3048 3048 5 3048 .I 3049 .T A Simply Extended and Modified Batch Environment Graphical System (SEMBEGS) .W SEMBEGS is a complete batch environment graphical system containing components for handling graphical data files, for displaying the contents of these files on a variety of graphical hardware, and for performing graphical batch input operations. SEMBEGS is easy to extend and modify to meet the growing needs of a large batch environment, and is even extendable to a fully interactive system. The paper presents the conceptual view of graphics leading to the design of SEMBEGS and outlines the major components of the system. The design of SEMBEGS is founded upon the basic assumption that the true aim of computer graphics is to describe graphical entities, rather than, as commonly held, to provide graphical input and output functional capabilities. SEMBEGS is built around a Basic Graphical Data Management System (BAGDAMS) which provides a common means of communicating the descriptions of graphical entities between the various components of SEMBEGS. BAGDAMS provides facilities for storing, retrieving, and manipulating the descriptions of graphical entities provided by, and received by application programs, graphics packages, and graphical devices. .B CACM November, 1978 .A Wendorf, J.W. .K Computer graphics, data structures, graphic display, graphic input, graphical database, device independent graphics .C 4.33 4.34 8.2 .N CA781102 DH January 26, 1979 1:30 PM .X 3030 4 3049 3031 4 3049 3049 4 3049 3049 4 3049 3049 4 3049 3049 4 3049 2956 5 3049 2957 5 3049 2958 5 3049 2960 5 3049 3049 5 3049 3049 5 3049 3049 5 3049 .I 3050 .T Systems Design Education: A Gaming Approach .W One of the problems facing managers of computer installations is the problem of configuring the computer system to meet the demands made by the mix of jobs that the computer center must service. This paper presents a management game that allows the player to configure a computer system to meet a hypothetical job mix is under the control of a game administrator and can be varied to simulate a variety of real-world situations (I/O bound jobs, compute bound jobs, etc.). The player of the game receives a set of detailed reports on the cost of his choices and a simulated run of the center operating under his choices. .B CACM November, 1978 .A Lyons, N.R. .K System design, configuration, management game .C 2.43 2.44 .N CA781101 DH January 29, 1979 11:43 AM .X 2407 4 3050 2852 4 3050 2852 4 3050 3003 4 3050 3011 4 3050 3050 4 3050 3050 4 3050 2345 5 3050 2387 5 3050 3050 5 3050 3050 5 3050 3050 5 3050 .I 3051 .T A Comparison of Heaps and the TL Structure for the SImulation Event Set .W None .B CACM October, 1978 .A Franta, W.R. Maly, K. .K Simulation,event set, heaps, TL structure .C 3.34 4.22 5.5 8.1 .N CA781010 DH January 29, 1979 11:51 AM .X 2844 4 3051 2936 4 3051 3051 4 3051 3051 4 3051 3064 4 3051 3109 4 3051 3109 4 3051 2767 5 3051 2844 5 3051 3051 5 3051 3051 5 3051 3051 5 3051 .I 3052 .T Cold-Start vs. Warm-Start Miss Ratios .W In a two-level computer storage hierarchy, miss ratio measurements are often made from a "cold start," that is made with the first-level store initially empty. For large capacities the effect on the measured miss ratio of the misses incurred while filling the first-level store can be significant, even for long reference strings. Use of "warm-start" rather than "cold-start" miss ratios cast doubt on the widespread belief that the observed "S-shape" of lifetime (reciprocal of miss ratio) versus capacity curve indicates a property of behavior of programs that maintain a constant number of pages in main storage. On the other hand, if cold-start miss ratios are measured as a function of capacity and measurement length, then they are useful in studying systems in which operation of a program is periodically interrupted by task switches. It is shown how to obtain, under simple assumptions, the cache miss ratio for multiprogramming from cold-start miss ratio values and how to obtain approximate cold-start miss ratios from warm-start miss ratios. .B CACM October, 1978 .A Easton, M.C. Fagin, R. .K Miss ratio, cold start, warm start, storage hierarchy, lifetime function, multiprogramming, S-shape .C 3.70 4.32 9.35 .N CA781009 DH January 29, 1979 5:16 PM .X 2374 4 3052 2481 4 3052 2669 4 3052 2863 4 3052 3016 4 3052 3052 4 3052 1901 5 3052 3052 5 3052 3052 5 3052 3052 5 3052 .I 3053 .T Packed Scatter Tables .W Scatter tables for open addressing benefit from recursive entry displacements, cutoffs for unsuccessful searches, and auxiliary cost functions. Compared with conventional methods, the new techniques provide substantially improved tables that resemble exact-solution optimal packings. The displacements are depth-limited approximations to an enumerative (exhaustive) optimization, although packing costs remain linear-O(n)-with table size n. The techniques are primarily suited for important fixed (but possibly quite large) tables for which reference frequencies may be known: op-code tables,spelling dictionaries, access arrays. Introduction of frequency weights further improves retrievals, but the enhancement may degrade cutoffs. .B CACM October, 1978 .A Lyon, G. .K Assignment problem, backtrack programming, hashing, open addressing, recursion, scatter table rearrangements .C 3.74 4.0 .N CA781008 DH January 29, 1979 5:30 PM .X 1207 4 3053 1208 4 3053 1676 4 3053 1682 4 3053 1728 4 3053 1860 4 3053 1973 4 3053 1973 4 3053 1973 4 3053 1992 4 3053 2018 4 3053 2018 4 3053 2032 4 3053 2033 4 3053 2107 4 3053 2109 4 3053 2138 4 3053 2203 4 3053 2203 4 3053 2203 4 3053 2251 4 3053 2251 4 3053 2251 4 3053 2251 4 3053 2359 4 3053 2412 4 3053 2524 4 3053 2530 4 3053 2534 4 3053 2537 4 3053 2543 4 3053 2543 4 3053 2543 4 3053 2543 4 3053 2552 4 3053 2559 4 3053 2559 4 3053 2559 4 3053 2573 4 3053 2704 4 3053 2770 4 3053 2770 4 3053 2770 4 3053 2770 4 3053 2974 4 3053 2991 4 3053 2991 4 3053 3053 4 3053 3053 4 3053 3053 4 3053 3053 4 3053 3053 4 3053 3053 4 3053 3053 4 3053 3053 4 3053 3053 4 3053 3053 4 3053 3053 4 3053 3083 4 3053 3083 4 3053 3083 4 3053 1329 5 3053 1785 5 3053 1973 5 3053 1992 5 3053 2107 5 3053 2109 5 3053 2412 5 3053 2543 5 3053 2673 5 3053 2707 5 3053 2770 5 3053 3053 5 3053 3053 5 3053 3053 5 3053 .I 3054 .T Implementing Quicksort Programs .W This paper is a practical study of how to implement the Quicksort sorting algorithm and its best variants on real computers, including how to apply various code optimization techniques. A detailed implementation combining the most effective improvements to Quicksort is given, along with a discussion of how to implement it in assembly language. Analytic results describing the performance of the programs are summarized. A variety of special situations are considered from a practical standpoint to illustrate Quicksort's wide applicability as an internal sorting method which requires negligible extra storage. .B CACM October, 1978 .A Sedgewick, R. .K Quicksort, analysis of algorithms, code optimization, sorting .C 4.0 4.6 5.25 5.31 5.5 .N CA781007 DH January 29, 1979 5:40 PM .X 1175 4 3054 1919 4 3054 1919 4 3054 1919 4 3054 1969 4 3054 1969 4 3054 1997 4 3054 1997 4 3054 2118 4 3054 2191 4 3054 2191 4 3054 2216 4 3054 2216 4 3054 2216 4 3054 2227 4 3054 2319 4 3054 2388 4 3054 2388 4 3054 2348 4 3054 2582 4 3054 2669 4 3054 2679 4 3054 2679 4 3054 2679 4 3054 2679 4 3054 2783 4 3054 2783 4 3054 2784 4 3054 3054 4 3054 3054 4 3054 3054 4 3054 3054 4 3054 3054 4 3054 3054 4 3054 3054 4 3054 3054 4 3054 3054 4 3054 3054 4 3054 3054 4 3054 3054 4 3054 3121 4 3054 3121 4 3054 864 4 3054 1175 5 3054 1880 5 3054 1919 5 3054 1969 5 3054 1980 5 3054 1997 5 3054 307 5 3054 308 5 3054 309 5 3054 2017 5 3054 2679 5 3054 3054 5 3054 3054 5 3054 3054 5 3054 776 5 3054 .I 3055 .T An Analysis of Algorithms for the Dutch National Flag Problem .W Solutions to the Dutch National Flag Problem have been given by Dijkstra [1] and Meyer [3]. Dijkstra starts with a simple program and arrives at an improved program by refinement. Both of the algorithms given by Dijkstra are shown to have an expected number of swaps which is 2/3N + 0(1) and that these values differ at most by 1/3 of a swap and asymptotically by 1/4 of a swap. The algorithm of Meyer is shown to have expected swap complexity 5/9N. .B CACM October, 1978 .A McMaster, C.L. .K Algorithmic analysis, Dutch National Flag Problem, refinement, structured programming .C 4.0 5.24 5.25 5.3 .N CA781006 DH January 29, 1979 5:47 PM .X 3055 5 3055 3055 5 3055 3055 5 3055 3170 5 3055 3055 6 3055 3104 6 3055 .I 3056 .T Counting Large Numbers of Events in Small Registers .W It is possible to use a small counter to keep approximate counts of large numbers. The resulting expected error can be rather precisely controlled. An example is given in which 8-bit counters (bytes) are used to keep track of as many as 130,000 events with a relative error which is substantially independent of the number n of events. This relative error can be expected to be 24 percent or less 95 percent of the time (i.e.o = n/8). The techniques could be used to advantage in multichannel counting hardware or software used for the monitoring of experiments or processes. .B CACM October, 1978 .A Morris, R. .K Counting .C 5.11 .N CA781005 DH January 29, 1979 5:52 PM .X 3056 5 3056 3056 5 3056 3056 5 3056 .I 3057 .T Optimal His togram Matching by Monotone Gray Level Transformation .W This paper investigates the problem of optimal his togram matching using monotone gray level transformation, which always assigns all picture points of a given gray level i to another gray level T(i) such that if i > j, then T(i) > T(j). The objective is to find a transformed digital picture of a given picture such that the sum of absolute errors between the gray level his togram of the transformed picture and that of a reference picture is minimized. This is equivalent to placing k1 linearly ordered objects of different sized one by one into k2 linearly ordered boxes of assorted sizes, such that the accumulated error of space under packed or overpacked in the boxes is minimized; the placement function is monotonic, which ensures a polynomial time solution to this problem. A tree search algorithm for optimal his togram matching is presented which has time complexity O(k1 x k2). If the monotone property is dropped, then the problem becomes NP-complete, even if it is restricted to k2 = 2. .B CACM October, 1978 .A Chang, S.K. Wong, Y.W. .K Optimal his togram matching, gray level transformation, packing problem, tree searching algorithm, picture processing .C 3.24 5.25 5.42 .N CA781004 DH January 29, 1979 6:08 PM .X 3057 5 3057 3057 5 3057 3057 5 3057 .I 3058 .T Jump Searching: A Fast Sequential Search Technique .W When sequential file structures must be used and binary searching is not feasible, jump searching becomes an appealing alternative. This paper explores variants of the classic jump searching scheme where the optimum jump size is the square root of the number of records. Multiple level and variable size jump strategies are explored, appropriate applications are discussed and performance is evaluated. .B CACM October, 1978 .A Shneiderman, B. .K Jump searching, sequential files, file management, search strategies, database structures, index searching .C 3.74 4.34 .N CA781003 DH January 29, 1979 6:15 PM .X 3058 4 3058 3063 4 3058 2978 5 3058 3058 5 3058 3058 5 3058 3058 5 3058 .I 3059 .T Models for Parallel Processing WIthin Programs: Application to CPU:I/O and I/O:I/O Overlap .W Approximate queueing models for internal parallel processing by individual programs in a multiprogrammed system are developed in this paper. The solution technique is developed by network decomposition. The models are formulated in terms of CPU:I/O and I/O:I/O overlap and applied to the analysis of these problems. The percentage performance improvement from CPU:I/O overlap is found to be greatest for systems which are in approximate CPU:I/O utilization balance and for low degrees of multiprogramming. The percentage improvement from I/O:I/O overlap is found to be greatest for systemtems in which the I/O system is more utilized than the CPU. .B CACM October, 1978 .A Towsley, D. Chandy, K.M. Browne, J.C. .K Multiprogramming, parallel processing, queueing network models, multiprocessing of computation and I/O .C 4.32 8.1 .N CA781002 DH January 29, 1979 6:23 PM .X 3059 4 3059 3070 4 3059 1685 5 3059 2988 5 3059 3059 5 3059 3059 5 3059 3059 5 3059 3059 6 3059 .I 3060 .T Fortran 77 .W There is a new standard Fortran. The official title is "American National Standard Programming Language Fortran, X3.9-1978," but it is more commonly referred to as "Fortran 77," since its development was completed in 1977. It replaces the Fortran standard designated X3.9-1966. This paper describes many of the features of Fortran 77 and also provides some information about how and why the standard was developed. .B CACM October, 1978 .A Brainerd, W. .K None .C None .N CA781001 DH January 29, 1979 6:28 PM .X 1613 4 3060 1646 4 3060 1900 4 3060 1955 4 3060 2025 4 3060 2154 4 3060 2154 4 3060 2365 4 3060 2506 4 3060 2915 4 3060 3060 4 3060 3060 4 3060 3060 4 3060 987 5 3060 1900 5 3060 2154 5 3060 3060 5 3060 3060 5 3060 3060 5 3060 .I 3061 .T Simulations of Dynamic Sequential Search Algorithms .W None .B CACM September, 1978 .A Tenenbaum, A. .K Searching, list processing, sequential searching, dynamic reordering, simulation .C 3.74 8.1 .N CA780911 DH January 29, 1979 6:30 PM .X 3061 4 3061 2885 5 3061 3061 5 3061 3061 5 3061 3061 5 3061 .I 3062 .T Real Time Plotting of Approximate Contour Maps .W None .B CACM September, 1978 .A Ward, S.A. .K Contour map, digital plotting, graphical characters .C 3.10 3.20 4.41 8.2 .N CA780910 DH January 29, 1979 6:33 PM .X 2287 4 3062 2547 4 3062 3062 4 3062 3062 4 3062 1871 5 3062 1925 5 3062 3062 5 3062 3062 5 3062 3062 5 3062 .I 3063 .T A Note on Virtual Memory Indexes .W None .B CACM September, 1978 .A Maly, K. .K Index, B-tree, pages, file organization, linked representation, maintenance costs .C 3.02 3.50 3.51 3.73 3.74 .N CA780909 DH January 29, 1979 6:36 PM .X 3058 4 3063 3063 4 3063 2978 5 3063 3063 5 3063 3063 5 3063 3063 5 3063 .I 3064 .T Event Manipulation for Discrete Simulations Requiring Large Numbers of Events .W The event-manipulation system presented here consists of two major parts. The first part addresses the familiar problem of event scheduling efficiency when the number of scheduled events grows large. The second part deals with the less apparent problem of providing efficiency and flexibility as scheduled events are accessed to be executed. Additional features and problems dealt with include the proper handling of simultaneous events; that certain events must be created, scheduled, and executed at the same points in simulated time; that infinite loops caused by the concatenation of such "zero-time" events are possible and must be diagnosed; that maintaining various event counts is practical and economical; and that a capability for handling "time-displaceable" events is desirable and possible. .B CACM September, 1978 .A Ulrich, E.G. .K Simulation, discrete systems simulation, discrete event simulation, time-flow mechanisms .C 3.65 3.74 4.22 8.1 .N CA780908 DH January 29, 1979 6:46 PM .X 2767 4 3064 2844 4 3064 2844 4 3064 2936 4 3064 2936 4 3064 3051 4 3064 3064 4 3064 3064 4 3064 3064 4 3064 3064 4 3064 3064 4 3064 3109 4 3064 1846 5 3064 1939 5 3064 2742 5 3064 2767 5 3064 2936 5 3064 3064 5 3064 3064 5 3064 3064 5 3064 .I 3065 .T Right Brother Trees .W Insertion and deletion are provided for the class of right (or one-sided) brother trees which have O (log n) performance. The importance of these results stems from the close relationship of right brother trees which have an insertion algorithm operating in O (log2 n). Further, although both insertion and deletion can be carried out in O (log n) time for right brother trees, it appears that the insertion algorithm is inherently much more difficult than the deletion algorithm-the reverse of what one usually obtains. .B CACM September, 1978 .A Ottmann, T.T. Six, H.W. Wood, D. .K Dictionary problem, search trees, AVL trees, brother trees, right-balanced trees,one-sided height-balanced trees, insertion and deletion algorithms .C 3.73 3.74 5.31 .N CA780807 DH January 29, 1979 7:08 PM .X 3009 4 3065 3042 4 3065 3065 4 3065 3065 4 3065 3096 4 3065 3163 4 3065 3163 4 3065 2839 5 3065 3065 5 3065 3065 5 3065 3065 5 3065 3096 5 3065 3163 5 3065 2839 6 3065 2889 6 3065 3009 6 3065 3065 6 3065 3096 6 3065 .I 3066 .T A Controlled Experiment in Program Testing and Code Walkthroughs/Inspections .W This paper describes an experiment in program testing, employing 59 highly experienced data processing professionals using seven methods to test a small PL/I program. The results show that the popular code walk through/inspection method was as effective as other computer-based methods in finding errors and that the most effective methods (in terms of errors found and cost) employed pairs of subjects who tested the program independently and then pooled their findings. The study also shows that there is a tremendous amount of variability among subjects and that the ability to detect certain types of errors varies from method to method. .B CACM September, 1978 .A Myers, G.J. .K Software reliability, program verification, debugging, testing, code walkthroughs, code inspections, personnel selection .C 4.6 .N CA780906 DH February 5, 1979 10:47 AM .X 3066 5 3066 3066 5 3066 3066 5 3066 .I 3067 .T Generalized Working Sets for Segment Reference Strings .W The working-set concept is extended for programs that reference segments of different sizes. The generalized working-set policy (GWS) keeps as its resident set those segments whose retention costs do not exceed their retrieval costs. The GWS is a model for the entire class of demand-fetching memory policies that satisfy a resident-set inclusion property. A generalized optimal policy (GOPT) is also defined; at its operating points it minimizes aggregated retention and swapping costs. Special cases of the cost structure allow GWS and GOPT to simulate any known stack algorithm, the working set, and VMIN. Efficient procedures for computing demand curves showing swapping load as a function of memory usage are developed for GWS and GOPT policies. Empirical data from an actual system are included. .B CACM September, 1978 .A Denning, P.J. Slutz, D.R. .K Database referencing, memory management, optimal memory policies, paging, program behavior, program measurement, segmentation, working sets .C 4.30 8.10 .N CA780905 DH February 5, 1979 11:20 AM .X 1892 4 3067 1901 4 3067 2085 4 3067 2095 4 3067 2218 4 3067 2277 4 3067 2319 4 3067 2329 4 3067 2358 4 3067 2373 4 3067 2373 4 3067 2374 4 3067 2380 4 3067 2380 4 3067 2434 4 3067 2499 4 3067 2450 4 3067 2450 4 3067 2501 4 3067 2582 4 3067 2595 4 3067 2669 4 3067 2828 4 3067 2863 4 3067 2863 4 3067 2881 4 3067 2928 4 3067 2996 4 3067 2996 4 3067 2996 4 3067 3000 4 3067 3006 4 3067 3006 4 3067 3006 4 3067 3006 4 3067 3067 4 3067 3067 4 3067 3067 4 3067 3067 4 3067 3067 4 3067 3067 4 3067 3067 4 3067 3067 4 3067 1751 5 3067 2373 5 3067 2374 5 3067 2595 5 3067 2682 5 3067 2863 5 3067 2864 5 3067 3006 5 3067 3067 5 3067 3067 5 3067 3067 5 3067 .I 3068 .T A Model for Verification of Data Security in Operating Systems .W Program verification applied to kernel architectures forms a promising method for providing uncircumventably secure, shared computer systems. A precise definition of data security is developed here in terms of a general model for operating systems. This model is suitable as a basis for verifying many of those properties of an operating system which are necessary to assure reliable enforcement of security. The application of this approach to the UCLA secure operating system is also discussed. .B CACM September, 1978 .A Popek, G.J.. Farber, D.A. .K Operating systems, security, protection, program verification .C 4.35 5.24 .N CA780904 DH February 5, 1979 2:40 PM .X 2021 4 3068 2222 4 3068 2227 4 3068 2315 4 3068 2326 4 3068 2470 4 3068 2732 4 3068 2865 4 3068 2896 4 3068 2943 4 3068 3014 4 3068 3068 4 3068 3068 4 3068 3077 4 3068 3143 4 3068 1834 5 3068 2869 5 3068 3068 5 3068 3068 5 3068 3068 5 3068 3105 5 3068 1471 6 3068 2625 6 3068 2632 6 3068 2868 6 3068 2939 6 3068 3068 6 3068 .I 3069 .T A Practical Interprocedural Data Flow Analysis Algorithm .W A new interprocedural data flow analysis algorithm is presented and analyzed. The algorithm associates with each procedure in a program information about which variables may be modified, which may be used, and which are possibly preserved by a call on the procedure, and all of its subcalls. The algorithm is sufficiently powerful to be used on recursive programs and to deal with the sharing of variables which arises through reference parameters. The algorithm is unique in that it can compute all of this information in a single pass, not requiring a prepass to compute calling relationships or sharing patterns. The algorithm is asymptotically optimal in time complexity. It has been implemented and is practical even on programs which are quite large. .B CACM September, 1978 .A Barth, J.M. .K Data flow analysis, global flow analysis, optimization, side effects, relations, reference parameters, incarnations .C 4.12 4.20 .N CA780903 DH February 5, 1979 3:07 PM .X 1086 4 3069 1132 4 3069 1234 4 3069 1263 4 3069 1265 4 3069 1270 4 3069 1323 4 3069 1358 4 3069 1379 4 3069 1380 4 3069 1453 4 3069 1464 4 3069 1484 4 3069 1491 4 3069 1498 4 3069 1613 4 3069 1614 4 3069 1781 4 3069 1825 4 3069 1860 4 3069 2083 4 3069 2178 4 3069 2179 4 3069 2252 4 3069 2325 4 3069 2341 4 3069 2546 4 3069 2645 4 3069 2652 4 3069 2684 4 3069 2842 4 3069 2929 4 3069 2934 4 3069 3069 4 3069 669 4 3069 679 4 3069 691 4 3069 761 4 3069 949 4 3069 989 4 3069 3069 5 3069 3069 5 3069 3069 5 3069 3184 5 3069 .I 3070 .T Hybrid Simulation Models of Computer Systems .W This paper describes the structure and operation of a hybrid simulation model in which both discrete-event simulation and analytic techniques are combined to produce efficient yet accurate system models. In an example based on a simple hypothetical computer system, discrete-event simulation is used to model the arrival and activation of jobs, and a central-server queueing network models the use of system processors. The accuracy and efficiency of the hybrid technique are demonstrated by comparing the result and computational costs of the hybrid model of the example with those of an equivalent simulation-only model. .B CACM September, 1978 .A Schwetman, H.D. .K Performance evaluation, simulation, queueing network models, central server model .C 4.32 4.35 8.1 .N CA780902 DH February 5, 1979 3:32 PM .X 2712 4 3070 2741 4 3070 3016 4 3070 3059 4 3070 3070 4 3070 3070 4 3070 3070 4 3070 3070 4 3070 3153 4 3070 1805 5 3070 2454 5 3070 2741 5 3070 2988 5 3070 3070 5 3070 3070 5 3070 3070 5 3070 .I 3071 .T An Algorithm Using Symbolic Techniques for the Bel-Petrov Classification of Gravitational Fields .W In this note, an algorithm is presented for the symbolic calculation of certain algebraic invariants of the Weyl tensor which permits the determination of the Bel-Petrov types of a gravitational field. This algorithm, although more specialized than that of D'Inverno and Russell-Clark, requires neither the use of a special coordinate system nor the spin coefficient formalism. The algorithm has been implemented in FORMAC and is designed to complete the classification scheme proposed by Petrov in his book. An appendix contains examples illustrating the use of the algorithm. .B CACM September, 1978 .A Harris, R.A. Zund, J.D. .K General relativity, Bel-Petrov types, FORMAC, symbolic manipulation, tensors .C 3.11 3.15 3.17 .N CA780901 DH February 5, 1979 3:43 PM .X 2170 4 3071 3071 4 3071 2165 5 3071 3071 5 3071 3071 5 3071 3071 5 3071 .I 3072 .T Feedback Coupled Resource Allocation Policies in the Multiprogramming- Multiprocessor Computer System .W Model studies of some integrated, feedback-driven scheduling systems for multiprogrammed- multiprocessor computer systems are presented. The basic control variables used are the data-flow rates for the processes executing on the CPU. The model systems feature simulated continuous-flow and preempt-resume scheduling of input-output activity. Attention is given to the amount of memory resource required for effective processing of the I/O activity (buffer space assignment). The model studies used both distribution-driven and trace-driven techniques. Even relatively simple dynamic schedulers are shown to improve system performance (as measured by user CPU time) over that given by optimal or near-optimal static schedulers imbeded in identical system structures and workload environments. The improvement is greatest under a heavy I/O demand workload. .B CACM August, 1978 .A Brice, R.S. Browne, J.C. .K Integrated schedulers, feedback scheduling, multiprogramming systems, I/O system scheduling .C 4.32 4.35 .N CA780806 DH February 5, 1979 4:01 PM .X 2571 4 3072 2628 4 3072 2891 4 3072 2950 4 3072 3072 4 3072 3072 4 3072 3072 4 3072 3072 4 3072 3119 4 3072 1713 5 3072 2219 5 3072 2245 5 3072 2375 5 3072 3072 5 3072 3072 5 3072 3072 5 3072 .I 3073 .T Communicating Sequential Processes .W This paper suggests that input and output are basic primitives of programming and that parallel composition of communicating sequential processes is a fundamental program structuring method. When combined with a development of Dijkstra's guarded command, these concepts are surprisingly versatile. Their use is illustrated by sample solutions of a variety of familiar programming exercises. .B CACM August, 1978 .A Hoare, C.A.R. .K Programming, programming languages, programming primitives, program structures, parallel programming, concurrency, input, output, guarded commands, nondeterminacy, coroutines, procedures, multiple entries, multiple exits, classes, data representations, recursion, conditional critical regions, monitors, iterative arrays .C 4.20 4.22 4.32 .N CA780805 DH February 7, 1979 10:07 AM .X 249 4 3073 254 4 3073 272 4 3073 1102 4 3073 1109 4 3073 1140 4 3073 1188 4 3073 1306 4 3073 1323 4 3073 1358 4 3073 1380 4 3073 1464 4 3073 1491 4 3073 1665 4 3073 1767 4 3073 1781 4 3073 1781 4 3073 1787 4 3073 1787 4 3073 1949 4 3073 1989 4 3073 321 4 3073 2059 4 3073 2112 4 3073 2126 4 3073 2534 4 3073 2541 4 3073 435 4 3073 437 4 3073 463 4 3073 483 4 3073 491 4 3073 2698 4 3073 2732 4 3073 2733 4 3073 2820 4 3073 2896 4 3073 2972 4 3073 560 4 3073 583 4 3073 3037 4 3073 3039 4 3073 3043 4 3073 3073 4 3073 3073 4 3073 3073 4 3073 3155 4 3073 627 4 3073 631 4 3073 632 4 3073 642 4 3073 644 4 3073 653 4 3073 680 4 3073 761 4 3073 762 4 3073 763 4 3073 123 4 3073 140 4 3073 919 4 3073 989 4 3073 196 5 3073 2732 5 3073 3073 5 3073 3073 5 3073 3073 5 3073 3148 5 3073 3150 5 3073 3155 5 3073 799 5 3073 1860 6 3073 2060 6 3073 2204 6 3073 2247 6 3073 2704 6 3073 2817 6 3073 2842 6 3073 2865 6 3073 2939 6 3073 2939 6 3073 2940 6 3073 2941 6 3073 2943 6 3073 3073 6 3073 3073 6 3073 3073 6 3073 3148 6 3073 799 6 3073 .I 3074 .T A Time- and Space- Efficient Garbage Compaction Algorithm .W Given an area of storage containing scattered, marked nodes of differing sizes, one may wish to rearrange them into a compact mass at one end of the area while revising all pointers to marked nodes to show their new locations. An algorithm is described here which accomplishes this task in linear time relative to the size of the storage area, and in a space of the order of one bit for each pointer. The algorithm operates by reversibly encoding the situation (that a collection of locations point to a single location) by a linear list, emanating from the pointed-to location, passing through the pointing locations, and terminating with the pointed-to location's transplanted contents. .B CACM August, 1978 .A Morris, F.L. .K Garbage collection, compaction, compact ification, storage reclamation, storage allocation, record structures, relocation, list processing, free storage, pointers, data structures .C 4.34 4.49 5.32 .N CA780804 DH February 7, 1979 10:16 AM .X 1972 4 3074 1972 4 3074 2156 4 3074 2156 4 3074 2168 4 3074 2249 4 3074 2361 4 3074 2438 4 3074 2513 4 3074 2723 4 3074 2736 4 3074 2736 4 3074 2736 4 3074 2833 4 3074 2838 4 3074 2855 4 3074 2855 4 3074 2896 4 3074 3039 4 3074 3074 4 3074 3074 4 3074 3074 4 3074 3074 4 3074 3106 4 3074 3112 4 3074 3112 4 3074 3112 4 3074 1826 5 3074 1853 5 3074 1972 5 3074 2723 5 3074 3074 5 3074 3074 5 3074 3074 5 3074 .I 3075 .T Fast Parallel Sorting Algorithms .W A parallel bucket-sort algorithm is presented that requires time O(log n) and the use of n processors. The algorithm makes use of a technique that requires more space than the product of processors and time. A realistic model is used model is used in which no memory contention is permitted. A procedure is also presented to sort n numbers in time O(k log n) using n 1 + 1/k processors, for k an arbitrary integer. The model of computation for this procedure permits simultaneous fetches from the same memory location. .B CACM August, 1978 .A Hirschberg, D.S. .K Parallel processing, sorting, algorithms, bucket sort .C 3.74 4.34 5.25 5.31 .N CA780803 DH February 7, 1979 10:25 AM .X 2714 4 3075 3075 4 3075 3075 4 3075 3075 4 3075 3075 4 3075 3085 4 3075 3156 4 3075 2289 5 3075 2557 5 3075 2664 5 3075 2714 5 3075 3075 5 3075 3075 5 3075 3075 5 3075 3156 5 3075 2289 6 3075 2973 6 3075 3075 6 3075 .I 3076 .T Value Conflicts and Social Choice in Electronic Funds Transfer System Developments .W During the last few years, computer-based systems which automate the transfer and recording of debits and credits have begun to be implemented on a large scale. These systems promise both financial benefits for the institutions that use them and potential conveniences to their customers. However, they also raise significant social, legal, and technical questions that must be resolved if full scale systems for Electronic Funds Transfer (EFT) are not to cause more problems for the larger public than they solve. This paper examines the incentives for EFT developments and the social problems they raise in the context of conflicts between five different value positions that are often implicit in analyses of proposed EFT arrangements. These conflicts reflect the relative importance of certain problems for specific groups. The value positions implicit in EFT proposals help to organize analyses of market arrangements, system reliability, and privacy of transactions. These topics are analyzed in this article and related to the value positions held by concerned parties. Last, the ways in which the public can learn about the social qualities of different EFT arrangements and the pace of EFT developments are both discussed in the context of social choice. .B CACM August, 1978 .A Kling, R. .K Electronic funds transfer systems, social impacts of computing, privacy, social choice, computer networks, network reliability, security, social values .C 2.11 2.12 2.3 3.52 3.53 3.55 .N CA780802 DH February 7, 1979 2:25 PM .X 2756 4 3076 3076 4 3076 3076 4 3076 3179 4 3076 2607 5 3076 2840 5 3076 3076 5 3076 3076 5 3076 3076 5 3076 3142 5 3076 3179 5 3076 3178 5 3076 3182 5 3076 3183 5 3076 2572 6 3076 2583 6 3076 2607 6 3076 3076 6 3076 3076 6 3076 3076 6 3076 3076 6 3076 3076 6 3076 3140 6 3076 3142 6 3076 3179 6 3076 3180 6 3076 3181 6 3076 3182 6 3076 .I 3077 .T Can Programming Be Liberated from the von Neumann Style? A Functional Style and Its Algebra of Programs .W Conventional programming languages are growing ever more enormous, but not stronger. Inherent defects at the most basic level cause them to be both fat and weak: their primitive word-at-a-time style of programming inherited from their common ancestor-the von Neumann computer, their close coupling off semantics to state transitions, their division of programming into a world of expressions and a world of statements, their inability to effectively use powerful combining forms for building new programs from existing ones, and their lack of useful mathematical properties for reasoning about programs. An alternative functional style of programming is founded on the use of combining forms for creating programs. Functional programs deal with structured data, are often nonrepetitive and nonrecursive, are hierarchically constructed, do not name their arguments, and do not require the complex machinery of procedure declarations to become generally applicable. Combining forms can use high level programs to build still higher level ones in a style not possible in conventional languages. Associated with the functional style of programming is an algebra of programs whose variables range over programs and whose operations are combining forms. This algebra can be used to transform programs and to solve equations whose "unknowns" are programs in much the same way one transforms equations in high school algebra. These transformations are given by algebraic laws and are carried out in the same language in which programs are written. Combining forms are chosen not only for their programming power but also for the power of their associated algebraic laws. General theorems of of the algebra give the detailed behavior and termination conditions for large classes of programs. A new class of computing systems uses the functional programming style both in its programming language and in its state transition rules. Unlike von Neumann languages, these systems have semantics loosely coupled to states-only one state transition occurs per major computation. .B CACM August, 1978 .A Backus, J. .K Functional programming, algebra of programs, combining forms, functional forms, programming languages, von Neumann computers, von Neumann languages, models of computing systems, applicative computing systems, applicative state transition systems, program transformation, program correctness, program termination, metacomposition .C 4.20 4.29 5.20 5.24 5.26 .N CA780801 DH February 7, 1979 3:13 PM .X 1024 4 3077 1051 4 3077 1102 4 3077 1132 4 3077 1390 4 3077 1486 4 3077 1549 4 3077 1706 4 3077 1826 4 3077 1878 4 3077 378 4 3077 2021 4 3077 2060 4 3077 2155 4 3077 2155 4 3077 2168 4 3077 2222 4 3077 2227 4 3077 2294 4 3077 2315 4 3077 2326 4 3077 2470 4 3077 2558 4 3077 2719 4 3077 2723 4 3077 2732 4 3077 2838 4 3077 2842 4 3077 2842 4 3077 2855 4 3077 2865 4 3077 2879 4 3077 2896 4 3077 2943 4 3077 2981 4 3077 3014 4 3077 3030 4 3077 3068 4 3077 3077 4 3077 3077 4 3077 3077 4 3077 3077 4 3077 3080 4 3077 3104 4 3077 3106 4 3077 3143 4 3077 3150 4 3077 627 4 3077 106 4 3077 210 5 3077 1834 5 3077 2060 5 3077 2457 5 3077 3077 5 3077 3077 5 3077 3077 5 3077 .I 3078 .T Analysis of the Availability of Computer Systems Using Computer- Aided Algebra .W Analytical results, related to the availability of a computer system constructed of unreliable processors, are presented in this paper. These results are obtained by using various computer-aided algebraic manipulation techniques. A major purpose of this paper is to demonstrate that the difficulties of obtaining analytical solutions to Markov processes can be considerably reduced by the application of symbol manipulation programs. Since many physical systems can be modeled by Markov and semi-Markov processes, the potential range of application of these techniques is much wider than the problem of availability analyzed here. .B CACM July, 1978 .A Chattergy, R. Pooch, U.W. .K Computer-aided algebra, symbol manipulation, Markov process, reliability, redundant structures, on-line computer system. .C 3.82 5.5 5.7 8.1 8.3 .N CA780710 DH February 7, 1979 3:37 PM .X 3078 5 3078 3078 5 3078 3078 5 3078 .I 3079 .T An Algorithm for Reasoning About Equality .W A simple technique for reasoning about equalities that is fast and complete for ground formulas with function symbols and equality is presented. A proof of correctness is given as well. .B CACM July, 1978 .A Shostak, R.E. .K Theorem proving, deduction, program verification, equality .C 3.64 3.66 5.21 .N CA780709 DH February 7, 1979 3:41 PM .X 3079 5 3079 3079 5 3079 3079 5 3079 .I 3080 .T Proving the Correctness of Heuristically Optimized Code .W A system for proving that programs written in a high level language are correctly translated to a low level language is described. A primary use of the system is as a post optimization step in code generation. The low level language programs need not be generated by a compiler and in fact could be hand coded. Examples of the usefulness of such a system are given. Some interesting results are the ability to handle programs that implement recursion by bypassing the start of the program, and the detection and pinpointing of a wide class of errors in the low level language programs. The examples demonstrate that optimization of the genre of this paper can result in substantially faster operation and the saving of memory in terms of program and stack sizes. .B CACM July, 1978 .A Samet, H. .K Compilers, correctness, code optimization, debugging, program verification, Lisp .C 4.12 4.21 4.22 5.24 .N CA780708 DH February 7, 1979 3:53 PM .X 1024 4 3080 1051 4 3080 1102 4 3080 1132 4 3080 1390 4 3080 1486 4 3080 1549 4 3080 1706 4 3080 1826 4 3080 1878 4 3080 378 4 3080 2060 4 3080 2155 4 3080 2168 4 3080 2719 4 3080 2723 4 3080 2838 4 3080 2842 4 3080 2855 4 3080 2879 4 3080 3077 4 3080 3080 4 3080 3080 4 3080 3106 4 3080 627 4 3080 106 4 3080 210 5 3080 2850 5 3080 3080 5 3080 3080 5 3080 3080 5 3080 .I 3081 .T Shallow Binding in Lisp 1.5 .W Shallow binding is a scheme which allows the value of a variable to be accessed in a bounded amount of computation. An elegant model for shallow binding in Lisp 1.5 is presented in which context-switching is an environment tree transformation called rerooting. Rerooting is completely general and reversible, and is optional in the sense that a Lisp 1.5 interpreter will operate correctly whether or not rerooting is invoked one very context change. Since rerooting leaves assoc [v, a] invariant, for all variables v and all environments a, the programmer can have access to a rerooting primitive, shallow[], which gives him dynamic control over whether accesses are shallow or deep, and which affects only the speed of execution of a program, not its semantics. In addition, multiple processes can be active in the same environment structure, so long as rerooting is an indivisible operation. Finally, the concept of rerooting is shown to combine the concept of shallow binding in Lisp with Dijkstra's display for Algol and hence is a general model for shallow binding. .B CACM July, 1978 .A Baker, H.G. Jr. .K Lisp 1.5, environment trees, FUNARG'S, shallow binding, deep binding, multiprogramming, Algol display .C 4.13 4.22 4.32 .N CA780707 DH February 7, 1979 4:14 PM .X 2625 4 3081 2922 4 3081 3081 4 3081 3101 4 3081 3112 4 3081 2438 5 3081 3081 5 3081 3081 5 3081 3081 5 3081 .I 3082 .T Time, Clocks, and the Ordering of Events in a Distributed System .W The concept of one event happening before another in a distributed system is examined, and is shown to define a partial ordering of the events. A distributed algorithm is given for synchronizing a system of logical clocks which can be used to totally order the events. The use of the total ordering is illustrated with a method for solving synchronization problems. The algorithm is then specialized for synchronizing physical clocks, and a bound is derived on how far out of synchrony the clocks can become. .B CACM July, 1978 .A Lamport, L. .K Distributed systems, computer networks, clock synchronization, multiprocess systems .C 4.32 5.29 .N CA780706 DH February 7, 1979 4:30 PM .X 3082 5 3082 3082 5 3082 3082 5 3082 3128 5 3082 2150 6 3082 2376 6 3082 2436 6 3082 2597 6 3082 2865 6 3082 2866 6 3082 2870 6 3082 2912 6 3082 3082 6 3082 .I 3083 .T Pseudochaining in Hash Tables .W This paper presents pseudochaining as a new collision-resolution method. Pseudochaining is half way between open addressing and chaining. It owes its name to the fact that link fields are present in each cell of the hash table which permits "chaining" of the first overflow items in the table. The efficiency of the method is derived and a tradeoff analysis is given. .B CACM July, 1978 .A Halatsis, C. Philokyprou, G. .K Hash code, scatter storage, open addressing, chaining, pseudochaining, collision resolution, searching, uniform probing. .C 3.7 3.73 3.74 4.9 .N CA780705 DH February 7, 1979 4:37 PM .X 1973 4 3083 1992 4 3083 2138 4 3083 2203 4 3083 2251 4 3083 2251 4 3083 2282 4 3083 2412 4 3083 2530 4 3083 2534 4 3083 2537 4 3083 2543 4 3083 2543 4 3083 2559 4 3083 2559 4 3083 2573 4 3083 2770 4 3083 2860 4 3083 2991 4 3083 3053 4 3083 3053 4 3083 3053 4 3083 3083 4 3083 3083 4 3083 3083 4 3083 3083 4 3083 3083 4 3083 1328 5 3083 1973 5 3083 2107 5 3083 2543 5 3083 2552 5 3083 3083 5 3083 3083 5 3083 3083 5 3083 .I 3084 .T Interpolation Search -A Log LogN Search .W Interpolation search is a method of retrieving a desired record by key in an ordered file by using the value of the key and the statistical distribution of the keys. It is shown that on the average log logN file accesses are required to retrieve a key, assuming that the N keys are uniformly distributed. The number of extra accesses is also estimated and shown to be very low. The same holds if the cumulative distribution function of the keys is known. Computational experiments confirm these results. .B CACM July, 1978 .A Perl, Y. Itai, A. Avni, H. .K Average number of accesses, binary search, database, interpolation search, retrieval, searching, uniform distribution .C 4.4 4.6 5.25 .N CA780704 DH February 7, 1979 4:50 PM .X 3084 5 3084 3084 5 3084 3084 5 3084 .I 3085 .T An O(n) Algorithm for Determining a Near-Optimal Computation Order of Matrix Chain Products .W This paper discusses the computation of matrix chain products of the form M1 x M2 x ... x Mn where Mi's are matrices. The order in which the matrices are computed affects the number of operations. A sufficient condition about the association of the matrices in the optimal order is presented. An O(n) algorithm to find an order of computation which takes less than 25 percent longer than the optimal time Topt is also presented. In most cases, the algorithm yields the optimal order or an order which takes only a few percent longer than Topt (less than 1 percent on the average). .B CACM July, 1978 .A Chin, F.Y. .K Approximate algorithm, heuristic algorithm, matrix multiplication, matrix chain product .C 5.14 .N CA780703 DH February 8, 1979 2:46 PM .X 3075 4 3085 3085 4 3085 2557 5 3085 3085 5 3085 3085 5 3085 3085 5 3085 .I 3086 .T On the Complexity of Computing the Measure of U[ai, bi] .W The decision tree complexity of computing the measure of the union of n (possibly overlapping) intervals is shown to be (n log n), even if comparisons between linear functions of the interval endpoints are allowed. The existence of an (n log n) lower bound to determine whether any two of n real numbers are within of each other is also demonstrated. These problems provide an excellent opportunity for discussing the effects of the computational model on the ease of analysis and on the results produced. .B CACM July, 1978 .A Fredman, M.L. Weide, B. .K Analysis of algorithms, combinatorial problems, computational complexity, computational models, decision tree programs, lower bounds .C 5.25 5.26 5.30 5.39 .N CA780702 DH February 8, 1979 3:46 PM .X 3086 5 3086 3086 5 3086 3086 5 3086 .I 3087 .T An English Language Question Answering System for a Large Relational Database .W By typing requests in English, casual users will be able to obtain explicit answers from a large relational database of aircraft flight and maintenance data using a system called PLANES. The design and implementation of this system is described and illustrated with detailed examples of the operation of system components and examples of overall system operation. The language processing portion of the system uses a number of augmented transition networks, each of which matches phrases with a specific meaning, along with context registers (his tory keepers) and concept case frames; these are used for judging meaningfulness of questions, generating dialogue for clarifying partially understood questions, and resolving ellipsis and pronoun reference problems. Other system components construct a formal query for the relational database, and optimize the order of searching relations. Methods are discussed for handling vague or complex questions and for providing browsing ability. Also included are discussions of important issues in programming natural language systems for limited domains, and the relationship of this system to others. .B CACM July, 1978 .A Waltz, D.L. .K Question answering, relational database, natural language, database front end, artificial intelligence, dialogue, query generation, information retrieval, natural language programming .C 3.42 3.60 3.69 3.74 3.79 .N CA780701 DH February 8, 1979 4:26 PM .X 2155 4 3087 2406 4 3087 2581 4 3087 2710 4 3087 2715 4 3087 2716 4 3087 2717 4 3087 2718 4 3087 2739 4 3087 2765 4 3087 2795 4 3087 2817 4 3087 2888 4 3087 2901 4 3087 2921 4 3087 2957 4 3087 2959 4 3087 2965 4 3087 3087 4 3087 3087 4 3087 3154 4 3087 1989 5 3087 2046 5 3087 3087 5 3087 3087 5 3087 3087 5 3087 .I 3088 .T General Equations for Idealized CPU-I/O Overlap Configurations .W General equations are derived for estimating the maximum possible utilization of main storage partitions, CPU and I/O devices under different conditions in an idealized CPU-I/O overlap model of multiprogrammed computer systems. The equations are directly applicable to any configuration consisting of sets of identical CPU's I/O processors, main storage partitions and user tasks. Examples are provided to illustrate the use of the equations to compute effective processing time per record and expected timesharing response time under both balanced and unbalanced resource utilization conditions. .B CACM June, 1978 .A Teory, T.J. .K Blocking, buffering, input/output, overlap, performance, resource allocation, throughput, timesharing .C 3.72 4.30 4.41 8.1 .N CA780609 DH February 8, 1979 4:35 PM .X 3088 5 3088 3088 5 3088 3088 5 3088 .I 3089 .T Performance of Rollback Recovery Systems under Intermittent Failures .W A mathematical model of a transaction-oriented system under intermittent failures is proposed. The system is assumed to operate with a checkpointing and rollback/recovery method to ensure reliable information processing. The model is used to derive the principal performance measures, including availability, response time, and the system saturation point. .B CACM June, 1978 .A Gelenbe, E. Derochette, D. .K Database reliability, file systems, checkpoints, recovery procedures, checking techniques, reliability and system performance evaluation .C 3.72 3.73 4.33 4.35 4.6 5.5 8.1 .N CA780608 DH February 9, 1979 10:26 AM .X 3089 4 3089 2599 5 3089 3089 5 3089 3089 5 3089 3089 5 3089 .I 3090 .T Automated Welfare Client-Tracking and Service Integration: The Political Economy of Computing .W The impacts of an automated client-tracking system on the clients, caseworkers, administrators, and operations of the welfare agencies that use it are reported. The major impact of this system was to enhance the administrative attractiveness of the using agencies in the eyes of funders rather than to increase their internal administrative efficiency. This impact is a joint product of both the technical features of the computer-based system and of the organizational demands placed upon different agencies, administrators, and caseworkers. It illustrates the way "successful" automated information systems fit the political economies of the groups that use them. .B CACM June, 1978 .A Kling, R. .K Social impacts of computing, organizational impacts of computing, management information systems, sociology of computing, information systems and service integration, urban information systems .C 2.11 3.53 .N CA780607 DH February 12, 1979 11:01 AM .X 3090 5 3090 3090 5 3090 3090 5 3090 3117 5 3090 3090 6 3090 .I 3091 .T Some Basic Determinants of Computer Programming Productivity .W The propose of this research was to examine the relationship between processing characteristics of programs and experience characteristics of programmers and program development time. The ultimate objective was to develop a technique for predicting the amount of time necessary to create a computer program. The fifteen program characteristics hypothesized as being associated with an increase in programming time required are objectively measurable from preprogramming specifications. The five programmer characteristics are experience-related and are also measurable before a programming task is begun. Nine program characteristics emerged as major influences on program development time, each associated with increased program development time. All five programmer characteristics were found to be related to reduced program development time. A multiple regression equation which contained one programmer characteristic and four program characteristics gave evidence of good predictive power for forecasting program development time. .B CACM June, 1978 .A Chrysler, E. .K Programmer performance standards, predicting program development time, program estimation techniques, program development equation, value of programming experience, programmer evaluation, programmer scheduling, programmer productivity, programming management, Cobol programming .C 2.40 4.20 .N CA780606 DH February 26, 1979 11:42 AM .X 3091 4 3091 1792 5 3091 3091 5 3091 3091 5 3091 3091 5 3091 .I 3092 .T Characteristics of Application Software Maintenance .W Maintenance and enhancement of application software consume a major portion of the total life cycle cost of a system. Rough estimates of the total systems and programming resources consumed range as high as 75-80 percent in each category. However, the area has been given little attention in the literature. To analyze the problems in this area a questionnaire was developed and pretested. It was then submitted to 120 organizations. Respondents totaled 69. Responses were analyzed with the SPSS statistical package. The results of the analysis indicate that: (1) maintenance and enhancement do consume much of the total resources of systems and programming groups; (2) maintenance and enhancement tend to be viewed by management as at least somewhat more important than new application software development; (3) in maintenance and enhancement, problems of a management orientation tend to be more significant than those of a technical orientation; and (4) user demands for enhancements and extension constitute the most important management problem area. .B CACM June, 1978 .A Lientz, B.P. Swanson, E.B. Tompkins, G.E. .K Software maintenance, use of productivity aids, management and technical issues .C 3.50 4.6 .N CA780605 DH February 26, 1979 11:59 AM .X 3092 5 3092 3092 5 3092 3092 5 3092 .I 3093 .T Automatic Error Recovery for LR Parsers .W In this paper we present a scheme for detecting and recovering from syntax errors in programs. The scheme, which is based on LR parsing, is driven by information which is directly and automatically obtainable from the information that is already present in an LR parser. The approach, which is patterned after that of Levy and Graham and Rhodes, appears to provide error recovery which is both simple and powerful. .B CACM June, 1978 .A Mickunas, M.D. Modry, J.A. .K Programming languages, error correction, automatic correction, parsing, LR, syntax errors, compilers .C 4.12 4.42 5.23 .N CA780604 DH February 26, 1979 12:22 PM .X 1225 4 3093 1350 4 3093 1542 4 3093 1646 4 3093 1683 4 3093 1693 4 3093 1781 4 3093 1781 4 3093 1787 4 3093 1836 4 3093 1945 4 3093 1945 4 3093 2060 4 3093 2061 4 3093 2082 4 3093 2091 4 3093 2152 4 3093 2179 4 3093 2340 4 3093 2356 4 3093 2546 4 3093 2603 4 3093 2650 4 3093 2698 4 3093 2698 4 3093 2708 4 3093 2708 4 3093 2733 4 3093 2824 4 3093 2982 4 3093 2986 4 3093 2986 4 3093 3045 4 3093 3093 4 3093 3093 4 3093 3093 4 3093 3093 4 3093 3094 4 3093 1491 5 3093 2179 5 3093 2708 5 3093 3093 5 3093 3093 5 3093 3093 5 3093 680 5 3093 .I 3094 .T Analyses of Deterministic Parsing Algorithms .W This paper describes an approach for determining the minimum, maximum, and average times to parse sentences acceptable by a deterministic parser. These quantities are presented in the form of symbolic formulas, called time-formulas. The variables in these formulas represent not only the length of the input string but also the time to perform elementary operations such as pushing, popping, subscripting, iterating, etc. By binding to the variables actual numerical values corresponding to a given compiler-machine configuration, one can determine the execution time for that configuration. Time-formulas are derived by examining the grammar rules and the program representing the algorithm one wishes to analyze. The approach is described by using a specific grammar that defines simple arithmetic expressions. Two deterministic parsers are analyzed: a top-down recursive descent LL(1) parser, and a bottom-up SLR(1) parser. The paper provides estimates for the relative efficiencies of the two parsers. The estimates applicable to a specific machine, the PDP-10, are presented and substantiated buy benchmarks. Finally, the paper illustrates the proposed approach by applying it to the analyses of parsers for a simple programming language. .B CACM June, 1978 .A Cohen, J. Roth, M.S. .K Syntactic analysis, analysis of algorithms,top-down and bottom-up parsing, relative efficiencies. .C 4.12 5.23 5.24 5.25 5.7 .N CA780603 DH February 26, 1979 12:32 PM .X 1350 4 3094 1399 4 3094 1659 4 3094 1768 4 3094 1781 4 3094 1945 4 3094 2110 4 3094 2719 4 3094 2733 4 3094 2986 4 3094 3093 4 3094 3094 4 3094 3094 4 3094 3094 4 3094 1265 5 3094 2179 5 3094 2645 5 3094 3094 5 3094 3094 5 3094 3094 5 3094 .I 3095 .T A Selective Traversal Algorithm for Binary Search Trees .W The problem of selecting data items from a binary search tree according to a list of range conditions is considered. The process of visiting a minimal number of nodes to retrieve data satisfying the range conditions is called selective traversal. Presented in this paper is an algorithm for selective traversal which uses a tag field for each node in the tree. The algorithm is particularly useful and efficient when examination of data is more time consuming than examination of a tag field. .B CACM June, 1978 .A Driscoll, J.R. Lien, Y.E. .K Data retrieval, range conditions, binary search tree, tree traversal, selective traversal .C 3.74 5.24 5.25 .N CA780602 DH February 26, 1979 12:40 PM .X 3095 5 3095 3095 5 3095 3095 5 3095 .I 3096 .T An Optimal Method for Deletion in One-Sided Height-Balanced Trees .W A one-sided height-balanced tree is a binary tree in which every node's right subtree has a height which is equal to or exactly one greater than the height of its left subtree. It has an advantage over the more general AVL tree in that only one bit of balancing information is required (two bits are required for the ACL tree). It is shown that deletion of an arbitrary node of such a tree can be accomplished in O(logn) operations, where n is the number of nodes in the tree. Moreover the method is optimal in the sense that its complexity cannot be reduced in order of magnitude. This result, coupled with earlier results by Hirschberg, indicates that, of the three basic problems of insertion, deletion, and retrieval, only insertion is adversely affected by this modification of an AVL tree. .B CACM June, 1978 .A Zweben, S.H. McDonald, M.A. .K Balanced, binary, search, trees .C 3.73 3.74 4.34 5.25 5.31 .N CA780601 DH February 26, 1979 12:48 PM .X 2839 4 3096 3009 4 3096 3042 4 3096 3042 4 3096 3065 4 3096 3096 4 3096 3096 4 3096 3096 4 3096 3163 4 3096 3163 4 3096 3163 4 3096 2839 5 3096 2889 5 3096 3009 5 3096 3065 5 3096 3096 5 3096 3096 5 3096 3096 5 3096 3163 5 3096 2839 6 3096 2839 6 3096 2889 6 3096 3009 6 3096 3065 6 3096 3096 6 3096 3096 6 3096 .I 3097 .T Optimal Shift Strategy for a Block-Transfer CCD Memory .W For the purposes of this paper, a block-transfer CCD memory is composed of serial shift registers whose shift rate can vary, but which have a definite minimum shift rate (the refresh rate) and a definite maximum shift rate. The bits iin the shift registers are numbered 0 to N - 1, and blocks of N bits are always transferred, always starting at bit 0. What is the best shift strategy so that a block transfer request occurring at a random time will have to wait the minimal amount of time before bit 0 can be reached? The minimum shift rate requirement does not allow one to simply "park" at bit 0 and wait for a transfer request. The optimal strategy involves shifting as slowly as possible until bit 0 is passed, then shifting as quickly as possible until a critical boundary is reached, shortly before bit 0 comes around again. This is called the "hurry up and wait" strategy and is well known outside the computer field. The block-transfer CCD memory can also be viewed as a paging drum with a variable (bounded) rotation speed. .B CACM May,1978 .A Sites, R.L. .K Paging drum, charge coupled devices, shift register memory, memory hierarchy, electronic drum, latency .C 3.72 5.39 6.34 6.35 .N CA780510 DH February 26, 1979 1:05 PM .X 2628 4 3097 3097 4 3097 2496 5 3097 3097 5 3097 3097 5 3097 3097 5 3097 .I 3098 .T Computer Generation of Gamma Random Variables .W A new method for generating random variables from the gamma distribution with nonintegral shape parameter a is proposed. This method is similar to two other methods recently given by Wallace and Fishman. It is compared with Fishman's and Ahrens and Dieter's methods. The core storage requirements and programming effort for this method are similar to those of Fishman's method. The proposed method is the same as Fishman's method for 1 < a < 2 and is faster than Fishman's method for 3 < a < 19. Also, the proposed method is much simpler than Ahrens and Dieter's method and is faster for a < 8. .B CACM May, 1978 .A Tadikamalla, P.R. .K Gamma variables, rejection method, computer methods .C 5.5 8.1 .N CA780509 DH February 26, 1979 1:10 PM .X 2847 4 3098 2928 4 3098 3046 4 3098 3046 4 3098 3098 4 3098 3098 4 3098 3107 4 3098 2569 5 3098 2847 5 3098 3046 5 3098 3098 5 3098 3098 5 3098 3098 5 3098 2569 6 3098 2847 6 3098 3098 6 3098 .I 3099 .T New Sufficient Optimality Conditions for Integer Programming and their Application .W The purpose of this report is to present a new class of sufficient optimality conditions for pure and mixed integer programming problems. Some of the sets of sufficient conditions presented can be thought of as generalizations of optimality conditions based on primal-dual complementarity in linear programming. These sufficient conditions are particularly useful for the construction of difficult integer programming problems with known optimal solutions. These problems may then be used to test and/or "benchmark" integer programming codes. .B CACM May, 1978 .A Fleisher, J.M. Meyer, R.R. .K Integer programming, optimality conditions, test problem construction, Kuhn-Tucker conditions, greatest common divisor .C 3.15 5.39 5.49 .N CA780508 DH February 26, 1979 1:19 PM .X 2028 4 3099 2521 4 3099 3099 4 3099 3099 4 3099 3138 4 3099 1313 5 3099 2031 5 3099 3099 5 3099 3099 5 3099 3099 5 3099 .I 3100 .T An Interference Matching Technique for Inducing Abstractions .W A method for inducing knowledge by abstraction from a sequence of training examples is described. The proposed method, interference matching, induces abstractions by finding relational properties common to two or more exemplars. Three tasks solved by a program that uses an interference-matching algorithm are presented. Several problems concerning the description of the training examples and the adequacy of interference matching are discussed, and directions for future research are considered. .B CACM May, 1978 .A Hayes-Roth, F. McDermott, J. .K Rule induction, knowledge acquisition, partial matching, interference, graph matching, learning, induction, knowledge representation, informal retrieval, abstraction, generalization, language learning, complexity, predicate discovery. .C 3.36 3.61 3.62 3.66 3.70 5.32 .N CA780507 DH February 26, 1979 1:26 PM .X 3100 5 3100 3100 5 3100 3100 5 3100 .I 3101 .T The SL5 Procedure Mechanism .W This paper describes an integrated procedure mechanism that permits procedures to be used as recursive functions or as coroutines. This integration is accomplished by treating procedures and their activation records (called environments) as data objects and by decomposing procedure invocation into three separate components at the source-language level. In addition, argument binding is under the control of the programmer, permitting the definition of various methods of argument transmission in the source language itself. The resulting procedure mechanism,which is part of the SL5 programming language, is well suited to goal-oriented problems and to other problems that are more readily programmed by using coroutines. Several examples are given. .B CACM May, 1978 .A Hanson, D. Griswold, R.E. .K Procedures, coroutines, programming languages, interpreters, SNOBOL 4, backtracking .C 4.2 4.20 4.22 4.13 .N CA780506 DH February 26, 1979 1:36 PM .X 2411 4 3101 2625 4 3101 2705 4 3101 2709 4 3101 2889 4 3101 2922 4 3101 2937 4 3101 2989 4 3101 3005 4 3101 3025 4 3101 3081 4 3101 3101 4 3101 3101 4 3101 3101 4 3101 3101 4 3101 3112 4 3101 2138 5 3101 2193 5 3101 2438 5 3101 3101 5 3101 3101 5 3101 3101 5 3101 3185 5 3101 .I 3102 .T Incorporation of Units into Programming Languages .W The issues of how a programming language might aid in keeping track of physical units (feet, sec, etc.) are discussed. A method is given for the introduction of relationships among units (a watt is volts*amps, a yard is three feet) and subsequent automatic conversion based upon these relationships. Various proposals for syntax are considered. .B CACM May, 1978 .A Karr, M. Loveman III, D.B. .K Units, language design, compiler construction, language syntax .C 4.12 4.22 .N CA780505 DH February 26, 1979 1:43 PM .X 3102 5 3102 3102 5 3102 3102 5 3102 .I 3103 .T Automatic Data Structure Selection: An Example and Overview .W The use of several levels of abstraction has proved to be very helpful in constructing and maintaining programs. When programs are designed with abstract data types such as sets and lists, programmer time can be saved by automating the process of filling in low-level implementation details. In the past, programming systems have provided only a single general purpose implementation for an abstract type. Thus the programs produced using abstract types were then inefficient in space or time. In this paper a system for automatically choosing efficient implementations for abstract types from a library of implementations is discussed. This process is discussed in detail for an example program. General issues in data structure selection are also reviewed. .B CACM May, 1978 .A Low, J.R. .K Abstract data types, automatic programming, data structures, optimizing compilers, sets, lists .C 4.12 4.22 4.6 .N CA780504 DH February 26, 1979 1:51 PM .X 1957 4 3103 2151 4 3103 3103 4 3103 3103 4 3103 3148 4 3103 1860 5 3103 2877 5 3103 3103 5 3103 3103 5 3103 3103 5 3103 .I 3104 .T Test Data as an Aid in Proving Program Correctness .W Proofs of program correctness tend to be long and tedious, whereas testing, though useful in detecting errors, usually does not guarantee correctness. This paper introduces a techniques whereby test data can be used in proving program correctness. In addition to simplifying the process of proving correctness, this method simplifies the process of providing accurate specification for a program. The applicability of this technique to procedures and recursive programs is demonstrated. .B CACM May, 1978 .A Geller, M. .K Program verification, program testing, recursive programs .C 4.22 4.6 5.24 .N CA780503 DH February 26, 1979 2:10 PM .X 2874 4 3104 2981 4 3104 3030 4 3104 3077 4 3104 3104 4 3104 3104 4 3104 2457 5 3104 2683 5 3104 3104 5 3104 3104 5 3104 3104 5 3104 3170 5 3104 3055 6 3104 3104 6 3104 .I 3105 .T A Language Extension for Expressing Constraints on Data Access .W Controlled sharing of information is needed and desirable for many applications and is supported in operating systems by access control mechanisms. This paper shows how to extend programming languages to provide controlled sharing. The extension permits expression of access constraints on shared data. Access constraints can apply both to simple objects, and to objects that are components of larger objects, such as bank account records in a bank's data base. The constraints are stated declaratively, and can be enforced by static checking similar to type checking. The approach can be used to extend any strongly-typed language, but is particularly suitable for extending languages that support the notion of abstract data types. .B CACM May, 1978 .A Jones, A.K. Liskov,B.H. .K Programming languages, access control, data types, abstract data types, type checking, capabilities .C 4.20 4.35 .N CA780502 DH February 26, 1979 3:19 PM .X 1458 4 3105 1523 4 3105 1603 4 3105 1698 4 3105 1747 4 3105 1748 4 3105 1854 4 3105 1877 4 3105 1960 4 3105 2377 4 3105 2378 4 3105 2497 4 3105 2558 4 3105 2625 4 3105 2626 4 3105 2632 4 3105 2840 4 3105 2868 4 3105 2868 4 3105 2870 4 3105 2876 4 3105 2941 4 3105 3031 4 3105 3105 4 3105 3105 4 3105 3105 4 3105 3105 4 3105 3105 4 3105 3105 4 3105 3144 4 3105 3144 4 3105 3144 4 3105 3148 4 3105 3150 4 3105 1471 5 3105 2625 5 3105 2632 5 3105 2868 5 3105 2939 5 3105 3068 5 3105 3105 5 3105 3105 5 3105 3105 5 3105 .I 3106 .T A Fast Algorithm for Copying List Structures .W An algorithm is presented for copying an arbitrarily linked list structure into a block of contiguous storage locations without destroying the original list. Apart from a fixed number of program variables, no auxiliary storage, such as a stack, is used. The algorithm needs no mark bits and operates in linear time. It is shown to be significantly faster than Fisher's algorithm, the fastest previous linear-time algorithm for the same problem. Its speed comes mainly from its efficient list-traversal technique, which folds the processing stack into the structure being built, and from its classification of list cells into nine types, which enables processing operations to be optimized for each type. .B CACM May, 1978 .A Clark, D.W. .K List copying, Lisp, space complexity, constant workspace .C 4.34 4.49 5.25 .N CA780501 DH February 26, 1979 3:25 PM .X 1024 4 3106 1051 4 3106 1102 4 3106 1132 4 3106 1390 4 3106 1486 4 3106 1549 4 3106 1706 4 3106 1826 4 3106 1869 4 3106 1878 4 3106 378 4 3106 2060 4 3106 2155 4 3106 2156 4 3106 2168 4 3106 2361 4 3106 2513 4 3106 2513 4 3106 2665 4 3106 2719 4 3106 2723 4 3106 2723 4 3106 2736 4 3106 2766 4 3106 2838 4 3106 2842 4 3106 2855 4 3106 2855 4 3106 2855 4 3106 2855 4 3106 2855 4 3106 2879 4 3106 2944 4 3106 2954 4 3106 2954 4 3106 3074 4 3106 3077 4 3106 3080 4 3106 3106 4 3106 3106 4 3106 3106 4 3106 3106 4 3106 3106 4 3106 3106 4 3106 3106 4 3106 3106 4 3106 3112 4 3106 627 4 3106 106 4 3106 210 5 3106 1549 5 3106 1972 5 3106 2665 5 3106 2766 5 3106 2855 5 3106 2954 5 3106 2998 5 3106 3106 5 3106 3106 5 3106 3106 5 3106 .I 3107 .T Generating Beta Variates with Nonintegrel Shape Parameters .W A new rejection method is described for generating beta variates. The method is compared with previously published methods both theoretically and through computer timings. It is suggested that the method has advantages in both speed and programming simplicity over previous methods, especially for "difficult" combinations of parameter values. .B CACM April, 1978 .A Cheng, R.C.H. .K Beta variates, random numbers, simulation .C 5.5 8.1 .N CA780409 DH February 26, 1979 3:32 PM .X 2847 4 3107 2928 4 3107 3046 4 3107 3098 4 3107 3107 4 3107 2569 5 3107 3107 5 3107 3107 5 3107 3107 5 3107 .I 3108 .T Economical Encoding of Commas Between Strings .W A method for insertion of delimiters between strings without using new symbols is presented. As the lengths of the strings increase, the extra cost, in terms of prolongation, becomes vanishingly small compared to the lengths of the strings. .B CACM April, 1978 .A Even, S. Rodeh, M. .K String transmission, delimiters, commas, encoding of the integers .C 3.57 3.81 5.6 .N CA780408 DH February 26, 1979 3:36 PM .X 3108 5 3108 3108 5 3108 3108 5 3108 .I 3109 .T A Data Structure for Manipulating Priority Queues .W A data structure is described which can be used for representing a collection of priority queues. The primitive operations are insertion, deletion, union, update, and search for an item of earliest priority. .B CACM April, 1978 .A Vuillemin, J. .K Data structures, implementation of set operations,priority queues, mergeable heaps, binary trees .C 4.34 5.24 5.25 5.32 8.1 .N CA780407 DH February 26, 1979 3:39 PM .X 2844 4 3109 2936 4 3109 3051 4 3109 3051 4 3109 3064 4 3109 3109 4 3109 3109 4 3109 2767 5 3109 2844 5 3109 3109 5 3109 3109 5 3109 3109 5 3109 .I 3110 .T Assembling Code for Machines with Span-Dependent Instructions .W Many modern computers contain instructions whose lengths depend on the distance from a given instance of such an instruction to the operand of that instruction. This paper considers the problem of minimizing the lengths of programs for such machines. An efficient solution is presented for the case in which the operand of every such "span-dependent" instruction is either a label or an assembly-time expression of a certain restricted form.If this restriction is relaxed by allowing these operands to be more general assembly-time expressions, then the problem is shown to be NP-complete. .B CACM April, 1978 .A Szymanski, T.G. .K Span-dependent instructions, variable-length addressing, code generation, assemblers, compilers, NP-complete, computational complexity. .C 4.11 4.12 5.25 .N CA780406 DH February 26, 1979 3:49 PM .X 2626 4 3110 2786 4 3110 2840 4 3110 2858 4 3110 2919 4 3110 3017 4 3110 3110 4 3110 3110 4 3110 3110 4 3110 3174 4 3110 2194 5 3110 2629 5 3110 2858 5 3110 3110 5 3110 3110 5 3110 3110 5 3110 .I 3111 .T Secure Communications Over Insecure Channels .W According to traditional conceptions of cryptographic security, it is necessary to transmit a key, by secret means, before encrypted messages can be sent securely. This paper shows that it is possible to select a key over open communications channels in such a fashion that communications security can be maintained. A method is described which forces any enemy to expend an amount of work which increases as the square of the work required of the two communicants to select the key. The method provides a logically new kind of protection against the passive eaves dropper. It suggests that further research on this topic will be highly rewarding, both in a theoretical and a practical sense. .B CACM April, 1978 .A Merkle, R.C. .K Security, cryptography, cryptology, communications security, wiretap, computer network security, passive eavesdropping, key distribution, public key cryptosystem .C 3.56 3.81 .N CA780405 DH February 26, 1979 4:18 PM .X 3038 4 3111 3111 4 3111 3177 4 3111 3021 5 3111 3111 5 3111 3111 5 3111 3111 5 3111 3158 5 3111 2436 6 3111 3038 6 3111 3111 6 3111 3111 6 3111 .I 3112 .T List Processing in Real Time on a Serial Computer .W A real-time list processing system is one in which the time required by the elementary list operations (e.g. CONS, CAR, CDR, RPLACA, REPLACD, EQ, and ATOM in LISP) is bounded by a (small) constant. Classical implementations of list processing systems lack this property because allocating a list cell from the heap may cause a garbage collection, which process requires time proportional to the heap size to finish. A real-time list processing system is presented which continuously reclaims garbage, including directed cycles, while linearizing and compacting the accessible cells into contiguous locations to avoid fragmenting the free storage pool. The program is small and requires no time-sharing interrupts, making it suitable for microcode. Finally, the system requires the same average time, and not more than twice the space, of a classical implementation, and those space requirements can be reduced to approximately classical proportions by compact list representation. Arrays of different sizes, a program stack, and hash linking are simple extensions to our system, and reference counting is found to be inferior for many applications. .B CACM April, 1978 .A Baker, H.G. .K Real-time, compacting,garbage collection, list processing, virtual memory, file or database management, storage management, storage allocation, LISP, CDR-coding, reference counting. .C 3.50 3.60 3.73 3.80 4.13 4.22 4.32 4.33 4.35 4.49 .N CA780404 DH February 26,1979 4:32 PM .X 1024 4 3112 1050 4 3112 1051 4 3112 1098 4 3112 1214 4 3112 1380 4 3112 1388 4 3112 1393 4 3112 1393 4 3112 1485 4 3112 1487 4 3112 1541 4 3112 1549 4 3112 1549 4 3112 1570 4 3112 1846 4 3112 1878 4 3112 1946 4 3112 1957 4 3112 1972 4 3112 2023 4 3112 2060 4 3112 2156 4 3112 2156 4 3112 2168 4 3112 2168 4 3112 2218 4 3112 2361 4 3112 2438 4 3112 2513 4 3112 2625 4 3112 2723 4 3112 2723 4 3112 2736 4 3112 2736 4 3112 2833 4 3112 2833 4 3112 2838 4 3112 2845 4 3112 2855 4 3112 2855 4 3112 2855 4 3112 2857 4 3112 2896 4 3112 2922 4 3112 2944 4 3112 3039 4 3112 3074 4 3112 3074 4 3112 3074 4 3112 3081 4 3112 3101 4 3112 3106 4 3112 3112 4 3112 3112 4 3112 3112 4 3112 3112 4 3112 3112 4 3112 3112 4 3112 3112 4 3112 3112 4 3112 3112 4 3112 3112 4 3112 627 4 3112 106 5 3112 1380 5 3112 1826 5 3112 1972 5 3112 2438 5 3112 2723 5 3112 2736 5 3112 2833 5 3112 2838 5 3112 3112 5 3112 3112 5 3112 3112 5 3112 731 5 3112 .I 3113 .T Optimal Conversion of Extended-Entry Decision Tables with General Cost Criteria .W A general dynamic programming algorithm for converting limited, extended, or mixed entry decision tables to optimal decision trees is presented which can take into account rule frequencies or probabilities, minimum time and/or space cost criteria, common action sets, compressed rules and ELSE rules, sequencing constraints on condition tests, excludable combinations of conditions, certain ambiguities, and interrupted rule masking. .B CACM April, 1978 .A Lew, A. .K Decision table, optimal programs, dynamic programming .C 3.59 4.19 4.29 4.49 5.39 5.42 8.3 .N CA780403 DH February 26, 1979 4:37 PM .X 1684 4 3113 2053 4 3113 2220 4 3113 2273 4 3113 2453 4 3113 2598 4 3113 2598 4 3113 2691 4 3113 2726 4 3113 2726 4 3113 2845 4 3113 2856 4 3113 2856 4 3113 3033 4 3113 3113 4 3113 3113 4 3113 3113 4 3113 3113 4 3113 3113 4 3113 1354 5 3113 2263 5 3113 2598 5 3113 2691 5 3113 2856 5 3113 3113 5 3113 3113 5 3113 3113 5 3113 .I 3114 .T A Technique for Isolating Differences Between Files .W A simple algorithm is described for isolating the differences between two files. One application is the comparing of two versions of a source program or other file in order to display all differences. The algorithm isolates differences in a way that corresponds closely to our intuitive notion of difference, is easy to implement, and is computationally efficient, with time linear in the file length. For most applications the algorithm isolates differences similar to those isolated by the longest common subsequence. Another application of this algorithm merges files containing independently generated changes into a single file. The algorithm can also be used to generate efficient encodings of a file in the form of the differences between itself and a given "datum" file, permitting reconstruction of the original file from the difference and datum files. .B CACM April, 1978 .A Heckel, P. .K Difference isolation, word processing, text editing, program maintenance, hash coding, file compression, bandwidth compression, longest common subsequence, file comparison, molecular evolution .C 3.63 3.73 3.81 4.43 .N CA780402 DH February 27, 1979 10:52 AM .X 2299 4 3114 2501 4 3114 2629 4 3114 2915 4 3114 2963 4 3114 3114 4 3114 3114 4 3114 3114 4 3114 1502 5 3114 2499 5 3114 2745 5 3114 3114 5 3114 3114 5 3114 3114 5 3114 .I 3115 .T Orderly Enumeration of Nonsingular Binary Matrices Applied to Text Encryption .W Nonsingular binary matrices of order N, i.e., nonsingular over the field {0, 1}, and an initial segment of the natural numbers are placed in one-to-one correspondence. Each natural number corresponds to two intermediate vectors. These vectors are mapped into a nonsingular binary matrix. Examples of complete enumeration of all 2 x 2 and 3 x 3 nonsingular binary matrices were produced by mapping the intermediate vectors to the matrices. The mapping has application to the Vernam encipherment method using pseudorandom number sequences. A bit string formed form bytes of text of a data encryption key can be used as a representation of a natural number. This natural number is transformed to a nonsingular binary matrix. key leverage is obtained by using the matrix as a"seed" in a shift register sequence pseudorandom number generator. .B CACM April, 1978 .A Payne, W.H. McMillen, K.L. .K Binary matrices, combinatorics, combinations, nonsingular matrices, encryption, Vernam, pseudorandom numbers, feedback shiftregister sequences, random numbers. .C 3.7 5.3 .N CA780401 DH February 27, 1979 11:05 AM .X 2269 4 3115 2466 4 3115 2690 4 3115 2834 4 3115 2834 4 3115 2834 4 3115 2853 4 3115 2884 4 3115 2908 4 3115 3115 4 3115 3115 4 3115 3115 4 3115 3115 4 3115 3115 4 3115 3115 4 3115 3115 4 3115 907 5 3115 2045 5 3115 2417 5 3115 2466 5 3115 2884 5 3115 579 5 3115 3115 5 3115 3115 5 3115 3115 5 3115 785 5 3115 .I 3116 .T Interference Detection Among Solids and Surfaces .W In many industrial environments it is necessary to determine whether r there is interference among components. There are many potential interference problems in products made up of assemblies of components and in product manufacturing and testing. Typically, drawings are used in an attempt to detect such unwanted interferences, but the two-dimensional, static drafting medium does not always show interferences among three-dimensional, moving parts. This paper presents a computer representation for solids and surfaces and algorithms which carry out interference checking among objects so represented. Objects are represented as polyhedra or as piecewise planar surfaces. Two types of interference checking are discussed: detection of intersections among objects in fixed positions and detection of collisions among objects moving along specified trajectories. .B CACM January, 1979 .A Boyse, J.W. .K Interference checking, intersection detection, collision detection, solid representation, polyhedral representation, graphics, polygons, surfaces .C 3.2 8.2 .N CA790101 DH April 10, 1979 10:50 AM .X 2827 4 3116 3116 4 3116 2771 5 3116 3116 5 3116 3116 5 3116 3116 5 3116 3172 5 3116 3116 6 3116 .I 3117 .T The Impact and Use of Computer Technology by the Police .W Over the past decade there has been a significant growth in the use of computer technology by U.S. police departments. This growth, however, has been at a slower rate than predicted in the early 1970's. Further, when computer applications extend beyond "routine" uses to "nonroutine" efforts, such as resource allocation or computer-aided-dispatch systems where the machine begins to become a tool for decision making, strategic planning and person/machine interaction, the results of the technology to date have been mixed. This paper reports on case studies and surveys which provinsights on the implementation and impact of police computer technology and the relationship of this technology to law enforcement and society. .B CACM January, 1979 .A Colton, K.W. .K Computer technology, innovation, police resource allocation, police command and control, computer aided dispatch, law enforcement, technology transfer .C 2.1 2.11 2.12 2.45 3.33 3.39 .N CA790102 DH April 10, 1979 11:32 AM .X 3117 4 3117 3090 5 3117 3117 5 3117 3117 5 3117 3117 5 3117 .I 3118 .T Permutation of Data Blocks in a Bubble Memory .W A common internal organization of bubble memories consists of a set of (minor) loops, connected through another (major) loop. The problem of obtaining any give n permutation of the minor loop contents in minimum time is studied in this paper. A lower bound to the number of steps required buy a permutation algorithm is derived, and the class of optimum algorithms is identified. .B CACM January, 1979 .A Bongiovanni, G.C. Luccio, F. .K Bubble memory, memory loops, permutation algorithm, data block shift .C 4.34 5.30 6.34 .N CA790103 DH April 10, 1979 12:04 PM .X 3118 5 3118 3118 5 3118 3118 5 3118 .I 3119 .T The Impact of Distributions and Disciplines on Multiple Processor Systems .W Simple queueing models are used to study the performance tradeoffs of multiple processor systems. Issues considered include the impact of CPU service disciplines and distributions, level of multiprogramming, multitasking, and job priorities. .B CACM January, 1979 .A Sauer, C.H. Chandy, K.M. .K Multiprogramming, multiprocessing, scheduling disciplines, performance evaluation, queueing models .C 4.32 4.6 6.2 8.1 .N CA790104 DH April 10, 1979 12:10 PM .X 2571 4 3119 2918 4 3119 3032 4 3119 3072 4 3119 3119 4 3119 3119 4 3119 3119 4 3119 3119 4 3119 2245 5 3119 2798 5 3119 2849 5 3119 2859 5 3119 3119 5 3119 3119 5 3119 3119 5 3119 .I 3120 .T An Event-Driven Compiling Technique .W Due to the linear structure of source text, difficulties may arise in a one-pass compilation process. These difficulties occur when an entity cannot be processed because of a forward reference to information only obtainable from subsequent entities. Classic solutions ask for data structures appropriate for each case. A technique is presented here which uses instead control structures, namely events and processes. The work of the compiler-writer becomes easier both conceptually and in practice because he can forget these problems at the outset and he avoids special processing for each problem. This technique has been applied to the construction of an Algol 68 compiler. Three examples from that implementation are described and discussed here. .B CACM January, 1979 .A Banatre, J.P. Routeau, J.P. Trilling, L. .K Compiling technique, one-pass compilation, semantic analysis, event, process, parallelism categories--4.12 .N CA790105 DH April 10, 1979 12:26 PM .X 3120 5 3120 3120 5 3120 3120 5 3120 .I 3121 .T Syntactic Source to Source Transforms and Program Manipulation .W Syntactic transforms are the source to source program transformations which preserve the history of computation, and thus do not modify the execution time. Combined with a small number of primitive semantic transforms, they provide a powerful tool for program manipulation. A catalogue of syntactic transforms, and its use for solution of a system of program equations, is given. Examples of derivation of more complex source to source transformations are also presented. Two case studies illustrate the way in which syntactic and semantic source to source transformations may be used for development of clear, simple, and reasonably efficient programs. .B CACM January, 1979 .A Arsac, J.J. .K Structured programming, program transforms, control structures .C 4.2 5.24 5.25 .N CA790106 DH April 10, 1979 1:57 PM .X 1175 4 3121 1919 4 3121 1919 4 3121 1969 4 3121 1997 4 3121 2191 4 3121 2191 4 3121 2388 4 3121 2388 4 3121 2679 4 3121 2709 4 3121 2783 4 3121 2784 4 3121 2821 4 3121 3004 4 3121 3054 4 3121 3054 4 3121 3121 4 3121 3121 4 3121 3121 4 3121 3121 4 3121 3121 4 3121 864 4 3121 1312 5 3121 308 5 3121 309 5 3121 2456 5 3121 2709 5 3121 3121 5 3121 3121 5 3121 3121 5 3121 .I 3122 .T Production and Employment of Ph.D.'s in Computer Science - 1977 and 1978 .B CACM February, 1979 .A Taulbee, O.E. Conte, S.D. .K Computer science, production of Ph.D.'s, employment, students .C 1.3 1.52 1.53 1.59 .N CA790201 DH April 10, 1979 2:09 PM .X 2962 4 3122 3122 4 3122 3122 4 3122 3123 4 3122 3123 4 3122 2861 5 3122 2962 5 3122 3122 5 3122 3122 5 3122 3122 5 3122 .I 3123 .T Employment Characteristics of Doctoral Level Computer Scientists .B CACM February, 1979 .A Fairley, R.E. .K Employment characteristics, manpower utilization,occupational trends .C 1.5 2.1 2.2 .N CA790202 DH April 10, 1979 2:13 PM .X 2962 4 3123 3022 4 3123 3122 4 3123 3122 4 3123 3123 4 3123 3123 4 3123 3123 4 3123 3123 4 3123 2823 5 3123 2861 5 3123 2962 5 3123 3022 5 3123 3123 5 3123 3123 5 3123 3123 5 3123 .I 3124 .T Recursive Data Structures in APL .W A mathematical study of three approaches for defining nested arrays in APL is presented. Theorems exhibiting the relationships between the definitional systems are given and illustrated through graph representations. One of the approaches is used to define an APL array to be a recursive data structure equivalent to a tree structure in which all data is stored at the leaves as homogeneous arrays of numbers and characters. An extension of APL is proposed that includes new primitive functions to manipulate the nesting level of arrays and new operators to assist in the construction of data-driven algorithms. .B CACM February, 1979 .A Gull,W.E. Jenkins, M.A. .K Nested arrays, APL arrays, recursive data structures, trees, data-driven algorithms, theory of arrays .C 4.22 5.29 .N CA790203 DH April 10, 1979 3:41 PM .X 2060 4 3124 2294 4 3124 2470 4 3124 3124 4 3124 1469 5 3124 3124 5 3124 3124 5 3124 3124 5 3124 .I 3125 .T Global Optimization by Suppression of Partial Redundancies .W The elimination of redundant computations and the moving of invariant computations out of loops are often done separately, with invariants moved outward loop by loop. We propose to do both at once and to move each expression directly to the entrance of the outermost loop in which it is invariant. This is done by solving a more general problem, i.e. the elimination of computations performed twice on a given execution path. Such computations are termed partially redundant. Moreover, the algorithm does not require any graphical information or restrictions on the shape of the program graph. Testing this algorithm has shown that its execution cost is nearly linear with the size of the program, and that it leads to a smaller optimizer that requires less execution time. .B CACM February, 1979 .A Morel, E. Renvoise, C. .K Optimizer, optimization, compiler, compilation, redundancy elimination, invariant computation elimination, partial redundancy, data flow analysis, Boolean systems .C 4.12 5.21 5.24 .N CA790204 DH April 10, 1979 4:19 PM .X 3125 5 3125 3125 5 3125 3125 5 3125 .I 3126 .T Comments on Perfect Hashing Functions: A Single Probe Retrieving Method for Static Sets .B CACM February, 1979 .A Anderson Anderson, M.G. .K Hashing, hashing methods, hash coding, direct addressing, identifier- to-address transformations, perfect hashing functions, perfect hash coding, reduction, retrieving, scatter storage, searching .C 3.7 3.74 4.34 .N CA790205 DH April 10, 1979 4:25 PM .X 3041 4 3126 3126 4 3126 3176 4 3126 2905 5 3126 3126 5 3126 3126 5 3126 3126 5 3126 .I 3127 .T Thoth, a Portable Real-Time Operating System .W Thoth isa real-time operating system which is designed to be portable over a large set of machines. It is currently running on two minicomputers with quite different architectures. Both the system and application programs which use it are written in a high-level language. Because the system is implemented by the same software on different hardware, it has the same interface to user programs. Hence, application programs which use Thoth are highly portable. Thoth encourages structuring programs as networks of communicating processes by providing efficient interprocess communication primitives. .B CACM February, 1979 .A Cheriton, D.R. Malcolm, M.A. Melen, L.A. Sager, G.R. .K Portability, real time, operating systems, minicomputer .C 3.80 4.30 4.35 .N CA790206 DH April 12, 1979 9:10 AM .X 2319 4 3127 2378 4 3127 2320 4 3127 2632 4 3127 2738 4 3127 2740 4 3127 2868 4 3127 2928 4 3127 3127 4 3127 3127 4 3127 2080 5 3127 2277 5 3127 3127 5 3127 3127 5 3127 3127 5 3127 .I 3128 .T Synchronization with Eventcounts and Sequencers .W Synchronization of concurrent processes requires controlling the relative ordering of events in the processes. A new synchronization mechanism is proposed, using abstract objects called eventcounts and sequencers, that allows processes to control the ordering of events directly, rather than using mutual exclusion to protect manipulations of shared variables that control ordering of events. Direct control of ordering seems to simplify correctness arguments and also simplifies implementation in distributed systems. The mechanism is defined formally, and then several examples of its use are given. The relationship of the mechanism to protection mechanisms in the system is explained; in particular, eventcounts are shown to be applicable to situations where confinement of information matters. An implementation of eventcount s and sequencers in a system with shared memory is described. .B CACM February, 1979 .A Reed, D.P. Kanodia, R.K. .K Process synchronization, interprocess communication, distributed systems, security models, mutual exclusion, semaphores .C 4.30 4.32 .N CA790207 DH April 12, 1979 10:03 AM .X 2320 4 3128 2597 4 3128 2700 4 3128 2777 4 3128 2840 4 3128 2851 4 3128 2865 4 3128 2866 4 3128 2869 4 3128 2895 4 3128 2898 4 3128 2912 4 3128 2938 4 3128 2945 4 3128 2946 4 3128 2946 4 3128 2972 4 3128 3043 4 3128 3128 4 3128 3128 4 3128 3128 4 3128 3128 4 3128 3128 4 3128 3128 4 3128 3128 4 3128 3128 4 3128 3128 4 3128 3144 4 3128 3148 4 3128 3158 4 3128 2150 5 3128 2376 5 3128 2436 5 3128 2597 5 3128 2865 5 3128 2866 5 3128 2870 5 3128 2912 5 3128 3082 5 3128 3128 5 3128 3128 5 3128 3128 5 3128 .I 3129 .T Optimal Storage Allocation for Serial Files .W A computer system uses several serial files. The files reside on a direct-access storage device in which storage space is limited. Records are added to the files either by jobs in batch processing mode, or by on-line transactions. Each transaction (or job) generates a demand vector which designates the space required in each file for record addition. Whenever one file runs out of space, the system must be reorganized. This paper considers several criteria for best allocating storage space to the files. .B CACM February, 1979 .A Mendelson, H. Pliskin, J.S. Yechiali, U. .K Serial files, storage allocation, reorganization, partitioned dataset .C 3.5 3.7 4.33 4.6 .N CA790208 DH April 12, 1979 10:34 AM .X 2816 4 3129 3129 4 3129 3129 4 3129 2493 5 3129 2816 5 3129 3129 5 3129 3129 5 3129 3129 5 3129 .I 3130 .T CURRICULUM '78 - Recommendations for the Undergraduate Program in Computer Science .W Contained in this report are the recommendations for the undergraduate degree program in Computer Science of the Curriculum Committee on Computer Science (C3S) of the Association for Computing Machinery (ACM). The core curriculum common to all computer science undergraduate programs is presented in terms of elementary level topics and courses, and intermediate level courses. Elective courses, used to round out an undergraduate program, are then discussed, and the entire program including the computer science component and other material is presented. Issues related to undergraduate computer science education, such as service courses, supporting areas, continuing education, facilities, staff, and articulation are presented. .B CACM March, 1979 .A Austing, R.H. Barnes, B.H. Bonnette, D.T. Engel, G.L. Stokes, G. .K Computer sciences courses, computer science curriculum, computer science education, computer science undergraduate degree programs, service courses, continuing education .C 1.52 .N CA790301 DH April 12, 1979 11:02 AM .X 1720 4 3130 1927 4 3130 2147 4 3130 2163 4 3130 2345 4 3130 2478 4 3130 2594 4 3130 2852 4 3130 2899 4 3130 3130 4 3130 3130 4 3130 1771 5 3130 3003 5 3130 3130 5 3130 3130 5 3130 3130 5 3130 .I 3131 .T FOCUS Microcomputer Number System .W FOCUS is a number system and supporting computational algorithms especially useful for microcomputer control and other signal processing applications. FOCUS has the wide-ranging character of floating-point numbers with a uniformity of state distributions that give FOCUS better than a twofold accuracy advantage over an equal word length floating-point system. FOCUS computations are typically five times faster than single precision fixed-point or integer arithmetic for a mixture of operations, comparable in speed with hardware arithmetic for many applications. Algorithms for 8-bit and 16-bit implementations of FOCUS are included. .B CACM March, 1979 .A Edgar, A.D. Lee, S.C. .K Number representation, logarithmic arithmetic, computational speed, computational accuracy, microcomputer applications .C 3.24 3.80 4.0 4.22 5.11 .N CA790302 DH April 12, 1979 11:12 AM .X 3131 4 3131 3131 4 3131 1148 5 3131 3131 5 3131 3131 5 3131 3131 5 3131 893 5 3131 .I 3132 .T Experiments with Some Algorithms that Find Central Solutions for Pattern Classification .W In two-class pattern recognition, it is a standard technique to have an algorithm finding hyperplanes which separates the two classes in a linearly separable training set. The traditional methods find a hyperplane which separates all points in the other, but such a hyperplane is not necessarily centered in the empty space between the two classes. Since a central hyperplane does not favor one class or the other, it should have a lower error rate in classifying new points and is therefore better than a noncentral hyperplane. Six algorithms for finding central hyperplanes are tested on three data sets. Although frequently used practice, the modified relaxation algorithm is very poor. Three algorithms which are defined in the paper are found to be quite good. .B CACM March, 1979 .A Slagle, J. .K Pattern recognition, pattern classification, linear discriminants, central hyperplanes, centering, centrality criteria, dead zone, hyperplane, linearly separable, relaxation algorithm, accelerated relaxation .C 3.62 3.63 .N CA790303 DH April 12, 1979 3:20 PM .X 3132 4 3132 2215 5 3132 3132 5 3132 3132 5 3132 3132 5 3132 .I 3133 .T Logic and Semantic Networks .W An extended form of semantic network is defined, which can be regarded as a syntactic variant of the clausal form of logic. By virtue of its relationship with logic, the extended semantic network is provided with a precise semantics, inference rules, and a procedural interpretation. On the other hand, by regarding semantic networks as an abstract data structure for the representation of clauses, we provide a theorem-prover with a potentially useful indexing scheme and path-following strategy for guiding the search for a proof. .B CACM March, 1979 .A Deliyanni, A. Kowalski, R.A. .K Logic, semantic networks, theorem-proving, indexing, resolution, deduction, logic programming .C 3.42 3.64 5.21 .N CA790304 DH April 12, 1979 3:53 PM .X 3133 4 3133 3133 5 3133 3133 5 3133 3133 5 3133 3154 5 3133 2046 6 3133 2110 6 3133 3133 6 3133 .I 3134 .T The Use of Normal Multiplication Tables for Information Storage and Retrieval .W This paper describes a method for the organization and retrieval of attribute based information systems, using the normal multiplication table as a directory for the information system. Algorithms for the organization an d retrieval of information are described. This method is particularly suitable for queries requesting a group of information items, all of which possess a particular set of attributes (and possibly some other attributes as well). Several examples are given; the results with respect to the number of disk accesses and disk space are compared to other common approaches. Algorithms evaluating the appropriateness of the above approach to a given information system are described. For a certain class of information systems, the normal multiplication table method yields far more rapid retrieval with a more economical space requirement than conventional systems. Moreover this method incorporates an improved modification of the inverted file technique. .B CACM March, 1979 .A Motzkin, D. .K Information retrieval, inverted files, multiattribute retrieval, multilist file, normal multiplication table, queries, rapid retrieval, space economy .C 3.70 3.73 3.79 .N CA790305 DH May 21, 1979 9:46 AM .X 2140 4 3134 2452 4 3134 2575 4 3134 2765 4 3134 2901 4 3134 2966 4 3134 3134 4 3134 3134 4 3134 3134 4 3134 3134 4 3134 1976 5 3134 2160 5 3134 2524 5 3134 2990 5 3134 3134 5 3134 3134 5 3134 3134 5 3134 .I 3135 .T Detection of Three-Dimensional Patterns of Atoms in Chemical Structures .W An algorithm for detecting occurrences of a three-dimensional pattern of objects within a larger structure is presented. The search technique presented uses the geometric structure of the pattern to define characteristics demanded of candidates for matching. This is useful in cases where the properties of each atom, considered individually, do not adequately limit the number of sets of possible matchings. Several applications of this technique in the field of chemistry are: (1) in pharmacology: searching for a common constellation of atoms in molecules possessing similar biological activities; (2) in X-ray crystallography: fitting a structure or a structural fragment to a set of peaks in the electron-density distribution of a Fourier map; (3) in chemical documentation; retrieving from a file the structures containing specified substructures. .B CACM April, 1979 .A Lesk, A.M. .K Three-dimensional pattern recognition, chemical structure search, information retrieval, crystal -structure analysis, drug analysis and design .C 3.13 3.63 3.74 .N CA790401 DH May 21, 1979 10:50 AM .X 2521 5 3135 3135 5 3135 3135 5 3135 3135 5 3135 2028 6 3135 2031 6 3135 3135 6 3135 .I 3136 .T Price/Performance Patterns of U.S. Computer Systems .W Econometric models of the U.S. computer market have been developed to study the relationships between system price and hardware performance. Single measures of price/performance such as "Grosch's Law" are shown to be so over simplified as to be meaningless. Multiple-regression models predicting system cost as a function of several hardware characteristics do, however, reveal a market dichotomy. On one hand there exists a stable, price predictable market for larger, general purpose computer systems. The other market is the developing one for small business computer systems, a market which is relatively unstable with low price predictability. .B CACM April, 1979 .A Cale, E.G. Gremillion, L.L. McKenney, J.L. .K Price/performance, Grosch's law, U.S. computer market .C 2.0 2.11 6.21 .N CA790402 DH May 21, 1979 1:09 PM .X 3136 5 3136 3136 5 3136 3136 5 3136 .I 3137 .T A Methodology for the Design of Distributed Information Systems .W A macro model of a distributed information system in presented. The model describes the major costs of using an information system from the perspective of the end-user. The making evident the effect of various design and operating parameters on overall cost per transaction. The technique is illustrated by application to the design of an interactive transaction processing system. .B CACM April, 1979 .A Bucci, G. Streeter, D.N. .K Distributed processing, system design, cost minimization, distributed database, interactive computing, economic modeling, transaction processing .C 4.32 4.33 6.2 8.1 .N CA790403 DH May 21, 1979 1:25 PM .X 3137 5 3137 3137 5 3137 3137 5 3137 .I 3138 .T A Mathematical Programming Updating Method Using Modified Givens Transformations and Applied to LP Problems .W An efficient and numerically stable method is presented for the problem of updating an orthogonal decomposition of a matrix of column (or row) vectors. The fundamental idea is to add a column (or row) analogous to adding an additional row of data in a linear least squares problem. A column (or row) is dropped by a formal scaling with the imaginary unit, -1, followed by least squares addition of the column (or row). The elimination process for the procedure is successive ssive application of the Givens transformation in modified (more efficient) form. These ideas are illustrated with an implementation of the revised simplex method. The algorithm is a general purpose one that does not account for any particular structure or sparsity in the equations. Some suggested computational tests for determining signs of various controlling parameters in the revised simplex algorithm are mentioned. A simple means of constructing test cases and some sample computing times are presented. .B CACM April, 1979 .A Hanson, R.J. Wisniewski, J.A. .K Linear programming, numerical linear algebra, modified Givens transformations, linear programming test cases .C 5 5.4 5.41 5.1 5.14 .N CA790404 DH May 21, 1979 2:06 PM .X 3099 4 3138 3138 4 3138 1313 5 3138 3138 5 3138 3138 5 3138 3138 5 3138 .I 3139 .T New Methods to Color the Vertices of a Graph .W This paper describes efficient new heuristic methods to color the vertices of a graph which rely upon the comparison of the degrees and structure of a graph. A method is developed which is exact for bipartite graphs and is an important part of heuristic procedures to find maximal cliques in general graphs. Finally an exact method is given which performs better than the Randall-Brown algorithm and is able to color larger graphs, and the new heuristic methods, the classical methods, and the exact method are compared. .B CACM April, 1979 .A Brelaz, D. .K NP-complete, graph structure, balancing, graph coloring, scheduling, comparison of the methods .C 5.25 5.32 .N CA790405 DH June 5, 1979 2:05 PM .X 3139 5 3139 3139 5 3139 3139 5 3139 .I 3140 .T Social Processes and Proofs of Theorems and Programs .W It is argued that formal verifications of programs, no matter how obtained, will not play the same key role in the development of computer science and software engineering as proofs do in mathematics. Furthermore the absence of continuity, the inevitability of change, and the complexity of specification of significantly many real programs make the form al verification process difficult to justify and manage. It is felt that ease of formal verification should not dominate program language design. .B CACM May, 1979 .A De Millo, R.A. Lipton, R.J. Perlis, A.J. .K Formal mathematics, mathematical proofs, program verification, program specification .C 2.10 4.6 5.24 .N CA790501 DH June 5, 1979 2:23 PM .X 3140 5 3140 3140 5 3140 3140 5 3140 3178 5 3140 3076 6 3140 3140 6 3140 3142 6 3140 3179 6 3140 3180 6 3140 3181 6 3140 3182 6 3140 .I 3141 .T An Improved Algorithm for Decentralized Extrema-Finding in Circular Configurations of Processes .W This note presents an improvement to LeLann's algorithm for finding the largest (or smallest) of a set of uniquely numbered processes arranged in a circle, in which no central controller exists and the number of processes is not known a priori. This decentralized algorithm uses a technique of selective message extinction in order to achieve an average number of message passes of order (n log n) rather than O(n2). .B CACM May, 1979 .A Chang, E. Roberts, R. .K Decentralized algorithms, distributed systems, operating systems .C 4.32 4.35 5.25 5.32 .N CA790502 DH June 5, 1979 2:35 PM .X 3141 5 3141 3141 5 3141 3141 5 3141 .I 3142 .T Consumer Difficulties With Computerized Transactions: An Empirical Investigation .W The prevalence with which errors may be encountered by the end targets of a computerized process is assessed. How many and what type of errors occur? How easily are they corrected? What is the reaction of consumers to errors-to a failure to correct them? What can be learned by designers of large management packages from such data? Results show that with the present state of the art, approximately 40 percent of individuals (or households) having average contacts with different types of accounts experience one or more errors per year. Eighty percent relate to billing. Attempts to correct errors often turned out to be difficult and not always successful. There appears to be some conflict between computer-using organizations and their public. Also the role of poor man agement packages including poor software is indicated. While most management systems may be adequate, results of the survey raise concerns about the timeliness and the number of designs of very large linked program packages (as EFT for instance). .B CACM May, 1979 .A Sterling, T.D. .K Errors, systems errors, billing errors, management systems, consumers .C 2.0 2.1 2.12 2.2 3.50 3.52 3.55 4.19 4.6 .N CA790503 DH June 5, 1979 3:21 PM .X 3142 4 3142 3142 4 3142 3179 4 3142 3178 4 3142 3182 4 3142 3183 4 3142 2583 5 3142 3076 5 3142 3142 5 3142 3142 5 3142 3142 5 3142 3178 5 3142 3076 6 3142 3140 6 3142 3142 6 3142 3179 6 3142 3180 6 3142 3181 6 3142 3182 6 3142 .I 3143 .T Reasoning About Arrays .W A variety of concepts, laws, and notations are presented which facilitate reasoning about arrays. The basic concepts include intervals and their partitions, functional restriction, images, pointwise extension of relations, ordering, single-point variation of functions, various equivalence relations for array values, and concatenation. The effectiveness of these ideas is illustrated by informal descriptions of algorithms for binary search and merging, and by a short formal proof. .B CACM May, 1979 .A Reynolds, J.C. .K Arrays, assertions, program proving, intervals, partitions, pointwise extension, ordering, concatenation, binary search, merging .C 4.0 4.22 5.21 5.24 .N CA790504 DH June 5, 1979 3:33 PM .X 2021 4 3143 2222 4 3143 2227 4 3143 2315 4 3143 2326 4 3143 2356 4 3143 2420 4 3143 2470 4 3143 2732 4 3143 2865 4 3143 2874 4 3143 2896 4 3143 2943 4 3143 3014 4 3143 3068 4 3143 3077 4 3143 3143 4 3143 3143 4 3143 1834 5 3143 2227 5 3143 3143 5 3143 3143 5 3143 3143 5 3143 .I 3144 .T A Model for and DIscussion of Multi-Interpreter Systems .W A multi-interpreter system is a system in which programs execute by virtue of being interpreted by other programs, which themselves may either be interpreted (i.e. nested interpreters) or run directly on the host machine. The model reveals the anatomy of interpreters and how these differ from procedures, and exhibits links to protection domains and multiprocessor architectures. .B CACM May, 1979 .A Manthey, M.J. .K Interpreters, transfer-of-control, hierarchies .C 4.13 3.65 .N CA790505 DH August 21, 19791:14 PM .X 1458 4 3144 1523 4 3144 1603 4 3144 1698 4 3144 1747 4 3144 1748 4 3144 1854 4 3144 1877 4 3144 1960 4 3144 2377 4 3144 2378 4 3144 2497 4 3144 2558 4 3144 2625 4 3144 2626 4 3144 2632 4 3144 2748 4 3144 2840 4 3144 2865 4 3144 2866 4 3144 2868 4 3144 2868 4 3144 2870 4 3144 2876 4 3144 2898 4 3144 2941 4 3144 2972 4 3144 3043 4 3144 3105 4 3144 3105 4 3144 3105 4 3144 3128 4 3144 3144 4 3144 3144 4 3144 3144 4 3144 3144 4 3144 3144 4 3144 3144 4 3144 3144 4 3144 1471 5 3144 2298 5 3144 2491 5 3144 2597 5 3144 2624 5 3144 2625 5 3144 2632 5 3144 3144 5 3144 3144 5 3144 3144 5 3144 .I 3145 .T An Implementation of Structured Walk-Throughs in Teaching Cobol Programming .W The effectiveness of structured walk-throughs in teaching introductory Cobol programming was empirically assessed with a sample of 215 under-graduate business administration majors. Cobol proficiency was measured by a final examination testing (a) knowledge of language rules, (b) ability to read and debug a program, and (c) the ability to write a program. Analysis of multiple covariance was used to statistically adjust test scores for age and conditional reasoning scores. The findings provide empirical support for incorporating structured walk-throughs into the programming learning process more effectively develop student proficiency in writing Cobol programs. .B CACM June, 1979 .A Lemos, R.S. .K Structured walk-throughs, Cobol programming, teaching of programming, testing programming proficiency .C 3.51 1.52 2.42 4.22 .N CA790601 DH August 21, 1979 3:19 PM .X 3145 4 3145 2887 5 3145 3145 5 3145 3145 5 3145 3145 5 3145 .I 3146 .T An Academic Program Providing Realistic Training in Software Engineering .W An academic program at Harvey Mudd College, called the Clinic program, brings projects from industry on campus to be studied and solved by student teams. The objective of the Clinic is to provide students, working as small teams under careful faculty supervision, an opportunity to work on real world problems of sufficient magnitude and complexity. Under this program, students can acquire essential skills of software engineering, such as team work, software project management, software design methodology, and communication skills, in a realistic environment. Sample software projects undertaken by the Clinic are described. Experience so far has shown that the program is a viable transition from an academic to industrial world. .B CACM June, 1979 .A Busenberg, S.N. Tam, W.C. .K Software engineering, software engineering education, software projects, student teams, software engineering skills .C 1.52 4.0 .N CA790602 DH August 21, 1979 4:04 PM .X 3146 5 3146 3146 5 3146 3146 5 3146 .I 3147 .T A Model for Automating File and Program Design in Business Application Systems .W This paper discusses a model for finding an efficient implementation of a business application system whose logical specifications have been determined in advance. The model views file and program design as a problem of systematically coordinating the configurations of datasets and computations. It uses a straight forward search technique to determine aggregations of computations, aggregations of datasets, device, organization, and key order for each data set, key order for each computation, and access method for each dataset-computation pair. Although computational results are presented for a sample problem involving 54 computations and 49 datasets, the main point of the paper is that the underlying model works computationally an d is simple enough to be adapted to many file design situations. .B CACM June, 1979 .A Alter, S. .K System design, automatic programming, search methods, system configurations, design choices .C 4.12 4.22 4.6 .N CA790603 DH August 21, 1979 4:25 PM .X 3147 4 3147 2718 5 3147 3147 5 3147 3147 5 3147 3147 5 3147 .I 3148 .T High Level Programming for Distributed Computing .W Programming for distributed and other loosely coupled systems is a problem of growing interest. This paper describes an approach to distributed computing at the level of general purpose programming languages. Based on primitive notions of module, message, and transaction key, the methodology is shown to be independent of particular languages and machines. It appears to be useful for programming a wide range of tasks. This is part of an ambitious program of development in advanced programming languages, and relations with other aspects of the project are also discussed. .B CACM June, 1979 .A Feldman, J.A. .K Distributed computing, modules, messages, assertions .C 4.22 4.32 .N CA790604 DH August 21, 1979 4:31 PM .X 1957 4 3148 2151 4 3148 3031 4 3148 3103 4 3148 3105 4 3148 3128 4 3148 3148 4 3148 3148 4 3148 3148 4 3148 3148 4 3148 3148 4 3148 3150 4 3148 3150 4 3148 3155 4 3148 1860 5 3148 2817 5 3148 2865 5 3148 2939 5 3148 3073 5 3148 3148 5 3148 3148 5 3148 3148 5 3148 3150 5 3148 2060 6 3148 2704 6 3148 2842 6 3148 2939 6 3148 2940 6 3148 2941 6 3148 2943 6 3148 3073 6 3148 3148 6 3148 .I 3149 .T The Cyclic Order Property of Vertices as an Aid in Scene Analysis .W A cyclic-order property is defined for bodies bounded by smooth-curved faces. The property is shown to be useful for analyzing pictures of such bodies, particularly when the line data extracted from the pictures are imperfect. This property augments previously known grammatical rules that determine the existence of three-dimensional bodies corresponding to given two-dimensional line-structure data. .B CACM June, 1979 .A Shapira, R. Freeman, H. .K Scene analysis, cyclic order, artificial intelligence, three-dimensional reconstruction , picture processing, computer graphics, pattern recognition. .C 3.2 3.6 8.2 .N CA790605 DH August 22, 1979 1:36 PM .X 3149 5 3149 3149 5 3149 3149 5 3149 .I 3150 .T Beyond Programming Languages .W As computer technology matures, our growing ability to create large systems is leading to basic changes in the nature of programming. Current programming language concepts will not be adequate for building and maintaining systems of the complexity called for by the tasks we attempt. Just as high level languages enabled the programmer to escape from the intricacies of a machine's order code, higher level programming systems can provide the means to understand and manipulate complex systems and components. In order to develop such systems, we need to shift our attention away from the detailed specification of algorithms, towards the description of the properties of the packages and objects with which we build. This paper analyzes some of the shortcomings of programming languages as they now exist, and lays out some possible directions for future research. .B CACM July, 1979 .A Winograd, T. .K Programming, programming languages, programming systems, systems development .C 4.0 4.20 4.22 4.40 .N CA790701 DH August 22, 1979 2:00 PM .X 2155 4 3150 2294 4 3150 2558 4 3150 2837 4 3150 2842 4 3150 2945 4 3150 3031 4 3150 3077 4 3150 3105 4 3150 3148 4 3150 3148 4 3150 3150 4 3150 3150 4 3150 3150 4 3150 3150 4 3150 3150 4 3150 3150 4 3150 3150 4 3150 3150 4 3150 3150 4 3150 3155 4 3150 2060 5 3150 2704 5 3150 2842 5 3150 2939 5 3150 2941 5 3150 2943 5 3150 2940 5 3150 3073 5 3150 3148 5 3150 3150 5 3150 3150 5 3150 3150 5 3150 .I 3151 .T An Optimal Real-Time Algorithm for Planar Convex Hulls .W An algorithm is described for the construction in real-time of the convex hull of a set of n points in the plane. Using an appropriate data structure, the algorithm constructs the convex hull by successive updates, each taking time O(log n), thereby achieving a total processing time O(n log n). .B CACM July, 1979 .A Preparata, F.P. .K Computational geometry, convex hull, planar set of points, real-time algorithms, on-line algorithms. .C 4.49 5.25 5.32 .N CA790702 DH August 22, 1979 2:07 PM .X 3151 4 3151 2997 5 3151 3151 5 3151 3151 5 3151 3151 5 3151 .I 3152 .T Storage Reorganization Techniques for Matrix Computation in a Paging Environment .W In order to multiply matrices while minimizing the number of page fetches required, it is often more efficient to reorganize the data into submatrix form and to use block multiplication rather than to use the best known algorithms which leave the matrices stored in row-(or column-)oriented form. An efficient method for accomplishing this reorganization is given. This also makes possible the derivation of an asymptotically better bound for multiplication of matrices given in row-oriented form by adapting the technique of Strassen to the reorganized data. The reorganization/block multiplication scheme is shown to be advantageous for matrices and pages of realistic size; the Strassen adaptation is not. The former scheme is also shown to be advantageous even if the transpose of one of the matrices is available at no additional cost. .B CACM July, 1979 .A Fischer, P.C. Probert, R.L. .K Matrix multiplication, paging, virtual memory, data reorganization, pagination, transpose. .C 4.34 5.14 5.25 .N CA790703 DH August 22, 1979 2:29 PM .X 2365 4 3152 2362 4 3152 2582 4 3152 3152 4 3152 3152 4 3152 1924 5 3152 2365 5 3152 3152 5 3152 3152 5 3152 3152 5 3152 .I 3153 .T The Control of Response Times in Multi-Class Systems by Memory Allocations .W The possibility of giving different quality of service to jobs of different classes by regulating their memory allocation is examined in the context of a paged computer system. Two parameterized algorithms which partition the main memory between two classes of jobs are considered. Initially, a closed system consisting of a process or and paging and file devices, with fixed numbers of jobs, is studied to determine optimal degrees of multiprogramming and the proportion of processor time devoted to each class. Applying a decomposition approach and treating the closed system as a single server, the response times in an open system with external arrivals are studied. The object is to investigate the effect of the memory alocation parameters on the expected response times under the two algorithms. Numerical solutions and economical lower bounds for the expected response times as functions of the control parameters are obtained. A way of applying the results to systems with more than two job classes is indicated. .B CACM July, 1979 .A Hine, J.H. Mitrani, I. Tsur, S. .K Queueing networks, paging, virtual memory, performance control .C 4.32 8.1 .N CA790704 DH August 22, 1979 3:32 PM .X 3016 4 3153 3070 4 3153 3153 4 3153 3153 4 3153 2741 5 3153 2891 5 3153 3153 5 3153 3153 5 3153 3153 5 3153 .I 3154 .T Algorithm = Logic + Control .W An algorithm can be regarded as consisting of a logic component, which specifies the knowledge to be used in solving problems, and a control component, which determines the problem-solving strategies by means of which that knowledge is used. The logic component determines the meaning of the algorithm whereas the control component only affects its efficiency. The efficiency of an algorithm can often by improving the control component without changing the logic of the algorithm. We argue that computer programs would be more often correct and more easily improved and modified if their logic and control aspects were identified and separated in the program text. .B CACM July, 1979 .A Kowalski, R. .K Control language, logic programming, nonprocedural language, programming methodology, program specification, relational data structures .C 3.64 4.20 4.30 5.21 5.24 .N CA790705 DH September 24, 1979 5:08 PM .X 1989 4 3154 2060 4 3154 2155 4 3154 2179 4 3154 2406 4 3154 2698 4 3154 2710 4 3154 2715 4 3154 2716 4 3154 2717 4 3154 2718 4 3154 2765 4 3154 2817 4 3154 2888 4 3154 2901 4 3154 2921 4 3154 2957 4 3154 2959 4 3154 2965 4 3154 3087 4 3154 3154 4 3154 3154 4 3154 3154 4 3154 2046 5 3154 2110 5 3154 3133 5 3154 3154 5 3154 3154 5 3154 3154 5 3154 3154 6 3154 .I 3155 .T The Paradigms of Programming .B CACM August, 1979 .A Floyd, R.W. .N CA790801 DB January 4, 1980 11:44 AM .X 1323 4 3155 1358 4 3155 1380 4 3155 1665 4 3155 1781 4 3155 1787 4 3155 1989 4 3155 2112 4 3155 2319 4 3155 2480 4 3155 2480 4 3155 2534 4 3155 2541 4 3155 2594 4 3155 2698 4 3155 2709 4 3155 2733 4 3155 2738 4 3155 2820 4 3155 2867 4 3155 2939 4 3155 2972 4 3155 3004 4 3155 3030 4 3155 3073 4 3155 3148 4 3155 3150 4 3155 3155 4 3155 3155 4 3155 3155 4 3155 3155 4 3155 2204 5 3155 2247 5 3155 3073 5 3155 3155 5 3155 3155 5 3155 3155 5 3155 799 5 3155 .I 3156 .T Computing Connected Components on Parallel Computers .W We present a parallel algorithm which uses n2 processors to find the connected components of an undirected graph with n vertices in time O(log2n). An O(log2n) time bound also can be achieved using only n$n/$log2n)) processors. The algorithm can be used to find the transitive closure of a symmetric Boolean matrix. We assume that the processors have access to a common memory. Simultaneous access to the same location is permitted for fetch instructions but not for store instructions. .B CACM August, 1979 .A Hirschberg, D.S. Chandra, A.K. Sarwate, D.V. .K Graph theory, parallel processing, algorithms, transitive closure, connected component .C 5.25 5.32 6.22 .N CA790802 DB January 4, 1980 12:18 PM .X 3075 4 3156 3156 4 3156 3156 4 3156 3156 4 3156 2289 5 3156 2973 5 3156 3075 5 3156 3156 5 3156 3156 5 3156 3156 5 3156 .I 3157 .T Proving Termination with Multiset Orderings .W A common tool for proving the termination of programs is the well-founded set, a set ordered in such a way as to admit no infinite descending sequences. The basic approach is to find a termination function that maps the values of the program variables into some well-founded set, such that the value of the termination function is repeatedly reduced throughout the computation. All too often, the termination functions required are difficult to find and are of a complexity out of proportion to the program under consideration. Multisets (bags) over a given well-founded set S are sets that admit multiple occurrences of elements taken from S. The given ordering on S induces an ordering on the finite multisets over S. This multiset ordering is shown to be well-founded. The multiset ordering enables the use of relatively simple and intuitive termination functions in otherwise difficult termination proofs. In particular, the multiset ordering is used to prove the termination of production systems, programs defined in terms of sets of rewriting rules. .B CACM August, 1979 .A Dershowitz, N. Manna, Z. .K Program correctness, program termination, program verification, well-founded orderings, well-founded sets, multisets, bags, production systems, term rewriting systems, tree replacement systems, reduction rules .C 5.24 5.7 .N CA790803 DB January 4, 1980 3:44 PM .X 3157 4 3157 3014 5 3157 3157 5 3157 3157 5 3157 3157 5 3157 .I 3158 .T Secure Personal Computing in an Insecure Network .W A method for implementing secure personal computing in a network with one or more central facilities is proposed. The method employs a public-key encryption device and hardware keys. Each user is responsible for his own security and need not rely on the security of the central facility or the communication links. A user can safely store confidential files in the central facility or transmit confidential data to other users on the network. .B CACM August, 1979 .A Denning, D.E. .K Personal computing, security, privacy, networks, public-key encryption .C 2.12 6.20 .N CA790804 DB January 14, 1980 9:26 AM .X 2840 4 3158 2869 4 3158 3021 4 3158 3128 4 3158 3158 4 3158 3158 4 3158 3158 4 3158 2436 5 3158 3038 5 3158 3111 5 3158 3158 5 3158 3158 5 3158 3158 5 3158 .I 3159 .T Further Remark on Stably Updating Mean and Standard Deviation Estimates .B CACM August, 1979 .A Nelson, L.S. .K Mean, standard deviation .C 5.5 5.19 .N CA790805 DB January 14, 1980 9:38 AM .X 2731 4 3159 3159 4 3159 3159 4 3159 3166 4 3159 3166 4 3159 3167 4 3159 3167 4 3159 2731 5 3159 2799 5 3159 3159 5 3159 3159 5 3159 3159 5 3159 3166 5 3159 1411 6 3159 2731 6 3159 2799 6 3159 3159 6 3159 3167 6 3159 .I 3160 .T Rejuvenating Experimental Computer Science .W This report is based on the results of an NSF sponsored workshop held in Wasington, D.C. on November 2, 1978. The co-authors of the report are: Gordon Bell, Digital Equipment Corporation; Bernard A. Galler, University of Michigan; Patricia Goldberg, IBM Corporation; John Hamblen, University of Missouri at Rolla; Elliot Pinson, Bell Telephone Laboratories; and Ivan Sutherland, California Institute of Technology. Also participating in the workshop were representatives of NSF and other government agencies. In addition to the authors, a number of other people have contributed to the contents of this report. In preparation for the original workshop, all doctorate-granting computer science departments in the nation were asked for comments and suggestions on the problems of experimental computer science. A version of the current report dated January 15 was circulated to these departments and to a number of industrial and government groups for criticism. The editors and authors of this final version gratefully acknowledge the contribution of a large number of other people at all stages in the preparation of the report. $Note: Following this presentation of the report, there is a position paper on the crisis in experimental computer science written by the ACM Executive Committee.) .B CACM September, 1979 .A Feldman, J.A. Sutherland, W.R. .N CA790901 DB January 14, 1980 10:05 AM .X 3160 5 3160 3160 5 3160 3160 5 3160 .I 3161 .T An ACM Executive Committee Position on the Crisis in Experimental Computer Science .B CACM September, 1979 .A McCracken, D.D., CCP Denning, P.J. Brandin, D.H. .N CA790902 DB January 14, 1980 10:19 AM .X 3161 5 3161 3161 5 3161 3161 5 3161 .I 3162 .T On Improving the Worst Case Running Time of the Boyer-Moore String Matching Algorithm .W It is shown how to modify the Boyer-Moore string matching algorithm so that its worst case running time is linear even when multiple occurrences of the pattern are present in the text. .B CACM September, 1979 .A Galil, Z. .K Computational complexity, linear time, worst case, string matching, periodicity .C 3.74 4.40 5.25 .N CA790903 DB January 14, 1980 10:27 AM .X 3162 4 3162 2916 5 3162 3162 5 3162 3162 5 3162 3162 5 3162 .I 3163 .T An Optimal Insertion Algorithm for One-Sided Height-Balanced BInary Search Trees .W An algorithm for inserting an element into a one-sided height-balanced (OSHB) binary search tree is presented. The algorithm operates in time O(log n), where n is the number of nodes in the tree. This represents an improvement over the best previous ly known insertion algorithms of Hirschberg and Kosaraju, which require time O(log 2n). Moreover, the O(log n) complexity is optimal. Earlier results have shown that deletion in such a structure can also be performed in O(log n) time. Thus the result of this paper gives a negative answer to the question of whether such trees should be the first examples of their kind, where deletion has a smaller time complexity than insertion. Furthermore, it can now be concluded that insertion, deletion, and retrieval in OSHB trees can be performed in the same time as the corresponding operations for the more general AVL trees, to within a constant factor. However, the insertion and deletion algorithms for OSHB trees appear much more complicated than the corresponding algorithms for AVL trees. .B CACM September, 1979 .A Raiha,K.J. Zweben, S.H. .K Insertion, one-sided height-balanced trees, height-balanced trees, binary trees, search trees. .C 3.73. 3.74 4.34 5.25 5.31 .N CA790904 DB January 14, 1980 11:47 AM .X 2839 4 3163 3009 4 3163 3042 4 3163 3042 4 3163 3065 4 3163 3065 4 3163 3096 4 3163 3096 4 3163 3096 4 3163 3163 4 3163 3163 4 3163 3163 4 3163 3163 4 3163 3163 4 3163 2839 5 3163 2889 5 3163 3009 5 3163 3065 5 3163 3096 5 3163 3163 5 3163 3163 5 3163 3163 5 3163 .I 3164 .T Progressive Acyclic Digraphs-A Tool for Database Integrity .W A progressive acyclic digraph (PAD) algorithm accepts are requests and maintains a graph in an acyclic state. When a request creates a cycle, nodes are, "detached" until the new are can be entered acyclically This process is important in certain areas of database implementation in which there are constraints on the permissible sequences of actions. Two PAD algorithms are presented; one uses a simple path matrix representation and the other uses a list with an "artificial gradient." Experiments suggest that for large N the second is considerably faster, though both are asymptotically O(NR), where N is the number of nodes and R is the expected number of nodes reachable along paths from any given node. .B CACM September, 1979 .A Hansen, W.J. .K List processing, data structures, topological sort, acyclic digraph, database integrity, network, deadlock .C 4.34 5.32 4.33 .N CA790905 DB January 14, 1980 11:56 AM .X 3164 4 3164 1712 5 3164 3164 5 3164 3164 5 3164 3164 5 3164 .I 3165 .T Approximation of Polygonal Maps by Cellular Maps .W The approximation of polygonal thematic maps by cellular maps, an important operation in geographical data processing, is analyzed. The data organization used for representing the polygonal maps is a widely used segment-based data structure, where class labels identify the regions bordering each segment on either side. The approximation algorithm presented operates on such an organization, eliminating the need for the recognition of region boundaries. Each segment is examined only once. The versatility of the new organization is further illustrated by the outline of algorithms for area computation and point inclusion. The algorithm is applied to a set of soil maps converted to computer-readable form by means of a coordinate digitizer. .B CACM September, 1979 .A Nagy, G. Wagle, S.G. .K Polygon maps, cellularization, gridding, geographic data structures, computational geometry, computer cartography, automated cartography .C 3.14 4.34 8.2 .N CA790906 DB January 14, 1980 12:04 PM .X 1630 4 3165 2547 4 3165 2987 4 3165 3165 4 3165 3165 4 3165 1326 5 3165 2987 5 3165 3165 5 3165 3165 5 3165 3165 5 3165 .I 3166 .T Computing Standard Deviations: Accuracy .W Four algorithms for the numerical computation of the standard deviation of (unweighted) sampled data are analyzed. Two of the algorithms are well-known in the statistical and computational literature; the other two are new algorithms specifically intended for automatic computation. Our discussion is expository, with emphasis on reaching a suitable definition of "accuracy." Each of the four algorithms is analyzed for the conditions under which it will be accurate. We conclude that all four algorithms will provide accurate answers for many problems, but two of the algorithms, one new, one old, are substantially more accurate on difficult problems than are the other two. .B CACM September, 1979 .A Chan, T.F. Lewis, J.G. .K Mean, standard deviation, least squares, updating estimates, rounding error analysis, condition number. .C 5.5 5.11 5.19 .N CA790907 DB January 16, 1980 4:23 PM .X 1619 4 3166 2731 4 3166 3159 4 3166 3159 4 3166 3166 4 3166 3166 4 3166 3166 4 3166 3166 4 3166 3166 4 3166 3167 4 3166 3167 4 3166 1411 5 3166 2731 5 3166 2799 5 3166 3159 5 3166 3166 5 3166 3166 5 3166 3166 5 3166 3167 5 3166 2731 6 3166 2799 6 3166 3166 6 3166 .I 3167 .T Updating Mean and Variance Estimates: An Improved Method .W A method of improved efficiency is given for updating the mean and variance of weighted sampled data when an additional data value is included in the set. Evidence is presented that the method is stable and at least as accurate as the best existing updating method. .B CACM September, 1979 .A West, D.H.D. .K Mean, standard deviation, variance, updating estimates, removing data .C 5.5 5.19 .N CA790908 DB January 16, 1980 4:47 PM .X 2731 4 3167 3159 4 3167 3159 4 3167 3166 4 3167 3166 4 3167 3167 4 3167 3167 4 3167 3167 4 3167 2731 5 3167 2799 5 3167 3166 5 3167 3167 5 3167 3167 5 3167 3167 5 3167 1411 6 3167 2731 6 3167 2799 6 3167 3159 6 3167 3167 6 3167 .I 3168 .T Comment on "An Optimal Evaluation of Boolean Expressions in an Online Query System." .B CACM October, 1979 .A Laird, P.D. .K Query, Boolean expression, information retrieval, file organization .C 3.53.70 3.73 3.74 .N CA791001 DB January 16, 1980 4:50 PM .X 3168 4 3168 3168 4 3168 3169 4 3168 2965 5 3168 3002 5 3168 3168 5 3168 3168 5 3168 3168 5 3168 .I 3169 .T Note on "An Optimal Evaluation of Boolean Expressions in an Online Query System." .B CACM October, 1979 .A Gudes, E. Hoffman, A. .K Query, Boolean expression, optimal evaluation, information retrieval .C 3.50 3.70 3.74 .N CA791002 DB January 16, 1980 4:52 PM .X 3168 4 3169 3169 4 3169 2965 5 3169 3169 5 3169 3169 5 3169 3169 5 3169 .I 3170 .T On the Proof of Correctness of a Calendar Program .W A formal specification is given for a simple calendar program, and the derivation and proof of correctness of the program are sketched. The specification is easy to understand, and its correctness is manifest to humans. .B CACM October,1979 .A Lamport, L. .K Program specification, program verification, inductive assertions .C 5.24 .N CA791003 DB January 16, 1980 5:02 PM .X 3170 4 3170 3170 4 3170 3055 5 3170 3104 5 3170 3170 5 3170 3170 5 3170 3170 5 3170 .I 3171 .T Line Numbers Made Cheap .W A technique is described for run-time line number administration to be used for implementations of high level languages. Under suitable circumstances, this method requires absolutely no overhead, in either time or space, during execution of the program. .B CACM October, 1979 .A Klint, P. .K Line number administration, diagnostic messages, abstract machine code .C 4.12 4.13 4.20 4.42 .N CA791004 DB January 17, 1980 9:57 AM .X 3171 5 3171 3171 5 3171 3171 5 3171 .I 3172 .T An Algorithm for Planning Collision-Free Paths Among Polyhedral Obstacles .W This paper describes a collision avoidance algorithm for planning a safe path for a polyhedral object moving among known polyhedral objects. The algorithm transforms the obstacles so that they represent the locus of forbidden positions for an arbitrary reference point on the moving object. A trajectory of this reference point which avoids all forbidden regions is free of collisions. Trajectories are found by searching a network which indicates, for each vertex in the transformed obstacles, which other vertices can be reached safely. .B CACM October, 1979 .A Lozano-Perez, T. Wesley, M.A. .K Path finding, collision-free paths, polyhedral objects, polyhedral obstacles, graph searching, growing objects .C 3.15 3.64 3.66 8.1 .N CA791005 DB January 17, 1980 10:13 AM .X 3172 4 3172 3116 5 3172 3172 5 3172 3172 5 3172 3172 5 3172 .I 3173 .T A Psychology of Learning BASIC .W This paper addresses the question: What does a person know following learning of BASIC programming? Several underlying conceptual structures are identified: (1) a transaction is an event that occurs in the computer and involves some operation on some object at some location, (2) a prestatement is a set of transactions corresponding to a line of code, (3) chunks are frequently occurring configurations of prestatements corresponding to several lines of code. .B CACM November, 1979 .A Mayer, R.E. .K BASIC, Learning, instruction .C 1.50 3.36 4.22 .N CA791101 DB January 17, 1980 10:38 AM .X 3173 5 3173 3173 5 3173 3173 5 3173 .I 3174 .T Password Security: A Case History .W This paper describes the history of the design of the password security scheme on a remotely accessed time-sharing system. The present design was the result of countering observed attempts to penetrate the system. The result is a compromise between extreme security and ease of use. .B CACM November, 1979 .A Morris, R. Thompson, K. .K Operating systems, passwords, computer security .C 2.41 4.35 .N CA791102 DB January 18, 1980 10:03 AM .X 2626 4 3174 2786 4 3174 2840 4 3174 2919 4 3174 3017 4 3174 3110 4 3174 3174 4 3174 2629 5 3174 3174 5 3174 3174 5 3174 3174 5 3174 .I 3175 .T Breaking Substitution Ciphers Using a Relaxation Algorithm .W Substitution ciphers are codes in which each letter of the alphabet has one fixed substitute, and the word divisions do not change. In this paper the problem of breaking substitution ciphers is represented as a probabilistic labeling problem. Every code letter is assigned probabilities of representing plain text letters. These probabilities are updated in parallel for all code letters, using joint letter probabilities. Iterating the updating scheme results in improved estimates that finally lead to breaking the cipher. The method is applies successfully to two examples. .B CACM November, 1979 .A Peleg, S. Rosenfeld, A. .K Cryptography, substitution ciphers, probabilistic classification, relaxation .C 3.42 3.63 .N CA791103 DB January 23, 1980 11:15 AM .X 3175 5 3175 3175 5 3175 3175 5 3175 .I 3176 .T Storing a Sparse Table .W The problem of storing and searching large sparse tables is ubiquitous in computer science. The standard technique for storing such tables is hashing, but hashing has poor worst-case performance. We propose a good worst-case method for storing a static table of n entries, each an integer between 0 and N - 1. The method requires 0(n) w words of storage and allows O(logn N) access time. Although our method is a little complicated to use in practice, our analysis shows why a simpler algorithm used for compressing LR parsing tables works so well. .B CACM November, 1979 .A Tarjan, R.E. Yao, A.C.C. .K Gaussian elimination, parsing, searching, sparse matrix, table compression, table lookup .C 3.74 4.12 4.34 5.25 .N CA791104 DB January 23, 1980 11:24 AM .X 3041 4 3176 3126 4 3176 3176 4 3176 2905 5 3176 3176 5 3176 3176 5 3176 3176 5 3176 .I 3177 .T How to Share a Secret .W In this paper we show how to divide data D into n pieces in such a way that D is easily reconstructable from any k pieces, but even complete knowledge of k - 1 pieces reveals olutely no information about D. This technique enables the construction of robust key management schemes for cryptographic systems that can function securely and reliably even when misfortunes destroy half the pieces and security breaches expose all but one of the remaining pieces. .B CACM November, 1979 .A Shamir, A. .K Cryptography, key management, interpolation .C 5.39 5.6 .N CA791105 DB January 23, 1980 11:48 AM .X 3038 4 3177 3111 4 3177 3177 4 3177 3021 5 3177 3177 5 3177 3177 5 3177 3177 5 3177 .I 3178 .T Introduction to the EFT Symposium .B CACM December, 1979 .A Kling, R. .N CA791201 DB February 21, 1980 5:02 PM .X 3142 4 3178 3179 4 3178 3178 4 3178 3178 4 3178 3178 4 3178 3178 4 3178 3178 4 3178 3178 4 3178 3178 4 3178 3182 4 3178 3183 4 3178 3076 5 3178 3140 5 3178 3142 5 3178 3179 5 3178 3178 5 3178 3178 5 3178 3178 5 3178 3182 5 3178 3180 5 3178 3181 5 3178 .I 3179 .T Overview of the EFT Symposium .W It is increasingly recognized that large-scale technologies such as EFT have the potential for aiding in the solution of current societal problems. Yet, these technologies also generate problems. This symposium presents selected papers from a conference that sought to discover what is currently known about EFT impacts in society and what research is needed in the future. .B CACM December, 1979 .A Kraemer, K.L. Colton, K.W. .K EFT's, research agenda, conference results, public policy .C 2.11 3.52 3.53 3.80 .N CA791202 DB February 25, 1980 11:03 AM .X 2756 4 3179 3076 4 3179 3142 4 3179 3179 4 3179 3179 4 3179 3179 4 3179 3178 4 3179 3182 4 3179 3183 4 3179 2572 5 3179 2607 5 3179 3076 5 3179 3179 5 3179 3179 5 3179 3179 5 3179 3178 5 3179 3076 6 3179 3140 6 3179 3142 6 3179 3179 6 3179 3180 6 3179 3181 6 3179 3182 6 3179 .I 3180 .T Costs of the Current U.S. Payments System .W Neither the banking industry nor public policy makers have good information on the comparative costs of alternative payment systems such as cash, checks, credit cards, and EFT transactions. As a result, EFT systems and services are likely to be implemented without a valid assessment of whether they are cost-justified, lst alone justified in terms of other criteria. .B CACM December, 1979 .A Lipis, A.H. .K EFT's,payment system costs, payment system volumes .C 3.52 .N CA791203 DB February 25, 1980 11:09 AM .X 3178 5 3180 3180 5 3180 3180 5 3180 3180 5 3180 3076 6 3180 3140 6 3180 3142 6 3180 3179 6 3180 3180 6 3180 3181 6 3180 3182 6 3180 .I 3181 .T Public Protection and Education with EFT .W Research has revealed the existence of widespread misinformation and lack of knowledge about EFT among business and government as well as consumers. As a result, any effort to stimulate meaningful public participation in decisions on the introduction of EFT systems will require a coordinated educational effort of considerable scale. In addition, research has revealed shortcomings in the present system for defining responsibilities, liabilities, and avenues of recourse. THis article presents several possible alternatives for improving the current system, but ongoing research is also needed to assure that actions taken will be responsive to the changing environment and consumer needs. .B CACM December, 1979 .A Long, R.H. .K Electronic funds transfer systems, consumer education, security and fraud, privacy, system reliability, EFT ombudsman .C 2.12 .N CA791204 DB February 25, 1980 11:33 AM .X 3178 5 3181 3181 5 3181 3181 5 3181 3181 5 3181 3076 6 3181 3140 6 3181 3142 6 3181 3179 6 3181 3180 6 3181 3181 6 3181 3182 6 3181 .I 3182 .T Vulnerabilities of EFTs to Intentionally Caused Losses .W The hypothesis that consumers are provided greater accuracy and freedom from error and fraud with electronic funds transfer systems (EFTs) is discussed in light of the technical capabilities and potential of the computer to protect against both accidentally and intentionally caused losses. Although the nomenclature for business crimes remains the same as for manual depository and other financial service systems - for example, fraud, theft, embezzlement - the characteristics of the crimes are new. The changes resulting from the accelerating use of EFTs and its continual technological advances broaden the scope of security issues to be examined. Factors such as backup requirements, regulatory and legislative actions, and economics give rise to the urgency for immediate research into solutions for emerging EFTs - related vulnerabilities. .B CACM December, 1979 .A Parker, D.B. .K EFTs, computer abuse, crime, security, errors, losses, positions of trust, legislation .C 2.11 2.3 3.52 3.80 .N CA791205 DB February 25, 1980 1:56 PM .X 3142 4 3182 3179 4 3182 3178 4 3182 3182 4 3182 3183 4 3182 3076 5 3182 3178 5 3182 3182 5 3182 3182 5 3182 3182 5 3182 3076 6 3182 3140 6 3182 3142 6 3182 3179 6 3182 3180 6 3182 3181 6 3182 3182 6 3182 .I 3183 .T Policy, Values, and EFT Research: Anatomy of a Research Agenda .W There is an emerging recognition that EFT systems have the potential to vastly alter the payment and fund transfer system in American society. A number of forces and actors are involved in this evolution, and the values vary significantly depending on individual and institutional perspectives. These value conflicts are highlighted in a six-part research agenda: technological issues in EFT, EFT impacts on people, economic impact of EFT, regulation and control of EFT, and evaluating and monitoring EFT systems. .B CACM December, 1979 .A Kraemer, K.L. Colton, K.W. .K EFTs, research agenda, value conflicts, impacts on people, economic impacts, regulation and control, monitoring EFT .C 2.11 2.3 3.52 3.53 3.80 .N CA791206 DB February 25, 1980 2:10 PM .X 3142 4 3183 3179 4 3183 3178 4 3183 3182 4 3183 3183 4 3183 3076 5 3183 3183 5 3183 3183 5 3183 3183 5 3183 .I 3184 .T Revised Report on the Algorithmic Language ALGOL 60 .W The report gives a complete defining description of the international algorithmic language ALGOL 60. This is a language suitable for expressing a large class of numerical processes in a form sufficiently concise for direct automatic translation into the language of programmed automatic computers. .B CACM January, 1963 .A Nuar, P. .N CA630117 ES March 17, 1982 10:10 AM .X 1781 4 3184 1828 4 3184 1854 4 3184 1877 4 3184 1960 4 3184 2150 4 3184 2150 4 3184 2228 4 3184 2256 4 3184 2317 4 3184 2317 4 3184 2319 4 3184 2377 4 3184 2342 4 3184 2342 4 3184 2376 4 3184 2376 4 3184 2379 4 3184 2424 4 3184 2482 4 3184 2618 4 3184 2618 4 3184 2632 4 3184 2704 4 3184 2723 4 3184 2738 4 3184 2740 4 3184 2741 4 3184 2867 4 3184 3184 4 3184 3184 4 3184 3184 4 3184 949 5 3184 989 5 3184 1086 5 3184 1132 5 3184 1198 5 3184 1234 5 3184 1263 5 3184 1265 5 3184 1270 5 3184 1323 5 3184 1358 5 3184 1379 5 3184 1380 5 3184 1453 5 3184 1464 5 3184 1484 5 3184 1491 5 3184 1498 5 3184 1613 5 3184 1614 5 3184 1749 5 3184 1781 5 3184 1825 5 3184 1860 5 3184 2083 5 3184 2178 5 3184 2179 5 3184 2252 5 3184 2325 5 3184 2341 5 3184 2546 5 3184 2645 5 3184 2652 5 3184 2684 5 3184 2842 5 3184 2929 5 3184 2934 5 3184 557 5 3184 3069 5 3184 3184 5 3184 3184 5 3184 3184 5 3184 669 5 3184 679 5 3184 691 5 3184 761 5 3184 1 6 3184 823 6 3184 123 6 3184 145 6 3184 196 6 3184 196 6 3184 196 6 3184 196 6 3184 196 6 3184 919 6 3184 944 6 3184 947 6 3184 987 6 3184 988 6 3184 989 6 3184 989 6 3184 990 6 3184 990 6 3184 1007 6 3184 1046 6 3184 1086 6 3184 1131 6 3184 1134 6 3184 1137 6 3184 1139 6 3184 1140 6 3184 1140 6 3184 1149 6 3184 1198 6 3184 1215 6 3184 1215 6 3184 1223 6 3184 1263 6 3184 1265 6 3184 1303 6 3184 1303 6 3184 1303 6 3184 1303 6 3184 1323 6 3184 1323 6 3184 1323 6 3184 1358 6 3184 1358 6 3184 1366 6 3184 1366 6 3184 1389 6 3184 1421 6 3184 1421 6 3184 1421 6 3184 1453 6 3184 1460 6 3184 1460 6 3184 1462 6 3184 1463 6 3184 1467 6 3184 1468 6 3184 1468 6 3184 1466 6 3184 1477 6 3184 1477 6 3184 1477 6 3184 1477 6 3184 1491 6 3184 1491 6 3184 1491 6 3184 1496 6 3184 1496 6 3184 1496 6 3184 1531 6 3184 1535 6 3184 1565 6 3184 1601 6 3184 1602 6 3184 1613 6 3184 1614 6 3184 1626 6 3184 1626 6 3184 1641 6 3184 1641 6 3184 1781 6 3184 1785 6 3184 1786 6 3184 1787 6 3184 1788 6 3184 205 6 3184 205 6 3184 1825 6 3184 210 6 3184 210 6 3184 224 6 3184 249 6 3184 267 6 3184 288 6 3184 288 6 3184 316 6 3184 321 6 3184 378 6 3184 381 6 3184 385 6 3184 398 6 3184 2015 6 3184 2059 6 3184 2060 6 3184 2110 6 3184 11 6 3184 2126 6 3184 2127 6 3184 2148 6 3184 2155 6 3184 2192 6 3184 21 6 3184 400 6 3184 402 6 3184 404 6 3184 404 6 3184 404 6 3184 404 6 3184 404 6 3184 407 6 3184 410 6 3184 410 6 3184 437 6 3184 463 6 3184 464 6 3184 464 6 3184 483 6 3184 483 6 3184 3184 6 3184 3184 6 3184 3184 6 3184 3184 6 3184 3184 6 3184 3184 6 3184 3184 6 3184 3184 6 3184 3184 6 3184 3184 6 3184 3184 6 3184 3184 6 3184 3184 6 3184 3184 6 3184 3184 6 3184 3184 6 3184 3184 6 3184 3184 6 3184 3184 6 3184 3184 6 3184 3184 6 3184 3184 6 3184 3184 6 3184 3184 6 3184 3184 6 3184 3184 6 3184 3184 6 3184 3184 6 3184 3184 6 3184 3184 6 3184 3184 6 3184 3184 6 3184 3184 6 3184 3184 6 3184 3184 6 3184 3184 6 3184 3184 6 3184 3184 6 3184 3184 6 3184 3184 6 3184 3188 6 3184 584 6 3184 584 6 3184 600 6 3184 631 6 3184 635 6 3184 669 6 3184 680 6 3184 691 6 3184 729 6 3184 729 6 3184 729 6 3184 731 6 3184 761 6 3184 763 6 3184 799 6 3184 799 6 3184 799 6 3184 799 6 3184 .I 3185 .T The Humble Programmer .W We shall do a much better programming job, provided that we approach the task with a full appreciation if its tremendous difficulty, provided that we stick to modest and elegant programming languages, provided that we respect the intrinsic limitations of the human mind and approach the task as Very Humble Programmers. .B CACM October, 1972 .A Dijkstra, E. W. .N CA721010 ES March 18, 1982 10:00 AM .X 249 4 3185 1139 4 3185 438 4 3185 3185 4 3185 3185 4 3185 303 5 3185 2705 5 3185 438 5 3185 3101 5 3185 3185 5 3185 3185 5 3185 3185 5 3185 1908 6 3185 2138 6 3185 2193 6 3185 2438 6 3185 3185 6 3185 3185 6 3185 .I 3186 .T GO TO Statement Considerd Harmful .B CACM March, 1968 .A Dijkstra, E. W. .K go to statement, jump instruction, branch instruction, conditional clause, repetitive clause, program intelligibility, program sequencing .C 4.22 5.23 5.24 .N CA680303 ES March 17, 1982 10:10 AM .X 2193 5 3186 2326 5 3186 2477 5 3186 2541 5 3186 2594 5 3186 3004 5 3186 3186 5 3186 3186 5 3186 3186 5 3186 1303 6 3186 1323 6 3186 1425 6 3186 1771 6 3186 1834 6 3186 2016 6 3186 2155 6 3186 2192 6 3186 2204 6 3186 2247 6 3186 2356 6 3186 2456 6 3186 3186 6 3186 3186 6 3186 3186 6 3186 3186 6 3186 3186 6 3186 3186 6 3186 799 6 3186 .I 3187 .T Certification of Algorithm 271 (QUICKERSORT) .W QUICKERSORT compiled and run without correction through the ALDEP translator for the CDC 1604A. Comparison of average sorting items with other recently published algorithms demonstrates QUICKERSORT's superior performance. .B CACM May, 1966 .A Blair, C.R. .N CA660516 ES March 17, 1982 10:10 AM .X 1919 5 3187 2679 5 3187 3187 5 3187 3187 5 3187 3187 5 3187 864 6 3187 970 6 3187 1175 6 3187 1175 6 3187 1190 6 3187 1228 6 3187 1969 6 3187 1997 6 3187 308 6 3187 308 6 3187 309 6 3187 2042 6 3187 74 6 3187 3187 6 3187 3187 6 3187 507 6 3187 716 6 3187 783 6 3187 .I 3188 .T Semiotics and Programming Languages .W I have based my paper on semiotics and its three dimension. I should insert at this point that language has many aspects and that pragmatics, semantics and syntactics do not necessary cover all of them. One can, however, project most aspects into the three semiotic dimension and there seems to be a strong tendency to do so today. .B CACM March, 1966 .A Zemanek, H. .N CA660319 ES March 17, 1982 10:10 AM .X 2087 4 3188 2189 4 3188 3188 4 3188 3188 4 3188 1594 5 3188 1781 5 3188 3188 5 3188 3188 5 3188 3188 5 3188 612 5 3188 123 6 3188 196 6 3188 919 6 3188 990 6 3188 1007 6 3188 1046 6 3188 1131 6 3188 1139 6 3188 1140 6 3188 1149 6 3188 1198 6 3188 1215 6 3188 1223 6 3188 1265 6 3188 1303 6 3188 1323 6 3188 1358 6 3188 1366 6 3188 1421 6 3188 1460 6 3188 1462 6 3188 1463 6 3188 1467 6 3188 1468 6 3188 1477 6 3188 1491 6 3188 1496 6 3188 1531 6 3188 1535 6 3188 1565 6 3188 1601 6 3188 1602 6 3188 1613 6 3188 1614 6 3188 1626 6 3188 1641 6 3188 1787 6 3188 1788 6 3188 205 6 3188 224 6 3188 249 6 3188 288 6 3188 316 6 3188 381 6 3188 398 6 3188 11 6 3188 404 6 3188 410 6 3188 463 6 3188 464 6 3188 483 6 3188 3184 6 3188 3188 6 3188 584 6 3188 600 6 3188 680 6 3188 691 6 3188 763 6 3188 799 6 3188 .I 3189 .T An Algebraic Compiler for the FORTRAN Assembly Program .W An algebraic compiler has been written which may be added to the FORTRAN Assembly Program. This compiler will expand all algebraic statements with the following operations: addition, subtraction, multiplication and division. It will compile multi-level expressions in floating-point arithmetic (this is easily be revised to fixed-point). .B CACM November, 1962 .A Stiegler, A. D. .N CA621124 ES March 17, 1982 10:10 AM .X 1788 5 3189 3189 5 3189 3189 5 3189 3189 5 3189 1006 6 3189 1007 6 3189 205 6 3189 3189 6 3189 .I 3190 .T Correction to Economies of Scale and the IBM System/360 .W On page 439, a "typical" instruction mix id discussed and the timing computed as outlined in that page. Through an undetected programming error, the times and the resulting regression equation are slightly in error. .B CACM February, 1967 .A Solomon, M.B. .N CA670214 ES March 17, 1982 10:10 AM .X 2387 5 3190 3190 5 3190 3190 5 3190 3190 5 3190 1417 6 3190 3190 6 3190 .I 3191 .T Generating Permutations by Nested Cycling .W The purpose of this letter is two_fold: first to give due credit to the Tompkins-Paige algorithm, and second to clarify a comment by Hill, CR Review 13891 on "Programs for Permutations". .B CACM June, 1968 .A Langdon, Glen G. .K permutations .C 5.39 .N CA680617 ES March 18, 1982 10:00 AM .X 2189 5 3191 3191 5 3191 3191 5 3191 3191 5 3191 1594 6 3191 2087 6 3191 3191 6 3191 521 6 3191 .I 3192 .T The Lincoln Keyboard - a Typewriter Keyboard Designed for Computers Input Flexibility .W A new typewriter keyboard, for direct and punched paper tape computer input will replace the usual commercial keyboard with 88 characters chosen for the convenience of programmers. The Lincoln Keyboard is expected to facilitate the programming of algorithmic process and should allow considerable flexibility in assembly and utility routines. .B CACM July, 1958 .A Vanderburgh, A. .N CA580702 ES March 17, 1982 10:10 AM .X 1083 5 3192 3192 5 3192 3192 5 3192 3192 5 3192 407 6 3192 3192 6 3192 3193 6 3192 730 6 3192 .I 3193 .T .W Work is in progress on a formula coding technique allowing direct entry into the computer of formulae typed on an 84 character Flexo-writer. This Flexo-writer will be modified for automatic half-line advance and retract, without carriage return, to permit completely general sub and superscripting. .B CACM July, 1958 .N CA580703 ES March 17, 1982 10:10 AM .X 3193 4 3193 796 4 3193 1083 5 3193 491 5 3193 3193 5 3193 3193 5 3193 3193 5 3193 407 6 3193 3192 6 3193 3193 6 3193 730 6 3193 .I 3194 .T A Non-heuristic Program for Proving Elementary Logical Theorems .W The paper discusses problems involved in designing a device capable of distinguishing among speech events that are normally recognized as different by native speakers of a particular language. Parallels between these problems and those of chemical analysis are pointed out. .B CACM January, 1959 .A Dunham, B. Fridshal, R. Sward, G. L. .N CA590102 ES March 17, 1982 10:10 AM .X 204 5 3194 3194 5 3194 3194 5 3194 3194 5 3194 3194 6 3194 .I 3195 .T Reiteration of ACM Policy Toward Standardization .W The periodic change in officers, chairman and editors which usually follows as election occasionally results in a change in policy. In the case of this department there is no radical change, but this is nevertheless the proper time to reiterate ans underline ACM's policy with respect to standardization in the computer area. .B CACM November, 1962 .A Gorn, S. .N CA621123 ES March 17, 1982 10:10 AM .X 3195 5 3195 3195 5 3195 3195 5 3195 690 5 3195 890 6 3195 929 6 3195 3195 6 3195 .I 3196 .T The Reactive Typewriter Program .W 84-character keyboard including alphabetical upper and lower case for good readability. If the machine is restricted to only a single case, the lower case is preferred. The reactive typewriter should be portable. the reactive typewriter should operate over any commercially used, dial-type telephone (voice) or telegraph (Telex) line or over leased (nondial) telegraph lines interchangeably. .B CACM January, 1963 .A Mooers, C. N. .N CA630118 ES March 17, 1982 10:10 AM .X 1071 5 3196 3196 5 3196 3196 5 3196 3196 5 3196 3196 6 3196 .I 3197 .T Structures of Standards-Processing Organizations in the Computer Area .W In line with the ACM's policy statement [Comm. ACM 5 (Nov. 1962), 547-549], the following organizational descriptions have been provided in order to describe standardization activities pertinent to computers and information processing. .B CACM June, 1966 .A Gorn, S. Bemer, R. W. Green, J. .N CA630626 ES March 17, 1982 10:10 AM .X 3197 5 3197 3197 5 3197 3197 5 3197 689 5 3197 217 6 3197 323 6 3197 3197 6 3197 .I 3198 .T Microprogramming, Emulators and Programming Languages .W The problem we have been concerned with is that of converting language to action - or intellectual energy to mechanical energy. The medium that we use for this purpose is language and therefore we are preoccupied with the subject of language. In the areas of language investigation we have concentrated first on formalizing syntax and then on semantics. .B CACM March, 1966 .A Greem, J. .N CA660318 ES March 17, 1982 10:10 AM .X 1542 5 3198 3198 5 3198 3198 5 3198 3198 5 3198 1491 6 3198 3198 6 3198 .I 3199 .T ALGEM - An Algebraic Manipulator .W ALGEM is a package of subprograms written in Slip, FORTRAN IV and MAP 7094 II to manipulate algebraic expressions. Algem's basic algebraic operations are additions, subtractions, multiplications, division and exponentiation. It is capable of handling any number of single letter variables, variable exponents, and of finding the highest common factor of two polynomials. Also included are such functions as substitution, differentiation, determining coefficients of specified variables, solving a linear equation, basic I/O routines plus other special purpose and arithmetic routines. The major innovation of Algem over other manipulators is the assignment of types to all expressions and the use of a standard ordering procedure. .B CACM August, 1966 .A Gotlieb, C. C. Novak, R. J. .N CA660813 ES March 17, 1982 10:10 AM .X 1396 5 3199 3199 5 3199 3199 5 3199 3199 5 3199 964 6 3199 1028 6 3199 1029 6 3199 1083 6 3199 1132 6 3199 1214 6 3199 1278 6 3199 1334 6 3199 1365 6 3199 1386 6 3199 1387 6 3199 1388 6 3199 1392 6 3199 1393 6 3199 1394 6 3199 1395 6 3199 1396 6 3199 1397 6 3199 1496 6 3199 284 6 3199 407 6 3199 3199 6 3199 3200 6 3199 3201 6 3199 3202 6 3199 3203 6 3199 3204 6 3199 561 6 3199 730 6 3199 .I 3200 .T A FORMAC Program for the Solution of Linear Boundary and Initial Value Problems .W A computer program is described which has been developed for obtaining approximate solutions to linear initial and boundary-value problems involving differential equations. For each problem, input to the program includes: 1. The equations (in symbolic form) to be satisfied - the differential equations, equations describing auxiliary conditions such as boundary conditions, etc. 2. A numerical description of the regions in which each of the equations are to be satisfied. 3. Sets of functions (in symbolic form) to be used in linear combinations to approximate the solution functions. Give the above input, the program generates an approximation to the solutions of the specified problemm in terms of the specified functions which is optimum in the least-squares sense. .B CACM August, 1966 .A Cuthill, E. .N CA660814 ES March 17, 1982 10:10 AM .X 1396 5 3200 3200 5 3200 3200 5 3200 3200 5 3200 964 6 3200 1028 6 3200 1029 6 3200 1083 6 3200 1132 6 3200 1214 6 3200 1278 6 3200 1334 6 3200 1365 6 3200 1386 6 3200 1387 6 3200 1388 6 3200 1392 6 3200 1393 6 3200 1394 6 3200 1395 6 3200 1396 6 3200 1397 6 3200 1496 6 3200 284 6 3200 407 6 3200 3199 6 3200 3200 6 3200 3201 6 3200 3202 6 3200 3203 6 3200 3204 6 3200 561 6 3200 730 6 3200 .I 3201 .T Symbolic Manipulation of Poisson Series .W Poisson series of three variables are manageable symbolically through as a set of formal subroutines written partially in the IBM 7094 machine language, but to be called in the FORTRAN language for use in Fortran programs. An effort has been made to supply those operations which are most required by celestial mechanics. The routines are entirely self-contained subroutines and require only standard Fortran input/output units 5 and 6; they are design to avoid waste and overflow of core storage space. .B CACM August, 1966 .A Danby, J. Deprit, A. Rom, A. .N CA660815 ES March 17, 1982 10:10 AM .X 1396 5 3201 3201 5 3201 3201 5 3201 3201 5 3201 964 6 3201 1028 6 3201 1029 6 3201 1083 6 3201 1132 6 3201 1214 6 3201 1278 6 3201 1334 6 3201 1365 6 3201 1386 6 3201 1387 6 3201 1388 6 3201 1392 6 3201 1393 6 3201 1394 6 3201 1395 6 3201 1396 6 3201 1397 6 3201 1496 6 3201 284 6 3201 407 6 3201 3199 6 3201 3200 6 3201 3201 6 3201 3202 6 3201 3203 6 3201 3204 6 3201 561 6 3201 730 6 3201 .I 3202 .T MANIP: A Computer System for Algebra and Analytic Differentiation .W A mathematical expression to be operated upon is written in FORTRAN-like notation and stored in the computer as a string of BCD characters with all blanks removed. It may be as complicated as desired (parentheses nested without restriction, etc.) so long as the entire expression (or any subsequent form) does not exceed 5000 characters. The problemm of performing algebraic operations and obtaining analytic derivatives was translated into that of identifying and manipulating character sequences. Programs which resulted were written in FORTRAN IV for a CDC 3600 and are discussed in detail. .B CACM August, 1966 .A Bender, B. .N CA660816 ES March 17, 1982 10:10 AM .X 1396 5 3202 3202 5 3202 3202 5 3202 3202 5 3202 964 6 3202 1028 6 3202 1029 6 3202 1083 6 3202 1132 6 3202 1214 6 3202 1278 6 3202 1334 6 3202 1365 6 3202 1386 6 3202 1387 6 3202 1388 6 3202 1392 6 3202 1393 6 3202 1394 6 3202 1395 6 3202 1396 6 3202 1397 6 3202 1496 6 3202 284 6 3202 407 6 3202 3199 6 3202 3200 6 3202 3201 6 3202 3202 6 3202 3203 6 3202 3204 6 3202 561 6 3202 730 6 3202 .I 3203 .T GRAD Assistant - A Program for Symbolic Algebraic Manipulation and Differentiation .W The General Recursive Algebra and Differentiation Assistant (GRAD Assistant) now under development is a set of LISP functions which symbolically manipulate abd differentiate algebraic expressions. It is designed for use with problemms in which a large amount of routine manipulation is to be done by a program without human intervention. Thus, GRAD must recognize necessary simplifications without external guidance. While some complicated expressions (notably ones involving nested radicals and trigonometric functions) do not yield completely to the present version, it has proved quite useful indeed. .B CACM August, 1966 .A Fletcher, J. G. .N CA660817 ES March 17, 1982 10:10 AM .X 1396 5 3203 3203 5 3203 3203 5 3203 3203 5 3203 964 6 3203 1028 6 3203 1029 6 3203 1083 6 3203 1132 6 3203 1214 6 3203 1278 6 3203 1334 6 3203 1365 6 3203 1386 6 3203 1387 6 3203 1388 6 3203 1392 6 3203 1393 6 3203 1394 6 3203 1395 6 3203 1396 6 3203 1397 6 3203 1496 6 3203 284 6 3203 407 6 3203 3199 6 3203 3200 6 3203 3201 6 3203 3202 6 3203 3203 6 3203 3204 6 3203 561 6 3203 730 6 3203 .I 3204 .T An On-Line Program for Non-Numerical Algebra .W The goal of this program is to make a step toward te design of an automated mathematical assistant. Some requirements for such a program are: it must be easy to access, and that the result must be obtained in a reasonably short time. Accordingly the program is written for a time-shared computer. The Q-32 computer as System Development Corporation, Santa Monica, California, was chosen because it also had a LISP 1.5 compiler. Programming and debugging was done from a remote teletype console at Stanford University. .B CACM August, 1966 .A Korsvold, K. .N CA660818 ES March 17, 1982 10:10 AM .X 1396 5 3204 3204 5 3204 3204 5 3204 3204 5 3204 964 6 3204 1028 6 3204 1029 6 3204 1083 6 3204 1132 6 3204 1214 6 3204 1278 6 3204 1334 6 3204 1365 6 3204 1386 6 3204 1387 6 3204 1388 6 3204 1392 6 3204 1393 6 3204 1394 6 3204 1395 6 3204 1396 6 3204 1397 6 3204 1496 6 3204 284 6 3204 407 6 3204 3199 6 3204 3200 6 3204 3201 6 3204 3202 6 3204 3203 6 3204 3204 6 3204 561 6 3204 730 6 3204