[ Top ] [ Previous Section ] [ Next Section ]

A Heterogeneous Reasoning and Mediator System

2.5. Yellow Page Servers

A basic problem that arises when creating a mediator is that often, one may not know which data source contains the information desired. Moreover, even if the data source is known, the mediator author may not know how it can be accessed.

We envisage using a hierarchy of yellow pages servers to assist the mediator author in locating a data source. They will contain information for each domain that is currently accessible in HERMES, including information useful for accessing the domain. Yellow-pages servers can themselves be regarded as domains, just like all other domains. It is defined as part of HERMES, and hence the mediator author need not perform domain integration to access it. However, additions may be necessary to create new entries into the yellow pages as new domains are integrated.

Within our yellow-pages domain, we have exactly one function called topic that a mediator may invoke. This function takes as input, a string representing the name of a topic that the user is interested in. It returns as output, a set of structures. Each structure contains the name of the domain in which information about the named topic resides, and any associated information stored in the yellow pages server about this domain. As mentioned above, the information can be used by the mediator to access the domain. Hence, in particular it must contain the names of functions that can be used within this domain to access that data, and the list of arguments (and associated types) that the above function takes.

Consider for example the databases shown in Figure 3. Assuming that we are interested in the topic money, then the following predicate accomplishes this task:

find(Topic,D,F,A):1 <-
in(X,yp:topic(Topic)) &
=(X.dom,D) & =(X.func,F) & =(X.args,A).

The call yp:topic(Topic) calls the yellow pages domain with the given Topic. The returned set of values are structures of the form discussed. Hence the query <- find(``money'',D,F,A):1 accomplishes the desired task. The predicate find may now be used to define other, more complex predicates that require locating a resource before using it. The precise data structures and algorithms for implementing the yellow pages domain are currently under development.

[ Top ] [ Previous Section ] [ Next Section ]

Click here to go back to the Hermes homepage .

Web Accessibility