ppxscal/embedding_network huggingface dataset:
Extensions to functional programming in Scheme
Authors: D A Plaisted, J W Curry
Venue: Proceedings of the ACM SIGART international symposium on Methodologies for intelligent systems (1986)

We present some extensions to Scheme which increase its expressiveness within a purely declarative framework. We give constructs for sets and universal and existential quantifiers, allowing backtracking to be expressed easily. These constructs combine the expressiveness of set notation with the efficiency of lists, and have a simple semantics that is based on lists. We also give a nonstandard definition of fixpoints and a notation for it. These extensions, together with a convenient form of memo function, have been implemented as reasonably efficient macros in Scheme. The dramatic increase in conciseness of programs is illustrated by examples. These features bring us closer to executable specifications of programs and are therefore relevant for automatic program generation. We discuss extensions to Prolog-style languages that might enable them to approximate the same expressive power.
A case-based system for trade secrets law
Authors: E. L. Rissland, K. D. Ashley
Venue: Proceedings of the 1st international conference on Artificial intelligence and law (1987)

In this paper, we give an overview of our case-based reasoning program, HYPO, which operates in the field of trade secret law. We discuss key ingredients of case-based reasoning, in general, and the correspondence of these to elements of HYPO. We conclude with an extended example of HYPO working through a hypothetical trade secrets case, patterned after an actual case.
Hints for the interpretation of the ISO session layer
Authors: F Caneschi
Venue: ACM SIGCOMM Computer Communication Review (1986)

This work originated from discussions on the interpretation of the ISO 8327 Session Protocol and the ISO 8326 Session Service. The author, who participated in the development of the above mentioned documents, discovered that many who attempted a thorough reading of them, either for implementing the Session layer or for a better understanding of the protocol, had a number of questions regarding the interpretation of the documents.There are two principal reasons for these difficulties. First, the state table description of the protocol in Appendix A of ISO 8326 and ISO 8327 is not formal, and thus subject to different interpretations. Second, there are actions which are not explained in Appendix A, but rather are described in the text. This means that even after having solved all questions related to Appendix A, one cannot be sure that an implementation is in fact correct.This paper is intended as an aid in interpreting the documents, and to correlate the plain text description to the state table description.A number of persons contributed to the contents of this paper, and it is impossible to list them all. The author, however, wishes to mention the major discussions that had with Albert Fleischmann and Stefan Pappe during their implementation of the Heidelberg Session layer; Colin West of the Zuerich Lab when he was attempting to devise a testing strategy for the above mentioned implementation; and Marten van Sinderen of the Twente University and Giuseppe Scollo of the Catania University when using LOTOS to describe the ISO Session layer.Wolfgang Effelsberg and Jim Staton of E. N. C., finally, deserve special thanks for their many valuable suggestions, both technical and structural, that they gave on the early versions of this document, which could now be titled "Hints for the interpretation of "Hints for the interpretation of the ISO Session Layer"".
Side effects and aliasing can have simple axiomatic descriptions
Authors: Hans-Juergen Boehm
Venue: ACM Transactions on Programming Languages and Systems (TOPLAS) (1985)

We present a different style of axiomatic definition for programming languages. It is oriented toward imperative languages, such as Algol 68, that do not distinguish between statements and expressions. Rather than basing the logic on a notion of pre- or postcondition, we use the value of a programming language expression as the underlying primitive. A number of language constructs are examined in this framework. We argue that this style of definition gives us a significantly different view of the notion of &ldquo;easy axiomatixability.&rdquo; Side effects in expressions as well as aliasing between variables are shown to be &ldquo;easily axiomatizable&rdquo; in our system.
A Remote Procedure Call Facility for Interconnecting Heterogeneous Computer Systems
Authors: B. Bershad, D. T. Ching, E. D. Lazowska, J. Sanislo, M. Schwartz
Venue: IEEE Transactions on Software Engineering (1987)

