summaryrefslogtreecommitdiff
path: root/modules/xcos/etc
diff options
context:
space:
mode:
Diffstat (limited to 'modules/xcos/etc')
-rwxr-xr-xmodules/xcos/etc/Modelica.xsd180
-rwxr-xr-xmodules/xcos/etc/PaletteConfiguration.xsd60
-rwxr-xr-xmodules/xcos/etc/XConfiguration-xcos.xml41
-rwxr-xr-xmodules/xcos/etc/XConfiguration-xcos.xsl148
-rwxr-xr-xmodules/xcos/etc/Xcos-style.xml974
-rwxr-xr-xmodules/xcos/etc/XcosConfiguration.xsd40
-rwxr-xr-xmodules/xcos/etc/XcosFile.xsd825
-rwxr-xr-xmodules/xcos/etc/palettes.xml849
-rwxr-xr-xmodules/xcos/etc/xcos.quit15
-rwxr-xr-xmodules/xcos/etc/xcos.start12
-rwxr-xr-xmodules/xcos/etc/xcos.xml3
11 files changed, 3147 insertions, 0 deletions
diff --git a/modules/xcos/etc/Modelica.xsd b/modules/xcos/etc/Modelica.xsd
new file mode 100755
index 000000000..1858bf34f
--- /dev/null
+++ b/modules/xcos/etc/Modelica.xsd
@@ -0,0 +1,180 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">
+ <xs:complexType name="Info" final="extension restriction">
+ <xs:annotation>
+ <xs:documentation>Specify the size of all the parameters, state, inputs or outputs.</xs:documentation>
+ </xs:annotation>
+ <xs:sequence>
+ <xs:element name="number_of_integer_parameters" type="xs:nonNegativeInteger" minOccurs="0"/>
+ <xs:element name="number_of_real_parameters" type="xs:nonNegativeInteger" minOccurs="0"/>
+ <xs:element name="number_of_string_parameters" type="xs:nonNegativeInteger" minOccurs="0"/>
+ <xs:element name="number_of_discrete_variables" type="xs:nonNegativeInteger" minOccurs="0"/>
+ <xs:element name="number_of_continuous_variables" type="xs:nonNegativeInteger" minOccurs="0"/>
+ <xs:element name="number_of_continuous_unknowns" type="xs:nonNegativeInteger" minOccurs="0"/>
+ <xs:element name="number_of_continuous_states" type="xs:nonNegativeInteger" minOccurs="0"/>
+ <xs:element name="number_of_inputs" type="xs:nonNegativeInteger" minOccurs="0"/>
+ <xs:element name="number_of_outputs" type="xs:nonNegativeInteger" minOccurs="0"/>
+ <xs:element name="number_of_modes" type="xs:nonNegativeInteger" minOccurs="0"/>
+ <xs:element name="number_of_zero_crossings" type="xs:nonNegativeInteger" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+
+ <xs:complexType name="ModelicaValue" final="extension restriction">
+ <xs:annotation>
+ <xs:documentation>Modelica String assignation. The default value is specified to ease serialization.</xs:documentation>
+ </xs:annotation>
+ <xs:attribute name="value" type="xs:string" use="required" />
+ </xs:complexType>
+
+ <xs:complexType name="Struct" final="extension restriction">
+ <xs:annotation>
+ <xs:documentation>Partial tree of a structured content. Each node of a this type must not be a leaf.</xs:documentation>
+ </xs:annotation>
+ <xs:sequence>
+ <xs:element name="name" type="xs:string"/>
+ <xs:element name="subnodes">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:element name="struct" type="Struct"/>
+ <xs:element name="terminal" type="Terminal"/>
+ </xs:choice>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+
+ <xs:complexType name="Terminal" final="extension restriction">
+ <xs:annotation>
+ <xs:documentation>Terminal node of a {@link Struct} tree. This node is always a leaf.</xs:documentation>
+ </xs:annotation>
+ <xs:sequence>
+ <xs:element name="name" type="xs:string"/>
+ <xs:element name="kind" type="xs:string"/>
+ <xs:element name="id" type="xs:string"/>
+ <xs:element name="fixed" type="ModelicaValue" minOccurs="0"/>
+ <xs:element name="initial_value" type="ModelicaValue" minOccurs="0"/>
+ <xs:element name="weight" type="ModelicaValue" minOccurs="0"/>
+ <xs:element name="max" type="ModelicaValue" minOccurs="0"/>
+ <xs:element name="min" type="ModelicaValue" minOccurs="0"/>
+ <xs:element name="nominal_value" type="ModelicaValue" minOccurs="0"/>
+ <xs:element name="comment" type="ModelicaValue" minOccurs="0"/>
+ <xs:element name="selected" type="ModelicaValue" minOccurs="0"/>
+ <xs:element name="output" minOccurs="0" maxOccurs="1">
+ <xs:complexType />
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+
+ <xs:complexType name="Output" final="extension restriction">
+ <xs:annotation>
+ <xs:documentation>Describe an output of the modelica world.</xs:documentation>
+ </xs:annotation>
+ <xs:sequence>
+ <xs:element name="name" type="xs:string"/>
+ <xs:element name="order" type="xs:nonNegativeInteger" minOccurs="0"/>
+ <xs:element name="dependencies">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="variable" type="xs:string" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+
+ <xs:complexType name="Model" final="extension restriction">
+ <xs:annotation>
+ <xs:documentation>Root of the modelica tree.</xs:documentation>
+ </xs:annotation>
+ <xs:sequence>
+ <xs:element name="name" type="xs:string" minOccurs="0"/>
+ <xs:element name="model_info" type="Info" minOccurs="0"/>
+ <xs:element name="identifiers" minOccurs="0">
+ <xs:complexType>
+ <xs:annotation>
+ <xs:documentation>Describe any model identifier.</xs:documentation>
+ </xs:annotation>
+ <xs:sequence>
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:element name="parameter" type="xs:string"/>
+ <xs:element name="explicit_variable" type="xs:string"/>
+ <xs:element name="implicit_variable" type="xs:string"/>
+ <xs:element name="input" type="xs:string"/>
+ </xs:choice>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="implicit_relations" minOccurs="0">
+ <xs:complexType>
+ <xs:annotation>
+ <xs:documentation>Wrapper around the implicit (and inputs) variables list.</xs:documentation>
+ </xs:annotation>
+ <xs:sequence>
+ <xs:element name="implicit_relation" minOccurs="0" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:element name="implicit_variable" type="xs:string"/>
+ <xs:element name="input" type="xs:string"/>
+ </xs:choice>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="explicit_relations" minOccurs="0">
+ <xs:complexType>
+ <xs:annotation>
+ <xs:documentation>Wrapper around the explicit variables list.</xs:documentation>
+ </xs:annotation>
+ <xs:sequence>
+ <xs:element name="explicit_relation" minOccurs="0" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="explicit_variable" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="outputs" minOccurs="0">
+ <xs:complexType>
+ <xs:annotation>
+ <xs:documentation>Wrapper around the {@link Output} list.</xs:documentation>
+ </xs:annotation>
+ <xs:sequence>
+ <xs:element name="output" type="Output" nillable="true" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="elements" minOccurs="0">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="struct" type="Struct" nillable="true" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="equations" minOccurs="0">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="equation" type="ModelicaValue" nillable="true" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="when_clauses" minOccurs="0">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="when_clause" type="ModelicaValue" nillable="true" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+
+ <xs:element name="model" type="Model" />
+</xs:schema>
+
diff --git a/modules/xcos/etc/PaletteConfiguration.xsd b/modules/xcos/etc/PaletteConfiguration.xsd
new file mode 100755
index 000000000..3ac6f66eb
--- /dev/null
+++ b/modules/xcos/etc/PaletteConfiguration.xsd
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">
+
+ <xs:element name="category" type="Category"/>
+
+ <xs:complexType name="PaletteBlock">
+ <xs:sequence>
+ <xs:element name="data" type="VariablePath" minOccurs="0" maxOccurs="1"/>
+ <xs:element name="icon" type="VariablePath" minOccurs="1" maxOccurs="1"/>
+ </xs:sequence>
+ <xs:attribute name="name" type="xs:string" use="required"/>
+ </xs:complexType>
+
+ <xs:complexType name="VariablePath">
+ <xs:attribute name="path" type="xs:anyURI" use="required"/>
+ <xs:attribute name="variable" type="xs:string" use="optional"/>
+ </xs:complexType>
+
+ <xs:complexType name="Custom">
+ <xs:complexContent>
+ <xs:extension base="Palette">
+ <xs:sequence>
+ <xs:element name="path" type="VariablePath" minOccurs="1" maxOccurs="1"/>
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+
+ <xs:complexType name="Palette" abstract="true">
+ <xs:complexContent>
+ <xs:extension base="PaletteNode" />
+ </xs:complexContent>
+ </xs:complexType>
+
+ <xs:complexType name="PaletteNode" abstract="true">
+ <xs:attribute name="name" type="xs:string" use="required"/>
+ <xs:attribute name="enable" type="xs:boolean" use="required"/>
+ </xs:complexType>
+
+ <xs:complexType name="PreLoaded">
+ <xs:complexContent>
+ <xs:extension base="Palette">
+ <xs:sequence>
+ <xs:element name="block" type="PaletteBlock" nillable="true" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+
+ <xs:complexType name="Category">
+ <xs:complexContent>
+ <xs:extension base="PaletteNode">
+ <xs:sequence>
+ <xs:element name="node" type="PaletteNode" nillable="true" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+</xs:schema>
+
diff --git a/modules/xcos/etc/XConfiguration-xcos.xml b/modules/xcos/etc/XConfiguration-xcos.xml
new file mode 100755
index 000000000..e9949d0cc
--- /dev/null
+++ b/modules/xcos/etc/XConfiguration-xcos.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="utf-8"?>
+<xcos title="Xcos">
+ <body>
+ <xcos-preferences number-of-recently-open="5" file-format="0">
+ <file-format code="0" description="ZCOS"/>
+ <file-format code="1" description="XCOS"/>
+ </xcos-preferences>
+ </body>
+ <edition title="Edition">
+ <body>
+ <xcos-edition edge-style="0" graph-background="0xffffff" graph-grid-enable="true" graph-grid="10">
+ <edge-style code="0" description="_(Straight)"/>
+ <edge-style code="1" description="_(Horizontal)"/>
+ <edge-style code="2" description="_(Vertical)"/>
+ </xcos-edition>
+ </body>
+ </edition>
+ <simulation title="Simulation">
+ <body>
+ <xcos-simulation final-integration-time="1.0E05" real-time-scaling="0.0E00" integrator-absolute-tolerance="1.0E-06" integrator-relative-tolerance="1.0E-06" tolerance-on-time="1.0E-10" max-integration-interval="1.00001E05" solver="1" max-step-size="0.0" trace="0">
+ <!-- Available solver values list from scicos -->
+ <solver code="0" description="LSodar"/>
+ <solver code="1" description="Sundials/CVODE - BDF - NEWTON"/>
+ <solver code="2" description="Sundials/CVODE - BDF - FUNCTIONAL"/>
+ <solver code="3" description="Sundials/CVODE - ADAMS - NEWTON"/>
+ <solver code="4" description="Sundials/CVODE - ADAMS - FUNCTIONAL"/>
+ <solver code="5" description="DOPRI5 - Dormand-Prince 4(5)"/>
+ <solver code="6" description="RK45 - Runge-Kutta 4(5)"/>
+ <solver code="7" description="Implicit RK45 - Runge-Kutta 4(5) - FIXED-POINT"/>
+ <solver code="100" description="Sundials/IDA"/>
+ <solver code="101" description="DDaskr - BDF"/>
+ <!-- Available trace values lists from scicos -->
+ <trace code="0" description="_(No trace nor debug printing)"/>
+ <trace code="1" description="_(Light Simulation trace (Discrete and Continuous part switches))"/>
+ <trace code="2" description="_(Per block execution trace and Debug block calls)"/>
+ <trace code="3" description="_(Debug block calls without trace)"/>
+ </xcos-simulation>
+ </body>
+ </simulation>
+</xcos>
+
diff --git a/modules/xcos/etc/XConfiguration-xcos.xsl b/modules/xcos/etc/XConfiguration-xcos.xsl
new file mode 100755
index 000000000..8d0cc69e3
--- /dev/null
+++ b/modules/xcos/etc/XConfiguration-xcos.xsl
@@ -0,0 +1,148 @@
+<?xml version="1.0" encoding="utf-8"?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
+ <!-- Default settings for Xcos -->
+ <xsl:template match="xcos-preferences">
+ <Grid>
+ <Label gridx="1" gridy="1" text="_(Number of recently opened files to display: )"/>
+ <NumericalSpinner gridx="2"
+ gridy="1"
+ min-value = "0"
+ increment = "1"
+ length = "4"
+ listener = "ActionListener"
+ value = "{@number-of-recently-open}">
+ <actionPerformed choose="number-of-recently-open">
+ <xsl:call-template name="context"/>
+ </actionPerformed>
+ </NumericalSpinner>
+ <Label gridx="1" gridy="2" text="_(Default file format)"/>
+ <Select gridx="2" gridy="2" listener="ActionListener">
+ <xsl:variable name="file-format" select="@file-format"/>
+ <actionPerformed choose="file-format">
+ <xsl:call-template name="context"/>
+ </actionPerformed>
+ <xsl:for-each select="file-format">
+ <option value="{@description}" key="{@code}">
+ <xsl:if test="@code=$file-format">
+ <xsl:attribute name="selected">selected</xsl:attribute>
+ </xsl:if>
+ </option>
+ </xsl:for-each>
+ </Select>
+ </Grid>
+ </xsl:template>
+ <!-- Customize Xcos editing behavior-->
+ <xsl:template match="xcos-edition">
+ <Grid>
+ <Label gridx="1" gridy="1" text="_(Link Style)"/>
+ <Select gridx="2" gridy="1" listener="ActionListener">
+ <xsl:variable name="edge-style" select="@edge-style"/>
+ <actionPerformed choose="edge-style">
+ <xsl:call-template name="context"/>
+ </actionPerformed>
+ <xsl:for-each select="edge-style">
+ <option value="{@description}" key="{@code}">
+ <xsl:if test="@code=$edge-style">
+ <xsl:attribute name="selected">selected</xsl:attribute>
+ </xsl:if>
+ </option>
+ </xsl:for-each>
+ </Select>
+ <Label gridx="1" gridy="2" text="_(Diagram background)"/>
+ <Color gridx="2" gridy="2" color="{@graph-background}" listener="ActionListener">
+ <actionPerformed choose="graph-background">
+ <xsl:call-template name="context"/>
+ </actionPerformed>
+ </Color>
+ <Checkbox gridx="1" gridy="3" text="_(Grid)" checked="{@graph-grid-enable}" selected-value="true" unselected-value="false" listener="ActionListener">
+ <actionPerformed choose="graph-grid-enable">
+ <xsl:call-template name="context"/>
+ </actionPerformed>
+ </Checkbox>
+ <NumericalSpinner gridx="2" gridy="3" value="{@graph-grid}" enable="{@graph-grid-enable}" increment="1" min-value="1" listener="ActionListener">
+ <actionPerformed choose="graph-grid">
+ <xsl:call-template name="context"/>
+ </actionPerformed>
+ </NumericalSpinner>
+ </Grid>
+ </xsl:template>
+ <!-- Simulation settings for Xcos -->
+ <xsl:template match="xcos-simulation">
+ <Title text="_(Default simulation settings)">
+ <Grid>
+ <Label gridx="1" gridy="1" text="_(Final integration time)"/>
+ <ScilabDoubleEntry gridx="2" gridy="1" value="{@final-integration-time}" listener="PropertyChangeListener">
+ <propertyChange name="value" choose="final-integration-time">
+ <xsl:call-template name="context"/>
+ </propertyChange>
+ </ScilabDoubleEntry>
+ <Label gridx="1" gridy="2" text="_(Real time scaling)"/>
+ <ScilabDoubleEntry gridx="2" gridy="2" value="{@real-time-scaling}" listener="PropertyChangeListener">
+ <propertyChange name="value" choose="real-time-scaling">
+ <xsl:call-template name="context"/>
+ </propertyChange>
+ </ScilabDoubleEntry>
+ <Label gridx="1" gridy="3" text="_(Integrator absolute tolerance)"/>
+ <ScilabDoubleEntry gridx="2" gridy="3" value="{@integrator-absolute-tolerance}" listener="PropertyChangeListener">
+ <propertyChange name="value" choose="integrator-absolute-tolerance">
+ <xsl:call-template name="context"/>
+ </propertyChange>
+ </ScilabDoubleEntry>
+ <Label gridx="1" gridy="4" text="_(Integrator relative tolerance)"/>
+ <ScilabDoubleEntry gridx="2" gridy="4" value="{@integrator-relative-tolerance}" listener="PropertyChangeListener">
+ <propertyChange name="value" choose="integrator-relative-tolerance">
+ <xsl:call-template name="context"/>
+ </propertyChange>
+ </ScilabDoubleEntry>
+ <Label gridx="1" gridy="5" text="_(Tolerance on time)"/>
+ <ScilabDoubleEntry gridx="2" gridy="5" value="{@tolerance-on-time}" listener="PropertyChangeListener">
+ <propertyChange name="value" choose="tolerance-on-time">
+ <xsl:call-template name="context"/>
+ </propertyChange>
+ </ScilabDoubleEntry>
+ <Label gridx="1" gridy="6" text="_(Max integration time interval)"/>
+ <ScilabDoubleEntry gridx="2" gridy="6" value="{@max-integration-interval}" listener="PropertyChangeListener">
+ <propertyChange name="value" choose="max-integration-interval">
+ <xsl:call-template name="context"/>
+ </propertyChange>
+ </ScilabDoubleEntry>
+ <Label gridx="1" gridy="7" text="_(Solver kind)"/>
+ <Select gridx="2" gridy="7" listener="ActionListener">
+ <xsl:variable name="solver" select="@solver"/>
+ <actionPerformed choose="solver">
+ <xsl:call-template name="context"/>
+ </actionPerformed>
+ <xsl:for-each select="solver">
+ <option value="{@description}" key="{@code}">
+ <xsl:if test="@code=$solver">
+ <xsl:attribute name="selected">selected</xsl:attribute>
+ </xsl:if>
+ </option>
+ </xsl:for-each>
+ </Select>
+ <Label gridx="1" gridy="8" text="_(Maximum step size (0 means no limit))"/>
+ <ScilabDoubleEntry gridx="2" gridy="8" value="{@max-step-size}" listener="PropertyChangeListener">
+ <actionPerformed choose="max-step-size">
+ <xsl:call-template name="context"/>
+ </actionPerformed>
+ </ScilabDoubleEntry>
+ </Grid>
+ </Title>
+ <VSpace height="10"/>
+ <Title text="_(Default trace settings)">
+ <Select listener="ActionListener">
+ <xsl:variable name="trace" select="@trace"/>
+ <actionPerformed choose="trace">
+ <xsl:call-template name="context"/>
+ </actionPerformed>
+ <xsl:for-each select="trace">
+ <option value="{@description}" key="{@code}">
+ <xsl:if test="@code=$trace">
+ <xsl:attribute name="selected">selected</xsl:attribute>
+ </xsl:if>
+ </option>
+ </xsl:for-each>
+ </Select>
+ </Title>
+ </xsl:template>
+</xsl:stylesheet>
diff --git a/modules/xcos/etc/Xcos-style.xml b/modules/xcos/etc/Xcos-style.xml
new file mode 100755
index 000000000..0d8da05dc
--- /dev/null
+++ b/modules/xcos/etc/Xcos-style.xml
@@ -0,0 +1,974 @@
+<?xml version="1.0"?>
+<mxStylesheet>
+ <!-- *** OVERLOADING DEFINITION *** -->
+ <add as="defaultVertex">
+ <add as="shape" value="label"/>
+ <add as="perimeter" value="rectanglePerimeter"/>
+ <add as="strokeColor" value="black"/>
+ <add as="strokeWidth" value="0.5"/>
+ <add as="fillColor" value="white"/>
+ <add as="fontColor" value="black"/>
+ <add as="noLabel" value="1"/>
+ </add>
+ <!-- *** GENERIC BLOCKS *** -->
+ <add as="block" extend="defaultVertex">
+ <add as="fillColor" value="#cdcdcd"/>
+ <add as="gradientColor" value="white"/>
+ <add as="rounded" value="1"/>
+ </add>
+ <add as="blockWithLabel" extend="defaultVertex">
+ <add as="noLabel" value="0"/>
+ <add as="spacing" value="13"/>
+ <add as="fillColor" value="#cdcdcd"/>
+ <add as="gradientColor" value="white"/>
+ <add as="rounded" value="1"/>
+ </add>
+ <!-- *** BLOCK DEFINITION *** -->
+ <!-- Affiche -->
+ <add as="Affiche" extend="blockWithLabel"/>
+ <add as="Split" extend="block">
+ <add as="shape" value="rectangle"/>
+ <add as="strokeColor" value="black"/>
+ <add as="fillColor" value="orange"/>
+ <remove as="gradientColor"/>
+ <remove as="rounded"/>
+ </add>
+ <!-- Label -->
+ <add as="Label" extend="defaultVertex">
+ <add as="shape" value="rectangle"/>
+ <add as="perimeter" value="rectanglePerimeter"/>
+ <add as="fillColor" value="white"/>
+ <add as="fontColor" value="black"/>
+ <add as="noLabel" value="0"/>
+ <add as="strokeColor" value="white"/>
+ </add>
+ <!-- Print (Label as block) -->
+ <add as="Print" extend="blockWithLabel">
+ <add as="displayedLabel" value="%s"/>
+ </add>
+ <!-- Gain -->
+ <add as="Gain" extend="blockWithLabel">
+ <add as="shape" value="triangle"/>
+ <add as="perimeter" value="trianglePerimeter"/>
+ <add as="direction" value="east"/>
+ <add as="displayedLabel" value="%s"/>
+ </add>
+ <!-- Icon -->
+ <add as="Icon" extend="block">
+ <add as="imageBorder" value="black"/>
+ </add>
+ <!-- *** PORT DEFINITION *** -->
+ <add as="Port" extend="defaultVertex">
+ <add as="shape" value="triangle"/>
+ <add as="perimeter" value="trianglePerimeter"/>
+ <add as="noLabel" value="0"/>
+ </add>
+ <!-- Command Port -->
+ <add as="CommandPort" extend="Port">
+ <add as="strokeColor" value="red"/>
+ <add as="fillColor" value="red"/>
+ <add as="rotation" value="90"/>
+ <add as="type" value="Command"/>
+ </add>
+ <!-- Control Port -->
+ <add as="ControlPort" extend="Port">
+ <add as="strokeColor" value="red"/>
+ <add as="fillColor" value="red"/>
+ <add as="rotation" value="90"/>
+ <add as="type" value="Control"/>
+ </add>
+ <!-- Explicit Input -->
+ <add as="ExplicitInputPort" extend="Port">
+ <add as="strokeColor" value="black"/>
+ <add as="fillColor" value="black"/>
+ <add as="rotation" value="0"/>
+ </add>
+ <!-- Explicit Output -->
+ <add as="ExplicitOutputPort" extend="Port">
+ <add as="strokeColor" value="black"/>
+ <add as="fillColor" value="black"/>
+ <add as="rotation" value="0"/>
+ </add>
+ <!-- Implicit Input -->
+ <add as="ImplicitInputPort" extend="Port">
+ <add as="shape" value="rectangle"/>
+ <add as="strokeColor" value="black"/>
+ <add as="fillColor" value="black"/>
+ </add>
+ <!-- Implicit Output -->
+ <add as="ImplicitOutputPort" extend="Port">
+ <add as="shape" value="rectangle"/>
+ <add as="strokeColor" value="black"/>
+ <add as="fillColor" value="white"/>
+ </add>
+ <!-- *** LINK definition *** -->
+ <add as="defaultEdge">
+ <!--<add as="edgeStyle" value="entityRelationEdgeStyle"/>-->
+ <add as="labelBackgroundColor" value="white"/>
+ <!-- To have rounded links -->
+ <!-- <add as="rounded" value="1"/> -->
+ <!-- <add as="edgeStyle" value="elbowEdgeStyle"/> -->
+ <add as="elbow" value="horizontal"/>
+ <add as="shape" value="connector"/>
+ <add as="labelBackgroundColor" value="white"/>
+ <add as="endArrow" value="classicnone"/>
+ <add as="fontSize" value="10"/>
+ <add as="align" value="center"/>
+ <add as="verticalAlign" value="middle"/>
+ <add as="strokeColor" value="black"/>
+ <add as="perimeter" value="null"/>
+ </add>
+ <add as="CommandControlLink" extend="defaultEdge">
+ <add as="strokeColor" value="red"/>
+ <add as="elbow" value="vertical"/>
+ </add>
+ <add as="ExplicitLink" extend="defaultEdge">
+ <add as="strokeColor" value="blue"/>
+ </add>
+ <add as="ImplicitLink" extend="defaultEdge">
+ <add as="strokeColor" value="blue"/>
+ </add>
+ <!-- SOURCES -->
+ <add as="CONST_m" extend="Print"/>
+ <add as="CONST_f" extend="Print"/>
+ <add as="CONST" extend="Print"/>
+ <add as="GENSQR_f" extend="Icon">
+ <add as="image" value="$SCILAB/modules/xcos/images/blocks/SQUARE_WAVE_f.svg"/>
+ </add>
+ <add as="RAMP" extend="Icon">
+ <add as="image" value="$SCILAB/modules/xcos/images/blocks/RAMP.svg"/>
+ </add>
+ <add as="RAND_m" extend="blockWithLabel">
+ <add as="displayedLabel" value="Random&lt;BR&gt; generator"/>
+ </add>
+ <add as="RFILE_f" extend="blockWithLabel">
+ <add as="displayedLabel" value="Read from&lt;BR&gt; input file"/>
+ </add>
+ <add as="CLKINV_f" extend="blockWithLabel">
+ <add as="shape" value="hexagon"/>
+ <add as="rounded" value="1"/>
+ <add as="fillColor" value="white"/>
+ <add as="strokeColor" value="red"/>
+ </add>
+ <add as="CURV_f" extend="blockWithLabel">
+ <add as="displayedLabel" value="Curve"/>
+ </add>
+ <add as="INIMPL_f" extend="blockWithLabel">
+ <add as="shape" value="hexagon"/>
+ <add as="rounded" value="1"/>
+ <add as="fillColor" value="white"/>
+ </add>
+ <add as="READAU_f" extend="blockWithLabel">
+ <add as="displayedLabel" value="Read from .au&lt;BR&gt; sound file"/>
+ </add>
+ <add as="SAWTOOTH_f" extend="Icon">
+ <add as="image" value="$SCILAB/modules/xcos/images/blocks/sawtooth.svg"/>
+ </add>
+ <add as="STEP_FUNCTION" extend="Icon">
+ <add as="image" value="$SCILAB/modules/xcos/images/blocks/STEP_FUNCTION.svg"/>
+ </add>
+ <add as="STEP" extend="Icon">
+ <add as="image" value="$SCILAB/modules/xcos/images/blocks/STEP_FUNCTION.svg"/>
+ </add>
+ <add as="PULSE_SC" extend="Icon">
+ <add as="image" value="$SCILAB/modules/xcos/images/blocks/PULSE_SC.svg"/>
+ </add>
+ <add as="CLOCK_c" extend="Icon">
+ <add as="image" value="$SCILAB/modules/xcos/images/blocks/CLOCK_c.svg"/>
+ </add>
+ <add as="GENSIN_f" extend="Icon">
+ <add as="image" value="$SCILAB/modules/xcos/images/blocks/SINUS_f.svg"/>
+ </add>
+ <add as="IN_f" extend="blockWithLabel">
+ <add as="shape" value="hexagon"/>
+ <add as="rounded" value="1"/>
+ <add as="fillColor" value="white"/>
+ </add>
+ <add as="READC_f" extend="blockWithLabel">
+ <add as="displayedLabel" value="Read from&lt;BR&gt; C binary file"/>
+ </add>
+ <add as="TIME_f" extend="Icon">
+ <add as="image" value="$SCILAB/modules/xcos/images/blocks/CLOCK_f.svg"/>
+ </add>
+ <add as="Modulo_Count" extend="blockWithLabel">
+ <add as="displayedLabel" value="Counter&lt;BR&gt;Modulo %2$s"/>
+ </add>
+ <add as="Sigbuilder" extend="blockWithLabel">
+ <add as="displayedLabel" value="Signal&lt;BR&gt;Builder"/>
+ </add>
+ <add as="SampleCLK" extend="Icon">
+ <add as="image" value="$SCILAB/modules/xcos/images/blocks/SampleCLK.svg"/>
+ </add>
+ <add as="TKSCALE" extend="blockWithLabel">
+ <add as="displayedLabel" value="TK Scale"/>
+ </add>
+ <add as="FROMWSB" extend="blockWithLabel">
+ <!-- FIXME: update label from parameters (not as exprs) -->
+ <add as="displayedLabel" value="From workspace"/>
+ </add>
+ <!-- CONTINUOUS -->
+ <add as="DERIV" extend="blockWithLabel">
+ <add as="displayedLabel" value="du / dt"/>
+ </add>
+ <add as="INTEGRAL_m" extend="Icon">
+ <add as="image" value="$SCILAB/modules/xcos/images/blocks/INTEGRAL.svg"/>
+ <!--
+ <add as="displayedLabel" value="&lt;FONT SIZE=&quot;6&quot;&gt;
+ &#8747; &lt;/FONT&gt;"/>
+ -->
+ </add>
+ <add as="INTEGRAL" extend="INTEGRAL_m"/>
+ <add as="CLSS" extend="blockWithLabel">
+ <add as="displayedLabel" value="&lt;TABLE&gt; &lt;TR&gt; &lt;TD ALIGN=&quot;RIGHT&quot;&gt;xd&lt;/TD&gt; &lt;TD&gt;=&lt;/TD&gt; &lt;TD&gt;Ax+Bu&lt;/TD&gt; &lt;/TR&gt; &lt;TR&gt; &lt;TD ALIGN=&quot;RIGHT&quot;&gt;y&lt;/TD&gt; &lt;TD&gt;=&lt;/TD&gt; &lt;TD&gt;Cx+Du&lt;/TD&gt; &lt;/TR&gt; &lt;/TABLE&gt;"/>
+ </add>
+ <add as="CLSS_f" extend="CLSS"/>
+ <add as="CLR" extend="blockWithLabel">
+ <add as="displayedLabel" value="$\frac{%s}{%s}$"/>
+ </add>
+ <add as="CLR_f" extend="CLR"/>
+ <add as="TIME_DELAY" extend="blockWithLabel">
+ <add as="displayedLabel" value="Continuous&lt;BR&gt; fix delay"/>
+ </add>
+ <add as="TCLSS" extend="blockWithLabel">
+ <add as="displayedLabel" value="Jump&lt;BR&gt; (A,B,C,D)"/>
+ </add>
+ <add as="TCLSS_f" extend="TCLSS"/>
+ <add as="VARIABLE_DELAY" extend="blockWithLabel">
+ <add as="displayedLabel" value="Variable&lt;BR&gt; delay"/>
+ </add>
+ <add as="PID" extend="blockWithLabel">
+ <add as="displayedLabel" value="PID"/>
+ </add>
+ <add as="INTEGRAL_f" extend="blockWithLabel">
+ <add as="displayedLabel" value="1/s"/>
+ </add>
+ <!-- DISCONTINUOUS -->
+ <add as="SATURATION" extend="Icon">
+ <add as="image" value="$SCILAB/modules/xcos/images/blocks/SATURATION.svg"/>
+ </add>
+ <add as="DEADBAND" extend="Icon">
+ <add as="image" value="$SCILAB/modules/xcos/images/blocks/DEADBAND.svg"/>
+ </add>
+ <add as="HYSTHERESIS" extend="Icon">
+ <add as="image" value="$SCILAB/modules/xcos/images/blocks/HYSTHERESIS.svg"/>
+ </add>
+ <add as="BACKLASH" extend="blockWithLabel">
+ <add as="displayedLabel" value="Backlash"/>
+ </add>
+ <add as="RATELIMITER" extend="blockWithLabel">
+ <add as="displayedLabel" value="Rate limiter"/>
+ </add>
+ <add as="REGISTER" extend="blockWithLabel">
+ <add as="displayedLabel" value="Shift&lt;BR&gt; register"/>
+ </add>
+ <add as="DELAYV_f" extend="blockWithLabel">
+ <add as="displayedLabel" value="Variable&lt;BR&gt; delay"/>
+ </add>
+ <!-- LOOKUP TABLES -->
+ <add as="LOOKUP_f" extend="Icon">
+ <add as="image" value="$SCILAB/modules/xcos/images/blocks/DSCOPE.svg"/>
+ </add>
+ <add as="INTRP2BLK_f" extend="blockWithLabel">
+ <add as="displayedLabel" value="Interp 2"/>
+ </add>
+ <add as="INTRPLBLK_f" extend="blockWithLabel">
+ <add as="displayedLabel" value="Interp"/>
+ </add>
+ <!-- SIGNAL PROCESSING -->
+ <add as="MCLOCK_f" extend="blockWithLabel">
+ <add as="displayedLabel" value="2freq clock&lt;BR&gt; f/n f"/>
+ </add>
+ <add as="QUANT_f" extend="Icon">
+ <add as="image" value="$SCILAB/modules/xcos/images/blocks/QUANT_f.svg"/>
+ </add>
+ <add as="MFCLCK_f" extend="blockWithLabel">
+ <add as="displayedLabel" value="M. freq&lt;BR&gt; clock"/>
+ </add>
+ <add as="SAMPHOLD_m" extend="blockWithLabel">
+ <add as="displayedLabel" value="S / H"/>
+ </add>
+ <add as="SAMPLEHOLD_f" extend="SAMPHOLD_m"/>
+ <!-- THRESHOLD -->
+ <add as="NEGTOPOS_f" extend="blockWithLabel">
+ <add as="displayedLabel" value="- to +"/>
+ </add>
+ <add as="POSTONEG_f" extend="blockWithLabel">
+ <add as="displayedLabel" value="+ to -"/>
+ </add>
+ <add as="ZCROSS_f" extend="blockWithLabel">
+ <add as="displayedLabel" value="Zcross"/>
+ </add>
+ <add as="GENERAL_f" extend="blockWithLabel">
+ <add as="displayedLabel" value="GENERAL"/>
+ </add>
+ <add as="CLINDUMMY_f" extend="blockWithLabel">
+ <add as="displayedLabel" value="DUMMY&lt;BR&gt; CLSS"/>
+ </add>
+ <!-- MATH OPERATIONS -->
+ <add as="MAX_f" extend="blockWithLabel">
+ <add as="displayedLabel" value="MAX"/>
+ </add>
+ <add as="MIN_f" extend="blockWithLabel">
+ <add as="displayedLabel" value="MIN"/>
+ </add>
+ <add as="BIGSOM_f" extend="Icon">
+ <add as="image" value="$SCILAB/modules/xcos/images/blocks/SUM.svg"/>
+ <add as="noLabel" value="1"/>
+ <!--
+ <add as="displayedLabel" value="&lt;TABLE&gt;&lt;TR&gt;
+ &lt;TD&gt;+&lt;/TD&gt; &lt;TD ROWSPAN=&quot;2&quot;&gt; &lt;FONT
+ SIZE=&quot;6&quot;&gt;&#8721;&lt;/FONT&gt; &lt;/TD&gt; &lt;/TR&gt;
+ &lt;TR&gt; &lt;TD&gt;+&lt;/TD&gt; &lt;TD/&gt; &lt;/TR&gt;
+ &lt;/TABLE&gt;"/>
+ -->
+ </add>
+ <add as="POWBLK_f" extend="blockWithLabel">
+ <add as="displayedLabel" value="u^a"/>
+ </add>
+ <add as="INVBLK" extend="blockWithLabel">
+ <add as="displayedLabel" value="1/u"/>
+ </add>
+ <add as="INVBLK_f" extend="INVBLK"/>
+ <add as="SINBLK_f" extend="blockWithLabel">
+ <add as="displayedLabel" value="SIN"/>
+ </add>
+ <add as="COSBLK_f" extend="blockWithLabel">
+ <add as="displayedLabel" value="COS"/>
+ </add>
+ <add as="TANBLK_f" extend="blockWithLabel">
+ <add as="displayedLabel" value="TAN"/>
+ </add>
+ <add as="MATDIV" extend="blockWithLabel">
+ <add as="displayedLabel" value="A / B"/>
+ </add>
+ <add as="EXPBLK_m" extend="blockWithLabel">
+ <add as="displayedLabel" value="a^u"/>
+ </add>
+ <add as="PROD_f" extend="blockWithLabel">
+ <add as="shape" value="ellipse"/>
+ <remove as="image"/>
+ <add as="fontSize" value="20"/>
+ </add>
+ <add as="MATZREIM" extend="blockWithLabel">
+ <add as="displayedLabel" value="Re &amp; Im"/>
+ </add>
+ <add as="MATMAGPHI" extend="blockWithLabel">
+ <add as="displayedLabel" value="Mag &amp; Phi"/>
+ </add>
+ <add as="SQRT" extend="blockWithLabel"/>
+ <add as="GAINBLK_f" extend="Gain"/>
+ <add as="LOGBLK_f" extend="blockWithLabel">
+ <add as="displayedLabel" value="LOG"/>
+ </add>
+ <add as="SUMMATION" extend="Icon">
+ <add as="image" value="$SCILAB/modules/xcos/images/blocks/SUM.svg"/>
+ <add as="noLabel" value="1"/>
+ <!--
+ <add as="displayedLabel" value="&lt;TABLE&gt; &lt;TR&gt;
+ &lt;TD&gt;+&lt;/TD&gt; &lt;TD ROWSPAN=&quot;2&quot;&gt; &lt;FONT
+ SIZE=&quot;6&quot;&gt;&#8721;&lt;/FONT&gt; &lt;TD&gt; &lt;/TR&gt;
+ &lt;TR&gt; &lt;TD&gt;-&lt;/TD&gt; &lt;TD/&gt; &lt;/TR&gt;
+ &lt;/TABLE&gt;"/>
+ -->
+ </add>
+ <add as="TrigFun" extend="blockWithLabel">
+ <add as="displayedLabel" value="Trig function"/>
+ </add>
+ <add as="PRODUCT" extend="Icon">
+ <add as="image" value="$SCILAB/modules/xcos/images/blocks/PRODUCT.svg"/>
+ <add as="noLabel" value="1"/>
+ <!--
+ <add as="displayedLabel" value="&lt;TABLE&gt; &lt;TR&gt;
+ &lt;TD&gt;*&lt;/TD&gt; &lt;TD ROWSPAN=&quot;2&quot;&gt; &lt;FONT
+ SIZE=&quot;6&quot;&gt;&#8719;&lt;/FONT&gt; &lt;TD&gt; &lt;/TR&gt;
+ &lt;TR&gt; &lt;TD&gt;/&lt;/TD&gt; &lt;TD/&gt; &lt;/TR&gt;
+ &lt;/TABLE&gt;"/>
+ -->
+ </add>
+ <add as="MAXMIN" extend="blockWithLabel">
+ <add as="displayedLabel" value="MIN / MAX"/>
+ </add>
+ <add as="ABS_VALUE" extend="blockWithLabel">
+ <add as="displayedLabel" value="ABS"/>
+ </add>
+ <add as="SIGNUM" extend="blockWithLabel">
+ <add as="displayedLabel" value="SIGN"/>
+ </add>
+ <add as="SUM_f" extend="blockWithLabel">
+ <add as="shape" value="ellipse"/>
+ <remove as="image"/>
+ <add as="fontSize" value="20"/>
+ </add>
+ <add as="SOM_f" extend="blockWithLabel">
+ <add as="shape" value="ellipse"/>
+ <remove as="image"/>
+ <add as="fontSize" value="20"/>
+ <add as="displayedLabel" value="+"/>
+ </add>
+ <add as="CONSTRAINT_c" extend="blockWithLabel">
+ <add as="displayedLabel" value="x == %s"/>
+ </add>
+ <add as="CONSTRAINT2_c" extend="blockWithLabel">
+ <add as="displayedLabel" value="x == %s&lt;br/&gt;x' == %s"/>
+ </add>
+ <!-- MODELICA -->
+ <add as="MBLOCK" extend="blockWithLabel">
+ <add as="displayedLabel" value="Modelica&lt;BR&gt; generic"/>
+ </add>
+ <add as="FROMMO" extend="blockWithLabel">
+ <add as="shape" value="hexagon"/>
+ <add as="fillColor" value="white"/>
+ <add as="displayedLabel" value="%s"/>
+ </add>
+ <add as="GOTOMO" extend="blockWithLabel">
+ <add as="shape" value="hexagon"/>
+ <add as="fillColor" value="white"/>
+ <add as="displayedLabel" value="%s"/>
+ </add>
+ <add as="GotoTagVisibilityMO" extend="blockWithLabel">
+ <add as="displayedLabel" value="&lt;FONT SIZE=&quot;6&quot;&gt;{%s}&lt;/FONT&gt;"/>
+ <add as="shape" value="ellipse"/>
+ <add as="strokeColor" value="green"/>
+ </add>
+ <add as="OUTIMPL_f" extend="blockWithLabel">
+ <add as="shape" value="hexagon"/>
+ <add as="fillColor" value="white"/>
+ </add>
+ <!-- INTEGER -->
+ <add as="BITCLEAR" extend="blockWithLabel">
+ <add as="displayedLabel" value="Clear bit %2$s"/>
+ </add>
+ <add as="BITSET" extend="blockWithLabel">
+ <add as="displayedLabel" value="Set bit %2$s"/>
+ </add>
+ <add as="CONVERT" extend="blockWithLabel">
+ <!-- FIXME: update label from parameters -->
+ <add as="displayedLabel" value="Convert to"/>
+ </add>
+ <add as="EXTRACTBITS" extend="blockWithLabel">
+ <add as="displayedLabel" value="Extract Bits %2$s"/>
+ </add>
+ <add as="INTMUL" extend="blockWithLabel">
+ <add as="displayedLabel" value="INTMUL"/>
+ </add>
+ <add as="SHIFT" extend="blockWithLabel">
+ <add as="displayedLabel" value="Arithmetic&lt;BR&gt; shift %2$s"/>
+ </add>
+ <add as="LOGIC" extend="blockWithLabel">
+ <add as="displayedLabel" value="LOGIC"/>
+ </add>
+ <add as="DLATCH" extend="blockWithLabel">
+ <add as="displayedLabel" value="&lt;TABLE&gt; &lt;TR&gt; &lt;TD&gt;D&lt;/TD&gt; &lt;TD&gt;Q&lt;/TD&gt; &lt;/TR&gt; &lt;TR&gt; &lt;TD&gt;C&lt;/TD&gt; &lt;TD&gt;!Q&lt;/TD&gt; &lt;/TR&gt; &lt;/TABLE&gt;"/>
+ </add>
+ <add as="DFLIPFLOP" extend="blockWithLabel">
+ <add as="displayedLabel" value="&lt;TABLE&gt; &lt;TR&gt; &lt;TD&gt;D&lt;/TD&gt; &lt;TD/&gt; &lt;/TR&gt; &lt;TR&gt; &lt;TD/&gt; &lt;TD&gt;Q&lt;/TD&gt; &lt;/TR&gt; &lt;TR&gt; &lt;TD&gt;clk&lt;/TD&gt; &lt;TD/&gt; &lt;/TR&gt; &lt;TR&gt; &lt;TD/&gt; &lt;TD&gt;!Q&lt;/TD&gt; &lt;/TR&gt; &lt;TR&gt; &lt;TD&gt;en&lt;/TD&gt; &lt;TD/&gt; &lt;/TR&gt; &lt;/TABLE&gt;"/>
+ </add>
+ <add as="JKFLIPFLOP" extend="blockWithLabel">
+ <add as="displayedLabel" value="&lt;TABLE&gt; &lt;TR&gt; &lt;TD&gt;J&lt;/TD&gt; &lt;TD/&gt; &lt;/TR&gt; &lt;TR&gt; &lt;TD/&gt; &lt;TD&gt;Q&lt;/TD&gt; &lt;/TR&gt; &lt;TR&gt; &lt;TD&gt;clk&lt;/TD&gt; &lt;TD/&gt; &lt;/TR&gt; &lt;TR&gt; &lt;TD/&gt; &lt;TD&gt;!Q&lt;/TD&gt; &lt;/TR&gt; &lt;TR&gt; &lt;TD&gt;K&lt;/TD&gt; &lt;TD/&gt; &lt;/TR&gt; &lt;/TABLE&gt;"/>
+ </add>
+ <add as="SRFLIPFLOP" extend="blockWithLabel">
+ <add as="displayedLabel" value="&lt;TABLE&gt; &lt;TR&gt; &lt;TD&gt;S&lt;/TD&gt; &lt;TD&gt;Q&lt;/TD&gt; &lt;/TR&gt; &lt;TR&gt; &lt;TD&gt;R&lt;/TD&gt; &lt;TD&gt;!Q&lt;/TD&gt; &lt;/TR&gt; &lt;/TABLE&gt;"/>
+ </add>
+ <!-- MATRIX -->
+ <add as="CUMSUM" extend="blockWithLabel">
+ <add as="displayedLabel" value="CUMSUM"/>
+ </add>
+ <add as="SUBMAT" extend="blockWithLabel"/>
+ <add as="MATBKSL" extend="blockWithLabel">
+ <add as="displayedLabel" value="A \ B"/>
+ </add>
+ <add as="MATINV" extend="blockWithLabel">
+ <add as="displayedLabel" value="INV"/>
+ </add>
+ <add as="MATCATV" extend="blockWithLabel">
+ <add as="displayedLabel" value="Vert&lt;BR&gt; Cat"/>
+ </add>
+ <add as="MATSUM" extend="blockWithLabel"/>
+ <add as="RICC" extend="blockWithLabel"/>
+ <add as="ROOTCOEF" extend="blockWithLabel">
+ <add as="displayedLabel" value="ROOT&lt;BR&gt;COEF"/>
+ </add>
+ <add as="MATCATH" extend="blockWithLabel">
+ <add as="displayedLabel" value="Horiz&lt;BR&gt; Cat"/>
+ </add>
+ <add as="MATLU" extend="blockWithLabel">
+ <add as="displayedLabel" value="LU"/>
+ </add>
+ <add as="MATZCONJ" extend="blockWithLabel">
+ <add as="displayedLabel" value="CONJ"/>
+ </add>
+ <add as="EXTRACT" extend="blockWithLabel"/>
+ <add as="MATEXPM" extend="blockWithLabel">
+ <add as="displayedLabel" value="EXPM"/>
+ </add>
+ <add as="MATDET" extend="blockWithLabel">
+ <add as="displayedLabel" value="DET"/>
+ </add>
+ <add as="MATPINV" extend="blockWithLabel">
+ <add as="displayedLabel" value="PINV"/>
+ </add>
+ <add as="EXTTRI" extend="blockWithLabel">
+ <add as="displayedLabel" value="Tri/Diag&lt;BR&gt; Extraction"/>
+ </add>
+ <add as="MATMUL" extend="blockWithLabel"/>
+ <add as="MATTRAN" extend="blockWithLabel"/>
+ <add as="MATSING" extend="blockWithLabel">
+ <add as="displayedLabel" value="SVD"/>
+ </add>
+ <add as="MATRESH" extend="blockWithLabel">
+ <add as="displayedLabel" value="RESHAPE"/>
+ </add>
+ <add as="MATDIAG" extend="blockWithLabel">
+ <add as="displayedLabel" value="DIAG"/>
+ </add>
+ <add as="MATEIG" extend="blockWithLabel">
+ <add as="displayedLabel" value="EIG"/>
+ </add>
+ <!-- SINKS -->
+ <add as="CFSCOPE" extend="Icon">
+ <add as="image" value="$SCILAB/modules/xcos/images/blocks/ASCOPE.svg"/>
+ </add>
+ <add as="BARXY" extend="Icon">
+ <add as="image" value="$SCILAB/modules/xcos/images/blocks/BARXY.svg"/>
+ </add>
+ <add as="CANIMXY" extend="Icon">
+ <add as="image" value="$SCILAB/modules/xcos/images/blocks/3DSCOPE.svg"/>
+ </add>
+ <add as="CSCOPE" extend="Icon">
+ <add as="image" value="$SCILAB/modules/xcos/images/blocks/ASCOPE.svg"/>
+ </add>
+ <add as="CSCOPXY" extend="Icon">
+ <add as="image" value="$SCILAB/modules/xcos/images/blocks/CSCOPXY.svg"/>
+ </add>
+ <add as="TOWS_c" extend="blockWithLabel">
+ <add as="displayedLabel" value="To workspace&lt;BR&gt;%2$s [%1$s]"/>
+ </add>
+ <add as="CMAT3D" extend="blockWithLabel">
+ <add as="image" value="$SCILAB/modules/xcos/images/blocks/ASCOPE.svg"/>
+ <add as="verticalLabelPosition" value="bottom"/>
+ <add as="verticalAlign" value="top"/>
+ <add as="spacing" value="2"/>
+ <add as="displayedLabel" value="Mat. 3D"/>
+ </add>
+ <add as="CSCOPXY3D" extend="Icon">
+ <add as="image" value="$SCILAB/modules/xcos/images/blocks/CSCOPXY3D.svg"/>
+ </add>
+ <add as="CANIMXY3D" extend="Icon">
+ <add as="image" value="$SCILAB/modules/xcos/images/blocks/3DSCOPE.svg"/>
+ </add>
+ <add as="CMATVIEW" extend="blockWithLabel">
+ <add as="image" value="$SCILAB/modules/xcos/images/blocks/ASCOPE.svg"/>
+ <add as="verticalLabelPosition" value="bottom"/>
+ <add as="verticalAlign" value="top"/>
+ <add as="spacing" value="2"/>
+ <add as="displayedLabel" value="Mat. View"/>
+ </add>
+ <add as="CMSCOPE" extend="Icon">
+ <add as="image" value="$SCILAB/modules/xcos/images/blocks/ASCOPE.svg"/>
+ </add>
+ <add as="AFFICH_m" extend="Affiche"/>
+ <add as="AFFICH_f" extend="Affiche"/>
+ <add as="TRASH_f" extend="blockWithLabel">
+ <add as="displayedLabel" value="Trash"/>
+ </add>
+ <!-- PORT ACTION -->
+ <add as="Extract_Activation" extend="blockWithLabel">
+ <add as="displayedLabel" value="Extract&lt;BR&gt; activation"/>
+ </add>
+ <add as="IFTHEL_f" extend="blockWithLabel">
+ <add as="displayedLabel" value="if in&gt;0&lt;BR&gt; then else"/>
+ </add>
+ <add as="ESELECT_f" extend="blockWithLabel">
+ <add as="displayedLabel" value="Event select"/>
+ </add>
+ <add as="EDGE_TRIGGER" extend="blockWithLabel">
+ <add as="displayedLabel" value="Edge&lt;BR&gt; trigger"/>
+ </add>
+ <!-- DISCRETE -->
+ <add as="DLRADAPT_f" extend="blockWithLabel">
+ <add as="displayedLabel" value="N(z,p)&lt;BR&gt;&lt;HR&gt;D(z,p)"/>
+ </add>
+ <add as="DLR" extend="blockWithLabel">
+ <add as="displayedLabel" value="$\frac{%s}{%s}$"/>
+ </add>
+ <add as="DLR_f" extend="DLR"/>
+ <add as="DLSS" extend="blockWithLabel">
+ <add as="displayedLabel" value="&lt;TABLE&gt; &lt;TR&gt; &lt;TD ALIGN=&quot;RIGHT&quot;&gt;x&lt;/TD&gt; &lt;TD ALIGN=&quot;CENTER&quot;&gt;+=&lt;/TD&gt; &lt;TD&gt;Ax+Bu&lt;/TD&gt; &lt;/TR&gt; &lt;TR&gt; &lt;TD ALIGN=&quot;RIGHT&quot;&gt;y&lt;/TD&gt; &lt;TD ALIGN=&quot;CENTER&quot;&gt;=&lt;/TD&gt; &lt;TD&gt;Cx+Du&lt;/TD&gt; &lt;/TR&gt; &lt;/TABLE&gt;"/>
+ </add>
+ <add as="DELAY_f" extend="blockWithLabel">
+ <add as="displayedLabel" value="Delay"/>
+ </add>
+ <add as="DOLLAR_f" extend="blockWithLabel">
+ <add as="displayedLabel" value="1/z"/>
+ </add>
+ <add as="DOLLAR" extend="DOLLAR_f"/>
+ <!-- EVENTS -->
+ <add as="CLKFROM" extend="blockWithLabel">
+ <add as="shape" value="hexagon"/>
+ <add as="fillColor" value="white"/>
+ <add as="strokeColor" value="red"/>
+ <add as="displayedLabel" value="%s"/>
+ </add>
+ <add as="CLKGOTO" extend="blockWithLabel">
+ <add as="shape" value="hexagon"/>
+ <add as="fillColor" value="white"/>
+ <add as="strokeColor" value="red"/>
+ <add as="displayedLabel" value="%s"/>
+ </add>
+ <add as="CLKGotoTagVisibility" extend="blockWithLabel">
+ <add as="fontSize" value="20"/>
+ <add as="displayedLabel" value="{%s}"/>
+ <add as="shape" value="ellipse"/>
+ <add as="strokeColor" value="red"/>
+ </add>
+ <add as="CLKOUTV_f" extend="blockWithLabel">
+ <add as="shape" value="hexagon"/>
+ <add as="fillColor" value="white"/>
+ <add as="strokeColor" value="red"/>
+ </add>
+ <add as="CLKOUT_f" extend="CLKOUTV_f"/>
+ <add as="CLKSOMV_f" extend="blockWithLabel">
+ <add as="shape" value="ellipse"/>
+ <add as="displayedLabel" value="+"/>
+ <add as="fontColor" value="red"/>
+ <add as="strokeColor" value="red"/>
+ <add as="fontSize" value="20"/>
+ <add as="spacing" value="5"/>
+ <add as="spacingLeft" value="6"/>
+ <add as="spacingRight" value="6"/>
+ </add>
+ <add as="EVTGEN_f" extend="blockWithLabel">
+ <add as="displayedLabel" value="Event at&lt;BR&gt; time %s"/>
+ </add>
+ <add as="EVTVARDLY" extend="blockWithLabel">
+ <add as="displayedLabel" value="Event&lt;BR&gt; delay"/>
+ </add>
+ <add as="M_freq" extend="blockWithLabel">
+ <add as="displayedLabel" value="Multiple&lt;BR&gt; frequency"/>
+
+ </add>
+ <add as="ANDBLK" extend="Icon">
+ <add as="image" value="$SCILAB/modules/xcos/images/blocks/ANDBLK.svg"/>
+ </add>
+ <add as="HALT_f" extend="blockWithLabel">
+ <add as="displayedLabel" value="HALT"/>
+ </add>
+ <add as="freq_div" extend="blockWithLabel">
+ <add as="displayedLabel" value="Frequency&lt;BR&gt; division"/>
+ </add>
+ <add as="ANDLOG_f" extend="blockWithLabel">
+ <add as="displayedLabel" value="LOGICAL&lt;BR&gt; AND"/>
+ </add>
+ <add as="EVTDLY_c" extend="blockWithLabel">
+ <add as="displayedLabel" value="Delay: %s"/>
+ </add>
+ <add as="CEVENTSCOPE" extend="Icon">
+ <add as="image" value="$SCILAB/modules/xcos/images/blocks/DSCOPE.svg"/>
+ </add>
+ <!-- SIGNAL ROUTING -->
+ <add as="SELF_SWITCH_ON" extend="Icon">
+ <add as="image" value="$SCILAB/modules/xcos/images/blocks/Self_Switch_on.svg"/>
+ </add>
+ <add as="SELF_SWITCH_OFF" extend="Icon">
+ <add as="image" value="$SCILAB/modules/xcos/images/blocks/Self_Switch_off.svg"/>
+ </add>
+ <add as="ISELECT_m" extend="blockWithLabel">
+ <add as="displayedLabel" value="Selector"/>
+ </add>
+ <add as="RELAY_f" extend="blockWithLabel">
+ <add as="displayedLabel" value="Relay"/>
+ </add>
+ <add as="WRITEAU_f" extend="blockWithLabel">
+ <add as="displayedLabel" value="Write AU to&lt;BR&gt; /dev/audio"/>
+ </add>
+ <add as="SELECT_m" extend="blockWithLabel">
+ <add as="displayedLabel" value="Selector"/>
+ </add>
+ <add as="SELECT_f" extend="SELECT_m"/>
+ <add as="EXTRACTOR" extend="blockWithLabel">
+ <add as="displayedLabel" value="Extractor"/>
+ </add>
+ <add as="M_SWITCH" extend="Icon">
+ <add as="verticalLabelPosition" value="bottom"/>
+ <add as="verticalAlign" value="top"/>
+ <add as="spacing" value="2"/>
+ <add as="noLabel" value="0"/>
+ <add as="displayedLabel" value="Dynamic index"/>
+ <add as="image" value="$SCILAB/modules/xcos/images/blocks/SWITCH.svg"/>
+ </add>
+ <add as="SWITCH_f" extend="Icon">
+ <add as="verticalLabelPosition" value="bottom"/>
+ <add as="verticalAlign" value="top"/>
+ <add as="spacing" value="2"/>
+ <add as="noLabel" value="0"/>
+ <add as="displayedLabel" value="Static: %2$s"/>
+ <add as="image" value="$SCILAB/modules/xcos/images/blocks/SWITCH.svg"/>
+ </add>
+ <add as="SWITCH2_m" extend="Icon">
+ <add as="verticalLabelPosition" value="bottom"/>
+ <add as="verticalAlign" value="top"/>
+ <add as="spacing" value="2"/>
+ <add as="noLabel" value="0"/>
+ <add as="displayedLabel" value="Dynamic"/>
+ <add as="image" value="$SCILAB/modules/xcos/images/blocks/SWITCH.svg"/>
+ </add>
+ <add as="NRMSOM_f" extend="blockWithLabel">
+ <add as="verticalLabelPosition" value="bottom"/>
+ <add as="verticalAlign" value="top"/>
+ <add as="spacing" value="2"/>
+ <add as="displayedLabel" value="Bus creator"/>
+ </add>
+ <add as="WRITEC_f" extend="blockWithLabel">
+ <add as="displayedLabel" value="Write to&lt;BR&gt;C binary file"/>
+ </add>
+ <add as="GOTO" extend="blockWithLabel">
+ <add as="shape" value="hexagon"/>
+ <add as="fillColor" value="white"/>
+ <add as="displayedLabel" value="%s"/>
+ </add>
+ <add as="GotoTagVisibility" extend="blockWithLabel">
+ <add as="displayedLabel" value="&lt;FONT SIZE=&quot;6&quot;&gt;{%s}&lt;/FONT&gt;"/>
+ </add>
+ <add as="FROM" extend="blockWithLabel">
+ <add as="shape" value="hexagon"/>
+ <add as="fillColor" value="white"/>
+ <add as="displayedLabel" value="%s"/>
+ </add>
+ <add as="WFILE_f" extend="blockWithLabel">
+ <add as="displayedLabel" value="Write to&lt;BR&gt; output file"/>
+ </add>
+ <add as="MUX" extend="blockWithLabel">
+ <add as="verticalLabelPosition" value="bottom"/>
+ <add as="verticalAlign" value="top"/>
+ <add as="displayedLabel" value="MUX"/>
+ <add as="spacing" value="2"/>
+ </add>
+ <add as="DEMUX" extend="blockWithLabel">
+ <add as="verticalLabelPosition" value="bottom"/>
+ <add as="verticalAlign" value="top"/>
+ <add as="displayedLabel" value="DEMUX"/>
+ <add as="spacing" value="2"/>
+ </add>
+ <add as="SCALAR2VECTOR" extend="blockWithLabel">
+ <add as="displayedLabel" value="SCALAR&lt;BR&gt;to VECTOR"/>
+ </add>
+ <!-- COMMONLY USED BLOCKS -->
+ <add as="OUT_f" extend="blockWithLabel">
+ <add as="shape" value="hexagon"/>
+ <add as="rounded" value="1"/>
+ <add as="fillColor" value="white"/>
+ </add>
+ <add as="RELATIONALOP" extend="blockWithLabel">
+ <add as="displayedLabel" value="Relational&lt;BR&gt; op : &amp;&lt;"/>
+ <!-- new value for the label defined in the interface function of block -->
+ </add>
+ <add as="TEXT_f" extend="Label">
+ <!-- <add as="displayedLabel" value="Text"/> -->
+ <add as="strokeColor" value="none"/>
+ <add as="fillColor" value="none"/>
+ </add>
+ <!-- USER-DEFINED FUNCTIONS -->
+ <add as="PDE" extend="blockWithLabel"/>
+ <add as="fortran_block" extend="blockWithLabel">
+ <add as="displayedLabel" value="Fortran block:&lt;BR&gt;%4$s"/>
+ </add>
+ <add as="DEBUG" extend="blockWithLabel">
+ <add as="displayedLabel" value="Debug:&lt;BR&gt;%2$s"/>
+ </add>
+ <add as="EXPRESSION" extend="blockWithLabel">
+ <add as="displayedLabel" value="Expression:&lt;BR&gt;%2$s"/>
+ </add>
+ <add as="scifunc_block_m" extend="blockWithLabel">
+ <add as="displayedLabel" value="Function:&lt;BR&gt;%10$s"/>
+ </add>
+ <add as="scifunc_block" extend="scifunc_block_m"/>
+ <add as="CBLOCK" extend="blockWithLabel">
+ <add as="displayedLabel" value="C block 2:&lt;BR&gt;%1$s"/>
+ </add>
+ <add as="CBLOCK4" extend="blockWithLabel">
+ <add as="displayedLabel" value="C block 4:&lt;BR&gt;%1$s"/>
+ </add>
+ <add as="generic_block3" extend="blockWithLabel">
+ <add as="displayedLabel" value="native block:&lt;BR&gt;%1$s"/>
+ </add>
+ <add as="c_block" extend="blockWithLabel">
+ <add as="displayedLabel" value="C block:&lt;BR&gt;%4$s"/>
+ </add>
+ <add as="SUPER_f" extend="Icon">
+ <add as="image" value="$SCILAB/modules/xcos/images/blocks/SUPER.svg"/>
+ </add>
+ <add as="DSUPER" extend="SUPER_f"/>
+ <!-- ELECTRICAL -->
+ <add as="Capacitor" extend="Icon">
+ <add as="image" value="$SCILAB/modules/xcos/images/blocks/Capacitor.svg"/>
+ </add>
+ <add as="Ground" extend="Icon">
+ <add as="image" value="$SCILAB/modules/xcos/images/blocks/Ground.svg"/>
+ </add>
+ <add as="VVsourceAC" extend="blockWithLabel">
+ <add as="shape" value="ellipse"/>
+ <add as="perimeter" value="ellipsePerimeter"/>
+ <add as="displayedLabel" value="1 V&lt;br/&gt;~ %s"/>
+ </add>
+ <add as="ConstantVoltage" extend="Icon">
+ <add as="image" value="$SCILAB/modules/xcos/images/blocks/ConstantVoltage.svg"/>
+ </add>
+ <add as="Inductor" extend="Icon">
+ <add as="image" value="$SCILAB/modules/xcos/images/blocks/Inductor.svg"/>
+ </add>
+ <add as="PotentialSensor" extend="Icon">
+ <add as="image" value="$SCILAB/modules/xcos/images/blocks/PotentialSensor.svg"/>
+ </add>
+ <add as="VariableResistor" extend="Icon">
+ <add as="image" value="$SCILAB/modules/xcos/images/blocks/VariableResistor.svg"/>
+ </add>
+ <add as="CurrentSensor" extend="Icon">
+ <add as="image" value="$SCILAB/modules/xcos/images/blocks/CurrentSensor.svg"/>
+ </add>
+ <add as="Resistor" extend="Icon">
+ <add as="image" value="$SCILAB/modules/xcos/images/blocks/Resistor.svg"/>
+ </add>
+ <add as="VoltageSensor" extend="Icon">
+ <add as="image" value="$SCILAB/modules/xcos/images/blocks/VoltageSensor.svg"/>
+ </add>
+ <add as="Diode" extend="Icon">
+ <add as="image" value="$SCILAB/modules/xcos/images/blocks/Diode.svg"/>
+ </add>
+ <add as="VsourceAC" extend="blockWithLabel">
+ <add as="shape" value="ellipse"/>
+ <add as="perimeter" value="ellipsePerimeter"/>
+ <add as="textAlign" value="center"/>
+ <add as="displayedLabel" value="%s V&lt;br/&gt;~ %s"/>
+ </add>
+ <add as="NPN" extend="Icon">
+ <add as="image" value="$SCILAB/modules/xcos/images/blocks/NPN.svg"/>
+ </add>
+ <add as="PNP" extend="Icon">
+ <add as="image" value="$SCILAB/modules/xcos/images/blocks/PNP.svg"/>
+ </add>
+ <add as="SineVoltage" extend="blockWithLabel">
+ <add as="shape" value="ellipse"/>
+ <add as="perimeter" value="ellipsePerimeter"/>
+ <add as="displayedLabel" value="%s V&lt;br/&gt;~"/>
+ </add>
+ <add as="Switch" extend="Icon">
+ <add as="image" value="$SCILAB/modules/xcos/images/blocks/SWITCH.svg"/>
+ </add>
+ <add as="OpAmp" extend="blockWithLabel">
+ <add as="shape" value="triangle"/>
+ <add as="perimeter" value="trianglePerimeter"/>
+ <add as="direction" value="east"/>
+ <add as="displayedLabel" value="&lt;TABLE&gt; &lt;TR&gt; &lt;TD&gt;+&lt;/TD&gt; &lt;TD&gt;&lt;/TD&gt; &lt;/TR&gt; &lt;TR&gt; &lt;TD&gt;&lt;/TD&gt; &lt;TD&gt;OP&lt;/TD&gt; &lt;/TR&gt; &lt;TR&gt; &lt;TD&gt;-&lt;/TD&gt; &lt;TD&gt;&lt;/TD&gt; &lt;/TR&gt; &lt;/TABLE&gt;"/>
+ <add as="spacing" value="0"/>
+ <add as="spacingRight" value="5"/>
+ <add as="spacingTop" value="7"/>
+ <add as="spacingBottom" value="7"/>
+ </add>
+ <add as="PMOS" extend="Icon">
+ <add as="image" value="$SCILAB/modules/xcos/images/blocks/PMOS.svg"/>
+ </add>
+ <add as="NMOS" extend="Icon">
+ <add as="image" value="$SCILAB/modules/xcos/images/blocks/NMOS.svg"/>
+ </add>
+ <add as="CCS" extend="Icon">
+ <add as="image" value="$SCILAB/modules/xcos/images/blocks/CCS.svg"/>
+ </add>
+ <add as="CVS" extend="Icon">
+ <add as="image" value="$SCILAB/modules/xcos/images/blocks/CVS.svg"/>
+ </add>
+ <add as="IdealTransformer" extend="Icon">
+ <add as="image" value="$SCILAB/modules/xcos/images/blocks/IdealTransformer.svg"/>
+ </add>
+ <add as="Gyrator" extend="Icon">
+ <add as="image" value="$SCILAB/modules/xcos/images/blocks/Gyrator.svg"/>
+ </add>
+ <!-- THERMO-HYDRAULICS -->
+ <add as="Bache" extend="Icon">
+ <add as="image" value="$SCILAB/modules/xcos/images/blocks/BACHE.svg"/>
+ </add>
+ <add as="VanneReglante" extend="Icon">
+ <add as="image" value="$SCILAB/modules/xcos/images/blocks/VanneReglante.svg"/>
+ </add>
+ <add as="PerteDP" extend="Icon">
+ <add as="image" value="$SCILAB/modules/xcos/images/blocks/PerteDP.svg"/>
+ </add>
+ <add as="PuitsP" extend="Icon">
+ <add as="image" value="$SCILAB/modules/xcos/images/blocks/PuitP.svg"/>
+ </add>
+ <add as="SourceP" extend="Icon">
+ <add as="image" value="$SCILAB/modules/xcos/images/blocks/SourceP.svg"/>
+ </add>
+ <add as="Flowmeter" extend="Icon">
+ <add as="image" value="$SCILAB/modules/xcos/images/blocks/Flowmeter.svg"/>
+ </add>
+ <!-- DEMONSTRATION BLOCKS -->
+ <add as="BOUNCE" extend="blockWithLabel">
+ <add as="displayedLabel" value="Bouncing&lt;BR&gt; balls"/>
+ </add>
+ <add as="BOUNCEXY" extend="Icon">
+ <add as="image" value="$SCILAB/modules/xcos/images/blocks/3DSCOPE.svg"/>
+ </add>
+ <add as="BPLATFORM" extend="Icon">
+ <add as="image" value="$SCILAB/modules/xcos/images/blocks/BPLATFORM.svg"/>
+ </add>
+ <add as="AUTOMAT" extend="blockWithLabel">
+ <!-- FIXME : Show parameters over block -->
+ <add as="displayedLabel" value="Automaton&lt;BR&gt; nM=2, nX=1"/>
+ </add>
+ <!-- GENERATED BLOCKS -->
+ <add as="SPLIT_f" extend="Split"/>
+ <!--
+ <add as="SCALAR2VECTOR" extend="Icon">
+ <add as="image" value="$SCILAB/modules/xcos/images/blocks/SCALAR2VECTOR.gif" />
+ </add>
+ -->
+ <add as="SAT_f" extend="SATURATION"/>
+ <!-- RAND_f and RAND_m looks exactly the same -->
+ <add as="RAND_f" extend="RAND_m"/>
+ <add as="MUX_f" extend="MUX"/>
+ <add as="MEMORY_f" extend="blockWithLabel"/>
+ <add as="LOGICAL_OP" extend="blockWithLabel">
+ <add as="displayedLabel" value="AND"/>
+ </add>
+ <add as="generic_block" extend="blockWithLabel">
+ <add as="displayedLabel" value="GENERIC"/>
+ </add>
+ <add as="GAINBLK" extend="Gain"/>
+ <add as="GAIN_f" extend="Gain"/>
+ <add as="EVTDLY_f" extend="blockWithLabel">
+ <add as="displayedLabel" value="Delay"/>
+ </add>
+ <add as="END_c" extend="blockWithLabel">
+ <add as="displayedLabel" value="END"/>
+ </add>
+ <add as="ENDBLK" extend="blockWithLabel">
+ <add as="displayedLabel" value="END"/>
+ </add>
+ <add as="EDGETRIGGER" extend="blockWithLabel">
+ <add as="displayedLabel" value="Edge &lt;BR&gt;trigger"/>
+ </add>
+ <add as="DOLLAR_m" extend="DOLLAR_f"/>
+ <add as="DIFF_f" extend="blockWithLabel">
+ <add as="displayedLabel" value="S"/>
+ </add>
+ <add as="DEMUX_f" extend="DEMUX"/>
+ <add as="DEADBAND" extend="Icon">
+ <add as="image" value="$SCILAB/modules/xcos/images/blocks/DEADBAND.svg"/>
+ </add>
+ <add as="Counter" extend="blockWithLabel">
+ <add as="displayedLabel" value="Counter&lt;BR&gt;%s &amp;#8594; %s"/>
+ </add>
+ <add as="CLOCK_f" extend="Icon">
+ <add as="image" value="$SCILAB/modules/xcos/images/blocks/CLOCK_c.svg"/>
+ </add>
+ <add as="VirtualCLK0" extend="CLOCK_f"/>
+ <add as="CLKSPLIT_f" extend="Split"/>
+ <add as="IMPSPLIT_f" extend="Split"/>
+ <add as="CLKSOM_f" extend="CLKSOMV_f"/>
+ <add as="CLKOUT_f" extend="Icon">
+ <add as="image" value="$SCILAB/modules/xcos/images/blocks/CLKOUT_f.gif"/>
+ </add>
+ <add as="ABSBLK_f" extend="blockWithLabel">
+ <add as="displayedLabel" value="y = |u|"/>
+ </add>
+</mxStylesheet>
diff --git a/modules/xcos/etc/XcosConfiguration.xsd b/modules/xcos/etc/XcosConfiguration.xsd
new file mode 100755
index 000000000..90cf48671
--- /dev/null
+++ b/modules/xcos/etc/XcosConfiguration.xsd
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
+ <xs:annotation>
+ <xs:documentation>
+This package contain class for managing Xcos configuration.
+
+To serialize/deserialize values, {@link javax.xml.bind.JAXB} is used.
+ </xs:documentation>
+ </xs:annotation>
+
+ <xs:element name="settings" type="SettingType"/>
+
+ <xs:complexType name="SettingType">
+ <xs:annotation>
+ <xs:documentation>
+Global configuration.
+ </xs:documentation>
+ </xs:annotation>
+ <xs:sequence>
+ <!-- Recent document list -->
+ <xs:element maxOccurs="10" minOccurs="0" name="recent" type="DocumentType"/>
+ <!-- Currently opened tab -->
+ <xs:element maxOccurs="unbounded" minOccurs="0" name="tab" type="DocumentType"/>
+ </xs:sequence>
+ </xs:complexType>
+
+ <xs:complexType name="DocumentType">
+ <xs:annotation>
+ <xs:documentation>
+Any document is linked to the real file with an URL.
+ </xs:documentation>
+ </xs:annotation>
+ <xs:attribute name="url" type="xs:anyURI" use="optional"/>
+ <xs:attribute name="date" type="xs:dateTime" use="optional"/>
+ <xs:attribute name="path" type="xs:string" use="optional"/>
+ <xs:attribute name="uuid" type="xs:string" use="optional"/>
+ <xs:attribute name="viewport" type="xs:string" use="optional"/>
+ </xs:complexType>
+</xs:schema>
+
diff --git a/modules/xcos/etc/XcosFile.xsd b/modules/xcos/etc/XcosFile.xsd
new file mode 100755
index 000000000..5a0f8752a
--- /dev/null
+++ b/modules/xcos/etc/XcosFile.xsd
@@ -0,0 +1,825 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
+ <xs:element name="XcosDiagram">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" ref="Array"/>
+ <xs:element minOccurs="0" ref="mxUndoManager"/>
+ <xs:element ref="mxGraphModel"/>
+ <xs:element ref="mxCell"/>
+ <xs:element minOccurs="0" ref="mxPoint"/>
+ </xs:sequence>
+ <xs:attribute name="background" use="required" type="xs:integer"/>
+ <xs:attribute name="debugLevel" type="xs:integer"/>
+ <xs:attribute name="finalIntegrationTime" type="xs:double"/>
+ <xs:attribute name="gridEnabled" type="xs:integer"/>
+ <xs:attribute name="integratorAbsoluteTolerance" type="xs:double"/>
+ <xs:attribute name="integratorRelativeTolerance" type="xs:double"/>
+ <xs:attribute name="maxIntegrationTimeInterval" type="xs:decimal"/>
+ <xs:attribute name="maxIntegrationTimeinterval" type="xs:decimal"/>
+ <xs:attribute name="maximumStepSize" type="xs:decimal"/>
+ <xs:attribute name="modified" type="xs:integer"/>
+ <xs:attribute name="opened" type="xs:integer"/>
+ <xs:attribute name="realTimeScaling" type="xs:decimal"/>
+ <xs:attribute name="savedFile"/>
+ <xs:attribute name="solver" type="xs:decimal"/>
+ <xs:attribute name="title"/>
+ <xs:attribute name="toleranceOnTime" type="xs:double"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="mxUndoManager">
+ <xs:complexType>
+ <xs:attribute name="as" use="required" type="xs:NCName"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Array">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:element ref="Array"/>
+ <xs:element ref="ScilabDouble"/>
+ <xs:element ref="ScilabString"/>
+ <xs:element ref="ScilabBoolean"/>
+ </xs:choice>
+ <xs:choice>
+ <xs:element ref="ScilabInteger"/>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="mxPoint"/>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="add"/>
+ </xs:choice>
+ </xs:sequence>
+ <xs:attribute name="as" type="xs:NCName"/>
+ <xs:attribute name="scilabClass" use="required"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="ScilabBoolean">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element maxOccurs="unbounded" ref="data"/>
+ </xs:sequence>
+ <xs:attribute name="height" use="required" type="xs:integer"/>
+ <xs:attribute name="width" use="required" type="xs:integer"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="ScilabInteger">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element maxOccurs="unbounded" ref="data"/>
+ </xs:sequence>
+ <xs:attribute name="height" use="required" type="xs:integer"/>
+ <xs:attribute name="intPrecision" type="xs:NCName"/>
+ <xs:attribute name="width" use="required" type="xs:integer"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="add">
+ <xs:complexType>
+ <xs:attribute name="value" use="required"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="mxGraphModel">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="root"/>
+ </xs:sequence>
+ <xs:attribute name="as" use="required" type="xs:NCName"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="root">
+ <xs:complexType>
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:element ref="BasicBlock"/>
+ <xs:element ref="CommandPort"/>
+ <xs:element ref="ControlPort"/>
+ <xs:element ref="ExplicitInputPort"/>
+ <xs:element ref="ExplicitOutputPort"/>
+ <xs:element ref="ImplicitInputPort"/>
+ <xs:element ref="ImplicitOutputPort"/>
+ <xs:element ref="mxCell"/>
+ <xs:element ref="AfficheBlock"/>
+ <xs:element ref="BigSom"/>
+ <xs:element ref="CommandControlLink"/>
+ <xs:element ref="ConstBlock"/>
+ <xs:element ref="EventInBlock"/>
+ <xs:element ref="EventOutBlock"/>
+ <xs:element ref="ExplicitInBlock"/>
+ <xs:element ref="ExplicitLink"/>
+ <xs:element ref="ExplicitOutBlock"/>
+ <xs:element ref="GainBlock"/>
+ <xs:element ref="GroundBlock"/>
+ <xs:element ref="ImplicitInBlock"/>
+ <xs:element ref="ImplicitLink"/>
+ <xs:element ref="ImplicitOutBlock"/>
+ <xs:element ref="PrintBlock"/>
+ <xs:element ref="Product"/>
+ <xs:element ref="RoundBlock"/>
+ <xs:element ref="SplitBlock"/>
+ <xs:element ref="Summation"/>
+ <xs:element ref="SuperBlock"/>
+ <xs:element ref="TextBlock"/>
+ <xs:element ref="VoltageSensorBlock"/>
+ </xs:choice>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="AfficheBlock">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="ScilabString"/>
+ <xs:choice maxOccurs="unbounded">
+ <xs:element ref="Array"/>
+ <xs:element ref="ScilabDouble"/>
+ </xs:choice>
+ <xs:element ref="mxGeometry"/>
+ </xs:sequence>
+ <xs:attribute name="connectable" type="xs:integer"/>
+ <xs:attribute name="dependsOnU" use="required" type="xs:integer"/>
+ <xs:attribute name="hashCode" type="xs:integer"/>
+ <xs:attribute name="id" use="required" type="xs:NMTOKEN"/>
+ <xs:attribute name="interfaceFunctionName" type="xs:NCName"/>
+ <xs:attribute name="ordering" type="xs:integer"/>
+ <xs:attribute name="parent" use="required" type="xs:NMTOKEN"/>
+ <xs:attribute name="simulationFunctionName" use="required" type="xs:NCName"/>
+ <xs:attribute name="simulationFunctionType" use="required" type="xs:NCName"/>
+ <xs:attribute name="style" use="required"/>
+ <xs:attribute name="value"/>
+ <xs:attribute name="vertex" type="xs:integer"/>
+ <xs:attribute name="visible" type="xs:integer"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="BigSom">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="ScilabString"/>
+ <xs:choice maxOccurs="unbounded">
+ <xs:element ref="Array"/>
+ <xs:element ref="ScilabDouble"/>
+ </xs:choice>
+ <xs:element ref="mxGeometry"/>
+ </xs:sequence>
+ <xs:attribute name="dependsOnU" use="required" type="xs:integer"/>
+ <xs:attribute name="id" use="required" type="xs:NMTOKEN"/>
+ <xs:attribute name="interfaceFunctionName" use="required" type="xs:NCName"/>
+ <xs:attribute name="ordering" type="xs:integer"/>
+ <xs:attribute name="parent" use="required" type="xs:NMTOKEN"/>
+ <xs:attribute name="simulationFunctionName" use="required" type="xs:NCName"/>
+ <xs:attribute name="simulationFunctionType" use="required" type="xs:NCName"/>
+ <xs:attribute name="style" use="required"/>
+ <xs:attribute name="value" use="required"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="CommandControlLink">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="mxGeometry"/>
+ <xs:choice>
+ <xs:element ref="BasicBlock"/>
+ <xs:element ref="mxCell"/>
+ </xs:choice>
+ <xs:sequence minOccurs="0">
+ <xs:element ref="CommandPort"/>
+ <xs:element ref="ControlPort"/>
+ </xs:sequence>
+ </xs:sequence>
+ <xs:attribute name="id" use="required" type="xs:NMTOKEN"/>
+ <xs:attribute name="style"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="ConstBlock">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="ScilabString"/>
+ <xs:choice maxOccurs="unbounded">
+ <xs:element ref="Array"/>
+ <xs:element ref="ScilabDouble"/>
+ </xs:choice>
+ <xs:element ref="mxGeometry"/>
+ </xs:sequence>
+ <xs:attribute name="angle" type="xs:integer"/>
+ <xs:attribute name="blockType" use="required" type="xs:NCName"/>
+ <xs:attribute name="connectable" type="xs:integer"/>
+ <xs:attribute name="id" use="required" type="xs:NMTOKEN"/>
+ <xs:attribute name="interfaceFunctionName" type="xs:NCName"/>
+ <xs:attribute name="ordering" type="xs:integer"/>
+ <xs:attribute name="parent" use="required" type="xs:NMTOKEN"/>
+ <xs:attribute name="simulationFunctionName" type="xs:NCName"/>
+ <xs:attribute name="simulationFunctionType" use="required" type="xs:NCName"/>
+ <xs:attribute name="style"/>
+ <xs:attribute name="value"/>
+ <xs:attribute name="vertex" type="xs:integer"/>
+ <xs:attribute name="visible" type="xs:integer"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="EventInBlock">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="ScilabString"/>
+ <xs:choice maxOccurs="unbounded">
+ <xs:element ref="Array"/>
+ <xs:element ref="ScilabDouble"/>
+ </xs:choice>
+ <xs:element ref="mxGeometry"/>
+ <xs:element minOccurs="0" ref="mxCell"/>
+ </xs:sequence>
+ <xs:attribute name="blockType" type="xs:NCName"/>
+ <xs:attribute name="connectable" type="xs:integer"/>
+ <xs:attribute name="id" use="required" type="xs:NMTOKEN"/>
+ <xs:attribute name="interfaceFunctionName" type="xs:NCName"/>
+ <xs:attribute name="ordering" use="required" type="xs:integer"/>
+ <xs:attribute name="parent" type="xs:NMTOKEN"/>
+ <xs:attribute name="simulationFunctionName" type="xs:NCName"/>
+ <xs:attribute name="simulationFunctionType" type="xs:NCName"/>
+ <xs:attribute name="style"/>
+ <xs:attribute name="value" type="xs:integer"/>
+ <xs:attribute name="vertex" type="xs:integer"/>
+ <xs:attribute name="visible" type="xs:integer"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="EventOutBlock">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="ScilabString"/>
+ <xs:element ref="ScilabDouble"/>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="Array"/>
+ <xs:element ref="mxGeometry"/>
+ </xs:sequence>
+ <xs:attribute name="blockType" type="xs:NCName"/>
+ <xs:attribute name="id" use="required" type="xs:NMTOKEN"/>
+ <xs:attribute name="ordering" use="required" type="xs:integer"/>
+ <xs:attribute name="parent" use="required" type="xs:NMTOKEN"/>
+ <xs:attribute name="simulationFunctionType" use="required" type="xs:NCName"/>
+ <xs:attribute name="style"/>
+ <xs:attribute name="value" type="xs:integer"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="ExplicitInBlock">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="ScilabString"/>
+ <xs:choice maxOccurs="unbounded">
+ <xs:element ref="Array"/>
+ <xs:element ref="ScilabDouble"/>
+ </xs:choice>
+ <xs:element ref="mxGeometry"/>
+ <xs:element minOccurs="0" ref="mxCell"/>
+ </xs:sequence>
+ <xs:attribute name="connectable" type="xs:integer"/>
+ <xs:attribute name="id" use="required" type="xs:NMTOKEN"/>
+ <xs:attribute name="interfaceFunctionName" type="xs:NCName"/>
+ <xs:attribute name="ordering" type="xs:integer"/>
+ <xs:attribute name="parent" type="xs:NMTOKEN"/>
+ <xs:attribute name="simulationFunctionName" type="xs:NCName"/>
+ <xs:attribute name="simulationFunctionType" type="xs:NCName"/>
+ <xs:attribute name="style"/>
+ <xs:attribute name="value" type="xs:integer"/>
+ <xs:attribute name="vertex" type="xs:integer"/>
+ <xs:attribute name="visible" type="xs:integer"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="ExplicitLink">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="mxGeometry"/>
+ <xs:element ref="mxCell"/>
+ <xs:sequence minOccurs="0">
+ <xs:element ref="ExplicitOutputPort"/>
+ <xs:element ref="ExplicitInputPort"/>
+ </xs:sequence>
+ </xs:sequence>
+ <xs:attribute name="id" use="required" type="xs:NMTOKEN"/>
+ <xs:attribute name="style"/>
+ <xs:attribute name="value"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="ExplicitOutBlock">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="ScilabString"/>
+ <xs:choice maxOccurs="unbounded">
+ <xs:element ref="Array"/>
+ <xs:element ref="ScilabDouble"/>
+ </xs:choice>
+ <xs:element ref="mxGeometry"/>
+ <xs:element minOccurs="0" ref="mxCell"/>
+ </xs:sequence>
+ <xs:attribute name="angle" type="xs:integer"/>
+ <xs:attribute name="connectable" type="xs:integer"/>
+ <xs:attribute name="id" use="required" type="xs:NMTOKEN"/>
+ <xs:attribute name="interfaceFunctionName" type="xs:NCName"/>
+ <xs:attribute name="ordering" use="required" type="xs:integer"/>
+ <xs:attribute name="parent" type="xs:NMTOKEN"/>
+ <xs:attribute name="simulationFunctionName" type="xs:NCName"/>
+ <xs:attribute name="simulationFunctionType" type="xs:NCName"/>
+ <xs:attribute name="style"/>
+ <xs:attribute name="value" type="xs:integer"/>
+ <xs:attribute name="vertex" type="xs:integer"/>
+ <xs:attribute name="visible" type="xs:integer"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="GainBlock">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="ScilabString"/>
+ <xs:choice maxOccurs="unbounded">
+ <xs:element ref="Array"/>
+ <xs:element ref="ScilabDouble"/>
+ </xs:choice>
+ <xs:element ref="mxGeometry"/>
+ <xs:element minOccurs="0" ref="mxCell"/>
+ </xs:sequence>
+ <xs:attribute name="angle" type="xs:integer"/>
+ <xs:attribute name="connectable" type="xs:integer"/>
+ <xs:attribute name="dependsOnU" use="required" type="xs:integer"/>
+ <xs:attribute name="id" use="required" type="xs:NMTOKEN"/>
+ <xs:attribute name="interfaceFunctionName" type="xs:NCName"/>
+ <xs:attribute name="ordering" type="xs:integer"/>
+ <xs:attribute name="parent" type="xs:NMTOKEN"/>
+ <xs:attribute name="simulationFunctionName" use="required" type="xs:NCName"/>
+ <xs:attribute name="simulationFunctionType" type="xs:NCName"/>
+ <xs:attribute name="style"/>
+ <xs:attribute name="value"/>
+ <xs:attribute name="vertex" type="xs:integer"/>
+ <xs:attribute name="visible" type="xs:integer"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="GroundBlock">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="ScilabString"/>
+ <xs:choice maxOccurs="unbounded">
+ <xs:element ref="Array"/>
+ <xs:element ref="ScilabDouble"/>
+ </xs:choice>
+ <xs:element ref="mxGeometry"/>
+ </xs:sequence>
+ <xs:attribute name="dependsOnU" use="required" type="xs:integer"/>
+ <xs:attribute name="id" use="required" type="xs:NMTOKEN"/>
+ <xs:attribute name="interfaceFunctionName" use="required" type="xs:NCName"/>
+ <xs:attribute name="ordering" type="xs:integer"/>
+ <xs:attribute name="parent" use="required" type="xs:NMTOKEN"/>
+ <xs:attribute name="simulationFunctionName" use="required" type="xs:NCName"/>
+ <xs:attribute name="simulationFunctionType" use="required" type="xs:NCName"/>
+ <xs:attribute name="style" use="required"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="ImplicitInBlock">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="ScilabString"/>
+ <xs:element maxOccurs="unbounded" ref="ScilabDouble"/>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="Array"/>
+ <xs:element ref="mxGeometry"/>
+ </xs:sequence>
+ <xs:attribute name="angle" type="xs:integer"/>
+ <xs:attribute name="id" use="required" type="xs:NMTOKEN"/>
+ <xs:attribute name="ordering" type="xs:integer"/>
+ <xs:attribute name="parent" use="required" type="xs:NMTOKEN"/>
+ <xs:attribute name="simulationFunctionType" use="required" type="xs:NCName"/>
+ <xs:attribute name="style"/>
+ <xs:attribute name="value" type="xs:integer"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="ImplicitLink">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="mxGeometry"/>
+ <xs:element ref="mxCell"/>
+ <xs:choice maxOccurs="unbounded">
+ <xs:element ref="ImplicitInputPort"/>
+ <xs:element ref="ImplicitOutputPort"/>
+ </xs:choice>
+ </xs:sequence>
+ <xs:attribute name="id" use="required" type="xs:NMTOKEN"/>
+ <xs:attribute name="style"/>
+ <xs:attribute name="value"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="ImplicitOutBlock">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="ScilabString"/>
+ <xs:element maxOccurs="unbounded" ref="ScilabDouble"/>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="Array"/>
+ <xs:element ref="mxGeometry"/>
+ </xs:sequence>
+ <xs:attribute name="id" use="required" type="xs:NMTOKEN"/>
+ <xs:attribute name="ordering" use="required" type="xs:integer"/>
+ <xs:attribute name="parent" use="required" type="xs:NMTOKEN"/>
+ <xs:attribute name="simulationFunctionType" use="required" type="xs:NCName"/>
+ <xs:attribute name="style"/>
+ <xs:attribute name="value" type="xs:integer"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="PrintBlock">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="ScilabString"/>
+ <xs:choice maxOccurs="unbounded">
+ <xs:element ref="Array"/>
+ <xs:element ref="ScilabDouble"/>
+ </xs:choice>
+ <xs:element ref="mxGeometry"/>
+ </xs:sequence>
+ <xs:attribute name="blockType" type="xs:NCName"/>
+ <xs:attribute name="id" use="required" type="xs:NMTOKEN"/>
+ <xs:attribute name="interfaceFunctionName" use="required" type="xs:NCName"/>
+ <xs:attribute name="ordering" type="xs:integer"/>
+ <xs:attribute name="parent" use="required" type="xs:NMTOKEN"/>
+ <xs:attribute name="simulationFunctionName" use="required" type="xs:NCName"/>
+ <xs:attribute name="simulationFunctionType" use="required" type="xs:NCName"/>
+ <xs:attribute name="style" use="required"/>
+ <xs:attribute name="value" use="required"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Product">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="ScilabString"/>
+ <xs:choice maxOccurs="unbounded">
+ <xs:element ref="Array"/>
+ <xs:element ref="ScilabDouble"/>
+ </xs:choice>
+ <xs:element ref="mxGeometry"/>
+ </xs:sequence>
+ <xs:attribute name="dependsOnU" use="required" type="xs:integer"/>
+ <xs:attribute name="id" use="required" type="xs:NMTOKEN"/>
+ <xs:attribute name="interfaceFunctionName" use="required" type="xs:NCName"/>
+ <xs:attribute name="ordering" use="required" type="xs:integer"/>
+ <xs:attribute name="parent" use="required" type="xs:NMTOKEN"/>
+ <xs:attribute name="simulationFunctionName" use="required" type="xs:NCName"/>
+ <xs:attribute name="simulationFunctionType" use="required" type="xs:NCName"/>
+ <xs:attribute name="style" use="required"/>
+ <xs:attribute name="value"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="RoundBlock">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" ref="ScilabString"/>
+ <xs:choice maxOccurs="unbounded">
+ <xs:element ref="Array"/>
+ <xs:element ref="ScilabDouble"/>
+ </xs:choice>
+ <xs:element ref="mxGeometry"/>
+ </xs:sequence>
+ <xs:attribute name="blockType" type="xs:NCName"/>
+ <xs:attribute name="dependsOnU" type="xs:integer"/>
+ <xs:attribute name="id" use="required" type="xs:NMTOKEN"/>
+ <xs:attribute name="interfaceFunctionName" type="xs:NCName"/>
+ <xs:attribute name="ordering" type="xs:integer"/>
+ <xs:attribute name="parent" use="required" type="xs:NMTOKEN"/>
+ <xs:attribute name="simulationFunctionName" use="required" type="xs:NCName"/>
+ <xs:attribute name="simulationFunctionType" use="required" type="xs:NCName"/>
+ <xs:attribute name="style"/>
+ <xs:attribute name="value"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="SplitBlock">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" ref="ScilabString"/>
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:element ref="Array"/>
+ <xs:element ref="ScilabDouble"/>
+ </xs:choice>
+ <xs:element ref="mxGeometry"/>
+ <xs:element minOccurs="0" ref="mxCell"/>
+ </xs:sequence>
+ <xs:attribute name="blockType" type="xs:NCName"/>
+ <xs:attribute name="connectable" type="xs:integer"/>
+ <xs:attribute name="dependsOnU" type="xs:integer"/>
+ <xs:attribute name="id" use="required" type="xs:NMTOKEN"/>
+ <xs:attribute name="interfaceFunctionName" type="xs:NCName"/>
+ <xs:attribute name="ordering" type="xs:integer"/>
+ <xs:attribute name="parent" type="xs:NMTOKEN"/>
+ <xs:attribute name="simulationFunctionName" type="xs:NCName"/>
+ <xs:attribute name="simulationFunctionType" type="xs:NCName"/>
+ <xs:attribute name="style"/>
+ <xs:attribute name="value" type="xs:NCName"/>
+ <xs:attribute name="vertex" type="xs:integer"/>
+ <xs:attribute name="visible" type="xs:integer"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Summation">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="ScilabString"/>
+ <xs:choice maxOccurs="unbounded">
+ <xs:element ref="Array"/>
+ <xs:element ref="ScilabDouble"/>
+ </xs:choice>
+ <xs:element ref="mxGeometry"/>
+ </xs:sequence>
+ <xs:attribute name="dependsOnU" use="required" type="xs:integer"/>
+ <xs:attribute name="id" use="required" type="xs:NMTOKEN"/>
+ <xs:attribute name="interfaceFunctionName" use="required" type="xs:NCName"/>
+ <xs:attribute name="ordering" use="required" type="xs:integer"/>
+ <xs:attribute name="parent" use="required" type="xs:NMTOKEN"/>
+ <xs:attribute name="simulationFunctionName" use="required" type="xs:NCName"/>
+ <xs:attribute name="simulationFunctionType" use="required" type="xs:NCName"/>
+ <xs:attribute name="style" use="required"/>
+ <xs:attribute name="value"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="SuperBlock">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="SuperBlockDiagram"/>
+ <xs:choice maxOccurs="unbounded">
+ <xs:element ref="Array"/>
+ <xs:element ref="ScilabDouble"/>
+ <xs:element ref="ScilabString"/>
+ </xs:choice>
+ <xs:element ref="mxGeometry"/>
+ </xs:sequence>
+ <xs:attribute name="angle" type="xs:integer"/>
+ <xs:attribute name="blockType" type="xs:NCName"/>
+ <xs:attribute name="connectable" type="xs:integer"/>
+ <xs:attribute name="id" use="required" type="xs:NMTOKEN"/>
+ <xs:attribute name="interfaceFunctionName" type="xs:NCName"/>
+ <xs:attribute name="ordering" type="xs:integer"/>
+ <xs:attribute name="parent" use="required" type="xs:NMTOKEN"/>
+ <xs:attribute name="simulationFunctionName" type="xs:NCName"/>
+ <xs:attribute name="simulationFunctionType" use="required" type="xs:NCName"/>
+ <xs:attribute name="style"/>
+ <xs:attribute name="value"/>
+ <xs:attribute name="vertex" type="xs:integer"/>
+ <xs:attribute name="visible" type="xs:integer"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="SuperBlockDiagram">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:element ref="Array"/>
+ <xs:element ref="mxGraphModel"/>
+ </xs:choice>
+ <xs:element ref="mxCell"/>
+ <xs:element minOccurs="0" ref="mxPoint"/>
+ </xs:sequence>
+ <xs:attribute name="as" use="required" type="xs:NCName"/>
+ <xs:attribute name="background" type="xs:integer"/>
+ <xs:attribute name="finalIntegrationTime" type="xs:decimal"/>
+ <xs:attribute name="gridEnabled" type="xs:integer"/>
+ <xs:attribute name="integratorAbsoluteTolerance" type="xs:double"/>
+ <xs:attribute name="integratorRelativeTolerance" type="xs:decimal"/>
+ <xs:attribute name="maxIntegrationTimeInterval" type="xs:decimal"/>
+ <xs:attribute name="solver" type="xs:decimal"/>
+ <xs:attribute name="title"/>
+ <xs:attribute name="toleranceOnTime" type="xs:decimal"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="TextBlock">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="ScilabString"/>
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:element ref="Array"/>
+ <xs:element ref="ScilabDouble"/>
+ </xs:choice>
+ <xs:element ref="mxGeometry"/>
+ </xs:sequence>
+ <xs:attribute name="connectable" type="xs:integer"/>
+ <xs:attribute name="id" use="required" type="xs:NMTOKEN"/>
+ <xs:attribute name="interfaceFunctionName" type="xs:NCName"/>
+ <xs:attribute name="ordering" type="xs:integer"/>
+ <xs:attribute name="parent" use="required" type="xs:NMTOKEN"/>
+ <xs:attribute name="simulationFunctionName" type="xs:NCName"/>
+ <xs:attribute name="simulationFunctionType" use="required" type="xs:NCName"/>
+ <xs:attribute name="style"/>
+ <xs:attribute name="value"/>
+ <xs:attribute name="vertex" type="xs:integer"/>
+ <xs:attribute name="visible" type="xs:integer"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="VoltageSensorBlock">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:choice maxOccurs="unbounded">
+ <xs:element ref="Array"/>
+ <xs:element ref="ScilabDouble"/>
+ </xs:choice>
+ <xs:element ref="mxGeometry"/>
+ </xs:sequence>
+ <xs:attribute name="dependsOnU" use="required" type="xs:integer"/>
+ <xs:attribute name="id" use="required" type="xs:NMTOKEN"/>
+ <xs:attribute name="interfaceFunctionName" use="required" type="xs:NCName"/>
+ <xs:attribute name="ordering" use="required" type="xs:integer"/>
+ <xs:attribute name="parent" use="required" type="xs:NMTOKEN"/>
+ <xs:attribute name="simulationFunctionName" use="required" type="xs:NCName"/>
+ <xs:attribute name="simulationFunctionType" use="required" type="xs:NCName"/>
+ <xs:attribute name="style" use="required"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="mxCell">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" ref="mxGeometry"/>
+ </xs:sequence>
+ <xs:attribute name="as" type="xs:NCName"/>
+ <xs:attribute name="connectable" type="xs:integer"/>
+ <xs:attribute name="edge" type="xs:integer"/>
+ <xs:attribute name="id" use="required"/>
+ <xs:attribute name="parent" type="xs:NMTOKEN"/>
+ <xs:attribute name="source" type="xs:NMTOKEN"/>
+ <xs:attribute name="style"/>
+ <xs:attribute name="value"/>
+ <xs:attribute name="vertex" type="xs:integer"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="mxPoint">
+ <xs:complexType>
+ <xs:attribute name="as" type="xs:NCName"/>
+ <xs:attribute name="x" type="xs:decimal"/>
+ <xs:attribute name="y" type="xs:decimal"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="data">
+ <xs:complexType>
+ <xs:attribute name="bUnsigned" type="xs:boolean"/>
+ <xs:attribute name="column" use="required" type="xs:integer"/>
+ <xs:attribute name="line" use="required" type="xs:integer"/>
+ <xs:attribute name="realPart" type="xs:double"/>
+ <xs:attribute name="imaginaryPart" type="xs:double"/>
+ <xs:attribute name="value"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="ScilabDouble">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="data"/>
+ </xs:sequence>
+ <xs:attribute name="as" type="xs:NCName"/>
+ <xs:attribute name="height" use="required" type="xs:integer"/>
+ <xs:attribute name="width" use="required" type="xs:integer"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="ScilabString">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element maxOccurs="unbounded" ref="data"/>
+ </xs:sequence>
+ <xs:attribute name="as" type="xs:NCName"/>
+ <xs:attribute name="height" use="required" type="xs:integer"/>
+ <xs:attribute name="width" use="required" type="xs:integer"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="ControlPort">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="mxGeometry"/>
+ </xs:sequence>
+ <xs:attribute name="as" type="xs:NCName"/>
+ <xs:attribute name="connectable" type="xs:integer"/>
+ <xs:attribute name="connectedLinkId" type="xs:integer"/>
+ <xs:attribute name="dataType" type="xs:NCName"/>
+ <xs:attribute name="id" use="required" type="xs:NMTOKEN"/>
+ <xs:attribute name="ordering" use="required" type="xs:integer"/>
+ <xs:attribute name="parent" type="xs:NMTOKEN"/>
+ <xs:attribute name="style"/>
+ <xs:attribute name="value"/>
+ <xs:attribute name="visible" type="xs:integer"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="mxGeometry">
+ <xs:complexType>
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:element ref="Array"/>
+ <xs:element ref="mxPoint"/>
+ </xs:choice>
+ <xs:attribute name="as" use="required" type="xs:NCName"/>
+ <xs:attribute name="height" type="xs:decimal"/>
+ <xs:attribute name="relative" type="xs:integer"/>
+ <xs:attribute name="width" type="xs:decimal"/>
+ <xs:attribute name="x" type="xs:decimal"/>
+ <xs:attribute name="y" type="xs:decimal"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="ExplicitOutputPort">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="mxGeometry"/>
+ </xs:sequence>
+ <xs:attribute name="as" type="xs:NCName"/>
+ <xs:attribute name="connectable" type="xs:integer"/>
+ <xs:attribute name="connectedLinkId" type="xs:integer"/>
+ <xs:attribute name="dataColumns" type="xs:integer"/>
+ <xs:attribute name="dataLines" type="xs:integer"/>
+ <xs:attribute name="dataType" type="xs:NCName"/>
+ <xs:attribute name="id" use="required" type="xs:NMTOKEN"/>
+ <xs:attribute name="ordering" type="xs:integer"/>
+ <xs:attribute name="parent" type="xs:NMTOKEN"/>
+ <xs:attribute name="style"/>
+ <xs:attribute name="value"/>
+ <xs:attribute name="visible" type="xs:integer"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="ExplicitInputPort">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" ref="Orientation"/>
+ <xs:element ref="mxGeometry"/>
+ </xs:sequence>
+ <xs:attribute name="as" type="xs:NCName"/>
+ <xs:attribute name="connectable" type="xs:integer"/>
+ <xs:attribute name="connectedLinkId" type="xs:integer"/>
+ <xs:attribute name="dataColumns" type="xs:integer"/>
+ <xs:attribute name="dataLines" type="xs:integer"/>
+ <xs:attribute name="dataType" type="xs:NCName"/>
+ <xs:attribute name="id" use="required" type="xs:NMTOKEN"/>
+ <xs:attribute name="ordering" type="xs:integer"/>
+ <xs:attribute name="parent" type="xs:NMTOKEN"/>
+ <xs:attribute name="style"/>
+ <xs:attribute name="value"/>
+ <xs:attribute name="visible" type="xs:integer"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="ImplicitInputPort">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" ref="Orientation"/>
+ <xs:element ref="mxGeometry"/>
+ </xs:sequence>
+ <xs:attribute name="as" type="xs:NCName"/>
+ <xs:attribute name="connectable" type="xs:integer"/>
+ <xs:attribute name="connectedLinkId" type="xs:integer"/>
+ <xs:attribute name="dataColumns" type="xs:integer"/>
+ <xs:attribute name="dataLines" type="xs:integer"/>
+ <xs:attribute name="dataType" use="required" type="xs:NCName"/>
+ <xs:attribute name="id" use="required" type="xs:NMTOKEN"/>
+ <xs:attribute name="ordering" use="required" type="xs:integer"/>
+ <xs:attribute name="parent" use="required" type="xs:NMTOKEN"/>
+ <xs:attribute name="style"/>
+ <xs:attribute name="value" type="xs:NCName"/>
+ <xs:attribute name="visible" type="xs:integer"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="ImplicitOutputPort">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" ref="Orientation"/>
+ <xs:element ref="mxGeometry"/>
+ </xs:sequence>
+ <xs:attribute name="as" type="xs:NCName"/>
+ <xs:attribute name="connectable" type="xs:integer"/>
+ <xs:attribute name="connectedLinkId" type="xs:integer"/>
+ <xs:attribute name="dataColumns" type="xs:integer"/>
+ <xs:attribute name="dataLines" type="xs:integer"/>
+ <xs:attribute name="dataType" use="required" type="xs:NCName"/>
+ <xs:attribute name="id" use="required" type="xs:NMTOKEN"/>
+ <xs:attribute name="ordering" use="required" type="xs:integer"/>
+ <xs:attribute name="parent" use="required" type="xs:NMTOKEN"/>
+ <xs:attribute name="style"/>
+ <xs:attribute name="value" type="xs:NCName"/>
+ <xs:attribute name="visible" type="xs:integer"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="BasicBlock">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:choice maxOccurs="unbounded">
+ <xs:element ref="Array"/>
+ <xs:element ref="ScilabDouble"/>
+ <xs:element ref="ScilabString"/>
+ </xs:choice>
+ <xs:element ref="mxGeometry"/>
+ </xs:sequence>
+ <xs:attribute name="angle" type="xs:integer"/>
+ <xs:attribute name="as" type="xs:NCName"/>
+ <xs:attribute name="blockType" type="xs:NCName"/>
+ <xs:attribute name="connectable" type="xs:integer"/>
+ <xs:attribute name="dependsOnT" type="xs:integer"/>
+ <xs:attribute name="dependsOnU" type="xs:integer"/>
+ <xs:attribute name="id" use="required" type="xs:NMTOKEN"/>
+ <xs:attribute name="interfaceFunctionName" type="xs:NCName"/>
+ <xs:attribute name="ordering" type="xs:integer"/>
+ <xs:attribute name="parent" use="required" type="xs:NMTOKEN"/>
+ <xs:attribute name="simulationFunctionName" use="required"/>
+ <xs:attribute name="simulationFunctionType" use="required" type="xs:NCName"/>
+ <xs:attribute name="style" use="required"/>
+ <xs:attribute name="value"/>
+ <xs:attribute name="vertex" type="xs:integer"/>
+ <xs:attribute name="visible" type="xs:integer"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="CommandPort">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="mxGeometry"/>
+ </xs:sequence>
+ <xs:attribute name="as" type="xs:NCName"/>
+ <xs:attribute name="connectable" type="xs:integer"/>
+ <xs:attribute name="connectedLinkId" type="xs:integer"/>
+ <xs:attribute name="dataType" type="xs:NCName"/>
+ <xs:attribute name="id" use="required" type="xs:NMTOKEN"/>
+ <xs:attribute name="initialState" type="xs:decimal"/>
+ <xs:attribute name="ordering" use="required" type="xs:integer"/>
+ <xs:attribute name="parent" type="xs:NMTOKEN"/>
+ <xs:attribute name="style"/>
+ <xs:attribute name="visible" type="xs:integer"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Orientation">
+ <xs:complexType>
+ <xs:attribute name="as" use="required" type="xs:NCName"/>
+ <xs:attribute name="value" use="required" type="xs:NCName"/>
+ </xs:complexType>
+ </xs:element>
+</xs:schema>
diff --git a/modules/xcos/etc/palettes.xml b/modules/xcos/etc/palettes.xml
new file mode 100755
index 000000000..0da3e8a4c
--- /dev/null
+++ b/modules/xcos/etc/palettes.xml
@@ -0,0 +1,849 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<category enable="true" name="Config">
+ <node xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="Category" enable="true" name="Palettes">
+ <node xsi:type="PreLoaded" enable="true" name="Commonly Used Blocks">
+ <block name="ANDBLK">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/ANDBLK.png"/>
+ </block>
+ <block name="BIGSOM_f">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/BIGSOM_f.png"/>
+ </block>
+ <block name="CMSCOPE">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/CMSCOPE.png"/>
+ </block>
+ <block name="CONST_m">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/CONST_m.png"/>
+ </block>
+ <block name="CONVERT">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/CONVERT.png"/>
+ </block>
+ <block name="CSCOPXY">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/CSCOPXY.png"/>
+ </block>
+ <block name="DEMUX">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/DEMUX.png"/>
+ </block>
+ <block name="DOLLAR_f">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/DOLLAR_f.png"/>
+ </block>
+ <block name="INTEGRAL_f">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/INTEGRAL_f.png"/>
+ </block>
+ <block name="IN_f">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/IN_f.png"/>
+ </block>
+ <block name="LOGICAL_OP">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/LOGICAL_OP.png"/>
+ </block>
+ <block name="MUX">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/MUX.png"/>
+ </block>
+ <block name="NRMSOM_f">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/NRMSOM_f.png"/>
+ </block>
+ <block name="OUT_f">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/OUT_f.png"/>
+ </block>
+ <block name="PRODUCT">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/PRODUCT.png"/>
+ </block>
+ <block name="RELATIONALOP">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/RELATIONALOP.png"/>
+ </block>
+ <block name="SATURATION">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/SATURATION.png"/>
+ </block>
+ <block name="SWITCH2_m">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/SWITCH2_m.png"/>
+ </block>
+ <block name="TEXT_f">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/TEXT_f.png"/>
+ </block>
+ </node>
+ <node xsi:type="PreLoaded" enable="true" name="Continuous time systems">
+ <block name="CLINDUMMY_f">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/CLINDUMMY_f.png"/>
+ </block>
+ <block name="CLR">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/CLR.png"/>
+ </block>
+ <block name="CLSS">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/CLSS.png"/>
+ </block>
+ <block name="DERIV">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/DERIV.png"/>
+ </block>
+ <block name="INTEGRAL_f">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/INTEGRAL_f.png"/>
+ </block>
+ <block name="INTEGRAL_m">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/INTEGRAL_m.png"/>
+ </block>
+ <block name="PID">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/PID.png"/>
+ </block>
+ <block name="TCLSS">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/TCLSS.png"/>
+ </block>
+ <block name="TIME_DELAY">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/TIME_DELAY.png"/>
+ </block>
+ <block name="VARIABLE_DELAY">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/VARIABLE_DELAY.png"/>
+ </block>
+ <block name="PDE">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/PDE.png"/>
+ </block>
+ </node>
+ <node xsi:type="PreLoaded" enable="true" name="Discontinuities">
+ <block name="BACKLASH">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/BACKLASH.png"/>
+ </block>
+ <block name="DEADBAND">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/DEADBAND.png"/>
+ </block>
+ <block name="DELAYV_f">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/DELAYV_f.png"/>
+ </block>
+ <block name="HYSTHERESIS">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/HYSTHERESIS.png"/>
+ </block>
+ <block name="RATELIMITER">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/RATELIMITER.png"/>
+ </block>
+ <block name="QUANT_f">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/QUANT_f.png"/>
+ </block>
+ <block name="SATURATION">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/SATURATION.png"/>
+ </block>
+ </node>
+ <node xsi:type="PreLoaded" enable="true" name="Discrete time systems">
+ <block name="AUTOMAT">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/AUTOMAT.png"/>
+ </block>
+ <block name="DELAYV_f">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/DELAYV_f.png"/>
+ </block>
+ <block name="DELAY_f">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/DELAY_f.png"/>
+ </block>
+ <block name="DLR">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/DLR.png"/>
+ </block>
+ <block name="DLRADAPT_f">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/DLRADAPT_f.png"/>
+ </block>
+ <block name="DLSS">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/DLSS.png"/>
+ </block>
+ <block name="DOLLAR_f">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/DOLLAR_f.png"/>
+ </block>
+ <block name="DOLLAR">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/DOLLAR.png"/>
+ </block>
+ <block name="DOLLAR_m">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/DOLLAR_m.png"/>
+ </block>
+ <block name="SAMPHOLD_m">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/SAMPHOLD_m.png"/>
+ </block>
+ <block name="TCLSS">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/TCLSS.png"/>
+ </block>
+ <block name="REGISTER">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/REGISTER.png"/>
+ </block>
+ </node>
+ <node xsi:type="PreLoaded" enable="true" name="Lookup Tables">
+ <block name="INTRP2BLK_f">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/INTRP2BLK_f.png"/>
+ </block>
+ <block name="INTRPLBLK_f">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/INTRPLBLK_f.png"/>
+ </block>
+ <block name="LOOKUP_f">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/LOOKUP_f.png"/>
+ </block>
+ </node>
+ <node xsi:type="PreLoaded" enable="true" name="Event handling">
+ <block name="CLOCK_c">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/CLOCK_c.png"/>
+ </block>
+ <block name="SampleCLK">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/SampleCLK.png"/>
+ </block>
+ <block name="VirtualCLK0">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/VirtualCLK0.png"/>
+ </block>
+ <block name="ANDBLK">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/ANDBLK.png"/>
+ </block>
+ <block name="ANDLOG_f">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/ANDLOG_f.png"/>
+ </block>
+ <block name="CEVENTSCOPE">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/CEVENTSCOPE.png"/>
+ </block>
+ <block name="CLKFROM">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/CLKFROM.png"/>
+ </block>
+ <block name="CLKGOTO">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/CLKGOTO.png"/>
+ </block>
+ <block name="CLKGotoTagVisibility">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/CLKGotoTagVisibility.png"/>
+ </block>
+ <block name="CLKOUTV_f">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/CLKOUTV_f.png"/>
+ </block>
+ <block name="CLKSOMV_f">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/CLKSOMV_f.png"/>
+ </block>
+ <block name="EDGE_TRIGGER">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/EDGE_TRIGGER.png"/>
+ </block>
+ <block name="ENDBLK">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/ENDBLK.png"/>
+ </block>
+ <block name="END_c">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/END_c.png"/>
+ </block>
+ <block name="ESELECT_f">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/ESELECT_f.png"/>
+ </block>
+ <block name="EVTDLY_c">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/EVTDLY_c.png"/>
+ </block>
+ <block name="EVTGEN_f">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/EVTGEN_f.png"/>
+ </block>
+ <block name="EVTVARDLY">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/EVTVARDLY.png"/>
+ </block>
+ <block name="Extract_Activation">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/Extract_Activation.png"/>
+ </block>
+ <block name="HALT_f">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/HALT_f.png"/>
+ </block>
+ <block name="IFTHEL_f">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/IFTHEL_f.png"/>
+ </block>
+ <block name="M_freq">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/M_freq.png"/>
+ </block>
+ <block name="MCLOCK_f">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/MCLOCK_f.png"/>
+ </block>
+ <block name="MFCLCK_f">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/MFCLCK_f.png"/>
+ </block>
+ <block name="freq_div">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/freq_div.png"/>
+ </block>
+ </node>
+ <node xsi:type="PreLoaded" enable="true" name="Mathematical Operations">
+ <block name="ABS_VALUE">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/ABS_VALUE.png"/>
+ </block>
+ <block name="BIGSOM_f">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/BIGSOM_f.png"/>
+ </block>
+ <block name="COSBLK_f">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/COSBLK_f.png"/>
+ </block>
+ <block name="EXPBLK_m">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/EXPBLK_m.png"/>
+ </block>
+ <block name="GAINBLK_f">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/GAINBLK_f.png"/>
+ </block>
+ <block name="GAINBLK">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/GAINBLK.png"/>
+ </block>
+ <block name="GAIN_f">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/GAIN_f.png"/>
+ </block>
+ <block name="INVBLK">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/INVBLK.png"/>
+ </block>
+ <block name="LOGBLK_f">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/LOGBLK_f.png"/>
+ </block>
+ <block name="MATMAGPHI">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/MATMAGPHI.png"/>
+ </block>
+ <block name="MATZREIM">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/MATZREIM.png"/>
+ </block>
+ <block name="MAXMIN">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/MAXMIN.png"/>
+ </block>
+ <block name="MAX_f">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/MAX_f.png"/>
+ </block>
+ <block name="MIN_f">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/MIN_f.png"/>
+ </block>
+ <block name="POWBLK_f">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/POWBLK_f.png"/>
+ </block>
+ <block name="PRODUCT">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/PRODUCT.png"/>
+ </block>
+ <block name="PROD_f">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/PROD_f.png"/>
+ </block>
+ <block name="SIGNUM">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/SIGNUM.png"/>
+ </block>
+ <block name="SINBLK_f">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/SINBLK_f.png"/>
+ </block>
+ <block name="SQRT">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/SQRT.png"/>
+ </block>
+ <block name="SUMMATION">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/SUMMATION.png"/>
+ </block>
+ <block name="SUM_f">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/SUM_f.png"/>
+ </block>
+ <block name="SOM_f">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/SOM_f.png"/>
+ </block>
+ <block name="TANBLK_f">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/TANBLK_f.png"/>
+ </block>
+ <block name="TrigFun">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/TrigFun.png"/>
+ </block>
+ </node>
+ <node xsi:type="PreLoaded" enable="true" name="Matrix">
+ <block name="CUMSUM">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/CUMSUM.png"/>
+ </block>
+ <block name="EXTRACT">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/EXTRACT.png"/>
+ </block>
+ <block name="EXTTRI">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/EXTTRI.png"/>
+ </block>
+ <block name="MATBKSL">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/MATBKSL.png"/>
+ </block>
+ <block name="MATCATH">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/MATCATH.png"/>
+ </block>
+ <block name="MATCATV">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/MATCATV.png"/>
+ </block>
+ <block name="MATDET">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/MATDET.png"/>
+ </block>
+ <block name="MATDIAG">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/MATDIAG.png"/>
+ </block>
+ <block name="MATDIV">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/MATDIV.png"/>
+ </block>
+ <block name="MATEIG">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/MATEIG.png"/>
+ </block>
+ <block name="MATEXPM">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/MATEXPM.png"/>
+ </block>
+ <block name="MATINV">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/MATINV.png"/>
+ </block>
+ <block name="MATLU">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/MATLU.png"/>
+ </block>
+ <block name="MATMAGPHI">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/MATMAGPHI.png"/>
+ </block>
+ <block name="MATMUL">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/MATMUL.png"/>
+ </block>
+ <block name="MATPINV">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/MATPINV.png"/>
+ </block>
+ <block name="MATRESH">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/MATRESH.png"/>
+ </block>
+ <block name="MATSING">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/MATSING.png"/>
+ </block>
+ <block name="MATSUM">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/MATSUM.png"/>
+ </block>
+ <block name="MATTRAN">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/MATTRAN.png"/>
+ </block>
+ <block name="MATZCONJ">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/MATZCONJ.png"/>
+ </block>
+ <block name="MATZREIM">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/MATZREIM.png"/>
+ </block>
+ <block name="RICC">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/RICC.png"/>
+ </block>
+ <block name="ROOTCOEF">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/ROOTCOEF.png"/>
+ </block>
+ <block name="SQRT">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/SQRT.png"/>
+ </block>
+ <block name="SUBMAT">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/SUBMAT.png"/>
+ </block>
+ </node>
+ <node xsi:type="PreLoaded" enable="true" name="Electrical">
+ <block name="CCS">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/CCS.png"/>
+ </block>
+ <block name="CVS">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/CVS.png"/>
+ </block>
+ <block name="Capacitor">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/Capacitor.png"/>
+ </block>
+ <block name="ConstantVoltage">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/ConstantVoltage.png"/>
+ </block>
+ <block name="CurrentSensor">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/CurrentSensor.png"/>
+ </block>
+ <block name="Diode">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/Diode.png"/>
+ </block>
+ <block name="Ground">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/Ground.png"/>
+ </block>
+ <block name="Gyrator">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/Gyrator.png"/>
+ </block>
+ <block name="IdealTransformer">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/IdealTransformer.png"/>
+ </block>
+ <block name="Inductor">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/Inductor.png"/>
+ </block>
+ <block name="NMOS">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/NMOS.png"/>
+ </block>
+ <block name="NPN">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/NPN.png"/>
+ </block>
+ <block name="OpAmp">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/OpAmp.png"/>
+ </block>
+ <block name="PMOS">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/PMOS.png"/>
+ </block>
+ <block name="PNP">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/PNP.png"/>
+ </block>
+ <block name="PotentialSensor">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/PotentialSensor.png"/>
+ </block>
+ <block name="Resistor">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/Resistor.png"/>
+ </block>
+ <block name="SineVoltage">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/SineVoltage.png"/>
+ </block>
+ <block name="Switch">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/Switch.png"/>
+ </block>
+ <block name="VVsourceAC">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/VVsourceAC.png"/>
+ </block>
+ <block name="VariableResistor">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/VariableResistor.png"/>
+ </block>
+ <block name="VoltageSensor">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/VoltageSensor.png"/>
+ </block>
+ <block name="VsourceAC">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/VsourceAC.png"/>
+ </block>
+ </node>
+ <node xsi:type="PreLoaded" enable="true" name="Integer">
+ <block name="BITCLEAR">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/BITCLEAR.png"/>
+ </block>
+ <block name="BITSET">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/BITSET.png"/>
+ </block>
+ <block name="CONVERT">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/CONVERT.png"/>
+ </block>
+ <block name="DFLIPFLOP">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/DFLIPFLOP.png"/>
+ </block>
+ <block name="DLATCH">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/DLATCH.png"/>
+ </block>
+ <block name="EXTRACTBITS">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/EXTRACTBITS.png"/>
+ </block>
+ <block name="INTMUL">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/INTMUL.png"/>
+ </block>
+ <block name="JKFLIPFLOP">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/JKFLIPFLOP.png"/>
+ </block>
+ <block name="LOGIC">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/LOGIC.png"/>
+ </block>
+ <block name="SHIFT">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/SHIFT.png"/>
+ </block>
+ <block name="SRFLIPFLOP">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/SRFLIPFLOP.png"/>
+ </block>
+ </node>
+ <node xsi:type="PreLoaded" enable="true" name="Port &amp; Subsystem">
+ <block name="CLKINV_f">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/CLKINV_f.png"/>
+ </block>
+ <block name="CLKOUTV_f">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/CLKOUTV_f.png"/>
+ </block>
+ <block name="IN_f">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/IN_f.png"/>
+ </block>
+ <block name="INIMPL_f">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/INIMPL_f.png"/>
+ </block>
+ <block name="OUTIMPL_f">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/OUTIMPL_f.png"/>
+ </block>
+ <block name="OUT_f">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/OUT_f.png"/>
+ </block>
+ <block name="SUPER_f">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/SUPER_f.png"/>
+
+ </block>
+ </node>
+ <node xsi:type="PreLoaded" enable="true" name="Zero crossing detection">
+ <block name="GENERAL_f">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/GENERAL_f.png"/>
+ </block>
+ <block name="NEGTOPOS_f">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/NEGTOPOS_f.png"/>
+ </block>
+ <block name="POSTONEG_f">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/POSTONEG_f.png"/>
+ </block>
+ <block name="ZCROSS_f">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/ZCROSS_f.png"/>
+ </block>
+ </node>
+ <node xsi:type="PreLoaded" enable="true" name="Signal Routing">
+ <block name="DEMUX">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/DEMUX.png"/>
+ </block>
+ <block name="DEMUX_f">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/DEMUX_f.png"/>
+ </block>
+ <block name="EXTRACTOR">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/EXTRACTOR.png"/>
+ </block>
+ <block name="SCALAR2VECTOR">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/SCALAR2VECTOR.png"/>
+ </block>
+ <block name="FROM">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/FROM.png"/>
+ </block>
+ <block name="FROMMO">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/FROMMO.png"/>
+ </block>
+ <block name="GOTO">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/GOTO.png"/>
+ </block>
+ <block name="GOTOMO">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/GOTOMO.png"/>
+ </block>
+ <block name="CLKFROM">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/CLKFROM.png"/>
+ </block>
+ <block name="CLKGOTO">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/CLKGOTO.png"/>
+ </block>
+ <block name="GotoTagVisibility">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/GotoTagVisibility.png"/>
+ </block>
+ <block name="GotoTagVisibilityMO">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/GotoTagVisibilityMO.png"/>
+ </block>
+ <block name="ISELECT_m">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/ISELECT_m.png"/>
+ </block>
+ <block name="MUX">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/MUX.png"/>
+ </block>
+ <block name="MUX_f">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/MUX_f.png"/>
+ </block>
+ <block name="M_SWITCH">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/M_SWITCH.png"/>
+ </block>
+ <block name="NRMSOM_f">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/NRMSOM_f.png"/>
+ </block>
+ <block name="RELAY_f">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/RELAY_f.png"/>
+ </block>
+ <block name="SELECT_m">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/SELECT_m.png"/>
+ </block>
+ <block name="SWITCH2_m">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/SWITCH2_m.png"/>
+ </block>
+ <block name="SWITCH_f">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/SWITCH_f.png"/>
+ </block>
+ <block name="SELF_SWITCH">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/SELF_SWITCH.png"/>
+ </block>
+ </node>
+ <node xsi:type="PreLoaded" enable="true" name="Signal Processing">
+ <block name="QUANT_f">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/QUANT_f.png"/>
+ </block>
+ <block name="SAMPHOLD_m">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/SAMPHOLD_m.png"/>
+ </block>
+ </node>
+ <node xsi:type="PreLoaded" enable="true" name="Implicit">
+ <block name="CONSTRAINT_c">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/CONSTRAINT_c.png"/>
+ </block>
+ <block name="CONSTRAINT2_c">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/CONSTRAINT2_c.png"/>
+ </block>
+ <block name="DIFF_f">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/DIFF_f.png"/>
+ </block>
+ </node>
+ <node xsi:type="PreLoaded" enable="true" name="Annotations">
+ <block name="TEXT_f">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/TEXT_f.png"/>
+ </block>
+ </node>
+ <node xsi:type="PreLoaded" enable="true" name="Sinks">
+ <block name="AFFICH_m">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/AFFICH_m.png"/>
+ </block>
+ <block name="BARXY">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/BARXY.png"/>
+ </block>
+ <block name="CANIMXY">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/CANIMXY.png"/>
+ </block>
+ <block name="CANIMXY3D">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/CANIMXY3D.png"/>
+ </block>
+ <block name="CFSCOPE">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/CFSCOPE.png"/>
+ </block>
+ <block name="CLKOUTV_f">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/CLKOUTV_f.png"/>
+ </block>
+ <block name="CMAT3D">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/CMAT3D.png"/>
+ </block>
+ <block name="CMATVIEW">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/CMATVIEW.png"/>
+ </block>
+ <block name="CMSCOPE">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/CMSCOPE.png"/>
+ </block>
+ <block name="CSCOPE">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/CSCOPE.png"/>
+ </block>
+ <block name="CSCOPXY">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/CSCOPXY.png"/>
+ </block>
+ <block name="CSCOPXY3D">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/CSCOPXY3D.png"/>
+ </block>
+ <block name="ENDBLK">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/ENDBLK.png"/>
+ </block>
+ <block name="END_c">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/END_c.png"/>
+ </block>
+ <block name="HALT_f">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/HALT_f.png"/>
+ </block>
+ <block name="OUTIMPL_f">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/OUTIMPL_f.png"/>
+ </block>
+ <block name="OUT_f">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/OUT_f.png"/>
+ </block>
+ <block name="TOWS_c">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/TOWS_c.png"/>
+ </block>
+ <block name="TRASH_f">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/TRASH_f.png"/>
+ </block>
+ <block name="WRITEAU_f">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/WRITEAU_f.png"/>
+ </block>
+ <block name="WRITEC_f">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/WRITEC_f.png"/>
+ </block>
+ </node>
+ <node xsi:type="PreLoaded" enable="true" name="Sources">
+ <block name="CLKINV_f">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/CLKINV_f.png"/>
+ </block>
+ <block name="CLOCK_c">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/CLOCK_c.png"/>
+ </block>
+ <block name="CONST_m">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/CONST_m.png"/>
+ </block>
+ <block name="CONST">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/CONST.png"/>
+ </block>
+ <block name="CONST_f">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/CONST_f.png"/>
+ </block>
+ <block name="CURV_f">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/CURV_f.png"/>
+ </block>
+ <block name="Counter">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/Counter.png"/>
+ </block>
+ <block name="FROMWSB">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/FROMWSB.png"/>
+ </block>
+ <block name="GENSIN_f">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/GENSIN_f.png"/>
+ </block>
+ <block name="GENSQR_f">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/GENSQR_f.png"/>
+ </block>
+ <block name="INIMPL_f">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/INIMPL_f.png"/>
+ </block>
+ <block name="IN_f">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/IN_f.png"/>
+ </block>
+ <block name="Modulo_Count">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/Modulo_Count.png"/>
+ </block>
+ <block name="RAMP">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/RAMP.png"/>
+ </block>
+ <block name="RAND_m">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/RAND_m.png"/>
+ </block>
+ <block name="READAU_f">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/READAU_f.png"/>
+ </block>
+ <block name="READC_f">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/READC_f.png"/>
+ </block>
+ <block name="RFILE_f">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/RFILE_f.png"/>
+ </block>
+ <block name="SAWTOOTH_f">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/SAWTOOTH_f.png"/>
+ </block>
+ <block name="STEP_FUNCTION">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/STEP_FUNCTION.png"/>
+ </block>
+ <block name="PULSE_SC">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/PULSE_SC.png"/>
+ </block>
+ <block name="SampleCLK">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/SampleCLK.png"/>
+ </block>
+ <block name="Sigbuilder">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/Sigbuilder.png"/>
+ </block>
+ <block name="TIME_f">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/TIME_f.png"/>
+ </block>
+ <block name="TKSCALE">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/TKSCALE.png"/>
+ </block>
+ </node>
+ <node xsi:type="PreLoaded" enable="true" name="Thermo-Hydraulics">
+ <block name="Bache">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/Bache.png"/>
+ </block>
+ <block name="PerteDP">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/PerteDP.png"/>
+ </block>
+ <block name="PuitsP">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/PuitsP.png"/>
+ </block>
+ <block name="SourceP">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/SourceP.png"/>
+ </block>
+ <block name="VanneReglante">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/VanneReglante.png"/>
+ </block>
+ <block name="Flowmeter">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/Flowmeter.png"/>
+ </block>
+ </node>
+ <node xsi:type="PreLoaded" enable="true" name="Demonstrations Blocks">
+ <block name="BOUNCE">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/BOUNCE.png"/>
+ </block>
+ <block name="BOUNCEXY">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/BOUNCEXY.png"/>
+ </block>
+ <block name="BPLATFORM">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/BPLATFORM.png"/>
+ </block>
+ </node>
+ <node xsi:type="PreLoaded" enable="true" name="User-Defined Functions">
+ <block name="CBLOCK">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/CBLOCK.png"/>
+ </block>
+ <block name="CBLOCK4">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/CBLOCK4.png"/>
+ </block>
+ <block name="DEBUG">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/DEBUG.png"/>
+ </block>
+ <block name="EXPRESSION">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/EXPRESSION.png"/>
+ </block>
+ <block name="MBLOCK">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/MBLOCK.png"/>
+ </block>
+ <block name="PDE">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/PDE.png"/>
+ </block>
+ <block name="SUPER_f">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/SUPER_f.png"/>
+ </block>
+ <block name="c_block">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/c_block.png"/>
+ </block>
+ <block name="fortran_block">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/fortran_block.png"/>
+ </block>
+ <block name="generic_block3">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/generic_block3.png"/>
+ </block>
+ <block name="scifunc_block_m">
+ <icon variable="SCI" path="/modules/xcos/images/palettes/scifunc_block_m.png"/>
+ </block>
+ </node>
+ </node>
+</category>
diff --git a/modules/xcos/etc/xcos.quit b/modules/xcos/etc/xcos.quit
new file mode 100755
index 000000000..39280a971
--- /dev/null
+++ b/modules/xcos/etc/xcos.quit
@@ -0,0 +1,15 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2009-2010 - DIGITEO
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+// =============================================================================
+//ask xcos to close not saved files before close
+if getscilabmode() <> "NWNI" & getscilabmode() <> "API" then
+ closeXcos();
+end
+
diff --git a/modules/xcos/etc/xcos.start b/modules/xcos/etc/xcos.start
new file mode 100755
index 000000000..1be0b2717
--- /dev/null
+++ b/modules/xcos/etc/xcos.start
@@ -0,0 +1,12 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2009-2011 - DIGITEO
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+// Load functions libraries
+// =============================================================================
+ load('SCI/modules/xcos/macros/lib');
diff --git a/modules/xcos/etc/xcos.xml b/modules/xcos/etc/xcos.xml
new file mode 100755
index 000000000..416f16841
--- /dev/null
+++ b/modules/xcos/etc/xcos.xml
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<settings>
+</settings>