title--Preliminary Report-International Algebraic Language
abstract--
journal--CACM December, 1958
author--Perlis, A. J.; Samelson, K.
keys--
categories--
end--CA581203 JB March 22, 1978 8:28 PM
title--Extraction of Roots by Repeated Subtractions for Digital Computers
abstract--
journal--CACM December, 1958
author--Sugai, I.
keys--
categories--
end--CA581202 JB March 22, 1978 8:29 PM
title--Techniques Department on Matrix Program Schemes
abstract--
journal--CACM December, 1958
author--Friedman, M. D.
keys--
categories--
end--CA581201 JB March 22, 1978 8:30 PM
title--Glossary of Computer Engineering and Programming Terminology
abstract--
journal--CACM November, 1958
author--
keys--
categories--
end--CA581103 JB March 22, 1978 8:32 PM
title--Two Square-Root Approximations
abstract--
journal--CACM November, 1958
author--Wadey, W. G.
keys--
categories--
end--CA581102 JB March 22, 1978 8:33 PM
title--The Use of Computers in Inspection Procedures
abstract--
journal--CACM November, 1958
author--Muller, M. E.
keys--
categories--
end--CA581101 JB March 22, 1978 8:33 PM
title--Glossary of Computer Engineering and Programming Terminology
abstract--
journal--CACM October, 1958
author--
keys--
categories--
end--CA581003 JB March 22, 1978 8:35 PM
title--On The Equivalence and Transformation of Program Schemes
abstract--
journal--CACM October, 1958
author--Friedman, M. D.
keys--
categories--
end--CA581002 JB March 22, 1978 8:36 PM
title--Proposal for an UNCOL
abstract--
journal--CACM October, 1958
author--Conway, M. E.
keys--
categories--
end--CA581001 JB March 22, 1978 8:37 PM
title--Glossary of Computer Engineering and Programming Terminology
abstract--
journal--CACM September, 1958
author--
keys--
categories--
end--CA580903 JB March 22, 1978 8:39 PM
title--The Problem of Programming Communication with Changing Machines A
Proposed Solution-Part 2
abstract--
journal--CACM September, 1958
author--Strong, J.; Wegstein, J.; Tritter, A.; Olsztyn, J.; Mock, O.; Steel, T.
keys--
categories--
end--CA580902 JB March 22, 1978 8:41 PM
title--Error Estimation in Runge-Kutta Procedures
abstract--
journal--CACM September, 1958
author--Call, D. H.; Reeves, R. F.
keys--
categories--
end--CA580901 JB March 22, 1978 8:56 PM
title--Glossary of Computer Engineering and Programming Terminology
abstract--
journal--CACM August, 1958
author--
keys--
categories--
end--CA580805 JB March 22, 1978 8:57 PM
title--The Problem of Programming Communication with Changing Machines A
Proposed Solution (Part 1)
abstract--
journal--CACM August, 1958
author--Strong, J.; Wegstein, J.; Tritter, A.; Olsztyn, J.; Mock, O.; Steel, T.
keys--
categories--
end--CA580804 JB March 22, 1978 9:02 PM
title--Recursive Curve Fitting Technique
abstract--
journal--CACM August, 1958
author--Giblin, J.
keys--
categories--
end--CA580803 JB March 22, 1978 9:02 PM
title--Secant Modification of Newton's Method
abstract--
journal--CACM August, 1958
author--Jeeves, T. A.
keys--
categories--
end--CA580802 JB March 22, 1978 9:03 PM
title--On Programming of Arithmetic Operations
abstract--
journal--CACM August, 1958
author--Ershov, A. P.
keys--
categories--
end--CA580801 JB March 22, 1978 9:04 PM
title--Simple Automatic Coding Systems
abstract--
journal--CACM July, 1958
author--Adams Jr., E. S.; Schlesinger, S. I.
keys--
categories--
end--CA580701 JB March 22, 1978 9:06 PM
title--Glossary of Computer Engineering and Programming Terminology
abstract--
journal--CACM June, 1958
author--
keys--
categories--
end--CA580603 JB March 22, 1978 9:07 PM
title--Accelerating Convergence of Iterative Processes
abstract--A technique is discussed which, when applied to an iterative
procedure for the solution ofan equation, accelerates the rate of convergence
if the iteration converges and induces convergence ifthe iteration diverges.
An illustrative example is given.
journal--CACM June, 1958
author--Wegstein, J. H.
keys--
categories--
end--CA580602 JB March 22, 1978 9:09 PM
title--Algebraic Formulation of Flow Diagrams
abstract--
journal--CACM June, 1958
author--Voorhees, E. A.
keys--
categories--
end--CA580601 JB March 22, 1978 9:10 PM
title--Unusual Applications Department--Automatic Implementation of Computer
Logic
abstract--
journal--CACM May, 1958
author--Morris, E. F.; Wohr, T. E.
keys--
categories--
end--CA580506 JB March 22, 1978 9:11 PM
title--Binary and Truth-Function Operations on a Decimal Computer with an
Extract Command
abstract--
journal--CACM May, 1958
author--Kautz, W. H.
keys--
categories--
end--CA580505 JB March 22, 1978 9:12 PM
title--An Improved Decimal Redundancy Check
abstract--
journal--CACM May, 1958
author--Sisson, R. L.
keys--
categories--
end--CA580504 JB March 22, 1978 9:13 PM
title--General Purpose Programming Systems
abstract--
journal--CACM May, 1958
author--Holt, A. W.
keys--
categories--
end--CA580503 JB March 22, 1978 9:14 PM
title--A Subroutine Method for Calculating Logarithms
abstract--
journal--CACM May, 1958
author--Bemer, R. W.
keys--
categories--
end--CA580502 JB March 22, 1978 9:16 PM
title--Note On Empirical Bounds For Generating Bessel Functions
abstract--
journal--CACM May, 1958
author--Randels, J. B.; Reeves, R. F.
keys--
categories--
end--CA580501 JB March 22, 1978 9:17 PM
title--Request for Methods or Programs
abstract--
journal--CACM April, 1958
author--Corley, H. P. T.
keys--
categories--
end--CA580402 JB March 22, 1978 9:18 PM
title--Need for an Algorithm
abstract--
journal--CACM April, 1958
author--Selden, W.
keys--
categories--
end--CA580401 JB March 22, 1978 9:19 PM
title--Algorithm for Analyzing Logical Statements to Produce a Truth Function
Table
abstract--
journal--CACM March, 1958
author--Wolpe, H.
keys--
categories--
end--CA580302 JB March 22, 1978 9:20 PM
title--IBM 704 Code-Nundrums
abstract--
journal--CACM March, 1958
author--Grumette, M.
keys--
categories--
end--CA580301 JB March 22, 1978 9:21 PM
title--Variable-Width Tables with Binary-Search Facility
abstract--
journal--CACM February, 1958
author--Halpern, M.
keys--
categories--
end--CA580201 JB March 22, 1978 9:22 PM
title--A Programmed Binary Counter For The IBM Type 650 Calculater
abstract--
journal--CACM January, 1958
author--Kenny, B. C.; Hunter, J. A.
keys--
categories--
end--CA580103 JB March 22, 1978 9:25 PM
title--Tables for Automatic Computation
abstract--
journal--CACM January, 1958
author--Wilf, H. S.
keys--
categories--
end--CA580102 JB March 22, 1978 9:26 PM
title--A Machine Method for Square-Root Computation
abstract--
journal--CACM January, 1958
author--Bemer, R. W.
keys--
categories--
end--CA580101 JB March 22, 1978 9:27 PM
title--On the Normalization Requirement of Divisor in Divide- and- Correct
Methods
abstract--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.
journal--CACM December, 1967
author--Krishnamurthy, E. V.; Nandi, S. K.
keys--
categories--
end--CA671210 JB February 26, 1978 2:15 PM
title--The ALCOR Illinois 7090/7094 Post Mortem Dump
abstract--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.
journal--CACM December, 1967
author--Bayer, R.; Gries, D.; Paul, M.; Wiehle, H. R.
keys--
categories--
end--CA671209 JB February 26, 1978 2:18 PM
title--Chebyschev Curve-Fit (revised) (Algorithm 318 [E2])
abstract--
journal--CACM December, 1967
author--Boothroyd, J.
keys--
categories--
end--CA671208a JB February 26, 1978 2:20 PM
title--Chebyschev Curve-Fit (Algorithm 91 [E2])
abstract--
journal--CACM December, 1967
author--Boothroyd, J.
keys--
categories--
end--CA671208b JB March 23, 1978 2:11 PM
title--Eigenvectors of a 2n x 2n Matrix
abstract--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.
journal--CACM December, 1967
author--Charmonman, S.
keys--
categories--
end--CA671207 JB February 26, 1978 2:22 PM
title--An Online Editor
abstract--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.
journal--CACM December, 1967
author--Deutsch, L. P.; Lampson, B. W.
keys--
categories--
end--CA671206 JB February 26, 1978 2:25 PM
title--A SIMSCRIPT-FORTRAN Case Study
abstract--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.
journal--CACM December, 1967
author--Weinert, A. E.
keys--
categories--
end--CA671205 JB February 26, 1978 2:30 PM
title--Algorithms for Finding a Fundamental Set of Cycles for an Undirected
Linear Graph
abstract--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.
journal--CACM December, 1967
author--Gotlieb, C. C.; Corneil, D. G.
keys--
categories--
end--CA671204 JB February 26, 1978 2:35 PM
title--A System Organization for Resource Allocation
abstract--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.
journal--CACM December, 1967
author--Dahm, D. M.; Gerbstadt, F. H.; Pacelli, M. M.
keys--
categories--
end--CA671203 JB February 26, 1978 2:40 PM
title--The LACONIQ Monitor: Time Sharing for Online Dialogues
abstract--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.
journal--CACM December, 1967
author--Drew, D. L.
keys--
categories--
end--CA671202 JB February 26, 1978 2:45 PM
title--A Multiprogramming Environment for Online Data Acquisition and Analysis
abstract--An experimental system for acquisition 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.
journal--CACM December, 1967
author--Lockemann, P. C.; Knutsen, W. D.
keys--
categories--
end--CA671201 JB February 26, 1978 2:48 PM
title--Magnetic Tape Labels for Information Interchange (Proposed USA Standard)
abstract--
journal--CACM November, 1967
author--
keys--
categories--
end--CA671109 JB February 26, 1978 2:49 PM
title--Recorded Magnetic Tape for Information Interchange (200 CPI, NRZI)
(Proposed USA Standard)
abstract--
journal--CACM November, 1967
author--
keys--
categories--
end--CA671108 JB February 26, 1978 2:52 PM
title--Finding a Solution of N Functional Equations in N Unknown (Algorithm
314 [C5])
abstract--
journal--CACM November, 1967
author--Dulley, D. B.; Pitteway, L. V.
keys--
categories--
end--CA671107a JB February 26, 1978 2:54 PM
title--The Damped Taylor's Series Method for Minimizing a Sum of Squares and
for Solving Systems of Nonlinear Equations
abstract--
journal--CACM November, 1967
author--Spath, H.
keys--
categories--
end--CA671107b JB March 23, 1978 2:17 PM
title--Solution of Simultaneous Non-Linear Equations (Algorithm 316 [C5])
abstract--
journal--CACM November, 1967
author--Brown, K. M.
keys--
categories--
end--CA671107c JB March 23, 1978 2:19 PM
title--PERMUTATION (Algorithm 317 [G6])
abstract--
journal--CACM November, 1967
author--Robinson, C. L.
keys--
categories--
end--CA671107d JB March 23, 1978 2:21 PM
title--On the Expected Gain From Adjusting Matched Term Retrieval Systems
abstract--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.
journal--CACM November, 1967
author--Shumway, R. H.
keys--
categories--
end--CA671106 JB February 26, 1978 2:59 PM
title--A Computer System for Inference Execution and Data Retrieval
abstract--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.
journal--CACM November, 1967
author--Levien, R. E.
keys--
categories--
end--CA671105 JB February 26, 1978 3:02 PM
title--Automatic Data Compression
abstract--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.
journal--CACM November, 1967
author--Marron, B. A.; DeMaine, P. A. D.
keys--
categories--
end--CA671104 JB February 26, 1978 3:08 PM
title--Methods for Analyzing Data from Computer Simulation Experiments
abstract--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.
journal--CACM November, 1967
author--Naylor, T. H.; Wertz, K.; Wonnacott, T. H.
keys--
categories--
end--CA671103 JB February 26, 1978 3:15 PM
title--An Experimental Model of System/360
abstract--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.
journal--CACM November, 1967
author--Katz, J. H.
keys--
categories--
end--CA671102 JB February 26, 1978 3:20 PM
title--GEORGE 3-A General Purpose Time Sharing and Operating System
abstract--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 offline (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 offline jobs use a common Command Language. The system
includes a Multilevel device-independent File Store.
journal--CACM November, 1967
author--Oestreicher, M. D.; Bailey, M. J.; Strauss, J. I.
keys--
categories--
end--CA671101 JB February 27, 1978 1:47 PM
title--Absolute Value and Square Root of a Complex Number (Algorithm 312 [A2])
abstract--
journal--CACM October, 1967
author--Friedland, P.
keys--
categories--
end--CA671012a JB February 27, 1978 1:49 PM
title--Multi-Dimensional Partition Generator (Algorithm 313 [A1])
abstract--
journal--CACM October, 1967
author--Bratley, P.; McKay, J. K. S.
keys--
categories--
end--CA671012b JB March 23, 1978 2:26 PM
title--Chebyschev Quadrature (Algorithm 279 [D1])
abstract--
journal--CACM October, 1967
author--Hillstrom, K.
keys--
categories--
end--CA671012c JB March 23, 1978 2:31 PM
title--SHARER, a Time Sharing System for the CDC 6600
abstract--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.
journal--CACM October, 1967
author--Harrison, M. C.; Schwartz, J. T.
keys--
categories--
end--CA671011 JB February 27, 1978 1:53 PM
title--A Stopping Criterion for Polynomial Root Finding
abstract--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.
journal--CACM October, 1967
author--Adams, D. A.
keys--
categories--
end--CA671009 JB February 27, 1978 1:56 PM
title--On Computing The Fast Fourier Transform
abstract--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.
journal--CACM October, 1967
author--Singleton, R. C.
keys--
categories--
end--CA671008 JB February 27, 1978 2:03 PM
title--Multiprogramming under a Page on Demand Strategy
abstract--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.
journal--CACM October, 1967
author--Smith, J. L.
keys--
categories--
end--CA671007 JB February 27, 1978 2:07 PM
title--A Grammar Base Question Answering Procedure
abstract--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.
journal--CACM October, 1967
author--Rosenbaum, P.
keys--
categories--
end--CA671006 JB February 27, 1978 2:14 PM
title--Three Fonts of Computer Drawn Letters
abstract--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.
journal--CACM October, 1967
author--Mathews, M. V.; Lochbaum, C.; Moss, J. A.
keys--
categories--
end--CA671005 JB February 27, 1978 2:24 PM
title--Decomposition Programming An Analysis of Matrix Substructure
abstract--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.
journal--CACM October, 1967
author--Bell, E. J.
keys--
categories--
end--CA671004 JB February 27, 1978 2:33 PM
title--The ML/I Macro Processor
abstract--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 langauge to be
built up with relative ease.
journal--CACM October, 1967
author--Brown, P. J.
keys--
categories--
end--CA671003 JB February 27, 1978 2:38 PM
title--The Remaining Trouble Spots in ALGOL 60
abstract--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.
journal--CACM October, 1967
author--Knuth, D. E.
keys--
categories--
end--CA671002 JB February 27, 1978 2:40 PM
title--The Hardware-Software Complementarity
abstract--
journal--CACM October, 1967
author--Oettinger, A. G.
keys--
categories--
end--CA671001 JB February 27, 1978 2:42 PM
title--A Marovian Model of the University of Michigan Executive System
abstract--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.
journal--CACM September, 1967
author--Foley, J. D.
keys--
categories--
end--CA670911 JB February 27, 1978 2:50 PM
title--DAD, The C.S.I.R.O. Operating System
abstract--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.
journal--CACM September, 1967
author--Austin, B. J.; Holden, T. S.; Hudson, R. H.
keys--
categories--
end--CA670910 JB February 27, 1978 2:58 PM
title--A Comment on Index Register Allocation
abstract--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.
journal--CACM September, 1967
author--Luccio, F.
keys--
categories--
end--CA670909 JB February 27, 1978 3:06 PM
title--Dynamic Computation of Derivatives
abstract--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.
journal--CACM September, 1967
author--Lesk, A. M.
keys--
categories--
end--CA670908 JB February 27, 1978 3:11 PM
title--Prime Number Generator 1 (Algorithm 310 [A1])
abstract--
journal--CACM September, 1967
author--Chartres, B. A.
keys--
categories--
end--CA670907a JB February 27, 1978 3:12 PM
title--Prime Number Generator 2 (Algorithm 311 [A1])
abstract--
journal--CACM September, 1967
author--Chartres, B. A.
keys--
categories--
end--CA670907b JB March 23, 1978 2:34 PM
title--Prime Number Generator 1; Prime Number Generator 2 (Algorithm 35[A1];
Algorithm 310[A1]; Algorithm 311[A1])
abstract--
journal--CACM September, 1967
author--Chartres, B. A.
keys--
categories--
end--CA670907c JB March 23, 1978 2:37 PM
title--An Algorithm for Class Scheduling With Section Preference
abstract--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.
journal--CACM September, 1967
author--Busam, V. A.
keys--
categories--
end--CA670906 JB February 27, 1978 3:15 PM
title--A Language for Modeling and Simulating Dynamic Systems
abstract--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.
journal--CACM September, 1967
author--Parente, R. J.; Krasnow, H. S.
keys--
categories--
end--CA670905 JB February 27, 1978 3:18 PM
title--A Microprogrammed Implementation of EULER on IBM System/360 Model 30
abstract--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.
journal--CACM September, 1967
author--Weber, H.
keys--
categories--
end--CA670904 JB February 27, 1978 3:44 PM
title--Computer Formulation of the Equations of Motion Using Tensor Notation
abstract--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.
journal--CACM September, 1967
author--Howard, J. C.
keys--
categories--
end--CA670903 JB February 27, 1978 3:58 PM
title--Tele-CUPL: A Telephone Time Sharing System
abstract--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.
journal--CACM September, 1967
author--Conway, R. W.; Morgan, H. L.
keys--
categories--
end--CA670902 JB February 27, 1978 4:04 PM
title--Legal Safeguards to Insure Privacy in a Computer Society
abstract--
journal--CACM September, 1967
author--Westin, A. F.
keys--
categories--
end--CA670901 JB February 27, 1978 4:06 PM
title--Toward Standards for Handwritten Zero and Oh
abstract--
journal--CACM August, 1967
author--Bemer, R. W.
keys--
categories--
end--CA670809 JB February 27, 1978 4:08 PM
title--Gamma Function with Arbitrary Precision (Algorithm 309 [S14])
abstract--
journal--CACM August, 1967
author--Filho, A. M. S.; Schwachheim, G.
keys--
categories--
end--CA670808 JB February 27, 1978 4:10 PM
title--Parsing of Decision Tables
abstract--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.
journal--CACM August, 1967
author--Chapin, N.
keys--
categories--
end--CA670807 JB February 27, 1978 4:14 PM
title--An Efficient Machine-Independent Procedure for Garbage Collection in
Various List Structures
abstract--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.
journal--CACM August, 1967
author--Schorr, H.; Waite, W. M.
keys--
categories--
end--CA670806 JB February 27, 1978 4:28 PM
title--A Comparison of Batch Processing and Instant Turnaround
abstract--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".
journal--CACM August, 1967
author--Smith, L. B.
keys--
categories--
end--CA670805 JB February 27, 1978 4:32 PM
title--On Compiling Algorithms for Arithmetic Expressions
abstract--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.
journal--CACM August, 1967
author--Nakata, I.
keys--
categories--
end--CA670804 JB February 27, 1978 4:35 PM
title--The AED Free Storage Package
abstract--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.
journal--CACM August, 1967
author--Ross, D. T.
keys--
categories--
end--CA670803 JB February 27, 1978 4:40 PM
title--Contextual Understanding by Computers
abstract--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.
journal--CACM August, 1967
author--Weizenbaum, J.
keys--
categories--
end--CA670802 JB February 27, 1978 4:44 PM
title--A Computer Technique for Displaying n-Dimensional Hyperobjects
abstract--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.
journal--CACM August, 1967
author--Noll, A. M.
keys--
categories--
end--CA670801 JB February 27, 1978 4:48 PM
title--Symmetric Polynomials (Algorithm 305 [C1])
abstract--
journal--CACM July, 1967
author--Bratley, P.; McKay, J. K. S.
keys--
categories--
end--CA670711a JB February 28, 1978 8:26 AM
title--Permutations with Repetitions (Algorithm 306 [G6])
abstract--
journal--CACM July, 1967
author--Bratley, P.
keys--
categories--
end--CA670711b JB March 23, 1978 3:14 PM
title--Symmetric Group Characters (Algorithm 307 [A1])
abstract--
journal--CACM July, 1967
author--McKay, J. K. S.
keys--
categories--
end--CA670711c JB March 23, 1978 3:15 PM
title--Generation of Permutations in Pseudo-Lexicographic Order (Algorithm
[G6])
abstract--
journal--CACM July, 1967
author--Ord-Smith, R. J.
keys--
categories--
end--CA670711d JB March 23, 1978 3:16 PM
title--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])
abstract--
journal--CACM July, 1967
author--Ord-Smith, R. J.
keys--
categories--
end--CA670711e JB March 23, 1978 3:19 PM
title--Transport; Transportation Problem (Algorithm 258[H]; Algorithm 293[H])
abstract--
journal--CACM July, 1967
author--Sims, L. S.
keys--
categories--
end--CA670711f JB March 23, 1978 3:20 PM
title--The Mutual Primal-Dual Method (Algorithm 285 [H])
abstract--
journal--CACM July, 1967
author--Spath, H.
keys--
categories--
end--CA670711g JB March 23, 1978 3:21 PM
title--Airy Function (Algorithm 301 [S20])
abstract--
journal--CACM July, 1967
author--Pitteway, M. L. V.
keys--
categories--
end--CA670711h JB March 23, 1978 3:22 PM
title--A Method for Finding Hamilton Paths and Knight's Tours
abstract--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.
journal--CACM July, 1967
author--Pohl, I.
keys--
categories--
end--CA670710 JB February 28, 1978 8:28 AM
title--Description of Basic Algorithm in DETAB/65 Preprocessor
abstract--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.
journal--CACM July, 1967
author--Callahan, M. D.; Chapman, A. E.
keys--
categories--
end--CA670709 JB February 28, 1978 8:33 AM
title--A Language-Independent Macro Processor
abstract--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.
journal--CACM July, 1967
author--Waite, W. M.
keys--
categories--
end--CA670708 JB February 28, 1978 8:35 AM
title--Optimal Starting Values for Newton-Raphson Calculation of SQRT(x)
abstract--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.
journal--CACM July, 1967
author--Moursund, D. G.
keys--
categories--
end--CA670707 JB February 28, 1978 8:53 AM
title--On the Representation of Symmetric Polynomials
abstract--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.
journal--CACM July, 1967
author--McKay, J. K. S.
keys--
categories--
end--CA670706 JB February 28, 1978 8:56 AM
title--Plotting a Function of Three Independent Variables
abstract--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.
journal--CACM July, 1967
author--Stineman, R. W.
keys--
categories--
end--CA670705 JB February 28, 1978 8:59 AM
title--Implementing Phrase-Structure Productions in PL/I
abstract--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.
journal--CACM July, 1967
author--Irwin, L.
keys--
categories--
end--CA670704 JB February 28, 1978 9:01 AM
title--String Processing Techniques
abstract--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.
journal--CACM July, 1967
author--Madnick, S. E.
keys--
categories--
end--CA670703 JB February 28, 1978 9:04 AM
title--A User-Oriented Time-Shared Online System
abstract--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.
journal--CACM July, 1967
author--Betyar, L.
keys--
categories--
end--CA670702 JB February 28, 1978 9:08 AM
title--The Simulation of Time sharing Systems
abstract--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.
journal--CACM July, 1967
author--Nielsen, N. R.
keys--
categories--
end--CA670701 JB February 28, 1978 9:15 AM
title--An Adaptive Quadrature Procedure with Random Panel Sizes (Algorithm
[D1])
abstract--
journal--CACM June, 1967
author--Gallaher, L. J.
keys--
categories--
end--CA670607a JB February 28, 1978 9:17 AM
title--Normal Curve Integral (Algorithm 304 [S15])
abstract--
journal--CACM June, 1967
author--Hill, I. D.; Joyce, S. A.
keys--
categories--
end--CA670607b JB March 23, 1978 3:27 PM
title--Incomplete Beta Ratio (Algorithm 179 [S14])
abstract--
journal--CACM June, 1967
author--Pike, M. C.; Hill, I. D.
keys--
categories--
end--CA670607c JB March 23, 1978 3:29 PM
title--Eigenvalues of a Real Symmetric Matrix by the QR Method (Algorithm 253
[F2])
abstract--
journal--CACM June, 1967
author--Welsch, J. H.
keys--
categories--
end--CA670607d JB March 23, 1978 3:30 PM
title--Eigenvalues and Eigenvectors of a Real Symmetric Matrix by the QR
Method (Algorithm 254 [F2])
abstract--
journal--CACM June, 1967
author--Welsch, J. H.
keys--
categories--
end--CA670607e JB March 23, 1978 3:31 PM
title--Generalized Least Squares Fit By Orthogonal Polynomials (Algorithm 296
[E2])
abstract--
journal--CACM June, 1967
author--Makinson, G. J.
keys--
categories--
end--CA670607f JB March 23, 1978 3:33 PM
title--Real Error Function, ERF(x) (Algorithm 123 [S15])
abstract--
journal--CACM June, 1967
author--Hill, I. D.; Joyce, S. A.
keys--
categories--
end--CA670607g JB March 23, 1978 3:34 PM
title--Error Function-Large X (Algorithm 180 [S15])
abstract--
journal--CACM June, 1967
author--Hill, I. D.; Joyce, S. A.
keys--
categories--
end--CA670607h JB March 23, 1978 3:35 PM
title--Complementary Error Function-Large X (Algorithm 181 [S15])
abstract--
journal--CACM June, 1967
author--Hill, I. D.; Joyce, S. A.
keys--
categories--
end--CA670607i JB March 23, 1978 3:37 PM
title--GAUSS (Algorithm 209 [S15])
abstract--
journal--CACM June, 1967
author--Hill, I. D.; Joyce, S. A.
keys--
categories--
end--CA670607j JB March 23, 1978 3:38 PM
title--Normal Distribution Function (Algorithm 226 [S15])
abstract--
journal--CACM June, 1967
author--Hill, I. D.; Joyce, S. A.
keys--
categories--
end--CA670607k JB March 23, 1978 3:39 PM
title--Procedure for the Normal Distribution Functions (Algorithm 272 [S15])
abstract--
journal--CACM June, 1967
author--Hill, I. D.; Joyce, S. A.
keys--
categories--
end--CA670607l JB March 23, 1978 3:40 PM
title--Normal Curve Integral (Algorithm 304 [S15])
abstract--
journal--CACM June, 1967
author--Hill, I. D.; Joyce, S. A.
keys--
categories--
end--CA670607m JB March 23, 1978 3:41 PM
title--A Generalized Bairstow Algorithm
abstract--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.
journal--CACM June, 1967
author--Golub, G. H.; Robertson, T. N.
keys--
categories--
end--CA670606 JB February 28, 1978 9:21 AM
title--Storage Allocation in a Certain Iterative Process
abstract--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.
journal--CACM June, 1967
author--Abramowich, J.
keys--
categories--
end--CA670605 JB February 28, 1978 9:25 AM
title--PL/I List Processing
abstract--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.
journal--CACM June, 1967
author--Lawson Jr., H. W.
keys--
categories--
end--CA670604 JB February 28, 1978 9:30 AM
title--DIALOG: A Conversational Programming System with a Graphical
Orientationabstract--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 offline 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.
journal--CACM June, 1967
author--Cameron, S. H.; Ewing, D.; Liveright, M.
keys--
categories--
end--CA670603 JB February 28, 1978 9:36 AM
title--Pitch Period Determination of Speech Sounds
abstract--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.
journal--CACM June, 1967
author--Reddy, D. R.
keys--
categories--
end--CA670602 JB February 28, 1978 9:42 AM
title--A Model for a Multifunctional Teaching System
abstract--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.
journal--CACM June, 1967
author--Engvold, K. J.; Hughes, J. L.
keys--
categories--
end--CA670601 JB February 28, 1978 10:24 AM
title--String Similarity and Misspellings
abstract--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 number
of 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.
journal--CACM June, 1967
author--Alberga, C. N.
keys--
categories--
end--CA670510 JB February 28, 1978 10:28 AM
title--A Simple Technique for Digital Division
abstract--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.
journal--CACM June, 1967
author--Nandi, S. K.; Krishnamurthy, E. V.
keys--
categories--
end--CA670509 JB February 28, 1978 10:30 AM
title--An Algorithm for Generating Permutations
abstract--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.
journal--CACM May, 1967
author--Langdon Jr., G. G.
keys--
categories--
end--CA670508 JB February 28, 1978 10:35 AM
title--On the Computer Enumeration of Finite Topologies
abstract--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.
journal--CACM May, 1967
author--Evans, J. W.; Harary, F.; Lynn, M. S.
keys--
categories--
end--CA670507 JB February 28, 1978 10:37 AM
title--Airy Function (Algorithm 301 [S20])
abstract--
journal--CACM May, 1967
author--Bond, G.; Pitteway, M. L. V.
keys--
categories--
end--CA670506a JB February 28, 1978 10:38 AM
title--Transpose Vector Stored Array (Algorithm 302 [K2])
abstract--
journal--CACM May, 1967
author--Boothroyd, J.
keys--
categories--
end--CA670506b JB March 23, 1978 4:00 PM
title--Least Squares Fit By Orthogonal Polynomials (Algorithm 28 [E2])
abstract--
journal--CACM May, 1967
author--Makinson, G. J.
keys--
categories--
end--CA670506c JB March 23, 1978 4:02 PM
title--Numerical Solution of the Polynomial Equation (Algorithm 300 [C2])
abstract--
journal--CACM May, 1967
author--Kohfeld, J. J.
keys--
categories--
end--CA670506d JB March 23, 1978 4:03 PM
title--Chebyshev Quadrature (Algorithm 279 [D1])
abstract--
journal--CACM May, 1967
author--Hillstrom, K.
keys--
categories--
end--CA670506e JB March 23, 1978 4:04 PM
title--Parallel Numerical Methods for the Solution of Equations
abstract--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 several 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.
journal--CACM May, 1967
author--Shedler, G. S.
keys--
categories--
end--CA670505 JB February 28, 1978 10:44 AM
title--POSE: A Language for Posing Problems to a Computer
abstract--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.
journal--CACM May, 1967
author--Schlesinger, S.; Sashkin, L.
keys--
categories--
end--CA670504 JB February 28, 1978 10:53 AM
title--A Multiprogramming Monitor for Small Machines
abstract--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.
journal--CACM May, 1967
author--Hornbuckle, G. D.
keys--
categories--
end--CA670503 JB February 28, 1978 10:57 AM
title--Further Analysis of a Computing Center Environment
abstract--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.
journal--CACM May, 1967
author--Walter, E. S.; Wallace, V. L.
keys--
categories--
end--CA670502 JB February 28, 1978 11:02 AM
title--An Experimental Comparison of Time Sharing and Batch Processing
abstract--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.
journal--CACM May, 1967
author--Schatzoff, M.; Tsao, R.; Wiig, R.
keys--
categories--
end--CA670501 JB February 28, 1978 11:09 AM
title--Chi-Squared Integral (Algorithm 299 [S15])
abstract--
journal--CACM April, 1967
author--Hill, I. D.; Pike, M. C.
keys--
categories--
end--CA670408a JB February 28, 1978 11:10 AM
title--Coulomb Wave Functions (Algorithm 300 [S22])
abstract--
journal--CACM April, 1967
author--Gunn, J. H.
keys--
categories--
end--CA670408b JB March 23, 1978 4:06 PM
title--Numerical Integration of Function That Has a Pole
abstract--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.
journal--CACM April, 1967
author--Eisner, E.
keys--
categories--
end--CA670407 JB February 28, 1978 11:20 AM
title--Scheduling University Course Examinations by Computer
abstract--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.
journal--CACM April, 1967
author--Hall Jr., A. D.; Acton, F. S.
keys--
categories--
end--CA670406 JB February 28, 1978 11:22 AM
title--A Method for the Solution of Transportation Problems with Tall Matrices
abstract--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.
journal--CACM April, 1967
author--Dwyer, P. S.; Galler, B. A.
keys--
categories--
end--CA670405 JB February 28, 1978 11:25 AM
title--Scheduling Project Networks
abstract--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.
journal--CACM April, 1967
author--Klein, M. M.
keys--
categories--
end--CA670404 JB February 28, 1978 11:31 AM
title--Top-to-bottom Parsing Rehabilitated?
abstract--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.
journal--CACM April, 1967
author--Brooker, R. A.
keys--
categories--
end--CA670403 JB February 28, 1978 11:32 AM
title--One-Pass Compilation of Arithmetic Expressions for a Parallel Processor
abstract--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.
journal--CACM April, 1967
author--Stone, H. S.
keys--
categories--
end--CA670402 JB February 28, 1978 11:36 AM
title--A Proposal for Definitions in ALGOL
abstract--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.
journal--CACM April, 1967
author--Galler, B. A.; Perlis, A. J.
keys--
categories--
end--CA670401 JB February 28, 1978 11:43 AM
title--An Algorithm for Generating Root Locus Diagrams
abstract--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.
journal--CACM March, 1967
author--Krall, A. M.; Fornaro, R.
keys--
categories--
end--CA670313 JB February 28, 1978 12:57 PM
title--Tensor Calculations on Computer: Appendix
abstract--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.
journal--CACM March, 1967
author--Walton, J. J.
keys--
categories--
end--CA670312 JB February 28, 1978 12:58 PM
title--Eigenvalues and Eigenvectors of the Symmetric System (Algorithm 297
[F2])
abstract--
journal--CACM March, 1967
author--Boothroyd, J.
keys--
categories--
end--CA670311a JB February 28, 1978 12:59 PM
title--Determination of the Square-Root of a Positive Definite Matrix
(Algorithm 298 [F1])
abstract--
journal--CACM March, 1967
author--Spath, H.
keys--
categories--
end--CA670311b JB March 23, 1978 4:09 PM
title--Error-Free Methods for Statistical Computations
abstract--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.
journal--CACM March, 1967
author--Rodden, B. E.
keys--
categories--
end--CA670310 JB February 28, 1978 1:02 PM
title--Methods of Evaluating Polynomial Approximations in Function Evaluation
Routines
abstract--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.
journal--CACM March, 1967
author--File, C. T.
keys--
categories--
end--CA670309 JB February 28, 1978 1:08 PM
title--Computer Typesetting of ALGOL
abstract--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 layout 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.
journal--CACM March, 1967
author--Sydow, L. V.
keys--
categories--
end--CA670308 JB February 28, 1978 1:12 PMB
title--An Efficient Procedure for the Generation of Closed Subsets
abstract--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.
journal--CACM March, 1967
author--Waite, W. M.
keys--
categories--
end--CA670307 JB February 28, 1978 1:18 PM
title--An Application of FORMAC
abstract--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.
journal--CACM March, 1967
author--Neidleman, L. D.
keys--
categories--
end--CA670306 JB February 28, 1978 1:27 PM
title--Automatic Dimensioning
abstract--Examples of algorithm that will accomplish automatic storage
reservation without the need for explicit array declarations are described.
journal--CACM March, 1967
author--Klerer, M.; May, J.
keys--
categories--
end--CA670305 JB February 28, 1978 1:28 PM
title--On the Automatic Simplification of Source-Language Programs
abstract--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.
journal--CACM March, 1967
author--Clark, E. R.
keys--
categories--
end--CA670304 JB February 28, 1978 1:33 PM
title--Structure of a LISP System Using Two-Level Storage
abstract--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.
journal--CACM March, 1967
author--Bobrow, D. G.; Murphy, D. L.
keys--
categories--
end--CA670303 JB February 28, 1978 1:39 PM
title--Application of Level Changing to a Multilevel Storage Organization
abstract--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.
journal--CACM March, 1967
author--Morenoff, E.; McLean, J. B.
keys--
categories--
end--CA670302 JB February 28, 1978 1:43 PM
title--The Emergence of a Profession
abstract--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.
journal--CACM March, 1967
author--Orden, A.
keys--
categories--
end--CA670301 JB February 28, 1978 1:47 PM
title--Stat-Pack: A Biostatistical Programming Package
abstract--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.
journal--CACM February, 1967
author--Shannon, S.; Henschke, C.
keys--
categories--
end--CA670213 JB February 28, 1978 1:57 PM
title--Computer Representation of Planar Regions by Their Skeletons
abstract--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.
journal--CACM February, 1967
author--Pfaltz, J. L. Rosenfeld, A.
keys--
categories--
end--CA670212 JB February 28, 1978 2:07 PM
title--Testing a Random Number Generator
abstract--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.
journal--CACM February, 1967
author--Gorenstein, S.
keys--
categories--
end--CA670211 JB February 28, 1978 2:10 PM
title--Programming the Tabular Method of Analysis of Variance for Factorial
Experiments
abstract--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.
journal--CACM February, 1967
author--Carmer, S. G.
keys--
categories--
end--CA670210 JB February 28, 1978 2:33 PM
title--A Modified Newton Method for Polynomials
abstract--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.
journal--CACM February, 1967
author--Ehrlich, L. W.
keys--
categories--
end--CA670209 JB February 28, 1978 2:33 PM
title--27 bits Are Not Enough for 8-digit Accuracy
abstract--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.
journal--CACM February, 1967
author--Goldberg, I. B.
keys--
categories--
end--CA670208 JB February 28, 1978 2:38 PM
title--Parameters for Pseudo Runge-Kutta Methods
abstract--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.
journal--CACM February, 1967
author--Byrne, G. D.
keys--
categories--
end--CA670207 JB February 28, 1978 3:20 PM
title--Invariant Imbedding and the Numerical Integration of Boundary-Value
Problems for Unstable Linear Systems of Ordinary Differential Equations
abstract--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 imbedding technique is presented which is useful in overcoming these
frequently encountered instabilities, and the results of some numerical
experiments are given.
journal--CACM February, 1967
author--Belman, R. E.; Kagiwada, H. H.; Kalaba, R. E.
keys--
categories--
end--CA670206 JB February 28, 1978 3:28 PM
title--Problems in the Statistical Analysis of Simulation Experiments: The
Comparison of Means and the Length of Sample Records
abstract--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.
journal--CACM February, 1967
author--Fishman, G. S.
keys--
categories--
end--CA670205 JB February 28, 1978 3:34 PM
title--Sorting by Replacement Selecting
abstract--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.
journal--CACM February, 1967
author--Gasner, B. J.
keys--
categories--
end--CA670204 JB February 28, 1978 3:56 PM
title--Exponential Curve Fit (Algorithm 295 [E2])
abstract--
journal--CACM February, 1967
author--Spath, H.
keys--
categories--
end--CA670203a JB February 28, 1978 3:57 PM
title--Generalized Least Squared Fit By Orthogonal Polynomials (Algorithm 296
[E2])
abstract--
journal--CACM February, 1967
author--Makinson, G. J.
keys--
categories--
end--CA670203b JB March 23, 1978 4:13 PM
title--A Use of Fast and Slow Memories in List-Processing Languages
abstract--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.
journal--CACM February, 1967
author--Cohen, J.
keys--
categories--
end--CA670202 JB February 28, 1978 4:06 PM
title--Time Sharing on a Computer with a Small Memory
abstract--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.
journal--CACM February, 1967
author--Fisher, R. O.; Shepard, C. D.
keys--
categories--
end--CA670201 JB February 28, 1978 4:10 PM
title--An Improvement to Iterative Methods of Polynomial Factorization
abstract--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.
journal--CACM January, 1967
author--Bingham, J. A. C.
keys--
categories--
end--CA670112 JB February 28, 1978 4:20 PM
title--On the Computation of Least Squares Polynomials
abstract--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 adjusting the constant term
of the computed polynomial to get a better approximation to the true least
squares polynomial is described.
journal--CACM January, 1967
author--Goldberg, M.
keys--
categories--
end--CA670111 JB February 28, 1978 4:24 PM
title--A Note on Computing Approximations to the Exponential Function
abstract--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].
journal--CACM January, 1967
author--Cody, W. J.; Ralston, A.
keys--
categories--
end--CA670110 JB February 28, 1978 4:25 PM
title--DITRAN-A Compiler Emphasizing Diagnostics
abstract--DITRAN (Dlagnostic 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.
journal--CACM January, 1967
author--Moulton, P. G.; Muller, M. E.
keys--
categories--
end--CA670109 JB February 28, 1978 4:30 PM
title--WATFOR-The University of Waterloo FORTRAN IV Compiler
abstract--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.
journal--CACM January, 1967
author--Shantz, P. W.; German, R. A.; Mitchell, J. G.
keys--
categories--
end--CA670108 JB February 28, 1978 4:36 PM
title--Uniform Random (Algorithm 294 [G5])
abstract--
journal--CACM January, 1967
author--Strome, W. M.
keys--
categories--
end--CA670107 JB February 28, 1978 4:37 PM
title--Data Directed Input-Output in FORTRAN
abstract--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.
journal--CACM January, 1967
author--Hassitt, A.
keys--
categories--
end--CA670106 JB February 28, 1978 4:41 PM
title--A Unifying Computational Method for the Analysis of Complete Factorial
Experiments
abstract--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.
journal--CACM January, 1967
author--Cooper, B. E.
keys--
categories--
end--CA670105 JB February 28, 1978 4:49 PM
title--An Interpretive Input Routine for Linear Programming
abstract--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.
journal--CACM January, 1967
author--Aigner, D. J.
keys--
categories--
end--CA670104 JB March 1, 1978 8:58 AM
title--A Code for Non-numeric Information Processing Applications in Online
Systems
abstract--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.
journal--CACM January, 1967
author--Morenoff, E.; McLean, J. B.
keys--
categories--
end--CA670103 JB March 1, 1978 9:05 AM
title--System Performance Evaluation: Survey and Appraisal
abstract--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.
journal--CACM January, 1967
author--Calingaert, P.
keys--
categories--
end--CA670102 JB March 1, 1978 9:10 AM
title--A University's Educational Program in Computer Science
abstract--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
syllabi of Ph.D. qualifying examinations for Stanford's Computer Science
Department.
journal--CACM January, 1967
author--Forsythe, G. E.
keys--
categories--
end--CA670101 JB March 1, 1978 9:13 AM
title--Code Extension Procedures for Information Interchange* (Proposed USA
Standard)
abstract--
journal--CACM December, 1968
author--
keys--standard code, code, information interchange, characters, shift out,
shift in, escape, data link escape, control functions, standard procedures,
code extension, code table, bit pattern
categories--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
end--CA681211 JB February 21, 1978 12:16 PM
title--Procedures for the Standardization Process* (Proposed USA Standard)
abstract--
journal--CACM December, 1968
author--
keys--standardization, procedures, criteria
categories--2.3, 4.2
end--CA681210 JB February 21, 1978 12:21 PM
title--Implementation of the SHARER2 Time-Sharing System
abstract--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.
journal--CACM December, 1968
author--Harrison, M. C.
keys--operating system, memory protection, time-sharing, multiprogramming,
monitor, submonitor, suboperating system
categories--4.320, 4.31, 4.32
end--CA681209 JB February 21, 1978 1:27 PM
title--Analysis of Algorithms for the Zero-One Programming Problem
abstract--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.
journal--CACM December, 1968
author--Gue, R. L.; Liggett, J. C.; Cain, K. C.
keys--operations research, optimization theory, integer programming, zero-one
variables, algorithms
categories--5.39, 5.41
end--CA681208 JB February 21, 1978 1:31 PM
title--Computational Linguistics in a Ph.D. Computer Science Program
abstract--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.
journal--CACM December, 1968
author--Kuno, S.; Oettinger, A. G.
keys--computational linguistics, mathematical linguistics, language and
computer, language data processing, computational linguistics course
curriculum, computational linguistics graduate program, computational
linguistics bibliography, computer science curriculum
categories--1.52, 3.42, 3.43
end--CA681207 JB February 21, 1978 1:37 PM
title--Index By Subject To algorithms, 1960-1968
abstract--
journal--CACM December, 1968
author--
keys--
categories--
end--CA681206 JB February 21, 1978 1:39 PM
title--Multint (Algorithm 32 [D1])
abstract--
journal--CACM December, 1968
author--Kolbig, K. S.
keys--numerical integration, multidimensional integration, Gaussian integration
categories--5.16
end--CA681205 JB February 21, 1978 1:41 PM
title--Eigenvalues and Eigenvectors of a Real General Matrix [F2])
abstract--
journal--CACM December, 1968
author--Grad, J.; Brebner, M. A.
keys--eigenvalues, eigenvectors, latent roots, latent vectors, Householder's
method, QR algorithm, inverse iteration
categories--5.14
end--CA681204 JB February 21, 1978 1:42 PM
title--Generator of Random Numbers Satisfying the Poisson distribution [G5])
abstract--
journal--CACM December, 1968
author--Snow, R. H.
keys--Poisson distribution, random number generator, Monte Carlo
categories--5.12, 5.5
end--CA681203 JB February 21, 1978 1:45 PM
title--An Algorithm for Deriving the Equations of Mathematical Physics by
Symbolic Manipulation
abstract--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.
journal--CACM December, 1968
author--Howard, J. C.; Tashjian, H.
keys--FORMAC, Navier-Strokes equations, continuity equation, tensor, tensor
equation, curvilinear coordinate systems, FORTRAN, symbolic manipulation
categories--3.21, 3.25, 3.29, 4.12, 4.29
end--CA681202 JB February 21, 1978 2:02 PM
title--Automatic Generation of Efficient Lexical Processors Using Finite State
Techniques
abstract--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.
journal--CACM December, 1968
author--Johnson, W. L.; Porter, J. H.; Ackley, S. I.; Ross, D. T.
keys--character string, compiler, finite-state automata, finite-state machine,
lexical processor, nondeterministic machine, parsing, plex structure, regular
expressions, sequential machine, syntactic analysis
categories--3.63, 3.75, 4.12, 5.22, 5.24, 5.31
end--CA681201 JB February 21, 1978 2:19 PM
title--Solution of Linear Programs in 0-1 Variables by Implicit Enumeration
(Algorithm 341 [H])
abstract--
journal--CACM November, 1968
author--Byrne, J. L.; Proll, L. G.
keys--linear programming, zero-one variables, partial enumeration
categories--5.41
end--CA681113 JB February 21, 1978 2:21 PM
title--Roots of Polynomials by a Root-Squaring and Resultant Routine
(Algorithm 340 [C2])
abstract--
journal--CACM November, 1968
author--Noltemeier, A.
keys--rootfinders, roots of polynomial equations, polynomial zeros, root-
squaring operations, Graeffe method, resultant procedure, subresultant
procedure, testing of roots, acceptance criteria
categories--5.15
end--CA681112 JB February 21, 1978 2:24 PM
title--An Algol Procedure for the Fast Fourier Transform with Arbitrary
Factors (Algorithm 339 [C6])
abstract--
journal--CACM November, 1968
author--Singleton, R. C.
keys--fast Fourier transform, multivariate Fourier transform, Fourier series,
harmonic analysis, spectral analysis, orthogonal polynomials, orthogonal
transformation, virtual core memory, permutation
categories--3.15, 3.83, 5.12, 5.14
end--CA681111 JB February 21, 1978 2:26 PM
title--Algol Procedures for the Fast Fourier Transform (Algorithm 338 [C6])
abstract--
journal--CACM November, 1968
author--Singleton, R. C.
keys--fast Fourier transform, complex Fourier transform, multivariate Fourier
transform, Fourier series, harmonic analysis, spectral analysis, orthogonal
polynomials, orthogonal transformation, virtual core memory, permutation
categories--3.15, 3.83, 5.12, 5.14
end--CA681110 JB February 21, 1978 2:29 PM
title--Correspondences of 8-Bit and Hollerith Codes for Computer Environments
(A USASI Tutorial Standard)
abstract--
journal--CACM November, 1968
author--
keys--USA standard, card code, punched card, punched card code, hole-patterns,
hole-patterns assignment, punched card systems
categories--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
end--CA681109 JB February 21, 1978 2:33 PM
title--A Phonological Rule Tester
abstract--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.
journal--CACM November, 1968
author--Borrow, D. G.; Fraser, J. B.
keys--phonology, rule tester, linguistics, transformational grammar, LISP,
format-directed list processing, on-line systems
categories--3.42, 4.13, 4.22
end--CA681108 JB February 21, 1978 2:41 PM
title--Practical Error Coefficients in the Integration of Periodic Analytic
Functions by the Trapezoidal Rule
abstract--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.
journal--CACM November, 1968
author--Rabinowitz, P.
keys--theoretical error coefficients, practical error coefficients, numerical
integration, periodic analytic functions, trapezoidal rule, roundoff error,
truncation error, integration algorithm
categories--5.11, 5.16
end--CA681107 JB February 21, 1978 2:45 PM
title--Approximate Solution of Initial Boundary Wave Equation Problems by
Boundary-Value Techniques
abstract--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.
journal--CACM November, 1968
author--Greenspan, D.
keys--initial-boundary-value problem, wave equation, boundary-value technique
categories--5.15, 5.17
end--CA681106 JB February 21, 1978 2:48 PM
title--One-Line Random Number Generators and Their Use in Combinations
abstract--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.
journal--CACM November, 1968
author--Marsaglia, G.; Bray, T. A.
keys--random number generation, Monte Carlo, simulation
categories--5.5
end--CA681105 JB February 21, 1978 2:54 PM
title--A Note on a Relevance Estimate and Its Improvement
abstract--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.
journal--CACM November, 1968
author--Korfhage, R. R.
keys--information retrieval, relevance, indexing, classification
categories--3.70, 3.71, 3.74
end--CA681104 JB February 21, 1978 2:57 PM
title--The LRLTRAN Compiler
abstract--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.
journal--CACM November, 1968
author--Mendicino, S. F.; Martin, J. T.; Ranelletti, J. E.; Zwakenberg, R. G.
keys--compiler, compiler-compiler, machine independence, scatter storage
technique, Polish processor, common subsegments, tree representation,
optimization
categories--4.12, 4.20
end--CA681103 JB February 21, 1978 3:03 PM
title--Storage Organization in Programming Systems
abstract--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.
journal--CACM November, 1968
author--Jodeit, J. G.
keys--storage allocation, storage organization, storage control, codewords,
data representation, program representation, data structures, storage
protection, addressing mechanisms, paging, segmentation, file handling
categories--4.30, 4.40, 6.20
end--CA681102 JB February 21, 1978 3:11 PM
title--Automata, Formal Languages, Abstract Switching, and Computability in a
Ph.D. Computer Science Program
abstract--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.
journal--CACM November, 1968
author--McNaughton, R.
keys--Ph.D. computer-science curriculum, Ph.D. computer science program,
automata, formal languages, switching theory, theory of computability
categories--1.5, 5.2, 6.1
end--CA681101 JB February 21, 1978 3:16 PM
title--A Fast Fourier Transform Algorithm for Real-Valued Series
abstract--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.
journal--CACM October, 1968
author--Bergland, G. D.
keys--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
categories--3.80, 3.81, 4.9, 5.49, 6.22
end--CA681008 JB February 21, 1978 3:23 PM
title--A General-Purpose Display Processing and Tutorial System
abstract--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.
journal--CACM October, 1968
author--Engvold, K. J.; Hughes, J. L.
keys--computer-assisted instruction, tutorial systems, programming, simulation,
modeling, information retrieval operating systems, graphics, displays, man-
machine interface, on-line computing, graphic programming
categories--1.5, 3.3, 3.5, 3.8, 4.0, 4.3
end--CA681007 JB February 21, 1978 3:36 PM
title--Easy English, a Language for Information Retrieval Through a Remote
Typewriter Console
abstract--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.
journal--CACM October, 1968
author--Rubinoff, M.; Bergman, S.; Cautin, H.; Rapp, F.
keys--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
categories--3.74, 3.81, 4.19
end--CA681006 JB February 21, 1978 3:59 PM
title--The Implementation of a BASIC System in a Multiprogramming Environment
abstract--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.
journal--CACM October, 1968
author--Braden, H. V.; Wulf, W. A.
keys--multiprogramming, incremental compilation, compilers, interpreters
categories--4.1, 4.12, 4.2, 4.22, 4.3, 4.32
end--CA681005 JB February 21, 1978 4:04 PM
title--Boolean matrix Methods for the Detection of Simple Precedence Grammars
abstract--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.
journal--CACM October, 1968
author--Martin, D. F.
keys--syntax analysis, precedence analysis, simple precedence grammar, simple
precedence language, operator grammar, operator precedence, compilers, bounded-
context syntactic analysis, Boolean matrices, relations
categories--4.12, 5.23
end--CA681004 JB February 21, 1978 4:09 PM
title--Ambiguity in Limited Entry Decision Tables
abstract--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.
journal--CACM October, 1968
author--King, P. J. H.
keys--decision tables, DETAB-65, systems analysis
categories--3.50, 4.19, 4.49
end--CA681003 JB February 21, 1978 4:17 PM
title--GAN, a System for Generating and Analyzing Activity Networks
abstract--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.
journal--CACM October, 1968
author--Schurmann, A.
keys--activity network, management project, standard network, network
generator, network assembler, activity network analysis, network calculation,
network program
categories--3.50, 3.53, 4.11, 4.12, 4.29
end--CA681002 JB February 21, 1978 4:22 PM
title--Computer Synthesis of Holograms for 3-D Display
abstract--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.
journal--CACM October, 1968
author--Lesem, L. B.; Hirsch, P. M.
keys--holography, optics, Fourier transforms, computer applications, display
device, photography, physics, mathematics, image processing
categories--3.17, 3.19, 5.19
end--CA681001 JB February 21, 1978 4:27 PM
title--Netflow (Algorithm 248 [H])
abstract--
journal--CACM September, 1968
author--Bray, T. A.; Witzgall, C.
keys--capacitated network, linear programming, minimum-cost flow, network flow,
out-of-kilter
categories--5.32, 5.41
end--CA680914 JB February 21, 1978 4:29 PM
title--Netflow (Algorithm 248 [H])
abstract--
journal--CACM September, 1968
author--Henderson, J. H.
keys--capacitated network, linear programming, minimum-cost flow, network flow,
out-of-kilter
categories--5.32, 5.41
end--CA680913 JB February 21, 1978 4:31 PM
title--Calculation of a Polynomial and its Derivative Values by Horner Scheme
(Algorithm 337 [C1])
abstract--
journal--CACM September, 1968
author--Pankiewicz, W.
keys--function evaluation, polynomial evaluation, Algol procedure, Horner's
scheme
categories--5.12, 4.22
end--CA680912 JB February 21, 1978 4:33 PM
title--Netflow (Algorithm 336 [H])
abstract--
journal--CACM September, 1968
author--Bray, T. A.; Witzgall, C.
keys--capacitated network, linear programming, minimum-cost flow, network flow,
out-of-kilter
categories--5.32, 5.41
end--CA680911 JB February 21, 1978 4:35 PM
title--A Comparison of the Correlational Behavior of Random Number Generators
for the IBM 360
abstract--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.
journal--CACM September, 1968
author--Whittlesey, J. R.
keys--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
categories--5.5
end--CA680910 JB February 21, 1978 4:44 PM
title--Numerical Solution of a Thin Plate Heat Transfer Problem
abstract--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.
journal--CACM September, 1968
author--Stewart III, G. W.; Lick, D. W.
keys--heat transfer problem, Poisson equation, boundary value problem, thin
domain, successive overrelaxation (SOR), block SOR
categories--3.20, 5.17
end--CA680909 JB February 21, 1978 4:48 PM
title--GPL, a Truly General Purpose Language
abstract--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.
journal--CACM September, 1968
author--Garwick, J. V.
keys--programming language, general purpose, self-extending, macro, ALGOL
categories--4.20
end--CA680908 JB February 22, 1978 8:40 AM
title--An Algorithm for the Probability of the Union of a Large Number of
Events
abstract--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.
journal--CACM September, 1968
author--Miller, G. D.
keys--algorithm, probability, optimum, storage vs. time compromise, set union,
mutually exclusive events
categories--5.12, 5.5, 5.6
end--CA680907 JB February 22, 1978 8:45 AM
title--PLEXUS-An On-Line System for Modeling Neural Networks
abstract--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.
journal--CACM September, 1968
author--Dill, J. C.; Randall, D. L.; Richer, I.
keys--biological modeling, data analysis, discrete system simulation, library
systems, modeling, network simulation, neural networks, neurophysiological
models, on-line simulation, simulation
categories--3.12, 3.19, 3.29, 3.65
end--CA680906 JB February 22, 1978 8:56 AM
title--An Algorithm for Identifying the Ergodic Subchains and Transient States
of a Stochastic Matrix
abstract--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.
journal--CACM September, 1968
author--Fox, B. L.; Landi, D. M.
keys--stochastic matrix, ergodic, chain identification
categories--5.39, 5.5
end--CA680905 JB February 22, 1978 9:04 AM
title--Graphical Input/Output of Nonstandard Characters
abstract--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.
journal--CACM September, 1968
author--Hayashl, H.; Duncan, S.; Kuno, S.
keys--Chinese characters, input/output, orthography, Rand Tablet, PDP-1,
automatic typesetting, man-machine communication, computer graphics, graphical
input, on-line editing
categories--3.40, 4.41
end--CA680904 JB February 22, 1978 9:13 AM
title--A Statistical Model for Console Behavior in Multiuser Computers
abstract--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.
journal--CACM September, 1968
author--Denning, P. J.
keys--statistical models for input-output, operating system design, input-
output design
categories--4.30, 4.41, 5.5
end--CA680903 JB February 22, 1978 9:21 AM
title--Experimental Evaluation of Information Retrieval Through a
Teletypewriter
abstract--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.
journal--CACM September, 1968
author--Rubinoff, M.; Bergman, S.; Franks, W.; Rubinoff, E. R.
keys--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
categories--3.72, 3.74, 3.79, 3.81
end--CA680902 JB February 22, 1978 9:30 AM
title--PEEKABIT, Computer Offspring of Punched Card PEEKABOO, for Natural
Language Searching
abstract--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.
journal--CACM September,1968
author--Hutton, F. C.
keys--peekaboo, superimposed coding, natural language searching text searching,
information compaction, computer search technique
categories--3.74
end--CA680901 JB February 22, 1978 9:38 AM
title--Synchronous Signaling Rates for Data Transmission* (Proposed USA
STandard)
abstract--
journal--CACM August, 1968
author--
keys--
categories--
end--CA680813 JB February 22, 1978 9:41 AM
title--Commentary on Mr. Mooers' Paper
abstract--
journal--CACM August, 1968
author--Steel Jr., T. B.
keys--
categories--
end--CA680812 JB February 22, 1978 9:42 AM
title--Accommodating Standards and Identification of Programming Languages
abstract--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.
journal--CACM August, 1968
author--Mooers, C. N.
keys--standardization, programming languages, TRAC T-64 language, tranemark,
public identification of programming languages, standards which accommodate
categories--2.12, 4.2, 2.9
end--CA680811 JB February 22, 1978 9:50 AM
title--Minimum Excess Cost Curve (ALgorithm 217 [H])
abstract--
journal--CACM August, 1968
author--Muth, J. F.
keys--critical path scheduling, PERT, cost/time tradeoffs, network flows
categories--3.59, 5.41
end--CA680810 JB February 22, 1978 9:52 AM
title--A Set of Basic Input-Output Procedures (Algorithm 335 [15])
abstract--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.
journal--CACM August, 1968
author--De Vogelaere, R.
keys--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
categories--4.0, 4.41
end--CA680809 JB February 22, 1978 10:32 AM
title--CHAMP-Character Manipulation Procedures
abstract--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.
journal--CACM August, 1968
author--Storm, E. F.
keys--symbol manipulation, string handling, character manipulation, conditional
expressions, procedures, structure matching, recursive programming, quantifiers
categories--4.22, 4.13
end--CA680808 JB February 22, 1978 10:39 AM
title--Generation of Positive Test Matrices with Known Positive Spectra
abstract--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.
journal--CACM August, 1968
author--Hall, C. A.; Porsching, T. A.
keys--test matrices, positive matrices, similarity transformation, positive
eigenvalues
categories--5.1, 5.14
end--CA680807 JB February 22, 1978 10:42 AM
title--A Note on the Efficiency of a LISP Computation in a Paged Machine
abstract--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.
journal--CACM August, 1968
author--Borrow, D. G.; Murphy, D. L.
keys--storage management, list processor implementation, LISP, paging,
secondary storage utilization, efficiency of paged computation
categories--3.7, 4.1, 4.2
end--CA680806 JB February 22, 1978 10:45 AM
title--A Modification of Efroymson's Technique for Stepwise Regression
Analysisabstract--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.
journal--CACM August, 1968
author--Breaux, H. J.
keys--multiple linear regression, statistical recurrence formulas, correlation,
linear statistical models, statistical computer programs, curve fitting
categories--4.0, 4.40, 5.0, 5.5, 5.10, 5.13
end--CA680805 JB February 22, 1978 10:52 AM
title--ASP-A Ring Implemented Associative Structure Package
abstract--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.
journal--CACM August, 1968
author--Lang, C. A.; Gray, J. C.
keys--associative, data structure, ring structure lists, list structure, set
languages, modeling, graphics
categories--4.20, 4.22
end--CA680804 JB February 22, 1978 11:02 AM
title--When Your Computer Needs a Lawyer
abstract--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 troublespots 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.
journal--CACM August, 1968
author--Banzhaf III, J. F.
keys--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
categories--1.3, 2.11, 2.12, 2.2, 3.33
end--CA680803 JB February 22, 1978 11:12 AM
title--Recovery of Disk Contents After System Failure
abstract--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.
journal--CACM August, 1968
author--Lockemann, P. C.; Knutsen, W. D.
keys--data acquistition, disk file organization, error recovery, file
organization
categories--3.73
end--CA680802 JB February 22, 1978 11:14 AM
title--On Overcoming High-Priority Paralysis in Multiprogramming Systems: A
Case History
abstract--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 history 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.
journal--CACM August, 1968
author--Stevens, D. F.
keys--multiprogram scheduling, dynamic priority assignment scheduling
categories--4.30, 4.32, 4.39
end--CA680801 JB February 22, 1978 11:19 AM
title--Procedure for the Normal Distribution (Algorithm 272 [S15])
abstract--
journal--CACM July, 1968
author--MacLaren, M. D.
keys--normal distribution function, error function, normal function, normal
curve integral
categories--5.5, 5.12
end--CA680715 JB February 22, 1978 11:21 AM
title--Direct Search (Algorithm 178 [E4])
abstract--
journal--CACM July, 1968
author--De Vogelaere, R.
keys--function minimization, search, direct search
categories--5.19
end--CA680714 JB February 22, 1978 11:24 AM
title--Normal Random Deviates (Algorithm 334 [G5])
abstract--
journal--CACM July, 1968
author--Bell, J. R.
keys--normal deviates, normal distribution, random number, random number
generator, simulation, probability distribution, frequency distribution, random
categories--5.5, 5.13
end--CA680713 JB February 22, 1978 11:26 AM
title--Generating Prime Implicants Via Ternary Encoding and Decimal Arithmetic
abstract--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.
journal--CACM July, 1968
author--Dietmeyer, D. L.; Duley, J. R.
keys--prime implicants, extremal, switching function, minimization, cubical
complexes, ternary encoding
categories--3.24, 6.1
end--CA680712 JB February 22, 1978 11:30 AM
title--"Logical" Arithmetic on Computers with Two's Complement Binary
Arithmetic
abstract--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.
journal--CACM July, 1968
author--Ehrman, J. R.
keys--binary arithmetic, unsigned operand arithmetic, maximum significance
arithmetic, full-precision arithmetic
categories--3.15, 5.11
end--CA680711 JB February 22, 1978 11:34 AM
title--A Methodology for Calculating and Optimizing Real-Time System
Performance
abstract--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.
journal--CACM July, 1968
author--Stimler, S.; Brons, K. A.
keys--real-time system analysis, real-time system design, real-time system
performance criteria, real-time system cost performance ratio
categories--3.27, 3.80, 3.81, 3.89, 6.9
end--CA680710 JB February 22, 1978 11:40 AM
title--Master's Level Computer Science Curricula
abstract--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.
journal--CACM July, 1968
author--Elliott, R. W.
keys--surveys, education, computer science curricula
categories--1.52
end--CA680709 JB February 22, 1978 11:44 AM
title--Determination of the Intersection Points of Two Plane Curves by Means
of Differential Equations
abstract--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.
journal--CACM July, 1968
author--Kuiken, H. K.
keys--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
categories--2.0, 3.10, 3.20, 3.50, 5.10
end--CA680708 JB February 22, 1978 11:51 AM
title--Methods of Convergence Improvement for Some Improper Integrals
abstract--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.
journal--CACM July, 1968
author--McWilliams, G. V.; Thompson, R. W.
keys--approximation, nonlinear, improper integral, convergence improvement,
numerical integration, rational polynomials, truncation
categories--3.15, 5.13, 5.16, 5.19
end--CA680707 JB February 22, 1978 11:58 AM
title--Computer Construction of Project Networks
abstract--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.
journal--CACM July, 1968
author--Fisher, A. C.; Liebman, J. S.; Nemhauser, G. L.
keys--project networks, PERT, CPM, topological ordering, network construction
by computer
categories--5.32
end--CA680706 JB February 22, 1978 12:07 PM
title--A Generalized Partial Pass Block Sort
abstract--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.
journal--CACM July, 1968
author--Bayes, A.
keys--block sort, partial pass sort, direct access devices, column sort,
chaining, reverse chaining, sort, amphisbaenic
categories--5.31
end--CA680705 JB February 22, 1978 12:12 PM
title--A Simple Proof of Lewin's Ordered-Retrieval Theorem for Associative
Memories
abstract--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 indictors, 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.
journal--CACM July, 1968
author--Wolinsky, A.
keys--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
categories--3.74, 3.79, 5.29, 5.31, 6.31, 6.36
end--CA680704 JB February 22, 1978 12:24 PM
title--Preliminary Investigation of Techniques for Automated Reading of
Unformatted Text
abstract--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.
journal--CACM July, 1968
author--Nagy, G.
keys--pattern recognition, character recognition, text reading, information
retrieval, unformatted text operator-controlled reader, online reader, text-
image discrimination, reading machine
categories--3.63, 3.79, 3.89, 6.29, 6.35
end--CA680703 JB February 22, 1978 2:52 PM
title--One Way of Estimating Frequencies of Jumps in a Program
abstract--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.
journal--CACM July, 1968
author--Kral, J.
keys--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
categories--4.11, 4.19, 4.39, 4.49
end--CA680702 JB February 22, 1978 3:05 PM
title--Further Experimental Data on the Behavior of Programs in a Paging
Environment
abstract--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.
journal--CACM JUly, 1968
author--Coffman, E. G.; Varian, L. C.
keys--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
categories--4.13, 4.32, 4.39, 4.9
end--CA680701 JB February 22, 1978 3:13 PM
title--Minit Algorithm for Linear Programming (Algorithm 333 [H])
abstract--
journal--CACM June, 1968
author--Salazar, R. C.; Sen, S. K.
keys--linear programming, dual simplex method, primal problem, dual problem
categories--5.41
end--CA680616 JB February 22, 1978 3:15 PM
title--Jacobi Polynomials (Algorithm 332 [S22])
abstract--
journal--CACM June, 1968
author--Witte, B. F. W.
keys--Jacobi polynomials, orthogonal polynomials, three-term recurrences,
special functions
categories--5.12
end--CA680615 JB February 22, 1978 3:17 PM
title--Gaussian Quadrature Formulas (Algorithm 331 [D1])
abstract--
journal--CACM June, 1968
author--Gautschi, W.
keys--quadrature, Gaussian quadrature, numerical integration, weight function,
orthogonal polynomials
categories--5.16
end--CA680614 JB February 22, 1978 3:20 PM
title--Factorial Analysis of Variance (Algorithm 330 [G1])
abstract--
journal--CACM June, 1968
author--Oliver, I.
keys--factorial variance analysis, variance, statistical analysis
categories--5.5
end--CA680613 JB February 22, 1978 3:21 PM
title--Distribution of Indistinguishable Objects into Distinguishable slots
(Algorithm [G6])
abstract--
journal--CACM June, 1968
author--Fenichel, R. R.
keys--object distributions, combinations, distribution numbers
categories--5.39
end--CA680612 JB February 22, 1978 3:58 PM
title--Chebyshev Solution to an Overdetermined Linear System (Algorithm 328
[F4])
abstract--
journal--CACM June, 1968
author--Bartels, R. H.; Goulub, H. G.
keys--Chebyshev solutions, overdetermined linear systems, linear equations,
exchange algorithm
categories--5.13, 5.14, 5.41
end--CA680611 JB February 22, 1978 4:01 PM
title--A Futures Market in Computer time
abstract--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.
journal--CACM June, 1968
author--Sutherland, I. E.
keys--computer scheduling, auction, time allocation, operating efficiency
categories--2.40
end--CA680610 JB February 22, 1978 4:04 PM
title--Heading Format for Data Transmission (A USAAI Tutorial -- Standards)
abstract--
journal--CACM June, 1968
author--
keys--data transmission heading format, heading format, message format, data
transmission, message headings
categories--3.57, 3.81, 6.39
end--CA680609 JB February 22, 1978 4:07 PM
title--A Global Parser for Context-Free Phrase Structure Grammars
abstract--
journal--CACM June, 1968
author--Unger, S. H.
keys--
categories--
end--CA680608 JB February 22, 1978 4:08 PM
title--Writing an Outline Debugging Program for the Experienced User
abstract--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.
journal--CACM June, 1968
author--Brady, P. T.
keys--debugging, utility program, programming languages
categories--4.42
end--CA680607 JB February 22, 1978 4:14 PM
title--Regular Expression Search Algorithm
abstract--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.
journal--CACM June, 1968
author--Thompson, K.
keys--search, match, regular expression
categories--3.74, 4.49, 5.32
end--CA680606 JB February 22, 1978 4:18 PM
title--An Inexpensive Braille Terminal Device
abstract--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.
journal--CACM June, 1968
author--Anderson, G. B.; Rogers, D. W.
keys--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
categories--4.41, 6.35
end--CA680605 JB February 22, 1978 4:23 PM
title--BRAD: The Brookhaven Raster Display
abstract--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.
journal--CACM June, 1968
author--Ophir, D.; Rankowitz, S.; Shepherd, B. J.; Spinrad, R. J.
keys--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
categories--2.0, 4.49, 6.35
end--CA680604 JB February 22, 1978 4:35 PM
title--On the Design of Display Processors
abstract--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.
journal--CACM June, 1968
author--Myer, T. H.
keys--display processor design, display system, computer graphics, graphic
terminal, displays, graphics, display generator, display channel, display
programming, graphical interaction, remote displays
categories--2.44, 6.22, 6.29, 6.35
end--CA680603 JB February 22, 1978 4:41 PM
title--Reliable Full-Duplex file Transmission over Half-Duplex Telephone Lines
abstract--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.
journal--CACM June, 1968
author--Lynch, W. C.
keys--telephone communication, half duplex, transmission, error correction,
full duplex, telephone errors
categories--3.81, 4.41, 6.35
end--CA680602 JB February 22, 1978 4:45 PM
title--Stable Numerical Methods for Obtaining the Chebyshev Solution to an
Overdetermined System of Equations
abstract--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.
journal--CACM June, 1968
author--Bartels, R. H.; Golub, G. H.
keys--Chebyshev solutions, overdetermined linear systems, linear equations,
exchange algorithm
categories--5.13, 5.14, 5.41
end--CA680601 JB February 22, 1978 4:50 PM
title--A Position Paper on Computing and Communications
abstract--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.
journal--CACM May, 1968
author--Dennis, J. B.
keys--information networks, information systems, computing and free enterprise,
computing economics, computer installation management, government regulation,
communications services, distributed data base, program leasing
categories--2.3, 2.40, 3.80, 4.30
end--CA680511 JB February 23, 1978 8:49 AM
title--Protection in an Information Processing Utility
abstract--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.
journal--CACM May, 1968
author--Graham, R. M.
keys--protection, privacy, information processing utility, time-sharing, multi-
user, multiprogramming, multiprocessing, security, shared information,
controlled access, reliable operation, segmentation
categories--4.32, 4.39
end--CA680510 JB February 23, 1978 8:52 AM
title--Three Criteria for Designing Computing Systems to Facilitate Debugging
abstract--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.
journal--CACM May, 1968
author--Van Horn, E. C.
keys--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
categories--2.11, 4.12, 4.13, 4.20, 4.30, 4.42, 4.43, 5.24, 6.20, 6.35
end--CA680509 JB February 23, 1978 9:06 AM
title--A Scheduling Philosophy for Multiprocessing Systems
abstract--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.
journal--CACM May, 1968
author--Lampson, B. W.
keys--time-sharing, multiprocessing, process, scheduling, interlocks,
protection, priority, interrupt systems
categories--4.31, 4.32, 6.21
end--CA680508 JB February 23, 1978 9:13 AM
title--The Structure of the "THE"-Multiprogramming System
abstract--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.
journal--CACM May, 1968
author--Dijkstra, E. W.
keys--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
categories--4.30, 4.32
end--CA680507 JB February 23, 1978 9:20 AM
title--Considerations in the Design of a Multiple Computer System with
Extended Core Storage
abstract--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.
journal--CACM May, 1968
author--Fuchel, K.; Heller, S.
keys--multiple computer systems, extended core storage, multiprogrammed
operating systems, multiprocessor operating systems, control data corporation
6600, operating system with ECS
categories--4.30, 4.32
end--CA680506 JB February 23, 1978 9:27 AM
title--The Working Set Model for Program Behavior
abstract--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.
journal--CACM May, 1968
author--Denning, P. J.
keys--general operating system concepts, multiprocessing, multiprogramming,
operating systems, program behavior, program models, resource allocation,
scheduling, storage allocation
categories--4.30, 4.32
end--CA680505 JB February 23, 1978 9:33 AM
title--Resource Management for a Medium Scale Time-Sharing Operating system
abstract--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.
journal--CACM May, 1968
author--Oppenheimer, G.; Weizer, N.
keys--time-sharing, operating systems, resource management, task scheduling,
paging, system simulation, memory management, virtual memories
categories--4.30, 4.31, 4.32
end--CA680504 JB February 23, 1978 9:39 AM
title--Virtual Memory, Processes, and Sharing in MULTICS
abstract--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.
journal--CACM May, 1968
author--Daley, R. C.; Dennis, J. B.
keys--virtual memory, information sharing, shared procedures, data sharing,
dynamic linking, segmentation, paging, multiprogramming, storage management,
storage hierarchies, file maintenance
categories--3.73, 4.32
end--CA680503 JB February 23, 1978 9:44 AM
title--Dynamic Storage Allocation Systems
abstract--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.
journal--CACM May, 1968
author--Randell, B.; Kuehner, C. J.
keys--segmentation, paging, multiprogramming, storage allocation, storage
management, virtual memories, storage fragmentation, storage hierarchies,
addressing mechanisms
categories--4.30, 6.20
end--CA680502 JB February 23, 1978 9:49 AM
title--Proceedings of the ACM Symposium on Operating system Principles
abstract--
journal--CACM May, 1968
author--ACM Special Interest Committee
keys--
categories--
end--CA680501 JB February 23, 1978 9:56 AM
title--Hollerith Punched Card Code* (Proposed USA Standard)
abstract--
journal--CACM April, 1968
author--
keys--USA Standard, card code, punched card, punched card code, hole-patterns,
hole-patterns assignment, punched card systems
categories--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
end--CA680414 JB February 23, 1978 10:14 AM
title--Data Code for Calendar Date for Machine-to-Machine Data Interchange*
(Proposed USA Standard)
abstract--
journal--CACM April, 1968
author--
keys--USA Standard, data code, calendar date, machine-to-machine data
interchange, recording calendar date, data group identifier
categories--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
end--CA680413 JB February 23, 1978 10:18 AM
title--Symmetric Polynomials, (Algorithm 305 [C1])
abstract--
journal--CACM April, 1968
author--McKay, S.
keys--symmetric polynomials, symmetric sum, unitary symmetric functions, Schur
functions
categories--5.39
end--CA680412 JB February 23, 1978 10:19 AM
title--Transportation Problem (Algorithm 293 [H])
abstract--
journal--CACM April, 1968
author--Bayer, G.
keys--transportation problem, linear programming
categories--5.41
end--CA680411 JB February 23, 1978 10:20 AM
title--Normal Curve Integral (Algorithm 304 [S15])
abstract--
journal--CACM April, 1968
author--Bergson, A.
keys--normal curve integral, probability, special functions
categories--5.5, 5.12
end--CA680410 JB February 23, 1978 10:22 AM
title--Chi-Squared Integral (Algorithm 299 [S15])
abstract--
journal--CACM April, 1968
author--O'Brien, W. M.; Wood, J.
keys--chi-squared integral, probability, special functions
categories--5.5, 5.12
end--CA680409 JB February 23, 1978 10:24 AM
title--Dilogarithm (Algorithm 327 [S22])
abstract--
journal--CACM April, 1968
author--Kolbig, K. S.
keys--dilogarithm function, special functions
categories--5.12
end--CA680408 JB February 23, 1978 10:25 AM
title--Roots of Low-Order Polynomial Equations (Algorithm 326 [C2])
abstract--
journal--CACM April, 1968
author--Nonweiler, T. F.
keys--rootfinders, polynomial equation roots, quadratic equation roots, cubic
equation roots, biquadratic equation roots, polynomial zeros
categories--5.15
end--CA680407 JB February 23, 1978 10:27 AM
title--Panel Discussion on Computer Appreciation
abstract--Session 19 of the ACM 20th 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.
journal--CACM April, 1968
author--Organick, E. I.
keys--computer appreciation, students' liberal arts courses, survey courses,
beginning programming, course content, computer courses dropout rates, college
versus precollege, teaching and social responsibility
categories--1.1, 1.51, 1.52
end--CA680406 JB February 23, 1978 10:34 AM
title--Expenditures, Sources of Funds, and Utilization of Digital Computers
for Research and Instruction in Higher Education: 1964-65 with Projections for
1968-69
abstract--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.
journal--CACM April, 1968
author--Hamblen, J. W.
keys--computing centers, research, instruction, utilization, expenditures,
support, sources of funds, higher education, post secondary education,
colleges, universities
categories--1.52, 2.45
end--CA680405 JB February 23, 1978 11:07 AM
title--Quasilinearization and the Estimation of Differential Operators from
Eigenvalues
abstract--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.
journal--CACM April, 1968
author--Bellman, R. E.; Kagiwada, H. H.; Kalaba, R. E.; Vasudenvan, R.
keys--quasilinearization, eigenvalues, differential operators, nonlinear
boundary-value problems, inverse problems, differential equations, system
identification
categories--3.15, 3.17, 5.17
end--CA680404 JB February 23, 1978 11:12 AM
title--A General Purpose Graphic Language
abstract--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.
journal--CACM April, 1968
author--Kulsrud, H. E.
keys--graphic language, interactive, incremental compilation, language design,
metacompiler, syntax specified language
categories--4.12, 4.22
end--CA680403 JB February 23, 1978 11:17 AM
title--A Global Parser for Context-Free Phrase Structure Grammars
abstract--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.
journal--CACM April, 1968
author--Unger, S. H.
keys--parser, syntax-directed compiler, context-free grammars, syntactic
analysis, translators
categories--3.42, 4.12, 5.24
end--CA680402 JB February 23, 1978 11:27 AM
title--The Expanding World of Computers
abstract--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.
journal--CACM April, 1968
author--Harder, E. L.
keys--barriers, philosophy, developments, computer-aided design, problem-
oriented languages, data communication, education, computer science, forecast,
survey, introduction
categories--1.0, 1.3, 2.1, 3.24, 4.0, 6.20, 6.30
end--CA680401 JB February 23, 1978 11:36 AM
title--Rules of Ethics in Information Processing
abstract--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 history 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.
journal--CACM March, 1968
author--Parker, D. B.
keys--ethics, professional conduct, code of ethics, ACM guidelines,
professionalism, professional societies, unethical conduct
categories--1.3, 2.2
end--CA680302 JB February 23, 1978 11:41 AM
title--CURRICULUM 68 -- Recommendations for Academic Programs in Computer
Science -- A Report of the ACM Curriculum Committee on Computer science
abstract--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.
journal--CACM March, 1968
author--
keys--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
categories--1.52
end--CA680301 JB February 23, 1978 11:52 AM
title--USASCSOCR Dual Case Keyboard Arrangement* (Proposed USA Standard)
abstract--
journal--CACM February, 1968
author--
keys--
categories--
end--CA680210 JB February 23, 1978 11:54 AM
title--General Purpose Alphanumeric Keyboard Arrangement for Information
Interchange* (Proposed USA Standard)
abstract--
journal--CACM February, 1968
author--
keys--
categories--
end--CA680209 JB February 23, 1978 11:56 AM
title--Program Overlay Techniques
abstract--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.
journal--CACM February, 1968
author--Pankhurst, R. J.
keys--loaders, multiprogramming, overlay techniques, storage allocation and
segmentation
categories--4.39
end--CA680208 JB February 23, 1978 11:59 AM
title--Adjustment of the Inverse of a Symmetric Matrix when Two Symmetric
Elements are Changed (Algorithm 325 [F1])
abstract--
journal--CACM February, 1968
author--Zielke, G.
keys--symmetric matrix, matrix inverse, matrix perturbation, matrix
modification
categories--5.14
end--CA680207 JB February 23, 1978 12:01 PM
title--Maxflow (Algorithm 324 [H])
abstract--
journal--CACM February, 1968
author--Bayer, G.
keys--network, liner programing, maximum flow
categories--5.41
end--CA680206 JB February 23, 1978 12:02 PM
title--Generation of Permutations in Lexicographic Order (Algorithm 323 [G6])
abstract--
journal--CACM February, 1968
author--Ord-Smith, R. J.
keys--permutations, lexicographic order, lexicographic generation, permutation
generation
categories--5.39
end--CA680205 JB February 23, 1978 12:04 PM
title--F-Distribution (Algorithm 322 [S14])
abstract--
journal--CACM February, 1968
author--Dorrer, E.
keys--Fisher's F-distribution, Student's t-distribution
categories--5.5
end--CA680204 JB February 23, 1978 12:06 PM
title--t-Test Probabilities (Algorithm [S14])
abstract--
journal--CACM February, 1968
author--Morris, J.
keys--T-test, Student's t-statistic, distribution function
categories--5.5
end--CA680203 JB February 23, 1978 1:33 PM
title--Harmonic Analysis for Symmetrically Distributed Data (Algorithm 320
[C6])
abstract--
journal--CACM February, 1968
author--Hunter, D. B.
keys--harmonic analysis, cosine series, sine series, function approximation,
curve fitting, trigonometric series
categories--5.13
end--CA680202 JB February 23, 1978 1:34 PM
title--Translator Writing systems
abstract--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 postsyntactic (semantic) aspects of translator
writing are discussed in Section III, and several related topics in Section IV.
journal--CACM February, 1968
author--Feldman, J.; Gries, D.
keys--compiler, compiler-compiler, translator, translator writing systems,
metacompiler, syntax, semantics, syntax-directed, meta-assembler,
macroprocessor, parser, syntactic analysis, generator
categories--4.1, 4.10, 4.12, 4.22, 5.23
end--CA680201 JB February 23, 1978 2:02 PM
title--A Numerical Integration Formula Useful in Fourier Analysis
abstract--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.
journal--CACM January, 1968
author--Meisel, W. S.
keys--numerical integration, Fourier analysis, integration
categories--5.16
end--CA680112 JB February 23, 1978 2:05 PM
title--In-and-Out Conversions
abstract--By an 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.
journal--CACM January, 1968
author--Matula, D. W.
keys--floating-point numbers, significance, base conversion, rounding,
truncation
categories--3.15, 5.11
end--CA680111 JB February 23, 1978 2:14 PM
title--Practical Error Coefficients for Estimating Quadrature Errors for
Analytic Functions
abstract--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.
journal--CACM January, 1968
author--Rabinowitz, P.
keys--numerical integration, quadrature, truncation error, theoretical error
coefficients, practical error coefficients, integration analytical functions,
roundoff error
categories--5.11, 5.16
end--CA680110 JB February 23, 1978 2:22 PM
title--Scatter Storage Techniques
abstract--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.
journal--CACM January, 1968
author--Morris, R.
keys--scatter storage, hash addressing, searching, file searching, file
addressing, storage layout
categories--3.73, 3.74
end--CA680109 JB February 23, 1978 2:26 PM
title--An Improved Hash Code for Scatter Storage
abstract--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.
journal--CACM January, 1968
author--Maurer, W. D.
keys--hash code, hash table, scatter storage, searching
categories--3.74, 4.11, 4.12, 4.9
end--CA680108 JB February 23, 1978 2:31 PM
title--Use of Transition Matrices in Compiling
abstract--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.
journal--CACM January, 1968
author--Gries, D.
keys--transition matrices, compilation, translation, grammar, context-free
language, formal language, parsing
categories--4.12, 5.23
end--CA680107 JB February 23, 1978 2:35 PM
title--Toward a General Processor for Programming Languages
abstract--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 historical 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.
journal--CACM January, 1968
author--Halpern, M. J.
keys--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
categories--4.10, 4.11, 4.12, 4.20
end--CA680106 JB February 23, 1978 2:42 PM
title--Logarithm of Gamma Function (Algorithm 291 [S14])
abstract--
journal--CACM January, 1968
author--Hoare, M. R.
keys--
categories--
end--CA680104 JB February 23, 1978 2:45 PM
title--Muller's Method for Finding roots of an Arbitrary Function (Algorithm
196 [C5])
abstract--
journal--CACM January, 1968
author--Whitley, V. W.
keys--equation roots, function zeros
categories--5.15
end--CA680103 JB February 23, 1978 2:47 PM
title--Triangular Factors of Modified Matrices (Algorithm 319 [F1])
abstract--
journal--CACM January, 1968
author--Green, D. R.
keys--matrix decomposition, matrix factors, matrix modifier, matrix
perturbation
categories--5.14
end--CA680102 JB February 23, 1978 2:50 PM
title--Exploratory Experimental Studies Comparing Online and Offline
Programming Performance
abstract--Two exploratory experiments were conducted at System Development
Corporation to compare debugging performance of programmers working under
conditions of online and offline 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.
journal--CACM January, 1968
author--Sackman, H.; Erikson, W. J.; Grant, E. E.
keys--online vs. offline performance, programmer/computer communication,
programming experimental-empirical studies, programing 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
categories--2.40
end--CA680101 JB February 23, 1978 2:58 PM
title--Presentation of Alphameric Characters for Information Processing*
(Proposed American National Standard)
abstract--
journal--CACM December, 1969
author--
keys--alphameric, handwritten input, encoding transcription, numerals,
uppercase, handprinted
categories--2.43, 4.41
end--CA691219 JB February 15, 1978 1:55 PM
title--A Fast Random Number Generator for IBM 360
abstract--
journal--CACM December, 1969
author--Seraphin, D. S.
keys--pseudorandom number, modulus, period, float, normalization,
characteristic, chi-square test
categories--4.49, 5.19, 5.5
end--CA691218 JB February 15, 1978 1:58 PM
title--Optimal Code for Serial and Parallel Computation
abstract--
journal--CACM December, 1969
author--Fateman, R. J.
keys--code optimization, sequencing of operations, detection of common
subexpressions
categories--4.12
end--CA691217 JB February 15, 1978 1:59 PM
title--Index by Subject to Algorithms, 1969
abstract--
journal--CACM December, 1969
author--
keys--This 1969 index is the first supplement to the Index by Subject to
Algorithms, 1960 1968 (Comm. ACM 11, 12 (Dec. 1968), 827 830).
categories--
end--CA691216 JB February 15, 1978 2:03 PM
title--Solution of Linear programs in 0-1 (Algorithm 341 [H])
abstract--
journal--CACM December, 1969
author--Proll, L. G.
keys--linear programming, zero-one variables, partial enumeration
categories--5.41
end--CA691215 JB February 15, 1978 2:06 PM
title--Coulomb Wave Functions (Algorithm 300 [S22])
abstract--
journal--CACM December, 1969
author--Kolbig, K. S.
keys--Coulomb wave functions, wave functions, special functions, function
evaluation
categories--5.12
end--CA691214 JB February 15, 1978 2:08 PM
title--Elementary Functions by Continued Fractions (Algorithm 229 [B1])
abstract--
journal--CACM December, 1969
author--Bray, T. A.
keys--continued factions, Pade table
categories--5.19
end--CA691213 JB February 15, 1978 2:09 PM
title--PSIF (Algorithm 147 [S14])
abstract--
journal--CACM December, 1969
author--Parsons, R. G.
keys--gamma function, logarithmic derivative, factorial function, psi function
categories--5.12
end--CA691212 JB February 15, 1978 2:11 PM
title--Analysis of Variance for Balanced Experiments (Algorithm 367 [G2])
abstract--
journal--CACM December, 1969
author--Claringbold, P. J.
keys--analysis of variance, analysis of covariance, regression analysis,
experimental design, balanced experiment, missing data, interblock estimate,
intrablock estimate
categories--5.14, 5.5
end--CA691211 JB February 15, 1978 2:14 PM
title--Regression Using Certain Direct Product Matrices (Algorithm 366 [G2])
abstract--
journal--CACM December, 1969
author--Claringbold, P. J.
keys--analysis of variance, analysis of covariance, regression analysis,
experimental design, matrix direct product, protection operator, orthogonal
matrix
categories--5.14, 5.5
end--CA691210 JB February 15, 1978 2:23 PM
title--Complex Root Finding (Algorithm 365 [C5])
abstract--
journal--CACM December, 1969
author--Bach, H.
keys--downhill method, complex relaxation method, complex iteration, complex
equation, transcendental complex equation, algebraic complex equation
categories--5.15
end--CA691209 JB February 15, 1978 2:25 PM
title--Coloring Polygonal Regions (Algorithm 364 [Z])
abstract--
journal--CACM December, 1969
author--Herriot, R. G.
keys--coloring polygonal regions, coloring planar surfaces, drawing pictures,
shading enclosed regions
categories--4.9
end--CA691208 JB February 15, 1978 2:27 PM
title--Productivity of Multiprogrammed Computers-Progress in Developing an
Analytic Prediction Method
abstract--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.
journal--CACM December, 1969
author--Lasser, D. J.
keys--productivity, prediction, multiprogramming, simulation, equipment
evaluation, hardware, evaluation, monitor, operating system, system software,
supervisors, performance, time sharing, time slicing
categories--2.43, 2.44, 4.32
end--CA691207 JB February 15, 1978 2:47 PM
title--On the Downhill Method
abstract--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.
journal--CACM December, 1969
author--Bach, H.
keys--downhill method, complex relaxation method, complex iteration, complex
equation, transcendental complex equation, algebraic complex equation
categories--5.15
end--CA691206 JB February 15, 1978 2:54 PM
title--Optimization of Expressions in Fortran
abstract--A method of optimizing the computation of arithmetic and indexing
expressions of a Fortran progra 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.
journal--CACM December, 1969
author--Busam, V. A.; Englund, D. E.
keys--FORTRAN, optimization, expressions, compilers, compilation, subscripts,
register allocation, DO loops, common subexpressions, invariant calculations
categories--4.12
end--CA691205 JB February 15, 1978 4:16 PM
title--Advanced Cryptographic Techniques for Computers
abstract--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.
journal--CACM December, 1969
author--Van Tassel, D.
keys--cryptographic, crytanalysis, ciphers secrecy systems, security systems,
confidential information processing
categories--1.3, 2.12, 2.19, 3.73, 3.81, 4.41
end--CA691204 JB February 15, 1978 4:20 PM
title--Numerical Analysis in a Ph.D. Computer Science Program
abstract--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.
journal--CACM December, 1969
author--Parter, S. V.
keys--Ph.D. program, numerical analysis, course separation, education
categories--1.52
end--CA691203 JB February 15, 1978 4:25 PM
title--Is Automatic "Folding" of Programs Efficient Enough To Displace Manual?
abstract--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.
journal--CACM December, 1969
author--Sayre, D.
keys--paging, automatic paging, demand paging, folding, automatic folding,
storage hierarchies, memory hierarchies, replacement algorithms, performance,
measurement
categories--4.0, 4.19, 4.39, 6.20, 6.34
end--CA691202 JB February 15, 1978 4:33 PM
title--A Case Study in Programming for Parallel-Processors
abstract--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.
journal--CACM December, 1969
author--Rosenfeld, J. L.
keys--parallel-processor, parallelism, parallel programming, multiprocessor,
multiprogramming, tasking, storage interference, electrical network,
simulation, relaxation, Jacobi, Gauss-Seidel, convergence
categories--3.24, 4.9, 5.14, 5.17, 6.21
end--CA691201 JB February 15, 1978 4:45 PM
title--More on Fortran Random Number Generators
abstract--
journal--CACM November, 1969
author--Grosenbaugh, L. R.
keys--random number generation, Monte Carlo, simulation
categories--5.5
end--CA691118 JB February 15, 1978 11:57 AM
title--Generation of Permutations in Pseudo-Lexicographic Order (Algorithm 308
[G6])
abstract--
journal--CACM November, 1969
author--Ord-Smith, R. J.
keys--permutations, lexicographic order, lexicographic generation, permutation
generation
categories--5.39
end--CA691117 JB February 15, 1978 11:59 AM
title--Direct Search (Algorithm 178 [E4])
abstract--
journal--CACM November, 1969
author--Smith, L. B.
keys--function minimization, search, direct search
categories--5.19
end--CA691117 JB February 15, 1978 12:00 PM
title--Direct Search (Algorithm 178 [E4])
abstract--
journal--CACM November, 1969
author--Tomlin, F. K.; Smith, L. B.
keys--function minimization, search direct search
categories--5.19
end--CA691115 JB February 15, 1978 12:02 PM
title--Generalized Least Squares Fit By Orthogonal Polynomials (Algorithm 296
[E2])
abstract--
journal--CACM November, 1969
author--Watson, W. T.
keys--least squares, curve fitting, orthogonal polynomials, three-term
recurrence, polynomial regression, approximation, Forsythe's method
categories--5.13, 5.5
end--CA691114 JB February 15, 1978 12:06 PM
title--Computation of Fourier Coefficients (Algorithm 255 [C6])
abstract--
journal--CACM November, 1969
author--Hall, G.; Ray, V. A.
keys--numerical integration, Fourier coefficients, Filon's method
categories--5.16
end--CA691113 JB February 15, 1978 12:08 PM
title--Associated Legendre Functions of the First Kind for Real or Imaginary
Arguments (Algorithm 47 [S16])
abstract--
journal--CACM November, 1969
author--Cobb, S. M.
keys--Legendre function, associated Legendre function, real or imaginary
arguments
categories--5.12
end--CA691112 JB February 15, 1978 12:11 PM
title--Complex Error Function (Algorithm 363 [S15])
abstract--
journal--CACM November, 1969
author--Gautschi, W.
keys--error function for complex argument, Voigt function, Laplace continued
fraction, Gauss-Hermite quadrature, recursive computation
categories--5.12
end--CA691111 JB February 15, 1978 12:13 PM
title--Generation of Random Permutations (Algorithm 362 [G6])
abstract--
journal--CACM November, 1969
author--Robson, J. M.
keys--permutation, random permutation, transposition
categories--5.5
end--CA691110 JB February 15, 1978 12:15 PM
title--Permanent Function of a Square Matrix I and II (Algorithm 361 [G6])
abstract--
journal--CACM November, 1969
author--Shriver, B.; Eberlein, P. J.; Dixon, R. D.
keys--matrix, permanent, determinant
categories--5.30
end--CA691109 JB February 15, 1978 12:18 PM
title--Shortest-Path Forest with Topological Ordering (Algorithm [H])
abstract--
journal--CACM November, 1969
author--Dial, R. B.
keys--shortest path, tree, network, directed graph
categories--5.32, 5.42
end--CA691108 JB February 15, 1978 12:21 PM
title--Factorial Analysis of Variance (Algorithm [G1])
abstract--
journal--CACM November, 1969
author--Howell, J. R.
keys--factorial variance analysis, variance, statistical analysis
categories--5.5
end--CA691107 JB February 15, 1978 12:22 PM
title--APAREL-A Parse-Request Language
abstract--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.
journal--CACM November, 1969
author--Balzer, R. M.; Farber, D. J.
keys--text processing, string processing, symbol manipulation, PL/I, BNF,
syntax, parser, translator, pattern matching
categories--4.12, 4.13, 4.20, 4.22, 4.29
end--CA691106 JB February 15, 1978 12:44 PM
title--A Practical Method for Constructing LR(k) Processors
abstract--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.
journal--CACM November, 1969
author--Korenjak, A. J.
keys--LR(k) grammar, syntactic analysis, parser, deterministic language, syntax-
directed compiler, language processor, context-free language ALGOL
categories--4.12, 5.2, 5.23
end--CA691105 JB February 15, 1978 12:52 PM
title--A LISP Garbage-Collector for Virtual-Memory Computer Systems
abstract--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.
journal--CACM November, 1969
author--Fenichel, R. R.; Yochelson, J. C.
keys--garbage-collector, virtual memory, list-processing, storage-allocation
categories--4.19, 4.49
end--CA691104 JB February 15, 1978 12:57 PM
title--Performance Monitoring in a Time-Sharing System
abstract--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.
journal--CACM November, 1969
author--Pinkerton, T. B.
keys--performance monitoring, performance measurement, program behavior,
performance data, multiprogramming performance, software measurement, time-
sharing performance, system evaluation, software monitor, software
instrumentation
categories--4.31, 4.32, 4.39, 4.42, 4.43
end--CA691103 JB February 15, 1978 1:07 PM
title--Synchronization in a Parallel-Accessed Data Base
abstract--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.
journal--CACM November, 1969
author--Shoshani, A.; Bernstein, A. J.
keys--parallel accessing, parallel search, file search, data base,
synchronization, locking, deadlock
categories--3.73, 3.74, 4.32
end--CA691102 JB February 15, 1978 1:13 PM
title--An Interactive Graphical Display Monitor in a Batch-Processing
Environment with Remote Entry
abstract--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.
journal--CACM November, 1969
author--Bond, A. H.; Rightnour, J.
keys--graphic monitor, man/machine interaction, graphic interface, graphic in
batch environment, design of graphical system
categories--4.30, 4.31,4.39, 4.41
end--CA691101 JB February 15, 1978 1:22 PM
title--Retrieval Times for a Packed Direct Access Inverted File
abstract--
journal--CACM October, 1969
author--Bayes, A. J.
keys--information retrieval, direct access memory, data base, inverted list
categories--3.70, 4.41
end--CA691016 JB February 15, 1978 1:27 PM
title--A Comment on Optimal Tree Structures
abstract--
journal--CACM October, 1969
author--Stanfel, L. E.
keys--information retrieval, file searching, tree structures, double chaining
categories--3.70, 3.73, 3.74
end--CA691015 JB February 15, 1978 1:31 PM
title--Minimax Logarithmic Error
abstract--
journal--CACM October, 1969
author--Dunham, C. B.
keys--logarithmic error, transformed rational approximation, square root
categories--5.10
end--CA691014 JB February 15, 1978 1:38 PM
title--An Ambiguity in the Description of ALGOL 60
abstract--
journal--CACM October, 1969
author--Herriot, J. G.
keys--Ising problem, zero-one sequences
categories--5.39
end--CA691013 JB February 15, 1978 1:40 PM
title--An Axiomatic Basis for Computer Programming
abstract--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.
journal--CACM October, 1969
author--Hoare, C. A. R.
keys--axiomatic method, theory of programming, proofs of programs, formal
language definition, programming language design, machine-independent
programming, program documentation
categories--4.0, 4.21, 4.22, 5.20, 5.21, 5.23, 5.24
end--CA691012 JB February 15, 1978 1:48 PM
title--The IITRAN Programming Language
abstract--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.
journal--CACM October, 1969
author--Dewar, R. B. K.; Hochsprung, R. R.
keys--languages programming languages, student programming systems, language
design, high school programs, college courses
categories--1.51, 1.52, 4.12, 4.22
end--CA691011 JB February 15, 1978 1:54 PM
title--A New Method for Determining Linear Precedence Functions for Precedence
Grammars
abstract--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.
journal--CACM October, 1969
author--Bell, J. R.
keys--Boolean matrices, syntax, precedence grammar context-free parsing,
transition matrix, precedence functions
categories--4.12
end--CA691010 JB February 15, 1978 3:13 PM
title--An Algol Convolution Procedure Based on the Fast Fourier Transform
(Algorithm 345 [C6])
abstract--
journal--CACM October, 1969
author--Singleton, R. C.
keys--fast Fourier transform, complex Fourier transform, multivariate Fourier
transform, Fourier series, harmonic analysis, spectral analysis, orthogonal
polynomials, orthogonal transformation, convolution, autocovariance,
autocorrelation, cross-correlation, digital filtering, permutation
categories--3.15, 3.83, 5.12, 5.14
end--CA691009 JB February 15, 1978 3:17 PM
title--Normal Curve Integral (Algorithm 304 [S15])
abstract--
journal--CACM October, 1969
author--Adams, A. G.
keys--normal curve integral, probability, special functions
categories--5.5, 5.12
end--CA691008 JB February 15, 1978 3:19 PM
title--Singular Value Decomposition of a Complex Matrix (Algorithm 358 [F1, 4,
5])
abstract--
journal--CACM October, 1969
author--Businger, P. A.; Goulub, G. H.
keys--singular values, matrix decomposition, least squares solution,
pseudoinverse
categories--5.14
end--CA691007 JB February 15, 1978 3:22 PM
title--An Efficient Prime Number Generator (Algorithm 357 [A1])
abstract--
journal--CACM October, 1969
author--Singleton, R. C.
keys--prime numbers, factoring, number theory
categories--3.15, 5.30
end--CA691006 JB February 15, 1978 3:23 PM
title--A Prime Number Generator Using The Treesort Principle (Algorithm 356
[A1])
abstract--
journal--CACM October, 1969
author--Singleton, R. C.
keys--prime numbers, number theory, sorting
categories--3.15, 5.30, 5.31
end--CA691005 JB February 15, 1978 3:25 PM
title--An Algorithm for Generating Ising Configurations (Algorithm 355 [Z])
abstract--
journal--CACM October, 1969
author--Simoes, J. M. S.
keys--Ising problem, zero-one sequences
categories--5.39
end--CA691004 JB February 15, 1978 3:27 PM
title--The Choice of Base
abstract--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.
journal--CACM October, 1969
author--Brown, W. S.; Richman, P. L.
keys--floating-point, accuracy, base choice, number representations
categories--5.11, 6.32
end--CA691003 JB February 15, 1978 3:33 PM
title--A Modular Computer Sharing System
abstract--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.
journal--CACM October, 1969
author--Baskin, H. B.; Horowitz, E. B.; Tennison, R. D.; Rittenhouse, L. E.
keys--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
categories--6.21
end--CA691002 JB February 15, 1978 3:52 PM
title--Loader Standardization for Overlay Programs
abstract--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.
journal--CACM October, 1969
author--Lanzano, B. C.
keys--loader, overlay, partition, region, segmentation, linkage, linkage
editor, standardization, memory utilization, memory occupation, tree structure,
CDC-6000, GE-635, IBM-360, UNIVAC-1108
categories--4.10, 4.12, 4.19, 4.40
end--CA691001 JB February 15, 1978 4:09 PM
title--On Simulating Networks of Parallel Processes in Which Simultaneous
Events May Occur
abstract--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.
journal--CACM September, 1969
author--Parnas, D. L.
keys--simulation, parallel processes, simultaneous events, picture processing,
computer system simulation
categories--3.19, 3.24, 4.24, 5.9, 6.9
end--CA690910 JB February 15, 1978 4:21 PM
title--An Algorithm for Finding a Fundamental Set of Cycles of a Graph
abstract--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. Tests show our algorithm to be remarkably efficient (g=2)
on random graphs.
journal--CACM September, 1969
author--Paton, K.
keys--fundamental cycle set, graph, algorithm, cycle, spanning tree
categories--5.32
end--CA690909 JB February 15, 1978 4:29 PM
title--The Damped Taylor's Series Method for Minimizing a Sum of Squares and
for Solving Systems of Nonlinear Equations (Algorithm 315 [E4, C5])
abstract--
journal--CACM September, 1969
author--Silverman, G.
keys--solution of equations, least squares approximation, Newton's method
categories--5.13, 5.14, 5.15
end--CA690907 JB February 15, 1978 4:32 PM
title--Function Minimization (Algorithm 251 [E4])
abstract--
journal--CACM September, 1969
author--Hamilton, P. A.; Boothroyd, J.
keys--function minimization
categories--5.19
end--CA690906 JB February 15, 1978 4:38 PM
title--Generation of Permutations in Lexicographic Order (Algorithm 323 [G6])
abstract--
journal--CACM September, 1969
author--Leitch, I. M.
keys--permutations, direct lexicographic order, reverse lexicographic order,
lexicographic generation
categories--5.39
end--CA690905 JB February 15, 1978 4:48 PM
title--Generator of Spanning Trees (Algorithms 354 [H])
abstract--
journal--CACM September, 1969
author--McIlroy, M. D.
keys--spanning trees, trees, graphs
categories--5.32
end--CA690904 JB February 15, 1978 4:50 PM
title--A Base for a Mobile Programming System
abstract--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.
journal--CACM September, 1969
author--Orgass, R. J.; Waite, W. M.
keys--bootstrapping, macro processing, machine independence, programming
languages, implementation techniques
categories--4.12, 4.22
end--CA690903 JB February 15, 1978 4:54 PM
title--Compact List Representation: Definition, Garbage Collection, and System
Implementation
abstract--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.
journal--CACM September, 1969
author--Hansen, W. J.
keys--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
categories--3.49, 4.20, 4.22, 4.49, 4.9
end--CA690902 JB February 15, 1978 5:01 PM
title--On Multiprogramming, Machine Coding, and Computer Organization
abstract--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.
journal--CACM September, 1969
author--Wirth, N.
keys--multiprogramming, parallelism, interrupt, input-output, computer
organization, file handling, PL360
categories--4.21, 4.22, 4.32, 4.41, 6.21
end--CA690901 JB February 15, 1978 5:14 PM
title--A Program for the Syntactic Analysis of English Sentences
abstract--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.
journal--CACM August, 1969
author--Dewar, H.; Bratley, P.
keys--syntactic analysis, language processing, language analysis, parsing,
analysis procedure, recognition procedure, English sentences, linguistics,
psycholinguistics, transformational grammar, limited dictionary, predictive
analysis
categories--3.42, 3.36
end--CA690808 JB February 15, 1978 5:24 PM
title--The Teachable Language Comprehender: A Simulation Program and Theory
of Language
abstract--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.
journal--CACM August, 1969
author--Quillian, M. R.
keys--natural language processing, natural language comprehension, teachable
computer program, psychological simulation, human memory simulation, computer
linguistics, linguistic performance theory
categories--3.36, 3.42, 3.62, 3.65, 3.74
end--CA690807 JB February 15, 1978 5:46 PM
title--Filon Quadrature (Algorithm [D1])
abstract--
journal--CACM August, 1969
author--Chase, S. M.; Fosdick, L. D.
keys--quadrature, Filon quadrature, integration, Filon integration, Fourier
coefficients, Fourier series
categories--5.16
end--CA690806 JB February 15, 1978 5:52 PM
title--An Algorithm for Filon Quadrature
abstract--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.
journal--CACM August, 1969
author--Chase, S. M.; Fosdick, L. D.
keys--quadrature, Filon quadrature, integration, Filon integration, Fourier
coefficients, Fourier series
categories--5.16
end--CA690805 JB February 15, 1978 5:55 PM
title--Error Bounds for Periodic Quintic Splines
abstract--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.
journal--CACM August, 1969
author--Hall, C. A.
keys--spline, interpolation, error bounds
categories--5.1, 5.13
end--CA690804 JB February 15, 1978 5:58 PM
title--An Algol-Based Associative Language
abstract--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.
journal--CACM August, 1969
author--Feldman, J. A.
keys--ALGOL, associative, programming language, data structure
categories--4.22
end--CA690803 JB February 15, 1978 6:02 PM
title--The MAD Definition Facility
abstract--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.
journal--CACM August, 1969
author--Arden, B. W.; Galler, B. A.; Graham, R. M.
keys--MAD, definitions, operators, macros, higher level language
categories--4.12, 4.22
end--CA690802 JB February 15, 1978 6:07 PM
title--Computing Capabilities at Argentine and Chilean Universities
abstract--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.
journal--CACM August, 1969
author--Finerman, A.
keys--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
categories--1.52, 2.0, 2.45
end--CA690801 JB February 15, 1978 6:21 PM
title--Minit Algorithm for Linear Programming (Algorithm 333 [H])
abstract--
journal--CACM July, 1969
author--Messham, D. K.
keys--linear programming, dual simplex method, primal problem, dual problem
categories--5.41
end--CA690717 JB February 15, 1978 6:23 PM
title--Generation of Hilbert Derived Test Matrix (Algorithm 274 [F1])
abstract--
journal--CACM July, 1969
author--Boothroyd, J.
keys--test matrix, Hilbert matrix
categories--5.14
end--CA690716 JB February 15, 1978 6:25 PM
title--Algol 60 Reference Language Editor (Algorithm 268 [R2])
abstract--
journal--CACM July, 1969
author--Sauer, G.
keys--symbol manipulation
categories--4.49
end--CA690715 JB February 15, 1978 6:26 PM
title--Characteristic Values and Associated Solutions of Mathieu's
Differential Equation (Algorithm 352 [S22])
abstract--
journal--CACM July, 1969
author--Clemm, D. S.
keys--Mathieu's differential equation, Mathieu function, characteristic value,
periodic solution, radial solution
categories--5.12
end--CA690714 JB February 15, 1978 6:30 PM
title--On the Expected Lengths of Sequences Generated in Sorting by
Replacement Selecting
abstract--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.
journal--CACM July, 1969
author--Hooker, W. W.
keys--replacement selecting, sorting, sequence lengths, asymptotic expected
length, recursion relation, generating function, meromorphic function
categories--3.74, 5.31
end--CA690713 JB February 15, 1978 6:37 PM
title--On Obtaining Correct Input: A New Approach
abstract--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 keyverified 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.
journal--CACM July, 1969
author--Kennedy, M.
keys--correct data, correct input, data correction, keypunch, keyverifier,
verifier
categories--2.40, 2.42, 2.43, 3.10, 3.20, 3.50, 4.41
end--CA690712 JB February 15, 1978 6:43 PM
title--Block Structures, Indirect Addressing, and Garbage Collection
abstract--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.
journal--CACM July, 1969
author--Kain, R. Y.
keys--block structures, indirect addressing, garbage collection, local names,
SNOBOL
categories--4.22
end--CA690711 JB February 15, 1978 6:49 PM
title--Some Techniques for Using Pseudorandom Numbers in Computer Simulation
abstract--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.
journal--CACM July, 1969
author--Donnelly, T.
keys--random numbers, simulation, Boolean algebra, bit manipulation
categories--5.19, 5.39
end--CA690710 JB February 17, 1978 8:54 AM
title--Automatic Contour Map
abstract--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.
journal--CACM July, 1969
author--Cottafava, G.; LeMoli, G.
keys--contour map, level lines, digital plotting, function scanning
categories--3.10, 3.13, 3.14, 3.16, 3.20, 3.24
end--CA690709 JB February 17, 1978 8:59 AM
title--Chebyshev Interpolation and Quadrature Formulas of Very High Degree
(Errata)
abstract--
journal--CACM July, 1969
author--Salzer, H. E.
keys--
categories--
end--CA690708 JB February 17, 1978 9:01 AM
title--Accelerating LP Algorithms
abstract--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.
journal--CACM July, 1969
author--Fox, B. L.
keys--linear programming, revised simplex method, multiple pricing, inner
product
categories--5.19, 5.41
end--CA690707 JB February 17, 1978 9:08 AM
title--Generating Pseudorandom Numbers on a Two's Complement Machine such as
the IBM 360
abstract--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.
journal--CACM July, 1969
author--Hemmerle, W. J.
keys--random number, uniform distribution, pseudo-random number, random number
generator, multiplicative congruential generator, power residue, two's
complement arithmetic, IBM 360 arithmetic
categories--3.15, 5.5, 6.32
end--CA690706 JB February 17, 1978 9:17 AM
title--Polynomial and Spline Approximation by Quadratic Programming
abstract--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.
journal--CACM July, 1969
author--Amos, D. E.; Slater, M. L.
keys--constant sign derivatives, Bernstein polynomials, linear concavity
constraints, quadratic programming splines
categories--5.13, 5.41
end--CA690705 JB February 17, 1978 9:22 AM
title--Generation of Test Matrices Having Certain Sign Patterns and
Prescribed Positive Spectra
abstract--A class of orthogonal transformations is presented whose members
transform a given positive diagonal matrix into a matrix having one of four
journal--CACM July, 1969
author--
keys--test matrices, positive matrices, sign patterns, orthogonal
transformations, positive eigenvalues
categories--5.1, 5.14
end--CA690704 JB February 17, 1978 9:26 AM
title--Prevention of System Deadlocks
abstract--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.
journal--CACM July, 1969
author--
keys--multiprogramming, time-sharing, scheduling, resource allocation
categories--3.72, 4.32, 6.20
end--CA690703 JB February 17, 1978 9:33 AM
title--Recovery of Reentrant List Structures in SLIP
abstract--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
journal--CACM July, 1969
author--
keys--list processing, SLIP, garbage-collection
categories--4.22, 4.40
end--CA690702 JB February 17, 1978 9:39 AM
title--A Note on Storage Fragmentation and Program Segmentation
abstract--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.
journal--CACM July, 1969
author--Randell, B.
keys--storage allocation, storage fragmentation, paging, segmentation,
addressing
categories--6.2, 6.20
end--CA690701 JB February 17, 1978 9:46 AM
title--Chebyshev Solution to an Overdetermined Linear System (Algorithm 328
[F4])
abstract--
journal--CACM June, 1969
author--Golub, G. H.
keys--Chebyshev solutions, over-determined linear systems, linear equations,
exchange algorithm
categories--5.13, 5.14, 5.41
end--CA690613 JB February 17, 1978 9:49 AM
title--Transpose Vector Stored Array (Algorithm 302 [K2])
abstract--
journal--CACM June, 1969
author--MacLeod, I. D. G.
keys--matrix transposition, array transposition, vector stored array
categories--5.39
end--CA690612 JB February 17, 1978 9:51 AM
title--Determination of the Square Root of a Positive Definite Matrix
(Algorithm 298 [F1])
abstract--
journal--CACM June, 1969
author--Duke, B. J.
keys--matrix, symmetric matrix, positive definite matrix, matrix square root
categories--5.14
end--CA690611 JB February 17, 1978 9:53 AM
title--Modified Romberg Quadrature (Algorithm [D1])
abstract--
journal--CACM June, 1969
author--Fairweather, G.
keys--numerical integration, Romberg quadrature, trapezoid values, rectangle
values, error bound
categories--5.16
end--CA690610 JB February 17, 1978 9:55 AM
title--An Anomaly in Space-Time Characteristics of Certain Programs Running in
a Paging Machine
abstract--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.
journal--CACM June, 1969
author--Belady, L. A.; Nelson, R. A.; Shedler, G. S.
keys--paging machines, demand paging, replacement algorithm
categories--4.30
end--CA690609 JB February 17, 1978 9:59 AM
title--A Computer System for Transformational Grammar
abstract--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.
journal--CACM June, 1969
author--Friedman, J.
keys--transformational grammar, natural language syntax, language processing,
language analysis, sentence generation, lexical insertion, computational
linguistics, syntax
categories--3.42
end--CA690608 JB February 17, 1978 10:36 AM
title--Generation of Optimal Code for Expressions via Factorization
abstract--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.
journal--CACM June, 1969
author--Breuer, M. A.
keys--factorization algorithms, code optimization, sequencing of operations,
detection of common subexpressions, factorization of Boolean expressions
categories--4.12, 6.1
end--CA690607 JB February 17, 1978 10:57 AM
title--A Recursive Relation for the Determinant of a Pentadiagonal Matrix
abstract--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.
journal--CACM June, 1969
author--Sweet, R. A.
keys--pentadiagonal matrix, quidiagonal matrix, quindiagonal matrix, band
matrix, determinant, characteristic polynomial, eigenvalues
categories--5.14
end--CA690606 JB February 17, 1978 11:00 AM
title--Spline Function Methods for Nonlinear Boundary-Value Problems
abstract--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.
journal--CACM June, 1969
author--Blue, J. L.
keys--boundary value problems, differential equations, finite differences,
functional approximation, iterative methods, nonlinear equations, spline
functions
categories--5.13, 5.15, 5.17
end--CA690605 JB February 17, 1978 11:07 AM
title--Introducing Computing to Smaller Colleges and Universities -- A
Progress Report
abstract--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.
journal--CACM June, 1969
author--Parker Jr., L. T.; Gallie, T. M.; Brooks Jr., F. P.; Ferrel, J. K.
keys--regional network, introducing computing, under-graduate education,
instructional usage, academic applications, curriculum development, orientation
project, regional center, consortium, remote computing
categories--1.50, 1.52, 1.59, 2.49
end--CA690604 JB February 17, 1978 11:21 AM
title--Simulation of Traffic Flows in a Network
abstract--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.
journal--June, 1969
author--Sakai, T.; Nagao, M.
keys--traffic simulation, traffic flow, traffic network traffic control,
traffic density, intersection, signal setting, vehicle, road network, list
structure, computer simulation
categories--3.57, 3.23
end--CA690603 JB February 17, 1978 1:26 PM
title--Three-Dimensional Computer Display
abstract--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.
journal--CACM June, 1969
author--Ophir, D.; Shepherd, B. J.; Spinrad, R. J.
keys--computer graphics, three-dimensional display, swept raster display,
interactive stereographic terminal, video map, color separation
categories--2.0, 4.49, 6.35
end--CA690602 JB February 17, 1978 1:34 PM
title--Degree of Multiprogramming in Page-on-Demand Systems
abstract--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.
journal--CACM June, 1969
author--Wallace, V. L.; Mason, D. L.
keys--page-on-demand, demand paging, time-sharing multiprogramming, Markovian
computer models, scheduling strategies, operating systems, memory management
categories--2.44, 4.32, 4.39, 6.20, 6.21
end--CA690601 JB February 17, 1978 1:43 PM
title--Roots of Polynomials by a Root-Squaring and Resultant routine
(Algorithm 340 [C2])
abstract--
journal--CACM May, 1969
author--Noltemeier, A.
keys--rootfinders, roots of polynomial equations, polynomial zeros, root-
squaring operations, Graeffe method, resultant procedure, subresultant
procedure, testing of roots, acceptance criteria
categories--5.15
end--CA690517 JB February 17, 1978 2:29 PM
title--Normal Random Deviates (Algorithm 334 [G5])
abstract--
journal--CACM May, 1969
author--Knop, R.
keys--normal deviates, normal distribution, random number, random number
generator, simulation, probability distribution, frequency distribution, random
categories--5.13, 5.5
end--CA690516 JB February 17, 1978 2:31 PM
title--Gaussian Quadrature Formulas (Algorithm 331 [D1])
abstract--
journal--CACM May, 1969
author--Hill, I. D.
keys--quadrature, Gaussian quadrature, numerical integration, weight function,
orthogonal polynomials
categories--5.16
end--CA690514 JB February 17, 1978 3:13 PM
title--Regular Coulomb Wave Functions (Algorithm 292 S22])
abstract--
journal--CACM May, 1969
author--Gautschi, W.
keys--Coulomb wave functions, wave functions, regular Coulomb wave functions
categories--5.12
end--CA690513 JB February 17, 1978 3:15 PM
title--Coulomb Wave Functions (Algorithm 300 [S22])
abstract--
journal--CACM May, 1969
author--Kolbig, K. S.
keys--Coulomb wave functions, wave functions
categories--5.12
end--CA690512 JB February 17, 1978 3:17 PM
title--Regular Coulomb Wave Functions (Algorithm 292 [S22])
abstract--
journal--CACM May, 1969
author--Kolbig, K. S.
keys--Coulomb wave functions, wave functions, regular Coulomb wave functions
categories--5.12
end--CA690511 JB February 17, 1978 3:19 PM
title--Simplex Method Procedure Employing Lu Decomposition (Algorithm 350 [H])
abstract--
journal--CACM May, 1969
author--Bartels, R. H.; Golub, G. H.
keys--simplex method, linear programming, LU decomposition, round-off errors,
computational stability
categories--5.41
end--CA690510 JB February 17, 1978 3:21 PM
title--Clarification of Fortran Standards-Initial Progress
abstract--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.
journal--CACM May, 1969
author--
keys--USA Standard, FORTRAN, Basic FORTRAN, programming language,
standardization, language standard specification, language standard
maintenance, language standard clarification, language standard interpretation,
standardization committee
categories--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
end--CA690509 JB February 17, 1978 3:26 PM
title--Dynamic Space-Sharing in Computer Systems
abstract--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.
journal--CACM May, 1969
author--Belady, L. A.; Kuehner, C. J.
keys--space-sharing, storage allocation, memory allocation, storage management,
memory management, program behavior, multiprogramming, computer system design,
allocation strategies, replacement strategies, demand-paging, time-sharing
categories--4.32, 6.2, 6.20
end--CA690508 JB February 17, 1978 3:31 PM
title--An Automatic Grading Scheme for Simple Programming Exercises
abstract--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.
journal--CACM May, 1969
author--Hext, J. B.; Winings, J. W.
keys--automatic grading program, programming exercises
categories--1.5, 2.43, 4.39
end--CA690507 JB February 17, 1978 3:35 PM
title--Chebyshev Interpolation and Quadrature Formulas of Very High Degree
abstract--
journal--CACM May, 1969
author--Salzer, H. E.
keys--Chebyshev polynomials, Chebyshev interpolation, Chebyshev quadrature,
Chebyshev points, Chebyshev zeros, interpolation, quadrature, definite
integrals
categories--5.13, 5.16
end--CA690506 JB February 17, 1978 3:42 PM
title--Rough and Ready Error Estimates in Gaussian Integration of Analytic
Functions
abstract--
journal--CACM May, 1969
author--Rabinowitz, P.
keys--numerical integration, analytic functions, error estimates, Gaussian
integration, tabulated error coefficients, computable error coefficients,
Cauchy integral formula, Chebyshev polynomials
categories--5.11, 5.16
end--CA690505 JB February 17, 1978 3:44 PM
title--The Simplex Method of Linear Programming Using LU Decomposition
abstract--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.
journal--CACM May, 1969
author--Bartels, R. H.; Goulub, G. H.
keys--simplex method, linear programming, LU decomposition, round-off errors,
computational stability
categories--5.41
end--CA690504 JB February 17, 1978 3:49 PM
title--Automated Printed Circuit Routing with a Stepping Aperture
abstract--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.
journal--CACM May, 1969
author--Lass, S. E.
keys--routing, printed circuit, interconnections, aperture, stepping aperture,
computer program, circuit board, lines, vias, pins
categories--3.24, 6.30
end--CA690503 JB February 17, 1978 3:57 PM
title--A Note on Reliable Full-Duplex Transmission over Half-Duplex Links
abstract--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.
journal--CACM May, 1969
author--Bartlett, K. A.; Scantlebury, R. A.
keys--data transmission, error correction, full-duplex, half-duplex,
transmission control, communications
categories--3.81
end--CA690502 JB February 17, 1978 4:01 PM
title--Time-Sharing and Batch-Processing: An Experimental Comparison of Their
Values in a Problem - Solving Situation
abstract--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.
journal--CACM May, 1969
author--Gold, M. M.
keys--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
categories--2.11, 2.40, 3.36, 3.51, 3.80
end--CA690501 JB February 17, 1978 4:10 PM
title--Computation of Jn(x) by Numerical Integration
abstract--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.
journal--CACM April, 1969
author--Stroud, A. H.; Kohli, J. P.
keys--Bessel Function, numerical integration, trapezoidal rule
categories--5.11, 5.12, 5.16
end--CA690408 JB February 17, 1978 4:13 PM
title--An Algorithm for Solving a Special Class of Tridiagonal Systems of
Linear Equations
abstract--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.
journal--CACM April, 1969
author--Rose, D. J.
keys--tridiagonal, Gaussian elimination, central difference
categories--5.14, 5.17
end--CA690407 JB February 17, 1978 4:18 PM
title--On Coordination Reduction and Sentence Analysis
abstract--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.
journal--CACM April, 1969
author--Petrick, S. R.; Postal, P. M.; Rosenbaum, P. S.
keys--natural languages, generative grammar, transformational theory, syntax,
coordination, sentence coordination, sentence coordination, coordination
reduction, syntactic analysis, grammar testing program, rule testing
categories--3.42
end--CA690406 JB February 17, 1978 4:25 PM
title--Simulation of Outpatient Appointment Systems
abstract--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.
journal--CACM April, 1969
author--Katz, J. H.
keys--simulation, scheduling, appointment system, outpatient department,
medicine, health, management science, operations research
categories--3.34, 3.59
end--CA690405 JB February 17, 1978 4:32 PM
title--Polygamma Functions with Arbitrary Precision (Algorithm 349 [S14])
abstract--
journal--CACM April, 1969
author--Schwachheim, G.
keys--polygamma function, psi function, digamma function, trigamma function,
tetragamma function, pentagamma function, special functions
categories--5.12
end--CA690404 JB February 17, 1978 4:36 PM
title--Matrix Scaling by Integer Programming (Algorithm 348 [F1])
abstract--
journal--CACM April, 1969
author--Klimpel, R. R.
keys--integer programming, linear algebra, mathematical programming, matrix
condition, matrix scaling
categories--5.14, 5.41
end--CA690403 JB February 17, 1978 4:38 PM
title--An Algorithm for Hidden Line Elimination
abstract--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.
journal--CACM April, 1969
author--Galimberti, R.; Montanari, U.
keys--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
categories--4.40, 4.41, 4.49
end--CA690402 JB February 17, 1978 4:44 PM
title--Analysis of Boolean Program Models for Time-Shared, Paged Environments
abstract--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.
journal--CACM April, 1969
author--Lowe, T. C.
keys--time-sharing, paging, segmentation, executive, compiler, monitor, program
model
categories--4.39, 6.21
end--CA690401 JB February 17, 1978 4:50 PM
title--An Algol Procedure for the Fast Fourier Transform with Arbitrary
Factors (Algorithm 339 [C6])
abstract--
journal--CACM March, 1969
author--Singleton, R. C.
keys--fast Fourier transform, complex Fourier transform, multivariate Fourier
transform, Fourier series, harmonic analysis, spectral analysis, orthogonal
polynomials, orthogonal transformation, virtual core memory, permutation
categories--3.15, 3.83, 5.12, 5.14
end--CA690310 JB February 20, 1978 8:43 AM
title--Distribution of Indistinguishable Objects into Distinguishable Slots
(Algorithm 329 [G6])
abstract--
journal--CACM March, 1969
author--Gray, M.
keys--
categories--
end--CA690309 JB February 20, 1978 8:46 AM
title--An Efficient Algorithm for Sorting with Minimal Storage (Algorithm 347
[M1])
abstract--
journal--CACM March, 1969
author--Singleton, R. C.
keys--sorting, minimal storage sorting, digital computer sorting
categories--5.31
end--CA690308 JB February 20, 1978 8:48 AM
title--F-Test Probabilities (Algorithm 346 [S14])
abstract--
journal--CACM March, 1969
author--Morris, J.
keys--F-test, Snedecor F-statistic, Fisher Test, distribution function
categories--5.5
end--CA690307 JB February 20, 1978 8:50 AM
title--An Algol Convolution Procedure Based on the Fast Fourier Transform
(Algorithm 345 [C6])
abstract--
journal--CACM March, 1969
author--Singleton, R. C.
keys--fast Fourier transform, complex Fourier transform, multivariate Fourier
transform, Fourier series, harmonic analysis, spectral analysis, orthogonal
polynomials, orthogonal transformation, convolution, autocovariance,
autocorrelation, cross-correlation, digital filtering, permutation
categories--3.5, 3.83, 5.12, 5.14
end--CA690306 JB February 20, 1978 8:54 AM
title--Proposed USA Standard (Data Communication Control Procedures for the
USA Standarad Code for Information Interchange)
abstract--
journal--CACM March, 1969
author--
keys--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
categories--3.81, 4.49, 6.39
end--CA690305 JB February 20, 1978 9:09 AM
title--Pseudofiles
abstract--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.
journal--CACM March, 1969
author--Rosin, R. F.
keys--operating systems, interfaces input-output, high level languages, command
language
categories--4.22, 4.30, 4.31, 4.41
end--CA690304 JB February 20, 1978 9:12 AM
title--Organizing Matrices and Matrix Operations for Paged Memory Systems
abstract--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.
journal--CACM March, 1969
author--McKellar, A. C.; Coffman Jr., E. G.
keys--matrix algorithms, array processing, paging algorithms, paged memory
systems, virtual memory systems, array storage allocation, storage allocation
categories--4.12, 4.39, 5.14
end--CA690303 JB February 20, 1978 9:35 AM
title--Concepts of Use in Contour Map Processing
abstract--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.
journal--CACM March, 1969
author--Morse, S. P.
keys--map, contour map, contour lines, topological properties, geometrical
properties, graph of contour map, navigation
categories--3.1
end--CA690302 JB February 20, 1978 9:41 AM
title--Description of FORMAT, a Text-Processing Program
abstract--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.
journal--CACM March, 1969
author--Berns, G. M.
keys--text processing, indexing, printing, documentation, text editing,
formatting, frequency dictionary, right justification, vocabulary
categories--3.74, 3.75, 3.9
end--CA690301 JB February 20, 1978 9:45 AM
title--Information Science in a Ph.D. Computer Science Program
abstract--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.
journal--CACM February, 1969
author--Salton, G.
keys--course curriculum, graduate courses, university courses, computer science
curriculum, information science, information organization, information
retrieval, data retrieval, language analysis, information processing
categories--1.52, 3.42, 3.70
end--CA690211 JB February 20, 1978 9:50 AM
title--Exclusive Simulation of Activity in Digital Networks
abstract--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.
journal--CACM February, 1969
author--Ulrich, E. G.
keys--simulation, logical simulation, digital simulation, large systems
simulation, network structures, scheduling, queuing, simultaneous activities,
parallel events
categories--4.22, 4.29, 6.9
end--CA690110 JB February 20, 1978 9:58 AM
title--Images from Computers and Microfilm Plotters
abstract--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 "halftones." In
this note several programming techniques are described for obtaining halftone
pictures from a microfilm plotter under the control of a digital computer.
Illustrative examples of several methods are given.
journal--CACM February, 1969
author--Schroeder, M. R.
keys--computer images, halftone pictures, microfilm plotters; processing
categories--3.10, 3.15, 3.24, 4.49
end--CA690209 JB February 20, 1978 10:06 AM
title--Extremely Portable Random Number Generator
abstract--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.
journal--CACM February, 1969
author--Kruskal, J. B.
keys--random number generators, random numbers, random number analysis, random
generators, linear sequential generators, random number program, pseudo random
numbers
categories--4.49, 5.19, 5.5
end--CA690208 JB February 20, 1978 10:43 AM
title--Interval Arithmetic Determinant Evaluation and Its Use in Testing for a
Chebyshev System
abstract--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
author--Smith, L. B.
keys--interval arithmetic, range arithmetic, error bounds, determinant
categories--5.11, 5.13, 5.14
end--CA690207 JB February 20, 1978 10:49 AM
title--The Logarithmic Error and Newton's Method for the Square Root
abstract--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.
journal--CACM February, 1969
author--King, R. F.; Phillips, D. L.
keys--square root, Newton's method, relative error, logarithmic error, best
fit, optimal approximation, maximal error, recurrence relation, integer root,
error curve
categories--5.12, 5.13
end--CA690206 JB February 20, 1978 10:55 AM
title--Coding the Lehmer Pseudo-random Number Generator
abstract--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.
journal--CACM February, 1969
author--Payne, W. H.; Rabung, J. R.; Bogyo, T. P.
keys--pseudo-random number, random number, modular arithmetic, uniform
probability density, uniform frequency function, simulation, prime
factorization, primitive roots
categories--
end--CA690205 JB February 20, 1978 11:07 AM
title--On Arithmetic Expressions and Trees
abstract--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.
journal--CACM February, 1969
author--Redziejowski, R. R.
keys--arithmetic expression, compiler design, graph theory, programming,
storage minimization, topological ordering, tree
categories--4.12, 5.32
end--CA690204 JB February 20, 1978 11:11 AM
title--Randomized Binary Search Technique
abstract--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.
journal--CACM February, 1969
author--Arora, S. R.; Dent, W. T.
keys--binary pattern, file examination, graph theory, information retrieval,
mathematical model, partitioning, probabilistic method, random sequencing,
search techniques, tree structures
categories--3.74, 5.32
end--CA690203 JB February 20, 1978 11:15 AM
title--Variable Length Tree Structures Having Minimum Average Search Time
abstract--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.
journal--CACM February, 1969
author--Patt, Y. N.
keys--information retrieval, file searching, tree structures, double chaining
categories--3.70, 3.73, 3.74
end--CA690202 JB February 20, 1978 11:25 AM
title--CODAS: A Data Display System
abstract--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.
journal--CACM February, 1969
author--Day, R. H.; Mansfield, M. K.; Ellis, M. E.
keys--data display, information retrieval, graphic display, command languages,
report program generation, management data processing
categories--3.50, 3.51, 3.59, 3.70, 3.75, 3.79, 4.20, 4.29
end--CA690201 JB February 20, 1978 11:32 AM
title--Some Criteria for Time-Sharing System Performance
abstract--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.
journal--CACM January, 1969
author--Stimler, S.
keys--time-sharing performance criteria, time-sharing system operation, time-
sharing performance analysis
categories--2.40, 4.30, 4.32, 6.20
end--CA690111 JB February 20, 1978 11:37 AM
title--Directed Random Generation of Sentences
abstract--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.
journal--CACM January, 1969
author--Friedman, J.
keys--transformational grammar, natural language syntax, language processing,
sentence generation, computational linguistics, syntax
categories--3.42
end--CA690110 JB February 20, 1978 11:44 AM
title--Calculation of a Polynomial and its Derivative Values by Horner Scheme
(Algorithm 337 [C1])
abstract--
journal--CACM January, 1969
author--Smith, O. K.
keys--function, evaluation, polynomial evaluation, ALGOL procedure, Horner's
scheme
categories--4.22, 5.12
end--CA690109 JB February 20, 1978 11:46 AM
title--F-Distribution (Algorithm 322 [S14])
abstract--
journal--CACM January, 1969
author--Field, J. B. F.
keys--Fisher's F-distribution, Students's t-distribution
categories--5.5
end--CA690108 JB February 20, 1978 11:48 AM
title--Finding a Solution of N Functional Equations in N Unknowns (Algorithm
314 [C5])
abstract--
journal--CACM January, 1969
author--Vandergraft, J.; Mesztenyi, C.
keys--functional equations, interpolation, nonlinear equations, secant method
categories--5.13, 5.15
end--CA690107 JB February 20, 1978 11:50 AM
title--Complete Elliptic Integrals (Algorithm 165 [S21])
abstract--
journal--CACM January, 1969
author--Farkas, I.
keys--special functions, complete elliptic integral of the first kind, complete
elliptic integral of the second kind
categories--5.12
end--CA690106 JB February 20, 1978 11:54 AM
title--Student's t-Distribution (Algorithm 344 [S14])
abstract--
journal--CACM January, 1969
author--Levine, D. A.
keys--Student's t-Distribution, t-test, small-sample statistics, distribution
function
categories--5.12, 5.5
end--CA690105 JB February 20, 1978 11:56 AM
title--The Role of Programming in a Ph.D. Computer Science Program
abstract--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.
journal--CACM January, 1969
author--Arden, B. W.
keys--graduate-level programming, graduate programs, course content, course
sequence, graduate curriculum, programming research topics, programming
bibliography
categories--1.3, 1.52, 4.0
end--CA690104 JB February 20, 1978 12:00 PM
title--Computing Polynomial Resultants: Bezout's Determinant vs. Collins'
Reduced P.R.S. Algorithm
abstract--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.
journal--CACM January, 1969
author--Ku, S. Y.; Adler, R. J.
keys--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
categories--4.40, 5.10, 5.15, 5.41
end--CA690103 JB February 20, 1978 12:10 PM
title--Object code Optimization
abstract--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.
journal--CACM January, 1969
author--Lowry, E. S.; Medlock, C. W.
keys--compilers, data flow analysis, dominance, efficiency, FORTRAN, graph
theory, loop structure, machine instructions, object code, optimization,
redundancy elimination, register assignment, System/360
categories--4.12, 5.24, 5.32
end--CA690102 JB February 20, 1978 12:15 PM
title--Computers in Group Theory: a Survey
abstract--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 latices, 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.
journal--CACM January, 1969
author--Cannon, J. J.
keys--group theory, coset enumeration, subgroup lattices, automorphism groups,
character tables, commutator calculus, topology, crystallography, permutation
groups, Abelian groups, discrete mathematics, nonumerical programming, symbol
manipulation, survey
categories--1.3, 3.15, 5.39
end--CA690101 JB February 20, 1978 1:27 PM
title--Finiteness Assumptions and Intellectual Isolation of Computer
Scientists
abstract--
journal--CACM December, 1970
author--Wagner, R. A.
keys--Algol vs. Fortran, finiteness assumptions, intellectual isolation,
integer variable range, memory finiteness, finite word size
categories--2.2, 4.22, 5.23
end--CA701215 JB February 9, 1978 2:38 PM
title--Efficient Handling of Binary Data
abstract--
journal--CACM December, 1970
author--Raduchel, W. J.
keys--binary variables, dummy variables, bit strings, cross-tabulations
categories--4.9
end--CA701214 JB February 9, 1978 2:40 PM
title--Estimates of Distributions of Random Variables for Certain Computer
Communications Traffic Models
abstract--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.
journal--CACM December 1970
author--Fuchs, E.; Jackson, P. E.
keys--computer communications, time-sharing, operating systems, optimization
models
categories--3.80, 3.81, 6.20
end--CA701212 JB February 9, 1978 2:46 PM
title--Index by Subject to Algorithms, 1970
abstract--
journal--CACM December, 1970
author--
keys--
categories--
end--CA701211 JB February 9, 1978 2:50 PM
title--Exponential Integral Ei(x) (Algorithms 385 [S13])
abstract--
journal--CACM December, 1970
author--Redish, K. A.
keys--ANSI Fortran standard
categories--4.0, 4.22
end--CA701210 JB February 9, 1978 3:04 PM
title--Eigenvalues and Eigenvectors of a Real Symmetric Matrix (Algorithm 384
[F2])
abstract--
journal--CACM December, 1970
author--Stewart, G. W.
keys--real symmetric matrix, eigenvalues, eigenvectors, QR algorithm
categories--5.14
end--CA701209 JB February 9, 1978 3:08 PM
title--Characteristic Values and Associated Solutions of Mathieu's
Differential Equation (Algorithm 352 [S22])
abstract--
journal--CACM December, 1970
author--Sale, A. H. J.
keys--Mathieu's differential equation, Mathieu function, characteristic value,
periodic solution, radial solution
categories--5.12
end--CA701208 JB February 9, 1978 3:10 PM
title--Optimum Merging from Mass Storage
abstract--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.
journal--CACM December, 1970
author--Black, N. A.
keys--sorting, merging, optimum merging, mass storage, sort timing, drum-
merging, access time
categories--3.37, 4.49, 5.31
end--CA701207 JB February 9, 1978 3:18 PM
title--The List Set Generator: A Construct for Evaluating Set Expressions
abstract--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.
journal--CACM December, 1970
author--Shapiro, S. C.
keys--set manipulating, list processing, set generation, sets, lists, file
processing
categories--3.73, 3.74, 4.22
end--CA701206 JB February 9, 1978 3:23 PM
title--Improving Round-off in Runge-Kutta Computations with Gill's Method
abstract--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.
journal--CACM December, 1970
author--Thompson, R. J.
keys--Runge-Kutta methods, ordinary differential equations, round-off error,
error analysis
categories--5.11, 5.17
end--CA701205 JB February 9, 1978 3:40 PM
title--An Interrupt Based Organization for Management Information Systems
abstract--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.
journal--CACM December, 1970
author--Morgan, H. L.
keys--management information systems, integrated data processing, supervisors,
interrupts monitoring systems, supervisory systems, interrupt scheduling,
parallel processing
categories--3.51, 4.22, 4.32
end--CA701204 JB February 9, 1978 3:46 PM
title--Process Management and Resource Sharing in the Multiaccess System ESOPE
abstract--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.
journal--CACM December, 1970
author--Betourne, C.; Boulenger, J.; Ferrie, J.; Kaiser, C.; Krakowiak, S.;
Mossiere, J.
keys--time-sharing, multiprogramming, process scheduling, resource allocation
categories--4.32
end--CA701203 JB February 9, 1978 4:02 PM
title--An Efficient Search Algorithm to Find the Elementary Circuits of a
Graphabstract--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.
journal--CACM December, 1970
author--Tiernan, J. C.
keys--algorithm, graph theory, circuit search algorithm, path search algorithm,
searching
categories--3.74, 5.32
end--CA701202 JB February 9, 1978 4:12 PM
title--GROOVE-A Program to Compose, Store, and Edit Functions of Time
abstract--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 comuted 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.
journal--CACM December, 1970
author--Mathews, M. V.; Moore, F. R.
keys--computer music, music, real-time control, digital control, time
functions, interactive software, hybrid systems, conductor program
categories--3.44, 3.8, 7.3
end--CA701201 JB February 9, 1978 4:19 PM
title--Condition Numbers of PEI Matrices
abstract--
journal--CACM November, 1970
author--Rokne, J.
keys--matrices, condition numbers, Pei matrices, eigenvectors, eigenvalues
categories--5.14
end--CA701116 JB February 9, 1978 4:21 PM
title--Comment on the Working Set Model for Program Behavior
abstract--
journal--CACM November, 1970
author--Bernstein, A.
keys--demand paging, working set, paging rate, multiprogramming
categories--4.30, 4.32
end--CA701115 JB February 9, 1978 4:23 PM
title--Correction to "Logical" Arithmetic on Computers with Two's Complement
Binary Arithmetic
abstract--
journal--CACM November, 1970
author--Ehrman, J. R.
keys--binary arithmetic, unsigned operand arithmetic, maximum significance
arithmetic, full-precision arithmetic
categories--3.15, 5.11
end--CA701114 JB February 9, 1978 4:25 PM
title--A Generalized Method for Generating Argument/Function Values
abstract--
journal--CACM November, 1970
author--Wilson, W. J.
keys--mapping function, decision hierarchy, table look-up
categories--4.9, 5.39
end--CA701113 JB February 9, 1978 4:26 PM
title--An Improved Algorithm to Produce Complex Primes (Algorithm 401 [A1])
abstract--
journal--CACM November, 1970
author--Bratley, P.
keys--number theory, prime numbers, complex numbers
categories--5.39
end--CA701112 JB February 9, 1978 4:28 PM
title--Eigenvalues and Eigenvectors of a Real General Matrix (Algorithm 343
[F1])
abstract--
journal--CACM November, 1970
author--Knight, W.; Mersereau, W.
keys--eigenvalues, eigenvectors, latent roots, Householder's method, QR
algorithm, inverse iteration
categories--5.14
end--CA701111 JB February 9, 1978 4:30 PM
title--Increasing the Efficiency of Quicksort (Algorithm 402 [M1])
abstract--
journal--CACM November, 1970
author--van Emden, M. H.
keys--sorting, quicksort
categories--5.31, 3.73, 5.6, 4.49
end--CA701110 JB February 9, 1978 4:32 PM
title--Unrecorded Magnetic Tape for Information Interchange (9 Track-200 and
800 CPI, NRZI and 1600 CPI, PE)* (Proposed American National Standard)
abstract--
journal--CACM November, 1970
author--
keys--input-output, magnetic tape, information interchange, measurement,
instrumentation, phase encoded recording
categories--2.49, 6.35
end--CA701108 JB February 9, 1978 4:42 PM
title--Recorded Magnetic Tape for Information Interchange (1600 CPI, Phase
Encoded)* (Proposed American National Standard)
abstract--
journal--CACM November, 1970
author--
keys--input-output, magnetic tape, information interchange, measurement,
instrumentation, phase encoded recording
categories--2.49, 6.35
end--CA701107 JB February 9, 1978 4:49 PM
title--A Nonrecursive List Compacting Algorithm
abstract--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.
journal--CACM November, 1970
author--Cheney, C. J.
keys--list compacting, garbage collection, compact list, LISP
categories--4.19, 4.49
end--CA701106 JB February 9, 1978 4:54 PM
title--The Linear Quotient Hash Code
abstract--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.
journal--CACM November, 1970
author--Bell, J. R.; Kaman, C. H.
keys--hashing, hash code, scatter storage, calculated address, search, table,
lookup, symbol table, keys
categories--3.74, 4.9
end--CA701105 JB February 10, 1978 8:33 AM
title--NEATER2: A PL/I Source Statement Reformatter
abstract--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.
journal--CACM November, 1970
author--Conrow, K.; Smith, R. G.
keys--logical analysis of PL/I source, reformatting of PL/I source,
documentation aid, execution time usage data
categories--1.52, 4.12, 4.19, 4.42
end--CA701104 JB February 10, 1978 8:40 AM
title--A Multiple-Precision Division Algorithm
abstract--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.
journal--CACM November, 1970
author--Mifsud, C. J.
keys--multiple-precision, division, adjustment, generalize
categories--3.15, 4.0, 5.1
end--CA701103 JB February 10, 1978 8:45 AM
title--Multi-attribute Retrieval with Combined Indexes
abstract--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.
journal--CACM November, 1970
author--Lum, V. Y.
keys--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
categories--3.73, 3.74, 3.79
end--CA701102 JB February 10, 1978 9:00 AM
title--An Interactive Display for Approximation by Linear Programming
abstract--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.
journal--CACM November, 1970
author--LaFata, P.; Rosen, J. B.
keys--approximation, data fitting, functional approximation, linear
programming, interactive graphical display, spline functions
categories--5.13, 5.41
end--CA701101 JB February 10, 1978 9:06 AM
title--The Use of Interactive Graphics To Solve Numerical Problems
abstract--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.
journal--CACM October, 1970
author--Smith, L. B.
keys--interactive graphics, computer graphics, graphics, least squares, data-
fitting, interactive computing, on-line mathematics
categories--1.3, 3.1, 5.13, 5.5
end--CA701012 JB February 10, 1978 9:14 AM
title--Numerical Inversion of Laplace Transforms (Algorithm 368 [D5])
abstract--
journal--CACM October, 1970
author--Stehfest, H.
keys--Laplace transform inversion, integral transformations, integral equations
categories--5.15, 5.18
end--CA701011 JB February 10, 1978 9:16 AM
title--An Efficient Algorithm for Sorting with Minimal Storage (Algorithm 347
[M1])
abstract--
journal--CACM October, 1970
author--Peto, R.
keys--sorting, ranking, minimal storage sorting, digital computer sorting
categories--5.31
end--CA701010 JB February 10, 1978 9:19 AM
title--Normal Curve Integral (Algorithm 304 [S15])
abstract--
journal--CACM October, 1970
author--Holmgren, B.
keys--normal curve integral, probability, special functions
categories--5.12, 5.5
end--CA701009 JB February 10, 1978 9:20 AM
title--Modified Havie Integration (Algorithm 400 [D1])
abstract--
journal--CACM October, 1970
author--Wallick, G. C.
keys--numerical integration, Havie integration, Romberg quadrature, modified
Romberg-quadrature, trapezoid values, rectangle values
categories--5.16
end--CA701008 JB February 10, 1978 9:22 AM
title--Spanning Tree [H] (Algorithm 399)
abstract--
journal--CACM October, 1970
author--Seppanen, J. J.
keys--graph, tree, spanning tree
categories--5.32
end--CA701007 JB February 10, 1978 9:24 AM
title--Tableless Date Conversion [Z] (Algorithm 398)
abstract--
journal--CACM October, 1970
author--Stone, R. A.
keys--date, calendar
categories--5.9
end--CA701006 JB February 10, 1978 9:25 AM
title--An Integer Programming Problem [H] (Algorithm 397)
abstract--
journal--CACM October, 1970
author--Chang, S. K.; Gill, A.
keys--integer programming, change making problem
categories--5.41
end--CA701005 JB February 10, 1978 9:28 AM
title--Student's t-Quantiles [S14] (Algorithm 396)
abstract--
journal--CACM October, 1970
author--Hill, G. W.
keys--Student's t-statistic, quantile, asymptotic approximation
categories--5.12, 5.5
end--CA701004 JB February 10, 1978 9:29 AM
title--Student's t-Distribution [S14] (Algorithm 395)
abstract--
journal--CACM October, 1970
author--Hill, G. W.
keys--Student's t-statistic, distribution function, approximation, asymptotic
expansion
categories--5.12, 5.5
end--CA701003 JB February 10, 1978 9:31 AM
title--A Formalism for Translator Interactions
abstract--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 metacompiler 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.
journal--CACM October, 1970
author--Earley, J.
keys--translator, compiler, interpreter, bootstrapping, language processor,
compiler-compiler
categories--4.1, 5.29
end--CA701002 JB February 10, 1978 9:36 AM
title--Transition Network Grammars for Natural Language Analysis
abstract--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.
journal--CACM October, 1970
author--Woods, W. A.
keys--computational linguistics, grammars, grammar models, linguistics, natural
language analysis, parsing, semantic interpretation, transition network
grammars, transformational grammars
categories--3.42, 4.12
end--CA701001 JB February 10, 1978 9:43 AM
title--Numerical Constants (Algorithm)
abstract--
journal--CACM September, 1970
author--Dunham, C. B.
keys--numerical algorithm, numerical constants
categories--5.10
end--CA700915 JB February 10, 1978 9:48 AM
title--On the Number of Automorphisms of a Singly Generated Automaton
abstract--
journal--CACM September, 1970
author--Bavel, Z.
keys--automata, finite automata, singly generated automata, automorphisms,
generators, length of state, minimal-length generators, orbit
categories--5.22
end--CA700914 JB February 10, 1978 9:54 AM
title--Comment on Bell's Quadratic Quotient Method for Hash Code Searching
abstract--
journal--CACM September, 1970
author--Lamport, L.
keys--hashing, hash code, scatter storage, calculated address, clustering,
search, symbol table, keys, table look-up
categories--3.74, 4.9
end--CA700913 JB February 10, 1978 9:56 AM
title--Regular Coulomb Wave Functions (Algorithm 292 [S22])
abstract--
journal--CACM September, 1970
author-- Cody, W. J.; Paciorek, K. A.
keys--Coulomb wave functions, wave functions, regular Coulomb wave functions
categories--5.12
end--CA700912 JB February 10, 1978 10:03 AM
title--Decision Table Translation [H] (Algorithm 394)
abstract--
journal--CACM September, 1970
author--Dial, R. B.
keys--Decision table, decision table translation
categories--4.19
end--CA700911 JB February 10, 1978 10:05 AM
title--Special Series Summation with Arbitrary Precision [C6] (Algorithm 393)
abstract--
journal--CACM September, 1970
author--Abdali, S. K.
keys--function evaluation, series summation, approximation
categories--5.12, 5.13
end--CA700910 JB February 10, 1978 10:06 AM
title--Systems of Hyperbolic PDE [D3] (Algorithm 392)
abstract--
journal--CACM September, 1970
author--Smith, R. R.; McCall, D.
keys--hyperbolic p.d.e., characteristic, extrapolation, second order p.d.e.,
quasilinear p. d. e.
categories--5.17
end--CA700909 JB February 10, 1978 10:08 AM
title--Increasing the Efficiency of Quicksort
abstract--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.
journal--CACM September, 1970
author--van Emden, M. H.
keys--sorting, quicksort, information content, entropy, distribution of median
categories--3.73, 4.49, 5.31, 5.6
end--CA700908 JB February 10, 1978 10:15 AM
title--Complex Matrix Inversion Versus Real
abstract--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.
journal--CACM September, 1970
author--Ehrlich, L. W.
keys--complex matrix inversion, matrix inversion, inversion, rounding errors,
rounding error bound, error bounds, complex rounding error bounds
categories--5.14, 5.11, 5.10
end--CA700907 JB February 10, 1978 10:19 AM
title--Optimal Starting Approximations for Generating Square Root for Slow or
No Divide
abstract--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.
journal--CACM September, 1970
author--Wilson, M. W.
keys--square root, Newton-Raphson iteration, optimal approximants
categories--5.13
end--CA700906 JB February 10, 1978 1:33 PM
title--A Variation of the Goodman-Lance Method for the Solution of Two-Point
Boundary Value Problems
abstract--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.
journal--CACM September, 1970
author--Kimble, G. W.
keys--Goodman-Lance, boundary-value problems, Newton's method, nonlinear
equations, optimal control, optimization, ordinary differential equations,
secant method, interpolative solution, orthogonal matrices
categories--3.21, 5.15, 5.17
end--CA700905 JB February 10, 1978 1:39 PM
title--Integrating Square Roots
abstract--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.
journal--CACM September, 1970
author--Moler, C. B.; Solomon, L. P.
keys--quadrature, differential equations
categories--5.16, 5.17
end--CA700904 JB February 10, 1978 1:42 PM
title--AMESPLOT-A Higher Level Data Plotting Software System
abstract--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 formulated 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.
journal--CACM September, 1970
author--Hirschsoln, I.
keys--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
categories--4.13, 4.29, 4.49, 4.9
end--CA700903 JB February 10, 1978 2:08 PM
title--An Interactive Software System for Computers-Aided Design: An
Application to Circuit Project
abstract--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.
journal--CACM September, 1970
author--Bracchi, G.; Somalvico, M.
keys--interaction, graphics, computer graphics, computer-aided design, circuit
design, software system, software organization, language, monitor language,
graphic language, extended Fortran
categories--3.24, 3.25, 4.13, 4.22, 4.3
end--CA700902 JB February 10, 1978 2:20 PM
title--A Procedure for Generation of Three-dimensional Half-toned Computer
Graphics Presentations
abstract--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 Warnodk 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.
journal--CACM September, 1970
author--Bouknight, W. J.
keys--half-tone computer graphics, line-scan image processing, hidden surface,
polygonal surface structure presentations
categories--4.9
end--CA700901 JB February 10, 1978 2:27 PM
title--Proposed Revision of American National Standard X3.21-1967, "
Rectangular Holes in Twelve-Row Punched Cards"*
abstract--
journal--CACM August, 1970
author--
keys--tabulating-card, Hollerith card, keypunch, information processing
categories--6.35
end--CA700816 JB February 10, 1978 2:48 PM
title--Proposed American National Standard
abstract--
journal--CACM August, 1970
author--Kerpelman, C.
keys--State identifiers, State abbreviation, States of the United States, data
elements, data codes, numeric codes, geopolitical subdivisions, geograhic codes
categories--3.35, 3.57
end--CA700815 JB February 10, 1978 3:10 PM
title--Algorithms Policy/Revised August 1970
abstract--
journal--CACM August, 1970
author--
keys--
categories--
end--CA700814 JB February 10, 1978 3:12 PM
title--Gaussian Quadrature Formulas (Algorithm 331 [D1])
abstract--
journal--CACM August, 1970
author--Wise Jr., W. R.
keys--quadrature, Gaussian quadrature, numerical integration, weight function,
orthogonal polynomials, Newton's method, successive deflation
categories--5.16
end--CA700813 JB February 10, 1978 3:15 PM
title--Simpson's Rule for Multiple Integration (Algorithm 233 [D1])
abstract--
journal--CACM August, 1970
author--Proll, L. G.
keys--numerical integration, multiple integration, Simpson's rule
categories--5.16
end--CA700812 JB February 10, 1978 3:17 PM
title--Unitary Symmetric Polynomials [Z] (Algorithm 391)
abstract--
journal--CACM August, 1970
author--McKay, J.
keys--symmetric polynomials, unitary symmetric polynomials
categories--5.11, 5.30, 5.5
end--CA700811 JB February 10, 1978 3:19 PM
title--Sequency Ordered Walsh Functions [S22] (Algorithm 390)
abstract--
journal--CACM August, 1970
author--Hubner, H.
keys--Walsh functions, sequency ordered Walsh functions
categories--5.12, 5.13
end--CA700810 JB February 10, 1978 3:20 PM
title--Binary Ordered Walsh Functions [S22] (Algorithm 389)
abstract--
journal--CACM August, 1970
author--Hubner, H.
keys--Walsh functions, binary ordered Walsh functions
categories--5.12, 5.13
end--CA700809 JB February 10, 1978 3:22 PM
title--Rademacher Function [S22] (Algorithm 388)
abstract--
journal--CACM August, 1970
author--Hubner, H.
keys--Rademacher function
categories--5.12, 5.13
end--CA700808 JB February 10, 1978 3:23 PM
title--Function Minimization and Linear Search [E4] (Algorithm 387)
abstract--
journal--CACM August, 1970
author--Fielding, K.
keys--function minimization, relative minimum, quasi-Newton method
categories--5.15
end--CA700807 JB February 10, 1978 3:30 PM
title--A Technique for Generating Almost Optimal Floyd-Evans Productions for
Precedence Grammars
abstract--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.
journal--CACM August, 1970
author--Ichbiah, J. D.; Morse, S. P.
keys--translator writing systems, syntactic analysis, Floyd-Evans productions,
precedence grammars, translator optimization, merger algorithm, minimum cost
inverse-arborescence, graph theory
categories--4.12, 5.23, 5.32
end--CA700806 JB February 10, 1978 3:38 PM
title--The Instrumentation of Multics
abstract--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.
journal--CACM August, 1970
author--Gintell, J. W.; Saltzer, J. H.
keys--instrumentation, performance measurement, multiprogramming systems,
measuring tools, system analysis, Multics, metering, event tracing, demand
paging, script driven measurement
categories--2.44, 4.32, 4.39, 4.42
end--CA700805 JB February 10, 1978 3:43 PM
title--Sorting in a Paging Environment
abstract--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.
journal--CACM August, 1970
author--Brawn, B. S.; Gustavson, G.; Mankin, E. S.
keys--sorting, merging, virtual machines, paging systems, dynamic storage
allocation, measurement of systems program behavior, performance evaluation,
memory management
categories--4.32, 4.49, 4.9, 5.31
end--CA700803 JB February 10, 1978 3:51 PM
title--Full Table Quadratic Searching for Scatter Storage
abstract--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.
journal--CACM August, 1970
author--Day, A. C.
keys--quadratic residue, search method, hash tables, scatter storage,
dictionary look-up, quadratic search, searching, hashing, hash code,
clustering, collisions
categories--3.7, 3.73, 3.74
end--CA700803 JB February 10, 1978 3:57 PM
title--Normalization Techniques for Handprinted Numerals
abstract--Family of pattern standardization techniques based on geometrical
projection is applied to a file of digitized handprinted 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.
journal--CACM August, 1970
author--Nagy, G.; Tuong, N.
keys--pattern recognition, character recognition, normalization, projective
transformation, central projection, hand printed characters, handwriting,
linear transformation, size normalization, mapping, pattern preprocessor
categories--3.63, 5.14
end--CA700802 JB February 10, 1978 4:03 PM
title--The Allocation of Computer Resources-Is Pricing the Answer?
abstract--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.
journal--CACM August, 1970
author--Nielsen, N. R.
keys--allocation mechanisms, charging, computer pricing, costing, flexible
pricing, pricing, priority charges, resource allocation, user motivation
categories--1.3, 2.4
end--CA700801 JB February 10, 1978 4:13 PM
title--A Comment on Axiomatic Approaches to Programing
abstract--
journal--CACM July, 1970
author--Hunt, B. R.
keys--axiomatic method, proofs of programs, homomorphic structure in
programming
categories--4.0, 4.21, 4.22, 5.20, 5.21, 5.23, 5.24
end--CA700716 JB February 10, 1978 4:15 PM
title--Note on an Anomaly in Paging
abstract--
journal--CACM July, 1970
author--Pomeranz, J. E.
keys--paging machines, demand paging, replacement algorithm
categories--4.30
end--CA700715 JB February 10, 1978 4:17 PM
title--A Note on Data Base Deadlocks
abstract--
journal--CACM July, 1970
author--Baecker, H. D.
keys--data base, synchronization, locking, deadlock, reference count
categories--3.73
end--CA700714 JB February 10, 1978 4:18 PM
title--Comments on a Paper by Lowe
abstract--
journal--CACM July, 1970
author--Sattley, K.; Millstein, R.
keys--automatic segmentation, program connectivity
categories--5.24, 5.32
end--CA700713 JB February 10, 1978 4:20 PM
title--Student's t-Distribution; Jacobi Polynomials; Modified Romberg
Quadrature; Factorial Analysis of Variance; (Algorithms 332,344,351,359)
abstract--
journal--CACM July, 1970
author--Sale, A. H. J.
keys--Fortran standards
categories--4.0, 4.22
end--CA700712 JB February 10, 1978 4:26 PM
title--Exponential Integral (Algorithm 385 [S13])
abstract--
journal--CACM July, 1970
author--Ng, E. W.
keys--
categories--
end--CA700711 JB February 10, 1978 4:27 PM
title--Ricatti-Bessel Functions of First and Second Kind (Algorithm 22 [S17])
abstract--
journal--CACM July, 1970
author--Bray, T.
keys--Ricatti-Bessel functions, Bessel functions of fractional order, spherical
Bessel functions
categories--5.12
end--CA700710 JB February 10, 1978 4:29 PM
title--Greatest Common Divisor of n Integers and Multipliers [A1] (Algorithm
386)
abstract--
journal--CACM July, 1970
author--Bradley, G. H.
keys--greatest common divisor, Euclidean algorithm, number theory, diophantine
equations
categories--3.15, 5.10
end--CA700709 JB February 10, 1978 4:31 PM
title--Exponential Integral [S13] (Algorithm 385)
abstract--
journal--CACM July, 1970
author--Paciorek, K. A.
keys--exponential integral, special functions, rational Chebyshev approximation
categories--5.12
end--CA700708 JB February 10, 1978 4:34 PM
title--Context-Sensitive Parsing
abstract--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.
journal--CACM July, 1970
author--Woods, W. A.
keys--context-sensitive grammars, context-sensitive parsing, formal grammars,
formal language theory, parsing, parsing algorithms, recognition algorithms
categories--3.42, 5.22, 5.23
end--CA700707 JB February 10, 1978 4:43 PM
title--Algorithm and Bound for the Greatest Common Divisor of n Integers
abstract--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.
journal--CACM July, 1970
author--Bradley, G. H.
keys--greatest common divisor, Euclidean algorithm, number theory, diophantine
equations
categories--3.15, 5.10
end--CA700706 JB February 13, 1978 8:45 AM
title--File Structures Using Hashing Functions
abstract--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.
journal--CACM July, 1970
author--Coffman Jr., E. G.; Eve, J.
keys--Data structures, tree structures, file structures, scatter tables,
hashing functions, information retrieval
categories--3.70, 3.74
end--CA700705 JB February 13, 1978 8:49 AM
title--Space/Time Trade-offs in Hash Coding with Allowable Errors
abstract--In this paper trade-offs among certain computational factors in hash
coding are analyzed. The paradigm problem considered is that of testing a
series of messages one-by-one for membership in 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.
journal--CACM July, 1970
author--Bloom, B. H.
keys--hash coding, hash addressing, scatter storage, searching, storage layout,
retrieval trade-offs, retrieval efficiency, storage efficiency
categories--3.73, 3.74, 3.79
end--CA700704 JB February 13, 1978 9:18 AM
title--The Mobile Programming System: STAGE2
abstract--STAGE2 is the second level of a bootstrap sequence which is easily
implemented on any computer. It is a flexible, powerful macro processor
designed specifically as a tool for constructing machine-independent software.
In this paper the features 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.
journal--CACM July, 1970
author--Waite, W. M.
keys--bootstrapping, macro processing, machine independence, programming
languages, implementation techniques
categories--4.12, 4.22
end--CA700703 JB February 13, 1978 9:24 AM
title--Conversational Access to a 2048-Word Machine
abstract--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.
journal--CACM July, 1970
author--Wilkes, M. A.
keys--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
categories--3.73, 4.10, 4.11, 4.19, 4.22, 4.30, 4.40, 4.41
end--CA700702 JB February 13, 1978 9:35 AM
title--An Interactive Command Generating Facility
abstract--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.
journal--CACM July, 1970
author--Grant, C. A.
keys--time-sharing, command languages, pseudo-teletype, interaction,
conditional job control, operating systems
categories--3.80, 3.81, 4.29, 4.39
end--CA700701 JB February 13, 1978 9:43 AM
title--Permutations of a Set with Repetitions (Algorithm 383 [G6])
abstract--
journal--CACM June, 1970
author--Chase, P. J.
keys--permutations and combinations, permutations
categories--5.39
end--CA700618 JB February 13, 1978 9:45 AM
title--Combinations of M Out of N Objects (Algorithm 382 [G6])
abstract--
journal--CACM June, 1970
author--Chase, P. J.
keys--permutations and combinations, permutations
categories--5.39
end--CA700617 JB February 13, 1978 9:59 AM
title--Permanent Function of a Square Matrix I and II (Algorithm 361 [G6])
abstract--
journal--CACM June, 1970
author--Shriver, B.; Eberlein, P. J.; Dixon, R. D.
keys--matrix, permanent, determinant
categories--5.30
end--CA700616 JB February 13, 1978 10:01 AM
title--Modified Romberg Quadrature (Algorithm 351 [D1])
abstract--
journal--CACM June, 1970
author--Wallick, G. C.
keys--numerical integration, Romberg quadrature, modified Romberg quadrature,
trapezoid values, rectangle values
categories--5.16
end--CA700615 JB February 13, 1978 10:27 AM
title--Shellsort (Algorithm 201 [M1])
abstract--
journal--CACM June, 1970
author--Chandler, J. P.; Harrison, W. C.
keys--sorting, minimal storage sorting, digital computer sorting
categories--5.31
end--CA700614 JB February 13, 1978 10:29 AM
title--Treesort 3 (Algorithm 245 [M1])
abstract--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.
journal--CACM June, 1970
author--London, R. L.
keys--proof of algorithms, debugging, certification, metatheory, sorting, in-
place sorting
categories--4.42, 4.49, 5.24, 5.31
end--CA700613 JB February 13, 1978 10:32 AM
title--Eigenvalues and Eigenvectors of a Real Symmetric Matrix [F2] (Algorithm
384)
abstract--
journal--CACM June, 1970
author--Stewart, G. W.
keys--real symetric matrix, eigenvalues, eigenvectors, QR algorithm
categories--
end--CA700612 JB February 13, 1978 10:34 AM
title--Permutations of a Set with Repetitions (Algorithm 383 [G6])
journal--CACM June, 1970
author--Chase, P. J.
keys--permutations and combinations, permutations
categories--5.39
end--CA700611 JB February 13, 1978 10:36 AM
title--Combinations of M Out of N Objects (Algorithm 382 [G6])
abstract--
journal--CACM June, 1970
author--Chase, P. J.
keys--permutations and combinations, permutations
categories--5.39
end--CA700610 JB February 13, 1978 10:38 AM
title--A Relational Model of Data for Large Shared Data Banks
abstract--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.
journal--CACM June, 1970
author--Codd, E. F.
keys--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
categories--3.70, 3.73, 3.75, 4.20, 4.22, 4.29
end--CA700609 JB February 13, 1978 10:57 AM
title--Incorporating Origin Shifts into the QR Algorithm for Symmetric
Tridiagonal Matrices
abstract--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.
journal--CACM June, 1970
author--Stewart, G. W.
keys--eigenvalues, eigenvectors, QR method, origin shifts, symmetric
tridiagonal matrix
categories--5.14
end--CA700608 JB February 13, 1978 11:02 AM
title--Comparison of Several Adaptive Newton-Cotes Quadrature Routines in
Evaluating Definite Integrals with Peaked Integrands
abstract--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.
journal--CACM June, 1970
author--Hillstrom, K. E.
keys--adaptive Newton-Cotes quadrature, quadrature scheme comparison, definite
integral evaluation, adaptive numerical integration, Newton-Cotes integration,
peaked integrand integration, quadrature efficiently plot, New-Cotes rules
applications, Newton-Cotes rules modifications
categories--5.10, 5.16
end--CA700607 JB February 13, 1978 11:08 AM
title--Accurate Floating-Point Summation
abstract--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.
journal--CACM June, 1970
author--Linz, P.
keys--summation, floating-point addition, round-off error, round-off
propagation
categories--5.11
end--CA700606 JB February 13, 1978 11:36 AM
title--Automatic Parsing for Content Analysis
abstract--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.
journal--CACM June, 1970
author--Damerau, F. J.
keys--Content analysis, parsing, syntactic analysis, natural language
processing, information retrieval, language analysis, text processing
categories--3.42, 3.71
end--CA700605 JB February 13, 1978 11:43 AM
title--A PL/I Program to Assist the Comparative Linguist
abstract--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.
journal--CACM June, 1970
author--Frantz, D. G.
keys--comparative linguistics, natural language processing, comparative method,
historical linguistics, diachronic linguistics, genetic relationship, sound
change, sound correspondence, regular correspondence, list processing
categories--3.42
end--CA700604 JB February 13, 1978 11:51 AM
title--Scheduling to Reduce Conflict in Meetings
abstract--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.
journal--CACM June, 1970
author--Grimes, J. E.
keys--allocation, conflict matrix, connected component, scheduling, spanning
tree, undirected linear graph
categories--1.90, 3.51, 3.59, 5.32
end--CA700603 JB February 13, 1978 11:55 AM
title--On the Conversion of Decision Tables to Computer Programs
abstract--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.
journal--CACM June, 1970
author--Muthukrishnan, C. R.; Rajaraman, V.
keys--decision tables, diagnostic aids, system analysis, business applications
categories--3.50, 3.59, 4.19, 4.29, 4.49
end--CA700602 JB February 13, 1978 12:03 PM
title--On the Feasibility of Voice Input to an On-line Computer Processing
System
abstract--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.
journal--CACM June, 1970
author--Elder, H. A.
keys--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
categories--3.63, 3.81, 4.32, 4.41, 6.35
end--CA700601 JB February 13, 1978 12:12 PM
title--Subroutine to Perform In-Situ Transposition of a Rectangular Matrix
(Algorithm 380)
abstract--
journal--CACM May, 1970
author--Lachenmaier, R.
keys--rectangular matrix, transpose
categories--5.14
end--CA700511 JB February 13, 1978 1:14 PM
title--Gomory (Algorithm 263A [H])
abstract--
journal--CACM May, 1970
author--Proll, L. G.
keys--linear programming, integer variables, dual method
categories--5.41
end--CA700510 JB February 13, 1978 1:17 PM
title--Random Vectors Uniform in Solid Angle (Algorithm 381 [G5])
abstract--
journal--CACM May, 1970
author--Knop, R. E.
keys--random number, random vector, random number generator, probability
distribution, frequency distribution, simulation, Monte Carlo
categories--5.5
end--CA700509 JB February 13, 1978 1:19 PM
title--In-Situ Transposition of a Rectangular Matrix (Algorithm 380 [F1])
abstract--
journal--CACM May, 1970
author--Laflin, S.; Brebner, M. A.
keys--rectangular matrix, transpose
categories--5.14
end--CA700508 JB February 13, 1978 1:21 PM
title--A Language for Treating Graphs
abstract--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.
journal--CACM May, 1970
author--Crespi-Reghizzi, S.; Morpurgo, R.
keys--graphs, oriented, nonoriented, multiple, colored graph, language extended
ALGOL, operator-precedence, syntax-driven compiler, operation research,
network, traffic
categories--3.2, 3.5, 4.2, 5.3
end--CA700507 JB February 13, 1978 1:31 PM
title--GEDANKEN-A Simple Typeless Language Based on the Principle of
Completeness and the Reference Concept
abstract--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.
journal--CACM May, 1970
author--Reynolds, J. C.
keys--programming language, data structure, reference, assignment, coroutine,
quasi-parallel process, typeless language, applicative language, lambda
calculus, list processing, nondeterministic algorithm
categories--4.20, 4.22, 5.23, 5.24
end--CA700506 JB February 13, 1978 1:43 PM
title--An Algorithm for the Construction Of Bounded-Context Parsers
abstract--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 discussed 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.
journal--CACM May, 1970
author--Loeckx, J.
keys--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
categories--4.12, 5.22, 5.23
end--CA700505 JB February 13, 1978 1:58 PM
title--The Application of Sequential Sampling to Simulation: An Example
Inventory Model
abstract--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.
journal--CACM May, 1970
author--Sasser, W. E.; Burdick, D. S.; Graham, D. A.; Naylor, T. H.
keys--simulation, inventory models, sequential sampling, models, experimental
design
categories--3.31, 3.50, 3.54, 5.5
end--CA700504 JB February 13, 1978 2:11 PM
title--Translation Equations (Errata)
abstract--
journal--CACM May, 1970
author--Vere, S.
keys--
categories--
end--CA700503 JB February 13, 1978 2:12 PM
title--Operations on Generalized Arrays with the Genie Compiler
abstract--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. Codewords may describe arrays containing more codewords, thus
providing all needed descriptive information for hyperstructures of any form.
journal--CACM May, 1970
author--Sitton, G. A.
keys--multidimensional arrays, matrix operations, storage control,
subscripting, compilers
categories--4.12, 4.29
end--CA700502 JB February 13, 1978 2:18 PM
title--A Programming System for the On-line Analysis of Biomedical Images
abstract--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.
journal--CACM May, 1970
author--Hodes, L.
keys--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
categories--3.12, 3.34, 3.63, 4.39, 6.29
end--CA700501 JB February 13, 1978 2:27 PM
title--An Algol Construction for Procedures as Parameters of Procedures
abstract--
journal--CACM April, 1970
author--Knight, K. R.
keys--Algol, procedures, parameters, side effects
categories--4.22
end--CA700418 JB February 13, 1978 2:30 PM
title--Comment on Lawler's Multilevel Boolean Minimization
abstract--
journal--CACM April, 1970
author--DeVries, R. C.
keys--multilevel logic design, generalized prime implicants, minimal forms,
minimization, incompletely specified functions
categories--6.1
end--CA700417 JB February 13, 1978 2:32 PM
title--Comment on Multiprogramming Under a Page on Demand Strategy
abstract--
journal--CACM April, 1970
author--Smith, J. L.
keys--multiprogramming, paging, modeling
categories--4.32
end--CA700416 JB February 13, 1978 2:34 PM
title--Comments on a Paper by Wallace and Mason
abstract--
journal--CACM April, 1970
author--Heess Jr., W. F.
keys--page-on-demand, demand paging, time-sharing multiprogramming, Markovian
computer models, scheduling strategies, operating systems, memory management
categories--2.44, 4.32, 4.39, 6.20, 6.21
end--CA700415 JB February 13, 1978 2:36 PM
title--A Formal System for Information Retrieval from Files
abstract--
journal--CACM April, 1970
author--Hsiao, D.; Harary, F.
keys--
categories--
end--CA700414 JB February 13, 1978 2:37 PM
title--Filon Quadrature (Algorithm 353 [D1])
abstract--
journal--CACM April, 1970
author--Fosdick, L. D.
keys--quadrature, Filon quadrature, integration, Filon integration, Fourier
coefficients, Fourier series
categories--5.16
end--CA700413 JB February 13, 1978 2:40 PM
title--Modified Romberg Quadrature (Algorithm 351 [D1])
abstract--
journal--CACM April, 1970
author--Cook, N. D.
keys--numerical integration, Romberg quadrature, trapezoid values, rectangle
values, error bound
categories--5.16
end--CA700412 JB February 13, 1978 2:42 PM
title--Solution of Linear Programs in 0-1 Variables by Implicit Enumeration
(Algorithm 341 [H])
abstract--
journal--CACM April, 1970
author--Guignard, M. M.
keys--linear programming, zero-one variables, partial enumeration
categories--5.41
end--CA700411 JB February 13, 1978 2:43 PM
title--Sqank (Algorithm 379 [D1])
abstract--
journal--CACM April, 1970
author--Lyness, J. N.
keys--numerical integration, integration rule, adaptive integration, automatic
integration, Simpson's rule, numerical quadrature, quadrature, quadrature rule,
adaptive quadrature, automatic quadrature, round-off error control
categories--5.16
end--CA700410 JB February 13, 1978 2:46 PM
title--Discretized Newton-Like Method for Solving a System of Simultaneous
Nonlinear Equations (Algorithm 378 [C5])
abstract--
journal--CACM April, 1970
author--Pankiewicz, W.
keys--Newton's method, nonlinear equations, interpolating polynomials
categories--5.15, 5.13
end--CA700409 JB February 13, 1978 2:48 PM
title--Cubic Splines on Uniform Meshes
abstract--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.
journal--CACM April, 1970
author--Nilson, E. N.
keys--simple spline representation, cardinal splines, uniform mesh splines
categories--5.13
end--CA700408 JB February 13, 1978 2:51 PM
title--The Cyclical Majority Problem
abstract--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.
journal--CACM April, 1970
author--Pomeranz, J. E.; Weil Jr., R. L.
keys--Arrow's paradox, cyclical majority, simulation, voter's paradox, voting
paradox
categories--3.31, 3.35
end--CA700407 JB February 13, 1978 2:58 PM
title--Representations for Space Planning
abstract--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.
journal--CACM April, 1970
author--Eastman, C. M.
keys--automated design, data structures, computer graphics, computer-aided
design, engineering design, architectural design, robots
categories--3.20, 3.22, 3.26, 3.41, 3.63
end--CA700406 JB February 13, 1978 3:03 PM
title--On Multiprogramming, Machine Coding, and Computer Organization
abstract--
journal--CACM April, 1970
author--Wirth, N.
keys--
categories--
end--CA700405 JB February 13, 1978 3:05 PM
title--The Nucleus of a Multiprogramming System
abstract--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
processes. A fundamental set of primitives allows the dynamic creation and
control of a hierarchy of processes as well as the communication among them.
journal--CACM April, 1970
author--Hansen, P. B.
keys--multiprogramming, operating systems, parallel processes, process concept,
process communication, message buffering, process hierarchy, process creation,
process removal
categories--4.30, 4.31, 4.32, 4.41
end--CA700404 JB February 13, 1978 3:10 PM
title--Some Complete Calculi for Matrices
abstract--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 are extended 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.
journal--CACM April, 1970
author--Bayer, R.; Witzgall, C.
keys--complete calculus, data structures, linear programming, matrix, matrix
concatenation, matrix sequences, programming languages, sequence operations,
symbol manipulation
categories--4.12, 4.22, 5.14, 5.41
end--CA700403 JB February 13, 1978 3:18 PM
title--Syntax-Directed Documentation For PL360
abstract--The language PL360, 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 PL360 program, already
found in the literature, is worked out as an example.
journal--CACM April, 1970
author--Mills, H. D.
keys--documentation, syntax analysis, PL360, enforced documentation, indexed
documentation, automatic interrogation, phase structured grammar, syntax-
directed documentation, syntax processing
categories--3.59, 3.79, 4.19, 4.43
end--CA700402 JB February 13, 1978 3:28 PM
title--Creation and Control of Internal Data Bases Under a Fortran Programming
Environment
abstract--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
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-
journal--CACM April, 1970
author--DeSalvio, A. J.; Purdy, J. G.; Rau, J.
keys--data base, Fortran, common, common equivalencing, subroutine
communication, data communication
categories--3.73, 4.12, 4.43
end--CA700401 JB February 13, 1978 3:34 PM
title--A Note on the Complement of Inherently Ambiguous Context-Free Languages
abstract--
journal--CACM March, 1970
author--Maurer, H. A.
keys--ambiguity, inherent ambiguity, complement, context-free language, Chomsky-
language, phrase structure language, production system, type 2 language,
bounded language
categories--5.22, 5.24
end--CA700314 JB February 13, 1978 3:37 PM
title--Comment on a Paging Anomaly
abstract--
journal--CACM March, 1970
author--Dempster, J. R. H.
keys--paging machines, demand paging, replacement algorithm
categories--4.30
end--CA700313 JB February 13, 1978 3:39 PM
title--Another Method of Converting from Hexadecimal to Decimal
abstract--
journal--CACM March, 1970
author--Kailas, M. V.
keys--binary-decimal conversion, computer arithmetic
categories--1.5, 4.0, 6.2
end--CA700312 JB February 13, 1978 3:41 PM
title--A Number System for the Permutations
abstract--
journal--CACM March, 1970
author--Pager, D.
keys--permutation, ordering, number, number system, p-number, combinatorial
categories--4.49, 5.39
end--CA700311 JB February 13, 1978 3:42 PM
title--Netflow (ALgorithm 336 [H])
abstract--
journal--CACM March, 1970
author--Bray, T. A.; Witzgall, C.
keys--capacitated network, linear programming, minimum-cost flow, network flow,
out-of-kilter
categories--5.32, 5.41
end--CA700310 JB February 13, 1978 3:44 PM
title--Prime Number (Algorithm 310 [A1])
abstract--
journal--CACM March, 1970
author--Rapp, D. G.; Scott, L. D.
keys--prime numbers, generator
categories--5.0
end--CA700309 JB February 13, 1978 3:45 PM
title--Symbolic Expansion of Algebraic Expressions (Algorithm 377 [R2])
abstract--
journal--CACM March, 1970
author--Levine, M. J.
keys--algebra, symbolic algebra, symbolic multiplication, algebraic
distribution, algebraic multiplication, distribution algorithm, multiplication
algorithm, product algorithm, polynomial distribution, polynomial expansion
categories--3.10, 3.17, 3.20, 4.13, 4.90
end--CA700308 JB February 13, 1978 3:49 PM
title--PDEL-A Language for Partial Differential Equations
abstract--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.
journal--CACM March, 1970
author--Cardenas, A. F.; Karplus, W. J.
keys--problem oriented or digital simulation language, partial differential
equations, translator, PL/1, preprocessor PL/1, finite difference algorithms
categories--3.1, 3.2, 4.22, 5.17
end--CA700307 JB February 13, 1978 4:18 PM
title--A Deductive Question-Answer for Natural Language Inference
abstract--The question-answering aspects of the Protosynthex III prototype
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.
journal--CACM March, 1970
author--Schwarcz, R. M.; Burger, J. F.; Simmons, R. F.
keys--question answering, natural language, Protosynthex III, LISP, semantics,
artificial intelligence, computational linguistics, language processing, fact
retrieval
categories--3.42, 3.61
end--CA700306 JB February 13, 1978 4:30 PM
title--A Comparison of Error Improvement Estimates for Adaptive Trapezoid
Integration
abstract--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.
journal--CACM March, 1970
author--Schweikert, D. G.
keys--adaptive integration, error improvement estimate, trapezoid rule,
nonpolynomial error criteria
categories--5.16
end--CA700305 JB February 13, 1978 4:47 PM
title--On an Algorithm for Nonlinear Minimax Approximation
abstract--Certain nonlinear minimax approximation problems are characterized 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.
journal--CACM March, 1970
author--Watson, G. A.
keys--minimax approximation, nonlinear approximation, linear programming
categories--5.13, 5.41
end--CA700304 JB February 13, 1978 4:52 PM
title--Measurements of Segment Size
abstract--Distributions of segment sizes measured under routine operating
conditions 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.
journal--CACM March, 1970
author--Batson, A.; Ju, S.; Wood, D. C.
keys--storage allocation, segmentation, segment sizes, page sizes, paging,
resource allocation, memory allocation, core utilization
categories--4.32, 6.2, 6.34, 6.9
end--CA700303 JB February 13, 1978 4:58 PM
title--Experiments with the M & N Tree-Searching Program
abstract--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.
journal--CACM March, 1970
author--Slagle, J. R.; Dixon, J. K.
keys--artificial intelligence, heuristic program, tree searching, LISP, kalah,
game playing, decision theory, mini-max backing-up procedure, backing-up
procedures
categories--3.60, 3.64, 3.66
end--CA700302 JB February 14, 1978 8:34 AM
title--A Program to Teach Programing
abstract--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.
journal--CACM March, 1970
author--Fenichel, R. R.; Weizenbaum, J.; Yochelson, J. C.
keys--elementary programming, computer-assisted learning, UNCL, TEACH
categories--1.52
end--CA700301 JB February 14, 1978 8:42 AM
title--t-Test Probabilities (Algorithm 321); Student's t-Distribution
(Algorithm 344)
abstract--
journal--CACM February, 1970
author--Hill, G. W.; Loughhead, M.
keys--t-test, Student's t-statistic, distribution function, approximation
categories--5.12, 5.5
end--CA700217 JB February 14, 1978 8:45 AM
title--Eigenvalues and Eigenvectors of a Real General Matrix (Algorithm 343
[F])
abstract--
journal--CACM February, 1970
author--Knoble, H. D.
keys--norm, characteristic equation, degenerate eigensystem, diagonalizable
matrix, defective matrix
categories--5.14
end--CA700216 JB February 14, 1978 9:43 AM
title--Ortho (Algorithm 127 [F5])
abstract--
journal--CACM February, 1970
author--Barrodale, I.
keys--orthogonalization, approximation
categories--5.13, 5.17, 5.5
end--CA700215 JB February 14, 1978 9:45 AM
title--Least Squares Fit By f(x) = Acos(Bx+C) (Algorithm 376 [E2])
abstract--
journal--CACM February, 1970
author--Spath, H.
keys--nonlinear least squares fit
categories--5.15
end--CA700214 JB February 14, 1978 9:47 AM
title--Fitting Data To One Exponential (Algorithm 375 [E2])
abstract--
journal--CACM February, 1970
author--Spath, H.
keys--nonlinear least squares fit
categories--5.15
end--CA700213 JB February 14, 1978 9:48 AM
title--Restricted Partition Generator (Algorithm 374 [A1])
abstract--
journal--CACM February, 1970
author--White, J. S.
keys--partitions, restricted partitions, sums of integers, restricted sums
categories--5.39
end--CA700212 JB February 14, 1978 9:49 AM
title--Number of Doubly Restricted Partitions (Algorithm 373 [A1])
abstract--
journal--CACM February, 1970
author--White, J. S.
keys--partitions, restricted partitions, sums of integers, restricted sums
categories--5.39
end--CA700211 JB February 14, 1978 9:52 AM
title--An Interactive Computer System Using Graphical Flowchart Input
abstract--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.
journal--CACM February, 1970
author--Robins, M. F.; Beyer, J. D.
keys--simulation program, graphical input-output sampled data systems
categories--3.20, 3.24
end--CA700210 JB February 14, 1978 9:57 AM
title--Computer Education in a Graduate School of Management
abstract--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 useful 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.
journal--CACM February, 1970
author--Ness, D. N.; Green, R. S.; Martin, W. A.; Moulton, G. A.
keys--education, simulation, machine language, management information systems,
interpreters
categories--1.52, 3.51, 4.13, 4.21
end--CA700209 JB February 14, 1978 10:15 AM
title--The Quadratic Quotient Method: A Hash Code Eliminating Secondary
Clustering
abstract--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.
journal--CACM February, 1970
author--Bell, J. R.
keys--hashing, hash code, scatter storage, calculated address, clustering,
search, symbol table, collisions, keys, table look-up
categories--3.74, 4.9
end--CA700208 JB February 14, 1978 10:18 AM
title--A Variation on Sorting by Address Calculation
abstract--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.
journal--CACM February, 1970
author--Jones, B.
keys--sorting, address calculation, merging, order, sequence creation
categories--4.49, 5.31
end--CA700207 JB February 14, 1978 10:24 AM
title--The Use of Quadratic Residue Research
abstract--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.
journal--CACM February, 1970
author--Radke, C. E.
keys--quadratic residue, search method, hash addressing, address clustering,
scatter storage, file searching, file addressing, hash coding, quadratic
search, random search, storage layout, searching
categories--3.7, 3.73, 3.74
end--CA700206 JB February 14, 1978 10:30 AM
title--An Efficient Context-free Parsing Algorithm
abstract--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.
journal--CACM February, 1970
author--Earley, J.
keys--syntax analysis, parsing, context-free grammar, compilers, computational
complexity
categories--4.12, 5.22, 5.23
end--CA700205 JB February 14, 1978 10:35 AM
title--Spelling Correction in Systems Programs
abstract--Several specialized techniques are shown for efficiently
incorporating spelling correction algorithms into 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.
journal--CACM February, 1970
author--Morgan, H. L.
keys--spelling correction, error correction, debugging, compilers, operating
systems, diagnostics, error detection, misspelling, lexical analysis systems
programming
categories--4.42, 4.12, 3.0, 3.79
end--CA700204 JB February 14, 1978 10:40 AM
title--Translation Equations
abstract--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.
journal--CACM February, 1970
author--Vere, S.
keys--automata, Turing machines, regular expression, transduction expression,
context-free languages, translation, recognizers, parsing, meta-compilers,
pushdown transducer, syntax directed compilers, finite state automata
categories--4.10, 4.12, 4.20, 5.22
end--CA700203 JB February 14, 1978 10:49 AM
title--The Multistore Parser for Hierarchical Syntactic Structures
abstract--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.
journal--CACM February, 1970
author--von Glasersfeld, E.
keys--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
categories--3.42, 3.49, 3.63, 3.70, 3.71
end--CA700202 JB February 14, 1978 12:57 PM
title--A Formal System for Information Retrieval from Files
abstract--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.
journal--CACM February, 1970
author--Hsiao, D.
keys--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
categories--3.70, 3.73, 3.74
end--CA700201 JB February 14, 1978 1:04 PM
title--Fortran Tausworthe Pseudorandom Number Generator
abstract--
journal--CACM January, 1970
author--Payne, W. H.
keys--random numbers, pseudorandom numbers, shift register sequences
categories--5.5
end--CA700116 JB February 14, 1978 1:06 PM
title-- Interchange Rolls of Perforated Tape for Information Interchange*
(Proposed American National Standard)
abstract--
journal--CACM January, 1970
author--
keys--interchange, rolls, perforated tape, tape, information interchange,
directional markers, leaders, trailers, roll-up tape, 9-track papertape,
dimensions
categories--3.70, 6.33, 6.34, 6.35, 6.36
end--CA700115 JB February 14, 1978 1:14 PM
title--Representation for Calendar Date for Machine-to-Machine Data
Interchange* (Proposed American National Standard)
abstract--
journal--CACM January, 1970
author--
keys--calendar date, machine-to-machine interchange, month, year, day,
representation coded
categories--3.70, 3.73, 3.74, 3.9
end--CA700114 JB February 14, 1978 1:42 PM
title--An Efficient Algorithm for Sorting with Minimal Storage (Algorithm 347
[M1])
abstract--
journal--CACM January, 1970
author--Griffin, R.; Redish, K. A.
keys--sorting,minimal storage sorting, digital computer sorting
categories--5.31
end--CA700113 JB February 14, 1978 1:43 PM
title--Derivatives (Algorithm 282 [S22])
abstract--
journal--CACM January, 1970
author--Gautschi, W.; Klein, B. J.
keys--recursive computation, successive derivatives, error control
categories--5.11, 5.12
end--CA700112 JB February 14, 1978 1:45 PM
title--An Algorithm to Produce Complex Primes, Csieve (Algorithm 372 [A1])
abstract--
journal--CACM January, 1970
author--Dunham, K. B.
keys--primes, complex numbers
categories--5.39
end--CA700111 JB February 14, 1978 1:47 PM
title--Partitions in Natural Order (Algorithm 371 [A1])
abstract--
journal--CACM January, 1970
author--McKay, J. K. S.
keys--partitions,number theory
categories--5.39
end--CA700110 JB February 14, 1978 1:48 PM
title--General Random Number Generator (Algorithm 370 [G5])
abstract--
journal--CACM January, 1970
author--Butler, E. L.
keys--random number generator, probability density function, transformation,
cumulative density function
categories--5.13, 5.5
end--CA700109 JB February 14, 1978 1:50 PM
title--Generator of Random Numbers Satisfying the Poisson Distribution
(Algorithm 369 [G5])
abstract--
journal--CACM January, 1970
author--Schaffer, H. E.
keys--Poisson distribution, random number generator
categories--5.5
end--CA700108 JB February 14, 1978 1:53 PM
title--Numerical Inversion of Laplace Transforms (Algorithm 368 [D5])
abstract--
journal--CACM January, 1970
author--Stehfest, H.
keys--Laplace transform inversion, integral transformations, integral equations
categories--5.15, 5.18
end--CA700107 JB February 14, 1978 1:55 PM
title--A Note on Minimal Length Polygonal Approximation to a Digitized Contour
abstract--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.
journal--CACM January, 1970
author--Montanari, U.
keys--digitized image, connection tree, minimal polygon, optimal approximation,
nonlinear programming
categories--3.63, 5.13, 5.17
end--CA700106 JB February 14, 1978 2:00 PM
title--Experience with an Extensible Language
abstract--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.
journal--CACM January, 1970
author--Irons, E. T.
keys--programming languages, extensible, compiler, bootstrapping, ambiguity
categories--4.12, 4.22
end--CA700105 JB February 14, 1978 2:02 PM
title--Natural Language Question-Answering Systems: 1969
abstract--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.
journal--CACM January, 1970
author--Simmons, R. F.
keys--question-answering, natural language, artificial intelligence, language
processing, fact retrieval, semantics
categories--3.6, 3.64, 3.7, 3.74
end--CA700104 JB February 14, 1978 2:10 PM
title--A Processor Allocation Method for Time-Sharing
abstract--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.
journal--CACM January, 1970
author--Mullery, A. P.; Driscoll, G. C.
keys--time sharing, resource allocation, scheduling algorithms, monitors,
dynamic allocation, processor allocation, multiprogramming, multiprocessing,
time slicing, scheduling, conversational systems, interactive systems
categories--3.80, 4.30, 4.31, 4.32, 6.33
end--CA700103 JB February 14, 1978 2:15 PM
title--Recursive Computation of Certain Derivatives-A Study of Error
Propagation
abstract--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.
journal--CACM January, 1970
author--Gautschi, W.
keys--recursive computation, successive derivatives, error propagation
categories--5.11, 5.12
end--CA700102 JB February 14, 1978 2:18 PM
title--Automatic Segmentation of Cyclic Program Structures Based on
Connectivity and Processor Timing
abstract--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 programs 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.
journal--CACM January, 1970
author--Lowe, T. C.
keys--automatic segmentation, cyclic program structures, loops, paging,
multiprogramming, loaders, assemblers, compilers, time-sharing, program
connectivity
categories--4.19, 5.24, 5.32
end--CA700101 JB February 14, 1978 2:29 PM
title--Rapid Computation of Weights of Interpolatory Quadrature Rules [D1]
(Algorithm 417)
abstract--
journal--CACM December, 1971
author--Gustafson, S.
keys--divided differences
categories--5.16
end--CA711212 JB February 2, 1978 9:33 AM
title--Rapid Computation of Coefficients of Interpolation Formulas [E1]
(Algorithm 416)
abstract--
journal--CACM December, 1971
author--Gustafson, S.
keys--divided differences, Newton's interpolation formula
categories--5.13
end--CA711211 JB February 2, 1978 9:36 AM
title--Algorithm for the Assignment Problem (Rectangular Matrices) [H]
(Algorithm 415)
abstract--
journal--CACM December, 1971
author--Bourgeois, F.; Lassalle, J. C.
keys--operations research, optimization theory, assignment problem, rectangular
matrices
categories--5.39, 5.40
end--CA711210 JB February 2, 1978 9:38 AM
title--An Extension of the Munkres Algorithm for the Assignment Problem to
Rectangular Matrices
abstract--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.
journal--CACM December, 1971
author--Bourgeois, F.; Lassalle, J.
keys--operations research, optimization theory, assignment problem, rectangular
matrices, algorithm
categories--5.39, 5.40
end--CA711209 JB February 2, 1978 9:46 AM
title--Rapid Computation of General Interpolation Formulas and Mechanical
Quadrature Rules
abstract--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.
journal--CACM December, 1971
author--Gustafson, S.
keys--linear functionals, divided differences, Newton's interpolation formula
categories--5.13, 5.16
end--CA711208 JB February 2, 1978 9:49 AM
title--A Note on "A Modification of Nordsieck's Method Using an 'Off-Step'
Point"
abstract--
journal--CACM December, 1971
author--Blumberg, J. W.; Foulk, C. R.
keys--ordinary differential equations, multi-step methods, predictor,
corrector, round-off error, Nordsieck's method, Gragg-Stetter modification
categories--5.11, 5.16, 5.17
end--CA711207 JB February 2, 1978 9:52 AM
title--New LISP Techniques for a Paging Environment
abstract--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.
journal--CACM December, 1971
author--Rochfeld, A.
keys--LISP, list processing, paging, virtual memory, garbage collection, core
fragmentation, compact list structures, block, segment
categories--4.12, 4.22, 4.32
end--CA711206 JB February 2, 1978 10:01 AM
title--BLISS: A Language for Systems Programming
abstract--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.
journal--CACM December, 1971
author--Wulf, W. A.; Russell, D. B.
keys--programming languages, implementation language, systems programming, data
structures
categories--4.12, 4.21, 4.22
end--CA711205 JB February 2, 1978 10:09 AM
title--Implementation of the Substring Test by Hashing
abstract--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.
journal--CACM December, 1971
author--Harrison, M. C.
keys--substring, hashing, subset, signature, information compression,
information retrieval, searching
categories--3.74, 5.30, 5.6
end--CA711204 JB February 2, 1978 10:14 AM
title--Retrieval-Update Speed Tradeoffs Using Combined Indices
abstract--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.
journal--CACM December, 1971
author--Mullin, J. K.
keys--file organization, combined index files, inverted files, information
retrieval, query, multi-attribute retrieval, file update
categories--3.73, 3.74, 3.79
end--CA711203 JB February 2, 1978 10:18 AM
title--Algorithmic Selection of the Best Method for Compressing Map Data
Strings
abstract--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.
journal--CACM December, 1971
author--Amidon, E. L.; Akin, G. S.
keys--data compression, map storage, information retrieval, input/output, run
coding, data reduction
categories--3.71, 3.74
end--CA711202 JB February 2, 1978 10:23 AM
title--Reconstruction of Pictures from Their Projections
abstract--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.
journal--CACM December, 1971
author--Gordon, R.; Herman, G. T.
keys--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
categories--3.12, 3.13, 3.15, 3.17, 3.63, 5.41, 5.6
end--CA711201 JB February 2, 1978 10:32 AM
title--Chebyshev Approximation of Continuous Functions by a Chebyshev System
of Functions [E2] (Algorithm 414)
abstract--
journal--CACM November, 1971
author--Bolub, G. H.; Smith, L. B.
keys--approximation, Chebyshev approximation, Remex algorithm
categories--5.13
end--CA711106 JB February 2, 1978 10:35 AM
title--On Accurate Floating-Point Summation
abstract--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 ususal 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.
journal--CACM November, 1971
author--Malcolm, M. A.
keys--floating-point summation, error analysis
categories--5.11, 5.19
end--CA711105 JB February 2, 1978 10:48 AM
title--Automation of Etching-Pattern Layout
abstract--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.
journal--CACM November, 1971
author--Aramaki, I.; Kawabata, T.; Kazuhiko, A.
keys--heuristic etching-pattern layout, wiring design of printed circuit board,
maze-running, Lee's algorithm
categories--3.24, 3.66, 4.9, 6.9
end--CA711104 JB February 2, 1978 10:58 AM
title--Optimizing the Polyphase Sort
abstract--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.
journal--CACM November, 1971
author--Shell, D. L.
keys--sorting, polyphase sorting, dispersion algorithms, optimum dispersion
algorithm, repetition operator
categories--5.31
end--CA711103 JB February 2, 1978 11:39 AM
title--Using Computers in Higher Education: Past Recommendations, Status, and
Needs
abstract--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.
journal--CACM November, 1971
author--Hamblen, J. W.
keys--higher education, computers, degree programs, national goals, testing
laboratory, educational technology
categories--1.50, 1.52, 1.53, 2.45, 3.51
end--CA711102 JB February 2, 1978 11:44 AM
title--The Composition of Semantics in Algol 68
abstract--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.
journal--CACM November, 1971
author--Branquart, P.; Lewi, J.; Sintzoff, M.; Wodon, P. L.
keys--programming primitives, programming languages, Algol, semantics,
recursive composition, design of programming languages, data structures
categories--1.3, 4.2, 4.22, 5.23, 5.24
end--CA711101 JB February 2, 1978 11:49 AM
title--ENTCAF and ENTCRE: Evaluation of Normalized Taylor Coefficients of an
Analytic Function [C5] (Algorithm 413)
abstract--
journal--CACM October, 1971
author--Lyness, J. N.
keys--Taylor coefficients, Taylor series, Cauchy integral, numerical
integration, numerical differentiation, interpolation, complex variable,
complex arithmetic, fast Fourier transform
categories--5.12, 5.13, 5.16
end--CA711007 JB February 2, 1978 11:53 AM
title--Concurrent Control with "Readers" and "Writers"
abstract--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.
journal--CACM October, 1971
author--Courois, P. J.; Heymans, F.; Parnas, D. L.
keys--mutual exclusion, critical section, shared access to resources
categories--4.30, 4.32
end--CA711006 JB February 2, 1978 11:58 AM
title--User Program Measurement in a Time-Shared Environment
abstract--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.
journal--CACM October, 1971
author--Nemeth, A. G.; Rovner, P. D.
keys--operating systems, multiprogramming systems, time-sharing systems,
software measurement, user program measurement, measurement technology, TX-2
computer, virtual computers, performance improvement
categories--4.30, 4.32, 4.42, 4.43
end--CA711005 JB February 2, 1978 1:05 PM
title--Display Procedures
abstract--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 a version of the EULER language in which display
procedures were implemented.
journal--CACM October, 1971
author--Newman, W. M.
keys--computer graphics, programming languages, display files
categories--4.20, 4.41
end--CA711004 JB February 2, 1978 1:11 PM
title--Experiments with an Automated Instructional System for Numerical
Methodsabstract--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.
journal--CACM October, 1971
author--Oldehoeft, A. E.; Conte, S. D.
keys--computer-assisted instruction, numerical methods, CAI, instructional
systems
categories--1.52, 3.62, 5.10
end--CA711003 JB February 2, 1978 1:22 PM
title--Clarification of Fortran Standards-Second Report
abstract--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.
journal--CACM October, 1971
author--ANSI Subcommittee X3J3
keys--American National Standard, Fortran, Basic Fortran, programming language,
standardization, language standard specification, language standard
maintenance, language standard clarification, language standard interpretation,
standardization committee
categories--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
end--CA711002 JB February 2, 1978 1:30 PM
title--Toward an Understanding of Data Structures
abstract--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.
journal--CACM October, 1971
author--Earley, J.
keys--data structures, graph, implementation, semantic formalism, programming
language
categories--4.22, 4.9, 5.24
end--CA711001 JB February 2, 1978 1:35 PM
title--Comment on Cheney's List-Compaction Algorithm
abstract--
journal--CACM September, 1971
author--Fenichel, R. R.
keys--LISP, garbage collector, virtual memory, list processing, storage
allocation
categories--4.19, 4.49
end--CA710908 JB February 2, 1978 1:36 PM
title--Average Binary Search Length for Dense Ordered Lists
abstract--
journal--CACM September, 1971
author--Flores, I.; Madpis, G.
keys--searching, binary searching, record retrieval
categories--3.74
end--CA710907 JB February 2, 1978 1:42 PM
title--A Stopping Criterion for the Newton-Raphson Method in Implicit
Multistep Integration Algorithms for Nonlinear Systems of Ordinary Differential
Equations
abstract--
journal--CACM September, 1971
author--Liniger, W.
keys--ordinary differential equations, linear multistep formulas, Newton-
Raphson method, stopping criterion
categories--5.11, 5.15, 5.17
end--CA710906 JB February 2, 1978 2:13 PM
title--A Note on Best One-Sided Approximations
abstract--
journal--CACM September, 1971
author--Phillips, D. L.
keys--best approximation, one-sided approximation, logarithmic, error, relative
error
categories--5.11, 5.13
end--CA710905 JB February 2, 1978 2:15 PM
title--Canonical Structure in Attribute Based File Organization
abstract--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.
journal--CACM September, 1971
author--Wong, E.; Chiang, T. C.
keys--address calculation, atoms of Boolean algebra, attributes, Boolean
functions, Boolean queries, file organization, information retrieval, inverted
file, key words, multilist, queries, searches
categories--3.70, 3.73, 3.74
end--CA710904 JB February 2, 1978 2:22 PM
title--An Algorithm for the Blocks and Cutnodes of a Graph (Corrigendum)
abstract--
journal--CACM September, 1971
author--Paton, K.
keys--
categories--
end--CA710903 JB February 2, 1978 2:24 PM
title--An Efficient Bit Table Technique for Dynamic Storage Allocation of 2^n-
word Blocks
abstract--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.
journal--CACM September, 1971
author--Isoda, S.; Goto, E.
keys--bit table, dynamic storage allocation, buddy system, L^6, list
processing, free storage
categories--3.89, 4.12, 4.9
end--CA710902 JB February 2, 1978 2:33 PM
title--Education Related to the Use of Computers in Organizations
abstract--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.
journal--CACM September, 1971
author--Teichroew, D.
keys--education, information analysis, systems design, business data processing
categories--1.52, 3.51
end--CA710901 JB February 2, 1978 2:40 PM
title--Symbolic Integration: The Stormy Decade
abstract--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.
journal--CACM August, 1971
author--Moses, J.
keys--integration, symbolic integration, definite integrals, rational functions
categories--3.1, 3.2, 3.6, 4.9, 5.2, 5.9
end--CA710808 JB February 2, 1978 2:48 PM
title--General Relativity and the Application of Algebraic Manipulative
Systemsabstract--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.
journal--CACM August, 1971
author--Barton, D.; Fitch, J. P.
keys--symbolic mathematics, nonnumerical mathematics, general relativity,
algebraic manipulation, equation manipulation
categories--1.3, 3.11, 5.10
end--CA710807 JB February 2, 1978 2:53 PM
title--Automated Algebraic Manipulation in Celestial Mechanics
abstract--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.
journal--CACM August, 1971
author--Jefferys, W. H.
keys--series manipulation, automated algebra, celestial mechanics
categories--5.10, 5.13, 5.17
end--CA710806 JB February 2, 1978 3:31 PM
title--Algebraic Simplification: A Guide for the Perplexed
abstract--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 the size 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.
journal--CACM August, 1971
author--Moses, J.
keys--algebraic manipulation, algebraic simplification, canonical
simplification
categories--3.1, 3.2, 3.6, 4.9, 5.2, 5.9
end--CA710805 JB February 2, 1978 3:42 PM
title--List Tracing in Systems Allowing Multiple Cell-Types
abstract--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.
journal--CACM August, 1971
author--Fenichel, R. R.
keys--list-processing, storage allocation, LISP, SLIP, based storage, pointers
categories--4.49
end--CA710804 JB February 2, 1978 3:45 PM
title--The Altran System for Rational Function Manipulation-A Survey
abstract--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 implemention is
given.
journal--CACM August, 1971
author--Hall Jr., A. D.
keys--symbolic algebra, rational function manipulation, polynomial
manipulation, interpreters, translators
categories--4.13, 4.29
end--CA710803 JB February 2, 1978 4:17 PM
title--Applications of Symbol Manipulation in Theoretical Physics
abstract--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.
journal--CACM August, 1971
author--Hearn, A. C.
keys--symbol manipulation, algebraic simplification, computational physics,
quantum electrodynamics
categories--3.17, 4.22
end--CA710802 JB February 2, 1978 4:21 PM
title--Solution of Simultaneous Nonlinear Equations
abstract--
journal--CACM July, 1971
author--Raduchel, W. J.
keys--nonlinear equations
categories--5.15
end--CA710711 JB February 2, 1978 4:31 PM
title--Graph Plotter [J6] (Algorithm 412)
abstract--
journal--CACM July, 1971
author--Cermak, J.
keys--plot, graph, line printer plot
categories--4.41
end--CA710710 JB February 2, 1978 4:32 PM
title--Three Procedures for the Stable Marriage Problem [H] (Algorithm 411)
abstract--
journal--CACM July, 1971
author--McVitie, D. G.; Wilson, L. B.
keys--assignment problems, assignment procedures, combinatorics, discrete
mathematics, operations research, stable marriage problem, university entrance
categories--5.30
end--CA710709 JB February 2, 1978 4:35 PM
title--The Stable Marriage Problem
abstract--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.
journal--CACM July, 1971
author--McVitie, D. G.; Wilson, L. B.
keys--assignment problems, assignment procedures, combinatorics, discrete
mathematics, operational research, stable marriage problem, university entrance
categories--5.30
end--CA710708 JB February 2, 1978 4:40 PM
title--Subexpression Ordering in the Execution of Arithmetic Expressions
abstract--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.
journal--CACM July, 1971
author--Ramamoorthy, C. V.; Gonzalez, M. J.
keys--parallel processing, cache, arithmetic expressions, subexpression
ordering, computational trees, compilers
categories--4.12, 4.32
end--CA710707 JB February 2, 1978 4:49 PM
title--Buffer Allocation in Merge-Sorting
abstract--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.
journal--CACM July, 1971
author--Ferguson, D. E.
keys--file, item, string, merge sort, seek time, gamma distribution function
categories--4.41, 5.31
end--CA710706 JB February 3, 1978 8:41 AM
title--An Algorithm for the Blocks and Cutnodes of a Graph
abstract--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)/w in 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.
journal--CACM July, 1971
author--Paton, K.
keys--algorithm, block, block-cutpoint-tree, cutnode, fundamental cycle set,
graph, lobe, lobe decomposition graph, separable, spanning tree, web grammar
categories--5.32
end--CA710705 JB February 3, 1978 8:58 AM
title--A Language Extension for Graph Processing and Its Formal Semantics
abstract--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.
journal--CACM July, 1971
author--Pratt, T. W.; Friedman, D. P.
keys--graph processing, programming language, formal semantics, directed graph,
Lisp, network, data structure, flowchart, syntax, language definition
categories--4.20, 4.22, 5.23, 5.24, 5.32
end--CA710704 JB February 3, 1978 9:24 AM
title--Simple LR(k) Grammars
abstract--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.
journal--CACM July, 1971
author--DeRemer, F. L.
keys--context-free grammar, LR(k) grammar, precedence grammar, syntactic
analysis, parsing algorithm, parser, finite-state machine, deterministic
pushdown automaton
categories--4.12, 5.22, 5.23
end--CA710703 JB February 3, 1978 9:31 AM
title--A Programmer Training Project
abstract--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.
journal--CACM July, 1971
author--Bernstein, A. J.
keys--programmer training, job opportunities, Fortran
categories--1.59
end--CA710702 JB February 3, 1978 9:36 AM
title--The State of Computer Oriented Curricula in Business Schools 1970
abstract--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).
journal--CACM July, 1971
author--McKenney, J. L.; Tonge, F. M.
keys--university programs, management education, curriculum design, business
administration curricula, graduate business school resource planning
categories--1.52, 3.5
end--CA710701 JB February 3, 1978 9:47 AM
title--Interrupt Driven Programming
abstract--
journal--CACM July, 1971
author--Zelkowitz, M.
keys--interrupts, supervisors, monitors, debugging, parallel processing,
associative memories, microprogramming
categories--3.51, 4.32, 4.42
end--CA710608 JB February 3, 1978 9:49 AM
title--Binary Summation
abstract--
journal--CACM July, 1971
author--Walker, R. J.
keys--summation, binary summation, floating-point addition, round-off errors
categories--5.11
end--CA710607 JB February 3, 1978 9:50 AM
title--On the Meaning of Names in Programming Systems
abstract--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(namelist)(expression)(valuelist), it is found that a context can be
viewed as an abstraction based upon the first two terms in the equivalent
expression Mu(namelist)(valuelist)(expression).
journal--CACM July, 1971
author--Fraser, A. G.
keys--file, operating system, programming language, functions, names, context,
file directory, file dictionary, lambda calculus, theory of programming
categories--3.73, 4.22, 4.39, 5.23, 5.24
end--CA710606 JB February 3, 1978 9:58 AM
title--A Note on Compiling Fixed Point Binary Multiplications
abstract--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.
journal--CACM June, 1971
author--Glaswin, H. T.
keys--compiling multiplications, fixed point arithmetic
categories--4.12
end--CA710605 JB February 3, 1978 10:04 AM
title--Numerical Properties of the Ritz-Trefftz Algorithm for Optimal Control
abstract--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.
journal--CACM June, 1971
author--Bosarge Jr., W. E.; Johnson, O. G.
keys--splines, regulator problem, control theory, numerical analysis
categories--5.1
end--CA710604 JB February 3, 1978 10:12 AM
title--Computer Science: A Conceptual Framework for Curriculum Planning
abstract--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.
journal--CACM June, 1971
author--Amarel, S.
keys--computer science, curriculum planning, education
categories--1.0, 1.52
end--CA710603 JB February 3, 1978 10:17 AM
title--An Approach to the Optimum Design of Computer Graphics Systems
abstract--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.
journal--CACM June, 1971
author--Foley, J. D.
keys--design guidelines, graphic display systems, mathematical model, optimum
system design, queueing model
categories--3.8, 6.22, 6.35
end--CA710602 JB February 3, 1978 10:26 AM
title--Generation of Rosary Permutations Expressed in Hamiltonian Circuits
abstract--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.
journal--CACM June, 1971
author--Harada, K.
keys--permutation, graph theory, scheduling, combinatorial algebra
categories--5.32, 5.39
end--CA710601 JB February 3, 1978 1:55 PM
title--Function Minimization
abstract--
journal--CACM May, 1971
author--House, F. R.
keys--
categories--
end--CA710510 JB February 3, 1978 1:57 PM
title--ALGORITHM 410 Partial Sorting [M1]
abstract--
journal--CACM May, 1971
author--Chambers, J. M.
keys--sorting, partial sorting order statistics
categories--5.11, 5.13
end--CA710508 JB February 3, 1978 2:23 PM
title--Another Recursion Induction Principle
abstract--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.
journal--CACM May, 1971
author--Morris Jr., J. H.
keys--recursion, induction, correctness, proofs, compiler correctness
categories--4.13, 4.2, 5.24
end--CA710507 JB February 3, 1978 2:27 PM
title--On Implementation of Label Variables
abstract--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.
journal--CACM May, 1971
author--Fenichel, R. R.
keys--labels, compiler, interpreter, go to, transfer
categories--4.22
end--CA710506 JB February 3, 1978 2:31 PM
title--How To Keep the Addresses Short
abstract--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.
journal--CACM May, 1971
author--Richards, D. L.
keys--addressing, assembler, covering problem, integer programming, variable-
length addressing
categories--4.11, 4.12, 4.21, 5.41
end--CA710505 JB February 3, 1978 2:40 PM
title--On the Optimal Detection of Curves in Noisy Pictures
abstract--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).
journal--CACM May, 1971
author--Montanari, U.
keys--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
categories--3.63, 3.66, 5.42
end--CA710504 JB February 3, 1978 2:49 PM
title--A Man-Machine Approach Toward Solving the Traveling Salesman Problem
abstract--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.
journal--CACM May, 1971
author--Krolak, P.; Felts, W.; Marble, G.
keys--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
categories--3.57, 3.66, 5.30
end--CA710503 JB February 3, 1978 3:00 PM
title--The Merit of Regional Computing Networks
abstract--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.
journal--CACM May, 1971
author--Nielsen, N. R.
keys--computer sharing, computer utility, cooperative networks, curriculum
development, educational computing, network computing, regional computing
networks, remote computing, shared computing
categories--1.52, 2.11
end--CA710502 JB February 3, 1978 3:17 PM
title--Introduction to "Feature Analysis of Generalized Data Base Management
Systems"
abstract--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.
journal--CACM May, 1971
author--Codasyl Systems Committee
keys--data base management systems, programming languages, data structures,
storage structures, information retrieval, transaction processing
categories--3.5, 3.70, 3.72, 3.73, 3.74, 4.29
end--CA710501 JB February 3, 1978 3:18 PM
title--A Sparse Matrix Package (Part I) [F4] (Algorithm 408)
abstract--
journal--CACM April, 1971
author--McNamee, J. M.
keys--matrix, sparse matrix, matrix manipulation
categories--5.14
end--CA710406 JB February 3, 1978 3:20 PM
title--On Complement Division
abstract--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.
journal--CACM April, 1971
author--Stein, M. L.; Munro, W. D.
keys--division algorithm, complement arithmetic, complement division, one's
complement arithmetic, two's complement arithmetic
categories--3.15, 4.0, 4.9, 5.11, 6.32
end--CA710405 JB February 3, 1978 3:28 PM
title--Animator: An On-Line Two-dimensional Film Animation System
abstract--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 (lightpen,
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.
journal--CACM April, 1971
author--Talbot, P. A.; Carr III, J. W.; Coulter Jr., R. R.; Hwang, R. C.
keys--computer graphics, computer animation, on-line systems, two-dimensional
languages, CRT, microfilm recorder
categories--3.41, 3.80, 4.22
end--CA710404 JB February 3, 1978 3:37 PM
title--Dynamic Microprogramming: Processor Organization and Programming
abstract--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.
journal--CACM April, 1971
author--Tucker, A. B.; Flynn, M. J.
keys--microprogramming, read-write microstorage, subroutine linkage, execution
speed
categories--6.2
end--CA710403 JB February 3, 1978 3:58 PM
title--Key-to-Address Transform Techniques: A Fundamental Performance Study on
Large Existing Formatted Files
abstract--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. Pecularities of
each method are discussed. Practical guidelines obtained from the results are
stated. Finally, a proposal for further quantitative fundamental study is
outlined.
journal--CACM April, 1971
author--Lum, V. Y.; Yuen, P. S. T.; Dodd, M.
keys--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
categories--3.7, 3.72, 3.73, 3.74, 3.79, 4.9
end--CA710402 JB February 3, 1978 4:10 PM
title--Program Development by Stepwise Refinement
abstract--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.
journal--CACM April, 1971
author--Wirth, N.
keys--education in programming, programming techniques, stepwise program
construction
categories--1.50, 4.0
end--CA710401 JB February 3, 1978 4:14 PM
title--DIFSUB for Solution of Ordinary Differential Equations [D2] (Algorithm
407)
abstract--
journal--CACM March, 1971
author--Gear, C. W.
keys--differential equations, stiff differential equations
categories--5.17
end--CA710307 JB February 3, 1978 4:16 PM
title--Exact Solution of Linear Equations Using Residue Arithmetic [F4]
(Algorithm 406)
abstract--
journal--CACM March, 1971
author--Howell, J.
keys--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
categories--3.15, 5.14
end--CA710306 JB February 3, 1978 4:23 PM
title--The Automatic Integration of Ordinary Differential Equations
abstract--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.
journal--CACM March, 1971
author--Gear, C. W.
keys--differential equations, stiff equations, integration, step control, order
control
categories--5.17
end--CA710305 JB February 3, 1978 4:28 PM
title--Storage Utilization in a Memory Hierarchy When Storage Assignment Is
Performed by a Hashing Algorithm
abstract--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.
journal--CACM March, 1971
author--Williams, J. G.
keys--hashing algorithms, memory allocation, memory hierarchy, memory
utilization, storage allocation, storage hierarchy, storage utilization
categories--3.74, 4.3
end--CA710304 JB February 3, 1978 4:37 PM
title--A Scheduling Algorithm for a Computer Assisted Registration System
abstract--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.
journal--CACM March, 1971
author--Winters, W. K.
keys--computer assisted registration, scheduling algorithm, timetable
categories--3.32, 5.39
end--CA710303 JB February 3, 1978 4:40 PM
title--Toward Automatic Program Synthesis
abstract--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.
journal--CACM March, 1971
author--Manna, Z.; Waldinger, R. J.
keys--artificial intelligence, answer extraction, automatic program synthesis,
mathematical induction principle, problem solving, theorem proving
categories--3.64, 5.23, 5.24
end--CA710302 JB February 3, 1978 4:48 PM
title--Scanned-Display Computer Graphics
abstract--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.
journal--CACM March, 1971
author--Noll, A. M.
keys--computer graphics, scanned-display, scan conversion, raster displays
categories--4.41, 6.35
end--CA710301 JB February 3, 1978 4:53 PM
title--F-DISTRIBUTION
abstract--
journal--CACM February, 1971
author--Tolman, H.
keys--Fisher's F-distribution, Student's t-distribution
categories--5.5
end--CA710209 JB February 8, 1978 8:35 AM
title--Roots of Matrix Pencils: The Generalized Eigenvalue Problem [F2]
(Algorithm 405)
abstract--
journal--CACM February, 1971
author--Dell, A. M.; Weil, R. L.; Thompson, G. L.
keys--eigenvalues, matrix roots, pencil roots
categories--5.1, 5.3
end--CA710208 JB February 8, 1978 8:37 AM
title--Complex Interval Arithmetic
abstract--Complex interval arithmetic is defined using real interval arithmetic.
Complex interval division is defined so as to assure smallest possible
resulting intervals.
journal--CACM February, 1971
author--Rokne, J.; Lancaster, P.
keys--real intervals, real interval arithmetic, complex intervals, complex
interval arithmetic
categories--5.11
end--CA710207 JB February 8, 1978 8:39 AM
title--Application of Game Tree Searching Techniques to Sequential Pattern
Recognition
abstract--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 "miniaverage 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.
journal--CACM February, 1971
author--Slagle, J. R.; Lee, R. C. T.
keys--sequential pattern recognition, game tree searching, game against nature,
gamma procedure, miniaverage backing-up procedure, dynamic programing, branch-
and-bound approach, optimal solution
categories--3.60, 3.63, 5.42
end--CA710206 JB February 8, 1978 8:56 AM
title--On the Probability Distribution of the Values of Binary Trees
abstract--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.
journal--CACM February, 1971
author--Hurwitz Jr., H.
keys--binary trees, sorting, statistical analysis
categories--4.40, 5.18, 5.5
end--CA710205 JB February 8, 1978 9:09 AM
title--Experiments in Automatic Learning for a Multipurpose Heuristic Program
abstract--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.
journal--CACM February, 1971
author--Slagle, J. R.; Farrell, C. D.
keys--learning, theorem-providing, heuristic, automatic learning, self-
modifying, tree-searching, artificial intelligence, problem-solving, adaptive,
LISP, multiple regression, resolution
categories--3.62, 3.64
end--CA710204 JB February 8, 1978 9:33 AM
title--An Analysis of Some Time-Sharing Techniques
abstract--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.
journal--CACM February, 1971
author--Nielsen, N. R.
keys--B6500, bulk core usage, operating system model, relocation, rotational
delay minimization, simulation, swap volume minimization, system simulation,
time-sharing
categories--3.9, 4.32
end--CA710203 JB February 8, 1978 9:40 AM
title--A Policy-Driven Scheduler for a Time-Sharing System
abstract--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.
journal--CACM February, 1971
author--Bernstein, A. J.; Sharp, J. C.
keys--scheduler, time-sharing, operating system, resource allocation and
swapping
categories--4.32
end--CA710202 JB February 8, 1978 9:54 AM
title--Conversion of Limited-Entry Decision Tables to Computer Programs-A
Proposed Modification to Pollack's Algorithm
abstract--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.
journal--CACM February, 1971
author--Shwayder, K.
keys--coding, decision table, entropy, information theory, noiseless channel,
sorting
categories--3.50, 5.31
end--CA710201 JB February 8, 1978 10:06 AM
title--Comment on the Conversion of Decision Tables to Computer Programs
abstract--
journal--CACM January, 1971
author--Pollack, S. L.
keys--decision tables, diagnostic aids, system analysis, business applications
categories--3.50, 3.59, 4.19, 4.29, 4.49
end--CA710113 JB February 8, 1978 10:09 AM
title--Comment on London's Certification of Algorithm 245
abstract--
journal--CACM January, 1971
author--Redish, K. A.
keys--proof of algorithms, debugging, certification, metatheory, sorting, in-
place sorting
categories--4.42, 4.49, 5.24, 5.31
end--CA710112 JB February 8, 1978 10:19 AM
title--Minit Algorithm For Linear Programming (Algorithm 222 [H])
abstract--
journal--CACM January, 1971
author--Kolm, A.; Dahlstrand, T.
keys--linear programming, dual simplex method, primal problem, dual problem
categories--5.41
end--CA710111 JB February 8, 1978 10:22 AM
title--Complex Gamma Function [S14] (Algorithm 404)
abstract--
journal--CACM January, 1971
author--Lucas Jr., C. W.; Terrill, C. W.
keys--gamma function, poles of gamma function, Stirling's asymptotic series,
recursion formula, reflection formula
categories--5.12
end--CA710110 JB February 8, 1978 10:25 AM
title--Circular Integer Partitioning [A1] (Algorithm 403)
abstract--
journal--CACM January, 1971
author--Coleman, M. W.; Taylor, M. S.
keys--partitions, combinatorics, statistical design of experiments
categories--5.39, 5.5
end--CA710109 JB February 8, 1978 10:27 AM
title--Further Evidence for the Analysis of Algorithms for the Zero-One
Programming Problem
abstract--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.
journal--CACM January, 1971
author--Proll, L. G.
keys--operations research, integer programming, zero-one variables, algorithms
categories--5.39, 5.41
end--CA710108 JB February 8, 1978 10:32 AM
title--Proof of a Program: FIND
abstract--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.
journal--CACM January, 1971
author--Hoare, C. A. R.
keys--proofs of programs, programming methodology, program documentation,
program correctness, theory of programming
categories--4.0, 4.22, 5.21, 5.23, 5.24
end--CA710107 JB February 8, 1978 10:40 AM
title--Comments on Prevention of System Deadlocks
abstract--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.
journal--CACM January, 1971
author--Holt, R. C.
keys--multiprogramming, time-sharing, scheduling, resource allocation,
deadlock, lockout, deadly embrace, knotting
categories--3.72, 4.32, 6.20
end--CA710106 JB February 8, 1978 10:45 AM
title--Construction of Rational and Negative Powers of a Formal Series
abstract--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.
journal--CACM January, 1971
author--Brucke, R. A.
keys--series expansion, series inversion, root extraction, binomial theorem,
Newton iterations, Chebyshev series, Poisson series, Fourier series
categories--3.11, 3.15, 3.21, 5.0
end--CA710105 JB February 8, 1978 10:57 AM
title--A Language for Treating Geometric Patterns in a Two-dimensional space
abstract--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.
journal--CACM January, 1971
author--Bracchi, G.; Ferrari, D.
keys--graphic language, problem-oriented language, two-dimensional patterns,
graphic display, Fortran extension, layout problems, integrated circuit,
architecture design, urban planning
categories--3.23, 3.24, 3.25, 4.22
end--CA710104 JB February 8, 1978 11:17 AM
title--The Reconstruction of Binary Patterns from Their Projections
abstract--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.
journal--CACM January, 1971
author--Chang, S.
keys--pattern reconstruction, image reconstruction, data compression, pattern
recognition, integral geometry
categories--3.63, 5.30
end--CA710103 JB February 8, 1978 12:33 PM
title--Pattern Width at a Given Angle
abstract--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.
journal--CACM January, 1971
author--Klinger, A.
keys--feature extraction, pattern recognition, figure properties, picture
processing, integral geometry, width-at-angle, extent, integral projections,
linear pattern measures, width functions
categories--3.60, 3.62, 3.63, 5.12
end--CA710102 JB February 8, 1978 12:49 PM
title--Signature Simulation and Certain Cryptographic Codes
abstract--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 to decode 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 mereley a matter
of time before someone finds the correct source document and locates the right
vault in the common-wealth of Virginia.
journal--CACM January, 1971
author--Hammer, C.
keys--Thomas Jefferson Beale, codes, cryptanalysis, cyphers, decoding,
Declaration of Independence, encoding, Magna Carta, pseudotext, signature,
simulation
categories--3.42, 3.63, 3.65, 3.71
end--CA710101 JB February 8, 1978 1:15 PM
title--Roots of Matrix Pencils (Algorithm R405)
abstract--
journal--CACM December, 1972
author--Heiberger, R. M.
keys--eigenvalues, matrix roots, pencil roots
categories--5.1, 5.3
end--CA721221 JB January 27, 1978 8:51 AM
title--Decision Table Translation (Algorithm R394)
abstract--
journal--CACM December, 1972
author--Marshall, D. R. T.
keys--decision table, decision table translation
categories--4.19
end--CA721220 JB January 27, 1978 8:53 AM
title--Remarks on Characterisitc Values and Associated Solutions of Mathieus
Differential Equation, Exponential Integral, and Systems of Hyperbolic P.D.E.
(Algorithms R352, R385, R392)
abstract--
journal--CACM December, 1972
author--Frisch, M. J.
keys--ANSI Fortran standard
categories--4.0, 4.22
end--CA721219 JB January 27, 1978 8:56 AM
title--BANDSOLVE (Algorithm R195)
abstract--
journal--CACM December, 1972
author--Schuegraf, E.
keys--
categories--
end--CA721218 DMM February 2, 1978 1:39 PM
title--Least Squares Surface Fit (Algorithm R176)
abstract--
journal--CACM December, 1972
author--Schuegraf, E.
keys--
categories--
end--CA721217 JB January 27, 1978 8:59 AM
title--Squank (Algorithm C379)
abstract--
journal--CACM December, 1972
author--Hallet, P.; Mund, E.
keys--numerical integration, integration rule, adaptive integration, automatic
integration, Simpson's rule, numerical quadrature, quadrature rule, adaptive
quadrature, automatic quadrature, round-off error control
categories--5.16
end--CA721216 JB January 27, 1978 9:01 AM
title--Pseudo-Random Numbers [G5] (Algorithm C266)
abstract--
journal--CACM December, 1972
author--Sullins, W. L.
keys--pseudo-random numbers, testing random number generators
categories--5.5
end--CA721215 JB January 27, 1978 9:04 AM
title--Product Type Three-point Gauss-Legendre-Simpson's Integration [D1]
(Algorithm A439)
abstract--
journal--CACM December, 1972
author--Boland, W. R.
keys--numerical integration, product type quadrature, Gaussian quadrature,
Simpson's rule
categories--5.16
end--CA721214 JB January 27, 1978 9:06 AM
title--Product Type Two-Point Gauss-Legendre-Simpson's Integration [D1]
(Algorithm A438)
abstract--
journal--CACM December, 1972
author--Boland, W. R.
keys--numerical integration, product type quadrature, Gaussian quadrature,
Simpson's rule
categories--5.16
end--CA721213 JB January 27, 1978 9:08 AM
title--Product Type Simpson's Integration [D1] (Algorithm A437)
abstract--
journal--CACM December, 1972
author--Boland, W. R.
keys--numerical integration, product type quadrature, Simpson's rule
categories--5.16
end--CA721212 JB January 27, 1978 9:10 AM
title--Product Type Trapezoidal Integration (Algorithm A436)
abstract--
journal--CACM December, 1972
author--Boland, W. R.
keys--numerical integration, product type quadrature, trapezoidal integration
categories--5.16
end--CA721211 JB January 27, 1978 9:11 AM
title--Trace-Driven Modeling and Analysis of CPU Scheduling in
Multiprogramming System
abstract--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.
journal--CACM December, 1972
author--Sherman, S.; Baskett III, F.; Browne, J. C.
keys--scheduling, CPU scheduling,multiprogramming, performance measurement,
trace driven models
categories--4.10, 4.20, 4.31, 4.32
end--CA721210 JB January 27, 1978 10:57 AM
title--Levels of Language for Portable Software
abstract--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.
journal--CACM December, 1972
author--Brown, P. J.
keys--portable software, level of language, machine independent, macro
processor, efficiency
categories--4.12, 4.21, 4.22
end--CA721209 JB January 27, 1978 11:02 AM
title--On the Criteria To Be Used in Decomposing Systems into Modules
abstract--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.
journal--CACM December, 1972
author--Parnas, D. L.
keys--software, modules, modularity, software engineering, KWIC index, software
design
categories--4.0
end--CA721208 JB January 27, 1978 11:09 AM
title--A New Method for the Solution of the Cauchy Problem for Parabolic
Equations
abstract--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) (h is
the increment size) depending on the finite difference approximations involved.
journal--CACM December, 1972
author--Moore, J.; Robinson, P.
keys--parabolic equations, the Cauchy problem, method of successive
approximations
categories--5.17
end--CA721207 JB January 27, 1978 11:13 AM
title--A Comparison of Multivariate Normal Generators
abstract--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.
journal--CACM December, 1972
author--Barr, D. R.; Sezak, N. L.
keys--random number generator, normal distribution, multivariate normal
distribution, multivariate normal generator
categories--3.65, 5.5
end--CA711206 JB January 27, 1978 11:19 AM
title--Computer Methods for Sampling from the Exponential and Normal
Distributions (Corrigendum)
abstract--
journal--CACM December, 1972
author--Ahrens, J. H.; Dieter, U.
keys--
categories--
end--CA721205 JB January 27, 1978 11:20 AM
title--Weighted Increment Linear Search for Scatter Tables
abstract--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.
journal--CACM December, 1972
author--Luccio, F.
keys--linear search, weighted increment search, scatter storage, hash table,
key, hash address, clustering, search length
categories--3.73, 3.74, 4.9
end--CA721204 JB January 27, 1978 11:25 AM
title--A Method for Incrementally Compiling Languages with Nested Statement
Structure
abstract--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 insofar 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.
journal--CACM December, 1972
author--Earley, J.; Caizergues, P.
keys--incremental compiler, interactive programming language
categories--4.12, 4.22
end--CA721203 JB January 27, 1978 1:04 PM
title--Index Ranges for Matrix Calculi
abstract--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.
journal--CACM December, 1972
author--Bayer, R.; Witzgall, C.
keys--address calculations, algorithm transformation, compilation, data
structures, indexing by name, indexing by position, index domain, index map,
index range, matrix expressions, normal form, programing languages, program
optimization, range operations, symbolic manipulation, syntactic analysis, well-
formed expressions
categories--4.12, 4.22, 5.14
end--CA721202 JB January 27, 1978 1:12 PM
title--Dynamic Partitioning for Array Languages
abstract--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.
journal--CACM December, 1972
author--Phillips, J. R.; Adams, H. C.
keys--dynamic partitioning, array partitioning array language, data structure,
tree structure, programming language design, array control blocks, partition
control blocks
categories--4.12, 4.2, 4.22
end--CA721201 JB January 27, 1978 1:20 PM
title--Comments on Moorer's Music and Computer Composition
abstract--
journal--CACM November, 1972
author--Smoliar, S. W.
keys--artificial intelligence, heuristic programming, models of cognitive
processes, computer music, computer composition, music theory
categories--3.44, 3.65
end--CA721114 JB January 27, 1978 1:22 PM
title--Further Comments on Dijkstra's Concurrent Programming Control Problem
abstract--
journal--CACM November, 1972
author--Eisenberg, M. A.; McGuire, M. R.
keys--critical section, concurrent programming control, multiprocessing
categories--4.32
end--CA721113 JB January 27, 1978 1:24 PM
title--A Note on Optimal Doubly-Chained Trees
abstract--
journal--CACM November, 1972
author--Kennedy, S.
keys--file searching, doubly-chained tree, binary search tree
categories--3.73, 3.74, 5.32, 5.6
end--CA721112 JB January 27, 1978 1:26 PM
title--Additional Results on Key-to-Address Transform Techniques: A
Fundamental Performance Study on Large Existing Formatted Files
abstract--
journal--CACM November, 1972
author--Lum, V. Y.; Yuen, P. S. T.
keys--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
categories--3.7, 3.72, 3.73, 3.74, 3.79, 4.9
end--CA721111 JB January 27, 1978 1:31 PM
title--Modified Incomplete Gamma Function [S14] (Algorithm A435)
abstract--
journal--CACM November, 1972
author--Fullerton, W.
keys--modified incomplete Gamma function, incomplete Gamma function, chi-square
distribution function, Poisson distribution function
categories--5.13
end--CA721110 JB January 27, 1978 1:40 PM
title--Exact Probabilities for R x C Contingency Tables [G2] (Algorithm A434)
abstract--
journal--CACM November, 1972
author--March, D. L.
keys--probability, contingency table, test of significance
categories--3.5, 5.5
end--CA721109 JB January 27, 1978 1:42 PM
title--An Approximate Method for Generating Symmetric Random Variables
abstract--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.
journal--CACM November, 1972
author--Ramberg, J. S.; Schmeiser, B. W.
keys--simulation, Monte Carlo, probability, statistics, approximations, random
variables, random numbers, moments, distribution
categories--5.5, 8.1
end--CA721108 JB January 27, 1978 1:47 PM
title--Garbage Collection for Virtual Memory Computer Systems
abstract--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.
journal--CACM November, 1972
author--Baecker, H. D.
keys--garbage collection, virtual memory, list processing, paging,
segmentation, page tables
categories--4.32
end--CA721107 JB January 27, 1978 1:50 PM
title--The Conversion of Limited-Entry Decision Tables to Optimal and Near-
Optimal Flowcharts: Two New Algorithms
abstract--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.
journal--CACM November, 1972
author--Verhelst, M.
keys--decision table, flowcharting, preprocessor, optimal programs, search
categories--3.50, 3.59, 4.19 4.29, 4.49, 5.31
end--CA721106 JB January 27, 1978 2:10 PM
title--Derived Semantics for Some Programming Language Constructs
abstract--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.
journal--CACM November, 1972
author--Henderson, P.
keys--lambda calculus, formal description, program correctness, programming
languages, semantics
categories--4.22, 5.23, 5.24
end--CA721105 JB January 27, 1978 2:19 PM
title--A Model for Type Checking
abstract--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.
journal--CACM November, 1972
author--Ledgard, H. F.
keys--type checking, types, Lambda calculus, models for programming languages,
syntax, semantics, compiler writing, language implementation, formal definition
categories--4.12, 4.22, 5.2, 5.21, 5.23
end--CA721104 JB January 27, 1978 2:30 PM
title--A Highly Parallel Algorithm for Approximating All Zeros of a Polynomial
with Only Real Zeros
abstract--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.
journal--CACM November, 1972
author--Patrick, M. L.
keys--parallel numerical algorithms, real polynomials, real zeros, Newton's
method, starting values, guaranteed convergence
categories--5.15
end--CA721103 JB January 27, 1978 2:35 PM
title--Algorithms To Reveal Properties of Floating-Point Arithmetic
abstract--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.
journal--CACM November, 1972
author--Malcolm, M. A.
keys--floating-point arithmetic, high-level languages, philosophy of language
design
categories--4.9, 5.19
end--CA721102 JB January 27, 1978 2:39 PM
title--A Comparative Study of Computer Programs for Integrating Differential
Equations
abstract--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.
journal--CACM November, 1972
author--Fox, P.
keys--ordinary differential equations, integration, program comparison,
certification, validation
categories--5.10, 5.17
end--CA721101 JB January 27, 1978 2:45 PM
title--Tableless Date Conversion (Algorithm R398)
abstract--
journal--CACM October, 1972
author--Robertson, J. D.
keys--date, calendar, Fortran statement function, arithmetic statement function
categories--3.15, 4.9, 5.9
end--CA721009 JB January 27, 1978 2:47 PM
title--Interpolation and Smooth Curve Fitting Based on Local Procedures [E2]
(Algorithm A433)
abstract--
journal--CACM October, 1972
author--Akima, H.
keys--interpolation, polynomial, slope of curve, smooth curve fitting
categories--5.13
end--CA721008 JB January 27, 1978 2:49 PM
title--Aesthetics and the Human Factor in Programming (Corrigendum)
abstract--
journal--CACM October, 1972
author--Ershov, A. P.
keys--
categories--
end--CA721007 JB January 27, 1978 2:51 PM
title--Sorting by Natural Selection
abstract--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.
journal--CACM October, 1972
author--Frazer, W. D.; Wong, C. K.
keys--algorithms, sorting by replacement selection, expected string length
categories--5.31
end--CA721006 JB January 27, 1978 2:54 PM
title--Conversion of Decision Tables By Rule Mask Method Without Rule Mask
abstract--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 (Algorithm2). The
new algorithms combine to a certain degree the advantages of mask methods with
those of tree methods.
journal--CACM October, 1972
author--Dathe, G.
keys--decision tables, rule mask, rule mask method, rule mask technique,
program generator
categories--3.50, 4.12, 4.19, 4.29
end--CA721005 JB January 27, 1978 3:02 PM
title--Generating English Discourse from Semantic Networks
abstract--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.
journal--CACM October, 1972
author--Simmons, R.; Slocum, J.
keys--semantic nets, grammars, deep case relations, semantic generation,
discourse generation
categories--3.42, 3.65
end--CA721404 JB January 27, 1978 3:10 PM
title--Integral Equations of Immunology
abstract--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.
journal--CACM October, 1972
author--Hanson, R. J.
keys--integral equations of the first kind, nonnegative constraints, singular
value analysis
categories--3.10, 5.14, 5.18, 5.41
end--CA721003 JB January 27, 1978 3:37 PM
title--Computer Methods for Sampling from the Exponential and Normal
Distributions
abstract--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.
journal--CACM October, 1972
author--Ahrens, J. H.; Dieter, U.
keys--random numbers, pseudorandom, normal distribution, exponential
distribution, exponential distribution, simulation, numerical analysis
categories--3.29, 3.57, 5.11, 5.5
end--CA721002 JB January 27, 1978 3:55 PM
title--Demand Paging Through Utilization of Working Sets on the MANIAC II
abstract--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.
journal--CACM October, 1972
author--Morris, J. B.
keys--demand paging, dynamic storage allocation, Maniac II, memory allocation,
one-level store, paging, paging associative memory, storage allocation,
thrashing, virtual memory, working set model
categories--4.30, 6.21
end--CA721001 JB January 27, 1978 4:06 PM
title--On Foster's Information Storage and Retrieval Using AVL Trees
abstract--
journal--CACM September, 1972
author--Tan, K. C.
keys--binary trees, search trees, information storage, information retrieval
categories--3.70, 3.73, 3.74,
end--CA720912 JB January 27, 1978 4:10 PM
title--A Controller for a Braille Terminal
abstract--
journal--CACM September, 1972
author--Rubinstein, R.; Feldman, J.
keys--blind programming aid, braille, braille character set, braille character
translation, braille computer communication, braille computer terminal, braille
terminal, tactile computer communication, tactile terminal
categories--1.59, 4.41, 6.35
end--CA720911 JB January 27, 1978 4:14 PM
title--Comment on Deadlock Prevention Method
abstract--
journal--CACM September, 1972
author--Parnas, D. L.; Habermann, A. N.
keys--multiprogramming, time-sharing, scheduling, resource allocation,
deadlock, interlock, lockout, deadly embrace, knotting
categories--3.72, 4.32, 6.20
end--CA720910 JB January 27, 1978 4:16 PM
title--The Eigenproblem of Block Tridiagonal Matrices
abstract--
journal--CACM September, 1972
author--Khalil, H. M.
keys--linear algebra, eigenvalues and eigenvectors, partial differential
equations
categories--5.14, 5.17
end--CA720909 JB January 27, 1978 4:18 PM
title--A Comparison of Floating Point Summation Methods
abstract--
journal--CACM September, 1972
author--Gregory, J.
keys--summation, floating-point addition, truncation error, error propagation
categories--5.11
end--CA720908 JB January 27, 1978 4:20 PM
title--Thinning Algorithms on Rectangular, Hexagonal, and Triangular Arrays
abstract--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.
journal--CACM September, 1972
author--Deutsch, E. S.
keys--thinning algorithms, rectangular, hexagonal, triangular arrays, image
processing, skeleton
categories--3.64
end--CA720907 JB January 27, 1978 4:25 PM
title--Solution of the Matrix Equation AX+XB=C [F4] (Algorithm A432)
abstract--
journal--CACM September, 1972
author--Bartels, R. H.; Stewart, G. W.
keys--linear algebra, matrices, linear equations
categories--5.14
end--CA720906 JB January 27, 1978 4:31 PM
title--Computer Routine for Quadratic and Linear Programming Problems [H]
(Algorithm A431)
abstract--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.
journal--CACM September, 1972
author--Ravindran, A.
keys--linear program, quadratic program, complementary problem, Lemke's
algorithm, simplex method
categories--5.41
end--CA720905 JB January 27, 1978 4:34 PM
title--Automatic Error Analysis for Determining Precision
abstract--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.
journal--CACM September, 1972
author--Richman, P. L.
keys--error analysis, interval arithmetic, precision control
categories--5.11
end--CA720904 JB January 27, 1978 4:39 PM
title--A New Approach to Automatic Scanning of Contour Maps
abstract--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.
journal--CACM September, 1972
author--Mor, M.; Lamdan, T.
keys--automatic scanning, contour maps, digitizing, contour lines, topology,
detection and recognition
categories--3.14, 3.19, 6.35, 6.36
end--CA720903 JB January 27, 1978 4:46 PM
title--File Organization: The Consecutive Retrieval Property
abstract--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.
journal--CACM September, 1972
author--Ghosh, S. P.
keys--file organization, consecutive storage, consecutive retrieval,
information retrieval, record organization, query structure, record structure,
storage on tapes, storage space, minimum access time
categories--3.70, 3.73, 3.74
end--CA720902 JB January 27, 1978 4:52 PM
title--Cellular Arrays for the Solution of Graph Problems
abstract--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.
journal--CACM September, 1972
author--Levitt, K. N.; Kautz, W. H.
keys--graph theory, cellular logic-in-memory arrays, parallel processing,
special purpose computers, algorithms for distance and spanning tree problems
categories--5.32, 6.22, 6.5
end--CA720901 JB January 30, 1978 9:16 AM
title--Immediate Predominators in a Directed Graph [H] (Algorithm A430)
abstract--
journal--CACM August, 1972
author--Purdom Jr., P. W.; Moore, E. F.
keys--predominator, immediate predominator, graph theory, directed graph,
shortest path, articulation, connectivity, program optimization, optimizing
compiler
categories--4.12, 5.32
end--CA720812 JB January 30, 1978 9:19 AM
title--Localization of the Roots of a Polynomial [C2] (Algorithm A429)
abstract--
journal--CACM August, 1972
author--Squire, W.
keys--polynomials, roots of polynomials, theory of equations, Routh-Hurwitz
criterion
categories--5.15
end--CA720811 JB January 30, 1978 9:21 AM
title--A Note on the Generation of Rosary Permutations
abstract--
journal--CACM August, 1972
author--Read, R. C.
keys--permutation, permutation generation
categories--5.39
end--CA720810 JB January 30, 1978 9:24 AM
title--Comment on Average Binary Search Length
abstract--
journal--CACM August, 1972
author--Jones, P. R.
keys--searching, binary searching, record retrieval
categories--3.74
end--CA720809 JB January 30, 1978 9:26 AM
title--A Bonus from van Wijngaarden's Device
abstract--
journal--CACM August, 1972
author--Morris Jr., J. H.
keys--non-local transfers, procedure returns
categories--4.12, 4.13, 4.22
end--CA720808 JB January 30, 1978 9:27 AM
title--Comment on the Composition of Semantics in Algol 68
abstract--
journal--CACM August, 1972
author--van der Poel, W. L.
keys--programming primitives, programming languages, Algol, semantics,
recursive composition, design of programming languages, data structures
categories--1.3, 4.2, 4.22, 5.23, 5.24
end--CA720807 JB January 30, 1978 9:29 AM
title--Compiling Fixed-Point Multiplications
abstract--
journal--CACM August, 1972
author--Bernstein, H. J.
keys--compiling multiplications, fixed-point arithmetic
categories--4.12
end--CA720806 JB January 30, 1978 9:42 AM
title--A Model of Memory Contention in a Paging Machine
abstract--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 obtainable in
the average execution interval of the multiprogrammed load over that resulting
from equal fixed partitioning of main memory.
journal--CACM August, 1972
author--Oden, P. H.; Shedler, G. S.
keys--paging machines, demand paging, operating systems studies, queuing
analysis, memory contention, memory management
categories--4.32
end--CA720805 JB January 30, 1978 9:50 AM
title--An Environment for Research in Microprogramming and Emulation
abstract--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.
journal--CACM August, 1972
author--Rosin, R. F.; Frieder, G.; Eckhouse Jr., R. H.
keys--microprogramming, emulation, computer systems, language processors, input-
output systems, nanoprogram, project management, hardware evaluation
categories--4.1, 4.2, 4.3, 6.2
end--CA720804 JB January 30, 1978 9:55 AM
title--An Extensible Editor for a Small Machine with Disk Storage
abstract--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.
journal--CACM August, 1972
author--Benjamin, A. J.
keys--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
categories--3.73, 3.74, 3.75, 4.13, 4.22, 4.43, 4.49
end--CA720803 JB January 30, 1978 10:00 AM
title--Political Redistricting by Computer
abstract--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.
journal--CACM August, 1972
author--Helbig, R. E.; Orr, P. K.; Roediger, R. R.
keys--political redistricting, reapportionment, compactness, equal population,
contiguity, transportation algorithm, legislative districts, population units
categories--2.12, 3.35, 5.41
end--CA720802 JB January 30, 1978 10:14 AM
title--Generating Parsers for Affix Grammars
abstract--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.
journal--CACM August, 1972
author--Crowe, D.
keys--algorithmic language processing, bottom-up parsing, Floyd Production
Language, parsing, syntax directed compiling, translator writing systems, two-
level grammars
categories--3.42, 4.12, 4.13, 4.20, 5.23
end--CA720801 JB January 30, 1978 10:21 AM
title--Computers and Employment
abstract--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.
journal--CACM July, 1972
author--Borodin, A.; Gotlieb, C. C.
keys--employment, unemployment, social implications, attitudes, skills,
obsolescence, technology, unions, displacement
categories--2.1
end--CA720726 JB January 30, 1978 10:30 AM
title--Archaeology of Computers - Reminiscences, 1945-1947
abstract--The period preceding the founding of ACM was dominated by the first
large computer ENIAC. Its characteristics, described here, foreshadow later
developments.
journal--CACM July, 1972
author--Alt, F. L.
keys--history of computers
categories--1.2
end--CA720725 JB January 30, 1978 10:36 AM
title--A Western View of Computer History
abstract--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 States are described as they happened.
journal--CACM July, 1972
author--Sprague, R. E.
keys--history, computer history
categories--1.2, 6.0
end--CA720724 JB January 30, 1978 10:40 AM
title--The "Plankalkul" of Konrad Zuse: A Forerunner of Today's Programming
Languages
abstract--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.
journal--CACM July, 1972
author--Bauer, F. L.; Wossner, H.
keys--higher programming languages, programming, theory of programming, history
of programming
categories--1.2, 4.22, 5.29
end--CA720723 JB January 30, 1978 10:46 AM
title--Ancient Babylonian Algorithms
abstract--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.
journal--CACM July, 1972
author--Knuth, D. E.
keys--history of computation, Babylonian tablets, sexagesimal number system,
sorting
categories--1.2
end--CA720722 JB January 30, 1978 10:50 AM
title--Dynamic Document Processing
abstract--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.
journal--CACM July, 1972
author--Salton, G.
keys--automatic indexing, automatic search and retrieval, iterative searching,
mechanized library processing, collection growth, collection retirement,
feedback search
categories--3.62, 3.71, 3.73, 3.74
end--CA720721 JB January 30, 1978 10:59 AM
title--Computers and Urban Society
abstract--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.
journal--CACM July, 1972
author--Sturman, G. M.
keys--urban systems, urban applications, data acquisition, data management,
engineering analysis, information systems
categories--3.23, 3.39, 3.53, 3.72, 3.82, 3.89
end--CA720720 JB January 30, 1978 11:05 AM
title--Computers in the Instructional Process: Directions for Research and
Development
abstract--A survey is given of computer applications to the instructional
process which suggests how the computer professional can contribute to
effective educational systems.
journal--CACM July, 1972
author--Zinn, K. L.
keys--education
categories--1.5, 3.32
end--CA720719 JB January 30, 1978 11:13 AM
title--Language Analysis in the Humanities
abstract--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.
journal--CACM July, 1972
author--Sedelow, S. Y.
keys--language analysis, humanities, science of the humanities, pattern
recognition, pattern generation, interdisciplinary cooperation
categories--1.3, 2.19, 3.42, 3.43
end--CA720718 JB January 30, 1978 11:19 AM
title--A Generational Perspective of Information System Development
abstract--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.
journal--CACM July, 1972
author--Benjamin, R. I.
keys--computing milieu, management data processing, hardware systems, software
systems, systems development process, functional systems, management systems
categories--2.0, 3.50, 4.0, 6.20
end--CA720717 JB January 30, 1978 11:22 AM
title--On the Present and Future of Scientific Computation
abstract--A pessimistic forecast is given of what can be expected to happen in
the application of computers to the physical sciences.
journal--CACM July, 1972
author--Rice, J. R.
keys--scientific computation
categories--3.1, 5.0
end--CA720716 JB January 30, 1978 11:24 AM
title--The Evolution of Storage Structures
abstract--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.
journal--CACM July, 1972
author--Bachman, C. W.
keys--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
categories--1.4, 4.41, 4.9
end--CA720715 JB January 30, 1978 1:16 PM
title--Requirements for Advanced Programming Systems for List Processing
abstract--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.
journal--CACM July, 1972
author--Bobrow, D. G.
keys--list processing, programming languages, design of programming languages,
interactive systems, control structures, data structures, programming
primitives, semantics, advanced programming systems
categories--1.3, 4.2, 4.22, 4.3, 4.32, 5.23, 5.24
end--CA720714 JB January 30, 1978 1:30 PM
title--The Production of Better Mathematical Software
abstract--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.
journal--CACM July, 1972
author--Fosdick, L. D.
keys--mathematical software, programming
categories--4.0
end--CA720713 JB January 30, 1978 1:32 PM
title--Programming Languages: History and Future
abstract--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.
journal--CACM July, 1972
author--Sammet, J. E.
keys--programming languages, higher level languages, languages, history, future
directions, language interrelationships, programming language tree, programming
language history, programming language future
categories--1.2, 4.2
end--CA720712 JB January 30, 1978 1:38 PM
title--Programming Systems and Languages 1965-1975
abstract--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.
journal--CACM July, 1972
author--Rosen, S.
keys--languages, operating systems, programming systems, multiprogramming,
history
categories--1.2, 4.22, 4.32
end--CA720711 JB January 30, 1978 1:47 PM
title--The Role of Computer System Models in Performance Evaluation
abstract--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.
journal--CACM July, 1972
author--Kimbleton, S. R.
keys--modeling, evaluation, performance, analytic-models, simulation-models,
system-models
categories--2.43, 2.44, 6.2, 8.3
end--CA720710 JB January 30, 1978 2:03 PM
title--Operating System Performance
abstract--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.
journal--CACM July, 1972
author--Lynch, W. C.
keys--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
categories--4.30, 6.20
end--CA720709 JB January 30, 1978 2:33 PM
title--Structured Multiprogramming
abstract--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.
journal--CACM July, 1972
author--Hansen, P. B.
keys--structured multiprogramming, programming languages, operating systems,
concurrent processes, shared data, mutual exclusion, critical regions, process
communication, synchronizing events.
categories--4.2, 4.3
end--CA720708 JB January 30, 1978 2:39 PM
title--On the Interface Between Computers and Data Communications Systems
abstract--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.
journal--CACM July, 1972
author--Fraser, A. G.
keys--communications, standard interface communications protocol, virtual
channel, multiplexed input/output, coordination of input/output
categories--3.81, 6.0, 6.35
end--CA720707 JB January 30, 1978 2:46 PM
title--A View of computer Architecture
abstract--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.
journal--CACM July, 1972
author--Foster, C. C.
keys--computer architecture, projection, microcomputers, computer design,
computer organization
categories--1.2, 2.1, 6.0, 6.2
end--CA720706 JB January 30, 1978 3:00 PM
title--Toward a General Theory of Special Functions
abstract--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).
journal--CACM July, 1972
author--Moses, J.
keys--algebraic manipulation, special functions, algebraic simplification,
symbolic integration, algebraic geometry, differential algebra
categories--1.50, 3.15, 5.19, 5.9
end--CA720705 JB January 30, 1978 3:07 PM
title--Management Science: A View from Nonlinear Programming
abstract--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.
journal--CACM July, 1972
author--Shanno, D. F.; Weil, R. L.
keys--integer programming, linear programming, mathematical programming,
nonlinear programming, quadratic programming, management science, operations
research, algorithms
categories--5.41, 8.3
end--CA720704 JB January 30, 1978 3:14 PM
title--Numerical Mathematics and Computer Science
abstract--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.
journal--CACM July, 1972
author--Traub, J. F.
keys--numerical mathematics, computer science, mathematics of computation,
algorithms, continuous algorithms
categories--1.3, 5.0, 5.1, 5.25
end--CA720703 JB January 30, 1978 3:17 PM
title--Fixpoint Approach to the Theory of Computation
abstract--Following the fixpoint theory of Scott, the semantics of computer
programs are defined in terms of the least fixpoints 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.
journal--CACM July, 1972
author--Manna, Z.; Vuillemin, J.
keys--verification techniques, semantics of programming languages, least
fixpoints, recursive programs, computational induction
categories--5.23, 5.24
end--CA720702 JB January 30, 1978 3:42 PM
title--Toward an Automata Theory of Brains
abstract--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.
journal--CACM July, 1972
author--Arbib, M. A.
keys--automata theory, brain theory, network complexity, resolution of
redundancy of potential command, frog visual system, reticular formation mode
selection
categories--3.36, 3.65, 5.22
end--CA720701 JB January 30, 1978 3:46 PM
title--Individualizing Instruction in a Generative CAI Tutor
abstract--
journal--CACM June, 1972
author--Koffman, E. B.
keys--computer-assisted instruction, generative CAL, adaptive instruction
categories--3.32, 3.51, 3.62
end--CA720617 JB January 30, 1978 3:47 PM
title--Computer Science-A Vicious Circle
abstract--
journal--CACM June, 1972
author--Kandel, A.
keys--education, computer engineering, computer science curriculum, systems
design
categories--1.52, 6.0
end--CA720616 JB January 30, 1978 3:49 PM
title--Calculation of Fourier Integrals (Algorithm R418)
abstract--
journal--CACM June, 1972
author--Einarsson, B.
keys--quadrature, Filon quadrature, integration, Filon integration, Fourier
coefficients, Fourier integrals, Fourier series, spline,spline approximation,
spline quadrature, extrapolation, Richardson extrapolation
categories--5.16
end--CA720615 JB January 30, 1978 3:53 PM
title--An Integer Programming Problem (Algorithm R397)
abstract--
journal--CACM June, 1972
author--Johnson, S. C.; Kernighan, B. W.
keys--integer programming, change-making problem
categories--5.41
end--CA720614 JB January 30, 1978 3:55 PM
title--Special Series Summation with Arbitrary Precision (Algorithm R393)
abstract--
journal--CACM June, 1972
author--Sale, A. H. J.
keys--function evaluation, series summation, approximation
categories--5.12, 5.13
end--CA720613 JB January 30, 1978 4:00 PM
title--Random Vectors Uniform is Solid Angle (Algorithm R381)
abstract--
journal--CACM June, 1972
author--Schrack, G. F.
keys--random vector generator, points uniform on sphere, spherically symmetric
probability distribution
categories--5.5
end--CA720612 JB January 30, 1978 4:02 PM
title--General Random Number Generator (Algorithm R370)
abstract--
journal--CACM June, 1972
author--Proll, L. G.
keys--random number generator, probability density function, transformation,
cummulative distribution function
categories--5.13, 5.5
end--CA720611 JB January 30, 1978 4:09 PM
title--Eigenvalues and Eigenvectors of a Real General matrix (Algorithm R343)
abstract--
journal--CACM June, 1972
author--Niessner, H.
keys--eigenvalues, eigenvectors, QR-algorithm, nonsymmetric matrices, general
matrices
categories--5.14
end--CA720610 JB January 30, 1978 4:11 PM
title--Complex Error Function (Algorithm C363)
abstract--
journal--CACM June, 1972
author--Kolbig, K. S.
keys--error function for complex argument, Voigt function, special functions,
function evaluation
categories--5.12
end--CA720609 JB January 30, 1978 4:12 PM
title--A Sorting Problem and Its Complexity
abstract--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.
journal--CACM June, 1972
author--Pohl, I.
keys--sorting, computational complexity, computational combinatorics
categories--5.29, 5.31
end--CA720608 JB January 30, 1978 4:15 PM
title--A Starting Method for Solving Nonlinear Volterra Integral Equations of
the Second Kind
abstract--A fourth-order starting method is given for Volterra integral
equations of the second kind and numerical examples are presented.
journal--CACM June, 1972
author--Iguchi, K.
keys--algorithm, Volterra integral equations, starting method
categories--5.18
end--CA720607 JB January 30, 1978 4:17 PM
title--Computer-Assigned Codes from Verbal Responses
abstract--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.
journal--CACM June, 1972
author--O'Reagan, R. T.
keys--verbal responses, computer coding, reference list, historical response
patterns, word strings, concept translation, word coding
categories--3.30, 3.42, 3.63, 3.66, 3.71, 3.74, 3.75, 5.6
end--CA720606 JB January 30, 1978 4:23 PM
title--A Boolean Matrix Method for the Computation of Linear Precedence
Functions
abstract--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.
journal--CACM June, 1972
author--Martin, D. F.
keys--precedence grammars, context-free parsing
categories--4.12
end--CA720605 JB January 30, 1978 4:28 PM
title--Blocks-A New Datatype for SNOBOL4
abstract--A new datatype, 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.
journal--CACM June, 1972
author--Gimpel, J. F.
keys--character manipulation, output formatting, string processing, graphics,
nonnumerical programming, SNOBOL4, datatypes, two-dimensional mathematics, test
processing, flowcharting
categories--4.22, 4.41
end--CA720604 JB January 30, 1978 4:38 PM
title--Interference Between Communicating Parallel Processes
abstract--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.
journal--CACM June, 1972
author--Gilbert, P.; Chandler, W. J.
keys--concurrent programming control, cooperating processes, formal programs,
interference, mutual exclusion, operating systems, parallel processes
categories--4.0, 4.10, 4.30, 4.32, 4.42, 5.24, 6.20
end--CA720603 JB January 31, 1978 8:44 AM
title--A Proposal To Establish a Pseudo Virtual Memory via Writable Overlays
abstract--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.
journal--CACM June, 1972
author--Spacek, T. R.
keys--overlay, overlay structure, segment, segmentation, folding, paging,
linkage editor, collector, loader, virtual memory
categories--4.10, 4.12, 4.39, 4.49
end--CA720602 JB January 31, 1978 8:53 AM
title--On the Optimization of Performance of Time-Sharing Systems by
Simulationabstract--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.
journal--CACM June, 1972
author--Blatny, J.; Clark, S. R.; Rourke, T. A.
keys--time-sharing, simulation studies, optimization, measure of performance,
scheduling algorithms
categories--3.80, 4.30, 4.32
end--CA720601 JB January 31, 1978 9:19 AM
title--Curriculum Recommendations for Graduate Professional Programs in
Information Systems
abstract--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.
journal--CACM May, 1972
author--Ashenhurst, R. L.
keys--education, management systems, systems analysis, management information
systems, information systems development, information analysis, system design
categories--1.52, 3.51
end--CA720515 JB January 31, 1978 9:28 AM
title--Hu-Tucker Minimum Redundancy Alphabetic Coding Method [Z] (Algorithm
A428)
abstract--
journal--CACM May, 1972
author--Yohe, J. M.
keys--information theory, coding theory, Hu-Tucker method, minimum redundancy
coding
categories--5.6
end--CA720514 JB January 31, 1978 9:30 AM
title--Fourier Cosine Integral [D1] (Algorithm A427)
abstract--
journal--CACM May, 1972
author--Linz, P.
keys--numerical integration, quadrature, adaptive quadrature, Filon quadrature,
Fourier coefficients, Fourier integrals
categories--5.16
end--CA720513 JB January 31, 1978 9:32 AM
title--Merge Sort Algorithm [M1] (Algorithm A426)
abstract--
journal--CACM May, 1972
author--Bron, C.
keys--sort, merge
categories--5.31
end--CA720512 JB January 31, 1978 9:33 AM
title--Generation of Random Correlated Normal Variables [G5] (Algorithm A425)
abstract--
journal--CACM May, 1972
author--Hurst, R. L.; Knop, R. E.
keys--random number, normal density, normal distribution, Gaussian density,
Gaussian distribution, simulation, Monte Carlo
categories--5.5
end--CA720511 JB January 31, 1978 9:35 AM
title--Clenshaw-Curtis Quadrature [D1] (Algorithm A424)
abstract--
journal--CACM May, 1972
author--Gentleman, W. M.
keys--quadrature, Chebyshev series, cosine transform, fast Fourier transform
categories--5.1
end--CA720510 JB January 31, 1978 9:37 AM
title--The Optimality of Winograd's Formula
abstract--
journal--CACM May, 1972
author--Harter, R.
keys--inner product, Winograd's formula
categories--5.14
end--CA720509 JB January 31, 1978 9:38 AM
title--Minimax Nonlinear Approximation by Approximation on Subsets
abstract--
journal--CACM May, 1972
author--Dunham, C. B.
keys--minimax approximation, nonlinear approximation, subset
categories--5.13
end--CA720508 JB January 31, 1978 9:40 AM
title--Fast Finite-Difference Solution of Biharmonic Problems
abstract--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.
journal--CACM May, 1972
author--Greenspan, D.; Schultz, D.
keys--numerical analysis, partial differential equations, biharmonic equation,
boundary value problem
categories--5.17
end--CA720507 JB January 31, 1978 9:43 AM
title--Implementing Clenshaw-Curtis Quadrature, II Computing the Cosine
Transformation
abstract--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.
journal--CACM May, 1972
author--Gentleman, W. M.
keys--fast Fourier transformation, cosine transformation, Clenshaw-Curtis
quadrature, Chebyshev series
categories--5.13, 5.14, 5.16
end--CA720506 JB January 31, 1978 9:56 AM
title--Implementing Clenshaw-Curtis quadrature, I Methodology and Experience
abstract--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.
journal--CACM May, 1972
author--Gentleman, W. M.
keys--Clenshaw Curtis, numerical integration, automatic quadrature, error
estimates, Chebyshev series
categories--5.16
end--CA720505 JB January 31, 1978 10:05 AM
title--A Technique for Software Module Specification with Examples
abstract--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.
journal--CACM May, 1972
author--Parnas, D. L.
keys--software, specification, modules, software engineering, software design
categories--4.0, 4.29, 4.9
end--CA720504 JB January 31, 1978 10:47 AM
title--MUX, a Simple Approach to On-Line Computing
abstract--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.
journal--CACM May, 1972
author--Christman, R. D.
keys--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
categories--3.79, 3.89, 4.39, 4.41
end--CA720503 JB January 31, 1978 11:04 AM
title--The Multics Virtual Memory: Concepts and Design
abstract--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.
journal--CACM May, 1972
author--Bensoussan, A.; Clingen, C. T.; Daley, R. C.
keys--operating system, Multics, virtual memory, segmentation, information
sharing, paging, memory management, memory hierarchy
categories--4.30, 4.31, 4.32
end--CA720502 JB January 31, 1978 11:24 AM
title--An Improved Index Sequential Access Method Using Hashed Overflow
abstract--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.
journal--CACM May, 1972
author--Mullin, J. K.
keys--ISAM, index sequential, hashing, scatter storage, disk, cylinder,
overflow
categories--3.72, 3.73, 3.74
end--CA720501 JB January 31, 1978 12:29 PM
title--A Comment on the Double-Chained Tree
abstract--
journal--CACM April, 1972
author--Hu, T. C.
keys--file searching, double-chained tree, binary search tree
categories--3.73, 3.74, 5.32, 5.6
end--CA720413 JB January 31, 1978 12:31 PM
title--A Note on Cheney's Nonrecursive List-Compacting Algorithm
abstract--
journal--CACM April, 1972
author--Walden, D. C.
keys--list compacting, garbage collection
categories--4.19, 4.49
end--CA720412 JB January 31, 1978 12:32 PM
title--Linear Equation Solver [F4] (Algorithm A423)
abstract--
journal--CACM April, 1972
author--Moler, C. B.
keys--matrix algorithms, linear equations, Fortran, paged memory, virtual
memory, array processing
categories--4.22, 4.32, 5.14
end--CA720411 JB January 31, 1978 12:34 PM
title--Minimal Spanning Tree [H] (Algorithm A422)
abstract--
journal--CACM April, 1972
author--Whitney, V. K. M.
keys--spanning tree, minimal spanning tree, maximal spanning tree
categories--5.32
end--CA720410 JB January 31, 1978 12:36 PM
title--Complex Gamma Function with Error Control [S14] (Algorithm A421)
abstract--
journal--CACM April, 1972
author--Kuki, H.
keys--complex gamma function, gamma function, complex loggamma function,
loggamma function, round-off error control, inherent error control, run-time
error estimates, error estimates, special functions
categories--4.9, 5.11, 5.12
end--CA720409 JB January 31, 1978 12:50 PM
title--Matrix Computations with Fortran and Paging
abstract--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.
journal--CACM April, 1972
author--Moler, C. B.
keys--matrix algorithms, linear equations, Fortran, paged memory, virtual
memory, array processing
categories--4.22, 4.32, 5.14
end--CA720408 JB January 31, 1978 12:54 PM
title--Complex Gamma Function with Error Control
abstract--An algorithm to compute the gamma function and loggamma 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.
journal--CACM April, 1972
author--Kuki, H.
keys--complex gamma function, gamma function, complex loggamma function,
loggamma function, round-off error control, inherent error control, run-time
error estimates, error estimates
categories--5.11, 5.12
end--CA720407 JB January 31, 1978 12:59 PM
title--Computers and Society: A Proposed Course for Computer Scientists
abstract--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.
journal--CACM April, 1972
author--Horowitz, E.; Morgan, H. L.; Shaw, A. C.
keys--computers and society, social implications, course proposal
categories--1.0, 1.52, 2.1
end--CA720406 JB January 31, 1978 1:06 PM
title--An Implemented Graph Algorithm for Winning Shannon Switching games
abstract--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.
journal--CACM April, 1972
author--Chase, S. M.
keys--graph algorithms, graph processing, Shannon Switching Games, game
playing, graph theory, positional games, demonstration programs, game theory,
spinning trees
categories--3.69, 5.32
end--CA720405 JB January 31, 1978 1:34 PM
title--Hidden Lines Elimination for a Rotating Object
abstract--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.
journal--CACM April, 1972
author--Matsushita, Y.
keys--hidden line problem, display programming, computer graphics, displays,
graphics, computer drawn picture
categories--4.40, 4.41, 4.49
end--CA720404 JB January 31, 1978 1:40 PM
title--An Experimental Laboratory for Pattern Recognition and Signal
Processingabstract--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.
journal--CACM April, 1972
author--Herbst, N. M.; Will, P. M.
keys--scanners, pseudorandom displays, interactive terminal, image processing,
pattern recognition
categories--4.41, 6.35
end--CA720403 JB January 31, 1978 1:47 PM
title--A System for Interprocess Communication in a Resource Sharing Computer
Network
abstract--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.
journal--CACM April, 1972
author--Walden, D. C.
keys--interprocess communication, time-sharing, computer networks, resource
sharing
categories--3.81, 4.39, 4.82, 4.9
end--CA720402 JB January 31, 1978 1:51 PM
title--On the Implementation of Security Measures in Information Systems
abstract--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.
journal--CACM April, 1972
author--Conway, R. W.; Maxwell, W. L.; Morgan, H. L.
keys--security, privacy, access control confidentiality, operating systems,
access management, data banks, management information systems
categories--3.50, 3.73, 4.12, 4.22, 4.39
end--CA720401 JB January 31, 1978 1:59 PM
title--Properties of the Working-Set Model
abstract--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.
journal--CACM March, 1972
author--Denning, P. J.; Schwartz, S. C.
keys--working-set model, paging, paging algorithms, program behavior, program
modeling
categories--4.3
end--CA720308 JB January 31, 1978 2:07 PM
title--A Study of Storage Partitioning Using a Mathematical Model of Locality
abstract--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.
journal--CACM March, 1972
author--Coffman Jr., E. G.; Ryan Jr., T. A.
keys--storage partitioning, memory management, dynamic storage allocation,
space sharing, multiprogrammed storage, working-sets, program behavior models,
mathematical modeling
categories--4.32, 4.39
end--CA720307 JB January 31, 1978 2:29 PM
title--A Comparative Analysis of Disk Scheduling Policies
abstract--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.
journal--CACM March, 1972
author--Teorey, T. J.; Pinkerton, T. B.
keys--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
categories--3.72, 4.32, 6.34
end--CA720306 JB January 31, 1978 2:38 PM
title--Synchronization of Communicating Processes
abstract--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.
journal--CACM March, 1972
author--Habermann, A. N.
keys--parallel programming, multiprogramming, program correctness, process
communication, process scheduling
categories--4.30, 4.32, 4.39, 4.9
end--CA720305 JB January 31, 1978 2:44 PM
title--A Hardware Architecture for Implementing Protection Rings
abstract--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.
journal--CACM March, 1972
author--Schroeder, M. D.; Saltzer, J. H.
keys--protection, protection rings, protection hardware, access control,
hardware access control, computer utility, time-sharing, shared information,
segmentation, virtual memory, Multics
categories--4.32, 6.21
end--CA720304 JB January 31, 1978 2:58 PM
title--An Operating System Based on the Concept of a Supervisory Computer
abstract--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.
journal--CACM March, 1972
author--Gaines, R. S.
keys--operating systems, supervisors, multiprogramming, time-sharing,
cooperating processes
categories--4.30, 4.31, 4.32
end--CA720303 JB January 31, 1978 3:08 PM
title--The Design of the Venus Operating System
abstract--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.
journal--CACM March, 1972
author--Liskov, B. H.
keys--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
categories--4.30, 4.32, 4.41, 6.21
end--CA720302 JB January 31, 1978 3:16 PM
title--TENEX, a Paged Time Sharing System for the PDP-10
abstract--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.
journal--CACM March, 1972
author--Bobrow, D. G.; Burchfiel, J. D.; Murphy, D. L.; Tomlinson, R. S.;
Beranek, B.
keys--TENEX, paging, virtual machines, time sharing system, scheduling
algorithm, process structure, PDP-10
categories--2.44, 4.32, 4.39, 4.42
end--CA720301 JB January 31, 1978 3:37 PM
title--Average Binary Search Length for Dense Ordered Lists (Corrigendum)
abstract--
journal--CACM February, 1972
author--Flores, I.; Madpis, G.
keys--
categories--
end--CA720210 JB January 31, 1978 3:40 PM
title--Reconstruction of Pictures from Their Projections (Corrigendum)
abstract--
journal--CACM February, 1972
author--Gordon, R.; Herman, G. T.
keys--
categories--
end--CA720209 JB January 31, 1978 3:42 PM
title--Music and Computer Composition
abstract--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.
journal--CACM February, 1972
author--Moorer, J. A.
keys--artificial intelligence, heuristic programming, models of cognitive
processes, computer music, computer composition, music theory
categories--3.44, 3.65
end--CA720208 JB January 31, 1978 3:54 PM
title--Hidden-Line Plotting Program [J6] (Algorithm A420)
abstract--
journal--CACM February, 1972
author--Williamson, H.
keys--hidden-line plot, surface plot
categories--4.9
end--CA720207 JB January 31, 1978 4:12 PM
title--Zeros of a Complex Polynomial [C2] (Algorithm A419)
abstract--
journal--CACM February, 1972
author--Jenkins, M. A.; Traub, J. F.
keys--roots, roots of a polynomial, zeros of a polynomial
categories--5.15
end--CA720206 JB January 31, 1978 4:14 PM
title--Dynamic Microprogramming: Processor Organization and Programming
(Corrigendum)
abstract--
journal--CACM February, 1972
author--Tucker, A. B.
keys--
categories--
end--CA720205 JB January 31, 1978 4:21 PM
title--Maximum Computing Power and Cost Factors in the Centralization Problem
abstract--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.
journal--CACM February, 1972
author--Oldehoeft, A. E.; Halstead, M. H.
keys--centralization, decentralization, economics of computers, computer
management, economies of scale
categories--2.41
end--CA720204 JB January 31, 1978 4:25 PM
title--Optimizing Binary Trees Grown With a Sorting Algorithm
abstract--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.
journal--CACM February, 1972
author--Martin, W. A.; Ness, D. N.
keys--retrieving information from binary trees, global and local optimization,
sorting, recursion
categories--3.74, 5.31
end--CA720203 JB January 31, 1978 4:30 PM
title--Preliminary Report on a System for General Space Planning
abstract--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.
journal--CACM February, 1972
author--Eastman, C. M.
keys--automated design, architecture, heuristic programs, space planning
categories--3.20, 3.40, 3.64, 3.66
end--CA720202 JB January 31, 1978 4:35 PM
title--A Proposal for a Computer-Based Interactive Scientific Community
abstract--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.
journal--CACM February, 1972
author--Pager, D.
keys--interactive system, organization of scientific community, readers,
writers, commentators, computer utility, information retrieval, trees, data
structures
categories--1.0, 1.1, 1.59, 2.10, 3.15, 3.32, 3.50, 3.51, 3.70, 3.71, 3.74, 3.9
end--CA720201 JB February 1, 1978 8:51 AM
title--Unitary Symmetric Polynomials [Z] (Algorithm R391)
abstract--
journal--CACM January, 1972
author--Schrack, G. F.
keys--symmetric polynomials, elementary symmetric polynomials, unitary
symmetric polynomials, polynomial synthesis, reverse Horner scheme, reverse
synthetic division, binomial coefficients
categories--5.11, 5.30, 5.5
end--CA720112 JB February 1, 1978 8:55 AM
title--In-Situ Transposition of a Rectangular Matrix [F1] (Algorithm C380)
abstract--
journal--CACM January, 1972
author--Macleod, I. D. G.
keys--rectangular matrix, transpose
categories--5.14
end--CA720111 JB February 1, 1978 8:57 AM
title--Calculation of Fourier Integrals [D1] (Algorithm A418)
abstract--
journal--CACM January, 1972
author--Einarsson, B.
keys--quadrature, Filon quadrature, integration, Filon integration, Fourier
coefficients, Fourier integrals, Fourier series, spline, spline approximation,
spline quadrature, extrapolation, Richardson extrapolation
categories--5.16
end--CA720110 JB February 1, 1978 9:00 AM
title--Ordering +-f(+-f(+-f(...+-f(x)..))) When f(x) Is Positive Monotonic
abstract--
journal--CACM January, 1972
author--Salzer, H. E.
keys--ordering, storage, retrieval, positive functions, monotonic functions,
increasing functions, decreasing function, binary system, Chebyshev zeros,
square rots, continued fractions
categories--5.40
end--CA720109 JB February 1, 1978 9:05 AM
title--Quadratic Programming for Nonlinear Regression
abstract--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.
journal--CACM January, 1972
author--Shrager, R. I.
keys--nonlinear equations, nonlinear regression, nonlinear programming,
quadratic programming, least squares, inequality, constraints, iteration
categories--5.15, 5.41
end--CA720108 JB February 1, 1978 9:09 AM
title--MUSE: A Model To Understand Simple English
abstract--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.
journal--CACM January, 1972
author--McCalla, G. I.; Sampson, J. R.
keys--natural language processing, semantic memory, text comprehension,
question answering, artificial intelligence, human memory simulation
categories--3.36, 3.42, 3.62, 3.65, 3.74
end--CA720107 JB February 1, 1978 9:20 AM
title--Optimizing the Polyphase Sort (Corrigendum)
abstract--
journal--CACM January, 1972
author--Shell, D. L.
keys--
categories--
end--CA720106 JB February 1, 1978 9:21 AM
title--Teacher/Student Authored CAI Using the NEWBASIC System
abstract--The pedagogical advantages of a general purpose interactive system
called NEWBASIC/CATALYST are discussed. NEWBASIC/CATALYST incorporates 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.
journal--CACM January, 1972
author--Dwyer, T. A.
keys--CAI, BASIC, CATALYST, NEWBASIC, education, computers in education,
extended languages, interactive systems
categories--1.50, 1.51, 3.32, 422
end--CA720105 JB February 1, 1978 9:28 AM
title--A CRT Editing System
abstract--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.
journal--CACM January, 1972
author--Irons, E. T.; Djorup, F. M.
keys--editing, text, cathode-ray tube entry display, time-sharing
categories--3.7, 4.3
end--CA720104 JB February 1, 1978 9:31 AM
title--Use of the Hough Transformation To Detect Lines and Curves in Pictures
abstract--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.
journal--CACM January, 1972
author--Duda, R. O.; Hart, P. E.
keys--picture processing, pattern recognition, line detection, curve detection,
colinear points, point-line transformation, Hough transformation
categories--3.63
end--CA720103 JB February 1, 1978 9:36 AM
title--On Shrinking Binary Picture Patterns
abstract--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.
journal--CACM January, 1972
author--Levialdi, S.
keys--counting binary patterns, shrinking, parallel processing, multiple
connected pictures
categories--3.63
end--CA720102 JB February 1, 1978 9:43 AM
title--Pictorial Pattern Recognition and the Phase Problem of X-ray
Crystallography
abstract--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 has been and will continue to be a
field of intense interest.
journal--CACM January, 1972
author--Lesk, A. M.
keys--pictorial pattern recognition, phase problem, X-ray crystallography,
interactive graphics
categories--3.13, 3.17, 3.63
end--CA720101 JB February 1, 1978 9:53 AM
title--Procedures for Natural Spline Interpolation [E1] (Algorithm A472)
abstract--
journal--CACM December, 1973
author--Herriot, J. G.
keys--approximation, interpolation, spline, natural spline, spline
approximation, cubic natural spline
categories--5.13
end--CA731205 JB January 19, 1978 2:47 PM
title--Exponential Integrals [S13] (Algorithm A471)
abstract--
journal--CACM December, 1973
author--Gautschi, W.
keys--exponential integral, recurrence relations, recursive computation,
continued fractions
categories--5.12
end--CA731204 JB January 19, 1978 2:48 PM
title--Linear Systems with Almost Tridiagonal Matrix [F4] (Algorithm A470)
abstract--
journal--CACM December, 1973
author--Kubicek, M.
keys--system of linear equations, almost tridiagonal matrix, sparse matrix
categories--5.14
end--CA731203 JB January 19, 1978 2:50 PM
title--A Data Definition and Mapping Language
abstract--A data definition language is a 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.
journal--CACM December, 1973
author--Sibley, E. H.; Taylor, R. W.
keys--data definition language, data and storage structure, data translation,
data base management systems, file translation
categories--3.51, 3.70, 3.73, 4.29, 4.82
end--CA731202 JB January 19, 1978 2:58 PM
title--Curriculum Recommendations for Undergraduate Programs in Information
Systems
abstract--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.
journal--CACM December, 1973
author--Couger, J. D.
keys--education, undergraduate curricula, management systems, information
systems, information analysis, system design, systems analysis
categories--1.52, 3.51
end--CA731201 JB January 19, 1978 3:24 PM
title--Solving the Biharmonic Equation in a Square: A Direct Versus a
Semidirect Method
abstract--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.
journal--CACM November, 1973
author--Ehrlich, L. W.
keys--biharmonic, direct method, block iterative, eigenvector-eigenvalue
decomposition
categories--5.14, 5.17
end--CA731118 JB January 19, 1978 3:28 PM
title--An Algorithm for the Approximate Solution of Wiener-Hopf Integral
Equations
abstract--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.
journal--CACM November, 1973
author--Stenger, F.
keys--integral equations, Wiener-Hopf, convolution, approximate solution
categories--5.18
end--CA731117 JB January 19, 1978 3:36 PM
title--A Recurrence Scheme for Converting from One Orthogonal Expansion into
Another
abstract--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.
journal--CACM November, 1973
author--Salzer, H. E.
keys--orthogonal expansions, series interconversion, recurrence schemes,
Hamming recurrence, Clenshaw recurrence, three-term recurrence, five-term
recurrence, Chebyshev series
categories--5.12
end--CA731116 JB January 19, 1978 4:16 PM
title--Tree-Structured Programs
abstract--
journal--CACM November, 1973
author--Wegner, E.
keys--control structures, flowcharts, goto statements, inductive assertion,
least fixpoints, optimization in compilers, program documentation, program flow
graphs, programming language design, proof of programs, semantics of
programming languages, structured programming.
categories--4.12, 4.22, 5.24
end--CA731115 JB January 19, 1978 4:19 PM
title--Comment on Brent's Scatter Storage Algorithm
abstract--
journal--CACM November, 1973
author--Feldman, J. A.; Low, J. R.
keys--Hashing, information storage and retrieval, scatter storage, searching,
symbol table
categories--3.7, 3.73, 3.74, 4.1, 4.9
end--CA731114 JB January 19, 1978 4:40 PM
title--A Note on Subexpression Ordering in the Execution of Arithmetic
Expressions
abstract--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.
journal--CACM November, 1973
author--Denning, P. J.; Graham, G. S.
keys--scheduling, tree scheduling, task scheduling, multiprocessor scheduling
categories--4.32, 8.3, 8.1
end--CA731113 JB January 25, 1978 4:24 PM
title--Arithmetic Overa Finite Field [A1] (Algorithm A469)
abstract--
journal--CACM November, 1973
author--Lam, C.; McKay, J.
keys--algebra
categories--5.19
end--CA731112 JB January 20, 1978 9:25 AM
title--Algorithm for Automatic Numerical Integration Over a Finite Interval
[D1] (Algorithm A468)
abstract--
journal--CACM November, 1973
author--Patterson, T. N. L.
keys--automatic integration, numerical integration, automatic quadrature,
numerical quadrature
categories--5.16
end--CA731111 JB January 20, 1978 9:51 AM
title--Matrix Transposition in Place [F1] (Algorithm A467)
abstract--
journal--CACM November, 1973
author--Brenner, N.
keys--transposition, matrix operations, permutations, primitive roots, number
theory
categories--3.15, 5.14, 5.39
end--CA731110 JB January 20, 1978 9:58 AM
title--Four Combinatorial Algorithms [G6] (Algorithm A466)
abstract--
journal--CACM November, 1973
author--Ehrlich, G.
keys--permutations and combinations
categories--5.39
end--CA731109 JB January 20, 1978 9:59 AM
title--Student's t Frequency [S14] (Algorithm A465)
abstract--
journal--CACM November, 1973
author--Hill, G. W.
keys--Student's t statistic, density function, series approximation
categories--5.12, 5.5
end--CA731108 JB January 20, 1978 10:01 AM
title--Eigenvalues of a Real, Symmetric, Tridiagonal Matrix [F2] (Algorithm
A464)
abstract--
journal--CACM November, 1973
author--Reinsch, C. H.
keys--eigenvalues, QR Algorithm
categories--5.14
end--CA731107 JB January 20, 1978 10:03 AM
title--Experiments with an Automatic Theorem-Prover Having Partial Ordering
Inference Rules
abstract--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.
journal--CACM November, 1973
author--Slagle, J. R.; Norton, L. M.
keys--theorem-proving, partial ordering, resolution, hyper-resolution, P1-
resolution, paramodulation, inference rules, heuristics
categories--3.64, 3.66
end--CA731106 JB January 20, 1978 10:10 AM
title--A Scan Conversion Algorithm with Reduced Storage Requirements
abstract--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.
journal--CACM November, 1973
author--Jordan, B. W. Jr.; Barrett, R. C.
keys--graphics, scan conversion, raster plotter, line drawing, discrete image,
dot generation
categories--4.41, 6.35, 8.2
end--CA731105 JB January 20, 1978 10:28 AM
title--Adaptive Correction of Program Statements (Corrigendum)
abstract--
journal--CACM November, 1973
author--James, E. B.; Partridge, D. P.
keys--
categories--
end--CA731104 JB January 20, 1978 10:29 AM
title--A Parser-Generating System for Constructing Compressed Compilers
abstract--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.
journal--CACM November, 1973
author--Mickunas, M. D.; Schneider, V. B.
keys--parser generators, translator writing systems, syntactic analysis, normal-
form grammars, pushdown automata, translation grammars, translator
optimization, compression algorithm
categories--4.12, 5.22, 5.23
end--CA731103 JB January 20, 1978 10:41 AM
title--Dynamic Verification of Operating System Decisions
abstract--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.
journal--CACM November, 1973
author--Fabry, R. S.
keys--operating systems, data security, fault tolerance, software reliability,
data privacy, program verification, modular computer systems
categories--4.32
end--CA731102 JB January 20, 1978 10:56 AM
title--The Programmer as Navigator
abstract--
journal--CACM November, 1973
author--Bachman, C. W.
keys--
categories--
end--CA731101 JB January 20, 1978 10:59 AM
title--Algorithms SCALE1, SCALE2, and SCALE3 for Determination of Scales on
Computer Generated Plots [J6] (Algorithm A463)
abstract--
journal--CACM October, 1973
author--Lewart, C. R.
keys--plotting, scaling for plotting
categories--4.41
end--CA731014 JB January 20, 1978 11:01 AM
title--Bivariate Normal Distribution [S15] (Algorithm A462)
abstract--
journal--CACM October, 1973
author--Donnelly,T. G.
keys--bivariate, normal Gaussian, frequency distribution
categories--5.5
end--CA731013 JB January 20, 1978 11:03 AM
title--Cubic Spline Solutions to a Class of Functional Differential Equations
[D2] (Algorithm A461)
abstract--
journal--CACM October, 1973
author--Burkowski, F. J.; Hoskins, W. D.
keys--differential equation, spline approximation
categories--5.17
end--CA731012 JB January 20, 1978 11:06 AM
title--Calculation of Optimum Parameters for Alternating Direction Implicit
Procedures [D3] (Algorithm A460)
abstract--
journal--CACM October, 1973
author--Saylor, P. E.; Sebastian, J. D.
keys--elliptic difference equations, Peaceman-Rachford, Douglas-Rachford, W. B.
Jordan, optimum parameters, alternating-direction-implicit, ADI
categories--5.14, 5.17
end--CA731011 JB January 20, 1978 11:09 AM
title--The Elementary Circuits of a Graph [H] (Algorithm A459)
abstract--
journal--CACM October, 1973
author--Syslo, M. M.
keys--algorithm, graph theory, circuit search algorithm, path search algorithm,
searching
categories--3.74, 4.22, 5.32
end--CA731010 JB January 20, 1978 11:11 AM
title--Discrete Linear L1 Approximation by interval Linear Programming [E2]
(Algorithm A458)
abstract--
journal--CACM October, 1973
author--Robers, P. D.; Robers, S. S.
keys--discrete approximation, L1 approximation
categories--5.13, 5.41
end--CA731009 JB January 20, 1978 11:13 AM
title--Addendum to a Multiple-Precision Division Algorithm
abstract--
journal--CACM October, 1973
author--Mifsud, C. J.; Bohlen, M. J.
keys--multiple-precision, division, overflow
categories--3.15, 4.0, 5.1
end--CA731008 JB January 20, 1978 11:15 AM
title--Control Structures in Illiac IV Fortran
abstract--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.
journal--CACM October, 1973
author--Millstein, R. E.
keys--array processing, parallelism detection, explicit parallelism, array
allocation, parallel control structures, ILLIAC IV Fortran
categories--4.12, 4.21, 4.22
end--CA731007 JB January 20, 1978 11:30 AM
title--Using Page Residency To Select the Working Set Parameter
abstract--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.
journal--CACM October, 1973
author--Prieve, B. G.
keys--working set model, paging, program behavior,program modeling
categories--4.3
end--CA731006 JB January 20, 1978 11:34 AM
title--A Class of Dynamic Memory Allocation Algorithms
abstract--A new 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.
journal--CACM October, 1973
author--Hirschberg, D. S.
keys--dynamic storage allocation, buddy system, simulation, Fibonacci,
fragmentation
categories--3.89, 4.32, 4.39
end--CA731005 JB January 20, 1978 11:38 AM
title--A Note on the Confinement Problem
abstract--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.
journal--CACM October, 1973
author--Lampson, B. W.
keys--protection, confinement, proprietary program, privacy, security, leakage
of data
categories--2.11, 4.30
end--CA731004 JB January 20, 1978 11:41 AM
title--General Performance Analysis of Key-to-Address Transformation Methods
Using an Abstract File Concept
abstract--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.
journal--CACM October, 1973
author--Lum, V. Y.
keys--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
categories--3.7, 3.72, 3.73, 3.74, 3.79, 4.9, 5.9
end--CA731003 JB January 20, 1978 11:51 AM
title--A Model and Stack Implementation of Multiple Environments
abstract--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.
journal--CACM October, 1973
author--Bobrow, D. G.; Wegbreit, B.
keys--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
categories--4.1, 4.2, 4.22, 4.3, 4.32, 5.24
end--CA731002 JB January 23, 1978 8:27 AM
title--Multiple Terminals Under User Program Control in a Time-Sharing
Environment
abstract--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.
journal--CACM October, 1973
author--McGeachie, J. S.
keys--DTSS, multiple terminals, remote terminals, remote consoles, time-
sharing, on-line interaction, on-line games
categories--3.81, 4.32
end--CA731001 JB January 23, 1978 8:33 AM
title--Localization of the Roots of a Polynomial (Algorithm R429)
abstract--
journal--CACM September, 1973
author--Driessen, H. B.; Hunt, E. W. LeM.
keys--
categories--
end--CA730915 JB January 23, 1978 8:34 AM
title--Hidden-Line Plotting Program (Algorithm R420)
abstract--
journal--CACM September, 1973
author--Williamson, H.
keys--
categories--
end--CA730914 JB January 23, 1978 8:36 AM
title--A Sparse Matrix Package (Algorithm R408)
abstract--
journal--CACM September, 1973
author--Lawrence, E. E.
keys--
categories--
end--CA730913 JB January 23, 1978 8:37 AM
title--Generation of Permutations in Lexicographic Order (Algorithm R323)
abstract--
journal--CACM September, 1973
author--Roy, M. K.
keys--
categories--
end--CA730912 JB January 23, 1978 8:39 AM
title--Finding All Cliques of an Undirected Graph (Algorithm A457)
abstract--
journal--CACM September, 1973
author--Bron, C.; Kerbosch, J.
keys--cliques, maximal complete subgraphs, clusters, backtracking algorithm,
branch and bound technique, recursion
categories--3.71, 5.32
end--CA730911 JB January 23, 1978 8:44 AM
title--Routing Problem (Algorithm A456)
abstract--
journal--CACM September, 1973
author--Fencl, Z.
keys--routing problem, shortest path, traveling salesman problem, Hamiltonian
circuit
categories--5.40
end--CA730910 JB January 23, 1978 8:47 AM
title--Analysis of Skew Representations of the Symmetric Group (Algorithm A455)
abstract--
journal--CACM September, 1973
author--Hunter, D. B.; Williams, J. M.
keys--symmetric group, skew representation, partition, Young diagram, lattice
permutation, binary model, outer product
categories--5.30
end--CA730909 JB January 23, 1978 8:49 AM
title--Sard Kernels for Certain Bivariate Cubatures
abstract--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.
journal--CACM September, 1973
author--Barnhill, R. E.; Pilcher, D. T.
keys--cubatures, Sard kernels, numerical integration, remainder formulas
categories--5.13, 5.16
end--CA730908 JB January 23, 1978 8:52 AM
title--Reversible Execution
abstract--
journal--CACM September, 1973
author--Zelkowitz, M. V.
keys--debugging, PL/I, reversible execution, backtracking
categories--4.22, 4.42
end--CA730907 JB January 23, 1978 8:54 AM
title--A Simple Technique for Structured Variable Lookup
abstract--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.
journal--CACM September, 1973
author--Gates, G. W.; Poplawski, D. A.
keys--symbol table organization, PL/I and COBOL structured variables
categories--4.12
end--CA730906 JB January 23, 1978 9:17 AM
title--Empirical Working Set Behavior
abstract--The working set model for program behavoir 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.
journal--CACM September, 1973
author--Rodriguez-Rosell, J.
keys--virtual memory, paging, working set, software measurement, program
behavior
categories--4.3
end--CA730905 JB January 23, 1978 9:22 AM
title--Design of Tree Structures for Efficient Querying
abstract--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.
journal--CACM September, 1973
author--Casey, R. G.
keys--tree file, information storage and retrieval, clustering, search, data
structure, data management, query answering
categories--3.62, 3.74
end--CA730904 JB January 23, 1978 9:38 AM
title--Evaluation and Selection of File Organization-A Model and System
abstract--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.
journal--CACM September, 1973
author--Cardenas, A. F.
keys--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
categories--3.70, 3.71, 3.72, 3.74, 3.79, 4.0
end--CA730903 JB January 23, 1978 9:46 AM
title--Information Theory Applied to the Conversion of Decision Tables to
Computer Programs
abstract--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.
journal--CACM September, 1973
author--Ganapathy, S.; Rajaraman, V.
keys--decision tables, optimum computer programs, information measure
categories--3.50, 4.12, 5.6
end--CA730902 JB January 23, 1978 10:01 AM
title--Computational Algorithms for Closed Queueing Networks with Exponential
Servers
abstract--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.
journal--CACM September, 1973
author--Buzen, J. P.
keys--queueing theory, queueing networks, equilibrium distributions, steady
state distributions
categories--5.12, 5.5, 8.1, 8.3
end--CA730901 JB January 23, 1978 10:07 AM
title--A Generalization of AVL Trees
abstract--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.
journal--CACM August, 1973
author--Foster, C. C.
keys--AVL trees, balanced trees, information storage and retrieval
categories--3.7, 3.72, 4.49, 5.31
end--CA730819 JB January 23, 1978 10:13 AM
title--On the Capabilities of While, Repeat, and Exit Statements
abstract--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.
journal--CACM August, 1973
author--Peterson, W. W.; Kasami, T.; Tokura, N.
keys--well-formed program, while statement, repeat statement, exit statement,
go to statement, flowchart, node splitting, software reliability
categories--4.39, 4.49, 5.29
end--CA730818 JB January 23, 1978 10:20 AM
title--Inductive Methods for Proving Properties of Programs
abstract--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.
journal--CACM August, 1973
author--Manna, Z.; Nes, S.; Vuillemin, J.
keys--recursive programs, least fixedpoint, computational induction, structural
induction
categories--4.2, 5.23, 5.24
end--CA730817 JB January 23, 1978 10:24 AM
title--Localization of the Roots of a Polynomial (Algorithm R429)
abstract--
journal--CACM August, 1973
author--Williams, E. J.
keys--
categories--
end--CA730816 JB January 23, 1978 10:26 AM
title--Hu-Tucker Minimum Redundancy Alphabetic Coding Method (Algorithm R428)
abstract--
journal--CACM August, 1973
author--Byrne, J. G.
keys--
categories--
end--CA730815 JB January 23, 1978 10:27 AM
title--Clenshaw-Curtis Quadrature (Algorithm R424)
abstract--
journal--CACM August, 1973
author--Good, A. J.
keys--
categories--
end--CA730814 JB January 23, 1978 10:29 AM
title--Graph Plotter (Algorithm R412)
abstract--
journal--CACM August, 1973
author--Watkins, R. P.
keys--
categories--
end--CA730813 JB January 23, 1978 10:30 AM
title--An Efficient Prime Number Generator (Algorithm R357)
abstract--
journal--CACM August, 1973
author--DeMorgan, R. M.
keys--
categories--
end--CA730812 JB January 23, 1978 10:31 AM
title--Complex Gamma Function (Algorithm R404,C404)
abstract--
journal--CACM August, 1973
author--Andrejkova, G.; Vinar, J.
keys--
categories--
end--CA730811 JB January 23, 1978 10:33 AM
title--The Complex Method for Constrained Optimization [E4] (Algorithm A454)
abstract--
journal--CACM August, 1973
author--Richardson, J. A.; Kuester, J. L.
keys--optimization, constrained optimization, Box's algorithm
categories--5.41
end--CA730810 JB January 23, 1978 10:34 AM
title--Gaussian Quadrature formulas for Bromwich's Integral [D1] (Algorithm
A453)
abstract--
journal--CACM August, 1973
author--Piessens, R.
keys--Gaussian quadrature, Bromwich's integral, complex integration, numerical
inversion of the Laplace transform
categories--5.16, 5.13
end--CA730809 JB January 23, 1978 10:37 AM
title--Enumerating Combinations of m Out of n Objects [G6] (Algorithm A452)
abstract--
journal--CACM August, 1973
author--Liu, C. N; Tang, D. T.
keys--permutations, combination
categories--5.30
end--CA730808 JB January 23, 1978 10:39 AM
title--Chi-Square quantiles [G1] (Algorithm A451)
abstract--
journal--CACM August, 1973
author--Goldstein, R. B.
keys--Chi-square, asymptotic approximation, normal deviate, chi-square deviate,
degrees of freedom
categories--5.12, 5.5
end--CA730807 JB January 23, 1978 10:41 AM
title--Rosenbrock Function Minimization [E4] (Algorithm A450)
abstract--
journal--CACM August, 1973
author--Machura, M.; Mulawa, A.
keys--function minimization, Rosenbrock's method
categories--5.19
end--CA730806 JB January 23, 1978 10:43 AM
title--Petri Nets and Speed Independent design
abstract--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.
journal--CACM August, 1973
author--Misunas, D.
keys--speed independent asynchronous, Petri net
categories--6.1, 6.33
end--CA730805 JB January 23, 1978 10:46 AM
title--Fen-An Axiomatic Basis for Program Semantics
abstract--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.
journal--CACM August, 1973
author--MacLennan, B. J.
keys--semantics, formal systems, lambda-calculus, extensible languages, data
types, modes, axioms, correctness, formal language definition, formal
description, data structures, description languages, models of computation
categories--4.22, 5.21, 5.24, 5.26
end--CA730804 JB January 23, 1978 11:01 AM
title--A Learning Program Which Plays Partnership Dominoes
abstract--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
advisability 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.
journal--CACM August, 1973
author--Smith, M. H.
keys--artificial intelligence, intelligence learning, heuristic procedures,
heuristic programming, game playing, problem solving, dominoes, incomplete
information, machine learning, signature table, learning programs, strategy
learning
categories--3.62, 3.64, 3.66, 3.69
end--CA730803 JB January 23, 1978 11:09 AM
title--Minimal spanning Tree (Algorithm R422)
abstract--
journal--CACM July, 1973
author--Kernighan, B. W.
keys--spanning tree, minimal spanning tree, Prim algorithm
categories--5.32
end--CA730714 JB January 23, 1978 11:12 AM
title--Hidden-Line Plotting Program (Algorithm R420)
abstract--
journal--CACM July, 1973
author--Macleod, I. D. G.; Collins, A. M.
keys--hidden-line plot, surface plot
categories--4.9
end--CA730713 JB January 23, 1978 11:14 AM
title--DIFSUB for Solution of Ordinary Differential Equations (Algorithm C407)
abstract--
journal--CACM July, 1973
author--Nikolai, P. J.
keys--differential equations, stiff differential equations, boundary value
problems
categories--5.17
end--CA730712 JB January 23, 1978 11:16 AM
title--Solution of Linear Programming Problems in 0-1 Variables [H1]
(Algorithm A449)
abstract--
journal--CACM July, 1973
author--Fiala, F.
keys--linear programming, zero-one variable
categories--5.41
end--CA730711 JB January 23, 1978 11:19 AM
title--Equivalence Between AND/OR Graphs and Context-Free Grammars
abstract--
journal--CACM July, 1973
author--Hall, P. A. V.
keys--artificial intelligence, AND/OR graphs, language theory, context-free
grammars
categories--3.60, 3.64, 5.23
end--CA730710 JB January 23, 1978 11:21 AM
title--Multiple Exits from a Loop Without the GOTO
abstract--
journal--CACM July, 1973
author--Bochmann, G. V.
keys--control structures, goto free programming, multiple exits from loops,
exit statement
categories--4.20, 4.22
end--CA730709 JB January 23, 1978 11:23 AM
title--Computer Science-Seminars for Undergraduates
abstract--
journal--CACM July, 1973
author--Kandel, A.
keys--education, computer science, curriculum, imprecise synthesis, fuzzy
educational structure
categories--1.52, 6.0
end--CA730708 JB January 23, 1978 11:24 AM
title--Curriculum Recommendations for Graduate Professional Programs in
Information Systems: Recommended Addendum on Information Systems Administration
abstract--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.
journal--CACM July, 1973
author--McFarlan, F. W.; Nolan, R. L.
keys--education, management information systems, information systems
administration, information systems management, computer management
categories--1.52, 3.51
end--CA730707 JB January 23, 1978 12:30 PM
title--Teaching "About Programming"
abstract--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 programing 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.
journal--CACM July, 1973
author--Rosin, R. F.
keys--education, programming concepts, professionalism
categories--1.52, 2.2, 4.22
end--CA730706 JB January 23, 1978 12:36 PM
title--The Distribution of a Program in Primary and Fast Buffer Storage
abstract--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.
journal--CACM July 1973
author--Gelenbe, E.
keys--cache, virtual memory, lifetime function, cost-time integral, fast buffer
categories--4.3, 6.2, 6.3
end--CA730705 JB January 23, 1978 12:41 PM
title--Mixed Solutions for the Deadlock Problem
abstract--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
journal--CACM July, 1973
author--Howard, J. H. Jr.
keys--deadlocks, resource allocation, operating systems, multiprogramming,
hierarchical systems
categories--4.30, 4.32
end--CA730704 JB January 23, 1978 12:46 PM
title--COKO III: The Cooper-Koz Chess Program
abstract--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.
journal--CACM July, 1973
author--Kozdrowicki, E. W.; Cooper, D. W.
keys--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
categories--3.60, 3.66, 3.74, 4.22
end--CA730703 JB January 23, 1978 1:07 PM
title--A Note on Information Organization and Storage
abstract--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.
journal--CACM July, 1973
author--Huang, J. C.
keys--data base, data-base management, information retrieval, information
structure, file organization, storage allocation, tree, graph
categories--3.70, 3.73, 3.74, 5.32
end--CA730702 JB January 23, 1978 1:14 PM
title--Managing the Computer Resource: A Stage Hypothesis
abstract--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.
journal--CACM July, 1973
author--Nolan, R. L.
keys--computer management, computer budget, computer expenditures, stage
hypothesis, planning, organizing, control, computer resource
categories--2.41, 2.43, 3.50
end--CA730701 JB January 23, 1978 1:23 PM
title--Computer Photocomosition of Technical Text
abstract--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.
journal--CACM June, 1973
author--Alt, F. L.; Yuni Kirk, J.
keys--photocomposition, typesetting, printing, graphics, text processing
categories--3.79, 3.82
end--CA730614 JB January 23, 1978 1:30 PM
title--Cubic Spline solutions to Fourth-order Boundary Value Problems
abstract--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.
journal--CACM June, 1973
author--Hoskins, W. D.
keys--cubic spline, differential equations, boundary value problem
categories--5.13, 5.17
end--CA730613 JB January 23, 1978 1:44 PM
title--Least Squares Piecewise Cubic Curve Fitting
abstract--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.
journal--CACM June, 1973
author--Ferguson, J.; Staley, P. A.
keys--curve fitting, data reduction, function approximation, approximation
splines
categories--5.13
end--CA730612 JB January 23, 1978 1:47 PM
title--Number of Multiply-Restricted Partitions [A1] (Algorithm A448)
abstract--
journal--CACM June, 1973
author--Beyer, T.; Swinehart, D. F.
keys--partitions, enumeration, change making, energy-level degeneracies,
molecular vibrational energy-levels
categories--3.13, 5.30
end--CA730611 JB January 23, 1978 1:49 PM
title--Efficient Algorithms for Graph Manipulation [H] (Algorithm A447)
abstract--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.
journal--CACM June, 1973
author--Hopcroft, J.; Tarjan, R.
keys--graphs, analysis of algorithms, graph manipulation
categories--5.32
end--CA730610 JB January 23, 1978 1:55 PM
title--Threaded Code
abstract--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.
journal--CACM June, 1973
author--Bell, J. R.
keys--interpreter, machine code, time tradeoff, space tradeoff, compiled code,
subroutine calls, threaded code
categories--4.12, 4.13, 6.33
end--CA730609 JB January 23, 1978 2:05 PM
title--The Development of Decision Tables via Parsing of Complex Decision
Situations
abstract--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.
journal--CACM June, 1973
author--Strunz, H.
keys--decision tables, parsing, decision grid chart, problem analysis
categories--4.0, 4.1, 4.2
end--CA730608 JB January 23, 1978 2:10 PM
title--Optimum Data Base Reorganization Points
abstract--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.
journal--CACM June, 1973
author--Shneiderman, B.
keys--data base, reorganization, files, information retrieval
categories--3.73
end--CA730607 JB January 23, 1978 2:14 PM
title--A Computer Generated Aid for Cluster Analysis
abstract--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.
journal--CACM June, 1973
author--Ling, R. F.
keys--computer graphics, cluster analysis, numerical taxonomy, hierarchical
clustering, factor analysis
categories--3.10, 3.30, 3.36, 4.49
end--CA730606 JB January 23, 1978 2:20 PM
title--Adapting Optimal Code Generation for Arithmetic Expressions to the
Instruction Sets Available on Present-Day Computers
abstract--
journal--CACM June, 1973
author--Stockhausen, P. F.
keys--arithmetic expressions, code generation, compilers, object-code
optimization, register assignment, trees
categories--4.12, 5.24, 5.32
end--CA730605 JB January 23, 1978 2:24 PM
title--On the Near-Optimality of the Shortest-Latency-Time-First Drum
Scheduling Discipline
abstract--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.
journal--CACM June, 1973
author--Stone, H. S.; Fuller, S. H.
keys--drum scheduling, shortest-access-time-first, minimal latency scheduling,
shortest-latency-time-first
categories--4.31, 4.41, 6.35
end--CA730604 JB January 23, 1978 3:12 PM
title--Synchronizing Processors with Memory-Content-Generated Interrupts
abstract--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.
journal--CACM June, 1973
author--Hill, J. C.
keys--interrupts, supervisors, monitors, debugging, parallel processing,
associative memories, microprogramming
categories--4.32, 6.29
end--CA730603 JB January 23, 1978 3:29 PM
title--Minimizing Wasted Space in Partitioned Segmentation
abstract--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.
journal--CACM June, 1973
author--Gelenbe, E.
keys--dynamic storage allocation, virtual memory, paging, multiple page sizes,
fragmentation, segmentation
categories--4.0, 4.3, 4.32, 6.34, 8.3
end--CA730602 JB January 23, 1978 3:38 PM
title--Efficient Multiprogramming Resource Allocation and Accounting
abstract--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.
journal--CACM June, 1973
author--Hamlet, R. G.
keys--monitor, executive, multiprogramming, efficiency, resource allocation,
resource accounting
categories--4.32
end--CA730601 JB January 23, 1978 3:51 PM
title--A Practical Approach to Managing Resources and Avoiding Deadlocks
abstract--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.
journal--CACM May, 1973
author--Frailey, D. J.
keys--deadlock, resource allocation, scheduling, resource management,
multiprogramming, time-sharing, multiprocessing, deadly embrace
categories--4.30, 4.32
end--CA730520 JB January 23, 1978 4:03 PM
title--WYLBUR: An Interactive Text Editing and Remote Job Entry System
abstract--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.
journal--CACM May, 1973
author--Fajman, R.; Borgelt, J.
keys--text editing, time-sharing, online 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
categories--3.70, 3.79, 4.10, 4.19, 4.41, 4.43, 4.49
end--CA730519 JB January 23, 1978 4:11 PM
title--A Comment on the Practical Aspects of Computer Science Education
abstract--
journal--CACM May, 1973
author--Estell, R. G.
keys--education, computer engineering, computer sciences curriculum, systems
design
categories--1.52, 6.0
end--CA730518 JB January 23, 1978 4:23 PM
title--Another Comment on Computer Music
abstract--
journal--CACM May, 1973
author--Wexelblat, R. L.
keys--
categories--
end--CA730517 JB January 23, 1978 4:25 PM
title--Concerning Music and Computer Composition in Computational Linguistics
abstract--
journal--CACM May, 1973
author--McMorrow, C. H.
keys--artificial intelligence, heuristic programming, models of cognitive
processes, computer music, computer composition,music theory
categories--3.44, 3.65
end--CA730516 JB January 23, 1978 4:27 PM
title--Reflection-Free Permutations, Rosary Permutations, and Adjacent
Transposition Algorithms
abstract--
journal--CACM May, 1973
author--Roy, M. K.
keys--permutation, permutation generation, scheduling, combinatorial analysis
categories--5.39
end--CA730515 JB January 23, 1978 4:29 PM
title--A Sparse Matrix Package (Algorithm R408)
abstract--
journal--CACM May, 1973
author--Sale, R. H. J.
keys--matrix, sparse matrix, matrix manipulation, Fortran standards
categories--5.14
end--CA730514 JB January 23, 1978 4:30 PM
title--Exact Solution of Linear Equations Using Residue Arithmetic (Algorithm
R406)
abstract--
journal--CACM May, 1973
author--Howell, J.
keys--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
categories--3.5, 5.14
end--CA730513 JB January 23, 1978 4:34 PM
title--Increasing the Efficiency of Quicksort (Algorithm R402)
abstract--
journal--CACM May, 1973
author--Wheeler, R. E.
keys--sorting, quicksort
categories--3.73, 4.49, 5.31, 5.6
end--CA730512 JB January 23, 1978 4:35 PM
title--Minit Algorithm for Linear Programming (Algorithm R333)
abstract--
journal--CACM May, 1973
author--Obradovic, D.
keys--
categories--
end--CA730511 JB January 23, 1978 4:37 PM
title--Minit Algorithm for Linear Programming (Algorithm R333)
abstract--
journal--CACM May, 1973
author--Holmgren, B.; Obradovic, D.; Kolm, A.
keys--
categories--
end--CA730510 JB January 23, 1978 4:38 PM
title--Maxflow (Algorithm R324)
abstract--
journal--CACM May, 1973
author--Bayer, G.
keys--
categories--
end--CA730509 JB January 23, 1978 4:39 PM
title--Coulomb Wave Functions (Algorithm R300)
abstract--
journal--CACM May, 1973
author--Vos, H.
keys--Coulomb wave functions, wave functions, special functions, function
evaluation
categories--5.12
end--CA730508 JB January 23, 1978 4:41 PM
title--A Nonrecursive List Moving Algorithm
abstract--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.
journal--CACM May, 1973
author--Reingold, E. M.
keys--list moving, list copying, list traversal, garbage collection LISP
categories--4.19, 4.49
end--CA730507 JB January 23, 1978 4:45 PM
title--An Array Grammar Programming System
abstract--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."
journal--CACM May, 1973
author--Mercer, A.; Rosenfeld, A.
keys--picture grammars, array grammars
categories--3.63, 5.23, 8.2
end--CA730506 JB January 23, 1978 4:49 PM
title--Minimal Event-Node Network of Project Precedence Relations
abstract--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.
journal--CACM May, 1973
author--Corneil, D. G.; Gotlieb, C. C.; Lee, Y. M.
keys--network, project, event-node network, activity-node network, minimal
event-node network, dummy activity, project precedence relations
categories--3.57, 5.32, 8.3
end--CA730505 JB January 24, 1978 8:42 AM
title--Hierarchical Storage in Information Retrieval
abstract--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.
journal--CACM May, 1973
author--Salasin, J.
keys--information retrieval, hierarchical storage
categories--3.70, 3.72, 3.73, 3.74, 3.79, 3.90, 6.20, 6.34
end--CA730504 JB January 24, 1978 8:48 AM
title--Some Comments on the Use of Ambiguous Decision Tables and Their
Conversion to Computer Programs
abstract--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.
journal--CACM May, 1973
author--King, P. J. H.; Johnson, R. G.
keys--decision tables, systems analysis, programming
categories--3.50, 3.59, 4.19, 4.29, 4.49
end--CA730503 JB January 24, 1978 8:56 AM
title--Programming by Questionnaire: An Effective Way To Use Decision Tables
abstract--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
questionnaire is 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.
journal--CACM May, 1973
author--Low, D. W.
keys--customizing, modeling, applications development, programmer productivity,
simulator generation, automatic program generation, no reprogramming
categories--4.20, 4.22, 4.29
end--CA730502 JB January 24, 1978 9:03 AM
title--On the Problem of Communicating Complex Information
abstract--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.
journal--CACM May, 1973
author--Pager, D.
keys--complex information, information, communication, mathematics, proof,
interactive system, language
categories--1.0, 1.1, 1.50, 1.52, 1.59, 2.42, 3.32, 3.51, 3.62, 3.70, 3.81
end--CA730501 JB January 24, 1978 9:25 AM
title--Greatest Common Divisor of n Integers and Multipliers (Algorithm C386)
abstract--
journal--CACM April, 1973
author--Ragland, L. C.; Good, D. I.
keys--proof of algorithms, greatest common divisor, Euclidean algorithm,
inductive assertion method
categories--315, 4.42, 5.10, 5.24
end--CA730408 JB January 24, 1978 9:27 AM
title--Ten Subroutines for the Manipulation of Chebyshev Series [C1]
(Algorithm A446)
abstract--
journal--CACM April, 1973
author--Broucke, R.
keys--Chebyshev series, differentiation, integration, curve
fitting,approximations, negative powers
categories--5.12, 5.13, 5.16
end--CA730407 JB January 24, 1978 9:29 AM
title--The Design, Implementation, and Evaluation of a Working Set Dispatcher
abstract--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 a resource 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.
journal--CACM April, 1973
author--Rodriguez-Rosell, J.; Dupuy; J. P.
keys--working set, dispatcher, scheduler, time-sharing systems, resource
allocation, software evaluation, operating systems, supervisory systems
categories--4.31, 4.32
end--CA730406 JB January 24, 1978 9:36 AM
title--A Region Coloring Technique for Scene Analysis
abstract--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.
journal--CACM April, 1973
author--Strong III, J. P.; Rosenfeld, A.
keys--picture processing, scene analysis, edge detection
categories--3.63, 8.2
end--CA730405 JB January 24, 1978 9:48 AM
title--Some Approaches to Best-Match File Searching
abstract--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.
journal--CACM April, 1973
author--Burkhard, W. A.; Keller, R. M.
keys--matching, file structuring, file searching, heuristics, best match
categories--3.73, 3.79, 4.9
end--CA730404 JB January 24, 1978 9:54 AM
title--A Statistical Study of the Accuracy of Floating Point Number Systems
abstract--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.
journal--CACM April, 1973
author--Kuki, H.; Cody, W. J.
keys--error analysis, floating point arithmetic, rounding, guard digits, number
representation
categories--5.11, 5.5, 6.32
end--CA730403 JB January 24, 1978 10:04 AM
title--Asymmetric Memory Hierarchies
abstract-- 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.
journal--CACM April, 1973
author--Williams, J. G.
keys--asymmetric memory hierarchy, demand paging, holographic optical memory,
memory device, memory hierarchy, paging, storage device, storage hierarchy,
virtual memory
categories--4.3, 4.32, 5.2, 6.2, 6.34
end--CA730402 JB January 24, 1978 10:15 AM
title--Implementation of High Level Language Machine
abstract--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.
journal--CACM April, 1973
author--Hassitt, A.; Lageschulte, J. W.; Lyon, L. E.
keys--computer architecture, high level language machine, emulators,
microprogramming, interpreters, execution speed, APL
categories--4.1 6.2
end--CA730401 JB January 24, 1978 10:21 AM
title--Binary Pattern Reconstruction from Projections [Z] (Algorithm R445)
abstract--
journal--CACM March, 1973
author--Lau, J.
keys--pattern reconstruction, image reconstruction, data compression, picture
processing
categories--3.63, 5.30
end--CA730311 JB January 24, 1978 10:22 AM
title--Binary Pattern Reconstruction from Projections [Z] (Algorithm A445)
abstract--
journal--CACM March, 1973
author--Chang, S.
keys--pattern reconstruction, image reconstruction, data compression, picture
processing
categories--3.63, 5.30
end--CA730310 JB January 24, 1978 10:25 AM
title--An Algorithm for Extracting Phrases in a Space-Optimal Fashion [Z]
(Algorithm A444)
abstract--
journal--CACM March, 1973
author--Wagner, R. A.
keys--information retrieval, coding, text compression
categories--3.70, 5.6
end--CA730309 JB January 24, 1978 10:26 AM
title--Graduate Education: The Ph.D. Glut
abstract--
journal--CACM March, 1973
author--Payne, W. H.
keys--graduate education, Ph.D. production, accreditation
categories--1.5, 2.2, 2.3
end--CA730308 JB January 24, 1978 10:28 AM
title--On Harrison's Substring Testing Technique
abstract--
journal--CACM March, 1973
author--Bookstein, A.
keys--string, substring, hashing, information storage and retrieval
categories--3.74, 5.30, 5.5
end--CA730307 JB January 24, 1978 10:30 AM
title--Gray Code and the +- Sign Sequence when +-f (+-f(+-f(...+-f(x)...))) Is
Ordered
abstract--
journal--CACM March, 1973
author--Salzer, H. E.
keys--Gray code, sign sequences, ordering, positive monotonic functions, binary
system, Galois sum
categories--5.10
end--CA730306 JB January 24, 1978 10:35 AM
title--Design and Implementation of a Diagnostic Compiler for PL/I
abstract--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.
journal--CACM March, 1973
author--Conway, R. W.; Wilcox, T. R.
keys--compilers, debugging, PL/I, programming languages
categories--1.5, 4.12, 4.42
end--CA730305 JB January 24, 1978 10:45 AM
title--The Effects of Multiplexing on a Computer-Communications System
abstract--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.
journal--CACM March, 1973
author--Pack, C. D.
keys--computer communications, time-sharing, multiplexing, scheduling
algorithms, operating systems
categories--3.80, 3.81, 6.20
end--CA730304 JB January 24, 1978 11:13 AM
title--Telecommunications Using a Front-End Minicomputer
abstract--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 hardwired line controller.
journal--CACM March, 1973
author--Feinroth, Y.; Franceschini, E.; Goldstein, M.
keys--telecommunications, minicomputer, front-end processor, remote job entry,
remote terminals
categories--3.81, 4.32, 4.41
end--CA730303 JB January 24, 1978 11:23 AM
title--Common Phrases and Minimum-Space Text Storage
abstract--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.
journal--CACM March, 1973
author--Wagner, R. A.
keys--diagnostic messages, error messages, common phrases, minimum space, text
storage, optimization, dynamic programming
categories--3.73, 4.10, 5.41
end--CA730302 JB January 24, 1978 1:12 PM
title--A Computer Science Course Program for Small Colleges
abstract--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.
journal--CACM March, 1973
author--Austing, R. H.; Engel, G. L.
keys--computer science education, course proposals, small colleges, programing
course, social implications course, computer organization course, file
organization course, bibliographies
categories--1.52
end--CA730301 JB January 24, 1978 1:22 PM
title--Solution of the Transcendental Equation w*exp(w)=x [C5] (Algorithm A443)
abstract--
journal--CACM February, 1973
author--Fritsch, F. N.; Shafer, R. E.; Crowley, W. P.
keys--transcendental function evaluation, solution of transcendental equation
categories--5.12, 5.15
end--CA730209 JB January 24, 1978 1:26 PM
title--Properties of the Working Set Model (Corrigendum)
abstract--
journal--CACM February, 1973
author--Denning, P. J.; Schwartz, S. C.
keys--
categories--
end--CA730208 JB January 24, 1978 1:28 PM
title--An Overview of the ISPL Computer System Design
abstract--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).
journal--CACM February, 1973
author--Balzer, R. M.
keys--concurrent design, operating-system, scheduling, interprogram
communication, incremental compilation, virtual addressing, debugging,
hierarchical subsystems
categories--4.0, 4.13, 4.22, 4.30, 4.32, 4.41, 4.42, 6.20
end--CA730207 JB January 24, 1978 1:59 PM
title--A Software Design and Evaluation System
abstract--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.
journal--CACM February, 1973
author--Graham, R. M.; Clancy, G. J. Jr.; DeVaney, D. B.
keys--operating system development, language processing software evaluation,
compilers, system programming, supervisory systems, debugging, program
maintenance, modeling, system integration, simulation
categories--4.0, 4.12, 4.22, 4.30, 4.42, 4.43, 8.1
end--CA730206 JB January 24, 1978 2:07 PM
title--Reducing the Retrieval Time of Scatter Storage Techniques
abstract--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.
journal--CACM February, 1973
author--Brent, R. P.
keys--address calculation, content addressing, file searching, hash addressing,
hash code, linear probing, linear quotient method, scatter storage, searching,
symbol table
categories--3.7, 3.73, 3.74, 4.1, 4.9
end--CA730205 JB January 24, 1978 2:12 PM
title--Automatic Errorbounds for Simple Zeros of Analytic Functions
abstract--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.
journal--CACM February, 1973
author--Rokne, J.
keys--real intervals, complex intervals, real interval arithmetic, complex
interval arithmetic, Newton's method, Cauchy-Ostrowski theorem, zeros of
polynomials, zeros of Bessel functions
categories--5.11, 5.12, 5.15
end--CA730204 JB January 24, 1978 2:51 PM
title--A Theory of Discrete Patterns and Their Implementation in SNOBOL4
abstract--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.
journal--CACM February, 1973
author--Gimpel, J. F.
keys--patterns, SNOBOL4, pattern theory, parsing, pattern matching, string
processing, pattern implementation
categories--4.29, 5.39
end--CA730203 JB January 24, 1978 3:13 PM
title--The Use of Grammatical Inference for Designing Programming Languages
abstract--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.
journal--CACM February, 1973
author--Crespi-Regghizi, S.; Melkanoff, M. A.; Lichten, L.
keys--grammar design, language definition, inference, identification in the
limit, extensible languages
categories--3.61, 4.2, 5.23
end--CA730202 JB January 24, 1978 3:20 PM
title--Representation of Contours ad Regions for Efficient Computer Search
abstract--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.
journal--CACM February, 1973
author--Merrill, R. D.
keys--contour map representation, region boundary representation, computer-
search-able structure, graphic data retrieval, graphic language, two-
dimensional patterns, computer graphics, graphic display
categories--3.21, 3.23, 3.79, 6.35
end--CA730201 JB January 24, 1978 3:30 PM
title--Normal Deviate [S14] (Algorithm A442)
abstract--
journal--CACM January, 1973
author--Hill, G. W.; Davis, A. W.
keys--normal distribution inverse, probit transform, Taylor series
approximation
categories--5.12, 5.5
end--CA730113 JB January 24, 1978 3:39 PM
title--Random Deviates from the Dipole Distribution [G5] (Algorithm A441)
abstract--
journal--CACM January, 1973
author--Knop, R. E.
keys--random number, probability density, probability distribution, Dipole
distribution, Cauchy distribution, simulation, Monte Carlo
categories--3.17, 5.5
end--CA730112 JB January 24, 1978 3:42 PM
title--A Multidimensional Monte Carlo Quadrature with Adaptive Stratified
Sampling [D1] (Algorithm A440)
abstract--
journal--CACM January, 1973
author--Gallaher, L. J.
keys--Monte Carlo quadrature, stratified sampling, adaptive quadrature,
sequential stratification
categories--5.16, 5.5
end--CA730111 JB January 24, 1978 3:44 PM
title--Mutual Recursion in Algol 60 Using Restricted Compilers
abstract--
journal--CACM January, 1973
author--Atkins, M. S.
keys--Algol 60, mutual recursion, compiler restrictions
categories--4.12, 4.22
end--CA730110 JB January 24, 1978 3:46 PM
title--A Note on When To Chain Overflow Items Within a Direct-Access Table
abstract--
journal--CACM January, 1973
author--Bays, C.
keys--hash code, open hash, chaining, information retrieval, collision
categories--3.7, 4.9
end--CA730109 JB January 24, 1978 4:07 PM
title--The Practical Aspect of Computer Science Education-Discussion
abstract--
journal--CACM January, 1973
author--Blount, S. E.
keys--education, computer engineering, computer science curriculum, systems
design
categories--1.52, 6.0
end--CA730108 JB January 24, 1978 4:09 PM
title--Reduction of a Band-Symmetric Generalized Eigenvalue Problem
abstract--An algorithm is described for reducing the generalized eigenvalue
problem Ax = lambdaBx 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.
journal--CACM January, 1973
author--Crawford, C. R.
keys--generalized eigenvalues, symmetric band matrices
categories--5.14
end--CA730107 JB January 24, 1978 4:26 PM
title--Variable-Precision Exponentiation
abstract--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.
journal--CACM January, 1973
author--Richman, P. L.
keys--variable-precision, exponential function, error analysis, interval
arithmetic
categories--5.11
end--CA730106 JB January 24, 1978 4:32 PM
title--Adaptive Correction of Program Statements
abstract--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.
journal--CACM January, 1973
author--James, E. B.; Partridge, D. P.
keys--adaptive, linguistic pattern matching, automatic parsing, approximate
match, compiler, program statement analysis, syntax analysis
categories--3.62, 3.63, 3.65
end--CA730105 JB January 24, 1978 4:38 PM
title--On the Time Required for a Sequence of Matrix Products
abstract--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.
journal--CACM January, 1973
author--Muraoka, Y.; Kuck, D. J.
keys--matrix expressions, matrix multiplication, operation minimization,
parallel machine, time minimization
categories--4.22, 5.14
end--CA730104 JB January 24, 1978 4:41 PM
title--Protection in Programming Languages
abstract--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.
journal--CACM January, 1973
author--Morris, J. H. Jr.
keys--protection, types, environments,trademarks, seals, access keys, access
control authentication, secrecy
categories--4.2, 4.3
end--CA730103 JB January 24, 1978 4:45 PM
title--The Reallocation of Hash-Coded Tables
abstract--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.
journal--CACM January, 1973
author--Bays, C.
keys--reallocation, dynamic storage, hash code, scatter storage, deletions
categories--3.7, 3.73, 3.74, 4.9
end--CA730102 JB January 24, 1978 4:50 PM
title--A Queuing Model of a Multiprogrammed Computer with a Two-Level Storage
System
abstract--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.
journal--CACM January, 1973
author--Shedler, G. S.
keys--multiprogrammed computer system, storage system, hierarchical index sets
categories--4.32
end--CA730101 JB January 24, 1978 4:55 PM
title--A Heuristic Approach to Inductive Inference in Fact Retrieval Systems
abstract--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.
journal--CACM December, 1974
author--Skinner, C. W.
keys--inference, inductive inference, clustering, fact retrieval, heuristics
categories--3.61, 3.71, 3.79
end--CA741213 JB January 13, 1978 3:40 PM
title--Routing Problem (Algorithm R456)
abstract--
journal--CACM December, 1974
author--Tesch, G.
keys--
categories--
end--CA741212 JB January 13, 1978 3:42 PM
title--Merge Sort Algorithm (R426)
abstract--
journal--CACM December, 1974
author--Bron, C.
keys--
categories--
end--CA741211 JB January 13, 1978 3:43 PM
title--Hidden-Line Plotting Program (Algorithm R420)
abstract--
journal--CACM December, 1974
author--Ellis, T. M. R.
keys--
categories--
end--CA741210 JB January 13, 1978 3:45 PM
title--A Gaussian Pseudo-Random Number Generator (Algorithm 488)
abstract--
journal--CACM December, 1974
author--Brent, R. P.
keys--random numbers, pseudo-random numbers, Gaussian distribution, normal
distribution
categories--5.39, 5.5
end--CA741209 JB January 13, 1978 3:57 PM
title--Exact Cumulative Distribution of the Kolmogorov-Smirnov Statistic for
Small Samples (Algorithm A487)
abstract--
journal--CACM December, 1974
author--Pomeranz, J.
keys--Kolmogorov-Smirnov test, K-S statistic, goodness-of-fit testing
categories--8.1, 5.5
end--CA741208 JB January 13, 1978 4:08 PM
title--An Exponential Method for the Solution of Systems of Ordinary
Differential Equations
abstract--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.
journal--CACM December, 1974
author--Chu, S. C.; Berman, M.
keys--numerical solution, ordinary differential equations, initial value
problems, stiff systems
categories--5.17
end--CA741207 JB January 13, 1978 4:20 PM
title--A Graph Formulation of a School Scheduling Algorithm
abstract--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 an arc.
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.
journal--CACM December, 1974
author--Salazar, A.; Oakford, R. V.
keys--scheduling, school scheduling, examination scheduling, nondirected
network, graph, subgraph, strongly connected subgraph
categories--3.51, 3.52
end--CA741206 JB January 13, 1978 4:37 PM
title--Computer Generation of Gamma Random Variates with Non-integral Shape
Parameters
abstract--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.
journal--CACM December, 1974
author--Wallace, N. D.
keys--simulation, gamma random variables, probability distribution, random
numbers
categories--5.5, 8.1
end--CA741205 JB January 16, 1978 9:35 AM
title--A Comparison of List Schedules for Parallel Processing Systems
abstract--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.
journal--CACM December, 1974
author--Adam, T. L.; Chandy, K. M.; Dickson, J. R.
keys--parallel processing, precedence graphs, scheduling, list scheduling,
optimization, dynamic programming
categories--4.3, 4.32, 4.34, 4.35, 5.3, 5.32, 5.4, 5.42, 8.1
end--CA741204 JB January 16, 1978 9:42 AM
title--An Analytic Model of the Hasp Execution Task Monitor
abstract--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.
journal--CACM December, 1974
author--Strauss, J. C.
keys--Hasp, OS/360, dispatching, scheduling, modeling, performance evaluation
categories--4.32, 8.1
end--CA741203 JB January 16, 1978 9:51 AM
title--Arguments for a Moratorium on the Construction of a Community
Information Utility
abstract--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.
journal--CACM December, 1974
author--Press, L. I.
keys--community information utilities, social implications, public policy
categories--2.1, 2.3
end--CA741202 JB January 16, 1978 10:02 AM
title--Computer Programming as an Art
abstract--
journal--CACM December, 1974
author--Knuth, D. E.
keys--
categories--
end--CA741201 JB January 16, 1978 10:04 AM
title--Multiple Exists from a Loop Using Neither GO TO nor Labels
abstract--
journal--CACM November, 1974
author--Evans, R. V.
keys--goto free programming, control structures, multiple exists from loops,
exit statement
categories--4.20, 4.22
end--CA741110 JB January 16, 1978 10:07 AM
title--The Best-Match Problem in Document Retrieval
abstract--
journal--CACM November, 1974
author--Van Rijsbergen, C. J.
keys--document retrieval, best match, clustering, file searching, matching,
dissimilarity, hierarchy, classification
categories--3.73, 3.74, 3.79, 5.30
end--CA741109 JB January 16, 1978 10:09 AM
title--A Simple Technique for Representing Strings in Fortran IV
abstract--
journal--CACM November, 1974
author--Hanson, D. R.
keys--string processing, Fortran IV, string representation, structured
programming, data structures
categories--3.70, 4.0, 4.19, 4.9
end--CA741108 JB January 16, 1978 10:12 AM
title--An On-Site Data Management System Application in Field Archaeology
abstract--
journal--CACM November, 1974
author--Brown, J. A.; Werner, B.
keys--APL-PLUS, archaeology, Koster prehistoric site data management, retrieval
systems
categories--3.36, 3.70, 3.73, 3.89
end--CA741107 JB January 16, 1978 10:15 AM
title--Self-stabilizing Systems in Spite of Distributed Control
abstract--
journal--CACM November, 1974
author--Dijkstra, E. W.
keys--multiprocessing, networks, self-stabilization, synchronization, mutual
exclusion, robustness, sharing, error recovery, distributed control, harmonious
cooperation, self-repair
categories--4.32
end--CA741106 JB January 16, 1978 10:18 AM
title--Register Allocation Via Usage Counts
abstract--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.
journal--CACM November, 1974
author--Freiburghouse, R. A.
keys--optimization, redundant computations, common subexpressions, register
allocation, compilers, programming languages, virtual memory, demand paging
categories--4.12, 4.2, 4.39
end--CA741105 JB January 16, 1978 10:24 AM
title--A Method for Composing Simple Traditional Music by Computer
abstract--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.
journal--CACM November, 1974
author--Rader, G. M.
keys--artificial intelligence, heuristic programming, models of cognitive
processes, computer music, computer composition, music theory, formal
languages, probabilistic grammars
categories--3.44, 3.65, 5.23
end--CA741104 JB January 16, 1978 10:35 AM
title--A Locally-Organized Parser for Spoken Input
abstract--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.
journal--CACM November, 1974
author--Miller, P. L.
keys--parsing, speech recognition, speech understanding, augmented transition
networks, local parsing
categories--3.42, 3.65, 3.69
end--CA741103 JB January 16, 1978 10:41 AM
title--Improving Locality by Critical Working Sets
abstract--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.
journal--CACM November, 1974
author--Ferrari, D.
keys--program restructuring, program segmentation, locality improvement, memory
hierarchies, virtual memory, multiprogramming, restructuring techniques, static
restructuring, dynamic restructuring, working set strategy, critical working
set
categories--4.32, 4.39, 4.43, 4.49, 4.9
end--CA741102 JB January 16, 1978 10:50 AM
title--Guidelines for Humanizing Computerized Information Systems: A Report
from Stanley House
abstract--
journal--CACM November, 1974
author--Sterling, T. D.
keys--humanization, social implication, management, information systems,
regulations, social and behavioral sciences, philosophy
categories--1.5, 2, 3.3, 3.4, 3.5
end--CA741101 JB January 16, 1978 10:53 AM
title--Enumerating Full-Time Programmers
abstract--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.
journal--CACM October, 1974
author--Gilchrist, B.; Weber, R. E.
keys--programmer, employment, 1970 Census, Area Wage Survey
categories--1.50, 2.2, 2.42
end--CA741014 JB January 16, 1978 11:00 AM
title--Efficient Implementation of a Variable Projection Algorithm for
Nonlinear Least Squares Problems (Errata)
abstract--
journal--CACM October 1974
author--Krogh, F. T.
keys--
categories--
end--CA741013 JB January 16, 1978 11:02 AM
title--Adapting Optimal Code Generation for Arithmetic Expressions to the
Instruction Sets Available on Present-Day Computers (Errata)
abstract--
journal--CACM October, 1974
author--Stockhausen, P. F.
keys--
categories--
end--CA741012 JB January 16, 1978 11:05 AM
title--On the Construction of a Representative Synthetic Workload (Errata)
abstract--
journal--CACM October, 1974
author--Sreenivarsan, K.; Kleinman, A. J.
keys--
categories--
end--CA741011 JB January 16, 1978 11:07 AM
title--Rosenbrock Function Minimization (Algorithm R450)
abstract--
journal--CACM October, 1974
author--Klemes, J.; Klemsa, J.
keys--
categories--
end--CA741010 JB January 16, 1978 11:09 AM
title--A Computer Routine for Quadratic and Linear Programming Problems
(Algorithm R431)
abstract--
journal--CACM October, 1974
author--Proll, L. G.
keys--
categories--
end--CA741009 JB January 16, 1978 11:10 AM
title--Hypergeometric (Algorithm C191)
abstract--
journal--CACM October, 1974
author--Kopelaar, H.
keys--
categories--
end--CA741008 JB January 16, 1978 11:14 AM
title--Numerical Inversion of Laplace Transform (Algorithm A486)
abstract--
journal--CACM October, 1974
author--Veillon, F.
keys--Laplace transform inversion
categories--5.16
end--CA741007 JB January 16, 1978 11:17 AM
title--On Generation of Test Problems for Linear Programming Codes
abstract--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.
journal--CACM October, 1974
author--Charnes, A.; Raike, W. M.; Stutz, J. D.; Walters, A. S.
keys--linear programming, test problem generation, LP program evaluation, LP
program validation
categories--5.41
end--CA741006 JB January 16, 1978 12:28 PM
title--A Back-end Computer for Data Base Management
abstract--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.
journal--CACM October, 1974
author--Canaday, R. H.; Harrison, R. D.; Ivie, E. L.; Ryder, J. L.; Wehr, L. A.
keys--data base management, information retrieval, computer configurations,
computer networks, Data Base Task Group Language, data base protection, data
base portability, back-end computer
categories--3.79, 4.22, 4.33, 4.35
end--CA741005 JB January 16, 1978 12:35 PM
title--Structured Data Structures
abstract--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 guage 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.
journal--CACM October, 1974
author--Shneiderman, B.; Scheuermann, P.
keys--structured programming, data structures, data base management system
categories--3.50, 3.51, 3.72, 3.73, 3.79, 4.20, 4.22
end--CA741004 JB January 16, 1978 12:46 PM
title--A Note on the Calculation Working Set Size
abstract--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.
journal--CACM October, 1974
author--Slutz, D. R.; Traiger, I. L.
keys--working-set model, paging, program behavior
categories--4.3
end--CA741003 JB January 16, 1978 12:56 PM
title--A Weighted Buddy Method for Dynamic Storage Allocation
abstract--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.
journal--CACM October, 1974
author--Shen, K. K.; Peterson, J. L.
keys--weighted buddy algorithm, buddy systems, memory allocation, dynamic
storage allocation
categories--3.89, 4.32, 4.39
end--CA741002 JB January 16, 1978 1:07 PM
title--Monitors: An Operating System Structuring Concept
abstract--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.
journal--CACM October, 1974
author--Hoare, C. A. R.
keys--monitors, operating systems, scheduling, mutual exclusion,
synchronization, system implementation languages, structured multiprogramming
categories--4.31, 4.22
end--CA741001 JB January 16, 1978 1:23 PM
title--Extending the Information Theory Approach to Converting Limited-Entry
Decision Tables to Computer Programs
abstract--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.
journal--CACM September, 1974
author--Shwayder, K.
keys--coding, decision tables, flowcharting, information theory, noiseless
channel, sorting
categories--3.50, 5.31
end--CA740910 JB January 17, 1978 8:40 AM
title-- First Order Approximation to the Optimum Checkpoint Interval
abstract--
journal--CACM September, 1974
author--Young, J. W.
keys--checkpoint, job failure, operations, programming checkpoint, random
failure, operations, programming
categories--2.43, 4.0
end--CA740909 JB January 17, 1978 8:42 AM
title--Computation of g-Splines via a Factorization Method [E2] (Algorithm
A485)
abstract--
journal--CACM September, 1974
author--Eidson, H. D.; Schumaker, L. L.
keys--approximation, spline approximation
categories--5.13
end--CA740908 JB January 17, 1978 8:44 AM
title--Evaluation of the Modified Bessel Functions K0(Z) and K1(Z) for Complex
Arguments [S17] (Algorithm A484)
abstract--
journal--CACM September, 1974
author--Burrell, K. H.
keys--Bessel functions, Hankel functions, modified Bessel functions, Gauss-
Hermite quadrature
categories--5.12
end--CA740907 JB January 17, 1978 8:47 AM
title--Masked Three-Dimensional Plot Program with Rotations [J6] (Algorithm
A483)
abstract--
journal--CACM September, 1974
author--Watkins, S. L.
keys--plotting, three-dimensional plotting
categories--4.41
end--CA740906 JB January 17, 1978 8:49 AM
title--The Equivalence of Reducing Transition Languages and Deterministic
Languages
abstract--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.
journal--CACM September, 1974
author--Schkolnick, M.
keys--reducing transition languages, syntax controlled generators,
deterministic context-free grammars
categories--4.12, 5.23
end--CA740905 JB January 17, 1978 8:52 AM
title--An Interactive Graphic Display for Region Partitioning by Linear
Programming
abstract--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.
journal--CACM September, 1974
author--Cheung, T.
keys--interactive graphic display, region partitioning, area specification,
linear programming
categories--5.41, 8.2, 8.3
end--CA740904 JB January 17, 1978 8:56 AM
title--A Precise Numerical Analysis Program
abstract--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.
journal--CACM September, 1974
author--Aberth, O.
keys--interval arithmetic, multiple precision, list structure, error control
categories--4.49, 5.10, 5.11, 5.12, 5.14, 5.19
end--CA740903 JB January 17, 1978 9:01 AM
title--A New Integration Algorithm for Ordinary Differential Equations Based
on Continued Fraction Approximations
abstract--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.
journal--CACM September, 1974
author--Willers, I. M.
keys--ordinary differential equations, initial value problem, integration,
Taylor series, singularities, continued fractions, program comparison
categories--5.17
end--CA740902 JB January 17, 1978 9:06 AM
title--A Problem-List of Issues Concerning Computers and Public Policy
abstract--
journal--CACM September, 1974
author--ACM Committee
keys--economic and sociological effects, the public and computers
categories--2.11, 2.12
end--CA740901 JB January 17, 1978 9:08 AM
title--Recurrence Relations for the Fresnel Integral and Similar Integrals
abstract--
journal--CACM August,1974
author--Acton, F. S.
keys--recurrence relations, Fresnel integral, exponential integral
categories--5.12
end--CA740816 JB January 17, 1978 9:14 AM
title--Interpolation with Rounded Ramp Functions
abstract--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.
journal--CACM August, 1974
author--Lagerlof, R. O. E.
keys--interpolation, approximation, smooth interpolation, multi variable
interpolation, interpolation function, approximation function, spline-like
function
categories--5.13
end--CA740815 JB January 17, 1978 9:18 AM
title--Gauss Harmonic Interpolation Formulas
abstract--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.
journal--CACM August, 1974
author--Stroud, A. H.
keys--interpolation, quadrature, harmonic interpolation, harmonic quadrature,
Dirichlet problem
categories--5.13, 5.16, 5.17
end--CA740814 JB January 17, 1978 9:23 AM
title--The Complex Method for Constrained Optimization (Algorithm R454)
abstract--
journal--CACM August, 1974
author--Shere, K. D.
keys--
categories--
end--CA740813 JB January 17, 1978 9:28 AM
title--Rosenbrock Function Minimization (Algorithm R540)
abstract--
journal--CACM August, 1974
author--Bultheel, A.
keys--
categories--
end--CA740812 JB January 17, 1978 9:33 AM
title--Transitivity Sets [G7] (Algorithm A482)
abstract--
journal--CACM August, 1974
author--McKay, J.; Regener, E.
keys--transitivity, sets
categories--5.39
end--CA740811 JB January 17, 1978 9:35 AM
title--Arrow to Precedence Network Transformation [H] (Algorithm A481)
abstract--
journal--CACM August, 1974
author--Crandall, K. C.
keys--critical path, networks, precedence networks
categories--3.23, 5.40
end--CA740810 JB January 17, 1978 9:37 AM
title--Procedures for computing Smoothing and Interpolating Natural Splines
[E1] (Algorithm A480)
abstract--
journal--CACM August, 1974
author--Lyche, T.; Schumaker, L. L.
keys--approximation, interpolation, spline, natural spline, spline smoothing
categories--5.13
end--CA740809 JB January 17, 1978 9:40 AM
title--On the Conversion of Programs to Decision Tables: Method and Objectives
abstract--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.
journal--CACM August, 1974
author--Cavouras, J. C.
keys--decision tables, program optimization, debugging, semantics, theory of
programming, systems analysis
categories--4.19, 4.42, 4.43, 5.21, 5.29
end--CA740808 JB January 17, 1978 9:43 AM
title--A Note on Subexpression Ordering in the Evaluation of Arithmetic
Expressions
abstract--
journal--CACM August, 1974
author--Denning, P. J.; Graham, G. S.
keys--
categories--
end--CA740807 JB January 17, 1978 9:44 AM
title--A New Solution of Dijkstra's Concurrent Programming Problem
abstract--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.
journal--CACM August, 1974
author--Lamport, L.
keys--critical section, concurrent programming, multiprocessing, semaphores
categories--4.32
end--CA740806 JB January 17, 1978 9:48 AM
title--Graph Coloring Conditions for the Existence of Solutions to the
Timetable Problem
abstract--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.
journal--CACM August, 1974
author--Neufeld, G. A.; Tartar, J.
keys--graphs, coloration, preassignment, prevention of assignment, class-
teacher timetables
categories--3.9, 5.30, 5.32, 5.59
end--CA740805 JB January 17, 1978 9:55 AM
title--Execution Time Requirements for Encipherment Programs
abstract--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
programed 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.
journal--CACM August, 1974
author--Friedman, T. D.; Hoffman, L. J.
keys--encipherment, ciphers, security, privacy transformations, protection,
cryptography, cryptology
categories--2.12, 2.43, 3.70, 3.81, 4.32, 4.39
end--CA740804 JB January 17, 1978 10:05 AM
title--A High Security Log-in Procedure
abstract--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 polynomils over a prime modulus are superior to one-way
ciphers derived from Shannon codes.
journal--CACM August, 1974
author--Purdy, G. B.
keys--operating systems, time sharing systems, security, cryptography
categories--4.35
end--CA740803 JB January 17, 1978 10:10 AM
title--A User Authentication Scheme Not Requiring Secrecy in the Computer
abstract--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.
journal--CACM August, 1974
author--Evans, A. Jr.; Kantrowitz, W.; Weiss, E.
keys--operating system security, security, authentication, passwords, one-way
encryption, cryptology
categories--4.39, 5.39
end--CA740802 JB January 17, 1978 10:19 AM
title--A New Technique for Compression and Storage of Data
abstract--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.
journal--CACM August, 1974
author--Hahn, B.
keys--file maintenance, information retrieval, utility programs, text
compression, coding techniques, data storage, data management
categories--3.70, 3.73, 4.49
end--CA740801 JB January 17, 1978 10:25 AM
title--Formal Requirements for Virtualizable Third Generation Architectures
abstract--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.
journal--CACM July, 1974
author--Popek, G. J.; Goldberg, R. P.
keys--operating system, third generation architecture, sensitive instruction,
formal requirements, abstract model, proof, virtual machine, virtual memory,
hypervisor, virtual machine monitor
categories--4.32, 4.35, 5.21, 5.22
end--CA740707 JB January 17, 1978 11:19 AM
title--Capability-Based Addressing
abstract--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.
journal--CACM July, 1974
author--Fabry, R. S.
keys--addressing, capabilities, addressing hardware, protection, protection
hardware, shared addresses, information sharing, operating systems, computer
utility, segmentation, tagged architecture
categories--4.30, 4.32, 4.34, 6.21
end--CA740706 JB January 17, 1978 12:39 PM
title--Protection and the Control of Information Sharing in Multics
abstract--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.
journal--CACM July, 1974
author--Saltzer, J. H.
keys--Multics, protection, security, privacy, access control, authentication,
computer utilities, time-sharing systems, proprietary programs, protected
subsystems, virtual memory, descriptors
categories--3.70, 4.30, 6.2
end--CA740705 JB January 17, 1978 12:49 PM
title--Scheduling Independent Tasks to Reduce Mean Finishing Time
abstract--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
journal--CACM July, 1974
author--Bruno, J.; Coffman, E. G. Jr.; Sethi, R.
keys--minimizing mean finishing time, minimizing mean flow time, sequencing
algorithms, optimal scheduling algorithms, deterministic scheduling models
categories--4.32, 5.39
end--CA740704 JB January 17, 1978 12:56 PM
title--Minimal-Total-Processing Time Drum and Disk Scheduling Disciplines
abstract--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.
journal--CACM July, 1974
author--Fuller, S. H.
keys--drum scheduling, disk scheduling, shortest-latency-time-first (SLTF),
minimal-total-processing-time (MTPT), rotating storage units
categories--4.31, 4.41, 6.34, 6.35
end--CA740703 JB January 17, 1978 1:07 PM
title--The UNIX Time-Sharing system
abstract--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.
journal--CACM July, 1974
author--Ritchie, D. M.; Thompson, K.
keys--time-sharing, operating system, file system, command language, PDP-11
categories--4.30, 4.32
end--CA740702 JB January 17, 1978 1:40 PM
title--On Computing Sets of Shortest Paths in a Graph
abstract--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.
journal--CACM June, 1974
author--Minieka, E.
keys--graph, network, shortest path, algorithm
categories--5.32
end--CA740616 JB January 17, 1978 1:55 PM
title--An Information-Theoretic Approach to Text Searching in Direct Access
Systems
abstract--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.
journal--CACM June, 1974
author--Barton, I. J.; Creasey, S. E.; Lynch, M. F.; Snell, M. J.
keys--text searching, information theory, file organization, direct access,
information retrieval, character string, bit vector
categories--3.42, 3.70, 3.73, 3.74, 5.6
end--CA740615 JB January 17, 1978 2:07 PM
title--HYDRA: The Kernel of a Multiprocessor Operating System
abstract--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.
journal--CACM June, 1974
author--Wulf, W.; Cohen, E.; Corwin, W.; Jones, A.; Levin, R.; Pierson, C.;
Pollack, F.
keys--operating system, kernel, nucleus, protection, security
categories--4.3, 6.2
end--CA740614 JB January 17, 1978 2:40 PM
title--Compact Representation of Contour Plots for Phone Line Transmission
abstract--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.
journal--CACM June, 1974
author--Adams, J.; Gary, J.
keys--contour plotting, data transmission, remote terminal, data compaction
categories--4.41, 5.13
end--CA740613 JB January 17, 1978 2:48 PM
title--An Evaluation of Statistical Software in the Social Sciences
abstract--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.
journal--CACM June, 1974
author--Slysz, W. D.
keys--statistical computation, statistical software, descriptive statistics,
bivariate tables, Pearson correlation, regression, factor analysis, one-way
analysis of variance
categories--1.3, 3.30, 4.19, 4.22, 4.49, 5.5
end--CA740612 JB January 17, 1978 2:54 PM
title--Exact Probabilities for R X C Contingency Tables (Algorithm R434)
abstract--
journal--CACM June, 1974
author--Boulton, D. M.
keys--
categories--
end--CA740611 JB January 17, 1978 2:56 PM
title--Generation of Random Correlated Normal Variables (Algorithm R425)
abstract--
journal--CACM June, 1974
author--Page, R. L.
keys--
categories--
end--CA740610 JB January 17, 1978 2:57 PM
title--Hidden-Line Plotting Program (Algorithm R420)
abstract--
journal--CACM June, 1974
author--Ellis, T. M. R.
keys--
categories--
end--CA740609 JB January 17, 1978 2:59 PM
title--Hidden-Line Plotting Program (Algorithm R420)
abstract--
journal--CACM June, 1974
author--Gaither, B.
keys--
categories--
end--CA740608 JB January 17, 1978 3:00 PM
title--Calculation of Fourier Integrals (Algorithm R418)
abstract--
journal--CACM June, 1974
author--Piessens, R.
keys--
categories--
end--CA740607 JB January 17, 1978 3:01 PM
title--Modified Havie Integration (Algorithm R400)
abstract--
journal--CACM June, 1974
author--Piessens, R.
keys--
categories--
end--CA740606 JB January 17, 1978 3:04 PM
title--A Minimal Spanning Tree clustering Method [Z] (Algorithm A479)
abstract--
journal--CACM June, 1974
author--Page, R. L.
keys--clustering, pattern recognition, feature selection, minimal spanning
trees
categories--3.63, 5.39, 5.5
end--CA740605 JB January 17, 1978 3:06 PM
title--Solution of an Overdetermined System of Equations in the L1 Norm [F4]
(Algorithm A478)
abstract--
journal--CACM June, 1974
author--Barrodale, I.; Roberts, F. D. K.
keys--L1 approximation, L1 norm, overdetermined system of equations, linear
programming, simplex method
categories--5.13, 5.41
end--CA740604 JB January 17, 1978 3:25 PM
title--The Minimization of Spatially-Multiplexed Character Sets
abstract--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.
journal--CACM June, 1974
author--Gimpel, J. F.
keys--parsing, lexical analysis, scanning, string processing, spatial
multiplexing
categories--4.9
end--CA740603 JB January 17, 1978 3:31 PM
title--A Theorem-Proving Language for Experimentation
abstract--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
extendability will permit general experimentation with the various alternative
systems.
journal--CACM June, 1974
author--Henschen, L.; Overbeek, R.; Wos, L.
keys--theorem proving, resolution, factoring, paramodulation, programming
languages
categories--3.60, 4.22, 5.21
end--CA740602 JB January 17, 1978 3:37 PM
title--Two Languages for Estimating Program Efficiency
abstract--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.
journal--CACM June, 1974
author--Cohen, J.; Zuckerman, C.
keys--programming languages, syntax-directed translation, symbolic
manipulation, program efficiency, analysis of algorithms
categories--4.12, 4.20, 5.24, 5.25
end--CA740601 JB January 17, 1978 3:48 PM
title--A Model for Masking Rotational Latency by Dynamic Disk Allocation
abstract--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.
journal--CACM May, 1974
author--Gold, D. E.; Kuck, D. J.
keys--buffer memory, memory hierarchy, permutation algorithm, rotational
latency, staging, storage allocation
categories--4.41, 6.20
end--CA740507 JB January 17, 1978 3:59 PM
title--More on Algorithms that Reveal Properties of Floating Point Arithmetic
Units
abstract--
journal--CACM May, 1974
author--Gentleman, W. M.; Marovich, S. B.
keys--floating-point arithmetic, high-level languages, philosophy of language
design
categories--4.9, 5.19
end--CA740506 JB January 17, 1978 4:04 PM
title--A Design for a Number Theory Package with an Optimized Trial Division
routine
abstract--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.
journal--CACM May, 1974
author--Wunderlich, M. C.; Selfridge, J. L.
keys--number theory package, trial division, multiprecise arithmetic,
factorization, doubly linked lists, pseudoprime
categories--3.15
end--CA740505 JB January 17, 1978 4:09 PM
title--On the Distributions of Significant Digits and Roundoff Errors
abstract--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.
journal--CACM May, 1974
author--Tsao, N.
keys--significant digits, floating-point operations, roundoff errors, uniform
distribution, reciprocal distribution, variance, mean valve
categories--5.10, 5.11
end--CA740504 JB January 17, 1978 4:12 PM
title--Order-n Correction for Regular Languages
abstract--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.
journal--CACM May, 1974
author--Wagner, R. A.
keys--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
categories--4.12, 4.20, 5.22, 5.23, 5.42
end--CA740503 JB January 17, 1978 4:26 PM
title--The Treatment of Data Types in EL1
abstract--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.
journal--CACM May, 1974
author--Wegbreit, B.
keys--data types, modes, mode unions, type conversion, coercion, generic
functions, extensible languages, data type definition, data description
language, compilation
categories--4.12, 4.13, 4.22
end--CA740502 JB January 17, 1978 4:32 PM
title--Reduction of Compilation Costs Through Language Contraction
abstract--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.
journal--CACM May, 1974
author--Shaw, M.
keys--design of programming languages, language contraction, compiler design,
compilation cost, Algol
categories--4.12, 4.20
end--CA740501 JB January 17, 1978 4:39 PM
title--Solution of the Transcendental Equation w*exp(x)=x (Algorithm R443)
abstract--
journal--CACM April, 1974
author--Einarsson, B.
keys--
categories--
end--CA740417 JB January 17, 1978 4:44 PM
title--Generator of Set-Partitions to Exactly R Subsets [G7] (Algorithm A477)
abstract--
journal--CACM April, 1974
author--Ehrich, G.
keys--partitions, subset generation, permutations
categories--5.39
end--CA740416 JB January 17, 1978 4:46 PM
title--Six Subprograms for Curve Fitting Using Splines Under Tension [E2]
(Algorithm A476)
abstract--
journal--CACM April, 1974
author--Cline, A. K.
keys--interpolation, splines, contouring, curve fitting
categories--5.13, 8.2
end--CA740415 JB January 17, 1978 4:48 PM
title--Scalar- and Planar- Valued Curve Fitting Using Splines Under Tension
abstract--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.
journal--CACM April, 1974
author--Cline, A. K.
keys--interpolation, splines, contouring, curve fitting
categories--5.13, 8.2
end--CA740414 JB January 18, 1978 9:23 AM
title--An Improved Program-Synthesizing Algorithm and Its Correctness
abstract--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.
journal--CACM April, 1974
author--Lee, R. C. T.; Chang, C. L.; Waldinger, R. J.
keys--program-synthesizing algorithms, theorem proving, consequence finding,
primitive resolutions
categories--3.60, 3.64, 4.20, 4.42, 5.21, 5.22, 5.24
end--CA740413 JB January 18, 1978 9:32 AM
title--An Alternative Approach to Mutual Recursion in Algol 60 Using
Restricted Compilers
abstract--
journal--CACM April, 1974
author--Balfour, A.
keys--Algol 60, mutual recursion, compiler restrictions
categories--4.12, 4.22
end--CA740412 JB February 1, 1978 10:32 AM
title--Some Remarks on Lookup of Structured Variables
abstract--
journal--CACM April, 1974
author--Abrahams, P. W.
keys--PL/1, symbol table, structured variables, qualified references, compilers
categories--4.12, 4.22
end--CA740411 JB February 1, 1978 10:34 AM
title--Addendum to M. L. Patrick Paper
abstract--
journal--CACM April, 1974
author--Simmons, G. C.
keys--parallelism, polynomial root finding, real zeros
categories--5.15
end--CA740410 JB February 1, 1978 10:36 AM
title--Ideal Teaching Machines-A Solution to the Pedagogic Language Problem
abstract--
journal--CACM April, 1974
author--Sterling, T. D.; Pollack, S. V.
keys--education, programing languages, simulators
categories--1.52, 4.2
end--CA740409 JB February 1, 1978 10:38 AM
title--Graduate Education: The Ph.D. Glut: Response and Rebuttal
abstract--
journal--CACM April, 1974
author--Freeman, P.; Malcolm, M. A.; Payne, W. H.
keys--graduate education, Ph.D. production, accreditation
categories--1.5, 2.2, 2.3
end--CA740408 JB February 1, 1978 10:40 AM
title--A Study of Computer Use in a Graduate School of Business
abstract--
journal--CACM April, 1974
author--Lucas, H. C. Jr.; Montgomery, D. B.; Larreche, J. C.
keys--education, management, business schools
categories--1.50, 1.52
end--CA740407 JB January 18, 1978 9:35 AM
title--Parallelism in Tape-Sorting
abstract--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.
journal--CACM April, 1974
author--Even, S.
keys--tape sorting, parallelism, external sorting, queues, stacks
categories--5.31, 6.22
end--CA740406 JB January 18, 1978 9:44 AM
title--Copying List Structures Using Bounded Workspace
abstract--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.
journal--CACM April, 1974
author--Lindstrom, G.
keys--list processing, copying, marking, space complexity
categories--4.34, 5.25
end--CA740405 JB January 18, 1978 9:55 AM
title--On Lions' Counter Example for Gotlieb's Method for the Construction of
School Timetables
abstract--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.
journal--CACM April, 1974
author--Smith, G.; Sefton, I. M.
keys--combinatorial, multi-index problem, necessary conditions, schedule,
school timetable, timetable
categories--3.51, 5.39
end--CA740404 JB January 18, 1978 10:02 AM
title--Execution Characteristics of Programs in a Page-on-Demand System
abstract--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.
journal--CACM April, 1974
author--Boyse, J. W.
keys--program behavior, virtual memory, paging, demand paging, software
monitor, program execution characteristics, compiler execution behavior, editor
execution behavior
categories--4.12, 4.19, 4.32, 4.39, 4.9, 8.1
end--CA740403 JB January 18, 1978 10:12 AM
title--Computation of Page Fault Probability from Program Transition Diagram
abstract--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.
journal--CACM April, 1974
author--Franklin, M. A.; Gupta, R. K.
keys--virtual memory, demand paging, replacement rule, program model, program
behavior, Markov model, page fault, page fault probability
categories--4.30, 6.20
end--CA740402 JB January 18, 1978 10:31 AM
title--A Simple Linear Model of Demand Paging Performance
abstract--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.
journal--CACM April, 1974
author--Saltzer, J. H.
keys--paging, demand paging, memory models, program models, performance
measurement, multilevel memory systems, virtual memory, associative memory,
memory usage accounting, Multics
categories--3.79, 4.30, 4.32
end--CA740401 JB January 18, 1978 10:41 AM
title--Efficient Implementation of a Variable Projection Algorithm for
Nonlinear Least Squares Problems
abstract--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.
journal--CACM March, 1974
author--Krogh, F. T.
keys--nonlinear least squares, parameter estimation, variable projection
categories--5.14, 5.15
end--CA740313 JB January 18, 1978 10:49 AM
title--A Note on a Combinatorial Problem of Burnett and Coffman
abstract--
journal--CACM March, 1974
author--Stone, H. S.
keys--memories, interleaving, derangements, rencontres, combinatorial analysis
categories--5.39, 6.34
end--CA740312 JB January 18, 1978 10:54 AM
title--Emotional Content Considered Dangerous
abstract--
journal--CACM March, 1974
author--Smoliar, S. W.
keys--artificial intelligence, heuristic programing, models of cognitive
processes, computer music, computer composition, music theory
categories--3.44, 3.65
end--CA740311 JB January 18, 1978 10:56 AM
title--Quadratic Search for Hash Tables of Size p^n
abstract--
journal--CACM March, 1974
author--Ackerman, A. F.
keys--hashing, quadratic search
categories--4.10
end--CA740310 JB January 18, 1978 10:58 AM
title--Scan Conversion Algorithms for a Cell Organized Raster Display
abstract--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.
journal--CACM March, 1974
author--Barrett, R. C.; Fordan, B. W. Jr.
keys--graphics, scan conversion, raster display, line drawing, discrete image,
dot generation, matrix displays
categories--4.41, 6.35, 8.2
end--CA740309 JB January 18, 1978 11:08 AM
title--A Computer Routine for Quadratic and Linear Programming Problems
(Algorithm R431)
abstract--
journal--CACM March, 1974
author--Ravindran, A.
keys--
categories--
end--CA740308 JB January 18, 1978 11:10 AM
title--Zeros of a Complex Polynomial (Algorithm R419)
abstract--
journal--CACM March, 1973
author--Withers, D. H.
keys--
categories--
end--CA740307 JB January 18, 1978 11:11 AM
title--Incomplete Beta Ratio (Algorithm R179)
abstract--
journal--CACM March, 1974
author--Bosten, N. E.; Battiste, E. L.
keys--
categories--
end--CA740306 JB January 18, 1978 11:13 AM
title--Visible Surface Plotting Program [J6] (Algorithm A475)
abstract--
journal--CACM March, 1974
author--Wright, T.
keys--hidden line problem, computer graphics, contour surface
categories--3.65, 4.41, 8.2
end--CA740305 JB January 18, 1978 11:18 AM
title--Some Performance Tests of "quicksort" and Descendants
abstract--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.
journal--CACM March, 1974
author--Loeser, R.
keys--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
categories--4.49, 5.31
end--CA740304 JB January 18, 1978 11:26 AM
title--Optimal Space Allocation on Disk Storage Devices
abstract--When the amount of space required for file storage exceeds the amount
which can be kept online, 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.
journal--CACM March, 1974
author--Morgan, H. L.
keys--disk analysis, disk optimization, disk files, file systems, file
scheduling, space allocation, memory hierarchy
categories--3.72, 3.73, 4.39
end--CA740303 JB January 18, 1978 12:32 PM
title--Dynamic Memory Repacking
abstract--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.
journal--CACM March, 1974
author--Balkovich, E.; Chiu, W.; Presser, L.; Wood, R.
keys--dynamic memory repacking, memory compaction, storage fragmentation,
multiprogramming system model, probablistic model, central processor
productivity, resource utilization, system throughput
categories--4.32, 5.5, 6.20
end--CA740302 JB January 18, 1978 12:37 PM
title--On the Construction of a Representative Synthetic Workload
abstract--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.
journal--CACM March, 1974
author--Sreenivasan, K.; Kleinman, A. J.
keys--benchmarks, calibration, drive workload, input to simulation, probability
distribution, representative workload, synthetic workload, workload
characteristics
categories--5.5, 5.9, 8.1
end--CA740301 JB January 18, 1978 12:46 PM
title--The Synthesis of Loop Predicates
abstract--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.
journal--CACM March, 1974
author--Wegbreit, B.
keys--program verification, loop predicates, inductive assertions, synthesis of
loop predicates, weak interpretations, well-founded sets, property extraction,
theorem proving
categories--3.64, 4.19, 4.22, 5.24
end--CA740206 JB January 18, 1978 12:55 PM
title--Production Systems: or Can We Do Better than BNF?
abstract--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.
journal--CACM February, 1974
author--Ledgard, H. F.
keys--syntax, translation, context-sensitive grammars, compilers, formal
definition, PL/I standards
categories--4.2, 5.21, 5.23
end--CA740205 JB January 18, 1978 1:07 PM
title--The Parallel Execution of DO Loops
abstract--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.
journal--CACM February, 1974
author--Lamport, L.
keys--parallel computing, multiprocessor computers, array computers, vector
computers, loops
categories--4.12, 5.24
end--CA740204 JB January 18, 1978 1:14 PM
title--An Approximate Method for Generating Asymmetric Random Variables
abstract--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.
journal--CACM February, 1974
author--Ramberg, J. S.; Schmeiser, B. W.
keys--simulation, Monte Carlo, probability, statistics, approximations, random
variables, random numbers, moments, distribution
categories--5.5, 8.1
end--CA740203 JB January 18, 1978 1:19 PM
title--A Cell Organized Raster Display for Line Drawings
abstract--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.
journal--CACM February, 1974
author--Jordan, B. W. Jr.; Barrett, R. C.
keys--graphics, raster display, line drawing, discrete image, dot generation,
matrix displays
categories--4.41, 6.35, 8.2
end--CA740202 JB January 18, 1978 1:28 PM
title--Attribute Based File Organization in a Paged Memory Environment
abstract--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.
journal--CACM February, 1974
author--Rothnie, J. B. Jr.; Lozano, T.
keys--file organization, paging, retrieval algorithm, inverted file, multiple
key hashing
categories--3.70, 3.73, 3.74, 3.79
end--CA740201 JB January 18, 1978 1:37 PM
title--A CRT Report Generating System
abstract--
journal--CACM January, 1974
author--Lucas, H. C. Jr.
keys--report generation, automated systems design, data processing, management
categories--3.50, 4.12, 4.22
end--CA740110 JB January 18, 1978 1:40 PM
title--A Numbering Systems for Combinations
abstract--
journal--CACM January, 1974
author--Knott, G. D.
keys--combinatorics, coding system, storage mapping function
categories--4.9, 5.30
end--CA740109 JB January 18, 1978 1:42 PM
title--Comments on the Algorithms of Verhelst for the Conversion of Limited-
Entry Decision Tables to Flowcharts
abstract--
journal--CACM January, 1974
author--King, P. J. H.; Johnson, R. G.
keys--decision table, flowcharting, preprocessor, optimal programs, search
categories--3.50, 3.59, 4.19, 4.29, 4.49, 5.31
end--CA740108 JB January 18, 1978 1:45 PM
title--Reentrant Polygon Clipping
abstract--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 preceeding 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
dimensions, 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.
journal--CACM January, 1974
author--Sutherland, I. E.; Hodgman, G. W.
keys--computer graphics, hidden-surface, clipping
categories--5.31, 6.32, 6.35
end--CA740107 JB January 18, 1978 2:04 PM
title--Bivariate Interpolation and Smooth Surface Fitting Based on Local
Procedures [E2] (Algorithm A474)
abstract--
journal--CACM January, 1974
author--Akima, H.
keys--bivariate interpolation, interpolation, partial derivative, polynomial,
smooth surface fitting
categories--5.13
end--CA740106 JB January 18, 1978 2:07 PM
title--Computation of Legendre Series Coefficients [C6] (Algorithm A473)
abstract--
journal--CACM January, 1974
author--Piessens, R.
keys--Legendre series, Chebyshev series
categories--5.13
end--CA740105 JB January 18, 1978 2:21 PM
title--Tridiagonalization by Permutations
abstract--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 graphtheoretic 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.
journal--CACM January, 1974
author--Gibbs, N. E.; Poole, W. G. Jr.
keys--tridiagonal matrix, permutation, algorithm, eigenvalues, graph,
bandwidth, sparse matrix
categories--5.14, 5.32
end--CA740104 JB January 18, 1978 2:31 PM
title--A Method of Bivariate Interpolation and Smooth Surface Fitting Based on
Local Procedures
abstract--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.
journal--CACM January, 1974
author--Akima, H.
keys--bivariate interpolation, interpolation, partial derivative, polynomial,
smooth surface fitting
categories--5.13
end--CA740103 JB January 18, 1978 2:38 PM
title--A Fast Method for Solving a Class of Tridiagonal Linear Systems
abstract--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.
journal--CACM January, 1974
author--Malcolm, M. A.; Palmer, J.
keys--numerical linear algebra, linear systems, Toeplitz matrices, tridiagonal
matrices
categories--5, 5.1, 5.11, 5.14, 5.17
end--CA740102 JB January 18, 1978 2:50 PM
title--Syntax-Directed Least-Errors Analysis for Context-Free Languages: A
Practical Approach
abstract--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.
journal--CACM January, 1974
author--Lyon, G.
keys--arbitrary input strings, context-free grammars, parsing, dynamic
programming, stored subanalyses, separability, state merging, least-errors
correction
categories--4.12, 5.23, 5.42
end--CA740101 JB January 18, 1978 2:57 PM
title--Automatic Data Structure Choice in a Language of Very High Level
abstract--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.
journal--CACM December, 1975
author--Schwartz, J. T.
keys--program optimization, automatic programming, high-level languages, set-
theoretic languages, data structure choice
categories--4.12, 4.20, 4.22
end--CA751208 JB January 5, 1978 3:53 PM
title--Reduction: A Method of Proving Properties of Parallel Programs
abstract--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.
journal--CACM December, 1975
author--Lipton, R. J.
keys--deadlock free, reduction, interruptible, indivisible, parallel program,
semaphore, verification method, process, computation sequence
categories--4.32, 4.35,5.24
end--CA751207 JB January 5, 1978 3:59 PM
title--A Fast and Usually Linear Algorithm for Global Flow Analysis (Abstract
only--Complete paper JACM 23,1 January, 1976)
abstract--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.
journal--CACM December, 1975
author--Graham, S. L.; Wegman, M.
keys--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
categories--4.12, 5.24, 5.25, 5.32
end--CA751206 JB January 5, 1978 4:08 PM
title--On the Complexity of LR(k) Testing
abstract--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.
journal--CACM December, 1975
author--Hunt, H. B. III; Szymanski, T. G.; Ullman, J. D.
keys--computational complexity, context-free grammars, parsing, LR(k) grammars,
NP-complete problems
categories--4.12, 5.23, 5.25
end--CA751205 JB January 5, 1978 4:28 PM
title--The Intrinsically Exponential Complexity of the Circularity Problem for
Attribute Grammars
abstract--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.
journal--CACM December, 1975
author--Jazayeri, M.; Ogden, W. F.; Rounds, W. C.
keys--attribute grammars, circularity problem, context-free grammars,
computational complexity, exponential time, semantics
categories--4.12, 5.25
end--CA751204 JB January 5, 1978 4:38 PM
title--Exception Handling: Issues and a Proposed Notation
abstract--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.
journal--CACM December, 1975
author--Goodenough, J. B.
keys--multilevel exit, goto statement, error conditions, structured
programming, ON conditions, programming languages
categories--4.22
end--CA751203 JB January 5, 1978 4:47 PM
title--Programming Languages, Natural Languages, and Mathematics
abstract--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 programing. The development
of natural languages toward flexionless, 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.
journal--CACM December, 1975
author--Naur, P.
keys--analogies related to social aspects, pure and applied mathematics,
language quality, language development, artificial auxiliary languages,
literature, style, descriptive and prescriptive attitudes
categories--4.20
end--CA751202 JB January 6, 1978 8:30 AM
title--A Note on the Set Basis Problem Related to the Compaction of Character
Sets
abstract--This note discusses the reduction of the set basis problem to the
clique cover problem.
journal--CACM November, 1975
author--Kou, L. T.; Wong, C. K.
keys--compaction of character sets, set basis, set covering, computational
complexity, polynomial completeness, clique cover
categories--4.9, 5.25, 5.39
end--CA751106 JB January 6, 1978 8:55 AM
title--Backtrack Programming Techniques
abstract--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.
journal--CACM November, 1975
author--Bitner, J. R.; Reingold, E. M.
keys--backtrack, depth-first search, exhaustive search, macros, combinatorial
computing, non-attacking queen's problem, difference-preserving codes,
pentominoes, tiling problems, squaring the square
categories--5.30
end--CA751105 JB January 6, 1978 9:03 AM
title--Practical Syntactic Error Recovery
abstract--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.
journal--CACM November, 1975
author--Graham, S. L.; Rhodes, S. P.
keys--syntax errors, error recovery, error correction, parsing, simple
precedence, compilers, debugging
categories--4.12,4.42, 5.23
end--CA751104 JB January 6, 1978 9:42 AM
title--A Genealogy of Control Structures
abstract--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.
journal--CACM November, 1975
author--Ledgard, H. F.; Marcotty, M.
keys--structured programming, control structures, goto statements, language
design, PASCAL
categories--4.2, 5.24
end--CA751103 JB January 6, 1978 9:53 AM
title--Specifying Queries as Relational Expressions: The SQUARE Data
Sublanguage
abstract--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.
journal--CACM November, 1975
author--Boyce, R. F; Chamberlin, D. D.; King, W. F. III
keys--database, data sublanguages, relations, query languages, casual user,
relational data model, tabular data, interactive problem solving, nonprocedural
languages, relational completeness
categories--3.50, 3.70, 4.20
end--CA751102 JB January 6, 1978 10:04 AM
title--A Vector Space Model for Automatic Indexing
abstract--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.
journal--CACM November, 1975
author--Salton, G.; Wong, A.; Yang, C. S.
keys--automatic information retrieval, automatic indexing, content analysis,
document space
categories--3.71, 3.73, 3.74, 3.75
end--CA751101 JB January 6, 1978 10:14 AM
title--Horner's Rule for the Evaluation of General Closed Queueing Networks
abstract--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.
journal--CACM October, 1975
author--Reiser, M.; Kobayashi, H.
keys--Queueing networks, queueing theory Horner's rule, evaluation of
multinomial sums, load-dependent service rate
categories--5.12, 5.5, 8.1, 8.3
end--CA751007 JB January 6, 1978 10:35 AM
title--Remark on Stably Updating Mean and Standard Deviation of Data
(Corrigendum)
abstract--
journal--CACM October, 1975
author--Cotton, I.
keys--
categories--
end--CA751006 JB January 6, 1978 10:38 AM
title--Merging with Parallel Processors
abstract--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.
journal--CACM October, 1975
author--Gavril, F.
keys--parallel processing, parallel merging, parallel binary insertion
categories--5.31
end--CA751005 JB January 6, 1978 10:50 AM
title--Implementation of a Structured English Query Language
abstract--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.
journal--CACM October, 1975
author--Astrahan, M. M.; Chamberlin, D. D.
keys--relational model, query language, nonprocedural language, database, data
structure, data organization
categories--3.74, 3.75, 4.22, 4.33, 4.34
end--CA751004 JB January 6, 1978 11:02 AM
title--Optimizing the Performance of a Relational Algebra Database Interface
abstract--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.
journal--CACM October, 1975
author--Smith, J. M.; Yen-Tang Chang, P.
keys--relational database, database optimization, inverted file, automatic
programming, query language, data manipulation language, very high level
language
categories--3.70, 4.13, 4.33
end--CA751003 JB January 6, 1978 11:19 AM
title--CONVERT: A High Level Translation Definition Language for Data
Conversion
abstract--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.
journal--CACM October, 1975
author--Shu, N. C.; Housel, B. C.; Lum, V. Y.
keys--data conversion, data restructuring, data translation, database
reorganization, translation definition, utility program, programming languages,
nonprocedural languages
categories--3.50, 3,75, 4.29, 4.4, 4.9
end--CA751002 JB January 6, 1978 1:45 PM
title--A Preliminary System for the Design of DBTG Data Structures
abstract--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.
journal--CACM October, 1975
author--Gerritsen, R.
keys--network model of databases, Data Base Task Group, database design, data
structure, automatic programming, translation, nonprocedural languages
categories--3.5, 3.64, 3.7, 4.2, 5.23
end--CA751001 JB January 6, 1978 2:02 PM
title--Mechanical Program Analysis
abstract--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.
journal--CACM September, 1975
author--Wegbreit, B.
keys--analysis of programs, performance analysis, execution time, execution
behavior, difference equations, generating functions, list processing, Lisp,
algebraic manipulation, programming languages, analysis of algorithms
categories--3.69, 4.22, 5.24, 5.25
end--CA750905 JB January 6, 1978 2:11 PM
title--Optimal Balancing of I/O Requests to Disks
abstract--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.
journal--CACM September, 1975
author--Piepmeier, W. F.
keys--disk drive hierarchies, system evaluation, input/output, modeling,
queueing theory, balancing, scheduling, device assignment
categories--2.44, 4.35, 5.15, 5.5, 6.35, 8.1, 8.3
end--CA750904 JB January 6, 1978 2:42 PM
title--The Digital Simulation of River Plankton Population Dynamics
abstract--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.
journal--CACM September, 1975
author--Claudson, R. M.
keys--digital simulation, mathematical modeling, plankton population dynamics,
phytoplankton, zooplankton, river ecosystems, ecological mechanisms,
environmental simulation, modeling ecosystems, pollution, environmental impact,
environmental planning
categories--3.12, 3.19
end--CA750903 JB January 6, 1978 2:55 PM
title--Multidimensional Binary Search Trees Used for Associative Searching
abstract--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.
journal--CACM September, 1975
author--Bently, J. L.
keys--associative retrieval, binary search trees, key, attribute, information
retrieval system, nearest neighbor queries, partial match queries, intersection
queries, binary tree insertion
categories--3.63, 3.70, 3.74, 4.49
end--CA750902 JB January 6, 1978 3:22 PM
title--Multiprocessing Compactifying Garbage Collection
abstract--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.
journal--CACM September, 1975
author--Steele, G. L. Jr.
keys--garbage collection, storage reclamation, reclaimer, storage allocation,
multiprocessing, synchronization, semaphores, parallel processing,
compactification, relocation, LISP, list processing, free storage, pointers,
data structures, gc processor
categories--4.19, 4.32, 4.40, 4.49, 4.9
end--CA750901 JB January 6, 1978 3:39 PM
title--The Lemniscate Constants (Corrigendum)
abstract--
journal--CACM Sugust, 1975
author--Todd, J.
keys--
categories--
end--CA750811 JB January 6, 1978 3:44 PM
title--A Comparison of Simulation Event List Algorithms (Corrigendum)
abstract--
journal--CACM August, 1975
author--Vaucher, J. C.; Duval, P.
keys--
categories--
end--CA750810 JB January 6, 1978 3:43 PM
title--Combining Decision Rules in a Decision Table
abstract--The techniques for minimizing logic circuits are applied to the
simplification of decision tables by the combining of decision rules. This
method is logicaly 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.
journal--CACM August, 1975
author--Shwayder, K.
keys--the Quine-McCluskey method, prime implicants, minimization, maximization,
logic circuit, boolean method, coding, decision tables, flowcharting, sorting
categories--3.5, 3.74, 4.12, 5.31, 5.6
end--CA750809 JB January 6, 1978 3:53 PM
title--Multiple Byte Processing with Full-Word Instructions
abstract--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.
journal--CACM August, 1975
author--Lamport, L.
keys--byte processing, character processing, packed data
categories--4.9
end--CA750808 JB January 6, 1978 4:21 PM
title--Consecutive Storage of Relevant Records with Redundancy
abstract--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.
journal--CACM August, 1975
author--Ghosh, S. P.
keys--consecutive, retrieval, storage, file, records, query, redundancy, key
categories--3.70, 3.73, 3.74
end--CA750807 JB January 6, 1978 4:34 PM
title--Comments on a Paper by T. C. Chen and I. T. Ho
abstract--
journal--CACM August, 1975
author--Smith, A. J.
keys--binary coded decimal digits, decimal data storage, data compression,
Huffman codes, variable length codes
categories--6.32, 6.34
end--CA750806 JB January 6, 1978 4:37 PM
title--Interactive Consulting via Natural Language
abstract--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.
journal--CACM August, 1975
author--Sharo, S. C.; Kwasny, S. C.
keys--interactive programming, time-sharing systems, natural language
processing, computer assisted instruction
categories--3.32,3.42,3.79,4.49
end--CA750805 DMM January 30, 1978 4:13 PM
title--Remark on Stably Updating Mean and Standard Deviation of Data
abstract--
journal--CACM August, 1975
author--Cotton, I. W.
keys--mean, standard deviation
categories--5.5, 5.19
end--CA750804 JB January 6, 1978 4:40 PM
title--Guarded Commands, Nondeterminacy and Formal Derivation of Programs
abstract--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.
journal--CACM August, 1975
author--Dijkstra, E. W.
keys--programming languages, sequencing primitives, program semantics,
programming language semantics, nondeterminacy, case-construction, repetition,
termination, correctness proof, derivation of programs, programming methodology
categories--4.20, 4.22
end--CA750803 JB January 6, 1978 4:46 PM
title--Deterministic Parsing of Ambiguous Grammars
abstract--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.
journal--CACM August, 1975
author--Aho, A. V.; Johnson, S. C.; Ullman, J. D.
keys--programming language specification, parser generation, translator writing
systems, syntax analysis, LR parsing, LL parsing, ambiguous grammars
categories--4.12, 4.22, 5.23
end--CA750802 JB January 9, 1978 9:28 AM
title--On the External Storage Fragmentation Produced by First-Fit and Best-
Fit Allocation Strategies
abstract--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.
journal--CACM August, 1975
author--Shore, J. E.
keys--storage fragmentation, dynamic memory allocation, first-fit, best-fit
categories--3.73, 4.32, 4.35
end--CA750801 JB January 9, 1978 9:41 AM
title--Discrimination in the Employment of Women in the Computer Industry
abstract--
journal--CACM July, 1975
author--Weber, R. E.; Gilchrist, B.
keys--discrimination against women, salaries, employment, programmers, systems
analysis, keypunch operators, machine operators
categories--2.40, 2.41, 2.42
end--CA750707 JB January 9, 1978 9:55 AM
title--A Note on Hash Linking
abstract--
journal--CACM July, 1975
author--Bobrow, D. G.
keys--hash search, address space extension, implicit pointers, monitor
conditions
categories--3.7, 3.73, 4.1
end--CA750706 JB January 9, 1978 9:59 AM
title--Determining the Minimum-Area Encasing Rectangle for an Arbitrary Closed
Curve
abstract--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.
journal--CACM July, 1975
author--Freeman, H.; Shapira, R.
keys--enclosed curve, optimum layout, optimum packing, minimum-area encasing
rectangle
categories--5.19, 5.49
end--CA750705 JB January 9, 1978 10:08 AM
title--Use of the Concept of Transparency in the Design of Hierarchically
Structured Systems
abstract--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.
journal--CACM July, 1975
author--Parnas, D. L.; Siewiorek, D. P.
keys--hierarchical systems, bottom up design, levels of abstraction,
synchronization primitives
categories--4.20,4.30,6.1,6.20
end--CA750704 DMM January 31, 1978 3:46 PM
title--The Restriction Language for Computer Grammars of Natural Language
abstract--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.
journal--CACM July 1975
author--Sager, N.; Grishman, R.
keys--natural language, parsing, grammar, programming languages
categories--3.42, 3.79, 4.22
end--CA750703 JB January 9, 1978 10:17 AM
title--A Large Semaphore Based Operating System
abstract--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.
journal--CACM July, 1975
author--Lauesen, S.
keys--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
categories--4.30, 4.31, 4.32, 4.42, 4.43, 5.24
end--CA750702 JB January 9, 1978 10:32 AM
title--Decomposability, Instabilities, and Saturation in Multiprogramming
Systems
abstract--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.
journal--CACM July, 1975
author--Courtois, P. J.
keys--multiprogramming, paging, performance evaluation, saturation,
instabilities, thrashing, aggregation, system levels, hierarchy, networks of
queues
categories--4.31, 4.32, 8.1, 8.2
end--CA750701 JB January 9, 1978 10:39 AM
title--Improved Event-Scanning Mechanisms for Discrete Event Simulation
abstract--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.
journal--CACM June, 1975
author--Wyman, F. P.
keys--discrete event simulation, simulation, event scanning mechanisms
categories--4.34, 5.5, 8.1
end--CA760611 JB January 9, 1978 12:43 PM
title--Sorting X + Y
abstract--
journal--CACM June, 1975
author--Harper, L. H.; Payne, T. H.; Savage, J. E.; Straus, E.
keys--merge sorting, computational complexity, data modeling, computing models,
binary comparisons
categories--5.25, 5.31
end--CA750610 JB January 9, 1978 12:45 PM
title--Addition in an Arbitrary Base Without Radix Conversion
abstract--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.
journal--CACM June, 1975
author--Soule, S.
keys--addition, subtraction, decimal arithmetic, arbitrary radix arithmetic,
radix conversion, MIX arithmetic, Cobol display arithmetic, mixed radix
arithmetic
categories--4.49, 4.9, 5.9
end--CA750609 JB January 9, 1978 12:52 PM
title--A Linear Space Algorithm for Computing Maximal Common Subsequences
abstract--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.
journal--CACM June, 1975
author--Hirschberg, D. S.
keys--subsequence, longest common subsequence, string correction, editing
categories--3.63, 3.73, 3.79, 4.22, 5.25
end--CA750608 JB January 9, 1978 12:56 PM
title--Efficient String Matching: An Aid to Bibliographic Search
abstract--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.
journal--CACM June, 1975
author--Aho, A. V.; Corasick, M. J.
keys--keywords and phrases, string pattern matching, bibliographic search,
information retrieval, text-editing, finite state machines, computational
complexity.
categories--3.74, 3.71, 5.22, 5.25
end--CA750607 JB January 9, 1978 1:03 PM
title--A Simplified Recombination Scheme for the Fibonacci Buddy System
abstract--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.
journal--CACM June, 1975
author--Cranston, B.; Thomas, R.
keys--Fibonacci buddy system, dynamic storage allocation, buddy system
categories--3.89, 4.32, 4.39
end--CA750606 JB January 9, 1978 1:07 PM
title--Indirect Threaded Code
abstract--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.
journal--CACM June, 1975
author--Dewar, R. B. K.
keys--threaded code, SNOBOL4, interpretors, code generation
categories--4.12, 4.13
end--CA750605 JB January 9, 1978 1:11 PM
title--Significant Event Simulation
abstract--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.
journal--CACM June, 1975
author--Babich, A. F.; Grason, J.; Parnas, D. L.
keys--simulation organization, event simulation, clock pulse simulation,
significant event simulation.
categories--8.1
end--CA750604 JB January 9, 1978 1:20 PM
title--A Cost Oriented Algorithm for Data Set Allocation in Storage
Hierarchiesabstract--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.
journal--CACM June, 1975
author--Lum, V. Y.; Senko, M. E; Wang, C. P.; Ling, H.
keys--data set allocation, hierarchical storage, storage system configuration,
data staging, data migration, storage allocation analysis
categories--3.5, 3.9, 6.2
end--CA750603 JB January 9, 1978 1:31 PM
title--Illumination for Computer Generated Pictures
abstract--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.
journal--CACM June, 1975
author--Phong, B. T.
keys--computer graphics, graphic display, hidden surface removal.
categories--3.26, 3.41, 8.2
end--CA750602 JB January 9, 1978 1:46 PM
title--Generation of All the Cycles of a Graph from a Set of Basic Cycles [H]
(Algorithm 492)
abstract--
journal--CACM June 1975
author--Gibbs, N. E.
keys--basic cycle, cycle, graph
categories--5.32, 3.24
end--CA750601 JB January 9, 1978 1:55 PM
title--A Heuristic Problem Solving Design System for Equipment or Furniture
Layouts
abstract--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.
journal--CACM May, 1975
author--Pfefferkorn, C. E.
keys--artificial intelligence, computer-aided design, design synthesis,
diagnostic search, heuristics, planning, problem solving, representations,
search strategies, space planning, spatial representations
categories--3.20, 3.25, 3.64, 3.66
end--CA750514 JB January 9, 1978 2:10 PM
title--A Syntactic Algorithm for Peak Detection in Waveforms with Applications
to Cardiography
abstract--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.
journal--CACM May, 1975
author--Horowitz, S. L.
keys--peak detection, digitized waveform, piecewise linear approximation,
context-free grammar, bottom-up parsing, electrocardiogram.
categories--3.12, 3.24, 3.34, 3.63, 4.19, 5.13, 5.23
end--CA750513 JB January 9, 1978 2:18 PM
title--The New Math of Computer Programming (Corrigendum)
abstract--
journal--CACM May, 1975
author--Mills, H. D.
keys--
categories--
end--CA750512 JB January 9, 1978 2:20 PM
title--A Problem-List of Public Policy Issues Concerning Computers and Health
Care
abstract--
journal--CACM May, 1975
author--Wasserman, A. I.
keys--economic and social implications, the public and computing, medicine and
health care
categories--2.11, 2.12, 3.34
end--CA750511 JB January 9, 1978 2:22 PM
title--More on kth Shortest Paths
abstract--
journal--CACM May, 1975
author--Fox, B. L.
keys--networks, kth shortest paths
categories--5.32
end--CA750510 JB January 9, 1978 2:24 PM
title--A Note on the LU Factorization of a Symmetric Matrix
abstract--
journal--CACM May, 1975
author--Evans, D. J.; Hatzopoulos, M.
keys--symmetric matrices, factorization, test matrices, matrix inversion,
separable systems
categories--5.14
end--CA750509 JB January 9, 1978 2:26 PM
title--Solution of an Overdetermined System of Equations in the L1 Norm
(Algorithm R478)
abstract--
journal--CACM May, 1975
author--Fritsch, F. N.; Hindmarsh, A. C.
keys--
categories--
end--CA750508 JB January 9, 1978 2:32 PM
title--Visible Surface Plotting Program (Algorithm R475)
abstract--
journal--CACM May, 1975
author--Doran, C. J.
keys--
categories--
end--CA750507 JB January 9, 1978 2 2:33 PM
title--Visible Surface Plotting Program (Algorithm R475)
abstract--
journal--CACM May, 1975
author--Mashburn, R. G.
keys--
categories--
end--CA750506 JB January 9, 1978 2:35 PM
title--Ten Subroutines for the Manipulation of Chebyshev Series (Algorithm
R446, C446)
abstract--
journal--CACM May, 1975
author--Piessens, R.; Mertens, I.
keys--
categories--
end--CA750505 JB January 9, 1978 2:37 PM
title--Basic Cycle Generation [H] (Algorithm 491)
abstract--
journal--CACM May, 1975
author--Gibbs, N. E.
keys--Graph, basic cycles, fundamental cycle, spanning tree, vertex adjacency
matrix
categories--5.32, 3.24
end--CA750504 JB January 9, 1978 2:39 PM
title--An Intelligent Analyzer and Understander of English
abstract--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.
journal--CACM May, 1975
author--Wilks, Y.
keys--artificial intelligence, computational linguistics, template, paraplate,
stereotype, machine translation, understanding, natural language processing,
semantic preference, semantic density
categories--3.36, 3.42, 3.63
end--CA750503 JB January 9, 1978 3:00 PM
title--Analysis and performance of Inverted Data Base Structures
abstract--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.
journal--CACM May, 1975
author--Cardenas, A. F.
keys--data base architecture, inverted file organization, data base performance
and measurement, secondary index organization, information storage and
retrieval, query answering
categories--3.70, 3.71, 3.72, 3.74, 3.79, 4.0
end--CA750502 JB January 9, 1978 3:15 PM
title--Copying Cyclic List Structures in Linear Time Using Bounded Workspace
abstract--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.
journal--CACM May, 1975
author--Fisher, D. A.
keys--list processing, copying, linear time, space complexity
categories--4.49, 5.25
end--CA750501 JB January 9, 1978 3:22 PM
title--A Comparison of Simulation Event List Algorithms
abstract--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.
journal--CACM April, 1975
author--Vaucher, J. G.; Duval, P.
keys--simulation, time flow mechanisms, event list algorithm, simulation, time
flow mechanisms, event list algorithm, simulation executive, event scheduling
routine, discrete system simulation, sorting
categories--3.74, 4.22, 8.1
end--CA750410 JB January 9, 1978 3:43 PM
title--An Algorithm for Locating Adjacent Storage Blocks in the Buddy System
abstract--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.
journal--CACM April, 1975
author--Hinds, J. A.
keys--dynamic storage allocation, buddy system, generalized Fibonacci sequences
categories--3.89, 4.32, 4.39
end--CA750409 JB January 9, 1978 3:46 PM
title--A Modification of Warshall's Algorithm for the Transitive Closure of
Binary Relations
abstract--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.
journal--CACM April, 1975
author--Warren, H. S. Jr.
keys--Warshall's algorithm, transitive closure, reachability matrix, directed
graph, digraph, Boolean matrix, binary relation
categories--5.30, 5.32
end--CA750408 JB January 9, 1978 3:49 PM
title--The Quadratic Hash Method When the Table Size Is Not a Prime Number
abstract--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.
journal--CACM April, 1975
author--Batagelj, V.
keys--quadratic search, hash code, scatter storage, table size
categories--3.74, 4.10
end--CA750407 JB January 9, 1978 3:54 PM
title--The Synthesis of Solids Bounded by Many Faces
abstract--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.
journal--CACM April, 1975
author--Braid, I. C.
keys--computational geometry, computer-aided design, graphics, machined
components, polyhedra, shape synthesis, three-dimensional modeling
categories--3.2, 8.2
end--CA750406 JB January 9, 1978 3:59 PM
title--On Maintenance of the Opportunity List for Class-Teacher Timetable
Problems
abstract--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.
journal--CACM April, 1975
author--Smith, G.
keys--combinatorial, necessary conditions, opportunity list, schedule, school
timetable, timetable
categories--3.51, 5.39
end--CA750405 JB January 9, 1978 4:03 PM
title--A Weighted Buddy Method for Dynamic Storage Allocation (Corrigendum)
abstract--
journal--CACM April, 1975
author--Shen, K. K.; Peterson, J. L.
keys--
categories--
end--CA750404 JB January 9, 1978 4:06 PM
title--Remark on Algorithm 475
abstract--
journal--CACM April, 1975
author--Frederick, L. W.
keys--
categories--
end--CA750403 JB January 9, 1978 4:07 PM
title--The Dilogarithm Function of a Real Argument [S22] (Algorithm 490)
abstract--
journal--CACM April, 1975
author--Ginsberg, E. S.; Zaborowski, D.
keys--dilogarithm
categories--5.12
end--CA750402 JB January 9, 1978 4:09 PM
title--Computer Networks in Higher Education: Socio-Economic-Political Factors
abstract--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.
journal--CACM April, 1975
author--Chambers, J. A.; Poore, R. V.
keys--networks, higher education
categories--1.3, 2.45
end--CA750401 JB January 9, 1978 4:17 PM
title--On a Solution to the Cigarette Smoker's Problem (Without Conditional
Statements)
abstract--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.
journal--CACM March, 1975
author--Parnas, D. L.
keys--operating systems, co-operating processes, process synchronization
primitives
categories--4.3
end--CA750311 JB January 9, 1978 4:24 PM
title--Perturbations of Eigenvalues of Non-normal Matrices (Corrigendum)
abstract--
journal--CACM March, 1975
author--Sluis, A.
keys--
categories--
end--CA750310 JB January 9, 1978 4:26 PM
title--Discrete Least Squares Polynomial Fits
abstract--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.
journal--CACM March, 1975
author--Shampine, L. F.
keys--orthogonal polynomials, data fitting, least squares, recurrence relation
between orthogonal polynomials, residual
categories--5.11, 5.13
end--CA750309 JB January 9, 1978 4:29 PM
title--On Computing Certain Elements of the Inverse of a Sparse Matrix
abstract--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.
journal--CACM March, 1975
author--Erisman, E. M.; Tinney, W. F.
keys--sparse matrices, triangular factorization, elements of inverse,
tridiagonal matrix, sensitivities
categories--3.24, 5.14
end--CA750308 JB January 9, 1978 4:34 PM
title--The Algorithm Sequential Access Method: An Alternative to Index
Sequential
abstract--
journal--CACM March, 1975
author--Whitt, J. D.; Sullenberger, A. G.
keys--keys, direct access method, sequential access method, randomizing
information retrieval
categories--3.7
end--CA750307 JB January 9, 1978 4:37 PM
title--A Reply to Gentleman and Marovich
abstract--
journal--CACM March, 1975
author--Karp, R. A.
keys--high-level languages, philosophy of language design
categories--4.22, 5.19
end--CA750306 JB January 9, 1978 4:38 PM
title--The Algorithm SELECT-for Finding the ith Smallest of n Elements [M1]
(Algorithm 489)
abstract--
journal--CACM March, 1975
author--Floyd, R. W.; Rivest, R. L.
keys--selection, medians, quantiles
categories--5.30, 5.39
end--CA750305 JB January 9, 1978 4:43 PM
title--Expected Time Bounds for Selection
abstract--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.
journal--CACM March, 1975
author--Floyd, R. W.; Rivest, R. L.
keys--selection, computational complexity, medians, tournaments, quantiles
categories--5.30, 5.39
end--CA750304 JB January 9, 1978 4:52 PM
title--Glypnir-A Programming Language for Illiac IV
abstract--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.
journal--CACM March, 1975
author--Lawrie, D. H.; Layman, T.; Baer, D.; Randal, J. M.
keys--GLYPNIR, Illiac IV, Programming language, parallel computation, parallel
architecture
categories--4.2, 4.21, 4.22
end--CA750303 JB January 9, 1978 4:57 PM
title--A System for Typesetting Mathematics
abstract--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 may
be 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
journal--CACM March, 1975
author--Kernighan, B. W.; Cherry, L. L.
keys--typesetting, photocomposition, compiler-compiler, graphics, printing,
text processing.
categories--4.12, 4.22, 8.2
end--CA750302 JB January 10, 1978 8:56 AM
title--Matrix Reduction-An Efficient Method
abstract--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.
journal--CACM March, 1975
author--Johnston, H. C.; Hoare, C. A. R.
keys--binary matrices, matrix reduction, tight set, school timetable
construction, structured programming
categories--3.51, 4.9, 5.39
end--CA750301 JB January 10, 1978 9:03 AM
title--Finding Circles by an Array of Accumulators
abstract--
journal--CACM February, 1975
author--Kimme, C.; Balard, D.; Sklansky, J.
keys--picture processing, pattern recognition, curve detection, line fitting
categories--3.63
end--CA750211 JB January 10, 1978 9:15 AM
title--A Minimal Spanning Tree Clustering Method (Algorithm R479)
abstract--
journal--CACM February, 1975
author--Magnuski, H. S.
keys--
categories--
end--CA750210 JB January 12, 1978 2:52 PM
title--The Elementary Circuits of a Graph (Algorithm R459)
abstract--
journal--CACM February, 1975
author--Syslo, M. M.
keys--
categories--
end--CA750209 JB January 12, 1978 2:54 PM
title--Exact Probabilities for R x C Contingency Tables (Algorithm R434)
abstract--
journal--CACM February, 1975
author--Hancock, T. W.
keys--
categories--
end--CA750208 JB January 12, 1978 2:55 PM
title--Jacobi Polynomials (Algorithm R332)
abstract--
journal--CACM February, 1975
author--Skovgaard, O.
keys--
categories--
end--CA750207 JB January 10, 1978 9:32 AM
title--Chi-Square Quantiles (Algorithm C451)
abstract--
journal--CACM February, 1975
author--Knight, W.
keys--
categories--
end--CA750206 JB January 10, 1978 9:40 AM
title--State-Space, Problem-Reduction, and Theorem Proving-Some Relationships
abstract--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.
journal--CACM February, 1975
author--VanderBrug, G. J.; Minker, J.
keys--artificial intelligence, state-space representation, problem-reduction
representation, theorem proving, language recognition
categories--3.64
end--CA750205 JB January 12, 1978 8:27 AM
title--Sentence Paraphrasing from a Conceptual Base
abstract--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.
journal--CACM February, 1975
author--Goldman, N. M.
keys--artificial intelligence, natural language processing, language
generation, models of cognitive processes, semantic representation
categories--3.42, 3.60, 3.65
end--CA750204 JB January 12, 1978 8:43 AM
title--Monitors: An Operating System Structuring Concept (Corrigendum)
abstract--
journal--CACM February, 1975
author--Hoare, C. A. R.
keys--
categories--
end--CA750203 JB January 12, 1978 8:45 AM
title--A First Order Approximation to the Optimal Checkpoint Interval
(Corrigendum)
abstract--
journal--CACM February, 1975
author--Young, J. W.
keys--
categories--
end--CA750202 JB January 12, 1978 8:47 AM
title--Analysis of Interleaved Memory Systems Using Blockage Buffers
abstract--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.
journal--CACM February, 1975
author--Burnett, G. J.; Coffman, E. G. Jr.
keys--interleaved memory systems, modular memory systems, memory performance
analysis, blockage buffer, conflict buffer, simulation, Monte Carolo simulation
categories--5.5, 6.34
end--CA750201 JB January 12, 1978 8:54 AM
title--Stably Updating Mean and Standard Deviation of Data
abstract--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.
journal--CACM January, 1975
author--Hanson, R. J.
keys--mean, standard deviation, least squares, Givens transformation, updating
estimates, removing data
categories--5.5, 5.19
end--CA750112 JB January 12, 1978 9:05 AM
title--Connections Between Accuracy and Stability Properties of Linear
Multistep Formulas
abstract--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.
journal--CACM January, 1975
author--Liniger, W.
keys--stiff equations, parametrized linear multistep formulas, order of
accuracy, A(0)-stability, A(inf)-stability, strict stability
categories--5.17
end--CA750111 JB January 12, 1978 9:26 AM
title--Storage-Efficient Representation of Decimal Data
abstract--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.
journal--CACM January, 1975
author--Chi Chen, T.; Ho, I. T.
keys--binary-coded decimal digits, decimal data storage
categories--6.32, 6.34
end--CA750110 JB January 12, 1978 9:42 AM
title--The New Math of Computer Programming
abstract--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.
journal--CACM January, 1975
author--Mills, H. D.
keys--structured programming, algebra of functions, stepwise refinement,
program correctness
categories--4.6, 5.21, 5.24
end--CA750109 JB January 12, 1978 9:50 AM
title--Pseudoinverses and Conjugate Gradients
abstract--This paper is devoted to the study of connections between
pseudoinverses of matrices and conjugate gradients and conjugate direction
routines.
journal--CACM January, 1975
author--Hestenes, M. R.
keys--pseudoinverse, conjugate gradients, hermitian matrix, minimization
categories--5.14
end--CA750108 JB January 12, 1978 10:08 AM
title--Elementary Divisors of Tensor Products
abstract--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.
journal--CACM January, 1975
author--Marcus, M.; Robinson, H.
keys--elementary divisors, tensor products, linear transformations
categories--5.14
end--CA750107 JB January 12, 1978 10:13 AM
title--Perturbations of Eigenvalues of Non-normal Matrices
abstract--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 eigensystem. The
bounds which are derived are shown to be almost attainable for any set of
matrices.
journal--CACM January, 1975
author--van der Sluis, A.
keys--perturbation of eigenvalues, non-normal matrices, departure from
normality, Gershgorin circles
categories--5.14
end--CA750106 JB January 12, 1978 10:31 AM
title--Two Hadamard Numbers for Matrices
abstract--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 eigensystems) seems to be new.
journal--CACM January, 1975
author--Birkhoff, G.
keys--matrices, eigenvalues, norms, condition numbers, error analysis, Gram-
Schmidt orthogonalization
categories--5.11, 5.14
end--CA750105 JB January 12, 1978 10:37 AM
title--On the Stability of Gauss-Jordan Elimination with Pivoting
abstract--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.
journal--CACM January, 1975
author--Peters, G.; Wilkinson, J. H.
keys--Gauss-Jordan algorithm, Gaussian elimination, back-substitution, backward
error analysis, bounds for error in solution, bound for residual
categories--5.11, 5.14
end--CA750104 JB January 12, 1978 10:44 AM
title--The Lemniscate Constants
abstract--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.
journal--CACM January, 1975
author--Todd, J.
keys--lemniscate, acceleration, elliptic functions, Euler transformation
categories--1.2, 5.0
end--CA750103 JB January 12, 1978 10:51 AM
title--Positivity and Norms
abstract--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.
journal--CACM January, 1975
author--Bauer, F. L.
keys--matrices, norms, positivity, numerical range, positivity cones, vector
lattice, absolute, monotonic
categories--5.11, 5.14
end--CA750102 JB January 12, 1978 10:56 AM
title--Professionalism in the Computing Field
abstract--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.
journal--CACM January, 1975
author--Finerman, A.
keys--professional aspects, educational programs, industry attitudes,
professional societies, licensing and certification
categories--1.50, 2.10, 2.2
end--CA750101 JB January 12, 1978 11:05 AM
title--Structural Pattern Recognition Of Carotid Pulse Waves Using A General
Waveform Parsing System
abstract--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.
journal--CACM December, 1976
author--Stockman, G.; Kanal, L.; Kyle, M. C.
keys--structural pattern recognition, parsing, waveform analysis, pulse waves
categories--3.12, 3.34, 3.63, 4.12
end--CA761204 JB January 3, 1978 1:43 PM
title--Computer-Aided Analysis and Design of Information Systems
abstract--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.
journal--CACM December, 1976
author--Nunamaker, J. F. Jr.; Konsynski, B. R. Jr.; Ho, T.; Singer, C.
keys--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
categories--2.44, 3.50, 4.33, 4.9, 8.1
end--CA761203 JB January 3, 1978 2:31 PM
title--The Computer Science and Engineering Research Study (COSERS)
abstract--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.
journal--CACM December, 1976
author--Arden, B.
keys--computer science research, computer engineering research, national
research study
categories--1.0, 1.52
end--CA761202 JB January 3, 1978 2:35 PM
title--Roster of Programming Languages for 1974-75
abstract--
journal--CACM December, 1976
author--Sammet, J. E.
keys--
categories--
end--CA761201 JB January 3, 1978 2:38 PM
title--High-Level Binding with Low-Level Linkers
abstract--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.
journal--CACM November, 1976
author--Hamlet, R. G.
keys--separate compilation, binding, linking, strong typing
categories--4.10, 4.22
end--CA761108 JB January 3, 1978 2:44 PM
title--Optimal Reorganization of Distributed Space Disk Files
abstract--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.
journal--CACM November, 1976
author--Maruyama, K.; Smith, S. E.
keys--disk file, free space, retrieval, insertion, deterioration,
reorganization
categories--3.70, 3.73
end--CA761107 JB January 3, 1978 2:59 PM
title--The Notions of Consistency and Predicate Locks in a Database System
abstract--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.
journal--CACM November, 1976
author--Eswarran, K..; Gray, J..; Lorie, R..; Traiger, I. L.
keys--consistency, lock, database, concurrency, transaction
categories--4.32, 4.33
end--CA761106 JB January 3, 1978 3:14 PM
title--Interference in Multiprocessor Computer Systems with Interleaved Memory
(Corrigendum)
abstract--
journal--CACM November, 1976
author--Baskett, F.; Smith, A. J.
keys--
categories--
end--CA761105 JB January 3, 1978 3:18 PM
title--Experiments in Text File Compression
abstract--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.
journal--CACM November, 1976
author--Rubin, F.
keys--text compression, data file compaction, Huffman codes, N-gram encoding,
comparison of algorithms
categories--3.7, 3.73, 4.33
end--CA761104 JB January 3, 1978 3:26 PM
title--The Design and Implementation of a Table Driven, Interactive Diagnostic
Programming System
abstract--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 Cobol in
conjunction with a computer assisted course on introductory computer science.
journal--CACM November, 1976
author--Wilcox, T. R.; Davis, A. M.; Tindall, M. H.
keys--interactive programming, table driven compilers, error correction,
interpreters, debugging, computer assisted instruction, computer science
education
categories--1.5, 4.12, 4.13, 4.42, 8.2
end--CA761103 JB January 3, 1978 3:37 PM
title--Cobol Under Control
abstract--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.
journal--CACM November, 1976
author--Ledgard, H. F.; Cave, W. C.
keys--Cobol, structured programming, software development, program standards
categories--3.5, 4.22, 4.43
end--CA761102 JB January 3, 1978 3:43 PM
title--Homilies for Humble Standards
abstract--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.
journal--CACM November, 1976
author--Ross, D. T.
keys--standards, CASE Standards criteria for standards, standardization
categories--1.3, 2.1, 2.3
end--CA761101 JB January 3, 1978 3:47 PM
title--The Status of Women and Minorities in Academic Computer Science
abstract--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.
journal--CACM October, 1976
author--Montanelli, R. G. Jr.; Mamrak, S. A.
keys--discrimination against women, discrimination against minorities, graduate
students, undergraduate students, academic employment, faculty, computer
science degree programs, affirmative action, Title VII, Title IX
categories--1.52, 1.53,2.2, 2.3
end--CA761008 JB January 3, 1978 4:10 PM
title--An Improvement to Martin's Algorithm for Computation of Linear
Precedence Functions
abstract--
journal--CACM October, 1976
author--Duong-Kien, C.; Hoffmann, H. J.; Muth, D.
keys--syntax analysis, precedence functions, Boolean matrices
categories--4.12
end--CA761007 JB January 3, 1978 4:13 PM
title--The BMD and BMDP Series of Statistical Computer Programs
abstract--
journal--CACM October, 1976
author--Frane, J. W.
keys--analysis of variance, cluster analysis, contingency tables, data
analysis, discriminant analysis, factor analysis, graphics, outliers,
regression, time series, transformations
categories--1.3, 3.3, 4.0, 5.5
end--CA761006 JB January 3, 1978 4:18 PM
title--Interactive Skeleton Techniques for Enhancing Motion Dynamics in Key
Frame Animation
abstract--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.
journal--CACM October, 1976
author--Burtnyk, N.; Wein, M.
keys--interactive graphics, computer generated animation, key frame animation,
interactive skeleton control, stick figure animation
categories--3.41, 3.49, 4.9, 8.2
end--CA761005 JB January 3, 1978 4:24 PM
title--A Parametric Algorithm for Drawing Pictures of Solid Objects Composed
of Quadric Surfaces
abstract--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.
journal--CACM October, 1976
author--Levin, J.
keys--computer graphics, hidden surface removal, quadric surface intersection
curves
categories--3.41, 5.12, 5.13, 5.19, 8.2
end--CA761004 JB January 3, 1978 4:32 PM
title--Hierarchical Geometric Models for Visible Surface Algorithms
abstract--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.
journal--CACM October, 1976
author--Clark, J. H.
keys--visible surface algorithms, hidden surface algorithms, hierarchical data
structures, geometric models
categories--5.31, 8.2
end--CA761003 JB January 3, 1978 4:42 PM
title--Texture and Reflection in Computer Generated Images
abstract--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.
journal--CACM October, 1976
author--Blinn, J. F.; Newell, M. E.
keys--computer graphics, graphic display, shading, hidden surface removal
categories--3.41, 5.12, 5.15, 8.2
end--CA761002 JB January 4, 1978 8:36 AM
title--A Practitioner's Guide to Addressing Algorithms (Corrigendum)
abstract--
journal--CACM September, 1976
author--Severance, D. G.; Duhne, R. A.
keys--
categories--
end--CA760909 JB January 4, 1978 8:43 AM
title--Analysis of the PFF Replacement Algorithm via a Semi-Markov Model
(Corrigendum)
abstract--
journal--CACM September, 1976
author--Chu, W. W.; Opderbeck, H.
keys--
categories--
end--CA760908 DMM February 1, 1978 9:54 AM
title--Faster Retrieval from Context Trees (Corrigendum)
abstract--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.
journal--CACM September, 1976
author--Wegbreit, B.
keys--context trees, frame problem, variable bindings, data structures
categories--3.69, 3.74, 4.10
end--CA760907 JB January 4, 1978 8:49 AM
title--An Efficient, Incremental, Automatic Garbage Collector
abstract--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.
journal--CACM September, 1976
author--Deutsch, L. P.; Bobrow, D. G.
keys--storage management, garbage collection, Lisp
categories--4.19
end--CA760906 JB January 4, 1978 8:58 AM
title--Efficient Generation of the Binary Reflected Gray Code and Its
Applications
abstract--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.
journal--CACM September, 1976
author--Bitner, J. R.; Ehrlich, G.; Reingold, E. M.
keys--Gray code, combinations, subsets, compositions, combinatorial computing
categories--5.39
end--CA760905 JB January 4, 1978 9:14 AM
title--Recursion Analysis for Compiler Optimization
abstract--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.
journal--CACM September, 1976
author--Walter, K. G.
keys--recursion, compiler optimization
categories--4.12
end--CA760904 JB January 4, 1978 9:36 AM
title--Weighted Derivation Trees
abstract--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.
journal--CACM September, 1976
author--Loui, M. C.
keys--derivation tree, parse tree, probablistic grammar, structural ambiguity,
combinatorial optimization
categories--5.23, 5.49
end--CA760903 JB January 4, 1978 9:41 AM
title--New Upper Bounds for Selection
abstract--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.
journal--CACM September, 1976
author--Yap, C. K.
keys--selection problem, algorithms, comparison problems, concrete
computational complexity, upper bounds, worst-case analysis
categories--5.25, 5.31
end--CA760902 JB January 4, 1978 9:48 AM
title--Analysis of an Algorithm for Real Time Garbage Collection
abstract--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.
journal--CACM September, 1976
author--Wadler, P. L.
keys--garbage collection, storage reclamation, list processing, Lisp, time-
sharing, multiprocessing, parallel processing, real time, data structures,
analysis of algorithms
categories--3.69, 3.89, 4.19, 4.29, 4.32, 4.34, 4.9, 5.25
end--CA760901 JB January 4, 1978 9:57 AM
title--An Insertion Technique for One-Sided Height-Balanced Trees
abstract--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.
journal--CACM August, 1976
author--Hirschberg, D. S.
keys--balanced, binary, search, trees
categories--3.73, 3.74, 4.34, 5.25, 5.31
end--CA760805 JB January 4, 1978 10:04 AM
title--Protection in Operating Systems
abstract--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.
journal--CACM August, 1976
author--Harrison, M. A.; Ruzzo, W. L.; Ullman, J. D.
keys--protection, protection system, operating system, decidability, Turing
machine
categories--4.30, 4.31, 5.24
end--CA760804 JB January 4, 1978 10:12 AM
title--Designing Surfaces in 3-D
abstract--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.
journal--CACM August, 1976
author--Clark, J. H.
keys--real-time graphics, computer-aided design, picture processing, B-splines,
3-D displays
categories--3.80, 6.22, 8.2
end--CA760803 JB January 4, 1978 10:25 AM
title--The Denotational Semantics of Programming Languages
abstract--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.
journal--CACM August, 1976
author--Tennent, R. D.
keys--semantics, programming language, applicative, imperative, environment,
store, continuation, theory of computation, higher-order function, recursive
definition, LOOP, GEDANKEN
categories--4.22, 5.24
end--CA760802 JB January 4, 1978 10:33 AM
title--Tools and Philosophy for Software Education
abstract--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.
journal--CACM August, 1976
author--Donovan, J. J.
keys--software education, simulators, grading programs, student assignments
categories--1.5, 4.0
end--CA760801 JB January 4, 1978 10:39 AM
title--Heaps Applied to Event Driven Mechanisms
abstract--
journal--CACM July, 1976
author--Gonnet, G. H.
keys--discrete event simulation, event-scanning mechanisms, priority queues,
heaps
categories--4.34, 8.1
end--CA760709 JB January 4, 1978 11:05 AM
title--A Buddy System Variation for Disk Storage Allocation
abstract--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.
journal--CACM July, 1976
author--Burton, W.
keys--buddy system, dynamic storage allocation
categories--3.89, 4.32, 4.39
end--CA760708 JB January 4, 1978 11:24 AM
title--Compressed Tries
abstract--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.
journal--CACM July, 1976
author--Maly, K.
keys--data structure, database, m-ary tree, trie, retrieval time, storage
requirement, keys
categories--3.70, 3.74, 3.75
end--CA760707 JB January 4, 1978 12:26 PM
title--Sampling from the Gamma Distribution on a Computer
abstract--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.
journal--CACM July, 1976
author--Fishman, G. S.
keys--gamma variates, refection method, sampling
categories--5.5, 8.1, 8.3
end--CA760706 JB January 4, 1978 12:34 PM
title--Synthesis of Decision Rules
abstract--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.
journal--CACM July, 1976
author--Cheng, C.; Rabin, J.
keys--decision rules, decision tables, logical tables, logical design, system
design, specification language
categories--3.50, 4.33
end--CA760705 JB January 4, 1978 12:39 PM
title--Ethernet: Distributed Packet Switching for Local Computer Networks
abstract--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.
journal--CACM July, 1976
author--Metcalfe, R. M.; Boggs, D. R.
keys--computer networks, packet switching, multiprocessing, distributed
control, distributed computing, broadcast communication, statistical
arbitration
categories--3.81, 4.32, 6.35
end--CA760704 JB January 4, 1978 12:49 PM
title--Symbolic Execution and Program Testing
abstract--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.
journal--CACM July, 1976
author--King, J. C.
keys--symbolic execution, program testing, program debugging, program proving,
program verification, symbolic interpretation
categories--4.13, 5.21, 5.24
end--CA760703 JB January 4, 1978 12:59 PM
title--Formal Verification of Parallel Programs
abstract--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.
journal--CACM July, 1976
author--Keller, R. M.
keys--parallel program, correctness, verification, assertions, deadlock, mutual
exclusion, Petri net
categories--4.6, 5.2, 6.9, 8.1
end--CA760702 JB January 4, 1978 1:20 PM
title--The Technology of Computer Center Management: A Proposed Course for
Graduate Professional Programs in Computer Science or in Information Systems
abstract--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.
journal--CACM July, 1976
author--Conte, S. D.; Halstead, M. H.
keys--education, information systems administration, computer center
management, computer system performance
categories--1.52, 2.4, 3.51, 4.6
end--CA760701 JB January 4, 1978 1:31 PM
title--A Numbering System for Permutations of Combinations
abstract--
journal--CACM June, 1976
author--Knott, G. D.
keys--combinatorics, coding systems, storage mapping functions
categories--4.9, 5.30
end--CA760609 JB January 4, 1978 1:33 PM
title--Multiprocessing Compactifying Garbage Collection (Corrigendum)
abstract--
journal--CACM June, 1976
author--Steele, G. L. Jr.
keys--
categories--
end--CA760608 JB January 4, 1978 1:36 PM
title--An Efficient List-Moving Algorithm Using Constant Workspace
abstract--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.
journal--CACM June, 1976
author--Clark, D. W.
keys--list moving, list copying, LISP, space complexity, constant workspace
categories--4.34, 4.49, 5.25
end--CA760607 JB January 4, 1978 1:43 PM
title--The Synthetic Approach to Decision Table Conversion
abstract--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.
journal--CACM June, 1976
author--Schumacher, H.; Sevcik, K. C.
keys--decision tables, decision trees, dynamic programming, optimal programs
categories--3.50, 4.12, 5.30, 8.3
end--CA760606 JB January 4, 1978 1:50 PM
title--Referencing Lists by an Edge
abstract--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 redunant 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
journal--CACM June, 1976
author--Wise, D. S.
keys--list processing, circular, doubly linked, overlapping sublist, header
cell, pointer, cursor
categories--3.73, 4.10, 4.22
end--CA760605 JB January 4, 1978 2:00 PM
title--A Process for the Determination of Addresses in Variable Length
Addressing
abstract--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.
journal--CACM June, 1976
author--Frieder, G.; Saal, H. J.
keys--variable length addressing, assembler, paging
categories--4.11, 4.12
end--CA760604 JB January 4, 1978 2:09 PM
title--Interference in Multiprocessor Computer Systems with Interleaved Memory
abstract--This paper analyzes the memory interference caused by several
processors simultaneously using several memory modules. Exact 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.
journal--CACM June, 1976
author--Baskett, F.; Smith, A. J.
keys--memory, memory interference, multiprocessing, interleaved memory, trace
driven simulation
categories--4.32, 6.21, 6.34, 8.1
end--CA760603 JB January 4, 1978 2:19 PM
title--A Practitioner's Guide To Addressing Algorithms
abstract--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.
journal--CACM June, 1976
author--Severance, D.; Duhne, R.
keys--data management, file retrieval, searching, addressing techniques,
hashing functions, synonym resolution, loading factor, bucket size, heuristic
design, rules of thumb
categories--3.50, 3.72, 3.74, 4.33, 4.34, 4.41, 8.1
end--CA760602 JB January 4, 1978 2:47 PM
title--Production and Employment of Ph.D.'s in Computer Science
abstract--
journal--CACM June, 1976
author--Taulbee, O. E.; Conte, S. D.
keys--
categories--
end--CA760601 JB January 4, 1978 2:51 PM
title--Analysis of the PFF Replacement Algorithm via a Semi-Markov Model
abstract--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.
journal--CACM May, 1976
author--Chu, W. W.; Opderbeck, H.
keys--PFF replacement algorithm, semi-Markov model, simulation of replacement
algorithm
categories--4.31, 4.32
end--CA760509 JB January 4, 1978 2:59 PM
title--VMIN-An Optimal Variable-Space Page Replacement Algorithm
abstract--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.
journal--CACM May, 1976
author--Prieve, B. G.; Fabry, R. S.
keys--demand paging, performance measurement, multilevel memory systems,
virtual memory, working set, page replacement algorithms, optimal page
replacement
categories--4.30, 4.32
end--CA760508 JB January 4, 1978 3:06 PM
title--Characteristics of Program Localities
abstract--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.
journal--CACM May, 1976
author--Madison, A. W.; Batson, A. P.
keys--program behavior, memory management, locality
categories--4.22, 4.35, 4.6, 4.9, 6.21
end--CA760507 JB January 4, 1978 3:15 PM
title--Verifying Properties of Parallel Programs: An Axiomatic Approach
abstract--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.
journal--CACM May, 1976
author--Owicki, S.; Gries, D.
keys--structured multiprogramming correctness proofs, program verification,
concurrent processes, synchronization, mutual exclusion, deadlock
categories--4.32, 4.35, 5.21, 5.24
end--CA760506 JB January 4, 1978 3:23 PM
title--Proving Monitors
abstract--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.
journal--CACM May, 1976
author--Howard, J. H.
keys--monitors, correctness, proof rules, historical variables, concurrency,
scheduling, bounded buffer, semaphores, alarm clock, disk head
categories--4.32, 4.35, 5.24
end--CA760505 JB January 4, 1978 3:28 PM
title--Modularization and Hierarchy in a Family of Operating Systems
abstract--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.
journal--CACM May, 1976
author--Habermann, A. N.; Flon, L.; Cooprider, L.
keys--incremental machine design, module, data type, address space, virtual
memory
categories--4.0, 4.30, 4.35
end--CA760504 JB January 4, 1978 3:33 PM
title--Reflections on an Operating System Design
abstract--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.
journal--CACM May, 1976
author--Lampson, B. W.; Sturgis, H. E.
keys--operating system, protection, capabilities, layering domains, memory
hierarchy, faults
categories--4.35
end--CA760503 JB January 4, 1978 3:57 PM
title--Security Kernel Validation in Practice
abstract--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.
journal--CACM May, 1976
author--Millen, J. K.
keys--validation, verification, correctness, security kernel, formal
specification, protection
categories--4.35, 4.6, 5.24
end--CA760502 JB January 4, 1978 4:01 PM
title--A Lattice Model of Secure Information Flow
abstract--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.
journal--CACM May, 1976
author--Denning, D. E.
keys--protection, security, information flow, security class, lattice, program
certification
categories--4.35
end--CA760501 JB January 4, 1978 4:10 PM
title--Logical Analysis of Programs
abstract--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.
journal--CACM April, 1976
author--Katz, S.; Manna, Z.
keys--logical analysis, invariants, program verification, correctness,
incorrectness, termination, automatic debugging
categories--3.66, 4.42, 5.24
end--CA760405 JB January 4, 1978 4:15 PM
title--A Counterintuitive Example of Computer Paging (Corrigendum)
abstract--
journal--CACM April, 1976
author--Fagin, R.
keys--
categories--
end--CA760404 JB January 4, 1978 4:19 PM
title--LG: A Language for Analytic Geometry
abstract--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.
journal--CACM April, 1976
author--Raymond, J.
keys--interactive programming, problem oriented languages, computer graphics,
interpreters, analytic geometry
categories--3.20, 4.13, 4.22, 4.9
end--CA760403 JB January 4, 1978 4:26 PM
title--A Comparative Evaluation of Versions of BASIC
abstract--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.
journal--CACM April, 1976
author--Lientz, B. P.
keys--BASIC, interpretive language summary
categories--4.20, 4.6
end--CA760402 JB January 4, 1978 4:34 PM
title--Development of an International System for Legal Protection of Computer
Programs
abstract--
journal--CACM April, 1976
author--Smoot, O. R.
keys--copyright of software, patenting of software, legal protection of
software
categories--2.3, 4.5
end--CA760401 JB January 4, 1978 4:42 PM
title--Intentional Resolution of Privacy Protection in Database Systems
abstract--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.
journal--CACM March, 1976
author--Minsky, N.
keys--protection in database, protection in programming languages, privacy,
security, intentional resolution of privacy, interaction with databases
categories--3.50, 3.70, 4.20, 4.30
end--CA760304 JB January 4, 1978 4:44 PM
title--A Program Data Flow Analysis Procedure
abstract--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.
journal--CACM March, 1976
author--Allen, J. E.; Cocke, J.
keys--program optimization, data flow analysis, flow graphs, algorithms,
compilers
categories--4.12, 5.24
end--CA760303 JB January 5, 1978 8:33 AM
title--Joining Policies in a Multipriority Multiclass Batch Computer System
abstract--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.
journal--CACM March, 1976
author--Babad, J. M.; Modiano, M. M.
keys--priority queues, semi-Markov process, price scheduling, operating system
categories--4.39,8.3
end--CA760302 DMM January 9, 1978 2:14 PM
title--Computer Science as Empirical Inquiry: Symbols and Search
abstract--
journal--CACM March, 1976
author--Newell, A.; Simon, H. A.
keys--symbols, search, science, computer science, empirical, Turing, artificial
intelligence, intelligence, list processing, cognition, heuristics, problem
solving
categories--1.0, 2.1, 3.3, 3.6, 5.7
end--CA760301 JB January 5, 1978 8:39 AM
title--A Fast Division Technique for Constant Divisors
abstract--A fast algorithm for division by constant divisors is presented. The
method has proved very useful implemented as microcode on a binary machine, and
can be adapted directly into hardware. The mathematical foundations of the
algorithm are presented as well as some performance measures.
journal--CACM February, 1976
author--Artzy, E.; Hinds, J. A.; Saal, H. J.
keys--constant divisors, division algorithms, bit addressable memory,
microprogram
categories--4.13, 4.49, 6.32
end--CA760207 JB January 5, 1978 8:48 AM
title--A Counterintuitive Example of Computer Paging
abstract--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).
journal--CACM February, 1976
author--Fagin, R.
keys--least recently used, most likely together, independent reference model,
storage organization, record allocation
categories--3.70, 3.73, 4.0, 5.30
end--CA760206 JB January 5, 1978 8:53 AM
title--A Stochastic Evaluation Model for Database Organization in Data
Retrieval Systems
abstract--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.
journal--CACM February, 1976
author--Siler, K. F.
keys--database architecture, database performance and evaluation, invented
list, threaded list, cellular list, information retrieval, database
organizations, query complexity, stochastic model, Monte Carlo simulation
categories--3.70, 3.71, 3.72, 3.73, 3.74, 3.79
end--CA760205 JB January 5, 1978 9:20 AM
title--An Application of Heuristic Search Methods to Edge and Contour
Detectionabstract--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.
journal--CACM February, 1976
author--Martelli, A.
keys--picture processing, pattern recognition, edge detection, contour
detection, contour following, optimization problems, dynamic programming,
shortest path, heuristic search methods, problem solving methods
categories--3.63, 3.64, 3.66, 5.42
end--CA760204 JB January 5, 1978 9:30 AM
title--Permutation Enumeration: Four New Permutation Algorithms
abstract--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.
journal--CACM February, 1976
author--Ives, F. M.
keys--permutations, loop-free algorithms
categories--5.30
end--CA760203 JB January 5, 1978 9:33 AM
title--On Self-Organizing Sequential Search Heuristics
abstract--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.
journal--CACM February, 1976
author--Rivest, R.
keys--searching, self-organizing, list-processing, heuristics
categories--3.74, 5.25
end--CA760202 JB January 5, 1978 9:44 AM
title--Semantic Evaluation from Left to Right
abstract--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.
journal--CACM February, 1976
author--Bochmann, G. V.
keys--attribute grammars, semantics of programming languages, semantic
attributes, left-to-right parsing, multipass compilers, semantic evaluation,
semantic conditions
categories--4.10, 4.20, 5.23, 5.24
end--CA760201 JB January 5, 1978 9:54 AM
title--A Study of Errors, Error-Proneness, and Error Diagnosis in Cobol
abstract--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 softwarebased
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.
journal--CACM January, 1976
author--Litecky, C. R.; Davis, G. B.
keys--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
categories--4.22, 4.2, 4.6
end--CA760106 JB January 5, 1978 10:06 AM
title--Information Reference Coding
abstract--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.
journal--CACM January, 1976
author--Florentin, J. J.
keys--data, file, reference code, systems analysis, information modeling,
database
categories--3.50
end--CA760105 JB January 5, 1978 10:11 AM
title--Performance of Height-Balanced Trees
abstract--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 traceback. 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.
journal--CACM January, 1976
author--Karlton, P. L.; Fuller, S. H.; Scroggs, R. E.; Kaehler, E. B.
keys--HB[k] trees, balanced trees, AVL trees, information storage and
retrieval, searching
categories--3.7, 3.72, 3.74, 4.49, 5.39
end--CA760104 JB January 5, 1978 10:27 AM
title--On Quadratic Adaptive Routing Algorithms
abstract--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.
journal--CACM January, 1976
author--Agnew, C. E.
keys--routing algorithms, adaptive routing, quadratic routing, alternate
routing, store-and-forward network, distributed network, computer network,
message switching
categories--3.81, 8.0, 8.1, 8.3
end--CA760103 JB January 5, 1978 10:37 AM
title--An Anomaly in Disk Scheduling: A Comparison of FCFS and SSTF Seek
Scheduling Using an Empirical Model for Disk Accesses
abstract--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.
journal--CACM January, 1976
author--Wilhelm, N. C.
keys--disks, disk scheduling, seek scheduling
categories--3.72, 4.35, 4.41, 4.6, 6.35
end--CA760102 JB January 5, 1978 10:42 AM
title--A Study of Line Overhead in the Arpanet
abstract--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.
journal--CACM January, 1976
author--Kleinrock, L.; Naylor, W. E.; Opderbeck, H.
keys--ARPANET, computer communication networks, interprocess communication,
measurement, packet switching, performance evaluation and efficiency, resource
sharing
categories--3.81, 4.39, 4.6, 4.9
end--CA760101 JB January 5, 1978 10:49 AM
title--A Queue Network Simulator for the IBM 650 and Burroughs 220
abstract--
journal--CACM December, 1959
author--Conway, R. W.; Johnson, B. M.; Maxwell, W. L.
keys--
categories--
end--CA591206 JB March 22, 1978 3:35 PM
title--Impact of Computer Developments
abstract--
journal--CACM December, 1959
author--Humphrey, S. M.
keys--
categories--
end--CA591205 JB March 22, 1978 3:36 PM
title--A Proposed Interpretation in ALGOL
abstract--
journal--CACM December, 1959
author--Irons, E. T.; Acton, F. S.
keys--
categories--
end--CA591204 JB March 22, 1978 3:37 PM
title--The Secant Method for Simultaneous Nonlinear Equations
abstract--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.
journal--CACM December, 1959
author--Wolfe, P.
keys--
categories--
end--CA591203 JB March 22, 1978 3:39 PM
title--Fingers or Fists? (The Choice of Decimal or Binary Representation)
abstract--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.
journal--CACM December, 1959
author--Buchholz, W.
keys--
categories--
end--CA591202 JB March 22, 1978 3:47 PM
title--Some Notes on Computer Research in Eastern Europe
abstract--
journal--CACM December, 1959
author--Nadler, M.
keys--
categories--
end--CA591201 JB March 22, 1978 3:48 PM
title--A New Method of Computation of Square Roots Without Using Division
abstract--
journal--CACM November, 1959
author--Sarafyan, D.
keys--
categories--
end--CA591106 JB March 22, 1978 3:50 PM
title--A Technique for Handling Macro Instructions
abstract--
journal--CACM November, 1959
author--Greenwald, I. D.
keys--
categories--
end--CA591105 JB March 22, 1978 3:51 PM
title--RUNCIBLE-Algebraic Translation on a Limited Computer
abstract--
journal--CACM November, 1959
author--Knuth, D. E.
keys--
categories--
end--CA591104 JB March 22, 1978 3:52 PM
title--Flow Outlining-A Substitute for Flow Charting
abstract--
journal--CACM November, 1959
author--Gant, W. T.
keys--
categories--
end--CA591103 JB March 22, 1978 3:53 PM
title--Multiprogramming STRETCH: Feasibility Considerations
abstract--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.
journal--CACM November, 1959
author--Codd, E. F.; Lowry, E. S.; McDonough, E.; Scalzi, C. A.
keys--
categories--
end--CA591102 JB March 22, 1978 3:57 PM
title--Russian Visit to U.S. Computers
abstract--
journal--CACM November, 1959
author--Zaitzeff, E. M.; Astrahan, M. M.
keys--
categories--
end--CA591101 JB March 22, 1978 3:59 PM
title--Shift-Register Code for Indexing Applications
abstract--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 fortuitous 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).
journal--CACM October, 1959
author--Nadler, M.; Sengupta, A.
keys--
categories--
end--CA591011 JB March 22, 1978 4:07 PM
title--Scientific and Business Applications (Oracle Curve Plotter)
abstract--
journal--CACM October, 1959
author--Fike, C. T.
keys--
categories--
end--CA591010 JB March 22, 1978 4:08 PM
title--Statistical Programs for the IBM 650-Part II
abstract--
journal--CACM October, 1959
author--Hamblen, J. W.
keys--
categories--
end--CA591009 JB March 22, 1978 4:09 PM
title--On the Construction of Micro-Flowcharts
abstract--
journal--CACM October, 1959
author--Gorn, S.; Ingerman, P. Z.; Crozier, J. B.
keys--
categories--
end--CA591008 JB March 22, 1978 4:10 PM
title--An Efficient Method for Generating Uniformly Distributed Points on the
Surface on an n-Dimensional Sphere (Corrigendum)
abstract--
journal--CACM October, 1959
author--Cook, J. M.
keys--
categories--
end--CA591007 JB March 22, 1978 4:12 PM
title--Recommendations of the SHARE ALGOL Committee
abstract--
journal--CACM October, 1959
author--
keys--
categories--
end--CA591006 JB March 22, 1978 4:13 PM
title--SALE, a Simple Algebraic Language for Engineers
abstract--
journal--CACM October, 1959
author--Brittenham, W. R.; Clark, K.; Kuss, G.; Thompson, H.; Smith, A. O.
keys--
categories--
end--CA591005 JB March 22, 1978 4:14 PM
title--An Algebraic Translator
abstract--
journal--CACM October, 1959
author--Kaner, H.
keys--
categories--
end--CA591004 JB March 22, 1978 4:15 PM
title--Proposed Standard Flow Chart Symbols
abstract--
journal--CACM October, 1959
author--
keys--
categories--
end--CA591003 JB March 22, 1978 4:16 PM
title--J.E.I.D.A. and Its Computer Center
abstract--
journal--CACM October, 1959
author--
keys--
categories--
end--CA591002 JB March 22, 1978 4:17 PM
title--LEM-1, Small Size General Purpose Digital Computer Using Magnetic
(Ferrite) Elements
abstract--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.
journal--CACM October, 1959
author--Machmudov, U. A.
keys--
categories--
end--CA591001 JB March 22, 1978 4:21 PM
title--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
abstract--
journal--CACM September, 1959
author--
keys--
categories--
end--CA590910 JB March 22, 1978 4:41 PM
title--The Alpha Vector Transformation of a System of Linear Constraints
abstract--
journal--CACM September, 1959
author--Wersan, S. J.
keys--
categories--
end--CA590909 JB March 22, 1978 4:42 PM
title--IBM 709 Tape Matrix Compiler
abstract--
journal--CACM September, 1959
author--Hornick, S. D.
keys--
categories--
end--CA590908 JB March 22, 1978 4:43 PM
title--Multi-Dimensional Least-Squares Polynomial Curve Fitting
abstract--
journal--CACM September, 1959
author--Lesh, F. H.
keys--
categories--
end--CA590907 JB March 22, 1978 4:44 PM
title--Octal Diagrams of Binary Conception and Their Applicability to Computer
Design Logic
abstract--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.
journal--CACM September, 1959
author--Li, S. T.
keys--
categories--
end--CA590906 JB March 22, 1978 4:47 PM
title--Remarks on ALGOL and Symbol Manipulation
abstract--
journal--CACM September, 1959
author--Green, J.
keys--
categories--
end--CA590905 JB March 22, 1978 4:47 PM
title--ALGOL Sub-Committee Report - Extensions
abstract--
journal--CACM September, 1959
author--Dijkstra, E. W.; Heise, W.; Perlis, J. A.; Samelson, K.
keys--
categories--
end--CA590904 JB March 22, 1978 4:49 PM
title--A Proposal for a Generalized Card Code for 256 Characters
abstract--
journal--CACM September, 1959
author--Bemer, R. W.
keys--
categories--
end--CA590903 JB March 22, 1978 4:50 PM
title--Central-European Computers
abstract--
journal--CACM September, 1959
author--Blachman, N. M.
keys--
categories--
end--CA590902 JB March 22, 1978 4:52 PM
title--The Role of the University in Computers, Data Processing and Related
Fields
abstract--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.
journal--CACM September, 1959
author--Fein, L.
keys--
categories--
end--CA590901 JB March 22, 1978 6:05 PM
title--Statistical Programs for the IBM 650-Part I
abstract--A collection is given of brief descriptions of statistical programs
now in use in university computing centers which have IBM 650's.
journal--CACM August, 1959
author--Hamblen, J. W.
keys--
categories--
end--CA590804 JB March 22, 1978 6:07 PM
title--Construction of a Set of Test Matrices
abstract--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.
journal--CACM August, 1959
author--Aegerter, M. J.
keys--
categories--
end--CA590803 JB March 22, 1978 6:09 PM
title--Proposal for a Feasible Programming System
abstract--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.
journal--CACM August, 1959
author--Bagley, P. R.
keys--
categories--
end--CA590802 JB March 22, 1978 6:16 PM
title--An Educational Program in Computing
abstract--
journal--CACM August, 1959
author--Hollingsworth, J.
keys--
categories--
end--CA590801 JB March 22, 1978 6:18 PM
title--A Real Time Data Assimilator
abstract--
journal--CACM July, 1959
author--Gschwind, H. W.
keys--
categories--
end--CA590705 JB March 22, 1978 6:19 PM
title--A High-Speed Sorting Procedure
abstract--
journal--CACM July, 1959
author--Shell, D. L.
keys--
categories--
end--CA590704 JB March 22, 1978 6:20 PM
title--Parameter Estimation for Simple Nonlinear Models
abstract--
journal--CACM July, 1959
author--Chow, W. M.
keys--
categories--
end--CA590703 JB March 22, 1978 6:22 PM
title--Binary Conversion, With Fixed Decimal Precision, Of a Decimal Fraction
abstract--
journal--CACM July, 1959
author--Taranto, D.
keys--
categories--
end--CA590702 JB March 22, 1978 6:23 PM
title--On GAT and the Construction of Translators
abstract--
journal--CACM July, 1959
author--Arden, B.; Graham, R.
keys--
categories--
end--CA590701 JB March 22, 1978 6:24 PM
title--Remarks on the Practical Solution of Characteristic Value Problems
abstract--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.
journal--CACM June, 1959
author--Wouk, A.
keys--
categories--
end--CA590606 JB March 22, 1978 6:30 PM
title--Programming for a Machine With an Extended Address Calculational
Mechanism
abstract--
journal--CACM June, 1959
author--Schecher, H.
keys--
categories--
end--CA590605 JB March 22, 1978 6:31 PM
title--A Technique for Computing Critical Rotational Speeds of Flexible Shafts
on an Automatic Computer
abstract--
journal--CACM June, 1959
author--Schwartz, B. L.
keys--
categories--
end--CA590604 JB March 22, 1978 6:35 PM
title--NORC High-Speed Printer
abstract--
journal--CACM June, 1959
author--Gleissner, G. H.
keys--
categories--
end--CA590603 JB March 22, 1978 6:36 PM
title--Handling Identifiers as Internal Symbols in Language Processors
abstract--Substitution of computer-oriented symbols for programmer-oriented
symbols in language processors is examined and a feasible method for doing so
is presented.
journal--CACM June, 1959
author--Williams, F. A.
keys--
categories--
end--CA590602 JB March 22, 1978 6:38 PM
title--A Visit to Computation Centers in the Soviet Union
abstract--
journal--CACM June, 1959
author--Carr III, J. W.
keys--
categories--
end--CA590601 JB March 22, 1978 6:39 PM
title--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)
abstract--
journal--CACM May, 1959
author--
keys--
categories--
end--CA590502 JB March 22, 1978 6:42 PM
title--Error Analysis in Floating Point Arithmetic
abstract--
journal--CACM May, 1959
author--Carr III, J. W.
keys--
categories--
end--CA590501 JB March 22, 1978 6:43 PM
title--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
abstract--
journal--CACM April, 1959
author--Controller General of the United States to the Congress of the United
States
keys--
categories--
end--CA590406 JB March 22, 1978 6:48 PM
title--A Note on a Method for Generating Points Uniformly on N-Dimensional
Spheres
abstract--
journal--CACM April, 1959
author--Muller, M. E.
keys--
categories--
end--CA590405 JB March 22, 1978 7:04 PM
title--An Efficient Method for Generating Uniformly Distributed Points on the
Surface of an n-Dimensional Sphere
abstract--
journal--CACM April, 1959
author--Hicks, J. S.; Wheeling, R. F.
keys--
categories--
end--CA590404 JB March 22, 1978 7:10 PM
title--A Routine to Find the Solution of Simultaneous Linear Equations with
Polynomial Coefficients
abstract--
journal--CACM April, 1959
author--Larson, E. H.; Marshall, D. P.
keys--
categories--
end--CA590403 JB March 22, 1978 7:12 PM
title--Binary Arithmetic for Discretely Variable Word Length in a Serial
Computer
abstract--
journal--CACM April, 1959
author--Ercoli, P.; Vacca, R.
keys--
categories--
end--CA590402 JB March 22, 1978 7:13 PM
title--A Mathematical Procedure for Machine Division
abstract--
journal--CACM April, 1959
author--Gilman, R. E.
keys--
categories--
end--CA590401 JB March 22, 1978 7:14 PM
title--A Checklist of Intelligence for Programming Systems
abstract--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.
journal--CACM March, 1959
author--Bemer, R. W.
keys--
categories--
end--CA590304 JB March 22, 1978 8:01 PM
title--From Formulas to Computer Oriented Language
abstract--A technique is shown for enabling a computer to translate simple
algebraic formulas into a three address computer code.
journal--CACM March, 1959
author--Wegstein, J. H.
keys--
categories--
end--CA590303 JB March 22, 1978 8:03 PM
title--An Iterative Method for Fitting the Logistic Curve
abstract--An iterative method is given for finding a logistic curve of best
least squares fit to a set of two-dimensional points.
journal--CACM March, 1959
author--Howell, J. R.
keys--
categories--
end--CA590302 JB March 22, 1978 8:04 PM
title--Elimination of Special Functions from Differential Equations
abstract--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.
journal--CACM March, 1959
author--Powers, J. E.
keys--
categories--
end--CA590301 JB March 22, 1978 8:08 PM
title--On Computing Radiation Integrals
abstract--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.
journal--CACM February, 1959
author--Hansen, R. C.; Bailin, L. L.; Rutishauser, R. W.
keys--
categories--
end--CA590205 JB March 22, 1978 8:16 PM
title--Signal Corps Research and Development on Automatic Programming of
Digital Computers
abstract--
journal--CACM February, 1959
author--Luebbert, Capt. W. F.; Collom Jr., Capt. P. W.
keys--
categories--
end--CA590204 JB March 22, 1978 8:19 PM
title--The Arithmetic Translator-Compiler of the IBM FORTRAN Automatic Coding
System
abstract--
journal--CACM February, 1959
author--Sheridan, P. B.
keys--
categories--
end--CA590203 JB March 22, 1978 8:21 PM
title--Possible Modifications to the International Algebraic Language
abstract--
journal--CACM February, 1959
author--Green, J.
keys--
categories--
end--CA590202 JB March 22, 1978 8:22 PM
title--Recursive Subscripting Compilers and List-Types Memories
abstract--
journal--CACM February, 1959
author--Carr III, J. W.
keys--
categories--
end--CA590201 JB March 22, 1978 8:23 PM
title--Nuclear Reactor Codes
abstract--
journal--CACM January, 1959
author--Nather, V.; Sangren, W.
keys--
categories--
end--CA590101 JB March 22, 1978 8:24 PM
title--Computers as an Innovation in American Local Governments
abstract--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.
journal--CACM December, 1977
author--Danziger, J. N.; Dutton, W. H.
keys--innovation, technological innovation, computer utilization, computer
adoption, American local government, city government computers, county
government computers.
categories--2.0, 2.45, 2.49, 2.9
end--CA771207 JB December 22, 1977 12:17 PM
title--A Methodology for Interactive Computer Service Measurement
abstract--A measurement methodology applicable to interactive computer service
is described. Its primary purpose is to enable external, user-oriented
assessment of computer performance, instead of the more frequently used
internal 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.
journal--CACM December, 1977
author--Adrams, M. D.
keys--interactive system, computer service, measurement, performance, external
measurement, methodology, measurement model, network measurement system,
measures, figure-of-merit.
categories--2.4, 4.6, 6.2
end--CA771206 JB December 22, 1977 12:32 PM
title--A Language for Formal Problem Specification
abstract--A language for specifying the intended behaviour of communicating
parallel processes is described. The specifications are constraints 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.
journal--CACM December, 1977
author--Greif, I.
keys--formal specifications,program correctness, parallel processing,
synchronization, readers/writers problem
categories--4.22,4.32,5.24
end--CA771205 DMM December 22, 1977 12:44 PM
title--An Exercise in Proving Parallel Programs Correct
abstract--A parallel program, Dijkstra's on-the-fly garbage collector, is
proved correct using a proof method developed by Owicki. The fine degree of
interleaving in this program makes it especially difficult to understand, and
complicates the proof greatly. Difficulties with proving such parallel
programs correct are discussed.
journal--CACM December, 1977
author--Gries, D.
keys--garbage collection, multiprocessing, program correctness for
multiprocessing tasks
categories--4.32, 4.34, 4.35, 4.39, 5.24
end--CA771204 JB February 1, 1980 3:37 AM
title--A Case Study of a New Code Generation Technique for Compilers
abstract--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.
journal--CACM December, 1977
author--Carter, J. L.
keys--compiler structure, optimizing compiler, code generation, PL/I compiler,
concatenation, program optimization, optimization techniques, data flow
analysis
categories--4.12, 4.13, 4.22
end--CA771203 JB February 1, 1980 3:54 AM
title--A Conceptual Framework for a Nonprocedural Programming Language
abstract--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.
journal--CACM December, 1977
author--Kessels, J. L. W.
keys--parallel programming, descriptive programming, nonprocedural programming,
definitional language, data flow programming, applicative programming
categories--4.20
end--CA771202 JB February 1, 1980 4:05 AM
title--A Survey of Computer Science Offerings In Small Liberal Arts Colleges.
abstract--Recent curricular development in computer science together with
student interest 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.
journal--CACM December, 1977
author--Lopez, A. A.; Raymond, R.; Tardiff, R.
keys--computer science, education, curricula, small colleges
categories--1.5
end--CA771201 JB December 22, 1977 5:53 PM
title--Some Theorems to Aid in Solving the File Allocation Problem
abstract--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.
journal--CACM November, 1977
author--Grapa, E.; Belford, G. G.
keys--File allocation, computer networks, distributed data management
categories--4.33
end--CA771116 JB December 27, 1977 8:45 AM
title--An Encoding Method for Multifield Sorting and Indexing
abstract--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.
journal--CACM November, 1977
author--Blasgen, M. W.; Casey, R. G.; Eswaran, K. P.
keys--Sorting multifield indexes, lexicographic order, searching, encoding
categories--3.74, 4.19, 4.33, 4.40, 5.31
end--CA771115 JB December 27, 1977 5:55 AM
title--Dynamic Memory Allocation in Computer Simulation
abstract--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 maintaining
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.
journal--CACM November, 1977
author--Nielsen, N. R.
keys--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
categories--3.74, 4.49, 5.25, 8.1
end--CA771114 JB December 27, 1977 6:09 AM
title--Improving Programs by the Introduction of Recursion
abstract--A new technique of program transformation, called "recursion
introduction," is described and applied to two algorithms which solve pattern
matching problems. By using recursion introduction, 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.
journal--CACM November, 1977
author--Bird, R. S.
keys--program transformation, optimization of programs, recursion elimination,
pattern matching algorithms, stacks, computational induction
categories--4.0, 4.2, 5.20, 5.24, 5.25
end--CA771113 JB December 27, 1977 6:29 AM
title--An Algorithm for Reduction of Operator Strength
abstract--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.
journal--CACM November, 1977
author--Cocke, J.
keys--compilers, optimization of compiled code, program analysis, operator
strength reduction, test replacement, strongly connected region
categories--4.12, 5.24, 5.32
end--CA771112 JB December 27, 1977 6:34 AM
title--Perfect Hashing Functions: A Single Probe Retrieving Method for Static
Sets
abstract--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.
journal--CACM November, 1977
author--Sprugnoli, R.
keys--hashing, hashing methods, hash coding, direct addressing, identifier-to-
address transformations, perfect hashing functions, perfect hash coding,
reduction, scatter storage
categories--3.7, 3.74, 4.34
end--CA771111 JB December 27, 1977 6:45 AM
title--A Very High Level Programming Language for Data Processing Applications
abstract--Application development today is too labor-intensive. 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.
journal--CACM November, 1977
author--Hammer, M.; Howe, W. G.; Kruskal, V. J.; Wladawsky, I.
keys--very high level language, nonprocedural language, data flow language,
business application, business data processing, structured programming, modular
programming, format specification, and design methodology
categories--3.50, 4.22, 4.32
end--CA771110 JB December 27, 1977 7:06 AM
title--The Optimal Approach to Recursive Programs
abstract--The classical fixedpoint approach toward recursive programs suggests
choosing the "least defined fixedpoint" as the most appropriate solution to a
recursive program. A new approach is described which introduction an " optimal
fixedpoint," which, in contrast to the least defined fixedpoint, 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 fixedpoint are given. The presentation is informal, with
emphasis on examples.
journal--CACM November, 1977
author--Manna, Z.; Shamir, A.
keys--recursive programs, fixedpoints, least fixedpoints, optimal fixedpoints,
proof techniques
categories--5.24
end--CA771109 JB December 27, 1977 7:13 AM
title--A Note On Reflection-Free Permutation Enumeration
abstract--
journal--CACM November, 1977
author--Roy, M. K.
keys--permutations, reflection-free generation
categories--5.30
end--CA771108 JB December 27, 1977 7:17 AM
title--What Can We Do about the Unnecessary Diversity of Notation for
Syntactic Definitions?
abstract--
journal--CACM November, 1977
author--Wirth, N.
keys--syntactic description language, extended BNF
categories--4.20
end--CA771107 JB December 27, 1977 7:20 AM
title--Equivalence of Hough Curve Detection to Template Matching
abstract--
journal--CACM November, 1977
author--Stockman, G. C.
keys--picture processing, pattern recognition, curve detection, Hough
transformation, template matching
categories--3.63, 6.9
end--CA771106 JB December 27, 1977 7:23 AM
title--Anomalous Behavior of the Fifty-Percent Rule in Dynamic Memory
Allocation
abstract--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.
journal--CACM November, 1977
author--Shore, J. E.
keys--dynamic memory allocation, storage fragmentation, fifty-percent rule,
first-fit, simulation
categories--3.73, 4.32, 4.34, 4.35
end--CA771105 JB December 27, 1977 7:37 AM
title--Concurrent Reading and Writing
abstract--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.
journal--CACM November, 1977
author--Lamport, L.
keys--asynchronous multiprocessing, multiprocess synchronization,
readers/writers problem, shared data
categories--4.32, 5.24
end--CA771104 JB December 27, 1977 7:47 AM
title--The Aliasing Problem in Computer-Generated Shaded Images
abstract--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.
journal--CACM November, 1977
author--Crow, F. C.
keys--aliasing, computer graphics, convolutional filtering, hidden-surface
removal, sampling
categories--8.2
end--CA771103 JB December 27, 1977 7:56 AM
title--Use of the LRU Stack Depth Distribution for Simulation of Paging
Behavior
abstract--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.
journal--CACM November, 1977
author--Turner, R.; Strecker, B.
keys--virtual memory, paging, LRU stack, working set, headway between page
faults, computer system simulation
categories--4.35, 4.6, 8.1
end--CA771102 JB December 27, 1977 8:04 AM
title--Considerations for Future Programming Language Standards Activities
abstract--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.
journal--CACM November, 1977
author--Lee, J. A. N.
keys--programming languages, standards, formalisms, formal descriptions,
Fortran, Cobol, PL/I, Basic, Vienna Definition Language (VDL)
categories--2.4, 4.2, 4.29, 4.6, 5.23
end--CA771101 JB December 27, 1977 8:10 AM
title--A Fast String Searching Algorithm
abstract--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.
journal--CACM October, 1977
author--Boyer, R. S.
keys--bibliographic search, computational complexity, information retrieval,
linear time bound, pattern matching, text editing
categories--3.74, 4.40, 5.25
end--CA771010 JB December 27, 1977 9:43 AM
title--SITAR: An Interactive Text Processing System for Small Computers
(Corrigendum)
abstract--
journal--CACM October, 1977
author--Schneider, B. R. Jr.; Watts, R. M.
keys--
categories--
end--CA771009 JB December 28, 1977 5:58 AM
title--Multiprocessor Memory Organization and Memory Interference
abstract--The structure of shared memory in a multiprocessor computer system is
examined with particular attention to noninterleaved 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 interference. Home memory organization is shown to be particularly
suited to certain specialized computation problems as well as to possess
advantages in terms of interference and reliability for general purpose
computation. Results for interleaved memory are drawn from previous work and
are used for comparison. Trace-driven simulations are used to verify the
conclusions of the analysis.
journal--CACM October, 1977
author--Smith, A. J.
keys--memory interference, interleaving, multiprocessing, trace-driven
simulation, queueing theory, shared memory
categories--4.30, 4.32, 6.34
end--CA771008 JB December 27, 1977 10:28 AM
title--The Programmer's Workbench-A Machine for Software Development
abstract--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 maintenance 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 introduce the subject, outline
the general concept, discuss areas where such an approach may prove beneficial,
and describe an operational system utilizing this concept.
journal--CACM October, 1977
author--Ivie, E. L.
keys--computer configurations, computer networks, software development,
software engineering, software maintenance, UNIX
categories--3.2, 3.5, 3.7, 3.8, 4.0
end--CA771007 JB December 27, 1977 10:37 AM
title--Game Interpretation of the Deadlock Avoidance Problem
abstract--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 interpretation 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 explicity the
set of safe states and to study their properties.
journal--CACM October, 1977
author--Devillers, R.
keys--operating system, multiprogramming, time-sharing, resource allocation,
deadlock, interlock, deadly embrace, deadlock avoidance, flowchart
categories--4.30, 4.32
end--CA771006 JB December 27, 1977 10:50 AM
title--Regular Right Part Grammars and Their Parsers
abstract--This paper introduces 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 introduced 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.
journal--CACM October, 1977
author--LaLonde, W. R.
keys--finite state machines (automata), regular expressions, syntax
diagrams,LR(k) grammars, parser construction, parsing, programming languages,
language generation, formal definition, compilers, translators, scanners
categories--4.2, 5.21, 5.23
end--CA771005 JB December 27, 1977 11:01 AM
title--Two-Level Control Structure for Nondeterministic Programming
abstract--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 points. According to the proposed
programming style, a generative function is associated with each choice point,
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
point 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.
journal--CACM October, 1977
author--Montangero, C.; Pacini, G.; Turini, F.
keys--nondeterministic programming, artificial intelligence, control
structures, backtracking, search strategy planning, context tree
categories--3.64, 4.22
end--CA771004 JB December 27, 1977 11:30 AM
title--High-Level Data Flow Analysis
abstract--In contrast to the predominant use of low-level intermediate 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.
journal--CACM October, 1977
author--Rosen, B. K.
keys--data flow analysis, high-level language, control flow graph, structured
programming, escapes, exits, jumps, goto statements
categories--5.24, 4.12, 4.22
end--CA771003 JB December 27, 1977 11:41 AM
title--An Interactive Computer Graphics Approach to Surface Representation
abstract--An interactive 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 interactive 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 interpolated
between sections by Cardinal splines. Among the features of this method are
algorithms which enable interactive 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 interfaced to a variety
of analytical routines for structural, medical and graphical applications.
journal--CACM October, 1977
author--Wu, Sheng-Chuan; Abel, J. F.; Greenberg, D. P.
keys--computer graphics, three-dimensional surface representation, splines,
lofting,finite element input methods
categories--3.20, 3.23, 3.34, 8.1, 8.2
end--CA771002 JB December 27, 1977 11:53 AM
title--Optimal Surface Reconstruction from Planar Contours
abstract--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 points, 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.
journal--CACM October, 1977
author--Fuchs, H.; Kedem, Z. M.; Uselton, S. P.
keys--surface reconstruction, contour data, serial sections, three-dimensional
computer graphics, minimum cost paths, continuous tone displays
categories--5.25, 5.32, 8.2
end--CA771001 JB December 27, 1977 12:40 PM
title--Pagination of B*-Trees with Variable-Length Records
abstract--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.
journal--CACM September, 1977
author--McCreight, E. M.
keys--B-tree, index, database, tree storage structure, searching
categories--3.73, 4.33, 4.34
end--CA770908 JB December 27, 1977 12:46 PM
title--Some New Upper Bounds on the Generation of Prime Numbers
abstract--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.
journal--CACM September, 1977
author--Mairson, H. G.
keys--computational complexity, sieve, prime number generation, number theory,
linked list, preprocessing, balancing
categories--5.25, 5.39
end--CA770907 JB December 27, 1977 12:55 PM
title--Hardware Estimation of a Process' Primary Memory Requirements
abstract--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.
journal--CACM September, 1977
author--Giffor, D. K.
keys--primary memory requirement, virtual memory, level of multiprogramming,
associative memory, working set, resource allocation, LRU stack model,
referencing characteristics
categories--4.32, 4.35, 4.6, 6.36
end--CA770906 JB December 27, 1977 1:05 PM
title--An Analysis of Inline Substitution for a Structured Programming
Languageabstract--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 constraints 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.
journal--CACM September, 1977
author--Scheifler, R. W.
keys--inline substitution, open coding, open compilation, program optimization,
compilers, structured programming languages, run-time statistics
categories--4.12
end--CA770905 JB December 27, 1977 1:23 PM
title--The GRE Advanced Test in Computer Science
abstract--This report describes the Advanced Test in Computer Science which was
recently introduced 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.
journal--CACM September, 1977
author--Austing, R. H.
keys--education, computer science, graduate school admissions, test development
examinations
categories--1.5
end--CA770903 JB December 27, 1977 1:32 PM
title--Logic and Programming Languages
abstract--Logic has been long interested 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 interesting 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.
journal--CACM September, 1977
author--Scott, D. S.
keys--logic, programming languages, automata, denotational semantics, a-
calculus models, computability, partial functions, approximation, function
spaces
categories--1.2, 4.20, 5.21, 5.24, 5.27
end--CA770902 JB December 28, 1977 6:49 AM
title--Complexity of Computations
abstract--The framework for research in the theory of complexity of
computations is described, emphasizing the interrelation between seemingly
diverse problems and methods. Illustrative examples of practical and
theoretical significance are given. Directions for new research are discussed.
journal--CACM September, 1977
author--Rabin, M. O.
keys--complexity of computations, algebraic complexity, intractable problems,
probabilistic algorithms
categories--5.25
end--CA770901 JB December 28, 1977 6:54 AM
title--Another Advantage of Keyword Notation for Parameter Communication with
Subprograms
abstract--
journal--CACM August, 1977
author--Francez, N.
keys--Keyword notation, positional notation, parameters, transmission,
subprograms, readability, call by value, call by reference, call by name,
compile-time errors
categories--4.2, 4.20, 4.22
end--CA770810 JB December 28, 1977 6:57 AM
title--Comment on Computing the k Shortest Paths in a Graph
abstract--
journal--CACM August, 1977
author--Lawler, E. L.
keys--graph, network, shortest path, algorithm, ranking
categories--5.32
end--CA770809 JB December 28, 1977 7:00 AM
title--Production and Employment of Ph.D.'s in Computer Science-1976
(Corrigendum)
abstract--
journal--CACM August, 1977
author--Taulbee, O. E.; Conte, S. D.
keys--
categories--
end--CA770808 JB December 28, 1977 7:04 AM
title--An Efficient Data Structure for the Simulation Event Set
abstract--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. Futhermore, tests conducted
to estimate the average complexity showed it to be nearly independent of n.
journal--CACM August, 1977
author--Franta, W. R.; Maly, K.
keys--simulation, time flow mechanisms, event scanning mechanisms, multilinked
lists
categories--3.34, 4.22, 5.5, 8.1
end--CA770807 JB December 28, 1977 7:15 AM
title--An Experimental Evaluation of Data Type Conventions
abstract--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.
journal--CACM August, 1977
author--Gannon, J. D.
keys--data types, experimentation, language design, redundancy, reliable
software
categories--4.22
end--CA770806 JB December 28, 1977 7:32 AM
title--Toward a Discipline of Real-Time Programming
abstract--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 constraints 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.
journal--CACM August, 1977
author--Wirth, N.
keys--multiprogramming, real-time programming, process synchronization,
processor sharing, program validation, Modula
categories--3.80, 4.22
end--CA770805 JB December 28, 1977 7:39 AM
title--Abstraction Mechanisms in CLU
abstract--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 introduction 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.
journal--CACM August, 1977
author--Liskov, B.; Snyder, A.; Atkinson, R.; Schaffert, C.
keys--programming languages, data types, data abstractions, control
abstractions, programming methodology, separate compilation
categories--4.0, 4.12, 4.20, 4.22
end--CA770804 JB December 28, 1977 7:49 AM
title--Abstraction and Verification in Alphard: Defining and Specifying
Iteration and Generators
abstract--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 point 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 introduced.
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.
journal--CACM August, 1977
author--Shaw, M.; Wulf, W. A.
keys--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
categories--4.20, 5.24
end--CA770803 JB December 28, 1977 7:59 AM
title--Early Experience with Mesa
abstract--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.
journal--CACM August, 1977
author--Geschke, C. M.; Morris, J. H. Jr.; Satterthwaite, E. H.
keys--programming languages, types, modules, data structures, systems
programming
categories--4.22
end--CA770802 JB December 28, 1977 8:07 AM
title--An Algol-Based Implementation of SNOBOL4 Patterns
abstract--
journal--CACM July, 1977
author--Brownlee, J. N.
keys--patterns SNOBOL4, pattern matching, string processing, pattern
implementation, algorithms in Pascal
categories--4.29
end--CA770710 JB December 28, 1977 8:15 AM
title--Lucid, a Nonprocedural Language with Iteration
abstract--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.
journal--CACM July, 1977
author--Ashcrof, E. A.; Wadge, W. W.
keys--program proving, formal systems, semantics, iteration, structured
programming
categories--5.21, 5.24
end--CA770709 JB December 28, 1977 8:30 AM
title--Shifting Garbage Collection Overhead to Compile Time
abstract--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.
journal--CACM July, 1977
author--Barth, J. M.
keys--garbage collection, global flow analysis, list processing, optimization,
reference counts, storage management
categories--3.80, 4.12, 4.20, 4.34
end--CA770708 JB December 28, 1977 8:38 AM
title--Certification of Programs for Secure Information Flow
abstract--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.
journal--CACM July, 1977
author--Denning, D. E.; Denning, P. J.
keys--protection, security, information flow, program certification, lattice,
confinement, security classes
categories--4.3, 4.35, 5.24
end--CA770707 JB December 28, 1977 8:48 AM
title--An Alternative to Event Queues for Synchronization in Monitors
abstract--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.
journal--CACM July, 1977
author--Kessels, J. L. W.
keys--monitor, operating system, mutual exclusion, synchronization, conditional
critical region, structuring concept
categories--4.31
end--CA770706 JB December 28, 1977 10:10 AM
title--SITAR: An Interactive Text Processing System for Small Computers
abstract--SITAR, a low-cost interactive text handling and text analysis system
for nontechnical users, is in many ways comparable to interactive
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.
journal--CACM July, 1977
author--Schneider, B. R. Jr.; Watts, R. M.
keys--information retrieval, text editing, minicomputers, CRTs, time sharing,
bibliographic search and retrieval, literary analysis, linguistic analysis,
command languages
categories--3.4, 3.7
end--CA770705 JB December 28, 1977 10:20 AM
title--A Terminal-Oriented Communication System
abstract--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.
journal--CACM July, 1977
author--Heckel, P. G.; Lampson, B. W.
keys--terminal system, error correction, multiplexing, local echoing,
communication system, network
categories--3.81, 4.31
end--CA770704 JB December 28, 1977 11:49 AM
title--A Correctness Proof of a Topology Information Maintenance Protocol for
a Distributed Computer Network
abstract--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 constraints 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.
journal--CACM July, 1977
author--Tajibnapis, W. D.
keys--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
categories--3.81, 4.32
end--CA770703 JB December 28, 1977 11:59 AM
title--A Unifying Approach to Scheduling
abstract--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
journal--CACM July, 1977
author--Ruschitzka, M.; Fabry, R. S.
keys--scheduling algorithms, scheduling models, priority, operating
systems,processor sharing, implementation efficiency
categories--4.31, 4.32, 4.34, 4.35, 8.1
end--CA770702 JB December 28, 1977 12:32 PM
title--Dynamic Response Time Prediction for Computer Networks
abstract--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.
journal--CACM July, 1977
author--Mamrak, S. A.
keys--response time monitor, computer networks, time-sharing systems,
comparative response time, ARPA network, analytic modeling, simulation,
benchmark jobs, system measurement
categories--4.6, 6.20, 8.1
end--CA770701 JB December 28, 1977 12:42 PM
title--Functions Realizable with Word-Parallel Logical and Two's-Complement
Addition Instructions
abstract--
journal--CACM June, 1977
author--Warren, H. S. Jr.
keys--Boolean functions, two's-complement, sign propagation
categories--4.0, 6.32
end--CA770611 JB December 28, 1977 12:45 PM
title--Notes on Recursion Elimination
abstract--Various methods of recursion elimination are applied to the schematic
recursive procedure: proc S(x); px then N(x); S(fx)