Heterogeneity in hardware and software is an inevitable consequence of experimental computer research. At the University of Washington, the Heterogeneous Computer Systems (HCS) project is a major research and development effort whose goal is to simplify the interconnection of heterogeneous computer systems.
Worlds: an organizing structure for object-bases
Authors: David S Wile, Dennis G Allard
Venue: Proceedings of the second ACM SIGSOFT/SIGPLAN software engineering symposium on Practical software development environments (1987)

Object-bases are certain to supplant today's file systems in future program development environments. Unfortunately, file systems implicitly provide several important environmental features that are difficult or impossible to obtain using existing object-bases, such as focus of attention, garbage detection and collection, and data sharing. These deficiencies arise from the absence of mechanisms for naming and maintaining aggregations of information in structures larger than single relations or single object classes. This paper proposes a model for information in programming environments, called worlds, which naturally describes clusters of information forming conceptual units in an object-base. Because the model arose from the need to represent well-formed grammatical structures, the concept unifies syntax-directed manipulation with object-base facilities. In addition, this clustering capability provides a foundation in object-bases for the features lost from file systems. We illustrate worlds through their use to maintain persistence in the object-base of our programming environment, the Common Lisp Framework.
Process name resolution in fault-intolerant csp programs
Authors: Du Zhang, Meiliu Lu
Venue: ACM SIGOPS Operating Systems Review (1986)

Process Name resolution is an important problem in fault-tolerant CSP programs. This paper gives a solution to the naming problem of reconfigured CSP program. The solution is discussed in the context of super process scheme and is based on a proposed implementation of CSP language. The advantages of the solution are two-fold: first, it does not change the communication conventions of CSP; second, it does not impose any extra overhead on the underlying operating system.
An Acyclic Expansion Algorithm for Fast Protocol Validation
Authors: Yoshiaki Kakuda, Yasushi Wakahara, Masamitsu Norigoe
Venue: IEEE Transactions on Software Engineering (1988)

For the development of communications software composed of many modules, protocol validation is considered essential to detect errors in the interactions among the modules. Protocol validation techniques previously proposed have required validation time that is too long for many actual protocols. The authors propose a novel fast protocol validation technique to overcome this drawback. The proposed technique is to construct the minimum acyclic form of state transitions in individual processes of the protocol, and to detect protocol errors such as system deadlocks and channel overflows fast. The authors also present a protocol validation system based on the technique to confirm its feasibility and show validation results for some actual protocols. As a result, the protocol validation system is expected to improve productivity in the development and maintenance of communications software.
Linear time algorithms for visibility and shortest path problems inside simple polygons
Authors: L Guibas, J Hershberger, D Leven, M Sharir, R Tarjan
Venue: Proceedings of the second annual symposium on Computational geometry (1986)

We present linear time algorithms for solving the following problems involving a simple planar polygon P: (i) Computing the collection of all shortest paths inside P from a given source vertex s to all the other vertices of P; (ii) Computing the subpolygon of P consisting of points that are visible from a segment within P; (iii) Preprocessing P so that for any query ray r emerging from some fixed edge e of P, we can find in logarithmic time the first intersection of r with the boundary of P; (iv) Preprocessing P so that for any query point x in P, we can find in logarithmic time the portion of the edge e that is visible from x; (v) Preprocessing P so that for any query point x inside P and direction u, we can find in logarithmic time the first point on the boundary of P hit by the ray at direction u from x; (vi) Calculating a hierarchical decomposition of P into smaller polygons by recursive polygon cutting, as in [Ch]. (vii) Calculating the (clockwise and counterclockwise) &ldquo;convex ropes&rdquo; (in the terminology of [PS]) from a fixed vertex s of P lying on its convex hull, to all other vertices of P. All these algorithms are based on a recent linear time algorithm of Tarjan and Van Wyk for triangulating a simple polygon, but use additional techniques to make all subsequent phases of these algorithms also linear.
Integer Division in Linear Time with Bounded Fan-In
Authors: C. Neaderhouser Purdy, G. B. Purdy
Venue: IEEE Transactions on Computers (1987)

A binary algorithm for division of an (M + N)-bit integer by an N-bit integer is presented. The algorithm produces the (M + 1)-bit quotient and the N-bit remainder in time O(M + N). Two hardware implementations, one using combinational logic in cellular arrays, and one employing systolic arrays, are given. These implementations are designed for modularity and regularity, and thus are suitable for VLSI systems. An important property of these implementations is that decisions are based on only one bit of the operands. Thus, fan-in and length of connecting wires are bounded independently of operand size. In addition, the systolic implementation has area O + N), which is the best possible.
Special section on operating systems
Authors: Alan Shaw
Venue: Communications of the ACM (1988)

This special collection of articles examines recent research in operating systems, focusing on particular systems and projects that are seminal and representative. The areas these articles cover include distributed operating systems, heterogeneous computer systems, distributed programming, and real-time systems.
On detecting the orientation of polygons and polyhedra
Authors: B. K. Natarajan
Venue: Proceedings of the third annual symposium on Computational geometry (1987)

This paper concerns the use of ray sensors to detect the orientation of polygonal and polyhedral objects moving on a belt or slide. The problem is abstracted to the computational domain and the following results obtained. For polygons of n vertices, n sensors are sufficient and (n/2) necessary. For convex polyhedra of n vertices, (6n) sensors are sufficient and (n/4) necessary. Non-convex polyhedra cannot be effectively handled with such sensors.
An information workstation for software managers
Authors: M A Kret
Venue: Proceedings of the second ACM SIGSOFT/SIGPLAN software engineering symposium on Practical software development environments (1987)

In the complex and changing environment of software development, it is imperative that software managers have current and meaningful information to support decision making. This article discusses a system that draws information from all phases of the software life cycle and analyzes that data from a software manager's workstation. With the analysis tools available at the workstation and data extracted from the various phases of development, managers can begin to form a model of the software development life cycle and measure the success or failure of software projects in quantitative terms.
Discrete Basis and Computation of Elementary Functions
Authors: Jean-Michel Muller
Venue: IEEE Transactions on Computers (1985)

We give necessary and sufficient conditions in order that the infinite product or sum of the terms of a positive decreasing sequence generates the reals in a given interval.
Feasible arithmetic computations: Valiant's hypothesis
Authors: Joachim von zur Gathen
Venue: Journal of Symbolic Computation (1987)

An account of Valiant's theory of p-computable versus p-definable polynomials, an arithmetic analogue of the Boolean theory of P versus NP, is presented, with detailed proofs of Valiant's central results.
Frame systems and inheritance systems
Authors: M. Kim, A. S. Maida
Venue: Proceedings of the 1987 Fall Joint Computer Conference on Exploring technology: today and tomorrow (1987)

This paper applies inheritance theory to the problem of encoding hierarchically organized frame-like knowledge. Inheritance theory is concerned with characterizing the circumstances under which valid inferences can be computed efficiently in knowledge bases that contain exception-permitting default knowledge, where this knowledge can be organized hierarchically. We generalize Touretzky's inheritance theory [13] from its original domain of IS-A hierarchies to the more general domain of inferential hierarchies. The generalization is based on an abstraction of a frame called a knowledge packet. The resulting theory can more easily applied to frame-based languages.
Document query processing strategies: cost evaluation and heuristics
Authors: E. Bertino, S. Gibbs, F. Rabitti
Venue: Proceedings of the ACM SIGOIS and IEEECS TC-OA 1988 conference on Office information systems (1988)

This paper describes query processing strategies used in a system where queries are specified on formatted data and text components of documents. The system provides different access methods: indexes for formatted data and signature files for the text. Four basic document queries, representative of a wide range of queries, are examined in detail. Strategies for query processing are presented together with an evaluation of the costs of the various strategies. Finally, general heuristics are derived.
Using the cloze procedure with computer programs: a deeper look
Authors: Eileen B. Entin
Venue: Proceedings of the seventeenth SIGCSE technical symposium on Computer science education (1986)

