Skip to content

Commit

Permalink
Merge pull request #48 from pellierd/devel
Browse files Browse the repository at this point in the history
Release PDDJ v3.7.0
  • Loading branch information
pellierd committed Jun 19, 2018
2 parents bfdb3ff + ac01957 commit 4fb1214
Show file tree
Hide file tree
Showing 347 changed files with 23,674 additions and 3,644 deletions.
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ build/
###################
src/main/java/fr/uga/pddl4j/parser/lexer*
!src/main/java/fr/uga/pddl4j/parser/lexer/Lexer.jj
*.val

# Logs and databases #
######################
Expand All @@ -21,7 +22,7 @@ doc/api

# Test files #
###########################
benchmarks
#benchmarks

# OS generated files #
######################
Expand Down
44 changes: 44 additions & 0 deletions Jenkinsfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
#!groovy

pipeline {
agent any

stages {
stage('Clean') {
steps {
sh "./gradlew clean"
}
}
stage('Build') {
steps {
sh "./gradlew jar"
sh "./gradlew javadoc"
}
}
stage('Analyze') {
steps {
sh "./gradlew checkstyleMain"
sh "./gradlew checkstyleTest"
checkstyle canComputeNew: false, defaultEncoding: '', healthy: '', pattern: 'build/reports/checkstyle/*.xml', unHealthy: ''
sh "./gradlew findbugsMain -Pfindbug"
sh "./gradlew findbugsTest -Pfindbug"
findbugs canComputeNew: false, defaultEncoding: '', healthy: '', pattern: 'build/reports/findbugs/*.xml', unHealthy: ''
}
}
stage('Test') {
steps {
sh "./gradlew test"
}
}
}

post {
success {
junit 'build/test-results/test/*.xml'
archiveArtifacts artifacts: 'build/libs/*.jar', fingerprint: true
}
always {
archiveArtifacts artifacts: 'build/test-results/test/binary/output.bin'
}
}
}
41 changes: 38 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
## PDDL4J library
[![DOI](https://zenodo.org/badge/doi/10.5281/zenodo.45971.svg)](http://dx.doi.org/10.5281/zenodo.45971)
[![Build Status](http://pddl4j.imag.fr/jenkins/job/pddl4j-base/badge/icon)](http://pddl4j.imag.fr/jenkins/job/pddl4j-base)
[![Build Status](http://pddl4j.imag.fr/jenkins/job/PDDL4J%20devel/badge/icon)](http://pddl4j.imag.fr/jenkins/job/PDDL4J%20devel/)

### 1. Contact

Expand Down Expand Up @@ -75,15 +75,50 @@ Planners are available in the "planners" package of the distribution. For
instance, this archive contains a simple planner based on A* search strategy
called HSP. To launch this planner use the following command line:

> java -javaagent:build/libs/pddl4j-VERSION.jar -server -Xms2048m -Xmx2048m fr.uga.pddl4j.planners.hsp.HSP -o pddl/blocksworld/domain.pddl -f pddl/blocksworld/p15.pddl
> java -javaagent:build/libs/pddl4j-3.7.0.jar -server -Xms2048m -Xmx2048m fr.uga.pddl4j.planners.statespace.StateSpacePlannerFactory -o pddl/blocksworld/domain.pddl -f pddl/blocksworld/p15.pddl
> java -jar build/libs/pddl4j-3.7.0.jar -o pddl/blocksworld/domain.pddl -f pddl/blocksworld/p15.pddl
Or use the gradle run command:
> gradle run -PArgs=-o,pddl/blocksworld/domain.pddl,-f,pddl/blocksworld/p15.pddl
Note: A set of planning problems is available in the web site of the international
planning competition: http://ipc.icaps-conference.org.

### 4. Changelog
### 4. How to cite

PDDL4J: a planning domain description library for java
https://doi.org/10.1080/0952813X.2017.1409278

> D. Pellier & H. Fiorino (2017) PDDL4J: a planning domain description library for java, Journal of Experimental & Theoretical Artificial Intelligence, 30:1, 143-176, DOI: 10.1080/0952813X.2017.1409278
### 5. Changelog

**PDDL4J v3.7.0**

*Update project tools*
* log4j 2.11
* Checkstyle 8.9
* SonarQube 2.6.1
* Javacc 2.4
* Gradle wrapper 4.8
* Add Jenkinsfile script for CI

*Planner*
* New package: Statespace with HSP and FF planners
* Add StateSpacePlanner and StateSpacePlannerFactory interfaces
* Use StateSpacePlannerFactory to create state space planners

*State space strategy*
* Search strategies are now independant from planners: Add StateSpaceStrategy interface
* A*, Greedy Best First Search, Enforced Hill Climbing and Hill Climbing are available
* Add JUnit tests

*Global*
* Add tests
* Fix bugs and javadoc
* Memory Agent: PDDL4J could work even if JVM command line is not given
* Big work on JUnit tests and VAL

**PDDL4J v3.6.0**

Expand Down
34 changes: 34 additions & 0 deletions benchmarks/ipc1/gripper/domain.pddl
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
(define (domain gripper-typed)
(:requirements :typing)
(:types room ball gripper)
(:constants left right - gripper)
(:predicates (at-robby ?r - room)
(at ?b - ball ?r - room)
(free ?g - gripper)
(carry ?o - ball ?g - gripper))

(:action move
:parameters (?from ?to - room)
:precondition (at-robby ?from)
:effect (and (at-robby ?to)
(not (at-robby ?from))))



(:action pick
:parameters (?obj - ball ?room - room ?gripper - gripper)
:precondition (and (at ?obj ?room) (at-robby ?room) (free ?gripper))
:effect (and (carry ?obj ?gripper)
(not (at ?obj ?room))
(not (free ?gripper))))


(:action drop
:parameters (?obj - ball ?room - room ?gripper - gripper)
:precondition (and (carry ?obj ?gripper) (at-robby ?room))
:effect (and (at ?obj ?room)
(free ?gripper)
(not (carry ?obj ?gripper)))))



15 changes: 15 additions & 0 deletions benchmarks/ipc1/gripper/p01.pddl
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
(define (problem gripper-x-1)
(:domain gripper-typed)
(:objects rooma roomb - room
ball4 ball3 ball2 ball1 - ball)
(:init (at-robby rooma)
(free left)
(free right)
(at ball4 rooma)
(at ball3 rooma)
(at ball2 rooma)
(at ball1 rooma))
(:goal (and (at ball4 roomb)
(at ball3 roomb)
(at ball2 roomb)
(at ball1 roomb))))
19 changes: 19 additions & 0 deletions benchmarks/ipc1/gripper/p02.pddl
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
(define (problem gripper-x-2)
(:domain gripper-typed)
(:objects rooma roomb - room
ball6 ball5 ball4 ball3 ball2 ball1 - ball)
(:init (at-robby rooma)
(free left)
(free right)
(at ball6 rooma)
(at ball5 rooma)
(at ball4 rooma)
(at ball3 rooma)
(at ball2 rooma)
(at ball1 rooma))
(:goal (and (at ball6 roomb)
(at ball5 roomb)
(at ball4 roomb)
(at ball3 roomb)
(at ball2 roomb)
(at ball1 roomb))))
23 changes: 23 additions & 0 deletions benchmarks/ipc1/gripper/p03.pddl
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
(define (problem gripper-x-3)
(:domain gripper-typed)
(:objects rooma roomb - room
ball8 ball7 ball6 ball5 ball4 ball3 ball2 ball1 - ball)
(:init (at-robby rooma)
(free left)
(free right)
(at ball8 rooma)
(at ball7 rooma)
(at ball6 rooma)
(at ball5 rooma)
(at ball4 rooma)
(at ball3 rooma)
(at ball2 rooma)
(at ball1 rooma))
(:goal (and (at ball8 roomb)
(at ball7 roomb)
(at ball6 roomb)
(at ball5 roomb)
(at ball4 roomb)
(at ball3 roomb)
(at ball2 roomb)
(at ball1 roomb))))
28 changes: 28 additions & 0 deletions benchmarks/ipc1/gripper/p04.pddl
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
(define (problem gripper-x-4)
(:domain gripper-typed)
(:objects rooma roomb - room
ball10 ball9 ball8 ball7 ball6 ball5 ball4 ball3 ball2 ball1
- ball)
(:init (at-robby rooma)
(free left)
(free right)
(at ball10 rooma)
(at ball9 rooma)
(at ball8 rooma)
(at ball7 rooma)
(at ball6 rooma)
(at ball5 rooma)
(at ball4 rooma)
(at ball3 rooma)
(at ball2 rooma)
(at ball1 rooma))
(:goal (and (at ball10 roomb)
(at ball9 roomb)
(at ball8 roomb)
(at ball7 roomb)
(at ball6 roomb)
(at ball5 roomb)
(at ball4 roomb)
(at ball3 roomb)
(at ball2 roomb)
(at ball1 roomb))))
32 changes: 32 additions & 0 deletions benchmarks/ipc1/gripper/p05.pddl
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
(define (problem gripper-x-5)
(:domain gripper-typed)
(:objects rooma roomb - room
ball12 ball11 ball10 ball9 ball8 ball7 ball6 ball5 ball4 ball3
ball2 ball1 - ball)
(:init (at-robby rooma)
(free left)
(free right)
(at ball12 rooma)
(at ball11 rooma)
(at ball10 rooma)
(at ball9 rooma)
(at ball8 rooma)
(at ball7 rooma)
(at ball6 rooma)
(at ball5 rooma)
(at ball4 rooma)
(at ball3 rooma)
(at ball2 rooma)
(at ball1 rooma))
(:goal (and (at ball12 roomb)
(at ball11 roomb)
(at ball10 roomb)
(at ball9 roomb)
(at ball8 roomb)
(at ball7 roomb)
(at ball6 roomb)
(at ball5 roomb)
(at ball4 roomb)
(at ball3 roomb)
(at ball2 roomb)
(at ball1 roomb))))
36 changes: 36 additions & 0 deletions benchmarks/ipc1/gripper/p06.pddl
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
(define (problem gripper-x-6)
(:domain gripper-typed)
(:objects rooma roomb - room
ball14 ball13 ball12 ball11 ball10 ball9 ball8 ball7 ball6
ball5 ball4 ball3 ball2 ball1 - ball)
(:init (at-robby rooma)
(free left)
(free right)
(at ball14 rooma)
(at ball13 rooma)
(at ball12 rooma)
(at ball11 rooma)
(at ball10 rooma)
(at ball9 rooma)
(at ball8 rooma)
(at ball7 rooma)
(at ball6 rooma)
(at ball5 rooma)
(at ball4 rooma)
(at ball3 rooma)
(at ball2 rooma)
(at ball1 rooma))
(:goal (and (at ball14 roomb)
(at ball13 roomb)
(at ball12 roomb)
(at ball11 roomb)
(at ball10 roomb)
(at ball9 roomb)
(at ball8 roomb)
(at ball7 roomb)
(at ball6 roomb)
(at ball5 roomb)
(at ball4 roomb)
(at ball3 roomb)
(at ball2 roomb)
(at ball1 roomb))))
40 changes: 40 additions & 0 deletions benchmarks/ipc1/gripper/p07.pddl
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
(define (problem gripper-x-7)
(:domain gripper-typed)
(:objects rooma roomb - room
ball16 ball15 ball14 ball13 ball12 ball11 ball10 ball9 ball8
ball7 ball6 ball5 ball4 ball3 ball2 ball1 - ball)
(:init (at-robby rooma)
(free left)
(free right)
(at ball16 rooma)
(at ball15 rooma)
(at ball14 rooma)
(at ball13 rooma)
(at ball12 rooma)
(at ball11 rooma)
(at ball10 rooma)
(at ball9 rooma)
(at ball8 rooma)
(at ball7 rooma)
(at ball6 rooma)
(at ball5 rooma)
(at ball4 rooma)
(at ball3 rooma)
(at ball2 rooma)
(at ball1 rooma))
(:goal (and (at ball16 roomb)
(at ball15 roomb)
(at ball14 roomb)
(at ball13 roomb)
(at ball12 roomb)
(at ball11 roomb)
(at ball10 roomb)
(at ball9 roomb)
(at ball8 roomb)
(at ball7 roomb)
(at ball6 roomb)
(at ball5 roomb)
(at ball4 roomb)
(at ball3 roomb)
(at ball2 roomb)
(at ball1 roomb))))

0 comments on commit 4fb1214

Please sign in to comment.