Please note that the main MONET web site is now available at http://monet.nag.co.uk/ .

MONET Overview

The principal objective of this project is to develop a framework for the description and provision of web-based mathematical services. Most of these services will be oriented towards solving problems algorithmically, but the framework will also support other technologies ranging from type-setters to databases. The key to such a framework is the ability to discover services dynamically based on published descriptions which describe both their mathematical and non-mathematical attributes. Such discovery and subsequent interaction might be mediated by software agents which are capable of recognising the criteria which should determine how particular kinds of problems are solved, and extracting them from the user's problem description.

This is a completely new way of doing mathematical computation. Current software tends to have its own (idiosyncratic and rarely explicit) semantics, and transferring programs from one environment to another is non-trivial. As users invest more time and resources in learning and developing software for a particular environment, they become "locked-in" to it with the result that they cannot always employ the most suitable approaches to solving a particular problem. The MONET framework will be accessible from existing software so users will not have to abandon their existing tools but will have access to a wider range of mathematical technology. Software agents will help them to make use of that technology where necessary.

It is important to stress that the MONET vision is far wider than simply "web-enabling" legacy applications, in the usual sense of writing, say, a Java front-end that lets one continue to talk to an application in its own private language, but now using the technology of Web forms. Rather, the MONET vision consists of enabling applications to start talking a common language, capable of being understood by other applications rather than just by expert human beings. Legacy applications could be wrapped in this framework to allow them to use each other in ways not envisaged by their original creators. Brokers and other forms of service applications can employ these "rejuvenated" legacy applications to present a richer, but more coherent, world view to the user.

Although in this project we are concentrating on mathematical services, our general approach has much wider applicability both inside and outside science. Much of the infrastructure and tools we are developing could be re-used in other contexts, in particular it would fit very naturally into e-science and the computational grid, an emerging vision of distributed services connected by high-speed networks.

A simple example of the kind of interaction which we wish to support is as follows. A domain-specific software package (e.g. CAD, financial analysis etc.) might need to solve a set of differential equations. It would look to see which services offering this kind of solution were currently available on the web by contacting one or more brokers. Selecting a service to use would of course involve matching its mathematical capabilities to the problem in hand, but also various non-mathematical issues such as the user's preferences for particular kinds or brands of software, whether the user is permitted to use the service (because he is in a particular domain, or has paid a subscription), whether the service has enough resources available to solve the user's problem in the time available and so on. Having negotiated access to a service the client would send it the problem and receive the result back, which it would return to the user. This example involves synchronous communication and a self-contained query and response. However MONET will also support mathematical "conversations" (i.e. sequences of dependent requests) and asynchronous communication.

The process of matching the mathematical capabilities of a service to a problem is likely to be non-trivial and may involve a certain amount of computation and analysis, e.g. to determine whether a set of differential equations is stiff or not. The features of the problem which are analysed, and the resulting choice of strategy, will depend directly on the advertised capabilities of those services which are currently available. While in theory it would be possible to construct a service which does both the analysis and the computation, in practice these two functions need to be logically distinct to make the framework more modular and flexible. Problems may need to be pre-processed to make them easier to solve with available services. For example, an integration service, when presented with an integral over an infinite range, might call a symbolic server to transform this to a finite range (possibly inducing a singularity at one end-point), re-evaluate the problem, and call a numeric solver which specialised in this sort of integral.

Information about a user and his or her personal preferences will be stored in a user profile, which will be made available to brokers for use in the service selection process. This could include details of services subscribed to, the user's geographical location, a list of services the user would like to avoid etc. We would expect to use a standard mechanism for this such as the Composite Capabilities/Preference Profile (CC/PP) being developed by W3C.

The framework will need to support tracing and explanation technology, so that a user can determine how a problem was solved and/or what went wrong. This is more than simply keeping a static log of which services processed which parts of the problem, and will involve details about why particular services were selected (and which other services selected them) and details of the solution process provided by the services themselves. Presenting this information in a coherent and manipulable way would be the task of a special service which could draw on technology currently used by the automatic reasoning community to present proofs.

As far as possible, this project is building on the new, emerging standards and technologies in this area. While many of these technologies address the general problem of delivering online services, they need to be tailored to suit mathematical services. Moreover the process of determining whether a mathematical service can satisfy a user's request is complicated, and can involve a significant amount of computation to analyse the problem. We anticipate that this kind of method selection will be carried out by special-purpose services whose task will be to recommend solution strategies in particular problem domains. The decision criteria used will be made available to the user.

XML-based technologies such as OpenMath and MathML provide semantically-rich representations of mathematical objects which can be processed by a wide range of mathematical services. However, these are static descriptions of fixed objects; in this project we propose to address issues related to the dynamic processing of mathematical objects: discovering and querying computational services, processing mathematical transactions and dialogues etc. We hope to exploit existing frameworks for service description and provision by tailoring them to our purposes. For example UDDI (Universal Description, Discovery and Integration) can be used to provide a static registry of online services, whose properties are described using WSDL (Web Services Description Language) and related work at W3C. WSDL and similar technologies such as DAML-S (the DARPA Agent Markup Language Service Ontology) in turn provide mechanisms for binding higher level service descriptions to lower level protocols such as SOAP (Simple Object Access Protocol) and HTTP. Within such a general framework we would develop ontologies for describing the functionality of mathematical services, and mathematical problems. Since this is a rapidly changing area we will make a final decision about which technologies to use early in the project, after a full investigation of the available options.

While we hope to base all our mathematical descriptions on OpenMath, this technology pre-dates much of the recent work on general frameworks for representing domain-specific semantic. We believe that the semantic information contained in OpenMath Content Dictionaries will need to be reconciled with more general frameworks such as RDF (Resource Description Framework) and DAML+OIL (DARPA Agent Markup Language + Ontology Inference Layer).

In concrete terms we will demonstrate that the protocols and ontologies which we develop are usable in practice by constructing a specimen software implementation of the framework and populating it with a number of different services and intermediaries. The use of such a framework in a number of application areas will be evaluated.