ppxscal/embedding_network huggingface dataset:
Integrating human factors and software development
Authors: J. Grudin, J. Carroll, S. Ehrlich, M. Grisham, H. Hersh
Venue: Proceedings of the SIGCHI conference on Human factors in computing systems (1988)

Approaches to integrating human factors or user interface knowledge and expertise with software development are still exploratory and evolving. The human-computer interface provides a broader range of user interface challenges than earlier technology, but human factors is only now starting to be widely recognized as a distinct discipline requiring integration with system development. Devoting human and computer resources to user interface enhancement has been considered a luxury, and in many places still is, but the falling cost of computational power and the growing user resistance to poor interfaces, as well as a rising need for product differentiation in the marketplace, insure that human factors will become a necessity where it has not already. The need to develop organizational approaches to support the integration of human factors or user interface expertise with product development is thus a relatively new concern. The integration problems that have been identified include some that are shared with more established support activities such as technical writing, and others that are particular to human factors or result from the relative unfamiliarity of the discipline. Approaches that have been taken to managing human factors resources in order to maximize influence on user interface development include: hiring human factors engineers or psychologists directly into development teams, concentrating human factors engineers in a support organization, making use of external consultants with user interface knowledge, placing a development group under the leadership of a human factors professional, and forming an educational center in which software engineers learn about human factors approaches. Below, each panelist focuses on the advantages of one particular approach.
Designing programs that check their work
Authors: M. Blum, S. Kanna
Venue: Proceedings of the twenty-first annual ACM symposium on Theory of computing (1989)

A program correctness checker is an algorithm for checking the output of a computation. This paper defines the concept of a program checker. It designs program checkers for a few specific and carefully chosen problems in the class P of problems solvable in polynomial time. It also applies methods of modern cryptography, especially the idea of a probabilistic interactive proof, to the design of program checkers for group theoretic computations. Finally it characterizes the problems that can be checked.
The Flux-corrected transport algorithm on the NCUBE hypercube
Authors: D. W. Walker, G. C. Fox, G. R. Montry
Venue: Proceedings of the third conference on Hypercube concurrent computers and applications - Volume 2 (1989)

This work describes the implementation of a finite-difference algorithm, incorporating the flux-corrected transport technique, on the NCUBE hypercube. The algorithm is used to study two-dimensional, convectively-dominated fluid flows, and as a sample problem the onset and growth of the Kelvin-Helmholtz instability is investigated. Timing results are presented for a number of different sized problems on hypercubes of dimension up to 9. These results are interpreted by means of a simple performance model. The extension of the algorithm to the three-dimensional case is also discussed.
Using an architectural knowledge base to generate code for parallel computers
Authors: Anthony E. Terrano, Stanley M. Dunn, Joseph E. Peters
Venue: Communications of the ACM (1989)

The authors present a reconfigurable compiler for distributed memory parallel computers that performs automatic program partitioning, mapping, and communication code generation under the guidance of directives supplied by the programmer.
On the Size of PLAs Required to Realize Binary and Multiple-Valued Functions
Authors: E. A Bender, J. T. Butler
Venue: IEEE Transactions on Computers (1989)

Upper and lower bounds are shown for the average number of product terms required in the minimal realization, as a function of the number of nonzero output values. The variance, in addition to the bounds, allows conclusions to be drawn about how PLA size determines the set of realizable functions. Although the bounds are most accurate when there are few nonzero values, they are adequate for analyzing commercially available PLAs. The analysis shows that, for all but one commercially available PLA, the number of nonzero values is a statistically meaningful criterion for determining whether or not a given function is likely to be realized.
Formal solutions of differential equations
Authors: Michael. F Singer
Venue: Journal of Symbolic Computation (1990)

We give a survey of some methods for finding formal solutions of differential equations. These include methods for finding power series solutions, elementary and liouvillian solutions, first integrals, Lie theoretic methods, transform methods, asymptotic methods. A brief discussion of difference equations is also included.
Process decomposition through locality of reference
Authors: A. Rogers, K. Pingali
Venue: ACM SIGPLAN Notices (1989)

In the context of sequential computers, it is common practice to exploit temporal locality of reference through devices such as caches and virtual memory. In the context of multiprocessors, we believe that it is equally important to exploit spatial locality of reference. We are developing a system which, given a sequential program and its domain decomposition, performs process decomposition so as to enhance spatial locality of reference. We describe an application of this method - generating code from shared-memory programs for the (distributed memory) Intel iPSC/2.
A MACSYMA package for the generation and manipulation of chebyshev series
Authors: T. H. Einwohner, R. J. Fateman
Venue: Proceedings of the ACM-SIGSAM 1989 international symposium on Symbolic and algebraic computation (1989)

