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...
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...
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...
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...
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...
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...
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...
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...