ppxscal/embedding_network huggingface dataset:
User Software Engineering and the design of interactive systems
Authors: Anthony I. Wasserman
Venue: Proceedings of the 5th international conference on Software engineering (1981)

The successful construction of interactive systems requires the utilization of principles of user-centered design, combined with techniques for software engineering, in order to produce systems that are reliable, easy to use, and well adapted to user needs. This paper presents some of these principles and shows how they are achieved in the User Software Engineering (USE) project, which is intended to provide the applications developer with a development environment that supports the systematic specification and implementation of interactive systems.
Searching for software
Authors: Rebecca R. DeBoer
Venue: Proceedings of the 10th annual ACM SIGUCCS conference on User services (1982)

It happens every so often - a faculty member or graduate student turns up at the Computing Center with a question like this: &ldquo;Do you know of any software which analyzes heat loss in buildings?&rdquo; Or, &ldquo;Have you heard of a program called SLAM? It's mentioned in an engineering book I'm reading, but there isn't any reference to the source.&rdquo; Or, &ldquo;Do you have EISPACK? GEARPACK?&rdquo; The problem you face is not the problem of finding whether programs of the given name or function exist on your system, or of locating the documentation. You already know that you don't have a program analyzing heat loss, or a mysterious entity called SLAM, or anything with a name like EISPACK or GEARPACK. EISPACK, for example, is available at other Universities, but you have never heard of it at this particular moment. What do you do next? You need a 'documentation system' for outside software, to help you answer the questions - Does any software with the given name or description exist? - Who has it, who wrote it, who distributes it? - Can it be acquired for free or purchased at reasonable cost? And lastly, if the answers to the above are favorable, - Should you acquire it? Is there sufficient interest among users to justify the project of implementing it on your system?
The mimola design system: Tools for the design of digital processors
Authors: Peter Marwedel
Venue: Proceedings of the 21st Design Automation Conference (1984)

The MIMOLA design method is a method for the design of digital processors from a very high-level bevavioral specification. A key feature of this method is the synthesis of a processor from a description of programs which are expected to be typical for the applications of that processor. Design cycles, in which the designer tries to improve automatically generated hardware structures, are supported by a retargetable microcode generator and by an utilization and performance analyzer. This paper describes the design method, available software tools and some applications.
NP-complete decision problems for quadratic polynomials
Authors: Kenneth Manders, Leonard Adleman
Venue: Proceedings of the eighth annual ACM symposium on Theory of computing (1976)

In this article we show the NP-completeness of some simple number-theoretic problems. Natural simplifications of these problems invariably are known to be in P. Our research was motivated by the question whether one could study non-deterministic computation without loss of generality on a restricted, number theoretically significant class of nondeterministic Turing machines, the nondeterministic diophantine machines defined below [1,2]. The results suggest this is true. Because of the relative difficulty of the reduction of the satisfiability problem used in the proof, and the distinctly number-theoretic character of the problems shown to be NP-complete, we hope that the NP-completeness of these problems will play a role in showing the NP-completeness of further problems of a numerical nature, much as the satisfiability problem has in showing the NP-completeness of combinatorial problems ([3],[5]). The results illustrate an intimate connection between problems in computational theory, such as &ldquo;P&equil;NP?&rdquo;, and problems in number theory, e.g. about quadratic congruences in one unknown, which are just beyond the range in which efficient algorithms exist. Thus our work exposes an interface between the state-of-the-art in number theory and in the theory of computation. Also, our results can be seen as the solution to a natural and important revision of Hilbert's 10thproblem: Give a feasible algorithmic procedure to decide whether an arbitrary diophantine equation has solutions. Unless P&equil;NP this is impossible, even for a class of quadratic diophantine equations in two unknowns for which a decision procedure in the original sense is in fact available. Certainly, these results present a striking rigorous demonstration that number theorists' intuitions about where problems about diophantine equations and quadratic congruences start to be truly difficult are justified.
An APL mapping system
Authors: Anthony V. Williams Stephen E. Winckelman
Venue: ACM SIGAPL APL Quote Quad (1981)

APLMAP is a collection of computer mapping algorithms and support functions which, together with data and coordinates of points, areas, or lines provide mapping and analysis capabilities. APL has a number of advantages in such applications especially when users need ad hoc access to a geographic data base. We describe the currently implemented mapping routines and the data structure and provide examples of output maps. A Tektronix 4013 CRT or 4662 plotter driven by an IBM 3033 using APLSV constitute the present operating environment.
An interactive high-level debugger for control-flow optimized programs (Summary)
Authors: Polle T. Zellweger
Venue: Proceedings of the ACM SIGSOFT/SIGPLAN software engineering symposium on High-level debugging (1983)

The transformations performed by an optimizing compiler have traditionally impeded interactive debugging in source language terms. A prototype system called Navigator has been developed for debugging optimized programs written in Cedar, an Algol-like language. Navigator can be used to monitor program execution flow in the presence of two optimizations: inline procedure expansion and cross-jumping (merging identical tails of code paths that join). This paper describes the problems that these two optimizations create for debugging and Navigator's solutions to these problems. The selected approach collects extra information during the optimization phases of compilation. At runtime, Navigator uses the additional information to hide the effects of the optimizations from the programmer.
A new breed of computer professional the information specialist
Authors: Donald L. Davis
Venue: The Proceedings of the Twentieth Annual Computer Personnel on Research Conference (1983)

Organizational concern with providing information for effective decision making has brought about new systems concepts, i.e., decision support systems, and information centers. This paper describes a new breed of computer professional, the information specialists (ISP). The role of the ISP is developing in response to the requirements of the new concepts, in particular those of the decision support system. The roles performed by an ISP along with the skills and knowledge required are also discussed.
Interconnection unit for Poly-Processor System: Analysis and design
Authors: Seishi Nishikawa, Masasada Sato, Kunio Murakami
Venue: Proceedings of the 5th annual symposium on Computer architecture (1978)

This paper discusses the design of interconnection modules for a multiprocessor system which consists of many small and functionally specialized processors. It is proposed that the information, i.e. programs, data etc., used in the system should be divided into three categories; private information, command data and shared data, according to the analysis of software simulation results. Private information is stored in a memory provided exclusively for each processor. Command data is transferred directly between processors to initiate a function in other processors. Shared data is stored in a memory shared by several processors. For command data and shared data, two different connection modules are provided; the interprocessor connection module using common bus technique, and the processor-memory connection module using crossbar switch technique. The effects of information partitioning on the performance and cost of the system are analyzed. It is verified that the interprocessor connection module technique is preferable than a few possible alternatives through the design analysis and the implementation of a pilot model system.
Reliability of computer-communication networks
Authors: Richard Van Slyke, Howard Frank
Venue: Proceedings of the 5th conference on Winter simulation (1971)

A major consideration in the original design and in the expansion of any computer-communication network is the provision of a network which will be relatively invulnerable to failures of its components. This paper considers the reliability analysis of such networks. Two indices of reliability for a network are introduced. Methods for the calculation of these indices are illustrated by carrying out a detailed reliability analysis of the ARPA Computer Network. This analysis includes sensitivity calculations to protect against inaccuracies of measured system parameters and the evaluation of possible improvements in reliability through modification of network configuration.
The literature of software engineering: Description and guide
Authors: A. R. Pierce
Venue: Proceedings of the 13th Design Automation Conference (1976)

The literature of software engineering has been growing rapidly. Yet finding out what has been done in a particular area of software engineering is frequently a difficult and unsatisfying task. Even limiting consideration to bibliographic sources of information, such as journal articles, reports, and books, one faces several cloudy courses of action when trying to search the literature. Problems of completeness, currency, and document availability abound. These problems are due, at least in part, to the rapid pace of events and the relative youth of the field. No truly comprehensive index to the computer science literature exists. Rather, several meritorious, partially overlapping indexes co-exist. And each offers particular advantages and disadvantages. In this paper, indexes and other search aids of the literature of software engineering are surveyed and and compared. Emphasis is placed on how these tools can aid the researcher in keeping up-to-date or in conducting a retrospective survey of the work on a particular topic. The utility of recently available commercial computer-aided literature searching services is stressed.
Handprint recognition on the GRAFIX I:: A commercial application of heuristic programming
Authors: Arnold K. Griffith
Venue: Proceedings of the 1974 annual conference - Volume 1 (1974)

This paper describes a commercial hardware/software system which reads handprinted documents. The system recognizes a full upper case alphabet, all ten digits, and several special characters, intermixed, with minimal constraints imposed on the style of printing. The recognition algorithm, which incorporates a large number of heuristic methods, is described. On a test of over sixty thousand previously unseen characters produced by untrained clerks, fewer than six percent of the characters were &ldquo;rejected&rdquo; as unrecognizable, and only a few tenths of a percent were misrecognized.
Programming for FORTRAN compatibility and machine independence
Authors: Sergio Bernstein
Venue: Proceedings of the 10th Design Automation Workshop (1973)

The guidelines presented here are based on experience gained during several years of designing and implementing large interactive CAD programs on many large scale T/S Computers. These include: circuit, system, logic, and optical analysis programs which are operating on IBM-360/67, CDC-6400, DEC PDP-10, XDS Sigma-7 and Univac-1108 T/S Systems. Apart from the development and debugging effort involved in making large programs (4000 to 12000 FORTRAN statements) operational, the re-coding and maintenance effort required to transfer a working program from one computer to another may be disproportionately costly unless special design precautions are observed from the very beginning. This paper presents some rules for planning and specific solutions for reducing the programming effort. When followed, not only will the amount of code generated be significantly reduced, but compatibility among computer installations will be guaranteed.
The equivalence of models of tasking
Authors: Daniel M. Berry
Venue: Issue 14 (January 1972) (1972)

A technique for proving the equivalence of implementations of multi-tasking programming languages is developed and applied to proving the equivalence of the contour model and a multi-tasking version of the copy rule.
TABSOL: A decision table language for the GE 225
Authors: Donald C. Klick
Venue: Proceedings of the 1961 16th ACM national meeting (1961)

Automatic coding languages are relieving the programmer of many details. The structure of these new languages is much like English. The programmer needs only to &ldquo;describe&rdquo; his problem to a computer, using a combination of English words and phrases. This description is given to a special computer program commonly called a compiler which translates the English problem description to a computer program.
An empirical evaluation of algorithms for dynamically maintaining binary search trees
Authors: William E. Wright
Venue: Proceedings of the ACM 1980 annual conference (1980)

Algorithms for dynamically maintaining and utilizing binary search trees are empirically compared and evaluated. The evaluation is based on the performance of the algorithms using simulated search requests. Search keys are generated using weights which are unknown and in general unequal. The algorithms provide for inserting new nodes, searching for existing nodes, and in some cases dynamically modifying the tree in an attempt to reduce its weighted path length or search time. Included in the evaluation are algorithms for height-balanced trees, weight-balanced trees, and trees of bounded balance, as well as some combination algorithms. Also included are a basic search algorithm which performs no rebalancing, and an optimizing algorithm. In addition to the standard data, unweighted search keys, specially weighted search keys, and partially ordered key sequences are also considered. The evaluation is based primarily on the execution times of the algorithms, although weighted path lengths are also given. A combination algorithm gives the fastest speeds, although the basic search algorithm is shown to be the best for most purposes.
The word processor as an integral part of the Penn State University's administrative network
Authors: Robert S. Ellinger, Robert L. Corman
Venue: Proceedings of the 9th annual ACM SIGUCCS conference on User services (1981)

The Pennsylvania State University is geographically dispersed across twenty-four locations and sixty-seven extension offices. The twenty-four locations are divided into seventeen commonwealth campuses for undergraduate study, three for undergraduate and graduate study, one graduate study center, two community centers, and a medical center. The University Park campus, located in the geographical center of the state, is the administrative headquarters for the entire university. Pedigogically, the university is divided into eleven colleges. The departments of each college are spread across the twenty-four locations. Additionally, the extension offices are within the administrative jurisdiction of the college of agriculture. All of these divisions (at all of the locations) require a variety of administrative support and access to the central data bases.
Corporate integration through systems software
Authors: William M. McKeeman
Venue: ACM SIGPLAN Notices (1976)

A software development system is proposed. It is to be used by a manufacturer of a product that contains a minicomputer, and where the minicomputer may have to be programmed differently for each customer. The programming effort yields (1) software tools on a powerful central computer, (2) invariant code for the mini, and (3) mini code that can vary under customer demand. The emphasis is on managing the complexity of (3) as the number of product deliveries increases. The techniques of cross-assembly, emulation and real-time event simulation are used to aid the development team. Superimposed on the development tools are driver programs that allow sales and maintenance people to interact with the tools. The result is both enhancement of these non-development efforts and a further reduction in the costs of development.
Applications of coset enumeration
Authors: John Grover, Lawrence A. Rowe, Darrell Wilson
Venue: Proceedings of the second ACM symposium on Symbolic and algebraic manipulation (1971)

We describe here two applications of the Coxeter-Todd coset enumeration algorithm. One is the computation of part of the Schur multiplier of a small finite Lie group, in this case PSU(3, 4), directly from the presentation used to define the Steinbrg group. The other is a process for constructing a presentation, by generators and relations, for a known group. The process is segmented in Such a way as to be useful even on smaller computers. We calculate a new presentation of SU(3, 9) in this way. We also describe preliminary work on the Schur representation groups and multipliers of slightly larger unitary groups.
A methodology for simulating computer systems
Authors: Peter L. Haigh
Venue: Proceedings of the 15th annual symposium on Simulation (1982)

Simulation languages, while providing the modeler with the essential tools for model development, do not provide well defined philosophies for modeling specific classes of systems. Although some languages strongly suggest a particular modeling approach, deriving from a particular world view, a methodology must be developed by the practitioner. A methodology for developing simulation models of computer systems is discussed. In all computer systems there are universal processes which may be broken down into various hardware and software steps. Standard model elements which simulate universal communication and input/output processes are explained. Other software to support model development and end user model execution is also presented. The methodology presented here has proven to reduce model implementation time, produce more reliable models, and relax modeler training requirements.
Linear ordering and application to placement
Authors: Sungho Kang
Venue: Proceedings of the 20th Design Automation Conference (1983)

Given a set of interconnected elements, linear ordering generates a linear sequence of elements of the set, which is the basis for most constructive initial-placement methods. This paper presents a new strategy for linear ordering. The important difference of the new technique from the previous ones is that it starts the ordering process from the most lightly connected seed. It was applied to various placement problems including standard cell and gate array and produced very good results.
Picture naming and modification: An overview
Authors: James D. Foley
Venue: ACM SIGGRAPH Computer Graphics (1976)

The purpose of this paper is to review and organize the basic concepts involved in naming and modifying images presented on a graphics display, and to indicate the advantages and disadvantages of the various techniques currently used by graphics languages. We will not consider the syntactic questions of how the semantic capabilities are presented to the language users. A number of extant graphics programming languages are categorized according to their naming and modification capabilities.
A programming sequence for the liberal arts college
Authors: Robert J. Ellison
Venue: Proceedings of the eleventh SIGCSE technical symposium on Computer science education (1980)

The computer science program in a liberal arts college must meet a number of diverse needs. When the curriculum allows for only four computer courses each course must serve several functions. For example, the introductory programming course often must satisfy the need for computer literacy as well as serve more advanced students who need to use the computer in their own discipline. The Hamilton College program which serves an academic community of 1600 students and about 130 faculty, has been evolving for four to five years. Currently five to six hundred students use the computer in some manner during the academic year, and almost one third of the student body enroll in a programming course before they graduate. We shall describe our two-course programming sequence and the success that we have had teaching it using a disciplined approach to programming. Our first course is taught to students whose primary motivation is general literacy and who do not bring to it much in the way of general quantitative or problem solving skills. We use, though, a programming methodology that differs little from that used by larger institutions for courses directed more toward the concentrator in computer science. We argue that structured programming is almost a necessity for this audience. The very limited background of the students requires both a systematic approach to problem solving and a disciplined style of programming. The second programming course must also solve some special problems. Since we only offer two advanced courses, we must include some of the material on data structures in the second course. With a careful selection of topics, we can lay the foundation for a discussion of file structures or data base organization in an advanced course. Our instructional goals for the sequence include the encouragement of general computer literacy, the teaching of programming techniques, the development of problem solving skills, and the coverage of selected advanced topics. We had to meet these goals without making excessive technical demands on the instructional staff.
A course and project description for an undergraduate course in evaluation and measurement techniques for computer systems
Authors: Billy G. Claybrook
Venue: Proceedings of the sixth SIGCSE technical symposium on Computer science education (1976)

The course and project description for a one quarter (or semester) senior level course in evaluation and measurement techniques for computer systems is described. The primary purpose of the course is to introduce the students to evaluation and measurement techniques and to use some of these techniques in evaluating and measuring the performance of a multiprogramming operating system designed for a simple machine. The project is based on the availability of a simple multiprogramming operating system that can be modified by students to perform evaluation and measurement experiments. Five experiments are described in the paper. If a simple multiprogramming operating system is not available then the project may be omitted.
The design of a system for the synthesis of correct microprograms
Authors: David A. Patterson
Venue: Proceedings of the 8th annual workshop on Microprogramming (1975)

An approach to the synthesis of correct microprograms is to use the methodologies that have been beneficial in the generation of correct programs, i.e., structured programming, high-level languages, and formal program verification. This paper presents the design of the system that combines these techniques to simplify the synthesis of correct microprograms. It also gives some statistics which support our emphasis on synthesis as well as correctness.