ppxscal/embedding_network huggingface dataset:
Cycle Time Properties Of The FDDI Token Ring Protocol
Authors: K. C. Sevcik, M. J. Johnson
Venue: IEEE Transactions on Software Engineering (1987)

The FDDI Token Ring Protocol controls communication over fiber optic rings with transmission rates in the range of 100 megabits per second. It is intended to give guaranteed response to time-critical messages by using a "timed token" protocol, in which non-critical messages may be transmitted only if recent movement of the token among stations has been sufficiently fast relative to a "target" token rotation time (TTRT).
Concurrent programming in Modula-2
Authors: Jeffrey Brumfield
Venue: ACM SIGCSE Bulletin (1987)

This paper describes a concurrent process manager that has been developed for the Modula-2 programming language. Using this software, students can gain practical experience in designing and implementing concurrent programs using processes, semaphores, and message links. The use of abstraction in describing the process manager is advocated, and a variety of concurrent programming exercises are presented.This paper describes a concurrent process manager that has been developed for the Modula-2 programming language. Using this software, students can gain practical experience in designing and implementing concurrent programs using processes, semaphores, and message links. The use of abstraction in describing the process manager is advocated, and a variety of concurrent programming exercises are presented.
A proposal for blocks and exits in APL
Authors: Jim P. Fiegenschue
Venue: ACM SIGAPL APL Quote Quad (1987)

A simple method of expressing structured programming constructs is proposed which avoids the need for the large number of keywords found in most structured languages. With this simple method, a countably infinite series of constructs may be formed. It is demonstrated that all conventional structured programming constructs may be expressed using only the constructs corresponding to -1, 0, 1, and 2.
A compact row storage scheme for Cholesky factors using elimination trees
Authors: Joseph W. Liu
Venue: ACM Transactions on Mathematical Software (TOMS) (1986)

For a given sparse symmetric positive definite matrix, a compact row-oriented storage scheme for its Cholesky factor is introduced. The scheme is based on the structure of an elimination tree defined for the given matrix. This new storage scheme has the distinct advantage of having the amount of overhead storage required for indexing always bounded by the number of nonzeros in the original matrix. The structural representation may be viewed as storing the minimal structure of the given matrix that will preserve the symbolic Cholesky factor. Experimental results on practical problems indicate that the amount of savings in overhead storage can be substantial when compared with Sherman's compressed column storage scheme.
On Two-Dimensional Via Assignment for Single-Row Routing
Authors: H. C. Du, Oscar H. Ibarra, Fernando Naveda
Venue: IEEE Transactions on Computers (1988)

The authors study the via assignment problem when vias are allowed to appear rowwise as well as columnwise. Previously they proved that the problem belongs to the class of NP-hard problems and therefore it is unlikely that polynomial-time algorithms exist for solving the problem. Two heuristics (HEU1 and HEU2) to solve the problem were proposed. HEU1 splits the nets before any routing is done while HEU2 assigns the nets alternately to via rows and via columns. Here they modify HEU2 so that the side of the board to which the nets are assigned first for connection is selected according to a desired ratio of board width to height.
An Array Layout Methodology for VLSI Circuits
Authors: M S Krishnan, J P Hayes
Venue: IEEE Transactions on Computers (1986)

A new methodology for the layout design of several classes of useful VLSI structures is proposed. The approach produces a structured layout for commonly found computation structures, using regular elements called layout slices. Algorithms for optimal array realization are described that offer several significant advantages over existing layout schemes. Any network that can be decomposed into instances of these structures can therefore be realized using layout slices. Algorithms for the array realization of a class of arbitrary networks are also described. Several well-known structures such as trees, carry-save adders and cube-connected cycles can be realized using the proposed array layout methodology, not only with optimal area but also with several features necessary for practical implementation, e.g., access to key nodes, high area utilization and global signal routing. The proposed methodology is illustrated with actual layouts of useful circuits.
An overview of the Penn State design system
Authors: R. M. Owens, M. J. Irwin
Venue: Proceedings of the 24th ACM/IEEE Design Automation Conference (1987)

