Software & Systems Modeling

, Volume 15, Issue 3, pp 907–928 | Cite as

Feature-based classification of bidirectional transformation approaches

  • Soichiro Hidaka
  • Massimo Tisi
  • Jordi Cabot
  • Zhenjiang Hu
Regular Paper

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.

Keywords

Bidirectional transformation  Feature model Domain analysis 

References

  1. 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)Google Scholar
  2. 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. 3.
    Bancilhon, F., Spyratos, N.: Update semantics of relational views. ACM Trans. Database Syst. 6(4), 557–575 (1981)CrossRefMATHGoogle Scholar
  4. 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)CrossRefGoogle Scholar
  5. 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)Google Scholar
  6. 6.
    Braun, P., Marschall, F.: BOTL: the bidirectional object oriented transformation language. Tech. Rep. TUM-I0307, Technische Universität München (2003)Google Scholar
  7. 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. 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)CrossRefGoogle Scholar
  9. 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. 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)Google Scholar
  11. 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. 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 CrossRefGoogle Scholar
  13. 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)MathSciNetCrossRefMATHGoogle Scholar
  14. 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. 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)Google Scholar
  16. 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. 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. 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. 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. 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. 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 CrossRefGoogle Scholar
  22. 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)CrossRefGoogle Scholar
  23. 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. 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. 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)Google Scholar
  26. 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. 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. 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. 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)Google Scholar
  30. 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)CrossRefMATHGoogle Scholar
  31. 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. 32.
    Hu, Z., Schürr, A., Stevens, P., Terwilliger, J.F.: Dagstuhl seminar on bidirectional transformations (bx). SIGMOD Rec. 40(1), 35–39 (2011)CrossRefGoogle Scholar
  33. 33.
    Jacobs, F.R, Weston Jr., F.C.: Enterprise resource planning (ERP)—a brief history. J. Oper. Manag. 25(2), 357–363 (2007)Google Scholar
  34. 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. 35.
    Johnson, M., Rosebrugh, R.D.: Lens put-put laws: monotonic and mixed. ECEASST 49 (2012). First International Workshop on Bidirectional Transformations (BX 2012)Google Scholar
  36. 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. 37.
    Kang, K., Cohen, S., Hess, J., Novak, W., Peterson, A.: Feature-Oriented Domain Analysis (FODA) Feasibility Study. Tech. rep., DTIC Document (1990)Google Scholar
  38. 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 PaperGoogle Scholar
  39. 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. 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. 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. 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. 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. 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)Google Scholar
  45. 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)Google Scholar
  46. 46.
    Meertens, L.: Designing constraint maintainers for user interaction (1998). http://www.kestrel.edu/home/people/meertens/
  47. 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. 48.
    Microsoft: Microsoft BizTalk Server. http://www.microsoft.com/biztalk/
  49. 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)Google Scholar
  50. 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. 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. 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)Google Scholar
  53. 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)Google Scholar
  54. 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. 55.
    Stevens, P.: Bidirectional model transformations in QVT: semantic issues and open questions. Softw. Syst. Model. 9(1), 7–20 (2010)CrossRefGoogle Scholar
  56. 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. 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)Google Scholar
  58. 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)Google Scholar
  59. 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. 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. 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

Copyright information

© Springer-Verlag Berlin Heidelberg 2015

Authors and Affiliations

  • Soichiro Hidaka
    • 1
  • Massimo Tisi
    • 2
  • Jordi Cabot
    • 2
  • Zhenjiang Hu
    • 1
  1. 1.National Institute of InformaticsSOKENDAI (The Graduate University for Advanced Studies)TokyoJapan
  2. 2.AtlanMod team (Inria, Mines Nantes, LINA)NantesFrance

Personalised recommendations