ppxscal/embedding_network huggingface dataset:
BBMSS: A bit-splice based microprogram simulation system
Authors: N. Li, Y. Tang, S. Xu
Venue: Proceedings of the 19th annual workshop on Microprogramming (1986)

BBMSS is a part of our software aided for the development of bit-slice based systems and is used as a tool for testing and debugging of microprograms . It contains three parts : a hardware description language , a parser , and a simulation program . The hardware description language which is an extension to CDL is presented here . The simulation program which handles user's commands to simulate the behaviour and function of microprogram is given and the parser is also described briefly in this paper.
Design of a new user interface for APL
Authors: John E. Howland
Venue: Proceedings of the international conference on APL: APL in transition (1987)

Much progress has been made in APL systems during the last 10 years, however, most implementations still use the standard del editor, systems commands and a character oriented, user-typed, command interface. Even the APL systems available for new graphics based workstation systems, such as Macintosh and Sun, do not fully exploit the user interface standards for those systems. It is now time to consider establishing a new standard user interface for APL running on hardware systems which support bit mapped graphics displays and a pointing device. This paper presents such a design which is based in part on the Macintosh user interface, but includes special features for handling the APL workspace environment.
Two tapes are better than one for off-line Turing machines
Authors: W. Maass, G. Schnitger, E. Szemeredi
Venue: Proceedings of the nineteenth annual ACM symposium on Theory of computing (1987)

We prove the first superlinear lower bound for a concrete decision problem in P on a Turing machine with one work tape and a two-way input tape (also called: off-line 1-tape Turing machine). In particular we show for off-line Turing machines that 2 tapes are better than 1 and that 3 pushdown stores are better than 2 (both in the deterministic and in the nondeterministic case).
Toward real-time performance benchmarks for Ada
Authors: Russell M. Clapp, Louis Duchesneau, Richard A. Volz, Trevor N. Mudge, Timothy Schultze
Venue: Communications of the ACM (1986)

Benchmarks are developed to measure the Ada notion of time, the Ada features believed important to real-time performance, and other time-related features that are not part of the language, but are part of the run-time system; these benchmarks are then applied to the language and run-time system, and the results evaluated.
A Database Machine for Very Large Relational Databases
Authors: Ghassan Z. Qadah, K. B. Irani
Venue: IEEE Transactions on Computers (1985)

This paper presents an architectural design for a back-end database machine (DBM) suitable for supporting multiple-user, on-line, very large relational database systems (systems with capacities larger than 1010 bytes). This machine is called the Michigan Relational Database Machine (MIRDM). In designing such a machine a structured approach is followed. First, the DBM's proposed so far are reviewed using a novel classification scheme. Second, this review, the very large relational database system requirements, and the restrictions imposed by the current and near-future state of technology are used to formulate a set of design guidelines. Consequently, an architecture for a cost-effective DBM that meets this set of guidelines is synthesized. Some of the algorithms developed for implementing the primitives of the new machine are also presented. Finally, we highlight some of the important differences between the new DBM and some of the previously proposed ones.
Alex - A simple and efficient scanner generator
Authors: H Mossenbock
Venue: ACM SIGPLAN Notices (1986)

Alex is a scanner generator which translates the lexical description of a programming language into a scanner for that language. The scanner description language is easy to use, as it is intentionally small and simple. Alex as well as the generated scanners are written in Modula-2 and implemented on several microcomputers. The scanner generator may be used in conjunction with a compiler-compiler. As an example we show how to describe the lexical structure of Modula-2 with our tool. The scanner generated from that description is only about 20 percent slower than a hand-coded scanner.
A model for hierarchical memory
Authors: A. Aggarwal, B. Alpern, A. Chandra, M. Snir
Venue: Proceedings of the nineteenth annual ACM symposium on Theory of computing (1987)

