ppxscal/embedding_network huggingface dataset:
A new perspective on rule support for object-oriented databases
Authors: E. Anwar, L. Maugis, S. Chakravarthy
Venue: Proceedings of the 1993 ACM SIGMOD international conference on Management of data (1993)

This paper proposes a new approach for supporting reactive capability in an object-oriented database. We introduce an event interface, which extends the conventional object semantics to include the role of an event generator. This interface provides a basis for the specification of events spanning sets of objects, possibly from different classes, and detection of primitive and complex events. This approach clearly separated event detection from rules. New rules can be added and use existing objects, enabling objects to react to their own changes as well as to the changes of other objects. We use a runtime subscription mechanism, between rules and objects to selectively monitor particular objects dynamically. This elegantly supports class level as well as instance level rules. Both events and rules are treated as first class objects.
Distribution driven binary tree balancing with R-trees
Authors: Richard K. Brewer
Venue: Proceedings of the 1993 ACM conference on Computer science (1993)

A binary tree built by comparisons to theoretical rather than actual values can be balanced while it is being built, resulting in a BST the balance of which depends upon the distribution of the values rather than the order.
An integrated general purpose automated test environment
Authors: Peter A. Vogel
Venue: Proceedings of the 1993 ACM SIGSOFT international symposium on Software testing and analysis (1993)

As software systems become more and more complex, both the complexity of the testing effort and the cost of maintaining the results of that effort increase proportionately. Most existing test environments lack the power and flexibility needed to adequately test significant software systems. The CONVEX Integrated Test Environment (CITE) is discussed as an answer to the need for a more complete and powerful general purpose automated software test system.
Abstract description of pointer data structures: an approach for improving the analysis and optimization of imperative programs
Authors: Joseph Hummel, Laurie J. Hendren, Alexandru Nicolau
Venue: ACM Letters on Programming Languages and Systems (LOPLAS) (1992)

Even though impressive progress has been made in the area of optimizing and parallelizing array-based programs, the application of similar techniques to programs using pointer data structures has remained difficult. Unlike arrays which have a small number of well-defined properties, pointers can be used to implement a wide variety of structures which exhibit a much larger set of properties. The diversity of these structures implies that programs with pointer data structures cannot be effectively analyzed by traditional optimizing and parallelizing compilers. In this paper we present a new approach that leads to the improved analysis and transformation of programs with recursively defined pointer data structures. Our approach is based on a mechanism for the Abstract Description of Data Structures (ADDS). ADDS is a simple extension to existing imperative languages that allows the programmer to explicitly describe the important properties of a large class of data structures. These abstract descriptions may be used by the compiler to achieve more accurate program analysis in the presence of pointers, which in turn enables and improves the application of numerous optimizing and parallelizing transformations. We present ADDS by describing various data structures; we discuss how such descriptions can be used to improve analysis and debugging; and we supply three important transformations enabled by ADDS.
Practical data breakpoints: design and implementation
Authors: Robert Wahbe, Steven Lucco, Susan L. Graham
Venue: ACM SIGPLAN Notices (1993)

A data breakpoint associates debugging actions with programmer-specified conditions on the memory state of an executing program. Data breakpoints provide a means for discovering program bugs that are tedious or impossible to isolate using control breakpoints alone. In practice, programmers rarely use data breakpoints, because they are either unimplemented or prohibitively slow in available debugging software. In this paper, we present the design and implementation of a practical data breakpoint facility. A data breakpoint facility must monitor all memory updates performed by the program being debugged. We implemented and evaluated two complementary techniques for reducing the overhead of monitoring memory updates. First, we checked write instructions by inserting checking code directly into the program being debugged. The checks use a segmented bitmap data structure that minimizes address lookup complexity. Second, we developed data flow algorithms that eliminate checks on some classes of write instructions but may increase the complexity of the remaining checks. We evaluated these techniques on the SPARC using the SPEC benchmarks. Checking each write instruction using a segmented bitmap achieved an average overhead of 42%. This overhead is independent of the number of breakpoints in use. Data flow analysis eliminated an average of 79% of the dynamic write checks. For scientific programs such the NAS kernels, analysis reduced write checks by a factor of ten or more. On the SPARC these optimizations reduced the average overhead to 25%.
Japanese Activities in Virtual Reality
Authors: David Kahaner
Venue: IEEE Computer Graphics and Applications (1994)

Most virtual reality hardware in Japan has been imported from the US, and the large-scale applications have focused on games, where Sega Enterprises and Nintendo remain the market leaders. In addition to its successful home video and arcade machines businesses, Sega is moving aggressively into the amusement-park ride market. Outside these markets, Matsushita plans to release three commercial products in spring 1994. One is an immersive system for product showrooms to help Japanese home owners visualize new kitchens before ordering them. Another is a massage chair that uses VR images and sound to help relax users. The third is an exercise bicycle that lets the user cycle through a 3D virtual world while exercising. Many Japanese companies are interested in VR technology as a problem-solving tool. They are making progress in its use in equipment operation. They also realize that the ability to operate devices intuitively by ordinary gesture-like motions can be exploited in many practical fields. This ability could make human-machine interfaces easier, even if these interfaces fall short of outright VR. This article reviews a few recent industry and academic research projects. The current worldwide recession has flattened the overall rate of growth in Japanese research and development spending. Nevertheless, Japan reportedly has approximately 20 major VR research projects, mostly emphasizing communication. Japanese emphases on long-term planning and on targeting development toward specific products are their strengths in this emerging technology.
Finite representation of infinite query answers
Authors: Jan Chomicki, Tomasz Imieliński
Venue: ACM Transactions on Database Systems (TODS) (1993)

We define here a formal notion of finite representation of infinite query answers in logic programs. We apply this notion to DatalognS programs may be infinite and consequently queries may have infinite answers. We present a method to finitely represent infinite least Herbrand models of DatalognS program (and its underlying computational engine) can be forgotten. Given a query to be evaluated, it is easy to obtain from the relational specification finitely many answer substitutions that represent infinitely many answer substitutions to the query. The method involved is a combination of a simple, unificationless, computational mechanism (graph traversal, congruence closure, or term rewriting) and standard relational query evaluation methods. Second, a relational specification is effectively computable and its computation is no harder, in the sense of the complexity class, than answering yes-no queries. Our method is applicable to every range-restricted DatalognS program. We also show that for some very simple non-DatalognS logic programs, finite representations of query answers do not exist.
Three proposals for object orientation
Authors: Franklin Figoli
Venue: ACM SIGPLAN OOPS Messenger (1994)

People can reason in comprehension as well as in extension. The paper defines extension and comprehension reasoning through models, interprets Contemporary OO (COO) concepts in extension and in comprehension, shows that COO was developed in extension and uses the comprehension approach to define relative entities.Our intuitive comprehension reasoning focus the reasoning on relative entities, which are the "objects" of OO. Then, this reasoning uses an OO approach. As a result, OO can be developed with day to day concepts in a friendly, simple and meaningful way. The paper shows which is the everyday concept that corresponds to each one of the main concepts of COO. This allows to simplify COO and leads to make OO our natural way of dealing with the computer.The paper proposes the utilization of the "OO technology" of our intuitive comprehension reasoning as a base for OO developments. This leads to use the logic of this reasoning (which is not logic-mathematics) as the logic of OO, and leads to use Artificial Intelligence criteria as a basis for OO developments.The paper is one of the results a research, done by the author, in the logic of comprehension reasoning and in the computer methodologies and systems that follow from this logic.
IBM's relational DBMS products: features and technologies
Authors: C. Mohan
Venue: Proceedings of the 1993 ACM SIGMOD international conference on Management of data (1993)

This paper very briefly summarizes the features and technologies implemented in the IBM relational DBMS products. The topics covered include record and index management, concurrency control and recovery methods, commit protocols, query optimization and execution techniques, high availability and support for parallelism and distributed data. Some indications of likely future product directions are also given.
The experience of women in undergraduate computer science: what does the research say?
Authors: Kathy Howell
Venue: ACM SIGCSE Bulletin (1993)

In recent years the discipline of computer science has become recognized as a male dominated field. Attempts have been made to encourage more women to participate but, have such efforts been supported or directed by the available research? This article presents a description of the current situation and reviews the existing body of research related to the undergraduate experience of women in computer science. Based on the research, some implications for computer science education are outlined. Suggestions are also given for further research needed to more completely describe the current situation and direct changes.
A tool for the rapid evaluation of input devices using Fitts' law models
Authors: I. Scott MacKenzie, William Buxton
Venue: ACM SIGCHI Bulletin (1993)

