ppxscal/embedding_network huggingface dataset:
Assertive comments in APL programming
Authors: David M. Weintraub
Venue: ACM SIGAPL APL Quote Quad (1986)

Current practice in APL programming (and in most other languages) is to use comments to describe what is intended by subsequent lines within a function. An alternative approach to commenting is described, wherein assertions (a concept borrowed from program proof techniques) are inserted into APL code, specifying the present state of relevant variables, etc. It is shown that this approach is especially appropriate for APL, as most APL design is accomplished by working from a desired end result, backwards.
Principles for computer crime legislation
Venue: ACM SIGSAC Review (1987)

Data Processing Management Association (DPMA) believes a special set of laws governing crimes relating to information technology is important. The issues and problems created by technology can at times outpace society's ability to contend. Business, society and the process of criminal justice are all at a disadvantage when forced to make the current laws fit technology crimes. Today's laws can be applied with varying degrees of success.
Paradigms for design and implementation in ADA
Authors: Václav Rajlich
Venue: Communications of the ACM (1985)

An examination of the respective advantages and disadvantages of three characteristic paradigms of design and implementation in Ada illustrates the importance of choosing the appropriate paradigm for a given set of circumstances.
User's groups - a source of information
Authors: Alan Albertus
Venue: Proceedings of the 15th annual ACM SIGUCCS conference on User Services (1987)

This paper looks at the ways one of the user's groups on campus provides information and sources of information to the campus community. It describes the activities and instruments the group uses to gather and disseminate this information to its members. It also discusses methods being used to increase user participation in the user's group. The user's group uses a variety of techniques to accomplish its goal of being a source of information to the campus community, including: a newsletter covering general information of interest to the campus community and software and hardware reviews by members of the user's group; hardware and software presentations by vendors and user group members during meetings; maintenance of a public domain software library at a central site for use by members; and the use of a database containing the software and hardware currently being used by individual members and their expertise with each product.
The Reliability of Single-Error Protected Computer Memories
Authors: M. Blaum, R. Goodman, R. McEliece
Venue: IEEE Transactions on Computers (1988)

The lifetimes of computer memories which are protected with single-error-correcting-double-error-detecting (SEC-DED) codes are studies. The authors assume that there are five possible types of memory chip failure (single-cell, row, column, row-column and whole chip), and, after making a simplifying assumption (the Poisson assumption), have substantiated that experimentally. A simple closed-form expression is derived for the system reliability function. Using this formula and chip reliability data taken from published tables, it is possible to compute the mean time to failure for realistic memory systems.
On the power of magic
Authors: C. Beeri, R. Ramakrishnan
Venue: Proceedings of the sixth ACM SIGACT-SIGMOD-SIGART symposium on Principles of database systems (1987)

This paper considers the efficient evaluation of recursive queries expressed using Horn Clauses. We define sideways information passing formally and show how a query evaluation algorithm may be defined in terms of sideways information passing and control. We then consider a class of information passing strategies which suffices to describe most query evaluation algorithms in the database literature, and show that these strategies may always be implemented by rewriting a given program and evaluating the rewritten program bottom-up. We describe in detail several algorithms for rewriting a program. These algorithms generalize the Counting and Magic Sets algorithms to work with arbitrary programs. Safety and optimality of the algorithms are also considered.
Exploiting parallelism in a switch-level simulation machine
Authors: E. H. Frank
Venue: Proceedings of the 13th annual international symposium on Computer architecture (1986)

The parallelism inherent in actual circuits suggests that this parallelism might be exploited in a switch-level simulation machine, in order to reduce total simulation time. This paper explores the extent to which this parallelism exists and the extent to which it can be exploited. The exploration is done in the context of a proposed multiprocessor simulation machine called the Fast-1. The Fast-1 is a form of data-flow machine in which switch-level circuits are represented as programs consisting of transistor and node instructions. In a multiprocessor Fast-1 these programs are partitioned onto one or more processors. Using a simulation of the Fast-1, experiments were performed using thirteen circuits, ranging in size from 78 to 20233 transistors. The most parallel circuit measured in these experiements potentially could be simulated almost 200 times faster on a multiprocessor than on a uniprocessor, assuming one instruction per processor and no-cost interprocessor communication. Using 64 processors, an atual speedup of 28 was achieved using contention-free interconnect, while a speedup of 12 was achieved when the 64 processors were connected by a broadcast bus for which they had to arbitrate.
Lower bounds for solving linear diophantine equations on random access machines
Authors: Friedhelm Meyer auf der Heide
Venue: Journal of the ACM (JACM) (1985)

