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...
Main Authors: | , , |
---|---|
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 |