ppxscal/embedding_network huggingface dataset:
Evolutionary algorithms
Authors: Thomas Bäck
Venue: ACM SIGBIO Newsletter (1992)

Genetic Algorithms and Evolution Strategies, the main representatives of a class of algorithms based on the model of natural evolution, are discussed w.r.t. their basic working mechanisms, differences, and application possibilities. The mechanism of self-adaptation of strategy parameters within Evolution Strategies is emphasized and turns out to be the major difference to Genetic Algorithms, since it allows for an on-line adaptation of strategy parameters without exogenous control. Furthermore, the importance of selection as a mechanism to control the character of the search to be either more volume oriented or more path oriented is pointed out.
Using binary search on a linked list
Authors: Firooz Khosraviyani
Venue: ACM SIGCSE Bulletin (1990)

In this article a variation of binary search applicable to a linked list structure is examined. There are no additional data structure properties imposed on the list; that is the list may be singly or multiply linked, but it is not required that the list be represented as a binary tree. The process can be used with improved efficiency in place of linear search on a linked list where introducing additional data structures complexity on the list is not desirable.This procedure seems appropriate for inclusion in data structures courses where searching and sorting are discussed. The texts on data structures cover the binary search on a fixed length sequence, but the general consensus is that there is no advantage in trying to implement the binary search process on linked lists. One possible exception in this regard, where no details are provided, is [2, page 147].
Involving coroutines in interaction between functional and conventional language
Authors: M. Ivanovic, Z. Budimac
Venue: ACM SIGPLAN Notices (1990)

Both functional and conventional languages have their advantages and flaws. For this reason, it is often useful to combine good sides of both languages in single application. The possibility to call conventional functions from functional programs will couple elegance of functional programs with efficiency of conventional programs. The paper describes one possible way of communication between pure functional language LispKit LISP and conventional language Modula-2, involving coroutines.
SPIRE: streaming processing with instructions release element
Authors: Eligiusz Wajda
Venue: ACM SIGARCH Computer Architecture News (1992)

The SPIRE-Architecture is designed for high speed uniprocessor execution of sequential problems as well for parallel multiprocessor systems where individual processors perform operations on complex data structures. The idea of SPIRE-Architecture lies in a new instruction format expanded by a dedicated execution clause and compilative instruction execution. To mirror this concept in practice some new components has been added to the hardware.The simulation results show that SPIRE can processes data up to 30 times faster than classic von Neumann processor and profits directly from complexity of used data structures. Programm code is about twice as compact as that of RISC processors. Furthermore, a proposed hardware concept and consistent rules of instruction coding allows compilers to generate very efficient code.
Privacy, anonymity and interpersonal competition issues identified during participatory design of project management groupware!
Authors: Michael J. Muller, John G. Smith, J. Zachary Shoher, Harry Goldberg
Venue: ACM SIGCHI Bulletin (1991)

Project Management Groupware (PMG) presents complex design challenges because the resulting system can act as both (a) a community for interpersonal collaboration and (b) an arena for interpersonal competition. This paper describes an application of the participatory design paradigm to explore these issues, and to track the contingent evolution of computing systems and social systems around the PMG. We describe work in progress on the design of an experimental prototype that appears to have novel attributes in the areas of interpersonal collaboration and competition, information filtration, privacy, and elective anonymity in interpersonal communications.
Heuristic methods for dynamic load balancing in a message-passing supercomputer
Authors: Jian Xu, Kai Hwang
Venue: Proceedings of the 1990 ACM/IEEE conference on Supercomputing (1990)

In this paper, a new adaptive scheme is presented for dynamic load balancing on a message-passing multicomputer. The scheme is based on using easy-to-implement heuristics and variable threshold in migrating processes among the multicomputer nodes. It uses a distributed control over all processor nodes as coordinated by a host processor. Four heuristic methods for process migration are presented, which are distinguished by choosing different policies for process migration and threshold update. A parallel simulator with distributed load balancers is developed on an iPSC/2 hypercube system. The load balancing scheme is evaluated on the effects of system utilization, load imbalance, communication and migration overhead, and multicomputer size. Relative merits of the four methods are revealed under various multicomputer conditions.
A model parametric real-time logic
Authors: Angelo Morzenti, Dino Mandrioli, Carlo Ghezzi
Venue: ACM Transactions on Programming Languages and Systems (TOPLAS) (1992)

