diff --git a/modeling/DIPLODOCUS/CloneCompositeComponentTest.xml b/modeling/DIPLODOCUS/CloneCompositeComponentTest.xml
index a589cd04ec8c340b2c5318c4f941f20be826d3d2..04e48d3f934dd1aa4684b0bdffc728c49a58e1ad 100644
--- a/modeling/DIPLODOCUS/CloneCompositeComponentTest.xml
+++ b/modeling/DIPLODOCUS/CloneCompositeComponentTest.xml
@@ -2,49 +2,84 @@
 
 <TURTLEGMODELING version="1.0beta">
 
-<Modeling type="TML Component Design" nameTab="DIPLODOCUS_C_Design" >
+<Modeling type="TML Component Design" nameTab="DIPLODOCUS_C_Design" tabs="TML Component Task Diagram$PrimitiveComp2$PrimitiveComp1$PrimitiveComp3$PrimitiveComp4$PrimitiveComp5" >
 <TMLComponentTaskDiagramPanel name="TML Component Task Diagram" minX="10" maxX="2500" minY="10" maxY="1500" channels="true" events="true" requests="true" zoom="1.0" >
-<CONNECTOR type="126" id="1" >
+<CONNECTOR type="126" id="4" >
+<cdparam x="424" y="585" />
+<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="424" y="585" id="29" />
+<P2  x="521" y="585" id="27" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="126" id="3" >
 <cdparam x="878" y="469" />
 <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="449" y="413" id="18" />
-<P2  x="597" y="413" id="5" />
+<P1  x="430" y="208" id="49" />
+<P2  x="564" y="209" id="62" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="2" >
 <cdparam x="1021" y="460" />
 <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="597" y="368" id="3" />
-<P2  x="449" y="368" id="16" />
+<P1  x="564" y="164" id="64" />
+<P2  x="430" y="163" id="51" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<COMPONENT type="1200" id="37" >
-<cdparam x="208" y="148" />
-<sizeparam width="672" height="511" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<CONNECTOR type="126" id="1" >
+<cdparam x="475" y="480" />
+<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="467" y="365" id="16" />
+<P2  x="514" y="364" id="5" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<COMPONENT type="1200" id="83" >
+<cdparam x="186" y="10" />
+<sizeparam width="672" height="618" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
-<infoparam name="Composite component" value="CompositeComponent" />
-<TGConnectingPoint num="0" id="29" />
-<TGConnectingPoint num="1" id="30" />
-<TGConnectingPoint num="2" id="31" />
-<TGConnectingPoint num="3" id="32" />
-<TGConnectingPoint num="4" id="33" />
-<TGConnectingPoint num="5" id="34" />
-<TGConnectingPoint num="6" id="35" />
-<TGConnectingPoint num="7" id="36" />
+<infoparam name="Composite component" value="CompositeComp1" />
+<TGConnectingPoint num="0" id="75" />
+<TGConnectingPoint num="1" id="76" />
+<TGConnectingPoint num="2" id="77" />
+<TGConnectingPoint num="3" id="78" />
+<TGConnectingPoint num="4" id="79" />
+<TGConnectingPoint num="5" id="80" />
+<TGConnectingPoint num="6" id="81" />
+<TGConnectingPoint num="7" id="82" />
 <extraparam>
 <info hiddeni="false" />
 </extraparam>
 </COMPONENT>
+<SUBCOMPONENT type="1200" id="48" >
+<father id="83" num="0" />
+<cdparam x="266" y="278" />
+<sizeparam width="471" height="329" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="0" maxX="201" minY="0" maxY="289" />
+<infoparam name="Composite component" value="CompositeComp2" />
+<TGConnectingPoint num="0" id="40" />
+<TGConnectingPoint num="1" id="41" />
+<TGConnectingPoint num="2" id="42" />
+<TGConnectingPoint num="3" id="43" />
+<TGConnectingPoint num="4" id="44" />
+<TGConnectingPoint num="5" id="45" />
+<TGConnectingPoint num="6" id="46" />
+<TGConnectingPoint num="7" id="47" />
+<extraparam>
+<info hiddeni="false" />
+</extraparam>
+</SUBCOMPONENT>
 <SUBCOMPONENT type="1202" id="15" >
-<father id="37" num="0" />
-<cdparam x="610" y="320" />
+<father id="48" num="0" />
+<cdparam x="527" y="316" />
 <sizeparam width="200" height="150" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="472" minY="0" maxY="361" />
-<infoparam name="Primitive component" value="PrimitiveComp2" />
+<cdrectangleparam minX="0" maxX="271" minY="0" maxY="179" />
+<infoparam name="Primitive component" value="PrimitiveComp4" />
 <TGConnectingPoint num="0" id="7" />
 <TGConnectingPoint num="1" id="8" />
 <TGConnectingPoint num="2" id="9" />
@@ -54,19 +89,19 @@
 <TGConnectingPoint num="6" id="13" />
 <TGConnectingPoint num="7" id="14" />
 <extraparam>
-<Data isAttacker="No" />
+<Data isAttacker="No" Operation="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="4" >
+<SUBCOMPONENT type="1203" id="6" >
 <father id="15" num="0" />
-<cdparam x="597" y="355" />
+<cdparam x="514" y="351" />
 <sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="-13" maxX="187" minY="-13" maxY="137" />
-<infoparam name="Primitive port" value="Channel channel" />
-<TGConnectingPoint num="0" id="3" />
+<infoparam name="Primitive port" value="Channel channel2" />
+<TGConnectingPoint num="0" id="5" />
 <extraparam>
-<Prop commName="channel" commType="0" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Prop commName="channel2" commType="0" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -74,16 +109,71 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="6" >
-<father id="15" num="1" />
-<cdparam x="597" y="400" />
+<SUBCOMPONENT type="1202" id="26" >
+<father id="48" num="1" />
+<cdparam x="285" y="318" />
+<sizeparam width="169" height="150" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="0" maxX="302" minY="0" maxY="179" />
+<infoparam name="Primitive component" value="PrimitiveComp3" />
+<TGConnectingPoint num="0" id="18" />
+<TGConnectingPoint num="1" id="19" />
+<TGConnectingPoint num="2" id="20" />
+<TGConnectingPoint num="3" id="21" />
+<TGConnectingPoint num="4" id="22" />
+<TGConnectingPoint num="5" id="23" />
+<TGConnectingPoint num="6" id="24" />
+<TGConnectingPoint num="7" id="25" />
+<extraparam>
+<Data isAttacker="No" Operation="" />
+</extraparam>
+</SUBCOMPONENT>
+<SUBCOMPONENT type="1203" id="17" >
+<father id="26" num="0" />
+<cdparam x="441" y="352" />
 <sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="187" minY="-13" maxY="137" />
-<infoparam name="Primitive port" value="Event event" />
-<TGConnectingPoint num="0" id="5" />
+<cdrectangleparam minX="-13" maxX="156" minY="-13" maxY="137" />
+<infoparam name="Primitive port" value="Channel channel2" />
+<TGConnectingPoint num="0" id="16" />
+<extraparam>
+<Prop commName="channel2" commType="0" origin="true" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+</extraparam>
+</SUBCOMPONENT>
+<SUBCOMPONENT type="1202" id="39" >
+<father id="48" num="2" />
+<cdparam x="399" y="491" />
+<sizeparam width="169" height="81" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="0" maxX="302" minY="0" maxY="248" />
+<infoparam name="Primitive component" value="PrimitiveComp5" />
+<TGConnectingPoint num="0" id="31" />
+<TGConnectingPoint num="1" id="32" />
+<TGConnectingPoint num="2" id="33" />
+<TGConnectingPoint num="3" id="34" />
+<TGConnectingPoint num="4" id="35" />
+<TGConnectingPoint num="5" id="36" />
+<TGConnectingPoint num="6" id="37" />
+<TGConnectingPoint num="7" id="38" />
 <extraparam>
-<Prop commName="event" commType="1" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Data isAttacker="No" Operation="" />
+</extraparam>
+</SUBCOMPONENT>
+<SUBCOMPONENT type="1203" id="28" >
+<father id="39" num="0" />
+<cdparam x="508" y="559" />
+<sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="-13" maxX="156" minY="-13" maxY="68" />
+<infoparam name="Primitive port" value="Channel channel3" />
+<TGConnectingPoint num="0" id="27" />
+<extraparam>
+<Prop commName="channel3" commType="0" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -91,35 +181,69 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1202" id="28" >
-<father id="37" num="1" />
-<cdparam x="236" y="321" />
+<SUBCOMPONENT type="1203" id="30" >
+<father id="39" num="1" />
+<cdparam x="411" y="559" />
+<sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="-13" maxX="156" minY="-13" maxY="68" />
+<infoparam name="Primitive port" value="Channel channel3" />
+<TGConnectingPoint num="0" id="29" />
+<extraparam>
+<Prop commName="channel3" commType="0" origin="true" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+</extraparam>
+</SUBCOMPONENT>
+<SUBCOMPONENT type="1202" id="61" >
+<father id="83" num="1" />
+<cdparam x="217" y="116" />
 <sizeparam width="200" height="150" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="472" minY="0" maxY="361" />
+<cdrectangleparam minX="0" maxX="472" minY="0" maxY="468" />
 <infoparam name="Primitive component" value="PrimitiveComp1" />
-<TGConnectingPoint num="0" id="20" />
-<TGConnectingPoint num="1" id="21" />
-<TGConnectingPoint num="2" id="22" />
-<TGConnectingPoint num="3" id="23" />
-<TGConnectingPoint num="4" id="24" />
-<TGConnectingPoint num="5" id="25" />
-<TGConnectingPoint num="6" id="26" />
-<TGConnectingPoint num="7" id="27" />
+<TGConnectingPoint num="0" id="53" />
+<TGConnectingPoint num="1" id="54" />
+<TGConnectingPoint num="2" id="55" />
+<TGConnectingPoint num="3" id="56" />
+<TGConnectingPoint num="4" id="57" />
+<TGConnectingPoint num="5" id="58" />
+<TGConnectingPoint num="6" id="59" />
+<TGConnectingPoint num="7" id="60" />
 <extraparam>
-<Data isAttacker="No" />
+<Data isAttacker="No" Operation="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="17" >
-<father id="28" num="0" />
-<cdparam x="423" y="355" />
+<SUBCOMPONENT type="1203" id="50" >
+<father id="61" num="0" />
+<cdparam x="404" y="195" />
+<sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="-13" maxX="187" minY="-13" maxY="137" />
+<infoparam name="Primitive port" value="Event event" />
+<TGConnectingPoint num="0" id="49" />
+<extraparam>
+<Prop commName="event" commType="1" origin="true" finite="true" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" />
+<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="52" >
+<father id="61" num="1" />
+<cdparam x="404" y="150" />
 <sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="-13" maxX="187" minY="-13" maxY="137" />
 <infoparam name="Primitive port" value="Channel channel" />
-<TGConnectingPoint num="0" id="16" />
+<TGConnectingPoint num="0" id="51" />
 <extraparam>
