Debugging Your Domain


Here are some tips in creating and debugging new problem domains. Also the data structures in UMCP are described.


Problem:

Possible Causes:

Problem:

Possible Causes:

Problem:

Possible Causes:

Problem:

Possible Causes:


Data Structures

TNET (Task-Network) :

- name: name of the task-network. The names are systematically generated as follows: the goal task-network name is "tn"; the children of the goal task-network are "tn-1", "tn-2", "tn-3",...; the children of the task-network "tn-1-2-1-4" are "tn-1-2-1-4-1","tn-1-2-1-4-2", ....
- tasklist: list of tasks (in tasknode structure).
- formula: constraint formula to be enforced.
- variables: list of variables with their possible values.
- disjoint-list: list of disjoint variables.
- CTBNYR-ord: list of ordering constraints not fully committed yet.
- promissory: list of state constraints not fully committed yet.
- last-refinement: last refinement operator performed to generate the task-network.
- NumNonPrimitive: the number of non-primitive tasks in the tasklist.

TASKNODE (task) :

- label: the task label unique in the task-network.
- task-symbol: task symbol.
- args: list of arguments.
- before: list of task node labels whose nodes are ordered before this node.
- after: list of task node labels whose nodes are ordered after this node.


Hints in Creating a New Domain

Predicates: