ppxscal/embedding_network huggingface dataset:
Triangulating simplicial point sets in space
Authors: D Avis, H ElGindy
Venue: Proceedings of the second annual symposium on Computational geometry (1986)

A set P of points in Rd is called simplicial if it has dimension d and contains exactly d + 1 extreme points. We show that when P contains n interior points, there is always one point, called a splitter, that partitions P into d + 1 simplices, none of which contain more than dn /(d + 1) points. A splitter can be found in &Ogr; (d4n) time. Using this result, we give a &Ogr; (d4n log1+1/d n) algorithm for triangulating simplicial point sets that are in general position. In R3 we give an &Ogr; (n logn + k) algorithm for triangulating arbitrary point sets, where k is the number of simplices produced. We exhibit sets of 2n + 1 points in R3 for which the number of simplices produced may vary between (n -1)2 + 1 and 2n -2. We also exhibit point sets for which every triangulation contains a quadratic number of simplices.
GRAP&mdash;a language for typesetting graphs
Authors: Jon L. Bentley, Brian W. Kernighan
Venue: Communications of the ACM (1986)

The authors describe a system that makes it easy and convenient to describe graphs and to include them as an integral part of the document formatting process.
Reflections of high speed signals analyzed as a delay in timing for clocked logic
Authors: R. E. Canright, A. R. Helland
Venue: Proceedings of the 24th ACM/IEEE Design Automation Conference (1987)

This paper develops equations that can extend the performance of high speed digital systems. The equations allow the application of timing analysis to the selection of the minimum series terminating resistor. Use of the minimum terminating resistor minimizes power dissipation and maximizes the drive capability of the terminated device. Detailed examples simplify the adaptation of these new design procedures to computer-aided design (CAD).
Admissible orders and linear forms
Authors: Volker Weispfenning
Venue: ACM SIGSAM Bulletin (1987)

