ppxscal/embedding_network huggingface dataset:
Exception handling in scientific computing
Authors: T. E. Hull, M. S. Cohen, J. T. M. Sawshuk, D. B. Wortman
Venue: ACM Transactions on Mathematical Software (TOMS) (1988)

This paper describes some simple programming language facilities for raising and handling exceptions, and demonstrates, with a number of examples, their effectiveness in a scientific computing environment. Only a small number of predefined exceptions need to be introduced into the language, but any number of user-defined exceptions can he introduced by the programmer. A key feature is that handlers are attached to operators that can raise exceptions (including user-defined functions and procedures, as well as built-in operators), rather than to expressions or statements. The programmer has a great deal of freedom in specifying what action is to be taken in case an exception arises. The implementation and the applications are mainly concerned with scientific computing, but we believe the facilities are applicable in other areas as well.
Partial expansions for file organizations with an index
Authors: David B. Lomet
Venue: ACM Transactions on Database Systems (TODS) (1987)

A new way to increase file space in dynamically growing files is introduced in which substantial improvement in file utilization can be achieved. It makes use of partial expansions in which, instead of doubling the space associated with some part of the file, the space grows at a slower rate. Unlike previous versions of partial expansion in which the number of buckets involved in file growth is increased by less than a factor of two, the new method expands file space by increasing bucket size via &ldquo;elastic buckets.&rdquo; This permits partial expansions to be used with a wide range of indexed files, including B-trees. The results of using partial expansions are analyzed, and the analysis confirmed by a simulation study. The analysis and simulation demonstrate that the file utilization gains are substantial and that fears of excessive insertion cost resulting from more frequent file growth are unfounded.
Multiprocessor cache synchronization: issues, innovations, evolution
Authors: P. Bitar, A. M. Despain
Venue: ACM SIGARCH Computer Architecture News (1986)

Many options are possible in a cache synchronization (or consistency) scheme for a broadcast system. We clarify basic concepts, analyze the handling of shared data, and then describe a protocol that we are currently exploring. Finally, we analyze the evolution of options that have been proposed under write-in (or write-back) policy. We show how our protocol extends this evolution with new methods for efficient busy-wait locking, waiting, and unlocking. The lock scheme allows locking and unlocking to occur in zero time, eliminating the need for test-and-set. The scheme also integrates processor atomic read-modify-write instructions and programmer/compiler busy-wait-synchronized operations under the same mechanism. The wait scheme eliminates all unsuccessful retries from the bus, and allows a process to work while waiting.
Implementing Exact Calculations in Hardware
Authors: J. J. Thomas, S. R. Parker
Venue: IEEE Transactions on Computers (1987)

A technique for performing exact calculations it discussed. The technique uses single-modulus P arithmetic to perform calculations over the finite field of integers and the finite ring of integers. It is shown that the arithmetic operations modulo P (which obviously can be impleinented in microprocessor configurations, VLSI, and/or software) can easily be extended from the range of values of the finite field of integers, modulo P, to the finite ring of integers, modulo pN where N is afny positive integer. This technique can be used for exact calculations over the rational numbers as well as complex numbers. Examples, block diagrams, And processor arrays are presented illustrating the simplicity of these operations.
An Algorithm for Determining the Fault Diagnosability of a System
Authors: J Narasimhan, K Nakajima
Venue: IEEE Transactions on Computers (1986)

The fault diagnosability problem is the problem of computing the maximum number of faulty units which a system can tolerate without losing its capability of identifying all such faulty units. We study this problem for the model introduced by Barsi, Grandoni, and Maestrini [2]. We present a new characterization of the model, and develop an efficient diagnosability algorithm for a system in this model.
Partitioning a polygonal region into trapezoids
Authors: Takao Asano, Tetsuo Asano, Hiroshi Imai
Venue: Journal of the ACM (JACM) (1986)

