ppxscal/embedding_network huggingface dataset:
Building reusable data representations with FaceKit
Authors: Roger King, Michael Novak
Venue: ACM SIGMOD Record (1992)

FaceKit is a toolkit for designing interfaces to object-oriented databases. It provides users with a set of tools for building custom interfaces with minimal programming. This is accomplished by combining techniques from the realm of User Interface Management Systems (UIMS) with a built-in knowledge about the specific kinds of techniques used by object-oriented databases. One of the main features of FaceKit is the ability to rapidly create reusable graphical constructs for representing schema or data objects. These constructs are stored within the database as methods, often dependent on attribute data. Building up a library of these data representations facilities reusability within a variety of databases.
Why is Software Late? An Empirical Study of Reasons for Delay in Software Development
Authors: Michiel van Genuchten
Venue: IEEE Transactions on Software Engineering (1991)

A study of the reasons for delay in software development is described. The aim of the study was to gain an insight into the reasons for differences between plans and reality in development activities in order to be able to take actions for improvement. A classification was used to determine the reasons. 160 activities, comprising over 15000 hours of work, have been analyzed. The results and interpretations of the results are presented. Insight into the predominant reasons for delay enabled actions for improvements to be taken in the department concerned. Because the distribution of reasons for delay varied widely from one department to another, it is recommended that every department should gain an insight into its reasons for delay in order to be able to take adequate actions for improvement.
A Method for Registration of 3-D Shapes
Authors: Paul J. Besl, Neil D. McKay
Venue: IEEE Transactions on Pattern Analysis and Machine Intelligence (1992)

The authors describe a general-purpose, representation-independent method for the accurate and computationally efficient registration of 3-D shapes including free-form curves and surfaces. The method handles the full six degrees of freedom and is based on the iterative closest point (ICP) algorithm, which requires only a procedure to find the closest point on a geometric entity to a given point. The ICP algorithm always converges monotonically to the nearest local minimum of a mean-square distance metric, and the rate of convergence is rapid during the first few iterations. Therefore, given an adequate set of initial rotations and translations for a particular class of objects with a certain level of 'shape complexity', one can globally minimize the mean-square distance metric over all six degrees of freedom by testing each initial registration. One important application of this method is to register sensed data from unfixtured rigid objects with an ideal geometric model, prior to shape inspection. Experimental results show the capabilities of the registration algorithm on point sets, curves, and surfaces.
Shared Block Contention in a Cache Coherence Protocol
Authors: Michel Dubois, Jin-Chin Wang
Venue: IEEE Transactions on Computers (1991)

Simulation is used to analyze shared block contention in eight parallel algorithms and its effects on the performance of a cache coherence protocol under the assumption of infinite cache sizes. A simple program model for data and block sharing is introduced, and an analytical closed-form solution is found for all components of the cache coherence overhead. This model is based on the observation that shared writable blocks are accessed in critical or in semicritical sections. The program model is applied to the analysis of multiprocessor systems with finite cache sizes and for steady state computations. The authors compare the model predictions to the results of execution-driven simulations of eight parallel algorithms. The simulation is conducted for various numbers of processors and different cache block sizes.
Preliminary ideas of a conceptual programming language
Authors: Cheng-xiang Zhai
Venue: ACM SIGPLAN Notices (1990)

This paper presents the preliminary ideas of a relational conceptual programming language CONPL (CONceptual Programming Language). CONPL allows users to use their own concepts instead of computer-related concepts to construct the program. It can also be used as a knowledge representation language. The paper gives the formal description of CONPL and discusses some implementation issues. The paper also explores its potential applications.
Exact and Approximate Solutions of the Perspective-Three-Point Problem
Authors: Daniel DeMenthon, Larry S. Davis
Venue: IEEE Transactions on Pattern Analysis and Machine Intelligence (1992)

