UML development projects facilitate model driven development (MDD) by bringing modeling closer to a development-based workflow in IBM® Rational® Software Architect RealTime Edition. This modeling paradigm enables a new theory of forward engineering, model is master. This theory encourages development within the model context by providing the means for development directly through the model and simplifies application development by generating code that is an artifact of the model compilation, or build. The UML model acts as the “code,” while UML state and structure diagrams are the “code editors.”
A UML development project functions as a linkage between Modeling perspective activities and domain specific language development perspectives, such as Java and C++ (Currently, only CDT projects are supported). Transformation configurations contained in each UML development project contain information about the target domain language project for the transformation, code generation options, and more. When a transformation in a project is invoked, either manually or automatically after a model save, code is generated directly into the target domain language project: for example, a CDT project.
UML development projects utilize the build infrastructure of the Eclipse platform. Builds can be performed automatically upon a resource save or manually through the user interface, a command line, Ant scripts, or external applications. Using the information contained in the project's transformation configuration and the target project's build settings, a build on a UML development project can optionally result not only in generated code, but compiled executables and libraries. You control the total scope of a build using project build commands and preferences. In addition to common Eclipse build commands, the UML development modeling feature introduces the Build Active Transformation Configuration command, which enables you to build the selected UML development project and all of its dependent language domain projects.
There are several methods available for running project builds, as well as specific transformation configurations, from scripts and other automations. The following list shows methods for implementing project builds:
This method is utilized by extending the Eclipse IncrementalProjectBuilder class.
Like custom Ant buildfiles, eclipse.incrementalBuild and com.ibm.xtools.transform.core.runTransformation are used with buildfiles that are set to build within the same JRE as the workspace.
Most of the above methods are limited to running the active transformations specified in each UML development project. In order to build single or multiple projects using any of their transformations, you can implement the com.ibm.xtools.transform.core.runTransformation Ant task.
For information about running specific transformations using command lines, applications, and ant scripts, see the online help for the domain-specific transformation. For information on implementing custom project builders and external tools, see the Eclipse platform online help.