In this paper we introduce the Hierarchical Memory Model (HMM) of computation. It is intended to model computers with multiple levels in the memory hierarchy. Access to memory location x is assumed to take time &lceil; log x &rceil;. Tight lower and upper bounds are given in this model for the time complexity of searching, sorting, matrix multiplication and FFT. Efficient algorithms in this model utilize locality of reference by bringing data into fast memory and using them several times before returning them to slower memory. It is shown that the circuit simulation problem has inherently poor locality of reference. The results are extended to HMM's where memory access time is given by an arbitrary (nondecreasing) function. Tight upper and lower bounds are obtained for HMM's with polynomial memory access time; the algorithms for searching, FFT and matrix multiplication are shown to be optimal for arbitrary memory access time. On-line memory management algorithms for the HMM model are also considered. An algorithm that uses LRU policy at the successive &ldquo;levels&rdquo; of the memory hierarchy is shown to be optimal.
Factors Affecting Distributed System Security
Authors: Dan M. Nessett
Venue: IEEE Transactions on Software Engineering (1987)

Recent work examining distributed system security requirements. is critiqued. A notion of trust based on distributed system topology and distributed system node evaluation levels proposed in that work is shown to be deficient. The notion fails to make allowances for the distributed system physical security environment, security factors related to the management of distributed systems by more than one jurisdictive authority, and the interactions that can occur between nodes supporting different mandatory and discretionary security mechanisms.
A Formal Method for the Abstract Specification of Software
Authors: John McLean
Venue: Journal of the ACM (JACM) (1984)

An intuitive presentation of the trace method for the abstract specification of software contains sample specifications, syntactic and semantic definitions of consistency and totalness, methods for proving specifications consistent and total, and a comparison of the method with the algebraic approach to specification. This intuitive presentation is underpinned by a formal syntax, semantics, and derivation system for the method. Completeness and soundness theorems establish the correctness of the derivation system with respect to the semantics, the coextensiveness of the syntactic definitions of consistency and totalness with their semantic counterparts, and the correctness of the proof methods presented. Areas for future research are discussed.
Expert systems and information retrieval
Authors: G. Salton
Venue: ACM SIGIR Forum (1987)

The existing bibliographic retrieval systems are too complex to permit direct on-line access by untrained end users. Expert system approaches have been introduced in the hope of simplifying the document indexing, search and retrieval operations and rendering these operations accessible to end users. The expert system approach is examined briefly in this note and the conclusion is reached that expert systems are unlikely to provide much relief in ordinary retrieval environments. Simpler and more effective retrieval systems than those currently in use can be implemented by falling back on methodologies proposed and evaluated over twenty years ago that operate without expert system intervention.
Cint: a RISC interpreter for the C programming language
Authors: J. W. Davidson, J. V. Gresh
Venue: Papers of the Symposium on Interpreters and interpretive techniques (1987)

Cint is an interpretation system for the C programming language. Like most interpretation systems, it provides "load and go" type execution as well as enhanced debugging and performance analysis tools. Cint consists of two phases--a translator and an interpreter. The translator compiles the source program into code for a virtual machine. The interpreter then loads and executes this code. While providing services similar to traditional interpreters, Cint differs from them in two important ways. First, the virtual machine languages used by many interpreters are quite large; machines with 100 to 200 operations are common. In contrast, Cint's virtual machine has only 63 operations. Second, to achieve acceptable execution speeds, interpreters are often implemented in the assembly language of the host machine. Cint, however, is written entirely in C and is therefore portable. In fact, it has been transported to four machines without modification. Despite the compact size of the virtual machine language and the high-level language implementation, Cint's execution speed is comparable to that of other interpreters. This paper describes the design of the virtual machine, the implementation of the interpreter, and the performance of the system.
Fault Propagation Through Embedded Multiport Memories
Authors: W. H. McAnney, J. Savir, S. R. Vecchio
Venue: IEEE Transactions on Computers (1987)