TRIO is a formal notation for the logic-based specification of real-time systems. In this paper the language and its straightforward model-theoretic semantics are briefly summarized. Then the need for assigning a consistent meaning to TRIO specifications is discussed, with reference to a variety of underlying time structures such as infinite-time structures (both dense and discrete) and finite-time structures. The main motivation is the ability to validate formal specifications. A solution to this problem is presented, which gives a new, model-parametric semantics to the language. An algorithm for constructively verifying the satisfiability of formulas in the decidable cases is defined, and several important temporal properties of specifications are characterized.
On Crossbar Switch and Multiple Bus Interconnection Networks with Overlapping Connectivity
Authors: Barry Wilkinson
Venue: IEEE Transactions on Computers (1992)

Multiprocessor interconnection networks are proposed which have the characteristic that each processor or memory module can connect to a group of its near neighbors and adjacent directly connected groups include some of the same processors or memories. These overlapping connectivity networks are attractive especially for a very large number of processors which cannot be provided with full connectivity but need to operate by communication between processors. Applications for overlapping connectivity networks include neural computers and dataflow computers. Bandwidth formulas are derived using a probabilistic approach, including when intermediate processors are used in the interconnection path. A general cell design is presented capable of representing various overlapping connectivity networks.
Checkers program to challenge for world championship
Authors: Jonathan Schaeffer, Joseph Culberson, Norman Treloar, Brent Knight, Paul Lu, Duane Szafron
Venue: ACM SIGART Bulletin (1991)

The checkers program Chinook has won the right to play a 40-game match for the World Checkers Championship against Dr. Marion Tinsley. This was earned by placing second, after Dr. Tinsley, at the U.S. National Open, the biennial event used to determine a challenger for the Championship. At the event, and the preceding Mississippi State Open, Chinook drew a 4 game match against the World Champion and defeated the world's number 2, 4 and 6 players. This is the first time a program has earned the right to contest for a human World Championship. In a practice match played as a prelude to the World Championship match later this year, Dr. Tinsley narrowly defeated Chinook, 7.5--6.5
Express Cubes: Improving the Performance of k-ary n-cube Interconnection Networks
Authors: William J. Dally
Venue: IEEE Transactions on Computers (1991)

The author discusses express cubes, k-ary n-cube interconnection networks augmented by express channels that provide a short path for nonlocal messages. An express cube combines the logarithmic diameter of a multistage network with the wire-efficiency and ability to exploit locality of a low-dimensional mesh network. The insertion of express channels reduces the network diameter and thus the distance component of network latency. Wire length is increased, allowing networks to operate with latencies that approach the physical speed-of-light limitation rather than being limited by node delays. Express channels increase wire bisection in a manner that allows the bisection to be controlled independently of the choice of radix, dimension, and channel width. By increasing wire bisection to saturate the available wiring media, throughput can be substantially increased. With an express cube both latency and throughput are wire-limited and within a small factor of the physical limit on performance.
The muse object architecture: a new operating system structuring concept
Authors: Yasuhiko Yokote, Fumio Teraoka, Atsushi Mitsuzawa, Nobuhisa Fujinami, Mario Tokoro
Venue: ACM SIGOPS Operating Systems Review (1991)

A next generation operating system should accommodate an ultra large-scale, open, self-advancing, and distributed environment. This environment is dynamic and versatile in nature. In it, an unlimited number of objects, ranging from fine to coarse-grained, are emerging, vanishing, evolving, and being replaced; computers of various processing capacities are dynamically connected and disconnected to networks; systems can optimize object execution by automatically detecting the user's and/or programmer's requirements. In this paper, we investigate several structuring concepts in existing operating systems. These structuring concepts include layered structuring, hierarchical structuring, policy/mechanism separation, collective kernel structuring, object-based structuring, open operating system structuring, virtual machine structuring, and proxy structuring.We adjudge that these structuring concepts are not sufficient to support the environment described above because they lack the abilities to handle dynamic system behavior and transparency and to control dependency. Thus, we propose a new operating system structuring concept which we call the Muse object architecture. In this architecture, an object is a single abstraction of a computing resource in the system. Each object has a group of meta-objects which provide an execution environment. These meta-objects constitute a meta-space which is represented within the meta-hierarchy. An object is causally connected with its meta-objects: the internal structure of an object is represented by meta-objects; an object can make a request of meta-computing; a meta-object can reflect the results of meta-computing to its object. We discuss object/meta-object separation, the meta-hierarchy, and reflective computing of the architecture. We then compare the Muse object architecture with the existing structuring concepts.We also demonstrate that the Muse object architecture is suitable for structuring future operating systems by presenting several system services of the Muse operating system such as class systems, a real-time scheduler with hierarchical policies, and free-grained objects management. Class systems facilitate programming by several classes of programming languages. A real-time scheduler with hierarchical policies can meet various types of real-time constraints presented by applications. Free-grained objects management can suit the object granularity to the application, so that an object is efficiently managed according to its granularity. Finally, we present the implementation of the Muse operating system which is designed based on the Muse object architecture. Version 0.3 of the Muse kernel is running on the MC68030 based Sony NEWS workstations.
Exploratory behaviors and the design of computer instruction manuals in hypertext
Authors: Aude Dufresne, Isabelle Tremblay, Sylvie Turcotte
Venue: ACM SIGCHI Bulletin (1990)

