diff --git a/Makefile b/Makefile
index 02aa665c602a873827ecb0f9382bd66ccb2f6252..8a14a51b7074468372941b2304c30447c6be79cb 100755
--- a/Makefile
+++ b/Makefile
@@ -70,6 +70,8 @@ JTTOOL = $(TTOOL_PATH)/javacode
 JTTOOL_DIR = jttool
 TTOOL_TARGET = $(TTOOL_PATH)/TTool_install/TTool
 TTOOL_TARGET_RELEASE = $(TTOOL_PATH)/TTool_install
+TTOOL_PREINSTALL = $(TTOOL_PATH)/preinstallTTool
+TTOOL_PREINSTALL_LINUX = $(TTOOL_PREINSTALL)/linux
 
 RELEASE_STD_FILES_LINUX_EXE = ttool_unix
 RELEASE_STD_FILES_WINDIWS_EXE = ttool_windows.bat
@@ -243,6 +245,14 @@ stdrelease:
 	cp -R $(TTOOL_DOC)/README_src $(TTOOL_TARGET)/src
 	cd $(TTOOL_TARGET_RELEASE);$(TAR) cfv $(TTOOL_STD_RELEASE)/releaseWithSrc.tar *; $(GZIP) $(TTOOL_STD_RELEASE)/releaseWithSrc.tar; mv $(TTOOL_STD_RELEASE)/releaseWithSrc.tar.gz $(TTOOL_STD_RELEASE)/releaseWithSrc.tgz
 
