ppxscal/embedding_network huggingface dataset:
The Optical File Cabinet: A Random-Access File System for Write-Once Optical Disks
Authors: Jason Gait
Venue: Computer (1988)

The Optical File Cabinet (OFC) is patterned after a conventional office file cabinet where all versions of a stored item are retained, but the current version of each item is the easiest to find. The OFC retains the favorable aspects of write-once optical disks while preserving the existing relationship between the operating system and the file system. Alternate approaches to write-once storage and the characteristics of write-once optical disks are described. The salient features of the OFC are examined, namely, the file system tree, growing data structures, and the large memory requirement. The relationship between the OFC and the operating system is discussed. Also considered are reliability, the user-level software interface, long-term storage, simulating the OFC, and implementation of the OFC on a Tektronix 4404 engineering workstation.
Axioms for concurrent objects
Authors: M. P. Herlihy, J. M. Wing
Venue: Proceedings of the 14th ACM SIGACT-SIGPLAN symposium on Principles of programming languages (1987)

Specification and verification techniques for abstract data types that have been successful for sequential programs can be extended in a natural way to provide the same benefits for concurrent programs. We propose an approach to specifying and verifying concurrent objects based on a novel correctness condition, which we call &ldquo;linearizability.&rdquo; Linearizability provides the illusion that each operation takes effect instantaneously at some point between its invocation and its response, implying that the meaning of a concurrent object's operations can still be given by pre- and post-conditions. In this paper, we will define and discuss linearizability, and then give examples of how to reason about concurrent objects and verify their implementations based on their (sequential) axiomatic specifications.
Flip-Trees: Fault-Tolerant Graphs with Wide Containers
Authors: F. J. Meyer, D. K. Pradhan
Venue: IEEE Transactions on Computers (1988)

A family of graphs is introduced with (d(d-1)/sup l/-2)/(d-2) nodes, where d is the degree of every node and l is any positive integer. The graphs have diameter 2l-1. In the presence of at most d-1 faults, the diameter increases to at most 2l+1. Furthermore, there exists a container (set of node-disjoint paths) of width d and length at most 2l+1 between every pair of nodes. The graphs are compared to those that have been proposed previously with respect to diameter, fault-tolerant diameter, container width, ease of routing, ease of fault-tolerant routing, and extensibility.
A practical approach to the evaluation of microcode systems
Authors: R. E. Skibbe
Venue: Proceedings of the 18th annual workshop on Microprogramming (1985)

This paper describes a microcode-evaluation methodology. The supporting test tools were developed by the IBM General Products Division in Tucson, Arizona, to allow effective and comprehensive evaluations of microcode systems. The methodology has been used successfully by the Tucson Test Laboratory (TTL) during the past several years. The evaluation methodology is characterized by an integrated application of static and dynamic analysis techniques. These two modes of analysis are complementary and they allow a level of automation that can significantly enhance the productivity of a testing organization through the systematic application of automated testing techniques. The methodology also establishes a discipline for the microcode-testing process that promotes a formal program of defect removal. Of course, improving the process of removing defects produces a corresponding enhancement in product quality.
A generalized user interface for applications programs (II)
Authors: Leonard J. Bass
Venue: Communications of the ACM (1985)

A display-screen management system for user interaction with an arbitrary application program is simple enough so that the end user controls the dialogue and screens yet powerful enough to provide for user specification of screen geometry, input constraints, computation facilities, and display logic&mdash;quite independently of the application system.
Architectural issues in designing symbolic processors in optics
Authors: A. Guha, R. Ramnarayan, M. Derstine
Venue: Proceedings of the 14th annual international symposium on Computer architecture (1987)

This paper analyzes potential optical architectures for AI applications (such as knowledge-based systems). Our goal was to investigate architectures most suitable for implementation completely in optics. While optical computing appears to hold much promise because of its inherent parallelism and speed, constructing a symbolic processor or even a general purpose computer in optics requires examining many issues never before addressed. This paper presents these issues and discusses those architectures which appear most feasible in optics. We take into account fundamental physical limitations as well as the state-of-the-art optical device research. We conclude that, unlike in electronics, large-grained parallelism is not suitable for implementation in optics. We also find that functional languages, rather than logic languages, are better candidates for optics. Finally, we show that implementing an optical symbolic processor warrants the need for a real, or at least an emulated, addressable memory in optics.
Intersection algorithms for lines and circles
Authors: A. E. Middleditch, T. W. Stacey, S. B. Tor
Venue: ACM Transactions on Graphics (TOG) (1988)

