An Agent-based Architecture for Distributed

0 downloads 0 Views 165KB Size Report
An Agent-based Architecture for Distributed Imagery & Geospatial. Computing ∗. James J. Nolan, Arun K. Sood, Robert Simon. George Mason University.
An Agent-based Architecture for Distributed Imagery & Geospatial Computing ∗ James J. Nolan, Arun K. Sood, Robert Simon George Mason University Center for Image Analysis Dept. of Computer Science Fairfax, VA 22030 {jnolan, asood, simon}@cs.gmu.edu

1

Abstract Agent-based approaches have not yet been widely applied to highly complex, data intensive,large-scale information processing systems such as are found in the domain of imagery & geospatial computing. Such systems combine diverse and distributed types of imagery and geospatial data, and require collaboration from multiple experts and processing components. This paper gives a description of the design and implementation of the Agent-based Imagery and Geospatial processing Architecture (AIGA). Our approach centers on the development of an ontology, light-weight agents, and an agent communication language for imagery & geospatial computing. AIGA agents cooperate with each other to answer specific queries and to efficiently manage distributed resources. Many of of the imagery & geospatial exploitation tasks that AIGA agents process are highly complex, with several processing steps involved. We describe in detail how the AIGA system is inherently parallel, thus allowing for parallel implementations of both new and legacy imagery & geospatial exploitation algorithms. Because this system is agent driven, the parallelism is highly dynamic, reconfigurable via the AIGA communication language, an XML-based specification called I-XML. These I-XML specifications are distributed and transformed by different AIGA agents in the system to achieve a scalable and manageable system design for collaboration and information management. We describe the details of AIGA, the I-XML specification, and our Java based prototype.

Introduction

Current architectures for imagery & geospatial computing are limited to 1) stand-alone systems that include all processing functionality in one location: data retrieval, analysis, and display [6] or 2) distributed systems in the client-server paradigm [2]. Such systems are used in the intelligence gathering, cartography, and resource management domains. It is typical for these systems to process hundreds of images per day that each range from 100 Mb to several gigabytes in size. In the near future, the amount of imagery & geospatial data to be processed by these systems is expected to increase in a super-linear fashion [1]. New architectural paradigms need to be developed to address this increase in data, as traditional middleware approaches are difficult to use in this domain for several reasons. First, the required resources to answer a particular request or query are not always known in advance. Second, time-sensitive imagery & geospatial systems need to be able to scale up to support widely distributed collaborators and information repositories. Third, queries posed to imagery & geospatial systems don’t always have single, or even clearly defined answers. 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. Our architecture defines a collaborative model that is necessary to answer complex queries that are found in imagery & geospatial analysis. This architecture, called the Agent-based Imagery

∗ This is work is supported under the National Imagery & Mapping Agency’s University Research Initiative program.

1

it is likely that different ontologies will not be entirely orthogonal, and they may in fact be linked through inter-ontology relationships [5]. Such is the case with the ontology we have defined. We have pulled information from several other efforts to include in our ontology for imagery & geospatial processing, as we discuss below.

& Geospatial processing Architecture (AIGA), encapsulates imagery & geospatial processing functionality in agent form, allows for collaboration among agents through an Agent Communication Language called IXML, 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. A high-level description of the components found in our architecture follows below. Functional Agents - agents that provide core imagery & geospatial processing functionality and access to data repositories.

AIGA Ontology

Collaboration Switch - used for coordination among agents. Provides a directory of agents available on the network as well as access to an information repository of other processing strategies that may be useful to current agent processing tasks. Imagery & Geospatial Ontology - how we describe the concepts and relationships in this domain. This information is what is transmitted in our I-XML ACL.

Functions

I-XML ACL - our agent communication language.

In the remainder of this paper, we describe the ontology and agent communication language we have developed for imagery & geospatial computing, give a detailed discussion of our agent-based architecture, discuss our Java-based implementation, and finally summarize.

2

Query & Results

Data

Figure 1. Imagery & Geospatial Ontology

Imagery & Geospatial Ontology and ACL

2.1 Imagery & Geospatial Data

An ontology provides a shared and common understanding of a domain that can be communicated between people and across application systems. Welldefined ontologies are critical to agent-based systems, as the automatic processing of information requires a machine readable representation of its semantics. We propose that the ontology for imagery & 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. We have created an ontology for the three fundamental areas of imagery & geospatial processing; a graphical view of the ontology can be seen in Figure 1. When creating an ontology, it is likely that there will be overlap with other or similar domains. In fact,

The imagery and geospatial communities have developed many data specifications that suitably describe imagery and geospatial data concepts. For example, an image in the National Imagery Transmission Format (NITF) contains metadata information that can thoroughly describe itself. The same can be said for geospatial formats such as Vector Product Format (VPF) or the Spatial Data Transfer Standard (SDTS). While the aforementioned standards describe imagery & geospatial data concepts, they do not define 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 & geospatial data. A recent effort, the Geography Markup Language (GML), has proposed such a standard for the encoding, transportation, and storage of geographic information. We submit that GML serves as a starting point for an ontology for geospatial data. Similarly, NITF also is a standard used for the encoding, transportation, and storage of image information. 2

We have implemented these standards, and slightly altered them to be suitable for use in an agent-based system. GML is available in several formats, one of which is the Resource Description Framework (RDF). RDF is a suitable way to represent an ontology, as RDF can be serialized in the eXtensible Markup Language (XML)and it allows for an ontology to be easily extended by others. We have also developed an RDF implementation of the NITF standard.

services.rdfs”> Convolve Sun Microsystems Kernel Image 1 1

2.2 Imagery & Geospatial Services 2.3 I-XML: The Agent Communication Language

Imagery & 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 submit that any imagery or geospatial processing service can be broken down into the components illustrated below.

According to [3] 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 such 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. In this section, we describe the components of I-XML, then show an instance of it using a real-world example. We must view the I-XML from two perspectives: from the user perspective, and from an agent perspective. The user is interested in answering some kind of question: ”is country Red encroaching on country Blue’s border?”. In order to convey this information in a machine readable form, several pieces of information must be encoded: the query itself, information about the geographic areas (e.g., the border between country Red and Blue), the processing steps necessary reach a result, and the result itself. We have chosen to represent this information in RDF, and serialize it in XML. Agents use I-XML to collaborate with other agents, and to systematically develop a response to the user query. We have developed our ACL to support these two perspectives and it is described in detail below. 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. This is the basis, or trigger, for all actions within the AIGA architecture. 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. We use GML to represent geospatial features and information.

Name - the name of the service. Parameters - the parameters required by the service. Number of Inputs - the number of inputs required by the service. Data Type of Inputs - the input data type required (e.g., image, vector). Number of Outputs - the number of outputs produced by the service. Type of Outputs - the output data type produced by the service. We have created an ontology for imagery & geospatial data and processing services based on the concepts described above. The ontology for imagery & geospatial data is largely based on existing data standards that have been refined for machine readability. An illustration of how the ”Convolve” service would be represented in our ontology is shown below. This example uses the RDF representation. The complete ontology for imagery & geospatial services can be found at http://aiga.cs.gmu.edu/ ontology/aiga-services.rdfs.