ppxscal/embedding_network huggingface dataset:
Modeling software tools with ICON
Authors: O. R. Fonorow
Venue: Proceedings of the 10th international conference on Software engineering (1988)

This paper describes a new software test automation tool, a powerful new programming language, and the software development process that resulted when these tools were combined. A small development team of software developers and potential customers devised the unconventional process to meet a short deadline. The process produced an operational prototype or model of the entire software system that customers were able to use during the time it was being developed. The first model of the Buster&trade; automated testing system was conceived, designed, and implemented ahead of schedule in less than six months, complete with many features and components. The Buster system provides a test-information subsystem with facilities for multi-project test sharing, per-project test storage and planning, and test downloading for lab use. A separate test execution facility is also included that features test-result logging, a results database, and per-session I/O recording. The customer, AT T 3B4000 System Test, reports that system soak tests that had taken three weeks now can be completed in one week, using Buster. The software modeling technique that was used to create the Buster test system is a new idea that can be used to produce reliable low-cost software in many applications. Unlike more conventional software engineering approaches, including rapid prototyping, the model can be used by customers as it is slowly evolved into a finished product. The model is used to embody and test designs and identify missing requirements before making large investments in production level code and documentation. In addition, software modeling makes it possible to develop comprehensive system test suites long before production level software is available. The process is composed of three major components: brainstorming and team building with customers, high-level language engineering, and automated software testing.
Multiprocessor Algorithms for Relational-Database Operators on Hypercube Systems
Authors: Ophir Frieder
Venue: Computer (1990)

The tutorial focuses on hypercube interconnected architectures as a computational engine for relational-database processing. Several implementations of the many currently available hypercube systems are highlighted, and comments on their potential performance in evaluating relational-database operators are presented. All algorithms assume that the relevant data are memory resident. Experimental timings obtained from a portable hypercube-based database system are presented to characterize performance potential for various uniscan and multiscan operations.
Sun's Link Service: a protocol for open linking
Authors: A. Pearl
Venue: Proceedings of the second annual ACM conference on Hypertext (1989)

Sun's Link Service, a product shipped with Sun's programming in the large software development environment, the Network Software Environment, allows users to make and maintain explicit and persistent bidirectional relationships between autonomous front end applications. The Link Service defines a protocol for an extensible and loosely coupled, or open, hypertext system. An interesting instance of this is the ability to link to objects in closed hypertext systems if they integrate with the Link Service. The Link Service addresses link maintenance and automated versioning. Link endpoints, or nodes, are defined by the integrating applications, and are not restricted to points, whole documents, or cards.
A Modula-2 implementation of a real-time process abstraction
Authors: A. Burns, G. L. Davies, A. J. Wellings
Venue: ACM SIGPLAN Notices (1988)

A process abstraction, in Modula-2, is defined that is aimed at providing the primitives needed in the real-time domain. A concurrency model based upon occam is used but this is enhanced by a comprehensive set of selective wait constructs. All processes have identities and priorities; a run-time implementation kernel provides for preemptive scheduling. Significant parts of this implementation are illustrated and short examples of the use of the process abstraction are given.
How to assess the acceptability and credibility of simulation results
Authors: O. Balci
Venue: Proceedings of the 21st conference on Winter simulation (1989)

The purpose of this paper is to present a comprehensive life cycle of a simulation study and guide the simulationist in conducting 10 processes, 10 phases, and 13 credibility assessment stages of the life cycle. The guidelines assist the simulation practitioners in: formulating the problem; investigating solution techniques and the system under study; formulating, representing, and programming the simulation model; designing experiments; experimenting; redefining the model; and presenting the simulation results. The guidelines also assist the practitioners in: formulated problem verification, feasibility assessment of simulation, system and objectives definition verification, model qualification, communicative model verification, programmed model verification, experiment design verification, data validation, model validation, and presentation verification. The practitioners can follow the guidelines presented herein and significantly increase their chance of being successful in conducting a simulation study.
A knowledge acquisition tool for decision support systems
Authors: D. J.H. Brown
Venue: Issue 108 (April 1989) (1989)

A non-deterministic tabular representation for decision-making criteria is described and related to decision trees and production rules. Its advantages as a knowledge acquisition tool are discussed and illustrated in the context of prototyping an electronic assistant for steel production planners.
Guided tours and on-line presentations: how authors make existing hypertext intelligible for readers
Authors: C. C. Marshall, P. M. Irish
Venue: Proceedings of the second annual ACM conference on Hypertext (1989)

Hypertext systems like NoteCards provide facilities for authoring large networks. But they provide little support for the associated task of making these networks intelligible to future readers. Presentation conventions may be imported from other related media, but because the conventions have not yet been negotiated within a community of hypertext readers and writers, they provide only a partial solution to the problem of guiding a reader through an existing network of information. In this paper, we will discuss how a recent facility, Guided Tours, has been used to organize hypertext networks for presentation. The use of Guided Tours in NoteCards has exposed a set of authoring issues, and has provided us with examples of solutions to the problems associated with on-line presentations.
Fine tuning selection semantics in a structure editor based programming environment: some experimental results
Authors: Dennis R. Goldenson, Marjorie B. Lewis
Venue: ACM SIGCHI Bulletin (1988)

Structure editing holds much promise for improving the quality of introductory programming education. However early structure editors have often been clumsy and counter intuitive to use. This study reports the results of a laboratory experiment in which the user interface of a structure editing environment was modified in several ways to make its semantics more closely resemble what students seem naturally to expect. Analysis suggests that it is possible to improve students' editing performance, without getting bogged down in unnecessary details of language and environmental semantics.
High-Speed Triangulation-Based 3-D Imaging with Orthonormal Data Projections and Error Detection
Authors: D. D. Harrison, M. P. Weir
Venue: IEEE Transactions on Pattern Analysis and Machine Intelligence (1990)

Improvements to the triangulation range-sensing technique are described. The improvements greatly increase the range-data collection rate, while simultaneously providing for improved data integrity and a low-cost implementation. These benefits are achieved by using some unique abilities of the charge-injection-device image sensor. A laser-based investigation system has been built around a personal computer and used to evaluate the effectiveness of the improvements. Range data results are shown for the proposed application of printed-circuit board inspection.
Detecting cycles in dynamic graphs in polynomial time
Authors: S. Rao Kosaraju, Gregory Sullivan
Venue: Proceedings of the twentieth annual ACM symposium on Theory of computing (1988)

Consider a digraph which has labels on its edges which are k-dimensional vectors. In this paper we show it is possible in polynomial time to determine if such a digraph contains a zero cycle, i.e., a cycle whose edge labels sum to the zero vector component-wise. This solves the open problem of finding cycles in dynamic graphs which was posed by Iwano and Steiglitz. Our solution has a time complexity of &Ogr;(|V| log(|V|)Z) where Z is the complexity of a linear programming problem. For the important cases of two and three dimensions we present &Ogr;(Z) time algorithms. The linear programming problems we solve have at most 2|E| variables and &Ogr;(|E| + |V| + k) constraints.
Design and performance measurements of a parallel machine for the unification algorithm
Authors: F. N. Sibai, L. Watson, M. Lu
Venue: Proceedings of the 22nd annual workshop on Microprogramming and microarchitecture (1989)

Unification is known to be the most repeated operation in logic programming and PROLOG interpreters. To speed up the execution of logic programs, the performance of unification must be improved. We propose a parallel unification machine for speeding up the unification algorithm. The machine is simulated at the register transfer level and the simulation results as well as performance comparison with a serial unification coprocessor are presented.
A dynamic load balancer for a parallel branch and bound algorithm
Authors: R. P. Ma
Venue: Proceedings of the third conference on Hypercube concurrent computers and applications - Volume 2 (1989)

This paper presents a load-balancing scheme for a parallel branch and bound (PBB) algorithm utilizing a dynamic load balancer (DLB). The PBB algorithm is used to solve a resource scheduling problem on the Hypercube. The DLB is included in the PBB algorithm and is distributed to each node to balance the workload during run time. The DLB is evaluated by implementing two PBB algorithms, with DLB and without DLB. Results show that the PBB with DLB is 3.14 times faster than the algorithm without DLB.
Dehumanized people and humanized programs: a natural language view of being there
Authors: Dan Fass
Venue: ACM SIGART Bulletin (1990)

The language used by Chance the gardener, the main character in Jerzy Kosinski's Being There, is uncannily like that of several well known natural language understanding systems: ELIZA, PARRY and SAM. This natural language understanding (NLU) view of Chance meshes remarkably well with literary criticism of the character and the book. In light of these resemblances, there is some (not-too-serious) discussion of how NLU systems might perform more intelligently, or at least might appear more intelligent.
Comments on 'Allocating Programs Containing Branches and Loops Within a Multiple Processor System' by D. Towsley
Authors: Fred Kaudel
Venue: IEEE Transactions on Software Engineering (1990)

The assignment algorithms proposed by D. Towsley may not minimize the total communication and execution costs as stated. An example where the proposed restricted assignment algorithm fails to find an optimal assignment is given, and modifications that allow the algorithm to properly consider execution costs are proposed. Additional changes needed to model communication costs correctly in many assignment problems are discussed.
Statistical profile estimation in database systems
Authors: Michael V. Mannino, Paicheng Chu, Thomas Sager
Venue: ACM Computing Surveys (CSUR) (1988)

