Installation

In order to execute live transformations the latest version of the VIATRA2 Release3 core and extra components are needed. The extra components contains the live transformation engine, and the incremental pattern matcher which it is based on. If you have only the core components, you can download the extra components from this subversion repository: https://svn.inf.mit.bme.hu/viatra/viatra_extra/R3

Overview

The goal of this live transformation engine, is to provide a convenient and effective solution for model synchronizational problems, mainly in graphical modeling enviroments. These problems include:

The basic element of live transformations are the triggers. A trigger has a precondition graph pattern, and an action sequence. Every time the precondition graph pattern is fulfilled in the Viatra2 model space, the live transformation engine executes the action sequence, which can be an arbitrary Viatra2 graph manipulation sequence. The triggers can be formulated in the VTCL code as annotated gtrules, only with certain limitations (the original LHS-RHS representation cannot be used, rather this precondition-action format is used, which has the same expressiveness). The annotations can be the following:

The heart of this live transformation engine is the incremental pattern matcher. It stores the matchings (complete or partial) of the predefined graph patterns, so after each user editing action, the new (or lost) matches are available for the live transformation engine instantly.

Further reading

See http://mit.bme.hu/~rath/pub/diploma_okros.pdf

Examples