An analytical method is described for determining the random pattern testability of permanent faults in the prelogic driving the data-in and the address lines of a multiport random access memory whose outputs are directly observable. The results can be used with minimal extensions to existing detection probability tools such as the cutting algorithm.
A practical moat router
Authors: R. K. McGehee
Venue: Proceedings of the 24th ACM/IEEE Design Automation Conference (1987)

The final step in the layout of integrated circuits involves connecting a central module to a surrounding ring of pads. Hence the region to be routed is in the shape of a moat. This paper presents a practical approach to the moat routing problem. The approach is based on an efficient channel routing algorithm with additional features addressing the characteristics of the moat configuration. While signal nets are similar to those of a channel router, power nets are routed in a single layer of metal. The geometry of the moat imposes some restrictions, but often allows additional compaction of the routes. Each side of the moat requires a different amount of space to complete the routing, and each side of the pad ring may be moved independently. This produces an asymmetrical moat, which minimizes chip area and guarantees 100 percent routing completion.
Sets and negation in a logic data base language (LDL1)
Authors: C. Beeri, S. Naqvi, R. Ramakrishnan, O. Shmueli, S. Tsur
Venue: Proceedings of the sixth ACM SIGACT-SIGMOD-SIGART symposium on Principles of database systems (1987)

In this paper we extend LDL, a Logic Based Database Language, to include finite sets and negation. The new language is called LDL1. We define the notion of a model and show that a negation-free program need not have a model, and that it may have more than one minimal model. We impose syntactic restriction in order to define a deterministic language. These restrictions allow only layered (stratified) programs. We prove that for any program satisfying the syntactic restrictions of layering, there is a minimal model, and that this model can be constructed in a bottom-up fashion. Extensions to the basic grouping mechanism are proposed. We show that these extensions can be translated into equivalent LDL1 programs. Finally, we show how the technique of magic sets can be extended to translate LDL1 programs into equivalent programs which can often be executed more efficiently
Epsilon-nets and simplex range queries
Authors: D Haussler, E Welzl
Venue: Proceedings of the second annual symposium on Computational geometry (1986)

We present a new technique for half-space and simplex range query using &Ogr;(n) space and &Ogr;(na) query time, where a < d(d-1)/d(d-1) + 1 + &ggr; for all dimensions d &ge; 2 and &ggr; > 0. These bounds are better than those previously published for all d &ge; 2. The technique uses random sampling to build a partition-tree structure. We introduce the concept of an &egr;-net for an abstract set of ranges to describe the desired result of this random sampling and give necessary and sufficient conditions that a random sample is an &egr;-net with high probability. We illustrate the application of these ideas to other range query problems.
Learning to program = learning to construct mechanisms and explanations
Authors: E. Soloway
Venue: Communications of the ACM (1986)

Teaching effective problem-solving skills in the context of teaching programming necessitates a revised curriculum for introductory computer programming courses.
VLSI Architectures for Computing Multiplications and Inverses in GF(2m)
Authors: Charles C. Wang, T. K. Truong, Howard M. Shao, Leslie J. Deutsch, Jim K. Omura, Irving S. Reed
Venue: IEEE Transactions on Computers (1985)

Finite field arithmetic logic is central in the implementation of Reed-Solomon coders and in some cryptographic algorithms. There is a need for good multiplication and inversion algorithms that can be easily realized on VLSI chips. Massey and Omura [1] recently developed a new multiplication algorithm for Galois fields based on a normal basis representation. In this paper, a pipeline structure is developed to realize the Massey-Omura multiplier in the finite field GF(2m). With the simple squaring property of the normal basis representation used together with this multiplier, a pipeline architecture is also developed for computing inverse elements in GF(2m). The designs developed for the Massey-Omura multiplier and the computation of inverse elements are regular, simple, expandable, and therefore, naturally suitable for VLSI implementation.
An experimental multimedia mail system
Authors: Jonathan B. Postel, Gregory G. Finn, Alan R. Katz, Joyce K. Reynolds
Venue: ACM Transactions on Information Systems (TOIS) (1988)