This paper overviews a CAD system under development at Penn State which will allow fast and near optimal implementation of a restricted class of VLSI architectures. Our target architectures are hierarchical mesh extensions of systolic meshes. Our target applications are primarily in the signal processing domain. The primitive components, at the lowest level in the mesh hierarchy, are one of the unique features of our target architectures. The CAD system under development includes: a tool for target architecture decomposition into primitive components, a tool for multi-level logic reduction for the primitive components; a tool for automatic gate placement within a primitive component; a tool for component placement within the target architecture; a high-level simulation tool; and a layout verification tool.
An eductive interpreter for the language Lucid
Authors: A. A. Faustini, W. W. Wadge
Venue: Papers of the Symposium on Interpreters and interpretive techniques (1987)

We describe an interpreter for pLucid, a member of the Lucid family of functional dataflow languages. In appearance, pLucid is similar to Landin's Iswim, exept that individual variables and expressions denote streams (infinite sequences of data items), and function variables denote filters (stream-to-stream transformations). The actual data objects in pLucid (the components of streams) are those of POP2: numbers, strings, words, and lists. The 'inner syntax' (infix operations, conventions for denoting constants) are those of POP2 as well.The interpreter (which was written in C) is eductive: it uses a tagged demand-driven scheme. Demands for values in the output stream generate demands for values of other variables internal to the program. These demands, and the values returned in response, are tagged according to "time" (sequence index) and place (node in the tree of function calls). Once computed, values are stored in an associative memory (the "warehouse") in case they are demanded again later in the computation. The warehouse is periodically cleaned out using a heuristic called the "retirement plan". The heuristic is not perfect, but does not have to be: in an eductive computation, the program is not altered as in reduction. If discarded values are needed again, they can be recomputed.The pLucid interpreter performs extensive runtime checks and error messages quote the source line containing the offended operator. A special end-of-data object permits a very simple treatment of finite (terminating) input and output. Of special interest is its interface to UNIX, which allows any system command to be used as a filter inside a pLucid program.The interpreter performs well enough for nontrivial programs to be developed and tested. These include (simple versions of) a text formatter, a distributed airline reservation system, and a full screen editor.
Design and analysis of dynamic Huffman codes
Authors: Jeffrey Scott Vitter
Venue: Journal of the ACM (JACM) (1987)

A new one-pass algorithm for constructing dynamic Huffman codes is introduced and analyzed. We also analyze the one-pass algorithm due to Faller, Gallager, and Knuth. In each algorithm, both the sender and the receiver maintain equivalent dynamically varying Huffman trees, and the coding is done in real time. We show that the number of bits used by the new algorithm to encode a message containing t letters is < t bits more than that used by the conventional two-pass Huffman scheme, independent of the alphabet size. This is best possible in the worst case, for any one-pass Huffman method. Tight upper and lower bounds are derived. Empirical tests show that the encodings produced by the new algorithm are shorter than those of the other one-pass algorithm and, except for long messages, are shorter than those of the two-pass method. The new algorithm is well suited for on-line encoding/decoding in data networks and for tile compression.
A new graphy triconnectivity algorithm and its parallelization
Authors: G. Miller, V. Ramachandran
Venue: Proceedings of the nineteenth annual ACM symposium on Theory of computing (1987)

We present a new algorithm for finding the tri-connected components of an undirected graph. The algorithm is based on ear decomposition and has linear sequential running time. It also has a parallel implementation on a CRCW PRAM with O(log2n) parallel time using a linear number of processors, where n is the number of vertices in the graph. This is the first efficient parallel algorithm for graph tri-connectivity.
Stable prehension with three fingers
Authors: B S Baker, S Fortune, E Grosse
Venue: Proceedings of the seventeenth annual ACM symposium on Theory of computing (1985)

