Abstract

The QVT-Relations (QVT-R) model transformation language is an OMG standard notation for model transformation specification. It is highly declarative and supports (in principle) bidirectional (bx) transformation specification. However, there are many unclear or unsatisfactory aspects to its semantics, which is not precisely defined in the standard. UML-RSDS is an executable subset of UML and OCL. It has a precise mathematical semantics and criteria for ensuring correctness of applications (including model transformations) by construction. There is extensive tool support for verification and for production of 3GL code in multiple languages (Java, C#, C++, C, Swift and Python). In this paper, we define a translation from QVT-R into UML-RSDS, which provides a logically oriented semantics for QVT-R, aligned with the RelToCore mapping semantics in the QVT standard. The translation includes variation points to enable specialised semantics to be selected in particular transformation cases. The translation provides a basis for verification and static analysis of QVT-R specifications and also enables the production of efficient code implementations of QVT-R specifications. We evaluate the approach by applying it to solve benchmark examples of bx.

Highlights

  • Model transformations (MT) are used in model-driven engineering (MDE) to map data of a source model sr c to a target model trg, where the models conform to particular source and target metamodels/languages S L and T L

  • Transformation specifications typically consist of a collection of transformation rules, each of which is concerned with mapping source elements of one or more S L classes to target elements of one or more T L classes

  • We aim to address these defects by providing a translation from QVT-R into the UML-RSDS formalism [18], which is a subset of UML with a formal semantics and extensive tool support

Read more

Summary

Introduction

Model transformations (MT) are used in model-driven engineering (MDE) to map data of a source model sr c to a target model trg, where the models conform to particular source and target metamodels/languages S L and T L. Transformation specifications (e.g. in QVT-R, ATL or UML-RSDS) typically consist of a collection of transformation rules, each of which is concerned with mapping source elements of one or more S L classes to target elements of one or more T L classes. Two execution modes can be distinguished for either forward or reverse transformation directions:. Incremental-mode execution, where incremental changes to a sr c (or trg) model are propagated to changes to an already populated trg (or sr c) model.

Objectives
Methods
Results
Conclusion
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call