Cichelli has presented a simple method for constructing minimal perfect hash tables of identifiers for small static word sets. The hash function value for a word is computed as the sum of the length of the word and the values associated with the first and last letters of the word....
Program understanding is an integral part of the testing and maintenance phases of the software life cycle. There have been numerous investigations of the influence of various aspects of a program and the program- ming process on program comprehension. However, the many different measures of understanding used in these studies...
The focus of this paper is on the underlying knowledge base for an intelligent tutorial system for high school algebra problems. We present a model of problem solving flexible enough to account for a variety of problem solving behaviors and general enough to allow new problem domains to be defined...
We describe a. new approach to implementing functions as first class values. Using this technique, there is no additional overhead imposed for the most common case, that of non-nested functions bound at compile time. Invoking function values assigned to variables requires two additional instructions. It is only when functions are...
In this project we have attempted to exploit the parallel programming features of a Sequent Balance multiprocessor to improve the performance of a Smalltalk interpreter. The block construct and the fork message together make Smalltalk a 'natural' parallel programming language. We describe how processes can be created from within the...
Yashar is a rule based meta-tool for rapidly producing tools to increase programming speed through automating restructuring of existing source code modules so they can be reused, generating of syntax-directed tools, language-to-language translation, automated document generation , and various debugging tools. The main significance of Yashar is that it can...
Arash is a rule-based tool for re-structuring source programs in order to build software systems from reusable components. Arash incorporates a collection of Generalizers which transform source code modules into abstracted modules. Conversely, a collection of Refiners produce a concrete instance from an abstracted source module . Both Generalizers and...
Artimis is part of an environment for software reuse consisting of two logically independent portions, 1) the indexing and retrieval facility called, GrabBag, for storage and subsequent retrieval of reusable modules, and 2) a set of tools called Browsers, which aid reading and understanding of source programs. GrabBag creates a...
An abstract document processing system has been designed, based on the object model of document formatting, which allows users to specify abstract operations directly on the concrete form of objects which compose a document. The result is to restrict the number of operations necessary in document preparation and to minimize...
X2 [4] is a Smalltalk-like programming environment [1]. As it has grown in size and complexity the existing organizational tools have become inadequate for user and system needs. This project addresses this deficiency and some of its important consequences.
The entities to be organized are those that are a fixed...
Parallel computers have generated a great deal of excitement and interest in the computer industry as well as the computer user industries. Parallel computers offer the promise of enormous gains in computing speeds by allowing multiple processors to work on different pieces of the same problem at the same time....
The Vehicle Preventative Maintenance System (VPMS) is a 4GL application system that keep track of information required for vehicle maintenance. It can be used to schedule routine vehicle maintenance, and to produce complete and accurate vehicle cost reports, enabling its users to optimize vehicle maintenance. In this report, after describing...
A user interface for a modelling language called HELM was designed and implemented on the Macintosh. HELM is a modelling language for specifying a linear programming model. The user interface is called Model Maker and it is part of the whole user interface; it contains a graphical editor for specifying...
In this research paper, a ported development support tool, the MacExpert, for implementing an expert system on Macintosh will be introduced. This application is designed to allow its user to develop an expert system in a simple and user-friendly environment, the Macintosh personal computers, yet with adequate power.
Programming style is a highly individualistic and important part of programming. Yet, there is no general agreement on the definition of programming style nor even the qualities that make up programming style. Existing automated programming style analyzer programs either produce a battery of numbers, leaving the weight and/or importance of...
This study concentrates on threshold values for the two most popular control flow metrics: McCabe's cyclomatic complexity and the knot count. We describe the results of an experimental study to empirically determine a threshold value for knot count for student programmers. The experiment was designed to measure the interaction between...
RezDez is a Macintosh program for designing Macintosh resources through direct manipulation of graphical objects. Specifically, RezDez allows a designer to construct:
Windows : Any of the six standard Macintosb windows with the designer choosing the location, size and title of the window.
Menus : With upto twenty menu items...
This research paper is limited to the User Interface of the modeling language of HELM (Hierarchical Environment for Linear Modeling). In attempt to better describe the user interface for HELM, some examples and portions of Carol Brown's report are included for ease of reading and a brief overview of the...
This research solves the problem of connecting a Macintosh to a Unix machine and presenting the Macintosh Desktop to Unix. Unix Files can be viewed. copied. renamed and opened in the same manner as Macintosh files. Unix programs and shell commands can be defined and attached to Macintosh menus and...
This report describes the Graphical Editor part of DataLab, a visual programming tool for the specification and synthesis of abstract data types (ADTs). DataLab consists of two major components: graphical editor and source code generator. The graphical editor is used to design an abstract data structure and its operations by...
An automated library system should be capable of providing at least all of the information and capabilities of existing manual catalogs. In addition, an automated system must provide the capability of manipulating that information to produce varying types of reports and statistics. This paper briefly:
- describes historical representations of...
This project is concerned with the optimal distribution of the computation and the data in parallelized Simplex algorithms. Test cases were implemented on a 16-processor Transputer system from INMOS Corporation. By careful consideration of distribution of computations and data, a nearly linear speedup pattern was obtained. The most
interesting thing...
This paper describes Schemer, a hierarchical software architecture for Real Time problem solving. Real time applications must be able to react to critical events quickly, and be able to explore simultaneous solutions in response to, or, in anticipation of such events.
Schemer, which is a Blackboard-like architecture, addresses the aforementioned...
This paper reports the findings of two studies conducted at Oregon State University. The first set of studies compares use of header comments versus mnemonic procedure and function names by programmers performing tasks relating to modification tasks. The second study compares the use of header comments versus in-line comments when...
Considerable progress ha been made in Computer-Aided Design (CAD) techniques to assist Mechanical Engineers in the detail design stages and adaptive redesign tasks. Currently, CAD tools support the designer in system layouts, sizing of components, drafting, analytical calculations, generating NC machining data and even motion or energy simulations. However, the...
In most technical fields, a certain amount of practical application is necessary to master the important concepts and acquire basic problem solving skills. Computer science is no different, and this is reflected in the frequent programming assignments given in programming and data structures courses. The basic skills and concepts gained...
Oregon Speedcode Universe (OSU) is a rapid prototyping system that provides a total environment for creating applications. Given such a vacuous prototyping system consisting of sequenced user interface objects can domain specific application functions be incorporated? Furthermore, can functionality be added by automatic or semi automatic techniques? This research attempts...
Program understanding is a very important part of the testing and maintenance phases of the programming projects. The overall program knowledge, understanding the various parts of the program, and how they communicate are key steps in understanding the program. Hence data communication among modules contributes much to program complexity and...
This is an attempt to deal with interface problems of interacting modules in a large simulation system.
In simulation, scientists require routine substitution of modules for comparison of alternative models. These changes have propagating side affects and from a programmer's point of view are essentially system redesigns.
This paper presents...
Stella Bridge is a program for converting mathematical models designed with STELLA For Business into object-based source programs written in Pascal. The input to Stella Bridge is a series of tables1 functions, and initial conditions generated by STELLA For Business. The output from Stella Bridge is a collection of Pascal...
The task of designing and building the user interface portion of a Macintosh application is radically different than the same task on a more conventional computer with a conventional operating system. Just the fact that it is radically different makes it very time consuming to learn how to program this...
A remote job control system for the DRAFT machine is developed. It provides the user a convenient remote computing environment with facilities for job submission, a means of servicing the job queue on a first-come-first-serve basis, and usage reporting. It provides a logging facility to keep track of the user's...
A software system to study network algorithms was implemented on UNIX. Each part of a network algorithm is written as a single C program which becomes a virtual node in the network. During a simulation, all virtualized nodes run as separate processes on a single PDP 11/40. Inter-node communication is...
The SEAS Directory and File Manager is a multiple window interactive tool to assist users in modifying and maintaining UNIX files and directories. This tool includes a show directory utility, a show file utility, a type file utility and provides access to the UNIX shell.
There has been concern voiced for a number of years about the problem of program plagiarism. A number of SIGCSE Bulletin articles have discussed the issue. However, it is not at all clear as to what behavior we are actually referring, nor to what extent it is occurring. How do...
Computer networking research has been going on for almost twenty years; however, most of the protocols concern high and low speed synchronous transmission. All synchronous communication needs special transmission lines. The TCP/IP (Transmission Control Protocol/Internet Protocol) protocols, Ethernet, X.25, X windows system are very successful protocols. Less work has been...
The purpose of this project is to design and implement an intermediate language interpreter for a very high level language called Bagit. The Bagit compiler produces Bcode, and this in turn is interpreted by the program described in this report.
Quickersort, Straight Insertion Sort, Mehlhorn's AVL-tree Sorting Algorithm and Cook's new sorting algorithm are compared on nearly and nedium sorted lists. The ratio of the minimum number of list elements that must be removed so that the remaining portion of the list is in order to the size of the...
This paper presents data obtained from measurements of the X2 Interpreter. The measurements were made to determine how to Increase the Interpreter's efficiency. The subroutine call operation was found to consume a significant percent of the execution time.
The Macintosh revolutionary interface sets it apart from all other personal computers. The Macintosh designers made the Macintosh easy to learn, understand, and use.
To ensure correct implementation of their User interface, Apple provided Macintosh programmers with "Inside Macintosh". Inside Macintosh is a complete detailed manual which contains recommendations and...
This document describes the design and implementation of a pair of language interfaces to a network database management system. CSDDL provides the DBMS with a data description language facility, and CSDSDL functions as a data storage description language interface of the DBMS. Source languages of CSDDL and CSDSDL are approximately...
Crops were grown at the experimental farms using accepted cultural practices within the limits of experimentation or trials were conducted on growers' field. Most experiments were designed as randomized complete blocks with two to five replications, Herbicide treatments were applied uniformly with equipment ranging from precision plot sprayers to quart...