We study grasps by a robot hand in the absence of friction. In two dimensions, a hand with three spring-loaded fingers and five degrees of freedom can achieve an equilibrium grasp on any object described by a polygon. Furthermore, the grasp is stable, that is, at a local minimum of the potential energy function defined by the springs of the fingers. In three dimensions, the hand can grasp any cylinder. In contrast, if the degrees of freedom of the hand are restricted to correspond to a hand built by Hanafusa and Asada, stable grips on a polygon cannot in general be achieved.
Language constructs for programming by example
Authors: Robert V. Rubin
Venue: Proceedings of the third ACM-SIGOIS conference on Office information systems (1986)

Systems for programming by example permit the specification of algorithms through the use of demonstrations that manipulate examples. This paper analyzes systems for programming by example from a language point of view. Examples are analyzed as data abstractions, and demonstrations as abstractions for evaluation and control. Criteria are introduced for evaluating both the computational power and the expressiveness of the abstractions. The analysis demonstrates the existence of several previously unconsidered approaches to the more difficult problems associated with programming by example.
Solving low-density subset sum problems
Authors: J. C. Lagarias, A. M. Odlyzko
Venue: Journal of the ACM (JACM) (1985)

The subset sum problem is to decide whether or not the 0-l integer programming problem &Sgr;ni=l aixi = M, &forall;I, xI = 0 or 1, has a solution, where the ai and M are given positive integers. This problem is NP-complete, and the difficulty of solving it is the basis of public-key cryptosystems of knapsack type. An algorithm is proposed that searches for a solution when given an instance of the subset sum problem. This algorithm always halts in polynomial time but does not always find a solution when one exists. It converts the problem to one of finding a particular short vector v in a lattice, and then uses a lattice basis reduction algorithm due to A. K. Lenstra, H. W. Lenstra, Jr., and L. Lovasz to attempt to find v. The performance of the proposed algorithm is analyzed. Let the density d of a subset sum problem be defined by d = n/log2(maxi ai). Then for &ldquo;almost all&rdquo; problems of density d < 0.645, the vector v we searched for is the shortest nonzero vector in the lattice. For &ldquo;almost all&rdquo; problems of density d < 1/n, it is proved that the lattice basis reduction algorithm locates v. Extensive computational tests of the algorithm suggest that it works for densities d < dc(n), where dc(n) is a cutoff value that is substantially larger than 1/n. This method gives a polynomial time attack on knapsack public-key cryptosystems that can be expected to break them if they transmit information at rates below dc(n), as n &rarr; &infin;.
A computer architecture for dynamic finite element analysis
Authors: L. M. Napolitano,  Jr.
Venue: ACM SIGARCH Computer Architecture News (1986)

The explicit finite element method for dynamic structural analysis can be expressed in a highly parallel form. A proposed architecture is described that addresses the fundamental algorithmic issues of the method. An approximation equation for the efficiency is given as a function of processing time for a single element, the fundamental interprocessor communication time, the number of processors, and the number of finite elements. The predicted speedups are plotted against postulated parallel processor speedup bounds, and are shown to be much closer to the upper (linear) bound than to the lower bounds of Amdahl and Minsky.
The efficient termination of Ada tasks in a multi-processor environment
Authors: Susan Flynn, Edith Schonberg, Edmond Schonberg
Venue: ACM SIGAda Ada Letters (1987)

An efficient implementation of Ada task termination for shared memory MIMD architectures is presented. The solution is highly parallel and distributed; termination is not synchronized by a centralized supervisor, and there are no critical sections. The handling of block and subprogram termination that depend on nested tasks is also included. This implementation can be easily adapted to message based systems.
Generalizing specifications for uniformly implemented loops
Authors: Douglas D. Dunlop, Victor R. Basili
Venue: ACM Transactions on Programming Languages and Systems (TOPLAS) (1985)

