Alexander Egyed

 (Research, Teaching, Tools, and Publications)

 
   
   
         

ANTS Visualizer Tool

   Johannes Kepler University

   Altenbergerstr. 69, 4040 Linz, Austria

   http://www.sea.uni-linz.ac.at

  

XXXXXXXXXXXXXXXXXXXXXXX  
 
 
 

 

     
 

DOWNLOAD AND INSTRUCTIONS

Please send email to address above. The tool with instructions will be mailed to you shortly thereafter.

Instructions: Documentation of the ANTS Challange Problem

OVERVIEW

The ANTs environment consists of numerous distributed software agents and hardware components. System development in such an environment requires a means of observing and validating the potentially hidden activities of these components. Existing visualization and debugging tools provide some mechanisms for observing behaviors and detecting faults in individual components, but the fast-paced nature of ANTs agents makes these conventional user interfaces (visualizations) and debugging techniques less effective. This chapter will discuss several techniques for visualizing and debugging complex, real-time, agent-based systems. These techniques vary in their level of invasiveness and general applicability.

User interfaces are a critical means of visualizing and verifying the correct behavior of a system. This section discusses visualization strategies for agent-based systems. The primary goal of these visualizations is to support the developers and testers in observing and debugging agent-based systems, although they have also proved useful for explaining domain and solution concepts to third parties.  Two visualization strategies are discussed next: (1) infrastructure visualization and (2) agent visualization.

ANTs agents negotiate over the optimal use of radar nodes to track an unknown number of targets within a given two-dimensional space (the altitude dimension is removed from the ANTs challenge problem). The sensors are key in this setting since their measurements are the raw data that is used to interpret targets locations. Two limitations exist in the ANTs challenge problem that constitute key complexities:

  • only one of the three sensors on a radar node (each covering approximately one third of the angular space around a node) can take measurements at any given point in time. Radars thus have ‘blind spots’ through which targets can move without being detected.

  • only a limited bandwidth for agent communication exists. This limitation prevents all sensor measurements from being shared among all agents.

ANTs agents are deployed in a distributed setting where no single agent has complete knowledge of the overall system state and activities. ANTs agents thus have a limited knowledge of their surrounding world.  Therefore their goal is to draw conclusions based on the limited knowledge they have available, including knowledge they are able to acquire through communication with other agents. Agent-level visualization is thus about how the agents perceive the world, and is usually agent-specific, since different solutions likely differ in how they make and respond to those perceptions.

The alternative to agent visualization is infrastructure visualization, which captures global knowledge about the world by operating external to the agents. This world knowledge may be comprised of a combination of things the agents have access to (e.g., sensors) or not have access to (e.g., target location).  Since there is only one world and since all agents are part of the same world, only one infrastructure visualization is needed.

Infrastructure visualization is generally applicable and independent of individual agent implementations, but this independence has other limitations. Infrastructure visualization cannot observe agents directly. Instead it instruments the underlying infrastructure used by the agents, and then monitors that usage to track activities. Infrastructure visualization thus captures raw resource usage, such as sensor measurements being taken, but it does not attempt to provide rationale for why agents behave the way they do. Instead, infrastructure visualization is useful in evaluating the quality of agents as a measure of some solution-independent constraint. For example, the goal of the ANTs agents is to optimally track all targets at all times. This is a global constraint that can be evaluated using knowledge of current target locations and sensor orientations.

In summary, agent visualization provides rationale for agent behavior but it is hard to evaluate their effectiveness in satisfying the global goal. Agent visualization is useful in determining whether agents behave optimally given the limited knowledge of the world they have. Alternatively, infrastructure visualization is a means of judging the quality of agents and it provides a mechanism for comparing different solutions along a common set of metrics. It is also a means of detecting flaws in agent behavior based on some global properties they violate. A combination of infrastructure and agent visualizations is desirable to detect inconsistencies between the actual state of the world (the infrastructure) and the presumed state of the world (the agent).

ANTS INFRASTRUCTURE VISUALIZATION

The ANTs infrastructure consists of hardware components such as sensors, targets, and communication channels, and it consists of software components such as agents, data interpretation components (trackers) and support libraries. Additionally, a simulation environment called Radsim exists, which simulates the behavior of the hardware components for testing purposes. The simulated software components have interfaces that are (almost) identical to the real hardware components. Agents are thus executable on both with only minor alterations.

The ANTs infrastructure originally did not fully support visualization; only Radsim was capable of visualizing some simulated components (e.g., target movement, sensor modes and orientation). It was therefore necessary to instrument the ANTs infrastructure, both hardware and simulated, to capture all data necessary for visualization. This was achieved by instrumenting the interfaces to and from the individual components. For example, the agents gained access to the sensors and communication medium through a library of Java classes. Instrumentation code was added to those Java classes to intercept and forward required data to the visualization tool itself. The visualization tool then interpreted this data and visualized it in a meaningful fashion. The following describes briefly what hardware and software components were instrumented and why.

Radars/Sensors

Sensors measure amplitude and frequency values that give clues about the location, movement direction, and speed of targets. Only one type of sensor was available but it was capable of operating in four different modes. Each mode implied restrictions on the type of measurement taken (amplitude and/or frequency) and the duration required to take them (1-3 seconds). The purpose of the instrumentation was to capture information about the current state of all sensors (their location, orientation, and other attributes), the times and kinds of measurements, and the actual measurement values. Radars are illustrated in Figure 1 as gray circles with colored cones where the cones depict the orientation of the sensors (the active sensor head) and the colors of the cones depict the mode being used to take measurements. Amplitude measurements taken by sensors are depicted using ellipses, where the sensed location of the target is along the circumference of the ellipse. Frequency measurements are depicted as cones where the sensed location of the target is within 15ft of the cone’s direction .

Targets (Ground Truth)

Recall that the purpose of the agents’ negotiation was to use available resources to detect and track the various targets moving through the environment.  An important component of evaluating the progress of this task is to know where the targets actually are, including their individual locations, movement directions, and speed, which can be compared with the agents’ results. Instrumentation was added to obtain real time target location, direction, and speed. This was straightforward in the simulated infrastructure; since the target was itself simulated it was straightforward to get the required information. Instrumenting the hardware infrastructure was much more elaborate because accurate data needed to be generated from the model trains which served as targets. To do this, synchronization points were added to the train tracks, and whenever the train would pass a sync point, the time of this event was recorded. Given that the track layout, location of sync points and train speed were known in advance, it was then possible to create a prediction algorithm that interpolated train location, direction, and speed. A more advanced version of the prediction algorithm also used a wireless mouse to monitor train movement, where the ``distance traveled’’ by the mouse was used to determine location on the track given a fixed starting point. Targets are depicted in Figure 1 as red triangles were the sharp end of the triangle indicates target direction.

Communication Channels

The infrastructure supported several types of communication medium to determine the system’s performance under different conditions. Instrumentation captured the utilization of the individual communication channels and details about the messages sent across them, such as message origin, destination, and length. Message traffic is depicted in Figure 1 in form of arrows between radar nodes.

Trackers

The tracker was capable of projecting presumed target locations, directions, and speeds based on sensor measurements. Instrumentation of the trackers captured the data given as input (amplitude and frequency measurements of sensors) and the data produced as output (target location, direction, and speed). The projected targets are depicted in Figure 1 in the form of green arrows. Input measurements given to trackers are depicted in the form of colored measurement cones (blue ellipses for amplitude measurements and red cones for frequencies).

Quality Criteria or Indicators

Although the ANTs infrastructure visualization does not visualize agent-specific information, which is discussed later, it can be used to define quality criteria and indicators that define good agent behavior. For example, any given radar should be active and searching in the right direction when a target is close. If it is inactive or not searching in the right direction then it may have missed an opportunity to provide measurement data for the tracker.

A special feature of the ANTs infrastructure visualizer is its ability to visualize infrastructure usage in real-time, where changes to the infrastructure are displayed as they are occurring. The instrumentation of the infrastructure utilized a fast network to send data to the visualizer. In cases where the network usage of  the instrumentation could have adversely affected agent negotiation (e.g., RF), an alternative network was used. The visualizer was also capable of storing instrumentation data for later playback.

 
     

Copyright © 1999-2008 Alexander Egyed

 

 

pages have been viewed since January 2006

 

   

This page was last updated 01/12/2006