ppxscal/embedding_network huggingface dataset:
An optimal online algorithm for metrical task systems
Authors: A. Borodin, N. Linial, M. Saks
Venue: Proceedings of the nineteenth annual ACM symposium on Theory of computing (1987)

In practice, almost all dynamic systems require decisions to be made online, without full knowledge of their future impact on the system. We introduce a general model for the processing of sequences of tasks and develop a general online decision algorithm. We show that, for an important class of special cases, this algorithm is optimal among all online algorithms. Specifically, a task system (S, d) for processing sequences of tasks consists of a set S of states and a cost matrix d where d(i, j) is the cost of changing from state i to state j (we assume that d satisfies the triangle inequality and all diagonal entries are O.) The cost of processing a given task depends on the state of the system. A schedule for a sequence T1, T2 &hellip; Tk of tasks is a sequence s1, s2 &hellip; sk of states where si is the state in which Ti is processed; the cost of a schedule is the sum of all task processing costs and state transition costs incurred. An online scheduling algorithm is one that chooses si only knowing T1 T2 &hellip; Ti. Such an algorithm operates within waste factor w if, on any input task sequence, its costs is within an additive constant of w times the optimal offline schedule cost. The online waste factor w(S, d) is the infirm waste factor of any online scheduling algorithm for (S, d). We show that w(S, d) = 2|S| - 1 for every task system in which d symmetric, and w(S, d) = &Ogr;(|S|2) for every task system.
A program development system for the casual programmer
Authors: Jeff Parker
Venue: Proceedings of the twenty-first annual conference on Computer personnel research (1985)

This paper presents a program development system that enables casual, non-professional programmers to be literate in programming. The system combines the features of several existing tools into one unifying environment, enabling the production of programs to be constructed in one pass. This eliminates the design-code-edit-compile-run cycles and their resulting environment changes.
Schematic pseudocode for program constructs and its computer automation by SCHEMACODE
Authors: Pierre N. Robillard
Venue: Communications of the ACM (1986)

To achieve program control flow representation that is relatively independent of any given programming language, schematic pseudocode (SPC) uses a perceptual notation system composed of schemata whose syntax rules are described by a grammar. Source code documentation is supported by operational comments, and translation into a target procedural language is fully automatic.
Implementation of an APL&mdash;based spreadsheet manager
Authors: Tom Puckett
Venue: ACM SIGAPL APL Quote Quad (1987)

This paper describes the implementation of the STSC Spreadsheet Manager for users of STSC's APL*PLUS&reg; PC System. The discussion is primarily from the standpoint of the product's internal workings. Important aspects are selection and interfacing of the languages to be used in the implementation (APL, C, and assembler), compatibility with Lotus&reg; data structures, mappings between data in the APL and Lotus environments, manipulation of data in a spreadsheet context, and separation of function between APL and C environments.
RECAL&mdash;a new efficient algorithm for the exact analysis of multiple-chain closed queuing networks
Authors: A. E. Conway, N. D. Georganas
Venue: Journal of the ACM (JACM) (1986)

RECAL, a Recursion by Chain Algorithm for computing the mean performance measures of product-form multiple-chain closed queuing networks, is presented. It is based on a new recursive expression that relates the normalization constant of a network with r closed routing chains to those of a set of networks having (r - 1) chains. It relies on the artifice of breaking down each chain into constituent subchains that each have a population of one. The time and space requirements of the algorithm are shown to be polynomial in the number of chains. When the network contains many routing chains, the proposed algorithm is substantially more efficient than the convolution or mean value analysis algorithms. The algorithm, therefore, extends the range of queuing networks that can be analyzed efficiently by exact means.
Determining path feasibility for commercial programs
Authors: P. David Coward
Venue: ACM SIGPLAN Notices (1988)

Paths are often used as a basis for the testing of programs. The identification of feasible and infeasible paths is central to a path-based approach to testing. Linear optimizers have been used for determining path feasibility by using the path predicates as constraints of an optimization problem. Commercial programs have been identified as amenable to the linear optimizer approach but the occurrence of alphanumeric literals poses a problem as they cannot be submitted to a numerical optimizer. It is suggested that this problem can be surmounted easily. Two approaches are briefly described. The first substitutes numeric tokens for alphanumeric literals. The second segregates the alphanumeric predicates from the numeric predicates and deals with them independently. The first approach appears to be a practical solution while the second appears to be less useful.
Abstract pecification of Synchronous Data Types for VLSI and Proving the Correctness of Systolic Network Implementations
Authors: David K. Probst, Hon F. Li
Venue: IEEE Transactions on Computers (1988)

