An unofficial copy of MIT's Alloy Analyzer model checking tool.
Switch branches/tags
Nothing to show
Clone or download
Pull request Compare This branch is 6 commits ahead of beckus:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
LICENSES
META-INF
amd64-linux
edu/mit/csail/sdg
help
icons
images
java/lang
java_cup/runtime
kodkod
models
org/sat4j
target/META-INF
tmp
x86-freebsd
x86-linux
x86-mac
x86-windows
.gitignore
README.TXT
README.md
about.html
build.xml
kodkod.version
overview.html
plugin.properties
sat4j.version
wscript

README.md

Alloy Analyzer (source code mirror)

Summary

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):

  1. Downloaded the JAR file located at: http://alloy.mit.edu/alloy/downloads/alloy4.2.jar
  2. Extracted the JAR file.
  3. Added this README.md file and a build.xml file.
  4. Deleted core .class files (using the clean target in build.xml)

Building

The Ant build.xml script contains the following targets:

  • build: Compiles the .java files under the edu 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 the edu/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 the edu directory.

Notes

  • 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.