August 1968 - Vol. 11 No. 8

August 1968 issue cover image

Features

Research and Advances

Operating Systems: On overcoming high-priority paralysis in multiprogramming systems: a case history

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.
Research and Advances

When your computer needs a lawyer

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 regulations 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.
Research and Advances

Programming Techniques: ASP—a ring implemented associative structure package

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.
Research and Advances

A modification of Efroymson’s technique for stepwise regression analysis

The computational technique conventionally used for stepwise multiple linear regression requires the storage of an n × 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.
Research and Advances

CHAMP—character manipulation procedures

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.
Research and Advances

Algorithms: Algorithm 335: a set of basic input-output procedures

By means of the primitives insymbol, 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 out-channel to provide information for simultaneous output to several channels is suggested. Interrelationship between the declared procedures is furnished in tabular form.
Research and Advances

Standards: Accommodating standards and identification of programming languages

The user public wants standardization and reliable identification of programming languages and related services. One way of achieving these goals is 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 within 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 useful applied to other programming languages and computer services.

Recent Issues

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