Admissible orders on terms (power-products of finitely many indeterminates X1,..., Xn play a fundamental role in the definition and construction of Groebner bases for polynomial ideals (see [Bul). By passage to exponents, these orders may be construed as linear orders on [EQUATION] compatible with addition and with smallest element [EQUATION] = (0,...,0). Any such order extends uniquely to a linear order lt; on [EQUATION] turning ([EQUATION], +, gt;) into an ordered group such that all elements of [EQUATION] are non-negative, Conversely, any restriction of such an order to [EQUATION] is an admissible order on [EQUATION]. So from now on an "admissible order" will be a linear group order on [EQUATION] with [EQUATION] gt;= 0.
Experiments in Optimizing FP
Authors: Barbara G. Ryder
Venue: IEEE Transactions on Software Engineering (1988)

FPOPT, a globally optimizing compiler for FP, was built to study the efficiency of compiling a functional programming language by translating it into an intermediate language and then optimizing that intermediate language. This paper describes the FPOPT system, the design of the intermediate language and the optimizations performed. We have compared the relative effectiveness of these optimizations, singly and in combinations, using an instrumented version of FPOPT; we report our findings here.
John Reid reports: X3J3 meeting, November 1986
Authors: John Reid
Venue: ACM SIGPLAN Fortran Forum (1987)

This was a very active meeting, with over 150 working documents, most of which were corrections and improvements to the draft standard, S8. The plan is to retypeset it immediately after the meeting (the chairman, vice-chairman, and editor are all staying behind to help) and send it out to members for a postal ballot over the period December 1st to January 5th. Only three members (IBM, DEC and Peritus) opposed holding such a vote. When asked how they anticipated voting in this ballot, two members (IBM and DEC) said 'no' and 5 abstained, so there seems every prospect for the required 2/3 majority. The February meeting will be devoted to considering the reasons for any 'no' votes and any comments that accompany 'yes' votes. Hopefully, we will forward the document to our parent committee, X3, in February. We will also forward it to IS0.
A data distortion by probability distribution
Authors: Chong K. Liew, Uinam J. Choi, Chung J. Liew
Venue: ACM Transactions on Database Systems (TODS) (1985)

This paper introduces data distortion by probability distribution, a probability distortion that involves three steps. The first step is to identify the underlying density function of the original series and to estimate the parameters of this density function. The second step is to generate a series of data from the estimated density function. And the final step is to map and replace the generated series for the original one. Because it is replaced by the distorted data set, probability distortion guards the privacy of an individual belonging to the original data set. At the same time, the probability distorted series provides asymptotically the same statistical properties as those of the original series, since both are under the same distribution. Unlike conventional point distortion, probability distortion is difficult to compromise by repeated queries, and provides a maximum exposure for statistical analysis.
Voice and data performance measurements in L-express net
Authors: F Borgonovo, E Cadorin, L Fratta, M Pezze
Venue: Proceedings of the ACM SIGCOMM conference on Communications architectures protocols (1986)

L-Express is a protocol for Local Area Networks based on a single bus topology. It utilizes a simple and efficient virtual token access scheme which provides ordered and collision-free transmission. This paper presents results of measurements performed to investigate in details the behavior of the L-Express protocol under different network speeds, configurations and traffic environments. The measurements are obtained using a mix of simulation and field tests on a network prototype. Voice and integration of voice and data are also taken into account. The results indicate a good behavior (compared with Ethernet) for small size networks (500 m) and Low data rates (10 Mb/s) as well as for Large size networks (5000 m) and high data rates (100 Mb/s).
Local Area Networks: Software and Related Issues
Authors: S. K. Tripathi, Y. Huang, S. Jajodia
Venue: IEEE Transactions on Software Engineering (1987)

In this paper, we present a review of the issues that affect the software requirements for a local area network. We introduce protocols for the local area networks and characterize their software needs. Two approaches to operating systems are outlined and examples of each approach are presented. Various applications which use local area networks and performance issues are also discussed.
An experience is worth 1K words
Authors: Marjory Baruch
Venue: ACM SIGCSE Bulletin (1986)

An introductory computer science course is presented which uses new techniques appropriate for a liberal arts college. Students learn standard topics by means of a series of guided labs in which they are active participants. The students learn to question, analyse, and construct examples, thereby acquiring the means for further inquiry and understanding. Irrelevant stumbling blocks are minimized in the hope that the positive learning process will be something they continue on their own.
Interconnection Networks Based on a Generalization of Cube-Connected Cycles
Authors: G. E. Carlsson, J. E. Cruthirds, H. B. Sexton, C. G. Wright
Venue: IEEE Transactions on Computers (1985)

A generalization of the cube-connected cycles of Preparata and Vuillemin is described which retains the symmetry of these architectures while allowing for constructions of greater density and of arbitrary degree. These constructions are of a type known as Cayley graphs, and their analysis is greatly facilitated by the applicability of methods from abstract algebra.
Proving liveness for networks of communicating finite state machines
Authors: Mohammed G. Gouda, Chung-Kuo Chang
Venue: ACM Transactions on Programming Languages and Systems (TOPLAS) (1986)

Consider a network of communicating finite state machines that exchange messages over unbounded FIFO channels. Each machine in the network can be defined by a directed graph whose nodes represent the machine states and whose edges represent its transitions. In general, for a node in one of the machines to be live (i.e., encountered infinitely often during the course of communication), each machine in the network should progress in some fair fashion. We define three graduated notions of fair progress (namely, node fairness, edge fairness, and network fairness), and on this basis we define three corresponding degrees of node liveness. We discuss techniques to verify that a given node is live under each of these fairness assumptions. These techniques can be automated; and they are effective even if the network under consideration has an infinite number of reachable states. We use our techniques to establish the liveness of some practical communication protocols; these include an unbounded start-stop protocol, an unbounded alternating bit protocol, and a simplified version of the CSMA/CD protocol for local area networks.
A microcoded RISC
Authors: D. K. DuBose, D. K. Fotakis, D. Tabak
Venue: Proceedings of the 19th annual workshop on Microprogramming (1986)

A new, microcoded, RISC-type system is proposed and presented. The microcode is stored in a 256 x 64 PROM Nanomemory in the CPU. The 8-bit opcode of each instruction is a direct address to the Nanomemory. Each Nanomemory 64-bit word (horizontal microcode) corresponds to a specific machine language instruction. A large 2048 x 32 CPU Register file, using the register window approach, is implemented. A bit-sliced (AMD2900) prototype is currently under construction.
Towards an intelligent and personalized retrieval system
Authors: S H Myaeng, R R Korfhage
Venue: Proceedings of the ACM SIGART international symposium on Methodologies for intelligent systems (1986)

Development of an information retrieval system that can be personalized to each user requires maintaining and continually updating an interest profile for each individual user. Since people tend to be poor at self-description, it is suggested that profile development and maintenance is an area in which machine learning and knowledge based techniques can be profitably employed. This paper presents a model for such an application of AI techniques.
Program transformations in a denotational setting
Authors: Flemming Nielson
Venue: ACM Transactions on Programming Languages and Systems (TOPLAS) (1985)

Program transformations are frequently performed by optimizing compilers, and the correctness of applying them usually depends on data flow information. For language-to-same-language transformations, it is shown how a denotational setting can be useful for validating such program transformations. Strong equivalence is obtained for transformations that exploit information from a class of forward data flow analyses, whereas only weak equivalence is obtained for transformations that exploit information from a class of backward data flow analyses. To obtain strong equivalence, both the original and the transformed program must be data flow analysed, but consideration of a transformation-exploiting liveness of variables indicates that a more satisfactory approach may be possible.
Comparing the Effectiveness of Software Testing Strategies
Authors: Victor R. Basili, Richard W. Selby
Venue: IEEE Transactions on Software Engineering (1987)

This study applies an experimentation methodology to compare three state-of-the-practice software testing techniques: a) code reading by stepwise abstraction, b) functional testing using equivalence partitioning and boundary value analysis, and c) structural testing using 100 percent statement coverage criteria. The study compares the strategies in three aspects of software testing: fault detection effectiveness, fault detection cost, and classes of faults detected. Thirty-two professional programmers and 42 advanced students applied the three techniques to four unit-sized programs in a fractional factorial experimental design. The major results of this study are the following. 1) With the professional programmers, code reading detected more software faults and had a higher fault detection rate than did functional or structural testing, while functional testing detected more faults than did structural testing, but functional and structural testing were not different in fault detection rate. 2) In one advanced student subject group, code reading and functional testing were not different in faults found, but were both superior to structural testing, while in the other advanced student subject group there was no difference among the techniques. 3) With the advanced student subjects, the three techniques were not different in fault detection rate. 4) Number of faults observed, fault detection rate, and total effort in detection depended on the type of software tested. 5) Code reading detected more interface faults than did the other methods. 6) Functional testing detected more control faults than did the other methods.
A proposal for an improved network layer of an LAN
Authors: G Rossi, C Garavaglia
Venue: ACM SIGCOMM Computer Communication Review (1986)

