Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Java C Python Shell
Failed to load latest commit information.
bin XOR is not working yet.
paper More references.
presentation
src More config options.
testing Does no longer remove binaries from watch list
tests/bugs Added more tests.
thesis Updated tests.
.gitignore Updated .gitignore
LICENSE.txt Added LICENSE.txt
README Updated installation instructions.
ibis.properties.example Added ibis.properties.example.
pom.xml Bumped version number.
solve Updated solving script.

README

Author
------

Alexandru Moșoi <brtzsn@gmail.com>
VU Amsterdam http://www.vu.nl


Site
----

Main site: http://www.few.vu.nl/~ami650/structure/


Building
--------

STRUCTure requires trove4j 2.1.0, Constellation 0.7.0 and IPL 2.2.

1. Constellation

$ svn co https://gforge.cs.vu.nl/svn/ibis/cohort contellation
$ cd contellation/
$ ant
$ mvn install:install-file -Dfile=lib/constellation-0.7.0.jar -Dpackaging=jar -DgroupId=ibis -DartifactId=constellation -Dversion=0.7.0

or

$ wget https://github.com/downloads/brtzsnr/structure/constellation-0.7.0.jar
$ mvn install:install-file -Dfile=lib/constellation-0.7.0.jar -Dpackaging=jar -DgroupId=ibis -DartifactId=constellation -Dversion=0.7.0

2. IPL (optional)

If you chose to compile Constellation yourself you will need to install IPL.
The Constellation version on GitHub was modified to run without IPL.

$ wget http://gforge.cs.vu.nl/gf/download/frsrelease/135/719/ipl-2.2.zip
$ unzip ipl-2.2.zip
$ cd ipl-2.2
$ vim ibis.properties 
$ bin/ipl-server

3. Trove

$ mkdir trove-3.0.0rc2/
$ cd trove-3.0.0rc2/
$ wget http://sourceforge.net/projects/trove4j/files/trove/3.0.0rc2/trove-3.0.0rc2.tar.gz
$ tar xzvf trove-3.0.0rc2.tar.gz
$ ant
$ mvn install:install-file -Dfile=lib/trove-3.0.0rc2.jar -Dpackaging=jar -DgroupId=trove -DartifactId=trove -Dversion=3.0.0rc2

4. Structure

Note that you may have to disable the tests to be able to compile. Lately I switched to
more automated random generated tests to help debugging and finding of corner cases so
I neglected the unit tests.

$ mvn site
$ mvn compile test
$ mvn assembly:assembly


Running
-------

A script solve is included which should work after $ mvn assembly:assembly

$ ./solve input.cnf


Testing
-------

bin/ contains some generators.
testing/ contains various testing scripts. Check:

$ testing/eval <problem-size>   # finds failed instances
$ testing/validator.py          # validates a solution
$ testing/prun-schedule         # evaluates on DAS cluster at VU
Something went wrong with that request. Please try again.