external to the agent. However to incorporate some
sense of self (which seems necessary for any agent
to successfully parallel human behaviour), it is
logical that there must be some focus on internal
states. For humans, the role of internal states is
neatly captured by MHN. Second, subsumption
architectures are implemented as finite state
machines. The intent in the proposed architecture is
that all levels operate in parallel and within each
level multiple sub-needs are addressed. At no level
is there a set number of fixed permissible states,
rather there is an aggregated estimate of the degree
to which needs at a given level are satisfied.
To summarize, an agent architecture has been
proposed to exhibit human-like behaviour in a game
environment. The proposed agent architecture is
simpler than existing cognitive architectures but
nonetheless comprises elements and approaches that
will modulate simple reflexive behaviours. To
achieve the latter, we make use of the human model
of MHN and apply it to Model-based agents. It is
expected that by creating an agent equivalent of
MHN and implementing it within a model-based
agent architecture, it will be possible to emulate
human behaviour in CGAs.
3 IMPLEMENTATION OF A
“NEEDS-BASED” AGENT
The paper would be incomplete without some
consideration of implementation issues. Given the
conceptual design of a needs-based agent that
operates under the MHN framework, it is possible to
make some technical judgements about the internal
structure of the agent and what technologies might
effect or facilitate its implementation. This section
captures these early design decisions and presents
our technical position for implementing a prototype
“needs-based” agent.
3.1 Agent Framework
The nature of the MHN structure implies that the
implementation of a needs-based agent will take the
form of a multi-agent system and therefore require a
multi-agent framework. Given the number of layers
in the MHN and the complexity of the agent
interactions within that pyramid, only the simplest of
agents could be implemented as a single agent
process. Also, it would be impossible to scale this
implementation to more complex implementations
with multiple sensors and actuators. Thus it makes
sense to take the early decision that the
implementation of the “needs-based” agent will be a
community of agents within an agent framework.
This agent framework will support the operation and
management of individual agents as well as provide
the essential inter-agent communications. The scope
of these communications cannot be considered
simple message passing, but may involve more
advanced communication protocols (i.e. inter-agent
negotiation or competition among agents) with
specialized vocabulary requirements (ontologies). It
is also vital that any agent framework used on this
implementation have the flexibility to adapt to
changes in the research program or allow the
implementation of any requirements that haven’t yet
emerged. Since the purpose is not to develop a
general multi-agent framework but to implement the
needs-based agent architecture, one of the early
decisions was to use the Java Agent Development
Framework (JADE).
3.2 Java Agent Development
Framework (JADE)
JADE is an open-source middleware that includes a
runtime environment for JADE agents, a library of
classes that programmers can use to develop agents
(either directly or by tailoring the classes), and tools
for administration and monitoring the activity of
running agents. The important parts of the
framework are the agent container, the agent
management system (AMS) agent and the directory
facilitator (DF) agent (Figure 9). Containers house
agents and there are two types of containers: main
containers and normal containers. Every main
container holds an AMS agent and a DF agent in
addition to any other agents and manages all the
agents within a “platform”. The AMS provides a
naming service to ensure all agents have unique
names and is the means by which agents are
managed within the container. The DF provides a
“yellow pages” listing of agents and the services
they offer. Agents can query the DF and find other
agents that offer the necessary services to achieve
goals. The JADE framework follows the
architectural and communications structure specified
in the FIPA (Foundation for Intelligent Physical
Agents) standards. FIPA is part of the IEEE
Computer Society. JADE also provides features that
allow the development of user-defined ontologies
and complex interaction protocols.
JADE also provides essential links to future
proof the implementation from the standpoint of its
open-source nature, existing extensions to the JADE
ICAART 2011 - 3rd International Conference on Agents and Artificial Intelligence
278