A statistical profile summarizes the instances of a database. It describes aspects such as the number of tuples, the number of values, the distribution of values, the correlation between value sets, and the distribution of tuples among secondary storage units. Estimation of database profiles is critical in the problems of query optimization, physical database design, and database performance prediction. This paper describes a model of a database of profile, relates this model to estimating the cost of database operations, and surveys methods of estimating profiles. The operators and objects in the model include build profile, estimate profile, and update profile. The estimate operator is classified by the relational algebra operator (select, project, join), the property to be estimated (cardinality, distribution of values, and other parameters), and the underlying method (parametric, nonparametric, and ad-hoc). The accuracy, overhead, and assumptions of methods are discussed in detail. Relevant research in both the database and the statistics disciplines is incorporated in the detailed discussion.
Prototypes from Standard User Interface Management Systems
Authors: T. G. Lewis, Fred T. Handloser, Sharada Bose, Sherry Yang
Venue: Computer (1989)

An explanation is given of showing a computer what to do by directly manipulating objects, as opposed to giving it instructions using a programming language. The authors demonstrate how showing can take advantage of a standard user interface and the consistency of a user interface paradigm. They discuss prototyping in the Oregon Speedcode Universe, a programming system for writing programs without programming languages.
Synchronizing processors through memory requests in a tightly coupled multiprocessor
Authors: A. Seznec, Y. Jégou
Venue: ACM SIGARCH Computer Architecture News (1988)

