UML RSDS Model Transformation and Model-Driven Development Tools

Supports: Rapid development of complex transformations and systems from specifications

Video

Visual specification of transformations and systems using UML 2 (class diagrams, OCL, use cases)

UML-RSDS solves the long-standing problem of how to combine declarative high-level specification of model transformations and general software systems, with efficient execution. It does this by enabling users to write their specifications in OCL and class diagrams, and then automatically generating efficient Java code from these specifications.

The tool can be used to quickly sketch designs in UML and immediately generate working code - even for incomplete models. It can also be used to quickly produce prototypes or test scripts.

Download version 1.4: here

Extract the directory 'umlrsds1p4.zip' and then run: java UmlTool in this directory

The subdirectory 'output' is used to store models and Java code output.

Download latest current release: here

Number of downloads: 1077

UML-RSDS Manual

This manual explains the UML-RSDS notation and how to use the tools.

Case studies and publications

Some simple examples, from the Transformation Tool Contest 2011

The directory Simple migration defines one example from this. The model is in the file 'miguc.txt'

The directory Generic transitive closure The computation of the transitive closure 'ancestor' of 'parent'

The directory Sudoku solver for 4-by-4 Sudoku games

The directory Computes maximum inheritance depth in a class diagram The computation of the maximum inheritance depth in a class diagram (with at least one inheritance).

A more complex migration example

The class diagram rationalisation case study

. The correlation calculator case study

. The repotting geraniums case study

. The use case refactoring case study

.

Efficiency

The system processess large models efficiently, models of size 100,000 elements can be transformed in under 1 second (UML to relational database case study). Java code is produced ready for incorporation into production systems.

Tutorials

  1. First lab session
  2. Second lab session .
  3. Third lab session .

Contact

Kevin Lano: kevin.lano@kcl.ac.uk

Shekoufeh Kolahdouz-Rahimi: shekoufeh.kolahdouzrahimi@kcl.ac.uk