The WEPP (Water Erosion Prediction Project) application computes soil loss and sediment yield from a field based on the data on crops, management practices, and operations. In order to make WEPP, which is a Windows-based application, easily accessible, Web WEPP (Web-based WEPP) was developed by our research group.
Web WEPP...
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...
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...
High Performance Computing can find ubiquitous applications in the industry. HPC-applications are specifically designed to take advantage of the parallel nature of the computing systems which is often enabled by Multi-core/Many-core architectures. With this advent of Multi-processors in the mainstream systems, inter-core communication has been one of the major challenges...
Events are an important concept in the Microsoft windows operating system. When a
program runs interactively, it uses a user interface or a console to communicate with the
user. Background services, however, do not have such mechanisms; instead, they use
events to notify the user about changes and to report...
Parallel programming is the major stumbling block preventing the parallel processing industry from quickly satisfying the demand for parallel computer software. This research is aimed at solving some of the problems of software development for parallel computers. ELGDF is a graphical language for designing parallel programs. The goal of ELGDF...
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...
I introduce a compositional approach to application software development. In this approach, an extended entity-relationship diagram (EERD), which represents the component types and the relationship types within an application domain, is used as a template of executable programs in that application domain. As we use structural active objects as the...
Data structures are essential for any programming task. Most of modem programming languages have a library of reusable data structures. In this project, Smalltalk-like collection classes have been implemented as a Java package. This package, collections, contains several useful data structures such as binary tree, B-Tree, bag, list, hash table...
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 project aims to study the performance of Secure Sockets Layer (SSL) Protocol implemented in JAVA for web applications. Secure Sockets Layer protocol allows client/server applications to communicate in a way that is designed to prevent eavesdropping, tampering, or message forgery. In particular, this project focuses on an implementation of...
CoprHD is an open source software defined storage controller platform. It holds an inventory of all storage devices in the data center and understands their connectivity. It is an operating system for a storage cloud. It is designed with two key goals in mind:
• Make an enterprise or a...
We have developed a prototype web-based GIS application for tracking the locations of moving entities. This application, which is called the Responder application, consists of two parts: the Responder client and the Responder server. The Responder client is a .NET application written in C#. It reads the location data from...
Efficient routing of information packets in dynamically changing communication networks requires routing policies that adapt to changes in load levels, traffic patterns and network topologies. Reinforcement Learning (RL) is an area of artificial intelligence that studies algorithms that dynamically optimize their performance based on experience in an environment. RL, thus,...
In this project we examine the features of object oriented programming languages that make them most likely languages of choice for implementing simulations. Three simulations of a bank, hospital, and livestock farm scenarios were implemented in the language C++ in order to demonstrate how Object-Oriented languages are used in constructing...
Parallel solutions for two classes of linear programs are
presented. First we parallelized the two-phase revised simplex
algorithm and showed that it is possible to get linear improvement in
performance. The simplex algorithm is the best known algorithm for
solving linear programs, and we claim our result is the best...
The major obstacle to widespread parallel programming of multiprocessors is the lack of a convenient parallel programming system. PPSE (Parallel Programming Support Environment) is a unified approach to parallel programming. Parallax is developed as a component of PPSE based on ELGDF which is a graphical language for designing parallel programs....
As the number of nodes in high-performance computing (HPC) systems continues to grow, it becomes increasingly important to design scalable interconnection network topologies. Prior work has shown promise in adding random shortcuts on top of an existing topology to reduce average hop count and network diameter, but has been limited...
A distributed system is a network of multiple autonomous computational nodes designed primarily for performance scalability and robustness. The performance of a distributed system depends critically on how tasks and resources are distributed among the nodes. Thus, a main thrust in distributed system research is to design schemes for distributing...
Linear transformation for dimension reduction is a well established problem in the field of machine learning. Due to the numerous observability of parameters and data, processing of the data in its raw form is computationally complex and difficult to visualize. Dimension reduction by means of feature extraction offers a strong...
The increasing need to share and synchronize personal information, such as schedules, tasks and events, amongst users has lead to the development of inter-personal information management software like ChandlerTM. Chandler is being developed in Python at the Open Source Applications Foundation, San Francisco. Before I started working on the project...
Packet loss, delay and time-varying bandwidth are three main problems facing multimedia streaming applications over the Internet. Existing techniques such as Media-aware network protocol, network adaptive source and channel coding, etc. have been proposed to either overcome or alleviate these drawbacks of the Internet. But these techniques either need specialized...
Component based software technologies are viewed as essential for creating the software systems of the future. However, the use of externally provided component has serious drawbacks for a wide range of software engineering activities often because of a lack of information about the components. One such drawback involves validation of...
Network flows in Real-Time (RT) systems need to meet stringent end-to-end deadlines in order for such systems to operate safely and reliably. Today, such systems use custom or domain specific network system designs to meet end-to-end deadlines and other constraints of real-time flows. In this work we explore the design...
Worst-case analysis is often meaningless in practice. Some problems never reach the anticipated worst-case complexity. Other solutions get bogged down with impractical constants during implementation, despite having favorable asymptotic running times. In this thesis, we investigate these contrasts in the context of finding maximum flows in planar digraphs. We suggest...
Little Smalltalk is a small, reasonably fast, easy-to-understand, easy-to-modify Smalltalk system. The system was originally developed in 1984 as a part of an implementation project to develop a minimal Smalltalk system, closely resembling Smalltalk-80. The system was developed in C. The current project is an experiment to port the Little...
In this paper we outline an implementation of Linda on a network of Unix workstations. A literature survey was done to gain a better perspective on state of the art and to learn from the experiences of other implementations. The tuple space which is central to the Linda system is...
Artificial Intelligence (AI) planning techniques have been central to automating a gamut of tasks from the mundane route planning and beer production to the ethereal image processing of space-ship images. Of all the planning techniques, hierarchical- decomposition planning has been the technique most employed in industrial-strength planners. Hierarchical-decomposition planning is...
In its simplest form, the process of diagnosis is a decision-making process in which the diagnostician performs a sequence of tests culminating in a diagnostic decision. For example, a physician might perform a series of simple measurements (body tem- perature, weight, etc.) and laboratory measurements (white blood count, CT scan,...
Multiparadigm programming languages are a recent development in the realm of programming languages. A multiparadigm programming language allows the use of multiple, differing programming paradigms without departing from a single, unified linguistic framework. Multiparadigm programming languages are claimed to have benefits to both pedagogy and complex application creation. The beneficial...
In this report we present Java/MP, a multiparadigm language designed as an extension to Java. Java/MP is an
upward compatible superset of Java and incorporates the object oriented, functional and logical paradigms.
Java/MP programs are compatible with the standard Java virtual machine. Many of the ideas in Java/MP have
been...
This paper discusses Java Bytecode Obfuscation techniques that make the reverse engineering task more difficult. This paper is structured as follows: Java virtual machine and Java language specifications are discussed first. Then the paper talks about different techniques for protecting software and then details one promising approach named Obfuscation. The...
Tree-like patterns are ubiquitous in nature. Botanical trees, river networks, and blood systems are the most well-known examples of complex hierarchical systems met in observations. Interestingly, many of such systems exhibit statistical self-similarity. There are two main types of self-similarity: Horton self-similarity and Tokunaga self-similarity. Although there is an increased...
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...
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...
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...
This paper provides a measurement-based performance evaluation of the Optimized Link State Routing (OLSR) protocol. Two versions of OLSR, OLSR-ETX and OLSR-ETT, are implemented and evaluated on a mesh network that we built from off-the-shelf commercial components. OLSR-ETX uses the Expected Transmission Count (ETX) metric whereas, OLSR-ETT uses the Expected...
Current math software provides limited interactivity and dynamics when conveying math
ideas. We are developing prototype Java toolkits to display math-embedded documents
in a more dynamic and interactive way. The core task of current project is to create a
Java implementation of a MathML (in which a math expression is...
Hardwood lumber is a major forest product, and board grading is an important part of its manufacturing and marketing. Computer grading programs have been used to train graders and to grade lumber for board data banks, but they have not been used to machine-grade boards in an industrial environment because...
Researchers/engineers in the field of software testing have valued coverage as a testing metric for decades now. There have been various empirical results that have shown that as coverage increases the ability of the test program to detect a fault also increases. As a result numerous coverage techniques have been...
Multiparadigm languages are languages that are designed to support more than one style of programming. Leda is a strongly-typed multiparadigm programming language that supports imperative, functional, object-oriented, and logic programming. The constraint programming paradigm is a declarative style of programming where the programmer is able to state relationships among some...
The communication in MLS cross-domain environments faces many challenges. The three most important challenges are efficient key management, privacy preserving and covert channel. We propose an Efficient, Secure and Covert Channel Capacity Bounded Protocol which has three algorithms that addresses these challenges: The Efficient Attribute-based Fine-Grained Authentication (EAFA) algorithm, Anonymous...
Popular applications such as P2P file sharing, multiplayer gaming, videoconferencing, etc. rely on the efficiency of content distribution from a single source to multiple receivers. Most users of these applications are on the widely prevalent source constraint networks such as the Digital Subscriber Line (DSL) and wireless networks. Overlay multicast...
Accessing information on the Web has become ingrained into our daily lives, and we seek information from many different sources, including conference and journal publications, personal web pages, and others. Increasingly, web-based information retrieval systems such as web-based search engines, library on-line catalog systems, and subscription-based federated search systems are...
The Soil Conditioning Index (SCI) aids the conservationist in designing crop rotations and residue management practices when low organic matter, poor soil tilt, and crusting problems are identified. The Natural Resources and Conservation Services (NRCS) field staff and others use the SCI as a qualitative tool during conservation planning. In...
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...
The widespread use of wireless devices that we have recently been witnessing, such as smartphones, tablets, laptops, and wirelessly accessible devices in general, is causing an unprecedented growth in the required amount of the wireless radio spectrum. On the other hand, the spectrum resource has, for the last several decades,...
Autonomous vehicles bring great societal benefits but also potential impact and disruption to road safety, traffic congestion, and driving behaviors. One important technology that is indispensable to the success of such systems is vehicular networks. Vehicular networks provide the backbone for ensuring communication and connectivity among vehicles, all crucial to...
Correctness and efficiency are important properties of programs. However, to support maintenance and debugging, the programs should also be understandable. Program explanations also play a vital role in educational settings, enhancing the understanding of programs among students.
Proof trees provide a sound basis for generating dynamic explanations of programs. But...
In wireless sensor networks (WSNs) nodes are battery powered. Therefore, the available
energy resources of sensor nodes should be managed efficiently in order to increase
the network lifetime. As a result, researchers have proposed routing schemes in order to
maximize network lifetime. Even though these schemes increase the network lifetime,...
Software Defined Storage is a term for data storage software to manage policy-based provisioning and management of heterogeneous data storage system abstracting underlying hardware. CoprHD is a software defined storage controller and API platform which enables policy-based management and cloud automation of storage resources for block, object and file storage...
We develop efficient coordination techniques that support inelastic traffic in large-scale distributed dynamic spectrum access DSA networks. By means of any learning algorithm, the proposed techniques enable DSA users to locate and exploit spectrum opportunities effectively, thereby increasing their achieved throughput (or "rewards" to be more general). Basically, learning algorithms...
The general problem of application development of interactive GUI applications has been addressed by toolkits, libraries, user interface management systems, and more recently domain-specific application frameworks. However, the most sophisticated solution offered by frameworks still lacks a number of features which are addressed by this research: 1) limited functionality --...
"Collaborative filtering has seen considerable success in the areas regarding
information overload and e-commerce, while the current developed systems are
flawed in several respects. Two approaches, the distribution-based algorithm and
the blurring profile solution, are proposed to address several outstanding issues.
The main findings of this research include:
• The...
Almost every student in the School of EECS undergoes the process of Blanket Credit
Registration wherein the student has to fill out the form for registration, meet the
concerned professor and obtain his approval. The staff of the department has to maintain
the details of the student and the Professor...
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...
The practice of literate programming is not widespread because existing literate programming systems have some undesirable characteristics such as programming language and text processor dependence and lack of flexible tools for viewing and manipulation of the source file. This dissertation describes the literate programming system AOPS (Abstraction Oriented Programming System)...
The appropriate separation of concerns is a fundamental engineering principle. A concern, for software developers, is that which must be represented by code in a program; by extension, separation of concerns is the ability to represent a single concern in a single appropriate programming language construct. Advanced separation of concerns...
An active object system is a transition-based object-oriented system suitable for the design of various concurrent systems. An AOS consists of a collection of interacting objects, where the behavior of each object is determined by the transition statements provided in the class of that object. A transition statement is a...
As XML becomes more and more popular, easy-to-use and powerful XML query languages are in great need. Xing is a visual query and restructuring language for XML documents. The objective of this project is to develop a basic version of Xing, including a user-oriented XML query interface and a simple...
Reinforcement Learning (RL) is the study of learning agents that improve
their performance from rewards and punishments. Most reinforcement learning
methods optimize the discounted total reward received by an agent, while, in many
domains, the natural criterion is to optimize the average reward per time step. In this
thesis, we...
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...