ppxscal/embedding_network huggingface dataset:
The time complexity of maximum matching by simulated annealing
Authors: Galen H. Sasaki, Bruce Hajek
Venue: Journal of the ACM (JACM) (1988)

The random, heuristic search algorithm called simulated annealing is considered for the problem of finding the maximum cardinality matching in a graph. It is shown that neither a basic form of the algorithm, nor any other algorithm in a fairly large related class of algorithms, can find maximum cardinality matchings such that the average time required grows as a polynomial in the number of nodes of the graph. In contrast, it is also shown for arbitrary graphs that a degenerate form of the basic annealing algorithm (obtained by letting &ldquo;temperature&rdquo; be a suitably chosen constant) produces matchings with nearly maximum cardinality in polynomial average time.
Correlation structuring and the statistical analysis of strady-state ground-water flow
Authors: Fai Ma, Mein Sieng Wei, Wendell H. Mills
Venue: SIAM Journal on Scientific and Statistical Computing (1987)

We are interested in multi-agent contracting, in which customers must solicit the resources and capabilities of other, self-interested agents in order to accomplish their goals. Goals may involve the execution of multi-step plans, in which different steps are contracted out to different suppliers. We have developed a testbed that can generate sets of plans with known statistical attributes, formulate and submit requests for quotations, generate bids with well-defined statistics, and evaluate those bids according to a number of criteria.
Synchronization, Coherence, and Event Ordering in Multiprocessors
Authors: Michel,  Dubois, Christoph Scheurich, Fayé A. Briggs
Venue: Computer (1988)

The problems addressed apply to both throughput-oriented and speedup-oriented multiprocessor systems, either at the user level or the operating-system level. basic definitions are provided. Communication and synchronization are briefly explained, and hardware-level and software-level synchronization mechanisms are discussed. The cache coherence problem is examined, and solutions are described. Strong and weak ordering of events is considered. The user interface is discussed.
Entity relationship models as a tool for data analysis and design
Authors: Carol Chrisman, Barbara Beccue
Venue: ACM SIGCSE Bulletin (1986)

Many tools have been developed to aid in the systems analysis and design process. These same tools are used in teaching to help students better understand the process. This paper will discuss ways in which one tool, Entity Relationship (ER) models, can be used in teaching data analysis and design. The role of ER models in database design will be reviewed. ER models will be considered as a framework for also dealing with file design. An example of an ER model will be given with a description of how it might be used in discussing file design issues with students.
Distributed discrete-event simulation
Authors: Jayadev Misra
Venue: ACM Computing Surveys (CSUR) (1986)

Traditional discrete-event simulations employ an inherently sequential algorithm. In practice, simulations of large systems are limited by this sequentiality, because only a modest number of events can be simulated. Distributed discrete-event simulation (carried out on a network of processors with asynchronous message-communicating capabilities) is proposed as an alternative; it may provide better performance by partitioning the simulation among the component processors. The basic distributed simulation scheme, which uses time encoding, is described. Its major shortcoming is a possibility of deadlock. Several techniques for deadlock avoidance and deadlock detection are suggested. The focus of this work is on the theory of distributed discrete-event simulation.
An environment for Ada software development based on formal specification
Authors: D C Luckham, R Neff, D S Rosenblum
Venue: ACM SIGAda Ada Letters (1987)

This report gives an overview of the current status and plans to construct a prototype environment of advanced tools for software and hardware development based on the use of wide-spectrum languages. The wide-spectrum languages include Anna (ANNotated Ada), and TSL (Task Sequencing Language). The tools described here provide interactive aid at all stages in the system development process. Special emphasis is placed on distributed computing, both in providing tools for handling parallelism in the subject system, and in designing tools that utilize parallelism in the programming environment. Applications of these tools include requirements analysis, formal specification, rapid prototyping, testing, formal verfication and construction of self-testing Ada software for multi-processor systems.The report describes an existing environment of prototype tools supporting applications of Anna and TSL to formal specification and testing of Ada software. The new environment tools will be based on component tools already developed at Stanford and proven to be portable to various Ada environments. All tools are implemented in Ada and are intended to interface with standard components of Ada programming environments.
An application of queueing theory to the design of a message-switching computer system
Authors: Jack Gostl, Irwin Greenberg
Venue: Communications of the ACM (1985)

Inexact or real-world queueing techniques are used to determine that the number of buffers provided in system design is indeed adequate to guard against message loss.
Design of an expert system for utilization research
Authors: A Zvieli, S K MacGregor, J Z Shapiro
Venue: Proceedings of the ACM SIGART international symposium on Methodologies for intelligent systems (1986)

This work is concerned with the initial design of an expert system for increasing utilization of evaluations in the social sciences. It is an empiric fact that evaluation findings in the social science have a very low and unpredictable utilization. An expert System for Utilization of Research (SUR) may serve both as a research tool (expert systems research and utilization research) and later as an aid to evaluators in the field. The system will be used to collect and store existing utilization research expertise, sort it and detect contradictions. A dynamic model of interaction of an evaluator and an organization will be developed, and the system will be used to simulate interactions and devise strategies and responses applicable to different scenarios. The system may also be used by the applied evaluator as a sophisticated tool for presentation of recommendations, and as a supportive guide for conducting good evaluations.
Supporting package software documentation: options for user services groups
Authors: John B. McKee
Venue: Proceedings of the 15th annual ACM SIGUCCS conference on User Services (1987)

In this presentation, I wish only to encourage a thoughtful use of software package documentation by User Service Groups (hereafter USGs). I do not wish to give specific advice. USGs vary enormously in many ways, including size, available resources, span of control, and types of software supported. What is good advice for one is bound to be bad advice for several others. After hearing about the aims of package documentation and the options for implementing them in an overall USG strategy, a given USG staff may well decide to make no changes at all in its current treatment of software documentation packages. Hopefully, though, this will be because of a conscious decision to make no changes in spite of a knowledge of other options, and not because of an unexamined commitment to a default position. With this disclaimer out of the way, let's turn to our topic. To the degree that User Services Groups are involved in technology transfer, they have an inherent interest in three general areas of the technology transfer enterprise: education, troubleshooting, and consulting. Software package documentation has now evolved to the point where it routinely addresses these three areas, with clear benefits for organizations which have USGs. To make best use of software documentation, however, it is helpful to remember that different documentation components have different aims, and that a range of options exists for using each component in a USG environment. An awareness of these points can assist USGs in deciding which options best fit their particular circumstances. Software package components: In general, products which purport to be &ldquo;end-user&rdquo; software will usually include three components in their documentation which need ongoing management: a tutorial, a &ldquo;Help Key&rdquo;, and printed detail documentation.
OSI service specification with CCITT-SDL
Authors: Dieter Hogrefe
Venue: ACM SIGCOMM Computer Communication Review (1988)

This paper shows how OSI architectural concept of service can be expressed using the specification language CCITT-SDL. Some general remarks about service specification using asynchronously communicating processes are followed by the introduction of a generalized form of the well-known time-sequence diagrams. This generalized form of time-sequence diagrams is is especially suitable for the semi-formal description of services rendered by asynchronously communicating service providers. Two examples, a Data Link and a Network service, show the application of the concepts developed here.
Key Concepts of the INCAS Multicomputer Project
Authors: J. Nehmer, D. Haban, F. Mattern, D. Wybranietz, H. D. Rombach
Venue: IEEE Transactions on Software Engineering (1987)

