Inria / Raweb 2004
Project-Team: DaRT

Search in Activity Report, year 2004:


Project-Team : dart

Section: Software

Keywords: Model Transformation, MDA, QVT, Query View Transformation.


Participants: Cédric Dumoulin [contact person], Lossan Bondé.

The ModTransf tool performs model to model transformations according to transformation rules expressed in XML, and code generation from models.

The ModTransf tool allows to perform transformation of models by writing transformation rules. The tool takes one or more models and some transformation rules as input, and provides one or more transformed models as output. The ModTransf tool works as well on models based on metamodels, on models based on XML schema or DTD, or on graphs of objects.

Transforming a model is done by submitting a concept to the engine. The engine then selects the more appropriate rule for this concept and applies it. Schematically, a rule specifies the concepts it requires as input, the concepts it provides as output, and how attributes of the source concepts are mapped on attributes of the target concepts. This attribute mapping may call recursively the engine, allowing to walk across the input models to produce the output models.

The transformation rules can be written using an XML syntax. The concepts are identified by their names from the MOF metamodels, or from the XML schemas.

The tool can also be used to generate code from a model. This is achieved by specifying transformation rules that will produce the code. A rule is then associated to a template containing the code and some holders to be replaced by values from the model concepts.

Though our research domain is not the model to model transformation techniques, we need some tool to realize our prototypes. Thus we have developped in a very pragmatic way this transformation tool for the MDA. We do not aim at completeness but at a tool which enables us both to map a PIM model to a PSM model in a deterministic way and to generate code. Nevertheless, this tool follows the remarks done on the QVT proposals [44], and will follow the evolutions of this standard.

The tool is available as an open source distribution [41]. It is currently evaluated by other INRIA teams and external teams (CEA, academics).