Page 77 tion, and 3) responding to the user's interactions to promote understanding and optimize data collection.Project OverviewUser Interaction. The ultimate goal is to enable the understanding of a computation without needing to inspect the source code. Enabling understanding is not the same as simply displaying all of the information. Only data supporting the user's goals needs to and should be shown. By providing navigation mechanisms, users can shift their attention, seeing visualizations containing only the data that they are interested in. Since not all combinations of data have predefined visualizations we have been researching the automatic and guided creation of visualizations of arbitrary application data. We have also been investigating how to support direct interaction with the visualizations as a form of navigation. We have found that utilizing a model that distinguishes the information to be communicated from its graphical expression is a useful basis for these two endeavors.Agent Framework. For Exploratory Visualization tools to be germane they must have efficient realizations. Especially challenging are are long-lived distributed computations, where the processes communicate solely through message passing. In addition to the potential size of such computations, difficulties stem from the multiple threads of control, lack of a shared global clock, and the application's longevity. Recently we have been developing an agent-based framework[HKR99] for monitoring and steering. Using agents 1) reduces the amount of lag in making some decisions, 2) provides more fine-grained capabilities, 3) naturally supports properties that are transmitted via messages, and 4) allows application specific information to be utilized at run-time to improve efficiency. The agent framework also serves as a testbed to prototype different monitoring and steering strategies.
ConsistentViews. Central to aiding the user in understanding the execution is the ability to present an accurate view of the computation. The global state presented to the user must be consistent, i.e., a state of the computation that could have actually existed. Additionally, the sequence of states should be continuous, the presentation does not elide states that the user is interested in. Our work in consistency[HKR97] is based upon the realization that processes in a distributed computations do not randomly communicate, rather they work together in well-defined ways to perform logical actions. The boundaries of these logical actions are ideal locations at which to collect data for presentation to the user, both for efficiency and for clarity. Our results are able to provide consistent snapshots for computations that are only selectively monitored.
ConclusionsExploratory Visualization is a promising approach to helping users learn about computations. In addressing the challenge of monitoring and steering long-lived distributed applications we have applied existing technologies from fields such as distributed computing, user interface, visualiza-tion and...