Z. Maamar1,2, B. Moulin1,2,
Y. Bédard2, and G. Babin1
Computer Science Department1 and Research Center in Geomatics2
Laval University, Ste-Foy, QC G1K 7P4, Canada
Within an organization that manages spatially referenced data, several types of documents are used to describe the land and its resources (ex. topographic maps, land use maps, aerial photographs, satellite images, and so on). Managing such documents is a complex task; each one is characterized by its own content, spatial reference system, quality, sources, mode of distribution, and format. Hence, Georeferenced Digital-Libraries (GDLs) can be very useful and helpful to manage this meta-information. GDLs are information bases describing the available geodocuments resources in an organization. As a result, GDLs can improve knowledge of the nature of data, identify the responsibility of "who does what, when, and how", and inform about the physical location of the documents.
There exists a number of well known GDL projects, such as Alexandria Digital Library (University of Santa-Barbara), Digital Library Project (University of Berkeley), GEOREP (Laval University), and so on. Their objectives are to help users to identify data which may be useful to them, to help producers to increase accessibility to their spatial data for potential users, and to encourage the sharing of spatial data between organizations. Users are accustomed to use these GDLs independently from each other. Yet, a more complex task is to use different GDLs, generally distributed and heterogeneous, which overlap or not on a given geographic area. This new reality claims for new alternatives for GDLs interoperability.
At Laval University, our research group under the supervision of Profs. B. Moulin and Y. Bédard is working on several GDL projects, including developing an interoperable environment for GDLs. This latter project is called SIGAL (French acronym of Geographic Information System and Software Agent). Such an interoperable environment will provide users with services which will not require them to know individual characteristics of the interconnected GDLs (a concept similar to the concept of meta-engine used to search on the world wide web).
The design of the SIGAL architecture applies principles elicited in the field of information systems interoperability, namely that an interoperable environment must:
2. An Application of Software Agent-Oriented Frameworks, the SIGAL Project
A software agent-oriented framework offers a set of services that can be requested either by users or by other frameworks. A framework is an environment composed of a supervisor and one or several teams of software agents. The services provided by a framework are performed by different teams set up by the framework. These teams are composed of several agents which are specific to the application to be developed and to the characteristics of the information systems to be interconnected. In the SIGAL project, our application aims at developing an interoperable environment of GDLs which involves three types of frameworks (local-source, server, client).
The local-source framework maintain the autonomy and the independence of the GDLs in the interoperable environment. Therefore, local-source frameworks interface the GDLs with communication networks and process the data requests sent by the client frameworks.
The server framework is the backbone of the SIGAL environment, since it monitors all the operations needed to support the services offered to the users and to other frameworks. In order to avoid overloading the server framework, we suggest duplicating it on mirror sites. However, it is important to maintain the coherence of the information duplicated on the server frameworks and consequently to define reliable update protocols. In the SIGAL environment, these functions are implemented as a set of services supported by server frameworks: a service to modify the informational content of a GDL and a service to connect a new GDL to the SIGAL environment.
When users need information from several GDLs, they invoke relevant services on the server framework. The invocation of such services on the server initiates the creation of a client framework generated on the user's machine. Hence, the server framework delegates operations to the client framework and limits its involvement to their monitoring. Once all operations are executed, the client framework can be either deleted or recorded for further uses.
Services provided by a framework satisfy specific users' needs such as information retrieval, etc. When a service is invoked by a user, the framework's supervisor agent activates a scripting procedure, called a realization scenario, which specifies the characteristics of the teams of agents that will perform the various operations required to carry out the service. According to that realization scenario, the framework supervisor creates teams that will play roles specified in the scenario. At their own level, team supervisor agents activate realization scenarios in order to coordinate the activities of their software agents.
For instance, a data request directed to a GDL of the SIGAL environment is defined by an access scenario which involves an agent. It possesses knowledge structures needed to transform a user's request into a data request expressed in a form compatible with the data manipulation language of the GDL. This agent activates the access plan which queries the system, in order to process the data and to transmit the answer to user.
To summarize, software agent-oriented frameworks can interact in order to define a global behavior which is an outcome of such interactions. These frameworks can be adapted in terms of components (types of teams of agents and agents to integrate) and functionalities (types of services to offer). These frameworks can play several roles according to the application to be developed. Finally, these frameworks can constitute an interoperable multiframework environment.
Our aim for the conference is to present the major characteristics of the SIGAL project that deals with GDLs interoperability. The results presented are part of a larger project whose objective is to propose a design method for interoperable environments based on software agent-oriented frameworks.
The SIGAL project has been the object of
continuing research. We are currently testing the framework architecture
described in this paper. SIGAL's prototype uses JAVA as a programming language,
the JDBC driver to connect the available informational resources, i.e.
GDLs, and finally the Object Request Broker VisiBroker for JAVA to specify
the behavior of the SIGAL environment's components (frameworks, teams,
and agents) during distributed operations.