Skip to main content
Log in

Feature-based classification of bidirectional transformation approaches

  • Regular Paper
  • Published:
Software & Systems Modeling Aims and scope Submit manuscript

Abstract

Bidirectional model transformation is a key technology in model-driven engineering (MDE), when two models that can change over time have to be kept constantly consistent with each other. While several model transformation tools include at least a partial support to bidirectionality, it is not clear how these bidirectional capabilities relate to each other and to similar classical problems in computer science, from the view update problem in databases to bidirectional graph transformations. This paper tries to clarify and visualize the space of design choices for bidirectional transformations from an MDE point of view, in the form of a feature model. The selected list of existing approaches are characterized by mapping them to the feature model. Then, the feature model is used to highlight some unexplored research lines in bidirectional transformations.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13

Similar content being viewed by others

Notes

  1. Here, we consider consistency among artifacts. We also mention consistency between forward and backward transformations in Sect. 3.4.7.

  2. A more general scheme may be considered—synchronization with respect to transformation \(f\) achieved by the function \(\mathsf {sync}_f : S \times S \times T \rightarrow S \times T\) which takes the original source \(s\), updated source and updated target (original target is equal to \(f(s)\) so is not in the signature) and returns a pair of updated source and target. All our discussion can be generalized to this scheme, so we will discuss it explicitly only when needed, i.e., in Sect. 3.4.7.

  3. TGG also provides theoretical foundations for operation-based execution. The feasibility of this approach is shown in [24].

  4. The kind of change on the other artifacts that reflect the change made by the user is not necessarily the same as the kind of the change made by the user.

  5. Apart from the updatability of the target discussed in [45].

  6. We did not include commercial tools such as Microsoft BizTalk Server [48] and tools from ERP frameworks [33] for transforming structured data. Although these tools may belong to technical spaces other than the ones we have considered, our classification approach may also be applied.

  7. In pure TGG, there must be a bijection between source and target patterns [25]. There are literature on an implementation of a variant of TGG that explicitly address non-bijective usages [34], but formal bidirectional properties were not the scope of the paper.

  8. It is possible to use TGG for specifying bidirectional transformations with non-bijective consistency relations [54].

  9. Implementation is available at http://topps.diku.dk/pirc/?id=janus.

  10. Feature equations are validated against the presented feature model using the tool FeatureIDE [38].

    Table 2 Characterization of systems using proposed features
  11. Becker et al. [4] reported a TGG implementation with a specific focus on user interactions, but we could not find implementation that is publicly available currently.

  12. http://www.emn.fr/z-info/atlanmod/index.php/Bidirectional_Transformations.

