Incremental Bidirectional Transformations: Comparing Declarative and Procedural Approaches Using the Families to Persons Benchmark

Published in Evaluation of Novel Approaches to Software Engineering - 13th International Conference, ENASE 2018, Funchal, Madeira, Portugal, March 23-24, 2018, Revised Selected Papers, 2018

DOI: 10.1007/978-3-030-22559-9_5

Download .bib-File

Abstract

Model transformations constitute a key technology for model-driven software engineering. In round-trip engineering processes, model transformations are performed not only in forward, but also in backward direction. In this paper, we compare declarative and procedural approaches to defining bidirectional transformations. More specifically, we use the well-known Families to Persons benchmark to evaluate two approaches. The declarative approach is based on QVT Relations (QVT-R), a declarative language which allows to specify incremental bidirectional transformations by defining a set of relations which need to hold among the participating models. The procedural approach makes use of BXtend, a light-weight framework for bidirectional transformations which are implemented in Xtend, a procedural and object-oriented programming language. Surprisingly, the comparative evaluation demonstrates that the procedural approach outperforms the declarative approach with respect to different criteria such as correctness of the solution, implementation effort, or cognitive complexity.