Rondo: A Programming Platform for Model Management

On website you can download a demo version of the Rondo system. The current version is 1.0.3. A Java runtime environment has to be installed on your system to run the demo (download JRE). The database backend functionality is not included in the demo version.

New: the source code has been placed into the public domain and can be downloaded below. Please make sure you have read and agreed to the terms and conditions.

Installation instructions

Download and unpack the following zip archive into an empty directory: rondo-1.0.3-bin.zip. The archive includes the page you are reading.

Change the directory to where you unpacked the zip file. Double click on the file demo.bat in Windows Explorer or type demo.bat on command prompt. A file chooser pops up in which you can select a model-management script to execute. Once the script terminates, the file chooser window is displayed again. The execution trace of a script (including possible errors and warnings) is printed in the command prompt window.

Scenarios

Two sample scenarios are included: the change propagation and the reintegration scenario.

Change propagation scenario

The change propagation scenario can be found in the directory propagation and is described in our SIGMOD'03 paper cited below. Given are a relational schema, an XML schema, and a mapping between them. Now, either the relational schema or the XML schema evolves. The script allows propagating the changes done on the relational schema to the XML schema (script: propagate_rdb-xsd.mm) and vice versa (script: propagate_xsd-rdb.mm).

First, execute the script init.mm to initialize the schema files. A window will pop up that shows the input schemas and the mapping between them. Close the window to terminate the script.

Then, run propagate_rdb-xsd.mm or propagate_xsd-rdb.mm. Answer the question "Be verbose?" with "Yes" to walk through the scenarios step by step. In the verbose mode, the intermediate results of the scripts are shown in popup windows. When such a window is displayed, you may simply close it to proceed. However, the intermediate results can also be modified. Specifically, you may have to adjust the mapping suggestions generated automatically by the Match operator (look into the script files). How to edit the mappings is described in the GUI section below.

Reintegration scenario

The reintegration scenario allows merging the changes to a relational or an XML schema that were done independently by two engineers or tools (scripts: reintegrate_rdb.mm and reintegrate_xsd.mm in directory reintegration). This scenario is described in the Web Semantics article cited below. In short, the additions and deletions done on both schemas are reconciled in the resulting schema.

The reintegration scenario is also available in a run-through and verbose version. You will need to adjust the mapping m1x_m2x between the new elements added to both schemas.

Working with the GUI

The demo includes a simple GUI for examining and editing selectors and morphisms. If a selector is shown, click on a highlighted model element to select/unselect it.

If a morphism is shown, the user interface is always in one of the two modes: (a) a single element is selected and all its correspondences are shown, or (b) no elements are selected and the correspondences between all elements are shown. To switch back and forth between these two modes simply click on the same element multiple times.

Once an element has been selected, you can hold the SHIFT key pressed and select/unselect matching elements on the other side using a mouse click. To delete all incident arcs for an element, press CTRL and click on the element.

General note: sometimes you may need to resize a popup window to make the scrollbars appear.

Source code

The source code of Rondo includes an implementation of the Similarity Flooding Algorithm, and is distributed under terms and conditions listed below.

In addition, you may want to download the file contrib.zip that contains a modified version of the RDF parser SiRPAC (under W3C license) and the sources of the AElfred2 XML Parser (an early version by David Brownell).

To recompile the sources, unpack the Rondo source code and contrib.zip into the same directory and run the script recompile.bat.

Terms and conditions

Copyright   2004 The Board of Trustees of the Leland Stanford Junior University
All rights reserved.
The     Rondo    Program (Software), source code and binary files, which include an implementation of the Similarity Flooding Algorithm and the Stanford RDF API, is being provided free of charge. Software may be downloaded, modified and redistributed freely under the following terms and conditions:

Download source code: rondo-1.0.3-src.zip

Publications

Contact

Sergey Melnik (primary contact), Erhard Rahm, Phil Bernstein

Last modified: Apr 9, 2004