ppxscal/embedding_network huggingface dataset:
Equivalence and optimization of relational transactions
Authors: Serge Abiteboul, Victor Vianu
Venue: Journal of the ACM (JACM) (1988)

A large class of relational database update transactions is investigated with respect to equivalence and optimization. The transactions are straight-line programs with inserts, deletes, and modifications using simple selection conditions. Several basic results are obtained. It is shown that transaction equivalence can be decided in polynomial time. A number of optimality criteria for transactions are then proposed, as well as two normal forms. Polynomial-time algorithms for transaction optimization and normalization are exhibited. Also, an intuitively appealing system of axioms for proving transaction equivalence is introduced. Finally, a simple, natural subclass of transactions, called strongly acyclic, is shown to have particularly desirable properties.
A new basis for the weak instance model
Authors: P. Atzeni, M. C. De Bernardis
Venue: Proceedings of the sixth ACM SIGACT-SIGMOD-SIGART symposium on Principles of database systems (1987)

A new definition of the weak instance model is presented, which does not consider the missing values as existent though unknown, but just assumes that no information is available about them. It is possible to associate with the new definition logical theories that do not contain universally quantified variables. The new model enjoys various desirable properties of the old weak instance model, with respect to dependency satisfaction, query answering, and associated logical theories.
Software factory engineering; today and the future
Authors: K. Fujino
Venue: Proceedings of the 1987 Fall Joint Computer Conference on Exploring technology: today and tomorrow (1987)

Currently, in most computerized countries, rapid expanding gap between demand and supply has become a major social problem. The conventional strategy, that is, a way by increasing the number of software engineers, cannot solve software demand and supply gap. Therefore it has become a major important problem for us to make revolutional strategy which is based on rather qualitative methods. In this paper, modern software factory and its construction methods are described. Then, its following items are contained in this paper: new trend of software production, new concept and image of the software factory, and its engineering and the role of human factor.
Spreadsheet programs in software engineering
Authors: P. Kokol
Venue: ACM SIGSOFT Software Engineering Notes (1987)

Spreadsheet programs are an electronic equivalent of three nearly universal problem solving tools: a pencil, a sheet of paper and a calculator. Decisions, comparing different strategies, optimization and testing "what-if" questions are easy with using spreadsheet programs so they can be successfuly used in software engineering too. In the article we have showed the applications of spreadsheet softwre in estimating project costs and measurement of complexity or difficulty of software systems.
What makes users happy?
Authors: Avi Rushinek, Sara F. Rushinek
Venue: Communications of the ACM (1986)

The results of a user questionnaire are used to determine the effects of 17 different independent variables on user satisfaction.
Optimal Assignments in Broadcast Networks
Authors: James B. Sinclair
Venue: IEEE Transactions on Computers (1988)

A program whose execution is distributed among several processors in a broadcast system has a total execution cost equal to the sum of processor costs and communication costs, which are functions of the amount of data transmitted and the average transmission delays. A critical delay x is a value of average transmission delay such that no assignment is minimum-cost for average delays both smaller and larger than x. An algorithm is presented for finding the set of all q critical delays of a program that requires computing O(q) optimal assignments at fixed values of average delay. For p=2 processors, H.S. Stone's (1977) assignment graph approach can be used to find an optimal assignment, while for p
Optimized Layout of MOS Cells
Authors: G. Thuau, G. Saucier
Venue: IEEE Transactions on Computers (1988)

A design method using both logical optimization and optimized topological arrangements is described. Starting from a minimized Boolean function, a synthesis of an optimized well-structured network is obtained. The most original aspect of this approach is a transistor merging procedure leading to a nonseries-parallel network while maintaining a systematic layout. An extension to the synthesis of several functions relies on transistor mergings between functions and allows comparisons with a PLA implementation. Gains in both area and performance are obtained.
Lower bounds on communication complexity in distributed computer networks
Authors: Prasoon Tiwari
Venue: Journal of the ACM (JACM) (1987)

The main result of this paper is a general technique for determining lower bounds on the communication complexity of problems on various distributed computer networks. This general technique is derived by simulating the general network by a linear array and then using a lower bound on the communication complexity of the problem on the linear array. Applications of this technique yield optimal bounds on the communication complexity of merging, ranking, uniqueness, and triangle-detection problems on a ring of processors. Nontrivial near-optimal lower bounds on the communication complexity of distinctness, merging, and ranking on meshes and complete binary trees are also derived.
Views for Multilevel Database Security
Authors: Dorothy E. Denning, Selim G. Akl, Mark Heckman, Teresa F. Lunt, Matthew Morgenstern, Peter G. Neumann, Roger R. Schell
Venue: IEEE Transactions on Software Engineering (1987)

