tanbul 2004
n Analysis.
Vilson, J.P.,
ciples and
ociations of
mpressional
p.69-87.
AGENT-BASED COLLABORATIVE AND PARALLELED DISTRIBUTED GIS
LUO Yingwei *, WANG Xiaolin and XU Zhuoqun
Dept. of Computer Science and Technology, Peking University, Beijing, P.R.China, 100871 — lyw@pku.edu.cn
KEY WORDS: Geo-Agents, Collaboration, Parallel
ABSTRACT:
The collaboration and parallel mechanisms in a spatial multi-agent system Geo-Agents are explored and analysed in details. GIS
agent in Geo-Agents are designed as four types: system manager — Facilitator, users or applications oriented agent - Interface Agent,
spatial task undertaker — GIS Function Agent, and spatial database manager - GuServer. In Geo-Agents, Collaboration is embodied
in two aspects: (1) collaboration among interface agents. Three types of collaboration among interface agents are discussed: direct
cooperation, peer group cooperation and charge-tributary group cooperation. (2) collaboration under control of interface agent. Geo-
Agents likes a kind of cluster parallel system, and parallel is performed by GIS function agents. Parallel of GIS function agents takes
place in collaboration under control of interface agent, and exists as three modes: isomorphic cooperative parallel, heterogeneous
cooperative parallel and exclusive parallel.
1. INTRODUCTION: GEO-AGENTS
Geo-Agents is an agent-based distributed GIS (see Figure 1).
Geo-Agents consists of four types of GIS agent: Facilitator,
Interface agent, GIS function agent and GuServer (Luo Yingwei,
1999; Luo Yingwei, et al, 2002).
i —_
+ na
Spatial Database | (
NS AAA
Spatial Metadata Database ( WAN T
er me © o À oS T 2 N
SoA a ax 7
pU XR P te 5 — =
idi ee ~ as EN ^. Spatial Metadata
/ e D Y / ET I. Eu
{ ve. X ) A High À Database —
oa t€ i. Speed ro
2 jm LAN, 3 nu.
[spo pos
CoD Host @ AgentServer @ Facilitator
" AT: ; >. ai ed cU
© Interface Agent or GIS Function Agent ift GuServer
Figure 1 Geo-Agents System
Facilitator is the manager of Geo-Agents. The functions of
Facilitator include registering available GIS agents, searching
for practicable GIS agents, managing all active agent instances,
coordinating communication and coordinating cooperation.
GIS function agent encapsulates spatial querying, spatial
processing or spatial analyzing services. The encapsulated
services in GIS function agent may come from different
existing GIS platforms. Each GIS function agent can complete a
same type of problem. According to the features of GIS, GIS
function agent is classified into another two types: basic
function agent and domain-oriented function agent. Basic
function agent completes basic GIS services, such as spatial
data search, spatial data access, network analysis, overlay
analysis, buffer analysis and so on. Domain-oriented function
* Corresponding author: LUO Yingwei, lyw(@pku.edu.en.
J
J
agent is responsible for application tasks in various domains,
and can be constructed by domain-oriented model and used
generally in one domain.
Interface agent provides interfaces for users or applications to
hand task. Geo-Agents provides GeoScript, an agent
manipulating language to describe GIS tasks (Luo Yingwei,
1999). When solving a practicable problem, users or
applications can simply use GeoScript statements to describe
the task, and then hand the statements to interface agent.
Interface agent has a GeoScript interpreter and can disassemble
the task to subtasks autonomously, recruit GIS function agents
to complete the task concurrently.
GuServer is in charge of spatial information accessing services,
which manages spatial information and spatial metadata in
spatial databases.
In Geo-Agents, GIS agent is reactive agent, and every GIS
agent consists of five units: control subsystem, functional
subsystem, communication subsystem, human-computer
interface and data resource. GIS agent is not only able to carry
out its own task independently, but also communicate with
other agents, exchange information and cooperate with others.
“Agent Region” mode is adopted to control the distributed
scenario for Geo-Agents. An “Agent Region” consists of one or
more hosts, which must be installed with a Facilitator (and or
other GIS agents). There are many Facilitators in an “Agent
Region”. Different Facilitators can cooperate to control and
coordinate every GIS agent to run correctly, and hold the
distributed controls of the whole system.
In an “Agent Region”, there is one and only one Facilitator that
will be configured as AgentServer. Facilitator is used to manage
and coordinate agents inside one “Agent Region”. Besides the
functions of Facilitator, AgentServer serves as a bridge among
different “Agent Regions”. That is to say, an agent in one
“Agent Region” can only communicate with agents in other
"Agent Regions" through AgentServer. Of course, an