ppxscal/embedding_network huggingface dataset:
An analysis of knowledge used for a structured selection problem
Authors: P. K. Fink, F. A. Iddings, M. A. Overby
Venue: Proceedings of the 1987 Fall Joint Computer Conference on Exploring technology: today and tomorrow (1987)

Many different problem solving domains, such as medical diagnosis or NDE methods selection, require not only a large amount of knowledge, but also a variety of types of knowledge. Such knowledge includes specific rules concerning the appropriateness of a selection in a given situation to a priori orderings of potential solutions. This paper presents an expert system, called the NDE-advisor, that must perform not only fuzzy, inexact, qualitatively-oriented reasoning, but must do so on very different types of knowledge in order to arrive at a solution. The NDE-advisor presents only one solution to the issue of comparing apples and oranges in an expert system, and much more work is needed in this area.
The impact of interprocedural analysis and optimization in the Rn programming environment
Authors: Keith D. Cooper, Ken Kennedy, Linda Torczon
Venue: ACM Transactions on Programming Languages and Systems (TOPLAS) (1986)

In spite of substantial progress in the theory of interprocedural data flow analysis, few practical compiling systems can afford to apply it to produce more efficient object programs. To perform interprocedural analysis, a compiler needs not only the source code of the module being compiled, but also information about the side effects of every procedure in the program containing that module, even separately compiled procedures. In a conventional batch compiler system, the increase in compilation time required to gather this information would make the whole process impractical. In an integrated programming environment, however, other tools can cooperate with the compiler to compute the necessary interprocedural information incrementally. as the program is being developed, decreasing both the overall cost of the analysis and the cost of individual compilations. A central goal of the Rn project at Rice University is to construct a prototype software development environment that is designed to build whole programs, rather than just individual modules. It employs interprocedural analysis and optimization to produce high-quality machine code for whole programs. This paper presents an overview of the methods used by the environment to accomplish this task and discusses the impact of these methods on the various environment components. The responsibilities of each component of the environment for the preparation and use of interprocedural information are presented in detail.
Software reuse through information retrieval
Authors: W B Frakes, B A Nejmeh
Venue: ACM SIGIR Forum (1986)

There is widespread need for safe, verifiable, efficient, and reliable software that can be delivered in a timely manner. Software reuse can make a valuable contrbution toward this goal by increasing programmer productivity and software quality. Unfortunately, the amount of software reuse currently done is quite small. DeMarco [1] estimates that in the average software development environment only about five percent of code is reused.
Realistic analysis of some randomized algorithms
Authors: E. Bach
Venue: Proceedings of the nineteenth annual ACM symposium on Theory of computing (1987)

Many problems such as primality testing can be solved efficiently using a source of independent, identically distributed random numbers. It is therefore customary in the theory of algorithms to assume the availability of such a source. However, probabilistic algorithms often work well in practice with pseudo-random numbers; the point of this paper is to offer a justification for this fact. The results below apply to sequences generated by iteratively applying functions of the form &fnof; (&khgr;) = &agr;&khgr; + &bgr; (mod p) to a randomly chosen seed x, and estimate the probability that a predetermined number of trials of an algorithm will fail. In particular, the following bounds hold: For finding square roots modulo a prime p, a failure probability of &Ogr; (log p/&radic;p). For testing p for primality, a failure probability of &Ogr; (p-1/4+&egr;), for any &egr;>0. (In both cases, the number of trials is about 1/2 log p.) The analysis uses results of Andr&eacute; Weil concerning the number of points on algebraic varieties over finite fields.
Autocompletion in full text transaction entry: a method for humanized input
Authors: M. Jakobsson
Venue: ACM SIGCHI Bulletin (1986)

A method for interactive validation of transaction data with autocompletion is introduced and analyzed in a library information system for periodical publications. The system makes it possible to identify the periodicals by using the full title thus making a separate coding phase unnecessary. Only the characters that are needed to distinguish the title from other ones have to be typed. In our library this is in the average 4.3 characters. We have noticed that it is faster to use the auto-completion system compared with the use of short codes and a code catalogue. The auto-completion feature causes more errors at least for the novices because the work differs from normal typing. The errors are, however, very easy to correct with the assistance of the system.
Logical foundations for knowledge representation in intelligent systems
Authors: B R Gaines
Venue: Proceedings of the ACM SIGART international symposium on Methodologies for intelligent systems (1986)

