Object oriented programming languages are noted for their ability to allow users to quickly construct large software systems. They achieve this ability by allowing the programmer to concentrate on what it is they want to do, ignoring details of how that functionality is achieved. Such characteristics should make the object...
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...
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...
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...
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...
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...
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...
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,...
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...
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...
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) /...
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...
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...
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...
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...
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...
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...
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...
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...
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...
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...
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....