ppxscal/embedding_network huggingface dataset:
On Systolic Contractions of Program Graphs
Authors: W. Shen, A. Y. Orauç
Venue: IEEE Transactions on Computers (1989)

A variant of the mapping problem, namely, systolic contractions of program graphs, is considered. The notion of time links is introduced to mechanize the contraction process; the timing of information flow between processors is modeled in terms of fundamental loop and path equations of delays and is optimized using linear programming. While the results apply primarily to systolic contractions, they can be extended to other types of graph contractions by relaxing the time constraints imposed by delay equations. Such contractions can, in principle, lead to faster execution of program graphics, since they may do away with the delays imposed on the links between the processors by systolic contractions. Clearly, storage is traded for time since extra storage may be necessary to hold some operands temporarily until a processor acquires all of its operands for a computation.
Unfold/fold transformations and loop optimization of logic programs
Authors: S. K. Debray
Venue: Proceedings of the ACM SIGPLAN 1988 conference on Programming Language design and Implementation (1988)

Programs typically spend much of their execution time in loops. This makes the generation of efficient code for loops essential for good performance. Loop optimization of logic programming languages is complicated by the fact that such languages lack the iterative constructs of traditional languages, and instead use recursion to express loops. In this paper, we examine the application of unfold/fold transformations to three kinds of loop optimization for logic programming languages: recursion removal, loop fusion and code motion out of loops. We describe simple unfold/fold transformation sequences for these optimizations that can be automated relatively easily. In the process, we show that the properties of unification and logical variables can sometimes be used to generalize, from traditional languages, the conditions under which these optimizations may be carried out. Our experience suggests that such source-level transformations may be used as an effective tool for the optimization of logic programs.
A programming language basis for user interface
Authors: D. R. Olsen,  Jr.
Venue: Proceedings of the SIGCHI conference on Human factors in computing systems: Wings for the mind (1989)

The Mickey UIMS maps the user interface style and techniques of the Apple Macintosh onto the declarative constructs of Pascal. The relationships between user interfaces and the programming language control the interface generation. This imposes some restrictions on the possible styles of user interfaces but greatly enhances the usability of the UIMS.
Rationale for the design of persistence and query processing facilities in the database programming language O++
Authors: R. Agrawal, N. H. Gehani
Venue: Proceedings of the second international workshop on Database programming languages (1989)

ODE is a database system and environment based on the object paradigm. It offers one integrated data model for both database and general purpose manipulation. The database is defined, queried, and manipulated in the database programming language 0++, an extension of C++. 0++ uses the C++ object definition facility, called the class, to provide data encapsulation and multiple inheritance. 0++ extends C++ by providing facilities for creating persistent and versioned objects, defining and manipulating sets, organizing persistent objects into clusters, iterating clusters of persistent objects, and associating constraints and triggers with objects. In this paper, we present the 0++ facilities for persistence and query processing, the alternatives considered, and the rationale behind the design choices.
Design Tradeoffs for Process Scheduling in Shared Memory Multiprocessor Systems
Authors: Lionel M. Ni, Ching-Farn E. Wu
Venue: IEEE Transactions on Software Engineering (1989)

A potential system software bottleneck is demonstrated in designing an efficient process scheduling method for multiprocessor systems with shared-memory communication mechanism. The process scheduling overhead is considered. The main contribution of this work is to find the design tradeoffs between monitor bottleneck due to scheduling overhead and low process utilization due to load imbalancing. Choosing an optimum number of scheduling monitors is the key to resolve the bottlenecks. Because of the excessive number of memory requests generated by the dynamic monitor selection method, the use of the fixed monitor selection method is recommended. An analytic estimation provides a lower bound in determining the optimum number of monitors. Hill-climbing simulation is then used to find the optimum number of monitors.
Event-driven user interfaces based on quasi-parallelism
Authors: Tor Hauge, Inger Nordgard, Dan Oscarsson, Georg Raeder
Venue: Proceedings of the 1st annual ACM SIGGRAPH symposium on User Interface Software (1988)

The Mj&oslash;lner project is a major Scandinavian effort to develop a programming environment for object-oriented languages. As part of this project we have implemented a user interaction toolkit. The toolkit is programmed in SIMULA&trade; and is built on the X Window System.&trade; The main goals of our work have been to exploit the coroutine concept for event handling, and to show the benefits of using compiled object-oriented languages for this type of software. The result is an efficient system with a simple, yet flexible, design featuring a powerful unification of process-driven and procedure-driven programming styles.
Innovation in user interface development: obstacles and opportunities
Authors: S. E. Poltrock
Venue: ACM SIGCHI Bulletin (1989)