A tool for building Fitts' law models is described. MODEL BUILDER runs on the Apple Macintosh using any device which connects to the Apple Desktop Bus. After 16 blocks of trials taking about 4--5 minutes, the program provides an immediate (albeit tentative) statistical analysis, showing the coefficients in the prediction equation, the coefficient of correlation, and a regression line with scatter points. MODEL BUILDER can be retrieved anonymously by researchers, educators, developers, or anyone with access to INTERNET through file-transfer-protocol (FTP).
Compile time instruction cache optimizations
Authors: Abraham Mendlson, Shlomit S. Pinter, Ruth Shtokhamer
Venue: ACM SIGARCH Computer Architecture News (1994)

This paper presents a new approach for improving performance of instruction cache based systems. The idea is to prevent cache misses caused when different segments of code which are executed in the same loop are mapped onto the same cache area. The new approach uses static information only and does not rely on any special hardware mechanisms such as support of noncachable addresses.The technique is based on replication of code together with algorithms for code placement. We introduce the notion of abstract caches and present simulation results of the new technique. The results show that in certain cases, the number of cache misses is reduced by two orders of magnitude.
Design tradeoffs for software-managed TLBs
Authors: Richard Uhlig, David Nagle, Tim Stanley, Trevor Mudge, Stuart Sechrest, Richard Brown
Venue: ACM Transactions on Computer Systems (TOCS) (1994)

An increasing number of architectures provide virtual memory support through software-managed TLBs. However, software management can impose considerable penalties that are highly dependent on the operating system's structure and its use of virtual memory. This work explores software-managed TLB design tradeoffs and their interaction with a range of monolithic and microkernel operating systems. Through hardware monitoring and simulation, we explore TLB performance for benchmarks running on a MIPS R2000-based workstation running Ultrix, OSF/1, and three versions of Mach 3.0.
An alternative to asynchronous transfer of control in Ada 9X
Authors: Charles J. Antonelli, Richard A. Volz
Venue: ACM SIGAda Ada Letters (1993)

We have observed the introduction of the asynchronous transfer of control (herein named ATC) into Ada 9X with some concern. We analyze the fundamental problems of ATC in the real-time environment and propose an alternative solution which we believe has improved properties.
Static and dynamic polling mechanisms for fieldbus networks
Authors: Prasad Raja, Guevara Noubir
Venue: ACM SIGOPS Operating Systems Review (1993)

Real-time local area networks like Fieldbus have to handle two types ofdata transfer, synchronous and asynchronous. The synchronous data is generated periodically and has to be transmitted before fixed deadlines. Asynchronous messages are generated by unforeseen events and thus cannot be predicted. The data transfer is handled in two different phases or time---windows. In this paper, we apply different algorithms that are known from the real-time schedluing discipline for real-time communication networks. Simplifications are made with respect to frame lengths and the resulting error is shown to be negligible for the type of data transfer considered. The algorithms generate the correct polling sequence for the data transfer automatically respecting the periodic deadlines. We also introduce dynamic mechanisms to extend time-windows and utilize the network bandwidth more efficiently. These algorithms are computed during the real-time operation of the network.
Implementing type classes
Authors: John Peterson, Mark Jones
Venue: Proceedings of the ACM SIGPLAN 1993 conference on Programming language design and implementation (1993)

We describe the implementation of a type checker for the functional programming language Haskell that supports the use of type classes. This extends the type system of ML to support overloading (ad-hoc polymorphism) and can be used to implement features such as equality types and numeric overloading in a simple and general way. The theory of type classes is well understood, but the practical issues involved in the implementation of such systems have not received a great deal of attention. In addition to the basic type checking algorithm, an implmenentation of type classes also requires some form of program transformation. In all current Haskell compilers this takes the form of dictionary conversion, using functions as hidden parameters to overloaded values. We present efficient techniques for type checking and dictionary conversion. A number of optimizations and extensions to the basic type class sytems are also described.
An accurate computation of the hypergeometric distribution function
Authors: Trong Wu
Venue: ACM Transactions on Mathematical Software (TOMS) (1993)

The computation of the cumulative hypergeometric distribution function is of interest to many researchers who are working in the computational sciences and related areas. Presented here is a new method for computing this function that applies prime number factorization to the factorials. We also apply cancellation to the numerator and denominator to reduce the computational complexity of the initial, the tail end, or weighted probabilities to achieve maximum accuracy. The new method includes two algorithms, one using recursion and the other using iteration. These two algorithms are machine independent; precision is arbitrary, subject to storage limitation. The development of the algorithms is discussed, and some test results and the comparison of these two algorithms are given. To implement both algorithms, we use the Ada programming language that is an American National Standard Institute standardized language. The language has special features such as exception handling and tasks. Exception handling is used to make programming easier and to prevent overflow or underflow conditions during the execution of the program. Tasks are used to compute the numerator and denominator concurrently, and to maximize the possible number of integer multiplications in the numerator and denominator. All of the computations can be done on currently available machines, and the time consumed by these computations remains reasonably small.
CRL/Pascal: a Pascal-oriented cross reference language and its applications
Authors: Xu Baowen
Venue: ACM SIGPLAN Notices (1993)

