GitHub - patrikhaslum/INVAL: The INVAL plan validator, and other PDDL tools. (original) (raw)

INVAL

INVAL is the Independent PDDL plan Validator.

The Planning Domain Definition Language (PDDL) is a modelling language for expressing AI planning problems, and used as the input language of a large number of general-purpose AI planning systems. The role of a plan validator is to check if a plan (generated by an AI planner or manually written) is valid, according to the domain and problem specification. A validator is a very useful tool for debugging a domain/problem specification, a planner implementation, and indeed the specification of PDDL itself.

The existing PDDL plan validator, VAL, created by Derek Long et al., is a great tool, but, like all software, it does have bugs. INVAL is meant to complement VAL, not to replace it. The aim of INVAL is to have a simple (rather than capable and efficient) implementation of the PDDL semantics as they are defined in the literature. When both validators agree, you can have greater confidence that they are right; when they disagree, this points to either a flaw in one of them or an ambiguity in the language specification.

Compared to VAL, INVAL has some limitations. Most importantly, it does not handle temporal plans. It should, however, handle numeric and object-valued fluents, and derived predicates. And it's not efficient.

Compilation and usage

INVAL is written in LISP. For instructions on how to run it, see comments at the beginning of the main file ("inval.lsp").

Other PDDL tools

This package also includes a set of other PDDL tools: