Skip to main content
Log in

Incremental execution of model-to-text transformations using property access traces

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

Abstract

Automatic generation of textual artefacts (including code, documentation, configuration files, build scripts, etc.) from models in a software development process through the application of model-to-text (M2T) transformation is a common MDE activity. Despite the importance of M2T transformation, contemporary M2T languages lack support for developing transformations that scale with the size of the input model. As MDE is applied to systems of increasing size and complexity, a lack of scalability in M2T transformation languages hinders industrial adoption. In this paper, we propose a form of runtime analysis that can be used to identify the impact of source model changes on generated textual artefacts. The structures produced by this runtime analysis, property access traces, can be used to perform efficient source-incremental transformation: our experiments show an average reduction of 60% in transformation execution time compared to non-incremental (batch) transformation.

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.

Institutional subscriptions

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7

Similar content being viewed by others

Notes

  1. The incremental Xpand engine is discussed in detail in Sect. 5.

  2. The prototype is available in https://github.com/epsilonlabs/incremental-egl.

  3. Target incrementality is achieved when target files are not unnecessarily modified on disc (thus changing their last-modified timestamp) if their content has not changed.

  4. http://eclipse.org/modeling/m2t/??project=xpand.

  5. https://www.eclipse.org/acceleo/.

  6. EGX rules also support guards which can further limit their applicability.

  7. https://github.com/kolovos/pongo.

  8. https://git.eclipse.org/c/gmf-tooling.

  9. EGL uses efficient internal representation mechanisms (i.e. string buffers) and standard file I/O operations. The bulk of this time is spent on genuine execution of the logic of the template.

  10. http://eclipse.org/modeling/m2t/?project=xpand.

  11. http://help.eclipse.org/staging/neon2/index.jsp?topic=/org.eclipse.xpand.doc/help/incrementalGeneration_usage.html.

