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

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

< VIATRA‎ | Query
(Created page with " == Local Search == This page summarizes the improvement ideas concerning the local search-based pattern matching capabilites of EMF-IncQuery. * Hybrid pattern matching: **...")
 
(Local Search)
Line 6: Line 6:
 
* Hybrid pattern matching:
 
* Hybrid pattern matching:
 
** New ISearchOperation to support calling an incremental matcher
 
** 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.
+
** <s>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.</s> (Interface added)
 
* Implement a weight function to estimate the cost of a given search plan over a model
 
* 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.
 
* 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.

Revision as of 10:46, 28 April 2015

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