This study explores the problem of designing an environment for the learning of procedures using an hypertext environment. It presents an HYPERCARD interface for the learning of database procedures for the EXCEL spreadsheet. Direct manipulation interfaces (Shneiderman, 1982) encourage exploration and learning, but are not very effective for complex and abstract applications, which require planning and the coordination of many operations. For these interfaces, written documentation and help features are generally too fragmented and static. As for rigid tutorials they prove ineffective for the learning of complex procedures, as they leave no room for inferences. We will discuss the design of a learning environment to encourage and support exploration in this context. The system is based on a protocol analysis of users reading the written documentation and trying the system. Semantic, syntactic and process analyses have shown how users build their representations of the procedures to be learned (lexical ambiguities, inversion of sequences, search for illustrations, etc.). Based on this user model and drawing from studies on learning, a new environment was developed in Hypercard which put forward an interactional structure for the learning of direct manipulation procedures. Inspired both by the G.O.M.S. model (Card, Newell and Moran, 1983) and by "planning interfaces" (Miller, 1982), it first presents the hierarchy of goals, then outlines methods with accessible definitions, examples, exercises and various tests. Only there after these are alternative methods and selection rules explained. As in "planning interfaces", the system offers explanation both at the general level of goals and methods and at the concrete level of their integration into concrete examples. The user is free to explore this "training wheel" environment, where aspects of the Excel environment are simulated and gradually made accessible, with appropriate guidance and feedback.
Multilingual software engineering using Ada and C
Authors: David K. Hughes
Venue: ACM SIGSOFT Software Engineering Notes (1991)

The technique necessary to interface one software language with another is not clearly defined. The significant increase in the size and complexity of embedded systems and the time and cost constraints imposed by both government and the market place require that software engineers develop a better understanding of the problems of multilingual software implementation.This paper focuses on the technique necessary to successfully interface the Ada* language with the C language in homogeneous or embedded computer systems. These two languages should dominate the software development arena for at least the next decade: Ada, because it is mandated by Federal law to be used in all Department of Defense contracts which require software, and C because it is the implementation language of choice for the vast majority of commercial off-the-shelf software systems.
Interpersonal skills for cooperative user-analyst relationships: some research issues
Authors: Kailash Joshi
Venue: ACM SIGMIS Database (1992)

Organizational behavior researchers recognize that an individual's effectiveness in an organization is likely to depend significantly upon his/her ability to influence or persuade others in order to accomplish assigned tasks. The ability to influence or persuade users to cooperate or comply with requests is likely to be important for systems developers as well. Based on organizational behavior literature, this article proposes assertiveness, reason, appeal to higher authority, coalition, bargaining, and friendliness as the relevent persuasion strategies in the user-analyst context.
The evolution of the programming languages course
Authors: K. N. King
Venue: Proceedings of the twenty-third SIGCSE technical symposium on Computer science education (1992)

This paper examines the past, present, and future of the programming languages course as reflected by its textbooks.
NC machining with G-buffer method
Authors: Takafumi Saito, Tokiichiro Takahashi
Venue: Proceedings of the 18th annual conference on Computer graphics and interactive techniques (1991)

The G-buffer method is applied to NC machining. A total NC system is created that consists of all essential functions, such as tool path generation, path verification, and feed rate control. Moreover, any combination of object surface and tool shape is acceptable. By utilizing G-buffers created from a parallel projection, the required NC functions are realized as image processing operations. This ensures that the NC software is independent from surface description. Conventional rendering software can be used to make the G-buffers. Any surface can be milled if it can be rendered by parallel projection. Tool shape changes can be easily handled by changing the image processing filters. 3D examples of geometric surfaces, mesh data, and volume data are milled with this method, and the results show that the method is very effective.
Management of multiple models: a metamodel for conceptual models
Authors: Paolo Atzeni, Riccardo Torlone
Venue: Proceedings of the third international workshop on Database programming languages : bulk types persistent data: bulk types persistent data (1992)

A metamodel approach is proposed as a framework for the definition of different data models and the management of translations of schemes from one model to another. This notion is useful in an environment for the support of the design and development of information systems, since different data models can be used, and schemes referring to different models need to be exchanged. The approach is based on the observation that the constructs used in the various models can be classified into a limited set of basic types, such as lexical type, abstract type, aggregation, function. It follows that the tarnslations of schemes can be specified on the basis of translations of the involved types of constructs: this is effectively performed by means of a rule based language for complex objects and a number of predefined modules that express the standard translations between the basic constructs.
Considerations in teaching a two quarter computer graphics sequence
Authors: G. Scott Owen
Venue: ACM SIGGRAPH Computer Graphics (1991)

With the increasing emphasis on the use of Computer Graphics in Computer Science and other application areas, more schools are beginning to offer advanced courses in Computer Graphics, either at the undergraduate or the graduate level. Whereas there are many good textbooks for an introductory course the same is not true for an advanced course, The course content and external references for such a second course are in a state of rapid flux. The content of the second course also directly affects the content of the first course. Another issue is how many tools, in the sense of a graphics software support package, to provide for the students. This paper discusses the author's experiences in teaching both an introductory and a second Computer Graphics course for several years, how his courses have changed, and his recommendations both for course content and reference material.
Dynamic maintenance of geometric structures made easy
Authors: Otfried Schwarzkopf
Venue: Proceedings of the 32nd annual symposium on Foundations of computer science (1991)

The problem of dynamically maintaining geometric structures is considered. A technique is proposed that uses randomized incremental algorithms which are augmented to allow deletions of objects. A model for distributions on the possible input sequences of insertions and deletions is developed and analyzed using R. Seidel's backwards analysis. It is further shown how to apply this to maintain Voronoi diagrams, convex hulls, and planar subdivisions. A strikingly simple algorithm for the maintenance of convex hulls in any dimension is given. The expected running time is determined.
Scan primitives for vector computers
Authors: Siddhartha Chatterjee, Guy E. Blelloch, Marco Zagha
Venue: Proceedings of the 1990 ACM/IEEE conference on Supercomputing (1990)

This paper describes an optimized implementation of a set of scan (also called all-prefix-sums) primitives on a single processor of a CRAY Y-MP, and demonstrates that their use leads to greatly improved performance for several applications that cannot be vectorized with existing compiler technology. The algorithm used to implement the scans is based on an algorithm for parallel computers and is applicable with minor modifications to any register-based vector computer. On the CRAY Y-MP, the asymptotic running time of the plus-scan is about 2.25 times that of a vector add, and is within 20% of optimal. An important aspect of our implementation is that a set of segmented versions of these scans are only marginally more expensive than the unsegmented versions. These segmented versions can be used to execute a scan on multiple data sets without having to pay the vector startup cost (n 1/2) for each set. The paper describes a radix sorting routine based on the scans that is 13 times faster than a Fortran version and within 20% of a highly optimized library sort routine, three operations on trees that are between 10 and 20 times faster than the corresponding C versions, and a connectionist learning algorithm that is 10 times faster than the corresponding C version for sparse and irregular networks.
A pure calculus of subtyping, and applications: (outline)
Authors: Lucca Cardelli
Venue: Proceedings of the third international workshop on Database programming languages : bulk types persistent data: bulk types persistent data (1992)

One of the problems in understanding object-oriented languages is understanding their type systems, e.g. making sure that they are sound. To this end, I propose a typed foundation for object-oriented languages, based on a small type &lgr;-calculus with polymorphism and subtyping.
Motion without movement
Authors: William T. Freeman, Edward H. Adelson, David J. Heeger
Venue: ACM SIGGRAPH Computer Graphics (1991)

We describe a technique for displaying patterns that appear to move continuously without changing their positions. The method uses a quadrature pair of oriented filters to vary the local phase, giving the sensation of motion. We have used this technique in various computer graphic and scientific visualization applications.
Group projects in software engineering at York
Authors: Jim Briggs
Venue: ACM SIGCSE Bulletin (1991)

This paper describes the format of the second year group project in software engineering undertaken by all single-subject undergraduate students in Computer Science at the University of York.