VIATRA/Query/DeveloperDocumentation/FeatureSetAndTesting
Contents
Features (UI Components)
Tested components with RCP Testing Tool
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
Preferences
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
Viewers
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 (school1.school and school2.school) | 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 |