ppxscal/embedding_network huggingface dataset:
Knowledge Representation of Software Component Interconnection Information for Large-Scale Software Modifications
Authors: S. S. Yau, J. J. Tsai
Venue: IEEE Transactions on Software Engineering (1987)

Logic can be used to precisely express human thoughts and inferences. In this paper, an approach using first-order logic for knowledge representation of software component interconnection information to facilitate the validity and integrity checking of the interconnection among software components during software development or modification is presented. Directed graphs are first used to model the structure and behavior of a large-scale software system, and a first-order theory of directed graphs (the DG theory) is established. The interconnection behavior among software components in a large-scale software system is a directed graph which is called software component interconnection graph (CIG). The behavior of the CIG is interpreted using the DG theory and translated into logic representation. The translated logic representation is a set of logic clauses and can be considered as a set of axioms. Automated reasoning techniques based on these axioms can be used to perform the validity and integrity checking of software properties in the software development or maintenance phase.
The Department of Defense software initiative&mdash;a status report
Authors: Edward Lieblein
Venue: Communications of the ACM (1986)

The Initiative is a comprehensive effort to address major software engineering issues in both the military and private industry.
Parallel algorithms for minimum cuts and maximum flows in planar networks
Authors: Donald B. Johnson
Venue: Journal of the ACM (JACM) (1987)

Algorithms are given that compute maximum flows in planar directed networks either in O((log n)3) parallel time using O(n4) processors or O((log n)2) parallel time using O(n6) processors. The resource consumption of these algorithms is dominated by the cost of finding the value of a maximum flow. When such a value is given, or when the computation is on an undirected network, the bound is O((log n)2) time using O(n3) processors. No efficient parallel algorithm is known for the maximum flow problem in general networks.
The frame-definition language for customizing the Raffaello structure-editor in host expert systems
Authors: E Nissan
Venue: Proceedings of the ACM SIGART international symposium on Methodologies for intelligent systems (1986)

The use of the language discussed here, is to customize an expert-system (ES) construction tool, RAFFAELLO, in the application. We are concerned, here, with a version, being an ES itself, of the frame-definition and navigation component of RAFFAELLO. Allowed frame-topology may be deep, i. e. with an unbound depth of the tree. Frame schemata of the application ES are described by means of a production system (PS), &ldquo;CuProS&rdquo;, with particular conventions for conveying particular features: e. g. slotless repeatable subframes, or local CuProS'es in instance's subtrees, n-to-n relation insertion, retrieval - key local definition, ancestry-driven disambiguation of polysemic slots, etc. Examples are drawn from the application to ONOMATURGE, an ES for word-formation.
Simulations and symbolic explanations
Authors: D H Helman, J L Bennett, A W Foster
Venue: Proceedings of the ACM SIGART international symposium on Methodologies for intelligent systems (1986)

The following paper defines the problem of writing symbolic explanation facilities for computer simulations. Our approach towards this problem draws from an existing body of research on a related problem, that of writing an explanation facility for an expert system. We discuss the notion of an explanation facility for a computer simulation with reference to a specific inventory control simulation (Gaither, 1982). We believe, however, that the structure of our explanation facility for Gaither's simulation reflects the structure of human explanatory activities, and thus may be usefully applied in a variety of problem domains.
Performance evaluation of multiple register sets
Authors: R. J. Eickemeyer, J. H. Patel
Venue: Proceedings of the 14th annual international symposium on Computer architecture (1987)

In this paper a DEC VAX with multiple register sets is evaluated under many differently sized register sets. Both the number of register sets and the number of registers per set were varied. Performance, measured in terms of memory traffic, is compared to that of a standard VAX. Memory traffic is measured from many real program traces on the standard processor and from transformations of the trace for the multiple register set processors. Results are presented for each program; an empirical formula is derived which describes the average program's behavior. A decrease in memory references of approximately 16% can be expected using multiple register sets.
Fast constructive-solid geometry display in the pixel-powers graphics system
Authors: Jack Goldfeather, Jeff P M Hultquist, Henry Fuchs
Venue: ACM SIGGRAPH Computer Graphics (1986)

We present two algorithms for the display of CSG-defined objects on Pixel-Powers, an extension of the Pixel-Planes logic-enhanced memory architecture, which calculates for each and every pixel on the screen (in parallel) the value of any quadratic function in the screen coordinates (x,y). The first algorithm restructures any CSG tree into an equivalent, but possibly larger, tree whose display can be achieved by the second algorithm. The second algorithm traverses the restructured tree and generates quadratic coefficients and opcodes for Pixel-Powers. These opcodes instruct Pixel-Powers to generate the boundaries of primitives and perform set operations using the standard Z-buffer algorithm.Several externally-supplied CSG data sets have been processed with the new tree-traversal algorithm and an associated Pixel-Powers simulator. The resulting images indicate that good results can be obtained very rapidly with the new system. For example, the commonly used MBB test part (at right) with 24 primitives is translated into approximately 1900 quadratic equations. On a Pixel-Powers system running at 10MHz (the speed at which our current Pixel-Planes memories run), the image should be rendered in about 7.5 milliseconds.
A model for teaching APL: moving into the fast lane
Authors: Tama Traberman
Venue: ACM SIGAPL APL Quote Quad (1987)

The business world is in the throes of an on-going revolution. In today's global business environment, managers must be smarter than the competition if they want to increase their market share and provide customers with new services and products that capture the imagination and new customer dollars. All stock brokers and investment bankers want to maximize their clients' investments. Yet some firms consistently are more successful than others in choosing the right investments for clients and at attracting new clients. Some retail chains go out of business while others flourish. What differentiates success and failure? Smart managers in this ever-changing global market are discovering that APL and APL tools can give them a competitive edge. APL is a strategic tool that helps their staff members be more efficient, more effective and more creative on the job. And while it is true that people can learn APL on their own, good managers recognize that it is more efficient for employees to get professional instruction in APL. These managers recognize that their employees want to learn APL quickly. They want to learn the most current usage of the language in the context of the business applications they use on the job. Knowledgeable professionals want and need professional instruction that matches their job skills and competencies in order to accelerate the slope of their APL learning curve.
Multilingual programming: Coordinating programs, user interfaces, on-line help and documentation
Authors: Gary Perlman
Venue: Proceedings of the 4th annual international conference on Systems documentation (1986)

The high cost of software is not due to the difficulty of coding, but in recoding and redocumenting software. This can be better understood when one considers how many expressions of the same ideas must be constructed and coordinated. Program code and comments, user interface and on-line help, and a variety of off-line documents, all must be consistent. A solution to the coordination problem is presented in this paper. Multilingual programming is a method of developing software that uses a database of information to generate multiple target languages like commented program code, user interface languages, and text formatting languages. The method begins with an analysis of a domain to determine key attributes. These are used to describe particular problems in the domain and the description is stored in a database. Attributes in the database are inserted in templates of idioms in a variety of target languages to generate solutions to the original problem. Because each of these solutions is based on the same source database of information, the solutions (documents, programs, etc.) are consistent. If the information changes, the change is made in the database and propagated to all solutions. Conversely, if the form of a solution must change, then only the templates change. In sum, the method saves much effort for updates of documents and programs that must be coordinated by designing for redesign.
Algebraic properties of knowledge representation systems
Authors: J W Grzymala-Busse
Venue: Proceedings of the ACM SIGART international symposium on Methodologies for intelligent systems (1986)

New concepts of knowledge representation systems, like object and attribute factors, connectedness relations, and seven kinds of homomorphisms of knowledge representation systems are introduced. Some properties of these homomorphisms, related to factors and connectedness, are shown. The theory presented here may be used to aggregate sets of objects, attributes, and descriptors of the original system in order to produce a simpler system, which preserves the description function of the original system. In some applications, the new system is sufficient representation of the original one.
NPATH: a measure of execution path complexity and its applications
Authors: Brian A. Nejmeh
Venue: Communications of the ACM (1988)

Software engineering is a discipline in search of objective measures for factors that contribute to software quality. NPATH, which counts the acyclic execution paths through a function, is an objective measure of software complexity related to the ease with which software can be comprehensively tested.
RELFUN: A relational/functional integration with valued clauses
Authors: H Boley
Venue: ACM SIGPLAN Notices (1986)

The RELFUN programming language is introduced as an attempt to integrate the capabilities of the relational and functional styles. Definitions of functions and relations are specified uniformly by valued Horn clauses, where rules return the value of their rightmost premise. Functional nestings are flattened to relational conjunctions, using a purified version of PROLOG's is-primitive. RELFUN functions may have non-ground arguments, like relations, and/or return non-ground values; their input and output arguments can be inverted like those of relations. Higher-order functions are definable as (function-) valued clauses, with funarg problems being avoided by the standard renaming of clause variables. RELFUN's operational semantics is specified as an abstract machine, which also yields its first (e-mailable) FRANZ LISP implementation.
Knowledge-based software design using design schemas
Authors: M. D. Lubars, M. T. Harandi
Venue: Proceedings of the 9th international conference on Software Engineering (1987)