This paper gives an overview of the INCAS (INCremental Architecture for distributed Systems) multicomputer project, which aims at the development of a comprehensive methodology for the design and implementation of locally distributed systems. A structuring concept for distributed operating systems has been developed and integrated into the system implementation language LADY. The concurrent high-level programming language CSSA, based on the actor model, has been designed for the implementation of distributed applications. A substantial effort in the INCAS project is directed towards the development of a distributed test methodology. An experimental system has been implemented on a network of ten MC68000 microcomputers. Preliminary experience with the methodology has been gained from a small number of prototype applications.
APL arrays and their editor
Authors: W Gfeller
Venue: ACM SIGPLAN Notices (1986)

APL arrays can be perceived to consist of several parts. This concept is extended and rationalized. Together with keyed indexing, it allows to treat all entities in an APL system as arrays. The human interface to such a system is a recursive array editor (ae), which is isomorphic to the APL language.Finally, a design of such an editor for a workstation with bitmapped display is presented.
A unification processor based on a uniformly structured cellular hardware
Authors: Y. Shobatake, H. Aiso
Venue: Proceedings of the 13th annual international symposium on Computer architecture (1986)

In this paper, an implementation of unification using a systolic-like method is presented for a VLSI-oriented Prolog machine. Not pointers but a line of symbols and the arity of each symbol are used to express the structure of terms on a uniformly structured cellular hardware. This data structure is demanded by the systolic-like method. Using the systolic-like method, copying structure, and occur check are easily executed during the process of unification. Moreover, searching variable is executed in parallel using a broadcast bus.
Using spreadsheets to teach computer science
Authors: Dermot Shinners-Kennedy
Venue: ACM SIGCSE Bulletin (1986)

This paper describes a research project which commenced recently at the NIHE, L. The project investigates the use of micro-computer software to teach aspects of computer science. Spreadsheets are the subject of this report. The potential of spreadsheet systems for teaching assembler programming is considered. We outline a model for enabling students to acquire fundamental computer science concepts using a simplistic &ldquo;language machine&rdquo;. The language machine is embedded in a programmable spreadsheet package which acts as the host language. The aim of the project is to explore the possibility of creating interactive, robust and instructional computer models using some of the more powerful spreadsheet packages in an imaginative fashion.
A name service for evolving heterogeneous systems
Authors: M. Schwartz, J. Zahorjan, D. Notkin
Venue: ACM SIGOPS Operating Systems Review (1987)

A prototype implementation has been built as part of the Heterogeneous Computer Systems project at the University of Washington. This service supports RPC binding and other applications in our heterogeneous environment. Measurements of the performance of this prototype show that it is close to that of the underlying name services, due largely to the use of specialized caching techniques.
Generating incremental VLSI compaction spacing constraints
Authors: C. W. Carpenter, M. Horowitz
Venue: Proceedings of the 24th ACM/IEEE Design Automation Conference (1987)

This paper describes using adjacency lists to incrementally generate design rule spacing constraints. The algorithm generates the smallest complete set of constraints for a design, yielding fast compaction, and is as fast or faster than ordinary constraint generation methods even when the incremental features are not used. The adjacency list data structure allows one to very quickly move, insert or delete objects and generate an updated set of constraints.
A digital multisignature scheme using bijective public-key cryptosystems
Authors: Tatsuaki Okamoto
Venue: ACM Transactions on Computer Systems (TOCS) (1988)

A new digital multisignature scheme using bijective public-key cryptosystems that overcomes the problems of previous signature schemes used for multisignatures is proposed. The principal features of this scheme are (1) the length of a multisignature message is nearly equivalent to that for a singlesignature message; (2) by using a one-way hash function, multisignature generation and verification are processed in an efficient manner; (3) the order of signing is not restricted; and (4) this scheme can be constructed on any bijective public-key cryptosystem as well as the RSA scheme. In addition, it is shown that the new scheme is considered as safe as the public-key cryptosystem used in this new scheme. Some variations based on the scheme are also presented.
Efficient interpretation of Prolog programs
Authors: J. Barklund
Venue: ACM SIGPLAN Notices (1987)

