diff --git a/modeling/DIPLODOCUS/ZigBeeTutorial.xml b/modeling/DIPLODOCUS/ZigBeeTutorial.xml
index 89506d469b82e32341bff01a185b701bbdf6e387..104e56bd60e703794f94755bcc141b72f28a1754 100644
--- a/modeling/DIPLODOCUS/ZigBeeTutorial.xml
+++ b/modeling/DIPLODOCUS/ZigBeeTutorial.xml
@@ -29,11 +29,11 @@
 </COMPONENT>
 <SUBCOMPONENT type="6005" id="6" >
 <father id="13" num="0" />
-<cdparam x="605" y="140" />
+<cdparam x="605" y="170" />
 <sizeparam width="10" height="10" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="605" maxX="605" minY="140" maxY="140" />
-<infoparam name="value " value="DMA_transfer" />
+<cdrectangleparam minX="605" maxX="605" minY="170" maxY="170" />
+<infoparam name="value " value="CP_Memory_Copy" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="6005" id="7" >
 <father id="13" num="1" />
@@ -45,11 +45,11 @@
 </SUBCOMPONENT>
 <SUBCOMPONENT type="6005" id="8" >
 <father id="13" num="2" />
-<cdparam x="605" y="170" />
+<cdparam x="605" y="140" />
 <sizeparam width="10" height="10" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="605" maxX="605" minY="170" maxY="170" />
-<infoparam name="value " value="CP_Memory_Copy" />
+<cdrectangleparam minX="605" maxX="605" minY="140" maxY="140" />
+<infoparam name="value " value="DMA_transfer" />
 </SUBCOMPONENT>
 
 <COMPONENT type="6002" id="23" >
@@ -67,11 +67,11 @@
 </COMPONENT>
 <SUBCOMPONENT type="6005" id="14" >
 <father id="23" num="0" />
-<cdparam x="605" y="340" />
+<cdparam x="605" y="370" />
 <sizeparam width="10" height="10" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="605" maxX="605" minY="340" maxY="340" />
-<infoparam name="value " value="Mapping_0" />
+<cdrectangleparam minX="605" maxX="605" minY="370" maxY="370" />
+<infoparam name="value " value="Mapping_2" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="6005" id="15" >
 <father id="23" num="1" />
@@ -83,11 +83,11 @@
 </SUBCOMPONENT>
 <SUBCOMPONENT type="6005" id="16" >
 <father id="23" num="2" />
-<cdparam x="605" y="370" />
+<cdparam x="605" y="340" />
 <sizeparam width="10" height="10" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="605" maxX="605" minY="370" maxY="370" />
-<infoparam name="value " value="Mapping_2" />
+<cdrectangleparam minX="605" maxX="605" minY="340" maxY="340" />
+<infoparam name="value " value="Mapping_0" />
 </SUBCOMPONENT>
 
 <COMPONENT type="6001" id="29" >
@@ -171,8 +171,8 @@
 <cdparam x="100" y="100" />
 <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="1165" y="522" id="323" />
-<P2  x="1299" y="409" id="282" />
+<P1  x="1165" y="522" id="334" />
+<P2  x="1299" y="409" id="299" />
 <Point x="1232" y="522" />
 <Point x="1232" y="409" />
 <AutomaticDrawing  data="true" />
@@ -197,8 +197,8 @@
 <cdparam x="180" y="17" />
 <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="1174" y="261" id="362" />
-<P2  x="1299" y="353" id="286" />
+<P1  x="1174" y="261" id="411" />
+<P2  x="1299" y="353" id="295" />
 <Point x="1226" y="261" />
 <Point x="1226" y="353" />
 <AutomaticDrawing  data="true" />
@@ -223,8 +223,8 @@
 <cdparam x="1492" y="534" />
 <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="859" y="402" id="241" />
-<P2  x="1001" y="499" id="321" />
+<P1  x="859" y="402" id="262" />
+<P2  x="1001" y="499" id="336" />
 <Point x="897" y="402" />
 <Point x="897" y="499" />
 <AutomaticDrawing  data="true" />
@@ -249,8 +249,8 @@
 <cdparam x="1492" y="484" />
 <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="859" y="370" id="245" />
-<P2  x="959" y="261" id="388" />
+<P1  x="859" y="370" id="258" />
+<P2  x="959" y="261" id="377" />
 <Point x="901" y="370" />
 <Point x="901" y="261" />
 <AutomaticDrawing  data="true" />
@@ -275,7 +275,7 @@
 <cdparam x="179" y="42" />
 <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="1169" y="392" id="338" />
+<P1  x="1169" y="392" id="319" />
 <P2  x="1259" y="256" id="101" />
 <Point x="1259" y="392" />
 <AutomaticDrawing  data="true" />
@@ -292,48 +292,48 @@
 <cdparam x="947" y="492" />
 <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="380" id="206" />
-<P2  x="699" y="380" id="247" />
+<P1  x="648" y="380" id="217" />
+<P2  x="699" y="380" id="256" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="57" >
 <cdparam x="947" y="344" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="Connector between ports" />
-<P1  x="653" y="254" id="221" />
-<P2  x="702" y="254" id="262" />
+<P1  x="653" y="254" id="202" />
+<P2  x="702" y="254" id="241" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="58" >
 <cdparam x="663" y="568" />
 <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="427" y="379" id="167" />
-<P2  x="468" y="379" id="204" />
+<P1  x="427" y="379" id="178" />
+<P2  x="468" y="379" id="219" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="59" >
 <cdparam x="662" y="426" />
 <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="426" y="263" id="182" />
-<P2  x="471" y="263" id="219" />
+<P1  x="426" y="263" id="163" />
+<P2  x="471" y="263" id="204" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="60" >
 <cdparam x="264" y="567" />
 <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="213" y="374" id="130" />
-<P2  x="247" y="374" id="165" />
+<P1  x="213" y="374" id="141" />
+<P2  x="247" y="374" id="180" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="61" >
 <cdparam x="267" y="416" />
 <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="175" y="251" id="143" />
-<P2  x="244" y="251" id="180" />
+<P1  x="175" y="251" id="128" />
+<P2  x="244" y="251" id="165" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="62" >
@@ -341,14 +341,14 @@
 <sizeparam width="10" height="10" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="Connector between ports" />
 <P1  x="1276" y="248" id="96" />
-<P2  x="1299" y="249" id="299" />
+<P2  x="1299" y="249" id="282" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="64" >
 <cdparam x="179" y="10" />
 <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="1170" y="123" id="377" />
+<P1  x="1170" y="123" id="396" />
 <P2  x="1259" y="239" id="99" />
 <Point x="1259" y="123" />
 <AutomaticDrawing  data="true" />
@@ -366,7 +366,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="919" y="245" id="117" />
-<P2  x="999" y="387" id="336" />
+<P2  x="999" y="387" id="321" />
 <Point x="919" y="387" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR><SUBCOMPONENT type="-1" id="65" >
@@ -382,8 +382,8 @@
 <cdparam x="1578" y="147" />
 <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="985" y="261" id="393" />
-<P2  x="1005" y="261" id="360" />
+<P1  x="985" y="261" id="382" />
+<P2  x="1005" y="261" id="413" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="69" >
@@ -391,7 +391,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="919" y="228" id="115" />
-<P2  x="959" y="122" id="407" />
+<P2  x="959" y="122" id="358" />
 <Point x="919" y="122" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR><SUBCOMPONENT type="-1" id="68" >
@@ -407,15 +407,15 @@
 <cdparam x="1578" y="4" />
 <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="985" y="122" id="412" />
-<P2  x="1000" y="122" id="375" />
+<P1  x="985" y="122" id="363" />
+<P2  x="1000" y="122" id="398" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="71" >
 <cdparam x="1486" y="336" />
 <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="862" y="237" id="260" />
+<P1  x="862" y="237" id="243" />
 <P2  x="903" y="237" id="112" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
@@ -423,56 +423,56 @@
 <cdparam x="66" y="66" />
 <sizeparam width="10" height="10" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="Connector between ports" />
-<P1  x="1433" y="317" id="284" />
-<P2  x="1339" y="303" id="297" />
+<P1  x="1433" y="317" id="297" />
+<P2  x="1339" y="303" id="284" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="73" >
 <cdparam x="176" y="96" />
 <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="1129" y="180" id="358" />
-<P2  x="1050" y="170" id="373" />
+<P1  x="1129" y="180" id="415" />
+<P2  x="1050" y="170" id="400" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="74" >
 <cdparam x="176" y="506" />
 <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="1134" y="457" id="319" />
-<P2  x="1041" y="449" id="334" />
+<P1  x="1134" y="457" id="338" />
+<P2  x="1041" y="449" id="323" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="75" >
 <cdparam x="947" y="395" />
 <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="827" y="315" id="243" />
-<P2  x="751" y="305" id="258" />
+<P1  x="827" y="315" id="260" />
+<P2  x="751" y="305" id="245" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="76" >
 <cdparam x="946" y="499" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="Connector between ports" />
-<P1  x="613" y="321" id="202" />
-<P2  x="525" y="306" id="217" />
+<P1  x="613" y="321" id="221" />
+<P2  x="525" y="306" id="206" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="77" >
 <cdparam x="632" y="498" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="Connector between ports" />
-<P1  x="386" y="312" id="163" />
-<P2  x="290" y="296" id="178" />
+<P1  x="386" y="312" id="182" />
+<P2  x="290" y="296" id="167" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="78" >
 <cdparam x="217" y="495" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="Connector between ports" />
-<P1  x="126" y="313" id="128" />
-<P2  x="61" y="295" id="141" />
+<P1  x="126" y="313" id="143" />
+<P2  x="61" y="295" id="130" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <COMPONENT type="301" id="95" >
@@ -575,11 +575,11 @@ processing tasks
 </COMPONENT>
 <SUBCOMPONENT type="1202" id="140" >
 <father id="162" num="0" />
-<cdparam x="20" y="326" />
-<sizeparam width="180" height="74" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="26" y="201" />
+<sizeparam width="136" height="81" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="33" minY="0" maxY="187" />
-<infoparam name="Primitive component" value="F_Source" />
+<cdrectangleparam minX="0" maxX="77" minY="0" maxY="180" />
+<infoparam name="Primitive component" value="X_Source" />
 <TGConnectingPoint num="0" id="132" />
 <TGConnectingPoint num="1" id="133" />
 <TGConnectingPoint num="2" id="134" />
@@ -589,20 +589,20 @@ processing tasks
 <TGConnectingPoint num="6" id="138" />
 <TGConnectingPoint num="7" id="139" />
 <extraparam>
-<Attribute access="2" id="size" value="127" type="0" typeOther="" />
+<Attribute access="2" id="size" value="" type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1203" id="129" >
 <father id="140" num="0" />
-<cdparam x="113" y="313" />
+<cdparam x="149" y="238" />
 <sizeparam width="26" height="26" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="167" minY="-13" maxY="61" />
-<infoparam name="Primitive port" value="Request source_req" />
+<cdrectangleparam minX="-13" maxX="123" minY="-13" maxY="68" />
+<infoparam name="Primitive port" value="Channel Source_ch_out" />
 <TGConnectingPoint num="0" id="128" />
 <extraparam>
-<Prop commName="source_req" commType="2" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
-<Type type="1" typeOther="" />
+<Prop commName="Source_ch_out" commType="0" origin="true" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="true" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="uint_16" associatedEvent="Source_evt_out" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -611,14 +611,14 @@ processing tasks
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1203" id="131" >
 <father id="140" num="1" />
-<cdparam x="187" y="361" />
+<cdparam x="48" y="269" />
 <sizeparam width="26" height="26" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="167" minY="-13" maxY="61" />
-<infoparam name="Primitive port" value="Event Source_evt_out" />
+<cdrectangleparam minX="-13" maxX="123" minY="-13" maxY="68" />
+<infoparam name="Primitive port" value="Request source_req" />
 <TGConnectingPoint num="0" id="130" />
 <extraparam>
-<Prop commName="Source_evt_out" commType="1" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Prop commName="source_req" commType="2" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
 <Type type="1" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -628,11 +628,11 @@ processing tasks
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1202" id="153" >
 <father id="162" num="1" />
-<cdparam x="26" y="201" />
-<sizeparam width="136" height="81" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="20" y="326" />
+<sizeparam width="180" height="74" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="77" minY="0" maxY="180" />
-<infoparam name="Primitive component" value="X_Source" />
+<cdrectangleparam minX="0" maxX="33" minY="0" maxY="187" />
+<infoparam name="Primitive component" value="F_Source" />
 <TGConnectingPoint num="0" id="145" />
 <TGConnectingPoint num="1" id="146" />
 <TGConnectingPoint num="2" id="147" />
@@ -642,19 +642,19 @@ processing tasks
 <TGConnectingPoint num="6" id="151" />
 <TGConnectingPoint num="7" id="152" />
 <extraparam>
-<Attribute access="2" id="size" value="" type="0" typeOther="" />
+<Attribute access="2" id="size" value="127" type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1203" id="142" >
 <father id="153" num="0" />
-<cdparam x="48" y="269" />
+<cdparam x="187" y="361" />
 <sizeparam width="26" height="26" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="123" minY="-13" maxY="68" />
-<infoparam name="Primitive port" value="Request source_req" />
+<cdrectangleparam minX="-13" maxX="167" minY="-13" maxY="61" />
+<infoparam name="Primitive port" value="Event Source_evt_out" />
 <TGConnectingPoint num="0" id="141" />
 <extraparam>
-<Prop commName="source_req" commType="2" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Prop commName="Source_evt_out" commType="1" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
 <Type type="1" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -664,15 +664,15 @@ processing tasks
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1203" id="144" >
 <father id="153" num="1" />
-<cdparam x="149" y="238" />
+<cdparam x="113" y="313" />
 <sizeparam width="26" height="26" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="123" minY="-13" maxY="68" />
-<infoparam name="Primitive port" value="Channel Source_ch_out" />
+<cdrectangleparam minX="-13" maxX="167" minY="-13" maxY="61" />
+<infoparam name="Primitive port" value="Request source_req" />
 <TGConnectingPoint num="0" id="143" />
 <extraparam>
-<Prop commName="Source_ch_out" commType="0" origin="true" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="true" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="uint_16" associatedEvent="Source_evt_out" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
-<Type type="0" typeOther="" />
+<Prop commName="source_req" commType="2" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Type type="1" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -700,11 +700,11 @@ processing tasks
 </COMPONENT>
 <SUBCOMPONENT type="1202" id="177" >
 <father id="201" num="0" />
-<cdparam x="260" y="325" />
-<sizeparam width="154" height="81" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="257" y="201" />
+<sizeparam width="156" height="82" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="68" minY="0" maxY="179" />
-<infoparam name="Primitive component" value="F_Symbol2ChipSeq" />
+<cdrectangleparam minX="0" maxX="66" minY="0" maxY="178" />
+<infoparam name="Primitive component" value="X_Symbol2ChipSeq" />
 <TGConnectingPoint num="0" id="169" />
 <TGConnectingPoint num="1" id="170" />
 <TGConnectingPoint num="2" id="171" />
@@ -719,15 +719,15 @@ processing tasks
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1203" id="164" >
 <father id="177" num="0" />
-<cdparam x="373" y="312" />
+<cdparam x="400" y="250" />
 <sizeparam width="26" height="26" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="141" minY="-13" maxY="68" />
-<infoparam name="Primitive port" value="Request bit2chip_req" />
+<cdrectangleparam minX="-13" maxX="143" minY="-13" maxY="69" />
+<infoparam name="Primitive port" value="Channel symbol2ChipSeq_ch_out" />
 <TGConnectingPoint num="0" id="163" />
 <extraparam>
-<Prop commName="bit2chip_req" commType="2" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
-<Type type="1" typeOther="" />
+<Prop commName="symbol2ChipSeq_ch_out" commType="0" origin="true" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="uint_16" associatedEvent="bit2chip_evt_out" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -736,15 +736,15 @@ processing tasks
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1203" id="166" >
 <father id="177" num="1" />
-<cdparam x="247" y="361" />
+<cdparam x="244" y="238" />
 <sizeparam width="26" height="26" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="141" minY="-13" maxY="68" />
-<infoparam name="Primitive port" value="Event bit2symbol_evt_in" />
+<cdrectangleparam minX="-13" maxX="143" minY="-13" maxY="69" />
+<infoparam name="Primitive port" value="Channel symbol2ChipSeq_ch_in" />
 <TGConnectingPoint num="0" id="165" />
 <extraparam>
-<Prop commName="bit2symbol_evt_in" commType="1" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="uint_16" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
-<Type type="1" typeOther="" />
+<Prop commName="symbol2ChipSeq_ch_in" commType="0" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="uint_16" associatedEvent="bit2chip_evt_in" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -753,14 +753,14 @@ processing tasks
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1203" id="168" >
 <father id="177" num="2" />
-<cdparam x="401" y="366" />
+<cdparam x="277" y="270" />
 <sizeparam width="26" height="26" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="141" minY="-13" maxY="68" />
-<infoparam name="Primitive port" value="Event bit2symbol_evt_out" />
+<cdrectangleparam minX="-13" maxX="143" minY="-13" maxY="69" />
+<infoparam name="Primitive port" value="Request bit2chip_req" />
 <TGConnectingPoint num="0" id="167" />
 <extraparam>
-<Prop commName="bit2symbol_evt_out" commType="1" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="uint_16" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Prop commName="bit2chip_req" commType="2" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
 <Type type="1" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -770,11 +770,11 @@ processing tasks
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1202" id="192" >
 <father id="201" num="1" />
-<cdparam x="257" y="201" />
-<sizeparam width="156" height="82" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="260" y="325" />
+<sizeparam width="154" height="81" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="66" minY="0" maxY="178" />
-<infoparam name="Primitive component" value="X_Symbol2ChipSeq" />
+<cdrectangleparam minX="0" maxX="68" minY="0" maxY="179" />
+<infoparam name="Primitive component" value="F_Symbol2ChipSeq" />
 <TGConnectingPoint num="0" id="184" />
 <TGConnectingPoint num="1" id="185" />
 <TGConnectingPoint num="2" id="186" />
@@ -789,14 +789,14 @@ processing tasks
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1203" id="179" >
 <father id="192" num="0" />
-<cdparam x="277" y="270" />
+<cdparam x="401" y="366" />
 <sizeparam width="26" height="26" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="143" minY="-13" maxY="69" />
-<infoparam name="Primitive port" value="Request bit2chip_req" />
+<cdrectangleparam minX="-13" maxX="141" minY="-13" maxY="68" />
+<infoparam name="Primitive port" value="Event bit2symbol_evt_out" />
 <TGConnectingPoint num="0" id="178" />
 <extraparam>
-<Prop commName="bit2chip_req" commType="2" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Prop commName="bit2symbol_evt_out" commType="1" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="uint_16" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
 <Type type="1" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -806,15 +806,15 @@ processing tasks
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1203" id="181" >
 <father id="192" num="1" />
-<cdparam x="244" y="238" />
+<cdparam x="247" y="361" />
 <sizeparam width="26" height="26" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="143" minY="-13" maxY="69" />
-<infoparam name="Primitive port" value="Channel symbol2ChipSeq_ch_in" />
+<cdrectangleparam minX="-13" maxX="141" minY="-13" maxY="68" />
+<infoparam name="Primitive port" value="Event bit2symbol_evt_in" />
 <TGConnectingPoint num="0" id="180" />
 <extraparam>
-<Prop commName="symbol2ChipSeq_ch_in" commType="0" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="uint_16" associatedEvent="bit2chip_evt_in" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
-<Type type="0" typeOther="" />
+<Prop commName="bit2symbol_evt_in" commType="1" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="uint_16" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Type type="1" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -823,15 +823,15 @@ processing tasks
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1203" id="183" >
 <father id="192" num="2" />
-<cdparam x="400" y="250" />
+<cdparam x="373" y="312" />
 <sizeparam width="26" height="26" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="143" minY="-13" maxY="69" />
-<infoparam name="Primitive port" value="Channel symbol2ChipSeq_ch_out" />
+<cdrectangleparam minX="-13" maxX="141" minY="-13" maxY="68" />
+<infoparam name="Primitive port" value="Request bit2chip_req" />
 <TGConnectingPoint num="0" id="182" />
 <extraparam>
-<Prop commName="symbol2ChipSeq_ch_out" commType="0" origin="true" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="uint_16" associatedEvent="bit2chip_evt_out" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
-<Type type="0" typeOther="" />
+<Prop commName="bit2chip_req" commType="2" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Type type="1" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -859,11 +859,11 @@ processing tasks
 </COMPONENT>
 <SUBCOMPONENT type="1202" id="216" >
 <father id="240" num="0" />
-<cdparam x="481" y="334" />
-<sizeparam width="154" height="74" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="484" y="208" />
+<sizeparam width="156" height="85" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="60" minY="0" maxY="186" />
-<infoparam name="Primitive component" value="F_Chip2Octet" />
+<cdrectangleparam minX="0" maxX="58" minY="0" maxY="175" />
+<infoparam name="Primitive component" value="X_Chip2Octet" />
 <TGConnectingPoint num="0" id="208" />
 <TGConnectingPoint num="1" id="209" />
 <TGConnectingPoint num="2" id="210" />
@@ -878,15 +878,15 @@ processing tasks
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1203" id="203" >
 <father id="216" num="0" />
-<cdparam x="600" y="321" />
+<cdparam x="627" y="241" />
 <sizeparam width="26" height="26" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="141" minY="-13" maxY="61" />
-<infoparam name="Primitive port" value="Request chip2octet_req" />
+<cdrectangleparam minX="-13" maxX="143" minY="-13" maxY="72" />
+<infoparam name="Primitive port" value="Channel chip2octet_ch_out" />
 <TGConnectingPoint num="0" id="202" />
 <extraparam>
-<Prop commName="chip2octet_req" commType="2" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
-<Type type="1" typeOther="" />
+<Prop commName="chip2octet_ch_out" commType="0" origin="true" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="uint_16" associatedEvent="chip2octet_evt_out" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -895,15 +895,15 @@ processing tasks
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1203" id="205" >
 <father id="216" num="1" />
-<cdparam x="468" y="366" />
+<cdparam x="471" y="250" />
 <sizeparam width="26" height="26" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="141" minY="-13" maxY="61" />
-<infoparam name="Primitive port" value="Event chip2octet_evt_in" />
+<cdrectangleparam minX="-13" maxX="143" minY="-13" maxY="72" />
+<infoparam name="Primitive port" value="Channel chip2octet_ch_in" />
 <TGConnectingPoint num="0" id="204" />
 <extraparam>
-<Prop commName="chip2octet_evt_in" commType="1" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
-<Type type="1" typeOther="" />
+<Prop commName="chip2octet_ch_in" commType="0" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="uint_16" associatedEvent="chip2octet_evt_in" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -912,14 +912,14 @@ processing tasks
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1203" id="207" >
 <father id="216" num="2" />
-<cdparam x="622" y="367" />
+<cdparam x="512" y="280" />
 <sizeparam width="26" height="26" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="141" minY="-13" maxY="61" />
-<infoparam name="Primitive port" value="Event chip2octet_evt_out" />
+<cdrectangleparam minX="-13" maxX="143" minY="-13" maxY="72" />
+<infoparam name="Primitive port" value="Request chip2octet_req" />
 <TGConnectingPoint num="0" id="206" />
 <extraparam>
-<Prop commName="chip2octet_evt_out" commType="1" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="uint_16" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Prop commName="chip2octet_req" commType="2" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
 <Type type="1" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -929,11 +929,11 @@ processing tasks
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1202" id="231" >
 <father id="240" num="1" />
-<cdparam x="484" y="208" />
-<sizeparam width="156" height="85" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="481" y="334" />
+<sizeparam width="154" height="74" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="58" minY="0" maxY="175" />
-<infoparam name="Primitive component" value="X_Chip2Octet" />
+<cdrectangleparam minX="0" maxX="60" minY="0" maxY="186" />
+<infoparam name="Primitive component" value="F_Chip2Octet" />
 <TGConnectingPoint num="0" id="223" />
 <TGConnectingPoint num="1" id="224" />
 <TGConnectingPoint num="2" id="225" />
@@ -948,14 +948,14 @@ processing tasks
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1203" id="218" >
 <father id="231" num="0" />
-<cdparam x="512" y="280" />
+<cdparam x="622" y="367" />
 <sizeparam width="26" height="26" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="143" minY="-13" maxY="72" />
-<infoparam name="Primitive port" value="Request chip2octet_req" />
+<cdrectangleparam minX="-13" maxX="141" minY="-13" maxY="61" />
+<infoparam name="Primitive port" value="Event chip2octet_evt_out" />
 <TGConnectingPoint num="0" id="217" />
 <extraparam>
-<Prop commName="chip2octet_req" commType="2" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Prop commName="chip2octet_evt_out" commType="1" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="uint_16" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
 <Type type="1" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -965,15 +965,15 @@ processing tasks
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1203" id="220" >
 <father id="231" num="1" />
-<cdparam x="471" y="250" />
+<cdparam x="468" y="366" />
 <sizeparam width="26" height="26" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="143" minY="-13" maxY="72" />
-<infoparam name="Primitive port" value="Channel chip2octet_ch_in" />
+<cdrectangleparam minX="-13" maxX="141" minY="-13" maxY="61" />
+<infoparam name="Primitive port" value="Event chip2octet_evt_in" />
 <TGConnectingPoint num="0" id="219" />
 <extraparam>
-<Prop commName="chip2octet_ch_in" commType="0" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="uint_16" associatedEvent="chip2octet_evt_in" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
-<Type type="0" typeOther="" />
+<Prop commName="chip2octet_evt_in" commType="1" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Type type="1" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -982,15 +982,15 @@ processing tasks
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1203" id="222" >
 <father id="231" num="2" />
-<cdparam x="627" y="241" />
+<cdparam x="600" y="321" />
 <sizeparam width="26" height="26" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="143" minY="-13" maxY="72" />
-<infoparam name="Primitive port" value="Channel chip2octet_ch_out" />
+<cdrectangleparam minX="-13" maxX="141" minY="-13" maxY="61" />
+<infoparam name="Primitive port" value="Request chip2octet_req" />
 <TGConnectingPoint num="0" id="221" />
 <extraparam>
-<Prop commName="chip2octet_ch_out" commType="0" origin="true" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="uint_16" associatedEvent="chip2octet_evt_out" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
-<Type type="0" typeOther="" />
+<Prop commName="chip2octet_req" commType="2" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Type type="1" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -1016,36 +1016,36 @@ processing tasks
 <info hiddeni="false" />
 </extraparam>
 </COMPONENT>
-<SUBCOMPONENT type="1202" id="257" >
+<SUBCOMPONENT type="1202" id="255" >
 <father id="281" num="0" />
-<cdparam x="712" y="328" />
-<sizeparam width="134" height="92" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="715" y="196" />
+<sizeparam width="134" height="96" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="56" minY="0" maxY="188" />
-<infoparam name="Primitive component" value="F_CWL" />
-<TGConnectingPoint num="0" id="249" />
-<TGConnectingPoint num="1" id="250" />
-<TGConnectingPoint num="2" id="251" />
-<TGConnectingPoint num="3" id="252" />
-<TGConnectingPoint num="4" id="253" />
-<TGConnectingPoint num="5" id="254" />
-<TGConnectingPoint num="6" id="255" />
-<TGConnectingPoint num="7" id="256" />
+<cdrectangleparam minX="0" maxX="56" minY="0" maxY="184" />
+<infoparam name="Primitive component" value="X_CWL" />
+<TGConnectingPoint num="0" id="247" />
+<TGConnectingPoint num="1" id="248" />
+<TGConnectingPoint num="2" id="249" />
+<TGConnectingPoint num="3" id="250" />
+<TGConnectingPoint num="4" id="251" />
+<TGConnectingPoint num="5" id="252" />
+<TGConnectingPoint num="6" id="253" />
+<TGConnectingPoint num="7" id="254" />
 <extraparam>
 <Attribute access="2" id="size" value="" type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1203" id="242" >
-<father id="257" num="0" />
-<cdparam x="833" y="389" />
+<father id="255" num="0" />
+<cdparam x="702" y="241" />
 <sizeparam width="26" height="26" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="121" minY="-13" maxY="79" />
-<infoparam name="Primitive port" value="Event cwl_evt_out_1" />
+<cdrectangleparam minX="-13" maxX="121" minY="-13" maxY="83" />
+<infoparam name="Primitive port" value="Channel cwl_ch_in" />
 <TGConnectingPoint num="0" id="241" />
 <extraparam>
-<Prop commName="cwl_evt_out_1" commType="1" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="uint_16" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
-<Type type="1" typeOther="" />
+<Prop commName="cwl_ch_in" commType="0" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="uint_16" associatedEvent="cwl_evt_in" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -1053,16 +1053,16 @@ processing tasks
 </extraparam>
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1203" id="244" >
-<father id="257" num="1" />
-<cdparam x="814" y="315" />
+<father id="255" num="1" />
+<cdparam x="836" y="224" />
 <sizeparam width="26" height="26" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="121" minY="-13" maxY="79" />
-<infoparam name="Primitive port" value="Request cwl_req" />
+<cdrectangleparam minX="-13" maxX="121" minY="-13" maxY="83" />
+<infoparam name="Primitive port" value="Channel cwl_ch_out" />
 <TGConnectingPoint num="0" id="243" />
 <extraparam>
-<Prop commName="cwl_req" commType="2" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
-<Type type="1" typeOther="" />
+<Prop commName="cwl_ch_out" commType="0" origin="true" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="uint_16" associatedEvent="cwl_evt_out" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -1070,32 +1070,15 @@ processing tasks
 </extraparam>
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1203" id="246" >
-<father id="257" num="2" />
-<cdparam x="833" y="357" />
+<father id="255" num="2" />
+<cdparam x="738" y="279" />
 <sizeparam width="26" height="26" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="121" minY="-13" maxY="79" />
-<infoparam name="Primitive port" value="Event cwl_evt_out" />
+<cdrectangleparam minX="-13" maxX="121" minY="-13" maxY="83" />
+<infoparam name="Primitive port" value="Request cwl_req" />
 <TGConnectingPoint num="0" id="245" />
 <extraparam>
-<Prop commName="cwl_evt_out" commType="1" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="uint_16" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
-<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="248" >
-<father id="257" num="3" />
-<cdparam x="699" y="367" />
-<sizeparam width="26" height="26" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<hidden value="false" />
-<cdrectangleparam minX="-13" maxX="121" minY="-13" maxY="79" />
-<infoparam name="Primitive port" value="Event cwl_evt_in" />
-<TGConnectingPoint num="0" id="247" />
-<extraparam>
-<Prop commName="cwl_evt_in" commType="1" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Prop commName="cwl_req" commType="2" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
 <Type type="1" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -1105,11 +1088,11 @@ processing tasks
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1202" id="272" >
 <father id="281" num="1" />
-<cdparam x="715" y="196" />
-<sizeparam width="134" height="96" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="712" y="328" />
+<sizeparam width="134" height="92" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="56" minY="0" maxY="184" />
-<infoparam name="Primitive component" value="X_CWL" />
+<cdrectangleparam minX="0" maxX="56" minY="0" maxY="188" />
+<infoparam name="Primitive component" value="F_CWL" />
 <TGConnectingPoint num="0" id="264" />
 <TGConnectingPoint num="1" id="265" />
 <TGConnectingPoint num="2" id="266" />
@@ -1122,16 +1105,33 @@ processing tasks
 <Attribute access="2" id="size" value="" type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="259" >
+<SUBCOMPONENT type="1203" id="257" >
 <father id="272" num="0" />
-<cdparam x="738" y="279" />
+<cdparam x="699" y="367" />
 <sizeparam width="26" height="26" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="121" minY="-13" maxY="83" />
-<infoparam name="Primitive port" value="Request cwl_req" />
+<cdrectangleparam minX="-13" maxX="121" minY="-13" maxY="79" />
+<infoparam name="Primitive port" value="Event cwl_evt_in" />
+<TGConnectingPoint num="0" id="256" />
+<extraparam>
+<Prop commName="cwl_evt_in" commType="1" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Type type="1" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+</extraparam>
+</SUBCOMPONENT>
+<SUBCOMPONENT type="1203" id="259" >
+<father id="272" num="1" />
+<cdparam x="833" y="357" />
+<sizeparam width="26" height="26" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="-13" maxX="121" minY="-13" maxY="79" />
+<infoparam name="Primitive port" value="Event cwl_evt_out" />
 <TGConnectingPoint num="0" id="258" />
 <extraparam>
-<Prop commName="cwl_req" commType="2" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Prop commName="cwl_evt_out" commType="1" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="uint_16" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
 <Type type="1" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -1140,16 +1140,16 @@ processing tasks
 </extraparam>
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1203" id="261" >
-<father id="272" num="1" />
-<cdparam x="836" y="224" />
+<father id="272" num="2" />
+<cdparam x="814" y="315" />
 <sizeparam width="26" height="26" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="121" minY="-13" maxY="83" />
-<infoparam name="Primitive port" value="Channel cwl_ch_out" />
+<cdrectangleparam minX="-13" maxX="121" minY="-13" maxY="79" />
+<infoparam name="Primitive port" value="Request cwl_req" />
 <TGConnectingPoint num="0" id="260" />
 <extraparam>
-<Prop commName="cwl_ch_out" commType="0" origin="true" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="uint_16" associatedEvent="cwl_evt_out" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
-<Type type="0" typeOther="" />
+<Prop commName="cwl_req" commType="2" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Type type="1" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -1157,16 +1157,16 @@ processing tasks
 </extraparam>
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1203" id="263" >
-<father id="272" num="2" />
-<cdparam x="702" y="241" />
+<father id="272" num="3" />
+<cdparam x="833" y="389" />
 <sizeparam width="26" height="26" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="121" minY="-13" maxY="83" />
-<infoparam name="Primitive port" value="Channel cwl_ch_in" />
+<cdrectangleparam minX="-13" maxX="121" minY="-13" maxY="79" />
+<infoparam name="Primitive port" value="Event cwl_evt_out_1" />
 <TGConnectingPoint num="0" id="262" />
 <extraparam>
-<Prop commName="cwl_ch_in" commType="0" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="uint_16" associatedEvent="cwl_evt_in" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
-<Type type="0" typeOther="" />
+<Prop commName="cwl_evt_out_1" commType="1" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="uint_16" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Type type="1" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -1192,37 +1192,36 @@ processing tasks
 <info hiddeni="false" />
 </extraparam>
 </COMPONENT>
-<SUBCOMPONENT type="1202" id="296" >
+<SUBCOMPONENT type="1202" id="294" >
 <father id="318" num="0" />
-<cdparam x="1312" y="330" />
-<sizeparam width="153" height="94" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="1312" y="204" />
+<sizeparam width="148" height="86" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="55" minY="0" maxY="188" />
-<infoparam name="Primitive component" value="F_Sink" />
-<TGConnectingPoint num="0" id="288" />
-<TGConnectingPoint num="1" id="289" />
-<TGConnectingPoint num="2" id="290" />
-<TGConnectingPoint num="3" id="291" />
-<TGConnectingPoint num="4" id="292" />
-<TGConnectingPoint num="5" id="293" />
-<TGConnectingPoint num="6" id="294" />
-<TGConnectingPoint num="7" id="295" />
+<cdrectangleparam minX="0" maxX="60" minY="0" maxY="196" />
+<infoparam name="Primitive component" value="X_Sink" />
+<TGConnectingPoint num="0" id="286" />
+<TGConnectingPoint num="1" id="287" />
+<TGConnectingPoint num="2" id="288" />
+<TGConnectingPoint num="3" id="289" />
+<TGConnectingPoint num="4" id="290" />
+<TGConnectingPoint num="5" id="291" />
+<TGConnectingPoint num="6" id="292" />
+<TGConnectingPoint num="7" id="293" />
 <extraparam>
 <Attribute access="2" id="size" value="" type="0" typeOther="" />
-<Attribute access="2" id="size_1" value="" type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1203" id="283" >
-<father id="296" num="0" />
-<cdparam x="1299" y="396" />
+<father id="294" num="0" />
+<cdparam x="1299" y="236" />
 <sizeparam width="26" height="26" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="140" minY="-13" maxY="81" />
-<infoparam name="Primitive port" value="Event sink_evt_in_1" />
+<cdrectangleparam minX="-13" maxX="135" minY="-13" maxY="73" />
+<infoparam name="Primitive port" value="Channel sink_ch_in" />
 <TGConnectingPoint num="0" id="282" />
 <extraparam>
-<Prop commName="sink_evt_in_1" commType="1" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="uint_16" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
-<Type type="1" typeOther="" />
+<Prop commName="sink_ch_in" commType="0" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="true" lossPercentage="0" maxNbOfLoss="0" dataFlowType="uint_16" associatedEvent="sink_evt_in" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -1230,32 +1229,15 @@ processing tasks
 </extraparam>
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1203" id="285" >
-<father id="296" num="1" />
-<cdparam x="1420" y="317" />
+<father id="294" num="1" />
+<cdparam x="1326" y="277" />
 <sizeparam width="26" height="26" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="140" minY="-13" maxY="81" />
+<cdrectangleparam minX="-13" maxX="135" minY="-13" maxY="73" />
 <infoparam name="Primitive port" value="Request sink_req" />
 <TGConnectingPoint num="0" id="284" />
 <extraparam>
-<Prop commName="sink_req" commType="2" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
-<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="287" >
-<father id="296" num="2" />
-<cdparam x="1299" y="340" />
-<sizeparam width="26" height="26" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<hidden value="false" />
-<cdrectangleparam minX="-13" maxX="140" minY="-13" maxY="81" />
-<infoparam name="Primitive port" value="Event sink_evt_in" />
-<TGConnectingPoint num="0" id="286" />
-<extraparam>
-<Prop commName="sink_evt_in" commType="1" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="uint_16" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Prop commName="sink_req" commType="2" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
 <Type type="1" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -1265,11 +1247,11 @@ processing tasks
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1202" id="309" >
 <father id="318" num="1" />
-<cdparam x="1312" y="204" />
-<sizeparam width="148" height="86" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="1312" y="330" />
+<sizeparam width="153" height="94" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="60" minY="0" maxY="196" />
-<infoparam name="Primitive component" value="X_Sink" />
+<cdrectangleparam minX="0" maxX="55" minY="0" maxY="188" />
+<infoparam name="Primitive component" value="F_Sink" />
 <TGConnectingPoint num="0" id="301" />
 <TGConnectingPoint num="1" id="302" />
 <TGConnectingPoint num="2" id="303" />
@@ -1280,18 +1262,36 @@ processing tasks
 <TGConnectingPoint num="7" id="308" />
 <extraparam>
 <Attribute access="2" id="size" value="" type="0" typeOther="" />
+<Attribute access="2" id="size_1" value="" type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="298" >
+<SUBCOMPONENT type="1203" id="296" >
 <father id="309" num="0" />
-<cdparam x="1326" y="277" />
+<cdparam x="1299" y="340" />
 <sizeparam width="26" height="26" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="135" minY="-13" maxY="73" />
+<cdrectangleparam minX="-13" maxX="140" minY="-13" maxY="81" />
+<infoparam name="Primitive port" value="Event sink_evt_in" />
+<TGConnectingPoint num="0" id="295" />
+<extraparam>
+<Prop commName="sink_evt_in" commType="1" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="uint_16" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Type type="1" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+</extraparam>
+</SUBCOMPONENT>
+<SUBCOMPONENT type="1203" id="298" >
+<father id="309" num="1" />
+<cdparam x="1420" y="317" />
+<sizeparam width="26" height="26" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="-13" maxX="140" minY="-13" maxY="81" />
 <infoparam name="Primitive port" value="Request sink_req" />
 <TGConnectingPoint num="0" id="297" />
 <extraparam>
-<Prop commName="sink_req" commType="2" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Prop commName="sink_req" commType="2" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
 <Type type="1" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -1300,16 +1300,16 @@ processing tasks
 </extraparam>
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1203" id="300" >
-<father id="309" num="1" />
-<cdparam x="1299" y="236" />
+<father id="309" num="2" />
+<cdparam x="1299" y="396" />
 <sizeparam width="26" height="26" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="135" minY="-13" maxY="73" />
-<infoparam name="Primitive port" value="Channel sink_ch_in" />
+<cdrectangleparam minX="-13" maxX="140" minY="-13" maxY="81" />
+<infoparam name="Primitive port" value="Event sink_evt_in_1" />
 <TGConnectingPoint num="0" id="299" />
 <extraparam>
-<Prop commName="sink_ch_in" commType="0" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="true" lossPercentage="0" maxNbOfLoss="0" dataFlowType="uint_16" associatedEvent="sink_evt_in" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
-<Type type="0" typeOther="" />
+<Prop commName="sink_evt_in_1" commType="1" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="uint_16" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Type type="1" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -1337,11 +1337,11 @@ processing tasks
 </COMPONENT>
 <SUBCOMPONENT type="1202" id="333" >
 <father id="357" num="0" />
-<cdparam x="1014" y="470" />
-<sizeparam width="138" height="82" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="1012" y="352" />
+<sizeparam width="144" height="84" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="63" minY="0" maxY="178" />
-<infoparam name="Primitive component" value="F_CWP_Q" />
+<cdrectangleparam minX="0" maxX="57" minY="0" maxY="176" />
+<infoparam name="Primitive component" value="X_CWP_Q" />
 <TGConnectingPoint num="0" id="325" />
 <TGConnectingPoint num="1" id="326" />
 <TGConnectingPoint num="2" id="327" />
@@ -1356,15 +1356,15 @@ processing tasks
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1203" id="320" >
 <father id="333" num="0" />
-<cdparam x="1121" y="457" />
+<cdparam x="1143" y="379" />
 <sizeparam width="26" height="26" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="125" minY="-13" maxY="69" />
-<infoparam name="Primitive port" value="Request cwpQ_req" />
+<cdrectangleparam minX="-13" maxX="131" minY="-13" maxY="71" />
+<infoparam name="Primitive port" value="Channel cwpQ_ch_out" />
 <TGConnectingPoint num="0" id="319" />
 <extraparam>
-<Prop commName="cwpQ_req" commType="2" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
-<Type type="1" typeOther="" />
+<Prop commName="cwpQ_ch_out" commType="0" origin="true" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="uint_16" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -1373,15 +1373,15 @@ processing tasks
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1203" id="322" >
 <father id="333" num="1" />
-<cdparam x="1001" y="486" />
+<cdparam x="999" y="374" />
 <sizeparam width="26" height="26" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="125" minY="-13" maxY="69" />
-<infoparam name="Primitive port" value="Event cwpQ_evt_in" />
+<cdrectangleparam minX="-13" maxX="131" minY="-13" maxY="71" />
+<infoparam name="Primitive port" value="Channel cwpQ_ch_in" />
 <TGConnectingPoint num="0" id="321" />
 <extraparam>
-<Prop commName="cwpQ_evt_in" commType="1" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
-<Type type="1" typeOther="" />
+<Prop commName="cwpQ_ch_in" commType="0" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="uint_16" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -1390,14 +1390,14 @@ processing tasks
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1203" id="324" >
 <father id="333" num="2" />
-<cdparam x="1139" y="509" />
+<cdparam x="1028" y="423" />
 <sizeparam width="26" height="26" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="125" minY="-13" maxY="69" />
-<infoparam name="Primitive port" value="Event cwpQ_evt_out" />
+<cdrectangleparam minX="-13" maxX="131" minY="-13" maxY="71" />
+<infoparam name="Primitive port" value="Request cwpQ_req" />
 <TGConnectingPoint num="0" id="323" />
 <extraparam>
-<Prop commName="cwpQ_evt_out" commType="1" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Prop commName="cwpQ_req" commType="2" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
 <Type type="1" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -1407,11 +1407,11 @@ processing tasks
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1202" id="348" >
 <father id="357" num="1" />
-<cdparam x="1012" y="352" />
-<sizeparam width="144" height="84" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="1014" y="470" />
+<sizeparam width="138" height="82" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="57" minY="0" maxY="176" />
-<infoparam name="Primitive component" value="X_CWP_Q" />
+<cdrectangleparam minX="0" maxX="63" minY="0" maxY="178" />
+<infoparam name="Primitive component" value="F_CWP_Q" />
 <TGConnectingPoint num="0" id="340" />
 <TGConnectingPoint num="1" id="341" />
 <TGConnectingPoint num="2" id="342" />
@@ -1426,14 +1426,14 @@ processing tasks
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1203" id="335" >
 <father id="348" num="0" />
-<cdparam x="1028" y="423" />
+<cdparam x="1139" y="509" />
 <sizeparam width="26" height="26" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="131" minY="-13" maxY="71" />
-<infoparam name="Primitive port" value="Request cwpQ_req" />
+<cdrectangleparam minX="-13" maxX="125" minY="-13" maxY="69" />
+<infoparam name="Primitive port" value="Event cwpQ_evt_out" />
 <TGConnectingPoint num="0" id="334" />
 <extraparam>
-<Prop commName="cwpQ_req" commType="2" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Prop commName="cwpQ_evt_out" commType="1" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
 <Type type="1" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -1443,15 +1443,15 @@ processing tasks
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1203" id="337" >
 <father id="348" num="1" />
-<cdparam x="999" y="374" />
+<cdparam x="1001" y="486" />
 <sizeparam width="26" height="26" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="131" minY="-13" maxY="71" />
-<infoparam name="Primitive port" value="Channel cwpQ_ch_in" />
+<cdrectangleparam minX="-13" maxX="125" minY="-13" maxY="69" />
+<infoparam name="Primitive port" value="Event cwpQ_evt_in" />
 <TGConnectingPoint num="0" id="336" />
 <extraparam>
-<Prop commName="cwpQ_ch_in" commType="0" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="uint_16" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
-<Type type="0" typeOther="" />
+<Prop commName="cwpQ_evt_in" commType="1" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Type type="1" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -1460,15 +1460,15 @@ processing tasks
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1203" id="339" >
 <father id="348" num="2" />
-<cdparam x="1143" y="379" />
+<cdparam x="1121" y="457" />
 <sizeparam width="26" height="26" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="131" minY="-13" maxY="71" />
-<infoparam name="Primitive port" value="Channel cwpQ_ch_out" />
+<cdrectangleparam minX="-13" maxX="125" minY="-13" maxY="69" />
+<infoparam name="Primitive port" value="Request cwpQ_req" />
 <TGConnectingPoint num="0" id="338" />
 <extraparam>
-<Prop commName="cwpQ_ch_out" commType="0" origin="true" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="uint_16" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
-<Type type="0" typeOther="" />
+<Prop commName="cwpQ_req" commType="2" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Type type="1" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -1494,69 +1494,121 @@ processing tasks
 <info hiddeni="false" />
 </extraparam>
 </COMPONENT>
-<SUBCOMPONENT type="1202" id="372" >
+<SUBCOMPONENT type="1201" id="376" >
 <father id="434" num="0" />
-<cdparam x="1018" y="193" />
-<sizeparam width="143" height="86" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="959" y="109" />
+<sizeparam width="26" height="26" minWidth="10" minHeight="10" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="71" minY="0" maxY="194" />
-<infoparam name="Primitive component" value="F_CWP_I" />
-<TGConnectingPoint num="0" id="364" />
-<TGConnectingPoint num="1" id="365" />
-<TGConnectingPoint num="2" id="366" />
-<TGConnectingPoint num="3" id="367" />
-<TGConnectingPoint num="4" id="368" />
-<TGConnectingPoint num="5" id="369" />
-<TGConnectingPoint num="6" id="370" />
-<TGConnectingPoint num="7" id="371" />
+<cdrectangleparam minX="-13" maxX="201" minY="-13" maxY="267" />
+<infoparam name="Composite port" value="" />
+<TGConnectingPoint num="0" id="358" />
+<TGConnectingPoint num="1" id="359" />
+<TGConnectingPoint num="2" id="360" />
+<TGConnectingPoint num="3" id="361" />
+<TGConnectingPoint num="4" id="362" />
+<TGConnectingPoint num="5" id="363" />
+<TGConnectingPoint num="6" id="364" />
+<TGConnectingPoint num="7" id="365" />
+<TGConnectingPoint num="8" id="366" />
+<TGConnectingPoint num="9" id="367" />
+<TGConnectingPoint num="10" id="368" />
+<TGConnectingPoint num="11" id="369" />
+<TGConnectingPoint num="12" id="370" />
+<TGConnectingPoint num="13" id="371" />
+<TGConnectingPoint num="14" id="372" />
+<TGConnectingPoint num="15" id="373" />
+<TGConnectingPoint num="16" id="374" />
+<TGConnectingPoint num="17" id="375" />
+</SUBCOMPONENT>
+<SUBCOMPONENT type="1201" id="395" >
+<father id="434" num="1" />
+<cdparam x="959" y="248" />
+<sizeparam width="26" height="26" minWidth="10" minHeight="10" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="-13" maxX="201" minY="-13" maxY="267" />
+<infoparam name="Composite port" value="" />
+<TGConnectingPoint num="0" id="377" />
+<TGConnectingPoint num="1" id="378" />
+<TGConnectingPoint num="2" id="379" />
+<TGConnectingPoint num="3" id="380" />
+<TGConnectingPoint num="4" id="381" />
+<TGConnectingPoint num="5" id="382" />
+<TGConnectingPoint num="6" id="383" />
+<TGConnectingPoint num="7" id="384" />
+<TGConnectingPoint num="8" id="385" />
+<TGConnectingPoint num="9" id="386" />
+<TGConnectingPoint num="10" id="387" />
+<TGConnectingPoint num="11" id="388" />
+<TGConnectingPoint num="12" id="389" />
+<TGConnectingPoint num="13" id="390" />
+<TGConnectingPoint num="14" id="391" />
+<TGConnectingPoint num="15" id="392" />
+<TGConnectingPoint num="16" id="393" />
+<TGConnectingPoint num="17" id="394" />
+</SUBCOMPONENT>
+<SUBCOMPONENT type="1202" id="410" >
+<father id="434" num="2" />
+<cdparam x="1013" y="61" />
+<sizeparam width="144" height="96" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="0" maxX="70" minY="0" maxY="184" />
+<infoparam name="Primitive component" value="X_CWP_I" />
+<TGConnectingPoint num="0" id="402" />
+<TGConnectingPoint num="1" id="403" />
+<TGConnectingPoint num="2" id="404" />
+<TGConnectingPoint num="3" id="405" />
+<TGConnectingPoint num="4" id="406" />
+<TGConnectingPoint num="5" id="407" />
+<TGConnectingPoint num="6" id="408" />
+<TGConnectingPoint num="7" id="409" />
 <extraparam>
 <Attribute access="2" id="size" value="" type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="359" >