We have entered an era of intelligent system development in which fifth and sixth generation computing systems are expected to emulate and enhance natural intelligence. However, human knowledge processes are not well-understood and it is tempting to base the technology of intelligent systems on formal reasoning rather than human psychology. In particular, the attempt to base knowledge processing in fifth generation computing systems on logic programming suggests that we should examine the rationale behind standard logic. It was developed as a foundation for arithmetic and psychological considerations were ruled out as irrelevant. We should consider that there may be systems of logic more appropriate to knowledge processing. Logical and psychological system theories based on an axiom of unrestricted predication are plausible and attractive alternatives to standard logic. It is suggested that the design of logical inference processors should take such systems into account, and that investigation of the logical, psychological and systemic foundations of knowledge are fundamental to the development of intelligent systems.
Variable precision exponential function
Authors: T. E. Hull, A. Abrham
Venue: ACM Transactions on Mathematical Software (TOMS) (1986)

The exponential function presented here returns a result which differs from ex by less than one unit in the last place, for any representable value of x which is not too close to values for which ex would overflow or underflow. (For values of x which are not within this range, an error condition is raised.) It is a variable precision function in that it returns a p-digit approximation for a p-digit argument, for any p = 0 (p-digit means p-decimal-digit). The program and analysis are valid for all p = 0, but current implementations place a restriction on p. The program is presented in a Pascal-like programming language called Numerical Turing which has special facilities for scientific computing, including precision control, directed roundings, and built-in functions for getting and setting exponents.
Hierarchical cache/bus architecture for shared memory multiprocessors
Authors: A. W. Wilson,  Jr.
Venue: Proceedings of the 14th annual international symposium on Computer architecture (1987)

A new, large scale multiprocessor architecture is presented in this paper. The architecture consists of hierarchies of shared buses and caches. Extended versions of shared bus multicache coherency protocols are used to maintain coherency among all caches in the system. After explaining the basic operation of the strict hierarchical approach, a clustered system is introduced which distributes the memory among groups of processors. Results of simulations are presented which demonstrate that the additional coherency protocol overhead introduced by the clustered approach is small. The simulations also show that a 128 processor multiprocessor can be constructed using this architecture which will achieve a substantial fraction of its peak performance. Finally, an analytic model is used to explore systems too large to simulate (with available hardware). The model indicates that a system of over 1000 usable MIPS can be constructed using high performance microprocessors.
PECAN: Program Development Systems that Support Multiple Views
Authors: Steven P. Reiss
Venue: IEEE Transactions on Software Engineering (1985)

This paper describes the PECAN family of program development systems. PECAN supports multiple views of the user's program. The views can be representations of the program or of the corresponding semantics. The primary program view is a syntax-directed editor. The current semantic views include expression trees, data type diagrams, flow graphs, and the symbol table. PECAN is designed to make effective use of powerful personal machines with high-resolution graphics displays and is currently implemented on APOLLO workstations.
Program Translation Via Abstraction and Reimplementation
Authors: Richard C. Waters
Venue: IEEE Transactions on Software Engineering (1988)

An abstraction-and-reimplementation paradigm is presented in which the source program is first analyzed in order to obtain a programming-language-independent abstract understanding of the computation performed by the program as a whole. The program is then reimplemented in the target language based on this understanding. The key to this approach is the abstract understanding obtained. It allows the translator to benefit from an appreciation of the global features of the source program without being distracted by what are considered irrelevant details. Knowledge-based translation via abstraction and reimplementation is described as one of the goals of the Programmer's Apprentice project. A translator which translates Cobol programs into Hibol (a very-high-level business data processing language) has been constructed. A computer which generates extremely efficient PDP-11 object code for Pascal programs has been designed.
A collection of projects for the mathematical laboratory
Authors: Roman E. Maeder
Venue: ACM SIGSAM Bulletin (1987)

This collection of projects for the Mathematical Laboratory originated from an effort to provide the students of Mathematics or Computer Science with experience in the use of computers for the solution of scientific problems. Typically an existing software package is used to solve a problem from algebra, numerical analysis, statistics, physics, electronic engineering or computer science, to name a few. Emphasis is put on a scientific solution of the problems in contrast to the usual "exercises" in undergraduate teaching, including a report of the work done.
Elastically deformable models
Authors: Demetri Terzopoulos, John Platt, Alan Barr, Kurt Fleischer
Venue: Proceedings of the 14th annual conference on Computer graphics and interactive techniques (1987)

The theory of elasticity describes deformable materials such as rubber, cloth, paper, and flexible metals. We employ elasticity theory to construct differential equations that model the behavior of non-rigid curves, surfaces, and solids as a function of time. Elastically deformable models are active: they respond in a natural way to applied forces, constraints, ambient media, and impenetrable obstacles. The models are fundamentally dynamic and realistic animation is created by numerically solving their underlying differential equations. Thus, the description of shape and the description of motion are unified.
Distributed Diagnosis and the System User
Authors: S. E. Kreutzer, S. L. Hakimi
Venue: IEEE Transactions on Computers (1988)

