(:method

![0_image_1.png](0_image_1.png)

![0_image_0.png](0_image_0.png)

![0_image_2.png](0_image_2.png)

![0_image_3.png](0_image_3.png)

## 4.2 Writing Temporal Domains

SHOP2's operators are at least as expressive as Level 2 actions in PDDL, but SHOP2 does not explicitly support the durative actions in Level 3 of PDDL, nor does SHOP2 have an explicit mechanism for reasoning about durative and concurrent actions.

However, SHOP2 still has enough expressive power to represent durative and concurrent actions, because it knows the current state at each step of the planning process and since its operators can assign values to variables and can do numeric calculations. This has allowed us to develop a preprocessing technique that we call *Multi-Timeline Preprocessing* **(MTP).** MTP is a technique for translating PDDL operators into SHOP2 **operators that keep track** of temporal information in the current state.

The pseudocode in Figure 10 is an algorithmic description of **what MTP does. In**
principle, MTP could be automated—but in practice, we have always done it by hand, because it only needs to be done once for each planning domain.