May 1964 - Vol. 7 No. 5

May 1964 issue cover image

Features

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 experiment in a user-oriented computer system

A version of a software-hardware system for the purpose of facilitating the programming and analysis of well-formulated problems is described. A modified Flexowriter is used to generate computer-acceptable input when equations or computable requests are typed in much the same manner as they would appear in conventional mathematical texts. The typing and language rules are quite flexible and unrestrictive. While the compiler part is efficient, the system as a whole has much broader aspects as a tool for the study of problem solving and self-teaching systems.
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 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.

Recent Issues

  1. November 2024 CACM cover
    November 2024 Vol. 67 No. 11
  2. October 2024 CACM cover
    October 2024 Vol. 67 No. 10
  3. September 2024 CACM cover
    September 2024 Vol. 67 No. 9
  4. August 2024 CACM cover
    August 2024 Vol. 67 No. 8