ppxscal/embedding_network huggingface dataset:
On understanding types, data abstraction, and polymorphism
Authors: Luca Cardelli, Peter Wegner
Venue: ACM Computing Surveys (CSUR) (1985)

Our objective is to understand the notion of type in programming languages, present a model of typed, polymorphic programming languages that reflects recent research in type theory, and examine the relevance of recent research to the design of practical programming languages. Object-oriented languages provide both a framework and a motivation for exploring the interaction among the concepts of type, data abstraction, and polymorphism, since they extend the notion of type to data abstraction and since type inheritance is an important form of polymorphism. We develop a &lgr;-calculus-based model for type systems that allows us to explore these interactions in a simple setting, unencumbered by complexities of production programming languages. The evolution of languages from untyped universes to monomorphic and then polymorphic type systems is reviewed. Mechanisms for polymorphism such as overloading, coercion, subtyping, and parameterization are examined. A unifying framework for polymorphic type systems is developed in terms of the typed &lgr;-calculus augmented to include binding of types by quantification as well as binding of values by abstraction. The typed &lgr;-calculus is augmented by universal quantification to model generic functions with type parameters, existential quantification and packaging (information hiding) to model abstract data types, and bounded quantification to model subtypes and type inheritance. In this way we obtain a simple and precise characterization of a powerful type system that includes abstract data types, parametric polymorphism, and multiple inheritance in a single consistent framework. The mechanisms for type checking for the augmented &lgr;-calculus are discussed. The augmented typed &lgr;-calculus is used as a programming language for a variety of illustrative examples. We christen this language Fun because fun instead of &lgr; is the functional abstraction keyword and because it is pleasant to deal with. Fun is mathematically simple and can serve as a basis for the design and implementation of real programming languages with type facilities that are more powerful and expressive than those of existing programming languages. In particular, it provides a basis for the design of strongly typed object-oriented languages.
Server networks communicating via inter-user shared variables
Authors: Lawrence Zeidner
Venue: ACM SIGAPL APL Quote Quad (1987)

Server networks are generalized networks of asynchronous software processes interconnected by prescribed communication links according to prescribed protocols. As large-system-integration tools, they facilitate a divide-and-conquer approach, separating large software system development problems into a set of smaller problems programmed-in-the-small via standard software techniques within the confines of each server's virtual machine. In addition, server networks, programmed-in-the-large, knit together the solutions to these smaller problems. This paper presents the concepts of a server-network methodology that includes inter-server communication, the provision of and subscription to utility services, and the data-driven control-flow (DDCF) of server networks, which makes the remote dynamic reconfiguration of server networks possible through graphical programming. A server-network generator (SNG), which is an expert system that facilitates the graphical configuration, modification, and archival of server networks, is presented. Our APL2 implementation of server networks, including the implementation of utility services as generic building blocks, is described. Enhancements to the APL2 system services, which would benefit the future of server-network research and its application to production system management through horizontal integration of the factory floor and cooperative processing among networks of mainframes and engineering workstations running the VM/370 operating system, are presented.
Compiling optimized array operations at run-time
Authors: Thomas W. Christopher, Ralph W. Wallace
Venue: ACM SIGAPL APL Quote Quad (1986)

Experiments were performed for APL functions on a Vax-750 running UNIX to compare the execution times of two types of interpreted code run time run time compiled code for the dyadic function subtract. The data type and size varied over integer, real, one element, and a 5x5x5x5x5 (=3125) element arrays. The experiment showed a range of more than 2.5:1 in execution times of interpretive code to compiled code.
Constructing queries from tokens
Authors: Amihai Motro
Venue: ACM SIGMOD Record (1986)

A database token is a value of either the data or the metadata. Usually, such tokens are combined with formal language constructs to form queries. In this paper we show how a given set of tokens may be completed to a proper query. This process provides a useful means of communication between naive users and databases, allowing them to express simple requests by listing several tokens. As the inferred query is always shown to the user, this process has a side effect of instructing the user in the proper use of the query language. The method is described and demonstrated with relational databases, but its principles may be implemented with other databases as well.
Reducing the cost of branches
Authors: S. McFarling, J. Hennesey
Venue: ACM SIGARCH Computer Architecture News (1986)

Pipelining is the major organizational technique that computers use to reach higher single-processor performance. A fundamental disadvantage of pipelining is the loss incurred due to branches that require stalling or flushing the pipeline. Both hardware solutions and architectural changes have been proposed to overcome these problems. This paper examines a range of schemes for reducing branch cost focusing on both static (compile-time) and dynamic (hardware-assisted) prediction of branches. These schemes are investigated from quantitative performance and implementation viewpoints.1
Modeling software failures and reliability growth during system testing
Authors: W. K. Ehrlich, T. J. Emerson
Venue: Proceedings of the 9th international conference on Software Engineering (1987)

A number of time-domain software reliability models attempt to predict the growth of a system's reliability during the system test phase of the development life cycle. In this paper we examine the results of applying several types of Poisson-process models to the development of a large system for which system test was performed in two parallel tracks, using different strategies for test data selection. We show that the reliability growth predicted by non-homogeneous Poisson process models was found for only one of these testing strategies. These results imply that the applicability of a reliability growth model to a given software development project will depend on the nature of that project's system test process; they also raise theoretical questions about the assumption of certain statistical properties for failure occurrence during testing.
Comprehending the central limit theorem
Authors: Lyndell M. Kerley
Venue: ACM SIGCSE Bulletin (1988)

Simulation will be used to illustrate the Central Limit Theorem and the concept of testing a hypothesis.
Abstract types have existential type
Authors: John C. Mitchell, Gordon D. Plotkin
Venue: ACM Transactions on Programming Languages and Systems (TOPLAS) (1988)

Abstract data type declarations appear in typed programming languages like Ada, Alphard, CLU and ML. This form of declaration binds a list of identifiers to a type with associated operations, a composite &ldquo;value&rdquo; we call a data algebra. We use a second-order typed lambda calculus SOL to show how data algebras may be given types, passed as parameters, and returned as results of function calls. In the process, we discuss the semantics of abstract data type declarations and review a connection between typed programming languages and constructive logic.
System development methodology using LOGOS
Authors: David B. Allen, Mark R. Dempsey, Leslie H. Goldsmith
Venue: Proceedings of the international conference on APL: APL in transition (1987)

The development of applications written in APL has traditionally both benefited by and suffered from the freedom offered by the environment. A consequence of this freedom is that few applications are designed from the perspectives of consistency, modularity, and structure. This paper describes how LOGOS, a programming environment for APL, helps improve the development and maintenance of APL applications. Through the use of basic support facilities and integrated tools, LOGOS encourages a modular design within applications and a greater consistency among them. The support facilities provide such functionality as the paging of large applications, or the parallel testing of multiple versions of software, with minimal effort. Specific examples of system design and development are given in the paper. Programming methodologies in widespread practice are examined, and their application to APL with LOGOS is described. The use of LOGOS in top-down design and in application prototyping is also discussed.
Computer-based systems for cooperative work and group decision making
Authors: Kenneth L. Kraemer, John Leslie King
Venue: ACM Computing Surveys (CSUR) (1988)

Application of computer and communications technology to cooperative work and group decision making has grown out of three traditions: computer-based communications, computer:based information service provision, and computer-based decision support. This paper reviews the group decision support systems (GDSSs) that have been configured to meet the needs of groups at work, and evaluates the experience to date with such systems. Progress with GDSSs has proved to be slower than originally anticipated because of shortcomings with available technology, poor integration of the various components of the computing package, and incomplete understanding of the nature of group decision making. Nevertheless, the field shows considerable promise with respect to the creation of tools to aid in group decision making and the development of sophisticated means of studying the dynamics of decision making in groups.
An amateur's introduction to recursive query processing strategies
Authors: Francois Bancilhon, Raghu Ramakrishnan
Venue: ACM SIGMOD Record (1986)

This paper surveys and compares various strategies for processing logic queries in relational databases. The survey and comparison is limited to the case of Horn Clauses with evaluable predicates but without function symbols. The paper is organized in three parts. In the first part, we introduce the main concepts and definitions. In the second, we describe the various strategies. For each strategy, we give its main characteristics, its application range and a detailed description. We also give an example of a query evaluation. The third part of the paper compares the strategies on performance grounds. We first present a set of sample rules and queries which are used for the performance comparisons, and then we characterize the data. Finally, we give an analytical solution for each query/rule system. Cost curves are plotted for specific configurations of the data.
EP-X: a demonstration of semantically based search of bibliographic databases
Authors: D. Krawczak, P. Smith, S. Shute
Venue: Proceedings of the 10th annual international ACM SIGIR conference on Research and development in information retrieval (1987)

EP-X (Environmental Pollution eXpert) is a prototype knowledge-based system that assists users in conducting bibliographic searches of the environmental pollution literature. This system combines artificial intelligence and human factors engineering techniques, allowing us to redesign traditional bibliographic information retrieval interfaces. The result supports semantically-based search as opposed to the typical character-string matching approach. This paper discusses a sample interaction with EP-X, the knowledge representations necessary to support this semantically-based interaction, preliminary results of empirical studies to evaluate the interface, and recommendations for future directions
Inter-organization networks: implications of access control: requirements for interconnection protocol
Authors: D Estrin
Venue: ACM SIGCOMM Computer Communication Review (1986)