+preinstall: jar preinstall_linux
+
+preinstall_linux:
+#jars
+	cp $(TTOOL_BIN)/*.jar $(TTOOL_PREINSTALL_LINUX)/TTool/bin/
+
+	cd $(TTOOL_MODELING); cp $(RELEASE_STD_FILES_XML) $(TTOOL_PREINSTALL_LINUX)/TTool/modeling/
+	cp $(TTOOL_DOC)/README_modeling $(TTOOL_PREINSTALL_LINUX)/TTool/modeling/
 
 jttooljar:
 	cd $(JTTOOL);$(JAVAC) $(JTTOOL_DIR)/*.java;$(JAR) cmf $(TTOOL_SRC)/$(TTOOL_JAR_TXT) $(TTOOL_BIN)/$(JTTOOL_JAR) $(JTTOOL_DIR)/*.class 
diff --git a/executablecode/Makefile.src b/executablecode/Makefile.src
index 75086c244413097543931c75ee8f041d14f8e986..28b9acb23f0af46aef4caec4f72c265800a703d3 100755
--- a/executablecode/Makefile.src
+++ b/executablecode/Makefile.src
@@ -1 +1 @@
-SRCS = generated_src/main.c generated_src/TPM.c generated_src/CertificationAuthority.c 
\ No newline at end of file
+SRCS = generated_src/main.c generated_src/ObserverProp1.c generated_src/RemotelyControlledMicrowave.c generated_src/RemoteControl.c generated_src/MicroWaveOven.c generated_src/Bell.c generated_src/ControlPanel.c generated_src/Controller.c generated_src/Magnetron.c generated_src/Door.c generated_src/WirelessInterface.c 
\ No newline at end of file
diff --git a/modeling/Zigbee.xml~ b/modeling/Zigbee.xml~
index 88fe2e202264d020644a033ce4d2e3b5512677c0..d27d298929710d7fde194ef982052f62dc01aa23 100644
--- a/modeling/Zigbee.xml~
+++ b/modeling/Zigbee.xml~
@@ -8,24 +8,24 @@
 <cdparam x="1952" y="691" />
 <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="1939" y="678" id="271" />
-<P2  x="2350" y="519" id="236" />
+<P1  x="1939" y="678" id="260" />
+<P2  x="2350" y="519" id="219" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="2" >
 <cdparam x="1951" y="285" />
 <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="1938" y="272" id="348" />
-<P2  x="2350" y="470" id="232" />
+<P1  x="1938" y="272" id="299" />
+<P2  x="2350" y="470" id="223" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="4" >
 <cdparam x="1491" 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="1478" y="498" id="195" />
-<P2  x="1716" y="249" id="314" />
+<P1  x="1478" y="498" id="182" />
+<P2  x="1716" y="249" id="325" />
 <Point x="1611" y="498" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR><SUBCOMPONENT type="-1" id="3" >
@@ -41,7 +41,7 @@
 <cdparam x="1945" y="539" />
 <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="1932" y="526" id="256" />
+<P1  x="1932" y="526" id="275" />
 <P2  x="2175" y="360" id="38" />
 <Point x="2175" y="539" />
 <AutomaticDrawing  data="true" />
@@ -58,48 +58,48 @@
 <cdparam x="1077" y="532" />
 <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="1064" y="519" id="154" />
-<P2  x="1321" y="518" id="193" />
+<P1  x="1064" y="519" id="143" />
+<P2  x="1321" y="518" id="184" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="8" >
 <cdparam x="1074" y="384" />
 <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="1061" y="371" id="139" />
-<P2  x="1325" y="371" id="178" />
+<P1  x="1061" y="371" id="158" />
+<P2  x="1325" y="371" id="199" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="9" >
 <cdparam x="661" y="525" />
 <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="648" y="512" id="115" />
-<P2  x="907" y="512" id="156" />
+<P1  x="648" y="512" id="104" />
+<P2  x="907" y="512" id="141" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="10" >
 <cdparam x="660" y="383" />
 <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="647" y="370" id="100" />
-<P2  x="903" y="371" id="141" />
+<P1  x="647" y="370" id="119" />
+<P2  x="903" y="371" id="156" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="11" >
 <cdparam x="262" y="524" />
 <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="249" y="511" id="78" />
-<P2  x="491" y="512" id="117" />
+<P1  x="249" y="511" id="67" />
+<P2  x="491" y="512" id="102" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="12" >
 <cdparam x="265" 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="252" y="360" id="65" />
-<P2  x="489" y="360" id="102" />
+<P1  x="252" y="360" id="80" />
+<P2  x="489" y="360" id="117" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="13" >
@@ -107,14 +107,14 @@
 <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="2192" y="352" id="33" />
-<P2  x="2351" y="339" id="219" />
+<P2  x="2351" y="339" id="236" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="15" >
 <cdparam x="1944" y="125" />
 <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="1931" y="112" id="333" />
+<P1  x="1931" y="112" id="314" />
 <P2  x="2175" y="343" id="36" />
 <Point x="2175" y="125" />
 <AutomaticDrawing  data="true" />
@@ -131,8 +131,8 @@
 <cdparam x="1618" y="519" />
 <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="1478" y="548" id="199" />
-<P2  x="1790" y="675" id="273" />
+<P1  x="1478" y="548" id="178" />
+<P2  x="1790" y="675" id="258" />
 <Point x="1618" y="688" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR><SUBCOMPONENT type="-1" id="16" >
@@ -149,7 +149,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="1626" y="355" id="50" />
-<P2  x="1788" y="519" id="258" />
+<P2  x="1788" y="519" id="273" />
 <Point x="1680" y="355" />
 <Point x="1680" y="532" />
 <AutomaticDrawing  data="true" />
@@ -174,8 +174,8 @@
 <cdparam x="1729" 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="1716" y="275" id="319" />
-<P2  x="1781" y="249" id="350" />
+<P1  x="1716" y="275" id="330" />
+<P2  x="1781" y="249" id="297" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="23" >
@@ -183,7 +183,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="1620" y="346" id="52" />
-<P2  x="1716" y="106" id="295" />
+<P2  x="1716" y="106" id="344" />
 <Point x="1620" y="119" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR><SUBCOMPONENT type="-1" id="22" >
@@ -199,15 +199,15 @@
 <cdparam x="1729" y="119" />
 <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="1716" y="132" id="300" />
-<P2  x="1780" y="105" id="335" />
+<P1  x="1716" y="132" id="349" />
+<P2  x="1780" y="105" id="312" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="25" >
 <cdparam x="1485" y="363" />
 <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="1470" y="364" id="180" />
+<P1  x="1470" y="364" id="197" />
 <P2  x="1604" y="355" id="49" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
@@ -215,56 +215,56 @@
 <cdparam x="2385" y="443" />
 <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="2481" y="438" id="234" />
-<P2  x="2386" y="394" id="221" />
+<P1  x="2481" y="438" id="221" />
+<P2  x="2386" y="394" id="234" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="27" >
 <cdparam x="1911" y="211" />
 <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="1911" y="211" id="352" />
-<P2  x="1821" y="166" id="337" />
+<P1  x="1911" y="211" id="295" />
+<P2  x="1821" y="166" id="310" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="28" >
 <cdparam x="1912" y="621" />
 <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="1912" y="621" id="275" />
-<P2  x="1817" y="576" id="260" />
+<P1  x="1912" y="621" id="256" />
+<P2  x="1817" y="576" id="271" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="29" >
 <cdparam x="1457" y="435" />
 <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="1455" y="457" id="197" />
-<P2  x="1359" y="419" id="182" />
+<P1  x="1455" y="457" id="180" />
+<P2  x="1359" y="419" id="195" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="30" >
 <cdparam x="1041" y="456" />
 <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="1041" y="456" id="158" />
-<P2  x="941" y="415" id="143" />
+<P1  x="1041" y="456" id="139" />
+<P2  x="941" y="415" id="154" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="31" >
 <cdparam x="630" y="455" />
 <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="630" y="455" id="119" />
-<P2  x="523" y="420" id="104" />
+<P1  x="630" y="455" id="100" />
+<P2  x="523" y="420" id="115" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="32" >
 <cdparam x="215" y="452" />
 <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="215" y="452" id="80" />
-<P2  x="139" y="410" id="67" />
+<P1  x="215" y="452" id="65" />
+<P2  x="139" y="410" id="78" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <COMPONENT type="1208" id="48" >
@@ -333,11 +333,11 @@
 </COMPONENT>
 <SUBCOMPONENT type="1202" id="77" >
 <father id="99" num="0" />
-<cdparam x="91" y="320" />
-<sizeparam width="161" height="103" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="92" y="465" />
+<sizeparam width="157" height="113" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="129" minY="0" maxY="217" />
-<infoparam name="Primitive component" value="X_Source" />
+<cdrectangleparam minX="0" maxX="133" minY="0" maxY="207" />
+<infoparam name="Primitive component" value="F_Source" />
 <TGConnectingPoint num="0" id="69" />
 <TGConnectingPoint num="1" id="70" />
 <TGConnectingPoint num="2" id="71" />
@@ -352,15 +352,15 @@
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1203" id="66" >
 <father id="77" num="0" />
-<cdparam x="239" y="360" />
+<cdparam x="202" y="452" />
 <sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="148" minY="-13" maxY="90" />
-<infoparam name="Primitive port" value="Channel Source_ch_out" />
+<cdrectangleparam minX="-13" maxX="144" minY="-13" maxY="100" />
+<infoparam name="Primitive port" value="Request source_req" />
 <TGConnectingPoint num="0" id="65" />
 <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" />
-<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="" />
+<Type type="1" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -369,14 +369,14 @@
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1203" id="68" >
 <father id="77" num="1" />
-<cdparam x="126" y="410" />
+<cdparam x="236" y="511" />
 <sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="148" minY="-13" maxY="90" />
-<infoparam name="Primitive port" value="Request source_req" />
+<cdrectangleparam minX="-13" maxX="144" minY="-13" maxY="100" />
+<infoparam name="Primitive port" value="Event Source_evt_out" />
 <TGConnectingPoint num="0" id="67" />
 <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="" />
+<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="" />
 <Type type="1" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -386,11 +386,11 @@
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1202" id="90" >
 <father id="99" num="1" />
-<cdparam x="92" y="465" />
-<sizeparam width="157" height="113" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="91" y="320" />
+<sizeparam width="161" height="103" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="133" minY="0" maxY="207" />
-<infoparam name="Primitive component" value="F_Source" />
+<cdrectangleparam minX="0" maxX="129" minY="0" maxY="217" />
+<infoparam name="Primitive component" value="X_Source" />
 <TGConnectingPoint num="0" id="82" />
 <TGConnectingPoint num="1" id="83" />
 <TGConnectingPoint num="2" id="84" />
@@ -405,14 +405,14 @@
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1203" id="79" >
 <father id="90" num="0" />
-<cdparam x="236" y="511" />
+<cdparam x="126" y="410" />
 <sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="144" minY="-13" maxY="100" />
-<infoparam name="Primitive port" value="Event Source_evt_out" />
+<cdrectangleparam minX="-13" maxX="148" minY="-13" maxY="90" />
+<infoparam name="Primitive port" value="Request source_req" />
 <TGConnectingPoint num="0" id="78" />
 <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="" />
+<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="" />
 <Type type="1" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -422,15 +422,15 @@
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1203" id="81" >
 <father id="90" num="1" />
-<cdparam x="202" y="452" />
+<cdparam x="239" y="360" />
 <sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="144" minY="-13" maxY="100" />
-<infoparam name="Primitive port" value="Request source_req" />
+<cdrectangleparam minX="-13" maxX="148" minY="-13" maxY="90" />
+<infoparam name="Primitive port" value="Channel Source_ch_out" />
 <TGConnectingPoint num="0" id="80" />
 <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="" />
-<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" />
+<Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -458,11 +458,11 @@
 </COMPONENT>
 <SUBCOMPONENT type="1202" id="114" >
 <father id="138" num="0" />
-<cdparam x="489" y="325" />
-<sizeparam width="158" height="108" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="491" y="468" />
+<sizeparam width="157" height="113" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="132" minY="0" maxY="212" />
-<infoparam name="Primitive component" value="X_Bits_to_Symbol" />
+<cdrectangleparam minX="0" maxX="133" minY="0" maxY="207" />
+<infoparam name="Primitive component" value="F_Bits_to_Symbol" />
 <TGConnectingPoint num="0" id="106" />
 <TGConnectingPoint num="1" id="107" />
 <TGConnectingPoint num="2" id="108" />
@@ -477,15 +477,15 @@
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1203" id="101" >
 <father id="114" num="0" />
-<cdparam x="634" y="370" />
+<cdparam x="617" y="455" />
 <sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="145" minY="-13" maxY="95" />
-<infoparam name="Primitive port" value="Channel bit2symbol_ch_out" />
+<cdrectangleparam minX="-13" maxX="144" minY="-13" maxY="100" />
+<infoparam name="Primitive port" value="Request bit2chip_req" />
 <TGConnectingPoint num="0" id="100" />
 <extraparam>
-<Prop commName="bit2symbol_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" />
-<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="" />
+<Type type="1" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -494,15 +494,15 @@
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1203" id="103" >
 <father id="114" num="1" />
-<cdparam x="476" y="360" />
+<cdparam x="478" y="512" />
 <sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="145" minY="-13" maxY="95" />
-<infoparam name="Primitive port" value="Channel bit2symbol_ch_in" />
+<cdrectangleparam minX="-13" maxX="144" minY="-13" maxY="100" />
+<infoparam name="Primitive port" value="Event bit2symbol_evt_in" />
 <TGConnectingPoint num="0" id="102" />
 <extraparam>
-<Prop commName="bit2symbol_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" />
-<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="" />
+<Type type="1" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -511,14 +511,14 @@
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1203" id="105" >
 <father id="114" num="2" />
-<cdparam x="510" y="420" />
+<cdparam x="635" y="512" />
 <sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="145" minY="-13" maxY="95" />
-<infoparam name="Primitive port" value="Request bit2chip_req" />
+<cdrectangleparam minX="-13" maxX="144" minY="-13" maxY="100" />
+<infoparam name="Primitive port" value="Event bit2symbol_evt_out" />
 <TGConnectingPoint num="0" id="104" />
 <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="" />
+<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="" />
 <Type type="1" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -528,11 +528,11 @@
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1202" id="129" >
 <father id="138" num="1" />
-<cdparam x="491" y="468" />
-<sizeparam width="157" height="113" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="489" y="325" />
+<sizeparam width="158" height="108" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="133" minY="0" maxY="207" />
-<infoparam name="Primitive component" value="F_Bits_to_Symbol" />
+<cdrectangleparam minX="0" maxX="132" minY="0" maxY="212" />
+<infoparam name="Primitive component" value="X_Bits_to_Symbol" />
 <TGConnectingPoint num="0" id="121" />
 <TGConnectingPoint num="1" id="122" />
 <TGConnectingPoint num="2" id="123" />
@@ -547,14 +547,14 @@
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1203" id="116" >
 <father id="129" num="0" />
-<cdparam x="635" y="512" />
+<cdparam x="510" y="420" />
 <sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="144" minY="-13" maxY="100" />
-<infoparam name="Primitive port" value="Event bit2symbol_evt_out" />
+<cdrectangleparam minX="-13" maxX="145" minY="-13" maxY="95" />
+<infoparam name="Primitive port" value="Request bit2chip_req" />
 <TGConnectingPoint num="0" id="115" />
 <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="" />
+<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="" />
 <Type type="1" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -564,15 +564,15 @@
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1203" id="118" >
 <father id="129" num="1" />
-<cdparam x="478" y="512" />
+<cdparam x="476" y="360" />
 <sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="144" minY="-13" maxY="100" />
-<infoparam name="Primitive port" value="Event bit2symbol_evt_in" />
+<cdrectangleparam minX="-13" maxX="145" minY="-13" maxY="95" />
+<infoparam name="Primitive port" value="Channel bit2symbol_ch_in" />
 <TGConnectingPoint num="0" id="117" />
 <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="" />
-<Type type="1" typeOther="" />
+<Prop commName="bit2symbol_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" />
+<Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -581,15 +581,15 @@
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1203" id="120" >
 <father id="129" num="2" />
-<cdparam x="617" y="455" />
+<cdparam x="634" y="370" />
 <sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="144" minY="-13" maxY="100" />
-<infoparam name="Primitive port" value="Request bit2chip_req" />
+<cdrectangleparam minX="-13" maxX="145" minY="-13" maxY="95" />
+<infoparam name="Primitive port" value="Channel bit2symbol_ch_out" />
 <TGConnectingPoint num="0" id="119" />
 <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="" />
-<Type type="1" typeOther="" />
+<Prop commName="bit2symbol_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" />
+<Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -617,11 +617,11 @@
 </COMPONENT>
 <SUBCOMPONENT type="1202" id="153" >
 <father id="177" num="0" />
-<cdparam x="903" y="324" />
-<sizeparam width="158" height="104" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="907" y="469" />
+<sizeparam width="157" height="113" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="132" minY="0" maxY="216" />
-<infoparam name="Primitive component" value="X_Chip_to_Octet" />
+<cdrectangleparam minX="0" maxX="133" minY="0" maxY="207" />
+<infoparam name="Primitive component" value="F_Chip_to_Octet" />
 <TGConnectingPoint num="0" id="145" />
 <TGConnectingPoint num="1" id="146" />
 <TGConnectingPoint num="2" id="147" />
@@ -636,15 +636,15 @@
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1203" id="140" >
 <father id="153" num="0" />
-<cdparam x="1048" y="371" />
+<cdparam x="1028" y="456" />
 <sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="145" minY="-13" maxY="91" />
-<infoparam name="Primitive port" value="Channel chip2octet_ch_out" />
+<cdrectangleparam minX="-13" maxX="144" minY="-13" maxY="100" />
+<infoparam name="Primitive port" value="Request chip2octet_req" />
 <TGConnectingPoint num="0" id="139" />
 <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" />
-<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="" />
+<Type type="1" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -653,15 +653,15 @@
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1203" id="142" >
 <father id="153" num="1" />
-<cdparam x="890" y="371" />
+<cdparam x="894" y="512" />
 <sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="145" minY="-13" maxY="91" />
-<infoparam name="Primitive port" value="Channel chip2octet_ch_in" />
+<cdrectangleparam minX="-13" maxX="144" minY="-13" maxY="100" />
+<infoparam name="Primitive port" value="Event chip2octet_evt_in" />
 <TGConnectingPoint num="0" id="141" />
 <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" />
-<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="" />
+<Type type="1" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -670,14 +670,14 @@
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1203" id="144" >
 <father id="153" num="2" />
-<cdparam x="928" y="415" />
+<cdparam x="1051" y="519" />
 <sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="145" minY="-13" maxY="91" />
-<infoparam name="Primitive port" value="Request chip2octet_req" />
+<cdrectangleparam minX="-13" maxX="144" minY="-13" maxY="100" />
+<infoparam name="Primitive port" value="Event chip2octet_evt_out" />
 <TGConnectingPoint num="0" id="143" />
 <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="" />
+<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="" />
 <Type type="1" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -687,11 +687,11 @@
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1202" id="168" >
 <father id="177" num="1" />
-<cdparam x="907" y="469" />
-<sizeparam width="157" height="113" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="903" y="324" />
+<sizeparam width="158" height="104" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="133" minY="0" maxY="207" />
-<infoparam name="Primitive component" value="F_Chip_to_Octet" />
+<cdrectangleparam minX="0" maxX="132" minY="0" maxY="216" />
+<infoparam name="Primitive component" value="X_Chip_to_Octet" />
 <TGConnectingPoint num="0" id="160" />
 <TGConnectingPoint num="1" id="161" />
 <TGConnectingPoint num="2" id="162" />
@@ -706,14 +706,14 @@
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1203" id="155" >
 <father id="168" num="0" />
-<cdparam x="1051" y="519" />
+<cdparam x="928" y="415" />
 <sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="144" minY="-13" maxY="100" />
-<infoparam name="Primitive port" value="Event chip2octet_evt_out" />
+<cdrectangleparam minX="-13" maxX="145" minY="-13" maxY="91" />
+<infoparam name="Primitive port" value="Request chip2octet_req" />
 <TGConnectingPoint num="0" id="154" />
 <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="" />
+<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="" />
 <Type type="1" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -723,15 +723,15 @@
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1203" id="157" >
 <father id="168" num="1" />
-<cdparam x="894" y="512" />
+<cdparam x="890" y="371" />
 <sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="144" minY="-13" maxY="100" />
-<infoparam name="Primitive port" value="Event chip2octet_evt_in" />
+<cdrectangleparam minX="-13" maxX="145" minY="-13" maxY="91" />
+<infoparam name="Primitive port" value="Channel chip2octet_ch_in" />
 <TGConnectingPoint num="0" id="156" />
 <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="" />
-<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" />
+<Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -740,15 +740,15 @@
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1203" id="159" >
 <father id="168" num="2" />
-<cdparam x="1028" y="456" />
+<cdparam x="1048" y="371" />
 <sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="144" minY="-13" maxY="100" />
-<infoparam name="Primitive port" value="Request chip2octet_req" />
+<cdrectangleparam minX="-13" maxX="145" minY="-13" maxY="91" />
+<infoparam name="Primitive port" value="Channel chip2octet_ch_out" />
 <TGConnectingPoint num="0" id="158" />
 <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="" />
-<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" />
+<Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -774,36 +774,36 @@
 <info hiddeni="false" />
 </extraparam>
 </COMPONENT>
-<SUBCOMPONENT type="1202" id="192" >
+<SUBCOMPONENT type="1202" id="194" >
 <father id="218" num="0" />
-<cdparam x="1325" y="327" />
-<sizeparam width="145" height="105" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="1321" y="470" />
+<sizeparam width="157" height="113" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="145" minY="0" maxY="215" />
-<infoparam name="Primitive component" value="X_CWL" />
-<TGConnectingPoint num="0" id="184" />
-<TGConnectingPoint num="1" id="185" />
-<TGConnectingPoint num="2" id="186" />
-<TGConnectingPoint num="3" id="187" />
-<TGConnectingPoint num="4" id="188" />
-<TGConnectingPoint num="5" id="189" />
-<TGConnectingPoint num="6" id="190" />
-<TGConnectingPoint num="7" id="191" />
+<cdrectangleparam minX="0" maxX="133" minY="0" maxY="207" />
+<infoparam name="Primitive component" value="F_CWL" />
+<TGConnectingPoint num="0" id="186" />
+<TGConnectingPoint num="1" id="187" />
+<TGConnectingPoint num="2" id="188" />
+<TGConnectingPoint num="3" id="189" />
+<TGConnectingPoint num="4" id="190" />
+<TGConnectingPoint num="5" id="191" />
+<TGConnectingPoint num="6" id="192" />
+<TGConnectingPoint num="7" id="193" />
 <extraparam>
 <Attribute access="2" id="size" value="" type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1203" id="179" >
-<father id="192" num="0" />
-<cdparam x="1312" y="371" />
+<father id="194" num="0" />
+<cdparam x="1465" y="548" />
 <sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="132" minY="-13" maxY="92" />
-<infoparam name="Primitive port" value="Channel cwl_ch_in" />
+<cdrectangleparam minX="-13" maxX="144" minY="-13" maxY="100" />
+<infoparam name="Primitive port" value="Event cwl_evt_out_1" />
 <TGConnectingPoint num="0" id="178" />
 <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" />
-<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="" />
+<Type type="1" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -811,16 +811,16 @@
 </extraparam>
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1203" id="181" >
-<father id="192" num="1" />
-<cdparam x="1457" y="364" />
+<father id="194" num="1" />
+<cdparam x="1442" y="457" />
 <sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="132" minY="-13" maxY="92" />
-<infoparam name="Primitive port" value="Channel cwl_ch_out" />
+<cdrectangleparam minX="-13" maxX="144" minY="-13" maxY="100" />
+<infoparam name="Primitive port" value="Request cwl_req" />
 <TGConnectingPoint num="0" id="180" />
 <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" />
-<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="" />
+<Type type="1" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -828,15 +828,32 @@
 </extraparam>
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1203" id="183" >
-<father id="192" num="2" />
-<cdparam x="1346" y="419" />
+<father id="194" num="2" />
+<cdparam x="1465" y="498" />
 <sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="132" minY="-13" maxY="92" />
-<infoparam name="Primitive port" value="Request cwl_req" />
+<cdrectangleparam minX="-13" maxX="144" minY="-13" maxY="100" />
+<infoparam name="Primitive port" value="Event cwl_evt_out" />
 <TGConnectingPoint num="0" id="182" />
 <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="" />
+<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="" />
+<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="185" >
+<father id="194" num="3" />
+<cdparam x="1308" y="518" />
+<sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="-13" maxX="144" minY="-13" maxY="100" />
+<infoparam name="Primitive port" value="Event cwl_evt_in" />
+<TGConnectingPoint num="0" id="184" />
+<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="" />
 <Type type="1" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -846,11 +863,11 @@
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1202" id="209" >
 <father id="218" num="1" />
-<cdparam x="1321" y="470" />
-<sizeparam width="157" height="113" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="1325" y="327" />
+<sizeparam width="145" height="105" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="133" minY="0" maxY="207" />
-<infoparam name="Primitive component" value="F_CWL" />
+<cdrectangleparam minX="0" maxX="145" minY="0" maxY="215" />
+<infoparam name="Primitive component" value="X_CWL" />
 <TGConnectingPoint num="0" id="201" />
 <TGConnectingPoint num="1" id="202" />
 <TGConnectingPoint num="2" id="203" />
@@ -863,33 +880,16 @@
 <Attribute access="2" id="size" value="" type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="194" >
-<father id="209" num="0" />
-<cdparam x="1308" y="518" />
-<sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<hidden value="false" />
-<cdrectangleparam minX="-13" maxX="144" minY="-13" maxY="100" />
-<infoparam name="Primitive port" value="Event cwl_evt_in" />
-<TGConnectingPoint num="0" id="193" />
-<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="" />
-<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="196" >
-<father id="209" num="1" />
-<cdparam x="1465" y="498" />
+<father id="209" num="0" />
+<cdparam x="1346" y="419" />
 <sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="144" minY="-13" maxY="100" />
-<infoparam name="Primitive port" value="Event cwl_evt_out" />
+<cdrectangleparam minX="-13" maxX="132" minY="-13" maxY="92" />
+<infoparam name="Primitive port" value="Request cwl_req" />
 <TGConnectingPoint num="0" id="195" />
 <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="" />
+<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="" />
 <Type type="1" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -898,16 +898,16 @@
 </extraparam>
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1203" id="198" >
-<father id="209" num="2" />
-<cdparam x="1442" y="457" />
+<father id="209" num="1" />
+<cdparam x="1457" y="364" />
 <sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="144" minY="-13" maxY="100" />
-<infoparam name="Primitive port" value="Request cwl_req" />
+<cdrectangleparam minX="-13" maxX="132" minY="-13" maxY="92" />
+<infoparam name="Primitive port" value="Channel cwl_ch_out" />
 <TGConnectingPoint num="0" id="197" />
 <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="" />
-<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" />
+<Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -915,16 +915,16 @@
 </extraparam>
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1203" id="200" >
-<father id="209" num="3" />
-<cdparam x="1465" y="548" />
+<father id="209" num="2" />
+<cdparam x="1312" y="371" />
 <sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="144" minY="-13" maxY="100" />
-<infoparam name="Primitive port" value="Event cwl_evt_out_1" />
+<cdrectangleparam minX="-13" maxX="132" minY="-13" maxY="92" />
+<infoparam name="Primitive port" value="Channel cwl_ch_in" />
 <TGConnectingPoint num="0" id="199" />
 <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="" />
-<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" />
+<Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -950,36 +950,36 @@
 <info hiddeni="false" />
 </extraparam>
 </COMPONENT>
-<SUBCOMPONENT type="1202" id="231" >
+<SUBCOMPONENT type="1202" id="233" >
 <father id="255" num="0" />
-<cdparam x="2351" y="298" />
-<sizeparam width="158" height="109" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="2350" y="451" />
+<sizeparam width="157" height="113" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="132" minY="0" maxY="211" />
-<infoparam name="Primitive component" value="X_Sink" />
-<TGConnectingPoint num="0" id="223" />
-<TGConnectingPoint num="1" id="224" />
-<TGConnectingPoint num="2" id="225" />
-<TGConnectingPoint num="3" id="226" />
-<TGConnectingPoint num="4" id="227" />
-<TGConnectingPoint num="5" id="228" />
-<TGConnectingPoint num="6" id="229" />
-<TGConnectingPoint num="7" id="230" />
+<cdrectangleparam minX="0" maxX="133" minY="0" maxY="207" />
+<infoparam name="Primitive component" value="F_Sink" />
+<TGConnectingPoint num="0" id="225" />
+<TGConnectingPoint num="1" id="226" />
+<TGConnectingPoint num="2" id="227" />
+<TGConnectingPoint num="3" id="228" />
+<TGConnectingPoint num="4" id="229" />
+<TGConnectingPoint num="5" id="230" />
+<TGConnectingPoint num="6" id="231" />
+<TGConnectingPoint num="7" id="232" />
 <extraparam>
 <Attribute access="2" id="size" value="" type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1203" id="220" >
-<father id="231" num="0" />
-<cdparam x="2338" y="339" />
+<father id="233" num="0" />
+<cdparam x="2337" y="519" />
 <sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="145" minY="-13" maxY="96" />
-<infoparam name="Primitive port" value="Channel sink_ch_in" />
+<cdrectangleparam minX="-13" maxX="144" minY="-13" maxY="100" />
+<infoparam name="Primitive port" value="Event sink_evt_in_1" />
 <TGConnectingPoint num="0" id="219" />
 <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" />
-<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="" />
+<Type type="1" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -987,15 +987,32 @@
 </extraparam>
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1203" id="222" >
-<father id="231" num="1" />
-<cdparam x="2373" y="394" />
+<father id="233" num="1" />
+<cdparam x="2468" y="438" />
 <sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="145" minY="-13" maxY="96" />
+<cdrectangleparam minX="-13" maxX="144" minY="-13" maxY="100" />
 <infoparam name="Primitive port" value="Request sink_req" />
 <TGConnectingPoint num="0" id="221" />
 <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="" />
+<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="" />
+<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="224" >
+<father id="233" num="2" />
+<cdparam x="2337" y="470" />
+<sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="-13" maxX="144" minY="-13" maxY="100" />
+<infoparam name="Primitive port" value="Event sink_evt_in" />
+<TGConnectingPoint num="0" id="223" />
+<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="" />
 <Type type="1" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -1005,11 +1022,11 @@
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1202" id="246" >
 <father id="255" num="1" />
-<cdparam x="2350" y="451" />
-<sizeparam width="157" height="113" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="2351" y="298" />
+<sizeparam width="158" height="109" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="133" minY="0" maxY="207" />
-<infoparam name="Primitive component" value="F_Sink" />
+<cdrectangleparam minX="0" maxX="132" minY="0" maxY="211" />
+<infoparam name="Primitive component" value="X_Sink" />
 <TGConnectingPoint num="0" id="238" />
 <TGConnectingPoint num="1" id="239" />
 <TGConnectingPoint num="2" id="240" />
@@ -1022,33 +1039,16 @@
 <Attribute access="2" id="size" value="" type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="233" >
-<father id="246" num="0" />
-<cdparam x="2337" y="470" />
-<sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<hidden value="false" />
-<cdrectangleparam minX="-13" maxX="144" minY="-13" maxY="100" />
-<infoparam name="Primitive port" value="Event sink_evt_in" />
-<TGConnectingPoint num="0" id="232" />
-<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="" />
-<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="235" >
-<father id="246" num="1" />
-<cdparam x="2468" y="438" />
+<father id="246" num="0" />
+<cdparam x="2373" y="394" />
 <sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="144" minY="-13" maxY="100" />
+<cdrectangleparam minX="-13" maxX="145" minY="-13" maxY="96" />
 <infoparam name="Primitive port" value="Request sink_req" />
 <TGConnectingPoint num="0" id="234" />
 <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="" />
+<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="" />
 <Type type="1" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -1057,16 +1057,16 @@
 </extraparam>
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1203" id="237" >
-<father id="246" num="2" />
-<cdparam x="2337" y="519" />
+<father id="246" num="1" />
+<cdparam x="2338" y="339" />
 <sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="144" minY="-13" maxY="100" />
-<infoparam name="Primitive port" value="Event sink_evt_in_1" />
+<cdrectangleparam minX="-13" maxX="145" minY="-13" maxY="96" />
+<infoparam name="Primitive port" value="Channel sink_ch_in" />
 <TGConnectingPoint num="0" id="236" />
 <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="" />
-<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" />
+<Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -1094,11 +1094,11 @@
 </COMPONENT>
 <SUBCOMPONENT type="1202" id="270" >
 <father id="294" num="0" />
-<cdparam x="1788" y="482" />
-<sizeparam width="144" height="107" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="1790" y="634" />
+<sizeparam width="149" height="108" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="146" minY="0" maxY="213" />
-<infoparam name="Primitive component" value="X_CWP_Q" />
+<cdrectangleparam minX="0" maxX="141" minY="0" maxY="212" />
+<infoparam name="Primitive component" value="F_CWP_Q" />
 <TGConnectingPoint num="0" id="262" />
 <TGConnectingPoint num="1" id="263" />
 <TGConnectingPoint num="2" id="264" />
@@ -1113,15 +1113,15 @@
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1203" id="257" >
 <father id="270" num="0" />
-<cdparam x="1919" y="526" />
+<cdparam x="1899" y="621" />
 <sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="131" minY="-13" maxY="94" />
-<infoparam name="Primitive port" value="Channel cwpQ_ch_out" />
+<cdrectangleparam minX="-13" maxX="136" minY="-13" maxY="95" />
+<infoparam name="Primitive port" value="Request cwpQ_req" />
 <TGConnectingPoint num="0" id="256" />
 <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="" />
-<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="" />
+<Type type="1" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -1130,15 +1130,15 @@
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1203" id="259" >
 <father id="270" num="1" />
-<cdparam x="1775" y="519" />
+<cdparam x="1777" y="675" />
 <sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="131" minY="-13" maxY="94" />
-<infoparam name="Primitive port" value="Channel cwpQ_ch_in" />
+<cdrectangleparam minX="-13" maxX="136" minY="-13" maxY="95" />
+<infoparam name="Primitive port" value="Event cwpQ_evt_in" />
 <TGConnectingPoint num="0" id="258" />
 <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="" />
-<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="" />
+<Type type="1" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -1147,14 +1147,14 @@
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1203" id="261" >
 <father id="270" num="2" />
-<cdparam x="1804" y="576" />
+<cdparam x="1926" y="678" />
 <sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="131" minY="-13" maxY="94" />
-<infoparam name="Primitive port" value="Request cwpQ_req" />
+<cdrectangleparam minX="-13" maxX="136" minY="-13" maxY="95" />
+<infoparam name="Primitive port" value="Event cwpQ_evt_out" />
 <TGConnectingPoint num="0" id="260" />
 <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="" />
+<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="" />
 <Type type="1" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -1164,11 +1164,11 @@
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1202" id="285" >
 <father id="294" num="1" />
-<cdparam x="1790" y="634" />
-<sizeparam width="149" height="108" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="1788" y="482" />
+<sizeparam width="144" height="107" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="141" minY="0" maxY="212" />
-<infoparam name="Primitive component" value="F_CWP_Q" />
+<cdrectangleparam minX="0" maxX="146" minY="0" maxY="213" />
+<infoparam name="Primitive component" value="X_CWP_Q" />
 <TGConnectingPoint num="0" id="277" />
 <TGConnectingPoint num="1" id="278" />
 <TGConnectingPoint num="2" id="279" />
@@ -1183,14 +1183,14 @@
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1203" id="272" >
 <father id="285" num="0" />
-<cdparam x="1926" y="678" />
+<cdparam x="1804" y="576" />
 <sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="136" minY="-13" maxY="95" />
-<infoparam name="Primitive port" value="Event cwpQ_evt_out" />
+<cdrectangleparam minX="-13" maxX="131" minY="-13" maxY="94" />
+<infoparam name="Primitive port" value="Request cwpQ_req" />
 <TGConnectingPoint num="0" id="271" />
 <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="" />
+<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="" />
 <Type type="1" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -1200,15 +1200,15 @@
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1203" id="274" >
 <father id="285" num="1" />
-<cdparam x="1777" y="675" />
+<cdparam x="1775" y="519" />
 <sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="136" minY="-13" maxY="95" />
-<infoparam name="Primitive port" value="Event cwpQ_evt_in" />
+<cdrectangleparam minX="-13" maxX="131" minY="-13" maxY="94" />
+<infoparam name="Primitive port" value="Channel cwpQ_ch_in" />
 <TGConnectingPoint num="0" id="273" />
 <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="" />
-<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="" />
+<Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -1217,15 +1217,15 @@
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1203" id="276" >
 <father id="285" num="2" />
-<cdparam x="1899" y="621" />
+<cdparam x="1919" y="526" />
 <sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="136" minY="-13" maxY="95" />
-<infoparam name="Primitive port" value="Request cwpQ_req" />
+<cdrectangleparam minX="-13" maxX="131" minY="-13" maxY="94" />
+<infoparam name="Primitive port" value="Channel cwpQ_ch_out" />
 <TGConnectingPoint num="0" id="275" />
 <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="" />
-<Type type="1" typeOther="" />
+<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="" />
+<Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -1251,121 +1251,69 @@
 <info hiddeni="false" />
 </extraparam>
 </COMPONENT>
-<SUBCOMPONENT type="1201" id="313" >
+<SUBCOMPONENT type="1202" id="309" >
 <father id="371" num="0" />
-<cdparam x="1703" y="106" />
-<sizeparam width="26" height="26" minWidth="10" minHeight="10" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<hidden value="false" />
-<cdrectangleparam minX="-13" maxX="277" minY="-13" maxY="307" />
-<infoparam name="Composite port" value="" />
-<TGConnectingPoint num="0" id="295" />
-<TGConnectingPoint num="1" id="296" />
-<TGConnectingPoint num="2" id="297" />
-<TGConnectingPoint num="3" id="298" />
-<TGConnectingPoint num="4" id="299" />
-<TGConnectingPoint num="5" id="300" />
-<TGConnectingPoint num="6" id="301" />
-<TGConnectingPoint num="7" id="302" />
-<TGConnectingPoint num="8" id="303" />
-<TGConnectingPoint num="9" id="304" />
-<TGConnectingPoint num="10" id="305" />
-<TGConnectingPoint num="11" id="306" />
-<TGConnectingPoint num="12" id="307" />
-<TGConnectingPoint num="13" id="308" />
-<TGConnectingPoint num="14" id="309" />
-<TGConnectingPoint num="15" id="310" />
-<TGConnectingPoint num="16" id="311" />
-<TGConnectingPoint num="17" id="312" />
-</SUBCOMPONENT>
-<SUBCOMPONENT type="1201" id="332" >
-<father id="371" num="1" />
-<cdparam x="1703" 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="277" minY="-13" maxY="307" />
-<infoparam name="Composite port" value="" />
-<TGConnectingPoint num="0" id="314" />
-<TGConnectingPoint num="1" id="315" />
-<TGConnectingPoint num="2" id="316" />
-<TGConnectingPoint num="3" id="317" />
-<TGConnectingPoint num="4" id="318" />
-<TGConnectingPoint num="5" id="319" />
-<TGConnectingPoint num="6" id="320" />
-<TGConnectingPoint num="7" id="321" />
-<TGConnectingPoint num="8" id="322" />
-<TGConnectingPoint num="9" id="323" />
-<TGConnectingPoint num="10" id="324" />
-<TGConnectingPoint num="11" id="325" />
-<TGConnectingPoint num="12" id="326" />
-<TGConnectingPoint num="13" id="327" />
-<TGConnectingPoint num="14" id="328" />
-<TGConnectingPoint num="15" id="329" />
-<TGConnectingPoint num="16" id="330" />
-<TGConnectingPoint num="17" id="331" />
-</SUBCOMPONENT>
-<SUBCOMPONENT type="1202" id="347" >
-<father id="371" num="2" />
-<cdparam x="1780" y="69" />
-<sizeparam width="151" height="110" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="1781" y="224" />
+<sizeparam width="157" height="113" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="139" minY="0" maxY="210" />
-<infoparam name="Primitive component" value="X_CWP_I" />
-<TGConnectingPoint num="0" id="339" />
-<TGConnectingPoint num="1" id="340" />
-<TGConnectingPoint num="2" id="341" />
-<TGConnectingPoint num="3" id="342" />
-<TGConnectingPoint num="4" id="343" />
-<TGConnectingPoint num="5" id="344" />
-<TGConnectingPoint num="6" id="345" />
-<TGConnectingPoint num="7" id="346" />
+<cdrectangleparam minX="0" maxX="133" minY="0" maxY="207" />
+<infoparam name="Primitive component" value="F_CWP_I" />
+<TGConnectingPoint num="0" id="301" />
+<TGConnectingPoint num="1" id="302" />
+<TGConnectingPoint num="2" id="303" />
+<TGConnectingPoint num="3" id="304" />
+<TGConnectingPoint num="4" id="305" />
+<TGConnectingPoint num="5" id="306" />
+<TGConnectingPoint num="6" id="307" />
+<TGConnectingPoint num="7" id="308" />
 <extraparam>
 <Attribute access="2" id="size" value="" type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="334" >
-<father id="347" num="0" />
-<cdparam x="1918" y="112" />
+<SUBCOMPONENT type="1203" id="296" >
+<father id="309" num="0" />
+<cdparam x="1898" y="211" />
 <sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="138" minY="-13" maxY="97" />
-<infoparam name="Primitive port" value="Channel cwpI_ch_out" />
-<TGConnectingPoint num="0" id="333" />
+<cdrectangleparam minX="-13" maxX="144" minY="-13" maxY="100" />
+<infoparam name="Primitive port" value="Request cwpI_req" />
+<TGConnectingPoint num="0" id="295" />
 <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="" />
-<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="" />
+<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="336" >
-<father id="347" num="1" />
-<cdparam x="1767" y="105" />
+<SUBCOMPONENT type="1203" id="298" >
+<father id="309" num="1" />
+<cdparam x="1768" y="249" />
 <sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="138" minY="-13" maxY="97" />
-<infoparam name="Primitive port" value="Channel cwpI_ch_in" />
-<TGConnectingPoint num="0" id="335" />
+<cdrectangleparam minX="-13" maxX="144" minY="-13" maxY="100" />
+<infoparam name="Primitive port" value="Event cwpI_evt_in" />
+<TGConnectingPoint num="0" id="297" />
 <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="" />
-<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="" />
+<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="338" >
-<father id="347" num="2" />
-<cdparam x="1808" y="166" />
+<SUBCOMPONENT type="1203" id="300" >
+<father id="309" num="2" />
+<cdparam x="1925" y="272" />
 <sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="138" minY="-13" maxY="97" />
-<infoparam name="Primitive port" value="Request cwpI_req" />
-<TGConnectingPoint num="0" id="337" />
+<cdrectangleparam minX="-13" maxX="144" minY="-13" maxY="100" />
+<infoparam name="Primitive port" value="Event cwpI_evt_out" />
+<TGConnectingPoint num="0" id="299" />
 <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="" />
+<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="" />
 <Type type="1" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -1373,35 +1321,35 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1202" id="362" >
-<father id="371" num="3" />
-<cdparam x="1781" y="224" />
-<sizeparam width="157" height="113" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<SUBCOMPONENT type="1202" id="324" >
+<father id="371" num="1" />
+<cdparam x="1780" y="69" />
+<sizeparam width="151" height="110" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="133" minY="0" maxY="207" />
-<infoparam name="Primitive component" value="F_CWP_I" />
-<TGConnectingPoint num="0" id="354" />
-<TGConnectingPoint num="1" id="355" />
-<TGConnectingPoint num="2" id="356" />
-<TGConnectingPoint num="3" id="357" />
-<TGConnectingPoint num="4" id="358" />
-<TGConnectingPoint num="5" id="359" />
-<TGConnectingPoint num="6" id="360" />
-<TGConnectingPoint num="7" id="361" />
+<cdrectangleparam minX="0" maxX="139" minY="0" maxY="210" />
+<infoparam name="Primitive component" value="X_CWP_I" />
+<TGConnectingPoint num="0" id="316" />
+<TGConnectingPoint num="1" id="317" />
+<TGConnectingPoint num="2" id="318" />
+<TGConnectingPoint num="3" id="319" />
+<TGConnectingPoint num="4" id="320" />
+<TGConnectingPoint num="5" id="321" />
+<TGConnectingPoint num="6" id="322" />
+<TGConnectingPoint num="7" id="323" />
 <extraparam>
 <Attribute access="2" id="size" value="" type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="349" >
-<father id="362" num="0" />
-<cdparam x="1925" y="272" />
+<SUBCOMPONENT type="1203" id="311" >
+<father id="324" num="0" />
+<cdparam x="1808" y="166" />
 <sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="144" minY="-13" maxY="100" />
-<infoparam name="Primitive port" value="Event cwpI_evt_out" />
-<TGConnectingPoint num="0" id="348" />
+<cdrectangleparam minX="-13" maxX="138" minY="-13" maxY="97" />
+<infoparam name="Primitive port" value="Request cwpI_req" />
+<TGConnectingPoint num="0" id="310" />
 <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="" />
+<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="" />
 <Type type="1" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -1409,148 +1357,108 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="351" >
-<father id="362" num="1" />
-<cdparam x="1768" y="249" />
+<SUBCOMPONENT type="1203" id="313" >
+<father id="324" num="1" />
+<cdparam x="1767" y="105" />
 <sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="144" minY="-13" maxY="100" />
-<infoparam name="Primitive port" value="Event cwpI_evt_in" />
-<TGConnectingPoint num="0" id="350" />
+<cdrectangleparam minX="-13" maxX="138" minY="-13" maxY="97" />
+<infoparam name="Primitive port" value="Channel cwpI_ch_in" />
+<TGConnectingPoint num="0" id="312" />
 <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="" />
-<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="" />
+<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="353" >
-<father id="362" num="2" />
-<cdparam x="1898" y="211" />
+<SUBCOMPONENT type="1203" id="315" >
+<father id="324" num="2" />
+<cdparam x="1918" y="112" />
 <sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="144" minY="-13" maxY="100" />
-<infoparam name="Primitive port" value="Request cwpI_req" />
-<TGConnectingPoint num="0" id="352" />
+<cdrectangleparam minX="-13" maxX="138" minY="-13" maxY="97" />
+<infoparam name="Primitive port" value="Channel cwpI_ch_out" />
+<TGConnectingPoint num="0" id="314" />
 <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="" />
-<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="" />
+<Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-
-
-</TMLComponentTaskDiagramPanel>
-
-<TMLActivityDiagramPanel name="F_Source" minX="10" maxX="1400" minY="10" maxY="900" >
-<COMPONENT type="1001" id="373" >
-<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="372" />
-</COMPONENT>
-
-<COMPONENT type="1008" id="376" >
-<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="374" />
-<TGConnectingPoint num="1" id="375" />
-<extraparam>
-<Data eventName="Source_evt_out" nbOfParams="5" />
-<Param index="0" value="size" />
-</extraparam>
-</COMPONENT>
-
-<COMPONENT type="1007" id="379" >
-<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="377" />
-<TGConnectingPoint num="1" id="378" />
-<extraparam>
-<Data requestName="source_req" nbOfParams="5" />
-<Param index="0" value="size" />
-</extraparam>
-</COMPONENT>
-
-<COMPONENT type="1011" id="382" >
-<cdparam x="370" y="116" />
-<sizeparam width="75" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<SUBCOMPONENT type="1201" id="343" >
+<father id="371" num="2" />
+<cdparam x="1703" y="249" />
+<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="action state" value="size = 127" />
-<TGConnectingPoint num="0" id="380" />
-<TGConnectingPoint num="1" id="381" />
-</COMPONENT>
-
-<COMPONENT type="1000" id="384" >
-<cdparam x="400" y="50" />
-<sizeparam width="15" height="15" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdrectangleparam minX="-13" maxX="277" minY="-13" maxY="307" />
+<infoparam name="Composite port" value="" />
+<TGConnectingPoint num="0" id="325" />
+<TGConnectingPoint num="1" id="326" />
+<TGConnectingPoint num="2" id="327" />
+<TGConnectingPoint num="3" id="328" />
+<TGConnectingPoint num="4" id="329" />
+<TGConnectingPoint num="5" id="330" />
+<TGConnectingPoint num="6" id="331" />
+<TGConnectingPoint num="7" id="332" />
+<TGConnectingPoint num="8" id="333" />
+<TGConnectingPoint num="9" id="334" />
+<TGConnectingPoint num="10" id="335" />
+<TGConnectingPoint num="11" id="336" />
+<TGConnectingPoint num="12" id="337" />
+<TGConnectingPoint num="13" id="338" />
+<TGConnectingPoint num="14" id="339" />
+<TGConnectingPoint num="15" id="340" />
+<TGConnectingPoint num="16" id="341" />
+<TGConnectingPoint num="17" id="342" />
+</SUBCOMPONENT>
+<SUBCOMPONENT type="1201" id="362" >
+<father id="371" num="3" />
+<cdparam x="1703" y="106" />
+<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="383" />
-</COMPONENT>
+<cdrectangleparam minX="-13" maxX="277" minY="-13" maxY="307" />
+<infoparam name="Composite port" value="" />
+<TGConnectingPoint num="0" id="344" />
+<TGConnectingPoint num="1" id="345" />
+<TGConnectingPoint num="2" id="346" />
+<TGConnectingPoint num="3" id="347" />
+<TGConnectingPoint num="4" id="348" />
+<TGConnectingPoint num="5" id="349" />
+<TGConnectingPoint num="6" id="350" />
+<TGConnectingPoint num="7" id="351" />
+<TGConnectingPoint num="8" id="352" />
+<TGConnectingPoint num="9" id="353" />
+<TGConnectingPoint num="10" id="354" />
+<TGConnectingPoint num="11" id="355" />
+<TGConnectingPoint num="12" id="356" />
+<TGConnectingPoint num="13" id="357" />
+<TGConnectingPoint num="14" id="358" />
+<TGConnectingPoint num="15" id="359" />
+<TGConnectingPoint num="16" id="360" />
+<TGConnectingPoint num="17" id="361" />
+</SUBCOMPONENT>
 
-<CONNECTOR type="115" id="385" >
-<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="383" />
-<P2  x="407" y="111" id="380" />
-<AutomaticDrawing  data="true" />
-</CONNECTOR>
-<CONNECTOR type="115" id="386" >
-<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="381" />
-<P2  x="407" y="183" id="377" />
-<AutomaticDrawing  data="true" />
-</CONNECTOR>
-<CONNECTOR type="115" id="387" >
-<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="378" />
-<P2  x="407" y="257" id="374" />
-<AutomaticDrawing  data="true" />
-</CONNECTOR>
-<CONNECTOR type="115" id="388" >
-<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="375" />
-<P2  x="407" y="333" id="372" />
-<AutomaticDrawing  data="true" />
-</CONNECTOR>
 
-</TMLActivityDiagramPanel>
+</TMLComponentTaskDiagramPanel>
 
 <TMLActivityDiagramPanel name="X_Source" minX="10" maxX="1400" minY="10" maxY="900" >
-<COMPONENT type="1013" id="392" >
+<COMPONENT type="1013" id="375" >
 <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="390" />
-<TGConnectingPoint num="1" id="391" />
+<TGConnectingPoint num="0" id="373" />
+<TGConnectingPoint num="1" id="374" />
 </COMPONENT>
-<SUBCOMPONENT type="-1" id="389" >
-<father id="392" num="0" />
+<SUBCOMPONENT type="-1" id="372" >
+<father id="375" 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" />
@@ -1558,208 +1466,203 @@
 <infoparam name="value of the delay" value="size" />
 </SUBCOMPONENT>
 
-<COMPONENT type="1001" id="394" >
+<COMPONENT type="1001" id="377" >
 <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="393" />
+<TGConnectingPoint num="0" id="376" />
 </COMPONENT>
 
-<COMPONENT type="1006" id="397" >
+<COMPONENT type="1006" id="380" >
 <cdparam x="340" y="270" />
 <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="write channel" value="Source_ch_out(size)" />
-<TGConnectingPoint num="0" id="395" />
-<TGConnectingPoint num="1" id="396" />
+<TGConnectingPoint num="0" id="378" />
+<TGConnectingPoint num="1" id="379" />
 <extraparam>
 <Data channelName="Source_ch_out" nbOfSamples="size" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1034" id="400" >
+<COMPONENT type="1034" id="383" >
 <cdparam x="351" y="113" />
 <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="398" />
-<TGConnectingPoint num="1" id="399" />
+<TGConnectingPoint num="0" id="381" />
+<TGConnectingPoint num="1" id="382" />
 <extraparam>
 <Data nbOfParams="5" />
 <Param index="0" value="size" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1000" id="402" >
+<COMPONENT type="1000" id="385" >
 <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="401" />
+<TGConnectingPoint num="0" id="384" />
 </COMPONENT>
 
-<CONNECTOR type="115" id="403" >
+<CONNECTOR type="115" id="386" >
 <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="391" />
-<P2  x="407" y="265" id="395" />
+<P1  x="407" y="224" id="374" />
+<P2  x="407" y="265" id="378" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="404" >
+<CONNECTOR type="115" id="387" >
 <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="401" />
-<P2  x="407" y="108" id="398" />
+<P1  x="407" y="70" id="384" />
+<P2  x="407" y="108" id="381" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="405" >
+<CONNECTOR type="115" id="388" >
 <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="396" />
-<P2  x="407" y="337" id="393" />
+<P1  x="407" y="295" id="379" />
+<P2  x="407" y="337" id="376" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="406" >
+<CONNECTOR type="115" id="389" >
 <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="399" />
-<P2  x="407" y="184" id="390" />
+<P1  x="407" y="138" id="382" />
+<P2  x="407" y="184" id="373" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 
 </TMLActivityDiagramPanel>
 
-<TMLActivityDiagramPanel name="F_Bits_to_Symbol" minX="10" maxX="1400" minY="10" maxY="900" >
-<COMPONENT type="1010" id="409" >
-<cdparam x="317" y="132" />
-<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="bit2symbol_evt_in(size) " />
-<TGConnectingPoint num="0" id="407" />
-<TGConnectingPoint num="1" id="408" />
-<extraparam>
-<Data eventName="bit2symbol_evt_in" nbOfParams="5" />
-<Param index="0" value="size" />
-</extraparam>
-</COMPONENT>
-
-<COMPONENT type="1001" id="411" >
-<cdparam x="385" y="354" />
+<TMLActivityDiagramPanel name="F_Source" minX="10" maxX="1400" minY="10" maxY="900" >
+<COMPONENT type="1001" id="391" >
+<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="410" />
+<TGConnectingPoint num="0" id="390" />
 </COMPONENT>
 
-<COMPONENT type="1008" id="414" >
-<cdparam x="314" y="278" />
-<sizeparam width="162" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<COMPONENT type="1008" id="394" >
+<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="bit2symbol_evt_out(size)" />
-<TGConnectingPoint num="0" id="412" />
-<TGConnectingPoint num="1" id="413" />
-<accessibility />
+<infoparam name="send event" value="Source_evt_out(size)" />
+<TGConnectingPoint num="0" id="392" />
+<TGConnectingPoint num="1" id="393" />
 <extraparam>
-<Data eventName="bit2symbol_evt_out" nbOfParams="5" />
+<Data eventName="Source_evt_out" nbOfParams="5" />
 <Param index="0" value="size" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1007" id="417" >
-<cdparam x="335" y="204" />
-<sizeparam width="120" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<COMPONENT type="1007" id="397" >
+<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="bit2chip_req(size)" />
-<TGConnectingPoint num="0" id="415" />
-<TGConnectingPoint num="1" id="416" />
+<infoparam name="send request" value="source_req(size)" />
+<TGConnectingPoint num="0" id="395" />
+<TGConnectingPoint num="1" id="396" />
 <extraparam>
-<Data requestName="bit2chip_req" nbOfParams="5" />
+<Data requestName="source_req" nbOfParams="5" />
 <Param index="0" value="size" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1000" id="419" >
-<cdparam x="388" y="66" />
+<COMPONENT type="1011" id="400" >
+<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="398" />
+<TGConnectingPoint num="1" id="399" />
+</COMPONENT>
+
+<COMPONENT type="1000" id="402" >
+<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="418" />
+<TGConnectingPoint num="0" id="401" />
 </COMPONENT>
 
-<CONNECTOR type="115" id="420" >
-<cdparam x="395" y="229" />
+<CONNECTOR type="115" id="403" >
+<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="395" y="229" id="416" />
-<P2  x="395" y="273" id="412" />
+<P1  x="407" y="70" id="401" />
+<P2  x="407" y="111" id="398" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="421" >
-<cdparam x="395" y="303" />
+<CONNECTOR type="115" id="404" >
+<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="395" y="303" id="413" />
-<P2  x="395" y="349" id="410" />
+<P1  x="407" y="141" id="399" />
+<P2  x="407" y="183" id="395" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="422" >
-<cdparam x="395" y="86" />
+<CONNECTOR type="115" id="405" >
+<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="395" y="86" id="418" />
-<P2  x="395" y="127" id="407" />
+<P1  x="407" y="213" id="396" />
+<P2  x="407" y="257" id="392" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="423" >
-<cdparam x="435" y="149" />
+<CONNECTOR type="115" id="406" >
+<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="395" y="157" id="408" />
-<P2  x="395" y="199" id="415" />
+<P1  x="407" y="287" id="393" />
+<P2  x="407" y="333" id="390" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 
 </TMLActivityDiagramPanel>
 
 <TMLActivityDiagramPanel name="X_Bits_to_Symbol" minX="10" maxX="1400" minY="10" maxY="900" >
-<COMPONENT type="1009" id="426" >
+<COMPONENT type="1009" id="409" >
 <cdparam x="322" y="213" />
 <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="read channel" value="bit2symbol_ch_in(size) " />
-<TGConnectingPoint num="0" id="424" />
-<TGConnectingPoint num="1" id="425" />
+<TGConnectingPoint num="0" id="407" />
+<TGConnectingPoint num="1" id="408" />
 <extraparam>
 <Data channelName="bit2symbol_ch_in" nbOfSamples="size" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1013" id="430" >
+<COMPONENT type="1013" id="413" >
 <cdparam x="393" y="294" />
 <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="428" />
-<TGConnectingPoint num="1" id="429" />
+<TGConnectingPoint num="0" id="411" />
+<TGConnectingPoint num="1" id="412" />
 </COMPONENT>
-<SUBCOMPONENT type="-1" id="427" >
-<father id="430" num="0" />
+<SUBCOMPONENT type="-1" id="410" >
+<father id="413" num="0" />
 <cdparam x="408" y="314" />
 <sizeparam width="23" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
@@ -1767,202 +1670,203 @@
 <infoparam name="value of the delay" value="size" />
 </SUBCOMPONENT>
 
-<COMPONENT type="1001" id="432" >
+<COMPONENT type="1001" id="415" >
 <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" />
 <infoparam name="stop state" value="null" />
-<TGConnectingPoint num="0" id="431" />
+<TGConnectingPoint num="0" id="414" />
 </COMPONENT>
 
-<COMPONENT type="1006" id="435" >
+<COMPONENT type="1006" id="418" >
 <cdparam x="319" y="375" />
 <sizeparam width="158" 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="bit2symbol_ch_out(size)" />
-<TGConnectingPoint num="0" id="433" />
-<TGConnectingPoint num="1" id="434" />
+<TGConnectingPoint num="0" id="416" />
+<TGConnectingPoint num="1" id="417" />
 <extraparam>
 <Data channelName="bit2symbol_ch_out" nbOfSamples="size" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1034" id="438" >
+<COMPONENT type="1034" id="421" >
 <cdparam x="342" y="137" />
 <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="436" />
-<TGConnectingPoint num="1" id="437" />
+<TGConnectingPoint num="0" id="419" />
+<TGConnectingPoint num="1" id="420" />
 <extraparam>
 <Data nbOfParams="5" />
 <Param index="0" value="size" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1000" id="440" >
+<COMPONENT type="1000" id="423" >
 <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" />
 <infoparam name="start state" value="null" />
-<TGConnectingPoint num="0" id="439" />
+<TGConnectingPoint num="0" id="422" />
 </COMPONENT>
 
-<CONNECTOR type="115" id="441" >
+<CONNECTOR type="115" id="424" >
 <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="425" />
-<P2  x="398" y="289" id="428" />
+<P1  x="398" y="238" id="408" />
+<P2  x="398" y="289" id="411" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="442" >
+<CONNECTOR type="115" id="425" >
 <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="398" y="329" id="429" />
-<P2  x="398" y="370" id="433" />
+<P1  x="398" y="329" id="412" />
+<P2  x="398" y="370" id="416" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="443" >
+<CONNECTOR type="115" id="426" >
 <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="398" y="94" id="439" />
-<P2  x="398" y="132" id="436" />
+<P1  x="398" y="94" id="422" />
+<P2  x="398" y="132" id="419" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="444" >
+<CONNECTOR type="115" id="427" >
 <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="398" y="400" id="434" />
-<P2  x="398" y="442" id="431" />
+<P1  x="398" y="400" id="417" />
+<P2  x="398" y="442" id="414" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="445" >
+<CONNECTOR type="115" id="428" >
 <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="398" y="162" id="437" />
-<P2  x="398" y="208" id="424" />
+<P1  x="398" y="162" id="420" />
+<P2  x="398" y="208" id="407" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 
 </TMLActivityDiagramPanel>
 
-<TMLActivityDiagramPanel name="F_Chip_to_Octet" minX="10" maxX="1400" minY="10" maxY="900" >
-<COMPONENT type="1010" id="448" >
-<cdparam x="333" y="128" />
+<TMLActivityDiagramPanel name="F_Bits_to_Symbol" minX="10" maxX="1400" minY="10" maxY="900" >
+<COMPONENT type="1010" id="431" >
+<cdparam x="317" y="132" />
 <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="446" />
-<TGConnectingPoint num="1" id="447" />
+<infoparam name="wait event" value="bit2symbol_evt_in(size) " />
+<TGConnectingPoint num="0" id="429" />
+<TGConnectingPoint num="1" id="430" />
 <extraparam>
-<Data eventName="chip2octet_evt_in" nbOfParams="5" />
+<Data eventName="bit2symbol_evt_in" nbOfParams="5" />
 <Param index="0" value="size" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1001" id="450" >
-<cdparam x="401" y="350" />
+<COMPONENT type="1001" id="433" >
+<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="449" />
+<TGConnectingPoint num="0" id="432" />
 </COMPONENT>
 
-<COMPONENT type="1008" id="453" >
-<cdparam x="330" y="274" />
+<COMPONENT type="1008" id="436" >
+<cdparam x="314" y="278" />
 <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="451" />
-<TGConnectingPoint num="1" id="452" />
+<infoparam name="send event" value="bit2symbol_evt_out(size)" />
+<TGConnectingPoint num="0" id="434" />
+<TGConnectingPoint num="1" id="435" />
+<accessibility />
 <extraparam>
-<Data eventName="chip2octet_evt_out" nbOfParams="5" />
+<Data eventName="bit2symbol_evt_out" nbOfParams="5" />
 <Param index="0" value="size" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1007" id="456" >
-<cdparam x="343" y="200" />
-<sizeparam width="137" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<COMPONENT type="1007" id="439" >
+<cdparam x="335" y="204" />
+<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 request" value="chip2octet_req(size)" />
-<TGConnectingPoint num="0" id="454" />
-<TGConnectingPoint num="1" id="455" />
+<infoparam name="send request" value="bit2chip_req(size)" />
+<TGConnectingPoint num="0" id="437" />
+<TGConnectingPoint num="1" id="438" />
 <extraparam>
-<Data requestName="chip2octet_req" nbOfParams="5" />
+<Data requestName="bit2chip_req" nbOfParams="5" />
 <Param index="0" value="size" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1000" id="458" >
-<cdparam x="404" y="62" />
+<COMPONENT type="1000" id="441" >
+<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="457" />
+<TGConnectingPoint num="0" id="440" />
 </COMPONENT>
 
-<CONNECTOR type="115" id="459" >
-<cdparam x="411" y="225" />
+<CONNECTOR type="115" id="442" >
+<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="411" y="225" id="455" />
-<P2  x="411" y="269" id="451" />
+<P1  x="395" y="229" id="438" />
+<P2  x="395" y="273" id="434" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="460" >
-<cdparam x="411" y="299" />
+<CONNECTOR type="115" id="443" >
+<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="411" y="299" id="452" />
-<P2  x="411" y="345" id="449" />
+<P1  x="395" y="303" id="435" />
+<P2  x="395" y="349" id="432" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="461" >
-<cdparam x="411" y="82" />
+<CONNECTOR type="115" id="444" >
+<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="411" y="82" id="457" />
-<P2  x="411" y="123" id="446" />
+<P1  x="395" y="86" id="440" />
+<P2  x="395" y="127" id="429" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="462" >
-<cdparam x="451" y="145" />
+<CONNECTOR type="115" id="445" >
+<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="411" y="153" id="447" />
-<P2  x="411" y="195" id="454" />
+<P1  x="395" y="157" id="430" />
+<P2  x="395" y="199" id="437" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 
 </TMLActivityDiagramPanel>
 
 <TMLActivityDiagramPanel name="X_Chip_to_Octet" minX="10" maxX="1400" minY="10" maxY="900" >
-<COMPONENT type="1013" id="466" >
+<COMPONENT type="1013" id="449" >
 <cdparam x="377" y="296" />
 <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="464" />
-<TGConnectingPoint num="1" id="465" />
+<TGConnectingPoint num="0" id="447" />
+<TGConnectingPoint num="1" id="448" />
 </COMPONENT>
-<SUBCOMPONENT type="-1" id="463" >
-<father id="466" num="0" />
+<SUBCOMPONENT type="-1" id="446" >
+<father id="449" num="0" />
 <cdparam x="392" y="316" />
 <sizeparam width="23" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
@@ -1970,237 +1874,215 @@
 <infoparam name="value of the delay" value="size" />
 </SUBCOMPONENT>
 
-<COMPONENT type="1009" id="469" >
+<COMPONENT type="1009" id="452" >
 <cdparam x="306" y="215" />
 <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="read channel" value="chip2octet_ch_in(size) " />
-<TGConnectingPoint num="0" id="467" />
-<TGConnectingPoint num="1" id="468" />
+<TGConnectingPoint num="0" id="450" />
+<TGConnectingPoint num="1" id="451" />
 <extraparam>
 <Data channelName="chip2octet_ch_in" nbOfSamples="size" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1001" id="471" >
+<COMPONENT type="1001" id="454" >
 <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="470" />
+<TGConnectingPoint num="0" id="453" />
 </COMPONENT>
 
-<COMPONENT type="1006" id="474" >
+<COMPONENT type="1006" id="457" >
 <cdparam x="303" y="377" />
 <sizeparam width="158" 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="472" />
-<TGConnectingPoint num="1" id="473" />
+<TGConnectingPoint num="0" id="455" />
+<TGConnectingPoint num="1" id="456" />
 <extraparam>
 <Data channelName="chip2octet_ch_out" nbOfSamples="size" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1034" id="477" >
+<COMPONENT type="1034" id="460" >
 <cdparam x="326" y="139" />
 <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="475" />
-<TGConnectingPoint num="1" id="476" />
+<TGConnectingPoint num="0" id="458" />
+<TGConnectingPoint num="1" id="459" />
 <extraparam>
 <Data nbOfParams="5" />
 <Param index="0" value="size" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1000" id="479" >
+<COMPONENT type="1000" id="462" >
 <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="478" />
+<TGConnectingPoint num="0" id="461" />
 </COMPONENT>
 
-<CONNECTOR type="115" id="480" >
+<CONNECTOR type="115" id="463" >
 <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="382" y="240" id="468" />
-<P2  x="382" y="291" id="464" />
+<P1  x="382" y="240" id="451" />
+<P2  x="382" y="291" id="447" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="481" >
+<CONNECTOR type="115" id="464" >
 <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="382" y="331" id="465" />
-<P2  x="382" y="372" id="472" />
+<P1  x="382" y="331" id="448" />
+<P2  x="382" y="372" id="455" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="482" >
+<CONNECTOR type="115" id="465" >
 <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="382" y="96" id="478" />
-<P2  x="382" y="134" id="475" />
+<P1  x="382" y="96" id="461" />
+<P2  x="382" y="134" id="458" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="483" >
+<CONNECTOR type="115" id="466" >
 <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="382" y="402" id="473" />
-<P2  x="382" y="444" id="470" />
+<P1  x="382" y="402" id="456" />
+<P2  x="382" y="444" id="453" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="484" >
+<CONNECTOR type="115" id="467" >
 <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="382" y="164" id="476" />
-<P2  x="382" y="210" id="467" />
+<P1  x="382" y="164" id="459" />
+<P2  x="382" y="210" id="450" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 
 </TMLActivityDiagramPanel>
 
-<TMLActivityDiagramPanel name="F_CWL" minX="10" maxX="1400" minY="10" maxY="900" >
-<COMPONENT type="1010" id="487" >
-<cdparam x="360" y="134" />
-<sizeparam width="108" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<TMLActivityDiagramPanel name="F_Chip_to_Octet" minX="10" maxX="1400" minY="10" maxY="900" >
+<COMPONENT type="1010" id="470" >
+<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="cwl_evt_in(size) " />
-<TGConnectingPoint num="0" id="485" />
-<TGConnectingPoint num="1" id="486" />
+<infoparam name="wait event" value="chip2octet_evt_in(size) " />
+<TGConnectingPoint num="0" id="468" />
+<TGConnectingPoint num="1" id="469" />
 <extraparam>
-<Data eventName="cwl_evt_in" nbOfParams="5" />
+<Data eventName="chip2octet_evt_in" nbOfParams="5" />
 <Param index="0" value="size" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1001" id="489" >
-<cdparam x="407" y="397" />
+<COMPONENT type="1001" id="472" >
+<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="488" />
+<TGConnectingPoint num="0" id="471" />
 </COMPONENT>
 
-<COMPONENT type="1007" id="492" >
-<cdparam x="370" y="206" />
-<sizeparam width="89" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<COMPONENT type="1008" id="475" >
+<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 request" value="cwl_req(size)" />
-<TGConnectingPoint num="0" id="490" />
-<TGConnectingPoint num="1" id="491" />
+<infoparam name="send event" value="chip2octet_evt_out(size)" />
+<TGConnectingPoint num="0" id="473" />
+<TGConnectingPoint num="1" id="474" />
 <extraparam>
-<Data requestName="cwl_req" nbOfParams="5" />
+<Data eventName="chip2octet_evt_out" nbOfParams="5" />
 <Param index="0" value="size" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1000" id="494" >
-<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="493" />
-</COMPONENT>
-
-<COMPONENT type="1008" id="497" >
-<cdparam x="352" y="333" />
-<sizeparam width="128" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<COMPONENT type="1007" id="478" >
+<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 event" value="cwl_evt_out_1(size)" />
-<TGConnectingPoint num="0" id="495" />
-<TGConnectingPoint num="1" id="496" />
+<infoparam name="send request" value="chip2octet_req(size)" />
+<TGConnectingPoint num="0" id="476" />
+<TGConnectingPoint num="1" id="477" />
 <extraparam>
-<Data eventName="cwl_evt_out_1" nbOfParams="5" />
+<Data requestName="chip2octet_req" nbOfParams="5" />
 <Param index="0" value="size" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1008" id="500" >
-<cdparam x="357" y="280" />
-<sizeparam width="114" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<COMPONENT type="1000" id="480" >
+<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="send event" value="cwl_evt_out(size)" />
-<TGConnectingPoint num="0" id="498" />
-<TGConnectingPoint num="1" id="499" />
-<extraparam>
-<Data eventName="cwl_evt_out" nbOfParams="5" />
-<Param index="0" value="size" />
-</extraparam>
+<infoparam name="start state" value="null" />
+<TGConnectingPoint num="0" id="479" />
 </COMPONENT>
 
-<CONNECTOR type="115" id="501" >
-<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="496" />
-<P2  x="417" y="392" id="488" />
-<AutomaticDrawing  data="true" />
-</CONNECTOR>
-<CONNECTOR type="115" id="502" >
-<cdparam x="414" y="231" />
+<CONNECTOR type="115" id="481" >
+<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="414" y="231" id="491" />
-<P2  x="414" y="275" id="498" />
+<P1  x="411" y="225" id="477" />
+<P2  x="411" y="269" id="473" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="503" >
-<cdparam x="414" y="305" />
+<CONNECTOR type="115" id="482" >
+<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="414" y="305" id="499" />
-<P2  x="416" y="328" id="495" />
+<P1  x="411" y="299" id="474" />
+<P2  x="411" y="345" id="471" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="504" >
-<cdparam x="414" y="88" />
+<CONNECTOR type="115" id="483" >
+<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="414" y="88" id="493" />
-<P2  x="414" y="129" id="485" />
+<P1  x="411" y="82" id="479" />
+<P2  x="411" y="123" id="468" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="505" >
-<cdparam x="454" y="151" />
+<CONNECTOR type="115" id="484" >
+<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="414" y="159" id="486" />
-<P2  x="414" y="201" id="490" />
+<P1  x="411" y="153" id="469" />
+<P2  x="411" y="195" id="476" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 
 </TMLActivityDiagramPanel>
 
 <TMLActivityDiagramPanel name="X_CWL" minX="10" maxX="1400" minY="10" maxY="900" >
-<COMPONENT type="1013" id="509" >
+<COMPONENT type="1013" id="488" >
 <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="507" />
-<TGConnectingPoint num="1" id="508" />
+<TGConnectingPoint num="0" id="486" />
+<TGConnectingPoint num="1" id="487" />
 </COMPONENT>
-<SUBCOMPONENT type="-1" id="506" >
-<father id="509" num="0" />
+<SUBCOMPONENT type="-1" id="485" >
+<father id="488" 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" />
@@ -2208,215 +2090,237 @@
 <infoparam name="value of the delay" value="size" />
 </SUBCOMPONENT>
 
-<COMPONENT type="1009" id="512" >
+<COMPONENT type="1009" id="491" >
 <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="cwl_ch_in(size) " />
-<TGConnectingPoint num="0" id="510" />
-<TGConnectingPoint num="1" id="511" />
+<TGConnectingPoint num="0" id="489" />
+<TGConnectingPoint num="1" id="490" />
 <extraparam>
 <Data channelName="cwl_ch_in" nbOfSamples="size" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1001" id="514" >
+<COMPONENT type="1001" id="493" >
 <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="513" />
+<TGConnectingPoint num="0" id="492" />
 </COMPONENT>
 
-<COMPONENT type="1006" id="517" >
+<COMPONENT type="1006" id="496" >
 <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="515" />
-<TGConnectingPoint num="1" id="516" />
+<TGConnectingPoint num="0" id="494" />
+<TGConnectingPoint num="1" id="495" />
 <extraparam>
 <Data channelName="cwl_ch_out" nbOfSamples="size" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1034" id="520" >
+<COMPONENT type="1034" id="499" >
 <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="518" />
-<TGConnectingPoint num="1" id="519" />
+<TGConnectingPoint num="0" id="497" />
+<TGConnectingPoint num="1" id="498" />
 <extraparam>
 <Data nbOfParams="5" />
 <Param index="0" value="size" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1000" id="522" >
+<COMPONENT type="1000" id="501" >
 <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="521" />
+<TGConnectingPoint num="0" id="500" />
 </COMPONENT>
 
-<CONNECTOR type="115" id="523" >
+<CONNECTOR type="115" id="502" >
 <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="407" y="221" id="511" />
-<P2  x="407" y="272" id="507" />
+<P1  x="407" y="221" id="490" />
+<P2  x="407" y="272" id="486" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="524" >
+<CONNECTOR type="115" id="503" >
 <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="407" y="312" id="508" />
-<P2  x="407" y="353" id="515" />
+<P1  x="407" y="312" id="487" />
+<P2  x="407" y="353" id="494" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="525" >
+<CONNECTOR type="115" id="504" >
 <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="407" y="77" id="521" />
-<P2  x="407" y="115" id="518" />
+<P1  x="407" y="77" id="500" />
+<P2  x="407" y="115" id="497" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="526" >
+<CONNECTOR type="115" id="505" >
 <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="516" />
-<P2  x="407" y="425" id="513" />
+<P1  x="407" y="383" id="495" />
+<P2  x="407" y="425" id="492" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="527" >
+<CONNECTOR type="115" id="506" >
 <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="407" y="145" id="519" />
-<P2  x="407" y="191" id="510" />
+<P1  x="407" y="145" id="498" />
+<P2  x="407" y="191" id="489" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 
 </TMLActivityDiagramPanel>
 
-<TMLActivityDiagramPanel name="F_Sink" minX="10" maxX="1400" minY="10" maxY="900" >
-<COMPONENT type="1001" id="529" >
-<cdparam x="396" y="355" />
+<TMLActivityDiagramPanel name="F_CWL" minX="10" maxX="1400" minY="10" maxY="900" >
+<COMPONENT type="1010" id="509" >
+<cdparam x="360" y="134" />
+<sizeparam width="108" 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="507" />
+<TGConnectingPoint num="1" id="508" />
+<extraparam>
+<Data eventName="cwl_evt_in" nbOfParams="5" />
+<Param index="0" value="size" />
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="1001" id="511" >
+<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="528" />
+<TGConnectingPoint num="0" id="510" />
 </COMPONENT>
 
-<COMPONENT type="1007" id="532" >
-<cdparam x="359" y="265" />
-<sizeparam width="95" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<COMPONENT type="1007" id="514" >
+<cdparam x="370" y="206" />
+<sizeparam width="89" 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)" />
-<TGConnectingPoint num="0" id="530" />
-<TGConnectingPoint num="1" id="531" />
+<infoparam name="send request" value="cwl_req(size)" />
+<TGConnectingPoint num="0" id="512" />
+<TGConnectingPoint num="1" id="513" />
 <extraparam>
-<Data requestName="sink_req" nbOfParams="5" />
+<Data requestName="cwl_req" nbOfParams="5" />
 <Param index="0" value="size" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1000" id="534" >
-<cdparam x="400" y="73" />
+<COMPONENT type="1000" id="516" >
+<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="533" />
+<TGConnectingPoint num="0" id="515" />
 </COMPONENT>
 
-<COMPONENT type="1010" id="537" >
-<cdparam x="343" y="187" />
+<COMPONENT type="1008" id="519" >
+<cdparam x="352" y="333" />
 <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="wait event" value="sink_evt_in_1(size) " />
-<TGConnectingPoint num="0" id="535" />
-<TGConnectingPoint num="1" id="536" />
+<infoparam name="send event" value="cwl_evt_out_1(size)" />
+<TGConnectingPoint num="0" id="517" />
+<TGConnectingPoint num="1" id="518" />
 <extraparam>
-<Data eventName="sink_evt_in_1" nbOfParams="5" />
+<Data eventName="cwl_evt_out_1" nbOfParams="5" />
 <Param index="0" value="size" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1010" id="540" >
-<cdparam x="350" y="139" />
+<COMPONENT type="1008" id="522" >
+<cdparam x="357" y="280" />
 <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="wait event" value="sink_evt_in(size) " />
-<TGConnectingPoint num="0" id="538" />
-<TGConnectingPoint num="1" id="539" />
+<infoparam name="send event" value="cwl_evt_out(size)" />
+<TGConnectingPoint num="0" id="520" />
+<TGConnectingPoint num="1" id="521" />
 <extraparam>
-<Data eventName="sink_evt_in" nbOfParams="5" />
+<Data eventName="cwl_evt_out" nbOfParams="5" />
 <Param index="0" value="size" />
 </extraparam>
 </COMPONENT>
 
-<CONNECTOR type="115" id="541" >
-<cdparam x="407" y="212" />
+<CONNECTOR type="115" id="523" >
+<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="407" y="212" id="536" />
-<P2  x="406" y="260" id="530" />
+<P1  x="416" y="358" id="518" />
+<P2  x="417" y="392" id="510" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="542" >
-<cdparam x="406" y="290" />
+<CONNECTOR type="115" id="524" >
+<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="406" y="290" id="531" />
-<P2  x="406" y="350" id="528" />
+<P1  x="414" y="231" id="513" />
+<P2  x="414" y="275" id="520" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="543" >
-<cdparam x="407" y="93" />
+<CONNECTOR type="115" id="525" >
+<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="407" y="93" id="533" />
-<P2  x="407" y="134" id="538" />
+<P1  x="414" y="305" id="521" />
+<P2  x="416" y="328" id="517" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="544" >
-<cdparam x="447" y="156" />
+<CONNECTOR type="115" id="526" >
+<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="515" />
+<P2  x="414" y="129" id="507" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="115" id="527" >
+<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="407" y="164" id="539" />
-<P2  x="407" y="182" id="535" />
+<P1  x="414" y="159" id="508" />
+<P2  x="414" y="201" id="512" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 
 </TMLActivityDiagramPanel>
 
 <TMLActivityDiagramPanel name="X_Sink" minX="10" maxX="1400" minY="10" maxY="900" >
-<COMPONENT type="1013" id="548" >
+<COMPONENT type="1013" id="531" >
 <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="546" />
-<TGConnectingPoint num="1" id="547" />
+<TGConnectingPoint num="0" id="529" />
+<TGConnectingPoint num="1" id="530" />
 </COMPONENT>
-<SUBCOMPONENT type="-1" id="545" >
-<father id="548" num="0" />
+<SUBCOMPONENT type="-1" id="528" >
+<father id="531" 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" />
@@ -2424,194 +2328,194 @@
 <infoparam name="value of the delay" value="size" />
 </SUBCOMPONENT>
 
-<COMPONENT type="1009" id="551" >
+<COMPONENT type="1009" id="534" >
 <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="sink_ch_in(size) " />
-<TGConnectingPoint num="0" id="549" />
-<TGConnectingPoint num="1" id="550" />
+<TGConnectingPoint num="0" id="532" />
+<TGConnectingPoint num="1" id="533" />
 <extraparam>
 <Data channelName="sink_ch_in" nbOfSamples="size" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1001" id="553" >
+<COMPONENT type="1001" id="536" >
 <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="552" />
+<TGConnectingPoint num="0" id="535" />
 </COMPONENT>
 
-<COMPONENT type="1034" id="556" >
+<COMPONENT type="1034" id="539" >
 <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="554" />
-<TGConnectingPoint num="1" id="555" />
+<TGConnectingPoint num="0" id="537" />
+<TGConnectingPoint num="1" id="538" />
 <extraparam>
 <Data nbOfParams="5" />
 <Param index="0" value="size" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1000" id="558" >
+<COMPONENT type="1000" id="541" >
 <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="557" />
+<TGConnectingPoint num="0" id="540" />
 </COMPONENT>
 
-<CONNECTOR type="115" id="559" >
+<CONNECTOR type="115" id="542" >
 <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="450" y="333" id="547" />
-<P2  x="450" y="379" id="552" />
+<P1  x="450" y="333" id="530" />
+<P2  x="450" y="379" id="535" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="560" >
+<CONNECTOR type="115" id="543" >
 <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="450" y="242" id="550" />
-<P2  x="450" y="293" id="546" />
+<P1  x="450" y="242" id="533" />
+<P2  x="450" y="293" id="529" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="561" >
+<CONNECTOR type="115" id="544" >
 <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="450" y="98" id="557" />
-<P2  x="450" y="136" id="554" />
+<P1  x="450" y="98" id="540" />
+<P2  x="450" y="136" id="537" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="562" >
+<CONNECTOR type="115" id="545" >
 <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="450" y="166" id="555" />
-<P2  x="450" y="212" id="549" />
+<P1  x="450" y="166" id="538" />
+<P2  x="450" y="212" id="532" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 
 </TMLActivityDiagramPanel>
 
-<TMLActivityDiagramPanel name="F_CWP_Q" minX="10" maxX="1400" minY="10" maxY="900" >
-<COMPONENT type="1010" id="565" >
-<cdparam x="342" y="117" />
-<sizeparam width="122" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<TMLActivityDiagramPanel name="F_Sink" minX="10" maxX="1400" minY="10" maxY="900" >
+<COMPONENT type="1001" id="547" >
+<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="wait event" value="cwpQ_evt_in(size) " />
-<TGConnectingPoint num="0" id="563" />
-<TGConnectingPoint num="1" id="564" />
+<infoparam name="stop state" value="null" />
+<TGConnectingPoint num="0" id="546" />
+</COMPONENT>
+
+<COMPONENT type="1007" id="550" >
+<cdparam x="359" y="265" />
+<sizeparam width="95" 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)" />
+<TGConnectingPoint num="0" id="548" />
+<TGConnectingPoint num="1" id="549" />
 <extraparam>
-<Data eventName="cwpQ_evt_in" nbOfParams="5" />
+<Data requestName="sink_req" nbOfParams="5" />
 <Param index="0" value="size" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1001" id="567" >
-<cdparam x="393" y="339" />
-<sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<COMPONENT type="1000" id="552" >
+<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="stop state" value="null" />
-<TGConnectingPoint num="0" id="566" />
+<infoparam name="start state" value="null" />
+<TGConnectingPoint num="0" id="551" />
 </COMPONENT>
 
-<COMPONENT type="1008" id="570" >
-<cdparam x="339" y="263" />
+<COMPONENT type="1010" id="555" >
+<cdparam x="343" y="187" />
 <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="568" />
-<TGConnectingPoint num="1" id="569" />
+<infoparam name="wait event" value="sink_evt_in_1(size) " />
+<TGConnectingPoint num="0" id="553" />
+<TGConnectingPoint num="1" id="554" />
 <extraparam>
-<Data eventName="cwpQ_evt_out" nbOfParams="5" />
+<Data eventName="sink_evt_in_1" nbOfParams="5" />
 <Param index="0" value="size" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1007" id="573" >
-<cdparam x="352" y="189" />
-<sizeparam width="103" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<COMPONENT type="1010" id="558" >
+<cdparam x="350" y="139" />
+<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="cwpQ_req(size)" />
-<TGConnectingPoint num="0" id="571" />
-<TGConnectingPoint num="1" id="572" />
+<infoparam name="wait event" value="sink_evt_in(size) " />
+<TGConnectingPoint num="0" id="556" />
+<TGConnectingPoint num="1" id="557" />
 <extraparam>
-<Data requestName="cwpQ_req" nbOfParams="5" />
+<Data eventName="sink_evt_in" nbOfParams="5" />
 <Param index="0" value="size" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1000" id="575" >
-<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="574" />
-</COMPONENT>
-
-<CONNECTOR type="115" id="576" >
-<cdparam x="403" y="214" />
+<CONNECTOR type="115" id="559" >
+<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="403" y="214" id="572" />
-<P2  x="403" y="258" id="568" />
+<P1  x="407" y="212" id="554" />
+<P2  x="406" y="260" id="548" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="577" >
-<cdparam x="403" y="288" />
+<CONNECTOR type="115" id="560" >
+<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="403" y="288" id="569" />
-<P2  x="403" y="334" id="566" />
+<P1  x="406" y="290" id="549" />
+<P2  x="406" y="350" id="546" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="578" >
-<cdparam x="403" y="71" />
+<CONNECTOR type="115" id="561" >
+<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="403" y="71" id="574" />
-<P2  x="403" y="112" id="563" />
+<P1  x="407" y="93" id="551" />
+<P2  x="407" y="134" id="556" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="579" >
-<cdparam x="443" y="134" />
+<CONNECTOR type="115" id="562" >
+<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="403" y="142" id="564" />
-<P2  x="403" y="184" id="571" />
+<P1  x="407" y="164" id="557" />
+<P2  x="407" y="182" id="553" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 
 </TMLActivityDiagramPanel>
 
 <TMLActivityDiagramPanel name="X_CWP_Q" minX="10" maxX="1400" minY="10" maxY="900" >
-<COMPONENT type="1013" id="583" >
+<COMPONENT type="1013" id="566" >
 <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="581" />
-<TGConnectingPoint num="1" id="582" />
+<TGConnectingPoint num="0" id="564" />
+<TGConnectingPoint num="1" id="565" />
 </COMPONENT>
-<SUBCOMPONENT type="-1" id="580" >
-<father id="583" num="0" />
+<SUBCOMPONENT type="-1" id="563" >
+<father id="566" 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" />
@@ -2619,215 +2523,215 @@
 <infoparam name="value of the delay" value="size" />
 </SUBCOMPONENT>
 
-<COMPONENT type="1009" id="586" >
+<COMPONENT type="1009" id="569" >
 <cdparam x="311" y="194" />
 <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="read channel" value="cwpQ_ch_in(size) " />
-<TGConnectingPoint num="0" id="584" />
-<TGConnectingPoint num="1" id="585" />
+<TGConnectingPoint num="0" id="567" />
+<TGConnectingPoint num="1" id="568" />
 <extraparam>
 <Data channelName="cwpQ_ch_in" nbOfSamples="size" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1001" id="588" >
+<COMPONENT type="1001" id="571" >
 <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="587" />
+<TGConnectingPoint num="0" id="570" />
 </COMPONENT>
 
-<COMPONENT type="1006" id="591" >
+<COMPONENT type="1006" id="574" >
 <cdparam x="308" y="356" />
 <sizeparam width="124" 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="589" />
-<TGConnectingPoint num="1" id="590" />
+<TGConnectingPoint num="0" id="572" />
+<TGConnectingPoint num="1" id="573" />
 <extraparam>
 <Data channelName="cwpQ_ch_out" nbOfSamples="size" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1034" id="594" >
+<COMPONENT type="1034" id="577" >
 <cdparam x="314" y="118" />
 <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="592" />
-<TGConnectingPoint num="1" id="593" />
+<TGConnectingPoint num="0" id="575" />
+<TGConnectingPoint num="1" id="576" />
 <extraparam>
 <Data nbOfParams="5" />
 <Param index="0" value="size" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1000" id="596" >
+<COMPONENT type="1000" id="579" >
 <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="595" />
+<TGConnectingPoint num="0" id="578" />
 </COMPONENT>
 
-<CONNECTOR type="115" id="597" >
+<CONNECTOR type="115" id="580" >
 <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="585" />
-<P2  x="370" y="270" id="581" />
+<P1  x="370" y="219" id="568" />
+<P2  x="370" y="270" id="564" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="598" >
+<CONNECTOR type="115" id="581" >
 <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="370" y="310" id="582" />
-<P2  x="370" y="351" id="589" />
+<P1  x="370" y="310" id="565" />
+<P2  x="370" y="351" id="572" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="599" >
+<CONNECTOR type="115" id="582" >
 <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="370" y="75" id="595" />
-<P2  x="370" y="113" id="592" />
+<P1  x="370" y="75" id="578" />
+<P2  x="370" y="113" id="575" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="600" >
+<CONNECTOR type="115" id="583" >
 <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="370" y="381" id="590" />
-<P2  x="370" y="423" id="587" />
+<P1  x="370" y="381" id="573" />
+<P2  x="370" y="423" id="570" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="601" >
+<CONNECTOR type="115" id="584" >
 <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="593" />
-<P2  x="370" y="189" id="584" />
+<P1  x="370" y="143" id="576" />
+<P2  x="370" y="189" id="567" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 
 </TMLActivityDiagramPanel>
 
-<TMLActivityDiagramPanel name="F_CWP_I" minX="10" maxX="1400" minY="10" maxY="900" >
-<COMPONENT type="1010" id="604" >
-<cdparam x="321" y="132" />
-<sizeparam width="116" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<TMLActivityDiagramPanel name="F_CWP_Q" minX="10" maxX="1400" minY="10" maxY="900" >
+<COMPONENT type="1010" id="587" >
+<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="cwpI_evt_in(size) " />
-<TGConnectingPoint num="0" id="602" />
-<TGConnectingPoint num="1" id="603" />
+<infoparam name="wait event" value="cwpQ_evt_in(size) " />
+<TGConnectingPoint num="0" id="585" />
+<TGConnectingPoint num="1" id="586" />
 <extraparam>
-<Data eventName="cwpI_evt_in" nbOfParams="5" />
+<Data eventName="cwpQ_evt_in" nbOfParams="5" />
 <Param index="0" value="size" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1001" id="606" >
-<cdparam x="369" y="354" />
+<COMPONENT type="1001" id="589" >
+<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="605" />
+<TGConnectingPoint num="0" id="588" />
 </COMPONENT>
 
-<COMPONENT type="1008" id="609" >
-<cdparam x="318" y="278" />
-<sizeparam width="122" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<COMPONENT type="1008" id="592" >
+<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="cwpI_evt_out(size)" />
-<TGConnectingPoint num="0" id="607" />
-<TGConnectingPoint num="1" id="608" />
+<infoparam name="send event" value="cwpQ_evt_out(size)" />
+<TGConnectingPoint num="0" id="590" />
+<TGConnectingPoint num="1" id="591" />
 <extraparam>
-<Data eventName="cwpI_evt_out" nbOfParams="5" />
+<Data eventName="cwpQ_evt_out" nbOfParams="5" />
 <Param index="0" value="size" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1007" id="612" >
-<cdparam x="331" y="204" />
-<sizeparam width="97" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<COMPONENT type="1007" id="595" >
+<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="cwpI_req(size)" />
-<TGConnectingPoint num="0" id="610" />
-<TGConnectingPoint num="1" id="611" />
+<infoparam name="send request" value="cwpQ_req(size)" />
+<TGConnectingPoint num="0" id="593" />
+<TGConnectingPoint num="1" id="594" />
 <extraparam>
-<Data requestName="cwpI_req" nbOfParams="5" />
+<Data requestName="cwpQ_req" nbOfParams="5" />
 <Param index="0" value="size" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1000" id="614" >
-<cdparam x="372" y="66" />
+<COMPONENT type="1000" id="597" >
+<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="613" />
+<TGConnectingPoint num="0" id="596" />
 </COMPONENT>
 
-<CONNECTOR type="115" id="615" >
-<cdparam x="379" y="229" />
+<CONNECTOR type="115" id="598" >
+<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="379" y="229" id="611" />
-<P2  x="379" y="273" id="607" />
+<P1  x="403" y="214" id="594" />
+<P2  x="403" y="258" id="590" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="616" >
-<cdparam x="379" y="303" />
+<CONNECTOR type="115" id="599" >
+<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="379" y="303" id="608" />
-<P2  x="379" y="349" id="605" />
+<P1  x="403" y="288" id="591" />
+<P2  x="403" y="334" id="588" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="617" >
-<cdparam x="379" y="86" />
+<CONNECTOR type="115" id="600" >
+<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="379" y="86" id="613" />
-<P2  x="379" y="127" id="602" />
+<P1  x="403" y="71" id="596" />
+<P2  x="403" y="112" id="585" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="618" >
-<cdparam x="419" y="149" />
+<CONNECTOR type="115" id="601" >
+<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="379" y="157" id="603" />
-<P2  x="379" y="199" id="610" />
+<P1  x="403" y="142" id="586" />
+<P2  x="403" y="184" id="593" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 
 </TMLActivityDiagramPanel>
 
 <TMLActivityDiagramPanel name="X_CWP_I" minX="10" maxX="1400" minY="10" maxY="900" >
-<COMPONENT type="1013" id="622" >
+<COMPONENT type="1013" id="605" >
 <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="620" />
-<TGConnectingPoint num="1" id="621" />
+<TGConnectingPoint num="0" id="603" />
+<TGConnectingPoint num="1" id="604" />
 </COMPONENT>
-<SUBCOMPONENT type="-1" id="619" >
-<father id="622" num="0" />
+<SUBCOMPONENT type="-1" id="602" >
+<father id="605" 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" />
@@ -2835,102 +2739,198 @@
 <infoparam name="value of the delay" value="size" />
 </SUBCOMPONENT>
 
-<COMPONENT type="1009" id="625" >
+<COMPONENT type="1009" id="608" >
 <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="read channel" value="cwpI_ch_in(size) " />
-<TGConnectingPoint num="0" id="623" />
-<TGConnectingPoint num="1" id="624" />
+<TGConnectingPoint num="0" id="606" />
+<TGConnectingPoint num="1" id="607" />
 <extraparam>
 <Data channelName="cwpI_ch_in" nbOfSamples="size" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1001" id="627" >
+<COMPONENT type="1001" id="610" >
 <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="626" />
+<TGConnectingPoint num="0" id="609" />
 </COMPONENT>
 
-<COMPONENT type="1006" id="630" >
+<COMPONENT type="1006" id="613" >
 <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="write channel" value="cwpI_ch_out(size)" />
-<TGConnectingPoint num="0" id="628" />
-<TGConnectingPoint num="1" id="629" />
+<TGConnectingPoint num="0" id="611" />
+<TGConnectingPoint num="1" id="612" />
 <extraparam>
 <Data channelName="cwpI_ch_out" nbOfSamples="size" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1034" id="633" >
+<COMPONENT type="1034" id="616" >
 <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="read args" value="getReqArg (size)" />
-<TGConnectingPoint num="0" id="631" />
-<TGConnectingPoint num="1" id="632" />
+<TGConnectingPoint num="0" id="614" />
+<TGConnectingPoint num="1" id="615" />
 <extraparam>
 <Data nbOfParams="5" />
 <Param index="0" value="size" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1000" id="635" >
+<COMPONENT type="1000" id="618" >
 <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="634" />
+<TGConnectingPoint num="0" id="617" />
 </COMPONENT>
 
-<CONNECTOR type="115" id="636" >
+<CONNECTOR type="115" id="619" >
 <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="624" />
-<P2  x="374" y="285" id="620" />
+<P1  x="374" y="234" id="607" />
+<P2  x="374" y="285" id="603" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="637" >
+<CONNECTOR type="115" id="620" >
 <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="374" y="325" id="621" />
-<P2  x="374" y="366" id="628" />
+<P1  x="374" y="325" id="604" />
+<P2  x="374" y="366" id="611" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="638" >
+<CONNECTOR type="115" id="621" >
 <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="374" y="90" id="634" />
-<P2  x="374" y="128" id="631" />
+<P1  x="374" y="90" id="617" />
+<P2  x="374" y="128" id="614" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="639" >
+<CONNECTOR type="115" id="622" >
 <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="374" y="396" id="629" />
-<P2  x="374" y="438" id="626" />
+<P1  x="374" y="396" id="612" />
+<P2  x="374" y="438" id="609" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="640" >
+<CONNECTOR type="115" id="623" >
 <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="374" y="158" id="632" />
-<P2  x="374" y="204" id="623" />
+<P1  x="374" y="158" id="615" />
+<P2  x="374" y="204" id="606" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+
+</TMLActivityDiagramPanel>
+
+<TMLActivityDiagramPanel name="F_CWP_I" minX="10" maxX="1400" minY="10" maxY="900" >
+<COMPONENT type="1010" id="626" >
+<cdparam x="321" y="132" />
+<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="wait event" value="cwpI_evt_in(size) " />
+<TGConnectingPoint num="0" id="624" />
+<TGConnectingPoint num="1" id="625" />
+<extraparam>
+<Data eventName="cwpI_evt_in" nbOfParams="5" />
+<Param index="0" value="size" />
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="1001" id="628" >
+<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="627" />
+</COMPONENT>
+
+<COMPONENT type="1008" id="631" >
+<cdparam x="318" y="278" />
+<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="send event" value="cwpI_evt_out(size)" />
+<TGConnectingPoint num="0" id="629" />
+<TGConnectingPoint num="1" id="630" />
+<extraparam>
+<Data eventName="cwpI_evt_out" nbOfParams="5" />
+<Param index="0" value="size" />
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="1007" id="634" >
+<cdparam x="331" y="204" />
+<sizeparam width="97" 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="632" />
+<TGConnectingPoint num="1" id="633" />
+<extraparam>
+<Data requestName="cwpI_req" nbOfParams="5" />
+<Param index="0" value="size" />
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="1000" id="636" >
+<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="635" />
+</COMPONENT>
+
+<CONNECTOR type="115" id="637" >
+<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="633" />
+<P2  x="379" y="273" id="629" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="115" id="638" >
+<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="630" />
+<P2  x="379" y="349" id="627" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="115" id="639" >
+<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="379" y="86" id="635" />
+<P2  x="379" y="127" id="624" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="115" id="640" >
+<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="625" />
+<P2  x="379" y="199" id="632" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 
@@ -8281,7 +8281,7 @@ sequence diagram.
 <TGConnectingPoint num="6" id="3680" />
 <TGConnectingPoint num="7" id="3681" />
 <extraparam>
-<info value="TX_NS::bit2symbol_ch_in" portName="bit2symbol_ch_in" referenceCommunicationName="TX_NS" typeName="port" mappedMemory="MAPPER_MSS" bufferType="1" numSamplesDataInMapp="null" baseAddressDataInMapp="null" bitsPerSymbolDataInMapp="null" symmetricalValueDataInMapp="null" baseAddressDataOutMapp="null" baseAddressLUTMapp="null" />
+<info value="TX_NS::bit2symbol_ch_in" portName="bit2symbol_ch_in" referenceCommunicationName="TX_NS" typeName="port" mappedMemory="MAPPER_MSS" bufferType="1" numSamplesDataIn="" baseAddressDataIn="" bitsPerSymbolDataIn="" symmetricalValueDataIn="" baseAddressDataOut="" baseAddressLUT="" />
 </extraparam>
 </SUBCOMPONENT>
 
@@ -8557,11 +8557,11 @@ sequence diagram.
 </COMPONENT>
 <SUBCOMPONENT type="1101" id="3859" >
 <father id="3947" 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="3851" />
 <TGConnectingPoint num="1" id="3852" />
 <TGConnectingPoint num="2" id="3853" />
@@ -8571,16 +8571,16 @@ sequence diagram.
 <TGConnectingPoint num="6" id="3857" />
 <TGConnectingPoint num="7" id="3858" />
 <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="3868" >
 <father id="3947" num="1" />
-<cdparam x="1466" y="395" />
+<cdparam x="1685" y="459" />
 <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="3860" />
 <TGConnectingPoint num="1" id="3861" />
 <TGConnectingPoint num="2" id="3862" />
@@ -8590,16 +8590,16 @@ sequence diagram.
 <TGConnectingPoint num="6" id="3866" />
 <TGConnectingPoint num="7" id="3867" />
 <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="3877" >
 <father id="3947" num="2" />
-<cdparam x="1466" y="456" />
-<sizeparam width="200" 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="217" minY="0" maxY="253" />
-<infoparam name="TGComponent" value="Zigbee_TX::F_Bits_to_Symbol" />
+<cdrectangleparam minX="0" maxX="277" minY="0" maxY="253" />
+<infoparam name="TGComponent" value="Zigbee_TX::F_CWL" />
 <TGConnectingPoint num="0" id="3869" />
 <TGConnectingPoint num="1" id="3870" />
 <TGConnectingPoint num="2" id="3871" />
@@ -8609,16 +8609,16 @@ sequence diagram.
 <TGConnectingPoint num="6" id="3875" />
 <TGConnectingPoint num="7" id="3876" />
 <extraparam>
-<info value="Zigbee_TX::F_Bits_to_Symbol" taskName="F_Bits_to_Symbol" referenceTaskName="Zigbee_TX" priority="0" operation="F_Bits_to_Symbol" 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="3886" >
 <father id="3947" num="3" />
-<cdparam x="1466" y="518" />
-<sizeparam width="195" 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="222" minY="0" maxY="253" />
-<infoparam name="TGComponent" value="Zigbee_TX::F_Chip_to_Octet" />
+<cdrectangleparam minX="0" maxX="278" minY="0" maxY="253" />
+<infoparam name="TGComponent" value="Zigbee_TX::F_Sink" />
 <TGConnectingPoint num="0" id="3878" />
 <TGConnectingPoint num="1" id="3879" />
 <TGConnectingPoint num="2" id="3880" />
@@ -8628,16 +8628,16 @@ sequence diagram.
 <TGConnectingPoint num="6" id="3884" />
 <TGConnectingPoint num="7" id="3885" />
 <extraparam>
-<info value="Zigbee_TX::F_Chip_to_Octet" taskName="F_Chip_to_Octet" referenceTaskName="Zigbee_TX" priority="0" operation="F_Chip_to_Octet" 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="3895" >
 <father id="3947" 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="195" 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="222" minY="0" maxY="253" />
+<infoparam name="TGComponent" value="Zigbee_TX::F_Chip_to_Octet" />
 <TGConnectingPoint num="0" id="3887" />
 <TGConnectingPoint num="1" id="3888" />
 <TGConnectingPoint num="2" id="3889" />
@@ -8647,16 +8647,16 @@ sequence diagram.
 <TGConnectingPoint num="6" id="3893" />
 <TGConnectingPoint num="7" id="3894" />
 <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_Chip_to_Octet" taskName="F_Chip_to_Octet" referenceTaskName="Zigbee_TX" priority="0" operation="F_Chip_to_Octet" fatherComponentMECType="0" />
 </extraparam>
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1101" id="3904" >
 <father id="3947" 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="200" 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="217" minY="0" maxY="253" />
+<infoparam name="TGComponent" value="Zigbee_TX::F_Bits_to_Symbol" />
 <TGConnectingPoint num="0" id="3896" />
 <TGConnectingPoint num="1" id="3897" />
 <TGConnectingPoint num="2" id="3898" />
@@ -8666,16 +8666,16 @@ sequence diagram.
 <TGConnectingPoint num="6" id="3902" />
 <TGConnectingPoint num="7" id="3903" />
 <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_Bits_to_Symbol" taskName="F_Bits_to_Symbol" referenceTaskName="Zigbee_TX" priority="0" operation="F_Bits_to_Symbol" fatherComponentMECType="0" />
 </extraparam>
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1101" id="3913" >
 <father id="3947" num="6" />
-<cdparam x="1685" y="459" />
+<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="3905" />
 <TGConnectingPoint num="1" id="3906" />
 <TGConnectingPoint num="2" id="3907" />
@@ -8685,16 +8685,16 @@ sequence diagram.
 <TGConnectingPoint num="6" id="3911" />
 <TGConnectingPoint num="7" id="3912" />
 <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="3922" >
 <father id="3947" 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="3914" />
 <TGConnectingPoint num="1" id="3915" />
 <TGConnectingPoint num="2" id="3916" />
@@ -8704,7 +8704,7 @@ sequence diagram.
 <TGConnectingPoint num="6" id="3920" />
 <TGConnectingPoint num="7" id="3921" />
 <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>
 
@@ -9124,11 +9124,11 @@ sequence diagram.
 </COMPONENT>
 <SUBCOMPONENT type="1101" id="4215" >
 <father id="4258" num="0" />
-<cdparam x="632" y="240" />
-<sizeparam width="142" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<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="96" minY="0" maxY="145" />
-<infoparam name="TGComponent" value="Zigbee_TX::X_CWL" />
+<cdrectangleparam minX="0" maxX="80" minY="0" maxY="145" />
+<infoparam name="TGComponent" value="Zigbee_TX::X_CWP_Q" />
 <TGConnectingPoint num="0" id="4207" />
 <TGConnectingPoint num="1" id="4208" />
 <TGConnectingPoint num="2" id="4209" />
@@ -9138,7 +9138,7 @@ sequence diagram.
 <TGConnectingPoint num="6" id="4213" />
 <TGConnectingPoint num="7" id="4214" />
 <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_Q" taskName="X_CWP_Q" referenceTaskName="Zigbee_TX" priority="0" operation="CWP" fatherComponentMECType="1" />
 </extraparam>
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1101" id="4224" >
@@ -9162,11 +9162,11 @@ sequence diagram.
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1101" id="4233" >
 <father id="4258" num="2" />
-<cdparam x="640" y="335" />
-<sizeparam width="158" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="632" y="240" />
+<sizeparam width="142" 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" />
+<cdrectangleparam minX="0" maxX="96" minY="0" maxY="145" />
+<infoparam name="TGComponent" value="Zigbee_TX::X_CWL" />
 <TGConnectingPoint num="0" id="4225" />
 <TGConnectingPoint num="1" id="4226" />
 <TGConnectingPoint num="2" id="4227" />
@@ -9176,7 +9176,7 @@ sequence diagram.
 <TGConnectingPoint num="6" id="4231" />
 <TGConnectingPoint num="7" id="4232" />
 <extraparam>
-<info value="Zigbee_TX::X_CWP_Q" taskName="X_CWP_Q" 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>
 
diff --git a/preinstallTTool/linux/TTool/bin/launcher.jar b/preinstallTTool/linux/TTool/bin/launcher.jar
index a090bdffd452093130a1f6f18bbb2845d404df53..7a4f371e73450a629852b6121af927582d22e4da 100644
Binary files a/preinstallTTool/linux/TTool/bin/launcher.jar and b/preinstallTTool/linux/TTool/bin/launcher.jar differ
diff --git a/preinstallTTool/linux/TTool/bin/rundse.jar b/preinstallTTool/linux/TTool/bin/rundse.jar
index 925296b94d33b2a28824a6c95e7b15b1f33bae57..07f10c3f9e64a806adcd599b47545c3079a9f5e9 100644
Binary files a/preinstallTTool/linux/TTool/bin/rundse.jar and b/preinstallTTool/linux/TTool/bin/rundse.jar differ
diff --git a/preinstallTTool/linux/TTool/bin/tiftranslator.jar b/preinstallTTool/linux/TTool/bin/tiftranslator.jar
index 88e089e1e82ad8e150ffeb74ef29810547224c84..768563bd228d84081c0afce52a34fbcd9488c5bc 100644
Binary files a/preinstallTTool/linux/TTool/bin/tiftranslator.jar and b/preinstallTTool/linux/TTool/bin/tiftranslator.jar differ
diff --git a/preinstallTTool/linux/TTool/bin/tmltranslator.jar b/preinstallTTool/linux/TTool/bin/tmltranslator.jar
index ceee8e718ee3819a4f586821b064255092ec6f62..6c6f9166ee04694dfc7f4c90f97d31a263606e27 100644
Binary files a/preinstallTTool/linux/TTool/bin/tmltranslator.jar and b/preinstallTTool/linux/TTool/bin/tmltranslator.jar differ
diff --git a/preinstallTTool/linux/TTool/bin/ttool.jar b/preinstallTTool/linux/TTool/bin/ttool.jar
index 3fa70a32a9f9a27a947a1a7c54fb634963644757..554c0472896960e4cc4b88ea52a2a04a66b6cf82 100644
Binary files a/preinstallTTool/linux/TTool/bin/ttool.jar and b/preinstallTTool/linux/TTool/bin/ttool.jar differ
diff --git a/preinstallTTool/linux/TTool/modeling/MicroWaveOven_SafetySecurity_fullMethodo.xml b/preinstallTTool/linux/TTool/modeling/MicroWaveOven_SafetySecurity_fullMethodo.xml
index f8e675041da7f90d57a96a0541e27f84c204e3b1..4bc05adb6c18e0a8fd4fc0b7dfca685062ec3319 100644
--- a/preinstallTTool/linux/TTool/modeling/MicroWaveOven_SafetySecurity_fullMethodo.xml
+++ b/preinstallTTool/linux/TTool/modeling/MicroWaveOven_SafetySecurity_fullMethodo.xml
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="ISO-8859-1"?>
 
-<TURTLEGMODELING version="0.98-beta2">
+<TURTLEGMODELING version="0.98-beta3">
 
 <Modeling type="Avatar Methodology" nameTab="Methodology" >
 <AvatarMethodologyDiagramPanel name="AVATAR_Methodology" minX="10" maxX="1400" minY="10" maxY="900" zoom="1.0" >
@@ -4891,7 +4891,7 @@ or by a maintenance station
 <MainCode value=""/>
 <MainCode value="}"/>
 <Optimized value="true" />
-<Validated value="ObserverProp1;RemotelyControlledMicrowave;RemoteControl;MicroWaveOven;Bell;ControlPanel;Controller;Magnetron;Door;WirelessInterface;" />
+<Validated value="" />
 <Ignored value="" />
 
 <CONNECTOR type="5002" id="2502" >
@@ -5101,7 +5101,7 @@ or by a maintenance station
 </COMPONENT>
 
 <COMPONENT type="301" id="2570" >
-<cdparam x="63" y="22" />
+<cdparam x="177" y="16" />
 <sizeparam width="591" height="95" minWidth="50" minHeight="20" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="1400" />
diff --git a/src/ui/TDiagramMouseManager.java b/src/ui/TDiagramMouseManager.java
index 1d869443fe41db4bd68400e77d753cbedfb048c6..a4416c408f7834bff85872651c39a3d0446645d3 100755
--- a/src/ui/TDiagramMouseManager.java
+++ b/src/ui/TDiagramMouseManager.java
@@ -58,603 +58,603 @@ import myutil.TraceManager;
 
 public class TDiagramMouseManager implements MouseListener, MouseMotionListener  {
 
-	private TDiagramPanel tdp;
-
-	private TGComponent tgc;
-
-	private int oldx;
-	private int oldy;
-	private int oldwidth;
-	private int oldheight;
-
-	private int cdx;
-	private int cdy;
-	private int cdwidth;
-	private int cdheight;
-
-	private int decx;
-	private int decy;
-
-	private int resizeInfo;
-
-	private boolean selectedComponent = false;
-
-	//private Point p;
-	private TGConnectingPoint cp;
-
-	//private TGConnector tgcon;
-	private TGConnector tgco;
-	private CDElement [] cde;
-	private boolean isOut;
-
-	//store selected components
-	private ArrayList selectedMultiComponents=new ArrayList<String>();
-
-	// Constructor
-	public TDiagramMouseManager(TDiagramPanel _tdp) {
-		tdp = _tdp;
-	}
-
-
-	// Mouse operations
-
-	public void mousePressed(MouseEvent e) {
-		int selected = tdp.getGUI().getTypeButtonSelected();
-
-		//System.out.println("Titi");
-		if (e.getButton() == MouseEvent.BUTTON3) {
-			//System.out.println("toto");
-			if (selected == TGComponentManager.EDIT) {
-				tdp.openPopupMenu(e.getX(), e.getY());
-			}
-		}
-
-		//System.out.println("mode = " + tdp.mode + " selected=" + selected);
-
-		if ((tdp.mode == TDiagramPanel.SELECTED_COMPONENTS) && (e.getButton() == MouseEvent.BUTTON1) && (tdp.isInSelectedRectangle(e.getX(), e.getY()))){
-			tdp.setCursor(Cursor.getPredefinedCursor(Cursor.MOVE_CURSOR));
-			tdp.mode = TDiagramPanel.MOVING_SELECTED_COMPONENTS;
-			tdp.setMovingSelectedComponents();
-			cdx = tdp.getXSelected();
-			cdy = tdp.getYSelected();
-			oldx = cdx;
-			oldy = cdy;
-			decx = e.getX() - cdx;
-			decy = e.getY() - cdy;
-		}
-
-
-		if ((tdp.mode == TDiagramPanel.NORMAL) && (selected == TGComponentManager.EDIT)& (e.getButton() == MouseEvent.BUTTON1)) {
-			//search if an element is pointed
-			boolean actionMade = false;
-			tgc = tdp.componentPointed();
-			//System.out.println("Working on TGC=" + tgc);
-			if (tgc == null) {
-				// making a selection of components
-				tdp.setCursor(Cursor.getPredefinedCursor(Cursor.CROSSHAIR_CURSOR));
-				tdp.mode = TDiagramPanel.SELECTING_COMPONENTS;
-				tdp.setSelectingComponents(e.getX(), e.getY());
-			}  else {
-				// Resize, move, or make a connector
-				if (tgc.isUserResizable() && ((resizeInfo=tgc.getResizeZone(e.getX(), e.getY())) != 0)) {
-					actionMade = true;
-					// Resize
-					//System.out.println("Resize");
-					tgc.setState(TGState.RESIZING);
-					tgc.updateMinMaxSize();
-					//tdp.setCursor(Cursor.getPredefinedCursor(Cursor.MOVE_CURSOR));
-					tdp.mode = TDiagramPanel.RESIZING_COMPONENT;
-					cdx = tgc.getX();
-					cdy = tgc.getY();
-					cdwidth = tgc.getWidth();
-					cdheight = tgc.getHeight();
-					oldx = cdx;
-					oldy = cdy;
-					oldwidth = cdwidth;
-					oldheight = cdheight;
-					decx = e.getX() - cdx;
-					decy = e.getY() - cdy;
-				}
-
-				if (!actionMade) {
-					TGConnectingPoint p1;
-					//System.out.println("Working on TGC=" + tgc);
-					if (tgc.getDefaultConnector() != -1) {
-						p1 = tgc.getFreeTGConnectingPointAtAndCompatible(e.getX(), e.getY(), tgc.getDefaultConnector());
-						if ((p1 != null) && (p1.isOut())) {
-							// add connector
-							actionMade = true;
-							tdp.setSelectedTGConnectingPoint(p1);
-							tdp.getGUI().actionOnButton(TGComponentManager.CONNECTOR, tgc.getDefaultConnector());
-							tdp.mode = TDiagramPanel.ADDING_CONNECTOR;
-							tdp.addingTGConnector();
-							cp = p1;
-							tdp.setAddingTGConnector(e.getX(), e.getY());
-							tdp.repaint();
-						}
-					}
-				}
-
-				if ((!actionMade) && (tgc.isMoveable())) {
-					actionMade = true;
-					//Move
-					tgc.setState(TGState.MOVING);
-					tdp.setCursor(Cursor.getPredefinedCursor(Cursor.MOVE_CURSOR));
-					tdp.mode = TDiagramPanel.MOVING_COMPONENT;
-					cdx = tgc.getX();
-					cdy = tgc.getY();
-					oldx = cdx;
-					oldy = cdy;
-					decx = e.getX() - cdx;
-					decy = e.getY() - cdy;
-				}
-
-				if ((!actionMade) &&(tgc instanceof TGConnector)) {
-					// moving segment of connector ?
-					actionMade = true;
-					tgco = (TGConnector)tgc;
-					cde = tgco.getPointedSegment(e.getX(), e.getY());
-					if (cde != null) {
-						if ((!tgco.isP1(cde[0])) && (!tgco.isP2(cde[1]))) {
-							// moving segment
-							tgc.setState(TGState.MOVING);
-							tdp.setCursor(Cursor.getPredefinedCursor(Cursor.MOVE_CURSOR));
-							tdp.mode = TDiagramPanel.MOVE_CONNECTOR_SEGMENT;
-							oldx = cde[0].getX();
-							oldy = cde[0].getY();
-							decx = e.getX();
-							decy = e.getY();
-						} else {
-							if ((tgco.isP1(cde[0])) && (tgco.isP2(cde[1]))) {
-								// we choose one of the two	-> the closer one to the click
-								cde = tgco.closerPToClickFirst(e.getX(), e.getY());
-							} else {
-								if (tgco.isP2(cde[1])) {
-									cde[1] = cde[0];
-									cde[0] = tgco.getTGConnectingPointP2();
-								}
-							}
-
-							if (cde[0] == tgco.getTGConnectingPointP2()) {
-								isOut = false;
-							} else {
-								isOut = true;
-							}
-
-							// moving connector head
-							tdp.setMovingHead(e.getX(), e.getY(), cde[1].getX(), cde[1].getY());
-							tgc.setState(TGState.MOVING);
-							tdp.setCursor(Cursor.getPredefinedCursor(Cursor.MOVE_CURSOR));
-							tdp.mode = TDiagramPanel.MOVE_CONNECTOR_HEAD;
-							tdp.setConnectorHead(tgco);
-							((TGConnectingPoint)cde[0]).setFree(true);
-							//System.out.println("Moving connector head");
-							if (isOut) {
-								tdp.highlightOutAndFreeConnectingPoint(e.getX(), e.getY(), tgc.getType());
-							} else {
-								tdp.highlightInAndFreeConnectingPoint(e.getX(), e.getY(), tgc.getType());
-							}
-							oldx = cde[0].getX();
-							oldy = cde[0].getY();
-							decx = e.getX();
-							decy = e.getY();
-						}
-					}
-				}
-			}
-		}
-
-
-		if ((tdp.mode == TDiagramPanel.NORMAL) && (selected == TGComponentManager.CONNECTOR) & (e.getButton() == MouseEvent.BUTTON1)) {
-			// connector adding
-			// search for an selected connecting point
-			TGConnectingPoint p1;
-			p1 = tdp.getSelectedTGConnectingPoint();
-			if ((p1 != null)  && (p1.isOut())){
-				tdp.mode = TDiagramPanel.ADDING_CONNECTOR;
-				tdp.addingTGConnector();
-				cp = p1;
-				tdp.setAddingTGConnector(e.getX(), e.getY());
-				tdp.repaint();
-			}
-		}
-
-	}
-
-	public void mouseReleased(MouseEvent e) {
-
-		if (tdp.mode == TDiagramPanel.MOVING_SELECTED_COMPONENTS) {
-			tdp.mode = TDiagramPanel.SELECTED_COMPONENTS;
-			tdp.setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));
-			tdp.setStopMovingSelectedComponents();
-			if ((oldx != tdp.getXSelected()) || (oldy != tdp.getYSelected())) {
-				tdp.getGUI().changeMade(tdp, TDiagramPanel.MOVE_COMPONENT);
-			}
-			tdp.repaint();
-		}
-
-		if (tdp.mode == TDiagramPanel.MOVING_COMPONENT) {
-			tgc.setState(TGState.POINTED);
-			tdp.mode = TDiagramPanel.NORMAL;
-			tdp.setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));
-			if ((oldx != tgc.getX()) || (oldy != tgc.getY())) {
-				//System.out.println("change2");
-				tdp.getGUI().changeMade(tdp, TDiagramPanel.MOVE_COMPONENT);
-			}
-		}
-
-		if (tdp.mode == TDiagramPanel.RESIZING_COMPONENT) {
-			tgc.setState(TGState.POINTED);
-			tdp.mode = TDiagramPanel.NORMAL;
-			tdp.setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));
-			if ((oldx != tgc.getX()) || (oldy != tgc.getY()) || (oldwidth != tgc.getWidth()) || (oldheight != tgc.getHeight())) {
-				//System.out.println("change2");
-				tdp.getGUI().changeMade(tdp, TDiagramPanel.MOVE_COMPONENT);
-			}
-		}
-
-		if (tdp.mode == TDiagramPanel.SELECTING_COMPONENTS) {
-			tdp.endSelectComponents();
-			tdp.setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));
-			tdp.repaint();
-		}
-
-		if (tdp.mode == TDiagramPanel.MOVE_CONNECTOR_SEGMENT) {
-			tgc.setState(TGState.POINTED);
-			tdp.mode = TDiagramPanel.NORMAL;
-			tdp.setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));
-			if ((oldx != cde[0].getX()) || (oldy != cde[0].getY())) {
-				tdp.getGUI().changeMade(tdp, TDiagramPanel.MOVE_COMPONENT);
-			}
-		}
-
-		if (tdp.mode == TDiagramPanel.MOVE_CONNECTOR_HEAD) {
-			tgc.setState(TGState.POINTED);
-			tdp.mode = TDiagramPanel.NORMAL;
-			TGConnectingPoint p;
-			p = tdp.getSelectedTGConnectingPoint();
-			if (p != null) {
-				((TGConnectingPoint)cde[0]).setFree(true);
-				p.setFree(false);
-				if (isOut) {
-					tgco.setP1(p);
-				} else {
-					tgco.setP2(p);
-				}
-				tdp.getGUI().changeMade(tdp, TDiagramPanel.MOVE_CONNECTOR);
-				if (tgco instanceof SpecificActionAfterMove) {
-					((SpecificActionAfterMove)tgco).specificActionAfterMove();
-				}
-			} else {
-				((TGConnectingPoint)cde[0]).setFree(false);
-			}
-			tdp.setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));
-			tdp.repaint();
-		}
-	}
-
-	public void mouseEntered(MouseEvent e) {
-
-	}
-
-	public void mouseExited(MouseEvent e) {
-
-	}
-
-	public void mouseClicked(MouseEvent e) {
-		//System.out.println("MouseClick: " + e.getClickCount());
-
-		//open a Search Dialog with seleted component's value
-		if ( (e.getButton() == MouseEvent.BUTTON1) && e.isAltDown()) {
-			byte info = tdp.hoveredComponent(e.getX(), e.getY());
-			if (info > 1) {
-				tgc = tdp.componentHovered();
-				String search = tgc.getValue();
-
-				if (tdp.mgui.searchBox==null ) {
-					tdp.mgui.searchBox = new JDialogSearchBox(tdp.getGUI().getFrame(), "Search Box", selectedMultiComponents, this);
-				}
-				else {
-					if (tdp.mgui.searchBox.isShowing()) {
-						tdp.mgui.searchBox.addValueListKeyword(search);
-						tdp.mgui.searchBox.show();
-					} else{
-						tdp.mgui.searchBox=null;
-						tdp.mgui.searchBox = new JDialogSearchBox(tdp.getGUI().getFrame(), "Search Box", selectedMultiComponents, this);
-
-					}
-				}
-
-			}
-		}
-
-
-		//author:Huy TRUONG
-		//add component's value into list by clicking on component and holding Ctrl 
-		if ((e.getButton() == MouseEvent.BUTTON1) && e.isControlDown()){
-			tgc = tdp.componentPointed();
+    private TDiagramPanel tdp;
+
+    private TGComponent tgc;
+
+    private int oldx;
+    private int oldy;
+    private int oldwidth;
+    private int oldheight;
+
+    private int cdx;
+    private int cdy;
+    private int cdwidth;
+    private int cdheight;
+
+    private int decx;
+    private int decy;
+
+    private int resizeInfo;
+
+    private boolean selectedComponent = false;
+
+    //private Point p;
+    private TGConnectingPoint cp;
+
+    //private TGConnector tgcon;
+    private TGConnector tgco;
+    private CDElement [] cde;
+    private boolean isOut;
+
+    //store selected components
+    private ArrayList selectedMultiComponents=new ArrayList<String>();
+
+    // Constructor
+    public TDiagramMouseManager(TDiagramPanel _tdp) {
+        tdp = _tdp;
+    }
+
+
+    // Mouse operations
+
+    public void mousePressed(MouseEvent e) {
+        int selected = tdp.getGUI().getTypeButtonSelected();
+
+        //System.out.println("Titi");
+        if (e.getButton() == MouseEvent.BUTTON3) {
+            //System.out.println("toto");
+            if (selected == TGComponentManager.EDIT) {
+                tdp.openPopupMenu(e.getX(), e.getY());
+            }
+        }
+
+        //System.out.println("mode = " + tdp.mode + " selected=" + selected);
+
+        if ((tdp.mode == TDiagramPanel.SELECTED_COMPONENTS) && (e.getButton() == MouseEvent.BUTTON1) && (tdp.isInSelectedRectangle(e.getX(), e.getY()))){
+            tdp.setCursor(Cursor.getPredefinedCursor(Cursor.MOVE_CURSOR));
+            tdp.mode = TDiagramPanel.MOVING_SELECTED_COMPONENTS;
+            tdp.setMovingSelectedComponents();
+            cdx = tdp.getXSelected();
+            cdy = tdp.getYSelected();
+            oldx = cdx;
+            oldy = cdy;
+            decx = e.getX() - cdx;
+            decy = e.getY() - cdy;
+        }
+
+
+        if ((tdp.mode == TDiagramPanel.NORMAL) && (selected == TGComponentManager.EDIT)& (e.getButton() == MouseEvent.BUTTON1)) {
+            //search if an element is pointed
+            boolean actionMade = false;
+            tgc = tdp.componentPointed();
+            //System.out.println("Working on TGC=" + tgc);
+            if (tgc == null) {
+                // making a selection of components
+                tdp.setCursor(Cursor.getPredefinedCursor(Cursor.CROSSHAIR_CURSOR));
+                tdp.mode = TDiagramPanel.SELECTING_COMPONENTS;
+                tdp.setSelectingComponents(e.getX(), e.getY());
+            }  else {
+                // Resize, move, or make a connector
+                if (tgc.isUserResizable() && ((resizeInfo=tgc.getResizeZone(e.getX(), e.getY())) != 0)) {
+                    actionMade = true;
+                    // Resize
+                    //System.out.println("Resize");
+                    tgc.setState(TGState.RESIZING);
+                    tgc.updateMinMaxSize();
+                    //tdp.setCursor(Cursor.getPredefinedCursor(Cursor.MOVE_CURSOR));
+                    tdp.mode = TDiagramPanel.RESIZING_COMPONENT;
+                    cdx = tgc.getX();
+                    cdy = tgc.getY();
+                    cdwidth = tgc.getWidth();
+                    cdheight = tgc.getHeight();
+                    oldx = cdx;
+                    oldy = cdy;
+                    oldwidth = cdwidth;
+                    oldheight = cdheight;
+                    decx = e.getX() - cdx;
+                    decy = e.getY() - cdy;
+                }
+
+                if (!actionMade) {
+                    TGConnectingPoint p1;
+                    //System.out.println("Working on TGC=" + tgc);
+                    if (tgc.getDefaultConnector() != -1) {
+                        p1 = tgc.getFreeTGConnectingPointAtAndCompatible(e.getX(), e.getY(), tgc.getDefaultConnector());
+                        if ((p1 != null) && (p1.isOut())) {
+                            // add connector
+                            actionMade = true;
+                            tdp.setSelectedTGConnectingPoint(p1);
+                            tdp.getGUI().actionOnButton(TGComponentManager.CONNECTOR, tgc.getDefaultConnector());
+                            tdp.mode = TDiagramPanel.ADDING_CONNECTOR;
+                            tdp.addingTGConnector();
+                            cp = p1;
+                            tdp.setAddingTGConnector(e.getX(), e.getY());
+                            tdp.repaint();
+                        }
+                    }
+                }
+
+                if ((!actionMade) && (tgc.isMoveable())) {
+                    actionMade = true;
+                    //Move
+                    tgc.setState(TGState.MOVING);
+                    tdp.setCursor(Cursor.getPredefinedCursor(Cursor.MOVE_CURSOR));
+                    tdp.mode = TDiagramPanel.MOVING_COMPONENT;
+                    cdx = tgc.getX();
+                    cdy = tgc.getY();
+                    oldx = cdx;
+                    oldy = cdy;
+                    decx = e.getX() - cdx;
+                    decy = e.getY() - cdy;
+                }
+
+                if ((!actionMade) &&(tgc instanceof TGConnector)) {
+                    // moving segment of connector ?
+                    actionMade = true;
+                    tgco = (TGConnector)tgc;
+                    cde = tgco.getPointedSegment(e.getX(), e.getY());
+                    if (cde != null) {
+                        if ((!tgco.isP1(cde[0])) && (!tgco.isP2(cde[1]))) {
+                            // moving segment
+                            tgc.setState(TGState.MOVING);
+                            tdp.setCursor(Cursor.getPredefinedCursor(Cursor.MOVE_CURSOR));
+                            tdp.mode = TDiagramPanel.MOVE_CONNECTOR_SEGMENT;
+                            oldx = cde[0].getX();
+                            oldy = cde[0].getY();
+                            decx = e.getX();
+                            decy = e.getY();
+                        } else {
+                            if ((tgco.isP1(cde[0])) && (tgco.isP2(cde[1]))) {
+                                // we choose one of the two     -> the closer one to the click
+                                cde = tgco.closerPToClickFirst(e.getX(), e.getY());
+                            } else {
+                                if (tgco.isP2(cde[1])) {
+                                    cde[1] = cde[0];
+                                    cde[0] = tgco.getTGConnectingPointP2();
+                                }
+                            }
+
+                            if (cde[0] == tgco.getTGConnectingPointP2()) {
+                                isOut = false;
+                            } else {
+                                isOut = true;
+                            }
+
+                            // moving connector head
+                            tdp.setMovingHead(e.getX(), e.getY(), cde[1].getX(), cde[1].getY());
+                            tgc.setState(TGState.MOVING);
+                            tdp.setCursor(Cursor.getPredefinedCursor(Cursor.MOVE_CURSOR));
+                            tdp.mode = TDiagramPanel.MOVE_CONNECTOR_HEAD;
+                            tdp.setConnectorHead(tgco);
+                            ((TGConnectingPoint)cde[0]).setFree(true);
+                            //System.out.println("Moving connector head");
+                            if (isOut) {
+                                tdp.highlightOutAndFreeConnectingPoint(e.getX(), e.getY(), tgc.getType());
+                            } else {
+                                tdp.highlightInAndFreeConnectingPoint(e.getX(), e.getY(), tgc.getType());
+                            }
+                            oldx = cde[0].getX();
+                            oldy = cde[0].getY();
+                            decx = e.getX();
+                            decy = e.getY();
+                        }
+                    }
+                }
+            }
+        }
+
+
+        if ((tdp.mode == TDiagramPanel.NORMAL) && (selected == TGComponentManager.CONNECTOR) & (e.getButton() == MouseEvent.BUTTON1)) {
+            // connector adding
+            // search for an selected connecting point
+            TGConnectingPoint p1;
+            p1 = tdp.getSelectedTGConnectingPoint();
+            if ((p1 != null)  && (p1.isOut())){
+                tdp.mode = TDiagramPanel.ADDING_CONNECTOR;
+                tdp.addingTGConnector();
+                cp = p1;
+                tdp.setAddingTGConnector(e.getX(), e.getY());
+                tdp.repaint();
+            }
+        }
+
+    }
+
+    public void mouseReleased(MouseEvent e) {
+
+        if (tdp.mode == TDiagramPanel.MOVING_SELECTED_COMPONENTS) {
+            tdp.mode = TDiagramPanel.SELECTED_COMPONENTS;
+            tdp.setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));
+            tdp.setStopMovingSelectedComponents();
+            if ((oldx != tdp.getXSelected()) || (oldy != tdp.getYSelected())) {
+                tdp.getGUI().changeMade(tdp, TDiagramPanel.MOVE_COMPONENT);
+            }
+            tdp.repaint();
+        }
+
+        if (tdp.mode == TDiagramPanel.MOVING_COMPONENT) {
+            tgc.setState(TGState.POINTED);
+            tdp.mode = TDiagramPanel.NORMAL;
+            tdp.setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));
+            if ((oldx != tgc.getX()) || (oldy != tgc.getY())) {
+                //System.out.println("change2");
+                tdp.getGUI().changeMade(tdp, TDiagramPanel.MOVE_COMPONENT);
+            }
+        }
+
+        if (tdp.mode == TDiagramPanel.RESIZING_COMPONENT) {
+            tgc.setState(TGState.POINTED);
+            tdp.mode = TDiagramPanel.NORMAL;
+            tdp.setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));
+            if ((oldx != tgc.getX()) || (oldy != tgc.getY()) || (oldwidth != tgc.getWidth()) || (oldheight != tgc.getHeight())) {
+                //System.out.println("change2");
+                tdp.getGUI().changeMade(tdp, TDiagramPanel.MOVE_COMPONENT);
+            }
+        }
+
+        if (tdp.mode == TDiagramPanel.SELECTING_COMPONENTS) {
+            tdp.endSelectComponents();
+            tdp.setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));
+            tdp.repaint();
+        }
+
+        if (tdp.mode == TDiagramPanel.MOVE_CONNECTOR_SEGMENT) {
+            tgc.setState(TGState.POINTED);
+            tdp.mode = TDiagramPanel.NORMAL;
+            tdp.setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));
+            if ((oldx != cde[0].getX()) || (oldy != cde[0].getY())) {
+                tdp.getGUI().changeMade(tdp, TDiagramPanel.MOVE_COMPONENT);
+            }
+        }
+
+        if (tdp.mode == TDiagramPanel.MOVE_CONNECTOR_HEAD) {
+            tgc.setState(TGState.POINTED);
+            tdp.mode = TDiagramPanel.NORMAL;
+            TGConnectingPoint p;
+            p = tdp.getSelectedTGConnectingPoint();
+            if (p != null) {
+                ((TGConnectingPoint)cde[0]).setFree(true);
+                p.setFree(false);
+                if (isOut) {
+                    tgco.setP1(p);
+                } else {
+                    tgco.setP2(p);
+                }
+                tdp.getGUI().changeMade(tdp, TDiagramPanel.MOVE_CONNECTOR);
+                if (tgco instanceof SpecificActionAfterMove) {
+                    ((SpecificActionAfterMove)tgco).specificActionAfterMove();
+                }
+            } else {
+                ((TGConnectingPoint)cde[0]).setFree(false);
+            }
+            tdp.setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));
+            tdp.repaint();
+        }
+    }
+
+    public void mouseEntered(MouseEvent e) {
+
+    }
+
+    public void mouseExited(MouseEvent e) {
+
+    }
+
+    public void mouseClicked(MouseEvent e) {
+        //System.out.println("MouseClick: " + e.getClickCount());
+
+        //open a Search Dialog with seleted component's value
+        if ( (e.getButton() == MouseEvent.BUTTON1) && e.isAltDown()) {
+            byte info = tdp.hoveredComponent(e.getX(), e.getY());
+            if (info > 1) {
+                tgc = tdp.componentHovered();
+                String search = tgc.getValue();
+
+                if (tdp.mgui.searchBox==null ) {
+                    tdp.mgui.searchBox = new JDialogSearchBox(tdp.getGUI().getFrame(), "Search Box", selectedMultiComponents, this);
+                }
+                else {
+                    if (tdp.mgui.searchBox.isShowing()) {
+                        tdp.mgui.searchBox.addValueListKeyword(search);
+                        tdp.mgui.searchBox.show();
+                    } else{
+                        tdp.mgui.searchBox=null;
+                        tdp.mgui.searchBox = new JDialogSearchBox(tdp.getGUI().getFrame(), "Search Box", selectedMultiComponents, this);
+
+                    }
+                }
+
+            }
+        }
+
+
+        //author:Huy TRUONG
+        //add component's value into list by clicking on component and holding Ctrl
+        if ((e.getButton() == MouseEvent.BUTTON1) && e.isControlDown()){
+            tgc = tdp.componentPointed();
 
             //set text of seach field on menubar
             tdp.mgui.getMainBar().search.setText(tgc.getValue());
 
-			if ( null == tdp.mgui.searchBox || ! tdp.mgui.searchBox.isShowing()){
-				selectedMultiComponents.add(tgc.getValue());
-				//TraceManager.addDev("Selected components: " + selectedMultiComponents.toString());
-			}
-			else {
-				if (tdp.mgui.searchBox.isShowing())
-				{
-                    tdp.mgui.searchBox.addValueListKeyword(tgc.getValue());
-					selectedMultiComponents.clear();
-				}
-				else{
-					selectedMultiComponents.add(tgc.getValue());
+            if ( null == tdp.mgui.searchBox || ! tdp.mgui.searchBox.isShowing()){
+                selectedMultiComponents.add(tgc.getValue());
+                //TraceManager.addDev("Selected components: " + selectedMultiComponents.toString());
+            }
+            else {
+                if (tdp.mgui.searchBox.isShowing())
+                    {
+                        tdp.mgui.searchBox.addValueListKeyword(tgc.getValue());
+                        selectedMultiComponents.clear();
+                    }
+                else{
+                    selectedMultiComponents.add(tgc.getValue());
                     tdp.mgui.searchBox.removeValueListKeyword();
-				}
-			}
-		}else
-			selectedMultiComponents.clear();
-			// clear the list when release Ctrl and click
-			
-
-
-
-		//--
-		
-
-		if (tdp.mode == TDiagramPanel.SELECTED_COMPONENTS) {
-			if ((e.getClickCount() == 1) && (e.getButton() == MouseEvent.BUTTON1)){
-				tdp.mode = TDiagramPanel.NORMAL;
-				tdp.mgui.setMode(MainGUI.CUTCOPY_KO);
-				tdp.mgui.setMode(MainGUI.EXPORT_LIB_KO);
-				tdp.unselectSelectedComponents();
-				tdp.repaint();
-			}
-			return;
-		}
-
-		int selected = tdp.getGUI().getTypeButtonSelected();
-
-		if ((selected == TGComponentManager.EDIT) && (e.getClickCount() == 2) && (e.getButton() == MouseEvent.BUTTON1)){
-			//System.out.println("Double click");
-			tgc = tdp.componentPointed();
-			if (tgc != null) {
-				//System.out.println("Component pointed: " + tgc.getName());
-				if (tgc.doubleClick(tdp.getGUI().getFrame(), e.getX(), e.getY())) {
-					//System.out.println("Change4");
-					tdp.getGUI().changeMade(tdp, TDiagramPanel.CHANGE_VALUE_COMPONENT);
-					tdp.repaint();
-				}
-			}
-		}
-
-		if ((selected == TGComponentManager.CONNECTOR) && (e.getClickCount() == 1) && (e.getButton() == MouseEvent.BUTTON1)) {
-			// if there is a close connecting point
-			if (tdp.mode == TDiagramPanel.ADDING_CONNECTOR) {
-				TGConnectingPoint p1;
-				p1 = tdp.getSelectedTGConnectingPoint();
-				if (p1 != null) {
-					if ((p1 != cp) && (p1.isIn())) {
-						tdp.finishAddingConnector(p1);
-						tdp.mode = TDiagramPanel.NORMAL;
-						tdp.getGUI().setEditMode();
-						//System.out.println("Change3");
-						tdp.getGUI().changeMade(tdp, TDiagramPanel.NEW_CONNECTOR);
-						tdp.repaint();
-					}
-				} else {
-					// no close connecting point -> adding point
-					tdp.addPointToTGConnector(e.getX(), e.getY());
-					tdp.repaint();
-				}
-			}
-		}
-
-		if ((selected == TGComponentManager.CONNECTOR) && (e.getClickCount() == 2) && (e.getButton() == MouseEvent.BUTTON1)) {
-			if (tdp.mode == TDiagramPanel.ADDING_CONNECTOR) {
-				tdp.mode = TDiagramPanel.NORMAL;
-				tdp.stopAddingConnector(true);
-				tdp.getGUI().setEditMode();
-				tdp.repaint();
-			} else {
-				tdp.getGUI().setEditMode();
-				tdp.repaint();
-			}
-		}
-
-		if ((selected == TGComponentManager.COMPONENT) &&(e.getButton() == MouseEvent.BUTTON1)){
-			TGComponent comp = tdp.addComponent(e.getX(), e.getY(), true);
-			tdp.autoConnect(comp);
-			tdp.getGUI().setEditMode();
-			//System.out.println("change1");
-			tdp.getGUI().changeMade(tdp, TDiagramPanel.NEW_COMPONENT);
-			tdp.repaint();
-		}
-
-	}
-	
-	
-	public void stopAddingConnector() {
-		//TraceManager.addDev("Stop Adding connector in tdmm");
-		tdp.mode = TDiagramPanel.NORMAL;
-		tdp.stopAddingConnector(true);
-		//tdp.getGUI().setEditMode();
-		//tdp.repaint();
-	}
-
-	public void setCursor(int info) {
-		switch(info) {
-		case 1:
-			tdp.setCursor(Cursor.getPredefinedCursor(Cursor.NW_RESIZE_CURSOR));
-			break;
-		case 2:
-			tdp.setCursor(Cursor.getPredefinedCursor(Cursor.N_RESIZE_CURSOR));
-			break;
-		case 3:
-			tdp.setCursor(Cursor.getPredefinedCursor(Cursor.NE_RESIZE_CURSOR));
-			break;
-		case 4:
-			tdp.setCursor(Cursor.getPredefinedCursor(Cursor.W_RESIZE_CURSOR));
-			break;
-		case 5:
-			tdp.setCursor(Cursor.getPredefinedCursor(Cursor.E_RESIZE_CURSOR));
-			break;
-		case 6:
-			tdp.setCursor(Cursor.getPredefinedCursor(Cursor.SW_RESIZE_CURSOR));
-			break;
-		case 7:
-			tdp.setCursor(Cursor.getPredefinedCursor(Cursor.S_RESIZE_CURSOR));
-			break;
-		case 8:
-			tdp.setCursor(Cursor.getPredefinedCursor(Cursor.SE_RESIZE_CURSOR));
-			break;
-		default:
-			tdp.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));
-		}
-	}
-
-	public void mouseMoved(MouseEvent e) {
-		tdp.currentX = e.getX();
-		tdp.currentY = e.getY();
-
-		int selected = tdp.getGUI().getTypeButtonSelected();
-
-		if (tdp.mode == TDiagramPanel.SELECTED_COMPONENTS) {
-			if (tdp.showSelectionZone(e.getX(), e.getY())) {
-				tdp.repaint();
-			}
-		}
-
-		if ((tdp.mode == TDiagramPanel.NORMAL) && (selected == TGComponentManager.EDIT) && (selectedComponent == false)){
-			byte info = tdp.highlightComponent(e.getX(), e.getY());
-			if (info > 1) {
-				tgc = tdp.componentPointed();
-				if (tgc.isUserResizable()) {
-					setCursor(tgc.getResizeZone(e.getX(), e.getY()));
-				} else {
-					tdp.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));
-				}
-			} else {
-				tdp.setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));
-			}
-			if ((info == 1) || (info == 3)) {
-				tdp.updateJavaCode();
-				tdp.repaint();
-			}
-		}
-
-		if ((selected == TGComponentManager.CONNECTOR) && (tdp.mode == TDiagramPanel.NORMAL)) { // is connectingPointShow selected
-			if(tdp.highlightOutAndFreeConnectingPoint(e.getX(), e.getY(), tdp.getMGUI().getIdButtonSelected())) {
-				tdp.repaint();
-			}
-		}
-
-		if ((selected == TGComponentManager.CONNECTOR) && (tdp.mode == TDiagramPanel.ADDING_CONNECTOR)) {
-			tdp.highlightInAndFreeConnectingPoint(e.getX(), e.getY(), tdp.getMGUI().getIdButtonSelected());
-			tdp.setAddingTGConnector(e.getX(), e.getY());
-			tdp.repaint();
-		}
-
-	}
-
-	public void mouseDragged(MouseEvent e) {
-		if (tdp.mode == TDiagramPanel.MOVING_COMPONENT) {
-			tgc.setMoveCd(e.getX() - decx, e.getY() - decy);
-			tdp.repaint();
-			return;
-		}
-
-		if (tdp.mode == TDiagramPanel.RESIZING_COMPONENT) {
-			applyResize(e.getX(), e.getY());
-			tdp.repaint();
-			return;
-		}
-
-		if (tdp.mode == TDiagramPanel.MOVING_SELECTED_COMPONENTS) {
-			tdp.moveSelected(e.getX() - decx, e.getY() - decy);
-			tdp.repaint();
-			return;
-		}
-
-
-		if (tdp.mode == TDiagramPanel.SELECTING_COMPONENTS) {
-			tdp.updateSelectingComponents(e.getX(), e.getY());
-			tdp.repaint();
-			return;
-		}
-
-		if (tdp.mode == TDiagramPanel.MOVE_CONNECTOR_SEGMENT) {
-			cde[0].setCd(cde[0].getX() + e.getX() - decx, cde[0].getY() + e.getY() - decy);
-			cde[1].setCd(cde[1].getX() + e.getX() - decx, cde[1].getY() + e.getY() - decy);
-			decx = e.getX();
-			decy = e.getY();
-			tdp.repaint();
-		}
-
-		if (tdp.mode == TDiagramPanel.MOVE_CONNECTOR_HEAD) {
-			tdp.setMovingHead(e.getX(), e.getY(), cde[1].getX(), cde[1].getY());
-			if (isOut) {
-				tdp.highlightOutAndFreeConnectingPoint(e.getX(), e.getY(), tgc.getType());
-			} else {
-				tdp.highlightInAndFreeConnectingPoint(e.getX(), e.getY(), tgc.getType());
-			}
-			tdp.repaint();
-		}
-	}
-
-	public void applyResize(int choicex, int choicey) {
-		Point px, py;
-		switch(resizeInfo) {
-		case 1:
-			px = tgc.modifyInX(choicex);
-			py = tgc.modifyInY(choicey);
-			tgc.setUserResize(px.x, py.x, px.y, py.y);
-			break;
-		case 2:
-			py = tgc.modifyInY(choicey);
-			tgc.setUserResize(cdx, py.x, cdwidth, py.y);
-			break;
-		case 3:
-			px = tgc.modifyInWidth(choicex);
-			py = tgc.modifyInY(choicey);
-			tgc.setUserResize(px.x, py.x, px.y, py.y);
-			break;
-		case 4:
-			//System.out.println("Modify in X");
-			px = tgc.modifyInX(choicex);
-			tgc.setUserResize(px.x, cdy, px.y, cdheight);
-			break;
-		case 5:
-			px = tgc.modifyInWidth(choicex);
-			tgc.setUserResize(px.x, cdy, px.y, cdheight);
-			break;
-		case 6:
-			px = tgc.modifyInX(choicex);
-			py = tgc.modifyInHeight(choicey);
-			tgc.setUserResize(px.x, py.x, px.y, py.y);
-			break;
-		case 7:
-			py = tgc.modifyInHeight(choicey);
-			tgc.setUserResize(cdx, py.x, cdwidth, py.y);
-			break;
-		case 8:
-			px = tgc.modifyInWidth(choicex);
-			py = tgc.modifyInHeight(choicey);
-			tgc.setUserResize(px.x, py.x, px.y, py.y);
-			break;
-		default:
-		}
-
-
-	}
-	//author: huytruong
-	public ArrayList getSelectComponents(){
-		return selectedMultiComponents	;
-	}
+                }
+            }
+        }else
+            selectedMultiComponents.clear();
+        // clear the list when release Ctrl and click
+
+
+
+
+        //--
+
+
+        if (tdp.mode == TDiagramPanel.SELECTED_COMPONENTS) {
+            if ((e.getClickCount() == 1) && (e.getButton() == MouseEvent.BUTTON1)){
+                tdp.mode = TDiagramPanel.NORMAL;
+                tdp.mgui.setMode(MainGUI.CUTCOPY_KO);
+                tdp.mgui.setMode(MainGUI.EXPORT_LIB_KO);
+                tdp.unselectSelectedComponents();
+                tdp.repaint();
+            }
+            return;
+        }
+
+        int selected = tdp.getGUI().getTypeButtonSelected();
+
+        if ((selected == TGComponentManager.EDIT) && (e.getClickCount() == 2) && (e.getButton() == MouseEvent.BUTTON1)){
+            //System.out.println("Double click");
+            tgc = tdp.componentPointed();
+            if (tgc != null) {
+                //System.out.println("Component pointed: " + tgc.getName());
+                if (tgc.doubleClick(tdp.getGUI().getFrame(), e.getX(), e.getY())) {
+                    //System.out.println("Change4");
+                    tdp.getGUI().changeMade(tdp, TDiagramPanel.CHANGE_VALUE_COMPONENT);
+                    tdp.repaint();
+                }
+            }
+        }
+
+        if ((selected == TGComponentManager.CONNECTOR) && (e.getClickCount() == 1) && (e.getButton() == MouseEvent.BUTTON1)) {
+            // if there is a close connecting point
+            if (tdp.mode == TDiagramPanel.ADDING_CONNECTOR) {
+                TGConnectingPoint p1;
+                p1 = tdp.getSelectedTGConnectingPoint();
+                if (p1 != null) {
+                    if ((p1 != cp) && (p1.isIn())) {
+                        tdp.finishAddingConnector(p1);
+                        tdp.mode = TDiagramPanel.NORMAL;
+                        tdp.getGUI().setEditMode();
+                        //System.out.println("Change3");
+                        tdp.getGUI().changeMade(tdp, TDiagramPanel.NEW_CONNECTOR);
+                        tdp.repaint();
+                    }
+                } else {
+                    // no close connecting point -> adding point
+                    tdp.addPointToTGConnector(e.getX(), e.getY());
+                    tdp.repaint();
+                }
+            }
+        }
+
+        if ((selected == TGComponentManager.CONNECTOR) && (e.getClickCount() == 2) && (e.getButton() == MouseEvent.BUTTON1)) {
+            if (tdp.mode == TDiagramPanel.ADDING_CONNECTOR) {
+                tdp.mode = TDiagramPanel.NORMAL;
+                tdp.stopAddingConnector(true);
+                tdp.getGUI().setEditMode();
+                tdp.repaint();
+            } else {
+                tdp.getGUI().setEditMode();
+                tdp.repaint();
+            }
+        }
+
+        if ((selected == TGComponentManager.COMPONENT) &&(e.getButton() == MouseEvent.BUTTON1)){
+            TGComponent comp = tdp.addComponent(e.getX(), e.getY(), true);
+            tdp.autoConnect(comp);
+            tdp.getGUI().setEditMode();
+            //System.out.println("change1");
+            tdp.getGUI().changeMade(tdp, TDiagramPanel.NEW_COMPONENT);
+            tdp.repaint();
+        }
+
+    }
+
+
+    public void stopAddingConnector() {
+        //TraceManager.addDev("Stop Adding connector in tdmm");
+        tdp.mode = TDiagramPanel.NORMAL;
+        tdp.stopAddingConnector(true);
+        //tdp.getGUI().setEditMode();
+        //tdp.repaint();
+    }
+
+    public void setCursor(int info) {
+        switch(info) {
+        case 1:
+            tdp.setCursor(Cursor.getPredefinedCursor(Cursor.NW_RESIZE_CURSOR));
+            break;
+        case 2:
+            tdp.setCursor(Cursor.getPredefinedCursor(Cursor.N_RESIZE_CURSOR));
+            break;
+        case 3:
+            tdp.setCursor(Cursor.getPredefinedCursor(Cursor.NE_RESIZE_CURSOR));
+            break;
+        case 4:
+            tdp.setCursor(Cursor.getPredefinedCursor(Cursor.W_RESIZE_CURSOR));
+            break;
+        case 5:
+            tdp.setCursor(Cursor.getPredefinedCursor(Cursor.E_RESIZE_CURSOR));
+            break;
+        case 6:
+            tdp.setCursor(Cursor.getPredefinedCursor(Cursor.SW_RESIZE_CURSOR));
+            break;
+        case 7:
+            tdp.setCursor(Cursor.getPredefinedCursor(Cursor.S_RESIZE_CURSOR));
+            break;
+        case 8:
+            tdp.setCursor(Cursor.getPredefinedCursor(Cursor.SE_RESIZE_CURSOR));
+            break;
+        default:
+            tdp.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));
+        }
+    }
+
+    public void mouseMoved(MouseEvent e) {
+        tdp.currentX = e.getX();
+        tdp.currentY = e.getY();
+
+        int selected = tdp.getGUI().getTypeButtonSelected();
+
+        if (tdp.mode == TDiagramPanel.SELECTED_COMPONENTS) {
+            if (tdp.showSelectionZone(e.getX(), e.getY())) {
+                tdp.repaint();
+            }
+        }
+
+        if ((tdp.mode == TDiagramPanel.NORMAL) && (selected == TGComponentManager.EDIT) && (selectedComponent == false)){
+            byte info = tdp.highlightComponent(e.getX(), e.getY());
+            if (info > 1) {
+                tgc = tdp.componentPointed();
+                if (tgc.isUserResizable()) {
+                    setCursor(tgc.getResizeZone(e.getX(), e.getY()));
+                } else {
+                    tdp.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));
+                }
+            } else {
+                tdp.setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));
+            }
+            if ((info == 1) || (info == 3)) {
+                tdp.updateJavaCode();
+                tdp.repaint();
+            }
+        }
+
+        if ((selected == TGComponentManager.CONNECTOR) && (tdp.mode == TDiagramPanel.NORMAL)) { // is connectingPointShow selected
+            if(tdp.highlightOutAndFreeConnectingPoint(e.getX(), e.getY(), tdp.getMGUI().getIdButtonSelected())) {
+                tdp.repaint();
+            }
+        }
+
+        if ((selected == TGComponentManager.CONNECTOR) && (tdp.mode == TDiagramPanel.ADDING_CONNECTOR)) {
+            tdp.highlightInAndFreeConnectingPoint(e.getX(), e.getY(), tdp.getMGUI().getIdButtonSelected());
+            tdp.setAddingTGConnector(e.getX(), e.getY());
+            tdp.repaint();
+        }
+
+    }
+
+    public void mouseDragged(MouseEvent e) {
+        if (tdp.mode == TDiagramPanel.MOVING_COMPONENT) {
+            tgc.setMoveCd(e.getX() - decx, e.getY() - decy);
+            tdp.repaint();
+            return;
+        }
+
+        if (tdp.mode == TDiagramPanel.RESIZING_COMPONENT) {
+            applyResize(e.getX(), e.getY());
+            tdp.repaint();
+            return;
+        }
+
+        if (tdp.mode == TDiagramPanel.MOVING_SELECTED_COMPONENTS) {
+            tdp.moveSelected(e.getX() - decx, e.getY() - decy);
+            tdp.repaint();
+            return;
+        }
+
+
+        if (tdp.mode == TDiagramPanel.SELECTING_COMPONENTS) {
+            tdp.updateSelectingComponents(e.getX(), e.getY());
+            tdp.repaint();
+            return;
+        }
+
+        if (tdp.mode == TDiagramPanel.MOVE_CONNECTOR_SEGMENT) {
+            cde[0].setCd(cde[0].getX() + e.getX() - decx, cde[0].getY() + e.getY() - decy);
+            cde[1].setCd(cde[1].getX() + e.getX() - decx, cde[1].getY() + e.getY() - decy);
+            decx = e.getX();
+            decy = e.getY();
+            tdp.repaint();
+        }
+
+        if (tdp.mode == TDiagramPanel.MOVE_CONNECTOR_HEAD) {
+            tdp.setMovingHead(e.getX(), e.getY(), cde[1].getX(), cde[1].getY());
+            if (isOut) {
+                tdp.highlightOutAndFreeConnectingPoint(e.getX(), e.getY(), tgc.getType());
+            } else {
+                tdp.highlightInAndFreeConnectingPoint(e.getX(), e.getY(), tgc.getType());
+            }
+            tdp.repaint();
+        }
+    }
+
+    public void applyResize(int choicex, int choicey) {
+        Point px, py;
+        switch(resizeInfo) {
+        case 1:
+            px = tgc.modifyInX(choicex);
+            py = tgc.modifyInY(choicey);
+            tgc.setUserResize(px.x, py.x, px.y, py.y);
+            break;
+        case 2:
+            py = tgc.modifyInY(choicey);
+            tgc.setUserResize(cdx, py.x, cdwidth, py.y);
+            break;
+        case 3:
+            px = tgc.modifyInWidth(choicex);
+            py = tgc.modifyInY(choicey);
+            tgc.setUserResize(px.x, py.x, px.y, py.y);
+            break;
+        case 4:
+            //System.out.println("Modify in X");
+            px = tgc.modifyInX(choicex);
+            tgc.setUserResize(px.x, cdy, px.y, cdheight);
+            break;
+        case 5:
+            px = tgc.modifyInWidth(choicex);
+            tgc.setUserResize(px.x, cdy, px.y, cdheight);
+            break;
+        case 6:
+            px = tgc.modifyInX(choicex);
+            py = tgc.modifyInHeight(choicey);
+            tgc.setUserResize(px.x, py.x, px.y, py.y);
+            break;
+        case 7:
+            py = tgc.modifyInHeight(choicey);
+            tgc.setUserResize(cdx, py.x, cdwidth, py.y);
+            break;
+        case 8:
+            px = tgc.modifyInWidth(choicex);
+            py = tgc.modifyInHeight(choicey);
+            tgc.setUserResize(px.x, py.x, px.y, py.y);
+            break;
+        default:
+        }
+
+
+    }
+    //author: huytruong
+    public ArrayList getSelectComponents(){
+        return selectedMultiComponents  ;
+    }
     public void clearSelectComponents(){
         this.selectedMultiComponents.clear();
     }
-	public void removeSelectedComponentFromList(){
-		this.selectedMultiComponents.clear();
-	}
+    public void removeSelectedComponentFromList(){
+        this.selectedMultiComponents.clear();
+    }
 }
diff --git a/src/ui/TDiagramPanel.java b/src/ui/TDiagramPanel.java
index 83ba58f8a1f8b96883fc1d913920ce0e099f3ee6..1cdec507ef0308e2a16f061a2dc0fe4f357f3771 100755
--- a/src/ui/TDiagramPanel.java
+++ b/src/ui/TDiagramPanel.java
@@ -144,8 +144,8 @@ public abstract class TDiagramPanel extends JPanel implements GenericTree {
 
     //drawing area
     private int minLimit = 10;
-    private int maxX = 1400;
-    private int maxY = 900;
+    private int maxX = 2500;
+    private int maxY = 1500;
     private final int limit = 10;
 
     private final int minimumXSize = 900;
@@ -1126,8 +1126,10 @@ public abstract class TDiagramPanel extends JPanel implements GenericTree {
 
     // Multi-select
     public void setSelectingComponents(int x, int y) {
-        x = Math.min(Math.max(minLimit, x), maxX);
-        y = Math.min(Math.max(minLimit, y), maxY);
+	x = Math.min(Math.max( (int)(Math.floor(minLimit*zoom)), x), (int)(Math.ceil(maxX*zoom)));
+	y = Math.min(Math.max( (int)(Math.floor(minLimit*zoom)), y), (int)(Math.ceil(maxY*zoom)));
+		     //        x = Math.min(Math.max(minLimit*zoom, x), maxX*zoom);
+		     //y = Math.min(Math.max(minLimit*zoom, y), maxY*zoom);
         initSelectX = x;
         currentSelectX = x;
         initSelectY = y;
@@ -1135,8 +1137,10 @@ public abstract class TDiagramPanel extends JPanel implements GenericTree {
     }
 
     public void updateSelectingComponents(int x, int y) {
-        x = Math.min(Math.max(minLimit, x), maxX);
-        y = Math.min(Math.max(minLimit, y), maxY);
+	x = Math.min(Math.max( (int)(Math.floor(minLimit*zoom)), x), (int)(Math.ceil(maxX*zoom)));
+	y = Math.min(Math.max( (int)(Math.floor(minLimit*zoom)), y), (int)(Math.ceil(maxY*zoom)));
+	//x = Math.min(Math.max(minLimit, x), maxX);
+        //y = Math.min(Math.max(minLimit, y), maxY);
         currentSelectX = x;
         currentSelectY = y;
 
@@ -2211,19 +2215,21 @@ public abstract class TDiagramPanel extends JPanel implements GenericTree {
     }
 
     public int getMaxX() {
-        return maxX;
+        //return maxX;
+	return (int)(Math.ceil(maxX * zoom));
     }
 
     public int getMinX() {
-        return minLimit;
+        return (int)(Math.floor(minLimit*zoom));
     }
 
     public int getMinY() {
-        return minLimit;
+	return (int)(Math.floor(minLimit*zoom));
+        //return minLimit*zoom;
     }
 
     public int getMaxY() {
-        return maxY;
+        return (int)(Math.ceil(maxY * zoom));
     }
 
     public void setMaxX(int x) {
diff --git a/src/ui/TGCNote.java b/src/ui/TGCNote.java
index c51bcdf50915dc784bb1d1e56845f0a07546e483..751b9f1f4324ebdd7c0bfc5ef2f51264daeddf83 100755
--- a/src/ui/TGCNote.java
+++ b/src/ui/TGCNote.java
@@ -82,10 +82,24 @@ public class TGCNote extends TGCScalableWithoutInternalComponent {
         minWidth = 20;
         minHeight = 10;
 
-	oldScaleFactor = tdp.getZoom();
+        oldScaleFactor = tdp.getZoom();
 
         nbConnectingPoint = 0;
-        addTGConnectingPointsComment();
+        //addTGConnectingPointsComment();
+	int len = makeTGConnectingPointsComment(16);
+	int decw = 0;
+	int dech = 0;
+	for(int i=0; i<2; i++) {
+	    connectingPoint[len] = new TGConnectingPointComment(this, 0, 0, true, true, 0.0 + decw, 0.0 + dech);
+	    connectingPoint[len + 1 ] = new TGConnectingPointComment(this, 0, 0, true, true, 0.5 + decw, 0.0 + dech);
+	    connectingPoint[len + 2 ] = new TGConnectingPointComment(this, 0, 0, true, true, 1.0 + decw, 0.0 + dech);
+	    connectingPoint[len + 3 ] = new TGConnectingPointComment(this, 0, 0, true, true, 0.0 + decw, 0.5 + dech);
+	    connectingPoint[len + 4 ] = new TGConnectingPointComment(this, 0, 0, true, true, 1.0 + decw, 0.5 + dech);
+	    connectingPoint[len + 5 ] = new TGConnectingPointComment(this, 0, 0, true, true, 0.0 + decw, 1.0 + dech);
+	    connectingPoint[len + 6 ] = new TGConnectingPointComment(this, 0, 0, true, true, 0.5 + decw, 1.0 + dech);
+	    connectingPoint[len + 7 ] = new TGConnectingPointComment(this, 0, 0, true, true, 0.9 + decw, 1.0 + dech);
+	    len += 8;
+	}
 
         moveable = true;
         editable = true;
@@ -103,17 +117,17 @@ public class TGCNote extends TGCScalableWithoutInternalComponent {
 
 
     public void internalDrawing(Graphics g) {
-	Font f = g.getFont();
+        Font f = g.getFont();
         Font fold = f;
 
-	/*if (!tdp.isScaled()) {
-            graphics = g;
-	    }*/
+        /*if (!tdp.isScaled()) {
+          graphics = g;
+          }*/
 
