From 78ed5a7ab131e003d7e65562a556740cd4bbba8f Mon Sep 17 00:00:00 2001
From: "m.marn" <m.marn@gsi.de>
Date: Tue, 23 Jan 2024 13:44:05 +0100
Subject: [PATCH] Symlink design files instead of copying. Add some comments.

---
 .../src/xml/test/AllTypesFESA.silecsdesign    |  303 +---
 .../xml/test/fesa/test_generateFesaDesign.py  |   14 +-
 .../generated_correct/AllTypesFESA.design     |  715 +--------
 test/AllTypesFESA/copyDesigns.sh              |    6 -
 test/AllTypesFESA/src/AllTypesFESA.design     | 1315 ++---------------
 .../AllTypesFESA/RealTime/RTDeviceClass.cpp   |   39 +-
 .../RealTime/StatusUpdateAction.cpp           |    5 +
 .../AllTypesFESA/Server/GetMyCBlockProp.cpp   |    1 +
 .../AllTypesFESA/Server/GetMyROBlockProp.cpp  |    1 +
 .../AllTypesFESA/Server/SetMyWOBlockProp.cpp  |    4 +
 .../src/AllTypesFESA_DU.silecsdeploy          |    6 +-
 11 files changed, 206 insertions(+), 2203 deletions(-)
 mode change 100644 => 120000 silecs-codegen/src/xml/test/AllTypesFESA.silecsdesign
 mode change 100644 => 120000 silecs-codegen/src/xml/test/generated_correct/AllTypesFESA.design
 delete mode 100755 test/AllTypesFESA/copyDesigns.sh

diff --git a/silecs-codegen/src/xml/test/AllTypesFESA.silecsdesign b/silecs-codegen/src/xml/test/AllTypesFESA.silecsdesign
deleted file mode 100644
index 11fd4aa..0000000
--- a/silecs-codegen/src/xml/test/AllTypesFESA.silecsdesign
+++ /dev/null
@@ -1,302 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<SILECS-Design xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" silecs-version="3.0.0" created="06/27/16" updated="06/27/16" xsi:noNamespaceSchemaLocation="/home/cosylab/mmarn/lnx/workspace751/opensilecs/build/3.0.0/silecs-model/xml/DesignSchema.xsd">
-	<Information>
-		<Owner user-login="schwinn"/>
-		<Editor user-login="schwinn"/>
-	</Information>
-	<SILECS-Class name="AllTypesFESA" version="0.1.0" domain="OPERATIONAL">
-        <Acquisition-Block name="MyROBlock" generateFesaProperty="true" fesaPropertyName="MyROBlockProp">
-            <Acquisition-Register name="RO_int8" generateFesaValueItem="true">
-                <scalar format="int8"/>
-            </Acquisition-Register>
-            <Acquisition-Register name="RO_uint8" generateFesaValueItem="true" fesaFieldName="RO_uint8_fesa">
-                <scalar format="uint8"/>
-            </Acquisition-Register>
-            <Acquisition-Register name="RO_int16" generateFesaValueItem="true" fesaFieldName="RO_int16_fesa">
-                <scalar format="int16"/>
-            </Acquisition-Register>
-            <Acquisition-Register name="RO_uint16" generateFesaValueItem="true" fesaFieldName="RO_uint16_fesa">
-                <scalar format="uint16"/>
-            </Acquisition-Register>
-            <Acquisition-Register name="RO_int32" generateFesaValueItem="true" fesaFieldName="RO_int32_fesa">
-                <scalar format="int32"/>
-            </Acquisition-Register>
-            <Acquisition-Register name="RO_uint32" generateFesaValueItem="true" fesaFieldName="RO_uint32_fesa">
-                <scalar format="uint32"/>
-            </Acquisition-Register>
-            <!--<Register name="RO_int64" format="int64" synchro="MASTER" generateFesaValueItem="true" fesaFieldName="RO_int64_fesa"/> not Supported for Beckhoff, Siemens and Schneider -->
-            <!--<Register name="RO_uint64" format="uint64" synchro="MASTER" generateFesaValueItem="true" fesaFieldName="RO_uint64_fesa"/> not Supported for Beckhoff, Siemens and Schneider -->
-            <Acquisition-Register name="RO_float32" generateFesaValueItem="true" fesaFieldName="RO_float32_fesa">
-                <scalar format="float32"/>
-            </Acquisition-Register>
-            <!--<Register name="RO_float64" format="float64" synchro="MASTER" generateFesaValueItem="true" esaFieldName="RO_float64_fesa"/> not Supported for Rabbit, Beckhoff, Siemens and Schneider -->
-            <Acquisition-Register name="RO_string" generateFesaValueItem="true" fesaFieldName="RO_string_fesa">
-                <string string-length="64" format="string"/>
-            </Acquisition-Register>
-            <Acquisition-Register name="RO_date" generateFesaValueItem="true" fesaFieldName="RO_date_fesa">
-                <scalar format="date"/>
-            </Acquisition-Register>
-            <Acquisition-Register name="RO_char" generateFesaValueItem="true" fesaFieldName="RO_char_fesa">
-                <scalar format="char"/>
-            </Acquisition-Register>
-            <Acquisition-Register name="RO_byte" generateFesaValueItem="true" fesaFieldName="RO_byte_fesa">
-                <scalar format="byte"/>
-            </Acquisition-Register>
-            <Acquisition-Register name="RO_word" generateFesaValueItem="true" fesaFieldName="RO_word_fesa">
-                <scalar format="word"/>
-            </Acquisition-Register>
-            <Acquisition-Register name="RO_dword" generateFesaValueItem="true" fesaFieldName="RO_dword_fesa">
-                <scalar format="dword"/>
-            </Acquisition-Register>
-            <Acquisition-Register name="RO_int" generateFesaValueItem="true" fesaFieldName="RO_int_fesa">
-                <scalar format="int"/>
-            </Acquisition-Register>
-            <Acquisition-Register name="RO_dint" generateFesaValueItem="true" fesaFieldName="RO_dint_fesa">
-                <scalar format="dint"/>
-            </Acquisition-Register>
-            <Acquisition-Register name="RO_real" generateFesaValueItem="true" fesaFieldName="RO_real_fesa">
-                <scalar format="real"/>
-            </Acquisition-Register>
-            <Acquisition-Register name="RO_dt" generateFesaValueItem="true" fesaFieldName="RO_dt_fesa">
-                <scalar format="dt"/>
-            </Acquisition-Register>
-            <Acquisition-Register name="RO_enum" generateFesaValueItem="true" fesaFieldName="RO_enum_fesa">
-                <custom-type-scalar custom-type-name-ref="TEST_ENUM"/>
-            </Acquisition-Register>
-        </Acquisition-Block>
-        <Setting-Block name="MyRWBlock" generateFesaProperty="true" fesaPropertyName="MyRWBlockProp">
-            <Setting-Register name="RW_int8" generateFesaValueItem="true">
-                <scalar format="int8"/>
-            </Setting-Register>
-            <Setting-Register name="RW_uint8" generateFesaValueItem="true" fesaFieldName="RW_uint8_fesa">
-                <scalar format="uint8"/>
-            </Setting-Register>
-            <Setting-Register name="RW_int16" generateFesaValueItem="true" fesaFieldName="RW_int16_fesa">
-                <scalar format="int16"/>
-            </Setting-Register>
-            <Setting-Register name="RW_uint16" generateFesaValueItem="true" fesaFieldName="RW_uint16_fesa">
-                <scalar format="uint16"/>
-            </Setting-Register>
-            <Setting-Register name="RW_int32" generateFesaValueItem="true" fesaFieldName="RW_int32_fesa">
-                <scalar format="int32"/>
-            </Setting-Register>
-            <Setting-Register name="RW_uint32" generateFesaValueItem="true" fesaFieldName="RW_uint32_fesa">
-                <scalar format="uint32"/>
-            </Setting-Register>
-            <!--<Register name="RW_int64" format="int64" synchro="MASTER" generateFesaValueItem="true" fesaFieldName="RW_int64_fesa"/> not Supported for Beckhoff, Siemens and Schneider -->
-            <!--<Register name="RW_uint64" format="uint64" synchro="MASTER" generateFesaValueItem="true" fesaFieldName="RW_uint64_fesa"/> not Supported for Beckhoff, Siemens and Schneider -->
-            <Setting-Register name="RW_float32" generateFesaValueItem="true" fesaFieldName="RW_float32_fesa">
-                <scalar format="float32"/>
-            </Setting-Register>
-            <!--<Register name="RW_float64" format="float64" synchro="MASTER" generateFesaValueItem="true" esaFieldName="RW_float64_fesa"/> not Supported for Rabbit, Beckhoff, Siemens and Schneider -->
-            <Setting-Register name="RW_string" generateFesaValueItem="true" fesaFieldName="RW_string_fesa">
-                <string string-length="64" format="string"/>
-            </Setting-Register>
-            <Setting-Register name="RW_date" generateFesaValueItem="true" fesaFieldName="RW_date_fesa">
-                <scalar format="date"/>
-            </Setting-Register>
-            <Setting-Register name="RW_char" generateFesaValueItem="true" fesaFieldName="RW_char_fesa">
-                <scalar format="char"/>
-            </Setting-Register>
-            <Setting-Register name="RW_byte" generateFesaValueItem="true" fesaFieldName="RW_byte_fesa">
-                <scalar format="byte"/>
-            </Setting-Register>
-            <Setting-Register name="RW_word" generateFesaValueItem="true" fesaFieldName="RW_word_fesa">
-                <scalar format="word"/>
-            </Setting-Register>
-            <Setting-Register name="RW_dword" generateFesaValueItem="true" fesaFieldName="RW_dword_fesa">
-                <scalar format="dword"/>
-            </Setting-Register>
-            <Setting-Register name="RW_int" generateFesaValueItem="true" fesaFieldName="RW_int_fesa">
-                <scalar format="int"/>
-            </Setting-Register>
-            <Setting-Register name="RW_dint" generateFesaValueItem="true" fesaFieldName="RW_dint_fesa">
-                <scalar format="dint"/>
-            </Setting-Register>
-            <Setting-Register name="RW_real" generateFesaValueItem="true" fesaFieldName="RW_real_fesa">
-                <scalar format="real"/>
-            </Setting-Register>
-            <Setting-Register name="RW_dt" generateFesaValueItem="true" fesaFieldName="RW_dt_fesa">
-                <scalar format="dt"/>
-            </Setting-Register>
-            <Setting-Register name="RW2_int8" generateFesaValueItem="true">
-                <array2D dim1="2" dim2="2" format="int8"/>
-            </Setting-Register>
-            <Setting-Register name="RW2_uint8" generateFesaValueItem="true" fesaFieldName="RW2_uint8_fesa">
-                <array2D dim1="2" dim2="2" format="uint8"/>
-            </Setting-Register>
-            <Setting-Register name="RW2_int16" generateFesaValueItem="true" fesaFieldName="RW2_int16_fesa">
-                <array2D dim1="2" dim2="2" format="int16"/>
-            </Setting-Register>
-            <Setting-Register name="RW2_uint16" generateFesaValueItem="true" fesaFieldName="RW2_uint16_fesa">
-                <array2D dim1="2" dim2="2" format="uint16"/>
-            </Setting-Register>
-            <Setting-Register name="RW2_int32" generateFesaValueItem="true" fesaFieldName="RW2_int32_fesa">
-                <array2D dim1="2" dim2="2" format="int32"/>
-            </Setting-Register>
-            <Setting-Register name="RW2_uint32" generateFesaValueItem="true" fesaFieldName="RW2_uint32_fesa">
-                <array2D dim1="2" dim2="2" format="uint32"/>
-            </Setting-Register>
-            <!-- <Register name="RW_int64" format="int64" synchro="MASTER" generateFesaValueItem="true" fesaFieldName="RW_int64_fesa" array-dim1="2" array-dim2="2"/> not Supported for Beckhoff, Siemens and Schneider -->
-            <!--<Register name="RW_uint64" format="uint64" synchro="MASTER" generateFesaValueItem="true" fesaFieldName="RW_uint64_fesa" array-dim1="2" array-dim2="2"/> not Supported for Beckhoff, Siemens and Schneider -->
-            <Setting-Register name="RW2_float32" generateFesaValueItem="true" fesaFieldName="RW2_float32_fesa">
-                <array2D dim1="2" dim2="2" format="float32"/>
-            </Setting-Register>
-            <!--<Register name="RW_float64" format="float64" synchro="MASTER" generateFesaValueItem="true" fesaFieldName="RW_float64_fesa" array-dim1="2" array-dim2="2"/> not Supported for Rabbit, Beckhoff, Siemens and Schneider -->
-            <!-- <Register name="RW_string" format="string" synchro="MASTER" generateFesaValueItem="true" fesaFieldName="RW_string_fesa" array-dim1="2" array-dim2="2"/> 2d string arrays not supported in FESA -->
-            <Setting-Register name="RW2_date" generateFesaValueItem="true" fesaFieldName="RW2_date_fesa">
-                <array2D dim1="2" dim2="2" format="date"/>
-            </Setting-Register>
-            <Setting-Register name="RW2_char" generateFesaValueItem="true" fesaFieldName="RW2_char_fesa">
-                <array2D dim1="2" dim2="2" format="char"/>
-            </Setting-Register>
-            <Setting-Register name="RW2_byte" generateFesaValueItem="true" fesaFieldName="RW2_byte_fesa">
-                <array2D dim1="2" dim2="2" format="byte"/>
-            </Setting-Register>
-            <Setting-Register name="RW2_word" generateFesaValueItem="true" fesaFieldName="RW2_word_fesa">
-                <array2D dim1="2" dim2="2" format="word"/>
-            </Setting-Register>
-            <Setting-Register name="RW2_dword" generateFesaValueItem="true" fesaFieldName="RW2_dword_fesa">
-                <array2D dim1="2" dim2="2" format="dword"/>
-            </Setting-Register>
-            <Setting-Register name="RW2_int" generateFesaValueItem="true" fesaFieldName="RW2_int_fesa">
-                <array2D dim1="2" dim2="2" format="int"/>
-            </Setting-Register>
-            <Setting-Register name="RW2_dint" generateFesaValueItem="true" fesaFieldName="RW2_dint_fesa">
-                <array2D dim1="2" dim2="2" format="dint"/>
-            </Setting-Register>
-            <Setting-Register name="RW2_real" generateFesaValueItem="true" fesaFieldName="RW2_real_fesa">
-                <array2D dim1="2" dim2="2" format="real"/>
-            </Setting-Register>
-            <Setting-Register name="RW2_dt" generateFesaValueItem="true" fesaFieldName="RW2_dt_fesa">
-                <array2D dim1="2" dim2="2" format="dt"/>
-            </Setting-Register>
-            <Setting-Register name="RW_enum" generateFesaValueItem="true" fesaFieldName="RW_enum_fesa">
-                <custom-type-scalar custom-type-name-ref="TEST_ENUM"/>
-            </Setting-Register>
-        </Setting-Block>
-        <Command-Block name="MyWOBlock" generateFesaProperty="true" fesaPropertyName="MyWOBlockProp">
-            <Setting-Register name="WO_int8" generateFesaValueItem="true">
-                <array dim="10" format="int8"/>
-            </Setting-Register>
-            <Setting-Register name="WO_uint8" generateFesaValueItem="true" fesaFieldName="WO_uint8_fesa">
-                <array dim="10" format="uint8"/>
-            </Setting-Register>
-            <Setting-Register name="WO_int16" generateFesaValueItem="true" fesaFieldName="WO_int16_fesa">
-                <array dim="10" format="int16"/>
-            </Setting-Register>
-            <Setting-Register name="WO_uint16" generateFesaValueItem="true" fesaFieldName="WO_uint16_fesa">
-                <array dim="10" format="uint16"/>
-            </Setting-Register>
-            <Setting-Register name="WO_int32" generateFesaValueItem="true" fesaFieldName="WO_int32_fesa">
-                <array dim="10" format="int32"/>
-            </Setting-Register>
-            <Setting-Register name="WO_uint32" generateFesaValueItem="true" fesaFieldName="WO_uint32_fesa">
-                <array dim="10" format="uint32"/>
-            </Setting-Register>
-            <!--<Register name="WO_int64" format="int64" synchro="SLAVE" generateFesaValueItem="true" fesaFieldName="WO_int64_fesa" array-dim1="10"/> not Supported for Beckhoff, Siemens and Schneider -->
-            <!--<Register name="WO_uint64" format="uint64" synchro="SLAVE" generateFesaValueItem="true" fesaFieldName="WO_uint64_fesa" array-dim1="10"/> not Supported for Beckhoff, Siemens and Schneider -->
-            <Setting-Register name="WO_float32" generateFesaValueItem="true" fesaFieldName="WO_float32_fesa">
-                <array dim="10" format="float32"/>
-            </Setting-Register>
-            <!--<Register name="WO_float64" format="float64" synchro="SLAVE" generateFesaValueItem="true" fesaFieldName="WO_float64_fesa" array-dim1="10"/> not Supported for Rabbit, Beckhoff, Siemens and Schneider -->
-            <Setting-Register name="WO_string" generateFesaValueItem="true" fesaFieldName="WO_string_fesa">
-                <stringArray dim="10" string-length="64" format="string"/>
-            </Setting-Register>
-            <Setting-Register name="WO_date" generateFesaValueItem="true" fesaFieldName="WO_date_fesa">
-                <array dim="10" format="date"/>
-            </Setting-Register>
-            <Setting-Register name="WO_char" generateFesaValueItem="true" fesaFieldName="WO_char_fesa">
-                <array dim="10" format="char"/>
-            </Setting-Register>
-            <Setting-Register name="WO_byte" generateFesaValueItem="true" fesaFieldName="WO_byte_fesa">
-                <array dim="10" format="byte"/>
-            </Setting-Register>
-            <Setting-Register name="WO_word" generateFesaValueItem="true" fesaFieldName="WO_word_fesa">
-                <array dim="10" format="word"/>
-            </Setting-Register>
-            <Setting-Register name="WO_dword" generateFesaValueItem="true" fesaFieldName="WO_dword_fesa">
-                <array dim="10" format="dword"/>
-            </Setting-Register>
-            <Setting-Register name="WO_int" generateFesaValueItem="true" fesaFieldName="WO_int_fesa">
-                <array dim="10" format="int"/>
-            </Setting-Register>
-            <Setting-Register name="WO_dint" generateFesaValueItem="true" fesaFieldName="WO_dint_fesa">
-                <array dim="10" format="dint"/>
-            </Setting-Register>
-            <Setting-Register name="WO_real" generateFesaValueItem="true" fesaFieldName="WO_real_fesa">
-                <array dim="10" format="real"/>
-            </Setting-Register>
-            <Setting-Register name="WO_dt" generateFesaValueItem="true" fesaFieldName="WO_dt_fesa">
-                <array dim="10" format="dt"/>
-            </Setting-Register>
-            <Setting-Register name="WO_enum" generateFesaValueItem="true" fesaFieldName="WO_enum_fesa">
-                <custom-type-array dim="10" custom-type-name-ref="TEST_ENUM"/>
-            </Setting-Register>
-        </Command-Block>
-        <Configuration-Block name="MyCBlock" generateFesaProperty="true" fesaPropertyName="MyCBlockProp">
-            <Configuration-Register name="C_int8" generateFesaValueItem="true">
-                <array2D dim1="2" dim2="2" format="int8"/>
-            </Configuration-Register>
-            <Configuration-Register name="C_uint8" generateFesaValueItem="true" fesaFieldName="C_uint8_fesa">
-                <array2D dim1="2" dim2="2" format="uint8"/>
-            </Configuration-Register>
-            <Configuration-Register name="C_int16" generateFesaValueItem="true" fesaFieldName="C_int16_fesa">
-                <array2D dim1="2" dim2="2" format="int16"/>
-            </Configuration-Register>
-            <Configuration-Register name="C_uint16" generateFesaValueItem="true" fesaFieldName="C_uint16_fesa">
-                <array2D dim1="2" dim2="2" format="uint16"/>
-            </Configuration-Register>
-            <Configuration-Register name="C_int32" generateFesaValueItem="true" fesaFieldName="C_int32_fesa">
-                <array2D dim1="2" dim2="2" format="int32"/>
-            </Configuration-Register>
-            <Configuration-Register name="C_uint32" generateFesaValueItem="true" fesaFieldName="C_uint32_fesa">
-                <array2D dim1="2" dim2="2" format="uint32"/>
-            </Configuration-Register>
-            <!--<Register name="C_int64" format="int64" synchro="MASTER" generateFesaValueItem="true" fesaFieldName="C_int64_fesa" array-dim1="2" array-dim2="2"/> not Supported for Rabbit, Beckhoff, Siemens and Schneider -->
-            <!--<Register name="C_uint64" format="uint64" synchro="MASTER" generateFesaValueItem="true" fesaFieldName="C_uint64_fesa" array-dim1="2" array-dim2="2"/> not Supported for Rabbit, Beckhoff, Siemens and Schneider -->
-            <Configuration-Register name="C_float32" generateFesaValueItem="true" fesaFieldName="C_float32_fesa">
-                <array2D dim1="2" dim2="2" format="float32"/>
-            </Configuration-Register>
-            <!--<Register name="C_float64" format="float64" synchro="MASTER" generateFesaValueItem="true" fesaFieldName="C_float64_fesa" array-dim1="2" array-dim2="2"/> not Supported for Rabbit, Beckhoff, Siemens and Schneider -->
-            <!--<Configuration-Register name="C_string" generateFesaValueItem="true" fesaFieldName="C_string_fesa">
-                <stringArray2D dim1="2" dim2="2" string-length="64" format="string"/>
-            </Configuration-Register>-->
-            <Configuration-Register name="C_date" generateFesaValueItem="true" fesaFieldName="C_date_fesa">
-                <array2D dim1="2" dim2="2" format="date"/>
-            </Configuration-Register>
-            <Configuration-Register name="C_char" generateFesaValueItem="true" fesaFieldName="C_char_fesa">
-                <array2D dim1="2" dim2="2" format="char"/>
-            </Configuration-Register>
-            <Configuration-Register name="C_byte" generateFesaValueItem="true" fesaFieldName="C_byte_fesa">
-                <array2D dim1="2" dim2="2" format="byte"/>
-            </Configuration-Register>
-            <Configuration-Register name="C_word" generateFesaValueItem="true" fesaFieldName="C_word_fesa">
-                <array2D dim1="2" dim2="2" format="word"/>
-            </Configuration-Register>
-            <Configuration-Register name="C_dword" generateFesaValueItem="true" fesaFieldName="C_dword_fesa">
-                <array2D dim1="2" dim2="2" format="dword"/>
-            </Configuration-Register>
-            <Configuration-Register name="C_int" generateFesaValueItem="true" fesaFieldName="C_int_fesa">
-                <array2D dim1="2" dim2="2" format="int"/>
-            </Configuration-Register>
-            <Configuration-Register name="C_dint" generateFesaValueItem="true" fesaFieldName="C_dint_fesa">
-                <array2D dim1="2" dim2="2" format="dint"/>
-            </Configuration-Register>
-            <Configuration-Register name="C_real" generateFesaValueItem="true" fesaFieldName="C_real_fesa">
-                <array2D dim1="2" dim2="2" format="real"/>
-            </Configuration-Register>
-            <Configuration-Register name="C_dt" generateFesaValueItem="true" fesaFieldName="C_dt_fesa">
-                <array2D dim1="2" dim2="2" format="dt"/>
-            </Configuration-Register>
-        </Configuration-Block>
-        <custom-types>
-            <enum name="TEST_ENUM">
-                <item access="RW" value="0" symbol="OK"/>
-                <item access="RW" value="1" symbol="WARNING"/>
-                <item access="RW" value="2" symbol="ERROR"/>
-                <item access="RW" value="3" symbol="UNKNOWN"/>
-            </enum>  
-        </custom-types>
-	</SILECS-Class>
-</SILECS-Design>
diff --git a/silecs-codegen/src/xml/test/AllTypesFESA.silecsdesign b/silecs-codegen/src/xml/test/AllTypesFESA.silecsdesign
new file mode 120000
index 0000000..c6db0ab
--- /dev/null
+++ b/silecs-codegen/src/xml/test/AllTypesFESA.silecsdesign
@@ -0,0 +1 @@
+../../../../test/AllTypesFESA/src/AllTypesFESA.silecsdesign
\ No newline at end of file
diff --git a/silecs-codegen/src/xml/test/fesa/test_generateFesaDesign.py b/silecs-codegen/src/xml/test/fesa/test_generateFesaDesign.py
index ffbeb5f..d25452b 100644
--- a/silecs-codegen/src/xml/test/fesa/test_generateFesaDesign.py
+++ b/silecs-codegen/src/xml/test/fesa/test_generateFesaDesign.py
@@ -14,8 +14,6 @@
 # You should have received a copy of the GNU General Public License
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
-import unittest
-
 import fesa.fesa_7_3_0.generateFesaDesign
 
 fesa_version = "7.5.0"
@@ -96,10 +94,20 @@ class TestGenerateFesaDesign(unittest.TestCase):
         fesaRoot = self.generator.fillXML(fesa_version, 'AllTypesFESA', fesaRoot, silecsRoot, logTopics={'errorlog': True})
         fesaNewDocPath = "test/generated_temp/AllTypesFESA.design"
         fesaCompareDocPath = "test/generated_correct/AllTypesFESA.design"
+        fesaCompareTestDocPath = "test/generated_correct/AllTypesFESA.design.testing"
         with open(fesaNewDocPath, 'w') as fd:
             fesaRoot.saveTo(fd, format = True)
 
+        correct = libxml2.readFile(fesaCompareDocPath, "utf-8", 0)
+        for node in correct.xpathEval("//*"):
+            if node.hasProp("id"):
+                node.unsetProp("id")
+            if node.name == "equipment-model":
+                node.setProp("xsi:noNamespaceSchemaLocation", "../design-gsi.xsd")
+
+        correct.saveFormatFile(fesaCompareTestDocPath, format=True)
+
         print('FESA design document saved successfully')
         # Compare files.
-        with open(fesaNewDocPath) as a, open(fesaCompareDocPath) as b:
+        with open(fesaNewDocPath) as a, open(fesaCompareTestDocPath) as b:
             self.assertListEqual(list(a), list(b))
