Revision 8 as of 2018-09-19 13:54:51

Clear message

Back to ForDevelopers.

Long term plans

Needs tender love and care

Items with action plans

Component creation and interaction

Objects created by plug-ins: what should they be called? When do we need a factory, and when does the plug-in generate the object directly? How is their lifetime managed -- when should we use shared_ptr and when should we use raw pointer?

Terminology:

Action plan:

Task Transformations

To fully support task transformations, we have to be aware of all interactions between different levels. The main idea is to have a hierarchy of task transformations with a RootTask at the root and transformations as edges/children in this hierarchy. As a first step, the search engines will always use the root task but later we want to support transforming the task before giving it to the search. Heuristics can transform the task they get from the search and some of them explicitly wrap the task in some transformation (e.g., CEGAR uses DomainAbstractedTask for the landmark decomposition). We thus have two interfaces that cross levels in the hierarchy:

Search-Heuristic interface

The search has to interact with the heuristic in the following way:

User-Search interface

Currently, the search always uses the root task. If we want to change this, we have to consider the interface between the search and the user code. I currently only see one interaction there: