The general problem of classroom scheduling is well known to be NP-complete. A typical classroom scheduling problem is that of assigning students to a limited number of pieces of laboratory equipment. Frequently several identical pieces of equipment are available only at fixed hours and have limited access due to physical...
We present an extended mapping in the Hybrid Uncertainty Manager so that all the components of an influence diagram can be represented. This will allow us to perform decision analysis on a decision problem. Specifically, a representation for decision nodes, value node, and informational arcs will be given. With these...
This paper describes the design and implementation of a graphical user interface for construction and evaluation of influence diagrams. Specifically, this paper documents the representation, display and mouse sensitivity of an influence diagram, and the selection facility subsystem. The interface is designed to communicate with the user by a mouse...
This document describes the need for, and design of, diagnostic software that provides circuit verification, fault isolation, and troubleshooting aids. The difference between verification software and true diagnostic software is explained. A modular design of diagnostic software is proposed, consisting of a series of 3-part tests, a test manager, results...
This report describes "VIGRAM" (Visual Programming) which is a program understanding and complexity metric analysis tool for Pascal programs. VIGRAM is implemented on the Macintosh as one part of the "O.S.U." (Qregon Speedcode Universe) project. With VIGRAM, the source code of a Pascal procedure can be displayed as a visual...
This survey looks at five different polygon breaking algorithms and compares them. The criteria for comparison are:
1. Complexity of the algorithm.
2. The number and type of subpolygons produced.
3. The classes of input polygons that can be broken.
The best algorithm is then coded and a comparison is...
Advanced computer architectures are centered around the parallel computer systems. This project is focused on the experiment on two parallel computer architectures : Sequent Balance 21000 shared memory multiprocessor and Cogent XTM distributed system.
A set of benchmark programs are implemented using "C" language and Dynix parallel programming library on...
Recently several minimal perfect hashing functions far small static word sets have been developed. However, they are limited to sets of 50 words or less. In this paper, a Two Level Minimal Perfect Hash Function for large data sets is given. It partitions a large static set into small sets...
Authentication is a means of developing an electronic signature that works like a written signature. It assumes that your data is publicly known but nevertheless ensures that the message is not tampered with and that you have an audit trail.
This project discusses the techniques and concepts used to design...
This report presents a graphical tool for implementation of the scheduling heuristics provided by Kruatrachue. The input of scheduling is a task graph and the output is a schedule in the form of a Gantt chart. The implemented scheduling heuristics are: 1) Hu's HLF (highest level first) algorithm. 2) Yu's...
One of the tasks of inequality reasoning is to determine the relationship between two quantities for any given set of qualitative constraints. For implementation of this kind of reasoning, Simmons [1] has provided a technique called the "graph search" (GS). This paper briefly reviews GS technique, then presents an implementation...
Several programming languages define a virtual machine that can be implemented as an interpreter. The interpreter runs more slowly than the real machine. In order to maintain a portable virtual machine for X2 and still achieve acceptable performance, our work compiles X2 procedures into native machine code so that the...
Several problems with user interface design and implementation have been identified: (1) user interfaces are difficult and time-consuming to design and implement; (2) most user interface management systems (UIMS) are themselves difficult to use by a programmer; (3) UIMS's have not been integrated with other tools that support structured design,...
A project is described wherein a source code browser was implemented based upon tasks performed by software engineers looking for source code modules with only UNIX utilities. These tasks were discovered by observing the actions of software engineers looking for code modules in a library, The success of the implementation...
Cichelli gave a simple machine independent minimal perfect hashing function for small static 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. Cichelli's algorithm (word-oriented) to find...
Seed-Lab, is a software system for managing seed laboratory information. It was developed at the Oregon State University Seed Testing Laboratory. Seed-Lab was built around a database development package Revelation, which provides its own programming language.
Seed-Lab shields the user from the complexities of database management by supporting menu driven...
This paper discusses a new approach to the design of operating systems. We view the jobs or tasks in this system as a number of small independent steps or functions which are sequenced together to produce a desired result. The concepts upon which this operating system is based are drawn...
QCritic is a rule-based critic for analog bipolar circuits. It functions as a post-processor for the SPICE simulator, making use of netlist, current, and voltage data. The program was written in OPS83, and demonstrates good run-time performance on a VAX 11/780. At present, the system contains rules for analyzing circuits...
This paper reviews McCabe's cyclomatic complexity and Halstead's laws; it discusses studies in current literature relating the metrics to software. The studies are reproduced using data obtained from a large software project developed in a major electronics firm. Problems that occur when deriving the metrics are discussed; the result of...
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...