ppxscal/embedding_network huggingface dataset:
Heuristics in real user interfaces
Authors: Brad A. Myers, Richard Wolf, Kathy Potosnak, Chris Graham
Venue: Proceedings of the INTERACT '93 and CHI '93 conference on Human factors in computing systems (1993)

It is the conventional wisdom in user interface design that direct manipulation is best and that interfaces should be predictable. This tends to argue against having a system &ldquo;guess&rdquo; or use heuristics or other AI approaches. However, an increasing number of today's successful software products do use heuristics in their interfaces. The heuristics are used to help guide the user and to perform tasks that would be too difficult to specify by conventional direct manipulation approaches. We believe that user interface designers will increasingly need to consider using heuristic techniques in their interfaces. This panel discusses a number of today's successful products using heuristics and the important HCI design issues such as feedback.
Binding-time analysis and the taming of C pointers
Authors: Lars Ole Andersen
Venue: Proceedings of the 1993 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation (1993)

The aim of binding-time analysis is to determine when variables, expressions, statements, etc. in a program can be evaluated by classifying these into static (compile-time) and dynamic (run-time). Explicit separation of binding times has turned out to be crucial for successful self-application of partial evaluators, and apparently, it is also an important stepping-stone for profitable specialization of imperative languages with pointers and dynamic memory allocation. In this paper we present an automatic binding-time analysis for a substantial subset of the C language. The paper has two parts. In the first part, the semantic issues of binding-time separation is discussed with emphasis on pointers and classification of these. This leads to the introduction of a two-level C language where binding times are explicit in the syntax. Finally, well-annotatedness rules are given which excludes non-consistently annotated programs. In the second part, an automatic binding-time analysis based on constraint system solving is developed. The constraints capture the binding-time dependencies between expressions and subexpressions, and a solution to the system gives the binding times of all variables and expressions. We give rules for the generation of constraints, provide normalization rules, and describe how a solution can be found. Given the binding times of expressions, a well-annotated two-level version of the program can easily be constructed. A two-level program can e.g. be input to an offline partial evaluator.
Time in neural networks
Authors: J.-C. Chappelier, A. Grumbach
Venue: ACM SIGART Bulletin (1994)

After the revival of interest in connectionism in the eighties and its successful application to pattern recognition problems, the time has come to consider its role in the field of temporal processing. We present here a general overview of the field of temporal neural networks. In order to give a broad framework to this presentation, we first present general properties of time that are used by AI models. This sets out the properties of time: - on its own, - with respect to a problem, - with respect to a model. We then present a short summary of time processing in symbolic AI. The main part of this article, a classification of temporal neural models, is introduced by a short presentation of basic connectionist models. This classification is then made and several relevant examples are presented. We conclude the article with underlining the difference between temporal reasoning and neural temporal processing, and give an introduction to the following papers of this Sigart special section.
A q-Analog of the Hook Walk Algorithm for Random Young Tableaux
Authors: S. Kerov
Venue: Journal of Algebraic Combinatorics: An International Journal (1993)

A probabilistic algorithm, called the q-hook walk, is defined. For a given Young diagram, it produces a new one by adding a random box with probabilities, depending on a positive parameter q. The corresponding Markov chain in the space of infinite Young tableaux is closely related to the knot invariant of Jones, constructed via traces of Hecke algebras. For q &equals; 1, the algorithm is essentially the hook walk of Greene, Nijenhuis, and Wilf. The q-hook formula and a q-deformation of Young graph are also considered.
Fortran 90 is almost object-oriented: some thoughts about Fortran and OOP
Authors: Lawrie Schonfelder
Venue: ACM SIGPLAN Fortran Forum (1993)

Fortran 90 already has much of the technology needed to provide for Object Oriented Programming, if the fashionable hype and evangelical dogma is ignored. The data abstraction facilities of Fortran 90 provide a very good basis on which to build OOP functionality.
Implementation and evaluation of alternative process schedulers in MINIX
Authors: R. Guerrero, L. Leguizamon, R. Gallard
Venue: ACM SIGOPS Operating Systems Review (1993)

Minix is a Unix clone Operating System, designed by Tanembaum ([2],[3]) to allow beginners to do practical training in Operating Systems area.In this context the present paper describes the work done by a group of students implementing alternative process schedulers disciplines and their evaluation comparing performance estimates.Some unexpected deviations in the original implementation (Minix V. 1.0), found during software development, are also reported.
An information flow model of fault detection
Authors: Margaret C. Thompson, Debra J. Richardson, Lori A. Clarke
Venue: Proceedings of the 1993 ACM SIGSOFT international symposium on Software testing and analysis (1993)

RELAY is a model of how a fault causes a failure on execution of some test datum. This process begins with introduction of an original state potential failure at a fault location and continues as the potential failure(s) transfers to output. Here we describe the second stage of this process, transfer of an incorrect intermediate state from a faulty statement to output. Transfer occurs along information flow chains, where each link in the chain involves data dependence transfer and/or control dependence transfer. RELAY models concurrent transfer along multiple information flow chains with transfer sets, which identify possible interaction between potential failures, and with transfer routes, which identify actual interactions. Transfer sets, transfer routes, and control dependence transfer are unique to the RELAY model. The model demonstrates that the process of potential failure transfer is extremely complex and full analysis of real programs may not be practical. Nonetheless, RELAY provides insight into testing and fault detection and suggests an approach to fault-based testing and analysis that may be warranted for critical systems software.
Object-oriented software development with the Demeter Method (abstract)
Authors: Karl Lieberherr
Venue: Addendum to the proceedings on Object-oriented programming systems, languages, and applications (Addendum) (1992)

Object-Oriented Software Development with the Demeter Method Karl Lieberherr, Northeastern University The Demeter Method is a formal method that lifts object-oriented software development to a higher level of abstraction by using a graphical specification language for describing object-oriented programs. Executable programs are automatically generated by a CASE tool (the Demeter System/C++) from the graphical high-level descriptions. Unlike other specification languages, the Demeter Method allows you to keep the binding of methods to classes flexible under changing class structures. The higher level of abstraction leads to shorter and more reusable programs than by programming directly in one of todays object-oriented languages such as C++, Smalltalk, Eiffel or CLOS. Because the Demeter Method is regularly taught at NU both at the graduate and undergraduate level with the 10 week quarter system, it has become, by nnecessity, very easy to learn. This tutorial is for professionals who want to learn powerful, formally defined high-level concepts that describe the programming task in terms of data-model-based graphs and their subgraphs.
Cultural diversity in user interface design: are intuitions enough?
Authors: Barbee Teasley, Laura Leventhal, Brad Blumenthal, Keith Instone, Daryl Stone
Venue: ACM SIGCHI Bulletin (1994)

In a Communications of the ACM article of April 1993 ("Human Communications Issues in Advanced UIs," pp. 101--109), Aaron Marcus makes a number of compelling points about the design of interactive computer systems for demographically-diverse user populations. In particular, he advocates interfaces that support users by providing an "appealing perceptual experience" both in their appearance ("look") and behavior ("feel"). He contends that the path to such appealing interfaces involves developing and evaluating candidate scenarious through "either professional intuition or focus groups, [developing] prototypes quickly, [evaluating] their utility carefully through testing, and [implementing] a practical version."
Waiting algorithms for synchronization in large-scale multiprocessors
Authors: Beng-Hong Lim, Anant Agarwal
Venue: ACM Transactions on Computer Systems (TOCS) (1993)

Through analysis and experiments, this paper investigates two-phase waiting algorithms to minimize the cost of waiting for synchronization in large-scale multiprocessors. In a two-phase algorithm, a thread first waits by polling a synchronization variable. If the cost of polling reaches a limit Lpoll and further waiting is necessary, the thread is blocked, incurring an additional fixed cost, B. The choice of Lpoll is a critical determinant of the performance of two-phase algorithms. We focus on methods for statically determining Lpoll because the run-time overhead of dynamically determining Lpoll can be comparable to the cost of blocking in large-scale multiprocessor systems with lightweight threads. Our experiments show that always-block (Lpoll = 0) is a good waiting algorithm with performance that is usually close to the best of the algorithms compared. We show that even better performance can be achieved with a static choice of Lpoll based on knowledge of likely wait-time distributions. Motivated by the observation that different synchronization types exhibit different wait-time distributions, we prove that a static choice of Lpoll can yield close to optimal on-line performance against an adversary that is restricted to choosing wait times from a fixed family of probability distributions. This result allows us to make an optimal static choice of Lpoll based on synchronization type. For exponentially distributed wait times, we prove that setting Lpoll = 1n(e-1)B results in a waiting cost that is no more than e/(e-1) times the cost of an optimal off-line algorithm. For uniformly distributed wait times, we prove that setting Lpoll=1/2(square root of 5 -1)B results in a waiting cost that is no more than (square root of 5 + 1)/2 (the golden ratio) times the cost of an optimal off-line algorithm. Experimental measurements of several parallel applications on the Alewife multiprocessor simulator corroborate our theoretical findings.
Speeding times
Authors: Walter G. Spunde
Venue: ACM SIGAPL APL Quote Quad (1994)

