for developers is to manually create message content
for agent communication in Java and in the process
respecting the structure of the given ontology as well
as the FIPA-SL grammar rules. Thus the construction
of a simple query becomes a very extensive and time-
consuming job, due to the need to define the used
terms at all FIPA-SL grammar levels, to instantiate
them, and to initialize them with the according sub-
terms manually. (To get an idea of this task consider a
bottom-up approach on the FIPA-SL grammar (FIPA,
2002e)[pages 2-4]: VariableIdentifier, Variable, Wff.,
etc.)
For intelligent agents in real world scenarios the
capability to use complexqueries is essential. Assum-
ing that these queries are of a higher complexity than
the one in a trivial case, where one or two variables
in a boolean logic domain range have to be handled.
Additionally, the used ontological concepts have to
be instantiated, their slots have to be initialized with
corresponding values, and finally the new concept in-
stance must be integrated in the described FIPA-SL
term. An example for this can be consulted in (Caire,
2002)[pages 20-21].
Another point to be considered is that a sent mes-
sage also has to be checked syntactically and semanti-
cally on the receiving side. For that purpose the mes-
sage is passed to a parser for syntax-checking first and
then the used ontological concepts must be extracted
by hand. E.g. if the received message is a query
then the used operators have to be mapped to corre-
sponding operators of the programming language and
if necessary the used logic as well. If the received
message is a request for a specific action, then the
term specified in the used ontology for this agent ac-
tion needs to be bound, e.g to a JAVA method that
executes this action.
This again is a tedious job that in the field of artifi-
cal intelligence usually is done by inference machines
and not by developers. One possibility to simplify this
process is to create templates for message contents
with the ontology design tool Prot´eg´e and the Bean
Generator plugin. Though this is not a very sophis-
ticated solution because intelligent agents should be
able to generate queries and requests at runtime.
3 EXISTING APPROACHES
The following approaches resolve the necessity of
implementing each speech act manually for FIPA-
compliant interactions.
The JADE Semantics Add-on (Bellifemine et al.,
2007) provides basic support for FIPA-SL process-
ing and interpretation. An incoming message is for-
warded to an SL parser first and then the resulting
terms are evaluated with an embedded knowledge
base (KB) by syntactical term substitution. This how-
ever seems to be the main disadvantage of this ap-
proach as it can result in overflowing work memory
for large amounts of terms.
In Jadex (Pokahr et al., 2005) incoming messages
are handled as events according to their speech act
type. For each speech act type a corresponding pro-
cedure is required that processes the speech act with
respect to its content. The Jadex approach also pre-
sumes the separate programming of procedures in
Java and their postponed configuration with the help
of files, written in XML and a Java-like syntax. In
our opinion this language mismatch is the weak point
of this approach because it assumes that a developer
must know more than one programing language and
paradigm.
Zeus (Nwana et al., 1999) is another agent devel-
opment framework that is not fully FIPA-compliant.
Each incoming message is processed by a message
handler and is then dispatched to the relevant compo-
nents of the agent, e.g. action plans. All actions have
to be programmed by the agent developer in advance
and must be loaded to the action base of the agent be-
fore the execution is started.
In all these approaches one major drawback re-
mains. Namely the fact that agents and their behavior
have to be programmed and compiled completely be-
fore their execution. A reconfiguration of an agent
behavior at runtime is possible only in a very lim-
ited way, e.g. by replacing its behavior object by an-
other one. This requires a modification of the behav-
ior program and its recompilation, and therefore only
shifts the inflexibility from agent to behavior level.
This drawback has a high impact on the development
time of agent based applications, due to time consum-
ing testing and evaluation phases and consequential
restart cycles of the whole application.
3.1 Requirements
For the development of a model which resolves this
problem the following requirements must be taken
into account.
3.1.1 Standardized Interaction and
Communication Modes
The usage of standards is a requirement for interop-
erability in all fields of software development and
significant for the success of an application. It pro-
vides for using different components side by side or
conjointly. Especially in agent technology in its role
as intelligent middleware standardized interfaces are
ICAART 2009 - International Conference on Agents and Artificial Intelligence
448