diff --git a/silecs-codegen/src/xml/test/generated_correct/AllTypesFESA.design b/silecs-codegen/src/xml/test/generated_correct/AllTypesFESA.design
deleted file mode 100644
index 7648de7..0000000
--- a/silecs-codegen/src/xml/test/generated_correct/AllTypesFESA.design
+++ /dev/null
@@ -1,714 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<equipment-model xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../design-gsi.xsd">
-	<information>
-	  	<class-name>AllTypesFESA</class-name>
-		<class-major-version>0</class-major-version>
-		<class-minor-version>1</class-minor-version>
-		<class-tiny-version>0</class-tiny-version>
-		<type>Final</type>
-		<description>An empty design with GSI-specific standard properties</description>
-		<fesa-version>7.5.0</fesa-version>
-	</information>
-	<ownership>
-		<responsible name="ACO"/>
-		<creator login="schwinn"/>
-	</ownership>
-        <interface>
-        <device-interface>
-            <setting>
-                <command-property name="MyWOBlockProp" visibility="development" multiplexed="false"><value-item name="WO_enum_fesa" direction="IN"><custom-type-array data-type-name-ref="TEST_ENUM"><dim>10</dim></custom-type-array><data-field-ref field-name-ref="WO_enum_fesa"/></value-item><value-item name="WO_dt_fesa" direction="IN"><array type="double"><dim>10</dim></array><data-field-ref field-name-ref="WO_dt_fesa"/></value-item><value-item name="WO_real_fesa" direction="IN"><array type="float"><dim>10</dim></array><data-field-ref field-name-ref="WO_real_fesa"/></value-item><value-item name="WO_dint_fesa" direction="IN"><array type="int32_t"><dim>10</dim></array><data-field-ref field-name-ref="WO_dint_fesa"/></value-item><value-item name="WO_int_fesa" direction="IN"><array type="int16_t"><dim>10</dim></array><data-field-ref field-name-ref="WO_int_fesa"/></value-item><value-item name="WO_dword_fesa" direction="IN"><array type="int64_t"><dim>10</dim></array><data-field-ref field-name-ref="WO_dword_fesa"/></value-item><value-item name="WO_word_fesa" direction="IN"><array type="int32_t"><dim>10</dim></array><data-field-ref field-name-ref="WO_word_fesa"/></value-item><value-item name="WO_byte_fesa" direction="IN"><array type="int16_t"><dim>10</dim></array><data-field-ref field-name-ref="WO_byte_fesa"/></value-item><value-item name="WO_char_fesa" direction="IN"><array type="int8_t"><dim>10</dim></array><data-field-ref field-name-ref="WO_char_fesa"/></value-item><value-item name="WO_date_fesa" direction="IN"><array type="double"><dim>10</dim></array><data-field-ref field-name-ref="WO_date_fesa"/></value-item><value-item name="WO_string_fesa" direction="IN"><array2D type="char"><dim1>10</dim1><dim2>64</dim2></array2D><data-field-ref field-name-ref="WO_string_fesa"/></value-item><value-item name="WO_float32_fesa" direction="IN"><array type="float"><dim>10</dim></array><data-field-ref field-name-ref="WO_float32_fesa"/></value-item><value-item name="WO_uint32_fesa" direction="IN"><array type="int64_t"><dim>10</dim></array><data-field-ref field-name-ref="WO_uint32_fesa"/></value-item><value-item name="WO_int32_fesa" direction="IN"><array type="int32_t"><dim>10</dim></array><data-field-ref field-name-ref="WO_int32_fesa"/></value-item><value-item name="WO_uint16_fesa" direction="IN"><array type="int32_t"><dim>10</dim></array><data-field-ref field-name-ref="WO_uint16_fesa"/></value-item><value-item name="WO_int16_fesa" direction="IN"><array type="int16_t"><dim>10</dim></array><data-field-ref field-name-ref="WO_int16_fesa"/></value-item><value-item name="WO_uint8_fesa" direction="IN"><array type="int16_t"><dim>10</dim></array><data-field-ref field-name-ref="WO_uint8_fesa"/></value-item><value-item name="WO_int8" direction="IN"><array type="int8_t"><dim>10</dim></array><data-field-ref field-name-ref="WO_int8"/></value-item><set-action><server-action-ref server-action-name-ref="SetMyWOBlockProp"/></set-action></command-property><GSI-Init-Property multiplexed="false" name="Init" visibility="operational">
-                	<description>Control property, used to initialize the device with default values from the device instantiation file</description>
-                    <set-action partial-setting="true" transaction="true">
-                        <server-action-ref server-action-name-ref="InitSetAction"/>
-                    </set-action>
-                </GSI-Init-Property>
-                <GSI-Reset-Property multiplexed="false" name="Reset" visibility="operational">
-                	<description>Control property, used to reset the device while keeping the persistent data.</description>
-                    <set-action partial-setting="true" transaction="true">
-                        <server-action-ref server-action-name-ref="ResetSetAction"/>
-                    </set-action>
-                </GSI-Reset-Property>
-                <GSI-Setting-Property multiplexed="false" name="Setting" visibility="operational">
-                	<description>Used for setting hardware parameters for controlling the device.</description>
-                    <update-flag-item direction="OUT" name="updateFlags" optional="true">
-                       <builtin-type-scalar data-type-name-ref="NOTIFICATION_UPDATE"/>
-                    </update-flag-item>
-                    <cycle-name-item direction="OUT" name="cycleName" optional="true">
-                        <array type="char">
-                            <dim>32</dim>
-                        </array>
-                    </cycle-name-item>
-                    <set-action partial-setting="true" transaction="true">
-                        <server-action-ref server-action-name-ref="SettingSetAction"/>
-                    </set-action>
-                    <get-action>
-                        <server-action-ref server-action-name-ref="SettingGetAction"/>
-                    </get-action>
-                </GSI-Setting-Property>
-                <GSI-Setting-Property name="MyRWBlockProp" visibility="development" multiplexed="false"><value-item name="RW_enum_fesa" direction="INOUT"><custom-type-scalar data-type-name-ref="TEST_ENUM"/><data-field-ref field-name-ref="RW_enum_fesa"/></value-item><value-item name="RW2_dt_fesa" direction="INOUT"><array2D type="double"><dim1>2</dim1><dim2>2</dim2></array2D><data-field-ref field-name-ref="RW2_dt_fesa"/></value-item><value-item name="RW2_real_fesa" direction="INOUT"><array2D type="float"><dim1>2</dim1><dim2>2</dim2></array2D><data-field-ref field-name-ref="RW2_real_fesa"/></value-item><value-item name="RW2_dint_fesa" direction="INOUT"><array2D type="int32_t"><dim1>2</dim1><dim2>2</dim2></array2D><data-field-ref field-name-ref="RW2_dint_fesa"/></value-item><value-item name="RW2_int_fesa" direction="INOUT"><array2D type="int16_t"><dim1>2</dim1><dim2>2</dim2></array2D><data-field-ref field-name-ref="RW2_int_fesa"/></value-item><value-item name="RW2_dword_fesa" direction="INOUT"><array2D type="int64_t"><dim1>2</dim1><dim2>2</dim2></array2D><data-field-ref field-name-ref="RW2_dword_fesa"/></value-item><value-item name="RW2_word_fesa" direction="INOUT"><array2D type="int32_t"><dim1>2</dim1><dim2>2</dim2></array2D><data-field-ref field-name-ref="RW2_word_fesa"/></value-item><value-item name="RW2_byte_fesa" direction="INOUT"><array2D type="int16_t"><dim1>2</dim1><dim2>2</dim2></array2D><data-field-ref field-name-ref="RW2_byte_fesa"/></value-item><value-item name="RW2_char_fesa" direction="INOUT"><array2D type="int8_t"><dim1>2</dim1><dim2>2</dim2></array2D><data-field-ref field-name-ref="RW2_char_fesa"/></value-item><value-item name="RW2_date_fesa" direction="INOUT"><array2D type="double"><dim1>2</dim1><dim2>2</dim2></array2D><data-field-ref field-name-ref="RW2_date_fesa"/></value-item><value-item name="RW2_float32_fesa" direction="INOUT"><array2D type="float"><dim1>2</dim1><dim2>2</dim2></array2D><data-field-ref field-name-ref="RW2_float32_fesa"/></value-item><value-item name="RW2_uint32_fesa" direction="INOUT"><array2D type="int64_t"><dim1>2</dim1><dim2>2</dim2></array2D><data-field-ref field-name-ref="RW2_uint32_fesa"/></value-item><value-item name="RW2_int32_fesa" direction="INOUT"><array2D type="int32_t"><dim1>2</dim1><dim2>2</dim2></array2D><data-field-ref field-name-ref="RW2_int32_fesa"/></value-item><value-item name="RW2_uint16_fesa" direction="INOUT"><array2D type="int32_t"><dim1>2</dim1><dim2>2</dim2></array2D><data-field-ref field-name-ref="RW2_uint16_fesa"/></value-item><value-item name="RW2_int16_fesa" direction="INOUT"><array2D type="int16_t"><dim1>2</dim1><dim2>2</dim2></array2D><data-field-ref field-name-ref="RW2_int16_fesa"/></value-item><value-item name="RW2_uint8_fesa" direction="INOUT"><array2D type="int16_t"><dim1>2</dim1><dim2>2</dim2></array2D><data-field-ref field-name-ref="RW2_uint8_fesa"/></value-item><value-item name="RW2_int8" direction="INOUT"><array2D type="int8_t"><dim1>2</dim1><dim2>2</dim2></array2D><data-field-ref field-name-ref="RW2_int8"/></value-item><value-item name="RW_dt_fesa" direction="INOUT"><scalar type="double"/><data-field-ref field-name-ref="RW_dt_fesa"/></value-item><value-item name="RW_real_fesa" direction="INOUT"><scalar type="float"/><data-field-ref field-name-ref="RW_real_fesa"/></value-item><value-item name="RW_dint_fesa" direction="INOUT"><scalar type="int32_t"/><data-field-ref field-name-ref="RW_dint_fesa"/></value-item><value-item name="RW_int_fesa" direction="INOUT"><scalar type="int16_t"/><data-field-ref field-name-ref="RW_int_fesa"/></value-item><value-item name="RW_dword_fesa" direction="INOUT"><scalar type="int64_t"/><data-field-ref field-name-ref="RW_dword_fesa"/></value-item><value-item name="RW_word_fesa" direction="INOUT"><scalar type="int32_t"/><data-field-ref field-name-ref="RW_word_fesa"/></value-item><value-item name="RW_byte_fesa" direction="INOUT"><scalar type="int16_t"/><data-field-ref field-name-ref="RW_byte_fesa"/></value-item><value-item name="RW_char_fesa" direction="INOUT"><scalar type="int8_t"/><data-field-ref field-name-ref="RW_char_fesa"/></value-item><value-item name="RW_date_fesa" direction="INOUT"><scalar type="double"/><data-field-ref field-name-ref="RW_date_fesa"/></value-item><value-item name="RW_string_fesa" direction="INOUT"><array type="char"><dim>64</dim></array><data-field-ref field-name-ref="RW_string_fesa"/></value-item><value-item name="RW_float32_fesa" direction="INOUT"><scalar type="float"/><data-field-ref field-name-ref="RW_float32_fesa"/></value-item><value-item name="RW_uint32_fesa" direction="INOUT"><scalar type="int64_t"/><data-field-ref field-name-ref="RW_uint32_fesa"/></value-item><value-item name="RW_int32_fesa" direction="INOUT"><scalar type="int32_t"/><data-field-ref field-name-ref="RW_int32_fesa"/></value-item><value-item name="RW_uint16_fesa" direction="INOUT"><scalar type="int32_t"/><data-field-ref field-name-ref="RW_uint16_fesa"/></value-item><value-item name="RW_int16_fesa" direction="INOUT"><scalar type="int16_t"/><data-field-ref field-name-ref="RW_int16_fesa"/></value-item><value-item name="RW_uint8_fesa" direction="INOUT"><scalar type="int16_t"/><data-field-ref field-name-ref="RW_uint8_fesa"/></value-item><value-item name="RW_int8" direction="INOUT"><scalar type="int8_t"/><data-field-ref field-name-ref="RW_int8"/></value-item><update-flag-item direction="OUT" name="updateFlags" optional="true"><builtin-type-scalar data-type-name-ref="NOTIFICATION_UPDATE"/></update-flag-item><cycle-name-item direction="OUT" name="cycleName" optional="true"><array type="char"><dim>32</dim></array></cycle-name-item><set-action><server-action-ref server-action-name-ref="SetMyRWBlockProp"/></set-action><get-action><server-action-ref server-action-name-ref="GetMyRWBlockProp"/></get-action></GSI-Setting-Property><GSI-Power-Property multiplexed="false" name="Power" visibility="operational">
-                    <description>Used to turn the power of a device on or off.</description>
-                    <update-flag-item direction="OUT" name="updateFlags" optional="true">
-						<builtin-type-scalar data-type-name-ref="NOTIFICATION_UPDATE"/>
-                    </update-flag-item>
-                    <cycle-name-item direction="OUT" name="cycleName" optional="true">
-                        <array type="char">
-                            <dim>32</dim>
-                        </array>
-                    </cycle-name-item>
-                    <set-action partial-setting="true" transaction="true">
-                        <server-action-ref server-action-name-ref="PowerSetAction"/>
-                    </set-action>
-                    <get-action>
-                        <server-action-ref server-action-name-ref="PowerGetAction"/>
-                    </get-action>
-                    <power-item direction="INOUT" name="power">
-                        <custom-type-scalar data-type-name-ref="DEVICE_POWER"/>
-                        
-                        <data-field-ref field-name-ref="power"/>
-                    </power-item>
-                </GSI-Power-Property>
-            </setting>
-            <acquisition>
-                <GSI-Status-Property cycle-bound="false" name="Status" on-change="true" subscribable="true" visibility="operational">
-                    <description>Used to display the (cycle independent) overall status of the device.</description>
-					<description>Detailed status information may be additionally added to this property.</description>
-                    <acq-stamp-item direction="OUT" name="acqStamp">
-                        <scalar type="int64_t"/>
-                    </acq-stamp-item>
-                    <update-flag-item direction="OUT" name="updateFlags" optional="true">
-                        <builtin-type-scalar data-type-name-ref="NOTIFICATION_UPDATE"/>
-                    </update-flag-item>
-                    <cycle-name-item direction="OUT" name="cycleName" optional="true">
-                        <array type="char">
-                            <dim>32</dim>
-                        </array>
-                    </cycle-name-item>
-                    <cycle-stamp-item direction="OUT" name="cycleStamp" optional="true">
-                        <scalar type="int64_t"/>
-                    </cycle-stamp-item>
-                    <get-action>
-                        <server-action-ref server-action-name-ref="StatusGetAction"/>
-                    </get-action>
-                    <status-item direction="OUT" name="status">
-                        <custom-type-scalar data-type-name-ref="DEVICE_STATUS"/>
-                        
-                        <data-field-ref field-name-ref="status"/>
-                    </status-item>
-                    <detailed-status-item direction="OUT" name="detailedStatus">
-                    	<description>Detailed status should consist of an array of boolean values considered as detailed status information as well as a
-corresponding string array containing keys to illustrate the meaning of the detailed status information.</description>
-                        <array type="bool">
-                            <custom-constant-dim constant-name-ref="DETAILED_STATUS_SIZE"/>
-                        </array>
-                        <data-field-ref field-name-ref="detailedStatus"/>
-                    </detailed-status-item>
-                    <detailed-status-labels-item direction="OUT" name="detailedStatus_labels">
-                    	<description>Labels of detailed status bits.</description>
-                        <array2D type="char">
-                            <custom-constant-dim1 constant-name-ref="DETAILED_STATUS_SIZE"/>
-                            <custom-constant-dim2 constant-name-ref="MAX_DETAILED_STATUS_LABEL_LENGTH"/>
-                        </array2D>
-                        <data-field-ref field-name-ref="detailedStatus_labels"/>
-                    </detailed-status-labels-item>
-                    <detailed-status-severity-item direction="OUT" name="detailedStatus_severity">
-                    	<description>Severities of the detailed status bits</description>
-                        <custom-type-array data-type-name-ref="DETAILED_STATUS_SEVERITY">
-                            <custom-constant-dim constant-name-ref="DETAILED_STATUS_SIZE"/>
-                        </custom-type-array>
-                        <data-field-ref field-name-ref="detailedStatus_severity"/>
-                    </detailed-status-severity-item>
-                    <powerState-item direction="OUT" name="powerState">
-                    	<description>Power state of the device (ON, OFF)</description>
-                        <custom-type-scalar data-type-name-ref="DEVICE_POWER_STATE"/>
-                        
-                        <data-field-ref field-name-ref="powerState"/>
-                    </powerState-item>
-                    <control-item direction="OUT" name="control">
-                        <custom-type-scalar data-type-name-ref="DEVICE_CONTROL"/>
-                        <data-field-ref field-name-ref="control"/>
-                    </control-item>
-                    <interlock-item direction="OUT" name="interlock">
-                    	<description>Interlock state of the device</description>
-                        <scalar type="bool"/>
-                        <data-field-ref field-name-ref="interlock"/>
-                    </interlock-item>
-                    <opReady-item direction="OUT" name="opReady">
-                    	<description>Contains the devices state regarding operation</description>
-                        <scalar type="bool"/>
-                        <data-field-ref field-name-ref="opReady"/>
-                    </opReady-item>
-                    <modulesReady-item direction="OUT" name="modulesReady">
-                    	<description>Contains the devices module state</description>
-                        <scalar type="bool"/>
-                        <data-field-ref field-name-ref="modulesReady"/>
-                    </modulesReady-item>
-                    <error_collection-item direction="OUT">
-                        <error_codes direction="OUT" name="error_codes">
-                            <array type="int32_t">
-                                <custom-constant-dim constant-name-ref="MAX_NUMBER_OF_ERROR_MESSAGES"/>
-                            </array>
-                        </error_codes>
-                        <error_messages direction="OUT" name="error_messages">
-                            <array2D type="char">
-                                <custom-constant-dim1 constant-name-ref="MAX_NUMBER_OF_ERROR_MESSAGES"/>
-                                <custom-constant-dim2 constant-name-ref="MAX_ERROR_MESSAGE_LENGTH"/>
-                            </array2D>
-                        </error_messages>
-                        <error_timestamps direction="OUT" name="error_timestamps">
-                            <array type="int64_t">
-                                <custom-constant-dim constant-name-ref="MAX_NUMBER_OF_ERROR_MESSAGES"/>
-                            </array>
-                        </error_timestamps>
-                        <error_cycle_names direction="OUT" name="error_cycle_names">
-                            <array2D type="char">
-                                <custom-constant-dim1 constant-name-ref="MAX_NUMBER_OF_ERROR_MESSAGES"/>
-                                <custom-constant-dim2 constant-name-ref="MAX_ERROR_MESSAGE_LENGTH"/>
-                            </array2D>
-                        </error_cycle_names>
-                        <error_collection-field-ref field-name-ref="error_collection"/>
-                    </error_collection-item>
-                </GSI-Status-Property>
-                <GSI-ModuleStatus-Property visibility="operational" subscribable="true" name="ModuleStatus" cycle-bound="false">
-                	<description>Gives detailed information on the state of 3rd party hardware and software components which are required to operate the device.</description>
-                	<acq-stamp-item name="acqStamp" direction="OUT">
-                		<scalar type="int64_t"/>
-                	</acq-stamp-item>
-                	<update-flag-item optional="true" name="updateFlags" direction="OUT">
-                		<builtin-type-scalar data-type-name-ref="NOTIFICATION_UPDATE"/>
-                	</update-flag-item>
-                	<cycle-name-item optional="true" name="cycleName" direction="OUT">
-                		<array type="char">
-                			<dim>32</dim>
-                		</array>
-                	</cycle-name-item>
-                	<cycle-stamp-item optional="true" name="cycleStamp" direction="OUT">
-                		<scalar type="int64_t"/>
-                	</cycle-stamp-item>
-                	<get-action>
-                		<server-action-ref server-action-name-ref="ModuleStatusGetAction"/>
-                	</get-action>
-                	<module-status-item name="moduleStatus" direction="OUT">
-                		<custom-type-array data-type-name-ref="MODULE_STATUS">
-                			<custom-constant-dim constant-name-ref="MODULE_STATUS_SIZE"/>
-                		</custom-type-array>
-                		<data-field-ref field-name-ref="moduleStatus"/>
-                	</module-status-item>
-                	<module-status-labels-item name="moduleStatus_labels" direction="OUT">
-                		<array2D type="char">
-                			<custom-constant-dim1 constant-name-ref="MODULE_STATUS_SIZE"/>
-                			<custom-constant-dim2 constant-name-ref="MAX_MODULE_STATUS_LABEL_LENGTH"/>
-                		</array2D>
-                		<data-field-ref field-name-ref="moduleStatus_labels"/>
-                	</module-status-labels-item>
-                </GSI-ModuleStatus-Property>
-                <GSI-Acquisition-Property cycle-bound="true" name="Acquisition" on-change="true" subscribable="true" visibility="operational">
-                    <description>Used for returning acquisition data which is retrieved from the hardware.</description>
-                    <acq-stamp-item direction="OUT" name="acqStamp">
-                        <scalar type="int64_t"/>
-                    </acq-stamp-item>
-                    <update-flag-item direction="OUT" name="updateFlags" optional="true">
-                        <builtin-type-scalar data-type-name-ref="NOTIFICATION_UPDATE"/>
-                    </update-flag-item>
-                    <cycle-name-item direction="OUT" name="cycleName" optional="true">
-                        <array type="char">
-                            <dim>32</dim>
-                        </array>
-                    </cycle-name-item>
-                    <cycle-stamp-item direction="OUT" name="cycleStamp" optional="true">
-                        <scalar type="int64_t"/>
-                    </cycle-stamp-item>
-                    <get-action>
-                        <server-action-ref server-action-name-ref="AcquisitionGetAction"/>
-                    </get-action>
-                    <acquisition-context-item direction="OUT">
-                        <processIndex direction="OUT" name="processIndex">
-                            <scalar type="int32_t"/>
-                        </processIndex>
-                        <sequenceIndex direction="OUT" name="sequenceIndex">
-                            <scalar type="int32_t"/>
-                        </sequenceIndex>
-                        <chainIndex direction="OUT" name="chainIndex">
-                            <scalar type="int32_t"/>
-                        </chainIndex>
-                        <eventNumber direction="OUT" name="eventNumber">
-                            <scalar type="int32_t"/>
-                        </eventNumber>
-                        <timingGroupID direction="OUT" name="timingGroupID">
-                            <scalar type="int32_t"/>
-                        </timingGroupID>
-                        <acquisitionStamp direction="OUT" name="acquisitionStamp">
-                            <scalar type="int64_t"/>
-                        </acquisitionStamp>
-                        <eventStamp direction="OUT" name="eventStamp">
-                            <scalar type="int64_t"/>
-                        </eventStamp>
-                        <processStartStamp direction="OUT" name="processStartStamp">
-                            <scalar type="int64_t"/>
-                        </processStartStamp>
-                        <sequenceStartStamp direction="OUT" name="sequenceStartStamp">
-                            <scalar type="int64_t"/>
-                        </sequenceStartStamp>
-                        <chainStartStamp direction="OUT" name="chainStartStamp">
-                            <scalar type="int64_t"/>
-                        </chainStartStamp>
-                        <acquisition-context-field-ref field-name-ref="acquisitionContext"/>
-                    </acquisition-context-item>
-                </GSI-Acquisition-Property>
-                <GSI-Acquisition-Property name="MyROBlockProp" visibility="development" subscribable="true" cycle-bound="false" on-change="true"><value-item name="RO_enum_fesa" direction="OUT"><custom-type-scalar data-type-name-ref="TEST_ENUM"/><data-field-ref field-name-ref="RO_enum_fesa"/></value-item><value-item name="RO_dt_fesa" direction="OUT"><scalar type="double"/><data-field-ref field-name-ref="RO_dt_fesa"/></value-item><value-item name="RO_real_fesa" direction="OUT"><scalar type="float"/><data-field-ref field-name-ref="RO_real_fesa"/></value-item><value-item name="RO_dint_fesa" direction="OUT"><scalar type="int32_t"/><data-field-ref field-name-ref="RO_dint_fesa"/></value-item><value-item name="RO_int_fesa" direction="OUT"><scalar type="int16_t"/><data-field-ref field-name-ref="RO_int_fesa"/></value-item><value-item name="RO_dword_fesa" direction="OUT"><scalar type="int64_t"/><data-field-ref field-name-ref="RO_dword_fesa"/></value-item><value-item name="RO_word_fesa" direction="OUT"><scalar type="int32_t"/><data-field-ref field-name-ref="RO_word_fesa"/></value-item><value-item name="RO_byte_fesa" direction="OUT"><scalar type="int16_t"/><data-field-ref field-name-ref="RO_byte_fesa"/></value-item><value-item name="RO_char_fesa" direction="OUT"><scalar type="int8_t"/><data-field-ref field-name-ref="RO_char_fesa"/></value-item><value-item name="RO_date_fesa" direction="OUT"><scalar type="double"/><data-field-ref field-name-ref="RO_date_fesa"/></value-item><value-item name="RO_string_fesa" direction="OUT"><array type="char"><dim>64</dim></array><data-field-ref field-name-ref="RO_string_fesa"/></value-item><value-item name="RO_float32_fesa" direction="OUT"><scalar type="float"/><data-field-ref field-name-ref="RO_float32_fesa"/></value-item><value-item name="RO_uint32_fesa" direction="OUT"><scalar type="int64_t"/><data-field-ref field-name-ref="RO_uint32_fesa"/></value-item><value-item name="RO_int32_fesa" direction="OUT"><scalar type="int32_t"/><data-field-ref field-name-ref="RO_int32_fesa"/></value-item><value-item name="RO_uint16_fesa" direction="OUT"><scalar type="int32_t"/><data-field-ref field-name-ref="RO_uint16_fesa"/></value-item><value-item name="RO_int16_fesa" direction="OUT"><scalar type="int16_t"/><data-field-ref field-name-ref="RO_int16_fesa"/></value-item><value-item name="RO_uint8_fesa" direction="OUT"><scalar type="int16_t"/><data-field-ref field-name-ref="RO_uint8_fesa"/></value-item><value-item name="RO_int8" direction="OUT"><scalar type="int8_t"/><data-field-ref field-name-ref="RO_int8"/></value-item><acq-stamp-item direction="OUT" name="acqStamp"><scalar type="int64_t"/></acq-stamp-item><update-flag-item direction="OUT" name="updateFlags" optional="true"><builtin-type-scalar data-type-name-ref="NOTIFICATION_UPDATE"/></update-flag-item><cycle-name-item direction="OUT" name="cycleName" optional="true"><array type="char"><dim>32</dim></array></cycle-name-item><cycle-stamp-item direction="OUT" name="cycleStamp" optional="true"><scalar type="int64_t"/></cycle-stamp-item><get-action><server-action-ref server-action-name-ref="GetMyROBlockProp"/></get-action><acquisition-context-item direction="OUT"><processIndex direction="OUT" name="processIndex"><scalar type="int32_t"/></processIndex><sequenceIndex direction="OUT" name="sequenceIndex"><scalar type="int32_t"/></sequenceIndex><chainIndex direction="OUT" name="chainIndex"><scalar type="int32_t"/></chainIndex><eventNumber direction="OUT" name="eventNumber"><scalar type="int32_t"/></eventNumber><timingGroupID direction="OUT" name="timingGroupID"><scalar type="int32_t"/></timingGroupID><acquisitionStamp direction="OUT" name="acquisitionStamp"><scalar type="int64_t"/></acquisitionStamp><eventStamp direction="OUT" name="eventStamp"><scalar type="int64_t"/></eventStamp><processStartStamp direction="OUT" name="processStartStamp"><scalar type="int64_t"/></processStartStamp><sequenceStartStamp direction="OUT" name="sequenceStartStamp"><scalar type="int64_t"/></sequenceStartStamp><chainStartStamp direction="OUT" name="chainStartStamp"><scalar type="int64_t"/></chainStartStamp><acquisition-context-field-ref field-name-ref="acquisitionContext"/></acquisition-context-item></GSI-Acquisition-Property><GSI-Acquisition-Property name="MyCBlockProp" visibility="development" subscribable="true" cycle-bound="false" on-change="true"><value-item name="C_dt_fesa" direction="OUT"><array2D type="double"><dim1>2</dim1><dim2>2</dim2></array2D><data-field-ref field-name-ref="C_dt_fesa"/></value-item><value-item name="C_real_fesa" direction="OUT"><array2D type="float"><dim1>2</dim1><dim2>2</dim2></array2D><data-field-ref field-name-ref="C_real_fesa"/></value-item><value-item name="C_dint_fesa" direction="OUT"><array2D type="int32_t"><dim1>2</dim1><dim2>2</dim2></array2D><data-field-ref field-name-ref="C_dint_fesa"/></value-item><value-item name="C_int_fesa" direction="OUT"><array2D type="int16_t"><dim1>2</dim1><dim2>2</dim2></array2D><data-field-ref field-name-ref="C_int_fesa"/></value-item><value-item name="C_dword_fesa" direction="OUT"><array2D type="int64_t"><dim1>2</dim1><dim2>2</dim2></array2D><data-field-ref field-name-ref="C_dword_fesa"/></value-item><value-item name="C_word_fesa" direction="OUT"><array2D type="int32_t"><dim1>2</dim1><dim2>2</dim2></array2D><data-field-ref field-name-ref="C_word_fesa"/></value-item><value-item name="C_byte_fesa" direction="OUT"><array2D type="int16_t"><dim1>2</dim1><dim2>2</dim2></array2D><data-field-ref field-name-ref="C_byte_fesa"/></value-item><value-item name="C_char_fesa" direction="OUT"><array2D type="int8_t"><dim1>2</dim1><dim2>2</dim2></array2D><data-field-ref field-name-ref="C_char_fesa"/></value-item><value-item name="C_date_fesa" direction="OUT"><array2D type="double"><dim1>2</dim1><dim2>2</dim2></array2D><data-field-ref field-name-ref="C_date_fesa"/></value-item><value-item name="C_float32_fesa" direction="OUT"><array2D type="float"><dim1>2</dim1><dim2>2</dim2></array2D><data-field-ref field-name-ref="C_float32_fesa"/></value-item><value-item name="C_uint32_fesa" direction="OUT"><array2D type="int64_t"><dim1>2</dim1><dim2>2</dim2></array2D><data-field-ref field-name-ref="C_uint32_fesa"/></value-item><value-item name="C_int32_fesa" direction="OUT"><array2D type="int32_t"><dim1>2</dim1><dim2>2</dim2></array2D><data-field-ref field-name-ref="C_int32_fesa"/></value-item><value-item name="C_uint16_fesa" direction="OUT"><array2D type="int32_t"><dim1>2</dim1><dim2>2</dim2></array2D><data-field-ref field-name-ref="C_uint16_fesa"/></value-item><value-item name="C_int16_fesa" direction="OUT"><array2D type="int16_t"><dim1>2</dim1><dim2>2</dim2></array2D><data-field-ref field-name-ref="C_int16_fesa"/></value-item><value-item name="C_uint8_fesa" direction="OUT"><array2D type="int16_t"><dim1>2</dim1><dim2>2</dim2></array2D><data-field-ref field-name-ref="C_uint8_fesa"/></value-item><value-item name="C_int8" direction="OUT"><array2D type="int8_t"><dim1>2</dim1><dim2>2</dim2></array2D><data-field-ref field-name-ref="C_int8"/></value-item><acq-stamp-item direction="OUT" name="acqStamp"><scalar type="int64_t"/></acq-stamp-item><update-flag-item direction="OUT" name="updateFlags" optional="true"><builtin-type-scalar data-type-name-ref="NOTIFICATION_UPDATE"/></update-flag-item><cycle-name-item direction="OUT" name="cycleName" optional="true"><array type="char"><dim>32</dim></array></cycle-name-item><cycle-stamp-item direction="OUT" name="cycleStamp" optional="true"><scalar type="int64_t"/></cycle-stamp-item><get-action><server-action-ref server-action-name-ref="GetMyCBlockProp"/></get-action><acquisition-context-item direction="OUT"><processIndex direction="OUT" name="processIndex"><scalar type="int32_t"/></processIndex><sequenceIndex direction="OUT" name="sequenceIndex"><scalar type="int32_t"/></sequenceIndex><chainIndex direction="OUT" name="chainIndex"><scalar type="int32_t"/></chainIndex><eventNumber direction="OUT" name="eventNumber"><scalar type="int32_t"/></eventNumber><timingGroupID direction="OUT" name="timingGroupID"><scalar type="int32_t"/></timingGroupID><acquisitionStamp direction="OUT" name="acquisitionStamp"><scalar type="int64_t"/></acquisitionStamp><eventStamp direction="OUT" name="eventStamp"><scalar type="int64_t"/></eventStamp><processStartStamp direction="OUT" name="processStartStamp"><scalar type="int64_t"/></processStartStamp><sequenceStartStamp direction="OUT" name="sequenceStartStamp"><scalar type="int64_t"/></sequenceStartStamp><chainStartStamp direction="OUT" name="chainStartStamp"><scalar type="int64_t"/></chainStartStamp><acquisition-context-field-ref field-name-ref="acquisitionContext"/></acquisition-context-item></GSI-Acquisition-Property><GSI-Version-Property cycle-bound="false" name="Version" on-change="false" subscribable="false" visibility="operational">
-                    <description>Returns the current software and hardware versions of a piece of equipment.</description>
-                    <acq-stamp-item direction="OUT" name="acqStamp">
-                        <scalar type="int64_t"/>
-                    </acq-stamp-item>
-                    <update-flag-item direction="OUT" name="updateFlags" optional="true">
-                        <builtin-type-scalar data-type-name-ref="NOTIFICATION_UPDATE"/>
-                    </update-flag-item>
-                    <cycle-name-item direction="OUT" name="cycleName" optional="true">
-                        <array type="char">
-                            <dim>32</dim>
-                        </array>
-                    </cycle-name-item>
-                    <cycle-stamp-item direction="OUT" name="cycleStamp" optional="true">
-                        <scalar type="int64_t"/>
-                    </cycle-stamp-item>
-                    <get-action>
-                        <server-action-ref server-action-name-ref="VersionGetAction"/>
-                    </get-action>
-                    <version-item direction="OUT" name="classVersion">
-                        <array type="char">
-                            <custom-constant-dim constant-name-ref="MAX_VERSION_NAME_LENGTH"/>
-                        </array>
-                    </version-item>
-                    <version-item direction="OUT" name="deployUnitVersion">
-                        <array type="char">
-                            <custom-constant-dim constant-name-ref="MAX_VERSION_NAME_LENGTH"/>
-                        </array>
-                    </version-item>
-                    <version-item direction="OUT" name="fesaVersion">
-                        <array type="char">
-                            <custom-constant-dim constant-name-ref="MAX_VERSION_NAME_LENGTH"/>
-                        </array>
-                    </version-item>
-                </GSI-Version-Property>
-         </acquisition>
-      </device-interface>
-        <global-interface>
-            <setting>
-                <diagnostic-property multiplexed="false" name="DiagnosticSetting" visibility="expert">
-                    <description>Generic property which allows to diagnose any FESA classes</description>
-                        <mode-item direction="INOUT" name="enableDiagMode">
-                            <scalar type="bool"/>
-                        </mode-item>
-                        <host-item direction="INOUT" name="hostName">
-                        	<description>Host of the FESA class</description>
-                            <array type="char">
-                                <dim>32</dim>
-                            </array>
-                        </host-item>
-                        <port-item direction="INOUT" name="portNumber">
-                        	<description>Port used by the FESA class</description>
-                            <scalar type="int32_t"/>
-                        </port-item>
-                        <config-item direction="IN" name="requestConfig">
-                            <scalar type="bool"/>
-                        </config-item>
-                        <state-item direction="IN" name="requestState">
-                            <scalar type="bool"/>
-                        </state-item>
-                        <fwk-topic-item direction="INOUT" name="fwkTopic">
-                            <builtin-type-scalar data-type-name-ref="DIAG_FWK_TOPIC"/>
-                        </fwk-topic-item>
-                        <custom-topic-item direction="INOUT" name="customTopic">
-                            <custom-type-scalar data-type-name-ref="DIAG_TOPIC"/>
-                        </custom-topic-item>
-                        <device-trace-item direction="INOUT" name="traceDevices">
-                            <array type="char">
-                                <dim>320</dim>
-                            </array>
-                        </device-trace-item>
-                        <bypass-action-item direction="INOUT" name="bypassActions">
-                            <array type="char">
-                                <dim>320</dim>
-                            </array>
-                        </bypass-action-item>
-                </diagnostic-property>
-            </setting>
-            <acquisition>
-                <GSI-DeviceDescription-Property cycle-bound="false" name="DeviceDescription" on-change="false" subscribable="false" visibility="operational">
-                    <timing-info-item direction="OUT" name="deviceNameTimingReceiver">
-                        <array type="char">
-                            <variable-dim/>
-                        </array>
-                        <data-field-ref field-name-ref="deviceNameTimingReceiver"/>
-                    </timing-info-item>
-                    <property-info-item direction="OUT" name="propertyNames">
-                        <array2D type="char">
-                            <variable-dim1/>
-                            <variable-dim2/>
-                        </array2D>
-                    </property-info-item>
-                    <device-info-item direction="OUT" name="deviceNames">
-                        <array2D type="char">
-                            <variable-dim1/>
-                            <variable-dim2/>
-                        </array2D>
-                    </device-info-item>
-                    <global-device-info-item direction="OUT" name="globalDeviceName">
-                        <array type="char">
-                            <variable-dim/>
-                        </array>
-                    </global-device-info-item>
-                    <host-info-item direction="OUT" name="host">
-                        <array type="char">
-                            <variable-dim/>
-                        </array>
-                    </host-info-item>
-                </GSI-DeviceDescription-Property>
-            </acquisition>
-        </global-interface>
-    </interface>
-    <builtin-types>
-		<notification-update-enum name="NOTIFICATION_UPDATE">
-            <IMMEDIATE access="RO" symbol="IMMEDIATE" value="1"/>
-            <SET access="RO" symbol="SET" value="2"/>
-        </notification-update-enum>
-        <diag-fwk-topic name="DIAG_FWK_TOPIC">
-            <b0 name="SRV_GET_ACTION_PROFIING"/>
-            <b1 name="SRV_SET_ACTION_PROFILING"/>
-            <b2 name="RT_ACTION_PROFILING"/>
-            <b3 name="EVENT_PROFILING"/>
-            <b4 name="NOTIFICATION_PROFILING"/>
-            <b5 name="SRV_GET_ACTION_TRACKING"/>
-            <b6 name="SRV_SET_ACTION_TRACKING"/>
-            <b7 name="RT_ACTION_TRACKING"/>
-            <b8 name="EVENT_TRACKING"/>
-            <b9 name="NOTIFICATION_TRACKING"/>
-            <b10 name="PERSISTENCY_TRACKING"/>
-            <b11 name="TRANSACTION_TRACKING"/>
-            <b12 name="SUBSCRIPTION_TRACKING"/>
-            <b13 name="SIGNAL_HANDLER_TRACKING"/>
-            <b14 name="LOCAL_CONNECTION_TRACKING"/>
-        </diag-fwk-topic>
-        <fault-severity name="FaultSeverity">
-        	<description>Enumeration listing the available fault severities used by the fault fields</description>
-        	<INFO access="RO" meaning="NONE" value="0" symbol="INFO"/>
-        	<WARNING access="RO" meaning="WARNING" value="1" symbol="WARNING"/>
-        	<ERROR access="RO" meaning="ERROR" value="2" symbol="ERROR"/>
-        	<CRITICAL access="RO" meaning="ERROR" value="3" symbol="CRITICAL"/>
-        </fault-severity>
-
-    </builtin-types>
-    <custom-types>
-        <diag-custom-topic name="DIAG_TOPIC">
-        </diag-custom-topic>
-        <enum name="DEVICE_STATUS">
-        <!--Possible (mutually exclusive) values to describe the device status-->
-            
-            <item access="RW" meaning="NONE" symbol="UNKNOWN" value="0"/>
-            <!--The device status is unknown-->
-            
-            <item access="RW" meaning="NONE" symbol="OK" value="1"/>
-            <!--The device is in fully operational state-->
-            
-            <item access="RW" meaning="NONE" symbol="WARNING" value="2"/>
-            <!--The device is not fully operational; A device in WARNING state can still be used operationally, -->
-            <!--but clients must be informed of a problem that might become worse. Details are explained in the errorMsg field.-->
-            
-            <item access="RW" meaning="NONE" symbol="ERROR" value="3"/>
-            <!--The device is in a fault state. Details are explained in the errorMsg field-->
-        </enum>
-        <enum name="DEVICE_POWER_STATE">
-        <!--Possible (mutually exclusive) values to describe the power-state of the device.-->
-            
-            <item access="RW" meaning="NONE" symbol="UNKNOWN" value="0"/>
-            <!--The device mode is unknown-->
-            
-            <item access="RW" meaning="ON" symbol="ON" value="1"/>
-            <!--The device is in fully operational state-->
-            
-            <item access="RW" meaning="NONE" symbol="OFF" value="2"/>
-            <!--The device is turned off-->
-            
-            <item access="RW" meaning="NONE" symbol="STANDBY" value="3"/>
-            <!--The device is in a stand-by mode. This mode is a sort of “parking mode” in which the device can -->
-            <!--stay for hours or even days. It is defined by the following characteristics:-->
-            <!--It is safe, it does not wear out, it consumes little energy.-->
-            <!--Furthermore, it takes a short time to go from STANDBY to ON mode-->
-            
-            <item access="RW" meaning="NONE" symbol="POWER_DOWN" value="4"/>
-            <!--The device is shutting down. Note that some properties may not be accessible during this time.-->
-            <!--After shutdown the device will be in the mode OFF-->
-            
-            <item access="RW" meaning="NONE" symbol="POWER_UP" value="5"/>
-            <!--The device is starting up. Note that some properties may not be accessible during this time.-->
-            <!--After (re-)starting the device probably will be in the mode ON-->
-            
-        </enum>
-        <enum name="DEVICE_POWER">
-        <!--An enumeration Type used to control the operational mode of the device.-->
-        <!--Its values are a subset of those in the DEVICE_POWER_STATE type-->
-            <item access="RW" meaning="ON" symbol="ON" value="1"/>
-            <!--The device is in fully operational state-->     
-            
-            <item access="RW" meaning="OFF" symbol="OFF" value="2"/>
-            <!--The device is turned off-->
-        </enum>
-        <enum name="DEVICE_CONTROL">
-        <!--Possible values to describe the control mode of a device-->
-        <!--Currently two control modes (LOCAL, REMOTE) are defined-->
-        
-            <item access="RW" meaning="NONE" symbol="REMOTE" value="0"/>
-            <!--The device can be controlled normally through the control system-->
-            
-            <item access="RW" meaning="NONE" symbol="LOCAL" value="1"/>
-            <!--The device can be controlled locally. But it can be accessed in read-only mode via the control system-->
-        </enum>
-        <enum name="TOL_CHECK_MODE">
-        <!--This constant defines possible modes to check whether a control value is inside the tolerance values.-->
-        <!--Used to give information on how the tolerance fields are used to calculate the xxx_status information.-->
-        
-            <item access="RO" symbol="ABS" value="0"/>
-            <!--Use the absolute tolerance _tolAbs-->
-            
-            <item access="RO" symbol="REL" value="1"/>
-            <!--Use the relative tolerance _tolRel-->
-        </enum>
-        <bit-enum-32bits name="AQN_STATUS">
-        <!--Possible values to describe the acquisition status of a field (in the _status suffix)-->
-        <!--If this suffix is missing, it means that no additional status information is provided for the corresponding field-->
-        <!--If all bits are 0, this means that the corresponding field is OK.-->
-        <!--Only the lower 16 bits are standardized, the upper 16 bits can be defined by the equipment specialist.-->
-        <!--The difference between the Status property and the _status suffix is described in the section on the Status property.-->
-            <b0 name="NOT_OK"/>
-            <!--Some problem occurred that is not represented by the other bits. This property is called-->
-            <!-- NOT_OK so that it is not mixed up with ERROR or WARNING in the Status property-->
-            <b1 name="BAD_QUALITY"/>
-            <!--The value was acquired with a degraded quality. This is typically used for measurements.-->
-            <b2 name="DIFFERENT_FROM_SETTING"/>
-            <!--Different from the requested control value (for discrete values)--><!--or out of tolerance (for continuous values).-->
-            <b3 name="OUT_OF_RANGE"/>
-            <!--The value is out of the normal range (e.g. a temperature is too high or too low).-->
-            <b4 name="BUSY"/>
-            <!--The property value is changing in response to receiving a new control value (e.g. moving to a-->
-            <!--new position, charging a capacitor, ...). If the value change does not reach the requested new-->
-            <!--value within the maximum timeout, the BUSY bit should remain=1 and the TIMEOUT bit must be turned on.-->
-            <b5 name="TIMEOUT"/>
-            <!--A timeout occurred, because the property did not reach the reqested new control value within the-->
-            <!--maximum allowable time. A timeout normally indicates a problem to be addressed by the-->
-            <!--equipment specialist. This is typically used for slow changing control values that are BUSY while they change.-->
-            <b6 name="bit6_is_reserved_for_later_usage"/>
-            <b7 name="bit7_is_reserved_for_later_usage"/>
-            <b8 name="bit8_is_reserved_for_later_usage"/>
-            <b9 name="bit9_is_reserved_for_later_usage"/>
-            <b10 name="bit10_is_reserved_for_later_usage"/>
-            <b11 name="bit11_is_reserved_for_later_usage"/>
-            <b12 name="bit12_is_reserved_for_later_usage"/>
-            <b13 name="bit13_is_reserved_for_later_usage"/>
-            <b14 name="bit14_is_reserved_for_later_usage"/>
-            <b15 name="bit15_is_reserved_for_later_usage"/>
-            <!--bit 6 to 15 are reserved ... dont use them!-->
-            
-            <b16 name="bit_16_and_higher_can_be_used_by_the_class_developer"/>
-            <!--into bit 16..32 you can put in anything you want-->
-        </bit-enum-32bits>
-
-        <struct name="GSI_ERROR">
-        <!--This struct-item describes the structure of an GSI-error-->
-            <struct-item name="error_string">
-            <!--This string holds the error-message-->
-                <array type="char">
-                    <custom-constant-dim constant-name-ref="MAX_ERROR_MESSAGE_LENGTH"/>
-                </array>
-            </struct-item>
-            <struct-item name="error_code">
-            <!--The error code according to the defined error-message-->
-                <scalar type="int32_t"/>
-            </struct-item>
-            <!--The timestamp when the error occured-->
-            <struct-item name="error_timestamp">
-                <scalar type="int64_t"/>
-            </struct-item>
-            <!--The cycle for which the error occured-->
-            <struct-item name="error_cycle_name">
-                <array type="char">
-                    <custom-constant-dim constant-name-ref="MAX_CYCLE_NAME_LENGTH"/>
-                </array>
-            </struct-item>
-        </struct>
-        <struct name="GSI_ACQ_CONTEXT"><description>WhiteRabbit event specific acquisition information</description>
-        	<struct-item name="processIndex">
-        		<description>Used in order to index process-multiplexed data</description>
-        		<scalar type="int32_t"/>
-        	</struct-item>
-        	<struct-item name="sequenceIndex">
-        	    <description>Used in order to index sequence-multiplexed data</description>
-        		<scalar type="int32_t"/>
-        	</struct-item>
-        	<struct-item name="chainIndex">
-        	    <description>Refers to a specific beam production chain</description>
-        		<scalar type="int32_t"/>
-        	</struct-item>
-        	<struct-item name="eventNumber">
-        	    <description>The number of the event describes it's type</description>
-        		<scalar type="int32_t"/>
-        	</struct-item>
-        	<struct-item name="timingGroupID">
-        	    <description>ID of the timing group for which the event is relevant</description>
-        		<scalar type="int32_t"/>
-        	</struct-item>
-        	<struct-item name="acquisitionStamp">
-        	    <description>The acquisition stamp is used to indicate when a measurement was done</description>
-                <scalar type="int64_t"/>
-            </struct-item>
-        	<struct-item name="eventStamp">
-        	    <description>The event stamp is used to indicate when WhiteRabbit event was triggered on the Timing Receiver</description>
-        		<scalar type="int64_t"/>
-        	</struct-item>
-        	<struct-item name="processStartStamp">
-        	    <description>The process start stamp indicates when the first event of the current process was triggered</description>
-        		<scalar type="int64_t"/>
-        	</struct-item>
-        	<struct-item name="sequenceStartStamp">
-        	    <description>The sequence start stamp indicates when the first event of the current sequence was triggered</description>
-        		<scalar type="int64_t"/>
-        	</struct-item>
-        	<struct-item name="chainStartStamp">
-        	    <description>The chain start stamp indicates when the first event of the current chain was triggered</description>
-        		<scalar type="int64_t"/>
-        	</struct-item>
-        </struct>
-        <constant name="MAX_ERROR_MESSAGE_LENGTH" type="uint32_t" value="256"/>
-        <constant name="MAX_NUMBER_OF_ERROR_MESSAGES" type="uint32_t" value="16"/>
-        <constant name="MAX_CYCLE_NAME_LENGTH" type="uint32_t" value="256"/>
-        <constant name="MAX_VERSION_NAME_LENGTH" type="uint32_t" value="256"/>
-        <constant name="MAX_DETAILED_STATUS_LABEL_LENGTH" type="uint32_t" value="30"/>
-        <constant name="DETAILED_STATUS_SIZE" type="uint32_t" value="2"/>
-        <enum name="DETAILED_STATUS_SEVERITY">
-            <item access="RO" symbol="INFO" value="0"/>
-            <item access="RO" symbol="WARNING_ON_FALSE" value="1"/>
-            <item access="RO" symbol="ERROR_ON_FALSE" value="2"/>
-        </enum>
-        <enum name="MODULE_STATUS">
-        <!-- Mutually exclusive values to describe the status of a hardware / software module-->
-        	<item access="RO" value="0" symbol="UNKNOWN"/>
-        	<!--The status of the module is not known-->
-        	<item access="RO" value="1" symbol="OK"/>
-        	<!--The module is in fully operational state-->
-        	<item access="RO" value="2" symbol="WARNING"/>
-        	<!--The module is not fully operational; A module in WARNING state may still be used operationally, -->
-        	<!--but clients must be informed of a problem that might become worse. -->
-        	<item access="RO" value="3" symbol="ERROR"/>
-        	<!--The module is in a fault state. The related device is not operational.-->
-        	<item access="RO" value="4" symbol="NOT_AVAILABLE"/>
-            <!--The module is missing. The related device is not operational.-->
-        </enum>
-        <constant name="MAX_MODULE_STATUS_LABEL_LENGTH" type="uint32_t" value="30"/>
-        <constant name="MODULE_STATUS_SIZE" type="uint32_t" value="2"/>
-    <enum name="TEST_ENUM"><item access="RW" value="0" symbol="OK"/><item access="RW" value="1" symbol="WARNING"/><item access="RW" value="2" symbol="ERROR"/><item access="RW" value="3" symbol="UNKNOWN"/></enum></custom-types>
-    <data>
-        <device-data>
-            <configuration>
-                <field name="C_dt_fesa"><array2D type="double"><dim1>2</dim1><dim2>2</dim2></array2D></field><field name="C_real_fesa"><array2D type="float"><dim1>2</dim1><dim2>2</dim2></array2D></field><field name="C_dint_fesa"><array2D type="int32_t"><dim1>2</dim1><dim2>2</dim2></array2D></field><field name="C_int_fesa"><array2D type="int16_t"><dim1>2</dim1><dim2>2</dim2></array2D></field><field name="C_dword_fesa"><array2D type="int64_t"><dim1>2</dim1><dim2>2</dim2></array2D></field><field name="C_word_fesa"><array2D type="int32_t"><dim1>2</dim1><dim2>2</dim2></array2D></field><field name="C_byte_fesa"><array2D type="int16_t"><dim1>2</dim1><dim2>2</dim2></array2D></field><field name="C_char_fesa"><array2D type="int8_t"><dim1>2</dim1><dim2>2</dim2></array2D></field><field name="C_date_fesa"><array2D type="double"><dim1>2</dim1><dim2>2</dim2></array2D></field><field name="C_float32_fesa"><array2D type="float"><dim1>2</dim1><dim2>2</dim2></array2D></field><field name="C_uint32_fesa"><array2D type="int64_t"><dim1>2</dim1><dim2>2</dim2></array2D></field><field name="C_int32_fesa"><array2D type="int32_t"><dim1>2</dim1><dim2>2</dim2></array2D></field><field name="C_uint16_fesa"><array2D type="int32_t"><dim1>2</dim1><dim2>2</dim2></array2D></field><field name="C_int16_fesa"><array2D type="int16_t"><dim1>2</dim1><dim2>2</dim2></array2D></field><field name="C_uint8_fesa"><array2D type="int16_t"><dim1>2</dim1><dim2>2</dim2></array2D></field><field name="C_int8"><array2D type="int8_t"><dim1>2</dim1><dim2>2</dim2></array2D></field><field name="plcDeviceLabel"><description>Name of the related SILECS instance within the PLC mapping</description><array type="char"><dim>128</dim></array></field><field name="plcHostName"><description>Hostname of the PLC that contains the related SILECS class device</description><array type="char"><dim>128</dim></array></field><GSI-detailed-status-labels-field name="detailedStatus_labels">
-                    <array2D type="char">
-                        <custom-constant-dim1 constant-name-ref="DETAILED_STATUS_SIZE"/>
-                        <custom-constant-dim2 constant-name-ref="MAX_DETAILED_STATUS_LABEL_LENGTH"/>
-                    </array2D>
-                    <default>{myStatusLabel1,myStatusLabel2}</default>
-                </GSI-detailed-status-labels-field>
-                <GSI-detailed-status-severity-field name="detailedStatus_severity">
-                    <custom-type-array data-type-name-ref="DETAILED_STATUS_SEVERITY">
-                        <custom-constant-dim constant-name-ref="DETAILED_STATUS_SIZE"/>
-                    </custom-type-array>
-                    <default>{INFO,INFO}</default>
-                </GSI-detailed-status-severity-field>
-                <GSI-module-status-labels-field name="moduleStatus_labels">
-                	<array2D type="char">
-                		<custom-constant-dim1 constant-name-ref="MODULE_STATUS_SIZE"/>
-                		
-                		<custom-constant-dim2 constant-name-ref="MAX_MODULE_STATUS_LABEL_LENGTH"/>
-                	</array2D>
-                	<default>{myModule1,myModule2}</default>
-                </GSI-module-status-labels-field>
-            </configuration>
-            <setting>
-                <field name="WO_enum_fesa" multiplexed="false" persistent="true"><custom-type-array data-type-name-ref="TEST_ENUM"><dim>10</dim></custom-type-array></field><field name="WO_dt_fesa" multiplexed="false" persistent="true"><array type="double"><dim>10</dim></array></field><field name="WO_real_fesa" multiplexed="false" persistent="true"><array type="float"><dim>10</dim></array></field><field name="WO_dint_fesa" multiplexed="false" persistent="true"><array type="int32_t"><dim>10</dim></array></field><field name="WO_int_fesa" multiplexed="false" persistent="true"><array type="int16_t"><dim>10</dim></array></field><field name="WO_dword_fesa" multiplexed="false" persistent="true"><array type="int64_t"><dim>10</dim></array></field><field name="WO_word_fesa" multiplexed="false" persistent="true"><array type="int32_t"><dim>10</dim></array></field><field name="WO_byte_fesa" multiplexed="false" persistent="true"><array type="int16_t"><dim>10</dim></array></field><field name="WO_char_fesa" multiplexed="false" persistent="true"><array type="int8_t"><dim>10</dim></array></field><field name="WO_date_fesa" multiplexed="false" persistent="true"><array type="double"><dim>10</dim></array></field><field name="WO_string_fesa" multiplexed="false" persistent="true"><array2D type="char"><dim1>10</dim1><dim2>64</dim2></array2D></field><field name="WO_float32_fesa" multiplexed="false" persistent="true"><array type="float"><dim>10</dim></array></field><field name="WO_uint32_fesa" multiplexed="false" persistent="true"><array type="int64_t"><dim>10</dim></array></field><field name="WO_int32_fesa" multiplexed="false" persistent="true"><array type="int32_t"><dim>10</dim></array></field><field name="WO_uint16_fesa" multiplexed="false" persistent="true"><array type="int32_t"><dim>10</dim></array></field><field name="WO_int16_fesa" multiplexed="false" persistent="true"><array type="int16_t"><dim>10</dim></array></field><field name="WO_uint8_fesa" multiplexed="false" persistent="true"><array type="int16_t"><dim>10</dim></array></field><field name="WO_int8" multiplexed="false" persistent="true"><array type="int8_t"><dim>10</dim></array></field><field name="RW_enum_fesa" multiplexed="false" persistent="true"><custom-type-scalar data-type-name-ref="TEST_ENUM"/></field><field name="RW2_dt_fesa" multiplexed="false" persistent="true"><array2D type="double"><dim1>2</dim1><dim2>2</dim2></array2D></field><field name="RW2_real_fesa" multiplexed="false" persistent="true"><array2D type="float"><dim1>2</dim1><dim2>2</dim2></array2D></field><field name="RW2_dint_fesa" multiplexed="false" persistent="true"><array2D type="int32_t"><dim1>2</dim1><dim2>2</dim2></array2D></field><field name="RW2_int_fesa" multiplexed="false" persistent="true"><array2D type="int16_t"><dim1>2</dim1><dim2>2</dim2></array2D></field><field name="RW2_dword_fesa" multiplexed="false" persistent="true"><array2D type="int64_t"><dim1>2</dim1><dim2>2</dim2></array2D></field><field name="RW2_word_fesa" multiplexed="false" persistent="true"><array2D type="int32_t"><dim1>2</dim1><dim2>2</dim2></array2D></field><field name="RW2_byte_fesa" multiplexed="false" persistent="true"><array2D type="int16_t"><dim1>2</dim1><dim2>2</dim2></array2D></field><field name="RW2_char_fesa" multiplexed="false" persistent="true"><array2D type="int8_t"><dim1>2</dim1><dim2>2</dim2></array2D></field><field name="RW2_date_fesa" multiplexed="false" persistent="true"><array2D type="double"><dim1>2</dim1><dim2>2</dim2></array2D></field><field name="RW2_float32_fesa" multiplexed="false" persistent="true"><array2D type="float"><dim1>2</dim1><dim2>2</dim2></array2D></field><field name="RW2_uint32_fesa" multiplexed="false" persistent="true"><array2D type="int64_t"><dim1>2</dim1><dim2>2</dim2></array2D></field><field name="RW2_int32_fesa" multiplexed="false" persistent="true"><array2D type="int32_t"><dim1>2</dim1><dim2>2</dim2></array2D></field><field name="RW2_uint16_fesa" multiplexed="false" persistent="true"><array2D type="int32_t"><dim1>2</dim1><dim2>2</dim2></array2D></field><field name="RW2_int16_fesa" multiplexed="false" persistent="true"><array2D type="int16_t"><dim1>2</dim1><dim2>2</dim2></array2D></field><field name="RW2_uint8_fesa" multiplexed="false" persistent="true"><array2D type="int16_t"><dim1>2</dim1><dim2>2</dim2></array2D></field><field name="RW2_int8" multiplexed="false" persistent="true"><array2D type="int8_t"><dim1>2</dim1><dim2>2</dim2></array2D></field><field name="RW_dt_fesa" multiplexed="false" persistent="true"><scalar type="double"/></field><field name="RW_real_fesa" multiplexed="false" persistent="true"><scalar type="float"/></field><field name="RW_dint_fesa" multiplexed="false" persistent="true"><scalar type="int32_t"/></field><field name="RW_int_fesa" multiplexed="false" persistent="true"><scalar type="int16_t"/></field><field name="RW_dword_fesa" multiplexed="false" persistent="true"><scalar type="int64_t"/></field><field name="RW_word_fesa" multiplexed="false" persistent="true"><scalar type="int32_t"/></field><field name="RW_byte_fesa" multiplexed="false" persistent="true"><scalar type="int16_t"/></field><field name="RW_char_fesa" multiplexed="false" persistent="true"><scalar type="int8_t"/></field><field name="RW_date_fesa" multiplexed="false" persistent="true"><scalar type="double"/></field><field name="RW_string_fesa" multiplexed="false" persistent="true"><array type="char"><dim>64</dim></array></field><field name="RW_float32_fesa" multiplexed="false" persistent="true"><scalar type="float"/></field><field name="RW_uint32_fesa" multiplexed="false" persistent="true"><scalar type="int64_t"/></field><field name="RW_int32_fesa" multiplexed="false" persistent="true"><scalar type="int32_t"/></field><field name="RW_uint16_fesa" multiplexed="false" persistent="true"><scalar type="int32_t"/></field><field name="RW_int16_fesa" multiplexed="false" persistent="true"><scalar type="int16_t"/></field><field name="RW_uint8_fesa" multiplexed="false" persistent="true"><scalar type="int16_t"/></field><field name="RW_int8" multiplexed="false" persistent="true"><scalar type="int8_t"/></field><GSI-power-field multiplexed="false" name="power" persistent="false">
-                    <custom-type-scalar data-type-name-ref="DEVICE_POWER"/>
-                </GSI-power-field>
-            </setting>
-            <acquisition>
-                <field name="RO_enum_fesa" cycle-bound="false" persistent="false"><custom-type-scalar data-type-name-ref="TEST_ENUM"/></field><field name="RO_dt_fesa" cycle-bound="false" persistent="false"><scalar type="double"/></field><field name="RO_real_fesa" cycle-bound="false" persistent="false"><scalar type="float"/></field><field name="RO_dint_fesa" cycle-bound="false" persistent="false"><scalar type="int32_t"/></field><field name="RO_int_fesa" cycle-bound="false" persistent="false"><scalar type="int16_t"/></field><field name="RO_dword_fesa" cycle-bound="false" persistent="false"><scalar type="int64_t"/></field><field name="RO_word_fesa" cycle-bound="false" persistent="false"><scalar type="int32_t"/></field><field name="RO_byte_fesa" cycle-bound="false" persistent="false"><scalar type="int16_t"/></field><field name="RO_char_fesa" cycle-bound="false" persistent="false"><scalar type="int8_t"/></field><field name="RO_date_fesa" cycle-bound="false" persistent="false"><scalar type="double"/></field><field name="RO_string_fesa" cycle-bound="false" persistent="false"><array type="char"><dim>64</dim></array></field><field name="RO_float32_fesa" cycle-bound="false" persistent="false"><scalar type="float"/></field><field name="RO_uint32_fesa" cycle-bound="false" persistent="false"><scalar type="int64_t"/></field><field name="RO_int32_fesa" cycle-bound="false" persistent="false"><scalar type="int32_t"/></field><field name="RO_uint16_fesa" cycle-bound="false" persistent="false"><scalar type="int32_t"/></field><field name="RO_int16_fesa" cycle-bound="false" persistent="false"><scalar type="int16_t"/></field><field name="RO_uint8_fesa" cycle-bound="false" persistent="false"><scalar type="int16_t"/></field><field name="RO_int8" cycle-bound="false" persistent="false"><scalar type="int8_t"/></field><GSI-control-field cycle-bound="false" name="control">
-                    <custom-type-scalar data-type-name-ref="DEVICE_CONTROL"/>
-                </GSI-control-field>
-                <GSI-powerState-field cycle-bound="false" name="powerState">
-                    <custom-type-scalar data-type-name-ref="DEVICE_POWER_STATE"/>
-                </GSI-powerState-field>
-                <GSI-status-field cycle-bound="false" name="status">
-                    <custom-type-scalar data-type-name-ref="DEVICE_STATUS"/>
-                </GSI-status-field>
-                <GSI-interlock-field cycle-bound="false" name="interlock">
-                    <scalar type="bool"/>
-                </GSI-interlock-field>
-                <GSI-opReady-field cycle-bound="false" name="opReady">
-                    <scalar type="bool"/>
-                </GSI-opReady-field>
-                <GSI-modulesReady-field name="modulesReady" cycle-bound="false">
-                	<scalar type="bool"/>
-                </GSI-modulesReady-field>
-                <GSI-detailed-status-field cycle-bound="false" name="detailedStatus">
-                    <array type="bool">
-                        <custom-constant-dim constant-name-ref="DETAILED_STATUS_SIZE"/>
-                    </array>
-                </GSI-detailed-status-field>
-                <GSI-module-status-field name="moduleStatus" cycle-bound="false">
-                	<custom-type-array data-type-name-ref="MODULE_STATUS">
-                		<custom-constant-dim constant-name-ref="MODULE_STATUS_SIZE"/>
-                	</custom-type-array>
-                </GSI-module-status-field>
-                <GSI-acquisition-context-field cycle-bound="true" name="acquisitionContext">
-                    <custom-type-scalar data-type-name-ref="GSI_ACQ_CONTEXT"/>
-                </GSI-acquisition-context-field>
-                <GSI-error_collection-field cycle-bound="false" name="error_collection">
-                    <custom-type-array data-type-name-ref="GSI_ERROR">
-                        <custom-constant-dim constant-name-ref="MAX_NUMBER_OF_ERROR_MESSAGES"/>
-                    </custom-type-array>
-                </GSI-error_collection-field>
-            </acquisition>
-        </device-data>
-        <global-data>
-            <configuration>
-                <!-- The name of the timing receiver -->
-                <field name="plcClassVersion"><description>Version of the SILECS class that needs to be deployed in the controller</description><array type="char"><dim>5</dim></array><default>0.1.0</default></field><GSI-timing-receiver-name-field name="deviceNameTimingReceiver">
-                    <array type="char">
-                        <!-- The number of the timing receiver -->
-                        <variable-dim/>
-                    </array>
-                </GSI-timing-receiver-name-field>
-                </configuration>
-        </global-data>
-    </data>
-    <actions>
-        <set-server-action implementation="default" name="InitSetAction"/>
-        <set-server-action implementation="default" name="ResetSetAction"/>
-        <set-server-action implementation="default" name="SettingSetAction"/>
-        <set-server-action implementation="default" name="PowerSetAction"/>
-        <get-server-action implementation="default" name="PowerGetAction"/>
-        <get-server-action implementation="default" name="SettingGetAction"/>
-        <get-server-action implementation="default" name="AcquisitionGetAction"/>
-        <get-server-action implementation="default" name="StatusGetAction"/>
-        <get-server-action implementation="default" name="VersionGetAction"/>
-        <get-server-action implementation="default" name="ModuleStatusGetAction"/>
-
-		<rt-action name="StatusUpdateAction"/>	<!-- Pre-defined status update action -->
-    <get-server-action name="GetMyROBlockProp" implementation="custom"/><set-server-action name="SetMyRWBlockProp" implementation="custom"/><get-server-action name="GetMyRWBlockProp" implementation="custom"/><set-server-action name="SetMyWOBlockProp" implementation="custom"/><get-server-action name="GetMyCBlockProp" implementation="custom"/></actions>
-    <events>
-	    <logical-events>
-			<logical-event use="required" name="StatusUpdateEvent" type="timer"/>
-		</logical-events>
-	</events>
-	<scheduling-units>
-		<scheduling-unit name="StatusUpdateSchedulingUnit">
-			<rt-action-ref rt-action-name-ref="StatusUpdateAction"/>
-			<logical-event-ref logical-event-name-ref="StatusUpdateEvent"/>
-		</scheduling-unit>
-    </scheduling-units>
-
-</equipment-model>
diff --git a/silecs-codegen/src/xml/test/generated_correct/AllTypesFESA.design b/silecs-codegen/src/xml/test/generated_correct/AllTypesFESA.design
new file mode 120000
index 0000000..e024b85
--- /dev/null
+++ b/silecs-codegen/src/xml/test/generated_correct/AllTypesFESA.design
@@ -0,0 +1 @@
+../../../../../test/AllTypesFESA/src/AllTypesFESA.design
\ No newline at end of file
diff --git a/test/AllTypesFESA/copyDesigns.sh b/test/AllTypesFESA/copyDesigns.sh
deleted file mode 100755
index b53dbe7..0000000
--- a/test/AllTypesFESA/copyDesigns.sh
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-SCRIPT_PATH=$(dirname $(readlink -f "$0"))
-
-cp $SCRIPT_PATH/../../silecs-codegen/src/xml/test/generated_correct/AllTypesFESA.design src/
-cp $SCRIPT_PATH/../../silecs-codegen/src/xml/test/AllTypesFESA.silecsdesign src/
diff --git a/test/AllTypesFESA/src/AllTypesFESA.design b/test/AllTypesFESA/src/AllTypesFESA.design
index 834e5df..9c40b23 100644
--- a/test/AllTypesFESA/src/AllTypesFESA.design
+++ b/test/AllTypesFESA/src/AllTypesFESA.design
@@ -1,4 +1,5 @@
-<?xml version="1.0" encoding="UTF-8"?><equipment-model xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="file:/opt/fesa/fesa-model-gsi/7.5.0/xml/design/design-gsi.xsd">
+<?xml version="1.0" encoding="UTF-8"?>
+<equipment-model xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="file:/opt/fesa/fesa-model-gsi/7.5.0/xml/design/design-gsi.xsd">
 	<information>
 	  	<class-name>AllTypesFESA</class-name>
 		<class-major-version>0</class-major-version>
@@ -15,138 +16,24 @@
         <interface>
         <device-interface>
             <setting>
-                <command-property id="_231221102304_0" multiplexed="false" name="MyWOBlockProp" visibility="development">
-                    <value-item direction="IN" id="_231221102304_14" name="WO_enum_fesa">
-                        <custom-type-array data-type-name-ref="TEST_ENUM">
-                            <dim>10</dim>
-                        </custom-type-array>
-                        <data-field-ref field-name-ref="WO_enum_fesa"/>
-                    </value-item>
-                    <value-item direction="IN" id="_231221102304_15" name="WO_dt_fesa">
-                        <array type="double">
-                            <dim>10</dim>
-                        </array>
-                        <data-field-ref field-name-ref="WO_dt_fesa"/>
-                    </value-item>
-                    <value-item direction="IN" id="_231221102304_16" name="WO_real_fesa">
-                        <array type="float">
-                            <dim>10</dim>
-                        </array>
-                        <data-field-ref field-name-ref="WO_real_fesa"/>
-                    </value-item>
-                    <value-item direction="IN" id="_231221102304_17" name="WO_dint_fesa">
-                        <array type="int32_t">
-                            <dim>10</dim>
-                        </array>
-                        <data-field-ref field-name-ref="WO_dint_fesa"/>
-                    </value-item>
-                    <value-item direction="IN" id="_231221102304_18" name="WO_int_fesa">
-                        <array type="int16_t">
-                            <dim>10</dim>
-                        </array>
-                        <data-field-ref field-name-ref="WO_int_fesa"/>
-                    </value-item>
-                    <value-item direction="IN" id="_231221102304_19" name="WO_dword_fesa">
-                        <array type="int64_t">
-                            <dim>10</dim>
-                        </array>
-                        <data-field-ref field-name-ref="WO_dword_fesa"/>
-                    </value-item>
-                    <value-item direction="IN" id="_231221102304_20" name="WO_word_fesa">
-                        <array type="int32_t">
-                            <dim>10</dim>
-                        </array>
-                        <data-field-ref field-name-ref="WO_word_fesa"/>
-                    </value-item>
-                    <value-item direction="IN" id="_231221102304_21" name="WO_byte_fesa">
-                        <array type="int16_t">
-                            <dim>10</dim>
-                        </array>
-                        <data-field-ref field-name-ref="WO_byte_fesa"/>
-                    </value-item>
-                    <value-item direction="IN" id="_231221102304_22" name="WO_char_fesa">
-                        <array type="int8_t">
-                            <dim>10</dim>
-                        </array>
-                        <data-field-ref field-name-ref="WO_char_fesa"/>
-                    </value-item>
-                    <value-item direction="IN" id="_231221102304_23" name="WO_date_fesa">
-                        <array type="double">
-                            <dim>10</dim>
-                        </array>
-                        <data-field-ref field-name-ref="WO_date_fesa"/>
-                    </value-item>
-                    <value-item direction="IN" id="_231221102304_24" name="WO_string_fesa">
-                        <array2D type="char">
-                            <dim1>10</dim1>
-                            <dim2>64</dim2>
-                        </array2D>
-                        <data-field-ref field-name-ref="WO_string_fesa"/>
-                    </value-item>
-                    <value-item direction="IN" id="_231221102304_25" name="WO_float32_fesa">
-                        <array type="float">
-                            <dim>10</dim>
-                        </array>
-                        <data-field-ref field-name-ref="WO_float32_fesa"/>
-                    </value-item>
-                    <value-item direction="IN" id="_231221102304_26" name="WO_uint32_fesa">
-                        <array type="int64_t">
-                            <dim>10</dim>
-                        </array>
-                        <data-field-ref field-name-ref="WO_uint32_fesa"/>
-                    </value-item>
-                    <value-item direction="IN" id="_231221102304_27" name="WO_int32_fesa">
-                        <array type="int32_t">
-                            <dim>10</dim>
-                        </array>
-                        <data-field-ref field-name-ref="WO_int32_fesa"/>
-                    </value-item>
-                    <value-item direction="IN" id="_231221102304_28" name="WO_uint16_fesa">
-                        <array type="int32_t">
-                            <dim>10</dim>
-                        </array>
-                        <data-field-ref field-name-ref="WO_uint16_fesa"/>
-                    </value-item>
-                    <value-item direction="IN" id="_231221102304_29" name="WO_int16_fesa">
-                        <array type="int16_t">
-                            <dim>10</dim>
-                        </array>
-                        <data-field-ref field-name-ref="WO_int16_fesa"/>
-                    </value-item>
-                    <value-item direction="IN" id="_231221102304_30" name="WO_uint8_fesa">
-                        <array type="int16_t">
-                            <dim>10</dim>
-                        </array>
-                        <data-field-ref field-name-ref="WO_uint8_fesa"/>
-                    </value-item>
-                    <value-item direction="IN" id="_231221102304_31" name="WO_int8">
-                        <array type="int8_t">
-                            <dim>10</dim>
-                        </array>
-                        <data-field-ref field-name-ref="WO_int8"/>
-                    </value-item>
-                    <set-action>
-                        <server-action-ref server-action-name-ref="SetMyWOBlockProp"/>
-                    </set-action>
-                </command-property>
-                <GSI-Init-Property id="_231221102304_1" multiplexed="false" name="Init" visibility="operational">
+                <command-property name="MyWOBlockProp" visibility="development" multiplexed="false" id="_240112141711_0"><value-item name="WO_enum_fesa" direction="IN" id="_240112141711_14"><custom-type-array data-type-name-ref="TEST_ENUM"><dim>10</dim></custom-type-array><data-field-ref field-name-ref="WO_enum_fesa"/></value-item><value-item name="WO_dt_fesa" direction="IN" id="_240112141711_15"><array type="double"><dim>10</dim></array><data-field-ref field-name-ref="WO_dt_fesa"/></value-item><value-item name="WO_real_fesa" direction="IN" id="_240112141711_16"><array type="float"><dim>10</dim></array><data-field-ref field-name-ref="WO_real_fesa"/></value-item><value-item name="WO_dint_fesa" direction="IN" id="_240112141711_17"><array type="int32_t"><dim>10</dim></array><data-field-ref field-name-ref="WO_dint_fesa"/></value-item><value-item name="WO_int_fesa" direction="IN" id="_240112141711_18"><array type="int16_t"><dim>10</dim></array><data-field-ref field-name-ref="WO_int_fesa"/></value-item><value-item name="WO_dword_fesa" direction="IN" id="_240112141712_0"><array type="int64_t"><dim>10</dim></array><data-field-ref field-name-ref="WO_dword_fesa"/></value-item><value-item name="WO_word_fesa" direction="IN" id="_240112141712_1"><array type="int32_t"><dim>10</dim></array><data-field-ref field-name-ref="WO_word_fesa"/></value-item><value-item name="WO_byte_fesa" direction="IN" id="_240112141712_2"><array type="int16_t"><dim>10</dim></array><data-field-ref field-name-ref="WO_byte_fesa"/></value-item><value-item name="WO_char_fesa" direction="IN" id="_240112141712_3"><array type="int8_t"><dim>10</dim></array><data-field-ref field-name-ref="WO_char_fesa"/></value-item><value-item name="WO_date_fesa" direction="IN" id="_240112141712_4"><array type="double"><dim>10</dim></array><data-field-ref field-name-ref="WO_date_fesa"/></value-item><value-item name="WO_string_fesa" direction="IN" id="_240112141712_5"><array2D type="char"><dim1>10</dim1><dim2>64</dim2></array2D><data-field-ref field-name-ref="WO_string_fesa"/></value-item><value-item name="WO_float32_fesa" direction="IN" id="_240112141712_6"><array type="float"><dim>10</dim></array><data-field-ref field-name-ref="WO_float32_fesa"/></value-item><value-item name="WO_uint32_fesa" direction="IN" id="_240112141712_7"><array type="int64_t"><dim>10</dim></array><data-field-ref field-name-ref="WO_uint32_fesa"/></value-item><value-item name="WO_int32_fesa" direction="IN" id="_240112141712_8"><array type="int32_t"><dim>10</dim></array><data-field-ref field-name-ref="WO_int32_fesa"/></value-item><value-item name="WO_uint16_fesa" direction="IN" id="_240112141712_9"><array type="int32_t"><dim>10</dim></array><data-field-ref field-name-ref="WO_uint16_fesa"/></value-item><value-item name="WO_int16_fesa" direction="IN" id="_240112141712_10"><array type="int16_t"><dim>10</dim></array><data-field-ref field-name-ref="WO_int16_fesa"/></value-item><value-item name="WO_uint8_fesa" direction="IN" id="_240112141712_11"><array type="int16_t"><dim>10</dim></array><data-field-ref field-name-ref="WO_uint8_fesa"/></value-item><value-item name="WO_int8" direction="IN" id="_240112141713_0"><array type="int8_t"><dim>10</dim></array><data-field-ref field-name-ref="WO_int8"/></value-item><set-action><server-action-ref server-action-name-ref="SetMyWOBlockProp"/></set-action></command-property><GSI-Init-Property multiplexed="false" name="Init" visibility="operational" id="_240112141711_1">
                 	<description>Control property, used to initialize the device with default values from the device instantiation file</description>
                     <set-action partial-setting="true" transaction="true">
                         <server-action-ref server-action-name-ref="InitSetAction"/>
                     </set-action>
                 </GSI-Init-Property>
-                <GSI-Reset-Property id="_231221102304_2" multiplexed="false" name="Reset" visibility="operational">
+                <GSI-Reset-Property multiplexed="false" name="Reset" visibility="operational" id="_240112141711_2">
                 	<description>Control property, used to reset the device while keeping the persistent data.</description>
                     <set-action partial-setting="true" transaction="true">
                         <server-action-ref server-action-name-ref="ResetSetAction"/>
                     </set-action>
                 </GSI-Reset-Property>
-                <GSI-Setting-Property id="_231221102304_3" multiplexed="false" name="Setting" visibility="operational">
+                <GSI-Setting-Property multiplexed="false" name="Setting" visibility="operational" id="_240112141711_3">
                 	<description>Used for setting hardware parameters for controlling the device.</description>
-                    <update-flag-item direction="OUT" id="_231221102304_32" name="updateFlags" optional="true">
+                    <update-flag-item direction="OUT" name="updateFlags" optional="true" id="_240112141713_1">
                        <builtin-type-scalar data-type-name-ref="NOTIFICATION_UPDATE"/>
                     </update-flag-item>
-                    <cycle-name-item direction="OUT" id="_231221102304_33" name="cycleName" optional="true">
+                    <cycle-name-item direction="OUT" name="cycleName" optional="true" id="_240112141713_2">
                         <array type="char">
                             <dim>32</dim>
                         </array>
@@ -158,214 +45,12 @@
                         <server-action-ref server-action-name-ref="SettingGetAction"/>
                     </get-action>
                 </GSI-Setting-Property>
-                <GSI-Setting-Property id="_231221102304_4" multiplexed="false" name="MyRWBlockProp" visibility="development">
-                    <value-item direction="INOUT" id="_231221102304_34" name="RW_enum_fesa">
-                        <custom-type-scalar data-type-name-ref="TEST_ENUM"/>
-                        <data-field-ref field-name-ref="RW_enum_fesa"/>
-                    </value-item>
-                    <value-item direction="INOUT" id="_231221102304_35" name="RW2_dt_fesa">
-                        <array2D type="double">
-                            <dim1>2</dim1>
-                            <dim2>2</dim2>
-                        </array2D>
-                        <data-field-ref field-name-ref="RW2_dt_fesa"/>
-                    </value-item>
-                    <value-item direction="INOUT" id="_231221102304_36" name="RW2_real_fesa">
-                        <array2D type="float">
-                            <dim1>2</dim1>
-                            <dim2>2</dim2>
-                        </array2D>
-                        <data-field-ref field-name-ref="RW2_real_fesa"/>
-                    </value-item>
-                    <value-item direction="INOUT" id="_231221102304_37" name="RW2_dint_fesa">
-                        <array2D type="int32_t">
-                            <dim1>2</dim1>
-                            <dim2>2</dim2>
-                        </array2D>
-                        <data-field-ref field-name-ref="RW2_dint_fesa"/>
-                    </value-item>
-                    <value-item direction="INOUT" id="_231221102304_38" name="RW2_int_fesa">
-                        <array2D type="int16_t">
-                            <dim1>2</dim1>
-                            <dim2>2</dim2>
-                        </array2D>
-                        <data-field-ref field-name-ref="RW2_int_fesa"/>
-                    </value-item>
-                    <value-item direction="INOUT" id="_231221102304_39" name="RW2_dword_fesa">
-                        <array2D type="int64_t">
-                            <dim1>2</dim1>
-                            <dim2>2</dim2>
-                        </array2D>
-                        <data-field-ref field-name-ref="RW2_dword_fesa"/>
-                    </value-item>
-                    <value-item direction="INOUT" id="_231221102304_40" name="RW2_word_fesa">
-                        <array2D type="int32_t">
-                            <dim1>2</dim1>
-                            <dim2>2</dim2>
-                        </array2D>
-                        <data-field-ref field-name-ref="RW2_word_fesa"/>
-                    </value-item>
-                    <value-item direction="INOUT" id="_231221102304_41" name="RW2_byte_fesa">
-                        <array2D type="int16_t">
-                            <dim1>2</dim1>
-                            <dim2>2</dim2>
-                        </array2D>
-                        <data-field-ref field-name-ref="RW2_byte_fesa"/>
-                    </value-item>
-                    <value-item direction="INOUT" id="_231221102304_42" name="RW2_char_fesa">
-                        <array2D type="int8_t">
-                            <dim1>2</dim1>
-                            <dim2>2</dim2>
-                        </array2D>
-                        <data-field-ref field-name-ref="RW2_char_fesa"/>
-                    </value-item>
-                    <value-item direction="INOUT" id="_231221102304_43" name="RW2_date_fesa">
-                        <array2D type="double">
-                            <dim1>2</dim1>
-                            <dim2>2</dim2>
-                        </array2D>
-                        <data-field-ref field-name-ref="RW2_date_fesa"/>
-                    </value-item>
-                    <value-item direction="INOUT" id="_231221102304_44" name="RW2_float32_fesa">
-                        <array2D type="float">
-                            <dim1>2</dim1>
-                            <dim2>2</dim2>
-                        </array2D>
-                        <data-field-ref field-name-ref="RW2_float32_fesa"/>
-                    </value-item>
-                    <value-item direction="INOUT" id="_231221102304_45" name="RW2_uint32_fesa">
-                        <array2D type="int64_t">
-                            <dim1>2</dim1>
-                            <dim2>2</dim2>
-                        </array2D>
-                        <data-field-ref field-name-ref="RW2_uint32_fesa"/>
-                    </value-item>
-                    <value-item direction="INOUT" id="_231221102304_46" name="RW2_int32_fesa">
-                        <array2D type="int32_t">
-                            <dim1>2</dim1>
-                            <dim2>2</dim2>
-                        </array2D>
-                        <data-field-ref field-name-ref="RW2_int32_fesa"/>
-                    </value-item>
-                    <value-item direction="INOUT" id="_231221102304_47" name="RW2_uint16_fesa">
-                        <array2D type="int32_t">
-                            <dim1>2</dim1>
-                            <dim2>2</dim2>
-                        </array2D>
-                        <data-field-ref field-name-ref="RW2_uint16_fesa"/>
-                    </value-item>
-                    <value-item direction="INOUT" id="_231221102304_48" name="RW2_int16_fesa">
-                        <array2D type="int16_t">
-                            <dim1>2</dim1>
-                            <dim2>2</dim2>
-                        </array2D>
-                        <data-field-ref field-name-ref="RW2_int16_fesa"/>
-                    </value-item>
-                    <value-item direction="INOUT" id="_231221102304_49" name="RW2_uint8_fesa">
-                        <array2D type="int16_t">
-                            <dim1>2</dim1>
-                            <dim2>2</dim2>
-                        </array2D>
-                        <data-field-ref field-name-ref="RW2_uint8_fesa"/>
-                    </value-item>
-                    <value-item direction="INOUT" id="_231221102304_50" name="RW2_int8">
-                        <array2D type="int8_t">
-                            <dim1>2</dim1>
-                            <dim2>2</dim2>
-                        </array2D>
-                        <data-field-ref field-name-ref="RW2_int8"/>
-                    </value-item>
-                    <value-item direction="INOUT" id="_231221102304_51" name="RW_dt_fesa">
-                        <scalar type="double"/>
-                        <data-field-ref field-name-ref="RW_dt_fesa"/>
-                    </value-item>
-                    <value-item direction="INOUT" id="_231221102304_52" name="RW_real_fesa">
-                        <scalar type="float"/>
-                        <data-field-ref field-name-ref="RW_real_fesa"/>
-                    </value-item>
-                    <value-item direction="INOUT" id="_231221102304_53" name="RW_dint_fesa">
-                        <scalar type="int32_t"/>
-                        <data-field-ref field-name-ref="RW_dint_fesa"/>
-                    </value-item>
-                    <value-item direction="INOUT" id="_231221102304_54" name="RW_int_fesa">
-                        <scalar type="int16_t"/>
-                        <data-field-ref field-name-ref="RW_int_fesa"/>
-                    </value-item>
-                    <value-item direction="INOUT" id="_231221102304_55" name="RW_dword_fesa">
-                        <scalar type="int64_t"/>
-                        <data-field-ref field-name-ref="RW_dword_fesa"/>
-                    </value-item>
-                    <value-item direction="INOUT" id="_231221102304_56" name="RW_word_fesa">
-                        <scalar type="int32_t"/>
-                        <data-field-ref field-name-ref="RW_word_fesa"/>
-                    </value-item>
-                    <value-item direction="INOUT" id="_231221102304_57" name="RW_byte_fesa">
-                        <scalar type="int16_t"/>
-                        <data-field-ref field-name-ref="RW_byte_fesa"/>
-                    </value-item>
-                    <value-item direction="INOUT" id="_231221102304_58" name="RW_char_fesa">
-                        <scalar type="int8_t"/>
-                        <data-field-ref field-name-ref="RW_char_fesa"/>
-                    </value-item>
-                    <value-item direction="INOUT" id="_231221102304_59" name="RW_date_fesa">
-                        <scalar type="double"/>
-                        <data-field-ref field-name-ref="RW_date_fesa"/>
-                    </value-item>
-                    <value-item direction="INOUT" id="_231221102304_60" name="RW_string_fesa">
-                        <array type="char">
-                            <dim>64</dim>
-                        </array>
-                        <data-field-ref field-name-ref="RW_string_fesa"/>
-                    </value-item>
-                    <value-item direction="INOUT" id="_231221102304_61" name="RW_float32_fesa">
-                        <scalar type="float"/>
-                        <data-field-ref field-name-ref="RW_float32_fesa"/>
-                    </value-item>
-                    <value-item direction="INOUT" id="_231221102304_62" name="RW_uint32_fesa">
-                        <scalar type="int64_t"/>
-                        <data-field-ref field-name-ref="RW_uint32_fesa"/>
-                    </value-item>
-                    <value-item direction="INOUT" id="_231221102304_63" name="RW_int32_fesa">
-                        <scalar type="int32_t"/>
-                        <data-field-ref field-name-ref="RW_int32_fesa"/>
-                    </value-item>
-                    <value-item direction="INOUT" id="_231221102304_64" name="RW_uint16_fesa">
-                        <scalar type="int32_t"/>
-                        <data-field-ref field-name-ref="RW_uint16_fesa"/>
-                    </value-item>
-                    <value-item direction="INOUT" id="_231221102304_65" name="RW_int16_fesa">
-                        <scalar type="int16_t"/>
-                        <data-field-ref field-name-ref="RW_int16_fesa"/>
-                    </value-item>
-                    <value-item direction="INOUT" id="_231221102304_66" name="RW_uint8_fesa">
-                        <scalar type="int16_t"/>
-                        <data-field-ref field-name-ref="RW_uint8_fesa"/>
-                    </value-item>
-                    <value-item direction="INOUT" id="_231221102304_67" name="RW_int8">
-                        <scalar type="int8_t"/>
-                        <data-field-ref field-name-ref="RW_int8"/>
-                    </value-item>
-                    <update-flag-item direction="OUT" id="_231221102304_68" name="updateFlags" optional="true">
-                        <builtin-type-scalar data-type-name-ref="NOTIFICATION_UPDATE"/>
-                    </update-flag-item>
-                    <cycle-name-item direction="OUT" id="_231221102304_69" name="cycleName" optional="true">
-                        <array type="char">
-                            <dim>32</dim>
-                        </array>
-                    </cycle-name-item>
-                    <set-action>
-                        <server-action-ref server-action-name-ref="SetMyRWBlockProp"/>
-                    </set-action>
-                    <get-action>
-                        <server-action-ref server-action-name-ref="GetMyRWBlockProp"/>
-                    </get-action>
-                </GSI-Setting-Property>
-                <GSI-Power-Property id="_231221102304_5" multiplexed="false" name="Power" visibility="operational">
+                <GSI-Setting-Property name="MyRWBlockProp" visibility="development" multiplexed="false" id="_240112141711_4"><value-item name="RW_enum_fesa" direction="INOUT" id="_240112141713_3"><custom-type-scalar data-type-name-ref="TEST_ENUM"/><data-field-ref field-name-ref="RW_enum_fesa"/></value-item><value-item name="RW2_dt_fesa" direction="INOUT" id="_240112141713_4"><array2D type="double"><dim1>2</dim1><dim2>2</dim2></array2D><data-field-ref field-name-ref="RW2_dt_fesa"/></value-item><value-item name="RW2_real_fesa" direction="INOUT" id="_240112141713_5"><array2D type="float"><dim1>2</dim1><dim2>2</dim2></array2D><data-field-ref field-name-ref="RW2_real_fesa"/></value-item><value-item name="RW2_dint_fesa" direction="INOUT" id="_240112141713_6"><array2D type="int32_t"><dim1>2</dim1><dim2>2</dim2></array2D><data-field-ref field-name-ref="RW2_dint_fesa"/></value-item><value-item name="RW2_int_fesa" direction="INOUT" id="_240112141713_7"><array2D type="int16_t"><dim1>2</dim1><dim2>2</dim2></array2D><data-field-ref field-name-ref="RW2_int_fesa"/></value-item><value-item name="RW2_dword_fesa" direction="INOUT" id="_240112141713_8"><array2D type="int64_t"><dim1>2</dim1><dim2>2</dim2></array2D><data-field-ref field-name-ref="RW2_dword_fesa"/></value-item><value-item name="RW2_word_fesa" direction="INOUT" id="_240112141713_9"><array2D type="int32_t"><dim1>2</dim1><dim2>2</dim2></array2D><data-field-ref field-name-ref="RW2_word_fesa"/></value-item><value-item name="RW2_byte_fesa" direction="INOUT" id="_240112141713_10"><array2D type="int16_t"><dim1>2</dim1><dim2>2</dim2></array2D><data-field-ref field-name-ref="RW2_byte_fesa"/></value-item><value-item name="RW2_char_fesa" direction="INOUT" id="_240112141713_11"><array2D type="int8_t"><dim1>2</dim1><dim2>2</dim2></array2D><data-field-ref field-name-ref="RW2_char_fesa"/></value-item><value-item name="RW2_date_fesa" direction="INOUT" id="_240112141713_12"><array2D type="double"><dim1>2</dim1><dim2>2</dim2></array2D><data-field-ref field-name-ref="RW2_date_fesa"/></value-item><value-item name="RW2_float32_fesa" direction="INOUT" id="_240112141713_13"><array2D type="float"><dim1>2</dim1><dim2>2</dim2></array2D><data-field-ref field-name-ref="RW2_float32_fesa"/></value-item><value-item name="RW2_uint32_fesa" direction="INOUT" id="_240112141713_14"><array2D type="int64_t"><dim1>2</dim1><dim2>2</dim2></array2D><data-field-ref field-name-ref="RW2_uint32_fesa"/></value-item><value-item name="RW2_int32_fesa" direction="INOUT" id="_240112141713_15"><array2D type="int32_t"><dim1>2</dim1><dim2>2</dim2></array2D><data-field-ref field-name-ref="RW2_int32_fesa"/></value-item><value-item name="RW2_uint16_fesa" direction="INOUT" id="_240112141713_16"><array2D type="int32_t"><dim1>2</dim1><dim2>2</dim2></array2D><data-field-ref field-name-ref="RW2_uint16_fesa"/></value-item><value-item name="RW2_int16_fesa" direction="INOUT" id="_240112141713_17"><array2D type="int16_t"><dim1>2</dim1><dim2>2</dim2></array2D><data-field-ref field-name-ref="RW2_int16_fesa"/></value-item><value-item name="RW2_uint8_fesa" direction="INOUT" id="_240112141713_18"><array2D type="int16_t"><dim1>2</dim1><dim2>2</dim2></array2D><data-field-ref field-name-ref="RW2_uint8_fesa"/></value-item><value-item name="RW2_int8" direction="INOUT" id="_240112141713_19"><array2D type="int8_t"><dim1>2</dim1><dim2>2</dim2></array2D><data-field-ref field-name-ref="RW2_int8"/></value-item><value-item name="RW_dt_fesa" direction="INOUT" id="_240112141713_20"><scalar type="double"/><data-field-ref field-name-ref="RW_dt_fesa"/></value-item><value-item name="RW_real_fesa" direction="INOUT" id="_240112141713_21"><scalar type="float"/><data-field-ref field-name-ref="RW_real_fesa"/></value-item><value-item name="RW_dint_fesa" direction="INOUT" id="_240112141713_22"><scalar type="int32_t"/><data-field-ref field-name-ref="RW_dint_fesa"/></value-item><value-item name="RW_int_fesa" direction="INOUT" id="_240112141713_23"><scalar type="int16_t"/><data-field-ref field-name-ref="RW_int_fesa"/></value-item><value-item name="RW_dword_fesa" direction="INOUT" id="_240112141713_24"><scalar type="int64_t"/><data-field-ref field-name-ref="RW_dword_fesa"/></value-item><value-item name="RW_word_fesa" direction="INOUT" id="_240112141713_25"><scalar type="int32_t"/><data-field-ref field-name-ref="RW_word_fesa"/></value-item><value-item name="RW_byte_fesa" direction="INOUT" id="_240112141713_26"><scalar type="int16_t"/><data-field-ref field-name-ref="RW_byte_fesa"/></value-item><value-item name="RW_char_fesa" direction="INOUT" id="_240112141713_27"><scalar type="int8_t"/><data-field-ref field-name-ref="RW_char_fesa"/></value-item><value-item name="RW_date_fesa" direction="INOUT" id="_240112141713_28"><scalar type="double"/><data-field-ref field-name-ref="RW_date_fesa"/></value-item><value-item name="RW_string_fesa" direction="INOUT" id="_240112141713_29"><array type="char"><dim>64</dim></array><data-field-ref field-name-ref="RW_string_fesa"/></value-item><value-item name="RW_float32_fesa" direction="INOUT" id="_240112141713_30"><scalar type="float"/><data-field-ref field-name-ref="RW_float32_fesa"/></value-item><value-item name="RW_uint32_fesa" direction="INOUT" id="_240112141713_31"><scalar type="int64_t"/><data-field-ref field-name-ref="RW_uint32_fesa"/></value-item><value-item name="RW_int32_fesa" direction="INOUT" id="_240112141713_32"><scalar type="int32_t"/><data-field-ref field-name-ref="RW_int32_fesa"/></value-item><value-item name="RW_uint16_fesa" direction="INOUT" id="_240112141714_0"><scalar type="int32_t"/><data-field-ref field-name-ref="RW_uint16_fesa"/></value-item><value-item name="RW_int16_fesa" direction="INOUT" id="_240112141714_1"><scalar type="int16_t"/><data-field-ref field-name-ref="RW_int16_fesa"/></value-item><value-item name="RW_uint8_fesa" direction="INOUT" id="_240112141714_2"><scalar type="int16_t"/><data-field-ref field-name-ref="RW_uint8_fesa"/></value-item><value-item name="RW_int8" direction="INOUT" id="_240112141714_3"><scalar type="int8_t"/><data-field-ref field-name-ref="RW_int8"/></value-item><update-flag-item direction="OUT" name="updateFlags" optional="true" id="_240112141714_4"><builtin-type-scalar data-type-name-ref="NOTIFICATION_UPDATE"/></update-flag-item><cycle-name-item direction="OUT" name="cycleName" optional="true" id="_240112141714_5"><array type="char"><dim>32</dim></array></cycle-name-item><set-action><server-action-ref server-action-name-ref="SetMyRWBlockProp"/></set-action><get-action><server-action-ref server-action-name-ref="GetMyRWBlockProp"/></get-action></GSI-Setting-Property><GSI-Power-Property multiplexed="false" name="Power" visibility="operational" id="_240112141711_5">
                     <description>Used to turn the power of a device on or off.</description>
