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.
VIATRA/Query/DeveloperDocumentation/LocalSearch
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.