-	if (((rescaled) && (!tdp.isScaled())) || myFont == null) {
+        if (((rescaled) && (!tdp.isScaled())) || myFont == null) {
             currentFontSize = tdp.getFontSize();
             //System.out.println("Rescaled, font size = " + currentFontSize + " height=" + height);
-	    //            myFont = f.deriveFont((float)currentFontSize);
+            //            myFont = f.deriveFont((float)currentFontSize);
             //myFontB = myFont.deriveFont(Font.BOLD);
 
             if (rescaled) {
@@ -125,22 +139,22 @@ public class TGCNote extends TGCScalableWithoutInternalComponent {
             makeValue();
         }
 
-	int h  = g.getFontMetrics().getHeight();
+        int h  = g.getFontMetrics().getHeight();
         Color c = g.getColor();
 
-	int desiredWidth = minWidth;
+        int desiredWidth = minWidth;
         for(int i=0; i< values.length; i++) {
             desiredWidth = Math.max(desiredWidth, g.getFontMetrics().stringWidth(values[i]) + marginX);
         }
 
         int desiredHeight = (values.length * currentFontSize) + textY + 1;
 
-	//TraceManager.addDev("resize: " + desiredWidth + "," + desiredHeight);
+        //TraceManager.addDev("resize: " + desiredWidth + "," + desiredHeight);
 
         if ((desiredWidth != width) || (desiredHeight != height)) {
-	    resize(desiredWidth, desiredHeight);
+            resize(desiredWidth, desiredHeight);
         }
-	
+
         g.drawLine(x, y, x+width, y);
         g.drawLine(x, y, x, y+height);
         g.drawLine(x, y+height, x+width-limit, y+height);
@@ -163,7 +177,7 @@ public class TGCNote extends TGCScalableWithoutInternalComponent {
 
         g.setColor(Color.black);
         for (int i = 0; i<values.length; i++) {
-	    //TraceManager.addDev("x+texX=" + (x + textX) + " y+textY=" + y + textY + i* h + ": " + values[i]);
+            //TraceManager.addDev("x+texX=" + (x + textX) + " y+textY=" + y + textY + i* h + ": " + values[i]);
             g.drawString(values[i], x + textX, y + textY + (i+1)* currentFontSize);
         }
         g.setColor(c);
@@ -176,20 +190,20 @@ public class TGCNote extends TGCScalableWithoutInternalComponent {
     }
 
     /*public void checkMySize() {
-        if (myg == null) {
-            return;
-        }
-        int desiredWidth = minWidth;
-        for(int i=0; i< values.length; i++) {
-            desiredWidth = Math.max(desiredWidth, myg.getFontMetrics().stringWidth(values[i]) + marginX);
-        }
+      if (myg == null) {
+      return;
+      }
+      int desiredWidth = minWidth;
+      for(int i=0; i< values.length; i++) {
+      desiredWidth = Math.max(desiredWidth, myg.getFontMetrics().stringWidth(values[i]) + marginX);
+      }
 
-        int desiredHeight = values.length * myg.getFontMetrics().getHeight() + marginY;
+      int desiredHeight = values.length * myg.getFontMetrics().getHeight() + marginY;
 
-        if ((desiredWidth != width) || (desiredHeight != height)) {
-            resize(desiredWidth, desiredHeight);
-        }
-	}*/
+      if ((desiredWidth != width) || (desiredHeight != height)) {
+      resize(desiredWidth, desiredHeight);
+      }
+      }*/
 
     public boolean editOndoubleClick(JFrame frame) {
         String oldValue = value;
@@ -225,11 +239,11 @@ public class TGCNote extends TGCScalableWithoutInternalComponent {
 
     public void rescale(double scaleFactor){
         /*dlineHeight = (lineHeight + dlineHeight) / oldScaleFactor * scaleFactor;
-        lineHeight = (int)(dlineHeight);
-        dlineHeight = dlineHeight - lineHeight;
-        minHeight = lineHeight;*/
+          lineHeight = (int)(dlineHeight);
+          dlineHeight = dlineHeight - lineHeight;
+          minHeight = lineHeight;*/
 
-	values = null;
+        values = null;
 
         super.rescale(scaleFactor);
     }