CRL/Pascal, a Pascal-oriented program cross reference language, is used to describe the definition and use information of entities in Pascal programs. In this paper, we shall introduce its design ideas, program structure and facilities, and generating tools, and then discuss the relationship between CRL/Pascal and PIDL/Pascal and Pascal-oriented program interface description language developed by the auther).
Glyphmaker: Creating Customized Visualizations of Complex Data
Authors: William Ribarsky, Eric Ayers, John Eble, Sougata Mukherjea
Venue: Computer (1994)

Glyphmaker allows nonexpert users to customize their own graphical representations using a simple glyph editor and a point-and-click binding mechanism. In particular, users can create and then alter bindings to visual representations, bring in new data or glyphs with associated bindings, change ranges for bound data, and do these operations interactively. They can also focus on data down to any level of detail, including individual elements, and then isolate or highlight the focused region. These features empower users, letting them employ their specialized domain knowledge to create customized visual representations for further exploration and analysis. For ease of design and use, we built Glyphmaker on top of Iris Explorer, the Silicon Graphics Inc. (SGI) dataflow visualization system. The current version of Glyphmaker has been successfully tested on a materials system simulation. We are planning a series of tests and evaluations by scientists and engineers using real data.
Design and verification of the Rollback Chip using HOP: a case study of formal methods applied to hardware design
Authors: Ganesh Gopalakrishnan, Richard Fujimoto
Venue: ACM Transactions on Computer Systems (TOCS) (1993)

The use of formal methods in hardware design improves the quality of designs in many ways: it promotes better understanding of the design; it permits systematic design refinement through the discovery of invariants; and it allows design verification (informal or formal). In this paper we illustrate the use of formal methods in the design of a custom hardware system called the &ldquo;Rollback Chip&rdquo; (RBC), conducted using a simple hardware design description language called &ldquo;HOP&rdquo;. An informal specification of the requirements of the RBC is first given, followed by a behavioral description of the RBC stating its desired behavior. The behavioral description is refined into progressively more efficient designs, terminating in a structural description. Key refinement steps are based on system invariants that are discovered during the design, and proved correct during design verification. The first step in design verification is to apply a program called PARCOMP to derive a behavioral description from the structural description of the RBC. The derived behavior is then compared against the desired behavior using equational verification techniques. This work demonstrates that formal methods can be fruitfully applied to a nontrivial hardware design. It also illustrates the particular advantages of our approach based on HOP and PARCOMP. Last, but not the least, it formally verifies the RBC mechanism itself.
An experiential approach to teaching students about usability and HCI
Authors: George Hackman,  Jr., Thomas W. Ferratt, Fantine M. Kerckaert
Venue: ACM SIGCHI Bulletin (1994)

As computers are utilized more in the workplace, the need for developing "easy-to-use" computer hardware and software has become more important. This has led to increased interest in testing the ease of use of software, i.e., software usability testing, and in researching the nature of human-computer interactions. Today's management information systems and computer science students will be designing and implementing the software systems of the future and, therefore, will need to understand the procedures of usability testing. They will also need to learn and appreciate questions addressed by human-computer interaction (HCI) research. Students in a scholars section of an Introduction to Computers and Information Systems class (MIS 103) at the University of Dayton, in Dayton, Ohio, were given the opportunity to increase their knowledge about usability testing and HCI research by participating in a "hands-on" project. This article describes and evaluates their experience, thereby providing guidance for incorporating usability principles in course work via direct experience in usability testing.
New NAG library software for first-order partial differential equations
Authors: S. V. Pennington, M. Berzins
Venue: ACM Transactions on Mathematical Software (TOMS) (1994)

New NAG Fortran Library routines are described for the solution of systems of nonlinear, first-order, time-dependent partial differential equations in one space dimension, with scope for coupled ordinary differential or algebraic equations. The method-of-lines is used with spatial discretization by either the central-difference Keller box scheme or an upwind scheme for hyperbolic systems of conservation laws. The new routines have the same structure as existing library routines for the solution of second-order partial differential equations, and much of the existing library software is reused. Results are presented for several computational examples to show that the software provides physically realistic numerical solutions to a challenging class of problems.