ppxscal/embedding_network huggingface dataset:
Expanders, sorting in rounds and superconcentrators of limited depth
Authors: N Alon
Venue: Proceedings of the seventeenth annual ACM symposium on Theory of computing (1985)

Expanding graphs and superconcentrators are relevant to theoretical computer science in several ways. Here we use finite geometries to construct explicitly highly expanding graphs with essentially the smallest possible number of edges. Our graphs enable us to improve significantly previous results on a parallel sorting problem, by describing an explicit algorithm to sort n elements in k time units using &Ogr;(n&agr;k) processors, where, e.g., &agr;2 = 7/4. Using our graphs we can also construct efficient n-superconcentrators of limited depth. For example, we construct an n superconcentrator of depth 3 with &Ogr;(n4/3) edges; better than the previous known results.
Issues in the pragmatics of qualitative modeling: lessons learned from a xerographics project
Authors: Jeff Shrager, Daniel S. Jordan, Thomas P. Moran, Gregor Kiczales, Daniel M. Russell
Venue: Communications of the ACM (1987)

The photocopier is one of the most complex machines because xerography involves many types of physical phenomena. ARIA is a qualitative simulation of xerography that is intended to teach technicians the reasons behind some of the subtle problems that occur in copiers. This effort to model xerography exposed shortcomings in the techniques of qualitative modeling as applied to complex systems and helped to better understand the impact of certain basic modeling decisions.
Learning to program and learning to think: what's the connection?
Authors: Richard E. Mayer, Jennifer L. Dyck, William Vilberg
Venue: Communications of the ACM (1986)

Focusing on thinking skills that are cognitive components of programming&mdash;rather than on intellectual ability&mdash;can illuminate the relationship between learning a programming language and learning more about thinking processes.
Analysis of Database System Architectures Using Benchmarks
Authors: S. Bing Yao, Alan R. Hevner, Hélène Young-Myers
Venue: IEEE Transactions on Software Engineering (1987)

Database machine architectures have been proposed as a promising alternative to improve database system performance, control, and flexibility. While many claims have been made for the database machine concept, few studies have been made to test the performance advantages and disadvantages of a database machine in an application environment. A comprehensive benchmark study comparing the performance of database systems on a conventional computer system and a database machine is reported in this paper. The results show the database machine architecture to have superior performance in most cases. The performance advantage is sensitive to the communication line speed between the host computer and the database machine. The effects of line speed are studied and displayed in the benchmark results. A summary of the similarities and differences between the architectures based upon our benchmark results completes the paper.
Softool uses' group meets
Authors: J Galbraith
Venue: ACM SIGSOFT Software Engineering Notes (1987)

The fifth semiannual international meeting of the Softool Users' Group was held in Parsippany, N.J., Sept. 22 and 23. Over 70 users, Softool representatives, and guests attended the two-day event, which was hosted by the U.S. Army ARDEC. The major highlight of this meeting was the presentation of case studies describing the methodologies used to automate change and configuration management in different specific environments through the use of Softool's Change and Configuration Control (CCC trade;).
Launching a successful CPME program in a multi-vendor environment
Authors: Rogert G Ruckert, John D Dean
Venue: ACM SIGOPS Operating Systems Review (1987)

Establishing a modest CPME (Computer Performance, Management, and Evaluation) program is often regarded as being a difficult and expensive project. This image is compounded when a multi-vendor environment exists. This article describes how to establish a CPME program in such an environment without committing substantial resources to it. It details how such a program was constructed and implemented at Medtronic, Inc.
The MAFT Architecture for Distributed Fault Tolerance
Authors: Roger M. Kieckhafer, Chris J. Walter Alan M. Finn Philip M. Thambidurai
Venue: IEEE Transactions on Computers (1988)

A description is given of the multicomputer architecture for fault tolerance (MAFT), a distributed system designed to provide extremely reliable computation in real-time control systems. MAFT is based on the physical and functional partitioning of executive functions from applications functions. The implementation of the executive functions in a special-purpose hardware processor allows the fault-tolerance functions to be transparent to the application programs and minimizes overhead. Byzantine agreement and approximate agreement algorithms are used for critical system parameters. MAFT supports the use of multiversion hardware and software to tolerate built-in or generic faults. Graceful degradation and restoration of the application workload is permitted in response to the exclusion and readmission of nodes, respectively.
Equipment maintenance as a user service
Authors: David Oliver, David Bainum
Venue: Proceedings of the 15th annual ACM SIGUCCS conference on User Services (1987)

