Information Technology Reference
In-Depth Information
a software agent for playing Freeciv is open ended and ill defined, and the emergent
behavior of the game is almost always new and often unexpected. In other words,
designing a software agent for playing Freeciv is a creative task.
17.3 TMKL2: A Language for Agent Modeling For
Meta-Reasoning
The first element of our approach to addressing experimentation in designing soft-
ware agents that can play turn-based strategy games is an agent modeling language
called TMKL2. The TMKL2 language enables construction of TMK models of soft-
ware agents. For the purposes of this discussion, a TMK model of an agent is a
teleological model that explicitly represents the agent's tasks (T), the agent's meth-
ods for accomplishing the tasks (M), and the agent's knowledge of its environment
that enables its methods to accomplish its tasks and for it to live in the environment
(K). A task describes the computational goal of producing a specific result in the
world. A method is a mechanism that produces a result in a specified manner: A
method decomposes a task into subtasks, specifies the ordering among the subtasks
and is represented as a finite state machine. The knowledge element in a TMKL2
agent models knowledge about the concepts and relations in the world in which the
agents reside as well as concepts and relations in the agent's architecture.
In GAIA, TMKL2 models of game-playing software agents are realized through
an interpreter. When used to model Freeciv agents, the interpreter is capable of
executing a model in conjunction with Freeciv's client to play the game. A main
feature of TMKL2 is that it directly connects the goals of an agent to the mechanisms
for realizing those goals. The original TMK language (TMKL) was implemented as
a Lisp mini-language; that is, both the model itself and the agent were written in
the Lisp language. Hence, the connection between the goals, as expressed in the
model, and the agent amounted to a few additional data structures. In TMKL2,
models are expressed as Java objects, with the composite software agent needing
to communicate with the Freeciv server. Consequently, the connection between the
goals and the mechanisms is less direct, being realized by a run-time environment.
This indirection however has the benefit of making TMKL2 more independent of
the target language in which the agent is written.
The TMKL2 language has several features that are important to the subsequent
discussion:
￿
TMKL2 was designed to model software agents expressly for the purpose of
supporting agent adaptation.
￿
An agent may interact with other, external software that has not been modeled.
For example, the other software may be part of an operating system that offers
access to devices for interacting with the external world. Also, a TMKL2 model
may describe only a part of the agent. In either case, TMKL2 assumes that the
Search WWH ::




Custom Search