next up previous
Next: Plan Encoding Up: The Resource Planning Application Previous: The Resource Planning Application

Action Language

Our planning problems are specified in an extension of the PDDL language [McDermott1998]; we support PDDL typing, equality, quantified goals and effects, disjunctive preconditions, and conditional effects. In addition, we handle metric values with two new built-in types: float and fluent. A float's value may not change over the course of a plan, whereas a fluent's value may change from time step to time step. Moreover, we support fluent- and float-valued functions, such as ?distance[Nagoya,Stockholm].

Floats and fluents are manipulated with three special built-in predicates: test, set, and influence. Test statements are used as predicates in action preconditions; set and influence are used in effects. As its argument, test takes a constraint (an equality or inequality between two expressions composed of floats, fluents, and basic arithmetic operations); it evaluates to true if and only if the constraint holds. Set and influence each take two arguments: the object (a float or fluent) and an expression. If an action causes a set to be asserted, the object's value after the action is defined to be the expression's value before the action. An asserted influence changes an object's value by the value of the expression, as in the equation $\mbox{\it object} := \mbox{\it object} + \mbox{\it
expression}$; multiple simultaneous influences are cumulative in their effect [Falkenhainer and Forbus1988].


next up previous
Next: Plan Encoding Up: The Resource Planning Application Previous: The Resource Planning Application

2000-02-24