Declarative Specification of Bidirectional Transformations Using Design Patterns

Bidirectional transformations (bx) are a specific form of model transformation (MT) used in model-driven engineering to maintain consistency between two models, which may change independently. Currently bx are defined using a number of specialized transformation languages, which have had limited upt...

Full description

Bibliographic Details
Main Authors: Kevin Lano, Shekoufeh Kolahdouz-Rahimi, Sobhan Yassipour-Tehrani
Format: Article
Language:English
Published: IEEE 2019-01-01
Series:IEEE Access
Subjects:
Online Access:https://ieeexplore.ieee.org/document/8587240/
id doaj-fcd98d206f9347ccaa147b4b7749895a
record_format Article
spelling doaj-fcd98d206f9347ccaa147b4b7749895a2021-03-29T22:06:53ZengIEEEIEEE Access2169-35362019-01-0175222524910.1109/ACCESS.2018.28893998587240Declarative Specification of Bidirectional Transformations Using Design PatternsKevin Lano0https://orcid.org/0000-0002-9706-1410Shekoufeh Kolahdouz-Rahimi1Sobhan Yassipour-Tehrani2Department of Informatics, King’s College London, London, U.K.Department of Software Engineering, University of Isfahan, Isfahan, IranDepartment of Informatics, King’s College London, London, U.K.Bidirectional transformations (bx) are a specific form of model transformation (MT) used in model-driven engineering to maintain consistency between two models, which may change independently. Currently bx are defined using a number of specialized 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 synchronization 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: 1) by automatically bidirectionalizing unidirectional transformation specifications and 2) 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.https://ieeexplore.ieee.org/document/8587240/Bidirectional transformationsdesign patternsmodel transformationsQVT-RUML-RSDS
collection DOAJ
language English
format Article
sources DOAJ
author Kevin Lano
Shekoufeh Kolahdouz-Rahimi
Sobhan Yassipour-Tehrani
spellingShingle Kevin Lano
Shekoufeh Kolahdouz-Rahimi
Sobhan Yassipour-Tehrani
Declarative Specification of Bidirectional Transformations Using Design Patterns
IEEE Access
Bidirectional transformations
design patterns
model transformations
QVT-R
UML-RSDS
author_facet Kevin Lano
Shekoufeh Kolahdouz-Rahimi
Sobhan Yassipour-Tehrani
author_sort Kevin Lano
title Declarative Specification of Bidirectional Transformations Using Design Patterns
title_short Declarative Specification of Bidirectional Transformations Using Design Patterns
title_full Declarative Specification of Bidirectional Transformations Using Design Patterns
title_fullStr Declarative Specification of Bidirectional Transformations Using Design Patterns
title_full_unstemmed Declarative Specification of Bidirectional Transformations Using Design Patterns
title_sort declarative specification of bidirectional transformations using design patterns
publisher IEEE
series IEEE Access
issn 2169-3536
publishDate 2019-01-01
description Bidirectional transformations (bx) are a specific form of model transformation (MT) used in model-driven engineering to maintain consistency between two models, which may change independently. Currently bx are defined using a number of specialized 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 synchronization 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: 1) by automatically bidirectionalizing unidirectional transformation specifications and 2) 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.
topic Bidirectional transformations
design patterns
model transformations
QVT-R
UML-RSDS
url https://ieeexplore.ieee.org/document/8587240/
work_keys_str_mv AT kevinlano declarativespecificationofbidirectionaltransformationsusingdesignpatterns
AT shekoufehkolahdouzrahimi declarativespecificationofbidirectionaltransformationsusingdesignpatterns
AT sobhanyassipourtehrani declarativespecificationofbidirectionaltransformationsusingdesignpatterns
_version_ 1724192233392963584