scispace - formally typeset
Search or ask a question

Showing papers in "Communications of The ACM in 1988"


Journal ArticleDOI
TL;DR: A layered behavioral model is used to analyze how three of these problems—the thin spread of application domain knowledge, fluctuating and conflicting requirements, and communication bottlenecks and breakdowns—affected software productivity and quality through their impact on cognitive, social, and organizational processes.
Abstract: The problems of designing large software systems were studied through interviewing personnel from 17 large projects. A layered behavioral model is used to analyze how three of these problems—the thin spread of application domain knowledge, fluctuating and conflicting requirements, and communication bottlenecks and breakdowns—affected software productivity and quality through their impact on cognitive, social, and organizational processes.

2,210 citations


Journal ArticleDOI
TL;DR: Tight upper and lower bounds are provided for the number of inputs and outputs (I/OS) between internal memory and secondary storage required for five sorting-related problems: sorting, the fast Fourier transform (FFT), permutation networks, permuting, and matrix transposition.
Abstract: We provide tight upper and lower bounds, up to a constant factor, for the number of inputs and outputs (I/OS) between internal memory and secondary storage required for five sorting-related problems: sorting, the fast Fourier transform (FFT), permutation networks, permuting, and matrix transposition. The bounds hold both in the worst case and in the average case, and in several situations the constant factors match. Secondary storage is modeled as a magnetic disk capable of transferring P blocks each containing B records in a single time unit; the records in each block must be input from or output to B contiguous locations on the disk. We give two optimal algorithms for the problems, which are variants of merge sorting and distribution sorting. In particular we show for P = 1 that the standard merge sorting algorithm is an optimal external sorting method, up to a constant factor in the number of I/Os. Our sorting algorithms use the same number of I/Os as does the permutation phase of key sorting, except when the internal memory size is extremely small, thus affirming the popular adage that key sorting is not faster. We also give a simpler and more direct derivation of Hong and Kung's lower bound for the FFT for the special case B = P = O(1).

1,344 citations


Journal ArticleDOI
TL;DR: The higraph, a general kind of diagramming object, forms a visual formalism of topological nature that is suited for a wide array of applications to databases, knowledge representation, and the behavioral specification of complex concurrent systems using the higraph-based language of statecharts.
Abstract: The higraph, a general kind of diagramming object, forms a visual formalism of topological nature. Higraphs are suited for a wide array of applications to databases, knowledge representation, and, most notably, the behavioral specification of complex concurrent systems using the higraph-based language of statecharts.

1,332 citations


Journal ArticleDOI
TL;DR: In this article, Amdahl et al. describe a "blocage mental" contre le parallelisme massif impose par une mauvaise utilisation of the formule de Amdahls.
Abstract: Dans cet article, il est question de l'importance, pour la communaute scientifique informatique, de venir a bout du «blocage mental» contre le parallelisme massif impose par une mauvaise utilisation de la formule de Amdahl

1,280 citations


Journal ArticleDOI
TL;DR: In this paper, practical and theoretical issues concerning the design, implementation, and use of a good, minimal standard random number generator that will port to virtually all systems are presented concerning the use of such a generator.
Abstract: Practical and theoretical issues are presented concerning the design, implementation, and use of a good, minimal standard random number generator that will port to virtually all systems.

1,260 citations


Journal ArticleDOI
TL;DR: NoteCards is presented as a foil against which to explore some of the major limitations of the current generation of hypermedia systems, and characterizes the issues that must be addressed in designing the next generation systems.
Abstract: NoteCards, developed by a team at Xerox PARC, was designed to support the task of transforming a chaotic collection of unrelated thoughts into an integrated, orderly interpretation of ideas and their interconnections. This article presents NoteCards as a foil against which to explore some of the major limitations of the current generation of hypermedia systems, and characterizes the issues that must be addressed in designing the next generation systems.

922 citations


Journal ArticleDOI
TL;DR: A method for creating functional test suites has been developed in which a test engineer analyzes the system specification, writes a series of formal test specifications, and then uses a generator tool to produce test descriptions from which test scripts are written.
Abstract: A method for creating functional test suites has been developed in which a test engineer analyzes the system specification, writes a series of formal test specifications, and then uses a generator tool to produce test descriptions from which test scripts are written. The advantages of this method are that the tester can easily modify the test specification when necessary, and can control the complexity and number of the tests by annotating the tests specification with constraints.

827 citations


Journal ArticleDOI
TL;DR: Connectionist networks can be used as expert system knowledge bases and can be constructed from training examples by machine learning techniques, giving a way to automate the generation of expert systems for classification problems.
Abstract: Connectionist networks can be used as expert system knowledge bases. Furthermore, such networks can be constructed from training examples by machine learning techniques. This gives a way to automate the generation of expert systems for classification problems.

676 citations