This paper extends research on the use of the cloze test in the domain of computer software. In this study the cloze blanks were divided for the purposes of analysis into five structural subcategories. The relationships of the total cloze score and the subcategory scores to two criterion test measures were found to be positive, with the strongest and most consistent relationships being found for the variable subcategory. Use of the cloze test for both instructional and assessment purposes was discussed.
COSMOS: a compiled simulator for MOS circuits
Authors: R. E. Bryant, D. Beatty, K. Brace, K. Cho, T. Sheffler
Venue: Proceedings of the 24th ACM/IEEE Design Automation Conference (1987)

The COSMOS simulator provides fast and accurate switch-level modeling of MOS digital circuits. It attains high performance by preprocessing the transistor network into a functionally equivalent Boolean representation. This description, produced by the symbolic analyzer ANAMOS, captures all aspects of switch-level networks including bidirectional transistors, stored charge, different signal strengths, and indeterminate (X) logic values. The LGCC program translates the Boolean representation into a set of machine language evaluation procedures and initialized data structures. These procedures and data structures are compiled along with code implementing the simulation kernel and user interface to produce the simulation program. The simulation program runs an order of magnitude faster than our previous simulator MOSSIM II.
Commentaries on the past 15 years
Authors: Eric A. Weiss
Venue: Communications of the ACM (1987)

A longtime member comments on the trends, happenings, events, and accomplishments of ACM in the period 1972-1987, followed by "Self-Assessment Procedure XVII."
The British Nationality Act as a logic program
Authors: M. J. Sergot, F. Sadri, R. A. Kowalski, F. Kriwaczek, P. Hammond, H. T. Cory
Venue: Communications of the ACM (1986)

The formalization of legislation and the development of computer systems to assist with legal problem solving provide a rich domain for developing and testing artificial-intelligence technology.
TIMELOG-an intelligent spreadsheet for school timetabling
Authors: Charles J. V. Murphy
Venue: Issue 101 (July 1987) (1987)

Timetabling consists of manipulating a large file of teaching allocations within a set of constraints. There are available large wall charts with coloured stick-on squares which make the scheduling task a little easier; but most timetables are designed on a large sheet of paper divided into cells, each cell corresponding to a particular teaching period and holding data for a single allocation of teacher, class, room and subject. The computing equivalent of such a grid of cells is a spreadsheet. The process of manipulating data within the constraints of a set of rules is a task for which the programming language PROLOG is ideally suited. This paper outlines an attempt to combine the rule based approach of PROLOG with the interactive power of the spreadsheet to produce an intelligent design aid for a school timetabler.
Theory links: Applications to automated theorem proving
Authors: Neil V. Murray, Erik Rosenthal
Venue: Journal of Symbolic Computation (1987)

We develop the notion of theory link, which is a generalization of ordinary link to a set of literals that are simultaneously unsatisfiable relative to a given set of clauses. We show that theory links may be 'activated' in much the same manner as ordinary links when inferencing with respect to the given set of clauses. Several link deletion results are shown to hold for 6heory links, and some examples are presented using first-order theory links.
Publishing a university computing service newsletter
Authors: Alison Hartman, J. E. Diem
Venue: Proceedings of the 15th annual ACM SIGUCCS conference on User Services (1987)

