ppxscal/embedding_network huggingface dataset:
Incremental re-execution of programs
Authors: R. R. Karinthi, M. Weiser
Venue: Papers of the Symposium on Interpreters and interpretive techniques (1987)

Interpreters replace the edit/compile/run cyle with edit/run. Dynamic computing environments, like spreadsheets, shorten this still more to just edit. So-called "Visiprog" environments, such as Maryland's XED, permit developing normal imperative programs in a dynamic computing environment, XED and similar environments, because they show the results of executing a program after every (reasonable) editing step, raise the issue of efficient incremental execution. Incremental execution optimizations are also applicable to any programming situation, including batch/cards, in which nearly the same program is run many times on nearly the same data. However, the requirement of remembering large amounts of internal state between runs make incremental exectution most natural for interpreted languages. This paper examines some algorithms for incremental execution. Based on the frequency of typical program editing changes, we predict the importance of optimizing certain kinds of incremental execution. We also examine actual speedups obtained in executing programs after subjecting them to these simulated incremental edits under these optimizations. The speedups range from factors of 1.1 to near 10. Finally, we discuss the feasibility of including these optimizations in an actual dynamic computing environment like XED, and in more traditional programming environments.
Performance studies of a parallel Prolog architecture
Authors: B. S. Fagin, A. M. Despain
Venue: Proceedings of the 14th annual international symposium on Computer architecture (1987)

This paper presents a new multiprocessor architecture for the parallel execution of logic programs, developed as part of the Aquarius Project. This architecture is designed to support AND-parallelism, OR-parallelism, and intelligent backtracking. We present the most comprehensive experimental results available to date on combined AND-parallelism, OR-parallelism, and intelligent backtracking in Prolog programs. Simulation results indicate that most Prolog programs in use today cannot effectively make use of multiprocessing.
Computer-music interfaces: a survey
Authors: Bruce W. Pennycook
Venue: ACM Computing Surveys (CSUR) (1985)

This paper is a study of the unique problems posed by the use of computers by composers and performers of music. The paper begins with a presentation of the basic concepts involved in the musical interaction with computer devices, followed by a detailed discussion of three musical tasks: music manuscript preparation, music language interfaces for composition, and real-time performance interaction. Fundamental design principles are exposed through an examination of several early computer music systems, especially the Structured Sound Synthesis Project. A survey of numerous systems, based on the following categories, is presented: compositions and synthesis languages, graphics score editing, performance instruments, digital audio processing tools, and computer-aided instruction in music systems. An extensive reference list is provided for further study in the field.
Measurement and evaluation of the MIPS architecture and processor
Authors: Thomas R. Gross, John L. Hennessy, Steven A. Przybylski, Christopher Rowen
Venue: ACM Transactions on Computer Systems (TOCS) (1988)

MIPS is a 32-bit processor architecture that has been implemented as an nMOS VLSI chip. The instruction set architecture is RISC-based. Close coupling with compilers and efficient use of the instruction set by compiled programs were goals of the architecture. The MIPS architecture requires that the software implement some constraints in the design that are normally considered part of the hardware implementation. This paper presents experimental results on the effectiveness of this processor as a program host. Using sets of large and small benchmarks, the instruction and operand usage patterns are examined both for optimized and unoptimized code. Several of the architectural and organizational innovations in MIPS, including software pipeline scheduling, multiple-operation instructions, and word-based addressing, are examined in light of this data.
An algorithm for generating quantifier scopings
Authors: Jerry R. Hobbs, Stuart M. Shieber
Venue: Computational Linguistics (1987)

The syntactic structure of a sentence often manifests quite clearly the predicate-argument structure and relations of grammatical subordination. But scope dependencies are not so transparent. As a result, many systems for representing the semantics of sentences have ignored scoping or generated scopings with mechanisms that have often been inexplicit as to the range of scopings they choose among or profligate in the scopings they allow.This paper presents, along with proofs of some of its important properties, an algorithm that generates scoped semantic forms from unscoped expressions encoding predicate-argument structure. The algorithm is not profligate as are those based on permutation of quantifiers, and it can provide a solid foundation for computational solutions where completeness is sacrificed for efficiency and heuristic efficacy.
Opus: A Smalltalk production system
Authors: Jane Laursen, Robert Atkinson
Venue: ACM SIGPLAN Notices (1987)