Journal ArticleDOI
Pierre L'Ecuyer1
TL;DR: An efficient way to combine two or more Multiplicative Linear Congruential Generators (MLCGs) is presented and a generator whose period is the least common multiple of the individual periods is produced.
Abstract: In this paper we present an efficient way to combine two or more Multiplicative Linear Congruential Generators (MLCGs) and propose several new generators. The individual MLCGs, making up the proposed combined generators, satisfy stringent theoretical criteria for the quality of the sequence they produce (based on the Spectral Test) and are easy to implement in a portable way. The proposed simple combination method is new and produces a generator whose period is the least common multiple of the individual periods. Each proposed generator has been submitted to a comprehensive battery of statistical tests. We also describe portable implementations, using 16-bit or 32-bit integer arithmetic. The proposed generators have most of the beneficial properties of MLCGs. For example, each generator can be split into many independent generators and it is easy to skip a long subsequence of numbers without doing the work of generating them all.

510 citations


Journal ArticleDOI
TL;DR: The V distributed System was developed at Stanford University as part of a research project to explore issues in distributed systems.
Abstract: The V distributed System was developed at Stanford University as part of a research project to explore issues in distributed systems. Aspects of the design suggest important directions for the design of future operating systems and communication systems.

508 citations


Journal ArticleDOI
TL;DR: The design for KMS, a large-scale hypermedia system for collaborative work, seeks improved user productivity through simplicity of the conceptual data model.
Abstract: Developers of hypermedia systems face many design issues. The design for KMS, a large-scale hypermedia system for collaborative work, seeks improved user productivity through simplicity of the conceptual data model.

Journal ArticleDOI
TL;DR: Data surveillance is now supplanting conventional surveillance techniques as discussed by the authors and with this trend come new monitoring methods such as personal data surveillance and mass data surveillance that require more effective safeguards and a formal policy framework.
Abstract: Data surveillance is now supplanting conventional surveillance techniques. With this trend come new monitoring methods such as personal dataveillance and mass dataveillance that require more effective safeguards and a formal policy framework.

Journal ArticleDOI
TL;DR: Argus as mentioned in this paper is a programming language and system developed to support the implementation and execution of distributed programs and provides mechanisms that help programmers cope with the special problems that arise in distributed programs, such as network partitions and crashes of remote nodes.
Abstract: Argus—a programming language and system developed to support the implementation and execution of distributed programs—provides mechanisms that help programmers cope with the special problems that arise in distributed programs, such as network partitions and crashes of remote nodes.

Journal ArticleDOI
TL;DR: A new priority queue implementation for the future event set problem is described and shown experimentally to be O(1) in queue size for the priority increment distributions recently considered by Jones in his review article.
Abstract: A new priority queue implementation for the future event set problem is described in this article. The new implementation is shown experimentally to be O(1) in queue size for the priority increment distributions recently considered by Jones in his review article. It displays hold times three times shorter than splay trees for a queue size of 10,000 events. The new implementation, called a calendar queue, is a very simple structure of the multiple list variety using a novel solution to the overflow problem.

Journal ArticleDOI
TL;DR: A field-verified model of the factors of success of UDA is presented that provides a basis for implementation of Uda practices and policies in organizations, as well as for further research in end-user computing.
Abstract: A two-phase study concerned with the factors of success associated with the development of computer applications by end users was conducted in 10 large organizations. During the first phase, in-depth interviews were used to refine a preliminary model of the factors of success for user development of computer applications (UDA). In the second phase, a questionnaire was administered to 272 end users experienced in developing applications. Statistical tests of the relationships in the model indicated that all but one of the derived hypotheses were substantiated. The result of this study is a field-verified model of the factors of success of UDA that provides a basis for implementation of UDA practices and policies in organizations, as well as for further research in end-user computing.

Journal ArticleDOI
TL;DR: Implementing a popular medical handbook in hypertext underscores the need to study hypertext in the context of full-text document retrieval, machine learning, and user interface issues.
Abstract: Medicine is an ideal domain for hypertext applications and research. Implementing a popular medical handbook in hypertext underscores the need to study hypertext in the context of full-text document retrieval, machine learning, and user interface issues.

Journal ArticleDOI
TL;DR: A fair Share scheduler allocates resources so that users get their fair machine share over a long period because central-processing-units have traditionally allocated resources fairly among processes.
Abstract: Central-processing-unit schedulers have traditionally allocated resources fairly among processes. By contrast, a fair Share scheduler allocates resources so that users get their fair machine share over a long period.

Journal ArticleDOI
TL;DR: The versatility of the HAM can be illustrated by showing how Guide buttons, intermedia webs, and NoteCard FileBoxes can be implemented using its storage model.
Abstract: The HAM is a transaction-based server for a hyper text storage system. The server is designed to handle multiple users in a networked environment. The storage system consists of a collection of contexts, nodes, links, and attributes that make up a hypertext graph. The versatility of the HAM can be illustrated by showing how Guide buttons, intermedia webs, and NoteCard FileBoxes can be implemented using its storage model.

