Cog Kit Floweditor Project Page
The Globus Project
General information on the Globus project The Globus Project's research The Globus Project's software products References for developers of the Globus Toolkit
../../image/c0c.png

  Project Pages
- Home
- Development

 
New Page 1

Flow Editor

This project is currently looking for motivated participants for the development work.

Goal

Develop a graphical component that allows creation, definition and manipulation of grid flows. A Grid flow is any well defined set of objects with a well defined set of dependencies. These objects could be jobs to be run on remote/local machines, web services or other objects with some definition.

Framework

To achieve the goal of designing a general graph editor we designed the flow editor as two components : a Graph component and a Renderer component that displays the graph.

The Graph Component

Defining edges, nodes and hypernodes (henceforth called objects) was the pivotal issue for the flow editor. XML has been used to define the objects that are part of the flow editor. Each object has an XML schema attached to it that defines its structure. This basic idea provides the greatest flexibility to this component. If the definition of an object needs to be changed, only the underlying XML schema has to be changed.

Example

A graph can represent a set of cooperating web services designed to perform a business process. Each node of the graph is a web service and these can be grouped together to form a hyper node i.e. a meta web service. Since the flow editor can read and write XML, it can generate XML instance document for each component based on the underlying XML schema and can combine all of them suitably. The resulting XML document can then be fetched into a Web Engine that can carry out the task and return the results, which can be displayed back on the screen.

The Renderer Component

Each object of the graph has a corresponding renderer that renders it on the screen. If the look and feel of the object needs to be changed at a later point of time, only the renderer needs to be changed. This separation of rendering from definition of components adds to the flexibility and generality of this component.

The use of XML ensures generality, platform independence and wide scale interoperability.

Features

  • Drag and drop of components on the canvas.
  • Graphs with arbitrary depths.
  • Reading and writing of graphs as per the XML schema.
  • Automatic layout of graph components.
  • On the fly component definition editor that allows to define components based on the attached schema
  • Execution of jobs (java programs) and executable on local machine.

Figure 1. Basic GUI of the Flow Editor Component with a sample graph.

Figure 2. Exploded view of the hyper node - Computation

Contacts

For more information please contact:

Gregor von Laszewski
Argonne National Laboratory
9700 South Cass Avenue
Argonne, IL 60439
gregor@mcs.anl.gov
(630) 252 0472

Team

Gregor von Laszewski

Please apply if you like to work in this project on voluntary basis.

Acknowledgements

This work is supported by the Mathematical, Information, and Computational Science Division subprogram of the Office of Advance Scientific Computing Research, U.S. Department of Energy under Contract W-31-109-Eng-38. DARPA, DOE, NSF support for the Globus Toolkit research and development. We thank all the members of the Globus Project for the valuable help. 

References

  1. Gregor von Laszewski. Java CoG Kit Manual.
  2. Gregor von Laszewski. A Loosely Coupled Metacomputer: Cooperating Job Submissions across Multiple Supercomputing Sites. Concurrency: Practice and Experience, Vol. 11(5), 933-948, 1999
  3. John Punnin, Mukkai Krishnamoorthy XGMML (eXtensible Graph Markup and Modeling Language). http://www.cs.rpi.edu/~puninj/XGMML/

Comments? gregor@mcs.anl.gov
Globus Project and Globus Toolkit are trademarks held by the University of Chicago.