The problem of partitioning a polygonal region into a minimum number of trapezoids with two horizontal sides is discussed. A triangle with a horizontal side is considered to be a trapezoid with two horizontal sides one of which is degenerate. First, a method of achieving a minimum partition is presented. The number M* of the trapezoids in the minimum partition of a polygonal region P is shown to be M* = n + w - h - d - 1, where n, w, and h are the number of vertices, windows (holes), and horizontal edges of P, respectively, and d is the cardinality of a maximum independent set of the straight-lines-in-the-plane graph associated with P. Next, this problem is shown to be polynomially equivalent to the problem of finding a maximum independent set of a straight-lines-in-the-plane graph, and consequently, it is shown to be NP-complete. However, for a polygonal region without windows, an O(n2)-time algorithm for partitioning it into a minimum number of trapezoids is presented. Finally, an O(n log n)-time approximation algorithm with the performance bound 3 is presented.
Puzzles, PROLOG and logic
Authors: T W Jerardi
Venue: ACM SIGPLAN Notices (1987)

Puzzles have been and continue to be very effective agents for the presentation of logic. Recently, PROLOG has been suggested as the tool of choice for approaching "virtually all" logic problems. One of Smullyan's puzzles is used to demonstrate this thesis. We question this rush to PROLOG and its associated procedural interpretation of logic. We give a simple puzzle (definitely not of the Lewis Carroll or Smullyan caliber) and our PROLOG solutions. Our problems in applying PROLOG to this puzzle in turn lead us to try to discover the logic roots of PROLOG.
Understanding Software Maintenance Work
Authors: S. Bendifallah, W. Scacchi
Venue: IEEE Transactions on Software Engineering (1987)

Software maintenance can be successfully accomplished if the computing arrangements of the people doing the maintenance are compatible with their established patterns of work in the setting. To foster and achieve such compatibility requires an understanding of the reasons and the circumstances in which participants carry out maintenance activities. In particular, it requires an understanding of how software users and maintainers act toward the changing circumstances and unexpected events in their work situation that give rise to software system alterations. To contribute to such an understanding, we describe a comparative analysis of the work involved in maintaining and evolving text-processing systems in two academic computer science organizations. This analysis shows that how and why software systems are maintained depends on occupational and workplace contingencies, and vice versa.
Enhancement through extension: the extension interpreter
Authors: D. Notkin, W. G. Griswold
Venue: Papers of the Symposium on Interpreters and interpretive techniques (1987)

The ability to extend programs dynamically has clear advantages. However, providing efficient yet sufficiently flexible support for such capabilities system-wide presents significant challenges. We describe a design and implementation of an extension mechanism that depends heavily on interpretive techniques, including call arbitration, dynamic linking, and multilanguage extensions. We discuss these mechanisms in the context of our Extension Interpreter, which embodies our ideas and provides a framework for discussing the efficiency and generality of the implementation. Our current implementation runs under BSD UNIX 4.2 and 4.3 on VAXes and SUN workstations. Extensions can be written in both C and in Icon, demonstrating our ability to address problems both of compiled and interpreted languages.
Some Theory Concerning Certification of Mathematical Subroutines by Black Box Testing
Authors: Robert P. Roe, John H. Rowland
Venue: IEEE Transactions on Software Engineering (1987)

Several inequalities are derived for use in certifying function subroutines by means of black box testing. It is assumed that a function is approximated by means of a polynomial of limited degree on a closed interval. These inequalities give upper bounds on the error of the approximation over the entire interval based on the error measured over a finite sample and known properties of the function.
Computation of the incomplete gamma function ratios and their inverse
Authors: Armido R DiDonato, Alfred H Morris,  Jr.
Venue: ACM Transactions on Mathematical Software (TOMS) (1986)

An algorithm is given for computing the incomplete gamma function ratios P(a, x) and Q>(a, x) for a &gne; 0, x &gne; 0, a + x &ne; 0. Temme's uniform asymptotic expansions are used. The algorithm is robust; results accurate to 14 significant digits can be obtained. An' extensive set of coefficients for the Temme expansions is included. An algorithm, employing third-order Schr&ouml;der iteration supported by Newton-Raphson iteration, is provided for computing x when a, P(a, x), and Q(a, x) are given. Three iterations at most are required to obtain 10 significant digit accuracy for x.
Domain-Specific Automatic Programming
Authors: David R. Barstow
Venue: IEEE Transactions on Software Engineering (1985)

Domain knowledge is crucial to an automatic programming system and the interaction between domain knowledge and programming at the current time. The NIX project at Schlumberger-Doll Research has been investigating this issue in the context of two application domains related to oil well logging. Based on these experiments we have developed a framework for domain-specific automatic programming. Within the framework, programming is modeled in terms of two activities, formalization and implementation, each of which transforms descriptions of the program as it proceeds through intermediate states of development. The activities and transformations may be used to characterize the interaction of programming knowledge and domain knowledge in an automatic programming system.
Query processing in a multimedia document system
Authors: Elisa Bertino, Fausto Rabbiti, Simon Gibbs
Venue: ACM Transactions on Information Systems (TOIS) (1988)

Query processing in a multimedia document system is described. Multimedia documents are information objects containing formatted data, text, image, graphics, and voice. The query language is based on a conceptual document model that allows the users to formulate queries on both document content and structure. The architecture of the system is outlined, with focus on the storage organization in which both optical and magnetic devices can coexist. Query processing and the different strategies evaluated by our optimization algorithm are discussed.
Compile-time partitioning and scheduling of parallel programs
Authors: Vivek Sarkar, John Hennessy
Venue: Proceedings of the 1986 SIGPLAN symposium on Compiler construction (1986)

Partitioning and scheduling techniques are necessary to implement parallel languages on multiprocessors. Multiprocessor performance is maximized when parallelism between tasks is optimally traded off with communication and synchronization overhead. We present compile-time partitioning and scheduling techniques to achieve this trade-off.
Effective Memory Bandwidth and Processor Blocking Probability in Multiple-Bus Systems
Authors: Y.-C. Liu, C.-J. Jou
Venue: IEEE Transactions on Computers (1987)

This correspondence presents two expressions in calculating effective memory bandwidth for a wide range of multiple-bus configurations. Also presented is an analytical solution for determining each processor's blocking probability in a multiple-bus system where different priorities are assigned to the processors.
Teaching data abstraction in a beginning Pascal class
Authors: Karl Rehmer, Linda Rising
Venue: ACM SIGCSE Bulletin (1986)

Modern programming practice advocates the use of abstract data types to aid in design, coding, and maintenance of programs [1]. Many students who are not computer majors will write programs as part of their jobs. Therefore, it is important to expose those students who will take only one or two programming courses to the idea of abstract data types. The paper below illustrates how this was done in one of our beginning Pascal classes.
On the Time-Bandwidth Proof in VLSI Complexity
Authors: Y. S. Abu-Mostafa
Venue: IEEE Transactions on Computers (1987)

A subtle fallacy in the original proof [1] that the computation time T is lowerbounded by a factor inversely proportional to the minimum bisection width of a VLSI chip is pointed out. A corrected version of the proof using the idea of conditionally self-delimiting messages is given.
User interface design: are human factors principles used?
Authors: Jack Grimes, Kate Ehrlich, Jerry Vaske
Venue: ACM SIGCHI Bulletin (1986)

In the days when computer systems were used primarily by people with technical backgrounds, human factors, if considered at all, were treated as a backroom activity---something to be done after the design and implementation had been completed. We are now in an era in which computer hardware and software are consumer items. Computer users range from school kids to adults and from non-technical office professionals to software engineers. In today's environment, computer companies, especially those who sell software, must offer products that are effective and easy to use to be successful in the marketplace.
Scan line array processors for image computation
Authors: A. L. Fisher
Venue: Proceedings of the 13th annual international symposium on Computer architecture (1986)