When two or more distinct organizations interconnect their internal computer networks they form an Inter-Organization Network(ION). IONs support the exchange of cad/cam data between manufacturers and subcontractors, software distribution from vendors to users, customer input to suppliers' order-entry systems, and the shared use of expensive computational resources by research laboratories, as examples. This paper analyzes the technical implications of interconnecting networks across organization boundaries. After analyzing the organization context in which IONs are used, we demonstrate that such interconnections are not satisfied by traditional network design criteria of connectivity and transparency. To the contrary, a primary high-level requirement is access control, and participating organizations must be able to limit connectivity and make network boundaries visible. We describe a scheme based on non-discretionary control which allows interconnecting organizations to combine gateway, network, and system-level mechanisms to enforce cross-boundary control over invocation and information flow, while minimizing interference with internal operations. Access control requirements such as these impose new requirements on the underlying interconnection protocols. We demonstrate such alternative interconnection protocols that support loose coupling across administrative boundaries and that accommodate the necessary control mechanisms. Message-based gateways that support non-real-time invocation of services (e.g., file and print servers, financial transactions, VLSI design tools, etc.) are a promising basis for such loose couplings.
The class kernel-models in DEVS-scheme: a hypercube architecture example
Authors: Tag Gon Kim, Bernard P. Zeigler
Venue: ACM SIGSIM Simulation Digest (1988)

DEVS-Scheme is a realization of DEVS (Discrete Event System Specification) formalism in a LISP-based, object-oriented environment, which supports hierarchical, modular specification of discrete event models. We describe the taxonomical organization of classes in DEVS-Scheme in which the hypercube-models class is described in detail. As an example, we illustrate specification of a hypercube model of a computer architecture. DEVS-Scheme represents a significant step toward implementing system-theoretic based formalisms and operations.
R* optimizer validation and performance evaluation for local queries
Authors: Lothar F. Mackert, Guy M. Lohman
Venue: Proceedings of the 1986 ACM SIGMOD international conference on Management of data (1986)

Few database query optimizer models have been validated against actual performance. This paper presents the methodology and results of a thorough validation of the optimizer and evaluation of the performance of the experimental distributed relational database management system R*, which inherited and extended to a distributed environment the optimization algorithms of System R. Optimizer estimated costs and actual R* resources consumed were written to database tables using new SQL commands, permitting automated control from SQL application programs of test data collection and reduction. A number of tests were run over a wide variety of dynamically-created test databases, SQL queries, and system parameters. The results for single-table access, sorting, and local 2-table joins are reported here. The tests confirmed the accuracy of the majority of the I/O cost model, the significant contribution of CPU cost to total cost, and the need to model CPU cost in more detail than was done in System R. The R* optimizer now retains cost components separately and estimates the number of CPU instructions, including those for applying different kinds of predicates. The sensitivity of I/O cost to buffer space motivated the development of more detailed models of buffer utilization unclustered index scans and nested-loop joins often benefit from pages remaining in the buffers, whereas concurrent scans of the data pages and the index pages for multiple tables during joins compete for buffer share. Without an index on the join column of the inner table, the optimizer correctly avoids the nested-loop join, confirming the need for merge-scan joins. When the join column of the inner is indexed, the optimizer overestimates the cost of the nested-loop join, whose actual performance is very sensitive to three parameters that are extremely difficult to estimate (1) the join (result) cardinality, (2) the outer table's cardinality, and (3) the number of buffer pages available to store the inner table. Suggestions are given for improved database statistics, prefetch and page replacement strategies for the buffer manager, and the use of temporary indexes and Bloom filters (hashed semijoins) to reduce access of unneeded data.
Viewing Transformations of Voxel-Based Objects Via Linear Octrees
Authors: I Gargantini, T R Walsh, O L Wu
Venue: IEEE Computer Graphics and Applications (1986)

This article gives three viewing-transformation algorithms for displaying on a screen 3D pictures represented by linear octrees. All the procedures take advantage of the recursive labeling used to identify the successive decomposition of an object into octants. The first algorithm performs transformations directly on the linear octree, while the second and third algorithms determine the 3D border of the given object first and then project onto the screen the surface voxels thus found. All the algorithms perform the viewing transformations in O(RN) time, where R is the resolution of the picture and N is the number of elements in the linear octree. One of the algorithms provides views of the object at different layers of gray level, while another allows internal views.
Presenting a united front
Authors: Agnes A. Hoey, Keith E. Gatling
Venue: Proceedings of the 15th annual ACM SIGUCCS conference on User Services (1987)