-                    <update-flag-item direction="OUT" id="_231221102304_70" name="updateFlags" optional="true">
+                    <update-flag-item direction="OUT" name="updateFlags" optional="true" id="_240112141714_6">
 						<builtin-type-scalar data-type-name-ref="NOTIFICATION_UPDATE"/>
                     </update-flag-item>
-                    <cycle-name-item direction="OUT" id="_231221102304_71" name="cycleName" optional="true">
+                    <cycle-name-item direction="OUT" name="cycleName" optional="true" id="_240112141714_7">
                         <array type="char">
                             <dim>32</dim>
                         </array>
@@ -376,7 +61,7 @@
                     <get-action>
                         <server-action-ref server-action-name-ref="PowerGetAction"/>
                     </get-action>
-                    <power-item direction="INOUT" id="_231221102304_72" name="power">
+                    <power-item direction="INOUT" name="power" id="_240112141714_8">
                         <custom-type-scalar data-type-name-ref="DEVICE_POWER"/>
                         
                         <data-field-ref field-name-ref="power"/>
@@ -384,32 +69,32 @@
                 </GSI-Power-Property>
             </setting>
             <acquisition>
-                <GSI-Status-Property cycle-bound="false" id="_231221102304_6" name="Status" on-change="true" subscribable="true" visibility="operational">
+                <GSI-Status-Property cycle-bound="false" name="Status" on-change="true" subscribable="true" visibility="operational" id="_240112141711_6">
                     <description>Used to display the (cycle independent) overall status of the device.</description>
 					<description>Detailed status information may be additionally added to this property.</description>
-                    <acq-stamp-item direction="OUT" id="_231221102304_73" name="acqStamp">
+                    <acq-stamp-item direction="OUT" name="acqStamp" id="_240112141714_9">
                         <scalar type="int64_t"/>
                     </acq-stamp-item>
-                    <update-flag-item direction="OUT" id="_231221102304_74" name="updateFlags" optional="true">
+                    <update-flag-item direction="OUT" name="updateFlags" optional="true" id="_240112141714_10">
                         <builtin-type-scalar data-type-name-ref="NOTIFICATION_UPDATE"/>
                     </update-flag-item>
-                    <cycle-name-item direction="OUT" id="_231221102304_75" name="cycleName" optional="true">
+                    <cycle-name-item direction="OUT" name="cycleName" optional="true" id="_240112141714_11">
                         <array type="char">
                             <dim>32</dim>
                         </array>
                     </cycle-name-item>
-                    <cycle-stamp-item direction="OUT" id="_231221102304_76" name="cycleStamp" optional="true">
+                    <cycle-stamp-item direction="OUT" name="cycleStamp" optional="true" id="_240112141714_12">
                         <scalar type="int64_t"/>
                     </cycle-stamp-item>
                     <get-action>
                         <server-action-ref server-action-name-ref="StatusGetAction"/>
                     </get-action>
-                    <status-item direction="OUT" id="_231221102304_77" name="status">
+                    <status-item direction="OUT" name="status" id="_240112141714_13">
                         <custom-type-scalar data-type-name-ref="DEVICE_STATUS"/>
                         
                         <data-field-ref field-name-ref="status"/>
                     </status-item>
-                    <detailed-status-item direction="OUT" id="_231221102304_78" name="detailedStatus">
+                    <detailed-status-item direction="OUT" name="detailedStatus" id="_240112141714_14">
                     	<description>Detailed status should consist of an array of boolean values considered as detailed status information as well as a
 corresponding string array containing keys to illustrate the meaning of the detailed status information.</description>
                         <array type="bool">
@@ -417,7 +102,7 @@ corresponding string array containing keys to illustrate the meaning of the deta
                         </array>
                         <data-field-ref field-name-ref="detailedStatus"/>
                     </detailed-status-item>
-                    <detailed-status-labels-item direction="OUT" id="_231221102304_79" name="detailedStatus_labels">
+                    <detailed-status-labels-item direction="OUT" name="detailedStatus_labels" id="_240112141714_15">
                     	<description>Labels of detailed status bits.</description>
                         <array2D type="char">
                             <custom-constant-dim1 constant-name-ref="DETAILED_STATUS_SIZE"/>
@@ -425,39 +110,39 @@ corresponding string array containing keys to illustrate the meaning of the deta
                         </array2D>
                         <data-field-ref field-name-ref="detailedStatus_labels"/>
                     </detailed-status-labels-item>
-                    <detailed-status-severity-item direction="OUT" id="_231221102304_80" name="detailedStatus_severity">
+                    <detailed-status-severity-item direction="OUT" name="detailedStatus_severity" id="_240112141714_16">
                     	<description>Severities of the detailed status bits</description>
                         <custom-type-array data-type-name-ref="DETAILED_STATUS_SEVERITY">
                             <custom-constant-dim constant-name-ref="DETAILED_STATUS_SIZE"/>
                         </custom-type-array>
                         <data-field-ref field-name-ref="detailedStatus_severity"/>
                     </detailed-status-severity-item>
-                    <powerState-item direction="OUT" id="_231221102304_81" name="powerState">
+                    <powerState-item direction="OUT" name="powerState" id="_240112141714_17">
                     	<description>Power state of the device (ON, OFF)</description>
                         <custom-type-scalar data-type-name-ref="DEVICE_POWER_STATE"/>
                         
                         <data-field-ref field-name-ref="powerState"/>
                     </powerState-item>
-                    <control-item direction="OUT" id="_231221102304_82" name="control">
+                    <control-item direction="OUT" name="control" id="_240112141714_18">
                         <custom-type-scalar data-type-name-ref="DEVICE_CONTROL"/>
                         <data-field-ref field-name-ref="control"/>
                     </control-item>
-                    <interlock-item direction="OUT" id="_231221102304_83" name="interlock">
+                    <interlock-item direction="OUT" name="interlock" id="_240112141714_19">
                     	<description>Interlock state of the device</description>
                         <scalar type="bool"/>
                         <data-field-ref field-name-ref="interlock"/>
                     </interlock-item>
-                    <opReady-item direction="OUT" id="_231221102304_84" name="opReady">
+                    <opReady-item direction="OUT" name="opReady" id="_240112141714_20">
                     	<description>Contains the devices state regarding operation</description>
                         <scalar type="bool"/>
                         <data-field-ref field-name-ref="opReady"/>
                     </opReady-item>
-                    <modulesReady-item direction="OUT" id="_231221102304_85" name="modulesReady">
+                    <modulesReady-item direction="OUT" name="modulesReady" id="_240112141714_21">
                     	<description>Contains the devices module state</description>
                         <scalar type="bool"/>
                         <data-field-ref field-name-ref="modulesReady"/>
                     </modulesReady-item>
-                    <error_collection-item direction="OUT" id="_231221102304_86">
+                    <error_collection-item direction="OUT" id="_240112141714_22">
                         <error_codes direction="OUT" name="error_codes">
                             <array type="int32_t">
                                 <custom-constant-dim constant-name-ref="MAX_NUMBER_OF_ERROR_MESSAGES"/>
@@ -483,32 +168,32 @@ corresponding string array containing keys to illustrate the meaning of the deta
                         <error_collection-field-ref field-name-ref="error_collection"/>
                     </error_collection-item>
                 </GSI-Status-Property>
-                <GSI-ModuleStatus-Property cycle-bound="false" id="_231221102304_7" name="ModuleStatus" subscribable="true" visibility="operational">
+                <GSI-ModuleStatus-Property visibility="operational" subscribable="true" name="ModuleStatus" cycle-bound="false" id="_240112141711_7">
                 	<description>Gives detailed information on the state of 3rd party hardware and software components which are required to operate the device.</description>
-                	<acq-stamp-item direction="OUT" id="_231221102304_87" name="acqStamp">
+                	<acq-stamp-item name="acqStamp" direction="OUT" id="_240112141714_23">
                 		<scalar type="int64_t"/>
                 	</acq-stamp-item>
-                	<update-flag-item direction="OUT" id="_231221102304_88" name="updateFlags" optional="true">
+                	<update-flag-item optional="true" name="updateFlags" direction="OUT" id="_240112141714_24">
                 		<builtin-type-scalar data-type-name-ref="NOTIFICATION_UPDATE"/>
                 	</update-flag-item>
-                	<cycle-name-item direction="OUT" id="_231221102304_89" name="cycleName" optional="true">
+                	<cycle-name-item optional="true" name="cycleName" direction="OUT" id="_240112141714_25">
                 		<array type="char">
                 			<dim>32</dim>
                 		</array>
                 	</cycle-name-item>
-                	<cycle-stamp-item direction="OUT" id="_231221102304_90" name="cycleStamp" optional="true">
+                	<cycle-stamp-item optional="true" name="cycleStamp" direction="OUT" id="_240112141714_26">
                 		<scalar type="int64_t"/>
                 	</cycle-stamp-item>
                 	<get-action>
                 		<server-action-ref server-action-name-ref="ModuleStatusGetAction"/>
                 	</get-action>
-                	<module-status-item direction="OUT" id="_231221102304_91" name="moduleStatus">
+                	<module-status-item name="moduleStatus" direction="OUT" id="_240112141714_27">
                 		<custom-type-array data-type-name-ref="MODULE_STATUS">
                 			<custom-constant-dim constant-name-ref="MODULE_STATUS_SIZE"/>
                 		</custom-type-array>
                 		<data-field-ref field-name-ref="moduleStatus"/>
                 	</module-status-item>
-                	<module-status-labels-item direction="OUT" id="_231221102304_92" name="moduleStatus_labels">
+                	<module-status-labels-item name="moduleStatus_labels" direction="OUT" id="_240112141714_28">
                 		<array2D type="char">
                 			<custom-constant-dim1 constant-name-ref="MODULE_STATUS_SIZE"/>
                 			<custom-constant-dim2 constant-name-ref="MAX_MODULE_STATUS_LABEL_LENGTH"/>
@@ -516,316 +201,26 @@ corresponding string array containing keys to illustrate the meaning of the deta
                 		<data-field-ref field-name-ref="moduleStatus_labels"/>
                 	</module-status-labels-item>
                 </GSI-ModuleStatus-Property>
-                <GSI-Acquisition-Property cycle-bound="true" id="_231221102304_8" name="Acquisition" on-change="true" subscribable="true" visibility="operational">
+                <GSI-Acquisition-Property cycle-bound="true" name="Acquisition" on-change="true" subscribable="true" visibility="operational" id="_240112141711_8">
                     <description>Used for returning acquisition data which is retrieved from the hardware.</description>
-                    <acq-stamp-item direction="OUT" id="_231221102304_93" name="acqStamp">
+                    <acq-stamp-item direction="OUT" name="acqStamp" id="_240112141714_29">
                         <scalar type="int64_t"/>
                     </acq-stamp-item>
-                    <update-flag-item direction="OUT" id="_231221102304_94" name="updateFlags" optional="true">
+                    <update-flag-item direction="OUT" name="updateFlags" optional="true" id="_240112141715_0">
                         <builtin-type-scalar data-type-name-ref="NOTIFICATION_UPDATE"/>
                     </update-flag-item>
-                    <cycle-name-item direction="OUT" id="_231221102304_95" name="cycleName" optional="true">
+                    <cycle-name-item direction="OUT" name="cycleName" optional="true" id="_240112141715_1">
                         <array type="char">
                             <dim>32</dim>
                         </array>
                     </cycle-name-item>
-                    <cycle-stamp-item direction="OUT" id="_231221102304_96" name="cycleStamp" optional="true">
+                    <cycle-stamp-item direction="OUT" name="cycleStamp" optional="true" id="_240112141715_2">
                         <scalar type="int64_t"/>
                     </cycle-stamp-item>
                     <get-action>
                         <server-action-ref server-action-name-ref="AcquisitionGetAction"/>
                     </get-action>
-                    <acquisition-context-item direction="OUT" id="_231221102304_97">
-                        <processIndex direction="OUT" name="processIndex">
-                            <scalar type="int32_t"/>
-                        </processIndex>
-                        <sequenceIndex direction="OUT" name="sequenceIndex">
-                            <scalar type="int32_t"/>
-                        </sequenceIndex>
-                        <chainIndex direction="OUT" name="chainIndex">
-                            <scalar type="int32_t"/>
-                        </chainIndex>
-                        <eventNumber direction="OUT" name="eventNumber">
-                            <scalar type="int32_t"/>
-                        </eventNumber>
-                        <timingGroupID direction="OUT" name="timingGroupID">
-                            <scalar type="int32_t"/>
-                        </timingGroupID>
-                        <acquisitionStamp direction="OUT" name="acquisitionStamp">
-                            <scalar type="int64_t"/>
-                        </acquisitionStamp>
-                        <eventStamp direction="OUT" name="eventStamp">
-                            <scalar type="int64_t"/>
-                        </eventStamp>
-                        <processStartStamp direction="OUT" name="processStartStamp">
-                            <scalar type="int64_t"/>
-                        </processStartStamp>
-                        <sequenceStartStamp direction="OUT" name="sequenceStartStamp">
-                            <scalar type="int64_t"/>
-                        </sequenceStartStamp>
-                        <chainStartStamp direction="OUT" name="chainStartStamp">
-                            <scalar type="int64_t"/>
-                        </chainStartStamp>
-                        <acquisition-context-field-ref field-name-ref="acquisitionContext"/>
-                    </acquisition-context-item>
-                </GSI-Acquisition-Property>
-                <GSI-Acquisition-Property cycle-bound="false" id="_231221102304_9" name="MyROBlockProp" on-change="true" subscribable="true" visibility="development">
-                    <value-item direction="OUT" id="_231221102304_98" name="RO_enum_fesa">
-                        <custom-type-scalar data-type-name-ref="TEST_ENUM"/>
-                        <data-field-ref field-name-ref="RO_enum_fesa"/>
-                    </value-item>
-                    <value-item direction="OUT" id="_231221102304_99" name="RO_dt_fesa">
-                        <scalar type="double"/>
-                        <data-field-ref field-name-ref="RO_dt_fesa"/>
-                    </value-item>
-                    <value-item direction="OUT" id="_231221102304_100" name="RO_real_fesa">
-                        <scalar type="float"/>
-                        <data-field-ref field-name-ref="RO_real_fesa"/>
-                    </value-item>
-                    <value-item direction="OUT" id="_231221102304_101" name="RO_dint_fesa">
-                        <scalar type="int32_t"/>
-                        <data-field-ref field-name-ref="RO_dint_fesa"/>
-                    </value-item>
-                    <value-item direction="OUT" id="_231221102304_102" name="RO_int_fesa">
-                        <scalar type="int16_t"/>
-                        <data-field-ref field-name-ref="RO_int_fesa"/>
-                    </value-item>
-                    <value-item direction="OUT" id="_231221102304_103" name="RO_dword_fesa">
-                        <scalar type="int64_t"/>
-                        <data-field-ref field-name-ref="RO_dword_fesa"/>
-                    </value-item>
-                    <value-item direction="OUT" id="_231221102304_104" name="RO_word_fesa">
-                        <scalar type="int32_t"/>
-                        <data-field-ref field-name-ref="RO_word_fesa"/>
-                    </value-item>
-                    <value-item direction="OUT" id="_231221102304_105" name="RO_byte_fesa">
-                        <scalar type="int16_t"/>
-                        <data-field-ref field-name-ref="RO_byte_fesa"/>
-                    </value-item>
-                    <value-item direction="OUT" id="_231221102304_106" name="RO_char_fesa">
-                        <scalar type="int8_t"/>
-                        <data-field-ref field-name-ref="RO_char_fesa"/>
-                    </value-item>
-                    <value-item direction="OUT" id="_231221102304_107" name="RO_date_fesa">
-                        <scalar type="double"/>
-                        <data-field-ref field-name-ref="RO_date_fesa"/>
-                    </value-item>
-                    <value-item direction="OUT" id="_231221102304_108" name="RO_string_fesa">
-                        <array type="char">
-                            <dim>64</dim>
-                        </array>
-                        <data-field-ref field-name-ref="RO_string_fesa"/>
-                    </value-item>
-                    <value-item direction="OUT" id="_231221102304_109" name="RO_float32_fesa">
-                        <scalar type="float"/>
-                        <data-field-ref field-name-ref="RO_float32_fesa"/>
-                    </value-item>
-                    <value-item direction="OUT" id="_231221102304_110" name="RO_uint32_fesa">
-                        <scalar type="int64_t"/>
-                        <data-field-ref field-name-ref="RO_uint32_fesa"/>
-                    </value-item>
-                    <value-item direction="OUT" id="_231221102304_111" name="RO_int32_fesa">
-                        <scalar type="int32_t"/>
-                        <data-field-ref field-name-ref="RO_int32_fesa"/>
-                    </value-item>
-                    <value-item direction="OUT" id="_231221102304_112" name="RO_uint16_fesa">
-                        <scalar type="int32_t"/>
-                        <data-field-ref field-name-ref="RO_uint16_fesa"/>
-                    </value-item>
-                    <value-item direction="OUT" id="_231221102304_113" name="RO_int16_fesa">
-                        <scalar type="int16_t"/>
-                        <data-field-ref field-name-ref="RO_int16_fesa"/>
-                    </value-item>
-                    <value-item direction="OUT" id="_231221102304_114" name="RO_uint8_fesa">
-                        <scalar type="int16_t"/>
-                        <data-field-ref field-name-ref="RO_uint8_fesa"/>
-                    </value-item>
-                    <value-item direction="OUT" id="_231221102304_115" name="RO_int8">
-                        <scalar type="int8_t"/>
-                        <data-field-ref field-name-ref="RO_int8"/>
-                    </value-item>
-                    <acq-stamp-item direction="OUT" id="_231221102304_116" name="acqStamp">
-                        <scalar type="int64_t"/>
-                    </acq-stamp-item>
-                    <update-flag-item direction="OUT" id="_231221102304_117" name="updateFlags" optional="true">
-                        <builtin-type-scalar data-type-name-ref="NOTIFICATION_UPDATE"/>
-                    </update-flag-item>
-                    <cycle-name-item direction="OUT" id="_231221102304_118" name="cycleName" optional="true">
-                        <array type="char">
-                            <dim>32</dim>
-                        </array>
-                    </cycle-name-item>
-                    <cycle-stamp-item direction="OUT" id="_231221102304_119" name="cycleStamp" optional="true">
-                        <scalar type="int64_t"/>
-                    </cycle-stamp-item>
-                    <get-action>
-                        <server-action-ref server-action-name-ref="GetMyROBlockProp"/>
-                    </get-action>
-                    <acquisition-context-item direction="OUT" id="_231221102304_120">
-                        <processIndex direction="OUT" name="processIndex">
-                            <scalar type="int32_t"/>
-                        </processIndex>
-                        <sequenceIndex direction="OUT" name="sequenceIndex">
-                            <scalar type="int32_t"/>
-                        </sequenceIndex>
-                        <chainIndex direction="OUT" name="chainIndex">
-                            <scalar type="int32_t"/>
-                        </chainIndex>
-                        <eventNumber direction="OUT" name="eventNumber">
-                            <scalar type="int32_t"/>
-                        </eventNumber>
-                        <timingGroupID direction="OUT" name="timingGroupID">
-                            <scalar type="int32_t"/>
-                        </timingGroupID>
-                        <acquisitionStamp direction="OUT" name="acquisitionStamp">
-                            <scalar type="int64_t"/>
-                        </acquisitionStamp>
-                        <eventStamp direction="OUT" name="eventStamp">
-                            <scalar type="int64_t"/>
-                        </eventStamp>
-                        <processStartStamp direction="OUT" name="processStartStamp">
-                            <scalar type="int64_t"/>
-                        </processStartStamp>
-                        <sequenceStartStamp direction="OUT" name="sequenceStartStamp">
-                            <scalar type="int64_t"/>
-                        </sequenceStartStamp>
-                        <chainStartStamp direction="OUT" name="chainStartStamp">
-                            <scalar type="int64_t"/>
-                        </chainStartStamp>
-                        <acquisition-context-field-ref field-name-ref="acquisitionContext"/>
-                    </acquisition-context-item>
-                </GSI-Acquisition-Property>
-                <GSI-Acquisition-Property cycle-bound="false" id="_231221102304_10" name="MyCBlockProp" on-change="true" subscribable="true" visibility="development">
-                    <value-item direction="OUT" id="_231221102304_121" name="C_dt_fesa">
-                        <array2D type="double">
-                            <dim1>2</dim1>
-                            <dim2>2</dim2>
-                        </array2D>
-                        <data-field-ref field-name-ref="C_dt_fesa"/>
-                    </value-item>
-                    <value-item direction="OUT" id="_231221102304_122" name="C_real_fesa">
-                        <array2D type="float">
-                            <dim1>2</dim1>
-                            <dim2>2</dim2>
-                        </array2D>
-                        <data-field-ref field-name-ref="C_real_fesa"/>
-                    </value-item>
-                    <value-item direction="OUT" id="_231221102304_123" name="C_dint_fesa">
-                        <array2D type="int32_t">
-                            <dim1>2</dim1>
-                            <dim2>2</dim2>
-                        </array2D>
-                        <data-field-ref field-name-ref="C_dint_fesa"/>
-                    </value-item>
-                    <value-item direction="OUT" id="_231221102304_124" name="C_int_fesa">
-                        <array2D type="int16_t">
-                            <dim1>2</dim1>
-                            <dim2>2</dim2>
-                        </array2D>
-                        <data-field-ref field-name-ref="C_int_fesa"/>
-                    </value-item>
-                    <value-item direction="OUT" id="_231221102304_125" name="C_dword_fesa">
-                        <array2D type="int64_t">
-                            <dim1>2</dim1>
-                            <dim2>2</dim2>
-                        </array2D>
-                        <data-field-ref field-name-ref="C_dword_fesa"/>
-                    </value-item>
-                    <value-item direction="OUT" id="_231221102304_126" name="C_word_fesa">
-                        <array2D type="int32_t">
-                            <dim1>2</dim1>
-                            <dim2>2</dim2>
-                        </array2D>
-                        <data-field-ref field-name-ref="C_word_fesa"/>
-                    </value-item>
-                    <value-item direction="OUT" id="_231221102304_127" name="C_byte_fesa">
-                        <array2D type="int16_t">
-                            <dim1>2</dim1>
-                            <dim2>2</dim2>
-                        </array2D>
-                        <data-field-ref field-name-ref="C_byte_fesa"/>
-                    </value-item>
-                    <value-item direction="OUT" id="_231221102304_128" name="C_char_fesa">
-                        <array2D type="int8_t">
-                            <dim1>2</dim1>
-                            <dim2>2</dim2>
-                        </array2D>
-                        <data-field-ref field-name-ref="C_char_fesa"/>
-                    </value-item>
-                    <value-item direction="OUT" id="_231221102304_129" name="C_date_fesa">
-                        <array2D type="double">
-                            <dim1>2</dim1>
-                            <dim2>2</dim2>
-                        </array2D>
-                        <data-field-ref field-name-ref="C_date_fesa"/>
-                    </value-item>
-                    <value-item direction="OUT" id="_231221102304_130" name="C_float32_fesa">
-                        <array2D type="float">
-                            <dim1>2</dim1>
-                            <dim2>2</dim2>
-                        </array2D>
-                        <data-field-ref field-name-ref="C_float32_fesa"/>
-                    </value-item>
-                    <value-item direction="OUT" id="_231221102304_131" name="C_uint32_fesa">
-                        <array2D type="int64_t">
-                            <dim1>2</dim1>
-                            <dim2>2</dim2>
-                        </array2D>
-                        <data-field-ref field-name-ref="C_uint32_fesa"/>
-                    </value-item>
-                    <value-item direction="OUT" id="_231221102304_132" name="C_int32_fesa">
-                        <array2D type="int32_t">
-                            <dim1>2</dim1>
-                            <dim2>2</dim2>
-                        </array2D>
-                        <data-field-ref field-name-ref="C_int32_fesa"/>
-                    </value-item>
-                    <value-item direction="OUT" id="_231221102304_133" name="C_uint16_fesa">
-                        <array2D type="int32_t">
-                            <dim1>2</dim1>
-                            <dim2>2</dim2>
-                        </array2D>
-                        <data-field-ref field-name-ref="C_uint16_fesa"/>
-                    </value-item>
-                    <value-item direction="OUT" id="_231221102304_134" name="C_int16_fesa">
-                        <array2D type="int16_t">
-                            <dim1>2</dim1>
-                            <dim2>2</dim2>
-                        </array2D>
-                        <data-field-ref field-name-ref="C_int16_fesa"/>
-                    </value-item>
-                    <value-item direction="OUT" id="_231221102304_135" name="C_uint8_fesa">
-                        <array2D type="int16_t">
-                            <dim1>2</dim1>
-                            <dim2>2</dim2>
-                        </array2D>
-                        <data-field-ref field-name-ref="C_uint8_fesa"/>
-                    </value-item>
-                    <value-item direction="OUT" id="_231221102304_136" name="C_int8">
-                        <array2D type="int8_t">
-                            <dim1>2</dim1>
-                            <dim2>2</dim2>
-                        </array2D>
-                        <data-field-ref field-name-ref="C_int8"/>
-                    </value-item>
-                    <acq-stamp-item direction="OUT" id="_231221102304_137" name="acqStamp">
-                        <scalar type="int64_t"/>
-                    </acq-stamp-item>
-                    <update-flag-item direction="OUT" id="_231221102304_138" name="updateFlags" optional="true">
-                        <builtin-type-scalar data-type-name-ref="NOTIFICATION_UPDATE"/>
-                    </update-flag-item>
-                    <cycle-name-item direction="OUT" id="_231221102304_139" name="cycleName" optional="true">
-                        <array type="char">
-                            <dim>32</dim>
-                        </array>
-                    </cycle-name-item>
-                    <cycle-stamp-item direction="OUT" id="_231221102304_140" name="cycleStamp" optional="true">
-                        <scalar type="int64_t"/>
-                    </cycle-stamp-item>
-                    <get-action>
-                        <server-action-ref server-action-name-ref="GetMyCBlockProp"/>
-                    </get-action>
-                    <acquisition-context-item direction="OUT" id="_231221102304_141">
+                    <acquisition-context-item direction="OUT" id="_240112141715_3">
                         <processIndex direction="OUT" name="processIndex">
                             <scalar type="int32_t"/>
                         </processIndex>
@@ -859,36 +254,36 @@ corresponding string array containing keys to illustrate the meaning of the deta
                         <acquisition-context-field-ref field-name-ref="acquisitionContext"/>
                     </acquisition-context-item>
                 </GSI-Acquisition-Property>
-                <GSI-Version-Property cycle-bound="false" id="_231221102304_11" name="Version" on-change="false" subscribable="false" visibility="operational">
+                <GSI-Acquisition-Property name="MyROBlockProp" visibility="development" subscribable="true" cycle-bound="false" on-change="true" id="_240112141711_9"><value-item name="RO_enum_fesa" direction="OUT" id="_240112141715_4"><custom-type-scalar data-type-name-ref="TEST_ENUM"/><data-field-ref field-name-ref="RO_enum_fesa"/></value-item><value-item name="RO_dt_fesa" direction="OUT" id="_240112141715_5"><scalar type="double"/><data-field-ref field-name-ref="RO_dt_fesa"/></value-item><value-item name="RO_real_fesa" direction="OUT" id="_240112141715_6"><scalar type="float"/><data-field-ref field-name-ref="RO_real_fesa"/></value-item><value-item name="RO_dint_fesa" direction="OUT" id="_240112141715_7"><scalar type="int32_t"/><data-field-ref field-name-ref="RO_dint_fesa"/></value-item><value-item name="RO_int_fesa" direction="OUT" id="_240112141715_8"><scalar type="int16_t"/><data-field-ref field-name-ref="RO_int_fesa"/></value-item><value-item name="RO_dword_fesa" direction="OUT" id="_240112141715_9"><scalar type="int64_t"/><data-field-ref field-name-ref="RO_dword_fesa"/></value-item><value-item name="RO_word_fesa" direction="OUT" id="_240112141715_10"><scalar type="int32_t"/><data-field-ref field-name-ref="RO_word_fesa"/></value-item><value-item name="RO_byte_fesa" direction="OUT" id="_240112141715_11"><scalar type="int16_t"/><data-field-ref field-name-ref="RO_byte_fesa"/></value-item><value-item name="RO_char_fesa" direction="OUT" id="_240112141715_12"><scalar type="int8_t"/><data-field-ref field-name-ref="RO_char_fesa"/></value-item><value-item name="RO_date_fesa" direction="OUT" id="_240112141715_13"><scalar type="double"/><data-field-ref field-name-ref="RO_date_fesa"/></value-item><value-item name="RO_string_fesa" direction="OUT" id="_240112141715_14"><array type="char"><dim>64</dim></array><data-field-ref field-name-ref="RO_string_fesa"/></value-item><value-item name="RO_float32_fesa" direction="OUT" id="_240112141715_15"><scalar type="float"/><data-field-ref field-name-ref="RO_float32_fesa"/></value-item><value-item name="RO_uint32_fesa" direction="OUT" id="_240112141715_16"><scalar type="int64_t"/><data-field-ref field-name-ref="RO_uint32_fesa"/></value-item><value-item name="RO_int32_fesa" direction="OUT" id="_240112141715_17"><scalar type="int32_t"/><data-field-ref field-name-ref="RO_int32_fesa"/></value-item><value-item name="RO_uint16_fesa" direction="OUT" id="_240112141715_18"><scalar type="int32_t"/><data-field-ref field-name-ref="RO_uint16_fesa"/></value-item><value-item name="RO_int16_fesa" direction="OUT" id="_240112141715_19"><scalar type="int16_t"/><data-field-ref field-name-ref="RO_int16_fesa"/></value-item><value-item name="RO_uint8_fesa" direction="OUT" id="_240112141715_20"><scalar type="int16_t"/><data-field-ref field-name-ref="RO_uint8_fesa"/></value-item><value-item name="RO_int8" direction="OUT" id="_240112141715_21"><scalar type="int8_t"/><data-field-ref field-name-ref="RO_int8"/></value-item><acq-stamp-item direction="OUT" name="acqStamp" id="_240112141715_22"><scalar type="int64_t"/></acq-stamp-item><update-flag-item direction="OUT" name="updateFlags" optional="true" id="_240112141715_23"><builtin-type-scalar data-type-name-ref="NOTIFICATION_UPDATE"/></update-flag-item><cycle-name-item direction="OUT" name="cycleName" optional="true" id="_240112141715_24"><array type="char"><dim>32</dim></array></cycle-name-item><cycle-stamp-item direction="OUT" name="cycleStamp" optional="true" id="_240112141715_25"><scalar type="int64_t"/></cycle-stamp-item><get-action><server-action-ref server-action-name-ref="GetMyROBlockProp"/></get-action><acquisition-context-item direction="OUT" id="_240112141715_26"><processIndex direction="OUT" name="processIndex"><scalar type="int32_t"/></processIndex><sequenceIndex direction="OUT" name="sequenceIndex"><scalar type="int32_t"/></sequenceIndex><chainIndex direction="OUT" name="chainIndex"><scalar type="int32_t"/></chainIndex><eventNumber direction="OUT" name="eventNumber"><scalar type="int32_t"/></eventNumber><timingGroupID direction="OUT" name="timingGroupID"><scalar type="int32_t"/></timingGroupID><acquisitionStamp direction="OUT" name="acquisitionStamp"><scalar type="int64_t"/></acquisitionStamp><eventStamp direction="OUT" name="eventStamp"><scalar type="int64_t"/></eventStamp><processStartStamp direction="OUT" name="processStartStamp"><scalar type="int64_t"/></processStartStamp><sequenceStartStamp direction="OUT" name="sequenceStartStamp"><scalar type="int64_t"/></sequenceStartStamp><chainStartStamp direction="OUT" name="chainStartStamp"><scalar type="int64_t"/></chainStartStamp><acquisition-context-field-ref field-name-ref="acquisitionContext"/></acquisition-context-item></GSI-Acquisition-Property><GSI-Acquisition-Property name="MyCBlockProp" visibility="development" subscribable="true" cycle-bound="false" on-change="true" id="_240112141711_10"><value-item name="C_dt_fesa" direction="OUT" id="_240112141715_27"><array2D type="double"><dim1>2</dim1><dim2>2</dim2></array2D><data-field-ref field-name-ref="C_dt_fesa"/></value-item><value-item name="C_real_fesa" direction="OUT" id="_240112141715_28"><array2D type="float"><dim1>2</dim1><dim2>2</dim2></array2D><data-field-ref field-name-ref="C_real_fesa"/></value-item><value-item name="C_dint_fesa" direction="OUT" id="_240112141715_29"><array2D type="int32_t"><dim1>2</dim1><dim2>2</dim2></array2D><data-field-ref field-name-ref="C_dint_fesa"/></value-item><value-item name="C_int_fesa" direction="OUT" id="_240112141715_30"><array2D type="int16_t"><dim1>2</dim1><dim2>2</dim2></array2D><data-field-ref field-name-ref="C_int_fesa"/></value-item><value-item name="C_dword_fesa" direction="OUT" id="_240112141715_31"><array2D type="int64_t"><dim1>2</dim1><dim2>2</dim2></array2D><data-field-ref field-name-ref="C_dword_fesa"/></value-item><value-item name="C_word_fesa" direction="OUT" id="_240112141715_32"><array2D type="int32_t"><dim1>2</dim1><dim2>2</dim2></array2D><data-field-ref field-name-ref="C_word_fesa"/></value-item><value-item name="C_byte_fesa" direction="OUT" id="_240112141715_33"><array2D type="int16_t"><dim1>2</dim1><dim2>2</dim2></array2D><data-field-ref field-name-ref="C_byte_fesa"/></value-item><value-item name="C_char_fesa" direction="OUT" id="_240112141715_34"><array2D type="int8_t"><dim1>2</dim1><dim2>2</dim2></array2D><data-field-ref field-name-ref="C_char_fesa"/></value-item><value-item name="C_date_fesa" direction="OUT" id="_240112141716_0"><array2D type="double"><dim1>2</dim1><dim2>2</dim2></array2D><data-field-ref field-name-ref="C_date_fesa"/></value-item><value-item name="C_float32_fesa" direction="OUT" id="_240112141716_1"><array2D type="float"><dim1>2</dim1><dim2>2</dim2></array2D><data-field-ref field-name-ref="C_float32_fesa"/></value-item><value-item name="C_uint32_fesa" direction="OUT" id="_240112141716_2"><array2D type="int64_t"><dim1>2</dim1><dim2>2</dim2></array2D><data-field-ref field-name-ref="C_uint32_fesa"/></value-item><value-item name="C_int32_fesa" direction="OUT" id="_240112141716_3"><array2D type="int32_t"><dim1>2</dim1><dim2>2</dim2></array2D><data-field-ref field-name-ref="C_int32_fesa"/></value-item><value-item name="C_uint16_fesa" direction="OUT" id="_240112141716_4"><array2D type="int32_t"><dim1>2</dim1><dim2>2</dim2></array2D><data-field-ref field-name-ref="C_uint16_fesa"/></value-item><value-item name="C_int16_fesa" direction="OUT" id="_240112141716_5"><array2D type="int16_t"><dim1>2</dim1><dim2>2</dim2></array2D><data-field-ref field-name-ref="C_int16_fesa"/></value-item><value-item name="C_uint8_fesa" direction="OUT" id="_240112141716_6"><array2D type="int16_t"><dim1>2</dim1><dim2>2</dim2></array2D><data-field-ref field-name-ref="C_uint8_fesa"/></value-item><value-item name="C_int8" direction="OUT" id="_240112141716_7"><array2D type="int8_t"><dim1>2</dim1><dim2>2</dim2></array2D><data-field-ref field-name-ref="C_int8"/></value-item><acq-stamp-item direction="OUT" name="acqStamp" id="_240112141716_8"><scalar type="int64_t"/></acq-stamp-item><update-flag-item direction="OUT" name="updateFlags" optional="true" id="_240112141716_9"><builtin-type-scalar data-type-name-ref="NOTIFICATION_UPDATE"/></update-flag-item><cycle-name-item direction="OUT" name="cycleName" optional="true" id="_240112141716_10"><array type="char"><dim>32</dim></array></cycle-name-item><cycle-stamp-item direction="OUT" name="cycleStamp" optional="true" id="_240112141716_11"><scalar type="int64_t"/></cycle-stamp-item><get-action><server-action-ref server-action-name-ref="GetMyCBlockProp"/></get-action><acquisition-context-item direction="OUT" id="_240112141716_12"><processIndex direction="OUT" name="processIndex"><scalar type="int32_t"/></processIndex><sequenceIndex direction="OUT" name="sequenceIndex"><scalar type="int32_t"/></sequenceIndex><chainIndex direction="OUT" name="chainIndex"><scalar type="int32_t"/></chainIndex><eventNumber direction="OUT" name="eventNumber"><scalar type="int32_t"/></eventNumber><timingGroupID direction="OUT" name="timingGroupID"><scalar type="int32_t"/></timingGroupID><acquisitionStamp direction="OUT" name="acquisitionStamp"><scalar type="int64_t"/></acquisitionStamp><eventStamp direction="OUT" name="eventStamp"><scalar type="int64_t"/></eventStamp><processStartStamp direction="OUT" name="processStartStamp"><scalar type="int64_t"/></processStartStamp><sequenceStartStamp direction="OUT" name="sequenceStartStamp"><scalar type="int64_t"/></sequenceStartStamp><chainStartStamp direction="OUT" name="chainStartStamp"><scalar type="int64_t"/></chainStartStamp><acquisition-context-field-ref field-name-ref="acquisitionContext"/></acquisition-context-item></GSI-Acquisition-Property><GSI-Version-Property cycle-bound="false" name="Version" on-change="false" subscribable="false" visibility="operational" id="_240112141711_11">
                     <description>Returns the current software and hardware versions of a piece of equipment.</description>
-                    <acq-stamp-item direction="OUT" id="_231221102304_142" name="acqStamp">
+                    <acq-stamp-item direction="OUT" name="acqStamp" id="_240112141716_13">
                         <scalar type="int64_t"/>
                     </acq-stamp-item>
-                    <update-flag-item direction="OUT" id="_231221102304_143" name="updateFlags" optional="true">
+                    <update-flag-item direction="OUT" name="updateFlags" optional="true" id="_240112141716_14">
                         <builtin-type-scalar data-type-name-ref="NOTIFICATION_UPDATE"/>
                     </update-flag-item>
-                    <cycle-name-item direction="OUT" id="_231221102304_144" name="cycleName" optional="true">
+                    <cycle-name-item direction="OUT" name="cycleName" optional="true" id="_240112141716_15">
                         <array type="char">
                             <dim>32</dim>
                         </array>
                     </cycle-name-item>
-                    <cycle-stamp-item direction="OUT" id="_231221102304_145" name="cycleStamp" optional="true">
+                    <cycle-stamp-item direction="OUT" name="cycleStamp" optional="true" id="_240112141716_16">
                         <scalar type="int64_t"/>
                     </cycle-stamp-item>
                     <get-action>
                         <server-action-ref server-action-name-ref="VersionGetAction"/>
                     </get-action>
-                    <version-item direction="OUT" id="_231221102304_146" name="classVersion">
+                    <version-item direction="OUT" name="classVersion" id="_240112141716_17">
                         <array type="char">
                             <custom-constant-dim constant-name-ref="MAX_VERSION_NAME_LENGTH"/>
                         </array>
                     </version-item>
-                    <version-item direction="OUT" id="_231221102304_147" name="deployUnitVersion">
+                    <version-item direction="OUT" name="deployUnitVersion" id="_240112141716_18">
                         <array type="char">
                             <custom-constant-dim constant-name-ref="MAX_VERSION_NAME_LENGTH"/>
                         </array>
                     </version-item>
-                    <version-item direction="OUT" id="_231221102304_148" name="fesaVersion">
+                    <version-item direction="OUT" name="fesaVersion" id="_240112141716_19">
                         <array type="char">
                             <custom-constant-dim constant-name-ref="MAX_VERSION_NAME_LENGTH"/>
                         </array>
@@ -898,39 +293,39 @@ corresponding string array containing keys to illustrate the meaning of the deta
       </device-interface>
         <global-interface>
             <setting>
-                <diagnostic-property id="_231221102304_12" multiplexed="false" name="DiagnosticSetting" visibility="expert">
+                <diagnostic-property multiplexed="false" name="DiagnosticSetting" visibility="expert" id="_240112141711_12">
                     <description>Generic property which allows to diagnose any FESA classes</description>
-                        <mode-item direction="INOUT" id="_231221102304_149" name="enableDiagMode">
+                        <mode-item direction="INOUT" name="enableDiagMode" id="_240112141716_20">
                             <scalar type="bool"/>
                         </mode-item>
-                        <host-item direction="INOUT" id="_231221102304_150" name="hostName">
+                        <host-item direction="INOUT" name="hostName" id="_240112141716_21">
                         	<description>Host of the FESA class</description>
                             <array type="char">
                                 <dim>32</dim>
                             </array>
                         </host-item>
-                        <port-item direction="INOUT" id="_231221102304_151" name="portNumber">
+                        <port-item direction="INOUT" name="portNumber" id="_240112141716_22">
                         	<description>Port used by the FESA class</description>
                             <scalar type="int32_t"/>
                         </port-item>
-                        <config-item direction="IN" id="_231221102304_152" name="requestConfig">
+                        <config-item direction="IN" name="requestConfig" id="_240112141716_23">
                             <scalar type="bool"/>
                         </config-item>
-                        <state-item direction="IN" id="_231221102304_153" name="requestState">
+                        <state-item direction="IN" name="requestState" id="_240112141716_24">
                             <scalar type="bool"/>
                         </state-item>
-                        <fwk-topic-item direction="INOUT" id="_231221102304_154" name="fwkTopic">
+                        <fwk-topic-item direction="INOUT" name="fwkTopic" id="_240112141716_25">
                             <builtin-type-scalar data-type-name-ref="DIAG_FWK_TOPIC"/>
                         </fwk-topic-item>
-                        <custom-topic-item direction="INOUT" id="_231221102304_155" name="customTopic">
+                        <custom-topic-item direction="INOUT" name="customTopic" id="_240112141716_26">
                             <custom-type-scalar data-type-name-ref="DIAG_TOPIC"/>
                         </custom-topic-item>
-                        <device-trace-item direction="INOUT" id="_231221102304_156" name="traceDevices">
+                        <device-trace-item direction="INOUT" name="traceDevices" id="_240112141716_27">
                             <array type="char">
                                 <dim>320</dim>
                             </array>
                         </device-trace-item>
-                        <bypass-action-item direction="INOUT" id="_231221102304_157" name="bypassActions">
+                        <bypass-action-item direction="INOUT" name="bypassActions" id="_240112141716_28">
                             <array type="char">
                                 <dim>320</dim>
                             </array>
@@ -938,31 +333,31 @@ corresponding string array containing keys to illustrate the meaning of the deta
                 </diagnostic-property>
             </setting>
             <acquisition>
-                <GSI-DeviceDescription-Property cycle-bound="false" id="_231221102304_13" name="DeviceDescription" on-change="false" subscribable="false" visibility="operational">
-                    <timing-info-item direction="OUT" id="_231221102304_158" name="deviceNameTimingReceiver">
+                <GSI-DeviceDescription-Property cycle-bound="false" name="DeviceDescription" on-change="false" subscribable="false" visibility="operational" id="_240112141711_13">
+                    <timing-info-item direction="OUT" name="deviceNameTimingReceiver" id="_240112141716_29">
                         <array type="char">
                             <variable-dim/>
                         </array>
                         <data-field-ref field-name-ref="deviceNameTimingReceiver"/>
                     </timing-info-item>
-                    <property-info-item direction="OUT" id="_231221102304_159" name="propertyNames">
+                    <property-info-item direction="OUT" name="propertyNames" id="_240112141716_30">
                         <array2D type="char">
                             <variable-dim1/>
                             <variable-dim2/>
                         </array2D>
                     </property-info-item>
-                    <device-info-item direction="OUT" id="_231221102304_160" name="deviceNames">
+                    <device-info-item direction="OUT" name="deviceNames" id="_240112141716_31">
                         <array2D type="char">
                             <variable-dim1/>
                             <variable-dim2/>
                         </array2D>
                     </device-info-item>
-                    <global-device-info-item direction="OUT" id="_231221102304_161" name="globalDeviceName">
+                    <global-device-info-item direction="OUT" name="globalDeviceName" id="_240112141717_0">
                         <array type="char">
                             <variable-dim/>
                         </array>
                     </global-device-info-item>
-                    <host-info-item direction="OUT" id="_231221102304_162" name="host">
+                    <host-info-item direction="OUT" name="host" id="_240112141717_1">
                         <array type="char">
                             <variable-dim/>
                         </array>
@@ -995,89 +390,89 @@ corresponding string array containing keys to illustrate the meaning of the deta
         </diag-fwk-topic>
         <fault-severity name="FaultSeverity">
         	<description>Enumeration listing the available fault severities used by the fault fields</description>
-        	<INFO access="RO" meaning="NONE" symbol="INFO" value="0"/>
-        	<WARNING access="RO" meaning="WARNING" symbol="WARNING" value="1"/>
-        	<ERROR access="RO" meaning="ERROR" symbol="ERROR" value="2"/>
-        	<CRITICAL access="RO" meaning="ERROR" symbol="CRITICAL" value="3"/>
+        	<INFO access="RO" meaning="NONE" value="0" symbol="INFO"/>
+        	<WARNING access="RO" meaning="WARNING" value="1" symbol="WARNING"/>
+        	<ERROR access="RO" meaning="ERROR" value="2" symbol="ERROR"/>
+        	<CRITICAL access="RO" meaning="ERROR" value="3" symbol="CRITICAL"/>
         </fault-severity>
 
     </builtin-types>
     <custom-types>
-        <diag-custom-topic id="_231221102304_268" name="DIAG_TOPIC">
+        <diag-custom-topic name="DIAG_TOPIC" id="_240112141720_0">
         </diag-custom-topic>
-        <enum id="_231221102304_269" name="DEVICE_STATUS">
+        <enum name="DEVICE_STATUS" id="_240112141720_1">
         <!--Possible (mutually exclusive) values to describe the device status-->
             
-            <item access="RW" id="_231221102304_288" meaning="NONE" symbol="UNKNOWN" value="0"/>
+            <item access="RW" meaning="NONE" symbol="UNKNOWN" value="0" id="_240112141720_20"/>
             <!--The device status is unknown-->
             
-            <item access="RW" id="_231221102304_289" meaning="NONE" symbol="OK" value="1"/>
+            <item access="RW" meaning="NONE" symbol="OK" value="1" id="_240112141720_21"/>
             <!--The device is in fully operational state-->
             
-            <item access="RW" id="_231221102304_290" meaning="NONE" symbol="WARNING" value="2"/>
+            <item access="RW" meaning="NONE" symbol="WARNING" value="2" id="_240112141720_22"/>
             <!--The device is not fully operational; A device in WARNING state can still be used operationally, -->
             <!--but clients must be informed of a problem that might become worse. Details are explained in the errorMsg field.-->
             
-            <item access="RW" id="_231221102304_291" meaning="NONE" symbol="ERROR" value="3"/>
+            <item access="RW" meaning="NONE" symbol="ERROR" value="3" id="_240112141720_23"/>
             <!--The device is in a fault state. Details are explained in the errorMsg field-->
         </enum>
-        <enum id="_231221102304_270" name="DEVICE_POWER_STATE">
+        <enum name="DEVICE_POWER_STATE" id="_240112141720_2">
         <!--Possible (mutually exclusive) values to describe the power-state of the device.-->
             
-            <item access="RW" id="_231221102304_292" meaning="NONE" symbol="UNKNOWN" value="0"/>
+            <item access="RW" meaning="NONE" symbol="UNKNOWN" value="0" id="_240112141720_24"/>
             <!--The device mode is unknown-->
             
-            <item access="RW" id="_231221102304_293" meaning="ON" symbol="ON" value="1"/>
+            <item access="RW" meaning="ON" symbol="ON" value="1" id="_240112141720_25"/>
             <!--The device is in fully operational state-->
             
-            <item access="RW" id="_231221102304_294" meaning="NONE" symbol="OFF" value="2"/>
+            <item access="RW" meaning="NONE" symbol="OFF" value="2" id="_240112141720_26"/>
             <!--The device is turned off-->
             
-            <item access="RW" id="_231221102304_295" meaning="NONE" symbol="STANDBY" value="3"/>
+            <item access="RW" meaning="NONE" symbol="STANDBY" value="3" id="_240112141720_27"/>
             <!--The device is in a stand-by mode. This mode is a sort of “parking mode” in which the device can -->
             <!--stay for hours or even days. It is defined by the following characteristics:-->
             <!--It is safe, it does not wear out, it consumes little energy.-->
             <!--Furthermore, it takes a short time to go from STANDBY to ON mode-->
             
-            <item access="RW" id="_231221102304_296" meaning="NONE" symbol="POWER_DOWN" value="4"/>
+            <item access="RW" meaning="NONE" symbol="POWER_DOWN" value="4" id="_240112141720_28"/>
             <!--The device is shutting down. Note that some properties may not be accessible during this time.-->
             <!--After shutdown the device will be in the mode OFF-->
             
-            <item access="RW" id="_231221102304_297" meaning="NONE" symbol="POWER_UP" value="5"/>
+            <item access="RW" meaning="NONE" symbol="POWER_UP" value="5" id="_240112141720_29"/>
             <!--The device is starting up. Note that some properties may not be accessible during this time.-->
             <!--After (re-)starting the device probably will be in the mode ON-->
             
         </enum>
