<?xml version='1.0' encoding='utf-8'?>
<program_description>
  <program provider="PUT" name="ElectreConcordance" version="0.2.0" displayName="ElectreConcordance" />
  <documentation>
    <description>Computes concordance matrix using procedure which is common to the most methods from the Electre family.

The key feature of this module is its flexibility in terms of the types of elements allowed to compare, i.e. alternatives vs alternatives, alternatives vs boundary profiles and alternatives vs central (characteristic) profiles.</description>
    <url>http://github.com/xor-xor/electre_diviz</url>
  </documentation>
  <parameters>

    <input id="input3" name="criteria" displayName="criteria" isoptional="0">
      <documentation>
        <description>Criteria to consider, possibly with preference and indifference thresholds. Each criterion must have a preference direction specified (min or max). It is worth mentioning that this module allows to define thresholds as constants as well as linear functions.</description>
      </documentation>
      <xmcda tag="criteria" />
    </input>

    <input id="input1" name="alternatives" displayName="alternatives" isoptional="0">
      <documentation>
        <description>Alternatives to consider.</description>
      </documentation>
      <xmcda tag="alternatives" />
    </input>

    <input id="input4" name="performance_table" displayName="performance_table" isoptional="0">
      <documentation>
        <description>The performance of alternatives.</description>
      </documentation>
      <xmcda tag="performanceTable" />
    </input>

    <input id="input5" name="profiles_performance_table" displayName="profiles_performance_table" isoptional="1">
      <documentation>
        <description>The performance of profiles (boundary or central).</description>
      </documentation>
      <xmcda tag="performanceTable" />
    </input>

    <input id="input6" name="weights" displayName="weights" isoptional="0">
      <documentation>
        <description>Weights of criteria to consider.</description>
      </documentation>
      <xmcda tag="criteriaValues" />
    </input>

    <input id="input2" name="classes_profiles" displayName="classes_profiles" isoptional="1">
      <documentation>
        <description>Definitions of profiles (boundary or central) which should be used for classes (categories) representation.</description>
      </documentation>
      <xmcda tag="categoriesProfiles" />
    </input>

    <input id="input7" name="method_parameters" displayName="method_parameters" isoptional="0">
      <documentation>
        <description>This parameter specifies the type of elements provided for comparison.

Choosing 'boundary_profiles' or 'central_profiles' requires providing inputs 'classes_profiles' and 'profiles_performance_table' as well (which are optional by default).</description>
      </documentation>
      <xmcda tag="methodParameters"><![CDATA[
        
        <methodParameters>
          <parameter name="comparison_with">
            <value>
              <label>%1</label>
            </value>
          </parameter>
        </methodParameters>
        
      ]]></xmcda>
      <gui status="preferGUI">
        <entry id="%1" type="enum" displayName="comparison_with">
          <items>
            <item id="item0">
              <description>alternatives vs alternatives</description>
              <value>alternatives</value>
            </item>
            <item id="item1">
              <description>alternatives vs boundary profiles</description>
              <value>boundary_profiles</value>
            </item>
            <item id="item2">
              <description>alternatives vs central (characteristic) profiles</description>
              <value>central_profiles</value>
            </item>
          </items>
          <defaultValue>item0</defaultValue>
        </entry>
      </gui>
    </input>

    <output id="output1" name="concordance" displayName="concordance">
      <documentation>
        <description>Concordance matrix computed from the given data. This matrix aggregates partial concordances from all criteria into single concordance index per pair of alternatives or alternatives/profiles.</description>
      </documentation>
      <xmcda tag="alternativesComparisons" />
    </output>

    <output id="output2" name="messages" displayName="messages">
      <documentation>
        <description>Messages or errors generated by this module.</description>
      </documentation>
      <xmcda tag="methodMessages" />
    </output>

  </parameters>
</program_description>
