From e223b8da7f06dacfc621d82e22c2024613c1f4e2 Mon Sep 17 00:00:00 2001
From: apvrille <ludovic.apvrille@eurecom.fr>
Date: Wed, 7 Feb 2018 11:31:18 +0100
Subject: [PATCH] FPGA component added in Diplodocus architecture diagrams

---
 modeling/DIPLODOCUS/ZigBeeTutorial.xml        | 4318 +++++++++--------
 src/main/java/tmltranslator/HwFPGA.java       |   86 +
 src/main/java/ui/ActionPerformer.java         |    2 +
 src/main/java/ui/MainGUI.java                 |    6 +
 src/main/java/ui/TGComponentManager.java      | 2319 +++++----
 src/main/java/ui/TGUIAction.java              |    4 +-
 .../java/ui/tmldd/TMLArchiDiagramToolBar.java |    8 +
 src/main/java/ui/tmldd/TMLArchiFPGANode.java  |  554 +++
 src/main/java/ui/util/IconManager.java        |    5 +
 src/main/java/ui/window/JDialogFPGANode.java  |  306 ++
 src/main/resources/ui/util/tmlfpganode.gif    |  Bin 0 -> 113 bytes
 11 files changed, 4306 insertions(+), 3302 deletions(-)
 create mode 100755 src/main/java/tmltranslator/HwFPGA.java
 create mode 100755 src/main/java/ui/tmldd/TMLArchiFPGANode.java
 create mode 100755 src/main/java/ui/window/JDialogFPGANode.java
 create mode 100755 src/main/resources/ui/util/tmlfpganode.gif

diff --git a/modeling/DIPLODOCUS/ZigBeeTutorial.xml b/modeling/DIPLODOCUS/ZigBeeTutorial.xml
index f9e13d9dc6..78a1818064 100644
--- a/modeling/DIPLODOCUS/ZigBeeTutorial.xml
+++ b/modeling/DIPLODOCUS/ZigBeeTutorial.xml
@@ -29,11 +29,11 @@
 </COMPONENT>
 <SUBCOMPONENT type="6005" id="6" >
 <father id="13" num="0" />
-<cdparam x="605" y="140" />
+<cdparam x="605" y="170" />
 <sizeparam width="10" height="10" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="605" maxX="605" minY="140" maxY="140" />
-<infoparam name="value " value="DMA_transfer" />
+<cdrectangleparam minX="605" maxX="605" minY="170" maxY="170" />
+<infoparam name="value " value="CP_Memory_Copy" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="6005" id="7" >
 <father id="13" num="1" />
@@ -45,11 +45,11 @@
 </SUBCOMPONENT>
 <SUBCOMPONENT type="6005" id="8" >
 <father id="13" num="2" />
-<cdparam x="605" y="170" />
+<cdparam x="605" y="140" />
 <sizeparam width="10" height="10" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="605" maxX="605" minY="170" maxY="170" />
-<infoparam name="value " value="CP_Memory_Copy" />
+<cdrectangleparam minX="605" maxX="605" minY="140" maxY="140" />
+<infoparam name="value " value="DMA_transfer" />
 </SUBCOMPONENT>
 
 <COMPONENT type="6002" id="23" >
@@ -67,11 +67,11 @@
 </COMPONENT>
 <SUBCOMPONENT type="6005" id="14" >
 <father id="23" num="0" />
-<cdparam x="605" y="340" />
+<cdparam x="605" y="370" />
 <sizeparam width="10" height="10" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="605" maxX="605" minY="340" maxY="340" />
-<infoparam name="value " value="Mapping_0" />
+<cdrectangleparam minX="605" maxX="605" minY="370" maxY="370" />
+<infoparam name="value " value="Mapping_2" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="6005" id="15" >
 <father id="23" num="1" />
@@ -83,11 +83,11 @@
 </SUBCOMPONENT>
 <SUBCOMPONENT type="6005" id="16" >
 <father id="23" num="2" />
-<cdparam x="605" y="370" />
+<cdparam x="605" y="340" />
 <sizeparam width="10" height="10" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="605" maxX="605" minY="370" maxY="370" />
-<infoparam name="value " value="Mapping_2" />
+<cdrectangleparam minX="605" maxX="605" minY="340" maxY="340" />
+<infoparam name="value " value="Mapping_0" />
 </SUBCOMPONENT>
 
 <COMPONENT type="6001" id="29" >
@@ -171,7 +171,7 @@
 <cdparam x="1409" y="343" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="Connector between ports" />
-<P1  x="1397" y="380" id="772" />
+<P1  x="1397" y="380" id="685" />
 <P2  x="1446" y="258" id="125" />
 <Point x="1446" y="393" />
 <AutomaticDrawing  data="true" />
@@ -188,16 +188,16 @@
 <cdparam x="1383" y="381" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="Connector between ports" />
-<P1  x="1364" y="380" id="723" />
-<P2  x="1397" y="406" id="777" />
+<P1  x="1364" y="380" id="742" />
+<P2  x="1397" y="406" id="690" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="45" >
 <cdparam x="1507" y="228" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="Connector between ports" />
-<P1  x="1494" y="263" id="662" />
-<P2  x="1535" y="237" id="608" />
+<P1  x="1494" y="263" id="596" />
+<P2  x="1535" y="237" id="648" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="46" >
@@ -205,23 +205,23 @@
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="Connector between ports" />
 <P1  x="1463" y="250" id="120" />
-<P2  x="1494" y="237" id="657" />
+<P2  x="1494" y="237" id="591" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="47" >
 <cdparam x="1507" y="420" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="Connector between ports" />
-<P1  x="1494" y="423" id="643" />
-<P2  x="1536" y="397" id="591" />
+<P1  x="1494" y="423" id="615" />
+<P2  x="1536" y="397" id="665" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="50" >
 <cdparam x="1409" y="471" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="Connector between ports" />
-<P1  x="1397" y="510" id="753" />
-<P2  x="1494" y="397" id="638" />
+<P1  x="1397" y="510" id="704" />
+<P2  x="1494" y="397" id="610" />
 <Point x="1432" y="523" />
 <Point x="1432" y="410" />
 <AutomaticDrawing  data="true" />
@@ -246,24 +246,24 @@
 <cdparam x="1379" y="511" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="Connector between ports" />
-<P1  x="1362" y="510" id="708" />
-<P2  x="1397" y="536" id="758" />
+<P1  x="1362" y="510" id="757" />
+<P2  x="1397" y="536" id="709" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="52" >
 <cdparam x="1507" y="344" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="Connector between ports" />
-<P1  x="1494" y="367" id="624" />
-<P2  x="1536" y="341" id="595" />
+<P1  x="1494" y="367" id="634" />
+<P2  x="1536" y="341" id="661" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="55" >
 <cdparam x="1413" y="226" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="Connector between ports" />
-<P1  x="1400" y="249" id="887" />
-<P2  x="1494" y="341" id="619" />
+<P1  x="1400" y="249" id="800" />
+<P2  x="1494" y="341" id="629" />
 <Point x="1430" y="262" />
 <Point x="1430" y="354" />
 <AutomaticDrawing  data="true" />
@@ -288,15 +288,15 @@
 <cdparam x="1388" y="262" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="Connector between ports" />
-<P1  x="1365" y="249" id="823" />
-<P2  x="1400" y="275" id="892" />
+<P1  x="1365" y="249" id="872" />
+<P2  x="1400" y="275" id="805" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="58" >
 <cdparam x="1413" y="97" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="Connector between ports" />
-<P1  x="1400" y="111" id="800" />
+<P1  x="1400" y="111" id="887" />
 <P2  x="1446" y="241" id="123" />
 <Point x="1446" y="124" />
 <AutomaticDrawing  data="true" />
@@ -313,16 +313,16 @@
 <cdparam x="1384" y="124" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="Connector between ports" />
-<P1  x="1364" y="111" id="838" />
-<P2  x="1400" y="137" id="805" />
+<P1  x="1364" y="111" id="857" />
+<P2  x="1400" y="137" id="892" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="60" >
 <cdparam x="1208" y="347" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="Connector between ports" />
-<P1  x="1186" y="401" id="690" />
-<P2  x="1220" y="375" id="721" />
+<P1  x="1186" y="401" id="777" />
+<P2  x="1220" y="375" id="744" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="62" >
@@ -330,7 +330,7 @@
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="Connector between ports" />
 <P1  x="1133" y="251" id="141" />
-<P2  x="1186" y="375" id="685" />
+<P2  x="1186" y="375" id="772" />
 <Point x="1133" y="388" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR><SUBCOMPONENT type="-1" id="61" >
@@ -346,7 +346,7 @@
 <cdparam x="1105" y="254" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="Connector between ports" />
-<P1  x="1046" y="230" id="455" />
+<P1  x="1046" y="230" id="563" />
 <P2  x="1117" y="243" id="136" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
@@ -354,16 +354,16 @@
 <cdparam x="1068" y="239" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="Connector between ports" />
-<P1  x="1010" y="230" id="531" />
-<P2  x="1046" y="256" id="460" />
+<P1  x="1010" y="230" id="495" />
+<P2  x="1046" y="256" id="568" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="67" >
 <cdparam x="1105" y="374" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="Connector between ports" />
-<P1  x="1046" y="363" id="563" />
-<P2  x="1186" y="249" id="849" />
+<P1  x="1046" y="363" id="455" />
+<P2  x="1186" y="249" id="838" />
 <Point x="1103" y="376" />
 <Point x="1103" y="262" />
 <AutomaticDrawing  data="true" />
@@ -388,24 +388,24 @@
 <cdparam x="1065" y="372" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="Connector between ports" />
-<P1  x="1008" y="363" id="516" />
-<P2  x="1046" y="389" id="568" />
+<P1  x="1008" y="363" id="510" />
+<P2  x="1046" y="389" id="460" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="69" >
 <cdparam x="1208" y="499" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="Connector between ports" />
-<P1  x="1186" y="513" id="739" />
-<P2  x="1224" y="487" id="706" />
+<P1  x="1186" y="513" id="728" />
+<P2  x="1224" y="487" id="759" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="72" >
 <cdparam x="1105" y="408" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="Connector between ports" />
-<P1  x="1046" y="395" id="544" />
-<P2  x="1186" y="487" id="734" />
+<P1  x="1046" y="395" id="474" />
+<P2  x="1186" y="487" id="723" />
 <Point x="1101" y="408" />
 <Point x="1101" y="500" />
 <AutomaticDrawing  data="true" />
@@ -430,160 +430,160 @@
 <cdparam x="1065" y="404" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="Connector between ports" />
-<P1  x="1008" y="395" id="512" />
-<P2  x="1046" y="421" id="549" />
+<P1  x="1008" y="395" id="514" />
+<P2  x="1046" y="421" id="479" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="74" >
 <cdparam x="907" y="352" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="Connector between ports" />
-<P1  x="838" y="400" id="479" />
-<P2  x="874" y="374" id="518" />
+<P1  x="838" y="400" id="549" />
+<P2  x="874" y="374" id="508" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="75" >
 <cdparam x="867" y="334" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="Connector between ports" />
-<P1  x="799" y="374" id="340" />
-<P2  x="838" y="374" id="474" />
+<P1  x="799" y="374" id="427" />
+<P2  x="838" y="374" id="544" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="76" >
 <cdparam x="840" y="380" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="Connector between ports" />
-<P1  x="756" y="374" id="382" />
-<P2  x="799" y="400" id="345" />
+<P1  x="756" y="374" id="393" />
+<P2  x="799" y="400" id="432" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="77" >
 <cdparam x="915" y="228" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="Connector between ports" />
-<P1  x="838" y="274" id="498" />
-<P2  x="876" y="248" id="533" />
+<P1  x="838" y="274" id="530" />
+<P2  x="876" y="248" id="493" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="78" >
 <cdparam x="867" y="229" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="Connector between ports" />
-<P1  x="799" y="248" id="359" />
-<P2  x="838" y="248" id="493" />
+<P1  x="799" y="248" id="408" />
+<P2  x="838" y="248" id="525" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="79" >
 <cdparam x="829" y="257" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="Connector between ports" />
-<P1  x="754" y="248" id="397" />
-<P2  x="799" y="274" id="364" />
+<P1  x="754" y="248" id="378" />
+<P2  x="799" y="274" id="413" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="80" >
 <cdparam x="669" y="349" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="Connector between ports" />
-<P1  x="555" y="399" id="432" />
-<P2  x="597" y="373" id="380" />
+<P1  x="555" y="399" id="345" />
+<P2  x="597" y="373" id="395" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="81" >
 <cdparam x="586" y="350" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="Connector between ports" />
-<P1  x="516" y="373" id="312" />
-<P2  x="555" y="373" id="427" />
+<P1  x="516" y="373" id="225" />
+<P2  x="555" y="373" id="340" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="82" >
 <cdparam x="550" y="379" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="Connector between ports" />
-<P1  x="470" y="373" id="267" />
-<P2  x="516" y="399" id="317" />
+<P1  x="470" y="373" id="278" />
+<P2  x="516" y="399" id="230" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="83" >
 <cdparam x="687" y="234" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="Connector between ports" />
-<P1  x="555" y="282" id="413" />
-<P2  x="598" y="256" id="395" />
+<P1  x="555" y="282" id="364" />
+<P2  x="598" y="256" id="380" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="84" >
 <cdparam x="586" y="233" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="Connector between ports" />
-<P1  x="516" y="256" id="293" />
-<P2  x="555" y="256" id="408" />
+<P1  x="516" y="256" id="244" />
+<P2  x="555" y="256" id="359" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="85" >
 <cdparam x="549" y="263" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="Connector between ports" />
-<P1  x="473" y="256" id="282" />
-<P2  x="516" y="282" id="298" />
+<P1  x="473" y="256" id="263" />
+<P2  x="516" y="282" id="249" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="86" >
 <cdparam x="364" y="356" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="Connector between ports" />
-<P1  x="275" y="394" id="230" />
-<P2  x="316" y="368" id="265" />
+<P1  x="275" y="394" id="317" />
+<P2  x="316" y="368" id="280" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="87" >
 <cdparam x="321" y="350" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="Connector between ports" />
-<P1  x="231" y="368" id="152" />
-<P2  x="275" y="368" id="225" />
+<P1  x="231" y="368" id="197" />
+<P2  x="275" y="368" id="312" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="88" >
 <cdparam x="200" y="373" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="Connector between ports" />
-<P1  x="187" y="368" id="173" />
-<P2  x="231" y="394" id="157" />
+<P1  x="187" y="368" id="184" />
+<P2  x="231" y="394" id="202" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="89" >
 <cdparam x="356" y="223" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="Connector between ports" />
-<P1  x="275" y="271" id="249" />
-<P2  x="317" y="245" id="280" />
+<P1  x="275" y="271" id="298" />
+<P2  x="317" y="245" id="265" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="90" >
 <cdparam x="314" y="221" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="Connector between ports" />
-<P1  x="231" y="245" id="197" />
-<P2  x="275" y="245" id="244" />
+<P1  x="231" y="245" id="152" />
+<P2  x="275" y="245" id="293" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="91" >
 <cdparam x="175" y="251" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="Connector between ports" />
-<P1  x="154" y="245" id="186" />
-<P2  x="231" y="271" id="202" />
+<P1  x="154" y="245" id="171" />
+<P2  x="231" y="271" id="157" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="92" >
 <cdparam x="1792" y="148" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="Connector between ports" />
-<P1  x="1186" y="275" id="854" />
-<P2  x="1222" y="249" id="821" />
+<P1  x="1186" y="275" id="843" />
+<P2  x="1222" y="249" id="874" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="94" >
@@ -591,7 +591,7 @@
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="Connector between ports" />
 <P1  x="1133" y="234" id="139" />
-<P2  x="1186" y="110" id="868" />
+<P2  x="1186" y="110" id="819" />
 <Point x="1133" y="123" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR><SUBCOMPONENT type="-1" id="93" >
@@ -607,64 +607,64 @@
 <cdparam x="1792" y="8" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="Connector between ports" />
-<P1  x="1186" y="136" id="873" />
-<P2  x="1220" y="110" id="836" />
+<P1  x="1186" y="136" id="824" />
+<P2  x="1220" y="110" id="859" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="96" >
 <cdparam x="280" y="67" />
 <sizeparam width="10" height="10" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="Connector between ports" />
-<P1  x="1657" y="318" id="593" />
-<P2  x="1562" y="278" id="606" />
+<P1  x="1657" y="318" id="663" />
+<P2  x="1562" y="278" id="650" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="97" >
 <cdparam x="390" y="97" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="Connector between ports" />
-<P1  x="1333" y="181" id="819" />
-<P2  x="1257" y="145" id="834" />
+<P1  x="1333" y="181" id="876" />
+<P2  x="1257" y="145" id="861" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="98" >
 <cdparam x="390" y="507" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="Connector between ports" />
-<P1  x="1335" y="458" id="704" />
-<P2  x="1249" y="424" id="719" />
+<P1  x="1335" y="458" id="761" />
+<P2  x="1249" y="424" id="746" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="99" >
 <cdparam x="1161" y="396" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="Connector between ports" />
-<P1  x="989" y="321" id="514" />
-<P2  x="912" y="285" id="529" />
+<P1  x="989" y="321" id="512" />
+<P2  x="912" y="285" id="497" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="100" >
 <cdparam x="1160" y="500" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="Connector between ports" />
-<P1  x="729" y="327" id="378" />
-<P2  x="639" y="286" id="393" />
+<P1  x="729" y="327" id="397" />
+<P2  x="639" y="286" id="382" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="101" >
 <cdparam x="755" y="498" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="Connector between ports" />
-<P1  x="442" y="319" id="263" />
-<P2  x="350" y="277" id="278" />
+<P1  x="442" y="319" id="282" />
+<P2  x="350" y="277" id="267" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="102" >
 <cdparam x="217" y="495" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="Connector between ports" />
-<P1  x="108" y="320" id="171" />
-<P2  x="53" y="276" id="184" />
+<P1  x="108" y="320" id="186" />
+<P2  x="53" y="276" id="173" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <COMPONENT type="301" id="119" >
@@ -767,7 +767,7 @@ processing tasks
 </COMPONENT>
 <SUBCOMPONENT type="1201" id="170" >
 <father id="224" num="0" />
-<cdparam x="218" y="368" />
+<cdparam x="218" y="245" />
 <sizeparam width="26" height="26" minWidth="10" minHeight="10" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="-13" maxX="218" minY="-13" maxY="241" />
@@ -793,11 +793,11 @@ processing tasks
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1202" id="183" >
 <father id="224" num="1" />
-<cdparam x="2" y="333" />
-<sizeparam width="185" height="74" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="18" y="208" />
+<sizeparam width="136" height="81" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="46" minY="0" maxY="180" />
-<infoparam name="Primitive component" value="F_Source" />
+<cdrectangleparam minX="0" maxX="95" minY="0" maxY="173" />
+<infoparam name="Primitive component" value="X_Source" />
 <TGConnectingPoint num="0" id="175" />
 <TGConnectingPoint num="1" id="176" />
 <TGConnectingPoint num="2" id="177" />
@@ -808,20 +808,20 @@ processing tasks
 <TGConnectingPoint num="7" id="182" />
 <extraparam>
 <Data isAttacker="No" />
-<Attribute access="2" id="size" value="127" type="0" typeOther="" />
+<Attribute access="2" id="size" value="" type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1203" id="172" >
 <father id="183" num="0" />
-<cdparam x="95" y="320" />
+<cdparam x="141" y="245" />
 <sizeparam width="26" height="26" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="172" minY="-13" maxY="61" />
-<infoparam name="Primitive port" value="Request source_req" />
+<cdrectangleparam minX="-13" maxX="123" minY="-13" maxY="68" />
+<infoparam name="Primitive port" value="Channel Source_ch_out" />
 <TGConnectingPoint num="0" id="171" />
 <extraparam>
-<Prop commName="source_req" commType="2" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
-<Type type="1" typeOther="" />
+<Prop commName="Source_ch_out" commType="0" origin="true" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="true" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="uint_16" associatedEvent="Source_evt_out" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -830,14 +830,14 @@ processing tasks
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1203" id="174" >
 <father id="183" num="1" />
-<cdparam x="174" y="368" />
+<cdparam x="40" y="276" />
 <sizeparam width="26" height="26" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="172" minY="-13" maxY="61" />
-<infoparam name="Primitive port" value="Event Source_evt_out" />
+<cdrectangleparam minX="-13" maxX="123" minY="-13" maxY="68" />
+<infoparam name="Primitive port" value="Request source_req" />
 <TGConnectingPoint num="0" id="173" />
 <extraparam>
-<Prop commName="Source_evt_out" commType="1" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Prop commName="source_req" commType="2" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
 <Type type="1" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -847,11 +847,11 @@ processing tasks
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1202" id="196" >
 <father id="224" num="2" />
-<cdparam x="18" y="208" />
-<sizeparam width="136" height="81" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="2" y="333" />
+<sizeparam width="185" height="74" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="95" minY="0" maxY="173" />
-<infoparam name="Primitive component" value="X_Source" />
+<cdrectangleparam minX="0" maxX="46" minY="0" maxY="180" />
+<infoparam name="Primitive component" value="F_Source" />
 <TGConnectingPoint num="0" id="188" />
 <TGConnectingPoint num="1" id="189" />
 <TGConnectingPoint num="2" id="190" />
@@ -862,19 +862,19 @@ processing tasks
 <TGConnectingPoint num="7" id="195" />
 <extraparam>
 <Data isAttacker="No" />
-<Attribute access="2" id="size" value="" type="0" typeOther="" />
+<Attribute access="2" id="size" value="127" type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1203" id="185" >
 <father id="196" num="0" />
-<cdparam x="40" y="276" />
+<cdparam x="174" y="368" />
 <sizeparam width="26" height="26" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="123" minY="-13" maxY="68" />
-<infoparam name="Primitive port" value="Request source_req" />
+<cdrectangleparam minX="-13" maxX="172" minY="-13" maxY="61" />
+<infoparam name="Primitive port" value="Event Source_evt_out" />
 <TGConnectingPoint num="0" id="184" />
 <extraparam>
-<Prop commName="source_req" commType="2" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Prop commName="Source_evt_out" commType="1" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
 <Type type="1" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -884,15 +884,15 @@ processing tasks
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1203" id="187" >
 <father id="196" num="1" />
-<cdparam x="141" y="245" />
+<cdparam x="95" y="320" />
 <sizeparam width="26" height="26" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="123" minY="-13" maxY="68" />
-<infoparam name="Primitive port" value="Channel Source_ch_out" />
+<cdrectangleparam minX="-13" maxX="172" minY="-13" maxY="61" />
+<infoparam name="Primitive port" value="Request source_req" />
 <TGConnectingPoint num="0" id="186" />
 <extraparam>
-<Prop commName="Source_ch_out" commType="0" origin="true" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="true" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="uint_16" associatedEvent="Source_evt_out" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
-<Type type="0" typeOther="" />
+<Prop commName="source_req" commType="2" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Type type="1" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -901,7 +901,7 @@ processing tasks
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1201" id="215" >
 <father id="224" num="3" />
-<cdparam x="218" y="245" />
+<cdparam x="218" y="368" />
 <sizeparam width="26" height="26" minWidth="10" minHeight="10" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="-13" maxX="218" minY="-13" maxY="241" />
@@ -946,7 +946,7 @@ processing tasks
 </COMPONENT>
 <SUBCOMPONENT type="1201" id="243" >
 <father id="339" num="0" />
-<cdparam x="262" y="368" />
+<cdparam x="503" y="373" />
 <sizeparam width="26" height="26" minWidth="10" minHeight="10" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="-13" maxX="228" minY="-13" maxY="246" />
@@ -972,7 +972,7 @@ processing tasks
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1201" id="262" >
 <father id="339" num="1" />
-<cdparam x="262" y="245" />
+<cdparam x="503" y="256" />
 <sizeparam width="26" height="26" minWidth="10" minHeight="10" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="-13" maxX="228" minY="-13" maxY="246" />
@@ -998,11 +998,11 @@ processing tasks
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1202" id="277" >
 <father id="339" num="2" />
-<cdparam x="316" y="332" />
-<sizeparam width="154" height="81" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="317" y="208" />
+<sizeparam width="156" height="82" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="87" minY="0" maxY="178" />
-<infoparam name="Primitive component" value="F_Symbol2ChipSeq" />
+<cdrectangleparam minX="0" maxX="85" minY="0" maxY="177" />
+<infoparam name="Primitive component" value="X_Symbol2ChipSeq" />
 <TGConnectingPoint num="0" id="269" />
 <TGConnectingPoint num="1" id="270" />
 <TGConnectingPoint num="2" id="271" />
@@ -1018,15 +1018,15 @@ processing tasks
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1203" id="264" >
 <father id="277" num="0" />
-<cdparam x="429" y="319" />
+<cdparam x="460" y="256" />
 <sizeparam width="26" height="26" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="141" minY="-13" maxY="68" />
-<infoparam name="Primitive port" value="Request bit2chip_req" />
+<cdrectangleparam minX="-13" maxX="143" minY="-13" maxY="69" />
+<infoparam name="Primitive port" value="Channel symbol2ChipSeq_ch_out" />
 <TGConnectingPoint num="0" id="263" />
 <extraparam>
-<Prop commName="bit2chip_req" commType="2" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
-<Type type="1" typeOther="" />
+<Prop commName="symbol2ChipSeq_ch_out" commType="0" origin="true" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="uint_16" associatedEvent="bit2chip_evt_out" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -1035,15 +1035,15 @@ processing tasks
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1203" id="266" >
 <father id="277" num="1" />
-<cdparam x="303" y="368" />
+<cdparam x="304" y="245" />
 <sizeparam width="26" height="26" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="141" minY="-13" maxY="68" />
-<infoparam name="Primitive port" value="Event bit2symbol_evt_in" />
+<cdrectangleparam minX="-13" maxX="143" minY="-13" maxY="69" />
+<infoparam name="Primitive port" value="Channel symbol2ChipSeq_ch_in" />
 <TGConnectingPoint num="0" id="265" />
 <extraparam>
-<Prop commName="bit2symbol_evt_in" commType="1" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="uint_16" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
-<Type type="1" typeOther="" />
+<Prop commName="symbol2ChipSeq_ch_in" commType="0" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="uint_16" associatedEvent="bit2chip_evt_in" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -1052,14 +1052,14 @@ processing tasks
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1203" id="268" >
 <father id="277" num="2" />
-<cdparam x="457" y="373" />
+<cdparam x="337" y="277" />
 <sizeparam width="26" height="26" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="141" minY="-13" maxY="68" />
-<infoparam name="Primitive port" value="Event bit2symbol_evt_out" />
+<cdrectangleparam minX="-13" maxX="143" minY="-13" maxY="69" />
+<infoparam name="Primitive port" value="Request bit2chip_req" />
 <TGConnectingPoint num="0" id="267" />
 <extraparam>
-<Prop commName="bit2symbol_evt_out" commType="1" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="uint_16" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Prop commName="bit2chip_req" commType="2" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
 <Type type="1" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -1069,11 +1069,11 @@ processing tasks
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1202" id="292" >
 <father id="339" num="3" />
-<cdparam x="317" y="208" />
-<sizeparam width="156" height="82" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="316" y="332" />
+<sizeparam width="154" height="81" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="85" minY="0" maxY="177" />
-<infoparam name="Primitive component" value="X_Symbol2ChipSeq" />
+<cdrectangleparam minX="0" maxX="87" minY="0" maxY="178" />
+<infoparam name="Primitive component" value="F_Symbol2ChipSeq" />
 <TGConnectingPoint num="0" id="284" />
 <TGConnectingPoint num="1" id="285" />
 <TGConnectingPoint num="2" id="286" />
@@ -1089,14 +1089,14 @@ processing tasks
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1203" id="279" >
 <father id="292" num="0" />
-<cdparam x="337" y="277" />
+<cdparam x="457" y="373" />
 <sizeparam width="26" height="26" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="143" minY="-13" maxY="69" />
-<infoparam name="Primitive port" value="Request bit2chip_req" />
+<cdrectangleparam minX="-13" maxX="141" minY="-13" maxY="68" />
+<infoparam name="Primitive port" value="Event bit2symbol_evt_out" />
 <TGConnectingPoint num="0" id="278" />
 <extraparam>
-<Prop commName="bit2chip_req" commType="2" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Prop commName="bit2symbol_evt_out" commType="1" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="uint_16" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
 <Type type="1" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -1106,15 +1106,15 @@ processing tasks
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1203" id="281" >
 <father id="292" num="1" />
-<cdparam x="304" y="245" />
+<cdparam x="303" y="368" />
 <sizeparam width="26" height="26" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="143" minY="-13" maxY="69" />
-<infoparam name="Primitive port" value="Channel symbol2ChipSeq_ch_in" />
+<cdrectangleparam minX="-13" maxX="141" minY="-13" maxY="68" />
+<infoparam name="Primitive port" value="Event bit2symbol_evt_in" />
 <TGConnectingPoint num="0" id="280" />
 <extraparam>
-<Prop commName="symbol2ChipSeq_ch_in" commType="0" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="uint_16" associatedEvent="bit2chip_evt_in" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
-<Type type="0" typeOther="" />
+<Prop commName="bit2symbol_evt_in" commType="1" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="uint_16" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Type type="1" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -1123,15 +1123,15 @@ processing tasks
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1203" id="283" >
 <father id="292" num="2" />
-<cdparam x="460" y="256" />
+<cdparam x="429" y="319" />
 <sizeparam width="26" height="26" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="143" minY="-13" maxY="69" />
-<infoparam name="Primitive port" value="Channel symbol2ChipSeq_ch_out" />
+<cdrectangleparam minX="-13" maxX="141" minY="-13" maxY="68" />
+<infoparam name="Primitive port" value="Request bit2chip_req" />
 <TGConnectingPoint num="0" id="282" />
 <extraparam>
-<Prop commName="symbol2ChipSeq_ch_out" commType="0" origin="true" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="uint_16" associatedEvent="bit2chip_evt_out" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
-<Type type="0" typeOther="" />
+<Prop commName="bit2chip_req" commType="2" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Type type="1" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -1140,7 +1140,7 @@ processing tasks
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1201" id="311" >
 <father id="339" num="4" />
-<cdparam x="503" y="256" />
+<cdparam x="262" y="245" />
 <sizeparam width="26" height="26" minWidth="10" minHeight="10" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="-13" maxX="228" minY="-13" maxY="246" />
@@ -1166,7 +1166,7 @@ processing tasks
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1201" id="330" >
 <father id="339" num="5" />
-<cdparam x="503" y="373" />
+<cdparam x="262" y="368" />
 <sizeparam width="26" height="26" minWidth="10" minHeight="10" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="-13" maxX="228" minY="-13" maxY="246" />
@@ -1211,7 +1211,7 @@ processing tasks
 </COMPONENT>
 <SUBCOMPONENT type="1201" id="358" >
 <father id="454" num="0" />
-<cdparam x="786" y="374" />
+<cdparam x="542" y="373" />
 <sizeparam width="26" height="26" minWidth="10" minHeight="10" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="-13" maxX="231" minY="-13" maxY="249" />
@@ -1237,7 +1237,7 @@ processing tasks
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1201" id="377" >
 <father id="454" num="1" />
-<cdparam x="786" y="248" />
+<cdparam x="542" y="256" />
 <sizeparam width="26" height="26" minWidth="10" minHeight="10" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="-13" maxX="231" minY="-13" maxY="249" />
@@ -1263,11 +1263,11 @@ processing tasks
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1202" id="392" >
 <father id="454" num="2" />
-<cdparam x="597" y="340" />
-<sizeparam width="159" height="73" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="598" y="214" />
+<sizeparam width="156" height="85" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="85" minY="0" maxY="189" />
-<infoparam name="Primitive component" value="F_Chip2Octet" />
+<cdrectangleparam minX="0" maxX="88" minY="0" maxY="177" />
+<infoparam name="Primitive component" value="X_Chip2Octet" />
 <TGConnectingPoint num="0" id="384" />
 <TGConnectingPoint num="1" id="385" />
 <TGConnectingPoint num="2" id="386" />
@@ -1283,15 +1283,15 @@ processing tasks
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1203" id="379" >
 <father id="392" num="0" />
-<cdparam x="716" y="327" />
+<cdparam x="741" y="248" />
 <sizeparam width="26" height="26" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="146" minY="-13" maxY="60" />
-<infoparam name="Primitive port" value="Request chip2octet_req" />
+<cdrectangleparam minX="-13" maxX="143" minY="-13" maxY="72" />
+<infoparam name="Primitive port" value="Channel chip2octet_ch_out" />
 <TGConnectingPoint num="0" id="378" />
 <extraparam>
-<Prop commName="chip2octet_req" commType="2" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
-<Type type="1" typeOther="" />
+<Prop commName="chip2octet_ch_out" commType="0" origin="true" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="uint_16" associatedEvent="chip2octet_evt_out" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -1300,15 +1300,15 @@ processing tasks
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1203" id="381" >
 <father id="392" num="1" />
-<cdparam x="584" y="373" />
+<cdparam x="585" y="256" />
 <sizeparam width="26" height="26" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="146" minY="-13" maxY="60" />
-<infoparam name="Primitive port" value="Event chip2octet_evt_in" />
+<cdrectangleparam minX="-13" maxX="143" minY="-13" maxY="72" />
+<infoparam name="Primitive port" value="Channel chip2octet_ch_in" />
 <TGConnectingPoint num="0" id="380" />
 <extraparam>
-<Prop commName="chip2octet_evt_in" commType="1" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
-<Type type="1" typeOther="" />
+<Prop commName="chip2octet_ch_in" commType="0" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="uint_16" associatedEvent="chip2octet_evt_in" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -1317,14 +1317,14 @@ processing tasks
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1203" id="383" >
 <father id="392" num="2" />
-<cdparam x="743" y="374" />
+<cdparam x="626" y="286" />
 <sizeparam width="26" height="26" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="146" minY="-13" maxY="60" />
-<infoparam name="Primitive port" value="Event chip2octet_evt_out" />
+<cdrectangleparam minX="-13" maxX="143" minY="-13" maxY="72" />
+<infoparam name="Primitive port" value="Request chip2octet_req" />
 <TGConnectingPoint num="0" id="382" />
 <extraparam>
-<Prop commName="chip2octet_evt_out" commType="1" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="uint_16" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Prop commName="chip2octet_req" commType="2" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
 <Type type="1" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -1334,11 +1334,11 @@ processing tasks
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1202" id="407" >
 <father id="454" num="3" />
-<cdparam x="598" y="214" />
-<sizeparam width="156" height="85" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="597" y="340" />
+<sizeparam width="159" height="73" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="88" minY="0" maxY="177" />
-<infoparam name="Primitive component" value="X_Chip2Octet" />
+<cdrectangleparam minX="0" maxX="85" minY="0" maxY="189" />
+<infoparam name="Primitive component" value="F_Chip2Octet" />
 <TGConnectingPoint num="0" id="399" />
 <TGConnectingPoint num="1" id="400" />
 <TGConnectingPoint num="2" id="401" />
@@ -1354,14 +1354,14 @@ processing tasks
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1203" id="394" >
 <father id="407" num="0" />
-<cdparam x="626" y="286" />
+<cdparam x="743" y="374" />
 <sizeparam width="26" height="26" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="143" minY="-13" maxY="72" />
-<infoparam name="Primitive port" value="Request chip2octet_req" />
+<cdrectangleparam minX="-13" maxX="146" minY="-13" maxY="60" />
+<infoparam name="Primitive port" value="Event chip2octet_evt_out" />
 <TGConnectingPoint num="0" id="393" />
 <extraparam>
-<Prop commName="chip2octet_req" commType="2" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Prop commName="chip2octet_evt_out" commType="1" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="uint_16" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
 <Type type="1" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -1371,15 +1371,15 @@ processing tasks
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1203" id="396" >
 <father id="407" num="1" />
-<cdparam x="585" y="256" />
+<cdparam x="584" y="373" />
 <sizeparam width="26" height="26" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="143" minY="-13" maxY="72" />
-<infoparam name="Primitive port" value="Channel chip2octet_ch_in" />
+<cdrectangleparam minX="-13" maxX="146" minY="-13" maxY="60" />
+<infoparam name="Primitive port" value="Event chip2octet_evt_in" />
 <TGConnectingPoint num="0" id="395" />
 <extraparam>
-<Prop commName="chip2octet_ch_in" commType="0" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="uint_16" associatedEvent="chip2octet_evt_in" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
-<Type type="0" typeOther="" />
+<Prop commName="chip2octet_evt_in" commType="1" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Type type="1" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -1388,15 +1388,15 @@ processing tasks
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1203" id="398" >
 <father id="407" num="2" />
-<cdparam x="741" y="248" />
+<cdparam x="716" y="327" />
 <sizeparam width="26" height="26" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="143" minY="-13" maxY="72" />
-<infoparam name="Primitive port" value="Channel chip2octet_ch_out" />
+<cdrectangleparam minX="-13" maxX="146" minY="-13" maxY="60" />
+<infoparam name="Primitive port" value="Request chip2octet_req" />
 <TGConnectingPoint num="0" id="397" />
 <extraparam>
-<Prop commName="chip2octet_ch_out" commType="0" origin="true" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="uint_16" associatedEvent="chip2octet_evt_out" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
-<Type type="0" typeOther="" />
+<Prop commName="chip2octet_req" commType="2" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Type type="1" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -1405,7 +1405,7 @@ processing tasks
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1201" id="426" >
 <father id="454" num="4" />
-<cdparam x="542" y="256" />
+<cdparam x="786" y="248" />
 <sizeparam width="26" height="26" minWidth="10" minHeight="10" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="-13" maxX="231" minY="-13" maxY="249" />
@@ -1431,7 +1431,7 @@ processing tasks
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1201" id="445" >
 <father id="454" num="5" />
-<cdparam x="542" y="373" />
+<cdparam x="786" y="374" />
 <sizeparam width="26" height="26" minWidth="10" minHeight="10" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="-13" maxX="231" minY="-13" maxY="249" />
@@ -1476,7 +1476,7 @@ processing tasks
 </COMPONENT>
 <SUBCOMPONENT type="1201" id="473" >
 <father id="590" num="0" />
-<cdparam x="1033" y="230" />
+<cdparam x="1033" y="363" />
 <sizeparam width="26" height="26" minWidth="10" minHeight="10" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="-13" maxX="195" minY="-13" maxY="268" />
@@ -1502,7 +1502,7 @@ processing tasks
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1201" id="492" >
 <father id="590" num="1" />
-<cdparam x="825" y="374" />
+<cdparam x="1033" y="395" />
 <sizeparam width="26" height="26" minWidth="10" minHeight="10" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="-13" maxX="195" minY="-13" maxY="268" />
@@ -1526,96 +1526,70 @@ processing tasks
 <TGConnectingPoint num="16" id="490" />
 <TGConnectingPoint num="17" id="491" />
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1201" id="511" >
+<SUBCOMPONENT type="1202" id="507" >
 <father id="590" num="2" />
-<cdparam x="825" y="248" />
-<sizeparam width="26" height="26" minWidth="10" minHeight="10" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="876" y="202" />
+<sizeparam width="134" height="96" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="195" minY="-13" maxY="268" />
-<infoparam name="Composite port" value="" />
-<TGConnectingPoint num="0" id="493" />
-<TGConnectingPoint num="1" id="494" />
-<TGConnectingPoint num="2" id="495" />
-<TGConnectingPoint num="3" id="496" />
-<TGConnectingPoint num="4" id="497" />
-<TGConnectingPoint num="5" id="498" />
-<TGConnectingPoint num="6" id="499" />
-<TGConnectingPoint num="7" id="500" />
-<TGConnectingPoint num="8" id="501" />
-<TGConnectingPoint num="9" id="502" />
-<TGConnectingPoint num="10" id="503" />
-<TGConnectingPoint num="11" id="504" />
-<TGConnectingPoint num="12" id="505" />
-<TGConnectingPoint num="13" id="506" />
-<TGConnectingPoint num="14" id="507" />
-<TGConnectingPoint num="15" id="508" />
-<TGConnectingPoint num="16" id="509" />
-<TGConnectingPoint num="17" id="510" />
-</SUBCOMPONENT>
-<SUBCOMPONENT type="1202" id="528" >
-<father id="590" num="3" />
-<cdparam x="874" y="334" />
-<sizeparam width="134" height="92" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<hidden value="false" />
-<cdrectangleparam minX="0" maxX="74" minY="0" maxY="189" />
-<infoparam name="Primitive component" value="F_CWL" />
-<TGConnectingPoint num="0" id="520" />
-<TGConnectingPoint num="1" id="521" />
-<TGConnectingPoint num="2" id="522" />
-<TGConnectingPoint num="3" id="523" />
-<TGConnectingPoint num="4" id="524" />
-<TGConnectingPoint num="5" id="525" />
-<TGConnectingPoint num="6" id="526" />
-<TGConnectingPoint num="7" id="527" />
+<cdrectangleparam minX="0" maxX="74" minY="0" maxY="185" />
+<infoparam name="Primitive component" value="X_CWL" />
+<TGConnectingPoint num="0" id="499" />
+<TGConnectingPoint num="1" id="500" />
+<TGConnectingPoint num="2" id="501" />
+<TGConnectingPoint num="3" id="502" />
+<TGConnectingPoint num="4" id="503" />
+<TGConnectingPoint num="5" id="504" />
+<TGConnectingPoint num="6" id="505" />
+<TGConnectingPoint num="7" id="506" />
 <extraparam>
 <Data isAttacker="No" />
 <Attribute access="2" id="size" value="" type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="513" >
-<father id="528" num="0" />
-<cdparam x="995" y="395" />
+<SUBCOMPONENT type="1203" id="494" >
+<father id="507" num="0" />
+<cdparam x="863" y="248" />
 <sizeparam width="26" height="26" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="121" minY="-13" maxY="79" />
-<infoparam name="Primitive port" value="Event cwl_evt_out_1" />
-<TGConnectingPoint num="0" id="512" />
+<cdrectangleparam minX="-13" maxX="121" minY="-13" maxY="83" />
+<infoparam name="Primitive port" value="Channel cwl_ch_in" />
+<TGConnectingPoint num="0" id="493" />
 <extraparam>
-<Prop commName="cwl_evt_out_1" commType="1" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="uint_16" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
-<Type type="1" typeOther="" />
+<Prop commName="cwl_ch_in" commType="0" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="uint_16" associatedEvent="cwl_evt_in" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="515" >
-<father id="528" num="1" />
-<cdparam x="976" y="321" />
+<SUBCOMPONENT type="1203" id="496" >
+<father id="507" num="1" />
+<cdparam x="997" y="230" />
 <sizeparam width="26" height="26" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="121" minY="-13" maxY="79" />
-<infoparam name="Primitive port" value="Request cwl_req" />
-<TGConnectingPoint num="0" id="514" />
+<cdrectangleparam minX="-13" maxX="121" minY="-13" maxY="83" />
+<infoparam name="Primitive port" value="Channel cwl_ch_out" />
+<TGConnectingPoint num="0" id="495" />
 <extraparam>
-<Prop commName="cwl_req" commType="2" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
-<Type type="1" typeOther="" />
+<Prop commName="cwl_ch_out" commType="0" origin="true" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="uint_16" associatedEvent="cwl_evt_out" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="517" >
-<father id="528" num="2" />
-<cdparam x="995" y="363" />
+<SUBCOMPONENT type="1203" id="498" >
+<father id="507" num="2" />
+<cdparam x="899" y="285" />
 <sizeparam width="26" height="26" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="121" minY="-13" maxY="79" />
-<infoparam name="Primitive port" value="Event cwl_evt_out" />
-<TGConnectingPoint num="0" id="516" />
+<cdrectangleparam minX="-13" maxX="121" minY="-13" maxY="83" />
+<infoparam name="Primitive port" value="Request cwl_req" />
+<TGConnectingPoint num="0" id="497" />
 <extraparam>
-<Prop commName="cwl_evt_out" commType="1" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="uint_16" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Prop commName="cwl_req" commType="2" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
 <Type type="1" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -1623,14 +1597,34 @@ processing tasks
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="519" >
-<father id="528" num="3" />
+<SUBCOMPONENT type="1202" id="524" >
+<father id="590" num="3" />
+<cdparam x="874" y="334" />
+<sizeparam width="134" height="92" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="0" maxX="74" minY="0" maxY="189" />
+<infoparam name="Primitive component" value="F_CWL" />
+<TGConnectingPoint num="0" id="516" />
+<TGConnectingPoint num="1" id="517" />
+<TGConnectingPoint num="2" id="518" />
+<TGConnectingPoint num="3" id="519" />
+<TGConnectingPoint num="4" id="520" />
+<TGConnectingPoint num="5" id="521" />
+<TGConnectingPoint num="6" id="522" />
+<TGConnectingPoint num="7" id="523" />
+<extraparam>
+<Data isAttacker="No" />
+<Attribute access="2" id="size" value="" type="0" typeOther="" />
+</extraparam>
+</SUBCOMPONENT>
+<SUBCOMPONENT type="1203" id="509" >
+<father id="524" num="0" />
 <cdparam x="861" y="374" />
 <sizeparam width="26" height="26" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="-13" maxX="121" minY="-13" maxY="79" />
 <infoparam name="Primitive port" value="Event cwl_evt_in" />
-<TGConnectingPoint num="0" id="518" />
+<TGConnectingPoint num="0" id="508" />
 <extraparam>
 <Prop commName="cwl_evt_in" commType="1" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
 <Type type="1" typeOther="" />
@@ -1640,36 +1634,16 @@ processing tasks
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1202" id="543" >
-<father id="590" num="4" />
-<cdparam x="876" y="202" />
-<sizeparam width="134" height="96" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<hidden value="false" />
-<cdrectangleparam minX="0" maxX="74" minY="0" maxY="185" />
-<infoparam name="Primitive component" value="X_CWL" />
-<TGConnectingPoint num="0" id="535" />
-<TGConnectingPoint num="1" id="536" />
-<TGConnectingPoint num="2" id="537" />
-<TGConnectingPoint num="3" id="538" />
-<TGConnectingPoint num="4" id="539" />
-<TGConnectingPoint num="5" id="540" />
-<TGConnectingPoint num="6" id="541" />
-<TGConnectingPoint num="7" id="542" />
-<extraparam>
-<Data isAttacker="No" />
-<Attribute access="2" id="size" value="" type="0" typeOther="" />
-</extraparam>
-</SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="530" >
-<father id="543" num="0" />
-<cdparam x="899" y="285" />
+<SUBCOMPONENT type="1203" id="511" >
+<father id="524" num="1" />
+<cdparam x="995" y="363" />
 <sizeparam width="26" height="26" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="121" minY="-13" maxY="83" />
-<infoparam name="Primitive port" value="Request cwl_req" />
-<TGConnectingPoint num="0" id="529" />
+<cdrectangleparam minX="-13" maxX="121" minY="-13" maxY="79" />
+<infoparam name="Primitive port" value="Event cwl_evt_out" />
+<TGConnectingPoint num="0" id="510" />
 <extraparam>
-<Prop commName="cwl_req" commType="2" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Prop commName="cwl_evt_out" commType="1" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="uint_16" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
 <Type type="1" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -1677,43 +1651,69 @@ processing tasks
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="532" >
-<father id="543" num="1" />
-<cdparam x="997" y="230" />
+<SUBCOMPONENT type="1203" id="513" >
+<father id="524" num="2" />
+<cdparam x="976" y="321" />
 <sizeparam width="26" height="26" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="121" minY="-13" maxY="83" />
-<infoparam name="Primitive port" value="Channel cwl_ch_out" />
-<TGConnectingPoint num="0" id="531" />
+<cdrectangleparam minX="-13" maxX="121" minY="-13" maxY="79" />
+<infoparam name="Primitive port" value="Request cwl_req" />
+<TGConnectingPoint num="0" id="512" />
 <extraparam>
-<Prop commName="cwl_ch_out" commType="0" origin="true" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="uint_16" associatedEvent="cwl_evt_out" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
-<Type type="0" typeOther="" />
+<Prop commName="cwl_req" commType="2" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Type type="1" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="534" >
-<father id="543" num="2" />
-<cdparam x="863" y="248" />
+<SUBCOMPONENT type="1203" id="515" >
+<father id="524" num="3" />
+<cdparam x="995" y="395" />
 <sizeparam width="26" height="26" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="121" minY="-13" maxY="83" />
-<infoparam name="Primitive port" value="Channel cwl_ch_in" />
-<TGConnectingPoint num="0" id="533" />
+<cdrectangleparam minX="-13" maxX="121" minY="-13" maxY="79" />
+<infoparam name="Primitive port" value="Event cwl_evt_out_1" />
+<TGConnectingPoint num="0" id="514" />
 <extraparam>
-<Prop commName="cwl_ch_in" commType="0" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="uint_16" associatedEvent="cwl_evt_in" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
-<Type type="0" typeOther="" />
+<Prop commName="cwl_evt_out_1" commType="1" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="uint_16" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Type type="1" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
+<SUBCOMPONENT type="1201" id="543" >
+<father id="590" num="4" />
+<cdparam x="825" y="248" />
+<sizeparam width="26" height="26" minWidth="10" minHeight="10" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="-13" maxX="195" minY="-13" maxY="268" />
+<infoparam name="Composite port" value="" />
+<TGConnectingPoint num="0" id="525" />
+<TGConnectingPoint num="1" id="526" />
+<TGConnectingPoint num="2" id="527" />
+<TGConnectingPoint num="3" id="528" />
+<TGConnectingPoint num="4" id="529" />
+<TGConnectingPoint num="5" id="530" />
+<TGConnectingPoint num="6" id="531" />
+<TGConnectingPoint num="7" id="532" />
+<TGConnectingPoint num="8" id="533" />
+<TGConnectingPoint num="9" id="534" />
+<TGConnectingPoint num="10" id="535" />
+<TGConnectingPoint num="11" id="536" />
+<TGConnectingPoint num="12" id="537" />
+<TGConnectingPoint num="13" id="538" />
+<TGConnectingPoint num="14" id="539" />
+<TGConnectingPoint num="15" id="540" />
+<TGConnectingPoint num="16" id="541" />
+<TGConnectingPoint num="17" id="542" />
+</SUBCOMPONENT>
 <SUBCOMPONENT type="1201" id="562" >
 <father id="590" num="5" />
-<cdparam x="1033" y="395" />
+<cdparam x="825" y="374" />
 <sizeparam width="26" height="26" minWidth="10" minHeight="10" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="-13" maxX="195" minY="-13" maxY="268" />
@@ -1739,7 +1739,7 @@ processing tasks
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1201" id="581" >
 <father id="590" num="6" />
-<cdparam x="1033" y="363" />
+<cdparam x="1033" y="230" />
 <sizeparam width="26" height="26" minWidth="10" minHeight="10" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="-13" maxX="195" minY="-13" maxY="268" />
@@ -1782,54 +1782,131 @@ processing tasks
 <info hiddeni="false" />
 </extraparam>
 </COMPONENT>
-<SUBCOMPONENT type="1202" id="605" >
+<SUBCOMPONENT type="1201" id="609" >
 <father id="684" num="0" />
-<cdparam x="1536" y="331" />
-<sizeparam width="153" height="94" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="1481" y="237" />
+<sizeparam width="26" height="26" minWidth="10" minHeight="10" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="55" minY="0" maxY="188" />
-<infoparam name="Primitive component" value="F_Sink" />
-<TGConnectingPoint num="0" id="597" />
-<TGConnectingPoint num="1" id="598" />
-<TGConnectingPoint num="2" id="599" />
-<TGConnectingPoint num="3" id="600" />
-<TGConnectingPoint num="4" id="601" />
-<TGConnectingPoint num="5" id="602" />
-<TGConnectingPoint num="6" id="603" />
-<TGConnectingPoint num="7" id="604" />
+<cdrectangleparam minX="-13" maxX="195" minY="-13" maxY="269" />
+<infoparam name="Composite port" value="" />
+<TGConnectingPoint num="0" id="591" />
+<TGConnectingPoint num="1" id="592" />
+<TGConnectingPoint num="2" id="593" />
+<TGConnectingPoint num="3" id="594" />
+<TGConnectingPoint num="4" id="595" />
+<TGConnectingPoint num="5" id="596" />
+<TGConnectingPoint num="6" id="597" />
+<TGConnectingPoint num="7" id="598" />
+<TGConnectingPoint num="8" id="599" />
+<TGConnectingPoint num="9" id="600" />
+<TGConnectingPoint num="10" id="601" />
+<TGConnectingPoint num="11" id="602" />
+<TGConnectingPoint num="12" id="603" />
+<TGConnectingPoint num="13" id="604" />
+<TGConnectingPoint num="14" id="605" />
+<TGConnectingPoint num="15" id="606" />
+<TGConnectingPoint num="16" id="607" />
+<TGConnectingPoint num="17" id="608" />
+</SUBCOMPONENT>
+<SUBCOMPONENT type="1201" id="628" >
+<father id="684" num="1" />
+<cdparam x="1481" y="397" />
+<sizeparam width="26" height="26" minWidth="10" minHeight="10" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="-13" maxX="195" minY="-13" maxY="269" />
+<infoparam name="Composite port" value="" />
+<TGConnectingPoint num="0" id="610" />
+<TGConnectingPoint num="1" id="611" />
+<TGConnectingPoint num="2" id="612" />
+<TGConnectingPoint num="3" id="613" />
+<TGConnectingPoint num="4" id="614" />
+<TGConnectingPoint num="5" id="615" />
+<TGConnectingPoint num="6" id="616" />
+<TGConnectingPoint num="7" id="617" />
+<TGConnectingPoint num="8" id="618" />
+<TGConnectingPoint num="9" id="619" />
+<TGConnectingPoint num="10" id="620" />
+<TGConnectingPoint num="11" id="621" />
+<TGConnectingPoint num="12" id="622" />
+<TGConnectingPoint num="13" id="623" />
+<TGConnectingPoint num="14" id="624" />
+<TGConnectingPoint num="15" id="625" />
+<TGConnectingPoint num="16" id="626" />
+<TGConnectingPoint num="17" id="627" />
+</SUBCOMPONENT>
+<SUBCOMPONENT type="1201" id="647" >
+<father id="684" num="2" />
+<cdparam x="1481" y="341" />
+<sizeparam width="26" height="26" minWidth="10" minHeight="10" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="-13" maxX="195" minY="-13" maxY="269" />
+<infoparam name="Composite port" value="" />
+<TGConnectingPoint num="0" id="629" />
+<TGConnectingPoint num="1" id="630" />
+<TGConnectingPoint num="2" id="631" />
+<TGConnectingPoint num="3" id="632" />
+<TGConnectingPoint num="4" id="633" />
+<TGConnectingPoint num="5" id="634" />
+<TGConnectingPoint num="6" id="635" />
+<TGConnectingPoint num="7" id="636" />
+<TGConnectingPoint num="8" id="637" />
+<TGConnectingPoint num="9" id="638" />
+<TGConnectingPoint num="10" id="639" />
+<TGConnectingPoint num="11" id="640" />
+<TGConnectingPoint num="12" id="641" />
+<TGConnectingPoint num="13" id="642" />
+<TGConnectingPoint num="14" id="643" />
+<TGConnectingPoint num="15" id="644" />
+<TGConnectingPoint num="16" id="645" />
+<TGConnectingPoint num="17" id="646" />
+</SUBCOMPONENT>
+<SUBCOMPONENT type="1202" id="660" >
+<father id="684" num="3" />
+<cdparam x="1535" y="205" />
+<sizeparam width="148" height="86" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="0" maxX="60" minY="0" maxY="196" />
+<infoparam name="Primitive component" value="X_Sink" />
+<TGConnectingPoint num="0" id="652" />
+<TGConnectingPoint num="1" id="653" />
+<TGConnectingPoint num="2" id="654" />
+<TGConnectingPoint num="3" id="655" />
+<TGConnectingPoint num="4" id="656" />
+<TGConnectingPoint num="5" id="657" />
+<TGConnectingPoint num="6" id="658" />
+<TGConnectingPoint num="7" id="659" />
 <extraparam>
 <Data isAttacker="No" />
 <Attribute access="2" id="size" value="" type="0" typeOther="" />
-<Attribute access="2" id="size_1" value="" type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="592" >
-<father id="605" num="0" />
-<cdparam x="1523" y="397" />
+<SUBCOMPONENT type="1203" id="649" >
+<father id="660" num="0" />
+<cdparam x="1522" y="237" />
 <sizeparam width="26" height="26" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="140" minY="-13" maxY="81" />
-<infoparam name="Primitive port" value="Event sink_evt_in_1" />
-<TGConnectingPoint num="0" id="591" />
+<cdrectangleparam minX="-13" maxX="135" minY="-13" maxY="73" />
+<infoparam name="Primitive port" value="Channel sink_ch_in" />
+<TGConnectingPoint num="0" id="648" />
 <extraparam>
-<Prop commName="sink_evt_in_1" commType="1" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="uint_16" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
-<Type type="1" typeOther="" />
+<Prop commName="sink_ch_in" commType="0" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="true" lossPercentage="0" maxNbOfLoss="0" dataFlowType="uint_16" associatedEvent="sink_evt_in" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="594" >
-<father id="605" num="1" />
-<cdparam x="1644" y="318" />
+<SUBCOMPONENT type="1203" id="651" >
+<father id="660" num="1" />
+<cdparam x="1549" y="278" />
 <sizeparam width="26" height="26" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="140" minY="-13" maxY="81" />
+<cdrectangleparam minX="-13" maxX="135" minY="-13" maxY="73" />
 <infoparam name="Primitive port" value="Request sink_req" />
-<TGConnectingPoint num="0" id="593" />
+<TGConnectingPoint num="0" id="650" />
 <extraparam>
-<Prop commName="sink_req" commType="2" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Prop commName="sink_req" commType="2" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
 <Type type="1" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -1837,14 +1914,35 @@ processing tasks
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="596" >
-<father id="605" num="2" />
+<SUBCOMPONENT type="1202" id="675" >
+<father id="684" num="4" />
+<cdparam x="1536" y="331" />
+<sizeparam width="153" height="94" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="0" maxX="55" minY="0" maxY="188" />
+<infoparam name="Primitive component" value="F_Sink" />
+<TGConnectingPoint num="0" id="667" />
+<TGConnectingPoint num="1" id="668" />
+<TGConnectingPoint num="2" id="669" />
+<TGConnectingPoint num="3" id="670" />
+<TGConnectingPoint num="4" id="671" />
+<TGConnectingPoint num="5" id="672" />
+<TGConnectingPoint num="6" id="673" />
+<TGConnectingPoint num="7" id="674" />
+<extraparam>
+<Data isAttacker="No" />
+<Attribute access="2" id="size" value="" type="0" typeOther="" />
+<Attribute access="2" id="size_1" value="" type="0" typeOther="" />
+</extraparam>
+</SUBCOMPONENT>
+<SUBCOMPONENT type="1203" id="662" >
+<father id="675" num="0" />
 <cdparam x="1523" y="341" />
 <sizeparam width="26" height="26" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="-13" maxX="140" minY="-13" maxY="81" />
 <infoparam name="Primitive port" value="Event sink_evt_in" />
-<TGConnectingPoint num="0" id="595" />
+<TGConnectingPoint num="0" id="661" />
 <extraparam>
 <Prop commName="sink_evt_in" commType="1" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="uint_16" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
 <Type type="1" typeOther="" />
@@ -1854,36 +1952,16 @@ processing tasks
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1202" id="618" >
-<father id="684" num="1" />
-<cdparam x="1535" y="205" />
-<sizeparam width="148" height="86" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<hidden value="false" />
-<cdrectangleparam minX="0" maxX="60" minY="0" maxY="196" />
-<infoparam name="Primitive component" value="X_Sink" />
-<TGConnectingPoint num="0" id="610" />
-<TGConnectingPoint num="1" id="611" />
-<TGConnectingPoint num="2" id="612" />
-<TGConnectingPoint num="3" id="613" />
-<TGConnectingPoint num="4" id="614" />
-<TGConnectingPoint num="5" id="615" />
-<TGConnectingPoint num="6" id="616" />
-<TGConnectingPoint num="7" id="617" />
-<extraparam>
-<Data isAttacker="No" />
-<Attribute access="2" id="size" value="" type="0" typeOther="" />
-</extraparam>
-</SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="607" >
-<father id="618" num="0" />
-<cdparam x="1549" y="278" />
+<SUBCOMPONENT type="1203" id="664" >
+<father id="675" num="1" />
+<cdparam x="1644" y="318" />
 <sizeparam width="26" height="26" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="135" minY="-13" maxY="73" />
+<cdrectangleparam minX="-13" maxX="140" minY="-13" maxY="81" />
 <infoparam name="Primitive port" value="Request sink_req" />
-<TGConnectingPoint num="0" id="606" />
+<TGConnectingPoint num="0" id="663" />
 <extraparam>
-<Prop commName="sink_req" commType="2" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Prop commName="sink_req" commType="2" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
 <Type type="1" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -1891,101 +1969,23 @@ processing tasks
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="609" >
-<father id="618" num="1" />
-<cdparam x="1522" y="237" />
+<SUBCOMPONENT type="1203" id="666" >
+<father id="675" num="2" />
+<cdparam x="1523" y="397" />
 <sizeparam width="26" height="26" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="135" minY="-13" maxY="73" />
-<infoparam name="Primitive port" value="Channel sink_ch_in" />
-<TGConnectingPoint num="0" id="608" />
+<cdrectangleparam minX="-13" maxX="140" minY="-13" maxY="81" />
+<infoparam name="Primitive port" value="Event sink_evt_in_1" />
+<TGConnectingPoint num="0" id="665" />
 <extraparam>
-<Prop commName="sink_ch_in" commType="0" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="true" lossPercentage="0" maxNbOfLoss="0" dataFlowType="uint_16" associatedEvent="sink_evt_in" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
-<Type type="0" typeOther="" />
+<Prop commName="sink_evt_in_1" commType="1" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="uint_16" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Type type="1" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1201" id="637" >
-<father id="684" num="2" />
-<cdparam x="1481" y="341" />
-<sizeparam width="26" height="26" minWidth="10" minHeight="10" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<hidden value="false" />
-<cdrectangleparam minX="-13" maxX="195" minY="-13" maxY="269" />
-<infoparam name="Composite port" value="" />
-<TGConnectingPoint num="0" id="619" />
-<TGConnectingPoint num="1" id="620" />
-<TGConnectingPoint num="2" id="621" />
-<TGConnectingPoint num="3" id="622" />
-<TGConnectingPoint num="4" id="623" />
-<TGConnectingPoint num="5" id="624" />
-<TGConnectingPoint num="6" id="625" />
-<TGConnectingPoint num="7" id="626" />
-<TGConnectingPoint num="8" id="627" />
-<TGConnectingPoint num="9" id="628" />
-<TGConnectingPoint num="10" id="629" />
-<TGConnectingPoint num="11" id="630" />
-<TGConnectingPoint num="12" id="631" />
-<TGConnectingPoint num="13" id="632" />
-<TGConnectingPoint num="14" id="633" />
-<TGConnectingPoint num="15" id="634" />
-<TGConnectingPoint num="16" id="635" />
-<TGConnectingPoint num="17" id="636" />
-</SUBCOMPONENT>
-<SUBCOMPONENT type="1201" id="656" >
-<father id="684" num="3" />
-<cdparam x="1481" y="397" />
-<sizeparam width="26" height="26" minWidth="10" minHeight="10" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<hidden value="false" />
-<cdrectangleparam minX="-13" maxX="195" minY="-13" maxY="269" />
-<infoparam name="Composite port" value="" />
-<TGConnectingPoint num="0" id="638" />
-<TGConnectingPoint num="1" id="639" />
-<TGConnectingPoint num="2" id="640" />
-<TGConnectingPoint num="3" id="641" />
-<TGConnectingPoint num="4" id="642" />
-<TGConnectingPoint num="5" id="643" />
-<TGConnectingPoint num="6" id="644" />
-<TGConnectingPoint num="7" id="645" />
-<TGConnectingPoint num="8" id="646" />
-<TGConnectingPoint num="9" id="647" />
-<TGConnectingPoint num="10" id="648" />
-<TGConnectingPoint num="11" id="649" />
-<TGConnectingPoint num="12" id="650" />
-<TGConnectingPoint num="13" id="651" />
-<TGConnectingPoint num="14" id="652" />
-<TGConnectingPoint num="15" id="653" />
-<TGConnectingPoint num="16" id="654" />
-<TGConnectingPoint num="17" id="655" />
-</SUBCOMPONENT>
-<SUBCOMPONENT type="1201" id="675" >
-<father id="684" num="4" />
-<cdparam x="1481" y="237" />
-<sizeparam width="26" height="26" minWidth="10" minHeight="10" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<hidden value="false" />
-<cdrectangleparam minX="-13" maxX="195" minY="-13" maxY="269" />
-<infoparam name="Composite port" value="" />
-<TGConnectingPoint num="0" id="657" />
-<TGConnectingPoint num="1" id="658" />
-<TGConnectingPoint num="2" id="659" />
-<TGConnectingPoint num="3" id="660" />
-<TGConnectingPoint num="4" id="661" />
-<TGConnectingPoint num="5" id="662" />
-<TGConnectingPoint num="6" id="663" />
-<TGConnectingPoint num="7" id="664" />
-<TGConnectingPoint num="8" id="665" />
-<TGConnectingPoint num="9" id="666" />
-<TGConnectingPoint num="10" id="667" />
-<TGConnectingPoint num="11" id="668" />
-<TGConnectingPoint num="12" id="669" />
-<TGConnectingPoint num="13" id="670" />
-<TGConnectingPoint num="14" id="671" />
-<TGConnectingPoint num="15" id="672" />
-<TGConnectingPoint num="16" id="673" />
-<TGConnectingPoint num="17" id="674" />
-</SUBCOMPONENT>
 
 <COMPONENT type="1200" id="799" >
 <cdparam x="1186" y="309" />
@@ -2007,7 +2007,7 @@ processing tasks
 </COMPONENT>
 <SUBCOMPONENT type="1201" id="703" >
 <father id="799" num="0" />
-<cdparam x="1173" y="375" />
+<cdparam x="1384" y="380" />
 <sizeparam width="26" height="26" minWidth="10" minHeight="10" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="-13" maxX="198" minY="-13" maxY="241" />
@@ -2031,70 +2031,122 @@ processing tasks
 <TGConnectingPoint num="16" id="701" />
 <TGConnectingPoint num="17" id="702" />
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1202" id="718" >
+<SUBCOMPONENT type="1201" id="722" >
 <father id="799" num="1" />
-<cdparam x="1224" y="471" />
-<sizeparam width="138" height="82" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="1384" y="510" />
+<sizeparam width="26" height="26" minWidth="10" minHeight="10" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="73" minY="0" maxY="172" />
-<infoparam name="Primitive component" value="F_CWP_Q" />
-<TGConnectingPoint num="0" id="710" />
-<TGConnectingPoint num="1" id="711" />
-<TGConnectingPoint num="2" id="712" />
-<TGConnectingPoint num="3" id="713" />
-<TGConnectingPoint num="4" id="714" />
-<TGConnectingPoint num="5" id="715" />
-<TGConnectingPoint num="6" id="716" />
-<TGConnectingPoint num="7" id="717" />
+<cdrectangleparam minX="-13" maxX="198" minY="-13" maxY="241" />
+<infoparam name="Composite port" value="" />
+<TGConnectingPoint num="0" id="704" />
+<TGConnectingPoint num="1" id="705" />
+<TGConnectingPoint num="2" id="706" />
+<TGConnectingPoint num="3" id="707" />
+<TGConnectingPoint num="4" id="708" />
+<TGConnectingPoint num="5" id="709" />
+<TGConnectingPoint num="6" id="710" />
+<TGConnectingPoint num="7" id="711" />
+<TGConnectingPoint num="8" id="712" />
+<TGConnectingPoint num="9" id="713" />
+<TGConnectingPoint num="10" id="714" />
+<TGConnectingPoint num="11" id="715" />
+<TGConnectingPoint num="12" id="716" />
+<TGConnectingPoint num="13" id="717" />
+<TGConnectingPoint num="14" id="718" />
+<TGConnectingPoint num="15" id="719" />
+<TGConnectingPoint num="16" id="720" />
+<TGConnectingPoint num="17" id="721" />
+</SUBCOMPONENT>
+<SUBCOMPONENT type="1201" id="741" >
+<father id="799" num="2" />
+<cdparam x="1173" y="487" />
+<sizeparam width="26" height="26" minWidth="10" minHeight="10" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="-13" maxX="198" minY="-13" maxY="241" />
+<infoparam name="Composite port" value="" />
+<TGConnectingPoint num="0" id="723" />
+<TGConnectingPoint num="1" id="724" />
+<TGConnectingPoint num="2" id="725" />
+<TGConnectingPoint num="3" id="726" />
+<TGConnectingPoint num="4" id="727" />
+<TGConnectingPoint num="5" id="728" />
+<TGConnectingPoint num="6" id="729" />
+<TGConnectingPoint num="7" id="730" />
+<TGConnectingPoint num="8" id="731" />
+<TGConnectingPoint num="9" id="732" />
+<TGConnectingPoint num="10" id="733" />
+<TGConnectingPoint num="11" id="734" />
+<TGConnectingPoint num="12" id="735" />
+<TGConnectingPoint num="13" id="736" />
+<TGConnectingPoint num="14" id="737" />
+<TGConnectingPoint num="15" id="738" />
+<TGConnectingPoint num="16" id="739" />
+<TGConnectingPoint num="17" id="740" />
+</SUBCOMPONENT>
+<SUBCOMPONENT type="1202" id="756" >
+<father id="799" num="3" />
+<cdparam x="1220" y="353" />
+<sizeparam width="144" height="84" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="0" maxX="67" minY="0" maxY="170" />
+<infoparam name="Primitive component" value="X_CWP_Q" />
+<TGConnectingPoint num="0" id="748" />
+<TGConnectingPoint num="1" id="749" />
+<TGConnectingPoint num="2" id="750" />
+<TGConnectingPoint num="3" id="751" />
+<TGConnectingPoint num="4" id="752" />
+<TGConnectingPoint num="5" id="753" />
+<TGConnectingPoint num="6" id="754" />
+<TGConnectingPoint num="7" id="755" />
 <extraparam>
 <Data isAttacker="No" />
 <Attribute access="2" id="size" value="" type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="705" >
-<father id="718" num="0" />
-<cdparam x="1322" y="458" />
+<SUBCOMPONENT type="1203" id="743" >
+<father id="756" num="0" />
+<cdparam x="1351" y="380" />
 <sizeparam width="26" height="26" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="125" minY="-13" maxY="69" />
-<infoparam name="Primitive port" value="Request cwpQ_req" />
-<TGConnectingPoint num="0" id="704" />
-<extraparam>
-<Prop commName="cwpQ_req" commType="2" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
-<Type type="1" typeOther="" />
+<cdrectangleparam minX="-13" maxX="131" minY="-13" maxY="71" />
+<infoparam name="Primitive port" value="Channel cwpQ_ch_out" />
+<TGConnectingPoint num="0" id="742" />
+<extraparam>
+<Prop commName="cwpQ_ch_out" commType="0" origin="true" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="uint_16" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="707" >
-<father id="718" num="1" />
-<cdparam x="1211" y="487" />
+<SUBCOMPONENT type="1203" id="745" >
+<father id="756" num="1" />
+<cdparam x="1207" y="375" />
 <sizeparam width="26" height="26" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="125" minY="-13" maxY="69" />
-<infoparam name="Primitive port" value="Event cwpQ_evt_in" />
-<TGConnectingPoint num="0" id="706" />
+<cdrectangleparam minX="-13" maxX="131" minY="-13" maxY="71" />
+<infoparam name="Primitive port" value="Channel cwpQ_ch_in" />
+<TGConnectingPoint num="0" id="744" />
 <extraparam>
-<Prop commName="cwpQ_evt_in" commType="1" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
-<Type type="1" typeOther="" />
+<Prop commName="cwpQ_ch_in" commType="0" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="uint_16" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="709" >
-<father id="718" num="2" />
-<cdparam x="1349" y="510" />
+<SUBCOMPONENT type="1203" id="747" >
+<father id="756" num="2" />
+<cdparam x="1236" y="424" />
 <sizeparam width="26" height="26" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="125" minY="-13" maxY="69" />
-<infoparam name="Primitive port" value="Event cwpQ_evt_out" />
-<TGConnectingPoint num="0" id="708" />
+<cdrectangleparam minX="-13" maxX="131" minY="-13" maxY="71" />
+<infoparam name="Primitive port" value="Request cwpQ_req" />
+<TGConnectingPoint num="0" id="746" />
 <extraparam>
-<Prop commName="cwpQ_evt_out" commType="1" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Prop commName="cwpQ_req" commType="2" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
 <Type type="1" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -2102,36 +2154,36 @@ processing tasks
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1202" id="733" >
-<father id="799" num="2" />
-<cdparam x="1220" y="353" />
-<sizeparam width="144" height="84" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<SUBCOMPONENT type="1202" id="771" >
+<father id="799" num="4" />
+<cdparam x="1224" y="471" />
+<sizeparam width="138" height="82" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="67" minY="0" maxY="170" />
-<infoparam name="Primitive component" value="X_CWP_Q" />
-<TGConnectingPoint num="0" id="725" />
-<TGConnectingPoint num="1" id="726" />
-<TGConnectingPoint num="2" id="727" />
-<TGConnectingPoint num="3" id="728" />
-<TGConnectingPoint num="4" id="729" />
-<TGConnectingPoint num="5" id="730" />
-<TGConnectingPoint num="6" id="731" />
-<TGConnectingPoint num="7" id="732" />
+<cdrectangleparam minX="0" maxX="73" minY="0" maxY="172" />
+<infoparam name="Primitive component" value="F_CWP_Q" />
+<TGConnectingPoint num="0" id="763" />
+<TGConnectingPoint num="1" id="764" />
+<TGConnectingPoint num="2" id="765" />
+<TGConnectingPoint num="3" id="766" />
+<TGConnectingPoint num="4" id="767" />
+<TGConnectingPoint num="5" id="768" />
+<TGConnectingPoint num="6" id="769" />
+<TGConnectingPoint num="7" id="770" />
 <extraparam>
 <Data isAttacker="No" />
 <Attribute access="2" id="size" value="" type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="720" >
-<father id="733" num="0" />
-<cdparam x="1236" y="424" />
+<SUBCOMPONENT type="1203" id="758" >
+<father id="771" num="0" />
+<cdparam x="1349" y="510" />
 <sizeparam width="26" height="26" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="131" minY="-13" maxY="71" />
-<infoparam name="Primitive port" value="Request cwpQ_req" />
-<TGConnectingPoint num="0" id="719" />
+<cdrectangleparam minX="-13" maxX="125" minY="-13" maxY="69" />
+<infoparam name="Primitive port" value="Event cwpQ_evt_out" />
+<TGConnectingPoint num="0" id="757" />
 <extraparam>
-<Prop commName="cwpQ_req" commType="2" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Prop commName="cwpQ_evt_out" commType="1" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
 <Type type="1" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -2139,95 +2191,43 @@ processing tasks
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="722" >
-<father id="733" num="1" />
-<cdparam x="1207" y="375" />
+<SUBCOMPONENT type="1203" id="760" >
+<father id="771" num="1" />
+<cdparam x="1211" y="487" />
 <sizeparam width="26" height="26" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="131" minY="-13" maxY="71" />
-<infoparam name="Primitive port" value="Channel cwpQ_ch_in" />
-<TGConnectingPoint num="0" id="721" />
+<cdrectangleparam minX="-13" maxX="125" minY="-13" maxY="69" />
+<infoparam name="Primitive port" value="Event cwpQ_evt_in" />
+<TGConnectingPoint num="0" id="759" />
 <extraparam>
-<Prop commName="cwpQ_ch_in" commType="0" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="uint_16" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
-<Type type="0" typeOther="" />
+<Prop commName="cwpQ_evt_in" commType="1" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Type type="1" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="724" >
-<father id="733" num="2" />
-<cdparam x="1351" y="380" />
+<SUBCOMPONENT type="1203" id="762" >
+<father id="771" num="2" />
+<cdparam x="1322" y="458" />
 <sizeparam width="26" height="26" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="131" minY="-13" maxY="71" />
-<infoparam name="Primitive port" value="Channel cwpQ_ch_out" />
-<TGConnectingPoint num="0" id="723" />
+<cdrectangleparam minX="-13" maxX="125" minY="-13" maxY="69" />
+<infoparam name="Primitive port" value="Request cwpQ_req" />
+<TGConnectingPoint num="0" id="761" />
 <extraparam>
-<Prop commName="cwpQ_ch_out" commType="0" origin="true" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="uint_16" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
-<Type type="0" typeOther="" />
+<Prop commName="cwpQ_req" commType="2" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Type type="1" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1201" id="752" >
-<father id="799" num="3" />
-<cdparam x="1173" y="487" />
-<sizeparam width="26" height="26" minWidth="10" minHeight="10" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<hidden value="false" />
-<cdrectangleparam minX="-13" maxX="198" minY="-13" maxY="241" />
-<infoparam name="Composite port" value="" />
-<TGConnectingPoint num="0" id="734" />
-<TGConnectingPoint num="1" id="735" />
-<TGConnectingPoint num="2" id="736" />
-<TGConnectingPoint num="3" id="737" />
-<TGConnectingPoint num="4" id="738" />
-<TGConnectingPoint num="5" id="739" />
-<TGConnectingPoint num="6" id="740" />
-<TGConnectingPoint num="7" id="741" />
-<TGConnectingPoint num="8" id="742" />
-<TGConnectingPoint num="9" id="743" />
-<TGConnectingPoint num="10" id="744" />
-<TGConnectingPoint num="11" id="745" />
-<TGConnectingPoint num="12" id="746" />
-<TGConnectingPoint num="13" id="747" />
-<TGConnectingPoint num="14" id="748" />
-<TGConnectingPoint num="15" id="749" />
-<TGConnectingPoint num="16" id="750" />
-<TGConnectingPoint num="17" id="751" />
-</SUBCOMPONENT>
-<SUBCOMPONENT type="1201" id="771" >
-<father id="799" num="4" />
-<cdparam x="1384" y="510" />
-<sizeparam width="26" height="26" minWidth="10" minHeight="10" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<hidden value="false" />
-<cdrectangleparam minX="-13" maxX="198" minY="-13" maxY="241" />
-<infoparam name="Composite port" value="" />
-<TGConnectingPoint num="0" id="753" />
-<TGConnectingPoint num="1" id="754" />
-<TGConnectingPoint num="2" id="755" />
-<TGConnectingPoint num="3" id="756" />
-<TGConnectingPoint num="4" id="757" />
-<TGConnectingPoint num="5" id="758" />
-<TGConnectingPoint num="6" id="759" />
-<TGConnectingPoint num="7" id="760" />
-<TGConnectingPoint num="8" id="761" />
-<TGConnectingPoint num="9" id="762" />
-<TGConnectingPoint num="10" id="763" />
-<TGConnectingPoint num="11" id="764" />
-<TGConnectingPoint num="12" id="765" />
-<TGConnectingPoint num="13" id="766" />
-<TGConnectingPoint num="14" id="767" />
-<TGConnectingPoint num="15" id="768" />
-<TGConnectingPoint num="16" id="769" />
-<TGConnectingPoint num="17" id="770" />
-</SUBCOMPONENT>
 <SUBCOMPONENT type="1201" id="790" >
 <father id="799" num="5" />
-<cdparam x="1384" y="380" />
+<cdparam x="1173" y="375" />
 <sizeparam width="26" height="26" minWidth="10" minHeight="10" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="-13" maxX="198" minY="-13" maxY="241" />
@@ -2272,7 +2272,7 @@ processing tasks
 </COMPONENT>
 <SUBCOMPONENT type="1201" id="818" >
 <father id="914" num="0" />
-<cdparam x="1387" y="111" />
+<cdparam x="1387" y="249" />
 <sizeparam width="26" height="26" minWidth="10" minHeight="10" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="-13" maxX="201" minY="-13" maxY="267" />
@@ -2296,70 +2296,122 @@ processing tasks
 <TGConnectingPoint num="16" id="816" />
 <TGConnectingPoint num="17" id="817" />
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1202" id="833" >
+<SUBCOMPONENT type="1201" id="837" >
 <father id="914" num="1" />
-<cdparam x="1222" y="194" />
-<sizeparam width="143" height="86" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="1173" y="110" />
+<sizeparam width="26" height="26" minWidth="10" minHeight="10" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="71" minY="0" maxY="194" />
-<infoparam name="Primitive component" value="F_CWP_I" />
-<TGConnectingPoint num="0" id="825" />
-<TGConnectingPoint num="1" id="826" />
-<TGConnectingPoint num="2" id="827" />
-<TGConnectingPoint num="3" id="828" />
-<TGConnectingPoint num="4" id="829" />
-<TGConnectingPoint num="5" id="830" />
-<TGConnectingPoint num="6" id="831" />
-<TGConnectingPoint num="7" id="832" />
+<cdrectangleparam minX="-13" maxX="201" minY="-13" maxY="267" />
+<infoparam name="Composite port" value="" />
+<TGConnectingPoint num="0" id="819" />
+<TGConnectingPoint num="1" id="820" />
+<TGConnectingPoint num="2" id="821" />
+<TGConnectingPoint num="3" id="822" />
+<TGConnectingPoint num="4" id="823" />
+<TGConnectingPoint num="5" id="824" />
+<TGConnectingPoint num="6" id="825" />
+<TGConnectingPoint num="7" id="826" />
+<TGConnectingPoint num="8" id="827" />
+<TGConnectingPoint num="9" id="828" />
+<TGConnectingPoint num="10" id="829" />
+<TGConnectingPoint num="11" id="830" />
+<TGConnectingPoint num="12" id="831" />
+<TGConnectingPoint num="13" id="832" />
+<TGConnectingPoint num="14" id="833" />
+<TGConnectingPoint num="15" id="834" />
+<TGConnectingPoint num="16" id="835" />
+<TGConnectingPoint num="17" id="836" />
+</SUBCOMPONENT>
+<SUBCOMPONENT type="1201" id="856" >
+<father id="914" num="2" />
+<cdparam x="1173" y="249" />
+<sizeparam width="26" height="26" minWidth="10" minHeight="10" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="-13" maxX="201" minY="-13" maxY="267" />
+<infoparam name="Composite port" value="" />
+<TGConnectingPoint num="0" id="838" />
+<TGConnectingPoint num="1" id="839" />
+<TGConnectingPoint num="2" id="840" />
+<TGConnectingPoint num="3" id="841" />
+<TGConnectingPoint num="4" id="842" />
+<TGConnectingPoint num="5" id="843" />
+<TGConnectingPoint num="6" id="844" />
+<TGConnectingPoint num="7" id="845" />
+<TGConnectingPoint num="8" id="846" />
+<TGConnectingPoint num="9" id="847" />
+<TGConnectingPoint num="10" id="848" />
+<TGConnectingPoint num="11" id="849" />
+<TGConnectingPoint num="12" id="850" />
+<TGConnectingPoint num="13" id="851" />
+<TGConnectingPoint num="14" id="852" />
+<TGConnectingPoint num="15" id="853" />
+<TGConnectingPoint num="16" id="854" />
+<TGConnectingPoint num="17" id="855" />
+</SUBCOMPONENT>
+<SUBCOMPONENT type="1202" id="871" >
+<father id="914" num="3" />
+<cdparam x="1220" y="62" />
+<sizeparam width="144" height="96" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="0" maxX="70" minY="0" maxY="184" />
+<infoparam name="Primitive component" value="X_CWP_I" />
+<TGConnectingPoint num="0" id="863" />
+<TGConnectingPoint num="1" id="864" />
+<TGConnectingPoint num="2" id="865" />
+<TGConnectingPoint num="3" id="866" />
+<TGConnectingPoint num="4" id="867" />
+<TGConnectingPoint num="5" id="868" />
+<TGConnectingPoint num="6" id="869" />
+<TGConnectingPoint num="7" id="870" />
 <extraparam>
 <Data isAttacker="No" />
 <Attribute access="2" id="size" value="" type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="820" >
-<father id="833" num="0" />
-<cdparam x="1320" y="181" />
+<SUBCOMPONENT type="1203" id="858" >
+<father id="871" num="0" />
+<cdparam x="1351" y="111" />
 <sizeparam width="26" height="26" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="130" minY="-13" maxY="73" />
-<infoparam name="Primitive port" value="Request cwpI_req" />
-<TGConnectingPoint num="0" id="819" />
+<cdrectangleparam minX="-13" maxX="131" minY="-13" maxY="83" />
+<infoparam name="Primitive port" value="Channel cwpI_ch_out" />
+<TGConnectingPoint num="0" id="857" />
 <extraparam>
-<Prop commName="cwpI_req" commType="2" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
-<Type type="1" typeOther="" />
+<Prop commName="cwpI_ch_out" commType="0" origin="true" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="uint_16" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="822" >
-<father id="833" num="1" />
-<cdparam x="1209" y="249" />
+<SUBCOMPONENT type="1203" id="860" >
+<father id="871" num="1" />
+<cdparam x="1207" y="110" />
 <sizeparam width="26" height="26" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="130" minY="-13" maxY="73" />
-<infoparam name="Primitive port" value="Event cwpI_evt_in" />
-<TGConnectingPoint num="0" id="821" />
+<cdrectangleparam minX="-13" maxX="131" minY="-13" maxY="83" />
+<infoparam name="Primitive port" value="Channel cwpI_ch_in" />
+<TGConnectingPoint num="0" id="859" />
 <extraparam>
-<Prop commName="cwpI_evt_in" commType="1" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
-<Type type="1" typeOther="" />
+<Prop commName="cwpI_ch_in" commType="0" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="uint_16" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="824" >
-<father id="833" num="2" />
-<cdparam x="1352" y="249" />
+<SUBCOMPONENT type="1203" id="862" >
+<father id="871" num="2" />
+<cdparam x="1244" y="145" />
 <sizeparam width="26" height="26" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="130" minY="-13" maxY="73" />
-<infoparam name="Primitive port" value="Event cwpI_evt_out" />
-<TGConnectingPoint num="0" id="823" />
+<cdrectangleparam minX="-13" maxX="131" minY="-13" maxY="83" />
+<infoparam name="Primitive port" value="Request cwpI_req" />
+<TGConnectingPoint num="0" id="861" />
 <extraparam>
-<Prop commName="cwpI_evt_out" commType="1" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Prop commName="cwpI_req" commType="2" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
 <Type type="1" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -2367,36 +2419,36 @@ processing tasks
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1202" id="848" >
-<father id="914" num="2" />
-<cdparam x="1220" y="62" />
-<sizeparam width="144" height="96" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<SUBCOMPONENT type="1202" id="886" >
+<father id="914" num="4" />
+<cdparam x="1222" y="194" />
+<sizeparam width="143" height="86" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="70" minY="0" maxY="184" />
-<infoparam name="Primitive component" value="X_CWP_I" />
-<TGConnectingPoint num="0" id="840" />
-<TGConnectingPoint num="1" id="841" />
-<TGConnectingPoint num="2" id="842" />
-<TGConnectingPoint num="3" id="843" />
-<TGConnectingPoint num="4" id="844" />
-<TGConnectingPoint num="5" id="845" />
-<TGConnectingPoint num="6" id="846" />
-<TGConnectingPoint num="7" id="847" />
+<cdrectangleparam minX="0" maxX="71" minY="0" maxY="194" />
+<infoparam name="Primitive component" value="F_CWP_I" />
+<TGConnectingPoint num="0" id="878" />
+<TGConnectingPoint num="1" id="879" />
+<TGConnectingPoint num="2" id="880" />
+<TGConnectingPoint num="3" id="881" />
+<TGConnectingPoint num="4" id="882" />
+<TGConnectingPoint num="5" id="883" />
+<TGConnectingPoint num="6" id="884" />
+<TGConnectingPoint num="7" id="885" />
 <extraparam>
 <Data isAttacker="No" />
 <Attribute access="2" id="size" value="" type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="835" >
-<father id="848" num="0" />
-<cdparam x="1244" y="145" />
+<SUBCOMPONENT type="1203" id="873" >
+<father id="886" num="0" />
+<cdparam x="1352" y="249" />
 <sizeparam width="26" height="26" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="131" minY="-13" maxY="83" />
-<infoparam name="Primitive port" value="Request cwpI_req" />
-<TGConnectingPoint num="0" id="834" />
+<cdrectangleparam minX="-13" maxX="130" minY="-13" maxY="73" />
+<infoparam name="Primitive port" value="Event cwpI_evt_out" />
+<TGConnectingPoint num="0" id="872" />
 <extraparam>
-<Prop commName="cwpI_req" commType="2" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Prop commName="cwpI_evt_out" commType="1" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
 <Type type="1" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -2404,466 +2456,294 @@ processing tasks
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="837" >
-<father id="848" num="1" />
-<cdparam x="1207" y="110" />
+<SUBCOMPONENT type="1203" id="875" >
+<father id="886" num="1" />
+<cdparam x="1209" y="249" />
 <sizeparam width="26" height="26" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="131" minY="-13" maxY="83" />
-<infoparam name="Primitive port" value="Channel cwpI_ch_in" />
-<TGConnectingPoint num="0" id="836" />
+<cdrectangleparam minX="-13" maxX="130" minY="-13" maxY="73" />
+<infoparam name="Primitive port" value="Event cwpI_evt_in" />
+<TGConnectingPoint num="0" id="874" />
 <extraparam>
-<Prop commName="cwpI_ch_in" commType="0" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="uint_16" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
-<Type type="0" typeOther="" />
+<Prop commName="cwpI_evt_in" commType="1" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Type type="1" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="839" >
-<father id="848" num="2" />
-<cdparam x="1351" y="111" />
+<SUBCOMPONENT type="1203" id="877" >
+<father id="886" num="2" />
+<cdparam x="1320" y="181" />
 <sizeparam width="26" height="26" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="131" minY="-13" maxY="83" />
-<infoparam name="Primitive port" value="Channel cwpI_ch_out" />
-<TGConnectingPoint num="0" id="838" />
+<cdrectangleparam minX="-13" maxX="130" minY="-13" maxY="73" />
+<infoparam name="Primitive port" value="Request cwpI_req" />
+<TGConnectingPoint num="0" id="876" />
 <extraparam>
-<Prop commName="cwpI_ch_out" commType="0" origin="true" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="uint_16" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
-<Type type="0" typeOther="" />
-<Type type="0" typeOther="" />
-<Type type="0" typeOther="" />
-<Type type="0" typeOther="" />
+<Prop commName="cwpI_req" commType="2" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Type type="1" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 </extraparam>
-</SUBCOMPONENT>
-<SUBCOMPONENT type="1201" id="867" >
-<father id="914" num="3" />
-<cdparam x="1173" y="249" />
-<sizeparam width="26" height="26" minWidth="10" minHeight="10" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<hidden value="false" />
-<cdrectangleparam minX="-13" maxX="201" minY="-13" maxY="267" />
-<infoparam name="Composite port" value="" />
-<TGConnectingPoint num="0" id="849" />
-<TGConnectingPoint num="1" id="850" />
-<TGConnectingPoint num="2" id="851" />
-<TGConnectingPoint num="3" id="852" />
-<TGConnectingPoint num="4" id="853" />
-<TGConnectingPoint num="5" id="854" />
-<TGConnectingPoint num="6" id="855" />
-<TGConnectingPoint num="7" id="856" />
-<TGConnectingPoint num="8" id="857" />
-<TGConnectingPoint num="9" id="858" />
-<TGConnectingPoint num="10" id="859" />
-<TGConnectingPoint num="11" id="860" />
-<TGConnectingPoint num="12" id="861" />
-<TGConnectingPoint num="13" id="862" />
-<TGConnectingPoint num="14" id="863" />
-<TGConnectingPoint num="15" id="864" />
-<TGConnectingPoint num="16" id="865" />
-<TGConnectingPoint num="17" id="866" />
-</SUBCOMPONENT>
-<SUBCOMPONENT type="1201" id="886" >
-<father id="914" num="4" />
-<cdparam x="1173" y="110" />
-<sizeparam width="26" height="26" minWidth="10" minHeight="10" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<hidden value="false" />
-<cdrectangleparam minX="-13" maxX="201" minY="-13" maxY="267" />
-<infoparam name="Composite port" value="" />
-<TGConnectingPoint num="0" id="868" />
-<TGConnectingPoint num="1" id="869" />
-<TGConnectingPoint num="2" id="870" />
-<TGConnectingPoint num="3" id="871" />
-<TGConnectingPoint num="4" id="872" />
-<TGConnectingPoint num="5" id="873" />
-<TGConnectingPoint num="6" id="874" />
-<TGConnectingPoint num="7" id="875" />
-<TGConnectingPoint num="8" id="876" />
-<TGConnectingPoint num="9" id="877" />
-<TGConnectingPoint num="10" id="878" />
-<TGConnectingPoint num="11" id="879" />
-<TGConnectingPoint num="12" id="880" />
-<TGConnectingPoint num="13" id="881" />
-<TGConnectingPoint num="14" id="882" />
-<TGConnectingPoint num="15" id="883" />
-<TGConnectingPoint num="16" id="884" />
-<TGConnectingPoint num="17" id="885" />
-</SUBCOMPONENT>
-<SUBCOMPONENT type="1201" id="905" >
-<father id="914" num="5" />
-<cdparam x="1387" y="249" />
-<sizeparam width="26" height="26" minWidth="10" minHeight="10" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<hidden value="false" />
-<cdrectangleparam minX="-13" maxX="201" minY="-13" maxY="267" />
-<infoparam name="Composite port" value="" />
-<TGConnectingPoint num="0" id="887" />
-<TGConnectingPoint num="1" id="888" />
-<TGConnectingPoint num="2" id="889" />
-<TGConnectingPoint num="3" id="890" />
-<TGConnectingPoint num="4" id="891" />
-<TGConnectingPoint num="5" id="892" />
-<TGConnectingPoint num="6" id="893" />
-<TGConnectingPoint num="7" id="894" />
-<TGConnectingPoint num="8" id="895" />
-<TGConnectingPoint num="9" id="896" />
-<TGConnectingPoint num="10" id="897" />
-<TGConnectingPoint num="11" id="898" />
-<TGConnectingPoint num="12" id="899" />
-<TGConnectingPoint num="13" id="900" />
-<TGConnectingPoint num="14" id="901" />
-<TGConnectingPoint num="15" id="902" />
-<TGConnectingPoint num="16" id="903" />
-<TGConnectingPoint num="17" id="904" />
-</SUBCOMPONENT>
-
-
-</TMLComponentTaskDiagramPanel>
-
-<TMLActivityDiagramPanel name="X_Source" minX="10" maxX="1400" minY="10" maxY="900" >
-<COMPONENT type="1013" id="918" >
-<cdparam x="402" y="189" />
-<sizeparam width="10" height="30" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<hidden value="false" />
-<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
-<infoparam name="execI" value="null" />
-<TGConnectingPoint num="0" id="916" />
-<TGConnectingPoint num="1" id="917" />
-</COMPONENT>
-<SUBCOMPONENT type="-1" id="915" >
-<father id="918" num="0" />
-<cdparam x="417" y="209" />
-<sizeparam width="23" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<hidden value="false" />
-<cdrectangleparam minX="-75" maxX="30" minY="10" maxY="30" />
-<infoparam name="value of the delay" value="size" />
-</SUBCOMPONENT>
-
-<COMPONENT type="1001" id="920" >
-<cdparam x="397" y="342" />
-<sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<hidden value="false" />
-<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
-<infoparam name="stop state" value="null" />
-<TGConnectingPoint num="0" id="919" />
-</COMPONENT>
-
-<COMPONENT type="1006" id="923" >
-<cdparam x="346" y="270" />
-<sizeparam width="122" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<hidden value="false" />
-<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
-<infoparam name="write channel" value="Source_ch_out(size)" />
-<TGConnectingPoint num="0" id="921" />
-<TGConnectingPoint num="1" id="922" />
-<accessibility />
-<extraparam>
-<Data channelName="Source_ch_out" nbOfSamples="size" secPattern="" isAttacker="No" />
-</extraparam>
-</COMPONENT>
-
-<COMPONENT type="1034" id="926" >
-<cdparam x="354" y="113" />
-<sizeparam width="106" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<hidden value="false" />
-<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
-<infoparam name="read args" value="getReqArg (size)" />
-<TGConnectingPoint num="0" id="924" />
-<TGConnectingPoint num="1" id="925" />
-<extraparam>
-<Data nbOfParams="5" />
-<Param index="0" value="size" />
-</extraparam>
-</COMPONENT>
-
-<COMPONENT type="1000" id="928" >
-<cdparam x="400" y="50" />
-<sizeparam width="15" height="15" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+</SUBCOMPONENT>
+<SUBCOMPONENT type="1201" id="905" >
+<father id="914" num="5" />
+<cdparam x="1387" y="111" />
+<sizeparam width="26" height="26" minWidth="10" minHeight="10" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
-<infoparam name="start state" value="null" />
-<TGConnectingPoint num="0" id="927" />
-</COMPONENT>
+<cdrectangleparam minX="-13" maxX="201" minY="-13" maxY="267" />
+<infoparam name="Composite port" value="" />
+<TGConnectingPoint num="0" id="887" />
+<TGConnectingPoint num="1" id="888" />
+<TGConnectingPoint num="2" id="889" />
+<TGConnectingPoint num="3" id="890" />
+<TGConnectingPoint num="4" id="891" />
+<TGConnectingPoint num="5" id="892" />
+<TGConnectingPoint num="6" id="893" />
+<TGConnectingPoint num="7" id="894" />
+<TGConnectingPoint num="8" id="895" />
+<TGConnectingPoint num="9" id="896" />
+<TGConnectingPoint num="10" id="897" />
+<TGConnectingPoint num="11" id="898" />
+<TGConnectingPoint num="12" id="899" />
+<TGConnectingPoint num="13" id="900" />
+<TGConnectingPoint num="14" id="901" />
+<TGConnectingPoint num="15" id="902" />
+<TGConnectingPoint num="16" id="903" />
+<TGConnectingPoint num="17" id="904" />
+</SUBCOMPONENT>
 
-<CONNECTOR type="115" id="929" >
-<cdparam x="462" y="222" />
-<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<infoparam name="connector" value="null" />
-<P1  x="407" y="224" id="917" />
-<P2  x="407" y="265" id="921" />
-<AutomaticDrawing  data="true" />
-</CONNECTOR>
-<CONNECTOR type="115" id="930" >
-<cdparam x="407" y="70" />
-<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<infoparam name="connector" value="null" />
-<P1  x="407" y="70" id="927" />
-<P2  x="407" y="108" id="924" />
-<AutomaticDrawing  data="true" />
-</CONNECTOR>
-<CONNECTOR type="115" id="931" >
-<cdparam x="402" y="256" />
-<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<infoparam name="connector" value="null" />
-<P1  x="407" y="295" id="922" />
-<P2  x="407" y="337" id="919" />
-<AutomaticDrawing  data="true" />
-</CONNECTOR>
-<CONNECTOR type="115" id="932" >
-<cdparam x="407" y="155" />
-<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<infoparam name="connector" value="null" />
-<P1  x="407" y="138" id="925" />
-<P2  x="407" y="184" id="916" />
-<AutomaticDrawing  data="true" />
-</CONNECTOR>
 
-</TMLActivityDiagramPanel>
+</TMLComponentTaskDiagramPanel>
 
 <TMLActivityDiagramPanel name="F_Source" minX="10" maxX="1400" minY="10" maxY="900" >
-<COMPONENT type="1001" id="934" >
+<COMPONENT type="1001" id="916" >
 <cdparam x="397" y="338" />
 <sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
 <infoparam name="stop state" value="null" />
-<TGConnectingPoint num="0" id="933" />
+<TGConnectingPoint num="0" id="915" />
 </COMPONENT>
 
-<COMPONENT type="1008" id="937" >
+<COMPONENT type="1008" id="919" >
 <cdparam x="338" y="262" />
 <sizeparam width="139" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
 <infoparam name="send event" value="Source_evt_out(size)" />
-<TGConnectingPoint num="0" id="935" />
-<TGConnectingPoint num="1" id="936" />
+<TGConnectingPoint num="0" id="917" />
+<TGConnectingPoint num="1" id="918" />
 <extraparam>
 <Data eventName="Source_evt_out" nbOfParams="5" />
 <Param index="0" value="size" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1007" id="940" >
+<COMPONENT type="1007" id="922" >
 <cdparam x="351" y="188" />
 <sizeparam width="113" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
 <infoparam name="send request" value="source_req(size)" />
-<TGConnectingPoint num="0" id="938" />
-<TGConnectingPoint num="1" id="939" />
+<TGConnectingPoint num="0" id="920" />
+<TGConnectingPoint num="1" id="921" />
 <extraparam>
 <Data requestName="source_req" nbOfParams="5" />
 <Param index="0" value="size" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1011" id="943" >
+<COMPONENT type="1011" id="925" >
 <cdparam x="370" y="116" />
 <sizeparam width="75" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
 <infoparam name="action state" value="size = 127" />
-<TGConnectingPoint num="0" id="941" />
-<TGConnectingPoint num="1" id="942" />
+<TGConnectingPoint num="0" id="923" />
+<TGConnectingPoint num="1" id="924" />
 </COMPONENT>
 
-<COMPONENT type="1000" id="945" >
+<COMPONENT type="1000" id="927" >
 <cdparam x="400" y="50" />
 <sizeparam width="15" height="15" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
 <infoparam name="start state" value="null" />
-<TGConnectingPoint num="0" id="944" />
+<TGConnectingPoint num="0" id="926" />
 </COMPONENT>
 
-<CONNECTOR type="115" id="946" >
+<CONNECTOR type="115" id="928" >
 <cdparam x="407" y="70" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="null" />
-<P1  x="407" y="70" id="944" />
-<P2  x="407" y="111" id="941" />
+<P1  x="407" y="70" id="926" />
+<P2  x="407" y="111" id="923" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="947" >
+<CONNECTOR type="115" id="929" >
 <cdparam x="407" y="141" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="null" />
-<P1  x="407" y="141" id="942" />
-<P2  x="407" y="183" id="938" />
+<P1  x="407" y="141" id="924" />
+<P2  x="407" y="183" id="920" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="948" >
+<CONNECTOR type="115" id="930" >
 <cdparam x="407" y="213" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="null" />
-<P1  x="407" y="213" id="939" />
-<P2  x="407" y="257" id="935" />
+<P1  x="407" y="213" id="921" />
+<P2  x="407" y="257" id="917" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="949" >
+<CONNECTOR type="115" id="931" >
 <cdparam x="407" y="287" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="null" />
-<P1  x="407" y="287" id="936" />
-<P2  x="407" y="333" id="933" />
+<P1  x="407" y="287" id="918" />
+<P2  x="407" y="333" id="915" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 
 </TMLActivityDiagramPanel>
 
-<TMLActivityDiagramPanel name="X_Symbol2ChipSeq" minX="10" maxX="495" minY="10" maxY="467" >
-<COMPONENT type="1021" id="953" >
-<cdparam x="393" y="289" />
+<TMLActivityDiagramPanel name="X_Source" minX="10" maxX="1400" minY="10" maxY="900" >
+<COMPONENT type="1013" id="935" >
+<cdparam x="402" y="189" />
 <sizeparam width="10" height="30" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="10" maxX="495" minY="10" maxY="467" />
-<infoparam name="execC" value="null" />
-<TGConnectingPoint num="0" id="951" />
-<TGConnectingPoint num="1" id="952" />
+<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
+<infoparam name="execI" value="null" />
+<TGConnectingPoint num="0" id="933" />
+<TGConnectingPoint num="1" id="934" />
 </COMPONENT>
-<SUBCOMPONENT type="-1" id="950" >
-<father id="953" num="0" />
-<cdparam x="408" y="309" />
+<SUBCOMPONENT type="-1" id="932" >
+<father id="935" num="0" />
+<cdparam x="417" y="209" />
 <sizeparam width="23" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="-75" maxX="30" minY="10" maxY="30" />
 <infoparam name="value of the delay" value="size" />
 </SUBCOMPONENT>
 
-<COMPONENT type="1009" id="956" >
-<cdparam x="310" y="213" />
-<sizeparam width="176" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<hidden value="false" />
-<cdrectangleparam minX="10" maxX="495" minY="10" maxY="467" />
-<infoparam name="read channel" value="symbol2ChipSeq_ch_in(size) " />
-<TGConnectingPoint num="0" id="954" />
-<TGConnectingPoint num="1" id="955" />
-<extraparam>
-<Data channelName="symbol2ChipSeq_ch_in" nbOfSamples="size" secPattern="" isAttacker="No" />
-</extraparam>
-</COMPONENT>
-
-<COMPONENT type="1001" id="958" >
-<cdparam x="388" y="447" />
+<COMPONENT type="1001" id="937" >
+<cdparam x="397" y="342" />
 <sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="10" maxX="495" minY="10" maxY="467" />
+<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
 <infoparam name="stop state" value="null" />
-<TGConnectingPoint num="0" id="957" />
+<TGConnectingPoint num="0" id="936" />
 </COMPONENT>
 
-<COMPONENT type="1006" id="961" >
-<cdparam x="308" y="375" />
-<sizeparam width="180" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<COMPONENT type="1006" id="940" >
+<cdparam x="346" y="270" />
+<sizeparam width="122" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="10" maxX="495" minY="10" maxY="467" />
-<infoparam name="write channel" value="symbol2ChipSeq_ch_out(size)" />
-<TGConnectingPoint num="0" id="959" />
-<TGConnectingPoint num="1" id="960" />
+<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
+<infoparam name="write channel" value="Source_ch_out(size)" />
+<TGConnectingPoint num="0" id="938" />
+<TGConnectingPoint num="1" id="939" />
+<accessibility />
 <extraparam>
-<Data channelName="symbol2ChipSeq_ch_out" nbOfSamples="size" secPattern="" isAttacker="No" />
+<Data channelName="Source_ch_out" nbOfSamples="size" secPattern="" isAttacker="No" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1034" id="964" >
-<cdparam x="345" y="137" />
+<COMPONENT type="1034" id="943" >
+<cdparam x="354" y="113" />
 <sizeparam width="106" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="10" maxX="495" minY="10" maxY="467" />
+<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
 <infoparam name="read args" value="getReqArg (size)" />
-<TGConnectingPoint num="0" id="962" />
-<TGConnectingPoint num="1" id="963" />
+<TGConnectingPoint num="0" id="941" />
+<TGConnectingPoint num="1" id="942" />
 <extraparam>
 <Data nbOfParams="5" />
 <Param index="0" value="size" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1000" id="966" >
-<cdparam x="391" y="74" />
+<COMPONENT type="1000" id="945" >
+<cdparam x="400" y="50" />
 <sizeparam width="15" height="15" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="10" maxX="495" minY="10" maxY="467" />
+<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
 <infoparam name="start state" value="null" />
-<TGConnectingPoint num="0" id="965" />
+<TGConnectingPoint num="0" id="944" />
 </COMPONENT>
 
-<CONNECTOR type="115" id="967" >
-<cdparam x="541" y="169" />
-<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<infoparam name="connector" value="null" />
-<P1  x="398" y="238" id="955" />
-<P2  x="398" y="284" id="951" />
-<AutomaticDrawing  data="true" />
-</CONNECTOR>
-<CONNECTOR type="115" id="968" >
-<cdparam x="453" y="327" />
+<CONNECTOR type="115" id="946" >
+<cdparam x="462" y="222" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="null" />
-<P1  x="398" y="324" id="952" />
-<P2  x="398" y="370" id="959" />
+<P1  x="407" y="224" id="934" />
+<P2  x="407" y="265" id="938" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="969" >
-<cdparam x="398" y="94" />
+<CONNECTOR type="115" id="947" >
+<cdparam x="407" y="70" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="null" />
-<P1  x="398" y="94" id="965" />
-<P2  x="398" y="132" id="962" />
+<P1  x="407" y="70" id="944" />
+<P2  x="407" y="108" id="941" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="970" >
-<cdparam x="393" y="361" />
+<CONNECTOR type="115" id="948" >
+<cdparam x="402" y="256" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="null" />
-<P1  x="398" y="400" id="960" />
-<P2  x="398" y="442" id="957" />
+<P1  x="407" y="295" id="939" />
+<P2  x="407" y="337" id="936" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="971" >
-<cdparam x="398" y="179" />
+<CONNECTOR type="115" id="949" >
+<cdparam x="407" y="155" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="null" />
-<P1  x="398" y="162" id="963" />
-<P2  x="398" y="208" id="954" />
+<P1  x="407" y="138" id="942" />
+<P2  x="407" y="184" id="933" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 
 </TMLActivityDiagramPanel>
 
 <TMLActivityDiagramPanel name="F_Symbol2ChipSeq" minX="10" maxX="1400" minY="10" maxY="900" >
-<COMPONENT type="1010" id="974" >
+<COMPONENT type="1010" id="952" >
 <cdparam x="321" y="132" />
 <sizeparam width="148" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
 <infoparam name="wait event" value="bit2symbol_evt_in(size) " />
-<TGConnectingPoint num="0" id="972" />
-<TGConnectingPoint num="1" id="973" />
+<TGConnectingPoint num="0" id="950" />
+<TGConnectingPoint num="1" id="951" />
 <extraparam>
 <Data eventName="bit2symbol_evt_in" nbOfParams="5" />
 <Param index="0" value="size" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1001" id="976" >
+<COMPONENT type="1001" id="954" >
 <cdparam x="385" y="354" />
 <sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
 <infoparam name="stop state" value="null" />
-<TGConnectingPoint num="0" id="975" />
+<TGConnectingPoint num="0" id="953" />
 </COMPONENT>
 
-<COMPONENT type="1008" id="979" >
+<COMPONENT type="1008" id="957" >
 <cdparam x="319" y="278" />
 <sizeparam width="152" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
 <infoparam name="send event" value="bit2symbol_evt_out(size)" />
-<TGConnectingPoint num="0" id="977" />
-<TGConnectingPoint num="1" id="978" />
+<TGConnectingPoint num="0" id="955" />
+<TGConnectingPoint num="1" id="956" />
 <accessibility />
 <extraparam>
 <Data eventName="bit2symbol_evt_out" nbOfParams="5" />
@@ -2871,1140 +2751,1260 @@ processing tasks
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1007" id="982" >
+<COMPONENT type="1007" id="960" >
 <cdparam x="338" y="204" />
 <sizeparam width="114" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
 <infoparam name="send request" value="bit2chip_req(size)" />
-<TGConnectingPoint num="0" id="980" />
-<TGConnectingPoint num="1" id="981" />
+<TGConnectingPoint num="0" id="958" />
+<TGConnectingPoint num="1" id="959" />
 <extraparam>
 <Data requestName="bit2chip_req" nbOfParams="5" />
 <Param index="0" value="size" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1000" id="984" >
+<COMPONENT type="1000" id="962" >
 <cdparam x="388" y="66" />
 <sizeparam width="15" height="15" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
 <infoparam name="start state" value="null" />
-<TGConnectingPoint num="0" id="983" />
+<TGConnectingPoint num="0" id="961" />
 </COMPONENT>
 
-<CONNECTOR type="115" id="985" >
+<CONNECTOR type="115" id="963" >
 <cdparam x="395" y="229" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="null" />
-<P1  x="395" y="229" id="981" />
-<P2  x="395" y="273" id="977" />
+<P1  x="395" y="229" id="959" />
+<P2  x="395" y="273" id="955" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="986" >
+<CONNECTOR type="115" id="964" >
 <cdparam x="395" y="303" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="null" />
-<P1  x="395" y="303" id="978" />
-<P2  x="395" y="349" id="975" />
+<P1  x="395" y="303" id="956" />
+<P2  x="395" y="349" id="953" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="987" >
+<CONNECTOR type="115" id="965" >
 <cdparam x="395" y="86" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="null" />
-<P1  x="395" y="86" id="983" />
-<P2  x="395" y="127" id="972" />
+<P1  x="395" y="86" id="961" />
+<P2  x="395" y="127" id="950" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="988" >
+<CONNECTOR type="115" id="966" >
 <cdparam x="435" y="149" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="null" />
-<P1  x="395" y="157" id="973" />
-<P2  x="395" y="199" id="980" />
+<P1  x="395" y="157" id="951" />
+<P2  x="395" y="199" id="958" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 
 </TMLActivityDiagramPanel>
 
-<TMLActivityDiagramPanel name="X_Chip2Octet" minX="10" maxX="1400" minY="10" maxY="900" >
-<COMPONENT type="1021" id="992" >
-<cdparam x="377" y="300" />
+<TMLActivityDiagramPanel name="X_Symbol2ChipSeq" minX="10" maxX="495" minY="10" maxY="467" >
+<COMPONENT type="1021" id="970" >
+<cdparam x="393" y="289" />
 <sizeparam width="10" height="30" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
+<cdrectangleparam minX="10" maxX="495" minY="10" maxY="467" />
 <infoparam name="execC" value="null" />
-<TGConnectingPoint num="0" id="990" />
-<TGConnectingPoint num="1" id="991" />
+<TGConnectingPoint num="0" id="968" />
+<TGConnectingPoint num="1" id="969" />
 </COMPONENT>
-<SUBCOMPONENT type="-1" id="989" >
-<father id="992" num="0" />
-<cdparam x="392" y="320" />
+<SUBCOMPONENT type="-1" id="967" >
+<father id="970" num="0" />
+<cdparam x="408" y="309" />
 <sizeparam width="23" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="-75" maxX="30" minY="10" maxY="30" />
 <infoparam name="value of the delay" value="size" />
 </SUBCOMPONENT>
 
-<COMPONENT type="1009" id="995" >
-<cdparam x="312" y="215" />
-<sizeparam width="140" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<COMPONENT type="1009" id="973" >
+<cdparam x="310" y="213" />
+<sizeparam width="176" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
-<infoparam name="read channel" value="chip2octet_ch_in(size) " />
-<TGConnectingPoint num="0" id="993" />
-<TGConnectingPoint num="1" id="994" />
+<cdrectangleparam minX="10" maxX="495" minY="10" maxY="467" />
+<infoparam name="read channel" value="symbol2ChipSeq_ch_in(size) " />
+<TGConnectingPoint num="0" id="971" />
+<TGConnectingPoint num="1" id="972" />
 <extraparam>
-<Data channelName="chip2octet_ch_in" nbOfSamples="size" secPattern="" isAttacker="No" />
+<Data channelName="symbol2ChipSeq_ch_in" nbOfSamples="size" secPattern="" isAttacker="No" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1001" id="997" >
-<cdparam x="372" y="449" />
+<COMPONENT type="1001" id="975" >
+<cdparam x="388" y="447" />
 <sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
+<cdrectangleparam minX="10" maxX="495" minY="10" maxY="467" />
 <infoparam name="stop state" value="null" />
-<TGConnectingPoint num="0" id="996" />
+<TGConnectingPoint num="0" id="974" />
 </COMPONENT>
 
-<COMPONENT type="1006" id="1000" >
-<cdparam x="310" y="377" />
-<sizeparam width="144" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<COMPONENT type="1006" id="978" >
+<cdparam x="308" y="375" />
+<sizeparam width="180" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
-<infoparam name="write channel" value="chip2octet_ch_out(size)" />
-<TGConnectingPoint num="0" id="998" />
-<TGConnectingPoint num="1" id="999" />
+<cdrectangleparam minX="10" maxX="495" minY="10" maxY="467" />
+<infoparam name="write channel" value="symbol2ChipSeq_ch_out(size)" />
+<TGConnectingPoint num="0" id="976" />
+<TGConnectingPoint num="1" id="977" />
 <extraparam>
-<Data channelName="chip2octet_ch_out" nbOfSamples="size" secPattern="" isAttacker="No" />
+<Data channelName="symbol2ChipSeq_ch_out" nbOfSamples="size" secPattern="" isAttacker="No" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1034" id="1003" >
-<cdparam x="329" y="139" />
+<COMPONENT type="1034" id="981" >
+<cdparam x="345" y="137" />
 <sizeparam width="106" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
+<cdrectangleparam minX="10" maxX="495" minY="10" maxY="467" />
 <infoparam name="read args" value="getReqArg (size)" />
-<TGConnectingPoint num="0" id="1001" />
-<TGConnectingPoint num="1" id="1002" />
+<TGConnectingPoint num="0" id="979" />
+<TGConnectingPoint num="1" id="980" />
 <extraparam>
 <Data nbOfParams="5" />
 <Param index="0" value="size" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1000" id="1005" >
-<cdparam x="375" y="76" />
+<COMPONENT type="1000" id="983" >
+<cdparam x="391" y="74" />
 <sizeparam width="15" height="15" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
+<cdrectangleparam minX="10" maxX="495" minY="10" maxY="467" />
 <infoparam name="start state" value="null" />
-<TGConnectingPoint num="0" id="1004" />
+<TGConnectingPoint num="0" id="982" />
 </COMPONENT>
 
-<CONNECTOR type="115" id="1006" >
-<cdparam x="525" y="171" />
+<CONNECTOR type="115" id="984" >
+<cdparam x="541" y="169" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="null" />
-<P1  x="382" y="240" id="994" />
-<P2  x="382" y="295" id="990" />
+<P1  x="398" y="238" id="972" />
+<P2  x="398" y="284" id="968" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1007" >
-<cdparam x="437" y="329" />
+<CONNECTOR type="115" id="985" >
+<cdparam x="453" y="327" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="null" />
-<P1  x="382" y="335" id="991" />
-<P2  x="382" y="372" id="998" />
+<P1  x="398" y="324" id="969" />
+<P2  x="398" y="370" id="976" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1008" >
-<cdparam x="382" y="96" />
+<CONNECTOR type="115" id="986" >
+<cdparam x="398" y="94" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="null" />
-<P1  x="382" y="96" id="1004" />
-<P2  x="382" y="134" id="1001" />
+<P1  x="398" y="94" id="982" />
+<P2  x="398" y="132" id="979" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1009" >
-<cdparam x="377" y="363" />
+<CONNECTOR type="115" id="987" >
+<cdparam x="393" y="361" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="null" />
-<P1  x="382" y="402" id="999" />
-<P2  x="382" y="444" id="996" />
+<P1  x="398" y="400" id="977" />
+<P2  x="398" y="442" id="974" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1010" >
-<cdparam x="382" y="181" />
+<CONNECTOR type="115" id="988" >
+<cdparam x="398" y="179" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="null" />
-<P1  x="382" y="164" id="1002" />
-<P2  x="382" y="210" id="993" />
+<P1  x="398" y="162" id="980" />
+<P2  x="398" y="208" id="971" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 
 </TMLActivityDiagramPanel>
 
 <TMLActivityDiagramPanel name="F_Chip2Octet" minX="10" maxX="1400" minY="10" maxY="900" >
-<COMPONENT type="1010" id="1013" >
+<COMPONENT type="1010" id="991" >
 <cdparam x="333" y="128" />
 <sizeparam width="156" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
 <infoparam name="wait event" value="chip2octet_evt_in(size) " />
-<TGConnectingPoint num="0" id="1011" />
-<TGConnectingPoint num="1" id="1012" />
+<TGConnectingPoint num="0" id="989" />
+<TGConnectingPoint num="1" id="990" />
 <extraparam>
 <Data eventName="chip2octet_evt_in" nbOfParams="5" />
 <Param index="0" value="size" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1001" id="1015" >
+<COMPONENT type="1001" id="993" >
 <cdparam x="401" y="350" />
 <sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
 <infoparam name="stop state" value="null" />
-<TGConnectingPoint num="0" id="1014" />
+<TGConnectingPoint num="0" id="992" />
 </COMPONENT>
 
-<COMPONENT type="1008" id="1018" >
+<COMPONENT type="1008" id="996" >
 <cdparam x="330" y="274" />
 <sizeparam width="162" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
 <infoparam name="send event" value="chip2octet_evt_out(size)" />
-<TGConnectingPoint num="0" id="1016" />
-<TGConnectingPoint num="1" id="1017" />
+<TGConnectingPoint num="0" id="994" />
+<TGConnectingPoint num="1" id="995" />
 <extraparam>
 <Data eventName="chip2octet_evt_out" nbOfParams="5" />
 <Param index="0" value="size" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1007" id="1021" >
+<COMPONENT type="1007" id="999" >
 <cdparam x="343" y="200" />
 <sizeparam width="137" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
 <infoparam name="send request" value="chip2octet_req(size)" />
-<TGConnectingPoint num="0" id="1019" />
-<TGConnectingPoint num="1" id="1020" />
+<TGConnectingPoint num="0" id="997" />
+<TGConnectingPoint num="1" id="998" />
 <extraparam>
 <Data requestName="chip2octet_req" nbOfParams="5" />
 <Param index="0" value="size" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1000" id="1023" >
+<COMPONENT type="1000" id="1001" >
 <cdparam x="404" y="62" />
 <sizeparam width="15" height="15" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
 <infoparam name="start state" value="null" />
-<TGConnectingPoint num="0" id="1022" />
+<TGConnectingPoint num="0" id="1000" />
 </COMPONENT>
 
-<CONNECTOR type="115" id="1024" >
+<CONNECTOR type="115" id="1002" >
 <cdparam x="411" y="225" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="null" />
-<P1  x="411" y="225" id="1020" />
-<P2  x="411" y="269" id="1016" />
+<P1  x="411" y="225" id="998" />
+<P2  x="411" y="269" id="994" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1025" >
+<CONNECTOR type="115" id="1003" >
 <cdparam x="411" y="299" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="null" />
-<P1  x="411" y="299" id="1017" />
-<P2  x="411" y="345" id="1014" />
+<P1  x="411" y="299" id="995" />
+<P2  x="411" y="345" id="992" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1026" >
+<CONNECTOR type="115" id="1004" >
 <cdparam x="411" y="82" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="null" />
-<P1  x="411" y="82" id="1022" />
-<P2  x="411" y="123" id="1011" />
+<P1  x="411" y="82" id="1000" />
+<P2  x="411" y="123" id="989" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1027" >
+<CONNECTOR type="115" id="1005" >
 <cdparam x="451" y="145" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="null" />
-<P1  x="411" y="153" id="1012" />
-<P2  x="411" y="195" id="1019" />
+<P1  x="411" y="153" id="990" />
+<P2  x="411" y="195" id="997" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 
 </TMLActivityDiagramPanel>
 
-<TMLActivityDiagramPanel name="X_CWL" minX="10" maxX="1400" minY="10" maxY="900" >
-<COMPONENT type="1013" id="1031" >
-<cdparam x="402" y="277" />
+<TMLActivityDiagramPanel name="X_Chip2Octet" minX="10" maxX="1400" minY="10" maxY="900" >
+<COMPONENT type="1021" id="1009" >
+<cdparam x="377" y="300" />
 <sizeparam width="10" height="30" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
-<infoparam name="execI" value="null" />
-<TGConnectingPoint num="0" id="1029" />
-<TGConnectingPoint num="1" id="1030" />
+<infoparam name="execC" value="null" />
+<TGConnectingPoint num="0" id="1007" />
+<TGConnectingPoint num="1" id="1008" />
 </COMPONENT>
-<SUBCOMPONENT type="-1" id="1028" >
-<father id="1031" num="0" />
-<cdparam x="417" y="297" />
+<SUBCOMPONENT type="-1" id="1006" >
+<father id="1009" num="0" />
+<cdparam x="392" y="320" />
 <sizeparam width="23" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="-75" maxX="30" minY="10" maxY="30" />
 <infoparam name="value of the delay" value="size" />
 </SUBCOMPONENT>
 
-<COMPONENT type="1009" id="1034" >
-<cdparam x="355" y="196" />
-<sizeparam width="104" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<COMPONENT type="1009" id="1012" >
+<cdparam x="312" y="215" />
+<sizeparam width="140" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
-<infoparam name="read channel" value="cwl_ch_in(size) " />
-<TGConnectingPoint num="0" id="1032" />
-<TGConnectingPoint num="1" id="1033" />
+<infoparam name="read channel" value="chip2octet_ch_in(size) " />
+<TGConnectingPoint num="0" id="1010" />
+<TGConnectingPoint num="1" id="1011" />
 <extraparam>
-<Data channelName="cwl_ch_in" nbOfSamples="size" secPattern="" isAttacker="No" />
+<Data channelName="chip2octet_ch_in" nbOfSamples="size" secPattern="" isAttacker="No" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1001" id="1036" >
-<cdparam x="397" y="430" />
+<COMPONENT type="1001" id="1014" >
+<cdparam x="372" y="449" />
 <sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
 <infoparam name="stop state" value="null" />
-<TGConnectingPoint num="0" id="1035" />
+<TGConnectingPoint num="0" id="1013" />
 </COMPONENT>
 
-<COMPONENT type="1006" id="1039" >
-<cdparam x="352" y="358" />
-<sizeparam width="110" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<COMPONENT type="1006" id="1017" >
+<cdparam x="310" y="377" />
+<sizeparam width="144" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
-<infoparam name="write channel" value="cwl_ch_out(size)" />
-<TGConnectingPoint num="0" id="1037" />
-<TGConnectingPoint num="1" id="1038" />
+<infoparam name="write channel" value="chip2octet_ch_out(size)" />
+<TGConnectingPoint num="0" id="1015" />
+<TGConnectingPoint num="1" id="1016" />
 <extraparam>
-<Data channelName="cwl_ch_out" nbOfSamples="size" secPattern="" isAttacker="No" />
+<Data channelName="chip2octet_ch_out" nbOfSamples="size" secPattern="" isAttacker="No" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1034" id="1042" >
-<cdparam x="351" y="120" />
-<sizeparam width="113" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<COMPONENT type="1034" id="1020" >
+<cdparam x="329" y="139" />
+<sizeparam width="106" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
 <infoparam name="read args" value="getReqArg (size)" />
-<TGConnectingPoint num="0" id="1040" />
-<TGConnectingPoint num="1" id="1041" />
+<TGConnectingPoint num="0" id="1018" />
+<TGConnectingPoint num="1" id="1019" />
 <extraparam>
 <Data nbOfParams="5" />
 <Param index="0" value="size" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1000" id="1044" >
-<cdparam x="400" y="57" />
+<COMPONENT type="1000" id="1022" >
+<cdparam x="375" y="76" />
 <sizeparam width="15" height="15" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
 <infoparam name="start state" value="null" />
-<TGConnectingPoint num="0" id="1043" />
+<TGConnectingPoint num="0" id="1021" />
 </COMPONENT>
 
-<CONNECTOR type="115" id="1045" >
-<cdparam x="550" y="152" />
+<CONNECTOR type="115" id="1023" >
+<cdparam x="525" y="171" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="null" />
-<P1  x="407" y="221" id="1033" />
-<P2  x="407" y="272" id="1029" />
+<P1  x="382" y="240" id="1011" />
+<P2  x="382" y="295" id="1007" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1046" >
-<cdparam x="462" y="310" />
+<CONNECTOR type="115" id="1024" >
+<cdparam x="437" y="329" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="null" />
-<P1  x="407" y="312" id="1030" />
-<P2  x="407" y="353" id="1037" />
+<P1  x="382" y="335" id="1008" />
+<P2  x="382" y="372" id="1015" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1047" >
-<cdparam x="407" y="77" />
+<CONNECTOR type="115" id="1025" >
+<cdparam x="382" y="96" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="null" />
-<P1  x="407" y="77" id="1043" />
-<P2  x="407" y="115" id="1040" />
+<P1  x="382" y="96" id="1021" />
+<P2  x="382" y="134" id="1018" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1048" >
-<cdparam x="402" y="344" />
+<CONNECTOR type="115" id="1026" >
+<cdparam x="377" y="363" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="null" />
-<P1  x="407" y="383" id="1038" />
-<P2  x="407" y="425" id="1035" />
+<P1  x="382" y="402" id="1016" />
+<P2  x="382" y="444" id="1013" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1049" >
-<cdparam x="407" y="162" />
+<CONNECTOR type="115" id="1027" >
+<cdparam x="382" y="181" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="null" />
-<P1  x="407" y="145" id="1041" />
-<P2  x="407" y="191" id="1032" />
+<P1  x="382" y="164" id="1019" />
+<P2  x="382" y="210" id="1010" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 
 </TMLActivityDiagramPanel>
 
 <TMLActivityDiagramPanel name="F_CWL" minX="10" maxX="1400" minY="10" maxY="900" >
-<COMPONENT type="1010" id="1052" >
+<COMPONENT type="1010" id="1030" >
 <cdparam x="363" y="134" />
 <sizeparam width="102" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
 <infoparam name="wait event" value="cwl_evt_in(size) " />
-<TGConnectingPoint num="0" id="1050" />
-<TGConnectingPoint num="1" id="1051" />
+<TGConnectingPoint num="0" id="1028" />
+<TGConnectingPoint num="1" id="1029" />
 <extraparam>
 <Data eventName="cwl_evt_in" nbOfParams="5" />
 <Param index="0" value="size" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1001" id="1054" >
+<COMPONENT type="1001" id="1032" >
 <cdparam x="407" y="397" />
 <sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
 <infoparam name="stop state" value="null" />
-<TGConnectingPoint num="0" id="1053" />
+<TGConnectingPoint num="0" id="1031" />
 </COMPONENT>
 
-<COMPONENT type="1007" id="1057" >
+<COMPONENT type="1007" id="1035" >
 <cdparam x="372" y="206" />
 <sizeparam width="85" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
 <infoparam name="send request" value="cwl_req(size)" />
-<TGConnectingPoint num="0" id="1055" />
-<TGConnectingPoint num="1" id="1056" />
+<TGConnectingPoint num="0" id="1033" />
+<TGConnectingPoint num="1" id="1034" />
 <extraparam>
 <Data requestName="cwl_req" nbOfParams="5" />
 <Param index="0" value="size" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1000" id="1059" >
+<COMPONENT type="1000" id="1037" >
 <cdparam x="407" y="68" />
 <sizeparam width="15" height="15" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
 <infoparam name="start state" value="null" />
-<TGConnectingPoint num="0" id="1058" />
+<TGConnectingPoint num="0" id="1036" />
 </COMPONENT>
 
-<COMPONENT type="1008" id="1062" >
+<COMPONENT type="1008" id="1040" >
 <cdparam x="356" y="333" />
 <sizeparam width="120" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
 <infoparam name="send event" value="cwl_evt_out_1(size)" />
-<TGConnectingPoint num="0" id="1060" />
-<TGConnectingPoint num="1" id="1061" />
+<TGConnectingPoint num="0" id="1038" />
+<TGConnectingPoint num="1" id="1039" />
 <extraparam>
 <Data eventName="cwl_evt_out_1" nbOfParams="5" />
 <Param index="0" value="size" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1008" id="1065" >
+<COMPONENT type="1008" id="1043" >
 <cdparam x="361" y="280" />
 <sizeparam width="106" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
 <infoparam name="send event" value="cwl_evt_out(size)" />
-<TGConnectingPoint num="0" id="1063" />
-<TGConnectingPoint num="1" id="1064" />
+<TGConnectingPoint num="0" id="1041" />
+<TGConnectingPoint num="1" id="1042" />
 <extraparam>
 <Data eventName="cwl_evt_out" nbOfParams="5" />
 <Param index="0" value="size" />
 </extraparam>
 </COMPONENT>
 
-<CONNECTOR type="115" id="1066" >
+<CONNECTOR type="115" id="1044" >
 <cdparam x="416" y="358" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="null" />
-<P1  x="416" y="358" id="1061" />
-<P2  x="417" y="392" id="1053" />
+<P1  x="416" y="358" id="1039" />
+<P2  x="417" y="392" id="1031" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1067" >
+<CONNECTOR type="115" id="1045" >
 <cdparam x="414" y="231" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="null" />
-<P1  x="414" y="231" id="1056" />
-<P2  x="414" y="275" id="1063" />
+<P1  x="414" y="231" id="1034" />
+<P2  x="414" y="275" id="1041" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1068" >
+<CONNECTOR type="115" id="1046" >
 <cdparam x="414" y="305" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="null" />
-<P1  x="414" y="305" id="1064" />
-<P2  x="416" y="328" id="1060" />
+<P1  x="414" y="305" id="1042" />
+<P2  x="416" y="328" id="1038" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1069" >
+<CONNECTOR type="115" id="1047" >
 <cdparam x="414" y="88" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="null" />
-<P1  x="414" y="88" id="1058" />
-<P2  x="414" y="129" id="1050" />
+<P1  x="414" y="88" id="1036" />
+<P2  x="414" y="129" id="1028" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1070" >
+<CONNECTOR type="115" id="1048" >
 <cdparam x="454" y="151" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="null" />
-<P1  x="414" y="159" id="1051" />
-<P2  x="414" y="201" id="1055" />
+<P1  x="414" y="159" id="1029" />
+<P2  x="414" y="201" id="1033" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 
 </TMLActivityDiagramPanel>
 
-<TMLActivityDiagramPanel name="X_Sink" minX="10" maxX="1400" minY="10" maxY="900" >
-<COMPONENT type="1013" id="1074" >
-<cdparam x="445" y="298" />
+<TMLActivityDiagramPanel name="X_CWL" minX="10" maxX="1400" minY="10" maxY="900" >
+<COMPONENT type="1013" id="1052" >
+<cdparam x="402" y="277" />
 <sizeparam width="10" height="30" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
 <infoparam name="execI" value="null" />
-<TGConnectingPoint num="0" id="1072" />
-<TGConnectingPoint num="1" id="1073" />
+<TGConnectingPoint num="0" id="1050" />
+<TGConnectingPoint num="1" id="1051" />
 </COMPONENT>
-<SUBCOMPONENT type="-1" id="1071" >
-<father id="1074" num="0" />
-<cdparam x="460" y="318" />
+<SUBCOMPONENT type="-1" id="1049" >
+<father id="1052" num="0" />
+<cdparam x="417" y="297" />
 <sizeparam width="23" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="-75" maxX="30" minY="10" maxY="30" />
 <infoparam name="value of the delay" value="size" />
 </SUBCOMPONENT>
 
-<COMPONENT type="1009" id="1077" >
-<cdparam x="395" y="217" />
-<sizeparam width="110" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<COMPONENT type="1009" id="1055" >
+<cdparam x="355" y="196" />
+<sizeparam width="104" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
-<infoparam name="read channel" value="sink_ch_in(size) " />
-<TGConnectingPoint num="0" id="1075" />
-<TGConnectingPoint num="1" id="1076" />
+<infoparam name="read channel" value="cwl_ch_in(size) " />
+<TGConnectingPoint num="0" id="1053" />
+<TGConnectingPoint num="1" id="1054" />
 <extraparam>
-<Data channelName="sink_ch_in" nbOfSamples="size" secPattern="" isAttacker="No" />
+<Data channelName="cwl_ch_in" nbOfSamples="size" secPattern="" isAttacker="No" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1001" id="1079" >
-<cdparam x="440" y="384" />
+<COMPONENT type="1001" id="1057" >
+<cdparam x="397" y="430" />
 <sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
 <infoparam name="stop state" value="null" />
-<TGConnectingPoint num="0" id="1078" />
+<TGConnectingPoint num="0" id="1056" />
 </COMPONENT>
 
-<COMPONENT type="1034" id="1082" >
-<cdparam x="394" y="141" />
+<COMPONENT type="1006" id="1060" >
+<cdparam x="352" y="358" />
+<sizeparam width="110" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
+<infoparam name="write channel" value="cwl_ch_out(size)" />
+<TGConnectingPoint num="0" id="1058" />
+<TGConnectingPoint num="1" id="1059" />
+<extraparam>
+<Data channelName="cwl_ch_out" nbOfSamples="size" secPattern="" isAttacker="No" />
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="1034" id="1063" >
+<cdparam x="351" y="120" />
 <sizeparam width="113" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
 <infoparam name="read args" value="getReqArg (size)" />
-<TGConnectingPoint num="0" id="1080" />
-<TGConnectingPoint num="1" id="1081" />
+<TGConnectingPoint num="0" id="1061" />
+<TGConnectingPoint num="1" id="1062" />
 <extraparam>
 <Data nbOfParams="5" />
 <Param index="0" value="size" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1000" id="1084" >
-<cdparam x="443" y="78" />
+<COMPONENT type="1000" id="1065" >
+<cdparam x="400" y="57" />
 <sizeparam width="15" height="15" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
 <infoparam name="start state" value="null" />
-<TGConnectingPoint num="0" id="1083" />
+<TGConnectingPoint num="0" id="1064" />
 </COMPONENT>
 
-<CONNECTOR type="115" id="1085" >
-<cdparam x="450" y="333" />
+<CONNECTOR type="115" id="1066" >
+<cdparam x="550" y="152" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="null" />
-<P1  x="450" y="333" id="1073" />
-<P2  x="450" y="379" id="1078" />
+<P1  x="407" y="221" id="1054" />
+<P2  x="407" y="272" id="1050" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1086" >
-<cdparam x="593" y="173" />
+<CONNECTOR type="115" id="1067" >
+<cdparam x="462" y="310" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="null" />
-<P1  x="450" y="242" id="1076" />
-<P2  x="450" y="293" id="1072" />
+<P1  x="407" y="312" id="1051" />
+<P2  x="407" y="353" id="1058" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1087" >
-<cdparam x="450" y="98" />
+<CONNECTOR type="115" id="1068" >
+<cdparam x="407" y="77" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="null" />
-<P1  x="450" y="98" id="1083" />
-<P2  x="450" y="136" id="1080" />
+<P1  x="407" y="77" id="1064" />
+<P2  x="407" y="115" id="1061" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1088" >
-<cdparam x="450" y="183" />
+<CONNECTOR type="115" id="1069" >
+<cdparam x="402" y="344" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="null" />
+<P1  x="407" y="383" id="1059" />
+<P2  x="407" y="425" id="1056" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="115" id="1070" >
+<cdparam x="407" y="162" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="null" />
-<P1  x="450" y="166" id="1081" />
-<P2  x="450" y="212" id="1075" />
+<P1  x="407" y="145" id="1062" />
+<P2  x="407" y="191" id="1053" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 
 </TMLActivityDiagramPanel>
 
 <TMLActivityDiagramPanel name="F_Sink" minX="10" maxX="1400" minY="10" maxY="900" >
-<COMPONENT type="1001" id="1090" >
+<COMPONENT type="1001" id="1072" >
 <cdparam x="396" y="355" />
 <sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
 <infoparam name="stop state" value="null" />
-<TGConnectingPoint num="0" id="1089" />
+<TGConnectingPoint num="0" id="1071" />
 </COMPONENT>
 
-<COMPONENT type="1007" id="1093" >
+<COMPONENT type="1007" id="1075" >
 <cdparam x="334" y="265" />
 <sizeparam width="145" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
 <infoparam name="send request" value="sink_req(size + size_1)" />
-<TGConnectingPoint num="0" id="1091" />
-<TGConnectingPoint num="1" id="1092" />
+<TGConnectingPoint num="0" id="1073" />
+<TGConnectingPoint num="1" id="1074" />
 <extraparam>
 <Data requestName="sink_req" nbOfParams="5" />
 <Param index="0" value="size + size_1" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1000" id="1095" >
+<COMPONENT type="1000" id="1077" >
 <cdparam x="400" y="73" />
 <sizeparam width="15" height="15" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
 <infoparam name="start state" value="null" />
-<TGConnectingPoint num="0" id="1094" />
+<TGConnectingPoint num="0" id="1076" />
 </COMPONENT>
 
-<COMPONENT type="1010" id="1098" >
+<COMPONENT type="1010" id="1080" >
 <cdparam x="340" y="187" />
 <sizeparam width="135" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
 <infoparam name="wait event" value="sink_evt_in_1(size_1) " />
-<TGConnectingPoint num="0" id="1096" />
-<TGConnectingPoint num="1" id="1097" />
+<TGConnectingPoint num="0" id="1078" />
+<TGConnectingPoint num="1" id="1079" />
 <extraparam>
 <Data eventName="sink_evt_in_1" nbOfParams="5" />
 <Param index="0" value="size_1" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1010" id="1101" >
+<COMPONENT type="1010" id="1083" >
 <cdparam x="354" y="139" />
 <sizeparam width="107" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
 <infoparam name="wait event" value="sink_evt_in(size) " />
-<TGConnectingPoint num="0" id="1099" />
-<TGConnectingPoint num="1" id="1100" />
+<TGConnectingPoint num="0" id="1081" />
+<TGConnectingPoint num="1" id="1082" />
 <extraparam>
 <Data eventName="sink_evt_in" nbOfParams="5" />
 <Param index="0" value="size" />
 </extraparam>
 </COMPONENT>
 
-<CONNECTOR type="115" id="1102" >
+<CONNECTOR type="115" id="1084" >
 <cdparam x="407" y="212" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="null" />
-<P1  x="407" y="212" id="1097" />
-<P2  x="406" y="260" id="1091" />
+<P1  x="407" y="212" id="1079" />
+<P2  x="406" y="260" id="1073" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1103" >
+<CONNECTOR type="115" id="1085" >
 <cdparam x="406" y="290" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="null" />
-<P1  x="406" y="290" id="1092" />
-<P2  x="406" y="350" id="1089" />
+<P1  x="406" y="290" id="1074" />
+<P2  x="406" y="350" id="1071" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1104" >
+<CONNECTOR type="115" id="1086" >
 <cdparam x="407" y="93" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="null" />
-<P1  x="407" y="93" id="1094" />
-<P2  x="407" y="134" id="1099" />
+<P1  x="407" y="93" id="1076" />
+<P2  x="407" y="134" id="1081" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1105" >
+<CONNECTOR type="115" id="1087" >
 <cdparam x="447" y="156" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="null" />
-<P1  x="407" y="164" id="1100" />
-<P2  x="407" y="182" id="1096" />
+<P1  x="407" y="164" id="1082" />
+<P2  x="407" y="182" id="1078" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 
 </TMLActivityDiagramPanel>
 
-<TMLActivityDiagramPanel name="X_CWP_Q" minX="10" maxX="1400" minY="10" maxY="900" >
-<COMPONENT type="1013" id="1109" >
-<cdparam x="365" y="275" />
+<TMLActivityDiagramPanel name="X_Sink" minX="10" maxX="1400" minY="10" maxY="900" >
+<COMPONENT type="1013" id="1091" >
+<cdparam x="445" y="298" />
 <sizeparam width="10" height="30" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
 <infoparam name="execI" value="null" />
-<TGConnectingPoint num="0" id="1107" />
-<TGConnectingPoint num="1" id="1108" />
+<TGConnectingPoint num="0" id="1089" />
+<TGConnectingPoint num="1" id="1090" />
 </COMPONENT>
-<SUBCOMPONENT type="-1" id="1106" >
-<father id="1109" num="0" />
-<cdparam x="380" y="295" />
+<SUBCOMPONENT type="-1" id="1088" >
+<father id="1091" num="0" />
+<cdparam x="460" y="318" />
 <sizeparam width="23" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="-75" maxX="30" minY="10" maxY="30" />
 <infoparam name="value of the delay" value="size" />
 </SUBCOMPONENT>
 
-<COMPONENT type="1009" id="1112" >
-<cdparam x="314" y="194" />
-<sizeparam width="112" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<COMPONENT type="1009" id="1094" >
+<cdparam x="395" y="217" />
+<sizeparam width="110" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
-<infoparam name="read channel" value="cwpQ_ch_in(size) " />
-<TGConnectingPoint num="0" id="1110" />
-<TGConnectingPoint num="1" id="1111" />
+<infoparam name="read channel" value="sink_ch_in(size) " />
+<TGConnectingPoint num="0" id="1092" />
+<TGConnectingPoint num="1" id="1093" />
 <extraparam>
-<Data channelName="cwpQ_ch_in" nbOfSamples="size" secPattern="" isAttacker="No" />
+<Data channelName="sink_ch_in" nbOfSamples="size" secPattern="" isAttacker="No" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1001" id="1114" >
-<cdparam x="360" y="428" />
+<COMPONENT type="1001" id="1096" >
+<cdparam x="440" y="384" />
 <sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
 <infoparam name="stop state" value="null" />
-<TGConnectingPoint num="0" id="1113" />
-</COMPONENT>
-
-<COMPONENT type="1006" id="1117" >
-<cdparam x="312" y="356" />
-<sizeparam width="116" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<hidden value="false" />
-<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
-<infoparam name="write channel" value="cwpQ_ch_out(size)" />
-<TGConnectingPoint num="0" id="1115" />
-<TGConnectingPoint num="1" id="1116" />
-<extraparam>
-<Data channelName="cwpQ_ch_out" nbOfSamples="size" secPattern="" isAttacker="No" />
-</extraparam>
+<TGConnectingPoint num="0" id="1095" />
 </COMPONENT>
 
-<COMPONENT type="1034" id="1120" >
-<cdparam x="317" y="118" />
-<sizeparam width="106" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<COMPONENT type="1034" id="1099" >
+<cdparam x="394" y="141" />
+<sizeparam width="113" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
 <infoparam name="read args" value="getReqArg (size)" />
-<TGConnectingPoint num="0" id="1118" />
-<TGConnectingPoint num="1" id="1119" />
+<TGConnectingPoint num="0" id="1097" />
+<TGConnectingPoint num="1" id="1098" />
 <extraparam>
 <Data nbOfParams="5" />
 <Param index="0" value="size" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1000" id="1122" >
-<cdparam x="363" y="55" />
+<COMPONENT type="1000" id="1101" >
+<cdparam x="443" y="78" />
 <sizeparam width="15" height="15" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
 <infoparam name="start state" value="null" />
-<TGConnectingPoint num="0" id="1121" />
+<TGConnectingPoint num="0" id="1100" />
 </COMPONENT>
 
-<CONNECTOR type="115" id="1123" >
-<cdparam x="513" y="150" />
-<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<infoparam name="connector" value="null" />
-<P1  x="370" y="219" id="1111" />
-<P2  x="370" y="270" id="1107" />
-<AutomaticDrawing  data="true" />
-</CONNECTOR>
-<CONNECTOR type="115" id="1124" >
-<cdparam x="425" y="308" />
+<CONNECTOR type="115" id="1102" >
+<cdparam x="450" y="333" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="null" />
-<P1  x="370" y="310" id="1108" />
-<P2  x="370" y="351" id="1115" />
+<P1  x="450" y="333" id="1090" />
+<P2  x="450" y="379" id="1095" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1125" >
-<cdparam x="370" y="75" />
+<CONNECTOR type="115" id="1103" >
+<cdparam x="593" y="173" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="null" />
-<P1  x="370" y="75" id="1121" />
-<P2  x="370" y="113" id="1118" />
+<P1  x="450" y="242" id="1093" />
+<P2  x="450" y="293" id="1089" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1126" >
-<cdparam x="365" y="342" />
+<CONNECTOR type="115" id="1104" >
+<cdparam x="450" y="98" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="null" />
-<P1  x="370" y="381" id="1116" />
-<P2  x="370" y="423" id="1113" />
+<P1  x="450" y="98" id="1100" />
+<P2  x="450" y="136" id="1097" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1127" >
-<cdparam x="370" y="160" />
+<CONNECTOR type="115" id="1105" >
+<cdparam x="450" y="183" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="null" />
-<P1  x="370" y="143" id="1119" />
-<P2  x="370" y="189" id="1110" />
+<P1  x="450" y="166" id="1098" />
+<P2  x="450" y="212" id="1092" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 
 </TMLActivityDiagramPanel>
 
 <TMLActivityDiagramPanel name="F_CWP_Q" minX="10" maxX="1400" minY="10" maxY="900" >
-<COMPONENT type="1010" id="1130" >
+<COMPONENT type="1010" id="1108" >
 <cdparam x="342" y="117" />
 <sizeparam width="122" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
 <infoparam name="wait event" value="cwpQ_evt_in(size) " />
-<TGConnectingPoint num="0" id="1128" />
-<TGConnectingPoint num="1" id="1129" />
+<TGConnectingPoint num="0" id="1106" />
+<TGConnectingPoint num="1" id="1107" />
 <extraparam>
 <Data eventName="cwpQ_evt_in" nbOfParams="5" />
 <Param index="0" value="size" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1001" id="1132" >
+<COMPONENT type="1001" id="1110" >
 <cdparam x="393" y="339" />
 <sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
 <infoparam name="stop state" value="null" />
-<TGConnectingPoint num="0" id="1131" />
+<TGConnectingPoint num="0" id="1109" />
 </COMPONENT>
 
-<COMPONENT type="1008" id="1135" >
+<COMPONENT type="1008" id="1113" >
 <cdparam x="339" y="263" />
 <sizeparam width="128" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
 <infoparam name="send event" value="cwpQ_evt_out(size)" />
-<TGConnectingPoint num="0" id="1133" />
-<TGConnectingPoint num="1" id="1134" />
+<TGConnectingPoint num="0" id="1111" />
+<TGConnectingPoint num="1" id="1112" />
 <extraparam>
 <Data eventName="cwpQ_evt_out" nbOfParams="5" />
 <Param index="0" value="size" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1007" id="1138" >
+<COMPONENT type="1007" id="1116" >
 <cdparam x="352" y="189" />
 <sizeparam width="103" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
 <infoparam name="send request" value="cwpQ_req(size)" />
-<TGConnectingPoint num="0" id="1136" />
-<TGConnectingPoint num="1" id="1137" />
+<TGConnectingPoint num="0" id="1114" />
+<TGConnectingPoint num="1" id="1115" />
 <extraparam>
 <Data requestName="cwpQ_req" nbOfParams="5" />
 <Param index="0" value="size" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1000" id="1140" >
+<COMPONENT type="1000" id="1118" >
 <cdparam x="396" y="51" />
 <sizeparam width="15" height="15" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
 <infoparam name="start state" value="null" />
-<TGConnectingPoint num="0" id="1139" />
+<TGConnectingPoint num="0" id="1117" />
 </COMPONENT>
 
-<CONNECTOR type="115" id="1141" >
+<CONNECTOR type="115" id="1119" >
 <cdparam x="403" y="214" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="null" />
-<P1  x="403" y="214" id="1137" />
-<P2  x="403" y="258" id="1133" />
+<P1  x="403" y="214" id="1115" />
+<P2  x="403" y="258" id="1111" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1142" >
+<CONNECTOR type="115" id="1120" >
 <cdparam x="403" y="288" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="null" />
-<P1  x="403" y="288" id="1134" />
-<P2  x="403" y="334" id="1131" />
+<P1  x="403" y="288" id="1112" />
+<P2  x="403" y="334" id="1109" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1143" >
+<CONNECTOR type="115" id="1121" >
 <cdparam x="403" y="71" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="null" />
-<P1  x="403" y="71" id="1139" />
-<P2  x="403" y="112" id="1128" />
+<P1  x="403" y="71" id="1117" />
+<P2  x="403" y="112" id="1106" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1144" >
+<CONNECTOR type="115" id="1122" >
 <cdparam x="443" y="134" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="null" />
-<P1  x="403" y="142" id="1129" />
-<P2  x="403" y="184" id="1136" />
+<P1  x="403" y="142" id="1107" />
+<P2  x="403" y="184" id="1114" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 
 </TMLActivityDiagramPanel>
 
-<TMLActivityDiagramPanel name="X_CWP_I" minX="10" maxX="1400" minY="10" maxY="900" >
-<COMPONENT type="1013" id="1148" >
-<cdparam x="369" y="290" />
+<TMLActivityDiagramPanel name="X_CWP_Q" minX="10" maxX="1400" minY="10" maxY="900" >
+<COMPONENT type="1013" id="1126" >
+<cdparam x="365" y="275" />
 <sizeparam width="10" height="30" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
 <infoparam name="execI" value="null" />
-<TGConnectingPoint num="0" id="1146" />
-<TGConnectingPoint num="1" id="1147" />
+<TGConnectingPoint num="0" id="1124" />
+<TGConnectingPoint num="1" id="1125" />
 </COMPONENT>
-<SUBCOMPONENT type="-1" id="1145" >
-<father id="1148" num="0" />
-<cdparam x="384" y="310" />
+<SUBCOMPONENT type="-1" id="1123" >
+<father id="1126" num="0" />
+<cdparam x="380" y="295" />
 <sizeparam width="23" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="-75" maxX="30" minY="10" maxY="30" />
 <infoparam name="value of the delay" value="size" />
 </SUBCOMPONENT>
 
-<COMPONENT type="1009" id="1151" >
-<cdparam x="318" y="209" />
+<COMPONENT type="1009" id="1129" >
+<cdparam x="314" y="194" />
 <sizeparam width="112" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
-<infoparam name="read channel" value="cwpI_ch_in(size) " />
-<TGConnectingPoint num="0" id="1149" />
-<TGConnectingPoint num="1" id="1150" />
+<infoparam name="read channel" value="cwpQ_ch_in(size) " />
+<TGConnectingPoint num="0" id="1127" />
+<TGConnectingPoint num="1" id="1128" />
 <extraparam>
-<Data channelName="cwpI_ch_in" nbOfSamples="size" secPattern="" isAttacker="No" />
+<Data channelName="cwpQ_ch_in" nbOfSamples="size" secPattern="" isAttacker="No" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1001" id="1153" >
-<cdparam x="364" y="443" />
+<COMPONENT type="1001" id="1131" >
+<cdparam x="360" y="428" />
 <sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
 <infoparam name="stop state" value="null" />
-<TGConnectingPoint num="0" id="1152" />
+<TGConnectingPoint num="0" id="1130" />
 </COMPONENT>
 
-<COMPONENT type="1006" id="1156" >
-<cdparam x="315" y="371" />
-<sizeparam width="118" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<COMPONENT type="1006" id="1134" >
+<cdparam x="312" y="356" />
+<sizeparam width="116" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
-<infoparam name="write channel" value="cwpI_ch_out(size)" />
-<TGConnectingPoint num="0" id="1154" />
-<TGConnectingPoint num="1" id="1155" />
+<infoparam name="write channel" value="cwpQ_ch_out(size)" />
+<TGConnectingPoint num="0" id="1132" />
+<TGConnectingPoint num="1" id="1133" />
 <extraparam>
-<Data channelName="cwpI_ch_out" nbOfSamples="size" secPattern="" isAttacker="No" />
+<Data channelName="cwpQ_ch_out" nbOfSamples="size" secPattern="" isAttacker="No" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1034" id="1159" >
-<cdparam x="318" y="133" />
-<sizeparam width="113" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<COMPONENT type="1034" id="1137" >
+<cdparam x="317" y="118" />
+<sizeparam width="106" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
 <infoparam name="read args" value="getReqArg (size)" />
-<TGConnectingPoint num="0" id="1157" />
-<TGConnectingPoint num="1" id="1158" />
+<TGConnectingPoint num="0" id="1135" />
+<TGConnectingPoint num="1" id="1136" />
 <extraparam>
 <Data nbOfParams="5" />
 <Param index="0" value="size" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1000" id="1161" >
-<cdparam x="367" y="70" />
+<COMPONENT type="1000" id="1139" >
+<cdparam x="363" y="55" />
 <sizeparam width="15" height="15" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
 <infoparam name="start state" value="null" />
-<TGConnectingPoint num="0" id="1160" />
+<TGConnectingPoint num="0" id="1138" />
 </COMPONENT>
 
-<CONNECTOR type="115" id="1162" >
-<cdparam x="517" y="165" />
+<CONNECTOR type="115" id="1140" >
+<cdparam x="513" y="150" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="null" />
-<P1  x="374" y="234" id="1150" />
-<P2  x="374" y="285" id="1146" />
+<P1  x="370" y="219" id="1128" />
+<P2  x="370" y="270" id="1124" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1163" >
-<cdparam x="429" y="323" />
+<CONNECTOR type="115" id="1141" >
+<cdparam x="425" y="308" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="null" />
-<P1  x="374" y="325" id="1147" />
-<P2  x="374" y="366" id="1154" />
+<P1  x="370" y="310" id="1125" />
+<P2  x="370" y="351" id="1132" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1164" >
-<cdparam x="374" y="90" />
+<CONNECTOR type="115" id="1142" >
+<cdparam x="370" y="75" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="null" />
-<P1  x="374" y="90" id="1160" />
-<P2  x="374" y="128" id="1157" />
+<P1  x="370" y="75" id="1138" />
+<P2  x="370" y="113" id="1135" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1165" >
-<cdparam x="369" y="357" />
+<CONNECTOR type="115" id="1143" >
+<cdparam x="365" y="342" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="null" />
-<P1  x="374" y="396" id="1155" />
-<P2  x="374" y="438" id="1152" />
+<P1  x="370" y="381" id="1133" />
+<P2  x="370" y="423" id="1130" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1166" >
-<cdparam x="374" y="175" />
+<CONNECTOR type="115" id="1144" >
+<cdparam x="370" y="160" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="null" />
+<P1  x="370" y="143" id="1136" />
+<P2  x="370" y="189" id="1127" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+
+</TMLActivityDiagramPanel>
+
+<TMLActivityDiagramPanel name="F_CWP_I" minX="10" maxX="1400" minY="10" maxY="900" >
+<COMPONENT type="1010" id="1147" >
+<cdparam x="324" y="132" />
+<sizeparam width="110" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
+<infoparam name="wait event" value="cwpI_evt_in(size) " />
+<TGConnectingPoint num="0" id="1145" />
+<TGConnectingPoint num="1" id="1146" />
+<extraparam>
+<Data eventName="cwpI_evt_in" nbOfParams="5" />
+<Param index="0" value="size" />
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="1001" id="1149" >
+<cdparam x="369" y="354" />
+<sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
+<infoparam name="stop state" value="null" />
+<TGConnectingPoint num="0" id="1148" />
+</COMPONENT>
+
+<COMPONENT type="1008" id="1152" >
+<cdparam x="322" y="278" />
+<sizeparam width="114" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
+<infoparam name="send event" value="cwpI_evt_out(size)" />
+<TGConnectingPoint num="0" id="1150" />
+<TGConnectingPoint num="1" id="1151" />
+<extraparam>
+<Data eventName="cwpI_evt_out" nbOfParams="5" />
+<Param index="0" value="size" />
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="1007" id="1155" >
+<cdparam x="333" y="204" />
+<sizeparam width="93" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
+<infoparam name="send request" value="cwpI_req(size)" />
+<TGConnectingPoint num="0" id="1153" />
+<TGConnectingPoint num="1" id="1154" />
+<extraparam>
+<Data requestName="cwpI_req" nbOfParams="5" />
+<Param index="0" value="size" />
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="1000" id="1157" >
+<cdparam x="372" y="66" />
+<sizeparam width="15" height="15" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
+<infoparam name="start state" value="null" />
+<TGConnectingPoint num="0" id="1156" />
+</COMPONENT>
+
+<CONNECTOR type="115" id="1158" >
+<cdparam x="379" y="229" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="null" />
+<P1  x="379" y="229" id="1154" />
+<P2  x="379" y="273" id="1150" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="115" id="1159" >
+<cdparam x="379" y="303" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="null" />
+<P1  x="379" y="303" id="1151" />
+<P2  x="379" y="349" id="1148" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="115" id="1160" >
+<cdparam x="379" y="86" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="null" />
-<P1  x="374" y="158" id="1158" />
-<P2  x="374" y="204" id="1149" />
+<P1  x="379" y="86" id="1156" />
+<P2  x="379" y="127" id="1145" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="115" id="1161" >
+<cdparam x="419" y="149" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="null" />
+<P1  x="379" y="157" id="1146" />
+<P2  x="379" y="199" id="1153" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 
 </TMLActivityDiagramPanel>
 
-<TMLActivityDiagramPanel name="F_CWP_I" minX="10" maxX="1400" minY="10" maxY="900" >
-<COMPONENT type="1010" id="1169" >
-<cdparam x="324" y="132" />
-<sizeparam width="110" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<TMLActivityDiagramPanel name="X_CWP_I" minX="10" maxX="1400" minY="10" maxY="900" >
+<COMPONENT type="1013" id="1165" >
+<cdparam x="369" y="290" />
+<sizeparam width="10" height="30" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
+<infoparam name="execI" value="null" />
+<TGConnectingPoint num="0" id="1163" />
+<TGConnectingPoint num="1" id="1164" />
+</COMPONENT>
+<SUBCOMPONENT type="-1" id="1162" >
+<father id="1165" num="0" />
+<cdparam x="384" y="310" />
+<sizeparam width="23" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="-75" maxX="30" minY="10" maxY="30" />
+<infoparam name="value of the delay" value="size" />
+</SUBCOMPONENT>
+
+<COMPONENT type="1009" id="1168" >
+<cdparam x="318" y="209" />
+<sizeparam width="112" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
-<infoparam name="wait event" value="cwpI_evt_in(size) " />
-<TGConnectingPoint num="0" id="1167" />
-<TGConnectingPoint num="1" id="1168" />
+<infoparam name="read channel" value="cwpI_ch_in(size) " />
+<TGConnectingPoint num="0" id="1166" />
+<TGConnectingPoint num="1" id="1167" />
 <extraparam>
-<Data eventName="cwpI_evt_in" nbOfParams="5" />
-<Param index="0" value="size" />
+<Data channelName="cwpI_ch_in" nbOfSamples="size" secPattern="" isAttacker="No" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1001" id="1171" >
-<cdparam x="369" y="354" />
+<COMPONENT type="1001" id="1170" >
+<cdparam x="364" y="443" />
 <sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
 <infoparam name="stop state" value="null" />
-<TGConnectingPoint num="0" id="1170" />
+<TGConnectingPoint num="0" id="1169" />
 </COMPONENT>
 
-<COMPONENT type="1008" id="1174" >
-<cdparam x="322" y="278" />
-<sizeparam width="114" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<COMPONENT type="1006" id="1173" >
+<cdparam x="315" y="371" />
+<sizeparam width="118" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
-<infoparam name="send event" value="cwpI_evt_out(size)" />
-<TGConnectingPoint num="0" id="1172" />
-<TGConnectingPoint num="1" id="1173" />
+<infoparam name="write channel" value="cwpI_ch_out(size)" />
+<TGConnectingPoint num="0" id="1171" />
+<TGConnectingPoint num="1" id="1172" />
 <extraparam>
-<Data eventName="cwpI_evt_out" nbOfParams="5" />
-<Param index="0" value="size" />
+<Data channelName="cwpI_ch_out" nbOfSamples="size" secPattern="" isAttacker="No" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1007" id="1177" >
-<cdparam x="333" y="204" />
-<sizeparam width="93" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<COMPONENT type="1034" id="1176" >
+<cdparam x="318" y="133" />
+<sizeparam width="113" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
-<infoparam name="send request" value="cwpI_req(size)" />
-<TGConnectingPoint num="0" id="1175" />
-<TGConnectingPoint num="1" id="1176" />
+<infoparam name="read args" value="getReqArg (size)" />
+<TGConnectingPoint num="0" id="1174" />
+<TGConnectingPoint num="1" id="1175" />
 <extraparam>
-<Data requestName="cwpI_req" nbOfParams="5" />
+<Data nbOfParams="5" />
 <Param index="0" value="size" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1000" id="1179" >
-<cdparam x="372" y="66" />
+<COMPONENT type="1000" id="1178" >
+<cdparam x="367" y="70" />
 <sizeparam width="15" height="15" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
 <infoparam name="start state" value="null" />
-<TGConnectingPoint num="0" id="1178" />
+<TGConnectingPoint num="0" id="1177" />
 </COMPONENT>
 
+<CONNECTOR type="115" id="1179" >
+<cdparam x="517" y="165" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="null" />
+<P1  x="374" y="234" id="1167" />
+<P2  x="374" y="285" id="1163" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
 <CONNECTOR type="115" id="1180" >
-<cdparam x="379" y="229" />
+<cdparam x="429" y="323" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="null" />
-<P1  x="379" y="229" id="1176" />
-<P2  x="379" y="273" id="1172" />
+<P1  x="374" y="325" id="1164" />
+<P2  x="374" y="366" id="1171" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="115" id="1181" >
-<cdparam x="379" y="303" />
+<cdparam x="374" y="90" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="null" />
-<P1  x="379" y="303" id="1173" />
-<P2  x="379" y="349" id="1170" />
+<P1  x="374" y="90" id="1177" />
+<P2  x="374" y="128" id="1174" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="115" id="1182" >
-<cdparam x="379" y="86" />
+<cdparam x="369" y="357" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="null" />
-<P1  x="379" y="86" id="1178" />
-<P2  x="379" y="127" id="1167" />
+<P1  x="374" y="396" id="1172" />
+<P2  x="374" y="438" id="1169" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="115" id="1183" >
-<cdparam x="419" y="149" />
+<cdparam x="374" y="175" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="null" />
-<P1  x="379" y="157" id="1168" />
-<P2  x="379" y="199" id="1175" />
+<P1  x="374" y="158" id="1175" />
+<P2  x="374" y="204" id="1166" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 
@@ -10956,11 +10956,11 @@ sequence diagram.
 </COMPONENT>
 <SUBCOMPONENT type="1101" id="5178" >
 <father id="5266" num="0" />
-<cdparam x="1686" y="522" />
-<sizeparam width="156" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="1465" y="339" />
+<sizeparam width="164" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="261" minY="0" maxY="253" />
-<infoparam name="TGComponent" value="Zigbee_TX::F_CWP_I" />
+<cdrectangleparam minX="0" maxX="253" minY="0" maxY="253" />
+<infoparam name="TGComponent" value="Zigbee_TX::F_Source" />
 <TGConnectingPoint num="0" id="5170" />
 <TGConnectingPoint num="1" id="5171" />
 <TGConnectingPoint num="2" id="5172" />
@@ -10970,16 +10970,16 @@ sequence diagram.
 <TGConnectingPoint num="6" id="5176" />
 <TGConnectingPoint num="7" id="5177" />
 <extraparam>
-<info value="Zigbee_TX::F_CWP_I" taskName="F_CWP_I" referenceTaskName="Zigbee_TX" priority="0" operation="F_CWP_I" fatherComponentMECType="0" />
+<info value="Zigbee_TX::F_Source" taskName="F_Source" referenceTaskName="Zigbee_TX" priority="0" operation="F_Source" fatherComponentMECType="0" />
 </extraparam>
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1101" id="5187" >
 <father id="5266" num="1" />
-<cdparam x="1685" y="459" />
-<sizeparam width="162" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="1466" y="395" />
+<sizeparam width="164" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="255" minY="0" maxY="253" />
-<infoparam name="TGComponent" value="Zigbee_TX::F_CWP_Q" />
+<cdrectangleparam minX="0" maxX="253" minY="0" maxY="253" />
+<infoparam name="TGComponent" value="Zigbee_TX::X_Source" />
 <TGConnectingPoint num="0" id="5179" />
 <TGConnectingPoint num="1" id="5180" />
 <TGConnectingPoint num="2" id="5181" />
@@ -10989,16 +10989,16 @@ sequence diagram.
 <TGConnectingPoint num="6" id="5185" />
 <TGConnectingPoint num="7" id="5186" />
 <extraparam>
-<info value="Zigbee_TX::F_CWP_Q" taskName="F_CWP_Q" referenceTaskName="Zigbee_TX" priority="0" operation="F_CWP_Q" fatherComponentMECType="0" />
+<info value="Zigbee_TX::X_Source" taskName="X_Source" referenceTaskName="Zigbee_TX" priority="0" operation="X_Source" fatherComponentMECType="0" />
 </extraparam>
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1101" id="5196" >
 <father id="5266" num="2" />
-<cdparam x="1691" y="345" />
-<sizeparam width="145" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="1466" y="456" />
+<sizeparam width="223" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="272" minY="0" maxY="253" />
-<infoparam name="TGComponent" value="Zigbee_TX::F_CWL" />
+<cdrectangleparam minX="0" maxX="194" minY="0" maxY="253" />
+<infoparam name="TGComponent" value="Zigbee_TX::F_Symbol2ChipSeq" />
 <TGConnectingPoint num="0" id="5188" />
 <TGConnectingPoint num="1" id="5189" />
 <TGConnectingPoint num="2" id="5190" />
@@ -11008,16 +11008,16 @@ sequence diagram.
 <TGConnectingPoint num="6" id="5194" />
 <TGConnectingPoint num="7" id="5195" />
 <extraparam>
-<info value="Zigbee_TX::F_CWL" taskName="F_CWL" referenceTaskName="Zigbee_TX" priority="0" operation="F_CWL" fatherComponentMECType="0" />
+<info value="Zigbee_TX::F_Symbol2ChipSeq" taskName="F_Symbol2ChipSeq" referenceTaskName="Zigbee_TX" priority="0" operation="F_Symbol2ChipSeq" fatherComponentMECType="0" />
 </extraparam>
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1101" id="5205" >
 <father id="5266" num="3" />
-<cdparam x="1688" y="405" />
-<sizeparam width="146" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="1466" y="518" />
+<sizeparam width="189" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="271" minY="0" maxY="253" />
-<infoparam name="TGComponent" value="Zigbee_TX::F_Sink" />
+<cdrectangleparam minX="0" maxX="228" minY="0" maxY="253" />
+<infoparam name="TGComponent" value="Zigbee_TX::X_Chip2Octet" />
 <TGConnectingPoint num="0" id="5197" />
 <TGConnectingPoint num="1" id="5198" />
 <TGConnectingPoint num="2" id="5199" />
@@ -11027,16 +11027,16 @@ sequence diagram.
 <TGConnectingPoint num="6" id="5203" />
 <TGConnectingPoint num="7" id="5204" />
 <extraparam>
-<info value="Zigbee_TX::F_Sink" taskName="F_Sink" referenceTaskName="Zigbee_TX" priority="0" operation="F_Sink" fatherComponentMECType="0" />
+<info value="Zigbee_TX::X_Chip2Octet" taskName="X_Chip2Octet" referenceTaskName="Zigbee_TX" priority="0" operation="X_Chip2Octet" fatherComponentMECType="0" />
 </extraparam>
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1101" id="5214" >
 <father id="5266" num="4" />
-<cdparam x="1466" y="518" />
-<sizeparam width="189" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="1688" y="405" />
+<sizeparam width="146" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="228" minY="0" maxY="253" />
-<infoparam name="TGComponent" value="Zigbee_TX::X_Chip2Octet" />
+<cdrectangleparam minX="0" maxX="271" minY="0" maxY="253" />
+<infoparam name="TGComponent" value="Zigbee_TX::F_Sink" />
 <TGConnectingPoint num="0" id="5206" />
 <TGConnectingPoint num="1" id="5207" />
 <TGConnectingPoint num="2" id="5208" />
@@ -11046,16 +11046,16 @@ sequence diagram.
 <TGConnectingPoint num="6" id="5212" />
 <TGConnectingPoint num="7" id="5213" />
 <extraparam>
-<info value="Zigbee_TX::X_Chip2Octet" taskName="X_Chip2Octet" referenceTaskName="Zigbee_TX" priority="0" operation="X_Chip2Octet" fatherComponentMECType="0" />
+<info value="Zigbee_TX::F_Sink" taskName="F_Sink" referenceTaskName="Zigbee_TX" priority="0" operation="F_Sink" fatherComponentMECType="0" />
 </extraparam>
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1101" id="5223" >
 <father id="5266" num="5" />
-<cdparam x="1466" y="456" />
-<sizeparam width="223" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="1691" y="345" />
+<sizeparam width="145" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="194" minY="0" maxY="253" />
-<infoparam name="TGComponent" value="Zigbee_TX::F_Symbol2ChipSeq" />
+<cdrectangleparam minX="0" maxX="272" minY="0" maxY="253" />
+<infoparam name="TGComponent" value="Zigbee_TX::F_CWL" />
 <TGConnectingPoint num="0" id="5215" />
 <TGConnectingPoint num="1" id="5216" />
 <TGConnectingPoint num="2" id="5217" />
@@ -11065,16 +11065,16 @@ sequence diagram.
 <TGConnectingPoint num="6" id="5221" />
 <TGConnectingPoint num="7" id="5222" />
 <extraparam>
-<info value="Zigbee_TX::F_Symbol2ChipSeq" taskName="F_Symbol2ChipSeq" referenceTaskName="Zigbee_TX" priority="0" operation="F_Symbol2ChipSeq" fatherComponentMECType="0" />
+<info value="Zigbee_TX::F_CWL" taskName="F_CWL" referenceTaskName="Zigbee_TX" priority="0" operation="F_CWL" fatherComponentMECType="0" />
 </extraparam>
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1101" id="5232" >
 <father id="5266" num="6" />
-<cdparam x="1466" y="395" />
-<sizeparam width="164" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="1685" y="459" />
+<sizeparam width="162" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="253" minY="0" maxY="253" />
-<infoparam name="TGComponent" value="Zigbee_TX::X_Source" />
+<cdrectangleparam minX="0" maxX="255" minY="0" maxY="253" />
+<infoparam name="TGComponent" value="Zigbee_TX::F_CWP_Q" />
 <TGConnectingPoint num="0" id="5224" />
 <TGConnectingPoint num="1" id="5225" />
 <TGConnectingPoint num="2" id="5226" />
@@ -11084,16 +11084,16 @@ sequence diagram.
 <TGConnectingPoint num="6" id="5230" />
 <TGConnectingPoint num="7" id="5231" />
 <extraparam>
-<info value="Zigbee_TX::X_Source" taskName="X_Source" referenceTaskName="Zigbee_TX" priority="0" operation="X_Source" fatherComponentMECType="0" />
+<info value="Zigbee_TX::F_CWP_Q" taskName="F_CWP_Q" referenceTaskName="Zigbee_TX" priority="0" operation="F_CWP_Q" fatherComponentMECType="0" />
 </extraparam>
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1101" id="5241" >
 <father id="5266" num="7" />
-<cdparam x="1465" y="339" />
-<sizeparam width="164" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="1686" y="522" />
+<sizeparam width="156" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="253" minY="0" maxY="253" />
-<infoparam name="TGComponent" value="Zigbee_TX::F_Source" />
+<cdrectangleparam minX="0" maxX="261" minY="0" maxY="253" />
+<infoparam name="TGComponent" value="Zigbee_TX::F_CWP_I" />
 <TGConnectingPoint num="0" id="5233" />
 <TGConnectingPoint num="1" id="5234" />
 <TGConnectingPoint num="2" id="5235" />
@@ -11103,7 +11103,7 @@ sequence diagram.
 <TGConnectingPoint num="6" id="5239" />
 <TGConnectingPoint num="7" id="5240" />
 <extraparam>
-<info value="Zigbee_TX::F_Source" taskName="F_Source" referenceTaskName="Zigbee_TX" priority="0" operation="F_Source" fatherComponentMECType="0" />
+<info value="Zigbee_TX::F_CWP_I" taskName="F_CWP_I" referenceTaskName="Zigbee_TX" priority="0" operation="F_CWP_I" fatherComponentMECType="0" />
 </extraparam>
 </SUBCOMPONENT>
 
@@ -11523,11 +11523,11 @@ sequence diagram.
 </COMPONENT>
 <SUBCOMPONENT type="1101" id="5534" >
 <father id="5577" num="0" />
-<cdparam x="700" y="233" />
-<sizeparam width="145" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="732" y="283" />
+<sizeparam width="156" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="93" minY="0" maxY="145" />
-<infoparam name="TGComponent" value="Zigbee_TX::X_CWL" />
+<cdrectangleparam minX="0" maxX="82" minY="0" maxY="145" />
+<infoparam name="TGComponent" value="Zigbee_TX::X_CWP_I" />
 <TGConnectingPoint num="0" id="5526" />
 <TGConnectingPoint num="1" id="5527" />
 <TGConnectingPoint num="2" id="5528" />
@@ -11537,7 +11537,7 @@ sequence diagram.
 <TGConnectingPoint num="6" id="5532" />
 <TGConnectingPoint num="7" id="5533" />
 <extraparam>
-<info value="Zigbee_TX::X_CWL" taskName="X_CWL" referenceTaskName="Zigbee_TX" priority="0" operation="CWL" fatherComponentMECType="1" />
+<info value="Zigbee_TX::X_CWP_I" taskName="X_CWP_I" referenceTaskName="Zigbee_TX" priority="0" operation="CWP" fatherComponentMECType="1" />
 </extraparam>
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1101" id="5543" >
@@ -11561,11 +11561,11 @@ sequence diagram.
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1101" id="5552" >
 <father id="5577" num="2" />
-<cdparam x="732" y="283" />
-<sizeparam width="156" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="700" y="233" />
+<sizeparam width="145" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="82" minY="0" maxY="145" />
-<infoparam name="TGComponent" value="Zigbee_TX::X_CWP_I" />
+<cdrectangleparam minX="0" maxX="93" minY="0" maxY="145" />
+<infoparam name="TGComponent" value="Zigbee_TX::X_CWL" />
 <TGConnectingPoint num="0" id="5544" />
 <TGConnectingPoint num="1" id="5545" />
 <TGConnectingPoint num="2" id="5546" />
@@ -11575,7 +11575,7 @@ sequence diagram.
 <TGConnectingPoint num="6" id="5550" />
 <TGConnectingPoint num="7" id="5551" />
 <extraparam>
-<info value="Zigbee_TX::X_CWP_I" taskName="X_CWP_I" referenceTaskName="Zigbee_TX" priority="0" operation="CWP" fatherComponentMECType="1" />
+<info value="Zigbee_TX::X_CWL" taskName="X_CWL" referenceTaskName="Zigbee_TX" priority="0" operation="CWL" fatherComponentMECType="1" />
 </extraparam>
 </SUBCOMPONENT>
 
@@ -12666,11 +12666,11 @@ sequence diagram.
 </COMPONENT>
 <SUBCOMPONENT type="1101" id="6029" >
 <father id="6117" num="0" />
-<cdparam x="1465" y="339" />
-<sizeparam width="154" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="1686" y="522" />
+<sizeparam width="150" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="263" minY="0" maxY="253" />
-<infoparam name="TGComponent" value="Zigbee_TX::F_Source" />
+<cdrectangleparam minX="0" maxX="267" minY="0" maxY="253" />
+<infoparam name="TGComponent" value="Zigbee_TX::F_CWP_I" />
 <TGConnectingPoint num="0" id="6021" />
 <TGConnectingPoint num="1" id="6022" />
 <TGConnectingPoint num="2" id="6023" />
@@ -12680,16 +12680,16 @@ sequence diagram.
 <TGConnectingPoint num="6" id="6027" />
 <TGConnectingPoint num="7" id="6028" />
 <extraparam>
-<info value="Zigbee_TX::F_Source" taskName="F_Source" referenceTaskName="Zigbee_TX" priority="0" operation="F_Source" fatherComponentMECType="0" />
+<info value="Zigbee_TX::F_CWP_I" taskName="F_CWP_I" referenceTaskName="Zigbee_TX" priority="0" operation="F_CWP_I" fatherComponentMECType="0" />
 </extraparam>
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1101" id="6038" >
 <father id="6117" num="1" />
-<cdparam x="1466" y="395" />
+<cdparam x="1696" y="456" />
 <sizeparam width="156" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="0" maxX="261" minY="0" maxY="253" />
-<infoparam name="TGComponent" value="Zigbee_TX::X_Source" />
+<infoparam name="TGComponent" value="Zigbee_TX::F_CWP_Q" />
 <TGConnectingPoint num="0" id="6030" />
 <TGConnectingPoint num="1" id="6031" />
 <TGConnectingPoint num="2" id="6032" />
@@ -12699,16 +12699,16 @@ sequence diagram.
 <TGConnectingPoint num="6" id="6036" />
 <TGConnectingPoint num="7" id="6037" />
 <extraparam>
-<info value="Zigbee_TX::X_Source" taskName="X_Source" referenceTaskName="Zigbee_TX" priority="0" operation="X_Source" fatherComponentMECType="0" />
+<info value="Zigbee_TX::F_CWP_Q" taskName="F_CWP_Q" referenceTaskName="Zigbee_TX" priority="0" operation="F_CWP_Q" fatherComponentMECType="0" />
 </extraparam>
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1101" id="6047" >
 <father id="6117" num="2" />
-<cdparam x="1466" y="456" />
-<sizeparam width="212" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="1691" y="345" />
+<sizeparam width="140" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="205" minY="0" maxY="253" />
-<infoparam name="TGComponent" value="Zigbee_TX::F_Symbol2ChipSeq" />
+<cdrectangleparam minX="0" maxX="277" minY="0" maxY="253" />
+<infoparam name="TGComponent" value="Zigbee_TX::F_CWL" />
 <TGConnectingPoint num="0" id="6039" />
 <TGConnectingPoint num="1" id="6040" />
 <TGConnectingPoint num="2" id="6041" />
@@ -12718,16 +12718,16 @@ sequence diagram.
 <TGConnectingPoint num="6" id="6045" />
 <TGConnectingPoint num="7" id="6046" />
 <extraparam>
-<info value="Zigbee_TX::F_Symbol2ChipSeq" taskName="F_Symbol2ChipSeq" referenceTaskName="Zigbee_TX" priority="0" operation="F_Symbol2ChipSeq" fatherComponentMECType="0" />
+<info value="Zigbee_TX::F_CWL" taskName="F_CWL" referenceTaskName="Zigbee_TX" priority="0" operation="F_CWL" fatherComponentMECType="0" />
 </extraparam>
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1101" id="6056" >
 <father id="6117" num="3" />
-<cdparam x="1466" y="518" />
-<sizeparam width="180" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="1688" y="405" />
+<sizeparam width="139" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="237" minY="0" maxY="253" />
-<infoparam name="TGComponent" value="Zigbee_TX::F_Chip2Octet" />
+<cdrectangleparam minX="0" maxX="278" minY="0" maxY="253" />
+<infoparam name="TGComponent" value="Zigbee_TX::F_Sink" />
 <TGConnectingPoint num="0" id="6048" />
 <TGConnectingPoint num="1" id="6049" />
 <TGConnectingPoint num="2" id="6050" />
@@ -12737,16 +12737,16 @@ sequence diagram.
 <TGConnectingPoint num="6" id="6054" />
 <TGConnectingPoint num="7" id="6055" />
 <extraparam>
-<info value="Zigbee_TX::F_Chip2Octet" taskName="F_Chip2Octet" referenceTaskName="Zigbee_TX" priority="0" operation="F_Chip2Octet" fatherComponentMECType="0" />
+<info value="Zigbee_TX::F_Sink" taskName="F_Sink" referenceTaskName="Zigbee_TX" priority="0" operation="F_Sink" fatherComponentMECType="0" />
 </extraparam>
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1101" id="6065" >
 <father id="6117" num="4" />
-<cdparam x="1688" y="405" />
-<sizeparam width="139" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="1466" y="518" />
+<sizeparam width="180" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="278" minY="0" maxY="253" />
-<infoparam name="TGComponent" value="Zigbee_TX::F_Sink" />
+<cdrectangleparam minX="0" maxX="237" minY="0" maxY="253" />
+<infoparam name="TGComponent" value="Zigbee_TX::F_Chip2Octet" />
 <TGConnectingPoint num="0" id="6057" />
 <TGConnectingPoint num="1" id="6058" />
 <TGConnectingPoint num="2" id="6059" />
@@ -12756,16 +12756,16 @@ sequence diagram.
 <TGConnectingPoint num="6" id="6063" />
 <TGConnectingPoint num="7" id="6064" />
 <extraparam>
-<info value="Zigbee_TX::F_Sink" taskName="F_Sink" referenceTaskName="Zigbee_TX" priority="0" operation="F_Sink" fatherComponentMECType="0" />
+<info value="Zigbee_TX::F_Chip2Octet" taskName="F_Chip2Octet" referenceTaskName="Zigbee_TX" priority="0" operation="F_Chip2Octet" fatherComponentMECType="0" />
 </extraparam>
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1101" id="6074" >
 <father id="6117" num="5" />
-<cdparam x="1691" y="345" />
-<sizeparam width="140" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="1466" y="456" />
+<sizeparam width="212" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="277" minY="0" maxY="253" />
-<infoparam name="TGComponent" value="Zigbee_TX::F_CWL" />
+<cdrectangleparam minX="0" maxX="205" minY="0" maxY="253" />
+<infoparam name="TGComponent" value="Zigbee_TX::F_Symbol2ChipSeq" />
 <TGConnectingPoint num="0" id="6066" />
 <TGConnectingPoint num="1" id="6067" />
 <TGConnectingPoint num="2" id="6068" />
@@ -12775,16 +12775,16 @@ sequence diagram.
 <TGConnectingPoint num="6" id="6072" />
 <TGConnectingPoint num="7" id="6073" />
 <extraparam>
-<info value="Zigbee_TX::F_CWL" taskName="F_CWL" referenceTaskName="Zigbee_TX" priority="0" operation="F_CWL" fatherComponentMECType="0" />
+<info value="Zigbee_TX::F_Symbol2ChipSeq" taskName="F_Symbol2ChipSeq" referenceTaskName="Zigbee_TX" priority="0" operation="F_Symbol2ChipSeq" fatherComponentMECType="0" />
 </extraparam>
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1101" id="6083" >
 <father id="6117" num="6" />
-<cdparam x="1696" y="456" />
+<cdparam x="1466" y="395" />
 <sizeparam width="156" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="0" maxX="261" minY="0" maxY="253" />
-<infoparam name="TGComponent" value="Zigbee_TX::F_CWP_Q" />
+<infoparam name="TGComponent" value="Zigbee_TX::X_Source" />
 <TGConnectingPoint num="0" id="6075" />
 <TGConnectingPoint num="1" id="6076" />
 <TGConnectingPoint num="2" id="6077" />
@@ -12794,16 +12794,16 @@ sequence diagram.
 <TGConnectingPoint num="6" id="6081" />
 <TGConnectingPoint num="7" id="6082" />
 <extraparam>
-<info value="Zigbee_TX::F_CWP_Q" taskName="F_CWP_Q" referenceTaskName="Zigbee_TX" priority="0" operation="F_CWP_Q" fatherComponentMECType="0" />
+<info value="Zigbee_TX::X_Source" taskName="X_Source" referenceTaskName="Zigbee_TX" priority="0" operation="X_Source" fatherComponentMECType="0" />
 </extraparam>
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1101" id="6092" >
 <father id="6117" num="7" />
-<cdparam x="1686" y="522" />
-<sizeparam width="150" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="1465" y="339" />
+<sizeparam width="154" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="267" minY="0" maxY="253" />
-<infoparam name="TGComponent" value="Zigbee_TX::F_CWP_I" />
+<cdrectangleparam minX="0" maxX="263" minY="0" maxY="253" />
+<infoparam name="TGComponent" value="Zigbee_TX::F_Source" />
 <TGConnectingPoint num="0" id="6084" />
 <TGConnectingPoint num="1" id="6085" />
 <TGConnectingPoint num="2" id="6086" />
@@ -12813,7 +12813,7 @@ sequence diagram.
 <TGConnectingPoint num="6" id="6090" />
 <TGConnectingPoint num="7" id="6091" />
 <extraparam>
-<info value="Zigbee_TX::F_CWP_I" taskName="F_CWP_I" referenceTaskName="Zigbee_TX" priority="0" operation="F_CWP_I" fatherComponentMECType="0" />
+<info value="Zigbee_TX::F_Source" taskName="F_Source" referenceTaskName="Zigbee_TX" priority="0" operation="F_Source" fatherComponentMECType="0" />
 </extraparam>
 </SUBCOMPONENT>
 
@@ -13233,11 +13233,11 @@ sequence diagram.
 </COMPONENT>
 <SUBCOMPONENT type="1101" id="6385" >
 <father id="6428" num="0" />
-<cdparam x="671" y="289" />
-<sizeparam width="152" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="639" y="239" />
+<sizeparam width="142" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="86" minY="0" maxY="145" />
-<infoparam name="TGComponent" value="Zigbee_TX::X_CWP_I" />
+<cdrectangleparam minX="0" maxX="96" minY="0" maxY="145" />
+<infoparam name="TGComponent" value="Zigbee_TX::X_CWL" />
 <TGConnectingPoint num="0" id="6377" />
 <TGConnectingPoint num="1" id="6378" />
 <TGConnectingPoint num="2" id="6379" />
@@ -13247,7 +13247,7 @@ sequence diagram.
 <TGConnectingPoint num="6" id="6383" />
 <TGConnectingPoint num="7" id="6384" />
 <extraparam>
-<info value="Zigbee_TX::X_CWP_I" taskName="X_CWP_I" referenceTaskName="Zigbee_TX" priority="0" operation="CWP" fatherComponentMECType="1" />
+<info value="Zigbee_TX::X_CWL" taskName="X_CWL" referenceTaskName="Zigbee_TX" priority="0" operation="CWL" fatherComponentMECType="1" />
 </extraparam>
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1101" id="6394" >
@@ -13271,11 +13271,11 @@ sequence diagram.
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1101" id="6403" >
 <father id="6428" num="2" />
-<cdparam x="639" y="239" />
-<sizeparam width="142" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="671" y="289" />
+<sizeparam width="152" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="96" minY="0" maxY="145" />
-<infoparam name="TGComponent" value="Zigbee_TX::X_CWL" />
+<cdrectangleparam minX="0" maxX="86" minY="0" maxY="145" />
+<infoparam name="TGComponent" value="Zigbee_TX::X_CWP_I" />
 <TGConnectingPoint num="0" id="6395" />
 <TGConnectingPoint num="1" id="6396" />
 <TGConnectingPoint num="2" id="6397" />
@@ -13285,7 +13285,7 @@ sequence diagram.
 <TGConnectingPoint num="6" id="6401" />
 <TGConnectingPoint num="7" id="6402" />
 <extraparam>
-<info value="Zigbee_TX::X_CWL" taskName="X_CWL" referenceTaskName="Zigbee_TX" priority="0" operation="CWL" fatherComponentMECType="1" />
+<info value="Zigbee_TX::X_CWP_I" taskName="X_CWP_I" referenceTaskName="Zigbee_TX" priority="0" operation="CWP" fatherComponentMECType="1" />
 </extraparam>
 </SUBCOMPONENT>
 
@@ -14102,13 +14102,13 @@ sequence diagram.
 
 
 <Modeling type="TML Architecture" nameTab="Mapping_2" >
-<TMLArchiDiagramPanel name="DIPLODOCUS architecture and mapping Diagram" minX="10" maxX="1900" minY="10" maxY="1900" attributes="0" masterClockFrequency="200" >
-<COMPONENT type="1100" id="6737" >
-<cdparam x="560" y="807" />
-<sizeparam width="150" height="100" minWidth="150" minHeight="100" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<TMLArchiDiagramPanel name="DIPLODOCUS architecture and mapping Diagram" minX="10" maxX="1900" minY="10" maxY="1900" attributes="1" masterClockFrequency="200" >
+<COMPONENT type="1116" id="6737" >
+<cdparam x="250" y="16" />
+<sizeparam width="250" height="200" minWidth="150" minHeight="100" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1900" minY="10" maxY="1900" />
-<infoparam name="INTL_DMA" value="name" />
+<infoparam name="FPGA0" value="name" />
 <TGConnectingPoint num="0" id="6713" />
 <TGConnectingPoint num="1" id="6714" />
 <TGConnectingPoint num="2" id="6715" />
@@ -14134,17 +14134,17 @@ sequence diagram.
 <TGConnectingPoint num="22" id="6735" />
 <TGConnectingPoint num="23" id="6736" />
 <extraparam>
-<info stereotype="CPURR" nodeName="INTL_DMA" />
-<attributes nbOfCores="1" byteDataSize="4"  schedulingPolicy="0"  sliceTime="10000"  goIdleTime="10"  maxConsecutiveIdleCycles="10"  pipelineSize="5"  taskSwitchingTime="20"  branchingPredictionPenalty="2"  cacheMiss="5" execiTime="1" execcTime="1" clockRatio="1" MECType="0" encryption="0"/>
+<info stereotype="FPGA" nodeName="FPGA0" />
+<attributes capacity="101" byteDataSize="4"  mappingPenalty="1"  reconfigurationTime="50"  goIdleTime="10"  maxConsecutiveIdleCycles="10"  execiTime="1" execcTime="1" clockRatio="1"/>
 </extraparam>
 </COMPONENT>
 
 <COMPONENT type="1100" id="6762" >
-<cdparam x="543" y="422" />
+<cdparam x="560" y="807" />
 <sizeparam width="150" height="100" minWidth="150" minHeight="100" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1900" minY="10" maxY="1900" />
-<infoparam name="ADAIF_DMA" value="name" />
+<infoparam name="INTL_DMA" value="name" />
 <TGConnectingPoint num="0" id="6738" />
 <TGConnectingPoint num="1" id="6739" />
 <TGConnectingPoint num="2" id="6740" />
@@ -14170,17 +14170,17 @@ sequence diagram.
 <TGConnectingPoint num="22" id="6760" />
 <TGConnectingPoint num="23" id="6761" />
 <extraparam>
-<info stereotype="CPURR" nodeName="ADAIF_DMA" />
+<info stereotype="CPURR" nodeName="INTL_DMA" />
 <attributes nbOfCores="1" byteDataSize="4"  schedulingPolicy="0"  sliceTime="10000"  goIdleTime="10"  maxConsecutiveIdleCycles="10"  pipelineSize="5"  taskSwitchingTime="20"  branchingPredictionPenalty="2"  cacheMiss="5" execiTime="1" execcTime="1" clockRatio="1" MECType="0" encryption="0"/>
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1105" id="6787" >
-<cdparam x="354" y="243" />
-<sizeparam width="200" height="152" minWidth="100" minHeight="35" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<COMPONENT type="1100" id="6787" >
+<cdparam x="543" y="422" />
+<sizeparam width="150" height="100" minWidth="150" minHeight="100" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1900" minY="10" maxY="1900" />
-<infoparam name="ADAIF_MSS" value="name" />
+<infoparam name="ADAIF_DMA" value="name" />
 <TGConnectingPoint num="0" id="6763" />
 <TGConnectingPoint num="1" id="6764" />
 <TGConnectingPoint num="2" id="6765" />
@@ -14206,53 +14206,17 @@ sequence diagram.
 <TGConnectingPoint num="22" id="6785" />
 <TGConnectingPoint num="23" id="6786" />
 <extraparam>
-<info stereotype="MEMORY" nodeName="ADAIF_MSS" />
-<attributes byteDataSize="4"  memorySize="1024"  clockRatio="1"  bufferType="2" />
+<info stereotype="CPURR" nodeName="ADAIF_DMA" />
+<attributes nbOfCores="1" byteDataSize="4"  schedulingPolicy="0"  sliceTime="10000"  goIdleTime="10"  maxConsecutiveIdleCycles="10"  pipelineSize="5"  taskSwitchingTime="20"  branchingPredictionPenalty="2"  cacheMiss="5" execiTime="1" execcTime="1" clockRatio="1" MECType="0" encryption="0"/>
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1100" id="6821" >
-<cdparam x="29" y="215" />
-<sizeparam width="252" height="181" minWidth="150" minHeight="100" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<COMPONENT type="1105" id="6812" >
+<cdparam x="354" y="243" />
+<sizeparam width="200" height="152" minWidth="100" minHeight="35" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1900" minY="10" maxY="1900" />
-<infoparam name="ADAIF_PSS" value="name" />
-<TGConnectingPoint num="0" id="6797" />
-<TGConnectingPoint num="1" id="6798" />
-<TGConnectingPoint num="2" id="6799" />
-<TGConnectingPoint num="3" id="6800" />
-<TGConnectingPoint num="4" id="6801" />
-<TGConnectingPoint num="5" id="6802" />
-<TGConnectingPoint num="6" id="6803" />
-<TGConnectingPoint num="7" id="6804" />
-<TGConnectingPoint num="8" id="6805" />
-<TGConnectingPoint num="9" id="6806" />
-<TGConnectingPoint num="10" id="6807" />
-<TGConnectingPoint num="11" id="6808" />
-<TGConnectingPoint num="12" id="6809" />
-<TGConnectingPoint num="13" id="6810" />
-<TGConnectingPoint num="14" id="6811" />
-<TGConnectingPoint num="15" id="6812" />
-<TGConnectingPoint num="16" id="6813" />
-<TGConnectingPoint num="17" id="6814" />
-<TGConnectingPoint num="18" id="6815" />
-<TGConnectingPoint num="19" id="6816" />
-<TGConnectingPoint num="20" id="6817" />
-<TGConnectingPoint num="21" id="6818" />
-<TGConnectingPoint num="22" id="6819" />
-<TGConnectingPoint num="23" id="6820" />
-<extraparam>
-<info stereotype="CPURR" nodeName="ADAIF_PSS" />
-<attributes nbOfCores="1" byteDataSize="4"  schedulingPolicy="0"  sliceTime="10000"  goIdleTime="10"  maxConsecutiveIdleCycles="10"  pipelineSize="5"  taskSwitchingTime="20"  branchingPredictionPenalty="2"  cacheMiss="5" execiTime="1" execcTime="1" clockRatio="1" MECType="4" encryption="0"/>
-</extraparam>
-</COMPONENT>
-<SUBCOMPONENT type="1101" id="6796" >
-<father id="6821" num="0" />
-<cdparam x="48" y="315" />
-<sizeparam width="141" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<hidden value="false" />
-<cdrectangleparam minX="0" maxX="111" minY="0" maxY="141" />
-<infoparam name="TGComponent" value="Zigbee_TX::X_Sink" />
+<infoparam name="ADAIF_MSS" value="name" />
 <TGConnectingPoint num="0" id="6788" />
 <TGConnectingPoint num="1" id="6789" />
 <TGConnectingPoint num="2" id="6790" />
@@ -14261,17 +14225,34 @@ sequence diagram.
 <TGConnectingPoint num="5" id="6793" />
 <TGConnectingPoint num="6" id="6794" />
 <TGConnectingPoint num="7" id="6795" />
+<TGConnectingPoint num="8" id="6796" />
+<TGConnectingPoint num="9" id="6797" />
+<TGConnectingPoint num="10" id="6798" />
+<TGConnectingPoint num="11" id="6799" />
+<TGConnectingPoint num="12" id="6800" />
+<TGConnectingPoint num="13" id="6801" />
+<TGConnectingPoint num="14" id="6802" />
+<TGConnectingPoint num="15" id="6803" />
+<TGConnectingPoint num="16" id="6804" />
+<TGConnectingPoint num="17" id="6805" />
+<TGConnectingPoint num="18" id="6806" />
+<TGConnectingPoint num="19" id="6807" />
+<TGConnectingPoint num="20" id="6808" />
+<TGConnectingPoint num="21" id="6809" />
+<TGConnectingPoint num="22" id="6810" />
+<TGConnectingPoint num="23" id="6811" />
 <extraparam>
-<info value="Zigbee_TX::X_Sink" taskName="X_Sink" referenceTaskName="Zigbee_TX" priority="0" operation="Adaif operation" fatherComponentMECType="4" />
+<info stereotype="MEMORY" nodeName="ADAIF_MSS" />
+<attributes byteDataSize="4"  memorySize="1024"  clockRatio="1"  bufferType="2" />
 </extraparam>
-</SUBCOMPONENT>
+</COMPONENT>
 
-<COMPONENT type="1106" id="6846" >
-<cdparam x="306" y="545" />
-<sizeparam width="100" height="35" minWidth="100" minHeight="35" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<COMPONENT type="1100" id="6846" >
+<cdparam x="29" y="215" />
+<sizeparam width="211" height="170" minWidth="150" minHeight="100" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1900" minY="10" maxY="1900" />
-<infoparam name="ADAIF_Bridge" value="name" />
+<infoparam name="ADAIF_PSS" value="name" />
 <TGConnectingPoint num="0" id="6822" />
 <TGConnectingPoint num="1" id="6823" />
 <TGConnectingPoint num="2" id="6824" />
@@ -14297,17 +14278,36 @@ sequence diagram.
 <TGConnectingPoint num="22" id="6844" />
 <TGConnectingPoint num="23" id="6845" />
 <extraparam>
-<info stereotype="BRIDGE" nodeName="ADAIF_Bridge" />
-<attributes bufferByteDataSize="4"  clockRatio="1" />
+<info stereotype="CPURR" nodeName="ADAIF_PSS" />
+<attributes nbOfCores="1" byteDataSize="4"  schedulingPolicy="0"  sliceTime="10000"  goIdleTime="10"  maxConsecutiveIdleCycles="10"  pipelineSize="5"  taskSwitchingTime="20"  branchingPredictionPenalty="2"  cacheMiss="5" execiTime="1" execcTime="1" clockRatio="1" MECType="4" encryption="0"/>
 </extraparam>
 </COMPONENT>
+<SUBCOMPONENT type="1101" id="6821" >
+<father id="6846" num="0" />
+<cdparam x="33" y="275" />
+<sizeparam width="146" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="0" maxX="65" minY="0" maxY="130" />
+<infoparam name="TGComponent" value="Zigbee_TX::X_Sink" />
+<TGConnectingPoint num="0" id="6813" />
+<TGConnectingPoint num="1" id="6814" />
+<TGConnectingPoint num="2" id="6815" />
+<TGConnectingPoint num="3" id="6816" />
+<TGConnectingPoint num="4" id="6817" />
+<TGConnectingPoint num="5" id="6818" />
+<TGConnectingPoint num="6" id="6819" />
+<TGConnectingPoint num="7" id="6820" />
+<extraparam>
+<info value="Zigbee_TX::X_Sink" taskName="X_Sink" referenceTaskName="Zigbee_TX" priority="0" operation="Adaif operation" fatherComponentMECType="4" />
+</extraparam>
+</SUBCOMPONENT>
 
-<COMPONENT type="1105" id="6871" >
-<cdparam x="1544" y="737" />
-<sizeparam width="216" height="140" minWidth="100" minHeight="35" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<COMPONENT type="1106" id="6871" >
+<cdparam x="306" y="545" />
+<sizeparam width="100" height="35" minWidth="100" minHeight="35" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1900" minY="10" maxY="1900" />
-<infoparam name="MainMemory" value="name" />
+<infoparam name="ADAIF_Bridge" value="name" />
 <TGConnectingPoint num="0" id="6847" />
 <TGConnectingPoint num="1" id="6848" />
 <TGConnectingPoint num="2" id="6849" />
@@ -14333,241 +14333,241 @@ sequence diagram.
 <TGConnectingPoint num="22" id="6869" />
 <TGConnectingPoint num="23" id="6870" />
 <extraparam>
+<info stereotype="BRIDGE" nodeName="ADAIF_Bridge" />
+<attributes bufferByteDataSize="4"  clockRatio="1" />
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="1105" id="6896" >
+<cdparam x="1544" y="737" />
+<sizeparam width="216" height="140" minWidth="100" minHeight="35" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="1900" minY="10" maxY="1900" />
+<infoparam name="MainMemory" value="name" />
+<TGConnectingPoint num="0" id="6872" />
+<TGConnectingPoint num="1" id="6873" />
+<TGConnectingPoint num="2" id="6874" />
+<TGConnectingPoint num="3" id="6875" />
+<TGConnectingPoint num="4" id="6876" />
+<TGConnectingPoint num="5" id="6877" />
+<TGConnectingPoint num="6" id="6878" />
+<TGConnectingPoint num="7" id="6879" />
+<TGConnectingPoint num="8" id="6880" />
+<TGConnectingPoint num="9" id="6881" />
+<TGConnectingPoint num="10" id="6882" />
+<TGConnectingPoint num="11" id="6883" />
+<TGConnectingPoint num="12" id="6884" />
+<TGConnectingPoint num="13" id="6885" />
+<TGConnectingPoint num="14" id="6886" />
+<TGConnectingPoint num="15" id="6887" />
+<TGConnectingPoint num="16" id="6888" />
+<TGConnectingPoint num="17" id="6889" />
+<TGConnectingPoint num="18" id="6890" />
+<TGConnectingPoint num="19" id="6891" />
+<TGConnectingPoint num="20" id="6892" />
+<TGConnectingPoint num="21" id="6893" />
+<TGConnectingPoint num="22" id="6894" />
+<TGConnectingPoint num="23" id="6895" />
+<extraparam>
 <info stereotype="MEMORY" nodeName="MainMemory" />
 <attributes byteDataSize="4"  memorySize="1024"  clockRatio="1"  bufferType="4" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1100" id="6968" >
+<COMPONENT type="1100" id="6993" >
 <cdparam x="1444" y="293" />
 <sizeparam width="417" height="293" minWidth="150" minHeight="100" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1900" minY="10" maxY="1900" />
 <infoparam name="MainCPU" value="name" />
-<TGConnectingPoint num="0" id="6944" />
-<TGConnectingPoint num="1" id="6945" />
-<TGConnectingPoint num="2" id="6946" />
-<TGConnectingPoint num="3" id="6947" />
-<TGConnectingPoint num="4" id="6948" />
-<TGConnectingPoint num="5" id="6949" />
-<TGConnectingPoint num="6" id="6950" />
-<TGConnectingPoint num="7" id="6951" />
-<TGConnectingPoint num="8" id="6952" />
-<TGConnectingPoint num="9" id="6953" />
-<TGConnectingPoint num="10" id="6954" />
-<TGConnectingPoint num="11" id="6955" />
-<TGConnectingPoint num="12" id="6956" />
-<TGConnectingPoint num="13" id="6957" />
-<TGConnectingPoint num="14" id="6958" />
-<TGConnectingPoint num="15" id="6959" />
-<TGConnectingPoint num="16" id="6960" />
-<TGConnectingPoint num="17" id="6961" />
-<TGConnectingPoint num="18" id="6962" />
-<TGConnectingPoint num="19" id="6963" />
-<TGConnectingPoint num="20" id="6964" />
-<TGConnectingPoint num="21" id="6965" />
-<TGConnectingPoint num="22" id="6966" />
-<TGConnectingPoint num="23" id="6967" />
+<TGConnectingPoint num="0" id="6969" />
+<TGConnectingPoint num="1" id="6970" />
+<TGConnectingPoint num="2" id="6971" />
+<TGConnectingPoint num="3" id="6972" />
+<TGConnectingPoint num="4" id="6973" />
+<TGConnectingPoint num="5" id="6974" />
+<TGConnectingPoint num="6" id="6975" />
+<TGConnectingPoint num="7" id="6976" />
+<TGConnectingPoint num="8" id="6977" />
+<TGConnectingPoint num="9" id="6978" />
+<TGConnectingPoint num="10" id="6979" />
+<TGConnectingPoint num="11" id="6980" />
+<TGConnectingPoint num="12" id="6981" />
+<TGConnectingPoint num="13" id="6982" />
+<TGConnectingPoint num="14" id="6983" />
+<TGConnectingPoint num="15" id="6984" />
+<TGConnectingPoint num="16" id="6985" />
+<TGConnectingPoint num="17" id="6986" />
+<TGConnectingPoint num="18" id="6987" />
+<TGConnectingPoint num="19" id="6988" />
+<TGConnectingPoint num="20" id="6989" />
+<TGConnectingPoint num="21" id="6990" />
+<TGConnectingPoint num="22" id="6991" />
+<TGConnectingPoint num="23" id="6992" />
 <extraparam>
 <info stereotype="CPURR" nodeName="MainCPU" />
 <attributes nbOfCores="1" byteDataSize="4"  schedulingPolicy="0"  sliceTime="10000"  goIdleTime="10"  maxConsecutiveIdleCycles="10"  pipelineSize="5"  taskSwitchingTime="20"  branchingPredictionPenalty="2"  cacheMiss="5" execiTime="1" execcTime="1" clockRatio="1" MECType="0" encryption="0"/>
 </extraparam>
 </COMPONENT>
-<SUBCOMPONENT type="1101" id="6880" >
-<father id="6968" num="0" />
-<cdparam x="1686" y="522" />
-<sizeparam width="150" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<SUBCOMPONENT type="1101" id="6905" >
+<father id="6993" num="0" />
+<cdparam x="1465" y="339" />
+<sizeparam width="164" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="267" minY="0" maxY="253" />
-<infoparam name="TGComponent" value="Zigbee_TX::F_CWP_I" />
-<TGConnectingPoint num="0" id="6872" />
-<TGConnectingPoint num="1" id="6873" />
-<TGConnectingPoint num="2" id="6874" />
-<TGConnectingPoint num="3" id="6875" />
-<TGConnectingPoint num="4" id="6876" />
-<TGConnectingPoint num="5" id="6877" />
-<TGConnectingPoint num="6" id="6878" />
-<TGConnectingPoint num="7" id="6879" />
+<cdrectangleparam minX="0" maxX="253" minY="0" maxY="253" />
+<infoparam name="TGComponent" value="Zigbee_TX::F_Source" />
+<TGConnectingPoint num="0" id="6897" />
+<TGConnectingPoint num="1" id="6898" />
+<TGConnectingPoint num="2" id="6899" />
+<TGConnectingPoint num="3" id="6900" />
+<TGConnectingPoint num="4" id="6901" />
+<TGConnectingPoint num="5" id="6902" />
+<TGConnectingPoint num="6" id="6903" />
+<TGConnectingPoint num="7" id="6904" />
 <extraparam>
-<info value="Zigbee_TX::F_CWP_I" taskName="F_CWP_I" referenceTaskName="Zigbee_TX" priority="0" operation="F_CWP_I" fatherComponentMECType="0" />
+<info value="Zigbee_TX::F_Source" taskName="F_Source" referenceTaskName="Zigbee_TX" priority="0" operation="F_Source" fatherComponentMECType="0" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1101" id="6889" >
-<father id="6968" num="1" />
-<cdparam x="1685" y="459" />
-<sizeparam width="156" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<SUBCOMPONENT type="1101" id="6914" >
+<father id="6993" num="1" />
+<cdparam x="1466" y="395" />
+<sizeparam width="164" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="261" minY="0" maxY="253" />
-<infoparam name="TGComponent" value="Zigbee_TX::F_CWP_Q" />
-<TGConnectingPoint num="0" id="6881" />
-<TGConnectingPoint num="1" id="6882" />
-<TGConnectingPoint num="2" id="6883" />
-<TGConnectingPoint num="3" id="6884" />
-<TGConnectingPoint num="4" id="6885" />
-<TGConnectingPoint num="5" id="6886" />
-<TGConnectingPoint num="6" id="6887" />
-<TGConnectingPoint num="7" id="6888" />
+<cdrectangleparam minX="0" maxX="253" minY="0" maxY="253" />
+<infoparam name="TGComponent" value="Zigbee_TX::X_Source" />
+<TGConnectingPoint num="0" id="6906" />
+<TGConnectingPoint num="1" id="6907" />
+<TGConnectingPoint num="2" id="6908" />
+<TGConnectingPoint num="3" id="6909" />
+<TGConnectingPoint num="4" id="6910" />
+<TGConnectingPoint num="5" id="6911" />
+<TGConnectingPoint num="6" id="6912" />
+<TGConnectingPoint num="7" id="6913" />
 <extraparam>
-<info value="Zigbee_TX::F_CWP_Q" taskName="F_CWP_Q" referenceTaskName="Zigbee_TX" priority="0" operation="F_CWP_Q" fatherComponentMECType="0" />
+<info value="Zigbee_TX::X_Source" taskName="X_Source" referenceTaskName="Zigbee_TX" priority="0" operation="X_Source" fatherComponentMECType="0" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1101" id="6898" >
-<father id="6968" num="2" />
-<cdparam x="1691" y="345" />
-<sizeparam width="140" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<SUBCOMPONENT type="1101" id="6923" >
+<father id="6993" num="2" />
+<cdparam x="1466" y="456" />
+<sizeparam width="223" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="277" minY="0" maxY="253" />
-<infoparam name="TGComponent" value="Zigbee_TX::F_CWL" />
-<TGConnectingPoint num="0" id="6890" />
-<TGConnectingPoint num="1" id="6891" />
-<TGConnectingPoint num="2" id="6892" />
-<TGConnectingPoint num="3" id="6893" />
-<TGConnectingPoint num="4" id="6894" />
-<TGConnectingPoint num="5" id="6895" />
-<TGConnectingPoint num="6" id="6896" />
-<TGConnectingPoint num="7" id="6897" />
+<cdrectangleparam minX="0" maxX="194" minY="0" maxY="253" />
+<infoparam name="TGComponent" value="Zigbee_TX::F_Symbol2ChipSeq" />
+<TGConnectingPoint num="0" id="6915" />
+<TGConnectingPoint num="1" id="6916" />
+<TGConnectingPoint num="2" id="6917" />
+<TGConnectingPoint num="3" id="6918" />
+<TGConnectingPoint num="4" id="6919" />
+<TGConnectingPoint num="5" id="6920" />
+<TGConnectingPoint num="6" id="6921" />
+<TGConnectingPoint num="7" id="6922" />
 <extraparam>
-<info value="Zigbee_TX::F_CWL" taskName="F_CWL" referenceTaskName="Zigbee_TX" priority="0" operation="F_CWL" fatherComponentMECType="0" />
+<info value="Zigbee_TX::F_Symbol2ChipSeq" taskName="F_Symbol2ChipSeq" referenceTaskName="Zigbee_TX" priority="0" operation="F_Symbol2ChipSeq" fatherComponentMECType="0" />
+</extraparam>
+</SUBCOMPONENT>
+<SUBCOMPONENT type="1101" id="6932" >
+<father id="6993" num="3" />
+<cdparam x="1466" y="518" />
+<sizeparam width="189" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="0" maxX="228" minY="0" maxY="253" />
+<infoparam name="TGComponent" value="Zigbee_TX::F_Chip2Octet" />
+<TGConnectingPoint num="0" id="6924" />
+<TGConnectingPoint num="1" id="6925" />
+<TGConnectingPoint num="2" id="6926" />
+<TGConnectingPoint num="3" id="6927" />
+<TGConnectingPoint num="4" id="6928" />
+<TGConnectingPoint num="5" id="6929" />
+<TGConnectingPoint num="6" id="6930" />
+<TGConnectingPoint num="7" id="6931" />
+<extraparam>
+<info value="Zigbee_TX::F_Chip2Octet" taskName="F_Chip2Octet" referenceTaskName="Zigbee_TX" priority="0" operation="F_Chip2Octet" fatherComponentMECType="0" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1101" id="6907" >
-<father id="6968" num="3" />
+<SUBCOMPONENT type="1101" id="6941" >
+<father id="6993" num="4" />
 <cdparam x="1688" y="405" />
-<sizeparam width="139" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<sizeparam width="146" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="278" minY="0" maxY="253" />
+<cdrectangleparam minX="0" maxX="271" minY="0" maxY="253" />
 <infoparam name="TGComponent" value="Zigbee_TX::F_Sink" />
-<TGConnectingPoint num="0" id="6899" />
-<TGConnectingPoint num="1" id="6900" />
-<TGConnectingPoint num="2" id="6901" />
-<TGConnectingPoint num="3" id="6902" />
-<TGConnectingPoint num="4" id="6903" />
-<TGConnectingPoint num="5" id="6904" />
-<TGConnectingPoint num="6" id="6905" />
-<TGConnectingPoint num="7" id="6906" />
+<TGConnectingPoint num="0" id="6933" />
+<TGConnectingPoint num="1" id="6934" />
+<TGConnectingPoint num="2" id="6935" />
+<TGConnectingPoint num="3" id="6936" />
+<TGConnectingPoint num="4" id="6937" />
+<TGConnectingPoint num="5" id="6938" />
+<TGConnectingPoint num="6" id="6939" />
+<TGConnectingPoint num="7" id="6940" />
 <extraparam>
 <info value="Zigbee_TX::F_Sink" taskName="F_Sink" referenceTaskName="Zigbee_TX" priority="0" operation="F_Sink" fatherComponentMECType="0" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1101" id="6916" >
-<father id="6968" num="4" />
-<cdparam x="1466" y="518" />
-<sizeparam width="180" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<SUBCOMPONENT type="1101" id="6950" >
+<father id="6993" num="5" />
+<cdparam x="1691" y="345" />
+<sizeparam width="145" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="237" minY="0" maxY="253" />
-<infoparam name="TGComponent" value="Zigbee_TX::F_Chip2Octet" />
-<TGConnectingPoint num="0" id="6908" />
-<TGConnectingPoint num="1" id="6909" />
-<TGConnectingPoint num="2" id="6910" />
-<TGConnectingPoint num="3" id="6911" />
-<TGConnectingPoint num="4" id="6912" />
-<TGConnectingPoint num="5" id="6913" />
-<TGConnectingPoint num="6" id="6914" />
-<TGConnectingPoint num="7" id="6915" />
+<cdrectangleparam minX="0" maxX="272" minY="0" maxY="253" />
+<infoparam name="TGComponent" value="Zigbee_TX::F_CWL" />
+<TGConnectingPoint num="0" id="6942" />
+<TGConnectingPoint num="1" id="6943" />
+<TGConnectingPoint num="2" id="6944" />
+<TGConnectingPoint num="3" id="6945" />
+<TGConnectingPoint num="4" id="6946" />
+<TGConnectingPoint num="5" id="6947" />
+<TGConnectingPoint num="6" id="6948" />
+<TGConnectingPoint num="7" id="6949" />
 <extraparam>
-<info value="Zigbee_TX::F_Chip2Octet" taskName="F_Chip2Octet" referenceTaskName="Zigbee_TX" priority="0" operation="F_Chip2Octet" fatherComponentMECType="0" />
+<info value="Zigbee_TX::F_CWL" taskName="F_CWL" referenceTaskName="Zigbee_TX" priority="0" operation="F_CWL" fatherComponentMECType="0" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1101" id="6925" >
-<father id="6968" num="5" />
-<cdparam x="1466" y="456" />
-<sizeparam width="212" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<SUBCOMPONENT type="1101" id="6959" >
+<father id="6993" num="6" />
+<cdparam x="1685" y="459" />
+<sizeparam width="162" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="205" minY="0" maxY="253" />
-<infoparam name="TGComponent" value="Zigbee_TX::F_Symbol2ChipSeq" />
-<TGConnectingPoint num="0" id="6917" />
-<TGConnectingPoint num="1" id="6918" />
-<TGConnectingPoint num="2" id="6919" />
-<TGConnectingPoint num="3" id="6920" />
-<TGConnectingPoint num="4" id="6921" />
-<TGConnectingPoint num="5" id="6922" />
-<TGConnectingPoint num="6" id="6923" />
-<TGConnectingPoint num="7" id="6924" />
+<cdrectangleparam minX="0" maxX="255" minY="0" maxY="253" />
+<infoparam name="TGComponent" value="Zigbee_TX::F_CWP_Q" />
+<TGConnectingPoint num="0" id="6951" />
+<TGConnectingPoint num="1" id="6952" />
+<TGConnectingPoint num="2" id="6953" />
+<TGConnectingPoint num="3" id="6954" />
+<TGConnectingPoint num="4" id="6955" />
+<TGConnectingPoint num="5" id="6956" />
+<TGConnectingPoint num="6" id="6957" />
+<TGConnectingPoint num="7" id="6958" />
 <extraparam>
-<info value="Zigbee_TX::F_Symbol2ChipSeq" taskName="F_Symbol2ChipSeq" referenceTaskName="Zigbee_TX" priority="0" operation="F_Symbol2ChipSeq" fatherComponentMECType="0" />
+<info value="Zigbee_TX::F_CWP_Q" taskName="F_CWP_Q" referenceTaskName="Zigbee_TX" priority="0" operation="F_CWP_Q" fatherComponentMECType="0" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1101" id="6934" >
-<father id="6968" num="6" />
-<cdparam x="1466" y="395" />
+<SUBCOMPONENT type="1101" id="6968" >
+<father id="6993" num="7" />
+<cdparam x="1686" y="522" />
 <sizeparam width="156" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="0" maxX="261" minY="0" maxY="253" />
-<infoparam name="TGComponent" value="Zigbee_TX::X_Source" />
-<TGConnectingPoint num="0" id="6926" />
-<TGConnectingPoint num="1" id="6927" />
-<TGConnectingPoint num="2" id="6928" />
-<TGConnectingPoint num="3" id="6929" />
-<TGConnectingPoint num="4" id="6930" />
-<TGConnectingPoint num="5" id="6931" />
-<TGConnectingPoint num="6" id="6932" />
-<TGConnectingPoint num="7" id="6933" />
-<extraparam>
-<info value="Zigbee_TX::X_Source" taskName="X_Source" referenceTaskName="Zigbee_TX" priority="0" operation="X_Source" fatherComponentMECType="0" />
-</extraparam>
-</SUBCOMPONENT>
-<SUBCOMPONENT type="1101" id="6943" >
-<father id="6968" num="7" />
-<cdparam x="1465" y="339" />
-<sizeparam width="154" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<hidden value="false" />
-<cdrectangleparam minX="0" maxX="263" minY="0" maxY="253" />
-<infoparam name="TGComponent" value="Zigbee_TX::F_Source" />
-<TGConnectingPoint num="0" id="6935" />
-<TGConnectingPoint num="1" id="6936" />
-<TGConnectingPoint num="2" id="6937" />
-<TGConnectingPoint num="3" id="6938" />
-<TGConnectingPoint num="4" id="6939" />
-<TGConnectingPoint num="5" id="6940" />
-<TGConnectingPoint num="6" id="6941" />
-<TGConnectingPoint num="7" id="6942" />
+<infoparam name="TGComponent" value="Zigbee_TX::F_CWP_I" />
+<TGConnectingPoint num="0" id="6960" />
+<TGConnectingPoint num="1" id="6961" />
+<TGConnectingPoint num="2" id="6962" />
+<TGConnectingPoint num="3" id="6963" />
+<TGConnectingPoint num="4" id="6964" />
+<TGConnectingPoint num="5" id="6965" />
+<TGConnectingPoint num="6" id="6966" />
+<TGConnectingPoint num="7" id="6967" />
 <extraparam>
-<info value="Zigbee_TX::F_Source" taskName="F_Source" referenceTaskName="Zigbee_TX" priority="0" operation="F_Source" fatherComponentMECType="0" />
+<info value="Zigbee_TX::F_CWP_I" taskName="F_CWP_I" referenceTaskName="Zigbee_TX" priority="0" operation="F_CWP_I" fatherComponentMECType="0" />
 </extraparam>
 </SUBCOMPONENT>
 
-<COMPONENT type="1102" id="6993" >
+<COMPONENT type="1102" id="7018" >
 <cdparam x="1527" y="635" />
 <sizeparam width="250" height="50" minWidth="100" minHeight="50" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1900" minY="10" maxY="1900" />
 <infoparam name="MainBus" value="name" />
-<TGConnectingPoint num="0" id="6969" />
-<TGConnectingPoint num="1" id="6970" />
-<TGConnectingPoint num="2" id="6971" />
-<TGConnectingPoint num="3" id="6972" />
-<TGConnectingPoint num="4" id="6973" />
-<TGConnectingPoint num="5" id="6974" />
-<TGConnectingPoint num="6" id="6975" />
-<TGConnectingPoint num="7" id="6976" />
-<TGConnectingPoint num="8" id="6977" />
-<TGConnectingPoint num="9" id="6978" />
-<TGConnectingPoint num="10" id="6979" />
-<TGConnectingPoint num="11" id="6980" />
-<TGConnectingPoint num="12" id="6981" />
-<TGConnectingPoint num="13" id="6982" />
-<TGConnectingPoint num="14" id="6983" />
-<TGConnectingPoint num="15" id="6984" />
-<TGConnectingPoint num="16" id="6985" />
-<TGConnectingPoint num="17" id="6986" />
-<TGConnectingPoint num="18" id="6987" />
-<TGConnectingPoint num="19" id="6988" />
-<TGConnectingPoint num="20" id="6989" />
-<TGConnectingPoint num="21" id="6990" />
-<TGConnectingPoint num="22" id="6991" />
-<TGConnectingPoint num="23" id="6992" />
-<extraparam>
-<info stereotype="BUS-RR" nodeName="MainBus" />
-<attributes byteDataSize="4"  arbitrationPolicy="0"  sliceTime="10000"  pipelineSize="1"  clockRatio="1"  privacy="0"  referenceAttack="" />
-</extraparam>
-</COMPONENT>
-
-<COMPONENT type="1106" id="7018" >
-<cdparam x="1367" y="610" />
-<sizeparam width="100" height="100" minWidth="100" minHeight="35" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<hidden value="false" />
-<cdrectangleparam minX="10" maxX="1900" minY="10" maxY="1900" />
-<infoparam name="MainBridge" value="name" />
 <TGConnectingPoint num="0" id="6994" />
 <TGConnectingPoint num="1" id="6995" />
 <TGConnectingPoint num="2" id="6996" />
@@ -14593,17 +14593,17 @@ sequence diagram.
 <TGConnectingPoint num="22" id="7016" />
 <TGConnectingPoint num="23" id="7017" />
 <extraparam>
-<info stereotype="BRIDGE" nodeName="MainBridge" />
-<attributes bufferByteDataSize="4"  clockRatio="1" />
+<info stereotype="BUS-RR" nodeName="MainBus" />
+<attributes byteDataSize="4"  arbitrationPolicy="0"  sliceTime="10000"  pipelineSize="1"  clockRatio="1"  privacy="0"  referenceAttack="" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1102" id="7043" >
-<cdparam x="231" y="635" />
-<sizeparam width="845" height="50" minWidth="100" minHeight="50" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<COMPONENT type="1106" id="7043" >
+<cdparam x="1367" y="610" />
+<sizeparam width="100" height="100" minWidth="100" minHeight="35" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1900" minY="10" maxY="1900" />
-<infoparam name="Crossbar" value="name" />
+<infoparam name="MainBridge" value="name" />
 <TGConnectingPoint num="0" id="7019" />
 <TGConnectingPoint num="1" id="7020" />
 <TGConnectingPoint num="2" id="7021" />
@@ -14629,17 +14629,17 @@ sequence diagram.
 <TGConnectingPoint num="22" id="7041" />
 <TGConnectingPoint num="23" id="7042" />
 <extraparam>
-<info stereotype="BUS-RR" nodeName="Crossbar" />
-<attributes byteDataSize="4"  arbitrationPolicy="0"  sliceTime="10000"  pipelineSize="1"  clockRatio="1"  privacy="0"  referenceAttack="" />
+<info stereotype="BRIDGE" nodeName="MainBridge" />
+<attributes bufferByteDataSize="4"  clockRatio="1" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1106" id="7068" >
-<cdparam x="306" y="737" />
-<sizeparam width="100" height="51" minWidth="100" minHeight="50" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<COMPONENT type="1102" id="7068" >
+<cdparam x="231" y="635" />
+<sizeparam width="845" height="50" minWidth="100" minHeight="50" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1900" minY="10" maxY="1900" />
-<infoparam name="INTL_Bridge" value="name" />
+<infoparam name="Crossbar" value="name" />
 <TGConnectingPoint num="0" id="7044" />
 <TGConnectingPoint num="1" id="7045" />
 <TGConnectingPoint num="2" id="7046" />
@@ -14665,17 +14665,17 @@ sequence diagram.
 <TGConnectingPoint num="22" id="7066" />
 <TGConnectingPoint num="23" id="7067" />
 <extraparam>
-<info stereotype="BRIDGE" nodeName="INTL_Bridge" />
-<attributes bufferByteDataSize="4"  clockRatio="1" />
+<info stereotype="BUS-RR" nodeName="Crossbar" />
+<attributes byteDataSize="4"  arbitrationPolicy="0"  sliceTime="10000"  pipelineSize="1"  clockRatio="1"  privacy="0"  referenceAttack="" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1105" id="7093" >
-<cdparam x="376" y="949" />
-<sizeparam width="331" height="135" minWidth="100" minHeight="35" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<COMPONENT type="1106" id="7093" >
+<cdparam x="306" y="737" />
+<sizeparam width="100" height="51" minWidth="100" minHeight="50" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1900" minY="10" maxY="1900" />
-<infoparam name="INTL_MSS" value="name" />
+<infoparam name="INTL_Bridge" value="name" />
 <TGConnectingPoint num="0" id="7069" />
 <TGConnectingPoint num="1" id="7070" />
 <TGConnectingPoint num="2" id="7071" />
@@ -14701,53 +14701,17 @@ sequence diagram.
 <TGConnectingPoint num="22" id="7091" />
 <TGConnectingPoint num="23" id="7092" />
 <extraparam>
-<info stereotype="MEMORY" nodeName="INTL_MSS" />
-<attributes byteDataSize="4"  memorySize="1024"  clockRatio="1"  bufferType="3" />
-</extraparam>
-</COMPONENT>
-
-<COMPONENT type="1100" id="7127" >
-<cdparam x="91" y="938" />
-<sizeparam width="234" height="140" minWidth="150" minHeight="100" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<hidden value="false" />
-<cdrectangleparam minX="10" maxX="1900" minY="10" maxY="1900" />
-<infoparam name="INTL_PSS" value="name" />
-<TGConnectingPoint num="0" id="7103" />
-<TGConnectingPoint num="1" id="7104" />
-<TGConnectingPoint num="2" id="7105" />
-<TGConnectingPoint num="3" id="7106" />
-<TGConnectingPoint num="4" id="7107" />
-<TGConnectingPoint num="5" id="7108" />
-<TGConnectingPoint num="6" id="7109" />
-<TGConnectingPoint num="7" id="7110" />
-<TGConnectingPoint num="8" id="7111" />
-<TGConnectingPoint num="9" id="7112" />
-<TGConnectingPoint num="10" id="7113" />
-<TGConnectingPoint num="11" id="7114" />
-<TGConnectingPoint num="12" id="7115" />
-<TGConnectingPoint num="13" id="7116" />
-<TGConnectingPoint num="14" id="7117" />
-<TGConnectingPoint num="15" id="7118" />
-<TGConnectingPoint num="16" id="7119" />
-<TGConnectingPoint num="17" id="7120" />
-<TGConnectingPoint num="18" id="7121" />
-<TGConnectingPoint num="19" id="7122" />
-<TGConnectingPoint num="20" id="7123" />
-<TGConnectingPoint num="21" id="7124" />
-<TGConnectingPoint num="22" id="7125" />
-<TGConnectingPoint num="23" id="7126" />
-<extraparam>
-<info stereotype="CPURR" nodeName="INTL_PSS" />
-<attributes nbOfCores="1" byteDataSize="4"  schedulingPolicy="0"  sliceTime="10000"  goIdleTime="10"  maxConsecutiveIdleCycles="10"  pipelineSize="5"  taskSwitchingTime="20"  branchingPredictionPenalty="2"  cacheMiss="5" execiTime="1" execcTime="1" clockRatio="1" MECType="2" encryption="0"/>
+<info stereotype="BRIDGE" nodeName="INTL_Bridge" />
+<attributes bufferByteDataSize="4"  clockRatio="1" />
 </extraparam>
 </COMPONENT>
-<SUBCOMPONENT type="1101" id="7102" >
-<father id="7127" num="0" />
-<cdparam x="105" y="993" />
-<sizeparam width="182" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+
+<COMPONENT type="1105" id="7118" >
+<cdparam x="376" y="949" />
+<sizeparam width="331" height="135" minWidth="100" minHeight="35" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="52" minY="0" maxY="100" />
-<infoparam name="TGComponent" value="Zigbee_TX::X_Chip2Octet" />
+<cdrectangleparam minX="10" maxX="1900" minY="10" maxY="1900" />
+<infoparam name="INTL_MSS" value="name" />
 <TGConnectingPoint num="0" id="7094" />
 <TGConnectingPoint num="1" id="7095" />
 <TGConnectingPoint num="2" id="7096" />
@@ -14756,17 +14720,34 @@ sequence diagram.
 <TGConnectingPoint num="5" id="7099" />
 <TGConnectingPoint num="6" id="7100" />
 <TGConnectingPoint num="7" id="7101" />
+<TGConnectingPoint num="8" id="7102" />
+<TGConnectingPoint num="9" id="7103" />
+<TGConnectingPoint num="10" id="7104" />
+<TGConnectingPoint num="11" id="7105" />
+<TGConnectingPoint num="12" id="7106" />
+<TGConnectingPoint num="13" id="7107" />
+<TGConnectingPoint num="14" id="7108" />
+<TGConnectingPoint num="15" id="7109" />
+<TGConnectingPoint num="16" id="7110" />
+<TGConnectingPoint num="17" id="7111" />
+<TGConnectingPoint num="18" id="7112" />
+<TGConnectingPoint num="19" id="7113" />
+<TGConnectingPoint num="20" id="7114" />
+<TGConnectingPoint num="21" id="7115" />
+<TGConnectingPoint num="22" id="7116" />
+<TGConnectingPoint num="23" id="7117" />
 <extraparam>
-<info value="Zigbee_TX::X_Chip2Octet" taskName="X_Chip2Octet" referenceTaskName="Zigbee_TX" priority="0" operation="Interleaver operation" fatherComponentMECType="2" />
+<info stereotype="MEMORY" nodeName="INTL_MSS" />
+<attributes byteDataSize="4"  memorySize="1024"  clockRatio="1"  bufferType="3" />
 </extraparam>
-</SUBCOMPONENT>
+</COMPONENT>
 
-<COMPONENT type="1102" id="7152" >
-<cdparam x="231" y="832" />
-<sizeparam width="250" height="50" minWidth="100" minHeight="50" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<COMPONENT type="1100" id="7152" >
+<cdparam x="91" y="938" />
+<sizeparam width="234" height="140" minWidth="150" minHeight="100" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1900" minY="10" maxY="1900" />
-<infoparam name="INTL_Bus" value="name" />
+<infoparam name="INTL_PSS" value="name" />
 <TGConnectingPoint num="0" id="7128" />
 <TGConnectingPoint num="1" id="7129" />
 <TGConnectingPoint num="2" id="7130" />
@@ -14792,17 +14773,36 @@ sequence diagram.
 <TGConnectingPoint num="22" id="7150" />
 <TGConnectingPoint num="23" id="7151" />
 <extraparam>
-<info stereotype="BUS-RR" nodeName="INTL_Bus" />
-<attributes byteDataSize="4"  arbitrationPolicy="0"  sliceTime="10000"  pipelineSize="1"  clockRatio="1"  privacy="0"  referenceAttack="" />
+<info stereotype="CPURR" nodeName="INTL_PSS" />
+<attributes nbOfCores="1" byteDataSize="4"  schedulingPolicy="0"  sliceTime="10000"  goIdleTime="10"  maxConsecutiveIdleCycles="10"  pipelineSize="5"  taskSwitchingTime="20"  branchingPredictionPenalty="2"  cacheMiss="5" execiTime="1" execcTime="1" clockRatio="1" MECType="2" encryption="0"/>
 </extraparam>
 </COMPONENT>
+<SUBCOMPONENT type="1101" id="7127" >
+<father id="7152" num="0" />
+<cdparam x="105" y="993" />
+<sizeparam width="189" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="0" maxX="45" minY="0" maxY="100" />
+<infoparam name="TGComponent" value="Zigbee_TX::X_Chip2Octet" />
+<TGConnectingPoint num="0" id="7119" />
+<TGConnectingPoint num="1" id="7120" />
+<TGConnectingPoint num="2" id="7121" />
+<TGConnectingPoint num="3" id="7122" />
+<TGConnectingPoint num="4" id="7123" />
+<TGConnectingPoint num="5" id="7124" />
+<TGConnectingPoint num="6" id="7125" />
+<TGConnectingPoint num="7" id="7126" />
+<extraparam>
+<info value="Zigbee_TX::X_Chip2Octet" taskName="X_Chip2Octet" referenceTaskName="Zigbee_TX" priority="0" operation="Interleaver operation" fatherComponentMECType="2" />
+</extraparam>
+</SUBCOMPONENT>
 
 <COMPONENT type="1102" id="7177" >
-<cdparam x="231" y="447" />
+<cdparam x="231" y="832" />
 <sizeparam width="250" height="50" minWidth="100" minHeight="50" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1900" minY="10" maxY="1900" />
-<infoparam name="ADAIF_Bus" value="name" />
+<infoparam name="INTL_Bus" value="name" />
 <TGConnectingPoint num="0" id="7153" />
 <TGConnectingPoint num="1" id="7154" />
 <TGConnectingPoint num="2" id="7155" />
@@ -14828,17 +14828,17 @@ sequence diagram.
 <TGConnectingPoint num="22" id="7175" />
 <TGConnectingPoint num="23" id="7176" />
 <extraparam>
-<info stereotype="BUS-RR" nodeName="ADAIF_Bus" />
+<info stereotype="BUS-RR" nodeName="INTL_Bus" />
 <attributes byteDataSize="4"  arbitrationPolicy="0"  sliceTime="10000"  pipelineSize="1"  clockRatio="1"  privacy="0"  referenceAttack="" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1100" id="7202" >
-<cdparam x="1147" y="408" />
-<sizeparam width="150" height="100" minWidth="150" minHeight="100" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<COMPONENT type="1102" id="7202" >
+<cdparam x="231" y="447" />
+<sizeparam width="250" height="50" minWidth="100" minHeight="50" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1900" minY="10" maxY="1900" />
-<infoparam name="FEP_DMA" value="name" />
+<infoparam name="ADAIF_Bus" value="name" />
 <TGConnectingPoint num="0" id="7178" />
 <TGConnectingPoint num="1" id="7179" />
 <TGConnectingPoint num="2" id="7180" />
@@ -14864,17 +14864,17 @@ sequence diagram.
 <TGConnectingPoint num="22" id="7200" />
 <TGConnectingPoint num="23" id="7201" />
 <extraparam>
-<info stereotype="CPURR" nodeName="FEP_DMA" />
-<attributes nbOfCores="1" byteDataSize="4"  schedulingPolicy="0"  sliceTime="10000"  goIdleTime="10"  maxConsecutiveIdleCycles="10"  pipelineSize="5"  taskSwitchingTime="20"  branchingPredictionPenalty="2"  cacheMiss="5" execiTime="1" execcTime="1" clockRatio="1" MECType="0" encryption="0"/>
+<info stereotype="BUS-RR" nodeName="ADAIF_Bus" />
+<attributes byteDataSize="4"  arbitrationPolicy="0"  sliceTime="10000"  pipelineSize="1"  clockRatio="1"  privacy="0"  referenceAttack="" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1105" id="7227" >
-<cdparam x="895" y="193" />
-<sizeparam width="255" height="183" minWidth="100" minHeight="35" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<COMPONENT type="1100" id="7227" >
+<cdparam x="1147" y="408" />
+<sizeparam width="150" height="100" minWidth="150" minHeight="100" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1900" minY="10" maxY="1900" />
-<infoparam name="FEP_MSS" value="name" />
+<infoparam name="FEP_DMA" value="name" />
 <TGConnectingPoint num="0" id="7203" />
 <TGConnectingPoint num="1" id="7204" />
 <TGConnectingPoint num="2" id="7205" />
@@ -14900,53 +14900,17 @@ sequence diagram.
 <TGConnectingPoint num="22" id="7225" />
 <TGConnectingPoint num="23" id="7226" />
 <extraparam>
-<info stereotype="MEMORY" nodeName="FEP_MSS" />
-<attributes byteDataSize="4"  memorySize="1024"  clockRatio="1"  bufferType="0" />
+<info stereotype="CPURR" nodeName="FEP_DMA" />
+<attributes nbOfCores="1" byteDataSize="4"  schedulingPolicy="0"  sliceTime="10000"  goIdleTime="10"  maxConsecutiveIdleCycles="10"  pipelineSize="5"  taskSwitchingTime="20"  branchingPredictionPenalty="2"  cacheMiss="5" execiTime="1" execcTime="1" clockRatio="1" MECType="0" encryption="0"/>
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1100" id="7279" >
-<cdparam x="619" y="199" />
-<sizeparam width="238" height="185" minWidth="150" minHeight="100" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<COMPONENT type="1105" id="7252" >
+<cdparam x="895" y="193" />
+<sizeparam width="255" height="183" minWidth="100" minHeight="35" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1900" minY="10" maxY="1900" />
-<infoparam name="FEP_PSS" value="name" />
-<TGConnectingPoint num="0" id="7255" />
-<TGConnectingPoint num="1" id="7256" />
-<TGConnectingPoint num="2" id="7257" />
-<TGConnectingPoint num="3" id="7258" />
-<TGConnectingPoint num="4" id="7259" />
-<TGConnectingPoint num="5" id="7260" />
-<TGConnectingPoint num="6" id="7261" />
-<TGConnectingPoint num="7" id="7262" />
-<TGConnectingPoint num="8" id="7263" />
-<TGConnectingPoint num="9" id="7264" />
-<TGConnectingPoint num="10" id="7265" />
-<TGConnectingPoint num="11" id="7266" />
-<TGConnectingPoint num="12" id="7267" />
-<TGConnectingPoint num="13" id="7268" />
-<TGConnectingPoint num="14" id="7269" />
-<TGConnectingPoint num="15" id="7270" />
-<TGConnectingPoint num="16" id="7271" />
-<TGConnectingPoint num="17" id="7272" />
-<TGConnectingPoint num="18" id="7273" />
-<TGConnectingPoint num="19" id="7274" />
-<TGConnectingPoint num="20" id="7275" />
-<TGConnectingPoint num="21" id="7276" />
-<TGConnectingPoint num="22" id="7277" />
-<TGConnectingPoint num="23" id="7278" />
-<extraparam>
-<info stereotype="CPURR" nodeName="FEP_PSS" />
-<attributes nbOfCores="1" byteDataSize="4"  schedulingPolicy="0"  sliceTime="10000"  goIdleTime="10"  maxConsecutiveIdleCycles="10"  pipelineSize="5"  taskSwitchingTime="20"  branchingPredictionPenalty="2"  cacheMiss="5" execiTime="2" execcTime="1" clockRatio="1" MECType="1" encryption="0"/>
-</extraparam>
-</COMPONENT>
-<SUBCOMPONENT type="1101" id="7236" >
-<father id="7279" num="0" />
-<cdparam x="639" y="239" />
-<sizeparam width="142" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<hidden value="false" />
-<cdrectangleparam minX="0" maxX="96" minY="0" maxY="145" />
-<infoparam name="TGComponent" value="Zigbee_TX::X_CWL" />
+<infoparam name="FEP_MSS" value="name" />
 <TGConnectingPoint num="0" id="7228" />
 <TGConnectingPoint num="1" id="7229" />
 <TGConnectingPoint num="2" id="7230" />
@@ -14955,55 +14919,34 @@ sequence diagram.
 <TGConnectingPoint num="5" id="7233" />
 <TGConnectingPoint num="6" id="7234" />
 <TGConnectingPoint num="7" id="7235" />
+<TGConnectingPoint num="8" id="7236" />
+<TGConnectingPoint num="9" id="7237" />
+<TGConnectingPoint num="10" id="7238" />
+<TGConnectingPoint num="11" id="7239" />
+<TGConnectingPoint num="12" id="7240" />
+<TGConnectingPoint num="13" id="7241" />
+<TGConnectingPoint num="14" id="7242" />
+<TGConnectingPoint num="15" id="7243" />
+<TGConnectingPoint num="16" id="7244" />
+<TGConnectingPoint num="17" id="7245" />
+<TGConnectingPoint num="18" id="7246" />
+<TGConnectingPoint num="19" id="7247" />
+<TGConnectingPoint num="20" id="7248" />
+<TGConnectingPoint num="21" id="7249" />
+<TGConnectingPoint num="22" id="7250" />
+<TGConnectingPoint num="23" id="7251" />
 <extraparam>
-<info value="Zigbee_TX::X_CWL" taskName="X_CWL" referenceTaskName="Zigbee_TX" priority="0" operation="CWL" fatherComponentMECType="1" />
-</extraparam>
-</SUBCOMPONENT>
-<SUBCOMPONENT type="1101" id="7245" >
-<father id="7279" num="1" />
-<cdparam x="640" y="335" />
-<sizeparam width="158" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<hidden value="false" />
-<cdrectangleparam minX="0" maxX="80" minY="0" maxY="145" />
-<infoparam name="TGComponent" value="Zigbee_TX::X_CWP_Q" />
-<TGConnectingPoint num="0" id="7237" />
-<TGConnectingPoint num="1" id="7238" />
-<TGConnectingPoint num="2" id="7239" />
-<TGConnectingPoint num="3" id="7240" />
-<TGConnectingPoint num="4" id="7241" />
-<TGConnectingPoint num="5" id="7242" />
-<TGConnectingPoint num="6" id="7243" />
-<TGConnectingPoint num="7" id="7244" />
-<extraparam>
-<info value="Zigbee_TX::X_CWP_Q" taskName="X_CWP_Q" referenceTaskName="Zigbee_TX" priority="0" operation="CWP" fatherComponentMECType="1" />
-</extraparam>
-</SUBCOMPONENT>
-<SUBCOMPONENT type="1101" id="7254" >
-<father id="7279" num="2" />
-<cdparam x="671" y="289" />
-<sizeparam width="152" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<hidden value="false" />
-<cdrectangleparam minX="0" maxX="86" minY="0" maxY="145" />
-<infoparam name="TGComponent" value="Zigbee_TX::X_CWP_I" />
-<TGConnectingPoint num="0" id="7246" />
-<TGConnectingPoint num="1" id="7247" />
-<TGConnectingPoint num="2" id="7248" />
-<TGConnectingPoint num="3" id="7249" />
-<TGConnectingPoint num="4" id="7250" />
-<TGConnectingPoint num="5" id="7251" />
-<TGConnectingPoint num="6" id="7252" />
-<TGConnectingPoint num="7" id="7253" />
-<extraparam>
-<info value="Zigbee_TX::X_CWP_I" taskName="X_CWP_I" referenceTaskName="Zigbee_TX" priority="0" operation="CWP" fatherComponentMECType="1" />
+<info stereotype="MEMORY" nodeName="FEP_MSS" />
+<attributes byteDataSize="4"  memorySize="1024"  clockRatio="1"  bufferType="0" />
 </extraparam>
-</SUBCOMPONENT>
+</COMPONENT>
 
-<COMPONENT type="1106" id="7304" >
-<cdparam x="910" y="531" />
-<sizeparam width="100" height="35" minWidth="100" minHeight="35" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<COMPONENT type="1100" id="7304" >
+<cdparam x="619" y="199" />
+<sizeparam width="238" height="185" minWidth="150" minHeight="100" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1900" minY="10" maxY="1900" />
-<infoparam name="FEP_Bridge" value="name" />
+<infoparam name="FEP_PSS" value="name" />
 <TGConnectingPoint num="0" id="7280" />
 <TGConnectingPoint num="1" id="7281" />
 <TGConnectingPoint num="2" id="7282" />
@@ -15029,17 +14972,74 @@ sequence diagram.
 <TGConnectingPoint num="22" id="7302" />
 <TGConnectingPoint num="23" id="7303" />
 <extraparam>
-<info stereotype="BRIDGE" nodeName="FEP_Bridge" />
-<attributes bufferByteDataSize="4"  clockRatio="1" />
+<info stereotype="CPURR" nodeName="FEP_PSS" />
+<attributes nbOfCores="1" byteDataSize="4"  schedulingPolicy="0"  sliceTime="10000"  goIdleTime="10"  maxConsecutiveIdleCycles="10"  pipelineSize="5"  taskSwitchingTime="20"  branchingPredictionPenalty="2"  cacheMiss="5" execiTime="2" execcTime="1" clockRatio="1" MECType="1" encryption="0"/>
 </extraparam>
 </COMPONENT>
+<SUBCOMPONENT type="1101" id="7261" >
+<father id="7304" num="0" />
+<cdparam x="671" y="289" />
+<sizeparam width="156" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="0" maxX="82" minY="0" maxY="145" />
+<infoparam name="TGComponent" value="Zigbee_TX::X_CWP_I" />
+<TGConnectingPoint num="0" id="7253" />
+<TGConnectingPoint num="1" id="7254" />
+<TGConnectingPoint num="2" id="7255" />
+<TGConnectingPoint num="3" id="7256" />
+<TGConnectingPoint num="4" id="7257" />
+<TGConnectingPoint num="5" id="7258" />
+<TGConnectingPoint num="6" id="7259" />
+<TGConnectingPoint num="7" id="7260" />
+<extraparam>
+<info value="Zigbee_TX::X_CWP_I" taskName="X_CWP_I" referenceTaskName="Zigbee_TX" priority="0" operation="CWP" fatherComponentMECType="1" />
+</extraparam>
+</SUBCOMPONENT>
+<SUBCOMPONENT type="1101" id="7270" >
+<father id="7304" num="1" />
+<cdparam x="640" y="335" />
+<sizeparam width="162" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="0" maxX="76" minY="0" maxY="145" />
+<infoparam name="TGComponent" value="Zigbee_TX::X_CWP_Q" />
+<TGConnectingPoint num="0" id="7262" />
+<TGConnectingPoint num="1" id="7263" />
+<TGConnectingPoint num="2" id="7264" />
+<TGConnectingPoint num="3" id="7265" />
+<TGConnectingPoint num="4" id="7266" />
+<TGConnectingPoint num="5" id="7267" />
+<TGConnectingPoint num="6" id="7268" />
+<TGConnectingPoint num="7" id="7269" />
+<extraparam>
+<info value="Zigbee_TX::X_CWP_Q" taskName="X_CWP_Q" referenceTaskName="Zigbee_TX" priority="0" operation="CWP" fatherComponentMECType="1" />
+</extraparam>
+</SUBCOMPONENT>
+<SUBCOMPONENT type="1101" id="7279" >
+<father id="7304" num="2" />
+<cdparam x="639" y="239" />
+<sizeparam width="145" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="0" maxX="93" minY="0" maxY="145" />
+<infoparam name="TGComponent" value="Zigbee_TX::X_CWL" />
+<TGConnectingPoint num="0" id="7271" />
+<TGConnectingPoint num="1" id="7272" />
+<TGConnectingPoint num="2" id="7273" />
+<TGConnectingPoint num="3" id="7274" />
+<TGConnectingPoint num="4" id="7275" />
+<TGConnectingPoint num="5" id="7276" />
+<TGConnectingPoint num="6" id="7277" />
+<TGConnectingPoint num="7" id="7278" />
+<extraparam>
+<info value="Zigbee_TX::X_CWL" taskName="X_CWL" referenceTaskName="Zigbee_TX" priority="0" operation="CWL" fatherComponentMECType="1" />
+</extraparam>
+</SUBCOMPONENT>
 
-<COMPONENT type="1102" id="7329" >
-<cdparam x="835" y="433" />
-<sizeparam width="250" height="50" minWidth="100" minHeight="50" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<COMPONENT type="1106" id="7329" >
+<cdparam x="910" y="531" />
+<sizeparam width="100" height="35" minWidth="100" minHeight="35" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1900" minY="10" maxY="1900" />
-<infoparam name="FEP_Bus" value="name" />
+<infoparam name="FEP_Bridge" value="name" />
 <TGConnectingPoint num="0" id="7305" />
 <TGConnectingPoint num="1" id="7306" />
 <TGConnectingPoint num="2" id="7307" />
@@ -15065,17 +15065,17 @@ sequence diagram.
 <TGConnectingPoint num="22" id="7327" />
 <TGConnectingPoint num="23" id="7328" />
 <extraparam>
-<info stereotype="BUS-RR" nodeName="FEP_Bus" />
-<attributes byteDataSize="4"  arbitrationPolicy="0"  sliceTime="10000"  pipelineSize="1"  clockRatio="1"  privacy="0"  referenceAttack="" />
+<info stereotype="BRIDGE" nodeName="FEP_Bridge" />
+<attributes bufferByteDataSize="4"  clockRatio="1" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1100" id="7354" >
-<cdparam x="1174" y="850" />
-<sizeparam width="150" height="100" minWidth="150" minHeight="100" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<COMPONENT type="1102" id="7354" >
+<cdparam x="835" y="433" />
+<sizeparam width="250" height="50" minWidth="100" minHeight="50" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1900" minY="10" maxY="1900" />
-<infoparam name="MAPPER_DMA" value="name" />
+<infoparam name="FEP_Bus" value="name" />
 <TGConnectingPoint num="0" id="7330" />
 <TGConnectingPoint num="1" id="7331" />
 <TGConnectingPoint num="2" id="7332" />
@@ -15101,17 +15101,17 @@ sequence diagram.
 <TGConnectingPoint num="22" id="7352" />
 <TGConnectingPoint num="23" id="7353" />
 <extraparam>
-<info stereotype="CPURR" nodeName="MAPPER_DMA" />
-<attributes nbOfCores="1" byteDataSize="4"  schedulingPolicy="0"  sliceTime="10000"  goIdleTime="10"  maxConsecutiveIdleCycles="10"  pipelineSize="5"  taskSwitchingTime="20"  branchingPredictionPenalty="2"  cacheMiss="5" execiTime="1" execcTime="1" clockRatio="1" MECType="0" encryption="0"/>
+<info stereotype="BUS-RR" nodeName="FEP_Bus" />
+<attributes byteDataSize="4"  arbitrationPolicy="0"  sliceTime="10000"  pipelineSize="1"  clockRatio="1"  privacy="0"  referenceAttack="" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1106" id="7379" >
-<cdparam x="920" y="780" />
-<sizeparam width="100" height="51" minWidth="100" minHeight="50" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<COMPONENT type="1100" id="7379" >
+<cdparam x="1174" y="850" />
+<sizeparam width="150" height="100" minWidth="150" minHeight="100" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1900" minY="10" maxY="1900" />
-<infoparam name="MAPPER_Bridge" value="name" />
+<infoparam name="MAPPER_DMA" value="name" />
 <TGConnectingPoint num="0" id="7355" />
 <TGConnectingPoint num="1" id="7356" />
 <TGConnectingPoint num="2" id="7357" />
@@ -15137,17 +15137,17 @@ sequence diagram.
 <TGConnectingPoint num="22" id="7377" />
 <TGConnectingPoint num="23" id="7378" />
 <extraparam>
-<info stereotype="BRIDGE" nodeName="MAPPER_Bridge" />
-<attributes bufferByteDataSize="4"  clockRatio="1" />
+<info stereotype="CPURR" nodeName="MAPPER_DMA" />
+<attributes nbOfCores="1" byteDataSize="4"  schedulingPolicy="0"  sliceTime="10000"  goIdleTime="10"  maxConsecutiveIdleCycles="10"  pipelineSize="5"  taskSwitchingTime="20"  branchingPredictionPenalty="2"  cacheMiss="5" execiTime="1" execcTime="1" clockRatio="1" MECType="0" encryption="0"/>
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1105" id="7404" >
-<cdparam x="1043" y="978" />
-<sizeparam width="314" height="125" minWidth="100" minHeight="35" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<COMPONENT type="1106" id="7404" >
+<cdparam x="920" y="780" />
+<sizeparam width="100" height="51" minWidth="100" minHeight="50" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1900" minY="10" maxY="1900" />
-<infoparam name="MAPPER_MSS" value="name" />
+<infoparam name="MAPPER_Bridge" value="name" />
 <TGConnectingPoint num="0" id="7380" />
 <TGConnectingPoint num="1" id="7381" />
 <TGConnectingPoint num="2" id="7382" />
@@ -15173,53 +15173,17 @@ sequence diagram.
 <TGConnectingPoint num="22" id="7402" />
 <TGConnectingPoint num="23" id="7403" />
 <extraparam>
-<info stereotype="MEMORY" nodeName="MAPPER_MSS" />
-<attributes byteDataSize="4"  memorySize="1024"  clockRatio="1"  bufferType="1" />
+<info stereotype="BRIDGE" nodeName="MAPPER_Bridge" />
+<attributes bufferByteDataSize="4"  clockRatio="1" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1100" id="7438" >
-<cdparam x="759" y="981" />
-<sizeparam width="219" height="158" minWidth="150" minHeight="100" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<COMPONENT type="1105" id="7429" >
+<cdparam x="1043" y="978" />
+<sizeparam width="314" height="125" minWidth="100" minHeight="35" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1900" minY="10" maxY="1900" />
-<infoparam name="MAPPER_PSS" value="name" />
-<TGConnectingPoint num="0" id="7414" />
-<TGConnectingPoint num="1" id="7415" />
-<TGConnectingPoint num="2" id="7416" />
-<TGConnectingPoint num="3" id="7417" />
-<TGConnectingPoint num="4" id="7418" />
-<TGConnectingPoint num="5" id="7419" />
-<TGConnectingPoint num="6" id="7420" />
-<TGConnectingPoint num="7" id="7421" />
-<TGConnectingPoint num="8" id="7422" />
-<TGConnectingPoint num="9" id="7423" />
-<TGConnectingPoint num="10" id="7424" />
-<TGConnectingPoint num="11" id="7425" />
-<TGConnectingPoint num="12" id="7426" />
-<TGConnectingPoint num="13" id="7427" />
-<TGConnectingPoint num="14" id="7428" />
-<TGConnectingPoint num="15" id="7429" />
-<TGConnectingPoint num="16" id="7430" />
-<TGConnectingPoint num="17" id="7431" />
-<TGConnectingPoint num="18" id="7432" />
-<TGConnectingPoint num="19" id="7433" />
-<TGConnectingPoint num="20" id="7434" />
-<TGConnectingPoint num="21" id="7435" />
-<TGConnectingPoint num="22" id="7436" />
-<TGConnectingPoint num="23" id="7437" />
-<extraparam>
-<info stereotype="CPURR" nodeName="MAPPER_PSS" />
-<attributes nbOfCores="1" byteDataSize="4"  schedulingPolicy="0"  sliceTime="10000"  goIdleTime="10"  maxConsecutiveIdleCycles="10"  pipelineSize="5"  taskSwitchingTime="20"  branchingPredictionPenalty="2"  cacheMiss="5" execiTime="1" execcTime="1" clockRatio="1" MECType="3" encryption="0"/>
-</extraparam>
-</COMPONENT>
-<SUBCOMPONENT type="1101" id="7413" >
-<father id="7438" num="0" />
-<cdparam x="759" y="1028" />
-<sizeparam width="214" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<hidden value="false" />
-<cdrectangleparam minX="0" maxX="5" minY="0" maxY="118" />
-<infoparam name="TGComponent" value="Zigbee_TX::X_Symbol2ChipSeq" />
+<infoparam name="MAPPER_MSS" value="name" />
 <TGConnectingPoint num="0" id="7405" />
 <TGConnectingPoint num="1" id="7406" />
 <TGConnectingPoint num="2" id="7407" />
@@ -15228,17 +15192,34 @@ sequence diagram.
 <TGConnectingPoint num="5" id="7410" />
 <TGConnectingPoint num="6" id="7411" />
 <TGConnectingPoint num="7" id="7412" />
+<TGConnectingPoint num="8" id="7413" />
+<TGConnectingPoint num="9" id="7414" />
+<TGConnectingPoint num="10" id="7415" />
+<TGConnectingPoint num="11" id="7416" />
+<TGConnectingPoint num="12" id="7417" />
+<TGConnectingPoint num="13" id="7418" />
+<TGConnectingPoint num="14" id="7419" />
+<TGConnectingPoint num="15" id="7420" />
+<TGConnectingPoint num="16" id="7421" />
+<TGConnectingPoint num="17" id="7422" />
+<TGConnectingPoint num="18" id="7423" />
+<TGConnectingPoint num="19" id="7424" />
+<TGConnectingPoint num="20" id="7425" />
+<TGConnectingPoint num="21" id="7426" />
+<TGConnectingPoint num="22" id="7427" />
+<TGConnectingPoint num="23" id="7428" />
 <extraparam>
-<info value="Zigbee_TX::X_Symbol2ChipSeq" taskName="X_Symbol2ChipSeq" referenceTaskName="Zigbee_TX" priority="0" operation="Mapper operation" fatherComponentMECType="3" />
+<info stereotype="MEMORY" nodeName="MAPPER_MSS" />
+<attributes byteDataSize="4"  memorySize="1024"  clockRatio="1"  bufferType="1" />
 </extraparam>
-</SUBCOMPONENT>
+</COMPONENT>
 
-<COMPONENT type="1102" id="7463" >
-<cdparam x="845" y="875" />
-<sizeparam width="250" height="50" minWidth="100" minHeight="50" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<COMPONENT type="1100" id="7463" >
+<cdparam x="759" y="981" />
+<sizeparam width="219" height="158" minWidth="150" minHeight="100" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1900" minY="10" maxY="1900" />
-<infoparam name="MAPPER_Bus" value="name" />
+<infoparam name="MAPPER_PSS" value="name" />
 <TGConnectingPoint num="0" id="7439" />
 <TGConnectingPoint num="1" id="7440" />
 <TGConnectingPoint num="2" id="7441" />
@@ -15264,25 +15245,80 @@ sequence diagram.
 <TGConnectingPoint num="22" id="7461" />
 <TGConnectingPoint num="23" id="7462" />
 <extraparam>
+<info stereotype="CPURR" nodeName="MAPPER_PSS" />
+<attributes nbOfCores="1" byteDataSize="4"  schedulingPolicy="0"  sliceTime="10000"  goIdleTime="10"  maxConsecutiveIdleCycles="10"  pipelineSize="5"  taskSwitchingTime="20"  branchingPredictionPenalty="2"  cacheMiss="5" execiTime="1" execcTime="1" clockRatio="1" MECType="3" encryption="0"/>
+</extraparam>
+</COMPONENT>
+<SUBCOMPONENT type="1101" id="7438" >
+<father id="7463" num="0" />
+<cdparam x="755" y="1028" />
+<sizeparam width="223" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="0" maxX="-4" minY="0" maxY="118" />
+<infoparam name="TGComponent" value="Zigbee_TX::X_Symbol2ChipSeq" />
+<TGConnectingPoint num="0" id="7430" />
+<TGConnectingPoint num="1" id="7431" />
+<TGConnectingPoint num="2" id="7432" />
+<TGConnectingPoint num="3" id="7433" />
+<TGConnectingPoint num="4" id="7434" />
+<TGConnectingPoint num="5" id="7435" />
+<TGConnectingPoint num="6" id="7436" />
+<TGConnectingPoint num="7" id="7437" />
+<extraparam>
+<info value="Zigbee_TX::X_Symbol2ChipSeq" taskName="X_Symbol2ChipSeq" referenceTaskName="Zigbee_TX" priority="0" operation="Mapper operation" fatherComponentMECType="3" />
+</extraparam>
+</SUBCOMPONENT>
+
+<COMPONENT type="1102" id="7488" >
+<cdparam x="845" y="875" />
+<sizeparam width="250" height="50" minWidth="100" minHeight="50" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="1900" minY="10" maxY="1900" />
+<infoparam name="MAPPER_Bus" value="name" />
+<TGConnectingPoint num="0" id="7464" />
+<TGConnectingPoint num="1" id="7465" />
+<TGConnectingPoint num="2" id="7466" />
+<TGConnectingPoint num="3" id="7467" />
+<TGConnectingPoint num="4" id="7468" />
+<TGConnectingPoint num="5" id="7469" />
+<TGConnectingPoint num="6" id="7470" />
+<TGConnectingPoint num="7" id="7471" />
+<TGConnectingPoint num="8" id="7472" />
+<TGConnectingPoint num="9" id="7473" />
+<TGConnectingPoint num="10" id="7474" />
+<TGConnectingPoint num="11" id="7475" />
+<TGConnectingPoint num="12" id="7476" />
+<TGConnectingPoint num="13" id="7477" />
+<TGConnectingPoint num="14" id="7478" />
+<TGConnectingPoint num="15" id="7479" />
+<TGConnectingPoint num="16" id="7480" />
+<TGConnectingPoint num="17" id="7481" />
+<TGConnectingPoint num="18" id="7482" />
+<TGConnectingPoint num="19" id="7483" />
+<TGConnectingPoint num="20" id="7484" />
+<TGConnectingPoint num="21" id="7485" />
+<TGConnectingPoint num="22" id="7486" />
+<TGConnectingPoint num="23" id="7487" />
+<extraparam>
 <info stereotype="BUS-RR" nodeName="MAPPER_Bus" />
 <attributes byteDataSize="4"  arbitrationPolicy="0"  sliceTime="10000"  pipelineSize="1"  clockRatio="1"  privacy="0"  referenceAttack="" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1108" id="7481" >
+<COMPONENT type="1108" id="7506" >
 <cdparam x="103" y="1267" />
 <sizeparam width="419" height="85" minWidth="100" minHeight="50" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1900" minY="10" maxY="1900" />
 <infoparam name="CP_Symbol2ChipSeq_Chips2Octet" value="CP0" />
-<TGConnectingPoint num="0" id="7473" />
-<TGConnectingPoint num="1" id="7474" />
-<TGConnectingPoint num="2" id="7475" />
-<TGConnectingPoint num="3" id="7476" />
-<TGConnectingPoint num="4" id="7477" />
-<TGConnectingPoint num="5" id="7478" />
-<TGConnectingPoint num="6" id="7479" />
-<TGConnectingPoint num="7" id="7480" />
+<TGConnectingPoint num="0" id="7498" />
+<TGConnectingPoint num="1" id="7499" />
+<TGConnectingPoint num="2" id="7500" />
+<TGConnectingPoint num="3" id="7501" />
+<TGConnectingPoint num="4" id="7502" />
+<TGConnectingPoint num="5" id="7503" />
+<TGConnectingPoint num="6" id="7504" />
+<TGConnectingPoint num="7" id="7505" />
 <extraparam>
 <info stereotype="CP" nodeName="CP_Symbol2ChipSeq_Chips2Octet" cpMEC="Single DMA" transferType1="0" transferType2="0" />
 <attributes reference="DMA_transfer" />
@@ -15299,40 +15335,40 @@ sequence diagram.
 <mappedAttributes type="int" name="counter" value="123" />
 </extraparam>
 </COMPONENT>
-<SUBCOMPONENT type="1110" id="7472" >
-<father id="7481" num="0" />
+<SUBCOMPONENT type="1110" id="7497" >
+<father id="7506" num="0" />
 <cdparam x="292" y="1303" />
-<sizeparam width="199" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<sizeparam width="212" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="220" minY="0" maxY="45" />
+<cdrectangleparam minX="0" maxX="207" minY="0" maxY="45" />
 <infoparam name="TGComponent" value="Zigbee_TX::chip2octet_ch_in" />
-<TGConnectingPoint num="0" id="7464" />
-<TGConnectingPoint num="1" id="7465" />
-<TGConnectingPoint num="2" id="7466" />
-<TGConnectingPoint num="3" id="7467" />
-<TGConnectingPoint num="4" id="7468" />
-<TGConnectingPoint num="5" id="7469" />
-<TGConnectingPoint num="6" id="7470" />
-<TGConnectingPoint num="7" id="7471" />
+<TGConnectingPoint num="0" id="7489" />
+<TGConnectingPoint num="1" id="7490" />
+<TGConnectingPoint num="2" id="7491" />
+<TGConnectingPoint num="3" id="7492" />
+<TGConnectingPoint num="4" id="7493" />
+<TGConnectingPoint num="5" id="7494" />
+<TGConnectingPoint num="6" id="7495" />
+<TGConnectingPoint num="7" id="7496" />
 <extraparam>
 <info value="Zigbee_TX::chip2octet_ch_in" portName="chip2octet_ch_in" referenceCommunicationName="Zigbee_TX" typeName="port" mappedMemory="INTL_MSS" bufferType="3" packedBinaryIn="" width="" bitInOffset="" inputOffset="" packedBinaryOut="" bitOutOffset="" outputOffset="" offsetPerm="" lengthPerm="" />
 </extraparam>
 </SUBCOMPONENT>
 
-<COMPONENT type="1108" id="7499" >
+<COMPONENT type="1108" id="7524" >
 <cdparam x="105" y="1396" />
 <sizeparam width="405" height="88" minWidth="100" minHeight="50" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1900" minY="10" maxY="1900" />
 <infoparam name="CP_Chip2Octet_CWL" value="CP0" />
-<TGConnectingPoint num="0" id="7491" />
-<TGConnectingPoint num="1" id="7492" />
-<TGConnectingPoint num="2" id="7493" />
-<TGConnectingPoint num="3" id="7494" />
-<TGConnectingPoint num="4" id="7495" />
-<TGConnectingPoint num="5" id="7496" />
-<TGConnectingPoint num="6" id="7497" />
-<TGConnectingPoint num="7" id="7498" />
+<TGConnectingPoint num="0" id="7516" />
+<TGConnectingPoint num="1" id="7517" />
+<TGConnectingPoint num="2" id="7518" />
+<TGConnectingPoint num="3" id="7519" />
+<TGConnectingPoint num="4" id="7520" />
+<TGConnectingPoint num="5" id="7521" />
+<TGConnectingPoint num="6" id="7522" />
+<TGConnectingPoint num="7" id="7523" />
 <extraparam>
 <info stereotype="CP" nodeName="CP_Chip2Octet_CWL" cpMEC="Single DMA" transferType1="0" transferType2="0" />
 <attributes reference="DMA_transfer" />
@@ -15346,40 +15382,40 @@ sequence diagram.
 <mappingInfo CPname="DMA_transfer" instanceName="Transfer_Instance_4" architectureUnit="MainBus, MainBridge, Crossbar, INTL_Bridge, INTL_Bus" />
 </extraparam>
 </COMPONENT>
-<SUBCOMPONENT type="1110" id="7490" >
-<father id="7499" num="0" />
+<SUBCOMPONENT type="1110" id="7515" >
+<father id="7524" num="0" />
 <cdparam x="327" y="1437" />
-<sizeparam width="157" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<sizeparam width="164" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="248" minY="0" maxY="48" />
+<cdrectangleparam minX="0" maxX="241" minY="0" maxY="48" />
 <infoparam name="TGComponent" value="Zigbee_TX::cwl_ch_in" />
-<TGConnectingPoint num="0" id="7482" />
-<TGConnectingPoint num="1" id="7483" />
-<TGConnectingPoint num="2" id="7484" />
-<TGConnectingPoint num="3" id="7485" />
-<TGConnectingPoint num="4" id="7486" />
-<TGConnectingPoint num="5" id="7487" />
-<TGConnectingPoint num="6" id="7488" />
-<TGConnectingPoint num="7" id="7489" />
+<TGConnectingPoint num="0" id="7507" />
+<TGConnectingPoint num="1" id="7508" />
+<TGConnectingPoint num="2" id="7509" />
+<TGConnectingPoint num="3" id="7510" />
+<TGConnectingPoint num="4" id="7511" />
+<TGConnectingPoint num="5" id="7512" />
+<TGConnectingPoint num="6" id="7513" />
+<TGConnectingPoint num="7" id="7514" />
 <extraparam>
 <info value="Zigbee_TX::cwl_ch_in" portName="cwl_ch_in" referenceCommunicationName="Zigbee_TX" typeName="port" mappedMemory="FEP_MSS" bufferType="0" baseAddress="0x123" numSamples="1234" bank="0" dataType="int8" />
 </extraparam>
 </SUBCOMPONENT>
 
-<COMPONENT type="1108" id="7517" >
+<COMPONENT type="1108" id="7542" >
 <cdparam x="627" y="1252" />
 <sizeparam width="295" height="145" minWidth="100" minHeight="50" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1900" minY="10" maxY="1900" />
 <infoparam name="CP_sink" value="CP0" />
-<TGConnectingPoint num="0" id="7509" />
-<TGConnectingPoint num="1" id="7510" />
-<TGConnectingPoint num="2" id="7511" />
-<TGConnectingPoint num="3" id="7512" />
-<TGConnectingPoint num="4" id="7513" />
-<TGConnectingPoint num="5" id="7514" />
-<TGConnectingPoint num="6" id="7515" />
-<TGConnectingPoint num="7" id="7516" />
+<TGConnectingPoint num="0" id="7534" />
+<TGConnectingPoint num="1" id="7535" />
+<TGConnectingPoint num="2" id="7536" />
+<TGConnectingPoint num="3" id="7537" />
+<TGConnectingPoint num="4" id="7538" />
+<TGConnectingPoint num="5" id="7539" />
+<TGConnectingPoint num="6" id="7540" />
+<TGConnectingPoint num="7" id="7541" />
 <extraparam>
 <info stereotype="CP" nodeName="CP_sink" cpMEC="Double DMA" transferType1="0" transferType2="0" />
 <attributes reference="Double_DMA_transfer" />
@@ -15401,40 +15437,40 @@ sequence diagram.
 <mappingInfo CPname="Double_DMA_transfer" instanceName="Transfer_Instance_7" architectureUnit="ADAIF_Bridge, Crossbar, ADAIF_Bus, FEP_Bridge, FEP_Bus" />
 </extraparam>
 </COMPONENT>
-<SUBCOMPONENT type="1110" id="7508" >
-<father id="7517" num="0" />
+<SUBCOMPONENT type="1110" id="7533" >
+<father id="7542" num="0" />
 <cdparam x="701" y="1315" />
-<sizeparam width="162" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<sizeparam width="170" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="133" minY="0" maxY="105" />
+<cdrectangleparam minX="0" maxX="125" minY="0" maxY="105" />
 <infoparam name="TGComponent" value="Zigbee_TX::sink_ch_in" />
-<TGConnectingPoint num="0" id="7500" />
-<TGConnectingPoint num="1" id="7501" />
-<TGConnectingPoint num="2" id="7502" />
-<TGConnectingPoint num="3" id="7503" />
-<TGConnectingPoint num="4" id="7504" />
-<TGConnectingPoint num="5" id="7505" />
-<TGConnectingPoint num="6" id="7506" />
-<TGConnectingPoint num="7" id="7507" />
+<TGConnectingPoint num="0" id="7525" />
+<TGConnectingPoint num="1" id="7526" />
+<TGConnectingPoint num="2" id="7527" />
+<TGConnectingPoint num="3" id="7528" />
+<TGConnectingPoint num="4" id="7529" />
+<TGConnectingPoint num="5" id="7530" />
+<TGConnectingPoint num="6" id="7531" />
+<TGConnectingPoint num="7" id="7532" />
 <extraparam>
 <info value="Zigbee_TX::sink_ch_in" portName="sink_ch_in" referenceCommunicationName="Zigbee_TX" typeName="port" mappedMemory="ADAIF_MSS" bufferType="2" numSamples="" baseAddress="" />
 </extraparam>
 </SUBCOMPONENT>
 
-<COMPONENT type="1108" id="7535" >
+<COMPONENT type="1108" id="7560" >
 <cdparam x="106" y="1143" />
 <sizeparam width="421" height="85" minWidth="100" minHeight="50" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1900" minY="10" maxY="1900" />
 <infoparam name="CP_Source_to_Bits2Symbol" value="CP0" />
-<TGConnectingPoint num="0" id="7527" />
-<TGConnectingPoint num="1" id="7528" />
-<TGConnectingPoint num="2" id="7529" />
-<TGConnectingPoint num="3" id="7530" />
-<TGConnectingPoint num="4" id="7531" />
-<TGConnectingPoint num="5" id="7532" />
-<TGConnectingPoint num="6" id="7533" />
-<TGConnectingPoint num="7" id="7534" />
+<TGConnectingPoint num="0" id="7552" />
+<TGConnectingPoint num="1" id="7553" />
+<TGConnectingPoint num="2" id="7554" />
+<TGConnectingPoint num="3" id="7555" />
+<TGConnectingPoint num="4" id="7556" />
+<TGConnectingPoint num="5" id="7557" />
+<TGConnectingPoint num="6" id="7558" />
+<TGConnectingPoint num="7" id="7559" />
 <extraparam>
 <info stereotype="CP" nodeName="CP_Source_to_Bits2Symbol" cpMEC="Memory Copy" transferType1="0" transferType2="0" />
 <attributes reference="DMA_transfer" />
@@ -15449,356 +15485,356 @@ sequence diagram.
 <mappedAttributes type="addr" name="sourceAddress" value="0x123" />
 </extraparam>
 </COMPONENT>
-<SUBCOMPONENT type="1110" id="7526" >
-<father id="7535" num="0" />
+<SUBCOMPONENT type="1110" id="7551" >
+<father id="7560" num="0" />
 <cdparam x="280" y="1181" />
-<sizeparam width="235" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<sizeparam width="247" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="186" minY="0" maxY="45" />
+<cdrectangleparam minX="0" maxX="174" minY="0" maxY="45" />
 <infoparam name="TGComponent" value="Zigbee_TX::symbol2ChipSeq_ch_in" />
-<TGConnectingPoint num="0" id="7518" />
-<TGConnectingPoint num="1" id="7519" />
-<TGConnectingPoint num="2" id="7520" />
-<TGConnectingPoint num="3" id="7521" />
-<TGConnectingPoint num="4" id="7522" />
-<TGConnectingPoint num="5" id="7523" />
-<TGConnectingPoint num="6" id="7524" />
-<TGConnectingPoint num="7" id="7525" />
+<TGConnectingPoint num="0" id="7543" />
+<TGConnectingPoint num="1" id="7544" />
+<TGConnectingPoint num="2" id="7545" />
+<TGConnectingPoint num="3" id="7546" />
+<TGConnectingPoint num="4" id="7547" />
+<TGConnectingPoint num="5" id="7548" />
+<TGConnectingPoint num="6" id="7549" />
+<TGConnectingPoint num="7" id="7550" />
 <extraparam>
 <info value="Zigbee_TX::symbol2ChipSeq_ch_in" portName="symbol2ChipSeq_ch_in" referenceCommunicationName="Zigbee_TX" typeName="port" mappedMemory="MAPPER_MSS" bufferType="1" numSamplesDataIn="" baseAddressDataIn="" bitsPerSymbolDataIn="" symmetricalValueDataIn="OFF" baseAddressDataOut="0x123" baseAddressLUT="0x123" />
 </extraparam>
 </SUBCOMPONENT>
 
-<CONNECTOR type="125" id="7536" >
+<CONNECTOR type="125" id="7561" >
 <cdparam x="1367" y="660" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="{info}" />
-<P1  x="1367" y="660" id="6997" />
-<P2  x="1076" y="660" id="7023" />
+<P1  x="1367" y="660" id="7022" />
+<P2  x="1076" y="660" id="7048" />
 <AutomaticDrawing  data="true" />
 <extraparam>
 <info priority="0" />
 <spy value="false" />
 </extraparam>
 </CONNECTOR>
-<CONNECTOR type="125" id="7537" >
+<CONNECTOR type="125" id="7562" >
 <cdparam x="1147" y="508" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="{info}" />
-<P1  x="1147" y="508" id="7183" />
-<P2  x="1076" y="635" id="7021" />
+<P1  x="1147" y="508" id="7208" />
+<P2  x="1076" y="635" id="7046" />
 <AutomaticDrawing  data="true" />
 <extraparam>
 <info priority="0" />
 <spy value="false" />
 </extraparam>
 </CONNECTOR>
-<CONNECTOR type="125" id="7538" >
+<CONNECTOR type="125" id="7563" >
 <cdparam x="1298" y="875" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="{info}" />
-<P1  x="1249" y="850" id="7331" />
-<P2  x="1076" y="685" id="7026" />
+<P1  x="1249" y="850" id="7356" />
+<P2  x="1076" y="685" id="7051" />
 <AutomaticDrawing  data="true" />
 <extraparam>
 <info priority="0" />
 <spy value="false" />
 </extraparam>
 </CONNECTOR>
-<CONNECTOR type="125" id="7539" >
+<CONNECTOR type="125" id="7564" >
 <cdparam x="1019" y="805" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="{info}" />
-<P1  x="970" y="780" id="7356" />
-<P2  x="864" y="685" id="7034" />
+<P1  x="970" y="780" id="7381" />
+<P2  x="864" y="685" id="7059" />
 <AutomaticDrawing  data="true" />
 <extraparam>
 <info priority="0" />
 <spy value="false" />
 </extraparam>
 </CONNECTOR>
-<CONNECTOR type="125" id="7540" >
+<CONNECTOR type="125" id="7565" >
 <cdparam x="1004" y="531" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="{info}" />
-<P1  x="960" y="566" id="7286" />
-<P2  x="864" y="635" id="7028" />
+<P1  x="960" y="566" id="7311" />
+<P2  x="864" y="635" id="7053" />
 <AutomaticDrawing  data="true" />
 <extraparam>
 <info priority="0" />
 <spy value="false" />
 </extraparam>
 </CONNECTOR>
-<CONNECTOR type="125" id="7541" >
+<CONNECTOR type="125" id="7566" >
 <cdparam x="1185" y="660" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="{info}" />
-<P1  x="1467" y="660" id="6998" />
-<P2  x="1527" y="660" id="6972" />
+<P1  x="1467" y="660" id="7023" />
+<P2  x="1527" y="660" id="6997" />
 <AutomaticDrawing  data="true" />
 <extraparam>
 <info priority="0" />
 <spy value="false" />
 </extraparam>
 </CONNECTOR>
-<CONNECTOR type="125" id="7542" >
+<CONNECTOR type="125" id="7567" >
 <cdparam x="356" y="788" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="{info}" />
-<P1  x="356" y="788" id="7050" />
-<P2  x="356" y="832" id="7129" />
+<P1  x="356" y="788" id="7075" />
+<P2  x="356" y="832" id="7154" />
 <AutomaticDrawing  data="true" />
 <extraparam>
 <info priority="0" />
 <spy value="false" />
 </extraparam>
 </CONNECTOR>
-<CONNECTOR type="125" id="7543" >
+<CONNECTOR type="125" id="7568" >
 <cdparam x="554" y="806" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="{info}" />
-<P1  x="560" y="807" id="6713" />
-<P2  x="442" y="685" id="7033" />
+<P1  x="560" y="807" id="6738" />
+<P2  x="442" y="685" id="7058" />
 <AutomaticDrawing  data="true" />
 <extraparam>
 <info priority="0" />
 <spy value="false" />
 </extraparam>
 </CONNECTOR>
-<CONNECTOR type="125" id="7544" >
+<CONNECTOR type="125" id="7569" >
 <cdparam x="559" y="863" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="{info}" />
-<P1  x="560" y="857" id="6716" />
-<P2  x="481" y="857" id="7132" />
+<P1  x="560" y="857" id="6741" />
+<P2  x="481" y="857" id="7157" />
 <AutomaticDrawing  data="true" />
 <extraparam>
 <info priority="0" />
 <spy value="false" />
 </extraparam>
 </CONNECTOR>
-<CONNECTOR type="125" id="7545" >
+<CONNECTOR type="125" id="7570" >
 <cdparam x="586" y="970" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="{info}" />
-<P1  x="541" y="949" id="7070" />
-<P2  x="418" y="882" id="7143" />
+<P1  x="541" y="949" id="7095" />
+<P2  x="418" y="882" id="7168" />
 <AutomaticDrawing  data="true" />
 <extraparam>
 <info priority="0" />
 <spy value="false" />
 </extraparam>
 </CONNECTOR>
-<CONNECTOR type="125" id="7546" >
+<CONNECTOR type="125" id="7571" >
 <cdparam x="165" y="927" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="{info}" />
-<P1  x="208" y="938" id="7104" />
-<P2  x="293" y="882" id="7142" />
+<P1  x="208" y="938" id="7129" />
+<P2  x="293" y="882" id="7167" />
 <AutomaticDrawing  data="true" />
 <extraparam>
 <info priority="0" />
 <spy value="false" />
 </extraparam>
 </CONNECTOR>
-<CONNECTOR type="125" id="7547" >
+<CONNECTOR type="125" id="7572" >
 <cdparam x="355" y="576" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="{info}" />
-<P1  x="356" y="580" id="6828" />
-<P2  x="231" y="635" id="7019" />
+<P1  x="356" y="580" id="6853" />
+<P2  x="231" y="635" id="7044" />
 <AutomaticDrawing  data="true" />
 <extraparam>
 <info priority="0" />
 <spy value="false" />
 </extraparam>
 </CONNECTOR>
-<CONNECTOR type="125" id="7548" >
+<CONNECTOR type="125" id="7573" >
 <cdparam x="355" y="541" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="{info}" />
-<P1  x="356" y="545" id="6823" />
-<P2  x="356" y="497" id="7159" />
+<P1  x="356" y="545" id="6848" />
+<P2  x="356" y="497" id="7184" />
 <AutomaticDrawing  data="true" />
 <extraparam>
 <info priority="0" />
 <spy value="false" />
 </extraparam>
 </CONNECTOR>
-<CONNECTOR type="125" id="7549" >
+<CONNECTOR type="125" id="7574" >
 <cdparam x="543" y="522" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="{info}" />
-<P1  x="543" y="522" id="6743" />
-<P2  x="442" y="635" id="7027" />
+<P1  x="543" y="522" id="6768" />
+<P2  x="442" y="635" id="7052" />
 <AutomaticDrawing  data="true" />
 <extraparam>
 <info priority="0" />
 <spy value="false" />
 </extraparam>
 </CONNECTOR>
-<CONNECTOR type="125" id="7550" >
+<CONNECTOR type="125" id="7575" >
 <cdparam x="536" y="475" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="{info}" />
-<P1  x="543" y="472" id="6741" />
-<P2  x="481" y="472" id="7157" />
+<P1  x="543" y="472" id="6766" />
+<P2  x="481" y="472" id="7182" />
 <AutomaticDrawing  data="true" />
 <extraparam>
 <info priority="0" />
 <spy value="false" />
 </extraparam>
 </CONNECTOR>
-<CONNECTOR type="125" id="7551" >
+<CONNECTOR type="125" id="7576" >
 <cdparam x="549" y="337" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="{info}" />
-<P1  x="454" y="395" id="6769" />
-<P2  x="418" y="447" id="7162" />
+<P1  x="454" y="395" id="6794" />
+<P2  x="418" y="447" id="7187" />
 <AutomaticDrawing  data="true" />
 <extraparam>
 <info priority="0" />
 <spy value="false" />
 </extraparam>
 </CONNECTOR>
-<CONNECTOR type="125" id="7552" >
+<CONNECTOR type="125" id="7577" >
 <cdparam x="155" y="323" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="{info}" />
-<P1  x="155" y="396" id="6803" />
-<P2  x="293" y="447" id="7161" />
+<P1  x="134" y="385" id="6828" />
+<P2  x="293" y="447" id="7186" />
 <AutomaticDrawing  data="true" />
 <extraparam>
 <info priority="0" />
 <spy value="false" />
 </extraparam>
 </CONNECTOR>
-<CONNECTOR type="125" id="7553" >
+<CONNECTOR type="125" id="7578" >
 <cdparam x="357" y="778" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="{info}" />
-<P1  x="356" y="737" id="7045" />
-<P2  x="231" y="685" id="7024" />
+<P1  x="356" y="737" id="7070" />
+<P2  x="231" y="685" id="7049" />
 <AutomaticDrawing  data="true" />
 <extraparam>
 <info priority="0" />
 <spy value="false" />
 </extraparam>
 </CONNECTOR>
-<CONNECTOR type="125" id="7554" >
+<CONNECTOR type="125" id="7579" >
 <cdparam x="1654" y="758" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="{info}" />
-<P1  x="1652" y="737" id="6848" />
-<P2  x="1652" y="685" id="6975" />
+<P1  x="1652" y="737" id="6873" />
+<P2  x="1652" y="685" id="7000" />
 <AutomaticDrawing  data="true" />
 <extraparam>
 <info priority="0" />
 <spy value="false" />
 </extraparam>
 </CONNECTOR>
-<CONNECTOR type="125" id="7555" >
+<CONNECTOR type="125" id="7580" >
 <cdparam x="1651" y="573" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="{info}" />
-<P1  x="1652" y="586" id="6950" />
-<P2  x="1652" y="635" id="6970" />
+<P1  x="1652" y="586" id="6975" />
+<P2  x="1652" y="635" id="6995" />
 <AutomaticDrawing  data="true" />
 <extraparam>
 <info priority="0" />
 <spy value="false" />
 </extraparam>
 </CONNECTOR>
-<CONNECTOR type="125" id="7556" >
+<CONNECTOR type="125" id="7581" >
 <cdparam x="959" y="527" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="{info}" />
-<P1  x="960" y="531" id="7281" />
-<P2  x="960" y="483" id="7311" />
+<P1  x="960" y="531" id="7306" />
+<P2  x="960" y="483" id="7336" />
 <AutomaticDrawing  data="true" />
 <extraparam>
 <info priority="0" />
 <spy value="false" />
 </extraparam>
 </CONNECTOR>
-<CONNECTOR type="125" id="7557" >
+<CONNECTOR type="125" id="7582" >
 <cdparam x="1140" y="461" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="{info}" />
-<P1  x="1147" y="458" id="7181" />
-<P2  x="1085" y="458" id="7309" />
+<P1  x="1147" y="458" id="7206" />
+<P2  x="1085" y="458" id="7334" />
 <AutomaticDrawing  data="true" />
 <extraparam>
 <info priority="0" />
 <spy value="false" />
 </extraparam>
 </CONNECTOR>
-<CONNECTOR type="125" id="7558" >
+<CONNECTOR type="125" id="7583" >
 <cdparam x="1189" y="374" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="{info}" />
-<P1  x="1022" y="376" id="7209" />
-<P2  x="1022" y="433" id="7314" />
+<P1  x="1022" y="376" id="7234" />
+<P2  x="1022" y="433" id="7339" />
 <AutomaticDrawing  data="true" />
 <extraparam>
 <info priority="0" />
 <spy value="false" />
 </extraparam>
 </CONNECTOR>
-<CONNECTOR type="125" id="7559" >
+<CONNECTOR type="125" id="7584" >
 <cdparam x="795" y="360" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="{info}" />
-<P1  x="738" y="384" id="7261" />
-<P2  x="897" y="433" id="7313" />
+<P1  x="738" y="384" id="7286" />
+<P2  x="897" y="433" id="7338" />
 <AutomaticDrawing  data="true" />
 <extraparam>
 <info priority="0" />
 <spy value="false" />
 </extraparam>
 </CONNECTOR>
-<CONNECTOR type="125" id="7560" >
+<CONNECTOR type="125" id="7585" >
 <cdparam x="970" y="831" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="{info}" />
-<P1  x="970" y="831" id="7361" />
-<P2  x="970" y="875" id="7440" />
+<P1  x="970" y="831" id="7386" />
+<P2  x="970" y="875" id="7465" />
 <AutomaticDrawing  data="true" />
 <extraparam>
 <info priority="0" />
 <spy value="false" />
 </extraparam>
 </CONNECTOR>
-<CONNECTOR type="125" id="7561" >
+<CONNECTOR type="125" id="7586" >
 <cdparam x="1173" y="906" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="{info}" />
-<P1  x="1174" y="900" id="7333" />
-<P2  x="1095" y="900" id="7443" />
+<P1  x="1174" y="900" id="7358" />
+<P2  x="1095" y="900" id="7468" />
 <AutomaticDrawing  data="true" />
 <extraparam>
 <info priority="0" />
 <spy value="false" />
 </extraparam>
 </CONNECTOR>
-<CONNECTOR type="125" id="7562" >
+<CONNECTOR type="125" id="7587" >
 <cdparam x="1200" y="1013" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="{info}" />
-<P1  x="1200" y="978" id="7381" />
-<P2  x="1032" y="925" id="7454" />
+<P1  x="1200" y="978" id="7406" />
+<P2  x="1032" y="925" id="7479" />
 <AutomaticDrawing  data="true" />
 <extraparam>
 <info priority="0" />
 <spy value="false" />
 </extraparam>
 </CONNECTOR>
-<CONNECTOR type="125" id="7563" >
+<CONNECTOR type="125" id="7588" >
 <cdparam x="779" y="970" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="{info}" />
-<P1  x="868" y="981" id="7415" />
-<P2  x="907" y="925" id="7453" />
+<P1  x="868" y="981" id="7440" />
+<P2  x="907" y="925" id="7478" />
 <AutomaticDrawing  data="true" />
 <extraparam>
 <info priority="0" />
diff --git a/src/main/java/tmltranslator/HwFPGA.java b/src/main/java/tmltranslator/HwFPGA.java
new file mode 100755
index 0000000000..c97a353429
--- /dev/null
+++ b/src/main/java/tmltranslator/HwFPGA.java
@@ -0,0 +1,86 @@
+/* Copyright or (C) or Copr. GET / ENST, Telecom-Paris, Ludovic Apvrille
+ *
+ * ludovic.apvrille AT enst.fr
+ *
+ * This software is a computer program whose purpose is to allow the
+ * edition of TURTLE analysis, design and deployment diagrams, to
+ * allow the generation of RT-LOTOS or Java code from this diagram,
+ * and at last to allow the analysis of formal validation traces
+ * obtained from external tools, e.g. RTL from LAAS-CNRS and CADP
+ * from INRIA Rhone-Alpes.
+ *
+ * This software is governed by the CeCILL  license under French law and
+ * abiding by the rules of distribution of free software.  You can  use,
+ * modify and/ or redistribute the software under the terms of the CeCILL
+ * license as circulated by CEA, CNRS and INRIA at the following URL
+ * "http://www.cecill.info".
+ *
+ * As a counterpart to the access to the source code and  rights to copy,
+ * modify and redistribute granted by the license, users are provided only
+ * with a limited warranty  and the software's author,  the holder of the
+ * economic rights,  and the successive licensors  have only  limited
+ * liability.
+ *
+ * In this respect, the user's attention is drawn to the risks associated
+ * with loading,  using,  modifying and/or developing or reproducing the
+ * software by the user in light of its specific status of free software,
+ * that may mean  that it is complicated to manipulate,  and  that  also
+ * therefore means  that it is reserved for developers  and  experienced
+ * professionals having in-depth computer knowledge. Users are therefore
+ * encouraged to load and test the software's suitability as regards their
+ * requirements in conditions enabling the security of their systems and/or
+ * data to be ensured and,  more generally, to use and operate it in the
+ * same conditions as regards security.
+ *
+ * The fact that you are presently reading this means that you have had
+ * knowledge of the CeCILL license and that you accept its terms.
+ */
+
+
+package tmltranslator;
+
+import tmltranslator.modelcompiler.ArchUnitMEC;
+
+
+/**
+ * Class HwFPGA
+ * Creation: 07/02/2018
+ *
+ * @author Ludovic APVRILLE
+ * @version 1.0 07/02/2018
+ */
+public class HwFPGA extends HwExecutionNode {
+
+
+    public static final int DEFAULT_BYTE_DATA_SIZE = 4;
+    public static final int DEFAULT_GO_IDLE_TIME = 10;
+    public static final int DEFAULT_MAX_CONSECUTIVE_IDLE_CYCLES = 10;
+    public static final int DEFAULT_CAPACITY = 100;
+    public static final int DEFAULT_MAPPING_PENALTY = 0;
+    public static final int DEFAULT_RECONFIGURATION_TIME = 50;
+
+
+
+    public int byteDataSize = DEFAULT_BYTE_DATA_SIZE; // Should be greater than 0
+    public int goIdleTime = DEFAULT_GO_IDLE_TIME; // Should be greater or equal to 0
+    public int maxConsecutiveIdleCycles = DEFAULT_MAX_CONSECUTIVE_IDLE_CYCLES; // Should be greater or equal to 0
+    public int capacity = HwFPGA.DEFAULT_CAPACITY;
+    public int mappingPenalty = HwFPGA.DEFAULT_MAPPING_PENALTY;
+    public int reconfigurationTime = HwFPGA.DEFAULT_RECONFIGURATION_TIME;
+
+    public HwFPGA(String _name) {
+        super(_name);
+    }
+
+    public String getType() {
+        return "FPGA";
+    }
+
+    public String toXML() {
+        String s = "<FPGA name=\"" + name + "\" clockRatio=\"" + clockRatio + "\"  byteDataSize=\"" + byteDataSize + "\" execiTime=\"" + execiTime + "\" execcTime=\"" + execcTime + "\" pipelineSize=\"";
+        s +=  "\" capacity=\"" + capacity + "\" mappingPenalty=\"" + mappingPenalty + "\" reconfigurationTime=\"" + reconfigurationTime + "\" />\n";
+        return s;
+    }
+
+
+}
diff --git a/src/main/java/ui/ActionPerformer.java b/src/main/java/ui/ActionPerformer.java
index 17bb41bfb4..df9b9002ce 100755
--- a/src/main/java/ui/ActionPerformer.java
+++ b/src/main/java/ui/ActionPerformer.java
@@ -841,6 +841,8 @@ public class ActionPerformer {
             mgui.actionOnButton(TGComponentManager.CONNECTOR, TGComponentManager.CONNECTOR_NODE_TMLARCHI);
         } else if (command.equals(mgui.actions[TGUIAction.TMLARCHI_CPUNODE].getActionCommand())) {
             mgui.actionOnButton(TGComponentManager.COMPONENT, TGComponentManager.TMLARCHI_CPUNODE);
+        } else if (command.equals(mgui.actions[TGUIAction.TMLARCHI_FPGANODE].getActionCommand())) {
+            mgui.actionOnButton(TGComponentManager.COMPONENT, TGComponentManager.TMLARCHI_FPGANODE);
         } else if (command.equals(mgui.actions[TGUIAction.TMLARCHI_BUSNODE].getActionCommand())) {
             mgui.actionOnButton(TGComponentManager.COMPONENT, TGComponentManager.TMLARCHI_BUSNODE);
         } else if (command.equals(mgui.actions[TGUIAction.TMLARCHI_CPNODE].getActionCommand())) {
diff --git a/src/main/java/ui/MainGUI.java b/src/main/java/ui/MainGUI.java
index 56af9f827c..31ff321f91 100644
--- a/src/main/java/ui/MainGUI.java
+++ b/src/main/java/ui/MainGUI.java
@@ -642,6 +642,10 @@ public class MainGUI implements ActionListener, WindowListener, KeyListener, Per
         return file.getAbsolutePath();
     }
 
+    public boolean isExperimentalOn() {
+        return experimentalOn;
+    }
+
     public void periodicAction() {
         //TraceManager.addDev("Autosaving ");
         if (file == null) {
@@ -8922,6 +8926,8 @@ public class MainGUI implements ActionListener, WindowListener, KeyListener, Per
         }
 
 
+
+
         private JMenuItem createMenuItem(String s) {
             JMenuItem item = new JMenuItem(s);
             item.setActionCommand(s);
diff --git a/src/main/java/ui/TGComponentManager.java b/src/main/java/ui/TGComponentManager.java
index 4a624712ed..dacd22c786 100755
--- a/src/main/java/ui/TGComponentManager.java
+++ b/src/main/java/ui/TGComponentManager.java
@@ -38,15 +38,12 @@
  */
 
 
-
-
 package ui;
 
 //import java.awt.*;
 
 import ui.ad.*;
 import ui.atd.*;
-import ui.ftd.*;
 import ui.avatarad.*;
 import ui.avatarbd.*;
 import ui.avatarcd.*;
@@ -62,6 +59,10 @@ import ui.dd.TDDNode;
 import ui.dd.TGConnectorLinkNode;
 import ui.diplodocusmethodology.*;
 import ui.ebrdd.*;
+import ui.ftd.*;
+import ui.het.CAMSBlock;
+import ui.het.CAMSBlockConnector;
+import ui.het.CAMSConnectingPoint;
 import ui.iod.*;
 import ui.ncdd.*;
 import ui.osad.*;
@@ -76,7 +77,6 @@ import ui.tmlcompd.*;
 import ui.tmlcp.*;
 import ui.tmldd.*;
 import ui.tmlsd.*;
-import ui.het.*;
 import ui.ucd.*;
 
 import java.awt.*;
@@ -89,8 +89,9 @@ import java.util.Vector;
  * Class TGComponentManager
  * Definition and creation of all possible graphical components of TTool
  * Creation: 21/12/2003
- * @version 1.3 27/01/2016
+ *
  * @author Ludovic APVRILLE, Andrea ENRICI
+ * @version 1.3 27/01/2016
  */
 public class TGComponentManager {
 
@@ -202,7 +203,7 @@ public class TGComponentManager {
     public static final int SD_TIME_INTERVAL = 608;
     public static final int SD_COREGION = 600;
 
-    
+
     public static final int SDZV_INSTANCE = 620;
     public static final int SDZV_ABSOLUTE_TIME_CONSTRAINT = 621;
     public static final int SDZV_RELATIVE_TIME_CONSTRAINT = 622;
@@ -279,6 +280,7 @@ public class TGComponentManager {
     public static final int TMLARCHI_VGMNNODE = 1112;
     public static final int TMLARCHI_CROSSBARNODE = 1113;
     public static final int TMLARCHI_FIREWALL = 1114;
+    public static final int TMLARCHI_FPGANODE = 1116;
 
     public static final int TMLCTD_CCOMPONENT = 1200;
     public static final int TMLCTD_CPORT = 1201;
@@ -335,19 +337,19 @@ public class TGComponentManager {
 
     // SystemC-AMS
     public static final int CAMS_CONNECTOR = 1601;
-    public static final int CAMS_BLOCK = 1602 ;
+    public static final int CAMS_BLOCK = 1602;
 
     // SMD diagram
     public static final int PROSMD_START_STATE = 2000;
     public static final int PROSMD_STOP_STATE = 2001;
     public static final int PROSMD_SENDMSG = 2002;
     public static final int PROSMD_GETMSG = 2004;
-    public static final int PROSMD_CHOICE=2006;
-    public static final int PROSMD_JUNCTION=2008;
-    public static final int PROSMD_SUBMACHINE=2010;
-    public static final int PROSMD_ACTION=2012;
-    public static final int PROSMD_PARALLEL=2014;
-    public static final int PROSMD_STATE=2016;
+    public static final int PROSMD_CHOICE = 2006;
+    public static final int PROSMD_JUNCTION = 2008;
+    public static final int PROSMD_SUBMACHINE = 2010;
+    public static final int PROSMD_ACTION = 2012;
+    public static final int PROSMD_PARALLEL = 2014;
+    public static final int PROSMD_STATE = 2016;
     // CSD diagram
     public static final int PROCSD_COMPONENT = 2100;
     //No more delegate ports, by Solange
@@ -512,10 +514,10 @@ public class TGComponentManager {
     public static final int CONNECTOR = 1;
 
 
-    public  static LinkedList<ADDConnector> addconnectors = new LinkedList<ADDConnector>(); //DG 21.02.
+    public static LinkedList<ADDConnector> addconnectors = new LinkedList<ADDConnector>(); //DG 21.02.
 
 
-    public static LinkedList<ADDConnector> getAllADDConnectors(){
+    public static LinkedList<ADDConnector> getAllADDConnectors() {
         return addconnectors;
     }//DG 21.02.
 
@@ -523,870 +525,872 @@ public class TGComponentManager {
         TGComponent tgc = null;
         switch (id) {
             // PLUGIN
-	case COMPONENT_PLUGIN:
-            tgc = new TGComponentPlugin(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-	    // AVATAR
-        case AVATARBD_BLOCK:
-            tgc = new AvatarBDBlock(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case AVATARBD_CRYPTOBLOCK:
-            tgc = new AvatarBDBlock(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            ((AvatarBDBlock)tgc).addCryptoElements();
-            break;
-        case AVATARBD_DATATYPE:
-            tgc = new AvatarBDDataType(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case AVATARBD_LIBRARYFUNCTION:
-            tgc = new AvatarBDLibraryFunction (x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case AVATARBD_CRYPTOLIBRARYFUNCTION:
-            tgc = new AvatarBDLibraryFunction (x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            ((AvatarBDLibraryFunction)tgc).addCryptoElements();
-            break;
-        case AVATARSMD_START_STATE:
-            tgc = new AvatarSMDStartState(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case AVATARSMD_STOP_STATE:
-            tgc = new AvatarSMDStopState(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case AVATARSMD_SEND_SIGNAL:
-            tgc = new AvatarSMDSendSignal(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case AVATARSMD_LIBRARY_FUNCTION_CALL:
-            tgc = new AvatarSMDLibraryFunctionCall (x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case AVATARSMD_RECEIVE_SIGNAL:
-            tgc = new AvatarSMDReceiveSignal(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case AVATARSMD_PARALLEL:
-            tgc = new AvatarSMDParallel(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case AVATARSMD_STATE:
-            tgc = new AvatarSMDState(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case AVATARSMD_CHOICE:
-            tgc = new AvatarSMDChoice(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case AVATARSMD_RANDOM:
-            tgc = new AvatarSMDRandom(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case AVATARSMD_SET_TIMER:
-            tgc = new AvatarSMDSetTimer(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case AVATARSMD_RESET_TIMER:
-            tgc = new AvatarSMDResetTimer(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case AVATARSMD_EXPIRE_TIMER:
-            tgc = new AvatarSMDExpireTimer(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-
-        case AVATARRD_REQUIREMENT:
-            tgc = new AvatarRDRequirement(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case AVATARRD_PROPERTY:
-            tgc = new AvatarRDProperty(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case AVATARRD_ELEMENT_REFERENCE:
-            tgc = new AvatarRDElementReference(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-
-        case AVATARMAD_ASSUMPTION:
-            tgc = new AvatarMADAssumption(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case AVATARMAD_DIAGRAM_REFERENCE:
-            tgc = new AvatarMADDiagramReference(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case AVATARMAD_ELEMENT_REFERENCE:
-            tgc = new AvatarMADElementReference(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
+            case COMPONENT_PLUGIN:
+                tgc = new TGComponentPlugin(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            // AVATAR
+            case AVATARBD_BLOCK:
+                tgc = new AvatarBDBlock(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case AVATARBD_CRYPTOBLOCK:
+                tgc = new AvatarBDBlock(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                ((AvatarBDBlock) tgc).addCryptoElements();
+                break;
+            case AVATARBD_DATATYPE:
+                tgc = new AvatarBDDataType(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case AVATARBD_LIBRARYFUNCTION:
+                tgc = new AvatarBDLibraryFunction(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case AVATARBD_CRYPTOLIBRARYFUNCTION:
+                tgc = new AvatarBDLibraryFunction(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                ((AvatarBDLibraryFunction) tgc).addCryptoElements();
+                break;
+            case AVATARSMD_START_STATE:
+                tgc = new AvatarSMDStartState(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case AVATARSMD_STOP_STATE:
+                tgc = new AvatarSMDStopState(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case AVATARSMD_SEND_SIGNAL:
+                tgc = new AvatarSMDSendSignal(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case AVATARSMD_LIBRARY_FUNCTION_CALL:
+                tgc = new AvatarSMDLibraryFunctionCall(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case AVATARSMD_RECEIVE_SIGNAL:
+                tgc = new AvatarSMDReceiveSignal(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case AVATARSMD_PARALLEL:
+                tgc = new AvatarSMDParallel(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case AVATARSMD_STATE:
+                tgc = new AvatarSMDState(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case AVATARSMD_CHOICE:
+                tgc = new AvatarSMDChoice(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case AVATARSMD_RANDOM:
+                tgc = new AvatarSMDRandom(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case AVATARSMD_SET_TIMER:
+                tgc = new AvatarSMDSetTimer(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case AVATARSMD_RESET_TIMER:
+                tgc = new AvatarSMDResetTimer(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case AVATARSMD_EXPIRE_TIMER:
+                tgc = new AvatarSMDExpireTimer(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+
+            case AVATARRD_REQUIREMENT:
+                tgc = new AvatarRDRequirement(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case AVATARRD_PROPERTY:
+                tgc = new AvatarRDProperty(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case AVATARRD_ELEMENT_REFERENCE:
+                tgc = new AvatarRDElementReference(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+
+            case AVATARMAD_ASSUMPTION:
+                tgc = new AvatarMADAssumption(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case AVATARMAD_DIAGRAM_REFERENCE:
+                tgc = new AvatarMADDiagramReference(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case AVATARMAD_ELEMENT_REFERENCE:
+                tgc = new AvatarMADElementReference(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
 
             // AVATAR PD
-        case APD_BLOCK:
-            tgc = new AvatarPDBlock(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case APD_LOGICAL_CONSTRAINT:
-            tgc = new AvatarPDLogicalConstraint(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case APD_TEMPORAL_CONSTRAINT:
-            tgc = new AvatarPDTemporalConstraint(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case APD_ATTRIBUTE:
-            tgc = new AvatarPDAttribute(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case APD_SIGNAL:
-            tgc = new AvatarPDSignal(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case APD_ALIAS:
-            tgc = new AvatarPDAlias(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case APD_BOOLEQ:
-            tgc = new AvatarPDBoolEq(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case APD_ATTRIBUTE_SETTING:
-            tgc = new AvatarPDAttributeSetting(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case APD_PROPERTY:
-            tgc = new AvatarPDProperty(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case APD_PROPERTY_RELATION:
-            tgc = new AvatarPDPropertyRelation(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
+            case APD_BLOCK:
+                tgc = new AvatarPDBlock(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case APD_LOGICAL_CONSTRAINT:
+                tgc = new AvatarPDLogicalConstraint(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case APD_TEMPORAL_CONSTRAINT:
+                tgc = new AvatarPDTemporalConstraint(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case APD_ATTRIBUTE:
+                tgc = new AvatarPDAttribute(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case APD_SIGNAL:
+                tgc = new AvatarPDSignal(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case APD_ALIAS:
+                tgc = new AvatarPDAlias(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case APD_BOOLEQ:
+                tgc = new AvatarPDBoolEq(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case APD_ATTRIBUTE_SETTING:
+                tgc = new AvatarPDAttributeSetting(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case APD_PROPERTY:
+                tgc = new AvatarPDProperty(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case APD_PROPERTY_RELATION:
+                tgc = new AvatarPDPropertyRelation(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
 
             // AVATAR CD
-        case ACD_BLOCK:
-            tgc = new AvatarCDBlock(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case ACD_ACTOR_STICKMAN:
-            tgc = new AvatarCDActorStickman(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case ACD_ACTOR_BOX:
-            tgc = new AvatarCDActorBox(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
+            case ACD_BLOCK:
+                tgc = new AvatarCDBlock(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case ACD_ACTOR_STICKMAN:
+                tgc = new AvatarCDActorStickman(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case ACD_ACTOR_BOX:
+                tgc = new AvatarCDActorBox(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
 
             // AVATAR AD
-        case AAD_START_STATE:
-            tgc = new AvatarADStartState(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case AAD_STOP_STATE:
-            tgc = new AvatarADStopState(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case AAD_CHOICE:
-            tgc = new AvatarADChoice(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case AAD_JUNCTION:
-            tgc = new AvatarADJunction(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case AAD_PARALLEL:
-            tgc = new AvatarADParallel(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case AAD_ACTION:
-            tgc = new AvatarADAction(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case AAD_ACTIVITY:
-            tgc = new AvatarADActivity(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case AAD_STOP_FLOW:
-            tgc = new AvatarADStopFlow(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case AAD_SEND_SIGNAL_ACTION:
-            tgc = new AvatarADSendSignalAction(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case AAD_ACCEPT_EVENT_ACTION:
-            tgc = new AvatarADAcceptEventAction(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case AAD_PARTITION:
-            tgc = new AvatarADPartition(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
+            case AAD_START_STATE:
+                tgc = new AvatarADStartState(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case AAD_STOP_STATE:
+                tgc = new AvatarADStopState(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case AAD_CHOICE:
+                tgc = new AvatarADChoice(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case AAD_JUNCTION:
+                tgc = new AvatarADJunction(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case AAD_PARALLEL:
+                tgc = new AvatarADParallel(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case AAD_ACTION:
+                tgc = new AvatarADAction(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case AAD_ACTIVITY:
+                tgc = new AvatarADActivity(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case AAD_STOP_FLOW:
+                tgc = new AvatarADStopFlow(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case AAD_SEND_SIGNAL_ACTION:
+                tgc = new AvatarADSendSignalAction(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case AAD_ACCEPT_EVENT_ACTION:
+                tgc = new AvatarADAcceptEventAction(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case AAD_PARTITION:
+                tgc = new AvatarADPartition(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
 
             //AVATAR DD
-        case ADD_CPUNODE:
-            tgc = new ADDCPUNode(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case ADD_BUSNODE:
-            tgc = new ADDBusNode(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case ADD_VGMNNODE:
-            tgc = new ADDVgmnNode(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case ADD_CROSSBARNODE:
-            tgc = new ADDCrossbarNode(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case ADD_TTYNODE:
-            tgc = new ADDTTYNode(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case ADD_BRIDGENODE:
-            tgc = new ADDBridgeNode(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case ADD_RAMNODE:
-            tgc = new ADDRAMNode(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case ADD_ROMNODE:
-            tgc = new ADDROMNode(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case ADD_DMANODE:
-            tgc = new ADDDMANode(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case ADD_ICUNODE:
-            tgc = new ADDICUNode(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case ADD_COPROMWMRNODE:
-            tgc = new ADDCoproMWMRNode(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case ADD_TIMERNODE:
-            tgc = new ADDTimerNode(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case ADD_ARTIFACT:
-            tgc = new ADDBlockArtifact(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case ADD_CHANNELARTIFACT:
-            tgc = new ADDChannelArtifact(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
+            case ADD_CPUNODE:
+                tgc = new ADDCPUNode(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case ADD_BUSNODE:
+                tgc = new ADDBusNode(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case ADD_VGMNNODE:
+                tgc = new ADDVgmnNode(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case ADD_CROSSBARNODE:
+                tgc = new ADDCrossbarNode(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case ADD_TTYNODE:
+                tgc = new ADDTTYNode(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case ADD_BRIDGENODE:
+                tgc = new ADDBridgeNode(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case ADD_RAMNODE:
+                tgc = new ADDRAMNode(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case ADD_ROMNODE:
+                tgc = new ADDROMNode(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case ADD_DMANODE:
+                tgc = new ADDDMANode(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case ADD_ICUNODE:
+                tgc = new ADDICUNode(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case ADD_COPROMWMRNODE:
+                tgc = new ADDCoproMWMRNode(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case ADD_TIMERNODE:
+                tgc = new ADDTimerNode(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case ADD_ARTIFACT:
+                tgc = new ADDBlockArtifact(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case ADD_CHANNELARTIFACT:
+                tgc = new ADDChannelArtifact(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
 
             //AVATAR Methodology
-        case AVATARMETHODOLOGY_REF_ASSUMPTIONS:
-            tgc = new AvatarMethodologyReferenceToAssumptions(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case AVATARMETHODOLOGY_REF_REQUIREMENT:
-            tgc = new AvatarMethodologyReferenceToRequirement(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case AVATARMETHODOLOGY_REF_ANALYSIS:
-            tgc = new AvatarMethodologyReferenceToAnalysis(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case AVATARMETHODOLOGY_REF_DESIGN:
-            tgc = new AvatarMethodologyReferenceToDesign(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case AVATARMETHODOLOGY_REF_PROPERTIES:
-            tgc = new AvatarMethodologyReferenceToProperties(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case AVATARMETHODOLOGY_REF_PROTOTYPE:
-            tgc = new AvatarMethodologyReferenceToPrototype(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case AVATARMETHODOLOGY_DIAGRAM_NAME:
-            tgc = new AvatarMethodologyDiagramName(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
+            case AVATARMETHODOLOGY_REF_ASSUMPTIONS:
+                tgc = new AvatarMethodologyReferenceToAssumptions(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case AVATARMETHODOLOGY_REF_REQUIREMENT:
+                tgc = new AvatarMethodologyReferenceToRequirement(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case AVATARMETHODOLOGY_REF_ANALYSIS:
+                tgc = new AvatarMethodologyReferenceToAnalysis(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case AVATARMETHODOLOGY_REF_DESIGN:
+                tgc = new AvatarMethodologyReferenceToDesign(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case AVATARMETHODOLOGY_REF_PROPERTIES:
+                tgc = new AvatarMethodologyReferenceToProperties(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case AVATARMETHODOLOGY_REF_PROTOTYPE:
+                tgc = new AvatarMethodologyReferenceToPrototype(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case AVATARMETHODOLOGY_DIAGRAM_NAME:
+                tgc = new AvatarMethodologyDiagramName(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
 
             //SysML-Sec Methodology
-        case SYSMLSEC_METHODOLOGY_REF_ASSUMPTIONS:
-            tgc = new SysmlsecMethodologyReferenceToAssumptions(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case SYSMLSEC_METHODOLOGY_REF_REQUIREMENT:
-            tgc = new SysmlsecMethodologyReferenceToRequirement(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case SYSMLSEC_METHODOLOGY_REF_ANALYSIS:
-            tgc = new SysmlsecMethodologyReferenceToAnalysis(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case SYSMLSEC_METHODOLOGY_REF_DESIGN:
-            tgc = new SysmlsecMethodologyReferenceToDesign(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case SYSMLSEC_METHODOLOGY_REF_PROPERTIES:
-            tgc = new SysmlsecMethodologyReferenceToProperties(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case SYSMLSEC_METHODOLOGY_REF_PROTOTYPE:
-            tgc = new SysmlsecMethodologyReferenceToPrototype(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case SYSMLSEC_METHODOLOGY_REF_FUNCTIONAL_VIEW:
-            tgc = new SysmlsecMethodologyReferenceToApplication(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case SYSMLSEC_METHODOLOGY_REF_ARCHITECTURE_VIEW:
-            tgc = new SysmlsecMethodologyReferenceToArchitecture(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case SYSMLSEC_METHODOLOGY_REF_MAPPING_VIEW:
-            tgc = new SysmlsecMethodologyReferenceToMapping(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case SYSMLSEC_METHODOLOGY_REF_CP_VIEW:
-            tgc = new SysmlsecMethodologyReferenceToCP(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case SYSMLSEC_METHODOLOGY_REF_ATTACK:
-            tgc = new SysmlsecMethodologyReferenceToAttack(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case SYSMLSEC_METHODOLOGY_DIAGRAM_NAME:
-            tgc = new SysmlsecMethodologyDiagramName(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-
+            case SYSMLSEC_METHODOLOGY_REF_ASSUMPTIONS:
+                tgc = new SysmlsecMethodologyReferenceToAssumptions(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case SYSMLSEC_METHODOLOGY_REF_REQUIREMENT:
+                tgc = new SysmlsecMethodologyReferenceToRequirement(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case SYSMLSEC_METHODOLOGY_REF_ANALYSIS:
+                tgc = new SysmlsecMethodologyReferenceToAnalysis(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case SYSMLSEC_METHODOLOGY_REF_DESIGN:
+                tgc = new SysmlsecMethodologyReferenceToDesign(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case SYSMLSEC_METHODOLOGY_REF_PROPERTIES:
+                tgc = new SysmlsecMethodologyReferenceToProperties(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case SYSMLSEC_METHODOLOGY_REF_PROTOTYPE:
+                tgc = new SysmlsecMethodologyReferenceToPrototype(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case SYSMLSEC_METHODOLOGY_REF_FUNCTIONAL_VIEW:
+                tgc = new SysmlsecMethodologyReferenceToApplication(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case SYSMLSEC_METHODOLOGY_REF_ARCHITECTURE_VIEW:
+                tgc = new SysmlsecMethodologyReferenceToArchitecture(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case SYSMLSEC_METHODOLOGY_REF_MAPPING_VIEW:
+                tgc = new SysmlsecMethodologyReferenceToMapping(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case SYSMLSEC_METHODOLOGY_REF_CP_VIEW:
+                tgc = new SysmlsecMethodologyReferenceToCP(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case SYSMLSEC_METHODOLOGY_REF_ATTACK:
+                tgc = new SysmlsecMethodologyReferenceToAttack(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case SYSMLSEC_METHODOLOGY_DIAGRAM_NAME:
+                tgc = new SysmlsecMethodologyDiagramName(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
 
 
             // Others
-        case TAD_DETERMINISTIC_DELAY:
-            tgc = new TADDeterministicDelay(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case TAD_PARALLEL:
-            tgc = new TADParallel(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case TAD_SEQUENCE:
-            tgc = new TADSequence(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case TAD_PREEMPTION:
-            tgc = new TADPreemption(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case TAD_STOP_STATE:
-            tgc = new TADStopState(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case TAD_START_STATE:
-            tgc = new TADStartState(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case TAD_ACTION_STATE:
-            tgc = new TADActionState(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case TAD_ARRAY_GET:
-            tgc = new TADArrayGetState(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case TAD_ARRAY_SET:
-            tgc = new TADArraySetState(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case TAD_TIME_LIMITED_OFFER:
-            tgc = new TADTimeLimitedOffer(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case TAD_JUNCTION:
-            tgc = new TADJunction(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case TAD_NON_DETERMINISTIC_DELAY:
-            tgc = new TADNonDeterministicDelay(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case TAD_DELAY_NON_DETERMINISTIC_DELAY:
-            tgc = new TADTimeInterval(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case TAD_TIME_LIMITED_OFFER_WITH_LATENCY:
-            tgc = new TADTimeLimitedOfferWithLatency(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case TAD_TIME_CAPTURE:
-            tgc = new TADTimeCapture(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case TAD_CHOICE:
-            tgc = new TADChoice(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case TCD_TCLASS:
-            tgc = new TCDTClass(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case TCD_TOBJECT:
-            tgc = new TCDTObject(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case TCD_TDATA:
-            tgc = new TCDTData(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case TCD_PARALLEL_OPERATOR:
-            tgc = new TCDParallelOperator(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case TCD_SEQUENCE_OPERATOR:
-            tgc = new TCDSequenceOperator(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case TCD_PREEMPTION_OPERATOR:
-            tgc = new TCDPreemptionOperator(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case TCD_SYNCHRO_OPERATOR:
-            tgc = new TCDSynchroOperator(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case TCD_INVOCATION_OPERATOR:
-            tgc = new TCDInvocationOperator(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case TCD_WATCHDOG_OPERATOR:
-            tgc = new TCDWatchdogOperator(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case UML_NOTE:
-            tgc = new TGCNote(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case INFO_PANEL:
-            tgc = new TGCPanelInfo(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case PRAGMA:
-            tgc = new AvatarBDPragma(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case SAFETY_PRAGMA:
-            tgc = new AvatarBDSafetyPragma(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case PERFORMANCE_PRAGMA:
-            tgc = new AvatarBDPerformancePragma(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case AVATAR_FIREWALL:
-            tgc = new AvatarBDFirewall(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case IOD_CHOICE:
-            tgc = new IODChoice(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case IOD_START_STATE:
-            tgc = new IODStartState(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case IOD_STOP_STATE:
-            tgc = new IODStopState(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case IOD_JUNCTION:
-            tgc = new IODJunction(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case IOD_PARALLEL:
-            tgc = new IODParallel(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case IOD_REF_SD:
-            tgc = new IODRefSD(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case IOD_REF_IOD:
-            tgc = new IODRefIOD(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case IOD_PREEMPTION:
-            tgc = new IODPreemption(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case IOD_SEQUENCE:
-            tgc = new IODSequence(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case SD_INSTANCE:
-            tgc = new ui.sd.SDInstance(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case SD_ABSOLUTE_TIME_CONSTRAINT:
-            tgc = new ui.sd.SDAbsoluteTimeConstraint(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case SD_RELATIVE_TIME_CONSTRAINT:
-            tgc = new ui.sd.SDRelativeTimeConstraint(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case SD_ACTION_STATE:
-            tgc = new ui.sd.SDActionState(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case SD_GUARD:
-            tgc = new ui.sd.SDGuard(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case SD_TIME_INTERVAL:
-            tgc = new ui.sd.SDTimeInterval(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case SD_TIMER_SETTING:
-            tgc = new ui.sd.SDTimerSetting(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case SD_TIMER_EXPIRATION:
-            tgc = new ui.sd.SDTimerExpiration(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case SD_TIMER_CANCELLATION:
-            tgc = new ui.sd.SDTimerCancellation(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case SD_COREGION:
-            tgc = new ui.sd.SDCoregion(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-	    
-	case SDZV_INSTANCE:
-            tgc = new ui.sd2.SDInstance(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case SDZV_PORT_MESSAGE:
-            tgc = new ui.sd2.SDPortForMessage(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case SDZV_ABSOLUTE_TIME_CONSTRAINT:
-            tgc = new ui.sd2.SDAbsoluteTimeConstraint(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case SDZV_RELATIVE_TIME_CONSTRAINT:
-            tgc = new ui.sd2.SDRelativeTimeConstraint(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case SDZV_ACTION_STATE:
-            tgc = new ui.sd2.SDActionState(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case SDZV_GUARD:
-            tgc = new ui.sd2.SDGuard(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case SDZV_TIME_INTERVAL:
-            tgc = new ui.sd2.SDTimeInterval(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case SDZV_TIMER_SETTING:
-            tgc = new ui.sd2.SDTimerSetting(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case SDZV_TIMER_EXPIRATION:
-            tgc = new ui.sd2.SDTimerExpiration(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case SDZV_TIMER_CANCELLATION:
-            tgc = new ui.sd2.SDTimerCancellation(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case SDZV_COREGION:
-            tgc = new ui.sd2.SDCoregion(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-	    
-        case UCD_ACTOR:
-            tgc = new UCDActor(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case UCD_ACTORBOX:
-            tgc = new UCDActorBox(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case UCD_USECASE:
-            tgc = new UCDUseCase(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case UCD_BORDER:
-            tgc = new UCDBorder(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case TDD_NODE:
-            tgc = new TDDNode(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case TDD_ARTIFACT:
-            tgc = new TDDArtifact(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case EBRDD_START_STATE:
-            tgc = new EBRDDStartState(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case EBRDD_STOP_STATE:
-            tgc = new EBRDDStopState(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case EBRDD_CHOICE:
-            tgc = new EBRDDChoice(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case EBRDD_ERC:
-            tgc = new EBRDDERC(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case EBRDD_ACTION:
-            tgc = new EBRDDActionState(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case EBRDD_FOR_LOOP:
-            tgc = new EBRDDForLoop(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case EBRDD_VARIABLE_DECLARATION:
-            tgc = new EBRDDAttributeBox(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case EBRDD_SEQUENCE:
-            tgc = new EBRDDSequence(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case EBRDD_ESO:
-            tgc = new EBRDDESO(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case EBRDD_ERB:
-            tgc = new EBRDDERB(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case ATD_BLOCK:
-            tgc = new ATDBlock(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case ATD_ATTACK:
-            tgc = new ATDAttack(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case ATD_CONSTRAINT:
-            tgc = new ATDConstraint(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-	case ATD_COUNTERMEASURE:
-            tgc = new ATDCountermeasure(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-	case FTD_BLOCK:
-            tgc = new FTDBlock(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case FTD_FAULT:
-            tgc = new FTDFault(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case FTD_CONSTRAINT:
-            tgc = new FTDConstraint(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-	case FTD_COUNTERMEASURE:
-            tgc = new FTDCountermeasure(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case DIPLODODUSMETHODOLOGY_REF_APPLICATION:
-            tgc = new DiplodocusMethodologyDiagramReferenceToApplication(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case DIPLODODUSMETHODOLOGY_REF_CP:
-            tgc = new DiplodocusMethodologyDiagramReferenceToCP(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case DIPLODODUSMETHODOLOGY_REF_ARCHITECTURE:
-            tgc = new DiplodocusMethodologyDiagramReferenceToArchitecture(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case DIPLODODUSMETHODOLOGY_REF_MAPPING:
-            tgc = new DiplodocusMethodologyDiagramReferenceToMapping(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case DIPLODODUSMETHODOLOGY_REF_REQUIREMENT:
-            tgc = new DiplodocusMethodologyDiagramReferenceToRequirement(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case DIPLODODUSMETHODOLOGY_DIAGRAM_NAME:
-            tgc = new DiplodocusMethodologyDiagramName(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-
-        case TMLAD_START_STATE:
-            tgc = new TMLADStartState(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case TMLAD_STOP_STATE:
-            tgc = new TMLADStopState(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case TMLAD_WRITE_CHANNEL:
-            tgc = new TMLADWriteChannel(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case TMLAD_READ_CHANNEL:
-            tgc = new TMLADReadChannel(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case TMLAD_SEND_REQUEST:
-            tgc = new TMLADSendRequest(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case TMLAD_SEND_EVENT:
-            tgc = new TMLADSendEvent(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case TMLAD_WAIT_EVENT:
-            tgc = new TMLADWaitEvent(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case TMLAD_NOTIFIED_EVENT:
-            tgc = new TMLADNotifiedEvent(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case TMLTD_TASK:
-            tgc = new TMLTaskOperator(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case TMLTD_CHANNEL_OPERATOR:
-            tgc = new TMLChannelOperator(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case TMLTD_EVENT_OPERATOR:
-            tgc = new TMLEventOperator(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case TMLTD_REQUEST_OPERATOR:
-            tgc = new TMLRequestOperator(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case TMLAD_ACTION_STATE:
-            tgc = new TMLADActionState(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case TMLAD_CHOICE:
-            tgc = new TMLADChoice(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case TMLAD_EXECI:
-            tgc = new TMLADExecI(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case TMLAD_EXECI_INTERVAL:
-            tgc = new TMLADExecIInterval(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case TMLAD_EXECC:
-            tgc = new TMLADExecC(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case TMLAD_EXECC_INTERVAL:
-            tgc = new TMLADExecCInterval(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case TMLAD_DELAY:
-            tgc = new TMLADDelay(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case TMLAD_INTERVAL_DELAY:
-            tgc = new TMLADDelayInterval(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case TMLAD_FOR_LOOP:
-            tgc = new TMLADForLoop(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case TMLAD_FOR_STATIC_LOOP:
-            tgc = new TMLADForStaticLoop(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case TMLAD_FOR_EVER_LOOP:
-            tgc = new TMLADForEverLoop(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case TMLAD_READ_REQUEST_ARG:
-            tgc = new TMLADReadRequestArg(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case TMLAD_SEQUENCE:
-            tgc = new TMLADSequence(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case TMLAD_UNORDERED_SEQUENCE:
-            tgc = new TMLADUnorderedSequence(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case TMLAD_SELECT_EVT:
-            tgc = new TMLADSelectEvt(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case TMLAD_RANDOM:
-            tgc = new TMLADRandom(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case TMLAD_ENCRYPT:
-            tgc = new TMLADEncrypt(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case TMLAD_DECRYPT:
-            tgc = new TMLADDecrypt(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case TMLCTD_CCOMPONENT:
-            tgc = new TMLCCompositeComponent(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case TMLCTD_CREMOTECOMPONENT:
-            tgc = new TMLCRemoteCompositeComponent(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case TMLCTD_CREMOTEPORTCOMPONENT:
-            tgc = new TMLCRemotePortCompositeComponent(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case TMLCTD_CPORT:
-            tgc = new TMLCCompositePort(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case TMLCTD_JOIN:
-            tgc = new TMLCJoin(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case TMLCTD_FORK:
-            tgc = new TMLCFork(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case TMLCTD_PCOMPONENT:
-            tgc = new TMLCPrimitiveComponent(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case TMLCTD_RCOMPONENT:
-            tgc = new TMLCRecordComponent(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case TMLCTD_COPORT:
-            tgc = new TMLCChannelOutPort(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case TMLARCHI_CPUNODE:
-            tgc = new TMLArchiCPUNode(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case TMLARCHI_BUSNODE:
-            tgc = new TMLArchiBUSNode(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case TMLARCHI_VGMNNODE:
-            tgc = new TMLArchiVGMNNode(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case TMLARCHI_CROSSBARNODE:
-            tgc = new TMLArchiCrossbarNode(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case TMLARCHI_CPNODE:
-            tgc = new TMLArchiCPNode(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case TMLARCHI_BRIDGENODE:
-            tgc = new TMLArchiBridgeNode(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case TMLARCHI_FIREWALL:
-            tgc = new TMLArchiFirewallNode(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case TMLARCHI_HWANODE:
-            tgc = new TMLArchiHWANode(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-	case TMLARCHI_CAMSNODE:
-            tgc = new TMLArchiCAMSNode(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case TMLARCHI_MEMORYNODE:
-            tgc = new TMLArchiMemoryNode(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case TMLARCHI_DMANODE:
-            tgc = new TMLArchiDMANode(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case TMLARCHI_ARTIFACT:
-            tgc = new TMLArchiArtifact(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case TMLARCHI_COMMUNICATION_ARTIFACT:
-            tgc = new TMLArchiCommunicationArtifact(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case TMLARCHI_PORT_ARTIFACT:
-            tgc = new TMLArchiPortArtifact(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case TMLARCHI_EVENT_ARTIFACT:
-            tgc = new TMLArchiEventArtifact(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case TMLARCHI_KEY:
-            tgc = new TMLArchiKey(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-	case CAMS_BLOCK:
-	    tgc = new CAMSBlock(x,y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-	    break;
+            case TAD_DETERMINISTIC_DELAY:
+                tgc = new TADDeterministicDelay(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case TAD_PARALLEL:
+                tgc = new TADParallel(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case TAD_SEQUENCE:
+                tgc = new TADSequence(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case TAD_PREEMPTION:
+                tgc = new TADPreemption(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case TAD_STOP_STATE:
+                tgc = new TADStopState(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case TAD_START_STATE:
+                tgc = new TADStartState(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case TAD_ACTION_STATE:
+                tgc = new TADActionState(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case TAD_ARRAY_GET:
+                tgc = new TADArrayGetState(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case TAD_ARRAY_SET:
+                tgc = new TADArraySetState(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case TAD_TIME_LIMITED_OFFER:
+                tgc = new TADTimeLimitedOffer(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case TAD_JUNCTION:
+                tgc = new TADJunction(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case TAD_NON_DETERMINISTIC_DELAY:
+                tgc = new TADNonDeterministicDelay(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case TAD_DELAY_NON_DETERMINISTIC_DELAY:
+                tgc = new TADTimeInterval(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case TAD_TIME_LIMITED_OFFER_WITH_LATENCY:
+                tgc = new TADTimeLimitedOfferWithLatency(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case TAD_TIME_CAPTURE:
+                tgc = new TADTimeCapture(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case TAD_CHOICE:
+                tgc = new TADChoice(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case TCD_TCLASS:
+                tgc = new TCDTClass(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case TCD_TOBJECT:
+                tgc = new TCDTObject(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case TCD_TDATA:
+                tgc = new TCDTData(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case TCD_PARALLEL_OPERATOR:
+                tgc = new TCDParallelOperator(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case TCD_SEQUENCE_OPERATOR:
+                tgc = new TCDSequenceOperator(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case TCD_PREEMPTION_OPERATOR:
+                tgc = new TCDPreemptionOperator(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case TCD_SYNCHRO_OPERATOR:
+                tgc = new TCDSynchroOperator(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case TCD_INVOCATION_OPERATOR:
+                tgc = new TCDInvocationOperator(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case TCD_WATCHDOG_OPERATOR:
+                tgc = new TCDWatchdogOperator(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case UML_NOTE:
+                tgc = new TGCNote(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case INFO_PANEL:
+                tgc = new TGCPanelInfo(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case PRAGMA:
+                tgc = new AvatarBDPragma(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case SAFETY_PRAGMA:
+                tgc = new AvatarBDSafetyPragma(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case PERFORMANCE_PRAGMA:
+                tgc = new AvatarBDPerformancePragma(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case AVATAR_FIREWALL:
+                tgc = new AvatarBDFirewall(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case IOD_CHOICE:
+                tgc = new IODChoice(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case IOD_START_STATE:
+                tgc = new IODStartState(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case IOD_STOP_STATE:
+                tgc = new IODStopState(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case IOD_JUNCTION:
+                tgc = new IODJunction(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case IOD_PARALLEL:
+                tgc = new IODParallel(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case IOD_REF_SD:
+                tgc = new IODRefSD(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case IOD_REF_IOD:
+                tgc = new IODRefIOD(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case IOD_PREEMPTION:
+                tgc = new IODPreemption(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case IOD_SEQUENCE:
+                tgc = new IODSequence(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case SD_INSTANCE:
+                tgc = new ui.sd.SDInstance(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case SD_ABSOLUTE_TIME_CONSTRAINT:
+                tgc = new ui.sd.SDAbsoluteTimeConstraint(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case SD_RELATIVE_TIME_CONSTRAINT:
+                tgc = new ui.sd.SDRelativeTimeConstraint(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case SD_ACTION_STATE:
+                tgc = new ui.sd.SDActionState(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case SD_GUARD:
+                tgc = new ui.sd.SDGuard(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case SD_TIME_INTERVAL:
+                tgc = new ui.sd.SDTimeInterval(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case SD_TIMER_SETTING:
+                tgc = new ui.sd.SDTimerSetting(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case SD_TIMER_EXPIRATION:
+                tgc = new ui.sd.SDTimerExpiration(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case SD_TIMER_CANCELLATION:
+                tgc = new ui.sd.SDTimerCancellation(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case SD_COREGION:
+                tgc = new ui.sd.SDCoregion(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+
+            case SDZV_INSTANCE:
+                tgc = new ui.sd2.SDInstance(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case SDZV_PORT_MESSAGE:
+                tgc = new ui.sd2.SDPortForMessage(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case SDZV_ABSOLUTE_TIME_CONSTRAINT:
+                tgc = new ui.sd2.SDAbsoluteTimeConstraint(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case SDZV_RELATIVE_TIME_CONSTRAINT:
+                tgc = new ui.sd2.SDRelativeTimeConstraint(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case SDZV_ACTION_STATE:
+                tgc = new ui.sd2.SDActionState(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case SDZV_GUARD:
+                tgc = new ui.sd2.SDGuard(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case SDZV_TIME_INTERVAL:
+                tgc = new ui.sd2.SDTimeInterval(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case SDZV_TIMER_SETTING:
+                tgc = new ui.sd2.SDTimerSetting(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case SDZV_TIMER_EXPIRATION:
+                tgc = new ui.sd2.SDTimerExpiration(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case SDZV_TIMER_CANCELLATION:
+                tgc = new ui.sd2.SDTimerCancellation(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case SDZV_COREGION:
+                tgc = new ui.sd2.SDCoregion(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+
+            case UCD_ACTOR:
+                tgc = new UCDActor(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case UCD_ACTORBOX:
+                tgc = new UCDActorBox(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case UCD_USECASE:
+                tgc = new UCDUseCase(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case UCD_BORDER:
+                tgc = new UCDBorder(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case TDD_NODE:
+                tgc = new TDDNode(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case TDD_ARTIFACT:
+                tgc = new TDDArtifact(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case EBRDD_START_STATE:
+                tgc = new EBRDDStartState(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case EBRDD_STOP_STATE:
+                tgc = new EBRDDStopState(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case EBRDD_CHOICE:
+                tgc = new EBRDDChoice(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case EBRDD_ERC:
+                tgc = new EBRDDERC(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case EBRDD_ACTION:
+                tgc = new EBRDDActionState(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case EBRDD_FOR_LOOP:
+                tgc = new EBRDDForLoop(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case EBRDD_VARIABLE_DECLARATION:
+                tgc = new EBRDDAttributeBox(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case EBRDD_SEQUENCE:
+                tgc = new EBRDDSequence(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case EBRDD_ESO:
+                tgc = new EBRDDESO(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case EBRDD_ERB:
+                tgc = new EBRDDERB(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case ATD_BLOCK:
+                tgc = new ATDBlock(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case ATD_ATTACK:
+                tgc = new ATDAttack(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case ATD_CONSTRAINT:
+                tgc = new ATDConstraint(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case ATD_COUNTERMEASURE:
+                tgc = new ATDCountermeasure(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case FTD_BLOCK:
+                tgc = new FTDBlock(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case FTD_FAULT:
+                tgc = new FTDFault(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case FTD_CONSTRAINT:
+                tgc = new FTDConstraint(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case FTD_COUNTERMEASURE:
+                tgc = new FTDCountermeasure(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case DIPLODODUSMETHODOLOGY_REF_APPLICATION:
+                tgc = new DiplodocusMethodologyDiagramReferenceToApplication(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case DIPLODODUSMETHODOLOGY_REF_CP:
+                tgc = new DiplodocusMethodologyDiagramReferenceToCP(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case DIPLODODUSMETHODOLOGY_REF_ARCHITECTURE:
+                tgc = new DiplodocusMethodologyDiagramReferenceToArchitecture(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case DIPLODODUSMETHODOLOGY_REF_MAPPING:
+                tgc = new DiplodocusMethodologyDiagramReferenceToMapping(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case DIPLODODUSMETHODOLOGY_REF_REQUIREMENT:
+                tgc = new DiplodocusMethodologyDiagramReferenceToRequirement(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case DIPLODODUSMETHODOLOGY_DIAGRAM_NAME:
+                tgc = new DiplodocusMethodologyDiagramName(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+
+            case TMLAD_START_STATE:
+                tgc = new TMLADStartState(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case TMLAD_STOP_STATE:
+                tgc = new TMLADStopState(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case TMLAD_WRITE_CHANNEL:
+                tgc = new TMLADWriteChannel(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case TMLAD_READ_CHANNEL:
+                tgc = new TMLADReadChannel(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case TMLAD_SEND_REQUEST:
+                tgc = new TMLADSendRequest(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case TMLAD_SEND_EVENT:
+                tgc = new TMLADSendEvent(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case TMLAD_WAIT_EVENT:
+                tgc = new TMLADWaitEvent(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case TMLAD_NOTIFIED_EVENT:
+                tgc = new TMLADNotifiedEvent(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case TMLTD_TASK:
+                tgc = new TMLTaskOperator(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case TMLTD_CHANNEL_OPERATOR:
+                tgc = new TMLChannelOperator(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case TMLTD_EVENT_OPERATOR:
+                tgc = new TMLEventOperator(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case TMLTD_REQUEST_OPERATOR:
+                tgc = new TMLRequestOperator(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case TMLAD_ACTION_STATE:
+                tgc = new TMLADActionState(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case TMLAD_CHOICE:
+                tgc = new TMLADChoice(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case TMLAD_EXECI:
+                tgc = new TMLADExecI(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case TMLAD_EXECI_INTERVAL:
+                tgc = new TMLADExecIInterval(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case TMLAD_EXECC:
+                tgc = new TMLADExecC(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case TMLAD_EXECC_INTERVAL:
+                tgc = new TMLADExecCInterval(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case TMLAD_DELAY:
+                tgc = new TMLADDelay(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case TMLAD_INTERVAL_DELAY:
+                tgc = new TMLADDelayInterval(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case TMLAD_FOR_LOOP:
+                tgc = new TMLADForLoop(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case TMLAD_FOR_STATIC_LOOP:
+                tgc = new TMLADForStaticLoop(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case TMLAD_FOR_EVER_LOOP:
+                tgc = new TMLADForEverLoop(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case TMLAD_READ_REQUEST_ARG:
+                tgc = new TMLADReadRequestArg(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case TMLAD_SEQUENCE:
+                tgc = new TMLADSequence(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case TMLAD_UNORDERED_SEQUENCE:
+                tgc = new TMLADUnorderedSequence(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case TMLAD_SELECT_EVT:
+                tgc = new TMLADSelectEvt(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case TMLAD_RANDOM:
+                tgc = new TMLADRandom(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case TMLAD_ENCRYPT:
+                tgc = new TMLADEncrypt(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case TMLAD_DECRYPT:
+                tgc = new TMLADDecrypt(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case TMLCTD_CCOMPONENT:
+                tgc = new TMLCCompositeComponent(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case TMLCTD_CREMOTECOMPONENT:
+                tgc = new TMLCRemoteCompositeComponent(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case TMLCTD_CREMOTEPORTCOMPONENT:
+                tgc = new TMLCRemotePortCompositeComponent(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case TMLCTD_CPORT:
+                tgc = new TMLCCompositePort(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case TMLCTD_JOIN:
+                tgc = new TMLCJoin(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case TMLCTD_FORK:
+                tgc = new TMLCFork(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case TMLCTD_PCOMPONENT:
+                tgc = new TMLCPrimitiveComponent(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case TMLCTD_RCOMPONENT:
+                tgc = new TMLCRecordComponent(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case TMLCTD_COPORT:
+                tgc = new TMLCChannelOutPort(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case TMLARCHI_CPUNODE:
+                tgc = new TMLArchiCPUNode(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case TMLARCHI_FPGANODE:
+                tgc = new TMLArchiFPGANode(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case TMLARCHI_BUSNODE:
+                tgc = new TMLArchiBUSNode(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case TMLARCHI_VGMNNODE:
+                tgc = new TMLArchiVGMNNode(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case TMLARCHI_CROSSBARNODE:
+                tgc = new TMLArchiCrossbarNode(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case TMLARCHI_CPNODE:
+                tgc = new TMLArchiCPNode(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case TMLARCHI_BRIDGENODE:
+                tgc = new TMLArchiBridgeNode(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case TMLARCHI_FIREWALL:
+                tgc = new TMLArchiFirewallNode(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case TMLARCHI_HWANODE:
+                tgc = new TMLArchiHWANode(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case TMLARCHI_CAMSNODE:
+                tgc = new TMLArchiCAMSNode(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case TMLARCHI_MEMORYNODE:
+                tgc = new TMLArchiMemoryNode(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case TMLARCHI_DMANODE:
+                tgc = new TMLArchiDMANode(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case TMLARCHI_ARTIFACT:
+                tgc = new TMLArchiArtifact(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case TMLARCHI_COMMUNICATION_ARTIFACT:
+                tgc = new TMLArchiCommunicationArtifact(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case TMLARCHI_PORT_ARTIFACT:
+                tgc = new TMLArchiPortArtifact(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case TMLARCHI_EVENT_ARTIFACT:
+                tgc = new TMLArchiEventArtifact(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case TMLARCHI_KEY:
+                tgc = new TMLArchiKey(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case CAMS_BLOCK:
+                tgc = new CAMSBlock(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
 
             // Communication patterns + SD
-        case TMLCP_CHOICE:
-            tgc = new TMLCPChoice(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case TMLCP_FORK:
-            tgc = new TMLCPFork(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case TMLCP_JOIN:
-            tgc = new TMLCPJoin(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case TMLCP_REF_CP:
-            tgc = new TMLCPRefAD(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case TMLCP_REF_SD:
-            tgc = new TMLCPRefSD(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case TMLCP_START_STATE:
-            tgc = new TMLCPStartState(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case TMLCP_STOP_STATE:
-            tgc = new TMLCPStopState(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case TMLCP_JUNCTION:
-            tgc = new TMLCPJunction(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case TMLCP_FOR_LOOP:
-            tgc = new TMLCPForLoop(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case TMLSD_ACTION_STATE:
-            tgc = new TMLSDActionState(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case TMLSD_STORAGE_INSTANCE:
-            tgc = new TMLSDStorageInstance(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case TMLSD_CONTROLLER_INSTANCE:
-            tgc = new TMLSDControllerInstance(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case TMLSD_TRANSFER_INSTANCE:
-            tgc = new TMLSDTransferInstance(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
+            case TMLCP_CHOICE:
+                tgc = new TMLCPChoice(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case TMLCP_FORK:
+                tgc = new TMLCPFork(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case TMLCP_JOIN:
+                tgc = new TMLCPJoin(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case TMLCP_REF_CP:
+                tgc = new TMLCPRefAD(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case TMLCP_REF_SD:
+                tgc = new TMLCPRefSD(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case TMLCP_START_STATE:
+                tgc = new TMLCPStartState(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case TMLCP_STOP_STATE:
+                tgc = new TMLCPStopState(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case TMLCP_JUNCTION:
+                tgc = new TMLCPJunction(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case TMLCP_FOR_LOOP:
+                tgc = new TMLCPForLoop(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case TMLSD_ACTION_STATE:
+                tgc = new TMLSDActionState(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case TMLSD_STORAGE_INSTANCE:
+                tgc = new TMLSDStorageInstance(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case TMLSD_CONTROLLER_INSTANCE:
+                tgc = new TMLSDControllerInstance(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case TMLSD_TRANSFER_INSTANCE:
+                tgc = new TMLSDTransferInstance(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
 
             // Requirements
-        case TREQ_REQUIREMENT:
-            tgc = new Requirement(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case TREQ_OBSERVER:
-            tgc = new RequirementObserver(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case TREQ_EBRDD:
-            tgc = new EBRDDObserver(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case NCDD_EQNODE:
-            tgc = new NCEqNode(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case NCDD_SWITCHNODE:
-            tgc = new NCSwitchNode(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case NCDD_TRAFFIC_ARTIFACT:
-            tgc = new NCTrafficArtifact(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case NCDD_ROUTE_ARTIFACT:
-            tgc = new NCRouteArtifact(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case PROSMD_START_STATE:
-            tgc = new ProSMDStartState(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case PROSMD_STOP_STATE:
-            tgc = new ProSMDStopState(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case PROSMD_SENDMSG:
-            tgc = new ProSMDSendMsg(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case PROSMD_GETMSG:
-            tgc = new ProSMDGetMsg(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case PROSMD_CHOICE:
-            tgc = new ProSMDChoice(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case PROSMD_JUNCTION:
-            tgc = new ProSMDJunction(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case PROSMD_SUBMACHINE:
-            tgc = new ProSMDSubmachine(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case PROSMD_ACTION:
-            tgc = new ProSMDAction(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case PROSMD_PARALLEL:
-            tgc = new ProSMDParallel(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case PROSMD_STATE:
-            tgc = new ProSMDState(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case PROCSD_COMPONENT:
-            tgc = new ProCSDComponent(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
+            case TREQ_REQUIREMENT:
+                tgc = new Requirement(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case TREQ_OBSERVER:
+                tgc = new RequirementObserver(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case TREQ_EBRDD:
+                tgc = new EBRDDObserver(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case NCDD_EQNODE:
+                tgc = new NCEqNode(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case NCDD_SWITCHNODE:
+                tgc = new NCSwitchNode(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case NCDD_TRAFFIC_ARTIFACT:
+                tgc = new NCTrafficArtifact(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case NCDD_ROUTE_ARTIFACT:
+                tgc = new NCRouteArtifact(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case PROSMD_START_STATE:
+                tgc = new ProSMDStartState(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case PROSMD_STOP_STATE:
+                tgc = new ProSMDStopState(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case PROSMD_SENDMSG:
+                tgc = new ProSMDSendMsg(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case PROSMD_GETMSG:
+                tgc = new ProSMDGetMsg(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case PROSMD_CHOICE:
+                tgc = new ProSMDChoice(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case PROSMD_JUNCTION:
+                tgc = new ProSMDJunction(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case PROSMD_SUBMACHINE:
+                tgc = new ProSMDSubmachine(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case PROSMD_ACTION:
+                tgc = new ProSMDAction(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case PROSMD_PARALLEL:
+                tgc = new ProSMDParallel(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case PROSMD_STATE:
+                tgc = new ProSMDState(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case PROCSD_COMPONENT:
+                tgc = new ProCSDComponent(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
             /* No more delegate ports, by Solange
                case PROCSD_DELEGATE_PORT:
                tgc = new ProCSDDelegatePort(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
                break; */
-        case PROCSD_IN_PORT:
-            tgc = new ProCSDInPort(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case PROCSD_OUT_PORT:
-            tgc = new ProCSDOutPort(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case PROCSD_INTERFACE:
-            tgc = new ProCSDInterface(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case TOSCD_TCLASS:
-            tgc = new TOSClass(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case TOSCD_CALL_OPERATOR:
-            tgc = new TOSCallOperator(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case TOSCD_EVT_OPERATOR:
-            tgc = new TOSEvtOperator(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case TOSAD_ACTION_STATE:
-            tgc = new TOSADActionState(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case TOSAD_CHOICE:
-            tgc = new TOSADChoice(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case TOSAD_START_STATE:
-            tgc = new TOSADStartState(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case TOSAD_STOP_STATE:
-            tgc = new TOSADStopState(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case TOSAD_JUNCTION:
-            tgc = new TOSADJunction(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case TOSAD_TIME_INTERVAL:
-            tgc = new TOSADTimeInterval(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        case TOSAD_INT_TIME_INTERVAL:
-            tgc = new TOSADIntTimeInterval(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
-            break;
-        default:
-            break;
+            case PROCSD_IN_PORT:
+                tgc = new ProCSDInPort(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case PROCSD_OUT_PORT:
+                tgc = new ProCSDOutPort(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case PROCSD_INTERFACE:
+                tgc = new ProCSDInterface(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case TOSCD_TCLASS:
+                tgc = new TOSClass(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case TOSCD_CALL_OPERATOR:
+                tgc = new TOSCallOperator(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case TOSCD_EVT_OPERATOR:
+                tgc = new TOSEvtOperator(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case TOSAD_ACTION_STATE:
+                tgc = new TOSADActionState(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case TOSAD_CHOICE:
+                tgc = new TOSADChoice(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case TOSAD_START_STATE:
+                tgc = new TOSADStartState(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case TOSAD_STOP_STATE:
+                tgc = new TOSADStopState(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case TOSAD_JUNCTION:
+                tgc = new TOSADJunction(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case TOSAD_TIME_INTERVAL:
+                tgc = new TOSADTimeInterval(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            case TOSAD_INT_TIME_INTERVAL:
+                tgc = new TOSADIntTimeInterval(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp);
+                break;
+            default:
+                break;
         }
         return tgc;
     }
 
 
     public final static int getType(TGComponent tgc) {
-	// PLUGIN
+        // PLUGIN
         if (tgc instanceof TGComponentPlugin) {
             return COMPONENT_PLUGIN;
 
-	    // AVATAR BD    
+            // AVATAR BD
         } else if (tgc instanceof AvatarBDBlock) {
             return AVATARBD_BLOCK;
-	} else if (tgc instanceof AvatarBDDataType) {
+        } else if (tgc instanceof AvatarBDDataType) {
             return AVATARBD_DATATYPE;
         } else if (tgc instanceof AvatarBDCompositionConnector) {
             return AVATARBD_COMPOSITION_CONNECTOR;
@@ -1396,7 +1400,6 @@ public class TGComponentManager {
             return AVATARBD_LIBRARYFUNCTION;
 
 
-
             // AVATAR SMD
         } else if (tgc instanceof AvatarSMDStartState) {
             return AVATARSMD_START_STATE;
@@ -1481,30 +1484,29 @@ public class TGComponentManager {
         } else if (tgc instanceof SysmlsecMethodologyReferenceToAssumptions) {
             return SYSMLSEC_METHODOLOGY_REF_ASSUMPTIONS;
         } else if (tgc instanceof SysmlsecMethodologyReferenceToRequirement) {
-            return  SYSMLSEC_METHODOLOGY_REF_REQUIREMENT;
+            return SYSMLSEC_METHODOLOGY_REF_REQUIREMENT;
         } else if (tgc instanceof SysmlsecMethodologyReferenceToAnalysis) {
-            return  SYSMLSEC_METHODOLOGY_REF_ANALYSIS;
+            return SYSMLSEC_METHODOLOGY_REF_ANALYSIS;
         } else if (tgc instanceof SysmlsecMethodologyReferenceToDesign) {
-            return  SYSMLSEC_METHODOLOGY_REF_DESIGN;
+            return SYSMLSEC_METHODOLOGY_REF_DESIGN;
         } else if (tgc instanceof SysmlsecMethodologyReferenceToProperties) {
-            return  SYSMLSEC_METHODOLOGY_REF_PROPERTIES;
+            return SYSMLSEC_METHODOLOGY_REF_PROPERTIES;
         } else if (tgc instanceof SysmlsecMethodologyReferenceToPrototype) {
-            return  SYSMLSEC_METHODOLOGY_REF_PROTOTYPE;
+            return SYSMLSEC_METHODOLOGY_REF_PROTOTYPE;
         } else if (tgc instanceof SysmlsecMethodologyDiagramName) {
-            return  SYSMLSEC_METHODOLOGY_DIAGRAM_NAME;
+            return SYSMLSEC_METHODOLOGY_DIAGRAM_NAME;
         } else if (tgc instanceof SysmlsecMethodologyConnector) {
-            return  SYSMLSEC_METHODOLOGY_CONNECTOR;
+            return SYSMLSEC_METHODOLOGY_CONNECTOR;
         } else if (tgc instanceof SysmlsecMethodologyReferenceToApplication) {
-            return  SYSMLSEC_METHODOLOGY_REF_FUNCTIONAL_VIEW;
+            return SYSMLSEC_METHODOLOGY_REF_FUNCTIONAL_VIEW;
         } else if (tgc instanceof SysmlsecMethodologyReferenceToArchitecture) {
-            return  SYSMLSEC_METHODOLOGY_REF_ARCHITECTURE_VIEW;
+            return SYSMLSEC_METHODOLOGY_REF_ARCHITECTURE_VIEW;
         } else if (tgc instanceof SysmlsecMethodologyReferenceToCP) {
-            return  SYSMLSEC_METHODOLOGY_REF_CP_VIEW;
+            return SYSMLSEC_METHODOLOGY_REF_CP_VIEW;
         } else if (tgc instanceof SysmlsecMethodologyReferenceToMapping) {
-            return  SYSMLSEC_METHODOLOGY_REF_MAPPING_VIEW;
+            return SYSMLSEC_METHODOLOGY_REF_MAPPING_VIEW;
         } else if (tgc instanceof SysmlsecMethodologyReferenceToAttack) {
-            return  SYSMLSEC_METHODOLOGY_REF_ATTACK;
-
+            return SYSMLSEC_METHODOLOGY_REF_ATTACK;
 
 
             // AVATAR MAD
@@ -1584,100 +1586,100 @@ public class TGComponentManager {
             return ACD_ACTOR_BOX;
         } else if (tgc instanceof AvatarCDCompositionConnector) {
             return ACD_COMPOSITION_CONNECTOR;
-        }  else if (tgc instanceof AvatarCDAssociationConnector) {
+        } else if (tgc instanceof AvatarCDAssociationConnector) {
             return ACD_ASSOCIATION_CONNECTOR;
 
             // AVATAR CD
-        }  else if (tgc instanceof AvatarADStartState) {
+        } else if (tgc instanceof AvatarADStartState) {
             return AAD_START_STATE;
-        }  else if (tgc instanceof AvatarADStopState) {
+        } else if (tgc instanceof AvatarADStopState) {
             return AAD_STOP_STATE;
-        }  else if (tgc instanceof AvatarADChoice) {
+        } else if (tgc instanceof AvatarADChoice) {
             return AAD_CHOICE;
-        }  else if (tgc instanceof AvatarADJunction) {
+        } else if (tgc instanceof AvatarADJunction) {
             return AAD_JUNCTION;
-        }  else if (tgc instanceof AvatarADParallel) {
+        } else if (tgc instanceof AvatarADParallel) {
             return AAD_PARALLEL;
-        }  else if (tgc instanceof AvatarADAction) {
+        } else if (tgc instanceof AvatarADAction) {
             return AAD_ACTION;
-        }  else if (tgc instanceof AvatarADActivity) {
+        } else if (tgc instanceof AvatarADActivity) {
             return AAD_ACTIVITY;
-        }  else if (tgc instanceof AvatarADStopFlow) {
+        } else if (tgc instanceof AvatarADStopFlow) {
             return AAD_STOP_FLOW;
-        }  else if (tgc instanceof AvatarADSendSignalAction) {
+        } else if (tgc instanceof AvatarADSendSignalAction) {
             return AAD_SEND_SIGNAL_ACTION;
-        }  else if (tgc instanceof AvatarADAcceptEventAction) {
+        } else if (tgc instanceof AvatarADAcceptEventAction) {
             return AAD_ACCEPT_EVENT_ACTION;
-        }  else if (tgc instanceof AvatarADPartition) {
+        } else if (tgc instanceof AvatarADPartition) {
             return AAD_PARTITION;
-        }  else if (tgc instanceof AvatarADAssociationConnector) {
+        } else if (tgc instanceof AvatarADAssociationConnector) {
             return AAD_ASSOCIATION_CONNECTOR;
 
-	    //SystemC-AMS -----mark
-	} else if (tgc instanceof CAMSBlockConnector) {
-	    return CAMS_CONNECTOR;
+            //SystemC-AMS -----mark
+        } else if (tgc instanceof CAMSBlockConnector) {
+            return CAMS_CONNECTOR;
 
             // Others
-        } else if (tgc instanceof       TADDeterministicDelay) {
-            return      TAD_DETERMINISTIC_DELAY;
+        } else if (tgc instanceof TADDeterministicDelay) {
+            return TAD_DETERMINISTIC_DELAY;
         } else if (tgc instanceof TADParallel) {
             return TAD_PARALLEL;
         } else if (tgc instanceof TADStopState) {
-            return      TAD_STOP_STATE;
+            return TAD_STOP_STATE;
         } else if (tgc instanceof TADStartState) {
-            return      TAD_START_STATE;
+            return TAD_START_STATE;
         } else if (tgc instanceof TADActionState) {
-            return      TAD_ACTION_STATE;
+            return TAD_ACTION_STATE;
         } else if (tgc instanceof TADArrayGetState) {
-            return      TAD_ARRAY_GET;
+            return TAD_ARRAY_GET;
         } else if (tgc instanceof TADArraySetState) {
-            return      TAD_ARRAY_SET;
+            return TAD_ARRAY_SET;
         } else if (tgc instanceof TADTimeLimitedOffer) {
-            return      TAD_TIME_LIMITED_OFFER;
+            return TAD_TIME_LIMITED_OFFER;
         } else if (tgc instanceof TADJunction) {
-            return      TAD_JUNCTION;
+            return TAD_JUNCTION;
         } else if (tgc instanceof TADNonDeterministicDelay) {
-            return      TAD_NON_DETERMINISTIC_DELAY;
+            return TAD_NON_DETERMINISTIC_DELAY;
         } else if (tgc instanceof TADTimeInterval) {
-            return      TAD_DELAY_NON_DETERMINISTIC_DELAY;
+            return TAD_DELAY_NON_DETERMINISTIC_DELAY;
         } else if (tgc instanceof TADTimeLimitedOfferWithLatency) {
-            return      TAD_TIME_LIMITED_OFFER_WITH_LATENCY;
+            return TAD_TIME_LIMITED_OFFER_WITH_LATENCY;
         } else if (tgc instanceof TADTimeCapture) {
-            return      TAD_TIME_CAPTURE;
+            return TAD_TIME_CAPTURE;
         } else if (tgc instanceof TADChoice) {
-            return      TAD_CHOICE;
+            return TAD_CHOICE;
         } else if (tgc instanceof TCDTClass) {
-            return      TCD_TCLASS;
+            return TCD_TCLASS;
         } else if (tgc instanceof TCDTObject) {
-            return      TCD_TOBJECT;
+            return TCD_TOBJECT;
         } else if (tgc instanceof TCDTData) {
-            return      TCD_TDATA;
+            return TCD_TDATA;
         } else if (tgc instanceof TCDParallelOperator) {
-            return      TCD_PARALLEL_OPERATOR;
+            return TCD_PARALLEL_OPERATOR;
         } else if (tgc instanceof TCDSequenceOperator) {
-            return      TCD_SEQUENCE_OPERATOR;
+            return TCD_SEQUENCE_OPERATOR;
         } else if (tgc instanceof TCDPreemptionOperator) {
-            return      TCD_PREEMPTION_OPERATOR;
+            return TCD_PREEMPTION_OPERATOR;
         } else if (tgc instanceof TCDSynchroOperator) {
-            return      TCD_SYNCHRO_OPERATOR;
-        }  else if (tgc instanceof TCDInvocationOperator) {
-            return      TCD_INVOCATION_OPERATOR;
+            return TCD_SYNCHRO_OPERATOR;
+        } else if (tgc instanceof TCDInvocationOperator) {
+            return TCD_INVOCATION_OPERATOR;
         } else if (tgc instanceof TCDWatchdogOperator) {
-            return      TCD_WATCHDOG_OPERATOR;
+            return TCD_WATCHDOG_OPERATOR;
         } else if (tgc instanceof TGConnectorFullArrow) {
-            return      CONNECTOR_AD_DIAGRAM;
+            return CONNECTOR_AD_DIAGRAM;
         } else if (tgc instanceof TGConnectorAssociation) {
-            return      CONNECTOR_ASSOCIATION;
+            return CONNECTOR_ASSOCIATION;
         } else if (tgc instanceof TGConnectorAssociationWithNavigation) {
-            return      CONNECTOR_ASSOCIATION_NAVIGATION;
+            return CONNECTOR_ASSOCIATION_NAVIGATION;
         } else if (tgc instanceof TGConnectorAttribute) {
-            return      CONNECTOR_ATTRIBUTE;
+            return CONNECTOR_ATTRIBUTE;
         } else if (tgc instanceof TGConnectorInteraction) {
-            return      CONNECTOR_INTERACTION;
+            return CONNECTOR_INTERACTION;
         } else if (tgc instanceof TGCNote) {
-            return      UML_NOTE;
+            return UML_NOTE;
         } else if (tgc instanceof TGCPanelInfo) {
-            return      INFO_PANEL;
+            return INFO_PANEL;
         } else if (tgc instanceof IODChoice) {
             return IOD_CHOICE;
         } else if (tgc instanceof IODStartState) {
@@ -1723,7 +1725,7 @@ public class TGComponentManager {
         } else if (tgc instanceof ui.sd.SDCoregion) {
             return SD_COREGION;
 
-	} else if (tgc instanceof ui.sd2.TGConnectorMessageAsyncSD) {
+        } else if (tgc instanceof ui.sd2.TGConnectorMessageAsyncSD) {
             return CONNECTOR_MESSAGE_ASYNC_SDZV;
         } else if (tgc instanceof ui.sd2.TGConnectorMessageSyncSD) {
             return CONNECTOR_MESSAGE_SYNC_SDZV;
@@ -1751,7 +1753,7 @@ public class TGComponentManager {
             return SDZV_TIMER_CANCELLATION;
         } else if (tgc instanceof ui.sd2.SDCoregion) {
             return SDZV_COREGION;
-	    
+
         } else if (tgc instanceof UCDActor) {
             return UCD_ACTOR;
         } else if (tgc instanceof UCDActorBox) {
@@ -1800,12 +1802,12 @@ public class TGComponentManager {
             return EBRDD_ESO;
         } else if (tgc instanceof EBRDDERB) {
             return EBRDD_ERB;
-	    
+
         } else if (tgc instanceof ATDBlock) {
             return ATD_BLOCK;
         } else if (tgc instanceof ATDAttack) {
             return ATD_ATTACK;
-	} else if (tgc instanceof ATDCountermeasure) {
+        } else if (tgc instanceof ATDCountermeasure) {
             return ATD_COUNTERMEASURE;
         } else if (tgc instanceof ATDConstraint) {
             return ATD_CONSTRAINT;
@@ -1813,14 +1815,14 @@ public class TGComponentManager {
             return ATD_COMPOSITION_CONNECTOR;
         } else if (tgc instanceof ATDAttackConnector) {
             return ATD_ATTACK_CONNECTOR;
-	} else if (tgc instanceof ATDCountermeasureConnector) {
+        } else if (tgc instanceof ATDCountermeasureConnector) {
             return ATD_COUNTERMEASURE_CONNECTOR;
-	    
-	} else if (tgc instanceof FTDBlock) {
+
+        } else if (tgc instanceof FTDBlock) {
             return FTD_BLOCK;
         } else if (tgc instanceof FTDFault) {
             return FTD_FAULT;
-	} else if (tgc instanceof FTDCountermeasure) {
+        } else if (tgc instanceof FTDCountermeasure) {
             return FTD_COUNTERMEASURE;
         } else if (tgc instanceof FTDConstraint) {
             return FTD_CONSTRAINT;
@@ -1828,9 +1830,9 @@ public class TGComponentManager {
             return FTD_COMPOSITION_CONNECTOR;
         } else if (tgc instanceof FTDFaultConnector) {
             return FTD_FAULT_CONNECTOR;
-	} else if (tgc instanceof FTDCountermeasureConnector) {
+        } else if (tgc instanceof FTDCountermeasureConnector) {
             return FTD_COUNTERMEASURE_CONNECTOR;
-	    
+
         } else if (tgc instanceof DiplodocusMethodologyDiagramReferenceToApplication) {
             return DIPLODODUSMETHODOLOGY_REF_APPLICATION;
         } else if (tgc instanceof DiplodocusMethodologyDiagramReferenceToCP) {
@@ -1932,6 +1934,8 @@ public class TGComponentManager {
             return CONNECTOR_NODE_TMLARCHI;
         } else if (tgc instanceof TMLArchiCPUNode) {
             return TMLARCHI_CPUNODE;
+        } else if (tgc instanceof TMLArchiFPGANode) {
+            return TMLARCHI_FPGANODE;
         } else if (tgc instanceof TMLArchiBUSNode) {
             return TMLARCHI_BUSNODE;
         } else if (tgc instanceof TMLArchiVGMNNode) {
@@ -1944,12 +1948,12 @@ public class TGComponentManager {
             return TMLARCHI_BRIDGENODE;
         } else if (tgc instanceof TMLArchiFirewallNode) {
             return TMLARCHI_FIREWALL;
-	} else if (tgc instanceof AvatarBDFirewall) {
-	    return AVATAR_FIREWALL;
+        } else if (tgc instanceof AvatarBDFirewall) {
+            return AVATAR_FIREWALL;
         } else if (tgc instanceof TMLArchiHWANode) {
             return TMLARCHI_HWANODE;
-	} else if (tgc instanceof TMLArchiCAMSNode) {
-	    return TMLARCHI_CAMSNODE;
+        } else if (tgc instanceof TMLArchiCAMSNode) {
+            return TMLARCHI_CAMSNODE;
         } else if (tgc instanceof TMLArchiMemoryNode) {
             return TMLARCHI_MEMORYNODE;
         } else if (tgc instanceof TMLArchiDMANode) {
@@ -1998,8 +2002,6 @@ public class TGComponentManager {
             return CONNECTOR_MESSAGE_ASYNC_TMLSD;
 
 
-
-
         } else if (tgc instanceof TGConnectorComment) {
             return CONNECTOR_COMMENT;
         } else if (tgc instanceof Requirement) {
@@ -2042,12 +2044,9 @@ public class TGComponentManager {
             return PROSMD_PARALLEL;
         } else if (tgc instanceof ProSMDState) {
             return PROSMD_STATE;
-        }
-        else if (tgc instanceof TGConnectorPortInterface) {
+        } else if (tgc instanceof TGConnectorPortInterface) {
             return CONNECTOR_PROCSD_PORT_INTERFACE;
-        }
-
-        else if (tgc instanceof ProCSDComponent) {
+        } else if (tgc instanceof ProCSDComponent) {
             return PROCSD_COMPONENT;
 
             /* No more delegate ports, by Solange
@@ -2102,262 +2101,262 @@ public class TGComponentManager {
     public final static TGConnector addConnector(int x, int y, int id, TDiagramPanel tdp, TGConnectingPoint p1, TGConnectingPoint p2, Vector<Point> listPoint) {
         TGConnector tgc = null;
 
-        switch(id) {
+        switch (id) {
             // AVATAR
             // AVATAR BD
-        case AVATARBD_COMPOSITION_CONNECTOR:
-            tgc = new AvatarBDCompositionConnector(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp, p1, p2, listPoint);
-            break;
-        case AVATARBD_PORT_CONNECTOR:
-            tgc = new AvatarBDPortConnector(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp, p1, p2, listPoint);
-            break;
+            case AVATARBD_COMPOSITION_CONNECTOR:
+                tgc = new AvatarBDCompositionConnector(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp, p1, p2, listPoint);
+                break;
+            case AVATARBD_PORT_CONNECTOR:
+                tgc = new AvatarBDPortConnector(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp, p1, p2, listPoint);
+                break;
 
             // AVATAR SMD
-        case AVATARSMD_CONNECTOR:
-            tgc = new AvatarSMDConnector(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp, p1, p2, listPoint);
-            break;
+            case AVATARSMD_CONNECTOR:
+                tgc = new AvatarSMDConnector(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp, p1, p2, listPoint);
+                break;
 
 
             // AVATAR Methodology
-        case AVATARMETHODOLOGY_CONNECTOR:
-            tgc = new AvatarMethodologyConnector(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp, p1, p2, listPoint);
-            break;
+            case AVATARMETHODOLOGY_CONNECTOR:
+                tgc = new AvatarMethodologyConnector(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp, p1, p2, listPoint);
+                break;
 
             // SysML-Sec Methodology
-        case SYSMLSEC_METHODOLOGY_CONNECTOR:
-            tgc = new SysmlsecMethodologyConnector(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp, p1, p2, listPoint);
-            break;
+            case SYSMLSEC_METHODOLOGY_CONNECTOR:
+                tgc = new SysmlsecMethodologyConnector(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp, p1, p2, listPoint);
+                break;
 
-	//     // System C-AMS
-	// case CAMS_CONNECTOR:
-	//     tgc = new CAMSBlockConnector(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp, p1, p2, listPoint);
-	//     break;
+            //     // System C-AMS
+            // case CAMS_CONNECTOR:
+            //     tgc = new CAMSBlockConnector(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp, p1, p2, listPoint);
+            //     break;
 
             // AVATAR MAD
-        case AVATARMAD_COMPOSITION_CONNECTOR:
-            tgc = new AvatarMADCompositionConnector(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp, p1, p2, listPoint);
-            break;
-        case AVATARMAD_VERSIONING_CONNECTOR:
-            tgc = new AvatarMADVersioningConnector(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp, p1, p2, listPoint);
-            break;
-        case AVATARMAD_IMPACT_CONNECTOR:
-            tgc = new AvatarMADImpactConnector(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp, p1, p2, listPoint);
-            break;
-        case AVATARMAD_MEET_CONNECTOR:
-            tgc = new AvatarMADMeetConnector(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp, p1, p2, listPoint);
-            break;
-        case AVATARMAD_BELONGSTOCOMPOSITION_CONNECTOR:
-            tgc = new AvatarMADBelongsToCompositionConnector(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp, p1, p2, listPoint);
-            break;
+            case AVATARMAD_COMPOSITION_CONNECTOR:
+                tgc = new AvatarMADCompositionConnector(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp, p1, p2, listPoint);
+                break;
+            case AVATARMAD_VERSIONING_CONNECTOR:
+                tgc = new AvatarMADVersioningConnector(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp, p1, p2, listPoint);
+                break;
+            case AVATARMAD_IMPACT_CONNECTOR:
+                tgc = new AvatarMADImpactConnector(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp, p1, p2, listPoint);
+                break;
+            case AVATARMAD_MEET_CONNECTOR:
+                tgc = new AvatarMADMeetConnector(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp, p1, p2, listPoint);
+                break;
+            case AVATARMAD_BELONGSTOCOMPOSITION_CONNECTOR:
+                tgc = new AvatarMADBelongsToCompositionConnector(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp, p1, p2, listPoint);
+                break;
 
             // AVATAR RD
-        case AVATARRD_DERIVE_CONNECTOR:
-            tgc = new AvatarRDDeriveConnector(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp, p1, p2, listPoint);
-            break;
-        case AVATARRD_SATISFY_CONNECTOR:
-            tgc = new AvatarRDSatisfyConnector(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp, p1, p2, listPoint);
-            break;
-        case AVATARRD_REFINE_CONNECTOR:
-            tgc = new AvatarRDRefineConnector(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp, p1, p2, listPoint);
-            break;
-        case AVATARRD_VERIFY_CONNECTOR:
-            tgc = new AvatarRDVerifyConnector(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp, p1, p2, listPoint);
-            break;
-        case AVATARRD_COPY_CONNECTOR:
-            tgc = new AvatarRDCopyConnector(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp, p1, p2, listPoint);
-            break;
-        case AVATARRD_COMPOSITION_CONNECTOR:
-            tgc = new AvatarRDCompositionConnector(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp, p1, p2, listPoint);
-            break;
+            case AVATARRD_DERIVE_CONNECTOR:
+                tgc = new AvatarRDDeriveConnector(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp, p1, p2, listPoint);
+                break;
+            case AVATARRD_SATISFY_CONNECTOR:
+                tgc = new AvatarRDSatisfyConnector(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp, p1, p2, listPoint);
+                break;
+            case AVATARRD_REFINE_CONNECTOR:
+                tgc = new AvatarRDRefineConnector(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp, p1, p2, listPoint);
+                break;
+            case AVATARRD_VERIFY_CONNECTOR:
+                tgc = new AvatarRDVerifyConnector(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp, p1, p2, listPoint);
+                break;
+            case AVATARRD_COPY_CONNECTOR:
+                tgc = new AvatarRDCopyConnector(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp, p1, p2, listPoint);
+                break;
+            case AVATARRD_COMPOSITION_CONNECTOR:
+                tgc = new AvatarRDCompositionConnector(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp, p1, p2, listPoint);
+                break;
 
             // AVATAR CD
-        case ACD_COMPOSITION_CONNECTOR:
-            tgc = new AvatarCDCompositionConnector(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp, p1, p2, listPoint);
-            break;
-        case ACD_ASSOCIATION_CONNECTOR:
-            tgc = new AvatarCDAssociationConnector(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp, p1, p2, listPoint);
-            break;
+            case ACD_COMPOSITION_CONNECTOR:
+                tgc = new AvatarCDCompositionConnector(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp, p1, p2, listPoint);
+                break;
+            case ACD_ASSOCIATION_CONNECTOR:
+                tgc = new AvatarCDAssociationConnector(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp, p1, p2, listPoint);
+                break;
 
             // AVATAR AD
-        case AAD_ASSOCIATION_CONNECTOR:
-            tgc = new AvatarADAssociationConnector(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp, p1, p2, listPoint);
-            break;
+            case AAD_ASSOCIATION_CONNECTOR:
+                tgc = new AvatarADAssociationConnector(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp, p1, p2, listPoint);
+                break;
 
             // AVATAR DD
-        case ADD_CONNECTOR:
-            tgc = new ADDConnector(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp, p1, p2, listPoint);
-            //DG 21.02.
+            case ADD_CONNECTOR:
+                tgc = new ADDConnector(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp, p1, p2, listPoint);
+                //DG 21.02.
 
-            addconnectors.add((ADDConnector)tgc);//DG 21.02.
-            break;
+                addconnectors.add((ADDConnector) tgc);//DG 21.02.
+                break;
 
             // AVATAR PD
-        case APD_ATTRIBUTE_CONNECTOR:
-            tgc = new AvatarPDAttributeConnector(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp, p1, p2, listPoint);
-            break;
-        case APD_SIGNAL_CONNECTOR:
-            tgc = new AvatarPDSignalConnector(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp, p1, p2, listPoint);
-            break;
-        case APD_PROPERTY_CONNECTOR:
-            tgc = new AvatarPDPropertyConnector(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp, p1, p2, listPoint);
-            break;
-        case APD_COMPOSITION_CONNECTOR:
-            tgc = new AvatarPDCompositionConnector(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp, p1, p2, listPoint);
-            break;
+            case APD_ATTRIBUTE_CONNECTOR:
+                tgc = new AvatarPDAttributeConnector(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp, p1, p2, listPoint);
+                break;
+            case APD_SIGNAL_CONNECTOR:
+                tgc = new AvatarPDSignalConnector(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp, p1, p2, listPoint);
+                break;
+            case APD_PROPERTY_CONNECTOR:
+                tgc = new AvatarPDPropertyConnector(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp, p1, p2, listPoint);
+                break;
+            case APD_COMPOSITION_CONNECTOR:
+                tgc = new AvatarPDCompositionConnector(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp, p1, p2, listPoint);
+                break;
 
             // Others
-        case CONNECTOR_AD_DIAGRAM:
-            tgc = new TGConnectorFullArrow(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp, p1, p2, listPoint);
-            break;
-        case CONNECTOR_ASSOCIATION:
-            tgc = new TGConnectorAssociation(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp, p1, p2, listPoint);
-            break;
-        case CONNECTOR_ASSOCIATION_NAVIGATION:
-            tgc = new TGConnectorAssociationWithNavigation(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp, p1, p2, listPoint);
-            break;
-        case CONNECTOR_ATTRIBUTE:
-            tgc = new TGConnectorAttribute(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp, p1, p2, listPoint);
-            break;
-        case CONNECTOR_INTERACTION:
-            tgc = new TGConnectorInteraction(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp, p1, p2, listPoint);
-            //System.out.println("Connector interaction");
-            break;
-        case CONNECTOR_MESSAGE_ASYNC_SD:
-            tgc = new ui.sd.TGConnectorMessageAsyncSD(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp, p1, p2, listPoint);
-            //System.out.println("Connector interaction");
-            break;
-        case CONNECTOR_MESSAGE_SYNC_SD:
-            tgc = new ui.sd.TGConnectorMessageSyncSD(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp, p1, p2, listPoint);
-            //System.out.println("Connector interaction");
-            break;
-        case CONNECTOR_RELATIVE_TIME_SD:
-            tgc = new ui.sd.TGConnectorRelativeTimeSD(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp, p1, p2, listPoint);
-            //System.out.println("Connector interaction");
-            break;
-	case CONNECTOR_MESSAGE_ASYNC_SDZV:
-            tgc = new ui.sd2.TGConnectorMessageAsyncSD(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp, p1, p2, listPoint);
-            //System.out.println("Connector interaction");
-            break;
-        case CONNECTOR_MESSAGE_SYNC_SDZV:
-            tgc = new ui.sd2.TGConnectorMessageSyncSD(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp, p1, p2, listPoint);
-            //System.out.println("Connector interaction");
-            break;
-        case CONNECTOR_RELATIVE_TIME_SDZV:
-            tgc = new ui.sd2.TGConnectorRelativeTimeSD(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp, p1, p2, listPoint);
-            //System.out.println("Connector interaction");
-            break;
-	    
-        case CONNECTOR_ACTOR_UCD:
-            tgc = new TGConnectorUseCase(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp, p1, p2, listPoint);
-            break;
-        case CONNECTOR_INCLUDE_UCD:
-            tgc = new TGConnectorInclude(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp, p1, p2, listPoint);
-            break;
-        case CONNECTOR_EXTEND_UCD:
-            tgc = new TGConnectorExtend(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp, p1, p2, listPoint);
-            break;
-        case CONNECTOR_SPECIA_UCD:
-            tgc = new TGConnectorSpecialization(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp, p1, p2, listPoint);
-            break;
-        case CONNECTOR_NODE_DD:
-            tgc = new TGConnectorLinkNode(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp, p1, p2, listPoint);
-            break;
-        case CONNECTOR_NODE_NC:
-            tgc = new NCConnectorNode(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp, p1, p2, listPoint);
-            break;
-        case CONNECTOR_COMMENT:
-            tgc = new TGConnectorComment(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp, p1, p2, listPoint);
-            break;
-        case TOS_CONNECTOR_ASSOCIATION:
-            tgc = new TOSConnectorAssociation(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp, p1, p2, listPoint);
-            break;
-        case TOS_CONNECTOR_ASSOCIATION_NAVIGATION:
-            tgc = new TOSConnectorAssociationWithNavigation(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp, p1, p2, listPoint);
-            break;
-        case TOS_CONNECTOR_ATTRIBUTE:
-            tgc = new TOSConnectorCompositionOperator(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp, p1, p2, listPoint);
-            break;
-        case TOSAD_CONNECTOR:
-            tgc = new TOSADConnector(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp, p1, p2, listPoint);
-            break;
-        case CONNECTOR_EBRDD:
-            tgc = new TGConnectorEBRDD(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp, p1, p2, listPoint);
-            break;
-        case CONNECTOR_EBRDD_ERC:
-            tgc = new TGConnectorEBRDDERC(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp, p1, p2, listPoint);
-            break;
-        case ATD_COMPOSITION_CONNECTOR:
-            tgc = new ATDCompositionConnector(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp, p1, p2, listPoint);
-            break;
-        case ATD_ATTACK_CONNECTOR:
-            tgc = new ATDAttackConnector(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp, p1, p2, listPoint);
-            break;
-	case ATD_COUNTERMEASURE_CONNECTOR:
-            tgc = new ATDCountermeasureConnector(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp, p1, p2, listPoint);
-            break;
-
-	case FTD_COMPOSITION_CONNECTOR:
-            tgc = new FTDCompositionConnector(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp, p1, p2, listPoint);
-            break;
-        case FTD_FAULT_CONNECTOR:
-            tgc = new FTDFaultConnector(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp, p1, p2, listPoint);
-            break;
-	case FTD_COUNTERMEASURE_CONNECTOR:
-            tgc = new FTDCountermeasureConnector(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp, p1, p2, listPoint);
-            break;
-	    
-
-        case DIPLODOCUSMETHODOLOGY_CONNECTOR:
-            tgc = new DiplodocusMethodologyConnector(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp, p1, p2, listPoint);
-            break;
-
-        case CONNECTOR_TMLAD:
-            tgc = new TGConnectorTMLAD(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp, p1, p2, listPoint);
-            break;
-        case CONNECTOR_PORT_TMLC:
-            tgc = new TMLCPortConnector(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp, p1, p2, listPoint);
-            break;
-        case CONNECTOR_NODE_TMLARCHI:
-            tgc = new TMLArchiConnectorNode(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp, p1, p2, listPoint);
-            break;
-        case CONNECTOR_TML_ASSOCIATION_NAV:
-            tgc = new TGConnectorTMLAssociationNav(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp, p1, p2, listPoint);
-            break;
-        case CONNECTOR_TML_COMPOSITION_OPERATOR:
-            tgc = new TGConnectorTMLCompositionOperator(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp, p1, p2, listPoint);
-            break;
-
-        case CONNECTOR_TMLCP:
-            tgc = new TGConnectorTMLCP(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp, p1, p2, listPoint);
-            break;
-        case CONNECTOR_MESSAGE_ASYNC_TMLSD:
-            tgc = new TGConnectorMessageAsyncTMLSD(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp, p1, p2, listPoint);
-            break;
-
-
-        case CONNECTOR_DERIVE_REQ:
-            tgc = new TGConnectorDerive(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp, p1, p2, listPoint);
-            break;
-        case CONNECTOR_COPY_REQ:
-            tgc = new TGConnectorCopy(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp, p1, p2, listPoint);
-            break;
-        case CONNECTOR_COMPOSITION_REQ:
-            tgc = new TGConnectorComposition(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp, p1, p2, listPoint);
-            break;
-        case CONNECTOR_VERIFY_REQ:
-            tgc = new TGConnectorVerify(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp, p1, p2, listPoint);
-            break;
-        case CONNECTOR_PROSMD:
-            tgc = new TGConnectorProSMD(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp, p1, p2, listPoint);
-            break;
-        case CONNECTOR_PROCSD:
-            tgc = new TGConnectorProCSD(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp, p1, p2, listPoint);
-            break;
-        case CONNECTOR_DELEGATE_PROCSD:
-            tgc = new TGConnectorDelegateProCSD(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp, p1, p2, listPoint);
-            break;
-        case CONNECTOR_PROCSD_PORT_INTERFACE:
-            tgc = new TGConnectorPortInterface(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp, p1, p2, listPoint);
+            case CONNECTOR_AD_DIAGRAM:
+                tgc = new TGConnectorFullArrow(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp, p1, p2, listPoint);
+                break;
+            case CONNECTOR_ASSOCIATION:
+                tgc = new TGConnectorAssociation(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp, p1, p2, listPoint);
+                break;
+            case CONNECTOR_ASSOCIATION_NAVIGATION:
+                tgc = new TGConnectorAssociationWithNavigation(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp, p1, p2, listPoint);
+                break;
+            case CONNECTOR_ATTRIBUTE:
+                tgc = new TGConnectorAttribute(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp, p1, p2, listPoint);
+                break;
+            case CONNECTOR_INTERACTION:
+                tgc = new TGConnectorInteraction(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp, p1, p2, listPoint);
+                //System.out.println("Connector interaction");
+                break;
+            case CONNECTOR_MESSAGE_ASYNC_SD:
+                tgc = new ui.sd.TGConnectorMessageAsyncSD(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp, p1, p2, listPoint);
+                //System.out.println("Connector interaction");
+                break;
+            case CONNECTOR_MESSAGE_SYNC_SD:
+                tgc = new ui.sd.TGConnectorMessageSyncSD(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp, p1, p2, listPoint);
+                //System.out.println("Connector interaction");
+                break;
+            case CONNECTOR_RELATIVE_TIME_SD:
+                tgc = new ui.sd.TGConnectorRelativeTimeSD(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp, p1, p2, listPoint);
+                //System.out.println("Connector interaction");
+                break;
+            case CONNECTOR_MESSAGE_ASYNC_SDZV:
+                tgc = new ui.sd2.TGConnectorMessageAsyncSD(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp, p1, p2, listPoint);
+                //System.out.println("Connector interaction");
+                break;
+            case CONNECTOR_MESSAGE_SYNC_SDZV:
+                tgc = new ui.sd2.TGConnectorMessageSyncSD(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp, p1, p2, listPoint);
+                //System.out.println("Connector interaction");
+                break;
+            case CONNECTOR_RELATIVE_TIME_SDZV:
+                tgc = new ui.sd2.TGConnectorRelativeTimeSD(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp, p1, p2, listPoint);
+                //System.out.println("Connector interaction");
+                break;
+
+            case CONNECTOR_ACTOR_UCD:
+                tgc = new TGConnectorUseCase(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp, p1, p2, listPoint);
+                break;
+            case CONNECTOR_INCLUDE_UCD:
+                tgc = new TGConnectorInclude(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp, p1, p2, listPoint);
+                break;
+            case CONNECTOR_EXTEND_UCD:
+                tgc = new TGConnectorExtend(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp, p1, p2, listPoint);
+                break;
+            case CONNECTOR_SPECIA_UCD:
+                tgc = new TGConnectorSpecialization(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp, p1, p2, listPoint);
+                break;
+            case CONNECTOR_NODE_DD:
+                tgc = new TGConnectorLinkNode(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp, p1, p2, listPoint);
+                break;
+            case CONNECTOR_NODE_NC:
+                tgc = new NCConnectorNode(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp, p1, p2, listPoint);
+                break;
+            case CONNECTOR_COMMENT:
+                tgc = new TGConnectorComment(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp, p1, p2, listPoint);
+                break;
+            case TOS_CONNECTOR_ASSOCIATION:
+                tgc = new TOSConnectorAssociation(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp, p1, p2, listPoint);
+                break;
+            case TOS_CONNECTOR_ASSOCIATION_NAVIGATION:
+                tgc = new TOSConnectorAssociationWithNavigation(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp, p1, p2, listPoint);
+                break;
+            case TOS_CONNECTOR_ATTRIBUTE:
+                tgc = new TOSConnectorCompositionOperator(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp, p1, p2, listPoint);
+                break;
+            case TOSAD_CONNECTOR:
+                tgc = new TOSADConnector(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp, p1, p2, listPoint);
+                break;
+            case CONNECTOR_EBRDD:
+                tgc = new TGConnectorEBRDD(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp, p1, p2, listPoint);
+                break;
+            case CONNECTOR_EBRDD_ERC:
+                tgc = new TGConnectorEBRDDERC(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp, p1, p2, listPoint);
+                break;
+            case ATD_COMPOSITION_CONNECTOR:
+                tgc = new ATDCompositionConnector(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp, p1, p2, listPoint);
+                break;
+            case ATD_ATTACK_CONNECTOR:
+                tgc = new ATDAttackConnector(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp, p1, p2, listPoint);
+                break;
+            case ATD_COUNTERMEASURE_CONNECTOR:
+                tgc = new ATDCountermeasureConnector(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp, p1, p2, listPoint);
+                break;
+
+            case FTD_COMPOSITION_CONNECTOR:
+                tgc = new FTDCompositionConnector(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp, p1, p2, listPoint);
+                break;
+            case FTD_FAULT_CONNECTOR:
+                tgc = new FTDFaultConnector(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp, p1, p2, listPoint);
+                break;
+            case FTD_COUNTERMEASURE_CONNECTOR:
+                tgc = new FTDCountermeasureConnector(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp, p1, p2, listPoint);
+                break;
+
+
+            case DIPLODOCUSMETHODOLOGY_CONNECTOR:
+                tgc = new DiplodocusMethodologyConnector(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp, p1, p2, listPoint);
+                break;
+
+            case CONNECTOR_TMLAD:
+                tgc = new TGConnectorTMLAD(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp, p1, p2, listPoint);
+                break;
+            case CONNECTOR_PORT_TMLC:
+                tgc = new TMLCPortConnector(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp, p1, p2, listPoint);
+                break;
+            case CONNECTOR_NODE_TMLARCHI:
+                tgc = new TMLArchiConnectorNode(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp, p1, p2, listPoint);
+                break;
+            case CONNECTOR_TML_ASSOCIATION_NAV:
+                tgc = new TGConnectorTMLAssociationNav(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp, p1, p2, listPoint);
+                break;
+            case CONNECTOR_TML_COMPOSITION_OPERATOR:
+                tgc = new TGConnectorTMLCompositionOperator(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp, p1, p2, listPoint);
+                break;
+
+            case CONNECTOR_TMLCP:
+                tgc = new TGConnectorTMLCP(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp, p1, p2, listPoint);
+                break;
+            case CONNECTOR_MESSAGE_ASYNC_TMLSD:
+                tgc = new TGConnectorMessageAsyncTMLSD(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp, p1, p2, listPoint);
+                break;
+
+
+            case CONNECTOR_DERIVE_REQ:
+                tgc = new TGConnectorDerive(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp, p1, p2, listPoint);
+                break;
+            case CONNECTOR_COPY_REQ:
+                tgc = new TGConnectorCopy(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp, p1, p2, listPoint);
+                break;
+            case CONNECTOR_COMPOSITION_REQ:
+                tgc = new TGConnectorComposition(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp, p1, p2, listPoint);
+                break;
+            case CONNECTOR_VERIFY_REQ:
+                tgc = new TGConnectorVerify(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp, p1, p2, listPoint);
+                break;
+            case CONNECTOR_PROSMD:
+                tgc = new TGConnectorProSMD(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp, p1, p2, listPoint);
+                break;
+            case CONNECTOR_PROCSD:
+                tgc = new TGConnectorProCSD(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp, p1, p2, listPoint);
+                break;
+            case CONNECTOR_DELEGATE_PROCSD:
+                tgc = new TGConnectorDelegateProCSD(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp, p1, p2, listPoint);
+                break;
+            case CONNECTOR_PROCSD_PORT_INTERFACE:
+                tgc = new TGConnectorPortInterface(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp, p1, p2, listPoint);
 
         }
 
@@ -2367,8 +2366,8 @@ public class TGComponentManager {
 
     public final static CAMSBlockConnector addCAMSConnector(int x, int y, int id, TDiagramPanel tdp, CAMSConnectingPoint p1, CAMSConnectingPoint p2, Vector<Point> listPoint) {
         CAMSBlockConnector cbc = null;
-	cbc = new CAMSBlockConnector(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp, p1, p2, listPoint);
-	return cbc;
+        cbc = new CAMSBlockConnector(x, y, tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY(), false, null, tdp, p1, p2, listPoint);
+        return cbc;
     }
 
 } // Class
diff --git a/src/main/java/ui/TGUIAction.java b/src/main/java/ui/TGUIAction.java
index 62ace982a1..ff24cc4d25 100755
--- a/src/main/java/ui/TGUIAction.java
+++ b/src/main/java/ui/TGUIAction.java
@@ -253,6 +253,7 @@ public class TGUIAction extends AbstractAction {
     public static final int TMLARCHI_BRIDGENODE = 225;
     public static final int TMLARCHI_KEY = 435;
     public static final int TMLARCHI_FIREWALL = 436;
+    public static final int TMLARCHI_FPGANODE = 474;
 
     public static final int TMLCP_EDIT = 378;
     public static final int TMLCP_CONNECTOR = 379;
@@ -629,7 +630,7 @@ public class TGUIAction extends AbstractAction {
     public static final int MOVE_ENABLED = 463;
     public static final int FIRST_DIAGRAM = 464;
     
-    public static final int NB_ACTION = 474;
+    public static final int NB_ACTION = 475;
 
     private static final TAction [] actions = new TAction[NB_ACTION];
 
@@ -1051,6 +1052,7 @@ public class TGUIAction extends AbstractAction {
         actions[TMLARCHI_EDIT] = new TAction("edit-tmlarchi-diagram", "Edit DIPLODOCUS architecture diagram", IconManager.imgic100, IconManager.imgic101, "Edit DIPLODOCUS architecture diagram", "Make it possible to edit the currently opened DIPLODOCUS architecture diagram", 0);
         actions[TMLARCHI_LINK] = new TAction("add-tmlarchi-link", "Add a link", IconManager.imgic202, IconManager.imgic202, "Link", "Add a link between two nodes of the currently opened DIPLODOCUS architecture diagram", 0);
         actions[TMLARCHI_CPUNODE] = new TAction("add-tmlarchi-cpunode", "Add a CPU node", IconManager.imgic1100, IconManager.imgic1100, "CPU node", "Add a cpu node to the currently opened DIPLODOCUS architecture diagram", 0);
+        actions[TMLARCHI_FPGANODE] = new TAction("add-tmlarchi-fpganode", "Add a FPGA node", IconManager.imgic1120, IconManager.imgic1120, "FPGA node", "Add a fpga node to the currently opened DIPLODOCUS architecture diagram", 0);
         actions[TMLARCHI_BUSNODE] = new TAction("add-tmlarchi-busnode", "Add a Bus node", IconManager.imgic1102, IconManager.imgic1102, "Bus node", "Add a bus node to the currently opened DIPLODOCUS architecture diagram", 0);
         actions[TMLARCHI_CPNODE] = new TAction("add-tmlarchi-cpnode", "Add a Communication pattern node", IconManager.imgic1102, IconManager.imgic1102, "CP node", "Add a communication pattern node to the currently opened DIPLODOCUS architecture diagram", 0);
         actions[TMLARCHI_ARTIFACT] = new TAction("add-tmlarchi-artifact", "Map a task", IconManager.imgic702, IconManager.imgic702, "Map a task", "Map a task onto a node in the currently opened DIPLODOCUS architecture diagram", 0);
diff --git a/src/main/java/ui/tmldd/TMLArchiDiagramToolBar.java b/src/main/java/ui/tmldd/TMLArchiDiagramToolBar.java
index e694a6113a..e4ba382344 100755
--- a/src/main/java/ui/tmldd/TMLArchiDiagramToolBar.java
+++ b/src/main/java/ui/tmldd/TMLArchiDiagramToolBar.java
@@ -75,6 +75,7 @@ public class TMLArchiDiagramToolBar extends TToolBar  implements ActionListener
         mgui.actions[TGUIAction.CONNECTOR_COMMENT].setEnabled(b);
         mgui.actions[TGUIAction.TMLARCHI_LINK].setEnabled(b);
         mgui.actions[TGUIAction.TMLARCHI_CPUNODE].setEnabled(b);
+        mgui.actions[TGUIAction.TMLARCHI_FPGANODE].setEnabled(b);
         mgui.actions[TGUIAction.TMLARCHI_HWANODE].setEnabled(b);
         mgui.actions[TGUIAction.TMLARCHI_BUSNODE].setEnabled(b);
         mgui.actions[TGUIAction.TMLARCHI_CPNODE].setEnabled(b);
@@ -124,6 +125,13 @@ public class TMLArchiDiagramToolBar extends TToolBar  implements ActionListener
         button.addMouseListener(mgui.mouseHandler);
         button = this.add(mgui.actions[TGUIAction.TMLARCHI_HWANODE]);
         button.addMouseListener(mgui.mouseHandler);
+
+        if (mgui.isExperimentalOn()) {
+            button = this.add(mgui.actions[TGUIAction.TMLARCHI_FPGANODE]);
+            button.addMouseListener(mgui.mouseHandler);
+        }
+
+
         button = this.add(mgui.actions[TGUIAction.TMLARCHI_ARTIFACT]);
         button.addMouseListener(mgui.mouseHandler);
 
diff --git a/src/main/java/ui/tmldd/TMLArchiFPGANode.java b/src/main/java/ui/tmldd/TMLArchiFPGANode.java
new file mode 100755
index 0000000000..c575ef9a80
--- /dev/null
+++ b/src/main/java/ui/tmldd/TMLArchiFPGANode.java
@@ -0,0 +1,554 @@
+/* Copyright or (C) or Copr. GET / ENST, Telecom-Paris, Ludovic Apvrille
+ * 
+ * ludovic.apvrille AT enst.fr
+ * 
+ * This software is a computer program whose purpose is to allow the
+ * edition of TURTLE analysis, design and deployment diagrams, to
+ * allow the generation of RT-LOTOS or Java code from this diagram,
+ * and at last to allow the analysis of formal validation traces
+ * obtained from external tools, e.g. RTL from LAAS-CNRS and CADP
+ * from INRIA Rhone-Alpes.
+ * 
+ * This software is governed by the CeCILL  license under French law and
+ * abiding by the rules of distribution of free software.  You can  use,
+ * modify and/ or redistribute the software under the terms of the CeCILL
+ * license as circulated by CEA, CNRS and INRIA at the following URL
+ * "http://www.cecill.info".
+ * 
+ * As a counterpart to the access to the source code and  rights to copy,
+ * modify and redistribute granted by the license, users are provided only
+ * with a limited warranty  and the software's author,  the holder of the
+ * economic rights,  and the successive licensors  have only  limited
+ * liability.
+ * 
+ * In this respect, the user's attention is drawn to the risks associated
+ * with loading,  using,  modifying and/or developing or reproducing the
+ * software by the user in light of its specific status of free software,
+ * that may mean  that it is complicated to manipulate,  and  that  also
+ * therefore means  that it is reserved for developers  and  experienced
+ * professionals having in-depth computer knowledge. Users are therefore
+ * encouraged to load and test the software's suitability as regards their
+ * requirements in conditions enabling the security of their systems and/or
+ * data to be ensured and,  more generally, to use and operate it in the
+ * same conditions as regards security.
+ * 
+ * The fact that you are presently reading this means that you have had
+ * knowledge of the CeCILL license and that you accept its terms.
+ */
+
+
+
+
+package ui.tmldd;
+
+import myutil.GraphicLib;
+import org.w3c.dom.Element;
+import org.w3c.dom.Node;
+import org.w3c.dom.NodeList;
+import tmltranslator.HwFPGA;
+import tmltranslator.modelcompiler.ArchUnitMEC;
+import ui.*;
+import ui.util.IconManager;
+import ui.window.JDialogFPGANode;
+
+import javax.swing.*;
+import java.awt.*;
+import java.util.Vector;
+
+/**
+   * Class TMLFPGACPUNode
+   * Node. To be used in TML architecture diagrams.
+   * Creation: 07/02/2018
+   * @version 1.1 07/02/2018
+   * @author Ludovic APVRILLE, Matteo BERTOLINO
+ */
+public class TMLArchiFPGANode extends TMLArchiNode implements SwallowTGComponent, WithAttributes, TMLArchiElementInterface {
+    private int textY1 = 15;
+    private int textY2 = 30;
+    private int derivationx = 2;
+    private int derivationy = 3;
+    private String stereotype = "FPGA";
+
+    private int byteDataSize = HwFPGA.DEFAULT_BYTE_DATA_SIZE;
+    private int goIdleTime = HwFPGA.DEFAULT_GO_IDLE_TIME;
+    private int maxConsecutiveIdleCycles = HwFPGA.DEFAULT_MAX_CONSECUTIVE_IDLE_CYCLES;
+    private int execiTime = HwFPGA.DEFAULT_EXECI_TIME;
+    private int execcTime = HwFPGA.DEFAULT_EXECC_TIME;
+    private int capacity = HwFPGA.DEFAULT_CAPACITY;
+    private int mappingPenalty = HwFPGA.DEFAULT_MAPPING_PENALTY;
+    private int reconfigurationTime = HwFPGA.DEFAULT_RECONFIGURATION_TIME;
+
+
+    public TMLArchiFPGANode(int _x, int _y, int _minX, int _maxX, int _minY, int _maxY, boolean _pos, TGComponent _father, TDiagramPanel _tdp)  {
+        super(_x, _y, _minX, _maxX, _minY, _maxY, _pos, _father, _tdp);
+
+        width = 250;
+        height = 200;
+        minWidth = 150;
+        minHeight = 100;
+
+        nbConnectingPoint = 16;
+        connectingPoint = new TGConnectingPoint[16];
+
+        connectingPoint[0] = new TMLArchiConnectingPoint(this, 0, 0, false, true, 0.0, 0.0);
+        connectingPoint[1] = new TMLArchiConnectingPoint(this, 0, 0, false, true, 0.5, 0.0);
+        connectingPoint[2] = new TMLArchiConnectingPoint(this, 0, 0, false, true, 1.0, 0.0);
+        connectingPoint[3] = new TMLArchiConnectingPoint(this, 0, 0, false, true, 0.0, 0.5);
+        connectingPoint[4] = new TMLArchiConnectingPoint(this, 0, 0, false, true, 1.0, 0.5);
+        connectingPoint[5] = new TMLArchiConnectingPoint(this, 0, 0, false, true, 0.0, 1.0);
+        connectingPoint[6] = new TMLArchiConnectingPoint(this, 0, 0, false, true, 0.5, 1.0);
+        connectingPoint[7] = new TMLArchiConnectingPoint(this, 0, 0, false, true, 1.0, 1.0);
+
+        connectingPoint[8] = new TMLArchiConnectingPoint(this, 0, 0, false, true, 0.25, 0.0);
+        connectingPoint[9] = new TMLArchiConnectingPoint(this, 0, 0, false, true, 0.75, 0.0);
+        connectingPoint[10] = new TMLArchiConnectingPoint(this, 0, 0, false, true, 0.0, 0.25);
+        connectingPoint[11] = new TMLArchiConnectingPoint(this, 0, 0, false, true, 1.0, 0.25);
+        connectingPoint[12] = new TMLArchiConnectingPoint(this, 0, 0, false, true, 0.0, 0.75);
+        connectingPoint[13] = new TMLArchiConnectingPoint(this, 0, 0, false, true, 1.0, 0.75);
+        connectingPoint[14] = new TMLArchiConnectingPoint(this, 0, 0, false, true, 0.25, 1.0);
+        connectingPoint[15] = new TMLArchiConnectingPoint(this, 0, 0, false, true, 0.75, 1.0);
+
+        addTGConnectingPointsComment();
+
+        nbInternalTGComponent = 0;
+
+        moveable = true;
+        editable = true;
+        removable = true;
+        userResizable = true;
+
+        name = tdp.findNodeName("FPGA");
+        value = "name";
+
+        myImageIcon = IconManager.imgic1120;
+    }
+
+    public void internalDrawing(Graphics g) {
+        Color c = g.getColor();
+        g.draw3DRect(x, y, width, height, true);
+
+
+        // Top lines
+        g.drawLine(x, y, x + derivationx, y - derivationy);
+        g.drawLine(x + width, y, x + width + derivationx, y - derivationy);
+        g.drawLine(x + derivationx, y - derivationy, x + width + derivationx, y - derivationy);
+
+        // Right lines
+        g.drawLine(x + width, y + height, x + width + derivationx, y - derivationy + height);
+        g.drawLine(x + derivationx + width, y - derivationy, x + width + derivationx, y - derivationy + height);
+
+        // Filling color
+        g.setColor(ColorManager.CPU_BOX_1);
+        g.fill3DRect(x+1, y+1, width-1, height-1, true);
+        g.setColor(c);
+
+        // Strings
+        String ster = "<<" + stereotype + ">>";
+        int w  = g.getFontMetrics().stringWidth(ster);
+        Font f = g.getFont();
+        g.setFont(f.deriveFont(Font.BOLD));
+        g.drawString(ster, x + (width - w)/2, y + textY1);
+        g.setFont(f);
+        w  = g.getFontMetrics().stringWidth(name);
+        g.drawString(name, x + (width - w)/2, y + textY2);
+
+        // Icon
+        g.drawImage(IconManager.imgic1120.getImage(), x + 4, y + 4, null);
+        g.drawImage(IconManager.img9, x + width - 20, y + 4, null);
+    }
+
+    public TGComponent isOnOnlyMe(int x1, int y1) {
+
+        Polygon pol = new Polygon();
+        pol.addPoint(x, y);
+        pol.addPoint(x + derivationx, y - derivationy);
+        pol.addPoint(x + derivationx + width, y - derivationy);
+        pol.addPoint(x + derivationx + width, y + height - derivationy);
+        pol.addPoint(x + width, y + height);
+        pol.addPoint(x, y + height);
+        if (pol.contains(x1, y1)) {
+            return this;
+        }
+
+        return null;
+    }
+
+
+    public String getNodeName() {
+        return name;
+    }
+
+    public boolean editOndoubleClick(JFrame frame) {
+        boolean error = false;
+        String errors = "";
+        int tmp;
+        String tmpName;
+
+        JDialogFPGANode dialog = new JDialogFPGANode(frame, "Setting FPGA attributes", this);
+        dialog.setSize(500, 450);
+        GraphicLib.centerOnParent(dialog, 500, 450 );
+       // dialog.show(); // blocked until dialog has been closed
+        dialog.setVisible( true );
+
+        if (!dialog.isRegularClose()) {
+            return false;
+        }
+
+        if (dialog.getNodeName().length() != 0) {
+            tmpName = dialog.getNodeName();
+            tmpName = tmpName.trim();
+            if (!TAttribute.isAValidId(tmpName, false, false)) {
+                error = true;
+                errors += "Name of the node  ";
+            } else {
+                name = tmpName;
+            }
+        }
+
+
+        if (dialog.getCapacity().length() != 0) {
+            try {
+                tmp = capacity;
+                capacity = Integer.decode(dialog.getCapacity()).intValue();
+                if (capacity <= 0) {
+                    capacity = tmp;
+                    error = true;
+                    errors += "Capacity  ";
+                }
+            } catch (Exception e) {
+                error = true;
+                errors += "Capacity  ";
+            }
+        }
+
+        if (dialog.getMappingPenalty().length() != 0) {
+            try {
+                tmp = mappingPenalty;
+                mappingPenalty = Integer.decode(dialog.getMappingPenalty()).intValue();
+                if (mappingPenalty < 0) {
+                    mappingPenalty = tmp;
+                    error = true;
+                    errors += "Mapping penalty  ";
+                }
+            } catch (Exception e) {
+                error = true;
+                errors += "Mapping penalty  ";
+            }
+        }
+
+        if (dialog.getReconfigurationTime().length() != 0) {
+            try {
+                tmp = reconfigurationTime;
+                reconfigurationTime = Integer.decode(dialog.getReconfigurationTime()).intValue();
+                if (reconfigurationTime <= 0) {
+                    reconfigurationTime = tmp;
+                    error = true;
+                    errors += "Reconfiguration time  ";
+                }
+            } catch (Exception e) {
+                error = true;
+                errors += "Reconfiguration time  ";
+            }
+        }
+
+        if (dialog.getByteDataSize().length() != 0) {
+            try {
+                tmp = byteDataSize;
+                byteDataSize = Integer.decode(dialog.getByteDataSize()).intValue();
+                if (byteDataSize <= 0) {
+                    byteDataSize = tmp;
+                    error = true;
+                    errors += "Data size  ";
+                }
+            } catch (Exception e) {
+                error = true;
+                errors += "Data size  ";
+            }
+        }
+
+
+        if (dialog.getGoIdleTime().length() != 0) {
+            try {
+                tmp = goIdleTime;
+                goIdleTime = Integer.decode(dialog.getGoIdleTime()).intValue();
+                if (goIdleTime < 0) {
+                    goIdleTime = tmp;
+                    error = true;
+                    errors += "Go idle time  ";
+                }
+            } catch (Exception e) {
+                error = true;
+                errors += "Go idle time  ";
+            }
+        }
+
+        if (dialog.getMaxConsecutiveIdleCycles().length() != 0) {
+            try {
+                tmp = goIdleTime;
+                maxConsecutiveIdleCycles = Integer.decode(dialog.getMaxConsecutiveIdleCycles()).intValue();
+                if (maxConsecutiveIdleCycles < 0) {
+                    maxConsecutiveIdleCycles = tmp;
+                    error = true;
+                    errors += "Max consecutive idle cycles  ";
+                }
+            } catch (Exception e) {
+                error = true;
+                errors += "Max consecutive idle cycles  ";
+            }
+        }
+
+        if (dialog.getExeciTime().length() != 0) {
+            try {
+                tmp = execiTime;
+                execiTime = Integer.decode(dialog.getExeciTime()).intValue();
+                if (execiTime < 0) {
+                    execiTime = tmp;
+                    error = true;
+                    errors += "execi time  ";
+                }
+            } catch (Exception e) {
+                error = true;
+                errors += "execi time  ";
+            }
+        }
+
+        if (dialog.getExeccTime().length() != 0) {
+            try {
+                tmp = execcTime;
+                execcTime = Integer.decode(dialog.getExeccTime()).intValue();
+                if (execcTime < 0) {
+                    execcTime = tmp;
+                    error = true;
+                    errors += "execc time  ";
+                }
+            } catch (Exception e) {
+                error = true;
+                errors += "execc time  ";
+            }
+        }
+
+        if (dialog.getClockRatio().length() != 0) {
+            try {
+                tmp = clockRatio;
+                clockRatio = Integer.decode(dialog.getClockRatio()).intValue();
+                if (clockRatio < 1) {
+                    clockRatio = tmp;
+                    error = true;
+                    errors += "Clock divider  ";
+                }
+            } catch (Exception e) {
+                error = true;
+                errors += "Clock divider  ";
+            }
+        }
+
+        if (error) {
+            JOptionPane.showMessageDialog(frame,
+                                          "Invalid value for the following attributes: " + errors,
+                                          "Error",
+                                          JOptionPane.INFORMATION_MESSAGE);
+            return false;
+        }
+
+        return true;
+    }
+
+
+    public int getType() {
+        return TGComponentManager.TMLARCHI_FPGANODE;
+    }
+
+    public boolean acceptSwallowedTGComponent(TGComponent tgc) {
+        return tgc instanceof TMLArchiArtifact;
+
+    }
+
+    public boolean addSwallowedTGComponent(TGComponent tgc, int x, int y) {
+
+        //Set its coordinates
+        if (tgc instanceof TMLArchiArtifact) {
+            tgc.setFather(this);
+            tgc.setDrawingZone(true);
+            tgc.resizeWithFather();
+            addInternalComponent(tgc, 0);
+            return true;
+        }
+
+        return false;
+    }
+
+    public void removeSwallowedTGComponent(TGComponent tgc) {
+        removeInternalComponent(tgc);
+    }
+
+    public Vector<TMLArchiArtifact> getArtifactList() {
+        Vector<TMLArchiArtifact> v = new Vector<TMLArchiArtifact>();
+        
+        for(int i=0; i<nbInternalTGComponent; i++) {
+            if (tgcomponent[i] instanceof TMLArchiArtifact) {
+                v.add( (TMLArchiArtifact) tgcomponent[i] );
+            }
+        }
+        return v;
+    }
+
+    public void hasBeenResized() {
+        for(int i=0; i<nbInternalTGComponent; i++) {
+            if (tgcomponent[i] instanceof TMLArchiArtifact) {
+                tgcomponent[i].resizeWithFather();
+            }
+        }
+    }
+
+    protected String translateExtraParam() {
+        StringBuffer sb = new StringBuffer("<extraparam>\n");
+        sb.append("<info stereotype=\"" + stereotype + "\" nodeName=\"" + name);
+        sb.append("\" />\n");
+        sb.append("<attributes capacity=\"" + capacity + "\" byteDataSize=\"" + byteDataSize + "\" ");
+        sb.append(" mappingPenalty=\"" + mappingPenalty + "\" ");
+        sb.append(" reconfigurationTime=\"" + reconfigurationTime + "\" ");
+        sb.append(" goIdleTime=\"" + goIdleTime + "\" ");
+        sb.append(" maxConsecutiveIdleCycles=\"" + maxConsecutiveIdleCycles + "\" ");
+        sb.append(" execiTime=\"" + execiTime + "\"");
+        sb.append(" execcTime=\"" + execcTime + "\"");
+        sb.append(" clockRatio=\"" + clockRatio + "\"");
+        sb.append("/>\n");
+        sb.append("</extraparam>\n");
+        return new String(sb);
+    }
+
+    @Override
+    public void loadExtraParam(NodeList nl, int decX, int decY, int decId) throws MalformedModelingException{
+        //System.out.println("*** load extra synchro ***");
+        try {
+
+            NodeList nli;
+            Node n1, n2;
+            Element elt;
+           // int t1id;
+            String sstereotype = null, snodeName = null;
+
+            for(int i=0; i<nl.getLength(); i++) {
+                n1 = nl.item(i);
+                //System.out.println(n1); if ((elt.getAttribute("sliceTime") != null) &&  (elt.getAttribute("sliceTime").length() > 0)){
+
+                if (n1.getNodeType() == Node.ELEMENT_NODE) {
+                    nli = n1.getChildNodes();
+
+                    // Issue #17 copy-paste error on j index
+                    for(int j=0; j<nli.getLength(); j++) {
+                        n2 = nli.item(j);
+                        //System.out.println(n2);
+                        if (n2.getNodeType() == Node.ELEMENT_NODE) {
+                            elt = (Element) n2;
+                            if (elt.getTagName().equals("info")) {
+                                sstereotype = elt.getAttribute("stereotype");
+                                snodeName = elt.getAttribute("nodeName");
+                            }
+                            if (sstereotype != null) {
+                                stereotype = sstereotype;
+                            }
+                            if (snodeName != null){
+                                name = snodeName;
+                            }
+
+                            if (elt.getTagName().equals("attributes")) {
+                                try {
+                                    // the "try" statement is for retro compatibility
+                                    capacity = Integer.decode(elt.getAttribute("capacity")).intValue();
+                                } catch (Exception e) {
+                                }
+                                byteDataSize = Integer.decode(elt.getAttribute("byteDataSize")).intValue();
+                                mappingPenalty =Integer.decode(elt.getAttribute("mappingPenalty")).intValue();
+                                goIdleTime = Integer.decode(elt.getAttribute("goIdleTime")).intValue();
+                                reconfigurationTime = Integer.decode(elt.getAttribute("reconfigurationTime")).intValue();
+
+                                if ((elt.getAttribute("execiTime") != null) &&  (elt.getAttribute("execiTime").length() > 0)){
+                                    execiTime = Integer.decode(elt.getAttribute("execiTime")).intValue();
+                                }
+                                if ((elt.getAttribute("execcTime") != null) &&  (elt.getAttribute("execcTime").length() > 0)){
+                                    execcTime = Integer.decode(elt.getAttribute("execcTime")).intValue();
+                                }
+                                if ((elt.getAttribute("maxConsecutiveIdleCycles") != null) &&  (elt.getAttribute("maxConsecutiveIdleCycles").length() > 0)){
+                                    maxConsecutiveIdleCycles = Integer.decode(elt.getAttribute("maxConsecutiveIdleCycles")).intValue();
+                                }
+                                if ((elt.getAttribute("clockRatio") != null) &&  (elt.getAttribute("clockRatio").length() > 0)){
+                                    clockRatio = Integer.decode(elt.getAttribute("clockRatio")).intValue();
+                                }
+                                if ((elt.getAttribute("MECType") != null) &&  (elt.getAttribute("MECType").length() > 0)){
+                                    if( elt.getAttribute("MECType").length() > 1 )      {       //old format
+                                        MECType = ArchUnitMEC.Types.get(0);
+                                    }
+                                    else        {
+                                        MECType = ArchUnitMEC.Types.get( Integer.valueOf( elt.getAttribute("MECType") ) );
+                                    }
+                                }
+
+                            }
+                        }
+                    }
+                }
+            }
+
+        } catch (Exception e) {
+            throw new MalformedModelingException();
+        }
+    }
+
+    public int getDefaultConnector() {
+        return TGComponentManager.CONNECTOR_NODE_TMLARCHI;
+    }
+
+    public int getCapacity(){
+        return capacity;
+    }
+
+    public int getByteDataSize(){
+        return byteDataSize;
+    }
+
+    public int getReconfigurationTime(){
+        return reconfigurationTime;
+    }
+
+    public int getGoIdleTime(){
+        return goIdleTime;
+    }
+
+    public int getMaxConsecutiveIdleCycles(){
+        return maxConsecutiveIdleCycles;
+    }
+
+    public int getExeciTime(){
+        return execiTime;
+    }
+
+    public int getExeccTime(){
+        return execcTime;
+    }
+
+    public int getMappingPenalty(){
+        return mappingPenalty;
+    }
+
+
+    public String getAttributes() {
+        String attr = "";
+        attr += "Data size (in byte) = " + byteDataSize + "\n";
+        attr += "Capacity = " + capacity + "\n";
+        attr += "Mapping penalty (percentage) = " + mappingPenalty + "\n";
+        attr += "Reconfiguration time = " + reconfigurationTime + "\n";
+        attr += "Go in idle mode (in cycle) = " + goIdleTime + "\n";
+        attr += "Idle cycles to go idle = " + maxConsecutiveIdleCycles + "\n";
+        attr += "EXECI exec. time (in cycle) = " + execiTime + "\n";
+        attr += "EXECC exec. time (in cycle) = " + execcTime + "\n";
+        attr += "Clock divider = " + clockRatio + "\n";
+        return attr;
+
+    }
+
+    public int getComponentType()       {
+        return CONTROLLER;
+    }
+
+}
diff --git a/src/main/java/ui/util/IconManager.java b/src/main/java/ui/util/IconManager.java
index b0f4a0448a..77134d062b 100755
--- a/src/main/java/ui/util/IconManager.java
+++ b/src/main/java/ui/util/IconManager.java
@@ -127,6 +127,7 @@ public class IconManager {
     // TMLDD
     public static ImageIcon imgic1100, imgic1102, imgic1104, imgic1106, imgic1108;
     public static ImageIcon imgic1110, imgic1112, imgic1114, imgic1116, imgic1118;
+    public static ImageIcon imgic1120;
 
     // TML component task diagram
     public static ImageIcon imgic1200, imgic1202, imgic1204, imgic1206, imgic1208;
@@ -515,6 +516,9 @@ public class IconManager {
     private static String icon1108 = "tmlmemorynode.gif";
     private static String icon1110 = "tmldmanode.gif";
     private static String icon1118 = "tmlkey.gif";
+    private static String icon1120 = "tmlfpganode.gif";
+
+
     // For ADD
     private static String icon1112 = "tmlicunode.gif";
     private static String icon1114 = "tmlcopromwmrnode.gif";
@@ -993,6 +997,7 @@ public class IconManager {
         imgic1114 = getIcon(icon1114);
         imgic1116 = getIcon(icon1116);
         imgic1118 = getIcon(icon1118);
+        imgic1120 = getIcon(icon1120);
 
         imgic1200 = getIcon(icon1200);
         imgic1202 = getIcon(icon1202);
diff --git a/src/main/java/ui/window/JDialogFPGANode.java b/src/main/java/ui/window/JDialogFPGANode.java
new file mode 100755
index 0000000000..266cd09728
--- /dev/null
+++ b/src/main/java/ui/window/JDialogFPGANode.java
@@ -0,0 +1,306 @@
+/* Copyright or (C) or Copr. GET / ENST, Telecom-Paris, Ludovic Apvrille
+ * 
+ * ludovic.apvrille AT enst.fr
+ * 
+ * This software is a computer program whose purpose is to allow the
+ * edition of TURTLE analysis, design and deployment diagrams, to
+ * allow the generation of RT-LOTOS or Java code from this diagram,
+ * and at last to allow the analysis of formal validation traces
+ * obtained from external tools, e.g. RTL from LAAS-CNRS and CADP
+ * from INRIA Rhone-Alpes.
+ * 
+ * This software is governed by the CeCILL  license under French law and
+ * abiding by the rules of distribution of free software.  You can  use,
+ * modify and/ or redistribute the software under the terms of the CeCILL
+ * license as circulated by CEA, CNRS and INRIA at the following URL
+ * "http://www.cecill.info".
+ * 
+ * As a counterpart to the access to the source code and  rights to copy,
+ * modify and redistribute granted by the license, users are provided only
+ * with a limited warranty  and the software's author,  the holder of the
+ * economic rights,  and the successive licensors  have only  limited
+ * liability.
+ * 
+ * In this respect, the user's attention is drawn to the risks associated
+ * with loading,  using,  modifying and/or developing or reproducing the
+ * software by the user in light of its specific status of free software,
+ * that may mean  that it is complicated to manipulate,  and  that  also
+ * therefore means  that it is reserved for developers  and  experienced
+ * professionals having in-depth computer knowledge. Users are therefore
+ * encouraged to load and test the software's suitability as regards their
+ * requirements in conditions enabling the security of their systems and/or
+ * data to be ensured and,  more generally, to use and operate it in the
+ * same conditions as regards security.
+ * 
+ * The fact that you are presently reading this means that you have had
+ * knowledge of the CeCILL license and that you accept its terms.
+ */
+
+
+package ui.window;
+
+import myutil.GraphicLib;
+import tmltranslator.modelcompiler.ArchUnitMEC;
+import ui.ColorManager;
+import ui.interactivesimulation.SimulationTransaction;
+import ui.tmldd.TMLArchiFPGANode;
+
+import javax.swing.*;
+import java.awt.*;
+import java.awt.event.*;
+import java.math.BigDecimal;
+import java.util.*;
+
+/**
+ * Class JDialogFPGA
+ * Dialog for managing attributes of cpu nodes
+ * Creation: 07/02/2018
+ *
+ * @author Ludovic APVRILLE
+ * @version 1.0 07/02/2018
+ */
+public class JDialogFPGANode extends JDialogBase implements ActionListener {
+
+    private boolean regularClose;
+
+    private JPanel panel2, panel4, panel5;
+    //   private Frame frame;
+    private TMLArchiFPGANode node;
+
+
+    protected JTextField nodeName;
+
+    // Panel2
+    protected JTextField byteDataSize, goIdleTime, maxConsecutiveIdleCycles, clockRatio, execiTime, execcTime,
+            capacity, mappingPenalty, reconfigurationTime;
+
+    // Tabbed pane for panel1 and panel2
+    private JTabbedPane tabbedPane;
+
+
+    /**
+     * Creates new form
+     */
+    public JDialogFPGANode(Frame _frame, String _title, TMLArchiFPGANode _node) {
+        super(_frame, _title, true);
+        //  frame = _frame;
+        node = _node;
+        initComponents();
+        //     myInitComponents();
+        pack();
+    }
+//
+//    private void myInitComponents() {
+//    }
+
+    private void initComponents() {
+        Container c = getContentPane();
+        GridBagLayout gridbag0 = new GridBagLayout();
+        GridBagLayout gridbag2 = new GridBagLayout();
+        GridBagLayout gridbag4 = new GridBagLayout();
+        GridBagConstraints c0 = new GridBagConstraints();
+        //GridBagConstraints c1 = new GridBagConstraints();
+        GridBagConstraints c2 = new GridBagConstraints();
+        GridBagConstraints c4 = new GridBagConstraints();
+
+        setFont(new Font("Helvetica", Font.PLAIN, 14));
+        c.setLayout(gridbag0);
+
+        setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
+
+
+        panel2 = new JPanel();
+        panel2.setLayout(gridbag2);
+        panel2.setBorder(new javax.swing.border.TitledBorder("CPU attributes"));
+        panel2.setPreferredSize(new Dimension(400, 300));
+
+        // Issue #41 Ordering of tabbed panes 
+        tabbedPane = GraphicLib.createTabbedPane();//new JTabbedPane();
+
+        c2.gridwidth = 1;
+        c2.gridheight = 1;
+        c2.weighty = 1.0;
+        c2.weightx = 1.0;
+        c2.fill = GridBagConstraints.HORIZONTAL;
+        panel2.add(new JLabel("CPU name:"), c2);
+        c2.gridwidth = GridBagConstraints.REMAINDER; //end row
+        nodeName = new JTextField(node.getNodeName(), 30);
+        nodeName.setEditable(true);
+        nodeName.setFont(new Font("times", Font.PLAIN, 12));
+        panel2.add(nodeName, c2);
+
+
+        c2.gridwidth = 1;
+        panel2.add(new JLabel("Data size (in byte):"), c2);
+        c2.gridwidth = GridBagConstraints.REMAINDER; //end row
+        byteDataSize = new JTextField("" + node.getByteDataSize(), 15);
+        panel2.add(byteDataSize, c2);
+
+        c2.gridwidth = 1;
+        panel2.add(new JLabel("Overall mapping capacity:"), c2);
+        c2.gridwidth = GridBagConstraints.REMAINDER; //end row
+        capacity = new JTextField("" + node.getCapacity(), 15);
+        panel2.add(capacity, c2);
+
+        c2.gridwidth = 1;
+        panel2.add(new JLabel("Mapping penalty:"), c2);
+        c2.gridwidth = GridBagConstraints.REMAINDER; //end row
+        mappingPenalty = new JTextField("" + node.getMappingPenalty(), 15);
+        panel2.add(mappingPenalty, c2);
+
+        c2.gridwidth = 1;
+        panel2.add(new JLabel("Reconfiguration time:"), c2);
+        c2.gridwidth = GridBagConstraints.REMAINDER; //end row
+        reconfigurationTime = new JTextField("" + node.getReconfigurationTime(), 15);
+        panel2.add(reconfigurationTime, c2);
+
+
+        c2.gridwidth = 1;
+        panel2.add(new JLabel("Go idle time (in cycle):"), c2);
+        c2.gridwidth = GridBagConstraints.REMAINDER; //end row
+        goIdleTime = new JTextField("" + node.getGoIdleTime(), 15);
+        panel2.add(goIdleTime, c2);
+
+        c2.gridwidth = 1;
+        panel2.add(new JLabel("Max consecutive cycles before idle (in cycle):"), c2);
+        c2.gridwidth = GridBagConstraints.REMAINDER; //end row
+        maxConsecutiveIdleCycles = new JTextField("" + node.getMaxConsecutiveIdleCycles(), 15);
+        panel2.add(maxConsecutiveIdleCycles, c2);
+
+        c2.gridwidth = 1;
+        panel2.add(new JLabel("EXECI execution time (in cycle):"), c2);
+        c2.gridwidth = GridBagConstraints.REMAINDER; //end row
+        execiTime = new JTextField("" + node.getExeciTime(), 15);
+        panel2.add(execiTime, c2);
+
+        c2.gridwidth = 1;
+        panel2.add(new JLabel("EXECC execution time (in cycle):"), c2);
+        c2.gridwidth = GridBagConstraints.REMAINDER; //end row
+        execcTime = new JTextField("" + node.getExeccTime(), 15);
+        panel2.add(execcTime, c2);
+
+        c2.gridwidth = 1;
+        panel2.add(new JLabel("Clock divider:"), c2);
+        c2.gridwidth = GridBagConstraints.REMAINDER; //end row
+        clockRatio = new JTextField("" + node.getClockRatio(), 15);
+        panel2.add(clockRatio, c2);
+
+        // monitored
+        /*c2.gridwidth = 1;
+        panel2.add(new JLabel("Monitored:"), c2);
+        //c2.gridwidth = GridBagConstraints.REMAINDER; //end row
+        //monitored = new JTextField(""+node.getMonitored(), 15);//DG 19.04.
+        tracemode = new JComboBox(tracemodeTab);
+        tracemode.setSelectedIndex(selectedTracemode);
+        tracemode.addActionListener(this);
+        panel2.add(tracemode, c2);
+
+        monitored = new JTextField("", 15);
+        panel2.add(monitored, c2);*/
+
+
+        // Code generation
+        panel4 = new JPanel();
+        panel4.setLayout(gridbag4);
+        panel4.setBorder(new javax.swing.border.TitledBorder("Code generation"));
+        panel4.setPreferredSize(new Dimension(400, 300));
+
+        tabbedPane.addTab("Simulation", panel2);
+        tabbedPane.addTab("Code generation", panel4);
+
+        tabbedPane.setSelectedIndex(0);
+
+        // main panel;
+        c0.gridheight = 10;
+        c0.weighty = 1.0;
+        c0.weightx = 1.0;
+        c0.gridwidth = GridBagConstraints.REMAINDER; //end row
+        c0.fill = GridBagConstraints.BOTH;
+        /*c.add(panel2, c0);
+          c.add(panel4, c0);*/
+        c.add(tabbedPane, c0);
+
+        c0.gridwidth = 1;
+        c0.gridheight = 1;
+        c0.fill = GridBagConstraints.HORIZONTAL;
+
+        initButtons(c0, c, this);
+    }
+
+    public void actionPerformed(ActionEvent evt) {
+        /* if (evt.getSource() == typeBox) {
+           boolean b = ((Boolean)(initValues.elementAt(typeBox.getSelectedIndex()))).booleanValue();
+           initialValue.setEnabled(b);
+           return;
+           }*/
+
+//        if (evt.getSource() == tracemode) {
+//            selectedTracemode = tracemode.getSelectedIndex();
+//        }
+
+        String command = evt.getActionCommand();
+
+        // Compare the action command to the known actions.
+        if (command.equals("Save and Close")) {
+            closeDialog();
+        } else if (command.equals("Cancel")) {
+            cancelDialog();
+        }
+    }
+
+    public void closeDialog() {
+        regularClose = true;
+        dispose();
+    }
+
+    public void cancelDialog() {
+        dispose();
+    }
+
+    public boolean isRegularClose() {
+        return regularClose;
+    }
+
+    public String getNodeName() {
+        return nodeName.getText();
+    }
+
+    public String getCapacity() {
+        return capacity.getText();
+    }
+
+    public String getByteDataSize() {
+        return byteDataSize.getText();
+    }
+
+    public String getReconfigurationTime() {
+        return reconfigurationTime.getText();
+    }
+
+    public String getMappingPenalty() {
+        return mappingPenalty.getText();
+    }
+
+    public String getGoIdleTime() {
+        return goIdleTime.getText();
+    }
+
+    public String getMaxConsecutiveIdleCycles() {
+        return maxConsecutiveIdleCycles.getText();
+    }
+
+    public String getExeciTime() {
+        return execiTime.getText();
+    }
+
+    public String getExeccTime() {
+        return execcTime.getText();
+    }
+
+
+    public String getClockRatio() {
+        return clockRatio.getText();
+    }
+
+
+}
diff --git a/src/main/resources/ui/util/tmlfpganode.gif b/src/main/resources/ui/util/tmlfpganode.gif
new file mode 100755
index 0000000000000000000000000000000000000000..da9de867a59e1ef41d22247d9d17cbea57672a4a
GIT binary patch
literal 113
zcmZ?wbhEHb<Yy3ISjfl#1poj4KX?BZkW~E1!pOzI%%B4j1<5loInC*>WH@|JM7UV3
zt+++u$NR*X0~1u$ctkV<^ezOYw|7ar-nPPvJ4a&o!MbI~bRRgk=@{{@+S(ABpm`)D
M%-3Q2O(q6w0I3!!ZU6uP

literal 0
HcmV?d00001

-- 
GitLab