Model-based pose estimation techniques that match image and model triangles require large numbers of matching operations in real-world applications. The authors show that by using approximations to perspective, 2D lookup tables can be built for each of the triangles of the models. An approximation called 'weak perspective' has been applied previously to this problem; the authors consider two other perspective approximations: paraperspective and orthoperspective. These approximations produce lower errors for off-center image features than weak perspective.
Function preconditions in object oriented software
Authors: Jean Pierre LeJacq
Venue: ACM SIGPLAN Notices (1991)

Functions in nonobject oriented languages are typically designed to minimize any preconditions which must be satisfied before the function can be legally called. In object oriented languages this prescription can reduce the refinement of the function through derivation. A tradeoff must be made between refinement potential, efficiency, and risk of incorrect usage.
(SM)/sup 2/-II: A Large-Scale Multiprocessor for Sparse Matrix Calculations
Authors: Hideharu Amano, Taisuke Boku, Tomohiro Kudoh
Venue: IEEE Transactions on Computers (1990)

(SM)/sup 2/-II is a large-scale parallel machine dedicated to scientific computation which includes sparse matrix calculations. In order to connect thousands of microprocessors and utilize a high degree of parallelism, the whole (SM)/sup 2/-II system is designed based on a simple computational model called the node and connecting-line (NC) model. The concept and the architecture of (SM)/sup 2/-II are described. The NC-model and a language called node oriented concurrent C (NCC) are derived. The concurrent process controller is briefly introduced. Receiver selectable multicast (RSM) is proposed, and the structure which allows connection of a large number of processing units is described. The performance of the RSM is analyzed. Some connection structures for clusters are evaluated. An operational prototype is introduced.
An architecture for understanding in planning, action, and learning
Authors: Richard Alterman, Tamitha Carpenter, Roland Zito-Wolf
Venue: ACM SIGART Bulletin (1991)

FLOABN is an integrated architecture for an intelligent agent that brings together planning, execution, learning, spatial reasoning, and the interpretation of instructions in natural language form. The system runs in an environment based on a discrete event simulation that models the temporal extent and sequencing of events and actions. Overall, the goal of this architecture is to facilitate the integration of several capabilities within an intelligent agent. This architecture supports the coordination of high-level mental activities with low-level hand-eye motor routines, with particular emphasis on the role of understanding.
A transformation-based approach to optimizing loops in database programming languages
Authors: Daniel F. Lieuwen, David J. DeWitt
Venue: Proceedings of the 1992 ACM SIGMOD international conference on Management of data (1992)

Database programming languages like O2, E, and O++ include the ability to iterate through a set. Nested iterators can be used to express joins. This paper describes compile-time optimizations similar to relational transformations like join reordering for such programming constructs. This paper also shows how to use a standard transformation-based optimizer to optimize these joins. An optimizer built using the EXODUS Optimizer Generator [GRAE87] was added to the Bell Labs O++ [AGRA89] compiler. We used the resulting optimizing compiler to experimentally validate the ideas in this paper. The experiments show that this technique can significantly improve the performance of database programming languages.
The impact of organisations on computers
Authors: Matthew R. Jones
Venue: ACM SIGCHI Bulletin (1991)

The traditional way of looking at computers and organisations has been to study the impact of computer systems on organisations. This paper, however, describes the impact of organisations on computers. It is also argued that the focus of attention in HCI research needs to be changed from its traditional emphasis on usability to consider whether, why and how systems are actually used in practice.The influence of four organisational factors (culture, politics, practice and history) on the use of computer systems in organisations is discussed. It is argued that each of these factors can have a substantial effect on systems and therefore need to be considered in interface design and research. Changes to the training of information systems developers are proposed to increase awareness of these issues.
Dynamic code replacement and Ada
Authors: Ken Tindell
Venue: ACM SIGAda Ada Letters (1990)

There is a problem in trying to maintain highly reliable software which must continue executing over a long period of time. This problem is characterised by the international space station Freedom. The space station has a long planned lifetime and requires that the computer system remain running for this period. Updates to software normally require reloading. This paper reports on a study into eliminating the need for reloading by providing mechanisms whereby Ada programs can be changed in a consistent manner, permitting the execution of the system to continue.
Conformal mapping using Bergman's method and the MAPLE system
Authors: Gerhard Jank, Lutz H. Tack
Venue: ACM SIGSAM Bulletin (1991)

In this paper we use Bergman's Kernel Method (BKM) for solving conformal mapping problems. In contrast to most conformal mapping techniques, the approximation of the solution is an analytic function. The main drawback of the method, however, is that it involves an orthonormalization process and thus is numerically unstable. This disadvantage can be overcome by using the MAPLE system which makes no use of Gaussian quadrature, so that approximation errors are almost entirely avoided. We tested how some typical domains can be treated.Using theorems of Walsh (1929) and Simonenko (1978) we determine a number N such that the error of the N-th approximation of the mapping function remains under a desired value.We compare the obtained results to the sharp asymptotic estimates of Gaier (1988) and to numerical results of Levin, Papamichael and Sideridis (1978) and Papamichael and Warby (1986).
Scenario? Guilty!
Authors: Morten Kyng
Venue: ACM SIGCHI Bulletin (1992)

Robert Campbell categorizes the word "scenario" as a buzzword, identifies four major uses within HCI and suggests that we adopt new terms differentiating these four uses of the word. My first reaction to reading the article was definitely positive, but rereading it gave me enough second thoughts to warrant a response. I should probably confess that I searched my latest paper for the word "scenario" and found eight occurrences, none of which fell in the categories described by Campbell.
Performance analysis of finite-buffered multistage interconnection networks with a general traffic pattern
Authors: T. Lin, L. Kleinrock
Venue: ACM SIGMETRICS Performance Evaluation Review (1991)

We present an analytical model for evaluating the performance of finite-buffered packet switching multistage interconnection networks using blocking switches under any general traffic pattern. Most of the previous research work has assumed unbuffered, single buffer or infinite buffer cases, and all of them assumed that every processing element had the same traffic pattern (either a uniform traffic pattern or a specific hot spot pattern). However, their models cannot be applied very generally. There is a need for an analytical model to evaluate the performance under more general conditions.We first present a description of a decomposition amp; iteration model which we propose for a specific hot spot pattern. This model is then extended to handle more general traffic patterns using a transformation method. For an even more general traffic condition where each processing element can have its own traffic pattern, we propose a superposition method to be used with the iteration model and the transformation method. We can extend the model to account for processing elements having different input rates by adding weighting factors in the analytical model.An approximation method is also proposed to refine the analytical model to account for the memory characteristic of a blocking switch which causes persistent blocking of packets contending for the same output ports. The analytical model is used to evaluate the uniform traffic pattern and a very general traffic pattern " EFOS". Comparison with simulation indicates that the analytical model is very accurate.
Voice in Computing: An Overview of Available Technologies
Authors: Carl R. Strathmeyer
Venue: Computer (1990)

An attempt is made to bridge the differences between the voice and computing disciplines and foster crossdisciplinary dialogue by presenting an overview of the technologies useful in building voice/computing applications, along with some examples to illustrate how they can be used. The voice technologies relevant to computing are grouped into three general categories and explored in detail. They consist of: content processing, which is the manipulation and analysis of the payload of a voice channel; connection control, which is the setup and manipulation of connections between voice equipment; and software architectures, i.e. the organization of computing system software to facilitate the creation of voice-related applications.
Concurrent object-oriented programming in Classic-Ada
Authors: Michael L. Nelson, Gilberto F. Mota, Vassilios Theologitis
Venue: ACM SIGAda Ada Letters (1992)