Techniques for a MACSYMA package for expanding an arbitrary univariate expression as a truncated series in Chebyshev polynomials and manipulating such expansions is described. A data structure is introduced to represent a truncated expansion in a set of orthogonal polynomials. The data structure contains the independent variable, the name of the orthogonal polynomial set, the number of terms retained, and a list of the expansion coefficients. Although we restrict attention here to the set of Chebyshev polynomials as the orthogonal set, extension to other orthogonal polynomials will be done later. A data structure for truncated power series is provided as an alternative. The principal function of the package converts a given expression into the aforementioned data structure. Special cases are the conversion of sums, products, the ratio, or the composition of truncated Chebyshev expansions. Another special case is converting an expression free of truncated Chebyshev expansions. The package generates exact expansion coefficients whenever possible. In addition to well-known Chebyshev expansions, such as for polynomials, we provide new methods for getting exact Chebyshev expansions for reciprocals of polynomials of degree one or two, meromorphic functions, arbitrary powers of a first-degree polynomial, the error-function, and generalized hypergeometric functions. When exact Chebyshev expansions for a function are unknown, or too costly to compute, approximate expansions are performed. Conversion to power series and interpolation between the roots of a Chebyshev polynomial are supported. The Clenshaw method for symbolic Chebyshev expansion of the solution of a linear differential equation whose coefficients are low degree polynomials is implemented in the package.
Object-oriented development of integrated programming environments with ASDL
Authors: Bernd Krämer, Heinz-Wilhelm Schmidt
Venue: Proceedings of the 1988 ACM SIGSMALL/PC symposium on ACTES (1988)

ASDL is a metalanguage for specifying integrated programming environments as specializations and extensions of a language independent environment kernel. The language combines syntax-directed translation schemes with an object-oriented 'type system. The type system supports data abstraction and multiple inheritance, thus encouraging extensibility, combination and reusability. Translation schemes are identified with generic manipulation operations associated with object types that allow the convenient and concise definition of (a) structural mappings between objects types and (b) message propagation along the structure of objects. Type and scheme definitions are compiled into executable code which is linked to a language independent environment kernel.
Critical Races in Ada Programs
Authors: G. M. Karam, C. M. Stanczyk, G. W. Bond
Venue: IEEE Transactions on Software Engineering (1989)

It is noted that critical races in concurrent Ada programs are an insidious source of system errors, and that the Ada language does not have concurrency features to ease the development of critical race-free programs. The authors illustrate this using the CRF language, which extends the Ada language by the addition of a powerful caller selection mechanism. It is this facility that implements a discriminatory mutual exclusion (dimutex) construct, an important feature for building less critical race-prone programs. The Mlog language supports the CRF caller selection mechanisms; thus it is convenient as a rapid-prototyping platform. A design method for systematically converting CRF designs into Ada designs is presented. The method uses a mixture of mechanical and creative transformations that are guaranteed not to introduce critical races. D. Helmbold and D. Luckham's (1985) gas-station example is used to illustrate the various approaches to applying the design method.
Using a global name space for parallel execution of UNIX tools
Authors: Charles J. Fleckenstein, David Hemmendinger
Venue: Communications of the ACM (1989)

A parallel make utility that executes on multiple workstations and achieves a significant real-time speedup makes work with distributed computing easy to conduct.
Teaching of assembly language as a laboratory science
Authors: D. J. Weiner
Venue: ACM SIGCSE Bulletin (1989)

This paper describes our experience with the implementation of laboratories associated with our undergraduate computer science courses. The beginning assembly language course was chosen as our first experiment with this concept for several reasons. Acquisition of new equipment necessitated reorganization of the course in any case, and the philosophy of learning by experimentation was most easily implemented in a subject "close to the hardware".The concept of a supervised lab in computer science, based on those used in the physical and natural sciences, is relatively new. Teaching assembly language in an assigned, supervised laboratory setting has overwhelming advantages over the more traditional lecture and open lab method. In addition to the obvious guaranteed computer time, the immediate availability of help allows much more material to be covered. Student and faculty acceptance of the labs has been uniformly enthusiastic. So much so, that all of our programming-intensive courses are now scheduled with labs. This paper presents descriptions of the original lab facility itself, later improvements to the facility, the course organization, and examination procedures. It concludes with some general observations and suggestions based on our experience.
On some computations with dense structured matrices
Authors: Victor Pan
Venue: Proceedings of the ACM-SIGSAM 1989 international symposium on Symbolic and algebraic computation (1989)

We reduce several computations with Hilbert and Vandermonde type matrices to matrix computations of the Hankel-Toeplitz type (and vice versa). This unifies various known algorithms for computations with dense structured matrices and enables us to extend any progress in computations with matrices of one class to the computations with other classes of matrices. In particular, this enables us to compute the inverses and the determinants of nXn matrices of Vandermonde and Hilbert types for the cost of O(n log2n) arithmetic operations. (Previously, such results were only known for the more narrow class of Vandermonde and generalized Hilbert matrices.)
Motion planning in the presence of movable obstacles
Authors: G. Wilfong
Venue: Proceedings of the fourth annual symposium on Computational geometry (1988)

Motion planning algorithms have generally dealt with motion in a static environment, or more recently, with motion in an environment that changes in a known manner. We consider the problem of finding collision-free motions in a changeable environment. That is, we wish to find a motion for an object where the object is permitted to move some of the obstacles. In such an environment the final positions of the movable obstacles may or may not be part of the goal. In the case where the final positions of the obstacles are unspecified, the motion planning problem is shown to be NP-hard. An algorithm that runs in &Ogr;(n2logn) time after &Ogr;(n3log2n) preprocessing time is presented when the object to be moved is polygonal and there is only one movable polygonal obstacle in a polygonal environment of complexity &Ogr;(n). In the case where the final positions of the obstacles are specified the general problem is shown to be PSPACE-hard and an algorithm is given when there is one movable obstacle with the same preprocessing time as the previous algorithm but with &Ogr;(n2) query time.
The Quality of Training Sample Estimates of the Bhattacharyya Coefficient
Authors: A. Djouadi, Ö Snorrason, F. D. Garber
Venue: IEEE Transactions on Pattern Analysis and Machine Intelligence (1990)

The quality, in terms of the bias and variance, of estimates of the Bhattacharyya coefficient based on n training samples from two classes described by multivariate Gaussian distributions is considered. The case where the classes are described by a common covariance matrix, as well as the case where each class is described by a different covariance matrix, is analyzed. Expressions for the bias and the variance of estimates of the Bhattacharyya coefficient are derived, and numerical examples are used to show the relationship between these parameters, the number of training samples, and the dimensionality of the observation space.
Structural testing of programs
Authors: A. A. Omar, F. A. Mohammed
Venue: ACM SIGSOFT Software Engineering Notes (1989)

Program testing may be performed using either one of two approaches; structural or functional. This paper is concerned with the structural testing approach of programs. Given a listing of the program, the first step is to construct its flowgraph. The flowgraph usually contains a very large number of paths, owing to the program loops, so testing all the paths is impossible. A subset of these paths are chosen, according to one criterion or another. Then, a set of test data is generated which causes the selected paths to be traversed when the program runs. Finally, the program runs, using the generated test data, and the output is analysed to detect program errors. The paper discusses the problems involved and the methods used in each step of the above mentioned structural testing methodology.
Maximizing modem bandwidth
Authors: W. Baker
Venue: ACM SIGSMALL/PC Notes (1989)

This paper arises out of an idea I had to optimize the bandwidth use on the connection whenever I dialed in to work from home. So often I wanted to be able to work interactively while downloading files, but couldn't. Unfortunately I have changed jobs since then, and so the design remains an idea, rather than a reality. I share it for your edification.
Generalized signals: an interrupt-based communication system for hypercubes
Authors: E. W. Felten
Venue: Proceedings of the third conference on Hypercube concurrent computers and applications: Architecture, software, computer systems, and general issues - Volume 1 (1988)

This paper describes a communication system designed to support highly asynchronous application or system software on a distributed-memory multicomputer such as a hypercube. The system is called generalized signals because it is based on the signal facility in System V UNIX, with enhancements to allow signals to carry data. Any processor can send a signal to any other processor at any time. When a signal arrives, the receiving processor traps to a user-specified subroutine; when this subroutine is finished the interrupted code is resumed. Signal interrupts happen in a controlled manner, thereby simplifying the programmer's task. There is a facility for protection of critical sections in user programs. The generalized signals system has been implemented on the NCUBE hypercube. This implementation is based on a modified version of NCUBE's VERTEX message-passing system. Generalized signals can coexist with VERTEX messages and the enhancements to VERTEX are transparent to ordinary programs.
Managing people who used to be your peers: how things change
Authors: S. Webster
Venue: Proceedings of the 17th annual ACM SIGUCCS conference on User Services (1989)

When you become a boss to your former peers, many things change, because you have more influence, power, and authority than before. Some changes are obvious (new office, new phone number, secretary, different meetings, to name some) and others are more subtle. For instance, you have to &ldquo;think bigger&rdquo; than before and on behalf of more people. If you have never been a boss before, you will probably find yourself wondering about the role of the boss. Is the boss the ultimate facilitator? Does the boss work to improve the working lives of his or her staff so that work gets done effectively and efficiently? Is the boss the ultimate dictator? Does the boss wield power, doling it out in dribs and drabs to chosen staff members? Can a boss always stay at any place along the continuum between these two positions? You probably have some pretty solid opinions about the role of the boss, gained from dealing with previous bosses and noting their strengths and weaknesses. Now you have a chance to test your beliefs, to try to avoid the bad habits and unwholesome personality traits you have suffered from, to try to be a good boss to people who used to be your peers. In this presentation, I'd like to talk about some of the more subtle changes a person experiences when he or she stops being a peer and becomes a boss.
Advice: A European effort towards “automatic” E-beam testing
Authors: M. Cocito, M. Melgara
Venue: Microelectronic Engineering (1988)