The problem of recognizing the language Ln(Ln, k) of solvable Diophantine linear equations with n variables (and solutions from {O, &hellip; , k}n) is considered. The languages &cup;n&egr;N Ln, &cup;n&egr;N Ln, l, the knapsack problem, are NP-complete. The &OHgr;(n2 lower bound for Ln,1 on linear search algorithms due to Dobkin and Lipton is generalized to an &OHgr;(n2log(k + 1)) lower bound for Ln, k. The method of Klein and Meyer auf der Heide is further improved to carry over the &OHgr;(n2) lower bound for Ln, 1 to random access machines (RAMS) in such a way that it holds for a large class of problems and for very small input sets. By this method, lower bounds that depend on the input size, as is necessary for Ln, are proved. Thereby, an &OHgr;(n2log(k + 1)) lower bound is obtained for RAMS recognizing Ln or Ln, k, for inputs from {0, &hellip; , (nk)0(n2)}n.
The self-extending phrasal lexicon
Authors: Uri Zernik, Michael G. Dyer
Venue: Computational Linguistics (1987)

Lexical representation so far has not been extensively investigated in regard to language acquisition. Existing computational linguistic systems assume that text analysis and generation take place in conditions of complete lexical knowledge. That is, no unknown elements are encountered in processing text. It turns out however, that productive as well as non-productive word combinations require adequate consideration. Thus, assuming the existence of a complete lexicon at the outset is unrealistic, especially when considering such word combinations.Three new problems regarding the structure and the contents of the phrasal lexicon arise when considering the need for dynamic acquisition. First, when an unknown element is encountered in text, information must be extracted in spite of the existence of an unknown. Thus, generalized lexical patterns must be employed in forming an initial hypothesis, in absence of more specific patterns. Second, senses of single words and particles must be utilized in forming new phrases. Thus the lexicon must contain information about single words, which can then supply clues for phrasal pattern analysis and application. Third, semantic clues must be used in forming new syntactic patterns. Thus, lexical entries must appropriately integrate syntax and semantics.We have employed a Dynamic Hierarchical Phrasal Lexicon (DHPL) which has three features: (a) lexical entries are given as entire phrases and not as single words, (b) lexical entries are organized as a hierarchy by generality, and (c) there is not separate body of grammar rules: grammar is encoded within the lexical hierarchy. A language acquisition model, embodied by the program RINA, uses DHPL in acquiring new lexical entries from examples in context through a process of hypothesis formation and error correction. In this paper we show how the proposed lexicon supports language acquisition.
Captive...a new tool
Authors: Richard I. Haller, George M. Koval
Venue: Proceedings of the 15th annual ACM SIGUCCS conference on User Services (1987)

CAPTIVATE is software which implements an imaginative authoring language to produce interactive systems; it is genuinely easy to use. CAPTIVATE blends ordinary text, audio, graphics, and laserdisc video into information packets, or scenes, which are presented to users. Users respond by keyboard or touch screen, and their responses are used by the program to determine subsequent scenes. Users' responses are automatically recorded for use in later analysis.
OPG: an optimizing parser generator
Authors: George H. Roberts
Venue: ACM SIGPLAN Notices (1988)

A source program-target program pair is to a compiler as a grammar-parser pair is to a parser generator.This analogy reflects the belief that because optimizing compilers exist, optimizing parser generators should exist. This paper shows that they do exist, and how one was constructed.
Rapidly evolving software and the OVERSEE environment
Authors: Steven Wartik
Venue: ACM SIGPLAN Notices (1987)

During its lifetime, a software system will sometimes need to &ldquo;rapidly evolve,&rdquo; that is, undergo a quick set of changes. Making the changes rapidly is difficult, especially if one's software development policies are rigorous; the need for test reports, signatures, etc., seems to create interminable delays. In this paper, we argue that much of the problem stems not from such policies, but from a lack of consideration to information flow in software environments. We present a configuration management environment called OVERSEE, and discuss how it helps solve the problems of information flow.
An overview of the SR language and implementation
Authors: Gregory R. Andrews, Michael Coffin, Irving Elshoff, Kelvin Nilson, Gregg Townsend, Ronald A. Olsson, Titus Purdin
Venue: ACM Transactions on Programming Languages and Systems (TOPLAS) (1988)

SR is a language for programming distributed systems ranging from operating systems to application programs. On the basis of our experience with the initial version, the language has evolved considerably. In this paper we describe the current version of SR and give an overview of its implementation. The main language constructs are still resources and operations. Resources encapsulate processes and variables that they share; operations provide the primary mechanism for process interaction. One way in which SR has changed is that both resources and processes are now created dynamically. Another change is that inheritance is supported. A third change is that the mechanisms for operation invocation&mdash;call and send&mdash;and operation implementation&mdash;proc and in&mdash;have been extended and integrated. Consequently, all of local and remote procedure call, rendezvous, dynamic process creation, asynchronous message passing, multicast, and semaphores are supported. We have found this flexibility to be very useful for distributed programming. Moreover, by basing SR on a small number of well-integrated concepts, the language has proved easy to learn and use, and it has a reasonably efficient implementation.
Voice: technology searching for communication needs
Authors: Arlene Aucella, Robin Kinkead, Anna Wichansky, Chris Shmandt
Venue: ACM SIGCHI Bulletin (1986)

Voice technology is just beginning to gain a foothold in the information processing world. Applications such as voice mail, credit verification, order entry and airline reservation systems are slowly being introduced. Critics of voice systems frequently point out their limitations with little understanding of their power or advantages. One key determinant of the success or failure of voice systems is the USER INTERFACE. It is important that the dialogue structure, prompts, system feedback and error messages be designed based on user input, testing and evaluation.Another key determinant of the success of voice systems is the careful matching of users, tasks and environment to the technology. Voice technology is often broken down into 3 major categories.Speech compression. Processing allows analog patterns of human speech to be digitized. Once stored in digital form, the information can be transmitted and played back.Common Applications: Voice Mail, Voice Annotation.Text-to-Speech. Processing allows computer-stored text to be translated and retrieved via a &ldquo;synthesized&rdquo; voice. Common applications: Remote retrieval of information (E-Mail, Calendar Appointments), Aids to Visually or Vocally Handicapped.Speech Recognition. Processing allows analog patterns of human speech to be translated into their text-based equivalent or into computer commands.Common Applications: Data Entry, Voice Activated Typewriter.
DI: an interactive debugging interpreter for applicative languages
Authors: S. K. Skedzielewski, R. K. Yates, R. R. Oldehoeft
Venue: Papers of the Symposium on Interpreters and interpretive techniques (1987)

The DI interpreter is both a debugger and interpreter of SISAL programs. Its use as a program interpreter is only a small part of its role; it is designed to be a tool for studying compilation techniques for applicative languages. DI interprets dataflow graphs expressed in the IF1 and IF2 languages, and is heavily instrumented to report the activity of dynamic storage activity, reference counting, copying and updating of structured data values. It also aids the SISAL language evaluation by providing an interim execution vehicle for SISAL programs. DI provides determinate, sequential interpretation of graph nodes for sequential and parallel operations in a canonical order. As a debugging aid, DI allows tracing, breakpointing, and interactive display of program data values. DI handles creation of SISAL and IF1 error values for each data type and propagates them according to a well-defined algebra. We have begun to implement IF1 optimizers and have measured the improvements with DI.
Quantum cryptography
Authors: D Wiedemann
Venue: ACM SIGACT News (1986)

An idea of Stephen Wiesner [1] is expanded to give a method of public key distribution which is provably secure under the principles of quantum mechanics. It appears that this scheme could actually be implemented in favorable environments.
The alchemy model: a model for homogeneous and heterogeneous distributed computing system
Authors: S. J. Pratt
Venue: ACM SIGOPS Operating Systems Review (1986)

The performance of any computing system is seriously affected by the performance of the resident operating system. Distributed computing systems are no different. There have been many successful attempts at harnessing the full potential offered by distributed computing's inherent flexibility. However by far the majority of these implementations have been made on homogeneous configurations; the complexity implicit in connecting a number of heterogeneous sub-systems into a single, unified distributed computing system, has precluded their realisation. The system designer has to compare the many characteristics of a design before deciding upon the final solution. In doing so the designer needs a framework, or model, upon which he can assess alternative strategies. Most of the models to date have been based upon the layered approach which simplfies the software strucutre but it cannot reflect the control infrastructure which is necessary to effect such facilities as reconfigurability, resilience. etc.
TNT: a talking tutor 'n' trainer for teaching use of interactive computer systems
Authors: L. H. Nakatani, D. E. Egan, L. W. Ruedisueli, P. M. Hawley, D. K. Lewart
Venue: ACM SIGCHI Bulletin (1986)

Tutor 'N' Trainer (TNT) is an automated tutor for vi, the UNIX&trade; system screen editor. TNT fosters learning by doing. The Tutor component guides the student's practice with spoken instruction and feedback. The Trainer component assures safety during practice by permitting only previously taught and appropriate operations. Individualization and effectiveness are achieved in two ways: special helper keys enable slow learners to get extra help and repeat troublesome tasks; and practice loops force slow learners to practice tasks repeatedly until competency is achieved.
Le Menu: changing the user interface on a local area network
Authors: David K. Boesharr
Venue: Proceedings of the 15th annual ACM SIGUCCS conference on User Services (1987)

Through the use of batch commands and special application programs, the interface for users on a local area network can be greatly simplified. In an experiment at Syracuse University, a menu system has been created to allow students a more direct access to software and computer assisted instruction (CAI). This menu system is used in public microcomputer clusters to allow users to gain access to application programs such as word processors and data base managers, as well as system utilities like formatting diskettes. The menu system minimizes the number of commands the users must learn to become productive on the system. This also allows clusters of microcomputers to be used by students with significantly less prior computer experience. The menu interface is written in &ldquo;Extended Batch Language&rdquo;&trade; and is an extension of the MS-DOS batch command set. This menu interface has five main advantages: Less memorization of commands by users. Better handling of special network commands. Low hardware overhead in the workstation. Easy to modify and maintain. Easy to be phased out by students who gain more complex computer skills.
Computing multi-colored polygonal masks in pipeline architecture and its application to automated visual inspection
Authors: Jorge L. C. Sanz, Its'hak Dinstein, Dragutin Petkovic
Venue: Communications of the ACM (1987)

New techniques for computing multicolored polygonal masks for image analysis and computer vision applications are presented. The procedures do not require random access of the image memory. They are based on efficient generation of coordinate-reference images (ramps) and other simple general purpose architectural features such as look-up tables. The techniques presented are, unlike their predecessors, highly parallel and can be efficiently implemented in existing pipeline image processors. In addition, we show an architecture in the form of functional building blocks that will enable us to compute polygonal and other masks much faster than commercially available pipeline systems. Extensive motivation and use of the new algorithms for digital visual inspection applications are given throughout.
The Role of Domain Expenence in Software Design
Authors: Beth Adelson, Elliot Soloway
Venue: IEEE Transactions on Software Engineering (1985)

A designer's expertise rests on the knowledge and skills which develop with experience in a domain. As a result, when a designer is designing an object in an unfamiliar domain he will not have the same knowledge and skills available to him as when he is designing an object in a familiar domain. In this paper we look at the software designer's underlying constellation of knowledge and skills, and at the way in which this constellation is dependent upon experience in a domain. What skills drop out, what skills, or interactions of skills come forward as experience with the domain changes? To answer the above question, we studied expert designers in experimentally created design contexts with which they were differentially familiar. In this paper we describe the knowledge and skills we found were central to each of the above contexts and discuss the functional utility of each. In addition to discussing the knowledge and skills we observed in expert designers, we will also compare novice and expert behavior.
The solution of a combustion problem with Rosenbrock methods
Authors: A. Ostermann, P. Kaps, T. D. Bui
Venue: ACM Transactions on Mathematical Software (TOMS) (1986)

Solving flame propagation problems with the method of lines leads to large systems of ordinary differential equations. These systems are usually solved by Backward Differentiation Formula (BDF) methods, such as by LSODE of Hindmarsh. Recently, Rosenbrock methods turned out to be rather successful for integrating small systems with inexpensive function and Jacobian evaluations. However, no test has been done on the performance of some recently developed Rosenbrock codes in a situation in which the dimension of the system is large, for example, over one hundred equations. These Rosenbrock codes performed quite well on the STIFF DETEST and other small systems. The aim of this paper is to investigate the performance of the Rosenbrock methods in solving the flame propagation problem by the method of lines.
Field results with the APL compiler
Authors: Clark Wiedmann
Venue: ACM SIGAPL APL Quote Quad (1986)

The STSC compiler is now in use at customer sites. We can finally answer the question of whether the compiler is effective at reducing CPU time for real applications, and whether it is cost effective to invest the extra effort to speed up applications with the compiler. We have found from numerous case studies that (1) it takes an APL programmer about 3 days to learn about the compiler and begin to use it effectively; (2) customers have speeded up whole applications by factors of 1.2 to 9; (3) usually about one-tenth of an application needs to be compiled to speed it up; (4) the extra effort to analyze an application and compile parts of it can be as low as 1% of the time required to develop it; (5) we have documented cases where the purchase price of the compiler is cost-justified in two months of use.
Note on a Proposed Test for Random Number Generators
Authors: George Marsaglia
Venue: IEEE Transactions on Computers (1985)

A recently proposed test for uniform random number generators is based on the mean and variance of the outcome of a sequence of iterations. This note points out that many nonuniform random number generators would pass such a test, and derives an improved test based on the exact distribution of the outcome.