In a recent article [2], it was shown that function samples for all functions composed of the elementary functions can be computed using two operators, By and Times, which deliver samples of the maximum possible order for linear combinations and products of functions. The article highlighted the simplicity of the exposition, but made no attempt to modify algorithms to improve the speed of calculations. In particular, it was noted that the APL functions took around three seconds to obtain the values of the first ten derivatives of the test function (x csc x)/ log arctan exp x while Mathematica 2.0 obtained the same results in about a second. The APL functions, however, were also able to obtain these derivatives at any number of points, and the calculation for 100 points took approximately 18 seconds. This article will show how a simple adjustment can significantly reduce these execution times.
An automatic layout facility (abstract)
Authors: Giuseppe Liotta
Venue: ACM SIGACT News (1993)

We introduce a new method to optimize the required area, minimum angle and number of bends of planar drawings of graphs on a grid. The main tool is a new type of ordering on the vertices and faces of triconnected planar graphs. With this method linear time an space algorithms can be designed for many graph drawing problems. (i) We show that every triconnected planar graph G can be drawn convexly with straight lines on an (2n-4) times;(n-2) grid. (ii) If G has maximum degree four (three), then G can be drawn orthogonal with at most [3n/2] + 3 (at most [n/2] + 1) bends on an n times; n grid ([n/2] times; [n/2] grid, respectively). (iii) If G has maximum degree d, then G can be drawn planar on an (2n-6) times; (3n-6) grid with minimum angle larger than 1/d-2 radians and at most 5n-15 bends. These results give in some cases considerable improvements over previous results, and give new bounds in other cases. Several other results, e.g. concerning visibility representations, are included.
And/Or parallel execution of logic programs: exploiting dependent And-parallelism
Authors: Zheng Yuhua, Tu Honglei, Xie Li
Venue: ACM SIGPLAN Notices (1993)

This paper proposes a new And/Or parallel execution model (FORDAP) for logic programs which can not only exploit full Or- and independent And-parallelism, but also can exploit dependent And-parallelism with a limited increment of runtime cost. A synchronization mechanism is constructed on a shared variable between its producer and its consumers and a consumer with a large granularity is decomposed further to let its subgoals independent to that producer to execute without delay. A granularity computation algorithm is presented for the control of a goal's decomposition.
Changing roles of information systems professionals: from technical managers to strategic leaders
Authors: Karin Klenke
Venue: Proceedings of the 1993 conference on Computer personnel research (1993)

In this paper it is argued that existing and emergent technologies provide leadership opportunities for information systems (IS) professionals that allow them to expand their roles from technical managers to strategic leaders. Four particular leadership roles are proposed which IS professionals are positioned to occupy and specific technologies supporting these leadership roles including group decision support systems, executive informations systems, and strategic information systems are discussed. A conceptual model, the leadership-technology cube, is presented which links leadership skills and leadership roles to information technologies which jointly affect leadership outcomes. In order for IS professionals to assume the leadership roles proposed here, they must develop new competencies beyond technical expertise, especially interpersonal and conceptual skills and rethink the IS career concept.
Hopfield networks, neural data structures and the nine flies problem: neural network programming projects for undergraduates
Authors: John G. Keating
Venue: ACM SIGCSE Bulletin (1993)

This paper describes two neural network programming projects suitable for undergraduate students who have already completed introductory courses in Programming and Data Structures. It briefly outlines the structure and operation of Hopfield Networks from a data structure stand-point and demonstrates how these type of neural networks may be used to solve interesting problems like Perelman's Nine Flies Problem. Although the Hopfield model is well defined mathematically, students do not have to be very familiar with the mathematics of the model in order to use it to solve problems. Students are actively encouraged to design modifications to their implementations in order to obtain faster or more accurate solutions. Additionally, students are also expected to compare the neural network's performance with traditional approaches, in order that they may appreciate the subtleties of both approaches. Sample results are provided from projects which have been completed during the last three-year period.
On the sensitivity of transient solutions of Markov models
Authors: A. V. Ramesh, Kishor Trivedi
Venue: ACM SIGMETRICS Performance Evaluation Review (1993)

We consider the sensitivity of transient solutions of Markov models to perturbations in their generator matrices. The perturbations can either be of a certain structure or can be very general. We consider two different measures of sensitivity and derive upper bounds on them. The derived bounds are sharper than previously reported bounds in the literature. Since the sensitivity analysis of transient solutions is intimately related to the condition of the exponential of the CTMC matrix, we derive an expression for the condition number of the CTMC matrix exponential which leads to some interesting implications. We compare the derived sensitivity bounds both numerically and analytically with those reported in the literature.
An overview of techniques to support continuous retrieval of multimedia objects
Authors: Shahram Ghandeharizadeh, Cyrus Shahabi, Luis Ramos
Venue: ACM SIGARCH Computer Architecture News (1993)

