by ming-hsiang tsou e-mail: mtsou@mail.sdsu phone: 619-5940205 fax: 619-5944938
Post on 31-Dec-2015
32 Views
Preview:
DESCRIPTION
TRANSCRIPT
An Intelligent Agent-based Architecture An Intelligent Agent-based Architecture for Internet Mapping and Distributing for Internet Mapping and Distributing
Geographic Information ServicesGeographic Information Services
By Ming-Hsiang Tsou
E-mail: mtsou@mail.sdsu.eduPhone: 619-5940205
Fax: 619-5944938
The Department of Geography, San Diego State University
The Promise of Internet Mapping The 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 The Network is Your Mapping Factory
Problems in Internet MappingProblems 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.
Information OverloadInformation Overload Access hundreds of map layers from different servers
How to combine Map-Server-A layersWith Map-Server-B layers?
Change Symbols? Apply Color Scheme?
Create scale threshold?
Use Different Projections?
Web Map Users Don’t Have Web Map Users Don’t Have Sufficient Cartographic KnowledgeSufficient Cartographic Knowledge
Current Web Maps:
•Good Interactivity•Good Flexibility
•Poor Quality•Poor Design
Web Map Users ≠ GIS Users
Dynamic Construction(on the Internet)
User Scenario:•GIS TaskGIS node profileNetwork performance
GIS user
GIS node
GIS component (program)Geodata object
Solution: Solution: Dynamic Architecture for GIServicesDynamic Architecture for GIServices
Dynamic Construction(on the Internet)
User Scenario:
Map Display [Colorado Roads]
GIS user(Mike)
GIS node
GIS componentGeodata object
Build GIServices “Build GIServices “on-the-flyon-the-fly””
B
C
A
Possible Solution: Possible Solution: Intelligent Software AgentsIntelligent Software Agents
Apply cartographic principles to web mappingSoftware 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)
Software Agents
• Info. finders/filters• Interpreters • Decision makers
User-defined rules Cartography Knowledge Bases
Agent collaboration
Agent-based CommunicationAgent-based Communication
GIS Components(Programs)
GeodataObjects
Metadata Metadata
Design
Information Finder / FilterInformation Finder / Filter
Information Finder------------------------Information Filter
Carto-rulesRule-2Rule-3~ ~ ~ ~ ~Rule- 4
Color-scheme = DEMIso-line rulesInterpolation Algorithm
KEYWORDS(User-defined rules)
UsersColor SchemeLanduse-colorDEM-color~ ~ ~ ~ ~Zoning-color
Site-B
Site-A
GeneralizationMethod-1Method-2~ ~ ~ ~ ~Method-400
Site-C
Examples: Search “Color Scheme” for Digital Elevation Model.
Search Methods:1. Message Broadcasting 2. Agent Roaming3. Create a “Metadata Repository” to improve the search efficiency
Information InterpreterInformation Interpreter
Data-1 (UTM)
Metadata
[Buffering] in UNIX
Information Interpreter
Metadata
[Address matching] in Window 2000
Metadata
Data-2 (SPCS)
Metadata
Data-3 (Lat/Lon)
Metadata
Metadata becomes the source of knowledge bases
• 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.
The Design of Operational MetadataThe Design of Operational Metadata
Map display component
GIS-operation requirements (A, B)
System metadata
OtherGIS components
GeoData Object
Metadata(A, B, C, D, E, F)
Metadata describe how the Metadata describe how the objects should be represented objects should be represented (color, symbols) and the (color, symbols) and the domain of the object (vector, domain of the object (vector, line, transportation).line, transportation).
Integrating
Self-describing, Self-managingmap layers
Agent(decision maker)
Decision MakerDecision Maker
Events Actions
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 --> search for cartographic rules •Interpreter --> convert cartographic rules into executable procedures.
•Action: Move [point] data layers above the polygon layer.
Software Agents
Software Agents
User-defined rules(Cartographic rules)
Task #1 (Client Machine–A)
(Working memory)Task #2 (Client Machine–B)
(Working memory)
GIS data and components framework
GIS Component(Buffering)
Metadata(Facts)
GIS data object(Road, Colorado)
Metadata(Facts)
User Interface
Inference engine
Rules Facts Working memory
Traditional Traditional Expert SystemsExpert Systems
Intelligent software agentIntelligent software agent
Generalization
Hierarchy of GeoAgentsHierarchy of GeoAgents
GeoAgent
Machine Agent
Component Agent
Geodata Agent
UML notations
Stationary GeoAgent
Mobile GeoAgent
UML: Unified Modeling Language
Carto Agent
Geodata Objects
Colorado Roads (Vector)
Metadata
Colorado DEM (Raster)
Metadata
Geodata Agents
Component Agents
Machine Agents
Client machine
Server machine
GIS components
Map Display Component
Metadata
Spatial Analysis Component
Metadata
AgentAgentFunctionalityFunctionality
Agent Mobility Agent Mobility
Machine-A
Stationary Agent-01
Machine-B
Stationary Agent-05
Remote Procedure Call
Machine-C
Mobile Agent-03
Machine-D
Mobile Agent-06
Mobile Agent-03
Copy (HTTP)
a) Stationary Agent
b) Mobile Agent
Advantages of a Mobile AgentAdvantages of a Mobile Agent
•Reduce network loadUpload the agents to remote GIS databases
•Overcoming network latencyReal-time response, agents on the remote site
•Protocol encapsulationAgent carries “codes” and “messages”
•Execute asynchronously and automaticallyMore stable in fragile network connections
•Dynamically adoption Agent senses the execution environment and reacts autonomously to change
Problems of Mobile AgentsProblems 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)
Security Model for AgentsSecurity 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...
Walk-through Example Walk-through Example
Sd_pointofinterestMetadata:•Carto-Type: Point•Symbols: star•Color: red•Size: 7 point •Scale threshold: 1:20,000- 1:10,000
Carto Agents retrieve the operational metadata from data objects and apply it on the map design.
Dynamic Cartographic DesignDynamic Cartographic Design
Carto Agents re-arrange the layer sequences and reassign new color scheme for the landuse layer
Add a new landuse layer (metadata: color = blue)• Conflict with current sd_conven layer (same color: blue)• Overlap other information
Cartography OntologyCartography Ontology(Cartography Knowledge Base – CKB ) (Cartography Knowledge Base – CKB )
Statements:All point layers should be above all polygon layers.
First-Order Logic:
Computer Program: number layout sequences (1:top, 2:second..)
polylayer(x).number = i pointlayer(y).number = jIf (i < j) then {
polylayer(x).number = jpointlayer(y).number = i}
yx, Above( PointLayer(x), PolyLayer(y) )
Combining Metadata and Rules Combining 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:Color[AllPolyLayers] = [blue, red, green]Color(NewLayer) = NewLayer.metadata.color
While ( Color[AllLayers] contain Color(NewLayer) ) { Color(NewLayer) = Color(Randam) }
Inference by Multiple Knowledge Bases Inference by Multiple Knowledge Bases
Multiple Cartographic Knowledge Bases (CKB):•Rule#1: “Landuse” data objects are qualitative. (from San Diego State University) http://map.sdsu.edu/001.ckb•Rule#2: Color-hue is best visual variable for displaying qualitative area data. (from UC-Santa Barbara) http://geog.ucsb.edu/hydro.ckb)
Inference:Rule#1 AND Rule#1 Landuse should use “Color-hue” for area symbol display.
Computer Program (Software Agents):Landuse.Symbols =
ColorScheme(Hue).Attribute(LU)
GIServices Workstation (a GIS node)
Agent Container
GIS Component Container
GeoData Object Container
Machine Agent
Hardware Profiles: CPU, OS, CRT, printer, scanner
Component Agent GeoData Agent
M M M M
M : metadata
M M
Implementation: GIService NodeImplementation: GIService Node
Carto Agent
Software Agent PlatformSoftware 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.
Agent Communication Agent Communication Language (ACL) / Protocol (ACP)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 CORBA’s Mobile Agent Facility Specification 1.0
OMG, (1999)
• XML-based scripting language (Lange, Hill, & Oshima, 2000)
Current Internet MappingCurrent Internet Mapping
Intelligent Agent SolutionIntelligent Agent Solution• Improve the quality of web maps• Create dynamic cartographic design• Search for appropriate map styles / color schemes.• Establish distributed cartographic knowledge bases.
• 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
SUMMARYSUMMARY
FUTURE WORKFUTURE WORK
Implementation of Cartography OntologyConvert from “logics and rules” to “computer languages”
New Cartographic Principles for New Tasks3D 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
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.
Data conversion
Shape fitting analysis
Overlay analysis
Dick : GIS analyst
Ron: GIS software vendor
Buffer analysis
Matt:GIS programmer
Scenario: Spatial Analysis Scenario: Spatial Analysis
Procedure-A
Dick’s GIS node
The Planning Department
CODOT
The Tax Assessor Department
The Policy Department
Agent
Land use
Flood zone
Roads
Land value and parcels
Crime Risk Index
Procedure-A: (from Dick’s requests]•Buffer 200m from [Road] to create [Buffer zone]•Overlay [Land use] [Flood zone], [Buffer zone], and [Land parcels], [Crime Risk Index].
Agent
The Roaming of Agent The Roaming of Agent (Carry a [Procedure-A])
Procedure-A:
Agent Procedure-A: Agent Procedure-A:
Agent Procedure-A:
Procedure-A:
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.
Dick’s GIS node
CODOT
Procedure-A: (from Dick’s request)•Buffer 200m from [Road] to create [Buffer zone]•Overlay [Land use] [Flood zone], [Buffer zone], and [Land parcels], [Crime Risk Index].
Agent
First StageFirst Stage
Data container
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)
Agent container
Component container
Roads
Buffer zone
Agent Procedure-A
Buffer
Dick’s GIS node
CODOT
Procedure-A: (from Dick’s request)•Buffer 200m from [Road] to create [Buffer zone]•Overlay [Land use] [Flood zone], [Buffer zone], and [Land parcels], [Crime Risk Index].
Agent
Second StageSecond Stage
Data container
Agent container
Component container
Roads
Buffer zone
Agent Procedure-A
Buffer
The Planning Department
Agent container
Buffer zone
Agent Procedure-A
Overlay
Overlay
Land useFlood
zone
Over-1
Procedure-A: (from Dick’s request)•Buffer 200m from [Road] to create [Buffer zone]•Overlay [Land use] [Flood zone], [Buffer zone], and [Land parcels], [Crime Risk Index].
Third StageThird Stage
The Planning Department
Agent container
Buffer zone
Agent Procedure-A
Overlay
Land useFlood
zone
Over-1
The Tax Assessor Department
Agent container
Agent Procedure-A
Overlay
Over-1
Land parcels
Over-2
Final StageFinal Stage
The Police Department
Agent container
Agent Procedure-A
Overlay
Crime risk index
Final
The Tax Assessor Department
Agent container
Agent Procedure-A
Overlay
Over-1
Land parcels
Over-2
Over-2
Dick’s GIS node
Data container
Component container
Agent container
Agent Procedure-A (complete)
Final
Deploy the ArchitectureDeploy the Architecture
GIS node: Matt-GIS. com
Shape fitting analysis
: GIS components
GIS node: Dick.colorado.edu GIS node: Boulder-Planning.gov
GIS node: Boulder-Police.gov
Crime Rate records
Overlay analysis component
Buffering component
Machine agent
Component agent
Geodataagent
: Data object3D shading and ray tracingStatistic analysis
Shape fitting analysis
Land use
Roads
Flood area
Parcel rec.
Land use Roads
Auto. Data Conversion
Crime rate
I n t e r n e t
Local Network
Intranet
GIS Node GIS Node
GIS Node GIS NodeGIS Node: Ming
GIS Node:Mike
GIS Node:Eva
GIS Node:Tina
GIS Node
A GIS Task
GIS Node:SDSU
GIS Node:UCSB
GIS Node:SUNY
GIS Node:FGDC
Collaboration among GIS nodesCollaboration among GIS nodes
Mike’s 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 = .RequiredDataElseIf Search(.RequiredData) = Null Then print “Data can not be found.”; exitElse set .OperationData = Search(.RequiredData).CopyToDataContainerEnd If
If .RequiredComponent found in [Component container] Then set .OperationComponent = .RequiredComponentElseif Search(.RequiredComponent) = Null Then print “GIS component can not be found.”; exitElse set .OperationComponent = Search(.RequiredComponent).CopyToComponentContainerEnd If
SendToComponentAgent(.OperationData, .OperationComponent)}
Coding Example: Machine agents search for Coding Example: Machine agents search for requested data objectrequested data object
top related