Skip to main content

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.

Jump to: navigation, search

Difference between revisions of "VIATRA/Query/UserDocumentation/Examples"

< VIATRA‎ | Query
(Update to VIATRA Query 1.2)
 
(One intermediate revision by the same user not shown)
Line 3: Line 3:
 
The school example features a simple EMF model and some simple graph patterns to show the very basics of using VIATRA Query.
 
The school example features a simple EMF model and some simple graph patterns to show the very basics of using VIATRA Query.
  
* [https://wiki.eclipse.org/EMFIncQuery/UserDocumentation/Examples/school Details]
+
* [[VIATRA/Query/UserDocumentation/Examples/school|Details]]
 
* [https://github.com/ujhelyiz/EMF-IncQuery-Examples/tree/master/school Source code]
 
* [https://github.com/ujhelyiz/EMF-IncQuery-Examples/tree/master/school Source code]
 
== Introductory example: BPMN validation ==
 
 
The BPMN validation example introduces the VIATRA Query Validation Engine, by which incrementally evaluated, on-the-fly well-formedness validation rules can be specified for any EMF model.
 
 
* [https://wiki.eclipse.org/EMFIncQuery/UserDocumentation/Examples/bpmn Details]
 
* [https://github.com/ujhelyiz/EMF-IncQuery-Examples/tree/master/bpmn Source code on Github]
 
  
 
== Cyber Physical System ==
 
== Cyber Physical System ==
Line 20: Line 13:
 
* [https://github.com/IncQueryLabs/incquery-examples-cps Source code]
 
* [https://github.com/IncQueryLabs/incquery-examples-cps Source code]
  
== Metamodel pattern matching example: Ecore Queries ==
+
== Running VIATRA Query as a headless RCP application ==
 +
 
 +
VIATRA Query can be called without any graphical user interface or even a complete Eclipse installation. In this example we take an existing VIATRA Query project and create an Eclipse Application that can be executed from a console (command prompt) to print the matches for an arbitrary input model file.
 +
 
 +
* [[VIATRA/Query/UserDocumentation/HeadlessExecution|Documentation]]
 +
* [http://git.eclipse.org/c/viatra/org.eclipse.viatra.git/tree/examples/headless Source code]
 +
 
 +
== Old examples ==
 +
 
 +
These examples have not been (yet) migrated to VIATRA Query 1.2.
 +
 
 +
=== Introductory example: BPMN validation ===
 +
 
 +
The BPMN validation example introduces the VIATRA Query Validation Engine, by which incrementally evaluated, on-the-fly well-formedness validation rules can be specified for any EMF model.
 +
 
 +
* [[VIATRA/Query/UserDocumentation/Examples/bpmn|Details]]
 +
* [https://github.com/ujhelyiz/EMF-IncQuery-Examples/tree/master/bpmn Source code on Github]
 +
 
 +
=== Metamodel pattern matching example: Ecore Queries ===
  
 
Have you ever tried to query a meta-model, i.e. a model consisting of EClasses, EAttributes, and EReferences, against a meta-model pattern? For an example, look here. In this case, we want to look for a certain sub-configuration in an ECore metamodel, where two EClasses (each having an EAttribute of type EString) are connected by a 0-* EReference.
 
Have you ever tried to query a meta-model, i.e. a model consisting of EClasses, EAttributes, and EReferences, against a meta-model pattern? For an example, look here. In this case, we want to look for a certain sub-configuration in an ECore metamodel, where two EClasses (each having an EAttribute of type EString) are connected by a 0-* EReference.
Line 26: Line 37:
 
Use-cases of this technique include meta-transformation, meta-model analysis, higher-order transformations where transformation rules are generated/parameterized by metamodel analysis etc.
 
Use-cases of this technique include meta-transformation, meta-model analysis, higher-order transformations where transformation rules are generated/parameterized by metamodel analysis etc.
  
* [https://wiki.eclipse.org/EMFIncQuery/UserDocumentation/Examples/ecorequery Details]
+
* [[VIATRA/Query/UserDocumentation/Examples/ecorequery|Details]]
 
* [https://github.com/ujhelyiz/EMF-IncQuery-Examples/tree/master/ecorequery Source code]
 
* [https://github.com/ujhelyiz/EMF-IncQuery-Examples/tree/master/ecorequery Source code]
  
== Using queries for derived features ==
+
=== Using queries for derived features ===
  
 
We demonstrate how our high performance queries can be easily integrated with other EMF tools using an entirely new case study in which VIATRA Query is deeply integrated into the EMF modeling infrastructure to facilitate the incremental evaluation of derived EAttributes and EReferences.
 
We demonstrate how our high performance queries can be easily integrated with other EMF tools using an entirely new case study in which VIATRA Query is deeply integrated into the EMF modeling infrastructure to facilitate the incremental evaluation of derived EAttributes and EReferences.
  
* [[EMFIncQuery/UserDocumentation/Query_Based_Features|Documentation]]
+
* [[VIATRA/Addon/Query_Based_Features|Documentation]]
 
* [https://github.com/ujhelyiz/EMF-IncQuery-Examples/tree/master/derived-features-by-queries Source code]
 
* [https://github.com/ujhelyiz/EMF-IncQuery-Examples/tree/master/derived-features-by-queries Source code]
  
== Running VIATRA Query as a headless RCP application ==
+
=== Query-driven soft interconnections of EMF models ===
 
+
VIATRA Query can be called without any graphical user interface or even a complete Eclipse installation. In this example we take an existing VIATRA Query project and create an Eclipse Application that can be executed from a console (command prompt) to print the matches for an arbitrary input model file.
+
 
+
* [[EMFIncQuery/UserDocumentation/HeadlessExecution|Documentation]]
+
* [http://git.eclipse.org/c/viatra/org.eclipse.viatra.git/tree/examples/headless Source code]
+
 
+
== Query-driven soft interconnections of EMF models ==
+
  
 
We demonstrate how the incremental query evaluation of VIATRA Query can be used to maintain soft interconnections between EMF models stored even if they are stored separately, moved or modified without the all the corresponding models loaded at all times.
 
We demonstrate how the incremental query evaluation of VIATRA Query can be used to maintain soft interconnections between EMF models stored even if they are stored separately, moved or modified without the all the corresponding models loaded at all times.
Line 50: Line 54:
 
* [http://git.eclipse.org/c/viatra/org.eclipse.viatra.git/tree/examples/bpm Source code]
 
* [http://git.eclipse.org/c/viatra/org.eclipse.viatra.git/tree/examples/bpm Source code]
  
== Real-time gesture recognition with Jnect and the Esper CEP engine ==
+
=== Real-time gesture recognition with Jnect and the Esper CEP engine ===
  
This demo was prepared for [http://www.eclipsecon.org/europe2012/sessions/jnect-get-your-eclipse-moving EclipseCon Europe 2012]. Using live input from [http://code.google.com/a/eclipselabs.org/p/jnect/ Jnect], the body model of a human user is processed by VIATRA Query in real time to recognize gestures. Additionally, the [http://esper.codehaus.org/ Esper Complex Event Processor] is integrated into the system to allow the recognition of gesture sequences in the event stream generated by IncQuery.
+
This demo was prepared for [http://www.eclipsecon.org/europe2012/sessions/jnect-get-your-eclipse-moving EclipseCon Europe 2012]. Using live input from [http://code.google.com/a/eclipselabs.org/p/jnect/ Jnect], the body model of a human user is processed by VIATRA Query in real time to recognize gestures. Additionally, the [http://esper.codehaus.org/ Esper Complex Event Processor] is integrated into the system to allow the recognition of gesture sequences in the event stream generated by VIATRA.
  
* [http://incquery.net/incquery/demos/jnect Details]
+
* [https://github.com/FTSRG/publication-pages/wiki/Realtime-gesture-recognition-with-Jnect-and-Esper Details]
 
* [https://github.com/ujhelyiz/EMF-IncQuery-Examples/tree/master/bodymodel Source code in Github]
 
* [https://github.com/ujhelyiz/EMF-IncQuery-Examples/tree/master/bodymodel Source code in Github]

Latest revision as of 09:54, 8 April 2016

Introductory example: school

The school example features a simple EMF model and some simple graph patterns to show the very basics of using VIATRA Query.

Cyber Physical System

A comprehensive example showing off VIATRA features on a Cyber Physical System modeling domain.

Running VIATRA Query as a headless RCP application

VIATRA Query can be called without any graphical user interface or even a complete Eclipse installation. In this example we take an existing VIATRA Query project and create an Eclipse Application that can be executed from a console (command prompt) to print the matches for an arbitrary input model file.

Old examples

These examples have not been (yet) migrated to VIATRA Query 1.2.

Introductory example: BPMN validation

The BPMN validation example introduces the VIATRA Query Validation Engine, by which incrementally evaluated, on-the-fly well-formedness validation rules can be specified for any EMF model.

Metamodel pattern matching example: Ecore Queries

Have you ever tried to query a meta-model, i.e. a model consisting of EClasses, EAttributes, and EReferences, against a meta-model pattern? For an example, look here. In this case, we want to look for a certain sub-configuration in an ECore metamodel, where two EClasses (each having an EAttribute of type EString) are connected by a 0-* EReference.

Use-cases of this technique include meta-transformation, meta-model analysis, higher-order transformations where transformation rules are generated/parameterized by metamodel analysis etc.

Using queries for derived features

We demonstrate how our high performance queries can be easily integrated with other EMF tools using an entirely new case study in which VIATRA Query is deeply integrated into the EMF modeling infrastructure to facilitate the incremental evaluation of derived EAttributes and EReferences.

Query-driven soft interconnections of EMF models

We demonstrate how the incremental query evaluation of VIATRA Query can be used to maintain soft interconnections between EMF models stored even if they are stored separately, moved or modified without the all the corresponding models loaded at all times.

Real-time gesture recognition with Jnect and the Esper CEP engine

This demo was prepared for EclipseCon Europe 2012. Using live input from Jnect, the body model of a human user is processed by VIATRA Query in real time to recognize gestures. Additionally, the Esper Complex Event Processor is integrated into the system to allow the recognition of gesture sequences in the event stream generated by VIATRA.

Back to the top