How to use the AAFID(tm) GUI
----------------------------

 ======================================================================
 This file is Copyright 1998,1999 by the Purdue Research Foundation and
 may only be used under license.  For terms of the license, see the
 file named COPYRIGHT included with this software release.
 AAFID is a trademark of the Purdue Research Foundation.
 All rights reserved.
 ======================================================================

The current AAFID2 distribution includes a graphical interface to the
system. This GUI has only very primitive features, but makes it a
little easier to interact with the system.

To use it, first set up the system as described in the INSTALL file.

Please read the file PROBLEMS for known problems and limitations of
the GUI.

Execute bin/aafid2gui. If everything is set up correctly, you should
see a window pop up.

The first step is to start a local Monitor. Do so by selecting the
"Control->Start monitor" option.

Starting a local monitor also has the effect of starting a local
transceiver. When the local transceiver starts, the window shows an
icon corresponding to the local host. Every transceiver that the local
Monitor is controlling appears as an icon. The color of the icon
reflects the status of the transceiver:

Gray: no agents running.
Green: agents running, but all of them are in status 0.
Yellow: agents running, and at least one of them has status 1-3.
Orange: agents running, and at least one of them has status 4-6.
Red: agents running, and at least one of them has status 7-10.

To add new transceivers, select "Control->Add hosts" option. You will
be asked for the names of the hosts to start. You can give multiple
hosts at the time, separated by spaces. Each new transceiver will be
shown as an icon.

To start an agent on a host, right-click on its icon and select the
"Add agent" option sub-menu in the menu that appears. Then, select
which agent you want to start. All the agents in the classes/Agents
directory are automatically listed, and the menu is automatically
updated if you add a new agent while the GUI is running.

Another method of adding agents to a host or set of host is by using
the "Control->Start agents" menu option. You will first be presented
with a choice of hosts. You can select multiple hosts by either
dragging with the left mouse button, or by pressing the Control key
while you left-click on them, to individually select and de-select
them. When you press Ok, you will be presented with the list of
existing agents. Once again, you can select one or more agents from
the list. When you finish and press Ok, all the agents you selected
will be started in all the hosts you selected. This is a good way of
starting many agents in many hosts.

To view detailed information about a host, you can either left-click
on its icon, or right-click and select "View details" in the pop-up
menu. A new window will appear, listing all the agents that are
running in the host. Each agent is listed with its last status and
message reported, and color-coded as indicated above. The host status
(indicated by the color bar on the left of the host window, and on the
host icon) is computed as the maximum status of all the agents running
in the host.

To interact with a specific agent, left-click on its line. Then you
can type a command to be sent to the agent. The command has to have
the form:

  commandname Param => Value, Param => Value ....

this is, only the command name and parameters. After you press Return,
the command will be sent to the agent.

To remove a host (by stopping its transceiver), right-click on its
icon and select "Remove".

You can also send messages directly to the monitor. This can be done
by typing the message in the "Commands to the monitor" text line in
the main window. In this field, you have to type the full message, as
you would do on the command line. See the doc/How_to_run.txt file for
more information.

The "Messages" field of the main window shows the commands that are
received by the Monitor, and is there only for informative purposes.

Finally, you can automate the starting of agents and transceivers by
means of command files. Using the "File->Read commands file" menu
option, you can select a file that will be loaded and executed. This
file must contain Perl code that calls appropriate functions in the
GUI program. Some examples are given in the files aafid2.conf,
hosts1.conf, agents1.conf, hosts2.conf, agents2.conf and
morehosts.conf in the classes/AAFID/GUI subdirectory of the
distribution.

The GUI program is in its very early stages. Feedback is
appreciated. Please send comments, bug reports, questions and
suggestions to aafid-feedback@cs.purdue.edu.

Yours truly,
--The CERIAS AAFID team (see the file CREDITS for details)
