ppxscal/embedding_network huggingface dataset:
Merging BSP trees yields polyhedral set operations
Authors: Bruce Naylor, John Amanatides, William Thibault
Venue: Proceedings of the 17th annual conference on Computer graphics and interactive techniques (1990)

BSP trees have been shown to provide an effective representation of polyhedra through the use of spatial subdivision, and are an alternative to the topologically based b-reps. While bsp tree algorithms are known for a number of important operations, such as rendering, no previous work on bsp trees has provided the capability of performing boolean set operations between two objects represented by bsp trees, i.e. there has been no closed boolean algebra when using bsp trees. This paper presents the algorithms required to perform such operations. In doing so, a distinction is made between the semantics of polyhedra and the more fundamental mechanism of spatial partitioning. Given a partitioning of a space, a particular semantics is induced on the space by associating attributes required by the desired semantics with the cells of the partitioning. So, for example, polyhedra are obtained simply by associating a boolean attribute with each cell. Set operations on polyhedra are then constructed on top of the operation of merging spatial partitionings. We present then the algorithm for merging two bsp trees independent of any attributes/semantics, and then follow this by the additional algorithmic considerations needed to provide set operations on polyhedra. The result is a simple and numerically robust algorithm for set operations.
Graph coloring register allocation for processors with multi-register operands
Authors: Brian R. Nickerson
Venue: ACM SIGPLAN Notices (1990)

Though graph coloring algorithms have been shown to work well when applied to register allocation problems, the technique has not been generalized for processor architectures in which some instructions refer to individual operands that are comprised of multiple registers. This paper presents a suitable generalization.
Branch-and-bound algorithms on a hypercube
Authors: R. P. Pargas, D. E. Wooster
Venue: Proceedings of the third conference on Hypercube concurrent computers and applications - Volume 2 (1989)

The parallel implementation of branch-and-bound algorithms on multiprocessors has received an increasing amount of attention in recent years. This paper describes research currently being conducted at Clemson University. We study the job scheduling problem: given n jobs, each with processing time, pi, and due date, di, schedule these jobs on a single machine such that total tardiness is minimized. Total tardiness, T, is defined as: T = n &sum; i=1 wi * max { 0, Ci - di } where Ci is the completion time and wi is the weight of job i. The hypercube used is a Floating Point Systems T-20: sixteen INMOS Transputers, synchronous communication, programmed in OCCAM. We describe an implementation focusing specifically on efficient communication and load balancing algorithms.
Complete sequential specification allows for concurrent execution
Authors: R. Janicki, T. Muldner
Venue: Proceedings of the 17th conference on ACM Annual Computer Science Conference (1989)

In this paper we describe complete sequential specifications, that is sequential specifications extended with a declaration of the actions that are independent and have a potential for a concurrent execution. Next, we briefly describe the Banach programming language which supports the above form of specification. We show a translation of a particular form of the complete sequential specifications, namely Banach programs into a concurrent specification, in the form of synchronized, potentially concurrent regular expressions. The latter specification can be translated into an equivalent concurrent specification, and finally into a concurrent programming language, such as occam. Several examples explain our approach.
An early report on encompass
Authors: R. B. Terwilliger, R. H. Campbell
Venue: Proceedings of the 10th international conference on Software engineering (1988)

ENCOMPASS is an environment to support the incremental construction of Ada&reg; programs using executable specifications and formal techniques similar to the Vienna Development Method. ENCOMPASS supports the rigorous development of software: parts of a project may use completely formal methods, while other, less critical parts use less expensive techniques. ENCOMPASS provides automated support for all aspects of the development process including specification, prototyping, testing, formal verification, documentation, configuration control and project management. In ENCOMPASS, software can be specified using PLEASE, an Ada-based executable specification language which can be automatically translated into Prolog. A prototype implementation of ENCOMPASS has been constructed. In this paper, we give an overview of ENCOMPASS, describe the decisions made in the design of the prototype, and discuss the lessons learned in the process.
An investigation into the existence of subgroup concept in information systems personnel management
Authors: J. H. Ahn, S. Lee
Venue: Proceedings of the ACM SIGCPR conference on Management of information systems personnel (1988)

