Software Surveyor

Gauges to Dynamically Deduce Componentware Configurations

Principal Investigator: Dr. David Wells

Object Services and Consulting, Inc.

Large, modern software applications, including DoD C4I systems, are constructed from custom and preexisting components from a variety of sources.  Both the components and their organization with respect to each other must evolve over time as the result of new requirements, bug fixes, performance improvements, feature enhancements, and changes in their environments as the systems with which they interact change.  An essential (but not sole) requirement for safely and predictably making these changes is knowing how the components use each other.  This includes dynamic behavior that cannot be captured in any way other than to observe the behavior of the system running in its normal operating environment.

This effort builds gauges to collect, analyze, and present information about how deployed instances of distributed software actually interact, how this compares with the desired (specified) interaction patterns, how far the effects of changes can propagate and whether an anticipated action is likely to be safe, and to identify subtle differences between environments that might be the source of puzzling misbehavior.  The results will be software gauges suitable for use in profiling applications constructed using a variety of important technologies such as Java, Dynamic Link Libraries (DLLs), Common Object Request Broker (CORBA), and Hypertext Transfer Protocol (HTTP).   We will also develop tools to deploy these gauges to selectively collect information that is needed to diagnose particular problems, monitor the effect of recent reconfigurations, or to serve as inputs to other tools being used to plan or manage the evolution of a system.  Such gauges are a necessary part of the feedback process needed for software evolution as envisioned by the DASADA program.

Gauges to be developed include:

Gauges will be transparently attached to existing components or the pathways between them using existing “interceptor” technology.   We will identify the kinds of information that can be collected at these interception points and collect, manage, aggregate, and visualize the collected information.  Minimally, we will be able to determine dynamic component connectivity, function/method invocation, timing, and exceptions.  This information will be used to reconstruct both the instantaneous and long term behavior of monitored applications.  This will be demonstrated using a test application that exercises the three interconnection technologies (DLLs, CORBA, and HTTP).

Software releases, including code and documentation will be made annually.  Annual demon-strations will exhibit the current capabilities of the gauges and point the way for further developments.  Results will be documented in three major design documents, in addition to the manuals associated with the software releases.

The views and conclusions contained in this document are those of the authors and should not be interpreted as representing the official policies, either expressed or implied, of the Defense Advanced Research Projects Agency or the U.S. Government

© Copyright 2000 Object Services and Consulting, Inc. All Rights reserved.