Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: for the plan.

Jump to: navigation, search


New and Noteworthy - VIATRA 0.8.0

Compatibility with EMF-IncQuery 1.1

MWE integration

  • Added a class library that allows the definition of heterogeneous model transformation chains using a specialized description language.
    • Used base language is the Xtext MWE2
    • Sequence of model transformation steps can be easily specified and maintained.
    • Nontrivial side-effect relations between transformation steps can be handled.
    • The execution of event-driven transformations can be explicitly controlled.
    • Because of the specialized language, the description code base is short and easily expandable.
  • Details at: VIATRA/Transformation_API/MWE2_Integration

VIATRA-DSE component

  • New state coder. Previously VIATRA-DSE 0.7 had a slow and sometimes buggy state coder (which is needed for identifying recurring state in the search space) but at least worked for any problem domain. In 0.8 a new state coder is introduced which is much more simple and therefore faster but. It simply encodes 1) all the attribute values and 2) all the attribute values of the referenced EObjects of all the EObjects. The disadvantage of the new state coder is that it may fail in certain scenarios (e.g., if a rule can add "A"s, another can delete "A"s and a third one can make references between them). From 0.8 this is the default state coder. When used, the metamodel (EPackage) of the domain must be defined for the DSE framework. VIATRA/DSE/UserGuide/API#State_coding


  • Redesigned event pattern compiler
    • The compiler responsible for mapping the user-defined complex event patterns and rules onto the execution model, have been redesigned. Previously implemented purely in Java, the current version is fully based on model-to-model transformations, powered by the VIATRA transformation engine.
  • Check expression support in atomic event patterns
  • Native support for processing events of the Notification API
    • We modeled the EMF notification API via VEPL and packaged it into a small library. By importing org.eclipse.viatra.cep.emf.notification.model.*, the basic EMF operations become available in the current VEPL model.

Back to the top