Advertisement

Research and Advances

Laws of programming

A complete set of algebraic laws is given for Dijkstra's nondeterministic sequential programming language. Iteration and recursion are explained in terms of Scott's domain theory as fixed points of continuous functionals. A calculus analogous to weakest preconditions is suggested as an aid to deriving programs from their specifications.
Research and Advances

Knowledge abstraction

One of the primary effects of software abstraction has been to further the notion of computer programs as objects rather than moving programming closer to the problem being solved. Knowledge abstraction, however, allows software to take a significant step toward the problem domain.
Research and Advances

Arabic word processing

Recently developed word processing software can correctly format the cursive, interacting letters of the Arabic script. Moreover, new layout procedures can automatically intermix right-to-left Arabic writing with left-to-right text in European or other languages.
Research and Advances

Adjacency detection using quadcodes

A method is presented for determining whether two given regions are adjacent, and for finding all the neighbors of different sizes for a given region. Regions are defined as elementary squares of any size. In a companion paper [2], we introduce the quadcode and discuss its use in representing geometric concepts in the coded image, such as location, distance, and adjacency. In this paper we give a further discussion of adjacency in terms of quadcodes. Gargantini [1] discussed adjacency detection using linear quadtrees. Her discussion was applied to pixels, and a procedure was given to find a pixel's southern neighbor only. This paper considers elementary squares of any size, and gives procedures for both aspects of the problem: for determining whether two given regions are adjacent, and for finding all the neighbors of different sizes for a given region.
Research and Advances

The quadcode and its arithmetic

The quadcode is a hierarchical data structure for describing digital images. It has the following properties: (1) straightforward representation of dimension, size, and the relationship between an image and its subsets; (2) explicit description of geometric properties, such as location, distance, and adjacency; and (3) ease of conversion from and to raster representation. The quadcode has applications to computer graphics and image processing because of its ability to focus on selected subsets of the data and to allow utilization of multiple resolutions in different parts of the image. A related approach is the quadtree. Samet recently presented a thorough survey of the literature in that field [7]. Gargantini [2] and Abel and Smith [1] presented linear quadtrees and linear locational keys that are efficient labeling techniques for quadtrees. In those papers the geometric concepts of the image are discussed by using the tree as an interpretive medium, and the approaches and procedures are based on traversal of the nodes in the tree. In this paper we present the quadcode system, which is a direct description of the image, and discuss the geometric concepts in terms of the coded images themselves.
Research and Advances

Word division in Spanish

Spanish is a language with very precise and regular orthographic rules. A syllabication algorithm strictly based on syntactic analysis, not requiring any semantic knowledge, is presented and further extended to include hyphenation. Algorithms are presented as pattern matching schemata, and efficient implementations are considered.
Research and Advances

Relationships between selected organizational factors and systems development

Three organizational variables influence the quality of the system development process: available resources (both human and financial), external influences on the development process, and the project team's exposure to information systems. Public information and interviews with systems managers from 28 large private firms yielded data about the organizational variables. Systems project group members completed questionnaires concerning the system development process. The results indicate that human resources affect the development process positively, but increased financial resources are related to team disagreement. The degree of external influence on the system development effort needs to be carefully monitored and controlled. Systems exposure in the firm allows an increase in the degree of awareness among project group members about the different problems encountered by users and systems staff.
Research and Advances

A statistical technique for comparing heuristics: an example from capacity assignment strategies in computer network design

An analysis of variance (ANOVA) model is developed for determining the existence of significant differences among strategies employing heuristics. Use of the model is illustrated in an application involving capacity assignment for networks utilizing the dynamic hierarchy architecture, in which the apex node is reassigned in response to changing environments. The importance of the model lies in the structure provided to the evaluation of heuristics, a major need in the assessment of benefits of artificial-intelligence applications. A nested three-factor design with fixed and random effects provides a numerical example of the model.
Research and Advances

An empirical validation of software cost estimation models

Practitioners have expressed concern over their inability to accurately estimate costs associated with software development. This concern has become even more pressing as costs associated with development continue to increase. As a result, considerable research attention is now directed at gaining a better understanding of the software-development process as well as constructing and evaluating software cost estimating tools. This paper evaluates four of the most popular algorithmic models used to estimate software costs (SLIM, COCOMO, Function Points, and ESTIMACS). Data on 15 large completed business data-processing projects were collected and used to test the accuracy of the models' ex post effort estimation. One important result was that Albrecht's Function Points effort estimation model was validated by the independent data provided in this study [3]. The models not developed in business data-processing environments showed significant need for calibration. As models of the software-development process, all of the models tested failed to sufficiently reflect the underlying factors affecting productivity. Further research will be required to develop understanding in this area.
Research and Advances

Computer Science Program Accreditation: the first-year activities of the computing sciences accreditation board

This report summarizes the activities of the Computing Sciences Accreditation Board from its inception in 1984 through its first accreditation cycle completed in June 1986. The major activities during this period were directed at developing the CSAB structure necessary to carry out the accreditation process, and at conducting the first round of accreditation visits and actions.
Research and Advances

Intelligent information-sharing systems

The Information Lens system is a prototype intelligent information-sharing system that is designed to include not only good user interfaces for supporting the problem-solving activity of individuals, but also good organizational interfaces for supporting the problem-solving activities of groups.
Research and Advances

Attributes of the performance of central processing units: a relative performance prediction model

Using readily available data on CPU characteristics—main memory size, cache memory size, number of channels, and machine cycle time—it is possible to predict relative CPU performance for a wide range of machines. Statistical analyses indicate that these characteristics explain virtually all the variance in relative performance.

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