Skip to main content
Jump to: navigation, search

Difference between revisions of "VIATRA/Query/DeveloperDocumentation/QueryEngineArchitecture"

< VIATRA‎ | Query
(Split)
(No difference)

Revision as of 08:31, 25 March 2016

VIATRA Query Engine Internals

Overview

IncQueryEngine.png

Most important concepts

  • ViatraQueryEngine: the central element of the API.
  • ViatraQueryScope: the set of model elements the ViatraQueryEngine should work on. The project itself implements only EMFScope right now.
  • EMFQueryRuntimeContext: wrapper class for the query backends to access the model. The access can be both indexed and non-indexed.
  • IQueryBackend: an executor of graph pattern matches; it instantiates IResultProviders. Query Backends needs to be registered to the ViatraQueryEngine itself.
    • RetePatternMatcher is the fully incremental implementation of the IResultProvider interface.
    • LocalSearchMatcher is a local search based implementation of the IResultProvider interface.
  • The Matcher interface is the public matcher API: generated instances are type-safe.

Back to the top