Skip to main content

Change Propagation in an Internal Model Transformation Language

  • Conference paper
  • First Online:
Theory and Practice of Model Transformations (ICMT 2015)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 9152))

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.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    http://nmf.codeplex.com/.

  2. 2.

    http://nmfexpressions.codeplex.com/.

  3. 3.

    http://nmfsynchronizationsbenchmark.codeplex.com/.

  4. 4.

    http://sdmlib.org/.

References

  1. 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)

    Chapter  Google Scholar 

  2. 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)

    Article  Google Scholar 

  3. 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)

    Google Scholar 

  4. Sendall, S., Kozaczynski, W.: Model transformation the heart and soul of model-driven software development. Technical report (2003)

    Google Scholar 

  5. Object Management Group, Meta Object Facility (MOF) 2.0 Query/View/Transformation Specification (2011). http://www.omg.org/spec/QVT/1.1/PDF/

  6. 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)

    Chapter  Google Scholar 

  7. Giese, H., Hildebrandt, S.: Efficient model synchronization of large-scale models, 28. Universitätsverlag Potsdam (2009)

    Google Scholar 

  8. Giese, H., Wagner, R.: From model transformation to incremental bidirectional model synchronization. Softw. Syst. Model. 8(1), 21–43 (2009)

    Article  Google Scholar 

  9. Becker, S., Koziolek, H., Reussner, R.: The Palladio component model for model-driven performance prediction. J. Syst. Softw. 82, 3–22 (2009)

    Article  Google Scholar 

  10. Hinkel, G.: An approach to maintainable model transformations using internal DSLs, Master thesis (2013)

    Google Scholar 

  11. Jouault, F., Kurtev, I.: Transforming models with ATL. In: Bruel, J.-M. (ed.) MoDELS 2005. LNCS, vol. 3844, pp. 128–138. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  12. 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)

    Google Scholar 

  13. 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)

    Google Scholar 

  14. Carlsson, M.: Monads for incremental computing. ACM SIGPLAN Not. 37(9), 26–35 (2002)

    Article  Google Scholar 

  15. Acar, U.A.: Self-adjusting computation. Ph.D. thesis, Citeseer (2005)

    Google Scholar 

  16. 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)

    Article  MathSciNet  MATH  Google Scholar 

  17. Acar, U.A., Ahmed, A., Blume, M.: Imperative self-adjusting computation. ACM SIGPLAN Not. 43, 309–322 (2008). ACM

    Article  MATH  Google Scholar 

  18. 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

    Article  Google Scholar 

  19. 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)

    Article  Google Scholar 

  20. 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)

    Chapter  Google Scholar 

  21. 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)

    Chapter  Google Scholar 

  22. Horn, T.: Model querying with FunnyQT. In: Duddy, K., Kappel, G. (eds.) ICMB 2013. LNCS, vol. 7909, pp. 56–57. Springer, Heidelberg (2013)

    Chapter  Google Scholar 

  23. 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)

    Chapter  Google Scholar 

  24. 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)

    Chapter  Google Scholar 

  25. 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)

    Chapter  Google Scholar 

  26. 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

  27. 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

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Georg Hinkel .

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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)

Publish with us

Policies and ethics