-<Prop commName="channel" commType="0" origin="true" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Prop commName="channel" commType="0" origin="true" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -127,16 +251,52 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="19" >
-<father id="28" num="1" />
-<cdparam x="423" y="400" />
+<SUBCOMPONENT type="1202" id="74" >
+<father id="83" num="2" />
+<cdparam x="577" y="116" />
+<sizeparam width="200" height="150" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="0" maxX="472" minY="0" maxY="468" />
+<infoparam name="Primitive component" value="PrimitiveComp2" />
+<TGConnectingPoint num="0" id="66" />
+<TGConnectingPoint num="1" id="67" />
+<TGConnectingPoint num="2" id="68" />
+<TGConnectingPoint num="3" id="69" />
+<TGConnectingPoint num="4" id="70" />
+<TGConnectingPoint num="5" id="71" />
+<TGConnectingPoint num="6" id="72" />
+<TGConnectingPoint num="7" id="73" />
+<extraparam>
+<Data isAttacker="No" Operation="" />
+</extraparam>
+</SUBCOMPONENT>
+<SUBCOMPONENT type="1203" id="63" >
+<father id="74" num="0" />
+<cdparam x="564" y="196" />
 <sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="-13" maxX="187" minY="-13" maxY="137" />
 <infoparam name="Primitive port" value="Event event" />
-<TGConnectingPoint num="0" id="18" />
+<TGConnectingPoint num="0" id="62" />
 <extraparam>
-<Prop commName="event" commType="1" origin="true" finite="true" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Prop commName="event" commType="1" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" />
+<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="65" >
+<father id="74" num="1" />
+<cdparam x="564" y="151" />
+<sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="-13" maxX="187" minY="-13" maxY="137" />
+<infoparam name="Primitive port" value="Channel channel" />
+<TGConnectingPoint num="0" id="64" />
+<extraparam>
+<Prop commName="channel" commType="0" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -148,289 +308,445 @@
 
 </TMLComponentTaskDiagramPanel>
 
-<TMLActivityDiagramPanel name="PrimitiveComp1" minX="10" maxX="2500" minY="10" maxY="1500" >
-<COMPONENT type="1001" id="150" >
-<cdparam x="397" y="440" />
+<TMLActivityDiagramPanel name="PrimitiveComp2" minX="10" maxX="2500" minY="10" maxY="1500" >
+<COMPONENT type="1001" id="99" >
+<cdparam x="520" y="416" />
 <sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
 <infoparam name="stop state" value="null" />
-<TGConnectingPoint num="0" id="149" />
+<TGConnectingPoint num="0" id="98" />
 </COMPONENT>
 
-<COMPONENT type="1001" id="152" >
-<cdparam x="302" y="444" />
+<COMPONENT type="1001" id="101" >
+<cdparam x="397" y="418" />
 <sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
 <infoparam name="stop state" value="null" />
-<TGConnectingPoint num="0" id="151" />
+<TGConnectingPoint num="0" id="100" />
 </COMPONENT>
 
-<COMPONENT type="1008" id="155" >
-<cdparam x="285" y="326" />
-<sizeparam width="55" height="20" minWidth="30" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<COMPONENT type="1010" id="104" >
+<cdparam x="501" y="302" />
+<sizeparam width="59" height="20" minWidth="30" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <enabled value="true" />
 <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
-<infoparam name="send event" value="event()" />
-<TGConnectingPoint num="0" id="153" />
-<TGConnectingPoint num="1" id="154" />
+<infoparam name="wait event" value="event() " />
+<TGConnectingPoint num="0" id="102" />
+<TGConnectingPoint num="1" id="103" />
 <extraparam>
 <Data eventName="event" nbOfParams="5" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1006" id="158" >
-<cdparam x="368" y="324" />
-<sizeparam width="78" height="20" minWidth="30" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<COMPONENT type="1009" id="107" >
+<cdparam x="366" y="296" />
+<sizeparam width="82" height="20" minWidth="30" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <enabled value="true" />
 <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
-<infoparam name="write channel" value="channel(1)" />
-<TGConnectingPoint num="0" id="156" />
-<TGConnectingPoint num="1" id="157" />
+<infoparam name="read channel" value="channel(1) " />
+<TGConnectingPoint num="0" id="105" />
+<TGConnectingPoint num="1" id="106" />
 <extraparam>
 <Data channelName="channel" nbOfSamples="1" secPattern="" isAttacker="No" isEncForm="Yes" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1012" id="166" >
-<cdparam x="392" y="183" />
+<COMPONENT type="1012" id="115" >
+<cdparam x="392" y="175" />
 <sizeparam width="30" height="30" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
 <infoparam name="choice" value="null" />
-<TGConnectingPoint num="0" id="162" />
-<TGConnectingPoint num="1" id="163" />
-<TGConnectingPoint num="2" id="164" />
-<TGConnectingPoint num="3" id="165" />
+<TGConnectingPoint num="0" id="111" />
+<TGConnectingPoint num="1" id="112" />
+<TGConnectingPoint num="2" id="113" />
+<TGConnectingPoint num="3" id="114" />
 </COMPONENT>
-<SUBCOMPONENT type="-1" id="159" >
-<father id="166" num="0" />
-<cdparam x="367" y="193" />
+<SUBCOMPONENT type="-1" id="108" >
+<father id="115" num="0" />
+<cdparam x="367" y="185" />
 <sizeparam width="14" height="15" minWidth="10" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="-75" maxX="-20" minY="10" maxY="35" />
 <infoparam name="guard 1" value="[ ]" />
 </SUBCOMPONENT>
-<SUBCOMPONENT type="-1" id="160" >
-<father id="166" num="1" />
-<cdparam x="427" y="193" />
+<SUBCOMPONENT type="-1" id="109" >
+<father id="115" num="1" />
+<cdparam x="427" y="185" />
 <sizeparam width="14" height="15" minWidth="10" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="35" maxX="55" minY="10" maxY="35" />
 <infoparam name="guard 2" value="[ ]" />
 </SUBCOMPONENT>
-<SUBCOMPONENT type="-1" id="161" >
-<father id="166" num="2" />
-<cdparam x="412" y="228" />
+<SUBCOMPONENT type="-1" id="110" >
+<father id="115" num="2" />
+<cdparam x="412" y="220" />
 <sizeparam width="14" height="15" minWidth="10" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="20" maxX="40" minY="45" maxY="70" />
 <infoparam name="guard 3" value="[ ]" />
 </SUBCOMPONENT>
 
-<COMPONENT type="1000" id="168" >
+<COMPONENT type="1000" id="117" >
 <cdparam x="400" y="50" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
 <infoparam name="start state" value="null" />
-<TGConnectingPoint num="0" id="167" />
+<TGConnectingPoint num="0" id="116" />
 </COMPONENT>
 
-<CONNECTOR type="115" id="170" >
-<cdparam x="367" y="198" />
+<CONNECTOR type="115" id="119" >
+<cdparam x="447" y="190" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="null" />
-<P1  x="367" y="198" id="163" />
-<P2  x="312" y="321" id="153" />
-<Point x="312" y="198" />
+<P1  x="447" y="190" id="113" />
+<P2  x="530" y="297" id="102" />
+<Point x="530" y="190" />
 <AutomaticDrawing  data="true" />
-</CONNECTOR><SUBCOMPONENT type="-1" id="169" >
-<father id="170" num="0" />
-<cdparam x="312" y="198" />
+</CONNECTOR><SUBCOMPONENT type="-1" id="118" >
+<father id="119" num="0" />
+<cdparam x="530" y="190" />
 <sizeparam width="1" height="1" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
 <infoparam name="point " value="null" />
 </SUBCOMPONENT>
 
-<CONNECTOR type="115" id="171" >
+<CONNECTOR type="115" id="120" >
 <cdparam x="407" y="65" />
 <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="65" id="167" />
-<P2  x="407" y="173" id="162" />
+<P1  x="407" y="65" id="116" />
+<P2  x="407" y="165" id="111" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="172" >
-<cdparam x="407" y="238" />
+<CONNECTOR type="115" id="121" >
+<cdparam x="407" y="230" />
 <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="238" id="165" />
-<P2  x="407" y="319" id="156" />
+<P1  x="407" y="230" id="114" />
+<P2  x="407" y="291" id="105" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="173" >
-<cdparam x="312" y="351" />
+<CONNECTOR type="115" id="122" >
+<cdparam x="407" y="321" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="null" />
-<P1  x="312" y="351" id="154" />
-<P2  x="312" y="439" id="151" />
+<P1  x="407" y="321" id="106" />
+<P2  x="407" y="413" id="100" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="174" >
-<cdparam x="407" y="349" />
+<CONNECTOR type="115" id="123" >
+<cdparam x="530" 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="407" y="349" id="157" />
-<P2  x="407" y="435" id="149" />
+<P1  x="530" y="327" id="103" />
+<P2  x="530" y="411" id="98" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 
 </TMLActivityDiagramPanel>
 
-<TMLActivityDiagramPanel name="PrimitiveComp2" minX="10" maxX="2500" minY="10" maxY="1500" >
-<COMPONENT type="1001" id="176" >
-<cdparam x="520" y="416" />
+<TMLActivityDiagramPanel name="PrimitiveComp1" minX="10" maxX="2500" minY="10" maxY="1500" >
+<COMPONENT type="1001" id="125" >
+<cdparam x="397" y="440" />
 <sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
 <infoparam name="stop state" value="null" />
-<TGConnectingPoint num="0" id="175" />
+<TGConnectingPoint num="0" id="124" />
 </COMPONENT>
 
-<COMPONENT type="1001" id="178" >
-<cdparam x="397" y="418" />
+<COMPONENT type="1001" id="127" >
+<cdparam x="302" y="444" />
 <sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
 <infoparam name="stop state" value="null" />
-<TGConnectingPoint num="0" id="177" />
+<TGConnectingPoint num="0" id="126" />
 </COMPONENT>
 
-<COMPONENT type="1010" id="181" >
-<cdparam x="501" y="302" />
-<sizeparam width="59" height="20" minWidth="30" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<COMPONENT type="1008" id="130" >
+<cdparam x="285" y="326" />
+<sizeparam width="55" height="20" minWidth="30" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <enabled value="true" />
 <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
-<infoparam name="wait event" value="event() " />
-<TGConnectingPoint num="0" id="179" />
-<TGConnectingPoint num="1" id="180" />
+<infoparam name="send event" value="event()" />
+<TGConnectingPoint num="0" id="128" />
+<TGConnectingPoint num="1" id="129" />
 <extraparam>
 <Data eventName="event" nbOfParams="5" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1009" id="184" >
-<cdparam x="366" y="296" />
-<sizeparam width="82" height="20" minWidth="30" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<COMPONENT type="1006" id="133" >
+<cdparam x="368" y="324" />
+<sizeparam width="78" height="20" minWidth="30" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <enabled value="true" />
 <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
-<infoparam name="read channel" value="channel(1) " />
-<TGConnectingPoint num="0" id="182" />
-<TGConnectingPoint num="1" id="183" />
+<infoparam name="write channel" value="channel(1)" />
+<TGConnectingPoint num="0" id="131" />
+<TGConnectingPoint num="1" id="132" />
 <extraparam>
 <Data channelName="channel" nbOfSamples="1" secPattern="" isAttacker="No" isEncForm="Yes" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1012" id="192" >
-<cdparam x="392" y="175" />
+<COMPONENT type="1012" id="141" >
+<cdparam x="392" y="183" />
 <sizeparam width="30" height="30" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
 <infoparam name="choice" value="null" />