Equipment maintenance services are not usually considered as a user service. These services are, however, important for user satisfaction as equipment malfunctions cause frustration and can result in loss of information. During the past two years, the Academic Computer Center at Washburn University has developed maintenance laboratory facilities and a maintenance staff of one full-time person. The impetus to do this came from the realization that acquiring off-campus maintenance was becoming increasingly costly with little or no control over the quality and timeliness of the maintenance services procured off-campus. Also, there was no program of preventative maintenance which let to equipment failure during classes with the associated frustration of both faculty and students. The growth in the population of microcomputers and terminals connected to a minicomputer required that some program be developed to maintain the computing equipment and build and maintain data communications networks. This paper will point out that maintenance, while often not considered a user service, is in fact an increasingly important user service as the user community expands and users come to look upon access to a computer as a basic service. The paper will discuss what maintenance services are provided at Washburn and the policies which govern the access to these services. It will also cover the benefits and problems associated with doing your own maintenance and how some strategies for getting maximum benefit from the resources which are allocated for maintenance activities.
Experience with a Software Engineering Project Course
Authors: William M. Mc Keeman
Venue: IEEE Transactions on Software Engineering (1987)

This paper presents an approach to meeting the academic objectives of advanced software engineering project courses. The objectives are increased competence and confidence of the students in carrying out software development projects. The academic context includes a simulated industrial context. Part of the industrial context consists of industrial roles played for the student team by the instructor and others. The project itself is divided into tasks related to deliverables and collateral responsibilities. The software production model is a combination of the waterfall, iterative enhancement, and document-driven techniques. A software development environment is mentioned although the details are presented elsewhere. Further detail is given for five project courses conducted by the author.
A project centered programming language course
Authors: Robert Trenary
Venue: ACM SIGCSE Bulletin (1987)

A programming language course is difficult to organize because of the diversity of languages and concepts discussed. A Lisp-based project described here provides a unifying context within which to demonstrate programming language features such as data abstraction, packages, and overloading. This approach has proven to be a successful strategy in organizing a programming language course.
Heuristic Algorithms for Single Row Routing
Authors: David Hung-Chang Du, Lee-Chin Hsu Liu
Venue: IEEE Transactions on Computers (1987)

A heuristic algorithm, based on the criterion of having nets with larger cut numbers assigned to inner tracks and nets with smaller cut numbers assigned to outer tracks, for single row routing problem has recently been proposed by Tarng et al. It has been reported that this algorithm has always been able to produce the optimal solutions for all the examples tested so far. In this paper, we have proved that algorithms based on the heuristic criterion of cut numbers produce optimal solutions for instances in which all nets cover at least one common node (i.e., form a single group). However, the algorithm proposed by Tarng et al. may not produce optimal solutions for instances of multiple net groups. Thus, several possible heuristic algorithms based on the same criterion, but also taking into consideration the net grouping situation have been proposed. The experimental results show that the proposed algorithms are faster and often generate better results than the one proposed by Tarng et al. A tighter lower bound on the number of tracks required is also obtained in this paper.
Extended pascal - illustrative features
Authors: D A Joslin
Venue: ACM SIGPLAN Notices (1986)

The Pascal standard (BS6192/ISO7185) is due for revision in about 1987, with BSI as the "sponsoring body". Consideration of the revision began in 1984 within BSI. In addition, the Joint X3J9/IEEE-P77 Oslash; Pascal Standards Committee (JPC) has coordinated a great deal of research into proposed extensions to classic Pascal. An ISO Pascal working group, mainly composed of BSI and JPC members, was set up in 1985 to produce an "Extended Pascal" standard; this group has agreed with JPC the contents of a draft for public comment.
Monitoring distributed systems
Authors: Jeffrey Joyce, Greg Lomow, Konrad Slind, Brian Unger
Venue: ACM Transactions on Computer Systems (TOCS) (1987)

The monitoring of distributed systems involves the collection, interpretation, and display of information concerning the interactions among concurrently executing processes. This information and its display can support the debugging, testing, performance evaluation, and dynamic documentation of distributed systems. General problems associated with monitoring are outlined in this paper, and the architecture of a general purpose, extensible, distributed monitoring system is presented. Three approaches to the display of process interactions are described: textual traces, animated graphical traces, and a combination of aspects of the textual and graphical approaches. The roles that each of these approaches fulfill in monitoring and debugging distributed systems are identified and compared. Monitoring tools for collecting communication statistics, detecting deadlock, controlling the non-deterministic execution of distributed systems, and for using protocol specifications in monitoring are also described. Our discussion is based on experience in the development and use of a monitoring system within a distributed programming environment called Jade. Jade was developed within the Computer Science Department of the University of Calgary and is now being used to support teaching and research at a number of university and research organizations.
A historical perspective for teaching
Authors: Angela B. Shiflet
Venue: Proceedings of the eighteenth SIGCSE technical symposium on Computer science education (1987)

