Advertisement

Opinion

Programming pearls: graphic output

In previous columns we've studied the innards of programs. In this column we'll take a broader view of the programmer's task and consider the kind of output a program should produce. We'll focus on a single problem: once a system has produced detailed output, how can it summarize the trends in the mountain of data? The answer to that question depends heavily on both the data and the taste of the reader; paragraphs of text and tables of numbers often provide fine summaries. This column, however, will concetrate on graphical representations of data, which allow the powerful human vision system to understand data. A decade ago programmers could offer the excuse that they were limited to crude line printer graphics, but technology has changed that. Many large installations now have laser printers, and graphics printers for home computers sell for a few hundred dollars. This column is about ways that programmers can use the technology to deliver more useful (and more graphic) output.
Research and Advances

Anomalies in parallel branch-and-bound algorithms

We consider the effects of parallelizing branch-and-bound algorithms by expanding several live nodes simultaneously. It is shown that it is quite possible for a parallel branch-and-bound algorithm using n2 processors to take more time than one using n1 processors, even though n1 < n2. Furthermore, it is also possible to achieve speed-ups that are in excess of the ratio n2/n1. Experimental results with the 0/1-Knapsack and Traveling Salesman problems are also presented.
Research and Advances

Updating a database in an unsafe environment

Normally, when an application makes use of a database, considerable resources are invested in maintaining the integrity of that database. However, in situations where use of a database may be desirable even though the normal level of resources is unavailable, a simple technique using a partitioned data file protects the database if immediate transaction recording is not essential.
Research and Advances

Computer matching: should it be banned?

Since discovering the technique of computer matching several years ago, government managers have been invoking this computer tool in the attempt to root out waste and fraud in their programs. Is computer matching an indispensable tool for government administrators? Or a trampling on individual rights? In the following articles, two experts debate the pros and cons.
Research and Advances

A virtual memory system for picture processing

A virtual memory system designed specifically for picture processing, Raster Handler 2 provides programs with efficient access to pixels. It features square partition of images, imbalanced allocation of frames, and nondemand page replacement. RH2 is implemented in software and incorporates a prepaging algorithm designed specifically for picture processing.
Research and Advances

An algorithm for optimized Boolean evaluation in information management systems

In cases where simple data validation techniques are inadequate and optimization policies relatively complex (e.g., in health and medical systems), a Boolean optimization algorithm can be used to report errors accurately and unambiguously. The algorithm is presented in the context of a data-validating software module that uses an LR(1)-parser. The algorithm's precision makes it of potential use for the retrieval of records that nearly satisfy a query.
Research and Advances

Accommodating uncertainty in software design

Recognition that most software is domain dependent (DD) is extremely important because the most commonly used software life-cycle models are not adequate for DD software. The nature of DD software, and the need to manage its life cycle effectively, calls for a new approach to software design and the implementation of software development environments.
Research and Advances

Evolution and organizational information systems: an assessment of Nolan's stage model

Richard Nolan's stage model is the best known and most widely cited model of computing evolution in organizations. The model's development over a decade demonstrates its own evolution from a simple theory, based on the factoring of change states indicated by changes in computing budgets, to an elaborate account of the characteristics of six stages of computing growth. An analysis of the model's logical and empirical structure reveals a number of problems in its formulation that help to account for the fact that its principal tenets have not been independently validated. The model is shown to be an “evolutionistic” theory within the theories of evolution in the social sciences, focusing on assumed directions of growth and an implied end state toward which growth proceeds, and suffering from problems inherent in such theories. Further research based on an “evolutionary” view of computing growth is suggested as a means of improving theories of computing in organizations.
Research and Advances

Design of the S system for data analysis

S is a language and system for interactive data analysis and graphics. It emphasizes interactive analysis and graphics, ease of use, flexibility, and extensibility. While sharing many characteristics with other statistical systems, S differs significantly in its design goals, its implementation, and the way it is used. This paper presents some of the design concepts and implementation techniques in S and relates these general ideas in computing to the specific design goals for S and to other statistical systems.
Research and Advances

A critque of the stage hypothesis: theory and empirical evidence

The stage hypothesis on the assimilation of computing technology provides one of the most popular models for describing and managing the growth of administrative information systems. Despite little formal evidence of its reliability or robustness, it has achieved a high level of acceptance among practitioners. We describe and summarize the findings of seven empirical studies conducted during the past six years that tested various hypotheses derived from this model. The accumulation of evidence from these studies casts considerable doubt on the validity of the stage hypothesis as an explanatory structure for the growth of computing in organizations. 3~

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