A combined methodology is presented for specifying abstract synchronous data types and proving the correctness of systolic network implementations. It is shown that an extension of the Parnas trace method of specifying software modules containing distinct access programs yields a natural method of specifying abstract synchronous data types that possess distinct access operators and are intended for implementation in VLSI. Associated systematic proof techniques are presented, and the correctness of several novel systolic network implementations of familiar data types is established. The methodology appears to be naturally suited to systolic network implementations with their associated rippling of control flow and data flow. The important distinction between systolic control-flow networks and systolic data-flow networks is presented.
A Linear time algorithm for computing the Voronoi diagram of a convex polygon
Authors: A. Aggarwal, L. Guibas, J. Saxe, P. Shor
Venue: Proceedings of the nineteenth annual ACM symposium on Theory of computing (1987)

We present an algorithm for computing certain kinds of three-dimensional convex hulls in linear time. Using this algorithm, we show that the Voronoi diagram of n points in the plane can be computed in &THgr;(n) time when these points form the vertices of a convex polygon in, say, counterclockwise order. This settles an outstanding open problem in computational geometry. Our techniques can also be used to obtain linear time algorithms for computing the farthest-point Voronoi diagram and the medial axis of a convex polygon and for deleting a vertex from a general planar Voronoi diagram.
Modeling the software architecture of a prototype parallel machine
Authors: M. Ajmone Marsan, G. Balbo, G. Chiola, G. Conte
Venue: ACM SIGMETRICS Performance Evaluation Review (1987)

A high-level Petri net model of the software architecture of an experimental MIMD multiprocessor system for Artificial Intelligence applications is derived by direct translation of the code corresponding to the assumed workload. Hardware architectural constraints are then easily added, and formal reduction rules are used to simplify the model, which is then further approximated to obtain a performance model of the system based on generalized stochastic Petri nets. From the latter model it is possible to estimate the optimal multiprogramming level of each processor so as to achieve the maximum performance in terms of overall throughput (number of tasks completed per unit time).
On driving many long wires in a VLSI layout
Authors: Vijaya Ramachandran
Venue: Journal of the ACM (JACM) (1986)

It is assumed that long wires represent large capacitive loads, and the effect on the area of a VLSI layout when drivers are introduced along many long wires in the layout is investigated. A layout is presented for which the introduction of standard drivers along long wires squares the area of the layout; it is shown, however, that the increase in area is never greater than the layout's area squared if the driver can be laid out in a square region. This paper also shows an area-time trade-off for the driver of a single long wire of length / by which the area of the driver from &THgr;(l), to &THgr;(lq), q < l, can be reduced if a delay of &THgr;(ll-q) rather than &THgr;(log l) can be tolerated. Tight bounds are also obtained on the worst-case area increase in general layouts having these drivers.
User-oriented criteria for the selection of DSS software
Authors: Bernard C. Reimann, Allan D. Waren
Venue: Communications of the ACM (1985)

Both the composition of the selection team and the choice of evaluation criteria should reflect the end-user orientation of DSS software.
Programming languages for computer music synthesis, performance, and composition
Authors: Gareth Loy, Curtis Abbott
Venue: ACM Computing Surveys (CSUR) (1985)

The development of formal, descriptive, and procedural notations has become a practical concern within the field of music now that computers are being applied to musical tasks. Music combines the real-time demands of performance with the intellectual demands of highly developed symbolic systems that are quite different from natural language. The richness and variety of these demands makes the programming language paradigm a natural one in the musical application of computers. This paradigm provides musicians with a fresh perspective on their work. At the same time, music is a very advanced form of human endeavor, making computer music applications a worthy challenge for computer scientists. In this paper we outline the traditional tasks and forms of representation in music, then proceed with a survey of languages that deal with music programming.
The Manchester prototype dataflow computer
Authors: J. R Gurd, C. C Kirkham, I. Watson
Venue: Communications of the ACM (1985)

The Manchester project has developed a powerful dataflow processor based on dynamic tagging. This processor is large enough to tackle realistic applications and exhibits impressive speedup for programs with sufficient parallelism.
The vulnerability of vote assignments
Authors: Daniel Barbara, Hector Garcia-Molina
Venue: ACM Transactions on Computer Systems (TOCS) (1986)

In a faulty distributed system, voting is commonly used to achieve mutual exclusion among groups of nodes. Each node is assigned a number of votes, and any group with a majority of votes can perform the critical operations. Vote assignments can have a significant impact on system reliability, and in this paper we study the vote assignment problem. To compare vote assignments we define two deterministic measures, node and edge vulnerability. We present various properties of these measures and discuss how they can be computed. For these measures we discuss the selection of the best assignment and propose heuristics to identify good candidate assignments.
Making hard constraints soft
Authors: Fred T Krogh
Venue: ACM SIGNUM Newsletter (1987)