To satisfy the growing need for computing power, a high degree of parallelism will be necessary in future supercomputers. Up to the late 70s, supercomputers were either multiprocessors (SIMD-MIMD) or pipelined monoprocessors. Current commercial products combine these two levels of parallelism. Effective performance will depend on the spectrum of algorithms which is actually run in parallel. In a previous paper [Je86], we have presented the DSPA processor, a pipeline processor which is actually performant on a very large family of loops. In this paper, we present the GREEDY network, a new interconnection network (IN) for tightly coupled multiprocessors (TCMs). Then we propose an original and cost effective hardware synchronization mechanism. When DSPA processors are connected with a shared memory through a GREEDY network and synchronized by our synchronization mechanism, a very high parallelism may be achieved at execution time on a very large spectrum of loops including loops where independency of the successive iterations cannot be checked at compile time as e.g. loop 1: DO 1 I=1 N 1 A(P(I)=A(Q(I))
Specifying Ada Server Tasks with Executable Formal Grammars
Authors: David Hemmendinger
Venue: IEEE Transactions on Software Engineering (1990)

The author shows how a class of concurrent programming problems can be specified with formal grammars. These grammars, more powerful than path expressions, translate readily into Ada server tasks using the rendezvous and select-statement, though they may also be applied to other synchronization constructs. The grammars may be used to clarify informal specifications, to compare different specifications, and to analyze the behavior of implementations of such specifications. They may also be easily converted into Prolog programs that can be executed to generate the strings of events accepted by a grammar or by the Ada task being modeled. The automated translation from Ada to such grammars, and from grammatical specifications to Ada is discussed. The former facilitates the analysis of Ada programs; the latter yields Ada code of high quality.
Implemention of a divide and conquer cyclic reduction algorithm on the FPS T-20 hypercube
Authors: C. L. Cox
Venue: Proceedings of the third conference on Hypercube concurrent computers and applications - Volume 2 (1989)

A simple variant of the odd-even cyclic reduction algorithm for solving tridiagonal linear systems is presented. The target architecture for this scheme is a parallel computer with nodes which are vector processors, such as the Floating Point Systems T-Series hypercube. Of particular interest is the case where the number of equations is much larger than the number of processors. The matrix system is partitioned into local subsystems, with the partitioning governed by a parameter which determines the amount of redundancy in computations. The algorithm proceeds after the distribution of local systems with independent computations, all-to-all broadcast of a small number of equations from each processor, solution of this subsystem, more independent computations, and output of the solution. Some redundancy in calculations between neighboring processors results in minimized communication costs. One feature of this approach is that computations are well balanced, as each processor executes an identical algebraic routine. A brief description of the standard cyclic reduction algorithm is given. Then the divide and conquer strategy is presented along with some estimates of speedup and efficiency. Finally, an Occam program for this algorithm which runs on the FPS T-20 computer is discussed along with experimental results.
Peephole optimization as a targeting and coupling tool
Authors: V. H. Allan
Venue: Proceedings of the 22nd annual workshop on Microprogramming and microarchitecture (1989)

The term peephole optimization is used to mean the pattern matching and conditional replacement performed on small sections of the intermediate form. The circular dependence between the code generation phases implies that local optimals are rarely global optimals. There are several reactions: (1) accept the local optimal, (2) develop intermediate goals whose achievement suggest global optimality, (3) retain the choices so that the decisions can be made later, (4) optimize the object code by replacing awkward or overly constrained segments of code with improved ones. Optimizing the object code has several advantages. First, code generation is greatly simplified. The code generator is allowed to forgo case analysis and utilize only a subset of the machine's instructions and addressing modes [BD88,DF84a,DF84b,DF87]. Second, a phase ordering problem often encountered in optimizations is reduced.
Simulation of Procedure Variables Using Ada Tasks
Authors: David A. Lamb, Paul Hilfinger
Venue: IEEE Transactions on Software Engineering (1983)

We give a technique for partially simulating procedure variables using Ada tasks. The simulation involves using interface tasks, a technique which may be useful for other problems.
A program for computing the Liapunov functions and Liapunov constants in scratchpad II
Authors: D. Wang
Venue: ACM SIGSAM Bulletin (1989)

This report describes the implementation and use of a program for computing the Liapunov functions and Liapunov constants for a class of differential systems in Scratchpad II.
Efficient algorithms for Euclidean shortest path and visibility problems with polygonal obstacles
Authors: S. Kapoor, S. N. Maheshwari
Venue: Proceedings of the fourth annual symposium on Computational geometry (1988)

The problem of determining the Euclidean shortest path between two points in the presence of m simple polygonal obstacles is studied. An O( m2 logn + nlogn ) algorithm is developed, where n is the total number of points in the obstacles. A simple O(E+T) algorithm for determining the visibility graph is also shown, where E is the number of visibility edges and T is the time for triangulating the point set. This is extended to a O(Es + nlogn) algorithm for the shortest path problem where Es is bounded by m2.
A performance comparison of object and relational databases using the Sun Benchmark
Authors: Joshua Duhl, Craig Damon
Venue: ACM SIGPLAN Notices (1988)

A general concern about object-oriented systems has been whether or not they are able to meet the performance demands required to be useful for the development of significant production software systems. Attempts to evaluate this assertion have been hampered by a lack of meaningful performance benchmarks that compare database operations across different kinds of databases. In this paper, we utilize the Sun Benchmark [Rube87] as a means for assessing the performance of an object database and comparing it with existing relational systems. We discuss the benchmark, and many of the implementation issues involved in introducing a relationally oriented benchmark into an object-oriented paradigm. We demonstrate the performance of an object database using Ontologic's Vbase object database platform as an example of a commercially available object database, and we compare these benchmark results against those of existing relational database systems. The results offer strong evidence that object databases are capable of performing as well as, or better than, existing relational database systems.
A multiple floating point coprocessor architecture
Authors: Lawrence Rauchwerger
Venue: ACM SIGARCH Computer Architecture News (1990)

General purpose microprocessor based computers usually speed their arithmetic processing performance by using a floating point co-processor. Because adding more co-processors represents neither a technological nor a cost problem we investigated a system based on a MIPS R2000 [2] and 4 floating point units. In this paper we show a block diagram of such an implementation and how two important scientific operations can be accelerated using a single unmodified data bus. A large percentage of the engineering applications are solved with the help of linear algebra methods like BLAS3 [4] algorithms; It is precisely for these primitives that the proposed architecture brings significant performance gains. The first operation described will be a matrix multiplication algorithm, its timing diagram and some results. Next a polynomial evaluation technique will be examined. Finally we show how to use the same ideas with various other microprocessors.
A static pessimistic scheme for handling replicated databases
Authors: T. Tang, N. Natarajan
Venue: ACM SIGMOD Record (1989)

A replicated database system may partition into isolated groups in the presence of node and link failures. When the system has partitioned, a pessimistic scheme maintains availability and consistency of replicated data by ensuring that updates occur in at most one group. A pessimistic scheme is called a static scheme if these distinguished groups are determined only by the membership of different groups in the partitioned system. In this paper, we present a new static scheme that is more powerful than voting. In this scheme, the set of distinguished groups, called an acceptance set, is chosen at design time. To commit an update, a node checks if its enclosing group is a member of this acceptance set. Using an encoding scheme for groups, this check is implemented very efficiently. Another merit of the proposed scheme is that the problem of determining an optimal acceptance set is formulated as a sparse 0-1 linear programming problem. Hence, the optimization problem can be handled using the very rich class of existing techniques for solving such problems. Based on our experiments, we feel that this optimization approach is feasible for systems containing up to 10 nodes (copies).
Automatic synthesis of microprogrammed control units from behavioral descriptions
Authors: A. Kumar, S. Kumar P. Kulshreshtha, S. Ghose
Venue: Proceedings of the 26th ACM/IEEE Design Automation Conference (1989)

This paper presents an approach for automatic synthesis of a microprogrammed control unit from a behavioral description, incorporating two new features: a) A rule based program to automatically design a microprogram sequencer most suited for the given behavior, considering the speed/cost requirements. b) A powerful microinstrunction format optimizer which considers a vast space of alternative formats and a novel encoding scheme.