ppxscal/embedding_network huggingface dataset:
A software design and evaluation system
Authors: Robert M. Graham, Gerald J. Clancy,  Jr., David B. DeVaney
Venue: Communications of the ACM (1973)

A critical failure of current software system design and implementation methodology is that the performance of a proposed design is not evaluated before it is actually implemented. In this paper the reasons for this failure are explored, and a new methodology which overcomes many of the difficulties is proposed. A system which integrates performance evaluation with design and implementation is described. This system is based on a simple, high level language which is used to describe the evolving system at all stages of its development. The source language description is used as direct input to performance analysis and simulation routines. Using the performance information obtained from these routines as feedback, the problems which adversely affect performance are detected early enough so that they can be corrected without costly major reimplementation of the proposed system.
Safe Constraint Queries
Authors: Michael Benedikt, Leonid Libkin
Venue: SIAM Journal on Computing (2000)

We extend some of the classical characterization theorems of relational database theory---particularly those related to query safety---to the context where database elements come with fixed interpreted structure and where formulae over elements of that structure can be used in queries. We show that the addition of common interpreted functions, such as real addition and multiplication, to the relational calculus preserves important characterization theorems of the relational calculus and also preserves certain combinatorial properties of queries. Our main result of the first kind is that there is a syntactic characterization of the collection of safe queries over the relational calculus supplemented by a wide class of interpreted functions---a class that includes addition, multiplication, and exponentiation---and that this characterization gives us an interpreted analog of the concept of range-restricted query from the uninterpreted setting. Furthermore, our range-restricted queries are particularly intuitive for the relational calculus with real arithmetic and give a natural syntax for safe queries in the presence of polynomial functions. We use these characterizations to show that safety is decidable for Boolean combinations of conjunctive queries for a large class of interpreted structures. We show a dichotomy theorem that sets a polynomial bound on the growth of the output of a query that might refer to addition, multiplication, and exponentiation.We apply the above results for finite databases to get results on constraint databases representing potentially infinite objects. We start by getting syntactic characterizations of the queries on constraint databases that preserve geometric conditions in the constraint data model. We consider classes of convex polytopes, polyhedra, and compact semilinear sets, the latter corresponding to many spatial applications. We show how to give an effective syntax to safe queries and prove that for conjunctive queries the preservation properties are decidable.
Designing robust Java programs with exceptions
Authors: Martin P. Robillard, Gail C. Murphy
Venue: Proceedings of the 8th ACM SIGSOFT international symposium on Foundations of software engineering: twenty-first century applications (2000)

Exception handling mechanisms are intended to help developers build robust systems. Although an exception handling mechanism provides a basis for structuring source code dealing with unusual situations, little information is available to help guide a developer in the appropriate application of the mechanism. In our experience, this lack of guidance leads to complex exception structures. In this paper, we reflect upon our experiences using the Java exception handling mechanism. Based on these experiences, we discuss two issues we believe underlie the difficulties encountered: exceptions are a global design problem, and exception sources are often difficult to predict in advance. We then describe a design approach, based on work by Litke for Ada programs, which we have used to simplify exception structure in existing Java programs.
A program data flow analysis procedure
Authors: F. E. Allen, J. Cocke
Venue: Communications of the ACM (1976)

The global data relationships in a program can be exposed and codified by the static analysis methods described in this paper. A procedure is given which determines all the definitions which can possibly &ldquo;reach&rdquo; each node of the control flow graph of the program and all the definitions that are &ldquo;live&rdquo; on each edge of the graph. The procedure uses an &ldquo;interval&rdquo; ordered edge listing data structure and handles reducible and irreducible graphs indistinguishably.
Approximate solution of initial-boundary wave equation problems by boundary-value techniques
Authors: Donald Greenspan
Venue: Communications of the ACM (1968)