Opus is a tool for rule-based programming which integrates a production system paradigm with the Smalltalk-80 environment. Opus currently provides a data-driven production system that allows the programmer considerable freedom, including access to the full functionality of the Smalltalk-80 language, and the ability to match rules with arbitrary objects in the environment. We present the goals for the design, a description of the system and its implementation, and discuss issues raised by this approach.
Towards universality of access: interfacing physically disabled students to the Icon educational microcomputer
Authors: Gerbrand Verburg, Debbie Field, Francois St. Pierre, Stephen Naumann
Venue: ACM SIGCHI Bulletin (1986)

A micro-processor based Interface Unit and Teacher Utility have been developed at the Hugh MacMillan Medical Centre that will facilitate physically disabled users' access to the Icon educational microcomputer. The Interface Unit allows a variety of alternate input devices to be used with the Icon computer. Evaluations of the use of the Icon by physically disabled students without and with the Interface Unit were completed. The Teacher Utility offers on-line instruction and support for teachers with physically disabled students who have problems accessing the Icon. The design of the Teacher Utility is presented from three perspectives: the teacher, the physically disabled student, and the developers.
Stalking the wily hacker
Authors: Clifford Stoll
Venue: Communications of the ACM (1988)

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?
Tier automation representation of communication protocols
Authors: Z Bavel, J Grzymala-Busse, Y Hsia, R Mancisidor-Landa
Venue: Proceedings of the ACM SIGCOMM conference on Communications architectures protocols (1986)

The tier automation is presented as a model for communication protocols. Several advantages of the model are cited, among which are universality of representation and manipulability. A scheme for using the tier automation to model specific distributed architectures and their protocols is described. The scheme is then used on a sample protocol and a transmission session with the sample protocol as exhibited.
Fault-Tolerant FFT Networks
Authors: Jing-Yang Jou, Jacob A. Abraham
Venue: IEEE Transactions on Computers (1988)

Two concurrent error detection (CED) schemes are proposed for N-point fast Fourier transform (FFT) networks that consists of log/sub 2/N stages with N/2 two-point butterfly modules for each stage. The method assumes that failures are confined to a single complex multiplier or adder or to one input or output set of lines. Such a fault model covers a broad class of faults. It is shown that only a small overhead ratio, O(2/log/sub 2/N) of hardware, is required for the networks to obtain fault-secure results in the first scheme. A novel data retry technique is used to locate the faulty modules. Large roundoff errors can be detected and treated in the same manner as functional errors. The retry technique can also distinguish between the roundoff errors and functional errors that are caused by some physical failures. In the second scheme, a time-redundancy method is used to achieve both error detection and location. It is sown that only negligible hardware overhead is required. However, the throughput is reduced to half that of the original system, without both error detection and location, because of the nature of time-redundancy methods.
Performance of various computers using standard linear equations software in a FORTRAN environment
Authors: Jack J. Dongarra
Venue: ACM SIGARCH Computer Architecture News (1988)

This note compares the performance of different computer systems while solving dense systems of linear equations using the LINPACK software in a Fortran environment. About 100 computers, ranging from a CRAY X-MP to the 68000 based systems such as the Apollo and SUN Workstations to IBM PC's, are compared.
Dynamic hash tables
Authors: Per-Ake Larson
Venue: Communications of the ACM (1988)

Linear hashing and spiral storage are two dynamic hashing schemes originally designed for external files. This paper shows how to adapt these two methods for hash tables stored in main memory. The necessary data structures and algorithms are described, the expected performance is analyzed mathematically, and actual execution times are obtained and compared with alternative techniques. Linear hashing is found to be both faster and easier to implement than spiral storage. Two alternative techniques are considered: a simple unbalanced binary tree and double hashing with periodic rehashing into a larger table. The retrieval time of linear hashing is similar to double hashing and substantially faster than a binary tree, except for very small trees. The loading times of double hashing (with periodic reorganization), a binary tree, and linear hashing are similar. Overall, linear hashing is a simple and efficient technique for applications where the cardinality of the key set is not known in advance.
An Extension of "Representative Instances and γ-Acyclic Relational Schemes"
Authors: Sushil Jajodia
Venue: IEEE Transactions on Software Engineering (1987)