Case studies of two software development organizations suggest that common practices of these organizations pose obstacles to innovation. Although software development organizations have good reasons to be conservative and resist innovation, they recognize the importance of innovations to the competitiveness of their products. But organizations experienced at development of regularly scheduled releases are not well suited to development of innovations. In this research investigators worked with the user interface teams in two organizations while interviewing people throughout the organizations. Both organizations developed prototypes, but only small design changes were prototyped and tested early in development. Innovative changes were evaluated late, when resistance to iteration was great. User interface designs and prototypes were often not shown to users. Mechanisms for coordinating development were another conservative influence. Both organizations successfully overcame these obstacles by departing from established practices.
A network management language for OSI networks
Authors: U. Warrier, P. Relan, O. Berry, J. Bannister
Venue: ACM SIGCOMM Computer Communication Review (1988)

Managing the communications resources of a computer network is critical to the successful operation of the network. A network management system is expected to manage a large collection of network nodes remotely. There is an obvious need for sophisticated network management application software in this process. Previous network management systems have been designed without particular regard for the application programmer's interface requirements. We propose that such software be written in a specialized Network Management Language (NML) that provides the programmer with high-level abstractions rather than low-level communication primitives. The NML would help reduce development costs, promote portability and accommodate multiple standards. We propose an NML which is an extension to the SQL database standard. An implementation of the NML within the Open Systems Interconnection (OSI) systems management framework is discussed, and examples of its functionality and expressiveness are presented.
A counter-example for &ldquo;a simpler construction for showing the intrinsically exponential complexity of the circularity problem for attribute grammars&rdquo;
Authors: Jens M. Dill
Venue: Journal of the ACM (JACM) (1989)

Jazayeri [J. ACM 28, 4 (Oct. 1981), 715-720] proposes a simpler construction for use in the proof by Jazayeri et al. [Commun. ACM 18, 12 (Dec. 1975), 697-706] that the circularity problem for attribute grammars has inherent exponential time complexity. The simplification introduces a flaw that invalidates the proof. The flaw can be corrected, at the cost of eliminating some of the simplification claimed for the new construction.
An evaluation of Cray X-MP performance on vectorizable Livermore FORTRAN kernels
Authors: J. Tang, E. S. Davidson
Venue: Proceedings of the 2nd international conference on Supercomputing (1988)

This paper studies the impact of the architecture features of the Cray-1 and the Cray X-MP and related compiler optimizations on machine performance. We develop a methodology for evaluating the effectiveness of the Cray Fortran compilers in coping with the architecture features and limitations of the Cray-1 and the Cray X-MP. As examples, the effects of vector register reservation and vector index misalignment on the performance of Livermore Fortran Kernels (LFKs) are presented. The causes of the performance differences of two Cray Fortran compilers, CFT1.14 and CFT77.13, on the vectorized LFKs are described and some areas for further improvement are suggested.
A Binary Single-Key-Lock System for Access Control
Authors: C. K. Chang, T. M. Jiang
Venue: IEEE Transactions on Computers (1989)

A binary coding method was invented and has been applied to the single-key-lock (SKL) system which achieves access control by associating with each accesser only one key and with each resource only one lock. The new system is called the binary single-key-lock (BSKL) system. In both the SKL and BSKL systems, through operations on the single-key-lock pair, the control information can be revealed. On the basis of the new binary coding method, and because binary operations are much faster, better performance for such an access control system can be achieved. The increased extensibility of the modification is also discussed.
Distributed microprogramming
Venue: ACM SIGMICRO Newsletter (1988)

This paper proposes the use of the microprogramming technique for synchronizing multiprocessors. The language used is an extension of CSP including the bi-io and the probe statements. We present a self-stabilizing algorithm for the generation of a two-phase clock; this algorithm is a generalization of the Dining Philosophers Problem, where n philosophers access m resources.
Segmentation of Document Images
Authors: T. Taxt, P. J. Flynn, A. K. Jain
Venue: IEEE Transactions on Pattern Analysis and Machine Intelligence (1989)

Several methods for segmentation of document images (maps, drawings, etc.) are explored. The segmentation operation is posed as a statistical classification task with two pattern classes: print and background. A number of classification strategies are available. All require some prior information about the distribution of gray levels for the two classes. Training (either supervised or unsupervised) is employed to form these initial density estimates. Automatic updating of the class-conditional densities is performed within subregions in the image to adapt these global density estimates to the local image area. After local class-conditional densities have been obtained, each pixel is classified within the window using several techniques: a noncontextual Bayes classifier, Besag's classifier, relaxation, Owen and Switzer's classifier, and Haslett's classifier. Four test images were processed. In two of these, the relaxation method performed best, and in the other two, the noncontextual method performed best. Automatic updating improved the results for both classifiers.
Determination of Three-Dimensional Object Location and Orientation from Range Images
Authors: R. Krishnapuram, D. Casasent
Venue: IEEE Transactions on Pattern Analysis and Machine Intelligence (1989)

A technique for determining the distortion parameters (location and orientation) of general three-dimensional objects from a single range image view is introduced. The technique is based on an extension of the straight-line Hough transform to three-dimensional space. It is very efficient and robust, since the dimensionality of the feature space is low and since it uses range images directly (with no preprocessing such as segmentation and edge or gradient detection). Because the feature space separates the translation and rotation effects, a hierarchical algorithm to detect object rotation and translation is possible. The new Hough space can also be used as a feature space for discriminating among three-dimensional objects.
The fast fourier transform and sparse matrix computations: a study of two applications on teh HORIZON supercomputer
Authors: D. A. Carlson, J. M. Conroy
Venue: Proceedings of the 1988 ACM/IEEE conference on Supercomputing (1988)

As part of the HORIZON project currently underway at the Supercomputing Research Center, a set of application programs are being written and their performance is being evaluated. This paper discusses two of these applications: the fast Fourier transform and sparse matrix computations. For both problems, we develop efficient implementations that take advantage of HORIZON's many unique features, including fined-grained synchronization, multiple instruction streams, and a horizontal instruction set. Our results indicate that HORIZON will offer very high performance, sometimes in excess of a sustained rate of one floating point operation per tick.
Integrated information retrieval in a knowledge worker support system
Authors: G. McAlpine, P. Ingwersen
Venue: Proceedings of the 12th annual international ACM SIGIR conference on Research and development in information retrieval (1989)

This paper describes the design of the information retrieval facilities of an integrated information system called EUROMATH. EUROMATH is an example of a Knowledge Worker Support System: it has been designed specifically to support mathematicians in their research work. EUROMATH is required to provide uniform retrieval facilities for searching in a user's personal data, in a shared database of structured documents and in public, bibliographic databases. The design of information retrieval facilities that satisfy these and other requirements posed several interesting design issues regarding the integration of various retrieval techniques. As well as a uniform query language, designed to be highly usable by the target user group, the retrieval facilities provide expert intermediary functions, i.e. sophisticated support for the retrieval of bibliographic data. This support is achieved using a model of the user, a model of the user's information need and a set of search strategies based on those used by human intermediaries. The expert intermediary facilities include extensive help facilities, automatic query reformulation and browsing of a variety of sources of query terms.
The External Heapsort
Authors: L. M. Wegner, J. I. Teuhola
Venue: IEEE Transactions on Software Engineering (1989)

Heapsort is an internal sorting method which sorts an array of n records in place in O(n log n) time. Heapsort is generally considered unsuitable for external random-access sorting. By replacing key comparisons with merge operations on pages, it is shown how to obtain an in-place external sort which requires O(m log m) page references, where m is the number of pages which the file occupies. The new sort method (called Hillsort) has several useful properties for advanced database management systems. Not only does Hillsort operate in place, i.e., no additional external storage space is required assuming that the page table can be kept in core memory, but accesses to adjacent pages in the heap require one seek only if the pages are physically contiguous. The authors define the Hillsort model of computation for external random-access sorting, develop the complete algorithm and then prove it correct. The model is next refined and a buffer management concept is introduced so as to reduce the number of merge operations and page references, and make the method competitive to a basic balanced two-way external merge. Performance characteristics are noted such as the worst-case upper bound, which can be carried over from Heapsort, and the average-case behavior, deduced from experimental findings. It is shown that the refined version of the algorithm which is on a par with the external merge sort.
Software Prototyping by Relational Techniques: Experiences with Program Construction Systems
Authors: S. Ceri, S. Crespi-Reghizzi, A. D. Maio, L. A. Lavazza
Venue: IEEE Transactions on Software Engineering (1988)

A method for designing and prototyping program construction systems using relational databases is presented. Relations are the only data structures used inside the systems and for interfaces; programs extensively use relational languages, in particular relational algebra. Two large projects are described. The Ada Relational Translator (ART) is an experimental compiler-interpreter for Ada in which all subsystems, including the parser, semantic analyzer, interpreter, kernel, and debugger, use relations as their only data structure; the relational approach has been pushed to the utmost to achieve fast prototyping in a student environment. Multi-Micro Line (MML) is a tool set for constructing programs for multimicroprocessors' targets, in which relations are used for allocation and configuration control. Both experiences validate the approach for managing teamwork in evolving projects, identify areas where this approach is appropriate, and raise critical issues.
Improving usability by sharing knowledge
Authors: M. D. Cable, E. G. Hetzler, S. W. Totten
Venue: Proceedings of the 2nd annual ACM SIGGRAPH symposium on User interface software and technology (1989)

