UML RSDS Model Transformation and Model-Driven Development Tools

Supports: Rapid development of complex transformations and systems from specifications


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 latest current release: here

Execute as java -jar umlrsds.jar in a directory with a writable subdirectory called "output".

Number of downloads: 1341


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



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.


Kevin Lano:

Shekoufeh Kolahdouz-Rahimi: