Ming-Hsiang Tsou, Geography Department, San Diego State University
http://typhoon.sdsu.edu/tsou/index.html
E-mail: tsou@mail.sdsu.edu TEL: (619) 5940205, FAX: (619) 5944938
Current Internet-based GIService solutions are monolithic and platform-centric. In addition, as data file size continues to increase, the time required to download GIS data for client-side processing impedes modeling, environmental monitoring, and spatial decision support. This paper introduces a software agent-based communication mechanism to facilitate the dynamic integration of geospatial data, GIS programs, and modeling procedures in distributed network environments. The goal of software agents is to reduce user work and information overload. In a distributed GIService environment, software agents can help users access distributed data objects and GIS components on heterogeneous GIS platforms by interpreting, filtering, and converting information automatically.
Recently, intelligent software agents have become a new direction in both user interface design and artificial intelligence (AI) research. The goal of intelligent software agents is to reduce user work and information overload (Maes, 1994). Software agents can provide services in data filtering, information searching, on-line tutoring, and so on. Current research suggests that intelligent software agents will be widely used and implemented in the future, especially in open, distributed systems (Thomas and Fischer, 1997; Bradshaw, 1997).
A software agent is a software program which operates autonomously in a particular computer environment (Shoham, 1997). Each software agent has some specific functions and responds to specific events, based on pre-defined knowledge rules, the collaborations of other agents, or users’ instructions. Agents can help users to search information, interpret or translate different data formats, and make logical decisions or suggestions (Orfali & Harkey, 1997). By adding user-defined rules and appropriate knowledge bases, software agents will bridge the communication between heterogeneous geodata objects and distributed GIS components.
The original study of the software agent came from the artificial intelligence research. Different from the traditional AI approach, the use of software agents emphasizes that their knowledge rules are located in hundreds of distributed small agent programs instead of a single huge omnipotent computer machine. In a distributed GIService environment, users may need to interact with heterogeneous data models and different types of programs in different computer platforms. Intelligent software agents can help users to access distributed data objects and GIS components on heterogeneous GIS platforms by interpreting, filtering, and converting related information automatically (Tsou and Buttenfield, 1998).
The major role of software agents is to act as information finder/filter. The following paragraphs will introduce and explain the information finder role of software agents for Internet mapping and GIServices applications.
A software agent is an information finder/filter, which helps users find the requested information and filter out unnecessary elements to a reasonable scope according to a specified user task. Moreover, software agents can play a more active role than a simple information filter. If the task can not be executed or completed, the software agent may suggest modifying the request or the task, or provide an alternative choice to users. Figure 1 shows the role of software agents as an information filter/finder.
Figure 1. The information finder/filter.
The major consideration in the design of software agents is the search/filter functions. The first type of filtering is to follow user-defined rules directly. For example, users can define several keywords to limit the scope of search. The second type of filtering is the information priority. The priority of information will be decided by whether the information can be used immediately without any pre-process procedures, such as conversion or partition. The priority of information can be defined and generated from the descriptions of metadata. For example, if a GIS user only uses a specialized GIS package, ArcGIS, to process GIS data, the highest priority of information format should be Coverages or Shapefiles format, which can be used directly with this GIS package. The second information priority will be the other formats, which may require data conversion, such as Digital Line Graph (DLG). The lowest priority of information formats will be the raw data items, such as texts or tables, which need substantial pre-process procedures and partition. The third type of filtering mechanism is the agent’s predefined preferences and capability. For example, a software agent may only be capable to process 500 items at one time due to the limitation of their virtual memory and storage capacity. Therefore, the information items after the first 500 search results will not be retrieved or displayed for GIS applications.
In order to test the feasibility of software agent model and GCP, this research introduces a prototype framework by adopting current available GIS software and technology. Two GIS software packages – ArcGIS 8 and ArcIMS 4 - will be used in the framework of the prototype.
Esri’s ArcGIS 8 is a industry standard software with powerful GIS functions and database management. ArcGIS 8 also provides a powerful software development tool called ArcObjects, which can be used to develop new functions for ArcGIS. The proposed framework will use ArcObjects to develop an extension tool for connecting software agents with the ArcGIS 8 GIS engine. Visual Basic programming will be used in developing new ArcObjects tools and agent connection modules.
ArcIMS, developed by Esri, is currently one of the most popular Internet Map Servers. It provides a common platform for the exchange of Web-enabled GIS data and services and for distributing GIS capabilities via the Internet. Another advantage of ArcIMS is the software platform, which includes a wide variety of Esri server-side technology and provides a unique data integration potential via certain client technologies, such as HTML or Java applets.
This framework is illustrated in the Figure 2. ArcIMS provides a ready-to-use, low-level network communication capability, which can be utilized directly for software agent model. ArcGIS’s GIS functions can be customized by its ArcObject development tools, to create a remote invocation method for GIS functions and database connectivity. The advantages of adopting these two GIS commercial packages are to allow the software developers to focus on high-level, semantic design and application services instead of spending too much effort on low-level network programming and client/server GIS functions.
Figure 2. The Prototype Architecture of Software Agent Model.
Figure 2 illustrate the design of prototype architecture. The gray area is the focus for the prototype development. There are three major components in this prototype:
Client machine and web browser. This component will adopt the framework of ArcIMS’s Java Viewer, which makes use of Java applets, JavaScript, and XML programming. ArcIMS Java Viewer can be customized and converted to a client-side software agent model with new functions. Also, the development of software agent communication protocols will adopt the XML specification by ArcIMS and apply KQML to XML documents. The new XML specifications and languages will be used in this new prototype for requesting and responding GIServices across the networks.
ArcIMS server platform. The second component of this architecture is the server-side of the ArcIMS framework, which includes three main units, Web Server, Application Server and Spatial Server. Web Server will use the commercial package, Microsoft Internet Information Server (IIS). The installation of ArcIMS package will add a Java Servlets engine to the Web Server, which can be used for the server-side software agent model. Application Server is the middle-ware to facilitate the communication between Web Server and Spatial Server. Spatial Server is the major mapping engine in the ArcIMS framework, which can connect to the GIS database directly and generate raster or vector data streams across the network.
ArcGIS engine. The third component is the ArcGIS package, which can provide comprehensive GIS operations and database connections. The function of ArcGIS will be customized by using its development tool, ArcObjects and Visual Basic to build the remote connection between ARC/INFO and Java Servlets on the ArcIMS.
By adopting ArcGIS and ArcIMS, the development of prototype will be much faster than if the prototype is built from scratch. Because major network communication channels are already available in these current GIS packages, the prototype design will only need to focus on the high-level implementation and semantic functions, which is easier and more feasible. 4. Conclusion The implementation of interoperable geodata objects and software agent model can be somewhat problematic where current technology does not fully support the implementation. Although the Open GIS Consortium (OGC) is launching the OpenGIS project and its feature specifications (Buehler & McKee, 1996), few commercial tools are presently available for geodata objects. Exceptions to this can be seen in Esri ArcIMS and GeoMedia by Intergraph. Other solutions are beginning to appear. This paper introduces a possible architecture for software agent model by defining appropriate user tasks and the implementation frameworks. Some issues need to be explored in the future, such as agent communication protocols and the levels of user controls, etc. Currently, the GIS community seems to be entering the "aviation" era (Internet) from the "automobile" era (Desktops). For the user, software agents can provide helps guide the vehicles or airplanes. Intelligent software agents can help users access data distributed in multiple clearinghouses, and access heterogeneous processing modules that may be distributed by multiple vendors or brokers.
Bradshaw, J. M, editor (1997). Software Agent. Menlo Park, California: AAAI Press.
Buehler, K., & McKee, L., editors. (1996). The OpenGIS Guide: Introduction to Interoperable Geoprocessing. Wayland, Massachusetts: Open GIS Consortium, Inc.
Maes, P. (1994). Agents that Reduce Work and Information Overload. Communications of the ACM, 37(7): 31-40.
Orfali, R., & Harkey, D. (1997). Client/Server Programming with Java and CORBA. New York, New York: John Wiley & Sons .
Sondheim, M., Gardels, K., & Buehler, K. (1999). Chapter 24: GIS Interoperability. In P. A. Longley, M. F. Goodchild, & D. J. Maguire (editors), Geographical Information Systems: Principles, Techniques, Applications and Management, Second Edition. John Wiley & Sons, Inc., pp. 347-358.
Thomas, C. G. & Fischer, G. (1997). Using Agents to Personalize the Web, In Proceedings of IUI'97: International Conference on Intelligent User Interfaces, Orlando, Florida, pp.53-60.
Tsou, M. H., & Buttenfield, B. P. (1998). An Agent-based, Global User Interface for Distributed Geographic Information Services. In Proceedings of the 8th International Symposium on Spatial Data Handling, Vancouver, Canada, pp. 603-612.