A new boundary-value technique is proposed for the treatment of initial-boundary-value problems for linear and mildly non-linear wave equations. Several illustrative examples are offered to demonstrate the ease with which the method can be applied.
Supporting dynamic parallel object arrays
Authors: Orion S. Lawlor, Laxmikant V. Kalé
Venue: Proceedings of the 2001 joint ACM-ISCOPE conference on Java Grande (2001)

We present efficient support for generalized arrays of parallel data driven objects. The &ldquo;array elements&rdquo; are scattered across a parallel machine. Each array element is an object that can be thought of as a virtual processor. The individual elements are addressed by their &ldquo;index&rdquo;, which can be an arbitrary object rather than a simple integer. For example, it can be a series of numbers, supporting multidimensional sparse arrays; a bit vector, supporting collections of quadtree nodes; or a string. Messages can be sent to any individual array element from any processor, and the elements can participate in reductions and broadcasts. Individual elements can be created or deleted dynamically at any time. Most importantly, the elements can migrate from processor to processor at any time. The paper discusses support for message delivery and collective operations in face of such dynamic behavior. The migration capabilities of array elements have proven extremely useful, for example, in implementing flexible load balancing strategies and for exploiting workstation clusters adaptively.
Augmenting fun and beauty: a pamphlet
Authors: J. P. Djajadiningrat, C. J. Overbeeke, S. A. G. Wensveen
Venue: Proceedings of DARE 2000 on Designing augmented reality environments (2000)

In this article we describe how the augmented reality and product design communities, which share the common interest of combining the real and the virtual, might learn from each other. From our side, we would like to share with you some of our ideas about product design which we consider highly relevant for the augmented reality community. In a pamphlet we list 10 sloganesque points for action which challenge the status quo in product design. Finally, we present some projects which show how these points could be implemented. We hope this approach will inspire those involved in augmented reality design and help them to avoid the pitfalls that the product design community is now trying to crawl out of.
A computer system for inference execution and data retrieval
Authors: R. E. Levien, M. E. Maron
Venue: Communications of the ACM (1967)

This paper presents a RAND project concerned with the use of computers as assistants in the logical analysis of large collections of factual data. A system called the Relational Data File was developed for this purpose. The Relational Data File is briefly detailed and problems arising from its implementation are discussed.
Development and application of NASA's first standard spacecraft computer
Authors: Charles E. Trevathan, Thomas D. Taylor, Raymond G. Hartenstein, Ann C. Merwarth, William N. Stewart
Venue: Communications of the ACM (1984)

To provide the autonomy needed by low, earth-orbiting satellites, NASA's first standard on-board processor requires changing only interfacing hardware from mission to mission.
A randomized art-gallery algorithm for sensor placement
Authors: H. González-Banos
Venue: Proceedings of the seventeenth annual symposium on Computational geometry (2001)