This paper presents a unified representation scheme for the implicit equations of points, lines, and circles. An associated set of geometric algorithms operates successfully on degenerate and nearly degenerate geometry, and when necessary produces degenerate geometric results. Computation errors are interpreted geometrically in order to establish preconditions for reliable results and requirements on the resolution of computer arithmetic. The algorithms thus provide a basis for the wide range of geometric constructions required by computer-aided drafting and design systems.
Derivation of Minimal Sums for Completely Specified Functions
Authors: Robert Brian Cutler, Saburo Muroga
Venue: IEEE Transactions on Computers (1987)

Some new concepts in switching theory are pre sented. One of these is called an "abridged minterm base." We can use an abridged minterm base instead of the minterm expansion in conventional absolute minimization procedures. Since an abridged minterm base almost always has much fewer minterms than are in the minterm expansion, we can derive an abridged minterm base for many functions for which it is impossible to derive the minterm expansion. This paper also introduces the concept of generalized inclusion function Q(f) and its decomposition theorem Q(g)·Q(h) = Q(g V h). The theorem is very useful.
Greatest common divisors of polynomials given by straight-line programs
Authors: Erich Kaltofen
Venue: Journal of the ACM (JACM) (1988)

Algorithms on multivariate polynomials represented by straight-line programs are developed. First, it is shown that most algebraic algorithms can be probabilistically applied to data that are given by a straight-line computation. Testing such rational numeric data for zero, for instance, is facilitated by random evaluations modulo random prime numbers. Then, auxiliary algorithms that determine the coefficients of a multivariate polynomial in a single variable are constructed. The first main result is an algorithm that produces the greatest common divisor of the input polynomials, all in straight-line representation. The second result shows how to find a straight-line program for the reduced numerator and denominator from one for the corresponding rational function. Both the algorithm for that construction and the greatest common divisor algorithm are in random polynomial time for the usual coefficient fields and output a straight-line program, which with controllably high probability correctly determines the requested answer. The running times are polynomial functions in the binary input size, the input degrees as unary numbers, and the logarithm of the inverse of the failure probability. The algorithm for straight-line programs for the numerators and denominators of rational functions implies that every degree-bounded rational function can be computed fast in parallel, that is, in polynomial size and polylogarithmic depth.
Multidimensional search trees that provide new types of memory reductions
Authors: Dan E. Willard
Venue: Journal of the ACM (JACM) (1987)

An orthogonal query that asks to aggregate the set of records in k-dimensional box regions is studied, and it is shown that space O(N((log N)/(log log N))k-1) makes possible a combined time complexity O(logkN ) for retrievals, insertions, and deletions.
A survey of distributed deadlock detection algorithms
Authors: Ahmed K. Elmagarmid
Venue: ACM SIGMOD Record (1986)

This paper surveys research work performed within the last five years in distributed deadlock detection. The last survey paper on this topic appeared in 1980; since that time a large number of interesting algorithms have been discribed in the literature. A new, more efficient scheme is the probe-based deadlock detection strategy used by many of the new algorithms. This paper will concentrate on distributed deadlock detection algorithms. Only detection of resource deadlocks will be reviewed here, though other types of deadlock handling strategies and environments are briefly mentioned.
A practical method for LR and LL syntactic error diagnosis and recovery
Authors: Michael G. Burke, Gerald A. Fisher
Venue: ACM Transactions on Programming Languages and Systems (TOPLAS) (1987)

This paper presents a powerful, practical, and essentially language-independent syntactic error diagnosis and recovery method that is applicable within the frameworks of LR and LL parsing. The method generally issues accurate diagnoses even where multiple errors occur within close proximity, yet seldom issues spurious error messages. It employs a new technique, parse action deferral, that allows the most appropriate recovery in cases where this would ordinarily be precluded by late detection of the error. The method is practical in that it does not impose substantial space or time overhead on the parsing of correct programs, and in that its time efficiency in processing an error allows for its incorporation in a production compiler. The method is language independent, but it does allow for tuning with respect to particular languages and implementations through the setting of language-specific parameters.
A law-based approach to object-oriented programming
Authors: Naftaly H. Minsky, David Rozenshtein
Venue: Conference proceedings on Object-oriented programming systems, languages and applications (1987)

The central idea behind this paper is that the discipline governing the exchange of messages between objects should be specifiable by the programmer in the form of an explicit law of the system. We show how, starting from a very primitive foundation, which presumes neither encapsulation nor inheritance, one can establish various forms of both, as well as other useful disciplines, simply by means of appropriate laws.
Retargetable microcode synthesis
Authors: Robert A. Mueller, Joseph Varghese
Venue: ACM Transactions on Programming Languages and Systems (TOPLAS) (1987)