A computer-based experimental multimedia mail system that allows the user to read, create, edit, send, and receive messages containing text, images, and voice is discussed.
Emulators; prospective instruments for instruction in systems programming
Authors: Amos O Olagunju, Elvis Borders
Venue: ACM SIGOPS Operating Systems Review (1986)

Microprogramming is a technique for implementing machine language instruction sets -- it is critical in today's computer architectures and operating systems. An emulator is a set of microprograms that implements the architecture of one machine on another; microprogramming is often used in emulation to make one computer system appear as if it were another. This paper presents the architecture for a microprogrammed computer system, the VSEM. The simulated virtual computer system, its monitor and a simulated concurrent PASCAL are discussed. The usefulness of the VSEM, its monitor and the concurrent PASCAL as vehicles for instruction in systems programming is addressed.
VLSI oriented asynchronous architecture
Authors: M. Hirayama
Venue: ACM SIGARCH Computer Architecture News (1986)

In order to realise dedicated functions that have no special parallel algorithms for efficient full custom VLSI implementation, we propose an asynchronous architecture that consists of several asynchronous functional modules and controls the chip by the local communication among these functional modules. As this architecture is very suitable for mapping from the behavioral specification described by the software onto silicon, it is very useful as a target architecture for silicon compilers.This paper describes the concept and the VLSI implementation of the asynchronous architecture. An evaluation of the size and the execution speed of chips based on this architecture model is also described.
Self-Implicating Structures for Diagnosable Systems
Authors: Anton T. Dahbura, Gerald M. Masson, Che-Liang Yang
Venue: IEEE Transactions on Computers (1985)

In this paper, a new class of diagnosable systems, called tp-self-implicating systems, which is a special case of the well-known tp-diagnosable systems introduced by Preparata et al. [1], is described. If there are no more than tp faulty units and the faults are assumed to be permanent, then the faulty units in a tp-self-implicating system can always be identified using at least one of two straight forward criteria associated with test outcomes. In each case, the given faulty unit in effect implicates itself as faulty. Necessary and sufficient conditions are given on the structures of PMC models for self-implication. Finally, an algorithm for identifying the set of faulty units in a tp-self-implicating system is given which is linear in the number of tests in the system, rendering it more efficient than the most efficient known algorithm for the general class of tp-diagnosable systems.
Optimal Systolic Design for the Transitive Closure and the Shortest Path Problems
Authors: S.-Y. Kung, S.-C. Lo, P. S. Lewis
Venue: IEEE Transactions on Computers (1987)

Due to VLSI technological progress, algorithm- oriented array architectures, such as systolic arrays, appear to be very effective, feasible, and economic. This paper discusses how to design systolic arrays for the transitive closure and the shortest path problems. We shall focus on the Warshall algorithm for the transitive closure problem and the Floyd algorithm for the shortest path problem. These two algorithms share exactly the same structural formulation; therefore, they lead to the same systolic array design. In this paper, we first present a general method for mapping algorithms to systolic arrays. Using this methodology, two new systolic designs for the Warshall-Floyd algorithm will be derived. The first one is a spiral array, which is easy to derive and can be further simplified to a hexagonal array. The other is an orthogonal systolic array which is optimal in terms of pipelining rate, block pipelining rate, and the number of input/output connections.
A generalized implicit enumeration algorithm for graph coloring
Authors: Marek Kubale, Boguslaw Jackowski
Venue: Communications of the ACM (1985)

A generalized algorithm for graph coloring by implicit enumeration is formulated. A number of backtracking sequential methods are discussed in terms of the generalized algorithm. Some are revealed to be partially correct and inexact. A few corrections to the invalid algorithms, which cause these algorithms to guarantee optimal solutions, are proposed. Finally, some computational results and remarks on the practical relevance of improved implicit enumeration algorithms are given.
Other Comments on "Optimization Algorithms for Distributed Queries"
Authors: W. Cellary, Z. Krolikowski, T. Morzy
Venue: IEEE Transactions on Software Engineering (1988)

