WWW'95: The MMM Project

The MMM Project: Access to Algorithms via WWW

Oliver Günther, Ralf Koerstein,
Rudolf Müller and Peter Schmidt
Institut für Wirtschaftsinformatik
Humboldt-Universität zu Berlin
Spandauer Str. 1, D-10178 Berlin
Germany
guenther,koerst,rmueller,pschmidt}@wiwi.hu-berlin.de
http://www.wiwi.hu-berlin.de/institute/iwi/
Ramayya Krishnan
The Heinz School
Carnegie-Mellon University
Pittsburgh, PA 15215
U.S.A.
rk2x+@andrew.cmu.edu
http://www.cs.cmu.edu:8001/afs/andrew/usr/rk2x/home/krishnan.html
Keywords:
algorithms, model management systems, distributed computing

1. Introduction

The World Wide Web is now widely used to access information, which is in the form of documents. Documents are either static or generated on request by programs addressed by the Common Gateway Interface In contrast to this, the MMM project investigates how to use the Web for accessing algorithms via the World Wide Web. The objective of the project is to take implementations of sophisticated algorithms from fields such as statistics, econometrics, theoretical computer science and combinatorial optimization, and make them available via the Internet without users having to install them themselves. Instead of downloading the software from an FTP server, they just send their data to the algorithms. In summary, our system will be an easy-to-use distributed computing environment on the Web.

2. Benefits

There are a variety of benefits associated with this approach [GMW95]:

3. Approach

The MMM project combines WWW software with a C++ code generator, called Ypsilon [KLMM95]. Ypsilon was developed at the Technical University of Berlin. Its design is focused on providing a safe, normalized container system for the encapsulation of algorithms. A container is a combination of three C++ classes: one for the input, one for the output, and one for the method itself [MM94]. The classes provide a variety of methods by which the mapping between the container input object and the algorithms, as well as the transformation from the output of the algorithm to the output object is implemented. Once integrated this way, algorithms can be composed in data flow diagrams. The piping of algorithms in such diagrams is supported by a set of flexible assignment operators.

Integrated algorithms are loaded on an MMM Method Agent [KLMM95]. A user can login to the agent from every WWW client that supports HTML form tags. The agent generates Ypsilon objects on request, provides an editor for these objects and applies algorithms to objects. Algorithms may be remote, i.e., on special method servers with which the agent makes a connection automatically. For the initialization of objects, the agent can download objects from FTP servers allowing anonymous FTP. By this mechanism users can submit their own data to the algorithms.

The communication with the method agent is organized via an MMM gateway program. The gateway program translates command line arguments received through the Common Gateway Interface into instances of Ypsilon Method Agent request models. The request models are sent via sockets to the Method Agent. The reply of the Method Agent, which is again an Ypsilon object, is translated into an HTML document. In many cases this document contains a form by which the user can submit the next request.

The services provided by the Method Agent currently include the creation and deletion of objects, simple editors, method invocation, and help on available data models and algorithms. With these a user can get an overview of all Ypsilon data models and algorithms that are offered by an agent.

The algorithms available in the current prototype agent have been developed in a related research project on ``Modeling and Algorithmic Solutions for Scheduling Problems,'' performed by FAW Ulm and the Algorithmic Discrete Mathematics group at Technical University of Berlin. One important result of that project was an ontology of data classes and algorithms for classical machine scheduling models, time-cost trade-off models, and stochastic scheduling models.

4. Further Developments

Besides improving the services MMM is already offering, our major future focus will be on supporting the check-in of algorithms. The aim is that a method provider can announce methods to the Method Agent by using the same mechanisms as for method invocation. This means that models are built for the input and output of a method, and a URL is announced to which the Method Agent can send instances of the input model and retrieve instances of the output model. The provider is then only responsible for converting the data formats. The Method Agent supports these tasks by sending a specification of the file format, including an example.

Once a certain number of methods is available on MMM, we will improve the Method Agent by allowing the user to generate data flow diagrams that compose distributed methods and to execute them. The work with data flow diagrams will be supported by methods of combinatorial optimization that help to optimize and control the flow of execution. In the pure Ypsilon environment such data flow diagrams are already running and can, e.g., be used to classify instances of machine scheduling problems.

The latest state of the prototype is accessible under URL "http://coltrane.wiwi.hu-berlin.de/DemoYpsport.html". Some of the interface forms that are available there are appended to this document.

GMW95
O. Günther, R. Müller and A. Weigend. MMM: A Model Management System for Time Series Analysis. Discussion Paper 05-95, Sonderforschungsbereich 373, Humboldt-Universität zu Berlin, 1995.

KMS95
R. Krishnan, R. Müller and P. Schmidt. Accessing Computable Information Over the WWW: The MMM Project. Working Paper, Humboldt-Universität zu Berlin, 1995.

KLMM95
D. Kühl, A. Ludwig, R. H. Möhring, and R. Müller. Ypsilon User Manual. Technische Universität Berlin, 1995.

MM94
D. Möller and R. Müller. A Concept for the Representation of Data and Algorithms. In: N. Dean and G. Shannon (eds.), Computational Support for Discrete Mathematics (DIMACS Workshop, March 12-14, 1992), 1994.

5. Appendix: Examples of Forms


Welcome to MMM

This is an entry point to work with the MMM Method Agent. We provide four types of forms for four types of services: With these forms you communicate with the MMM Method Agent. The first thing to do is to login.

You may read the short help page for some guidance.


Help Request to MMM Method Agent

With this form you request help from the MMM Method Agent.

Please identify yourself:

User

Service is

Select Help Service Arguments

You may choose one of the following help services

Service :


If you have chosen AllDataModels, AllMethodModels or ViewModel you have to select a domain name

Domain :


If you have chosen ViewModel you have to select a type name

Type :


the request to the Method Agent.
the content of the form.

Data Request to MMM Method Agent

With this form you can handle your table of objects at the MMM Method Agent.

Please identify yourself:

User

Service is

Select Data Service Arguments

My request to the Method Agent is to perform

the request to the Method Agent.
the content of the form.

Method Request to MMM Method Agent

With this form you can invoke a method at the MMM Method Agent.

Please identify yourself:

User

Service is


You have to select