Most work on automating the translation of high-level microprogramming languages into microcode has dealt with lexical and syntactic analysis and the use of manually produced macro tables for code generation. We describe an approach to and some results on the formalization and automation of the more difficult problem of retargeting local code generation in a machine-independent, optimizing microcode synthesis system. Whereas this problem is similar in many ways to that of retargeting local code generation in high-level language compilers, there are some major differences that call for new approaches. The primary issues addressed in this paper are the representation of target microprogrammable machines, the intermediate representation of local microprogram function, and general algorithmic methods for deriving local microcode from target machine and microcode function specifications. Of particular interest are the use of formal semantics and data flow principles in achieving both a general and reasonably efficient solution. Examples of the modeling of a representative horizontal machine (the PUMA) and the generation of microcode for the PUMA machine model from our working implementation are presented.
A notation for specifying menus
Authors: S Hekmatpour
Venue: ACM SIGPLAN Notices (1987)

Interactive menus have become an important tool in designing user friendly interfaces to computer systems. In many systems they have replaced the old approach of using command languages to make the dialogue more suggestive. This paper suggest a simple notation for specifying menus. The notation is powerful enough to cope with the wide variety of menus found in today computer systems.
An internal semantics for modal logic
Authors: R Fagin, M Y Vardi
Venue: Proceedings of the seventeenth annual ACM symposium on Theory of computing (1985)

In Kripke semantics for modal logic, &ldquo;possible worlds&rdquo; and the possibility relation are both primitive notions. This has both technical and conceptual shortcomings. From a technical point of view, the mathematics associated with Kripke semantics is often quite complicated. From a conceptual point of view, it is not clear how to use Kripke structures to model knowledge and belief, where one wants a clearer understanding of the notions that are primitive in Kripke semantics. We introduce modal structures as models for modal logic. We use the idea of possible worlds, but by directly describing the &ldquo;internal semantics&rdquo; of each possible world. It is much easier to study the standard logical questions, such as completeness, decidability, and compactness, using modal structures. Furthermore, modal structures offer a much more intuitive approach to modelling knowledge and belief.
A pragmatic approach to systems analysis and design
Authors: Jane M. Fritz
Venue: Proceedings of the eighteenth SIGCSE technical symposium on Computer science education (1987)

The University of New Brunswick offers a wide selection of upper year Computer Science electives. Systems analysis and design, consisting of the study and use of the system life cycle for developing business information systems together with associated techniques and issues, has been offered for about 14 years. Considered to be a &ldquo;soft&rdquo; subject in a sea of hard-core technical courses, for many years this course was elected by a manageable maximum of 15-25 students per year. In recent years, particularly due to reinforcement by an active group of employers in our expanding co-op program, the value of such a course has been more widely recognized by our students. This paper examines methods used to handle substantial enrollment increases (40-60 students) in a subject which is especially sensitive to class size. Efforts made to improve the effectiveness of teaching this non-technical but vital material to technically oriented students are discussed. As well, the differences between software engineering and systems analysis and design are outlined. A case is made for a change in the ACM Curriculum '78 Software Design course CS14 to relect the very important role of the analysis phase in software development.
Hardware support for interprocess communication
Authors: U. Ramachandran, M. Solomon, M. Vernon
Venue: Proceedings of the 14th annual international symposium on Computer architecture (1987)

In recent years there has been increasing interest in message-based operating systems, particularly in distributed environments. Such systems consist of a small message-passing kernel supporting a collection of system server processes that provide such services as resource management, file service, and global communications. For such an architecture to be practical, it is essential that basic messages be fast, since they often replace what would be a simple procedure call or &ldquo;kernel call&rdquo; in a more traditional system. Careful study of several operating systems shows that the limiting factor, especially for small messages, is typically not network bandwidth but processing overhead. Therefore, we propose using a special-purpose coprocessor to support message passing. Our research has two parts: First, we partitioned an actual message-based operating system into communication and computation parts interacting through shared queues and measured its performance on a multiprocessor. Second, we designed hardware support in the form of a special-purpose smart bus and smart shared memory and demonstrated the benefits of these components through analytical modeling using Generalized Timed Petri Nets. Our analysis shows good agreement with the experimental results and indicates that substantial benefits may be obtained from both the partitioning of the software and the addition of a small amount of special-purpose hardware.
Provably Conservative Approximations to Complex Reliability Models
Authors: Mark Smotherman, Robert M. Geist, Kishor s. Trivedi
Venue: IEEE Transactions on Computers (1986)

