This package provides useful base classes for building graphical agent
applications. The design follows a model-view-controller pattern.
The AgentAppModel
serves as model, the AgentAppFrame
together with its embedded AgentView
as view, and the
AgentAppController
as controller. The SimpleAgentAppDemo
demonstrates, how this parts can be plugged together.
Start the main method of AgentAppFrame
to see the layout of the
frame. It is configurable in many ways, even without subclassing. A
demo application with model, view, and controller, but still without any content,
can be seen when starting the SimpleAgentAppDemo
. Look for classes
with the ending ...AppDemo
in the aima.gui.applications
package to see agents at work.
This simple framework is strongly based on inheritance. You can extend any
of the given base classes with the features you need. To be very flexible with
respect to content, no methods are included which transfer data between model
and view. So typically, you will design a model and a corresponding
AgentView
together - the model should provide access to all
the data, which is needed by the view to visualize the agent in its environment
meaningful.