The problem of how a user incapable of performing tests can diagnose a system, given the results of the Kuhl and Reddy algorithm, (1980 (3 paper), 1981), is addressed. In particular, the authors provide optimal or near-optimal algorithms for this purpose under a variety of assumptions.
Which way to go?
Authors: Kathy Hunter
Venue: Proceedings of the 15th annual ACM SIGUCCS conference on User Services (1987)

&ldquo;I've got a quick question&hellip;&rdquo; says User. Sure, I say. Yes&mdash;we all know that over-used phrase. What they think is a quick question may indeed be; it is the answer that is usually not. User and I prepare to consult. Actually, the philosophy I use isn't what the term consult constitutes. I work more in the counselor-type role. I ask User questions with the ultimate goal in mind that User decides which word processing package to purchase (or microcomputer or printer or whatever) and use&mdash;not me deciding for User. Important to remember is who, what, where, when, why and how (and how much!) User is usually more receptive, positive, and satisfied at the &ldquo;suggested&rdquo; solution. So a typical situation with User might be portrayed like the following:
Conversation-based mail
Authors: Douglas E. Comer, Larry L. Peterson
Venue: ACM Transactions on Computer Systems (TOCS) (1986)

A new message communication paradigm based on conversations that provides an alternative to memo- and conference-based mail is described. A conversation-based message system groups messages into conversations, and orders messages within a conversation according to the context in which they were written. The message context relation leads to an efficient implementation of conversations in a distributed environment and supports a natural ordering of messages when viewed by the user. Experience with a prototype demonstrates the workability of conversation-based mail and suggests that conversations provide a powerful tool for message communication.
On design of rotary array communication and wavefront-driven algorithms for solving large-scale band-limited matrix equations
Authors: K. Onaga, T. Takechi
Venue: Proceedings of the 13th annual international symposium on Computer architecture (1986)

This paper proposes a design of matrix machines for solving large-scale band-limited matrix equations. The design provides a guide-line for specifying functionality of each processing element PE, array arrangements of PEs, communication structures and parallel algorithms. The basic feature of the design is (1) a rotary array arrangement of data-flow type PEs with the slant width 2B-1 and circumference Z, on which the diagonal strip of a band-limited matrix data is wound around, and (2) wavefront-sequential executions of tasks, each of which is consisted of a group of pipelined wavefronts and circulates around the rotary array. The wavefront algorithm first produces the Gaussian solution via LU decomposition and then its accuracy is improved by applying the incomplete LU (conjugate) residual iteration.
Planar 2-pass texture mapping and warping
Authors: Alvy Ray Smith
Venue: Proceedings of the 14th annual conference on Computer graphics and interactive techniques (1987)

The 2-pass tranformation replaces a 2-D (2-dimensional) transformation with a sequence of orthogonal, simpler 1-D transformation. It may be used for the closely related processes of texture mapping and warping in computer graphics and image processing. First, texture maps onto planar quadric and superquadric surfaces and, second, planar bicubic and biquadratic warps of images are shown to be 2-pass transformable. A distinction between serial and parallel warps is introduced to solve a confusion in terms between computer graphics and image processing. It is shown that an n-th order serial polynomial warp is equivalent to an (n2+n)-th order parallel polynomial warp. It is also shown that the serial equivalent to a parallel polynomial warp is generally not a polynomial warp, being more complicated than a polynomial. The unusual problem of bottlenecking and the usual one of antialiasing are discussed in the 2-pass context.
Two Complementary Course Sequences on the Design and Implementation of Software Products
Authors: James E. Burns, Edward L. Robertson
Venue: IEEE Transactions on Software Engineering (1987)

For many students, the first chance to produce software as part of a team comes with the first work experience outside a university. The difficulties of working with others are compounded by the problems of working in a new environment and for a client with ambiguous and changing goals. Although it is difficult to approximate the "real world" accurately in an academic course, we have implemented two full-year course sequences which apparently give our students some insight into the problems they will face when they leave the university. One course requires the development and implementation of a software product by a team of undergraduates, and the other requires experienced graduate students to act as supervisors for the undergraduate projects. We describe the content and structure of these two sequences, emphasizing how they support and enhance each other. We believe other curricula would benefit from similar courses.
Definition and Design of Strongly Language Disjoint Checkers
Authors: Ingrid Jansch
Venue: IEEE Transactions on Computers (1988)