Multimedia information systems have emerged as an essential component of many application domains ranging from library information systems to entertainment technology. However, most implementations of these systems (based on a workstation) cannot support a continuous display of multimedia objects and suffer from frequent disruptions and delays termed hiccups. This is due to the low I/O bandwidth of the current disk technology, the high bandwidth requirement of multimedia objects, and the large size of these objects which requires them to be almost always disk resident. One approach to resolve this limitation is to decluster a multimedia object across multiple disk drives in order to employ the aggregate bandwidth of several disks to support its continuous retrieval (and display). To support simultaneous display of several multimedia objects for different users, the system can replicate data across multiple groups of disk drives in a virtual manner. This paper provides an overview of: 1) techniques to manage the replicas of objects, and 2) strategies for grouping the disk drives when the database consists of a mix of media types.
Constructor specialization
Authors: Torben Æ Mogensen
Venue: Proceedings of the 1993 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation (1993)

In the section on &ldquo;challenging problems&rdquo; in the proceedings from the first international workshop on partial evaluation and mixed computation [BEJ88] a question is stated: &ldquo;Can PE be used to generate new specialized data types, in a way analogous to generating specialized functions&rdquo;. Since then little has been done to address this problem. In [Lau89], new types are indeed generated, but they are all simpler versions of the types in the original program. It is, e.g. not possible to have types with more constructors than the types in the original program. I propose to alleviate this by means of constructor specialization. Constructors are specialized with respect to the static parts of their arguments, just like residual functions. I show how this is done and argue that it makes it possible to get good results from partial evaluation in cases where the traditional methods fail to produce satisfactory results. The discussion is centered around a small subset of Standard ML, but the idea applies equally well to other languages having user defined constructors, e.g. Haskell and Prolog.
Using object oriented structured development to implement a hybrid system
Authors: Federico Vazquez
Venue: ACM SIGSOFT Software Engineering Notes (1993)

Object Oriented Analysis, Design and Programming are increasingly impacting the development approach to Computer Systems. Although these methodologies are not new, their use in industry is increasing and they have had a large impact in both System Analysis and System Design. Some People think that object oriented techniques will be the new predominant methodologies used in the 90s and there is no relationship with Structured Design. Others believe that there is indeed a relationship between Structured Analysis and Object Oriented Design. During my work with the development of computer systems I have found a certain degree of compatibility between Object Oriented Analysis and Structured Analysis. I did not however find compatibility between Structured Design and Object Oriented Design. This paper deals with the use of both techniques in a successful system development effort with a hybrid approach. It is possible to work with hybrid systems where object Oriented and Structured development are combined and complement each other.
The design of a transceiver for packet video communication on an integrated services network
Authors: A. S. Andreatos, E. N. Protonotarios, G. De Grandi
Venue: ACM SIGCOMM Computer Communication Review (1993)

This article describes the architecture of a special Packet Video Transceiver, which is appropriate for the communication of broadcast television signals between two stations of an Integrated Services Network. The system performs line processing and can detect and/or correct various kinds of errors concerning the reception of packets at the receiver. Additional information is given about the design and operation of a special frequency-regulation system which the Receiver uses as a master clock source. This system tries to evaluate the Transmitter scanning frequency basing the evaluation on the timing of the incoming packets transmitted through a noisy channel.
Syntax and semantics of a persistent Common Lisp
Authors: J. H. Jacobs, M. R. Swanson
Venue: Proceedings of the 1994 ACM conference on LISP and functional programming (1994)

The syntax and semantics for UCL+P, a persistent Common Lisp, are defined. The definition provides adequate support for persistence while maintaining the look-and-feel of Common Lisp. All Lisp data types (except streams) can be made persistent. Persistence is conferred automatically on non-symbol values when they become part of a persistent data structure. Symbols are persistent if interned in a persistent package. The Common Lisp package facility was enhanced to allow for persistent packages which provide modularity to the space of persistent values and serve as the ultimate roots of the persistence conferral algorithm. Values are retrieved from the store using demand loading; new or mutated values are automatically detected and written back to the store when the transaction is committed. The sharing semantics of Lisp are preserved in this specification.
Object-oriented Fortran 77 (a practitioner's view)
Authors: Bob Patton
Venue: ACM SIGPLAN Fortran Forum (1993)

With just a little discipline, you can quite easily develop systems with objects in Fortran. This has been done for more than 15 years, but for some reason it has not been well publicized.