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 networked control systems (NCS) information or packets usually flow from a
sensor or a set of sensors to a remotely located controller. Then the controller
processes the received information and sends a series of control commands to the
actuators through a communication network which could be either wireless or...
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...
General purpose computer systems have seen increased performance potential through the parallel processing capabilities of multicore processors. Yet this potential performance can only be attained through parallel applications, thus forcing software developers to rethink how everyday applications are designed. The most readily form of Thread Level Parallelism (TLP) within any...
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...
MANETs are known to be useful in situations where mobile nodes need to communicate and coordinate in dynamic environments with no access to fixed network infrastructure. However, connectivity problems can occur when sub-groups within a MANET move out of communication range from one another. The increasingly prolific use of UAVs...
This thesis deals with target localization using multiple-input multiple-output (MIMO) radars. In the field of communications, navigation, radar, and sensing networks, one of the common and most sophisticated problems is target localization. We develop a target localization scheme in distributed MIMO radar systems using bistatic range measurements. The localization approach...
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...
Network coding, as the next generation of data routing protocols, enables each intermediate node in a network to process and encode its received data before forwarding it to the next nodes. Hence, the core idea in network coding is to allow a network to encode the data that is being...
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...
Many systematic methods exist for mapping algorithms to processor arrays. The algorithm is usually specified as a set of recurrence equations, and the processor arrays are synthesized by finding timing and allocation functions which transform index points in the recurrences into points in a space-time domain. The problem of scheduling...
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,...
We investigate a number of techniques for increasing throughput and quality of media applications over wireless networks. A typical media communication application such as video streaming imposes strict requirements on the delay and throughout of its packets, which unfortunately, cannot be guaranteed by the underlying wireless network due inherently to...
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...
This thesis work evaluates the need for a re-configurable cross compiler for the X32V processor architecture and discusses the process of developing a cross compiler for X32V. X32V is a new processor intended at the embedded applications domain whose instruction set is designed based on the widely used MIPS processor....
Recent advances in computing, communication, and artificial intelligence (AI) technologies have made our world more interconnected and data-rich than ever with the proliferation of smart devices and sensors. As a result, we are increasingly dependent on electronic devices and sensors to automate away life’s mundane parts. For example, in business...
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....
The Advanced Encryption Standard (AES) is the new standard for cryptography and has gained wide support as a means to secure digital data. Hence, it is beneficial to develop an implementation of AES that has a high throughput. SIMD technology is very effective in increasing the performance of some cryptographic...
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...
There are generally two types of multiview video:(1) 3D Multiview Video (“3D MVV” also called “2D plus delta” or “stereo” multi-view video): 3D MVV is widely deployed in cinemas and in the TV industry. 3D MVV typically entails capturing video of an object using two cameras with differing view angles...
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...
IO transactions within a computer system have evolved along with other system components (i.e., CPU, memory, video) from programmed IO (PIO). In current mainstream systems (spanning from HPC to mobile) the IO transactions are CPU-centric descriptor-based DMA transactions. The key benefit is that slower IO devices can DMA write system...
In this work, we study network coding technique, its relation to random matrices, and their applications to communication systems. The dissertation consists of three main contributions. First, we propose efficient algorithms for data synchronization via a broadcast channel using random network coding. Second, we study the resiliency of network coding...
Transmission over wireless networks presents multiple technical challenges due to
noise, interference, fading, power constraints and bandwidth limitation. Different
solutions have been propposed to overcome these issues and some of them are
treated here. Cooperative diversity has been proposed as an implementation for
networks where terminals are restricted to using...
Routerless networks on chip (NoCs) were recently introduced as an alternative to traditional mesh-based scalable networks, promising improved performance and scalability with a large decrease in power and area usage by the elimination of routing on in-flight packets. Without mitigation, most network designs, including routerless, are susceptible to loss of...
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...
As the price of broadband access service becomes more affordable, the number of homes with WiFi and public WiFi hotspots in the US are projected to increase significantly in the next few years. However, limited capacity of existing WiFi networks fail to provide adequate bandwidth for densely populated areas. Therefore,...
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...
It has been estimated that data traffic from the different mobile devices that range from smartphones to machine-to-machine (M2M) devices will exceed 15.9 exabyte per month by the year 2018. With this immense data growth, the current wireless communication systems suffer from the scarcity of the radio spectrum and eventually...
Dynamic CMOS circuits are commonly used in high-performance memory arrays to implement wide-NOR logic functions for their read and search operations. This is because dynamic circuits have significantly higher speed and lower area compared to static circuits for performing similar operations. Register File (RF) arrays are located at the top...
Low-Density Parity-check (LDPC) codes have attracted considerable attention due to their capacity approaching performance over AWGN channel and highly parallelizable decoding schemes. They have been considered in a variety of industry standards for the next generation communication systems. In general, LDPC codes achieve outstanding performance with large codeword lengths (e.g.,...
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...