Model transformation language explained

A model transformation language in systems and software engineering is a language intended specifically for model transformation.

Overview

The notion of model transformation is central to model-driven development. A model transformation, which is essentially a program which operates on models, can be written in a general-purpose programming language, such as Java. However, special-purpose model transformation languages can offer advantages, such as syntax that makes it easy to refer to model elements. For writing bidirectional model transformations, which maintain consistency between two or more models, a specialist bidirectional model transformation language is particularly important, because it can help avoid the duplication that would result from writing each direction of the transformation separately.

Currently, most model transformation languages are being developed in academia. The OMG has standardised a family of model transformation languages called QVT, but the field is still immature.

There are ongoing debates regarding the benefits of specialised model transformation languages, compared to the use of general-purpose programming languages (GPLs) such as Java.[1] While GPLs have advantages in terms of more widely-available practitioner knowledge and tool support, the specialised transformation languages do provide more declarative facilities and more powerful specialised features to support model transformations.[2]

Available transformation languages

the OMG has defined a standard for expressing M2T transformations

See also

Further reading

Notes and References

  1. https://www.jot.fm/issues/issue_2019_03/article7.pdf
  2. Advantages and disadvantages of (Dedicated) model transformation languages . 10.1007/s10664-022-10194-7 . 2022 . Höppner . Stefan . Haas . Yves . Tichy . Matthias . Juhnke . Katharina . Empirical Software Engineering . 27 . 6 . 251644010 . free . 2201.13348 .