IS/DP department consists of managers and their subordinates. IS development projects involve a group of IS personnel consisting of and its members. This paper examines the supervisory relations by means of subgroup concepts developed in behavioral sciences. The study finds that in IS units in a large federal agency examined here managers differentiate members into subgroup.
The design of LINETOOL, a geometric editor
Authors: L. W. Ericson, C. K. Yap
Venue: Proceedings of the fourth annual symposium on Computational geometry (1988)

We describe the design of LINETOOL, a geometric editor. Researchers in the areas of computational geometry, robotics and algebraic computation need a graphical editor for composing geometric objects which does more than simply turn pixels on and off on the screen. This system will be a tool to help researchers make and demolish conjectures, and to experiment with ideas. Our editor will allow users to define geometric scenes by declaring geometric objects built up from constants, dependent and independent variables, and geometric constraints. The system will solve for the constraints, and display the resulting scene. The user may then make queries about spatial relationships between components of geometric objects in the scene, which will be answered correctly, that is, without errors due to numerical approximations.
Sensor Roll Angle Error for a Mobile Robot Using a Navigation Line
Authors: K. C. Drake, E. S. McVey, R. M. Iñigo
Venue: IEEE Transactions on Pattern Analysis and Machine Intelligence (1988)

An investigation of the effects of various error components in a mobile robot system, which uses a navigation line, was previously reported by the author in 1985. An analysis of the effects of these error components on the navigation line-width determination and obstacle-range determination is presented that provided equations that are used to predict the error resulting from changes in various system parameters. In particular, the change in the rotation angle of the robot sensor about its optical axis, called the roll angle, is examined. Numerical examples showing the characteristics of the derived error equations are also given.
Reduction of Obscuration Noise Using Multiple Images
Authors: Y. Nomura, H. Naruse
Venue: IEEE Transactions on Pattern Analysis and Machine Intelligence (1988)

Noise that replaces, rather than perturbs, a signal is not amenable to the usual approaches of noise removal. Here, multiple images of a stationary scene are used to reduce random obscuration or dropout noise by the following method. For each image coordinate, a gray-level initial histogram is computed over all the images. The initial histograms are averaged for all image coordinates, and for each image coordinate a gray-level histogram corresponding to the object is derived by subtracting the averaged histogram from the initial one. The gray level of the object is obtained from the resulting object histogram. The effectiveness of this method is confirmed through experiments using a scene obscured by air bubbles in a water tank.
Autonomous Mobile Robot Navigation and Learning
Authors: C. R. Weisbin, G. de Saussure, J. R. Einstein, F. G. Pin, E. Heer
Venue: Computer (1989)

Research focused on the development and experimental validation of intelligent control techniques for autonomous mobile robots able to plan and perform a variety of assigned tasks in unstructured environments is presented. In particular, an autonomous mobile robot, HERMIES-IIB intelligence experiment series, is described. It is a self-powered, wheel-driven platform containing an onboard 16-node Ncube hypercube parallel processor interfaced to effectors and sensors through a VME-based system containing a Motorola 68020 processor, a phased sonar array, dual manipulator arms, and multiple cameras. Research on navigation and learning is examined.
FACOM 6443 magneto-optic disk sub-system
Authors: Y. Inouye, S. Hatayama
Venue: Proceedings of the 1988 ACM/IEEE conference on Supercomputing (1988)

