Syntactic Foundations

PDDL+ builds directly on the discrete fragment of PDDL2.1: that is, the fragment containing fixed-length durative actions. This is supplemented with the timed initial literals of PDDL2.2 [Hoffmann EdelkampHoffmann Edelkamp2005]. It introduces two new constructs: events and processes. These are represented by similar syntactic frames to actions. The elements of the formal syntax that are relevant are given below []<these are to be read in conjunction with the BNF description of PDDL2.1 given in>pddl2.


 <structure-def>  ::=
$ ^{\tt :events}$ <event-def>

<structure-def> ::= $ ^{\tt :events}$ <process-def>

The following is an event from the Planetary Lander Domain. It models the transition from night to day that occurs when the clock variable daytime reaches zero.


 (:event daybreak

:parameters ()
:precondition (and (not (day)) (>= (daytime) 0))
:effect (day)
)

The BNF for an event is identical to that of actions, while for processes it is modified by allowing only a conjunction of process effects in the effects field. A process effect has the same structure as a continuous effect in PDDL2.1:


 <process-effect>  ::=(<assign-op-t> <f-head> <f-exp-t>)

The following is a process taken from the Planetary Lander Domain. It describes how the battery state of charge, soc, is affected when power demand exceeds supply. The interpretation of process effects is explained in Section 4.2.


 (:process discharging

:parameters ()
:precondition (> (demand) (supply))
:effect (decrease soc (* #t (- (demand) (supply))))
)
We now provide the basic abstract syntactic structures that form the core of a PDDL+ planning domain and problem and for which our semantic mappings will be constructed. Core Definition 1 defines a simple planning instance in which actions are the only structures describing state change. Definition 1 extends Core Definition 1 to include events and processes. We avoid repeating the parts of the core definition that are unchanged in this extended version.

Definition 1   Planning Instance A planning instance is defined to be a pair

$\displaystyle I = (Dom,Prob)$

where $ Dom = (Fs,Rs,As,Es,Ps,arity)$ is a tuple consisting of finite sets of function symbols, relation symbols, actions, and a function arity mapping all of these symbols to their respective arities, as described in Core Definition 1. In addition it contains finite sets of events $ Es$ and processes $ Ps$.

Ground events, $ \cal E$, are defined by the obvious generalisation of Core Definition 6 which defines ground actions. The fact that events are required to have at least one numeric precondition makes them a special case of actions. The details of ground processes, $ \cal P$, are given in Definition 2. Processes have continuous effects on primitive numeric expressions (PNEs). Core Definition 1 defines PNEs as ground instances of metric function expressions.

Definition 2   Ground Process Each $ p \in \mathcal{ P}$ is a ground process having the following components:

Definition 3   Plan A plan, for a planning instance with the ground action set $ \mathcal{ A}$, is a finite set of pairs in $ \mathbb{Q}_{>0} \times \mathcal{ A}$ (where $ \mathbb{Q}_{>0}$ denotes the set of all positive rationals).

The PDDL family of languages imposes a restrictive formalism for the representation of plans. In the temporal members of this family, PDDL2.1 [Fox LongFox Long2003], PDDL2.2 [Hoffmann EdelkampHoffmann Edelkamp2005] and PDDL+, plans are expressed as collections of time-stamped actions. Definition 3 makes this precise. Where actions are durative the plan also records the durations over which they must execute. Figure 1 shows an abstract example of a PDDL+ plan in which some of the actions are fixed-length durative actions (their durations are shown in square brackets after each action name). Plans do not report events or processes.

Figure 1: An example of a PDDL+ plan showing the time stamp and duration associated with each action, where applicable. Actions 2, 3, 4 and 7 are instantaneous, so have no associated duration.
\begin{figure}\begin{center}
\begin{tabular}{llll}
{\bf Time} & {\bf Action} & {...
...}\\
21.04: & {\em Action 8} & [1.000]\\
\end{tabular}
\end{center}\end{figure}

In these plans the time stamps are interpreted as the amount of time elapsed since the start of the plan, in whatever units have been used for modelling durations and time-dependent effects.

Definition 4   Happening A happening is a time point at which one or more discrete changes occurs, including the activation or deactivation of one or more continuous processes. The term is used to denote the set of discrete changes associated with a single time point.

Derek Long 2006-10-09