The general goal of MAGIC is to verify that an implementation conforms to its specification. The implementation is always a C program and hence quite standard. However, MAGIC can be used to play around with several kinds of specifcations and notions of conformance. For a quick overview of how to start using MAGIC, check out the
tutorial.
Back to TopDownload and Installation
MAGIC has been successfully installed on RedHat 7.1, RedHat 8.0 and Windows 2K with
Cygwin and gcc 3.x. You can obtain the latest MAGIC distribution as a tar.gz file
here. Save it in some directory, say "/foo". Depending on the version you download, the tarball will be named magic-x.tar.gz. Unpack the tarball as follows:
$ cd /foo$ tar xvfz magic-x.tar.gzYou should find a directory called "/foo/magic-x". First set the environment variable MAGICROOT to "/foo/magic-x". If your shell is csh or tcsh you can do it as follows:
$ setenv MAGICROOT /foo/magic-xIf your shell is bash, you can do the same using:
$ export MAGICROOT=/foo/magic-xIf your platform is Windows 2K you can set environment variables via the Control Panel. Next set the enviroment variable OSTYPE. On Linux, OSTYPE must be set to "linux" and on Windows 2K it must be set to "Windows_NT". MAGIC also requires the
Simplify theorem prover and the
Pseudo-Boolean Solver (PBS) to operate correctly. Further, it expects that these two tools be located in very specific directories. If your platform is Linux, the binaries for these tools must be called
Simplify and
PBS respectively. Copy them to their required directories as follows:
$ cp Simplify /foo/magic-x/theorem-prover/simplify/Simplify
$ cp PBS /foo/magic-x/pbs/PBS
If your platform is Windows 2K, the binaries must be called
Simplify.exe and
PBS.exe. They can be copied to their required directories as follows:
$ cp Simplify.exe /foo/magic-x/theorem-prover/simplify/Simplify.exe
$ cp PBS.exe /foo/magic-x/pbs/PBS.exeSimplify and
PBS do not come with the MAGIC distribution by default. However, if you have trouble locating these binaries,
email me and I will try to help you out. Finally, compile MAGIC as follows:
$ cd /foo/magic-x$ makeIf the compilation succeeds you will find a binary called "magic" (or "magic.exe" if you are using Cygwin) in the directory "/foo/magic-x/main". Make sure this binary is in your PATH and that the environment variable MAGICROOT is set to "/foo/magic-x" whenever you use MAGIC. It is advisable that you do these automatically via some startup script like
.cshrc or
.bashrc, or using the Control Panel if your platform is Windows 2K. If you have problems with compilation
email me and I will try to send you a binary (I should be able to help you with Linux and Windows 2K). Just save the binary to the file "/foo/magic-x/main/magic". MAGIC comes bundled with a set of simple examples. Once MAGIC is installed, read the "/foo/magic-x/README" file for instructions on how to play around with them. Have fun!!
NOTE: In order to draw its figures MAGIC requires the
Graphviz package, and in particular the
DOT tool. However, if you do not want to use MAGIC's drawing capabilities, there is no need to install Graphviz. Look at the
tutorial for an overview of how to make MAGIC draw.
Back to TopPrecompiled Binaries
We realize that the installation process described above can be quite tedious. If you already have an existing MAGIC installation and would like to simply upgrade to the latest version, you might want to download just the latest MAGIC executable. Here are precompiled binaries of the latest MAGIC release for
RedHat 7.1,
RedHat 8.0,
RedHat 9.0 and
Windows 2K. Simply download them and save them as "magic" (or "magic.exe" on Windows 2K) inside the "main" subdirectory.
Caution: These binaries are quite large. Also you must have an existing MAGIC distribution with the proper directory hierarchy,
Simplify and
PBS installed, and environment variables set as per the installation instructions above. Standalone MAGIC binaries will not work.
Back to Top