Information Technology Reference
In-Depth Information
division between the modeled and external parts is clearly defined, and, in GAIA,
it takes the form of an API to the external code.
￿
There is an explicit distinction between the run-time behavior of the agent and
adaptation-time redesign of the agent. Adaptation takes place on a TMK model of
the agent, and the model is then interpreted to effect agent behavior.
￿
TMKL2, as described here, is domain independent. That is, there is nothing about
it that is specific to games, and thus it is applicable to a wider variety of software
agents.
￿
TMKL2 has three subnotations: Goals, Mechanisms and Environment, corre-
sponding to the tasks, methods and knowledge portions of the language, respec-
tively.
17.3.1 Goals
The first subnotation of the TMKL2 language describes the agent's goals. A Goal
expresses a reason that the agent does what it does, in terms of its intended externally
observable effects on the world. Goals may be parameterized enabling the agent to
target specific elements of its Environment, such as, for example, a specific city.
A Goal is expressed via a pair of logical expressions describing the precondition
for Goal accomplishment (called its Given condition) and the expected effect of
Goal accomplishment on the agent's Environment (its Makes condition). The final
element of a Goal specification is an indication of the means by which the Goal is to
be accomplished. This takes the form of a Mechanism invocation. That is, Goals are
directly tied to the means by which they are to be achieved.
17.3.2 Mechanisms
The Mechanism portion of a TMK model in the TMKL2 language is responsible for
describing how an agent accomplishes its Goals. There are two kinds of Mechanisms:
Operations andOrganizers, which are each defined in terms of two logical expressions
describing their precondition for execution (Requires condition) and their effect
(Provides condition).
An Operation is a parameterized invocation of a computational resource provided
to the software agent via an API to external software such as the Freeciv server. That
is, each Operation corresponds to an action in the Freeciv world.
An Organizer is a Mechanism defined as a finite state machine comprising States
and Transitions. Start, failure and success States are all explicitly indicated. States, in
turn, define subGoals, enabling hierarchical refinement of an agent's specification.
Transitions may be conditional (dependent on a Data Condition) with respect to
the agent's current perception of the world, as expressed in its Environment. An
Organizer composes Operations into Mechanisms for achieving Goals.
Search WWH ::




Custom Search