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]:
Algorithmic research results can be verified without requiring
users to do any installation work themselves;
WWW clients are usable as interfaces;
Users always have access to the latest version of an implementation;
Different methods solving the same problem are easily comparable;
Research results become visible to a large group of potential
users, both industrial and academic;
Algorithm providers obtain benchmark instances by the data
that clients send to their algorithms.
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.
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.
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.
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: