GIScience 2000 Agentbased Mechanisms for Distributing Geographic Information
GIScience 2000 Agent-based Mechanisms for Distributing Geographic Information Services on the Internet By Ming-Hsiang Tsou 1 and Barbara P. Buttenfield 2 Geography Department, San Diego State University 2 Geography Department, University of Colorado 1 E-mail: mtsou@mail. sdsu. edu, babs@colorado. edu
Why Distribute GIServices? Globalize Information Access/Exchange Decentralize Database Management/Update Distribute Computing Processes The Network is the Computer
Problems in Distributing GIServices Temporary, technology-centered solutions: The lack of an intelligent architecture which can operate in new/unknown environments Focus on Data, not on GIS Processes: We need to distribute both GIS Processes and data objects across the networks.
Solution: Dynamic Architecture for GIServices GIS user User Scenario: • GIS Task ·GIS node profile ·Network performance Geodata object Dynamic Construction (on the Internet) GIS node GIS component (program)
Build GIServices “on-the-fly” GIS user (Mike) Dynamic Construction (on the Internet) B User Scenario: A Map Display [Colorado Roads] Geodata object GIS node C GIS component
Agent-based Communication GIS Components (Programs) Geodata Objects Metadata Agents • Info. finders/filters • Interpreters • Decision makers User-defined rules Knowledge bases Agent collaboration
Information Finder / Filter Choice - 1 Choice - 2 Choice - 3 ~~~~~ Choice - 550 Site-A Choice - 1 Choice - 2 Choice - 3 ~~~~~ Choice - 230 Information Finder ------------Information Filter KEYWORDS (User-defined rules) Reasonable choice - A Reasonable choice - B Reasonable choice - C Users Site-B Examples: Search “Colorado roads” Choice - 1 Choice - 2 Choice - 3 ~~~~~ Choice - 360 Search Methods: 1. Message Broadcasting 2. Agent Roaming 3. Create a “Metadata Repository” to improve the search efficiency Site-C
Information Interpreter [Buffering] in UNIX [Address matching] in Window 2000 Metadata Information Interpreter Metadata ARC Coverages Operation: Input data: Output data: Variable: Metadata becomes the source of knowledge bases Metadata Shapefiles Landsat images Buffer (ARC command, UNIX platform) convert to coverage roads (shapefiles) road-buf (coverage) 200 feet (map unit: meter convert to meters)
Decision Maker Events Agent (decision maker) Agent (Information Finder) Actions Agent (Information Interpreter) Agent Collaboration • Event: If the local disk is full, find another network disk. • Agent Collaboration: • Info. Finder --> search logical volumes • Interpreter --> convert data format to destined environment • Action: Save [New disk-drive]: [Data-object]
Agent Mobility a) Stationary Agent Machine-A Stationary Agent-01 Machine-B Remote Procedure Call Stationary Agent-05 b) Mobile Agent Machine-D Mobile Agent-06 Machine-C Mobile Agent-03 Copy (HTTP) Mobile Agent-03
Advantages 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
Problems 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 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. . .
Agent Functionality Colorado Roads (Vector) Metadata Geodata Agents Component Agents Colorado DEM (Raster) Map Display Component Metadata Spatial Analysis Component Metadata Machine Agents GIS components Geodata Objects Client machine Server machine
Hierarchy of Geo. Agents Stationary Geo. Agent Machine Agent Geo. Agent Mobile Geo. Agent Component Agent Geodata Agent UML notations Generalization UML: Unified Modeling Language
Implementation: GIService Node GIServices Workstation (a GIS node) Hardware Profiles: CPU, OS, CRT, printer, scanner GIS Component Container M M Machine Agent M Component Agent Container M : metadata Geo. Data Object Container M M M Geo. Data Agent
Agent Container 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), • DCOM / COM+ (Microsoft): Windows 2000/NT, Active. X container, COM-based model • XML (W 3 C): (Extensible Markup Language) lightweight agent systems, scripting language, open-ended, metadata- enhanced.
Agent 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 CORBA’s Mobile Agent Facility Specification 1. 0 OMG, (1999) • XML-based scripting language (Lange, Hill, & Oshima, 2000)
Scenario: 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 Dick : GIS analyst Ron: GIS software vendor Shape fitting analysis Data conversion Matt: GIS programmer
The Roaming of Agent (Carry a [Procedure-A]) The Planning Department Flood zone Land value and parcels Land use Agent CODOT The Tax Assessor Department Procedure-A: Agent Procedure-A: The Policy Department Roads Crime Risk Index Agent Procedure-A: Dick’s GIS node Agent Procedure-A: (from Dick’s requests] • Buffer 200 m from [Road] to create [Buffer zone] • Overlay [Land use] [Flood zone], [Buffer zone], and [Land parcels], [Crime Risk Index].
First 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 Buffer Roads Buffer zone Agent container Agent 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. Procedure-A Dick’s GIS node Agent Component container Data container Procedure-A: (from Dick’s request) • Buffer 200 m from [Road] to create [Buffer zone] • Overlay [Land use] [Flood zone], [Buffer zone], and [Land parcels], [Crime Risk Index].
Second Stage The Planning Department Overlay CODOT Overlay Buffer Land use Buffer zone Flood zone Over-1 Agent container Roads Buffer zone Agent Procedure-A Agent container Agent Procedure-A Dick’s GIS node Agent Component container Data container Procedure-A: (from Dick’s request) • Buffer 200 m from [Road] to create [Buffer zone] • Overlay [Land use] [Flood zone], [Buffer zone], and [Land parcels], [Crime Risk Index].
Third Stage The Planning Department The Tax Assessor Department Overlay Land use Buffer zone Flood zone Agent container Agent Over-1 Land parcels Over-2 Agent container Procedure-A Agent Procedure-A: (from Dick’s request) • Buffer 200 m from [Road] to create [Buffer zone] • Overlay [Land use] [Flood zone], [Buffer zone], and [Land parcels], [Crime Risk Index].
Final Stage The Police Department The Tax Assessor Department Overlay Over-1 Land parcels Over-2 Agent container Agent Procedure-A Dick’s GIS node Crime risk index Procedure-A Agent container Agent Procedure-A (complete) Component container Data container Final
Deploy the Architecture GIS node: Dick. colorado. edu Overlay analysis component GIS node: Boulder-Planning. gov Land use Buffering component Roads Machine Component Geodata agent Land use Shape fitting analysis Roads Flood area Parcel rec. GIS node: Boulder-Police. gov Crime Rate records Crime rate Auto. Data Conversion GIS node: Matt-GIS. com Shape fitting analysis 3 D shading and ray tracing : Data object Statistic analysis : GIS components
Collaboration among GIS nodes A GIS Task GIS Node: Ming GIS Node: Tina GIS Node: Mike Local Network Intranet GIS Node: FGDC GIS Node: Eva GIS Node: SDSU GIS Node: UCSB Internet GIS Node: SUNY
SUMMARY Traditional Solution • Limited GIS computing power • Convert data sets manually / individually • Vendor-based GIS software • Difficult to search / exchange geospatial information Agent-based Solution • Efficient use of computing resources • Automated data gathering / conversions • Customizable GIS modulars and functions • Sharing GIS data / models / knowledge
FUTURE WORK Implementation Java, XML, XHTML, KQML, ACL Hierarchic Geo. Agents Individual, Groups, Global Society Intelligent Geo. Agents ? Knowledge engines, fuzzy logic, neural networks
Coding Example: Machine agents search for requested data object Mike’s Input: GIS component: Required data: [Display] . Required Component [Colorado Roads] . Required Data (Machine agent-A) init { If. Required. Data found in [Data container] Then set. Operation. Data =. Required. Data Else. If Search(. Required. Data) = Null Then print “Data can not be found. ”; exit Else set. Operation. Data = Search(. Required. Data). Copy. To. Data. Container End If If. Required. Component found in [Component container] Then set. Operation. Component =. Required. Component Elseif Search(. Required. Component) = Null Then print “GIS component can not be found. ”; exit Else set. Operation. Component = Search(. Required. Component). Copy. To. Component. Container End If Send. To. Component. Agent(. Operation. Data, . Operation. Component) }
- Slides: 29