UMLX Documentation Page
UMLX Development Tools GMT subproject
UMLX is an experimental concrete syntax for a transformation language. While not
part of the official OMG QVT standardization process, it is expected that UMLX will evolve towards
the OMG standard, and it is hoped that UMLX will influence that standard in a constructive fashion.
Welcome to the UMLX documentation page
Caution: Most of the publications describe work performed in 2003. The basic principles outlined then remain valid
but it is likely that some details will have to change in order to align with the imminent QVT standard.
This paper describes the model location resolution problem and the UMLX-independent model registry solution.
This paper describes the refactoring of MDT-OCL to support re-use by QVT and the
use of EMOF adapters for Ecore.
This paper describes how strict model instantiation by (graphical) transformations
eliminates many opportunities for programming errors.
This paper contrasts textual and graphical transformation notations, highlights the properties that a
graphical notation requires and discusses how UMLX rises to that challenge.
This paper provides an introduction to UMLX, using an
AddressBook example to demonstrate definition of application level
This revision updates the QVT context and concentrates on the
language principles and the application programming example. See
earlier versions for compiler transformation and transformation
This paper provides a solution to the UML to RDBMS working example used on
the MOF QVT submissions mailing list. The syntax of UMLX is first introduced as the
solution is presented. Then more detailed issues are discussed.
The PowerPoint slides contain less detail but more context.
[This a more conventional compiler-level example with much more detail, but lacks discussion
of the wider context.]
This paper provides an introduction to UMLX, using an AddressBook example to demonstrate
definition of application level transformations, and then considers the need for
support for PIM + PDM to PSM transformation with a very simple compiler-level transformation
example. A consistent meta-modelling perspective is then demonstrated with an overview of
the UMLX models for the UMLX compiler.
The PowerPoint slides consider the broader MDA context.
[Use of an application example makes for a gentle introduction, which may leave readers
searching for more typical compiler-level examples unsatisfied.]
This paper is superseded by the OOPSLA version. This version
has less UML compliant graphics, and a very superficial and now dated overview of
the compiler and execution engine.
The PowerPoint slides contain more detail but no explanation.
The original submission is much longer, with more discussion
of the meta-modelling perspectives, and more technical details.
E.D.Willink, The UMLX Language Definition
See Towards a formalization of UMLX for precision, M4M03.pdf
This was the working design document for the original UMLX Compiler and the UMLX Execution Engine.
Once the Compiler was working, the models could have become the compiler source code.
[This provides examples of nearly 200 transformations, but has
very scant descriptions. Diagrams and descriptions are not
necessarily consistent because diagrams have to be manually pasted
from GME screen shots.]
This working document provides a formal definition of UMLX.