Welcome to the documentation web site of the J-MCDA project.
This web site is under construction.
The J-MCDA project provides libraries to help develop MCDA related softwares in Java, especially outranking-related methods. It is split into the following modules.
J-MCDA is the name of the project, and is also the name of the main library, basis of all the others. The main library is also codenamed j-mcda-base to make it unambiguous (e.g. in code builds).
Please note that the API is not stable yet. We need feedback from users to test its robustness. The project is considered in alpha stage because it has not yet been much tested by non-core developers, but we pay good attention to the code quality and testing.
To use the libraries, nothing special is required. Just download them (see below), create a Java project, and add the libraries you need on your build path. How to do that depends on your development environment, e.g. in eclipse it is in the project settings, build path, libraries tab.
While not mandatory, we recommend using maven to manage the dependencies. (We use m2eclipse for maven integration into eclipse and appreciate it.) In that case, you do not have to manually add the libraries into your project as maven will do it for you, and the above step is not required.
To use the J-MCDA libraries as a basis to provide your own XMCDA web service, read this page.
To read XMCDA files, use one of these two strategies. The quickest way, useful if you want to publish XMCDA web services, is to use the automated parsing. Read the page here above (see XMCDA web services).
If you do not want to publish XMCDA web services, but simply want to read XMCDA files (e.g. to integrate XMCDA support in a software), or if you want supplementary flexibility (at the price of a bit much work), you may parse the files without using the automated XMCDA web services support. Read this page.
The J-MCDA module may be used to programmatically import CSV files. Their content is then available as Java objects. See e.g. class CsvImporter. The XMCDA module may then be used to programmatically convert such CSV files into XMCDA files.
For end-user easy access, an XMCDA web service is available to do the job. It can be accessed through e.g. the diviz software. The web service converts a performance table, or evaluations table, into equivalent XMCDA tags. One way to create a correct CSV file is to use OpenOffice calc, save as CSV, decimal separator must be dot (use e.g. english linguistics), export parameters for the CSV filter: UTF-8, field-sep comma, text-sep double quote, raw cell data (do not record cell 'as is'). The first column must contain the alternatives names, the first row must contain the criteria names. The evaluations must be numerical. The web service accepts missing values, and even empty evaluations, in which case only the criteria and alternatives are set. It also accepts a completely empty row or column, as long as all headers (rows and columns) are set.
An example input file is available.
J-MCDA has mainly two websites:
Relevant information (about XMCDA standard, diviz, ...) may also be found on the decision deck project web site.
Wiki: How_to_-_XMCDA_files
Wiki: How_to_-_XMCDA_web_services
Code for picture (outdated): [[File:J-MCDA-project-libraries.png|250px|right|The libraries dependencies illustrated.]]
How to start? (outdated)
Find a code sample relevant to the task you want to achieve and adapt it to your needs while reading the relevant javadoc parts.