Journal ArticleDOI
TL;DR: The success of program verification as a generally applicable and completely reliable method for guaranteeing program performance is not even a theoretical possibility.
Abstract: The notion of program verification appears to trade upon an equivocation. Algorithms, as logical structures, are appropriate subjects for deductive verification. Programs, as causal models of those structures, are not. The success of program verification as a generally applicable and completely reliable method for guaranteeing program performance is not even a theoretical possibility.

Journal ArticleDOI
TL;DR: The examination of the literature reveals a set of empirically based—though preliminary—guidelines as to when and how to use business graphics.
Abstract: Graphical charts are generally thought to be a superior reporting technique compared to more traditional tabular representations in organizational decision making. The experimental literature, however, demonstrates only partial support for this hypothesis. To identify the characteristics of the situations that have been shown to benefit from the use of graphics, existing studies are reviewed in terms of the type of task used, the format employed, and the user experience. The examination of the literature reveals a set of empirically based—though preliminary—guidelines as to when and how to use business graphics.

Journal ArticleDOI
TL;DR: Competing document descriptions are associated with a document and altered over time by a genetic algorithm according to the queries used and relevance judgments made during retrieval.
Abstract: Document retrieval systems are built to provide inquirers with computerized access to relevant documents. Such systems often miss many relevant documents while falsely identifying many non-relevant documents. Here, competing document descriptions are associated with a document and altered over time by a genetic algorithm according to the queries used and relevance judgments made during retrieval.

Journal ArticleDOI
TL;DR: The proposed algorithm speeds generation of truncated Poisson variates and the computation of expected terminal reward in continuous-time, uniformizable Markov chains and can be used to evaluate formulas involving Poisson probabilities.
Abstract: We propose an algorithm to compute the set of individual (nonnegligible) Poisson probabilities, rigorously bound truncation error, and guarantee no overflow or underflow. Work and space requirements are modest, both proportional to the square root of the Poisson parameter. Our algorithm appears numerically stable. We know no other algorithm with all these (good) features. Our algorithm speeds generation of truncated Poisson variates and the computation of expected terminal reward in continuous-time, uniformizable Markov chains. More generally, our algorithm can be used to evaluate formulas involving Poisson probabilities.

Journal ArticleDOI
TL;DR: The relaxed heap is a priority queue data structure that achieves the same amortized time bounds as the Fibonacci heap—a sequence of m decrease_key and n delete_min operations takes time O(m + n log n).
Abstract: The relaxed heap is a priority queue data structure that achieves the same amortized time bounds as the Fibonacci heap—a sequence of m decrease_key and n delete_min operations takes time O(m + n log n). A variant of relaxed heaps achieves similar bounds in the worst case—O(1) time for decrease_key and O(log n) for delete_min. Relaxed heaps give a processor-efficient parallel implementation of Dijkstra's shortest path algorithm, and hence other algorithms in network optimization. A relaxed heap is a type of binomial queue that allows heap order to be violated.

Journal ArticleDOI
TL;DR: The current definition of a good software testing practice involves some preventive methodology and changes in the testing process model and the level of professionalism over the years are examined.
Abstract: We can trace the evolution of software test engineering by examining changes in the testing process model and the level of professionalism over the years. The current definition of a good software testing practice involves some preventive methodology.

Journal ArticleDOI
TL;DR: Conceptual representation methods play a significant role in facilitating the software process and their impact on progress is explored.
Abstract: Conceptual representation methods play a significant role in facilitating the software process. Recent studies explore and clarify the use of these representations and their impact on progress.

Journal ArticleDOI
TL;DR: A survey of available techniques designed to reduce these negatives in the documentation of a software product's external behavior in a Software Requirements Specification (SRS) document.
Abstract: The elimination of ambiguity, inconsistency, and incompleteness in a Software Requirements Specification (SRS) document is inherently difficult, due to the use of natural language The focus here is a survey of available techniques designed to reduce these negatives in the documentation of a software product's external behavior

Journal ArticleDOI
TL;DR: An astronomer-turned-sleuth traces a German trespasser on military networks, who slipped through operating system security holes and browsed through sensitive databases.
Abstract: An astronomer-turned-sleuth traces a German trespasser on our military networks, who slipped through operating system security holes and browsed through sensitive databases. Was it espionage?

Journal ArticleDOI
TL;DR: The controversy surrounding single number performance reduction is examined and solutions are suggested through a comparison of measures.
Abstract: The controversy surrounding single number performance reduction is examined and solutions are suggested through a comparison of measures.

Journal ArticleDOI
TL;DR: A comprehensive explanation and two applications show the semantic improvement of OMT over other approaches to relational database design.
Abstract: Of the many approaches to relational database design, the Object Modeling Technique (OMT) is particularly effective. A comprehensive explanation and two applications show the semantic improvement of OMT over other approaches.

Journal ArticleDOI
TL;DR: This firsthand recollection of those early days of logic programming traces the shared influences and inspirations that connected Edinburgh, Scotland, and Marseilles, France.
Abstract: This firsthand recollection of those early days of logic programming traces the shared influences and inspirations that connected Edinburgh, Scotland, and Marseilles, France.