This is a copy of the source code for MIT's Alloy Analyzer model checking tool.
It also includes an Ant build.xml script, which is not part of the original MIT source code.
This copy was created to facilitate modification to the core Alloy tool (the parts which fall
under the edu.mit
package structure).
It was created as follows (not necessarily in this order):
- Downloaded the JAR file located at: http://alloy.mit.edu/alloy/downloads/alloy4.2.jar
- Extracted the JAR file.
- Added this
README.md
file and abuild.xml
file. - Deleted core
.class
files (using the clean target inbuild.xml
)
The Ant build.xml script contains the following targets:
-
build: Compiles the
.java
files under theedu
directory.Other directories are not touched; it is assumed that these contain libraries which have been pre-compiled.
The auto-generated parser and lexer
.java
files (located in theedu/mit/csail/sdg/alloy4compiler/parser
directory) are neither deleted nor generated by the Ant script. The directory already contains shell scripts to re-generate them using JFlex and CUP. -
dist: Creates an executable JAR file in the
dist
directory. This JAR file looks essentially like the official Alloy JAR file released by MIT. -
all: Runs dist.
-
clean: Deletes the
dist
directory and all class files under theedu
directory.
- As per the manifest, the main class is
edu.mit.csail.sdg.alloy4whole.SimpleGUI
. - The version number and build date which the tool displays are not accurate.
These are set in the
edu.mit.csail.sdg.alloy4.Version
class, and are supposed to be updated by the build script when building a release. This project was not intended to create official releases, so it was left as-is. - There is a class
edu.mit.csail.sdg.alloy4.MailBug
which includes logic to email crash reports to MIT. You should change this class if you are modifying the source code and creating your own release.