Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adding HDDL Syntax #98

Open
bhomaidan1990 opened this issue Mar 17, 2021 · 7 comments
Open

Adding HDDL Syntax #98

bhomaidan1990 opened this issue Mar 17, 2021 · 7 comments
Labels
feature request New feature request

Comments

@bhomaidan1990
Copy link

bhomaidan1990 commented Mar 17, 2021

Thank you for the great extension,
I do like to ask if it is possible to add the HDDL , Additions syntax to the extension so it can support Hierarchical Domain Description Language.

  • Example:
:hierarchy
:method-preconditions

(:method method_name
  :parameters (?param1 ?param2 ?param3 ?param4 ?param5 ?param6)
  :task (task_name ?param1 ?param2)
  :precondition 
  (and
    (atom1 ?param1 ?param2)
    (atom2 ?param3 ?param4)
  )
  :ordered-subtasks 
  (and
    (sub_task_name ?param1 ?param2 ?param3)
    (sub_task_name2 ?param1 ?param5 ?param6)
  )
)
@jan-dolejsi
Copy link
Owner

It should be quite possible. I guess VAL does not support it, does it? I always wanted to learn that : )
Is there tooling? Practices? Are the files generally named *.hddl? Or also *.pddl? Planners that I could get to test compatibility?

@bhomaidan1990
Copy link
Author

bhomaidan1990 commented Mar 17, 2021

Thanks for your rapid reply,
"I guess VAL does not support it, does it?"

  • Honestly I'm not sure about that since I'm not familiar with VAL yet

"Is there tooling? Practices? Are the files generally named *.hddl? Or also *.pddl? Planners that I could get to test compatibility?"

  • the extension is .hddl, I'm using the PFD, and TFD planners from PDDL4J library devel branch, and here are some good examples.
  • Note that in order to build this branch you have to run ./gradlew clean build -PnoTest since some tests fail.
  • To use the planner after building the library:
  • java -javaagent:build/libs/pddl4j-3.8.3.jar -server -Xms2048m -Xmx2048m fr.uga.pddl4j.planners.htn.stn.tfd.TFDPlanner -d domain.hddl -p problem.hddl

@lesire
Copy link

lesire commented Oct 6, 2021

any progess on this?

@jan-dolejsi jan-dolejsi added the feature request New feature request label Jan 25, 2022
@jan-dolejsi
Copy link
Owner

Good news is that the file extension is different from .pddl. That makes it a lot easier. I would suggest we create a separate extension, which adds the .hddl syntax, and which leverages the PDDL extension to invoke planners and shows the plan etc... as usual. That is assuming the plan is represented the same way as from other non-hierarchical planners.

That arrangement would also avoid the VAL integration problem.
And if pddl4j was configured as a PDDL parser, it should also provide parsing for .hddl.

It is a few days of work.

@bhomaidan1990
Copy link
Author

@jan-dolejsi Is it possible please to extend the supported extensions to .hddl also, so we can benefit from the PDDL syntax correction? thanks in advance.

@victorpaleologue
Copy link

@bhomaidan1990 besides HDDL support missing, does the extension support HTN planners?

@bhomaidan1990
Copy link
Author

@bhomaidan1990 besides HDDL support missing, does the extension support HTN planners?

As it supports PDDL4J which includes HTN planners I think that it supports HTN planning using TFD or PFD planners, but to be sure @jan-dolejsi can confirm that.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature request New feature request
Projects
None yet
Development

No branches or pull requests

4 participants