Although Ada supports concurrency and can thus be used as a concurrent programming language, it is not generally considered to be an object-oriented programming language. Classic-Ada is a preprocessor which adds the concepts of classes, inheritance, and dynamic binding to the Ada language. Classic-Ada is not billed as a concurrent object-oriented programming language, but it is possible to do anything in Classic-Ada that can be done in Ada. Thus, Classic-Ada can also serve as a concurrent object-oriented programming language. In this paper, we review the use of Classic-Ada in both concurrent and distributed environments.
Closing the window of vulnerability in multiphase memory transactions
Authors: John Kubiatowicz, David Chaiken, Anant Agarwal
Venue: ACM SIGPLAN Notices (1992)

Multiprocessor architects have begun to explore several mechanisms such as prefetching, context-switching and software-assisted dynamic cache-coherence, which transform single-phase memory transactions in conventional memory systems into multiphase operations. Multiphase operations introduce a window of vulnerability in which data can be invalidated before it is used. Losing data due to invalidations introduces damaging livelock situations. This paper discusses the origins of the window of vulnerability and proposes an architectural framework that closes it. The framework is implemented in Alewife, a large-scale multi-processor being built at MIT.
Language Design for Program Manipulation
Authors: Eduardus A. T. Merks, J. Michael Dyck, Robert D. Cameron
Venue: IEEE Transactions on Software Engineering (1992)

The design of procedural and object-oriented programming languages is considered with respect to how easily programs written in those languages can be formally manipulated. Current procedural languages such as Pascal, Modula-2 and Ada; generally support such program manipulations, except for some annoying anomalies and special cases. Three main areas of language design are identified as being of concern from a manipulation viewpoint: the interface between concrete and abstract syntax; the relationship between the abstract syntax and static semantics naming, scoping and typing; and the ability to express basic transformations (folding and unfolding). Design principles are suggested so that the problems identified for current languages can be avoided in the future.
Synthesis of Communication Protocols: Survey and Assessment
Authors: Robert L. Probert, Kassem Saleh
Venue: IEEE Transactions on Computers (1991)

Eleven methods for the synthesis of communication protocols are described. Based on particular features of the synthesis process, these methods are classified and compared. In particular, it is noted that interactive methods allow flexibility in the design process; as a result, communication patterns are not prespecified but may be constructed interactively. Methods that only consider the synchronous mode of behavior of communicating entities exclude a wide range of real-life protocols. Methods that make no reference to service requirements do not guarantee the semantic correctness of the synthesized protocol and therefore require the application of a semantic verification procedure. Most methods concentrate on the synthesis of the control part of the protocol entities, which mainly consists of the exchange of synchronization messages. The data part is not adequately treated by any of the synthesis methods. Other than the exchange of synchronization messages, some methods have been extended to deal with unreliable media by synthesizing error-recovery patterns. Some new research directions for enhancing the applicability of the synthesis approach to the design of real-life protocols are obtained.
Collaboration media: the problem of design by use and the use of design
Authors: P. T. Hughes, T. A. Plant, M. E. Morris, N. R. Seel
Venue: ACM SIGOIS Bulletin (1992)

The user-centred design of an experimental shared-window environment at BNR Europe Limited is discussed. This project is still on-going and we anticipate further valuable results from more experimental iterations with the evolving system this year.
OZ: a syntax generating editor
Authors: Martin Osborne
Venue: ACM SIGCSE Bulletin (1991)

In response to the needs of students taking introductory programming classes, we have a created a syntax generating editor. This simple to use and reasonably powerful editor helps students avoid syntax errors and also greatly eases and speeds the typing of programs. This is especially true in Modula-2 where the frequent need to change between upper and lower case places exhausting demands on even good typists. Changes in a configuration file allow the editor to work with a number of different programming languages. The editor is written in Pascal and runs under VAX/VMS. Source code, executable code, and documentation are available over the Internet.
Performance comparison of routing protocols using MaRS: distance-vector versus link-state
Authors: A. Udaya Shankar, Cengiz Alaettinoğlu, Ibrahim Matta, Klaudia Dussa-Zieger
Venue: Proceedings of the 1992 ACM SIGMETRICS joint international conference on Measurement and modeling of computer systems (1992)