-<TGConnectingPoint num="0" id="188" />
-<TGConnectingPoint num="1" id="189" />
-<TGConnectingPoint num="2" id="190" />
-<TGConnectingPoint num="3" id="191" />
+<TGConnectingPoint num="0" id="137" />
+<TGConnectingPoint num="1" id="138" />
+<TGConnectingPoint num="2" id="139" />
+<TGConnectingPoint num="3" id="140" />
 </COMPONENT>
-<SUBCOMPONENT type="-1" id="185" >
-<father id="192" num="0" />
-<cdparam x="367" y="185" />
+<SUBCOMPONENT type="-1" id="134" >
+<father id="141" num="0" />
+<cdparam x="367" y="193" />
 <sizeparam width="14" height="15" minWidth="10" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="-75" maxX="-20" minY="10" maxY="35" />
 <infoparam name="guard 1" value="[ ]" />
 </SUBCOMPONENT>
-<SUBCOMPONENT type="-1" id="186" >
-<father id="192" num="1" />
-<cdparam x="427" y="185" />
+<SUBCOMPONENT type="-1" id="135" >
+<father id="141" num="1" />
+<cdparam x="427" y="193" />
 <sizeparam width="14" height="15" minWidth="10" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="35" maxX="55" minY="10" maxY="35" />
 <infoparam name="guard 2" value="[ ]" />
 </SUBCOMPONENT>
-<SUBCOMPONENT type="-1" id="187" >
-<father id="192" num="2" />
-<cdparam x="412" y="220" />
+<SUBCOMPONENT type="-1" id="136" >
+<father id="141" num="2" />
+<cdparam x="412" y="228" />
 <sizeparam width="14" height="15" minWidth="10" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="20" maxX="40" minY="45" maxY="70" />
 <infoparam name="guard 3" value="[ ]" />
 </SUBCOMPONENT>
 
-<COMPONENT type="1000" id="194" >
+<COMPONENT type="1000" id="143" >
 <cdparam x="400" y="50" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
 <infoparam name="start state" value="null" />
-<TGConnectingPoint num="0" id="193" />
+<TGConnectingPoint num="0" id="142" />
 </COMPONENT>
 
-<CONNECTOR type="115" id="196" >
-<cdparam x="447" y="190" />
+<CONNECTOR type="115" id="145" >
+<cdparam x="367" y="198" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="null" />
-<P1  x="447" y="190" id="190" />
-<P2  x="530" y="297" id="179" />
-<Point x="530" y="190" />
+<P1  x="367" y="198" id="138" />
+<P2  x="312" y="321" id="128" />
+<Point x="312" y="198" />
 <AutomaticDrawing  data="true" />
-</CONNECTOR><SUBCOMPONENT type="-1" id="195" >
-<father id="196" num="0" />
-<cdparam x="530" y="190" />
+</CONNECTOR><SUBCOMPONENT type="-1" id="144" >
+<father id="145" num="0" />
+<cdparam x="312" y="198" />
 <sizeparam width="1" height="1" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
 <infoparam name="point " value="null" />
 </SUBCOMPONENT>
 
-<CONNECTOR type="115" id="197" >
+<CONNECTOR type="115" id="146" >
 <cdparam x="407" y="65" />
 <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="65" id="193" />
-<P2  x="407" y="165" id="188" />
+<P1  x="407" y="65" id="142" />
+<P2  x="407" y="173" id="137" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="198" >
-<cdparam x="407" y="230" />
+<CONNECTOR type="115" id="147" >
+<cdparam x="407" y="238" />
 <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="230" id="191" />
-<P2  x="407" y="291" id="182" />
+<P1  x="407" y="238" id="140" />
+<P2  x="407" y="319" id="131" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="199" >
-<cdparam x="407" y="321" />
+<CONNECTOR type="115" id="148" >
+<cdparam x="312" y="351" />
 <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="321" id="183" />
-<P2  x="407" y="413" id="177" />
+<P1  x="312" y="351" id="129" />
+<P2  x="312" y="439" id="126" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="200" >
-<cdparam x="530" y="327" />
+<CONNECTOR type="115" id="149" >
+<cdparam x="407" y="349" />
+<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="349" id="132" />
+<P2  x="407" y="435" id="124" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+
+</TMLActivityDiagramPanel>
+
+<TMLActivityDiagramPanel name="PrimitiveComp3" minX="10" maxX="2500" minY="10" maxY="1500" >
+<COMPONENT type="1001" id="151" >
+<cdparam x="397" y="269" />
+<sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="stop state" value="null" />
+<TGConnectingPoint num="0" id="150" />
+</COMPONENT>
+
+<COMPONENT type="1006" id="154" >
+<cdparam x="364" y="143" />
+<sizeparam width="86" height="20" minWidth="30" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<enabled value="true" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="write channel" value="channel2(1)" />
+<TGConnectingPoint num="0" id="152" />
+<TGConnectingPoint num="1" id="153" />
+<extraparam>
+<Data channelName="channel2" nbOfSamples="1" secPattern="" isAttacker="No" isEncForm="Yes" />
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="1000" id="156" >
+<cdparam x="400" y="50" />
+<sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="start state" value="null" />
+<TGConnectingPoint num="0" id="155" />
+</COMPONENT>
+
+<CONNECTOR type="115" id="157" >
+<cdparam x="407" y="168" />
+<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="168" id="153" />
+<P2  x="407" y="264" id="150" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="115" id="158" >
+<cdparam x="407" y="65" />
+<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="65" id="155" />
+<P2  x="407" y="138" id="152" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+
+</TMLActivityDiagramPanel>
+
+<TMLActivityDiagramPanel name="PrimitiveComp4" minX="10" maxX="2500" minY="10" maxY="1500" >
+<COMPONENT type="1001" id="160" >
+<cdparam x="397" y="274" />
+<sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="stop state" value="null" />
+<TGConnectingPoint num="0" id="159" />
+</COMPONENT>
+
+<COMPONENT type="1009" id="163" >
+<cdparam x="362" y="162" />
+<sizeparam width="90" height="20" minWidth="30" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<enabled value="true" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="read channel" value="channel2(1) " />
+<TGConnectingPoint num="0" id="161" />
+<TGConnectingPoint num="1" id="162" />
+<extraparam>
+<Data channelName="channel2" nbOfSamples="1" secPattern="" isAttacker="No" isEncForm="Yes" />
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="1000" id="165" >
+<cdparam x="400" y="50" />
+<sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="start state" value="null" />
+<TGConnectingPoint num="0" id="164" />
+</COMPONENT>
+
+<CONNECTOR type="115" id="166" >
+<cdparam x="407" y="65" />
+<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="65" id="164" />
+<P2  x="407" y="157" id="161" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="115" id="167" >
+<cdparam x="407" y="187" />
+<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="187" id="162" />
+<P2  x="407" y="269" id="159" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+
+</TMLActivityDiagramPanel>
+
+<TMLActivityDiagramPanel name="PrimitiveComp5" minX="10" maxX="2500" minY="10" maxY="1500" >
+<COMPONENT type="1001" id="169" >
+<cdparam x="397" y="269" />
+<sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="stop state" value="null" />
+<TGConnectingPoint num="0" id="168" />
+</COMPONENT>
+
+<COMPONENT type="1006" id="172" >
+<cdparam x="364" y="143" />
+<sizeparam width="86" height="20" minWidth="30" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<enabled value="true" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="write channel" value="channel3(1)" />
+<TGConnectingPoint num="0" id="170" />
+<TGConnectingPoint num="1" id="171" />
+<extraparam>
+<Data channelName="channel3" nbOfSamples="1" secPattern="" isAttacker="No" isEncForm="Yes" />
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="1000" id="174" >
+<cdparam x="400" y="50" />
+<sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="start state" value="null" />
+<TGConnectingPoint num="0" id="173" />
+</COMPONENT>
+
+<CONNECTOR type="115" id="175" >
+<cdparam x="407" y="168" />
+<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="168" id="171" />
+<P2  x="407" y="264" id="168" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="115" id="176" >
+<cdparam x="407" y="65" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="null" />
-<P1  x="530" y="327" id="180" />
-<P2  x="530" y="411" id="175" />
+<P1  x="407" y="65" id="173" />
+<P2  x="407" y="138" id="170" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 
diff --git a/src/main/java/ui/GTURTLEModeling.java b/src/main/java/ui/GTURTLEModeling.java
index 447af3532b6e57aacd6b5b523e2ca94da8f58745..a1f2294a07a46545e8ca66a91c1505aa71b3b841 100644
--- a/src/main/java/ui/GTURTLEModeling.java
+++ b/src/main/java/ui/GTURTLEModeling.java
@@ -3593,7 +3593,7 @@ public class GTURTLEModeling {
     }
 
 
