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.
Similar content being viewed by others
Notes
The incremental Xpand engine is discussed in detail in Sect. 5.
The prototype is available in https://github.com/epsilonlabs/incremental-egl.
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.
EGX rules also support guards which can further limit their applicability.
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.
References
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)
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)
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)
Czarnecki, K., Helsen, S.: Classification of model transformation approaches. In: OOPSLA ’03 Workshop on Generative Techniques in the Context of Model-Driven Architecture (2003)
Czarnecki, K., Helsen, S.: Feature-based survey of model transformation approaches. IBM Syst. J. 45(3), 621–645 (2006)
Ogunyomi, B.: Incremental model-to-text transformation (qualifying dissertation). Technical report (2013)
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)
Egyed, A.: Automatically detecting and tracking inconsistencies in software design models. IEEE Trans. Softw. Eng. 37(2), 188–204 (2011)
Bettini, L.: Implementing Domain-Specific Languages with Xtext and Xtend, 2nd edn. Packt Publishing Ltd, Birmingham (2016)
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)
Steinberg, D., Budinsky, F., Merks, Ed, Paternostro, M.: EMF: Eclipse Model. Framew., 2nd edn. Pearson Education, London (2008)
Holzmann, G.J.: The SPIN model checker: primer and reference manual, vol. 1003. Addison-Wesley Reading, Boston (2004)
Groote, J.F., Mathijssen, A., Reniers, M., Usenko, Yaroslav, Van Weerdenburg, Muck: The Formal Specification Language mCRL2. Citeseer, Princeton (2007)
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)
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)
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)
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)
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)
Forgy, Charles L.: Rete: a fast algorithm for the many pattern/many object pattern match problem. Artif. Intell. 19, 17–37 (1982)
Bergmann, G., Ráth, I., Varró, G., Varró, D.: Change-driven model transformations. Softw. Syst. Model. 11(3), 431–461 (2012)
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)
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
Corresponding author
Additional information
Prof. Alfonso Pierantonio, Jasmin Blanchette, Francis Bordeleau, Nikolai Kosmatov, Gabi Taentzer, and ManuelWimmer.
Rights and permissions
About this article
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
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10270-018-0666-5