-        <enum id="_231221102304_271" name="DEVICE_POWER">
+        <enum name="DEVICE_POWER" id="_240112141720_3">
         <!--An enumeration Type used to control the operational mode of the device.-->
         <!--Its values are a subset of those in the DEVICE_POWER_STATE type-->
-            <item access="RW" id="_231221102304_298" meaning="ON" symbol="ON" value="1"/>
+            <item access="RW" meaning="ON" symbol="ON" value="1" id="_240112141720_30"/>
             <!--The device is in fully operational state-->     
             
-            <item access="RW" id="_231221102304_299" meaning="OFF" symbol="OFF" value="2"/>
+            <item access="RW" meaning="OFF" symbol="OFF" value="2" id="_240112141720_31"/>
             <!--The device is turned off-->
         </enum>
-        <enum id="_231221102304_272" name="DEVICE_CONTROL">
+        <enum name="DEVICE_CONTROL" id="_240112141720_4">
         <!--Possible values to describe the control mode of a device-->
         <!--Currently two control modes (LOCAL, REMOTE) are defined-->
         
-            <item access="RW" id="_231221102304_300" meaning="NONE" symbol="REMOTE" value="0"/>
+            <item access="RW" meaning="NONE" symbol="REMOTE" value="0" id="_240112141720_32"/>
             <!--The device can be controlled normally through the control system-->
             
-            <item access="RW" id="_231221102304_301" meaning="NONE" symbol="LOCAL" value="1"/>
+            <item access="RW" meaning="NONE" symbol="LOCAL" value="1" id="_240112141720_33"/>
             <!--The device can be controlled locally. But it can be accessed in read-only mode via the control system-->
         </enum>
-        <enum id="_231221102304_273" name="TOL_CHECK_MODE">
+        <enum name="TOL_CHECK_MODE" id="_240112141720_5">
         <!--This constant defines possible modes to check whether a control value is inside the tolerance values.-->
         <!--Used to give information on how the tolerance fields are used to calculate the xxx_status information.-->
         
-            <item access="RO" id="_231221102304_302" symbol="ABS" value="0"/>
+            <item access="RO" symbol="ABS" value="0" id="_240112141720_34"/>
             <!--Use the absolute tolerance _tolAbs-->
             
-            <item access="RO" id="_231221102304_303" symbol="REL" value="1"/>
+            <item access="RO" symbol="REL" value="1" id="_240112141720_35"/>
             <!--Use the relative tolerance _tolRel-->
         </enum>
-        <bit-enum-32bits id="_231221102304_274" name="AQN_STATUS">
+        <bit-enum-32bits name="AQN_STATUS" id="_240112141720_6">
         <!--Possible values to describe the acquisition status of a field (in the _status suffix)-->
         <!--If this suffix is missing, it means that no additional status information is provided for the corresponding field-->
         <!--If all bits are 0, this means that the corresponding field is OK.-->
@@ -1116,231 +511,116 @@ corresponding string array containing keys to illustrate the meaning of the deta
             <!--into bit 16..32 you can put in anything you want-->
         </bit-enum-32bits>
 
-        <struct id="_231221102304_275" name="GSI_ERROR">
+        <struct name="GSI_ERROR" id="_240112141720_7">
         <!--This struct-item describes the structure of an GSI-error-->
-            <struct-item id="_231221102304_316" name="error_string">
+            <struct-item name="error_string" id="_240112141721_12">
             <!--This string holds the error-message-->
                 <array type="char">
                     <custom-constant-dim constant-name-ref="MAX_ERROR_MESSAGE_LENGTH"/>
                 </array>
             </struct-item>
-            <struct-item id="_231221102304_317" name="error_code">
+            <struct-item name="error_code" id="_240112141721_13">
             <!--The error code according to the defined error-message-->
                 <scalar type="int32_t"/>
             </struct-item>
             <!--The timestamp when the error occured-->
-            <struct-item id="_231221102304_318" name="error_timestamp">
+            <struct-item name="error_timestamp" id="_240112141721_14">
                 <scalar type="int64_t"/>
             </struct-item>
             <!--The cycle for which the error occured-->
-            <struct-item id="_231221102304_319" name="error_cycle_name">
+            <struct-item name="error_cycle_name" id="_240112141721_15">
                 <array type="char">
                     <custom-constant-dim constant-name-ref="MAX_CYCLE_NAME_LENGTH"/>
                 </array>
             </struct-item>
         </struct>
-        <struct id="_231221102304_276" name="GSI_ACQ_CONTEXT">
-            <description>WhiteRabbit event specific acquisition information</description>
-        	<struct-item id="_231221102304_320" name="processIndex">
+        <struct name="GSI_ACQ_CONTEXT" id="_240112141720_8"><description>WhiteRabbit event specific acquisition information</description>
+        	<struct-item name="processIndex" id="_240112141721_16">
         		<description>Used in order to index process-multiplexed data</description>
         		<scalar type="int32_t"/>
         	</struct-item>
-        	<struct-item id="_231221102304_321" name="sequenceIndex">
+        	<struct-item name="sequenceIndex" id="_240112141721_17">
         	    <description>Used in order to index sequence-multiplexed data</description>
         		<scalar type="int32_t"/>
         	</struct-item>
-        	<struct-item id="_231221102304_322" name="chainIndex">
+        	<struct-item name="chainIndex" id="_240112141721_18">
         	    <description>Refers to a specific beam production chain</description>
         		<scalar type="int32_t"/>
         	</struct-item>
-        	<struct-item id="_231221102304_323" name="eventNumber">
+        	<struct-item name="eventNumber" id="_240112141721_19">
         	    <description>The number of the event describes it's type</description>
         		<scalar type="int32_t"/>
         	</struct-item>
-        	<struct-item id="_231221102304_324" name="timingGroupID">
+        	<struct-item name="timingGroupID" id="_240112141721_20">
         	    <description>ID of the timing group for which the event is relevant</description>
         		<scalar type="int32_t"/>
         	</struct-item>
-        	<struct-item id="_231221102304_325" name="acquisitionStamp">
+        	<struct-item name="acquisitionStamp" id="_240112141721_21">
         	    <description>The acquisition stamp is used to indicate when a measurement was done</description>
                 <scalar type="int64_t"/>
             </struct-item>
-        	<struct-item id="_231221102304_326" name="eventStamp">
+        	<struct-item name="eventStamp" id="_240112141721_22">
         	    <description>The event stamp is used to indicate when WhiteRabbit event was triggered on the Timing Receiver</description>
         		<scalar type="int64_t"/>
         	</struct-item>
-        	<struct-item id="_231221102304_327" name="processStartStamp">
+        	<struct-item name="processStartStamp" id="_240112141721_23">
         	    <description>The process start stamp indicates when the first event of the current process was triggered</description>
         		<scalar type="int64_t"/>
         	</struct-item>
-        	<struct-item id="_231221102304_328" name="sequenceStartStamp">
+        	<struct-item name="sequenceStartStamp" id="_240112141721_24">
         	    <description>The sequence start stamp indicates when the first event of the current sequence was triggered</description>
         		<scalar type="int64_t"/>
         	</struct-item>
-        	<struct-item id="_231221102304_329" name="chainStartStamp">
+        	<struct-item name="chainStartStamp" id="_240112141721_25">
         	    <description>The chain start stamp indicates when the first event of the current chain was triggered</description>
         		<scalar type="int64_t"/>
         	</struct-item>
         </struct>
-        <constant id="_231221102304_277" name="MAX_ERROR_MESSAGE_LENGTH" type="uint32_t" value="256"/>
-        <constant id="_231221102304_278" name="MAX_NUMBER_OF_ERROR_MESSAGES" type="uint32_t" value="16"/>
-        <constant id="_231221102304_279" name="MAX_CYCLE_NAME_LENGTH" type="uint32_t" value="256"/>
-        <constant id="_231221102304_280" name="MAX_VERSION_NAME_LENGTH" type="uint32_t" value="256"/>
-        <constant id="_231221102304_281" name="MAX_DETAILED_STATUS_LABEL_LENGTH" type="uint32_t" value="30"/>
-        <constant id="_231221102304_282" name="DETAILED_STATUS_SIZE" type="uint32_t" value="2"/>
-        <enum id="_231221102304_283" name="DETAILED_STATUS_SEVERITY">
-            <item access="RO" id="_231221102304_304" symbol="INFO" value="0"/>
-            <item access="RO" id="_231221102304_305" symbol="WARNING_ON_FALSE" value="1"/>
-            <item access="RO" id="_231221102304_306" symbol="ERROR_ON_FALSE" value="2"/>
+        <constant name="MAX_ERROR_MESSAGE_LENGTH" type="uint32_t" value="256" id="_240112141720_9"/>
+        <constant name="MAX_NUMBER_OF_ERROR_MESSAGES" type="uint32_t" value="16" id="_240112141720_10"/>
+        <constant name="MAX_CYCLE_NAME_LENGTH" type="uint32_t" value="256" id="_240112141720_11"/>
+        <constant name="MAX_VERSION_NAME_LENGTH" type="uint32_t" value="256" id="_240112141720_12"/>
+        <constant name="MAX_DETAILED_STATUS_LABEL_LENGTH" type="uint32_t" value="30" id="_240112141720_13"/>
+        <constant name="DETAILED_STATUS_SIZE" type="uint32_t" value="2" id="_240112141720_14"/>
+        <enum name="DETAILED_STATUS_SEVERITY" id="_240112141720_15">
+            <item access="RO" symbol="INFO" value="0" id="_240112141721_0"/>
+            <item access="RO" symbol="WARNING_ON_FALSE" value="1" id="_240112141721_1"/>
+            <item access="RO" symbol="ERROR_ON_FALSE" value="2" id="_240112141721_2"/>
         </enum>
-        <enum id="_231221102304_284" name="MODULE_STATUS">
+        <enum name="MODULE_STATUS" id="_240112141720_16">
         <!-- Mutually exclusive values to describe the status of a hardware / software module-->
-        	<item access="RO" id="_231221102304_307" symbol="UNKNOWN" value="0"/>
+        	<item access="RO" value="0" symbol="UNKNOWN" id="_240112141721_3"/>
         	<!--The status of the module is not known-->
-        	<item access="RO" id="_231221102304_308" symbol="OK" value="1"/>
+        	<item access="RO" value="1" symbol="OK" id="_240112141721_4"/>
         	<!--The module is in fully operational state-->
-        	<item access="RO" id="_231221102304_309" symbol="WARNING" value="2"/>
+        	<item access="RO" value="2" symbol="WARNING" id="_240112141721_5"/>
         	<!--The module is not fully operational; A module in WARNING state may still be used operationally, -->
         	<!--but clients must be informed of a problem that might become worse. -->
-        	<item access="RO" id="_231221102304_310" symbol="ERROR" value="3"/>
+        	<item access="RO" value="3" symbol="ERROR" id="_240112141721_6"/>
         	<!--The module is in a fault state. The related device is not operational.-->
-        	<item access="RO" id="_231221102304_311" symbol="NOT_AVAILABLE" value="4"/>
+        	<item access="RO" value="4" symbol="NOT_AVAILABLE" id="_240112141721_7"/>
             <!--The module is missing. The related device is not operational.-->
         </enum>
-        <constant id="_231221102304_285" name="MAX_MODULE_STATUS_LABEL_LENGTH" type="uint32_t" value="30"/>
-        <constant id="_231221102304_286" name="MODULE_STATUS_SIZE" type="uint32_t" value="2"/>
-    <enum id="_231221102304_287" name="TEST_ENUM">
-            <item access="RW" id="_231221102304_312" symbol="OK" value="0"/>
-            <item access="RW" id="_231221102304_313" symbol="WARNING" value="1"/>
-            <item access="RW" id="_231221102304_314" symbol="ERROR" value="2"/>
-            <item access="RW" id="_231221102304_315" symbol="UNKNOWN" value="3"/>
-        </enum>
-    </custom-types>
+        <constant name="MAX_MODULE_STATUS_LABEL_LENGTH" type="uint32_t" value="30" id="_240112141720_17"/>
+        <constant name="MODULE_STATUS_SIZE" type="uint32_t" value="2" id="_240112141720_18"/>
+    <enum name="TEST_ENUM" id="_240112141720_19"><item access="RW" value="0" symbol="OK" id="_240112141721_8"/><item access="RW" value="1" symbol="WARNING" id="_240112141721_9"/><item access="RW" value="2" symbol="ERROR" id="_240112141721_10"/><item access="RW" value="3" symbol="UNKNOWN" id="_240112141721_11"/></enum></custom-types>
     <data>
         <device-data>
             <configuration>
-                <field id="_231221102304_164" name="C_dt_fesa">
-                    <array2D type="double">
-                        <dim1>2</dim1>
-                        <dim2>2</dim2>
-                    </array2D>
-                </field>
-                <field id="_231221102304_165" name="C_real_fesa">
-                    <array2D type="float">
-                        <dim1>2</dim1>
-                        <dim2>2</dim2>
-                    </array2D>
-                </field>
-                <field id="_231221102304_166" name="C_dint_fesa">
-                    <array2D type="int32_t">
-                        <dim1>2</dim1>
-                        <dim2>2</dim2>
-                    </array2D>
-                </field>
-                <field id="_231221102304_167" name="C_int_fesa">
-                    <array2D type="int16_t">
-                        <dim1>2</dim1>
-                        <dim2>2</dim2>
-                    </array2D>
-                </field>
-                <field id="_231221102304_168" name="C_dword_fesa">
-                    <array2D type="int64_t">
-                        <dim1>2</dim1>
-                        <dim2>2</dim2>
-                    </array2D>
-                </field>
-                <field id="_231221102304_169" name="C_word_fesa">
-                    <array2D type="int32_t">
-                        <dim1>2</dim1>
-                        <dim2>2</dim2>
-                    </array2D>
-                </field>
-                <field id="_231221102304_170" name="C_byte_fesa">
-                    <array2D type="int16_t">
-                        <dim1>2</dim1>
-                        <dim2>2</dim2>
-                    </array2D>
-                </field>
-                <field id="_231221102304_171" name="C_char_fesa">
-                    <array2D type="int8_t">
-                        <dim1>2</dim1>
-                        <dim2>2</dim2>
-                    </array2D>
-                </field>
-                <field id="_231221102304_172" name="C_date_fesa">
-                    <array2D type="double">
-                        <dim1>2</dim1>
-                        <dim2>2</dim2>
-                    </array2D>
-                </field>
-                <field id="_231221102304_173" name="C_float32_fesa">
-                    <array2D type="float">
-                        <dim1>2</dim1>
-                        <dim2>2</dim2>
-                    </array2D>
-                </field>
-                <field id="_231221102304_174" name="C_uint32_fesa">
-                    <array2D type="int64_t">
-                        <dim1>2</dim1>
-                        <dim2>2</dim2>
-                    </array2D>
-                </field>
-                <field id="_231221102304_175" name="C_int32_fesa">
-                    <array2D type="int32_t">
-                        <dim1>2</dim1>
-                        <dim2>2</dim2>
-                    </array2D>
-                </field>
-                <field id="_231221102304_176" name="C_uint16_fesa">
-                    <array2D type="int32_t">
-                        <dim1>2</dim1>
-                        <dim2>2</dim2>
-                    </array2D>
-                </field>
-                <field id="_231221102304_177" name="C_int16_fesa">
-                    <array2D type="int16_t">
-                        <dim1>2</dim1>
-                        <dim2>2</dim2>
-                    </array2D>
-                </field>
-                <field id="_231221102304_178" name="C_uint8_fesa">
-                    <array2D type="int16_t">
-                        <dim1>2</dim1>
-                        <dim2>2</dim2>
-                    </array2D>
-                </field>
-                <field id="_231221102304_179" name="C_int8">
-                    <array2D type="int8_t">
-                        <dim1>2</dim1>
-                        <dim2>2</dim2>
-                    </array2D>
-                </field>
-                <field id="_231221102304_180" name="plcDeviceLabel">
-                    <description>Name of the related SILECS instance within the PLC mapping</description>
-                    <array type="char">
-                        <dim>128</dim>
-                    </array>
-                </field>
-                <field id="_231221102304_181" name="plcHostName">
-                    <description>Hostname of the PLC that contains the related SILECS class device</description>
-                    <array type="char">
-                        <dim>128</dim>
-                    </array>
-                </field>
-                <GSI-detailed-status-labels-field id="_231221102304_182" name="detailedStatus_labels">
+                <field name="C_dt_fesa" id="_240112141717_3"><array2D type="double"><dim1>2</dim1><dim2>2</dim2></array2D></field><field name="C_real_fesa" id="_240112141717_4"><array2D type="float"><dim1>2</dim1><dim2>2</dim2></array2D></field><field name="C_dint_fesa" id="_240112141717_5"><array2D type="int32_t"><dim1>2</dim1><dim2>2</dim2></array2D></field><field name="C_int_fesa" id="_240112141717_6"><array2D type="int16_t"><dim1>2</dim1><dim2>2</dim2></array2D></field><field name="C_dword_fesa" id="_240112141717_7"><array2D type="int64_t"><dim1>2</dim1><dim2>2</dim2></array2D></field><field name="C_word_fesa" id="_240112141717_8"><array2D type="int32_t"><dim1>2</dim1><dim2>2</dim2></array2D></field><field name="C_byte_fesa" id="_240112141717_9"><array2D type="int16_t"><dim1>2</dim1><dim2>2</dim2></array2D></field><field name="C_char_fesa" id="_240112141717_10"><array2D type="int8_t"><dim1>2</dim1><dim2>2</dim2></array2D></field><field name="C_date_fesa" id="_240112141717_11"><array2D type="double"><dim1>2</dim1><dim2>2</dim2></array2D></field><field name="C_float32_fesa" id="_240112141717_12"><array2D type="float"><dim1>2</dim1><dim2>2</dim2></array2D></field><field name="C_uint32_fesa" id="_240112141717_13"><array2D type="int64_t"><dim1>2</dim1><dim2>2</dim2></array2D></field><field name="C_int32_fesa" id="_240112141717_14"><array2D type="int32_t"><dim1>2</dim1><dim2>2</dim2></array2D></field><field name="C_uint16_fesa" id="_240112141717_15"><array2D type="int32_t"><dim1>2</dim1><dim2>2</dim2></array2D></field><field name="C_int16_fesa" id="_240112141717_16"><array2D type="int16_t"><dim1>2</dim1><dim2>2</dim2></array2D></field><field name="C_uint8_fesa" id="_240112141717_17"><array2D type="int16_t"><dim1>2</dim1><dim2>2</dim2></array2D></field><field name="C_int8" id="_240112141717_18"><array2D type="int8_t"><dim1>2</dim1><dim2>2</dim2></array2D></field><field name="plcDeviceLabel" id="_240112141717_19"><description>Name of the related SILECS instance within the PLC mapping</description><array type="char"><dim>128</dim></array></field><field name="plcHostName" id="_240112141717_20"><description>Hostname of the PLC that contains the related SILECS class device</description><array type="char"><dim>128</dim></array></field><GSI-detailed-status-labels-field name="detailedStatus_labels" id="_240112141717_21">
                     <array2D type="char">
                         <custom-constant-dim1 constant-name-ref="DETAILED_STATUS_SIZE"/>
                         <custom-constant-dim2 constant-name-ref="MAX_DETAILED_STATUS_LABEL_LENGTH"/>
                     </array2D>
                     <default>{myStatusLabel1,myStatusLabel2}</default>
                 </GSI-detailed-status-labels-field>
-                <GSI-detailed-status-severity-field id="_231221102304_183" name="detailedStatus_severity">
+                <GSI-detailed-status-severity-field name="detailedStatus_severity" id="_240112141717_22">
                     <custom-type-array data-type-name-ref="DETAILED_STATUS_SEVERITY">
                         <custom-constant-dim constant-name-ref="DETAILED_STATUS_SIZE"/>
                     </custom-type-array>
                     <default>{INFO,INFO}</default>
                 </GSI-detailed-status-severity-field>
-                <GSI-module-status-labels-field id="_231221102304_184" name="moduleStatus_labels">
+                <GSI-module-status-labels-field name="moduleStatus_labels" id="_240112141717_23">
                 	<array2D type="char">
                 		<custom-constant-dim1 constant-name-ref="MODULE_STATUS_SIZE"/>
                 		
@@ -1350,342 +630,43 @@ corresponding string array containing keys to illustrate the meaning of the deta
                 </GSI-module-status-labels-field>
             </configuration>
             <setting>
