PDDL4J API Documentation

The purpose of the PDDL4J is to facilitate the java implementation of planners based on the PDDL (Planning Description Language). The library contains a parser on the last version of PDDL 3.0 and all the classes need to manipulate its concepts.

PDDL was originally developed by Drew McDermott and the 1998 planning competition committee. It was inspired by the need to encourage the empirical comparison of planning systems and the exchange of planning benchmarks within the community. Its development improved the communication of research results and triggered an explosion in performance, expressivity and robustness of planning systems.

PDDL has now been used in all 3 planning competitions, undergoing various revisions for each. In the most recent competition PDDL was extended by Maria Fox, Derek Long and the 2002 committee to handle time and duration (PDDL2.1). Further enrichments to the modelling of hybrid and real-time systems (PDDL+) were proposed, while another committee is currently investigating extensions to probabilistic planning.

PDDL has become a de facto standard language for describing planning domains, not only for the competition but more widely, as it offers an opportunity to carry out empirical evaluation of planning systems on a growing collection of generally adopted standard benchmark domains. The emergence of a language standard will have an impact on the entire field, influencing what is seen as central and what peripheral in the development of planning systems.

Packages
Package
Description
This package contains the examples classes of the library.
This package contains the classes for the ASP planner example.
This package contains the classes of the heuristics implemented in the PDDL4J library.
This package contains the critical path and delete relaxation heuristics implemented in the PDDL4J library.
This package contains the classes of the PDDL parser.
This package contains the classes related to plan representation.
This package contains the classes of the planners implemented in the PDDL4J Library.
This package contains the common classes shared by all hierarchical planners.
This package contains the common classes for the Simple Task Network planners.
This package contains the classes of state based planners.
This package contains the classes of the search strategies like Enforced Hill Climbing or A* developped for the state space planners.
This package contains the classes related to a planning problem and used by all planners of the library.
This package contains the classes to manipulate arithmetic expressions of PDDL.
This package contains the classes to manipulate the planning operators.
This package contains the classes needed to deal with time.
This package contains miscellaneous utility classes for the PDDL4J library.