<?xml version='1.0' encoding='utf-8'?>
<program_description>
  <program provider="PUT" name="ElectreIsDiscordanceBinary" version="0.1.0" displayName="ElectreIsDiscordanceBinary" />
  <documentation>
    <description>Computes discordance matrix as in Electre Is method. Resulting discordance indices are from range {0, 1}, hence "binary" in module's name.

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 the veto thresholds. Each criterion must have a preference direction specified (min or max). It is worth mentioning that this module allows to define veto threshold as a constant as well as a linear function.</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="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="input6" 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="discordance_aggregated" displayName="discordance_aggregated">
      <documentation>
        <description>Aggregated discordance indices computed from the given data.</description>
      </documentation>
      <xmcda tag="alternativesComparisons" />
    </output>

    <output id="output2" name="discordance_partials" displayName="discordance_partials">
      <documentation>
        <description>Non-aggregated (i.e. per-criterion) discordance indices computed from the given data.</description>
      </documentation>
      <xmcda tag="alternativesComparisons" />
    </output>

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

  </parameters>
</program_description>
