Advertisement

Research and Advances

HISDL—a structure description language

The features of a language designed for the description of the structure of computer systems are described. The structure of a system is specified hierarchically as an interconnection of components with each component being a named instance of a component type. The system itself is another component type. The interconnection between components is specified in two ways: either by specifying all the ports that are connected together, or by specifying a component and the ports that are connected to its ports. A structure specification is a list of such connection specifications. The language has an iterative construct for specifying highly regular structures, and a conditional construct is also provided. A component type can be recursively specified while parameterization of component type specifications is supported. The latter is particularly useful for specifying classes of components of similar structure.
Research and Advances

The impact of office automation on the organization: some implications for research and practice

Computer technology has recently been applied to the automation of office tasks and procedures. Much of the technology is aimed not at improving the efficiency of current office procedures, but at altering the nature of office work altogether. The development of automated office systems raises a number of issues for the organization. How will this technology be received by organization members? How will it affect the definition of traditional office work? What will be its impact on individuals, work groups, and the structure of the organization? This paper presents a descriptive model and propositions concerning the potential impacts of office automation on the organization and it stresses the need, when implementing automated office systems, to take a broad perspective of their potential positive and negative effects on the organization. The need for further research examining the potential effects of office automation is emphasized.
Research and Advances

MINI-EXEC: a portable executive for 8-bit microcomputers

As microprocessor systems and single-chip microcomputers become more complex, so do the software systems developed for them. In many cases, software is being designed that incorporates multiple control functions running asynchronously on a single microprocessor. Here, discussion focuses on the motivation for running such multiple functions under the control of a real-time multitasking executive. A successfully implemented executive whose design is portable and suitable for use on most 8-bit microprocessors is presented.
Research and Advances

Unionization of professionals in data processing: an assessment of recent trends

The needs of management, unions, employees, and computer professionals combined with existing practices of Labor Relations Boards and the various divisions in the Departments of Labor have combined to create a unique array of social conflicts. At the root are management's interest in keeping many skills in data processing and computing out of bargaining units and the union's interest in including as many of these skills as possible. There is also conflict between past strategies guiding labor relations and the structure and function of professional work in modern organizations. Two recent developments are analyzed: (1) The FAA's success in keeping airports operational with the help of computer-controlled air flow procedures; (2) Management's successful bids to exclude professional engineers working in data processing jobs from bargaining units. At the same time, the National Labor and Mediation Boards have rejected attempts to define data processing jobs including highly skilled systems analysts as a separate craft or class for representation purposes while granting such status to engineers in similar employment situations. If this principle of exclusion from unions of licensed and certified professionals who are doing DP work is established in North America, it may lead to increased labor unrest in many highly automated and data processing industries.
Research and Advances

Information systems curriculum recommendations for the 80s: undergraduate and graduate programs

The recommendations of the 1972 and 1973 ACM Curriculum Committee on Information Systems programs have been influential in the development of degree programs at the bachelor's, master's, and doctoral levels. The earlier curriculum has been revised and updated based on advances in the field over the past nine years. The report discusses the continuing need for education related to the definition, analysis, design, construction, and management of information systems in organizations. The structure of both bachelor's and master's level programs are described and courses are defined. Course outlines include rationale for the courase, course objectives, instructional modes, and a list of topics. Each topic is weighted in terms of suggested percent of time devoted to the subject.
Research and Advances

Designing computer system messages

tive computer systems and studies of their users, we have become increasingly aware of the importance of system messages. Novice users are unimpressed with CPU speeds, disk storage capabilities, or elegant file structures. For them, the system appears only in the form of the messages on their screens or printers. So when novices encounter violent messages such as “FATAL ERROR, RUN ABORTED”, vague phases like “ILLEGAL CMD”, or obscure codes such as “OC7” or “IEH2191”, they are understandably shaken, confused, dismayed, and discouraged from continuing. The negative image that computer systems sometimes generate is, we believe, largely due to the difficulties users experience when they make mistakes or are unsure about what to do next.
Opinion

Letters to the editor: A protection model and its implementation in a dataflow system

A protection model is presented for a general purpose computing system based on tags attached as seals and signatures to values exchanged among processes. A tag attached to a value as a seal does not prevent that value from being propagated to any place within the system; rather, it guarantees that the value and any information derived from it cannot leave the system unless a matching tag is presented. A tag attached to a value as a signature is used by a process to verify the origin of the received data. Solutions to problems from the areas of interprocess communication and proprietary services are given.
Research and Advances

Efficient parallel algorithms for some graph problems

We study parallel algorithms for a number of graph problems, using the Single Instruction Stream-Multiple Data Stream model. We assume that the processors have access to a common memory and that no memory or data alignment time penalties are incurred. We derive a general time bound for a parallel algorithm that uses K processors for finding the connected components of an undirected graph. In particular, an O(log2 n) time bound can be achieved using only K = n⌈n/log2 n⌉ processors. This result is optimal in the sense that the speedup ratio is linear with the number of processors used. The algorithm can also be modified to solve a whole class of graph problems with the same time bound and fewer processors than previous parallel methods.
Research and Advances

U.S. computer export control policies: value conflicts and policy choices

The formulation of a balanced and effective export control policy for computer products and know-how has been an important and difficult task for both the U.S. Government and the computing community. External pressures force national security concerns to conflict with the values and interests of private enterprise and academic freedom. This paper has two primary objectives: the first is to present the computing community with a reasonably equitable and detailed perspective on this important public policy problem; the second is to present and analyze a range of policy choices.
Research and Advances

A program testing assistant

This paper describes the design and implementation of a program testing assistant which aids a programmer in the definition, execution, and modification of test cases during incremental program development. The testing assistant helps in the interactive definition of test cases and executes them automatically when appropriate. It modifies test cases to preserve their usefulness when the program they test undergoes certain types of design changes. The testing assistant acts as a fully integrated part of the programming environment and cooperates with existing programming tools such as a display editor, compiler, interpreter, and debugger.
Research and Advances

File archival techniques using data compression

The performance of most small computer systems is determined, to a large extent, by the characteristics of their mass storage devices. Data compression can expand the storage capacity of such devices and also slightly increase their speed. Here, a summary of one method of data compression using Huffman variable length coding is presented, along with statistics of effectiveness for various file types and practical techniques for integrating such methods into a small computer system.

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