PDDLSIM is an execution simulator for PDDL domain-problem pairs, with a supporting library to define agents that interface with said simulator. This can happen locally, or via a remote, internet connection.
PDDLSIM is designed to allow the evaluation of sequential action-selection algorithms across a wide variety of tasks and environments, and was created for the Bar-Ilan University course "Introduction to Intelligent, Cognitive, and Knowledge-Based Systems" (89-674). In the course, it is used as a part of the final project.
The simulator is run with PDDL domain and problem files. An agent can then connect to the simulator and interact with it: requesting the domain-problem pair definition, and then attempting to solve the task by selecting actions and sending them to the simulator for execution. The simulator will report the number of actions taken, whether the goal of the task was achieved, the wall-clock time taken, etc. The PDDL description received by the agent may be partially redacted. For example, it might not receive information about action success probabilities, or some objects may remain hidden until the agent reaches a specific state, etc.
The documentation is maintained in the PDDLSIM wiki. To start, see the tutorial. The documentation also includes usage guidelines, information about creating agents that interact with the simulator, and more.
Beyond the wiki, PDDLSIM also has an online API reference.
PDDLSIM is available on PyPI, requiring no external dependencies. PDDLSIM requires Python 3.12 or later. Earlier, legacy versions of PDDLSIM are also available on PyPI, but these have a vastly different API than current PDDLSIM, and are unsupported, as these use Python 2.7.
To install PDDLSIM using pip, run:
pip install pddlsimCheck out examples/ for some examples of using PDDLSIM, for creating agents that interface with simulators, running simulators that interface with agents, etc.
For a step-by-step guide to contributing to PDDLSIM, see the Contributing page.