Syracuse University Academic Computing Services employs approximately 70 students as AIDs to work as consultants in five remote sites. There are two full-time and two part-time managers to see that each site is running smoothly. What are the problems associated with the management of a remote site and the students who work there? How does the SU system of remote consulting work? Finally, how do the managers and the students keep their sanity? This paper proposes to answer all these, and other questions based on how remote computer consulting is handled by Academic Computing Services at Syracuse University.
The combinatorics of local constraints in model-based recognition and localization from sparse data
Authors: W. Eric L. Grimson
Venue: Journal of the ACM (JACM) (1986)

The problem of recognizing what objects are where in the workspace of a robot can be cast as one of searching for a consistent matching between sensory data elements and equivalent model elements. In principle, this search space is enormous, and to control the potential combinatorial explosion, constraints between the data and model elements are needed. A set of constraints for sparse sensory data that are applicable to a wide variety of sensors are derived, and their characteristics are examined. Known bounds on the complexity of constraint satisfaction problems are used, together with explicit estimates of the effectiveness of the constraints derived for the case of sparse, noisy, three-dimensional sensory data, to obtain general theoretical bounds on the number of interpretations expected to be consistent with the data. It is shown that these bounds are consistent with empirical results reported previously. The results are used to demonstrate the graceful degradation of the recognition technique with the presence of noise in the data, and to predict the number of data points needed, in general, to uniquely determine the object being sensed.
Classifying users: a hard look at some controversial issues
Authors: K. Potosnak, P. J. Hayes, M. B. Rosson, M. L. Schneider, J. A. Whiteside
Venue: Proceedings of the SIGCHI conference on Human factors in computing systems (1986)

It has become a common recommendation to computer interface designers that they should &ldquo;Know the User&rdquo; (e.g., Rubinstein and Hersh, 1984). This panel discussion will examine the issues that arise from this advice.
The denotational semantics of dynamic networks of processes
Authors: Arie de Bruin, Wim Böhm
Venue: ACM Transactions on Programming Languages and Systems (TOPLAS) (1985)

DNP (dynamic networks of processes) is a variant of the language introduced by Kahn and MacQueen [11, 12]. In the language it is possible to create new processes dynamically. We present a complete, formal denotational semantics for the language, along the lines sketched by Kahn and MacQueen. An informal explanation of the formal semantics is also given.
I lift the lamp beside the golden door]
Authors: John Major
Venue: Proceedings of the 15th annual ACM SIGUCCS conference on User Services (1987)

From applications programming and systems design, from teaching computer science and Latin, from business and government, they're coming to User Services. &ldquo;Keep ancient lands, your storied pomp!&rdquo; cries she With silent lips. &ldquo;Give me your tired, your poor, Your huddled masses yearning to breathe free, The wretched refuse of your teeming shore. Send these, the homeless, tempest-tost to me, I lift the lamp beside the golden door!&rdquo; The familiar passage above, inscribed on the pedestal of the Statue of Liberty, can very easily be applied to User Services: &ldquo;Well-established professions, keep your famous sons and Daughters of status. Give me your over-burdened teachers. Your programmers yearning to breathe free, The wretched refuse of your teeming shore. Send these, who do not fit, to me, I light the way to golden opportunities!&rdquo; Immigrants we have left the ancient lands and arrived in User Services. Where have we come from? Where are we now? Where do we go from here?
Computers, complexity, and the Statue of Liberty restoration
Authors: Karen A. Frenkel
Venue: Communications of the ACM (1986)

Twentieth-century techniques such as computer-aided engineering and finite-element analysis were used to restore the nineteenth-century monument.
Development of computer-based information systems: A communication framework
Authors: Patricia Guinan, Robert P Bostrom
Venue: ACM SIGMIS Database (1986)

It is still too often the case that Computer-Based Information Systems (CIS) are developed behind schedule, overcost, do not do as much as promised, and do not satisfy their users. In the last few years, we have been bombarded by techniques, methods, "optimal ways" in which to approach system development. For example, techniques such as prototyping and data flow diagrams have been developed to make the requirements definition process more effective. These methods, provide direction and structure to the development process.
Comparison of Binary and Multivalued ICs According to VLSI Criteria
Authors: Daniel Etiemble, Michel Israël
Venue: Computer (1988)

The authors compare the performance of two-valued and m-valued ICs for MOS and bipolar technologies according to speed, chip area, and power dissipation. They present the basic concepts and the basic types of m-valued circuits that make a serious comparison possible. They cover Post algebra and m-valued circuitry, m-valued current-mode circuits, and m-valued memory cells.