The VIATRA framework supports the development of model transformations with specific focus on event-driven, reactive transformations. Building upon the incremental query support, VIATRA offers a language to define transformations and a reactive transformation engine to execute certain transformations upon changes in the underlying model.
The VIATRA project provides:
- An incremental query engine together with a graph pattern based language to specify and execute model queries efficiently.
- An internal DSL over the Xtend language to specify both batch and event-driven, reactive transformations.
- A complex event-processing engine over EMF models to specify reactions upon detecting complex sequences of events.
- A rule-based design space exploration framework to explore design candidates as models satisfying multiple criteria.
- A model obfuscator to remove sensitive information from a confidential model (e.g. to create bug reports).
The current VIATRA project is a full rewrite of the previous VIATRA2 framework, now with full compatibility and support for EMF models. The project features a History wiki page that describes the main differences between the different versions.