The UPGRADE framework for graph-based rapid prototyping

Welcome to the home of the UPGRADE framework at the department of computer science 3 at RWTH Aachen.

Project Summary

In the different phases of the software life cycle a wide variety of documents is created. Many of these documents have a graphical representation with an arbitrary complex structure (like class diagrams, use cases, entity-relationship diagrams, etc.). CASE tools like Rational Rose or Together help developers to modify these documents, but often fail to check the consistency of different documents that are linked together. Therefore it is necessary to implement CASE tools which are more than just an intelligent graphic editor, CASE tools that check the consistency of different inter-related documents and the like. Constructing tools that meet these requirements is a tedious and error-prone task for at least two reasons:

  1. Due to the graphical nature of most documents lots of work must be put in the realization of a graphical editor and an appropriate user interface.
  2. Checking the dependencies between many complex documents requires carefully implemented data structures and operations on the them.

The first issue can be simplified by using a framework for graph editors like DV-Centro, GEF, etc. Unfortunately, these frameworks seldom help in solving the second issue. The complexity of the second issue can be significantly reduced by specifying the data structures and operations on them in a visual language. Since graphs are the most general data structure a visual language which allows the specification of operations on graphs seems to suitable. An example for such a language is PROGRES, which is used to program graph replacement systems.

With the UPGRADE framework it possible to address both issues at once. Documents are internally represented as graphs. These graphs are modified by operations specified in PROGRES at the moment. Support for other graph replacement systems will be implemented in the future, it will also be possible to code the operations on the graphs by hand. For the presentation of these documents an up to date user interface is used featuring not only graphical views on the documents, but also hierarchical or tabular views. Other views on documents can be implemented easily by using Java Beans components.

To reduce the amount of work required to build a new tool the UPGRADE framework not only provides a couple of basic views which can be used to present a document. It also contains the whole infrastructure required to modify these documents, display selected parts of them, and filter out unwanted contents.

Development Team

  • Markus Heller (Lead)
  • Bodo Kraft
  • Galina Volkova
  • Jochen Hormes
  • Former student workers: I. Weisemöller, D. Fischer and other former student workers at our department

Development of initial UPGRADE version (UPGRADE-1)

  • B. Böhlen, F. Gatzemeier, D. Jäger, A. Marburger, O. Meyer, A. Schleicher, T. Weinberg, B. Westfechtel., et al.

Framework Users

The UPGRADE framework provides the basis for the development of prototypes in the following independent research projects:

UPGRADE in a nutshell

The UPGRADE framework can be characterized as follows:
  • framework for rapid prototyping
  • Documents are represented as graphs internally
  • Modification of documents by operations, no free-hand editing
  • Three customizable views for representing documents: graphs, trees and tables
  • Customizable filters to reduce the information shown in a view
  • Easy integration of third-party views
  • Four layout algorithm for graphs (Giotto: Suited for orthogonal and planar graphs, Nicolay: Highly customizable constrained-based layout algorithm for arbitrary graphs, Spring Embedder: Force-directed layout algorithm, Sugiyama: Suited for hierachical graphs)
  • Easy integration of third-party layout algorithms
  • Customizable translation from documents to views (unparsing)
  • Get a usable and highly customizable prototype without writing a single line of code

Publications and Presentations

Heller, M.
Werkzeuggestütztes Management komplexer Entwicklungsprojekte,
Prototype Demonstration, Aachener Regionalveranstaltung der RWTH Aachen zum Informatikjahr 2006, Aachen, 05.05.2006

Heller, M.
Dynamic Project and Workflow Management of Dynamic Design Processess,
Talk and Prototype Demonstration, Student Exchange Information Day, RWTH Aachen, Aachen, 17.02.2006

PDF Böhlen, B., Jäger, D., Schleicher, A. and Westfechtel, B.:
UPGRADE: Building Interactive Tools for Visual Languages,
Proceedings of the 6th World Multiconference on Systemics, Cybernetics, and Informatics (SCI 2002), Vol.1, Information Systems Development, Orlando, Florida, USA, July 2002, (2002)

PDF Elsevier Böhlen, B., Jäger, D., Schleicher, A. and Westfechtel, B.:
UPGRADE: A Framework for Building Graph-Based Interactive Tools,
in: Mens, T., Schürr, A. and Taentzer, G.: Proceedings International Workshop on Graph-Based Tools (GraBaTs 2002), Barcelona, Spain, October 2002, Electronic Notes in Theoretical Computer Science, Vol. 72, No. 2, Elsevier (2002)

Contact for further information

If you need further information on UPGRADE, please contact Markus Heller.

Created by: system last modification: Wednesday 28 of February, 2007 [06:32:04 UTC] by heller