Title: (Access multiple Internet map servers at the same time ..
1An Intelligent Agent-based Architecture for
Internet Mapping and Distributing Geographic
Information Services
By Ming-Hsiang Tsou E-mail mtsou_at_mail.sdsu.edu P
hone 619-5940205 Fax 619-5944938
The Department of Geography, San Diego State
University
2The Promise of Internet Mapping
- Flexible Information Access/Distribution
- (Spatial Information at your fingertips Real
time data) - Information Sharing and Integration
- (Access multiple Internet map servers at the same
time local data, federal agencies, USGS, EPA,
Census etc.) - Distributed Mapping/GIS Tools Web Services
- (LEGO-like GIS components/mapping tools)
- 3D, Visualization, Networking Analysis,
Hydrological models
The Network is Your Mapping Factory
3Problems in Internet Mapping
- Temporary, technology-centered solutions
- The lack of an intelligent architecture which can
operate in complicated mapping situations and
new/unknown environments. - Focus on Databases, not on Map Presentation
- We need to create a new mechanism for connecting
cartographic knowledge with Internet mapping
applications.
4Information Overload
Access hundreds of map layers from different
servers
How to combine Map-Server-A layers With
Map-Server-B layers? Change Symbols? Apply
Color Scheme? Create scale threshold? Use
Different Projections?
5Web Map Users Dont Have Sufficient Cartographic
Knowledge
Web Map Users ? GIS Users
- Current Web Maps
- Good Interactivity
- Good Flexibility
- Poor Quality
- Poor Design
6Solution Dynamic Architecture for GIServices
Dynamic Construction (on the Internet)
GIS user
- User Scenario
- GIS Task
- GIS node profile
- Network performance
GIS node
Geodata object
GIS component (program)
7Build GIServices on-the-fly
GIS user (Mike)
Dynamic Construction (on the Internet)
B
User Scenario Map Display Colorado Roads
A
GIS node
C
GIS component
Geodata object
8Possible Solution Intelligent Software Agents
- Apply cartographic principles to web mapping
- Software Agents (Cartographers pre-defined)
- User defined rules
- Establish cartographic rules dynamically
- (Different tasks have different rules and
knowledge base) - Create distributed cartography knowledge base
(CKB) - (Access/Distribute different rules and symbols,
color schemes, layout.. via the software agent
network)
9Agent-based Communication
GIS Components (Programs)
Geodata Objects
Metadata
Metadata
- Software Agents
- Info. finders/filters
- Interpreters
- Decision makers
Design
User-defined rules Cartography Knowledge
Bases Agent collaboration
10Information Finder / Filter
Color-scheme DEM
Information Finder ------------------------ Inform
ation Filter
Iso-line rules
Interpolation Algorithm
Site-A
KEYWORDS
Users
(User-defined rules)
Examples Search Color Scheme for Digital
Elevation Model. Search Methods 1. Message
Broadcasting 2. Agent Roaming 3. Create a
Metadata Repository to improve the
search efficiency
Site-B
Site-C
11Information Interpreter
Buffering in UNIX
Address matching in Window 2000
Metadata
Metadata
Metadata becomes the source of knowledge bases
Information Interpreter
Metadata
Metadata
Metadata
Data-3 (Lat/Lon)
Data-1 (UTM)
Data-2 (SPCS)
- Automatically convert from UTM coordinate
systems to SPCS California VI by accessing the
metadata of GIS data objects. - Transform map units from feet to meters.
- Transform data from ESRI Shapefiles to AutoDesk
SDFs.
12The Design of Operational Metadata
GeoData Object
Map display component
Metadata
GIS-operation requirements
(A, B)
(A, B, C, D, E, F)
System
metadata
Integrating
Metadata describe how the objects should be
represented (color, symbols) and the domain of
the object (vector, line, transportation).
Other
GIS components
Self-describing, Self-managing map layers
13Decision Maker
Agent (decision maker)
Actions
Events
Agent (Information Finder)
Agent (Information Interpreter)
Agent Collaboration
- Event If a new polygon data layer is added
into point data layers. - Agent Collaboration
- Info. Finder --gt search for cartographic rules
- Interpreter --gt convert cartographic rules into
executable procedures. - Action Move point data layers above the
polygon layer.
14Intelligent software agent
Traditional Expert Systems
GIS data and components framework
GIS Component (Buffering)
GIS data object (Road, Colorado)
Metadata (Facts)
Metadata (Facts)
Task 2 (Client MachineB) (Working memory)
Task 1 (Client MachineA) (Working memory)
15Hierarchy of GeoAgents
Machine Agent
Stationary GeoAgent
GeoAgent
Component Agent
Mobile GeoAgent
Geodata Agent
Carto Agent
UML notations
Generalization
UML Unified Modeling Language
16Agent Functionality
GIS components
Geodata Objects
Map Display Component
Metadata
Spatial Analysis Component
Metadata
Server machine
Client machine
17Agent Mobility
a) Stationary Agent
Machine-B
Machine-A
Remote Procedure Call
Stationary Agent-05
Stationary Agent-01
Machine-D
b) Mobile Agent
Machine-C
Mobile Agent-06
Copy (HTTP)
Mobile Agent-03
Mobile Agent-03
18Advantages of a Mobile Agent
- Reduce network load
- Upload the agents to remote GIS databases
- Overcoming network latency
- Real-time response, agents on the remote site
- Protocol encapsulation
- Agent carries codes and messages
- Execute asynchronously and automatically
- More stable in fragile network connections
- Dynamically adoption
- Agent senses the execution environment and
- reacts autonomously to change
19Problems of Mobile Agents
- Security (Mobile Agents as Virus)
- Implementation (Cross platforms/technologies)
- Size and Diversity (Small programs, more
functions) - Protocol Development (Agent communication)
- Levels of Control (Behavior, location)
20Security Model for Agents
- Security Treats
- Disclosure of information (interception)
- Denial of service (DOS)
- Corruption of information
- Attack Targets
- Agents
- Agent Containers
- Countermeasures
- Sandboxing (software-based fault isolation,
Java) - Digital Signature (signed code to confirm the
authenticity of - an object, its origin, and its integrity)
- Travel Histories (maintain an authenticatable
record of the - prior platforms visited by an agent.
- Others...
21Walk-through Example
- Sd_pointofinterest
- Metadata
- Carto-Type Point
- Symbols star
- Color red
- Size 7 point
- Scale threshold 120,000- 110,000
Carto Agents retrieve the operational metadata
from data objects and apply it on the map design.
22Dynamic Cartographic Design
- Add a new landuse layer (metadata color blue)
- Conflict with current sd_conven layer (same
color blue) - Overlap other information
Carto Agents re-arrange the layer sequences and
reassign new color scheme for the landuse layer
23Cartography Ontology(Cartography Knowledge Base
CKB )
Statements All point layers should be above all
polygon layers. First-Order Logic Computer
Program number ? layout sequences (1top,
2second..) polylayer(x).number i
pointlayer(y).number j If (i lt j) then
polylayer(x).number j pointlayer(y).number
i
24Combining Metadata and Rules
Cartographic Rule If the color of the new
polygon layer is the same as one of the existing
layers, carto-agents will change the color of new
layer to a unique color. Computer
Program ColorAllPolyLayers blue, red,
green Color(NewLayer) NewLayer.metadata.color
While ( ColorAllLayers contain Color(NewLayer)
) Color(NewLayer) Color(Randam)
25Inference by Multiple Knowledge Bases
- Multiple Cartographic Knowledge Bases (CKB)
- Rule1 Landuse data objects are qualitative.
- (from San Diego State University)
http//map.sdsu.edu/001.ckb - Rule2 Color-hue is best visual variable for
displaying qualitative area data. - (from UC-Santa Barbara) http//geog.ucsb.edu/hydro
.ckb) - Inference
- Rule1 AND Rule1 ? Landuse should use
Color-hue for area symbol display. - Computer Program (Software Agents)
- Landuse.Symbols ColorScheme(Hue).Attribute(LU)
26Implementation GIService Node
GIServices Workstation (a GIS node)
metadata
Hardware Profiles CPU, OS, CRT, printer, scanner
GeoData Object Container
GIS Component Container
M
Agent Container
Component Agent
GeoData Agent
Machine Agent
Carto Agent
27Software Agent Platform
- Java (Sun Microsystems)
- Java Virtual Machine (VM), Java applets /
servlets. - CORBA (OMG)
- Common Object Request Broker Architecture,
UNIX-based, IIOP (Internet Inter-ORB Protocol), - .NET (Microsoft)
- Windows 2000/NT, ActiveX container, COM-based
model - XML (W3C) (Extensible Markup Language)
- lightweight agent systems, scripting language,
- open-ended, metadata- enhanced.
28Agent Communication Language (ACL) / Protocol
(ACP)
- KQML (Knowledge Query and Manipulation Language)
(Finin and Weber, 1993) - ACL (Agent Communication Language) specification
FIPA (Foundation for Intelligent Physical
Agents) 1997 - IIOP (Internet Inter-ORB Protocol), and CORBAs
- Mobile Agent Facility Specification 1.0
- OMG, (1999)
- XML-based scripting language
- (Lange, Hill, Oshima, 2000)
29SUMMARY
Current Internet Mapping
- Poor quality of maps - No cartographic
principles - Problems with multiple data/layer presentation
- Difficult to apply color schemes / map styles
- Unknown situation for mapping new data objects
Intelligent Agent Solution
- Improve the quality of web maps
- Create dynamic cartographic design
- Search for appropriate map styles / color
schemes. - Establish distributed cartographic knowledge
bases.
30FUTURE WORK
- Implementation of Cartography Ontology
- Convert from logics and rules to computer
languages - New Cartographic Principles for New Tasks
- 3D rules, Layer Transparency, Animation rules,
etc. - Other A.I. possibility for software agents?
- Fuzzy logic for scale threshold?,
- Probabilistic theory for Data uncertainty
representation? - Neural networks for _______???,
PowerPoint Slide is available http//map.sdsu.edu
31Scenario Spatial Analysis
A GIS spatial analyst, Dick, wants to locate a
new Wal-Mart store in Boulder. He needs to
obtain related map information and perform a GIS
overlay analysis for this task.
Procedure-A
Overlay analysis
Buffer analysis
Ron GIS software vendor
Shape fitting analysis
Dick GIS analyst
Data conversion
Matt GIS programmer
32The Roaming of Agent (Carry a Procedure-A)
The Planning Department
The Tax Assessor Department
Land value and parcels
Flood zone
Land use
Agent
Agent
Procedure-A
Procedure-A
CODOT
The Policy Department
Roads
Crime Risk Index
Agent
Agent
Procedure-A
Procedure-A
Dicks GIS node
- Procedure-A (from Dicks requests
- Buffer 200m from Road to create Buffer zone
- Overlay Land use Flood zone, Buffer zone,
and Land parcels, Crime Risk Index.
Agent
Procedure-A
33First Stage
1. Agents search the location of Roads, Buffer
operation, etc. 2. Find out the location of data
and component. (Roads URL www.CODOT.gov)
(Buffer URL www.CODOT.gov)
CODOT
3. Agent travels to the agent container in
CODOT. 4. Executes the first line of
procedure-A. 5. Generates a new data called
Buffer zone and puts the new data in the
CODOT data container.
Buffer
Roads
Buffer zone
Agent container
Agent
Procedure-A
Dicks GIS node
- Procedure-A (from Dicks request)
- Buffer 200m from Road to create Buffer zone
- Overlay Land use Flood zone, Buffer zone,
and Land parcels, Crime Risk Index.
Agent
Component container
Data container
34Second Stage
The Planning Department
Overlay
CODOT
Land use
Buffer zone
Over-1
Flood zone
Overlay
Buffer
Agent container
Agent
Roads
Buffer zone
Procedure-A
Agent container
Agent
Procedure-A
- Procedure-A (from Dicks request)
- Buffer 200m from Road to create Buffer zone
- Overlay Land use Flood zone, Buffer zone,
and Land parcels, Crime Risk Index.
Dicks GIS node
Agent
Component container
Data container
35Third Stage
The Tax Assessor Department
The Planning Department
Overlay
Overlay
Land use
Buffer zone
Over-1
Over-2
Over-1
Land parcels
Flood zone
Agent container
Agent container
Agent
Agent
Procedure-A
Procedure-A
- Procedure-A (from Dicks request)
- Buffer 200m from Road to create Buffer zone
- Overlay Land use Flood zone, Buffer zone,
and Land parcels, Crime Risk Index.
36Final Stage
The Police Department
The Tax Assessor Department
Overlay
Overlay
Over-2
Final
Over-2
Crime risk index
Over-1
Land parcels
Agent container
Agent container
Agent
Procedure-A
Agent
Procedure-A
Dicks GIS node
Agent container
Procedure-A (complete)
Agent
Component container
Data container
Final
37Deploy the Architecture
GIS node Dick.colorado.edu
GIS node Boulder-Planning.gov
Overlay analysis component
Flood area
Land use
Buffering component
Parcel rec.
Roads
Machine agent
Geodata agent
Component agent
GIS node Boulder-Police.gov
Land use
Roads
Crime Rate records
Shape fitting analysis
Crime rate
Auto. Data Conversion
GIS node Matt-GIS. com
Shape fitting analysis
Data object
3D shading and ray tracing
GIS components
Statistic analysis
38Collaboration among GIS nodes
A GIS Task
Intranet
GIS Node
GIS Node
Local Network
GIS Node Ming
GIS Node
GIS Node
GIS Node Mike
GIS Node Eva
GIS Node Tina
GIS Node
I n t e r n e t
GIS Node SDSU
GIS Node UCSB
GIS Node SUNY
GIS Node FGDC
39Coding Example Machine agents search for
requested data object
Mikes Input GIS component Display ?
.Required Component Required data Colorado
Roads ? .Required Data (Machine agent-A) init
If .RequiredData found in Data container
Then set .OperationData .RequiredData ElseI
f Search(.RequiredData) Null Then print
Data can not be found. exit Else set
.OperationData Search(.RequiredData).CopyToDataC
ontainer End If If .RequiredComponent found in
Component container Then set
.OperationComponent .RequiredComponent Elseif
Search(.RequiredComponent) Null Then
print GIS component can not be found.
exit Else set .OperationComponent
Search(.RequiredComponent).CopyToComponentContaine
r End If SendToComponentAgent(.OperationData,
.OperationComponent)