-<father id="372" num="0" />
-<cdparam x="1116" y="180" />
+<SUBCOMPONENT type="1203" id="397" >
+<father id="410" num="0" />
+<cdparam x="1144" y="110" />
 <sizeparam width="26" height="26" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="130" minY="-13" maxY="73" />
-<infoparam name="Primitive port" value="Request cwpI_req" />
-<TGConnectingPoint num="0" id="358" />
+<cdrectangleparam minX="-13" maxX="131" minY="-13" maxY="83" />
+<infoparam name="Primitive port" value="Channel cwpI_ch_out" />
+<TGConnectingPoint num="0" id="396" />
 <extraparam>
-<Prop commName="cwpI_req" commType="2" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
-<Type type="1" typeOther="" />
+<Prop commName="cwpI_ch_out" commType="0" origin="true" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="uint_16" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="361" >
-<father id="372" num="1" />
-<cdparam x="1005" y="248" />
+<SUBCOMPONENT type="1203" id="399" >
+<father id="410" num="1" />
+<cdparam x="1000" y="109" />
 <sizeparam width="26" height="26" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="130" minY="-13" maxY="73" />
-<infoparam name="Primitive port" value="Event cwpI_evt_in" />
-<TGConnectingPoint num="0" id="360" />
+<cdrectangleparam minX="-13" maxX="131" minY="-13" maxY="83" />
+<infoparam name="Primitive port" value="Channel cwpI_ch_in" />
+<TGConnectingPoint num="0" id="398" />
 <extraparam>
-<Prop commName="cwpI_evt_in" commType="1" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
-<Type type="1" typeOther="" />
+<Prop commName="cwpI_ch_in" commType="0" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="uint_16" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="363" >
-<father id="372" num="2" />
-<cdparam x="1148" y="248" />
+<SUBCOMPONENT type="1203" id="401" >
+<father id="410" num="2" />
+<cdparam x="1037" y="144" />
 <sizeparam width="26" height="26" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="130" minY="-13" maxY="73" />
-<infoparam name="Primitive port" value="Event cwpI_evt_out" />
-<TGConnectingPoint num="0" id="362" />
+<cdrectangleparam minX="-13" maxX="131" minY="-13" maxY="83" />
+<infoparam name="Primitive port" value="Request cwpI_req" />
+<TGConnectingPoint num="0" id="400" />
 <extraparam>
-<Prop commName="cwpI_evt_out" commType="1" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Prop commName="cwpI_req" commType="2" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
 <Type type="1" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -1564,35 +1616,35 @@ processing tasks
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1202" id="387" >
-<father id="434" num="1" />
-<cdparam x="1013" y="61" />
-<sizeparam width="144" height="96" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<SUBCOMPONENT type="1202" id="425" >
+<father id="434" num="3" />
+<cdparam x="1018" y="193" />
+<sizeparam width="143" height="86" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="70" minY="0" maxY="184" />
-<infoparam name="Primitive component" value="X_CWP_I" />
-<TGConnectingPoint num="0" id="379" />
-<TGConnectingPoint num="1" id="380" />
-<TGConnectingPoint num="2" id="381" />
-<TGConnectingPoint num="3" id="382" />
-<TGConnectingPoint num="4" id="383" />
-<TGConnectingPoint num="5" id="384" />
-<TGConnectingPoint num="6" id="385" />
-<TGConnectingPoint num="7" id="386" />
+<cdrectangleparam minX="0" maxX="71" minY="0" maxY="194" />
+<infoparam name="Primitive component" value="F_CWP_I" />
+<TGConnectingPoint num="0" id="417" />
+<TGConnectingPoint num="1" id="418" />
+<TGConnectingPoint num="2" id="419" />
+<TGConnectingPoint num="3" id="420" />
+<TGConnectingPoint num="4" id="421" />
+<TGConnectingPoint num="5" id="422" />
+<TGConnectingPoint num="6" id="423" />
+<TGConnectingPoint num="7" id="424" />
 <extraparam>
 <Attribute access="2" id="size" value="" type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="374" >
-<father id="387" num="0" />
-<cdparam x="1037" y="144" />
+<SUBCOMPONENT type="1203" id="412" >
+<father id="425" num="0" />
+<cdparam x="1148" y="248" />
 <sizeparam width="26" height="26" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="131" minY="-13" maxY="83" />
-<infoparam name="Primitive port" value="Request cwpI_req" />
-<TGConnectingPoint num="0" id="373" />
+<cdrectangleparam minX="-13" maxX="130" minY="-13" maxY="73" />
+<infoparam name="Primitive port" value="Event cwpI_evt_out" />
+<TGConnectingPoint num="0" id="411" />
 <extraparam>
-<Prop commName="cwpI_req" commType="2" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Prop commName="cwpI_evt_out" commType="1" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
 <Type type="1" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -1600,108 +1652,148 @@ processing tasks
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="376" >
-<father id="387" num="1" />
-<cdparam x="1000" y="109" />
+<SUBCOMPONENT type="1203" id="414" >
+<father id="425" num="1" />
+<cdparam x="1005" y="248" />
 <sizeparam width="26" height="26" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="131" minY="-13" maxY="83" />
-<infoparam name="Primitive port" value="Channel cwpI_ch_in" />
-<TGConnectingPoint num="0" id="375" />
+<cdrectangleparam minX="-13" maxX="130" minY="-13" maxY="73" />
+<infoparam name="Primitive port" value="Event cwpI_evt_in" />
+<TGConnectingPoint num="0" id="413" />
 <extraparam>
-<Prop commName="cwpI_ch_in" commType="0" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="uint_16" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
-<Type type="0" typeOther="" />
+<Prop commName="cwpI_evt_in" commType="1" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Type type="1" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="378" >
-<father id="387" num="2" />
-<cdparam x="1144" y="110" />
+<SUBCOMPONENT type="1203" id="416" >
+<father id="425" num="2" />
+<cdparam x="1116" y="180" />
 <sizeparam width="26" height="26" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="131" minY="-13" maxY="83" />
-<infoparam name="Primitive port" value="Channel cwpI_ch_out" />
-<TGConnectingPoint num="0" id="377" />
+<cdrectangleparam minX="-13" maxX="130" minY="-13" maxY="73" />
+<infoparam name="Primitive port" value="Request cwpI_req" />
+<TGConnectingPoint num="0" id="415" />
 <extraparam>
-<Prop commName="cwpI_ch_out" commType="0" origin="true" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="uint_16" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
-<Type type="0" typeOther="" />
+<Prop commName="cwpI_req" commType="2" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Type type="1" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1201" id="406" >
-<father id="434" num="2" />
-<cdparam x="959" y="248" />
-<sizeparam width="26" height="26" minWidth="10" minHeight="10" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+
+
+</TMLComponentTaskDiagramPanel>
+
+<TMLActivityDiagramPanel name="F_Source" minX="10" maxX="1400" minY="10" maxY="900" >
+<COMPONENT type="1001" id="436" >
+<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="-13" maxX="201" minY="-13" maxY="267" />
-<infoparam name="Composite port" value="" />
-<TGConnectingPoint num="0" id="388" />
-<TGConnectingPoint num="1" id="389" />
-<TGConnectingPoint num="2" id="390" />
-<TGConnectingPoint num="3" id="391" />
-<TGConnectingPoint num="4" id="392" />
-<TGConnectingPoint num="5" id="393" />
-<TGConnectingPoint num="6" id="394" />
-<TGConnectingPoint num="7" id="395" />
-<TGConnectingPoint num="8" id="396" />
-<TGConnectingPoint num="9" id="397" />
-<TGConnectingPoint num="10" id="398" />
-<TGConnectingPoint num="11" id="399" />
-<TGConnectingPoint num="12" id="400" />
-<TGConnectingPoint num="13" id="401" />
-<TGConnectingPoint num="14" id="402" />
-<TGConnectingPoint num="15" id="403" />
-<TGConnectingPoint num="16" id="404" />
-<TGConnectingPoint num="17" id="405" />
-</SUBCOMPONENT>
-<SUBCOMPONENT type="1201" id="425" >
-<father id="434" num="3" />
-<cdparam x="959" y="109" />
-<sizeparam width="26" height="26" minWidth="10" minHeight="10" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
+<infoparam name="stop state" value="null" />
+<TGConnectingPoint num="0" id="435" />
+</COMPONENT>
+
+<COMPONENT type="1008" id="439" >
+<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="-13" maxX="201" minY="-13" maxY="267" />
-<infoparam name="Composite port" value="" />
-<TGConnectingPoint num="0" id="407" />
-<TGConnectingPoint num="1" id="408" />
-<TGConnectingPoint num="2" id="409" />
-<TGConnectingPoint num="3" id="410" />
-<TGConnectingPoint num="4" id="411" />
-<TGConnectingPoint num="5" id="412" />
-<TGConnectingPoint num="6" id="413" />
-<TGConnectingPoint num="7" id="414" />
-<TGConnectingPoint num="8" id="415" />
-<TGConnectingPoint num="9" id="416" />
-<TGConnectingPoint num="10" id="417" />
-<TGConnectingPoint num="11" id="418" />
-<TGConnectingPoint num="12" id="419" />
-<TGConnectingPoint num="13" id="420" />
-<TGConnectingPoint num="14" id="421" />
-<TGConnectingPoint num="15" id="422" />
-<TGConnectingPoint num="16" id="423" />
-<TGConnectingPoint num="17" id="424" />
-</SUBCOMPONENT>
+<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
+<infoparam name="send event" value="Source_evt_out(size)" />
+<TGConnectingPoint num="0" id="437" />
+<TGConnectingPoint num="1" id="438" />
+<extraparam>
+<Data eventName="Source_evt_out" nbOfParams="5" />
+<Param index="0" value="size" />
+</extraparam>
+</COMPONENT>
 
+<COMPONENT type="1007" id="442" >
+<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="440" />
+<TGConnectingPoint num="1" id="441" />
+<extraparam>
+<Data requestName="source_req" nbOfParams="5" />
+<Param index="0" value="size" />
+</extraparam>
+</COMPONENT>
 
-</TMLComponentTaskDiagramPanel>
+<COMPONENT type="1011" id="445" >
+<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="443" />
+<TGConnectingPoint num="1" id="444" />
+</COMPONENT>
+
+<COMPONENT type="1000" id="447" >
+<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="446" />
+</COMPONENT>
+
+<CONNECTOR type="115" id="448" >
+<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="446" />
+<P2  x="407" y="111" id="443" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="115" id="449" >
+<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="444" />
+<P2  x="407" y="183" id="440" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="115" id="450" >
+<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="441" />
+<P2  x="407" y="257" id="437" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="115" id="451" >
+<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="438" />
+<P2  x="407" y="333" id="435" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+
+</TMLActivityDiagramPanel>
 
 <TMLActivityDiagramPanel name="X_Source" minX="10" maxX="1400" minY="10" maxY="900" >
-<COMPONENT type="1013" id="438" >
+<COMPONENT type="1013" id="455" >
 <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="436" />
-<TGConnectingPoint num="1" id="437" />
+<TGConnectingPoint num="0" id="453" />
+<TGConnectingPoint num="1" id="454" />
 </COMPONENT>
-<SUBCOMPONENT type="-1" id="435" >
-<father id="438" num="0" />
+<SUBCOMPONENT type="-1" id="452" >
+<father id="455" 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" />
@@ -1709,191 +1801,196 @@ processing tasks
 <infoparam name="value of the delay" value="size" />
 </SUBCOMPONENT>
 
-<COMPONENT type="1001" id="440" >
+<COMPONENT type="1001" id="457" >
 <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="439" />
+<TGConnectingPoint num="0" id="456" />
 </COMPONENT>
 
-<COMPONENT type="1006" id="443" >
+<COMPONENT type="1006" id="460" >
 <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="441" />
-<TGConnectingPoint num="1" id="442" />
+<TGConnectingPoint num="0" id="458" />
+<TGConnectingPoint num="1" id="459" />
 <accessibility />
 <extraparam>
 <Data channelName="Source_ch_out" nbOfSamples="size" secPattern="" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1034" id="446" >
+<COMPONENT type="1034" id="463" >
 <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="444" />
-<TGConnectingPoint num="1" id="445" />
+<TGConnectingPoint num="0" id="461" />
+<TGConnectingPoint num="1" id="462" />
 <extraparam>
 <Data nbOfParams="5" />
 <Param index="0" value="size" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1000" id="448" >
+<COMPONENT type="1000" id="465" >
 <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="447" />
+<TGConnectingPoint num="0" id="464" />
 </COMPONENT>
 
-<CONNECTOR type="115" id="449" >
+<CONNECTOR type="115" id="466" >
 <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="437" />
-<P2  x="407" y="265" id="441" />
+<P1  x="407" y="224" id="454" />
+<P2  x="407" y="265" id="458" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="450" >
+<CONNECTOR type="115" id="467" >
 <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="447" />
-<P2  x="407" y="108" id="444" />
+<P1  x="407" y="70" id="464" />
+<P2  x="407" y="108" id="461" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="451" >
+<CONNECTOR type="115" id="468" >
 <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="442" />
-<P2  x="407" y="337" id="439" />
+<P1  x="407" y="295" id="459" />
+<P2  x="407" y="337" id="456" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="452" >
+<CONNECTOR type="115" id="469" >
 <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="445" />
-<P2  x="407" y="184" id="436" />
+<P1  x="407" y="138" id="462" />
+<P2  x="407" y="184" id="453" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 
 </TMLActivityDiagramPanel>
 
-<TMLActivityDiagramPanel name="F_Source" minX="10" maxX="1400" minY="10" maxY="900" >
-<COMPONENT type="1001" id="454" >
-<cdparam x="397" y="338" />
+<TMLActivityDiagramPanel name="F_Symbol2ChipSeq" minX="10" maxX="1400" minY="10" maxY="900" >
+<COMPONENT type="1010" id="472" >
+<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="470" />
+<TGConnectingPoint num="1" id="471" />
+<extraparam>
+<Data eventName="bit2symbol_evt_in" nbOfParams="5" />
+<Param index="0" value="size" />
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="1001" id="474" >
+<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="453" />
+<TGConnectingPoint num="0" id="473" />
 </COMPONENT>
 
-<COMPONENT type="1008" id="457" >
-<cdparam x="338" y="262" />
-<sizeparam width="139" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<COMPONENT type="1008" id="477" >
+<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="Source_evt_out(size)" />
-<TGConnectingPoint num="0" id="455" />
-<TGConnectingPoint num="1" id="456" />
+<infoparam name="send event" value="bit2symbol_evt_out(size)" />
+<TGConnectingPoint num="0" id="475" />
+<TGConnectingPoint num="1" id="476" />
+<accessibility />
 <extraparam>
-<Data eventName="Source_evt_out" nbOfParams="5" />
+<Data eventName="bit2symbol_evt_out" nbOfParams="5" />
 <Param index="0" value="size" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1007" id="460" >
-<cdparam x="351" y="188" />
-<sizeparam width="113" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<COMPONENT type="1007" id="480" >
+<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="source_req(size)" />
-<TGConnectingPoint num="0" id="458" />
-<TGConnectingPoint num="1" id="459" />
+<infoparam name="send request" value="bit2chip_req(size)" />
+<TGConnectingPoint num="0" id="478" />
+<TGConnectingPoint num="1" id="479" />
 <extraparam>
-<Data requestName="source_req" nbOfParams="5" />
+<Data requestName="bit2chip_req" nbOfParams="5" />
 <Param index="0" value="size" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1011" id="463" >
-<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="461" />
-<TGConnectingPoint num="1" id="462" />
-</COMPONENT>
-
-<COMPONENT type="1000" id="465" >
-<cdparam x="400" y="50" />
+<COMPONENT type="1000" id="482" >
+<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="464" />
+<TGConnectingPoint num="0" id="481" />
 </COMPONENT>
 
-<CONNECTOR type="115" id="466" >
-<cdparam x="407" y="70" />
+<CONNECTOR type="115" id="483" >
+<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="407" y="70" id="464" />
-<P2  x="407" y="111" id="461" />
+<P1  x="395" y="229" id="479" />
+<P2  x="395" y="273" id="475" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="467" >
-<cdparam x="407" y="141" />
+<CONNECTOR type="115" id="484" >
+<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="407" y="141" id="462" />
-<P2  x="407" y="183" id="458" />
+<P1  x="395" y="303" id="476" />
+<P2  x="395" y="349" id="473" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="468" >
-<cdparam x="407" y="213" />
+<CONNECTOR type="115" id="485" >
+<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="407" y="213" id="459" />
-<P2  x="407" y="257" id="455" />
+<P1  x="395" y="86" id="481" />
+<P2  x="395" y="127" id="470" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="469" >
-<cdparam x="407" y="287" />
+<CONNECTOR type="115" id="486" >
+<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="407" y="287" id="456" />
-<P2  x="407" y="333" id="453" />
+<P1  x="395" y="157" id="471" />
+<P2  x="395" y="199" id="478" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 
 </TMLActivityDiagramPanel>
 
 <TMLActivityDiagramPanel name="X_Symbol2ChipSeq" minX="10" maxX="1400" minY="10" maxY="900" >
-<COMPONENT type="1021" id="473" >
+<COMPONENT type="1021" id="490" >
 <cdparam x="393" y="289" />
 <sizeparam width="10" height="30" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
 <infoparam name="execC" value="null" />
-<TGConnectingPoint num="0" id="471" />
-<TGConnectingPoint num="1" id="472" />
+<TGConnectingPoint num="0" id="488" />
+<TGConnectingPoint num="1" id="489" />
 </COMPONENT>
-<SUBCOMPONENT type="-1" id="470" >
-<father id="473" num="0" />
+<SUBCOMPONENT type="-1" id="487" >
+<father id="490" num="0" />
 <cdparam x="408" y="309" />
 <sizeparam width="23" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
@@ -1901,216 +1998,215 @@ processing tasks
 <infoparam name="value of the delay" value="size" />
 </SUBCOMPONENT>
 
-<COMPONENT type="1009" id="476" >
+<COMPONENT type="1009" id="493" >
 <cdparam x="305" y="213" />
 <sizeparam width="187" 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="symbol2ChipSeq_ch_in(size) " />
-<TGConnectingPoint num="0" id="474" />
-<TGConnectingPoint num="1" id="475" />
+<TGConnectingPoint num="0" id="491" />
+<TGConnectingPoint num="1" id="492" />
 <extraparam>
 <Data channelName="symbol2ChipSeq_ch_in" nbOfSamples="size" secPattern="" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1001" id="478" >
+<COMPONENT type="1001" id="495" >
 <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="477" />
+<TGConnectingPoint num="0" id="494" />
 </COMPONENT>
 
-<COMPONENT type="1006" id="481" >
+<COMPONENT type="1006" id="498" >
 <cdparam x="302" y="375" />
 <sizeparam width="193" 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="symbol2ChipSeq_ch_out(size)" />
-<TGConnectingPoint num="0" id="479" />
-<TGConnectingPoint num="1" id="480" />
+<TGConnectingPoint num="0" id="496" />
+<TGConnectingPoint num="1" id="497" />
 <extraparam>
 <Data channelName="symbol2ChipSeq_ch_out" nbOfSamples="size" secPattern="" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1034" id="484" >
+<COMPONENT type="1034" id="501" >
 <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="482" />
-<TGConnectingPoint num="1" id="483" />
+<TGConnectingPoint num="0" id="499" />
+<TGConnectingPoint num="1" id="500" />
 <extraparam>
 <Data nbOfParams="5" />
 <Param index="0" value="size" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1000" id="486" >
+<COMPONENT type="1000" id="503" >
 <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="485" />
+<TGConnectingPoint num="0" id="502" />
 </COMPONENT>
 
-<CONNECTOR type="115" id="487" >
+<CONNECTOR type="115" id="504" >
 <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="475" />
-<P2  x="398" y="284" id="471" />
+<P1  x="398" y="238" id="492" />
+<P2  x="398" y="284" id="488" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="488" >
+<CONNECTOR type="115" id="505" >
 <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="324" id="472" />
-<P2  x="398" y="370" id="479" />
+<P1  x="398" y="324" id="489" />
+<P2  x="398" y="370" id="496" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="489" >
+<CONNECTOR type="115" id="506" >
 <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="485" />
-<P2  x="398" y="132" id="482" />
+<P1  x="398" y="94" id="502" />
+<P2  x="398" y="132" id="499" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="490" >
+<CONNECTOR type="115" id="507" >
 <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="480" />
-<P2  x="398" y="442" id="477" />
+<P1  x="398" y="400" id="497" />
+<P2  x="398" y="442" id="494" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="491" >
+<CONNECTOR type="115" id="508" >
 <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="483" />
-<P2  x="398" y="208" id="474" />
+<P1  x="398" y="162" id="500" />
+<P2  x="398" y="208" id="491" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 
 </TMLActivityDiagramPanel>
 
-<TMLActivityDiagramPanel name="F_Symbol2ChipSeq" minX="10" maxX="1400" minY="10" maxY="900" >
-<COMPONENT type="1010" id="494" >
-<cdparam x="317" y="132" />
+<TMLActivityDiagramPanel name="F_Chip2Octet" minX="10" maxX="1400" minY="10" maxY="900" >
+<COMPONENT type="1010" id="511" >
+<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="bit2symbol_evt_in(size) " />
-<TGConnectingPoint num="0" id="492" />
-<TGConnectingPoint num="1" id="493" />
+<infoparam name="wait event" value="chip2octet_evt_in(size) " />
+<TGConnectingPoint num="0" id="509" />
+<TGConnectingPoint num="1" id="510" />
 <extraparam>
-<Data eventName="bit2symbol_evt_in" nbOfParams="5" />
+<Data eventName="chip2octet_evt_in" nbOfParams="5" />
 <Param index="0" value="size" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1001" id="496" >
-<cdparam x="385" y="354" />
+<COMPONENT type="1001" id="513" >
+<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="495" />
+<TGConnectingPoint num="0" id="512" />
 </COMPONENT>
 
-<COMPONENT type="1008" id="499" >
-<cdparam x="314" y="278" />
+<COMPONENT type="1008" id="516" >
+<cdparam x="330" y="274" />
 <sizeparam width="162" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
-<infoparam name="send event" value="bit2symbol_evt_out(size)" />
-<TGConnectingPoint num="0" id="497" />
-<TGConnectingPoint num="1" id="498" />
-<accessibility />
+<infoparam name="send event" value="chip2octet_evt_out(size)" />
+<TGConnectingPoint num="0" id="514" />
+<TGConnectingPoint num="1" id="515" />
 <extraparam>
-<Data eventName="bit2symbol_evt_out" nbOfParams="5" />
+<Data eventName="chip2octet_evt_out" nbOfParams="5" />
 <Param index="0" value="size" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1007" id="502" >
-<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="519" >
+<cdparam x="343" y="200" />
+<sizeparam width="137" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
-<infoparam name="send request" value="bit2chip_req(size)" />
-<TGConnectingPoint num="0" id="500" />
-<TGConnectingPoint num="1" id="501" />
+<infoparam name="send request" value="chip2octet_req(size)" />
+<TGConnectingPoint num="0" id="517" />
+<TGConnectingPoint num="1" id="518" />
 <extraparam>
-<Data requestName="bit2chip_req" nbOfParams="5" />
+<Data requestName="chip2octet_req" nbOfParams="5" />
 <Param index="0" value="size" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1000" id="504" >
-<cdparam x="388" y="66" />
+<COMPONENT type="1000" id="521" >
+<cdparam x="404" y="62" />
 <sizeparam width="15" height="15" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
 <infoparam name="start state" value="null" />
-<TGConnectingPoint num="0" id="503" />
+<TGConnectingPoint num="0" id="520" />
 </COMPONENT>
 
-<CONNECTOR type="115" id="505" >
-<cdparam x="395" y="229" />
+<CONNECTOR type="115" id="522" >
+<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="395" y="229" id="501" />
-<P2  x="395" y="273" id="497" />
+<P1  x="411" y="225" id="518" />
+<P2  x="411" y="269" id="514" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="506" >
-<cdparam x="395" y="303" />
+<CONNECTOR type="115" id="523" >
+<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="395" y="303" id="498" />
-<P2  x="395" y="349" id="495" />
+<P1  x="411" y="299" id="515" />
+<P2  x="411" y="345" id="512" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="507" >
-<cdparam x="395" y="86" />
+<CONNECTOR type="115" id="524" >
+<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="395" y="86" id="503" />
-<P2  x="395" y="127" id="492" />
+<P1  x="411" y="82" id="520" />
+<P2  x="411" y="123" id="509" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="508" >
-<cdparam x="435" y="149" />
+<CONNECTOR type="115" id="525" >
+<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="395" y="157" id="493" />
-<P2  x="395" y="199" id="500" />
+<P1  x="411" y="153" id="510" />
+<P2  x="411" y="195" id="517" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 
 </TMLActivityDiagramPanel>
 
 <TMLActivityDiagramPanel name="X_Chip2Octet" minX="10" maxX="1400" minY="10" maxY="900" >
-<COMPONENT type="1021" id="512" >
+<COMPONENT type="1021" id="529" >
 <cdparam x="377" y="300" />
 <sizeparam width="10" height="30" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
 <infoparam name="execC" value="null" />
-<TGConnectingPoint num="0" id="510" />
-<TGConnectingPoint num="1" id="511" />
+<TGConnectingPoint num="0" id="527" />
+<TGConnectingPoint num="1" id="528" />
 </COMPONENT>
-<SUBCOMPONENT type="-1" id="509" >
-<father id="512" num="0" />
+<SUBCOMPONENT type="-1" id="526" >
+<father id="529" num="0" />
 <cdparam x="392" y="320" />
 <sizeparam width="23" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
