Parent repo for moolloy.
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
alloy @ 6688278
kodkod @ 81bdf92
.gitignore
.gitmodules
README.md
build.xml

README.md

Moolloy

Moolloy is a tool for solving multi-objective optimization problems.

Problems are specified in a modified Alloy syntax which allows the specification of problem constraints and objectives. Moolloy outputs the pareto-optimal solutions to the optimization problem as Alloy XML solution files.

Example inputs can be found in our test-models repo.

NOTE: This is not the Spreadsheet Interface Moolloy referred to in (Rayside, 2009) Project Layout

This is the parent repository for Alloy and Kodkod. We are using git submodules to manage the child repositories.

To get started:

git clone git@github.com:TeamAmalgam/moolloy.git
git submodule init
git submodule update

Remember that when updating Alloy or Kodkod, you will also need to update and push the parent repository.

Building Moolloy

The overall build process for Moolloy uses ant. The first time you build moolloy you will need to execute:

ant deps
ant configure

This will perform first time configuration of waf in the kodkod project.

For subsequent builds run:

ant alloy

This will build the modified version of alloy.

Building Kodkod

Kodkod uses waf. The build binary (a Python script) is included in the repository. To run:

./waf deps configure all

Some issues with waf

waf tries to read some directories that are owned by root, and only readable by root.

The solution is to make the directories world-readable.

Kodkod needs JDK 1.7.

Download the JDK from Oracle.

JAVA_HOME is not set.

Set JAVA_HOME in your .bash_profile or similar.

On a Mac, JAVA_HOME will be /Library/Java/JavaVirtualMachines/jdk1.7.0_21.jdk/Contents/Home/ or similar, depending on your version of JDK.