About the project:
The objectives of the UCL MDA Tools project are to produce and distribute a set of lightweight, platform independent tools for software development following the Model-Driven Architecture approach.
Recent research at UCL has focussed on improving the usability of OMG language specifications such as UML. The UCL MDA tools implement extensions to the EMOF specification to allow semantic documentation to be embedded in meta-models. Consequently, meta-models become full language specifications and can be used as the definitive reference for a language. We are working on converting UML standards to this machine- readable format. In consequence we are also making available a JMI implementation for UML 1.5 featuring embedded documentation and full constraint checking.
The toolset is implemented in Java, and licensed under the Mozilla triple licence.
The above screenshot depicts the generic editor component applied to a UML 1.5 repository. The tree uses elements from the meta-model (accessed via JMI reflection) such as packages, types and attributes, to organise the display of model level elements such as objects and attribute values.
The UCL MDA tools are licensed under the Mozilla Triple Licence. According to the terms of the licence, their source code may be reused in open-source software with compatible licence terms, or in proprietory software, providing all modifications to the source code are made available under a compatible open-source licence. The tools themselves may be used without limitation for any purpose, although we offer no warranty for them, and disclaim all liability possible relating to damage caused by their use. View the licence terms here.
Obtaining the packages:
The source code for all modules is available via CVS from Sourceforge. We also periodically provide both binary and source code file releases for (relatively) stable versions of the UCL MDA tools and UCL UML project.
The UCL MDA tools have a large and complex code base and build process. We are keen to hear your experiences in using them, and provide support wherever possible. Please post bug reports, feature requests, and request for support to our Sourceforge forums, or mail James Skene.
Contributing to the project:
If you are interested in contributing to this project, either to help improve the robustness and functionality of the existing tools, or to contribute novel tools or features that you think would add to the usefulness of the toolset, please contact James Skene. Also, if you are interested in helping but don't know what to do, we may be able to suggest a project.