Because views on relational database systems mathematically define arbitrary sets of stored and derived data, they have been proposed as a way of handling context-and content-dependent classification, dynamic classification, inference, aggregation, and sanitization in multilevel database systems. This paper describes basic view concepts for a multilevel-secure relational database model that addresses the above issues. All data entering the database are labeled according to views called classification constraints, which specify access classes for related data. In addition, views called aggregation constraints restrict access to aggregates of information. All data accesses are confined to a third set of views called access views.
Optimal distributed algorithms for minimum weight spanning tree, counting, leader election, and related problems
Authors: B. Awerbuch
Venue: Proceedings of the nineteenth annual ACM symposium on Theory of computing (1987)

This paper develops linear time distributed algorithms for a class of problems in an asynchronous communication network. Those problems include Minimum-Weight Spanning Tree (MST), Leader Election, counting the number of network nodes, and computing a sensitive decomposable function (e.g. majority, parity, maximum, OR, AND). The main problem considered is the problem of finding the MST. This problem, which has been known for at least 9 years, is one of the most fundamental and the most studied problems in the field of distributed network algorithms. Any algorithm for any one of the problems above requires at least &OHgr;(E + VlogV) communication and &OHgr;(V) time in the general network. In this paper, we present new algorithms, which achieve those lower bounds. The best previous algorithm requires &THgr;(E + VlogV) in communication and &THgr;(V log V) in time. Our result enables to improve algorithms for many other problems in distributed computing, achieving lower bounds on their communication and time complexities.
Finding a maximum-genus graph imbedding
Authors: Merrick L. Furst, Jonathan L. Gross, Lyle A. McGeoch
Venue: Journal of the ACM (JACM) (1988)

The computational complexity of constructing the imbeddings of a given graph into surfaces of different genus is not well understood. In this paper, topological methods and a reduction to linear matroid parity are used to develop a polynomial-time algorithm to find a maximum-genus cellular imbedding. This seems to be the first imbedding algorithm for which the running time is not exponential in the genus of the imbedding surface.
Generating editing environments based on relations and attributes
Authors: Susan Horwitz, Tim Teitelbaum
Venue: ACM Transactions on Programming Languages and Systems (TOPLAS) (1986)

The ability to generate language-based editors depends on the existence of a powerful, language-independent model of editing. A model is proposed in which programs are represented as attributed abstract-syntax trees with an associated relational database. Relations can depend on the state of the attributed tree, and attributes can depend on the values in relations, provided there are no circular dependencies. The power and the limitations of relational operations are demonstrated with respect to the support of static-semantic checking, anomaly detection, an interrogation facility, and the ability to define alternative program displays. The advantages of the hybrid system over both the purely relational and purely attribute-based systems are presented, and new algorithms are given for query evaluation and incremental view updating motivated by the efficiency requirements of interactive editing under the defined model. A prototype implementation of an editor generator is described, and suggestions for future research are made.
Translating SQL Into Relational Algebra: Optimization, Semantics, and Equivalence of SQL Queries
Authors: Stefano Ceri, Georg Gottlob
Venue: IEEE Transactions on Software Engineering (1985)

In this paper, we present a translator from a relevant subset of SQL into relational algebra. The translation is syntax-directed, with translation rules associated with grammar productions; each production corresponds to a particular type of SQL subquery.
Conan and the Jargonauts
Authors: Bill Neugent
Venue: ACM SIGSAC Review (1987)

Sticks and stones might break our bones, but words will bring our vengeance.
Local networks
Authors: William Stallings
Venue: ACM Computing Surveys (CSUR) (1984)

The rapidly evolving field of local network technology has produced a steady stream of local network products in recent years. The IEEE 802 standards that are now taking shape, because of their complexity, do little to narrow the range of alternative technical approaches and at the same time encourage more vendors into the field. The purpose of this paper is to present a systematic, organized overview of the alternative architectures for and design approaches to local networks. The key elements that determine the cost and performance of a local network are its topology, transmission medium, and medium access control protocol. Transmission media include twisted pair, baseband and broadband coaxial cable, and optical fiber. Topologies include bus, tree, and ring. Medium access control protocols include CSMA/CD, token bus, token ring, register insertion, and slotted ring. Each of these areas is examined in detail, comparisons are drawn between competing technologies, and the current status of standards is reported.
On the Multiple Implementation of Abstract Data Types Within a Computation
Authors: J. R White
Venue: IEEE Transactions on Software Engineering (1983)

A fundamental step in the software design process is the selection of a refinement (implementation) for a data abstraction. This step traditionally involves investigating the expected performance of a system under different refinements of an abstraction and then selecting a single alternative which minimizes some performance cost metric. In this paper we reformulate this design step to allow different refinements of the same data abstraction within a computation. This reformulation reflects the fact that the implementation appropriate for a data abstraction is dependent on the behavior exhibited by the objects of the abstraction. Since this behavior can vary among the objects of a computation, a single refinement is often inappropriate. Accordingly, three frameworks are presented for understanding and representing variations in the behavior of objects and, thus, the potential for multiple implementations. The three frameworks are based upon: 1) a static partitioning of objects into disjoint implementation classes; 2) static partitioning of classes into implementation regions; and 3) dynamic partitioning of classes into implementation regions. These frameworks and analytic tools useful in investigating expected performance under multiple implementations are described in detail.
An efficient algorithm for sequential random sampling
Authors: Jeffrey Scott Vitter
Venue: ACM Transactions on Mathematical Software (TOMS) (1987)

We examine several methods for drawing a sequential random sample of n records from a file containing N records. Method D is recommended for general use. The algorithm is on-line (so that CPU time can be overlapped with I/O), has a small constant memory requirement, and is easy to program. An improved implementation is detailed in the Appendix.
Interform: a CAD system for program development
Authors: L. D. I. Serbanati
Venue: Proceedings of the 9th international conference on Software Engineering (1987)

Based on a theoretical approach, we tried to implement a system for assistance to a programmer during the most difficult phase of the programming activity: software design. As we carried out the system project, it become apparent that the system could encompass more than just program design. In the paper, the main ideas of the theoretical approach are outlined. Briefly described is the state-oriented architecture of the system. The system structure is also presented.
An expert system for an idiosyncratic domain: love, intimacy, and friendship
Authors: Joseph Fulda
Venue: Issue 105 (July 1988) (1988)

Expert systems conceived and developed thus far have dealt with problems, such as medical diagnosis, circuit design, and mineral exploration, which have objective solutions. Humans, however, are also experts in reasoning about domains where the key concepts are not objectively fixed. We do form subjective, but sound, judgments about idiosyncratic--i.e., person-specific-- domains. One such domain is that of love, intimacy, and friendship. Despite the fact that our notions of love, intimacy, and friendship vary greatly and that these relationships have been the subject of poets, novelists, biographers, psychologists, and other students of human nature for centuries, there is enough of a common consensus to make communication and, very frequently, common judgments about this domain possible.
A common parsing scheme for left-and right-branching languages
Authors: Paul T. Sato
Venue: Computational Linguistics (1988)

This paper presents some results of an attempt to develop a common parsing scheme that works systematically and realistically for typologically varied natural languages. The scheme is bottom-up, and the parser scans the input text from left to right. However, unlike the standard LR(k) parser or Tomita's extended LR(1) parser, the one presented in this paper is not a pushdown automaton based on shift-reduce transition that uses a parsing table. Instead, it uses integrated data bases containing information about phrase patterns and parse tree nodes, retrieval of which is triggered by features contained in individual entries of the lexicon. Using this information, the parser assembles a parse tree by attaching input words (and sometimes also partially assembled parse trees and tree fragments popped from the stack) to empty nodes of the specified tree frame, until the entire parse tree is completed. This scheme, which works effectively and realistically for both left-branching languages and right-branching languages, is deterministic in that it does not use backtracking or parallel processing. In this system, unlike in ATN or in LR(k), the grammatical sentences of a language are not determined by a set of rewriting rules, but by a set of patterns in conjunction with procedures and the meta rules that govern the system's operation.
Fault tolerance of minimal path routings in a network
Authors: P Feldman
Venue: Proceedings of the seventeenth annual ACM symposium on Theory of computing (1985)

We prove the conjectured 2T-1 pound on the diameter of a surviving quote graph from which T edges are removed, under the assumption that a minimal path routing is used we also prove the related conjecture for node failure, and combine the results into a more general theorem.
Iteration in the software process; review of the 3rd International Software Process Workshop
Authors: M. Dowson
Venue: Proceedings of the 9th international conference on Software Engineering (1987)

The 3rd International Process Workshop, with the theme 'Iteration in the Software Process' was held in Colorado in November 1986. Iteration, which was taken to subsume 'backtracking', 'rework', 'repetition' and so on, seems to be central to the software process; selecting it as a main topic allowed intensive consideration of many of the key problems that face software engineering. Much of the workshop discussion focused on the concept of executable representations of the process, exemplified by Osterweil's process programs. The general conclusion was that exploring the process programming paradigm and its limitations would prove a fruitful area for investigation in the near term.
Hardware architectures for programming languages and programming languages for hardware architectures
Authors: Nicklaus Wirth
Venue: ACM SIGARCH Computer Architecture News (1987)

Programming Languages and Operating Systems introduce abstractions which allow the programmer to ignore details of an implementation. Support of an abstraction must not only concentrate on promoting the efficiency of an implementation, but also on providing the necessary guards against violations of the abstractions. In the frantic drive for efficiency the second goal has been neglected. There are indications that recent designs which are claimed to be both simple and powerful, achieve efficiency by shifting the complex issues of code generation and of appropriate guards onto compilers.Complexity has become the common hallmark of software as well as hardware designs. It cannot be mastered by the common practices of testing and simulation. Hardware design may profit from developments in programming methodology by adopting proof techniques similar to those used in programming.
A statistical approach to computer performance modeling
Authors: Michael A. Salsburg
Venue: Proceedings of the 1987 ACM SIGMETRICS conference on Measurement and modeling of computer systems (1987)

Models of discrete systems are often utilized to assist in computer engineering and procurement. The tools for modeling have been traditionally developed using either analytic methods or discrete event simulation. The research presented here explores the use of statistical techniques to augment and assist this basic set of tools.
The design of an interactive compiler for optimizing microprograms
Authors: S. R. Vegdahl
Venue: Proceedings of the 18th annual workshop on Microprogramming (1985)

Microprogramming has traditionally been done in assembly language because of the perceived need for fast execution; compiler technology does not yet exist for discovering and performing many of the clever tricks of an experienced microprogrammer. Unfortunately, programming at the machine-instruction level is both tedious and error-prone. A possible compromise between these two approaches is that of an interactive compiler, where the programmer guides the crafting of critical data structures and sections of code, while the compiler ensures that the resulting code has the same semantics as the original program, generates code where speed is not critical, and performs bookkeeping tasks. We are in the process of implementing a prototype of such a system. This paper describes the system being developed and discusses some of the key design issues.
Effects of job loading policies for multiprogramming systems in processing a job stream
Authors: Hisao Kameda
Venue: ACM Transactions on Computer Systems (TOCS) (1986)

The scheduling of jobs for multiprogramming systems includes the selection of jobs to be loaded into memory (job loading policy or memory schedule) and the scheduling for CPU processing (CPU schedule). There has been a successful empirical claim for the optimal CPU schedule; its optimality has been proved in a Markovian model of job-stream processing that uses the first-come-first-loaded (FCFL) job loading policy. We extend this model to gain insight into the effects of job loading policies. The model studied consists of an input stream of jobs of two classes and a multiple-resource system (the model of a multiprogramming system) with a stack for waiting jobs. The system consists of a finite amount of memory and a cyclic queue of a single (CPU) server station and a multiple (I/O) server station. The values of parameters describing each class of jobs are distinct except the mean I/O service time and the amount of memory required. The estimate of the maximum processing capacity (throughput bound) of the system is obtained and is shown to be achieved by the combination of the empirically claimed optimal CPU schedule and a job loading policy whereby the set of jobs in memory is kept to be (nearly) balanced with respect to the job stream. Furthermore, we show that the job loading policies independent of the system status have no improvement over the FCFL policy. Our investigation, supported by numerical calculations, suggests that much more care may be needed in implementing the job loading policy that aims at the optimal processing capacity than in implementing the optimal CPU schedule. This agrees with what has been conjectured on the basis of empirical studies.
Software effort metrics: how to join them
Authors: P. Kokol
Venue: ACM SIGSOFT Software Engineering Notes (1988)

There are several software complexity metrics in use today. Halstead's software science, McCabe cyclomatic number and lines of code (LOC) are most popular of them. A great weakness of these metrics is that they measure different complexities for a given program. Thus, it will be very clever to join them. We have developed a model which combines above three metrics and present it in this paper.
Cross-training of student consultants
Authors: Agnes A. Hoey
Venue: Proceedings of the 15th annual ACM SIGUCCS conference on User Services (1987)

This paper describes the training sessions developed at Syracuse University Academic Computing Services to train the student consultants who work at one of five remote sites around campus. Students must consult on any number of questions involving both mainframes and microcomputers. There are several different systems and many software packages which the consultants must also be familiar with. Most student consultants will choose to work at either a microcomputer or a mainframe site, though some will chose hours at both types of sites. For these students cross training is essential. Since there are often times when students must find someone to replace them when they are unable to work, it is desirable to have a large group of students who know enough about each site to work there effectively.
The effect of updates in binary search trees
Authors: J C Culberson
Venue: Proceedings of the seventeenth annual ACM symposium on Theory of computing (1985)

If a binary search tree is created by inserting N keys in random order using the usual insertion algorithm, then it is well known that the average search path is about 1.4lgN. However, if deletions, using the frequently recommended Hibbard's algorithm, are interspersed with the insertions, then virtually nothing has been proven except for Knuth and Jonassen's very difficult, but complete, analysis of the case N = 3. In this paper it is shown that after a sufficient number of updates the average search path is &thgr;(N1/2). An improved algorithm given by Knuth is shown to have the same asymptotic behavior.