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