Search algorithms solve a problem by evaluating a user defined function at a sequence of points that tend to converge to the desired solution. If the function contains an expression such as (cos x - ey sin z)1/2 which can not be evaluated at some points, the search algorithm may fail at some intermediate point. Faced with such a problem one is inclined to think of using an algorithm that allows one to impose constraints. (For this example, cos x - ey sin z ge; 0.) But unlike most constraints that are imposed, we need to impose the condition that no attempt be made to evaluate the function (or perhaps another constraint) when the constraint is not satisfied. I call such a constraint a "hard" constraint.2
A modular system of algorithms for unconstrained minimization
Authors: Robert B. Schnabel, John E. Koonatz, Barry E. Weiss
Venue: ACM Transactions on Mathematical Software (TOMS) (1985)

We describe a new package, UNCMIN, for finding a local minimizer of a real valued function of more than one variable. The novel feature of UNCMIN is that it is a modular system of algorithms, containing three different step selection strategies (line search, dogleg, and optimal step) that may be combined with either analytic or finite difference gradient evaluation and with either analytic, finite difference, or BFGS Hessian approximation. We present the results of a comparison of the three step selection strategies on the problems in More, Garbow, and Hillstrom in two separate cases: using finite difference gradients and Hessians, and using finite difference gradients with BFGS Hessian approximations. We also describe a second package, REVMIN, that uses optimization algorithms identical to UNCMIN but obtains values of user-supplied functions by reverse communication.
Knowledge based approach for the verification of CAD database generated by an automated schematic capture system
Authors: J. Y. Tou, W. H. Ki, K. C. Fan, C. L. Huang
Venue: Proceedings of the 24th ACM/IEEE Design Automation Conference (1987)

CAD database generated by an automatic schematic capture system needs to be verified before it can be used in design automation. This verification is best performed by a knowledge-based expert system. Presented in this paper is the design of a knowledge-based system for the verification of CAD database generated by AUTORED. Database-driven, pattern-directed inference technique is employed to identify and correct erroneous data records due to misrecognition. This knowledge-based verification system has been implemented on a VAX 11/750 equipped with a video camera to read circuit diagrams into the computer. Integration of this verification system into AUTORED makes the automatically generated database accurate for design automation applications.
A framework for choosing a database query language
Authors: Matthias Jarke, Yannis Vassiliou
Venue: ACM Computing Surveys (CSUR) (1985)

This paper presents a systematic approach to matching categories of query language interfaces with the requirements of certain user types. The method is based on a trend model of query language development on the dimensions of functional capabilities and usability. From the trend model the following are derived: a classification scheme for query languages, a criterion hierarchy for query language evaluation, a comprehensive classification scheme of query language users and their requirements, and preliminary recommendations for allocating language classes to user types. The method integrates the results of existing human factors studies and provides a structured framework for future research in this area. Current and expected developments are exemplified by the description of "new generation" database query languages. In a practical query language selection problem, the results of this paper can be used for preselecting suitable query language types; the final selection decision will also depend on organization-specific factors, such as the available database management system, hardware and software strategies, and financial system costs.
Soundness of Hoare's logic: an automated proof using LCF
Authors: Stefan Sokolowski
Venue: ACM Transactions on Programming Languages and Systems (TOPLAS) (1987)

This paper presents a natural deduction proof of Hoare's logic carried out by the Edinburgh LCF theorem prover. The emphasis is on the way Hoare's theory is presented to the LCF, which looks very much like an exposition of syntax and semantics to human readers; and on the programmable heuristics (tactics). We also discuss some problems and possible improvements to the LCF.
Fuzzy knowledge engineering techniques in scientific document classification
Authors: R Lopez de Mantaras, J Agusti, U Cortes, E Plaza
Venue: Proceedings of the ACM SIGART international symposium on Methodologies for intelligent systems (1986)

The construction of data bases containing information concerning scientific libraries requires cooperation between experts of different scientific domains. These experts are the source of knowledge that help the librarian in the process of characterizing the documents by means of relevant features, relating them using a thesaurus and generating useful and informative classifications of the documents to facilitate its retrieval. In this work, we describe an implementation based on a knowledge acquisition process that uses a knowledge engineering methodology: Our system helps the expert in a domain, to elicitate the concepts that he uses and to characterize the documents of the domain. The system also helps the librarian in the design of the thesaurus and the classifications.
Caching Hints in Distributed Systems
Authors: Douglas B. Terry
Venue: IEEE Transactions on Software Engineering (1987)

Caching reduces the average cost of retrieving data by amortizing the lookup cost over several references to the data. Problems with maintaining strong cache consistency in a distributed system can be avoided by treating cached information as hints. A new approach to managing caches of hints suggests maintaining a minimum level of cache accuracy, rather than maximizing the cache hit ratio, in order to guarantee performance improvements. The desired accuracy is based on the ratio of lookup costs to the costs of detecting and recovering from invalid cache entries. Cache entries are aged so that they get purged when their estimated accuracy falls below the desired level. The age thresholds are dictated solely by clients' accuracy requirements instead of being suggested by data storage servers or system administrators.
Checkpoint&mdash;Restart for APL applications
Authors: Otway O. Pardee
Venue: ACM SIGAPL APL Quote Quad (1986)