A distributed system is an interconnected network of autonomous processing elements that is characterized by a decentralized control. In the last years, many activities have been addressed to the study and definition of distributed algorithms and languages, in order to design distributed applications and take advantage of the facilities of computer networks.
Systematic Unidirectional Burst Detecting Codes
Authors: Mario Blaum
Venue: IEEE Transactions on Computers (1988)

Families of systematic unidirectional burst-detecting codes are presented. When the number of information bits is large enough, the codes can detect longer bursts than previously known codes. Encoding and decoding procedures are indicated.
YALE: The design of yet another language-based editor
Authors: R J Zavodnik, M D Middleton
Venue: ACM SIGPLAN Notices (1986)

A simple alternative to language-based editors that employ attribute grammars is proposed in the form of a language independent program editor. This system delegates semantic issues to the back end of the compiler in question, yet resolves all lexical and syntactic questions so that lengthy recompilation after an editing session is bypassed. Finally a prettyprinting-like system is outlined that deals with the text formatting problems in a language independent way.
Mathematical software and ACM Publications
Authors: J. R. Rice
Venue: Proceedings of the ACM conference on History of scientific and numeric computation (1987)

Mathematical software started as a scientific activity almost as soon as serious scientific computing. The field was brought into focus at the symposium Mathematical Software held at Purdue University on April 1-3, 1970. The symposium's organizing committee was John Rice (chairman), Robert Ashenhurst, Charles Lawson, Stuart Lynn and Joseph Traub. It was sponsored by ACM and SIGNUM and financially supported by the Office of Naval Research. Mathematical software was defined then as the set of algorithms in the area of mathematics and it was noted that this definition is much broader than traditional numerical analysis. Even today there are large areas of mathematical software which have yet to be studied systematically or seriously (e.g., geometric algorithms). The first chapter of the symposium proceedings, Mathematical Software [Rice, 1971] presents a brief history of the field up to that point. It is noted there that the first mathematical software published was an EDVAC machine language program to convert base 10 integers to binary; it was in Mathematical Tables and Aids to Computations (now called Mathematics of Computation) on pages 427-431 of Volume 3, 1949. Further noted is that the book [Wilkes, Wheeler and Gill, 1951] contains a thorough discussion of the mathematical software (subroutine library) for the EDSAC. The second chapter of Mathematical Software is The Distribution and Sources of Mathematical Software which summarizes the state of the field as of 1970. The recent book, Sources and Development of Mathematical Software [Cowell, 1984] contains as first chapter the essay Observations on the Mathematical Software Effort by W. J. Cody. Many of the other 13 chapters of Cowell's book contain historical remarks about specific mathematical software areas. Chapter 3 of Mathematical Software is The Challenge for Mathematical Software which raises many points still completely unresolved. It concludes with recommendations for the establishment of: A Journal of Mathematical Software A Center or Focal Point for Mathematical Software The implementation of the first recommendation is the focal point of this article, the other recommendation has yet to be carried out. Perhaps mathematical software is now too big for a &ldquo;Center&rdquo; to cover the whole field, but a focal point would still serve a very important scientific function.
Structuring an instruction cache
Authors: Philip l. Good
Venue: ACM SIGARCH Computer Architecture News (1988)