This paper descirbes a placement strategy to compute a set of &ldquo;good&rdquo; locations where visual sensing will be most effective. Throughout this paper it is assumed that a {\em polygonal 2-D map} of a workspace is given as input. This polygonal map --- also known as a {\em floor plan} of {\em layout} --- is used to compute a set of locations where expensive sensing tasks (such as 3-D image acquisition) could be executed. A map-building robot, for example, can visit these locations in order to build a full 3-D model of the workspace. The sensor placement strategy relies on a randomized algorithm that solves a variant of the {\em art-gallery problem}-\cite{Oro87, She92, Urr97} : Find the minimum set of guards inside a polygonal workspace from which the entire workspace boundary is visibe. To better take into account the limitations of physical sensors, the algorithm computes a set of guards that satisfies incidence and range constraints. Although the computed set of guards is not guaranteed to have minimum size, the algorithm does compute with high probability a set whose size is at most a factor $\big0{ (n + h) \cot \log(c \ (n + h) )$ from the optimal size$c$, where $n$ is the number of edges in the input polygonal map and $n$ the number of obstacles in its interior (holes).
On providing useful information for analyzing and tuning applications
Authors: John Mellor-Crummey, Robert Fowler, David Whalley
Venue: ACM SIGMETRICS Performance Evaluation Review (2001)

Application performance tuning is a complex process that requires correlating many types of information with source code to locate and analyze performance problems bottle-necks. Existing performance tools don't adequately support this process in one or more dimensions. We describe two performance tools, MHsim and HPCView, that we built to support our own work on data layout and optimizing compilers. Both tools report their results in scope-hierarchy views of the corresponding source code and produce their output as HTML databases that can be analyzed portably and collaboratively using a commodity browser.
President's letter to the ACM membership: The journal
Authors: Bernard A. Galler
Venue: Communications of the ACM (1969)

A great deal of concern has been expressed to me and to members of the Executive Committee and the Editorial Board about the new status of the Journal. Obviously, the concern is not over the $3 needed to subscribe to the Journal in the future. Those who are worried about the change, which substituted the new Computing Surveys for the Journal, see it as one more step in a process of change within ACM that has been going on for some time. They argue that the Association began as an academic, scientific, professional organization concerned with the more formal mathematical and scientific aspects of information processing, and their concern that the organization has changed character is quite legitimate.
Levels of exploration
Authors: Stephan Diehl, Andreas Kerren
Venue: ACM SIGCSE Bulletin (2001)

Visualization of computational models is at the heart of educational software for computer science and related fields. In this paper we look at how generation of such visualizations and the visualization of the generation process itself increase exploration. Four approaches of increased exploration in formal language theory and compiler design are introduced and for each approach we discuss an educational system which implements it.
High-performance polygon rendering
Authors: Kurt Akeley, Tom Jermoluk
Venue: Proceedings of the 15th annual conference on Computer graphics and interactive techniques (1988)

This paper describes a system architecture for realtime display of shaded polygons. Performance of 100,000 lighted, 4-sided polygons per second is achieved. Vectors and points draw at the rate of 400,000 per second. High-speed pan and zoom, alpha blending, realtime video input, and antialiased lines are supported. The architecture heavily leverages parallelism in several forms: pipeline, vector, and array processing. It is unique in providing efficient and balanced graphics that support interactive design and manipulation of solid models. After an overview of algorithms and computational requirements, we describe the details of the implementation. Finally, the unique features enabled by the architecture are highlighted.
Implementation of a high level language machine
Authors: A. Hassitt, J. W. Lageschulte, L. E. Lyon
Venue: Communications of the ACM (1973)

Computing machines which directly execute the statements of a high level language have been proposed in the past. This report describes the actual implementation of such a machine: it is a computer whose &ldquo;machine language&rdquo; is APL. The machine is fully operational and correctly executes almost all of the APL operations on scalars, vectors, and arrays. The machine automatically allocates memory, executes statements, calls functions, converts numbers from one type to another, checks subscripts, and automatically detects many types of programmer errors.
Accurate exploration of timing and area trade-offs in arithmetic optimization using carry-save-adders
Authors: Youngtae Kim
Venue: Proceedings of the 2001 Asia and South Pacific Design Automation Conference (2001)

Timing and area of circuits are two of the most important design criteria to be optimized in data path synthesis. In addition, carry-save-adder (CSA) has been proven to be one of the most efficient implementation units in optimizing timing and/or area of arithmetic circuits. However, the existing approaches are restricted in using CSAs, i.e., optimizing operation trees separately without any interaction between them, resulting in a locally optimized CSA circuit. To overcome this limitation, we propose a practically efficient solution to the problem of an accurate exploration of timing and area trade-offs in optimizing arithmetic circuits in the presence of multiple operation trees using CSAs. The application of our approach is able to find a best CSA implementation of circuit in terms of timing and area.
Data integration using similarity joins and a word-based information representation language
Authors: William W. Cohen
Venue: ACM Transactions on Information Systems (TOIS) (2000)

The integration of distributed, heterogeneous databases, such as those available on the World Wide Web, poses many problems. Herer we consider the problem of integrating data from sources that lack common object identifiers. A solution to this problem is proposed for databases that contain informal, natural-language &ldquo;names&rdquo; for objects; most Web-based databases satisfy this requirement, since they usually present their information to the end-user through a veneer of text. We describe WHIRL, a &ldquo;soft&rdquo; database management system which supports &ldquo;similarity joins,&rdquo; based on certain robust, general-purpose similarity metrics for text. This enables fragments of text (e.g., informal names of objects) to be used as keys. WHIRL includes textual objects as a built-in type, similarity reasoning as a built-in predicate, and answers every query with a list of answer substitutions that are ranked according to an overall score. Experiments show that WHIRL is much faster than naive inference methods, even for short queries, and efficient on typical queries to real-world databases with tens of thousands of tuples. Inferences made by WHIRL are also surprisingly accurate, equaling the accuracy of hand-coded normalization routines on one benchmark problem, and outerperforming exact matching with a plausible global domain on a second.
Synchronization in a parallel-accessed data base
Authors: A. Shoshani, A. J. Bernstein
Venue: Communications of the ACM (1969)

The following problem is considered: Given a data base which can be manipulated simultaneously by more than one process, what are the rules for synchronization which will maximize the amount of parallel activity allowed. It is assumed that the data base can be represented as a graph. An example of such a data base is a hierarchy of directories for an on-line file system. Methods for synchronization of processes are examined; their validity is discussed and their performance compared.
Design-manufacturing interface: Part I &mdash; vision
Authors: W. Maly, H. T. Heineken, J. Khare, P. K. Nag
Venue: Proceedings of the conference on Design, automation and test in Europe (1998)

This paper proposes a vision for a new research domain emerging on the interface between design and manufacturing of VLSI circuits. The key objective of this domain is the minimization of the mismatch between design and manufacturing which is rapidly growing with the increase in complexity of VLSI designs and IC technologies. This broad objective is partitioned into a number of specific tasks. Often, one of the most important tasks is the extraction of VLSI design attributes that may be relevant from a manufacturing efficiency standpoint. The second task is yield analysis performed to detect process and design attributes responsible for inadequate yield. This paper postulates both, an overall change in the design-manufacturing interface, as well as a methodology to address the growing design-manufacturing mismatch. Attributes of a number of tools needed for this purpose are discussed as well.
Maximum Kirkman Signal Sets for Synchronous Uni-Polar Multi-UserCommunication Systems
Authors: Charles J. Colbourn, Sufang Zhao
Venue: Designs, Codes and Cryptography (2000)

A unipolar signaling system transmits using intensity or amplitude in multiple dimensions. Typical examples arise in optical transmission or radio communication using MT-MFSK as both the signaling and the modulation technique. There are v dimensions which represent pulses or tones. Each codeword consists of a selection of k of these tones with unit intensity. Each user is assigned m of these binary codewords. In a synchronous multi-user environment, two codewords assigned to a single user have distance 2k, while two codewords assigned to different users have distance at least 2k-2. Such an assignment of codewords to users is called a Kirkman signal set when the number of users accommodated is the maximum. In this paper, the existence of Kirkman signal sets with k=3 and m as large as possible is settled for all values of v.
A Deterministic Attribute Grammar Evaluator Based on Dynamic Scheduling
Authors: Ken Kennedy, Jayashree Ramanathan
Venue: ACM Transactions on Programming Languages and Systems (TOPLAS) (1979)

The problem of semantic evaluation in a compiler-generating system can be addressed by specifying language semantics in an attribute grammar [19], a context-free grammar augmented with &ldquo;attributes&rdquo; for the nonterminals and &ldquo;semantic functions&rdquo; to compute the attributes. A deterministic method for evaluating all attributes in a &ldquo;semantic&rdquo; parse tree is derived and shown to have time and space complexities which are essentially linear in the size of the tree. In a prepass through the parse tree, the method determines an evaluation sequence for the attributes; thus it is somewhat analogous to dynamic programming. The constructor-evaluator system described should be suitable for inclusion in a general translator-writing system. for inclusion in a general translator-writing system.
A Fortran II load-time saver
Authors: A. Frank Ackermann
Venue: Communications of the ACM (1964)

The FORTRAN II CHAIN feature on the 7090 can be used to save card-to-tape time, loading time, and to provide a convenient method for storing and transporting producting programs. The method is simply to load the desired program as a CHAIN and save the tape on which it is stored. A trivial program can then be used to recall the major program.
Corporative networks as base of institution computerization
Authors: Anatoly Sachenko, Sergiy Vozniak, Sergiy Rippa
Venue: Proceedings of the symposium on Contemporary computing in Ukraine (2000)

There is proposed approach to create corporative network as basis of institution computerization, and is described the main phases its step-by-step implementation. Approach particularly application on institute base has confirmed its efficiency.
The stable marriage problem
Authors: D. G. McVitie, L. B. Wilson
Venue: Communications of the ACM (1971)

The original work of Gale and Shapley on an assignment method using the stable marriage criterion has been extended to find all the stable marriage assignments. The algorithm derived for finding all the stable marriage assignments is proved to satisfy all the conditions of the problem. Algorithm 411 applies to this paper.
Remark on stably updating mean and standard deviation of data
Authors: Ira W. Cotton
Venue: Communications of the ACM (1975)

Although not published as a numbered algorithm, Hanson's article &ldquo;Stably Updating Mean and Standard Deviation of Data&rdquo; in the January, 1975, issue of Communications, [1] describes an algorithm for sequentially recomputing the mean and standard deviation of a weighted series of numbers when new numbers are added to the series. The procedure requires that only a summary matrix of data be retained, not the entire series, for the new mean and standard deviation to be computed.
Computer planned collates
Authors: Norman C. French
Venue: Communications of the ACM (1963)

Little effort has been directed toward the creation of efficient, easy-to-use file merging routines. This lack of effort undoubtedly stems from the feeling that a process as simple and straightforward as merging two or more files does not lend itself to sophisticated techniques.
Report on ISDO '00: the CAiSE*00 workshop on &ldquo;infrastructures for dynamic business-to-business service outsourcing&rdquo;
Authors: Heiko Ludwig, Paul Grefen
Venue: ACM SIGMOD Record (2000)

The ISDO '00 workshop on "Infrastructures for Dynamic Business-to-Business Service Outsourcing" [1] was held as a preconference workshop of the 12th Conference on Advanced Information Systems Engineering (CAiSE *00) in Stockholm, Sweden, on June 5 and 6, 2000. C. Bussler (Net-fish Technologies), M. Bichler (Vienna University of Economics and Business Administration), and Y. Hoffner and H. Ludwig (IBM Zurich Research Laboratory) organised the workshop and chaired the program committee.The objective of the workshop was to provide a platform to discuss models and technologies for service outsourcing, with emphasis on the integration of the dynamic establishment, setup, and enactment of service relationships that connect the business processes of service provider and consumer businesses, thereby establishing virtual enterprises.Nowadays, many production companies integrate their procurement processes using online marketplaces and network-based supply chain management systems. However, this is not the case for the service industry. Whereas many service organisations have already automated their internal business process management (e.g. using workflow management systems or enterprise resource planning (ERP) systems), service marketplaces still remain an uncommon phenomenon. The reason for this is that the integration of service sales, service enactment, and customer interaction with the service process still appears to be highly difficult. This is particularly the case where complex services, such as insurance and complex logistics, involve considerable customer interaction.
Finding circles by an array of accumulators
Authors: Carolyn Kimme, Dana Ballard, Jack Sklansky
Venue: Communications of the ACM (1975)

We describe an efficient procedure for detecting approximate circles and approximately circular arcs of varying gray levels in an edge-enhanced digitized picture. This procedure is an extension and improvement of the circle-finding concept sketched by Duda and Hart [2] as an extension of the Hough straight-line finder [6].