There has always been a strong market requirement for rewritable optical disk drive as a follow-on product to read-only and write-once type optical disks. Fujitsu has been researching magneto-optic recording technologies for rewritable optical disk, and has developed a disk sub-system with initiative of the National Aerospace Laboratory (NAL) in Tokyo. The drive has a large storage capacity of 8.9 GB/spindle with a few seconds of access time. It can store data economically in a small floor space, and it can be used as a supplement or partial alternative to magnetic disk drives or tape library units. The sub-system will be used from the beginning of 1989. This paper explains the drive technologies, support software as well as the application of this new sub-system at NAL.
A deterministic algorithm for partitioning arrangements of lines and its application
Authors: P. K. Agarwal
Venue: Proceedings of the fifth annual symposium on Computational geometry (1989)

In this paper we consider the following problem: Given a set &lagran; of n lines in the plane, partition the plane into &Ogr;(r2) triangles so that no triangle intersects more than &Ogr;(n/r) lines of &lagran;. We present a deterministic algorithm for this problem with &Ogr;(nr log n log&ohgr; r) running time, where &ohgr; is a constant < 3.3. Our algorithm is faster than Matousk's recent algorithm [Ma] for large values of r. In the second part of the paper, we apply this algorithm to several problems involving lines or segments in the plane, and obtain deterministic algorithms which are faster than any previously known algorithms. For example we give an &Ogr;(n2/3m2/3 log n log&ohgr;/3 m/&radic;n + (m + n) log n) algorithm to compute all incidences between m points and n lines. Other problems include computing many faces in an arrangement of lines or segments, counting segment intersections, red-blue intersection detection, simplex range queries and computing stabbing trees with low stabbing number.
Validating a Demonstration Tool for Graphics-Assisted Debugging of Ada Concurrent Programs
Authors: Michael B. Feldman, Melinda L. Moran
Venue: IEEE Transactions on Software Engineering (1989)

A demonstration-quality graphics-assisted debugger is developed for intertask communication in Ada. Based on the static task-specification diagrams of G. Booch, the debugger animates the activity of a collection of communicating tasks, and it runs on a DEC GIGI terminal connected to a VAX 11-780 under TeleSoft's partial Ada compiler. The model has been subjected to empirical validation, using undergraduate students as experimental subjects. Subjects were required to debug erroneous tasking programs using both the graphical debugger and a textual one. It is concluded that although the problems to be addressed in the development and evaluation of a graphical debugging tool for Ada tasks are nontrivial, the benefits could be worth the effort.
Documenting the software development process
Authors: June S. Hopkins, Jean M. Jernow
Venue: ACM SIGDOC Asterisk Journal of Computer Documentation (1990)

The Software Engineering Process Group (SEPG) at the Data Systems Division of Litton Systems, Inc., was given the task of documenting the software development process used within the division. This paper describes how the SEPG at Litton accomplished this task. It discusses the sources we used for guidance and describes the resulting documentation for defining the software development process and the methods and tools that support the process. After reviewing the existing software process documentation at Litton, the SEPG concluded that three separate documents were required: a revised set of Software Policies and Procedures (PPGs), a Software Engineering Handbook, and a Software Management Handbook. The SEPG established working groups to develop these documents. The working group responsible for the Software Engineering Handbook decided to develop it as a user manual for the software development process. Following Weiss' guidelines for developing a usable user manual, the working group developed storyboards for sections of the manual. A model initially developed at IBM and refined by SEI and others was used to describe the software development process as a series of work tasks, each of which has entry criteria, exit criteria, objectives, and steps to perform. Several authors developed the storyboards and the corresponding modules of the handbook. The handbook was partitioned into short modules, each of which has a topic sentence and a figure (where applicable). The result is a modular Software Engineering Handbook that is easy to read and maintain. The use of working groups and the development of the Software Engineering Handbook as a user manual proved to be efficient and effective methods for generating high quality software process documentation.
A software instruction counter
Authors: J. M. Mellor-Crummey, T. J. LeBlanc
Venue: ACM SIGARCH Computer Architecture News (1989)