The crash proofing of APL programs is relatively simple in an APL system having a file sub-system. The method is the classical Check Point and Restart to which has been added Completion Codes. It can be used for single user programs or multiple user interactive programs with critical sections. It assures recovery for such external generated failures as CPU, terminal, telephone line drop, or network crashes. The method can be used on already written programs by simple insertion in the existent code. It is particularly useful in application programs where the users are laymen.
Evaluating Software Engineering Technologies
Authors: D. N. Card, F. E. McGarry, G. T. Page
Venue: IEEE Transactions on Software Engineering (1987)

Many new software development practices, tools, and techniques have been introduced in recent years. Few, however, have been empirically evaluated. The objectives of this study were to measure technology use in a production environment, develop a statistical model for evaluating the effectiveness of technologies, and evaluate the effects of some specific technologies on productivity and reliability. A carefully matched sample of 22 projects from the Software Engineering Laboratory database was studied using an analysis-of-covariance procedure. Limited use of the technologies considered in the analysis produced approximately a 30 percent increase in software reliability. These technologies did not demonstrate any direct effect on development productivity.
Modeling the Effect of Redundancy on Yield and Performance of VLSI Systems
Authors: Israel Koren, Dhiraj K. Pradhan
Venue: IEEE Transactions on Computers (1987)

The incorporation of different forms of redundancy has been recently proposed for various VLSI and WSI designs. These include regular architectures, built by interconnecting a large number of a few types of system elements on a single chip or wafer. The motivation for introducing fault-tolerance (redundancy) into these architectures is two-fold: yield enhancement and performance (like computational availability) improvement.
Parallel symmetry-breaking in sparse graphs
Authors: A. Goldberg, S. Plotkin, G. Shannon
Venue: Proceedings of the nineteenth annual ACM symposium on Theory of computing (1987)

We describe efficient deterministic techniques for breaking symmetry in parallel. The techniques work well on rooted trees and graphs of constant degree or genus. Our primary technique allows us to 3-color a rooted tree in &Ogr;(lg*n) time on an EREW PRAM using a linear number of processors. We apply these techniques to construct fast linear processor algorithms for several problems, including (&Dgr; + 1)-coloring constant-degree graphs, 5-coloring planar graphs, and finding depth-first-search trees in planar graphs. We also prove lower bounds for 2-coloring directed lists and for finding maximal independent sets in arbitrary graphs.
Genericity versus inheritance
Authors: Bertrand Meyer
Venue: ACM SIGPLAN Notices (1986)

Genericity, as in Ada or ML, and inheritance, as in object-oriented languages, are two alternative techniques for ensuring better extendibility, reusability and compatibility of software components. This article is a comparative analysis of these two methods. It studies their similarities and differences and assesses to what extent each may be simulated in a language offering only the other. It shows what features are needed to successfully combine the two approaches in a statically typed language and presents the main features of the programming language Eiffel, whose design, resulting in part from this study, includes multiple inheritance and limited form of genericity under full static typing.
A comparative analysis of methodologies for database schema integration
Authors: C. Batini, M. Lenzerini, S. B. Navathe
Venue: ACM Computing Surveys (CSUR) (1986)

One of the fundamental principles of the database approach is that a database allows a nonredundant, unified representation of all data managed in an organization. This is achieved only when methodologies are available to support integration across organizational and application boundaries. Methodologies for database design usually perform the design activity by separately producing several schemas, representing parts of the application, which are subsequently merged. Database schema integration is the activity of integrating the schemas of existing or proposed databases into a global, unified schema. The aim of the paper is to provide first a unifying framework for the problem of schema integration, then a comparative review of the work done thus far in this area. Such a framework, with the associated analysis of the existing approaches, provides a basis for identifying strengths and weaknesses of individual methodologies, as well as general guidelines for future improvements and extensions.
Visual simulation
Authors: Robert E. Clapp
Venue: Proceedings of the 20th annual symposium on Simulation (1987)

Vision is the primary sense for derivation of real world data, providing the bulk of our knowledge (>90%) of our environment. Incorporation of visual displays into simulation systems is consequently of extreme importance, particularly in those simulations involving man-in-the-loop interactive systems (flight training, driver training, etc.). Presentation of effective visual displays have been driven by state of the art technology, and, despite massive efforts, has been hampered by a failure to consider the visual parameters of an observer and the mental processes involved in the perception of visual scenes.This paper provides a discussion of the visual parameters of the individual as well as of simulation systems and summarizes the current visual system display efforts.