Design schemas provide a means for abstracting software designs into broadly reusable components that can be assembled and refined into new software designs. This paper describes a knowledge-based software development paradigm that is based on the design schema representation. It combines design schemas, domain knowledge, and various types of rules to assist in the quick generation of software designs from user specifications. A prototypical environment, IDeA (Intelligent Design Aid), is described that supports the knowledge-based paradigm. The schema-based techniques used in IDeA are presented along with some examples of their use.
Simulating the object-oriented paradigm to Nial
Authors: Philip J. Beaudet, Michael A. Jenkins
Venue: ACM SIGPLAN Notices (1988)

Recently, the object-oriented paradigm has received much recent attention. Now programmers are attempting to simulate object-oriented programming using languages that do not directly support the paradigm. This paper describes our approach to simulating the object-oriented paradigm in Nial. Nial is a multiparadigm language, but it does not directly support the object-oriented paradigm.
A polynomial algorithm for the min-cut linear arrangement of trees
Authors: Mihalis Yannakakis
Venue: Journal of the ACM (JACM) (1985)

An algorithm is presented that finds a min-cut linear arrangement of a tree in O(n log n) time. An extension of the algorithm determines the number of pebbles needed to play the black and white pebble game on a tree.
Comment on some recent comments on information retrieval
Authors: Charles T. Meadow
Venue: ACM SIGIR Forum (1988)

This paper presents some opinions on how the human user's understanding of the content and meaning of records and of the criteria for reterieval must be considered in formulating a complete theory of information reterieval.
On the parallel Risch Algorithm (II)
Authors: J. H. Davenport, B. M. Trager
Venue: ACM Transactions on Mathematical Software (TOMS) (1985)

It is proved that, under the usual restrictions, the denominator of the integral of a purely logarithmic function is the expected one, that is, all factors of the denominator of the integrand have their multiplicity decreased by one. Furthermore, it is determined which new logarithms may appear in the integration.
A formal interface design methodology based on user knowledge
Authors: J. E. McDonald, D. W. Dearholt, K. R. Paap, R. W. Schvaneveldt
Venue: Proceedings of the SIGCHI conference on Human factors in computing systems (1986)

In this paper we propose a formal interface design methodology based on user knowledge. The general methodology consists of 1) obtaining distance estimates for pairs of system units (objects, actions, concepts), 2) transforming the distance estimates using scaling techniques (e.g., Pathfinder network analysis), and 3) organizing the system interface based on the scaling solution. Thus, the organization of the system is based on the cognitive models of users rather than the intuitions of designers. As an example, we discuss the application of our methodology to the design of a network-based indexing aid for the UNIX on-line documentation system (MAN).
What academic impact are high school computing courses having on the entry-level college computer science curriculum?
Authors: Roger E. Franklin,  Jr.
Venue: Proceedings of the eighteenth SIGCSE technical symposium on Computer science education (1987)

It appears that the computer revolution is irreversible and almost every Americians' life will be affected by the use of its technology. More and more jobs will require computer literacy and skills, and as a result more courses will be offered by secondary schools to prepare their students. As this area of computer technology expands, the job market will require individuals that have been trained with various amounts of knowledge and skill. Many states are requiring a certain degree of computer literacy for high school graduation. These requirements are resulting in the development of secondary curriculum guides at the state and national levels.
Dual Systolic Architectures for VLSI Digital Signal Processing Systems
Authors: G E Bridges, W Pries, R D McLeod, M Yunik, P G Gulak, H C Card
Venue: IEEE Transactions on Computers (1986)

This correspondence presents a linear systolic array for the implementation pf digital signal processing systems based upon matrix- vector multiplication algorithms where the matrix elements can be computed from their row and column indexes. Haar, Walsh, and the discrete Fourier transforms are solved using this approach. The method presented enables the n2 matrix elements to be computed in situ directly from the 2n matrix indexes. Thus, performance comparable to known systolic matrix-vector multipliers is achieved using only constant I/O bandwidth, rather than O(n) bandwidth required in the more general case. A generalized method is given for the development of recursively formed matrices and specifically the VLSI implementation of the Haar and Walsh transforms.
Algorithms for trie compaction
Authors: M. Al-Suwaiyel, E Horowitz
Venue: ACM Transactions on Database Systems (TODS) (1984)

The trie data structure has many properties which make it especially attractive for representing large files of data. These properties include fast retrieval time, quick unsuccessful search determination, and finding the longest match to a given identifier. The main drawback is the space requirement. In this paper the concept of trie compaction is formalized. An exact algorithm for optimal trie compaction and three algorithms for approximate trie compaction are given, and an analysis of the three algorithms is done. The analysis indicate that for actual tries, reductions of around 70 percent in the space required by the uncompacted trie can be expected. The quality of the compaction is shown to be insensitive to the number of nodes, while a more relevant parameter is the alphabet size of the key.
Flocks, herds and schools: A distributed behavioral model
Authors: Craig W. Reynolds
Venue: Proceedings of the 14th annual conference on Computer graphics and interactive techniques (1987)

