kirancodes.me
To Proof Maintenance & Beyond!

Putback-based bidirectional model transformations

Xiao He, Zhenjiang Hu

Abstract

Bidirectional model transformation (BX) plays a vital role in Model-Driven Engineering. A major challenge in conventional relational and bidirectionalization-based BX approaches is the ambiguity issue, i.e., the backward transformation may not be uniquely determined by the consistency relation or the forward transformation. A promising solution to the ambiguity issue is to adopt putback-based bidirectional programming, which realizes a BX by specifying the backward transformation. However, existing putback-based approaches do not support multiple conversions of the same node (namely a shared node). Since a model is a graph, shared nodes are very common and inevitable. Consequently, existing putback-based approaches cannot be directly applied to bidirectional model transformation. This paper proposes a novel approach to BX. We define a new model-merging-based BX combinator, which can combine two BXs owning shared nodes into a well behaved composite BX. Afterwards, we propose a putback-based BX language XMU to address the ambiguity issue, which is built on the model-merging-based BX combinator. We present the formal semantics of XMU which can be proven well behaved. Finally, a tool support is also introduced to illustrate the usefulness of our approach.

BibTeX
@inproceedings{He-Hu:FSE18,
  author    = {Xiao He and
               Zhenjiang Hu},
  title     = {Putback-based bidirectional model transformations},
  booktitle = {{ESEC/SIGSOFT} {FSE}},
  pages     = {434--444},
  publisher = {{ACM}},
  year      = {2018},
}

Related papers