Structuring an instruction cache to take advantage of known patterns of access reduces its complexity and space requirements and enhances its performance. Two changes are necessary: 1) Caching a program's instructions in packets simplifies the cache's address mechanism and reduces the number of accesses per run. 2) Replacing only those packets which are not anticipating a return reduces the number of cache misses. These changes require only minor modifications to existing cache designs, yet yield immediate benefits in reduced cost and increased performance.
A sparse distributed representation using prime numbers
Authors: C. P. Mawata
Venue: Proceedings of the fifth ACM symposium on Symbolic and algebraic computation (1986)

The Fundamental Theorem of Arithmetic (uniqueness of the prime factorisation of positive integers) allows us to represent multivariate polynomials by LISP lists of ordered pairs of numbers. In this representation one can perform all the elementary polynomial arithmetic operations of adding, negating, subtracting and multiplying multivariate polynomials or raising them to non-negative integer powers. The scheme involves the use of an isomorphic image of the ring of polynomials in n variables with rational coefficients. It has the speed and space advantages of Kronecker's trick to transform multivariate polynomials to univariate polynomials. Additional advantages are that the exponents cannot overflow and that the scheme can accommodate terms with negative integer powers.
A block-and-actions generator as an alternative to a simulator for collecting architecture measurements
Authors: M. Huguet, T. Lang, Y. Tamir
Venue: ACM SIGPLAN Notices (1987)

To design a new processor or to modify an existing one, designers need to gather data to estimate the influence of specific architecture features on the performance of the proposed machine (PM). To obtain this data, it is necessary to measure on an existing machine (EM) the dynamic behavior of typical programs. Traditionally, simulators have been used to obtain measurements for PMs. Since several hundred EM instructions are required to decode, interpret, and measure each simulated (PM) instruction, the simulation time of typical programs is prohibitively large. Thus, designers tend to simulate only small programs and the results obtained might not be representative of a real system behavior. In this paper we present an alternative tool for collecting architecture measurements: the Block-and-Actions Generator (BKGEN). BKGEN produces a version of the program being measured which is directly executable by the EM. This executable version is obtained directly with the EM compiler or with the PM compiler and a assembly-to-assembly translator. The choice between these alternatives depends on the EM and PM compiler technology and the type of measurements to be obtained. BKGEN also collects the PM events to be measured (called actions). Each EM block of instructions is associated with a PM block of actions so that when the program is executed, it collects the measurements associated with the PM. The main advantage of BKGEN is that the execution time is substantially reduced compared to the execution time of a simulator while collecting similar data. Thus, large typical programs (compilers, assemblers, word processors, ...) can be used by the designer to obtain meaningful measurements.
`Diagonal' layout methodology
Authors: W.-M. Dai
Venue: ACM SIGDA Newsletter (1988)

In 1988 MCNC International Workshop on Placement and Routing, I am glad to see the workshop includes a section in title "Combined Placement and Global Routing". Although placement and routing are interdependent, due to computational complexity, they have been historically approached separately. From our experience based on the Berkeley Building-Block Layout System (BBL) [Che83], even with very sophisticated placement and routing techniques, the system will not guarantee an appropriate layout if the placement and global routing solutions are mismatched [Dai87d]. In general, without global routing, predicting routability is difficult if not impossible. One alternative is to deliberately overestimate the routing area and try to reclaim the empty space after the routing [Ish85]. Another alternative is to ignore the violations of design rules during the routing and rely on a sophisticated chip spacer to resolve the design rule violations, at the same time, to minimize the chip area [Che88]. Not to mention the complexity and inefficiency of the final chip spacing, the errors due to the mismatch between placement and routing propagate channel by channel (if channel routers are used) or net by net (if area routers used). Another approach is to iterate global routing with placement [Ada82], but it is hard to converge since a new placement may result in a new global routing, and they may represent a new mismatch. In other systems, the only way to modify the placement during routing is adjusting two blocks relatively when routing the channel in between [Lau85] [Cai85]. This implies that the topology of placement must keep the same with the only exception as shown in Fig. 1.
Interpreting ABF&mdash;a language for document construction
Authors: H. Harr, M. W. Evens, J. Sprowl
Venue: Papers of the Symposium on Interpreters and interpretive techniques (1987)

This paper describes an interpreter for ABF, a language for constructing legal documents. The ABF language defines both commands to develop documents and commands to manipulate those documents. The language has typical programming constructs for sequence, selection, and repetition but also allows the user other capabilities to aid in document construction; the user can modify the program while it is running (change the document while it is being processed), type the variables during the initial processing of a document, and then change the type during later processing, enter commands that require a change of context during the processing of a document, output a document with variables still undefined. A document is constructed using conditional and repeat statements and incorporation of other documents by reference. Data types include documents, strings, numbers, dollar amounts and logical values. Arrays can be formed for all types except documents. There are three forms of subprograms: documents can be incorporated by reference in other documents at any point at which a variable name is permitted; rules (subprocedures) for computing values can be attached to any variable; and alternate questions can be attached to variables in a similar manner. The ABF system queries the user for any values needed to complete a document; questions are generated from variable names.