A Request Specification Language for Spatial Internet Marketplaces

Volker Gaede, Kerry L. Taylor, and Xiaofang Zhou
CSIRO Mathematical and Information Sciences
GPO Box 664
Canberra, ACT 2601
Australia
E-mails: Volker.Gaede@cmis.csiro.au, Kerry.Taylor@cmis.csiro.au, and Xiaofang.Zhou@cmis.csiro.au
 
Notes: slides from this conference presentation can be found at http://www.wiwi.hu-berlin.de/~gaede/rsl.slides.ps.gz

Internet Marketplaces have recently been proposed as a new and interesting model to make data and computational services available to a broad public. Unlike electronic commerce or on-line shopping services, services are both requested and delivered through the Internet. The underlying idea of Internet Marketplaces is that providers make a range of services available on the Internet and customers rent them whenever necessary. Such a market model is attractive both to customers and providers.

The idea of an Internet Marketplace has been adapted to a range of different application areas including decision support systems, mathematical software and spatial information systems. Among the different proposals for marketplaces, Spatial Internet Marketplaces seem to have a somewhat distinguished role in that they address a wide range of different communities of interest (e.g., Earth Observation, global positioning, environmental management), that geographic space acts as a common underlying domain and there is a pressing need for data and computational services. Consequently, Spatial Internet Marketplaces might have a much greater commercial potential than other marketplaces. For example, advanced spatial applications require access to up-to-date data, specialized hardware and tailor-made software modules. Answering complex questions posed by spatial applications can require the combination of various disparate and distributed services.

However, before service combination is possible, there are many issues to resolve, especially that of interoperability standards. The recent Open Geodata Interoperability Specification, offered by the Open GIS Consortium is a first framework on which to build a Spatial Internet Marketplace. With respect to concrete implementations, recently a first Spatial Marketplace design has been proposed in the context of the SMART project currently implemented at CSIRO Mathematical and Information Sciences. The proposed spatial market consist essentially of two different kinds of services: function and query services. Services participating in the Spatial Marketplace have to register with a distinguished service, called the registry. In addition to the basic provider services, there is also a service class which provides support for planning. Planning services turn a declarative request specification into an executable plan that invokes a combination of distributed data and computational services, to materialize the request.

In order to invoke the wide range of services conveniently, we need a standard request language. The language is to be used for expression of requests---both requests to be resolved by a planner and requests directed to individual function and query services. For this role we propose the Request Specification Language (RSL).

The RSL is designed specifically for requests for planning, function and query services in the SMART model; dealing uniformly with each. It also supports expression of desired result formats through type descriptors and type constructors. Although it is primarily intended for machine-based generation and interpretation, it is also conveniently human-readable and writable.

RSL requests are framed with respect to a novel abstract data model called SDM (Smart Data Model). It is designed primarily to allow uniform representation of computational procedures and structured databases in a way that is convenient and natural to each. Expressions of schemas for popular data models (relational, object-oriented, and so on) should be easily translated to this data model, enabling easy wrapper development for such existing systems.

The relational model is not suitable for SMART services because it lacks a sufficiently rich semantic structure. Although the relationship of fields within a row of a single table is clear enough, the relationships between fields across tables is not adequately represented. The object-oriented model captures the relationship of attributes of an object, but cannot represent relationships between objects. Unlike the relational model, the object-oriented model deals uniformly with computational procedures that are methods, but it loses its uniformity as soon as a method requires access to some data that is external to the object.

Unlike traditional models the SDM is concerned with data description, not with data representation or manipulation, and therefore has no difficulty with issues of duplication, unique naming and efficient retrieval.
The RSL distinguishes object selection---identifying the objects and data of interest, and object refinement---identifying what part of the described objects are to be returned and how. In its current form it is equivalent to a non-recursive first-order constraint language with arithmetic constraints. It is not a programming language. There is, for example no provision for iteration or conditional execution in the language. Rather it is a declarative query language.

A service request consists of two parts: a constraint specification which specifies the set of objects of interest and a target list describing the required output resulting from the operation and the representation of the result. In other words, the target list may not only consist of the required attributes but also of a range of type constructors or transformation routines. This allows the local service to generate an output which can be readily used by subsequent services without having to ship it to another site. Clearly, leads to a significant reduction of the computational overhead associated with evaluation a given request.

In the full paper, we identify the need for the SMART RSL and present a detailed description of it together with the underlying SDM. We show by means of various examples that the language is suitable for the role we have outlined in a spatial internet marketplace. We also discuss the push and pull models for controlling the distribution of data in distributed systems and discuss how to support them in the RSL.