Download accompanying paper:
Planning in the Wild: Modeling Tools for PDDL. The final publication is available at Springer via http://dx.doi.org/10.1007/978-3-319-11206-0_27.
myPDDL is a highly customizable and extensible modular system, designed for supporting knowledge engineers in the process of writing, analyzing and expanding PDDL files and thereby promoting the collaboration between knowledge engineers and the use of PDDL in real-world applications. It consists of the following integral parts:
Requirements:
dot
)Simply place this repository into your Sublime text packages folder (Preferences -> Browse Packages...). You have three possibilities to do so:
You have to take a few more steps to enjoy all functionalities of myPDDL. I assume you are using Linux:
Go to the Sublime Text Packages folder (Preferences -> Browse Packages ...) and change to the myPDDL folder.
Ensure that the file myPDDL (inside the folder myPDDL) is executable (type chmod a+x myPDDL
in your shell).
Place the file myPDDL somewhere on your $PATH (e.g. ~/bin) or add the folder myPDDL to your $PATH (e.g. add export PATH=$PATH:~/.config/sublime-text-2/Packages/myPDDL
to your .bashrc).
Open the file myPDDL in a text editor and customize it: While most options are for advanced users can should set the variable "path" to match the corresponding myPDDL folder. The default is probably right for you: "~/.config/sublime-text-2/Packages/myPDDL".
Enjoy (in Sublime Text):
ctrl
+shift
+p
and choose myPDDL-diagram)You can customize almost anything. Use a different image viewer by changing the variable "viewer" in the myPDDL file on your $PATH or customize the templates for the domain files of myPDDL-new (in the folder templates).
You can also use myPDDL via a command-interface (type myPDDL
in a shell to see further information).
This package contains some often used PDDL constructs. Try one of the following, to see how they work:
domain
, problem
t1
, t2
, t3
, etc.p1
, p2
, p3
, etc.f1
, f2
, f3
, etc.action
, durative-action
Within the project folder, the domain file domain.pddl and the problem file p01.pddl (within the folder problems/) initially contain corresponding PDDL skeletons which can also be also customized. Additionally the project name is used as the domain name within the files domain.pddl and p01.pddl.
![alt text](https://raw.githubusercontent.com/Pold87/myPDDL/master/examples/coffee_errors_img.png "PDDL syntax highlighting - Theme: Monokai")
A deliberately erroneous domain. Constructs not specified by PDDL are not highlighted.
![alt text](https://raw.githubusercontent.com/Pold87/myPDDL/master/examples/diagram.png "An automatically generated type diagram of the Hacker World using myPDDL-diagram")
Automatically generated type diagram of the Hacker World
Every time myPDDL-diagram is invoked, the names of the saved files are extended by an ascending revision number. Thus, one cannot only identify associated PDDL and diagram files, but also use this feature for basic revision control.
Before using the calculator the problem file looks like this (p01.pddl):
(:init ...
(location gary 4 2)
(location pizza 2 3))
After the application, the distances have been added in a new file (p01-location.pddl):
(:init ...
(location gary 4 2)
(location pizza 2 3)
(distance gary gary 0.0)
(distance gary pizza 2.2361)
(distance pizza gary 2.2361)
(distance pizza pizza 0.0))
Volker Strobel - volker.strobel87@gmail.com - 2014