Skip to main content
Jump to: navigation, search


< VIATRA‎ | Query

Features (UI Components)

Xmind diagram.png

Tested components with RCP Testing Tool

Link to Google Spreedsheet

Query Editor

The Xtext-based editor can be used to create VIATRA Query queries. The editor provides many features to ease the development, such as automatic code completion, validation, etc.

Query Explorer

This view can be used to apply queries on various EMF instance models. The Query Explorer can interact with EMF-based editors such as the generated tree editor, and even with GMF and Graphiti editors. Advanced querying use cases, like pattern match set filtering and detail observation is also available with the Query Explorer. More


In the VIATRA Query preferences you can change VIATRA specific settings. You can turn on Wildcard mode or Dynamic EMF mode, or you can just change the settings of the Query Editor. More

Validation framework

VIATRA Query provides facilities to create validation rules based on the pattern language of the framework. These rules can be evaluated on various EMF instance models and upon violations of constraints, markers are automatically created in the Eclipse Problems View. More


The goal of the VIATRA Viewers component is to help developing model-driven user interfaces by filling and updating model viewer results with the results of model queries. The implementation relies on (and is modeled after) the JFace Data binding and JFace Viewers libraries. More

Rete Visualizer

The Rete algorithm is a pattern matching algorithm for implementing production rule systems. It is used to determine which of the system's rules should fire based on its data store. More

Testing framework

With Testing Framework, you can define EMF instance models from your query results. You can also modify these models. More

VIATRA Debugger View

The VIATRA Query debugger tooling aims to provide useful functionalities for the users, so that they can easily observe the contents of the VIATRA Query related artifacts when the program execution has stopped at a breakpoint. More

Xcore integration

VIATRA Query team have developed a deep integration between live graph search and Xcore, the Xtext-based textual syntax for Ecore metamodeling. With this feature, you can write live graph queries with VIATRA Query and integrate them transparently into your DSL in the form of derived features that support automatic notifications. More

Test suites

VIATRA Query Test Suites
Test project name Metamodel Test type Tested feature Coverage (the most covered components) Repository CI Site
patternlanguage.emf.tests no metamodel unit test Testing elements of the patternlanguage and parsing patternlanguage (18%), patternlanguage.emf (43%) viatra-repo Hudson
runtime.base.itc.test no metamodel unit test Testing graph implementation and graph traversal algorithms runtime.base.itc (67%) viatra-repo Hudson
runtime.tests dynamically created component integration test Testing matcher and functional dependency (minimal cover) runtime.rete (38%), runtime (21%), patternlanguage (9%) viatra-repo Hudson
network.tests network.ecore out of date out of date out of date examples-repo -
school.tests school.ecore out of date out of date out of date examples-repo Jenkins
ecorequery.tests ecore.ecore out of date out of date out of date examples-repo Jenkins
bpmn.tests only instance model out of date out of date out of date examples-repo -
derivedTest derivedModel.ecore out of date out of date out of date examples-repo -
runtime.base.test school.ecore ( and out of date out of date out of date examples-repo -
runtime.runonce.tests eiqlibrary.ecore component integration test Test cases that run different kind of derived features in run-once engine runtime.matchers (52%), runtime.rete (47%), runtime.base (43%), runtime (34%) viatra-repo -
bpm.tests derivedModel.ecore, integrated.ecore, operation.ecore, process.ecore, system.ecore component integration test Executing queries on BPMN model and testing query engine features runtime.matchers (51%), runtime.rete(46%) examples-repo Jenkins
examples.cps.tests examples.cps component integration test Executing different queries on cps model and framework testing runtime.matchers (72%), runtime.localsearch (56%), runtime.rete (55%), patternlanguage.emf (42%), runtime (35%) examples-repo Jenkins
gui.tests cps and uml component integration test Using vql editor, Query Explorer, Rete Visualizer, Viewers, Validation and Testing Framework, checking preferences addon.validation.runtime.ui (90%), addon.viewers.tooling.ui (81%), query.testing.ui (75%), addon.validation.runtime (64%), addon.viewers.runtime.zest (62%), query.tooling.ui (60%), integration.uml (59%), query.tooling.core (57%), query.runtime (50%) examples-repo Jenkins

Back to the top