The above paper proposes a distributed query optimization algorithm called GENERAL. Lakhani and Wang point out that the results obtained by the algorithm are not optimal. In this correspondence we point out another erroneous fact concerning the assumption of irreducibility of nonjoining attributes. We show that it is possible to generate an efficient semijoin program with better response time than the one produced by the GENERAL algorithm.
The effects of structured, multi-level documentation
Authors: R. W. Holt, D. A. Boehm-Davis, A. C. Schultz
Venue: Proceedings of the SIGCHI conference on Human factors in computing systems (1986)

The effects of general global documentation, detailed step-by-step documentation, and combined global and detailed documentation were examined for high, medium, and low experienced students. The 198 students in this study used a word-processing program to complete two problems during a two-hour session. Results from univariate and multivariate analyses indicated that both general time measures for reading documentation and completing problems as well as the student users' reactions to the documentation, the program, and the computer system were affected by either the type of documentation, the level of experience, or both of these factors.
Separating the user interface from the functionality of application programs
Authors: Pedro Szekely
Venue: ACM SIGCHI Bulletin (1986)

Constructing graphical user interfaces for interactive applications is a difficult and time consuming task, typically requiring extensive programming and experimentation with many prototypes. Thus, the ability to package portions of the specification of user interfaces into components that can be reused in the construction of many interfaces, and the ability to change an application's user interface without impacting the implementation of the functionality are crucial. These abilities can be realized in the measure that the dependencies between the implementation of an application's functionality and the user interface can be minimized.
Boolean classes
Authors: David McAllester, Ramin Zabih
Venue: Conference proceedings on Object-oriented programming systems, languages and applications (1986)

We extend the notion of class so that any Boolean combinations of classes is also a class. Boolean classes allow greater precision and conciseness in naming the class of objects governed a particular method. A class can be viewed as a predicate which is either true or false of any given object. Unlike predicates however classes have an inheritance hierarchy which is known at compile time. Boolean classes extend the notion of class, making classes more like predicates, while preserving the compile time computable inheritance hierarchy.
More commentary on missing information in relational databases (applicable and inapplicable information)
Authors: E F Codd
Venue: ACM SIGMOD Record (1987)

My earlier paper TRI/EFC-4 from The Relational Institute on this subject was published in ACM SIGMOD Record, December 1986. As a result, I have received several comments and proposed changes. The purpose of this paper is to respond to these items, while continuing to place heavy emphasis on the semantic aspects of missing information. The response is principally further explanation, but a few changes of a quite minor character are proposed. In this paper the reader is assumed to have read TRI/EFC-4.
Recursion versus non-recursion in Pascal: recursion can be faster
Authors: K Louden
Venue: ACM SIGPLAN Notices (1987)

A timing study of two Pascal programs on three machines provides some evidence that, for modern machines and compilers, the cost of removing recursion in non-trivial situations can sometimes be greater than the cost of the recursive procedure calls.
The power of randomness for communication complexity
Authors: M. Furer
Venue: Proceedings of the nineteenth annual ACM symposium on Theory of computing (1987)

Improving a result of Mehlhorn and Schmidt, a function f with deterministic communication complexity n2 is shown to have Las Vegas communication complexity &Ogr;(n). This is the best possible, because the deterministic complexity cannot be more than the square of the Las Vegas communication complexity for any function.
Pilots of the future: human or computer?
Authors: Alan B. Chambers, David C. Nagel
Venue: Communications of the ACM (1985)

As more and more automation is incorporated in aircraft, the essential question becomes one of autonomy: Should the automated system serve as the human pilot's assistant, or vice versa?