Declarative Specification of Bidirectional Transformations Using Design Patterns

Research output: Contribution to journalArticlepeer-review

5 Citations (Scopus)
97 Downloads (Pure)

Abstract

Bidirectional transformations (bx) are a specific form of model transformation (MT) used in model-driven engineering (MDE) to maintain consistency between two models which may change independently. Currently bx are defined using a number of specialised transformation languages, which have had limited uptake due to complex semantics and poor efficiency. In contrast, unidirectional transformation languages such as ATL have been widely-adopted, but require separate forward and reverse transformations to be written to address model synchronisation requirements. In this paper we provide declarative specification techniques for bx, systematically constructed using MT design patterns. We define two approaches to declarative bx definition: (i) by automatically bidirectionalising unidirectional transformation specifications;
(ii) by developing specification guidelines for the QVT-R standard language to make it more effective for bx in practice. The approaches are evaluated using a large-scale code-generator bx from UML to ANSI C and other examples. Their semantic validity is demonstrated by rigorous arguments.
Original languageEnglish
Article number8587240
Pages (from-to)5222-5249
Number of pages28
JournalIEEE Access
Volume7
Issue number1
DOIs
Publication statusAccepted/In press - 23 Jan 2019

Keywords

  • Bidirectional transformations
  • design patterns
  • model transformations
  • QVT-R
  • UML-RSDS

Fingerprint

Dive into the research topics of 'Declarative Specification of Bidirectional Transformations Using Design Patterns'. Together they form a unique fingerprint.

Cite this