diff --git a/RandomDataDev/RandomData.py b/RandomDataDev/RandomData.py
new file mode 100644
index 0000000000000000000000000000000000000000..ddf3a5a9ed89e8ead45f0b0b0efbab027e7f3d37
--- /dev/null
+++ b/RandomDataDev/RandomData.py
@@ -0,0 +1,480 @@
+# -*- coding: utf-8 -*-
+#
+# This file is part of the RandomData project
+#
+#
+#
+# Distributed under the terms of the APACHE license.
+# See LICENSE.txt for more info.
+
+""" Random data monitor point device
+
+"""
+
+# PyTango imports
+import PyTango
+from PyTango import DebugIt
+from PyTango.server import run
+from PyTango.server import Device, DeviceMeta
+from PyTango.server import attribute, command
+from PyTango import AttrQuality, DispLevel, DevState
+from PyTango import AttrWriteType, PipeWriteType
+# Additional import
+# PROTECTED REGION ID(RandomData.additionnal_import) ENABLED START #
+from numpy import random
+# PROTECTED REGION END #    //  RandomData.additionnal_import
+
+__all__ = ["RandomData", "main"]
+
+
+class RandomData(Device):
+    """
+    """
+    __metaclass__ = DeviceMeta
+    # PROTECTED REGION ID(RandomData.class_variable) ENABLED START #
+    # PROTECTED REGION END #    //  RandomData.class_variable
+
+    # ----------
+    # Attributes
+    # ----------
+
+    rnd1 = attribute(
+        dtype='double',
+        max_value=1.0,
+        min_value=0.0,
+        max_alarm=1.0,
+        min_alarm=0.9,
+        max_warning=0.9,
+        min_warning=0.75,
+        delta_t=100,
+        delta_val=0.01,
+    )
+
+    rnd2 = attribute(
+        dtype='double',
+        max_value=1.0,
+        min_value=0.0,
+        max_alarm=1.0,
+        min_alarm=0.9,
+        max_warning=0.9,
+        min_warning=0.75,
+        delta_t=100,
+        delta_val=0.01,
+    )
+
+    rnd3 = attribute(
+        dtype='double',
+        max_value=1.0,
+        min_value=0.0,
+        max_alarm=1.0,
+        min_alarm=0.9,
+        max_warning=0.9,
+        min_warning=0.75,
+        delta_t=100,
+        delta_val=0.01,
+    )
+
+    rnd4 = attribute(
+        dtype='double',
+        max_value=1.0,
+        min_value=0.0,
+        max_alarm=1.0,
+        min_alarm=0.9,
+        max_warning=0.9,
+        min_warning=0.75,
+        delta_t=100,
+        delta_val=0.01,
+    )
+
+    rnd5 = attribute(
+        dtype='double',
+        max_value=1.0,
+        min_value=0.0,
+        max_alarm=1.0,
+        min_alarm=0.9,
+        max_warning=0.9,
+        min_warning=0.75,
+        delta_t=100,
+        delta_val=0.01,
+    )
+
+    rnd6 = attribute(
+        dtype='double',
+        max_value=1.0,
+        min_value=0.0,
+        max_alarm=1.0,
+        min_alarm=0.9,
+        max_warning=0.9,
+        min_warning=0.75,
+        delta_t=100,
+        delta_val=0.01,
+    )
+
+    rnd7 = attribute(
+        dtype='double',
+        max_value=1.0,
+        min_value=0.0,
+        max_alarm=1.0,
+        min_alarm=0.9,
+        max_warning=0.9,
+        min_warning=0.75,
+        delta_t=100,
+        delta_val=0.01,
+    )
+
+    rnd8 = attribute(
+        dtype='double',
+        max_value=1.0,
+        min_value=0.0,
+        max_alarm=1.0,
+        min_alarm=0.9,
+        max_warning=0.9,
+        min_warning=0.75,
+        delta_t=100,
+        delta_val=0.01,
+    )
+
+    rnd9 = attribute(
+        dtype='double',
+        max_value=1.0,
+        min_value=0.0,
+        max_alarm=1.0,
+        min_alarm=0.9,
+        max_warning=0.9,
+        min_warning=0.75,
+        delta_t=100,
+        delta_val=0.01,
+    )
+
+    rnd10 = attribute(
+        dtype='double',
+        max_value=1.0,
+        min_value=0.0,
+        max_alarm=1.0,
+        min_alarm=0.9,
+        max_warning=0.9,
+        min_warning=0.75,
+        delta_t=100,
+        delta_val=0.01,
+    )
+
+    rnd11 = attribute(
+        dtype='double',
+        max_value=1.0,
+        min_value=0.0,
+        max_alarm=1.0,
+        min_alarm=0.9,
+        max_warning=0.9,
+        min_warning=0.75,
+        delta_t=100,
+        delta_val=0.01,
+    )
+
+    rnd12 = attribute(
+        dtype='double',
+        max_value=1.0,
+        min_value=0.0,
+        max_alarm=1.0,
+        min_alarm=0.9,
+        max_warning=0.9,
+        min_warning=0.75,
+        delta_t=100,
+        delta_val=0.01,
+    )
+
+    rnd13 = attribute(
+        dtype='double',
+        max_value=1.0,
+        min_value=0.0,
+        max_alarm=1.0,
+        min_alarm=0.9,
+        max_warning=0.9,
+        min_warning=0.75,
+        delta_t=100,
+        delta_val=0.01,
+    )
+
+    rnd14 = attribute(
+        dtype='double',
+        max_value=1.0,
+        min_value=0.0,
+        max_alarm=1.0,
+        min_alarm=0.9,
+        max_warning=0.9,
+        min_warning=0.75,
+        delta_t=100,
+        delta_val=0.01,
+    )
+
+    rnd15 = attribute(
+        dtype='double',
+        max_value=1.0,
+        min_value=0.0,
+        max_alarm=1.0,
+        min_alarm=0.9,
+        max_warning=0.9,
+        min_warning=0.75,
+        delta_t=100,
+        delta_val=0.01,
+    )
+
+    rnd16 = attribute(
+        dtype='double',
+        max_value=1.0,
+        min_value=0.0,
+        max_alarm=1.0,
+        min_alarm=0.9,
+        max_warning=0.9,
+        min_warning=0.75,
+        delta_t=100,
+        delta_val=0.01,
+    )
+
+    rnd17 = attribute(
+        dtype='double',
+        max_value=1.0,
+        min_value=0.0,
+        max_alarm=1.0,
+        min_alarm=0.9,
+        max_warning=0.9,
+        min_warning=0.75,
+        delta_t=100,
+        delta_val=0.01,
+    )
+
+    rnd18 = attribute(
+        dtype='double',
+        max_value=1.0,
+        min_value=0.0,
+        max_alarm=1.0,
+        min_alarm=0.9,
+        max_warning=0.9,
+        min_warning=0.75,
+        delta_t=100,
+        delta_val=0.01,
+    )
+
+    rnd19 = attribute(
+        dtype='double',
+        max_value=1.0,
+        min_value=0.0,
+        max_alarm=1.0,
+        min_alarm=0.9,
+        max_warning=0.9,
+        min_warning=0.75,
+        delta_t=100,
+        delta_val=0.01,
+    )
+
+    rnd20 = attribute(
+        dtype='double',
+        max_value=1.0,
+        min_value=0.0,
+        max_alarm=1.0,
+        min_alarm=0.9,
+        max_warning=0.9,
+        min_warning=0.75,
+        delta_t=100,
+        delta_val=0.01,
+    )
+
+    # ---------------
+    # General methods
+    # ---------------
+
+    def init_device(self):
+        Device.init_device(self)
+        self.rnd1.set_data_ready_event(True)
+        self.set_change_event("rnd1", True, True)
+        self.set_archive_event("rnd1", True, True)
+        self.rnd2.set_data_ready_event(True)
+        self.set_change_event("rnd2", True, True)
+        self.set_archive_event("rnd2", True, True)
+        self.rnd3.set_data_ready_event(True)
+        self.set_change_event("rnd3", True, True)
+        self.set_archive_event("rnd3", True, True)
+        self.rnd4.set_data_ready_event(True)
+        self.set_change_event("rnd4", True, True)
+        self.set_archive_event("rnd4", True, True)
+        self.rnd5.set_data_ready_event(True)
+        self.set_change_event("rnd5", True, True)
+        self.set_archive_event("rnd5", True, True)
+        self.rnd6.set_data_ready_event(True)
+        self.set_change_event("rnd6", True, True)
+        self.set_archive_event("rnd6", True, True)
+        self.rnd7.set_data_ready_event(True)
+        self.set_change_event("rnd7", True, True)
+        self.set_archive_event("rnd7", True, True)
+        self.rnd8.set_data_ready_event(True)
+        self.set_change_event("rnd8", True, True)
+        self.set_archive_event("rnd8", True, True)
+        self.rnd9.set_data_ready_event(True)
+        self.set_change_event("rnd9", True, True)
+        self.set_archive_event("rnd9", True, True)
+        self.rnd10.set_data_ready_event(True)
+        self.set_change_event("rnd10", True, True)
+        self.set_archive_event("rnd10", True, True)
+        self.rnd11.set_data_ready_event(True)
+        self.set_change_event("rnd11", True, True)
+        self.set_archive_event("rnd11", True, True)
+        self.rnd12.set_data_ready_event(True)
+        self.set_change_event("rnd12", True, True)
+        self.set_archive_event("rnd12", True, True)
+        self.rnd13.set_data_ready_event(True)
+        self.set_change_event("rnd13", True, True)
+        self.set_archive_event("rnd13", True, True)
+        self.rnd14.set_data_ready_event(True)
+        self.set_change_event("rnd14", True, True)
+        self.set_archive_event("rnd14", True, True)
+        self.rnd15.set_data_ready_event(True)
+        self.set_change_event("rnd15", True, True)
+        self.set_archive_event("rnd15", True, True)
+        self.rnd16.set_data_ready_event(True)
+        self.set_change_event("rnd16", True, True)
+        self.set_archive_event("rnd16", True, True)
+        self.rnd17.set_data_ready_event(True)
+        self.set_change_event("rnd17", True, True)
+        self.set_archive_event("rnd17", True, True)
+        self.rnd18.set_data_ready_event(True)
+        self.set_change_event("rnd18", True, True)
+        self.set_archive_event("rnd18", True, True)
+        self.rnd19.set_data_ready_event(True)
+        self.set_change_event("rnd19", True, True)
+        self.set_archive_event("rnd19", True, True)
+        self.rnd20.set_data_ready_event(True)
+        self.set_change_event("rnd20", True, True)
+        self.set_archive_event("rnd20", True, True)
+        # PROTECTED REGION ID(RandomData.init_device) ENABLED START #
+        # PROTECTED REGION END #    //  RandomData.init_device
+
+    def always_executed_hook(self):
+        # PROTECTED REGION ID(RandomData.always_executed_hook) ENABLED START #
+        pass
+        # PROTECTED REGION END #    //  RandomData.always_executed_hook
+
+    def delete_device(self):
+        # PROTECTED REGION ID(RandomData.delete_device) ENABLED START #
+        pass
+        # PROTECTED REGION END #    //  RandomData.delete_device
+
+    # ------------------
+    # Attributes methods
+    # ------------------
+
+    def read_rnd1(self):
+        # PROTECTED REGION ID(RandomData.rnd1_read) ENABLED START #
+        return random.random()
+        # PROTECTED REGION END #    //  RandomData.rnd1_read
+
+    def read_rnd2(self):
+        # PROTECTED REGION ID(RandomData.rnd2_read) ENABLED START #
+        return random.random()
+        # PROTECTED REGION END #    //  RandomData.rnd2_read
+
+    def read_rnd3(self):
+        # PROTECTED REGION ID(RandomData.rnd3_read) ENABLED START #
+        return random.random()
+        # PROTECTED REGION END #    //  RandomData.rnd3_read
+
+    def read_rnd4(self):
+        # PROTECTED REGION ID(RandomData.rnd4_read) ENABLED START #
+        return random.random()
+        # PROTECTED REGION END #    //  RandomData.rnd4_read
+
+    def read_rnd5(self):
+        # PROTECTED REGION ID(RandomData.rnd5_read) ENABLED START #
+        return random.random()
+        # PROTECTED REGION END #    //  RandomData.rnd5_read
+
+    def read_rnd6(self):
+        # PROTECTED REGION ID(RandomData.rnd6_read) ENABLED START #
+        return random.random()
+        # PROTECTED REGION END #    //  RandomData.rnd6_read
+
+    def read_rnd7(self):
+        # PROTECTED REGION ID(RandomData.rnd7_read) ENABLED START #
+        return random.random()
+        # PROTECTED REGION END #    //  RandomData.rnd7_read
+
+    def read_rnd8(self):
+        # PROTECTED REGION ID(RandomData.rnd8_read) ENABLED START #
+        return random.random()
+        # PROTECTED REGION END #    //  RandomData.rnd8_read
+
+    def read_rnd9(self):
+        # PROTECTED REGION ID(RandomData.rnd9_read) ENABLED START #
+        return random.random()
+        # PROTECTED REGION END #    //  RandomData.rnd9_read
+
+    def read_rnd10(self):
+        # PROTECTED REGION ID(RandomData.rnd10_read) ENABLED START #
+        return random.random()
+        # PROTECTED REGION END #    //  RandomData.rnd10_read
+
+    def read_rnd11(self):
+        # PROTECTED REGION ID(RandomData.rnd11_read) ENABLED START #
+        return random.random()
+        # PROTECTED REGION END #    //  RandomData.rnd11_read
+
+    def read_rnd12(self):
+        # PROTECTED REGION ID(RandomData.rnd12_read) ENABLED START #
+        return random.random()
+        # PROTECTED REGION END #    //  RandomData.rnd12_read
+
+    def read_rnd13(self):
+        # PROTECTED REGION ID(RandomData.rnd13_read) ENABLED START #
+        return random.random()
+        # PROTECTED REGION END #    //  RandomData.rnd13_read
+
+    def read_rnd14(self):
+        # PROTECTED REGION ID(RandomData.rnd14_read) ENABLED START #
+        return random.random()
+        # PROTECTED REGION END #    //  RandomData.rnd14_read
+
+    def read_rnd15(self):
+        # PROTECTED REGION ID(RandomData.rnd15_read) ENABLED START #
+        return random.random()
+        # PROTECTED REGION END #    //  RandomData.rnd15_read
+
+    def read_rnd16(self):
+        # PROTECTED REGION ID(RandomData.rnd16_read) ENABLED START #
+        return random.random()
+        # PROTECTED REGION END #    //  RandomData.rnd16_read
+
+    def read_rnd17(self):
+        # PROTECTED REGION ID(RandomData.rnd17_read) ENABLED START #
+        return random.random()
+        # PROTECTED REGION END #    //  RandomData.rnd17_read
+
+    def read_rnd18(self):
+        # PROTECTED REGION ID(RandomData.rnd18_read) ENABLED START #
+        return random.random()
+        # PROTECTED REGION END #    //  RandomData.rnd18_read
+
+    def read_rnd19(self):
+        # PROTECTED REGION ID(RandomData.rnd19_read) ENABLED START #
+        return random.random()
+        # PROTECTED REGION END #    //  RandomData.rnd19_read
+
+    def read_rnd20(self):
+        # PROTECTED REGION ID(RandomData.rnd20_read) ENABLED START #
+        return random.random()
+        # PROTECTED REGION END #    //  RandomData.rnd20_read
+
+
+    # --------
+    # Commands
+    # --------
+
+# ----------
+# Run server
+# ----------
+
+
+def main(args=None, **kwargs):
+    # PROTECTED REGION ID(RandomData.main) ENABLED START #
+    return run((RandomData,), args=args, **kwargs)
+    # PROTECTED REGION END #    //  RandomData.main
+
+if __name__ == '__main__':
+    main()
diff --git a/RandomDataDev/RandomData.xmi b/RandomDataDev/RandomData.xmi
new file mode 100644
index 0000000000000000000000000000000000000000..e694933e5246c7f7b1b814374bb8950030702bea
--- /dev/null
+++ b/RandomDataDev/RandomData.xmi
@@ -0,0 +1,228 @@
+<?xml version="1.0" encoding="ASCII"?>
+<pogoDsl:PogoSystem xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:pogoDsl="http://www.esrf.fr/tango/pogo/PogoDsl">
+  <classes name="RandomData" pogoRevision="9.6">
+    <description description="" title="Random data monitor point device" sourcePath="/hosthome/workspace.astron/git/tango-workshop/RandomDataDev" language="PythonHL" filestogenerate="XMI   file,Code files,Protected Regions" license="APACHE" copyright="" hasMandatoryProperty="false" hasConcreteProperty="false" hasAbstractCommand="false" hasAbstractAttribute="false">
+      <inheritances classname="Device_Impl" sourcePath=""/>
+      <identification contact="at astron.nl - jurges" author="jurges" emailDomain="astron.nl" classFamily="Simulators" siteSpecific="" platform="Unix Like" bus="Not Applicable" manufacturer="ASTRON" reference=""/>
+    </description>
+    <commands name="State" description="This command gets the device state (stored in its device_state data member) and returns it to the caller." execMethod="dev_state" displayLevel="OPERATOR" polledPeriod="0">
+      <argin description="none">
+        <type xsi:type="pogoDsl:VoidType"/>
+      </argin>
+      <argout description="Device state">
+        <type xsi:type="pogoDsl:StateType"/>
+      </argout>
+      <status abstract="true" inherited="true" concrete="true"/>
+    </commands>
+    <commands name="Status" description="This command gets the device status (stored in its device_status data member) and returns it to the caller." execMethod="dev_status" displayLevel="OPERATOR" polledPeriod="0">
+      <argin description="none">
+        <type xsi:type="pogoDsl:VoidType"/>
+      </argin>
+      <argout description="Device status">
+        <type xsi:type="pogoDsl:ConstStringType"/>
+      </argout>
+      <status abstract="true" inherited="true" concrete="true"/>
+    </commands>
+    <attributes name="rnd1" attType="Scalar" rwType="READ" displayLevel="OPERATOR" polledPeriod="100" maxX="" maxY="" allocReadMember="true" isDynamic="false">
+      <dataType xsi:type="pogoDsl:DoubleType"/>
+      <changeEvent fire="true" libCheckCriteria="true"/>
+      <archiveEvent fire="true" libCheckCriteria="true"/>
+      <dataReadyEvent fire="true" libCheckCriteria="true"/>
+      <status abstract="false" inherited="false" concrete="true" concreteHere="true"/>
+      <properties description="" label="" unit="" standardUnit="" displayUnit="" format="" maxValue="1.0" minValue="0.0" maxAlarm="1.0" minAlarm="0.9" maxWarning="0.9" minWarning="0.75" deltaTime="100" deltaValue="0.01"/>
+      <eventCriteria relChange="1" absChange="0.01" period="1000"/>
+      <evArchiveCriteria relChange="1" absChange="0.01" period="1000"/>
+    </attributes>
+    <attributes name="rnd2" attType="Scalar" rwType="READ" displayLevel="OPERATOR" polledPeriod="100" maxX="" maxY="" allocReadMember="true" isDynamic="false">
+      <dataType xsi:type="pogoDsl:DoubleType"/>
+      <changeEvent fire="true" libCheckCriteria="true"/>
+      <archiveEvent fire="true" libCheckCriteria="true"/>
+      <dataReadyEvent fire="true" libCheckCriteria="true"/>
+      <status abstract="false" inherited="false" concrete="true" concreteHere="true"/>
+      <properties description="" label="" unit="" standardUnit="" displayUnit="" format="" maxValue="1.0" minValue="0.0" maxAlarm="1.0" minAlarm="0.9" maxWarning="0.9" minWarning="0.75" deltaTime="100" deltaValue="0.01"/>
+      <eventCriteria relChange="1" absChange="0.01" period="1000"/>
+      <evArchiveCriteria relChange="1" absChange="0.01" period="1000"/>
+    </attributes>
+    <attributes name="rnd3" attType="Scalar" rwType="READ" displayLevel="OPERATOR" polledPeriod="100" maxX="" maxY="" allocReadMember="true" isDynamic="false">
+      <dataType xsi:type="pogoDsl:DoubleType"/>
+      <changeEvent fire="true" libCheckCriteria="true"/>
+      <archiveEvent fire="true" libCheckCriteria="true"/>
+      <dataReadyEvent fire="true" libCheckCriteria="true"/>
+      <status abstract="false" inherited="false" concrete="true" concreteHere="true"/>
+      <properties description="" label="" unit="" standardUnit="" displayUnit="" format="" maxValue="1.0" minValue="0.0" maxAlarm="1.0" minAlarm="0.9" maxWarning="0.9" minWarning="0.75" deltaTime="100" deltaValue="0.01"/>
+      <eventCriteria relChange="1" absChange="0.01" period="1000"/>
+      <evArchiveCriteria relChange="1" absChange="0.01" period="1000"/>
+    </attributes>
+    <attributes name="rnd4" attType="Scalar" rwType="READ" displayLevel="OPERATOR" polledPeriod="100" maxX="" maxY="" allocReadMember="true" isDynamic="false">
+      <dataType xsi:type="pogoDsl:DoubleType"/>
+      <changeEvent fire="true" libCheckCriteria="true"/>
+      <archiveEvent fire="true" libCheckCriteria="true"/>
+      <dataReadyEvent fire="true" libCheckCriteria="true"/>
+      <status abstract="false" inherited="false" concrete="true" concreteHere="true"/>
+      <properties description="" label="" unit="" standardUnit="" displayUnit="" format="" maxValue="1.0" minValue="0.0" maxAlarm="1.0" minAlarm="0.9" maxWarning="0.9" minWarning="0.75" deltaTime="100" deltaValue="0.01"/>
+      <eventCriteria relChange="1" absChange="0.01" period="1000"/>
+      <evArchiveCriteria relChange="1" absChange="0.01" period="1000"/>
+    </attributes>
+    <attributes name="rnd5" attType="Scalar" rwType="READ" displayLevel="OPERATOR" polledPeriod="100" maxX="" maxY="" allocReadMember="true" isDynamic="false">
+      <dataType xsi:type="pogoDsl:DoubleType"/>
+      <changeEvent fire="true" libCheckCriteria="true"/>
+      <archiveEvent fire="true" libCheckCriteria="true"/>
+      <dataReadyEvent fire="true" libCheckCriteria="true"/>
+      <status abstract="false" inherited="false" concrete="true" concreteHere="true"/>
+      <properties description="" label="" unit="" standardUnit="" displayUnit="" format="" maxValue="1.0" minValue="0.0" maxAlarm="1.0" minAlarm="0.9" maxWarning="0.9" minWarning="0.75" deltaTime="100" deltaValue="0.01"/>
+      <eventCriteria relChange="1" absChange="0.01" period="1000"/>
+      <evArchiveCriteria relChange="1" absChange="0.01" period="1000"/>
+    </attributes>
+    <attributes name="rnd6" attType="Scalar" rwType="READ" displayLevel="OPERATOR" polledPeriod="100" maxX="" maxY="" allocReadMember="true" isDynamic="false">
+      <dataType xsi:type="pogoDsl:DoubleType"/>
+      <changeEvent fire="true" libCheckCriteria="true"/>
+      <archiveEvent fire="true" libCheckCriteria="true"/>
+      <dataReadyEvent fire="true" libCheckCriteria="true"/>
+      <status abstract="false" inherited="false" concrete="true" concreteHere="true"/>
+      <properties description="" label="" unit="" standardUnit="" displayUnit="" format="" maxValue="1.0" minValue="0.0" maxAlarm="1.0" minAlarm="0.9" maxWarning="0.9" minWarning="0.75" deltaTime="100" deltaValue="0.01"/>
+      <eventCriteria relChange="1" absChange="0.01" period="1000"/>
+      <evArchiveCriteria relChange="1" absChange="0.01" period="1000"/>
+    </attributes>
+    <attributes name="rnd7" attType="Scalar" rwType="READ" displayLevel="OPERATOR" polledPeriod="100" maxX="" maxY="" allocReadMember="true" isDynamic="false">
+      <dataType xsi:type="pogoDsl:DoubleType"/>
+      <changeEvent fire="true" libCheckCriteria="true"/>
+      <archiveEvent fire="true" libCheckCriteria="true"/>
+      <dataReadyEvent fire="true" libCheckCriteria="true"/>
+      <status abstract="false" inherited="false" concrete="true" concreteHere="true"/>
+      <properties description="" label="" unit="" standardUnit="" displayUnit="" format="" maxValue="1.0" minValue="0.0" maxAlarm="1.0" minAlarm="0.9" maxWarning="0.9" minWarning="0.75" deltaTime="100" deltaValue="0.01"/>
+      <eventCriteria relChange="1" absChange="0.01" period="1000"/>
+      <evArchiveCriteria relChange="1" absChange="0.01" period="1000"/>
+    </attributes>
+    <attributes name="rnd8" attType="Scalar" rwType="READ" displayLevel="OPERATOR" polledPeriod="100" maxX="" maxY="" allocReadMember="true" isDynamic="false">
+      <dataType xsi:type="pogoDsl:DoubleType"/>
+      <changeEvent fire="true" libCheckCriteria="true"/>
+      <archiveEvent fire="true" libCheckCriteria="true"/>
+      <dataReadyEvent fire="true" libCheckCriteria="true"/>
+      <status abstract="false" inherited="false" concrete="true" concreteHere="true"/>
+      <properties description="" label="" unit="" standardUnit="" displayUnit="" format="" maxValue="1.0" minValue="0.0" maxAlarm="1.0" minAlarm="0.9" maxWarning="0.9" minWarning="0.75" deltaTime="100" deltaValue="0.01"/>
+      <eventCriteria relChange="1" absChange="0.01" period="1000"/>
+      <evArchiveCriteria relChange="1" absChange="0.01" period="1000"/>
+    </attributes>
+    <attributes name="rnd9" attType="Scalar" rwType="READ" displayLevel="OPERATOR" polledPeriod="100" maxX="" maxY="" allocReadMember="true" isDynamic="false">
+      <dataType xsi:type="pogoDsl:DoubleType"/>
+      <changeEvent fire="true" libCheckCriteria="true"/>
+      <archiveEvent fire="true" libCheckCriteria="true"/>
+      <dataReadyEvent fire="true" libCheckCriteria="true"/>
+      <status abstract="false" inherited="false" concrete="true" concreteHere="true"/>
+      <properties description="" label="" unit="" standardUnit="" displayUnit="" format="" maxValue="1.0" minValue="0.0" maxAlarm="1.0" minAlarm="0.9" maxWarning="0.9" minWarning="0.75" deltaTime="100" deltaValue="0.01"/>
+      <eventCriteria relChange="1" absChange="0.01" period="1000"/>
+      <evArchiveCriteria relChange="1" absChange="0.01" period="1000"/>
+    </attributes>
+    <attributes name="rnd10" attType="Scalar" rwType="READ" displayLevel="OPERATOR" polledPeriod="100" maxX="" maxY="" allocReadMember="true" isDynamic="false">
+      <dataType xsi:type="pogoDsl:DoubleType"/>
+      <changeEvent fire="true" libCheckCriteria="true"/>
+      <archiveEvent fire="true" libCheckCriteria="true"/>
+      <dataReadyEvent fire="true" libCheckCriteria="true"/>
+      <status abstract="false" inherited="false" concrete="true" concreteHere="true"/>
+      <properties description="" label="" unit="" standardUnit="" displayUnit="" format="" maxValue="1.0" minValue="0.0" maxAlarm="1.0" minAlarm="0.9" maxWarning="0.9" minWarning="0.75" deltaTime="100" deltaValue="0.01"/>
+      <eventCriteria relChange="1" absChange="0.01" period="1000"/>
+      <evArchiveCriteria relChange="1" absChange="0.01" period="1000"/>
+    </attributes>
+    <attributes name="rnd11" attType="Scalar" rwType="READ" displayLevel="OPERATOR" polledPeriod="100" maxX="" maxY="" allocReadMember="true" isDynamic="false">
+      <dataType xsi:type="pogoDsl:DoubleType"/>
+      <changeEvent fire="true" libCheckCriteria="true"/>
+      <archiveEvent fire="true" libCheckCriteria="true"/>
+      <dataReadyEvent fire="true" libCheckCriteria="true"/>
+      <status abstract="false" inherited="false" concrete="true" concreteHere="true"/>
+      <properties description="" label="" unit="" standardUnit="" displayUnit="" format="" maxValue="1.0" minValue="0.0" maxAlarm="1.0" minAlarm="0.9" maxWarning="0.9" minWarning="0.75" deltaTime="100" deltaValue="0.01"/>
+      <eventCriteria relChange="1" absChange="0.01" period="1000"/>
+      <evArchiveCriteria relChange="1" absChange="0.01" period="1000"/>
+    </attributes>
+    <attributes name="rnd12" attType="Scalar" rwType="READ" displayLevel="OPERATOR" polledPeriod="100" maxX="" maxY="" allocReadMember="true" isDynamic="false">
+      <dataType xsi:type="pogoDsl:DoubleType"/>
+      <changeEvent fire="true" libCheckCriteria="true"/>
+      <archiveEvent fire="true" libCheckCriteria="true"/>
+      <dataReadyEvent fire="true" libCheckCriteria="true"/>
+      <status abstract="false" inherited="false" concrete="true" concreteHere="true"/>
+      <properties description="" label="" unit="" standardUnit="" displayUnit="" format="" maxValue="1.0" minValue="0.0" maxAlarm="1.0" minAlarm="0.9" maxWarning="0.9" minWarning="0.75" deltaTime="100" deltaValue="0.01"/>
+      <eventCriteria relChange="1" absChange="0.01" period="1000"/>
+      <evArchiveCriteria relChange="1" absChange="0.01" period="1000"/>
+    </attributes>
+    <attributes name="rnd13" attType="Scalar" rwType="READ" displayLevel="OPERATOR" polledPeriod="100" maxX="" maxY="" allocReadMember="true" isDynamic="false">
+      <dataType xsi:type="pogoDsl:DoubleType"/>
+      <changeEvent fire="true" libCheckCriteria="true"/>
+      <archiveEvent fire="true" libCheckCriteria="true"/>
+      <dataReadyEvent fire="true" libCheckCriteria="true"/>
+      <status abstract="false" inherited="false" concrete="true" concreteHere="true"/>
+      <properties description="" label="" unit="" standardUnit="" displayUnit="" format="" maxValue="1.0" minValue="0.0" maxAlarm="1.0" minAlarm="0.9" maxWarning="0.9" minWarning="0.75" deltaTime="100" deltaValue="0.01"/>
+      <eventCriteria relChange="1" absChange="0.01" period="1000"/>
+      <evArchiveCriteria relChange="1" absChange="0.01" period="1000"/>
+    </attributes>
+    <attributes name="rnd14" attType="Scalar" rwType="READ" displayLevel="OPERATOR" polledPeriod="100" maxX="" maxY="" allocReadMember="true" isDynamic="false">
+      <dataType xsi:type="pogoDsl:DoubleType"/>
+      <changeEvent fire="true" libCheckCriteria="true"/>
+      <archiveEvent fire="true" libCheckCriteria="true"/>
+      <dataReadyEvent fire="true" libCheckCriteria="true"/>
+      <status abstract="false" inherited="false" concrete="true" concreteHere="true"/>
+      <properties description="" label="" unit="" standardUnit="" displayUnit="" format="" maxValue="1.0" minValue="0.0" maxAlarm="1.0" minAlarm="0.9" maxWarning="0.9" minWarning="0.75" deltaTime="100" deltaValue="0.01"/>
+      <eventCriteria relChange="1" absChange="0.01" period="1000"/>
+      <evArchiveCriteria relChange="1" absChange="0.01" period="1000"/>
+    </attributes>
+    <attributes name="rnd15" attType="Scalar" rwType="READ" displayLevel="OPERATOR" polledPeriod="100" maxX="" maxY="" allocReadMember="true" isDynamic="false">
+      <dataType xsi:type="pogoDsl:DoubleType"/>
+      <changeEvent fire="true" libCheckCriteria="true"/>
+      <archiveEvent fire="true" libCheckCriteria="true"/>
+      <dataReadyEvent fire="true" libCheckCriteria="true"/>
+      <status abstract="false" inherited="false" concrete="true" concreteHere="true"/>
+      <properties description="" label="" unit="" standardUnit="" displayUnit="" format="" maxValue="1.0" minValue="0.0" maxAlarm="1.0" minAlarm="0.9" maxWarning="0.9" minWarning="0.75" deltaTime="100" deltaValue="0.01"/>
+      <eventCriteria relChange="1" absChange="0.01" period="1000"/>
+      <evArchiveCriteria relChange="1" absChange="0.01" period="1000"/>
+    </attributes>
+    <attributes name="rnd16" attType="Scalar" rwType="READ" displayLevel="OPERATOR" polledPeriod="100" maxX="" maxY="" allocReadMember="true" isDynamic="false">
+      <dataType xsi:type="pogoDsl:DoubleType"/>
+      <changeEvent fire="true" libCheckCriteria="true"/>
+      <archiveEvent fire="true" libCheckCriteria="true"/>
+      <dataReadyEvent fire="true" libCheckCriteria="true"/>
+      <status abstract="false" inherited="false" concrete="true" concreteHere="true"/>
+      <properties description="" label="" unit="" standardUnit="" displayUnit="" format="" maxValue="1.0" minValue="0.0" maxAlarm="1.0" minAlarm="0.9" maxWarning="0.9" minWarning="0.75" deltaTime="100" deltaValue="0.01"/>
+      <eventCriteria relChange="1" absChange="0.01" period="1000"/>
+      <evArchiveCriteria relChange="1" absChange="0.01" period="1000"/>
+    </attributes>
+    <attributes name="rnd17" attType="Scalar" rwType="READ" displayLevel="OPERATOR" polledPeriod="100" maxX="" maxY="" allocReadMember="true" isDynamic="false">
+      <dataType xsi:type="pogoDsl:DoubleType"/>
+      <changeEvent fire="true" libCheckCriteria="true"/>
+      <archiveEvent fire="true" libCheckCriteria="true"/>
+      <dataReadyEvent fire="true" libCheckCriteria="true"/>
+      <status abstract="false" inherited="false" concrete="true" concreteHere="true"/>
+      <properties description="" label="" unit="" standardUnit="" displayUnit="" format="" maxValue="1.0" minValue="0.0" maxAlarm="1.0" minAlarm="0.9" maxWarning="0.9" minWarning="0.75" deltaTime="100" deltaValue="0.01"/>
+      <eventCriteria relChange="1" absChange="0.01" period="1000"/>
+      <evArchiveCriteria relChange="1" absChange="0.01" period="1000"/>
+    </attributes>
+    <attributes name="rnd18" attType="Scalar" rwType="READ" displayLevel="OPERATOR" polledPeriod="100" maxX="" maxY="" allocReadMember="true" isDynamic="false">
+      <dataType xsi:type="pogoDsl:DoubleType"/>
+      <changeEvent fire="true" libCheckCriteria="true"/>
+      <archiveEvent fire="true" libCheckCriteria="true"/>
+      <dataReadyEvent fire="true" libCheckCriteria="true"/>
+      <status abstract="false" inherited="false" concrete="true" concreteHere="true"/>
+      <properties description="" label="" unit="" standardUnit="" displayUnit="" format="" maxValue="1.0" minValue="0.0" maxAlarm="1.0" minAlarm="0.9" maxWarning="0.9" minWarning="0.75" deltaTime="100" deltaValue="0.01"/>
+      <eventCriteria relChange="1" absChange="0.01" period="1000"/>
+      <evArchiveCriteria relChange="1" absChange="0.01" period="1000"/>
+    </attributes>
+    <attributes name="rnd19" attType="Scalar" rwType="READ" displayLevel="OPERATOR" polledPeriod="100" maxX="" maxY="" allocReadMember="true" isDynamic="false">
+      <dataType xsi:type="pogoDsl:DoubleType"/>
+      <changeEvent fire="true" libCheckCriteria="true"/>
+      <archiveEvent fire="true" libCheckCriteria="true"/>
+      <dataReadyEvent fire="true" libCheckCriteria="true"/>
+      <status abstract="false" inherited="false" concrete="true" concreteHere="true"/>
+      <properties description="" label="" unit="" standardUnit="" displayUnit="" format="" maxValue="1.0" minValue="0.0" maxAlarm="1.0" minAlarm="0.9" maxWarning="0.9" minWarning="0.75" deltaTime="100" deltaValue="0.01"/>
+      <eventCriteria relChange="1" absChange="0.01" period="1000"/>
+      <evArchiveCriteria relChange="1" absChange="0.01" period="1000"/>
+    </attributes>
+    <attributes name="rnd20" attType="Scalar" rwType="READ" displayLevel="OPERATOR" polledPeriod="100" maxX="" maxY="" allocReadMember="true" isDynamic="false">
+      <dataType xsi:type="pogoDsl:DoubleType"/>
+      <changeEvent fire="true" libCheckCriteria="true"/>
+      <archiveEvent fire="true" libCheckCriteria="true"/>
+      <dataReadyEvent fire="true" libCheckCriteria="true"/>
+      <status abstract="false" inherited="false" concrete="true" concreteHere="true"/>
+      <properties description="" label="" unit="" standardUnit="" displayUnit="" format="" maxValue="1.0" minValue="0.0" maxAlarm="1.0" minAlarm="0.9" maxWarning="0.9" minWarning="0.75" deltaTime="100" deltaValue="0.01"/>
+      <eventCriteria relChange="1" absChange="0.01" period="1000"/>
+      <evArchiveCriteria relChange="1" absChange="0.01" period="1000"/>
+    </attributes>
+    <preferences docHome="./doc_html" makefileHome="/usr/local/share/pogo/preferences"/>
+  </classes>
+</pogoDsl:PogoSystem>
diff --git a/RandomDataDev/lauchRandomData.sh b/RandomDataDev/lauchRandomData.sh
new file mode 100755
index 0000000000000000000000000000000000000000..70d6426023e6873e7d3896de57615b9f9f6c1c1a
--- /dev/null
+++ b/RandomDataDev/lauchRandomData.sh
@@ -0,0 +1 @@
+docker exec -it -e PYTHONPATH=/hosthome/workspace.astron/git/SKA/ itango python3 /hosthome/workspace.astron/git/tango-workshop/RandomDataDev/RandomData.py 1 -v