Provably conservative (and optimistic) reliability models can be systematically derived from more complex models. These derived models incorporate a reduced state space and fewer transitions, and, therefore, have solutions that are more cost- effective than those of the original complex models. The designer can extensively explore the design space without incurring the expense of solving multiple complex models. A conservative- optimistic pair of derived models produces a band that includes the solution to the complex model. Sensitivity analysis can be performed on this pair of models to determine those parameters of the original model that are most sensitive to change (i.e., uncertainty) and hence warrant further expense in obtaining tighter specifications.
Timer description in CCS (Milner), LOTOS (ISO) and timed LOTOS (Quemada-Fernandez). A case analysis
Authors: G. T'Hooft
Venue: ACM SIGCOMM Computer Communication Review (1988)

The Calculus of Communicating Systems (CCS) devised by Milner is an algebraic calculus designed to describe and analyze the behaviour of different systems running in parallel. It has generated a lot of variants, amongst which we find the Language of Temporal Ordering Specification (LOTOS) of ISO, which is more precisely used in the domain of data communication protocol specifications. Recently, Quemada and Fernandez proposed the introduction of time in LOTOS (what we call Timed LOTOS henceforth). We specify in CCS, LOTOS and Timed LOTOS a simple handshake protocol with a one shot sender, a one shot receiver and two unidirectional channels with a capacity of one message and the possibility of loosing this message. For each of these specifications, we calculate the corresponding semantics, which show their properties such as the deadlock freeness and the livelock freeness. By the way, we also compare their relative power with respect to timer description. The conclusion is that none of these models is well suited for the description of timers and time out mechanisms. The reason of this is analyzed.
A variation of conceptual graphs: an object-oriented approach
Authors: T. R. Hines, E. A. Unger
Venue: Proceedings of the 1987 Fall Joint Computer Conference on Exploring technology: today and tomorrow (1987)

Object-oriented programming has become a popular programming paradigm. The number of researchers in the field has grown since the introduction of the Smalltalk programming language. Researchers interested in knowledge representation are striving to introduce more comprehensive ways to represent knowledge. Proposed is the representation of knowledge for an object-oriented programming language by using a conceptual knowledge representation method. Techniques and constructs to perform the object-oriented programming paradigm and their formal design, based on Sowa's conceptual graph theory, will be discussed.
A modular systolic architecture for image convolutions
Authors: K. Doshi, P. Varman
Venue: Proceedings of the 14th annual international symposium on Computer architecture (1987)

This paper describes a modular, systolic design for two-dimensional convolution which is a frequent and computationally intensive operation in low-level image processing. The design consists of a one-dimensional array of homogeneous cells, each with a fixed amount of storage. The paper also presents schema by which the design consisting of a limited number of cells can be used to implement convolutions of varying kernel sizes, with optimal throughput. The design is simple and hence a good candidate for VLSI integration. Its one-dimensional organization and unidirectional data flow characteristics result in good fault-tolerance for the array.
Arithmetic Specification for Scientific Computation in ADA
Authors: Rudi Klatte, Christian P. Ullrich, Jürgen W. von Gudenberg
Venue: IEEE Transactions on Computers (1985)

Usually, higher programming languages provide a floating point arithmetic without specifying the accuracy of the operations. In contrast, ADA defines the operations by means of model numbers and rounding (see [2], [11]). Nevertheless, this definition is not strong enough to satisfy the modern requirement of maximum accuracy in all spaces of scientific computation (see [7]-[9]). By this we mean that no computer representable element lies between the actual and the computer generated result of an operation. The object of this paper is to specify the new arithmetic in ADA for all usual numerical data types. The new arithmetic is made available in a convenient operator form.
The current status of MAP
Authors: J S Foley, Y Weon-Yoon
Venue: Proceedings of the ACM SIGCOMM conference on Communications architectures protocols (1986)

MAP is a standard computer networking discipline and a unified set of communications protocols which make it possible to implement a vendor independent network of computers. MAP provides a complete service to the user or application program. The major facilities, file transfer, process to process messaging, inter-machine messaging, and directory service are supported. Virtual terminal protocol support is planned for the near future. MAP is a subset of the internationally agreed Open Systems Interconnection computer networking architecture, protocols and supporting standards. The MAP subset of OSI Protocols was originally selected by General Motors and has been agreed by a MAP Task Force comprised of nearly 100 user and vendor corporations. MAP specifications are also agreed by the NBS/OSI Implementor's Workshop, indicating that the MAP specifications are OSI compatible. The MAP System and Protocols are described here in sufficient detail to permit the reader to gain a general understanding of MAP against a background of OSI fundamentals. The future growth trends for MAP conclude this paper.
Interactive problem solving
Authors: J P E Hodgson
Venue: Issue 98 (October 1986) (1986)

An interactive generation of a solution to a 3 times; 3 times; 2 cube-like problem is presented.