JSMAA is an open-source (GPL3) implementation of SMAA methods in java. Currently (as of v1.0.3) it implements SMAA-2 for utility-theory based choosing/ranking (together with SMAA-O for ordinal criteria), and outranking-based SMAA-TRI for sorting.


Install by downloading from above and unpacking to your computer. Run by starting jsmaa.jar - in windows this is done by simply double-clicking on the jsmaa.jar.

JSMAA requires minimum JRE 1.6. If you don't have JRE of 1.6 or later installed, get it from here. Note that up to version 0.4.1 only JRE 1.5 is required.

Mailing lists

There is currently one low traffic mailing list for JSMAA, "jsmaa-announce". This is used for announcing major news, mainly new releases. To sign up, go here.

Bug and feature trackers

GitHub issue tracker is used for JSMAA bugs. It can be found here.


The preferred way of citing JSMAA is:

Tervonen, T. JSMAA: open source software for SMAA computations. International Journal of Systems Science 45:1, pp. 69-81, 2014. DOI: 10.1080/00207721.2012.659706

Preprint pdf of the paper is available here.


JSMAA v0.6, SMAA-TRI results (category acceptabilities)


Reference implementation

JSMAA computations are checked against unit tests, and in addition the SMAA-2 computations are double-checked against a reference implementation in Matlab (by Douwe Postmus). This implementation can be downloaded here.


Instead of downloading the pre-compiled packages, you can also download the sources and compile JSMAA yourself. This option is mainly provided for development purposes, and any help in development is greatly appreciated. The source code of JSMAA is hosted in github at http://github.com/tommite/jsmaa.

The following steps are required for setting up JSMAA development environment:

  1. Make sure you have at least JDK1.6 installed and path set up (try java --version). If not, get it from here or in Ubuntu Linux install package sun-java6-jdk.
  2. Install Maven. The Debian/Ubuntu package is maven2.
  3. Install Git. The Debian/Ubuntu package for it is gitk. For windows I recommend msysGit.
  4. Clone jsmaa repository by running git clone git://github.com/tommite/jsmaa.git.
  5. Change into the direcctory of jsmaa and build a package by executing mvn package.
I recommend using Eclipse as the IDE for development. For setting up Eclipse project, follow the following steps:
  1. Set up maven bindings in Eclipse workspace by executing mvn eclipse:configure-workspace -Declipse.workspace=. in your workspace directory.
  2. Change into jsmaa directory and execute mvn eclipse:eclipse -DdownloadSources=true -DdownloadJavadocs=true. Now you can import into your Eclipse workspace the subprojects in main, gui, and lib-directories.

If you would like to participate in the development , please contact me for obtaining code commit rights in github.