Advertisement

Research and Advances

n-dimensional codes for detecting and correcting multiple errors0

The paper introduces a new family of codes for detecting and correcting multiple errors in a binary-coded message. The message itself is arranged (conceptually) into a multidimensional rectangular array. The processes of encoding and error detection are based upon parity evaluations along prescribed dimensions of the array. Effectiveness of the codes is increased by introducing a “system check bit”, which is essentially a parity check on the other parity bits. Only three-dimensional codes are discussed in this paper, with parity evaluations along the horizontal, the vertical, and one main diagonal. However, the family of codes is not restricted to three dimensions, as evidenced by the discussion by Minnick and Ashenhurst on a similar multidimensional single-bit selection plan used for another purpose [6]. A four-dimensional code, correcting three and detecting four errors, has been developed; the extension to higher-dimensional codes with greater correction power is straightforward.
Research and Advances

A semi-automatic storage allocation system at loading time

The method of storage allocation described herein, although new in a few respects, does not represent any sharp break from the past. Rather it is another step of development suggested by experience accumulated over several years with the 704,709 and 7090 FORTRAN systems. The storage assignment method proposed is, in principle, extremely simple and is not specific to FORTRAN or the 7090. Although the method depends only on rather general language aspects, the concrete detail will be illustrated in terms of the aforementioned systems or proposed extensions.
Research and Advances

A storage allocation scheme for ALGOL 60

A storage allocation scheme for a machine with a 2048-instruction core store and a magnetic drum is described. The use of the drum for storing program blocks and/or data must be directed by the programmer through auxiliary information in the ALGOL program. The administrative routines controlling the storage at run time are described in full. A detailed example is given.
Research and Advances

A preplanned approach to a storage allocating compiler

The preplanned approach to the storage allocation problem involves using a fixed method of analysis of a problem to produce an efficient computer program incorporating all necessary transfers of information within the multilevels of storage of the computer throughout the running of the object program. The initial description of the problem may be in any suitable source language (FORTRAN, ALGOL, etc.) but should not require any recognition of the limitations caused by the number, size, and speeds of the computer's storage devices (core, tape, disc, number of data channels, etc.) by the programmer. The object program produced should contain all necessary implementing instructions to utilize all of the computer's storage devices in such a manner as to minimize the cost of the program (i.e. maximize the speed of problem solving).
Research and Advances

Dynamic storage allocation for an information retrieval system

This paper presents an information retrieval problem whose programming solution included dynamic storage allocation. Allocatable machine code is defined, and an assembly program to produce allocatable machine code is described. The work reported on was done as part of Project ACSI-MATIC1 which is concerned with the application of computer techniques to the activities of certain headquarters military intelligence operations of the U.S. Army [1, 2].
Research and Advances

Program organization and record keeping for dynamic storage allocation

The material presented in this paper is part of the design plan of the core allocation portion of the ACSI-MATIC Programming System. Project ACSI-MATIC is concerned with the application of computer techniques to the activities of certain headquarters military intelligence operations of the U.S. Army. In describing features of organization and record keeping there has been no attempt at completeness, but rather an exploration of the salient aspects of the system to some reasonable level of technical detail.1
Research and Advances

The case for dynamic storage allocation

Programming is the process of developing a scheme for solving a problem using a computer. The programmer's task is to minimize the cost of achieving a solution. This cost involves the interrelated factors of planning, coding, debugging, storage space, and computation time. The storage allocation problem is the subtask of assigning the space-taking objects (programs and data) to the available storage devices (core, drum, disc and magnetic tape).
Research and Advances

A general formalation of storage allocation

Formalization of a general computer storage allocation process is attempted. With a given computer M is associated a fictitious computer M′ essentially identical to M except in respect to possession of unbounded primary storage. Mappings of the total storage set (internal and external) of M into the direct address set of M′ are introduced. A program sequence P for M′ is termed M-admissible (relative to a specific execution time period) if there is a mapping under which P and its effective data referents are all located in the direct address set of M. Storage allocation is considered as a process of establishing for an arbitrary M′ program a sequence of mappings, a decoupling of the program into M-admissible subprograms and a linking set of interludes. An existence proof in terms of a completely interpretive M program as indicated. Some special cases are discussed. Various restrictions on generality of M′ programs are considered under which more practical realization of allocation processes becomes tractable.
Research and Advances

COBOL: a sample problem

COBOL (COmmon Business Oriented Language) is an English Language programming system which is capable of being implemented on a wide variety of electronic digital computers for use in the solution of business data processing problems. The idea was conceived in May, 1959 at a meeting called in the Pentagon by Mr. Charles Phillips of the Office of the Assistant Secretary of Defense, Comptroller. The purpose of this meeting was to consider the desirability and the feasibility of establishing a common language for the programming of electronic computers for data processing. Representatives from computer user installations, both government and industrial, computer manufacturers, universities, and others concerned with computers were present. There was almost unanimous agreement that the project was both desirable and feasible. The COnference on DAta SYstems Languages (CODASYL) was established, and three committees were defined and staffed. These committees were the Short Range Committee, the Intermediate Range Committee, and the Long Range Committee. Each committee had its own goal and its own time scale. The coordination of the work to be performed was to be accomplished by an Executive Committee.

Shape the Future of Computing

ACM encourages its members to take a direct hand in shaping the future of the association. There are more ways than ever to get involved.

Get Involved

Communications of the ACM (CACM) is now a fully Open Access publication.

By opening CACM to the world, we hope to increase engagement among the broader computer science community and encourage non-members to discover the rich resources ACM has to offer.

Learn More