This report includes information concerning experimental use of unregistered pesticides or unregistered uses of pesticides. Experimental results should not be interpreted as recommendations for use. Use of unregistered materials or use of any registered pesticides inconsistent with its label is against both Federal Law and State Law.
This report includes information concerning experimental use of unregistered pesticides or unregistered uses of pesticides. Experimental results should not be interpreted as recommendations for use. Use of unregistered materials or use of any registered pesticides inconsistent with its label is against both Federal Law and State Law.
This report includes information concerning experimental use of unregistered pesticides or unregistered uses of pesticides. Experimental results should not be interpreted as recommendations for use. Use of unregistered materials or use of any registered pesticides inconsistent with its label is against both Federal Law and State Law.
This report includes information concerning experimental use of unregistered pesticides or unregistered uses of pesticides. Experimental results should not be interpreted as recommendations for use. Use of unregistered materials or use of any registered pesticides inconsistent with its label is against both Federal Law and State Law.
This report includes information concerning experimental use of unregistered pesticides or unregistered uses of pesticides. Experimental results should not be interpreted as recommendations for use. Use of unregistered materials or use of any registered pesticides inconsistent with its label is against both Federal Law and State Law.
This report includes information concerning experimental use of unregistered pesticides or unregistered uses of pesticides. Experimental results should not be interpreted as recommendations for use. Use of unregistered materials or use of any registered pesticides inconsistent with its label is against both Federal Law and State Law.
Lamprey eel harvesting has systematically and periodically occurred along the Siletz River and its tributaries for as many as hundreds, or thousands, or tens of thousands of years that human families and lamprey eel populations have coexisted in the Siletz Valley ecosystem. Historical, cultural, and biological information for the twentieth...
Cryptographic systems are used for secure communications in the government, in industry, and by individuals. Many cryptographic systems base their security on our inability to factor quickly. For this reason, in the last few decades several fast factoring algorithms have been developed. The Quadratic Sieve is one of the best...
We define simple population models and give seven examples from the literature. We investigate visualization techniques for simple population models and demonstrate these techniques on the seven population models. The visualization techniques are basic curves, spiral plots, time plots, bifurcation maps, time-plus-2 curves, and B&W and color complex convergence plots....
We describe a software mechanism that simplifies the implementation of real-time distributed object-oriented applications. The distributed observable/observer mechanism extends the Observable/Observer concept of Java to a distributed environment, encapsulating the communication protocol used by networking. The mechanism supports the distributed model/view-controller (M/VC) paradigm, allowing view-controllers to be attached to remote...
Suffix trees are a well known data structure for facilitating a variety of queries on strings. Construction of the trees requires a considerable number of choices concerning the implementation. Several of those choices are examined in this paper. Performance studies are presented that reveal the consequences of these choices. The...
Structural active-object systems (SAOSs) are transition-based object-oriented systems suitable for various concurrent applications. A SAOS consists of a collection of interacting active objects that can be structurally and hierarchically composed. The SAOS framework enables $AO$ application programs to be developed rapidly. However, nondeterministic behaviors of active object sometimes make debugging...
MIDAS is an application framework for remote data acquisition and visualization that allows dynamic reconfiguration of its constituent components. There are three types of reconfiguration, namely, component replacement, component interposition and component deletion. A two-phase protocol to maintain the consistency of the system during reconfiguration is described. MIDAS has a...
With the strong shift toward network-centric cluster-computing workload management has become increasingly important in both industrial and academic environments. To fully harness the distributed computing resources of the 32 PC's in our department, I developed a workload monitoring system together with a few utilities for users to submit either sequential...
The purpose of this project is to study the benefit at large parking lots having shuttle busses by providing a system that dynamically routes a shuttle. The shuttle route will be set by the placement of the travelers returning from the terminal. A parking space is assigned to the incoming...
The problem addressed in this paper is that of usability of the Petri Net Editor used to create applications in the Objex framework. This editor puts a lot of burden on the user, in that the user needs to remember all the GUI resources previously created for the application, has...
A structural active-object systems (SAOS) is a, transition-based object-oriented system consisting of a collection of interacting structural active objects (SAOs), which can be structurally and hierarchically composed from their component SAOs. The behaviors of SAOs are determined by the transition statements provided in their class definitions. Various concurrent systems such...
Since its introduction in 1995 by Sun Microsystems, the Java programming language has been widely accepted by the software development community. Besides being a natural fit for Internet and World Wide Web (WWW) based applications, Java is also being used in other diverse application areas due to its simplicity, reduced...
Structural active-object systems (SAOSs) are transition-based object-oriented systems suitable as frameworks of various concurrent systems. AOSs are constructed from their component active objects by structural and hierarchical object composition (SHOC) like hardware systems. 1n this report, we demonstrate that the SAOS approach is effective in implementing a graphical editor. The...
To achieve the maximum benefits of a flexible manufacturing system (FMS), its effective monitoring is crucial. The user's ability to interpret the actions of an FMS is significantly enhanced by effective monitoring provided by a well-designed graphical user interface (GUI). The Active-Object User-Interface Management System (AOUIMS) is a graphical user...
A structural active-object system (SAOS) is a transition-based object-oriented system suitable for the design of various concurrent systems. A SAOS consists of a collection of interacting structural active objects (SAOs) whose behaviors are determined by the transition statements provided in their class definitions. Furthermore, SAOs can be structurally and hierarchically...
The integration of Asynchronous Transfer Mode (ATM) technology into the current global internetwork provides great opportunity as weJl as substantial engineering challenges. The Network for Engineering Research in Oregon (NERO) ATM network provides an order of magnitude increase in available bandwidth in local area networks and two orders of magnitude...
Qualitative reasoning programs use a modelling language to discover the function of a mechanical device and a theory of causality to explain the reason for the device's behavior. A library of reusable model pieces for linear mechanical oscillators was developed for use with a causality theory developed by Forbus called...
The problem of broadcasting in faulty hypercubes is considered, based upon a strategy of partitioning the faulty hypercube into subcubes in which currently known algorithms can be implemented. Three similar partitioning and broadcasting algorithms for an n-dimensional hypercube in the presence of up to (n² + 2n - c) /...
In order for autonomous underwater vehicles to be successful, they must be able to maintain accurate information about their state variables and the state of their critical components. The software developed by Bruce D'Ambrosia and Wade Brittain, (Real-time Tracking and Probabilistic Assessment of Physical Systems) proposes a methodology to provide...
In order for long-range autonomous robots to be successful they must be able to maintain accurate information about their location, available resources, and the state of critical components. We propose here a methodology which incorporates traditional, sensor-based tracking methods with discrete probabilistic representations of system state. Further, we extend the...
Code instrumenters play a vital role in the functionality of the Aristotle program analysis system, This project aims to replace Aristotle's existing code instrumenters, which process target programs at the, source level, with instrumenters that process target programs at the intermediate language level. This change absolves the instrumenters of responsibility...
Existing graphics systems are too large for students to study in an introductory computer graphics course. We have implemented a lightweight, object-oriented graphics system called OGS for instruction. OGS is written in Java. It demonstrates how a graphics system is implemented from scratch and is intended to help students understand...
In this paper, we describe a software mechanism, a software channel, that allows a group of distributed objects to communicate with each other automatically once they are connected to it. Software channels and predesigned distributed objects that are connected to them encapsulate the communication protocol and the network topology to...
A Kalman filter was developed to recover information on short period variations of ocean circulation from the satellite altimeter signals for the North Pacific Ocean. The ocean circulation at each grid point is specified by three variables: sea level height h, zonal velocity u, and meridional velocity v. In our...
This project is an interactive environment which allows the user to explore various sound generation techniques. The three methods of sound generation used are (1) FM synthesis, (2) Additive synthesis, and (3) Karplus/Strong synthesis of plucked strings. The project also provides the capability to display the generated sound waveforms and...
The SAOS Road Network Simulator (SARNS) is a graphical simulation program for transportation planning, implemented using the structural active-object system (SAOS) approach. A SAOS is an object-oriented concurrent system that consists of a collection of interacting structural active objects (SAOs), whose behaviors are determined by transition statements provided in their...
The project (partially) described in this paper was the result of an attempt by the Navy to use software complexity metrics to assess the complexity of Naval avionics software. In particular, the project consisted of computing a variety of software complexity metrics for CMS-2M and AYK-14 assembler source code and...
Visualization is a useful method to teach classes in algorithms and data structures. Many animation systems of algorithms and data structures have been implemented. In these systems, students can set initial conditions, run algorithms and view the result graphically. In this project, a small visualization tool library is implemented using...
In this paper, we present two systolic designs of a chip that can be used to perform Modular Multiplication. The time taken by these two designs is 5n and 3n respectively, where n is the number of digits. These designs are based on Montgomery's redc algorithm. We also present an...
Exception handling is a general purpose tool found in many modern programming language, but most work to date is based on textual languages. We present an approach to exception handling in a new context, the visual programming language Forms/3. The visual nature of Forms/3 supports an effective approach to exception...
A problem with a number of available parallel programming tools proposed and implemented by researchers is that there has been little consideration of the impact of the user interface on users outside the field of computer science.
In this paper we propose and implement Banger, an extension to the Parallel...
We believe concreteness, direct manipulation and responsiveness in a visual programming language increase its usefulness. However, these characteristics present a challenge in generalizing programs for reuse, especially when concrete examples are used as one way of achieving concreteness. In this paper, we present a technique to solve this problem by...
I present a new heuristic search approach to compute approximate answers for the probability query in belief nets. This approach can compute the 'best' bounds for a query in a period of any given time (if time permitted, it will get an exact value). It inherits the essence of Symbolic...
This PNW Extension publication provides an overview of various types of powderpost beetles, the symptoms associated with their damage, as well as tips for prevention and control.
Forms are the most common means of interacting with databases. Database develop1;11ent products offer differing capabilities for creating forms. We will compare the form design features available using 4th Dimension and Oracle database products. These two products have the most complete set of features compared to other micro computer database...
This volume contains the papers accepted for the informal workshop on Knowledge Compilation and Speedup Learning held along with the Machine Learning Conference in Aberdeen Scotland. This workshop is a sequel to the first Knowledge Compilation workshop, which was organized by Jim Bennett, Tom Dieterich, and Jack Mostow in Otter...
Until now, most hypertext systems have been implemented on large scale computers. With improvements in microprocessors and development of graphical user interfaces, personal computers can run systems that previously needed the power of a mainframe. The low costs and widespread use of PCs will enable many people to use hypertext...
This report addresses the design and implementation of an internet-based grading tool for the "Translators" course. The motivation is to avoid exposing the instructor's Java byte-code to possible reverse-engineering tools and enable students to submit their homework virtually from any machine across the internet. This tool is intended to replace...
This document defines the language Leda as currently implemented by the authors and Vinoo Cherian. Leda is an evolving research language and readers may wish to consult the bibliography for a variety of papers concerning its raison d'être. Our purpose here is to guide investigators in the use of a...
In this project we have designed a new construction method for t error correcting constant weight codes. This method is an improvement over the existing codes in terms of information rate. The construction method is recursive as it is based on the observation that 2t error correcting code can be...
Visualizing and navigating through a plan is difficult without graphics. Two X applications, PlanView and HViews, are graphical user interfaces to an AI planner, OPIE, developed at the University of Oregon. In addition to a plan generator, OPIE includes a facility to generate operator abstractions which in turn are used...
This paper describes the results of a research project to design new graphical user interlace to an existing applications software product, using the techniques of user-centered design. The project began with a literature review to determine the currently accepted methodology in the area of user-centered design, with emphasis on the...
To be competitive in the development and production of complex electronic systems, a company must constantly scrutinize its manufacturing processes to find ways to reduce costs and increase productivity. One of the more costly problems is the inability to troubleshoot and repair faulty circuit boards on the spot. Rather, they...
Preparing code for parallelization is one of the most time consuming programming tasks; approximately 24% of the program development activity is spend in this phase. In message passing systems, this is usually achieved by the addition of run-time message-passing library calls. The primitives provided by different message-passing libraries are similar,...
One of the main problems in debugging parallel programs is in determining how far a parallel program has executed when it crashes or stops. Even if the program dumps core files for all the parallel processes, the information is at such a low level that it is difficult to interpret...
Development of graphical user interface (GUI) applications is difficult since the process can be both complicated and tedious. We propose a solution directed at reducing programming time and effort required to build a GUI application. Our solution is based on the Petri Network, the Oregon SpeedCode Universe (OSU) Application Framework,...
Two types of parallel computers commonly used or solving large scientific problems are clusters of workstations and distributed-memory multicomputers. Each system has strengths and weaknesses for this task. Workstation clusters have a high performance to cost ratio and the advantage of the latest processors. Workstations are commonly under-utilized and can...
The processor allocation in an n-dimensional hypercube multiprocessor using buddy strategy, gray code strategy, and a new strategy is implemented on Macintosh. Our implementations show that when processor relinquishment is not considered (i.e. static allocation), all these strategies are optimal in the sense that each incoming request sequence is always...
Objex is an object-oriented framework for producing C++ applications through specialization of a class library and interaction model. The problem addressed in this report is that of automatically producing C++ source code from Petri Network design descriptions of applications constructed from Objex components.
The approach is to add a code...
This study describes the software metrics analysis of IO releases of an embedded real-time telephone switching system developed by a German telecommunications firm. The micro-controlled application was written in a C-like macro assembly language. We developed a metrics program that computes the standard complexity metrics plus a number of information...
Graphical user interface (GUI) applications based on object-oriented design are difficult to build without a supportive tool to graphically visualize the structure of the entire application. As an application becomes larger and more complex, it becomes harder to visualize its class hierarchy. Several systems, such as Smalltalk, MacApp, THINK C...
The goal of this project is to develop and implement an application which will facilitate the management and testing of computer communication networks. Such an application is commonly known as a network monitor or a network packet sniffer. In addition to the main goal of developing an application, there are...
This text was written for the purpose of explaining the use of the engineer's transit, theodolite, engineer's level and plane table in the solution of fundamental problems related to Forest Engineering. While the use of the infrared and electronic distance measuring instruments do have a place in Forest Engineering, they...
To ease the process of building GUI applications, we constructed an object-oriented application framework called Objex which defines much of an application's standard user interface and operating behavior. By incorporating the MVC (Model-ViewController) interaction model in the framework, design as well as code is reused by all applications derived from...
Most designers of object-based languages adopt a reference model of variables without explicit justification, despite its wide ranging consequences. This paper argues that the traditional container model of variables is more efficient than the reference model, nearly as flexible, and more appropriate to parallel and distributed systems. The topics addressed...
A multiparadigm language is one which combines features of different language paradigms. Leda is a strongly typed, compiled, multi.paradigm language with facilities for imperative, functional, object oriented and relational programming. This report describes the type checker of the Leda compiler and the implementation of first class functions required for functional...
The curriculum of technical degrees at higher education institutions in the United States needs to continuously adapt to ever changing technologies. One way to accomplish this is to adopt a more dynamic approach that separates the practical and theoretical components of the university education, and where the student concentrates on...
One of the tasks of image processing systems is to characterize images by thinning, or skeletonizing techniques. The standard method, based on a disk growing technique, often results in disconnected skeletons. Since the standard technique is based on a square grid system, the disk shape is also square. The. purpose...
When changes are made to programs - to enhance their functionality, to improve performance, to migrate from one language or machine to another, or to convert a serial program to parallel form - there is no easy way to verify that the changes maintain program correctness. Checking the final result...
A weakness of many interactive visual programming languages (VPLs) is their static representations. Lack of an adequate static representation places a heavy cognitive burden on a VPL's programmers, because they must remember potentially long dynamic sequences of screen displays in order to understand a previously-written program. However, although this problem...
We developed a scientific information management system to facilitate remote access and analysis of earth and space science data, using the Component Model of software development provided by the Java language. The data sets are part of the Earth Observing. System project, being carried out at the College of Oceanic...
The Java programming language is a recent entry in the family of object-oriented languages and like all new languages has yet to achieve widespread standardization of coding styles for the unique aspects it possesses. This paper and project address this issue by presenting a complete and rationalized style guide for...
Dataparallel C is a SIMD extension to the standard C programming language. It is derived from the original C* language developed by Thinking Machines Corporation.. We have nearly completed a third-generation Dataparallel C compiler, which transforms Dataparallel C programs into SPMD-style C code suitable for compilation and execution on NCUBE...
Large integer factorization exemplifies a class of hard computational problems requiring the power of a supercomputer but which have algorithms decomposable into many large independent computations. The availability of internetworking provides the opportunity to solve such problems in distributed fashion on ordinary machines. Such a distributed network might contain a...
It often makes sense to write a program in the SIMD style, even if the program is to execute on a MIMD computer. Simulating physical events, in which all motion takes place simultaneously, is one area in which SIMD languages fit the applications particularly well. In this paper we present...
The Parallel Programming Support Environment (PPSE) is an experimental integrated set of tools for the design and construction of large software systems to run on parallel computers. The tools include a graphical de.sign editor, a graphical target machine description system, a task mapper/scheduler tool, parallel code generator, and graphical aids...
Parallel software development requires the flexibility to describe algorithms regardless of hardware specification, the ability to accommodate existing applications. and maintainability throughout the software life cycle. We propose the following model to address these issues. Our model incorporates aspects of the object-oriented and large grain data flow programming paradigms, and...
We are convinced that the combination of data-parallel languages and MIMD hardware can make an important contribution to high speed computing. The data-parallel paradigm is a natural way to solve a large number of problems arising in science and engineering. Data-parallel programs are easier to design, implement, and debug than...
We describe our third generation C* compiler for a hypercube multicomputer. This production quality compiler features a full implementation of the language, including general pointer-based communication and support for separate compilation. The compiler incorporates new optimizations and utilizes an improved set of communication primitives. It supports a variety of standard...
The coverage of a learning algorithm is the number of concepts that can be learned by that algorithm from samples of a given size. This paper asks whether good learning algorithms can be designed by maximizing their coverage. The paper extends a previous upper bound on the coverage of any...
This paper applies learning techniques to make engineering optimization more efficient and reliable. When the function to be optimized is highly non-linear, the search space generally forms several disjoint convex regions . Unless gradient-descent search is begun in the right region, the solution found will be suboptimal. This paper formalizes...
High level data-parallel languages are easy to use and shield the programmer from machine specific details. A simple and efficient way of providing an interface to such languages is to develop a machine-independent compiler and a routing library, which isolates the low-level machine dependent communication functions, The compiler translates the...
The secondary structure of a 16S rRNA molecule is a graphical, two dimensional representation used by molecular biologists in determining evolutionary relationships between different organisms. By comparing two secondary structures, scientists can obtain knowledge of how 'related' one species of bacteria may be to another species [OLSE 1986]. To date,...
Visual Fortran D (VFD) is a graphical tool to assist parallel programmers in specifying data distributions. Its target is Fortran D, an extension to Fortran77 or Fortran90 which supports data parallelism. VFD provides an intuitive framework where the user employs simple, fast graphical manipulations to specify how data is to...
CHARM is a parallel programming language that was originally implemented for a network of workstations each of which has only one processor. In this project, we ported CHARM for a network of workstations each of which has more than one processor (multi-computer) using multithreading to exploit the multiple processors.
Network...
Applications supporting a graphical user interface (GUI) are difficult to write. While existing tools can accelerate software development, they suffer from a number of problems that limit their helpfulness. They offer too little functionality, and support only a small part of the GUI software development task. They lack architectural models...
We describe a set of data flow techniques and code transformations that translate a single instruction stream, multiple data stream (SIMD) Dataparallel C program into a semantically equivalent single program, multiple data stream (SPMD) C program suitable for execution on shared memory multiprocessor computers, such as the Sequent Balance and...
Scheduling problem has both theoretical and practical interest. A great deal of research has been done in this field. In this paper we will use a local optimal search method to do job shop scheduling. This method will be compared with a constraint satisfaction method called Micro-boss. Other issues such...
Dataparallel C is a SIMD style data-parallel programming language for MIMD computers. Dataparallel Chas been implemented on both shared memory (Sequent) and distributed memory (Intel and nCUBE) computers. Here we analyze the strengths and weaknesses of Dataparallel C by comparing the performance of compiled Dataparallel C programs with the performance...
Like other scientific fields, computer science is in great need of experimentation to support, improve, disprove and even establish theories. One area in which experimental results are highly desired involves regression testing, which is performed on modified software to provide confidence that the software behaves correctly and that modifications have...
The majority of database users interact with database systems by manipulating forms. This paper discusses the fundamental mechanisms underlying forms and considers how these mechanisms affect the behavior of forms. We then review the forms supported by commercial products. None of the packages reviewed provide all of the features that...
Dataparallel C has been designed for various kinds of architectures and was developed jointly at University of New Hampshire and Oregon State University.
This project dealt with porting the libraries to the nCUBE 2 system and helping a user compile his programs on nCUBE 2 directly from a Sun workstation...
This paper describes HelpDez, a colored-Petri-net-based approach for the design, simulation, and construction of hypermedia help systems. The storage model, system capabilities, and user interface model of a hypermedia help system are examined. Colored Petri nets are chosen to model hypermedia help systems due to their graphical expressiveness and their...
Consider the problem of exploring a large state-space for a goal state where although many such states may exist in the state-space, finding any one state satisfying the requirements is sufficient. All the methods known until now for conducting such search in parallel using multiprocessors fail to provide consistent linear...
Heuristics for static scheduling of task graphs using list scheduling techniques have continued to improve by adding real-world factors such as processor speed, network transmission speed, interconnection topology, and link contention considerations to the basic task graph model. Yet, the resulting schedules do not fully model program loops and branches,...
This paper describes an analysis tool that extracts complexity metrics from Program Design Language (PDL) as contained in design specification documents. The tool analyzes pseudocode and computes token-count metrics of PDL complexity on a module by module basis. We used the tool to measure consistency within and across modules and...
A modern computerized manufacturing control system must manage production data, coordinate control actions, and provide user-friendly interfaces. An actionbase management system (ABMS) is a general software system that facilitates implementations of actionbase systems that provide these capabilities for different applications. Besides an ordinary data management facility, our ABMS includes action...
Leda is a newly evolving, strongly typed, compiled multi-paradigm programming language. This paper describes the integration of one of its supported paradigms, the logical (or relational) paradigm, into the language and the current implementation. It also describes implementational aspects of enumerated types and gives a variety of example programs that...
Leda is a strongly typed, compiled, multiparadigm programming language. This paper describes various implementation concerns which arose from the experience of writing a Leda compiler as part of the Leda research team. These include aspects of run-time representation, symbol-table information, and code generation. The paper concentrates on objects and classes....
As UNIX operating system's popularity increases, so arises the greater need for performance data gathering and resources management of the systems. Contrary to the expectation of UNIX users, however, there is only a limited set of tools available, and these tools are difficult to correlate data from different sources and...