There has been great progress in the technology of improving the usability of computer tools. However, the state of the art in the user interface field is far outdistancing the state of affairs at many corporations. One reason is that the knowledge is not effectively communicated, especially in large, complex organizations. At McDonnel Douglas Corporation we have formed the User Interface Share Group to enhance information exchange on user interface technology. This paper discusses the motivation for the group, its formation, its value to the corporation, and some specific lessons learned.
Extended features of GPSS/H
Authors: R. C. Grain, D. T. Brunner
Venue: Proceedings of the 21st conference on Winter simulation (1989)

This tutorial describes many of GPSS/H's powerful additions to, and extensions of, traditional GPSS, and shows how modelers can take advantage of them to build simulations that are more sophisticated in their gathering of statistics, more modeler- and user-friendly, and significantly easier to build, modify, and debug.
Communication in iWarp systems
Authors: T. Gross
Venue: Proceedings of the 1989 ACM/IEEE conference on Supercomputing (1989)

The iWarp processor is a building block for parallel systems and is developed in a joint project by Carnegie Mellon University and Intel Corporation. The iWarp processor integrates computation and communication: the iWarp component architecture consists of a computation agent, capable of delivering 20 MFLOPS and 20 MIPS, and a communication agent that provides a bandwidth of 320 MBytes/sec. We expect the first iWarp-based system to be available early 1990, organized as a 8X8 two-dimensional torus. Fast inter-processor communication is crucial for the success of a parallel system, and this paper describes communication in iWarp systems. We review the communication models, message passing and systolic communication, that this architecture aims to support and introduce the types of networks that can be realized by the iWarp communication agent. We also sketch a programmer interface to these networks and give usage examples for iWarp networks.
Using persistent objects to implement an environment for coopertive work
Authors: Christian . Madsen
Venue: ACM SIGOIS Bulletin (1989)

".. the hottest topic in software technology" it said in the call for papers of this event. Another fairly hot area, although in a different branch of the field of computer science is that of Computer Support for Cooperative Work. This paper attempts to give some directions for the development of a concept of persistent objects from the point of view of computer support for cooperative work. Based on a concrete design of an office system and the implementation of this system it is pointed out that several different kinds of persistent objects are needed, and that more research is necessary to clarify the notion of a persistent object.
Efficient implementation of the first-fit strategy for dynamic storage allocation
Authors: R. P. Brent
Venue: ACM Transactions on Programming Languages and Systems (TOPLAS) (1989)

We describe an algorithm that efficiently implements the first-fit strategy for dynamic storage allocation. The algorithm imposes a storage overhead of only one word per allocated block (plus a few percent of the total space used for dynamic storage), and the time required to allocate or free a block is O(log W), where W is the maximum number of words allocated dynamically. The algorithm is faster than many commonly used algorithms, especially when many small blocks are allocated, and has good worst-case behavior. It is relatively easy to implement and could be used internally by an operating system or to provide run-time support for high-level languages such as Pascal and Ada. A Pascal implementation is given in the Appendix.
Strongly polynomial-time and NC algorithms for detecting cycles in dynamic graphs
Authors: E. Cohen, N. Megiddo
Venue: Proceedings of the twenty-first annual ACM symposium on Theory of computing (1989)

This paper is concerned with the problem of recognizing, in a graph with rational vector-weights associated with the edges, the existence of a cycle whose total weight is the zero vector. This problem is known to be equivalent to the problem of recognizing the existence of cycles in dynamic graphs and to the validity of some systems of recursive formulas. It was previously conjectured that combinatorial algorithms exist for the cases of two- and three-dimensional vector-weights. The present paper gives strongly polynomial algorithms for any fixed dimension. Moreover, these algorithms also establish membership in the class NC. On the other hand, it is shown that when the dimension of the weights is not fixed, the problem is equivalent to the general linear programming problem under strongly polynomial and logspace reductions.
The evolution of information centers: a stage hypothesis
Authors: Simha R. Magal
Venue: ACM SIGMIS Database (1989)

Information centers (IC) have undergone numerous changes since they were first created to facilitate and control end-use computing. Today, ICs have evolved to play a significant role in an organization's computing activities. As such, the function and management of ICs are of major concern to information systems (IS) executives. The evolving nature of the IC, however, constrains these IS executives in their decisions regarding the role and future directions for ICs. This study proposed a stage hypothesis for information center evolution. Key benchmark variables were identified and the behavior of these variables over time were used to arrive at the stage hypotheses. A survey of IC managers was conducted to evaluate the accuracy of the proposed hypothesis and is to determine the current status of ICs in organizations. The results provided strong support for the hypothesis. Knowledge of how key benchmark variables behave during the evolution of ICs is invaluable to IS executives in their efforts to provide direction for ICs in their organizations.