The problem of generalizing functional specifications for while loops is considered. This problem occurs frequently when trying to verify that an initialized loop satisfies some functional specification, i.e., produces outputs which are some function of the program inputs. The notion of a valid generalization of a loop specification is defined. A particularly simple valid generalization, a base generalization, is discussed. A property of many commonly occurring while loops, that of being uniformly implemented, is defined. A technique is presented which exploits this property in order to systematically achieve a valid generalization of the loop specification. Two classes of uniformly implemented loops that are particularly susceptible to this form of analysis are defined and discussed. The use of the proposed technique is illustrated with a number of applications. Finally, an implication of the concept of uniform loop implementation for the validation of the obtained generalization is explained.
Evidential logic and Dempster-Shafer theory
Authors: S S Chen
Venue: Proceedings of the ACM SIGART international symposium on Methodologies for intelligent systems (1986)

Most artificial intelligence applications require reasoning with uncertainty and incompleteness. Such information is not captured in terms of simple true and false values nor in terms of probabilistic estimates when relevant statistical data are lacking. In this paper, we extend Nilsson's probabilistic logic, a semantic generalization of logic, in which the truth value of a sentence is a probability value between &Oslash; and 1 to evidential logic in the framework of Dempster-Shafer theory.
An axiomatic treatment of exception handling in an expression-oriented language
Authors: Shaula Yemini, Daniel M. Berry
Venue: ACM Transactions on Programming Languages and Systems (TOPLAS) (1987)

An axiomatic semantic definition is given of the replacement model of exception handling in an expression-oriented language. These semantics require only two new proof rules for the most general case. An example is given of a program fragment using this model of exception handling, and these rules are used to verify the consistency of the fragment and its specification.
Hypertext and the Oxford English dictionary
Authors: Darrell, R. Raymond, Frank, WM. Tompa
Venue: Communications of the ACM (1988)

Hypertext databases can be produced by converting existing text documents to electronic form. The basic task in conversion is identification of fragments. We illustrate that this is not always a straightforward process with an analysis of the Oxford English Dictionary.
An Enhanced Approximation by Pair-Wise Analysis of Servers for Time Delay Distributions in Queueing Networks
Authors: Peter G Harrison
Venue: IEEE Transactions on Computers (1986)

An approximation for the distribution of time delays experienced by a customer in a network of queues is presented. Approximate analytical models are necessary since exact solutions are only available for a very restricted class of networks, and are too complex computationally to be viable in practice. Approximations have so far often proved inadequate, particularly for closed networks with first come first served queueing disciplines. We also prove that the correlation between the sojourn times at successive servers on a customer's path in a closed queueing network with exponential servers is negative.
Inheritance and persistence in database programming languages
Authors: Peter Buneman, Malcolm Atkinson
Venue: Proceedings of the 1986 ACM SIGMOD international conference on Management of data (1986)

In order to represent inheritance, several recent designs for database programming languages have made use of class construct, which can be thought of as a restricted data type with an associated set of instances. Moreover, these classes are persistent they survive from one program invocation to another. This paper examines whether it is necessary to the together type, extent and persistence in order to model inheritance and suggests that they may be separated to provide more general database programming languages. In particular we shall see that it is possible to assign a generic data type to a function that extracts all the objects of a given type in the database so that the class hierarchy can be derived from the type hierarchy. We shall also examine object-level inheritance and its relationship to data types for relational databases. A final section examines how the various forms of persistence interact with inheritance at both object and type level.
Darwinian evolution as a paradigm for AI research
Authors: A Fenanzo,  Jr.
Venue: Issue 97 (July 1986) (1986)

