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.
(Rayside, 2009) Project LayoutNOTE: This is not the Spreadsheet Interface Moolloy referred to in
This is the parent repository for Alloy and Kodkod. We are using git submodules to manage the child repositories.
To get started:
git clone email@example.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.
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:
This will build the modified version of alloy.
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.
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.