This paper describes the scan line array processor (SLAP), a new architecture designed for high-performance yet low-cost image computation. A SLAP is a SIMD linear array of processors, and hence is easy to build and scales well with VLSI technology; yet appropriate special features and programming techniques make it efficient for a surprisingly wide variety of low and medium level computer vision tasks. We describe the basic SLAP concept and some of its variants, discuss a particular planned implementation, and indicate its performance on computer vision and other applications.
Logical design of relational database schemes
Authors: L. Y. Yuan, Z. M. Ozsoyoglu
Venue: Proceedings of the sixth ACM SIGACT-SIGMOD-SIGART symposium on Principles of database systems (1987)

We define extended conflict free dependencies in the context of functional and multivalued dependencies, and prove that there exists an acyclic, dependency preserving, 4NF database scheme if and only if the given set of dependencies has an extended conflict free cover. This condition can be checked in polynomial time. A polynomial time algorithm to obtain such a scheme for a given extended conflict free set of dependencies is also presented. The result is also applicable when the data dependencies consists of only functional dependencies, giving the necessary and sufficient condition for an acyclic, dependency preserving BCNF database scheme
A node-addition model for symbolic factorization
Authors: Kincho H. Law, Steven J. Fenives
Venue: ACM Transactions on Mathematical Software (TOMS) (1986)

A symbolic node-addition model for matrix factorization of symmetric positive definite matrices is described. In this model, the nodes are added onto the filled graph one at a time. The advantage of the node-addition model is its simplicity and flexibility. The model can be immediately incorporated into finite element analysis programs. The model can also be extended to determine modification patterns in the matrix factors due to changes in the original matrix. For a given matrix K(=LDLt), the time complexity of the algorithm for constructing the structure of the lower triangular matrix factor L is O(&eegr;(L)) where &eegr;(L) is the number of nonzero entries in L.
A set of workshops for high school computer science teachers
Authors: George M. Whitson,  III
Venue: Proceedings of the seventeenth SIGCSE technical symposium on Computer science education (1986)

This paper outlines a set of workshops to provide training for certified high school computer science teachers. Upon the completion of the four core workshops, a high school teacher would have an excellent background to teach high school computer science as detailed in the new proposed ACM Curriculum for high school certification. The workshops should also do a good job upgrading the background of high school computer science and computer math teachers to teach courses currently in the high school curriculum. One workshop, PASCAL with Applications to Data Structures, was specifically designed to prepare current high school teachers to teach a PASCAL course whose goal is to prepare students for the advanced placement test. Each of the six workshops is a three semester hour course and most carry graduate credit. Three of the six courses have already been offered and more should be taught next summer. The reception of the high school teachers to the workshops has been very enthusiastic.
A new local basis for designing with tensioned splines
Authors: Elaine Cohen
Venue: ACM Transactions on Graphics (TOG) (1987)

Recently there has been a great deal of interest in the use of &ldquo;tension&rdquo; parameters to augment control mesh vertices as design handles for piecewise polynomials. A particular local cubic basis called B-splines, which has been termed a &ldquo;generalization of B-splines, v has been proposed as an appropriate basis. These functions are defined only for floating knot sequences. This paper uses the known property of B-splines that with appropriate knot vectors span what are called here spaces of tensioned splines, and that particular combinations of them, called LT-splines, form bases for the spaces of tensioned splines. In addition, this paper shows that these new proposed bases have the variation diminishing property, the convex hull property, and straightforward knot insertion algorithms, and that both curves and individual basis functions can be easily computed. Sometimes it is desirable to interpolate points and also use these tension parameters, so interpolation methods using the LT-spline bases are presented. Finally, the above properties are established for uniform and nonuniform knot vectors, open and floating end conditions, and homogeneous and nonhomogeneous tension parameter pairs.
Performance Analysis of Disk Modulo Allocation Method for Cartesian Product Files
Authors: Yuan Y. Sung
Venue: IEEE Transactions on Software Engineering (1987)

Cartesian product files have been shown to exhibit attractive properties for partial match queries. The Disk Modulo (DM) allocation method is shown to have good performance on the distribution of Cartesian product files into an m-disk system. However, there was no explicit expression made before to represent the DM method's response time to a given partial match query. In this paper, based upon discrete Fourier transform, we derive one formula for such a computation. After obtaining this representation, the performance characteristics of the DM method can now be given an analytic interpretation. Some theoretical results are derived from this formula. We also use our formula to analyze the performance of several popular Disk Modulo algorithms.
Evaluation of step directions in optimization algorithms
Authors: William C. Davidon, Jorge Nocedal
Venue: ACM Transactions on Mathematical Software (TOMS) (1985)

We present a method for comparing that part of optimization algorithms that chooses each step direction. It is an example of a general approach to algorithm evaluation in which one tests specific parts of the algorithm, rather than making overall evaluations on a set of standard test problems. Our testing procedure can he useful for developing new algorithms and for writing and evaluating optimization software. We use the method to compare two versions of the conjugate gradient algorithm, and to compare these with an algorithm based on conic functions.
A continuum of disk scheduling algorithms
Authors: Robert Geist, Stephen Daniel
Venue: ACM Transactions on Computer Systems (TOCS) (1987)

A continuum of disk scheduling algorithms, V(R), having endpoints V(0) = SSTF and V(1) = SCAN, is defined. V(R) maintains a current SCAN direction (in or out) and services next the request with the smallest effective distance. The effective distance of a request that lies in the current direction is its physical distance (in cylinders) from the read/write head. The effective distance of a request in the opposite direction is its physical distance plus R x (total number of cylinders on the disk). By use of simulation methods, it is shown that this definitional continuum also provides a continuum in performance, both with respect to the mean and with respect to the standard deviation of request waiting time. For objective functions that are linear combinations of the two measures, &mgr;w + kow, intermediate points of the continuum are seen to provide performance uniformly superior to both SSTF and SCAN. A method of implementing V(R) and the results of its experimental use in a real system are presented.
Interconnecting heterogeneous computer systems
Authors: David Notkin, Andrew P. Black, Edward D. Lazowska, Henry M. Levy, Jan Sanislo, John Zahorjan
Venue: Communications of the ACM (1988)

A software structure created by the Heterogeneous Computer Systems (HCS) Project at the University of Washington was designed to address the problems of heterogeneity that typically arise in research computing environments.
Automated X-Ray Inspection of Aluminum Castings
Authors: H. Boerner, H. Stecker
Venue: IEEE Transactions on Pattern Analysis and Machine Intelligence (1988)

The experience gained with several approaches to automatic flaw detection in X-ray images of cast aluminum wheels is described. Basic problems are mentioned, and the applicability of segmentation methods to actual inspection tasks is demonstrated. The discussion focuses on the definition, extraction, and combination of local features for pixel classification. Results of pilot tests are described briefly. Further investigations are suggested, aiming at more generality of the methods and greater stability of the segmentation.
Software Bases for the Flexible Composition of Application Systems
Authors: R. T. Mittermeir, M. Oppitz
Venue: IEEE Transactions on Software Engineering (1987)

In various application areas, classes of computer programs can be identified such that each program belonging to a class, can be considered as a special variant of a generic program.
The algorithm capture approach to Ada transition
Authors: D. Wood
Venue: ACM SIGAda Ada Letters (1988)

The mandate for the use of the Ada language in Department of Defense software systems, as well as the growing interest in Ada that exists in the commercial software industry, has created the need for planned, systematic transition paths from existing programs to Ada programs. The demands that Ada places on the life-cycle development of software increases the need for careful planning in any Ada transition effort. At the same time, the desire to derive Ada systems from an existing non-Ada baseline also increases the need for careful control of the transition process. This paper examines the general issues behind such a transition, and describes a transition process geared toward maximizing the benefit of the use of the Ada language, while maintaining a tightly-controlled link with existing systems.