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"
(→Preferences) |
|||
(32 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
− | + | {{VIATRA}} | |
== Features (UI Components)== | == Features (UI Components)== | ||
Line 7: | Line 7: | ||
---- | ---- | ||
− | + | === Tested components with RCP Testing Tool === | |
+ | [https://docs.google.com/spreadsheets/d/1l1TzhPmfYx05WFVAqd2DtoMZHH5Ewqo6LxcpAEl_3Ho/edit?usp=sharing Link to Google Spreedsheet] | ||
=== Query Editor === | === 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 === | === Query Explorer === | ||
− | [[EMFIncQuery/DeveloperDocumentation/ | + | 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. |
+ | [[EMFIncQuery/DeveloperDocumentation/FeatureSetAndTesting/QueryExplorer|More]] | ||
=== Preferences === | === Preferences === | ||
− | [[EMFIncQuery/DeveloperDocumentation/ | + | 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]] | ||
− | === | + | === 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]] | |
− | + | ||
− | + | ||
− | - | + | === 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. | ||
+ | [[EMFIncQuery/DeveloperDocumentation/FeatureSetAndTesting/Viewers|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. | ||
+ | [[EMFIncQuery/DeveloperDocumentation/FeatureSetAndTesting/Rete|More]] | ||
+ | |||
+ | === Testing framework === | ||
+ | With Testing Framework, you can define EMF instance models from your query results. You can also modify these models. | ||
+ | [[EMFIncQuery/DeveloperDocumentation/FeatureSetAndTesting/Testingframework|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. | ||
+ | [[EMFIncQuery/DeveloperDocumentation/Features/Debug|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. | ||
+ | [[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 37: | Line 57: | ||
! CI Site | ! CI Site | ||
|- | |- | ||
− | | patternlanguage.emf.tests || no metamodel || unit test || Testing elements of the patternlanguage and parsing || patternlanguage ( | + | | patternlanguage.emf.tests || no metamodel || unit test || Testing elements of the patternlanguage and parsing || patternlanguage (18%), patternlanguage.emf (43%) || [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/viatra/org.eclipse.viatra.git/tree/query/tests/org.eclipse.viatra.query.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.rete (38%), runtime (21%), patternlanguage (9%) || [http://git.eclipse.org/c/viatra/org.eclipse.viatra.git/tree/query/tests/org.eclipse.viatra.query.runtime.tests viatra-repo] || [https://hudson.eclipse.org/viatra/job/viatra-master/lastCompletedBuild/testReport/org.eclipse.incquery.runtime.tests/ Hudson] | ||
|- | |- | ||
− | | | + | | network.tests || network.ecore || out of date || out of date || out of date || [https://github.com/ujhelyiz/EMF-IncQuery-Examples/tree/master/network examples-repo] || - |
|- | |- | ||
− | | | + | | school.tests || school.ecore || out of date || out of date || out of date || [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 || out of date || out of date || out of date || [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 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 examples-repo] || - |
|- | |- | ||
− | | | + | | runtime.base.test || school.ecore (school1.school and school2.school) || out of date || out of date || out of date || [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 (52%), runtime.rete (47%), runtime.base (43%), runtime (34%) || [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 query engine features || runtime.matchers (51%), runtime.rete(46%) || [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] |
|- | |- | ||
− | | | + | | 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%) || [https://github.com/IncQueryLabs/incquery-examples-cps/tree/master/viatratests examples-repo] || [https://build.incquerylabs.com/jenkins/job/VIATRA-IntegrationTests-CPS/ 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%) || [https://github.com/IncQueryLabs/incquery-examples-cps/tree/master/viatratests examples-repo] || [https://build.incquerylabs.com/jenkins/job/VIATRA-IntegrationTests-CPS/ Jenkins] |
|} | |} |
Latest revision as of 09:14, 28 March 2024
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 |