We define simple population models and give seven examples from the literature. We investigate visualization techniques for simple population models and demonstrate these techniques on the seven population models. The visualization techniques are basic curves, spiral plots, time plots, bifurcation maps, time-plus-2 curves, and B&W and color complex convergence plots....
We describe a software mechanism that simplifies the implementation of real-time distributed object-oriented applications. The distributed observable/observer mechanism extends the Observable/Observer concept of Java to a distributed environment, encapsulating the communication protocol used by networking. The mechanism supports the distributed model/view-controller (M/VC) paradigm, allowing view-controllers to be attached to remote...
Suffix trees are a well known data structure for facilitating a variety of queries on strings. Construction of the trees requires a considerable number of choices concerning the implementation. Several of those choices are examined in this paper. Performance studies are presented that reveal the consequences of these choices. The...
Structural active-object systems (SAOSs) are transition-based object-oriented systems suitable for various concurrent applications. A SAOS consists of a collection of interacting active objects that can be structurally and hierarchically composed. The SAOS framework enables $AO$ application programs to be developed rapidly. However, nondeterministic behaviors of active object sometimes make debugging...
Abstract: In this project, our goal is to design a flipping algorithm for computing the Voronoi diagram of simple polygons. As preparation towards designing a flipping algorithm, we re-implemented the ear cutting algorithm of using a standard geometric library COAL. This new Implementation is compatible with COAL, We have designed...
MIDAS is an application framework for remote data acquisition and visualization that allows dynamic reconfiguration of its constituent components. There are three types of reconfiguration, namely, component replacement, component interposition and component deletion. A two-phase protocol to maintain the consistency of the system during reconfiguration is described. MIDAS has a...
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...
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...
The purpose of this paper is to discuss some of the theory of Boolean matrices and apply this theory to construct contact networks by using algebraic methods.
The first section of this paper (Chapter I to III) describes Boolean algebra and its properties, the theory of Boolean matrices, and the...
The general problem of classroom scheduling is well known to be NP-complete. A typical classroom scheduling problem is that of assigning students to a limited number of pieces of laboratory equipment. Frequently several identical pieces of equipment are available only at fixed hours and have limited access due to physical...
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...
Interoperability is the ability to enable different systems to work together and exchange data. Interoperability between different systems is achieved by using common standards and specifications. This paper talks about our research work on interoperability in Calendaring and Scheduling. There are many calendaring and scheduling software products on the market...
Caesar is an interactive graphic editor that is used to generate layouts for VLSI circuits. It runs on a VAX-11 /780 under the UNIX operating system with Berkeley extensions. Caesar has a unique and simple user interface. Phled is an enhanced version of Caesar that runs on a M68000-based engineering...
Current approaches to presentation of mathematics (on paper or in electronic format have usability drawbacks that make learning and appreciation of mathematics challenging and often frustrating. In a framework of a big research project of identifying new approaches to communicating mathematical ideas in a highly usable and effective manner, we...
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...
Real time delivery of products is the context of stochastic demands and multiple vehicles is a difficult problem as it requires the joint investigation of the problems in inventory control and vehicle routing. We model this problem in the framework of Average reward Reinforcement Learning (ARL) and present experimental results...
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...
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...
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...
Structural active-object systems (SAOSs) are transition-based object-oriented systems suitable as frameworks of various concurrent systems. AOSs are constructed from their component active objects by structural and hierarchical object composition (SHOC) like hardware systems. 1n this report, we demonstrate that the SAOS approach is effective in implementing a graphical editor. The...
To achieve the maximum benefits of a flexible manufacturing system (FMS), its effective monitoring is crucial. The user's ability to interpret the actions of an FMS is significantly enhanced by effective monitoring provided by a well-designed graphical user interface (GUI). The Active-Object User-Interface Management System (AOUIMS) is a graphical user...
The paper addresses the problem of communication between co-existing DBMSs. Specifically, two data models--that is, the Network and Relationals models--have been analyzed using their respective implementations CODASYL DBTG and System R.
Feasibility of communication is discussed and mapping mechanisms are suggested between the two DBMSs at the following levels:
-...
Topological Sorting is a standard computation performed on finite partial order relations, for which efficient algorithms are well known.
This work is a study of using a depth-first search of a directed graph to implement topological sorting algorithms. A new algorithm is presented, along with a discussion of how it...
This paper describes a real time garbage collection algorithm. It allocates storage automatically from a heap, and does not require the programmer to give any indication that particular items are no longer useful or accessible. A garbage collection algorithm is considered to be real time if the amount of work...
Information derived from a Landsat Multispectral Scanner CMSS) scene can be used to assign individual pixels, each representing about one acre on the Earth's surface, to natural resource classes, A lineprinter can be used to generate a 1:24,000 scale map of the scene in which each symbol corresponds to a...
A structural active-object system (SAOS) is a transition-based object-oriented system suitable for the design of various concurrent systems. A SAOS consists of a collection of interacting structural active objects (SAOs) whose behaviors are determined by the transition statements provided in their class definitions. Furthermore, SAOs can be structurally and hierarchically...
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...
Qualitative reasoning programs use a modelling language to discover the function of a mechanical device and a theory of causality to explain the reason for the device's behavior. A library of reusable model pieces for linear mechanical oscillators was developed for use with a causality theory developed by Forbus called...
Spreadsheet programming is ubiquitous in businesses today. Spreadsheets are frequently created by end users with little or no programming experience. Unfortunately spreadsheets often contain errors. For example, 54 field audits of spreadsheets showed that 91 % of the spreadsheets contained errors [ 15]. Our research is aimed at bringing the...
University Honors Program Senior Project.
Many times the study of the behavior of an algorithm can be inhibited by the inability to actually see exactly what the algorithm does. Static diagrams and verbal descriptions are often not enough to provide real insight into the behavior of an algorithm. It would...
The problem of broadcasting in faulty hypercubes is considered, based upon a strategy of partitioning the faulty hypercube into subcubes in which currently known algorithms can be implemented. Three similar partitioning and broadcasting algorithms for an n-dimensional hypercube in the presence of up to (n² + 2n - c) /...
Over the past few years Qualitative Reasoning about physical systems has emerged strongly as an important area in Artificial Intelligence. Many qualitative reasoning formalisms have been developed and applied to varied domains, namely, hydraulic systems, electrical systems, industrial control etc.
This paper examines Qualitative Process Theory [Forbus 84] formalism in...
In order for autonomous underwater vehicles to be successful, they must be able to maintain accurate information about their state variables and the state of their critical components. The software developed by Bruce D'Ambrosia and Wade Brittain, (Real-time Tracking and Probabilistic Assessment of Physical Systems) proposes a methodology to provide...
In 19589 J. J. Lingane published an article describing the behavior of an electrolysis using controlled potential coulometry. A typical titration was an hour or more, limiting the variety of applications of the technique. Stephens, Jakob, Rigdon and Harrar looked into the many procedures that have been proposed to locate...
In order for long-range autonomous robots to be successful they must be able to maintain accurate information about their location, available resources, and the state of critical components. We propose here a methodology which incorporates traditional, sensor-based tracking methods with discrete probabilistic representations of system state. Further, we extend the...
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....
We developed a tool that migrates the database schema and the data from one database to another. As DBMSs store the same data by using slightly different data types, one cannot simply copy all the tables and data from the source DBMS to the target DBMS. When our tool, db2db,...
Code instrumenters play a vital role in the functionality of the Aristotle program analysis system, This project aims to replace Aristotle's existing code instrumenters, which process target programs at the, source level, with instrumenters that process target programs at the intermediate language level. This change absolves the instrumenters of responsibility...
CREEDA (Crop Rotation Economic and Environmental Impact Decision Aid) is a Windows application for assessing economic and environmental impacts of agricultural activities. In implementing it, we extended the ProCosts database and incorporated the RUSLE (Revised Universal Soil-Loss Equation) application and the SCI (Soil Conditioning Index) application as COM components. ProCosts,...
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...
This paper describes an investigation of a matrix algebraic method to determine isomorphism in pairs of undirected graphs. The method is described in some detail. The theoretical as well as the practical difficulties are given. It is shown that the method works for some cases. When the adjacency matrix of...
We present an extended mapping in the Hybrid Uncertainty Manager so that all the components of an influence diagram can be represented. This will allow us to perform decision analysis on a decision problem. Specifically, a representation for decision nodes, value node, and informational arcs will be given. With these...
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...
The Large-Grain Data-Flow (LGDF) Machine is a tightly-coupled multi-processor consisting of several independent nodes, upon each of which may run one or more tasks. These tasks must be able to communicate and synchronize with each other. This document describes a message-passing system developed to meet these requirements.
The message-passing system...
The Structural Active-Object System (SAOS) approach allows rapid development of various concurrent systems by structural and hierarchical object composition (SHOC). We implemented, as a SAOS program, a graphical editing and simulation program for automatic guided vehicle (AGV) systems, which carry around parts in automated factories. It is difficult to predict...
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...
Multimedia networking is one of the most exciting developments in today's Internet. Streaming technology; which allows the player to start playing audio/video data immediately instead of waiting for the entire file to be downloaded, presents an attractive vehicle for the distribution of multimedia content over the Internet. However, transmitting real-time...
A timing attack on a cryptosystem allows the attacker to deduce the secret key information based on the timing differences with respect to different inputs given to an encryption or decryption algorithm. Cryptosystems can take variable amounts of time to process due to performance optimizations in software, branching or conditional...
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...
This paper describes the design and implementation of a graphical user interface for construction and evaluation of influence diagrams. Specifically, this paper documents the representation, display and mouse sensitivity of an influence diagram, and the selection facility subsystem. The interface is designed to communicate with the user by a mouse...
This study involves logic design and switching theory, in particular their practical application to the logic design and understanding of digital machines. Digital machines, of course, play an extremely important role in that large class of machines known as digital computers. But they also play an important role in many...
The project (partially) described in this paper was the result of an attempt by the Navy to use software complexity metrics to assess the complexity of Naval avionics software. In particular, the project consisted of computing a variety of software complexity metrics for CMS-2M and AYK-14 assembler source code and...
In this project, we have investigated three different techniques for plagiarism detection and have compared its effectiveness against that of an unaided human grader. The techniques investigated were word frequency analysis, sentence inclusion analysis and sub string inclusion analysis. We found that a combination of word frequency analysis and sub...
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...
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...
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...
Satellite data ingestion tool is an automated database application for processing and archiving the ocean and land data that is broadcasted by a remote sensing satellite. This Ingestion system has a two-tier architecture, with data processing algorithm forming the first tier and the database server forming the second tier. The...
This document describes the need for, and design of, diagnostic software that provides circuit verification, fault isolation, and troubleshooting aids. The difference between verification software and true diagnostic software is explained. A modular design of diagnostic software is proposed, consisting of a series of 3-part tests, a test manager, results...
The World Trade Center disaster brought into focus, tragically, the need for well-designed evacuation systems in modem buildings. Today, designing an efficient evacuation system has become an integral part of designing large buildings. Simulation software enables an evacuation system to be evaluated. Modern day buildings, whether airports, auditoriums, public office...
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...
Generative programming is a paradigm that seeks to automate the manufacture of software products the same way other industries automated the manufacture of consumer, electric, and mechanical products. I examine how meta-programming fits into the context of generative programming and, along the way, expose theoretic and taxonomic deficiencies. In some...
Interconnection Networks have been used as a high performance communication fabric in parallel processor architectures. Parallel processors built using off-the-shelf components, called clusters, are becoming increasingly attractive because of their high performance to cost ratio over parallel computers.
Many web servers and database servers make efficient use of clustering from...
Modern cryptanalysis is generally based on the mathematical theory. However, side-channel analysis has become increasingly popular recently. The benefit of side-channel cryptanalysis is due to the fact that performers can mount attacks with low costs in terms of time and equipment and are highly successful in extracting useful results. The...
Analysis of programs forms an important activity in the field of software engineering. It is necessary to help understand the code, which facilitates comprehensive testing, maintenance and optimization of code. Aristotle is a tool for analyzing programs written in C. We have designed a system on similar lines for Java...
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,...
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...
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...
We believe concreteness, direct manipulation and responsiveness in a visual programming language increase its usefulness. However, these characteristics present a challenge in generalizing programs for reuse, especially when concrete examples are used as one way of achieving concreteness. In this paper, we present a technique to solve this problem by...
Software Configuration Management (SCM) is a concept of trying to group the changing artifacts of software development to try to manage the complexity of modern day software. This paper provides a roadmap for improving the SCM support process based on a meta-model. I developed a model that defines key practice...
Watering a lawn involves several factors such as laying out the sprinklers and valves, trenching, laying pipes, cables, etc. The primary goal is to ensure uniform watering subject to various constraints. We present some abstract problems involving sprinkler layout and some solutions with theoretical worst case bounds on their performance....
The Sacagawea testbed has been designed to support testing and development of decision making models, and associated uncertainty management techniques, that are appropriate under real-time problem solving constraints. Conceptually, it provides a simulated temporal and spatial environment, the latter consisting of a terrain grid of elevation and tree cover data,...
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...
Spreadsheet languages are widely used by end users for many different purposes. Previous research shows that spreadsheets often contain faults. To help end users test their spreadsheets, in previous research, a testing methodology for spreadsheets has been developed. Th.is methodology is supported by an automatic test case generation (ATCG) methodology....
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...
Performance of a reliable storage subsystem for a centralized database system was studied by simulation. The reliable storage subsystem studied consists of three redundant disk units that are updated one at a time from a consistent database state to another consistent database state, Thus, even if a central processor and/or...
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...
'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...
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...
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 survey looks at five different polygon breaking algorithms and compares them. The criteria for comparison are:
1. Complexity of the algorithm.
2. The number and type of subpolygons produced.
3. The classes of input polygons that can be broken.
The best algorithm is then coded and a comparison is...
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...
This project is about helping protein naturalists understand the protein structure. The database system developed here provides a convenient tool for scientists to explore conformational information in a database of known structures and thereby provide researchers with a deeper and wider view of the empirical data. In this way, it...
BIOMAP (Biogeochemistry model (BIOME-BGC) - Mapped Atmospheric Plant Soil System (MAPSS)) is a computer program that predicts ecosystem distribution and behavior over spatial grid cells of 10km at a daily timestep. It needs to consider events like fire for a more realistic prediction. This project involved integrating a new fire...
This paper presents the initial results from an empirical study of mechanical design engineers. In this study, six engineers were video-taped solving real mechanical design problems. Preliminary analysis of this protocol data has yielded several important findings, including (a) mechanical designers progress from systematic to opportunistic behavior as the design...