@@ -2118,215 +2214,237 @@ processing tasks
 <infoparam name="value of the delay" value="size" />
 </SUBCOMPONENT>
 
-<COMPONENT type="1009" id="515" >
+<COMPONENT type="1009" id="532" >
 <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="513" />
-<TGConnectingPoint num="1" id="514" />
+<TGConnectingPoint num="0" id="530" />
+<TGConnectingPoint num="1" id="531" />
 <extraparam>
 <Data channelName="chip2octet_ch_in" nbOfSamples="size" secPattern="" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1001" id="517" >
+<COMPONENT type="1001" id="534" >
 <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="516" />
+<TGConnectingPoint num="0" id="533" />
 </COMPONENT>
 
-<COMPONENT type="1006" id="520" >
+<COMPONENT type="1006" id="537" >
 <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="518" />
-<TGConnectingPoint num="1" id="519" />
+<TGConnectingPoint num="0" id="535" />
+<TGConnectingPoint num="1" id="536" />
 <extraparam>
 <Data channelName="chip2octet_ch_out" nbOfSamples="size" secPattern="" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1034" id="523" >
+<COMPONENT type="1034" id="540" >
 <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="521" />
-<TGConnectingPoint num="1" id="522" />
+<TGConnectingPoint num="0" id="538" />
+<TGConnectingPoint num="1" id="539" />
 <extraparam>
 <Data nbOfParams="5" />
 <Param index="0" value="size" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1000" id="525" >
+<COMPONENT type="1000" id="542" >
 <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="524" />
+<TGConnectingPoint num="0" id="541" />
 </COMPONENT>
 
-<CONNECTOR type="115" id="526" >
+<CONNECTOR type="115" id="543" >
 <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="514" />
-<P2  x="382" y="295" id="510" />
+<P1  x="382" y="240" id="531" />
+<P2  x="382" y="295" id="527" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="527" >
+<CONNECTOR type="115" id="544" >
 <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="335" id="511" />
-<P2  x="382" y="372" id="518" />
+<P1  x="382" y="335" id="528" />
+<P2  x="382" y="372" id="535" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="528" >
+<CONNECTOR type="115" id="545" >
 <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="524" />
-<P2  x="382" y="134" id="521" />
+<P1  x="382" y="96" id="541" />
+<P2  x="382" y="134" id="538" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="529" >
+<CONNECTOR type="115" id="546" >
 <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="519" />
-<P2  x="382" y="444" id="516" />
+<P1  x="382" y="402" id="536" />
+<P2  x="382" y="444" id="533" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="530" >
+<CONNECTOR type="115" id="547" >
 <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="522" />
-<P2  x="382" y="210" id="513" />
+<P1  x="382" y="164" id="539" />
+<P2  x="382" y="210" id="530" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 
 </TMLActivityDiagramPanel>
 
-<TMLActivityDiagramPanel name="F_Chip2Octet" minX="10" maxX="1400" minY="10" maxY="900" >
-<COMPONENT type="1010" id="533" >
-<cdparam x="333" y="128" />
-<sizeparam width="156" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<TMLActivityDiagramPanel name="F_CWL" minX="10" maxX="1400" minY="10" maxY="900" >
+<COMPONENT type="1010" id="550" >
+<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="chip2octet_evt_in(size) " />
-<TGConnectingPoint num="0" id="531" />
-<TGConnectingPoint num="1" id="532" />
+<infoparam name="wait event" value="cwl_evt_in(size) " />
+<TGConnectingPoint num="0" id="548" />
+<TGConnectingPoint num="1" id="549" />
 <extraparam>
-<Data eventName="chip2octet_evt_in" nbOfParams="5" />
+<Data eventName="cwl_evt_in" nbOfParams="5" />
 <Param index="0" value="size" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1001" id="535" >
-<cdparam x="401" y="350" />
+<COMPONENT type="1001" id="552" >
+<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="534" />
+<TGConnectingPoint num="0" id="551" />
 </COMPONENT>
 
-<COMPONENT type="1008" id="538" >
-<cdparam x="330" y="274" />
-<sizeparam width="162" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<COMPONENT type="1007" id="555" >
+<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 event" value="chip2octet_evt_out(size)" />
-<TGConnectingPoint num="0" id="536" />
-<TGConnectingPoint num="1" id="537" />
+<infoparam name="send request" value="cwl_req(size)" />
+<TGConnectingPoint num="0" id="553" />
+<TGConnectingPoint num="1" id="554" />
 <extraparam>
-<Data eventName="chip2octet_evt_out" nbOfParams="5" />
+<Data requestName="cwl_req" nbOfParams="5" />
 <Param index="0" value="size" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1007" id="541" >
-<cdparam x="343" y="200" />
-<sizeparam width="137" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<COMPONENT type="1000" id="557" >
+<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="send request" value="chip2octet_req(size)" />
-<TGConnectingPoint num="0" id="539" />
-<TGConnectingPoint num="1" id="540" />
+<infoparam name="start state" value="null" />
+<TGConnectingPoint num="0" id="556" />
+</COMPONENT>
+
+<COMPONENT type="1008" id="560" >
+<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="send event" value="cwl_evt_out_1(size)" />
+<TGConnectingPoint num="0" id="558" />
+<TGConnectingPoint num="1" id="559" />
 <extraparam>
-<Data requestName="chip2octet_req" nbOfParams="5" />
+<Data eventName="cwl_evt_out_1" nbOfParams="5" />
 <Param index="0" value="size" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1000" id="543" >
-<cdparam x="404" y="62" />
-<sizeparam width="15" height="15" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<COMPONENT type="1008" id="563" >
+<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="start state" value="null" />
-<TGConnectingPoint num="0" id="542" />
+<infoparam name="send event" value="cwl_evt_out(size)" />
+<TGConnectingPoint num="0" id="561" />
+<TGConnectingPoint num="1" id="562" />
+<extraparam>
+<Data eventName="cwl_evt_out" nbOfParams="5" />
+<Param index="0" value="size" />
+</extraparam>
 </COMPONENT>
 
-<CONNECTOR type="115" id="544" >
-<cdparam x="411" y="225" />
+<CONNECTOR type="115" id="564" >
+<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="411" y="225" id="540" />
-<P2  x="411" y="269" id="536" />
+<P1  x="416" y="358" id="559" />
+<P2  x="417" y="392" id="551" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="545" >
-<cdparam x="411" y="299" />
+<CONNECTOR type="115" id="565" >
+<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="411" y="299" id="537" />
-<P2  x="411" y="345" id="534" />
+<P1  x="414" y="231" id="554" />
+<P2  x="414" y="275" id="561" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="546" >
-<cdparam x="411" y="82" />
+<CONNECTOR type="115" id="566" >
+<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="411" y="82" id="542" />
-<P2  x="411" y="123" id="531" />
+<P1  x="414" y="305" id="562" />
+<P2  x="416" y="328" id="558" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="547" >
-<cdparam x="451" y="145" />
+<CONNECTOR type="115" id="567" >
+<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="556" />
+<P2  x="414" y="129" id="548" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="115" id="568" >
+<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="411" y="153" id="532" />
-<P2  x="411" y="195" id="539" />
+<P1  x="414" y="159" id="549" />
+<P2  x="414" y="201" id="553" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 
 </TMLActivityDiagramPanel>
 
 <TMLActivityDiagramPanel name="X_CWL" minX="10" maxX="1400" minY="10" maxY="900" >
-<COMPONENT type="1013" id="551" >
+<COMPONENT type="1013" id="572" >
 <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="549" />
-<TGConnectingPoint num="1" id="550" />
+<TGConnectingPoint num="0" id="570" />
+<TGConnectingPoint num="1" id="571" />
 </COMPONENT>
-<SUBCOMPONENT type="-1" id="548" >
-<father id="551" num="0" />
+<SUBCOMPONENT type="-1" id="569" >
+<father id="572" 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" />
@@ -2334,237 +2452,215 @@ processing tasks
 <infoparam name="value of the delay" value="size" />
 </SUBCOMPONENT>
 
-<COMPONENT type="1009" id="554" >
+<COMPONENT type="1009" id="575" >
 <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="552" />
-<TGConnectingPoint num="1" id="553" />
+<TGConnectingPoint num="0" id="573" />
+<TGConnectingPoint num="1" id="574" />
 <extraparam>
 <Data channelName="cwl_ch_in" nbOfSamples="size" secPattern="" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1001" id="556" >
+<COMPONENT type="1001" id="577" >
 <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="555" />
+<TGConnectingPoint num="0" id="576" />
 </COMPONENT>
 
-<COMPONENT type="1006" id="559" >
+<COMPONENT type="1006" id="580" >
 <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="557" />
-<TGConnectingPoint num="1" id="558" />
+<TGConnectingPoint num="0" id="578" />
+<TGConnectingPoint num="1" id="579" />
 <extraparam>
 <Data channelName="cwl_ch_out" nbOfSamples="size" secPattern="" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1034" id="562" >
+<COMPONENT type="1034" id="583" >
 <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="560" />
-<TGConnectingPoint num="1" id="561" />
+<TGConnectingPoint num="0" id="581" />
+<TGConnectingPoint num="1" id="582" />
 <extraparam>
 <Data nbOfParams="5" />
 <Param index="0" value="size" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1000" id="564" >
+<COMPONENT type="1000" id="585" >
 <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="563" />
+<TGConnectingPoint num="0" id="584" />
 </COMPONENT>
 
-<CONNECTOR type="115" id="565" >
+<CONNECTOR type="115" id="586" >
 <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="553" />
-<P2  x="407" y="272" id="549" />
+<P1  x="407" y="221" id="574" />
+<P2  x="407" y="272" id="570" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="566" >
+<CONNECTOR type="115" id="587" >
 <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="550" />
-<P2  x="407" y="353" id="557" />
+<P1  x="407" y="312" id="571" />
+<P2  x="407" y="353" id="578" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="567" >
+<CONNECTOR type="115" id="588" >
 <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="563" />
-<P2  x="407" y="115" id="560" />
+<P1  x="407" y="77" id="584" />
+<P2  x="407" y="115" id="581" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="568" >
+<CONNECTOR type="115" id="589" >
 <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="558" />
-<P2  x="407" y="425" id="555" />
+<P1  x="407" y="383" id="579" />
+<P2  x="407" y="425" id="576" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="569" >
+<CONNECTOR type="115" id="590" >
 <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="561" />
-<P2  x="407" y="191" id="552" />
+<P1  x="407" y="145" id="582" />
+<P2  x="407" y="191" id="573" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 
 </TMLActivityDiagramPanel>
 
-<TMLActivityDiagramPanel name="F_CWL" minX="10" maxX="1400" minY="10" maxY="900" >
-<COMPONENT type="1010" id="572" >
-<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="570" />
-<TGConnectingPoint num="1" id="571" />
-<extraparam>
-<Data eventName="cwl_evt_in" nbOfParams="5" />
-<Param index="0" value="size" />
-</extraparam>
-</COMPONENT>
-
-<COMPONENT type="1001" id="574" >
-<cdparam x="407" y="397" />
+<TMLActivityDiagramPanel name="F_Sink" minX="10" maxX="1400" minY="10" maxY="900" >
+<COMPONENT type="1001" id="592" >
+<cdparam x="396" y="355" />
 <sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
 <infoparam name="stop state" value="null" />
-<TGConnectingPoint num="0" id="573" />
+<TGConnectingPoint num="0" id="591" />
 </COMPONENT>
 
-<COMPONENT type="1007" id="577" >
-<cdparam x="370" y="206" />
-<sizeparam width="89" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<COMPONENT type="1007" id="595" >
+<cdparam x="331" y="265" />
+<sizeparam width="150" 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="575" />
-<TGConnectingPoint num="1" id="576" />
+<infoparam name="send request" value="sink_req(size + size_1)" />
+<TGConnectingPoint num="0" id="593" />
+<TGConnectingPoint num="1" id="594" />
 <extraparam>
-<Data requestName="cwl_req" nbOfParams="5" />
-<Param index="0" value="size" />
+<Data requestName="sink_req" nbOfParams="5" />
+<Param index="0" value="size + size_1" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1000" id="579" >
-<cdparam x="407" y="68" />
+<COMPONENT type="1000" id="597" >
+<cdparam x="400" y="73" />
 <sizeparam width="15" height="15" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
 <infoparam name="start state" value="null" />
-<TGConnectingPoint num="0" id="578" />
+<TGConnectingPoint num="0" id="596" />
 </COMPONENT>
 
-<COMPONENT type="1008" id="582" >
-<cdparam x="352" y="333" />
-<sizeparam width="128" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<COMPONENT type="1010" id="600" >
+<cdparam x="336" y="187" />
+<sizeparam width="142" 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="580" />
-<TGConnectingPoint num="1" id="581" />
+<infoparam name="wait event" value="sink_evt_in_1(size_1) " />
+<TGConnectingPoint num="0" id="598" />
+<TGConnectingPoint num="1" id="599" />
 <extraparam>
-<Data eventName="cwl_evt_out_1" nbOfParams="5" />
-<Param index="0" value="size" />
+<Data eventName="sink_evt_in_1" nbOfParams="5" />
+<Param index="0" value="size_1" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1008" id="585" >
-<cdparam x="357" y="280" />
+<COMPONENT type="1010" id="603" >
+<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 event" value="cwl_evt_out(size)" />
-<TGConnectingPoint num="0" id="583" />
-<TGConnectingPoint num="1" id="584" />
+<infoparam name="wait event" value="sink_evt_in(size) " />
+<TGConnectingPoint num="0" id="601" />
+<TGConnectingPoint num="1" id="602" />
 <extraparam>
-<Data eventName="cwl_evt_out" nbOfParams="5" />
+<Data eventName="sink_evt_in" nbOfParams="5" />
 <Param index="0" value="size" />
 </extraparam>
-</COMPONENT>
-
-<CONNECTOR type="115" id="586" >
-<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="581" />
-<P2  x="417" y="392" id="573" />
-<AutomaticDrawing  data="true" />
-</CONNECTOR>
-<CONNECTOR type="115" id="587" >
-<cdparam x="414" y="231" />
+</COMPONENT>
+
+<CONNECTOR type="115" id="604" >
+<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="414" y="231" id="576" />
-<P2  x="414" y="275" id="583" />
+<P1  x="407" y="212" id="599" />
+<P2  x="406" y="260" id="593" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="588" >
-<cdparam x="414" y="305" />
+<CONNECTOR type="115" id="605" >
+<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="414" y="305" id="584" />
-<P2  x="416" y="328" id="580" />
+<P1  x="406" y="290" id="594" />
+<P2  x="406" y="350" id="591" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="589" >
-<cdparam x="414" y="88" />
+<CONNECTOR type="115" id="606" >
+<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="414" y="88" id="578" />
-<P2  x="414" y="129" id="570" />
+<P1  x="407" y="93" id="596" />
+<P2  x="407" y="134" id="601" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="590" >
-<cdparam x="454" y="151" />
+<CONNECTOR type="115" id="607" >
+<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="414" y="159" id="571" />
-<P2  x="414" y="201" id="575" />
+<P1  x="407" y="164" id="602" />
+<P2  x="407" y="182" id="598" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 
 </TMLActivityDiagramPanel>
 
 <TMLActivityDiagramPanel name="X_Sink" minX="10" maxX="1400" minY="10" maxY="900" >
-<COMPONENT type="1013" id="594" >
+<COMPONENT type="1013" id="611" >
 <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="592" />
-<TGConnectingPoint num="1" id="593" />
+<TGConnectingPoint num="0" id="609" />
+<TGConnectingPoint num="1" id="610" />
 </COMPONENT>
-<SUBCOMPONENT type="-1" id="591" >
-<father id="594" num="0" />
+<SUBCOMPONENT type="-1" id="608" >
+<father id="611" 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" />
@@ -2572,194 +2668,194 @@ processing tasks
 <infoparam name="value of the delay" value="size" />
 </SUBCOMPONENT>
 
-<COMPONENT type="1009" id="597" >
+<COMPONENT type="1009" id="614" >
 <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="595" />
-<TGConnectingPoint num="1" id="596" />
+<TGConnectingPoint num="0" id="612" />
+<TGConnectingPoint num="1" id="613" />
 <extraparam>
 <Data channelName="sink_ch_in" nbOfSamples="size" secPattern="" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1001" id="599" >
+<COMPONENT type="1001" id="616" >
 <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="598" />
+<TGConnectingPoint num="0" id="615" />
 </COMPONENT>
 
-<COMPONENT type="1034" id="602" >
+<COMPONENT type="1034" id="619" >
 <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="600" />
-<TGConnectingPoint num="1" id="601" />
+<TGConnectingPoint num="0" id="617" />
+<TGConnectingPoint num="1" id="618" />
 <extraparam>
 <Data nbOfParams="5" />
 <Param index="0" value="size" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1000" id="604" >
+<COMPONENT type="1000" id="621" >
 <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="603" />
+<TGConnectingPoint num="0" id="620" />
 </COMPONENT>
 
-<CONNECTOR type="115" id="605" >
+<CONNECTOR type="115" id="622" >
 <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="593" />
-<P2  x="450" y="379" id="598" />
+<P1  x="450" y="333" id="610" />
+<P2  x="450" y="379" id="615" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="606" >
+<CONNECTOR type="115" id="623" >
 <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="596" />
-<P2  x="450" y="293" id="592" />
+<P1  x="450" y="242" id="613" />
+<P2  x="450" y="293" id="609" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="607" >
+<CONNECTOR type="115" id="624" >
 <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="603" />
-<P2  x="450" y="136" id="600" />
+<P1  x="450" y="98" id="620" />
+<P2  x="450" y="136" id="617" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="608" >
+<CONNECTOR type="115" id="625" >
 <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="601" />
-<P2  x="450" y="212" id="595" />
+<P1  x="450" y="166" id="618" />
+<P2  x="450" y="212" id="612" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 
 </TMLActivityDiagramPanel>
 
-<TMLActivityDiagramPanel name="F_Sink" minX="10" maxX="1400" minY="10" maxY="900" >
-<COMPONENT type="1001" id="610" >
-<cdparam x="396" y="355" />
-<sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<hidden value="false" />
-<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
-<infoparam name="stop state" value="null" />
-<TGConnectingPoint num="0" id="609" />
-</COMPONENT>
-
-<COMPONENT type="1007" id="613" >
-<cdparam x="331" y="265" />
-<sizeparam width="150" 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="628" >
+<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="send request" value="sink_req(size + size_1)" />
-<TGConnectingPoint num="0" id="611" />
-<TGConnectingPoint num="1" id="612" />
+<infoparam name="wait event" value="cwpQ_evt_in(size) " />
+<TGConnectingPoint num="0" id="626" />
+<TGConnectingPoint num="1" id="627" />
 <extraparam>
-<Data requestName="sink_req" nbOfParams="5" />
-<Param index="0" value="size + size_1" />
+<Data eventName="cwpQ_evt_in" nbOfParams="5" />
+<Param index="0" value="size" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1000" id="615" >
-<cdparam x="400" y="73" />
-<sizeparam width="15" height="15" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<COMPONENT type="1001" id="630" >
+<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="start state" value="null" />
-<TGConnectingPoint num="0" id="614" />
+<infoparam name="stop state" value="null" />
+<TGConnectingPoint num="0" id="629" />
 </COMPONENT>
 
-<COMPONENT type="1010" id="618" >
-<cdparam x="336" y="187" />
-<sizeparam width="142" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<COMPONENT type="1008" id="633" >
+<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="wait event" value="sink_evt_in_1(size_1) " />
-<TGConnectingPoint num="0" id="616" />
-<TGConnectingPoint num="1" id="617" />
+<infoparam name="send event" value="cwpQ_evt_out(size)" />
+<TGConnectingPoint num="0" id="631" />
+<TGConnectingPoint num="1" id="632" />
 <extraparam>
-<Data eventName="sink_evt_in_1" nbOfParams="5" />
-<Param index="0" value="size_1" />
+<Data eventName="cwpQ_evt_out" nbOfParams="5" />
+<Param index="0" value="size" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1010" id="621" >
-<cdparam x="350" y="139" />
-<sizeparam width="114" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<COMPONENT type="1007" id="636" >
+<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="wait event" value="sink_evt_in(size) " />
-<TGConnectingPoint num="0" id="619" />
-<TGConnectingPoint num="1" id="620" />
+<infoparam name="send request" value="cwpQ_req(size)" />
+<TGConnectingPoint num="0" id="634" />
+<TGConnectingPoint num="1" id="635" />
 <extraparam>
-<Data eventName="sink_evt_in" nbOfParams="5" />
+<Data requestName="cwpQ_req" nbOfParams="5" />
 <Param index="0" value="size" />
 </extraparam>
 </COMPONENT>
 
-<CONNECTOR type="115" id="622" >
-<cdparam x="407" y="212" />
+<COMPONENT type="1000" id="638" >
+<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="637" />
+</COMPONENT>
+
+<CONNECTOR type="115" id="639" >
+<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="407" y="212" id="617" />
-<P2  x="406" y="260" id="611" />
+<P1  x="403" y="214" id="635" />
+<P2  x="403" y="258" id="631" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="623" >
-<cdparam x="406" y="290" />
+<CONNECTOR type="115" id="640" >
+<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="406" y="290" id="612" />
-<P2  x="406" y="350" id="609" />
+<P1  x="403" y="288" id="632" />
+<P2  x="403" y="334" id="629" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="624" >
-<cdparam x="407" y="93" />
+<CONNECTOR type="115" id="641" >
+<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="407" y="93" id="614" />
-<P2  x="407" y="134" id="619" />
+<P1  x="403" y="71" id="637" />
+<P2  x="403" y="112" id="626" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="625" >
-<cdparam x="447" y="156" />
+<CONNECTOR type="115" id="642" >
+<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="407" y="164" id="620" />
-<P2  x="407" y="182" id="616" />
+<P1  x="403" y="142" id="627" />
+<P2  x="403" y="184" id="634" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 
 </TMLActivityDiagramPanel>
 
 <TMLActivityDiagramPanel name="X_CWP_Q" minX="10" maxX="1400" minY="10" maxY="900" >
-<COMPONENT type="1013" id="629" >
+<COMPONENT type="1013" id="646" >
 <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="627" />
-<TGConnectingPoint num="1" id="628" />
+<TGConnectingPoint num="0" id="644" />
+<TGConnectingPoint num="1" id="645" />
 </COMPONENT>
-<SUBCOMPONENT type="-1" id="626" >
-<father id="629" num="0" />
+<SUBCOMPONENT type="-1" id="643" >
+<father id="646" 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" />
@@ -2767,215 +2863,215 @@ processing tasks
 <infoparam name="value of the delay" value="size" />
 </SUBCOMPONENT>
 
-<COMPONENT type="1009" id="632" >
+<COMPONENT type="1009" id="649" >
 <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="630" />
-<TGConnectingPoint num="1" id="631" />
+<TGConnectingPoint num="0" id="647" />
+<TGConnectingPoint num="1" id="648" />
 <extraparam>
 <Data channelName="cwpQ_ch_in" nbOfSamples="size" secPattern="" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1001" id="634" >
+<COMPONENT type="1001" id="651" >
 <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="633" />
+<TGConnectingPoint num="0" id="650" />
 </COMPONENT>
 
-<COMPONENT type="1006" id="637" >
+<COMPONENT type="1006" id="654" >
 <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="635" />
-<TGConnectingPoint num="1" id="636" />
+<TGConnectingPoint num="0" id="652" />
+<TGConnectingPoint num="1" id="653" />
 <extraparam>
 <Data channelName="cwpQ_ch_out" nbOfSamples="size" secPattern="" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1034" id="640" >
+<COMPONENT type="1034" id="657" >
 <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="638" />
-<TGConnectingPoint num="1" id="639" />
+<TGConnectingPoint num="0" id="655" />
+<TGConnectingPoint num="1" id="656" />
 <extraparam>
 <Data nbOfParams="5" />
 <Param index="0" value="size" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1000" id="642" >
+<COMPONENT type="1000" id="659" >
 <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="641" />
+<TGConnectingPoint num="0" id="658" />
 </COMPONENT>
 
-<CONNECTOR type="115" id="643" >
+<CONNECTOR type="115" id="660" >
 <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="631" />
-<P2  x="370" y="270" id="627" />
+<P1  x="370" y="219" id="648" />
+<P2  x="370" y="270" id="644" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="644" >
+<CONNECTOR type="115" id="661" >
 <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="628" />
-<P2  x="370" y="351" id="635" />
+<P1  x="370" y="310" id="645" />
+<P2  x="370" y="351" id="652" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="645" >
+<CONNECTOR type="115" id="662" >
 <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="641" />
-<P2  x="370" y="113" id="638" />
+<P1  x="370" y="75" id="658" />
+<P2  x="370" y="113" id="655" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="646" >
+<CONNECTOR type="115" id="663" >
 <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="636" />
-<P2  x="370" y="423" id="633" />
+<P1  x="370" y="381" id="653" />
+<P2  x="370" y="423" id="650" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="647" >
+<CONNECTOR type="115" id="664" >
 <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="639" />
-<P2  x="370" y="189" id="630" />
+<P1  x="370" y="143" id="656" />
+<P2  x="370" y="189" id="647" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 
 </TMLActivityDiagramPanel>
 
