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.
Similar content being viewed by others
Notes
Here, we consider consistency among artifacts. We also mention consistency between forward and backward transformations in Sect. 3.4.7.
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.
TGG also provides theoretical foundations for operation-based execution. The feasibility of this approach is shown in [24].
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.
Apart from the updatability of the target discussed in [45].
It is possible to use TGG for specifying bidirectional transformations with non-bijective consistency relations [54].
Implementation is available at http://topps.diku.dk/pirc/?id=janus.
Feature equations are validated against the presented feature model using the tool FeatureIDE [38].
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.
References
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)
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
Bancilhon, F., Spyratos, N.: Update semantics of relational views. ACM Trans. Database Syst. 6(4), 557–575 (1981)
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)
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)
Braun, P., Marschall, F.: BOTL: the bidirectional object oriented transformation language. Tech. Rep. TUM-I0307, Technische Universität München (2003)
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)
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)
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
Bzivin, J., Kurtev, I.: Model-based technology integration with the technical space concept. In: Proceedings of the Metainformatics Symposium, Springer-Verlag. Springer, Berlin (2005)
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
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
Dayal, U., Bernstein, P.A.: On the correct translation of update operations on relational views. ACM Trans. Database Syst. 7(3), 381–416 (1982)
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
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)
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
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)
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
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
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
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
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)
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
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.
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)
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
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
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
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)
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)
Hu, Z., Schürr, A., Stevens, P., Terwilliger, J.F.: Bidirectional transformation ”bx” (dagstuhl seminar 11031). Dagstuhl Rep. 1(1), 42–67 (2011)
Hu, Z., Schürr, A., Stevens, P., Terwilliger, J.F.: Dagstuhl seminar on bidirectional transformations (bx). SIGMOD Rec. 40(1), 35–39 (2011)
Jacobs, F.R, Weston Jr., F.C.: Enterprise resource planning (ERP)—a brief history. J. Oper. Manag. 25(2), 357–363 (2007)
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
Johnson, M., Rosebrugh, R.D.: Lens put-put laws: monotonic and mixed. ECEASST 49 (2012). First International Workshop on Bidirectional Transformations (BX 2012)
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
Kang, K., Cohen, S., Hess, J., Novak, W., Peterson, A.: Feature-Oriented Domain Analysis (FODA) Feasibility Study. Tech. rep., DTIC Document (1990)
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
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
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
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)
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
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
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)
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)
Meertens, L.: Designing constraint maintainers for user interaction (1998). http://www.kestrel.edu/home/people/meertens/
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
Microsoft: Microsoft BizTalk Server. http://www.microsoft.com/biztalk/
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)
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/
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
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)
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)
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
Stevens, P.: Bidirectional model transformations in QVT: semantic issues and open questions. Softw. Syst. Model. 9(1), 7–20 (2010)
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
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)
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)
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
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.
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
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
Corresponding author
Additional information
Communicated by Prof. Krzysztof Czarnecki.
Rights and permissions
About this article
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
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10270-014-0450-0