JSMAA
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.
Installation
- Latest version is 1.0.3, download here.
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.
Citing
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.
Screenshots
JSMAA v0.6, SMAA-TRI results (category acceptabilities)
Versions
- 1.0.3 : Fix results screens not working on OS X Mavericks.
- 1.0.2 : Fix incorrect pessimistic assignment rule implementation in SMAA-TRI.
- 1.0.1 : Bug fixes.
- 1.0 : Discrete measurements, piecewise linear partial value functions.
- 0.8.6 : Bug fixes.
- 0.8.5 : Bug fixes.
- 0.8.4 : Fix sampling of baselines for relative measurements.
- 0.8.3 : LogitNormal, RelativeNormal, and RelativeLogNormal measurements.
- 0.8.2 : Fixes: icons to work on Windows, negative interval calculation, slowness in simulations, chart style to 2d. Added tooltip for rank acceptability and CW table headers, changed to not construct any charts for 20+ alternatives.
- 0.8.1 : Better beta-sampler, value function graphs, refactoring.
- 0.8 : Beta-distributed measurements, GUI improvements, heavy refactoring.
- 0.6.4 : Changed to not showing acceptabilities graphs for 20+ alternatives. Added measurements to view of an alternative. Minor fixes & refactors for better integrability.
- 0.6.3 : Added showing of scales to preference information view. Major refactors and small fixes.
- 0.6.2 : Add exporting of GNUPlot scripts for figures. Fix SMAA-2 simulation crash on adding criterion.
- 0.6.1 : Fix major bug in previous versions of not updating output graphs/tables when they are showing.
- 0.6 : XML model files, ordinal criteria, improved output tables, reordering of alternatives/criteria/categories, improved tooltips, and various minor improvements.
- 0.4.1 : Improvements of the GUI usability and bug fixes.
- 0.4 : Adds SMAA-TRI, uncertainty individually for measurements, cardinal preference information, graph output, and various minor improvements.
- 0.2 : Initial release implementing SMAA-2.
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.
Development
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:
- 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 packagesun-java6-jdk
. - Install Maven. The Debian/Ubuntu package is
maven2
. - Install Git. The Debian/Ubuntu package for it is gitk. For windows I recommend msysGit.
- Clone jsmaa repository by running
git clone git://github.com/tommite/jsmaa.git
. - Change into the direcctory of jsmaa and build a package by executing
mvn package
.
- Set up maven bindings in Eclipse workspace by executing
mvn eclipse:configure-workspace -Declipse.workspace=.
in your workspace directory. - 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.