The usefulness of E-beam equipment in VLSI validation have been overstressed. However, only recently the necessity of a full integration between the CAD (Computer Aided Design) world and E-Beam world has been felt. The next step further is the complete automation of an E-beam debugging procedure. This paper presents a description of an integrated E-beam debugging system, developed under Esprit Project 271 .
John von Neumann: Formative Years
Authors: N. Vonneuman
Venue: IEEE Annals of the History of Computing (1989)

This biographical essay by von Neumann's younger brother traces the development of John von Neumann's axiomatic method to his early environment. Nicholas Vonneuman sees the early contact with eminent scientists and scholars in their parents' house and the discussion of management practices at dinner conversations as shaping experiences in his brother's life. His mother's motto "to make the impossible possible" also exerted great influence on his brother.
Load Sharing in Distributed Real-Time Systems with State-Change Broadcasts
Authors: K. G. Shin, Y.-C. Chang
Venue: IEEE Transactions on Computers (1989)

A decentralized, dynamic load sharing (LS) method based on state-change broadcasts is proposed for a distributed real-time system. Whenever the state of a node changes from underloaded to fully loaded and vice versa, the node broadcasts this change to a set of nodes, called a buddy set, in the system. The performance of the method is evaluated with both analytic modeling and simulation. It is modeled first by an embedded Markov chain for which numerical solutions are derived. The model solutions are then used to calculate the distribution of queue lengths at the nodes and the probability of meeting tasks deadlines. The analytical results show that buddy sets of ten nodes outperform those of less than ten nodes, and the incremental benefit gained from increasing the buddy set size beyond 15 nodes is insignificant. These and other analytical results are verified by simulation. The proposed LS method is shown to meet task deadlines with a very high probability.
A statistical approach to diagnosing intermittent performance-problems using monotone relationships
Authors: J. Hellerstein
Venue: ACM SIGMETRICS Performance Evaluation Review (1989)

Managing a computer system requires that good performance (e.g., large throughputs, small response times) be maintained in order to meet business objectives. Rarely is performance consistently bad. More frequently, performance is good one day and bad the next. Diagnosing such intermittent performance-problems involves determining what distinguishes bad days from good days, such as larger paging rates. Once this is understood, an appropriate remedy can be found, such as buying more memory. This paper describes a statistical approach to diagnosing intermittent performance-problems when the relationships among measurement variables are expressed qualitatively as monotone relationships (e.g., paging delays increase with the number of logged-on users). We present a non-parametric test for monotonicity (NTM) that evaluates monotone relationships based on FA, the fraction of observation-pairs that agree with the monotone relationship. An interpretation of FA in terms of statistical significance levels is presented, and NTM is compared to least-squares regression. Based on NTM, an algorithm for diagnosing intermittent performance-problems is presented. NTM and our diagnosis algorithm are applied to measurements of four similarly configured IBM 9370 model 60s running IBM's operating-system Virtual Machine System Product (VM SP).
Tolerant planning and negotiation in generating coordinated movement plans in an automated factory
Authors: J. B. H. Kwa
Venue: Proceedings of the 1st international conference on Industrial and engineering applications of artificial intelligence and expert systems - Volume 1 (1988)

Plan robustness is important for real world applications where modelling imperfections often result in execution deviations. The concept of tolerant planning is suggested as one of the ways to build robust plans. Tolerant planning achieves this aim by being tolerant of an agent's own execution deviations. When applied to multi-agent domains, it has the additional characteristic of being tolerant of other agents' deviant behaviour. Tolerant planning thus defers dynamic replanning until execution errors become excessive. The underlying strategy is to provide more than ample resources for agents to achieve their goals. Such redundancies aggravate the resource contention problem. To counter this, the iterative negotiation mechanism is suggested. It requires agents to be skillful in negotiating with other agents to resolve conflicts in such a way as to minimize compromising one's own tolerances and yet being benevolent in helping others find a feasible plan.
Sharing the load of logic-program evaluation
Authors: O. Wolfson
Venue: Proceedings of the first international symposium on Databases in parallel and distributed systems (2000)

We propose a method of parallelizing bottom-up-evaluation of logic programs. The method does not introduce interprocess communication, or synchronization overhead. We demonstrate that it can be applied when evaluating several classes of logic programs, e.g., the class of linear single rule programs. This extends the work reported in [WS] by significantly expanding the classes of logic programs that can be evaluated in parallel. We also prove that there are classes of programs to which the parallelization method cannot be applied.