Let R be a &gamma;-acyclic relational scheme, and let F be the set of functional dependencies (FD's) embodied in R. Given an existence constrained database r over R, it was shown in [1] that it is possible to connect tuples from different relations in r and construct a universal instance L, possibly containing null values &delta;, such that the total projection of L onto R yields exactly the set r. Moreover, conditions were given which guarantee that this L would satisfy the functional dependency with nulls (NFD) counterparts of FD's, in F. The purpose of this note is to generalize the latter result and show that under the same conditions, L actually satisfies NFD counterparts of FD's in the closure F+ of F.
Exact solution of general integer systems of linear equations
Authors: Jörn Springer
Venue: ACM Transactions on Mathematical Software (TOMS) (1986)

Methods are known for the exact computation of the solution of integer systems of linear equations AX = B with a nonsingular coefficient matrix A by congruence techniques. These methods are now generalized for systems with an arbitrary integer coefficient matrix A. To make congruence techniques applicable, a common denominator of all elements of the solution X = A+B must be computed. This is achieved by defining the natural denominator CODE of A+ and describing it by some formulas. Methods for the exact computation of additional results (consistency, null space, solution of at most R nonzero elements), a recursive test to save computing time, and a comparison with some results from the literature are presented.
Admissible term orderings used in computer algebra systems
Authors: Heinz Kredel
Venue: ACM SIGSAM Bulletin (1988)

Recently a discusion on correctness of Gr ouml;bner bases computation arised with H. M. M ouml;ller. We found that almost any implementation of Buchberger's algorithm to compute Gr ouml;bner bases defines and uses its own ordering of power products. We summarize the definitions of the most important ones, and include 4 examples to illustrate the differencies.
Synthesis of an Optimal Family of Matrix Multiplication Algorithms on Linear Arrays
Authors: P J Varman, I V Ramakrishnan
Venue: IEEE Transactions on Computers (1986)

Synthesis of a family of matrix multiplication algorithms on a linear array is described. All these algorithms are optimal in their area and time requirements. An important feature of the family of algorithms is that they are modularly extensible, that is, larger problem sizes can be handled by cascading smaller arrays consisting of processors having a fixed amount of local storage. These algorithms exhibit a tradeoff between the number of processors required and the local storage within a processor. In particular, as the local storage increases the number of processors required to multiply the two matrices decrease.
A directory of sources for interactive technologies
Authors: William Buxton
Venue: ACM SIGCHI Bulletin (1986)

The quality of human-computer dialogues is greatly affected by the transducers used. When we consider input, there is a broad range of technologies available to the designer. However, most of us have experience with only a small number of these devices. With such limited experience, how can we begin to make the best choices in our designs?
The sociology of microprogramming
Authors: W. J. Tracz, R. Belgard
Venue: Proceedings of the 19th annual workshop on Microprogramming (1986)

Microprogramming is an implementation technique. As computer complexity has risen, it has gained increased importance and wider application. As we proceed through the 80's, we are witness to more specialization and divergence between hardware and software. Hardware trends toward VLSI introduce new tradeoffs that are to be evaluated by design engineers. Concurrency and complex security mechanisms in operating systems and databases have extended the software development discipline to new limits. Each of these examples illustrate the trend toward a larger gap between hardware and software. The purpose of this paper is first, to re-examine the role that microprogramming or firmware engineering plays in the design and implementation of computer systems and, second, to analyze its ability to bridge the gap between hardware and software as perceived and affected by various corporate cultures.
A muscle model for animation three-dimensional facial expression
Authors: Keith Waters
Venue: Proceedings of the 14th annual conference on Computer graphics and interactive techniques (1987)

The development of a parameterized facial muscle process, that incorporates the use of a model to create realistic facial animation is described.Existing methods of facial parameterization have the inherent problem of hard-wiring performable actions. The development of a muscle process that is controllable by a limited number of parameters and is non-specific to facial topology allows a richer vocabulary and a more general approach to the modelling of the primary facial expressions.A brief discussion of facial structure is given, from which a method for a simple modelling of a muscle process that is suitable for the animation of a number of divergent facial types is described.
A survey of process migration mechanisms
Authors: Jonathan M. Smith
Venue: ACM SIGOPS Operating Systems Review (1988)

We define process migration as the transfer of a sufficient amount of a process's state from one machine to another for the process to execute on the target machine.This paper surveys proposed and implemented mechanisms for process migration. We pay particular attention to the designer's goals, such as performance, load-balancing, and reliability. The effect of operating system design upon the ease of implementation is discussed in some detail; we conclude that message-passing systems simplify designs for migration.
Design and Implementation of Secure Xenix
Authors: Virgil D. Gligor, C. S. Chandersekaran, Robert S. Chapman, Leslie J. Dotterer, Matthew S. Hecht, Wen-Der Jiang, Abhai Johri, Gary L. Luckenbaugh, N. Vasudevan
Venue: IEEE Transactions on Software Engineering (1987)

Secure Xenix is an experimental system designed to run on IBM PC/AT workstations. Like Xenix, it is a Unix System V implementation on the PC/AT workstation; unlike Xenix, it eliminates the Unix security deficiencies and it enhances security policies. In this paper, we present the design features of Secure Xenix, their integration within Xenix, and some of the lessons learned from this experiment to date.
A recovery algorithm for a high-performance memory-resident database system
Authors: Tobin J. Lehman, Michael J. Carey
Venue: ACM SIGMOD Record (1987)

With memory prices dropping and memory sizes increasing accordingly, a number of researchers are addressing the problem of designing high-performance database systems for managing memory-resident data. In this paper we address the recovery problem in the context of such a system. We argue that existing database recovery schemes fall short of meeting the requirements of such a system, and we present a new recovery mechanism which is designed to overcome their shortcomings. The proposed mechanism takes advantage of a few megabytes of reliable memory in order to organize recovery information on a per &ldquo;object&rdquo; basis. As a result, it is able to amortize the cost of checkpoints over a controllable number of updates, and it is also able to separate post-crash recovery into two phases&mdash;high-speed recovery of data which is needed immediately by transactions, and background recovery of the remaining portions of the database. A simple performance analysis is undertaken, and the results suggest our mechanism should perform well in a high-performance, memory-resident database environment.
Function search from behavioral description of a digital system
Authors: J.-G. Wu, W. P.-C. Ho, Y. H. Hu, D. Y. Y. Yun, H. J. Yu
Venue: Proceedings of the 24th ACM/IEEE Design Automation Conference (1987)

We present a novel approach for automating the functional design of digital systems. Given a set of behavioral specifications, the objective is to produce an optimal functional design which minimizes certain design criteria. One distinct feature of this approach is adding the step of function minimization. That is, the abstraction of the primitive operations into a set of functions that generates the desired behavior attempts to minimize the cost of that set according to the design criteria. For this purpose, it is important to have a powerful search strategy which will lead to a near-optimal solution in a reasonable time. We have adopted best-first search (A* algorithm) as the general framework, and developed several domain-specific heuristic functions (h') which control the search process. Preliminary experimental results are reported.
PCOL - A protocol-constrained object language
Authors: Jan van der Bos
Venue: ACM SIGPLAN Notices (1987)

Object languages present a flexible tool for programming. They facilitate the encapsulation of datastructures and procedures. Objects also offer a natural construct for parallel programming. Each object could run as a separate process on its own processor. The weak point of object languages is the communication between objects. The burden is on the programmer to carefully use the communication facilities in order to prevent undisciplined and often erroneous specifications. PCOL, is an object language in which the communication may optionally be subjected to a protocol. If present, this protocol takes the form of a specification of occurrence and sequencing of the interaction between the object and its communication partners. The use of protocols in object communication leads to safer and potentially verifiable information exchange between objects.
An Ada package for dimensional analysis
Authors: Paul N. Hilfinger
Venue: ACM Transactions on Programming Languages and Systems (TOPLAS) (1988)

This paper illustrates the use of Ada's abstraction facilities&mdash;notably, operator overloading and type parameterization&mdash;to define an oft-requested feature: a way to attribute units of measure to variables and values. The definition given allows the programmer to specify units of measure for variables, constants, and parameters; checks uses of these entities for dimensional consistency; allows arithmetic between them, where legal; and provides scale conversions between commensurate units. It is not constrained to a particular system of measurement (such as the metric or English systems). Although the definition is in standard Ada and requires nothing special of the compiler, certain reasonable design choices in the compiler, discussed here at some length, can make its implementation particularly efficient.
Performance analysis of file replication schemes in distributed systems
Authors: Zuwang Ruan, Walter F. Tichy
Venue: Proceedings of the 1987 ACM SIGMETRICS conference on Measurement and modeling of computer systems (1987)

In distributed systems the efficiency of the network file system is a key performance issue. Replication of files and directories can enhance file system efficiency, but the choice of replication techniques is crucial. This paper studies a number of replication techniques, including remote access, prereplication, weighted voting, and two demand replication schemes: polling and staling. It develops a Markov chain model, which is capable of characterizing properties of file access sequences, including access locality and access bias. The paper compares the replication techniques under three different network file system architectures. The results show that, under reasonable assumptions, demand replication requires fewer file transfers than remote access, especially for files that have a high degree of access locality. Among the demand replication schemes, staling requires fewer auxiliary messages than polling.
Computing with Structured Neural Networks
Authors: Jerome A. Feldman, Mark A. Fanty, Nigel H. Goddard
Venue: Computer (1988)

The authors are concerned with how one can design, realize, and analyze networks that embody the specific computational structures needed to solve hard problems. They focus on the design and use of massively parallel connectionist computational models, particularly in artificial intelligence. They describe a computing environment for working with structured networks and present some sample applications. Throughout, they treat adaptation and learning as ways to improve structured networks, not as replacements for analysis and design.