An Agent-based Approach to Imagery and Geospatial ∗ Computing James J. Nolan
Robert Simon
Arun K. Sood
George Mason University Center for Image Analysis Dept. of Computer Science Fairfax, VA 22030
George Mason University Center for Image Analysis Dept. of Computer Science Fairfax, VA 22030
George Mason University Center for Image Analysis Dept. of Computer Science Fairfax, VA 22030
[email protected]
[email protected]
[email protected]
ABSTRACT This paper introduces a scalable, flexible agent-based architecture for imagery and geospatial processing. This architecture supports collaboration and reuse by defining a set of fine-grained imagery and geospatial processing agents and a combined knowledge encoding and Agent Communication Language called I-XML. Scalability and reuse are achieved by employing a collaborative communication structure. Agents do not communicate directly; rather, all collaboration and reuse goes through a shared page space that stores I-XML pages. We show how this approach simplifies system design and facilitates collaboration and information sharing among area experts. This architecture has been implemented in the Java environment using Jini middleware for agent communication and mobility, and COTS packages for processing functionality.
Keywords Multi-agent systems, image processing, GIS, Jini
1.
INTRODUCTION
Until recently, architectures for large-scale imagery and geospatial processing systems have been designed assuming static environments where computing resources are available in a pre-determined capacity. These systems are independent, stand-alone systems that include all processing functionality in one location: data retrieval, analysis, and display [4]. New architectural paradigms need to be developed to address the expected super-linear increase in imagery and geospatial data [1], as traditional middleware approaches are difficult to use in this domain have proven difficult to implement. ∗This work is supported under the National Imagery & Mapping Agency’s University Research Initiative program.
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise, to republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. AGENTS’01, May 28-June 1, 2001, Montr´eal, Quebec, Canada. Copyright 2001 ACM 1-58113-326-X/01/0005 ..$5.00
We have designed an agent-based architecture that addresses such problems through two concepts: flexibility and collaboration. Our architecture is flexible in the sense that it allows for new processing functions or new computing resources to be easily inserted into the system. Additionally, our architecture allows for agents to take advantage of computing resources distributed throughout the network based on a decision process executed at run-time. This architecture, called the Agent-based Imagery and Geospatial processing Architecture (AIGA), encapsulates imagery and geospatial processing functionality in agent form, allows for collaboration among agents through an Agent Communication Language called I-XML, promotes distributed processing through agent mobility, encourages knowledge reuse through a shared knowledge repository, and introduces an information fusion concept through the use of agent collaboration.
2. IMAGERY AND GEOSPATIAL ONTOLOGY An ontology provides a shared and common understanding of a domain that can be communicated between people and across application systems. We propose that the ontology for imagery and geospatial processing is fundamentally composed of three core elements: the data used in processing, the functions that process the data, and the query and resultant information. By defining a common vocabulary for these three core elements, we allow for interoperability among heterogeneous systems, as well as the potential to increase the number of tasks offloaded to automated processes in the form of agents. The imagery and geospatial communities have developed many data specifications that suitably describe imagery and geospatial data concepts. While many of these standards describe imagery and geospatial data concepts, what these standards lack are the relationships between those concepts. By taking these data specifications, and providing the necessary relationships, we argue that this can be used to form an ontology for imagery and geospatial data. We have implemented some of these standards in the Resource Description Framework (RDF), and slightly altered them to be suitable for use in an agent-based system. Imagery and geospatial processing services are fundamentally composed of: a name, a required and/or optional set of parameters, input data types, and output data types. In addition, there may be other descriptive information such
as the service creator, or documentation on the service. For example, to perform image convolution, the name of the operation is ”Convolve”, the parameters are an input processing kernel and the service requires one image. We have created an ontology for imagery and geospatial data and processing services based on the concepts described above. Image processing service descriptions are based on the Java Advanced Imaging API (JAI). Geospatial processing descriptions are based on the OpenMap API. The complete ontology for imagery and geospatial services can be found at http://aiga.cs.gmu.edu/ontology/aiga-services.rdfs.
3.
THE AGENT COMMUNICATION LANGUAGE
According to [2] an agent communication language that allows agents to interact while hiding the details of their internal workings will result in agent communities able to tackle problems no individual agent could. Above, we described an ontology that hides the implementation details from agents. Agents are able to describe themselves using this ontology, and other agents can interpret and use the functionality of those agents. We use the described ontology as the core part of our Agent Communication Language, which we term I-XML. Below, we describe the components of our ACL. The Query section represents a question that an analyst wishes to have answered. This query is decomposed into keywords and location, the first step in the processing chain. The Baseline Representation contains information about the geographic location of the query. For example, this may include a bounding rectangle of the region of interest or a place name such as a country or city. The Computational Steps represent the steps necessary to answer the query. The Computational Steps represent the necessary processing steps and not the order in which they will be done. The Processing Strategy refines the Computational Steps into an parallel processing graph, identifying tasks that can be executed in parallel. This is an important feature of timesensitive systems such as imagery and geospatial systems. The Result represents any outputs of services that may help to answer the query. As the query is executed and results are returned from agents, the Results tag will be updated with information that may include geospatial features, or references to image sources.
4.
THE AIGA ARCHITECTURE
The AIGA architecture can be decomposed into three basic objects: functional agents, the Collaboration Switch, and I-XML pages which we have previously discussed. The AIGA architecture is essentially comprised of three classes of functional agents: Agents that provide imagery and geospatial processing services, agents that provide an interface between a user and the system, and agents that allow access to a data repositories available on the network. Imagery and geospatial agents are capable of locating, indexing, processing and transmitting imagery and geospatial data. These agents possess function-specific knowledge, including processing information that is able to translate a query into a specific set of processing steps. Data access agents provide the interface to data repositories on the network. In our architecture, we have an Image Data Server and a Geospatial Data Server that both contain
libraries of data. Each of these data servers has an associated agent that provides other agents on the network with a way to retrieve and insert data into the respective repositories. Client interface agents act as the interface to the AIGA system. The Collaboration Switch (CS) serves as a resource for the other agents in the system. It provides a directory, or ”yellow pages” of other agents and locations available on the network. The CS yellow page also has a list of I-XML pages that can be of interest to current and future users because they encode computational steps or processing strategies that may be of interest. The CS also provides a ”white page” listing of AIGA users and active collaboration sessions. The CS also has access to a persistent storage area where I-XML documents can be stored, searched, and retrieved. This capability is used as a form of knowledge reuse. When a new query is submitted to the system, the CS can search prior processing strategies, correlate queries, and recommend an approach based on discovered prior queries. Searching the CS is done through an implementation of Salton’s [3] vector model information retrieval algorithm.
5. THE AIGA IMPLEMENTATION We have implemented Imagery and Geospatial processing agents, the Collaboration Switch, and Imagery and Geospatial Data servers and I-XML pages. The AIGA architecture, including the shared I-XML page space, has been implemented in Java, utilizing Sun’s Jini and JavaSpaces technology. AIGA agents encode knowledge and communicate with each other via I-XML pages placed in shared page space. JavaSpaces provide Linda-like semantics for accessing and controlling persistent page space. The system is currently used to analyze large overhead satellite images for detection, recognition and scene change reasons.
6. SUMMARY AND CONCLUSIONS We have introduced a novel approach for an agent-based distributed imagery and geospatial processing architecture. Agents are able to work in parallel based on run-time decisions made by examining I-XML documents and available computing resources. We have illustrated a collaborative model that is utilized to answer complex imagery and geospatial analysis problems. This collaborative model relies on an ACL to enable distributed processing, promotes knowledge reuse through a shared knowledge repository, and allows for information fusion through agent collaboration.
7. REFERENCES [1] A. Florini and Y. Dehqanzada. Commercial satellite imagery comes of age. Issues in Science and Technology, Fall 1999. [2] Y. Labrou, T. Finin, and Y. Peng. Agent communication languages: the current landscape. Intelligent Systems, 14(2):45–52, March-April 1999. [3] G. Salton. The SMART Retrieval System. Prentice Hall, Englewood Cliffs, NJ, 1971. [4] P. Vittorini and P. DiFelice. A java rmi-based application supporting interoperability in a gis context. In Technology of Object-Oriented Languages and Systems, 1999. TOOLS 31, pages 428–439, February 1999.