A historical perspective in a computer science or mathematics course can help to make the class more interesting as well as help to provide an understanding of the evolution of the subject. Several anecdotes that can be used in teaching such courses will be covered in this paper.
Reconfigurable Tree Architectures Using Subtree Oriented Fault Tolerance
Authors: M. B. Lowrie, W. K. Fuchs
Venue: IEEE Transactions on Computers (1987)

An approach to the design of reconfigurable tree architectures is presented in which spare processors are allocated at the leaves. The approach is unique in that spares are associated with subtrees and sharing of spares between these subtrees can occur. The Subtree Oriented Fault Tolerance (SOFT) approach is more reliable than previous approaches capable of tolerating link and switch failures for both single-chip and multichip tree implementations while reducing redundancy in terms of both spare processors and links. VLSI layout is O(n) for binary trees and is directly extensible to N-ary trees and fault tolerance through performance degradation.
On the Augmented Data Manipulator Network in SIMD Environments
Authors: Kyungsook Y. Lee, Daeshik Lee
Venue: IEEE Transactions on Computers (1988)

Formulas for the number of the augmented-data-manipulator (ADM)-passable permutations were given previously as cross-recurrence relations for the cardinalities of three specific subsets of such permutations. More concise, transparent recurrence formulas are derived utilizing a novel and conceptually simple model of the ADM. As a byproduct, a global control algorithm for the inverse ADM (IADM) is obtained that can set paths for all the IADM-passable permutations. This algorithm can be adapted for the ADM. Also included are two local control algorithms for the IADM/ADM: the signed bit difference tag control and the destination tag control.
Snap-dragging
Authors: Eric A. Bier, Maureen C. Stone
Venue: ACM SIGGRAPH Computer Graphics (1986)

We are interested in the problem of making precise line drawings using interactive computer graphics. In precise line drawings, specific relationships are expected to hold between points and lines. In published interactive drawing systems, precise relationships have been achieved by using rectangular grids or by solving simultaneous equations (constraints). The availability of fast display hardware and plentiful computational power suggest that we should take another look at the ruler and compass techniques traditionally used by draftsmen. Snap-dragging uses the ruler and compass metaphor to help the user place his next point with precision, and uses heuristics to automatically place guiding lines and circles that are likely to help the user construct each shape. Snap-dragging also provides translation, rotation, and scaling operations that take advantage of the precision placement capability. We show that snap-dragging compares favorably in power and ease of use with grid or constraint techniques.
Anti-aliasing in topological color spaces
Authors: Kenneth Turkowski
Venue: ACM SIGGRAPH Computer Graphics (1986)

The power of a color space to perform well in interpolation problems such as anti-aliasing and smooth-shading is dependent on the topology of the color space as well as the number of elements it contains.We develop the Major-minor color space, which has a topology and representation that lends itself to simple anti-aliasing computations between elements of an arbitrary set of colors in an inexpensive frame store.
A transformation-access model for program visualization action-on-data displays
Authors: Cloyd L Ezell,  Jr.
Venue: ACM SIGCSE Bulletin (1986)

Program visualization deals with the problem of showing the execution of a computer program. In this paper, program visualization is seen to also involve questions of how we conceptually view a program. One such view, namely viewing a program in terms of its action on its data structures, is investigated and a formal mathematical model for this view is presented. Examples are given to illustrate situations where this view is useful and where not so useful.
Self-organizing search lists using probabilistic back-pointers
Authors: J. H. Hester, D. H. Hirschberg
Venue: Communications of the ACM (1987)

A class of algorithms is presented for maintaining self-organizing sequential search lists, where the only permutation applied is to move the accessed record of each search some distance towards the front of the list. During searches, these algorithms retain a back-pointer to a previous probed record in order to determine the destination of the accessed record's eventual move. The back-pointer does not traverse the list, but rather it is advanced occasionally to point to the record just probed by the search algorithm. This avoids the cost of a second traversal through a significant portion of the list, which may be a significant savings when each record access may require a new page to be brought into primary memory. Probabilistic functions for deciding when to advance the pointer are presented and analyzed. These functions demonstrate average case complexities of measures such as asymptotic cost and convergence, similar to some of the more common list update algorithms in the literature. In cases where the accessed record is moved forward a distance proportional to the distance to the front of the list, the use of these functions may save up to 50 percent of the time required for permuting the list.
Design strategies for a computer-based instruction system
Authors: Larry C. Christensen, Gordon Stokes, Bill Hays
Venue: Proceedings of the seventeenth SIGCSE technical symposium on Computer science education (1986)

In February, 1984, the Computer Science Department at Brigham Young University began working on a project that would automate the delivery of a beginning programming class. This project known as THE ELROND PROJECT, was funded by the university with the expectation that the instructional delivery costs and the need for additional faculty for this course could be reduced. This paper describes the system design and principles that were used and presents strategies for creating computer automated courseware.
ATUM: a new technique for capturing address traces using microcode
Authors: A. Agarwal, R. L. Sites, M. Horowitz
Venue: Proceedings of the 13th annual international symposium on Computer architecture (1986)