The paper focuses on three ideas for solving problems with writing interpreters for the logic programming language Prolog in Prolog and how to combine these ideas to an interpreter for Prolog which is both simple and efficient. The resulting interpreter system can be incorporated into a Prolog based on Warren's Abstract Machine and built mostly from existing parts of it. The interpreter has been implemented and is used in a Prolog system developed at Uppsala University.
Profile of undergraduate software engineering courses: results from a survey
Authors: Barbee Mynatt, Laura Leventhal
Venue: ACM SIGCSE Bulletin (1987)

A survey of undergraduate software engineering courses was conducted. The survey covered the issues of course level, course content, course organization, project characteristics and department demographics. The descriptive statistics show that the typical course focuses on the software development life cycle and includes a project intended for actual use. The project is carried out by teams of students, with student leaders. The issues of suitable textbooks, staffing, obtaining suitable software and sources of materials and training for teaching user-interface design surfaced as problem areas.
Survey on special purpose computer architectures for AI
Authors: B Wah, G J Li
Venue: Issue 96 (April 1986) (1986)

In this survey, we will provide a short survey and classification on the current work in special purpose architectures to support AI applications. In spite of the growing importance of AI applications, work in the area of designing AI architectures are so diversified that articles were published in other areas besides Al, ranging from psychology, medicine, manufacturing, computer architecture, software engineering, and database management to industrial engineering, operations research, and the list grows. The literature search is also complicated by the fact that with the development of the Fifth-Generation Computer Systems, some work in this area is very recent and was published in many foreign countries. During our literature search to compile this survey, we systematically went through over sixty different journals published in various countries and proceedings from over fifty conferences in the last twenty years and over seventy books.
A radiosity method for non-diffuse environments
Authors: David S. Immel, Michael F. Cohen, Donald P. Greenberg
Venue: ACM SIGGRAPH Computer Graphics (1986)

A general radiosity method accounting for all interreflections of light between diffuse and nondiffuse surfaces in complex environments is introduced. As contrasted with previous radiosity methods, surfaces are no longer required to be perfectly diffuse reflectors and emitters. A complete, viewer independent description of the light leaving each surface in each direction is computed, allowing dynamic sequences of images to be rendered with little additional computation per image. Phenomena such as "reflection tracking", reflections following a moving observer across a specular surface are produced. Secondary light sources, such as the light from a spotlight reflecting off a mirror onto a wall are also accounted for.
The challenge of parallel function evaluation
Authors: Charles B. Dunham
Venue: ACM SIGNUM Newsletter (1986)

A topic that does not seem to have been considered is how to do function evaluations in parallel, that is, how to evaluate a mathematical function, eg. exp, for several different arguments simultaneously on a machine with parallel processors eg. ILLIAC IV: that machine had 64 processors, whose reaction to a (parallel) command from the master computer was either to execute or (on a condition) to decline to execute the instruction.
Business graphics: A taxonomy for information systems managers
Authors: John A Lehman
Venue: ACM SIGMIS Database (1986)

The impact of computer graphics on organizational effectiveness can be considerable. The cost of these benefits can also be substantial, both in system cost and in personnel investment. Most discussions of computer graphics technology are driven by technology rather than by applications. Most managers do not understand the technology, and most of the graphics literature is directed either at engineers or at persuading customers in general to purchase systems. This paper provides information for managers and system designers on the major application areas in computer graphics, and the technological alternatives appropriate to different applications.
Error Secure/Propagating Concept and its Application to the Design of Strongly Fault-Secure Processors
Authors: T. Nanya, T. Kawamura
Venue: IEEE Transactions on Computers (1988)

