Inferensys

Glossary

PDDL (Planning Domain Definition Language)

PDDL is a standardized formal language used to define the components of an automated planning problem, including objects, predicates, actions, an initial state, and a goal specification.
Stylish WeWork-like workspace with hot desks and document wall, professional searching through enterprise knowledge base on a mounted ultrawide display, warm industrial pendants overhead.
FORMAL LANGUAGE

What is PDDL (Planning Domain Definition Language)?

A standardized, formal language used to model automated planning problems by defining predicates, actions, objects, and an initial and goal state.

PDDL (Planning Domain Definition Language) is a formal, knowledge-based language used to model automated planning problems for artificial intelligence systems. It provides a standardized syntax for defining a planning domain (the set of available actions and predicates) and a planning problem (the specific objects, initial state, and goal state). This separation allows for reusable domain models, enabling planners to solve multiple related problems efficiently. The language's core components include STRIPS-style operators with preconditions and effects, which form the basis for classical planning.

In robotics and embodied AI, PDDL is a cornerstone for task and motion planning (TAMP), where it models the high-level logical structure of a task. A planner, such as a heuristic search algorithm, uses the PDDL model to find a sequence of actions that transforms the initial world state into one satisfying the goal. Extensions to the language, like PDDL2.1, support temporal planning and numeric fluents, allowing the modeling of durations and continuous resources critical for real-world robotic execution and integration with lower-level motion planning.

PLANNING DOMAIN DEFINITION LANGUAGE

Core Components of a PDDL Model

PDDL is a formal, standardized language for modeling automated planning problems. Its core components define the static properties of a world, the actions that can change it, and the specific problem to be solved.

01

Domain Definition

The domain file is a reusable blueprint that defines the static rules and possible actions for a class of planning problems. It contains:

  • Types: A hierarchy of object categories (e.g., robot, location, package).
  • Predicates: Boolean functions that describe properties and relationships between objects (e.g., (at ?r - robot ?l - location), (loaded ?r - robot ?p - package)).
  • Actions: The operators that can change the state of the world. Each action is defined by its parameters, preconditions (what must be true to execute it), and effects (how it changes the state).
02

Problem Definition

The problem file instantiates a specific planning challenge within a defined domain. It specifies:

  • Objects: The concrete instances that exist in this particular scenario (e.g., robot1, locA, locB, package1).
  • Initial State: A complete listing of all predicates that are true at the start of the planning episode. All unlisted predicates are assumed false (the closed-world assumption).
  • Goal Specification: A (potentially complex) logical expression describing the set of predicates that must be true for the problem to be considered solved (e.g., (and (at package1 locB) (at robot1 locA))).
03

Action Schema

An action schema is the formal template for an operator within a PDDL domain. It is the core mechanism for state transition. Its structure is:

  • Action Name & Parameters: e.g., (drive ?r - robot ?from - location ?to - location).
  • Precondition: A logical formula that must hold in the current state for the action to be applicable. For example, (and (at ?r ?from) (connected ?from ?to)).
  • Effect: Describes how the action modifies the state, typically using add lists (predicates that become true) and delete lists (predicates that become false), adhering to the STRIPS representation. For example, (and (not (at ?r ?from)) (at ?r ?to)).
04

State Representation

In classical PDDL, a state is represented as a complete set of ground (instantiated) logical predicates. The planning algorithm searches through the state space—the set of all possible states reachable by applying sequences of actions. The transition between states is deterministic based on action effects. This discrete, symbolic representation is what allows for logical inference and search, distinguishing it from the continuous representations used in low-level motion planning.

05

Types and Objects

PDDL supports a type system to categorize objects, enabling more concise and error-free modeling. Types can be organized in a hierarchy using inheritance (e.g., (either robot mobile-robot fixed-arm-robot)). Objects are declared in the problem file and must be instantiated from these types. This allows predicates and actions to be parameterized by type, constraining which objects can fill each parameter slot and making the domain definition more reusable and semantically clear.

06

Extensions for Temporal & Numeric Planning

While classical PDDL focuses on logical predicates, extensions exist for more complex domains:

  • PDDL 2.1: Introduces numeric fluents (continuous variables like (battery-level robot1)), allowing actions to increase or decrease these values. It also adds durative actions for temporal planning, with conditions and effects that can hold at the start, end, or over the duration of an action.
  • PDDL 3.0: Adds support for expressing preferences and soft constraints on plan quality, as well as state trajectory constraints that must hold over all or some states in the plan execution.
PLANNING ARCHITECTURE

How PDDL Works with a Planner

PDDL provides the formal specification language, while a planner is the search algorithm that operates on that specification to find a sequence of actions.

The Planning Domain Definition Language (PDDL) is a formal, standardized modeling language used to encode a planning problem for an automated planner. It defines the domain (predicates and actions) and the problem (objects, initial state, and goal state) in a declarative, logic-based format. This specification acts as the input to a planner, which is a search algorithm that reasons over the model. The planner's core function is to find a sequence of actions—a plan—that transforms the initial state into a state satisfying the goal conditions.

