Viatra 3: A Reactive Model Transformation Platform
Model-driven tools frequently rely on advanced technologies to support model queries, view maintenance, design rule validation, model transformations or design space exploration. Some of these features are initiated explicitly by domain engineers (batch execution) while others are executed automatically when certain trigger events are detected (live execution). Unfortunately, their integration into a complex industrial modeling environment is difficult due to hidden interference and unspecified interaction between different features. In this paper, we present a reactive, event-driven model transformation platform over EMF models, which captures tool features as model queries and transformations, and provides a systematic, well-founded integration between a variety of such tool features. Viatra 3 offers a family of internal DSLs (i.e. dedicated libraries) to specify advanced tool features built on top of existing languages like EMF-IncQuery and Xtend. Its main innovation is a source incremental execution scheme built on the reactive programming paradigm ssupported by an event-driven virtual machine.
KeywordsEvent-driven transformation Virtual machine Reactive programming Source incremental transformations
The authors wish to thank all the contributors of the Viatra 3 and EMF-IncQuery projects, in particular Tamás Szabó.
- 2.Willink, E.D.: An extensible OCL virtual machine and code generator. In: Proceedings of the 12th Workshop on OCL and Textual Modelling, pp. 13–18. ACM (2012)Google Scholar
- 4.Abdeen, H., Varró, D., Sahraoui, H., Nagy, A.S., Hegedüs, Á., Horváth, Á., Debreceni, C.: Multi-objective optimization in rule-based design space exploration. In: 29th IEEE/ACM International Conference on Automated Software Engineering (ASE 2014), pp. 289–300. IEEE, Vasteras, Sweden (2014)Google Scholar
- 5.The Eclipse Project: Eclipse Modeling Framework. Accessed: (2007)Google Scholar
- 8.Dávid, I., Ráth, I., Varró, D.: Streaming model transformations by complex event processing. In: Dingel, J., Schulte, W., Ramos, I., Abrahão, S., Insfran, E. (eds.) MODELS 2014. LNCS, vol. 8767, pp. 68–83. Springer, Heidelberg (2014) Google Scholar
- 12.Syriani, E., Vangheluwe, H., LaShomb, B.: T-core: a framework for custom-built model transformation engines. Softw. Syst. Model. 1–29 (2013)Google Scholar
- 15.van Pinxten, J., Basten, T.: Motrusca: interactive model transformation use case repository. In: 7th York Doctor Symposium on Computer Science & Electronics, vol. 57 (2014)Google Scholar