The aggregate motion of a flock of birds, a herd of land animals, or a school of fish is a beautiful and familiar part of the natural world. But this type of complex motion is rarely seen in computer animation. This paper explores an approach based on simulation as an alternative to scripting the paths of each bird individually. The simulated flock is an elaboration of a particle systems, with the simulated birds being the particles. The aggregate motion of the simulated flock is created by a distributed behavioral model much like that at work in a natural flock; the birds choose their own course. Each simulated bird is implemented as an independent actor that navigates according to its local perception of the dynamic environment, the laws of simulated physics that rule its motion, and a set of behaviors programmed into it by the "animator." The aggregate motion of the simulated flock is the result of the dense interaction of the relatively simple behaviors of the individual simulated birds.
Computer instruction set usage by programmers: an empirical investigation
Authors: Neal S. Coulter, Norman H. Kelly
Venue: Communications of the ACM (1986)

The elimination of unused instruction sets would encourage more uniform programming practices and could allow the inclusion of more useful instructions.
The schematic protection model: its definition and analysis for acyclic attenuating schemes
Authors: Ravinderpal Singh Sandhu
Venue: Journal of the ACM (JACM) (1988)

The protection state of a system is defined by the privileges possessed by subjects at a given moment. Operations that change this state are themselves authorized by the current state. This poses a design problem in constructing the initial state so that all derivable states conform to a particular policy. It also raises an analysis problem of characterizing the protection states derivable from a given initial state. A protection model provides a framework for both design and analysis. Design generality and tractable analysis are inherently conflicting goals. Analysis is particularly difficult if creation of subjects is permitted. The schematic protection model resolves this conflict by classifying subjects and objects into protection types. The privileges possessed by a subject consist of a type-determined part specified by a static protection scheme and a dynamic part consisting of tickets (capabilities). It is shown that analysis is tractable for this model provided certain restrictions are imposed on subject creation. A scheme authorizes creation of subjects via a binary relation on subject types. Our principal constraint is that this relation be acyclic, excepting loops that authorize a subject to create subjects of its own type. Our assumptions admit a variety of useful systems.
How to assign votes in a distributed system
Authors: Hector Garcia-Molina, Daniel Barbara
Venue: Journal of the ACM (JACM) (1985)

In a distributed system, one strategy for achieving mutual exclusion of groups of nodes without communication is to assign to each node a number of votes. Only a group with a majority of votes can execute the critical operations, and mutual exclusion is achieved because at any given time there is at most one such group. A second strategy, which appears to be similar to votes, is to define a priori a set of groups that intersect each other. Any group of nodes that finds itself in this set can perform the restricted operations. In this paper, both of these strategies are studied in detail and it is shown that they are not equivalent in general (although they are in some cases). In doing so, a number of other interesting properties are proved. These properties will be of use to a system designer who is selecting a vote assignment or a set of groups for a specific application.
Reaching approximate agreement in the presence of faults
Authors: Danny Dolev, Nancy A. Lynch, Shlomit S. Pinter, Eugene W. Stark, William E. Weihl
Venue: Journal of the ACM (JACM) (1986)

This paper considers a variant of the Byzantine Generals problem, in which processes start with arbitrary real values rather than Boolean values or values from some bounded range, and in which approximate, rather than exact, agreement is the desired goal. Algorithms are presented to reach approximate agreement in asynchronous, as well as synchronous systems. The asynchronous agreement algorithm is an interesting contrast to a result of Fischer et al, who show that exact agreement with guaranteed termination is not attainable in an asynchronous system with as few as one faulty process. The algorithms work by successive approximation, with a provable convergence rate that depends on the ratio between the number of faulty processes and the total number of processes. Lower bounds on the convergence rate for algorithms of this form are proved, and the algorithms presented are shown to be optimal.
Warp architecture and implementation
Authors: M. Annaratone, E. Arnould, T. Gross, H. T. Kung, M. S. Lam
Venue: ACM SIGARCH Computer Architecture News (1986)

This paper describes the scan line array processor (SLAP), a new architecture designed for high-performance yet low-cost image computation. A SLAP is a SIMD linear array of processors, and hence is easy to build and scales well with VLSI technology; yet appropriate special features and programming techniques make it efficient for a surprisingly wide variety of low and medium level computer vision tasks. We describe the basic SLAP concept and some of its variants, discuss a particular planned implementation, and indicate its performance on computer vision and other applications.
Device management in TURNING PLUS
Authors: R. C. Holt
Venue: ACM SIGOPS Operating Systems Review (1988)

TURING PLUS is a general purpose programming language that is well suited to systems applications such as operating systems, network controllers and embedded software. This note briefly explains how device management is efficiently handled in TURING PLUS using a specialize version of monitors.