General notes on proDEX:

proDEX is a tool for qualitative multi-attribute modelling in basic and extended DEX methodology (Bohanec, 2003). It is written in Python programming language and uses graphical components of data-mining suite Orange (Demsar et al., 2004). At first it was made for experimental purposes, to test new approaches to semi-automatic construction and new functionalities of the models. Later, the requirements of modelling tasks in environmental domains dictated support for the expanded methodology and graphical user interface. proDEX lacks some features that are found in other tools of DEX methodology (like DEX and DEXi), however it also has some features that are not available in other tools. The most important features are the use of general hierarchies, numerical inputs and probabilistic utility functions.

The proDEX tool is implemented as a group of Orange widgets and is available for download here.
It can be freely used for non-commercial purposes.

Below are installation instructions and previews of components:

  • Installation
  • ReadModel component
  • Viewer component
  • AlternativesEditor component


proDEX is implemented as a group of Orange widgets. Orange is an open source data-mining suite and widgets are its graphical components based on Qt GUI library. Thus, installing Orange is a prerequisite for installation of proDEX. This process is nicely described on the Orange downloads page, where we can find appropriate installation packages. Notice that there are multiple choices offered, depending on whether you already have Python on your system or not.

Second step is downloading and installing proDEX. The proDEX GUI components are available for download (see above) as a zipped directory of files named "proDEX". Unzip the directory into the directory of Orange widgets. This is usually situated at:
C:\Program Files\Python23\Lib\site-packages\orange\OrangeWidgets

In the third step we must inform Orange of the new group of widgets. For this purpose, we start Orange (there is no group of proDEX widgets yet) and invoke the rebuilding of widget registry. This command is found under Options-Rebuild widget registry. A new group of widgets named "proDEX" should then appear. By clicking on its tab, we can see icons of "ReadModel", "Viewer" and "AlternativesEditor" components like in the picture below:

To use a particular component, it must be put on the canvas (click on it). In proDEX we usually put all three components onto the canvas and connect them in the same order as they are shown in the toolbar:

ReadModel component

Each use of proDEX is started with import of a model. This is done in the "ReadModel" component.

This component is used for opening a proDEX model file or importing a DEXi model file. A proDEX model definition is made in Python. A definition of a simple and small example model is in file

Model definition in Python is usually done manually (open the example file in text editor to see an example). To speed-up the model definition, we can use DEXi to construct the model interactively and then import the file with "ReadModel" component. However, for this purpose DEXi models must be converted to PMML format what involves the use of a transformation program (in Slovenian) and requires the model to be constructed according to a set of rules. So, in case you would like to transform DEXi models into proDEX definitions, please consult us by e-mail for support in this process. An imported model can be saved in the native proDEX format. This is done in the "Viewer" component (described below), which is usually the next to be put on canvas and connected to "ReadModel".

Viewer component

"Viewer" is a component with three tabs. The first tab provides some general information about the model, settings and an optional graphical preview of the model structure:

Currently, there is only one model setting, the one for showing or hiding the value of the optional model parameters named CONFIDENCE. The setting affects all the widgets that operate on particular model.
There is also an option of saving a model in the native proDEX format. This option is used to save the model in the native proDEX format in case we used DEXi to construct the model.
The second tab is used for quick evaluation of alternatives (what-if analysis):

It provides combo-boxes for the values of all the basic attributes (inputs) of the model. These values can be changed and the corresponding final evaluations can be compared.
The third tab offers a preview of all the utility functions of the model:

AlternativesEditor component

In "AlternativesEditor", the alternatives can be defined, saved, loaded, generated, evaluated and sorted.

The first tab shows a table with rows of alternatives, with all the values of basic attributes in columns. The defined alternatives can be saved to a file and later loaded. If there are no numeric inputs, all the possible alternatives can be automatically generated. Use this function with caution, as the number of possible alternatives can be huge, taking more memory than a computer might have.
To compare two alternatives, we must select them. This is done by clicking on their name while holding the 'Ctrl' key. The comparison of alternatives is made in the second tab. The values of all the aggregate attributes are computed and shown there.

More elaborate examples of use are in supplementary materials web page of a paper that was published in Environmental Modelling and Software.


Bohanec, M., 2003. Decision support. In: Mladenic, D., Lavrac, N., Bohanec, M., Moyle, S. (Eds.), Data mining and decision support: Integration and collaboration. Kluwer Academic Publishers, pp. 2335.

Demsar, J., Zupan, B., Leban, G., 2004. Orange: From experimental machine learning to interactive data mining. White paper ( Faculty of Computer and Information Science, University of Ljubljana.

Znidarsic, M., Bohanec, M., Zupan, B, 2006. proDEX - a DSS tool for environmental decision-making. Environ. model. softw., vol. 21, no. 10, pp. 1514-1516.