Although several recent papers have proposed architectural support for program debugging and profiling, most processors do not yet provide even basic facilities, such as an instruction counter. As a result, system developers have been forced to invent software solutions. This paper describes our implementation of a software instruction counter for program debugging. We show that an instruction counter can be reasonably implemented in software, often with less than 10% execution overhead. Our experience suggests that a hardware instruction counter is not necessary for a practical implementation of watch-points and reverse execution, however it will make program instrumentation much easier for the system developer.
E-CCC: between CCC and topos, ¿ its expressive power from the viewpoint of data type theory
Authors: Sato Hiroyuki
Venue: Journal of Symbolic Computation (1989)

The cartesian closed category (ccc) and topos differ from each other in both the descriptive power and the executability. A ccc cannot express the rich structure of data types, in particular, the concept of subtypes, while it has an executable structure as a model of typed @l-calculus. On the othe rhand, topos has the strong expressive power of the concept of subtypes, although it does not in general have a good correspondence to any computation system. This article introduces the structure of e-ccc, as an intermediate of the ccc and topos. The e-ccc has the correspondence to @l-calculus based on an extended abstract data type theory and thus can be considered to be executable. This theory can be considered to be between typed @l-calculus(ccc) and higher order intuitionistic type theory(topos). General discussion on data type theory and category theory is also made. Moreover, relations between e-ccc and ccc or topos are discussed. In particular, topos is proved to be a specially-structured e-ccc.
A Hierarchical Knowledge Based System for Airplane Classification
Authors: D. I. Moldovan, C.-I. Wu
Venue: IEEE Transactions on Software Engineering (1988)

Airplane classification is used as an application domain to illustrate how hierarchical reasoning on large knowledge bases can be implemented. The knowledge base is organized as a two-dimensional hierarchy: one dimension corresponds to the levels of complexity often seen in computer vision, and the other dimension corresponds to the complexity of hypothesis used in the reasoning process. Reasoning proceeds top-down, from more abstract levels with fewer details toward levels with more details. Whenever possible, with the help of domain knowledge, decision is taken at a higher level, which significantly reduces processing time. A software package called RuBICS (Rule-Based Image Classification System) is described, and some examples of airplane classification are shown.
Micro-analysis of the titans's operating pipe
Authors: J. Sanguinetti
Venue: Proceedings of the 2nd international conference on Supercomputing (1988)

Much of the performance analysis done in designing a computer is based on fundamental operation rates, like cycle time and number of pipe stages in an operation pipeline. This kind of analysis yields peak computation rates which, in fact, may never be realized. Resource contention between different units, each of which has a fundamental operation rate adequate to support a given overall peak, may cause the actual obtainable rate to be much less. In order to determine the effects of interactions between different requestors and common resources, micro-analysis, or detailed modelling of the part of the system in question, is necessary. In this paper, we report on the results of such an analysis on the operation pipe of the Titan graphics supercomputer. The Titan is a new class of machine with a supercomputer-style architecture implemented in a technology appropriate for a single-user machine. The micro-analysis reported here resulted in enhancing the actual obtainable computation rate from 10.8 Mflops to 14.6 Mflops for a particular real application, while the fundamental operation rate is 16 Mflops.
Verifying General Safety Properties of Ada Tasking Programs
Authors: Laura K. Dillon
Venue: IEEE Transactions on Software Engineering (1990)

The isolation approach to symbolic execution of Ada tasking programs provides a basis for automating partial correctness proofs. The strength of this approach lies in its isolation nature; tasks are symbolically executed and verified independently, and then checked for cooperation where interference can occur. This keeps the verification task computationally feasible and enhances its compositionality. Safety, however, is a more appropriate notion of correctness for concurrent programs than partial correctness. The author shows how the isolation approach to symbolic execution of Ada tasking program supports the verification of general safety properties. Specific safety properties that are considered include mutual exclusion, freedom from deadlock, and absence of communication failure. The techniques are illustrated using a solution to the readers and writers problem.
Designing casual-user hypertext: the CHI'89 InfoBooth
Authors: Gitta B. Salomon
Venue: Proceedings of the SIGCHI conference on Human factors in computing systems: Empowering people (1990)

