Advertisement

Research and Advances

Experimental personalized array translator system

A system designed for intimate man-machine interaction in a general-purpose problem-solving environment is experimentally operational. The system utilizes an array-oriented symbolic source language containing powerful statement types. These include numeric, Boolean, relational and selection operators on operands which can be entire arrays. The system also permits simple specification of test and argument arrays in single statements. The completely symbolic operating system includes display and entry of program and data. Sequence control is aided by an interrupt switch which allows the user to interact with the program during execution. In addition to normal stored program sequencing, the system provides trace options and the ability to enter any statement for immediate execution. Present implementation of the system is with an interpretive translator on an IBM 1620 computer.
Research and Advances

A method for comparing the internal operating speeds of computers

First, a table of frequencies of various types of operations is prepared based on experience in similar applications or, perhaps, on actual counts if these are available. Table 1 shows such a frequency table. Next, the total weighted execution time for a given operation type is obtained by multiplying the time required for the operation by the frequency count. Finally, an “average” operation time is calculated by summing overall operation types and dividing by the sum of the frequency counts. Table 2 shows the computation for the IBM 7090. Table 3 shows a comparison of average and relative speeds for several current computers for the particular application using the IBM 7090 as a reference base.
Research and Advances

Expand, a system for input card replication

In an effort to reduce the volume of card handling at our installation, our operating system [1] was modified to include an EXPAND feature. The function of EXPAND is to eliminate the necessity of reproducing a card or a group of cards of the input dock to any particular job. Once a group of cards appears in an input deck, they may be caused to reappear subsequently by the inclusion of a single control card which calls for the “insertion” of cards by sequence numbers or letters. The user is permitted to specify minor modifications to the cards as they are being inserted. Hence, the user may easily run parameter studies, insert similar EQUIVALENCE, COMMON and DIMENSION statements in a multisubroutined FORTRAN program, or specify similar regions on a large mesh such as is needed for a thermal or nuclear study. Note also that when it is necessary to change a deck and rerun, it is only necessary to repunch the original card—every reappearance caused by EXPAND automatically reflects the new card.
Research and Advances

A proposal for input-output conventions in ALGOL 60

The ALGOL 60 language as first defined made no explicit reference to input and output processes. Such processes appeared to be quite dependent on the computer used, and so it was difficult to obtain agreement on those matters. As time has passed, a great many ALGOL compilers have come into use, and each compiler has incorporated some input-output facilities. Experience has shown that such facilities can be introduced in a manner which is compatible and consistent with the ALGOL language, and which (more importantly) is almost completely machine-independent. However, the existing implementations have taken many different approaches to the subject, and this has hampered the interchange of programs between installations. The ACM ALGOL committee has carefully studied the various proposals in an attempt to define a set of conventions for doing input and output which would be suitable for use on most computers. The present report constitutes the recommendations of that committee.
Research and Advances

On declaring arbitrarily coded alphabets

The inability of existing programming languages to handle character strings from more than one or two alphabets is mentioned and a scheme for declaring additional alphabets is proposed. The scheme provides for: many-to-one encodings, right or left justification, collating sequences different from numeric sequence, variations in character size (number of bits) from alphabet to alphabet, and arbitrary source-language character representation.
Research and Advances

An improved equivalence algorithm

An algorithm for assigning storage on the basis of EQUIVALENCE, DIMENSION and COMMON declarations is presented. The algorithm is based on a tree structure, and has reduced computation time by 40 percent over a previously published algorithm by identifying all equivalence classes with one scan of the EQUIVALENCE declarations. The method is applicable in any problem in which it is necessary to identify equivalence classes, given the element pairs defining the equivalence relation.
Research and Advances

Computer-usage accounting for generalized time-sharing systems

The current development of general time-sharing systems requires a revision of accounting procedures for computer usage. Since time-sharing system users operate concurrently, it is necessary to be more precise as to the amount of computer time and storage space that a user actually utilizes. The various cost factors which should be considered for computer usage accounting in generalized time-sharing systems are discussed.
Research and Advances

A Fortran II load-time saver

The FORTRAN II CHAIN feature on the 7090 can be used to save card-to-tape time, loading time, and to provide a convenient method for storing and transporting producting programs. The method is simply to load the desired program as a CHAIN and save the tape on which it is stored. A trivial program can then be used to recall the major program.

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