Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

VIATRA/Query/DeveloperDocumentation/LocalSearch

< VIATRA‎ | Query
Revision as of 10:46, 28 April 2015 by Marton.bur.gmail.com (Talk | contribs) (Local Search)

Local Search

This page summarizes the improvement ideas concerning the local search-based pattern matching capabilites of EMF-IncQuery.

  • Hybrid pattern matching:
    • New ISearchOperation to support calling an incremental matcher
    • Provide input for the flattener: which patterns should NOT be flattened. Implement this by creating an interface with a method that expects a constraint and a pattern. (Interface added)
  • Implement a weight function to estimate the cost of a given search plan over a model
  • Learning algorithm: the planner shall be able to tune its internal parameters regarding the planning process. This could be done by providing (small) example models and measuring pattern matching performance.
  • Provide a low-level code generator: instead of the current execution method, that is based on sequential exectuion of ISearchOperations contained in plans, generate executable code. This might be in a form of several embedded for loops and if conditions.
  • Support the POperationCompiler with normalization capability to remove redundant constraints thus decrease the search plan size.
  • Investigate if new IQPL elements (e.g. containment) should be added that are only supported by either the local search-based or the RETE algorithm.
  • Support parallelism for plan execution. For example, the search graph traversal can be done simultaneously starting from different nodes.

Back to the top