Initial commit from: http://www.inf.kcl.ac.uk/staff/andrew/JavaFF/ - version 1.0.1
However, from commit c6b5ce onwards, we are using an old obscure code, because it supports more requirements (e.g. "negative-preconditions").
TODO: Try to find the source of this commit.
JavaFF is released under the GNU GPL.
Added some extensions from PDDL 3.0, namely :constraints and :preference.
Note that the Planner does NOT work with PDDL 3.0.
The purpose of extending JavaFF project was to take advantage of its nice Parser.
Added "PDDLParser" class to interface between Parser 2.1 and Parser 3.0.
":typing" | ":strips" | ":equality" | ":fluents" | ":durative-actions" | ":duration-inequalities" | ":numeric-fluents" | ":action-costs" | ":adl" | ":negative-preconditions" | ":disjunctive-preconditions" | ":existential-preconditions" | "universal-preconditions" | "quantified-preconditions" | ":conditional-effects" | ":timed-initial-literals"
":domain-axioms" | ":derived-predicates" | ":preferences" | ":constraints" ":action-expansions" | ":foreach-expansions" | ":dag-expansions" | ":subgoal-through-axioms" | ":safety-constraints" | ":expression-evaluation" | ":open-world" | ":true-negation" | ":ucpop"
Changes from Parser 2.1: Added support for ":preferences" | ":constraints" requirements.
":typing" | ":strips" | ":equality" | ":fluents" | ":durative-actions" | ":duration-inequalities" | ":numeric-fluents" | ":action-costs" | ":adl" | ":negative-preconditions" | ":disjunctive-preconditions" | ":existential-preconditions" | "universal-preconditions" | "quantified-preconditions" | ":conditional-effects" | ":timed-initial-literals" | ":preferences" | ":constraints"
":domain-axioms" | ":derived-predicates" ":action-expansions" | ":foreach-expansions" | ":dag-expansions" | ":subgoal-through-axioms" | ":safety-constraints" | ":expression-evaluation" | ":open-world" | ":true-negation" | ":ucpop"
Continue to use PDDL 2.1.
To run JavaFF, expand the archive, set the CLASSPATH environment variable to point to the directory in which it was expanded, then type:
java javaff.JavaFF domain.pddl problem.pddl
To allocate more memory, beyond Java's default, you may wish to type:
java -Xmx1024m javaff.JavaFF domain.pddl problem.pddl