A concept of the error-secure and the error-propagating interfaces of the subsystems in a digital system is introduced, and shown to be useful for practical design and verification for a strongly fault-secure system which is known to achieve the totally self-checking (TSC) goal. A sufficient condition is shown for subsystem interfaces to meet for it to be possible to construct a strongly fault-secure system with no checkers used to monitor the embedded interfaces. On the basis of the error-secure/propagating concept, a design is presented for a strongly fault-secure microprocessor which implements the instruction set of Intel's i8080 8-b microprocessor. In the design, a complete set of building blocks is defined and all the partial interfaces are verified for the error secure/propagating property. Only four checkers are used at the embedded interfaces in the resulting strongly fault-secure processor.
Efficient Design of Totally Self-Checking Checkers for all Low-Cost Arithmetic Codes
Authors: Dimitris Nikolos, Antonis M. Paschalis, George Philokyprou
Venue: IEEE Transactions on Computers (1988)

A method is proposed that is based on the partitioning of the input code variables into two sections, each section representing the binary form of a number Z/sub 1/ and Z/sub 2/, respectively. For a code with check base A=2/sup m/-1, two m-bit end-around carry adder trees calculate the modulo m residue of Z/sub 1/ and Z/sub 2/, while a totally self-checking (TSC) translator maps the output of the pair of trees onto m-variable two-rail code. A TSC two-rail checker maps the m-variable two-rail code onto one-out-of-two code. The checkers present significant improvement in the implementation cost, number of gate levels, and reliability over TSC checkers previously proposed in the literature.
CSM: A Distributed Programming Language
Authors: S. Zhongxiu, L. Xining
Venue: IEEE Transactions on Software Engineering (1987)

This paper presents an overview of a distributed programming language called Communicating Sequential Modules or CSM, intended to support distributed computing. Developed from Modula-2 and CSP, CSM has been implemented on the ZCZ distributed microcomputer system consisting of several LSI-11 microcomputers. Its implementation is also described.
Compilation for a high-performance systolic array
Authors: Thomas Gross, Monica S. Lam
Venue: ACM SIGPLAN Notices (1986)

We report on a compiler for Warp, a high-performance systolic array developed at Carnegie Mellon. This compiler enhances the usefulness of Warp significantly and allows application programmers to code substantial algorithms.The compiler combines a novel programming model, which is based on a model of skewed computation for the array, with powerful optimization techniques. Programming in W2 (the language accepted by the compiler) is orders of magnitude easier than coding in microcode, the only alternative available previously.
Developing a heterogeneous distributed operating system
Authors: Zhongxiu Sun, Xing Xue, Jianqiang Zhou, Peigen Yang, Xihao Xu
Venue: ACM SIGOPS Operating Systems Review (1988)

This paper describes the design and current status of a heterogeneous distributed operating system project called ZGL. This project is characterized by its attempt to provide for heterogeneity in both the use of hardware and the use of multiple existing operating systems. The existing operating systems are extended in a way that programs written for a single machine environment will be executed in the network environment without modification or recompilation but still can take advantage of shared hardware and software resources provided by other systems. In order to accommodate this heterogeneity, the project follows the client/server model, and uses a common communication interface for heterogeneous existing client systems to access shared services.
Chickens and eggs&mdash;the interrelationship of systems and theory
Authors: P. Selinger
Venue: Proceedings of the sixth ACM SIGACT-SIGMOD-SIGART symposium on Principles of database systems (1987)

This paper describes a personal perspective of the kinds of contributions that systems research and theoretical research make to one another particularly in the database area. Examples of each kind of contribution are given, and then several case studies from the author a personal experience are presented. The case studies illustrate database systems research where theoretical work contributed to systems results and vice versa. Areas of database systems which need more contributions from the theoretical community will also be presented.
A computerized test for conformance to the APL standard
Authors: Kaled A Amer
Venue: ACM SIGAPL APL Quote Quad (1987)

This chapter is not intended to fully acquaint the reader with APL. For this purpose the reader is referred to Grey [5]. Here we give a brief history of the language and its uses. Some features which set APL apart from more traditional languages such as Pascal and Fortran are discussed. Also discussed are APL random files, which are essential to the work of subsequent chapters.