<?xml version='1.0' encoding='utf-8'?>
<program_description>
    <program provider="ITTB" name="plotCriteriaComparisons" version="1.0" displayName="plotCriteriaComparisons" />
    <documentation>
        <description>This web service generates a graph representing a partial preorder on the criteria. Compared to the web service plotCriteriaComparisons, some parameters are added. The generated graph can be valued. It can also be transitive. Several shapes for the nodes are proposed and colors can be used.</description>
        <contact><![CDATA[Dhouha Kbaier (dhouha.kbaier@telecom-bretagne.eu)]]></contact>
    </documentation>
    <parameters>

        <input id="criteria" name="criteria" displayName="criteria" isoptional="0">
            <documentation>
                <description>A list of criteria. Criteria can be activated or desactivated via the &lt;active&gt; tag (true or false). By default (no &lt;active&gt; tag), criteria are considered as active.</description>
            </documentation>
            <xmcda tag="criteria"><![CDATA[
                   
                    <criteria>
                        <criterion>
                            <active>[...]</active>
                            [...]
                        </criterion>
                        [...]
                    </criteria>
                    
               ]]></xmcda>
        </input>

        <input id="criteriaComparisons" name="criteriaComparisons" displayName="criteriaComparisons" isoptional="0">
            <documentation>
                <description>A valued relation relative to comparisons of the criteria. A numeric &lt;value&gt; indicates a the valuation for each &lt;pair&gt; of the relation.</description>
            </documentation>
            <xmcda tag="criteriaComparisons"><![CDATA[
               
                    <criteriaComparisons>
                        <pairs>
                            <pair>
                                <initial>
                                    <criterionID>[...]</criterionID>
                                </initial>
                                <terminal>
                                    <criterionID>[...]</criterionID>
                                </terminal>
                                <value>
                                    <real>[...]</real>
                                </value>
                            </pair>

                            [...]
                        </pairs>
                    </criteriaComparisons>
                    
                    ]]></xmcda>
        </input>

        <input id="methodGraphOptions" name="methodGraphOptions" displayName="methodGraphOptions" isoptional="0">
            <documentation>
                <description>Generates a graph taking into account the proposed options.</description>
            </documentation>
            <xmcda tag="methodParameters"><![CDATA[
                   
					<methodParameters>
						<parameter id="valued_graph" name="Valued graph">
							<value>
            					<label>%1</label>
       						 </value>
						</parameter>
						<parameter id="transitive_reduction" name="Transitive reduction">
							<value>
            					<label>%2</label>
       						 </value>
						</parameter>
						<parameter id="node_shape" name="Node shape">
							<value>
            					<label>%3</label>
       						 </value>
						</parameter>

						<parameter id="use_color" name="Colors in the graph">
							<value>
            					<label>%4</label>
       						 </value>
						</parameter>
						
						<parameter id="selected_color" name="Selected color">
							<value>
            					<label>%5</label>
       						 </value>
						</parameter>
						
					</methodParameters>
				
               ]]></xmcda>
            <gui status="preferGUI">
                <entry id="%1" type="enum" displayName="Graph type:">
                    <documentation>
                        <description>Choose between true (values appear with their transitions) or false.</description>
                    </documentation>
                    <items>
                        <item id="true">
                            <description>Arcs and values</description>
                            <value>true</value>
                        </item>
                        <item id="false">
                            <description>Arcs only</description>
                            <value>false</value>
                        </item>
                    </items>
                    <defaultValue>false</defaultValue>
                </entry>
                <entry id="%2" type="enum" displayName="With transitive reduction?">
                    <items>
                        <item id="true">
                            <description>Yes</description>
                            <value>true</value>
                        </item>
                        <item id="false">
                            <description>No</description>
                            <value>false</value>
                        </item>
                    </items>
                    <defaultValue>false</defaultValue>
                </entry>
                <entry id="%3" type="enum" displayName="Shape of the nodes?">
                    <documentation>
                        <description>Choose between rectangle, square, ellipse, circle or diamond.</description>
                    </documentation>
                    <items>
                        <item id="rectangle">
                            <description>Rectangle</description>
                            <value>Rectangle</value>
                        </item>
                        <item id="square">
                            <description>Square</description>
                            <value>Square</value>
                        </item>
                        <item id="ellipse">
                            <description>Ellipse</description>
                            <value>Ellipse</value>
                        </item>
                        <item id="circle">
                            <description>Circle</description>
                            <value>Circle</value>
                        </item>
                        <item id="diamond">
                            <description>Diamond</description>
                            <value>Diamond</value>
                        </item>
                    </items>
                    <defaultValue>rectangle</defaultValue>
                </entry>
                <entry id="%4" type="enum" displayName="Use colors?">
                    <documentation>
                        <description>The use of colors: true for a colored graph.</description>
                    </documentation>
                    <items>
                        <item id="true">
                            <description>Yes</description>
                            <value>true</value>
                        </item>
                        <item id="false">
                            <description>No</description>
                            <value>false</value>
                        </item>
                    </items>
                    <defaultValue>false</defaultValue>
                </entry>
                <entry id="%5" type="enum" displayName="Choose color:">
                    <documentation>
                        <description>String that indicates the color in the generated graph.Choose between "Black", "Red", "Blue", "Green", "Yellow", "Magenta" and "Cyan".</description>
                    </documentation>
                    <items>
                        <item id="black">
                            <description>Black</description>
                            <value>Black</value>
                        </item>
                        <item id="red">
                            <description>Red</description>
                            <value>Red</value>
                        </item>
                        <item id="blue">
                            <description>Blue</description>
                            <value>Blue</value>
                        </item>
                        <item id="green">
                            <description>Green</description>
                            <value>Green</value>
                        </item>
                        <item id="yellow">
                            <description>Yellow</description>
                            <value>Yellow</value>
                        </item>
                        <item id="magenta">
                            <description>Magenta</description>
                            <value>Magenta</value>
                        </item>
                        <item id="cyan">
                            <description>Cyan</description>
                            <value>Cyan</value>
                        </item>
                    </items>
                    <defaultValue>black</defaultValue>
                </entry>
            </gui>
        </input>

        <output id="criteriaComparisonsPlot" name="criteriaComparisonsPlot" displayName="criteriaComparisonsPlot">
            <documentation>
                <description>A string containing the base64 representation of the png image of the generated graph.</description>
            </documentation>
            <xmcda tag="criterionValue" />
        </output>

        <output id="messages" name="messages" displayName="messages">
            <documentation>
                <description>A list of messages generated by the algorithm.</description>
            </documentation>
            <xmcda tag="methodMessages" />
        </output>

    </parameters>
</program_description>