The university computing services newsletter is the most effective, efficient and consistent way to reach the largest number of computer users. It can also be more than a way to disseminate technical information and news to computer users. The newsletter is tangible evidence of the activities of computing services staff both for end-users and university administrators. It serves as a record of the progress of the computing services, provides incentive for staff to complete projects in a timely manner and signifies a commitment by the computing services to a stable end-user environment. In 1986, Tulane Computing Services (TCS) went from intermittent production of a newsletter which received little attention from users to a six-times yearly, professional quality publication which has attracted the attention of the University computing community, University administrators and computing services and libraries at other universities. There were eight key factors involved in this transition: (1) management commitment (financial, technical and personnel) to a professional quality newsletter; (2) access to state-of-the-art desktop publishing technology; (3) increased staff commitment to the publication; (4) cooperation with the administrative department responsible for all University publications; (5) development of a consistent newsletter format compatible with that used for all TCS publications; (6) dedication to providing a stable end-user environment; (7) increased access to information from computing services administrators, systems programmers and operations staff; and (8) the hiring of an individual with graphics design and computer expertise who was primarily responsible for all desktop publishing done within the computing services.
Generating an individualized user interface
Authors: J. Tague
Venue: Proceedings of the 10th annual international ACM SIGIR conference on Research and development in information retrieval (1987)

A model of the interface to an information retrieval system is developed based on the semantic data model. Using this framework, a method of developing customized user interfaces is described, in general terms and in a specific implementation in the Interface Builder module of the Western Information Retrieval System.
Variations on visibility
Authors: J. I. Munro, M. H. Overmars, D. Wood
Venue: Proceedings of the third annual symposium on Computational geometry (1987)

First, we propose a general framework that captures many of the variations on visibility found in the literature. Second, we investigate two specific variations: rectangular and square visibility. Given a set of n points in the plane, two points are said to be rectangularly visible if the orthogonal rectangle with the two points as opposite vertices has no other point of the set in its interior. In this paper it is shown that all pairs of rectangularly visible points in a set of size n can be determined in &Ogr;(n log n + k) time, where k is the number of reported pairs, using &Ogr;(n) space. Also, we consider the query problem: Given a set V and an arbitrary point p1 determine those points in V that are rectangularly visible from p. A dynamic data structure is described that uses &Ogr;(n log n) space, has a query time of &Ogr;(k + log2 n), and an update time of &Ogr;(log3 n). Using a similar approach, we are able, in 3-dimensions, to solve the all pairs problem in &Ogr;((n+ k log2 n) time and &Ogr;((n + k) log n) space. The query problem in 3-dimensions, can be solved in &Ogr;((1+k) log2 n) time using &Ogr;(n log3 n). Given a set of n points in the plane, two points are said to be squarely visible if there is an orthogonal square containing the two points but has no other point of the set in its interior. We provide an &Ogr;(n log n) time and &Ogr;(n) space algorithm to determine all visibility pair. In this case the algorithm is based on a solution to the query problem that requires &Ogr;(n) space, has a query time of &Ogr;((1+k) log n), and an update time of &Ogr;(log n).
Multiple-query optimization
Authors: Timos K. Sellis
Venue: ACM Transactions on Database Systems (TODS) (1988)

Some recently proposed extensions to relational database systems, as well as to deductive database systems, require support for multiple-query processing. For example, in a database system enhanced with inference capabilities, a simple query involving a rule with multiple definitions may expand to more than one actual query that has to be run over the database. It is an interesting problem then to come up with algorithms that process these queries together instead of one query at a time. The main motivation for performing such an interquery optimization lies in the fact that queries may share common data. We examine the problem of multiple-query optimization in this paper. The first major contribution of the paper is a systematic look at the problem, along with the presentation and analysis of algorithms that can be used for multiple-query optimization. The second contribution lies in the presentation of experimental results. Our results show that using multiple-query processing algorithms may reduce execution cost considerably.
VISION: VHDL induced schematic imaging on net-lists
Authors: R. K. Chun, K.-J. Chang, L. P. McNamee
Venue: Proceedings of the 24th ACM/IEEE Design Automation Conference (1987)

This paper describes a system capable of generating schematic diagrams for gate-level digital logic circuits given only their net-list descriptions in the VHSIC (Very High Speed Integrated Circuit) Hardware Description Language (VHDL). A combination of algorithmic and heuristic methods are employed to synthesize a schematic drawing which is as aesthetically pleasing and functionally readable to human designers as possible. A methodology for generating schematics which contain feedback loops is presented