There are two approaches to adaptive routing protocols for wide-area store-and-forward networks: distance-vector and link-state. Distance-vector algorithms use O(N x e) storage at each node, whereas link-state algorithms use O(N2), where N is the number of nodes in the network and e is the average degree of a node. The ARPANET started with a distance-vector algorithm (Distributed Bellman-Ford), but because of long-lived loops, changed to a link-state algorithm (SPF). We show, using a recently developed network simulator, MaRS, that a newly proposed distance-vector algorithm (ExBF) performs as well as SPF. This suggests that distance-vector algorithms are appropriate for very large wide-area networks.
Extending Fitts' law to two-dimensional tasks
Authors: I. Scott MacKenzie, William Buxton
Venue: Proceedings of the SIGCHI conference on Human factors in computing systems (1992)

Fitts' law, a one-dimensional model of human movement, is commonly applied to two-dimensional target acquisition tasks on interactive computing systems. For rectangular targets, such as words, it is demonstrated that the model can break down and yield unrealistically low (even negative!) ratings for a task's index of difficulty (ID). The Shannon formulation is shown to partially correct this problem, since ID is always &ge; 0 bits. As well, two alternative interpretations &ldquo;target width&rdquo; are introduced that accommodate the two-dimensional nature of tasks. Results of an experiment are presented that show a significant improvement in the model's performance using the suggested changes.
The Warp Machine on Navlab
Authors: Jill D. Crisman, Jon A. Webb
Venue: IEEE Transactions on Pattern Analysis and Machine Intelligence (1991)

The authors review the history of the Carnegie-Mellon Warp machine on Navlab, an autonomous land vehicle, and describe three Navlab vision systems implemented on the Warp machine. They then critically evaluate components of Warp in light of this experience. The Warp machine was used to implement stereo vision for obstacle avoidance and color-based road-following systems. The stereo-vision system was FIDO, which is derived from some of the earliest work in vision-guided robot vehicle navigation. Two color-based road following systems were implemented; one adapted conventional vision techniques to the problem of road recognition and the other used a neural network-based technique to learn road following online. Finally, the authors discuss the value of applications integration with machine development, discuss the limitations of the attached processor model, and give recommendations for future systems.
Object-oriented mechanisms
Authors: Colin Atkinson
Venue: ACM SIGAda Ada Letters (1990)

Three groups of requirements were considered in this session: Object-Oriented Programming  or more specifically, the mechanisms of inheritance and polymorphism. General References Finalisation Experience of object-oriented programming amongst the majority of delegates was fairly limited, so rather than attempt to assess the value of object-oriented mechanisms in themselves attention was focussed on their potential impact on the real-time requirements. The session began with a brief introduction of the requirements, and of the possible strategies for satisfying them in Ada 9X, followed by a general discussion.
Dynamic parsers and evolving grammars
Authors: S. Cabasino, Pier S. Paolucci, G. M. Todesco
Venue: ACM SIGPLAN Notices (1992)

We define "evolving grammars" as successions of static grammars and dynamic parsers as parsers able to follow the evolution of a grammar during the source program parsing. A growing context-free grammar will progressively incorporate production rules specific for the source program under parsing and will evolve following the context created by the source program itself toward a program specific context-free grammar. Dynamic parsers and growing grammars allow a syntactic-only parsing of programs written in powerful and problem adaptable programming languages. Moreover dynamic parsers easily perform purely syntactic strong type checking and operator overloading. The language used to specify grammar evolution and residual semantic actions can be the evolving language itself. The user can introduce new syntactic operators using a bootstrap procedure supported by the previously defined syntax.A dynamic parser ("ZzParser") has been developed by us and has been successfully employed by the APE 100 INFN group to develop a programming language ("ApeseLanguage") and other system software tools for the 100 GigaFlops SIMD parallel machine under development.