References

  1. Mohagheghi, P., et al.: MDE adoption in industry: challenges and success criteria. In: Chaudron, M.R.V. (ed.) Models in Software Engineering, vol. 5421, pp. 54–59. Springer, Berlin (2009)

    Chapter  Google Scholar 

  2. Kolovos, D.S., Paige, R.F., Polack, F.A.C.: Scalability: the holy grail of Model Driven Engineering. In: ChaMDE 2008 Workshop Proceedings, pp. 10–14 (2008)

  3. Ogunyomi, B., Rose, L.M., Kolovos, D.S.: Property access traces for source incremental model-to-text transformation. In: Modelling Foundations and Applications—11th European Conference, Held as Part of STAF, L’Aquila, Italy, July 20-24. pp. 187–202 (2015)

  4. Czarnecki, K., Helsen, S.: Classification of model transformation approaches. In: OOPSLA ’03 Workshop on Generative Techniques in the Context of Model-Driven Architecture (2003)

  5. Czarnecki, K., Helsen, S.: Feature-based survey of model transformation approaches. IBM Syst. J. 45(3), 621–645 (2006)

    Article  Google Scholar 

  6. Ogunyomi, B.: Incremental model-to-text transformation (qualifying dissertation). Technical report (2013)

  7. Rose, L.M., Paige, R.F., Kolovos, D.S., Polack, F.A.C.: The Epsilon Generation Language. In: Proc. ECMDA-FA, volume 5095 of LNCS, pp. 1–16. Springer (2008)

  8. Egyed, A.: Automatically detecting and tracking inconsistencies in software design models. IEEE Trans. Softw. Eng. 37(2), 188–204 (2011)

    Article  Google Scholar 

  9. Bettini, L.: Implementing Domain-Specific Languages with Xtext and Xtend, 2nd edn. Packt Publishing Ltd, Birmingham (2016)

    Google Scholar 

  10. Kolovos, D.S., Rose, L.M., Abid, S.B., Paige, R.F., Polack, F.A.C., Botterweck, G.: Taming EMF and GMF using model transformation. In: Model Driven Engineering Languages and Systems, pp. 211–225. Springer (2010)

  11. Steinberg, D., Budinsky, F., Merks, Ed, Paternostro, M.: EMF: Eclipse Model. Framew., 2nd edn. Pearson Education, London (2008)

    Google Scholar 

  12. Holzmann, G.J.: The SPIN model checker: primer and reference manual, vol. 1003. Addison-Wesley Reading, Boston (2004)

    Google Scholar 

  13. Groote, J.F., Mathijssen, A., Reniers, M., Usenko, Yaroslav, Van Weerdenburg, Muck: The Formal Specification Language mCRL2. Citeseer, Princeton (2007)

    MATH  Google Scholar 

  14. Ogunyomi, B., Rose, L.M., Kolovos, D.S.: On the use of signatures for source incremental model-to-text transformation. In: Dingel, J., Schulte, W., Ramos, I., Abrahão, S., Insfrán, E. (eds.) MoDELS, vol. 8767 of LNCS, pp. 84–98. Springer, Berlin (2014)

  15. Hearnden, D., Lawley, M., Raymond, K.: Incremental model transformation for the evolution of model-driven systems. In: Nierstrasz, O., Whittle, J., Harel, D., Reggio, G. (eds.) Proceedings of MoDELS, LNCS, pp. 321–335. Springer, Berlin (2006)

  16. Giese, H., Wagner, R.: Incremental model synchronization with triple graph grammars. In: Nierstrasz, O., Whittle, J., Harel, D., Reggio, G. (eds.) Model driven engineering languages and systems, pp. 543–557. Springer, Berlin (2006)

  17. Ráth, I., Bergmann, G., Ökrös, A., Varró, D.: Live model transformations driven by incremental pattern matching. In: Vallecillo, A., Gray, J., Pierantonio, A. (eds.) Theory and Practice of Model Transformations, pp. 107–121. Springer, Berlin (2008)

    Chapter  Google Scholar 

  18. Giese, H., Hildebrandt, S., Neumann, S.: Model synchronization at work: keeping SysML and AUTOSAR Models Consistent. In: Engels, G., Lewerentz, C., Schäfer, W., Schürr, A., Westfechtel, B. (eds.) Graph Transformations and Model-driven Engineering, pp. 555–579. Springer, Berlin (2010)

    Chapter  Google Scholar 

  19. Forgy, Charles L.: Rete: a fast algorithm for the many pattern/many object pattern match problem. Artif. Intell. 19, 17–37 (1982)

    Article  Google Scholar 

  20. Bergmann, G., Ráth, I., Varró, G., Varró, D.: Change-driven model transformations. Softw. Syst. Model. 11(3), 431–461 (2012)

    Article  Google Scholar 

  21. Jouault, F., Tisi, M.: Towards incremental execution of ATL transformations. In: Tratt, L., Gogolla, M. (eds.) Theory and Practice of Model Transformations, pp. 123–137. Springer, Berlin (2010)

    Chapter  Google Scholar 

Download references

Acknowledgements

This work was partially supported by the European Commission, through the Scalable Modelling and Model Management on the Cloud (MONDO) FP7 STREP project (Grant #611125). The motivating example discussed in this paper was taken from Rose’s work on the INESS project, which was supported by the European Commission and co-funded under the 7th Framework Programme (Grant #218575).

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Babajide Ogunyomi.

Additional information

Prof. Alfonso Pierantonio, Jasmin Blanchette, Francis Bordeleau, Nikolai Kosmatov, Gabi Taentzer, and ManuelWimmer.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Ogunyomi, B., Rose, L.M. & Kolovos, D.S. Incremental execution of model-to-text transformations using property access traces. Softw Syst Model 18, 367–383 (2019). https://doi.org/10.1007/s10270-018-0666-5

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10270-018-0666-5

Keywords

Navigation