Transformation Language Design: A Metamodelling Foundation

* Final gross prices may vary according to local VAT.

Get Access

Abstract

With the advent of the Model-Driven Architecture (MDA) [3] there is significant interest in the development and application of transformation languages. MDA recognises that systems typically consist of multiple models (possibly expressed in different modelling languages and at different levels of abstraction) that are precisely related. The relationship between these different models can be described by transformations (or mappings).

An important emerging standard for transformations is QVT (Queries, Views, Transformations). This standard, being developed by the Object Management Group (OMG), aims to provide a language for expressing transformations between models that are instances of the MOF (Meta Object Facility) [2] metamodel. The MOF is a standard language for expressing meta-data that is being used as the foundation for expressing language metamodels (models of languages). Because of the generic nature of MOF, it is also being used as the means of expressing the QVT language itself.

When the QVT process began (over two years ago), the task initially seemed quite straightforward. After all, many different transformation languages were already described in the literature, and it was felt that it would be straightforward to design such a language for MOF. Unfortunately, this has not been the case. Two key issues have made the task of designing such a language much harder. In the remainder of this paper we will examine these issues and propose a solution that is applicable across a wide variety of language definitions.