1 / 39

By Ming-Hsiang Tsou E-mail: mtsou@mail.sdsu Phone: 619-5940205 Fax: 619-5944938

An Intelligent Agent-based Architecture for Internet Mapping and Distributing Geographic Information Services. By Ming-Hsiang Tsou E-mail: mtsou@mail.sdsu.edu Phone: 619-5940205 Fax: 619-5944938. The Department of Geography, San Diego State University. The Promise of Internet Mapping.

Download Presentation

By Ming-Hsiang Tsou E-mail: mtsou@mail.sdsu Phone: 619-5940205 Fax: 619-5944938

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. An Intelligent Agent-based Architecture for Internet Mapping and Distributing Geographic Information Services By Ming-Hsiang Tsou E-mail: mtsou@mail.sdsu.edu Phone: 619-5940205 Fax: 619-5944938 The Department of Geography, San Diego State University

  2. 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

  3. Problems 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.

  4. Information 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?

  5. Web Map Users Don’t Have Sufficient Cartographic Knowledge Web Map Users ≠GIS Users • Current Web Maps: • Good Interactivity • Good Flexibility • Poor Quality • Poor Design

  6. Dynamic Construction (on the Internet) GIS user Solution: Dynamic Architecture for GIServices • User Scenario: • GIS Task • GIS node profile • Network performance GIS node Geodata object GIS component (program)

  7. GIS user (Mike) Dynamic Construction (on the Internet) Build GIServices “on-the-fly” B User Scenario: Map Display [Colorado Roads] A GIS node C Geodata object GIS component

  8. Possible 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)

  9. Agent-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

  10. Information Finder / Filter Generalization Color Scheme Carto-rules Method-1 Rule-2 Landuse-color Method-2 Rule-3 DEM-color ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ Rule- 4 Method-400 Zoning-color Color-scheme = DEM Information Finder ------------------------ Information Filter Iso-line rules InterpolationAlgorithm 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

  11. Information 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.

  12. The 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

  13. Decision 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 --> search for cartographic rules • Interpreter --> convert cartographic rules into executable procedures. • Action:Move [point] data layers above the polygon layer.

  14. Software Agents Software Agents User-defined rules (Cartographic rules) User Interface Inference engine Working memory Rules Facts Intelligent 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 Machine–B) (Working memory) Task #1 (Client Machine–A) (Working memory)

  15. Hierarchy of GeoAgents Machine Agent Stationary GeoAgent GeoAgent Component Agent Mobile GeoAgent Geodata Agent Carto Agent UML notations Generalization UML: Unified Modeling Language

  16. Colorado Roads (Vector) Colorado DEM (Raster) Metadata Metadata Geodata Agents Component Agents Machine Agents Agent Functionality GIS components Geodata Objects Map Display Component Metadata Spatial Analysis Component Metadata Server machine Client machine

  17. Agent 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

  18. 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

  19. 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)

  20. 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...

  21. Walk-through Example • Sd_pointofinterest • Metadata: • 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.

  22. Dynamic 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

  23. Above( PointLayer(x), PolyLayer(y) ) Cartography Ontology(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 = j If (i < j) then { polylayer(x).number = j pointlayer(y).number = i }

  24. 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) }

  25. 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)

  26. M M M M M M Implementation: 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

  27. Software 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.

  28. Agent Communication Language (ACL) / Protocol (ACP) • KQML (Knowledge Query and Manipulation Language) (Finin and Weber, 1993) • ACL (Agent Communication Language) specificationFIPA (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)

  29. SUMMARY 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.

  30. FUTURE 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

  31. 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 Ron: GIS software vendor Shape fitting analysis Dick : GIS analyst Data conversion Matt: GIS programmer

  32. The 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: Dick’s GIS node • 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 Procedure-A:

  33. 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 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 Buffer zone Roads Agent container Agent Procedure-A Dick’s GIS node • 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 Component container Data container

  34. Second Stage The Planning Department Overlay CODOT Land use Over-1 Buffer zone Flood zone Overlay Buffer Agent container Agent Buffer zone Roads Procedure-A Agent container Agent Procedure-A • 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]. Dick’s GIS node Agent Component container Data container

  35. Third Stage The Tax Assessor Department The Planning Department Overlay Overlay Land use Over-1 Over-2 Buffer zone Over-1 Land parcels Flood zone Agent container Agent container Agent Agent Procedure-A Procedure-A • 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].

  36. Final 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 Dick’s GIS node Agent container Procedure-A (complete) Agent Component container Data container Final

  37. Deploy 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

  38. Collaboration 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: FGDC GIS Node: SUNY

  39. Coding Example: Machine agents search for requested data object • 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 = .RequiredData • ElseIf Search(.RequiredData) = Null Then • print “Data can not be found.”; exit • Else set .OperationData = Search(.RequiredData).CopyToDataContainer • 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).CopyToComponentContainer • End If • SendToComponentAgent(.OperationData, .OperationComponent) • }

More Related