Scalable reactive model transformations

Helping handle models and data structures


Read More

The Eclipse VIATRA™ framework is a model and data transformation tool that helps move information back and forth in the most efficient way. The platform focuses specifically on event-driven and reactive transformations, which happen on-the-fly as the models change.

VIATRA is a long-running project that incorporates the results of over 15 years of active research and development. VIATRA offers

  • a domain-specific language for graph queries and reactive transformations
  • a Java runtime library which is scalable and easy to embed.

VIATRA primarily targets model-driven engineering tools based on the industry-standard Eclipse Modeling Framework, though it can be used in other contexts as well. VIATRA is an enabling technology and its biggest benefit is the power it gives you to close abstraction gaps. These exist in every data-driven application where structured data needs to be moved across various languages or representation formats.

VIATRA helps you create model transformations that convert objects between languages. Trivial transformations (i.e. copying pieces of data from one document to another) are easy with any general purpose programming language such as Java. In contrast, VIATRA gives you easy-to-use and reusable programming patterns to address non-trivial transformations, such as

  • Changing of structure, i.e. converting a UML model to a source code.
  • Derived data and abstractions: manipulating data during conversion, e.g. filtering information for creating ‘abstract views’
  • Combining multiple sources of information in a significant way to produce a new result, e.g. when creating data streams for dashboards
  • Changing structure: projection of data containing only relevant information during the conversion phrase

VIATRA 2.8.0 is released

VIATRA 2.8.0 was released shortly after SimRel 2023-09. This release introduces a few bugfixes, all users are recommended to upgrade.


More News

Why Viatra?

Scalability

Scalability is a core principle of VIATRA. VIATRA achieves scalability via incrementality. Built-in high-performant incremental algorithms enable saving time when a query or a transformation is run multiple times.

Documentation and Extensive Q&A work

VIATRA is well documented for both users and programmers through case studies, research papers and blogs. Every release goes through extensive QA testing performed automatically to ensure constant high-quality releases.

Support

Support is an important perk VIATRA developers receive. If you run into a problem in the development process, the VIATRA team is there to help you.

Development Environment

The VIATRA framework includes a powerful query development environment that includes a feature-rich editor for model queries, a code generator to ease integrating queries into Java applications. Furthermore, the environment also includes a set of views that collect and evaluate model queries under development them on different models, simplifying the development and debugging process.

Further benefits to working with VIATRA?

Performance tunability

Trade-off between runtime, memory usage, incrementality.

Easy to integrate

Build your custom tool based on VIATRA.

Usability

Well designed APIs and IDE integration.

PARTNERS