1. If you're using Windows, please download cygwin from http://www.cygwin.com/. This is not required for Linux. 2. If you're using Windows, please download python from http://www.python.org/. Python is distributed along with Linux. 3. JDK 1.4 (or above) from http://java.sun.org/ (For development with SVMDCP, JDK 1.4 or higher is required; for execution of binary release, JRE 1.3 is enough, provided that "-target 1.3" flag is specified while compiling.) 4. AspectJ 1.1 (or above) from http://aspectj.org/. 5. JavaCC 3.2 (or above) from https://javacc.dev.java.net/. 6. Make sure the following programs are in your PATH: java and javac (Java tools) python (Python interpretative language) ajc (AspectJ compiler) javacc (JavaCC compiler) INSTRUCTIONS: 1. Obtain SVM from CVS: $ export CVS_RSH="ssh" $ cvs -z3 -d:ext:anoncvs@savannah.nongnu.org:/cvsroot/svm co svmdcp 2. Build non-checkpointing source code for the model: $ cd svm/test/applet $ python ../../scc.py sample.des (hopefully, if no exception is shown, sample.java is generated) $ mkdir build && cd build && mv ../sample.java . (move the Java file to an empty directory) 3. Obtain SVMDCP from CVS: $ cvs -d:pserver:anoncvs@subversions.gnu.org:/cvsroot/svm login (press enter when prompted for password) $ cvs -z3 -d:pserver:anoncvs@subversions.gnu.org:/cvsroot/svm co svmdcp 4. Build SVMDCP from source: $ export CLASSPATH=`pwd`:$CLASSPATH (add the parent directory of svmdcp to CLASSPATH) $ export ASPECTJ_HOME=$HOME/aspectj1.1 && export CLASSPATH=$ASPECTJ_HOME/lib/aspectjrt.jar:$CLASSPATH (add the AdpectJ runtime package to CLASSPATH, ASPECTJ_HOME might be different for your case) $ cd svmdcp $ LANG=C make (make SVMDCP, set LANG=C because JavaCC has a bug for non-European systems) 5. Add rollback support to the previous model: $ cd .. $ java svmdcp.DCPGenerator.DCPGenerator sample.java (you'll see a successful message; the old file is backuped to sample.java.bak) 6. Build the distribution package: $ cp ../svmapplet.java . (use the default applet interface in svm/test/applet) $ ajc -target 1.3 *.java $ jar xvf $ASPECTJ_HOME/lib/aspectjrt.jar (include the AspectJ runtime) $ rm -f `find|grep -v '\.class$'` (remove all unnecessary and keep only class files) $ jar cvf ~/dcpsample.jar * Up to this point, the building is finished, and the jar file in your home path contains everything necessary for the applet on the SVMDCP homepage (http://msdl.cs.mcgill.ca/people/tfeng/?research=svmdcp). Enjoy! -- Thomas Feng