UML Model Profiling, Validation and Code Generation

This web site focuses on three interrelated phases of the software development process. In particular, it is a definition of a UML2 profile and enforcing its constraints, a model validation against the UML2 profile and last but not least a transformation of a UML model to a source code.

This web site describes primarily a generic framework that is completed by examples demonstrating its feasibility. The first example demonstrates a definition of a UML2 profile (called FW Profile) restricting state machines models that are supposed to model functional aspects and preserving functional properties. The example also covers the model validation part. The second example presents a custom model to code transformation, in particular a transformation of a UML2 model restricted by the FW Profile to Java source code. Both the FW Profile and the model to Java transformation has been implemented as independent Eclipse plug-ins.

This web site is divided into two parts. Readers interested only in general ideas and not in implementation details should read the Concept Description section, whereas those readers who would like to reuse the presented concepts and implement their own UML2 profile, a model validator or a code generator should focus more on sections with provided examples.

Note that the Eclipse plug-ins and other software described in this web site are freely and publicly available under the terms of the General Public License. The Eclipse plug-ins were implemented for a standard Eclipse platform as well as for the Rational Software Modeler (RSM) tool by IBM based also on the Eclipse platform. Since the RSM tool provides a graphical visualization of UML models in comparison to the standard Eclipse environment that is for majority of users a very attractive feature, therefore the tool specific steps presenting and implementing the proposed concept will be demonstrated on the RSM tool.