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...
The use of mobile devices is increasing and these devices run on batteries. Therefore, it becomes important to save power in these devices. To do so, we need to have a mechanism that estimates the power consumption in transmission as well as power used by the CPU while processing a...
Visual programming languages employ visual representation to make programming easier and make programs more reliable and more accessible. Visual program testing becomes increasingly important as more and more visual programming languages and visual programming environments come into real use. In this work, we focus on one important class of visual...
The term object-oriented is defined. This definition is then related to message-passing, inheritance, polymorphism, data abstraction, generics, and overloading.
Pattern matching is the process of comparing two objects to see if they are similar to each other. Objects can be physical objects, situations, facts or events. The criteria of matching can be exact or partial. Traditional pattern matching systems rely on exact matches, in which a small set of...
Web-Site Generator 3 (WebSiteGen3) is a rapid application development (RAD) tool that generates ASP.NET forms to insert, query, update and delete data stored in the user tables in a SQL Server 2000 database. WebSiteGen3 uses a graphical user interface to show the user tables in a hierarchical tree based on...
In this project we implemented WebSiteGen2, which is a software tool that automatically generates HTML pages and server-side scripts for a Web-based database application. A user of WebSiteGen2 can select the tables and columns for which HTML pages and server-side scripts are generated. The menus for this selection process are...
Revised Universal Soil Loss Equation (RUSLE) is a standard for estimating soil loss caused by rainfall and overland flow. The current software tool that implements this standard is RUSLE 1.06b, which is a stand-alone DOS application. In this project, we converted the DOS application to a Web application, which we...
We have developed a framework for Web-based GIS/database applications which allow users to insert, update, delete, and query data with a map interface displayed by Web browsers. The framework was designed so that a Web-based GIS application that uses ArcIMS as a map server can be easily created, customized, and...
WEPP (Water Erosion Prediction Project) is a stand-alone Windows application for predicting water erosion from overland flow on a hillslope. This application was developed by the National Soil Erosion Research Laboratory (NSERL). To make the WEPP application more accessible and easy to use, we created a web version of WEPP,...
Web-based Pesticide Screening Tool (Web-PST) is a web-based software application for evaluating the potential risk of pesticides on the surrounding environment. It uses the formulas and standards specified by the Soil/Pesticide Interaction Screening Procedure Version II (SPISP II). Web-PST closely models the stand-alone Windows application Windows Pesticide Screening Tool (WIN-PST)....
We have developed a web-based software tool for evaluating the potential risk of pesticides on the surrounding environment. The software tool is called Web-based Pesticide Screening Tool (Web-PST). It uses the formulas and standards specified by the Soil/Pesticide Interaction Screening Procedure Version II (SPISP II). Web-PST closely models the stand-alone...
We developed a Web-based GIS/database application designed to help motel businesses reach target customers effectively. By using an interactive map along with a relational database, users can view any particular area of the map and perform some basic operations as their groups privileges permit. With different types of privileges, users...
With the rapid development of Internet technology and popularity of Web solutions, the Internet has become a major means for collecting information. The Weatherlnfo system is conceived and developed to provide weather data for end users in tabular and graphic formats over the Internet. In order to make data retrieval...
Algorithms and MP1 parallel C programs are developed for constructing wavelet expansions of long-range potential functions with O(n) time complexity. A new high frequency correction algorithm is introduced. The emphasis is on the common potential expansion encountered in physics that behaves as l/r in three-dimensions. The central B-Splines are used...
A software system to study network algorithms was implemented on UNIX. Each part of a network algorithm can be 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/44. Inter-node communication...
A cluster of computers can be used to render large amounts of data at very high resolutions. One application of clusters is scientific visualization, which often involves the display of large data sets. This paper describes a prototype system that allows oceanographers to interactively view oceanographic data using a cluster...
Biologists need tools to see the structural relationships encoded in biological sequences (strings). The Walking Tree heuristics calculate some of these relationships. I have designed and implemented graphic presentations which allow the biologist (user) to see these relations. This thesis contains background information on the biological sequences and some background...
Structure Query Language (SQL) is widely used to access data stored in relational database systems. Although a powerful and flexible language, SQL can also be complex and hard to learn. For most new SQL users, it's easy to write SQL statement by following SQL grammar and syntax rules, but it's...
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...
In this dissertation we consider the problem of
automating the design of access structures for relational
database systems. The main considerations are effective
and rigorous utilization of the users' usage patterns,
global treatment of the whole design and utilizing most of
the commonly known access structures.
We represent the usage...
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...
In recent papers on machine learning, the term 'operationalization' has been used to describe the purpose of the learning process. In particular, explanation-based learning systems are said to 'operationalize' the given target concept. Unfortunately, the exact meaning of this term has varied from one paper to another, and frequently the...
Summary of results. After implementing the plain ID3 algorithm, I experimented with
various modifi cations. Two improvements of the process of finding a legal phoneme/stress
could be made by using statistical information about the letter to phoneme/stress-mapping
in the training set.
Adding the CHI-SQUARE test to the ID3 algorithm was...
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...
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...
Guidelines for using style to improve computer program comprehension
have often been proposed without empirical testing. This thesis reports on the
results of three controlled experiments that investigated ways program style may be
used to aid comprehension of source code listings.
Experiments 1 and 2 were conducted using advanced computer...
It is suggested that the best way to learn about a Macintosh application is to play around with it. We agree with this philosophy and believe that most of the features in the Parallel Programming Support Environment (or PPSE) are easy enough to learn without referring to this manual. Most...
An active-object user interface system (AOUIS) is a user interface system implemented as an active object system (AOS). An AOS is a transition-based object-oriented system suitable for the design of various concurrent systems. In an AOUIS, user interface objects, which are sometimes called "widgets", are represented as active user interface...
Forms are an easy-to-use interface to access a database, including a remote database on the Internet. An entity-relationship (ER} diagram, which is a pictorial representation of a database schema, is widely used in designing a database. A class diagram, which shows set of classes, relationships among them, and associations, are...
An extensive theory of symmetric error control coding has been developed in the last few decades. The recently developed VLSI circuits, ROM, and RAM memories have given an impetus to the extension of error control coding to include asymmetric and unidirectional types of error control. The maximal numbers of unidirectional...
Error-correcting output coding (ECOC) is a method for converting a k-classsupervised learning problem into a large number L of two-class supervised learningproblems and then combining the results of these L evaluations. Previous researchhas shown that ECOC can dramatically improve the classi cation accuracy of supervisedlearning algorithms that learn to classify...
There is disagreement about the role and importance of typographic style (source code formatting and commenting) in program comprehension. Results from experiments and opinions in programming style books are mixed.
This paper presents principles of typographic style consistent and compatible with the results of program comprehension studies. It introduces the...
Three different approaches to type checking have been taken in object-oriented programming languages. Smalltalk-80 uses run-time type checking. C++ uses subtypes. A third alternative is to use parameterized types. We examine the difficulties of programming in an object-oriented fashion with compile-time type checking and argue that parameterized types are better...
A method for implementing parameterized types is given. Two simplifying restrictions are assumed: types are only parameterized with other types, and assignment is like that of SNOBOL, CLU, and Smalltalk. An algorithm for type checking that handles parameterized types and overloading is presented .
This technical report reprints two articles that appeared in Proceedings of the Third International Machine Learning Workshop at Skytop, Pennsylvania, June 24-26, 1985. The first paper, The EG Project: Recent Progress, summarizes work on the EG project, which is investigating the role of active experimentation in aiding machine learning programs....
Local stability seems to imply global stability for population models. To investigate this claim, we formally define a population model. This definition seems to include the one-dimensional discrete models now in use. We derive a necessary and sufficient condition for the global stability of our defined class of models. We...
A concurrency and resiliency control scheme for a distributed database system with replicated data is discussed. The scheme, true-copy token scheme, uses true-copy tokens in order to designate the physical data copies (true copies) that can be identified with the current logical data that are globally unique, and then it...
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...
In this report., we address the issues of translating MATLAB scripts into SPMD-style C programs. The resulting programs, when linked with our run-time library are suitable for execution on parallel computers. We describe the design of the compiler and improvements made to it in the current version. We also describe...
The project herein described, presents the results of an investigation
in the relatively new and expanding field of computer stimulated
learning machines for use in pattern recognition.
A learning machine, one that benefits from its past experience
was devised in computer program form. It may be described as a
Piecewise-Linear,...
There is a software gap in parallel processing. The short lifespan and small installation base of parallel architectures have made it economically infeasible to develop platform-specific parallel programming environments that deliver performance and programmability. One obvious solution is to build architecture-independent programming environments. But the architecture independence usually comes at...
The paper describes research on the representation of knowledge. The goal is to develop a formalism which can be used for the testing of hypotheses on the nature of human understanding and as a foundation or artificial intelligence programs. The ideas expressed herein are implemented in a program which converses...
A tour of a graph (digraph, or sequential machine) is a sequence of nodes from the graph such that each node appears at least once and two nodes are adjacent in the sequence only if they are adjacent in the graph. Finding the shortest tour. of a graph is known...
Due to the rapid growth of wireless technology, there has been a growing interest in the capabilities of ad hoc networks connecting mobile phones, PDAs and laptop computers. The distributed and self-configurable capabilities of ad hoc networks make them very attractive for some applications such as tactical communication for military,...