An interactive electronic information kiosk was created for the CHI '89 conference. Based on Macintosh&reg; technology, the &ldquo;InfoBooth&rdquo; included a custom HyperCard&reg; interface built by a team at Apple Computer. The design was initiated by examining the desires of potential users. Design changes, influenced by the results of informal user testing, were numerous. During the conference, user actions were recorded using an embedded &ldquo;trace&rdquo; program to allow for later usage assessment. This paper offers a case study for designers of similar systems. Aspects of the pre-conference design evolution are described. The impact of user testing is discussed and findings from the analysis of the trace data are presented.
NC Algorithms for Recognizing Chordal Graphs and k Trees
Authors: N. Chandrasekharan, S. S. Iyengar
Venue: IEEE Transactions on Computers (1988)

The authors present parallel algorithms for recognizing the chordal graphs and k trees. Under the PRAM (parallel random-access-machine) model of computation with concurrent reading and writing allowed, these algorithms take O(log n) time and require O(n/sup 4/) processors. The algorithms have a better processor bound than an independent result by A. Edenbrandt (1985) for recognizing chordal graphs in parallel using O(n/sup 3/m) processors.
A preferable look&mdash;APL in window-based environments
Authors: Ursula Recker, Michael Rys
Venue: ACM SIGAPL APL Quote Quad (1990)

Currently, most APL systems are line and workspace oriented. It will be shown how a modern APL could fit into a window-based, event driven environment. To achieve this goal, a future user interface in an experimental environment is sketched by presenting its language environment, the editor and the debugging facility.
Distributed orthogonal factorization
Authors: A. Pothen, P. Raghavan
Venue: Proceedings of the third conference on Hypercube concurrent computers and applications - Volume 2 (1989)

We describe several algorithms for computing the orthogonal factorization on distributed memory multiprocessors. One of the algorithms is based on Givens rotations, two others employ column Householder transformations but with different communication schemes: broadcast and pipelined ring. A fourth algorithm is a hybrid; it uses Househlolder transformations and Givens rotations in separate phases. We present expressions for the arithmetic and communication complexity of each algorithm. The algorithms were implemented on an iPSC-286 and the observed times agree well with our analyses.
Modeling of Correlated Failures and Community Error Recovery in Multiversion Software
Authors: Victor F. Nicola, Ambuj Goyal
Venue: IEEE Transactions on Software Engineering (1990)

Three aspects of the modeling of multiversion software are considered. First, the beta-binomial distribution is proposed for modeling correlated failures in multiversion software. Second, a combinatorial model for predicting the reliability of a multiversion software configuration is presented. This model can take as inputs failure distributions either from measurements or from a selected distribution (e.g. beta-binomial). Various recovery methods can be incorporated in this model. Third, the effectiveness of the community error recovery method based on checkpointing is investigated. This method appears to be effective only when the failure behaviors of program versions are lightly correlated. Two different types of checkpoint failure are also considered: an omission failure where the correct output is recognized at a checkpoint but the checkpoint fails to correct the wrong outputs and a destructive failure where the good versions get corrupted at a checkpoint.
Treating IS development as a business: an agenda for research
Authors: P. S. Licker
Venue: ACM SIGCPR Computer Personnel (1989)

The Data Processing Department: Role, Function, StructureThe role of the DP department is to provide information services, software, and consulting to the rest of the firm. The first role is historically the oldest and is closely related to the roots of the DP department in mechanical processing of records relating to personnel and sales. It is a bulk, batch processing activity historically, although today a great deal of this processing is done on-line through terminals at managers' and analysts' desks. Nonetheless, there is little doubt that the majority of CPU cycles and the bulk of operational labour involved in running a data processing department is dedicated to batch processing of records.