Description and generation of mathematical web services Marc-Laurent Aird, Walter Barbera Medina, James Davenport, Julian Padget Department of Computer Science University of Bath BATH BA27AY, UK {mapma,wbm,jhd,jap}@cs.bath.ac.uk ABSTRACT The evolution of the web into a repository of documents and re- sources for programs to read instead of humans and in which pro- grams are published as services and invoked through messaging of- fers some interesting technical challenges, as well as opportunities, for mathematical software. The aim of the MONET [11] 1 project is a proof-of-concept, building on the standards defined so far by W3C, to demonstrate that (a) mathematical web services can be simply constructed and deployed (b) precise descriptions of math- ematical services can be written and published (c) basic brokerage facilities can be built identifying services that match the problem (d) advanced brokerage facilities can be built orchestrating several web services to solve a problem In this paper we focus on the first two aspects and provide a brief outline of the second two, all illus- trated by reference to services involving the NAG library and the Maple computer algebra system. 1. INTRODUCTION Currently, the web is a vast collection of information stored in a variety of formats and held loosely together by hyper-links. This is fine for human surfers who are able to filter out excess noise and understand natural languages, but it is no use if we want machines to be able to process and understand information. The next step is the semantic web [1], where information is encoded according to well-defined vocabularies that are designed to make the meaning of data explicit and unambiguous. The development of this vision will make it possible to automate a wide variety of sophisticated interactions, which today require human intervention. The aim of the MONET project is to demonstrate the applicability of the semantic web to the world of mathematical software, us- ing sophisticated techniques from AI and mathematics to match the characteristics of a problem to the advertised capabilities of available services and then invoking the chosen services through a standardised mechanism. The resulting framework is intended be powerful, flexible and dynamic, yet robust and easy to navigate, putting state-of-the-art algorithms at the disposal of users anywhere in the world. This paper discusses the MONET architecture and describes the work carried out to date on building a demonstration symbolic math- ematics web service. For the Bath demonstrator we have chosen to use Maple as the computer algebra system, but in principle any system could be used in the same way, for example, Reduce, Ax- iom, GAP, Magma. The key requirement is support for OpenMath 1 The MONET project (monet.nag.co.uk) is funded by the Commission of the European Communities Information Society program (project IST-2001-34145) ClientAgent Interaction Agent trading floor Client/Server Brokers Mathematical Services Grid computing network client defines task and delegates to agent agents with proposals/solutions agents utilise facilities owners offer facilities Problem definition layer: client defines problem in terms of inputs, methodologies and out- comes client allocates problem to agents, defines budget, sets priority Resource negotiation layer: agent analyses problem to estab- lish resources required and nego- tiates with other agents to obtain them Grid computation layer: Computing facilities available via resource management agent Specialised or spare resources Owners offer facilities Figure 1: MONET and the Grid or MathML input and output, although this functionality can be achieved by wrapping the algebra system within a phrasebook that carries out translation between these network-neutral representa- tions and the system’s presentation language. A similar symbolic service based on Maple has also been developed at the University of Western Ontario (UWO), while complementary numerical service has been developed by the Numerical Algorithms Group (NAG) at Oxford [13]. We begin with a brief overview of the MONET ar- chitecture, before taking a detailed look at service description and the current demonstration service, explaining how it is invoked, and the types of information passed through the service and across the web. In its completed state such a service will be discovered dy- namically by a broker or planner by matching client requirements and problem descriptions to properties of advertised services. The client, broker and each service will describe mathematical ob- jects using OpenMath [12, 3], an extensible semantic format for un- ambiguously describing mathematical objects and properties, em- bedded within Mathematical Service Description Language (MSDL) documents, which extend the information currently provided by Web Service Description Language (WSDL) documents. Open- Math describes mathematical concepts by way of symbols defined in Content Dictionaries (CDs). For example, the function sin is found in the transc1 CD of transcendental functions. However, in keeping with W3C conventions, we do not mandate the use of any particular technology except XML, so although we write here about using OpenMath and WSDL, these could equally well be MathML and IDL, for instance.