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