-    public String makeXMLFromSelectedComponentOfADiagram(TDiagramPanel tdp, int copyMaxId, int _decX, int _decY) {
+    public String makeXMLFromSelectedComponentOfADiagram(TDiagramPanel tdp, int copyMaxId, int _decX, int _decY, boolean cloneEvenIfNonNullFather) {
         StringBuffer sb = new StringBuffer();
         //TraceManager.addDev("Making copy");
 
@@ -3608,7 +3608,7 @@ public class GTURTLEModeling {
         StringBuffer s;
         String str;
 
-        s = tdp.saveSelectedInXML();
+        s = tdp.saveSelectedInXML(cloneEvenIfNonNullFather);
 
         final Vector<TCDTClass> classes = tdp.selectedTclasses();
 
diff --git a/src/main/java/ui/TDiagramPanel.java b/src/main/java/ui/TDiagramPanel.java
index 8204b5d618e0597573d78377c895a4c4fdc1ccfd..627dee2aebd218157715b675af13011a0e95874b 100644
--- a/src/main/java/ui/TDiagramPanel.java
+++ b/src/main/java/ui/TDiagramPanel.java
@@ -627,8 +627,8 @@ public abstract class TDiagramPanel extends JPanel implements GenericTree {
         mode = NORMAL;
     }
 
-    public StringBuffer saveSelectedInXML() {
-        StringBuffer s = componentsInXML(true);
+    public StringBuffer saveSelectedInXML(boolean cloneEvenIfNonNullFather) {
+        StringBuffer s = componentsInXML(true, cloneEvenIfNonNullFather);
         if (s == null) {
             return null;
         }
@@ -638,7 +638,7 @@ public abstract class TDiagramPanel extends JPanel implements GenericTree {
         sb.append("\n");
         sb.append(getXMLSelectedTail());
 
-        //TraceManager.addDev("xml of selected components:" + sb);
+        //TraceManager.addDev("XML of selected components:" + sb);
 
         return sb;
     }
@@ -663,28 +663,37 @@ public abstract class TDiagramPanel extends JPanel implements GenericTree {
         sb.append(tgc.saveInXML());
         sb.append("\n");
         sb.append(getXMLCloneTail());
-        //TraceManager.addDev("sb=\n" + sb);
+        TraceManager.addDev("sb=\n" + sb);
         return sb;
     }
 
     private StringBuffer componentsInXML(boolean selected) {
+        return componentsInXML(selected, false);
+    }
+
+    private StringBuffer componentsInXML(boolean selected, boolean cloneEvenIfNonNullFather) {
         StringBuffer sb = new StringBuffer();
         StringBuffer s;
 
         //Added by Solange to see the components in the list
         //    LinkedList<TGComponent> ruteoList = this.componentList;
         //
-        for (TGComponent tgc : this.componentList) {
+
+        for (TGComponent tgc : this.getAllComponent()){
+        //for (TGComponent tgc : this.componentList) {
             if ((selected == false) || (tgc.isSelected())) {
-                s = tgc.saveInXML();
-                if (s == null) {
-                    return null;
-                }
-                sb.append(s);
-                sb.append("\n");
+               if((tgc.getFather() == null) || (cloneEvenIfNonNullFather)) {
+                   //TraceManager.addDev("Cloning:" + tgc);
+                   s = tgc.saveInXML(true, cloneEvenIfNonNullFather);
+                   //TraceManager.addDev("Saving component in xml:" + s);
+                   if (s == null) {
+                       return null;
+                   }
+                   sb.append(s);
+                   sb.append("\n");
+               }
             }
         }
-
         return sb;
     }
 
@@ -1051,6 +1060,24 @@ public abstract class TDiagramPanel extends JPanel implements GenericTree {
         return ll;
     }
 
+    //issue 186
+    // get all list of all primitive components, composite components and connectors
+    public List<TGComponent> getAllComponent() {
+        List<TGComponent> ll = new LinkedList<TGComponent>();
+        ll.addAll(this.componentList);
+        for (TGComponent tgc : this.componentList) {
+            if (tgc instanceof TMLCCompositeComponent) {
+                for(TGComponent tg : ((TMLCCompositeComponent)tgc).getRecursiveAllInternalComponent()) {
+                    if(tg instanceof TMLCCompositeComponent) {
+                        ll.add(tg);
+                    }
+                }
+                ll.addAll(((TMLCCompositeComponent)tgc).getAllPrimitiveComponents());
+            }
+        }
+        return ll;
+    }
+
     // Adding connector
     public void addingTGConnector() {
         listPoint = new Vector<Point>();
@@ -1361,23 +1388,26 @@ public abstract class TDiagramPanel extends JPanel implements GenericTree {
         return v;
     }
 
+
+    //issue 186
     public Vector<TMLCPrimitiveComponent> selectedCPrimitiveComponent() {
         Vector<TMLCPrimitiveComponent> v = null;
 
-        for (TGComponent tgc : this.componentList)
+        for (TGComponent tgc : this.getAllComponent()){
             if (tgc.isSelected()) {
                 if (tgc instanceof TMLCPrimitiveComponent) {
                     if (v == null)
                         v = new Vector<TMLCPrimitiveComponent>();
                     v.addElement((TMLCPrimitiveComponent) tgc);
                 }
+            }
 
-                if (tgc instanceof TMLCCompositeComponent) {
-                    if (v == null)
-                        v = new Vector<TMLCPrimitiveComponent>();
-                    v.addAll(((TMLCCompositeComponent) (tgc)).getAllPrimitiveComponents());
-                }
+            if (tgc instanceof TMLCCompositeComponent) {
+                if (v == null)
+                    v = new Vector<TMLCPrimitiveComponent>();
+                v.addAll(((TMLCCompositeComponent) (tgc)).getAllPrimitiveComponents());
             }
+        }
 
         return v;
     }
@@ -1707,7 +1737,8 @@ public abstract class TDiagramPanel extends JPanel implements GenericTree {
         }
 
         if (e.getSource() == clone) {
-            cloneComponent(componentPopup.getTopFather());
+            //issue 186
+            cloneComponent(componentPopup, true);
             repaint();
             return;
         }
@@ -2191,7 +2222,7 @@ public abstract class TDiagramPanel extends JPanel implements GenericTree {
     }
 
     public void makeCut() {
-        copyData = mgui.gtm.makeXMLFromSelectedComponentOfADiagram(this, getMaxIdSelected(), xSel, ySel);
+        copyData = mgui.gtm.makeXMLFromSelectedComponentOfADiagram(this, getMaxIdSelected(), xSel, ySel, false);
         removeAllSelectedComponents();
         mgui.changeMade(this, REMOVE_COMPONENT);
         mode = NORMAL;
@@ -2200,13 +2231,13 @@ public abstract class TDiagramPanel extends JPanel implements GenericTree {
     }
 
     public void makeCopy() {
-        copyData = mgui.gtm.makeXMLFromSelectedComponentOfADiagram(this, getMaxIdSelected(), xSel, ySel);
+        copyData = mgui.gtm.makeXMLFromSelectedComponentOfADiagram(this, getMaxIdSelected(), xSel, ySel, false);
         mgui.setMode(MainGUI.PASTE_OK);
         return;
     }
 
     public void saveAsLibrary() {
-        String data = mgui.gtm.makeXMLFromSelectedComponentOfADiagram(this, getMaxIdSelected(), xSel, ySel);
+        String data = mgui.gtm.makeXMLFromSelectedComponentOfADiagram(this, getMaxIdSelected(), xSel, ySel, false);
         mgui.saveAsLibrary(data);
         return;
     }
@@ -2371,11 +2402,16 @@ public abstract class TDiagramPanel extends JPanel implements GenericTree {
         }
     }
 
+
+    public void cloneComponent(TGComponent _tgc) {
+        cloneComponent(_tgc, true);
+    }
+
     /*
      * #issue 82
      * new cloneComponent added by Minh Hiep
      */
-    public void cloneComponent(TGComponent _tgc) {
+    public void cloneComponent(TGComponent _tgc, boolean cloneEvenIfNonNullFather) {
         String clone;
 
         Vector<TGComponent> connectorList = new Vector<>();
@@ -2398,7 +2434,8 @@ public abstract class TDiagramPanel extends JPanel implements GenericTree {
             }
         }
 
-        clone = mgui.gtm.makeXMLFromSelectedComponentOfADiagram(this, getMaxIdSelected(), _tgc.getX(), _tgc.getY());
+        clone = mgui.gtm.makeXMLFromSelectedComponentOfADiagram(this, getMaxIdSelected(), _tgc.getX(), _tgc.getY(), cloneEvenIfNonNullFather);
+        //TraceManager.addDev(clone);
 
         _tgc.select(false);
         for(int i = 0; i < connectorList.size(); i++){
@@ -2414,7 +2451,7 @@ public abstract class TDiagramPanel extends JPanel implements GenericTree {
             JOptionPane.showMessageDialog(mgui.getFrame(), "Clone creation failed", "Exception", JOptionPane.INFORMATION_MESSAGE);
         }
 
-        bringToBack(_tgc);
+        bringToBack(_tgc.getTopFather());
         for (int i = 0; i < componentList.size(); i ++){
             if (componentList.get(i) instanceof TGConnector) {
                 TGComponent t = componentList.get(i);
@@ -2536,10 +2573,10 @@ public abstract class TDiagramPanel extends JPanel implements GenericTree {
 
     public int getMaxIdSelected() {
         int ret = 0;
-        for (TGComponent tgc : this.componentList)
+        //issue 186
+        for (TGComponent tgc : this.getAllComponent())
             if (tgc.isSelected())
                 ret = Math.max(ret, tgc.getMaxId());
-
         return ret;
     }
 
diff --git a/src/main/java/ui/TGComponent.java b/src/main/java/ui/TGComponent.java
index 7839e8076d8c8d46d4609ae0774acfd66d7f238a..b075ae7ddb5dbfbe91e9e129161b544d937c3e44 100644
--- a/src/main/java/ui/TGComponent.java
+++ b/src/main/java/ui/TGComponent.java
@@ -3079,12 +3079,12 @@ public abstract class TGComponent  extends AbstractCDElement implements /*CDElem
 
     // saving
     public StringBuffer saveInXML() {
-        return saveInXML(true);
+        return saveInXML(true, false);
     }
 
-    protected StringBuffer saveInXML(boolean saveSubComponents) {
+    protected StringBuffer saveInXML(boolean saveSubComponents, boolean saveAsComponentEvenIfNonNullFather) {
         StringBuffer sb = null;
-        boolean b = (father == null);
+        boolean b = (father == null) || saveAsComponentEvenIfNonNullFather;
         if (b) {
             sb = new StringBuffer(XML_HEAD);
         } else {
@@ -3362,7 +3362,7 @@ public abstract class TGComponent  extends AbstractCDElement implements /*CDElem
     }
 
     public void searchForText(String text, Vector<Object> elements) {
-        String save = saveInXML(false).toString().toLowerCase();
+        String save = saveInXML(false, false).toString().toLowerCase();
         if (save.indexOf(text) >= 0) {
             //TraceManager.addDev("Found " + this);
             elements.add(this);
diff --git a/src/main/java/ui/TGConnector.java b/src/main/java/ui/TGConnector.java
index 55a43f5a26fc74f21b6038afa3ddaacd7c35f465..7c32074a4a0ca4763f84088d46ac23fc187c8b8a 100644
--- a/src/main/java/ui/TGConnector.java
+++ b/src/main/java/ui/TGConnector.java
@@ -727,8 +727,9 @@ public abstract class TGConnector extends TGCScalableWithInternalComponent {
 
     }
 
+
     @Override
-    public StringBuffer saveInXML() {
+    public StringBuffer saveInXML(boolean saveSubComponents, boolean saveAsComponentEvenIfNonNullFather) {
         StringBuffer sb = new StringBuffer(XML_CONNECTOR_HEAD);
         sb.append(getType());
         sb.append(XML_ID);
diff --git a/ttool/src/test/java/ui/TDiagramPanelCloneTest.java b/ttool/src/test/java/ui/TDiagramPanelCloneTest.java
index a3e5e483df6639fac883de718290dd2e15653aaa..9c45c4de51ad9092811b68dbc381aa6cb99c0e36 100644
--- a/ttool/src/test/java/ui/TDiagramPanelCloneTest.java
+++ b/ttool/src/test/java/ui/TDiagramPanelCloneTest.java
@@ -15,8 +15,12 @@ import static org.junit.Assert.*;
 public class TDiagramPanelCloneTest extends AbstractUITest {
 
     static TDiagramPanel diagramPanel;
-    static  TGComponent tgComponent;
-    final static String EXPECTED_FILE = getBaseResourcesDir() + "tmltranslator/expected/expected_spec.tml";
+    static  TGComponent tgComponent1;
+    static TGComponent tgComponent2;
+    static TGComponent tgComponent3;
+    final static String EXPECTED_FILE1 = getBaseResourcesDir() + "tmltranslator/expected/expected_spec1.tml";
+    final static String EXPECTED_FILE2 = getBaseResourcesDir() + "tmltranslator/expected/expected_spec2.tml";
+    final static String EXPECTED_FILE3 = getBaseResourcesDir() + "tmltranslator/expected/expected_spec3.tml";
 
 
     @BeforeClass
@@ -45,23 +49,58 @@ public class TDiagramPanelCloneTest extends AbstractUITest {
             }
         }
 
-        //tgComponent = findDiagComponent(238, diagramPanel);
-        for (TGComponent tgc : diagramPanel.getComponentList()) {
-            if (tgc instanceof TMLCCompositeComponent) {
-                tgComponent = tgc;
+        for (TGComponent tgc : diagramPanel.getAllComponent()) {
+            if (tgc.getValue().equals("CompositeComp1")) {
+                tgComponent1 = tgc;
+            }
+
+            if (tgc.getValue().equals("CompositeComp2")) {
+                tgComponent2 = tgc;
+            }
+
+            if (tgc.getValue().equals("PrimitiveComp5")) {
+                tgComponent3 = tgc;
             }
         }
     }
 
-    @Test
-    public void testCloneComponent() throws Exception{
+   @Test
+    public void testCloneCompositeComponentWithNullFather() throws Exception{
         CompareTML compTML = new CompareTML();
-        diagramPanel.cloneComponent(tgComponent);
+        diagramPanel.cloneComponent(tgComponent1);
        // mainGUI.modelChecking();
         mainGUI.checkModelingSyntax(true);
         mainGUI.generateTMLTxt();
-        File f1 = new File(EXPECTED_FILE);
+        File f1 = new File(EXPECTED_FILE1);
+        File f2 = new File("spec.tml");  // Generated file after executing "TML generation"
+        assertTrue(compTML.compareTML(f1,f2));
+    }
+
+    @Test
+    public void testCloneCompositeComponentWithNonNullFather() throws Exception {
+        CompareTML compTML = new CompareTML();
+        diagramPanel.cloneComponent(tgComponent2);
+        // mainGUI.modelChecking();
+        mainGUI.checkModelingSyntax(true);
+        mainGUI.generateTMLTxt();
+        File f1 = new File(EXPECTED_FILE2);
         File f2 = new File("spec.tml");  // Generated file after executing "TML generation"
         assertTrue(compTML.compareTML(f1,f2));
     }
+
+    @Test
+    public void testClonePrimitiveComponent() throws Exception {
+        CompareTML compTML = new CompareTML();
+        diagramPanel.cloneComponent(tgComponent3);
+        // mainGUI.modelChecking();
+        mainGUI.checkModelingSyntax(true);
+        mainGUI.generateTMLTxt();
+        File f1 = new File(EXPECTED_FILE3);
+        File f2 = new File("spec.tml");  // Generated file after executing "TML generation"
+        assertTrue(compTML.compareTML(f1,f2));
+    }
+
+
+
+
 }
\ No newline at end of file
diff --git a/ttool/src/test/resources/tmltranslator/expected/expected_spec1.tml b/ttool/src/test/resources/tmltranslator/expected/expected_spec1.tml
new file mode 100644
index 0000000000000000000000000000000000000000..8128892e0da6b20b246217d5a855fa97fa442e27
--- /dev/null
+++ b/ttool/src/test/resources/tmltranslator/expected/expected_spec1.tml
@@ -0,0 +1,125 @@
+// TML Application - FORMAT 0.1
+// Application: /home/pham/Documents/TToolHelp/TTool/modeling/DIPLODOCUS/CloneCompositeComponentTest.xml
+// Generated: Wed Mar 20 17:19:43 CET 2019
+
+// Channels
+CHANNEL DIPLODOCUS_C_Design__channel BRBW 4 8 OUT DIPLODOCUS_C_Design__PrimitiveComp1 IN DIPLODOCUS_C_Design__PrimitiveComp2
+CHANNEL DIPLODOCUS_C_Design__channel2 BRBW 4 8 OUT DIPLODOCUS_C_Design__PrimitiveComp3 IN DIPLODOCUS_C_Design__PrimitiveComp4
+CHANNEL DIPLODOCUS_C_Design__channel2_0 BRBW 4 8 OUT DIPLODOCUS_C_Design__PrimitiveComp3_0 IN DIPLODOCUS_C_Design__PrimitiveComp4_0
+CHANNEL DIPLODOCUS_C_Design__channel3 BRBW 4 8 OUT DIPLODOCUS_C_Design__PrimitiveComp5 IN DIPLODOCUS_C_Design__PrimitiveComp5
+CHANNEL DIPLODOCUS_C_Design__channel3_0 BRBW 4 8 OUT DIPLODOCUS_C_Design__PrimitiveComp5_0 IN DIPLODOCUS_C_Design__PrimitiveComp5_0
+CHANNEL DIPLODOCUS_C_Design__channel_0 BRBW 4 8 OUT DIPLODOCUS_C_Design__PrimitiveComp1_0 IN DIPLODOCUS_C_Design__PrimitiveComp2_0
+
+// Events
+EVENT DIPLODOCUS_C_Design__event_0__DIPLODOCUS_C_Design__event_0() NIB 8 DIPLODOCUS_C_Design__PrimitiveComp1_0 DIPLODOCUS_C_Design__PrimitiveComp2_0
+EVENT DIPLODOCUS_C_Design__event__DIPLODOCUS_C_Design__event() NIB 8 DIPLODOCUS_C_Design__PrimitiveComp1 DIPLODOCUS_C_Design__PrimitiveComp2
+
+// Requests
+
+TASK DIPLODOCUS_C_Design__PrimitiveComp1
+    TASKOP
+    //Local variables
+
+    //Behavior
+    RAND
+        CASERAND 50
+            NOTIFY DIPLODOCUS_C_Design__event__DIPLODOCUS_C_Design__event
+        ENDCASERAND
+        CASERAND 50
+            WRITE DIPLODOCUS_C_Design__channel 1
+        ENDCASERAND
+    ENDRAND
+ENDTASK
+
+TASK DIPLODOCUS_C_Design__PrimitiveComp1_0
+    TASKOP
+    //Local variables
+
+    //Behavior
+    RAND
+        CASERAND 50
+            NOTIFY DIPLODOCUS_C_Design__event_0__DIPLODOCUS_C_Design__event_0
+        ENDCASERAND
+        CASERAND 50
+            WRITE DIPLODOCUS_C_Design__channel_0 1
+        ENDCASERAND
+    ENDRAND
+ENDTASK
+
+TASK DIPLODOCUS_C_Design__PrimitiveComp2
+    TASKOP
+    //Local variables
+
+    //Behavior
+    RAND
+        CASERAND 50
+            WAIT DIPLODOCUS_C_Design__event__DIPLODOCUS_C_Design__event
+        ENDCASERAND
+        CASERAND 50
+            READ DIPLODOCUS_C_Design__channel 1
+        ENDCASERAND
+    ENDRAND
+ENDTASK
+
+TASK DIPLODOCUS_C_Design__PrimitiveComp2_0
+    TASKOP
+    //Local variables
+
+    //Behavior
+    RAND
+        CASERAND 50
+            WAIT DIPLODOCUS_C_Design__event_0__DIPLODOCUS_C_Design__event_0
+        ENDCASERAND
+        CASERAND 50
+            READ DIPLODOCUS_C_Design__channel_0 1
+        ENDCASERAND
+    ENDRAND
+ENDTASK
+
+TASK DIPLODOCUS_C_Design__PrimitiveComp3
+    TASKOP
+    //Local variables
+
+    //Behavior
+    WRITE DIPLODOCUS_C_Design__channel2 1
+ENDTASK
+
+TASK DIPLODOCUS_C_Design__PrimitiveComp3_0
+    TASKOP
+    //Local variables
+
+    //Behavior
+    WRITE DIPLODOCUS_C_Design__channel2_0 1
+ENDTASK
+
+TASK DIPLODOCUS_C_Design__PrimitiveComp4
+    TASKOP
+    //Local variables
+
+    //Behavior
+    READ DIPLODOCUS_C_Design__channel2 1
+ENDTASK
+
+TASK DIPLODOCUS_C_Design__PrimitiveComp4_0
+    TASKOP
+    //Local variables
+
+    //Behavior
+    READ DIPLODOCUS_C_Design__channel2_0 1
+ENDTASK
+
+TASK DIPLODOCUS_C_Design__PrimitiveComp5
+    TASKOP
+    //Local variables
+
+    //Behavior
+    WRITE DIPLODOCUS_C_Design__channel3 1
+ENDTASK
+
+TASK DIPLODOCUS_C_Design__PrimitiveComp5_0
+    TASKOP
+    //Local variables
+
+    //Behavior
+    WRITE DIPLODOCUS_C_Design__channel3_0 1
+ENDTASK
diff --git a/ttool/src/test/resources/tmltranslator/expected/expected_spec2.tml b/ttool/src/test/resources/tmltranslator/expected/expected_spec2.tml
new file mode 100644
index 0000000000000000000000000000000000000000..8f19b86de6469783e1b7476003b902eae972fbd8
--- /dev/null
+++ b/ttool/src/test/resources/tmltranslator/expected/expected_spec2.tml
@@ -0,0 +1,93 @@
+// TML Application - FORMAT 0.1
+// Application: /home/pham/Documents/TToolHelp/TTool/modeling/DIPLODOCUS/CloneCompositeComponentTest.xml
+// Generated: Wed Mar 20 17:20:10 CET 2019
+
+// Channels
+CHANNEL DIPLODOCUS_C_Design__channel BRBW 4 8 OUT DIPLODOCUS_C_Design__PrimitiveComp1 IN DIPLODOCUS_C_Design__PrimitiveComp2
+CHANNEL DIPLODOCUS_C_Design__channel2 BRBW 4 8 OUT DIPLODOCUS_C_Design__PrimitiveComp3 IN DIPLODOCUS_C_Design__PrimitiveComp4
+CHANNEL DIPLODOCUS_C_Design__channel2_0 BRBW 4 8 OUT DIPLODOCUS_C_Design__PrimitiveComp3_0 IN DIPLODOCUS_C_Design__PrimitiveComp4_0
+CHANNEL DIPLODOCUS_C_Design__channel3 BRBW 4 8 OUT DIPLODOCUS_C_Design__PrimitiveComp5 IN DIPLODOCUS_C_Design__PrimitiveComp5
+CHANNEL DIPLODOCUS_C_Design__channel3_0 BRBW 4 8 OUT DIPLODOCUS_C_Design__PrimitiveComp5_0 IN DIPLODOCUS_C_Design__PrimitiveComp5_0
+
+// Events
+EVENT DIPLODOCUS_C_Design__event__DIPLODOCUS_C_Design__event() NIB 8 DIPLODOCUS_C_Design__PrimitiveComp1 DIPLODOCUS_C_Design__PrimitiveComp2
+
+// Requests
+
+TASK DIPLODOCUS_C_Design__PrimitiveComp1
+    TASKOP
+    //Local variables
+
+    //Behavior
+    RAND
+        CASERAND 50
+            NOTIFY DIPLODOCUS_C_Design__event__DIPLODOCUS_C_Design__event
+        ENDCASERAND
+        CASERAND 50
+            WRITE DIPLODOCUS_C_Design__channel 1
+        ENDCASERAND
+    ENDRAND
+ENDTASK
+
+TASK DIPLODOCUS_C_Design__PrimitiveComp2
+    TASKOP
+    //Local variables
+
+    //Behavior
+    RAND
+        CASERAND 50
+            WAIT DIPLODOCUS_C_Design__event__DIPLODOCUS_C_Design__event
+        ENDCASERAND
+        CASERAND 50
+            READ DIPLODOCUS_C_Design__channel 1
+        ENDCASERAND
+    ENDRAND
+ENDTASK
+
+TASK DIPLODOCUS_C_Design__PrimitiveComp3
+    TASKOP
+    //Local variables
+
+    //Behavior
+    WRITE DIPLODOCUS_C_Design__channel2 1
+ENDTASK
+
+TASK DIPLODOCUS_C_Design__PrimitiveComp3_0
+    TASKOP
+    //Local variables
+
+    //Behavior
+    WRITE DIPLODOCUS_C_Design__channel2_0 1
+ENDTASK
+
+TASK DIPLODOCUS_C_Design__PrimitiveComp4
+    TASKOP
+    //Local variables
+
+    //Behavior
+    READ DIPLODOCUS_C_Design__channel2 1
+ENDTASK
+
+TASK DIPLODOCUS_C_Design__PrimitiveComp4_0
+    TASKOP
+    //Local variables
+
+    //Behavior
+    READ DIPLODOCUS_C_Design__channel2_0 1
+ENDTASK
+
+TASK DIPLODOCUS_C_Design__PrimitiveComp5
+    TASKOP
+    //Local variables
+
+    //Behavior
+    WRITE DIPLODOCUS_C_Design__channel3 1
+ENDTASK
+
+TASK DIPLODOCUS_C_Design__PrimitiveComp5_0
+    TASKOP
+    //Local variables
+
+    //Behavior
+    WRITE DIPLODOCUS_C_Design__channel3_0 1
+ENDTASK
diff --git a/ttool/src/test/resources/tmltranslator/expected/expected_spec3.tml b/ttool/src/test/resources/tmltranslator/expected/expected_spec3.tml
new file mode 100644
index 0000000000000000000000000000000000000000..470fe006780e4868e1f2d7ba0ca9fa10165dfbc7
--- /dev/null
+++ b/ttool/src/test/resources/tmltranslator/expected/expected_spec3.tml
@@ -0,0 +1,76 @@
+// TML Application - FORMAT 0.1
+// Application: /home/pham/Documents/TToolHelp/TTool/modeling/DIPLODOCUS/CloneCompositeComponentTest.xml
+// Generated: Wed Mar 20 17:20:50 CET 2019
+
+// Channels
+CHANNEL DIPLODOCUS_C_Design__channel BRBW 4 8 OUT DIPLODOCUS_C_Design__PrimitiveComp1 IN DIPLODOCUS_C_Design__PrimitiveComp2
+CHANNEL DIPLODOCUS_C_Design__channel2 BRBW 4 8 OUT DIPLODOCUS_C_Design__PrimitiveComp3 IN DIPLODOCUS_C_Design__PrimitiveComp4
+CHANNEL DIPLODOCUS_C_Design__channel3 BRBW 4 8 OUT DIPLODOCUS_C_Design__PrimitiveComp5 IN DIPLODOCUS_C_Design__PrimitiveComp5
+CHANNEL DIPLODOCUS_C_Design__channel3_0 BRBW 4 8 OUT DIPLODOCUS_C_Design__PrimitiveComp5_0 IN DIPLODOCUS_C_Design__PrimitiveComp5_0
+
+// Events
+EVENT DIPLODOCUS_C_Design__event__DIPLODOCUS_C_Design__event() NIB 8 DIPLODOCUS_C_Design__PrimitiveComp1 DIPLODOCUS_C_Design__PrimitiveComp2
+
+// Requests
+
+TASK DIPLODOCUS_C_Design__PrimitiveComp1
+    TASKOP
+    //Local variables
+
+    //Behavior
+    RAND
+        CASERAND 50
+            NOTIFY DIPLODOCUS_C_Design__event__DIPLODOCUS_C_Design__event
+        ENDCASERAND
+        CASERAND 50
+            WRITE DIPLODOCUS_C_Design__channel 1
+        ENDCASERAND
+    ENDRAND
+ENDTASK
+
+TASK DIPLODOCUS_C_Design__PrimitiveComp2
+    TASKOP
+    //Local variables
+
+    //Behavior
+    RAND
+        CASERAND 50
+            WAIT DIPLODOCUS_C_Design__event__DIPLODOCUS_C_Design__event
+        ENDCASERAND
+        CASERAND 50
+            READ DIPLODOCUS_C_Design__channel 1
+        ENDCASERAND
+    ENDRAND
+ENDTASK
+
+TASK DIPLODOCUS_C_Design__PrimitiveComp3
+    TASKOP
+    //Local variables
+
+    //Behavior
+    WRITE DIPLODOCUS_C_Design__channel2 1
+ENDTASK
+
+TASK DIPLODOCUS_C_Design__PrimitiveComp4
+    TASKOP
+    //Local variables
+
+    //Behavior
+    READ DIPLODOCUS_C_Design__channel2 1
+ENDTASK
+
+TASK DIPLODOCUS_C_Design__PrimitiveComp5
+    TASKOP
+    //Local variables
+
+    //Behavior
+    WRITE DIPLODOCUS_C_Design__channel3 1
+ENDTASK
+
+TASK DIPLODOCUS_C_Design__PrimitiveComp5_0
+    TASKOP
+    //Local variables
+
+    //Behavior
+    WRITE DIPLODOCUS_C_Design__channel3_0 1
+ENDTASK
diff --git a/ttool/src/test/resources/ui/diagram2tml/input/CloneCompositeComponentTest.xml b/ttool/src/test/resources/ui/diagram2tml/input/CloneCompositeComponentTest.xml
index b976cd6ea2d2ed9712d515005d2224fbec95dc5a..04e48d3f934dd1aa4684b0bdffc728c49a58e1ad 100644
--- a/ttool/src/test/resources/ui/diagram2tml/input/CloneCompositeComponentTest.xml
+++ b/ttool/src/test/resources/ui/diagram2tml/input/CloneCompositeComponentTest.xml
@@ -2,49 +2,84 @@
 
 <TURTLEGMODELING version="1.0beta">
 
-<Modeling type="TML Component Design" nameTab="DIPLODOCUS_C_Design" tabs="TML Component Task Diagram$PrimitiveComp2$PrimitiveComp1" >
+<Modeling type="TML Component Design" nameTab="DIPLODOCUS_C_Design" tabs="TML Component Task Diagram$PrimitiveComp2$PrimitiveComp1$PrimitiveComp3$PrimitiveComp4$PrimitiveComp5" >
 <TMLComponentTaskDiagramPanel name="TML Component Task Diagram" minX="10" maxX="2500" minY="10" maxY="1500" channels="true" events="true" requests="true" zoom="1.0" >
-<CONNECTOR type="126" id="1" >
+<CONNECTOR type="126" id="4" >
+<cdparam x="424" y="585" />
+<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="424" y="585" id="29" />
+<P2  x="521" y="585" id="27" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="126" id="3" >
 <cdparam x="878" y="469" />
 <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="449" y="413" id="3" />
-<P2  x="597" y="413" id="16" />
+<P1  x="430" y="208" id="49" />
+<P2  x="564" y="209" id="62" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="2" >
 <cdparam x="1021" y="460" />
 <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="597" y="368" id="18" />
-<P2  x="449" y="368" id="5" />
+<P1  x="564" y="164" id="64" />
+<P2  x="430" y="163" id="51" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="126" id="1" >
+<cdparam x="475" y="480" />
+<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="467" y="365" id="16" />
+<P2  x="514" y="364" id="5" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<COMPONENT type="1200" id="37" >
-<cdparam x="208" y="148" />
-<sizeparam width="672" height="511" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<COMPONENT type="1200" id="83" >
+<cdparam x="186" y="10" />
+<sizeparam width="672" height="618" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
-<infoparam name="Composite component" value="CompositeComponent" />
-<TGConnectingPoint num="0" id="29" />
-<TGConnectingPoint num="1" id="30" />
-<TGConnectingPoint num="2" id="31" />
-<TGConnectingPoint num="3" id="32" />
-<TGConnectingPoint num="4" id="33" />
-<TGConnectingPoint num="5" id="34" />
-<TGConnectingPoint num="6" id="35" />
-<TGConnectingPoint num="7" id="36" />
+<infoparam name="Composite component" value="CompositeComp1" />
+<TGConnectingPoint num="0" id="75" />
+<TGConnectingPoint num="1" id="76" />
+<TGConnectingPoint num="2" id="77" />
+<TGConnectingPoint num="3" id="78" />
+<TGConnectingPoint num="4" id="79" />
+<TGConnectingPoint num="5" id="80" />
+<TGConnectingPoint num="6" id="81" />
+<TGConnectingPoint num="7" id="82" />
 <extraparam>
 <info hiddeni="false" />
 </extraparam>
 </COMPONENT>
+<SUBCOMPONENT type="1200" id="48" >
+<father id="83" num="0" />
+<cdparam x="266" y="278" />
+<sizeparam width="471" height="329" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="0" maxX="201" minY="0" maxY="289" />
+<infoparam name="Composite component" value="CompositeComp2" />
+<TGConnectingPoint num="0" id="40" />
+<TGConnectingPoint num="1" id="41" />
+<TGConnectingPoint num="2" id="42" />
+<TGConnectingPoint num="3" id="43" />
+<TGConnectingPoint num="4" id="44" />
+<TGConnectingPoint num="5" id="45" />
+<TGConnectingPoint num="6" id="46" />
+<TGConnectingPoint num="7" id="47" />
+<extraparam>
+<info hiddeni="false" />
+</extraparam>
+</SUBCOMPONENT>
 <SUBCOMPONENT type="1202" id="15" >
-<father id="37" num="0" />
-<cdparam x="236" y="321" />
+<father id="48" num="0" />
+<cdparam x="527" y="316" />
 <sizeparam width="200" height="150" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="472" minY="0" maxY="361" />
-<infoparam name="Primitive component" value="PrimitiveComp1" />
+<cdrectangleparam minX="0" maxX="271" minY="0" maxY="179" />
+<infoparam name="Primitive component" value="PrimitiveComp4" />
 <TGConnectingPoint num="0" id="7" />
 <TGConnectingPoint num="1" id="8" />
 <TGConnectingPoint num="2" id="9" />
@@ -54,19 +89,144 @@
 <TGConnectingPoint num="6" id="13" />
 <TGConnectingPoint num="7" id="14" />
 <extraparam>
-<Data isAttacker="No" Operation="todo1" />
+<Data isAttacker="No" Operation="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="4" >
+<SUBCOMPONENT type="1203" id="6" >
 <father id="15" num="0" />
-<cdparam x="423" y="400" />
+<cdparam x="514" y="351" />
+<sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="-13" maxX="187" minY="-13" maxY="137" />
+<infoparam name="Primitive port" value="Channel channel2" />
+<TGConnectingPoint num="0" id="5" />
+<extraparam>
+<Prop commName="channel2" commType="0" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+</extraparam>
+</SUBCOMPONENT>
+<SUBCOMPONENT type="1202" id="26" >
+<father id="48" num="1" />
+<cdparam x="285" y="318" />
+<sizeparam width="169" height="150" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="0" maxX="302" minY="0" maxY="179" />
+<infoparam name="Primitive component" value="PrimitiveComp3" />
+<TGConnectingPoint num="0" id="18" />
+<TGConnectingPoint num="1" id="19" />
+<TGConnectingPoint num="2" id="20" />
+<TGConnectingPoint num="3" id="21" />
+<TGConnectingPoint num="4" id="22" />
+<TGConnectingPoint num="5" id="23" />
+<TGConnectingPoint num="6" id="24" />
+<TGConnectingPoint num="7" id="25" />
+<extraparam>
+<Data isAttacker="No" Operation="" />
+</extraparam>
+</SUBCOMPONENT>
+<SUBCOMPONENT type="1203" id="17" >
+<father id="26" num="0" />
+<cdparam x="441" y="352" />
+<sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="-13" maxX="156" minY="-13" maxY="137" />
+<infoparam name="Primitive port" value="Channel channel2" />
+<TGConnectingPoint num="0" id="16" />
+<extraparam>
+<Prop commName="channel2" commType="0" origin="true" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+</extraparam>
+</SUBCOMPONENT>
+<SUBCOMPONENT type="1202" id="39" >
+<father id="48" num="2" />
+<cdparam x="399" y="491" />
+<sizeparam width="169" height="81" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="0" maxX="302" minY="0" maxY="248" />
+<infoparam name="Primitive component" value="PrimitiveComp5" />
+<TGConnectingPoint num="0" id="31" />
+<TGConnectingPoint num="1" id="32" />
+<TGConnectingPoint num="2" id="33" />
+<TGConnectingPoint num="3" id="34" />
+<TGConnectingPoint num="4" id="35" />
+<TGConnectingPoint num="5" id="36" />
+<TGConnectingPoint num="6" id="37" />
+<TGConnectingPoint num="7" id="38" />
+<extraparam>
+<Data isAttacker="No" Operation="" />
+</extraparam>
+</SUBCOMPONENT>
+<SUBCOMPONENT type="1203" id="28" >
+<father id="39" num="0" />
+<cdparam x="508" y="559" />
+<sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="-13" maxX="156" minY="-13" maxY="68" />
+<infoparam name="Primitive port" value="Channel channel3" />
+<TGConnectingPoint num="0" id="27" />
+<extraparam>
+<Prop commName="channel3" commType="0" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" />
+<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="30" >
+<father id="39" num="1" />
+<cdparam x="411" y="559" />
+<sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="-13" maxX="156" minY="-13" maxY="68" />
+<infoparam name="Primitive port" value="Channel channel3" />
+<TGConnectingPoint num="0" id="29" />
+<extraparam>
+<Prop commName="channel3" commType="0" origin="true" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+</extraparam>
+</SUBCOMPONENT>
+<SUBCOMPONENT type="1202" id="61" >
+<father id="83" num="1" />
+<cdparam x="217" y="116" />
+<sizeparam width="200" height="150" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="0" maxX="472" minY="0" maxY="468" />
+<infoparam name="Primitive component" value="PrimitiveComp1" />
+<TGConnectingPoint num="0" id="53" />
+<TGConnectingPoint num="1" id="54" />
+<TGConnectingPoint num="2" id="55" />
+<TGConnectingPoint num="3" id="56" />
+<TGConnectingPoint num="4" id="57" />
+<TGConnectingPoint num="5" id="58" />
+<TGConnectingPoint num="6" id="59" />
+<TGConnectingPoint num="7" id="60" />
+<extraparam>
+<Data isAttacker="No" Operation="" />
+</extraparam>
+</SUBCOMPONENT>
+<SUBCOMPONENT type="1203" id="50" >
+<father id="61" num="0" />
+<cdparam x="404" y="195" />
 <sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="-13" maxX="187" minY="-13" maxY="137" />
 <infoparam name="Primitive port" value="Event event" />
-<TGConnectingPoint num="0" id="3" />
+<TGConnectingPoint num="0" id="49" />
 <extraparam>
-<Prop commName="event" commType="1" origin="true" finite="true" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Prop commName="event" commType="1" origin="true" finite="true" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -74,16 +234,16 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="6" >
-<father id="15" num="1" />
-<cdparam x="423" y="355" />
+<SUBCOMPONENT type="1203" id="52" >
+<father id="61" num="1" />
+<cdparam x="404" y="150" />
 <sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="-13" maxX="187" minY="-13" maxY="137" />
 <infoparam name="Primitive port" value="Channel channel" />
-<TGConnectingPoint num="0" id="5" />
+<TGConnectingPoint num="0" id="51" />
 <extraparam>
-<Prop commName="channel" commType="0" origin="true" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Prop commName="channel" commType="0" origin="true" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -91,35 +251,35 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1202" id="28" >
-<father id="37" num="1" />
-<cdparam x="610" y="320" />
+<SUBCOMPONENT type="1202" id="74" >
+<father id="83" num="2" />
+<cdparam x="577" y="116" />
 <sizeparam width="200" height="150" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="472" minY="0" maxY="361" />
+<cdrectangleparam minX="0" maxX="472" minY="0" maxY="468" />
 <infoparam name="Primitive component" value="PrimitiveComp2" />
-<TGConnectingPoint num="0" id="20" />
-<TGConnectingPoint num="1" id="21" />
-<TGConnectingPoint num="2" id="22" />
-<TGConnectingPoint num="3" id="23" />
-<TGConnectingPoint num="4" id="24" />
-<TGConnectingPoint num="5" id="25" />
-<TGConnectingPoint num="6" id="26" />
-<TGConnectingPoint num="7" id="27" />
+<TGConnectingPoint num="0" id="66" />
+<TGConnectingPoint num="1" id="67" />
+<TGConnectingPoint num="2" id="68" />
+<TGConnectingPoint num="3" id="69" />
+<TGConnectingPoint num="4" id="70" />
+<TGConnectingPoint num="5" id="71" />
+<TGConnectingPoint num="6" id="72" />
+<TGConnectingPoint num="7" id="73" />
 <extraparam>
-<Data isAttacker="No" Operation="todo2" />
+<Data isAttacker="No" Operation="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="17" >
-<father id="28" num="0" />
-<cdparam x="597" y="400" />
+<SUBCOMPONENT type="1203" id="63" >
+<father id="74" num="0" />
+<cdparam x="564" y="196" />
 <sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="-13" maxX="187" minY="-13" maxY="137" />
 <infoparam name="Primitive port" value="Event event" />
-<TGConnectingPoint num="0" id="16" />
+<TGConnectingPoint num="0" id="62" />
 <extraparam>
-<Prop commName="event" commType="1" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Prop commName="event" commType="1" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -127,16 +287,16 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="19" >
-<father id="28" num="1" />
-<cdparam x="597" y="355" />
+<SUBCOMPONENT type="1203" id="65" >
+<father id="74" num="1" />
+<cdparam x="564" y="151" />
 <sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="-13" maxX="187" minY="-13" maxY="137" />
 <infoparam name="Primitive port" value="Channel channel" />
-<TGConnectingPoint num="0" id="18" />
+<TGConnectingPoint num="0" id="64" />
 <extraparam>
-<Prop commName="channel" commType="0" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Prop commName="channel" commType="0" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -149,81 +309,81 @@
 </TMLComponentTaskDiagramPanel>
 
 <TMLActivityDiagramPanel name="PrimitiveComp2" minX="10" maxX="2500" minY="10" maxY="1500" >
-<COMPONENT type="1001" id="39" >
+<COMPONENT type="1001" id="99" >
 <cdparam x="520" y="416" />
 <sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
 <infoparam name="stop state" value="null" />
-<TGConnectingPoint num="0" id="38" />
+<TGConnectingPoint num="0" id="98" />
 </COMPONENT>
 
-<COMPONENT type="1001" id="41" >
+<COMPONENT type="1001" id="101" >
 <cdparam x="397" y="418" />
 <sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
 <infoparam name="stop state" value="null" />
-<TGConnectingPoint num="0" id="40" />
+<TGConnectingPoint num="0" id="100" />
 </COMPONENT>
 
-<COMPONENT type="1010" id="44" >
+<COMPONENT type="1010" id="104" >
 <cdparam x="501" y="302" />
 <sizeparam width="59" height="20" minWidth="30" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <enabled value="true" />
 <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
 <infoparam name="wait event" value="event() " />
-<TGConnectingPoint num="0" id="42" />
-<TGConnectingPoint num="1" id="43" />
+<TGConnectingPoint num="0" id="102" />
+<TGConnectingPoint num="1" id="103" />
 <extraparam>
 <Data eventName="event" nbOfParams="5" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1009" id="47" >
+<COMPONENT type="1009" id="107" >
 <cdparam x="366" y="296" />
 <sizeparam width="82" height="20" minWidth="30" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <enabled value="true" />
 <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
 <infoparam name="read channel" value="channel(1) " />
-<TGConnectingPoint num="0" id="45" />
-<TGConnectingPoint num="1" id="46" />
+<TGConnectingPoint num="0" id="105" />
+<TGConnectingPoint num="1" id="106" />
 <extraparam>
 <Data channelName="channel" nbOfSamples="1" secPattern="" isAttacker="No" isEncForm="Yes" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1012" id="55" >
+<COMPONENT type="1012" id="115" >
 <cdparam x="392" y="175" />
 <sizeparam width="30" height="30" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
 <infoparam name="choice" value="null" />
-<TGConnectingPoint num="0" id="51" />
-<TGConnectingPoint num="1" id="52" />
-<TGConnectingPoint num="2" id="53" />
-<TGConnectingPoint num="3" id="54" />
+<TGConnectingPoint num="0" id="111" />
+<TGConnectingPoint num="1" id="112" />
+<TGConnectingPoint num="2" id="113" />
+<TGConnectingPoint num="3" id="114" />
 </COMPONENT>
-<SUBCOMPONENT type="-1" id="48" >
-<father id="55" num="0" />
+<SUBCOMPONENT type="-1" id="108" >
+<father id="115" num="0" />
 <cdparam x="367" y="185" />
 <sizeparam width="14" height="15" minWidth="10" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="-75" maxX="-20" minY="10" maxY="35" />
 <infoparam name="guard 1" value="[ ]" />
 </SUBCOMPONENT>
-<SUBCOMPONENT type="-1" id="49" >
-<father id="55" num="1" />
+<SUBCOMPONENT type="-1" id="109" >
+<father id="115" num="1" />
 <cdparam x="427" y="185" />
 <sizeparam width="14" height="15" minWidth="10" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="35" maxX="55" minY="10" maxY="35" />
 <infoparam name="guard 2" value="[ ]" />
 </SUBCOMPONENT>
-<SUBCOMPONENT type="-1" id="50" >
-<father id="55" num="2" />
+<SUBCOMPONENT type="-1" id="110" >
+<father id="115" num="2" />
 <cdparam x="412" y="220" />
 <sizeparam width="14" height="15" minWidth="10" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
@@ -231,25 +391,25 @@
 <infoparam name="guard 3" value="[ ]" />
 </SUBCOMPONENT>
 
-<COMPONENT type="1000" id="57" >
+<COMPONENT type="1000" id="117" >
 <cdparam x="400" y="50" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
 <infoparam name="start state" value="null" />
-<TGConnectingPoint num="0" id="56" />
+<TGConnectingPoint num="0" id="116" />
 </COMPONENT>
 
-<CONNECTOR type="115" id="59" >
+<CONNECTOR type="115" id="119" >
 <cdparam x="447" y="190" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="null" />
-<P1  x="447" y="190" id="53" />
-<P2  x="530" y="297" id="42" />
+<P1  x="447" y="190" id="113" />
+<P2  x="530" y="297" id="102" />
 <Point x="530" y="190" />
 <AutomaticDrawing  data="true" />
-</CONNECTOR><SUBCOMPONENT type="-1" id="58" >
-<father id="59" num="0" />
+</CONNECTOR><SUBCOMPONENT type="-1" id="118" >
+<father id="119" num="0" />
 <cdparam x="530" y="190" />
 <sizeparam width="1" height="1" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
@@ -257,117 +417,117 @@
 <infoparam name="point " value="null" />
 </SUBCOMPONENT>
 
-<CONNECTOR type="115" id="60" >
+<CONNECTOR type="115" id="120" >
 <cdparam x="407" y="65" />
 <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="65" id="56" />
-<P2  x="407" y="165" id="51" />
+<P1  x="407" y="65" id="116" />
+<P2  x="407" y="165" id="111" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="61" >
+<CONNECTOR type="115" id="121" >
 <cdparam x="407" y="230" />
 <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="230" id="54" />
-<P2  x="407" y="291" id="45" />
+<P1  x="407" y="230" id="114" />
+<P2  x="407" y="291" id="105" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="62" >
+<CONNECTOR type="115" id="122" >
 <cdparam x="407" y="321" />
 <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="321" id="46" />
-<P2  x="407" y="413" id="40" />
+<P1  x="407" y="321" id="106" />
+<P2  x="407" y="413" id="100" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="63" >
+<CONNECTOR type="115" id="123" >
 <cdparam x="530" 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="530" y="327" id="43" />
-<P2  x="530" y="411" id="38" />
+<P1  x="530" y="327" id="103" />
+<P2  x="530" y="411" id="98" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 
 </TMLActivityDiagramPanel>
 
 <TMLActivityDiagramPanel name="PrimitiveComp1" minX="10" maxX="2500" minY="10" maxY="1500" >
-<COMPONENT type="1001" id="65" >
+<COMPONENT type="1001" id="125" >
 <cdparam x="397" y="440" />
 <sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
 <infoparam name="stop state" value="null" />
-<TGConnectingPoint num="0" id="64" />
+<TGConnectingPoint num="0" id="124" />
 </COMPONENT>
 
-<COMPONENT type="1001" id="67" >
+<COMPONENT type="1001" id="127" >
 <cdparam x="302" y="444" />
 <sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
 <infoparam name="stop state" value="null" />
-<TGConnectingPoint num="0" id="66" />
+<TGConnectingPoint num="0" id="126" />
 </COMPONENT>
 
-<COMPONENT type="1008" id="70" >
+<COMPONENT type="1008" id="130" >
 <cdparam x="285" y="326" />
 <sizeparam width="55" height="20" minWidth="30" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <enabled value="true" />
 <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
 <infoparam name="send event" value="event()" />
-<TGConnectingPoint num="0" id="68" />
-<TGConnectingPoint num="1" id="69" />
+<TGConnectingPoint num="0" id="128" />
+<TGConnectingPoint num="1" id="129" />
 <extraparam>
 <Data eventName="event" nbOfParams="5" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1006" id="73" >
+<COMPONENT type="1006" id="133" >
 <cdparam x="368" y="324" />
 <sizeparam width="78" height="20" minWidth="30" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <enabled value="true" />
 <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
 <infoparam name="write channel" value="channel(1)" />
-<TGConnectingPoint num="0" id="71" />
-<TGConnectingPoint num="1" id="72" />
+<TGConnectingPoint num="0" id="131" />
+<TGConnectingPoint num="1" id="132" />
 <extraparam>
 <Data channelName="channel" nbOfSamples="1" secPattern="" isAttacker="No" isEncForm="Yes" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1012" id="81" >
+<COMPONENT type="1012" id="141" >
 <cdparam x="392" y="183" />
 <sizeparam width="30" height="30" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
 <infoparam name="choice" value="null" />
-<TGConnectingPoint num="0" id="77" />
-<TGConnectingPoint num="1" id="78" />
-<TGConnectingPoint num="2" id="79" />
-<TGConnectingPoint num="3" id="80" />
+<TGConnectingPoint num="0" id="137" />
+<TGConnectingPoint num="1" id="138" />
+<TGConnectingPoint num="2" id="139" />
+<TGConnectingPoint num="3" id="140" />
 </COMPONENT>
-<SUBCOMPONENT type="-1" id="74" >
-<father id="81" num="0" />
+<SUBCOMPONENT type="-1" id="134" >
+<father id="141" num="0" />
 <cdparam x="367" y="193" />
 <sizeparam width="14" height="15" minWidth="10" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="-75" maxX="-20" minY="10" maxY="35" />
 <infoparam name="guard 1" value="[ ]" />
 </SUBCOMPONENT>
-<SUBCOMPONENT type="-1" id="75" >
-<father id="81" num="1" />
+<SUBCOMPONENT type="-1" id="135" >
+<father id="141" num="1" />
 <cdparam x="427" y="193" />
 <sizeparam width="14" height="15" minWidth="10" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="35" maxX="55" minY="10" maxY="35" />
 <infoparam name="guard 2" value="[ ]" />
 </SUBCOMPONENT>
-<SUBCOMPONENT type="-1" id="76" >
-<father id="81" num="2" />
+<SUBCOMPONENT type="-1" id="136" >
+<father id="141" num="2" />
 <cdparam x="412" y="228" />
 <sizeparam width="14" height="15" minWidth="10" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
@@ -375,25 +535,25 @@
 <infoparam name="guard 3" value="[ ]" />
 </SUBCOMPONENT>
 
-<COMPONENT type="1000" id="83" >
+<COMPONENT type="1000" id="143" >
 <cdparam x="400" y="50" />
 <sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
 <infoparam name="start state" value="null" />
-<TGConnectingPoint num="0" id="82" />
+<TGConnectingPoint num="0" id="142" />
 </COMPONENT>
 
-<CONNECTOR type="115" id="85" >
+<CONNECTOR type="115" id="145" >
 <cdparam x="367" y="198" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="null" />
-<P1  x="367" y="198" id="78" />
-<P2  x="312" y="321" id="68" />
+<P1  x="367" y="198" id="138" />
+<P2  x="312" y="321" id="128" />
 <Point x="312" y="198" />
 <AutomaticDrawing  data="true" />
-</CONNECTOR><SUBCOMPONENT type="-1" id="84" >
-<father id="85" num="0" />
+</CONNECTOR><SUBCOMPONENT type="-1" id="144" >
+<father id="145" num="0" />
 <cdparam x="312" y="198" />
 <sizeparam width="1" height="1" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
@@ -401,36 +561,192 @@
 <infoparam name="point " value="null" />
 </SUBCOMPONENT>
 
-<CONNECTOR type="115" id="86" >
+<CONNECTOR type="115" id="146" >
 <cdparam x="407" y="65" />
 <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="65" id="82" />
-<P2  x="407" y="173" id="77" />
+<P1  x="407" y="65" id="142" />
+<P2  x="407" y="173" id="137" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="87" >
+<CONNECTOR type="115" id="147" >
 <cdparam x="407" y="238" />
 <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="238" id="80" />
-<P2  x="407" y="319" id="71" />
+<P1  x="407" y="238" id="140" />
+<P2  x="407" y="319" id="131" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="88" >
+<CONNECTOR type="115" id="148" >
 <cdparam x="312" y="351" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="null" />
-<P1  x="312" y="351" id="69" />
-<P2  x="312" y="439" id="66" />
+<P1  x="312" y="351" id="129" />
+<P2  x="312" y="439" id="126" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="89" >
+<CONNECTOR type="115" id="149" >
 <cdparam x="407" y="349" />
 <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="349" id="72" />
-<P2  x="407" y="435" id="64" />
+<P1  x="407" y="349" id="132" />
+<P2  x="407" y="435" id="124" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+
+</TMLActivityDiagramPanel>
+
+<TMLActivityDiagramPanel name="PrimitiveComp3" minX="10" maxX="2500" minY="10" maxY="1500" >
+<COMPONENT type="1001" id="151" >
+<cdparam x="397" y="269" />
+<sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="stop state" value="null" />
+<TGConnectingPoint num="0" id="150" />
+</COMPONENT>
+
+<COMPONENT type="1006" id="154" >
+<cdparam x="364" y="143" />
+<sizeparam width="86" height="20" minWidth="30" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<enabled value="true" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="write channel" value="channel2(1)" />
+<TGConnectingPoint num="0" id="152" />
+<TGConnectingPoint num="1" id="153" />
+<extraparam>
+<Data channelName="channel2" nbOfSamples="1" secPattern="" isAttacker="No" isEncForm="Yes" />
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="1000" id="156" >
+<cdparam x="400" y="50" />
+<sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="start state" value="null" />
+<TGConnectingPoint num="0" id="155" />
+</COMPONENT>
+
+<CONNECTOR type="115" id="157" >
+<cdparam x="407" y="168" />
+<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="168" id="153" />
+<P2  x="407" y="264" id="150" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="115" id="158" >
+<cdparam x="407" y="65" />
+<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="65" id="155" />
+<P2  x="407" y="138" id="152" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+
+</TMLActivityDiagramPanel>
+
+<TMLActivityDiagramPanel name="PrimitiveComp4" minX="10" maxX="2500" minY="10" maxY="1500" >
+<COMPONENT type="1001" id="160" >
+<cdparam x="397" y="274" />
+<sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="stop state" value="null" />
+<TGConnectingPoint num="0" id="159" />
+</COMPONENT>
+
+<COMPONENT type="1009" id="163" >
+<cdparam x="362" y="162" />
+<sizeparam width="90" height="20" minWidth="30" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<enabled value="true" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="read channel" value="channel2(1) " />
+<TGConnectingPoint num="0" id="161" />
+<TGConnectingPoint num="1" id="162" />
+<extraparam>
+<Data channelName="channel2" nbOfSamples="1" secPattern="" isAttacker="No" isEncForm="Yes" />
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="1000" id="165" >
+<cdparam x="400" y="50" />
+<sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="start state" value="null" />
+<TGConnectingPoint num="0" id="164" />
+</COMPONENT>
+
+<CONNECTOR type="115" id="166" >
+<cdparam x="407" y="65" />
+<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="65" id="164" />
+<P2  x="407" y="157" id="161" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="115" id="167" >
+<cdparam x="407" y="187" />
+<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="187" id="162" />
+<P2  x="407" y="269" id="159" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+
+</TMLActivityDiagramPanel>
+
+<TMLActivityDiagramPanel name="PrimitiveComp5" minX="10" maxX="2500" minY="10" maxY="1500" >
+<COMPONENT type="1001" id="169" >
+<cdparam x="397" y="269" />
+<sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="stop state" value="null" />
+<TGConnectingPoint num="0" id="168" />
+</COMPONENT>
+
+<COMPONENT type="1006" id="172" >
+<cdparam x="364" y="143" />
+<sizeparam width="86" height="20" minWidth="30" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<enabled value="true" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="write channel" value="channel3(1)" />
+<TGConnectingPoint num="0" id="170" />
+<TGConnectingPoint num="1" id="171" />
+<extraparam>
+<Data channelName="channel3" nbOfSamples="1" secPattern="" isAttacker="No" isEncForm="Yes" />
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="1000" id="174" >
+<cdparam x="400" y="50" />
+<sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="start state" value="null" />
+<TGConnectingPoint num="0" id="173" />
+</COMPONENT>
+
+<CONNECTOR type="115" id="175" >
+<cdparam x="407" y="168" />
+<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="168" id="171" />
+<P2  x="407" y="264" id="168" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="115" id="176" >
+<cdparam x="407" y="65" />
+<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="65" id="173" />
+<P2  x="407" y="138" id="170" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>