Strongly language-disjoint (SLD) checkers are to sequential systems what strongly code-disjoint checkers are to combinatorial systems. SLD checkers are the largest class of checkers with which a functional system can achieve the totally self-checking goal. Self-checking sequential systems are first addressed, and formal definitions of SLD checkers are given. The design of SLD checkers based on regular combinatorial self-checking components is then considered.
Bibliography: individual differences and computer-human interaction
Authors: Elizabeth A. Buie
Venue: ACM SIGCHI Bulletin (1986)

At the first meeting of the Interest Group on Individual Differences, held at CHI'85 (and reported in the July 1985 issue of the Bulletin), many attendees stated that they came to find out what was meant by "individual differences." Others had noticed differences among their users and were looking for guidelines to assist them in designing user-system interfaces to accommodate this variation. Still others, myself included, were familiar with one or two specific kinds of individual differences and had some ideas about their possible implications for USI design. Some of us had begun to investigate some of the differences, but no one seemed to have comprehensive information on the current state of knowledge about individual differences.
The Programmer's Apprentice: A Session with KBEmacs
Authors: Richard C. Waters
Venue: IEEE Transactions on Software Engineering (1985)

The Knowledge-Based Editor in Emacs (KBEmacs) is the current demonstration system implemented as part of the Programmer's Apprentice project. KBEmacs is capable of acting as a semiexpert assistant to a person who is writing a program-taking over some parts of the programming task. Using KBEmacs, it is possible to construct a program by issuing a series of high level comnmands. This series of commands can be as much as an order of magnitude shorter than the program it describes.
Software and Hardware in Data Processing Budgets
Authors: Vijay Gurbaxani, Haim Mendelson
Venue: IEEE Transactions on Software Engineering (1987)

This paper develops a microeconomic framework for the determination of data-processing budgets over time, and, in particular, the allocation of these budgets between software and hardware. The model dynamically balances the value and cost of information services, given the prevailing cost trends. It regards software and hardware as inputs to the process of producing information services, and identifies the complementarity and substitution between them as major determinants of the efficient budget allocation. The theory provides a basis for understanding the budgeting process and for predicting future trends, and is applied to actual budget data.
Predicting the time to recall computer command abbreviations
Authors: Bonnie E. John, Allen Newell
Venue: ACM SIGCHI Bulletin (1987)

A GOMS theory of stimulus-response compatibility is shown to predict response-time performance on a command/abbreviation encoding task. Working with parameters that were set by an earlier study and which have rational, task-meaningful interpretations as mapping, motor, perception and retrieval operators, zero-parameter predictions were made that fit the observed performance with r2 = 0.776 (p<0.05). The reasonableness of the parameters, the algorithms used to generate the predictions, and the weighting assumption used to combine algorithms into a single prediction are discussed.
The management of changing types in an object-oriented database
Authors: Andrea H. Skarra, Stanley B. Zdonik
Venue: Conference proceedings on Object-oriented programming systems, languages and applications (1986)

We examine the problem of type evolution in an object-oriented database environment. Type definitions are persistent objects in the database and as such may be modified and shared. The effects of changing a type extend to objects of the type and to programs that use objects of the type. We propose a solution to the problem through an extension of the semantic data model.A change in the interface defined by a type may result in errors when programs use new or old objects of the type. Through the use of an abstraction of the type over time, timestamping and error handling mechanisms provide support for the type designer in creating compatible versions of the type. The mechanisms are incorporated into the behavior defined by the type and are inherited via the type-lattice.
A structural view of the Cedar programming environment
Authors: Daniel C. Swinehart, Polle T. Zellweger, Richard J. Beach, Robert B. Hagmann
Venue: ACM Transactions on Programming Languages and Systems (TOPLAS) (1986)

This paper presents an overview of the Cedar programming environment, focusing on its overall structure&mdash;that is, the major components of Cedar and the way they are organized. Cedar supports the development of programs written in a single programming language, also called Cedar. Its primary purpose is to increase the productivity of programmers whose activities include experimental programming and the development of prototype software systems for a high-performance personal computer. The paper emphasizes the extent to which the Cedar language, with run-time support, has influenced the organization, flexibility, usefulness, and stability of the Cedar environment. It highlights the novel system features of Cedar, including automatic storage management of dynamically allocated typed values, a run-time type system that provides run-time access to Cedar data type definitions and allows interpretive manipulation of typed values, and a powerful device-independent imaging model that supports the user interface facilities. Using these discussions to set the context, the paper addresses the language and system features and the methodologies used to facilitate the integration of Cedar applications. A comparison of Cedar with other programming environments further identifies areas where Cedar excels and areas where work remains to be done.