Aries is a project aimed at exploring constraint-based techniques for automated planning and scheduling. It is currently under heavy development and generaly should not be considered stable or efficient (even thought some part are).
Build relies on cargo
can be triggered like so:
cargo build # debug non-optimized build
cargo build --release ## optimized build
This build compile artifacts and place them in the target/debug
or target/release
directory.
While aries is primarily thought as a library it does come with some programs to allow testing and demonstration. Those include:
gg
: a state-space planner for PDDL based on heuristic search with thehadd
heuristic. You can create plan with the one in this project.minisat
: sat solver that mimic the minisat solverjobshop
: lazy-SMT based solver for the jobshop problempddl2chronicles
: a tool to convert PDDL into a JSON representation of chroniclesexplainable
: a tool to create explaination for a plan from a PDDL problem.
Source code of these executables can be found in the directory apps/src/bin
. One can install an executable locally like so (example for gg
):
cargo install --bin gg --path . # should be done in the "apps/" sub-crate
To use explainable you can do ./target/release/explainable <way/to/problem.pddl> <way/to/plan>
Options available for explainable -d domain # To give manually the domain of the problem -s # To create dot file for support -m # To create dot file for threat -t # To create dot file for temporal representation -q question # Ask question
Form of the question "question parameters" Questions available: -support #Display others steps support by step -supported #Display others steps support of step -goal #Display true if step accomplish a goal -necessary #Display if step participates to the accomplishment of a goal, necessary-d to have the shortest path -path #Display path between two steps, path-d to have the path. -threat #Display if source step threat target-step if it put right before. -betweeness #Display all step with a betweeness upper than the n-th score. -synchro #Display step that make link between group based on parameters -parallelizable #Display a boolean to know if the two steps are parallelizable, parallelizable-d to have more detail Example of question : "support 4"
-i # interactive mode s Generate dot support and display matrix support m Generate dot threat and display matrix threat q Question same format as option without "" gg Make plan with aries planificator if you have suspicion about your plan p Display plan h Help e exit
if you want to use your dot file to make a graph: dot -Tpng graphique.dot -o graph.png Or xdot