The planner performs a state-space search, often guided by heuristics derived from the PDDL model. It systematically explores possible action sequences, checking preconditions and applying effects to simulate state transitions. Advanced planners handle temporal constraints, numeric fluents, and concurrent actions. The output is a validated plan, which is then dispatched to an execution system, such as a robot controller. This separation of modeling (PDDL) and computation (planner) enables domain-independent problem-solving and rigorous formal verification.

STANDARDIZATION TIMELINE

Evolution of PDDL: Key Versions and Extensions

This table compares the core features, expressive capabilities, and problem classes supported by major versions of the Planning Domain Definition Language (PDDL) and its principal extensions, illustrating the language's progression from basic STRIPS-style planning to complex temporal, numeric, and hierarchical reasoning.

Feature / Language ConstructPDDL 1.2 (1998)PDDL 2.1 (2003)PDDL 2.2 (2004)PDDL 3.0 (2005)

Core Representation

STRIPS-style (propositional)

STRIPS + ADL-style (quantifiers, disj.)

STRIPS + ADL-style

STRIPS + ADL-style

Numeric Fluents

Durative Actions

Continuous Time & Effects

Plan Metric (Optimization)

Derived Predicates (Axioms)

Timed Initial Literals

Preferences & Soft Goals

State Trajectory Constraints

Primary Problem Class

Classical Planning

Numeric & Temporal Planning

Numeric & Temporal Planning

Planning with Preferences & Constraints

PRACTICAL DOMAINS

Example Applications of PDDL

PDDL's formal, declarative nature makes it the standard for modeling complex planning problems across robotics, logistics, and autonomous systems. These cards illustrate its use in defining real-world domains and tasks.

02

Autonomous Logistics & Warehousing

In automated fulfillment centers, PDDL models the complex interplay of resources. A domain defines:

  • Objects: Robots, packages, bins, packing stations.
  • Predicates: (at ?robot ?location), (in ?package ?bin), (station-free ?station).
  • Actions: load, transport, unload. The planner solves for sequences that fulfill multiple orders concurrently, optimizing for makespan or travel distance. This abstracts away the continuous path planning for each Autonomous Mobile Robot (AMR), handled by a lower-layer system.
03

Spacecraft Mission Operations

PDDL is used for automated command sequencing for satellites and rovers. The domain captures strict constraints:

  • Resources: Power, data storage, instrument thermal limits.
  • Temporal Constraints: Action durations and required time windows for observations.
  • Concurrency: Managing parallel instrument activations within power budgets. Planners generate validated command sequences that ensure the spacecraft never violates a safety constraint, a process far more reliable than manual scripting for long-duration, complex missions.
04

Manufacturing Process Planning

PDDL models assembly lines and job shop scheduling. The domain defines:

  • Processes: Machining, painting, assembly.
  • Machines with capabilities and maintenance states.
  • Parts that flow through the system. Actions represent manufacturing steps with preconditions (e.g., part-is-painted) and effects (e.g., part-is-assembled). The planner finds an order of operations that respects precedence constraints and machine availability, optimizing for throughput. This high-level plan is dispatched to PLCs and robotic workcells.
05

Network Security & Response Automation

PDDL can model cyber-attack response for Security Orchestration, Automation, and Response (SOAR) platforms. The domain includes:

  • System States: (compromised ?host), (firewall-up), (patch-applied ?software).
  • Attacker Actions: exploit-vulnerability, escalate-privileges.
  • Defender Actions: isolate-host, deploy-patch, reset-credentials. Given an alert (initial state) and a goal state (e.g., (and (not (compromised any-host)) (evidence-preserved))), the planner generates a validated response playbook, ensuring actions are taken in a logically correct order.
PLANNING DOMAIN DEFINITION LANGUAGE

Frequently Asked Questions

PDDL is the formal, standardized language for defining automated planning problems. These questions address its core mechanics, applications, and relationship to other planning and robotics concepts.

PDDL (Planning Domain Definition Language) is a formal, standardized language used to model classical planning problems for automated solvers. It works by providing a declarative framework where a human modeler defines a planning domain (the reusable rules of a world) and a planning problem (a specific scenario within that world). The domain file defines types, predicates (facts about the world), and actions (with preconditions and effects). The problem file specifies the objects, initial state, and goal state. A planner searches through the space of possible action sequences to find a plan—a sequence of actions that, when applied to the initial state, achieves the goal state.

For example, in a simple logistics domain, an action might be (load ?truck ?package ?location). Its precondition could be (at ?truck ?location) and (at ?package ?location), and its effect would be (in ?package ?truck) and (not (at ?package ?location)). A planner uses this model to find a sequence of load, drive, and unload actions to deliver all packages.

Prasad Kumkar

About the author

Prasad Kumkar

CEO & MD, Inference Systems

Prasad Kumkar is the CEO & MD of Inference Systems and writes about AI systems architecture, LLM infrastructure, model serving, evaluation, and production deployment. Over 5+ years, he has worked across computer vision models, L5 autonomous vehicle systems, and LLM research, with a focus on taking complex AI ideas into real-world engineering systems.

His work and writing cover AI systems, large language models, AI agents, multimodal systems, autonomous systems, inference optimization, RAG, evaluation, and production AI engineering.