-                <field id="_231221102304_185" multiplexed="false" name="WO_enum_fesa" persistent="true">
-                    <custom-type-array data-type-name-ref="TEST_ENUM">
-                        <dim>10</dim>
-                    </custom-type-array>
-                </field>
-                <field id="_231221102304_186" multiplexed="false" name="WO_dt_fesa" persistent="true">
-                    <array type="double">
-                        <dim>10</dim>
-                    </array>
-                </field>
-                <field id="_231221102304_187" multiplexed="false" name="WO_real_fesa" persistent="true">
-                    <array type="float">
-                        <dim>10</dim>
-                    </array>
-                </field>
-                <field id="_231221102304_188" multiplexed="false" name="WO_dint_fesa" persistent="true">
-                    <array type="int32_t">
-                        <dim>10</dim>
-                    </array>
-                </field>
-                <field id="_231221102304_189" multiplexed="false" name="WO_int_fesa" persistent="true">
-                    <array type="int16_t">
-                        <dim>10</dim>
-                    </array>
-                </field>
-                <field id="_231221102304_190" multiplexed="false" name="WO_dword_fesa" persistent="true">
-                    <array type="int64_t">
-                        <dim>10</dim>
-                    </array>
-                </field>
-                <field id="_231221102304_191" multiplexed="false" name="WO_word_fesa" persistent="true">
-                    <array type="int32_t">
-                        <dim>10</dim>
-                    </array>
-                </field>
-                <field id="_231221102304_192" multiplexed="false" name="WO_byte_fesa" persistent="true">
-                    <array type="int16_t">
-                        <dim>10</dim>
-                    </array>
-                </field>
-                <field id="_231221102304_193" multiplexed="false" name="WO_char_fesa" persistent="true">
-                    <array type="int8_t">
-                        <dim>10</dim>
-                    </array>
-                </field>
-                <field id="_231221102304_194" multiplexed="false" name="WO_date_fesa" persistent="true">
-                    <array type="double">
-                        <dim>10</dim>
-                    </array>
-                </field>
-                <field id="_231221102304_195" multiplexed="false" name="WO_string_fesa" persistent="true">
-                    <array2D type="char">
-                        <dim1>10</dim1>
-                        <dim2>64</dim2>
-                    </array2D>
-                </field>
-                <field id="_231221102304_196" multiplexed="false" name="WO_float32_fesa" persistent="true">
-                    <array type="float">
-                        <dim>10</dim>
-                    </array>
-                </field>
-                <field id="_231221102304_197" multiplexed="false" name="WO_uint32_fesa" persistent="true">
-                    <array type="int64_t">
-                        <dim>10</dim>
-                    </array>
-                </field>
-                <field id="_231221102304_198" multiplexed="false" name="WO_int32_fesa" persistent="true">
-                    <array type="int32_t">
-                        <dim>10</dim>
-                    </array>
-                </field>
-                <field id="_231221102304_199" multiplexed="false" name="WO_uint16_fesa" persistent="true">
-                    <array type="int32_t">
-                        <dim>10</dim>
-                    </array>
-                </field>
-                <field id="_231221102304_200" multiplexed="false" name="WO_int16_fesa" persistent="true">
-                    <array type="int16_t">
-                        <dim>10</dim>
-                    </array>
-                </field>
-                <field id="_231221102304_201" multiplexed="false" name="WO_uint8_fesa" persistent="true">
-                    <array type="int16_t">
-                        <dim>10</dim>
-                    </array>
-                </field>
-                <field id="_231221102304_202" multiplexed="false" name="WO_int8" persistent="true">
-                    <array type="int8_t">
-                        <dim>10</dim>
-                    </array>
-                </field>
-                <field id="_231221102304_203" multiplexed="false" name="RW_enum_fesa" persistent="true">
-                    <custom-type-scalar data-type-name-ref="TEST_ENUM"/>
-                </field>
-                <field id="_231221102304_204" multiplexed="false" name="RW2_dt_fesa" persistent="true">
-                    <array2D type="double">
-                        <dim1>2</dim1>
-                        <dim2>2</dim2>
-                    </array2D>
-                </field>
-                <field id="_231221102304_205" multiplexed="false" name="RW2_real_fesa" persistent="true">
-                    <array2D type="float">
-                        <dim1>2</dim1>
-                        <dim2>2</dim2>
-                    </array2D>
-                </field>
-                <field id="_231221102304_206" multiplexed="false" name="RW2_dint_fesa" persistent="true">
-                    <array2D type="int32_t">
-                        <dim1>2</dim1>
-                        <dim2>2</dim2>
-                    </array2D>
-                </field>
-                <field id="_231221102304_207" multiplexed="false" name="RW2_int_fesa" persistent="true">
-                    <array2D type="int16_t">
-                        <dim1>2</dim1>
-                        <dim2>2</dim2>
-                    </array2D>
-                </field>
-                <field id="_231221102304_208" multiplexed="false" name="RW2_dword_fesa" persistent="true">
-                    <array2D type="int64_t">
-                        <dim1>2</dim1>
-                        <dim2>2</dim2>
-                    </array2D>
-                </field>
-                <field id="_231221102304_209" multiplexed="false" name="RW2_word_fesa" persistent="true">
-                    <array2D type="int32_t">
-                        <dim1>2</dim1>
-                        <dim2>2</dim2>
-                    </array2D>
-                </field>
-                <field id="_231221102304_210" multiplexed="false" name="RW2_byte_fesa" persistent="true">
-                    <array2D type="int16_t">
-                        <dim1>2</dim1>
-                        <dim2>2</dim2>
-                    </array2D>
-                </field>
-                <field id="_231221102304_211" multiplexed="false" name="RW2_char_fesa" persistent="true">
-                    <array2D type="int8_t">
-                        <dim1>2</dim1>
-                        <dim2>2</dim2>
-                    </array2D>
-                </field>
-                <field id="_231221102304_212" multiplexed="false" name="RW2_date_fesa" persistent="true">
-                    <array2D type="double">
-                        <dim1>2</dim1>
-                        <dim2>2</dim2>
-                    </array2D>
-                </field>
-                <field id="_231221102304_213" multiplexed="false" name="RW2_float32_fesa" persistent="true">
-                    <array2D type="float">
-                        <dim1>2</dim1>
-                        <dim2>2</dim2>
-                    </array2D>
-                </field>
-                <field id="_231221102304_214" multiplexed="false" name="RW2_uint32_fesa" persistent="true">
-                    <array2D type="int64_t">
-                        <dim1>2</dim1>
-                        <dim2>2</dim2>
-                    </array2D>
-                </field>
-                <field id="_231221102304_215" multiplexed="false" name="RW2_int32_fesa" persistent="true">
-                    <array2D type="int32_t">
-                        <dim1>2</dim1>
-                        <dim2>2</dim2>
-                    </array2D>
-                </field>
-                <field id="_231221102304_216" multiplexed="false" name="RW2_uint16_fesa" persistent="true">
-                    <array2D type="int32_t">
-                        <dim1>2</dim1>
-                        <dim2>2</dim2>
-                    </array2D>
-                </field>
-                <field id="_231221102304_217" multiplexed="false" name="RW2_int16_fesa" persistent="true">
-                    <array2D type="int16_t">
-                        <dim1>2</dim1>
-                        <dim2>2</dim2>
-                    </array2D>
-                </field>
-                <field id="_231221102304_218" multiplexed="false" name="RW2_uint8_fesa" persistent="true">
-                    <array2D type="int16_t">
-                        <dim1>2</dim1>
-                        <dim2>2</dim2>
-                    </array2D>
-                </field>
-                <field id="_231221102304_219" multiplexed="false" name="RW2_int8" persistent="true">
-                    <array2D type="int8_t">
-                        <dim1>2</dim1>
-                        <dim2>2</dim2>
-                    </array2D>
-                </field>
-                <field id="_231221102304_220" multiplexed="false" name="RW_dt_fesa" persistent="true">
-                    <scalar type="double"/>
-                </field>
-                <field id="_231221102304_221" multiplexed="false" name="RW_real_fesa" persistent="true">
-                    <scalar type="float"/>
-                </field>
-                <field id="_231221102304_222" multiplexed="false" name="RW_dint_fesa" persistent="true">
-                    <scalar type="int32_t"/>
-                </field>
-                <field id="_231221102304_223" multiplexed="false" name="RW_int_fesa" persistent="true">
-                    <scalar type="int16_t"/>
-                </field>
-                <field id="_231221102304_224" multiplexed="false" name="RW_dword_fesa" persistent="true">
-                    <scalar type="int64_t"/>
-                </field>
-                <field id="_231221102304_225" multiplexed="false" name="RW_word_fesa" persistent="true">
-                    <scalar type="int32_t"/>
-                </field>
-                <field id="_231221102304_226" multiplexed="false" name="RW_byte_fesa" persistent="true">
-                    <scalar type="int16_t"/>
-                </field>
-                <field id="_231221102304_227" multiplexed="false" name="RW_char_fesa" persistent="true">
-                    <scalar type="int8_t"/>
-                </field>
-                <field id="_231221102304_228" multiplexed="false" name="RW_date_fesa" persistent="true">
-                    <scalar type="double"/>
-                </field>
-                <field id="_231221102304_229" multiplexed="false" name="RW_string_fesa" persistent="true">
-                    <array type="char">
-                        <dim>64</dim>
-                    </array>
-                </field>
-                <field id="_231221102304_230" multiplexed="false" name="RW_float32_fesa" persistent="true">
-                    <scalar type="float"/>
-                </field>
-                <field id="_231221102304_231" multiplexed="false" name="RW_uint32_fesa" persistent="true">
-                    <scalar type="int64_t"/>
-                </field>
-                <field id="_231221102304_232" multiplexed="false" name="RW_int32_fesa" persistent="true">
-                    <scalar type="int32_t"/>
-                </field>
-                <field id="_231221102304_233" multiplexed="false" name="RW_uint16_fesa" persistent="true">
-                    <scalar type="int32_t"/>
-                </field>
-                <field id="_231221102304_234" multiplexed="false" name="RW_int16_fesa" persistent="true">
-                    <scalar type="int16_t"/>
-                </field>
-                <field id="_231221102304_235" multiplexed="false" name="RW_uint8_fesa" persistent="true">
-                    <scalar type="int16_t"/>
-                </field>
-                <field id="_231221102304_236" multiplexed="false" name="RW_int8" persistent="true">
-                    <scalar type="int8_t"/>
-                </field>
-                <GSI-power-field id="_231221102304_237" multiplexed="false" name="power" persistent="false">
+                <field name="WO_enum_fesa" multiplexed="false" persistent="true" id="_240112141717_24"><custom-type-array data-type-name-ref="TEST_ENUM"><dim>10</dim></custom-type-array></field><field name="WO_dt_fesa" multiplexed="false" persistent="true" id="_240112141717_25"><array type="double"><dim>10</dim></array></field><field name="WO_real_fesa" multiplexed="false" persistent="true" id="_240112141717_26"><array type="float"><dim>10</dim></array></field><field name="WO_dint_fesa" multiplexed="false" persistent="true" id="_240112141717_27"><array type="int32_t"><dim>10</dim></array></field><field name="WO_int_fesa" multiplexed="false" persistent="true" id="_240112141717_28"><array type="int16_t"><dim>10</dim></array></field><field name="WO_dword_fesa" multiplexed="false" persistent="true" id="_240112141717_29"><array type="int64_t"><dim>10</dim></array></field><field name="WO_word_fesa" multiplexed="false" persistent="true" id="_240112141717_30"><array type="int32_t"><dim>10</dim></array></field><field name="WO_byte_fesa" multiplexed="false" persistent="true" id="_240112141717_31"><array type="int16_t"><dim>10</dim></array></field><field name="WO_char_fesa" multiplexed="false" persistent="true" id="_240112141717_32"><array type="int8_t"><dim>10</dim></array></field><field name="WO_date_fesa" multiplexed="false" persistent="true" id="_240112141717_33"><array type="double"><dim>10</dim></array></field><field name="WO_string_fesa" multiplexed="false" persistent="true" id="_240112141717_34"><array2D type="char"><dim1>10</dim1><dim2>64</dim2></array2D></field><field name="WO_float32_fesa" multiplexed="false" persistent="true" id="_240112141717_35"><array type="float"><dim>10</dim></array></field><field name="WO_uint32_fesa" multiplexed="false" persistent="true" id="_240112141718_0"><array type="int64_t"><dim>10</dim></array></field><field name="WO_int32_fesa" multiplexed="false" persistent="true" id="_240112141718_1"><array type="int32_t"><dim>10</dim></array></field><field name="WO_uint16_fesa" multiplexed="false" persistent="true" id="_240112141718_2"><array type="int32_t"><dim>10</dim></array></field><field name="WO_int16_fesa" multiplexed="false" persistent="true" id="_240112141718_3"><array type="int16_t"><dim>10</dim></array></field><field name="WO_uint8_fesa" multiplexed="false" persistent="true" id="_240112141718_4"><array type="int16_t"><dim>10</dim></array></field><field name="WO_int8" multiplexed="false" persistent="true" id="_240112141718_5"><array type="int8_t"><dim>10</dim></array></field><field name="RW_enum_fesa" multiplexed="false" persistent="true" id="_240112141718_6"><custom-type-scalar data-type-name-ref="TEST_ENUM"/></field><field name="RW2_dt_fesa" multiplexed="false" persistent="true" id="_240112141718_7"><array2D type="double"><dim1>2</dim1><dim2>2</dim2></array2D></field><field name="RW2_real_fesa" multiplexed="false" persistent="true" id="_240112141718_8"><array2D type="float"><dim1>2</dim1><dim2>2</dim2></array2D></field><field name="RW2_dint_fesa" multiplexed="false" persistent="true" id="_240112141718_9"><array2D type="int32_t"><dim1>2</dim1><dim2>2</dim2></array2D></field><field name="RW2_int_fesa" multiplexed="false" persistent="true" id="_240112141718_10"><array2D type="int16_t"><dim1>2</dim1><dim2>2</dim2></array2D></field><field name="RW2_dword_fesa" multiplexed="false" persistent="true" id="_240112141718_11"><array2D type="int64_t"><dim1>2</dim1><dim2>2</dim2></array2D></field><field name="RW2_word_fesa" multiplexed="false" persistent="true" id="_240112141718_12"><array2D type="int32_t"><dim1>2</dim1><dim2>2</dim2></array2D></field><field name="RW2_byte_fesa" multiplexed="false" persistent="true" id="_240112141718_13"><array2D type="int16_t"><dim1>2</dim1><dim2>2</dim2></array2D></field><field name="RW2_char_fesa" multiplexed="false" persistent="true" id="_240112141718_14"><array2D type="int8_t"><dim1>2</dim1><dim2>2</dim2></array2D></field><field name="RW2_date_fesa" multiplexed="false" persistent="true" id="_240112141718_15"><array2D type="double"><dim1>2</dim1><dim2>2</dim2></array2D></field><field name="RW2_float32_fesa" multiplexed="false" persistent="true" id="_240112141718_16"><array2D type="float"><dim1>2</dim1><dim2>2</dim2></array2D></field><field name="RW2_uint32_fesa" multiplexed="false" persistent="true" id="_240112141718_17"><array2D type="int64_t"><dim1>2</dim1><dim2>2</dim2></array2D></field><field name="RW2_int32_fesa" multiplexed="false" persistent="true" id="_240112141718_18"><array2D type="int32_t"><dim1>2</dim1><dim2>2</dim2></array2D></field><field name="RW2_uint16_fesa" multiplexed="false" persistent="true" id="_240112141718_19"><array2D type="int32_t"><dim1>2</dim1><dim2>2</dim2></array2D></field><field name="RW2_int16_fesa" multiplexed="false" persistent="true" id="_240112141718_20"><array2D type="int16_t"><dim1>2</dim1><dim2>2</dim2></array2D></field><field name="RW2_uint8_fesa" multiplexed="false" persistent="true" id="_240112141718_21"><array2D type="int16_t"><dim1>2</dim1><dim2>2</dim2></array2D></field><field name="RW2_int8" multiplexed="false" persistent="true" id="_240112141718_22"><array2D type="int8_t"><dim1>2</dim1><dim2>2</dim2></array2D></field><field name="RW_dt_fesa" multiplexed="false" persistent="true" id="_240112141718_23"><scalar type="double"/></field><field name="RW_real_fesa" multiplexed="false" persistent="true" id="_240112141718_24"><scalar type="float"/></field><field name="RW_dint_fesa" multiplexed="false" persistent="true" id="_240112141718_25"><scalar type="int32_t"/></field><field name="RW_int_fesa" multiplexed="false" persistent="true" id="_240112141718_26"><scalar type="int16_t"/></field><field name="RW_dword_fesa" multiplexed="false" persistent="true" id="_240112141718_27"><scalar type="int64_t"/></field><field name="RW_word_fesa" multiplexed="false" persistent="true" id="_240112141718_28"><scalar type="int32_t"/></field><field name="RW_byte_fesa" multiplexed="false" persistent="true" id="_240112141718_29"><scalar type="int16_t"/></field><field name="RW_char_fesa" multiplexed="false" persistent="true" id="_240112141719_0"><scalar type="int8_t"/></field><field name="RW_date_fesa" multiplexed="false" persistent="true" id="_240112141719_1"><scalar type="double"/></field><field name="RW_string_fesa" multiplexed="false" persistent="true" id="_240112141719_2"><array type="char"><dim>64</dim></array></field><field name="RW_float32_fesa" multiplexed="false" persistent="true" id="_240112141719_3"><scalar type="float"/></field><field name="RW_uint32_fesa" multiplexed="false" persistent="true" id="_240112141719_4"><scalar type="int64_t"/></field><field name="RW_int32_fesa" multiplexed="false" persistent="true" id="_240112141719_5"><scalar type="int32_t"/></field><field name="RW_uint16_fesa" multiplexed="false" persistent="true" id="_240112141719_6"><scalar type="int32_t"/></field><field name="RW_int16_fesa" multiplexed="false" persistent="true" id="_240112141719_7"><scalar type="int16_t"/></field><field name="RW_uint8_fesa" multiplexed="false" persistent="true" id="_240112141719_8"><scalar type="int16_t"/></field><field name="RW_int8" multiplexed="false" persistent="true" id="_240112141719_9"><scalar type="int8_t"/></field><GSI-power-field multiplexed="false" name="power" persistent="false" id="_240112141719_10">
                     <custom-type-scalar data-type-name-ref="DEVICE_POWER"/>
                 </GSI-power-field>
             </setting>
             <acquisition>
-                <field cycle-bound="false" id="_231221102304_238" name="RO_enum_fesa" persistent="false">
-                    <custom-type-scalar data-type-name-ref="TEST_ENUM"/>
-                </field>
-                <field cycle-bound="false" id="_231221102304_239" name="RO_dt_fesa" persistent="false">
-                    <scalar type="double"/>
-                </field>
-                <field cycle-bound="false" id="_231221102304_240" name="RO_real_fesa" persistent="false">
-                    <scalar type="float"/>
-                </field>
-                <field cycle-bound="false" id="_231221102304_241" name="RO_dint_fesa" persistent="false">
-                    <scalar type="int32_t"/>
-                </field>
-                <field cycle-bound="false" id="_231221102304_242" name="RO_int_fesa" persistent="false">
-                    <scalar type="int16_t"/>
-                </field>
-                <field cycle-bound="false" id="_231221102304_243" name="RO_dword_fesa" persistent="false">
-                    <scalar type="int64_t"/>
-                </field>
-                <field cycle-bound="false" id="_231221102304_244" name="RO_word_fesa" persistent="false">
-                    <scalar type="int32_t"/>
-                </field>
-                <field cycle-bound="false" id="_231221102304_245" name="RO_byte_fesa" persistent="false">
-                    <scalar type="int16_t"/>
-                </field>
-                <field cycle-bound="false" id="_231221102304_246" name="RO_char_fesa" persistent="false">
-                    <scalar type="int8_t"/>
-                </field>
-                <field cycle-bound="false" id="_231221102304_247" name="RO_date_fesa" persistent="false">
-                    <scalar type="double"/>
-                </field>
-                <field cycle-bound="false" id="_231221102304_248" name="RO_string_fesa" persistent="false">
-                    <array type="char">
-                        <dim>64</dim>
-                    </array>
-                </field>
-                <field cycle-bound="false" id="_231221102304_249" name="RO_float32_fesa" persistent="false">
-                    <scalar type="float"/>
-                </field>
-                <field cycle-bound="false" id="_231221102304_250" name="RO_uint32_fesa" persistent="false">
-                    <scalar type="int64_t"/>
-                </field>
-                <field cycle-bound="false" id="_231221102304_251" name="RO_int32_fesa" persistent="false">
-                    <scalar type="int32_t"/>
-                </field>
-                <field cycle-bound="false" id="_231221102304_252" name="RO_uint16_fesa" persistent="false">
-                    <scalar type="int32_t"/>
-                </field>
-                <field cycle-bound="false" id="_231221102304_253" name="RO_int16_fesa" persistent="false">
-                    <scalar type="int16_t"/>
-                </field>
-                <field cycle-bound="false" id="_231221102304_254" name="RO_uint8_fesa" persistent="false">
-                    <scalar type="int16_t"/>
-                </field>
-                <field cycle-bound="false" id="_231221102304_255" name="RO_int8" persistent="false">
-                    <scalar type="int8_t"/>
-                </field>
-                <GSI-control-field cycle-bound="false" id="_231221102304_256" name="control">
+                <field name="RO_enum_fesa" cycle-bound="false" persistent="false" id="_240112141719_11"><custom-type-scalar data-type-name-ref="TEST_ENUM"/></field><field name="RO_dt_fesa" cycle-bound="false" persistent="false" id="_240112141719_12"><scalar type="double"/></field><field name="RO_real_fesa" cycle-bound="false" persistent="false" id="_240112141719_13"><scalar type="float"/></field><field name="RO_dint_fesa" cycle-bound="false" persistent="false" id="_240112141719_14"><scalar type="int32_t"/></field><field name="RO_int_fesa" cycle-bound="false" persistent="false" id="_240112141719_15"><scalar type="int16_t"/></field><field name="RO_dword_fesa" cycle-bound="false" persistent="false" id="_240112141719_16"><scalar type="int64_t"/></field><field name="RO_word_fesa" cycle-bound="false" persistent="false" id="_240112141719_17"><scalar type="int32_t"/></field><field name="RO_byte_fesa" cycle-bound="false" persistent="false" id="_240112141719_18"><scalar type="int16_t"/></field><field name="RO_char_fesa" cycle-bound="false" persistent="false" id="_240112141719_19"><scalar type="int8_t"/></field><field name="RO_date_fesa" cycle-bound="false" persistent="false" id="_240112141719_20"><scalar type="double"/></field><field name="RO_string_fesa" cycle-bound="false" persistent="false" id="_240112141719_21"><array type="char"><dim>64</dim></array></field><field name="RO_float32_fesa" cycle-bound="false" persistent="false" id="_240112141719_22"><scalar type="float"/></field><field name="RO_uint32_fesa" cycle-bound="false" persistent="false" id="_240112141719_23"><scalar type="int64_t"/></field><field name="RO_int32_fesa" cycle-bound="false" persistent="false" id="_240112141719_24"><scalar type="int32_t"/></field><field name="RO_uint16_fesa" cycle-bound="false" persistent="false" id="_240112141719_25"><scalar type="int32_t"/></field><field name="RO_int16_fesa" cycle-bound="false" persistent="false" id="_240112141719_26"><scalar type="int16_t"/></field><field name="RO_uint8_fesa" cycle-bound="false" persistent="false" id="_240112141719_27"><scalar type="int16_t"/></field><field name="RO_int8" cycle-bound="false" persistent="false" id="_240112141719_28"><scalar type="int8_t"/></field><GSI-control-field cycle-bound="false" name="control" id="_240112141719_29">
                     <custom-type-scalar data-type-name-ref="DEVICE_CONTROL"/>
                 </GSI-control-field>
-                <GSI-powerState-field cycle-bound="false" id="_231221102304_257" name="powerState">
+                <GSI-powerState-field cycle-bound="false" name="powerState" id="_240112141719_30">
                     <custom-type-scalar data-type-name-ref="DEVICE_POWER_STATE"/>
                 </GSI-powerState-field>
-                <GSI-status-field cycle-bound="false" id="_231221102304_258" name="status">
+                <GSI-status-field cycle-bound="false" name="status" id="_240112141719_31">
                     <custom-type-scalar data-type-name-ref="DEVICE_STATUS"/>
                 </GSI-status-field>
-                <GSI-interlock-field cycle-bound="false" id="_231221102304_259" name="interlock">
+                <GSI-interlock-field cycle-bound="false" name="interlock" id="_240112141719_32">
                     <scalar type="bool"/>
                 </GSI-interlock-field>
-                <GSI-opReady-field cycle-bound="false" id="_231221102304_260" name="opReady">
+                <GSI-opReady-field cycle-bound="false" name="opReady" id="_240112141719_33">
                     <scalar type="bool"/>
                 </GSI-opReady-field>
-                <GSI-modulesReady-field cycle-bound="false" id="_231221102304_261" name="modulesReady">
+                <GSI-modulesReady-field name="modulesReady" cycle-bound="false" id="_240112141719_34">
                 	<scalar type="bool"/>
                 </GSI-modulesReady-field>
-                <GSI-detailed-status-field cycle-bound="false" id="_231221102304_262" name="detailedStatus">
+                <GSI-detailed-status-field cycle-bound="false" name="detailedStatus" id="_240112141719_35">
                     <array type="bool">
                         <custom-constant-dim constant-name-ref="DETAILED_STATUS_SIZE"/>
                     </array>
                 </GSI-detailed-status-field>
-                <GSI-module-status-field cycle-bound="false" id="_231221102304_263" name="moduleStatus">
+                <GSI-module-status-field name="moduleStatus" cycle-bound="false" id="_240112141719_36">
                 	<custom-type-array data-type-name-ref="MODULE_STATUS">
                 		<custom-constant-dim constant-name-ref="MODULE_STATUS_SIZE"/>
                 	</custom-type-array>
                 </GSI-module-status-field>
-                <GSI-acquisition-context-field cycle-bound="true" id="_231221102304_264" name="acquisitionContext">
+                <GSI-acquisition-context-field cycle-bound="true" name="acquisitionContext" id="_240112141719_37">
                     <custom-type-scalar data-type-name-ref="GSI_ACQ_CONTEXT"/>
                 </GSI-acquisition-context-field>
-                <GSI-error_collection-field cycle-bound="false" id="_231221102304_265" name="error_collection">
+                <GSI-error_collection-field cycle-bound="false" name="error_collection" id="_240112141719_38">
                     <custom-type-array data-type-name-ref="GSI_ERROR">
                         <custom-constant-dim constant-name-ref="MAX_NUMBER_OF_ERROR_MESSAGES"/>
                     </custom-type-array>
@@ -1695,14 +676,7 @@ corresponding string array containing keys to illustrate the meaning of the deta
         <global-data>
             <configuration>
                 <!-- The name of the timing receiver -->
-                <field id="_231221102304_266" name="plcClassVersion">
-                    <description>Version of the SILECS class that needs to be deployed in the controller</description>
-                    <array type="char">
-                        <dim>5</dim>
-                    </array>
-                    <default>0.1.0</default>
-                </field>
-                <GSI-timing-receiver-name-field id="_231221102304_267" name="deviceNameTimingReceiver">
+                <field name="plcClassVersion" id="_240112141719_39"><description>Version of the SILECS class that needs to be deployed in the controller</description><array type="char"><dim>5</dim></array><default>0.1.0</default></field><GSI-timing-receiver-name-field name="deviceNameTimingReceiver" id="_240112141719_40">
                     <array type="char">
                         <!-- The number of the timing receiver -->
                         <variable-dim/>
@@ -1724,15 +698,10 @@ corresponding string array containing keys to illustrate the meaning of the deta
         <get-server-action implementation="default" name="ModuleStatusGetAction"/>
 
 		<rt-action name="StatusUpdateAction"/>	<!-- Pre-defined status update action -->
-    <get-server-action implementation="custom" name="GetMyROBlockProp"/>
-        <set-server-action implementation="custom" name="SetMyRWBlockProp"/>
-        <get-server-action implementation="custom" name="GetMyRWBlockProp"/>
-        <set-server-action implementation="custom" name="SetMyWOBlockProp"/>
-        <get-server-action implementation="custom" name="GetMyCBlockProp"/>
-    </actions>
+    <get-server-action name="GetMyROBlockProp" implementation="custom"/><set-server-action name="SetMyRWBlockProp" implementation="custom"/><get-server-action name="GetMyRWBlockProp" implementation="custom"/><set-server-action name="SetMyWOBlockProp" implementation="custom"/><get-server-action name="GetMyCBlockProp" implementation="custom"/></actions>
     <events>
 	    <logical-events>
-			<logical-event id="_231221102304_163" name="StatusUpdateEvent" type="timer" use="required"/>
+			<logical-event use="required" name="StatusUpdateEvent" type="timer" id="_240112141717_2"/>
 		</logical-events>
 	</events>
 	<scheduling-units>
diff --git a/test/AllTypesFESA/src/AllTypesFESA/RealTime/RTDeviceClass.cpp b/test/AllTypesFESA/src/AllTypesFESA/RealTime/RTDeviceClass.cpp
index 2dd0363..89624f7 100644
--- a/test/AllTypesFESA/src/AllTypesFESA/RealTime/RTDeviceClass.cpp
+++ b/test/AllTypesFESA/src/AllTypesFESA/RealTime/RTDeviceClass.cpp
@@ -12,6 +12,7 @@
 
 #include <string>
 #include <vector>
+#include <unordered_set>
 
 namespace 
 {
@@ -61,7 +62,41 @@ void RTDeviceClass::specificInit()
     {
         if (!AllTypesFESA::isInitialized())
         {
-            AllTypesFESA::setup(this->AllTypesFESAServiceLocator_); 
+            try
+            {
+                AllTypesFESA::setup(this->AllTypesFESAServiceLocator_);
+            }
+            catch(std::exception& e) 
+            { 
+                std::string message = "Exception while initializing SILECS " + std::string(e.what());
+                logger.warning(message);
+
+                const Devices& devices = AllTypesFESAServiceLocator_->getDeviceCollection();
+                std::unordered_set<std::string> uniqueHostnames;
+                for (Device* device : devices)
+                {
+                    uniqueHostnames.insert(device->plcHostName.get());
+                }
+
+                // Since SILECS generated code stops connecting to PLCs if only one of them is not available,
+                // we try and connect to all of them ourselves to make sure that all the available PLCs are connected.
+                for (const std::string& plc : uniqueHostnames)
+                {
+                    try
+                    {
+                        Silecs::PLC& pPLC = Silecs::Service::getInstance()->getPLCHandler().getPLC(plc);
+
+                        if (!pPLC.isEnabled())
+                        {
+                            pPLC.connect(true);
+                        }
+                    }
+                    catch(const Silecs::SilecsException& e)
+                    {
+                        logger.debug(e.getMessage());
+                    }
+                }
+            }
         }
     } 
     catch(std::exception& ex) 
@@ -74,7 +109,7 @@ void RTDeviceClass::specificInit()
     { 
         LOG_ERROR_IF(logger, "Unexpected error. Please notify support"); 
         throw;     
-    } 
+    }
 }
 
 void RTDeviceClass::specificShutDown()
diff --git a/test/AllTypesFESA/src/AllTypesFESA/RealTime/StatusUpdateAction.cpp b/test/AllTypesFESA/src/AllTypesFESA/RealTime/StatusUpdateAction.cpp
index 29cdeb2..254ab87 100644
--- a/test/AllTypesFESA/src/AllTypesFESA/RealTime/StatusUpdateAction.cpp
+++ b/test/AllTypesFESA/src/AllTypesFESA/RealTime/StatusUpdateAction.cpp
@@ -5,6 +5,8 @@
 #include <AllTypesFESA/GeneratedCode/ServiceLocator.h>
 #include <AllTypesFESA/RealTime/StatusUpdateAction.h>
 
+#include <AllTypesFESA/Common/AllTypesFESA.h>
+
 #include <cmw-log/Logger.h>
 
 namespace
@@ -50,6 +52,9 @@ StatusUpdateAction::~StatusUpdateAction()
 void StatusUpdateAction::execute(fesa::RTEvent* pEvt)
 {
     // We don't need the status action, however it's left here for compliance with the FESA GSI template.
+
+    // We reuse this action to retrieve the RO block.
+    AllTypesFESA::MyROBlock.getAllDevices(AllTypesFESAServiceLocator_, true, pEvt->getMultiplexingContext());
 }
 
 } // AllTypesFESA
diff --git a/test/AllTypesFESA/src/AllTypesFESA/Server/GetMyCBlockProp.cpp b/test/AllTypesFESA/src/AllTypesFESA/Server/GetMyCBlockProp.cpp
index 921b2e4..55f806a 100644
--- a/test/AllTypesFESA/src/AllTypesFESA/Server/GetMyCBlockProp.cpp
+++ b/test/AllTypesFESA/src/AllTypesFESA/Server/GetMyCBlockProp.cpp
@@ -54,6 +54,7 @@ GetMyCBlockProp::~GetMyCBlockProp()
  */
 void GetMyCBlockProp::execute(fesa::RequestEvent* pEvt, Device* pDev, MyCBlockPropPropertyData& data, const MyCBlockPropFilterData& filter)
 {
+    // Configuration blocks don't support get actions.
 }
 
 // Use this member function to tell the framework whether the subscribed clients need to be updated or not. See the FESA wiki for more info
diff --git a/test/AllTypesFESA/src/AllTypesFESA/Server/GetMyROBlockProp.cpp b/test/AllTypesFESA/src/AllTypesFESA/Server/GetMyROBlockProp.cpp
index 4116001..8aea229 100644
--- a/test/AllTypesFESA/src/AllTypesFESA/Server/GetMyROBlockProp.cpp
+++ b/test/AllTypesFESA/src/AllTypesFESA/Server/GetMyROBlockProp.cpp
@@ -54,6 +54,7 @@ GetMyROBlockProp::~GetMyROBlockProp()
  */
 void GetMyROBlockProp::execute(fesa::RequestEvent* pEvt, Device* pDev, MyROBlockPropPropertyData& data, const MyROBlockPropFilterData& filter)
 {
+    // Read only blocks don't (yet) support server side getOneDevice functions. The data is retrieved in a Real-time action.
 }
 
 // Use this member function to tell the framework whether the subscribed clients need to be updated or not. See the FESA wiki for more info
diff --git a/test/AllTypesFESA/src/AllTypesFESA/Server/SetMyWOBlockProp.cpp b/test/AllTypesFESA/src/AllTypesFESA/Server/SetMyWOBlockProp.cpp
index 956908c..bdb41ed 100644
--- a/test/AllTypesFESA/src/AllTypesFESA/Server/SetMyWOBlockProp.cpp
+++ b/test/AllTypesFESA/src/AllTypesFESA/Server/SetMyWOBlockProp.cpp
@@ -5,6 +5,8 @@
 #include <AllTypesFESA/Server/SetMyWOBlockProp.h>
 #include <AllTypesFESA/GeneratedCode/ServiceLocator.h>
 
+#include <AllTypesFESA/Common/AllTypesFESA.h>
+
 #include <cmw-log/Logger.h>
 
 namespace 
@@ -54,6 +56,8 @@ SetMyWOBlockProp::~SetMyWOBlockProp()
  */
 void SetMyWOBlockProp::execute(fesa::RequestEvent* pEvt, Device* pDev, const MyWOBlockPropPropertyData& data, const MyWOBlockPropFilterData& filter)
 {
+    auto context = pEvt->getMultiplexingContext();
+	AllTypesFESA::MyWOBlock.setOneDevice(pDev, data, true, context);
 }
 
 } // AllTypesFESA
diff --git a/test/AllTypesFESA_DU/src/AllTypesFESA_DU.silecsdeploy b/test/AllTypesFESA_DU/src/AllTypesFESA_DU.silecsdeploy
index f1bdffb..ab53185 100644
--- a/test/AllTypesFESA_DU/src/AllTypesFESA_DU.silecsdeploy
+++ b/test/AllTypesFESA_DU/src/AllTypesFESA_DU.silecsdeploy
@@ -10,7 +10,7 @@
     <SilecsDesign silecs-design-name="AllTypesFESA" silecs-design-version="0.1.0"/>    
     <Controller host-name="tsts7001-device">
         <Siemens-PLC system="TIA-PORTAL" model="SIMATIC_S7-1500" protocol="DEVICE_MODE" base-DB-number="1000">
-            <Device silecs-device-label="allTypesDevModeSilecsDevice" silecs-design-ref="AllTypesFESA" fesa-device-name="allTypesDevModeFesaDevice" fesa-fec-name="localhost"></Device>
+            <Device silecs-device-label="allTypesDevModeSilecsDevice" silecs-design-ref="AllTypesFESA" fesa-device-name="allTypesDevModeFesaDevice" fesa-fec-name="vmla016"></Device>
         </Siemens-PLC>
     </Controller>
     <Controller host-name="tsts7001-block">
@@ -18,7 +18,7 @@
     		base-DB-number="2000" protocol="BLOCK_MODE">
     		<Device silecs-device-label="allTypesBlkModeSilecsDevice"
     			silecs-design-ref="AllTypesFESA" fesa-device-name="allTypesBlkModeFesaDevice"
-    			fesa-fec-name="localhost" />
+    			fesa-fec-name="vmla016" />
     	</Siemens-PLC>
     </Controller>
-</SILECS-Deploy>
\ No newline at end of file
+</SILECS-Deploy>
-- 
GitLab