-<TMLActivityDiagramPanel name="F_CWP_Q" minX="10" maxX="1400" minY="10" maxY="900" >
-<COMPONENT type="1010" id="650" >
-<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_CWP_I" minX="10" maxX="1400" minY="10" maxY="900" >
+<COMPONENT type="1010" id="667" >
+<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="cwpQ_evt_in(size) " />
-<TGConnectingPoint num="0" id="648" />
-<TGConnectingPoint num="1" id="649" />
+<infoparam name="wait event" value="cwpI_evt_in(size) " />
+<TGConnectingPoint num="0" id="665" />
+<TGConnectingPoint num="1" id="666" />
 <extraparam>
-<Data eventName="cwpQ_evt_in" nbOfParams="5" />
+<Data eventName="cwpI_evt_in" nbOfParams="5" />
 <Param index="0" value="size" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1001" id="652" >
-<cdparam x="393" y="339" />
+<COMPONENT type="1001" id="669" >
+<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="651" />
+<TGConnectingPoint num="0" id="668" />
 </COMPONENT>
 
-<COMPONENT type="1008" id="655" >
-<cdparam x="339" y="263" />
-<sizeparam width="128" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<COMPONENT type="1008" id="672" >
+<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="cwpQ_evt_out(size)" />
-<TGConnectingPoint num="0" id="653" />
-<TGConnectingPoint num="1" id="654" />
+<infoparam name="send event" value="cwpI_evt_out(size)" />
+<TGConnectingPoint num="0" id="670" />
+<TGConnectingPoint num="1" id="671" />
 <extraparam>
-<Data eventName="cwpQ_evt_out" nbOfParams="5" />
+<Data eventName="cwpI_evt_out" nbOfParams="5" />
 <Param index="0" value="size" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1007" id="658" >
-<cdparam x="352" y="189" />
-<sizeparam width="103" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<COMPONENT type="1007" id="675" >
+<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="cwpQ_req(size)" />
-<TGConnectingPoint num="0" id="656" />
-<TGConnectingPoint num="1" id="657" />
+<infoparam name="send request" value="cwpI_req(size)" />
+<TGConnectingPoint num="0" id="673" />
+<TGConnectingPoint num="1" id="674" />
 <extraparam>
-<Data requestName="cwpQ_req" nbOfParams="5" />
+<Data requestName="cwpI_req" nbOfParams="5" />
 <Param index="0" value="size" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1000" id="660" >
-<cdparam x="396" y="51" />
+<COMPONENT type="1000" id="677" >
+<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="659" />
+<TGConnectingPoint num="0" id="676" />
 </COMPONENT>
 
-<CONNECTOR type="115" id="661" >
-<cdparam x="403" y="214" />
+<CONNECTOR type="115" id="678" >
+<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="403" y="214" id="657" />
-<P2  x="403" y="258" id="653" />
+<P1  x="379" y="229" id="674" />
+<P2  x="379" y="273" id="670" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="662" >
-<cdparam x="403" y="288" />
+<CONNECTOR type="115" id="679" >
+<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="403" y="288" id="654" />
-<P2  x="403" y="334" id="651" />
+<P1  x="379" y="303" id="671" />
+<P2  x="379" y="349" id="668" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="663" >
-<cdparam x="403" y="71" />
+<CONNECTOR type="115" id="680" >
+<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="403" y="71" id="659" />
-<P2  x="403" y="112" id="648" />
+<P1  x="379" y="86" id="676" />
+<P2  x="379" y="127" id="665" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="664" >
-<cdparam x="443" y="134" />
+<CONNECTOR type="115" id="681" >
+<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="403" y="142" id="649" />
-<P2  x="403" y="184" id="656" />
+<P1  x="379" y="157" id="666" />
+<P2  x="379" y="199" id="673" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 
 </TMLActivityDiagramPanel>
 
 <TMLActivityDiagramPanel name="X_CWP_I" minX="10" maxX="1400" minY="10" maxY="900" >
-<COMPONENT type="1013" id="668" >
+<COMPONENT type="1013" id="685" >
 <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="666" />
-<TGConnectingPoint num="1" id="667" />
+<TGConnectingPoint num="0" id="683" />
+<TGConnectingPoint num="1" id="684" />
 </COMPONENT>
-<SUBCOMPONENT type="-1" id="665" >
-<father id="668" num="0" />
+<SUBCOMPONENT type="-1" id="682" >
+<father id="685" 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" />
@@ -2983,198 +3079,102 @@ processing tasks
 <infoparam name="value of the delay" value="size" />
 </SUBCOMPONENT>
 
-<COMPONENT type="1009" id="671" >
+<COMPONENT type="1009" id="688" >
 <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="669" />
-<TGConnectingPoint num="1" id="670" />
+<TGConnectingPoint num="0" id="686" />
+<TGConnectingPoint num="1" id="687" />
 <extraparam>
 <Data channelName="cwpI_ch_in" nbOfSamples="size" secPattern="" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1001" id="673" >
+<COMPONENT type="1001" id="690" >
 <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="672" />
+<TGConnectingPoint num="0" id="689" />
 </COMPONENT>
 
-<COMPONENT type="1006" id="676" >
+<COMPONENT type="1006" id="693" >
 <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="674" />
-<TGConnectingPoint num="1" id="675" />
+<TGConnectingPoint num="0" id="691" />
+<TGConnectingPoint num="1" id="692" />
 <extraparam>
 <Data channelName="cwpI_ch_out" nbOfSamples="size" secPattern="" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1034" id="679" >
+<COMPONENT type="1034" id="696" >
 <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="677" />
-<TGConnectingPoint num="1" id="678" />
+<TGConnectingPoint num="0" id="694" />
+<TGConnectingPoint num="1" id="695" />
 <extraparam>
 <Data nbOfParams="5" />
 <Param index="0" value="size" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1000" id="681" >
+<COMPONENT type="1000" id="698" >
 <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="680" />
+<TGConnectingPoint num="0" id="697" />
 </COMPONENT>
 
-<CONNECTOR type="115" id="682" >
+<CONNECTOR type="115" id="699" >
 <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="670" />
-<P2  x="374" y="285" id="666" />
-<AutomaticDrawing  data="true" />
-</CONNECTOR>
-<CONNECTOR type="115" id="683" >
-<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="667" />
-<P2  x="374" y="366" id="674" />
-<AutomaticDrawing  data="true" />
-</CONNECTOR>
-<CONNECTOR type="115" id="684" >
-<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="680" />
-<P2  x="374" y="128" id="677" />
-<AutomaticDrawing  data="true" />
-</CONNECTOR>
-<CONNECTOR type="115" id="685" >
-<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="675" />
-<P2  x="374" y="438" id="672" />
-<AutomaticDrawing  data="true" />
-</CONNECTOR>
-<CONNECTOR type="115" id="686" >
-<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="678" />
-<P2  x="374" y="204" id="669" />
+<P1  x="374" y="234" id="687" />
+<P2  x="374" y="285" id="683" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-
-</TMLActivityDiagramPanel>
-
-<TMLActivityDiagramPanel name="F_CWP_I" minX="10" maxX="1400" minY="10" maxY="900" >
-<COMPONENT type="1010" id="689" >
-<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="687" />
-<TGConnectingPoint num="1" id="688" />
-<extraparam>
-<Data eventName="cwpI_evt_in" nbOfParams="5" />
-<Param index="0" value="size" />
-</extraparam>
-</COMPONENT>
-
-<COMPONENT type="1001" id="691" >
-<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="690" />
-</COMPONENT>
-
-<COMPONENT type="1008" id="694" >
-<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="692" />
-<TGConnectingPoint num="1" id="693" />
-<extraparam>
-<Data eventName="cwpI_evt_out" nbOfParams="5" />
-<Param index="0" value="size" />
-</extraparam>
-</COMPONENT>
-
-<COMPONENT type="1007" id="697" >
-<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="695" />
-<TGConnectingPoint num="1" id="696" />
-<extraparam>
-<Data requestName="cwpI_req" nbOfParams="5" />
-<Param index="0" value="size" />
-</extraparam>
-</COMPONENT>
-
-<COMPONENT type="1000" id="699" >
-<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="698" />
-</COMPONENT>
-
 <CONNECTOR type="115" id="700" >
-<cdparam x="379" y="229" />
+<cdparam x="429" y="323" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="null" />
-<P1  x="379" y="229" id="696" />
-<P2  x="379" y="273" id="692" />
+<P1  x="374" y="325" id="684" />
+<P2  x="374" y="366" id="691" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="115" id="701" >
-<cdparam x="379" y="303" />
+<cdparam x="374" y="90" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="null" />
-<P1  x="379" y="303" id="693" />
-<P2  x="379" y="349" id="690" />
+<P1  x="374" y="90" id="697" />
+<P2  x="374" y="128" id="694" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="115" id="702" >
-<cdparam x="379" y="86" />
+<cdparam x="369" y="357" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="null" />
-<P1  x="379" y="86" id="698" />
-<P2  x="379" y="127" id="687" />
+<P1  x="374" y="396" id="692" />
+<P2  x="374" y="438" id="689" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="115" id="703" >
-<cdparam x="419" y="149" />
+<cdparam x="374" y="175" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="null" />
-<P1  x="379" y="157" id="688" />
-<P2  x="379" y="199" id="695" />
+<P1  x="374" y="158" id="695" />
+<P2  x="374" y="204" id="686" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 
@@ -10126,11 +10126,11 @@ sequence diagram.
 </COMPONENT>
 <SUBCOMPONENT type="1101" id="4698" >
 <father id="4786" num="0" />
-<cdparam x="1686" y="522" />
-<sizeparam width="156" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="1465" y="339" />
+<sizeparam width="164" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="261" minY="0" maxY="253" />
-<infoparam name="TGComponent" value="Zigbee_TX::F_CWP_I" />
+<cdrectangleparam minX="0" maxX="253" minY="0" maxY="253" />
+<infoparam name="TGComponent" value="Zigbee_TX::F_Source" />
 <TGConnectingPoint num="0" id="4690" />
 <TGConnectingPoint num="1" id="4691" />
 <TGConnectingPoint num="2" id="4692" />
@@ -10140,16 +10140,16 @@ sequence diagram.
 <TGConnectingPoint num="6" id="4696" />
 <TGConnectingPoint num="7" id="4697" />
 <extraparam>
-<info value="Zigbee_TX::F_CWP_I" taskName="F_CWP_I" referenceTaskName="Zigbee_TX" priority="0" operation="F_CWP_I" fatherComponentMECType="0" />
+<info value="Zigbee_TX::F_Source" taskName="F_Source" referenceTaskName="Zigbee_TX" priority="0" operation="F_Source" fatherComponentMECType="0" />
 </extraparam>
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1101" id="4707" >
 <father id="4786" num="1" />
-<cdparam x="1685" y="459" />
-<sizeparam width="162" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="1466" y="395" />
+<sizeparam width="164" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="255" minY="0" maxY="253" />
-<infoparam name="TGComponent" value="Zigbee_TX::F_CWP_Q" />
+<cdrectangleparam minX="0" maxX="253" minY="0" maxY="253" />
+<infoparam name="TGComponent" value="Zigbee_TX::X_Source" />
 <TGConnectingPoint num="0" id="4699" />
 <TGConnectingPoint num="1" id="4700" />
 <TGConnectingPoint num="2" id="4701" />
@@ -10159,16 +10159,16 @@ sequence diagram.
 <TGConnectingPoint num="6" id="4705" />
 <TGConnectingPoint num="7" id="4706" />
 <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="4716" >
 <father id="4786" num="2" />
-<cdparam x="1691" y="345" />
-<sizeparam width="145" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="1466" y="456" />
+<sizeparam width="223" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="272" minY="0" maxY="253" />
-<infoparam name="TGComponent" value="Zigbee_TX::F_CWL" />
+<cdrectangleparam minX="0" maxX="194" minY="0" maxY="253" />
+<infoparam name="TGComponent" value="Zigbee_TX::F_Symbol2ChipSeq" />
 <TGConnectingPoint num="0" id="4708" />
 <TGConnectingPoint num="1" id="4709" />
 <TGConnectingPoint num="2" id="4710" />
@@ -10178,16 +10178,16 @@ sequence diagram.
 <TGConnectingPoint num="6" id="4714" />
 <TGConnectingPoint num="7" id="4715" />
 <extraparam>
-<info value="Zigbee_TX::F_CWL" taskName="F_CWL" referenceTaskName="Zigbee_TX" priority="0" operation="F_CWL" fatherComponentMECType="0" />
+<info value="Zigbee_TX::F_Symbol2ChipSeq" taskName="F_Symbol2ChipSeq" referenceTaskName="Zigbee_TX" priority="0" operation="F_Symbol2ChipSeq" fatherComponentMECType="0" />
 </extraparam>
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1101" id="4725" >
 <father id="4786" num="3" />
-<cdparam x="1688" y="405" />
-<sizeparam width="146" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="1466" y="518" />
+<sizeparam width="189" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="271" minY="0" maxY="253" />
-<infoparam name="TGComponent" value="Zigbee_TX::F_Sink" />
+<cdrectangleparam minX="0" maxX="228" minY="0" maxY="253" />
+<infoparam name="TGComponent" value="Zigbee_TX::X_Chip2Octet" />
 <TGConnectingPoint num="0" id="4717" />
 <TGConnectingPoint num="1" id="4718" />
 <TGConnectingPoint num="2" id="4719" />
@@ -10197,16 +10197,16 @@ sequence diagram.
 <TGConnectingPoint num="6" id="4723" />
 <TGConnectingPoint num="7" id="4724" />
 <extraparam>
-<info value="Zigbee_TX::F_Sink" taskName="F_Sink" referenceTaskName="Zigbee_TX" priority="0" operation="F_Sink" fatherComponentMECType="0" />
+<info value="Zigbee_TX::X_Chip2Octet" taskName="X_Chip2Octet" referenceTaskName="Zigbee_TX" priority="0" operation="X_Chip2Octet" fatherComponentMECType="0" />
 </extraparam>
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1101" id="4734" >
 <father id="4786" num="4" />
-<cdparam x="1466" y="518" />
-<sizeparam width="189" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="1688" y="405" />
+<sizeparam width="146" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="228" minY="0" maxY="253" />
-<infoparam name="TGComponent" value="Zigbee_TX::X_Chip2Octet" />
+<cdrectangleparam minX="0" maxX="271" minY="0" maxY="253" />
+<infoparam name="TGComponent" value="Zigbee_TX::F_Sink" />
 <TGConnectingPoint num="0" id="4726" />
 <TGConnectingPoint num="1" id="4727" />
 <TGConnectingPoint num="2" id="4728" />
@@ -10216,16 +10216,16 @@ sequence diagram.
 <TGConnectingPoint num="6" id="4732" />
 <TGConnectingPoint num="7" id="4733" />
 <extraparam>
-<info value="Zigbee_TX::X_Chip2Octet" taskName="X_Chip2Octet" referenceTaskName="Zigbee_TX" priority="0" operation="X_Chip2Octet" fatherComponentMECType="0" />
+<info value="Zigbee_TX::F_Sink" taskName="F_Sink" referenceTaskName="Zigbee_TX" priority="0" operation="F_Sink" fatherComponentMECType="0" />
 </extraparam>
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1101" id="4743" >
 <father id="4786" num="5" />
-<cdparam x="1466" y="456" />
-<sizeparam width="223" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="1691" y="345" />
+<sizeparam width="145" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="194" minY="0" maxY="253" />
-<infoparam name="TGComponent" value="Zigbee_TX::F_Symbol2ChipSeq" />
+<cdrectangleparam minX="0" maxX="272" minY="0" maxY="253" />
+<infoparam name="TGComponent" value="Zigbee_TX::F_CWL" />
 <TGConnectingPoint num="0" id="4735" />
 <TGConnectingPoint num="1" id="4736" />
 <TGConnectingPoint num="2" id="4737" />
@@ -10235,16 +10235,16 @@ sequence diagram.
 <TGConnectingPoint num="6" id="4741" />
 <TGConnectingPoint num="7" id="4742" />
 <extraparam>
-<info value="Zigbee_TX::F_Symbol2ChipSeq" taskName="F_Symbol2ChipSeq" referenceTaskName="Zigbee_TX" priority="0" operation="F_Symbol2ChipSeq" fatherComponentMECType="0" />
+<info value="Zigbee_TX::F_CWL" taskName="F_CWL" referenceTaskName="Zigbee_TX" priority="0" operation="F_CWL" fatherComponentMECType="0" />
 </extraparam>
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1101" id="4752" >
 <father id="4786" num="6" />
-<cdparam x="1466" y="395" />
-<sizeparam width="164" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="1685" y="459" />
+<sizeparam width="162" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="253" minY="0" maxY="253" />
-<infoparam name="TGComponent" value="Zigbee_TX::X_Source" />
+<cdrectangleparam minX="0" maxX="255" minY="0" maxY="253" />
+<infoparam name="TGComponent" value="Zigbee_TX::F_CWP_Q" />
 <TGConnectingPoint num="0" id="4744" />
 <TGConnectingPoint num="1" id="4745" />
 <TGConnectingPoint num="2" id="4746" />
@@ -10254,16 +10254,16 @@ sequence diagram.
 <TGConnectingPoint num="6" id="4750" />
 <TGConnectingPoint num="7" id="4751" />
 <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="4761" >
 <father id="4786" num="7" />
-<cdparam x="1465" y="339" />
-<sizeparam width="164" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="1686" y="522" />
+<sizeparam width="156" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="253" minY="0" maxY="253" />
-<infoparam name="TGComponent" value="Zigbee_TX::F_Source" />
+<cdrectangleparam minX="0" maxX="261" minY="0" maxY="253" />
+<infoparam name="TGComponent" value="Zigbee_TX::F_CWP_I" />
 <TGConnectingPoint num="0" id="4753" />
 <TGConnectingPoint num="1" id="4754" />
 <TGConnectingPoint num="2" id="4755" />
@@ -10273,7 +10273,7 @@ sequence diagram.
 <TGConnectingPoint num="6" id="4759" />
 <TGConnectingPoint num="7" id="4760" />
 <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>
 
@@ -10693,11 +10693,11 @@ sequence diagram.
 </COMPONENT>
 <SUBCOMPONENT type="1101" id="5054" >
 <father id="5097" num="0" />
-<cdparam x="700" y="233" />
-<sizeparam width="145" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="732" y="283" />
+<sizeparam width="156" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="93" minY="0" maxY="145" />
-<infoparam name="TGComponent" value="Zigbee_TX::X_CWL" />
+<cdrectangleparam minX="0" maxX="82" minY="0" maxY="145" />
+<infoparam name="TGComponent" value="Zigbee_TX::X_CWP_I" />
 <TGConnectingPoint num="0" id="5046" />
 <TGConnectingPoint num="1" id="5047" />
 <TGConnectingPoint num="2" id="5048" />
@@ -10707,7 +10707,7 @@ sequence diagram.
 <TGConnectingPoint num="6" id="5052" />
 <TGConnectingPoint num="7" id="5053" />
 <extraparam>
-<info value="Zigbee_TX::X_CWL" taskName="X_CWL" referenceTaskName="Zigbee_TX" priority="0" operation="CWL" fatherComponentMECType="1" />
+<info value="Zigbee_TX::X_CWP_I" taskName="X_CWP_I" referenceTaskName="Zigbee_TX" priority="0" operation="CWP" fatherComponentMECType="1" />
 </extraparam>
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1101" id="5063" >
@@ -10731,11 +10731,11 @@ sequence diagram.
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1101" id="5072" >
 <father id="5097" num="2" />
-<cdparam x="732" y="283" />
-<sizeparam width="156" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="700" y="233" />
+<sizeparam width="145" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="82" minY="0" maxY="145" />
-<infoparam name="TGComponent" value="Zigbee_TX::X_CWP_I" />
+<cdrectangleparam minX="0" maxX="93" minY="0" maxY="145" />
+<infoparam name="TGComponent" value="Zigbee_TX::X_CWL" />
 <TGConnectingPoint num="0" id="5064" />
 <TGConnectingPoint num="1" id="5065" />
 <TGConnectingPoint num="2" id="5066" />
@@ -10745,7 +10745,7 @@ sequence diagram.
 <TGConnectingPoint num="6" id="5070" />
 <TGConnectingPoint num="7" id="5071" />
 <extraparam>
-<info value="Zigbee_TX::X_CWP_I" taskName="X_CWP_I" referenceTaskName="Zigbee_TX" priority="0" operation="CWP" fatherComponentMECType="1" />
+<info value="Zigbee_TX::X_CWL" taskName="X_CWL" referenceTaskName="Zigbee_TX" priority="0" operation="CWL" fatherComponentMECType="1" />
 </extraparam>
 </SUBCOMPONENT>
 
@@ -11836,11 +11836,11 @@ sequence diagram.
 </COMPONENT>
 <SUBCOMPONENT type="1101" id="5549" >
 <father id="5637" num="0" />
-<cdparam x="1465" y="339" />
-<sizeparam width="164" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="1686" y="522" />
+<sizeparam width="156" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="253" minY="0" maxY="253" />
-<infoparam name="TGComponent" value="Zigbee_TX::F_Source" />
+<cdrectangleparam minX="0" maxX="261" minY="0" maxY="253" />
+<infoparam name="TGComponent" value="Zigbee_TX::F_CWP_I" />
 <TGConnectingPoint num="0" id="5541" />
 <TGConnectingPoint num="1" id="5542" />
 <TGConnectingPoint num="2" id="5543" />
@@ -11850,16 +11850,16 @@ sequence diagram.
 <TGConnectingPoint num="6" id="5547" />
 <TGConnectingPoint num="7" id="5548" />
 <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="5558" >
 <father id="5637" num="1" />
-<cdparam x="1466" y="395" />
-<sizeparam width="164" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="1696" y="456" />
+<sizeparam width="162" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="253" minY="0" maxY="253" />
-<infoparam name="TGComponent" value="Zigbee_TX::X_Source" />
+<cdrectangleparam minX="0" maxX="255" minY="0" maxY="253" />
+<infoparam name="TGComponent" value="Zigbee_TX::F_CWP_Q" />
 <TGConnectingPoint num="0" id="5550" />
 <TGConnectingPoint num="1" id="5551" />
 <TGConnectingPoint num="2" id="5552" />
@@ -11869,16 +11869,16 @@ sequence diagram.
 <TGConnectingPoint num="6" id="5556" />
 <TGConnectingPoint num="7" id="5557" />
 <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="5567" >
 <father id="5637" num="2" />
-<cdparam x="1466" y="456" />
-<sizeparam width="223" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="1691" y="345" />
+<sizeparam width="145" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="194" minY="0" maxY="253" />
-<infoparam name="TGComponent" value="Zigbee_TX::F_Symbol2ChipSeq" />
+<cdrectangleparam minX="0" maxX="272" minY="0" maxY="253" />
+<infoparam name="TGComponent" value="Zigbee_TX::F_CWL" />
 <TGConnectingPoint num="0" id="5559" />
 <TGConnectingPoint num="1" id="5560" />
 <TGConnectingPoint num="2" id="5561" />
@@ -11888,16 +11888,16 @@ sequence diagram.
 <TGConnectingPoint num="6" id="5565" />
 <TGConnectingPoint num="7" id="5566" />
 <extraparam>
-<info value="Zigbee_TX::F_Symbol2ChipSeq" taskName="F_Symbol2ChipSeq" referenceTaskName="Zigbee_TX" priority="0" operation="F_Symbol2ChipSeq" fatherComponentMECType="0" />
+<info value="Zigbee_TX::F_CWL" taskName="F_CWL" referenceTaskName="Zigbee_TX" priority="0" operation="F_CWL" fatherComponentMECType="0" />
 </extraparam>
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1101" id="5576" >
 <father id="5637" num="3" />
-<cdparam x="1466" y="518" />
-<sizeparam width="189" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="1688" y="405" />
+<sizeparam width="146" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="228" minY="0" maxY="253" />
-<infoparam name="TGComponent" value="Zigbee_TX::F_Chip2Octet" />
+<cdrectangleparam minX="0" maxX="271" minY="0" maxY="253" />
+<infoparam name="TGComponent" value="Zigbee_TX::F_Sink" />
 <TGConnectingPoint num="0" id="5568" />
 <TGConnectingPoint num="1" id="5569" />
 <TGConnectingPoint num="2" id="5570" />
@@ -11907,16 +11907,16 @@ sequence diagram.
 <TGConnectingPoint num="6" id="5574" />
 <TGConnectingPoint num="7" id="5575" />
 <extraparam>
-<info value="Zigbee_TX::F_Chip2Octet" taskName="F_Chip2Octet" referenceTaskName="Zigbee_TX" priority="0" operation="F_Chip2Octet" fatherComponentMECType="0" />
+<info value="Zigbee_TX::F_Sink" taskName="F_Sink" referenceTaskName="Zigbee_TX" priority="0" operation="F_Sink" fatherComponentMECType="0" />
 </extraparam>
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1101" id="5585" >
 <father id="5637" num="4" />
-<cdparam x="1688" y="405" />
-<sizeparam width="146" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="1466" y="518" />
+<sizeparam width="189" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="271" minY="0" maxY="253" />
-<infoparam name="TGComponent" value="Zigbee_TX::F_Sink" />
+<cdrectangleparam minX="0" maxX="228" minY="0" maxY="253" />
+<infoparam name="TGComponent" value="Zigbee_TX::F_Chip2Octet" />
 <TGConnectingPoint num="0" id="5577" />
 <TGConnectingPoint num="1" id="5578" />
 <TGConnectingPoint num="2" id="5579" />
@@ -11926,16 +11926,16 @@ sequence diagram.
 <TGConnectingPoint num="6" id="5583" />
 <TGConnectingPoint num="7" id="5584" />
 <extraparam>
