Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
Difference between revisions of "VIATRA/Query/DeveloperDocumentation/FeatureSetAndTesting"
m (Harmath.incquerylabs.com moved page EMFIncQuery/DeveloperDocumentation/FeatureSetAndTesting to VIATRA/Query/DeveloperDocumentation/FeatureSetAndTesting: Project merge) |
m (Update to VIATRA Query 1.2) |
||
Line 10: | Line 10: | ||
=== Query Editor === | === Query Editor === | ||
− | The Xtext-based editor can be used to create | + | 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 === | === Query Explorer === | ||
Line 17: | Line 17: | ||
=== Preferences === | === Preferences === | ||
− | In the | + | 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. |
[[EMFIncQuery/DeveloperDocumentation/FeatureSetAndTesting/Preferences|More]] | [[EMFIncQuery/DeveloperDocumentation/FeatureSetAndTesting/Preferences|More]] | ||
=== Validation framework === | === 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. | |
[[EMFIncQuery/DeveloperDocumentation/FeatureSetAndTesting/Validationframework|More]] | [[EMFIncQuery/DeveloperDocumentation/FeatureSetAndTesting/Validationframework|More]] | ||
=== Viewers === | === Viewers === | ||
− | The goal of the | + | 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. |
[[EMFIncQuery/DeveloperDocumentation/FeatureSetAndTesting/Viewers|More]] | [[EMFIncQuery/DeveloperDocumentation/FeatureSetAndTesting/Viewers|More]] | ||
Line 36: | Line 36: | ||
[[EMFIncQuery/DeveloperDocumentation/FeatureSetAndTesting/Testingframework|More]] | [[EMFIncQuery/DeveloperDocumentation/FeatureSetAndTesting/Testingframework|More]] | ||
− | === | + | === VIATRA Debugger View === |
− | The | + | 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. |
[[EMFIncQuery/DeveloperDocumentation/Features/Debug|More]] | [[EMFIncQuery/DeveloperDocumentation/Features/Debug|More]] | ||
=== Xcore integration === | === 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. | |
[[EMFIncQuery/DeveloperDocumentation/Features/Xcore|More]] | [[EMFIncQuery/DeveloperDocumentation/Features/Xcore|More]] | ||
== Test suites == | == Test suites == | ||
{| class="wikitable" | {| class="wikitable" | ||
− | ! colspan="7"| | + | ! colspan="7"| VIATRA Query Test Suites |
|- | |- | ||
! Test project name | ! Test project name | ||
Line 56: | Line 56: | ||
! CI Site | ! CI Site | ||
|- | |- | ||
− | | patternlanguage.emf.tests || no metamodel || unit test || Testing elements of the patternlanguage and parsing || patternlanguage (50%), patternlanguage.emf (50%) || [http://git.eclipse.org/c/ | + | | patternlanguage.emf.tests || no metamodel || unit test || Testing elements of the patternlanguage and parsing || patternlanguage (50%), patternlanguage.emf (50%) || [http://git.eclipse.org/c/viatra/org.eclipse.viatra.git/tree/query/tests/org.eclipse.viatra.query.patternlanguage.emf.tests viatra-repo] || [https://hudson.eclipse.org/incquery/job/incquery-master/lastCompletedBuild/testReport/ Hudson] |
|- | |- | ||
− | | runtime.base.itc.test || no metamodel || unit test || Testing graph implementation and graph traversal algorithms || runtime.base.itc (67%) || [http://git.eclipse.org/c/incquery/org.eclipse.incquery.git/tree/tests/org.eclipse.incquery.runtime.base.itc.tests | + | | runtime.base.itc.test || no metamodel || unit test || Testing graph implementation and graph traversal algorithms || runtime.base.itc (67%) || [http://git.eclipse.org/c/incquery/org.eclipse.incquery.git/tree/tests/org.eclipse.incquery.runtime.base.itc.tests viatra-repo] || [https://hudson.eclipse.org/incquery/job/incquery-master/lastCompletedBuild/testReport/ Hudson] |
|- | |- | ||
− | | runtime.tests || dynamically created || component integration test || Testing matcher and functional dependency (minimal cover) || runtime (30%), patternlanguage (30%), snapshot (30%) || [http://git.eclipse.org/c/incquery/org.eclipse.incquery.git/tree/tests/org.eclipse.incquery.runtime.tests | + | | runtime.tests || dynamically created || component integration test || Testing matcher and functional dependency (minimal cover) || runtime (30%), patternlanguage (30%), snapshot (30%) || [http://git.eclipse.org/c/incquery/org.eclipse.incquery.git/tree/tests/org.eclipse.incquery.runtime.tests viatra-repo] || [https://hudson.eclipse.org/viatra/job/viatra-master/lastCompletedBuild/testReport/org.eclipse.incquery.runtime.tests/ Hudson] |
|- | |- | ||
− | | network.tests || network.ecore || component test (performance) || Testing different size of models and investigating performance || runtime (30%) || [https://github.com/ujhelyiz/EMF-IncQuery-Examples/tree/master/network | + | | network.tests || network.ecore || component test (performance) || Testing different size of models and investigating performance || runtime (30%) || [https://github.com/ujhelyiz/EMF-IncQuery-Examples/tree/master/network examples-repo] || - |
|- | |- | ||
− | | school.tests || school.ecore || component integration test || Executing different queries on school model and framework testing|| runtime (50%), patternlanguage (50%), snapshot(50%) || [https://github.com/ujhelyiz/EMF-IncQuery-Examples/tree/master/school | + | | school.tests || school.ecore || component integration test || Executing different queries on school model and framework testing|| runtime (50%), patternlanguage (50%), snapshot(50%) || [https://github.com/ujhelyiz/EMF-IncQuery-Examples/tree/master/school examples-repo] || [https://build.incquerylabs.com/jenkins/view/Disabled%20jobs/job/EMF-IncQuery-Tests-School/ Jenkins] |
|- | |- | ||
− | | ecorequery.tests || ecore.ecore || component integration test || Executing different queries on Ecore.ecore model || runtime (40%), patternlanguage (40%) || [https://github.com/ujhelyiz/EMF-IncQuery-Examples/tree/master/ecorequery | + | | ecorequery.tests || ecore.ecore || component integration test || Executing different queries on Ecore.ecore model || runtime (40%), patternlanguage (40%) || [https://github.com/ujhelyiz/EMF-IncQuery-Examples/tree/master/ecorequery examples-repo] || [https://build.incquerylabs.com/jenkins/view/Disabled%20jobs/job/EMF-IncQuery-Tests-Ecore/ Jenkins] |
|- | |- | ||
− | | bpmn.tests || only instance model || out of date || out of date || out of date || [https://github.com/ujhelyiz/EMF-IncQuery-Examples/tree/master/bpmn | + | | bpmn.tests || only instance model || out of date || out of date || out of date || [https://github.com/ujhelyiz/EMF-IncQuery-Examples/tree/master/bpmn examples-repo] || - |
|- | |- | ||
− | | derivedTest || derivedModel.ecore || out of date || out of date || out of date || [https://github.com/ujhelyiz/EMF-IncQuery-Examples/tree/master/query-driven-soft-interconnections | + | | derivedTest || derivedModel.ecore || out of date || out of date || out of date || [https://github.com/ujhelyiz/EMF-IncQuery-Examples/tree/master/query-driven-soft-interconnections examples-repo] || - |
|- | |- | ||
− | | runtime.base.test || school.ecore (school1.school and school2.school) || unit test || Testing getters for different EMF types (also dynamic EMF models) || runtime.base (70%), runtime.base.itc (50%) || [https://github.com/ujhelyiz/EMF-IncQuery-Examples | + | | runtime.base.test || school.ecore (school1.school and school2.school) || unit test || Testing getters for different EMF types (also dynamic EMF models) || runtime.base (70%), runtime.base.itc (50%) || [https://github.com/ujhelyiz/EMF-IncQuery-Examples 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 (50%), runtime.base (45%), runtime.rete (45%) || [http://git.eclipse.org/c/ | + | | runtime.runonce.tests || eiqlibrary.ecore || component integration test || Test cases that run different kind of derived features in run-once engine || runtime.matchers (50%), runtime.base (45%), runtime.rete (45%) || [http://git.eclipse.org/c/viatra/org.eclipse.viatra.git/tree/examples/minilibrary/org.eclipse.viatra.query.runtime.runonce.tests viatra-repo] || - |
|- | |- | ||
− | | bpm.tests|| derivedModel.ecore, integrated.ecore, operation.ecore, process.ecore, system.ecore || component integration test || Executing queries on BPMN model and testing IncQueryEngine features || runtime.matchers (50%), runtime.rete(45%) || [http://git.eclipse.org/c/ | + | | bpm.tests|| derivedModel.ecore, integrated.ecore, operation.ecore, process.ecore, system.ecore || component integration test || Executing queries on BPMN model and testing IncQueryEngine features || runtime.matchers (50%), runtime.rete(45%) || [http://git.eclipse.org/c/viatra/org.eclipse.viatra.git/tree/examples/bpm/org.eclipse.viatra.examples.bpm.tests examples-repo] || [https://build.incquerylabs.com/jenkins/view/Disabled%20jobs/job/EMF-IncQuery-Tests-BPM/ Jenkins] |
|} | |} |
Revision as of 09:57, 24 March 2016
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 (50%), patternlanguage.emf (50%) | 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 (30%), patternlanguage (30%), snapshot (30%) | viatra-repo | Hudson |
network.tests | network.ecore | component test (performance) | Testing different size of models and investigating performance | runtime (30%) | examples-repo | - |
school.tests | school.ecore | component integration test | Executing different queries on school model and framework testing | runtime (50%), patternlanguage (50%), snapshot(50%) | examples-repo | Jenkins |
ecorequery.tests | ecore.ecore | component integration test | Executing different queries on Ecore.ecore model | runtime (40%), patternlanguage (40%) | 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) | unit test | Testing getters for different EMF types (also dynamic EMF models) | runtime.base (70%), runtime.base.itc (50%) | 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 (50%), runtime.base (45%), runtime.rete (45%) | viatra-repo | - |
bpm.tests | derivedModel.ecore, integrated.ecore, operation.ecore, process.ecore, system.ecore | component integration test | Executing queries on BPMN model and testing IncQueryEngine features | runtime.matchers (50%), runtime.rete(45%) | examples-repo | Jenkins |