References

  1. Anjorin, A., Varró, G., Schürr, A.: Complex attribute manipulation in tggs with constraint-based programming techniques. ECEASST 49, (2012). First International Workshop on Bidirectional Transformations (BX 2012)

  2. Antkiewicz, M., Czarnecki, K.: Design space of heterogeneous synchronization. Generative and Transformational Techniques in Software Engineering II pp. 3–46 (2007). http://www.springerlink.com/index/j166jvx06r50k776.pdf

  3. Bancilhon, F., Spyratos, N.: Update semantics of relational views. ACM Trans. Database Syst. 6(4), 557–575 (1981)

    Article  MATH  Google Scholar 

  4. Becker, S.M., Herold, S., Lohmann, S., Westfechtel, B.: A graph-based algorithm for consistency maintenance in incremental and interactive integration tools. Softw. Syst. Model. 6(3), 287–315 (2007)

    Article  Google Scholar 

  5. Bohannon, A., Foster, J.N., Pierce, B.C., Pilkiewicz, A., Schmitt, A.: Boomerang: resourceful lenses for string data. In: POPL ’08: ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, pp. 407–419 (2008)

  6. Braun, P., Marschall, F.: BOTL: the bidirectional object oriented transformation language. Tech. Rep. TUM-I0307, Technische Universität München (2003)

  7. Braun, P., Marschall, F.: Transforming object oriented models with BOTL. Electron. Notes Theor. Comput. Sci. 72(3), 103–117 (2003). doi:10.1016/S1571-0661(04)80615-7. GT-VMT’2002, Graph Transformation and Visual Modeling Techniques (First International Conference on Graph Transformation)

  8. Buneman, P., Fernandez, M.F., Suciu, D.: UnQL: a query language and algebra for semistructured data based on structural recursion. VLDB J. 9(1), 76–110 (2000)

    Article  Google Scholar 

  9. Büttner, F., Cabot, J., Gogolla, M.: On validation of ATL transformation rules by transformation models. In: Proceedings of the 8th International Workshop on Model-Driven Engineering, Verification and Validation - MoDeVVa p. 1 (2011). doi:10.1145/2095654.2095666

  10. Bzivin, J., Kurtev, I.: Model-based technology integration with the technical space concept. In: Proceedings of the Metainformatics Symposium, Springer-Verlag. Springer, Berlin (2005)

  11. Czarnecki, K., Foster, J.N., Hu, Z., Lämmel, R., Schürr, A., Terwilliger, J.F.: Bidirectional transformations: a cross-discipline perspective. In: Theory and Practice of Model Transformations: Second International Conference, ICMT 2009, Zürich, Switzerland, June 29–30, 2009: Proceedings, vol. 5563, pp. 260–283. Springer, New York (2009). doi:10.1007/978-3-642-02408-5

  12. Czarnecki, K., Helsen, S.: Feature-based survey of model transformation approaches. IBM Syst. J. 45(3), 621–645 (2006). doi:10.1147/sj.453.0621

    Article  Google Scholar 

  13. Dayal, U., Bernstein, P.A.: On the correct translation of update operations on relational views. ACM Trans. Database Syst. 7(3), 381–416 (1982)

    Article  MathSciNet  MATH  Google Scholar 

  14. Del Fabro, M., Bézivin, J., Jouault, F., Breton, E., Gueltas, G.: AMW: a generic model weaver. In: Proceedings of the 1ères Journées sur l’Ingénierie Dirigée par les Modèles (2005). http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.108.1294

  15. Diskin, Z., Maibaum, T.S.E.: Category theory and model-driven engineering: from formal semantics to design patterns and beyond. In: Golas, U., Soboll, T. (eds.) ACCAT, EPTCS, vol. 93, pp. 1–21 (2012)

  16. Diskin, Z., Wider, A., Gholizadeh, H., Czarnecki, K.: Towards a rational taxonomy for increasingly symmetric model synchronization. In: Di Ruscio, D., Varró, D. (eds.) Theory and Practice of Model Transformations, Lecture Notes in Computer Science, vol. 8568, pp. 57–73. Springer International Publishing (2014). doi:10.1007/978-3-319-08789-4_5

  17. Diskin, Z., Xiong, Y., Czarnecki, K.: From state- to delta-based bidirectional model transformations: the asymmetric case. J. Object Technol. 10(6), 1–25 (2011)

    Google Scholar 

  18. Diskin, Z., Xiong, Y., Czarnecki, K., Ehrig, H., Hermann, F., Orejas, F.: From state- to delta-based bidirectional model transformations: the symmetric case. In: Whittle, J., Clark, T., Kühne, T. (eds.) Model Driven Engineering Languages and Systems, Lecture Notes in Computer Science, vol. 6981, pp. 304–318. Springer, Berlin (2011). doi:10.1007/978-3-642-24485-8_22

  19. Ehrig, H., Ehrig, K., Ermel, C., Hermann, F., Taentzer, G.: Information preserving bidirectional model transformations. In: Fundamental Approaches to Software Engineering, pp. 72–86 (2007). http://www.springerlink.com/index/D3298714G2112360.pdf

  20. Foster, J.N., Greenwald, M.B., Moore, J.T., Pierce, B.C., Schmitt, A.: Combinators for bidirectional tree transformations: a linguistic approach to the view-update problem. ACM Trans. Program. Lang. Syst. 29 (2007). doi:10.1145/1232420.1232424

  21. Giese, H., Wagner, R.: From model transformation to incremental bidirectional model synchronization. Softw. Syst. Model. 8(1), 21–43 (2008). doi:10.1007/s10270-008-0089-9

    Article  Google Scholar 

  22. Greenyer, J., Kindler, E.: Comparing relational model transformation technologies: implementing Query/View/Transformation with Triple Graph Grammars. Softw. Syst. Model. 9(1), 21–46 (2010)

    Article  Google Scholar 

  23. Guerra, E., Lara, J., Orejas, F.: Pattern-based model-to-model transformation: handling attribute conditions. In: Proceedings of the 2nd International Conference on Theory and Practice of Model Transformations, ICMT ’09, pp. 83–99. Springer, Berlin (2009). doi:10.1007/978-3-642-02408-5_7

  24. Hermann, F., Ehrig, H., Orejas, F., Czarnecki, K., Diskin, Z., Xiong, Y.: Correctness of model synchronization based on triple graph grammars. In: Proceedings of the 14th International Conference on Model Driven Engineering Languages and Systems, MODELS’11, pp. 668–682. Springer, Berlin (2011). doi:10.1007/978-3-642-24485-8_49.

  25. Hettel, T., Lawley, M., Raymond, K.: Model synchronisation: definitions for round-trip engineering. In: Proceedings of the 1st International Conference on Theory and Practice of Model Transformations, ICMT ’08, pp. 31–45. Springer, Berlin (2008)

  26. Hidaka, S., Hu, Z., Inaba, K., Kato, H., Matsuda, K., Nakano, K.: Bidirectionalizing graph transformations. In: Proceedings of the 15th ACM SIGPLAN International Conference on Functional Programming, pp. 205–216. ACM (2010). http://portal.acm.org/citation.cfm?id=1863573

  27. Hofmann, M., Pierce, B., Wagner, D.: Symmetric lenses. In: Proceedings of the 38th annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL ’11, pp. 371–384. ACM, New York (2011). doi:10.1145/1926385.1926428

  28. Hofmann, M., Pierce, B., Wagner, D.: Edit lenses. In: Proceedings of the 39th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL ’12, pp. 495–508. ACM, New York (2012). doi:10.1145/2103656.2103715

  29. Hu, Z., Mu, S.C., Takeichi, M.: A programmable editor for developing structured documents based on bidirectional transformations. In: PEPM ’04: Proceedings of the 2004 ACM SIGPLAN Symposium on Partial Evaluation and Semantics-Based Program Manipulation, pp. 178–189. ACM Press, New York (2004)

  30. Hu, Z., Mu, S.C., Takeichi, M.: A programmable editor for developing structured documents based on bidirectional transformations. High.-Order Symb. Comput. 21(1–2), 89–118 (2008)

    Article  MATH  Google Scholar 

  31. Hu, Z., Schürr, A., Stevens, P., Terwilliger, J.F.: Bidirectional transformation ”bx” (dagstuhl seminar 11031). Dagstuhl Rep. 1(1), 42–67 (2011)

    Google Scholar 

  32. Hu, Z., Schürr, A., Stevens, P., Terwilliger, J.F.: Dagstuhl seminar on bidirectional transformations (bx). SIGMOD Rec. 40(1), 35–39 (2011)

    Article  Google Scholar 

  33. Jacobs, F.R, Weston Jr., F.C.: Enterprise resource planning (ERP)—a brief history. J. Oper. Manag. 25(2), 357–363 (2007)

  34. Jakob, J., Königs, A., Schürr, A.: Non-materialized model view specification with Triple Graph Grammars. In: Proceedings of the Third International Conference on Graph Transformations, ICGT’06, pp. 321–335. Springer, Berlin (2006). doi:10.1007/11841883_23

  35. Johnson, M., Rosebrugh, R.D.: Lens put-put laws: monotonic and mixed. ECEASST 49 (2012). First International Workshop on Bidirectional Transformations (BX 2012)

  36. Jouault, F., Bézivin, J., Kurtev, I.: TCS: a DSL for the specification of textual concrete syntaxes in model engineering. In: Proceedings of the 5th International Conference on Generative Programming and Component Engineering, p. 254. ACM, New York (2006). doi:10.1145/1173706.1173744

  37. Kang, K., Cohen, S., Hess, J., Novak, W., Peterson, A.: Feature-Oriented Domain Analysis (FODA) Feasibility Study. Tech. rep., DTIC Document (1990)

  38. Kästner, C., Thüm, T., Saake, G., Feigenspan, J., Leich, T., Wielgorz, F., Apel, S.: FeatureIDE: tool framework for feature-oriented software development. In: Proceedings of the 31th International Conference on Software Engineering (ICSE), pp. 611–614. IEEE Computer Society (2009). Formal Demonstration Paper

  39. Keller, A.M.: Choosing a view update translator by dialog at view definition time. In: Proceedings of the 12th International Conference on Very Large Data Bases, VLDB ’86, pp. 467–474. Morgan Kaufmann Publishers Inc., San Francisco, CA, USA (1986). http://www.sigmod.org/publications/dblp/db/conf/vldb/Keller86.html

  40. Königs, A.: Model transformation with Triple Graph Grammars. In: Model Transformations in Practice Satellite Workshop of MODELS (2005). http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.113.2894&rep=rep1&type=pdf

  41. Lambers, L., Hildebrandt, S., Giese, H., Orejas, F.: Attribute Handling for Bidirectional Model Transformations: The Triple Graph Grammar Case. ECEASST 49 (2012). http://journal.ub.tu-berlin.de/eceasst/article/view/706. First International Workshop on Bidirectional Transformations (BX 2012)

  42. Lämmel, R.: Coupled software transformations (Extended Abstract). In: First International Workshop on Software Evolution Transformations (SET 2004), pp. 31–35 (2004). http://post.queensu.ca/~zouy/files/set-2004.pdf#page=38

  43. Macedo, N., Cunha, A.: Implementing QVT-R bidirectional model transformations using Alloy. In: Proceedings of the 16th International Conference on Fundamental Approaches to Software Engineering, FASE’13, pp. 297–311. Springer, Berlin (2013). doi:10.1007/978-3-642-37057-1_22

  44. Marschall, F., Braun, P.: Model transformations for the MDA with BOTL. In: Rensink, A. (ed.) Model Driven Architecture: Foundations and Applications, CTIT Technical Report, vol. TR-CTIT-03-27, pp. 25–36. University of Twente (2003)

  45. Matsuda, K., Hu, Z., Nakano, K., Hamana, M., Takeichi, M.: Bidirectionalization transformation based on automatic derivation of view complement functions. In: ICFP 2007, pp. 47–58 (2007)

  46. Meertens, L.: Designing constraint maintainers for user interaction (1998). http://www.kestrel.edu/home/people/meertens/

  47. Mens, T., Van Gorp, P.: A taxonomy of model transformation. Electron. Notes Theor. Comput. Sci. 152, 125–142 (2006). http://linkinghub.elsevier.com/retrieve/pii/S1571066106001435

  48. Microsoft: Microsoft BizTalk Server. http://www.microsoft.com/biztalk/

  49. Nakano, K., Hidaka, S., Hu, Z., Inaba, K., Kato, H.: Simulation-based graph schema for view updatability checking of graph queries. Tech. Rep. GRACE-TR11-01, GRACE Center, National Institute of Informatics (2011)

  50. Object Management Group: Meta Object Facility (MOF) 2.0 Query/View/Transformation Specification. Version 1.0 (2008). http://www.omg.org/spec/QVT/1.0/

  51. Petter, A., Behring, A., Mühlhäuser, M.: Solving constraints in model transformations. In: Paige, R. (ed.) Theory and Practice of Model Transformations, Lecture Notes in Computer Science, vol. 5563, pp. 132–147. Springer, Berlin (2009). doi:10.1007/978-3-642-02408-5_10

  52. Rose, L.M., Matragkas, N., Kolovos, D.S., Paige, R.F.: A feature model for model-to-text transformation languages. In: Proceedings of the 4th International Workshop on Modeling in Software Engineering (MiSE), pp. 57–63 (2012)

  53. Schürr, A.: Specification of graph translators with Triple Graph Grammars. In: Mayr, E.W., Schmidt, G., Tinhofer, G. (eds.) Graph-Theoretic Concepts in Computer Science, 20th International Workshop, WG ’94, Herrsching, Germany, Lecture Notes in Computer Science, vol. 903, pp. 151–163. Springer, Berlin (1995)

  54. Stevens, P.: A landscape of bidirectional model transformations. In: Generative and Transformational Techniques in Software Engineering II: International Summer School, GTTSE 2007, Lecture Notes in Computer Science, vol. 5235, pp. 408–424. Springer, Berlin (2008). http://www.springerlink.com/index/d27135233t815525.pdf

  55. Stevens, P.: Bidirectional model transformations in QVT: semantic issues and open questions. Softw. Syst. Model. 9(1), 7–20 (2010)

    Article  Google Scholar 

  56. Taentzer, G., Ehrig, K., Guerra, E., de Lara, J., Lengyel, L., Levendovszky, T., Prange, U., Varró, D., Varró-Gyapay, S.: Model transformation by graph transformation: a comparative study. In: Proceedings of Workshop Model Transformation in Practice, Montego Bay, Jamaica. Citeseer (2005). http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.97.2827&rep=rep1&type=pdf

  57. Voigtländer, J.: Bidirectionalization for free! (pearl). In: POPL ’09: ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, pp. 165–176. ACM, New York (2009)

  58. Voigtländer, J., Hu, Z., Matsuda, K., Wang, M.: Combining syntactic and semantic bidirectionalization. In: ACM SIGPLAN International Conference on Functional Programming, pp. 181–192. ACM (2010)

  59. Wang, M., Gibbons, J., Wu, N.: Incremental updates for efficient bidirectional transformations. In: Proceedings of the 16th ACM SIGPLAN International Conference on Functional Programming, ICFP ’11, pp. 392–403. ACM, New York (2011). doi:10.1145/2034773.2034825

  60. Xiong, Y., Liu, D., Hu, Z., Zhao, H., Takeichi, M., Mei, H.: Towards automatic model synchronization from model transformations. In: Proceedings of the Twenty-Second IEEE/ACM International Conference on Automated Software Engineering—ASE ’07 p. 164 (2007). doi:10.1145/1321631.1321657.

  61. Yokoyama, T., Axelsen, H.B., Glück, R.: Principles of a reversible programming language. In: Proceedings of the 5th Conference on Computing Frontiers, CF ’08, pp. 43–54. ACM, New York (2008). doi:10.1145/1366230.1366239

Download references

Acknowledgments

We thank the anonymous reviewers for their detailed and helpful feedback on our paper and Frédéric Jouault, Keisuke Nakano, Kazutaka Matsuda, Hiroyuki Kato, Kazuhiro Inaba for their valuable comments and suggestions on earlier versions of this research. We would also like to thank Fabian Büttner for comments on earlier version of this paper. We also would like to thank participants of BIRS workshop on Bi-directional transformations (BX)—Theory and Applications Across Disciplines (13w5115), especially Alcino Cunha and the other members of the working group on Benchmarking Bidirectional Transformations, for inspiring discussions. This research has been supported by the EU FP7 MONDO project and the MOU grant from National Institute of Informatics.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Soichiro Hidaka.

Additional information

Communicated by Prof. Krzysztof Czarnecki.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Hidaka, S., Tisi, M., Cabot, J. et al. Feature-based classification of bidirectional transformation approaches. Softw Syst Model 15, 907–928 (2016). https://doi.org/10.1007/s10270-014-0450-0

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10270-014-0450-0

Keywords

Navigation