-<info value="Zigbee_TX::F_Sink" taskName="F_Sink" referenceTaskName="Zigbee_TX" priority="0" operation="F_Sink" fatherComponentMECType="0" />
+<info value="Zigbee_TX::F_Chip2Octet" taskName="F_Chip2Octet" referenceTaskName="Zigbee_TX" priority="0" operation="F_Chip2Octet" fatherComponentMECType="0" />
 </extraparam>
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1101" id="5594" >
 <father id="5637" num="5" />
-<cdparam x="1691" y="345" />
-<sizeparam width="145" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="1466" y="456" />
+<sizeparam width="223" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="272" minY="0" maxY="253" />
-<infoparam name="TGComponent" value="Zigbee_TX::F_CWL" />
+<cdrectangleparam minX="0" maxX="194" minY="0" maxY="253" />
+<infoparam name="TGComponent" value="Zigbee_TX::F_Symbol2ChipSeq" />
 <TGConnectingPoint num="0" id="5586" />
 <TGConnectingPoint num="1" id="5587" />
 <TGConnectingPoint num="2" id="5588" />
@@ -11945,16 +11945,16 @@ sequence diagram.
 <TGConnectingPoint num="6" id="5592" />
 <TGConnectingPoint num="7" id="5593" />
 <extraparam>
-<info value="Zigbee_TX::F_CWL" taskName="F_CWL" referenceTaskName="Zigbee_TX" priority="0" operation="F_CWL" fatherComponentMECType="0" />
+<info value="Zigbee_TX::F_Symbol2ChipSeq" taskName="F_Symbol2ChipSeq" referenceTaskName="Zigbee_TX" priority="0" operation="F_Symbol2ChipSeq" fatherComponentMECType="0" />
 </extraparam>
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1101" id="5603" >
 <father id="5637" num="6" />
-<cdparam x="1696" y="456" />
-<sizeparam width="162" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="1466" y="395" />
+<sizeparam width="164" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="255" minY="0" maxY="253" />
-<infoparam name="TGComponent" value="Zigbee_TX::F_CWP_Q" />
+<cdrectangleparam minX="0" maxX="253" minY="0" maxY="253" />
+<infoparam name="TGComponent" value="Zigbee_TX::X_Source" />
 <TGConnectingPoint num="0" id="5595" />
 <TGConnectingPoint num="1" id="5596" />
 <TGConnectingPoint num="2" id="5597" />
@@ -11964,16 +11964,16 @@ sequence diagram.
 <TGConnectingPoint num="6" id="5601" />
 <TGConnectingPoint num="7" id="5602" />
 <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="5612" >
 <father id="5637" num="7" />
-<cdparam x="1686" y="522" />
-<sizeparam width="156" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="1465" y="339" />
+<sizeparam width="164" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="261" minY="0" maxY="253" />
-<infoparam name="TGComponent" value="Zigbee_TX::F_CWP_I" />
+<cdrectangleparam minX="0" maxX="253" minY="0" maxY="253" />
+<infoparam name="TGComponent" value="Zigbee_TX::F_Source" />
 <TGConnectingPoint num="0" id="5604" />
 <TGConnectingPoint num="1" id="5605" />
 <TGConnectingPoint num="2" id="5606" />
@@ -11983,7 +11983,7 @@ sequence diagram.
 <TGConnectingPoint num="6" id="5610" />
 <TGConnectingPoint num="7" id="5611" />
 <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>
 
@@ -12403,11 +12403,11 @@ sequence diagram.
 </COMPONENT>
 <SUBCOMPONENT type="1101" id="5905" >
 <father id="5948" num="0" />
-<cdparam x="671" y="289" />
-<sizeparam width="156" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="639" y="239" />
+<sizeparam width="145" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="82" minY="0" maxY="145" />
-<infoparam name="TGComponent" value="Zigbee_TX::X_CWP_I" />
+<cdrectangleparam minX="0" maxX="93" minY="0" maxY="145" />
+<infoparam name="TGComponent" value="Zigbee_TX::X_CWL" />
 <TGConnectingPoint num="0" id="5897" />
 <TGConnectingPoint num="1" id="5898" />
 <TGConnectingPoint num="2" id="5899" />
@@ -12417,7 +12417,7 @@ sequence diagram.
 <TGConnectingPoint num="6" id="5903" />
 <TGConnectingPoint num="7" id="5904" />
 <extraparam>
-<info value="Zigbee_TX::X_CWP_I" taskName="X_CWP_I" referenceTaskName="Zigbee_TX" priority="0" operation="CWP" fatherComponentMECType="1" />
+<info value="Zigbee_TX::X_CWL" taskName="X_CWL" referenceTaskName="Zigbee_TX" priority="0" operation="CWL" fatherComponentMECType="1" />
 </extraparam>
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1101" id="5914" >
@@ -12441,11 +12441,11 @@ sequence diagram.
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1101" id="5923" >
 <father id="5948" num="2" />
-<cdparam x="639" y="239" />
-<sizeparam width="145" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="671" y="289" />
+<sizeparam width="156" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="93" minY="0" maxY="145" />
-<infoparam name="TGComponent" value="Zigbee_TX::X_CWL" />
+<cdrectangleparam minX="0" maxX="82" minY="0" maxY="145" />
+<infoparam name="TGComponent" value="Zigbee_TX::X_CWP_I" />
 <TGConnectingPoint num="0" id="5915" />
 <TGConnectingPoint num="1" id="5916" />
 <TGConnectingPoint num="2" id="5917" />
@@ -12455,7 +12455,7 @@ sequence diagram.
 <TGConnectingPoint num="6" id="5921" />
 <TGConnectingPoint num="7" id="5922" />
 <extraparam>
-<info value="Zigbee_TX::X_CWL" taskName="X_CWL" referenceTaskName="Zigbee_TX" priority="0" operation="CWL" fatherComponentMECType="1" />
+<info value="Zigbee_TX::X_CWP_I" taskName="X_CWP_I" referenceTaskName="Zigbee_TX" priority="0" operation="CWP" fatherComponentMECType="1" />
 </extraparam>
 </SUBCOMPONENT>
 
@@ -13545,11 +13545,11 @@ sequence diagram.
 </COMPONENT>
 <SUBCOMPONENT type="1101" id="6400" >
 <father id="6488" num="0" />
-<cdparam x="1686" y="522" />
-<sizeparam width="156" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="1465" y="339" />
+<sizeparam width="164" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="261" minY="0" maxY="253" />
-<infoparam name="TGComponent" value="Zigbee_TX::F_CWP_I" />
+<cdrectangleparam minX="0" maxX="253" minY="0" maxY="253" />
+<infoparam name="TGComponent" value="Zigbee_TX::F_Source" />
 <TGConnectingPoint num="0" id="6392" />
 <TGConnectingPoint num="1" id="6393" />
 <TGConnectingPoint num="2" id="6394" />
@@ -13559,16 +13559,16 @@ sequence diagram.
 <TGConnectingPoint num="6" id="6398" />
 <TGConnectingPoint num="7" id="6399" />
 <extraparam>
-<info value="Zigbee_TX::F_CWP_I" taskName="F_CWP_I" referenceTaskName="Zigbee_TX" priority="0" operation="F_CWP_I" fatherComponentMECType="0" />
+<info value="Zigbee_TX::F_Source" taskName="F_Source" referenceTaskName="Zigbee_TX" priority="0" operation="F_Source" fatherComponentMECType="0" />
 </extraparam>
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1101" id="6409" >
 <father id="6488" num="1" />
-<cdparam x="1685" y="459" />
-<sizeparam width="162" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="1466" y="395" />
+<sizeparam width="164" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="255" minY="0" maxY="253" />
-<infoparam name="TGComponent" value="Zigbee_TX::F_CWP_Q" />
+<cdrectangleparam minX="0" maxX="253" minY="0" maxY="253" />
+<infoparam name="TGComponent" value="Zigbee_TX::X_Source" />
 <TGConnectingPoint num="0" id="6401" />
 <TGConnectingPoint num="1" id="6402" />
 <TGConnectingPoint num="2" id="6403" />
@@ -13578,16 +13578,16 @@ sequence diagram.
 <TGConnectingPoint num="6" id="6407" />
 <TGConnectingPoint num="7" id="6408" />
 <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="6418" >
 <father id="6488" num="2" />
-<cdparam x="1691" y="345" />
-<sizeparam width="145" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="1466" y="456" />
+<sizeparam width="223" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="272" minY="0" maxY="253" />
-<infoparam name="TGComponent" value="Zigbee_TX::F_CWL" />
+<cdrectangleparam minX="0" maxX="194" minY="0" maxY="253" />
+<infoparam name="TGComponent" value="Zigbee_TX::F_Symbol2ChipSeq" />
 <TGConnectingPoint num="0" id="6410" />
 <TGConnectingPoint num="1" id="6411" />
 <TGConnectingPoint num="2" id="6412" />
@@ -13597,16 +13597,16 @@ sequence diagram.
 <TGConnectingPoint num="6" id="6416" />
 <TGConnectingPoint num="7" id="6417" />
 <extraparam>
-<info value="Zigbee_TX::F_CWL" taskName="F_CWL" referenceTaskName="Zigbee_TX" priority="0" operation="F_CWL" fatherComponentMECType="0" />
+<info value="Zigbee_TX::F_Symbol2ChipSeq" taskName="F_Symbol2ChipSeq" referenceTaskName="Zigbee_TX" priority="0" operation="F_Symbol2ChipSeq" fatherComponentMECType="0" />
 </extraparam>
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1101" id="6427" >
 <father id="6488" num="3" />
-<cdparam x="1688" y="405" />
-<sizeparam width="146" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="1466" y="518" />
+<sizeparam width="189" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="271" minY="0" maxY="253" />
-<infoparam name="TGComponent" value="Zigbee_TX::F_Sink" />
+<cdrectangleparam minX="0" maxX="228" minY="0" maxY="253" />
+<infoparam name="TGComponent" value="Zigbee_TX::F_Chip2Octet" />
 <TGConnectingPoint num="0" id="6419" />
 <TGConnectingPoint num="1" id="6420" />
 <TGConnectingPoint num="2" id="6421" />
@@ -13616,16 +13616,16 @@ sequence diagram.
 <TGConnectingPoint num="6" id="6425" />
 <TGConnectingPoint num="7" id="6426" />
 <extraparam>
-<info value="Zigbee_TX::F_Sink" taskName="F_Sink" referenceTaskName="Zigbee_TX" priority="0" operation="F_Sink" fatherComponentMECType="0" />
+<info value="Zigbee_TX::F_Chip2Octet" taskName="F_Chip2Octet" referenceTaskName="Zigbee_TX" priority="0" operation="F_Chip2Octet" fatherComponentMECType="0" />
 </extraparam>
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1101" id="6436" >
 <father id="6488" num="4" />
-<cdparam x="1466" y="518" />
-<sizeparam width="189" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="1688" y="405" />
+<sizeparam width="146" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="228" minY="0" maxY="253" />
-<infoparam name="TGComponent" value="Zigbee_TX::F_Chip2Octet" />
+<cdrectangleparam minX="0" maxX="271" minY="0" maxY="253" />
+<infoparam name="TGComponent" value="Zigbee_TX::F_Sink" />
 <TGConnectingPoint num="0" id="6428" />
 <TGConnectingPoint num="1" id="6429" />
 <TGConnectingPoint num="2" id="6430" />
@@ -13635,16 +13635,16 @@ sequence diagram.
 <TGConnectingPoint num="6" id="6434" />
 <TGConnectingPoint num="7" id="6435" />
 <extraparam>
-<info value="Zigbee_TX::F_Chip2Octet" taskName="F_Chip2Octet" referenceTaskName="Zigbee_TX" priority="0" operation="F_Chip2Octet" fatherComponentMECType="0" />
+<info value="Zigbee_TX::F_Sink" taskName="F_Sink" referenceTaskName="Zigbee_TX" priority="0" operation="F_Sink" fatherComponentMECType="0" />
 </extraparam>
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1101" id="6445" >
 <father id="6488" num="5" />
-<cdparam x="1466" y="456" />
-<sizeparam width="223" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="1691" y="345" />
+<sizeparam width="145" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="194" minY="0" maxY="253" />
-<infoparam name="TGComponent" value="Zigbee_TX::F_Symbol2ChipSeq" />
+<cdrectangleparam minX="0" maxX="272" minY="0" maxY="253" />
+<infoparam name="TGComponent" value="Zigbee_TX::F_CWL" />
 <TGConnectingPoint num="0" id="6437" />
 <TGConnectingPoint num="1" id="6438" />
 <TGConnectingPoint num="2" id="6439" />
@@ -13654,16 +13654,16 @@ sequence diagram.
 <TGConnectingPoint num="6" id="6443" />
 <TGConnectingPoint num="7" id="6444" />
 <extraparam>
-<info value="Zigbee_TX::F_Symbol2ChipSeq" taskName="F_Symbol2ChipSeq" referenceTaskName="Zigbee_TX" priority="0" operation="F_Symbol2ChipSeq" fatherComponentMECType="0" />
+<info value="Zigbee_TX::F_CWL" taskName="F_CWL" referenceTaskName="Zigbee_TX" priority="0" operation="F_CWL" fatherComponentMECType="0" />
 </extraparam>
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1101" id="6454" >
 <father id="6488" num="6" />
-<cdparam x="1466" y="395" />
-<sizeparam width="164" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="1685" y="459" />
+<sizeparam width="162" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="253" minY="0" maxY="253" />
-<infoparam name="TGComponent" value="Zigbee_TX::X_Source" />
+<cdrectangleparam minX="0" maxX="255" minY="0" maxY="253" />
+<infoparam name="TGComponent" value="Zigbee_TX::F_CWP_Q" />
 <TGConnectingPoint num="0" id="6446" />
 <TGConnectingPoint num="1" id="6447" />
 <TGConnectingPoint num="2" id="6448" />
@@ -13673,16 +13673,16 @@ sequence diagram.
 <TGConnectingPoint num="6" id="6452" />
 <TGConnectingPoint num="7" id="6453" />
 <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="6463" >
 <father id="6488" num="7" />
-<cdparam x="1465" y="339" />
-<sizeparam width="164" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="1686" y="522" />
+<sizeparam width="156" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="253" minY="0" maxY="253" />
-<infoparam name="TGComponent" value="Zigbee_TX::F_Source" />
+<cdrectangleparam minX="0" maxX="261" minY="0" maxY="253" />
+<infoparam name="TGComponent" value="Zigbee_TX::F_CWP_I" />
 <TGConnectingPoint num="0" id="6455" />
 <TGConnectingPoint num="1" id="6456" />
 <TGConnectingPoint num="2" id="6457" />
@@ -13692,7 +13692,7 @@ sequence diagram.
 <TGConnectingPoint num="6" id="6461" />
 <TGConnectingPoint num="7" id="6462" />
 <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>
 
@@ -14112,11 +14112,11 @@ sequence diagram.
 </COMPONENT>
 <SUBCOMPONENT type="1101" id="6756" >
 <father id="6799" num="0" />
-<cdparam x="639" y="239" />
-<sizeparam width="145" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="671" y="289" />
+<sizeparam width="156" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="93" minY="0" maxY="145" />
-<infoparam name="TGComponent" value="Zigbee_TX::X_CWL" />
+<cdrectangleparam minX="0" maxX="82" minY="0" maxY="145" />
+<infoparam name="TGComponent" value="Zigbee_TX::X_CWP_I" />
 <TGConnectingPoint num="0" id="6748" />
 <TGConnectingPoint num="1" id="6749" />
 <TGConnectingPoint num="2" id="6750" />
@@ -14126,7 +14126,7 @@ sequence diagram.
 <TGConnectingPoint num="6" id="6754" />
 <TGConnectingPoint num="7" id="6755" />
 <extraparam>
-<info value="Zigbee_TX::X_CWL" taskName="X_CWL" referenceTaskName="Zigbee_TX" priority="0" operation="CWL" fatherComponentMECType="1" />
+<info value="Zigbee_TX::X_CWP_I" taskName="X_CWP_I" referenceTaskName="Zigbee_TX" priority="0" operation="CWP" fatherComponentMECType="1" />
 </extraparam>
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1101" id="6765" >
@@ -14150,11 +14150,11 @@ sequence diagram.
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1101" id="6774" >
 <father id="6799" num="2" />
-<cdparam x="671" y="289" />
-<sizeparam width="156" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="639" y="239" />
+<sizeparam width="145" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="82" minY="0" maxY="145" />
-<infoparam name="TGComponent" value="Zigbee_TX::X_CWP_I" />
+<cdrectangleparam minX="0" maxX="93" minY="0" maxY="145" />
+<infoparam name="TGComponent" value="Zigbee_TX::X_CWL" />
 <TGConnectingPoint num="0" id="6766" />
 <TGConnectingPoint num="1" id="6767" />
 <TGConnectingPoint num="2" id="6768" />
@@ -14164,7 +14164,7 @@ sequence diagram.
 <TGConnectingPoint num="6" id="6772" />
 <TGConnectingPoint num="7" id="6773" />
 <extraparam>
-<info value="Zigbee_TX::X_CWP_I" taskName="X_CWP_I" referenceTaskName="Zigbee_TX" priority="0" operation="CWP" fatherComponentMECType="1" />
+<info value="Zigbee_TX::X_CWL" taskName="X_CWL" referenceTaskName="Zigbee_TX" priority="0" operation="CWL" fatherComponentMECType="1" />
 </extraparam>
 </SUBCOMPONENT>
 
diff --git a/simulators/c++2/Makefile b/simulators/c++2/Makefile
index 39a40ecad8896dbe28d98023023e63fd5ccc5bab..00fac3877728ba25dce301ce285a7615f52176c8 100755
--- a/simulators/c++2/Makefile
+++ b/simulators/c++2/Makefile
@@ -24,7 +24,7 @@ OS := $(shell uname)
 
 MODULE = run
 include Makefile.src
-SRCS_base = app/TMLTask.cpp app/TMLCommand.cpp TMLTransaction.cpp app/TMLChannel.cpp arch/SingleCoreCPU.cpp arch/MultiCoreCPU.cpp app/TMLWriteCommand.cpp app/TMLWriteMultCommand.cpp app/TMLStateChannel.cpp app/TMLbrbwChannel.cpp app/TMLnbrnbwChannel.cpp app/TMLbrnbwChannel.cpp app/TMLReadCommand.cpp app/TMLExeciCommand.cpp app/TMLExeciRangeCommand.cpp app/TMLActionCommand.cpp app/TMLChoiceCommand.cpp app/TMLRandomChoiceCommand.cpp app/TMLWaitCommand.cpp app/TMLSendCommand.cpp app/TMLSelectCommand.cpp app/TMLRequestCommand.cpp app/TMLNotifiedCommand.cpp app/TMLRandomCommand.cpp app/TMLStopCommand.cpp arch/Bus.cpp definitions.cpp arch/Bridge.cpp arch/Memory.cpp Comment.cpp sim/Server.cpp sim/ServerLocal.cpp sim/Simulator.cpp sim/SimComponents.cpp sim/ServerIF.cpp evt/ListenersSimCmd.cpp arch/PrioScheduler.cpp arch/RRScheduler.cpp arch/RRPrioScheduler.cpp arch/WorkloadSource.cpp TEPE/AliasConstraint.cpp TEPE/EqConstraint.cpp TEPE/FSMConstraint.cpp TEPE/PropertyConstraint.cpp TEPE/PropertyStateConstraint.cpp TEPE/PropLabConstraint.cpp TEPE/PropRelConstraint.cpp TEPE/SignalConstraint.cpp TEPE/ThreeSigConstraint.cpp TEPE/TimeMMConstraint.cpp TEPE/TimeTConstraint.cpp TEPE/TwoSigConstraint.cpp
+SRCS_base = app/TMLTask.cpp app/TMLCommand.cpp TMLTransaction.cpp app/TMLChannel.cpp arch/SchedulableDevice.cpp arch/SingleCoreCPU.cpp arch/MultiCoreCPU.cpp app/TMLWriteCommand.cpp app/TMLWriteMultCommand.cpp app/TMLStateChannel.cpp app/TMLbrbwChannel.cpp app/TMLnbrnbwChannel.cpp app/TMLbrnbwChannel.cpp app/TMLReadCommand.cpp app/TMLExeciCommand.cpp app/TMLExeciRangeCommand.cpp app/TMLActionCommand.cpp app/TMLChoiceCommand.cpp app/TMLRandomChoiceCommand.cpp app/TMLWaitCommand.cpp app/TMLSendCommand.cpp app/TMLSelectCommand.cpp app/TMLRequestCommand.cpp app/TMLNotifiedCommand.cpp app/TMLRandomCommand.cpp app/TMLStopCommand.cpp arch/Bus.cpp definitions.cpp arch/Bridge.cpp arch/Memory.cpp Comment.cpp sim/Server.cpp sim/ServerLocal.cpp sim/Simulator.cpp sim/SimComponents.cpp sim/ServerIF.cpp evt/ListenersSimCmd.cpp arch/PrioScheduler.cpp arch/RRScheduler.cpp arch/RRPrioScheduler.cpp arch/WorkloadSource.cpp TEPE/AliasConstraint.cpp TEPE/EqConstraint.cpp TEPE/FSMConstraint.cpp TEPE/PropertyConstraint.cpp TEPE/PropertyStateConstraint.cpp TEPE/PropLabConstraint.cpp TEPE/PropRelConstraint.cpp TEPE/SignalConstraint.cpp TEPE/ThreeSigConstraint.cpp TEPE/TimeMMConstraint.cpp TEPE/TimeTConstraint.cpp TEPE/TwoSigConstraint.cpp
 
 SRCS_base_DIR = src_simulator
 SRCS_generated = .
diff --git a/simulators/c++2/src_simulator/TMLTransaction.h b/simulators/c++2/src_simulator/TMLTransaction.h
index a0c03096e50489ff748b9bf85d9df4c2f86365bb..1535dadccbad272bd45e2f2019bad9092d81daa2 100644
--- a/simulators/c++2/src_simulator/TMLTransaction.h
+++ b/simulators/c++2/src_simulator/TMLTransaction.h
@@ -43,8 +43,9 @@ Ludovic Apvrille, Renaud Pacalet
 
 #include <definitions.h>
 #include <MemPoolNoDel.h>
+#include <TMLCommand.h>
 