Modern Darwinian evolutionary theory is a robust set of concepts that must be transported as a whole if they are to be used paradigmatically in any other context than that of their origin. For Al, the most immediately relevant lessons of evolutionary theory and process are listed below. Their meaning for AI research is that evolution can provide a paradigm for and the outline of an evolving system beyond the metaphorical sense of "evolution," if the full Darwinian paradigm is adopted. This discussion outlines how AI research can make use of the full Darwinian evolutionary paradigm by constructing "learning systems" upon a simulated genetic basis. It also suggests how the Darwinian evolutionary process is already active in one non-biotic context, namely, large organizations (public and private) that extensively use data base management systems (DBMS).
A realistic compiler generator based on high-level semantics: another progress report
Authors: P. Lee, U. Pleban
Venue: Proceedings of the 14th ACM SIGACT-SIGPLAN symposium on Principles of programming languages (1987)

We have developed a new style of semantic definition called high-level semantics. In constrast to traditional denotational semantics, high-level semantics is suitable for both defining the functional meaning of programming languages, as well as describing realistic compiler implementations. Moreover, high-level specifications are considerably more descriptive and intelligible than traditional specifications. This paper describes the compiler generator MESS, which embodies the principles of high-level semantics. MESS has been used to generate compilers for nontrivial languages. The compilers are efficient, and produce object programs that are competitive with those generated by hand-written compilers.
Partitioned two-phase locking
Authors: Meichun Hsu, Arvola Chan
Venue: ACM Transactions on Database Systems (TODS) (1986)

In a large integrated database, there often exists an &ldquo;information hierarchy,&rdquo; where both raw data and derived data are stored and used together. Therefore, among update transactions, there will often be some that perform only read accesses from a certain (i.e., the &ldquo;raw&rdquo; data) portion of the database and write into another (i.e., the &ldquo;derived&rdquo; data) portion. A conventional concurrency control algorithm would have treated such transactions as regular update transactions and subjected them to the usual protocols for synchronizing update transactions. In this paper such transactions are examined more closely. The purpose is to devise concurrency control methods that allow the computation of derived information to proceed without interfering with the updating of raw data. The first part of the paper presents a proof method for correctness of concurrency control algorithms in a hierarchically decomposed database. The proof method provides a framework for understanding the intricacies in dealing with hierarchically decomposed databases. The second part of the paper is an application of the proof method to show the correctness of a two-phase-locking- based algorithm, called partitioned two-phase locking, for hierarchically decomposed databases. This algorithm is a natural extension to the Version Pool method proposed previously in the literature.
Programmer perceptions of productivity and programming tools
Authors: Stephen José Hanson, Richard R. Rosinski
Venue: Communications of the ACM (1985)

Psychometric scaling methods are applied to programmer productivity assessments of 20 tools to recommend a set of minimal, as well as more comprehensive, tools.
A methodology for creating user views in database design
Authors: Veda C. Storey, Robert C. Goldstein
Venue: ACM Transactions on Database Systems (TODS) (1988)

The View Creation System (VCS) is an expert system that engages a user in a dialogue about the information requirements for some application, develops an Entity-Relationship model for the user's database view, and then converts the E-R model to a set of Fourth Normal Form relations. This paper describes the knowledge base of VCS. That is, it presents a formal methodology, capable of mechanization as a computer program, for accepting requirements from a user, identifying and resolving inconsistencies, redundancies, and ambiguities, and ultimately producing a normalized relational representation. Key aspects of the methodology are illustrated by applying VCS's knowledge base to an actual database design task.
Who owns information security
Authors: James A Schweitzer
Venue: ACM SIGSAC Review (1986)

Most large business organizations have functions called" computer security" or "data security". Very often, these activities are organizationally located within the information systems department or data center.
The care and feeding of an instructional program
Authors: Robert S. Fisk
Venue: Proceedings of the 15th annual ACM SIGUCCS conference on User Services (1987)

UC Davis (enrollment approximately 19,000) is historically an agricultural school which has been somewhat slower to develop a computing intensive academic program than many other comparable universities. It became a full-range university in the UC system in the 1960's. This paper explores the development of a computer instructional program for the faculty, staff, and students at UCD, using an analogy of growing crops.