2016-05-20 15:29:24 +02:00
# plasp—Translate PDDL to ASP
2016-05-25 18:11:00 +02:00
[![GitHub Release ](https://img.shields.io/github/release/potassco/plasp.svg?maxAge=2592000 )](https://github.com/potassco/plasp/releases)
[![Build Status ](https://img.shields.io/travis/potassco/plasp/master.svg?maxAge=2592000 )](https://travis-ci.org/potassco/plasp?branch=master)
2016-05-20 22:24:24 +02:00
2016-05-20 19:23:28 +02:00
`plasp` 3 is in early development and not intended for productive use yet.
2016-05-24 02:43:48 +02:00
As of now, `plasp` 3 experimentally supports the full [SAS Format ](http://www.fast-downward.org/TranslatorOutputFormat ) (as of version 3) used by [Fast Downward ](http://www.fast-downward.org/ ).
2016-05-24 02:42:31 +02:00
2016-05-20 19:23:28 +02:00
Please get in touch with [Patrick Lühne ](https://www.luehne.de ) if you have any suggestions.
2016-05-20 15:29:24 +02:00
2016-05-24 02:42:31 +02:00
## Usage
2016-05-24 02:43:03 +02:00
To translate an SAS file into ASP facts, call:
2016-05-24 02:42:31 +02:00
```bash
$ plasp file.sas
```
2016-05-26 00:11:32 +02:00
For example, a PDDL instance can be solved as follows.
2016-05-24 12:53:09 +02:00
First, use [Fast Downward ](http://www.fast-downward.org/ ) to translate the files from PDDL to SAS:
2016-05-24 02:57:00 +02:00
```bash
2016-05-24 12:53:09 +02:00
$ ./fast-downward.py --translate --build=release64 domain.pddl instance.pddl
```
This creates the file `output.sas` .
The translated SAS instance can now be solved incrementally with `clingo` and the meta encoding `meta-sequential-incremental.lp` :
```bash
$ plasp output.sas > instance.lp
$ clingo encodings/meta-sequential-incremental.lp instance.lp
2016-05-24 02:57:00 +02:00
```
2016-05-24 02:51:33 +02:00
## Building
2016-05-24 02:58:11 +02:00
`plasp` requires a C++14 compiler (preferrably GCC ≥ 6.1), the `boost` libraries (≥ 1.55), and CMake for building.
2016-05-24 02:51:33 +02:00
```bash
$ git clone https://github.com/potassco/plasp.git
$ cd plasp
$ mkdir -p build/release
$ cd build/release
$ cmake ../.. -DCMAKE_BUILD_TYPE=Release
$ make
```
The built `plasp` binary is then located at `plasp/build/release/bin/plasp` .
2016-05-26 00:11:32 +02:00
### Running the Tests
`plasp` provides unit tests written using the [Google Test ](https://github.com/google/googletest ) framework.
Before building and running the tests, make sure you have fetched the Google Test git submodule:
```bash
$ git submodule init
$ git submodule update
```
Afterward, build and run the tests as follows:
```bash
$ make run-tests
```
2016-05-20 15:29:24 +02:00
## Contributors
2016-05-24 15:24:23 +02:00
* [Patrick Lühne ](https://www.luehne.de ) (`plasp` 3)
2016-05-20 19:23:28 +02:00
### Earlier Versions
2016-05-24 15:24:23 +02:00
* René Knaebel (`plasp` 2)
* Murat Knecht (`plasp`)