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...
A video server is the multimedia equivalent of a data file server. As video goes digital video servers that support digital media are required for production and broadcasting in television companies. Grass Valley Group provides comprehensive digital video solutions through a range of video servers called Profiles.
The Profile Media...
Monitoring the performance of electrical utility assets is a critical activity for power companies. Gas chromatography has long been established as the analytical technique of choice for assessment of transformer fault conditions by detection of the presence of key fault gases through analysis of transformer oil. Chromatography is one of...
Wireless Application Protocol (WAP) is an industry standard aimed to bring the web to handheld devices. The handheld devices are constrained by battery life and it becomes important that power is conserved across web transactions. The power consumed by the handheld device is directly proportional to the time taken for...
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...
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...
In order to aid comparison of estimates of genetic parameters between dominant and codominant makers for population genetics society, we developed a genetic dominance simulation program to determine how the dominance and biallelism could affect the estimation of population genetic statistics. The simulation indicates that genetic diversities within populations based...
The Component Object Model (COM) defines a completely standardized mechanism for creating objects and for clients and objects to communicate. Unlike traditional object-oriented programming environments, these mechanisms are independent of the applications that use object services and of programming languages used to create the objects. In the present work, a...
The goal of this project was to investigate the addition of parameterized types to the Java programming language. Two different parametric polymorphism mechanisms were developed and compared. The first was a preprocessor and the second was a compiler.
Parameterized types allow a programmer to create generic programs. Much as a...
A programming paradigm can be defined as a model or an approach employed in solving a problem. The results of the research described in this document demonstrate that it is possible to unite several different programming paradigms into a single linguistic framework. The imperative, procedural, applicative, lambda-free, relational, logic and...
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 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...
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...
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...
A financial processor is the most important component of a credit union‘s IT infrastructure. A database storing member demographic information, account balances, and transaction history, it performs financial calculations, such as interest, dividends, and maturities. It also provides a user interface, allowing tellers and financial service representatives to manage accounts...
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...
This is an attempt to increase the power of a spreadsheet and try to use the spreadsheet as a powerful programming tool. The basic idea is to treat each cell of the spreadsheet as an object. The cell (Object) could be programmed, that is, the attributes and the functionality of...
This paper describes the design and performance of a distributed, multi-tier architecture for scientific information management and data exploration. A novel aspect of this framework is its integration of Java IDL, the CORBA distributed object computing middleware with JavaBeans, the Java Component model to provide a flexible, interactive framework for...
Remote Event Listener(REL) is designed to glue remote events and remote listeners dynamically, and dispatch remote events efficiently and transparently
for distributed object-oriented systems. Components can be independently developed and remotely interconnected with REL, and software reusability can
be improved. Remote Event Listener along with Remote Method Invocation
makes distributed...
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...
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...
MIDAS is an application framework developed at College of Oceanic and Atmospheric
Science for interactive remote data acquisition and visualization. The objective is to provide
dynamic reconfiguration of the sensing process. The current MIDAS application framework
utilizes the code mobility and portability of Java 2 platform. The Jini technology for...
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...
DiskGrapher is a graphical visualization tool designed to help users better manage the
space on their hard drives. The main goal of DiskGrapher is to provide a different
visualization technique to display information, with the goal of providing a more intuitive
understanding of the directory structure of the disk than...
A basic tradeoff to consider when designing a distributed data-mining framework is the need for a compromise between the cost of communication and computation resources and the accuracy of the mining results. This is essentially a decision of whether it is more efficient to communicate all of the data to...
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...
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 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 project aims at building a Java application and a Java applet that would simulate a Stern-Gerlach laboratory in Quantum Mechanics. The project provides a tool for allowing the student to quickly design and run on the computer screen a number of experiments involving spin systems. This application could be...
'Search engine for a book library section' was developed for the Philosophy department. This Search Engine is a user interface application used for the purpose of searching for words or phrases as the need may be from a directory of books in a section of the Philosophy department library. The...
The goal of this project is to design and implement an information system for self-service chemistry stockroom at Oregon State University. The system will have the following major functionalities: (1) Recording inventory purchases and sales; (2) Customer account administration and periodic billing of customers; (3) Inventory monitoring; ( 4) Allowing...
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...
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...
The project aims at building an application that would simulate a transparency that can either be overlaid on top of the graphical display of another application or used as a stand-alone by accepting input from a keyboard or a mouse to enhance a presentation. The project provides an environment to...
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 project we have implemented an Object-Oriented simulation model of a Digital Switching System. We analyzed various software components of a Digital Switching System. The call processing module is the principal component and the most complex of all. The features of Object-Oriented principles were investigated and found to fit...
We present a model for a distributed virtual market place that can be constructed on the Internet to support selling and buying requests, such as those found as classified advertisements. One requirement for a transaction to take place in the virtual market place is that a sell request and a...
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...
Understanding of techniques that can be used to develop software for various parallel machines has not fully matched the dramatic progress in hardware in recent years. Most parallel programming techniques have been closely tied to specific hardware. Different machines have different primitives and architectures. Programming and porting an application with...
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,...
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...
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...
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...
A new technique of implementing the object-oriented language Little Smalltalk is developed using tuple space communication of Linda. In this implementation, the language's abstract constructs such as object, class, and method are naturally mapped into tuple space. Since Linda's tuple space is designed to facilitate parallel processing, this implementation technique...
Proxy Pipe is designed to be a bus in the transport layer of the communication between the two different processes. Its major function is to transfer bytes. When the client process tries to send a command to the server process, it will talk to a proxy as if it were...
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...