VIATRA (VIsual Automated model TRAnsformations)

Clone this repo:
  1. c2d6339 Merge "[562262] Exports annotation validator implementations" by Zoltan Ujhelyi · 2 days ago master
  2. 5250322 [562262] Exports annotation validator implementations by Zoltan Ujhelyi · 3 days ago
  3. 2b6417f [561118] Fix classpath of generator MWE2 by Gábor Bergmann · 12 days ago
  4. 29b168e Merge "[561118] Bugfixes in Oomph setup related to dependency versions" by Zoltan Ujhelyi · 2 weeks ago
  5. d4cd7f9 Merge "[562369] Ensures delayed commands are executed on listener registration" by Zoltan Ujhelyi · 2 weeks ago

VIATRA

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

Most important links

License

All code in this repository is available under the Eclipse Public License v2.0: http://www.eclipse.org/legal/epl-v20.html