Abstract
Despite good results, Model-Driven Engineering (MDE) has not been widely adopted in industry. According to studies by Staron and Mohaghegi [1, 2], the lack of tool support is one of the major reasons for this. Although MDE has existed for more than a decade now, tool support is still insufficient. An approach to overcome this limitation for model transformations, which are a key part of MDE, is the usage of internal languages that reuse tool support for existing host languages. On the other hand, these internal languages typically do not provide key features like change propagation or bidirectional transformation. In this paper, we present an approach to use a single internal model transformation language to create unidirectional and bidirectional model transformations with optional change propagation. In total, we currently provide 18 operation modes based on a single specification. At the same time, the language may reuse tool support for C#. We validate the applicability of our language using a synthetic example with a transformation from finite state machines to Petri nets where we achieved speedups of up to 48 compared to classical batch transformations.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Staron, M.: Adopting model driven software development in industry – a case study at two companies. In: Wang, J., Whittle, J., Harel, D., Reggio, G. (eds.) MoDELS 2006. LNCS, vol. 4199, pp. 57–72. Springer, Heidelberg (2006)
Mohagheghi, P., Gilani, W., Stefanescu, A., Fernandez, M.A.: An empirical study of the state of the practice and acceptance of model-driven engineering in four industrial cases. Empirical Softw. Eng. 18(1), 89–116 (2013)
Meyerovich, L.A., Rabkin, A.S.: Empirical analysis of programming language adoption. In: Proceedings of the 2013 ACM SIGPLAN International Conference on Object Oriented Programming Systems Languages & Spplications, pp. 1–18. ACM (2013)
Sendall, S., Kozaczynski, W.: Model transformation the heart and soul of model-driven software development. Technical report (2003)
Object Management Group, Meta Object Facility (MOF) 2.0 Query/View/Transformation Specification (2011). http://www.omg.org/spec/QVT/1.1/PDF/
Giese, H., Wagner, R.: Incremental model synchronization with triple graph grammars. In: Wang, J., Whittle, J., Harel, D., Reggio, G. (eds.) MoDELS 2006. LNCS, vol. 4199, pp. 543–557. Springer, Heidelberg (2006)
Giese, H., Hildebrandt, S.: Efficient model synchronization of large-scale models, 28. Universitätsverlag Potsdam (2009)
Giese, H., Wagner, R.: From model transformation to incremental bidirectional model synchronization. Softw. Syst. Model. 8(1), 21–43 (2009)
Becker, S., Koziolek, H., Reussner, R.: The Palladio component model for model-driven performance prediction. J. Syst. Softw. 82, 3–22 (2009)
Hinkel, G.: An approach to maintainable model transformations using internal DSLs, Master thesis (2013)
Jouault, F., Kurtev, I.: Transforming models with ATL. In: Bruel, J.-M. (ed.) MoDELS 2005. LNCS, vol. 3844, pp. 128–138. Springer, Heidelberg (2006)
Hinkel, G., Goldschmidt, T., Happe, L.: An NMF Solution for the Flowgraphs case study at the TTC 2013. In: Sixth Transformation Tool Contest (TTC 2013), ser. EPTCS (2013)
Hinkel, G., Goldschmidt, T., Happe, L.: A NMF solution for the Petri Nets to State Charts case study at the TTC 2013. In: Sixth Transformation Tool Contest (TTC 2013), ser. EPTCS (2013)
Carlsson, M.: Monads for incremental computing. ACM SIGPLAN Not. 37(9), 26–35 (2002)
Acar, U.A.: Self-adjusting computation. Ph.D. thesis, Citeseer (2005)
Chen, Y., Dunfield, J., Hammer, M.A., Acar, U.A.: Implicit self-adjusting computation for purely functional programs. J. Funct. Program. 24(01), 56–112 (2014)
Acar, U.A., Ahmed, A., Blume, M.: Imperative self-adjusting computation. ACM SIGPLAN Not. 43, 309–322 (2008). ACM
Hammer, M.A., Acar, U.A., Chen, Y.: Ceal: a c-based language for self-adjusting computation. ACM Sigplan Not. 44, 25–37 (2009). ACM
Foster, J.N., Greenwald, M.B., Moore, J.T., Pierce, B.C., Schmitt, A.: Combinators for bi-directional tree transformations: a linguistic approach to the view update problem. SIGPLAN Not. 40(1), 233–246 (2005)
Cuadrado, J.S., Molina, J.G., Tortosa, M.M.: RubyTL: a practical, extensible transformation language. In: Rensink, A., Warmer, J. (eds.) ECMDA-FA 2006. LNCS, vol. 4066, pp. 158–172. Springer, Heidelberg (2006)
George, L., Wider, A., Scheidgen, M.: Type-safe model transformation languages as internal DSLs in scala. In: Hu, Z., de Lara, J. (eds.) ICMT 2012. LNCS, vol. 7307, pp. 160–175. Springer, Heidelberg (2012)
Horn, T.: Model querying with FunnyQT. In: Duddy, K., Kappel, G. (eds.) ICMB 2013. LNCS, vol. 7909, pp. 56–57. Springer, Heidelberg (2013)
Barringer, H., Havelund, K.: TraceContract: a scala DSL for trace analysis. In: Butler, M., Schulte, W. (eds.) FM 2011. LNCS, vol. 6664, pp. 57–72. Springer, Heidelberg (2011)
Hermann, F., Ehrig, H., Ermel, C., Orejas, F.: Concurrent model synchronization with conflict resolution based on triple graph grammars. In: de Lara, J., Zisman, A. (eds.) Fundamental Approaches to Software Engineering. LNCS, vol. 7212, pp. 178–193. Springer, Heidelberg (2012)
Lauder, M., Anjorin, A., Varró, G., Schürr, A.: Efficient model synchronization with precedence triple graph grammars. In: Ehrig, H., Engels, G., Kreowski, H.-J., Rozenberg, G. (eds.) ICGT 2012. LNCS, vol. 7562, pp. 401–415. Springer, Heidelberg (2012)
Leblebici, E., Anjorin, A., Schürr, A., Hildebrandt, S., Rieke, J., Greenyer, J.: A comparison of incremental triple graph grammar tools. Electronic Communications of the EASST 67, (2014). http://journal.ub.tuberlin.de/eceasst/article/view/939/928
Burckhardt, S., Leijen, D., Sadowski, C., Yi, J., Ball, T.: Two for the price of one: a model for parallel and incremental computation. ACM SIGPLAN Notices 46, 427–444 (2011). ACM
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2015 Springer International Publishing Switzerland
About this paper
Cite this paper
Hinkel, G. (2015). Change Propagation in an Internal Model Transformation Language. In: Kolovos, D., Wimmer, M. (eds) Theory and Practice of Model Transformations. ICMT 2015. Lecture Notes in Computer Science(), vol 9152. Springer, Cham. https://doi.org/10.1007/978-3-319-21155-8_1
Download citation
DOI: https://doi.org/10.1007/978-3-319-21155-8_1
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-21154-1
Online ISBN: 978-3-319-21155-8
eBook Packages: Computer ScienceComputer Science (R0)