Trace-driven simulation is often used in the design of computer systems, especially caches and translation lookaside buffers. Capturing address traces to drive such simulations has been problematic, often involving 1000:1 software overhead to trace a target workload, and/or mechanisms that cause significant distortions in the recorded data. A new technique for capturing address traces has been developed to use a processor's microcode to record addresses in a reserved part of main memory as a side effect of normal execution. An experimental implementation of this technique on a VAX1 8200 processor shows a number of advantages over previous techniques, including fewer distortions of the address trace and a hundred times faster recording. With this technique, it is possible to gather full operating-system traces of multi-tasking workloads.
Statistical mechanics and disordered systems
Authors: Scott Kirkpatrick, Robert H. Swendsen
Venue: Communications of the ACM (1985)

Since computers are able to simulate the equilibrium properties of model systems, they may also prove useful for solving the hard optimization problems that arise in the engineering of complex systems.
Types and persistence in database programming languages
Authors: Malcolm P. Atkinson, O. Peter Buneman
Venue: ACM Computing Surveys (CSUR) (1987)

Traditionally, the interface between a programming language and a database has either been through a set of relatively low-level subroutine calls, or it has required some form of embedding of one language in another. Recently, the necessity of integrating database and programming language techniques has received some long-overdue recognition. In response, a number of attempts have been made to construct programming languages with completely integrated database management systems. These languages, which we term database programming languages, are the subject of this review. The design of these languages is still in its infancy, and the purpose of writing this review is to identify the areas in which further research is required. In particular, we focus on the problems of providing a uniform type system and mechanisms for data to persist. Of particular importance in solving these problems are issues of polymorphism, type inheritance, object identity, and the choice of structures to represent sets of similar values. Our conclusion is that there are areas of programming language research&mdash;modules, polymorphism, persistence, and inheritance&mdash;that must be developed and applied to achieve the goal of a useful and consistent database programming language. Other research areas of equal importance, such as implementation, transaction handling, and concurrency, are not examined here in any detail.
Modified Faddeeva Algorithm for Concurrent Execution of Linear Algebraic Operations
Authors: J. G. Nash, S. Hansen
Venue: IEEE Transactions on Computers (1988)

An algorithm is described that provides an architectural framework for systematic execution of a wide class of linear algebraic operations using a single systolic array and simple data flow. The algorithm has been modified to use numerically stable Given's rotations and is therefore suited to any matrix problem of full rank. When the problem size exceeds that of the hardware array, it can be partitioned in a straightforward, numerically stable way. Numerous simulations have verified the algorithm's correctness.
Evaluation of a prototype data flow processor of the SIGMA-1 for scientific computations
Authors: T. Shimada, K. Hiraki, K. Nishida, S. Sekiguchi
Venue: Proceedings of the 13th annual international symposium on Computer architecture (1986)

A processing element and a structure element of data flow computer SIGMA-1 for scientific computations is now operational. The elements are evaluated for several benchmark programs. For efficient execution of loop constructs, the sticky token mechanism which holds loop invariants is evaluated and exhibits a remarkable effect. From the standpoint that performance of a single processor of a data flow computer must be comparable to that of a Von Neumann computer, comparison of both computers is discussed and improvement of the SIGMA-1 instruction set is proposed.
Video RAMs: Structure and Applications
Authors: Jean-Daniel Nicoud
Venue: IEEE Micro (1988)

The advantages of video random access memories (VRAMs), which provide fast, block-transfer access to the internal memory, are described. The application of VRAMs to graphics displays are discussed. Their structure and operation in various modes are examined in detail. Their use for fast block transfers is described.
Incremental incrementally compacting garbage collection
Authors: B. Lang, F. Dupont
Venue: ACM SIGPLAN Notices (1987)

A mixed-strategy garbage collection algorithm is presented, which combines mark-and-sweep and copy collection. The intent is to benefit from the compacting and linearizing properties of copy collection without losing computational use of half the memory. The stop-and-collect version of the algorithm is a simple and cheap technique to fight memory fragmentation. The collection strategy may be dynamically adapted to minimize the cost of collection, according to the amount of memory actually accessed by the computing process. The parallel version of the algorithm is to our knowledge the only parallel compacting collector for varisized cells, that leaves most (more than half) of the memory available for the computing process.
Converting SAC-2 code to lisp
Authors: Lars Langemyr
Venue: ACM SIGSAM Bulletin (1986)

We describe the implementation of a translator from the algorithm description language ALDES to Common LISP. ALDES is the language of the SAC-2 computer algebra system. We indicate why this translation is beneficial. By giving examples we also show how the translation was made.