-class TMLCommand;
+//class TMLCommand;
 class TMLChannel;
 
 class TMLTransaction {
diff --git a/simulators/c++2/src_simulator/app/TMLCommand.h b/simulators/c++2/src_simulator/app/TMLCommand.h
index e8d7b8eee90070bb3508aaf01523b935c5384e2c..8cd607a014cf318b5a24d8dd7aa7924516aa05ea 100755
--- a/simulators/c++2/src_simulator/app/TMLCommand.h
+++ b/simulators/c++2/src_simulator/app/TMLCommand.h
@@ -46,8 +46,9 @@ Ludovic Apvrille, Renaud Pacalet
 #include <ListenerSubject.h>
 #include <GeneralListener.h>
 #include <TMLTransaction.h>
+#include <TMLTask.h>
 
-class TMLTask;
+//class TMLTask;
 class TMLChannel;
 class Comment;
 class SimComponents;
@@ -128,7 +129,7 @@ public:
 	\return Short string representation of command type
 	*/
 	virtual std::string getCommandStr() const=0;
-#ifdef ADD_COMMENTS	
+#ifdef ADD_COMMENTS
 	///Translates a comment into a readable string
 	/**
 	\param iCom Pointer to comment
diff --git a/simulators/c++2/src_simulator/app/TMLTask.h b/simulators/c++2/src_simulator/app/TMLTask.h
index dc5e34bad9772b243290a6e27507d404787fe108..cf77c16e0115f34313247dfc8b72ddcb45cd9a54 100755
--- a/simulators/c++2/src_simulator/app/TMLTask.h
+++ b/simulators/c++2/src_simulator/app/TMLTask.h
@@ -117,11 +117,13 @@ public:
     	*/ 
 	inline ID getID() const {return _ID;}
 #ifdef ADD_COMMENTS
+
 	///Adds a new execution comment to the internal list
 	/**
       	\param iComment Pointer to the comment
     	*/ 
 	inline void addComment(Comment* iComment) {_commentList.push_back(iComment);}
+
 	///Returns the next execution comment (pointed to by _posCommentList)
 	/**
       	\param iInit Indicates if the list iterator has to be reset to the beginning of the list
diff --git a/simulators/c++2/src_simulator/arch/Bus.cpp b/simulators/c++2/src_simulator/arch/Bus.cpp
index 418898b7c23db25975d5b06d6de58b7cb1f24cb5..420ba0ffad572905dd345122d8ee12f7d415c6dd 100644
--- a/simulators/c++2/src_simulator/arch/Bus.cpp
+++ b/simulators/c++2/src_simulator/arch/Bus.cpp
@@ -144,66 +144,76 @@ std::string Bus::toShortString() const{
 	return outp.str();
 }
 
+// Issue #4: Moved to SchedulableDevice for easier maintenance
 //Writes a HTML representation of the schedule to an output file
-void Bus::schedule2HTML(std::ofstream& myfile) const{
-	TMLTime aCurrTime = 0;
-	TMLTransaction* aCurrTrans;
-	unsigned int aBlanks,aLength,aColor;
-
-	if ( _transactList.empty( )) {
-		return;
-	}
-
-	myfile << "<h2><span>Scheduling for device: "<< _name <<"</span></h2>\n<table>\n<tr>";
-
-	for(TransactionList::const_iterator i=_transactList.begin(); i != _transactList.end(); ++i){
-		aCurrTrans = *i;
-		//if (aCurrTrans->getVirtualLength()==0) continue;
-		aBlanks = aCurrTrans->getStartTimeOperation() - aCurrTime;
-
-		if ( aBlanks > 0 ) {
-			writeColums( myfile, aBlanks, "not", "idle time" );
-//			if (aBlanks==1)
-//				myfile << "<td title=\"idle time\" class=\"not\"></td>\n";
-//			else
-//				myfile << "<td colspan=\""<< aBlanks <<"\" title=\"idle time\" class=\"not\"></td>\n";
-		}
-
-		aLength = aCurrTrans->getOperationLength();
-		unsigned int instNumber = aCurrTrans->getCommand()->getTask()->getInstanceNo() - 1;
-		aColor = instNumber % NB_HTML_COLORS;
-	    std::ostringstream cellClass;
-	    cellClass << "t" << aColor;
-
-		writeColums( myfile, aLength, cellClass.str(), aCurrTrans->toShortString() );
+//void Bus::schedule2HTML(std::ofstream& myfile) const{
+//	TMLTime aCurrTime = 0;
+//	TMLTransaction* aCurrTrans;
+//	unsigned int aBlanks, aLength;//,aColor;
 //
-//		if ( aLength==1 ) {
-//			myfile << "<td title=\""<< aCurrTrans->toShortString() << "\" class=\"t"<< aColor <<"\"></td>\n";
-//		}
-//		else {
-//			myfile << "<td colspan=\"" << aLength << "\" title=\"" << aCurrTrans->toShortString() << "\" class=\"t"<< aColor <<"\"></td>\n";
+//	std::map<TMLTask*, std::string> taskColors;
+//	unsigned int nextColor = 0;
+//
+//	if ( _transactList.empty( )) {
+//		return;
+//	}
+//
+//	myfile << "<h2><span>Scheduling for device: "<< _name <<"</span></h2>\n<table>\n<tr>";
+//
+//	for(TransactionList::const_iterator i=_transactList.begin(); i != _transactList.end(); ++i){
+//		aCurrTrans = *i;
+//		//if (aCurrTrans->getVirtualLength()==0) continue;
+//		aBlanks = aCurrTrans->getStartTimeOperation() - aCurrTime;
+//
+//		if ( aBlanks > 0 ) {
+//
+//			// Issue #4
+//			writeActivityRow( myfile, aBlanks, "not", "idle time" );
+////			if (aBlanks==1)
+////				myfile << "<td title=\"idle time\" class=\"not\"></td>\n";
+////			else
+////				myfile << "<td colspan=\""<< aBlanks <<"\" title=\"idle time\" class=\"not\"></td>\n";
 //		}
-
-		aCurrTime = aCurrTrans->getEndTime();
-	}
-
-	myfile << "</tr>\n<tr>";
-
-	for ( aLength = 0; aLength < aCurrTime; aLength++ ) {
-		myfile << "<th></th>";
-	}
-
-	myfile << "</tr>\n<tr>";
-
-	for ( aLength = 0; aLength <= aCurrTime; aLength += 5 ) {
-		std::ostringstream spanVal;
-		spanVal << aLength;
-		writeColums( myfile, 5, "sc", "", spanVal.str(), false );
-//		myfile << "<td colspan=\"5\" class=\"sc\">" << aLength << "</td>";
-	}
-
-	myfile << "</tr>\n</table>\n";
-}
+//
+//		aLength = aCurrTrans->getOperationLength();
+//
+//		// Issue #4
+//	    TMLTask* task = aCurrTrans->getCommand()->getTask();
+//	    const std::string cellClass = taskColor( taskColors, task, nextColor );
+//		//unsigned int instNumber = aCurrTrans->getCommand()->getTask()->getInstanceNo() - 1;
+//		//aColor = instNumber % NB_HTML_COLORS;
+////	    std::ostringstream cellClass;
+////	    cellClass << "t" << aColor;
+//
+//		writeActivityRow( myfile, aLength, cellClass, aCurrTrans->toShortString() );
+////
+////		if ( aLength==1 ) {
+////			myfile << "<td title=\""<< aCurrTrans->toShortString() << "\" class=\"t"<< aColor <<"\"></td>\n";
+////		}
+////		else {
+////			myfile << "<td colspan=\"" << aLength << "\" title=\"" << aCurrTrans->toShortString() << "\" class=\"t"<< aColor <<"\"></td>\n";
+////		}
+//
+//		aCurrTime = aCurrTrans->getEndTime();
+//	}
+//
+//	myfile << "</tr>\n<tr>";
+//
+//	for ( aLength = 0; aLength < aCurrTime; aLength++ ) {
+//		myfile << "<th></th>";
+//	}
+//
+//	myfile << "</tr>\n<tr>";
+//
+//	for ( aLength = 0; aLength <= aCurrTime; aLength += 5 ) {
+//		std::ostringstream spanVal;
+//		spanVal << aLength;
+//		writeActivityRow( myfile, 5, "sc", "", spanVal.str(), false );
+////		myfile << "<td colspan=\"5\" class=\"sc\">" << aLength << "</td>";
+//	}
+//
+//	myfile << "</tr>\n</table>\n";
+//}
 
 //Writes a plain text representation of the schedule to an output file
 void Bus::schedule2TXT(std::ofstream& myfile) const{
@@ -231,7 +241,7 @@ int Bus::allTrans2XML(std::ostringstream& glob, int maxNbOfTrans) const {
   return total;
 }
 
-void Bus::latencies2XML(std::ostringstream& glob, int id1, int id2) {
+void Bus::latencies2XML(std::ostringstream& glob, unsigned int id1, unsigned int id2) {
 
   for(TransactionList::const_iterator i=_transactList.begin(); i != _transactList.end(); ++i){
 	if ((*i)->getCommand() !=NULL){
diff --git a/simulators/c++2/src_simulator/arch/Bus.h b/simulators/c++2/src_simulator/arch/Bus.h
index 5acf3fa3f6341cda6b2e404b09f38f4b47458702..c4e33d3f02bf672e2a0c7ce87be13d34f56b3ff6 100644
--- a/simulators/c++2/src_simulator/arch/Bus.h
+++ b/simulators/c++2/src_simulator/arch/Bus.h
@@ -101,17 +101,16 @@ public:
 	\return Short string representation
 	*/
 	std::string toShortString() const;
-	///Writes a HTML representation of the schedule to an output file
 
 	/**
       	\param glob refers to the output stream
     	*/
 	int allTrans2XML(std::ostringstream& glob, int maxNbOfTrans) const;
-	void latencies2XML(std::ostringstream& glob, int id1, int id2);
+	void latencies2XML(std::ostringstream& glob, unsigned int id1, unsigned int id2);
 	/**
       	\param myfile Reference to the ofstream object representing the output file
     	*/
-	void schedule2HTML(std::ofstream& myfile) const;
+//	void schedule2HTML(std::ofstream& myfile) const;
 	///Writes a plain text representation of the schedule to an output file
 	/**
       	\param myfile Reference to the ofstream object representing the output file
diff --git a/simulators/c++2/src_simulator/arch/SchedulableDevice.cpp b/simulators/c++2/src_simulator/arch/SchedulableDevice.cpp
new file mode 100644
index 0000000000000000000000000000000000000000..01ab6a13a60d7dadeae9b676b89673b695921877
--- /dev/null
+++ b/simulators/c++2/src_simulator/arch/SchedulableDevice.cpp
@@ -0,0 +1,282 @@
+/*Copyright or (C) or Copr. GET / ENST, Telecom-Paris, Daniel Knorreck,
+  Ludovic Apvrille, Renaud Pacalet
+  *
+  * ludovic.apvrille AT telecom-paristech.fr
+  *
+  * This software is a computer program whose purpose is to allow the
+  * edition of TURTLE analysis, design and deployment diagrams, to
+  * allow the generation of RT-LOTOS or Java code from this diagram,
+  * and at last to allow the analysis of formal validation traces
+  * obtained from external tools, e.g. RTL from LAAS-CNRS and CADP
+  * from INRIA Rhone-Alpes.
+  *
+  * This software is governed by the CeCILL  license under French law and
+  * abiding by the rules of distribution of free software.  You can  use,
+  * modify and/ or redistribute the software under the terms of the CeCILL
+  * license as circulated by CEA, CNRS and INRIA at the following URL
+  * "http://www.cecill.info".
+  *
+  * As a counterpart to the access to the source code and  rights to copy,
+  * modify and redistribute granted by the license, users are provided only
+  * with a limited warranty  and the software's author,  the holder of the
+  * economic rights,  and the successive licensors  have only  limited
+  * liability.
+  *
+  * In this respect, the user's attention is drawn to the risks associated
+  * with loading,  using,  modifying and/or developing or reproducing the
+  * software by the user in light of its specific status of free software,
+  * that may mean  that it is complicated to manipulate,  and  that  also
+  * therefore means  that it is reserved for developers  and  experienced
+  * professionals having in-depth computer knowledge. Users are therefore
+  * encouraged to load and test the software's suitability as regards their
+  * requirements in conditions enabling the security of their systems and/or
+  * data to be ensured and,  more generally, to use and operate it in the
+  * same conditions as regards security.
+  *
+  * The fact that you are presently reading this means that you have had
+  * knowledge of the CeCILL license and that you accept its terms.
+  *
+  */
+
+#include <SchedulableDevice.h>
+
+SchedulableDevice::SchedulableDevice(	ID iID,
+										std::string iName,
+										WorkloadSource* iScheduler ) :
+						_ID(iID),
+						_name(iName),
+						_endSchedule(0),
+						_scheduler(iScheduler),
+						_nextTransaction(0),
+						_deleteScheduler(true),
+						_busyCycles(0),
+						_static_consumPerCycle (15),
+						_dynamic_consumPerCycle (35) {
+	_transactList.reserve( BLOCK_SIZE_TRANS );
+}
+
+std::istream& SchedulableDevice::readObject(std::istream &is) {
+	READ_STREAM(is,_endSchedule);
+	//_simulatedTime=max(_simulatedTime,_endSchedule);   ????????????
+#ifdef DEBUG_SERIALIZE
+	std::cout << "Read: Schedulable Device " << _name << ": " << _endSchedule << std::endl;
+#endif
+	return is;
+}
+
+std::ostream& SchedulableDevice::writeObject(std::ostream &os){
+	WRITE_STREAM(os,_endSchedule);
+#ifdef DEBUG_SERIALIZE
+	std::cout << "Write: Schedulable Device " << _name << ": " << _endSchedule << std::endl;
+#endif
+	return os;
+}
+
+void SchedulableDevice::reset() {
+	_endSchedule=0;
+	_simulatedTime=0;
+}
+
+///Destructor
+SchedulableDevice::~SchedulableDevice(){
+	if (_scheduler!=0 && _deleteScheduler) delete _scheduler;
+}
+
+TMLTransaction* SchedulableDevice::getTransactions1By1(bool iInit){
+	if (iInit) _posTrasactListGraph=_transactList.begin();
+	if (_posTrasactListGraph == _transactList.end()) return 0;
+	TMLTransaction* aTrans = *_posTrasactListGraph;
+	_posTrasactListGraph++;
+	return aTrans;
+}
+
+// Issue #4: Some browsers (like Firefox) do not support column spans of more than 1000 columns
+void SchedulableDevice::writeHTMLColumn(	std::ofstream& myfile,
+											const unsigned int colSpan,
+											const std::string cellClass ) {
+	writeHTMLColumn( myfile, colSpan, cellClass, "" );
+}
+
+void SchedulableDevice::writeHTMLColumn(	std::ofstream& myfile,
+											const unsigned int colSpan,
+											const std::string cellClass,
+											const std::string title ) {
+	writeHTMLColumn( myfile, colSpan, cellClass, title, "", true );
+}
+
+void SchedulableDevice::writeHTMLColumn(	std::ofstream& myfile,
+											const unsigned int colSpan,
+											const std::string cellClass,
+											const std::string title,
+											const std::string content,
+											const bool endline ) {
+	std::string begLine( START_TD );
+
+	if ( !title.empty() ) {
+		begLine.append( " title=\"" );
+		begLine.append( title );
+		begLine.append( "\"" );
+	}
+
+	begLine.append( " class=\"" );
+
+	if ( colSpan == 1 ) {
+		begLine.append( cellClass );
+		begLine.append( "\"" );
+		myfile << begLine << ">" << END_TD;
+
+		if ( endline ) {
+			myfile << std::endl;
+		}
+	}
+	else {
+		int actualLength = colSpan;
+		bool first = true;
+		bool last = false;
+
+		do {
+			last = actualLength <= MAX_COL_SPAN;
+			std::string clasVal( cellClass );
+
+			if ( first && !last ) {
+				clasVal.append( "first" );
+				first = false;
+			}
+			else if ( last && !first ) {
+				clasVal.append( "last" );
+			}
+			else if ( !last && !first ) {
+				clasVal.append( "mid" );
+			}
+
+			clasVal.append( "\"" );
+
+			std::string colSpan( " colspan=\"" );
+			std::ostringstream spanVal;
+			spanVal << std::min( MAX_COL_SPAN, actualLength ) <<  "\"";
+			colSpan.append( spanVal.str() );
+
+			myfile << begLine << clasVal << colSpan << ">" << content << END_TD;
+
+			if ( last && endline ) {
+				myfile << std::endl;
+			}
+
+			actualLength -= MAX_COL_SPAN;
+		} while ( !last );
+	}
+}
+
+std::string SchedulableDevice::determineHTMLCellClass( 	std::map<TMLTask*, std::string> &taskColors,
+														TMLTask* task,
+														unsigned int &nextColor ) {
+	std::map<TMLTask*, std::string>::const_iterator it = taskColors.find( task );
+
+	if ( it == taskColors.end() ) {
+		unsigned int aColor = nextColor % NB_HTML_COLORS;
+		std::ostringstream cellClass;
+		cellClass << "t" << aColor;
+		taskColors[ task ] = cellClass.str();
+		nextColor++;
+	}
+
+	return taskColors[ task ];
+}
+
+void SchedulableDevice::schedule2HTML(std::ofstream& myfile) const {
+	myfile << "<h2><span>Scheduling for device: "<< _name << "</span></h2>" << std::endl;
+
+	if ( _transactList.size() == 0 ) {
+		myfile << "<h4>Device never activated</h4>" << std::endl;
+	}
+	else {
+		myfile << "<table>" << std::endl << "<tr>";
+
+		std::map<TMLTask*, std::string> taskCellClasses;
+		unsigned int nextCellClassIndex = 0;
+		TMLTime aCurrTime = 0;
+
+		for( TransactionList::const_iterator i = _transactList.begin(); i != _transactList.end(); ++i ) {
+			TMLTransaction* aCurrTrans = *i;
+			unsigned int aBlanks = aCurrTrans->getStartTime() - aCurrTime;
+
+			if ( aBlanks > 0 ) {
+				writeHTMLColumn( myfile, aBlanks, "not", "idle time" );
+			}
+
+			unsigned int aLength = aCurrTrans->getPenalties();
+
+			if ( aLength != 0 ) {
+				std::ostringstream title;
+				title << "idle:" << aCurrTrans->getIdlePenalty() << " switch:" << aCurrTrans->getTaskSwitchingPenalty();
+				writeHTMLColumn( myfile, aLength, "not", title.str() );
+			}
+
+			aLength = aCurrTrans->getOperationLength();
+
+			// Issue #4
+			TMLTask* task = aCurrTrans->getCommand()->getTask();
+			const std::string cellClass = determineHTMLCellClass( taskCellClasses, task, nextCellClassIndex );
+
+			writeHTMLColumn( myfile, aLength, cellClass, aCurrTrans->toShortString() );
+
+			aCurrTime = aCurrTrans->getEndTime();
+		}
+
+		myfile << "</tr>" << std::endl << "<tr>";
+
+		for ( unsigned int aLength = 0; aLength < aCurrTime; aLength++ ) {
+			myfile << "<th></th>";
+		}
+
+		myfile << "</tr>" << std::endl << "<tr>";
+
+		for ( unsigned int aLength = 0; aLength <= aCurrTime; aLength += 5 ) {
+			std::ostringstream spanVal;
+			spanVal << aLength;
+			writeHTMLColumn( myfile, 5, "sc", "", spanVal.str(), false );
+			//myfile << "<td colspan=\"5\" class=\"sc\">" << aLength << "</td>";
+		}
+
+		myfile << "</tr>" << std::endl << "</table>" << std::endl << "<table>" << std::endl << "<tr>";
+
+		for( std::map<TMLTask*, std::string>::iterator taskColIt = taskCellClasses.begin(); taskColIt != taskCellClasses.end(); ++taskColIt ) {
+			TMLTask* task = (*taskColIt).first;
+			// Unset the default td max-width of 5px. For some reason setting the max-with on a specific t style does not work
+			myfile << "<td class=\"" << taskCellClasses[ task ] << "\"></td><td style=\"max-width: unset;\">" << task->toString() << "</td><td class=\"space\"></td>";
+		}
+
+		myfile << "</tr>" << std::endl;
+
+#ifdef ADD_COMMENTS
+		bool aMoreComments = true, aInit = true;
+		Comment* aComment;
+
+		while ( aMoreComments ) {
+			aMoreComments = false;
+			myfile << "<tr>";
+
+			for( std::map<TMLTask*, std::string>::iterator taskColIt = taskCellClasses.begin(); taskColIt != taskCellClasses.end(); ++taskColIt ) {
+			//for(TaskList::const_iterator j=_taskList.begin(); j != _taskList.end(); ++j){
+				TMLTask* task = (*taskColIt).first;
+			    std::string aCommentString = task->getNextComment( aInit, aComment );
+
+				if ( aComment == 0 ) {
+					myfile << "<td></td><td></td><td class=\"space\"></td>";
+				}
+				else {
+					replaceAll(aCommentString,"<","&lt;");
+					replaceAll(aCommentString,">","&gt;");
+					aMoreComments = true;
+					myfile << "<td style=\"max-width: unset;\">" << aComment->_time << "</td><td><pre>" << aCommentString << "</pre></td><td class=\"space\"></td>";
+				}
+			}
+
+			aInit = false;
+			myfile << "</tr>" << std::endl;
+		}
+#endif
+		myfile << "</table>" << std::endl;
+	}
+}
+
diff --git a/simulators/c++2/src_simulator/arch/SchedulableDevice.h b/simulators/c++2/src_simulator/arch/SchedulableDevice.h
index 410a599eedc44e3cc793759d7ec2babd8a49afb2..0d37a9f56491125b30ef1fb2f96603a99c5c9f8d 100644
--- a/simulators/c++2/src_simulator/arch/SchedulableDevice.h
+++ b/simulators/c++2/src_simulator/arch/SchedulableDevice.h
@@ -45,15 +45,14 @@ Ludovic Apvrille, Renaud Pacalet
 #include <Serializable.h>
 #include <ListenerSubject.h>
 #include <WorkloadSource.h>
+#include <TMLTransaction.h>
 
 class Master;
-class TMLTransaction;
-//class TransactionListener;
+//class TMLTransaction;
 class GeneralListener;
 
 ///Base class for devices which perform a scheduling
-//class SchedulableDevice: public Serializable, public ListenerSubject <TransactionListener> {
-class SchedulableDevice: public Serializable, public ListenerSubject <GeneralListener> {
+class SchedulableDevice: public Serializable, public ListenerSubject<GeneralListener> {
 public:
 	///Constructor
 	/**
@@ -61,27 +60,27 @@ public:
 	\param iName Name of the device
 	\param iScheduler Pointer to the scheduler object
 	*/
-	SchedulableDevice(ID iID, std::string iName, WorkloadSource* iScheduler):_ID(iID), _name(iName), _endSchedule(0), _scheduler(iScheduler), _nextTransaction(0), _deleteScheduler(true), _busyCycles(0), _static_consumPerCycle (15), _dynamic_consumPerCycle (35) {
-		_transactList.reserve(BLOCK_SIZE_TRANS);
-	}
+	SchedulableDevice(	ID iID,
+						std::string iName,
+						WorkloadSource* iScheduler );
+
 	///Determines the next transaction to be executed
 	virtual void schedule()=0;
 	///Adds the transaction determined by the scheduling algorithm to the internal list of scheduled transactions
 	virtual bool addTransaction(TMLTransaction* iTransToBeAdded)=0;
+
 	///Returns a pointer to the transaction determined by the scheduling algorithm
     	/**
       	\return Pointer to transaction
     	*/
-	//virtual TMLTransaction* getNextTransaction()=0;
-	virtual TMLTransaction* getNextTransaction(){
-		//std::cout << "Raw version of getNextTransaction " << _nextTransaction << "\n";
-		return _nextTransaction;
-	}
+	virtual TMLTransaction* getNextTransaction() { return _nextTransaction; }
+
 	///Writes a HTML representation of the schedule to an output file
 	/**
       	\param myfile Reference to the ofstream object representing the output file
     	*/
-	virtual void schedule2HTML(std::ofstream& myfile) const =0;
+	void schedule2HTML(std::ofstream& myfile) const;
+
 	///Writes a plain text representation of the schedule to an output file
 	/**
       	\param myfile Reference to the ofstream object representing the output file
@@ -92,93 +91,63 @@ public:
       	\param glob references the output stream object 
     	*/
 	virtual int allTrans2XML(std::ostringstream& glob, int maxNbOfTrans) const =0;
-	virtual void latencies2XML(std::ostringstream& glob, int id1, int id2)=0;
+	virtual void latencies2XML(std::ostringstream& glob, unsigned int id1, unsigned int id2)=0;
 	virtual std::string toString() const =0;
-	virtual std::istream& readObject(std::istream &is){
-		READ_STREAM(is,_endSchedule);
-		//_simulatedTime=max(_simulatedTime,_endSchedule);   ????????????
-#ifdef DEBUG_SERIALIZE
-		std::cout << "Read: Schedulable Device " << _name << ": " << _endSchedule << std::endl;
-#endif
-		return is;
-	}
-	virtual std::ostream& writeObject(std::ostream &os){
-		WRITE_STREAM(os,_endSchedule);
-#ifdef DEBUG_SERIALIZE
-		std::cout << "Write: Schedulable Device " << _name << ": " << _endSchedule << std::endl;
-#endif
-		return os;
-	}
-	virtual void reset(){
-		_endSchedule=0;
-		_simulatedTime=0;
-	}
-	///Returns the number of simulated clock cycles
+	virtual std::istream& readObject(std::istream &is);
+	virtual std::ostream& writeObject(std::ostream &os);
+	virtual void reset();
+
 	/**
 	\return Number of simulated clock cycles
 	*/
-	static TMLTime getSimulatedTime() {return _simulatedTime;}
+	static TMLTime getSimulatedTime() { return _simulatedTime; }
+
 	///Sets the number of simulated clock cycles
 	/**
 	\param iSimulatedTime Number of simulated clock cycles
 	*/
-	static void setSimulatedTime(TMLTime iSimulatedTime) {
-		//if (iSimulatedTime<_simulatedTime) std::cout << "FAILURE SIMULATION TIME!!!!!!!!!!\n";
-		_simulatedTime=iSimulatedTime;
-	}
+	static void setSimulatedTime( TMLTime iSimulatedTime ) { _simulatedTime=iSimulatedTime; }
+
 	///Returns the unique ID of the device
 	/**
       	\return Unique ID
     	*/ 
-	ID getID() const {return _ID;}
+	ID getID() const { return _ID; }
+
 	///Destructor
-	virtual ~SchedulableDevice(){
-		if (_scheduler!=0 && _deleteScheduler) delete _scheduler; 
-	}
+	virtual ~SchedulableDevice();
+
 	///Returns the end time of the last scheduled transaction of the device 
 	/**
       	\return End time of the last scheduled transaction
     	*/ 
-	TMLTime getEndSchedule(){return _endSchedule;}
+	TMLTime getEndSchedule(){ return _endSchedule; }
 	///Sets the scheduler object
 	/**
 	\param iScheduler Pointer to the scheduler object 
 	\param iDelScheduler Determines whether the scheduler is destroyed upon destruction of the device
 	*/
-	void setScheduler(WorkloadSource* iScheduler, bool iDelScheduler=true){ _scheduler=iScheduler; _deleteScheduler=iDelScheduler;}
+	void setScheduler(WorkloadSource* iScheduler, bool iDelScheduler=true){ _scheduler=iScheduler; _deleteScheduler=iDelScheduler; }
 	///Returns a pointer to the scheduler object
 	/**
 	\return Pointer to the scheduler object 
 	*/
-	WorkloadSource* getScheduler(){ return _scheduler;}
+	WorkloadSource* getScheduler(){ return _scheduler; }
+
 	///Returns the scheduled transaction one after another
 	/**
       	\param iInit If init is true, the methods starts from the first transaction 
 	\return Pointer to the next transaction
     	*/
-	TMLTransaction* getTransactions1By1(bool iInit){
-		if (iInit) _posTrasactListGraph=_transactList.begin();
-		if (_posTrasactListGraph == _transactList.end()) return 0; 
-		TMLTransaction* aTrans = *_posTrasactListGraph;
-		_posTrasactListGraph++;
-		return aTrans;
-	}
+	TMLTransaction* getTransactions1By1( bool iInit );
 	
-	void addRawTransaction(TMLTransaction* iTrans){
-		_transactList.push_back(iTrans);
-	}
+	void addRawTransaction(TMLTransaction* iTrans){ _transactList.push_back(iTrans);}
 	
-	TMLTime getBusyCycles(){
-		return _busyCycles;
-	}
+	TMLTime getBusyCycles(){	return _busyCycles;	}
 	
-	static TMLTime getOverallTransNo(){
-		return _overallTransNo;
-	}
+	static TMLTime getOverallTransNo() { return _overallTransNo; }
 	
-	static TMLTime getOverallTransSize(){
-		return _overallTransSize;
-	}
+	static TMLTime getOverallTransSize() { return _overallTransSize; }
 	
 protected:
 	///Unique ID of the device
@@ -202,86 +171,29 @@ protected:
 	///Busy cycles since simulation start
 	TMLTime _busyCycles;
 	unsigned int _static_consumPerCycle; 
-        unsigned int _dynamic_consumPerCycle; 
+    unsigned int _dynamic_consumPerCycle;
 	static TMLTime _overallTransNo;
 	static TMLTime _overallTransSize;
 
-	// Issue #4: Some browsers (like Firefox) do not support column spans of more than 1000 columns
-	void writeColums(	std::ofstream& myfile,
-						const unsigned int colSpan,
-						const std::string cellClass ) const {
-		writeColums( myfile, colSpan, cellClass, "" );
-	}
-
-	void writeColums(	std::ofstream& myfile,
-						const unsigned int colSpan,
-						const std::string cellClass,
-						const std::string title ) const {
-		writeColums( myfile, colSpan, cellClass, title, "", true );
-	}
-
-	void writeColums(	std::ofstream& myfile,
-						const unsigned int colSpan,
-						const std::string cellClass,
-						const std::string title,
-						const std::string content,
-						const bool endline ) const {
-		std::string begLine( START_TD );
-
-		if ( !title.empty() ) {
-			begLine.append( " title=\"" );
-			begLine.append( title );
-			begLine.append( "\"" );
-		}
-
-		begLine.append( " class=\"" );
-
-		if ( colSpan == 1 ) {
-			begLine.append( cellClass );
-			begLine.append( "\"" );
-			myfile << begLine << ">" << END_TD;
-
-			if ( endline ) {
-				myfile << std::endl;
-			}
-		}
-		else {
-			int actualLength = colSpan;
-			bool first = true;
-			bool last = false;
-
-			do {
-				last = actualLength <= MAX_COL_SPAN;
-				std::string clasVal( cellClass );
-
-				if ( first && !last ) {
-					clasVal.append( "first" );
-					first = false;
-				}
-				else if ( last && !first ) {
-					clasVal.append( "last" );
-				}
-				else if ( !last && !first ) {
-					clasVal.append( "mid" );
-				}
-
-				clasVal.append( "\"" );
-
-				std::string colSpan( " colspan=\"" );
-				std::ostringstream spanVal;
-				spanVal << std::min( MAX_COL_SPAN, actualLength ) <<  "\"";
-				colSpan.append( spanVal.str() );
-
-				myfile << begLine << clasVal << colSpan << ">" << content << END_TD;
-
-				if ( last && endline ) {
-					myfile << std::endl;
-				}
-
-				actualLength -= MAX_COL_SPAN;
-			} while ( !last );
-		}
-	}
+	static void writeHTMLColumn(	std::ofstream& myfile,
+									const unsigned int colSpan,
+									const std::string cellClass );
+
+	static void writeHTMLColumn(	std::ofstream& myfile,
+									const unsigned int colSpan,
+									const std::string cellClass,
+									const std::string title );
+
+	static void writeHTMLColumn(	std::ofstream& myfile,
+									const unsigned int colSpan,
+									const std::string cellClass,
+									const std::string title,
+									const std::string content,
+									const bool endline );
+
+	static std::string determineHTMLCellClass( 	std::map<TMLTask*, std::string> &taskColors,
+												TMLTask* task,
+												unsigned int &nextColor );
 };
 
 #endif
diff --git a/simulators/c++2/src_simulator/arch/SingleCoreCPU.cpp b/simulators/c++2/src_simulator/arch/SingleCoreCPU.cpp
index 529af8a111f7f4d840e5a2e4405b4da4c6eb5b39..b90dd9e6e9e633028b9b4caaa9895a984843f21c 100644
--- a/simulators/c++2/src_simulator/arch/SingleCoreCPU.cpp
+++ b/simulators/c++2/src_simulator/arch/SingleCoreCPU.cpp
@@ -48,7 +48,18 @@
 //#include <TransactionListener.h>
 
 
-SingleCoreCPU::SingleCoreCPU(ID iID, std::string iName, WorkloadSource* iScheduler, TMLTime iTimePerCycle, unsigned int iCyclesPerExeci, unsigned int iCyclesPerExecc, unsigned int iPipelineSize, unsigned int iTaskSwitchingCycles, unsigned int iBranchingMissrate, unsigned int iChangeIdleModeCycles, unsigned int iCyclesBeforeIdle, unsigned int ibyteDataSize): CPU(iID, iName, iScheduler), /*_lastTransaction(0),*/ _masterNextTransaction(0), _timePerCycle(iTimePerCycle)
+SingleCoreCPU::SingleCoreCPU(	ID iID,
+								std::string iName,
+								WorkloadSource* iScheduler,
+								TMLTime iTimePerCycle,
+								unsigned int iCyclesPerExeci,
+								unsigned int iCyclesPerExecc,
+								unsigned int iPipelineSize,
+								unsigned int iTaskSwitchingCycles,
+								unsigned int iBranchingMissrate,
+								unsigned int iChangeIdleModeCycles,
+								unsigned int iCyclesBeforeIdle,
+								unsigned int ibyteDataSize ) : CPU( iID, iName, iScheduler ), /*_lastTransaction(0),*/ _masterNextTransaction(0), _timePerCycle(iTimePerCycle)
 #ifdef PENALTIES_ENABLED
                                                                                                                                                                                                                                                                                                                                                                       , _pipelineSize(iPipelineSize), _taskSwitchingCycles(iTaskSwitchingCycles),_brachingMissrate(iBranchingMissrate)
                                                                                                                                                                                                                                                                                                                                                                       , _changeIdleModeCycles(iChangeIdleModeCycles), _cyclesBeforeIdle(iCyclesBeforeIdle)
@@ -324,39 +335,27 @@ std::string SingleCoreCPU::toShortString() const{
   return outp.str();
 }
 
-
-
-
-void SingleCoreCPU::schedule2HTML(std::ofstream& myfile) const{
-  TMLTime aCurrTime=0;
-  TMLTransaction* aCurrTrans;
-  unsigned int aBlanks,aLength,aColor;
-  std::string aCommentString;
-  //if (_transactList.empty()) return;
-  //std::cout << "0. size: " << _transactList.size() << '\n';
-  myfile << "<h2><span>Scheduling for device: "<< _name <<"</span></h2>\n<table>\n<tr>";
-
-  for(TransactionList::const_iterator i=_transactList.begin(); i != _transactList.end(); ++i){
-    aCurrTrans=*i;
-    //if (aCurrTrans->getVirtualLength()==0) continue;
-    aBlanks=aCurrTrans->getStartTime()-aCurrTime;
-    if (aBlanks>0){
-
-    	// Issue #4
-		writeColums( myfile, aBlanks, "not", "idle time" );
+// Issue #4: Moved to SchedulableDevice for easier maintenance
+//void SingleCoreCPU::schedule2HTML(std::ofstream& myfile) const{
+//  TMLTime aCurrTime=0;
+//  TMLTransaction* aCurrTrans;
+//  unsigned int aBlanks,aLength,aColor;
+//  std::string aCommentString;
+//  //if (_transactList.empty()) return;
+//  //std::cout << "0. size: " << _transactList.size() << '\n';
+//  myfile << "<h2><span>Scheduling for device: "<< _name <<"</span></h2>\n<table>\n<tr>";
+//  for(TransactionList::const_iterator i=_transactList.begin(); i != _transactList.end(); ++i){
+//    aCurrTrans=*i;
+//    //if (aCurrTrans->getVirtualLength()==0) continue;
+//    aBlanks=aCurrTrans->getStartTime()-aCurrTime;
+//    if (aBlanks>0){
 //      if (aBlanks==1)
 //        myfile << "<td title=\"idle time\" class=\"not\"></td>\n";
 //      else
 //        myfile << "<td colspan=\""<< aBlanks <<"\" title=\"idle time\" class=\"not\"></td>\n";
-    }
-
-    aLength = aCurrTrans->getPenalties();
-
-    if ( aLength != 0 ) {
-    	// Issue #4
-        std::ostringstream title;
-        title << "idle:" << aCurrTrans->getIdlePenalty() << " switch:" << aCurrTrans->getTaskSwitchingPenalty();
-		writeColums( myfile, aLength, "not", title.str() );
+//    }
+//    aLength=aCurrTrans->getPenalties();
+//    if (aLength!=0){
 //      if (aLength==1){
 //        //myfile << "<td title=\""<< aCurrTrans->toShortString() << "\" class=\"t15\"></td>\n";
 //        //myfile << "<td title=\" idle:" << aCurrTrans->getIdlePenalty() << " switch:" << aCurrTrans->getTaskSwitchingPenalty() << " bran:" << aCurrTrans->getBranchingPenalty() << "\" class=\"t15\"></td>\n";
@@ -365,73 +364,52 @@ void SingleCoreCPU::schedule2HTML(std::ofstream& myfile) const{
 //        //myfile << "<td colspan=\"" << aLength << "\" title=\" idle:" << aCurrTrans->getIdlePenalty() << " switch:" << aCurrTrans->getTaskSwitchingPenalty() << " bran:" << aCurrTrans->getBranchingPenalty() << "\" class=\"t15\"></td>\n";
 //        myfile << "<td colspan=\"" << aLength << "\" title=\" idle:" << aCurrTrans->getIdlePenalty() << " switch:" << aCurrTrans->getTaskSwitchingPenalty() << "\" class=\"t15\"></td>\n";
 //      }
-    }
-
-    aLength = aCurrTrans->getOperationLength();
-    aColor = aCurrTrans->getCommand()->getTask()->getInstanceNo() & NB_HTML_COLORS;
-    std::ostringstream cellClass;
-    cellClass << "t" << aColor;
-
-    writeColums( myfile, aLength, cellClass.str(), aCurrTrans->toShortString() );
-//
-//    if ( aLength == 1 )
+//    }
+//    aLength=aCurrTrans->getOperationLength();
+//    aColor=aCurrTrans->getCommand()->getTask()->getInstanceNo() & 15;
+//    if (aLength==1)
 //      myfile << "<td title=\""<< aCurrTrans->toShortString() << "\" class=\"t"<< aColor <<"\"></td>\n";
 //    else
 //      myfile << "<td colspan=\"" << aLength << "\" title=\"" << aCurrTrans->toShortString() << "\" class=\"t"<< aColor <<"\"></td>\n";
-
-
-    aCurrTime = aCurrTrans->getEndTime();
-    //std::cout << "end time: " << aCurrTrans->getEndTime() << std::endl;
-  }
-  //std::cout << "acurrTime: " << aCurrTime << std::endl;
-  myfile << "</tr>\n<tr>";
-
-  for ( aLength = 0; aLength < aCurrTime; aLength++ ) {
-	  myfile << "<th></th>";
-  }
-
-  myfile << "</tr>\n<tr>";
-
-  for ( aLength = 0; aLength <= aCurrTime; aLength += 5 ) {
-	  std::ostringstream spanVal;
-	  spanVal << aLength;
-	  writeColums( myfile, 5, "sc", "", spanVal.str(), false );
-	  //myfile << "<td colspan=\"5\" class=\"sc\">" << aLength << "</td>";
-  }
-
-  myfile << "</tr>\n</table>\n<table>\n<tr>";
-
-  for( TaskList::const_iterator j = _taskList.begin(); j != _taskList.end(); ++j ) {
-	  unsigned int instNumber = (*j)->getInstanceNo() - 1;
-	  aColor = instNumber % NB_HTML_COLORS;
-    							// Unset the default td max-width of 5px. For some reason setting the max-with on a specific t style does not work
-	  myfile << "<td class=\"t" << aColor << "\"></td><td style=\"max-width: unset;\">" << (*j)->toString() << "</td><td class=\"space\"></td>\n";
-  }
-
-  myfile << "</tr>";
-#ifdef ADD_COMMENTS
-  bool aMoreComments=true, aInit=true;
-  Comment* aComment;
-  while(aMoreComments){
-    aMoreComments=false;
-    myfile << "<tr>";
-    for(TaskList::const_iterator j=_taskList.begin(); j != _taskList.end(); ++j){
-      aCommentString = (*j)->getNextComment(aInit, aComment);
-      if (aComment==0){
-        myfile << "<td></td><td></td><td class=\"space\"></td>";
-      } else{
-        replaceAll(aCommentString,"<","&lt;");
-        replaceAll(aCommentString,">","&gt;");
-        aMoreComments=true;
-        myfile << "<td>" << aComment->_time << "</td><td><pre>" << aCommentString << "</pre></td><td class=\"space\"></td>";
-      }
-    }
-    aInit=false;
-    myfile << "</tr>\n";
-  }
-#endif
-  myfile << "</table>\n";
-}
+//
+//
+//    aCurrTime=aCurrTrans->getEndTime();
+//    //std::cout << "end time: " << aCurrTrans->getEndTime() << std::endl;
+//  }
+//  //std::cout << "acurrTime: " << aCurrTime << std::endl;
+//  myfile << "</tr>\n<tr>";
+//  for(aLength=0;aLength<aCurrTime;aLength++) myfile << "<th></th>";
+//  myfile << "</tr>\n<tr>";
+//  for(aLength=0;aLength<aCurrTime;aLength+=5) myfile << "<td colspan=\"5\" class=\"sc\">" << aLength << "</td>";
+//  myfile << "</tr>\n</table>\n<table>\n<tr>";
+//  for(TaskList::const_iterator j=_taskList.begin(); j != _taskList.end(); ++j){
+//    aColor=(*j)->getInstanceNo() & 15;
+//    myfile << "<td class=\"t"<< aColor <<"\"></td><td>"<< (*j)->toString() << "</td><td class=\"space\"></td>\n";
+//  }
+//  myfile << "</tr>";
+//#ifdef ADD_COMMENTS
+//  bool aMoreComments=true, aInit=true;
+//  Comment* aComment;
+//  while(aMoreComments){
+//    aMoreComments=false;
+//    myfile << "<tr>";
+//    for(TaskList::const_iterator j=_taskList.begin(); j != _taskList.end(); ++j){
+//      aCommentString = (*j)->getNextComment(aInit, aComment);
+//      if (aComment==0){
+//        myfile << "<td></td><td></td><td class=\"space\"></td>";
+//      } else{
+//        replaceAll(aCommentString,"<","&lt;");
+//        replaceAll(aCommentString,">","&gt;");
+//        aMoreComments=true;
+//        myfile << "<td>" << aComment->_time << "</td><td><pre>" << aCommentString << "</pre></td><td class=\"space\"></td>";
+//      }
+//    }
+//    aInit=false;
+//    myfile << "</tr>\n";
+//  }
+//#endif
+//  myfile << "</table>\n";
+//}
 
 void SingleCoreCPU::schedule2TXT(std::ofstream& myfile) const{
   myfile << "========= Scheduling for device: "<< _name << " =========\n" ;
@@ -440,7 +418,6 @@ void SingleCoreCPU::schedule2TXT(std::ofstream& myfile) const{
   }
 }
 
-
 int SingleCoreCPU::allTrans2XML(std::ostringstream& glob, int maxNbOfTrans) const {
   int size = _transactList.size();
   int begining = size - maxNbOfTrans;
@@ -459,7 +436,7 @@ int SingleCoreCPU::allTrans2XML(std::ostringstream& glob, int maxNbOfTrans) cons
   return total;
 }
 
-void SingleCoreCPU::latencies2XML(std::ostringstream& glob, int id1, int id2) {
+void SingleCoreCPU::latencies2XML(std::ostringstream& glob, unsigned int id1, unsigned int id2) {
 	for(TransactionList::const_iterator i=_transactList.begin(); i != _transactList.end(); ++i){
 		if ((*i)->getCommand() !=NULL){
 			if ((*i)->getCommand()->getID() == id1 || (*i)->getCommand()->getID() == id2){
@@ -471,32 +448,21 @@ void SingleCoreCPU::latencies2XML(std::ostringstream& glob, int id1, int id2) {
 	return;
 }
 
-
-
-//TMLTime SingleCoreCPU::getNextSignalChange(bool iInit, std::string& oSigChange, bool& oNoMoreTrans){
 void SingleCoreCPU::getNextSignalChange(bool iInit, SignalChangeData* oSigData){
-  //new (oSigData) SignalChangeData(RUNNING, aCurrTrans->getStartTimeOperation(), this);
-  //std::ostringstream outp;
-  //oNoMoreTrans=false;
   if (iInit){
     _posTrasactListVCD=_transactList.begin();
     _previousTransEndTime=0;
-    _vcdOutputState=END_IDLE_CPU;
+    _vcdOutputState = END_IDLE_CPU;
     if (_posTrasactListVCD != _transactList.end() && (*_posTrasactListVCD)->getStartTime()!=0){
-      //outp << VCD_PREFIX << vcdValConvert(END_IDLE_CPU) << "cpu" << _ID;
-      //oSigChange=outp.str();
       new (oSigData) SignalChangeData(END_IDLE_CPU, 0, this);
-      //return 0
       return;
     }
   }
+
   if (_posTrasactListVCD == _transactList.end()){
-    //outp << VCD_PREFIX << vcdValConvert(END_IDLE_CPU) << "cpu" << _ID;
-    //oSigChange=outp.str();
-    //oNoMoreTrans=true;
-    //return _previousTransEndTime;
     new (oSigData) SignalChangeData(END_IDLE_CPU, _previousTransEndTime, this);
-  }else{
+  }
+  else{
     TMLTransaction* aCurrTrans=*_posTrasactListVCD;
     switch (_vcdOutputState){
     case END_TASK_CPU:
diff --git a/simulators/c++2/src_simulator/arch/SingleCoreCPU.h b/simulators/c++2/src_simulator/arch/SingleCoreCPU.h
index 3dad01c18fedc0ca1df9f0e85be190e893c94eaa..6d2d82a264e44da082180bab3bc235d394bc2ee0 100644
--- a/simulators/c++2/src_simulator/arch/SingleCoreCPU.h
+++ b/simulators/c++2/src_simulator/arch/SingleCoreCPU.h
@@ -100,11 +100,13 @@ public:
 	\return Short string representation
 	*/
 	std::string toShortString() const;
+
+	// Issue #4: Moved to class SchedulableDevice
 	///Writes a HTML representation of the schedule to an output file
 	/**
       	\param myfile Reference to the ofstream object representing the output file
     	*/
-	void schedule2HTML(std::ofstream& myfile) const;
+	//void schedule2HTML(std::ofstream& myfile) const;
 	void getNextSignalChange(bool iInit, SignalChangeData* oSigData);
 	///Writes a plain text representation of the schedule to an output file
 	/**
@@ -117,7 +119,7 @@ public:
     	*/
 	int allTrans2XML(std::ostringstream& glob, int maxNbOfTrans) const;
 
-	void latencies2XML(std::ostringstream& glob, int id1, int id2);
+	void latencies2XML(std::ostringstream& glob, unsigned int id1, unsigned int id2);
 
 	virtual void streamBenchmarks(std::ostream& s) const;
 	virtual void reset();
diff --git a/simulators/c++2/src_simulator/definitions.cpp b/simulators/c++2/src_simulator/definitions.cpp
index fe149d1f1c6a2d711dac57646b6265e40bb22978..0e735ba97b6e1fcc169b6e6b96fb41a740b43260 100644
--- a/simulators/c++2/src_simulator/definitions.cpp
+++ b/simulators/c++2/src_simulator/definitions.cpp
@@ -51,8 +51,6 @@ Ludovic Apvrille, Renaud Pacalet
 #include <LogConstraint.h>
 #include <sys/types.h>
 #include <unistd.h>
-//#include <MemPool.h>
-//#include <Parameter.h>
 
 TMLTime SchedulableDevice::_simulatedTime=0;
 TMLTime SchedulableDevice::_overallTransNo=0;
@@ -81,7 +79,6 @@ long getTimeDiff(struct timeval& begin, struct timeval& end){
 	return end.tv_usec-begin.tv_usec+(end.tv_sec-begin.tv_sec)*1000000;
 }
 
-
 /*bool greaterRunnableTime::operator()(TMLTransaction const* p1, TMLTransaction const* p2){
 	return p1->getRunnableTime() > p2->getRunnableTime();
 }
@@ -90,31 +87,43 @@ bool greaterPrio::operator()(TMLTransaction const* p1, TMLTransaction const* p2)
 	return p1->getCommand()->getTask()->getPriority() > p2->getCommand()->getTask()->getPriority();
 }*/
 
-bool greaterStartTime::operator()(TMLTransaction const* p1, TMLTransaction const* p2){
+bool greaterStartTime::operator()(	TMLTransaction const* p1,
+									TMLTransaction const* p2 ) {
 	return p1->getStartTime() > p2->getStartTime();
 }
 
-void replaceAll(std::string& ioHTML, std::string iSearch, std::string iReplace){
-	unsigned int aPos=0;
-	while (aPos< ioHTML.length() && (aPos= ioHTML.find(iSearch,aPos))!=std::string::npos){
-		ioHTML.replace(aPos++,iSearch.length(),iReplace);
+void replaceAll( 	std::string& ioHTML,
+					std::string iSearch,
+					std::string iReplace ) {
+	// Issue #4: aPos must be declared as size_type otherwise the comparison with npos does not work leading to a crash
+	std::string::size_type aPos = 0;
+//	unsigned int aPos=0;
+	while ( aPos < ioHTML.length() && ( aPos = ioHTML.find( iSearch, aPos ) ) != std::string::npos ) {
+		ioHTML.replace( aPos++, iSearch.length(), iReplace );
 	}
 }
 
+bool ends_with(std::string const& str, std::string const& suffix) {
+    return suffix.size() <= str.size() && str.find( suffix, str.size() - suffix.size()) != str.npos;
+}
+
 //std::string vcdValConvert(unsigned int iVal){
 //	if(iVal==1 || iVal==2) return "1"; else return "0";
 //}
 
-std::string vcdTimeConvert(TMLTime iVal){
+std::string vcdTimeConvert( TMLTime iVal ) {
 	std::string iResult;
+
 	do{
 		if (iVal & 1) iResult="1" + iResult; else iResult="0" + iResult;
 		iVal >>= 1;
 	}while(iVal);
+
 	return iResult;
 }
 
-int getexename(char* buf, size_t size){
+int getexename(	char* buf,
+				size_t size ) {
 	char linkname[64]; /* /proc/<pid>/exe */
 	pid_t pid;
 	int ret;
diff --git a/simulators/c++2/src_simulator/definitions.h b/simulators/c++2/src_simulator/definitions.h
index 4c8d5c2dcbf68b63f7dc5e1d9336767b3e5b6c33..cc088c70f6f0339ff5b2513b00fe2cfe88514b62 100644
--- a/simulators/c++2/src_simulator/definitions.h
+++ b/simulators/c++2/src_simulator/definitions.h
@@ -480,17 +480,19 @@ h2 span {\n \
 	background-color: blue;\n \
 	border-style: solid solid solid none;\n \
 }\n \
-.t14{background-color: black;}\n \
+.t14{\n \
+	background-color: LightGoldenRodYellow;\n\
+}\n \
 .t14first {\n \
-	background-color: black;\n \
+	background-color: LightGoldenRodYellow;\n \
 	border-style: solid none solid solid;\n \
 }\n \
 .t14mid {\n \
-	background-color: black;\n \
+	background-color: LightGoldenRodYellow;\n \
 	border-style: solid none solid none;\n \
 }\n \
 .t14last {\n \
-	background-color: black;\n \
+	background-color: LightGoldenRodYellow;\n \
 	border-style: solid solid solid none;\n \
 }"
 
@@ -753,6 +755,9 @@ long getTimeDiff(struct timeval& begin, struct timeval& end);
 	\param iReplace String which is filled in
 */
 void replaceAll(std::string& ioHTML, std::string iSearch, std::string iReplace);
+
+bool ends_with(std::string const& str, std::string const& suffix);
+
 inline std::string vcdValConvert(unsigned int iVal) {if(iVal==1 || iVal==2) return "1"; else return "0";}
 std::string vcdTimeConvert(TMLTime iVal);
 int getexename(char* buf, size_t size);
diff --git a/simulators/c++2/src_simulator/sim/Simulator.cpp b/simulators/c++2/src_simulator/sim/Simulator.cpp
index 1844718a733bcbfeef60a6d6125698d02b983a46..d031ef4dc21d75473942e18a529de3d5ec8b2af0 100644
--- a/simulators/c++2/src_simulator/sim/Simulator.cpp
+++ b/simulators/c++2/src_simulator/sim/Simulator.cpp
@@ -236,10 +236,6 @@ void Simulator::schedule2Graph(std::string& iTraceFileName) const{
   std::cout << "The Graph output took " << getTimeDiff(aBegin,aEnd) << "usec. File: " << iTraceFileName << std::endl;
 }
 
-bool ends_with(std::string const& str, std::string const& suffix) {
-    return suffix.size() <= str.size() && str.find( suffix, str.size() - suffix.size()) != str.npos;
-}
-
 void Simulator::schedule2TXT(std::string& iTraceFileName) const{
   struct timeval aBegin,aEnd;
   gettimeofday(&aBegin,NULL);